CN111666179B - 一种多点数据容灾的智能复制系统及服务器 - Google Patents
一种多点数据容灾的智能复制系统及服务器 Download PDFInfo
- Publication number
- CN111666179B CN111666179B CN202010532929.4A CN202010532929A CN111666179B CN 111666179 B CN111666179 B CN 111666179B CN 202010532929 A CN202010532929 A CN 202010532929A CN 111666179 B CN111666179 B CN 111666179B
- Authority
- CN
- China
- Prior art keywords
- replication
- task
- intelligent
- node
- backup
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1458—Management of the backup or restore process
- G06F11/1461—Backup scheduling policy
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1458—Management of the backup or restore process
- G06F11/1464—Management of the backup or restore process for networked environments
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02A—TECHNOLOGIES FOR ADAPTATION TO CLIMATE CHANGE
- Y02A10/00—TECHNOLOGIES FOR ADAPTATION TO CLIMATE CHANGE at coastal zones; at river basins
- Y02A10/40—Controlling or monitoring, e.g. of flood or hurricane; Forecasting, e.g. risk assessment or mapping
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供一种多点数据容灾的智能复制系统,所述智能复制系统包括一个或多个智能复制代理单元;所述智能复制代理单元包括,复制任务目标系统选择模块,复制任务调度模块,复制任务接收评估模块,备份系统容量探测模块和备份系统任务探测模块。本发明从客户的角度,更好的满足异地多节点数据容灾的应用场景,其主要表现在以下几个方面:1平衡域内各个备份系统的存储容量,提高了存储资源的利用率。2解决了备份系统由于资源过载导致备份和复制任务执行延期的问题,提高了系统整体运行可靠性。3客户无需手工定义相关的备份复制策略。备份策略的优先级可以无缝的延展到复制任务的优先级。
Description
技术领域
本发明涉及计算机领域,具体涉及一种多点数据容灾的智能复制系统及服务器。
背景技术
目前,针对企业或者组织的重要数据的保护需要遵循3-2-1的保护原则,既被保护的数据至少有三个备份,备份至少存储在两个不同的设备或者存储媒介上,而且设备或者存储媒介至少有一个是异地的。针对这一需求,如今大部分的数据保护产品在数据备份功能的基础上提供了数据复制功能。该功能将备份数据按照客户自定义的计划从一个备份系统复制到一个或者多个备份系统或者存储上。为了充分的利用备份系统的存储和提高数据的容灾能力,客户往往需要在多个备份系统上各自定义不同的复制策略使得多个备份系统相互复制,以达到一个备份数据存储在多个备份系统中,从而满足3-2-1保护原则。但是目前这种方案存在以下问题:
各个备份系统的已用存储容量不均衡问题。由于复制策略是在每个备份系统中预先单独定义的,而且客户在定义过程中源备份系统和目标备份系统的备份数据容量是无法估计的,这样就会导致多个系统在运行一段时间后,有些备份系统的可用容量已经超过预定阈值,而有些备份系统的可用容量还在一个很低的水平。如果需要解决这个问题,客户必须将数据从一个低可用容量的系统迁移到一个高可用容量的系统。这样会给客户带来更多的管理和维护成本。
备份系统资源过载导致备份和复制任务执行延期的问题。目前大部分的数据复制策略计划是基于定时执行策略的,这种预先定义的计划往往没有考虑运行时源备份系统和目标备份系统的运行实时性能,这样会导致在某些时间段源系统或者目标系统在备份任务过载或者饱和的情况下还需要额外的执行数据复制的任务。从而降低整个系统的业务吞吐量,进而导致某些备份和复制任务延期执行完毕。同时在某些时间段,源备份系统和目标备份系统的任务负载都很低,但是却没有复制任务的调度产生。
发明内容
本发明的发明目的是:提供一种无需为每个备份系统定义相关的数据复制策略,在备份数据产生后,在合理的时间段自动将数据复制到最合适的目标系统中,无需定义任何的复制策略,同时保证源备份系统和目标备份系统的容量和性能的平衡度的智能复制系统。
本发明提供一种多点数据容灾的智能复制系统,所述智能复制系统包括一个或多个智能复制代理单元;
所述智能复制代理单元包括,复制任务目标系统选择模块,复制任务调度模块,复制任务接收评估模块,备份系统容量探测模块和备份系统任务探测模块;
多个智能复制系统通过智能复制代理单元组成一个或者多个智能复制域;
当一个备份数据产生后,智能复制系统向智能复制代理中添加一条新的待执行的复制任务,复制代理将该任务插入到等待队列中;
复制任务调度模块对本地等待队列中的任务进行优先级排序,将优先级最高的任务选中作为系统的待执行的任务,同时向复制域内的其他智能复制代理单元询问其他系统的最高优先级的任务列表,如果被询问系统中的任务列表的任务优先级最高,则将该任务作为复制域内待执行的复制任务,并通过复制任务目标系统选择模块向智能复制域内的所有智能复制代理单元发出备份任务接收请求,否则,该任务在等待队列中继续等待;
同一复制域内复制代理单元通过备份系统容量探测模块和备份系统任务探测模块的数据计算当前系统接收复制任务的匹配度,并将匹配度返回给源请求的智能复制代理单元;
当源智能复制代理单元从复制域内其他智能复制代理单元收到多个匹配度的值后,选择最高的匹配值相对应的备份系统作为待执行任务的复制目标,并将该任务放置到复制任务运行队列,并触发复制操作。
进一步的,智能复制系统采用以下步骤进行优先级排序:
S1复制域内每个智能复制代理单元在预定义的统一时间间隔T触发复制任务,在备份系统初始化完成后,触发器随机取0到T之间的时间间隔;
S2当触发器被触发后,智能复制代理单元判断等待队列的长度是否大于零,如果等于零,则退出执行,否则,确定复制域内在该时刻最高优先级的复制任务;
S3智能复制代理单元确定本系统中等待队列中的所有复制任务的任务优先级,并选取最高优先级的任务作为候选待执行任务,同时向复制域内其他智能复制代理单元请求其他备份系统中最高优先级的复制任务,其他智能复制代理单元采用同样的优先级算法确定其等待队列中的复制任务优先级并将最高优先级的复制任务返回给调用方;
S4智能复制代理单元获取到域内所有最高优先级复制任务列表后,确定最高优先级的复制任务,并判断该任务所在的节点是否为本节点,如果不是本节点则退出执行,否则本节点的复制任务作为待执行任务。
S5智能复制代理单元向域内其他节点上的智能复制代理单元请求待执行任务的最佳匹配节点,复制域内每个智能复制代理单元会确定待执行任务与本节点匹配值,并将匹配值返回给调用方,调用方代理获取所有的匹配值后,选取最高匹配值对应的节点作为复制任务的目标节点,并开始执行复制任务,如果复制域内所有智能复制代理单元返回的匹配值为零,则执行退出。
进一步的,智能复制系统采用以下的计算公式来确定复制任务的优先级,
P=(Pb×10)+0.12×log S×5-0.68×log R+0.3×log W
式中R表示该备份数据所对应的设备的恢复时间目标值,W表示该复制任务在等待队列中的等待时间,Pb表示产生该备份所对应的备份策略的优先级,S表示当前时间点本备份系统可用的读操作流的数量占总读操作流的数量比例,P表示复制任务最终确定的优先级。
进一步的,复制任务接收匹配度算法包括以下步骤,
S1在确定最高优先级的复制任务后,该任务所在的节点向复制域内其他节点发出匹配度查询请求,将该节点称为源节点,其他节点称为目标节点。
S2目标节点获得查询任务后,计算本节点针对该复制任务的匹配度的值,首先获取本节点到源节点的网络延迟值,其次获取当前节点的存储已用空间占比,最后获取当前节点的可用写操作流占所有写操作流的比例;
S3目标节点返回匹配度的值。
S4如果目标节点在预定义的时间内没有返回匹配值,则该目标节点不作为候选节点,源节点获取目标节点的匹配值后,选取最高值所对应的目标节点作为该任务的复制目标节点。
进一步的,智能复制系统采用以下公式计算匹配度的值:
式中,L表示源节点与目标节点当前的网络延迟值,Tl表示域内所有节点之间的能容忍的最大网络延迟值,Su表示本节点已用存储的占比,Wr表示本节点已用写操作流的占比,M表示最终确定的匹配度的值。
本发明还提供一种服务器,所述服务器运行上述的智能复制系统。
本发明的有益效果是:
本发明从客户的角度,更好的满足异地多节点数据容灾的应用场景,其主要表现在以下几个方面:
1平衡域内各个备份系统的存储容量,提高了存储资源的利用率。
2解决了备份系统由于资源过载导致备份和复制任务执行延期的问题,提高了系统整体运行可靠性。
3客户无需手工定义相关的备份复制策略。备份策略的优先级可以无缝的延展到复制任务的优先级。
附图说明
图1为本发明系统架构图。
图2优先级排序算法流程图。
图3接收匹配度算法流程图。
图4优先级系数优化过程流程图。
图5复制任务匹配度相关系数优化过程流程图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,下面通过具体实施方式结合附图对本发明作进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
实施例一:
如图1所示,本发明提供了一种基于多点数据容灾应用场景的智能备份数据复制方法。从客户的角度来看,他们无需为每个备份系统定义相关的数据复制策略。该方法会在备份数据产生后,在合理的时间段自动将数据复制到最合适的目标系统中。而用户无需定义任何的复制策略,同时保证源备份系统和目标备份系统的容量和性能的平衡度。
1.多个备份系统通过智能复制代理模块组成一个或者多个智能复制域,同一个智能复制域内的备份系统可以将本备份系统内的备份数据通过复制代理复制到域中的多个备份系统中。
2.针对智能复制域中的某一个备份系统,当一个备份数据产生后,备份系统会将向智能复制代理中添加一条新的待执行的复制任务。复制代理将该任务插入到等待队列中。
3.复制任务调度模块会定时地对本地等待队列中的任务进行优先级排序,将优先级最高的任务选中作为本系统的待执行的任务,同时向域内的其他复制代理询问其他系统的最高优先级的任务列表,如果本系统中的任务列表的任务优先级最高,则将该任务作为域内待执行的复制任务,并通过复制任务目标系统选择模块向智能复制域内的所有智能复制代理发出备份任务接收请求。否则,该任务就会在等待队列中继续等待。具体的算法会在后续部分详细描述。
4.域内其他复制代理模块会依赖容量探测模块和任务探测模块的数据计算当前系统接收复制任务的匹配度。并将匹配度返回给源请求的智能复制代理。具体计算匹配度的算法会在后续部分详细描述。
5.当源复制代理从域内其他复制代理收到多个匹配度的值后,选择最高的匹配值相对应的备份系统作为待执行任务的复制目标,并将该任务放置到复制任务运行队列,并最终触发相应的复制操作。
下面对本发明域内多代理任务优先级排序算法进行说明
针对单个备份系统,基于复制任务的优先级来确定复制任务执行的先后顺序,是复制任务调度模块的基本要求,但是在多备份系统的部署场景下,如果以单个备份系统内的复制任务的优先级来确定域内的所有复制任务执行的先后顺序,会导致某些存在于其他系统中的高优先级的复制任务没有得到及时的执行。这样的结果从客户的角度是无法接受的。为了确认域内所有备份系统中的复制任务的优先级,本发明提供了如下的方法。图2描述了该方法的具体步骤。
1.域内每个复制代理在预定义的统一时间间隔T触发复制任务,在备份系统初始化完成后,触发器随机取0到T之间的时间间隔。
2.当触发器被触发后,代理需要判断等待队列的长度是否大于零,如果等于零,则表示本备份系统中没有待执行的复制任务,模块退出执行。
否则,确定域内在该时刻最高优先级的复制任务。
3.首先代理按照一定的算法确定本系统中等待队列中的所有复制任务的任务优先级,具体的算法在后续部分描述。并选取最高优先级的任务作为候选待执行任务。同时向域内其他复制代理请求其他备份系统中最高优先级的复制任务。其他复制代理采用同样的优先级算法确定其等待队列中的复制任务优先级并将最高优先级的复制任务返回给调用方。
4.代理获取到域内所有最高优先级复制任务列表后,确定最高优先级的复制任务,并判断该任务所在的节点是否为本节点。如果不是本节点,则表示其他节点存在更高优先级的复制任务,模块不应该执行本节点的复制任务,模块退出执行。否则表示本节点的复制任务在该时间点具有最高优先级,其应该作为待执行任务。
5.代理向域内其他节点上的代理请求待执行任务的最佳匹配节点,域内每个代理会按照后续描述的算法确定待执行任务与本节点匹配值,并将匹配值返回给调用方。调用方代理获取所有的匹配值后,选取最高匹配值对应的节点作为复制任务的目标节点,并开始执行复制任务。如果域内所有代理返回的匹配值为零,则表示在该时刻域内所有的节点不具备接受该复制任务的能力。则模块执行退出。
下面对本发明复制任务优先级算法进行说明。
基于以往用户复制策略的分析,我们发现影响复制任务优先级的最主要的因素包含复制任务在等待队列的等待时间、备份数据所对应的设备的恢复时间目标(RPO)、产生备份数据所对应的备份策略的优先级、当前备份系统可用的读操作流的数量占总读操作流的数量比例。为了计算某个备份复制任务的优先级,我们定义了如下的模型。
R表示该备份数据所对应的设备的恢复时间目标值(RPO)。该值一般是由用户在备份策略中指定。如果该值越大则表示该设备的重要性越低,相应的复制任务的优先级就越低。反而言之,如果该值越小则表示该设备能容忍的数据丢失率越低,则其对应的复制任务的优先级就越高。该值的单位为分钟。
W表示该复制任务在等待队列中的等待时间。其具体的计算方式是当前时间戳减去复制任务的创建时间戳。如果该值越大,则表示该任务在队列中等待的时间越长,相应的其优先级就越高,反之,则该复制任务的优先级就越低。该值的单位为秒。
Pb表示产生该备份所对应的备份策略的优先级。该值一般是由用户在备份策略中指定。如果该值越大则表示该备份的数据越重要,那么其对应的复制任务的优先级就越高,反之,如果该值越小,则其对应的复制任务的优先级就越低。
S表示当前时间点本备份系统可用的读操作流的数量占总读操作流的数量比例,该值越高则表示可用的读操作流的数量越多,则相应的复制任务就能在最短的时间内执行完毕,所以其对应的复制任务的优先级则越高,反之优先级则越低。
由于复制任务的优先级由以上四个因素确定,而且四个因素的影响因子各不相同,在本发明用a,b,c表示相关因素的影响系数。并用P表示复制任务最终确定的优先级。最后用以下的计算公式来确定该复制任务的优先级。
P=(Pb×10)+a×log S×5-b×log R+c×log W
Pb∈R|1≤Pb≤10
S∈N|0≤S≤1
R∈N|0≤R≤44640
W∈N|0≤W≤44640
0≤a≤1;0≤b≤1;0≤c≤1;a+b+c=1
●备份策略的优先级在上述计算过程中起了确定性的作用,其最小值为10.而a×logS×5-b×logR+c×logW的最大值却小于10.该公式反映了客户的切实需求,如果备份策略中优先级高,则相对应的复制任务就应该高,反之则低。但是针对同一优先级的备份策略中的备份复制任务,则其优先级取决于当前节点可用的读操作流的数量的比例,该备份对应的RPO的值和复制任务在队列中的等待时间。
●针对a×logS×5-b×logR+c×logW表达式:
■当前节点可用读操作流的数量比例S与复制任务的优先级P成正相关关系。这表示可用读操作流的数量比例越高,则复制任务的优先级越高。
■该备份恢复时间目标值(RPO)的值R与复制任务的优先级P成负相关关系,这表示RPO值越高的备份,其对应的复制任务的优先级越低。
■该复制任务在等待队列中的时间值W与复制任务的优先级P成正相关关系,这表示复制任务在队列等待的时间越长,则其对应的复制任务的优先级越高。
为了确定相关因素的影响系数的值,本发明通过模拟复制任务,不断调整复制任务调度模块参数,使得复制任务的执行率达到最大,最终确定相关的系数。具体的步骤描述参见在后续部分。
基于上述算法,在实验室模拟环境下的测试结果表明,如下的公式可以最大程度的满足客户服务等级协议。
P=(Pb×10)+0.12×log S×5-0.68×log R+0.3×log W
可以将该公式的系数作为系统默认设置。同时根据实验室测试结果,三个系数的最佳取值值域为:
a:[0.09,0.15]
b:[0.63,0.72]
c:[0.26,0.32]
下面对本发明复制任务优先级相关系数优化进行说明。
为了优化复制任务优先级相关系数,本发明通过模拟产生N组待复制的任务集合,每组任务集合包含M复制任务。以一组复制任务集合为单位,通过模拟复制任务的执行,得出在固定时间T内能完成的复制任务数量。同时不断调整复制任务调度模块的相关系数,使得固定时间T内能完成的复制任务数量最大。并将相关的系数作为该组复制任务集合的最优系数组合。当N组待复制任务集合执行完毕后,会得到N个最优系数组合,从N个最优系数组合中选择最后的系数组合的算法在后续部分描述。图4描述了上述的优化过程。
1.随机模拟产生待执行的N个复制任务集合,每个集合包含M个复制任务。复制任务由{R,Pb,E}三元组组成。R表示该备份数据所对应的设备的恢复时间目标值(RPO),Pb表示产生该备份所对应的备份策略的优先级,E表示该复制任务执行时间。在复制任务调度模块中我们假设本备份系统可用的读操作流占总读操作流的数量比例是一个恒定值。
2.取一个复制任务集合,其中包含的M个复制任务会被调度模块模拟执行。执行完毕后记录该任务集合在时间T内完成的任务数量。
3.调整复制任务调度模块系数组合(ɑ,b,c),每个系数按照0.01的步进方式进行调整,并重新模拟执行M个复制任务并得到时间T内完成的任务数量,如果该数量比前一次的完成数量大,则将该系数组合记录为当前最佳系数组合。直到所有的系数组合执行完毕。
4.当一组复制任务集合执行完毕后,该模拟系统会得到针对该任务集合的最佳系数组合,并记录。重复上述2到3步骤直到所有的任务集合执行完毕。这样就得到如下记录表:
复制任务集合ID | ɑ | b | c |
1 | 0.1 | 0.65 | 0.25 |
2 | 0.15 | 0.59 | 0.36 |
... | |||
n | 0.17 | 0.69 | 0.14 |
下面对本发明复制任务优先级相关系数选择最佳系数组合算法进行说明。
首先针对上述的记录表采用DBSCAN聚类算法找到最佳系数组合族。DBSCAN聚类算法的描述如下:
输入:样本集D=(x1,x2,...,xm),邻域参数(∈,MinPts),样本距离度量方式
输出:簇划分C.
2.对于j=1,2,...m,按下面的步骤找出所有的核心对象:
a)通过距离度量方式,找到样本xj的∈-邻域子样本集N∈(xj)
b)如果子样本集样本个数满足|N∈(xj)|≥MinPts,将样本xj加入核心对象样本集合:Ω=Ω∪{xj}
4.在核心对象集合Ω中,随机选择一个核心对象o,初始化当前簇核心对象队列Ωcur={o},初始化类别序号k=k+1,初始化当前簇样本集合Ck={o},更新未访问样本集合Γ=Γ-{o}
6.在当前簇核心对象队列Ωcur中取出一个核心对象o′,通过邻域距离阈值∈找出所有的∈-邻域子样本集N∈(o′),令Δ=N∈(o′)∩Γ,更新当前簇样本集合Ck=Ck∪Δ,更新未访问样本集合Γ=Γ-Δ,更新Ωcur=Ωcur∪(Δ∩Ω)-o′,转入步骤5。
7.输出结果为:簇划分C={C1,C2,...,Ck}
例如:
C1包含以下系数组合:
ɑ | b | c |
0.13 | 0.65 | 0.22 |
0.1 | 0.59 | 0.31 |
0.16 | 0.69 | 0.15 |
C2包含以下系数组合:
ɑ | b | c |
0.2 | 0.65 | 0.15 |
0.15 | 0.58 | 0.27 |
0.13 | 0.62 | 0.25 |
选取含最多样本集合的族作为最佳系数组合。并计算每个系数对应的算术平均值。最终将三个系数算法平均值所组成的系数组最为本系统的最佳系数组合(即本实施例所采用的0.12,0.68,0.3)。同时将该族中三个系数的值域作为最佳系数取值值域。
下面本发明对复制任务接收匹配度算法进行说明。
在确定最高优先级的复制任务后,需要确定该复制任务在域内的目标备份系统。根据客户的反馈和实验室的结果表明,目标备份系统的选择主要取决于以下几个因素:当前目标备份系统可用的写操作流的数量占所有写操作流的数量比例、当前复制任务所在节点到目标备份系统的网络延迟、目标备份系统的可用空间占总的空间的比例。
当前目标备份系统可用的写操作流的数量占所有写操作流的数量比例越高,则表明该节点的写操作比较空闲,系统就更应该接受该复制任务,其相应的匹配度的值就会越高。在系统实际运行过程中,如果该节点在当前时间点的备份任务比较多时,则该比例值就会比较低。那么表明该节点接受该复制任务的匹配度的值就越低。
其次,如果当前复制任务所在节点与目标备份系统节点的网络延迟比较高的情况下,则表明该复制任务不能将目标备份系统作为候选节点,那么相应的匹配度的值就应该越低。反之则就应该越高。其实这种结果也符合客户的预期。
最后,复制任务接受匹配度还取决于当前目标备份系统的存储已用空间。如果已用空间占比比较大,则表明该系统的存储容量很快会达到最大阈值,相应的系统就不应该将该复制任务指派到该节点。反之,该目标备份系统应该接受复制任务。这样的调度方式会使得域内所有的备份系统的存储容量达到一个良好的平衡,从而避免了有些备份系统的容量已经达到限额,而有些备份系统的容量没有得到充分的利用。
基于以上的分析结果,在本发明中,提供了如下的算法来确定接受复制任务的目标备份系统。图3描述了该算法的流程:
1.在确定最高优先级的复制任务后,该任务所在的节点向域内其他节点发出匹配度查询请求。我们将该节点称为源节点。而其他节点称为目标节点。
2.目标节点获得查询任务后,其需要计算本节点针对该复制任务的匹配度的值,首先其需要获取本节点到源节点的网络延迟值,其次获取当前节点的存储已用空间占比,最后获取当前节点的可用写操作流占所有写操作流的比例。然后按照后续描述的数学模型计算匹配度的值。
3.目标节点返回匹配度的值。
4.如果目标节点在预定义的时间内没有返回匹配值,则该目标节点不会作为候选节点。源节点获取目标节点的匹配值后,选取最高值所对应的目标节点作为该任务的复制目标节点。
下面对本发明计算匹配度值的数学模型进行说明。
L表示源节点与目标节点当前的网络延迟值。
Tl表示域内所有节点之间的能容忍的最大网络延迟值,该值一般由用户自定义产生。
Su表示本节点已用存储的占比,一般通过已用空间容量和总的空间容量相除得到。
Wr表示本节点已用写操作流的占比,一般通过已占用的写操作流的数量除以总的写操作流的数量得到。
M表示最终确定的匹配度的值。
基于以上的变量定义,我们提出了以下的数学计算公式:
Su∈N|0≤Su≤1
Wr∈N|0≤Wr≤1
0≤a≤1;0≤b≤1;0≤c≤1;a+b+c=1
基于上述模型,在实验室环境下的测试结果表明,如下的公式可以最大程度的满足客户服务等级协议:
可以将该公式的系数作为系统默认设置。同时根据实验室测试结果,三个系数的最佳取值值域为:
a:[0.49,0.58]
b:[0.3,0.38]
c:[0.08,0.15]
下面对本发明复制任务匹配度相关系数优化过程进行说明。
为了优化复制任务匹配度相关系数,本发明通过模拟产生N组待复制的任务集合,每组任务集合包含M复制任务。以一组复制任务集合为单位,通过模拟匹配目标系统的执行,得出在固定时间T内能完成的复制任务数量。同时不断调整匹配模块的相关系数,使得固定时间T内能完成的复制任务数量最大。并将相关的系数作为该组复制任务集合的最优系数组合。当N组待复制任务集合执行完毕后,会得到N个最优系数组合,从N个最优系数组合中选择最后的系数组合的算法在后续部分描述。图5描述了上述的优化过程。
1.随机模拟产生待执行的N个复制任务集合,每个集合包含M个复制任务。复制任务由{L,Tl,Su,Wr,E}五元组组成。L表示源节点与目标节点当前的网络延迟值,Tl表示域内所有节点之间的能容忍的最大网络延迟值,Su表示本节点已用存储的占比,Wr表示本节点已用写操作流的占比,E表示该复制任务执行时间。
2.取一个复制任务集合,其中包含的M个复制任务会被匹配模块模拟执行。执行完毕后记录该任务集合在时间T内完成的任务数量。
3.调整匹配调度模块系数组合(ɑ,b,c),每个系数按照0.01的步进方式进行调整,并重新模拟执行M个复制任务并得到时间T内完成的任务数量,如果该数量比前一次的完成数量大,则将该系数组合记录为当前最佳系数组合。直到所有的系数组合执行完毕。
4.当一组复制任务集合执行完毕后,该模拟系统会得到针对该任务集合的最佳系数组合,并记录。重复上述2到3步骤直到所有的任务集合执行完毕。这样就得到如下记录表:
复制任务集合ID | ɑ | b | c |
1 | 0.5 | 0.23 | 0.27 |
2 | 0.43 | 0.19 | 0.38 |
... | |||
n | 0.39 | 0.38 | 0.23 |
下面对本发明复制任务匹配度相关系数选择最佳系数组合算法进行说明。
首先针对上述的记录表采用DBSCAN聚类算法找到最佳系数组合族。DBSCAN聚类算法的描述如下:
输入:样本集D=(x1,x2,...,xm),邻域参数(∈,MinPts),样本距离度量方式
输出:簇划分C.
9.对于j=1,2,...m,按下面的步骤找出所有的核心对象:
a)通过距离度量方式,找到样本xj的∈-邻域子样本集N∈(xj)
b)如果子样本集样本个数满足|N∈(xj)|≥MinPts,将样本xj加入核心对象样本集合:Ω=Ω∪{xj}
11.在核心对象集合Ω中,随机选择一个核心对象o,初始化当前簇核心对象队列Ωcur={o},初始化类别序号k=k+1,初始化当前簇样本集合Ck={o},更新未访问样本集合Γ=Γ-{o}
13.在当前簇核心对象队列Ωcur中取出一个核心对象o′,通过邻域距离阈值∈找出所有的∈-邻域子样本集N∈(o′),令Δ=N∈(o′)∩Γ,更新当前簇样本集合Ck=Ck∪Δ,更新未访问样本集合Γ=Γ-Δ,更新Ωcur=Ωcur∪(Δ∩Ω)-o′,转入步骤5。
14.输出结果为:簇划分C={C1,C2,...,Ck}
例如:
C1包含以下系数组合:
ɑ | b | c |
0.53 | 0.35 | 0.12 |
0.6 | 0.29 | 0.11 |
0.56 | 0.39 | 0.15 |
C2包含以下系数组合:
ɑ | b | c |
0.47 | 0.25 | 0.28 |
0.51 | 0.2 | 0.29 |
0.43 | 0.37 | 0.2 |
选取含最多样本集合的族作为最佳系数组合。并计算每个系数对应的算术平均值。最终将三个系数算法平均值所组成的系数组最为本系统的最佳系数组合(即本实施例所采用的0.54,0.34,0.12)。同时将该族中三个系数的值域作为最佳系数取值值域。
实施例二:
本实施例在上述实施一的基础上,提供一种服务器,所述服务器运行实施例一所述的智能复制系统。具体请参见如上实施例一中的描述,在此不再赘述。
通过上述实施例可以看出本发明的有益效果是:
从客户的角度,更好的满足异地多节点数据容灾的应用场景,其主要表现在以下几个方面:
平衡域内各个备份系统的存储容量,提高了存储资源的利用率。
解决了备份系统由于资源过载导致备份和复制任务执行延期的问题,提高了系统整体运行可靠性。
客户无需手工定义相关的备份复制策略。备份策略的优先级可以无缝的延展到复制任务的优先级。
显然,本领域的技术人员应该明白,上述本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在计算机存储介质(ROM/RAM、磁碟、光盘)中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。所以,本发明不限制于任何特定的硬件和软件结合。以上内容是结合具体的实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。
Claims (6)
1.一种多点数据容灾的智能复制系统,其特征在于,所述智能复制系统包括一个或多个智能复制代理单元;
所述智能复制代理单元包括,复制任务目标系统选择模块,复制任务调度模块,复制任务接收评估模块,备份系统容量探测模块和备份系统任务探测模块;
多个智能复制系统通过智能复制代理单元组成一个或者多个智能复制域;
当一个备份数据产生后,智能复制系统向智能复制代理中添加一条新的待执行的复制任务,复制代理将该任务插入到等待队列中;
复制任务调度模块对本地等待队列中的任务进行优先级排序,将优先级最高的任务选中作为系统的待执行的任务,同时向复制域内的其他智能复制代理单元询问其他系统的最高优先级的任务列表,如果被询问系统中的任务列表的任务优先级最高,则将该任务作为复制域内待执行的复制任务,并通过复制任务目标系统选择模块向智能复制域内的所有智能复制代理单元发出备份任务接收请求,否则,该任务在等待队列中继续等待;
同一复制域内复制代理单元通过备份系统容量探测模块和备份系统任务探测模块的数据计算当前系统接收复制任务的匹配度,并将匹配度返回给源请求的智能复制代理单元;
当源智能复制代理单元从复制域内其他智能复制代理单元收到多个匹配度的值后,选择最高的匹配值相对应的备份系统作为待执行任务的复制目标,并将该任务放置到复制任务运行队列,并触发复制操作。
2.如权利要求1所述一种多点数据容灾的智能复制系统,其特征在于,智能复制系统采用以下步骤进行优先级排序:
S1复制域内每个智能复制代理单元在预定义的统一时间间隔T触发复制任务,在备份系统初始化完成后,触发器随机取0到T之间的时间间隔;
S2当触发器被触发后,智能复制代理单元判断等待队列的长度是否大于零,如果等于零,则退出执行,否则,确定复制域内在该时刻最高优先级的复制任务;
S3智能复制代理单元确定本系统中等待队列中的所有复制任务的任务优先级,并选取最高优先级的任务作为候选待执行任务,同时向复制域内其他智能复制代理单元请求其他备份系统中最高优先级的复制任务,其他智能复制代理单元采用同样的优先级算法确定其等待队列中的复制任务优先级并将最高优先级的复制任务返回给调用方;
S4智能复制代理单元获取到域内所有最高优先级复制任务列表后,确定最高优先级的复制任务,并判断该任务所在的节点是否为本节点,如果不是本节点则退出执行,否则本节点的复制任务作为待执行任务;
S5智能复制代理单元向域内其他节点上的智能复制代理单元请求待执行任务的最佳匹配节点,复制域内每个智能复制代理单元会确定待执行任务与本节点匹配值,并将匹配值返回给调用方,调用方代理获取所有的匹配值后,选取最高匹配值对应的节点作为复制任务的目标节点,并开始执行复制任务,如果复制域内所有智能复制代理单元返回的匹配值为零,则执行退出。
3.如权利要求1所述的一种多点数据容灾的智能复制系统,其特征在于,智能复制系统采用以下的计算公式来确定复制任务的优先级,
P=(Pb×10)+0.12×log S×5-0.68×log R+0.3×log W
式中,R表示该备份数据所对应的设备的恢复时间目标值,W表示该复制任务在等待队列中的等待时间,Pb表示产生该备份所对应的备份策略的优先级,S表示当前时间点本备份系统可用的读操作流的数量占总读操作流的数量比例,P表示复制任务最终确定的优先级。
4.如权利要求1所述的一种多点数据容灾的智能复制系统,其特征在于,复制任务接收匹配度算法包括以下步骤,
S1在确定最高优先级的复制任务后,该任务所在的节点向复制域内其他节点发出匹配度查询请求,将该节点称为源节点,其他节点称为目标节点;
S2目标节点获得查询任务后,计算本节点针对该复制任务的匹配度的值,首先获取本节点到源节点的网络延迟值,其次获取当前节点的存储已用空间占比,最后获取当前节点的可用写操作流占所有写操作流的比例;
S3目标节点返回匹配度的值;
S4如果目标节点在预定义的时间内没有返回匹配值,则该目标节点不作为候选节点,源节点获取目标节点的匹配值后,选取最高值所对应的目标节点作为该任务的复制目标节点。
6.一种服务器,其特征在于,所述服务器运行权利要求1-5任一项所述的智能复制系统。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010532929.4A CN111666179B (zh) | 2020-06-12 | 2020-06-12 | 一种多点数据容灾的智能复制系统及服务器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010532929.4A CN111666179B (zh) | 2020-06-12 | 2020-06-12 | 一种多点数据容灾的智能复制系统及服务器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111666179A CN111666179A (zh) | 2020-09-15 |
CN111666179B true CN111666179B (zh) | 2023-03-28 |
Family
ID=72387093
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010532929.4A Active CN111666179B (zh) | 2020-06-12 | 2020-06-12 | 一种多点数据容灾的智能复制系统及服务器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111666179B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111711964B (zh) * | 2020-04-30 | 2024-02-02 | 国家计算机网络与信息安全管理中心 | 一种系统容灾能力测试方法 |
CN112286733B (zh) * | 2020-12-23 | 2021-04-06 | 深圳市科力锐科技有限公司 | 备份数据恢复时间确定方法、装置、设备及存储介质 |
CN112835004B (zh) * | 2020-12-31 | 2022-07-15 | 南京国睿防务系统有限公司 | 一种基于目标通道复制的航迹质量评估系统 |
US11954073B2 (en) | 2022-03-16 | 2024-04-09 | International Business Machines Corporation | Multi-protocol multi-site replication |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101656624A (zh) * | 2008-08-18 | 2010-02-24 | 中兴通讯股份有限公司 | 一种多节点应用级容灾系统及容灾方法 |
CN106294013A (zh) * | 2016-08-10 | 2017-01-04 | 广东省科技基础条件平台中心 | 一种不同备份域之间的数据容灾方法和系统 |
WO2017088192A1 (zh) * | 2015-11-28 | 2017-06-01 | 华为技术有限公司 | 数据备份装置及方法、系统 |
JP2017142605A (ja) * | 2016-02-09 | 2017-08-17 | 株式会社日立製作所 | バックアップリストアシステム及びリストア方法 |
CN107122262A (zh) * | 2017-04-21 | 2017-09-01 | 杭州狮说教育科技有限公司 | 基于agent的数据库智能备份系统 |
CN107729177A (zh) * | 2017-09-18 | 2018-02-23 | 中国科学院信息工程研究所 | 基于云存储的备份数据存储管理方法、装置和系统 |
CN107908503A (zh) * | 2012-11-26 | 2018-04-13 | 亚马逊科技公司 | 从备份系统流式恢复数据库 |
CN108132858A (zh) * | 2017-12-22 | 2018-06-08 | 周川 | 一种容灾备份方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8301593B2 (en) * | 2008-06-12 | 2012-10-30 | Gravic, Inc. | Mixed mode synchronous and asynchronous replication system |
US10013313B2 (en) * | 2014-09-16 | 2018-07-03 | Actifio, Inc. | Integrated database and log backup |
-
2020
- 2020-06-12 CN CN202010532929.4A patent/CN111666179B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101656624A (zh) * | 2008-08-18 | 2010-02-24 | 中兴通讯股份有限公司 | 一种多节点应用级容灾系统及容灾方法 |
CN107908503A (zh) * | 2012-11-26 | 2018-04-13 | 亚马逊科技公司 | 从备份系统流式恢复数据库 |
WO2017088192A1 (zh) * | 2015-11-28 | 2017-06-01 | 华为技术有限公司 | 数据备份装置及方法、系统 |
JP2017142605A (ja) * | 2016-02-09 | 2017-08-17 | 株式会社日立製作所 | バックアップリストアシステム及びリストア方法 |
CN106294013A (zh) * | 2016-08-10 | 2017-01-04 | 广东省科技基础条件平台中心 | 一种不同备份域之间的数据容灾方法和系统 |
CN107122262A (zh) * | 2017-04-21 | 2017-09-01 | 杭州狮说教育科技有限公司 | 基于agent的数据库智能备份系统 |
CN107729177A (zh) * | 2017-09-18 | 2018-02-23 | 中国科学院信息工程研究所 | 基于云存储的备份数据存储管理方法、装置和系统 |
CN108132858A (zh) * | 2017-12-22 | 2018-06-08 | 周川 | 一种容灾备份方法 |
Non-Patent Citations (2)
Title |
---|
基于ILP的云端容灾备份中心布局策略;刘卓华等;《计算机工程与设计》(第07期);第166-171页 * |
多策略容灾系统的设计与实现;答治茜等;《计算机应用研究》(第07期);第117-119页 * |
Also Published As
Publication number | Publication date |
---|---|
CN111666179A (zh) | 2020-09-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111666179B (zh) | 一种多点数据容灾的智能复制系统及服务器 | |
Ge et al. | GA-based task scheduler for the cloud computing systems | |
CN109918198B (zh) | 一种基于用户特征预测的仿真云平台负载调度系统及方法 | |
US20200364608A1 (en) | Communicating in a federated learning environment | |
Joshi et al. | Efficient replication of queued tasks for latency reduction in cloud systems | |
Bölöni et al. | Robust scheduling of metaprograms | |
Nahir et al. | Replication-based load balancing | |
Boloor et al. | Dynamic request allocation and scheduling for context aware applications subject to a percentile response time SLA in a distributed cloud | |
US8239707B2 (en) | Replicated state machine | |
Xie et al. | Pandas: robust locality-aware scheduling with stochastic delay optimality | |
Ashouraei et al. | A new SLA-aware load balancing method in the cloud using an improved parallel task scheduling algorithm | |
Karatza et al. | Epoch load sharing in a network of workstations | |
CN114338695A (zh) | 基于多副本的领导者选举方法、装置、设备及存储介质 | |
Al-Mistarihi et al. | On fairness, optimizing replica selection in data grids | |
SM et al. | Priority based resource allocation and demand based pricing model in peer-to-peer clouds | |
Nahir et al. | Distributed oblivious load balancing using prioritized job replication | |
Birke et al. | Power of redundancy: Designing partial replication for multi-tier applications | |
Son et al. | Stochastic distributed data stream partitioning using task locality: design, implementation, and optimization | |
Jadhav et al. | Performance evaluation in distributed system using dynamic load balancing | |
Hung et al. | Stability and control of acyclic stochastic processing networks with shared resources | |
Wei et al. | A novel scheduling mechanism for hybrid cloud systems | |
Wang et al. | GNSGA: A Decentralized Data Replication Algorithm for Big Science Data | |
Wu et al. | Self-adaptive task allocation and scheduling of meta-tasks in non-dedicated heterogeneous computing | |
Aparnaa et al. | An Enhanced Adaptive Scoring Job Scheduling algorithm for minimizing job failure in heterogeneous grid network | |
CN116909758B (zh) | 算力任务的处理方法、装置及电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | 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 |