一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

容灾备份方法及装置、计算机存储介质、电子设备与流程

2022-11-30 10:46:23 来源:中国专利 TAG:


1.本公开涉及网络安全技术领域,尤其涉及一种容灾备份方法与容灾备份装置、计算机可读存储介质及电子设备。


背景技术:

2.容灾备份技术指的是在本地数据以及整个应用系统出现灾难时,系统至少在异地保存有一份可用的关键业务数据,整个应用系统可以切换到另一处,使得该系统功能可以继续正常工作。
3.在相关技术中,传统容灾备份技术,如远程镜像技术、基于ip(internet protocol,网络之间互连的协议)的san(storage area network,存储局域网络)的互联技术、快照技术等对链路带宽消耗大,很少考虑承载资源的情况,无法从全局综合选择最优方式进行容灾备份,降低了容灾备份的效率以及可靠性。
4.鉴于此,本领域亟需开发一种新的容灾备份方法及装置。
5.需要说明的是,在上述背景技术部分公开的信息仅用于加强对本公开的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。


技术实现要素:

6.本公开的目的在于提供一种容灾备份方法、容灾备份装置、计算机可读存储介质及电子设备,进而至少在一定程度上克服由于相关技术导致的无法从全局综合选择最优方式进行容灾备份的问题。
7.本公开的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本公开的实践而习得。
8.根据本发明实施例的第一个方面,提供一种容灾备份方法,所述方法包括:生成随机网络拓扑图,并基于所述随机网络拓扑图,随机选取出数据源节点以及与所述数据源节点对应的备份节点;将所述数据源节点与所述备份节点之间的备份链路作为随机优化算法的初始数据;利用与所述随机优化算法对应的目标函数对所述初始数据进行迭代更新,直至在所述备份链路中确定出最优备份链路,以利用所述最优备份链路实现容灾备份;所述目标函数包括链路数据传输时间与目标链路约束条件之间的计算关系。
9.在本发明的一种示例性实施例中,所述随机网络拓扑图中包括网络节点以及网络节点之间的传输链路;所述基于所述随机网络拓扑图,随机选取出数据源节点以及与所述数据源节点对应的备份节点,包括:在所述网络节点中,随机确定出数据源节点集合以及备份节点集合;获取预设备份节点个数,针对于所述数据源节点集合中的任意一个数据源节点,在所述备份节点集合中,随机确定出与所述任意一个数据源节点具有数据传输关系的备份节点;所述备份节点的个数为所述预设备份节点个数。
10.在本发明的一种示例性实施例中,所述随机优化算法包括粒子群优化算法;所述利用与所述随机优化算法对应的目标函数对所述初始数据进行迭代更新,直至在所述备份
链路中确定出最优备份链路,包括:初始化粒子群参数,并构建目标函数;利用所述目标函数对所述初始数据进行计算得到第一计算结果,并根据所述第一计算结果,确定出局部最优解和全局最优解;确定所述局部最优解、所述全局最优解、所述初始粒子群参数以及所述初始数据之间的粒子速度更新计算关系,并利用所述粒子速度更新计算关系,对所述初始数据的速度进行更新得到速度更新结果;确定所述初始数据与所述速度更新结果之间的粒子位置更新计算关系,并利用所述粒子位置更新计算关系,对所述初始数据的位置进行更新得到位置更新结果;利用所述目标函数对所述位置更新结果进行计算得到第二计算结果,并根据所述第二计算结果更新所述局部最优解以及所述全局最优解;利用所述粒子速度更新计算关系对所述速度更新结果继续进行更新,并利用粒子位置更新计算关系对位置更新结果继续进行更新,直至满足迭代更新结束条件;确定与最后一次迭代对应的目标全局最优解,并将与所述目标全局最优解对应的所述备份链路确定为最优备份链路;所述最后一次迭代为满足所述迭代更新结束条件的迭代。
11.在本发明的一种示例性实施例中,所述构建目标函数,包括:确定第一参数、第二参数以及第三参数之间的链路数据传输时间;所述第一参数与链路传输总数据量对应,所述第二参数与链路总传输流量对应,所述第三参数与链路延迟对应;根据第一链路约束条件和第二链路约束条件确定出目标链路约束条件;所述第一链路约束条件用于约束所述备份节点的数据接收量与所述备份节点的容量阈值之间的关系;所述第二链路约束条件用于约束所述备份节点的个数与所述预设备份节点个数之间的关系;根据所述链路数据传输时间与所述目标链路约束条件,构建出目标函数。
12.在本发明的一种示例性实施例中,所述根据第一链路约束条件和第二链路约束条件确定出目标链路约束条件,包括:获取与所述第一链路约束条件对应的第一惩罚因子,并获取与所述第二链路约束条件对应的第二惩罚因子;根据所述第一惩罚因子、所述第一链路约束条件、所述第二惩罚因子以及所述第二链路约束条件,构建出目标链路约束条件。
13.在本发明的一种示例性实施例中,所述将所述数据源节点与所述备份节点之间的备份链路作为随机优化算法的初始数据,包括:确定所述任意一个数据源节点与所述预设备份节点个数个所述备份节点之间的传输链路;所述备份节点与所述任意一个数据源节点之间具有所述数据传输关系;将所述传输链路确定为备份链路,以将所述备份链路作为随机优化算法的初始数据。
14.在本发明的一种示例性实施例中,所述将所述传输链路确定为备份链路,以将所述备份链路作为随机优化算法的初始数据,包括:确定第三链路约束条件、第四链路约束条件、第五链路约束条件以及第六链路约束条件;所述第三链路约束条件用于限定所述传输链路中每个链路的传输流量为非负值,所述第四链路约束条件用于约束传输链路中所述每个链路的链路流量与链路传输带宽之间的关系;所述第五链路约束条件用于约束链路流量与总流量的比例和链路传输数据量与总传输数据量的比例之间的关系;第六链路约束条件用于约束链路中节点的输入流量与链路中节点的输出流量之间的关系;若所述传输链路满足所述第三链路约束条件、所述第四链路约束条件、所述第五链路约束条件以及所述第六链路约束条件,则将所述传输链路确定为目标链路,以将所述目标链路作为随机优化算法的初始数据。
15.根据本发明实施例的第二个方面,提供一种容灾备份装置,所述装置包括:生成模
块,被配置为生成随机网络拓扑图,并基于所述随机网络拓扑图,随机选取出数据源节点以及与所述数据源节点对应的备份节点;初始模块,被配置为将所述数据源节点与所述备份节点之间的备份链路作为随机优化算法的初始数据;更新模块,被配置为利用与所述随机优化算法对应的目标函数对所述初始数据进行迭代更新,直至在所述备份链路中确定出最优备份链路,以利用所述最优备份链路实现容灾备份;所述目标函数包括链路数据传输时间与链路约束条件之间的计算关系。
16.根据本发明实施例的第三个方面,提供一种电子设备,包括:处理器和存储器;其中,存储器上存储有计算机可读指令,所述计算机可读指令被所述处理器执行时实现上述任意示例性实施例的容灾备份方法。
17.根据本发明实施例的第四个方面,提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任意示例性实施例中的容灾备份方法。
18.由上述技术方案可知,本发明示例性实施例中的容灾备份方法、容灾备份装置、计算机存储介质及电子设备至少具备以下优点和积极效果:
19.在本公开的示例性实施例提供的方法及装置中,利用与随机优化算法对应的目标函数对初始数据进行迭代更新,直至在备份链路中确定出最优备份链路,并且,目标函数包括链路数据传输时间与目标链路约束条件之间的计算关系,目标函数是链路数据传输时间和目标链路约束条件之间的计算关系,进而根据目标函数,利用随机优化算法得到的最优备份链路,是从全局综合选择出的最优备份链路,提高了容灾备份的效率以及可靠性。
20.应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
21.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
22.图1示意性示出本公开实施例中容灾备份方法的流程示意图;
23.图2示意性示出本公开实施例容灾备份方法中利用waxman-salama模型生成的随机网络拓扑图;
24.图3示意性示出本公开实施例容灾备份方法中随机选取出数据源节点以及与数据源节点对应的备份节点的流程示意图;
25.图4示意性示出本公开实施例容灾备份方法中将数据源节点与备份节点之间的备份链路作为随机优化算法的初始数据的流程示意图;
26.图5示意性示出本公开实施例容灾备份方法中将备份链路作为随机优化算法的初始数据的流程示意图;
27.图6示意性示出本公开实施例容灾备份方法中利用与随机优化算法对应的目标函数对初始数据进行迭代更新的流程示意图;
28.图7示意性示出本公开实施例容灾备份方法中构建目标函数的流程示意图;
29.图8示意性示出本公开实施例容灾备份方法中根据第一链路约束条件和第二链路约束条件确定目标链路约束条件的流程示意图;
30.图9示意性示出本公开实施例中一种容灾备份装置的结构示意图;
31.图10示意性示出本公开实施例中一种用于容灾备份方法的电子设备;
32.图11示意性示出本公开实施例中一种用于容灾备份方法的计算机可读存储介质。
具体实施方式
33.现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本公开将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施方式中。在下面的描述中,提供许多具体细节从而给出对本公开的实施方式的充分理解。然而,本领域技术人员将意识到,可以实践本公开的技术方案而省略所述特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知技术方案以避免喧宾夺主而使得本公开的各方面变得模糊。
34.本说明书中使用用语“一个”、“一”、“该”和“所述”用以表示存在一个或多个要素/组成部分/等;用语“包括”和“具有”用以表示开放式的包括在内的意思并且是指除了列出的要素/组成部分/等之外还可存在另外的要素/组成部分/等;用语“第一”和“第二”等仅作为标记使用,不是对其对象的数量限制。
35.此外,附图仅为本公开的示意性图解,并非一定是按比例绘制。图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。附图中所示的一些方框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。
36.针对相关技术中存在的问题,本公开提出了一种容灾备份方法。图1示出了容灾备份方法的流程示意图,如图1所示,容灾备份方法至少包括以下步骤:
37.步骤s110.生成随机网络拓扑图,并基于随机网络拓扑图,随机选取出数据源节点以及与数据源节点对应的备份节点。
38.步骤s120.将数据源节点与备份节点之间的备份链路作为随机优化算法的初始数据。
39.步骤s130.利用与随机优化算法对应的目标函数对初始数据进行迭代更新,直至在备份链路中确定出最优备份链路,以利用最优备份链路实现容灾备份;目标函数包括链路数据传输时间与目标链路约束条件之间的计算关系。
40.在本公开的示例性实施例提供的方法及装置中,利用与随机优化算法对应的目标函数对初始数据进行迭代更新,直至在备份链路中确定出最优备份链路,并且,目标函数包括链路数据传输时间与目标链路约束条件之间的计算关系,目标函数是链路传输时间和目标链路约束条件之间的计算关系,进而根据目标函数,利用随机优化算法得到的最优备份链路,是从全局综合选择出的最优备份链路,提高了容灾备份的效率以及可靠性。
41.在步骤s110中,生成随机网络拓扑图,并基于随机网络拓扑图,随机选取出数据源节点以及与数据源节点对应的备份节点。
42.在本公开的示例性实施例中,可以借助模型生成随机网络拓扑图。例如,可以借助
于waxman提出的随机网络拓扑生成模型(waxman-salama模型)生成随机网络拓扑图。
43.举例而言,图2示意性示出了利用waxman-salama模型生成的随机网络拓扑图,如图2所示,其中,在该随机网络拓扑图中存在10个网络节点,分别为网络节点0、网络节点1、网络节点2、网络节点3、网络节点4、网络节点5、网络节点6、网络节点7、网络节点8以及网络节点9。
44.基于此,可以在上述10个网络节点中随机选出数据源节点,例如,可以选择网络节点9、网络节点4、网络节点5以及网络节点6作为数据源节点,同理,也可以在上述10个网络节点中随机选出与数据源节点对应的备份节点,例如,可以选择网络节点3、网络节点8以及网络节点2为数据源节点9的备份节点,还可以选择网络节点6、网络节点0以及网络节点1作为数据源节点4的备份节点,还可以选择网络节点4、网络节点8以及网络节点9作为数据源节点5的备份节点。
45.除此之外,还可以对图2中的每一个网络节点的源数据量、存储容量以及网络节点之间的传输带宽进行初始化,其中,带宽的取值范围可以是1000gbps~3000gbps。
46.在可选的实施例中,图3示出了容灾备份方法中随机选取出数据源节点以及与数据源节点对应的备份节点的流程示意图,随机网络拓扑图中包括网络节点以及网络节点之间的传输链路,如图3所示,该方法至少包括以下步骤:在步骤s310中,在网络节点中,随机确定出数据源节点集合以及备份节点集合。
47.其中,随机网络拓扑图由网络节点以及网络节点之间的传输链路组成。如图2所示,存在10个网络节点,分别为网络节点0、网络节点1、网络节点2、网络节点3、网络节点4、网络节点5、网络节点6、网络节点7、网络节点8以及网络节点9。网路节点2和网络节点8之间的链路就是网络节点之间的链路,同理,任意两个网络节点之间存在的链路都被称作传输链路。
48.数据源节点集合指的是由数据源节点组成的集合,并且,这些数据源节点是在网络节点中随机选择的。对应的,备份节点集合指的是由备份节点组成的集合,并且,备份节点是在网络节点中随机选择出的。
49.举例而言,如图2所示,随机选出数据源节点包括网络节点9、网络节点4、网络节点5、网络节点6、网络节点7、网络节点8、网络节点0以及网络节点1。随机选出的备份接地那包括网络节点3、网络节点8、网络节点2、网络节点7、网络节点4、网络节点9、网络节点0以及网络节点1。基于此,数据源节点集合可以表示为a={9,4,5,6,7,8,0,1},备份节点集合可以表示为b={3,8,2,7,4,9,0,1}。
50.在步骤s320中,获取预设备份节点个数,针对于数据源节点集合中的任意一个数据源节点,在备份节点集合中,随机确定出与任意一个数据源节点具有数据传输关系的备份节点;备份节点的个数为预设备份节点个数。
51.其中,预设备份节点个数指的是预设的,在容灾备份过程中,需要设置的备份节点的数量。
52.举例而言,预设备份节点个数为3,数据源节点集合可以表示为a={9,4,5,6,7,8,0,1},备份节点集合可以表示为b={3,8,2,7,4,9,0,1}。
53.基于此,针对于数据源节点9,需要在备份节点集合b中确定出3个备份节点。针对于数据源节点4,需要在备份节点集合b中确定出3个备份节点。针对于数据源节点5,需要在
备份节点集合b中确定出3个备份节点,直至在备份节点集合b中,针对于数据源节点集合a中最后一个数据源节点1,确定出三个备份节点为止。
54.此时,数据源节点集合中的每一个数据源节点都存在与之具有数据传输关系的备份节点。
55.在本示例性实施例中,针对于数据源节点集合中的任意一个数据源节点,在备份节点集合中,随机确定出与任意一个数据源节点具有数据传输关系的备份节点,这为后续将数据源节点与备份节点之间的备份链路作为随机优化算法的初始数据奠定了基础。
56.在步骤s120中,将数据源节点与备份节点之间的备份链路作为随机优化算法的初始数据。
57.在本公开的示例性实施例中,备份链路指的是数据源节点与备份节点之间的链路。随机优化算法是这样的一类算法:通过在定义域内生成初始解,观察初始解的表现,经过一定的数学规则与演算生成新解,在迭代过程中寻找最优解的一类算法。
58.具体地,随机优化算法可以是粒子群优化算法,可以是人工鱼群算法,可以是模拟退火算法,还可以是其他随机优化算法,本示例性实施例对此不做特殊限定。
59.举例而言,数据源节点集合可以表示为a={9,4,5,6,7,8,0,1},备份节点集合可以表示为b={3,8,2,7,4,9,0,1}。
60.基于此,可以确定出数据源节点为9,备份节点为3,数据源节点为9,备份节点为7,数据源节点为9,备份几点为0;数据源节点为4,备份节点为2,数据源节点为4,备份节点为9,数据源节点为4,备份节点为1;直至确定出数据源节点为1,备份节点为0,数据源节点为1,备份节点为4,数据源节点为1,备份节点为7为止。
61.基于此,针对于数据源节点9,备份节点3,存在路径l1,路径l2以及路径l3。针对于数据源节点9,备份节点7,存在路径l4以及路径l5。针对数据源节点9,备份节点0,存在路径l6以及路径l7,直至针对于数据源节点1,备份节点7,存在路径l95、路径l97、路径l98、路径l99以及路径l100。
62.在数据源节点为9,备份节点为3对应的路径l1,路径l2以及路径l3中随机确定出一个路径l2,在数据源节点为9,备份节点为7对应的路径l4以及路径l5中随机确定出一个路径l4,在数据源节点为9,备份节点为0对应的路径l6以及路径l7中随机确定出一个路径l7,直至,在数据源节点1,备份节点7对应的路径l96、路径l97、路径l98、路径l99以及路径l100随机确定出一个路径l100。基于此,随机确定出的这些路径组成了初始数据中的第一行数据,同理,可以确定出初始数据中的其他行数据。
63.在可选的实施例中,图4示出了容灾备份方法中将数据源节点与备份节点之间的备份链路作为随机优化算法的初始数据的流程示意图,如图4所示,该方法至少包括以下步骤:在步骤s410中,确定任意一个数据源节点与预设备份节点个数个备份节点之间的传输链路;备份节点与任意一个数据源节点之间具有数据传输关系。
64.其中,需要确定出任意一个数据源节点与备份节点之间的传输链路。
65.举例而言,数据源节点集合可以表示为a={9,4,5,6,7,8,0,1},备份节点集合可以表示为b={3,8,2,7,4,9,0,1}。
66.基于此,可以确定出数据源节点为9,备份节点为3,数据源节点为9,备份节点为7,数据源节点为9,备份节点为0;数据源节点为4,备份节点为2,数据源节点为4,备份节点为
9,数据源节点为4,备份节点为1;直至确定出数据源节点为1,备份节点为0,数据源节点为1,备份节点为4,数据源节点为1,备份节点为7为止。
67.基于此,针对于数据源节点为9,备份节点为3,存在传输链路l1,传输链路l2以及传输链路l3。针对于数据源节点为9,备份节点为7,存在传输链路l4以及传输链路l5。针对数据源节点为9,备份节点为0,存在传输链路l6以及传输链路l7,直至针对于数据源节点1,备份节点7,存在传输链路l96、传输链路l97、传输链路l98、传输链路l99以及传输链路l100。
68.在步骤s420中,将传输链路确定为备份链路,以将备份链路作为随机优化算法的初始数据。
69.其中,确定出的传输链路即为备份链路,此时,将该备份链路作为随机优化算法的初始数据。
70.举例而言,针对于数据源节点为9,备份节点为3,存在路径l1,路径l2以及路径l3。针对于数据源节点为9,备份节点为7,在路径l4以及路径l5。针对数据源节点为9,备份节点为0,存在路径l6以及路径l7,直至针对于数据源节点1,备份节点7,存在路径l95、路径l97、路径l98、路径l99以及路径l100。
71.在数据源节点为9,备份节点为3对应的路径l1,路径l2以及路径l3中随机确定出一个路径l2,在数据源节点为9,备份节点为7对应的路径l4以及路径l5中随机确定出一个路径l4,在数据源节点为9,备份节点为0对应的路径l6以及路径l7中随机确定出一个路径l7,直至,在数据源节点1,备份节点7对应的路径l96、路径l97、路径l98、路径l99以及路径l100随机确定出一个路径l100。基于此,随机确定出的这些路径组成了初始数据中的第一行数据,同理,可以确定出初始数据中的其他行数据。
72.在本示例性实施例中,随机优化算法的初始数据为备份链路,基于此,后续可以通过随机优化算法中的目标函数,确定出最优备份链路,以利用最优备份链路实现容灾备份。
73.在可选的实施例中,图5示出了容灾备份方法中将备份链路作为随机优化算法的初始数据的流程示意图,如图5所示,该方法至少包括以下步骤:在步骤s510中,确定第三链路约束条件、第四链路约束条件、第五链路约束条件以及第六链路约束条件;第三链路约束条件用于限定传输链路中每个链路的传输流量为非负值,第四链路约束条件用于约束传输链路中每个链路的链路流量与链路传输带宽之间的关系;第五链路约束条件用于约束链路流量与总流量的比例和链路传输数据量与总传输数据量的比例之间关系;第六链路约束条件用于约束链路中节点的输入流量与链路中节点的输出流量之间的关系。
74.其中,第三链路约束条件、第四链路约束条件、第五链路约束条件以及第六链路约束条件都是用于限定传输链路的条件,并且,上述四个链路约束条件为一个传输链路应该满足的最基本条件。
75.具体地,每一条传输链路都是由一个或多个链路组成的,例如,如图2所示,从数据源节点9至备份节点6之间的传输链路包括9-6、9-5-7-3-6以及9-5-3-6等传输链路。
76.第三链路约束条件用于限定传输链路中每个链路的传输流量为非负值,传输流量指的是在每个链路中传输的数据量。举例而言,第三链路约束条件可以如公式(1)所示。
77.fn≥0
ꢀꢀ
(1)
78.其中,fn表示传输链路中的每个链路的传输数据量。
79.第四链路约束条件用于约束传输链路中每个链路的链路流量与链路传输带宽之间的关系,链路传输带宽指的是在固定时间内可以在链路中传输的数据量,基于此,第四链路约束条件用于约束在链路中传输的数据量与固定时间内可以在链路中传输的数据量之间的关系。举例而言,第四链路约束条件如公式(2)所示。
80.fn≤e(u,v)
ꢀꢀ
(2)
81.其中,fn表示传输链路中每个链路上传输的流量,e(u,v)表示传输链路中每个链路在固定时间内可以传输的数据量,(u,v)表示的是传输链路上的链路集合。
82.第五链路约束条件用于约束第一比例和第二比例之间的关系,其中,第一比例指的是链路流量与总流量之间的比例,第二比例指的是链路传输数据量与网络的总传输数据量之间的比例。举例而言,第五链路约束条件如公式(3)所示。
[0083][0084]
其中,fn表示传输链路上某一条链路传输的流量,f表示传输链路中某个传输链路所使用到的流量,基于此,∑
f∈ffn
表示的是传输链路总流量,d
ka
表示的是传输链路上某一条链路传输的数据量,∑k∑
a∈adka
表示传输链路传输的总数据量,ω表示的是限制阈值。
[0085]
第六链路约束条件指的是传输链路中每个节点的输入流量与传输链路中每个节点的输出流量之间的关系。举例而言,第六链路约束条件如公式(4)所示。
[0086][0087]
其中,a指的是网络中数据源节点的集合,b指的是网络中备份节点的集合。a指的是数据源节点,b指的是备份节点,f表示的是两个节点之间链路上的流量。基于此,公式(4)表示的是,当u属于数据源节点时,从数据源节点u至任意一个网络节点v的流量与任意一个网络节点v至数据源节点u的差值趋近于数据源节点u的流量;当u属于备份节点时,从备份节点u至任意一个网络节点v的流量与任意一个网络节点v至备份节点u的差值趋近于备份节点u的流量;当u即不属于数据源节点,也不属于备份节点时,从节点u至任意一个网络节点v的流量与任意一个网络节点v至节点u的差值为0。
[0088]
在步骤s520中,若传输链路满足第三链路约束条件、第四链路约束条件、第五链路约束条件以及第六链路约束条件,则将传输链路确定为目标链路,以将目标链路作为随机优化算法的初始数据。
[0089]
其中,在确定出所有传输链路后,需要判断传输链路是否满足第三链路约束条件、第四链路约束条件、第五链路约束条件以及第六链路约束条件;若传输链路满足第三链路约束条件、第四链路约束条件、第五链路约束条件以及第六链路约束条件,则证明该传输链路为符合基本链路约束条件的链路,进而才可以将该传输链路作为目标传输链路,以作为后续随机优化算法的初始数据。
[0090]
举例而言,存在10条传输链路,其中,传输链路lx-1、传输链路lx-4、传输链路lx-7、传输链路lx-10符合第三链路约束条件、第四链路约束条件、第五链路约束条件以及第六链路约束条件,进而,将传输链路lx-1、传输链路lx-4、传输链路lx-7、传输链路lx-10确定为目标链路,以将目标链路作为随机优化算法的初始数据。
[0091]
在本示例性实施例中,若传输链路满足第三链路约束条件、第四链路约束条件、第五链路约束条件以及第六链路约束条件,则将该传输链路确定为目标链路,以作为随机优化算法的初始数据,避免了后续根据随机优化算法确定出的最优备份链路不满足最基本的链路约束条件的情况发生,完善了确定出最优备份链路的逻辑。
[0092]
在步骤s130中,利用与随机优化算法对应的目标函数对初始数据进行迭代更新,直至在备份链路中确定出最优备份链路,以利用最优备份链路实现容灾备份;目标函数包括链路数据传输时间与目标链路约束条件之间的计算关系。
[0093]
在本公开的示例性实施例中,目标函数指的是随机优化算法中对初始数据进行更新的依据。具体地,目标函数包括链路数据传输时间与目标链路约束条件之间的计算关系,链路数据传输时间指的是数据在备份链路中传输所需的时间,目标链路约束条件指的是提升传输效率的条件,具体地,目标链路约束条件可以是均衡备份负载的条件,可以是确定备份节点数量的条件,本示例性实施例对此不做特殊限定。
[0094]
最优备份链路指的是在备份链路中确定出的最符合目标函数的传输链路。当确定出最优备份链路时,就可以利用最优备份链路实现容灾备份了。
[0095]
举例而言,目标函数为链路传输时间与目标链路约束条件之间的计算关系,基于此,确定出的最优备份链路不仅可以减少数据传输时间(即备份时间),还满足目标链路约束条件的备份链路。
[0096]
在可选的实施例中,图6示出了容灾备份方法中利用与随机优化算法对应的目标函数对初始数据进行迭代更新的流程示意图,随机优化算法包括粒子群优化算法,如图6所示,该方法至少包括以下步骤:在步骤s610中,初始化粒子群参数,并构建目标函数。
[0097]
其中,随机优化算法具体可以是粒子群优化算法。粒子群优化算法是通过模拟鸟群觅食行为而发展起来的一种基于群体协作的随机优化算法。
[0098]
粒子群参数指的是执行粒子群优化算法时所需要使用到的参数,具体地,粒子群优化参数可以是粒子群种群规模参数,可以粒子速度的取值范围,可以是粒子位置的取值范围,可以是粒子群优化算法的迭代次数,还可以是个体学习因子,还可以是社会学习因子,本示例性实施例对此不做特殊限定。目标函数指的是优化粒子群中粒子的依据。
[0099]
举例而言,对粒子群优化算法的迭代次数、粒子群种群规模、个体学习因子以及社会学习因子进行初始化,并且,构建目标函数object。
[0100]
在步骤s620中,利用目标函数对初始数据进行计算得到第一计算结果,并根据第一计算结果,确定出局部最优解和全局最优解。
[0101]
其中,第一计算结果指的是利用目标函数对初始数据进行计算出的结果,即利用目标函数对每一个粒子进行计算得到的计算结果,每一个粒子指的是数据源节点与备份节点之间的备份链路。
[0102]
举例而言,假设存在50个粒子,则在第一次迭代过程中会计算出与这50个粒子对应的第一计算结果。基于此,这50个第一计算结果即为与这50个粒子分别对应的初始局部最优解pbest,全局最优解指的是这50个第一计算结果中最大的那个第一计算结果gbest。
[0103]
在步骤s630中,确定局部最优解、全局最优解、初始粒子群参数以及初始数据之间的粒子速度更新计算关系,并利用粒子速度更新计算关系,对初始数据的速度进行更新得到速度更新结果。
[0104]
其中,粒子速度更新计算公式指的是对粒子的速度进行更新的公式。举例而言,粒子速度更新计算公式如公式(5)所示。
[0105][0106]
其中,d表示的是第几次迭代,i表示的是第几个粒子,v表示的是粒子速度,c1为个体学习因子,c2为社会学习因子,x表示的是粒子位置,pbest表示的是局部最优解,gbest表示的是全局最优解。
[0107]
根据公式(5)速度更新计算公式可以对粒子速度进行更新得到速度更新结果,即得到
[0108]
在步骤s640中,确初始数据与所述速度更新结果之间的粒子位置更新计算关系,并利用粒子位置更新计算关系,对初始数据的位置进行更新得到位置更新结果。
[0109]
其中,粒子位置更新计算关系指的是对粒子位置进行更新的计算关系。
[0110]
举例而言,粒子位置更新计算关系如公式(6)所示。
[0111][0112]
其中,i表示第几个粒子,d表示第几次迭代,v表示粒子速度,x表示粒子位置,基于此,可以利用公式(6)对初始数据中的位置进行更新得到位置更新结果。
[0113]
在步骤s650中,利用目标函数对位置更新结果进行计算得到第二计算结果,并根据第二计算结果更新局部最优解以及全局最优解。
[0114]
其中,在得到速度更新结果和位置更新结果之后,可以利用目标函数对位置更新结果进行计算得到第二计算结果,此时可以根据第二计算结果更新全局最优解以及局部最优解。
[0115]
举例而言,利用目标函数object对位置更新结果进行计算,可以得到与每个粒子的位置更新结果对应的第二计算结果。
[0116]
根据第二计算结果可以得到局部最优解和全局最优解gbestd。将根据第一计算结果得到的局部最优解与全部最优解gbestd进行比较,并将局部最优解与局部最优解中的最大值作为更新后的局部最优解。同理,将全局最优解gbestd和全部最优解gbest
d-1
进行比较,并将全局最优解gbestd全部最优解gbest
d-1
中的最大值作为更新后的全局最优解。
[0117]
在步骤s660中,利用粒子速度更新计算关系对粒子速度更新结果继续进行更新,并利用粒子位置更新计算公式对位置更新结果继续更新,直至满足迭代更新结束条件。
[0118]
其中,在对局部最优解和全局最优解进行更新后,需要继续利用粒子速度更新计算关系对粒子速度更新结果进行更新,还需要继续利用粒子位置更新计算公式对粒子位置更新结果进行更新,直到满足迭代结束条件。
[0119]
迭代结束条件指的是使得迭代更新过程结束的条件,具体地,迭代结束条件可以是迭代次数达到预设次数,迭代结束条件还可以是得到的全局最优解满足预设精度的条件,本示例性实施例对此不做特殊限定。
[0120]
在步骤s670中,确定与最后一次迭代对应的目标全局最优解,并将与目标全局最
优解对应的备份链路确定为最优备份链路;最后一次迭代为满足迭代更新结束条件的迭代。
[0121]
其中,满足迭代更新结束条件时的迭代过程即为最后一次迭代,与最后一次迭代对应的全局最优解为目标全局最优解,进而,与目标全局最优解对应的备份链路即为最优备份链路。
[0122]
举例而言,确定出的与最后一次迭代对应的目标全局最优解,进而,与该全局最优解对应的备份链路就是最优备份链路。
[0123]
在本示例性实施例中,基于粒子群优化算法,结合目标函数得到最优备份链路,以限制优化方向为与目标函数对应的优化方向,进而可以确定出备份所需时间较少,符合目标链路约束条件的最优备份链路。
[0124]
在可选的实施例中,图7示出了容灾备份方法中构建目标函数的流程示意图,如图7所示,该方法至少包括以下步骤:在步骤s710中,确定第一参数、第二参数以及第三参数之间的链路数据传输时间;第一参数与链路传输总数据量对应,第二参数与链路总传输流量对应,第三参数与链路延迟对应。
[0125]
其中,链路数据传输时间由第一参数、第二参数以及第三参数组成。第一参数用于描述传输链路上的传输总数据量,第二参数用于描述传输链路上的总传输带宽,即描述传输链路是上的总传输流量。第三参数具体与链路延迟对应,因此,第三参数包括传输链路上每个节点的处理时延、传输链路节点之间的传输时延以及传输链路上节点处的中转时延。
[0126]
举例而言,链路数据传输时间可以使用公式(7)所示。
[0127][0128]
其中,l1,l2,

,ln为所有的传输链路,g为与传输链路对应的链路数据传输时间,传输总数据量为传输链路上每个节点的数据量之和,即第一参数,总传输流量为传输链路上每条链路的流量之和,即第二参数。t为第三参数,ming表示所有备份链路的链路数据传输时间的最小值。
[0129]
在步骤s720中,根据第一链路约束条件和第二链路约束条件确定出目标链路约束条件;第一链路约束条件用于约束备份节点的数据接收量与备份节点的容量阈值之间的关系;第二链路约束条件用于约束备份节点的个数与预设备份节点个数之间的关系。
[0130]
其中,第一链路约束条件指的是约束备份节点的数据接收量与备份节点的容量阈值之间的条件,具体地,第二链路约束条件可以是约束备份节点的数据接收量小于或等于备份节点容量阈值的关系。第二链路约束条件指的是约束备份节点个数的条件,具体地,可以是约束备份节点的个数与预设节点个数一致的条件。目标链路约束条件指的是根据第一链路约束条件和第二链路约束条件确定出的对备份链路进行约束的约束条件。
[0131]
举例而言,第一链路约束条件如公式(8)所示,第二链路约束条件如公式(9)所示,目标链路约束条件如公式(10)所示。
[0132]

v∈l
vi≤siꢀꢀ
(8)
[0133]
count(vn)=k,vn∈i
ꢀꢀ
(9)
[0134]
[0135]
其中,v指的是备份链路中的每一个链路,l指的是与传输链路对应的链路集合。s指的是针对于传输链路上每一个链路的容量阈值。vn指的是属于从同一个数据源节点出发的备份链路,因此,count(vn)=k表示的是属于从同一个数据源节点出发的备份链路的个数为k个。m为惩罚因子,用于确定第一链路约束条件和第二链路约束条件在目标链路约束条件中的影响程度,gi=s
i-∑
v∈l
vi,h=count(vn)-k。
[0136]
在步骤s730中,根据链路数据传输时间与目标链路约束条件,构建出目标函数。
[0137]
其中,目标函数可以是根据链路传输时间与目标链路约束条件构建而成的。
[0138]
举例而言,目标函数object=p ming,其中,p为目标链路约束条件,ming为链路数据传输时间。
[0139]
在本示例性实施例中,目标函数是根据链路数据传输时间与目标链路约束条件构建而成的。其中,由于目标链路约束条件是由第一链路约束条件和第二链路约束条件确定出的,因此,这为后续确定出可以减少备份所需时间,均衡备份负载以及充分利用传输带宽的最优备份链路奠定了基础。
[0140]
在可选的实施例中,图8示出了容灾备份方法中根据第一链路约束条件和第二链路约束条件确定目标链路约束条件的流程示意图,如图8所示,该方法至少包括以下步骤:在步骤s810中,获取与第一链路约束条件对应的第一惩罚因子,并获取与第二链路约束条件对应的第二惩罚因子。
[0141]
其中,第一惩罚因子指的是与第一链路约束条件对应的,用于表示第一链路约束条件在目标链路约束条件中的影响程度。第二惩罚因子指的是与第二链路约束条件对应的,用于表示第二链路约束条件在目标链路约束条件中的影响程度。
[0142]
举例而言,获取与第一链路约束条件对应的第一惩罚因子为m1,获取与第二链路约束条件对应的第二惩罚因子为m2。
[0143]
在步骤s820中,根据第一惩罚因子、第一链路约束条件、第二惩罚因子以及第二链路约束条件,构建出目标链路约束条件。
[0144]
其中,第一惩罚因子可以与第二惩罚因子相同,第一惩罚因子也可以与第二惩罚因子不同,本示例性实施例对此不做特殊限定。
[0145]
举例而言,构建出的目标链路约束条件如公式(11)所示。
[0146][0147]
其中,m1为第一惩罚因子,m2为第二惩罚因子,其余变量含义与公式(10)一致。
[0148]
在本示例性实施例中,目标链路约束条件是根据第一惩罚因子、第一链路约束条件、第二惩罚因子以及第二链路约束条件构建而成的,因此,可以根据第一惩罚因子和第二惩罚因子,灵活的调整第一链路约束条件和第二链路约束条件在目标链路约束条件中的影响程度,进而得到不同优化方向下的最优备份链路。
[0149]
在本公开的示例性实施例提供的方法及装置中,利用与随机优化算法对应的目标函数对初始数据进行迭代更新,直至在备份链路中确定出最优备份链路,并且,目标函数包括链路数据传输时间与目标链路约束条件之间的计算关系,目标函数是链路传输时间和目标链路约束条件之间的计算关系,进而根据目标函数,利用随机优化算法得到的最优备份链路,是从全局综合选择出的最优备份链路,提高了容灾备份的效率以及可靠性。
[0150]
下面结合一应用场景对本公开实施例中容灾备份方法做出详细说明。
[0151]
随机生成如图2所示的随机网络拓扑图,并根据图2,随机确定出数据源节点以及与之对应的备份节点。将数据源节点与备份节点之间的备份链路作为粒子群优化算法的初始数据。
[0152]
确定出与粒子群优化算法对应的目标函数,并利用该目标函数对初始数据进行更新,直至确定出最优备份链路为止。基于此,采用确定出的最优备份链路实现容灾备份。
[0153]
在本应用场景中,利用与随机优化算法对应的目标函数对初始数据进行迭代更新,直至在备份链路中确定出最优备份链路,并且,目标函数包括链路数据传输时间与目标链路约束条件之间的计算关系,目标函数是链路传输时间和目标链路约束条件之间的计算关系,进而根据目标函数,利用随机优化算法得到的最优备份链路,是从全局综合选择出的最优备份链路,提高了容灾备份的效率以及可靠性。、
[0154]
此外,在本公开的示例性实施例中,还提供一种容灾备份装置。图9示出了容灾备份装置的结构示意图,如图9所示,容灾备份装置900可以包括:生成模块910、初始模块920和更新模块930。其中:
[0155]
生成模块910,被配置为生成随机网络拓扑图,并基于随机网络拓扑图,随机选取出数据源节点以及与数据源节点对应的备份节点;初始模块920,被配置为将数据源节点与备份节点之间的备份链路作为随机优化算法的初始数据;更新模块930,被配置为利用与随机优化算法对应的目标函数对初始数据进行迭代更新,直至在备份链路中确定出最优备份链路,以利用最优备份链路实现容灾备份;目标函数包括链路数据传输时间与目标链路约束条件之间的计算关系。
[0156]
上述容灾备份装置900的具体细节已经在对应的容灾备份方法中进行了详细的描述,因此此处不再赘述。
[0157]
应当注意,尽管在上文详细描述中提及容灾备份装置900的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本公开的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
[0158]
此外,在本公开的示例性实施例中,还提供了一种能够实现上述方法的电子设备。
[0159]
下面参照图10来描述根据本发明的这种实施例的电子设备1000。图10显示的电子设备1000仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
[0160]
如图10所示,电子设备1000以通用计算设备的形式表现。电子设备1000的组件可以包括但不限于:上述至少一个处理单元1010、上述至少一个存储单元1020、连接不同系统组件(包括存储单元1020和处理单元1010)的总线1030、显示单元1040。
[0161]
其中,所述存储单元存储有程序代码,所述程序代码可以被所述处理单元1010执行,使得所述处理单元1010执行本说明书上述“示例性方法”部分中描述的根据本发明各种示例性实施例的步骤。
[0162]
存储单元1020可以包括易失性存储单元形式的可读介质,例如随机存取存储单元(ram)1021和/或高速缓存存储单元1022,还可以进一步包括只读存储单元(rom)1023。
[0163]
存储单元1020还可以包括具有一组(至少一个)程序模块1025的程序/使用工具1024,这样的程序模块1025包括但不限于:操作系统、一个或者多个应用程序、其它程序模
块以及程序数据,这些示例中的每一个或某种组合中可能包含网络环境的现实。
[0164]
总线1030可以为表示几类总线结构中的一种或多种,包括存储单元总线或者存储单元控制器、外围总线、图形加速端口、处理单元或者使用多种总线结构中的任意总线结构的局域总线。
[0165]
电子设备1000也可以与一个或多个外部设备1070(例如键盘、指向设备、蓝牙设备等)通信,还可与一个或者多个使得用户能与该电子设备1000交互的设备通信,和/或与使得该电子设备1000能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(i/o)接口1050进行。并且,电子设备1000还可以通过网络适配器1060与一个或者多个网络(例如局域网(lan),广域网(wan)和/或公共网络,例如因特网)通信。如图所示,网络适配器1060通过总线1030与电子设备1000的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备1000使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、raid系统、磁带驱动器以及数据备份存储系统等。
[0166]
通过以上的实施例的描述,本领域的技术人员易于理解,这里描述的示例实施例可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本公开实施例的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是cd-rom,u盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、终端装置、或者网络设备等)执行根据本公开实施例的方法。
[0167]
在本公开的示例性实施例中,还提供了一种计算机可读存储介质,其上存储有能够实现本说明书上述方法的程序产品。在一些可能的实施例中,本发明的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当所述程序产品在终端设备上运行时,所述程序代码用于使所述终端设备执行本说明书上述“示例性方法”部分中描述的根据本发明各种示例性实施例的步骤。
[0168]
参考图11所示,描述了根据本发明的实施例的用于实现上述方法的程序产品1100,其可以采用便携式紧凑盘只读存储器(cd-rom)并包括程序代码,并可以在终端设备,例如个人电脑上运行。然而,本发明的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
[0169]
所述程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。
[0170]
计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
[0171]
可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、rf等等,或者上述的任意合适的组合。
[0172]
可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如java、c 等,还包括常规的过程式程序设计语言—诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(lan)或广域网(wan),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
[0173]
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其他实施例。本技术旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由权利要求指出。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献