[发明专利]游戏服务器与数据库的交互方法和系统有效
申请号: | 201510001663.X | 申请日: | 2015-01-04 |
公开(公告)号: | CN104601562B | 公开(公告)日: | 2017-12-22 |
发明(设计)人: | 杨鹏;陈宏展;刘德建 | 申请(专利权)人: | 福建天晴数码有限公司 |
主分类号: | H04L29/06 | 分类号: | H04L29/06;H04L29/08;G06F17/30 |
代理公司: | 福州市景弘专利代理事务所(普通合伙)35219 | 代理人: | 林祥翔,吕元辉 |
地址: | 350015 *** | 国省代码: | 福建;35 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 游戏 服务器 数据库 交互 方法 系统 | ||
技术领域
本发明涉及网络游戏领域,特别涉及一种游戏服务器与数据库的交互方法和系统。
背景技术
网络游戏中包含了大量数据,这些数据主要可以分成两类:一类是动态的用户相关数据、一类是静态的系统配置数据,所有这些数据都存储在网络游戏服务器上的数据库管理系统(DBMS)中。网络游戏服务器程序在运行的过程中,需要加载、处理和保存所有这些数据,因此,网络游戏服务器程序需要频繁地和数据库管理系统进行交互。众所周知,对数据库管理系统的操作属于IO操作,相比于CPU的处理速度,IO操作所需要的处理周期是相当漫长的,因此,如何维护这些数据,便成了决定网络游戏服务器程序运行效率的一个最关键的因素。
在游戏服务器与数据库的交互中的用户数据维护和同步的过程中,需要达到两个要求上的平衡,如何在需要新的数据时,即能够保证安全性(先生成数据,后使用数据),又能够保证高效性(不需要同步操作)?目前已有的一些内存数据库方案中,都没有很好地解决这个问题。现有的方案要么是保证安全性,即在数据库管理系统中先生成这条数据,之后再在内存中加载并使用这条新数据,这样做必然导致游戏服务器进程等待,效率低;要么是保证高效性,先在内存中生成一条内存数据,然后直接使用,之后再在某个时机同步数据库管理系统,这样做效率很高,需要新数据时马上就可以取用,但是当游戏服务器进程出现异常时,有可能导致内存数据未被同步到数据库管理系统中,安全性较低。为了解决这个问题,需要提供一种既能保证安全性,又兼顾高效性的技术方案。
发明内容
为此,需要提供一种能同时兼顾安全性与高效性的游戏服务器与数据库的交互方法和系统。
为实现上述目的,发明人提供了一种游戏服务器与数据库的交互方法,包括步骤:
游戏服务器在内存中执行数据处理,并将处理结果保存于内存;
游戏服务器通过多线程方式将所述处理结果同步于数据库。
进一步地,所述的游戏服务器与数据库的交互方法中,所述数据处理包括生成用户数据;
步骤“游戏服务器在内存中执行数据处理,并将处理结果保存于内存”具体包括:
游戏服务器生成用户缓存数据记录并将其保存于内存中的缓存数据集,所述用户缓存数据记录包括一实质判别字段,所述实质判别字段的属性包括空数据或用户真实数据;
当游戏服务器判定需要生成新的用户真实数据时,在所述缓存数据集中查找是否有可用的缓存数据记录,若有则直接调取并将其中的空数据替换为所述用户真实数据,并分配同步数据修改结果任务于一第三子线程,所述第三子线程将所述处理结果同步于数据库。
进一步地,所述的游戏服务器与数据库的交互方法中,所述数据处理还包括删除用户数据;
步骤“游戏服务器在内存中执行数据处理,并将处理结果保存于内存”还包括:
游戏服务器需要删除用户真实数据时,将相应的缓存数据记录中的用户真实数据以空数据替换、修改其实质判别字段为空数据,并保存于内存中的缓存数据集;
然后分配同步数据修改结果任务于一第四子线程,所述第四子线程将所述处理结果同步于数据库。
进一步地,所述的游戏服务器与数据库的交互方法中,第三子线程或第四子线程将所述处理结果同步于数据库具体包括:
以预设频率监控用户数据修改处理;所述用户数据修改处理包括预设类别用户数据修改处理与非预设类别用户数据修改处理;
当子线程监测到预设类别用户数据发生修改处理时,以即时模式将修改处理结果同步于数据库;
当第三子线程监测到非预设类别用户数据发生修改处理时,以非即时模式将修改处理结果同步于数据库。
进一步地,所述的游戏服务器与数据库的交互方法中,所述第三子线程或第四子线程将修改处理结果同步于数据库具体包括:
以SQL合并算法对同一数据库表记录的修改SQL进行合并。
进一步地,所述的游戏服务器与数据库的交互方法中,还包括步骤:
游戏服务器开启一第五子线程,所述第五子线程用于监控缓存数据集并保证所述缓存数据集中的缓存数据记录数量处于一预设区间。
进一步地,所述的游戏服务器与数据库的交互方法中,在步骤“游戏服务器在内存中执行数据处理”之前还包括步骤:
游戏服务器从数据库中加载配置数据。
进一步地,所述的游戏服务器与数据库的交互方法中,所述配置数据包括程序数据或用户数据。
进一步地,所述的游戏服务器与数据库的交互方法中,游戏服务器从数据库中加载程序数据具体包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于福建天晴数码有限公司,未经福建天晴数码有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510001663.X/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种用于电能表的数据采集的抄读方法
- 下一篇:一种登录账户的方法及装置