CN104360842A - 一种基于jbpm的服务动态流程编排方法 - Google Patents
一种基于jbpm的服务动态流程编排方法 Download PDFInfo
- Publication number
- CN104360842A CN104360842A CN201410569630.0A CN201410569630A CN104360842A CN 104360842 A CN104360842 A CN 104360842A CN 201410569630 A CN201410569630 A CN 201410569630A CN 104360842 A CN104360842 A CN 104360842A
- Authority
- CN
- China
- Prior art keywords
- flow
- service
- template
- dynamic
- corresponding relation
- 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.)
- Granted
Links
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开了一种基于JBPM的服务动态流程编排方法,包括如下步骤:(1)确定需求范围,从QoS模板库获取匹配模板,并挖掘需求与服务的对应关系,每个服务所需的具体参数,进行反馈;(2)根据反馈传入具体参数,系统作动态规划,构建服务和模板的动态绑定;(3)流程编排,生成流程模板;(4)流程自动执行,生成流程实例;(5)流程变更,利用迁移算法对变更内容进行流程模板重写,生成新流程;(6)开始新流程实例,流程结束;(7)将结果页面中的数据与旧流程保存的数据合并。本发明根据用户提供的需求,由系统完成一系列工作,自动生成流程模板完成核心业务,在执行过程中可以动态变更所需服务,并由流程迁移算法保证流程的正确性和高效性。
Description
技术领域
本发明涉及服务计算领域,具体涉及一种基于JBPM的服务动态流程编排方法。
背景技术
随着计算机技术的高速发展,互联网的应用日益普及,大规模跨组织的网络环境下的业务需求更加动态多变,实现资源的透明访问、流程动态重组并自动迁移,是实现系统动态集成的关键。
传统的面向构件技术能够创建可复用的软件构件模块,并通过构件装配解决业务模式比较固定的流程编排,有较高的效率,由于面向构件技术主要专注于创建可复用的特定系统的构件模块,可扩展性受限,不能很好地支撑复杂系统的业务流程的动态重组,面对跨组织的业务需求,更是无能为力。
现代企业的高速发展对业务流程管理(Java Bussiness Process Managerment,简称JBPM)提出了敏捷,实时,动态性等需求。其中一个重要特点就是能够将各种web服务编排成可执行的业务流程,由于面向服务在动态更新和交互性等方面的优势,以服务为实体来构建面向服务的功能模块并根据业务需求进行动态编排和重组,成为解决大规模跨组织的网络计算环境下系统动态集成的理想选择。
针对服务编排具有动态变化且迅速增长的特点,目前的工作流模型可编程性及柔性还有较大局限,对流程迁移的研究仅仅实现了流程定义文件结构不变情况下的部分迁移,并需要人工进行流程定义文件的修改,指定迁移目标。不能提供对于流程中节点名称的改变,节点删除等操作引发的自动迁移的支持,对定义文件不发生结构变化的流程采取的迁移策略比较简单,但该过程将产生大量冗余节点的重复执行,降低了系统的效率。对流程的编排大部分仅研究实现了可预期流程编排问题。而如何对于不可预期服务编排涉及的随机流程干预造作(插入业务服务、删除业务服务、跳转业务服务、次序调换、替换等)等操作进行自动迁移并提高效率是需要解决的问题。
发明内容
本发明提供的一种基于JBPM的服务动态流程编排方法,用户可以提供需求,由系统完成一系列工作,自动生成流程模板完成核心业务,在执行过程中可以动态变更所需服务,并由流程迁移算法保证流程的正确性和高效性。
本发明通过构建集成系统,充分利用以服务为核心的柔性流程的优势,将服务与工作流结合在一起完成核心业务,用户通过提交信息,系统汇总信息后动态规划,根据Qos(服务质量)选定最优服务,查询模板库,绑定节点,生成流程实例,当流程发生二次变更时,能够有效的建立用户与流程,流程与流程的对应关系,妥善的处理流程断点信息,最终解决了流程动态变更后迁移的有效性,并在集成系统中实现支持高并发的高效性。
下面阐述本发明的技术方案。
一种基于JBPM的服务动态流程编排方法,所述方法包括如下步骤:
(1)确定需求范围,从QoS模板库获取匹配模板,并挖掘需求与服务的对应关系、每个服务所需的具体参数,进行反馈。
(2)根据反馈传入具体参数,系统作动态规划,构建服务和模板的动态绑定。
(3)流程编排,生成流程模板。
(4)流程自动执行,生成流程实例。
(5)流程变更,利用迁移算法对变更内容进行流程模板重写,生成新流程。
(6)开始新流程实例,流程结束。
(7)将结果页面中的数据与旧流程保存的数据合并。
所述步骤(5)中的迁移算法包括如下步骤:
(1)创建用户与流程实例的对应关系,新旧流程实例的对应关系,创建流程运行过程中的监控信息。
(2)对流程文件进行重写,根据流程运行过程中的监控信息对已完成的节点做删除功能操作,生成新的流程模板,发布执行并将流程实例的信息与旧流程实例的对应关系保存,根据监控信息获得断点位置。
(3)根据新旧流程的对应关系重组返回数据。
附图说明
图1为本发明的流程框图。
图2为本发明中迁移算法的流程框图。
具体实施方式
如图1所示,基于JBPM的服务动态编排,展示了整个系统的服务编排过程,流程变更产生的变化通过迁移进行无缝移植,完整的监控信息提供了流程运行过程中的节点完成信息,断点信息,用户与流程的对应信息等,根据保存的信息,迁移算法可以高效的重写流程模板,重构后的流程定义文件摒弃了原有的冗余节点,减少流程运行时间,提高了系统并发的效率。
服务动态编排通过接口获得用户提交需求,由系统自动查询服务库,动态生成流程模板,执行完成核心业务。在执行过程中根据需求可视化的修改流程节点,根据迁移算法自动生成新的流程定义文件,在断点处接续执行。
一种基于JBPM的服务动态流程编排方法,所述方法包括如下步骤:
(1)确定需求范围,从QoS模板库获取匹配模板,并挖掘需求与服务的对应关系、每个服务所需的具体参数,进行反馈。
(2)根据反馈传入具体参数,系统作动态规划,构建服务和模板的动态绑定。
(3)流程编排,生成流程模板。
(4)流程自动执行,生成流程实例。
(5)流程变更,利用迁移算法对变更内容进行流程模板重写,生成新流程。
(6)开始新流程实例,流程结束。
(7)将结果页面中的数据与旧流程保存的数据合并。
迁移算法的具体步骤为:
(1)创建用户映射表(User Map):这是一个哈希表,可以返回用户的唯一标示符与流程实例Id的对应关系。哈希表的键是流程实例id,在多用户多任务的执行环境下,一个用户对应多个流程实例,使用用户映射表是用来区分同一个用户下多个流程。
(2)创建流程映射表(Process Map):用于显示新旧流程对应关系的哈希表,哈希表的键是旧流程的实例ID,在流程发生动态变更时,由于流程文件的更改产生的新流程实例依据算法所述可以实现接续执行,但在执行结束后仍应根据哈希表中新旧流程的对应关系来将两个流程的返回数据进行合理的组合。
(3)创建节点映射表(Node Map):随着流程的向前推进将每个流程的信息存入一个链表中,节点映射表用于存放实例Id与流程节点链表的对应关系,在流程发生动态变更时,根据流程实例Id获得当前实例的节点链表list,list中存有当前执行的断点信息,流程迁移过程中需要根据断点信息进行流程文件的重写,并查找到断点处接续执行。
(4)通过函数修改流程(modify Process),获取当前修改后的流程定义文件,根据实例ID查找节点映射表中已经运行过的节点,对流程文件中的节点进行定位,将绑定的服务依次移除,完成修改,部署流程。
(5)通过函数节点查找(find Node),遍历查找节点映射表中最后一个放入的节点名称,开始新流程实例,执行过程中对比流程节点,准确找到断点位置,当断点被删除时,只需要停在最后放入节点的下一个位置即可。
(6)通过函数消息数据合并(CombineMsg),通过查找流程映射表中流程的一一对应关系,递归查找新旧流程ID,获得每个流程接收到的数据,对数据进行整合显示。
Claims (2)
1.一种基于JBPM的服务动态流程编排方法,所述方法包括如下步骤:
(1)确定需求范围,从QoS模板库获取匹配模板,并挖掘需求与服务的对应关系、每个服务所需的具体参数,进行反馈;
(2)根据反馈传入具体参数,系统作动态规划,构建服务和模板的动态绑定;
(3)流程编排,生成流程模板;
(4)流程自动执行,生成流程实例;
(5)流程变更,利用迁移算法对变更内容进行流程模板重写,生成新流程;
(6)开始新流程实例,流程结束;
(7)将结果页面中的数据与旧流程保存的数据合并。
2.根据权利要求1所述的方法,其中所述步骤(5)中的迁移算法包括如下步骤:
(1)创建用户与流程实例的对应关系以及新旧流程实例的对应关系,创建流程运行过程中的监控信息;
(2)对流程文件进行重写,根据流程运行过程中的监控信息对已完成的节点做删除功能操作,生成新的流程模板,发布执行并将流程实例的信息与旧流程实例的对应关系保存,根据监控信息获得断点位置;
(3)根据新旧流程的对应关系重组返回数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410569630.0A CN104360842B (zh) | 2014-10-23 | 2014-10-23 | 一种基于jbpm的服务动态流程编排方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410569630.0A CN104360842B (zh) | 2014-10-23 | 2014-10-23 | 一种基于jbpm的服务动态流程编排方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104360842A true CN104360842A (zh) | 2015-02-18 |
CN104360842B CN104360842B (zh) | 2017-09-26 |
Family
ID=52528106
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410569630.0A Active CN104360842B (zh) | 2014-10-23 | 2014-10-23 | 一种基于jbpm的服务动态流程编排方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104360842B (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104866951A (zh) * | 2015-04-27 | 2015-08-26 | 广州杰赛科技股份有限公司 | 业务流程中的业务信息更新方法和系统 |
CN105653509A (zh) * | 2015-12-24 | 2016-06-08 | 北京经纬恒润科技有限公司 | 一种文档处理方法及装置 |
CN106503970A (zh) * | 2016-11-04 | 2017-03-15 | 东软集团股份有限公司 | 流程实例的编辑方法及装置 |
CN108269055A (zh) * | 2017-12-07 | 2018-07-10 | 中国铁道科学研究院电子计算技术研究所 | 一种招标采购管理系统及方法 |
CN110308896A (zh) * | 2019-06-26 | 2019-10-08 | 浪潮金融信息技术有限公司 | 一种自助售卖机中出货流程动态编排的开发方法 |
CN110428309A (zh) * | 2019-08-05 | 2019-11-08 | 政采云有限公司 | 一种差异化采购方法及装置 |
US11178233B2 (en) | 2016-12-15 | 2021-11-16 | Huawei Technologies Co., Ltd. | Service orchestration method and apparatus, and server |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101256492A (zh) * | 2008-03-31 | 2008-09-03 | 宋乃辉 | 一种进行模型驱动架构的软件开发方法及其系统 |
US20100318969A1 (en) * | 2009-06-16 | 2010-12-16 | Lukas Petrovicky | Mechanism for Automated and Unattended Process for Testing Software Applications |
CN102222278A (zh) * | 2011-06-10 | 2011-10-19 | 成都勤智数码科技有限公司 | 一种运维流程定制的方法及装置 |
-
2014
- 2014-10-23 CN CN201410569630.0A patent/CN104360842B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101256492A (zh) * | 2008-03-31 | 2008-09-03 | 宋乃辉 | 一种进行模型驱动架构的软件开发方法及其系统 |
US20100318969A1 (en) * | 2009-06-16 | 2010-12-16 | Lukas Petrovicky | Mechanism for Automated and Unattended Process for Testing Software Applications |
CN102222278A (zh) * | 2011-06-10 | 2011-10-19 | 成都勤智数码科技有限公司 | 一种运维流程定制的方法及装置 |
Non-Patent Citations (1)
Title |
---|
孙醒龙: "基于服务模板的自适应工作流建模及动态执行研究", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104866951A (zh) * | 2015-04-27 | 2015-08-26 | 广州杰赛科技股份有限公司 | 业务流程中的业务信息更新方法和系统 |
CN104866951B (zh) * | 2015-04-27 | 2019-01-18 | 广州杰赛科技股份有限公司 | 业务流程中的业务信息更新方法和系统 |
CN105653509A (zh) * | 2015-12-24 | 2016-06-08 | 北京经纬恒润科技有限公司 | 一种文档处理方法及装置 |
CN106503970A (zh) * | 2016-11-04 | 2017-03-15 | 东软集团股份有限公司 | 流程实例的编辑方法及装置 |
US11178233B2 (en) | 2016-12-15 | 2021-11-16 | Huawei Technologies Co., Ltd. | Service orchestration method and apparatus, and server |
CN108269055A (zh) * | 2017-12-07 | 2018-07-10 | 中国铁道科学研究院电子计算技术研究所 | 一种招标采购管理系统及方法 |
CN110308896A (zh) * | 2019-06-26 | 2019-10-08 | 浪潮金融信息技术有限公司 | 一种自助售卖机中出货流程动态编排的开发方法 |
CN110428309A (zh) * | 2019-08-05 | 2019-11-08 | 政采云有限公司 | 一种差异化采购方法及装置 |
CN110428309B (zh) * | 2019-08-05 | 2022-04-08 | 政采云有限公司 | 一种差异化采购方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN104360842B (zh) | 2017-09-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104360842A (zh) | 一种基于jbpm的服务动态流程编排方法 | |
CN107943557B (zh) | 一种基于云平台的虚拟机磁盘增量快照方法 | |
CN112270550B (zh) | 一种基于区块链的新能源电力溯源方法及系统 | |
CN111027921B (zh) | 一种业务处理方法、装置及电子设备和存储介质 | |
US9390124B2 (en) | Version control system using commit manifest database tables | |
US11231912B2 (en) | Post-deployment modification of information-technology application using lifecycle blueprint | |
US10909484B2 (en) | Dynamic directed graph workflows | |
CN105630488A (zh) | 一种基于docker容器技术的持续集成实现方法 | |
CN102110121A (zh) | 一种数据处理方法及其系统 | |
CN105808323A (zh) | 一种虚拟机创建方法及系统 | |
CN105468720A (zh) | 集成分布式数据处理系统的方法、相应系统及其数据处理方法 | |
CN105159783A (zh) | 一种系统任务分配方法 | |
CN107679832A (zh) | 任务管理方法、装置和服务器 | |
WO2017101591A1 (zh) | 一种知识库构建方法、控制器 | |
US20200084041A1 (en) | Automated Blockchain Protocol Update | |
CN109408493A (zh) | 一种数据源的迁移方法及系统 | |
CN112445598B (zh) | 一种基于quartz的任务调度方法、装置、电子设备以及介质 | |
CN103617161A (zh) | 一种针对saas模式的数据存储方法和装置 | |
CN104850583A (zh) | 海量气候模式输出数据的分布式协同分析系统及方法 | |
WO2022247201A1 (zh) | 一种数据查询方法及装置 | |
CN110389766A (zh) | HBase容器集群部署方法、系统、设备及计算机可读存储介质 | |
CN111569427B (zh) | 资源的处理方法、装置、存储介质和电子装置 | |
CN106484792B (zh) | 一种用于持久层框架的数据源管理方法及装置 | |
CN111475602B (zh) | 多版本知识图谱的存储方法、装置、存储介质及电子设备 | |
CN112035466B (zh) | 一种区块链查询外置索引开发框架 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |