CN103577454A - 一种文件合并方法和装置 - Google Patents

一种文件合并方法和装置 Download PDF

Info

Publication number
CN103577454A
CN103577454A CN201210270365.7A CN201210270365A CN103577454A CN 103577454 A CN103577454 A CN 103577454A CN 201210270365 A CN201210270365 A CN 201210270365A CN 103577454 A CN103577454 A CN 103577454A
Authority
CN
China
Prior art keywords
file
mergence
strategy
piece
trigger condition
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.)
Granted
Application number
CN201210270365.7A
Other languages
English (en)
Other versions
CN103577454B (zh
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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201210270365.7A priority Critical patent/CN103577454B/zh
Priority to CN201910113175.6A priority patent/CN109960688A/zh
Priority to PCT/CN2013/070619 priority patent/WO2014019349A1/zh
Publication of CN103577454A publication Critical patent/CN103577454A/zh
Application granted granted Critical
Publication of CN103577454B publication Critical patent/CN103577454B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/16File or folder operations, e.g. details of user interfaces specifically adapted to file systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/21Design, administration or maintenance of databases
    • G06F16/217Database tuning

Landscapes

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

Abstract

本发明涉及数据处理技术领域,特别是涉及一种文件合并方法和装置,所述方法包括:当有新文件生成时,确定所述新文件的类别,根据预存的文件类别与文件合并策略的对应关系,获取与所述新文件的类别对应的文件合并策略;根据所述文件合并策略,触发合并判断,判断是否满足与所述文件合并策略对应的文件合并触发条件,如果满足,选取满足文件合并触发条件的文件,执行文件合并处理。本发明实施例提供的方法可以对文件进行分类处理,使得不同的文件有不同的合并处理策略,相对于现有技术提供的方法,使得文件的合并开销始终保持可控。

Description

一种文件合并方法和装置
技术领域
本发明涉及数据处理技术领域,特别是涉及一种文件合并方法和装置。
背景技术
增量数据库(incremental database)是一种基于增量文件的数据库技术,其特点是以追加而非修改文件的方式持久化新数据,从而可以避免对存储介质的随机写操作。而在增量数据库中,对同一条记录的更新和删除操作,可能造成该记录的数据分布在多个文件中。而随着数据库更新、删除操作产生的文件数量越多,数据读取时就需要搜索更多的数据文件,由此造成磁盘随机读性能下降。
为了解决随机读操作性能问题,增量数据库引入了文件合并机制,即将分散在多个文件中的记录合并到一个文件中。文件合并过程包含读取旧文件、计算和写入新文件等步骤,因此本身也会造成CPU、内存和磁盘读写的开销。参与合并的文件容量越大,造成的开销就越大。为了降低文件合并对增量数据库性能的影响,必须设计合理的文件合并触发和开销控制机制。
现有技术中存在的文件合并方法,主要采用基于实时数量的触发机制。在这种方法中,当文件数量达到一定阈值时触发对这些文件的合并操作,生成一个新的文件替代旧文件。然而,现有技术提供的方法中,始终以将所有历史数据合并到一起为目标,所有的历史文件均参与实时合并,而文件合并的开销是与合并的文件数据容量成正比的,随着文件数据容量的积累,数据合并到新文件的开销将越来越大,直到数据容量达到存储的上限。现有技术提供的方法将导致在大容量磁盘上部署的增量数据库,最终无法承受数据量的增长导致的合并开销的增长,因此存在合并开销不可控的缺陷。
发明内容
为解决上述技术问题,本发明实施例提供了一种文件合并方法和装置,可以控制、降低文件合并的开销。
一方面,本发明实施例提供了一种文件合并的方法,所述方法包括:
当有新文件生成时,确定所述新文件的类别,根据预存的文件类别与文件合并策略的对应关系,获取与所述新文件的类别对应的文件合并策略;
根据所述文件合并策略,触发合并判断,判断是否满足与所述文件合并策略对应的文件合并触发条件;
如果满足,选取满足文件合并触发条件的文件,执行文件合并处理。
优选地,所述文件合并策略包括以下任意一种或多种策略:
第一文件合并策略,所述第一文件合并策略以文件数量达到第一设定阈值作为触发条件;
第二文件合并策略,所述第二文件合并策略以时间作为触发条件。
优选地,所述文件类别包括第一类文件、第二类文件和第三类文件,其中,
所述第一类文件为新生成且未参与文件合并的文件或根据第一合并策略生成的文件;
所述第二类文件为根据第二文件合并策略生成的文件;
所述第三类文件为数据容量大于第二设定阈值的文件。
优选地,所述根据所述文件合并策略,触发合并判断,判断是否满足与所述文件合并策略对应的文件合并触发条件包括:
当有新的第一类文件生成时,触发合并判断,根据第一文件合并策略判断是否满足合并触发条件;
在所有第一类文件中文件数据容量满足预设容量条件的文件的数量大于第一设定阈值时,确定满足合并触发条件。
优选地,所述根据所述文件合并策略,触发合并判断,判断是否满足与所述文件合并策略对应的文件合并触发条件包括:
根据第二文件合并策略判断是否满足预设的时间触发条件;
所述选取满足文件合并触发条件的文件,执行文件合并处理为:
在满足预设的时间触发条件时,对第一类文件和第二类文件进行合并。
优选地,所述方法还包括:
当对所述第一类文件和所述第二类文件进行合并后,将合并后的文件中数据容量大于第二设定阈值的文件作为第三类文件,对所述第三类文件进行归档处理。
另一方面,本发明实施例提供了一种文件合并装置,所述装置包括:
获取单元,用于当有新文件生成时,确定所述新文件的类别,根据预存的文件类别与文件合并策略的对应关系,获取与所述新文件的类别对应的文件合并策略;
触发判断单元,用于根据获取单元发送的所述文件合并策略,触发合并判断,判断是否满足与所述文件合并策略对应的文件合并触发条件;
合并执行单元,用于在触发判断单元判断满足与所述文件合并策略对应的文件合并触发条件时选取满足文件合并触发条件的文件,执行文件合并处理。
优选地,所述文件合并策略包括以下任意一种或多种策略:
第一文件合并策略,所述第一文件合并策略以文件数量达到第一设定阈值作为触发条件;
第二文件合并策略,所述第二文件合并策略以时间作为触发条件。
优选地,所述文件类别包括第一类文件、第二类文件和第三类文件,其中,
所述第一类文件为新生成且未参与文件合并的文件或根据第一合并策略生成的文件;
所述第二类文件为根据第二文件合并策略生成的文件;
所述第三类文件为数据容量大于第二设定阈值的文件。
优选地,所述触发判断单元为:
第一触发判断子单元,用于当有新的第一类文件生成时,触发合并判断,根据第一文件合并策略判断是否满足合并触发条件;在所有第一类文件中文件数据容量满足预设容量条件的文件的数量大于第一设定阈值时,确定满足合并触发条件。
优选地,所述触发判断单元具体为:
第二触发判断子单元,用于根据第二文件合并策略判断是否满足预设的时间触发条件;
则所述合并执行单元用于在第二触发判断单元判断满足预设的触发条件时,对第一类文件和第二类文件进行合并。
优选地,所述装置还包括:
归档处理单元,用于当对所述第一类文件和所述第二类文件进行合并后,对合并后的文件中数据容量大于第二设定阈值的文件作为第三类文件,对所述第三类文件进行归档处理。
本发明实施例能够达到的有益效果为:在本发明实施例中,不同于现有技术中对所有文件均进行实时合并处理的方案,对增量数据库中的文件进行分类处理,根据不同的文件类别制定了不同的合并处理策略。当有新的文件生成时,首先确定新文件的类别,并根据文件的类别获取与其对应的合并策略。其中,第一类文件参与以文件数量作为触发条件的实时合并,第一类文件和第二类文件参与以时间作为触发条件的定时合并,第三类文件进行归档处理不参与合并,使得文件的合并开销始终保持可控。由于对文件进行分类处理,使得不同的文件有不同的合并处理策略,相对于现有技术提供的方法,使得文件的合并开销始终保持可控。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的文件合并方法第一实施例流程图;
图2为本发明实施例提供的文件合并方法第二实施例流程图;
图3为本发明实施例增量数据库示意图;
图4为本发明实施例提供的文件合并方法第三实施例流程图;
图5为本发明一实施例提供的文件合并装置示意图;
图6为本发明又一实施例提供的文件合并装置示意图。
具体实施方式
本发明实施例提供了一种文件合并的方法和装置,可以根据文件的类别执行不同的文件合并策略,使得文件的合并开销始终保持可控,且进一步降低了文件合并的开销。
为了使本技术领域的人员更好地理解本发明中的技术方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
本发明实施例提供的方法可以应用于所有文件数据的合并,包括但不限于磁盘文件、非磁盘文件存储的数据、文件系统的增量数据、非典型文件系统的增量数据等。
下面以增量数据库为例,对本发明实施例提供的文件合并方法进行说明。前面提到,在增量数据库中,数据是以追加而非修改的方式保存在数据库中的,数据的修改、删除和更新操作,均会导致新的文件产生。数据入库和文件的生成是一个持续性的过程,随着数据量的增加,文件合并的开销会越来越大。因此亟需一种文件合并方法既能够在数据持续增长的过程中有效减少磁盘随机输入输出,同时能够尽可能地避免影响数据库读写性能。
参见图1,为本发明提供的文件合并方法第一实施例流程图,所述方法包括:
S101,当有新文件生成时,确定所述新文件的类别,根据预存的文件类别与文件合并策略的对应关系,获取与所述新文件的类别对应的文件合并策略。
在本发明第一实施例中,新文件为新生成的文件,可以是内存数据持久化生成的文件(即入数据库时直接生成的文件),也可以是文件合并生成的文件。在本发明第一实施例中,可以根据文件生成的方式对文件进行分类。当然,还可以根据文件数据容量大小对文件进行分类。本发明对具体的文件分类方式不进行限定,文件分类的主要目的是对文件进行分流处理,以保证参与某一类合并(例如实时合并)的文件数量较少,不占用系统资源,以使得合并开销可控。
当确定新文件的类别后,即根据预存的文件类别与文件合并策略的对应关系,获取与所述新文件的类别对应的文件合并策略。在本发明第一实施例中,不同的文件类别对应不同的文件合并策略。这样,可以使得某一类别的文件参与对应的文件合并策略,使得参与某一类文件合并策略的文件数量保持可控,进而使得合并开销可控。
S102,根据所述文件合并策略,触发合并判断,判断是否满足文件合并触发条件。
S103,如果满足,选取满足文件合并触发条件的文件,执行文件合并处理。
不同的文件合并策略有不同的合并触发条件,当满足合并触发条件时,选取满足所述合并触发条件的文件,触发合并处理流程对满足条件的文件进行合并。具体地,满足文件合并触发条件的文件与所述新文件属于同一类别,其包括与所述新文件属于同一类别的、满足合并触发条件的所有文件。在本发明第一实施例中,可以通过发送合并操作指令触发对符合条件的文件的合并。其中,合并操作指令可以包括参与合并的文件的范围以及合并操作的类型,例如定时合并或实时合并。本发明对触发合并的方式不进行限定,本领域技术人员在不付出创造性劳动下获取的其他实施方式均属于本发明的保护范围。
在本发明第一实施例中,不同于现有技术中对所有文件均进行实时合并处理的方案,对增量数据库中的文件进行分类处理,根据不同的文件类别制定了不同的合并处理策略。当有新的文件生成时,首先确定新文件的类别,并根据文件的类别获取与其对应的合并策略。由于对文件进行分类处理,使得不同的文件有不同的合并处理策略,对文件进行了分流处理,以保证参与某一类合并(例如实时合并)的文件数量较少,不占用系统资源,相对于现有技术提供的方法,使得文件的合并开销始终保持可控。
下面参照附图2,对本发明第二实施例进行详细介绍。
在本发明第二实施例中,在现有技术由文件数量触发的文件合并(又可称为实时合并)的基础上,引入了由时间触发的文件合并(定时合并)机制,即在指定时刻触发文件合并操作。并针对不同类别的文件制定不同的合并策略,保证文件合并开销可控,提高了数据库读写性能。
参见图2,为本发明实施例提供的文件合并方法第二实施例流程图。
S201,当有新的第一类文件生成时或满足预设的时间触发条件时,触发合并判断。
在本发明第二实施例中,仍以增量数据库为例进行说明。参见图3,为增量数据库的四个功能模块:数据缓冲模块301,文件存储模块302,数据读取模块303,文件合并管理模块304。如图3所示,当执行对数据库的写操作时,数据缓冲模块301用于将新写入的数据存储到内存缓冲区并触发内存数据的全部或部分持久化到非易失存储介质,如生成磁盘文件。其中,缓冲区数据持久化的触发条件可能是缓冲区数据容量、持续时间、操作数等达到特定条件。当缓冲区数据完成已持久化,则从缓冲区清除,从而保持数据缓冲模块容量的持续可用性。在本发明第二实施例中,将缓冲区触发持久化生成的文件被归类为第一类文件。文件存储模块302用于保存由数据缓冲模块301生成的持久化数据文件以及维护数据文件的分类信息。每当新的数据文件生成,文件存储模块302获取该文件的分类信息,并将其与文件同步持久化。持久化文件分类信息的方法,可以是写入到文件名、生成伴随文件,或同步写入独立分类信息文件等;或者为文件添加标识信息,以代表文件不同的分类等。下面对本发明实施例中文件分类的方法进行介绍。
在本发明第二实施例中,文件合并策略包括:
第一文件合并策略,所述第一文件合并策略以文件数量达到第一设定阈值作为触发条件,即实时合并策略。第一设定阈值N为当进行实时合并处理时,判断是否满足触发条件的一个阈值,当文件的数量大于第一设定阈值N时,则满足触发条件;当文件的数量小于第一设定阈值N时,则不满足触发条件。第一设定阈值N可以保证每次进行实时合并处理时至少包含N个文件,避免参与合并的文件数量过少造成合并过于频繁,进而造成资源的占用。
第二文件合并策略,所述第二文件合并策略以时间作为触发条件,即定时合并策略。
在本发明第二实施例中,还包括归档策略,即当文件数据容量大于第二设定阈值的文件不参与合并,进行归档处理。第二设定阈值为归档阈值,当文件的数据容量大于第二设定阈值A时,则对文件进行归档处理,归档文件不参与合并。
与文件合并策略对应的,在本发明第二实施例中,根据文件生成的方式将文件划分为三类。具体的,可以将文件分为以下三类:
(1)第一类文件为新生成且未参与文件合并的文件或根据第一文件合并策略生成的文件。也就是说,第一类文件包括内存数据持久化生成的文件,即入库时直接生成的文件。第一类文件还包括根据第一文件合并策略生成的文件,也就是实时合并生成的新文件。
(2)第二类文件为根据第二文件合并策略生成的且文件数据容量小于第三设定阈值的文件。具体的,对于定时合并生成的文件,如果文件大小小于第三设定阈值A,标记为第二类文件。
(3)第三类文件为根据第二文件合并策略生成的且文件数据容量大于第三设定阈值的文件,也就是由定时合并生成的文件容量大于等于第三设定阈值A,标记为第三类文件(归档类)。文件合并操作的最后,新生成的文件取代参与合并的旧文件,成为数据读取模块读取的对象。
文件合并管理模块用于从文件存储模块获取文件的类别以及生成实时合并操作指令。下面将具体进行说明。在本发明第二实施例中,包含触发判断步骤,当有新的第一类文件生成时或满足预设的时间触发条件时,触发合并判断。其中,文件的类别是在文件生成时即根据文件生成的方式确定的。预设的时间触发条件可以是到达预设的时刻或者达到预设的时间间隔等,本发明对此不进行限定。
S202,当判断新文件的类别为第一类文件时,根据第一文件合并策略判断是否满足合并触发条件。
具体的,在本发明第二实施例中,第一文件合并策略为以文件数量达到第一设定阈值作为触发条件,即实时合并策略。每当有新的第一类文件生成时,触发一次实时合并判断,在所有第一类文件中,当文件的数据容量满足预设容量条件的文件的数量大于第一设定阈值时,确定满足合并触发条件,则生成“将这些文件合并为第一类文件”的指令,发送给文件存储模块。
也就是说,判断是否满足合并触发条件需要同时满足以下两个条件:
(1)文件的数据容量满足预设容量条件。
(2)满足条件(1)的文件的数量大于第一设定阈值N。
具体的,在本发明实施例中,预设容量条件为文件的数据容量大于0.5S且小于1.5S。S为一个设定的容量值,一般的,S大于50MB。预设容量条件可以由系统设定,也可以是根据需要设置其他条件。设定预设容量条件的目的是为了使得相近大小的文件优先进行合并,有利于减少文件合并的次数,进而降低合并开销。在这里,第一设定阈值N可以通过系统设定,以保证每次实时合并时至少包含N个文件,避免参与合并文件数量过少导致合并过于频繁。设置容量值S使得相近大小的文件优先进行合并,有利于减少文件合并的次数。
S203,在所有第一类文件中文件数据容量满足预设容量条件的文件的数量大于第一设定阈值时,确定满足合并触发条件。
S204,选取满足合并触发条件的第一类文件,执行文件合并处理。
具体地,在本发明第二实施例中,合并处理流程具体如下:首先每个文件中的数据是排序的,打开待合并文件的读取文件流以及一个新文件的写入文件流。其中,每个文件流包含一个游标,以便于按顺序从头至尾获取数据记录。合并处理流程从所有打开的文件流中,查找主键值最小(或主键值最大,取决于数据排序规则)的数据。若存在多个主键值相等的数据(例如同一条记录在两个文件中的更新信息),则对着多条数据合并(非主键字段按照时间戳较大优先原则选取),否则直接选取该数据。将上一步骤选取的数据追加到新的文件中,以实现文件合并。
S205,当满足预设的时间触发条件时,对第一类文件和第二类文件进行合并。
在本发明第二实施例中,在实时合并基础上,引入了定时合并机制,当满足预设的时间触发条件时,则触发合并判断。预设的时间触发条件可以是系统预设的时刻T1到达时触发定时合并,也可以是每隔T2个时间段则执行一次定时合并,也可以是其他时间触发条件,本发明对此不进行限定。由于定时合并需要第一类文件和第二类文件的参与,因此,合并的数据量总量较大,因此定时合并执行的开销也较大。具体地,可以选择数据库业务最空闲的时刻,例如每天深夜的时刻执行定时合并。
S206,判断由定时合并产生的合并后的文件的数据容量是否大于第二设定阈值A。如果大于,进入步骤S208,如果不大于,进入步骤S207。
S207,如果否,将合并后的文件作为第二类文件进行存储。
当预设的时间条件满足时,则会触发对新生成的第二类文件的定时合并。
S208,如果是,将合并后的文件作为第三类文件进行归档处理。
如果经过定时合并生成的文件数据容量大于第二设定阈值,则将其作为第三类文件,进行归档处理。第三类文件将不再参与文件的合并。一般的,第二设定阈值是一个较大的阈值,例如200G。设置该参数的目的在于避免过大文件参与合并,从而避免了合并造成CPU和磁盘IO开销随着数据库容量增长而无限增加。
在本发明第二实施例中,在现有技术由文件数量触发的文件合并(又可称为实时合并)的基础上,引入了由时间触发的文件合并(定时合并)机制,即在指定时刻触发文件合并操作。例如,可以在数据库业务最空闲的时刻触发文件合并,可以有效地缓解数据库业务繁忙时文件合并造成的硬件资源竞争压力,提高数据库性能。
另一方面,在本发明第二实施例中,只有新入库和参与实时合并生成的文件才参与实时合并,而由定时合并产生的大容量文件则不参与实时合并,使得参与定时合并的文件数量大大缩小,其文件数据量保持可控,进一步保证了合并开销可控。
再一方面,由于设置了第三设定阈值A,即归档阈值,对大于文件数据容量归档阈值的文件进行归档处理,不参与文件合并,避免了大文件参与合并,从而避免了合并造成CPU和磁盘IO开销随着数据库容量增长而无限增加,从而保证合并开销可控。
现有技术中,现有技术提供的方法中,始终以将所有历史数据合并到一起为目标,所有的历史文件均参与实时合并,这样处理带来的另一个问题则是会在业务繁忙时加剧硬件资源竞争。通常数据库操作繁忙的时段,新数据文件增长速度最快,按照现有技术提供的方法,此时由数量阈值触发的合并操作将最为频繁。这一现象导致了现有技术的合并操作会在数据库业务高峰时段与主功能竞争硬件资源,例如CPU和磁盘I/O等,严重影响数据库本身的性能。现有技术在数据库业务空闲时段,合并任务也相对空闲,从而浪费了闲时的硬件处理能力。
为了解决这一问题,在本发明第三实施例中,与第二实施例不同的是,只在数据库相对空闲的时刻进行定时合并。当由定时合并产生的文件数据容量大于第三设定阈值A时,对文件进行归档处理。与第二实施例实时合并加定时合并的合并策略不同的是,在本发明第三实施例中,只包括定时合并策略以及归档处理策略。
参见图4,为本发明实施例提供的文件合并方法第三实施例流程图。
S401,当有新的文件生成时,确定新文件的类别。
在本发明这一实施例中,将文件划分为归档文件和非归档文件。文件数据容量大于设定阈值的被标记为归档文件,不参与合并处理。文件数据容量小于设定阈值的文件才参与定时合并。
S402,当满足预设的时间触发条件时,对非归档文件进行合并。
在本发明第三实施例中,将文件划分为归档文件和非归档文件,并为不同类别的文件制定了不同的合并策略。对于归档文件,不参与定时合并处理。对于非归档文件,参与由时间阈值触发的定时合并。这里,预设的时间触发条件可以是系统预设的时刻T1到达时触发定时合并,也可以是每隔T2个时间段则执行一次定时合并,也可以是其他时间触发条件,本发明对此不进行限定。
S403,判断由定时合并产生的合并后的文件的数据容量是否大于第二设定阈值A。如果不大于,进入步骤S404,如果大于,进入步骤S405。
S404,如果否,将合并后的文件作为非归档文件进行存储。
当预设的时间条件满足时,则会触发对新生成的非归档文件的定时合并。
S405,如果是,将合并后的文件作为归档文件进行归档处理,归档文件不参与文件合并。
在本发明第三实施例中,在数据库业务空闲的时刻对文件进行合并处理,解决了现有技术业务繁忙时导致资源竞争的缺点。另一方面,将合并后的文件中数据容量大于设定阈值的文件进行归档处理,使得合并的开销在一个归档周期内递增,而达到归档条件后则会回落到最低值,使得合并开销可控。
参见图5,为本发明实施例提供的文件合并的装置示意图。
所述装置包括:
获取单元501,用于当有新文件生成时,确定所述新文件的类别;根据预存的文件类别与文件合并策略的对应关系,获取与所述新文件的类别对应的文件合并策略。
触发判断单元502,用于根据获取单元发送的所述文件合并策略,触发合并判断,判断是否满足与所述文件合并策略对应的文件合并触发条件。
合并执行单元503,用于在触发判断单元502判断满足与所述文件合并策略对应的文件合并触发条件时,选取满足文件合并触发条件的文件,执行文件合并处理。
进一步地,所述文件合并策略包括以下任意一种或多种策略:
第一文件合并策略,所述第一文件合并策略以文件数量达到第一设定阈值作为触发条件;
第二文件合并策略,所述第二文件合并策略以时间作为触发条件。
进一步地,所述文件类别包括第一类文件、第二类文件和第三类文件,其中,
所述第一类文件为新生成且未参与文件合并的文件或根据第一合并策略生成的文件,所述第一文件合并策略以文件数量达到第一设定阈值作为触发条件;
所述第二类文件为根据第二文件合并策略生成的文件,所述第二文件合并策略以时间作为触发条件;
所述第三类文件为数据容量大于第二设定阈值的文件。
进一步地,所述触发判断单元为:
第一触发判断子单元,用于当有新的第一类文件生成时,触发合并判断,根据第一文件合并策略判断是否满足合并触发条件;在所有第一类文件中文件数据容量满足预设容量条件的文件的数量大于第一设定阈值时,确定满足合并触发条件。
所述合并执行单元用于在第一触发判断单元根据第一文件合并策略判断满足合并触发条件时,选取满足条件的第一类文件,触发合并处理流程,对满足所述合并触发条件的文件进行合并。
进一步地,所述触发判断单元具体为:
第二触发判断子单元,用于根据第二文件合并策略判断是否满足预设的时间触发条件。
所述合并执行单元用于在第二触发判断单元判断满足预设的时间触发条件时,对第一类文件和第二类文件进行合并。
进一步地,所述装置还包括:
归档处理单元,用于当对所述第一类文件和所述第二类文件进行合并后,对合并后的文件中数据容量大于第二设定阈值的文件作为第三类文件,对所述第三类文件进行归档处理。
参见图6,为本发明又一实施例提供的文件合并装置示意图。
所述装置包括:
存储器601,用于存储文件类别与文件合并策略的对应关系;
处理器602,用于当有新文件生成时,确定所述新文件的类别,根据所述存储器601存储的文件类别与文件合并策略的对应关系,获取与所述新文件的类别对应的文件合并策略;根据所述文件合并策略,触发合并判断,判断是否满足与所述文件合并策略对应的文件合并触发条件;如果满足,选取满足文件合并触发条件的文件,执行文件合并处理。
进一步地,所述文件合并策略包括:
第一文件合并策略,所述第一文件合并策略以文件数量达到第一设定阈值作为触发条件;
第二文件合并策略,所述第二文件合并策略以时间作为触发条件。
所述文件类别包括第一类文件、第二类文件和第三类文件,其中,
所述第一类文件为新生成且未参与文件合并的文件或根据第一文件合并策略生成的文件;
所述第二类文件为根据第二文件合并策略生成的文件;
所述第三类文件为数据容量大于第二设定阈值的文件。
进一步地,所述处理器602具体用于当有新的第一类文件生成时,触发合并判断,根据第一文件合并策略判断是否满足合并触发条件;在所有第一类文件中文件数据容量满足预设容量条件的文件的数量大于第一设定阈值时,确定满足合并触发条件;以及选取满足条件的第一类文件,触发合并处理流程,对满足所述合并触发条件的文件进行合并。
进一步地,所述处理器602还用于根据第二文件合并策略判断是否满足预设的时间触发条件,当判断满足预设的时间触发条件时,对第一类文件和第二类文件进行合并。
进一步地,所述处理器602还用于当对所述第一类文件和所述第二类文件进行合并后,对合并后的文件中数据容量大于第二设定阈值的文件作为第三类文件,对所述第三类文件进行归档处理。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本发明可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本发明,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
以上所述仅是本发明的具体实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (12)

1.一种文件合并的方法,其特征在于,所述方法包括:
当有新文件生成时,确定所述新文件的类别,根据预存的文件类别与文件合并策略的对应关系,获取与所述新文件的类别对应的文件合并策略;
根据所述文件合并策略,触发合并判断,判断是否满足与所述文件合并策略对应的文件合并触发条件;
如果满足,选取满足文件合并触发条件的文件,执行文件合并处理。
2.根据权利要求1所述的方法,其特征在于,所述文件合并策略包括以下任意一种或多种策略:
第一文件合并策略,所述第一文件合并策略以文件数量达到第一设定阈值作为触发条件;
第二文件合并策略,所述第二文件合并策略以时间作为触发条件。
3.根据权利要求2所述的方法,其特征在于,所述文件类别包括第一类文件、第二类文件和第三类文件,其中,
所述第一类文件为新生成且未参与文件合并的文件或根据第一文件合并策略生成的文件;
所述第二类文件为根据第二文件合并策略生成的文件;
所述第三类文件为数据容量大于第二设定阈值的文件。
4.根据权利要求3所述的方法,其特征在于,所述根据所述文件合并策略,触发合并判断,判断是否满足与所述文件合并策略对应的文件合并触发条件包括:
当有新的第一类文件生成时,触发合并判断,根据第一文件合并策略判断是否满足合并触发条件;
在所有第一类文件中文件数据容量满足预设容量条件的文件的数量大于第一设定阈值时,确定满足合并触发条件。
5.根据权利要求3所述的方法,其特征在于,所述根据所述文件合并策略,触发合并判断,判断是否满足与所述文件合并策略对应的文件合并触发条件包括:
根据第二文件合并策略判断是否满足预设的时间触发条件;
所述选取满足文件合并触发条件的文件,执行文件合并处理为:
在满足预设的时间触发条件时,对第一类文件和第二类文件进行合并。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
当对所述第一类文件和所述第二类文件进行合并后,将合并后的文件中数据容量大于第二设定阈值的文件作为第三类文件,对所述第三类文件进行归档处理。
7.一种文件合并的装置,其特征在于,所述装置包括:
获取单元,用于当有新文件生成时,确定所述新文件的类别,根据预存的文件类别与文件合并策略的对应关系,获取与所述新文件的类别对应的文件合并策略;
触发判断单元,用于根据获取单元发送的所述文件合并策略,触发合并判断,判断是否满足与所述文件合并策略对应的文件合并触发条件;
合并执行单元,用于在触发判断单元判断满足与所述文件合并策略对应的文件合并触发条件时,选取满足文件合并触发条件的文件,执行文件合并处理。
8.根据权利要求7所述的装置,其特征在于,所述文件合并策略包括以下任意一种或多种策略:
第一文件合并策略,所述第一文件合并策略以文件数量达到第一设定阈值作为触发条件;
第二文件合并策略,所述第二文件合并策略以时间作为触发条件。
9.根据权利要求8所述的装置,其特征在于,所述文件类别包括第一类文件、第二类文件和第三类文件,其中,
所述第一类文件为新生成且未参与文件合并的文件或根据第一合并策略生成的文件;
所述第二类文件为根据第二文件合并策略生成的文件;
所述第三类文件为数据容量大于第二设定阈值的文件。
10.根据权利要求9所述的装置,其特征在于,所述触发判断单元为:
第一触发判断子单元,用于当有新的第一类文件生成时,触发合并判断,根据第一文件合并策略判断是否满足合并触发条件;在所有第一类文件中文件数据容量满足预设容量条件的文件的数量大于第一设定阈值时,确定满足合并触发条件。
11.根据权利要求9所述的装置,其特征在于,所述触发判断单元具体为:
第二触发判断子单元,用于根据第二文件合并策略判断是否满足预设的时间触发条件;
则所述合并执行单元用于在第二触发判断单元判断满足预设的时间触发条件时,对第一类文件和第二类文件进行合并。
12.根据权利要求11所述的装置,其特征在于,所述装置还包括:
归档处理单元,用于当对所述第一类文件和所述第二类文件进行合并后,对合并后的文件中数据容量大于第二设定阈值的文件作为第三类文件,对所述第三类文件进行归档处理。
CN201210270365.7A 2012-08-01 2012-08-01 一种文件合并方法和装置 Active CN103577454B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN201210270365.7A CN103577454B (zh) 2012-08-01 2012-08-01 一种文件合并方法和装置
CN201910113175.6A CN109960688A (zh) 2012-08-01 2012-08-01 一种文件合并方法和装置
PCT/CN2013/070619 WO2014019349A1 (zh) 2012-08-01 2013-01-17 一种文件合并方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210270365.7A CN103577454B (zh) 2012-08-01 2012-08-01 一种文件合并方法和装置

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN201910113175.6A Division CN109960688A (zh) 2012-08-01 2012-08-01 一种文件合并方法和装置

Publications (2)

Publication Number Publication Date
CN103577454A true CN103577454A (zh) 2014-02-12
CN103577454B CN103577454B (zh) 2019-03-01

Family

ID=50027187

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201210270365.7A Active CN103577454B (zh) 2012-08-01 2012-08-01 一种文件合并方法和装置
CN201910113175.6A Pending CN109960688A (zh) 2012-08-01 2012-08-01 一种文件合并方法和装置

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN201910113175.6A Pending CN109960688A (zh) 2012-08-01 2012-08-01 一种文件合并方法和装置

Country Status (2)

Country Link
CN (2) CN103577454B (zh)
WO (1) WO2014019349A1 (zh)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104021213A (zh) * 2014-06-20 2014-09-03 中国银行股份有限公司 一种合并关联记录的方法及装置
CN106067889A (zh) * 2015-04-23 2016-11-02 宏达国际电子股份有限公司 电子装置及其上传方法
CN107861959A (zh) * 2016-09-22 2018-03-30 阿里巴巴集团控股有限公司 数据处理方法、装置及系统
CN108021702A (zh) * 2017-12-26 2018-05-11 百度在线网络技术(北京)有限公司 基于LSM-tree的分级存储方法、装置、OLAP数据库系统及介质
WO2019161679A1 (zh) * 2018-02-26 2019-08-29 众安信息技术服务有限公司 一种用于联机分析处理的数据处理方法和装置
CN110888837A (zh) * 2019-11-15 2020-03-17 星辰天合(北京)数据科技有限公司 对象存储小文件归并方法及装置
CN112925759A (zh) * 2021-03-31 2021-06-08 北京金山云网络技术有限公司 数据文件的处理方法和装置、存储介质、电子装置
CN112925759B (zh) * 2021-03-31 2024-05-31 北京金山云网络技术有限公司 数据文件的处理方法和装置、存储介质、电子装置

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10452651B1 (en) 2014-12-23 2019-10-22 Palantir Technologies Inc. Searching charts
US9672257B2 (en) 2015-06-05 2017-06-06 Palantir Technologies Inc. Time-series data storage and processing database system
US9753935B1 (en) 2016-08-02 2017-09-05 Palantir Technologies Inc. Time-series data storage and processing database system
GB201708818D0 (en) 2017-06-02 2017-07-19 Palantir Technologies Inc Systems and methods for retrieving and processing data
US10417224B2 (en) 2017-08-14 2019-09-17 Palantir Technologies Inc. Time series database processing system
US10216695B1 (en) 2017-09-21 2019-02-26 Palantir Technologies Inc. Database system for time series data storage, processing, and analysis
US11281726B2 (en) 2017-12-01 2022-03-22 Palantir Technologies Inc. System and methods for faster processor comparisons of visual graph features
US11016986B2 (en) 2017-12-04 2021-05-25 Palantir Technologies Inc. Query-based time-series data display and processing system

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101018121A (zh) * 2007-03-15 2007-08-15 杭州华为三康技术有限公司 日志的聚合处理方法及聚合处理装置
CN101605028A (zh) * 2009-02-17 2009-12-16 北京安天电子设备有限公司 一种日志记录合并方法和系统
CN101902335A (zh) * 2009-05-27 2010-12-01 北京启明星辰信息技术股份有限公司 一种数据过滤与合并的方法
CN102023991A (zh) * 2009-09-21 2011-04-20 中兴通讯股份有限公司 在终端上更新索引并基于其对搜索结果排序的方法及装置
EP2404250A1 (en) * 2009-03-02 2012-01-11 Thales-Raytheon Systems Company LLC Merging records from different databases

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7702666B2 (en) * 2002-06-06 2010-04-20 Ricoh Company, Ltd. Full-text search device performing merge processing by using full-text index-for-registration/deletion storage part with performing registration/deletion processing by using other full-text index-for-registration/deletion storage part
CN101571827A (zh) * 2008-04-30 2009-11-04 国际商业机器公司 保存日志的方法和日志系统
US8495316B2 (en) * 2008-08-25 2013-07-23 Symantec Operating Corporation Efficient management of archival images of virtual machines having incremental snapshots
CN102087646B (zh) * 2009-12-07 2013-03-20 北大方正集团有限公司 一种索引建立方法及装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101018121A (zh) * 2007-03-15 2007-08-15 杭州华为三康技术有限公司 日志的聚合处理方法及聚合处理装置
CN101605028A (zh) * 2009-02-17 2009-12-16 北京安天电子设备有限公司 一种日志记录合并方法和系统
EP2404250A1 (en) * 2009-03-02 2012-01-11 Thales-Raytheon Systems Company LLC Merging records from different databases
CN101902335A (zh) * 2009-05-27 2010-12-01 北京启明星辰信息技术股份有限公司 一种数据过滤与合并的方法
CN102023991A (zh) * 2009-09-21 2011-04-20 中兴通讯股份有限公司 在终端上更新索引并基于其对搜索结果排序的方法及装置

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104021213A (zh) * 2014-06-20 2014-09-03 中国银行股份有限公司 一种合并关联记录的方法及装置
CN104021213B (zh) * 2014-06-20 2017-06-16 中国银行股份有限公司 一种合并关联记录的方法及装置
CN106067889A (zh) * 2015-04-23 2016-11-02 宏达国际电子股份有限公司 电子装置及其上传方法
CN106067889B (zh) * 2015-04-23 2019-06-25 宏达国际电子股份有限公司 电子装置及其上传方法
CN107861959A (zh) * 2016-09-22 2018-03-30 阿里巴巴集团控股有限公司 数据处理方法、装置及系统
CN108021702A (zh) * 2017-12-26 2018-05-11 百度在线网络技术(北京)有限公司 基于LSM-tree的分级存储方法、装置、OLAP数据库系统及介质
WO2019161679A1 (zh) * 2018-02-26 2019-08-29 众安信息技术服务有限公司 一种用于联机分析处理的数据处理方法和装置
CN110888837A (zh) * 2019-11-15 2020-03-17 星辰天合(北京)数据科技有限公司 对象存储小文件归并方法及装置
CN112925759A (zh) * 2021-03-31 2021-06-08 北京金山云网络技术有限公司 数据文件的处理方法和装置、存储介质、电子装置
CN112925759B (zh) * 2021-03-31 2024-05-31 北京金山云网络技术有限公司 数据文件的处理方法和装置、存储介质、电子装置

Also Published As

Publication number Publication date
CN103577454B (zh) 2019-03-01
WO2014019349A1 (zh) 2014-02-06
CN109960688A (zh) 2019-07-02

Similar Documents

Publication Publication Date Title
CN103577454A (zh) 一种文件合并方法和装置
CN105589812B (zh) 磁盘碎片整理方法、装置及主机
CN103688248B (zh) 一种存储阵列的管理方法、装置和控制器
CN102332029B (zh) 一种基于Hadoop 的海量可归类小文件关联存储方法
CN103631940B (zh) 一种应用于hbase数据库的数据写入方法及系统
CN105630955B (zh) 一种高效动态的数据集合成员管理方法
CN103412916B (zh) 一种监控系统的多维度数据存储、检索方法及装置
CN106502587B (zh) 硬盘数据管理方法和硬盘控制装置
CN103744617B (zh) 一种键-值存储系统中数据文件的合并压缩方法及装置
US20150058548A1 (en) HIERARCHICAL STORAGE FOR LSM-BASED NoSQL STORES
CN106201916B (zh) 一种面向ssd的非易失缓存方法
CN106527973A (zh) 一种数据重复删除的方法及装置
CN106445405A (zh) 一种面向闪存存储的数据访问方法及其装置
CN104503703B (zh) 缓存的处理方法和装置
CN102968496A (zh) 基于任务驱动和双缓冲机制的并行排序方法
WO2016070529A1 (zh) 一种实现重复数据删除的方法及装置
CN107526550A (zh) 一种基于日志结构合并树的两阶段合并方法
CN103812877A (zh) 基于Bigtable分布式存储系统的数据压缩方法
CN106598495A (zh) 一种混合存储服务质量的控制方法及控制装置
CN102981783A (zh) 一种基于Nand Flash的Cache加速方法
CN104572505A (zh) 一种保证海量数据缓存最终一致性的系统及方法
CN103502925B (zh) 一种监控记录管理方法与装置
CN103064633A (zh) 一种数据存储方法及装置
CN109375868B (zh) 一种数据存储方法、调度装置、系统、设备及存储介质
CN107180051A (zh) 一种日志管理方法、服务器

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant