微服务编排自动代码生成方法及系统技术方案

技术编号:27131245 阅读:17 留言:0更新日期:2021-01-25 20:05
本发明专利技术提供了一种微服务编排自动代码生成方法及系统。该方法包括:通过可视化接口,利用已开发的技术组件和业务组件进行流程编排;根据完成编排操作后的流程,自动生成可以在微服务平台上运行的代码。本发明专利技术提供的微服务编排自动代码生成方法及系统能够根据编排好的流程处理模块自动的生成代码,提高了流程处理效率。效率。效率。

【技术实现步骤摘要】
微服务编排自动代码生成方法及系统


[0001]本专利技术涉及微服务架构
,特别是涉及一种微服务编排自动代码生成方法及系统。

技术介绍

[0002]在中国专利申请CN111142867A中,提到微服务架构是一项在云中部署应用和服务的新技术。微服务可以在“自己的程序”中运行,并通过“轻量级设备与http型api进行沟通”。关键在于该服务可以在自己的程序中运行。通过这一点我们就可以将服务公开与微服务架构(在现有系统中分布一个api)区分开来。在服务公开中,许多服务都可以被内部独立进程所限制。如果其中任何一个服务需要增加某种功能,那么就必须缩小进程范围。在微服务架构中,只需要在特定的某种服务中增加所需功能,而不影响整体进程的架构。
[0003]api(application programming interface,应用程序接口)是一些预先定义的函数,或指软件系统不同组成部分衔接的约定。目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力,而又无需访问原码,或理解内部工作机制的细节。
[0004]通过微服务编排可以把已经开发好的api服务无需任何代码就可以进行业务逻辑的重组与重构,可以提升api服务的复用效率实现前台业务或业务系统集成的敏捷交付,通过微服务编排平台也能把业务系统、数据、业务逻辑进行解藕,业务逻辑的编排交由专门的微服务编排平台完成,而api服务只需要专注完成自已内部的逻辑即可。
[0005]然而,CN111142867A公开的技术方案中,只是生成流程处理模版,并没有直接通过服务的编排自动生成代码。

技术实现思路

[0006]本专利技术要解决的技术问题是提供一种微服务编排自动代码生成方法及系统,能够根据编排好的流程处理模块自动的生成代码,提高了流程处理效率。
[0007]为解决上述技术问题,本专利技术提供了一种微服务编排自动代码生成方法,所述方法包括:通过可视化界面,利用已开发的基础服务组件和业务服务组件进行流程编排;根据完成编排操作后的流程,自动生成可以在微服务平台上运行的代码。
[0008]在一些实施方式中,编排得到的流程包括:顺序、分支、循环、同步、异步、强制执行的流程控制方式。
[0009]在一些实施方式中,还包括:对自动生成的代码运行测试。
[0010]在一些实施方式中,还包括:在通过可视化接口,利用已开发的基础服务组件和业务服务组件进行流程编排之前,对流程编排过程中所需的业务逻辑处理进行统一规则创建和管理。
[0011]在一些实施方式中,还包括:在通过可视化接口,利用已开发的基础服务组件和业务服务组件进行流程编排之后,对流程编排过程中使用的业务逻辑处理进行统一规则创建和管理。
[0012]在一些实施方式中,进行流程编排的组件还包括:兼具有基础服务和业务服务的组合服务组件。
[0013]在一些实施方式中,可视化界面为:Eclipse插件框架开发的一套图形化工具插件界面。
[0014]此外,本专利技术还提供了一种微服务编排自动代码生成系统,所述系统包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现根据前文所述的微服务编排自动代码生成方法。
[0015]采用这样的设计后,本专利技术至少具有以下优点:
[0016]在利用可视化界面执行了流程编排之后,根据编排好的流程自动生成流程代码,使得对流程的运行效率大幅提升。
附图说明
[0017]上述仅是本专利技术技术方案的概述,为了能够更清楚了解本专利技术的技术手段,以下结合附图与具体实施方式对本专利技术作进一步的详细说明。
[0018]图1是本专利技术实施例提供的微服务编排自动代码生成方法的流程图;
[0019]图2是本专利技术实施例提供的微服务架构下的服务可视化流程调度编排系统的系统架构图;
[0020]图3是本专利技术实施例提供的流程编排平台的平台架构图;
[0021]图4是本专利技术实施例提供的组合服务平台的平台架构图;
[0022]图5是本专利技术实施例提供的微服务编排自动代码生成系统的结构图。
具体实施方式
[0023]以下结合附图对本专利技术的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本专利技术,并不用于限定本专利技术。
[0024]参见图1,微服务编排是指把已经开发好的微服务api接口(restful、webservice、dubbo、grpc等)按照一定的业务逻辑和流程进行可视化编排的过程,微服务编排平台会在内部构建一个流程调度引擎进行自动化的调度或者重新聚合为一个新的微服务api进行发布。
[0025]相对于现有的微服务编排,本专利技术技术方案的关键点在于,可以根据完成编排的流程进行自动的代码生成。根据本专利技术提供的技术方案完成流程编排和代码自动生成之后,自然就获取到了编排流程的可执行代码。再次运行上述流程,仅需要执行对应的代码,能够提高流程的运行效率。
[0026]微服务架构下的服务可视化流程调度编排系统都如图2所示。参见图2,可视化流程调度编排系统包括:流程调度引擎,在流程调度引擎上,运行有前处理组件、后处理组件。前处理组件完成运行流程的前处理;后处理组件完成运行流程的后处理。前处理及后处理主要包括:对流程编排过程中的业务逻辑处理进行统一规则创建和管理。
[0027]在前处理组件和后处理组件之间,是组成系统运行流程的技术组件和业务组件。技术组件又被称为基础服务组件。业务组件又被称为业务服务组件。
[0028]包括用于监控正在调度和运行中的流程,并进行流程运行状态可视化显示和回放的编排流程监控模块。
[0029]用于对api采用可视化拖、拉、拽的方式组合编排出新的流程的可视化流程编排模块;用于将已编排好的流程重新发布为一个新的api,将已有的基础服务、业务服务、组合服务,进行流程编排,包括顺序、分支、循环、同步、异步、强制执行等流程控制方式并对新发布的api进行管理和测试的api服务管理模块。
[0030]用于对流程编排过程中所需的业务逻辑处理进行统一规则创建和管理的规则管理模块。
[0031]用于对已编排流程设定流程运行频率,并根据流程运行频率调度已编排流程的调度频率配置模块。
[0032]以及用于在内存中根据编排的节点流程进行节点构建代码并推进执行。
[0033]图3示出了流程编排平台的平台架构。参见图3,流程编排平台通过将串行、并行、分支、循环等流程控制组件集合至资源池中,再根据资源池中的流程控制组件构建服务编排模型,自动生成代码,以及执行服务测试。
[0034]参见图4,IDE是组合服务平台的一个重要组成部分。IDE是基于Eclipse插件框架开发的一套图形化工具插件,以多种视图、向导、编辑器等图形化的模式引导开发人员自动生成并管理组合服务平台的各类资源。如果这些资源的相关配置文件全部由手工编写,则工作量巨大,过程困难繁琐,并且容易出本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种微服务编排自动代码生成方法,其特征在于,包括:通过可视化界面,利用已开发的基础服务组件和业务服务组件进行流程编排;根据完成编排操作后的流程,自动生成可以在微服务平台上运行的代码。2.根据权利要求1所述的为服务编排自动代码生成方法,其特征在于,编排得到的流程包括:顺序、分支、循环、同步、异步、强制执行的流程控制方式。3.根据权利要求1所述的微服务编排自动代码生成方法,其特征在于,还包括:对自动生成的代码运行测试。4.根据权利要求1所述的微服务编排自动代码生成方法,其特征在于,还包括:在通过可视化接口,利用已开发的基础服务组件和业务服务组件进行流程编排之前,对流程编排过程中所需的业务逻辑处理进行统一规则创建和管理。5.根据权利要求1所述的微服务编排自动代码生成...

【专利技术属性】
技术研发人员:陈宏鸿范兴泽周侃张文旭
申请(专利权)人:北京神州数字科技有限公司
类型:发明
国别省市:

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

1