您好,欢迎来到爱够旅游网。
搜索
您的当前位置:首页自定义工作流引擎及其实现方法[发明专利]

自定义工作流引擎及其实现方法[发明专利]

来源:爱够旅游网
(19)中华人民共和国国家知识产权局

(12)发明专利申请

(10)申请公布号 CN 108009696 A(43)申请公布日 2018.05.08

(21)申请号 201610927941.9(22)申请日 2016.10.31

(71)申请人 上海翼勋互联网金融信息服务有限

公司

地址 200120 上海市浦东新区浦东南路360

号新上海国际大厦4层B座(72)发明人 孙增庆 杨阳 

(74)专利代理机构 上海浦一知识产权代理有限

公司 31211

代理人 戴广志(51)Int.Cl.

G06Q 10/06(2012.01)G06Q 10/10(2012.01)

权利要求书1页 说明书6页

(54)发明名称

自定义工作流引擎及其实现方法(57)摘要

本发明提供一种自定义工作流引擎,包括:存储引擎,用于存储流程自定义配置数据;所述流程自定义配置数据至少包括:流程步骤名称、流程状态、流程对象、流程步骤、流程步骤选项以及流程步骤选项详情;控制代码引擎,存储流程控制代码,流程控制代码对当前流程步骤是否可更新进行验证,对无法通过流程控制代码验证的流程步骤给出提示信息,对能通过流程控制代码验证的流程步骤进行状态更新后再根据存储引擎中的流程步骤选项执行后续流程步骤。本发明还提供了一种自定义工作流引擎的实现方法。本发明采用存储引擎和控制代码引擎实现每个流程。本发明添加流程时能实现不用后台随之改动,流程与业务能实现分离,比较灵活,通用性高,可用于任何对象。

CN 108009696 ACN 108009696 A

权 利 要 求 书

1/1页

1.一种自定义工作流引擎,其特征在于,包括:存储引擎和控制代码引擎;存储引擎,用于存储流程自定义配置数据;所述流程自定义配置数据至少包括:流程步骤名称、流程步骤状态、流程步骤对象、流程步骤详情、流程步骤控制选项以及流程步骤控制选项详情;

控制代码引擎,存储流程控制代码;

所述流程控制代码对将要执行的流程步骤是否已更新进行验证,流程步骤若已更新则无法通过流程控制代码验证,控制代码引擎给出流程步骤已更新提示信息;流程步骤若无更新则能通过流程控制代码验证,对能通过流程控制代码验证的流程步骤进行流程状态更新后再根据存储引擎中的流程步骤选项详情执行后续流程步骤。

2.如权利要求1所述的自定义工作流引擎,其特征在于:所述存储引擎进一步划分为:流程定义模块、流程对象定义模块、流程步骤定义模块、流程步骤选项定义模块和流程步骤选项详情定义模块

流程定义模块,存储流程步骤名称以及该流程是否启用;流程对象定义模块,存储当前流程状态及流程对象;流程步骤定义模块,存储流程步骤;流程步骤选项定义模块,存储流程步骤选项;所述流程步骤选项:标识当前流程步骤的具体执行情况;

流程步骤选项详情定义模块,存储流程步骤选项详情;所述存储流程步骤选项详情:根据当前流程步骤所执行的流程步骤选项决定下一步所要执行的流程步骤。

3.如权利要求1所述的自定义工作流引擎,其特征在于:所述流程步骤选项至少包括:同意或拒绝。

4.如权利要求1所述的自定义工作流引擎,其特征在于:所述流程状态至少包括:当前流程步骤是否已执行以及该流程当前所执行的流程步骤选项。

5.一种自定义工作流引擎实现方法,其特征在于,包括:对某一流程定义流程名称和各流程步骤的名称;检查所述流程是否已启用,若未启用则给出所述流程未启用提示信息;对所述流程设置流程对象,检测流程状态;对所述流程设置流程步骤;

对所述流程的各流程步骤设置流程步骤选项;所述流程步骤选项:标识当前流程步骤的具体执行情况;

对所述流程设置流程步骤选项详情;所述存储流程步骤选项详情:根据当前流程步骤所执行的流程步骤选项决定下一步所要执行的流程步骤。

6.如权利要求5所述的自定义工作流引擎实现方法,其特征在于:所述流程步骤选项至少包括:同意或拒绝。

7.如权利要求5所述的自定义工作流引擎实现方法,其特征在于:所述流程状态至少包括:当前流程是否已更新以及该流程当前所执行的步骤。

8.如权利要求6所述的自定义工作流引擎实现方法,其特征在于:所述流程步骤选项为拒绝时,后续步骤可以是中断流程、返回上一流程步骤、返回流程起始位置、或执行后续某一流程步骤。

2

CN 108009696 A

说 明 书

自定义工作流引擎及其实现方法

1/6页

技术领域[0001]本发明涉及计算机领域,特别是涉及一种用于工作流管理的自定义工作流引擎。本发明还公开了一种用于工作流管理的自定义工作流引擎实现方法。

背景技术[0002]工作流(Workflow),指“业务过程的部分或整体在计算机应用环境下的自动化”。是对工作流程及其各操作步骤之间业务规则的抽象、概括描述。在计算机中,工作流属于计算机支持的协同工作(CSCW)的一部分。后者是普遍地研究一个群体如何在计算机的帮助下实现协同工作的。[0003]工作流主要解决的主要问题是:为了实现某个业务目标,利用计算机在多个参与者之间按某种预定规则自动传递文档、信息或者任务。[0004]工作流概念起源于生产组织和办公自动化领域,是针对日常工作中具有固定程序活动而提出的一个概念,目的是通过将工作分解成定义良好的任务或角色,按照一定的规则和过程来执行这些任务并对其进行监控,达到提高工作效率、更好的控制过程、增强对客户的服务、有效管理业务流程等目的。Georgakopoulos给出的工作流定义是:工作流是将一组任务组织起来以完成某个经营过程:定义了任务的触发顺序和触发条件,每个任务可以由一个或多个软件系统完成,也可以由一个或一组人完成,还可以由一个或多个人与软件系统协作完成。[0005]随着业务流程的不断复杂,流程的不断变化,原硬编码实现的工作流或其他工作流的实现,简单的添加都需要改代码,发版,因此实现一个自定义工作流且满足简单添加流程的情况下不用更改代码只需后台管理人员添加配置流程即可生效的工作流就显得尤为重要。

发明内容[0006]本发明要解决的技术问题是提供一种在变更流程时不需要后台做相应变更(后台变更,指后台程序变更、后台发版变更等后台文件变更)的自定义工作流引擎。本发明还提供了所述自定义工作流引擎的实现方法。[0007]为解决上述技术问题,本发明提供一种自定义工作流引擎,包括:[0008]存储引擎和控制代码引擎;[0009]存储引擎,用于存储流程自定义配置数据;[0010]所述流程自定义配置数据至少包括:流程步骤名称、流程状态、流程对象、流程步骤、流程步骤选项以及流程步骤选项详情;[0011]控制代码引擎,存储流程控制代码,流程控制代码对当前流程步骤是否可更新进行验证,对无法通过流程控制代码验证的流程步骤给出提示信息,对能通过流程控制代码验证的流程步骤进行状态更新后再根据存储引擎中的流程步骤选项执行后续流程步骤。[0012]进一步改进,所述存储引擎进一步划分为:流程定义模块、流程对象定义模块、流

3

CN 108009696 A

说 明 书

2/6页

程步骤定义模块、流程步骤选项定义模块和流程步骤选项详情定义模块[0013]流程定义模块,存储流程步骤名称以及该流程是否启用;[0014]流程对象定义模块,存储当前流程状态及流程对象;[0015]流程步骤定义模块,存储流程步骤;[0016]流程步骤选项定义模块,存储流程步骤选项;所述流程步骤选项:标识当前流程步骤的具体执行情况;[0017]流程步骤选项详情定义模块,存储流程步骤选项详情;所述存储流程步骤选项详情:根据当前流程步骤所执行的流程步骤选项决定下一步所要执行的流程步骤。[0018]其中,所述流程步骤选项至少包括:同意或拒绝。[0019]其中,所述流程状态至少包括:当前流程步骤是否已执行以及该流程当前所执行的流程步骤选项。[0020]本发明提供一种自定义工作流引擎实现方法,包括:[0021]对某一流程定义流程名称和各流程步骤的名称;[0022]检查所述流程是否已启用,若未启用则给出所述流程未启用提示信息;[0023]对所述流程设置流程对象,检测流程状态;[0024]对所述流程设置流程步骤;[0025]对所述流程的各流程步骤设置流程步骤选项;所述流程步骤选项:标识当前流程步骤的具体执行情况;[0026]对所述流程设置流程步骤选项详情;所述存储流程步骤选项详情:根据当前流程步骤所执行的流程步骤选项决定下一步所要执行的流程步骤。[0027]其中,所述流程步骤选项至少包括:同意或拒绝。[0028]其中,所述流程状态至少包括:当前流程步骤是否已执行以及该流程当前所执行的流程步骤选项。[0029]本发明采用存储引擎(自定义配置数据)和控制代码引擎(流程控制代码)来实现每个流程步骤走向。[0030]因为本发明采用了引擎自动检测配置即时生效技术手段(控制代码判断后立刻生效)所以在添加流程上,能实现不用后台随之改动,即只需后台管理人员维护流程即可满足即时生效。本发明通过程定义、流程对象定义、流程步骤定义、流程步骤选项定义和流程步骤选项详情定义实现基础流程引擎所以流程与业务能实现分离,比较灵活,通用性高,可用于任何对象。本发明通过控制代码验证的技术手段实现公开流程调用所以流程提交与业务能使用事务控制

具体实施方式[0031]本发明提供一种自定义工作流引擎,包括:[0032]存储引擎和控制代码引擎;[0033]存储引擎,用于存储流程自定义配置数据;[0034]所述流程自定义配置数据至少包括:流程步骤名称、流程状态、流程对象、流程步骤、流程步骤选项以及流程步骤选项详情;[0035]控制代码引擎,存储流程控制代码,流程控制代码对当前流程步骤是否可更新进

4

CN 108009696 A

说 明 书

3/6页

行验证,对无法通过流程控制代码验证的流程步骤给出提示信息,对能通过流程控制代码验证的流程步骤进行状态更新后再根据存储引擎中的流程步骤选项执行后续流程步骤。[0036]进一步改进,所述存储引擎进一步划分为:流程定义模块、流程对象定义模块、流程步骤定义模块、流程步骤选项定义模块和流程步骤选项详情定义模块[0037]流程定义模块,存储流程步骤名称以及该流程是否启用;[0038]流程对象定义模块,存储当前流程状态及流程对象;[0039]流程步骤定义模块,存储流程步骤;[0040]流程步骤选项定义模块,存储流程步骤选项;所述流程步骤选项:标识当前流程步骤的具体执行情况;[0041]流程步骤选项详情定义模块,存储流程步骤选项详情;所述存储流程步骤选项详情:根据当前流程步骤所执行的流程步骤选项决定下一步所要执行的流程步骤。[0042]其中,所述流程步骤选项至少包括:同意或拒绝。[0043]其中,所述流程状态至少包括:当前流程是否有更新以及该流程当前所执行的步骤。[0044]本发明提供一种自定义工作流引擎实现方法,包括:[0045]对某一流程定义流程名称和各流程步骤的名称;[0046]检查所述流程是否已启用,若未启用则给出所述流程未启用提示信息;[0047]对所述流程设置流程对象,检测流程状态;[0048]对所述流程设置流程步骤;[0049]对所述流程的各流程步骤设置流程步骤选项;所述流程步骤选项:标识当前流程步骤的具体执行情况;[0050]对所述流程设置流程步骤选项详情;所述存储流程步骤选项详情:根据当前流程步骤所执行的流程步骤选项决定下一步所要执行的流程步骤。[0051]其中,所述流程步骤选项至少包括:同意或拒绝。[0052]其中,所述流程状态至少包括:当前流程是否有更新以及该流程当前所执行的步骤。[0053]以下通过具体数据带入对本发明自定义工作流引擎及其实现方法进行说明:[0054]首先,对本发明各模块提供一种可实现的数据形式,本发明的可实现数据形式不限于下述内容,本领域技术人员可以根据具体要求对下述数据形式进行扩充。[0055]通过流程定义模块(Workflows),定义流程步骤名称以及该流程步骤是否启用;以下表1为例对流程定义模块(Workflows)所实现的数据形式进行举例说明。

[0056]

5

CN 108009696 A[0057]

说 明 书

4/6页

表1

[0059]通过流程对象定义模块(WorkflowTables),存储当前流程状态及流程对象;以下表2为例对流程对象定义模块(WorkflowTables)所实现的数据形式进行举例说明。

[0060]

[0058]

表2

[0062]流程步骤定义模块(WorkflowSteps),存储流程步骤;以下表3为例对流程步骤定义模块(WorkflowSteps)所实现的数据形式进行举例说明。

[0063]

[0061]

表3

[0065]流程步骤选项定义模块(WorkflowStepItems),存储流程步骤选项;所述流程步骤选项:标识当前流程步骤的具体执行情况;以下表4为例对流程步骤选项定义模块

6

[0064]

CN 108009696 A

说 明 书

5/6页

(WorkflowStepItems)所实现的数据形式进行举例说明。

[0066]

表4

[0068]流程步骤选项详情定义模块(WorkflowStepItemsDetails),存储流程步骤选项详情;所述存储流程步骤选项详情:根据当前流程步骤所执行的流程步骤选项决定下一步所要执行的流程步骤。以下表5为例对流程步骤选项详情定义模块(WorkflowStepItemsDetails)所实现的数据形式进行举例说明。

[0069]

[0067]

表5

[0071]上述各定义模块之间的数据关系如下:[0072]WorkflowSteps的外键Workflow_Id对应(Workflows的主键)[0073]WorkflowStepItems的外键WorkflowStep_Id对应(WorkflowSteps的主键)[0074]WorkflowStepItemsDetails的外键WorkflowStepItems_Id对应(WorkflowStepItems的主键)[0075]WorkflowStepItemsDetails的外键GoToWorkflowStep_Id对应(WorkflowSteps的主键)[0076]WorkflowTables的外键Workflow_Id对应(Workflows的主键)[0077]以下,以兹举一具体流程A用以说明本发明的实现过程。[0078]假设某流程名称为A以,流程A已启用,流程A的对象是B,该流程A具有顺序执行的流程步骤a-d,流程步骤选项为同意或拒绝,流程步骤选项详情分别记录同意所执行的后续流程步骤以及拒绝所执行的后续流程步骤;

7

[0070]

CN 108009696 A[0079]

说 明 书

6/6页

流程A开始执行时:

[0080]首先,根据控制代码对流程步骤a是否已更新进行验证(与预设流程步骤a比较是否有变化),若流程步骤a已更新则无法通过流程控制代码的验证给出流程步骤a已更新的提示信息(也可以是错误提示信息);若流程步骤a无更新则能通过流程控制代码的验证,选择流程步骤选项(同意或拒绝);若流程步骤选项为同意,则执行流程步骤详情中流程步骤选项为同意所指向的后续流程步骤b(以流程步骤b为例,也可以是流程步骤c或d,具体根据设置为准);若流程步骤选项为拒绝,则执行流程步骤详情中流程步骤选项为拒绝所指向的后续流程步骤(以流程步骤c为例,也可以是流程步骤b或d,具体根据设置为准);流程步骤选项为拒绝后续步骤可以是中断流程、返回上一流程步骤、返回流程起始位置或执行后续某一流程步骤等。[0081]以下,以兹举另一具体请假流程用以说明本发明的实现过程。[0082]流程名称:请假流程[0083]流程步骤:组长审批,经理审批,总经理审批,董事长审批,审批结束[0084]步骤选项:[0085]组长审批:同意[0086]经理审批:同意,拒绝[0087]总经理审批:同意,拒绝[0088]董事长审批:同意[0089]步骤选项详情:[0090]组长审批:同意-→下一步-→经理审批[0091]经理审批:同意-→下一步-→总经理审批[0092]拒绝-→下一步-→组长审批[0093]总经理审批:同意-→下一步-→董事长审批[0094]拒绝-→下一步-→经理审批[0095]董事长审批:同意-→下一步-→审批结束[0096]拒绝-下一步-总经理审批[0097]当一条请假申请提交时,则流程自动初始化引擎并获取第一步骤选项,即弹出审批界面,该界面包含审批备注,选择操作(例如:同意),提交按钮。[0098]提交时验证该步骤数据是否已更新(即流程步骤是否已更新),如已更新,则提示数据已更新,请刷新页面,否则引擎找到同意选项配置的下一步为经理审批,跳转到这一步,同时更新当前状态为经理审批所配置的状态。同理,以下每一步审批都如上,经理审批时加载当前步骤选项(同意和拒绝),选同意提交时先验证,验证通过则找同意选项配置的下一步总经理审批,更新当前状态,拒绝则找到拒绝所配置的下一步经理审批,更新当前状态。直到审批结束,此流程结束。[0099]以上通过具体实施方式和实施例对本发明进行了详细的说明,但这些并非构成对本发明的限制。在不脱离本发明原理的情况下,本领域的技术人员还可做出许多变形和改进,这些也应视为本发明的保护范围。

8

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- igbc.cn 版权所有 湘ICP备2023023988号-5

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务