首页 / 专利库 / 资料储存系统 / 大容量存储 / 一种数据管理方法和系统

一种数据管理方法和系统

阅读:138发布:2024-02-08

专利汇可以提供一种数据管理方法和系统专利检索,专利查询,专利分析的服务。并且本 发明 实施例 公开了一种数据管理方法和系统,以解决无法对客户端平台的离线用户数据进行管理的问题。所述方法包括提前加载满足存储条件的离线用户数据至固定容量的内存池中;在 服务器 应用运行过程中接收在线用户对离线用户数据的管理 申请 ;验证在线用户和管理申请是否均具有管理权限;当在线用户和管理申请均具有管理权限时,查询内存池中是否存在与管理申请对应的离线用户数据;当存在时,发送与管理申请对应的离线用户数据至在线用户终端,并保留与管理申请对应的离线用户数据在内存池中。提前加载高频 访问 的离线用户数据,对低频访问的离线用户数据在存储后进行释放,高频访问的离线用户数据保留在内存池中,减少了 数据库 端的存储压 力 。,下面是一种数据管理方法和系统专利的具体信息内容。

1.一种数据管理方法,其特征在于,包括:
服务器应用启动时,提前加载满足存储条件的离线用户数据至已创建的固定容量的内存池中;
在服务器应用运行过程中,接收在线用户对离线用户数据的管理申请,所述管理申请与离线用户数据具有映射关系;
验证所述在线用户和所述管理申请是否均具有对离线用户数据进行管理的权限;
当所述在线用户和所述管理申请均具有对离线用户数据进行管理的权限时,查询所述内存池中是否存在与所述管理申请对应的离线用户数据;
当所述内存池中存在与所述管理申请对应的离线用户数据时,发送与所述管理申请对应的离线用户数据至在线用户终端,并保留与所述管理申请对应的离线用户数据在所述内存池中。
2.根据权利要求1所述的方法,其特征在于,所述查询所述内存池中是否存在与所述管理申请对应的离线用户数据之后,所述方法还包括:
当所述内存池中不存在与所述管理申请对应的离线用户数据时,从数据库中读取出与所述管理申请对应的离线用户数据,并存储到所述内存池中。
3.根据权利要求1所述的方法,其特征在于,所述验证所述在线用户和所述管理申请是否均具有对离线用户数据进行管理的权限,包括:
判断所述在线用户是否属于具有管理与所述管理申请对应的离线用户数据的权限的用户;
当所述在线用户属于具有管理与所述管理申请对应的离线用户数据的权限的用户时,判断所述管理申请是否符合与所述管理申请对应的离线用户数据的管理条件,所述管理条件包括离线用户数据中的各项数据是否允许被读取、修改和删除;
当所述在线用户属于具有管理与所述管理申请对应的离线用户数据的权限的用户,且所述管理申请符合与所述管理申请对应的离线用户数据的管理条件时,确定所述在线用户和所述管理申请均具有对离线用户数据进行管理的权限;
当所述在线用户不属于具有管理与所述管理申请对应的离线用户数据的权限的用户时,确定所述在线用户不具有对离线用户数据进行管理的权限;当所述管理申请不符合与所述管理申请对应的离线用户数据的管理条件时,确定所述管理申请均不具有对离线用户数据进行管理的权限。
4.根据权利要求1所述的方法,其特征在于:
所述存储条件为离线用户数据的访问频率大于等于预定阈值
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
依次查询所述内存池中的离线用户数据;
如果所述内存池中的离线用户数据在第一预置时间段内未被访问,将在所述第一预置时间段内未被访问的离线用户数据存储至数据库中,并在所述内存池中删除;
如果所述内存池中的离线用户数据在第二预置时间段内被访问过,保留在所述第二预置时间段内被访问过的离线用户数据至所述内存池中。
6.一种数据管理系统,其特征在于,包括:
加载模,用于在服务器应用启动时,提前加载满足存储条件的离线用户数据至已创建的固定容量的内存池中;
接收模块,用于在服务器应用运行过程中,接收在线用户对离线用户数据的管理申请,所述管理申请与离线用户数据具有映射关系;
验证模块,用于验证所述在线用户和所述管理申请是否均具有对离线用户数据进行管理的权限;
查询模块,用于当所述在线用户和所述管理申请均具有对离线用户数据进行管理的权限时,查询所述内存池中是否存在与所述管理申请对应的离线用户数据;
发送保留模块,用于当所述内存池中存在与所述管理申请对应的离线用户数据时,发送与所述管理申请对应的离线用户数据至在线用户终端,并保留与所述管理申请对应的离线用户数据在所述内存池中。
7.根据权利要求6所述的系统,其特征在于,所述系统还包括:
读取存储模块,用于在所述查询模块查询所述内存池中是否存在与所述管理申请对应的离线用户数据之后,当所述内存池中不存在与所述管理申请对应的离线用户数据时,从数据库中读取出与所述管理申请对应的离线用户数据,并存储到所述内存池中。
8.根据权利要求6所述的系统,其特征在于,所述验证模块,包括:
在线用户判断子模块,用于判断所述在线用户是否属于具有管理与所述管理申请对应的离线用户数据的权限的用户;
管理申请判断子模块,用于当所述在线用户属于具有管理与所述管理申请对应的离线用户数据的权限的用户时,判断所述管理申请是否符合与所述管理申请对应的离线用户数据的管理条件,所述管理条件包括离线用户数据中的各项数据是否允许被读取、修改和删除;
定子模块,用于当所述在线用户属于具有管理与所述管理申请对应的离线用户数据的权限的用户,且所述管理申请符合与所述管理申请对应的离线用户数据的管理条件时,确定所述在线用户和所述管理申请均具有对离线用户数据进行管理的权限;当所述在线用户不属于具有管理与所述管理申请对应的离线用户数据的权限的用户时,确定所述在线用户不具有对离线用户数据进行管理的权限;当所述管理申请不符合与所述管理申请对应的离线用户数据的管理条件时,确定所述管理申请均不具有对离线用户数据进行管理的权限。
9.根据权利要求6所述的系统,其特征在于:
所述存储条件为离线用户数据的访问频率大于等于预定阈值。
10.根据权利要求6所述的系统,其特征在于,所述系统还包括:
查询管理模块,用于依次查询所述内存池中的离线用户数据;如果所述内存池中的离线用户数据在第一预置时间段内未被访问,将在所述第一预置时间段内未被访问的离线用户数据存储至数据库中,并在所述内存池中删除;如果所述内存池中的离线用户数据在第二预置时间段内被访问过,保留在所述第二预置时间段内被访问过的离线用户数据至所述内存池中。

说明书全文

一种数据管理方法和系统

技术领域

[0001] 本发明实施例涉及计算机技术领域,特别是涉及一种数据管理方法和系统。

背景技术

[0002] 存储在数据库中的数据,可以包括在线用户数据和离线用户数据。在线用户为与服务器处于连接状态的用户,离线用户为与服务器处于断开状态的用户。
[0003] 当用户在线时,在线用户的数据会被服务器从数据库中暂时调取出来,并暂存在运行中的服务器中。由服务器对在线用户数据进行实时修改,并在特定时间回写到数据库中。
[0004] 当用户离线时,离线用户的数据会从运行中的服务器中被移除。此时运行中的服务器将无法获取离线用户的任何信息。
[0005] 在线用户管理存储在数据库中的离线用户数据的方法为:在线用户直连数据库,在数据库中对离线用户数据进行读取、修改、删除等操作后保存离线用户数据在数据库中。
[0006] 以游戏为例,目前主要有客户端平台游戏和网页平台游戏两种,在网页平台游戏中,在线用户可以通过上述方法管理离线用户数据,但是由于客户端平台游戏的用户数据交互性更强,用户的数据量更大,存储在数据库中的离线用户数据也更大,从数据库中访问离线用户数据需要很高性能的服务器和数据库,传输大容量的离线用户数据还需要更高的网络带宽;而且客户端平台的离线用户数据的数据信息、属性更加丰富,不同的离线用户数据之间还可能存在各种关联关系,所以对客户端平台游戏的离线用户的数据管理复杂性更高,目前还不存在针对客户端平台游戏的离线用户数据管理方法。

发明内容

[0007] 本发明实施例公开一种数据管理方法和系统,以解决无法对客户端平台的离线用户数据进行管理的问题。
[0008] 为了解决上述问题,本发明实施例公开了一种数据管理方法,包括:
[0009] 在服务器应用启动时,提前加载满足存储条件的离线用户数据至已创建的固定容量的内存池中;
[0010] 在服务器应用运行过程中,接收在线用户对离线用户数据的管理申请,所述管理申请与离线用户数据具有映射关系;
[0011] 验证所述在线用户和所述管理申请是否均具有对离线用户数据进行管理的权限;
[0012] 当所述在线用户和所述管理申请均具有对离线用户数据进行管理的权限时,查询所述内存池中是否存在与所述管理申请对应的离线用户数据;
[0013] 当所述内存池中存在与所述管理申请对应的离线用户数据时,发送与所述管理申请对应的离线用户数据至在线用户终端,并保留与所述管理申请对应的离线用户数据在所述内存池中。
[0014] 优选的,所述查询所述内存池中是否存在与所述管理申请对应的离线用户数据之后,所述方法还包括:
[0015] 当所述内存池中不存在与所述管理申请对应的离线用户数据时,从数据库中读取出与所述管理申请对应的离线用户数据,并存储到所述内存池中。
[0016] 优选的,所述验证所述在线用户和所述管理申请是否均具有对离线用户数据进行管理的权限,包括:
[0017] 判断所述在线用户是否属于具有管理与所述管理申请对应的离线用户数据的权限的用户;
[0018] 当所述在线用户属于具有管理与所述管理申请对应的离线用户数据的权限的用户时,判断所述管理申请是否符合与所述管理申请对应的离线用户数据的管理条件,所述管理条件包括离线用户数据中的各项数据是否允许被读取、修改和删除;
[0019] 当所述在线用户属于具有管理与所述管理申请对应的离线用户数据的权限的用户,且所述管理申请符合与所述管理申请对应的离线用户数据的管理条件时,确定所述在线用户和所述管理申请均具有对离线用户数据进行管理的权限;
[0020] 当所述在线用户不属于具有管理与所述管理申请对应的离线用户数据的权限的用户时,确定所述在线用户不具有对离线用户数据进行管理的权限;当所述管理申请不符合与所述管理申请对应的离线用户数据的管理条件时,确定所述管理申请均不具有对离线用户数据进行管理的权限。
[0021] 优选的:所述存储条件为离线用户数据的访问频率大于等于预定阈值
[0022] 优选的,所述方法还包括:
[0023] 依次查询所述内存池中的离线用户数据;
[0024] 如果所述内存池中的离线用户数据在第一预置时间段内未被访问,将在所述第一预置时间段内未被访问的离线用户数据存储至数据库中,并在所述内存池中删除;
[0025] 如果所述内存池中的离线用户数据在第二预置时间段内被访问过,保留在所述第二预置时间段内被访问过的离线用户数据至所述内存池中。
[0026] 本发明实施例还公开了一种数据管理系统,包括:
[0027] 加载模,用于在服务器应用启动时,提前加载满足存储条件的离线用户数据至已创建的固定容量的内存池中;
[0028] 接收模块,用于在服务器应用运行过程中,接收在线用户对离线用户数据的管理申请,所述管理申请与离线用户数据具有映射关系;
[0029] 验证模块,用于验证所述在线用户和所述管理申请是否均具有对离线用户数据进行管理的权限;
[0030] 查询模块,用于当所述在线用户和所述管理申请均具有对离线用户数据进行管理的权限时,查询所述内存池中是否存在与所述管理申请对应的离线用户数据;
[0031] 发送保留模块,用于当所述内存池中存在与所述管理申请对应的离线用户数据时,发送与所述管理申请对应的离线用户数据至在线用户终端,并保留与所述管理申请对应的离线用户数据在所述内存池中。
[0032] 优选的,所述系统还包括:
[0033] 读取存储模块,用于在所述查询模块查询所述内存池中是否存在与所述管理申请对应的离线用户数据之后,当所述内存池中不存在与所述管理申请对应的离线用户数据时,从数据库中读取出与所述管理申请对应的离线用户数据,并存储到所述内存池中。
[0034] 优选的,所述验证模块,包括:
[0035] 在线用户判断子模块,用于判断所述在线用户是否属于具有管理与所述管理申请对应的离线用户数据的权限的用户;
[0036] 管理申请判断子模块,用于当所述在线用户属于具有管理与所述管理申请对应的离线用户数据的权限的用户时,判断所述管理申请是否符合与所述管理申请对应的离线用户数据的管理条件,所述管理条件包括离线用户数据中的各项数据是否允许被读取、修改和删除;
[0037] 确定子模块,用于当所述在线用户属于具有管理与所述管理申请对应的离线用户数据的权限的用户,且所述管理申请符合与所述管理申请对应的离线用户数据的管理条件时,确定所述在线用户和所述管理申请均具有对离线用户数据进行管理的权限;当所述在线用户不属于具有管理与所述管理申请对应的离线用户数据的权限的用户时,确定所述在线用户不具有对离线用户数据进行管理的权限;当所述管理申请不符合与所述管理申请对应的离线用户数据的管理条件时,确定所述管理申请均不具有对离线用户数据进行管理的权限。
[0038] 优选的:所述存储条件为离线用户数据的访问频率大于等于预定阈值。
[0039] 优选的,所述系统还包括:
[0040] 查询管理模块,用于依次查询所述内存池中的离线用户数据;如果所述内存池中的离线用户数据在第一预置时间段内未被访问,将在所述第一预置时间段内未被访问的离线用户数据存储至数据库中,并在所述内存池中删除;如果所述内存池中的离线用户数据在第二预置时间段内被访问过,保留在所述第二预置时间段内被访问过的离线用户数据至所述内存池中。
[0041] 与背景技术相比,本发明实施例包括以下优点:
[0042] 本发明实施例公开的一种数据管理方法和系统,在客户端平台的服务器中创建固定容量的内存池,在服务器应用每次启动时,提前加载高频访问的离线用户数据至内存池中。在服务器应用运行过程中,当接收到在线用户对离线用户数据的管理申请时,在内存池中查询是否存在欲管理的离线用户数据,如果存在,将欲管理的离线用户数据(高频访问的离线用户数据)发送至在线用户终端,并保留欲管理的离线用户数据(高频访问的离线用户数据)在内存池中;如果不存在,从数据库中读取出欲管理的离线用户数据(低频访问的离线用户数据),加载到内存池中,再从内存池中发送欲管理的离线用户数据(低频访问的离线用户数据)至在线用户终端,将管理后的离线用户数据(低频访问的离线用户数据)存储到数据库中,并在内存池中删除该离线用户数据。提前将高频访问的离线用户数据加载和缓存在内存池中,对内存池中低频访问的离线用户数据在存储至数据库后从内存池中释放,高频访问的离线用户数据保留在内存池中,只将低频访问的离线用户数据保存到数据库中,减少了数据库端的存储压
[0043] 而且,使用固定容量的内存池加载和缓存离线用户数据,内存池的容量固定,对其中的离线用户数据进行清除和将离线用户数据加载和缓存到内存池中,产生的内存碎片较少。如果利用动态容量的内存池加载和缓存离线用户数据,加载和缓存的离线用户数据越多,内存池的容量会越大,相对较大容量的内存池就会产生较多的内存碎片。
[0044] 使用固定容量的内存池加载和缓存离线用户数据,服务器端剩余内存的容量也固定,不会因为加载和缓存离线用户数据的内存池越来越大,造成服务器端剩余内存减小的情况,保证了服务器端用于应用运行的内存容量。
[0045] 因为产生的内存碎片较少,降低了服务器的运行险(内存碎片越多,服务器异常宕机风险越高)。
[0046] 同时,动态调节内存池中的离线用户数据,当高频访问离线用户数据变为低频访问离线用户数据时,可以及时对这些离线用户数据进行清理,提高了内存池的使用率。
[0047] 进一步地,由于内存池中缓存离线用户数据,当服务器与数据库的连接断开时,离线用户数据可以安全存放在内存池中,当连接重新建立后,离线用户数据可以继续存入数据库中,降低了离线用户数据丢失的风险。附图说明
[0048] 图1是本发明实施例中一种数据管理方法流程图
[0049] 图2是本发明实施例中一种数据管理方法示意图;
[0050] 图3是本发明实施例中一种离线玩家数据清理示意图;
[0051] 图4是本发明实施例中客户端游戏和网页游戏结合的整体结构图;
[0052] 图5是本发明实施例中一种数据管理系统结构图;
[0053] 图6是本发明实施例中客户端游戏中管理离线用户数据的结构示意图。

具体实施方式

[0054] 为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
[0055] 实施例一
[0056] 详细介绍本发明实施例公开的一种数据管理方法。
[0057] 参照图1,示出了本发明实施例中一种数据管理方法流程图。
[0058] 步骤100,在服务器应用启动时,提前加载满足存储条件的离线用户数据至已创建的固定容量的内存池中。
[0059] 所述服务器可以指用于运行应用的服务器。
[0060] 所述存储条件可以为离线用户数据的访问频率大于等于预定阈值。
[0061] 例如:某离线用户数据在一个月(按30天计算)的时间内,被访问的次数为60次,则该离线用户数据的访问频率为2次/天。如果预定阈值为1次/天,那么该离线用户数据满足存储条件。
[0062] 所述固定容量的内存池可以为服务器内存的一部分,所述内存池用于存储离线用户数据,所述内存池可以不用于参与服务器的应用运行。
[0063] 步骤102,在服务器应用运行过程中,接收在线用户对离线用户数据的管理申请。
[0064] 所述管理申请与离线用户数据具有映射关系。
[0065] 例如,某在线用户提出离线用户数据的管理申请,所述管理申请可以对某离线用户数据进行访问、修改或者删除等。
[0066] 步骤104,验证所述在线用户和所述管理申请是否均具有对离线用户数据进行管理的权限。
[0067] 所述步骤104可以包括两步验证操作,一步是验证在线用户是否具有对某离线用户数据的管理权限,该离线用户数据即管理申请对应的离线用户数据;另一步是验证管理申请是否满足其对应的离线用户数据的管理条件。
[0068] 优选的,所述步骤104可以包括:
[0069] 子步骤1041,判断所述在线用户是否属于具有管理与所述管理申请对应的离线用户数据的权限的用户。
[0070] 例如,具有管理离线用户数据D1的权限的在线用户包括A、B和C,如果在线用户A提出对离线用户数据D1的管理申请,则在线用户A属于具有管理离线用户数据D1的权限的在线用户;如果在线用户D提出对离线用户数据D1的管理申请,则在线用户D不属于具有管理离线用户数据D1的权限的在线用户。
[0071] 子步骤1042,当所述在线用户属于具有管理与所述管理申请对应的离线用户数据的权限的用户时,判断所述管理申请是否符合与所述管理申请对应的离线用户数据的管理条件。
[0072] 所述管理条件可以包括离线用户数据中的各项数据是否允许被读取、修改和删除。
[0073] 例如,离线用户数据D1的管理条件是允许被读取、不允许被修改和删除。当在线用户A属于具有管理离线用户数据D1的权限的在线用户时,如果在线用户A提出的管理申请是修改离线用户数据D1,则在线用户A提出的管理申请不符合离线用户数据D1的管理条件;如果在线用户A提出的管理申请是读取离线用户数据D1,则在线用户A提出的管理申请符合离线用户数据D1的管理条件。
[0074] 当所述在线用户属于具有管理与所述管理申请对应的离线用户数据的权限的用户,且所述管理申请符合与所述管理申请对应的离线用户数据的管理条件时,确定所述在线用户和所述管理申请均具有对离线用户数据进行管理的权限。
[0075] 当所述在线用户不属于具有管理与所述管理申请对应的离线用户数据的权限的用户时,确定所述在线用户不具有对离线用户数据进行管理的权限;当所述管理申请不符合与所述管理申请对应的离线用户数据的管理条件时,确定所述管理申请均不具有对离线用户数据进行管理的权限。
[0076] 步骤106,当所述在线用户和所述管理申请均具有对离线用户数据进行管理的权限时,查询所述内存池中是否存在与所述管理申请对应的离线用户数据。
[0077] 例如,当在线用户A和在线用户A提出的管理申请均具有对离线用户数据D1的管理权限时,查询离线用户数据D1是否存在于内存池中。并且在线用户A提出的管理申请是对离线用户数据D1进行管理。
[0078] 步骤108,当所述内存池中不存在与所述管理申请对应的离线用户数据时,从数据库中读取出与所述管理申请对应的离线用户数据,并存储到所述内存池中。
[0079] 在所述步骤108之后,可以将存储到内存池中的离线用户数据发送至在线用户终端进行管理操作。并且可以在管理操作结束后,将管理后的离线用户数据保存到数据库中,并从内存池中删除。还可以在管理操作结束后,将管理后的离线用户数据保存到数据库中,并在内存池中保留。
[0080] 步骤110,当所述内存池中存在与所述管理申请对应的离线用户数据时,发送与所述管理申请对应的离线用户数据至在线用户终端,并保留与所述管理申请对应的离线用户数据在所述内存池中。
[0081] 所述步骤110中的重要执行操作可以理解为:
[0082] 在对离线用户数据进行管理后,将管理后的离线用户数据保留在内存池中,可以方便之后的在线用户对该离线用户数据进行管理操作。
[0083] 步骤112,对所述内存池中的离线用户数据进行清理操作。
[0084] 由于内存池的容量固定,不可能无限制地存储离线用户数据,所以需要定期或者持续对内存池中的离线用户数据进行清理。
[0085] 清理的目的是将高频访问的离线用户数据保留在内存池中,将低频访问的离线用户数据存储回数据库中,并在内存池中删除,以便可以留出足够的内存池空间加载并缓存其他的离线用户数据。
[0086] 优选的,所述步骤112可以包括:
[0087] 依次查询所述内存池中的离线用户数据。如果所述内存池中的离线用户数据在第一预置时间段内未被访问,将在所述第一预置时间段内未被访问的离线用户数据存储至数据库中,并在所述内存池中删除;如果所述内存池中的离线用户数据在第二预置时间段内被访问过,保留在所述第二预置时间段内被访问过的离线用户数据至所述内存池中。
[0088] 例如,内存池中包括3个离线用户数据,分别为D1、D2和D3。如果D1在2天内未被访问,则将D1存储到数据库中,并将D1从内存池中删除;如果D2和D3在1天内被访问过,则保留D2和D3在内存池中。
[0089] 所述第一预置时间段和第二预置时间段可以根据实际情况设定。
[0090] 需要说明的是,所述步骤112可以在所述步骤100之后的任何时刻执行,可以定期执行一次或多次,也可以持续执行。
[0091] 下面,主要以游戏为例,介绍游戏运行时的数据管理方法。
[0092] 参照图2,示出了本发明实施例中一种数据管理方法示意图。
[0093] 步骤200,接收玩家对离线玩家数据的管理申请。
[0094] 步骤202,离线玩家数据管理器查询内存池中是否存在与管理申请对应的离线玩家数据。
[0095] 其中,离线玩家数据管理器可以用于管理内存池,以及控制访问已放入内存池的离线玩家数据。
[0096] 如果内存池中存在与管理申请对应的离线玩家数据,执行步骤204。
[0097] 步骤204,将与管理申请对应的离线玩家数据反馈给玩家。
[0098] 如果内存池中不存在与管理申请对应的离线玩家数据,执行步骤206。
[0099] 步骤206,从数据库中读取出与管理申请对应的离线玩家数据。
[0100] 步骤208,将与管理申请对应的离线玩家数据存储到内存池中,并反馈给玩家。
[0101] 而且,上述离线玩家数据管理器还可以对内存池中的离线玩家数据进行清理,参照图3,示出了本发明实施例中一种离线玩家数据清理示意图。
[0102] 步骤300,离线玩家数据管理器对内存池中的离线玩家数据进行轮询。
[0103] 如果内存池中的某离线玩家数据在一个时间段内未被访问,执行步骤302。上述一个时间段可以根据实际情况进行设定,例如为一个星期或者一个月等。
[0104] 步骤302,将一个时间段内未被访问的该离线玩家数据存储到数据库中,并从内存池中删除。
[0105] 如果内存池中的某离线玩家数据在一个时间段内被访问过,执行步骤304。上述一个时间段可以根据实际情况进行设定,例如为一天或者一个小时等。
[0106] 步骤304,保留一个时间段内被访问过的该离线玩家数据在内存池中。
[0107] 需要说明的是,上述两个时间段可以相同也可以不同,可以根据实际情况进行设定。
[0108] 下面,主要以游戏为例,介绍一种数据管理方法。
[0109] 首先介绍一下应用本发明实施例所述的数据管理方法进行数据管理的整体结构。
[0110] 客户端游戏是指官方搭建服务器,用户下载安装文件安装客户端后通过互联网连接到服务器后进行多人交互的网络游戏。网页游戏(WEB游戏)是指通过浏览器打开网页就可以进行,只需要少量点击即可以完成的游戏。
[0111] 持续时间化网络游戏(简称“持续时间游戏”)是指玩家需要花费较长时间持续体验的网络游戏,例如大部分的客户端游戏。碎片时间化网络游戏(简称“碎片时间游戏”)是指玩家可以利用少量时间即可以得到丰富体验的网络游戏,例如社区类网页游戏。
[0112] 本发明实施例中,可以将客户端游戏的时间持续化和网页游戏的时间碎片化结合起来,让玩家可以充分利用这些碎片时间,在持续时间化网络游戏的碎片时间中得到碎片时间化网络游戏的游戏体验。
[0113] 其中,将客户端游戏称为持续时间游戏,对应的服务器称为持续时间服务器,对应的客户端称为持续时间客户端,游戏中的数据称为持续时间数据;将网页游戏称为碎片时间游戏,对应的客户端称为碎片时间客户端,游戏中的数据称为碎片时间数据。
[0114] 首先可以在持续时间游戏中开发一个碎片时间游戏,所述碎片时间游戏可以采用网页游戏的开发方式进行开发(因此,本发明实施例可以将所开发的碎片时间游戏认为是网页游戏,实质上其并非真正的网页游戏)。这两类游戏可以使用同一套数据进行不同的游戏体验,碎片时间游戏可以是不同于持续时间游戏的一种新的场景。例如,如果玩家在持续时间游戏中的场景为A,色为a,角色数据为b,则该玩家在碎片时间游戏中的场景可以为B,角色也为a,角色数据同样为b,从而可以通过这两类游戏同步进行角色的养成。
[0115] 具体的,如图4所示,为本发明实施例中客户端游戏和网页游戏结合的整体结构图。
[0116] 从图4中可以看出,持续时间游戏和碎片时间游戏结合之后,即可以在持续时间游戏的过程中进行碎片时间游戏。可以在原有的持续时间服务器和持续时间客户端的基础上,开发一个碎片时间客户端,并且可以在原有的持续时间服务器上开发一个碎片时间数据处理模块,用于处理碎片时间游戏中的碎片时间数据。
[0117] 其中,持续时间客户端和碎片时间客户端可以通过同一个客户端软件实现,当用户在下载客户端软件之后,可以同时具有持续时间客户端和碎片时间客户端。碎片时间客户端可以为一些插件,这些插件可以临时存放,例如,如果玩家在加载之后可以将其删除,当然,也可以进行保存,本发明实施例对此并不加以限制。
[0118] 可以开发一个用于承载所述碎片时间客户端的子进程。当玩家在进行持续时间游戏的过程中,在持续时间客户端内可以以某种方式触发该承载子进程启动,通过该子进程可以展现碎片时间客户端;然后碎片时间客户端即可以持续时间客户端为中介(进程间通信的方式),与持续时间服务器进行数据交互,通过持续时间服务器中的碎片时间数据处理模块对碎片时间客户端的碎片时间数据进行处理。
[0119] 上述图4中的持续时间服务器中可以包括持续时间数据处理模块和碎片时间数据处理模块。本发明实施例中所提到的客户端游戏可以为上述的持续时间游戏,网页游戏可以为上述的碎片时间游戏;网页游戏的客户端(即网页客户端)可以为上述碎片时间客户端,客户端游戏的客户端可以为上述持续时间客户端;网页游戏的服务器(即网页服务器)可以为上述碎片时间数据处理模块,客户端游戏的服务器可以为上述持续时间数据处理模块,中枢服务器为上述的持续时间服务器;客户端数据可以为持续时间游戏中的数据,网页数据可以为碎片时间游戏中的数据,共用数据可以为运行游戏的角色数据(账户数据)。
[0120] 综上所述,本发明实施例公开的一种数据管理方法,具有以下优点:
[0121] 在客户端平台的服务器中创建固定容量的内存池,在服务器应用每次启动时,提前加载高频访问的离线用户数据至内存池中。在服务器应用运行过程中,当接收到在线用户对离线用户数据的管理申请时,在内存池中查询是否存在欲管理的离线用户数据,如果存在,将欲管理的离线用户数据(高频访问的离线用户数据)发送至在线用户终端,并保留欲管理的离线用户数据(高频访问的离线用户数据)在内存池中;如果不存在,从数据库中读取出欲管理的离线用户数据(低频访问的离线用户数据),加载到内存池中,再从内存池中发送欲管理的离线用户数据(低频访问的离线用户数据)至在线用户终端,将管理后的离线用户数据(低频访问的离线用户数据)存储到数据库中,并在内存池中删除该离线用户数据。提前将高频访问的离线用户数据加载和缓存在内存池中,对内存池中低频访问的离线用户数据在存储至数据库后从内存池中释放,高频访问的离线用户数据保留在内存池中,只将低频访问的离线用户数据保存到数据库中,减少了数据库端的存储压力。
[0122] 而且,使用固定容量的内存池加载和缓存离线用户数据,内存池的容量固定,对其中的离线用户数据进行清除和将离线用户数据加载和缓存到内存池中,产生的内存碎片较少。如果利用动态容量的内存池加载和缓存离线用户数据,加载和缓存的离线用户数据越多,内存池的容量会越大,相对较大容量的内存池就会产生较多的内存碎片。
[0123] 使用固定容量的内存池加载和缓存离线用户数据,服务器端剩余内存的容量也固定,不会因为加载和缓存离线用户数据的内存池越来越大,造成服务器端剩余内存减小的情况,保证了服务器端用于应用运行的内存容量。
[0124] 因为产生的内存碎片较少,降低了服务器的运行风险(内存碎片越多,服务器异常宕机风险越高)。
[0125] 同时,动态调节内存池中的离线用户数据,当高频访问离线用户数据变为低频访问离线用户数据时,可以及时对这些离线用户数据进行清理,提高了内存池的使用率。
[0126] 进一步地,由于内存池中缓存离线用户数据,当服务器与数据库的连接断开时,离线用户数据可以安全存放在内存池中,当连接重新建立后,离线用户数据可以继续存入数据库中,降低了离线用户数据丢失的风险。
[0127] 实施例二
[0128] 详细介绍本发明实施例公开的一种数据管理系统。
[0129] 参照图5,示出了本发明实施例中一种数据管理系统结构图。
[0130] 所述一种数据管理系统,可以包括:
[0131] 加载模块200,接收模块202,验证模块204,查询模块206,读取存储模块208,发送保留模块210,以及,查询管理模块212。
[0132] 其中,所述验证模块204,可以包括:
[0133] 在线用户判断子模块2041,管理申请判断子模块2042,以及,确定子模块2043。
[0134] 下面分别详细介绍各模块、各子模块的功能以及各模块、各子模块之间的关系。
[0135] 加载模块200,用于在服务器应用启动时,提前加载满足存储条件的离线用户数据至已创建的固定容量的内存池中。
[0136] 所述存储条件为离线用户数据的访问频率大于等于预定阈值。
[0137] 接收模块202,用于在服务器应用运行过程中,接收在线用户对离线用户数据的管理申请。
[0138] 所述管理申请与离线用户数据具有映射关系。
[0139] 验证模块204,用于验证所述在线用户和所述管理申请是否均具有对离线用户数据进行管理的权限。
[0140] 优选的,所述验证模块204,可以包括:
[0141] 在线用户判断子模块2041,用于判断所述在线用户是否属于具有管理与所述管理申请对应的离线用户数据的权限的用户。
[0142] 管理申请判断子模块2042,用于当所述在线用户属于具有管理与所述管理申请对应的离线用户数据的权限的用户时,判断所述管理申请是否符合与所述管理申请对应的离线用户数据的管理条件。
[0143] 所述管理条件包括离线用户数据中的各项数据是否允许被读取、修改和删除。
[0144] 确定子模块2043,用于当所述在线用户属于具有管理与所述管理申请对应的离线用户数据的权限的用户,且所述管理申请符合与所述管理申请对应的离线用户数据的管理条件时,确定所述在线用户和所述管理申请均具有对离线用户数据进行管理的权限;当所述在线用户不属于具有管理与所述管理申请对应的离线用户数据的权限的用户时,确定所述在线用户不具有对离线用户数据进行管理的权限;当所述管理申请不符合与所述管理申请对应的离线用户数据的管理条件时,确定所述管理申请均不具有对离线用户数据进行管理的权限。
[0145] 查询模块206,用于当所述在线用户和所述管理申请均具有对离线用户数据进行管理的权限时,查询所述内存池中是否存在与所述管理申请对应的离线用户数据。
[0146] 读取存储模块208,用于在所述查询模块206查询所述内存池中是否存在与所述管理申请对应的离线用户数据之后,当所述内存池中不存在与所述管理申请对应的离线用户数据时,从数据库中读取出与所述管理申请对应的离线用户数据,并存储到所述内存池中。
[0147] 发送保留模块210,用于当所述内存池中存在与所述管理申请对应的离线用户数据时,发送与所述管理申请对应的离线用户数据至在线用户终端,并保留与所述管理申请对应的离线用户数据在所述内存池中。
[0148] 查询管理模块212,用于依次查询所述内存池中的离线用户数据;如果所述内存池中的离线用户数据在第一预置时间段内未被访问,将在所述第一预置时间段内未被访问的离线用户数据存储至数据库中,并在所述内存池中删除;如果所述内存池中的离线用户数据在第二预置时间段内被访问过,保留在所述第二预置时间段内被访问过的离线用户数据至所述内存池中。
[0149] 下面,主要以游戏为例,介绍游戏运行时的数据管理系统。
[0150] 首先介绍一下应用本发明实施例所述的数据管理系统进行数据管理的整体结构。
[0151] 客户端游戏是指官方搭建服务器,用户下载安装文件安装客户端后通过互联网连接到服务器后进行多人交互的网络游戏。
[0152] 持续时间化网络游戏(简称“持续时间游戏”)是指玩家需要花费较长时间持续体验的网络游戏,例如大部分的客户端游戏。
[0153] 其中,将客户端游戏称为持续时间游戏,对应的服务器称为持续时间服务器,对应的客户端称为持续时间客户端,游戏中的数据称为持续时间数据。
[0154] 具体的,如图6所示,为本发明实施例中客户端游戏中管理离线用户数据的结构示意图。
[0155] 从图6中可以看出,持续时间服务器中可以包括碎片时间数据处理模块。本发明实施例中所提到的客户端游戏可以为上述的持续时间游戏,客户端游戏的客户端可以为上述持续时间客户端;客户端游戏的服务器可以为上述的持续时间服务器。其中,碎片时间数据处理模块可以为上述加载模块200、查询模块206、读取存储模块208、发送保留模块210和查询管理模块212的结合体。
[0156] 综上所述,本发明实施例公开的一种数据管理系统,具有以下优点:
[0157] 在客户端平台的服务器中创建固定容量的内存池,在服务器应用每次启动时,提前加载高频访问的离线用户数据至内存池中。在服务器应用运行过程中,当接收到在线用户对离线用户数据的管理申请时,在内存池中查询是否存在欲管理的离线用户数据,如果存在,将欲管理的离线用户数据(高频访问的离线用户数据)发送至在线用户终端,并保留欲管理的离线用户数据(高频访问的离线用户数据)在内存池中;如果不存在,从数据库中读取出欲管理的离线用户数据(低频访问的离线用户数据),加载到内存池中,再从内存池中发送欲管理的离线用户数据(低频访问的离线用户数据)至在线用户终端,将管理后的离线用户数据(低频访问的离线用户数据)存储到数据库中,并在内存池中删除该离线用户数据。提前将高频访问的离线用户数据加载和缓存在内存池中,对内存池中低频访问的离线用户数据在存储至数据库后从内存池中释放,高频访问的离线用户数据保留在内存池中,只将低频访问的离线用户数据保存到数据库中,减少了数据库端的存储压力。
[0158] 而且,使用固定容量的内存池加载和缓存离线用户数据,内存池的容量固定,对其中的离线用户数据进行清除和将离线用户数据加载和缓存到内存池中,产生的内存碎片较少。如果利用动态容量的内存池加载和缓存离线用户数据,加载和缓存的离线用户数据越多,内存池的容量会越大,相对较大容量的内存池就会产生较多的内存碎片。
[0159] 使用固定容量的内存池加载和缓存离线用户数据,服务器端剩余内存的容量也固定,不会因为加载和缓存离线用户数据的内存池越来越大,造成服务器端剩余内存减小的情况,保证了服务器端用于应用运行的内存容量。
[0160] 因为产生的内存碎片较少,降低了服务器的运行风险(内存碎片越多,服务器异常宕机风险越高)。
[0161] 同时,动态调节内存池中的离线用户数据,当高频访问离线用户数据变为低频访问离线用户数据时,可以及时对这些离线用户数据进行清理,提高了内存池的使用率。
[0162] 进一步地,由于内存池中缓存离线用户数据,当服务器与数据库的连接断开时,离线用户数据可以安全存放在内存池中,当连接重新建立后,离线用户数据可以继续存入数据库中,降低了离线用户数据丢失的风险。
[0163] 对于系统实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
[0164] 本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
[0165] 以上对本发明实施例所公开的一种数据管理方法和系统,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈