接口调用方法及装置、电子设备和计算机可读存储介质与流程

文档序号:20020231发布日期:2020-02-25 11:30阅读:151来源:国知局
接口调用方法及装置、电子设备和计算机可读存储介质与流程

本公开涉及计算机技术领域,具体而言,涉及一种接口调用方法、接口调用装置、电子设备以及计算机可读存储介质。



背景技术:

随着云计算的发展,绝大多数企业开始计划或已经开始使用云计算,每个企业使用的云模式可能不同,例如,常见的云模式包括公有云、私有云和混合云。

在混合云模式下,基于安全考虑私有云之间是无法直接连接通讯的,然而,私有云集群之间的业务往来需求越来越多,在相互直接打通无法实现的情况下,亟需设计新的方案以解决这种业务层需求。

目前的一些解决方案包括:建立应用程序接口(applicationprogramminginterface,api)网关,通过api网关实现对api访问的认证、日志功能,但是在混合云场景下,私有云之间要实现相互调用api核心是需要具备授权管理和审计功能。另外,私有云之间通过虚拟专有网络直接打通,要实现api调用仍然需要建立api调用的授权管理和审计功能,如果多个私有云都直接打通,管理成本会很高。

需要说明的是,在上述背景技术部分公开的信息仅用于加强对本公开的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。



技术实现要素:

本公开的目的在于提供一种接口调用方法、接口调用装置、电子设备以及计算机可读存储介质,进而至少在一定程度上克服现有技术中混合云集群中私有云之间无法进行有效互通的问题。

本公开的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本发明的实践而习得。

根据本公开的第一方面,提供一种接口调用方法,包括:接收第一私有云发送的接口调用请求;其中,接口调用请求包括第一私有云的身份信息和接口访问列表;对身份信息进行身份验证操作,并确定身份验证结果;对接口访问列表进行列表验证操作,并确定列表验证结果;如果身份验证结果与列表验证结果均为通过,则将接口调用请求发送至第二私有云;接收第二私有云发送的针对接口调用请求的响应内容,以将响应内容发送至第一私有云。

可选的,在接收第一私有云发送的接口调用请求之前,上述方法还包括:确定私有云集合;其中,私有云集合包括多个初始私有云;接收初始私有云的注册请求;其中,注册请求包括接口调用信息;根据接口调用信息进行针对初始私有云的注册操作,以生成注册私有云;其中,注册私有云包括第一私有云和第二私有云。

可选的,在生成注册私有云之后,上述方法还包括:接收第一私有云发送的针对第一目标接口的权限获取请求;对是否赋予第一私有云针对第一目标接口的访问权限进行审核操作,并确定审核结果;如果审核结果为通过,则向第一私有云发送接口访问列表。

可选的,在接收第一私有云发送的接口调用请求之前,上述方法还包括:确定第一私有云的身份令牌,并根据身份令牌生成第一私有云的访问令牌;根据访问令牌生成第一私有云的身份信息;确定与第一私有云对应的网关地址、目标集群标识以及欲访问的接口标识;根据网关地址、目标集群标识以及欲访问的接口标识生成接口访问地址,并将接口访问地址存储在接口访问列表;根据身份信息以及接口访问列表生成接口调用请求。

可选的,对身份信息进行身份验证操作,包括:确定访问令牌的有效期信息以及身份令牌中的令牌签名;对有效期信息以及令牌签名进行验证,以进行身份验证操作。

可选的,对接口访问列表进行列表验证操作,包括:确定接口访问列表中所包含的第二目标接口;判断第一私有云是否具有针对第二私有云以及第二目标接口的访问权限,以进行列表验证操作。

可选的,上述方法还包括:确定发送响应内容的响应发送时间;根据响应内容和响应发送时间生成响应信息;根据接口调用请求与响应信息生成调用日志记录,以对调用日志记录进行审核操作。

根据本公开的第二方面,提供一种接口调用装置,包括:请求接收模块,用于接收第一私有云发送的接口调用请求;其中,接口调用请求包括第一私有云的身份信息和接口访问列表;身份验证模块,用于对身份信息进行身份验证操作,并确定身份验证结果;列表验证模块,用于对接口访问列表进行列表验证操作,并确定列表验证结果;请求发送模块,用于如果身份验证结果与列表验证结果均为通过,则将接口调用请求发送至第二私有云;响应内容发送模块,用于接收第二私有云发送的针对接口调用请求的响应内容,以将响应内容发送至第一私有云。

可选的,上述接口调用装置还包括注册模块,用于确定私有云集合;其中,私有云集合包括多个初始私有云;接收初始私有云的注册请求;其中,注册请求包括接口调用信息;根据接口调用信息进行针对初始私有云的注册操作,以生成注册私有云;其中,注册私有云包括第一私有云和第二私有云。

可选的,注册模块包括审核单元,用于接收第一私有云发送的针对第一目标接口的权限获取请求;对是否赋予第一私有云针对第一目标接口的访问权限进行审核操作,并确定审核结果;如果审核结果为通过,则向第一私有云发送接口访问列表。

可选的,上述接口调用装置还包括请求生成模块,用于确定第一私有云的身份令牌,并根据身份令牌生成第一私有云的访问令牌;根据访问令牌生成第一私有云的身份信息;确定与第一私有云对应的网关地址、目标集群标识以及欲访问的接口标识;根据网关地址、目标集群标识以及欲访问的接口标识生成接口访问地址,并将接口访问地址存储在接口访问列表;根据身份信息以及接口访问列表生成接口调用请求。

可选的,身份验证模块包括身份验证单元,用于确定访问令牌的有效期信息以及身份令牌中的令牌签名;对有效期信息以及令牌签名进行验证,以进行身份验证操作。

可选的,列表验证模块包括列表验证单元,用于确定接口访问列表中所包含的第二目标接口;判断第一私有云是否具有针对第二私有云以及第二目标接口的访问权限,以进行列表验证操作。

可选的,上述接口调用装置还包括日志记录模块,用于确定发送响应内容的响应发送时间;根据响应内容和响应发送时间生成响应信息;根据接口调用请求与响应信息生成调用日志记录,以对调用日志记录进行审核操作。

根据本公开的第三方面,提供一种电子设备,包括:处理器;以及存储器,所述存储器上存储有计算机可读指令,所述计算机可读指令被所述处理器执行时实现根据上述任意一项所述的接口调用方法。

根据本公开的第四方面,提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现根据上述任意一项所述的接口调用方法。

本公开提供的技术方案可以包括以下有益效果:

本公开的示例性实施例中的接口调用方法,接收第一私有云发送的接口调用请求;其中,接口调用请求包括第一私有云的身份信息和接口访问列表;对身份信息进行身份验证操作,并确定身份验证结果;对接口访问列表进行列表验证操作,并确定列表验证结果;如果身份验证结果与列表验证结果均为通过,则将接口调用请求发送至第二私有云;接收第二私有云发送的针对接口调用请求的响应内容,以将响应内容发送至第一私有云。一方面,将私有云与中心网关打通,可以使得混合云集群中的多个私有云可以通过中心网关实现api层面的相互访问,可以有效解决私有云之间由于安全原因无法直接打通的问题。另一方面,对第一私有云的接口调用请求中的接口访问列表和身份信息进行验证,验证通过则向第二私有云转发接口调用请求,以接收第二私有云返回的针对接口调用请求的响应内容,通过验证操作保证了私有云之间信息交互的安全性。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:

图1示意性示出了根据本公开的示例性实施方式的接口调用方法的流程图;

图2示意性示出了根据本公开的示例性实施方式的接口调用方法的系统架构图以及基于系统架构的数据流向图;

图3示意性示出了根据本公开的示例性实施方式的将初始私有云变为注册私有云的流程图;

图4示意性示出了根据本公开的示例性实施方式为第一私有云发送接口访问列表的流程图;

图5示意性示出了根据本公开的示例性实施方式的接口调用方法的生成接口调用请求的流程图;

图6示意性示出了根据本公开的示例性实施方式的接口调用方法的生成调用日志记录的流程图;

图7示意性示出了根据本公开的示例性实施方式的接口调用装置的方框图;

图8示意性示出了根据本公开一示例性实施例的电子设备的框图;

图9示意性示出了根据本公开一示例性实施例的计算机可读存储介质的示意图。

具体实施方式

现在将参考附图更全面地描述示例实施例。然而,示例实施例能够以多种形式实施,且不应被理解为限于在此阐述的实施例;相反,提供这些实施例使得本公开将全面和完整,并将示例实施例的构思全面地传达给本领域的技术人员。在图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。

此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施例中。在下面的描述中,提供许多具体细节从而给出对本公开的实施例的充分理解。然而,本领域技术人员将意识到,可以实践本公开的技术方案而没有所述特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知结构、方法、装置、实现、材料或者操作以避免模糊本公开的各方面。

附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个软件硬化的模块中实现这些功能实体或功能实体的一部分,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。

在混合云模式下,基于安全性考虑,私有云之间是无法直接连接通讯的,随着私有云集群之间的业务往来需求越来越多,可以建立连接方案实现私有云之间的连接,以便私有云之间进行信息交互。目前,通常可以通过api网关实现对api访问的认证、日志功能,但是在混合云场景下,私有云之间要实现相互调用api核心是需要具备授权管理和审计功能。另外,私有云之间通过虚拟专有网络直接打通,要实现api调用仍然需要建立api调用的授权管理和审计功能,如果多个私有云都直接打通,管理成本会很高。

基于此,在本示例实施例中,首先提供了一种接口调用方法,该接口调用方法可以由混合云集群的转接处理平台实现,可以利用服务器来实现本公开的用接口调用方法,也可以利用终端设备来实现本公开所述的方法,其中,本公开中描述的终端可以包括诸如手机、平板电脑、笔记本电脑、掌上电脑、个人数字助理(personaldigitalassistant,pda)等移动终端,以及诸如台式计算机等固定终端。图1示意性示出了根据本公开的一些实施例的接口调用方法流程的示意图。参考图1,该接口调用方法可以包括以下步骤:

步骤s110,接收第一私有云发送的接口调用请求;其中,接口调用请求包括第一私有云的身份信息和接口访问列表。

步骤s120,对身份信息进行身份验证操作,并确定身份验证结果。

步骤s130,对接口访问列表进行列表验证操作,并确定列表验证结果。

步骤s140,如果身份验证结果与列表验证结果均为通过,则将接口调用请求发送至第二私有云。

步骤s150,接收第二私有云发送的针对接口调用请求的响应内容,以将响应内容发送至第一私有云。

根据本示例实施例中的接口调用方法,一方面,将私有云与中心网关打通,可以使得混合云集群中的多个私有云可以通过中心网关实现api层面的相互访问,可以有效解决私有云之间由于安全原因无法直接打通的问题。另一方面,对第一私有云的接口调用请求中的接口访问列表和身份信息进行验证,验证通过则向第二私有云转发接口调用请求,以接收第二私有云返回的针对接口调用请求的响应内容,通过验证操作保证了私有云之间信息交互的安全性。

下面,将对本示例实施例中的接口调用方法进行进一步的说明。

在步骤s110中,接收第一私有云发送的接口调用请求;其中,接口调用请求包括第一私有云的身份信息和接口访问列表。

在本公开的一些示例性实施方式中,公有云(publicclouds)通常指第三方提供商为用户提供的能够使使用的云,公有云一般可通过互联网(internet)使用,可能是免费或成本低廉的,公有云的核心属性可以是共享资源服务。公有云作为一个支撑平台,还能够整合上游的服务、提供者和下游最终用户,打造新的价值链和生态系统,使得客户能够访问和共享基本的计算机基础设施,其中包括硬件、存储和带宽等资源。私有云(privateclouds)是为一个客户单独使用而构建的,因而提供对数据、安全性和服务质量的最有效控制。私有云可部署在企业数据中心的防火墙内,也可以将它们部署在一个安全的主机托管场所。私有云极大的保障了安全问题。混合云是公有云和私有云两种服务方式的结合,公有云和私有云之间使用虚拟专用网络(virtualprivatenetwork,vpn)连接。vpn可以是在公用网络上建立专用网络,进行加密通讯。vpn在企业网络中有广泛应用,vpn网关通过对数据包的加密和数据包目标地址的转换实现远程访问,可以通过服务器、硬件、软件等多种方式实现。在公开的接口调用方法可以运用于混合云集群中或运用于由私有云组成的集群中。下面将以混合云集群为例,对接口调用方法进行详细阐述。

第一私有云可以是混合云集群中发送接口调用请求的私有云,第一私有云可以通过发送接口调用请求,请求访问混合云集群中其他私有云的api。接口调用请求可以是混合云集群中请求获取其他私有云的api时发送的请求。身份信息可以是标识第一私有云在混合云集群中的具体身份的信息。接口访问列表,又称访问控制列表(accesscontrollists),可以是用于限制访问目标服务有限部分内容的控制列表。参考图2,图2示意性示出了接口调用方法的系统架构图以及基于系统架构的数据流向图。在混合云集群中,可以连接不同私有云的转接平台,转接平台可以包含应用程序接口中心(即api处理中心)、授权中心以及中心网关。当第一私有云有访问其他api的请求时,可以向混合云集群的转接平台发送接口调用请求。转接平台可以接收接口调用请求,并获取接口调用请求中包含的身份信息和接口访问列表。

根据本公开的一些示例性实施例,确定私有云集合;其中,私有云集合包括多个初始私有云;接收初始私有云的注册请求;其中,注册请求包括接口调用信息;根据接口调用信息进行针对初始私有云的注册操作,以生成注册私有云;其中,注册私有云包括第一私有云和第二私有云。私有云集合可以是混合云集群中欲连接在混合云集群的转接平台的所有私有云形成的集合。初始私有云可以是还未在混合云集群的转接平台中完成注册操作,因而未连接在转接平台中的私有云。私有云集合中可以包含多个初始私有云。注册请求可以是初始私有云向混合云集群中的转接平台发送的请求与转接平台进行连接的请求。接口调用信息可以是初始私有云通过注册操作向转接平台发送的可以提供给混合云集群中其他私有云访问或调用的接口的信息。注册操作可以是转接平台接收到初始私有云的注册请求后,根据注册请求将初始私有云连接至转接平台中,并将可以共享给其他私有云的接口信息进行记录,以便其他私有云可以访问共享接口的操作。注册私有云可以是已经接入到转接平台中的私有云。

参考图3,图3示意性示出了将初始私有云变为注册私有云的流程图。在步骤s310中,确定出私有云集合,可以从私有云集合中确定包含的多个初始私有云。参考图2,在步骤s210中,初始私有云可以向转接平台发送注册请求。在步骤s320中,转接平台在接收到初始私有云的注册请求时,可以获取注册请求中包含的接口调用信息,接口调用信息中可以包括初始私有云通过转接平台公开且可提供给其他私有云调用的api。混合云集群中的私有云可以将开放给外部集群访问的api通过接口方式注册到api中心,注册api的信息可以包括:私有云集群名称、api地址、参数格式、访问方法、输出内容格式、授权信息等。其中,授权信息可以包括允许被调用的集群名单,默认可以是全部集群,还可以是不允许被调用的集群名单。在步骤s330中,转接平台在接收到初始私有云发送的注册请求后,可以根据注册请求中的接口调用信息记录各个初始私有云可以提供给其他私有云进行调用的接口,完成针对初始私有云的注册操作,将初始私有云转换为注册私有云。由于私有云之间无法直接进行互通,私有云可以通过转接平台将可以共享给其他私有云集群的目标接口公布在转接平台中,其他私有云可以通过转接平台请求调用自身欲访问的目标接口,因此,私有云可以先在转接平台中完成注册操作。

需要说明的是,第一私有云和第二私有云仅是为了区别本示例实施例中的调用者以及目标接口的提供者,并不应对本公开造成任何特殊限定。

根据本公开的一些示例性实施例,接收第一私有云发送的针对第一目标接口的权限获取请求;对是否赋予第一私有云针对第一目标接口的访问权限进行审核操作,并确定审核结果;如果审核结果为通过,则向第一私有云发送接口访问列表。权限获取请求可以是当混合云集群中的私有云请求调用其他私有云的某一或某些接口时,向转接平台发送的请求,例如,本示例实施例中请求接口的私有云可以是第一私有云。第一目标接口可以是第一私有云请求访问的接口。审核操作可以转接平台对第一私有云是否具有第一目标接口的访问权限进行的审核操作。审核结果可以是与审核操作对应的结果。接口访问列表,又称访问控制列表(accesscontrollists,acl),可以用于限制访问目标服务有限部分内容的控制列表,即acl可以是根据审核结果确定出的与第一私有云对应的接口列表。

参考图2,在步骤s220中,第一私有云可以向授权中心发送接口调用请求,当第一私有云调用其他私有云集群的目标接口前,需要先获取其他私有云对第一私有云的调用授权。参考图4,图4示意性示出了为第一私有云发送接口访问列表的流程图。在步骤s410中,第一私有云可以向转接平台发送对目标api的权限获取请求,权限获取请求中可以包括目标集群名称和目标api的名称;在步骤s420中,转接平台可以对第一私有云的访问权限进行审核操作;在步骤s430中,当转接平台对第一私有云的权限获取请求的审核操作通过后,可以将审核结果确定为审核通过,并向第一私有云发送一条授权acl。

根据本公开的一些示例性实施例,确定第一私有云的身份令牌,并根据身份令牌生成第一私有云的访问令牌;根据访问令牌生成第一私有云的身份信息;确定与第一私有云对应的网关地址、目标集群标识以及欲访问的接口标识;根据网关地址、目标集群标识以及欲访问的接口标识生成接口访问地址,并将接口访问地址存储在接口访问列表;根据身份信息以及接口访问列表生成接口调用请求。令牌(token)可以代表执行某些操作的权利的对象,身份令牌可以是带有第一私有云的身份信息的令牌,可以标识第一私有云可以进行的具体操作。访问令牌(accesstoken)可以表示访问控制操作主体的系统对象,访问令牌可以通过调用者的身份令牌请求授权中心获得。网关地址可以是与第一私有云在混合云集群中访问的目标接口对应的网关地址。目标集群标识可以是第一私有云在混合云中集群中所访问的目标接口所在集群的标识,目标集群标识可以唯一确定出一个集群,例如,目标集群标识可以是目标集群的名称、目标集群的编号等。欲访问的接口标识可以是第一私有云欲访问的目标接口对应的标识,例如,可以是接口名称等。接口访问地址可以是第一私有云欲访问的目标接口的完整目录地址。接口访问列表可以是包含一个或多个接口访问地址以及接口访问地址的其他关联信息的列表。

参考图5,图5示意性示出了生成接口调用请求的流程图。在步骤s510中,在生成接口调用请求前,调用者对接口调用请求除了传入api对应的参数之外,还可以通过超文本传输协议(hypertexttransferprotocol,http)的http头为调用者添加访问令牌。在步骤s520中,在确定出第一私有云的身份令牌后,可以根据http头将第一私有云的身份令牌生成对应的访问令牌,并根据访问令牌生成第一私有云的身份信息。进一步地,在步骤s530中,由于私有云之间无法直接访问,请求目标api可以统一通过转接平台的中心网关进行,采用统一的接口访问地址格式向中心网关发送接口访问请求,例如,本示例实施例中,接口访问地址可以根据网关地址、目标集群标识以及欲访问的接口标识生成,如,接口访问地址的格式可以是:http://$gateway/$cluster/$api;其中,$gateway可以为中心网关的访问地址,$cluster可以为目标集群的地址,$api可以为欲访问的目标api路径。在步骤s540中,根据接口访问地址格式生成欲访问的接口访问地址后,可以将接口访问地址存储在接口访问列表中。在步骤s550中,可以根据私有云(调用者)的身份信息和接口访问地址生成对应的接口访问请求。通过步骤s510~步骤s550,可以进行图2中步骤s230的第一私有云针对转接平台发送的接口调用过程。

需要说明的是,“$”可以是网关地址、目标集群标识和欲访问的接口标识的前缀标识,还可以采用其他特殊符号来代替“$”以达到同样的标识作用,如“@”、“&”、“*”等。

在步骤s120中,对身份信息进行身份验证操作,并确定身份验证结果。

在本公开的一些示例性实施方式中,身份验证操作可以是针对第一私有云的身份信息进行的验证操作。身份验证结果可以是对第一私有云的身份信息进行验证操作后,得出的对应的结果。当转接平台接收到第一私有云的接口调用请求时,转接平台的中心网关可以读取接口调用请求中的访问令牌,对访问令牌中包含的信息进行验证操作,以得到验证结果。

根据本公开的一些示例性实施例,确定访问令牌的有效期信息以及身份令牌中的令牌签名;对有效期信息以及令牌签名进行验证,以进行身份验证操作。有效期信息可以是表示访问令牌的有效期的信息,在一些应用场景中,可以为访问令牌设置对应的有效期。令牌签名可以是访问令牌对应的签名。身份验证操作可以针对第一私有云的身份信息进行的验证操作,例如,身份验证操作可以是验证第一私有云的访问令牌的有效期信息以及验证访问令牌的令牌签名。确定访问令牌中的令牌签名,令牌签名可以采用私有密钥进行加密,检查访问令牌中令牌签名的有效性,中心网关可以拒绝令牌签名不符的请求。另外,如果访问令牌设定了有效期,中心网关可以对访问令牌的有效期进行验证,中心网关可以拒绝令牌有效期不符的请求。

在步骤s130中,对接口访问列表进行列表验证操作,并确定列表验证结果。

在本公开的一些示例性实施方式中,列表验证操作可以是针对第一私有云的接口调用请求的接口访问列表进行的验证操作。列表验证结果可以是列表验证操作对应的结果。当确定出接口访问请求中的接口访问列表时们可以对接口访问列表进行列表验证操作,并确定列表验证操作对应的列表验证结果。

根据本公开的一些示例性实施例,确定接口访问列表中所包含的第二目标接口;判断第一私有云是否具有针对第二私有云以及第二目标接口的访问权限,以进行列表验证操作。第二目标接口可以是接口访问列表中包含的目标接口。第二私有云可以是第一私有云欲访问的目标接口所在的私有云。列表验证操作可以是转接中心针对接口访问列表进行的验证操作。

接口访问列表,即acl,可以是用于中心网关检查调用者是否拥有请求目标集群、目标api的权限。具体的,acl要素可以包括:调用者(第一私有云)的身份信息、目标集群、目标api以及采用的调用方法。中心网关可以通过查询授权中心acl库,检查调用者对目标集群、目标api、所采用的调用方法是否拥有有效的acl,针对以上内容进行列表验证操作。

在步骤s140中,如果身份验证结果与列表验证结果均为通过,则将接口调用请求发送至第二私有云。

在本公开的一些示例性实施方式中,身份验证结果可以是身份验证操作对应的结果。列表验证结果可以是针对接口访问列表进行的验证操作对应的结果。身份验证结果与列表验证结果分别可以包括通过、不通过两种情况。参考图2,在步骤s240中,只有当身份验证结果为通过,且列表验证结果为通过时,转接中心可以将接口调用请求发送至第二私有云,以便从第二私有云中获取相关信息。当身份验证结果或列表验证结果中的任意一项为不通过时,接口访问请求将被拒绝。

在步骤s150中,接收第二私有云发送的针对接口调用请求的响应内容,以将响应内容发送至第一私有云。

在本公开的一些示例性实施方式中,响应内容可以是第二私有云针对第一私有云的接口调用请求确定出的从目标接口中获取到的内容。当第一私有云的身份验证结果为通过,且通过列表验证操作时,调用者的接口调用请求将以http代理的方式转发至目标集群。在本示例实施例中,第一私有云的接口调用请求将以http代理的方式转发至第二私有云。第二私有云接收到第一私有云的接口调用请求后,将确定出与该接口调用请求对应的响应内容,并发送至转接平台,转接平台可以将接收到的响应内容发送至第一私有云。

根据本公开的一些示例性实施例,确定发送响应内容的响应发送时间;根据响应内容和响应发送时间生成响应信息;根据接口调用请求与响应信息生成调用日志记录,以对调用日志记录进行审核操作。响应发送时间可以包括第一私有云发送接口调用请求的发送时间,也可以包括第二私有云针对接口调用请求返回的响应内容的响应时间。响应信息可以是目标集群针对调用者的接口调用请求返回的信息。调用日志记录可以是针对调用者通过调用目标私有云中的目标接口所产生的一系列操作,采用日志形式所生成的记录。审核操作可以是针对生成的调用日志记录进行的后续审核或审计操作。

参考图2,在步骤s250中,转接平台的中心网关可以作为http代理将接口调用请求转发至到目标集群中,并等待目标集群的响应信息返回,在步骤s260中,中心网关可以将返回的响应信息转发至请求端的调用者,并记录调用日志。具体的,日志字段可以包括:请求时间、响应时间、调用者集群、目标集群、目标api、请求方法、请求长度、返回长度、消耗时间等等。并且,调用日志记录中也可以记录接口调用请求和返回的内容本身。参考图6,图6示意性示出了接口调用方法的生成调用日志记录的流程图。在步骤s610中,中心网关可以确定出响应内容的相应发送时间;在步骤s620中,可以根据响应内容和响应发送时间生成对应的响应信息;在步骤s630中,根据接口调用请求和响应信息可以生成调用日志记录,以便于后续对响应内容进行审计操作,判断第一私有云通过目标接口访问的内容与实际返回的响应内容是否相同或是否符合规范。

需要说明的是,本公开所使用的术语“第一”、“第二”等,仅是为了区分混合云集群中不同的私有云或不同的目标接口,并不应对本公开造成任何限制。

综上所述,接收第一私有云发送的接口调用请求;其中,接口调用请求包括第一私有云的身份信息和接口访问列表;对身份信息进行身份验证操作,并确定身份验证结果;对接口访问列表进行列表验证操作,并确定列表验证结果;如果身份验证结果与列表验证结果均为通过,则将接口调用请求发送至第二私有云;接收第二私有云发送的针对接口调用请求的响应内容,以将响应内容发送至第一私有云。一方面,由于现有技术中私有云之间由于安全原因无法直接打通,通过api方式将私有云与欲互联的其他私有云均与中心网关打通,可以使接入方式更加安全便利;并且多个私有云通过中心网关实现api层面相互访问。另一方面,私有云之间进行接口调用时,可以采用全局统一的api调用方式,因此,使得整个集群中的调用方式简单易用。又一方面,可以通过acl方式授权私有云针对目标集群、目标api、特定方法的调用方式,使得api调用均经过访问授权、身份验证、acl检查等过程,保障了api调用的安全性。

需要说明的是,尽管在附图中以特定顺序描述了本发明中方法的各个步骤,但是,这并非要求或者暗示必须按照该特定顺序来执行这些步骤,或是必须执行全部所示的步骤才能实现期望的结果。附加的或备选的,可以省略某些步骤,将多个步骤合并为一个步骤执行,以及/或者将一个步骤分解为多个步骤执行等。

此外,在本示例实施例中,还提供了一种接口调用装置。参考图7,该接口调用装置700可以包括:请求接收模块710、身份验证模块720、列表验证模块730、请求发送模块740以及响应内容发送模块750。

具体的,请求接收模块710可以用于接收第一私有云发送的接口调用请求;其中,接口调用请求包括第一私有云的身份信息和接口访问列表;身份验证模块720可以用于对身份信息进行身份验证操作,并确定身份验证结果;列表验证模块730可以用于对接口访问列表进行列表验证操作,并确定列表验证结果;请求发送模块740可以用于如果身份验证结果与列表验证结果均为通过,则将接口调用请求发送至第二私有云;响应内容发送模块750可以用于接收第二私有云发送的针对接口调用请求的响应内容,以将响应内容发送至第一私有云。

接口调用装置700可以接收第一私有云发送的包含身份信息和接口访问列表的接口调用请求,将私有云与中心网关打通,可以使得混合云集群中的多个私有云可以通过中心网关实现api层面的相互访问,可以有效解决私有云之间由于安全原因无法直接打通的问题。对身份信息进行身份验证操作,以及对接口访问列表进行列表验证操作,当身份验证操作或列表验证操作均为通过时,可以将接口调用请求发送至第二私有云,并将接收到的第二私有云针对接口调用请求的响应内容发送至第一私有云,通过验证操作保证了私有云之间信息交互的安全性,是一种行之有效的接口调用装置。

在本公开的一种示例性实施方案中,上述接口调用装置还包括注册模块,用于确定私有云集合;其中,私有云集合包括多个初始私有云;接收初始私有云的注册请求;其中,注册请求包括接口调用信息;根据接口调用信息进行针对初始私有云的注册操作,以生成注册私有云;其中,注册私有云包括第一私有云和第二私有云。

在本公开的一种示例性实施方案中,注册模块包括审核单元,用于接收第一私有云发送的针对第一目标接口的权限获取请求;对是否赋予第一私有云针对第一目标接口的访问权限进行审核操作,并确定审核结果;如果审核结果为通过,则向第一私有云发送接口访问列表。

在本公开的一种示例性实施方案中,上述接口调用装置还包括请求生成模块,用于确定第一私有云的身份令牌,并根据身份令牌生成第一私有云的访问令牌;根据访问令牌生成第一私有云的身份信息;确定与第一私有云对应的网关地址、目标集群标识以及欲访问的接口标识;根据网关地址、目标集群标识以及欲访问的接口标识生成接口访问地址,并将接口访问地址存储在接口访问列表;根据身份信息以及接口访问列表生成接口调用请求。

在本公开的一种示例性实施方案中,身份验证模块包括身份验证单元,用于确定访问令牌的有效期信息以及身份令牌中的令牌签名;对有效期信息以及令牌签名进行验证,以进行身份验证操作。

在本公开的一种示例性实施方案中,列表验证模块包括列表验证单元,用于确定接口访问列表中所包含的第二目标接口;判断第一私有云是否具有针对第二私有云以及第二目标接口的访问权限,以进行列表验证操作。

在本公开的一种示例性实施方案中,上述接口调用装置还包括日志记录模块,用于确定发送响应内容的响应发送时间;根据响应内容和响应发送时间生成响应信息;根据接口调用请求与响应信息生成调用日志记录,以对调用日志记录进行审核操作。

上述中各虚拟接口调用装置模块的具体细节已经在对应的接口调用方法中进行了详细的描述,因此此处不再赘述。

应当注意,尽管在上文详细描述中提及了接口调用装置的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本公开的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。

此外,在本公开的示例性实施例中,还提供了一种能够实现上述方法的电子设备。

所属技术领域的技术人员能够理解,本发明的各个方面可以实现为系统、方法或程序产品。因此,本发明的各个方面可以具体实现为以下形式,即:完全的硬件实施例、完全的软件实施例(包括固件、微代码等),或硬件和软件方面结合的实施例,这里可以统称为“电路”、“模块”或“系统”。

下面参考图8来描述根据本发明的这种实施例的电子设备800。图8显示的电子设备800仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。

如图8所示,电子设备800以通用计算设备的形式表现。电子设备800的组件可以包括但不限于:上述至少一个处理单元810、上述至少一个存储单元820、连接不同系统组件(包括存储单元820和处理单元810)的总线830、显示单元840。

其中,所述存储单元存储有程序代码,所述程序代码可以被所述处理单元810执行,使得所述处理单元810执行本说明书上述“示例性方法”部分中描述的根据本发明各种示例性实施例的步骤。

存储单元820可以包括易失性存储单元形式的可读介质,例如随机存取存储单元(ram)821和/或高速缓存存储单元822,还可以进一步包括只读存储单元(rom)823。

存储单元820以包括具有一组(至少一个)程序模块825的程序/实用工具824,这样的程序模块825包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。

总线830可以为表示几类总线结构中的一种或多种,包括存储单元总线或者存储单元控制器、外围总线、图形加速端口、处理单元或者使用多种总线结构中的任意总线结构的局域总线。

电子设备800也可以与一个或多个外部设备870(例如键盘、指向设备、蓝牙设备等)通信,还可与一个或者多个使得用户能与该电子设备800交互的设备通信,和/或与使得该电子设备800能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(i/o)接口850进行。并且,电子设备800还可以通过网络适配器860与一个或者多个网络(例如局域网(lan),广域网(wan)和/或公共网络,例如因特网)通信。如图所示,网络适配器860通过总线830与电子设备800的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备800使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、raid系统、磁带驱动器以及数据备份存储系统等。

通过以上的实施例的描述,本领域的技术人员易于理解,这里描述的示例实施例可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本公开实施例的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是cd-rom,u盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、终端装置、或者网络设备等)执行根据本公开实施例的方法。

在本公开的示例性实施例中,还提供了一种计算机可读存储介质,其上存储有能够实现本说明书上述方法的程序产品。在一些可能的实施例中,本发明的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当所述程序产品在终端设备上运行时,所述程序代码用于使所述终端设备执行本说明书上述“示例性方法”部分中描述的根据本发明各种示例性实施例的步骤。

参考图9所示,描述了根据本发明的实施例的用于实现上述方法的程序产品900,其可以采用便携式紧凑盘只读存储器(cd-rom)并包括程序代码,并可以在终端设备,例如个人电脑上运行。然而,本发明的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。

所述程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。

计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。

可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、rf等等,或者上述的任意合适的组合。

可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如java、c++等,还包括常规的过程式程序设计语言—诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(lan)或广域网(wan),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。

此外,上述附图仅是根据本发明示例性实施例的方法所包括的处理的示意性说明,而不是限制目的。易于理解,上述附图所示的处理并不表明或限制这些处理的时间顺序。另外,也易于理解,这些处理可以是例如在多个模块中同步或异步执行的。

本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其他实施例。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由权利要求指出。

应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1