[发明专利]基于Linux的key-value形数据存储和使用方法有效

专利信息
申请号: 202310121877.5 申请日: 2023-02-16
公开(公告)号: CN115827573B 公开(公告)日: 2023-06-02
发明(设计)人: 纪笑旭;翟康宁;张超;史晶;郭俊余;魏立峰;张鹏飞;张子豪;何文飞;白俊杰;程启 申请(专利权)人: 麒麟软件有限公司
主分类号: G06F16/16 分类号: G06F16/16;G06F16/172
代理公司: 北京汇智英财专利代理有限公司 11301 代理人: 杨国栋
地址: 300450 天津市滨海新区*** 国省代码: 天津;12
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 基于 linux key value 形数 存储 使用方法
【权利要求书】:

1.基于Linux的key-value形数据存储和使用方法,其特征在于,包括如下步骤:

步骤S1:基于key-value形数据源文件构建双数组trie树,并基于双数组trie树构建.dat数据文件;

步骤S2:获取key-value形数据源文件的md5值;

步骤S3:使用mmap机制将.dat数据文件映射到内存上并返回映射后的内存地址addr;

步骤S4:使用映射后的内存地址addr获取到.dat数据文件中的md5值,并与步骤S2中的md5值进行比对,相同的话执行步骤S5至步骤S7;不同的话,跳转到步骤S1,重新构建.dat数据文件,并重新执行步骤S2至步骤S4;

步骤S5:使用映射后的内存地址addr得到存储的value数据的首地址elements_addr以及双数组trie树的数据首地址trie_addr;

步骤S6:基于value数据的首地址elements_addr以及双数组trie树的数据首地址trie_addr完成由key数据到value数据的查找使用流程,完成key-value形数据的存储和使用;

步骤S7:取消.dat数据文件的mmap挂载;

所述步骤S1中,基于key-value形数据源文件构建双数组trie树,并基于双数组trie树构建.dat数据文件的方法如下:

步骤S11:将存储key-value形数据的源文件所在路径传入计算机程序中;

步骤S12:对传入的key-value形数据源文件内容进行解析处理,将全部key-value形数据提取出来存入计算机内存中;

步骤S13:将存入计算机内存的key-value形数据根据key值的ASCII码大小进行比较排序;

步骤S14:将排好序的key-value形数据进行拆分,从第一组key-value形数据开始,拆分为key-offset-value形数据,其中offset为当前组数之前全部key-value形数据中value数据的字节数之和加上当前组数减一最终计算的结果,用数学公式表示为:

offset=(V1+V2+...+Vn-1)+(n-1),n>1

其中n为整数,指的是当前的key-value形数据是第n组,V1、V2、Vn-1表示第1组、第2组、第n-1组key-value形数据中value数据的字节数量,第一组key-value形数据的offset为0;

步骤S15:依次处理完计算机内存中全部的key-value形数据,得到按照顺序依次排列的key-offset-value形数据;

步骤S16:按照顺序将key-offset-value形数据中的key数据取出用来构造有向无环词图DAWG;

步骤S17:使用构造完成的有向无环词图DAWG和key-offset-value形数据中的offset数据按照顺序构造双数组trie树;

步骤S18:基于所构造的双数组trie树生成存储在计算机硬盘中的.dat数据文件。

2.如权利要求1所述的基于Linux的key-value形数据存储和使用方法,其特征在于,

所述步骤S5中,value数据的首地址elements_addr的获取方法如下:

步骤S51:根据.dat数据文件的构造顺序从.dat数据文件中获取到key-value形数据总数elements_num、全部value数据字节数与value数据个数之和elements_size以及双数组trie树占用的字节数量trie_size;

步骤S52:使用内存地址addr加上步骤S51中得到的三项字节数之和的偏移量,得到存储的value数据的首地址elements_addr;

双数组trie树的数据首地址trie_addr的获取方法如下:将value数据的首地址elements_addr加上全部value数据字节数与value数据个数之和elements_size得到双数组trie树的数据首地址trie_addr。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于麒麟软件有限公司,未经麒麟软件有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/202310121877.5/1.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top