【技术实现步骤摘要】
数据处理方法、数据访问方法、装置及计算机设备
本申请涉及计算机
,特别是涉及一种数据处理方法、装置、计算机设备和存储介质,以及一种数据访问方法、装置、计算机设备和存储介质。
技术介绍
随着技术的发展,越来越多的数据需要被存储;在交互频繁的大型应用程序中(如大型游戏),数据的读写更是频繁,数据的读写效率和读写时延将会直接影响到用户体验,为了需要提高数据的读写性能,通常在数据库前段部署键值存储系统,抵挡峰值数据访问,保护数据库不崩溃,因此该类型的应用程序中键值存储系统,需要具备高性能和高可用性。现有技术中的键值存储引擎通常采用哈希表作为底层数据结构:首先通过一种哈希算法根据数据的键值(key)计算出数据的哈希值hash(key),并定位哈希表的某个头指针Head(n)=hash(key)。根据头指针遍历相应的冲突链表的所有数据,通过键值比较,查找目标数据。如果目标数据不在冲突链中,则可在冲突链头部插入该数据。然而这样的键值存储方法中,访问哈希冲突链表尾端数据,需要遍历所有链表节点,数据冲突链表越长,需要的时 ...
【技术保护点】
1.一种数据处理方法,其特征在于,所述方法包括:/n读取键值存储系统中存储的各数据的访问次数;其中,所述键值存储系统的各哈希表中,采用有序链表存储数据,所述有序链表的各链表节点中数据访问热度依次降低;所述有序链表的各链表节点中分别存储一棵平衡树;各所述平衡树基于数据的键值大小进行数据存储;/n当目标数据的访问次数不属于所在平衡树对应的访问热度区间时,查找所述目标数据的访问次数对应的目标访问热度区间;/n将所述目标数据迁移至所述目标访问热度区间对应的链表节点的平衡树。/n
【技术特征摘要】
1.一种数据处理方法,其特征在于,所述方法包括:
读取键值存储系统中存储的各数据的访问次数;其中,所述键值存储系统的各哈希表中,采用有序链表存储数据,所述有序链表的各链表节点中数据访问热度依次降低;所述有序链表的各链表节点中分别存储一棵平衡树;各所述平衡树基于数据的键值大小进行数据存储;
当目标数据的访问次数不属于所在平衡树对应的访问热度区间时,查找所述目标数据的访问次数对应的目标访问热度区间;
将所述目标数据迁移至所述目标访问热度区间对应的链表节点的平衡树。
2.根据权利要求1所述的数据处理方法,其特征在于,当满足数据迁移检测条件时,进入所述读取键值存储系统中存储的各数据的访问次数的步骤。
3.根据权利要求2所述的数据处理方法,其特征在于,对所述键值存储系统中的所有数据的访问次数达到第一预设次数时,或者,在预设时间段内对所述键值存储系统中同一数据的访问次数达到第二预设次数,判定满足数据迁移检测条件。
4.根据权利要求3所述的数据处理方法,其特征在于,还包括以下至少一项:
第一项,
获取所述键值存储系统中各数据的访问耗时;
基于所述访问耗时对于所述第一预设次数或第二预设次数进行调整;
第二项,
统计所述键值存储系统中各数据进行数据迁移的迁移次数;
基于各数据的所述迁移次数对所述第一预设次数或第二预设次数进行调整。
5.根据权利要求1所述的数据处理方法,其特征在于,还包括:
获取待存储数据,根据所述待存储数据的键值进行哈希运算得到对应的哈希值;
根据所述哈希值定位至键值存储系统中的哈希表头指针;
基于所述待存储数据的键值,将所述待存储数据存储至所述哈希表头指针所对应的哈希表中的目标平衡树;所述目标平衡树对应的数据访问热度最低。
6.根据权利要求1所述的数据处理方法,其特征在于,还包括:
接收数据访问请求,根据所述数据访问请求的键值确定对应的哈希值;
根据所述哈希值在所述键值存储系统中查找对应的目标哈希表;
依次遍历所述目标哈希表的各链表节点中的平衡树查找所述数据访问请求对应的键值,当在平衡树中查找到所述数据访问请求对应的键值时,读取所在节点中存储的数据。
7.根据权利要求6所...
【专利技术属性】
技术研发人员:谢亚晋,
申请(专利权)人:腾讯科技深圳有限公司,
类型:发明
国别省市:广东;44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。