一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

应用于数据库存储的文件数据存储读取方法及装置与流程

2022-04-27 13:05:20 来源:中国专利 TAG:

技术特征:
1.应用于数据库存储的文件数据存储读取方法,其特征在于,包括文件数据存储,所述文件数据存储包括:将key-value数据写到文件的数据区,记录在数据区的偏移和大小s[offset size];计算key-value数据中key的哈希值hash(key),更新位图bitmap中哈希值hash(key)对应的第hashid位的bit值;所述hashid,key,s[offset size]作为key-value数据写入时的哈希索引记录,并将所述哈希索引记录写入在文件中。2.根据权利要求1所述的应用于数据库存储的文件数据存储读取方法,其特征在于,所述将所述哈希索引记录记录在文件中包括:将哈希索引记录按hashid排序,将所有hashid的偏移和大小以定长的方式写入文件的hash区,记录hash区的偏移和大小h[offset size];将哈希索引记录的bitmap进行序列化,作为bitmap区写入文件,记录bitmap区的偏移和大小b[offset size];将所述数据区的偏移和大小s[offset size]、hash区的偏移和大小h[offset size]、bitmap区的偏移和大小b[offset size]存储作为文件的注脚区。3.根据权利要求2所述的应用于数据库存储的文件数据存储读取方法,其特征在于,在将哈希索引记录按hashid排序之前还包括:根据所述哈希索引记录,将相同hashid的key和与所述key对应的在数据区中的偏移和大小s[offset size]打包成一个冲突区块,依次写入文件的冲突区;保存所述相同hashid的key的冲突区块在冲突区的偏移和大小c[offset size],回写所述c[offset size],作为相同hashid的key的唯一关联偏移和大小。4.根据权利要求2所述的应用于数据库存储的文件数据存储读取方法,其特征在于,所述将key-value数据写到文件的数据区的过程中,计算得到key-value数据的校验码,将校验码存储至文件的校验区,并记录各个key的校验码在校验区中的偏移和大小j[offset size];将所述校验区中的偏移和大小j[offset size]保存至文件的注脚区。5.根据权利要求4所述的应用于数据库存储的文件数据存储读取方法,其特征在于,包括文件数据读取,所述文件数据读取包括文件打开,所述文件打开过程包括:读取所述文件的注脚区中的数据区的偏移和大小s[offset size]、校验区中的偏移和大小j[offset size]、hash区的偏移和大小h[offset size]以及bitmap区的偏移和大小b[offset size];根据所述bitmap区的偏移和大小b[offset size],将bitmap区的数据进行反序列化,存放至内存;根据所述hash区的偏移和大小h[offset size],将所有的hashid,对应的offset size,加载至内存。6.根据权利要求5所述的应用于数据库存储的文件数据存储读取方法,其特征在于,所述文件数据读取包括数据读取过程,所述数据读取过程包括:根据查询key进行哈希计算得到查询key的hash(key),进一步得到查询key的hashid=hash(key);根据查询key的hashid在bitmap区中查看是否存在该key,若不存在,直接返回空结果,
查询结束,若存在则进入下一步;根据查询key的hashid在bitmap区中的排序rank,计算得到hash区记录的偏移和大小h[offset size];根据所述hash区的偏移和大小h[offset size],在数据区或者冲突区读取所述查询key所对应的查询数据。7.根据权利要求6所述的应用于数据库存储的文件数据存储读取方法,其特征在于,所述根据所述hash区的偏移和大小h[offset size],在数据区或者冲突区读取所述查询key所对应的查询数据包括:根据所述hash区的偏移和大小h[offset size]判断是否落在冲突区;若判断为没有落在冲突区,直接从数据区按照偏移和大小s[offset size]读取数据,若判断为落在冲突区,则根据对应的冲突区的偏移和大小c[offset size]确定冲突区块,在冲突区块中通过二分查找,置换所述查询key在数据区的偏移和大小s[offset size],从数据区读取数据。8.根据权利要求6所述的应用于数据库存储的文件数据存储读取方法,其特征在于,所述根据查询key的hashid在bitmap区中的排序rank,计算得到hash区记录的偏移和大小h[offset size]包括:所述hash区在写入每个所述h[offset size]时的定长为width,且为有序写入,则通过rank*width计算得到所述查询key在hash区记录的偏移和大小h[offset size]。9.应用于数据库存储的文件数据存储读取装置,其特征在于,包括文件数据存储模块,所述文件数据存储模块包括:数据写入单元,将key-value数据写到文件的数据区,记录在数据区的偏移和大小s[offset size];哈希计算单元,计算key-value数据中key的哈希值hash(key);bitmap单元,更新位图bitmap中哈希值hash(key)对应的第hashid位的bit值;及哈希索引记录单元,将key-value数据写入时的所述hashid,key,s[offset size]作为哈希索引记录,并写入在文件中。10.一种存储介质,存储有计算机可执行程序,其特征在于,所述计算机可执行程序被执行时,实现如权利要求1-8任意一项所述的应用于数据库存储的文件数据存储读取方法。

技术总结
本发明公开了应用于数据库存储的文件数据存储读取方法,包括文件数据存储,所述文件数据存储包括:将key-value数据写到文件的数据区,记录在数据区的偏移和大小S[offset size];计算key-value数据中key的哈希值hash(key),更新位图bitmap中哈希值hash(key)对应的第hashID位的bit值;所述hashID,key,S[offset size]作为key-value数据写入时的哈希索引记录,并将所述哈希索引记录写入在文件中。本发明的应用于数据库存储的文件数据存储读取方法在进行数据存储时采用新的文件格式通过hash索引,在进行key值检索时时间复杂度可以达到O(1),极大的提升了key-value数据的检索效率。检索效率。检索效率。


技术研发人员:徐锐波 魏来 幸福 刘方
受保护的技术使用者:瞰客信息科技(上海)有限公司
技术研发日:2022.01.16
技术公布日:2022/4/26
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献