首页> 中国专利> 一种游戏数据处理的方法、装置、设备及存储介质

一种游戏数据处理的方法、装置、设备及存储介质

摘要

本发明公开了一种游戏数据处理的方法,包括以下步骤:接收处理请求;判断所述处理请求的来源是来自游戏服务器的玩家请求还是来自数据库服务器的游戏玩家数据的请求;当所述处理请求的来源为游戏服务器发起的玩家请求时则按第一处理机制进行处理;当所述处理请求的来源为数据库服务器发起的游戏玩家数据的处理请求时则按第二处理机制进行处理。由此,通过对接收到的处理请求,对其来源进行判断,根据不同来源用不同机制对处理请求进行处理,有效地确保了每一个请求都能得到处理的同时,还不会产生数据的错乱,在保证游戏顺利进行的同时,保障用户操作的连贯性和及时性,优化用户的游戏体验。

著录项

  • 公开/公告号CN112169341A

    专利类型发明专利

  • 公开/公告日2021-01-05

    原文格式PDF

  • 申请/专利权人 苏州亿歌网络科技有限公司;

    申请/专利号CN202011050012.7

  • 发明设计人 宋大伟;李拓;高庆;

    申请日2020-09-29

  • 分类号A63F13/79(20140101);

  • 代理机构11317 北京商专润文专利代理事务所(普通合伙);

  • 代理人邢若兰

  • 地址 215000 江苏省苏州市工业园区群星路55号201-203室

  • 入库时间 2023-06-19 09:27:35

说明书

技术领域

本申请涉及计算机互联网技术领域,尤其涉及一种游戏数据处理的方法、装置、设备及存储介质。

背景技术

在本领域中,网络游戏(网游)是众所周知的,网络游戏可以分为客户端游戏、页面游戏以及手机客户端游戏(即手游),在网络游戏中,例如,玩家之间经常会发生游戏资源的抢夺,形成玩家之间的游戏资源的增删等,但是,在进行这种数据处理操作的时候,经常会遇到玩家之间的游戏资源数据发生冲突的问题,尤其在分布式的、多线程的游戏中,玩家的这种问题更甚。

发明内容

本发明的目的是要提供一种游戏数据处理的方法、装置、设备及存储介质,可以解决上述现有问题中的一个或多个。

根据本发明的一个方面,提供一种游戏数据处理的方法,包括以下步骤:接收处理请求;判断所述处理请求的来源是来自游戏服务器的玩家请求还是来自数据库服务器的游戏玩家数据的请求;当所述处理请求的来源为游戏服务器发起的玩家请求时则按第一处理机制进行处理;当所述处理请求的来源为数据库服务器发起的游戏玩家数据的处理请求时则按第二处理机制进行处理。

在某些实施方式中,当所述处理请求的来源为游戏服务器发起的玩家请求时,第一处理机制为:判断大世界是否停止,若是,则异常返回请求流程;若否,则判断是否取得缓存信息,若否,则异常返回请求流程;若是,则判断RGuid查找角色缓存,若否,则执行其他步骤;若是,则判断玩家状态是否属于玩家在线或玩家离线,若否,则进行命令转发给游戏服务器;若否,则加入离线请求队列;正常返回。

在某些实施方式中,判断RGuid查找角色缓存,若否的话,存在加载玩家和已登录玩家两种情况。

在某些实施方式中,判断RGuid查找角色缓存,若否的话,所述执行其他步骤,包括:判断账号查找角色缓存,若是,则进一步判断是否是正在加载的玩家,若是,则加入离线请求队列,正常返回;若否,则加入离线请求队列,进入选角流程;正常返回。

在某些实施方式中,判断账号查找角色缓存,若否,则加载离线玩家流程,加入离线请求队列,正常返回。

在某些实施方式中,当所述处理请求的来源为数据库代理服务器发起的玩家数据处理请求,第二处理机制为:判断角色加载结果是否正常,若否,则异常返回请求流程;若是,则更新玩家的DB状态;判断当前是否是玩家登陆请求,若否,则加载玩家到游戏流程;更新玩家状态;正常返回;若是,则执行其他步骤。

在某些实施方式中,所述执行其他步骤,包括:判断玩家是否锁定或DB状态锁定,若否,则加载玩家到游戏流程,若是,则进一步判断是否存在离线加载请求,若否,则异常返回请求流程;若是,则进一步判断玩家连接是否在线,若是,则清理玩家连接信息并加载玩家到游戏流程;若否,则直接加载玩家到游戏流程;更新玩家状态;正常返回。

根据本发明的另一个方面,提供一种游戏数据处理的装置,包括,接收单元,用于接收处理请求;

判断单元,至少包括第一子判断单元,所述

第一子判断单元,用于判断所述处理请求的来源;

处理单元,用于处理不同来源的处理请求。

在某些实施方式中,所述判断单元还包括第二子判断单元,用于判断大世界是否停止;第三子判断单元,用于判断是否取得缓存信息;第四子判断单元,用于判断RGuid查找角色缓存;第五子判断单元,用于判断玩家状态是否属于玩家在线或玩家离线。

在某些实施方式中,还包括,第六子判断单元,用于判断账号查找角色缓存;第七子判断单元,用于判断是否是正在加载的玩家。

在某些实施方式中,所述判断单元还包括第八子判断单元,用于判断角色加载结果是否正常;第九子判断单元,用于判断当前是否是玩家登陆请求。

在某些实施方式中,所述判断单元还包括第十子判断单元,用于判断玩家是否锁定或DB状态锁定;第十一子判断单元,用于判断是否存在离线加载请求;第十二子判断单元,用于判断玩家连接是否在线。

根据本发明的另一个方面,提供一种设备,所述设备包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序或指令集由所述处理器加载并执行以实现如权利要求1至7任一所述的游戏数据处理的方法。

根据本发明的另一个方面,一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一条指令、至少一端程序、代码集或指令集,所述至少一条指令、所述至少一端程序、所述代码集或指令集由处理器加载并执行以实现如前述的游戏数据处理的方法。

本发明的有益效果为:

本发明所提供的技术方案,通过对接收到的处理请求,对其来源进行判断,根据不同来源用不同机制对处理请求进行处理,有效地确保了每一个请求都能得到处理的同时,还不会产生数据的错乱,这两套机制的存在,能够保证游戏顺利进行的同时,还能保障用户操作的连贯性和及时性,优化用户的游戏体验。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本发明一实施方式的一种游戏数据处理的方法流程图。

图2是本发明一实施方式的一种游戏数据处理的方法流程图。

图3是本发明一实施方式的一种游戏数据处理的方法流程图。

图4是本发明一实施方式的一种游戏数据处理的方法流程图。

图5是本发明一实施方式的一种游戏数据处理的方法流程图。

图6是本发明一实施方式的游戏数据处理装置的结构框图。

图7是本发明一实施方式的游戏数据处理装置判断单元的结构框图。

图8是本发明一实施方式的游戏数据处理装置判断单元的结构框图。

图9是本发明一实施方式的游戏数据处理装置判断单元的结构框图。

图10是本发明一实施方式的游戏数据处理装置判断单元的结构框图。

图11是本发明的执行游戏数据处理方法的设备的结构示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

实施例1

如图1所示,提供一种游戏数据处理的方法,包括以下步骤:

S11:中心服务器接收处理请求。

S12:判断所述处理请求的来源是来自游戏服务器的玩家请求还是来自数据库服务器的游戏玩家数据的请求。

S13:当所述处理请求的来源为游戏服务器发起的玩家请求时则按第一处理机制进行处理。

S14:当所述处理请求的来源为数据库服务器发起的游戏玩家数据的处理请求时则按第二处理机制进行处理。

具体地,中心服务器接收游戏服务器发起的处理请求或数据库服务器发送的玩家数据时,所采用的处理机制分别是第一处理机制和第二处理机制,针对不同的请求,采用的处理机制不一样,则可以有效地保证处理过程中数据的准确性。

实施例2

如图2所示,当所述处理请求的来源为游戏服务器发起的玩家请求时,第一处理机制为:

S131:中心服务器收到游戏服务器发起的请求;

S132:判断大世界是否停止,若是,则执行S133:异常返回请求流程。若否,则执行S134:判断是否取得缓存信息,若否,则执行S135:异常返回请求流程。

由此,能够保证游戏数据的准确性。

实施例3

如图2所示,当所述处理请求的来源为游戏服务器发起的玩家请求时,第一处理机制为:

S131:中心服务器收到游戏服务器发起的请求;

S132:判断大世界是否停止,若是,则执行S133:异常返回请求流程。若否,则执行S134:判断是否取得缓存信息。若是取得缓存信息,则进一步执行S136:判断RGuid查找角色缓存,若是,即RGuid查找角色缓存存在,则存在S138中的四种情况:玩家在线、玩家离线、玩家保存中、玩家加载中。此时执行S139:判断玩家状态不是属于玩家在线或玩家离线,判断结果为否,则执行S1311:进行命令转发给游戏服务器,然后正常返回,判断结果为是,则执行S1310:加入离线请求队列;S1312:正常返回。

由于玩家在进行某些状态机的时候缓存不全。本申请通过两套机制来保证,使用两套状态机来覆盖整个玩家生存周期,rguid缓存机制,acct账号缓存机制,比如登陆中,玩家自身还没选角,此时就只有acct信息。

由此,通过监控玩家的整个生存周期,如果存在特定的加载请求进行,通过离线加载队列机制,来避免多次加载的情况,避免产生多份拷贝数据。供游戏处理的部分,自始至终为一份,由此保证游戏数据的精准性。

实施例4

如图2所示,当所述处理请求的来源为游戏服务器发起的玩家请求时,第一处理机制为:

S131:中心服务器收到游戏服务器发起的请求;

S132:判断大世界是否停止,若否,则执行S134:判断是否取得缓存信息,若否,则执行S135:异常返回请求流程。若是取得缓存信息,则进一步执行S136:判断RGuid查找角色缓存,若否,如图3所示,S136:当判断RGuid查找角色缓存的结果为否的话,存在加载玩家和已登录玩家两种情况。

为了进一步确保数据的准确性,需要进一步执行其他步骤S137,具体包括:S1372:判断账号查找角色缓存,若是,则执行S1373:进一步判断是否是正在加载的玩家,若是,则执行S1374:则加入离线请求队列,正常返回。S1372:判断账号查找角色缓存,若否,则执行S1376:加入离线请求队列,执行S1376:进入选角流程;S1375:正常返回。

原因是异步流程,离线请求优先,因为角色加载时,有离线请求的情况。判断玩家是否在加载过程中,如之前有离线请求数据,如果之前不是离线请求发出的请求加载角色命令,则说明是玩家正常登陆,则进入选角流程。由此,在多进程中,都是异步请求,通过控制角色拉取,以此来控制角色数据的数量仅有一份,进而能够保证游戏数据的准确性。

实施例5

如图2和图3所示,前面步骤同实施例4,这里不赘述。不同之处是:S1372:判断账号查找角色缓存,若否,则执行S1378:加载离线玩家流程,S1379:加入离线请求队列,S1370:正常返回。由此,能够保证游戏数据的准确性。

实施例6

如图4所示,当所述处理请求的来源为数据库代理服务器发起的玩家数据处理请求,第二处理机制为:

S14:中心服务器收到数据库服务器发送的玩家数据。

S141:判断角色加载结果是否正常,若否,则执行S142:异常返回请求流程。若是,则执行S143:更新玩家的DB状态。

S144:判断当前是否是玩家登陆请求,若否,则执行S145:加载玩家到游戏流程;

S147:更新玩家状态;

S148:正常返回。

由此,能够保证游戏数据的准确性。

实施例7

如图4所示:当所述处理请求的来源为数据库代理服务器发起的玩家数据处理请求,第二处理机制为:

S14:中心服务器收到数据库服务器发送的玩家数据。

S141:判断角色加载结果是否正常,若否,则执行S142:异常返回请求流程。若是,则执行S143:更新玩家的DB状态。

S144:判断当前是否是玩家登陆请求,若是,则S146:执行其他步骤。

其中,如图5所示,S146:所述执行其他步骤,包括:

S1461:判断玩家是否锁定或DB状态锁定,若否,则执行S1462:加载玩家到游戏流程。

S1466:更新玩家状态。

S1467:正常返回。

由此,能够保证游戏数据的准确性。

实施例8

如图4和图5所示,当所述处理请求的来源为数据库代理服务器发起的玩家数据处理请求,第二处理机制为:

S14:中心服务器收到数据库服务器发送的玩家数据。

S141:判断角色加载结果是否正常,若否,则执行S142:异常返回请求流程。若是,则执行S143:更新玩家的DB状态。

S144:判断当前是否是玩家登陆请求,若是,则S146:执行其他步骤。其中,如图5所示,S146:所述执行其他步骤,包括:

S1461:判断玩家是否锁定或DB状态锁定,若是,为了进一步保证数据的准确性,则执行S1463:判断是否存在离线加载请求,若否,则执行S1464:异常返回请求流程。当S1463的进一步判断是否存在离线加载请求的判断结果为是,则执行S1465:进一步判断玩家连接是否在线,若是,则执行S1468:清理玩家连接信息并执行S1462:加载玩家到游戏流程;若否,则直接执行S1462:加载玩家到游戏流程。

S1466:更新玩家状态。

S1467:正常返回。

由此,能够保证游戏数据的准确性。

实施例9

如图6所示,根据本发明的另一个方面,提供一种游戏数据处理的装置100,包括,接收单元110,用于接收处理请求;

判断单元120,至少包括第一子判断单元1201,

该第一子判断单元1201,用于判断所述处理请求的来源;

处理单元130,用于处理不同来源的处理请求。

如图7所示,所述判断单元120还包括第二子判断单元1202,用于判断大世界是否停止;第三子判断单元1203,用于判断是否取得缓存信息;第四子判断单元1204,用于判断RGuid查找角色缓存;第五子判断单元1205,用于判断玩家状态是否属于玩家在线或玩家离线。

如图8所示,判断单元120还包括,第六子判断单元1206,用于判断账号查找角色缓存;第七子判断单元1207,用于判断是否是正在加载的玩家。

如图9所示,判断单元120还包括第八子判断单元1208,用于判断角色加载结果是否正常;第九子判断单元1209,用于判断当前是否是玩家登陆请求。

如图10所示,判断单元120还包括第十子判断单元1210,用于判断玩家是否锁定或DB状态锁定;第十一子判断单元1211,用于判断是否存在离线加载请求;第十二子判断单元1212,用于判断玩家连接是否在线。

该装置的判断单元执行着第一处理机制和第二处理机制中的逻辑判断,并将判断结果发给处理单元进行处理,使得整个游戏数据的处理井然有序,准确性提高,避免错误数据的产生,有效提高游戏玩家的体验。

实施例10

如图11所示,根据本发明的另一个方面,提供一种设备,该设备包括:一个或多个处理器310以及存储器320,图5中以一个处理器310为例。执行游戏数据处理的方法的设备还可以包括:输入装置330和输出装置340。存储器320作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块,如本申请实施例中的游戏数据处理的方法对应的程序指令/模块。处理器310通过运行存储在存储器320中的非易失性软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述方法实施例的游戏数据处理的方法。

存储器320可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据提示信息推送装置的使用所创建的数据等。此外,存储器320可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实施例中,存储器320可选包括相对于处理器310远程设置的存储器,这些远程存储器可以通过网络连接至游戏数据处理装置。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

输入装置330可接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的信号输入。输出装置340可包括显示屏等显示设备。

所述一个或者多个模块存储在所述存储器320中,当被所述一个或者多个处理器310执行时,执行上述任意方法实施例中的游戏数据处理的方法。

上述产品可执行本申请实施例所提供的方法,具备执行方法相应的功能模块和有益效果。未在本实施例中详尽描述的技术细节,可参见本申请实施例所提供的方法。

实施例11:

另一方面,本发明实施例6提供一种计算机可读存储介质,所述存储介质中存储有一个或多个包括执行指令的程序,所述执行指令能够被设备(包括但不限于计算机,服务器,或者网络设备等)读取并执行,以用于执行上述方法实施例中的相关步骤。

以上所描述的装置实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分的方法。

最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号