首页> 中国专利> 一种基于数据缓存技术读取数据的方法

一种基于数据缓存技术读取数据的方法

摘要

本发明公开一种基于数据缓存技术读取数据的方法,该方法采用内存缓存机制,将缓存区的用户对应的用户特征数据按照活跃度阈值分成不同的活跃等级,建立与每个活跃等级对应的链表并对链表的表头进行标记,且低活跃等级的链表表头指向相对高活跃等级链表的尾部,使多用户读取数据时通过标记表头的链表表头查找所要访问的用户特征数据,实现点对点的从内存中读取数据,降低从数据库加载数据时的消耗,提高数据加载速度,降低数据库负荷,提升用户体验;同时,利用空闲的内存降低输入/输出(IO)端口负荷,均衡了服务器硬件资源的使用。

著录项

  • 公开/公告号CN102663096A

    专利类型发明专利

  • 公开/公告日2012-09-12

    原文格式PDF

  • 申请/专利权人 北京像素软件科技股份有限公司;

    申请/专利号CN201210105548.3

  • 发明设计人 张昊阳;

    申请日2012-04-11

  • 分类号G06F17/30;H04L29/08;

  • 代理机构北京品源专利代理有限公司;

  • 代理人李虹青

  • 地址 100043 北京市石景山区八大处高科技园区西井路3号3号楼7170房间

  • 入库时间 2023-12-18 06:28:50

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2015-12-16

    授权

    授权

  • 2013-06-05

    实质审查的生效 IPC(主分类):G06F17/30 申请日:20120411

    实质审查的生效

  • 2012-09-12

    公开

    公开

说明书

技术领域

本发明涉及数据库缓存技术,尤其涉及一种基于数据缓存技术读取数据的 方法。

背景技术

在网络中,WEB应用程序采用内存对象缓存系统作为数据库(DB)的缓冲, 将数据加载到内存中,将较慢的数据库(DB)访问,变为较快的内存访问,以 提高性能。

网络游戏上线后,经常出现黄金时间玩家大量涌入服务器的情况,数据库 不堪重负,使玩家在登陆时长时间等待或者频繁掉线,影响用户体验。以大型 多人在线角色扮演游戏(Massive Multiplayer Online Role-Playing Game, MMORPG)为例进行说明,MMORPG分为客户端和服务器两部分。玩家从客 户端通过互联网连接,登陆服务器后才能进行游戏。玩家的资料保存在服务器 端。玩家登陆游戏后,可以创造属于自己的角色,拥有不同于别人的外形,属 性,拥有独特的道具,这些内容都依赖于属于每个角色独立的数据,游戏依赖 这些数据建立独一无二的角色信息。为了数据安全,通常角色数据都保存在数 据库中,当玩家登陆游戏时,系统从数据库中取得数据为玩家建立角色。现有 技术通常是不添加数据库读取缓冲,只有写入缓冲,直接读取数据库中的数据。 当角色数据量不大,同时请求人数不多时,数据库读取数据能够满足玩家的要 求。但随着游戏的发展,玩家所拥有的特性数据越来越多,在线人数也逐渐增 加,需要加载的数据就越来越庞大,当无法满足性能要求时,通常采用优化表 结构,升级硬件等方式进行应对。

公开号为CN 102081651A的“一种网络游戏数据库分表的方法”的中国专 利申请公开的方法包括:将网络虚拟游戏数据库设置为由取值范围限定的虚拟 圆,在所述虚拟圆上包括至少一个表,其中每个表中的虚拟节点在所述虚拟圆 上均匀分布;计算待分表数据的随机数,在所述数值范围内根据所述随机数据 所述待分表数据插入虚拟节点中。该方法在表数量变化的情况下,减少需要重 建的数据量,提高了读取数据的效率。在数据库数据量不断加入的情况下,所 述方法只是针对数据库表的一种优化措施。当玩家大量涌入服务器时,数据库 的读取效率还是不能满足玩家的需求,使玩家在登陆时长时间等待。

升级硬件方式虽然能够明显改善上述问题,但是高性能的硬件升级对客户 端带来较大的资源浪费及经济负担。

因此,需要一种在尽量不升级硬件的情况下,既能够保证服务器响应客户 端的速度又能够使在并发使用用户增多的情况下性能不降低的措施,来保证数 据库数据的读取效率。

发明内容

为了克服现有技术中的缺陷和不足,本发明提出一种将内存对象缓存系统 为数据库(DB)缓冲应用于网络游戏中,通过对数据缓存算法(cache algorithms) 进行设计,来提高数据库读取效率的方法。

本发明公开一种基于数据缓存技术读取数据的方法,包括如下步骤:

S1:在服务器内存中设置数据缓存区,所述数据缓存区用于临时存储从数 据库中读取的用户特征数据;所述用户特征数据由用户要求访问的数据库中的 特性数据组成;

S2:计算用户活跃度,按照预设的活跃度阈值将用户对应的用户特征数据 分成不同的活跃等级,建立与每个活跃等级对应的链表并对链表的表头进行标 记,且低活跃等级的链表表头指向相对高活跃等级链表的尾部;

S3:根据当前用户请求访问的用户特征数据,判断在数据缓存区中是否存 在所述用户特征数据,如存在,重新计算当前用户活跃度,从缓存区中读取与 当前用户对应的用户特征数据,否则,从数据库中读取。

所述步骤S2中根据用户的登录频率、切换服务器频率和用户特征等级计算 得到用户活跃度。

所述用户活跃度根据用户特征数据被访问的缓存命中率进行修改。

所述步骤S3进一步包括,如重新计算当前用户活跃度后,当前用户对应的 用户特征数据所属的活跃等级没有变化,则从所述用户特征数据所属的活跃等 级链表中读取用户特征数据,并将所述用户特征数据从其所属活跃等级链表中 原来的位置删除,插入到紧邻其所属活跃等级链表表头的位置;如重新计算当 前用户活跃度后,当前用户对应的用户特征数据所属的活跃等级发生变化,则 从找到所述用户特征数据的活跃等级链表中读取所述用户特征数据,并将所述 用户特征数据从被找到的活跃等级链表中原来的位置删除,插入到紧邻重新计 算后的所述用户特征数据所属的新活跃等级链表表头的位置。

数据缓存区中还设置有保护等级链表,所述保护等级链表用于存储从数据 库中初次被读取的用户特征数据,当保护等级链表中用户特征数据被再次读取 时,被读取的用户特征数据脱离保护等级链表,插入到用户特征数据所属的活 跃等级链表中。

所述活跃度等级表长度固定,当所述活跃等级链表长度未达到上限时,新 读入的用户特征数据插入到紧邻其对应的活跃度等级链表表头位置;当所述活 跃等级链表长度达到上限时,新读入的用户特征数据插入到紧邻其对应的活跃 度等级表头位置,处于整个队列尾部的用户特征数据被从缓存中删除。

所述保护等级链表长度固定,当所述保护等级链表长度达到上限时,新读 入的用户特征数据插入到紧邻保护等级链表表头的位置,处于保护等级链表尾 部的用户特征数据被移出保护等级链表,插入到其所属的活跃等级链表的尾部。

所述活跃度等级链表表长度固定,当所述活跃等级链表长度达到上限时, 从保护等级链表尾部移出的用户特征数据替换掉处于整个链表队列尾部的用户 特征数据。

所述用户特征数据为用户在网络游戏中扮演的角色的外形、属性和拥有的 道具特征对应的数据。

实施本发明的技术方案,采用内存缓存机制,将缓存区用户对应的用户特 征数据按照活跃度阈值分成不同的活跃等级,建立与每个活跃等级对应的链表 并对链表的表头进行标记,且低活跃等级的链表表头指向相对高活跃等级链表 的尾部,使用户访问数据库时实现点对点的从内存中读取数据,降低从数据库 加载数据时的消耗,提高数据加载速度,降低数据库负荷,提升用户体验;同 时,利用空闲的内存来降低输入/输出(IO)端口负荷,均衡了服务器硬件资源的 使用。

附图说明

图1为本发明实施例的基于数据缓存技术读取数据的方法流程图;

图2为本发明实施例的实现数据库数据缓存的示意图;

图3为本发明实施例的步骤S3中读取数据的具体流程图;

图4为本发明具体实施例的按照活跃度阈值将用户特征数据分成不同活跃 等级的示意图;

图5为本发明具体实施例的访问活跃等级链表中用户特征数据等级不变情 况下的算法示意图;

图6为本发明具体实施例的访问活跃等级链表中用户特征数据等级变化情 况下的算法示意图;

图7为本发明实施例的访问保护等级链表中用户特征数据等级变化情况下 的算法示意图;

图8为本发明另一实施例的访问保护等级链表中用户特征数据等级变化情 况下的算法示意图;

图9为本发明实施例的访问保护等级链表中用户特征数据等级不变情况下 的算法示意图;

图10为本发明另一实施例的访问保护等级链表中用户特征数据等级不变情 况下的算法示意图。

具体实施方式

为详细说明本发明的技术内容、所实现目的及效果,以下结合实施方式并 配合附图予以详细说明。

图1为本发明实施例的基于数据缓存技术读取数据的方法流程图。具体方 法包括如下步骤:

S1:在服务器内存中设置数据缓存区,所述数据缓存区用于临时存储从数 据库中读取的用户特征数据;所述用户特征数据由用户要求访问的数据库中的 特性数据组成。

在大型多人在线角色扮演游戏(MMORPG)中,玩家可以创造属于自己的角 色,拥有不同于别人的外形,属性,拥有独特的道具,所述内容都依赖于属于 每个角色独立的数据,通常角色数据都保存在数据库中,当玩家登陆游戏时, 系统根据玩家需要访问的数据库的数据内容从数据库中取得所需数据形成与角 色对应的用户特征数据,服务器记录所述用户特征数据对应的玩家行为信息, 如玩家登陆游戏的次数、切换服务器/场景频率等信息。

用户特征数据的加载通常发生在登陆游戏,切换服务器/场景时,对于那些 经常登陆游戏,频繁切换服务器的角色在数据缓存区中被访问的较频繁,角色 数据被缓存的效率是最高的,而那些很少登陆游戏或者切换服务器的角色在数 据缓存区中被很少访问,所述角色数据被缓存的效率很低。

本发明实施例的技术方案是将内存缓存机制应用于大型多人在线角色扮演 游戏中,通过对缓存算法(cache algorithms)进行设计,提高缓存区的缓存效率。 所述的内存缓存机制是在服务器内存中设置数据缓存区,通过在内存里维护一 个统一的巨大的哈希(hash)表,将数据加载到内存中,将较慢的数据库(DB) 访问,变为较快的内存访问,提高性能。图2为本发明实施例的实现数据库数 据缓存的示意图,所述数据缓存区包括读取缓存和写入缓存,所述读取缓存用 于临时存储从数据库读取到内存的数据,所述写入缓存用于临时存储从内存写 入到数据库的数据。其中,对数据库端的读取,通常只在登陆游戏,切换服务 器/场景时发生,次数相对较少,是可预测可控的,因此,读取缓存采用一级缓 存;而数据的修改频率根据玩家行为不同存在很大差异,次数难以确定,因此, 写入缓存采用二级缓存,以提高频繁修改数据时的效率,写入的第一层缓存保 证了对数据库缓存的访问频率可控。

S2:计算用户活跃度,按照预设的活跃度阈值将用户对应的用户特征数据 分成不同的活跃等级,建立与每个活跃等级对应的链表并对链表表头进行标记, 且低活跃等级的链表表头指向相对高活跃等级链表的尾部。

在大型多人在线角色扮演游戏中,与玩家行为信息对应的被访问的用户特 征数据是有很强规律的。根据用户的登录频率,切换服务器频率及用户特征等 级综合计算得出用户活跃度。当用户登录游戏的频率越高,切换服务器/场景的 频率越高,用户特征等级越高,则用户的活跃度越高,与用户对应的用户特征 数据被访问的频率越高,按照预设的活跃度阈值将用户对应的用户特征数据分 成不同的活跃等级,同一活跃等级的用户特征数据放在队列的一段,活跃等级 越低,越靠近队列的尾部,按照活跃等级的顺序建立与每个活跃等级对应的链 表并对链表的表头进行标记,且低活跃等级的链表表头的尾指针指向相对高活 跃等级链表的尾部。

用户特征等级高的用户切换服务器/场景的预期较等级较低的用户高,再次 上线的可能性也较高。根据用户的行为信息统计数据缓存区中用户特征数据被 访问时的命中率,在误差允许的范围内,按照统计的命中率不断修改数据缓存 区中用户活跃度,调整用户对应的用户特征数据所属的活跃等级。对于缓存命 中率按照下述方法进行统计修改:

按照预定的用户活跃度阈值将用户对应的用户特征数据分成不同的活跃等 级,设用户特征等级为1-60级的用户特征数据属于初级活跃等级,标记为活跃 等级1;用户特征等级为60-80级的用户特征数据属于中级活跃等级,标记为活 跃等级2;用户特征等级为80-90级的用户特征数据属于高级活跃等级,标记为 活跃等级3。

设定每日登陆超过n次或切换服务器超过m次,用户特征数据等级加1,但 是不累加,默认为n=3,m=5,由此可以得到用户特征数据活跃等级最高为3+7(每 周重置一次);其中,n和m能够根据缓存命中率以及使用率进行调整。

S3:根据当前用户请求访问的用户特征数据,判断在数据缓存区中是否存 在所述用户特征数据,如存在,重新计算当前用户活跃的,从缓存区中读取与 当前用户对应的用户特征数据,否则,从数据库中读取。

图3为本发明实施例的步骤S3中读取数据的具体流程图。流程如下:根据 用户请求访问的用户特征数据,判断在数据缓存区中是否存在所述用户特征数 据,如存在,重新计算当前用户活跃度,根据活跃度阈值判断用户对应的用户 特征数据所属的活跃等级是否发生变化。如重新计算当前用户活跃度后,当前 用户对应的用户特征数据所属的活跃等级没有变化,则从所述用户特征数据所 属的活跃等级链表中读取用户特征数据,并将所述用户特征数据从其所属活跃 等级链表中原来的位置删除,插入到紧邻其所属活跃等级链表表头的位置;如 重新计算当前用户活跃度后,当前用户对应的用户特征数据所属的活跃等级发 生变化,则从找到所述用户特征数据的活跃等级链表中读取所述用户特征数据, 并将所述用户特征数据从被找到的活跃等级链表中原来的位置删除,插入到紧 邻重新计算后的所述用户特征数据所属的新活跃等级链表表头的位置。

如在数据缓存区中不存在所述用户特征数据,则从数据库中读取所述用户 特征数据块。

图4为本发明具体实施例的按照活跃度阈值将用户对应的用户特征数据分 成不同活跃等级的示意图。如图4所示,数据缓存区中存有7个从数据库中读 取的用户特征数据,计算与7个用户特征数据对应的用户的活跃度,按照预设 的活跃度阈值将用户对应的用户特征数据分成不同的活跃等级,用户特征数据 P1、P2、P3属于活跃等级1,P4、P5、P6属于活跃等级2,P7属于最高活跃等 级,按照用户特征数据的活跃等级顺序建立与所述活跃等级对应的链表并对链 表表头进行标记,且低活跃等级的链表表头的尾指针指向相对高活跃等级的链 表结构的尾部。A1head表示与活跃等级1对应的链表的表头,A2head表示与活 跃等级2对应的链表的表头,head表示与最高活跃等级对应的链表的表头,所 述低活跃等级的链表表头A1head的尾指针指向活跃等级表头为A2head的链 表的尾部,活跃等级A2head的尾指针指向最高活跃等级表头为head的链表的 尾部。

按照步骤S3的算法,数据缓存区中存在当前用户要求访问的用户特征数据, 重新计算当前用户活跃度,根据活跃度阈值判断用户对应的用户特征数据所属 的活跃等级是否发生变化。如重新计算当前用户活跃度后,当前用户对应的用 户特征数据所属的活跃等级没有变化,则从所述用户特征数据所属的活跃等级 链表中读取用户特征数据,并将所述用户特征数据从其所属活跃等级链表中原 来的位置删除,插入到紧邻其所属活跃等级链表表头的位置。参见图5为本发 明具体实施例的访问活跃等级链表中用户特征数据等级不变情况下的算法示意 图。如用户请求访问的用户特征数据为P1,数据缓存区中存在用户特征数据P1, 计算用户活跃度,得到用户对应的用户特征数据P1所属的活跃等级没有变化, 在数据缓存区中找到表头为A1head的链表与所述用户特征数据P1所属的活跃 等级相同,CPU从表头为A1head的链表结构中读取P1,并且将P1从链表中 原来的位置删除,插入到紧邻表头为A1head的链表表头的位置,用户特征数 据P1的尾指针指向表头A1head,用户特征数据P3、P2依次向链表队列尾部移 一位,此种情况下,影响当前活跃等级链表中用户特征数据的顺序。

如重新计算当前用户活跃度后,当前用户对应的用户特征数据所属的活跃 等级发生变化,则从找到所述用户特征数据的活跃等级链表中读取所述用户特 征数据,并将所述用户特征数据从被找到的活跃等级链表中原来的位置删除, 插入到紧邻重新计算后的所述用户特征数据所属的新活跃等级链表表头的位 置。图6为本发明具体实施例的访问活跃等级链表中用户特征数据等级变化情 况下的算法示意图。如图6所示,如用户请求访问的用户特征数据为P1,数据 缓存区中存在用户特征数据P1,计算用户活跃度,得到用户对应的用户特征数 据P1所属的活跃等级发生变化,在数据缓存区中找到表头为A2head的链表与 所述用户特征数据P1所属的活跃等级相同,但用户特征数据P1不在表头为A2 head的活跃等级链表中,而在低活跃等级表头为A1head的链表中,CPU从表 头为A1head的链表中读取P1,并且将P1从表头为A1head的链表中删除,插 入到表头为A2head的紧邻链表表头的位置,用户特征数据P1的尾指针指向表 头A2head,用户特征数据P6、P5、P4、P3、P2依次向链表队列尾部移一位。

数据缓存区的大小能够根据读取数据的情况进行设置,第一次登陆的用户 活跃度最低,与用户对应的用户特征数据属于低活跃等级,处于活跃等级链表 队列的尾部,按照上述算法,当数据库缓存区达到存取数据上限时,位于活跃 等级链表队列尾部的第一次被访问的用户特征数据会被不停删除,使第一次被 访问用户特征数据的用户没有积累活跃度的机会。因此,在数据缓存区中还设 置有保护等级链表,所述保护等级链表用于存储从数据库中初次读取的用户特 征数据(在数据缓存区中不存在被访问的用户特征数据,需要从数据库中去读 的情况下,被读取的用户特征数据均被认为是初次读取),当用户特征数据的活 跃等级提高时,用户特征数据离开保护等级链表,本实施例中设置为用户特征 数据被再次读取时,即可离开保护等级链表。也就是说当用户请求访问保护等 级链表中的用户特征数据时(即保护等级链表中存储的用户特征数据被再次读 取),被访问的用户特征数据脱离保护等级链表,插入到用户特征数据所属的活 跃等级链表中。所述活跃度等级表长度固定,当所述活跃等级链表长度未达到 上限时,新读入的用户特征数据插入到紧邻其对应的活跃度等级链表表头位置; 当所述活跃等级链表长度达到上限时,新读入的用户特征数据插入到紧邻其对 应的活跃度等级表头位置,处于整个队列尾部的用户特征数据被从缓存中删除。

保护等级链表具有最高优先权,链表中用户特征数据最后被替换。保护等 级链表长度固定,当所述保护等级链表长度达到上限时,新读入的用户特征数 据插入到紧邻保护等级链表表头的位置,处于保护等级链表尾部的用户特征数 据被移出保护等级链表,插入到其所属的活跃等级链表中的尾部。当所述活跃 等级链表长度达到上限时,从保护等级链表尾部移出的用户特征数据替换掉处 于整个链表队列尾部的用户特征数据。

当用户申请访问的用户特征数据为存在于保护等级链表中的用户特征数据 时,计算用户活跃度,判断保护等级链表中用户特征数据所属的活跃等级是否 发生变化。本实施例设置当保护等级链表中数据被再次读取时即可脱离保护等 级链表,该用户特征数据从保护等级链表中被删除,插入到紧邻其所属活跃等 级链表表头的位置,用户特征数据的尾指针指向其所属活跃等级的链表的表头。 图7为本发明实施例的访问保护等级链表中用户特征数据等级变化情况下的算 法示意图。参见图7,用户特征数据P1′、P2′、P3′、P4′和P5′为初次从 数据库中读取的用户特征数据,存储于表头为head′的保护等级链表中;用户 特征数据P1、P2、P3、P4、P5、P6、P7为按照活跃度阈值将用户对应的用户特 征数据分成不同的活跃等级后建立的链表并对链表表头进行标记,其中,用户 特征数据P1、P2、P3属于低活跃等级表头为A1head链表,用户特征数据P4、 P5、P6属于中活跃等级表头为A2head链表,用户特征数据P7为活跃等级链表 表头为head的链表,低活跃等级的链表表头A1head的尾指针指向活跃等级表 头为A2head的链表的尾部,活跃等级A2head的尾指针指向最高活跃等级表 头为head的链表的尾部。如用户请求访问的用户特征数据为P5′,且P5′存 在于数据缓存区的保护等级链表中,CPU读取P5′,此时P5′为第二次被读取, 将P5′从保护等级链表中删除(P5′脱离保护等级链表),插入到紧邻表头为 A1head链表表头的位置,P5′的尾指针指向链表表头A1head,用户特征数据 P1、P2、P3依次向链表队列尾部移一位。图8为本发明另一实施例的访问保护 等级链表中用户特征数据等级变化情况下的算法示意图。当所述链表队列长度 达到上限的情况下,将P5′从保护等级链表中删除(P5′脱离保护等级链表), 插入到紧邻表头为A1head链表表头的位置,P5′的尾指针指向链表表头A1 head,处于链表队列尾部的P1从活跃等级链表中被删除。

当用户申请访问用户特征数据不在数据缓存区中时,CPU从原始数据库中读 取用户特征数据,将所述用户特征数据存储到保护等级链表中。如保护等级链 表长度未达到上限,所述用户特征数据保存到保护等级链表中且将该用户特征 数据插入到紧邻保护等级链表表头的位置,用户特征数据的尾指针指向保护等 级链表的表头;如保护等级链表长度达到上限,所述用户特征数据插入到紧邻 保护等级链表表头的位置,用户特征数据的尾指针指向保护等级链表的表头, 处于保护等级链表队列尾部的用户特征数据被移出保护等级链表,插入到其所 属活跃等级的链表队列的尾部。当所述活跃等级链表长度达到上限时,从保护 等级链表尾部移出的用户特征数据替换掉处于整个链表队列尾部的用户特征数 据。

图9为本发明实施例的访问保护等级链表中用户特征数据等级不变情况下 的算法示意图。参见图9,用户特征数据P1′、P2′、P3′、P4′和P5′为初 次从数据库中读取的用户特征数据,存储于表头为head′的保护等级链表中; 用户特征数据P1、P2、P3、P4、P5、P6、P7为按照活跃度阈值将用户对应的用 户特征数据分成不同的活跃等级后建立的链表并对链表表头进行标记,其中, 用户特征数据P1、P2、P3属于低活跃等级表头为A1head链表,用户特征数据 P4、P5、P6属于中活跃等级表头为A2head链表,用户特征数据P7为活跃等级 链表表头为head的链表,低活跃等级的链表表头A1head的尾指针指向活跃等 级表头为A2head的链表的尾部,活跃等级A2head的尾指针指向最高活跃等 级表头为head的链表的尾部。如用户请求访问的用户特征数据为P6′,但P6 ′不存在于数据缓存区的保护等级链表中,P6′为初次被读取的用户特征数据, CPU从原始数据库中读取用户特征数据P6′,将P6′插入到保护等级链表紧邻 链表表头Head′的位置,P6′的尾指针指向保护等级链表表头Head′,如保护等级 链表长度未达到上限,P6′插入到保护等级链表紧邻链表表头Head′的位置后, 用户特征数据P1′、P2′、P3′、P4′和P5′依次向队列尾部移一位。如保护 等级链表长度达到上限,P6′插入到保护等级链表紧邻链表表头Head′的位置后, 保护等级链表中用户对应的用户特征数据P1′的活跃度最低,P1′被移出保护 等级链表,所述被移出保护等级链表的P1′插入到活跃等级链表队列的的尾部。 图10为本发明另一实施例的访问保护等级链表中用户特征数据等级不变情况下 的算法示意图。当活跃等级链表长度达到上限,则P1′从保护等级链表尾部移 出,替换掉活跃等级链表尾部活跃度最低的用户对应的用户特征数据P1,P1从 缓存区中被删除。

本发明的实施方式使数据被访问时无需遍历缓存区整个数据链表以寻找自 己新的位置,只需记录少量的活跃等级对应的链表表头的位置进行定位,大大 节约了时间开销,提高数据加载速度,降低数据库负荷;在玩家切换服务器/场 景时,缓存100%命中(将缓存容量设置为服务器最高在线,就可保证在线玩家均 被缓存)效率提升明显,误差也控制在可接受的范围内,提升用户体验;同时, 负责读取数据的服务器负荷主要集中在CPU和输入/输出(IO)端口方面,有效的 利用了空闲的内存来降低输入/输出(IO)端口负荷,均衡了服务器硬件资源的使 用。

上述仅为本发明的较佳实施例及所运用技术原理,任何熟悉本技术领域的 技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在 本发明的保护范围内。

去获取专利,查看全文>

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号