[发明专利]一种数据处理方法及装置有效
申请号: | 201811198259.6 | 申请日: | 2018-10-15 |
公开(公告)号: | CN109460406B | 公开(公告)日: | 2021-03-23 |
发明(设计)人: | 李翰;黄斐一;李琳;邹易展 | 申请(专利权)人: | 咪咕文化科技有限公司;中国移动通信集团有限公司 |
主分类号: | G06F16/22 | 分类号: | G06F16/22 |
代理公司: | 北京派特恩知识产权代理有限公司 11270 | 代理人: | 张荣;张颖玲 |
地址: | 100032 北京市西城区德*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 数据处理 方法 装置 | ||
1.一种数据处理方法,所述方法包括:
接收针对键-值数据的存储请求;
基于所述存储请求,提取所述键-值数据中的键值和数据值;
将所述键值的哈希值和所述数据值分别以数据块的形式进行存储,且单个键值块与单个数据值块的存储长度相同,且所述哈希值的长度小于等于所述键值块和/或所述数据值块可存储数据的长度;其中,所述单个键值块用于存储所述哈希值;所述单个数据值块用于存储所述数据值;
基于所述键值块中的块头索引值,查找与所述键值块对应的数据值块,其中所述块头索引值用于存储所述数据值块的块链索引值;和/或,基于所述数据值块中关联的块的索引值,查找与所述数据值块对应的前驱块或后继块的块索引值。
2.根据权利要求1所述的方法,所述方法还包括:
当所述数据值的存储长度大于单个数据块的存储长度时,将所述数据值以多个数据块的形式进行存储;其中,用于存储所述数据值的所述多个数据块之间通过块的索引值进行关联。
3.根据权利要求1所述的方法,所述方法还包括:
每个键值块的索引关联以形成一颗平衡二叉树结构;
当插入新的键-值数据时,所述平衡二叉树结构中左节点的哈希值小于等于根节点的哈希值和右节点的哈希值,且所述根节点的哈希值小于等于所述右节点的哈希值,以保持所述平衡二叉树结构的有序性;任意一个根的左子树和右子树的高度差值小于等于2,以保持所述平衡二叉树结构的平衡性。
4.根据权利要求1所述的方法,所述方法还包括:
在存储所述键-值数据的块链表中检测空块状态;
当所述空块状态表征所述块链表中无空块时,将所述键值的数据和所述数据值的数据分别以数据块的形式存储于所述块链表的预设存储位置;
或者,当所述空块状态表征所述块链表中有空块时,将所述键值的数据和所述数据值的数据分别以数据块的形式存储于所述空块所在位置。
5.根据权利要求1所述的方法,所述方法还包括:
接收针对键-值数据的修改请求;
基于所述修改请求,确定待修改的键值块的块索引值;
基于所述块索引值对应的目标键值块中的块头索引,确定与所述目标键值块对应的目标数据值块;
修改所述目标数据值块中的数据值数据。
6.根据权利要求5所述的方法,所述方法还包括:
将所述目标数据值块对应的数据存储长度与待修改的数据值的数据存储长度进行比较;
当比较结果表征所述目标数据值块对应的数据值存储长度小于所述待修改的数据值的存储长度时,在以所述目标数据值块为块头的块链后面增加新的数据值块;
当比较结果表征所述目标数据值块对应的数据值存储长度大于所述待修改的数据值的存储长度时,释放所述目标数据值块对应的数据值所占的块空间。
7.根据权利要求1所述的方法,所述方法还包括:
接收针对键-值数据的删除请求;
基于所述删除请求,确定待删除的键值块所对应的块索引值;
基于所述块索引值对应的目标键值块中块头索引值,确定与所述目标键值块对应的目标数据值块;
删除所述目标数据值块中存储的数据值以及所述目标键值块中存储的键值,以释放所述键值和对应的数据值所占用的块空间。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于咪咕文化科技有限公司;中国移动通信集团有限公司,未经咪咕文化科技有限公司;中国移动通信集团有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811198259.6/1.html,转载请声明来源钻瓜专利网。