云服务实现方法及装置制造方法及图纸

技术编号:35138307 阅读:23 留言:0更新日期:2022-10-05 10:13
本公开涉及一种云服务实现方法及装置,其中,本公开的方法中,通过采用用户自定义的应用镜像实现了云计算系统对于原生应用的支持,其中,应用镜像是基于用户上传至云计算系统中的原生应用得到;原生应用包括服务对应的函数代码以及服务对应的配置项的配置信息;且通过初始化容器方式为应用镜像注入所需依赖,解决了用户自定义镜像发布带来的运行时代理的二进制注入问题,保证用户开发的云计算服务即目标服务所对应的应用实例能够正常启动,进而保证客户端发送的业务请求能够被执行;从而实现了支持用户将多种不同类型的原生应用迁移至云计算系统,实现低成本无服务器化。此外,本公开的方法对用户的原有应用镜像不做构建阶段的侵入性修改。的侵入性修改。的侵入性修改。

【技术实现步骤摘要】
云服务实现方法及装置


[0001]本公开涉及云计算
,尤其涉及一种云服务实现方法及装置。

技术介绍

[0002]云计算时代出现了大量XaaS形式的概念,从基础设施即服务(Infrastructure as a Service,IaaS)、平台即服务(Platform as a Service,PaaS)、软件即服务(Software as a Service,SaaS)等等,它们都在试着将各种软、硬件资源等抽象为一种服务提供给开发者使用,让开发者们更加专注于业务逻辑,无需关注基础设施。
[0003]其中,函数即服务(Function

as

a

Service,FaaS),它基于无服务器运算(Serverless computing,Serverless)的理念进行塑造,是目前较为先进的云计算产品。FaaS为云中运行的应用程序提供了一种全新的系统体系结构,Faas通过部署用户提供函数代码,再通过事件机制触发函数代码执行。
[0004]然而,如何推进目前的Faas产品进一步向Serverless方向演进,优化Faas服务架构是当前亟待解决的问题。

技术实现思路

[0005]为了解决上述技术问题,本公开提供了一种云服务实现方法及装置。
[0006]第一方面,本公开实施例提供了一种云服务实现方法,其特征在于,包括:
[0007]响应客户端发送的业务请求,生成目标服务对应的应用实例;所述目标服务为所述业务请求所请求的云计算服务;
[0008]在所述应用实例中根据第一基础镜像创建初始化容器,再启动所述初始化容器,将所述第一基础镜像中的二进制执行文件写入所述应用实例对应的共享目录盘中;
[0009]在所述应用实例中基于相应的应用镜像创建应用容器,并从所述共享目录盘读取所述二进制执行文件注入到所述应用容器中;所述应用镜像是基于用户上传至云计算系统中的原生应用得到;所述原生应用包括所述目标服务对应的函数代码以及所述目标服务对应的配置项的配置信息;
[0010]运行所述应用容器中的所述二进制执行文件以启动运行时代理进程;以及,调用所述运行时代理进程控制所述应用实例中的运行时进程执行所述应用镜像中的文件以处理所述业务请求。
[0011]在一些实施例中,所述响应客户端发送的业务请求,生成目标服务对应的应用实例,包括:
[0012]在所述业务请求冷启动时,从冷启动资源池维护的多个空闲应用实例中调度一个空闲应用实例作所述目标服务对应的应用实例,所述多个空闲示例基于第二预设镜像创建;
[0013]在所述应用实例中基于相应的应用镜像创建应用容器,包括:
[0014]将所述空闲应用实例对应的业务容器中的第二基础镜像替换为所述应用镜像,并
重启以得到所述应用容器。
[0015]在一些实施例中,所述在所述应用实例中基于相应的应用镜像创建应用容器,包括:
[0016]从镜像仓库中拉取所述应用镜像的元信息;
[0017]基于所述应用镜像的元信息创建所述应用容器。
[0018]在一些实施例中,所述目标服务对应的配置项包括:监听端口、启动命令、健康检查接口以及函数生命周期中一项或多项。
[0019]在一些实施例中,所述在所述应用实例中根据第一基础镜像创建初始化容器之前,所述方法还包括:
[0020]调用所述云计算系统中的流量调用端口将所述业务请求对应的流量调度至所述应用实例;
[0021]调用所述云计算系统中的数据请求端口将所述业务请求转发给所述应用实例。
[0022]在一些实施例中,所述调用所述云计算系统中的数据请求端口将所述业务请求转发给所述应用实例,包括:
[0023]从各正在运行的应用实例分别对应的数据请求端口中,调用所述业务请求对应的应用实例对应的目标数据请求端口将所述业务请求转发给所述应用实例,所述目标数据请求端口支持的通信协议与所述业务请求采用的通信协议一致。
[0024]在一些实施例中,所述调用所述云计算系统中的数据请求端口将所述业务请求转发给所述应用实例之前,所述方法还包括:
[0025]对所述业务请求采用的通信协议进行识别得到识别结果,基于识别结果控制所述业务请求传输至多个网关中与所述业务请求的通信协议一致的网关,通过所述网关将所述业务请求转发至相应的数据请求端口;其中,所述多个网关分别用于转发不同通信协议的业务请求。
[0026]在一些实施例中,所述通过所述网关将所述业务请求转发至相应的数据请求端口,包括:
[0027]通过所述网关对所述业务请求的请求头进行解析得到服务的元信息,基于所述服务的元信息从相连接的多个数据请求端口中确定目标数据请求端口;以及,将所述业务请求转发至所述目标数据请求端口。
[0028]在一些实施例中,所述对所述业务请求采用的通信协议进行识别得到识别结果,基于识别结果控制所述业务请求传输至多个网关中与所述业务请求的通信协议一致的网关之前,所述方法还包括:
[0029]识别到所述客户端发送的所述业务请求采用第一指定通信协议时,将所述第一指定通信协议的业务请求转换为第二指定通信协议的业务请求。
[0030]在一些实施例中,所述响应客户端发送的业务请求,生成目标服务对应的应用实例之前,还包括:
[0031]接收所述客户端发送的所述业务请求,并从多种接口定义语言中确定与所述业务请求所采用的通信协议对应的目标接口定义语言;
[0032]基于所述目标接口定义语言生成所述业务请求对应的事件对象,以及,将所述业务请求对应的事件对象发送至所述目标服务,以触发所述目标服务响应所述业务请求生成
所述应用实例。
[0033]第二方面,本公开提供了一种云服务实现装置,包括:
[0034]实例生成模块,用于响应客户端发送的业务请求,生成目标服务对应的应用实例;所述目标服务为所述业务请求所请求的云计算服务;
[0035]第一处理模块,用于在所述应用实例中根据第一基础镜像创建初始化容器,再启动所述初始化容器,将所述第一基础镜像中的二进制执行文件写入所述应用实例对应的共享目录盘中;
[0036]第二处理模块,用于在所述应用实例中基于相应的应用镜像创建应用容器,并从所述共享目录盘读取所述二进制执行文件注入到所述应用容器中;所述应用镜像是基于用户上传至云计算系统中的原生应用得到;所述原生应用包括所述目标服务对应的函数代码以及所述目标服务对应的配置项的配置信息;
[0037]运行模块,用于运行所述应用容器中的所述二进制执行文件以启动运行时代理进程;以及,调用所述运行时代理进程控制所述应用实例中的运行时进程执行所述应用镜像中的文件以处理所述业务请求。
[0038]第三方面,本公开提供了一种电子设备,存储器和处理器;
[0039]所述存储器被配置为存储计算机程序指令;
[0040]所述处理器被配置为执行所述本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种云服务实现方法,其特征在于,包括:响应客户端发送的业务请求,生成目标服务对应的应用实例;所述目标服务为所述业务请求所请求的云计算服务;在所述应用实例中根据第一基础镜像创建初始化容器,再启动所述初始化容器,将所述第一基础镜像中的二进制执行文件写入所述应用实例对应的共享目录盘中;在所述应用实例中基于相应的应用镜像创建应用容器,并从所述共享目录盘读取所述二进制执行文件注入到所述应用容器中;所述应用镜像是基于用户上传至云计算系统中的原生应用得到;所述原生应用包括所述目标服务对应的函数代码以及所述目标服务对应的配置项的配置信息;运行所述应用容器中的所述二进制执行文件以启动运行时代理进程;以及,调用所述运行时代理进程控制所述应用实例中的运行时进程执行所述应用镜像中的文件以处理所述业务请求。2.根据权利要求1所述的方法,其特征在于,所述响应客户端发送的业务请求,生成目标服务对应的应用实例,包括:在所述业务请求冷启动时,从冷启动资源池维护的多个空闲应用实例中调度一个空闲应用实例作所述目标服务对应的应用实例,所述多个空闲示例基于第二预设镜像创建;在所述应用实例中基于相应的应用镜像创建应用容器,包括:将所述空闲应用实例对应的业务容器中的第二基础镜像替换为所述应用镜像,并重启以得到所述应用容器。3.根据权利要求1或2所述的方法,其特征在于,所述在所述应用实例中基于相应的应用镜像创建应用容器,包括:从镜像仓库中拉取所述应用镜像的元信息;基于所述应用镜像的元信息创建所述应用容器。4.根据权利要求1所述的方法,其特征在于,所述目标服务对应的配置项包括:监听端口、启动命令、健康检查接口以及函数生命周期中一项或多项。5.根据权利要求1所述的方法,其特征在于,所述在所述应用实例中根据第一基础镜像创建初始化容器之前,所述方法还包括:调用所述云计算系统中的流量调用端口将所述业务请求对应的流量调度至所述应用实例;调用所述云计算系统中的数据请求端口将所述业务请求转发给所述应用实例。6.根据权利要求5所述的方法,其特征在于,所述调用所述云计算系统中的数据请求端口将所述业务请求转发给所述应用实例,包括:从各正在运行的应用实例分别对应的数据请求端口中,调用所述业务请求对应的应用实例对应的目标数据请求端口将所述业务请求转发给所述应用实例,所述目标数据请求端口支持的通信协议与所述业务请求采用的通信协议一致。7.根据权利要求6所述的方法,其特征在于,所述调用所述云计算系统中的数据请求端口将所述业务请求转发给所述应用实例之前,所述方法还包括:对所述业务请求采用的通信协议进行识别得到识别结果,基于识别结果控制所述业务请求传输至多个网关中与所述业务请求的通信协议一致的网关,通过所述网关将所述业务
请求转发至相应的数据请求端口;其中,所述多个网...

【专利技术属性】
技术研发人员:杨华辉阔鑫陈辉
申请(专利权)人:北京火山引擎科技有限公司
类型:发明
国别省市:

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

1