当前位置: 首页 > 专利查询>伊姆西公司专利>正文

增量备份方法和设备技术

技术编号:14905736 阅读:54 留言:0更新日期:2017-03-29 20:20
本公开的实施例涉及一种增量备份方法和设备,所述方法包括接收要备份的文件路径集合,解析文件路径集合中的每个文件路径以构建前缀树,遍历所述前缀树以读取前缀树中的有序文件路径集合,以及根据有序文件路径集合来有序地进行增量备份。本公开的实施例利用共享共同路径前缀的前缀树,来对要备份的文件路径集合进行排序,能够实现文件路径集合的快速排序,并且能够有效节省在存储器中排序大量文件路径时所需要的存储空间,以及减少排序时执行文件名比较的操作次数。

【技术实现步骤摘要】

本公开的实施例总体上涉及数据备份技术,更具体地涉及增量备份方法和设备。
技术介绍
增量备份是指只备份上次备份以后修改过或者新增加的数据信息,其通常需要对所有的文件进行遍历。一般来说,快速增量备份通过快照技术发现区别文件和元数据,并加以备份。在快速增量备份的过程中,通过比较两次快照之间的区别文件和元数据所得到的增量文件路径,该文件路径的顺序是按照它们在快照中的先后位置而被依次返回,因此无法保证返回的文件路径的顺序。然而,用于增量备份的数据管理应用(DMA)通常只能针对特定顺序的文件路径进行批量备份处理,因而在增量备份的过程中,需要对生成的文件路径集合执行排序处理。通常,使用快速排序(quicksort)来对生成的文件路径集合进行排序处理。然而,在某些情况下,需要排序的文件数量可以达到千万级别(例如,2700万个文件),而且文件路径经常是较长的字符串(例如,最长的文件路径长度大约为4KB)。对于如此多的文件数量和如此长的文件路径,如果要在存储器中执行快速排序,则最多需要100GB(2700万×4KB)的存储器空间。此外,如果将该排序移到磁盘中进行处理(也被称为外部排序),由于磁盘的速度远低于存储器,因此需要消耗很长的排序时间。因此,在传统的快速排序方法仅仅擅长数字的排序、现有的TRIE树仅适合较短的字符串(例如,单词)的排序的情况下,如何对要备份的文件路径集合实现快速高效地排序,并且节省要备份的文件路径集合的存储空间,成为一个亟待解决的问题。
技术实现思路
有鉴于此,本公开的实施例提供一种增量备份方法和设备,能够对文件路径集合执行快速排序,并且节省在存储器中排序大量文件路径时所需要的存储空间。根据本公开的一个方面,公开了一种增量备份方法,该方法包括:接收要备份的文件路径集合,解析文件路径集合中的每个文件路径以构建前缀树,遍历前缀树以读取前缀树中的有序文件路径集合,以及根据有序文件路径集合来有序地进行增量备份。根据本公开的一个实施例,其中要备份的文件路径至少包括字母和特殊字符。根据本公开的另一个实施例,其中前缀树中的任何一个节点的所有子节点具有共同前缀,共同前缀包括一个或者多个字符。根据本公开的又一个实施例,其中前缀树初始为空树。根据本公开的一个实施例,其中解析文件路径集合中的每个文件路径,以构建前缀树包括:在前缀树中依次插入文件路径集合中的每个文件路径,并且将每个文件路径与其被插入时的前缀树进行比较。根据本公开的另一个实施例,其中解析文件路径集合中的每个文件路径,以构建前缀树包括:将具有共同前缀的多个路径的共同前缀分配到同一个节点,其中共同前缀中的至少一个共同前缀包括多个字符。根据本公开的又一个实施例,其中将每个文件路径与其被插入时的前缀树进行比较包括:针对每个文件路径,将文件路径与前缀树中的第N层节点进行前缀匹配,其中N≥1并且N初始值为1:当文件路径与第N层的所有节点之间不存在共同前缀时,将文件路径插入作为第N层的新的节点;当文件路径与第N层的一个节点之间存在共同前缀时,将文件路径插入作为一个节点的新的子节点,其中在所述文件路径被插入时,确保同一层的所有子节点的第一个字符按照ASCII大小进行排序。根据本公开的一个实施例,其中当文件路径与第N层的一个节点之间存在共同前缀时,将文件路径插入作为一个节点的新的子节点包括:当共同前缀是一个节点中的一部分字符时,利用一部分字符来替换一个节点中的字符。此外,在利用一部分字符来替换一个节点中的字符之后,新插入的文件路径的节点内容为被插入的文件路径除去共同前缀的部分,并且先前的一个节点中除了共同前缀之外的剩余部分也作为该一个节点的新的子节点被插入。例如,当原节点为aaabbb时,新插入的路径为aaaccc,在则插入路径后,原节点被更新为aaa,并且该一个节点生成子节点bbb和子节点ccc。根据本公开的另一个实施例,其中在构建前缀树时,基于节点中的第一个字符的ASCII码大小,来对同一层的所有节点进行排序。根据本公开的又一个实施例,其中在构建前缀树时,向存在文件路径的节点分配值。根据本公开的一个实施例,其中遍历前缀树,以读取前缀树中的有序文件路径集合包括:使用深度优先搜索来遍历前缀树,以有序地读取具有值的所有节点作为有序文件路径集合。根据本公开的另一个方面,公开了一种增量备份设备,该设备包括:接收装置,用于接收要备份的文件路径集合;解析装置,用于解析文件路径集合中的每个文件路径,以构建前缀树;遍历装置,用于遍历前缀树,以读取前缀树中的有序文件路径集合;以及备份装置,用于根据有序文件路径集合来有序地进行增量备份。本公开的示例性实施例可以带来以下技术效果中的至少一种:利用共享共同路径前缀的前缀树,来对要备份的文件路径集合进行排序,减少了路径的字符串之间的比较次数,从而能够实现文件路径集合的快速排序;同时,利用共同前缀减少重复的字符串的存储,从而能够节省文件路径的存储空间。附图说明结合附图并参考以下详细说明,本公开的各实施例的特征、优点及其他方面将变得更加明显,在此以示例性而非限制性的方式示出了本公开的若干实施例。在附图中:图1图示了根据本公开的实施例的增量备份方法100的流程图;图2图示了根据本公开的一个实施例的前缀树的示例;图3A-3D图示了构建图2中的前缀树的过程的示例;图4图示了根据本公开的另一实施例的前缀树的示例;图5图示了根据本公开的另一实施例的文件路径排序的示例;图6图示了根据本公开的实施例的增量备份设备600的框图;以及图7图示了可以在其中实现根据本公开的实施例的计算机设备700的框图。具体实施方式以下参考附图详细描述本公开的各个示例性实施例。附图中的流程图和框图示出了根据本公开的各种实施例的方法和系统的可能实现的体系架构、功能和操作。应当注意,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,所述模块、程序段、或代码的一部分可以包括一个或多个用于实现各个实施例中所规定的逻辑功能的可执行指令。也应当注意,在有些作为备选的实现中,方框中所标注的功能也可以按照不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,或者它们有时也可以按照相反的顺序执行,这取决于所涉及的功能。同样应当注意的是,流程图和/或框图中的每个方框、以及流程图和/或框图中的方框的组合,可以使用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以使用专用硬件与计算机指令的组合来实现。本文所使用的术语“包括”、“包含”及类似术语应该被理解为是开放性的术语,即“包括/包含但不限于”。术语“基于”是“至少部分地基于”。术语“一个实施例”表示“至少一个实施例”;术语“另一个实施例”、“又一个实施例”表示“至少一个另外的实施例”。其他术语的相关定义将在下文描述中给出。应当理解,给出这些示例性实施例仅是为了使本领域技术人员能够更好地理解进而实现本公开的实施例,而并非以任何方式限制专利技术的范围。在本公开的实施例中,网络数据管理协议(NDMP)表示备份软件与存储设备之间的一种通用协议,其用于在网络连接存储(NAS)设备与备份设备之间传输数据。网络数据管理协议减少了通过备份服务器本身传输数据的需要,因本文档来自技高网...
增量备份方法和设备

【技术保护点】
一种增量备份方法,包括:接收要备份的文件路径集合;解析所述文件路径集合中的每个文件路径,以构建前缀树;遍历所述前缀树,以读取所述前缀树中的有序文件路径集合;以及根据所述有序文件路径集合来有序地进行增量备份。

【技术特征摘要】
1.一种增量备份方法,包括:接收要备份的文件路径集合;解析所述文件路径集合中的每个文件路径,以构建前缀树;遍历所述前缀树,以读取所述前缀树中的有序文件路径集合;以及根据所述有序文件路径集合来有序地进行增量备份。2.根据权利要求1所述的方法,其中所述要备份的文件路径至少包括字母和特殊字符。3.根据权利要求1所述的方法,其中所述前缀树中的任何一个节点的所有子节点具有共同前缀,所述共同前缀包括一个或者多个字符。4.根据权利要求1所述的方法,其中所述前缀树初始为空树。5.根据权利要求1所述的方法,其中解析所述文件路径集合中的每个文件路径,以构建前缀树包括:在所述前缀树中依次插入所述文件路径集合中的每个文件路径,并且将每个文件路径与其被插入时的前缀树进行比较。6.根据权利要求1所述的方法,其中解析所述文件路径集合中的每个文件路径,以构建前缀树包括:将具有共同前缀的多个路径的所述共同前缀分配到同一个节点,其中所述共同前缀中的至少一个共同前缀包括多个字符。7.根据权利要求5所述的方法,其中将每个文件路径与其被插入时的前缀树进行比较包括:针对每个文件路径,将所述文件路径与所述前缀树中的第N层节点进行前缀匹配,其中N≥1并且N初始值为1:当所述文件路径与所述第N层的所有节点之间不存在共同前缀时,将所述文件路径插入作为所述第N层的新的节点;以及当所述文件路径与所述第N层的一个节点之间存在共同前缀时,将所述文件路
\t径插入作为所述一个节点的新的子节点,其中在所述文件路径被插入时,确保同一层的所有子节点的第一个字符按照ASCII大小进行排序。8.根据权利要求7所述的方法,其中当所述文件路径与所述第N层的一个节点之间存在共同前缀时,将所述文件路径插入作为所述一个节点的新的子节点包括:当所述共同前缀是所述一个节点中的一部分字符时,利用所述一部分字符来替换所述一个节点中的字符。9.根据权利要求1所述的方法,其中在构建所述前缀树时,基于节点中的第一个字符的ASCII码大小,来对同一层的所有节点进行排序。10.根据权利要求1所述的方法,其中在构建所述前缀树时,向存在文件路径的节点分配值。11.根据权利要求10所述的方法,其中遍历所述前缀树,以读取所述前缀树中的有序文件路径集合包括:使用深度优先搜索来遍历所述前缀树,以有序地读取具有所述值的所有节点作为所述有序文件路径集合。12.一种增量备份设备,包括:接收装置,用...

【专利技术属性】
技术研发人员:齐巍钟鑫陈养峰尹文轩
申请(专利权)人:伊姆西公司
类型:发明
国别省市:美国;US

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

1