LSM‑tree结构中数据文件的合并方法及装置制造方法及图纸

技术编号:15260512 阅读:103 留言:0更新日期:2017-05-03 13:23
本发明专利技术公开了一种LSM‑tree结构中数据文件的合并方法及装置,其中,数据文件中记录有若干个以数据键值对形式存储在LSM‑tree结构中的数据条目和元信息条目;所述方法包括:针对数据文件中的一条数据条目,在缓存中查找该数据条目对应的元信息条目;若在缓存中未查找到该数据条目对应的元信息条目,则在数据文件中查找该数据条目对应的元信息条目,并将在数据文件中查找到的该数据条目对应的元信息条目写入缓存;根据数据条目对应的元信息条目,确定数据条目是否为应该保留的数据条目,若否,则在数据文件合并过程中删除数据条目。根据本发明专利技术提供的技术方案,加快了查找元信息条目的速度,有效地提高了合并数据文件的效率,优化了数据文件合并方式。

Merging method and device for data file of LSM in tree structure

The invention discloses a method and apparatus, and data file LSM tree structure in which data file records with a plurality of data pairs stored in the LSM tree structure in the data entry and element information items; the method comprises the following steps: according to a data item in a data file, find the data entries corresponding to the element information item in the cache; if the cache did not find the data entry corresponding to the element information items, in the data file to find the data entry corresponding to the element information item, corresponding to the data items in the data file and will find the element information item according to the write cache; data entry corresponding to the element information items, to determine whether the data entry should retain data entry, if not, delete the data items in the data file merging process. According to the technical proposal provided by the invention, the speed of searching the meta information article is accelerated, the efficiency of the combined data file is effectively improved, and the method of merging the data file is optimized.

【技术实现步骤摘要】

本专利技术涉及互联网
,具体涉及一种LSM-tree结构中数据文件的合并方法及装置。
技术介绍
LSM-tree(日志结构的合并树,Log-StructuredMerge-Tree)通过批量存储技术规避了磁盘随机写入问题,大幅度地提高了写性能。具体地,可利用LSM-tree来存储数据条目和元信息条目。在LSM-tree结构中,通过数据文件来记录数据条目和元信息条目。当需要对数据文件进行合并时,针对数据文件中的每一条数据条目,都需要在数据文件中查找该数据条目对应的元信息条目,然后根据该数据条目对应的元信息条目来确定该数据条目是否为在合并过程中应该保留的数据条目。因此,现有技术中的这种合并方式存在着效率低下的问题。
技术实现思路
鉴于上述问题,提出了本专利技术以便提供一种克服上述问题或者至少部分地解决上述问题的LSM-tree结构中数据文件的合并方法及装置。根据本专利技术的一个方面,提供了一种LSM-tree结构中数据文件的合并方法,数据文件中记录有若干个以数据键值对形式存储在LSM-tree结构中的数据条目和元信息条目,该方法包括:针对数据文件中的一条数据条目,在缓存中查找该数据条目对应的元信息条目;若在缓存中未查找到该数据条目对应的元信息条目,则在数据文件中查找该数据条目对应的元信息条目,并将在数据文件中查找到的该数据条目对应的元信息条目写入缓存;根据数据条目对应的元信息条目,确定数据条目是否为应该保留的数据条目,若否,则在数据文件合并过程中删除数据条目。根据本专利技术的另一方面,提供了一种LSM-tree结构中数据文件的合并装置,数据文件中记录有若干个以数据键值对形式存储在LSM-tree结构中的数据条目和元信息条目,该装置包括:第一查找模块,适于针对数据文件中的一条数据条目,在缓存中查找该数据条目对应的元信息条目;第二查找模块,适于若第一查找模块在缓存中未查找到该数据条目对应的元信息条目,则在数据文件中查找该数据条目对应的元信息条目;写入模块,适于将第二查找模块在数据文件中查找到的该数据条目对应的元信息条目写入缓存;确定模块,适于根据数据条目对应的元信息条目,确定数据条目是否为应该保留的数据条目;处理模块,适于若确定模块确定得到数据条目不为应该保留的数据条目,则在数据文件合并过程中删除数据条目。根据本专利技术提供的技术方案,针对数据文件中的一条数据条目,在缓存中查找该数据条目对应的元信息条目,如果在缓存中未查找到该数据条目对应的元信息条目,那么在数据文件中查找该数据条目对应的元信息条目,并将在数据文件中查找到的该数据条目对应的元信息条目写入缓存,然后根据数据条目对应的元信息条目,确定数据条目是否为应该保留的数据条目,如果确定得到数据条目不为应该保留的数据条目,则在数据文件合并过程中删除该数据条目。与现有技术中的数据文件合并方式相比,本专利技术提供的技术方案优先从缓存中查找数据条目对应的元信息条目,在缓存中未查找到该数据条目对应的元信息条目的情况下,再在数据文件中进行查找,并将在数据文件中查找到的该数据条目对应的元信息条目写入缓存,以便后续数据条目在缓存中查找对应的元信息条目,从而加快了查找元信息条目的速度,有效地提高了合并数据文件的效率,优化了数据文件合并方式。上述说明仅是本专利技术技术方案的概述,为了能够更清楚了解本专利技术的技术手段,而可依照说明书的内容予以实施,并且为了让本专利技术的上述和其它目的、特征和优点能够更明显易懂,以下特举本专利技术的具体实施方式。附图说明通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本专利技术的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:图1示出了根据本专利技术一个实施例的LSM-tree结构中数据文件的合并方法的流程示意图;图2示出了根据本专利技术另一个实施例的LSM-tree结构中数据文件的合并方法的流程示意图;图3示出了根据本专利技术一个实施例的LSM-tree结构中数据文件的合并装置的结构框图;图4示出了根据本专利技术另一个实施例的LSM-tree结构中数据文件的合并装置的结构框图。具体实施方式下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。LSM-tree结构可用于存储数据条目和元信息条目。在LSM-tree结构中,通过数据文件来记录数据条目和元信息条目。现有技术中,当需要对数据文件进行合并时,针对数据文件中的每一条数据条目,都需要在数据文件中查找该数据条目对应的元信息条目,然后根据该数据条目对应的元信息条目来确定该数据条目是否为在合并过程中应该保留的数据条目。因此,现有技术中的这种合并方式存在着效率低下的问题。在本专利技术提供的技术方案中,优先从缓存中查找数据条目对应的元信息条目,在缓存中未查找到该数据条目对应的元信息条目的情况下,再在数据文件中进行查找,并将在数据文件中查找到的该数据条目对应的元信息条目写入缓存,以便后续数据条目查找对应的元信息条目时使用,从而加快了查找元信息条目的速度,有效地提高了合并数据文件的效率,优化了数据文件合并方式。图1示出了根据本专利技术一个实施例的LSM-tree结构中数据文件的合并方法的流程示意图,如图1所示,该方法包括如下步骤:步骤S100,针对数据文件中的一条数据条目,在缓存中查找该数据条目对应的元信息条目。在LSM-tree结构中,数据条目和元信息条目可以数据键值对形式进行存储,并通过数据文件来记录数据条目和元信息条目,具体地,数据文件中记录有若干个以数据键值对形式存储在LSM-tree结构中的数据条目和元信息条目,并且数据文件中的数据条目和元信息条目是有序排列的。当需要对数据文件进行合并时,在步骤S100中,针对数据文件中的一条数据条目,在缓存中查找该数据条目对应的元信息条目。具体地,数据条目的数据键和与该数据条目对应的元信息条目的数据键的至少一部分相同,那么在步骤S100中,可根据数据条目的数据键,在缓存中查找该数据条目对应的元信息条目。步骤S101,判断在缓存中是否查找到该数据条目对应的元信息条目;若是,则执行步骤S103;若否,则执行步骤S102。如果判断得到在缓存中查找到该数据条目对应的元信息条目,则执行步骤S103;如果判断得到在缓存中未查找到该数据条目对应的元信息条目,则执行步骤S102。步骤S102,在数据文件中查找该数据条目对应的元信息条目,并将在数据文件中查找到的该数据条目对应的元信息条目写入缓存。在缓存中未查找到该数据条目对应的元信息条目的情况下,在步骤S102中,在数据文件中查找该数据条目对应的元信息条目,并将在数据文件中查找到的该数据条目对应的元信息条目写入缓存。由于数据文件中的数据条目和元信息条目是有序排列的,因此在该数据条目之后的若干个数据条目将很有可能对应于同一条元信息条目,那么将在数据文件中查找到的该数据条目对应的元信息条目写入缓存中,能够便于后续数据条目查找对应的元信息条目时直接从缓存中进行查找,从而加快本文档来自技高网...

【技术保护点】
一种LSM‑tree结构中数据文件的合并方法,所述数据文件中记录有若干个以数据键值对形式存储在LSM‑tree结构中的数据条目和元信息条目,所述方法包括:针对数据文件中的一条数据条目,在缓存中查找该数据条目对应的元信息条目;若在所述缓存中未查找到该数据条目对应的元信息条目,则在数据文件中查找该数据条目对应的元信息条目,并将在数据文件中查找到的该数据条目对应的元信息条目写入缓存;根据数据条目对应的元信息条目,确定所述数据条目是否为应该保留的数据条目,若否,则在数据文件合并过程中删除所述数据条目。

【技术特征摘要】
1.一种LSM-tree结构中数据文件的合并方法,所述数据文件中记录有若干个以数据键值对形式存储在LSM-tree结构中的数据条目和元信息条目,所述方法包括:针对数据文件中的一条数据条目,在缓存中查找该数据条目对应的元信息条目;若在所述缓存中未查找到该数据条目对应的元信息条目,则在数据文件中查找该数据条目对应的元信息条目,并将在数据文件中查找到的该数据条目对应的元信息条目写入缓存;根据数据条目对应的元信息条目,确定所述数据条目是否为应该保留的数据条目,若否,则在数据文件合并过程中删除所述数据条目。2.根据权利要求1所述的方法,其中,数据条目的数据键和与该数据条目对应的元信息条目的数据键的至少一部分相同。3.根据权利要求1或2所述的方法,所述缓存用于存储至少一条元信息条目;所述在数据文件中查找该数据条目对应的元信息条目,将在数据文件中查找到的该数据条目对应的元信息条目写入缓存进一步包括:若所述缓存中已存储有元信息条目,则在数据文件中查找该数据条目对应的元信息条目,将所述缓存中存储的元信息条目更新为在数据文件中查找到的该数据条目对应的元信息条目;若所述缓存中未存储有元信息条目,则在数据文件中查找该数据条目对应的元信息条目,将在数据文件中查找到的该数据条目对应的元信息条目存储至缓存中。4.根据权利要求1-3任一项所述的方法,所述根据数据条目对应的元信息条目,确定所述数据条目是否为应该保留的数据条目进一步包括:判断所述数据条目中的版本信息是否与所述数据条目对应的元信息条目中的版本信息相符;若否,则确定所述数据条目不为应该保留的数据条目。5.根据权利要求1-3任一项所述的方法,所述根据数据条目对应的元信息条目,确定所述数据条目是否为应该保留的数据条目进一步包括:根据数据条目对应的元信息条目中的过期时间信息,判断所述数据条目是否为过期数据条目;若是,则确定所述数据条目...

【专利技术属性】
技术研发人员:赵安安陈宗志
申请(专利权)人:北京奇虎科技有限公司
类型:发明
国别省市:北京;11

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

1