资源迁移方法、程序产品、电子设备及存储介质与流程

摘要: 本发明涉及云计算,尤其涉及一种资源迁移方法、程序产品、电子设备及存储介质。背景技术:1、企业在构建软件定义网络(software-definednetworki...
资源迁移方法、程序产品、电子设备及存储介质与流程

本发明涉及云计算,尤其涉及一种资源迁移方法、程序产品、电子设备及存储介质。

背景技术:

1、企业在构建软件定义网络(software-defined networking, sdn)时普遍采用外部厂商提供的传统sdn解决方案,随着业务的持续发展,企业通过自研sdn技术,能够更灵活地结合本地化业务场景。云服务商为平衡技术演进与业务连续性,普遍采用渐进式sdn架构升级路径。存量可用区(availability zone,az)受限于早期sdn实现(如控制平面抽象层级不足、策略编排能力受限),已终止扩容规划;新建az基于新一代sdn架构,逐步承载核心业务流量。云服务商通过增量业务流量向新az的战略性倾斜,加速技术架构迭代进程,进而导致存量用户面临业务迁移的技术挑战。

2、相关技术中的资源迁移策略由系统底层固化定义,面对云环境中多产品交织、深度依赖的复杂拓扑结构,相关技术的依赖解析机制往往不完整或不准确,导致迁移后出现服务不可达、配置缺失等异常,需依赖人工介入进行故障定位与修复,严重影响迁移效率与成功率。

技术实现思路

1、有鉴于此,本发明实施例提供了一种资源迁移方法、程序产品、电子设备及存储介质。

2、本发明实施例的技术方案是这样实现的:

3、一方面,本发明实施例提供了一种资源迁移方法,该方法包括:

4、确定第一可用区中待迁移的至少一个第一资源实例;

5、根据所述第一可用区中的云服务产品的资源实例间的依赖关系,确定每个所述第一资源实例关联的至少一个第二资源实例;

6、进行资源迁移任务的可行性分析,得到可行性分析结果,所述可行性分析结果至少表征所述至少一个第一资源实例以及每个所述第一资源实例关联的至少一个第二资源实例是否与第二可用区适配;

7、在所述可行性分析通过的情况下,执行资源迁移任务,以将待迁移的资源实例迁移至所述第二可用区。

8、在上述方案中,所述根据所述第一可用区中的云服务产品的资源实例间的依赖关系,确定每个所述第一资源实例关联的至少一个第二资源实例之前,所述方法还包括:

9、根据所述第一可用区中的云服务产品的资源类型间的关联关系构建有向无环图;

10、根据所述有向无环图构建双向邻接表,所述双向邻接表包含所述云服务产品的资源实例间的正向依赖关系和逆向依赖关系。

11、在上述方案中,所述方法还包括:

12、在第三资源实例迁移失败的情况下,根据所述双向邻接表中的逆向依赖关系进行关联资源实例的回滚;所述第三资源实例为所述至少一个第一资源实例以及每个所述第一资源实例关联的至少一个第二资源实例中的任意一个。

13、在上述方案中,所述进行资源迁移任务的可行性分析之前,所述方法还包括:

14、构建所述云服务产品的资源矩阵,所述资源矩阵表征待迁移的云服务产品中的不同种类资源的资源实例数量与属性;

15、对应地,所述进行资源迁移任务的可行性分析,包括:

16、验证所述资源矩阵中的单个属性或多个属性的组合是否符合所述第二可用区的要求;

17、若所述资源矩阵通过验证,则所述可行性分析通过。

18、在上述方案中,执行资源迁移任务,包括:

19、根据所述至少一个第一资源实例以及每个所述第一资源实例关联的至少一个第二资源实例,确定每个用户对每种类型资源发起的并发任务数;

20、根据每个用户对每种类型资源发起的并发任务数,以及每个用户的每种类型资源预设的并发额度,执行每个用户的资源迁移任务,以使迁移过程中的每个用户的每种类型资源的并发任务数不大于对应的并发额度;所述并发任务数表征同时进行迁移的资源实例数量;

21、根据预设的每种类型资源对应的令牌桶的令牌容量,以及每个令牌桶的令牌生成速率,并行执行所有用户的资源迁移任务,以使迁移过程中每种类型资源的并发任务数不大于对应的令牌桶的令牌容量,所述令牌桶的令牌容量表征对应类型资源的最大并发量。

22、在上述方案中,所述执行资源迁移任务,包括:

23、确定所述至少一个第一资源实例对应的迁移模板,以及每个所述第一资源实例关联的至少一个第二资源实例对应的迁移模板;其中,每个云服务产品的每种类型资源对应一个迁移模板,所述迁移模板表征对应类型资源的迁移步骤;

24、根据所述迁移模板,执行所述资源迁移任务。

25、在上述方案中,执行所述资源迁移任务,包括:

26、在迁移每一个资源实例时,基于执行堆栈记录成功操作的迁移步骤;

27、当所述资源实例迁移发生异常时,根据所述执行堆栈撤销已成功执行的迁移步骤。

28、另一方面,本申请实施例还提供一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时,实现上述方法的步骤。

29、另一方面,本发明实施例提供了一种电子设备,包括处理器和存储器,所述处理器和存储器相互连接,其中,所述存储器用于存储计算机程序,所述计算机程序包括程序指令,所述处理器被配置用于调用所述程序指令,执行本发明实施例上述方法的步骤。

30、另一方面,本发明实施例提供了一种计算机可读存储介质,包括:所述计算机可读存储介质存储有计算机程序。所述计算机程序被处理器执行时实现如本发明实施例上述方法的步骤。

31、本申请实施例的方案,通过确定第一可用区中待迁移的至少一个第一资源实例;根据第一可用区中的云服务产品的资源实例间的依赖关系,确定每个第一资源实例关联的至少一个第二资源实例;进行资源迁移任务的可行性分析,得到可行性分析结果,可行性分析结果至少表征至少一个第一资源实例以及每个第一资源实例关联的至少一个第二资源实例是否与第二可用区适配;在可行性分析通过的情况下,执行资源迁移任务,以将待迁移的资源实例迁移至所述第二可用区。本申请实施例根据依赖关系可以确保所有资源间调用关系在迁移前后保持一致,保障服务拓扑完整性,并且在迁移前进行可行性评估,显著提高了迁移成功率,适用于混合sdn架构下的各类云服务产品迁移场景。

1.一种资源迁移方法,其特征在于,所述方法包括:

2.根据权利要求1所述的方法,其特征在于,所述根据所述第一可用区中的云服务产品的资源实例间的依赖关系,确定每个所述第一资源实例关联的至少一个第二资源实例之前,所述方法还包括:

3.根据权利要求2所述的方法,其特征在于,所述方法还包括:

4.根据权利要求1所述的方法,其特征在于,所述进行资源迁移任务的可行性分析之前,所述方法还包括:

5.根据权利要求1所述的方法,其特征在于,所述执行资源迁移任务,包括:

6.根据权利要求1所述的方法,其特征在于,所述执行资源迁移任务,包括:

7.根据权利要求6所述的方法,其特征在于,执行所述资源迁移任务,包括:

8.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序在被处理器执行时,实现如权利要求1至7任一项所述的资源迁移方法的步骤。

9.一种电子设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至7任一项所述的资源迁移方法的步骤。

10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时使所述处理器执行如权利要求1至7任一项所述的资源迁移方法的步骤。