一种基于CopySet的集群自适应数据备份与恢复的方法与流程

文档序号:33504023发布日期:2023-03-17 23:01阅读:40来源:国知局
一种基于CopySet的集群自适应数据备份与恢复的方法与流程
一种基于copyset的集群自适应数据备份与恢复的方法
技术领域
1.本发明涉及数据处理技术领域,尤其涉及一种基于copyset的集群自适应数据备份与恢复的方法。


背景技术:

2.随着云计算和大数据时代的来临,数据量剧增,存储系统的重要性更为凸显。互联网在社会管理方面有很大作用,社会运作会产生海量的数据信息,而充分的数据信息则有利于国家政府各机构做出最客观、精准的分析。因此,对数据的备份技术以及模型显得尤为重要。
3.copyset replication(复制集复制),是一种新的通用复制技术,可显著降低数据丢失事件的频率。copyset replication在facebook hdfs集群上作实验,从原来的random replicaiton更改为copyset replication算法后,可以将facebook hdfs集群1%节点故障时的数据丢失概率从22.8%降低道0.78%,有效降低数据丢失概率。
4.但是,目前通过严谨的数学证明了复制集的个数决定着同一个数据多个副本同时被命中的概率,因此复制集个数要尽可能的少,但过少的复制集数量会造成副本数不足以及数据恢复过慢的情况,所以,目前对应复制集的个数并不能确定,并且,在数据恢复方面,通过复制集的备份存储单元进行数据恢复的效率也并不高。


技术实现要素:

5.针对现有技术中存在的问题,本发明实施例提供一种基于copyset的集群自适应数据备份与恢复的方法及装置。
6.本发明实施例提供一种基于copyset的集群自适应数据备份与恢复的方法,包括:获取分布式数据库的配置信息,所述分布式数据库分别存储在不同的数据集群上,所述数据集群包括对应的磁盘节点,所述配置信息包括:磁盘节点间的关联程度、数据集群的大小;基于所述关联程度确定磁盘节点间的关联度函数,基于所述关联程度及数据集群的大小计算所述数据集群的散射宽度函数,结合所述关联度函数及散射宽度函数确定copyset函数;获取所述磁盘节点的带宽及数据恢复速率,根据所述带宽及数据恢复速率确定对应的数据恢复函数,并基于所述copyset函数、数据恢复函数求解得到copyset函数的copyset数量;基于所述copyset数量对待存储数据进行数据复制,得到对应的副本数据,将所述副本数据存储在对应的n个副本节点上,生成对应的n元组存入所述分布式数据库的中心表,并在n个副本节点的单元表存入所述n元组;通过轮询模块对所述磁盘节点进行轮询,当检测到磁盘节点存在故障时,查询存在故障的磁盘节点的单元表,通过查询结果确定关联的修复副本节点,通过所述修复副本
节点对存在故障的磁盘节点进行数据修复。
7.在其中一个实施例中,所述方法还包括:当查询存在故障的磁盘节点的单元表的查询操作失败时,通过所述中心表获取存在故障的磁盘节点的n元组,通过所述n元组生成预警信息,并将所述预警信息发送至绑定终端。
8.在其中一个实施例中,所述方法还包括:基于所述copyset函数确定对应的copyset函数最小值函数,基于所述数据恢复函数确定对应的数据恢复函数最大值函数,通过所述copyset函数最小值函数、数据恢复函数最大值函数的方程组进行拟合,得到copyset函数的copyset数量。
9.在其中一个实施例中,所述方程组,包括:max(v)=max(fun(b,m))min(m)=min(fun(s,r))其中,v为数据恢复速度,b为带宽,m为copyset的数量,s为散射宽度,r为关联度函数。
10.在其中一个实施例中,所述方法还包括:生成所述存在故障的磁盘节点的日志文件,并将所述日志文件存储至所述中心表。
11.本发明实施例提供一种基于copyset的集群自适应数据备份与恢复的装置,包括:第一获取模块,用于获取分布式数据库的配置信息,所述分布式数据库分别存储在不同的数据集群上,所述数据集群包括对应的磁盘节点,所述配置信息包括:磁盘节点间的关联程度、数据集群的大小;计算模块,用于基于所述关联程度确定磁盘节点间的关联度函数,基于所述关联程度及数据集群的大小计算所述数据集群的散射宽度函数,结合所述关联度函数及散射宽度函数确定copyset函数;第二获取模块,用于获取所述磁盘节点的带宽及数据恢复速率,根据所述带宽及数据恢复速率确定对应的数据恢复函数,并基于所述copyset函数、数据恢复函数求解得到copyset函数的copyset数量;复制模块,用于基于所述copyset数量对待存储数据进行数据复制,得到对应的副本数据,将所述副本数据存储在对应的n个副本节点上,生成对应的n元组存入所述分布式数据库的中心表,并在n个副本节点的单元表存入所述n元组;轮询模块,用于通过轮询模块对所述磁盘节点进行轮询,当检测到磁盘节点存在故障时,查询存在故障的磁盘节点的单元表,通过查询结果确定关联的修复副本节点,通过所述修复副本节点对存在故障的磁盘节点进行数据修复。
12.在其中一个实施例中,所述装置还包括:预警模块,用于当查询存在故障的磁盘节点的单元表的查询操作失败时,通过所述中心表获取存在故障的磁盘节点的n元组,通过所述n元组生成预警信息,并将所述预警信息发送至绑定终端。
13.在其中一个实施例中,所述装置还包括:拟合模块,用于基于所述copyset函数确定对应的copyset函数最小值函数,基于
所述数据恢复函数确定对应的数据恢复函数最大值函数,通过所述copyset函数最小值函数、数据恢复函数最大值函数的方程组进行拟合,得到copyset函数的copyset数量。
14.本发明实施例提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述基于copyset的集群自适应数据备份与恢复的方法的步骤。
15.本发明实施例提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述基于copyset的集群自适应数据备份与恢复的方法的步骤。
16.本发明实施例提供的一种基于copyset的集群自适应数据备份与恢复的方法及装置,获取分布式数据库的配置信息,分布式数据库分别存储在不同的数据集群上,数据集群包括对应的磁盘节点,配置信息包括:磁盘节点间的关联程度、数据集群的大小;基于关联程度确定磁盘节点间的关联度函数,基于关联程度及数据集群的大小计算数据集群的散射宽度函数,结合关联度函数及散射宽度函数确定copyset函数;获取磁盘节点的带宽及数据恢复速率,根据带宽及数据恢复速率确定对应的数据恢复函数,并基于copyset函数、数据恢复函数求解得到copyset函数的copyset数量;基于copyset数量对待存储数据进行数据复制,得到对应的副本数据,将副本数据存储在对应的n个副本节点上,生成对应的n元组存入分布式数据库的中心表,并在n个副本节点的单元表存入n元组;通过轮询模块对磁盘节点进行轮询,当检测到磁盘节点存在故障时,查询存在故障的磁盘节点的单元表,通过查询结果确定关联的修复副本节点,通过修复副本节点对存在故障的磁盘节点进行数据修复。这样能够设计一种基于集群规模的复制集自适应选择方案,可以大大加强复制集与集群规模之间关联性,并增加了集群规模与关联性等参数,优点是考虑到了集群存储单元分布上的关联性,可能存在存储单元故障的连带性。通过该参数可以选择到复制集最小的分布策略,从而有效降低数据丢失的概率。另外,当数据需要恢复时,会有更多的磁盘将参与数据恢复工作,从而有效提升数据恢复效率。另外,一旦发生故障,运维人员可以通过查询该表获取损坏/丢失数据关联的备份数据所在的存储单位,及时检查这些存储单元来降低数据丢失的风险,大大简化了运维成本。
附图说明
17.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
18.图1为本发明实施例中一种基于copyset的集群自适应数据备份与恢复的方法的流程图;图2为本发明实施例中一种散射宽度的原理图;图3为本发明实施例中一种基于copyset的集群自适应数据备份与恢复的方法的架构图;图4为本发明实施例中一种基于copyset的集群自适应数据备份与恢复的装置的结构图;
图5为本发明实施例中电子设备结构示意图。
具体实施方式
19.为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
20.图1为本发明实施例提供的一种基于copyset的集群自适应数据备份与恢复的方法的流程示意图,如图1所示,本发明实施例提供了一种基于copyset的集群自适应数据备份与恢复的方法,包括:步骤s101,获取分布式数据库的配置信息,所述分布式数据库分别存储在不同的数据集群上,所述数据集群包括对应的磁盘节点,所述配置信息包括:磁盘节点间的关联程度、数据集群的大小。
21.具体地,将分布式存储系统中的数据分为数据集群进行集群存储,集群存储是将每个存储设备作为一个存储节点,通过高速互联网络连接起来,将数据根据磁盘节点的大小或者人为设置分散开存储在多台独立的设备上,这些设备可以独立运作,相互之间又可以合作,数据集群包括对应的存储数据的各个磁盘节点,其中,磁盘节点为存储数据的单元节点,另外,获取分布式数据库中的相关配置信息,比如包括:磁盘节点间的关联程度、数据集群的大小,比如 串联式和分布式的集群,磁盘之间的关联程度就不一样,以及集群对于存储单元的分布,例如同一电源和不同电源的磁盘节点之间的关联性也是不一致的,根据分布式数据库的相关配置信息,确定磁盘节点间的关联程度。
22.步骤s102,基于所述关联程度确定磁盘节点间的关联度函数,基于所述关联程度及数据集群的大小计算所述数据集群的散射宽度函数,结合所述关联度函数及散射宽度函数确定copyset函数。
23.具体地,基于关联程度确定磁盘节点间的关联度函数,其中,本实施例中,可以采用r=fun(x1,x2,...,xn)表示关联度函数,其中xi(i=1,2,...,n)表示各种相关性影响因素,比如集群分布类型,电源类型等等,另外,在进行copyset复制(copyset replication(复制集复制))时会涉及到散射宽度,即原始数据与其副本之间的最大间隔,从而限制了两个数据之间的分布范围,本实施例基于关联程度及数据集群的大小计算数据集群的散射宽度函数,散射宽度对应的函数为s=fun(n,r),散射宽度的原理图如图2所示,其次,copyset数量是一个基于上述二者(关联度函数及散射宽度函数)的函数,如果用m表示copyset的数量,那么copyset函数为m=fun(s,r,),并求解min(m),即min(m)=min(fun(s,r))。
24.步骤s103,获取所述磁盘节点的带宽及数据恢复速率,根据所述带宽及数据恢复速率确定对应的数据恢复函数,并基于所述copyset函数、数据恢复函数拟合得到copyset函数的copyset数量。
25.具体地,在确定copyset数量时,只通过到copyset函数确定copyset数量时不行的,会影响数据恢复的效率,所以需要同时考虑数据恢复能力,则根据磁盘节点的各项指标确定磁盘节点的带宽及数据恢复速率,即数据恢复的速度取决于带宽b以及参与数据恢复工作的copyset的数量m,这里设数据恢复速度v=fun(b,m),则对于copyset数量来说,需要
满足m最小的情况下v尽可能大,则需要求解方程组:max(v)=max(fun(b,m))min(m)=min(fun(s,r))上述方程组为最优化问题,可以通过拟合或者矩阵论方法求解得到最优的m值。
26.步骤s104,基于所述copyset数量对待存储数据进行数据复制,得到对应的副本数据,将所述副本数据存储在对应的n个副本节点上,生成对应的n元组存入所述分布式数据库的中心表,并在n个副本节点的单元表存入所述n元组。
27.具体地,在确定copyset数量后,基于copyset数量对待存储数据进行数据复制得到对应的副本数据,在将副本数据存储到对应的磁盘节点上时,设计对应的copyset存储表,其中copyset存储表分为中心表和单元表,包括:在每一次存储时,即将副本数据存储在对应的n个副本节点上,生成一个对应的n元组存入分布式数据库的中心表,然后在n个副本节点的单元表存入n元组。以副本节点为3个时距离说明,每一次的数据存储都会生成一个三元组存入中心表,三元组分别代表着三个不同编号的存储单元,然后分别在三个对应的存储单元的单元表存入该三元组。采用这中心-本地双副本机制,不仅可以大大降低存储表数据丢失或者出问题的风险,同时可以减少数据恢复过程中存储单元的检索事件,提升数据恢复。
28.步骤s105,通过轮询模块对所述磁盘节点进行轮询,当检测到磁盘节点存在故障时,查询存在故障的磁盘节点的单元表,通过查询结果确定关联的修复副本节点,通过所述修复副本节点对存在故障的磁盘节点进行数据修复。
29.具体地,通过轮询模块周期性的对分布式存储系统中的磁盘节点进行故障轮询,当检测到磁盘节点存在故障时,磁盘节点可能发生数据丢失的情况,则查询存在故障的磁盘节点的单元表,通过查询结果确定关联的修复副本节点,同时也可能通过相关运维人员,基于关联的修复副本节点,对存在故障的磁盘节点进行数据修复,在本实施例中,基于copyset的集群自适应数据备份与恢复的方法的架构图可以如图3所示。
30.另外,如图3的架构图所示,还包括当查询存在故障的磁盘节点的单元表的查询操作失败时,还通过中心表获取存在故障的磁盘节点的n元组,通过n元组生成预警信息,并将预警信息发送至绑定终端,供绑定终端的运维人员根据中心表中的n元组进行维修。
31.另外,在对存在故障的磁盘节点进行数据修复之后,还可以生成存在故障的磁盘节点的日志文件,并将日志文件存储至中心表,供运维人员对发生故障的磁盘节点进行统计,方便运维人员对容易故障的磁盘节点进行调整。
32.本发明实施例提供的一种基于copyset的集群自适应数据备份与恢复的方法,获取分布式数据库的配置信息,分布式数据库分别存储在不同的数据集群上,数据集群包括对应的磁盘节点,配置信息包括:磁盘节点间的关联程度、数据集群的大小;基于关联程度确定磁盘节点间的关联度函数,基于关联程度及数据集群的大小计算数据集群的散射宽度函数,结合关联度函数及散射宽度函数确定copyset函数;获取磁盘节点的带宽及数据恢复速率,根据带宽及数据恢复速率确定对应的数据恢复函数,并基于copyset函数、数据恢复函数求解得到copyset函数的copyset数量;基于copyset数量对待存储数据进行数据复制,得到对应的副本数据,将副本数据存储在对应的n个副本节点上,生成对应的n元组存入分布式数据库的中心表,并在n个副本节点的单元表存入n元组;通过轮询模块对磁盘节点进
行轮询,当检测到磁盘节点存在故障时,查询存在故障的磁盘节点的单元表,通过查询结果确定关联的修复副本节点,通过修复副本节点对存在故障的磁盘节点进行数据修复。这样能够设计一种基于集群规模的复制集自适应选择方案,可以大大加强复制集与集群规模之间关联性,并增加了集群规模与关联性等参数,优点是考虑到了集群存储单元分布上的关联性,可能存在存储单元故障的连带性。通过该参数可以选择到复制集最小的分布策略,从而有效降低数据丢失的概率。另外,当数据需要恢复时,会有更多的磁盘将参与数据恢复工作,从而有效提升数据恢复效率。另外,一旦发生故障,运维人员可以通过查询该表获取损坏/丢失数据关联的备份数据所在的存储单位,及时检查这些存储单元来降低数据丢失的风险,大大简化了运维成本。
33.图4为本发明实施例提供的一种基于copyset的集群自适应数据备份与恢复的装置,包括:第一获取模块s201、计算模块s202、第二获取模块s203、复制模块s204、轮询模块s205,其中:第一获取模块s201,用于获取分布式数据库的配置信息,所述分布式数据库分别存储在不同的数据集群上,所述数据集群包括对应的磁盘节点,所述配置信息包括:磁盘节点间的关联程度、数据集群的大小。
34.计算模块s202,用于基于所述关联程度确定磁盘节点间的关联度函数,基于所述关联程度及数据集群的大小计算所述数据集群的散射宽度函数,结合所述关联度函数及散射宽度函数确定copyset函数。
35.第二获取模块s203,用于获取所述磁盘节点的带宽及数据恢复速率,根据所述带宽及数据恢复速率确定对应的数据恢复函数,并基于所述copyset函数、数据恢复函数求解得到copyset函数的copyset数量。
36.复制模块s204,用于基于所述copyset数量对待存储数据进行数据复制,得到对应的副本数据,将所述副本数据存储在对应的n个副本节点上,生成对应的n元组存入所述分布式数据库的中心表,并在n个副本节点的单元表存入所述n元组。
37.轮询模块s205,用于通过轮询模块对所述磁盘节点进行轮询,当检测到磁盘节点存在故障时,查询存在故障的磁盘节点的单元表,通过查询结果确定关联的修复副本节点,通过所述修复副本节点对存在故障的磁盘节点进行数据修复。
38.在其中一个实施例中,所述装置还包括:预警模块,用于当查询存在故障的磁盘节点的单元表的查询操作失败时,通过所述中心表获取存在故障的磁盘节点的n元组,通过所述n元组生成预警信息,并将所述预警信息发送至绑定终端。
39.在其中一个实施例中,所述装置还包括:拟合模块,用于基于所述copyset函数确定对应的copyset函数最小值函数,基于所述数据恢复函数确定对应的数据恢复函数最大值函数,通过所述copyset函数最小值函数、数据恢复函数最大值函数的方程组进行拟合,得到copyset函数的copyset数量。
40.关于基于copyset的集群自适应数据备份与恢复的装置的具体限定可以参见上文中对于基于copyset的集群自适应数据备份与恢复的方法的限定,在此不再赘述。上述基于copyset的集群自适应数据备份与恢复的装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也
可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
41.图5示例了一种电子设备的实体结构示意图,如图5所示,该电子设备可以包括:处理器(processor)301、存储器(memory)302、通信接口(communications interface)303和通信总线304,其中,处理器301,存储器302,通信接口303通过通信总线304完成相互间的通信。处理器301可以调用存储器302中的逻辑指令,以执行如下方法:获取分布式数据库的配置信息,分布式数据库分别存储在不同的数据集群上,数据集群包括对应的磁盘节点,配置信息包括:磁盘节点间的关联程度、数据集群的大小;基于关联程度确定磁盘节点间的关联度函数,基于关联程度及数据集群的大小计算数据集群的散射宽度函数,结合关联度函数及散射宽度函数确定copyset函数;获取磁盘节点的带宽及数据恢复速率,根据带宽及数据恢复速率确定对应的数据恢复函数,并基于copyset函数、数据恢复函数求解得到copyset函数的copyset数量;基于copyset数量对待存储数据进行数据复制,得到对应的副本数据,将副本数据存储在对应的n个副本节点上,生成对应的n元组存入分布式数据库的中心表,并在n个副本节点的单元表存入n元组;通过轮询模块对磁盘节点进行轮询,当检测到磁盘节点存在故障时,查询存在故障的磁盘节点的单元表,通过查询结果确定关联的修复副本节点,通过修复副本节点对存在故障的磁盘节点进行数据修复。
42.此外,上述的存储器302中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
43.另一方面,本发明实施例还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各实施例提供的传输方法,例如包括:获取分布式数据库的配置信息,分布式数据库分别存储在不同的数据集群上,数据集群包括对应的磁盘节点,配置信息包括:磁盘节点间的关联程度、数据集群的大小;基于关联程度确定磁盘节点间的关联度函数,基于关联程度及数据集群的大小计算数据集群的散射宽度函数,结合关联度函数及散射宽度函数确定copyset函数;获取磁盘节点的带宽及数据恢复速率,根据带宽及数据恢复速率确定对应的数据恢复函数,并基于copyset函数、数据恢复函数求解得到copyset函数的copyset数量;基于copyset数量对待存储数据进行数据复制,得到对应的副本数据,将副本数据存储在对应的n个副本节点上,生成对应的n元组存入分布式数据库的中心表,并在n个副本节点的单元表存入n元组;通过轮询模块对磁盘节点进行轮询,当检测到磁盘节点存在故障时,查询存在故障的磁盘节点的单元表,通过查询结果确定关联的修复副本节点,通过修复副本节点对存在故障的磁盘节点进行数据修复。
44.以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单
元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
45.通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
46.最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1