掌桥专利:专业的专利平台
掌桥专利
首页

技术领域

本申请涉及计算机技术领域,尤其涉及一种数据处理方法及相关产品。

背景技术

随着互联网技术的发展,越来越多的人和企业采用向网络服务供应商租用网络服务的方式代替自主开发网络服务的方式获得网络服务。

由于满足不同租户的需求所需的硬件资源不同,如何在满足租户需求的同时,提高硬件资源的利用率具有非常重要的意义。

发明内容

本申请提供一种数据处理方法及相关产品。

第一方面,提供了一种数据处理方法,所述方法包括:

获取服务调用请求和映射关系;所述服务调用请求携带目标租户域信息;所述映射关系表征租户域和服务器之间的映射;

依据所述映射关系,将所述服务调用请求路由至所述目标租户域信息所对应的第一服务器。

结合本申请任一实施方式,所述服务调用请求携带第一令牌;

所述依据所述映射关系,将所述服务调用请求路由至所述目标租户域信息所对应的第一服务器,包括:

解析所述第一令牌,得到目标租户域信息;

依据所述映射关系,得到与所述目标租户域信息对应的服务器,作为所述第一服务器;

将所述服务调用请求路由至所述第一服务器。

结合本申请任一实施方式,所述获取服务调用请求之前,所述方法还包括:

在接收到租户端发送的令牌生成请求的情况下,解析所述令牌生成请求得到所述租户的秘钥,并调用令牌生成接口生成第二令牌;

从注册中心确定与所述秘钥对应的租户域信息,作为所述目标租户域信息;

将所述目标租户域信息添加至所述第二令牌,得到所述第一令牌。

结合本申请任一实施方式,所述服务器调用请求包括租户所需调用的至少一个第一接口;

所述依据所述映射关系,将所述服务调用请求路由至所述目标租户域信息所对应的第一服务器,包括:

依据所述映射关系,确定与所述目标租户域信息所对应的服务器,作为所述第一服务器;

在确定所述至少一个第一接口与所述第一服务器所支持的至少一个第二接口相同的情况下,将所述服务调用请求路由至所述第一服务器。

结合本申请任一实施方式,所述第一服务器属于微服务系统,所述微服务系统包括与所述第一服务不同的第二服务器,所述方法还包括:

在所述至少一个第一接口中存在与所述至少一个第二接口不同的接口的情况下,将所述服务调用请求路由至所述第一服务器和第二服务器,所述第二服务器用于调用所述至少一个第一接口中与所述至少一个第二接口不同的接口。

结合本申请任一实施方式,所述至少一个第二接口包括第三接口,所述将所述服务调用请求路由至所述目标租户域信息所对应的第一服务器,包括:

在所述第三接口的通信协议为第一通信协议的情况下,通过所述第一通信协议在租户端与所述第一服务器之间建立连接,所述租户端为发送所述服务调用请求的电子设备;

在所述第一接口的通信协议为第二通信协议的情况下,通过所述第二通信协议在租户端与所述第一服务器之间建立连接,所述租户端为发送所述服务调用请求的电子设备;

所述第一通信协议与所述第二通信协议不同。

第二方面,提供了另一种数据处理方法,该方法包括:

接收数据处理装置发送的第一令牌,所述第一令牌包括目标租户域信息;

依据所述第一令牌生成服务调用请求;

向所述数据处理装置发送服务调用请求。

第三方面,提供了一种数据处理装置,该数据处理装置包括:

获取单元,用于获取服务调用请求和映射关系;所述服务调用请求携带目标租户域信息;所述映射关系表征租户域和服务器之间的映射;

处理单元,用于依据所述映射关系,将所述服务调用请求路由至所述目标租户域信息所对应的第一服务器。

结合本申请任一实施方式,所述服务调用请求携带第一令牌;

所述处理单元,用于:

解析所述第一令牌,得到目标租户域信息;

依据所述映射关系,得到与所述目标租户域信息对应的服务器,作为所述第一服务器;

将所述服务调用请求路由至所述第一服务器。

结合本申请任一实施方式,所述数据处理装置还包括:解析单元,用于在所述获取服务调用请求之前,在接收到租户端发送的令牌生成请求的情况下,解析所述令牌生成请求得到所述租户的秘钥,并调用令牌生成接口生成第二令牌;

所述处理单元,还用于从注册中心确定与所述秘钥对应的租户域信息,作为所述目标租户域信息;

所述处理单元,还用于将所述目标租户域信息添加至所述第二令牌,得到所述第一令牌。

结合本申请任一实施方式,所述服务器调用请求包括租户所需调用的至少一个第一接口;

所述处理单元,用于:

依据所述映射关系,确定与所述目标租户域信息所对应的服务器,作为所述第一服务器;

在确定所述至少一个第一接口与所述第一服务器所支持的至少一个第二接口相同的情况下,将所述服务调用请求路由至所述第一服务器。

结合本申请任一实施方式,所述第一服务器属于微服务系统,所述微服务系统包括与所述第一服务不同的第二服务器,所述处理单元,还用于:

在所述至少一个第一接口中存在与所述至少一个第二接口不同的接口的情况下,将所述服务调用请求路由至所述第一服务器和第二服务器,所述第二服务器用于调用所述至少一个第一接口中与所述至少一个第二接口不同的接口。

结合本申请任一实施方式,所述至少一个第二接口包括第三接口,所述处理单元,还用于:

在所述第三接口的通信协议为第一通信协议的情况下,通过所述第一通信协议在租户端与所述第一服务器之间建立连接,所述租户端为发送所述服务调用请求的电子设备;

在所述第一接口的通信协议为第二通信协议的情况下,通过所述第二通信协议在租户端与所述第一服务器之间建立连接,所述租户端为发送所述服务调用请求的电子设备;

所述第一通信协议与所述第二通信协议不同。

第四方面,提供了一种租户端,该租户端包括:

接收单元,用于接收数据处理装置发送的第一令牌,所述第一令牌包括目标租户域信息;

处理单元,用于依据所述第一令牌生成服务调用请求;

发送单元,用于向所述数据处理装置发送服务调用请求。

第五方面,提供了一种电子设备,其特征在于,包括:处理器和存储器,所述存储器用于存储计算机程序代码,所述计算机程序代码包括计算机指令,在所述处理器执行所述计算机指令的情况下,所述电子设备执行如上述第一方面及其任意一种可能实现的方式的方法。

第六方面,提供了另一种电子设备,包括:处理器、发送装置、输入装置、输出装置和存储器,所述存储器用于存储计算机程序代码,所述计算机程序代码包括计算机指令,在所述处理器执行所述计算机指令的情况下,所述电子设备执行如上述第一方面及其任意一种可能实现的方式的方法。

第七方面,提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,所述计算机程序包括程序指令,在所述程序指令被处理器执行的情况下,使所述处理器执行如上述第一方面及其任意一种可能实现的方式的方法。

第八方面,提供了一种计算机程序产品,所述计算机程序产品包括计算机程序或指令,在所述计算机程序或指令在计算机上运行的情况下,使得所述计算机执行上述第一方面及其任一种可能的实现方式的方法。

第九方面,提供了一种电子设备,其特征在于,包括:处理器和存储器,所述存储器用于存储计算机程序代码,所述计算机程序代码包括计算机指令,在所述处理器执行所述计算机指令的情况下,所述电子设备执行如上述第二方面及其任意一种可能实现的方式的方法。

第十方面,提供了另一种电子设备,包括:处理器、发送装置、输入装置、输出装置和存储器,所述存储器用于存储计算机程序代码,所述计算机程序代码包括计算机指令,在所述处理器执行所述计算机指令的情况下,所述电子设备执行如上述第二方面及其任意一种可能实现的方式的方法。

第十一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,所述计算机程序包括程序指令,在所述程序指令被处理器执行的情况下,使所述处理器执行如上述第二方面及其任意一种可能实现的方式的方法。

第十二方面,提供了一种计算机程序产品,所述计算机程序产品包括计算机程序或指令,在所述计算机程序或指令在计算机上运行的情况下,使得所述计算机执行上述第二方面及其任一种可能的实现方式的方法。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,而非限制本申请。

附图说明

为了更清楚地说明本申请实施例或背景技术中的技术方案,下面将对本申请实施例或背景技术中所需要使用的附图进行说明。

此处的附图被并入说明书中并构成本说明书的一部分,这些附图示出了符合本申请的实施例,并与说明书一起用于说明本申请的技术方案。

图1为本申请实施例提供的一种数据处理方法的流程示意图;

图2为本申请实施例提供的另一种数据处理方法的流程示意图;

图3为本申请实施例提供的另一种数据处理方法的流程示意图;

图4为本申请实施例提供的一种数据处理装置的结构示意图;

图5为本申请实施例提供的一种租户端的结构示意图;

图6为本申请实施例提供的一种数据处理装置的硬件结构示意图;

图7为本申请实施例提供的一种租户端的硬件结构示意图。

具体实施方式

为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其他步骤或单元。

应当理解,在本申请中,“至少一个(项)”是指一个或者多个,“多个”是指两个或两个以上,“至少两个(项)”是指两个或三个及三个以上,“和/或”,用于描述关联对象的关联关系,表示可以存在三种关系,例如,“A和/或B”可以表示:只存在A,只存在B以及同时存在A和B三种情况,其中A,B可以是单数或者复数。字符“/”可表示前后关联对象是一种“或”的关系,是指这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b或c中的至少一项(个),可以表示:a,b,c,“a和b”,“a和c”,“b和c”,或“a和b和c”,其中a,b,c可以是单个,也可以是多个。字符“/”还可表示数学运算中的除号,例如,a/b=a除以b;6/3=2。“以下至少一项(个)”或其类似表达。

在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。

随着互联网技术的发展,越来越多的人和企业采用向网络服务供应商租用网络服务的方式代替自主开发网络服务的方式获得网络服务。例如,张三需要使用人脸识别功能。张三自己开发一个具有人脸识别功能的软件,不仅需要耗费很高的成本,而且自己开发的软件的人脸识别准确率可能不够高。若张三向A公司租用人脸识别功能,不仅可以省去开发的成本,而且可使用高准确率的人脸识别功能。

为表述方便,下文将从网络服务供应商租用网络服务的个人和企业统称为租户。由于不同的租户的需求不同,为满足不同租户的需求,所需的硬件资源不同。

例如,张三需要从A公司租用人脸识别功能,B公司需要从A公司租用人脸识别功能和行人重识别功能。显然,满足B公司的需求所需的硬件资源比满足张三的需求所需的硬件资源多。

正是由于满足不同租户的需求所需的硬件资源不同,目前的网络供应商通常依据租户的需求,为租户配置相应的硬件资源,并通过服务器为租户分配特定的账号。这样,租户可通过该账号使用网络供应商为其配置的硬件资源。

这种做法虽然能依据租户的为租户配置硬件资源,但是需要为租户分配特定的账号。即相当于账号与硬件资源是一一对应的关系。这样,一方面,租户再需要更改需求时,需要重新创建账号,操作反锁、效率低,导致用户体验差。另一方面,网络供应商需要通过服务器为租户创建账号,该过程既耗时又耗人力,即成本高。

本申请实施例的执行主体为数据处理装置,其中,数据处理装置可以是任意一种可执行本申请方法实施例所公开的技术方案的电子设备。可选的,数据处理装置可以是以下中的一种:手机、计算机、服务器、平板电脑。

应理解,本申请方法实施例还可以通过处理器执行计算机程序代码的方式实现。请参阅图1,图1是本申请实施例提供的一种数据处理方法的流程示意图。

101、获取服务调用请求和映射关系,其中,上述服务调用请求携带目标租户域信息,上述映射关系表征租户域和服务器之间的映射。

本申请实施例中,服务调用请求用于向数据处理装置请求调用网络服务。例如,假设数据处理装置为A公司的服务器。张三可通过使用计算机向数据处理装置发送人脸识别调用请求,请求调用A公司的人脸识别功能。

本申请实施例中,服务器为硬件资源的载体。例如,满足A公司的需求需要10个单位的硬件资源,假设一台服务器具备5个单位的硬件资源,那么网路供应商B公司为满足A公司的需求,将为A公司配置2台服务器。此时,这两台服务器为B公司为A公司配置的硬件资源。

本申请实施例中,映射关系表征租户域和服务器之间的映射,即映射关系表征租户域与硬件资源之间的映射,其中,租户域信息包括租户的身份信息。

例如,A公司向数据处理装置发送的服务调用请求携带目标租户域信息。数据处理装置依据该目标租户域信息,可确定发送服务调用请求的租户为A公司。

102、依据上述映射关系,将上述服务调用请求路由至上述目标租户域信息所对应的第一服务器。

数据处理装置依据该映射关系,可确定与服务调用请求对应的服务器(即硬件资源)。数据处理装置进而可将服务调用请求路由至与目标租户域信息所对应的服务器(即第一服务器)。这样,租户可通过第一服务器调用相应的服务。

可选的,数据处理装置在执行步骤102之前,在注册中心建立该映射关系。具体的,数据处理装置通过将目标租户域信息添加至目标服务器的元数据,在目标租户域与目标服务器之间建立映射。

本申请实施例中,由于映射关系中包含租户域信息与服务器之间的映射,服务调用请求中携带目标租户域信息,数据处理装置可依据目标租户域信息将服务调用请求路由至第一服务器,进而使租户顺利调用相应的服务。因此,租户无需通过登录账号调用相应的服务,而网络服务供应商也无需为租户创建特殊账号,从而降低成本、提升用户体验。

作为一种可选的实施方式,服务调用请求携带第一令牌。数据处理装置在执行步骤102的过程中执行以下步骤:

1、解析上述第一令牌,得到目标租户域信息。

本申请实施例中,第一令牌具有时效性,即在第一令牌的有效期内,第一令牌有效,在第一令牌的有效期外,第一令牌无效。这样可降低因除第一令牌的所有者之外的人盗用第一令牌,而导致的网络安全事故发生的概率。

例如,第一令牌的所有者为A,若由于A没有好好保管第一令牌,导致B获取到第一令牌。B进而可使用第一令牌调用第一服务器,从而可能发生网络安全事故。若第一令牌具有时效性,则在第一令牌的有效期外,第一令牌是无效的,此时无法通过第一令牌调用第一服务器,进而可以减少网络安全事故。

第一令牌可通过对目标租户域信息加密得到,从而提升目标租户域信息的安全性。因此,数据处理装置通过解析第一令牌,可得到目标租户域信息。

可选的,数据处理装置通过HmacSHA256算法(Hash-based MessageAuthentication Code Secure Hash Algorithm 256,散列消息认证码安全散列算法256)加密算法对目标租户域信息进行加密得到。

2、依据上述映射关系,得到与上述目标租户域信息对应的服务器,作为上述第一服务器。

在一种可能实现的方式中,数据处理装置从注册中心确定与目标租户域信息对应的服务器,作为第一服务器。

数据处理装置从映射关系中查找到与目标租户域信息对应的服务器,作为第一服务器。

3、将上述服务调用请求路由至上述第一服务器。

在步骤1~步骤3中,由于第一令牌携带目标租户域信息,数据处理装置可在通过第一令牌确认租户身份信息的同时,获取目标租户域信息。这样,数据处理装置在确认租户的身份信息后,可在第一令牌的有效期内使用目标租户域信息调用第一服务器为租户提供服务。对租户的而言,在第一令牌的有效期内只需通过数据处理装置完成一次身份认证,即可重复调用第一服务器提供相应的服务。这不仅可减少数据处理装置因多次认证身份所带来的数据处理量,还可提升用户体验。

作为一种可选的实施方式,在获取服务调用请求之前,数据处理装置还执行以下步骤:

4、在接收到租户端发送的令牌生成请求的情况下,解析上述令牌生成请求得到上述租户的秘钥,并调用令牌生成接口生成第二令牌。

本步骤中,租户端为租户所使用的电子设备。在基于第一令牌向网络服务供应商发起服务调用请求之前,租户需要通过租户端从网络服务供应商获取第一令牌。因此,租户需要通过租户端向数据处理装置发送令牌生成请求,以从数据处理装置获取令牌。

本步骤中,租户端发送的令牌生成请求中携带租户的私钥,该私钥通过对租户的身份信息进行加密得到。数据处理装置在接收到租户发送的令牌生成请求的情况下,解析令牌生成请求得到租户的秘钥。

数据处理装置通过解析令牌生成请求,可获知租户生成令牌的需求。因此,数据处理装置在解析令牌生成请求后,调用令牌生成接口生成第二令牌,其中,令牌生成接口为任意可生成令牌的软件接口。

5、从注册中心确定与上述秘钥对应的租户域信息,作为上述目标租户域信息。

本申请实施例中,注册中心包含租户域信息和租户的秘钥信息。可选的,数据处理装置在执行步骤5之前,可将租户的租户域信息和秘钥信息添加至注册中心。具体的,数据处理装置通过将租户域信息添加至目标服务器的元数据中,在租户域信息与目标服务器之间建立映射,得到上述映射关系,其中,目标服务器为为租户配置的服务器。

例如,张三通过租户端向网络服务供应商A提供需求。A依据该需求为张三配置了3台服务器(即目标服务器),并通过电子设备(如服务器)为张三创建了租户域,以及通过电子设备对张三的身份信息进行加密生成秘钥对。在创建了租户域和秘钥对后,电子设备将秘钥对中的公钥和张三的租户域信息添加至注册中心,并在公钥与张三的租户域信息之间建立映射,并将秘钥对中的私钥发送至租户端。A通过数据处理装置将张三的租户域信息添加至目标服务器的元数据。

这样,数据处理装置依据租户的私钥(即令牌生成请求中的秘钥),确定相应的公钥,并依据该公钥从注册中心确定相应的租户域信息,作为目标租户域信息。而在执行步骤2的过程中,数据处理装置可从注册中心确定与目标租户域对应的至少一个待选服务器,并从该至少一个待选服务器中选取一个服务器作为第一服务器。可选的,数据处理装置可通过负载均衡器从至少一个待选服务器中选取一个服务器作为第一服务器。可选的,负载均衡器为基于ribbon框架构建的负载均衡器。

6、将上述目标租户域信息添加至上述第二令牌,得到上述第一令牌。

数据处理装置可通过将目标租户域信息与第二令牌进行拼接,得到第一令牌。

数据处理装置通过执行步骤4~步骤6,可通过将租户的租户域信息添加至第二令牌中得到第一令牌。这样,租户在使用第一令牌向数据处理装置发起服务调用请求时,可通过解析第一令牌,得到租户的租户域信息。

作为一种可选的实施方式,上述服务器调用请求包括租户所需调用的至少一个第一接口。

数据处理装置在执行步骤102的过程中执行以下步骤:

7、依据上述映射关系,确定与上述目标租户域信息所对应的服务器,作为上述第一服务器。

8、在确定上述至少一个第一接口与上述第一服务器所支持的至少一个第二接口相同的情况下,将上述服务调用请求路由至上述第一服务器。

本申请实施例中,接口(包括上述第一接口和第二接口)均指网络接口,每个接口与一个网络服务对应,租户端可以通过调用接口使用服务器资源实现对应的网络服务。例如,人脸识别接口与人脸识别服务对应,美颜接口与美颜服务对应。

本申请实施例中,所需调用的至少一个第一接口表示租户需要调用的网络服务。例如,企业A期望从网络服务供应商B调用c服务和d服务,其中,c服务所对应的接口为e接口,d服务所对应的接口为f接口。那么企业A所需调用的接口包括e接口和f接口,此时所需调用的接口包括e接口和f接口。

由于网络服务供应商可提供的服务数量可能多于租户所需调用的服务数量,而不同服务需要通过不同的硬件资源实现,若为租户提供除租户所需调用的服务之外的服务,将导致硬件资源的利用率低。

例如,网络服务供应商可提供a服务和b服务。租户A所需调用的服务为a服务。网络服务供应商为租户A配置了一台服务器c,以供A调用a服务。若网络服务供应商在配置该服务器c时,不仅将a服务所对应的接口添加至服务器c,还将b服务所对应的接口添加至服务器c。那么租户A在通过服务器c调用接口时,不仅可以调用a服务所对应的接口,还可以调用b服务所对应的接口。

由于在调用b服务所对应的接口实现b服务时,会消耗服务器c的硬件资源。而租户A所需调用的服务为a服务,这就降低了服务器c的资源的利用率。

在该种实施方式中,数据处理装置在确定第一服务器的至少一个第二接口与租户所需调用的至少一个第一接口相同,即第一服务器的至少一个第一接口为租户所需调用的至少一个第二接口的情况下,将服务调用请求路由至第一服务器,以使第一服务器调用至少一个第二接口满足租户的调用需求,从而提高第一服务器的硬件资源的利用率。

例如,租户所需调用的至少一个第一接口包括接口a和接口b。第一服务器的至少一个第二接口也包括接口a和接口b。那么,数据处理装置将该服务调用请求路由至第一服务器后,第一服务器的全部硬件资源均用于支持接口a和接口b,即第一服务器的全部硬件资源均用于满足租户的需求。

作为一种可选的实施方式,第一服务器属于微服务系统,该微服务系统包括与第一服务器不同的第二服务器,其中,第二服务器不是与目标租户域所对应的服务器。数据处理装置还在执行步骤102的过程中执行以下步骤:

9、在上述至少一个第一接口中存在与上述至少一个第二接口不同的接口的情况下,将上述服务调用请求路由至上述第一服务器和第二服务器,上述第二服务器用于调用上述至少一个第一接口中与上述至少一个第二接口不同的接口。

至少一个第一接口中存在与至少一个第二接口不同的接口,说明通过第一服务器无法满足租户的需求。因此,数据处理装置将服务调用请求路由至第一服务器和第二服务器,其中,第一服务器用于调用至少一个第二接口,第二服务器用于调用至少一个第一接口中与至少一个第二接口不同的接口,从而满足租户的需求。

例如,至少一个第一接口包括接口a、接口b和接口c,至少一个第二接口包括接口a和接口b。数据处理装置将服务调用请求路由至第一服务器和第二服务器,以通过第一服务器调用接口a和接口b,并通过第二服务器调用接口c。

应理解,第一服务器是为租户配置的服务器,即第一服务器所支持的至少一个第二接口为租户调用频率较高的接口。也就是说,至少一个第一接口中与至少一个第二接口不同的接口为租户调用频率较低的接口。

例如,网络服务供应商可提供a接口、b接口、c接口。由于租户A所需调用的服务通常为a接口和b接口,网络服务供应商在为租户A配置服务器B后,为提高服务器B的硬件资源的利用率,将服务器B所支持的接口配置为a接口和b接口。此时对租户A而言,a接口和b接口是调用频率较高的接口,c接口是调用频率较低的接口。

如步骤8所述,由于第一服务器所支持的接口为至少一个第二接口,第一服务器的硬件资源可全部用于调用至少一个第二接口,从而可提高第一服务器的硬件资源的利用率。而在第一服务器无法满足用户的需求的情况下,数据处理装置将服务调用请求路由至第一服务器和第二服务器,不仅可提高第一服务器的硬件资源的利用率,还可满足租户的需求。

作为一种可选的实施方式,第一服务器的至少一个接口包括第一接口。数据处理装置在执行步骤3的过程中执行以下步骤:

10、在上述第一接口的通信协议为第一通信协议的情况下,通过上述第一通信协议在上述租户端与上述第一服务器之间建立连接,上述租户端为发送上述服务调用请求的电子设备。

11、在上述第一接口的通信协议为第二通信协议的情况下,通过上述第二通信协议在上述租户端与上述第一服务器之间建立连接,上述租户端为发送上述服务调用请求的电子设备。

本步骤中,第一通信协议与第二通信协议不同,即数据处理装置依据第一接口的通信协议,选择相应的通信协议建立第一服务器与服务调用请求之间通信连接。

可选的,第一通信协议为超文本传输协议(hypertext transfer protocol,http),第二通信协议为缓冲协议(google protocol buffer,protobuf)。例如,服务调用请求的通信协议为http协议,若第一接口的通信协议为http协议,那么数据处理装置可通过http协议在第一接口与服务调用请求之间建立通信连接。

又例如,服务调用请求的通信协议为http协议,若第一接口的通信协议为protobuf协议,此时数据处理装置可通过protobuf协议在第一接口与服务调用请求之间建立通信连接。

在步骤7和步骤8中,数据处理装置可基于第一接口的通信协议,选择相应的通信协议建立通信连接。也就是说,无论第一接口是以何种通信协议开发得到,数据处理装置均可基于相应的通信协议将服务调用请求路由至第一服务器。由此可知,第一接口的开发人员可依据开发难度确定第一接口的通信协议,从而降低开发人员的开发难度。

例如,若发送服务调用请求的租户端所采用的通信协议不是http协议,那么以http协议开发该接口,将导致租户无法通过该租户端调用该接口,因此,需要采用protobuf协议进行开发。若发送服务调用请求的租户端所采用的通信协议是http协议,那么以http协议开发该接口,用户可通过该租户端调用该接口。

对于开发租户所需调用的接口而言,以http协议进行开发的难度低于以protobuf进行开发的难度。因此,在租户的租户端所使用的通信协议为http协议的情况下,开发人员可以http协议开发租户所需调用的接口;在租户的租户端所使用的通信协议不是http协议的情况下,开发人员可以protobuf协议开发租户所需调用的接口,从而保证租户可顺利调用接口。

可选的,数据处理装置在确定第一接口的通信协议为第二通信协议的情况下,在高性能远程过程调用(g remote procedure call,gRPC)框架下使用第二通信协议在租户端与第一服务器之间建立连接。

请参阅图2,图2是本申请实施例提供的另一种数据处理方法的流程示意图。

201、租户端接收上述数据处理装置发送的第一令牌,上述第一令牌包括目标租户域信息。

本申请实施例中,租户域与服务器之间具有映射关系,其中,服务器为硬件资源的载体。例如,租户A的租户域与服务器a之间具有映射关系表征,网络服务供应商为租户A配置的硬件资源为服务器a。

本步骤中,目标租户域信息包括使用租户端的租户(下文将称为目标租户)的身份信息,与目标租户域信息对应的服务器为,网络服务供应商为目标租户配置的硬件资源。

202、租户端依据上述第一令牌生成服务调用请求。

在一种可能实现的方式中,租户端将第一令牌与http请求头拼接,得到服务调用请求。

203、租户端向上述数据处理装置发送服务调用请求。

由于第一令牌包括目标租户域信息,租户端通过向数据处理装置发送依据第一令牌生成的服务调用请求,可通过数据处理装置调用为目标租户配置的硬件资源。

可选的,数据处理装置在接收到服务调用请求后,依据服务调用请求得到目标租户域信息,并将服务调用请求路由至目标租户域信息所对应的服务器。

本实施例中,租户端通过向数据处理装置发送依据第一令牌生成的服务调用请求,调用相应的服务,进而无需通过登录账号调用相应的服务,从而提升用户体验。

基于本申请实施例提供的技术方案,本申请实施例还提供了一种可能的应用场景。

随着人工智能技术的快速发展,人工智能的应用越来越广泛。考虑到开发人工智能应用的难度、成本,以及开发的人工智能应用的效果可能不佳的问题,越来越多的人和企业选择项人工智能服务供应商租用人工智能服务。

对于人工智能服务供应商而言,如何依据租户的需求,为租户配置相应的硬件资源,可提高硬件资源的利用率,并提升租户的用户体验。

请参阅图3,图3所示为租户通过租户端向人工智能服务供应商的数据处理装置租用服务的流程示意图。

301、租户端向数据处理装置发送租户域创建请求。

本申请实施例中,上述租户域创建请求包括租户所需调用的接口和租户的需求。例如,租户A需要调用接口a和接口b,租户A的需求为在1小时内处理完1000张图像。那么,在租户A通过租户端向数据处理装置发送的租户域创建请求中,包括租户A所需调用的接口包括接口a和接口b,租户A的需求为在1小时内处理完1000张图像。

302、数据处理装置依据租户域创建请求,得到租户域和秘钥对。

人工智能服务供应商的工作人员首先依据租户的需求,为租户配置相应的硬件资源,并通过数据处理装置为该硬件资源创建租户域,并生成秘钥对。具体的,工作人员通过数据处理装置将秘钥对中的公钥和租户的租户域信息添加至注册中心,并在公钥与张三的租户域信息之间建立映射,并将租户域信息添加至为租户配置的硬件资源的元数据中。

303、数据处理装置向租户端发送秘钥对中的私钥。

304、租户端依据私钥生成令牌生成请求。

租户端可依据私钥生成携带私钥的令牌生成请求。

305、租户端向数据处理装置发送令牌生成请求。

租户通过租户端向人工智能服务供应商的数据处理装置发送令牌生成请求,以使数据处理装置生成令牌。

306、数据处理装置依据令牌生成请求,生成第一令牌。

数据处理装置在接收到令牌生成请求后,解析该请求得到租户的私钥,并调用令牌生成接口生成第二令牌。服务器再依据该私钥从注册中心确定与私钥对应的公钥,并确定与该公钥对应的租户域信息。数据处理装置进而将该租户域信息添加到第二令牌中得到第一令牌。

307、数据处理装置向租户端发送第一令牌。

308、租户端依据第一令牌,生成服务调用请求。

在一种可能实现的方式中,租户端将第一令牌与http请求头拼接,得到服务调用请求。

309、租户端向数据处理装置发送服务调用请求。

310、数据处理装置将服务调用请求路由至第一服务器。

在租户端接收到第一令牌后,租户通过租户端向数据处理装置发送携带第一令牌的服务调用请求。数据处理装置对接收到的服务调用请求进行解析,得到第一令牌的有效期。数据处理装置在依据有效期确定第一令牌有效的情况下,解析第一令牌得到租户域信息。数据处理装置进而依据该租户域信息,将服务调用请求路由至相应的服务器,即第一服务器,以通过第一服务器为租户提供相应的服务。

本领域技术人员可以理解,在具体实施方式的上述方法中,各步骤的撰写顺序并不意味着严格的执行顺序而对实施过程构成任何限定,各步骤的具体执行顺序应当以其功能和可能的内在逻辑确定。

上述详细阐述了本申请实施例的方法,下面提供了本申请实施例的装置。

请参阅图4,图4为本申请实施例提供的一种数据处理装置的结构示意图,该装置1包括:获取单元11、处理单元12、解析单元13,其中:

获取单元11,用于获取服务调用请求和映射关系;所述服务调用请求携带目标租户域信息;所述映射关系表征租户域和服务器之间的映射;

处理单元12,用于依据所述映射关系,将所述服务调用请求路由至所述目标租户域信息所对应的第一服务器。

结合本申请任一实施方式,所述服务调用请求携带第一令牌;

所述处理单元11,用于:

解析所述第一令牌,得到目标租户域信息;

依据所述映射关系,得到与所述目标租户域信息对应的服务器,作为所述第一服务器;

将所述服务调用请求路由至所述第一服务器。

结合本申请任一实施方式,所述数据处理装置1还包括:解析单元13,用于在所述获取服务调用请求之前,在接收到租户端发送的令牌生成请求的情况下,解析所述令牌生成请求得到所述租户的秘钥,并调用令牌生成接口生成第二令牌;

所述处理单元12,还用于从注册中心确定与所述秘钥对应的租户域信息,作为所述目标租户域信息;

所述处理单元12,还用于将所述目标租户域信息添加至所述第二令牌,得到所述第一令牌。

结合本申请任一实施方式,所述服务器调用请求包括租户所需调用的至少一个第一接口;

所述处理单元12,用于:

依据所述映射关系,确定与所述目标租户域信息所对应的服务器,作为所述第一服务器;

在确定所述至少一个第一接口与所述第一服务器所支持的至少一个第二接口相同的情况下,将所述服务调用请求路由至所述第一服务器。

结合本申请任一实施方式,所述第一服务器属于微服务系统,所述微服务系统包括与所述第一服务不同的第二服务器,所述处理单元12,还用于:

在所述至少一个第一接口中存在与所述至少一个第二接口不同的接口的情况下,将所述服务调用请求路由至所述第一服务器和第二服务器,所述第二服务器用于调用所述至少一个第一接口中与所述至少一个第二接口不同的接口。

结合本申请任一实施方式,所述至少一个第二接口包括第三接口,所述处理单元12,还用于:

在所述第三接口的通信协议为第一通信协议的情况下,通过所述第一通信协议在租户端与所述第一服务器之间建立连接,所述租户端为发送所述服务调用请求的电子设备;

在所述第一接口的通信协议为第二通信协议的情况下,通过所述第二通信协议在租户端与所述第一服务器之间建立连接,所述租户端为发送所述服务调用请求的电子设备;

所述第一通信协议与所述第二通信协议不同。

请参阅图5,图5为本申请实施例提供的一种租户端的结构示意图,该租户端2包括:接收单元21、处理单元22、发送单元23,其中:

接收单元21,用于接收数据处理装置发送的第一令牌,所述第一令牌包括目标租户域信息;

处理单元22,用于依据所述第一令牌生成服务调用请求;

发送单元23,用于向所述数据处理装置发送服务调用请求。

在一些实施例中,本申请实施例提供的装置具有的功能或包含的模块可以用于执行上文方法实施例描述的方法,其具体实现可以参照上文方法实施例的描述,为了简洁,这里不再赘述。

图6为本申请实施例提供的一种数据处理装置的硬件结构示意图。该数据处理装置3包括处理器31,存储器32,输入装置33,输出装置34。该处理器31、存储器32、输入装置33和输出装置34通过连接器相耦合,该连接器包括各类接口、传输线或总线等等,本申请实施例对此不作限定。应当理解,本申请的各个实施例中,耦合是指通过特定方式的相互联系,包括直接相连或者通过其他设备间接相连,例如可以通过各类接口、传输线、总线等相连。

处理器31可以是一个或多个图形处理器(graphics processing unit,GPU),在处理器31是一个GPU的情况下,该GPU可以是单核GPU,也可以是多核GPU。可选的,处理器31可以是多个GPU构成的处理器组,多个处理器之间通过一个或多个总线彼此耦合。可选的,该处理器还可以为其他类型的处理器等等,本申请实施例不作限定。

存储器32可用于存储计算机程序指令,以及用于执行本申请方案的程序代码在内的各类计算机程序代码。可选地,存储器包括但不限于是随机存储记忆体(random accessmemory,RAM)、只读存储器(read-only memory,ROM)、可擦除可编程只读存储器(erasableprogrammable read only memory,EPROM)、或便携式只读存储器(compact disc read-only memory,CD-ROM),该存储器用于相关指令及数据。

输入装置33用于输入数据和/或信号,以及输出装置34用于输出数据和/或信号。输入装置33和输出装置34可以是独立的器件,也可以是一个整体的器件。

可理解,本申请实施例中,存储器32不仅可用于存储相关指令,还可用于存储相关数据,如该存储器32可用于存储通过输入装置33获取的服务调用请求,本申请实施例对于该存储器中具体所存储的数据不作限定。

可以理解的是,图6仅仅示出了一种数据处理装置的简化设计。在实际应用中,数据处理装置还可以分别包含必要的其他元件,包含但不限于任意数量的输入/输出装置、处理器、存储器等,而所有可以实现本申请实施例的数据处理装置都在本申请的保护范围之内。

图7为本申请实施例提供的一种租户端的硬件结构示意图。该租户端4包括处理器41,存储器42,输入装置43,输出装置44。该处理器41、存储器42、输入装置43和输出装置44通过连接器相耦合,该连接器包括各类接口、传输线或总线等等,本申请实施例对此不作限定。应当理解,本申请的各个实施例中,耦合是指通过特定方式的相互联系,包括直接相连或者通过其他设备间接相连,例如可以通过各类接口、传输线、总线等相连。

处理器41可以是一个或多个图形处理器(graphics processing unit,GPU),在处理器41是一个GPU的情况下,该GPU可以是单核GPU,也可以是多核GPU。可选的,处理器41可以是多个GPU构成的处理器组,多个处理器之间通过一个或多个总线彼此耦合。可选的,该处理器还可以为其他类型的处理器等等,本申请实施例不作限定。

存储器42可用于存储计算机程序指令,以及用于执行本申请方案的程序代码在内的各类计算机程序代码。可选地,存储器包括但不限于是随机存储记忆体(random accessmemory,RAM)、只读存储器(read-only memory,ROM)、可擦除可编程只读存储器(erasableprogrammable read only memory,EPROM)、或便携式只读存储器(compact disc read-only memory,CD-ROM),该存储器用于相关指令及数据。

输入装置43用于输入数据和/或信号,以及输出装置44用于输出数据和/或信号。输入装置43和输出装置44可以是独立的器件,也可以是一个整体的器件。

可理解,本申请实施例中,存储器42不仅可用于存储相关指令,还可用于存储相关数据,如该存储器42可用于存储通过输入装置43接收到的第一令牌,本申请实施例对于该存储器中具体所存储的数据不作限定。

可以理解的是,图7仅仅示出了一种租户端的简化设计。在实际应用中,租户端还可以分别包含必要的其他元件,包含但不限于任意数量的输入/输出装置、处理器、存储器等,而所有可以实现本申请实施例的数据处理装置都在本申请的保护范围之内。

本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。所属领域的技术人员还可以清楚地了解到,本申请各个实施例描述各有侧重,为描述的方便和简洁,相同或类似的部分在不同实施例中可能没有赘述,因此,在某一实施例未描述或未详细描述的部分可以参见其他实施例的记载。

在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。

在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者通过所述计算机可读存储介质进行传输。所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(digital subscriberline,DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,数字通用光盘(digital versatiledisc,DVD))、或者半导体介质(例如固态硬盘(solid state disk,SSD))等。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,该流程可以由计算机程序来指令相关的硬件完成,该程序可存储于计算机可读取存储介质中,该程序在执行时,可包括如上述各方法实施例的流程。而前述的存储介质包括:只读存储器(read-only memory,ROM)或随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可存储程序代码的介质。

相关技术
  • 数据处理方法、电子设备及相关产品
  • 基于AI的健康数据处理方法及相关产品
技术分类

06120112900816