一种多云管理平台与云服务商资源同步方法及装置转让专利

申请号 : CN202211154484.6

文献号 : CN115250278B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 王伟华刘井山吴政吴达

申请人 : 梯度云科技(北京)有限公司

摘要 :

本发明提供了一种多云管理平台与云服务商资源同步方法及装置,从资源依赖关系出发,找出资源数据列表中每一条资源数据其所依赖的各资源是否都存在,只有存在完整的资源数据才将其同步保存到多云管理平台,确保了存储在多云管理平台上的资源数据的完整性,防止孤立资源的存在,同时还保存了资源数据之间的关联关系;在删除某一资源数据时,也删除该条资源数据所依赖的所有资源及关联关系。

权利要求 :

1.一种多云管理平台与云服务商资源同步方法,其特征在于,包括以下步骤:

步骤1:分别调用各种云服务商的接口,拉取每种云服务商的资源数据列表到多云管理平台;

步骤2:对于每种服务商的资源数据列表中的每一条资源数据,根据该服务商的资源依赖关系在多云管理平台检查该条资源数据及其所依赖的其他关联资源数据是否完整,若完整,则将该条资源数据所对应的资源及其所依赖的其他关联资源数据存储到多云管理平台的数据库中;

步骤2中根据资源依赖关系检查该条资源数据所对应的资源及其所关联的关联资源数据是否完整的方法是:步骤2.1:对于资源数据列表中的每一条资源数据,从拉取到多云管理平台中的资源数据列表以及已经被多云管理平台纳管的资源数据列表中,使用资源依赖关系检查该条资源数据的所有上级资源和下级资源是否都存在;

步骤2.2:若该条资源数据所依赖的资源都是已经被多云管理平台纳管的资源,则将该条资源数据存储到多云管理平台中;若该条资源数据所依赖的资源为拉取到多云管理平台的资源数据列表中的资源数据,则将该条资源数据以及资源数据列表中被依赖的资源数据都存储到多云管理平台中。

2.根据权利要求1所述的方法,其特征在于,还包括步骤3:在检查完整的情况下,将该条资源数据所对应的资源及其所依赖的其他关联资源数据之间的关联关系存储到多云管理平台的数据库中。

3.根据权利要求2所述的方法,其特征在于,当删除多云管理平台数据库中的某一条资源数据时,删除该条资源数据所依赖的所有资源及关联关系。

4.根据权利要求1所述的方法,其特征在于,根据资源依赖关系构建资源拓扑图,使用与服务商相对应的资源拓扑图遍历检查该条资源数据所对应的资源节点及其向上所关联的关联资源数据是否完整。

5.根据权利要求4所述的方法,其特征在于,使用资源拓扑图进行检查的方法是:

对于每一条资源数据,使用资源拓扑图,遍历该条资源数据所对应的资源节点向上所依赖的直接的父级资源,判断父级资源是否存在于多云管理平台已被纳管的资源列表中,如果存在,则表明该条资源所依赖的资源存在,则同步该资源;

如果其直接的父级资源不存在于多云管理平台已被纳管的资源列表中,则从云服务商调用接口拉取的资源列表进行搜索,根据资源拓扑图向上遍历其所有的祖先资源,如果这条资源的所有祖先资源都存在,则将该条资源及其所有的祖先资源一起自动同步到多云管理平台中;如果其祖先资源不完全存在,则不进行同步。

6.根据权利要求5所述的方法,其特征在于,如果给定的一条资源数据其所依赖的祖先资源都存在,则遍历资源拓扑图,找出该条资源的所有下级关联资源,将这些资源自动同步到多云管理平台。

7.一种多云管理平台与云服务商资源同步装置,其特征在于,包括以下模块:

资源数据列表获取模块:用于分别调用各种云服务商的接口,拉取每种云服务商的资源数据列表到多云管理平台;

资源拓扑图构建模块:用于根据各服务商的资源依赖关系构建各服务商的资源拓扑图;

完整性检查模块:用于对每一条资源数据,使用各服务商的资源拓扑图,以该条资源为节点向上遍历找出该条资源数据直接的父级资源是否存在于多云管理平台已纳管的资源中,如果存在,则表明该条资源所依赖的资源存在,可以同步;

如果其直接的父级资源不存在于多云管理平台已纳管的资源中,则从云服务商调用接口拉取的资源列表中,使用资源拓扑图向上遍历该条资源所有的祖先资源,如果这条资源的所有祖先资源都存在,则将该条资源及其所有的祖先资源一起自动同步到多云管理平台中;如果其祖先资源不完全存在,则表明该条资源所依赖的资源既不在多云管理平台中,也不在从云服务商调用接口拉取的列表中,无法同步。

8.根据权利要求7所述的装置,其特征在于,在所述完整性检查模块中还包括:如果给定的一条资源数据其所依赖的祖先资源都存在,则向下遍历资源拓扑图,找出该条资源的所有下级关联资源,并且自动将这些资源同步的多云管理平台。

说明书 :

一种多云管理平台与云服务商资源同步方法及装置

技术领域

[0001] 本发明属于云计算领域,尤其是涉及一种多云管理平台与云服务商资源同步方法及装置。

背景技术

[0002] 对于多云管理平台,需要纳管云服务商资源,但是如果资源存在于云服务商那边,而不存在于多云管理平台时,这些资源将无法被纳管,因此,需要将这些资源从云服务商同步到多云管理平台中。但是怎样将云服务商的资源同步到多云管理平台中,并且同步下来的资源的关联关系是完整的,使多云管理平台中的资源和云服务商中的资源一致,是一个迫切需要解决的问题。

发明内容

[0003] 本发明所要解决的技术问题是怎样将云服务商的资源同步到多云管理平台,提出了一种多云管理平台与云服务商资源同步方法及装置。
[0004] 为解决上述技术问题,本发明所采用的技术方案是:
[0005] 一种多云管理平台与云服务商资源同步的方法,包括以下步骤:
[0006] 步骤1:分别调用各种云服务商的接口,拉取每种云服务商的资源数据列表到多云管理平台;
[0007] 步骤2:对于每种服务商的资源数据列表中的每一条资源数据,根据该服务商的资源依赖关系在多云管理平台检查该条资源数据及其所依赖的其他关联资源数据是否完整,若完整,则将该条资源数据所对应的资源及其所依赖的其他关联资源数据存储到多云管理平台的数据库中。
[0008] 进一步地,还包括步骤3:在检查完整的情况下,将该条资源数据所对应的资源及其所依赖的其他关联资源数据之间的关联关系存储到多云管理平台的数据库中。
[0009] 进一步地,步骤2中根据资源依赖关系检查该条资源数据所对应的资源及其所关联的关联资源数据是否完整的方法是:
[0010] 步骤2.1:对于资源数据列表中的每一条资源数据,从拉取到多云管理平台中的资源数据列表以及已经被多云管理平台纳管的资源数据列表中,使用资源依赖关系检查该条资源数据的所有上级资源和下级资源是否都存在;
[0011] 步骤2.2:若该条资源数据所依赖的资源都是已经被多云管理平台纳管的资源,则将该条资源数据存储到多云管理平台中;若该条资源数据所依赖的资源为拉取到多云管理平台的资源数据列表中的资源数据,则将该条资源数据以及资源数据列表中被依赖的资源数据都存储到多云管理平台中。
[0012] 进一步地,当删除多云管理平台数据库中的某一条资源数据时,删除该条资源数据所依赖的所有资源及关联关系。
[0013] 进一步地,根据资源依赖关系构建资源拓扑图,使用与服务商相对应的资源拓扑图遍历检查该条资源数据所对应的资源节点及其向上所关联的关联资源数据是否完整。
[0014] 进一步地,使用资源拓扑图进行检查的方法是:
[0015] 对于每一条资源数据,使用资源拓扑图,遍历该条资源数据所对应的资源节点向上所依赖的直接的父级资源,判断父级资源是否存在于多云管理平台已被纳管的资源列表中,如果存在,则表明该条资源所依赖的资源存在,则同步该资源;
[0016] 如果其直接的父级资源不存在于多云管理平台已被纳管的资源列表中,则从云服务商调用接口拉取的资源列表进行搜索,根据资源拓扑图向上遍历其所有的祖先资源,如果这条资源的所有祖先资源都存在,则将该条资源及其所有的祖先资源一起自动同步到多云管理平台中;如果其祖先资源不完全存在,则不进行同步。则表明该条资源所依赖的资源既不在于多云管理平台已被纳管的资源列表中,也不存在于从云服务商调用接口拉取的资源列表中。
[0017] 进一步地,如果给定的一条资源数据其所依赖的祖先资源都存在,则遍历资源拓扑图,找出该条资源的所有下级关联资源,将这些资源自动同步到多云管理平台。
[0018] 本发明还提供了一种多云管理平台与云服务商资源同步装置,包括以下模块:
[0019] 资源数据列表获取模块:用于分别调用各种云服务商的接口,拉取每种云服务商的资源数据列表到多云管理平台;
[0020] 资源拓扑图构建模块:用于根据各服务商的资源依赖关系构建各服务商的资源拓扑图;
[0021] 完整性检查模块:用于对每一条资源数据,使用各服务商的资源拓扑图,以该条资源为节点向上遍历找出该条资源数据直接的父级资源是否存在于多云管理平台已纳管的资源中,如果存在,则表明该条资源所依赖的资源存在,可以同步;
[0022] 如果其直接的父级资源不存在于多云管理平台已纳管的资源中,则从云服务商调用接口拉取的资源列表中,使用资源拓扑图向上遍历该条资源所有的祖先资源,如果这条资源的所有祖先资源都存在,则将该条资源及其所有的祖先资源一起自动同步到多云管理平台中;如果其祖先资源不完全存在,则表明该条资源所依赖的资源既不在多云管理平台中,也不在从云服务商调用接口拉取的列表中,无法同步。
[0023] 进一步地,在所述完整性检查模块中还包括:如果给定的一条资源数据其所依赖的祖先资源都存在,则向下遍历资源拓扑图,找出该条资源的所有下级关联资源,并且自动将这些资源同步的多云管理平台。
[0024] 采用上述技术方案,本发明具有如下有益效果:
[0025] 本发明提供的一种多云管理平台与云服务商资源同步方法及装置,从资源依赖关系出发,找出资源数据列表中每一条资源数据其所依赖的各资源在云服务商方是否都存在,只有存在完整的资源数据才将其同步保存到多云管理平台,确保了存储在多云管理平台上的资源数据的完整性,防止孤立资源的存在,同时还保存了资源数据之间的关联关系;在删除某一资源数据时,也删除该条资源数据所依赖的所有资源及关联关系,杜绝孤立资源的发生。

附图说明

[0026] 图1为本发明系统流程图;
[0027] 图2为某服务商的资源依赖关系图。

具体实施方式

[0028] 下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0029] 实施例一:
[0030] 图1示出了本发明一种多云管理平台与云服务商资源同步方法的具体实施例,包括以下步骤:
[0031] 步骤1:分别调用各种云服务商的接口,拉取每种云服务商的资源数据列表到多云管理平台。为了方便检查拟同步的资源其依赖的资源关系是否存在,先将资源列表拉取到多云管理平台暂存。
[0032] 步骤2:对于每种服务商的资源数据列表中的每一条资源数据,根据该服务商的资源依赖关系在多云管理平台检查该条资源数据及其所依赖的其他关联资源数据是否完整,若完整,则将该条资源数据所对应的资源及其所依赖的其他关联资源数据存储到多云管理平台的数据库中。对于依赖关系完整的资源才能将其同步到多云管理平台中,依赖关系不完整的资源不能进行同步。
[0033] 本实施例中,检查某条资源数据所对应的资源及其所关联的关联资源数据是否完整的方法是:
[0034] 步骤2.1:对于资源数据列表中的每一条资源数据,从拉取到多云管理平台中的资源数据列表以及已经被多云管理平台纳管的资源数据列表中,使用资源依赖关系检查该条资源数据的所有上级资源和下级资源是否都存在;
[0035] 步骤2.2:若该条资源数据所依赖的资源都是已经被多云管理平台纳管的资源,则将该条资源数据存储到多云管理平台中;若该条资源数据所依赖的资源为拉取到多云管理平台的资源数据列表中的资源数据,则将该条资源数据以及资源数据列表中被依赖的资源数据都存储到多云管理平台中。
[0036] 步骤3:在检查完整的情况下,将该条资源数据所对应的资源及其所关联的关联资源数据之间的关联关系存储到多云管理平台的数据库中。将资源之间的关联关系存储到多云关联平台的数据库中。
[0037] 本发明充分利用了资源之间的依赖关系,如图2所示,它们并不是完全独立的个体。比如在某云平台上创建磁盘快照,首先需要选择一个磁盘,然后为这个磁盘创建磁盘快照,也就表明磁盘快照并不是一个独立个体,它和磁盘之间有关联关系。这时,如果需要将磁盘快照同步到多云管理平台中,则需要首先同步这个磁盘快照的前置资源磁盘,并且正确的在多云管理平台中为这些资源建立关联关系。因此,多云管理平台在同步云服务商的资源时,不仅仅只是同步这些资源,更重要的是解决资源之间的这种关联关系,否则同步到多云管理平台中的资源会因为缺少各种前置、后置等条件而无法被纳管。
[0038] 但是每种服务商的资源依赖关系都不太一样,因此需要根据每种服务商的资源依赖关系来检查该条资源数据所在的云服务商中所依赖的所有资源是否都存在,若完整存在,就将该条资源数据及其所依赖的资源同步保存到云管理平台。因为不完整存在的资源即使同步下来也是关联关系不完整的资源,不能被纳管。比如磁盘快照依赖磁盘,如果某个磁盘不能被同步到多云管理平台中,则为这个磁盘创建的磁盘快照也不能被同步到多云管理平台中,否则,在多云管理平台中,这个磁盘快照甚至都不知道是为哪个磁盘创建的。因此,只要某一资源的父级资源存在于多云管理平台,那么该条资源就可以同步存在到多云管理平台上,同理,某一资源的父级资源要存在于多云管理平台,该父级资源的父级也要存在于多云管理平台。
[0039] 由于存储在云管理平台上的资源及其所依赖的资源是完整存在的,因此,当删除多云管理平台数据库中的某一条资源数据时,删除该条资源数据所依赖的所有资源及关联关系。
[0040] 实施例二:
[0041] 实施例一是使用资源依赖关系判断多云管理平台中某一条资源其所依赖的资源是否存在,而且这种依赖关系在实现中需要使用判断语句一一进行判断,如果依赖关系改变或增加,由于程序已经编好固定,那么新增的依赖关系将很难加进来。尤其对于多云管理平台需要管理多个云服务商。本实施例与实施例一的区别在于,使用资源依赖关系构建资源拓扑图,使用资源拓扑图遍历某一资源节点向上的所有父级资源,从而可以快速进行遍历检查。而且在资源依赖关系变动时,只需要维护资源拓扑图即可,不需要对调用资源拓扑图的程序做出改动,从而实施起来简单方便。具体如下:
[0042] 如图2所示的某服务商的资源依赖关系图,根据资源依赖关系构建资源拓扑图,使用与该服务商相对应的资源拓扑图遍历检查该条资源数据所对应的资源节点及其向上所关联的关联资源数据是否完整。
[0043] 使用资源拓扑图进行检查的方法是:
[0044] 对于每一条资源数据,使用资源拓扑图,遍历该条资源数据所对应的资源节点向上所依赖的直接的父级资源,判断父级资源是否存在于多云管理平台已被纳管的资源列表中,如果存在,则表明该条资源所依赖的资源存在,则同步该资源;
[0045] 如果其直接的父级资源不存在于多云管理平台已被纳管的资源列表中,则从云服务商调用接口拉取的资源列表进行搜索,根据资源拓扑图向上遍历其所有的祖先资源,如果这条资源的所有祖先资源都存在,则将该条资源及其所有的祖先资源一起自动同步到多云管理平台中;如果其祖先资源不完全存在,则表明该条资源所依赖的资源既不在于多云管理平台已被纳管的资源列表中,也不存在于从云服务商调用接口拉取的资源列表中,则不进行同步。
[0046] 由于使用资源拓扑图,一方面是资源依赖关系的维护更加简单,但另一方面,可以快速的使用资源拓扑图迅速找到某条资源的父级资源以及祖先资源。
[0047] 本实施例中,如果给定的一条资源数据其所依赖的祖先资源都存在,则遍历资源拓扑图,找出该条资源的所有下级关联资源,将这些资源自动同步到多云管理平台。为了同步资源,虽然将拉取的资源列表中某一条资源的所有祖先资源都同步过来,但是由于资源列表中的每条资源都会进行检查完整性来进行同步,因此在遍历资源拓扑图时,将该条资源的所有下级关联资源都同时进行关联同步到多云管理平台中,加快同步的速度,提高同步效率。
[0048] 如果对每种云服务商、每种资源单独处理资源之间的关联关系,那么这将是一个非常大的工作量,需要对每种云服务商的资源依赖关系单独进行变成实现,且在资源关联关系变动时维护起来更加困难。因此,使用资源拓扑图的方式,只需要调用相应云服务商的资源拓扑图,就可以实现对多种云服务商的资源依赖关系检查,而且可以动态管理各云服务商所管理的资源依赖关系。并且由于资源拓扑图形象地表达了资源之间的依赖关系,使得在资源同步过程中对关联关系的分析就可以达到抽象化、流程化、智能化,极大的提高了开发效率,节省了开发时间。
[0049] 实施例三:
[0050] 本发明还提供了一种多云管理平台与云服务商资源同步装置,包括以下模块:
[0051] 资源数据列表获取模块:用于分别调用各种云服务商的接口,拉取每种云服务商的资源数据列表到多云管理平台;
[0052] 资源拓扑图构建模块:用于根据各服务商的资源依赖关系构建各服务商的资源拓扑图;
[0053] 完整性检查模块:用于对每一条资源数据,使用各服务商的资源拓扑图,以该条资源为节点向上遍历找出该条资源数据直接的父级资源是否存在于多云管理平台已纳管的资源中,如果存在,则表明该条资源所依赖的资源存在,可以同步;
[0054] 如果其直接的父级资源不存在于多云管理平台已纳管的资源中,则从云服务商调用接口拉取的资源列表中,使用资源拓扑图向上遍历该条资源所有的祖先资源,如果这条资源的所有祖先资源都存在,则将该条资源及其所有的祖先资源一起自动同步到多云管理平台中;如果其祖先资源不完全存在,则表明该条资源所依赖的资源既不在多云管理平台中,也不在从云服务商调用接口拉取的列表中,无法同步。
[0055] 本实施例中,在所述完整性检查模块中还包括:如果给定的一条资源数据其所依赖的祖先资源都存在,则向下遍历资源拓扑图,找出该条资源的所有下级关联资源,并且自动将这些资源同步的多云管理平台。
[0056] 最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。