[发明专利]数据处理方法、数据访问方法、装置及计算机设备在审
申请号: | 202011008021.X | 申请日: | 2020-09-23 |
公开(公告)号: | CN112100293A | 公开(公告)日: | 2020-12-18 |
发明(设计)人: | 谢亚晋 | 申请(专利权)人: | 腾讯科技(深圳)有限公司 |
主分类号: | G06F16/28 | 分类号: | G06F16/28;G06F16/22 |
代理公司: | 广州华进联合专利商标代理有限公司 44224 | 代理人: | 唐彩琴 |
地址: | 518000 广东省深圳*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 数据处理 方法 数据 访问 装置 计算机 设备 | ||
一种数据处理方法、数据访问方法、装置及计算机设备,所述数据处理方法包括:读取键值存储系统中存储的各数据的访问次数;其中,键值存储系统的各哈希表中,采用有序链表存储数据,有序链表的各链表节点中数据访问热度依次降低;有序链表的各链表节点中分别存储一棵平衡树;各平衡树中基于数据的键值大小进行数据存储;当目标数据的访问次数不属于所在平衡树对应的访问热度区间时,查找目标数据的访问次数对应的目标访问热度区间;将目标数据迁移至目标访问热度区间对应的链表节点的平衡树。上述方法在访问数据时无需遍历所有数据,可提高数据的读写性能;且访问热度越高的数据访问时所需的查找时间越少。
技术领域
本申请涉及计算机技术领域,特别是涉及一种数据处理方法、装置、计算机设备和存储介质,以及一种数据访问方法、装置、计算机设备和存储介质。
背景技术
随着技术的发展,越来越多的数据需要被存储;在交互频繁的大型应用程序中(如大型游戏),数据的读写更是频繁,数据的读写效率和读写时延将会直接影响到用户体验,为了需要提高数据的读写性能,通常在数据库前段部署键值存储系统,抵挡峰值数据访问,保护数据库不崩溃,因此该类型的应用程序中键值存储系统,需要具备高性能和高可用性。
现有技术中的键值存储引擎通常采用哈希表作为底层数据结构:首先通过一种哈希算法根据数据的键值(key)计算出数据的哈希值hash(key),并定位哈希表的某个头指针Head(n)=hash(key)。根据头指针遍历相应的冲突链表的所有数据,通过键值比较,查找目标数据。如果目标数据不在冲突链中,则可在冲突链头部插入该数据。然而这样的键值存储方法中,访问哈希冲突链表尾端数据,需要遍历所有链表节点,数据冲突链表越长,需要的时间消耗越大,数据的读写性能越低。
发明内容
基于此,有必要针对上述技术问题,提供一种读写性能高的数据处理方法、数据访问方法、装置及计算机设备。
一种数据处理方法,所述方法包括:
读取键值存储系统中存储的各数据的访问次数;其中,所述键值存储系统的各哈希表中,采用有序链表存储数据,所述有序链表的各链表节点中数据访问热度依次降低;所述有序链表的各链表节点中分别存储一棵平衡树;各所述平衡树中基于数据的键值大小进行数据存储;
当目标数据的访问次数不属于所在平衡树对应的访问热度区间时,查找所述目标数据的访问次数对应的目标访问热度区间;
将所述目标数据迁移至所述目标访问热度区间对应的链表节点的平衡树。
在一个实施例中,基于所述访问耗时对于所述第一预设次数或第二预设次数进行调整,包括:当数据的访问耗时大于预设访问时间阈值时,调小第一预设次数或者第二预设次数。
在另一个实施例中,基于各数据的所述迁移次数对所述第一预设次数或第二预设次数进行调整,包括:若所述迁移次数大于预设迁移次数阈值,增大第一预设次数或者第二预设次数。
在一个实施例中,所述平衡树的左节点对应的键值小于父节点对应的键值,所述父节点对应的键值小于右节点对应的键值;所述依次遍历所述目标哈希表的各链表节点中的平衡树查找所述数据访问请求对应的键值,包括:
在所述目标哈希表的有序链表中选择当前链表节点,从根节点开始遍历所述当前链表节点的平衡树;在所述平衡树中:将所述数据访问请求的键值与根节点的键值进行比较,若数据访问请求的键值小于根节点的键值,则访问所述根节点的左节点;若数据访问请求的键值大于根节点的键值,则访问根节点的右节点;若在所述当前链表节点的平衡树中未查找到所述数据访问请求的键值,依次跳转至下一链表节点的平衡树进行查找。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于腾讯科技(深圳)有限公司,未经腾讯科技(深圳)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011008021.X/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种流线隧道压气机轮增压器
- 下一篇:流线隧道式涡轮发电机
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置