本发明专利技术提供了一种游戏服务器数据库缓存方法及系统,涉及服务器数据缓存领域。该方法包括:逻辑服务器接收调取请求,向数据缓存服务器发出调取指令;数据缓存服务器接收调取指令,如果数据缓存服务器中没有对应的数据,则向存储有游戏数据的游戏数据库服务器请求调取表结构以及相应数据,请求返回后,模拟游戏数据库服务器中的表结构和操作,缓存相应数据;如果数据缓存服务器中有对应的数据,则直接向逻辑服务器发回相应数据;逻辑服务器接收发回的相应数据,模拟游戏数据库服务器中的表结构和操作,缓存相应数据。其使存储和读取更加清晰明了,不容易出bug,且数据管理更有序,更符合数据库开发人员的开发习惯。
【技术实现步骤摘要】
本专利技术涉及服务器数据缓存领域,特别是涉及一种游戏服务器数据库缓存方法及系统。
技术介绍
在游戏逻辑服务器中,当需要访问某些逻辑服务器上没有的数据时,需要发请求给游戏数据库服务器,然后需要把游戏数据库服务器读出的数据打成二进制数据包,然后传送到相应的逻辑服务器中,并且需要把这个二进制包通过解析成相应的数据结构,这个数据结构一般是类或者结构体,和数据库的结构并不相同,查找时通过类或者结构体的接口来访问相应的数据。当这些属性改变以后再打包成二进制数据传送给游戏数据库服务器进行存储操作。这样的方式在存取和解析数据时对于和数据库打交道的程序员来说并不直观,需要在数据库字段和服务器上数据结构中转换,甚至经常有多重转换,会导致转换过程复杂,并经常产生bug,读取和存储的时候还需要再写相应的接口,开发效率低下。
技术实现思路
本专利技术的一个目的是要提供一种便捷的游戏服务器数据库缓存方法及系统,使得传递到逻辑服务器的数据无须经过多层转换,提高运行和开发效率。特别地,本专利技术提供了一种游戏服务器数据库缓存方法,包括:逻辑服务器接收调取请求,向数据缓存服务器发出调取指令;数据缓存服务器接收所述调取指令,如果所述数据缓存服务器中没有对应的数据,则向存储有游戏数据的游戏数据库服务器请求调取表结构以及相应数据,请求返回后,模拟游戏数据库服务器中的表结构和操作,缓存相应数据;如果所述数据缓存服务器中有对应的数据,则直接向逻辑服务器发回相应数据;所述逻辑服务器接收发回的相应数据,模拟游戏数据库服务器中的表结构和操作,缓存相应数据。可选地,所述方法还包括:在所述逻辑服务器上写sql,然后在所述游戏数据库服务器上执行。可选地,当需要更改某些字段数据时,在所述逻辑服务器上使用预先定义好的接口访问和数据库字段同名的属性。可选地,所述逻辑服务器包括:处理游戏逻辑的游戏服务器和对玩家交互信息进行中转控制的中心服务器。本专利技术还公开了一种游戏服务器数据库缓存系统,包括:逻辑服务器,配置成:接收调取请求,发出调取指令;数据缓存服务器,配置成:数据缓存服务器接收所述调取指令,如果所述数据缓存服务器中没有对应的数据,则向存储有游戏数据的游戏数据库服务器请求调取表结构以及相应数据,请求返回后,模拟游戏数据库服务器中的表结构和操作,缓存相应数据;如果所述数据缓存服务器中有对应的数据,则直接向逻辑服务器发回相应数据;所述逻辑服务器还配置成:接收发回的所述相应数据,模拟游戏数据库服务器中的表结构和操作,缓存相应数据。可选地,所述逻辑服务器还配置成:所述逻辑服务器还配置成:接收并模拟执行写入的sql ;所述游戏数据库服务器还配置成:在所述游戏数据库服务器上实际执行所述sql ο可选地,所述逻辑服务器还配置成:当需要某些字段数据时,使用预先定义好的接口访问和数据库字段同名的属性。可选地,所述逻辑服务器包括:处理游戏逻辑的游戏服务器和对玩家交互信息进行中转控制的中心服务器。本专利技术的方法由于在逻辑服务器接收到调取请求后,向数据缓存服务器发出调取指令,数据缓存服务器根据调取指令向逻辑服务器发回其数据库表结构以及相应数据,因此实现了类似模拟数据库前端的数据结构放在逻辑服务器中,通过映射数据库字段的类型和名字,使其在逻辑服务器内部访问这个数据的时候可以直接使用数据库字段的类型和名字,以及相应的sql来访问,程序中也实现了在逻辑服务器上执行sql指令,同时在数据库中也相对应执行这个指令的机制。并且,在和数据库缓存服务器以及数据库服务器通讯时采用这套数据结构提供的接口,使存储和读取更加清晰明了,不容易出bug,且数据管理更有序,更符合数据库开发人员的开发习惯。根据下文结合附图对本专利技术具体实施例的详细描述,本领域技术人员将会更加明了本专利技术的上述以及其他目的、优点和特征。【附图说明】后文将参照附图以示例性而非限制性的方式详细描述本专利技术的一些具体实施例。附图中相同的附图标记标示了相同或类似的部件或部分。本领域技术人员应该理解,这些附图未必是按比例绘制的。附图中:图1是根据本专利技术一个实施例的游戏服务器数据库缓存方法的流程图;图2是根据本专利技术一个实施例的游戏服务器数据库缓存系统的框图。【具体实施方式】下面将参照附图更详细地描述本专利技术的示例性实施例。虽然附图中显示了本专利技术的示例性实施例,然而应当理解,可以以各种形式实现本专利技术而不应该被这里阐述的实施例所限制。相反,提供这些实施例是为了能够透彻地理解本专利技术,并且能够将本专利技术的范围完整的传达给本领域的技术人员。在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本专利技术也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本专利技术的内容,并且上面对特定语言所做的描述是为了披露本专利技术的最佳实施方式。在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本专利技术的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。图1是根据本专利技术一个实施例的游戏服务器数据库缓存方法的流程图。在图1所示的实施例中,首先执行步骤10,逻辑服务器接收调取请求,向数据缓存服务器发出调取指令。然后执行步骤20,数据缓存服务器接收所述调取指令,如果所述数据缓存服务器中没有对应的数据,则执行步骤50,如果所述数据缓存服务器中没有对应的数据,则向存储有游戏数据的游戏数据库服务器请求调取表结构以及相应数据,请求返回后,模拟游戏数据库服务器中的表结构和操作,缓存相应数据。如果有,则执行步骤30,直接向逻辑服务器发回相应数据。在步骤30后,执行步骤40,所述逻辑服务器接收发回的相应数据,模拟游戏数据库服务器中的表结构和操作,缓存相应数据。此处的逻辑服务器包括处理游戏逻辑的游戏服务器和对玩家交互信息进行中转控制的中心服务器。在本专利技术的一个实施例中,还可以在逻辑服务器上写sql,然后在游戏数据库服务器上执行,这样也好像是直接在数据库里面执行sql —样。。当需要更改某些字段数据时,在逻辑服务器上使用预先定义好的接口访问和数据库字段同名的属性。这就像是在逻辑服务器上直接访问数据库中的字段一样,或者说,就好像直接操作数据库相应字段一样。图2是根据本专利技术一个实施例的游戏服务器数据库缓存系统的框图。该系统至少可包括游戏数据库服务器101、数据缓存服务器102、游戏服务器103、中心服务器104。游戏服务器103和中心服务器104可以统称为逻辑服务器。逻辑服务器接收调取请求,发出调取指令;数据缓存服务器102接收所述调取指令,如果所述数据缓存服务器102中没有对应的数据,则向存储有游戏数据的游戏数据库服务器101请求调取表结构以及相应数据,请求返回后,模拟游戏数据库服务器101中的表结构和操作当前第1页1 2 本文档来自技高网...
【技术保护点】
一种游戏服务器数据库缓存方法,其特征在于,包括:逻辑服务器接收调取请求,向数据缓存服务器发出调取指令;数据缓存服务器接收所述调取指令,如果所述数据缓存服务器中没有对应的数据,则向存储有游戏数据的游戏数据库服务器请求调取表结构以及相应数据,请求返回后,模拟游戏数据库服务器中的表结构和操作,缓存相应数据;如果所述数据缓存服务器中有对应的数据,则直接向逻辑服务器发回相应数据;所述逻辑服务器接收发回的相应数据,模拟游戏数据库服务器中的表结构和操作,缓存相应数据。
【技术特征摘要】
【专利技术属性】
技术研发人员:常宁,
申请(专利权)人:北京乐动卓越信息技术有限公司,
类型:发明
国别省市:北京;11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。