用于跨多个云平台部署用户方法的方法和系统技术方案

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

【技术实现步骤摘要】
用于跨多个云平台部署用户方法的方法和系统


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

技术介绍

[0002]云计算技术得到了日益广泛的应用。不同的云厂商提供了不同的云平台。开发人员可以编写与应用和计算实例相关联的代码,并将应用和计算实例部署在一个或多个云平台上,从而减少本地部署服务器的需要。来自用户的请求可以被该一个或多个云平台中的合适的云平台服务。
[0003]然而,跨多个云平台部署用户的应用和计算实例可能存在许多问题。例如,对于包含函数(function)及其相应方法(method)的用户代码,不同的云平台对于函数规范的定义可能不同。这导致在跨云平台进行函数开发时,开发人员需要针对不同的云平台进行不同的开发处理,增加了开发人员的工作量和复杂度。类似地,如果需要针对不同的云平台进行不同的部署处理,则这也可能会增加开发人员的工作量和学习成本,同时也会增加部署和管理的复杂度。而且,如果在函数调用时需要遍历所有的函数定义才能定位到特定的用户函数,则这可能会降低函数调用的效率。此外,还面临一个或多个其他问题。

技术实现思路

[0004]本公开旨在提供一种用于跨多个云平台部署用户的方法、设备、计算机系统和介质。
[0005]根据本公开的一些实施例,提供了一种用于跨多个云平台部署用户方法的方法,包括:在编译用户类的过程中:识别用户类中定义的一个或多个目标方法;将一个或多个目标方法中的每个目标方法的方法名、参数列表以及用户类的类名记录到第一数据文件中,作为目标方法的目标方法定义;生成一个或多个用户目标方法中的每个目标方法的方法标识符,并将方法标识符记录在第一数据文件中;在多个云平台中的特定云平台处,将入口函数设置为与特定云平台对应的特定入口函数,特定入口函数具有用户类的类名作为参数;基于在特定云平台处接收到的HTTP请求,从第一数据文件检索特定目标方法定义;基于特定目标方法定义,调用一个或多个目标方法中的特定目标方法以服务HTTP请求。
[0006]根据本公开的一些实施例,一个或多个目标方法的封装不特定于多个云平台中的每个云平台的封装规范。
[0007]根据本公开的一些实施例,参数列表包括参数名和参数类型。
[0008]根据本公开的一些实施例,识别用户类中定义的一个或多个目标方法包括:扫描用户类的代码以识别标记有特定注解字段的一个或多个目标方法。
[0009]根据本公开的一些实施例,方法还包括:生成第二数据文件,第二数据文件记录与一个或多个用户目标方法中的每个目标方法对应的相应API信息,相应的API信息包括:HTTP方法类型、HTTP请求路径和目标方法的方法标识符。
[0010]根据本公开的一些实施例,从第一数据文件检索特定目标方法定义包括:基于与HTTP请求相关联的HTTP方法类型和HTTP请求路径,从第二数据文件中识别特定API信息;基于所识别的特定API信息中的方法标识符,从第一数据文件检索匹配的目标方法定义,作为特定目标方法定义。
[0011]根据本公开的一些实施例,基于特定目标方法定义调用特定目标方法包括:基于特定目标方法定义中的特定方法名和特定参数列表,检索特定用户目标方法;将特定入口函数的参数转换为特定参数列表的参数;以及通过反射机制调用特定目标方法以服务HTTP请求。
[0012]根据本公开的一些实施例,第一数据文件是第一JSON文件,第二数据文件是第二JSON文件,第一JSON文件和第二JSON文件被包含在编译用户类所生成的编译文件中。
[0013]根据本公开的一些实施例,方法还包括:定义抽象处理类,抽象处理类实现用于多个云平台中的每个云平台的规范方法封装;其中,用户类继承抽象处理类。
[0014]根据本公开的一些实施例,每个目标方法的方法标识符是基于该目标方法的方法名和参数列表而生成的唯一标识符。
[0015]根据本公开的一些实施例,每个目标方法的方法标识符是基于该目标方法的方法名和参数列表而生成的散列值。
[0016]根据本公开的一些实施例,多个云平台包括以下各项中的一个或多个:亚马逊AWS Lambda平台、阿里云Function Compute平台、微软Azure Function App平台、腾讯云SCF平台,华为云Function Graph平台。
[0017]根据本公开的一些实施例,用户类是以以下各项中的一种编写的:JAVA、python、C#、NodeJS、golang。
[0018]根据本公开一些实施例,提供了一种计算机系统,包括:一个或多个处理器,和与所述一个或多个处理器耦接的存储器,所述存储器存储计算机可读程序指令,所述指令在被所述一个或多个处理器执行时执行如上所述的方法。
[0019]根据本公开一些实施例,提供了一种计算机可读存储介质,其上存储计算机可读程序指令,所述指令在被所述处理器执行时执行如上所述的方法。
[0020]根据本公开一些实施例,提供了一种用于跨多个云平台部署用户方法的计算机设备,包括用于实现如上所述的方法的步骤的装置。
附图说明
[0021]通过结合附图对本公开示例性实施方式进行更详细的描述,本公开的上述以及其它目的、特征和优势将变得更加明显,其中,在本公开示例性实施方式中,相同的参考标号通常代表相同部件。
[0022]图1示出了适于用来实现本专利技术实施方式的示例性计算机系统/服务器的框图。
[0023]图2示出了根据本公开的实施例的用于跨多个云平台部署用户的方法的流程图。
[0024]图3示出了根据本公开的实施例的基于来自用户的HTTP请求从第一数据文件检索特定目标方法定义的方法的流程图。
[0025]图4示出了根据本公开的实施例的基于特定目标方法定义调用特定目标方法的方法的流程图。
具体实施方式
[0026]下面将参照附图更详细地描述本公开的优选实施方式。虽然附图中显示了本公开的优选实施方式,然而应该理解,可以以各种形式实现本公开而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。
[0027]图1示出了适于用来实现本专利技术实施方式的示例性计算机系统/服务器12的框图。图1显示的计算机系统/服务器12仅仅是示例,不应对本专利技术实施例的功能和使用范围带来任何限制。
[0028]如图1所示,计算机系统/服务器12以通用计算设备的形式表现。计算机系统/服务器12的组件可以包括但不限于:一个或者多个处理器或者处理单元16,系统存储器(又称为内存)28,连接不同系统组件(包括系统存储器28和处理单元16)的总线18。
[0029]系统存储器28可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(RAM)30和/或高速缓存存储器32。计算机系统/服务器12可以进一步包括其它可移动/不可移动的、易失性/非易失性计本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种用于跨多个云平台部署用户方法的方法,包括:在编译用户类的过程中:识别用户类中定义的一个或多个目标方法;将所述一个或多个目标方法中的每个目标方法的方法名、参数列表以及所述用户类的类名记录到第一数据文件中,作为所述目标方法的目标方法定义;生成所述一个或多个用户目标方法中的每个目标方法的方法标识符,并将所述方法标识符记录在所述第一数据文件中;在所述多个云平台中的特定云平台处,将入口函数设置为与所述特定云平台对应的特定入口函数,所述特定入口函数具有所述用户类的类名作为参数;基于在所述特定云平台处接收到的HTTP请求,从所述第一数据文件检索特定目标方法定义;基于所述特定目标方法定义,调用所述一个或多个目标方法中的特定目标方法以服务所述HTTP请求。2.如权利要求1所述的方法,其中,所述一个或多个目标方法的封装不特定于所述多个云平台中的每个云平台的封装规范。3.如权利要求1所述的方法,其中,所述参数列表包括参数名和参数类型。4.如权利要求1所述的方法,其中,识别用户类中定义的一个或多个目标方法包括:扫描所述用户类的代码以识别标记有特定注解字段的一个或多个目标方法。5.如权利要求1所述的方法,其中,所述方法还包括:生成第二数据文件,所述第二数据文件记录与所述一个或多个用户目标方法中的每个目标方法对应的相应API信息,所述相应的API信息包括:HTTP方法类型、HTTP请求路径和所述目标方法的方法标识符。6.如权利要求5所述的方法,其中,从所述第一数据文件检索特定目标方法定义包括:基于与所述HTTP请求相关联的HTTP方法类型和HTTP请求路径,从第二数据文件中识别特定API信息;基于所识别的特定API信息中的方法标识符,从所述第一数据文件检索匹配的目标方法定义,作为所述特定目标方法定义。7.如权利要求1所述的方法,其中,基于所述特定目标方法定义调用所述特定目标方法包括:基于所述特定目标方法定义中的特定方法名和特定参数列表,检...

【专利技术属性】
技术研发人员:杨帆金杰韩松江
申请(专利权)人:领悦数字信息技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1