CN107682206B - 基于微服务的业务流程管理系统的部署方法及系统 - Google Patents
基于微服务的业务流程管理系统的部署方法及系统 Download PDFInfo
- Publication number
- CN107682206B CN107682206B CN201711061993.3A CN201711061993A CN107682206B CN 107682206 B CN107682206 B CN 107682206B CN 201711061993 A CN201711061993 A CN 201711061993A CN 107682206 B CN107682206 B CN 107682206B
- Authority
- CN
- China
- Prior art keywords
- engine
- module
- history
- management system
- business process
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 159
- 230000008569 process Effects 0.000 title claims abstract description 132
- 238000005516 engineering process Methods 0.000 claims abstract description 16
- 238000012546 transfer Methods 0.000 claims description 14
- 238000000605 extraction Methods 0.000 claims description 10
- 238000002955 isolation Methods 0.000 claims description 10
- 238000011084 recovery Methods 0.000 claims description 6
- 230000006378 damage Effects 0.000 claims description 5
- 238000006243 chemical reaction Methods 0.000 claims description 4
- 230000007704 transition Effects 0.000 claims description 4
- 238000012545 processing Methods 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 238000012544 monitoring process Methods 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 239000012634 fragment Substances 0.000 description 2
- 230000010354 integration Effects 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 206010033799 Paralysis Diseases 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000009960 carding Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 239000007943 implant Substances 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000002688 persistence Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 238000011112 process operation Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/50—Network service management, e.g. ensuring proper service fulfilment according to agreements
- H04L41/5041—Network service management, e.g. ensuring proper service fulfilment according to agreements characterised by the time relationship between creation and deployment of a service
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0893—Assignment of logical groups to network elements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/50—Network service management, e.g. ensuring proper service fulfilment according to agreements
- H04L41/5041—Network service management, e.g. ensuring proper service fulfilment according to agreements characterised by the time relationship between creation and deployment of a service
- H04L41/5054—Automatic deployment of services triggered by the service manager, e.g. service implementation by automatic configuration of network components
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/2866—Architectures; Arrangements
- H04L67/30—Profiles
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/51—Discovery or management thereof, e.g. service location protocol [SLP] or web services
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Stored Programmes (AREA)
- Debugging And Monitoring (AREA)
Abstract
本申请提供了一种基于微服务的业务流程管理系统的部署方法,包括:基于微服务拆分技术将业务流程管理系统拆分为主引擎模块、任务推送模块和转历史模块;分别将所述主引擎模块、所述任务推送模块和所述转历史模块部署在相应的Docker容器中,并通过CGroups对各个所述Docker容器所占用的资源进行动态分配;在注册中心写入所述主引擎模块、所述任务推送模块和所述转历史模块的服务名和地址,使所述主引擎模块、所述任务推送模块和所述转历史模块通过所述注册中心进行通信。实现业务流程管理系统中功能模块的独立部署和调用,共享物理资源,保证了物理资源的弹性分配。
Description
技术领域
本发明涉及计算机技术领域,更具体的,涉及一种基于微服务的业务流程管理系统的部署方法及系统。
背景技术
业务流程管理系统是一套达成企业各种业务环节整合的全面管理系统,涵盖了对流程的梳理、建模、集成、运行、监控、分析、优化的全周期管理,能够帮助企事业单位建立标准而规范的业务流程体系。
目前,业务流程管理系统的后台都采用单体式架构实现流程的集中管理,所有功能模块都集中在应用内部,随着业务流程管理系统的逐步完善,其引擎功能越来越细化,单体式架构随之越来越复杂。如图1所示,业务流程管理系统是一个庞大的单体,垂直架构下所有模块,如流程监控引擎、流程管理引擎、转历史引擎和任务推送引擎都部署在同一进程中。
现有技术中将业务流程管理系统的后台引擎都部署在物理集群环境中,每个集群节点都部署一套业务流程管理。业务流程管理系统中每个功能模块都需要预先手动配置固定的物理资源。随着业务的发展,接入的业务系统越来越多,模块之间相互影响,当预先配置的物理资源不能满足使用要求时往往采用增加集群节点的方式实现系统资源的扩容。但是,由于每个功能模块的物理资源是固定的,往往会出现由于某个功能模块的物理资源不能满足需求需要扩容时,其他功能模块的物理资源空闲的情况。而当业务量降低时,已经分配的物理资源出现空闲,空闲的资源无法合理回收再利用,无法做到资源弹性伸缩,资源利用率低。
发明内容
有鉴于此,本发明提供了一种基于微服务的业务流程管理系统的部署方法,实现业务流程管理系统中功能模块的独立部署和调用,共享物理资源,保证了物理资源的弹性分配。
为了实现上述发明目的,本发明提供的具体技术方案如下:
一种基于微服务的业务流程管理系统的部署方法,包括:
基于微服务拆分技术将业务流程管理系统拆分为主引擎模块、任务推送模块和转历史模块;
分别将所述主引擎模块、所述任务推送模块和所述转历史模块部署在相应的Docker容器中,并通过CGroups对各个所述Docker容器所占用的资源进行动态分配;
在注册中心写入所述主引擎模块、所述任务推送模块和所述转历史模块的服务名和地址,使所述主引擎模块、所述任务推送模块和所述转历史模块通过所述注册中心进行通信。
优选的,所述基于微服务拆分技术将业务流程管理系统拆分为主引擎模块、任务推送模块和转历史模块,包括:
将所述业务流程管理系统中的引擎拆分为主引擎、任务推送引擎和转历史引擎;
分别从所述业务流程管理系统中抽取所述主引擎、所述任务推送引擎和所述转历史引擎依赖的其他服务;
在所述业务流程管理系统的整体配置文件中分别提取所述任务推送引擎的配置文件和所述转历史引擎的配置文件;
分别将所述主引擎、所述任务推送引擎和所述转历史引擎的启动过程重建在中间件服务器中,并分别将所述任务推送引擎和所述转历史引擎依赖的其他服务并加入相应的启动过程中;
分别对所述任务推送引擎和所述转历史引擎的配置文件进行加载、解析和应用。
优选的,所述在所述业务流程管理系统的整体配置文件中分别提取所述任务推送引擎的配置文件和所述转历史引擎的配置文件,包括:
在所述业务流程管理系统中的后台整体配置文件中分别提取所述任务推送引擎的后台配置文件和所述转历史引擎的后台配置文件;
在所述业务流程管理系统中的前台整体配置文件中分别提取所述任务推送引擎的前台配置文件和所述转历史引擎的前台配置文件。
优选的,所述业务流程管理系统对外部应用程序编程接口的调用,以及所述业务流程管理系统中所述主引擎、所述任务推送引擎和所述转历史引擎之间的调用都通过RESTFul。
优选的,所述主引擎模块、所述任务推送模块和所述转历史模块分别与所述注册中心保持长连接,所述方法还包括:
当监测到所述主引擎模块、所述任务推送模块和所述转历史模块中任一一个模块的地址更新时,对所述注册中心中记录的相应模块的地址进行更新。
一种基于微服务的业务流程管理系统的部署系统,包括:
微服务拆分单元,用于基于微服务拆分技术将业务流程管理系统拆分为主引擎模块、任务推送模块和转历史模块;
部署单元,用于分别将所述主引擎模块、所述任务推送模块和所述转历史模块部署在相应的Docker容器中,并通过CGroups对各个所述Docker容器所占用的资源进行动态分配;
地址写入单元,用于在注册中心写入所述主引擎模块、所述任务推送模块和所述转历史模块的服务名和地址,使所述主引擎模块、所述任务推送模块和所述转历史模块通过所述注册中心进行通信。
优选的,所述微服务拆分单元包括:
拆分子单元,用于将所述业务流程管理系统中的引擎拆分为主引擎、任务推送引擎和转历史引擎;
抽取子单元,用于分别从所述业务流程管理系统中抽取所述主引擎、所述任务推送引擎和所述转历史引擎依赖的其他服务;
提取子单元,用于在所述业务流程管理系统的整体配置文件中分别提取所述任务推送引擎的配置文件和所述转历史引擎的配置文件;
重建子单元,用于分别将所述主引擎、所述任务推送引擎和所述转历史引擎的启动过程重建在中间件服务器中,并分别将所述任务推送引擎和所述转历史引擎依赖的其他服务并加入相应的启动过程中;
加载子单元,用于分别对所述任务推送引擎和所述转历史引擎的配置文件进行加载、解析和应用。
优选的,所述提取子单元包括:
后台配置文件提取子单元,用于在所述业务流程管理系统中的后台整体配置文件中分别提取所述任务推送引擎的后台配置文件和所述转历史引擎的后台配置文件;
前台配置文件提取子单元,用于在所述业务流程管理系统中的前台整体配置文件中分别提取所述任务推送引擎的前台配置文件和所述转历史引擎的前台配置文件。
优选的,所述业务流程管理系统对外部应用程序编程接口的调用,以及所述业务流程管理系统中所述主引擎、所述任务推送引擎和所述转历史引擎之间的调用都通过RESTFul。
优选的,所述主引擎模块、所述任务推送模块和所述转历史模块分别与所述注册中心保持长连接,所述系统还包括:
地址更新单元,用于当监测到所述主引擎模块、所述任务推送模块和所述转历史模块中任一一个模块的地址更新时,对所述注册中心中记录的相应模块的地址进行更新。
相对于现有技术,本发明的有益效果如下:
本发明提供的一种基于微服务的业务流程管理系统的部署方法及系统,将业务流程管理系统拆分为主引擎模块、任务推送模块和转历史模块,实现了业务流程管理系统中不同功能的独立调用、故障隔离、数据隔离,提升了系统可用性。分别将所述主引擎模块、所述任务推送模块和所述转历史模块部署在相应的Docker容器中,实现了业务流程管理系统中不同功能模块的独立部署,并通过CGroups对各个所述Docker容器所占用的资源进行动态分配,实现了物理资源共享,从而保证了物理资源的弹性分配和快速销毁回收。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为现有的业务流程管理系统的单体式架构示意图;
图2为本发明实施例公开的一种基于微服务的业务流程管理系统的部署方法流程图;
图3为本发明实施例公开的业务流程管理系统中各模块通信示意图;
图4为本发明实施例公开的另一种基于微服务的业务流程管理系统的部署方法流程图;
图5为本发明实施例公开的一种基于微服务的业务流程管理系统的部署系统结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参阅图2,图2为本发明实施例公开的一种基于微服务的业务流程管理系统的部署方法流程图,具体包括以下步骤:
S101:基于微服务拆分技术将业务流程管理系统拆分为主引擎模块、任务推送模块和转历史模块;
基于微服务拆分技术将现有的业务流程管理系统的单体式架构拆分为主引擎模块、任务推送模块和转历史模块。其中,业务流程管理系统包括原始引擎,原始引擎实现了业务流程管理系统的全部功能,主引擎为从原始引擎中剥离了任务推送引擎和转历史引擎后的功能引擎的集合。
微服务拆分技术是将已有的粗粒度服务分解为彼此正交的细粒度服务,不同的微应用组合成一个大的应用系统,每个应用独立运行,从而提供更灵活的服务编排能力和服务运维能力。
其中,在原业务流程管理系统中,任务推送表是工作项处理模块与任务变更推送模块之间的共享模型,该模型对于工作项模块是频繁的实时的修改,对于推送模块是定时的批量的处理。因此,任务推送模块受外部系统的影响很大,当它运行起来但远程推送过程中出现不稳定状况时将影响业务流程管理系统的性能,因此将作为衍生功能的任务推送模块拆分为微服务可以起到隔离外部故障的作用,避免使整个系统陷入瘫痪。
转历史服务可以在多个时间点被触发,转历史会影响流程引擎的性能与稳定,尤其在实际的项目实施中,往往在业务系统出现性能问题时配置转历史服务,此时数据量已经累积的比较多,仅初期数据的转移时间就会比较长,如果运维人员在高峰时段手工触发了转历史服务将会影响到正常的流程运转。因此,为了提升系统性能,需要将衍生功能任务推送、转历史从业务流程管理系统中拆分出来,实现故障隔离。
还需要说明的是,所述业务流程管理系统对外部应用程序编程接口的调用,以及所述业务流程管理系统中所述主引擎、所述任务推送引擎和所述转历史引擎之间的调用都通过RESTFul,可以方便的进行服务mock以及监控分析。
S102:分别将所述主引擎模块、所述任务推送模块和所述转历史模块部署在相应的Docker容器中,并通过CGroups对各个所述Docker容器所占用的资源进行动态分配;
Docker是Paas供应商dot Cloud开发的,基于Linux的LXC轻量级虚拟化技术的应用容器引擎。可以让开发者将应用程序的运行文件打包植入Docker中,然后发布在Linux系统的电脑上。Docker容器之间不会有任何接口,数据相互隔离;其次,在物理资源的利用率问题上更具优势且启动和销毁速度非常快。
本实施例引入Docker技术,分别将所述主引擎模块、所述任务推送模块和所述转历史模块部署在相应的Docker容器中,实现引擎的容器化改造,在中间件环境中,对主引擎模块、任务推送模块和转历史模块分别进行独立部署,从而保证故障隔离,并通过CGroups对各个所述Docker容器所占用的资源进行动态分配,避免现有技术中某个功能模块的物理资源不能满足需求需要扩容时,其他功能模块的物理资源空闲的情况,实现了物理资源共享,从而保证了物理资源的弹性分配和快速销毁回收,资源利用率高。
S103:在注册中心写入所述主引擎模块、所述任务推送模块和所述转历史模块的服务名和地址,使所述主引擎模块、所述任务推送模块和所述转历史模块通过所述注册中心进行通信。
请参阅图3,图3为业务流程管理系统中各模块通信示意图,注册中心对主引擎模块、任务推送模块和转历史模块的地址进行统一注册管理,各个功能模块间可以通过注册中心获取需要调用功能模块的地址,并进行通信。
需要说明的是,所述主引擎模块、所述任务推送模块和所述转历史模块分别与所述注册中心保持长连接,当监测到所述主引擎模块、所述任务推送模块和所述转历史模块中任一一个模块的地址更新时,对所述注册中心中记录的相应模块的地址进行更新。
本实施例提供的一种基于微服务的业务流程管理系统的部署方法,将业务流程管理系统拆分为主引擎模块、任务推送模块和转历史模块,实现了业务流程管理系统中不同功能的独立调用、故障隔离、数据隔离,提升了系统可用性。分别将所述主引擎模块、所述任务推送模块和所述转历史模块部署在相应的Docker容器中,实现了业务流程管理系统中不同功能模块的独立部署,并通过CGroups对各个所述Docker容器所占用的资源进行动态分配,实现了物理资源共享,从而保证了物理资源的弹性分配和快速销毁回收。
基于上述实施例公开的基于微服务的业务流程管理系统的部署方法,本实施例公开了另一种基于微服务的业务流程管理系统的部署方法,请参阅图4,上述实施例中S101:基于微服务拆分技术将业务流程管理系统拆分为主引擎模块、任务推送模块和转历史模块,包括:
S201:将所述业务流程管理系统中的引擎拆分为主引擎、任务推送引擎和转历史引擎;
S202:分别从所述业务流程管理系统中抽取所述主引擎、所述任务推送引擎和所述转历史引擎依赖的其他服务;
任务推送模块的处理逻辑需要依赖定时器模块、线程池模块、持久层服务的基础服务等。在将任务推送引擎拆分出来后,还需要将任务推送引擎依赖的其他服务也一并抽取出来。
同理,转历史模块的处理逻辑需要依赖的定时器模块、线程池模块、持久层服务的基础服务等也需要一并抽取出来。也就是说,拆分后的主引擎模块、任务推送模块和转历史模块分别包括对应的主引擎、任务推送模块和转历史模块之外,还包括分别与之处理逻辑对应的其他服务。
S203:在所述业务流程管理系统的整体配置文件中分别提取所述任务推送引擎的配置文件和所述转历史引擎的配置文件;
具体的,在所述业务流程管理系统中的后台整体配置文件中分别提取所述任务推送引擎的后台配置文件和所述转历史引擎的后台配置文件;
在所述业务流程管理系统中的前台整体配置文件中分别提取所述任务推送引擎的前台配置文件和所述转历史引擎的前台配置文件。
任务推送引擎的后台配置文件有推送的批量值、推送的线程数、推送的方式即实现类等,这些配置原来存在于流程引擎的整体配置文件中,并由配置服务加载和解析,并应用与任务推送服务的启动构建过程。需要将其配置片段重建于新的独立的配置文件,并进行单独的加载、解析和应用。
转历史引擎的后台配置文件有转移的时间点、转移策略等,这些配置原来存在于流程引擎的整体配置文件中,并由配置服务加载和解析,并应用与转历史服务的启动构建过程。需要将其配置片段重建于新的独立的配置文件,并进行单独的加载、解析和应用。
具体的,对所述业务流程管理系统中的前台整体配置文件的提取为workspace管理控制台的改造,workspace管理控制台原来对于主引擎模块、任务推送模块和转历史模块的配置存在统一的配置文件,需要改造原程序将有关任务推送引擎和转历史引擎的配置文件分别保存在单独的配置文件中。
S204:分别将所述主引擎、所述任务推送引擎和所述转历史引擎的启动过程重建在中间件服务器中,并分别将所述任务推送引擎和所述转历史引擎依赖的其他服务并加入相应的启动过程中;
S205:分别对所述任务推送引擎和所述转历史引擎的配置文件进行加载、解析和应用。
任务推送引擎和转历史引擎的微服务拆分将任务推送引擎和转历史引擎剥离出来,单独将启动过程重建在中间件服务器中,并且将任务推送引擎以及转历史引擎所依赖的其他服务也剥离出来并且加入服务启动过程,并将任务推送引擎和转历史引擎配置文件重建于新的独立的配置文件中,并进行单独的加载、解析和应用,实现了对业务流程管理系统的微服务拆分。
基于上述实施例公开的基于微服务的业务流程管理系统的部署方法,本实施例对应公开了一种基于微服务的业务流程管理系统的部署系统,请参阅图5,具体包括:
微服务拆分单元101,用于基于微服务拆分技术将业务流程管理系统拆分为主引擎模块、任务推送模块和转历史模块;
部署单元102,用于分别将所述主引擎模块、所述任务推送模块和所述转历史模块部署在相应的Docker容器中,并通过CGroups对各个所述Docker容器所占用的资源进行动态分配;
地址写入单元103,用于在注册中心写入所述主引擎模块、所述任务推送模块和所述转历史模块的服务名和地址,使所述主引擎模块、所述任务推送模块和所述转历史模块通过所述注册中心进行通信。
优选的,所述微服务拆分单元101包括:
拆分子单元,用于将所述业务流程管理系统中的引擎拆分为主引擎、任务推送引擎和转历史引擎;
抽取子单元,用于分别从所述业务流程管理系统中抽取所述主引擎、所述任务推送引擎和所述转历史引擎依赖的其他服务;
提取子单元,用于在所述业务流程管理系统的整体配置文件中分别提取所述任务推送引擎的配置文件和所述转历史引擎的配置文件;
重建子单元,用于分别将所述主引擎、所述任务推送引擎和所述转历史引擎的启动过程重建在中间件服务器中,并分别将所述任务推送引擎和所述转历史引擎依赖的其他服务并加入相应的启动过程中;
加载子单元,用于分别对所述任务推送引擎和所述转历史引擎的配置文件进行加载、解析和应用。
优选的,所述提取子单元包括:
后台配置文件提取子单元,用于在所述业务流程管理系统中的后台整体配置文件中分别提取所述任务推送引擎的后台配置文件和所述转历史引擎的后台配置文件;
前台配置文件提取子单元,用于在所述业务流程管理系统中的前台整体配置文件中分别提取所述任务推送引擎的前台配置文件和所述转历史引擎的前台配置文件。
优选的,所述业务流程管理系统对外部应用程序编程接口的调用,以及所述业务流程管理系统中所述主引擎、所述任务推送引擎和所述转历史引擎之间的调用都通过RESTFul。
优选的,所述主引擎模块、所述任务推送模块和所述转历史模块分别与所述注册中心保持长连接,所述系统还包括:
地址更新单元,用于当监测到所述主引擎模块、所述任务推送模块和所述转历史模块中任一一个模块的地址更新时,对所述注册中心中记录的相应模块的地址进行更新。
本实施例提供的一种基于微服务的业务流程管理系统的部署系统,将业务流程管理系统拆分为主引擎模块、任务推送模块和转历史模块,实现了业务流程管理系统中不同功能的独立调用、故障隔离、数据隔离,提升了系统可用性。分别将所述主引擎模块、所述任务推送模块和所述转历史模块部署在相应的Docker容器中,实现了业务流程管理系统中不同功能模块的独立部署,并通过CGroups对各个所述Docker容器所占用的资源进行动态分配,实现了物理资源共享,从而保证了物理资源的弹性分配和快速销毁回收。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (8)
1.一种基于微服务的业务流程管理系统的部署方法,其特征在于,包括:
基于微服务拆分技术将现有的单体式架构业务流程管理系统拆分为主引擎模块、任务推送模块和转历史模块,其中,现有的业务流程管理系统包括原始引擎,原始引擎实现了业务流程管理系统的全部功能,所述主引擎模块为从原始引擎中剥离了任务推送引擎和转历史引擎后的功能引擎的集合;基于微服务拆分技术在现有的业务流程管理系统的单体式架构中将任务推送模块和转历史模块拆分出来以实现故障隔离;
分别将所述主引擎模块、所述任务推送模块和所述转历史模块部署在相应的Docker容器中,并通过CGroups对各个所述Docker容器所占用的资源进行动态分配,其中,Docker容器之间不会有任何接口,数据相互隔离,以实现物理资源的弹性分配和快速销毁回收;
在注册中心写入所述主引擎模块、所述任务推送模块和所述转历史模块的服务名和地址,使所述主引擎模块、所述任务推送模块和所述转历史模块通过所述注册中心进行通信;
所述业务流程管理系统对外部应用程序编程接口的调用,以及所述业务流程管理系统中所述主引擎、所述任务推送引擎和所述转历史引擎之间的调用都通过RESTFul。
2.根据权利要求1所述的方法,其特征在于,所述基于微服务拆分技术将业务流程管理系统拆分为主引擎模块、任务推送模块和转历史模块,包括:
将所述业务流程管理系统中的引擎拆分为主引擎、任务推送引擎和转历史引擎;
分别从所述业务流程管理系统中抽取所述主引擎、所述任务推送引擎和所述转历史引擎依赖的其他服务;
在所述业务流程管理系统的整体配置文件中分别提取所述任务推送引擎的配置文件和所述转历史引擎的配置文件;
分别将所述主引擎、所述任务推送引擎和所述转历史引擎的启动过程重建在中间件服务器中,并分别将所述任务推送引擎和所述转历史引擎依赖的其他服务并加入相应的启动过程中;
分别对所述任务推送引擎和所述转历史引擎的配置文件进行加载、解析和应用。
3.根据权利要求2所述的方法,其特征在于,所述在所述业务流程管理系统的整体配置文件中分别提取所述任务推送引擎的配置文件和所述转历史引擎的配置文件,包括:
在所述业务流程管理系统中的后台整体配置文件中分别提取所述任务推送引擎的后台配置文件和所述转历史引擎的后台配置文件;
在所述业务流程管理系统中的前台整体配置文件中分别提取所述任务推送引擎的前台配置文件和所述转历史引擎的前台配置文件。
4.根据权利要求1所述的方法,其特征在于,所述主引擎模块、所述任务推送模块和所述转历史模块分别与所述注册中心保持长连接,所述方法还包括:
当监测到所述主引擎模块、所述任务推送模块和所述转历史模块中任一一个模块的地址更新时,对所述注册中心中记录的相应模块的地址进行更新。
5.一种基于微服务的业务流程管理系统的部署系统,其特征在于,包括:
微服务拆分单元,用于基于微服务拆分技术将现有的单体式架构业务流程管理系统拆分为主引擎模块、任务推送模块和转历史模块,其中,现有的业务流程管理系统包括原始引擎,原始引擎实现了业务流程管理系统的全部功能,所述主引擎模块为从原始引擎中剥离了任务推送引擎和转历史引擎后的功能引擎的集合;基于微服务拆分技术在现有的业务流程管理系统的单体式架构中将任务推送模块和转历史模块拆分出来以实现故障隔离;
部署单元,用于分别将所述主引擎模块、所述任务推送模块和所述转历史模块部署在相应的Docker容器中,并通过CGroups对各个所述Docker容器所占用的资源进行动态分配,其中,Docker容器之间不会有任何接口,数据相互隔离,以实现物理资源的弹性分配和快速销毁回收;
地址写入单元,用于在注册中心写入所述主引擎模块、所述任务推送模块和所述转历史模块的服务名和地址,使所述主引擎模块、所述任务推送模块和所述转历史模块通过所述注册中心进行通信;
其中,所述业务流程管理系统对外部应用程序编程接口的调用,以及所述业务流程管理系统中所述主引擎、所述任务推送引擎和所述转历史引擎之间的调用都通过RESTFul。
6.根据权利要求5所述的系统,其特征在于,所述微服务拆分单元包括:
拆分子单元,用于将所述业务流程管理系统中的引擎拆分为主引擎、任务推送引擎和转历史引擎;
抽取子单元,用于分别从所述业务流程管理系统中抽取所述主引擎、所述任务推送引擎和所述转历史引擎依赖的其他服务;
提取子单元,用于在所述业务流程管理系统的整体配置文件中分别提取所述任务推送引擎的配置文件和所述转历史引擎的配置文件;
重建子单元,用于分别将所述主引擎、所述任务推送引擎和所述转历史引擎的启动过程重建在中间件服务器中,并分别将所述任务推送引擎和所述转历史引擎依赖的其他服务并加入相应的启动过程中;
加载子单元,用于分别对所述任务推送引擎和所述转历史引擎的配置文件进行加载、解析和应用。
7.根据权利要求6所述的系统,其特征在于,所述提取子单元包括:
后台配置文件提取子单元,用于在所述业务流程管理系统中的后台整体配置文件中分别提取所述任务推送引擎的后台配置文件和所述转历史引擎的后台配置文件;
前台配置文件提取子单元,用于在所述业务流程管理系统中的前台整体配置文件中分别提取所述任务推送引擎的前台配置文件和所述转历史引擎的前台配置文件。
8.根据权利要求5所述的系统,其特征在于,所述主引擎模块、所述任务推送模块和所述转历史模块分别与所述注册中心保持长连接,所述系统还包括:
地址更新单元,用于当监测到所述主引擎模块、所述任务推送模块和所述转历史模块中任一一个模块的地址更新时,对所述注册中心中记录的相应模块的地址进行更新。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711061993.3A CN107682206B (zh) | 2017-11-02 | 2017-11-02 | 基于微服务的业务流程管理系统的部署方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711061993.3A CN107682206B (zh) | 2017-11-02 | 2017-11-02 | 基于微服务的业务流程管理系统的部署方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107682206A CN107682206A (zh) | 2018-02-09 |
CN107682206B true CN107682206B (zh) | 2021-02-19 |
Family
ID=61145476
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711061993.3A Active CN107682206B (zh) | 2017-11-02 | 2017-11-02 | 基于微服务的业务流程管理系统的部署方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107682206B (zh) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108804113B (zh) * | 2018-06-07 | 2022-03-22 | 东软集团股份有限公司 | 部署微服务应用的方法、装置和存储介质以及电子设备 |
CN110659127A (zh) * | 2018-06-29 | 2020-01-07 | 杭州海康威视数字技术股份有限公司 | 一种处理任务的方法、装置及系统 |
CN111221630B (zh) * | 2018-11-27 | 2023-12-15 | 台达电子工业股份有限公司 | 业务流程处理方法、装置、设备、可读存储介质及系统 |
CN111367199B (zh) * | 2018-12-26 | 2021-04-06 | 中国科学院沈阳自动化研究所 | 一种基于rest函数封装的数字量仪表组态方法 |
CN110233886B (zh) * | 2019-05-30 | 2021-07-20 | 华南理工大学 | 一种面向海量微服务的高可用服务治理系统及实现方法 |
CN111078421A (zh) * | 2019-11-15 | 2020-04-28 | 广东数果科技有限公司 | 一种基于微服务的大数据实时处理装置 |
CN111026405B (zh) * | 2019-12-02 | 2023-04-28 | 中移物联网有限公司 | 软件部署方法、装置及相关节点 |
CN114971506A (zh) * | 2021-02-26 | 2022-08-30 | 中国移动通信集团广东有限公司 | 流程引擎与业务事件处理分离的系统及方法 |
CN117170880B (zh) * | 2023-11-02 | 2024-01-26 | 美特信息科技(启东)有限公司 | 基于微服务架构的货物进出口管理方法及系统 |
CN117573396B (zh) * | 2024-01-15 | 2024-03-29 | 浙江锦智人工智能科技有限公司 | 一种分布式工作流事件处理方法、设备及介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106533929A (zh) * | 2016-12-30 | 2017-03-22 | 北京中电普华信息技术有限公司 | 一种微服务开发平台、生成方法以及部署方法和装置 |
CN106612188A (zh) * | 2015-10-21 | 2017-05-03 | 中兴通讯股份有限公司 | 一种基于微服务架构扩展软件功能的方法及装置 |
CN106610836A (zh) * | 2016-12-23 | 2017-05-03 | 国网信息通信产业集团有限公司 | 一种微服务运行管理工具 |
CN107102847A (zh) * | 2016-02-23 | 2017-08-29 | 中国水电工程顾问集团有限公司 | 基于微服务的软件开发方法、装置及系统 |
CN107181815A (zh) * | 2017-06-13 | 2017-09-19 | 北京中电普华信息技术有限公司 | 一种微应用和微服务交互方法、微应用和系统 |
-
2017
- 2017-11-02 CN CN201711061993.3A patent/CN107682206B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106612188A (zh) * | 2015-10-21 | 2017-05-03 | 中兴通讯股份有限公司 | 一种基于微服务架构扩展软件功能的方法及装置 |
CN107102847A (zh) * | 2016-02-23 | 2017-08-29 | 中国水电工程顾问集团有限公司 | 基于微服务的软件开发方法、装置及系统 |
CN106610836A (zh) * | 2016-12-23 | 2017-05-03 | 国网信息通信产业集团有限公司 | 一种微服务运行管理工具 |
CN106533929A (zh) * | 2016-12-30 | 2017-03-22 | 北京中电普华信息技术有限公司 | 一种微服务开发平台、生成方法以及部署方法和装置 |
CN107181815A (zh) * | 2017-06-13 | 2017-09-19 | 北京中电普华信息技术有限公司 | 一种微应用和微服务交互方法、微应用和系统 |
Non-Patent Citations (1)
Title |
---|
国家电网公司微应用平台架构设计与实现;冯扬等;《电子测量技术》;20170715;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN107682206A (zh) | 2018-02-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107682206B (zh) | 基于微服务的业务流程管理系统的部署方法及系统 | |
US10061619B2 (en) | Thread pool management | |
US11392400B2 (en) | Enhanced migration of clusters based on data accessibility | |
CN115328663B (zh) | 基于PaaS平台进行资源调度的方法、装置、设备和存储介质 | |
CN103064742B (zh) | 一种hadoop集群的自动部署系统及方法 | |
CN107566153B (zh) | 一种自管理的微服务实现方法 | |
EP3944082A1 (en) | Extending the kubernetes api in-process | |
CN113204353B (zh) | 一种大数据平台组件部署方法及装置 | |
CN110888743A (zh) | 一种gpu资源使用方法、装置及存储介质 | |
JP6663995B2 (ja) | 大規模分散スケールアウトデータシステムをバックアップするためのシステム及び方法 | |
CN112995267B (zh) | 一种基于Kubernetes集群的数据订阅服务方法和设备 | |
WO2023160033A1 (zh) | 虚拟网卡资源的配置方法、装置、计算机设备及介质 | |
Gogouvitis et al. | Seamless computing in industrial systems using container orchestration | |
WO2020115330A1 (en) | Computing resource allocation | |
CN101727496A (zh) | 一种实现microsoft sql server数据库负载均衡集群的方法 | |
CN112463290A (zh) | 动态调整计算容器的数量的方法、系统、装置和存储介质 | |
CN116569137A (zh) | 保存和恢复预供应的虚拟机状态 | |
WO2016074130A1 (zh) | 一种系统调用命令的批处理方法及装置 | |
CN114518955A (zh) | 一种基于kubernetes的Flink云原生部署架构方法及系统 | |
CN103019809B (zh) | 业务处理装置和方法、及业务处理控制装置 | |
US9990240B2 (en) | Event handling in a cloud data center | |
CN110046138A (zh) | 一种iSCSI目标器多实例处理方法及分布式存储系统 | |
CN113254437B (zh) | 一种批处理作业处理方法和装置 | |
CN110399206B (zh) | 一种基于云计算环境下idc虚拟化调度节能系统 | |
CN109788007B (zh) | 一种基于两地三中心的云平台及其通信方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |