CN107861749B - 一种基于配置的任务单元的流程编排系统及其实现方法 - Google Patents
一种基于配置的任务单元的流程编排系统及其实现方法 Download PDFInfo
- Publication number
- CN107861749B CN107861749B CN201711052417.2A CN201711052417A CN107861749B CN 107861749 B CN107861749 B CN 107861749B CN 201711052417 A CN201711052417 A CN 201711052417A CN 107861749 B CN107861749 B CN 107861749B
- Authority
- CN
- China
- Prior art keywords
- task
- version
- unit
- units
- basic unit
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/54—Link editing before load time
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及一种基于配置的任务单元的流程编排系统及其实现方法。本发明的系统由配置的任务单元(HC‑TASK)组件、流程编排模块和任务(TASK)守护进程组成。配置的任务单元(HC‑TASK)组件,包括构成配置的任务单元(HC‑TASK)的任务基础单元和版本生成器。任务基础单元是配置的任务单元(HC‑TASK)组件的最小构成因素。流程编排模块提供版本管理和流程编排功能,以任务基础单元为中心可对单个或多个任务进行组合编排,结合版本管理,形成具有可控版本的流程。任务(TASK)守护进程提供对多个编排流程包含的任务单元进行有序任务的检测服务。本发明将任务进行流程编排,并加以版本控制,具有扩展性好、适用范围广等特点,可有效地应用于多种业务型系统中。
Description
技术领域
本发明涉及计算机应用技术领域,特别涉及一种基于配置的任务单元的流程编排系统及其实现方法。
背景技术
随着计算机应用技术的发展,业务系统间的交互方式愈趋向于多样化。伴随着业务的复杂化及不确定因素,频繁的业务需求变更要求业务系统有非常好的兼容性和健壮性。传统业务系统间的交互,当一方发生的变更与原协议具有差异性时,往往需要另一方根据新协议进行配合变更。而这种配合式的交互方式,通常变更都只有代码级别的版本控制,一旦变更失败或者变更撤销,需要花费大量的开销进行版本回退。这时候更需要一种灵活度高和适用范围广的方法,可以方便快捷地对业务功能进行版本变更,并且变更范围可控。
发明内容
本发明解决的技术问题在于针对存在业务链路的系统,在某个或多个任务节点存在变更需求时,变更的开销、回撤预防以及范围控制等方面存在不可控风险的问题,提供一种基于配置的任务单元的流程编排系统。
本发明解决的另一技术问题在于提供一种基于配置的任务单元的流程编排系统的实现方法。
本发明解决上述技术问题之一的技术方案是:
所述的系统由HC-TASK组件、流程编排模块和TASK守护进程组成,并提供相应的开发和集成接口;
所述的HC-TASK组件,包括构成HC-TASK的任务基础单元和版本生成器;任务基础单元,是HC-TASK组件的最小构成因素;版本生成器提供版本号生成服务;HC-TASK存放了任务的版本信息;
流程编排模块统一管理任务单元,根据业务需求对任务基础单元进行编排;任务单元可自由搭配生成带版本信息的流程链路;
TASK守护进程,提供对多个编排流程包含的任务单元进行有序任务的检测服务。
所述的HC-TASK是配置的任务单元,可通过HC-TASK组件进行配置组装。
所述的任务基础单元包括了任务ID、任务类型、版本号、时间戳和状态五种元素;
所述的版本生成器在维护任务基础单元的过程中,由系统对同任务ID的基础单元进行加锁,按照时间戳的先后顺序,对最新版本的版本号进行累计,并生成新的版本号。
所述的流程编排模块,负责对任务基础单元生成头结点和尾节点,并根据业务需求对任务基础单元进行编排;单个任务流程可对应一个或多个任务基础单元,每个任务都以“头结点+任务ID+版本+尾节点”的形式生成流程链路;
流程编排模块提供CRUD访问接口,用于查询、维护流程链路以及切换流程链路中的TASK版本。
本发明解决上述技术问题之二的技术方案是:
所述的方法包括新建任务基础单元和维护现有任务基础单元;
新建基础单元的步骤是:
第一步,选择TASK生成方式:新建初始化版本HC-TASK基础单元;
第二步,系统自动生成唯一任务ID;
第三步,添加任务类型和时间戳;
第四步,保存HC-TASK基础单元,并填充初始化版本号和状态;
第五步,日志记录;
维护现有任务基础单元的步骤是:
第一步,选择TASK生成方式:选择已有版本TASK;
第二步,复用已有版本TASK的任务ID;
第三步,添加任务类型、时间戳和初始化状态;
第四步,保存HC-TASK基础单元,根据时间戳生成临时唯一标识TEMP_KEY;
第五步,调用版本生成器,传递任务ID作为参数调用服务,获取版本号;
第六步,根据临时唯一标识TEMP_KEY更新HC-TASK基础单元,进行版本填充;
第七步,日志记录。
版本生成器提供服务的流程是:
第一步,版本生成器服务处于监听状态;
第二步,版本生成器接收到服务请求,并检验任务ID真实性;
第三步,对有效的任务ID进行任务检索,并对该ID下的所有任务基础单元进行版本加锁;对无效的任务ID直接返回异常信息;
第四步,根据任务基础单元的时间戳和版本号进行比较,对最新版本的版本号进行累计;
第五步,生成新的版本号,并对该ID下的所有任务基础单元进行版本解锁;
第六步,日志记录,完成。
流程编排模块的管理流程是:
第一步,新建任务流程,生成任务流程ID;
第二步,选择一个或多个任务基础单元;
第三步,对选择的任务基础单元进行链路组装,组装关系包括任务之间的串行或者并行关系;
第四步,解析链路,并根据任务的串行或并行关系自动生成每个任务的头结点和尾节点;
第五步,将每个任务按照“头结点+任务ID+版本+尾节点”的格式存放到有序列表内,并将有序列表作为值,以键值对<K,V>的方式关联上流程ID;
第六步,保存有序列表和任务流程;
第七步,将任务流程添加至TASK守护进程队列;
第八步,日志记录,完成。
TASK守护进程的工作流程是:
第一步,守护进程处于监听状态;
第二步,守护进程按先进先出原则处理队列内的任务流程;
第三步,提取任务流程对应的有序列表,并按顺序检测任务执行状态:当同一任务ID的TASK处于执行中时,暂停当前任务链路,并添加至重复任务代办队列;否则执行当前任务,并设置任务状态为执行中;
第四步,任务执行完成后,检测重复任务代办队列内是否有同任务ID的待办项,对其进行唤醒操作,并标记相同任务为完成状态;
第五步,日志记录,完成。
本发明针对存在业务链路的系统,通过对业务功能点细化分解,转换为HC-TASK任务基础单元;以任务基础单元的形式映射细化功能点。版本生成器提供了版本号生成服务,HC-TASK存放了任务的版本信息;流程编排模块统一管理任务单元,任务单元可自由搭配生成带版本信息的流程链路。可以方便快捷地对细化的功能点进行版本切换,保证系统的稳定,预防不可控风险。TASK守护进程通过对任务流程进行监管,保障了多任务流程间的状态共享。各个组件模块紧密结合,将流程编排形成动态可维护的流程链路,保证了系统的灵活性和扩展性。
附图说明
下面结合附图对本发明进一步说明:
图1是本发明的总体结构图;
图2是本发明版本生成器提供服务的序列图;
图3是本发明服务编排模块的活动图。
具体实施方式
本发明针对存在业务链路的系统,在某个或多个任务节点存在变更需求时,变更的开销、回撤预防以及范围控制等方面存在不可控风险的问题,提供了一种基于配置的任务单元的流程编排系统。通过对业务功能点细化管理,任务流程编排,实现了方便快捷地对业务功能进行版本变更。
图1表示了本发明的总体结构图,由HC-TASK组件、流程编排模块和TASK守护进程组成。
HC-TASK:是配置的任务单元,可通过HC-TASK组件进行配置组装。
HC-TASK组件:包括构成HC-TASK的任务基础单元和版本生成器。
任务基础单元,是HC-TASK组件的最小构成因素,包括了任务ID、任务类型、版本号、时间戳和状态五种元素;任务ID和版本号的组合是基础单元的唯一标识,保证基础单元的唯一性。版本生成器,提供对同一任务ID的基础单元进行版本填充的服务。在维护任务基础单元的过程中,由系统对同任务ID的基础单元进行加锁,按照时间戳的先后顺序,对最新版本的版本号进行累计,并生成新的版本号;流程编排模块,负责对任务基础单元生成头结点和尾节点,并根据业务需求对任务基础单元进行编排。单个任务流程可对应一个或多个任务基础单元,每个任务都以“头结点+任务ID+版本+尾节点”的形式生成流程链路;当存在两个串行的任务时,上级任务尾节点对应下级任务的头结点;当存在两个或两个以上并行的任务时,视为优先级相同,头结点同时对应上级任务的尾节点;TASK守护进程,提供对多个编排流程包含的任务单元进行有序任务的检测服务。流程链路中包含的每一个HC-TASK都具有版本信息。
此外,流程编排模块提供CRUD访问接口,用于查询、维护流程链路以及切换流程链路中的TASK版本。
图2表示了版本生成器提供服务的序列图,图3表示了服务编排模块的活动图,有关的实现步骤分别如下。
版本生成器提供服务的流程是:
第一步,版本生成器服务处于监听状态;
第二步,版本生成器接收到服务请求,并检验任务ID真实性;
第三步,对有效的任务ID进行任务检索,并对该ID下的所有任务基础单元进行版本加锁;对无效的任务ID直接返回异常信息;
第四步,根据任务基础单元的时间戳和版本号进行比较,对最新版本的版本号进行累计;
第五步,生成新的版本号,并对该ID下的所有任务基础单元进行版本解锁;
第六步,日志记录,完成。
服务编排模块的管理流程是:
第一步,新建任务流程,生成任务流程ID;
第二步,选择一个或多个任务基础单元;
第三步,对选择的任务基础单元进行链路组装,组装关系包括任务之间的串行或者并行关系;
第四步,解析链路,并根据任务的串行或并行关系自动生成每个任务的头结点和尾节点;
第五步,将每个任务按照“头结点+任务ID+版本+尾节点”的格式存放到有序列表内,并将有序列表作为值,以键值对<K,V>的方式关联上流程ID;
第六步,保存有序列表和任务流程;
第七步,将任务流程添加至TASK守护进程队列;
第八步,日志记录,完成。
本发明将业务功能点细化并进行编排,具有扩展性好、适用范围广等特点,可有效地应用于多种业务型系统中。
Claims (8)
1.一种基于配置的任务单元的流程编排系统,其特征在于:所述的系统由HC-TASK组件、流程编排模块和TASK守护进程组成,并提供相应的开发和集成接口;
所述的HC-TASK组件,包括构成HC-TASK的任务基础单元和版本生成器;任务基础单元,是HC-TASK组件的最小构成因素;版本生成器提供版本号生成服务;HC-TASK存放了任务的版本信息;
流程编排模块统一管理任务单元,根据业务需求对任务基础单元进行编排;任务单元搭配生成带版本信息的流程链路;
TASK守护进程,提供对多个编排流程包含的任务单元进行有序任务的检测服务;
所述的版本生成器在维护任务基础单元的过程中,由系统对同任务ID的基础单元进行加锁,按照时间戳的先后顺序,对最新版本的版本号进行累计,并生成新的版本号;
所述的流程编排模块,负责对任务基础单元生成头结点和尾节点,并根据业务需求对任务基础单元进行编排;单个任务流程对应一个或多个任务基础单元,每个任务都以“头结点+任务ID+版本+尾节点”的形式生成流程链路;
流程编排模块提供CRUD访问接口,用于查询、维护流程链路以及切换流程链路中的TASK版本。
2.根据权利要求1所述的任务单元的流程编排系统,其特征在于:所述的HC-TASK是配置的任务单元,通过HC-TASK组件进行配置组装。
3.根据权利要求1所述的任务单元的流程编排系统,其特征在于:所述的任务基础单元包括了任务ID、任务类型、版本号、时间戳和状态五种元素。
4.一种基于权利要求1-3任一项所述的基于配置的任务单元的流程编排的方法,其特征在于:所述的方法包括新建任务基础单元和维护现有任务基础单元;
新建基础单元的步骤是:
第一步,选择TASK生成方式:新建初始化版本HC-TASK基础单元;
第二步,系统自动生成唯一任务ID;
第三步,添加任务类型和时间戳;
第四步,保存HC-TASK基础单元,并填充初始化版本号和状态;
第五步,日志记录;
维护现有任务基础单元的步骤是:
第一步,选择TASK生成方式:选择已有版本TASK;
第二步,复用已有版本TASK的任务ID;
第三步,添加任务类型、时间戳和初始化状态;
第四步,保存HC-TASK基础单元,根据时间戳生成临时唯一标识TEMP_KEY;
第五步,调用版本生成器,传递任务ID作为参数调用服务,获取版本号;
第六步,根据临时唯一标识TEMP_KEY更新HC-TASK基础单元,进行版本填充;
第七步,日志记录。
5.根据权利要求4所述的基于配置的任务单元的流程编排方法,其特征在于:
版本生成器提供服务的流程是:
第一步,版本生成器服务处于监听状态;
第二步,版本生成器接收到服务请求,并检验任务ID真实性;
第三步,对有效的任务ID进行任务检索,并对该ID下的所有任务基础单元进行版本加锁;对无效的任务ID直接返回异常信息;
第四步,根据任务基础单元的时间戳和版本号进行比较,对最新版本的版本号进行累计;
第五步,生成新的版本号,并对该ID下的所有任务基础单元进行版本解锁;
第六步,日志记录,完成。
6.根据权利要求4所述的基于配置的任务单元的流程编排方法,其特征在于:
流程编排模块的管理流程是:
第一步,新建任务流程,生成任务流程ID;
第二步,选择一个或多个任务基础单元;
第三步,对选择的任务基础单元进行链路组装,组装关系包括任务之间的串行或者并行关系;
第四步,解析链路,并根据任务的串行或并行关系自动生成每个任务的头结点和尾节点;
第五步,将每个任务按照“头结点+任务ID+版本+尾节点”的格式存放到有序列表内,并将有序列表作为值,以键值对<K,V>的方式关联上流程ID;
第六步,保存有序列表和任务流程;
第七步,将任务流程添加至TASK守护进程队列;
第八步,日志记录,完成。
7.根据权利要求5所述的基于配置的任务单元的流程编排方法,其特征在于:
流程编排模块的管理流程是:
第一步,新建任务流程,生成任务流程ID;
第二步,选择一个或多个任务基础单元;
第三步,对选择的任务基础单元进行链路组装,组装关系包括任务之间的串行或者并行关系;
第四步,解析链路,并根据任务的串行或并行关系自动生成每个任务的头结点和尾节点;
第五步,将每个任务按照“头结点+任务ID+版本+尾节点”的格式存放到有序列表内,并将有序列表作为值,以键值对<K,V>的方式关联上流程ID;
第六步,保存有序列表和任务流程;
第七步,将任务流程添加至TASK守护进程队列;
第八步,日志记录,完成。
8.根据权利要求5至7任一项所述的基于配置的任务单元的流程编排方法,其特征在于:
TASK守护进程的工作流程是:
第一步,守护进程处于监听状态;
第二步,守护进程按先进先出原则处理队列内的任务流程;
第三步,提取任务流程对应的有序列表,并按顺序检测任务执行状态:当同一任务ID的TASK处于执行中时,暂停当前任务链路,并添加至重复任务代办队列;否则执行当前任务,并设置任务状态为执行中;
第四步,任务执行完成后,检测重复任务代办队列内是否有同任务ID的待办项,对其进行唤醒操作,并标记相同任务为完成状态;
第五步,日志记录,完成。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN201711052417.2A CN107861749B (zh) | 2017-10-30 | 2017-10-30 | 一种基于配置的任务单元的流程编排系统及其实现方法 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN201711052417.2A CN107861749B (zh) | 2017-10-30 | 2017-10-30 | 一种基于配置的任务单元的流程编排系统及其实现方法 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| CN107861749A CN107861749A (zh) | 2018-03-30 |
| CN107861749B true CN107861749B (zh) | 2021-07-30 |
Family
ID=61696460
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN201711052417.2A Active CN107861749B (zh) | 2017-10-30 | 2017-10-30 | 一种基于配置的任务单元的流程编排系统及其实现方法 |
Country Status (1)
| Country | Link |
|---|---|
| CN (1) | CN107861749B (zh) |
Families Citing this family (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN109408232B (zh) * | 2018-10-17 | 2020-08-14 | 山东易通发展集团有限公司 | 一种基于交易流程的组件化总线调用执行系统 |
| CN111833030A (zh) * | 2020-09-16 | 2020-10-27 | 四川鱼鳞图信息技术股份有限公司 | 一种土地信息管理系统的数据提交方法及系统 |
Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN101751255A (zh) * | 2009-12-30 | 2010-06-23 | 山东中创软件工程股份有限公司 | 遵循xpdl规范工作流中间件实现服务编制的方法、装置 |
| US20140108489A1 (en) * | 2012-10-15 | 2014-04-17 | Et International, Inc. | Flowlet-based processing |
| CN107092489A (zh) * | 2017-04-13 | 2017-08-25 | 中国联合网络通信集团有限公司 | 基于应用版本发布的处理方法和系统 |
-
2017
- 2017-10-30 CN CN201711052417.2A patent/CN107861749B/zh active Active
Patent Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN101751255A (zh) * | 2009-12-30 | 2010-06-23 | 山东中创软件工程股份有限公司 | 遵循xpdl规范工作流中间件实现服务编制的方法、装置 |
| US20140108489A1 (en) * | 2012-10-15 | 2014-04-17 | Et International, Inc. | Flowlet-based processing |
| CN107092489A (zh) * | 2017-04-13 | 2017-08-25 | 中国联合网络通信集团有限公司 | 基于应用版本发布的处理方法和系统 |
Also Published As
| Publication number | Publication date |
|---|---|
| CN107861749A (zh) | 2018-03-30 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN107147704B (zh) | 一种面向区块链的通用服务中间件系统 | |
| CN106126332A (zh) | 分布式定时任务调度系统及方法 | |
| CN108255592B (zh) | 一种Quartz集群定时任务处理系统及方法 | |
| US20090249287A1 (en) | System and method for an infrastructure that enables provisioning of dynamic business applications | |
| JP5102543B2 (ja) | 情報技術インフラストラクチャを動的にプロビジョニングするための方法 | |
| CN113067900B (zh) | 智能合约的部署方法及装置 | |
| CN105446724B (zh) | 软件参数的管理方法及装置 | |
| CN105959390A (zh) | 微服务的统一管理系统及方法 | |
| CN107077388A (zh) | 用于在多租户应用服务器环境中提供端到端生命周期的系统和方法 | |
| CN101427220A (zh) | 用于计算工具的计算环境的组件化自动供应和管理 | |
| CN101727648B (zh) | 服务系统中的超时控制方法及服务系统 | |
| CN105227683B (zh) | 一种ldap集群数据同步方法及系统 | |
| US20110258620A1 (en) | Method and Apparatus for Making a BPM Application Available to Multiple Tenants | |
| CN101826018A (zh) | 一种网元管理系统界面交互开发系统及方法 | |
| CN108345617A (zh) | 一种数据同步方法、装置以及电子设备 | |
| CN104615489A (zh) | 一种多节点数据交互的实现方法 | |
| CN113098983A (zh) | 基于智能合约的任务执行方法及装置 | |
| CN113672240A (zh) | 一种基于容器的多机房批量自动化部署应用的方法及系统 | |
| CN107861749B (zh) | 一种基于配置的任务单元的流程编排系统及其实现方法 | |
| CN101000619A (zh) | 基于sql的数据同步方法及装置 | |
| CN114710350A (zh) | 一种可调用资源的分配方法和装置 | |
| CN107291938B (zh) | 订单查询系统及方法 | |
| CN106354507A (zh) | 一种企业级应用管理系统及其运行方法 | |
| CN105681100A (zh) | 一种综合网管多协议采集调度方法 | |
| CN113067914B (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 | ||
| CB02 | Change of applicant information |
Address after: 523808 19th floor, Cloud Computing Center, Chinese Academy of Sciences, No.1 Kehui Road, Songshanhu high tech Industrial Development Zone, Dongguan City, Guangdong Province Applicant after: G-CLOUD TECHNOLOGY Co.,Ltd. Address before: 523808 No. 14 Building, Songke Garden, Songshan Lake Science and Technology Industrial Park, Dongguan City, Guangdong Province Applicant before: G-CLOUD TECHNOLOGY Co.,Ltd. |
|
| CB02 | Change of applicant information | ||
| GR01 | Patent grant | ||
| GR01 | Patent grant |