数据存储方法及装置、数据查找方法及装置制造方法及图纸

技术编号:33276054 阅读:24 留言:0更新日期:2022-04-30 23:34
本说明书实施例提供了数据存储方法及装置、数据查询方法及装置,数据存储方法应用于数据库引擎,数据库引擎通过N层的结构以文件的形式存储数据,N为大于1的正整数,方法包括:确定待存储至N层中第i层的第一数据,第一数据具有第一数据标识;根据预设的映射函数和所述第i层的文件的第一数目对第一数据标识进行映射,以确定第一数据标识在第i层的文件中的第一文件编号;将第一数据存储至第一文件编号对应的第一文件。通过本说明书实施例提供的技术方案,基于映射函数和层的文件数目,快速精准的实现同一层的数据分割,进一步降低数据查找时层的文件定位的时间。时层的文件定位的时间。时层的文件定位的时间。

【技术实现步骤摘要】
数据存储方法及装置、数据查找方法及装置


[0001]本说明书一个或多个实施例涉及数据存储
,尤其涉及数据存储方法及装置、数据查找方法及装置。

技术介绍

[0002]在LSM(Log Structured Merge)的存储方式中,为了提升写入性能,通常会采用数据分层的组织方式,在任意一层中,通过对主键key排序后划分的方式将数据切割为多个文件进行存储。同时,该层的数据积累到一定量之后,将该层的数据存储到下一层;通常,随着层数的升高,数据规模变大。
[0003]目前,上述数据分割的方式导致数据查找时文件定位的时间较长。

技术实现思路

[0004]本说明书一个或多个实施例描述了一种数据存储的方法及装置、数据查找的方法及装置,可以基于映射函数和层的文件数目,快速精准的实现同一层的数据分割,进一步降低数据查找时层的文件定位的时间。
[0005]根据第一方面,提供了一种数据存储方法,应用于数据库引擎,所述数据库引擎通过N层的结构以文件的形式存储数据,所述N为大于1的正整数,所述方法包括:确定待存储至所述N层中第i层的本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种数据存储方法,应用于数据库引擎,所述数据库引擎通过N层的结构以文件的形式存储数据,所述N为大于1的正整数,所述方法包括:确定待存储至所述N层中第i层的第一数据,所述第一数据具有第一数据标识;根据预设的映射函数和所述第i层的文件的第一数目对所述第一数据标识进行映射,以确定所述第一数据标识在所述第i层的文件中的第一文件编号;将所述第一数据存储至所述第一文件编号对应的第一文件中。2.根据权利要求1所述的方法,其中,所述映射函数包括第一函数和第二函数,所述根据预设的映射函数和所述第i层的文件的第一数目对所述第一数据标识进行映射,以确定所述第一数据标识在所述第i层的文件中的第一文件编号,包括:利用第一函数,对所述第一数据标识进行第一映射,得到所述第一数据标识对应的第一映射数值;利用第二函数,对所述第一数目和所述第一映射数值进行计算,得到所述第一文件编号。3.根据权利要求2所述的方法,其中,所述第一函数为哈希函数;所述第二函数为针对所述第一数目的取模函数。4.根据权利要求1所述的方法,其中,确定待存储至所述N层中第i层的第一数据,包括:响应于预设触发条件,从第i

1层的第二文件中确定所述第一数据,其中第i

1层包含第二数目的文件,所述第二数目小于所述第一数目。5.根据权利要求4所述的方法,其中,所述预设触发条件包括以下之一:所述第i

1层的数据数量达到第一阈值;所述第二文件中的数据数量达到第二阈值。6.根据权利要求4所述的方法,其中,所述方法还包括:根据所述第二文件的第二文件编号和层间文件重叠关系,确定所述第i层中与所述第二文件存在重叠关系的重叠文件编号;基于所述第二文件编号和重叠文件编号,进行文件数据管理。7.根据权利要求6所述的方法,其中,所述重叠文件编号与所述第二文件编号之差,为所述第二数目的倍数。8.根据权利要求6所述的方法,其中,所述文件数据管理包括以下中至少一项:文件合并,文件垃圾回收。9.根据权利要求4所述的方法,其中,所述第二文件中还包括具有第二数据标识的第二数据,所述第二数据标识经所述映射函数映射为所述第一文件编号:所述将所述第一数据存储至所述第一文件编号对应的第一文件中,包括:至少将所述第一数据和第二数据,批量存储至所述第一文件。10.根据权利要求1所述的方法,其中,所述第一数据标识为所述第一数据的主键。11.一种数据查询方法,应用于数据库引擎,所述数据库引擎通过N层的结构以文件的形式存储数据;所述方法包括:确定待查询的第一数...

【专利技术属性】
技术研发人员:黄华江进宋杰刘静怡
申请(专利权)人:支付宝杭州信息技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1