一种轻量级的流程引擎实现方法

文档序号:9432269阅读:440来源:国知局
一种轻量级的流程引擎实现方法
【技术领域】
[0001] 本发明设及软件开发技术领域,具体设及一种轻量级的流程引擎实现方法。
【背景技术】
[0002] 在应用软件设及流程的开发中,时常遇到两种极端情况:一种是使用固定流程,即 将一项业务绑定一个流程,流程步骤的执行人通常也设为固定的人员,业务按默认的流程 运行,流程对用户透明。运样使用很简单,但流程发生变化时,由于业务与流程绑定,所W业 务需要随之变更为新的名称,如果流程变更频繁,就会导致业务名称混乱。同时,流程执行 人调整起来也很不灵活。另一种是配置流程,用户可W自己创建流程,业务可W灵活选择 流程,但配置流程时往往需要设定关联值、临界值、分支等众多参数,对用户来说,操作很复 杂。

【发明内容】

[0003] 本发明解决的技术问题在于提供一种轻量级的流程引擎实现方法,使应用软件在 流程开发时,让业务不固定流程,同时减少流程配置参数,从而提高应用软件的灵活性和易 用性。
[0004] 本发明解决上述技术问题的技术方案是: 阳〇化]所述的方法是创建=个主要的关系数据库表,分别记录流程名称及可用状态信 息、流程的详细步骤信息、实际业务的流程运营信息;开发应用软件时,通过表单请求,调用 程序操作运=个表的记录,实现流程自定义、流程实例化、业务流程扭转及跟踪的功能。
[0006] 所述的=个主要的关系数据库表分别是流程主表、流程步骤表和流程实例表;
[0007] 流程主表主要包括流程标识flow_W、流程名称flow_name、流程说明flow_memo、 排序号so;rt_index、可用状态flow_en油led;
[0008] 流程步骤表主要包括步骤标识step_W、所属流程标识flow_W、步骤名称step_ name、步骤序号step_index、办理人标识use;r_id、办理角色标识;role_id、办理部口标识 department_id;
[0009] 流程实例表主要包括实例标识instance_W、业务标识business_W、所属流程标 识flow_id、步骤名称step_name、步骤状态step_sta1:us、负责员标识manage;r_id、负责员 类型mana邑er_type、上一步标识pre_step、下一步标识next_step。
[0010] 所述的方法主要包括如下步骤:
[0011] 第1步、创建数据库表流程主表workflow,用于存储流程名称及可用状态信息,
[0012] 第2步、创建数据库表流程步骤表workflow_step,用于存储各流程的详细步骤信 息,
[001引第3步、创建数据库表流程实例表workflow_instance,用于存储实际业务的流程 运营信息,
[0014] 第4步、用户通过表单定义流程名称、填写流程步骤,提交后保存到流程主表 workflow和流程步骤表workflow_st巧中,实现流程自定义,
[0015] 第5步、当一项业务选择流程主表workflow中的某个流程运营时,就按照该流程 的详细步骤为该项业务对应生成实际的步骤,保存到流程实例表workflow_instance中, 实现流程实例化;
[0016] 第6步、在业务的办理中,通过更新流程实例workflow_instance中当前步骤或邻 近步骤信息,从而实现流程扭转及跟踪。
[0017] 本发明的有益效果是:
[0018] 用=个主要的关系数据库表,实现流程自定义、业务可选择流程、流程办理者可根 据实际情况设置为人员、角色或部口,相比固定流程提高了灵活性,相对通用的配置流程降 低了复杂度,从而提高应用软件在流程使用方面的灵活性和易用性。
【附图说明】
[0019] 下面结合附图对本发明进一步说明:
[0020] 图1为本发明存储流程信息的数据库表workflow表结构图;
[0021] 图2为本发明存储流程步骤信息的数据库表workflow_step表结构图;
[0022] 图3为本发明存储流程实例信息的数据库表workflow_instance表结构图;
[0023] 图4为本发明S个数据库表的关系图。
【具体实施方式】
[0024] 下面我们WMyS化数据库及JAVA语言代码为例,讲述该方法的实施:
[00巧]第1步、包I建数据库表workflow,S化语句如下:
[0026] DROPTABLHIFEXISTS'workflow';
[0027]

[0033] 第4步、用户通过表单定义流程名称、填写流程步骤,提交后调用程序保存到数据 库,实现流程自定义,大致的JAVA代码如下:
[0034]

[0036] 第5步、当一项业务选择流程主表中的某个流程运营时,就按照该流程的详细步 骤为该项业务对应生成实际的步骤,保存到流程实例表workflow_instance中,实现流程 实例化,大致的JAVA代码如下:
[0037]
[0038]
[0039] 第6步、在业务的办理中,通过更新流程实例中当前步骤或邻近步骤信息,从而实 现流程扭转及跟踪,大致的JAVA代码如下:

【主权项】
1. 一种轻量级的流程引擎实现方法,其特征在于:所述的方法是创建三个主要的关系 数据库表,分别记录流程名称及可用状态信息、流程的详细步骤信息、实际业务的流程运营 信息;开发应用软件时,通过表单请求,调用程序操作这三个表的记录,实现流程自定义、流 程实例化、业务流程扭转及跟踪的功能。2. 根据权利要求1所述的轻量级的流程引擎实现方法,其特征在于:所述的三个主要 的关系数据库表分别是流程主表、流程步骤表和流程实例表; 流程主表主要包括流程标识flow_id、流程名称flow_name、流程说明flow_memo、排序 号 sort_index、可用状态 flow_enabled ; 流程步骤表主要包括步骤标识step_id、所属流程标识flow_id、步骤名称step_name、步骤序号step_index、办理人标识user_id、办理角色标识role_id、办理部门标识 department」d; 流程实例表主要包括实例标识instance_id、业务标识business_id、所属流程标识flow_id、步骤名称step_name、步骤状态step_status、负责员标识manager_id、负责员类 型manager_type、上一步标识pre_step、下一步标识next_step〇3. 根据权利要求1或2所述的轻量级的流程引擎实现方法,其特征在于:所述的方法 主要包括如下步骤: 第1步、创建数据库表流程主表workflow,用于存储流程名称及可用状态信息, 第2步、创建数据库表流程步骤表workflow_step,用于存储各流程的详细步骤信息, 第3步、创建数据库表流程实例表workflowjnstance,用于存储实际业务的流程运营 信息, 第4步、用户通过表单定义流程名称、填写流程步骤,提交后保存到流程主表workflow和流程步骤表workflow_step中,实现流程自定义, 第5步、当一项业务选择流程主表workflow中的某个流程运营时,就按照该流程的详 细步骤为该项业务对应生成实际的步骤,保存到流程实例表workflow_instance中,实现 流程实例化; 第6步、在业务的办理中,通过更新流程实例workflow_instance中当前步骤或邻近步 骤信息,从而实现流程扭转及跟踪。
【专利摘要】本发明涉及软件开发技术领域,具体涉及一种轻量级的流程引擎实现方法。本发明所述的方法是创建三个主要的关系数据库表,分别记录流程名称及可用状态信息、流程的详细步骤信息、实际业务的流程运营信息;开发应用软件时,通过表单请求,调用程序操作这三个表的记录,实现流程自定义、流程实例化、业务流程扭转及跟踪的功能。本发明解决了应用系统流程开发方面使用固定流程不灵活、使用配置流程过于复杂的难题,可以用于改善应用系统流程使用方面的灵活性和易用性。
【IPC分类】G06F9/44
【公开号】CN105183447
【申请号】CN201510416986
【发明人】张远世, 季统凯
【申请人】国云科技股份有限公司
【公开日】2015年12月23日
【申请日】2015年7月13日
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1