基于微服务的镜像生成方法、装置、电子设备及存储介质制造方法及图纸

技术编号:37606988 阅读:18 留言:0更新日期:2023-05-18 11:58
本公开提供了一种基于微服务的镜像生成方法、装置、电子设备及存储介质,涉及人工智能技术领域,尤其涉及云计算的云应用引擎领域。具体实现方案为:响应于生成指令,获取所述生成指令所指示的微服务的程序包;其中,生成指令用于指示生成微服务的镜像;程序包中包括至少一个程序文件,程序文件用于表示运行微服务所需的数据;根据微服务的程序包中的程序文件,确定微服务的服务类型;其中,服务类型用于表示微服务的运行环境;根据预设的与微服务的服务类型对应的镜像分层规则,生成微服务的镜像,并将微服务的镜像推送到预设的镜像仓库中进行存储。通过自动生成镜像,减少镜像构建时间,提高镜像生成的效率和精度。提高镜像生成的效率和精度。提高镜像生成的效率和精度。

【技术实现步骤摘要】
基于微服务的镜像生成方法、装置、电子设备及存储介质


[0001]本公开涉及人工智能领域中的云计算领域和云应用引擎领域,尤其涉及一种基于微服务的镜像生成方法、装置、电子设备及存储介质。

技术介绍

[0002]在云原生时代,微服务部署的方式由传统的服务编译产出包部署变更为镜像部署。镜像是一种特殊的文件系统,包含容器运行时所需要的程序、库、资源和配置等文件。要制造部署所需要的镜像,需要编写一定的镜像文件代码。代码的编写对用户的专业要求较高,浪费大量的人力和时间,影响镜像生成的精度和效率。

技术实现思路

[0003]本公开提供了一种基于微服务的镜像生成方法、装置、电子设备及存储介质。
[0004]根据本公开的第一方面,提供了一种基于微服务的镜像生成方法,包括:
[0005]响应于生成指令,获取所述生成指令所指示的微服务的程序包;其中,所述生成指令用于指示生成微服务的镜像;所述程序包中包括至少一个程序文件,所述程序文件用于表示运行微服务所需的数据;
[0006]根据所述微服务的程序包中的程序文件,确定所述微服务的服务类型;其中,所述服务类型用于表示微服务的运行环境;
[0007]根据预设的与所述微服务的服务类型对应的镜像分层规则,生成所述微服务的镜像,并将所述微服务的镜像推送到预设的镜像仓库中进行存储。
[0008]根据本公开的第二方面,提供了一种基于微服务的镜像生成装置,包括:
[0009]获取单元,用于响应于生成指令,获取所述生成指令所指示的微服务的程序包;其中,所述生成指令用于指示生成微服务的镜像;所述程序包中包括至少一个程序文件,所述程序文件用于表示运行微服务所需的数据;
[0010]类型确定单元,用于根据所述微服务的程序包中的程序文件,确定所述微服务的服务类型;其中,所述服务类型用于表示微服务的运行环境;
[0011]生成单元,用于根据预设的与所述微服务的服务类型对应的镜像分层规则,生成所述微服务的镜像,并将所述微服务的镜像推送到预设的镜像仓库中进行存储。
[0012]根据本公开的第三方面,提供了一种电子设备,包括:
[0013]至少一个处理器;以及
[0014]与所述至少一个处理器通信连接的存储器;其中,
[0015]所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行本公开第一方面所述的方法。
[0016]根据本公开的第四方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,所述计算机指令用于使所述计算机执行本公开第一方面所述的方法。
[0017]根据本公开的第五方面,提供了一种计算机程序产品,所述计算机程序产品包括
计算机程序,该计算机程序被处理器执行时实现本公开第一方面所述的方法。
[0018]根据本公开的技术,提高了微服务镜像的生成效率和精度。
[0019]应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
[0020]附图用于更好地理解本方案,不构成对本公开的限定。其中:
[0021]图1是根据本公开实施例提供的一种基于微服务的镜像生成方法的流程示意图;
[0022]图2是根据本公开实施例提供的一种基于微服务的镜像生成方法的流程示意图;
[0023]图3是根据本公开实施例提供的一种基于微服务的镜像生成方法的流程示意图;
[0024]图4是根据本公开实施例提供的镜像层结构示意图;
[0025]图5是根据本公开实施例提供的一种基于微服务的镜像生成装置的结构框图;
[0026]图6是根据本公开实施例提供的一种基于微服务的镜像生成装置的结构框图;
[0027]图7是用来实现本公开实施例的基于微服务的镜像生成方法的电子设备的结构框图;
[0028]图8是用来实现本公开实施例的基于微服务的镜像生成方法的电子设备的结构框图。
具体实施方式
[0029]以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
[0030]在云原生时代,微服务部署的方式由传统的服务编译产出包部署变更为Docker(应用容器引擎)镜像部署。而Docker镜像是一种特殊的文件系统,包括容器运行时所需要的程序、库、资源和配置等文件,还包括为运行时准备的一些配置参数,如匿名卷、环境变量和用户标识等。
[0031]微服务要上云就必须依赖Docker镜像,但是要制造部署所需要的Docker镜像,需要根据专业知识编写一定的代码,专业要求较高,且对于不同的微服务开发者,在制造镜像时,代码格式不统一。
[0032]云原生厂商的镜像构建一般是基于Docker构建,生成镜像时,先在项目工程增加Docker file(文件),用户编写Docker定义的源语,描述镜像生成的流程。通过本地或服务器端读取Docker file的源语,通过Docker服务器解读运行,实现镜像的构建。使用过程中,若遇到问题还需要耗费时间和精力排查处理,浪费大量的人力和时间。
[0033]本公开提供一种基于微服务的镜像生成方法、装置、电子设备及存储介质,应用于人工智能领域中的云计算领域,尤其涉及云计算的云应用引擎领域,以提高镜像生成的效率和精度。
[0034]需要说明的是,本实施例中的数据并不是针对某一特定用户,并不能反映出某一特定用户的个人信息,且本实施例中的数据来自于公开数据集。
[0035]本公开的技术方案中,所涉及的信息或数据的收集、存储、使用、加工、传输、提供和公开等处理,均符合相关法律法规的规定,且不违背公序良俗。
[0036]为使读者更深刻地理解本公开的实现原理,现结合以下图1

图8所示的实施例进行进一步细化。
[0037]图1为根据本公开实施例提供的一种基于微服务的镜像生成方法的流程示意图,该方法可以由一种基于微服务的镜像生成装置执行。如图1所示,该方法包括以下步骤:
[0038]S101、响应于生成指令,获取生成指令所指示的微服务的程序包;其中,生成指令用于指示生成微服务的镜像;程序包中包括至少一个程序文件,程序文件用于表示运行微服务所需的数据。
[0039]示例性地,微服务使用平台可以获取待部署的微服务的程序包,并生成微服务的镜像,将微服务的镜像存储在平台的镜像仓库中。微服务使用平台可以是云应用平台,微服务使用平台中可以编写一个Java Server(服务),用于生成镜像,镜像生成的环节可以使用Java线程池。不同微服务的开发者可以将所开发的微服务的程序包上传本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于微服务的镜像生成方法,包括:响应于生成指令,获取所述生成指令所指示的微服务的程序包;其中,所述生成指令用于指示生成微服务的镜像;所述程序包中包括至少一个程序文件,所述程序文件用于表示运行微服务所需的数据;根据所述微服务的程序包中的程序文件,确定所述微服务的服务类型;其中,所述服务类型用于表示微服务的运行环境;根据预设的与所述微服务的服务类型对应的镜像分层规则,生成所述微服务的镜像,并将所述微服务的镜像推送到预设的镜像仓库中进行存储。2.根据权利要求1所述的方法,其中,所述响应于生成指令,获取所述生成指令所指示的微服务的程序包,包括:响应于定时发出的生成指令,确定待生成镜像的微服务,并从预设的任务数据库中确定所述微服务的程序包拉取方式;其中,所述程序包拉取方式用于表示拉取程序包时,程序包的来源;根据所述微服务的程序包拉取方式,获取所述微服务的程序包。3.根据权利要求2所述的方法,还包括:将与所述微服务对应的程序包拉取方式,预先存储在预设的任务数据库中;其中,所述程序包拉取方式包括从预设的拉包地址中拉取程序包,或从预设的程序包数据库中拉取程序包;所述拉包地址用于表示用户通过网页端输入的程序包的所在地址;所述程序包数据库用于表示存储程序包的数据库。4.根据权利要求3所述的方法,其中,所述程序包拉取方式为从预设的拉包地址中拉取程序包;所述根据所述微服务的程序包拉取方式,获取所述微服务的程序包,包括:获取用户通过网页端输入的超文本传输协议地址,从所述超文本传输协议地址中获取所述微服务的程序包;或者,获取用户通过网页端输入的拉包命令,从所述拉包命令中确定所述微服务的拉包地址,并从所述微服务的拉包地址中获取所述微服务的程序包;其中,所述拉包命令用于对程序包进行拉取。5.根据权利要求1

4中任一项所述的方法,还包括:将所述微服务的程序包解压到磁盘的预设存储位置中,得到所述微服务的程序包中的程序文件。6.根据权利要求1所述的方法,其中,所述根据预设的与所述微服务的服务类型对应的镜像分层规则,生成所述微服务的镜像,包括:根据预设的服务类型与镜像分层规则之间的关联关系,确定与所述微服务的服务类型对应的镜像分层规则;根据与所述微服务的服务类型对应的镜像分层规则,生成所述微服务的镜像层数据;根据所述微服务的镜像层数据,得到所述微服务的镜像。7.根据权利要求6所述的方法,其中,所述根据与所述微服务的服务类型对应的镜像分层规则,生成所述微服务的镜像层数据,包括:根据与所述微服务的服务类型对应的镜像分层规则,确定所述微服务的镜像层的数
量,以及各镜像层对应的镜像层数据生成方式;根据各镜像层对应的镜像层数据生成方式,生成所述微服务的各个镜像层的镜像层数据。8.根据权利要求7所述的方法,其中,所述镜像层为软件包配置层;所述软件包配置层中包括用户选择配置的软件包;所述根据各镜像层对应的镜像层数据生成方式,生成所述微服务的各个镜像层的镜像层数据,包括:响应于用户发出的软件包的自定义操作,确定用户所选择的软件包,为自定义软件包;获取所述自定义软件包,将所述自定义软件包作为镜像层数据,配置到所述软件包配置层中。9.根据权利要求6所述的方法,其中,所述根据所述微服务的镜像层数据,得到所述微服务的镜像,包括:根据与所述微服务的服务类型对应的镜像分层规则,确定所述微服务的镜像层的排序;根据所述微服务的镜像层的排序,将所述微服务的镜像层数据构建为所述微服务的镜像。10.根据权利要求1

9中任一项所述的方法,还包括:响应于微服务部署指令,确定待部署微服务;从镜像仓库中获取待部署微服务的镜像,并将待部署微服务的镜像部署到预设的服务器上。11.根据权利要求10所述的方法,其中,所述待部署微服务的镜像为至少两个;所述从镜像仓库中获取待部署微服务的镜像,并将待部署微服务的镜像部署到预设的服务器上,包括:响应于用户对待部署微服务的镜像的选择操作,从至少两个镜像中,确定待部署微服务的目标镜像;从所述镜像仓库中,获取待部署微服务的目标镜像,将所述目标镜像部署到预设的服务器上。12.一种基于微服务的镜像生成装置,包括:获取单元,用于响应于生成指令,获取所述生成指令所指示的微服务的程序包;其中,所述生成指令用于指示生成微服务的镜像;所述程序包中包括至少一个程序文件,所述程序文件用于表示运行微服务所需的数据;类型确定单元,用于根据所述微服务的程序包中的程序文件,确定所述微服务的服务类型;其中...

【专利技术属性】
技术研发人员:罗刚刘涛邵凯李奇原
申请(专利权)人:北京百度网讯科技有限公司
类型:发明
国别省市:

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

1