CN101169806B - 网络游戏***中的角色数据管理装置和方法 - Google Patents
网络游戏***中的角色数据管理装置和方法 Download PDFInfo
- Publication number
- CN101169806B CN101169806B CN2007101753605A CN200710175360A CN101169806B CN 101169806 B CN101169806 B CN 101169806B CN 2007101753605 A CN2007101753605 A CN 2007101753605A CN 200710175360 A CN200710175360 A CN 200710175360A CN 101169806 B CN101169806 B CN 101169806B
- Authority
- CN
- China
- Prior art keywords
- role
- subregion
- management module
- data
- name
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种网络游戏***中的角色数据管理装置及方法,所述角色数据管理装置包括大区角色管理模块和至少一个分区角色管理模块,分区角色管理模块用于管理本分区内角色的数据,大区角色管理模块用于管理大区内角色的统计数据。所述分区角色管理模块在创建角色时发送所要创建的角色名给所述大区角色管理模块;所述大区角色管理模块查询大区内是否已经存在所要创建的角色名,如果已经存在则指示所述分区角色管理模块拒绝创建所述角色名,如果不存在,则记录所要创建角色的统计数据,并指示所述分区角色管理模块创建所述角色。利用本发明,可以保证角色名在整个网络游戏***大区中的唯一性,方便角色数据在不同分区之间的搬移和合并。
Description
技术领域
本发明涉及通信网络应用技术,尤其涉及一种网络游戏***中的角色数据管理装置和方法。
背景技术
随着网络通讯技术的飞快发展,网络游戏作为一种休闲娱乐方式已经被越来越多的人接受。网络游戏是指主要通过互联网或局域网由多人共同参与的电子计算机游戏。在目前的技术方案中,网络游戏主要通过网络游戏***实现。目前的网络游戏***建立在通讯网络上,包括网络侧的网络游戏服务器和终端侧的网络游戏客户端,用户可以通过网络游戏客户端建立一个或一个以上的角色,并为所建立的角色起名字,通过网络游戏客户端登陆所述网络游戏***,按照游戏运行逻辑在虚拟世界中操作所扮演的角色。
目前的网络游戏***可以对游戏和角色进行分区运行。也就是说,在一个分区中运行一个或一个以上的游戏逻辑,每一个分区业界一般称之为游戏世界(World),玩家可以在分区中创建角色并进行游戏。一个以上的分区可以组成一个大区,业界一般称之为游戏大区(Cluster)。
角色名是玩家在分区中的人物标识。每一个角色名对应分区游戏中的唯一角色,游戏逻辑通过角色名来区分各个角色,游戏角色也是通过角色名为索引同其他的游戏角色建立好友、队友、师徒、情侣等关系。所以在一个新角色创建时,虽然角色名可以由玩家在网络游戏***允许的范围内自由定义,但是网络游戏***必须保证角色名在当前分区中是唯一的,如果此角色名已被使用,则判定该角色名非法,创建角色失败。
图1为现有网络游戏***内某一分区的角色数据管理装置的示意图。参见图1,所述角色数据管理装置包括:
游戏运行服务器(Zone Server)101,用于处理具体的游戏逻辑。
分区注册管理模块(World Login)102,用于根据游戏运行服务器101的请求管理整个分区内的角色,包括角色创建、角色登入、角色登出、角色删除等操作逻辑。
角色统计数据库(All Role DB)105,用于记录本分区内角色的统计数据,所述某一角色的角色统计数据表如表1所示:
角色统计数据名称 | 属性 | 说明 |
dwID | 无符号的自动增量int变量 | 当前分区角色ID |
szRoleName | 主键 | 角色名 |
dwUin | 无符号int变量 | 帐号 |
dtCreateTime | 日期时间 | 角色名创建时间 |
表1
如表1,所述一个角色的统计数据中需要包括角色ID、角色名、帐号、角色名创建时间。其中,角色名在一个角色的统计数据中是必须的,在所述统计数据表1中以角色名为主键。
分区数据存取模块(World Misc)103,是所述分区注册管理模块的辅助模块,用于根据分区注册管理模块的操作指令对所述分区角色统计数据库中的角色统计数据进行存取。
分区角色数据库(Role DB)106,用于记录本分区内角色的详细数据。
角色数据服务器(Role Server)104,用于根据分区注册管理模块的操作指令对所述分区角色数据库中的角色数据进行存取。
图2为现有技术创建角色的一种流程图。参见图2,该流程包括:
步骤201、游戏运行服务器发出创建角色请求给分区注册管理模块,所述创建角色请求中包括所要创建的角色的初始化数据,其中至少包括角色名。
步骤202、分区注册管理模块发送角色名唯一性的查询请求到分区数据存取模块。
步骤203、分区数据存取模块查询分区角色统计数据库,判断其中是否已经存在所述要创建的角色名,并向分区注册管理模块返回查询结果。
步骤204、分区注册管理模块根据所述查询结果进行操作:如果所述要创建的角色名已经存在,则拒绝创建角色,并通过游戏运行服务器通知玩家所述角色名重复,请玩家重新设置角色名字;如果所要创建的角色名不存在,则向角色数据服务器发送所创建角色的初始化数据。
步骤205、角色数据服务器将所述初始化数据存入分区角色数据库,返回创建响应到分区注册管理模块。
步骤206、分区注册管理模块返回对应的创建响应到游戏运行服务器。
但是,上述现有技术创建的角色名在整个大区内不是唯一的,因此导致以下技术缺陷:
1、角色数据不能很方便地在不同分区之间搬移。
由于角色名字在不同分区中可能重复。当一个角色数据需要从分区A中搬移到分区B时,如果分区B中有与此角色相同的角色名则不能将角色从分区A中搬移到分区B中,必须将角色名修改后,比如增加后缀,才能搬移角色数据。
2、合并分区时会必须修改两个分区中存在的相同角色名。
当需要合并分区的角色时,必须对不同分区中的角色名做检查,如果有相同的角色名,则需要对相同的角色名做修改后,才能合并两个分区的角色。
发明内容
有鉴于此,本发明所要解决的技术问题在于提供一种网络游戏***中的角色数据管理装置,在保证角色数据在不同分区之间搬移和合并的同时,提高对大区角色统计数据库和分区角色统计数据库的查询效率,进而提高整个网络游戏***的运行效率。
本发明所要解决的另一技术问题在于提供一种网络游戏***中的角色数据管理方法,在保证角色数据在不同分区之间搬移和合并的同时,提高对大区角色统计数据库和分区角色统计数据库的查询效率,进而提高整个网络游戏***的运行效率。
为了实现上述发明目的,本发明的主要技术方案为:
一种网络游戏***中的角色数据管理装置,所述网络游戏***对角色进行分区运行,所述角色数据管理装置包括大区角色管理模块和至少一个分区角色管理模块,其中:
分区角色管理模块,用于管理本分区内角色的数据;在创建角色时,发送包括所要创建的角色名的创建角色请求给所述大区角色管理模块,查询所述角色名在大区内是否存在,不存在时创建角色并记录所述角色数据,存在时拒绝创建所述角色名;
所述分区角色管理模块进一步包括:分区注册管理模块,用于按照网络游戏***中的游戏运行服务器的请求,执行角色数据的管理操作;分区角色统计数据库,用于记录本分区内角色的统计数据,其中至少包括本分区内每个角色的角色名,包括一个以上分区角色统计数据表;分区数据存取模块,用于根据分区注册管理模块的操作指令对所述分区角色统计数据库中的角色统计数据进行存取,包括一个以上分区数据存取单元;
所述分区注册管理模块通过哈希算法选择一个分区数据存取单元维护对应的分区角色统计数据表;
大区角色管理模块,用于管理大区内角色的统计数据,并在某分区角色管理模块创建角色时,查询大区内是否已存在所要创建的角色名,如果已存在,则指示所述分区角色管理模块拒绝创建所述角色名,如果不存在,则记录所要创建角色的统计数据,并指示所述分区角色管理模块创建所述角色;
所述大区角色管理模块进一步包括:大区注册管理模块,用于与分区角色管理模块交互,并对大区内角色的统计数据进行管理操作;大区角色统计数据库,用于记录大区角色的统计数据,包括一个以上大区角色统计数据表;大区数据存取模块,用于根据大区注册管理模块的操作指令对所述大区角色统计数据库中的角色统计数据进行存取,包括一个以上大区数据存取单元;
所述大区注册管理模块通过哈希算法选择一个大区数据存取单元维护对应的大区角色统计数据表。
优选的,所述大区注册管理模块,还用于接收到分区角色管理模块的所要创建的角色名后,通知所述大区数据存取模块查询所述大区角色统计数据库中是否存在所述角色名,并返回查询结果。
优选的,每个大区数据存取单元对应维护一个大区角色统计数据表。
优选的,所述分区注册管理模块,还用于在创建角色时,先向大区角色管理模块发送所要创建的角色名,请求查询所要创建的角色名在大区内是否存在,并根据查询结果决定是否创建角色;
所述分区角色管理模块还包括:
分区角色数据库,用于记录本分区内角色的详细数据;
角色数据服务器,用于根据分区注册管理模块的操作指令对所述分区角色数据库中的角色数据进行存取。
优选的,所述每个分区数据存取单元对应维护一个分区角色统计数据表。
一种网络游戏***中的角色数据管理方法,
预先设置大区角色统计数据库;
在特定分区中创建角色时,特定分区发送包括所要创建的角色名的创建角色请求,查询大区角色统计数据库中是否存在请求创建的角色名,如果存在,则拒绝创建所述角色名;否则,在所述特定分区中创建所述角色,并将包括所述角色名的角色统计数据存入所述大区角色统计数据库;
在所述大区角色统计数据库中设置一个以上大区角色统计数据表;在所述分区中创建角色时,通过哈希算法选择对应的一个大区角色统计数据表,查询所选择的大区角色统计数据表中是否存在所请求创建的角色名,如果存在,则拒绝创建所述角色名;否则,在所述分区中创建所述角色,并将包括所述角色名的角色统计数据存入所选择的大区角色统计数据表;
在所述分区中删除角色时,通过哈希算法选择对应的一个大区角色统计数据表,从所选择的大区角色统计数据表中删除所要删除角色对应的角色统计数据。
优选的,所述方法进一步包括:设置分区角色统计数据库;在所述分区中删除角色时,删除分区角色统计数据库中所要删除角色对应的角色统计数据。
优选的,在所述分区中创建所述角色时,进一步包括:生成所述角色在所述分区中的唯一角色ID,在本分区中通过所述角色ID区分管理对应的角色。
由于本发明对整个大区内的角色名进行统一记录管理,将大区内所有分区运行的角色名存储在大区角色统计数据库中,在分区中创建角色时,由判断所创建的角色名是否已经在大区角色统计数据库中存在,如果存在,则拒绝创建该角色名,否则,允许创建所述角色,并将角色名添加到所述大区角色统计数据库中。因此,本发明可以保证不论在哪个分区中创建角色,所述角色名在整个网络游戏***大区中都是唯一的。当需要在不同分区中搬移角色数据时只需要删除这个角色在旧的分区中同其他角色建立的关系,例如好友关系,情侣关系等,就可以很方便的角色数据搬移到新的分区中;当需要合并游戏分区时,不必转换两个分区中角色的名字,只需要将两个分区中的角色数据合并到同一个角色数据库中即可。
本发明还可以在大区角色统计数据库中设置一个以上大区角色统计数据表,在查询所述大区角色统计数据库时,利用哈希算法选择其中的一个大区角色统计数据表进行查询操作,因此可以提高查询效率,非常适用于角色数据量大的网络游戏***,提高整个网络游戏***的运行效率。
类似的,本发明还可以在分区角色统计数据库中设置一个以上分区角色统计数据表,在查询所述分区角色统计数据库时,利用哈希算法选择其中的一个分区角色统计数据表进行查询操作,因此可以进一步提高查询效率,非常适用于某分区角色数据量大的网络游戏***,提高整个网络游戏***的运行效率。
附图说明
图1为现有网络游戏***内某一分区的角色数据管理装置的示意图;
图2为现有技术创建角色的一种流程图;
图3为本发明所述网络游戏***的角色数据管理装置的示意图;
图4为本发明所述创建角色时对角色数据进行管理的方法流程图;
图5为本发明所述删除角色时对角色数据进行管理的方法流程图。
具体实施方式
下面通过具体实施例和附图对本发明做进一步详细说明。
本发明的核心思想为:在对角色进行分区运行的网络游戏***中,设置大区角色统计数据库,将大区内所有分区运行的角色名存储在大区角色统计数据库中,对整个大区内的角色名进行统一记录管理,在分区中创建角色时,判断所创建的角色名是否已经在大区角色统计数据库中存在,如果存在,则拒绝创建该角色名,否则,允许创建该角色,并将角色名添加到所述大区角色统计数据库中。
本发明所适用的网络游戏***对角色进行分区运行。在一个分区中运行一个或一个以上的游戏逻辑,每一个分区业界一般称之为游戏世界,玩家可以在分区中创建角色并进行游戏。一个以上的分区可以组成一个大区,业界一般称之为游戏大区。
图3为本发明所述网络游戏***的角色数据管理装置的示意图。参见图3,本发明所述的角色数据管理装置包括至少一个分区角色管理模块301和一个大区角色管理模块302。其中:
分区角色管理模块301用于管理本分区内角色的数据。在创建角色时,先向大区角色管理模块302发送创建角色请求,其中包括所要创建的角色名,请求查询所述角色名在大区内是否存在,当不存在时创建角色并记录所述角色数据,否则拒绝创建所述角色名。在删除角色时需要在本分区内删除所要删除角色的角色数据,并向大区角色管理模块302发送删除角色请求,其中包括所要删除的角色名,大区角色管理模块302收到删除角色请求后,删除对应的角色数据。
所述的管理操作除了创建和删除角色,还包括:登入、登出角色数据等,所述登入、登出角色数据是在创建角色之后,对该角色中除角色名、角色ID等标识信息的其它详细数据进行的添加或删除等修改,由于登入、登出操作与本发明的目的不相关,因此本发明的实施例中只对创建角色和删除角色的过程进行说明。
大区角色管理模块302用于管理大区内角色的统计数据,并在某分区角色管理模块301创建角色时,查询大区内是否已经存在所要创建的角色名,如果已经存在则指示所述分区角色管理模块301拒绝创建所述角色名,如果不存在,则记录所要创建角色的统计数据,并指示所述分区角色管理模块301创建所述角色。
如图3所示,所述分区角色管理模块301具体包括:
分区注册管理模块311,用于按照网络游戏***中的游戏运行服务器101的请求,执行角色的管理操作,例如包括角色创建、删除、登入、登出等操作;在创建角色时,先向大区角色管理模块302发送要创建的角色名,请求查询角色名在大区内是否存在,并根据查询结果决定是否创建角色,如果所创建的角色名在大区中已经存在,则拒绝创建所述角色名,否则,创建所述角色,并将角色的初始化数据存入分区角色数据库312中。
分区角色数据库312,用于记录本分区内角色的详细数据,包括初始化数据等。
角色数据服务器313,用于根据分区注册管理模块311的操作指令对所述分区角色数据库312中的角色数据进行存取。
分区角色统计数据库314,分区注册管理模块311还可以将本分区内的角色的统计数据存入分区角色统计数据库314中,所述的角色统计数据中至少包括本分区内每个角色的角色名,便于网络游戏***进行本分区内的角色数据操作。
分区数据存取模块315,为分区注册管理模块311的辅助模块,用于根据分区注册管理模块311的操作指令对所述分区角色统计数据库314中的角色统计数据进行存取。
如图3所示,所述大区角色管理模块302具体包括:
大区注册管理模块321,用于根据分区注册管理模块311的请求对大区内的角色数据进行管理操作,例如在角色创建、删除时对角色的统计数据进行相应操作。
大区角色统计数据库323,用于记录当前大区中的角色统计数据,其中至少包括当前大区内每个角色的角色名。
所述某一大区角色的角色统计数据表如表2所示:
角色统计数据名字 | 属性 | 说明 |
szRoleName | 主键 | 角色名 |
dwUin | 无符号int变量 | 帐号 |
dtCreateTime | 日期时间 | 角色名创建时间 |
wWorldID | 无符号short变量 | 角色所在分区ID |
表2
如表2所示,所述一个角色的统计数据中需要包括角色名、帐号、角色名创建时间、以及角色所在大区ID。其中角色名在一个角色的统计数据中是必须的,在所述统计数据表2中以角色名为主键。
大区数据存取模块322,为所述大区注册管理模块321的辅助模块,用于根据大区注册管理模块321的操作指令对所述大区角色统计数据库323中的角色统计数据进行存取。
所述大区注册管理模块321在接收到分区角色管理模块301发送的所要创建的角色名后,通知所述大区数据存取模块322查询所述大区角色统计数据库323中是否存在所述角色名,并返回查询结果。
为了提高***效率,所述大区数据存取模块322可以包括一个以上大区数据存取单元,对应的,所述大区角色统计数据库323中包括一个以上大区角色统计数据表,例如在一种优选方案中可以设置19个大区数据存取单元,分别对应19个大区角色统计数据表,所述每个大区数据存取单元对应负责维护一个大区角色统计数据表的数据存取。所述大区注册管理模块321在接收到分区角色管理模块301发送的角色名后,通过哈希(Hash)算法选择一个大区数据存取单元查询对应的大区角色统计数据表,目的是通过哈希算法选择对应的一个大区角色统计数据表进行操作,判断该大区角色统计数据表中是否存在所要创建的角色名,如果存在,则判定当前大区内存在所述角色名,如果不存在,则判定当前大区内不存在所述角色名,并将该角色名记录到所述大区角色统计数据表中。
由于哈希算法的关系,同一个角色名总是会选择到同一个大区数据存取单元,所以虽然是将大区角色统计数据库323拆分成19张大区角色统计数据表,只要保证在同一张大区角色统计数据表中所述角色名是唯一的,即可保证所述角色名在其它大区角色统计数据表中也是唯一的,从而保证在整个大区中角色名的唯一性。
本发明也可以在所述分区角色统计数据库314中设置一个以上分区角色统计数据表,且对应设置一个以上的分区数据存取单元,每一个分区数据存取单元对应操作一个分区角色统计数据表。并采用与上述大区角色管理模块中相同的哈希算法选择对应的分区数据存取单元对分区角色统计数据表进行读取操作,目的是通过哈希算法选择对应的一个分区角色统计数据表进行操作,从而提高查询效率。
图4为本发明所述创建角色时对角色数据进行管理的方法流程图。参见图4,该流程包括:
步骤401、游戏运行服务器101发出创建角色请求给分区注册管理模块311,所述创建角色请求中包括所要创建的角色的初始化数据,其中包括角色名。
步骤402、分区注册管理模块311发送创建角色请求到大区注册管理模块321,其中包括所要创建的角色名。
步骤403、大区注册管理模块321发送角色名唯一性查询请求到大区数据存取模块322,其中包括所要创建的角色名。
步骤404、大区数据存取模块322查询大区角色统计数据库323,判断其中是否已经存在所要创建的角色名,并将查询结果返回给大区注册管理模块321。
步骤405、大区注册管理模块321根据所述查询结果进行处理,如果所要创建的角色名在所述大区角色统计数据库323中已经存在,则拒绝创建所述角色名,发送所述查询结果给分区注册管理模块311;否则,将所要创建的角色名以及该角色的其它信息通过大区数据存取模块322存入所述大区角色统计数据库323;并将所述查询结果发送给分区注册管理模块311。所述其它信息例如是用户帐号、角色名创建时间、以及角色所在分区的ID等信息,其中用户帐号由游戏运行服务器101在发送创建请求中携带,所述角色名创建时间可以是当前操作时间,所述角色所在分区ID可以是由分区注册管理模块311在发送创建请求中携带。
步骤406、分区注册管理模块311根据所述查询结果进行处理,如果所要创建的角色名在所述大区角色统计数据库323中已经存在,则拒绝创建所述角色名,执行步骤410;否则,发送创建角色请求给分区数据存取模块315,执行步骤407。
步骤407、分区数据存取模块315收到创建角色请求后,将所要创建的角色名以及该角色在本分区内的其它信息存入所述分区角色统计数据库314,所述该角色在本分区内的其它信息包括角色ID、角色名创建时间、用户帐号。其中角色ID是由分区数据存取模块315生成的,在本分区内唯一的一个角色ID,所述角色名创建时间可以是当前操作时间,所述用户帐号由游戏运行服务器101在发送创建请求中携带。之后,分区数据存取模块315返回创建结果给分区注册管理模块311,其中包括角色ID。
步骤408、分区注册管理模块311将所创建角色的详细信息发送给角色数据服务器313,其中包括角色初始化数据和分区数据存取模块315返回的角色ID。
步骤409、角色数据服务器313将所述角色的详细数据存入分区角色数据库312,返回创建结果给分区注册管理模块311,如果存入成功,则返回创建成功结果,否则返回创建失败结果。
步骤410、分区注册管理模块311返回创建角色响应给游戏运行服务器101,如果分区注册管理模块311拒绝创建所述角色名或者创建失败,则返回创建角色名失败响应给游戏运行服务器101,游戏运行服务器可以直接拒绝创建当前请求创建的角色,也可以提示用户输入新的角色名,再次发起创建角色请求;否则,返回创建角色成功响应给游戏运行服务器101。
为了进一步提高效率,作为一种优选方案,本发明可以在所述大区角色统计数据库323中设置一个以上大区角色统计数据表,且对应设置一个以上的大区数据存取单元,每一大区数据存取单元分别对应操作一个大区角色统计数据表,所述大区数据存取单元可以是一种程序进程单元。并且,从0开始对所述大区数据存取单元进行编号,例如一种优选实施例中大区数据存取单元的个数为19,则其编号依次为0,1,2,......,18。
在这种情况下,步骤403中,大区注册管理模块321进一步通过哈希算法选择对应的一个大区数据存取单元对相应的大区角色统计数据表进行查询,目的是通过哈希算法选择对应的一个大区角色统计数据表进行操作,所述选择方法具体为:
步骤431、将所要创建的角色名中的所有字符的编码值累加得到一个整数X。
步骤432、对步骤431得到的整数X除以所述大区数据存取单元的个数Y,得到余数,即X%Y,其中%为取模;将得到的余数作为选择的大区数据存取单元的编号,假设该编号为Z。
步骤433、向由步骤432选择的编号为Z的大区数据存取单元发送创建角色请求,由该大区数据存取单元查询其对应的大区角色统计数据表,对应的,该大区角色统计数据表的编号也为Z,判断该大区角色统计数据表中是否已经存在所要创建的角色名,并将查询结果返回给大区注册管理模块321。
之后,大区注册管理模块321根据查询结果进行相应的处理,如果编号Z的大区角色统计数据表中存在所请求创建的角色名,则拒绝创建所述角色名;否则,通知分区注册管理模块311和所述编号Z的大区数据存取单元创建所述角色,将包括所述角色名的角色统计数据存入编号Z的大区角色统计数据表中。
因为同一个角色名的所有字符的编码值累加后得到的整数结果总是相同的,所以针对同一个角色名,一定能够选择到相同的大区数据存取单元。又因为每个大区数据存取单元总是读写同一张大区角色统计数据表,所以可以保证如果一个角色名在一张大区角色统计数据表中是唯一的,则在其它的大区角色统计数据表中也是唯一的,从而保证在整个大区角色统计数据库323中角色名的唯一性。
为了进一步提高分区内的数据查询效率,作为一种优选方案,本发明可以在所述分区角色统计数据库314中设置一个以上分区角色统计数据表,且对应设置一个以上的分区数据存取单元,每一个分区数据存取单元对应操作一个分区角色统计数据表。并采用与上述大区角色管理模块中相同的哈希算法选择对应的分区数据存取单元对分区角色统计数据表进行读取操作,目的是通过哈希算法选择对应的一个分区角色统计数据表进行操作,从而提高查询效率。
图5为本发明所述删除角色时对角色数据进行管理的方法流程图。参见图5,该流程包括:
步骤501、游戏运行服务器101发出删除角色请求到分区注册管理模块311,删除角色请求中包括要删除角色的角色名。
步骤502、分区注册管理模块311判断所要删除的角色当前是否在线,如果在线则返回删除失败响应到游戏运行服务器101;否则,发送删除角色请求到角色数据服务器313。
步骤503、角色数据服务器313从分区角色数据库312中删除所要删除角色的详细信息,返回删除结果到分区注册管理模块311;如果删除成功则返回删除成功结果,否则返回删除失败结果。
步骤504、分区注册管理模块311返回相应的删除结果到游戏运行服务器101。
步骤505、分区注册管理模块311发送删除角色请求到分区数据存取模块315,分区数据存取模块315从所述分区角色统计数据库314中删除所要删除角色的统计数据,其中包括角色名。
如果本发明在所述分区角色统计数据库314中设置了一个以上分区角色统计数据表,且对应设置一个以上的分区数据存取单元,每一个分区数据存取单元对应操作一个分区角色统计数据表,则采用与上述创建角色流程中相同的哈希算法选择对应的分区数据存取单元对分区角色统计数据表中的角色统计数据进行删除操作,目的是通过哈希算法选择对应的一个分区角色统计数据表进行操作,从而提高操作效率。
步骤506、分区注册管理模块311发送删除角色请求到大区注册管理模块321,大区注册管理模块321发送删除角色请求到大区数据存取模块322,大区数据存取模块322从所述大区角色统计数据库323中删除所要删除角色的统计数据。
如果本发明在所述大区角色统计数据库323中设置一个以上大区角色统计数据表,且对应设置一个以上的大区数据存取单元,每一个大区数据存取单元对应操作一个大区角色统计数据表,则此处采用与上述创建角色流程中相同的哈希算法选择对应的大区数据存取单元对大区角色统计数据表中的角色统计数据进行删除操作,目的是通过哈希算法选择对应的一个大区角色统计数据表进行操作,从而提高操作效率。
当然,上述步骤504、505、506之间没有必然的先后顺序,也可以并行处理。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉该技术的人在本发明所揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。
Claims (8)
1.一种网络游戏***中的角色数据管理装置,所述网络游戏***对角色进行分区运行,其特征在于,所述角色数据管理装置包括大区角色管理模块和至少一个分区角色管理模块,其中:
分区角色管理模块,用于管理本分区内角色的数据;在创建角色时,发送包括所要创建的角色名的创建角色请求给所述大区角色管理模块,查询所述角色名在大区内是否存在,不存在时创建角色并记录所述角色数据,存在时拒绝创建所述角色名;
所述分区角色管理模块进一步包括:分区注册管理模块,用于按照网络游戏***中的游戏运行服务器的请求,执行角色数据的管理操作;分区角色统计数据库,用于记录本分区内角色的统计数据,其中至少包括本分区内每个角色的角色名,包括一个以上分区角色统计数据表;分区数据存取模块,用于根据分区注册管理模块的操作指令对所述分区角色统计数据库中的角色统计数据进行存取,包括一个以上分区数据存取单元;
所述分区注册管理模块通过哈希算法选择一个分区数据存取单元维护对应的分区角色统计数据表;
大区角色管理模块,用于管理大区内角色的统计数据,并在某分区角色管理模块创建角色时,查询大区内是否已存在所要创建的角色名,如果已存在,则指示所述分区角色管理模块拒绝创建所述角色名,如果不存在,则记录所要创建角色的统计数据,并指示所述分区角色管理模块创建所述角色;
所述大区角色管理模块进一步包括:大区注册管理模块,用于与分区角色管理模块交互,并对大区内角色的统计数据进行管理操作;大区角色统计数据库,用于记录大区角色的统计数据,包括一个以上大区角色统计数据表;大区数据存取模块,用于根据大区注册管理模块的操作指令对所述大区角色统计数据库中的角色统计数据进行存取,包括一个以上大区数据存取单元;
所述大区注册管理模块通过哈希算法选择一个大区数据存取单元维护对应的大区角色统计数据表。
2.根据权利要求1所述的角色数据管理装置,其特征在于,所述大区注册管理模块,还用于在接收到分区角色管理模块的所要创建的角色名后,通知所述大区数据存取模块查询所述大区角色统计数据库中是否存在所述角色名,并返回查询结果。
3.根据权利要求2所述的角色数据管理装置,其特征在于,所述每个大区数据存取单元对应维护一个大区角色统计数据表。
4.根据权利要求1所述的角色数据管理装置,其特征在于,
所述分区注册管理模块,还用于在创建角色时,向大区角色管理模块发送所要创建的角色名,请求查询所要创建的角色名在大区内是否存在,并根据查询结果决定是否创建角色;
所述分区角色管理模块还包括:
分区角色数据库,用于记录本分区内角色的详细数据;
角色数据服务器,用于根据分区注册管理模块的操作指令对所述分区角色数据库中的角色数据进行存取。
5.根据权利要求4所述的角色数据管理装置,其特征在于,所述每个分区数据存取单元对应维护一个分区角色统计数据表。
6.一种网络游戏***中的角色数据管理方法,其特征在于,
预先设置大区角色统计数据库;
在特定分区中创建角色时,特定分区发送包括所要创建的角色名的创建角色请求,查询大区角色统计数据库中是否存在请求创建的角色名,如果存在,则拒绝创建所述角色名;否则,在所述特定分区中创建所述角色,并将包括所述角色名的角色统计数据存入所述大区角色统计数据库;
在所述大区角色统计数据库中设置一个以上大区角色统计数据表;在所述分区中创建角色时,通过哈希算法选择对应的一个大区角色统计数据表,查询所选择的大区角色统计数据表中是否存在所请求创建的角色名,如果存在,则拒绝创建所述角色名;否则,在所述分区中创建所述角色,并将包括所述角色名的角色统计数据存入所选择的大区角色统计数据表;
在所述分区中删除角色时,通过哈希算法选择对应的一个大区角色统计数据表,从所选择的大区角色统计数据表中删除所要删除角色对应的角色统计数据。
7.根据权利要求6所述的角色数据管理方法,其特征在于,所述方法进一步包括:设置分区角色统计数据库;
在所述分区中删除角色时,删除分区角色统计数据库中所要删除角色对应的角色统计数据。
8.根据权利要求6所述的角色数据管理方法,其特征在于,在所述分区中创建所述角色时,进一步包括:生成所述角色在所述分区中的唯一角色ID,在本分区中通过所述角色ID区分管理对应的角色。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2007101753605A CN101169806B (zh) | 2007-09-28 | 2007-09-28 | 网络游戏***中的角色数据管理装置和方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2007101753605A CN101169806B (zh) | 2007-09-28 | 2007-09-28 | 网络游戏***中的角色数据管理装置和方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101169806A CN101169806A (zh) | 2008-04-30 |
CN101169806B true CN101169806B (zh) | 2010-06-02 |
Family
ID=39390430
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2007101753605A Active CN101169806B (zh) | 2007-09-28 | 2007-09-28 | 网络游戏***中的角色数据管理装置和方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101169806B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103366077B (zh) * | 2012-04-05 | 2016-06-29 | 腾讯科技(深圳)有限公司 | 一种模拟器类游戏的角色清除方法、装置和*** |
CN103678892A (zh) * | 2013-12-03 | 2014-03-26 | 腾讯科技(成都)有限公司 | 一种角色对象管理的方法和装置 |
CN103816662A (zh) * | 2014-02-26 | 2014-05-28 | 深圳第七大道网络技术有限公司 | 一种主从游戏区合区的方法及*** |
CN111054083B (zh) * | 2019-11-18 | 2023-08-04 | 武汉华中时讯科技有限责任公司 | 在社交网络中创建原始角色的方法及***、服务器及介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1262217A2 (en) * | 2001-05-29 | 2002-12-04 | Konami Computer Entertainment Osaka, Inc. | Server device for net game, net game management method, net game management program, and recording medium which stores net game |
CN1820271A (zh) * | 2003-08-25 | 2006-08-16 | 河晶元 | 角色管理***及其服务方法 |
CN1848124A (zh) * | 2005-04-12 | 2006-10-18 | 国际商业机器公司 | 基于服务器/客户机的无缝游戏世界***及其方法 |
-
2007
- 2007-09-28 CN CN2007101753605A patent/CN101169806B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1262217A2 (en) * | 2001-05-29 | 2002-12-04 | Konami Computer Entertainment Osaka, Inc. | Server device for net game, net game management method, net game management program, and recording medium which stores net game |
CN1820271A (zh) * | 2003-08-25 | 2006-08-16 | 河晶元 | 角色管理***及其服务方法 |
CN1848124A (zh) * | 2005-04-12 | 2006-10-18 | 国际商业机器公司 | 基于服务器/客户机的无缝游戏世界***及其方法 |
Also Published As
Publication number | Publication date |
---|---|
CN101169806A (zh) | 2008-04-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
AU2020200149B2 (en) | Methods and apparatus for a distributed database within a network | |
CN103858122B (zh) | 保持客户端/服务器***内的分布式复制内容的高度一致性的方法和*** | |
RU2388056C1 (ru) | Способ, система, клиентский терминал и сервер для предотвращения обмана в сетевых играх | |
US7537523B2 (en) | Dynamic player groups for interest management in multi-character virtual environments | |
US8140625B2 (en) | Method for operating a fixed prefix peer to peer network | |
CN101169806B (zh) | 网络游戏***中的角色数据管理装置和方法 | |
CN104133825B (zh) | 一种匹配客户端用户的方法及装置 | |
CN109327512A (zh) | 基于区块链hash寻址和重加密的游戏数据分区储存方法 | |
CA2754086C (en) | Method and system for transmitting information based on social network | |
US7793335B2 (en) | Computer-implemented method, system, and program product for managing log-in strikes | |
CN103150394A (zh) | 面向高性能计算的分布式文件***元数据管理方法 | |
CN107247758B (zh) | 基于银行核心***的数据处理方法 | |
CN1366646A (zh) | 内容提供***、内容提供服务服务器和公用网站服务器 | |
CN110597922B (zh) | 数据处理方法、装置、终端及存储介质 | |
CN108133059A (zh) | 含大规模低功率集群的异构数据库***中联接的有效下推 | |
JP2001087558A (ja) | ゲームシステム及びゲームシステムのカード印刷方法 | |
JP2023037451A (ja) | 情報処理プログラム、情報処理方法および情報処理システム | |
WO2002065222A1 (fr) | Systeme d"enregistrement de nombres uniques | |
CN107485857A (zh) | 关于网络游戏装备标识码的处理方法、中央服务器及存储介质 | |
CN100570621C (zh) | 网络游戏***中的角色数据管理装置和方法 | |
US10586182B2 (en) | System and method for virtual environment preservation based on automated item reduction | |
CN106471601A (zh) | 方案id管理服务器、方案id管理***以及终端装置 | |
CN114968095A (zh) | 分布式硬盘管理方法、***、电子设备及可读存储介质 | |
CN107330002A (zh) | 分布式数据库实现方法及装置 | |
KR20090010460A (ko) | 온라인 게임의 캐릭터 인벤토리 공유방법, 장치 및기록매체 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |