一种合服的方法和装置的制造方法

文档序号:9217206阅读:455来源:国知局
一种合服的方法和装置的制造方法
【技术领域】
[0001]本发明涉及数据库管理技术领域,特别是涉及一种合服的方法和装置。
【背景技术】
[0002]合服是一种将两台在线游戏玩家数量不多的网络游戏服务器所维护的数据库进行合并,以提高网络游戏服务器的在线人数的技术手段。在进行合服操作时,不单可以将分属于不同网络游戏服务器的数据库进行合并,还可以将同一网络游戏服务器维护的两个数据库进行合并。通过合服可以将两台或多台网络游戏服务器维护的数据库通过一台网络游戏服务器进行维护,或者是减少网络游戏服务器维护的数据库个数,从而降低网络游戏服务器的运行成本。
[0003]现有的一种合服方法为:先停止网络游戏服务器的运行,再对网络游戏服务器所维护的数据库进行合并,即停服维护。这样的合服方法在合并小规模的数据库时是可以的,而随着网络游戏服务器维护的数据库的规模逐渐增大,使用现有的合服方法进行合服时,停服时间需要长达16小时。而在停服的过程中网络游戏服务器不能够处理游戏进程,那么游戏玩家就无法进行游戏操作,停服如此长的时间会给游戏玩家带来不便。同时,由于长时间停服,在此期间服务器无法处理游戏玩家购买装备等一系列为网络游戏带来收益的操作,从而影响了网络游戏的收益,变相增加了网络游戏的运营成本。

【发明内容】

[0004]本发明提供了一种合服的方法和装置,以解决现有的合服方法在合服时需要长时间停服,给游戏玩家带来不便以及增加网络游戏运营成本的问题。
[0005]为了解决上述问题,本发明公开了一种合服的方法,包括:通过合服工具连接第一数据库、第二数据库以及第三数据库;在所述第一数据库与所述第二数据库运行过程中,通过所述合服工具按照预先设定的提取规则,逐条将所述第一数据库与所述第二数据库中的记录进行加锁、提取并写入所述第三数据库中;直至所述第一数据库与所述第二数据库中的记录全部写入所述第三数据库中;当停服时,通过所述合服工具仅对所述第三数据库中满足替换规则的记录进行替换;其中,满足替换规则的记录为在设定时间周期内在所述第一数据库与所述第二数据库中有过修改的记录。
[0006]优选地,所述逐条将所述第一数据库与所述第二数据库中的记录进行的加锁、提取并写入所述第三数据库中步骤包括:当从所述第一数据库或所述第二数据库中读取记录时,对读取的当前记录加锁,以禁止修改当前记录;加锁完成后提取当前记录,提取完成后将当前记录进行解锁,在解锁的同时将提取的当前记录写入所述第三数据库中;并在当前记录写入所述第三数据库中后,再对下一条待读取的记录加锁。
[0007]优选地,所述第一数据库与所述第二数据库中均存储有多个网络游戏玩家的在线信息;所述通过所述合服工具按照预先设定的提取规则,逐条将所述第一数据库与所述第二数据库中的记录进行加锁、提取并写入所述第三数据库中步骤包括:当所述第一数据库与所述第二数据库中的网络游戏玩家在线信息指示在线的网络游戏玩家的数量小于设定阈值时,通过所述合服工具连续地、逐条将所述第一数据库与所述第二数据库中的记录进行加锁、提取并写入所述第三数据库中;和/或,当所述第一数据库与所述第二数据库中的网络游戏玩家在线信息指示在线的网络游戏玩家的数量大于或等于设定阈值时,按照设定的时间间隔逐条将所述第一数据库与所述第二数据库中的记录进行加锁、提取并写入所述第三数据库中。
[0008]优选地,在所述通过所述合服工具仅对所述第三数据库中满足替换规则的记录进行替换步骤之前,还包括:当修改所述第一数据库与所述第二数据库中的记录时,为修改过的每条记录生成对应的修改标识。
[0009]优选地,所述通过所述合服工具仅对所述第三数据库中满足替换规则的记录进行替换步骤包括:通过合服工具搜索所述第一数据库与所述第二数据库中在设定时间周期内生成的修改标识,获取与所述搜索到的修改标识对应的记录;搜索所述第三数据库中与获取的所述记录相对应的原始记录,使用从所述第一数据库和所述第二数据库中获取的所述记录替换所述第三数据库中对应的原始记录。
[0010]为了解决上述问题,本发明还公开了一种合服的装置,包括:连接模块,用于通过合服工具连接第一数据库、第二数据库以及第三数据库;提取模块,用于在所述第一数据库与所述第二数据库运行过程中,通过所述合服工具按照预先设定的提取规则,逐条将所述第一数据库与所述第二数据库中的记录进行加锁、提取并写入所述第三数据库中;直至所述第一数据库与所述第二数据库中的记录全部写入所述第三数据库中;替换模块,用于当停服时,通过所述合服工具仅对所述第三数据库中满足替换规则的记录进行替换;其中,满足替换规则的记录为在设定时间周期内在所述第一数据库与所述第二数据库中有过修改的记录。
[0011]优选地,所述提取模块逐条将所述第一数据库与所述第二数据库中的记录进行的加锁、提取并写入所述第三数据库中时:当从所述第一数据库或所述第二数据库中读取记录时,对读取的当前记录加锁,以禁止修改当前记录;加锁完成后提取当前记录,提取完成后将当前记录进行解锁,在解锁的同时将提取的当前记录写入所述第三数据库中;并在当前记录写入所述第三数据库中后,再调用所述加锁子模块对下一条待读取的记录加锁。
[0012]优选地,所述第一数据库与所述第二数据库中均存储有多个网络游戏玩家的在线信息;所述提取模块通过所述合服工具按照预先设定的提取规则,逐条将所述第一数据库与所述第二数据库中的记录进行加锁、提取并写入所述第三数据库中时:当所述第一数据库与所述第二数据库中的网络游戏玩家在线信息指示在线的网络游戏玩家的数量小于设定阈值时,通过所述合服工具连续地、逐条将所述第一数据库与所述第二数据库中的记录进行加锁、提取并写入所述第三数据库中;和/或,当所述第一数据库与所述第二数据库中的网络游戏玩家在线信息指示在线的网络游戏玩家的数量大于或等于设定阈值时,按照设定的时间间隔逐条将所述第一数据库与所述第二数据库中的记录进行加锁、提取并写入所述第三数据库中。
[0013]优选地,所述合服装置还包括:标识生成模块,用于在所述替换模块通过所述合服工具仅对所述第三数据库中满足替换规则的记录进行替换之前,当修改所述第一数据库与所述第二数据库中的记录时,为修改过的每条记录生成对应的修改标识。
[0014]优选地,所述替换模块包括:搜索子模块,用于通过合服工具搜索所述第一数据库与所述第二数据库中在设定时间周期内生成的修改标识,获取与所述搜索到的修改标识对应的记录;原始记录替换子模块,用于搜索所述第三数据库中与获取的所述记录相对应的原始记录,使用从所述第一数据库和所述第二数据库中获取的所述记录替换所述第三数据库中对应的原始记录。
[0015]与现有技术相比,本发明具有以下优点:
[0016]本发明提供的合服方案,服务器在第一数据库与第二数据库运行的过程中,通过合服工具逐条将两个数据库中的记录全部写入第三数据库中;仅需要停服,对第三数据库中存储的在设定时间周期内有过修改的记录进行替换,从而保证第三数据库中的记录都是最新的,例如:可以将时间周期设定为一周。本发明提供的合服方案,由于合服过程中向第三数据库写入记录的操作是在线进行的,仅有对第三数据库中的部分数据进行替换是停服进行的,因此相比现有的合服方案整个合服操作都要停服进行,缩短了停服的时间;而缩短了停服的时间也就相当于缩短了游戏玩家不能进行游戏操作的时间,因而降低了对网络游戏的收益的影响,进而降低了网络游戏的运营成本。
【附图说明】
[0017]图1是根据本发明实施例一的一种合服的方法的步骤流程图;
[0018]图2是根据本发明实施例二的一种合服的方法的步骤流程图;
[0019]图3是根据本发明实施例三的一种合服的装置的结构框图。
【具体实施方式】
[0020]为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和【具体实施方式】对本发明作进一步详细的说明。
[0021]实施例一
[0022]参照图1,示出了根据本发明实施例一的一种合服的方法的步骤流程图。
[0023]本实施例的合服的方法步骤包括:
[0024]步骤S102:服务器通过合服工具连接第一数据库、第二数据库以及第三数据库。
[0025]其中,第一数据库、第二数据库以及第三数据库可以是同一台服务器上的三个数据库,也可以不是同一台服务器上三个数据库。当三个数据库不在同一台服务器上时,一般情况下,第二数据库与第三数据库在一台服务器上,第一数据库在另一台服务器上,当然第
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1