用于跨多个云平台部署用户方法的方法和系统与流程

文档序号:36229965发布日期:2023-11-30 20:23阅读:41来源:国知局
用于跨多个云平台部署用户方法的方法和系统与流程

本公开整体涉及计算机领域,并且具体地涉及用于跨多个云平台部署用户方法的方法、设备、计算机系统和介质。


背景技术:

1、云计算技术得到了日益广泛的应用。不同的云厂商提供了不同的云平台。开发人员可以编写与应用和计算实例相关联的代码,并将应用和计算实例部署在一个或多个云平台上,从而减少本地部署服务器的需要。来自用户的请求可以被该一个或多个云平台中的合适的云平台服务。

2、然而,跨多个云平台部署用户的应用和计算实例可能存在许多问题。例如,对于包含函数(function)及其相应方法(method)的用户代码,不同的云平台对于函数规范的定义可能不同。这导致在跨云平台进行函数开发时,开发人员需要针对不同的云平台进行不同的开发处理,增加了开发人员的工作量和复杂度。类似地,如果需要针对不同的云平台进行不同的部署处理,则这也可能会增加开发人员的工作量和学习成本,同时也会增加部署和管理的复杂度。而且,如果在函数调用时需要遍历所有的函数定义才能定位到特定的用户函数,则这可能会降低函数调用的效率。此外,还面临一个或多个其他问题。


技术实现思路

1、本公开旨在提供一种用于跨多个云平台部署用户的方法、设备、计算机系统和介质。

2、根据本公开的一些实施例,提供了一种用于跨多个云平台部署用户方法的方法,包括:在编译用户类的过程中:识别用户类中定义的一个或多个目标方法;将一个或多个目标方法中的每个目标方法的方法名、参数列表以及用户类的类名记录到第一数据文件中,作为目标方法的目标方法定义;生成一个或多个用户目标方法中的每个目标方法的方法标识符,并将方法标识符记录在第一数据文件中;在多个云平台中的特定云平台处,将入口函数设置为与特定云平台对应的特定入口函数,特定入口函数具有用户类的类名作为参数;基于在特定云平台处接收到的http请求,从第一数据文件检索特定目标方法定义;基于特定目标方法定义,调用一个或多个目标方法中的特定目标方法以服务http请求。

3、根据本公开的一些实施例,一个或多个目标方法的封装不特定于多个云平台中的每个云平台的封装规范。

4、根据本公开的一些实施例,参数列表包括参数名和参数类型。

5、根据本公开的一些实施例,识别用户类中定义的一个或多个目标方法包括:扫描用户类的代码以识别标记有特定注解字段的一个或多个目标方法。

6、根据本公开的一些实施例,方法还包括:生成第二数据文件,第二数据文件记录与一个或多个用户目标方法中的每个目标方法对应的相应api信息,相应的api信息包括:http方法类型、http请求路径和目标方法的方法标识符。

7、根据本公开的一些实施例,从第一数据文件检索特定目标方法定义包括:基于与http请求相关联的http方法类型和http请求路径,从第二数据文件中识别特定api信息;基于所识别的特定api信息中的方法标识符,从第一数据文件检索匹配的目标方法定义,作为特定目标方法定义。

8、根据本公开的一些实施例,基于特定目标方法定义调用特定目标方法包括:基于特定目标方法定义中的特定方法名和特定参数列表,检索特定用户目标方法;将特定入口函数的参数转换为特定参数列表的参数;以及通过反射机制调用特定目标方法以服务http请求。

9、根据本公开的一些实施例,第一数据文件是第一json文件,第二数据文件是第二json文件,第一json文件和第二json文件被包含在编译用户类所生成的编译文件中。

10、根据本公开的一些实施例,方法还包括:定义抽象处理类,抽象处理类实现用于多个云平台中的每个云平台的规范方法封装;其中,用户类继承抽象处理类。

11、根据本公开的一些实施例,每个目标方法的方法标识符是基于该目标方法的方法名和参数列表而生成的唯一标识符。

12、根据本公开的一些实施例,每个目标方法的方法标识符是基于该目标方法的方法名和参数列表而生成的散列值。

13、根据本公开的一些实施例,多个云平台包括以下各项中的一个或多个:亚马逊awslambda平台、阿里云function compute平台、微软azure function app平台、腾讯云scf平台,华为云function graph平台。

14、根据本公开的一些实施例,用户类是以以下各项中的一种编写的:java、python、c#、nodejs、golang。

15、根据本公开一些实施例,提供了一种计算机系统,包括:一个或多个处理器,和与所述一个或多个处理器耦接的存储器,所述存储器存储计算机可读程序指令,所述指令在被所述一个或多个处理器执行时执行如上所述的方法。

16、根据本公开一些实施例,提供了一种计算机可读存储介质,其上存储计算机可读程序指令,所述指令在被所述处理器执行时执行如上所述的方法。

17、根据本公开一些实施例,提供了一种用于跨多个云平台部署用户方法的计算机设备,包括用于实现如上所述的方法的步骤的装置。



技术特征:

1.一种用于跨多个云平台部署用户方法的方法,包括:

2.如权利要求1所述的方法,其中,所述一个或多个目标方法的封装不特定于所述多个云平台中的每个云平台的封装规范。

3.如权利要求1所述的方法,其中,所述参数列表包括参数名和参数类型。

4.如权利要求1所述的方法,其中,识别用户类中定义的一个或多个目标方法包括:

5.如权利要求1所述的方法,其中,所述方法还包括:

6.如权利要求5所述的方法,其中,从所述第一数据文件检索特定目标方法定义包括:

7.如权利要求1所述的方法,其中,基于所述特定目标方法定义调用所述特定目标方法包括:

8.如权利要求5所述的方法,其中,所述第一数据文件是第一json文件,所述第二数据文件是第二json文件,所述第一json文件和所述第二json文件被包含在编译所述用户类所生成的编译文件中。

9.如权利要求1所述的方法,其中,所述方法还包括:

10.如权利要求1所述的方法,其中,每个目标方法的方法标识符是基于该目标方法的方法名和参数列表而生成的唯一标识符。

11.如权利要求10所述的方法,其中,每个目标方法的方法标识符是基于该目标方法的方法名和参数列表而生成的散列值。

12.如权利要求1所述的方法,其中,所述多个云平台包括以下各项中的一个或多个:亚马逊aws lambda平台、阿里云function compute平台、微软azure function app平台、腾讯云scf平台、华为云function graph平台。

13.如权利要求1所述的方法,其中,所述用户类是以以下各项中的一种编写的:java、python、c#、nodejs、golang。

14.一种计算机系统,所述计算机系统包括一个或多个处理器和与一个或多个处理器耦接的存储器,所述存储器存储计算机可读程序指令,所述指令在被所述一个或多个处理器执行时使得执行如权利要求1-13中任一项所述的方法。

15.一种计算机可读存储介质,其上存储计算机可读程序指令,所述指令在被一个或多个处理器执行时使得执行如权利要求1-13中任一项所述的方法。

16.一种计算机设备,包括用于执行如权利要求1-13中任一项所述的方法的装置。


技术总结
公开了用于跨多个云平台部署用户方法的方法和系统。该方法包括:在编译用户类的过程中识别用户类中定义的目标方法;将目标方法的方法名、参数列表以及用户类的类名记录到第一数据文件中,作为目标方法定义;生成目标方法的方法标识符,并将方法标识符记录在第一数据文件中;在多个云平台中的特定云平台处,将入口函数设置为与特定云平台对应的特定入口函数,特定入口函数具有用户类的类名作为参数;基于在特定云平台处接收到的HTTP请求,从第一数据文件检索特定目标方法定义;基于特定目标方法定义,调用一个或多个目标方法中的特定目标方法以服务HTTP请求。

技术研发人员:杨帆,金杰,韩松江
受保护的技术使用者:领悦数字信息技术有限公司
技术研发日:
技术公布日:2024/1/16
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1