一种索引结构、文件备份方法、文件恢复方法以及系统技术方案

技术编号:38238181 阅读:14 留言:0更新日期:2023-07-25 18:02
本发明专利技术公开了一种索引结构、文件备份方法、文件恢复方法以及系统,属于文件备份恢复技术领域,包括:索引文件,用于记录索引中文件所在位置和备份的文件信息;目录项文件,用于记录备份的目录和文件名称,并可根据其在所述目录项文件中的位置获取绝对路径和此目录下的所有子目录和文件;以及数据文件,用于存储备份目录中文件的数据;该索引结构、文件备份方法、文件恢复方法以及系统,占用系统资源少,本方案响应快,在查询和恢复目录或文件时只需要少量几次IO操作,而IO操作的次数并不会随着目录或文件的数量线性增长,同时扩展性强,可支持网络存储,压缩,重删,加密等扩展,对运行环境没有要求,使用方便,降低开发和维护难度。降低开发和维护难度。降低开发和维护难度。

【技术实现步骤摘要】
一种索引结构、文件备份方法、文件恢复方法以及系统


[0001]本专利技术属于文件备份恢复
,具体涉及一种索引结构、文件备份方法、文件恢复方法以及系统。

技术介绍

[0002]现有的主流海量文件备份系统会将文件信息存入第三方数据库中,在备份时会将文件信息插入数据库中,在搜索和恢复文件时会从数据库中查找记录,在对文件进行备份的时候,遇到海量小文件时往往会将小文件合并成大文件,生成一个备份集,以此节省读写数据时的IO开销;主流的海量文件备份系统通常使用第三方数据库,如mongdb,来进行索引数据管理,在此种方案中,第三方数据库需要占用一定的资源,包括内存,硬盘空间和cpu资源,使用第三方数据库需要进行学习,开发和后期维护都增加了难度,当出现问题时,若使用者对数据库不够精通,有时还需要原厂技术支持,主流的数据库没有针对存储文件信息的场景进行优化,管理效率低下,因此,需要研发一种新的索引结构、文件备份方法、文件恢复方法以及系统来解决现有的问题。

技术实现思路

[0003]本专利技术的目的在于提供一种索引结构、文件备份方法、文件恢复方法以及系统,以解决海量文件备份需要依赖第三方数据库进行索引数据管理的问题。
[0004]为实现上述目的,本专利技术提供如下技术方案:一种索引结构,包括: 索引文件,用于记录索引中文件所在位置和备份的文件信息;目录项文件,用于记录备份的目录和文件名称,并可根据其在所述目录项文件中的位置获取绝对路径和此目录下的所有子目录和文件;以及数据文件,用于存储备份目录中文件的数据;所述索引文件包括:文件节点,用于对目录或文件的绝对路径进行hash计算得到节点号inode,并将其作为全局文件的识别标识;hash数组和链表,用于根据所述节点号inode取模运算得到hash数组与hash链表;头文件,用于记录索引文件中关联的目录项文件和数据文件信息,文件节点的数量以及文件分组。
[0005]优选的,所述目录项文件记录时将备份对象在绝对路径中的目录层数设为深度,对其深度按下列策略排序:a、目录中的文件和目录排在父目录之后;b、同一路径下的对象目录排列与文件之前,inode值按照从小到大排列。
[0006]本专利技术另提供一种基于索引结构的文件备份方法,其特征在于:包括:扫描目标目录;
生成文件节点和目录节点;对hash取模并生成hash链表,生成索引文件和目录项文件;文件分组;备份数据文件,在索引文件中对应的文件节点记录数据信息;备份索引文件和目录文件。
[0007]优选的,所述生成文件节点和目录节点包括:在扫描出目标路径中所有子目录和子文件后,对扫描出的目录或文件的绝对路径进行hash计算,得到记录的全局唯一标识inode,将对应的文件信息记录到索引节点中,按照扫描顺序生成文件节点部分,将inode和文件或目录名记录,按照和文件节点相同的顺序生成目录节点,使生成的记录在顺序读时,索引节点和目录节点的位置一一对应。
[0008]优选的,所述对hash取模并生成hash链表包括:对每个索引节点的hash值inode进行取模,得到取模值,所有的模构成hash数组,相同模的inode组成了此模下的hash链表,在链表中记录inode值和对应的文件节点在整个索引文件中的偏移量;所述生成索引文件和目录项文件包括:将hash数组、hash链表和文件节点按顺序合并,并头部预留空间用以记录目录文件和数据文件的位置,生成索引文件,将目录项节点合并生成目录项文件。
[0009]优选的,所述备份数据文件包括:获取到文件对应的索引节点信息和备份的目标路径后,将扫描出的数据文件进行备份,上传文件到备份介质中,在备份介质中将上传文件合并到一个或多个数据文件中,并返回数据文件中的起始偏移位;所述在索引节点中记录数据信息包括:当数据文件备份成功后,在对应的索引节点中回写在备份文件中的偏移位,备份介质和备份文件的信息则会记录在头部的预留空间中,在索引节点中标记对应的记录,通过索引节点中的标记读到记录,读取备份文件中指定范围的数据还原原本的数据文件。
[0010]本专利技术另提供一种基于索引结构的文件恢复方法,包括:读取索引文件;计算恢复目标inode;遍历hash链表定位索引节点、遍历索引节点和对应的目录节点以及遍历所有子文件或子目录;下载并恢复数据文件。
[0011]优选的,所述计算恢复目标inode包括:对传入的恢复目标的绝对地址进行hash计算,得到inode值,对inode取模并寻找到对应的hash数组。
[0012]优选的,所述遍历hash链表定位索引节点包括:遍历hash数组下的hash链表,找到对应的inode记录,根据其记录的偏移量跳转到索引文件中对应的索引节点的位置;所述遍历索引节点和对应的目录节点包括:以遍历扫描中确定的文件的索引节点位置为起点,顺序遍历索引节点记录,同时
依据索引节点的位置和记录的目录文件信息,找到对应的目录节点记录,并与索引节点对应,进行顺序遍历;所述遍历所有子文件或子目录包括:在遍历过程中读取目录节点中记录的目录深度信息,扫描出恢复路径中的所有子目录和子文件,当深度低于遍历起始点目录深度时,表示遍历完成,退出遍历并将遍历出的所有信息记录用以恢复数据文件。
[0013]本专利技术另提供一种基于索引结构的文件备份和恢复系统,包括:索引数据管理模块,用于写入,查找和读取索引文件;数据备份模块,用于扫描文件生成索引并调用源数据管理模块的接口添加索引;数据恢复模块,用于调用源数据管理模块的接口查找索引并将其恢复到目标路径。
[0014]本专利技术的技术效果和优点:该索引结构、文件备份方法、文件恢复方法以及系统,占用系统资源少,通过对索引和目录存储的设计,源码部分大小只要100多KB,备份百万小文件产生的索引文件不超过100MB,在读取时可以轻易的全部加载到主流设备的内存中,只有在调用系统的相关功能时才会占用这些资源,而第三方数据库则通常不能关闭;并且本方案响应快,在查询和恢复目录或文件时只需要少量几次IO操作,而IO操作的次数并不会随着目录或文件的数量线性增长,同时扩展性强,可支持网络存储,压缩,重删,加密等扩展,对运行环境没有要求,使用方便,降低开发和维护难度。
附图说明
[0015]图1为本专利技术索引结构的组成示意图;图2为本专利技术文件备份方法的流程图;图3为本专利技术文件恢复方法的流程图;图4为本专利技术系统的框架示意图。
具体实施方式
[0016]下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。
[0017]本专利技术提供了如图1中所示的一种索引结构,包括索引文件,目录项文件和数据文件;索引文件用于记录索引中各类文件所在的位置和备份的文件信息,其在结构上分为文件节点,hash数组,hash链表和头文件四个部分,组成一个本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种索引结构,其特征在于:包括:索引文件,用于记录索引中文件所在位置和备份的文件信息;目录项文件,用于记录备份的目录和文件名称,并可根据其在所述目录项文件中的位置获取绝对路径和此目录下的所有子目录和文件;以及数据文件,用于存储备份目录中文件的数据;所述索引文件包括:文件节点,用于对目录或文件的绝对路径进行hash计算得到节点号inode,并将其作为全局文件的识别标识;hash数组和链表,用于根据所述节点号inode取模运算得到hash数组与hash链表;头文件,用于记录索引文件中关联的目录项文件和数据文件信息,文件节点的数量以及文件分组。2.根据权利要求1所述的索引结构,其特征在于:所述目录项文件记录时将备份对象在绝对路径中的目录层数设为深度,对其深度按下列策略排序:a、目录中的文件和目录排在父目录之后;b、同一路径下的对象目录排列与文件之前,inode值按照从小到大排列。3.一种基于索引结构的文件备份方法,其特征在于:包括:扫描目标目录;生成文件节点和目录节点;对hash取模并生成hash链表,生成索引文件和目录项文件;文件分组;备份数据文件,在索引文件中对应的文件节点记录数据信息;备份索引文件和目录文件。4.根据权利要求3所述的一种基于索引结构的文件备份方法,其特征在于:所述生成文件节点和目录节点包括:在扫描出目标路径中所有子目录和子文件后,对扫描出的目录或文件的绝对路径进行hash计算,得到记录的全局唯一标识inode,将对应的文件信息记录到索引节点中,按照扫描顺序生成文件节点部分,将inode和文件或目录名记录,按照和文件节点相同的顺序生成目录节点,使生成的记录在顺序读时,索引节点和目录节点的位置对应。5.根据权利要求3所述的一种基于索引结构的文件备份方法,其特征在于:所述对hash取模并生成hash链表包括:对每个索引节点的hash值inode进行取模,得到取模值,所有的模构成hash数组,相同模的inode组成了此模下的hash链表,在链表中记录inode值和文件节点在整个索引文件中的偏移量;所述生成索引文件和目录项文件包括:将hash数组、hash链表和文件节点按顺序合并,并头部预留空间用以记录目录文件和数据文件的位置,生成索引...

【专利技术属性】
技术研发人员:周玥铖张有成
申请(专利权)人:南京壹进制信息科技有限公司
类型:发明
国别省市:

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

1