一种角色属性数据存储及动态更新的方法及系统的制作方法

文档序号:6639957阅读:272来源:国知局
一种角色属性数据存储及动态更新的方法及系统的制作方法
【专利摘要】本申请公开了一种角色属性数据存储及动态更新的方法,包括:A、在服务器和客户端设置初始的角色属性的数据索引和数据表格;所述数据表格中存储的关于角色属性数据的具体值,所述数据索引是用于查找数据表格中具体值的索引,或者角色属性中的可变值;B、服务器判断是否满足数据索引变更的触发条件,若是,执行步骤B,否则重复本步骤;C、开启角色数据变更开关,服务器发包通知客户端更新所存储的数据索引;D、服务器及客户端同步更新所存储的数据索引,然后调用更新后的数据索引查询数据表格获得角色的实际属性数据。本申请还公开了一种角色属性数据存储及动态更新的系统。本申请方案能够实现角色属性动态成长更新,及时数据同步,减小服务器负载。
【专利说明】一种角色属性数据存储及动态更新的方法及系统

【技术领域】
[0001]本申请涉及计算机网络【技术领域】,尤其涉及一种角色属性数据存储及动态更新的方法及系统。

【背景技术】
[0002]在大型多人在线角色扮演游戏(MMORG,Massive Multiplayer OnlineRole-Playing Game)游戏中,通常采用玩家的角色属性的养成成长方式,随着等级提升,角色属性数据也随着一定规律增长,以达到玩家属性动态成长的效果。
[0003]现有技术中常采用直接重新设置属性法来实现角色属性的养成成长。在等级提升的同时,系统通知服务器设置新属性,并通知数据库更新属性表,同时给多个客户端发包通知数据修改,更改界面属性显示,如生命条、魔法条等。这种直接重新设置属性,可使属性成长基于一定的规则,随等级增长同时,技能、属性也相应及时更新替换。但是,该方式存在如下缺点:
[0004]1:数据过于复杂,使得发包量增大;
[0005]2:属性的服务器与客户端、数据库的同步过于频繁,增加服务器负载;
[0006]3:若出现网络中断的情况会出现属性、数据未同步的现象。


【发明内容】

[0007]本申请提供了一种角色属性数据存储及动态更新的方法,能够实现角色属性动态成长更新,及时数据同步,减小服务器负载。
[0008]本申请实施例提供的一种角色属性数据存储及动态更新的方法,包括:
[0009]A、在服务器和客户端设置初始的角色属性的数据索引和数据表格;
[0010]所述数据表格中存储的关于角色属性数据的具体值,所述数据索引是用于查找数据表格中具体值的索引,或者角色属性中的可变值;
[0011]B、服务器判断是否满足数据索引变更的触发条件,若是,执行步骤B,否则重复本步骤;
[0012]C、开启角色数据变更开关,服务器发包通知客户端更新所存储的数据索引;
[0013]D、服务器及客户端同步更新所存储的数据索引,然后调用更新后的数据索引查询数据表格获得角色的实际属性数据。
[0014]较佳地,所述数据表格中存储的内容包括各种战斗属性、等级经验预定值、具体技能值或其中的任意组合。
[0015]较佳地,所述数据索引包括类型索引、初始等级、技能索引、技能等级索引、经验、金钱,以及物理攻击、防御、法术攻击、法术攻击抗性或其中的任意组合。
[0016]较佳地,所述满足数据索引变更的触发条件包括:当角色获取经验时,将经验值累计存储在当前等级上,当累计的经验值达到预定值时,则为满足数据索引变更的触发条件。
[0017]较佳地,该方法进一步包括:当网络异常中断时,服务器将所存储的数据索引放在共享内存中,防止数据丢失;当网络恢复连接时,服务器读取共享内存数据来及时更新数据索引,根据数据索引读取数据表格获得角色的各项属性数据,并通知客户端进行数据索引的同步。
[0018]较佳地,该方法进一步包括:当触发变身条件时,第一角色变身为第二角色,服务器预加载当前第二角色的数据索引,并根据第二角色的数据索引查询数据表格获得角色实际属性,作为第一角色的当前属性;当变身恢复时,则重新加载第一角色的数据索引,获得第一角色自身的实际属性。
[0019]较佳地,所述第二角色是其他玩家的角色,或者是NPC。
[0020]本申请实施例还提供了一种角色属性数据存储及动态更新的系统,该系统包括客户端和服务器,
[0021]所述服务器和客户端用于存储预先设置的初始的角色属性的数据索引和数据表格;所述数据表格中存储的关于角色属性数据的具体值,所述数据索引是用于查找数据表格中具体值的索引,或者角色属性中的可变值;
[0022]所述服务器进一步用于判断是否满足数据索引变更的触发条件,若是,开启角色数据变更开关,发包通知客户端更新所存储的数据索引;以及与客户端同步更新所存储的数据索引,然后调用更新后的数据索引查询数据表格获得角色的实际属性数据;
[0023]所述客户端用于接收来自服务器变更所存储的数据索引的数据包,并与服务器同步更新所存储的数据索引,然后调用更新后的数据索引查询数据表格获得角色的实际属性数据。
[0024]较佳地,所述满足数据索引变更的触发条件包括:当角色获取经验时,将经验值累计存储在当前等级上,当累计的经验值达到预定值时,则为满足数据索引变更的触发条件。
[0025]较佳地,当网络异常中断时,服务器进一步用于将所存储的数据索引放在共享内存中,防止数据丢失;当网络恢复连接时,服务器用于读取共享内存数据来及时更新数据索弓丨,根据数据索引读取数据表格获得角色的各项属性数据,并通知客户端进行数据索引的同步。
[0026]从以上技术方案可以看出,在服务器和客户端设置角色属性的数据索引和数据表格,并在服务器和客户端之间进行数据索引的更新过程,从而极大减少了服务器与客户端的发包量,客户端获取属性数据是通过所存储的数据索引从数据表格读取,客户端和服务器之间只需要对数据索引进行同步,没有服务器与数据库的同步操作,在服务器获取数据时,通过所存储的数据索引动态读取表格达到更新属性数据等的效果。

【专利附图】

【附图说明】
[0027]图1为本申请实施例提供的角色属性数据存储及动态更新的方法流程示意图。

【具体实施方式】
[0028]本申请技术方案的基本设计构思是:在服务器和客户端设置角色属性的数据索引和数据表格,并在服务器和客户端之间进行数据索引的更新过程。例如在满足一定条件下(当角色所得经验达到当前级别升级条件时或者其他情况导致角色属性发生变化),触发角色数据变更开关,服务器发包通知客户端更新所存储的数据索引,如等级、经验、增加的技能点、以及各种战斗属性的提升等,服务器及客户端同步更新所存储的数据索引,然后调用更新后的数据索引查询数据表格获得角色的实际属性、技能等数据,从而达到更新数据的效果。该方案可减少数据同步,减少发包等负载问题。
[0029]为使本申请技术方案的技术原理、特点以及技术效果更加清楚,以下结合具体实施例对本申请技术方案进行详细阐述。
[0030]本申请实施例提供的角色属性数据存储及动态更新的方法流程如图1所示,包括如下步骤:
[0031]步骤101:在服务器和客户端设置初始的角色属性的数据索引和数据表格。
[0032]所述数据表格中存储的关于角色属性数据的具体值,例如各种战斗属性、等级经验预定值、具体技能值或其中的任意组合,所述数据索引是用于查找数据表格中具体值的索引,或者角色属性中的可变值,包括但不限于类型索引、初始等级、技能索引、技能等级索引、经验、金钱,以及物理攻击、防御、法术攻击、法术攻击抗性或其中的任意组合。
[0033]步骤102:服务器判断是否发生数据索引变更的触发条件,若是,执行步骤103,否则重复本步骤。
[0034]步骤103:开启角色数据变更开关,服务器发包通知客户端更新所存储的数据索弓I,如等级、经验、增加的技能点、以及各种战斗属性的提升等。
[0035]步骤104:服务器及客户端同步更新所存储的数据索引,然后调用更新后的数据索引查询数据表格获得角色的实际属性数据,从而达到更新数据的效果,然后返回步骤102。
[0036]根据本申请另一实施例,当角色获取经验时,将经验值累计存储在当前等级上,当累计的经验值达到预定值时,触发升级变更角色属性数据。
[0037]根据本申请另一实施例方案,当网络异常中断时,服务器会把所存储的数据索引放在共享内存中,防止数据丢失;当网络恢复连接时,服务器读取共享内存数据来及时更新数据索引,根据数据索引读取数据表格获得角色的各项属性数据,并通知客户端进行数据索引的同步。
[0038]根据本申请的另一实施例,在某些条件下触发变身条件,第一角色变身为第二角色,服务器预加载当前第二角色的数据索引,并根据第二角色的数据索引查询数据表格获得角色实际属性,作为第一角色的当前属性;当变身恢复时,则重新加载第一角色的数据索引,获得第一角色自身的实际属性。
[0039]该第二角色可以是其他玩家的角色,或者是非玩家角色(NPC)。变身条件可以是与NPC发生特定对话。
[0040]本申请另一实施例提供了一种角色属性数据存储及动态更新的系统,该系统包括客户端和服务器,
[0041]所述服务器和客户端用于存储预先设置的初始的角色属性的数据索引和数据表格;所述数据表格中存储的关于角色属性数据的具体值,所述数据索引是用于查找数据表格中具体值的索引,或者角色属性中的可变值;
[0042]所述服务器进一步用于判断是否满足数据索引变更的触发条件,若是,开启角色数据变更开关,发包通知客户端更新所存储的数据索引;以及与客户端同步更新所存储的数据索引,然后调用更新后的数据索引查询数据表格获得角色的实际属性数据;
[0043]所述客户端用于接收来自服务器变更所存储的数据索引的数据包,并与服务器同步更新所存储的数据索引,然后调用更新后的数据索引查询数据表格获得角色的实际属性数据。
[0044]根据本申请另一实施例,所述数据表格中存储的内容包括各种战斗属性、等级经验预定值、具体技能值或其中的任意组合。
[0045]根据本申请另一实施例,所述数据索引包括类型索引、初始等级、技能索引、技能等级索引、经验、金钱,以及物理攻击、防御、法术攻击、法术攻击抗性或其中的任意组合。
[0046]根据本申请另一实施例,所述满足数据索引变更的触发条件包括:当角色获取经验时,将经验值累计存储在当前等级上,当累计的经验值达到预定值时,则为满足数据索引变更的触发条件。
[0047]根据本申请另一实施例,当网络异常中断时,服务器进一步用于将所存储的数据索引放在共享内存中,防止数据丢失;当网络恢复连接时,服务器用于读取共享内存数据来及时更新数据索引,根据数据索引读取数据表格获得角色的各项属性数据,并通知客户端进行数据索引的同步。
[0048]根据本申请另一实施例,当触发变身条件时,第一角色变身为第二角色,服务器预加载当前第二角色的数据索引,并根据第二角色的数据索引查询数据表格获得角色实际属性,作为第一角色的当前属性;当变身恢复时,则重新加载第一角色的数据索引,获得第一角色自身的实际属性。
[0049]根据本申请另一实施例,所述第二角色是其他玩家的角色,或者是NPC。
[0050]本发明大大减少了服务器与客户端的发包量,客户端获取属性数据是通过所存储的数据索引从数据表格读取,客户端和服务器之间只需要对数据索引进行同步,没有服务器与数据库的同步操作,在服务器获取数据时,通过所存储的数据索引动态读取表格达到更新属性数据等的效果。
[0051]以上所述仅为本申请的较佳实施例而已,并不用以限制本申请的保护范围,凡在本申请技术方案的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。
【权利要求】
1.一种角色属性数据存储及动态更新的方法,其特征在于,包括: A、在服务器和客户端设置初始的角色属性的数据索引和数据表格; 所述数据表格中存储的关于角色属性数据的具体值,所述数据索引是用于查找数据表格中具体值的索引,或者角色属性中的可变值; B、服务器判断是否满足数据索引变更的触发条件,若是,执行步骤B,否则重复本步骤; C、开启角色数据变更开关,服务器发包通知客户端更新所存储的数据索引; D、服务器及客户端同步更新所存储的数据索引,然后调用更新后的数据索引查询数据表格获得角色的实际属性数据。
2.根据权利要求1所述的方法,其特征在于,所述数据表格中存储的内容包括各种战斗属性、等级经验预定值、具体技能值或其中的任意组合。
3.根据权利要求1所述的方法,其特征在于,所述数据索引包括类型索引、初始等级、技能索引、技能等级索引、经验、金钱,以及物理攻击、防御、法术攻击、法术攻击抗性或其中的任意组合。
4.根据权利要求1所述的方法,其特征在于,所述满足数据索引变更的触发条件包括:当角色获取经验时,将经验值累计存储在当前等级上,当累计的经验值达到预定值时,则为满足数据索引变更的触发条件。
5.根据权利要求1所述的方法,其特征在于,该方法进一步包括:当网络异常中断时,服务器将所存储的数据索引放在共享内存中,防止数据丢失;当网络恢复连接时,服务器读取共享内存数据来及时更新数据索引,根据数据索引读取数据表格获得角色的各项属性数据,并通知客户端进行数据索引的同步。
6.根据权利要求1所述的方法,其特征在于,该方法进一步包括:当触发变身条件时,第一角色变身为第二角色,服务器预加载当前第二角色的数据索引,并根据第二角色的数据索引查询数据表格获得角色实际属性,作为第一角色的当前属性;当变身恢复时,则重新加载第一角色的数据索引,获得第一角色自身的实际属性。
7.根据权利要求6所述的方法,其特征在于,所述第二角色是其他玩家的角色,或者是NPC0
8.—种角色属性数据存储及动态更新的系统,其特征在于,该系统包括客户端和服务器, 所述服务器和客户端用于存储预先设置的初始的角色属性的数据索引和数据表格;所述数据表格中存储的关于角色属性数据的具体值,所述数据索引是用于查找数据表格中具体值的索引,或者角色属性中的可变值; 所述服务器进一步用于判断是否满足数据索引变更的触发条件,若是,开启角色数据变更开关,发包通知客户端更新所存储的数据索引;以及与客户端同步更新所存储的数据索引,然后调用更新后的数据索引查询数据表格获得角色的实际属性数据; 所述客户端用于接收来自服务器变更所存储的数据索引的数据包,并与服务器同步更新所存储的数据索引,然后调用更新后的数据索引查询数据表格获得角色的实际属性数据。
9.根据权利要求8所述的系统,其特征在于,所述满足数据索引变更的触发条件包括:当角色获取经验时,将经验值累计存储在当前等级上,当累计的经验值达到预定值时,则为满足数据索引变更的触发条件。
10.根据权利要求8所述的系统,其特征在于,当网络异常中断时,服务器进一步用于将所存储的数据索引放在共享内存中,防止数据丢失;当网络恢复连接时,服务器用于读取共享内存数据来及时更新数据索引,根据数据索引读取数据表格获得角色的各项属性数据,并通知客户端进行数据索引的同步。
【文档编号】G06F17/30GK104516965SQ201410817513
【公开日】2015年4月15日 申请日期:2014年12月24日 优先权日:2014年12月24日
【发明者】常鹏 申请人:北京像素软件科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1