一种海量小文件备份热数据的方法、系统、设备及介质与流程

文档序号:25543666发布日期:2021-06-18 20:40
一种海量小文件备份热数据的方法、系统、设备及介质与流程

本发明涉及数据备份领域,具体而言,涉及一种海量小文件备份热数据的方法、系统、设备及介质。



背景技术:

海量小文件的备份,尤其是增量备份,快速定位和保障数据一致性一直是有待不断演进的技术难题之一。并且在数据备份中把备份数据进行盘活,帮助企业真正的用上、用好备份的数据属于本领域的第二大难题。同时,在备份海量数据文件的过程中,如何加速提升业务使用数据的检索能力是盘活冷备份中的热数据又一大难题。目前需要设计一种方法解决上述三个问题。



技术实现要素:

本发明的目的之一在于提供一种海量小文件中盘活备份热数据的方法,其能够实现对海量小文件的备份,保护数据的一致性,并且实现了数据的快速定位,从而提升检索效率。

本发明的目的之一在于提供一种海量小文件中盘活备份热数据的系统,其能够实现对海量小文件的备份,保护数据的一致性,并且实现了数据的快速定位,从而提升检索效率。

本发明的目的之一在于提供一种电子设备,其能够实现对海量小文件的备份,保护数据的一致性,并且实现了数据的快速定位,从而提升检索效率。

本发明的目的之一在于提供一种计算机可读存储介质,其能够实现对海量小文件的备份,保护数据的一致性,并且实现了数据的快速定位,从而提升检索效率。

本发明的实施例是这样实现的:

第一方面,本申请实施例提供一种海量小文件中盘活备份热数据的方法,包括客户端和备份存储服务器,在所述客户端安装有备份服务模块和基于文件系统的文件元数据追踪模块,所述备份存储服务器安装有b+树模块、备份数据的数据存储模块、用于存储热数据的红黑树存储模块和副本数据同步模块;具体包括如下步骤:

文件元数据全量备份:所述备份服务模块发起备份指令通知所述文件元数据追踪模块进行文件索引节点追踪,所述文件元数据追踪模块查找并备份所述客户端的所有元数据;

索引表备份:所述b+树模块在所述文件元数据全量备份过程中构建索引表结构,所述b+树模块通过所述副本数据同步模块将所述索引表存储于磁盘,并将当前未写入的元数据写入日志;

映射数据备份:所述b+树模块对所述客户端的所有所述文件索引节点建立映射关系,所述b+树模块将所述映射关系共享到所述文件元数据追踪模块、所述备份服务模块和所述数据存储模块;

索引数据学习:所述红黑树存储模块按照预设周期生成位图,将多个位图进行学习得到搜索频率高的热数据;

热数据备份:所述红黑树存储模块存储所述热数据,并将所述热数据缓存到所述数据存储模块中。

在本发明的一些实施例中,上述一种海量小文件中盘活备份热数据的方法还包括增量数据备份:在所述热数据备份后所述备份服务模块发送增量备份指令获取所述文件元数据追踪模块上一个周期内的map映射数据,扫描变化的文件数据并进行远程数据同步,所述b+树模块更新所述索引表结构,并通过所述副本数据同步模块存储于磁盘。

在本发明的一些实施例中,上述一种海量小文件中盘活备份热数据的方法还包括热数据学习:所述增量数据备份步骤经过多次备份后,所述红黑树存储模块根据当前位图和上一次位图的相同位进行逻辑与操作,并将操作后的结果数据进行堆排序,从堆中选择所述文件索引节点,并从所述备份存储服务器中读取所述文件索引节点对应的文件数据缓存到所述数据存储模块中。

在本发明的一些实施例中,所述热数据备份中,所述红黑树存储模块存储搜索频率高的所述文件索引节点前删除位图上一次存储的搜索频率高的所述文件索引节点。

在本发明的一些实施例中,所述映射数据备份包括建立所述映射关系后根据所述映射关系构建索引引擎。

在本发明的一些实施例中,所述热数据备份包括所述红黑树存储模块查找合并后的位图中的缓存空间,利用缓存空间存储搜索频率高的所述文件索引节点。

第二方面,本申请实施例提供一种海量小文件中盘活备份热数据的系统,包括客户端和备份存储服务器,所述客户端安装有备份数据集,所述备份数据集包括备份服务模块以及基于文件系统的文件元数据追踪模块,所述备份存储服务器安装有b+树模块、备份数据的数据存储模块、用于存储热数据的红黑树存储模块和副本数据同步模块;所述备份服务模块分别连接所述文件元数据追踪模块和所述b+树模块,所述b+树模块分别连接所述文件元数据追踪模块、所述副本数据同步模块、所述数据存储模块以及所述红黑树存储模块。

第三方面,本申请实施例提供一种电子设备,包括:存储器,用于存储一个或多个程序;处理器;当所述一个或多个程序被所述处理器执行时,实现如第一方面所述方法。

第三方面,本申请实施例提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如第一方面所述方法。

相对于现有技术,本发明的实施例至少具有如下优点或有益效果:

第一方面,本申请实施例提供一种海量小文件中盘活备份热数据的方法,包括客户端和备份存储服务器,在所述客户端安装有备份服务模块和基于文件系统的文件元数据追踪模块,所述备份存储服务器安装有b+树模块、备份数据的数据存储模块、用于存储热数据的红黑树存储模块和副本数据同步模块;具体包括如下步骤:

文件元数据全量备份:所述备份服务模块发起备份指令通知所述文件元数据追踪模块进行文件索引节点追踪,所述文件元数据追踪模块查找并备份所述客户端的所有元数据;索引表备份:所述b+树模块在所述文件元数据全量备份过程中构建索引表结构,所述b+树模块通过所述副本数据同步模块将所述索引表存储于磁盘,并将当前未写入的元数据写入日志;映射数据备份:所述b+树模块对所述客户端的所有所述文件索引节点建立映射关系,所述b+树模块将所述映射关系共享到所述文件元数据追踪模块、所述备份服务模块和所述数据存储模块;索引数据学习:所述红黑树存储模块按照预设周期生成位图,将多个位图进行学习得到搜索频率高的热数据;热数据备份:所述红黑树存储模块存储所述热数据,并将所述热数据缓存到所述数据存储模块中。

针对第一方面:本申请实施例通过备份服务模块发起命令,使文件元数据追踪模块追踪所有文件索引节点,从而对海量小文件进行文件元数据全量备份;通过b+树模块构建索引表结果,并通过副本数据同步模块将文件索引节点异步更新于内存和磁盘,当内存发生异常崩溃时,通过磁盘日志回滚的方式保护数据;通过b+树模块建立索引表结构并备份到内存和磁盘,便于通过备份服务模块触发对应的回调函数写入和删除索引元数据和映射关系;通过红黑树存储模块按照预设周期根据索引表生成位图,并将多个位图进行学习建模生成位图,从而根据每次学习的数据内容分析当前更新内容,并且利用缓存空间根据映射关系得到数据的备份习惯得到搜索频率高的热数据;将热数据存储于合并后的位图,能够提高对应数据的访问命中率,加速了热数据文件的访问性能。本发明能够实现对海量小文件的备份,防止数据被篡改,并且实现了数据的快速定位,从而提升了检索效率。

第二方面,本申请实施例提供一种海量小文件中盘活备份热数据的系统,包括客户端和备份存储服务器,所述客户端安装有备份数据集,所述备份数据集包括备份服务模块以及基于文件系统的文件元数据追踪模块,所述备份存储服务器安装有b+树模块、备份数据的数据存储模块、用于存储热数据的红黑树存储模块和副本数据同步模块;所述备份服务模块分别连接所述文件元数据追踪模块和所述b+树模块,所述b+树模块分别连接所述文件元数据追踪模块、所述副本数据同步模块、所述数据存储模块以及所述红黑树存储模块。

第三方面,本申请实施例提供一种电子设备,包括:存储器,用于存储一个或多个程序;处理器;当所述一个或多个程序被所述处理器执行时,实现如第一方面所述方法。

针对第二方面和第三方面,与第一方面的原理相同,在此不必重复描述。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。

图1为本发明实施例海量小文件中盘活备份热数据的方法的流程示意图;

图2为本发明实施例海量小文件中盘活备份热数据的系统的原理示意图。

具体实施方式

为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。

因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

在本申请的描述中,还需要说明的是,除非另有明确的规定和限定,术语“设置”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本申请中的具体含义。

下面结合附图,对本申请的一些实施方式作详细说明。在不冲突的情况下,下述的各个实施例及实施例中的各个特征可以相互组合。

实施例1

请参阅图1,图1所示为本申请实施例提供的一种海量小文件备份热数据的方法的流程示意图。海量小文件中盘活备份热数据的方法,包括客户端和备份存储服务器,在所述客户端安装有备份服务模块和基于文件系统的文件元数据追踪模块,所述备份存储服务器安装有b+树模块、备份数据的数据存储模块、用于存储热数据的红黑树存储模块和副本数据同步模块;具体包括如下步骤:

文件元数据全量备份:所述备份服务模块发起备份指令通知所述文件元数据追踪模块进行文件索引节点追踪,所述文件元数据追踪模块查找并备份所述客户端的所有元数据;

索引表备份:所述b+树模块在所述文件元数据全量备份过程中构建索引表结构,所述b+树模块通过所述副本数据同步模块将所述索引表存储于磁盘,并将当前未写入的元数据写入日志;

映射数据备份:所述b+树模块对所述客户端的所有所述文件索引节点建立映射关系,所述b+树模块将所述映射关系共享到所述文件元数据追踪模块、所述备份服务模块和所述数据存储模块;

索引数据学习:所述红黑树存储模块按照预设周期生成位图,将多个位图进行学习得到搜索频率高的热数据;

热数据备份:所述红黑树存储模块利用缓存空间存储搜索频率高的所述文件索引节点,并将位图缓存到所述数据存储模块中。

其中,步骤文件元数据全量备份中,备份服务模块启动,文件系统的追踪模块加载,备份服务模块通过发起备份指令通知文件系统的文件元数据追踪模块进行追踪,并开始全量备份。其中客户端通过备份服务模块调用任意文件的写、删触发对应的回调函数,从而利用文件元数据追踪模块捕获文件系统中的文件索引节点。其中文件元数据追踪模块可以利用dd卷设备实现。

步骤索引表备份中,同时在文件元数据全量备份的捕获过程中构建基于索引表到内核和用户空间的映射,从而利用本地存储和云存储的方式进一步保护数据。其中,异步通知上层模块,从而先将索引表的所有映射关系存储于磁盘,然后将未写入的元数据写入日志。其中,当全量备份完成,备份服务模块和远端的备份存储服务器同步当前的文件元数据追踪模块的共享内存区中的map映射数据。其中map映射数据保存了变化的节点元数据信息。存储端的备份存储服务器的b+树模块在备份过程构建b+树的索引表结构,并通过副本数据同步模块进行磁盘存储,并对当前未写入的索引数据进行追加写日志的方式提供一种事务保护,在系统崩溃自启后可以load当前的状态。

步骤映射数据备份中,b+树模块将索引表同步共享给文件元数据追踪模块和备份服务模块,使得备份数据在进行大量业务读取的过程可以直接检索载入内存的文件索引节点列表。

步骤索引数据学习中,所述红黑树存储模块按照预设周期生成位图,将多个位图进行学习得到搜索频率高的热数据。其中学习过程为根据每次学习的数据内容分析当前更新内容,并且根据不同位图的文件索引节点的映射关系得到数据的备份习惯,从而根据备份习惯在备份和使用过程中对于访问最多的小文件得到热数据。

步骤热数据备份中,提供基于红黑树的数据映射存储区,将热数据进行多次存储,提高热数据的搜索命中率和热数据文件的访问性能。其中,可以根据备份习惯的映射关系将热数据放入远离原数据的存储空间,从而进一步提高搜索的命中率。

在本发明的一些实施例中,上述一种海量小文件中盘活备份热数据的方法还包括增量数据备份:在所述热数据备份后所述备份服务模块发送增量备份指令获取所述文件元数据追踪模块上一个周期内的map映射数据,扫描变化的文件数据并进行远程数据同步,所述b+树模块更新所述索引表结构,并通过所述副本数据同步模块存储于磁盘。

详细的,热数据备份后,备份服务模块首次对数据进行学习并生成位图,首次学习只有一张位图,对变化的文件索引节点文件只进行标记,并不进行热数据缓存;当多次备份后,根据当前和上一次位图的相同位进行逻辑与操作,并将操作后的结果数据进行堆排序,结合当前配置的热缓存空间大小,从堆中选择足够的文件索引节点的文件元数据信息,并从存储服务器中读取对应的文件数据缓存到热缓存中,如此反复。

在本发明的一些实施例中,上述一种海量小文件中盘活备份热数据的方法还包括热数据学习:所述增量数据备份步骤经过多次备份后,所述红黑树存储模块根据当前位图和上一次位图的相同位进行逻辑与操作,并将操作后的结果数据进行堆排序,从堆中选择所述文件索引节点,并从所述备份存储服务器中读取所述文件索引节点对应的文件数据缓存到所述数据存储模块中。

同时,在数据使用过程中,热数据的红黑树存储模块对数据进行学习,将高频访问的数据进行缓存,并不断地淘汰过期数据。其中,进行逻辑与操作可以是当缓存容量不够或者产生新的热文件时,可通过淘汰旧数据进行置换的方式,不断地更新热数据缓存。

在本发明的一些实施例中,所述热数据备份中,所述红黑树存储模块存储搜索频率高的所述文件索引节点前删除位图上一次存储的搜索频率高的所述文件索引节点。详细的,具体的逻辑与操作包括:删除上一次的高频搜索节点并进行热数据替换。

在本发明的一些实施例中,所述映射数据备份包括建立所述映射关系后根据所述映射关系构建索引引擎。

通过构建不同文件索引节点的数据的搜索引擎,便于进行查找。

在本发明的一些实施例中,所述热数据备份包括所述红黑树存储模块查找合并后的位图中的缓存空间,利用缓存空间存储搜索频率高的所述文件索引节点。

详细的,对不断地数据备份过程的索引表的周期性学习,每一次学习生成位图,不断地位图位与合成,找出有限的缓存空间存储的热数据,并缓存到内存中,触发冷热数据交换,并淘汰旧的热数据;对不断使用的备份数据过程监控各文件索引节点的访问情况,通过标记引用的方式,找出有限缓存空间可存储的最热的文件索引节点数据。

数据使用过程中,通过全量、增量的数据使用模块所构建的高性能备份存储池,对于不断增量备份过程、数据使用过程的热数据缓存是数据使用过程的高性能服务供给模块,加速热数据的快速访问。在生产使用过程减少大量读延迟,提供敏感业务的服务能力。同时为了更好的备份,提供各级索引表,为区间检索修改的增量文件、检索局部文件提供了极其快速的方式,规避了传统查找文件全扫描的模式,对于数以亿计的文件,本专利的实现方法取得极大的时间成本效应,对大型的企业客户带来极大的备份数据使用性能提升,盘活了海量小文件中备份的热数据。

实施例2

请参阅图2,本申请实施例提供的海量小文件中盘活备份热数据的系统,包括客户端和备份存储服务器,所述客户端安装有备份数据集,所述备份数据集包括备份服务模块以及基于文件系统的文件元数据追踪模块,所述备份存储服务器安装有b+树模块、备份数据的数据存储模块、用于存储热数据的红黑树存储模块和副本数据同步模块;所述备份服务模块分别连接所述文件元数据追踪模块和所述b+树模块,所述b+树模块分别连接所述文件元数据追踪模块、所述副本数据同步模块、所述数据存储模块以及所述红黑树存储模块。

其中,客户端和备份存储服务器连接。上述原理与实施例1的原理相同,在此不必重复描述。可以理解,图2所示的结构仅为示意,海量小文件中盘活备份热数据的系统还可包括比图2中所示更多或者更少的组件,或者具有与图2所示不同的配置。图2中所示的各组件可以采用硬件、软件或其组合实现。

实施例3

本申请实施例提供的电子设备,包括:存储器,用于存储一个或多个程序;处理器;当所述一个或多个程序被所述处理器执行时,实现如实施例1所述海量小文件中盘活备份热数据的方法。该存储器、处理器和通信接口相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通讯总线或信号线实现电性连接。存储器可用于存储软件程序及模块,如本申请实施例2所提供的海量小文件中盘活备份热数据的系统对应的程序指令/模块,处理器通过执行存储在存储器内的软件程序及模块,从而执行各种功能应用以及数据处理。该通信接口可用于与其他节点设备进行信令或数据的通信。

其中,存储器可以是但不限于,随机存取存储器(randomaccessmemory,ram),只读存储器(readonlymemory,rom),可编程只读存储器(programmableread-onlymemory,prom),可擦除只读存储器(erasableprogrammableread-onlymemory,eprom),电可擦除只读存储器(electricerasableprogrammableread-onlymemory,eeprom)等。

处理器可以是一种集成电路芯片,具有信号处理能力。该处理器102可以是通用处理器,包括中央处理器(centralprocessingunit,cpu)、网络处理器(networkprocessor,np)等;还可以是数字信号处理器(digitalsignalprocessing,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现场可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。

上述原理与实施例1的原理相同,在此不必重复描述。

在本申请所提供的实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本申请的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

另外,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。

所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。

综上所述,本申请实施例提供的一种海量小文件备份热数据的方法、系统、设备及介质:

本申请实施例通过备份服务模块发起命令,使文件元数据追踪模块追踪所有文件索引节点,从而对海量小文件进行文件元数据全量备份;通过b+树模块构建索引表结果,并通过副本数据同步模块将文件索引节点异步更新于内存和磁盘,当内存发生异常崩溃时,通过磁盘日志回滚的方式保护数据;通过b+树模块建立索引表结构并备份到内存和磁盘,便于通过备份服务模块触发对应的回调函数写入和删除索引元数据和映射关系;通过红黑树存储模块按照预设周期根据索引表生成位图,并将多个位图进行学习建模生成位图,从而根据每次学习的数据内容分析当前更新内容,并且利用缓存空间根据映射关系得到数据的备份习惯得到搜索频率高的热数据;将热数据存储于合并后的位图,能够提高对应数据的访问命中率,加速了热数据文件的访问性能。本发明能够实现对海量小文件的备份,防止数据被篡改,并且实现了数据的快速定位,从而提升了检索效率。

以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

对于本领域技术人员而言,显然本申请不限于上述示范性实施例的细节,而且在不背离本申请的精神或基本特征的情况下,能够以其它的具体形式实现本申请。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本申请的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化囊括在本申请内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。

再多了解一些
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1