CN113691575A - 通信方法、装置及系统 - Google Patents
通信方法、装置及系统 Download PDFInfo
- Publication number
- CN113691575A CN113691575A CN202010470931.3A CN202010470931A CN113691575A CN 113691575 A CN113691575 A CN 113691575A CN 202010470931 A CN202010470931 A CN 202010470931A CN 113691575 A CN113691575 A CN 113691575A
- Authority
- CN
- China
- Prior art keywords
- api
- resource
- interface
- api gateway
- gateway
- 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.)
- Granted
Links
- 238000004891 communication Methods 0.000 title claims abstract description 100
- 238000000034 method Methods 0.000 title claims abstract description 76
- 230000004044 response Effects 0.000 claims description 61
- 230000015654 memory Effects 0.000 claims description 32
- 238000006243 chemical reaction Methods 0.000 claims description 16
- 230000010354 integration Effects 0.000 claims description 6
- 238000007726 management method Methods 0.000 description 54
- 230000006870 function Effects 0.000 description 32
- 230000008569 process Effects 0.000 description 18
- 238000010586 diagram Methods 0.000 description 12
- 230000005012 migration Effects 0.000 description 12
- 238000013508 migration Methods 0.000 description 12
- 230000001133 acceleration Effects 0.000 description 9
- 238000005516 engineering process Methods 0.000 description 9
- 238000005457 optimization Methods 0.000 description 5
- 238000012545 processing Methods 0.000 description 5
- 230000009471 action Effects 0.000 description 4
- 239000000284 extract Substances 0.000 description 4
- 238000013507 mapping Methods 0.000 description 4
- 238000004458 analytical method Methods 0.000 description 3
- 238000004422 calculation algorithm Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000001960 triggered effect Effects 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 238000012217 deletion Methods 0.000 description 2
- 230000037430 deletion Effects 0.000 description 2
- 230000008520 organization Effects 0.000 description 2
- 230000008672 reprogramming Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 239000008186 active pharmaceutical agent Substances 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000004069 differentiation Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 229910044991 metal oxide Inorganic materials 0.000 description 1
- 150000004706 metal oxides Chemical class 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/66—Arrangements for connecting between networks having differing types of switching systems, e.g. gateways
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
- H04L67/1074—Peer-to-peer [P2P] networks for supporting data block transmission mechanisms
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请公开了一种通信方法、装置及系统,属于云计算领域。所述方法包括:第一应用程序接口API网关接收第一API请求;第一API网关在多个云平台中确定用于响应该第一API请求的目标云平台,该第一API请求的格式为该第一API网关支持的格式;该第一API网关向第二API网关发送第二API请求,该第二API请求基于该第一API请求确定,且该第二API请求的格式为该第二API网关支持的格式,该第二API网关为该目标云平台的API网关。本申请提高了用户设备与不同云平台的通信灵活性。
Description
本申请要求于2020年5月18日提交的申请号为202010421087.5、发明名称为“一种混合云智能API网关”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请涉及云计算领域,特别涉及一种通信方法、装置及系统。
背景技术
云技术(Cloudtechnology)是一种用于实现数据的计算、储存、处理或共享的托管技术。用于实现云技术的平台称为云平台。
随着用户对数据的不同需求的逐渐增大,一个用户可能会通过用户设备在不同的云平台上进行不同资源的调用。例如在不同云平台建立不同的虚拟机。如此,用户设备在访问不同云平台时,需要发出符合该不同云平台所支持的格式的不同的应用程序接口(Application Programming Interface,API)请求,用户设备与不同云平台的通信灵活性较低。
发明内容
本申请实施例提供了一种通信方法、装置及系统。所述技术方案如下:
第一方面,提供了一种通信方法,所述方法包括:
第一应用程序接口API网关接收第一API请求;第一API网关在多个云平台中确定用于响应该第一API请求的目标云平台,该第一API请求的格式为该第一API网关支持的格式;该第一API网关向第二API网关发送第二API请求,该第二API请求基于该第一API请求确定,且该第二API请求的格式为该第二API网关支持的格式,该第二API网关为该目标云平台的API网关。
本申请实施例中,由于第一API网关在接收到第一API请求后,确定目标云平台所支持格式的第二API请求,并将该第二API请求发送至目标云平台的第二API网关,用户仅需采用第一API网关所支持格式的API请求访问API统一网关即可实现对多个云平台中的目标云平台的访问,降低了用户的操作复杂度,提高了用户设备与不同云平台的通信灵活性。
在本申请实施例中,第一API网关需要预先确定自身支持的API请求的格式,从而为后续用户的使用提供便利。API请求的格式与第一API网关部署的资源的格式一致,因此也称资源格式。该资源格式主要包括两部分,一部分是API请求中携带的资源参数的格式(schema,也称规格);另一部分包括API请求对应的接口调用规则。其中,资源参数指的是数据所属的资源的参数(也称对象)。资源参数格式是该数据的对象的结构定义。调用操作的接口调用规则用于指示调用操作对应的接口集以及接口集的调用时序。其中,通过同一次API请求调用的接口集的时序相同,通过不同次API请求调用的接口集的时序不同。
本申请实施例分别以以下两方面对第一API网关确定支持的API请求的格式的过程进行说明。
第一种可选实现方式,第一API网关确定支持的API请求的资源参数格式。该过程包括:
该第一API网关将该多个云平台中的同一种资源的同一调用操作所对应的资源参数格式进行整合,得到该第一API网关支持的该同一种资源的同一调用操作的资源参数格式。
可选地,该第一API网关支持的同一种资源的同一调用操作的资源参数格式为该多个云平台中的同一种资源的同一调用操作所对应的资源参数格式的并集。
相应的,该将该多个云平台中的同一种资源的同一调用操作所对应的资源参数格式进行整合,得到该第一API网关支持的该同一种资源的同一调用操作的统一资源参数格式的过程,包括:获取该多个云平台中的同一种资源的同一调用操作所对应的资源参数格式的并集,得到该第一API网关支持的同一种资源的同一调用操作的资源参数格式。
与第一种可选实现方式对应的,该第一API请求包括第一资源参数数据,该第二API请求包括第二资源参数数据,该第一资源参数数据的格式为该第一API网关支持的资源参数格式,该第一资源参数数据的格式为该第二API网关支持的资源参数格式,该第二资源参数数据是将该第一资源参数数据进行资源参数格式转化得到的。
第二种可选实现方式,第一API网关确定支持的API请求的接口调用规则。该过程包括:
对于该多个云平台中的同一种资源的同一调用操作,该第一API网关基于该调用操作所对应的接口调用规则,确定该同一种资源的同一调用操作对应的第一接口调用规则。
可选地,该调用操作的接口调用规则用于指示该调用操作对应的接口集以及接口集的调用时序;
当该多个云平台中的同一种资源的同一调用操作对应的接口集以及接口集的调用时序均相同,该同一种资源的同一调用操作对应的第一接口调用规则为按照该调用时序调用该接口集中的API接口;当该多个云平台中的同一种资源的同一调用操作对应的接口集相同,调用时序不同,该同一种资源的同一调用操作对应的第一接口调用规则为采用一次API请求调用该同一调用操作对应的接口集中的API接口;当该多个云平台中的同一种资源的同一调用操作对应的接口集不同,该同一种资源的同一调用操作对应的第一接口调用规则为采用一次API请求调用该同一调用操作对应的接口集中的API接口。
与第二种可选实现方式对应的,该第二API请求由该第一API网关基于第二接口调用规则发送,该第二接口调用规则是该第二API网关支持的接口调用规则,该第二接口调用规则由该第一API网关基于该第一API网关支持的第一接口调用规则以及该第一API请求确定;该方法还包括:
该第一API网关接收该第二API网关发送的第二API响应;该第一API网关基于该第二API响应,按照该第一接口调用规则向该第一API请求的发送端回复第一API响应。
可选地,API响应包括资源参数数据。第二API发送的第二API响应包括的资源参数数据遵循目标云平台的API网关支持的资源参数格式。而第一API网关发布的是自身支持的API请求的格式,因此用户学习的是第一API网关支持的第一资源参数格式,若第一API网关直接将第二API响应包括的资源参数数据通过第一API响应反馈给用户,用户还需要再学习第二API网关支持的资源参数格式,因此会增加用户的学习成本。本申请实施例中,第一API网关还可以对第二API网关发送的第二API响应中的资源参数数据进行转义,得到第一API响应中的资源参数数据,如此可以减少用户学习成本。
假设第一API响应包括第三资源参数数据,第二API响应包括第四资源参数数据,第三资源参数数据的格式为第一API网关支持的资源参数格式,第三资源参数数据的格式为第二API网关支持的资源参数格式,则第三资源参数数据是第一API网关将第四资源参数数据进行资源参数格式转化得到的。
需要说明的是,前述第一种可选实现方式和第二种可选实现方式中,多个云平台提供的资源提供的服务相同或相似,第一API网关需要预先在多个云平台中确定同一种资源,也即是资源类型相同的资源,进而进行同一种资源的资源格式的整合。可选地,该同一种资源为资源定义的相似度大于相似度阈值的资源。或者,该同一种资源为资源的标识的相似度大于第二相似度阈值的资源。
可选地,第一API网关除了前述进行API请求的格式整合功能,还支持其他功能,例如第一API网关支持服务信息的呈现功能,则该方法还包括:该第一API网关通过用户界面云平台的资源的服务信息,该服务信息包括服务能力信息和服务价格中的至少一种。
第一API网关获取服务信息的时机可以有多种情况。例如在通过该用户界面接收到服务信息检索请求后,该第一API网关获取该云平台的资源的服务信息;或者,在接收到该第一API请求后,该第一API网关获取该云平台的资源的服务信息。
可选地,当呈现的资源的能力信息包括与多个资源一一对应的多组能力信息时,每组能力信息可以以列表的方式呈现。
在一种实现方式中,第一API网关在接收到服务信息检索请求后,获取云平台的资源的服务信息,并通过用户界面呈现获取的服务信息,能够实现通过用户界面进行服务信息的检索功能,从而便于用户按需检索,得到自身想要获取的服务信息。用户无需逐个云平台查询资源是否满足自身需求,减少用户的操作复杂度,提高用户体验。
在另一种实现方式中,第一API网关在接收到第一API请求后,获取云平台的资源的服务信息,并通过用户界面呈现获取的服务信息,能够实现在用户进行接口调用时,为用户提供满足需求的资源的服务信息,从而便于用户了解资源的服务信息,从而更好地进行接口调用。
在又一种实现方式中,第一API网关可以在检测到用户通过用户界面访问用于进行能力信息呈现的指定页面的操作后,在指定存储空间获取最新的云平台的资源的能力信息,并通过该指定页面呈现最新的云平台的资源的能力信息。当呈现的云平台是第一API网关管理的多个云平台时,可以便于用户对第一API网关管理的云平台的资源的能力信息进行整体的了解。
需要说明的是,前述能力信息可以是实时的能力信息,即该能力信息是动态可变的;该能力信息也可以是额定的能力信息,该额定的能力信息是固定的,用于反映资源的能力上限。当该能力信息是实时的能力信息时,第一API网关能够通过呈现资源的实时的能力信息,实现用户对当前的能力信息的及时准确的了解,提高用户体验。
可选地,目标云平台是基于管理节点发送的选择指令确定的,该选择指令用于指示该目标云平台,该选择指令是该管理节点通过用户界面接收的;或者,该目标云平台是基于客户端发送的选择指令确定的,该选择指令用于指示该目标云平台;或者,该第一API请求包括该目标云平台的标识。
可选地,第一API网关还支持跨云平台的资源迁移功能。则该方法还包括:该第一API网关将待迁移资源的资源参数数据的资源参数格式转化为目的云平台的API网关支持的资源参数格式;该第一API网关将转化后的该资源参数数据发送至该目的云平台的API网关。
可选地,该第一API请求由客户端发送给该第一API网关;或者,该第一API请求由管理节点在用户界面接收并发送该第一API网关。
可选地,该第一API请求指示的调用操作包括以下任一种:资源的建立操作、资源的删除操作、资源的修改操作以及资源的查询操作。
第二方面,提供了一种通信装置,该装置应用于第一应用程序接口API网关,该装置可以包括至少一个模块,该至少一个模块可以用于实现上述第一方面或者第一方面的各种可能实现提供的通信方法。
第三方面,本申请提供一种通信系统,该通信系统包括:第一API网关和多个云平台,每个云平台包括一个API网关,所述第一API网关包括第二方面任一所述的通信装置。
第三方面,本申请提供一种计算机设备,该计算机设备包括处理器和存储器。该存储器存储计算机指令;该处理器执行该存储器存储的计算机指令,使得该计算机设备执行上述第一方面或者第一方面的各种可能实现提供的方法,使得该计算机设备部署上述第二方面或者第二方面的各种可能实现提供的该通信装置。
第四方面,本申请提供一种计算机可读存储介质,该计算机可读存储介质中存储有计算机指令,该计算机指令指示该计算机设备执行上述第一方面或者第一方面的各种可能实现提供的方法,或者该计算机指令指示该计算机设备部署上述第二方面或者第二方面的各种可能实现提供的通信装置。
第五方面,本申请提供一种计算机程序产品,该计算机程序产品包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器可以从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述第一方面或者第一方面的各种可能实现提供的方法,使得该计算机设备部署上述第二方面或者第二方面的各种可能实现提供的通信装置。
第六方面,提供一种芯片,该芯片可以包括可编程逻辑电路和/或程序指令,当该芯片运行时用于实现如第一方面任一该的通信方法。
本申请实施例提供的技术方案带来的有益效果是:
本申请实施例中,由于第一API网关在接收到第一API请求后,确定目标云平台所支持格式的第二API请求,并将该第二API请求发送至目标云平台的第二API网关,用户仅需采用第一API网关所支持格式的API请求访问API统一网关即可实现对多个云平台中的目标云平台的访问,降低了用户的操作复杂度,提高了用户设备与不同云平台的通信灵活性。
由于新增了第一API网关,为多个云平台的API接口调用提供了统一的入口,因此,面向用户的是第一API网关,用户仅需按照第一API网关支持的资源格式进行编程或者通过管理节点的用户界面触发调用操作,减少了用户对于相似资源(即前述的同一种资源)的重复学习和配置成本,提高了用户体验。
并且,第一API网关的服务信息的呈现功能,可以将云平台的资源的能力信息呈现给用户,便于用户了解资源的能力信息。
本申请实施例中,由于第一API向用户提供了统一的资源格式,本申请实施例提供的通信方法还可以用于跨云平台的资源编排。用户在一个蓝图里编排生成统一的资源模板,用户仅需在该资源模板中设置用户系统或应用的各资源部署在哪个云平台(即前述目标云平台),即可通过运行设置好的资源模板在多个云平台部署实例,设置好目标云平台的资源模板即为前述客户端。如此能够有效减少用户的操作,提高资源部署效率。
本申请实施例中,若用户需要进行跨云平台的资源迁移,仅需要通过资源迁移请求或其他方式指定源云平台和目的云平台,第一API网关即可实现资源跨云平台的自动迁移,无需用户再重新编程,减少操作复杂度,提高用户体验。
附图说明
图1是本申请实施例提供的一种通信方法所涉及的通信系统的应用场景示意图;
图2是本申请实施例提供的另一种通信系统的应用场景示意图;
图3是本申请实施例提供的一种通信方法的流程示意图;
图4是本申请实施例提供的另一种通信方法的流程示意图;
图5是本申请实施例提供的一种用户界面的示意图;
图6是本申请实施例提供的另一种用户界面的示意图;
图7是本申请实施例提供的又一种通信方法的流程示意图;
图8是本申请一示意性实施例提供的一种通信装置的结构示意图;
图9是本申请一示意性实施例提供的另一种通信装置的结构示意图;
图10是本申请一示意性实施例提供的又一种通信装置的结构示意图;
图11是本申请一示意性实施例提供的再一种通信装置的结构示意图;
图12是本申请另一示意性实施例提供的一种通信装置的结构示意图;
图13是本申请另一示意性实施例提供的另一种通信装置的结构示意图;
图14示意性地提供本申请实施例提供的第一API网关的在实际应用场景中的一种可能的基本硬件架构;
图15示意性地提供本申请实施例提供的计算机设备的一种可能的基本硬件架构。
具体实施方式
为使本申请的原理和技术方案更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
为了便于读者理解,下面对本申请实施例所涉及的名词进行解释。
云平台,也称云系统、云环境或云,是一种云供应商提供的云技术(也称云计算(cloud computing)技术)服务的软件系统。
公有云,是第三方的公有云供应商为广大的个人或企业提供的云平台。在公有云中,硬件、软件和其他结构均为第三方的公有云供应商所拥有和管理。
私有云,是为一个企业或组织提供的专用的云平台。私有云可以由对应的企业或组织进行内部操作。私有云主要是面向企业用户,也称企业云。
混合云,是指不同的云平台所形成的云平台。混合云包括至少两个云平台,也称多云平台或多云。可选地,混合云融合了公有云和私有云。出于安全考虑,一些企业用户更愿意将数据存放在私有云中,但是同时又希望可以获得公有云的计算资源。在这种情况下,包括公有云和私有云的混合云被越来越多地采用。混合云将公有云和私有云进行混合和匹配,以获得良好的使用效果。
虚拟机(Virtual Machine,VM),指的是通过软件模拟的具有完整硬件系统功能的、运行在一个隔离环境中的完整计算机系统。在实体计算机(简称实体机)中能够完成的工作在虚拟机中都能够实现。在计算机中创建虚拟机时,需要将实体计算机的部分硬盘和内存容量作为虚拟机的硬盘和内存容量。可选地,每个虚拟机都有独立的互补金属氧化物半导体(Complementary Metal Oxide Semiconductor,CMOS)、硬盘和操作系统,可以像使用实体计算机一样对虚拟机进行操作。
容器(container),也称容器映像,是采用容器技术建立的软件的轻量级独立可执行软件包。容器技术指的是计算机操作系统中的一种虚拟化技术,该技术使得进程运行于相对独立和隔离的环境(包含独立的文件系统、命名空间和/或资源视图等),从而能够简化软件的部署流程,增强软件的可移植性和安全性,并提高系统资源利用率。容器技术广泛应用于云计算领域的服务化场景。
应用程序接口,又称程序接口,是云平台的操作系统向用户,如编程人员,提供的“程序与操作系统的接口”。该接口是为用户在编程时使用的。用户通过该应用程序接口,可访问云平台中的资源和取得相应的服务。一个应用程序接口是一组定义、函数、程序和/或协议的集合。例如,云平台的一个应用程序接口包括一个或多个系统调用(system call),每个系统调用都是一个能完成特定功能的程序。
API网关(Application Programming Interface Gateway,APIG),一种提供API托管服务的网关,可对API进行统一鉴权、计量、发布和/或流量控制等管理。
服务,包括:计算服务、存储服务或网络服务等。用户设备在云平台可以访问到的设备或功能都可视为云平台提供的服务。
资源,用于提供服务的硬件或软件资源。例如,与计算服务、存储服务或网络服务对应的,资源包括计算资源、存储资源或网络资源。可选地,计算资源包括中央处理器(CPU,central processing unit)资源、内存资源和/或硬盘资源等。
图1是本申请实施例提供的一种通信方法所涉及的通信系统的应用场景示意图。如图1所示,该通信系统包括:第一API网关101、多个云平台102以及一个或多个用户设备103。其中,每个云平台102包括一个API网关1021,每个云平台102部署有一种或多种资源,以用于为用户设备103提供服务,多个云平台102与多个API网关1021一一对应。第一API网关101与多个云平台102的API网关1021建立有通信连接。可选地,第一API网关101还与用户设备103建立有通信连接。第一API网关101用于管理用户设备103与该多个云平台102的API网关1021之间通信的信息。用户设备103可以通过第一API网关101实现与该多个云平台102的API网关1021的通信。可选地,该用户设备103为计算机或笔记本电脑等计算机设备。可选地,用户设备103可以安装有客户端,用户通过该客户端实现与第一API网关101的通信。该客户端通常由用户编程得到。
图2是本申请实施例提供的另一种通信系统的应用场景示意图。在图1的基础上,该通信系统还包括:管理节点104,管理节点101可以为单独一个节点。其可以为一个服务器或者由多个服务器组成的服务器集群。也可以是一个或多个设定的最小处理单元,如虚拟机或容器。该管理节点104分别与第一API网关101以及用户设备103建立有通信连接,该管理节点104可以为用户设备103提供用户界面(User Interface,UI),以供用户设备103与第一API网关101进行通信。在一种可选方式中,用户设备103中安装有与管理节点104对应的网页客户端,用户设备103通过运行该网页客户端访问管理节点104提供的用户界面;在另一种可选方式中,用户设备103中安装有浏览器,用户设备103通过运行浏览器可以访问管理节点104提供的网页版本的用户界面。
其中,图1和图2仅以两个云平台102和一个用户设备103为例进行说明,并不对通信系统中的云平台个数和用户设备个数进行限定。
可选地,第一API网关为微服务形态的应用,其包括的各个组件均可以部署在网络可达的虚拟机或容器中。
传统的包括混合云的通信系统中,用户设备在访问不同云平台时,需要发出符合不同云平台所支持的格式的不同的API请求,导致用户设备与不同云平台的通信灵活性较低。并且,用户需要熟悉不同云平台支持的API请求的格式,学习成本较高,用户体验较差。
本申请实施例提供的通信系统中,由于新增了第一API网关,对用户设备103与该多个云平台102的API网关1021之间通信的信息进行统一管理,无需用户针对不同的云平台通过用户设备发送不同的API请求,从而减少用户的操作复杂度,提高用户设备与不同云平台的通信灵活性。用户仅需学习第一API网关支持的API请求的格式即可访问第一API网关所管理的各个云平台。因此,降低了用户的学习成本,提高了用户体验。
并且,本申请实施例提供的通信系统中,新增的管理节点还可以实现用户通过用户界面与不同云平台的通信,进一步提高了用户设备与不同云平台的通信灵活性。
图3是本申请实施例提供的一种通信方法的流程示意图,该通信方法可以应用于如图1或图2所示的通信系统中。如图3所示,该方法包括:
S301、第一API网关确定支持的API请求的格式。
在本申请实施例中,第一API网关需要预先确定自身支持的API请求的格式,从而为后续用户的使用提供便利。API请求是用于调用API接口时,用户设备发送的调用请求。API请求的格式与第一API网关部署的资源的格式一致,因此也称资源格式。该资源格式主要包括两部分,一部分是API请求中携带的资源参数的格式(schema,也称规格),简称资源参数格式或API格式;另一部分包括API请求对应的接口调用规则。其中,资源参数指的是数据所属的资源的参数(也称对象)。资源参数格式是该数据的对象的结构定义,即对资源参数的定义。例如,与某一资源的某种调用操作对应的资源参数格式为:资源参数分别为姓名和电话号码,或者,资源参数为CPU个数和/或图形处理器(Graphics Processing Unit,GPU)个数等计算资源规格参数。调用操作的接口调用规则用于指示调用操作对应的接口集(也称API接口集)以及接口集的调用时序。其中,通过同一次API请求调用的接口集的时序相同,通过不同次API请求调用的接口集的时序不同。例如,与某一资源的某种调用操作对应的接口调用规则为:接口集包括API接口1和API接口2,API接口1和API接口2的时序为API接口1在先,API接口2在后。也即是该接口调用规则为:依时序分两次调用API接口1和API接口2。一个接口集中包括至少一个API接口的标识,API接口的标识用于标识一个API接口。可选地,API接口的标识为API接口的接口路由地址,如统一资源标识符(Uniform ResourceIdentifier,URI)。
如图1和图2所示,每个云平台部署有一种或多种资源,第一API网关支持对云平台中的不同资源的不同的调用操作。如此,针对每种资源,用户设备可以执行不同的调用操作。
其中,第一API网关支持的调用操作包括以下任一种:资源的建立操作(也称创建操作或添加操作)、资源的删除操作、资源的修改操作以及资源的查询操作。前述资源的建立操作用于资源的建立,例如云盘、网络、虚拟机或容器的建立;资源的删除操作用于资源的删除,例如云盘、网络、虚拟机或容器的删除;资源的修改操作用于资源的修改,例如修改计算资源的规则、镜像版本或网络带宽等;资源的查询操作用于资源的查询,例如查询资源的运行状态或参数规格等。
则前述第一API网关支持的API请求的格式包括第一API网关支持的多种资源的多种调用操作对应的API请求的格式。第一API网关支持的资源参数格式包括第一API网关支持的多种资源的多种调用操作对应的资源参数格式。第一API网关支持的接口调用规则包括第一API网关支持的多种资源的多种调用操作对应的接口调用规则。
可选地,API请求中携带有对应的调用操作的标识,该调用操作的标识用于标识调用操作。示例的,该调用操作的标识可以通过API请求中的动作(verb)表示。为了便于读者理解,后续调用操作的标识采用调用操作的名称表示。
针对每种资源的每种调用操作,第一API网关需要确定统一的API请求的格式,其包括统一的资源参数格式,以及一个统一的接口调用规则,从而为后续用户的使用提供便利。
本申请实施例分别以以下两方面对第一API网关确定支持的API请求的格式的过程进行说明。
第一方面,第一API网关确定支持的API请求的资源参数格式。该过程包括:
步骤A1、第一API网关获取多个云平台中各个资源的不同调用操作所对应的资源参数格式。
在第一种可选实现方式中,第一API网关可以基于多个云平台中多个资源的资源定义,确定多个云平台中各个资源的不同调用操作所对应的资源参数格式。资源定义用于描述对应的资源,其包括资源所涉及的资源参数。资源定义通常以文本形式存储。第一API网关可以获取多个云平台中多个资源的资源定义,并通过识别资源定义获取多个云平台中各个资源的不同调用操作所对应的资源参数格式。其中,多个云平台的资源定义可以由第一API网关在多个云平台拉取,或者,多个云平台的资源定义可以由第一API网关在存储有多个云平台的资源定义的指定存储空间1提取。其中,多个云平台的资源定义可以由通信系统的管理人员预先确定,输入至指定存储空间1,或者,多个云平台的资源定义可以由该指定存储空间1在多个云平台中拉取并维护。该指定存储空间1可以为一个数据库。
可选地,第一API网关还可以维护该数据库中资源定义的不同版本,通信系统的管理人员也可以对该数据库中的资源定义进行管理,例如资源定义的增加、删除、修改和查询。
在第二种可选实现方式中,多个云平台中各个资源的不同调用操作所对应的资源参数格式可以由通信系统的管理人员预先确定,输入至指定存储空间2,第一API网关在该指定存储空间2提取多个云平台中各个资源的不同调用操作所对应的资源参数格式即可。该指定存储空间2可以为一个数据库。
步骤A2、第一API网关将多个云平台中的同一种资源的同一调用操作所对应的资源参数格式进行整合,得到第一API网关支持的同一种资源的同一调用操作的资源参数格式。
针对每种资源的每种调用操作,第一API网关需要确定一个统一的资源参数格式,从而为后续用户的使用提供便利。可选地,第一API网关将多个云平台中的同一种资源的同一调用操作所对应的资源参数格式进行整合,得到第一API网关支持的同一种资源的同一调用操作的资源参数格式。示例的,第一API网关支持的同一种资源的同一调用操作的资源参数格式为多个云平台中的同一种资源的同一调用操作所对应的资源参数格式的并集。则第一API网关可以求取多个云平台中的同一种资源的同一调用操作所对应的资源参数格式的并集,以得到第一API网关支持的同一种资源的同一调用操作的资源参数格式。
例如,假设多个云平台分别为云平台1至云平台n,n≥2,同一种资源的同一调用操作为资源1的调用操作1,则第一API网关获取云平台1至云平台n的资源1的调用操作1对应的资源参数格式的并集,得到第一API网关支持的资源1的调用操作1的资源参数格式。
示例的,假设n=2,资源1为用于提供磁盘性能优化的虚拟机,调用操作1为查询操作。与云平台1的资源1的调用操作1对应的资源参数格式为:资源参数分别为姓名和电话号码;与云平台2的资源1的调用操作1对应的资源参数格式为资源参数分别为姓名、电话号码和收藏标识(该收藏标识用于指示是否收藏对应的电话号码)。则第一API网关求取云平台1的资源1的调用操作1对应的资源参数格式以及云平台2的资源1的调用操作1对应的资源参数格式的并集,得到的第一API网关支持的资源1的调用操作1对应的资源参数格式,例如,最终获取的资源参数格式为:资源参数分别为姓名、电话号码和收藏标识。
采用求取并集的方式获取资源参数格式,能够保证最终获取的资源参数格式不仅为统一的格式,还能满足各个云平台对资源参数格式的要求。
第二方面,第一API网关确定支持的API请求的接口调用规则。
对于多个云平台中的同一种资源的同一调用操作,第一API网关基于调用操作所对应的接口调用规则,确定同一种资源的同一调用操作对应的第一接口调用规则。
可选地,假设多个云平台中的同一种资源的同一调用操作为第一调用操作,则对于第一调用操作,第一接口调用规则所指示的接口调用次数(等于API请求的个数)小于或等于多个云平台的每个云平台的API网关对应的接口调用规则所指示的接口调用次数。例如,第一调用操作对应的第一接口调用规则满足:
当多个云平台的第一调用操作对应的接口集以及接口集的调用时序均相同,第一调用操作对应的第一接口调用规则为按照调用时序调用接口集中的API接口;当多个云平台的第一调用操作对应的接口集相同,调用时序不同,第一调用操作对应的第一接口调用规则为采用一次API请求调用同一调用操作对应的接口集中的API接口,其中,由于第一调用操作对应的接口集相同,因此该一次API请求可以携带接口集中API接口的标识(如uri),也可以不携带接口集中API接口的标识,只携带指示调用接口集中全部API接口的指示信息;当多个云平台的第一调用操作对应的接口集不同,第一调用操作对应的第一接口调用规则为采用一次API请求调用该同一调用操作对应的接口集中的API接口,其中,由于第一调用操作对应的接口集不同,一次API请求无法统一携带不同的接口集中API接口的标识,因此该一次API请求可以不携带接口集中API接口的标识,只携带指示调用接口集中全部API接口的指示信息,从而保证针对不同云平台,都能实现接口集中全部API接口的调用。
例如,多个云平台分别为云平台1至云平台n,n≥2,同一种资源的同一调用操作为资源2的调用操作2,则第一API网关基于云平台1至云平台n的资源2的调用操作2对应的接口调用规则,确定第一API网关支持的资源2的调用操作2的第一接口调用规则。
假设n=2,资源2为用于提供GPU加速服务的虚拟机,调用操作2为建立操作。若与云平台1的资源2的调用操作2对应的接口调用规则为依次调用API接口1和API接口2,也即是接口集包括:API接口1和API接口2,调用时序为API接口1在先,API接口2在后;与云平台2的资源2的调用操作2对应的接口调用规则为依次调用API接口1和API接口2。则第一API网关支持的资源2的调用操作2对应的接口调用规则为:依次调用API接口1和API接口2。
若与云平台1的资源2的调用操作2对应的接口调用规则为依次调用API接口2和API接口1,也即是接口集包括:API接口1和API接口2,调用时序为API接口2在先,API接口1在后;与云平台2的资源2的调用操作2对应的接口调用规则为依次调用API接口1和API接口2。则第一API网关支持的资源2的调用操作2对应的接口调用规则为:采用一次API请求调用API接口1和API接口2。
与云平台1的资源2的调用操作2对应的接口调用规则为依次调用API接口1、API接口2和接口3,也即是接口集包括:API接口1和API接口2,调用时序为API接口1在先,API接口2居中,接口3最后;与云平台2的资源2的调用操作2对应的接口调用规则为依次调用API接口1和API接口2。则第一API网关支持的资源2的调用操作2对应的接口调用规则为:采用一次API请求调用该调用操作2对应的接口集中的API接口。
由于对于不同云平台的不同资源的不同调用操作,对应的接口调用规则不同,若统一的第一接口调用规则相较于各个云平台的接口调用规则变化较大,在后续第一接口调用规则实际使用时,容易产生较多的存储及计算开销。因此采用前述第一接口调用规则,在多个云平台的第一调用操作对应的接口集以及接口集的调用时序均相同时,第一调用操作对应的第一接口调用规则为按照调用时序调用接口集中的API接口,也即是第一调用操作对应的第一接口调用规则相对于多个云平台的第一调用操作对应的接口调用规则不变,从而可以减少第一接口调用规则相较于各个云平台的接口调用规则的变化,进而减少第一接口调用规则实际使用时的存储及计算开销。
值得说明的是,第一调用操作对应的第一接口调用规则还可以有其他设置方式。例如,对于同一种资源,第一接口调用规则均为采用一次API请求调用一次调用操作对应的接口集中的API接口。如此,对于同一种资源,无论是哪种调用操作,对于一次调用操作均采用一次API请求进行接口集中的API接口的调用。从而可以将同一种资源的接口调用规则进行统一,减少用户的学习成本。
又例如,对于同一云平台中的不同资源,第一接口调用规则均为采用一次API请求调用一次调用操作对应的接口集中的API接口。如此,对于同一云平台,无论是哪种资源,以及哪种调用操作,对于一次调用操作均采用一次API请求进行接口集中的API接口的调用。从而可以将同一云平台的不同资源的接口调用规则进行统一,减少用户的学习成本。
再例如,对于多个云平台中的不同资源,第一接口调用规则均为采用一次API请求调用一次调用操作对应的接口集中的API接口。如此,无论是哪种资源,以及哪种调用操作,对于一次调用操作均采用一次API请求进行接口集中的API接口的调用。从而可以将不同云平台的不同资源的接口调用规则进行统一,减少用户的学习成本。
需要说明的是,前述第一方面和第二方面中,多个云平台部署的资源提供的服务相同或相似,第一API网关需要预先在多个云平台中确定同一种资源,也即是资源类型相同的资源,进而进行同一种资源的资源格式的整合。可选地,资源类型是按照资源所提供的服务划分的,例如,分为GPU加速、磁盘性能优化或网速带宽优化等类型,第一API网关在多个云平台中确定资源类型相同的资源有以下几种可选实现方式:
在第一种可选实现方式中,同一种资源为资源定义的相似度大于相似度阈值的资源。例如,相似度阈值的取值范围为80%至90%。第一API网关可以将多个云平台中资源定义的相似度大于相似度阈值的资源确定为同一种资源。
在前述第一种可选实现方式中,第一API网关可以采用聚类算法在多个云平台中确定资源类型相同的资源。示例的,第一API网关可以对多个云平台中的部署的资源的资源定义执行聚类算法。第一API网关也可以采用其他算法在多个云平台中确定资源类型相同的资源。本申请实施例对此不做限定。
在第二种可选实现方式中,同一种资源是预先设定的。
前述两方面,第一API网关确定了自身支持的API请求的格式(即资源格式)后,可以将确定的资源格式存储在指定存储空间3中。该指定存储空间3可以为一个数据库。
前述两方面是以第一API网关自动确定自身支持的API请求的格式为例进行说明,本申请实施例中,第一API网关支持的资源格式还可以由通信系统的管理人员预先确定,输入至指定存储空间3,第一API网关在该指定存储空间3提取所需的资源格式即可。
可选地,存储在指定存储空间3的资源格式所对应的API接口需要在该指定存储空间3注册,注册后的API接口是第一API网关可以调用的接口,未注册的API接口,由于其所属云平台的资源格式未被统一,因此不能被第一API网关调用。存储在指定存储空间3的资源格式可以由管理人员手动调整,例如添加、修改或删除。
值得说明的是,本申请实施例中指定存储空间1、2和3可以相同也可以不同,本申请实施例对此不做限定。
S302、第一API网关发布第一API网关支持的API请求的格式。
在一种可选方式中,第一API网关可以向用户设备的客户端推送第一API网关支持的API请求的格式,以实现该API请求的格式的发布;在另一种可选方式中,第一API网关可以通过用户界面呈现该第一API网关支持的API请求的格式。例如通过前述管理节点的用户界面呈现API请求的格式。第一API网关通过发布自身支持的API请求的格式,实现第一API网关与用户设备对API请求的格式的预先约定。
可选地,前述第一API网关支持的API请求的格式的表示方式有多种。在一种可选方式中,其可以通过软件模型的方式表示;在另一种可选方式中,其可以通过软件模板的方式表示;在又一种可选方式中,其还可以通过表格或者图形的方式表示。本申请实施例对API请求的格式的表示方式不做限定。示例的,前述API请求的格式可以参照行业标准格式设置,例如openAPI2.0标准的格式。
S303、用户设备向第一API网关发送第一API请求。
第一API请求的格式为第一API网关支持的格式。用户设备可以通过多种方式向第一API网关发送第一API请求。例如,在第一种方式中,用户设备安装有客户端,第一API请求由客户端发送给第一API网关,也即是,用户设备通过客户端发送第一API请;在第二种方式中,用户设备通过管理节点提供的用户界面向管理节点发送第一API请求,第一API请求由管理节点在用户界面接收并发送给第一API网关。
S304、第一API网关在接收到第一API请求后,在多个云平台中确定用于响应第一API请求的目标云平台。
与前述S303对应的,第一API网关接收到第一API请求的方式有多种。与S303的第一种方式对应的,第一API网关接收用户设备通过客户端发送的第一API请求;与S303的第二种方式对应的,第一API网关接收管理节点发送的第一API请求。
第一API网关在多个云平台中确定用于响应第一API请求的目标云平台的方式有多种。本申请实施例以以下几种可选方式为例进行说明:
第一种可选方式,目标云平台是基于管理节点发送的选择指令确定的,该选择指令用于指示目标云平台,该选择指令是管理节点通过用户界面接收的。相应的,第一API网关在接收到选择指令后,基于该选择指令确定目标云平台。例如,管理节点通过用户界面向用户设备呈现多个云平台的标识,用户若想对某一云平台中的资源进行操作,可以通过用户设备在该用户界面进行选择操作,从而触发管理节点生成相应的选择指令,该选择指令携带有用户选择的目标云平台的标识,管理节点将该选择指令发送至第一API网关,该第一API网关接收到选择指令后,提取该目标云平台的标识以确定目标云平台。其中,云平台的标识可以为云平台的名称,例如“AA云”或“BB云”,也可以是云平台中API网关的标识,如API网关的地址。
可选地,管理节点可以在第一API网关接收第一API请求后,呈现多个云平台的标识;也可以在接收到用户设备发送的访问指令后,呈现该多个云平台的标识。
第二种可选方式,目标云平台是基于客户端发送的选择指令确定的,该选择指令用于指示目标云平台。相应的,第一API网关在接收到选择指令后,基于该选择指令确定目标云平台。例如,用户若想对某一云平台中的资源进行操作,可以通过用户设备中运行的客户端生成相应的选择指令,该选择指令携带有用户选择的目标云平台的标识,客户端将该选择指令发送至第一API网关,第一API网关接收到选择指令后,提取该目标云平台的标识以确定目标云平台。
可选地,客户端可以在第一API网关收到第一API请求后,发送该选择指令,也可以在第一API网关收到第一API请求之前,发送该选择指令,本申请实施例对此不做限定。
第三种可选方式,第一API请求包括目标云平台的标识。相应的,第一API网关在接收到第一API请求后,基于该第一API请求确定目标云平台。
值得说明的是,第一API网关在接收到第一API请求后,可以先对该第一API请求进行鉴权,在鉴权成功后,再确定目标云平台。若鉴权失败,则向用户设备发送指示鉴权失败的API响应,或者停止动作。示例的,参考S302,第一API网关可以检测第一API请求所需调用的API接口是否为已注册接口,若第一API请求所需调用的API接口不是已注册接口,确定鉴权失败;若第一API请求所需调用的API接口是已注册接口,确定鉴权成功。或者,第一API网关可以检测第一API请求所携带的用户账号是否具有访问第一API网关的权限(或者是否为合法账号),若第一API请求所携带的用户账号不具有访问第一API网关的权限(或者不为合法账号),确定鉴权失败;若第一API请求所携带的用户账号具有访问第一API网关的权限(或者为合法账号),确定鉴权成功。
第一API网关通过对API请求鉴权,可以保证通信系统的安全性,减少不必要的操作。
S305、第一API网关基于第一API请求确定第二API请求,该第二API请求基于第一API请求确定,且第二API请求的格式为第二API网关支持的格式,该第二API网关为目标云平台的API网关。
参考S301和S302,API请求包括资源参数数据。由于第一API网关发布的是自身支持的API请求的格式,因此用户通过用户设备发送的第一API请求是按照第一API网关支持的资源参数格式发送的,而访问目标云平台时,资源参数数据遵循目标云平台的API网关支持的资源参数格式。
假设第一API请求包括第一资源参数数据,第二API请求包括第二资源参数数据,第一资源参数数据的格式为第一API网关支持的资源参数格式,第一资源参数数据的格式为第二API网关支持的资源参数格式,则第二资源参数数据是第一API网关将第一资源参数数据进行资源参数格式转化得到的。
其中,第一API网关可以通过多种方式对第一资源参数数据进行资源参数格式转化。本申请实施例以以下两种可选方式为例进行说明:
在第一种可选方式中,参考S301中的第一方面,第一API网关在确定支持的API请求的资源参数格式后,建立多个云平台中每个云平台的API网关支持的资源参数格式与第一API网关支持的资源参数格式的第一对应关系。第一API网关在接收到第一API请求后,基于第二API网关的标识查询该第一对应关系得到第二API网关支持的资源参数格式;并基于该第二API网关支持的资源参数格式,将第一API请求包括的第一资源参数数据转义得到第二资源参数数据。
该第一对应关系可以有多种表示方式。例如,该第一对应关系可以包括与多个调用操作一一对应的多个子对应关系,每个子对应关系用于记录对应的调用操作下,资源的标识、云平台的API网关支持的资源参数格式与第一API网关支持的资源参数格式的对应关系。
又例如,该第一对应关系可以包括与多个资源的标识一一对应的多个子对应关系,每个子对应关系用于记录对应的资源的标识下,调用操作的标识、云平台的API网关支持的资源参数格式与第一API网关支持的资源参数格式的对应关系。示例的,假设该第一对应关系包括与多个资源的标识一一对应的多个子对应关系,与某一资源的标识对应的子对应关系可以如表1所示。该表1记录有该某一资源的标识下,调用操作的标识、云平台的API网关支持的资源参数格式与第一API网关支持的资源参数格式的对应关系,其中,调用操作的标识采用调用操作的名称表示,云平台的API网关支持的资源参数格式可以采用API网关的标识与资源参数格式的标识表示。则由表1可知,多个云平台中有两个云平台部署该某一资源的标识所对应的资源,该两个云平台的API网关的标识分别为1和2,第一API网关的标识为0。对于建立操作,API网关1的资源参数格式X1与第一AP1网关0的资源参数格式M1对应;对于建立操作,API网关2的资源参数格式X2与第一AP1网关0的资源参数格式M1对应;对于删除操作,API网关1的资源参数格式Y1与第一AP1网关0的资源参数格式M2对应;对于建立操作,API网关2的资源参数格式Y2与第一AP1网关0的资源参数格式M2对应。对于其他调用操作,对应关系参考表1,本申请实施例对此不做赘述。
表1
再例如,该第一对应关系可以包括调用操作的标识、资源的标识、云平台的API网关支持的资源参数格式与第一API网关支持的资源参数格式的对应关系。
在第二种可选方式中,参考S301中的第一方面,第一API网关在确定支持的API请求的资源参数格式后,基于多个云平台中每个云平台的API网关支持的资源参数格式,以及第一API网关支持的资源参数格式,建立转义模型,该转义模型用于在接收API网关的标识以及资源参数数据后,输出与接收的API网关的标识对应的资源参数数据。第一API网关在接收到第一API请求后,将第一API请求包括的第一资源参数数据以及第二API网关的标识(或目标云平台的标识)输入该转义模型,将该转义模型输出的资源参数数据确定为第二资源参数数据。
参考步骤A1,若第一API网关支持的同一种资源的同一调用操作的资源参数格式为多个云平台中的同一种资源的同一调用操作所对应的资源参数格式的并集。如此,第一资源参数格式包括第二资源参数格式,也即第二参数资源格式属于第一资源参数格式,第二资源参数数据可能包括第二API网关不需要的数据,即无效数据,这些无效数据是与第二参数资源格式不对应的数据。则在一种可选方式中,第一API网关可以将第二参数数据中的无效数据剔除,得到更新后的第二参数数据,并生成包括该更新后的第二参数数据的第二API请求。例如,第一资源参数格式为:资源参数分别为姓名、电话号码和年龄。第二资源参数格式为:资源参数分别为姓名和电话号码。由于与年龄对应的数据与第二资源参数格式不对应,则第一资源参数数据中与年龄对应的数据为无效数据。
在另一种可选方式中,第一API网关可以生成第二API请求,该第二API请求包括第二参数数据,在第二API网关在接收到第二API请求后,将第二参数数据中的无效数据剔除,得到更新后的第二参数数据。
S306、第一API网关向第二API网关发送第二API请求。
其中,第二API请求由第一API网关基于第二接口调用规则发送,第二接口调用规则是第二API网关支持的接口调用规则,第二接口调用规则由第一API网关基于第一API网关支持的第一接口调用规则以及第一API请求确定。第一API网关按照第二接口调用规则向第二API网关发送第二API请求,可以保证发送的第二API请求遵循第二API网关支持的接口调用规则,从而保证API接口的有效调用。
在本申请实施例中,第一API网关可以通过多种方式确定第二接口调用规则。示例的,请参考前述S301的第二方面,第一API网关在确定支持的API请求的接口调用规则后,建立多个云平台中每个云平台的API网关支持的接口调用规则与第一API网关支持的接口调用规则的第二对应关系。第一API网关在接收到第一API请求后,基于第二API网关的标识查询该第二对应关系得到第二API网关对应的第二接口调用规则。
该第二对应关系可以有多种表示方式。例如,该第二对应关系可以包括与多个调用操作一一对应的多个子对应关系,每个子对应关系用于记录对应的调用操作下,资源的标识、云平台的API网关支持的接口调用规则与第一API网关支持的接口调用规则的对应关系。
又例如,该第二对应关系可以包括与多个资源的标识一一对应的多个子对应关系,每个子对应关系用于记录对应的资源的标识下,调用操作的标识、云平台的API网关支持的接口调用规则与第一API网关支持的接口调用规则的对应关系。示例的,假设该第二对应关系包括与多个资源的标识一一对应的多个子对应关系,与某一资源的标识对应的子对应关系可以如表2所示。该表2记录有该某一资源的标识下,调用操作的标识、云平台的API网关支持的接口调用规则与第一API网关支持的接口调用规则的对应关系,其中,调用操作的标识采用调用操作的名称表示,云平台的API网关支持的接口调用规则可以采用API网关的标识与接口调用规则的标识表示。则由表2可知,多个云平台中有两个云平台部署该某一资源的标识所对应的资源,该两个云平台的API网关的标识分别为1和2,第一API网关的标识为0。对于建立操作,API网关1的接口调用规则A1与第一AP1网关0的接口调用规则E1对应;对于建立操作,API网关2的接口调用规则A2与第一AP1网关0的接口调用规则E1对应;对于删除操作,API网关1的接口调用规则B1与第一AP1网关0的接口调用规则E2对应;对于建立操作,API网关2的接口调用规则B2与第一AP1网关0的接口调用规则E2对应。对于其他调用操作,对应关系参考表2,本申请实施例对此不做赘述。
表2
再例如,该第二对应关系可以包括调用操作的标识、资源的标识、云平台的API网关支持的接口调用规则与第一API网关支持的接口调用规则的对应关系。
S307、第二API网关向第一API网关发送第二API响应。
第二API网关接收到第二API请求后,按照第二API请求进行目标云平台中的API接口的调用,在完成与第二API请求对应的接口调用后,向第一API网关发送第二API响应。
值得说明的是,第二API网关在接收到第二API请求后,可以先对该第二API请求进行鉴权,在鉴权成功后,再执行接口调用动作。若鉴权失败,则向第一API网关发送指示鉴权失败的API响应,或者停止动作。示例的,第二API网关可以检测第二API请求所需调用的API接口是否为目标云平台中已注册的接口,若第二API请求所需调用的API接口不是已注册接口,确定鉴权失败;若第二API请求所需调用的API接口是已注册接口,确定鉴权成功。或者,第二API网关可以检测第二API请求所携带的用户账号是否具有访问第二API网关的权限(或者是否为合法账号),若第二API请求所携带的用户账号不具有访问第二API网关的权限(或者不为合法账号),确定鉴权失败;若第二API请求所携带的用户账号具有访问第二API网关的权限(或者为合法账号),确定鉴权成功。
第二API网关通过对API请求鉴权,可以保证通信系统的安全性,减少不必要的操作。
S308、第二API网关基于第二API响应,向用户设备发送第一API响应。
在本申请实施例中,第一API请求的发送端为用户设备,与前述S303对应的,第一API网关将第一API请求发送至用户设备运行的客户端,或者,发送至管理节点,由管理节点转发给用户设备。
请参考前述S302,由于第一API网关发布的是自身支持的API请求的格式,因此用户通过用户设备发送的第一API请求是按照第一API网关支持的第一接口调用规则发送的,第一API网关在返回相应的API响应时,需要遵循相同的接口调用规则,即按照第一接口调用规则发送第一API响应。
参考S302的第二方面,假设多个云平台中的同一种资源的同一调用操作为第一调用操作,对于第一调用操作,第一接口调用规则所指示的接口调用次数小于或等于多个云平台的每个云平台的API网关对应的接口调用规则所指示的接口调用次数。因此,第一API请求的个数小于或等于第二API请求的个数。而每个API网关对于接收到的API请求是采用一问一答式的响应方式进行响应,也即是,在每接收到一个API请求,回复一个API响应。则S303至S308中,第一API请求的个数等于第一API响应的个数;第二API请求的个数等于第二API响应的个数。
示例的,当第一接口调用规则和第二接口调用规则相同时,第一API网关在每次接收到一个第一API请求后,向第二API网关发送一个第二API请求,在每次接收第二API网关返回的一个第二API响应后,向第一API请求的发送端发送一个第一API响应。
例如,第一API网关和第二API网关支持的资源2的调用操作2对应的接口调用规则均为:依次调用API接口1和API接口2。则第一API网关在接收到用于调用API接口1的第一API请求后,向第二API网关发送用于调用API接口1的第二API请求,在接收第二API网关返回的API接口1对应的第二API响应后,向第一API请求的发送端发送API接口1对应的第一API响应;第一API网关在接收到用于调用API接口2的第一API请求后,向第二API网关发送用于调用API接口2的第二API请求,在接收第二API网关返回的API接口2对应的第二API响应后,向第一API请求的发送端发送API接口2对应的第一API响应。
当第一API请求的个数小于第二API请求的个数时,第一API网关在每次接收到一个第一API请求后,按照第二接口调用规则依次执行至少两次调用流程直至获取的第二API响应能够生成与第一API请求对应的第一API响应,再按照第一接口调用规则向第一API请求的发送端发送第一API响应。其中,该调用流程包括:向第二API网关发送第二API请求,接收第二API网关发送第二API响应。
例如,第二接口调用规则为依次调用API接口1和API接口2,第一接口调用规则为采用一次API请求调用API接口1和API接口2。则第一API网关在接收到用于调用API接口1和API接口2的第一API请求后,向第二API网关发送用于调用API接口1的第二API请求,在接收第二API网关返回的API接口1对应的第二API响应后,向第二API网关发送用于调用API接口2的第二API请求,在接收第二API网关返回的API接口2对应的第二API响应后,向第一API请求的发送端发送API接口1和API接口2对应的第一API响应(即第一API请求对应的第一API响应)。
可选地,API响应包括资源参数数据。第二API发送的第二API响应包括的资源参数数据遵循目标云平台的API网关支持的资源参数格式。而第一API网关发布的是自身支持的API请求的格式,因此用户学习的是第一API网关支持的第一资源参数格式,若第一API网关直接将第二API响应包括的资源参数数据通过第一API响应反馈给用户,用户还需要再学习第二API网关支持的资源参数格式,因此会增加用户的学习成本。本申请实施例中,第一API网关还可以对第二API网关发送的第二API响应中的资源参数数据进行转义,得到第一API响应中的资源参数数据,如此可以减少用户学习成本。
假设第一API响应包括第三资源参数数据,第二API响应包括第四资源参数数据,第三资源参数数据的格式为第一API网关支持的资源参数格式,第三资源参数数据的格式为第二API网关支持的资源参数格式,则第三资源参数数据是第一API网关将第四资源参数数据进行资源参数格式转化得到的。
其中,第一API网关可以通过多种方式对第四资源参数数据进行资源参数格式转化。本申请实施例以以下两种可选方式为例进行说明:
在第一种可选方式中,参考S301中的第一方面,第一API网关在确定支持的API请求的资源参数格式后,建立多个云平台中每个云平台的API网关支持的资源参数格式与第一API网关支持的资源参数格式的第一对应关系。第一API网关在接收到第二API响应后,基于第一API网关的标识查询该第一对应关系得到第一API网关支持的资源参数格式;并基于该第一API网关支持的资源参数格式,将第二API响应包括的第四资源参数数据转义得到第三资源参数数据。
该第一对应关系的表示方式和转义过程可以参考S305,本申请实施例对此不做赘述。
在第二种可选方式中,第一API网关在确定支持的API请求的资源参数格式后,基于多个云平台中每个云平台的API网关支持的资源参数格式,以及第一API网关支持的资源参数格式,建立转义模型,该转义模型用于在接收API网关的标识以及资源参数数据后,输出与接收的API网关的标识对应的资源参数数据。第一API网关在接收到第二API响应后,将第二API响应包括的第四资源参数数据以及第一API网关的标识输入该转义模型,将该转义模型输出的资源参数数据确定为第三资源参数数据。
本申请实施例中,由于第一API网关在接收到第一API请求后,确定目标云平台所支持格式的第二API请求,并将该第二API请求发送至目标云平台的第二API网关,用户仅需采用第一API网关所支持格式的API请求访问API统一网关即可实现对多个云平台中的目标云平台的访问,降低了用户的操作复杂度,提高了用户设备与不同云平台的通信灵活性。
相关技术中,用户使用多个云平台的资源时,需要重复学习需要调用API接口的多个云平台开放的资源格式,并进行重复编码实现该多个云平台的API接口的调用。
而本申请实施例,由于新增了第一API网关,为多个云平台的API接口调用提供了统一的入口,因此,面向用户的是第一API网关,用户仅需按照第一API网关支持的资源格式进行编程或者通过管理节点的用户界面触发调用操作,减少了用户对于相同或相似资源(即前述的同一种资源)的重复学习和配置成本,提高了用户体验。
一套用户系统或一个应用可能会使用多个云平台的资源分层部署。相关技术中,用户需要通过编程的方式在该多个云平台分别使用对应的资源,以实现用户系统或应用的分词部署。
而本申请实施例,由于第一API向用户提供了统一的资源格式,本申请实施例提供的通信方法还可以用于跨云平台的资源编排。用户在一个蓝图里编排生成统一的资源模板,用户仅需在该资源模板中设置用户系统或应用的各资源部署在哪个云平台(即前述目标云平台),即可通过运行设置好的资源模板在多个云平台部署实例,设置好目标云平台的资源模板即为前述客户端。如此能够有效减少用户的操作,提高资源部署效率。
可选地,第一API网关除了前述进行API请求的格式整合功能,还支持其他功能,例如第一API网关支持服务信息的呈现功能,如图4所示,本申请实施例提供的通信方法还包括:
S309、第一API网关获取云平台的资源的服务信息,该服务信息包括服务能力信息和服务价格中的至少一种。
其中,服务信息为与资源所提供的服务相关的信息。服务能力信息用于反映资源提供服务的能力的大小,该服务能力信息包括一种或多种反映服务能力的参数值,或者该服务能力信息可以为服务能力指标值,该服务能力指标值可以基于前述参数值确定,也可以是预设值。例如,对于一个用于提供GPU加速服务的资源,其服务能力信息包括CPU个数、内存个数、内存大小(例如4G内存)、系统架构、内网收发能力信息和GPU指示符中的一个或多个,内网收发能力信息用于反映资源在内部网络的信息收发能力,例如该信息为每秒发包数量(page per second,PPS),假设内网收发能力信息指示内网收发包100万以上,指的是内部网络在每秒发包数量在100万以上;系统架构用于指示资源所支持的系统架构,该系统架构可以为IOS架构、安卓架构和鲲鹏架构中的至少一种,例如可以采用数值0、1和2分别表示前述三种架构;该GPU指示符用于指示对应资源是否带有GPU,或者带有的GPU个数,例如可以采用数值0、1分别表示带有GPU和不带有GPU;服务价格用于反映资源提供服务的价格。
第一API网关具有识别各个云平台中资源的服务信息的能力。第一API网关获取服务信息的时机可以有多种情况。本申请实施例以以下三种情况为例进行说明:
在第一种情况下,第一API网关在通过用户界面接收到服务信息检索请求后,获取云平台的资源的服务信息。请参考图2,管理节点可以向用户设备提供用户界面,用户可以通过用户设备在该用户界面进行检索操作。相应的,管理节点在该用户界面接收服务信息检索请求后,将该服务信息检索请求发送至第一API网关,第一API网关基于该服务信息检索请求获取云平台的资源的服务信息。其中,服务信息检索请求包括对检索的云平台的资源要求,包括对资源的功能、资源格式和资源性能等的要求,第一API网关获取服务信息的云平台的资源需要满足该服务信息检索请求的要求,也即是与该服务信息检索请求匹配。
在一种可选示例中,管理节点提供的用户界面50可以如图5所示,该用户界面50包括检索框501,用户可以在该检索框501中输入关键字以进行检索操作。管理节点接收该检索操作所触发的服务信息检索请求,该服务信息检索请求包括该关键字,第一API网关可以基于服务信息检索请求,获取与该关键字匹配的资源的服务信息。例如,该关键字为:“GPU加速、4核CPU”,则第一API网关获取用于提供GPU加速服务的具有4核CPU的资源的服务信息。
在另一种可选示例中,管理节点提供的用户界面60可以如图6所示,该用户界面60包括一个或多个提示选项601,该一个或多个提示选项601可以包括资源类别提示选项6011,用于提示多个云平台中部署的资源的类别,该类别可以是资源提供的服务类别,如GPU加速、磁盘性能优化或网速带宽优化等;该类别也可以是资源的自身属性类别,如虚拟机或容器等。该一个或多个提示选项601还可以包括反映服务能力的参数的提示选项6012,如CPU个数选项或内存个数选项等。每个提示选项601设置一下拉按钮,用户在需要在某一提示选项601提供的提示信息中选择时,通过点击该下拉按钮来触发与该某一提示选项呈现对应的提示信息。用户在一个或多个提示选项对应的提示信息中选择后,触发检索按钮,以进行检索操作。相应的,管理节点接收该检索操作所触发的服务信息检索请求,该服务信息检索请求包括该用户选择的提示信息,第一API网关可以基于服务信息检索请求,获取与该服务信息检索请求匹配的资源的服务信息。例如,该服务信息检索请求指示:资源类别为GPU加速,CPU个数为4,内存个数为8。
在又一种可选示例中,管理节点可以同时在用户界面呈现检索框和一个或多个提示选项。具体的呈现方式参考前述两种可选示例。
在第二种情况下,第一API网关在接收到第一API请求后,获取云平台的资源的服务信息。该云平台的资源的服务信息与该第一API请求匹配。例如,该第一API请求包括资源的标识,第一API网关获取的资源的服务信息为该资源的标识所对应的资源的服务信息。例如,该资源的标识为“GPU加速”,第一API网关获取的资源的服务信息为多个云平台中用于提供GPU加速服务的资源的服务信息。
第三种情况,第一API网关周期性获取多个云平台的资源的能力信息,该多个云平台可以是第一API网关管理的所有云平台,在每次获取该多个云平台的资源的能力信息后,第一API网关将获取的云平台的资源的能力信息存储在指定存储空间4。
S310、第一API网关通过用户界面呈现云平台的资源的能力信息。
可选地,第一API网关将获取的云平台的资源的能力信息发送至管理节点,由管理节点通过用户界面呈现该云平台的资源的能力信息。
可选地,当呈现的资源的能力信息包括与多个资源一一对应的多组能力信息时,每组能力信息可以以列表的方式呈现。
由S309和S310可知,第一API网关的服务信息的呈现功能,可以将云平台的资源的能力信息呈现给用户,便于用户了解资源的能力信息。
由于多个云平台的资源能力虽然大同小异,但仍存在一定的差异化。相关技术中,用户若需了解不同云平台的资源的能力,需要通过查询操作逐个云平台查询资源是否满足自身需求。
本申请实施例中,对于S309的第一种情况,第一API网关在接收到服务信息检索请求后,获取云平台的资源的服务信息,并通过用户界面呈现获取的服务信息,能够实现通过用户界面进行服务信息的检索功能,从而便于用户按需检索,得到自身想要获取的服务信息。用户无需逐个云平台查询资源是否满足自身需求,减少用户的操作复杂度,提高用户体验。可选地,S309和S310可以在前述S303之前执行。则在S303中,用户可以基于检索结果,通过用户设备向第一API网关发送第一API请求。
对于S309的第二种情况,第一API网关在接收到第一API请求后,获取云平台的资源的服务信息,并通过用户界面呈现获取的服务信息,能够实现在用户进行接口调用时,为用户提供满足需求的资源的服务信息,从而便于用户了解资源的服务信息,从而更好地进行接口调用。可选地,S309和S310可以在前述S303之后执行。
对于S309的第三种情况,第一API网关可以在检测到用户通过用户界面访问用于进行能力信息呈现的指定页面的操作后,在指定存储空间4获取最新的云平台的资源的能力信息,并通过该指定页面呈现最新的云平台的资源的能力信息。当呈现最新的云平台的资源的能力信息是第一API网关管理的多个云平台时,可以便于用户对第一API网关管理的云平台的资源的能力信息进行整体的了解。
需要说明的是,前述能力信息可以是实时的能力信息,即该能力信息是动态可变的;该能力信息也可以是额定的能力信息,该额定的能力信息是固定的,用于反映资源的能力上限。当该能力信息是实时的能力信息时,第一API网关能够通过呈现资源的实时的能力信息,实现用户对当前的能力信息的及时准确的了解,提高用户体验。
可选地,前述管理节点还可以支持资源配额分配功能,管理节点呈现多个云平台的统一用户界面,用户可以在该用户界面进行资源配合分配,管理节点在接收到分配指令后,进行资源配额的分配。例如,用户需要在云平台1建立虚拟机1,在云平台2建立虚拟机2,用户通过该用户界面分配该两个虚拟机的资源配额。示例的,为虚拟机1分配4核CPU和2G内存;为虚拟机2分配8核CPU和4G内存。
可选地,前述管理节点还可以支持资源使用权限设置功能,管理节点呈现多个云平台的统一用户界面,用户可以在该用户界面进行资源使用权限的设置,管理节点在接收到权限指示指令后,进行资源使用权限的设定。例如,前述用户账号为M1的用户具有虚拟机1的使用权限;用户账号为M2的用户具有虚拟机2的使用权限。
可选地,第一API网关还支持跨云平台的资源迁移功能。如图7所示,本申请实施例提供的通信方法还包括:
S311、第一API网关将待迁移资源的资源参数数据的资源参数格式转化为目的云平台的API网关支持的资源参数格式。
第一API网关在进行资源迁移时,先确定待迁移资源所属的源云平台,以及所需迁移到的目的云平台,然后在源云平台获取待迁移资源的资源参数数据,将该资源参数数据的资源参数格式转化为目的云平台的API网关支持的资源参数格式。
其中,第一API网关可以通过多种方式确定源云平台和目的云平台。在一种可选示例中,第一API网关接收资源迁移请求,该资源迁移请求指示源云平台以及目的云平台;在另一种可选示例中,源云平台和目的云平台为预先设定的云平台。
第一API网关可以通过多种方式将该资源参数数据的资源参数格式转化为目的云平台支持的资源参数格式。在第一种可选示例中,第一API网关可以先将资源参数数据的资源参数格式转化为第一API网关支持的资源参数格式,此转化过程称为第一次转化,再将转化后的资源参数数据的资源参数格式转化为目的云平台支持的资源参数格式,此转化过程称为第二次转化。参考S305,第一API网关预先建立多个云平台中每个云平台的API网关支持的资源参数格式与第一API网关支持的资源参数格式的第一对应关系,对于该待迁移资源,第一API网关基于该第一对应关系,确定第一API网关支持的资源参数格式与源云平台支持的资源参数格式的对应关系1,以及第一API网关支持的资源参数格式与目的云平台支持的资源参数格式的对应关系2。第一API网关基于对应关系1完成前述第一次转化,基于对应关系2完成前述第二次转化。
在第二种可选示例中,第一API网关可以直接将资源参数数据的资源参数格式转化为目的云平台支持的资源参数格式。参考第一种可选示例,对于该待迁移资源,第一API网关基于该第一对应关系,确定第一API网关支持的资源参数格式与源云平台支持的资源参数格式的对应关系1,以及第一API网关支持的资源参数格式与目的云平台支持的资源参数格式的对应关系2,再基于对应关系1和对应关系2确定源云平台支持的资源参数格式与目的云平台支持的资源参数格式的对应关系3。第一API网关基于对应关系3完成将资源参数数据的资源参数格式转化为目的云平台支持的资源参数格式的过程。
S312、第一API网关将转化后的资源参数数据发送至目的云平台的API网关。
第一API网关将转化后的资源参数数据发送至目的云平台的API网关,目的云平台的API网关基于转化后的资源参数数据建立新的资源,从而实现了资源参数数据从源云平台到目的云平台的迁移。需要说明的是,该目的云平台与前述目标云平台可以相同也可以不同,本申请实施例对此不做限定。
相关技术中,用户若需要将原有的部署于平台1的资源迁移至平台2,需要先将平台1的资源删除,再通过重新编程的方式在云平台2上建立新的资源。
而本申请实施例中,若用户需要进行跨云平台的资源迁移,仅需要通过资源迁移请求或其他方式指定源云平台和目的云平台,第一API网关即可实现资源跨云平台的自动迁移,无需用户再重新编程,减少操作复杂度,提高用户体验。
需要说明的是,对资源进行跨云平台迁移后,源云平台中资源在提供服务时产生的业务数据,还需要用户控制源云平台发送至目的云平台,以实现资源和业务数据的完整迁移。
为了便于读者理解,本申请实施例假设以以下示例进行说明:用户X需要创建一个4核CPU、8G内存、带有GPU的虚拟机,其通过在用户设备运行管理节点对应的网页客户端来访问管理节点提供的用户界面,该用户界面可以如图5或图6所示,用户通过该用户界面进行检索操作,触发的服务信息检索请求“4核CPU、8G内存、带有GPU”。第一API网关获取满足该服务信息检索请求的要求的资源,并获取其服务信息,第一API网关获取的资源的服务信息通过管理节点的用户界面呈现。例如以表格的形成呈现资源的服务信息(该过程可以参考前述S309和S310)。用户可以基于多个资源的服务信息,确定目标云平台。可选地,用户界面中还呈现多个资源所属云平台的标识(例如云平台的名称),用户通过网页客户端在用户界面选择目标云平台,相应的,管理节点接收选择指令,并将指示目标云平台的选择指令发送给第一API网关。之后,用户设备通过客户端或者管理节点按照第一接口调用规则向第一API网关发送第一API请求,该第一API请求指示的调用操作为资源的建立操作。第一API网关接收第一API请求后将第一API请求中的第一资源数据进行资源参数格式转化,得到第二资源参数数据,并按照第二接口调用规则将包括第二参数数据的第二API请求发送至目标云平台中的第二API网关。假设第一API请求指示需要建立的资源为虚拟机,第二API网关基于该第二API请求在目标云平台中建立“4核CPU、8G内存、带有GPU”的虚拟机。第二API网关向第一API网关发送第二API响应。第一API网关在接收到第二API响应后,按照第一接口调用规则向用户设备发送第一API响应(该过程可以参考前述S303至S308)。
需要说明的是,本申请实施例提供的通信方法步骤的先后顺序可以进行适当调整,步骤也可以根据情况进行相应增减,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化的方法,都应涵盖在本申请的保护范围之内,因此不再赘述。
本申请实施例提供一种通信装置70,该装置应用于第一API网关,如图8所示,该装置70包括:
接收模块701,用于接收第一API请求;确定模块702,用于在多个云平台中确定用于响应第一API请求的目标云平台,第一API请求的格式为第一API网关支持的格式;发送模块703,用于向第二API网关发送第二API请求,第二API请求基于第一API请求确定,且第二API请求的格式为第二API网关支持的格式,第二API网关为目标云平台的API网关。
综上所述,由于在接收模块接收到第一API请求后,确定模块确定目标云平台所支持格式的第二API请求,并由发送模块将该第二API请求发送至目标云平台的第二API网关,用户仅需采用第一API网关所支持格式的API请求访问API统一网关即可实现对多个云平台中的目标云平台的访问,降低了用户的操作复杂度,提高了用户设备与不同云平台的通信灵活性。
可选地,第一API请求包括第一资源参数数据,第二API请求包括第二资源参数数据,第一资源参数数据的格式为第一API网关支持的资源参数格式,第一资源参数数据的格式为第二API网关支持的资源参数格式,第二资源参数数据是将第一资源参数数据进行资源参数格式转化得到的。
可选地,如图9所示,装置70还包括:整合模块704,用于将多个云平台中的同一种资源的同一调用操作所对应的资源参数格式进行整合,得到第一API网关支持的同一种资源的同一调用操作的资源参数格式。
可选地,第一API网关支持的同一种资源的同一调用操作的资源参数格式为多个云平台中的同一种资源的同一调用操作所对应的资源参数格式的并集。
可选地,第二API请求由第一API网关基于第二接口调用规则发送,第二接口调用规则是第二API网关支持的接口调用规则,第二接口调用规则由第一API网关基于第一API网关支持的第一接口调用规则以及第一API请求确定;接收模块701,还用于接收第二API网关发送的第二API响应;发送模块703,还用于基于第二API响应,按照第一接口调用规则向第一API请求的发送端回复第一API响应。
可选地,如图10所示,装置70还包括:规则确定模块705,用于对于多个云平台中的同一种资源的同一调用操作,基于调用操作所对应的接口调用规则,确定同一种资源的同一调用操作对应的第一接口调用规则。
可选地,调用操作的接口调用规则用于指示调用操作对应的接口集以及接口集的调用时序;当多个云平台中的同一种资源的同一调用操作对应的接口集以及接口集的调用时序均相同,同一种资源的同一调用操作对应的第一接口调用规则为按照调用时序调用接口集中的API接口;当多个云平台中的同一种资源的同一调用操作对应的接口集相同,调用时序不同,同一种资源的同一调用操作对应的第一接口调用规则为采用一次API请求调用同一调用操作对应的接口集中的API接口;当多个云平台中的同一种资源的同一调用操作对应的接口集不同,同一种资源的同一调用操作对应的第一接口调用规则为采用一次API请求调用同一调用操作对应的接口集中的API接口。
可选地,同一种资源为资源定义的相似度大于相似度阈值的资源。
可选地,如图11所示,装置70还包括:呈现模块706,用于通过用户界面云平台的资源的服务信息,服务信息包括服务能力信息和服务价格中的至少一种。
可选地,如图12所示,装置70还包括:获取模块707,用于:在通过用户界面接收到服务信息检索请求后,获取云平台的资源的服务信息;或者,在接收到第一API请求后,获取云平台的资源的服务信息。
可选地,目标云平台是基于管理节点发送的选择指令确定的,选择指令用于指示目标云平台,选择指令是管理节点通过用户界面接收的;或者,目标云平台是基于客户端发送的选择指令确定的,选择指令用于指示目标云平台;或者,第一API请求包括目标云平台的标识。
可选地,如图13所示,装置70还包括:转化模块708,用于将待迁移资源的资源参数数据的资源参数格式转化为目的云平台的API网关支持的资源参数格式;发送模块703还用于将转化后的资源参数数据发送至目的云平台的API网关。
可选地,第一API请求由客户端发送给第一API网关;或者,第一API请求由管理节点在用户界面接收并发送给第一API网关。
可选地,第一API请求指示的调用操作包括以下任一种:资源的建立操作、资源的删除操作、资源的修改操作以及资源的查询操作。
需要说明的是:上述实施例提供的通信装置在执行该通信方法时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将通信装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。图14假设上述通信装置为第一API网关,图14示意性地提供本申请实施例提供的第一API网关的在实际应用场景中的一种可能的基本硬件架构。第一API网关101包括:API服务模块1011、权限认证模块1012、资源管理模块1013、API分析模块1014和API数据库1015。
API服务模块1011用于发布第一API网关支持的API请求的格式,以向用户设备提供统一的API接口,其可以实现前述S302的功能。
权限认证模块1012用于对接收的第一API请求进行权限认证,其可以实现前述S304所述的鉴权功能。
资源管理模块1013用于在接收到第一API请求后,在多个云平台中确定用于目标云平台,并基于第一API请求确定第二API请求,其可以实现前述S304和S305的功能。
可选地,API服务模块1011还用于接收第一API请求,调用权限认证模块1012对第一API请求鉴权后,将鉴权成功的第一API请求透传至资源管理模块1013。
API分析模块1014用于确定API请求的格式,其可以实现前述S301的功能。
API数据库1015用于存储多个云平台的资源定义、多个云平台的资源格式和多个云平台的资源的能力信息中的至少一者,其可以实现前述指定存储空间1至指定存储空间4中至少一者的功能。
图14中的第一API网关101之外的环境仅是示意性的环境,相关解释可以参考前述图1和图2中的对应解释。
值得说明的是,前述API服务模块1011的功能可以由接收模块701实现;权限认证模块1012和API分析模块1014可以由确定模块702实现;资源管理模块1013的功能可以由发送模块703实现。图14仅提供一种根据需要而将上述功能分配由不同的功能模块完成的示例,并不对第一API网关中模块的划分进行限定。
可选地,图15示意性地提供本申请实施例提供的计算机设备的一种可能的基本硬件架构。
参见图15,计算机设备900包括处理器901、存储器902、通信接口903和总线904。
计算机设备900中,处理器901的数量可以是一个或多个,图15仅示意了其中一个处理器901。可选地,处理器901,可以是中央处理器(central processing unit,CPU)。如果计算机设备900具有多个处理器901,多个处理器901的类型可以不同,或者可以相同。可选地,计算机设备900的多个处理器901还可以集成为多核处理器。
存储器902存储计算机指令和数据;存储器902可以存储实现本申请提供的通信方法所需的计算机指令和数据,例如,存储器902存储用于实现通信方法的步骤的指令。存储器902可以是以下存储介质的任一种或任一种组合:非易失性存储器(例如只读存储器(ROM)、固态硬盘(SSD)、硬盘(HDD)、光盘),易失性存储器。
通信接口903可以是以下器件的任一种或任一种组合:网络接口(例如以太网接口)、无线网卡等具有网络接入功能的器件。
通信接口903用于计算机设备900与其它计算机设备或者终端进行数据通信。
总线904可以将处理器901与存储器902和通信接口903连接。这样,通过总线904,处理器901可以访问存储器902,还可以利用通信接口903与其它计算机设备或者终端进行数据交互。
在本申请中,计算机设备900执行存储器902中的计算机指令,使得计算机设备900实现本申请提供的通信方法,或者使得计算机设备900部署通信系统。
在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器,上述指令可由服务器的处理器执行以完成本申请各个实施例所示的通信方法。例如,该非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
本申请实施例提供一种通信系统,包括:第一API网关和多个云平台,每个云平台包括一个API网关,所述第一API网关包括本申请实施例提供的任一所述的通信装置,例如通信装置70。可选地,该通信系统的结构可以参考前述图1、图2和图14中的结构。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现,所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机的可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质,或者半导体介质(例如固态硬盘)等。
在本申请中,术语“第一”、“第二”和“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。术语“至少一个”表示1个或多个,术语“多个”指两个或两个以上,除非另有明确的限定。A参考B,指的是A与B相同或者A为B的简单变形。
需要说明的是:上述实施例提供的通信装置或通信系统在执行该通信方法时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的通信装置、通信系统与通信方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
以上所述仅为本申请的可选实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (31)
1.一种通信方法,其特征在于,所述方法包括:
第一应用程序接口API网关接收第一API请求;
第一API网关在多个云平台中确定用于响应所述第一API请求的目标云平台,所述第一API请求的格式为所述第一API网关支持的格式;
所述第一API网关向第二API网关发送第二API请求,所述第二API请求基于所述第一API请求确定,且所述第二API请求的格式为所述第二API网关支持的格式,所述第二API网关为所述目标云平台的API网关。
2.根据权利要求1所述的方法,其特征在于,所述第一API请求包括第一资源参数数据,所述第二API请求包括第二资源参数数据,所述第一资源参数数据的格式为所述第一API网关支持的资源参数格式,所述第一资源参数数据的格式为所述第二API网关支持的资源参数格式,所述第二资源参数数据是将所述第一资源参数数据进行资源参数格式转化得到的。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
所述第一API网关将所述多个云平台中的同一种资源的同一调用操作所对应的资源参数格式进行整合,得到所述第一API网关支持的所述同一种资源的同一调用操作的资源参数格式。
4.根据权利要求3所述的方法,其特征在于,所述第一API网关支持的同一种资源的同一调用操作的资源参数格式为所述多个云平台中的同一种资源的同一调用操作所对应的资源参数格式的并集。
5.根据权利要求1至4任一所述的方法,其特征在于,所述第二API请求由所述第一API网关基于第二接口调用规则发送,所述第二接口调用规则是所述第二API网关支持的接口调用规则,所述第二接口调用规则由所述第一API网关基于所述第一API网关支持的第一接口调用规则以及所述第一API请求确定;所述方法还包括:
所述第一API网关接收所述第二API网关发送的第二API响应;
所述第一API网关基于所述第二API响应,按照所述第一接口调用规则向所述第一API请求的发送端回复第一API响应。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
对于所述多个云平台中的同一种资源的同一调用操作,所述第一API网关基于所述调用操作所对应的接口调用规则,确定所述同一种资源的同一调用操作对应的第一接口调用规则。
7.根据权利要求6所述的方法,其特征在于,所述调用操作的接口调用规则用于指示所述调用操作对应的接口集以及接口集的调用时序;
当所述多个云平台中的同一种资源的同一调用操作对应的接口集以及接口集的调用时序均相同,所述同一种资源的同一调用操作对应的第一接口调用规则为按照所述调用时序调用所述接口集中的API接口;
当所述多个云平台中的同一种资源的同一调用操作对应的接口集相同,调用时序不同,所述同一种资源的同一调用操作对应的第一接口调用规则为采用一次API请求调用所述同一调用操作对应的接口集中的API接口;
当所述多个云平台中的同一种资源的同一调用操作对应的接口集不同,所述同一种资源的同一调用操作对应的第一接口调用规则为采用一次API请求调用所述同一调用操作对应的接口集中的API接口。
8.根据权利要求3、4、6或7所述的方法,其特征在于,所述同一种资源为资源定义的相似度大于相似度阈值的资源。
9.根据权利要求1至8任一所述的方法,其特征在于,所述方法还包括:
所述第一API网关通过用户界面云平台的资源的服务信息,所述服务信息包括服务能力信息和服务价格中的至少一种。
10.根据权利要求9所述的方法,其特征在于,所述方法还包括:
在通过所述用户界面接收到服务信息检索请求后,所述第一API网关获取所述云平台的资源的服务信息;
或者,在接收到所述第一API请求后,所述第一API网关获取所述云平台的资源的服务信息。
11.根据权利要求1至10任一所述的方法,其特征在于,所述目标云平台是基于管理节点发送的选择指令确定的,所述选择指令用于指示所述目标云平台,所述选择指令是所述管理节点通过用户界面接收的;
或者,所述目标云平台是基于客户端发送的选择指令确定的,所述选择指令用于指示所述目标云平台;
或者,所述第一API请求包括所述目标云平台的标识。
12.根据权利要求1至11任一所述的方法,其特征在于,所述方法还包括:
所述第一API网关将待迁移资源的资源参数数据的资源参数格式转化为目的云平台的API网关支持的资源参数格式;
所述第一API网关将转化后的所述资源参数数据发送至所述目的云平台的API网关。
13.根据权利要求1至12任一所述的方法,其特征在于,所述第一API请求由客户端发送给所述第一API网关;
或者,所述第一API请求由管理节点在用户界面接收并发送给所述第一API网关。
14.根据权利要求1至13任一所述的方法,其特征在于,所述第一API请求指示的调用操作包括以下任一种:
资源的建立操作、资源的删除操作、资源的修改操作以及资源的查询操作。
15.一种通信装置,其特征在于,所述装置应用于第一应用程序接口API网关,所述装置包括:
接收模块,用于接收第一API请求;
确定模块,用于在多个云平台中确定用于响应所述第一API请求的目标云平台,所述第一API请求的格式为所述第一API网关支持的格式;
发送模块,用于向第二API网关发送第二API请求,所述第二API请求基于所述第一API请求确定,且所述第二API请求的格式为所述第二API网关支持的格式,所述第二API网关为所述目标云平台的API网关。
16.根据权利要求15所述的装置,其特征在于,所述第一API请求包括第一资源参数数据,所述第二API请求包括第二资源参数数据,所述第一资源参数数据的格式为所述第一API网关支持的资源参数格式,所述第一资源参数数据的格式为所述第二API网关支持的资源参数格式,所述第二资源参数数据是将所述第一资源参数数据进行资源参数格式转化得到的。
17.根据权利要求16所述的装置,其特征在于,所述装置还包括:
整合模块,用于将所述多个云平台中的同一种资源的同一调用操作所对应的资源参数格式进行整合,得到所述第一API网关支持的所述同一种资源的同一调用操作的资源参数格式。
18.根据权利要求17所述的装置,其特征在于,所述第一API网关支持的同一种资源的同一调用操作的资源参数格式为所述多个云平台中的同一种资源的同一调用操作所对应的资源参数格式的并集。
19.根据权利要求15至18任一所述的装置,其特征在于,所述第二API请求由所述第一API网关基于第二接口调用规则发送,所述第二接口调用规则是所述第二API网关支持的接口调用规则,所述第二接口调用规则由所述第一API网关基于所述第一API网关支持的第一接口调用规则以及所述第一API请求确定;
所述接收模块,还用于接收所述第二API网关发送的第二API响应;
所述发送模块,还用于基于所述第二API响应,按照所述第一接口调用规则向所述第一API请求的发送端回复第一API响应。
20.根据权利要求19所述的装置,其特征在于,所述装置还包括:
规则确定模块,用于对于所述多个云平台中的同一种资源的同一调用操作,基于所述调用操作所对应的接口调用规则,确定所述同一种资源的同一调用操作对应的第一接口调用规则。
21.根据权利要求20所述的装置,其特征在于,所述调用操作的接口调用规则用于指示所述调用操作对应的接口集以及接口集的调用时序;
当所述多个云平台中的同一种资源的同一调用操作对应的接口集以及接口集的调用时序均相同,所述同一种资源的同一调用操作对应的第一接口调用规则为按照所述调用时序调用所述接口集中的API接口;
当所述多个云平台中的同一种资源的同一调用操作对应的接口集相同,调用时序不同,所述同一种资源的同一调用操作对应的第一接口调用规则为采用一次API请求调用所述同一调用操作对应的接口集中的API接口;
当所述多个云平台中的同一种资源的同一调用操作对应的接口集不同,所述同一种资源的同一调用操作对应的第一接口调用规则为采用一次API请求调用所述同一调用操作对应的接口集中的API接口。
22.根据权利要求17、18、20或21所述的装置,其特征在于,所述同一种资源为资源定义的相似度大于相似度阈值的资源。
23.根据权利要求15至22任一所述的装置,其特征在于,所述装置还包括:
呈现模块,用于通过用户界面云平台的资源的服务信息,所述服务信息包括服务能力信息和服务价格中的至少一种。
24.根据权利要求23所述的装置,其特征在于,所述装置还包括:
获取模块,用于:
在通过所述用户界面接收到服务信息检索请求后,获取所述云平台的资源的服务信息;
或者,在接收到所述第一API请求后,获取所述云平台的资源的服务信息。
25.根据权利要求15至24任一所述的装置,其特征在于,所述目标云平台是基于管理节点发送的选择指令确定的,所述选择指令用于指示所述目标云平台,所述选择指令是所述管理节点通过用户界面接收的;
或者,所述目标云平台是基于客户端发送的选择指令确定的,所述选择指令用于指示所述目标云平台;
或者,所述第一API请求包括所述目标云平台的标识。
26.根据权利要求15至25任一所述的装置,其特征在于,所述装置还包括:
转化模块,用于将待迁移资源的资源参数数据的资源参数格式转化为目的云平台的API网关支持的资源参数格式;
所述发送模块还用于将转化后的所述资源参数数据发送至所述目的云平台的API网关。
27.根据权利要求15至26任一所述的装置,其特征在于,所述第一API请求由客户端发送给所述第一API网关;
或者,所述第一API请求由管理节点在用户界面接收并发送给所述第一API网关。
28.根据权利要求15至27任一所述的装置,其特征在于,所述第一API请求指示的调用操作包括以下任一种:
资源的建立操作、资源的删除操作、资源的修改操作以及资源的查询操作。
29.一种计算机设备,其特征在于,包括:
处理器和存储器;
所述存储器,用于存储计算机指令;
所述处理器,用于执行所述存储器存储的计算机指令,使得所述计算机设备执行权利要求1至14任一所述的通信方法。
30.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质包括计算机指令,所述计算机指令指示计算机设备执行权利要求1至14任一所述的通信方法。
31.一种通信系统,其特征在于,包括:第一API网关和多个云平台,每个云平台包括一个API网关,所述第一API网关包括权利要求15至28任一所述的通信装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2021/075691 WO2021232860A1 (zh) | 2020-05-18 | 2021-02-06 | 通信方法、装置及系统 |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2020104210875 | 2020-05-18 | ||
CN202010421087 | 2020-05-18 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113691575A true CN113691575A (zh) | 2021-11-23 |
CN113691575B CN113691575B (zh) | 2024-07-26 |
Family
ID=78576227
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010470931.3A Active CN113691575B (zh) | 2020-05-18 | 2020-05-28 | 通信方法、装置及系统 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN113691575B (zh) |
WO (1) | WO2021232860A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114285890B (zh) * | 2021-12-10 | 2024-03-15 | 西安广和通无线通信有限公司 | 云平台连接方法、装置、设备及存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101969391A (zh) * | 2010-10-27 | 2011-02-09 | 北京邮电大学 | 一种支持融合网络业务的云平台及其工作方法 |
US20170064045A1 (en) * | 2015-08-31 | 2017-03-02 | Ayla Networks, Inc. | Management of multi-radio gateway device using virtual gateway device |
CN107357660A (zh) * | 2017-07-06 | 2017-11-17 | 华为技术有限公司 | 一种虚拟资源的分配方法及装置 |
US20170351536A1 (en) * | 2016-06-02 | 2017-12-07 | Hewlett Packard Enterprise Development Lp | Provide hypervisor manager native api call from api gateway to hypervisor manager |
CN108667865A (zh) * | 2017-03-29 | 2018-10-16 | 贵州白山云科技有限公司 | 一种api请求处理方法及装置 |
CN110557433A (zh) * | 2019-07-26 | 2019-12-10 | 华云超融合科技有限公司 | 资源的管理方法、平台、云网关、系统及存储介质 |
CN110839087A (zh) * | 2020-01-13 | 2020-02-25 | 北京懿医云科技有限公司 | 接口调用方法及装置、电子设备和计算机可读存储介质 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108667866B (zh) * | 2017-03-29 | 2020-06-23 | 北京数聚鑫云信息技术有限公司 | 一种基于api智能适配的请求处理方法及装置 |
US10289538B1 (en) * | 2018-07-02 | 2019-05-14 | Capital One Services, Llc | Systems and methods for failure detection with orchestration layer |
-
2020
- 2020-05-28 CN CN202010470931.3A patent/CN113691575B/zh active Active
-
2021
- 2021-02-06 WO PCT/CN2021/075691 patent/WO2021232860A1/zh active Application Filing
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101969391A (zh) * | 2010-10-27 | 2011-02-09 | 北京邮电大学 | 一种支持融合网络业务的云平台及其工作方法 |
US20170064045A1 (en) * | 2015-08-31 | 2017-03-02 | Ayla Networks, Inc. | Management of multi-radio gateway device using virtual gateway device |
US20170351536A1 (en) * | 2016-06-02 | 2017-12-07 | Hewlett Packard Enterprise Development Lp | Provide hypervisor manager native api call from api gateway to hypervisor manager |
CN108667865A (zh) * | 2017-03-29 | 2018-10-16 | 贵州白山云科技有限公司 | 一种api请求处理方法及装置 |
CN107357660A (zh) * | 2017-07-06 | 2017-11-17 | 华为技术有限公司 | 一种虚拟资源的分配方法及装置 |
CN110557433A (zh) * | 2019-07-26 | 2019-12-10 | 华云超融合科技有限公司 | 资源的管理方法、平台、云网关、系统及存储介质 |
CN110839087A (zh) * | 2020-01-13 | 2020-02-25 | 北京懿医云科技有限公司 | 接口调用方法及装置、电子设备和计算机可读存储介质 |
Non-Patent Citations (1)
Title |
---|
魏涛: ""面向实验室教学与科研的云管理系统的设计与实现"", 《中国优秀硕士学位论文全文数据库(信息科技辑)》, 15 March 2019 (2019-03-15) * |
Also Published As
Publication number | Publication date |
---|---|
WO2021232860A1 (zh) | 2021-11-25 |
CN113691575B (zh) | 2024-07-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10700947B2 (en) | Life cycle management method and device for network service | |
CN110166507B (zh) | 多资源调度方法和装置 | |
CN108243079B (zh) | 一种基于vpc进行网络访问的方法与设备 | |
US12106253B2 (en) | Container management method, apparatus, and device | |
CN108287894B (zh) | 数据处理方法、装置、计算设备及存储介质 | |
CN112202744A (zh) | 一种多系统数据通信方法和装置 | |
WO2017054533A1 (zh) | 云互通的外部资源管理方法、装置及系统 | |
CN114979286B (zh) | 容器服务的访问控制方法、装置、设备及计算机存储介质 | |
CN115328611A (zh) | 虚拟机管理方法、装置、服务器及可读存储介质 | |
CN113691575B (zh) | 通信方法、装置及系统 | |
CN110851853B (zh) | 一种数据隔离方法、装置、计算机设备及存储介质 | |
CN112650710A (zh) | 数据迁移的发送方法及装置、存储介质、电子装置 | |
CN117499396A (zh) | 一种基于云原生平台系统的数据处理的方法和装置 | |
US11757976B2 (en) | Unified application management for heterogeneous application delivery | |
CN116436968A (zh) | 一种服务网格通信方法、系统、装置以及存储介质 | |
CN117692401A (zh) | 消息发送方法、装置、服务器及存储介质 | |
CN114462016A (zh) | 资源请求方法、装置及系统 | |
CN114070889A (zh) | 配置方法、流量转发方法、设备、存储介质及程序产品 | |
CN112817799A (zh) | 一种基于Spring框架的访问多数据源的方法及装置 | |
CN113568708B (zh) | 平台创建方法、装置及设备 | |
US9456024B1 (en) | Content sharing in mobile ad hoc networks | |
US20240364681A1 (en) | Method for Processing Cloud Service in Cloud System and Related Apparatus | |
US10911371B1 (en) | Policy-based allocation of provider network resources | |
US20170364293A1 (en) | Method and apparatus for data processing | |
CN115086321B (zh) | 多集群流量转发方法及装置、电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
TA01 | Transfer of patent application right | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20220216 Address after: 550025 Huawei cloud data center, jiaoxinggong Road, Qianzhong Avenue, Gui'an New District, Guiyang City, Guizhou Province Applicant after: Huawei Cloud Computing Technologies Co.,Ltd. Address before: 518129 Bantian HUAWEI headquarters office building, Longgang District, Guangdong, Shenzhen Applicant before: HUAWEI TECHNOLOGIES Co.,Ltd. |
|
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |