一种拆分大型应用服务为微服务的方法、装置及设备制造方法及图纸

技术编号:18444502 阅读:20 留言:0更新日期:2018-07-14 10:12
本发明专利技术公开了一种拆分大型应用服务为微服务的方法,该方法包括以下步骤:接收提取目标微服务的请求指令;通过方法跟踪技术从代码集合中拆分出对应的目标代码;对目标代码进行分类,并生成对应类别的模块;将模块封装成镜像文件;从镜像文件中提取目标微服务。应用本发明专利技术实施例所提供的技术方案,通过根据接收到的提取目标微服务的请求指令,拆分出对应的目标代码,对目标代码进行分类,生成对应类别的模块,将模块封装成镜像文件,从镜像文件中提取目标微服务。自动将大型应用服务差分成微服务,较大地降低了工作量,降低了工作成本,提高了拆分效率。本发明专利技术还公开了一种拆分大型应用服务为微服务的装置、设备及存储介质,具有相应技术效果。

Method, device and device for splitting large scale application service into micro service

The invention discloses a method of splitting the large application service as a micro service. The method includes the following steps: receiving the request instruction of extracting the target micro service; separating the corresponding target code from the code set through the method tracking technique; classifying the target code and generating the module corresponding to the class; sealing the module to the module. Mirror image file; extract target micro service from mirror file. The technical scheme provided by the embodiment of the invention is to separate the corresponding target code according to the request instruction of the received target micro service, classify the target code, generate the module of the corresponding category, encapsulate the module into the mirror file, and extract the target micro service from the mirror file. Automatically dividing large application services into micro services greatly reduces workload, reduces work cost and improves resolution efficiency. The invention also discloses a device, a device and a storage medium for splitting the large-scale application service into micro service, and has the corresponding technical effect.

【技术实现步骤摘要】
一种拆分大型应用服务为微服务的方法、装置及设备
本专利技术涉及计算机应用
,特别是涉及一种拆分大型应用服务为微服务的方法、装置、设备及可读存储介质。
技术介绍
随着计算机应用技术的发展,为了更好的发挥资源的利用率以及实现快速部署应用的目的,进行了应用容器化管理,把大型应用拆分成小的微服务。利用拆分成的微服务提供对外的服务,各个微服务互相关联、互相访问,最终形成一个统一的整体应用服务的功能。在这种情况下,既可以减轻单一服务的压力,还可以解决服务的高可用,因此利用微服务对外提供服务的技术得到了很多公司主流业务的使用,且该技术可以大力推广。现有技术中拆分大型应用服务为微服务是通过手动拆分完成的,手动拆分的过程大致包括:对应用划分功能模块,对各模块关键函数方法形成统一的标准调用接口和应用程序编程接口api,把每个模块做成容器镜像,配置自启动服务。但是,手动拆分的方式工作量很大,工作成本高,拆分效率低。
技术实现思路
为解决上述技术问题,本专利技术提供如下技术方案:一种拆分大型应用服务为微服务的方法,包括:接收提取目标微服务的请求指令;通过方法跟踪技术从预设的代码集合中拆分出所述请求指令对应的目标代码;根据所述目标代码的特征信息,对所述目标代码进行分类,并生成对应类别的模块;将所述模块的入口封装到主函数中,并将所述模块封装成提供所述目标微服务的镜像文件;通过所述主函数从所述镜像文件中提取所述目标微服务。在本专利技术的一种具体实施方式中,所述将所述模块的入口封装到主函数中,并将所述模块封装成提供所述目标微服务的镜像文件,包括:当调用测试脚本测试到所述模块的入口可用时,将所述模块的入口封装到主函数中,并将所述模块封装成提供所述目标微服务的镜像文件。在本专利技术的一种具体实施方式中,在所述将所述模块的入口封装到主函数中,并将所述模块封装成提供所述目标微服务的镜像文件之后,还包括:对所述镜像文件进行高可用部署和负载均衡部署。在本专利技术的一种具体实施方式中,在所述从所述镜像文件中提取所述目标微服务之后,还包括:为所述目标微服务部署服务功能。在本专利技术的一种具体实施方式中,所述根据所述目标代码的特征信息,对所述目标代码进行分类,包括:根据所述目标代码的请求路径,对所述目标代码进行分类。一种拆分大型应用服务为微服务的装置,包括:指令接收单元,用于接收提取目标微服务的请求指令;代码拆分单元,用于通过方法跟踪技术从预设的代码集合中拆分出所述请求指令对应的目标代码;模块生成单元,用于根据所述目标代码的特征信息,对所述目标代码进行分类,并生成对应类别的模块;封装单元,用于将所述模块的入口封装到主函数中,并将所述模块封装成提供所述目标微服务的镜像文件;微服务提取单元,用于通过所述主函数从所述镜像文件中提取所述目标微服务。在本专利技术的一种具体实施方式中,所述封装单元具体为当调用测试脚本测试到所述模块的入口可用时,将所述模块的入口封装到主函数中,并将所述模块封装成提供所述目标微服务的镜像文件的单元。在本专利技术的一种具体实施方式中,还包括:部署单元,用于对所述镜像文件进行高可用部署和负载均衡部署。一种拆分大型应用服务为微服务的设备,包括:存储器,用于存储计算机程序;处理器,用于执行所述计算机程序时实现如前所述拆分大型应用服务为微服务的方法的步骤。一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如前所述拆分大型应用服务为微服务的方法的步骤。应用本专利技术实施例所提供的技术方案,根据接收的请求指令,从代码集合中拆分出对应的目标代码,对目标代码进行分类,并生成对应类别的模块,将模块的入口封装到主函数中,并将模块封装成提供目标微服务的镜像文件,通过主函数从镜像文件中提取目标微服务。通过根据接收到的用户发送的提取目标微服务的请求指令,从代码集合中拆分出与请求指令对应的目标代码,对目标代码进行分类,生成对应类别的模块,并将模块的入口封装到主函数中,以便后续对目标微服务的调用,将模块封装成提供目标微服务的镜像文件,进行服务与环境的隔离,从镜像文件中提取目标微服务。自动将大型应用服务差分成微服务,较大地降低了工作量,降低了工作成本,提高了拆分效率。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本专利技术实施例中一种拆分大型应用服务为微服务的方法的实施流程图;图2为本专利技术实施例中一种拆分大型应用服务为微服务的装置的结构框图;图3为本专利技术实施例中一种拆分大型应用服务为微服务的设备的结构框图。具体实施方式为了使本
的人员更好地理解本专利技术方案,下面结合附图和具体实施方式对本专利技术作进一步的详细说明。显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。参见图1,为本专利技术实施例中一种拆分大型应用服务为微服务的方法的实施流程图,该方法可以包括以下步骤:S101:接收提取目标微服务的请求指令。当用户需要应用目标微服务时,可以向系统发送提取该目标微服务的请求指令。提取目标微服务的请求指令可以是提取添加服务、修改服务及删除服务中的一种或多种微服务的请求指令。系统接收提取目标微服务的请求指令。微服务指用容器管理的服务,每个服务即一个容器来管理,且可以对外提供服务。S102:通过方法跟踪技术从预设的代码集合中拆分出请求指令对应的目标代码。可以预先设置提供应用的全部代码的代码集合,当系统接收到提取目标微服务的请求指令时,通过方法跟踪技术以上传的方式或者共享的方式从代码集合中拆分出请求指令对应的目标代码,即本着通用的原则,对代码拆分时遵循MVC框架架构拆分原理,从代码集合中拆分出请求指令对应的目标代码。可以通过一个自动检查的脚本,自动得到请求的函数,请求的方法,请求的方法目前包括http和socker两种。S103:根据目标代码的特征信息,对目标代码进行分类,并生成对应类别的模块。通过方法跟踪技术从预设的代码集合中拆分出请求指令对应的目标代码后,可以根据目标代码的特征信息,调用分类脚本对目标代码进行分类,把相同的目标代码构成的方法函数和其需要依赖的调用函数统一得到,该过程就是自动编程生成对应类别的模块,如添加模块、修改模块以及删除模块,并对各个模块形成统一的标准调用接口和应用程序编程接口。S104:将模块的入口封装到主函数中,并将模块封装成提供目标微服务的镜像文件。当根据目标代码的特征信息,对目标代码进行分类,并生成对应类别的模块后,可以将模块的入口封装到主函数中,方便后续的提取到的目标微服务提供基本调用服务。此时,每个模块的基本微服务就有了雏形,进一步地,调用容器docker的build功能,自动将模块封装成提供目标微服务的镜像文件,过程相对简单。可以将得到的编译好的文件,自动把目标微服务做成容器里的服务,即linux系统中的服务,自动运行该目标微服务,且配置成后台自动运行,同时提供容器自动启动脚本本文档来自技高网
...

【技术保护点】
1.一种拆分大型应用服务为微服务的方法,其特征在于,包括:接收提取目标微服务的请求指令;通过方法跟踪技术从预设的代码集合中拆分出所述请求指令对应的目标代码;根据所述目标代码的特征信息,对所述目标代码进行分类,并生成对应类别的模块;将所述模块的入口封装到主函数中,并将所述模块封装成提供所述目标微服务的镜像文件;通过所述主函数从所述镜像文件中提取所述目标微服务。

【技术特征摘要】
1.一种拆分大型应用服务为微服务的方法,其特征在于,包括:接收提取目标微服务的请求指令;通过方法跟踪技术从预设的代码集合中拆分出所述请求指令对应的目标代码;根据所述目标代码的特征信息,对所述目标代码进行分类,并生成对应类别的模块;将所述模块的入口封装到主函数中,并将所述模块封装成提供所述目标微服务的镜像文件;通过所述主函数从所述镜像文件中提取所述目标微服务。2.根据权利要求1所述的方法,其特征在于,所述将所述模块的入口封装到主函数中,并将所述模块封装成提供所述目标微服务的镜像文件,包括:当调用测试脚本测试到所述模块的入口可用时,将所述模块的入口封装到主函数中,并将所述模块封装成提供所述目标微服务的镜像文件。3.根据权利要求1所述的方法,其特征在于,在所述将所述模块的入口封装到主函数中,并将所述模块封装成提供所述目标微服务的镜像文件之后,还包括:对所述镜像文件进行高可用部署和负载均衡部署。4.根据权利要求1至3任一项所述的方法,其特征在于,在所述通过所述主函数从所述镜像文件中提取所述目标微服务之后,还包括:为所述目标微服务部署服务功能。5.根据权利要求1所述的方法,其特征在于,所述根据所述目标代码的特征信息,对所述目标代码进行分类,包括:根据所述目标代码的请求路径,对所述目标代码进行分类。6...

【专利技术属性】
技术研发人员:段国栋
申请(专利权)人:郑州云海信息技术有限公司
类型:发明
国别省市:河南,41

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

1