CN114020713A - 一种日志结构合并树的文件合并方法、装置、电子设备及存储介质 - Google Patents

一种日志结构合并树的文件合并方法、装置、电子设备及存储介质 Download PDF

Info

Publication number
CN114020713A
CN114020713A CN202111186455.3A CN202111186455A CN114020713A CN 114020713 A CN114020713 A CN 114020713A CN 202111186455 A CN202111186455 A CN 202111186455A CN 114020713 A CN114020713 A CN 114020713A
Authority
CN
China
Prior art keywords
merging
file
user
candidate set
time
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202111186455.3A
Other languages
English (en)
Inventor
王建民
黄向东
张凌哲
刘旭鑫
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tsinghua University
Original Assignee
Tsinghua University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tsinghua University filed Critical Tsinghua University
Priority to CN202111186455.3A priority Critical patent/CN114020713A/zh
Publication of CN114020713A publication Critical patent/CN114020713A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/1805Append-only file systems, e.g. using logs or journals to store data
    • G06F16/1815Journaling file systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/13File access structures, e.g. distributed indices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/14Details of searching files based on file metadata
    • G06F16/148File search processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/16File or folder operations, e.g. details of user interfaces specifically adapted to file systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Library & Information Science (AREA)
  • Human Computer Interaction (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本公开属于信息存储技术领域,具体而言涉及一种日志结构合并树的文件合并方法、装置、电子设备及存储介质。本方法首先根据用户的近期查询时间范围、近期写入记录和历史合并记录,统计出用户的常用查询时间范围和被查序列、当前数据写入频率和系统的平均合并速度;合并时从时间较近期往时间较远期遍历顺序文件,计算每个可能的文件合并候选集对常用查询的最终收益;选择收益最高的文件合并候选集的最常被查序列进行合并,合并完将结果文件替换被合并的文件。本方法根据用户的写入速率,常用查询区间来计算每次合并对查询的收益,提高了合并操作的灵活性和对用户造成的即时收益。本方法可广泛应用于信息存储技术领域中。

Description

一种日志结构合并树的文件合并方法、装置、电子设备及存储 介质
技术领域
本公开属于信息存储技术领域,具体而言涉及一种日志结构合并树的文件合并方法、装置、电子设备及存储介质。
背景技术
物联网时代,设备上的传感器数量急剧增多,产生了大量的时间序列数据。这些时间序列数据生成速度快,数量大,并且这些数据会在工业领域中被广泛使用。这些工业应用要求数据库对时间序列数据提供高效率的读写。与此同时,在大数据及人工智能环境下,时序数据也经常被用来进行数据分析操作,以分析数据变化以及预测相关问题结果。在这些应用驱动下,时序数据库成为热点研究问题。主流的时序数据库一般都基于日志结构合并树架构开发,日志结构合并树的概念于上世纪90年代被提出,近年来开始被大规模使用,说明这种存储方式能够在大数据时代发挥其主要优势。传统的日志结构合并树是一个多层结构,上层小下层大,其中C0层保存了所有最近写入的键值数据。这个内存结构是有序的,并且可以随时原地更新,同时支持随时查询。剩下的C1到Ck层都在磁盘上,每一层都是一个在key上有序的结构。
合并模块是日志结构合并树的关键模块,负责将零散的小文件和乱序的文件合并为整齐有序的大文件,提高查询效率,日志结构合并树通过多次合并数据,将数据集组织成有序的、大块的文件。当写入新数据时,数据首先进入内存中的缓存部分,当缓存装满后数据被刷入磁盘,进入最上层空间,随着数据量不断增大,上层空间不足,其中的数据需要不断向下合并至下层空间。为平衡读取操作的开销,日志结构合并树保证数据按Key顺序的方式存储(在时序数据库中,Key就是相应的时间戳),是以访问数据能够快速被定位。然而,指数级的空间增长方式给数据库带来写放大,读写放大是日志结构合并树树合并的主要问题,以RocksDB的合并算法为例,RocksDB以C0、C1、…、Ck的多层的方式存储数据文件,层与层之间保持固定比例M=(Size(Ci+1)/Size(Ci))(Size(Ci)表示Ci层的文件大小阈值)。当Ci层达到阈值时,就将Ci层合并到Ci+1层去,在最坏的情况下(写入一条数据导致每一层合并),会重复读写Size(C1)+Size(C2)+…+Size(Ci)的数据,并且这种写放大的问题,也会使得日志结构合并树的合并速度越来越慢,合并效果越来越低,这也是各类LSM的变种致力于解决和优化的问题。
发明内容
本申请旨在至少一定程度是解决上述技术问题,具有本发明人对以下事实和问题的发现和认识,现有日志结构合并树的数据合并方法大多从老数据慢慢合并到新数据,合并所有序列,并且固定层数和每层大小,这会导致当合并参数配置错误(层数过多)或者用户写入速度太快时,合并速度跟不上写入速度,合并操作对用户的即席查询效率提升收益不明显。
有鉴于此,本申请提出一种日志结构合并树的文件合并方法、装置、电子设备及存储介质,以提高用户即席查询的效率,且减小日志结构合并树的写放大。
根据本公开的第一方面,提出日志结构合并树的文件合并方法,包括:
统计用户使用频率最高的查询时间范围、查询时间序列的频繁项集、用户当前写入文件的速率和文件合并平均速度;
从用户写入文件的生成时间较近期往时间较远期,计算每个可能的文件合并候选集对常用查询的最终收益,得到合并收益最大的文件合并候选集;
将所述合并收益最大的文件合并候选集的最常被查序列进行合并,将合并结果文件替换被合并的文件。
可选地,所述统计用户使用频率最高的查询时间范围、查询时间序列的频繁项集、用户当前写入文件的速率和文件合并平均速度,包括:
(1)根据用户的近期文件查询的时间范围,构建一个查询时间范围概率表,得到使用频率最高的查询时间范围;
(2)根据用户的近期文件查询的时间序列,构建一个查询时间序列的频繁项集;
(3)在内存关闭一个文件时,根据写满文件所需时间、写入文件开始时间和结束时间,计算用户的当前写入速率,并实时在监控系统中更新当前用户写入速率;
(4)在合并完数据后记录本次合并的数据量及合并所需时间,并得到用户当前数据的合并平均速度,并实时在数据监控系统中更新数据的合并平均速度。
可选地,所述从用户写入文件的生成时间较近期往时间较远期,计算每个可能的文件合并候选集对常用查询的最终收益,得到合并收益最大的文件合并候选集,包括:
(1)从用户写入文件的生成时间较近期往时间较远期,依次遍历用户写入文件的文件列表;
(2)定义每一个可合并的连续文件段(为文件合并候选集,根据用户合并平均速度,遍历所述文件列表中的所有文件合并候选集,计算各文件候选集的所需合并时间;
(3)根据各文件候选集的相应用户写入速率和用户使用频率最高的查询时间范围,从文件列表中过滤掉合并后不被用户常用查询使用的文件合并候选集,得到多个第一文件合并候选集;
(4)分别记录各第一文件合并候选集中使用户常用查询减少的磁盘寻道次数,将用户常用查询减少的磁盘寻道次数与合并生效的时间范围的乘积定义为合并收益;
(5)遍历所有所述第一文件合并候选集,重复步骤(4),得到各第一文件合并候选集的合并收益,从各第一文件合并候选集的合并收益中,选出合并收益最大的文件合并候选集。
可选地,将所述收益最大的文件合并候选集的最常被查序列进行合并,将合并结果文件替换被合并的文件,完成日志结构合并树的数据合并,包括:
(1)设定文件合并次数的阈值,对所述合并收益最大的文件合并候选集进行判断,若合并收益最大的文件合并候选集被合并的次数大于设定阈值,则对合并收益最大的文件合并候选集中的所有时间序列进行合并,并使该合并的大文件替换被合并的原文件;若合并收益最大的文件合并候选集被合并的次数小于或等于设定阈值,则将合并收益最大的文件合并候选集中的查询时间序列的频繁项集进行合并,并使该合并的大文件替换被合并的原文件;
(2)对所述合并后的大文件中的合并次数进行更新,完成日志结构合并树的数据合并。
根据本公开的第二方面,提出日志结构合并树的文件合并装置,包括:
动态监测模块,用于根据用户的近期数据查询的时间范围、近期用户写入数据记录和历史数据合并记录,统计用户使用频率最高的查询时间范围、查询时间序列的频繁项集、用户当前写入速率和数据合并平均速度;
合并选择模块,用于从用户写入数据的文件生成时间较近期往时间较远期,顺序遍历所有文件,计算每个可能的文件合并候选集对常用查询的最终收益,得到合并收益最大的文件合并候选集;
合并模块,用于将所述收益最高的文件合并候选集的最常被查序列进行合并,将合并结果文件替换被合并的文件。
根据本公开的第三方面,提出电子设备,包括:
存储器,用于存储计算机可执行的指令;
处理器,所述处理器被配置执行:
统计用户使用频率最高的查询时间范围、查询时间序列的频繁项集、用户当前写入文件的速率和文件合并平均速度;
从用户写入文件的生成时间较近期往时间较远期,计算每个可能的文件合并候选集对常用查询的最终收益,得到合并收益最大的文件合并候选集;
将所述合并收益最大的文件合并候选集的最常被查序列进行合并,将合并结果文件替换被合并的文件。
根据本公开的第四方面,提出计算机可读存储介质,其上存储有计算机程序,所述计算机程序用于使所述计算机执行:
统计用户使用频率最高的查询时间范围、查询时间序列的频繁项集、用户当前写入文件的速率和文件合并平均速度;
从用户写入文件的生成时间较近期往时间较远期,计算每个可能的文件合并候选集对常用查询的最终收益,得到合并收益最大的文件合并候选集;
将所述合并收益最大的文件合并候选集的最常被查序列进行合并,将合并结果文件替换被合并的文件。
根据本公开的实施例,根据用户的写入速率,常用查询区间来计算每次合并对查询的收益,考虑到了实际场景中,不同时间的数据对用户的价值是不一样的,并且用户的写入速率也不是一定的,提高了合并操作的灵活性和对用户造成的即时收益。
本公开附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
为了更清楚的说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。显然,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来说,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据本公开的一个实施例示出的日志结构合并树的文件合并方法的流程框图。
图2是根据本公开的一个实施例示出的日志结构合并树的文件合并方法中合并选择流程示意图。
图3是根据本公开的一个实施例示出的日志结构合并树的文件合并方法中合并阶段流程示意图。
图4是根据本公开的一个实施例示出的日志结构合并树的文件合并装置的框图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
图1是本公开一个实施例示出的一种日志结构合并树的文件合并方法的示意流程图,本实施例所示的日志结构合并树的文件合并方法可以适用于用户的手机、平板电脑等。
如图1所示,所述日志结构合并树的文件合并方法,可以包括以下步骤:
在步骤1中,统计用户使用频率最高的查询时间范围、查询时间序列的频繁项集、用户当前写入文件的速率和文件合并平均速度。
在一个实施例中,所述统计用户使用频率最高的查询时间范围、查询时间序列的频繁项集、用户当前写入文件的速率和文件合并平均速度,可以包括:
(1)根据用户的近期文件查询的时间范围,构建一个经验性的查询时间范围概率表,得到使用频率最高的查询时间范围;
(2)根据用户的近期文件查询的时间序列,构建一个查询时间序列的频繁项集;
(3)在内存关闭一个文件时,根据写满文件所需时间、写入文件开始时间和结束时间,计算用户的当前写入速率,并实时在监控系统中更新当前用户写入速率;
(4)在合并完数据后记录本次合并的数据量及合并所需时间,并得到用户当前数据的合并平均速度,并实时在数据监控系统中更新数据的合并平均速度。
在步骤2中,从用户写入文件的生成时间较近期往时间较远期,计算每个可能的文件合并候选集对常用查询的最终收益,得到合并收益最大的文件合并候选集。
在一个实施例中,所述从用户写入文件的生成时间较近期往时间较远期,计算每个可能的文件合并候选集对常用查询的最终收益,得到合并收益最大的文件合并候选集,可以包括以下步骤:
(1)从用户写入文件的生成时间较近期往时间较远期,依次遍历用户写入文件的文件列表;
(2)定义每一个可合并的连续文件段为文件合并候选集,连续文件段即该文件段中的所有文件按时间顺序依次相邻,如图2中所示,根据用户合并平均速度,遍历所述文件列表中的所有文件合并候选集,计算各文件候选集的所需合并时间;
(3)根据各文件候选集的相应用户写入速率和用户使用频率最高的查询时间范围,从文件列表中过滤掉合并后不被用户常用查询使用的文件合并候选集,得到多个第一文件合并候选集;
(4)分别记录各第一文件合并候选集中使用户常用查询减少的磁盘寻道次数,合并操作会减少第一文件合并候选集中的文件数目,在查询区间内如果存在被减少的文件,那么合并后的查询就不需要进行磁盘的重复寻道,因此合并会减少查询时的磁盘寻道次数,将用户常用查询减少的磁盘寻道次数与合并生效的时间范围的乘积定义为合并收益;
(5)遍历所有所述第一文件合并候选集,重复步骤(4),得到各第一文件合并候选集的合并收益,从各第一文件合并候选集的合并收益中,选出合并收益最大的文件合并候选集。
在步骤3中,将所述合并收益最大的文件合并候选集的最常被查序列进行合并,将合并结果文件替换被合并的文件。
在一个实施例中,将所述收益最大的文件合并候选集的最常被查序列进行合并,将合并结果文件替换被合并的文件,完成日志结构合并树的数据合并,包括:
(1)设定文件合并次数的阈值,对所述合并收益最大的文件合并候选集进行判断,若合并收益最大的文件合并候选集被合并的次数大于设定阈值,则说明此时系统写入速率比较慢,文件已经被重复合并过过多次,对合并收益最大的文件合并候选集中的所有时间序列进行合并,并使该合并的大文件替换被合并的原文件;若合并收益最大的文件合并候选集被合并的次数小于或等于设定阈值,则将合并收益最大的文件合并候选集中的查询时间序列的频繁项集进行合并,并使该合并的大文件替换被合并的原文件;
(2)对所述合并后的大文件中的合并次数进行更新,完成日志结构合并树的数据合并。
根据本公开的实施例,根据用户的写入速率,常用查询区间来计算每次合并对查询的收益,考虑到了实际场景中,不同时间的数据对用户的价值是不一样的,并且用户的写入速率也不是一定的,提高了合并操作的灵活性和对用户造成的即时收益。本方法动态决定每次合并的顺序文件段,保证用户在写入速率较快的情况下,合并速率能够跟上写入速率,也减少了重复合并老文件所带来的写放大。
以下结合本公开一个实施例的附图详细介绍本方法的内容:
如图1所示,在Apache IoTDB中,日志结构合并树的文件合并方法可以分为行为监控、合并选择阶段和合并阶段三个步骤,当系统启动后,用户开始查询、写入数据或者系统进行合并都会在监控系统中记录用户使用频率最高的查询时间范围、当前写入文件的速率和文件合并平均速度,用户的每次查询序列会统计生成一个查询时间序列的频繁项集。
如图2和图3中所示,本公开一个实施例的日志结构合并树的文件合并方法,包括以下步骤:
1、根据用户的近期查询时间范围、近期写入记录和历史合并记录,统计出用户使用频率最高的查询时间范围、查询时间序列的频繁项集、用户当前写入文件的速率和文件合并平均速度,具体过程为:
(1)用户每次查询时首先判断此次查询是否为新写入数据的查询(在ApacheIoTDB中,对于一个用户查询[TstartTime,TendTime],如果|TendTime-TcurrTime|<=Tdelta,则判定此查询为即席查询,其中Tdelta为系统内允许的时间误差,默认为5分钟),如果是新写入数据的查询,则记录此次查询的时间范围(|TendTime-TstartTime|),建立一个经验性的查询范围概率表,对应到每一个用户查询时间范围及其查询次数;记录每一次用户的查询序列,使用基于计数器的Space Saving方法统计生成一个查询时间序列的频繁项集。
(2)每次从内存关闭一个文件时,都会根据该文件写满所花时间(Twrite),文件开始时间(TfileStartTime)、结束时间(TfileEndTime),计算出用户的写入速率((TfileEndTime-TfileStartTime)/Twrite),并实时在监控系统中更新,因为在Apache IoTDB实际使用中,用户可能会写入历史数据,所以这里按每毫秒写入多少真实时间的数据来记录;
(3)每次系统合并完都会记录此次合并的数据量(B bytes)以及合并所耗时间(Tmerge),得出合并平均速度(B/Tmerge),更新在系统的数据监控系统中以便下次合并使用。
2、合并选择阶段:从后往前顺序遍历文件,计算合并每个连续文件段对查询的最终收益,具体过程为:
(1)定义每一个可合并的连续文件段为文件合并候选集,根据用户合并平均速度,计算合并每个文件合并候选集所需时间(B/Smerge),遍历所述文件列表中的所有文件合并候选集,计算各文件候选集的所需合并时间,根据各文件候选集的相应用户写入速率和用户使用频率最高的查询时间范围,从文件列表中过滤掉合并后不被用户常用查询使用的文件合并候选集(B/Smerge*Swrite>Tquery),得到多个第一文件合并候选集;
(2)分别记录各第一文件合并候选集中使用户常用查询减少的磁盘寻道次数,将用户常用查询减少的磁盘寻道次数与合并生效的时间范围的乘积定义为合并收益。
(3)遍历所有所述第一文件合并候选集,重复步骤(2),得到各第一文件合并候选集的合并收益,从各第一文件合并候选集的合并收益中,选出合并收益最大的文件合并候选集。
3、合并阶段:选择收益最高的连续文件段进行合并,合并完将结果文件替换被合并的连续文件段,同时进入步骤2,具体过程为:
(1)设定文件合并次数的阈值,对所述合并收益最大的文件合并候选集进行判断,若合并收益最大的文件合并候选集被合并的次数大于设定阈值,则对合并收益最大的文件合并候选集中的所有时间序列进行合并,并使该合并的大文件替换被合并的原文件;若合并收益最大的文件合并候选集被合并的次数小于或等于设定阈值,则将合并收益最大的文件合并候选集中的查询时间序列的频繁项集进行合并,并使该合并的大文件替换被合并的原文件;
(2)对所述合并后的大文件中的合并次数进行更新,完成日志结构合并树的数据合并。
与上述日志结构合并树的文件合并方法相对应地,本公开还提出了一种日志结构合并树的文件合并装置,包括:
动态监测模块,用于根据用户的近期数据查询的时间范围、近期用户写入数据记录和历史数据合并记录,统计用户使用频率最高的查询时间范围、查询时间序列的频繁项集、用户当前写入速率和数据合并平均速度;
合并选择模块,用于从用户写入数据的文件生成时间较近期往时间较远期,顺序遍历所有文件,计算每个可能的文件合并候选集对常用查询的最终收益,得到合并收益最大的文件合并候选集;
合并模块,用于将所述收益最高的文件合并候选集的最常被查序列进行合并,将合并结果文件替换被合并的文件,完成日志结构合并树的数据合并。
本公开的实施例还提出了一种电子设备,包括:
存储器,用于存储计算机可执行的指令;
处理器,所述处理器被配置执行:
统计用户使用频率最高的查询时间范围、查询时间序列的频繁项集、用户当前写入文件的速率和文件合并平均速度;
从用户写入文件的生成时间较近期往时间较远期,计算每个可能的文件合并候选集对常用查询的最终收益,得到合并收益最大的文件合并候选集;
将所述合并收益最大的文件合并候选集的最常被查序列进行合并,将合并结果文件替换被合并的文件。
本公开的实施例还提出了计算机可读存储介质,其上存储有计算机程序,所述计算机程序用于使所述计算机执行:
统计用户使用频率最高的查询时间范围、查询时间序列的频繁项集、用户当前写入文件的速率和文件合并平均速度;
从用户写入文件的生成时间较近期往时间较远期,计算每个可能的文件合并候选集对常用查询的最终收益,得到合并收益最大的文件合并候选集;
将所述合并收益最大的文件合并候选集的最常被查序列进行合并,将合并结果文件替换被合并的文件。
需要说明的是,本公开的实施例中,所称处理器可以是中央处理单元(CentralProcessing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital SignalProcessor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(FieldProgrammable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,所述存储器可用于存储所述计算机程序和/或模块,所述处理器通过运行或执行存储在所述存储器内的计算机程序和/或模块,以及调用存储在存储器内的数据,实现所述汽车配件图片数据集制作设备的各种功能。所述存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(Sma rt Med ia Ca rd,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。风电系统运行稳定域的构建装置的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本公开实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,ReadOnly Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需说明的是,以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。另外,本发明提供的装置实施例附图中,模块之间的连接关系表示它们之间具有通信连接,具体可以实现为一条或多条通信总线或信号线。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上所述是本公开的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围。

Claims (7)

1.一种日志结构合并树的文件合并方法,其特征在于,包括:
步骤1、统计用户使用频率最高的查询时间范围、查询时间序列的频繁项集、用户当前写入文件的速率和文件合并平均速度;
步骤2、从用户写入文件的生成时间较近期往时间较远期,计算每个可能的文件合并候选集对常用查询的最终收益,得到合并收益最大的文件合并候选集;
步骤3、将所述合并收益最大的文件合并候选集的最常被查序列进行合并,将合并结果文件替换被合并的文件。
2.根据权利要求1所述的日志结构合并树的数据合并方法,其特征在于,统计用户使用频率最高的查询时间范围、查询时间序列的频繁项集、用户当前写入文件的速率和文件合并平均速度,包括:
(1)根据用户的近期文件查询的时间范围,构建一个查询时间范围概率表,得到使用频率最高的查询时间范围;
(2)根据用户的近期文件查询的时间序列,构建一个查询时间序列的频繁项集;
(3)在内存关闭一个文件时,根据写满文件所需时间、写入文件开始时间和结束时间,计算用户的当前写入速率,并实时在监控系统中更新当前用户写入速率;
(4)在合并完数据后记录本次合并的数据量及合并所需时间,并得到用户当前数据的合并平均速度,并实时在数据监控系统中更新数据的合并平均速度。
3.根据权利要求1所述的日志结构合并树的数据合并方法,其特征在于,所述从用户写入文件的生成时间较近期往时间较远期,计算每个可能的文件合并候选集对常用查询的最终收益,得到合并收益最大的文件合并候选集,包括:
(1)从用户写入文件的生成时间较近期往时间较远期,依次遍历用户写入文件的文件列表;
(2)定义每一个可合并的连续文件段为文件合并候选集,根据用户合并平均速度,遍历所述文件列表中的所有文件合并候选集,计算各文件候选集的所需合并时间;
(3)根据各文件候选集的相应用户写入速率和用户使用频率最高的查询时间范围,从文件列表中过滤掉合并后不被用户常用查询使用的文件合并候选集,得到多个第一文件合并候选集;
(4)分别记录各第一文件合并候选集中使用户常用查询减少的磁盘寻道次数,将用户常用查询减少的磁盘寻道次数与合并生效的时间范围的乘积定义为合并收益;
(5)遍历所有所述第一文件合并候选集,重复步骤(4),得到各第一文件合并候选集的合并收益,从各第一文件合并候选集的合并收益中,选出合并收益最大的文件合并候选集。
4.如权利要求1所述的一种数据价值敏感的新型日志结构合并树机制,其特征在于,将所述收益最大的文件合并候选集的最常被查序列进行合并,将合并结果文件替换被合并的文件,完成日志结构合并树的数据合并,包括:
(1)设定文件合并次数的阈值,对所述合并收益最大的文件合并候选集进行判断,若合并收益最大的文件合并候选集被合并的次数大于设定阈值,则对合并收益最大的文件合并候选集中的所有时间序列进行合并,并使该合并的大文件替换被合并的原文件;若合并收益最大的文件合并候选集被合并的次数小于或等于设定阈值,则将合并收益最大的文件合并候选集中的查询时间序列的频繁项集进行合并,并使该合并的大文件替换被合并的原文件;
(2)对所述合并后的大文件中的合并次数进行更新,完成日志结构合并树的数据合并。
5.一种日志结构合并树的文件合并装置,其特征在于,包括:
动态监测模块,用于根据用户的近期数据查询的时间范围、近期用户写入数据记录和历史数据合并记录,统计用户使用频率最高的查询时间范围、查询时间序列的频繁项集、用户当前写入速率和数据合并平均速度;
合并选择模块,用于从用户写入数据的文件生成时间较近期往时间较远期,顺序遍历所有文件,计算每个可能的文件合并候选集对常用查询的最终收益,得到合并收益最大的文件合并候选集;
合并模块,用于将所述收益最高的文件合并候选集的最常被查序列进行合并,将合并结果文件替换被合并的文件。
6.一种电子设备,其特征在于,包括:
存储器,用于存储计算机可执行的指令;
处理器,所述处理器被配置执行权利要求1-4的日志结构合并树的文件合并方法。
7.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序用于使所述计算机执行权利要求1-4的日志结构合并树的文件合并方法。
CN202111186455.3A 2021-10-12 2021-10-12 一种日志结构合并树的文件合并方法、装置、电子设备及存储介质 Pending CN114020713A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111186455.3A CN114020713A (zh) 2021-10-12 2021-10-12 一种日志结构合并树的文件合并方法、装置、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111186455.3A CN114020713A (zh) 2021-10-12 2021-10-12 一种日志结构合并树的文件合并方法、装置、电子设备及存储介质

Publications (1)

Publication Number Publication Date
CN114020713A true CN114020713A (zh) 2022-02-08

Family

ID=80056026

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111186455.3A Pending CN114020713A (zh) 2021-10-12 2021-10-12 一种日志结构合并树的文件合并方法、装置、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN114020713A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116561124A (zh) * 2023-04-26 2023-08-08 清华大学 一种用于时序数据库的文件合并方法和装置
CN117725035A (zh) * 2024-01-30 2024-03-19 支付宝(杭州)信息技术有限公司 一种针对lsm树的文件合并方法及相关设备

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116561124A (zh) * 2023-04-26 2023-08-08 清华大学 一种用于时序数据库的文件合并方法和装置
CN117725035A (zh) * 2024-01-30 2024-03-19 支付宝(杭州)信息技术有限公司 一种针对lsm树的文件合并方法及相关设备

Similar Documents

Publication Publication Date Title
CN109164980B (zh) 一种时序数据的聚合优化处理方法
CN103019887B (zh) 数据备份方法及装置
CN114020713A (zh) 一种日志结构合并树的文件合并方法、装置、电子设备及存储介质
CN103336849A (zh) 一种数据库检索系统中提高检索速度的方法及装置
CN111737265B (zh) 区块数据访问方法、区块数据存储方法及装置
US10552460B2 (en) Sensor data management apparatus, sensor data management method, and computer program product
WO2015024474A1 (zh) 基于缓存数据多线程处理的电力可靠性指标快速计算方法
CN111061758B (zh) 数据存储方法、装置及存储介质
WO2021073241A1 (zh) 一种基于磁盘存储的数据读取方法、装置及设备
CN113886382A (zh) 数据库任务处理方法、设备及存储介质
WO2019114754A1 (zh) 一种列式存储下多时间序列的连接查询方法及系统
CN113656397A (zh) 一种针对时序数据的索引构建及查询的方法、装置
CN116339643B (zh) 一种磁盘阵列的格式化方法、装置、设备和介质
CN101635001A (zh) 从数据库提取信息的方法和设备
CN110389714A (zh) 用于数据输入输出的方法、装置和计算机存储介质
CN113570464B (zh) 一种数字货币交易社区识别方法、系统、设备及存储介质
CN111737266B (zh) 区块数据访问方法、区块数据存储方法及装置
CN112506875B (zh) 文件存储方法、相关装置及文件存储系统
CN114218134A (zh) 一种缓存用户的方法和装置
CN114860160A (zh) 一种针对Hadoop数据平台的扩容资源预测方法及系统
CN112667859A (zh) 基于内存的数据处理方法及装置
CN109992695B (zh) 一种视频信息查询方法及装置
CN110866003B (zh) 索引值数目的估算方法和装置以及电子设备
CN109739883A (zh) 提升数据查询性能的方法、装置和电子设备
CN116775667B (zh) 一种关联数据的处理方法及装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination