微服务编排自动代码生成方法及系统[发明专利]

(19)中华人民共和国国家知识产权局
(12)发明专利申请
(10)申请公布号 (43)申请公布日 (21)申请号 202011140367.5
(22)申请日 2020.10.22
(71)申请人 北京神州数字科技有限公司
地址 100000 北京市西城区阜成门外大街
31号5层525B
(72)发明人 陈宏鸿 范兴泽 周侃 张文旭 
(74)专利代理机构 北京方韬法业专利代理事务
所(普通合伙) 11303
代理人 党小林
(51)Int.Cl.
G06F  8/34(2018.01)
(54)发明名称
服务编排自动代码生成方法及系统
(57)摘要
本发明提供了一种微服务编排自动代码生
成方法及系统。该方法包括:通过可视化接口,利
用已开发的技术组件和业务组件进行流程编排;
根据完成编排操作后的流程,自动生成可以在微
服务平台上运行的代码。本发明提供的微服务编
排自动代码生成方法及系统能够根据编排好的
流程处理模块自动的生成代码,提高了流程处理
效率。权利要求书1页  说明书4页  附图3页CN 112256258 A 2021.01.22
C N  112256258
A
1.一种微服务编排自动代码生成方法,其特征在于,包括:
通过可视化界面,利用已开发的基础服务组件和业务服务组件进行流程编排;
根据完成编排操作后的流程,自动生成可以在微服务平台上运行的代码。
2.根据权利要求1所述的为服务编排自动代码生成方法,其特征在于,编排得到的流程包括:顺序、分支、循环、同步、异步、强制执行的流程控制方式。
3.根据权利要求1所述的微服务编排自动代码生成方法,其特征在于,还包括:
对自动生成的代码运行测试。
4.根据权利要求1所述的微服务编排自动代码生成方法,其特征在于,还包括:
在通过可视化接口,利用已开发的基础服务组件和业务服务组件进行流程编排之前,对流程编排过程中所需的业务逻辑处理进行统一规则创建和管理。
5.根据权利要求1所述的微服务编排自动代码生成方法,其特征在于,还包括:
在通过可视化接口,利用已开发的基础服务组件和业务服务组件进行流程编排之后,对流程编排过程中使用的业务逻辑处理进行统一规则创建和管理。
6.根据权利要求1所述的微服务编排自动代码生成方法,其特征在于,进行流程编排的组件还包括:兼具有基础服务和业务服务的组合服务组件。
7.根据权利要求1所述的微服务编排自动代码生成方法,其特征在于,可视化界面为:Eclipse插件框架开发的一套图形化工具插件界面。
8.一种微服务编排自动代码生成系统,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现根据权利要求1至7任意一项所述的微服务编排自动代码生成方法。
权 利 要 求 书1/1页CN 112256258 A
微服务编排自动代码生成方法及系统
技术领域
[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插件框架开发的一套图形化工具插件,以多种视图、向导、编辑器等图形化的模式引导开发人员自动生成并管理组合服务平台的各类资源。如果这些资源的相关配置文件全部由手工编写,则工作量巨大,过程困难繁琐,并且容易出错。通过IDE对组合服务运行平台的原子服务、基础服务、组合服务、流程等资源进行一站式的开发,测试,管理,提高开发效率和质量,降低知识转移难度。
[0035]最后输出流程执行结果给调用端的流程执行流程引擎进行测试。
[0036]图5示出了微服务编排自动代码生成系统的结构。参见图5,例如,所述微服务编排自动代码生成系统500可以用于充当微服务系统中的代码自动生成系统。如本文所述,微服务编排自动代码生成系统500可以用于在微服务系统中实现对微服务编排的代码自动生成功能。微服务编排自动代码生成系统500可以在单个节点中实现,或者微服务编排自动代码生成系统500的功能可以在网络中的多个节点中实现。本领域的技术人员应意识到,术语微服务编排自动代码生成系统包括广泛意义上的设备,图4中示出的微服务编排自动代码生成系统500仅是其中一个示例。包括微服务编排自动代码生成系统500是为了表述清楚,并不旨在将本发明的应用限制为特定的微服务编排自动代码生成系统实施例或某一类微服务编排自动代码生成系统实施例。本发明所述的至少部分特征/方法可以在网络装置或组件,例如,微服务编排自动代码生成系统500中实现。例如,本发明中的特征/方法可以采用硬件、固件和/或在硬件上安装运行的软件实现。微服务编排自动代码生成系统500可以是任何通过网络处理,存储和/或转发数据帧的
设备,例如,服务器,客户端,数据源等。如图5所示,微服务编排自动代码生成系统500可以包括收发器(Tx/Rx)510,其可以是发射器,接收器,或其组合。Tx/Rx510可以耦合到多个端口550(例如上行接口和/或下行接口),用于从其他节点发送和/或接收帧。处理器530可耦合至Tx/Rx510,以处理帧和/或确定向哪些节点发送帧。处理器530可以包括一个或多个多核处理器和/或存储器设备532,其可以用作数据存储器,缓冲区等。处理器530可以被实现为通用处理器,或者可以是一个或多个专用集成电路(application specific integrated circuit,简称ASIC)和/或数字信号处理器

本文发布于:2024-09-22 06:59:05,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/4/419731.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:服务   编排   流程   自动   组件   进行
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议