一种流程引擎的处理方法和装置的制造方法_3

文档序号:9200211阅读:来源:国知局
1] ConfigItem :数据模型在配置树定义完属性后的数据具体表现。
[0112] CIRelationShip:数据模型与数据模型的数据具体表现之间的关系。
[0113] ClPropertyValue :-个数据模型中不同属性的具体值,作用是将传统二维的表结 构变成单个的数据单元,当需要表现具体数据结构时,则是在这些数据单元依照已经配置 好的关系展现成数据的具体完整表现。
[0114] 本发明的流程引擎依据上述6张核心表处理各种数据模型,从而形成一个完全基 于配置化的流程引擎系统。
[0115] 参照图3,示出了本发明的一种依据CMDB核心表定义流程步骤的步骤流程图,具 体可以包括:
[0116] 步骤301、定义流程步骤所需要的字段;
[0117] 具体地,例如可以定义流程步骤名称、流程步骤执行类Class、流程步骤所在组件 名称 BundleName 等。
[0118] 步骤302、确定所述字段的约束类型;
[0119] 例如字符类型、数组类型、数字类型、关联类型等,这些约束类型可以在CMDB的 ConstraintType表中进行创建。
[0120] 步骤303、在CMDB中的PropertyPool表中创建步骤301中定义字段的属性;
[0121] 具体地,在创建属性时会关联该属性的约束类型。
[0122] 步骤304、在CMDB的ClassTree表中将流程定义步骤所需的属性关联起来;
[0123] 具体地,涉及(Class_Tree、Property_Pool、Class_Property_Rel)表。
[0124] 步骤 305、依照 ClassTree 定义信息,在 Config_Item、CIPropertyValue 中将流程 步骤数据表现出来。
[0125] 在本发明的一种优选实施例中,在所述流程中包括审批步骤;
[0126] 则可以利用CIRelationShip对配置项关系的指向,即ConfigItem(CI)与 ConfigItem的关系,起到流程与相关审批人员关联的作用。
[0127] 其中,CIRelationship用于存放配置类中的数据表现CI与CI中的关系,相当于 与对系统中的两个数据建立起关系,比如:"我是男生"是"我是人(ClaSSTree_U ser) "的一 个实例(ConfigItem)男生"是"性别(ClassTree_Gender) " 的一个实例(ConfigItem); 这两个Conf igltem之间有着"我是男生"的关联关系。
[0128] 在传统的流程引擎中,需要横向添加表的方式来存放流程引擎信息,例如,至少需 要添加审批人员表、审批流程步骤定义表、审批流程顺序定义表、审批流程与审批数据关联 表,审批历史表来实现业务流程功能。
[0129] 而本发明实施例可以在CMDB数据模型中配置流程所需信息,用这种方式进行配 置可以将原来的二维表抽象为可配置的动态二维表,以减少原来所需定制的二维表数量, 最少化使用独立表来为流程引擎服务,无需像传统横向添加表的方式来存放流程引擎信 息。此外,采用CMDB建模的系统,可减少流程引擎对数据表的依赖,从而可减少运维人员维 护数据表难度,并且,无需独立引入业务流程和系统集成两个开源框架即可同时具备业务 流程与系统集成的功能,从而可以减少系统开发的难度,实现轻量级的流程引擎。
[0130] 数据处理实施例二
[0131] 本实施例的流程引擎的处理方法在上述实施例的基础上,进一步还可以包括如下 可选技术方案。
[0132] 参照图4,示出了本发明的一种流程引擎的处理系统的系统流程图,在该流程引擎 中,流程中可以包括数据处理的流程步骤,该流程步骤可以实现与第三方系统的数据交互。 在本发明的一种应用示例中(如图4),在流程引擎系统中可以包括若干个与第三系统进行 数据交互的组件,如Bundlel、Bundle2至Bundle n,并且依据这些组件建立了组件库,系统 人员可以依据组件库中各组件实现的逻辑功能来完成各流程步骤的定义,以实现组件的复 用。在有权限用户登录流程引擎系统之后,可以对流程信息进行配置,如配置流程步骤执行 类Class名称、该Class所在组件的名称、该流程步骤所关联的审批人员信息、以及流程步 骤的执行顺序等信息,以及将上述配置完成后的配置信息保存在CMDB中。在流程的配置信 息配置完成之后,即可执行该流程。
[0133] 参照图5,示出了本发明的一种将与第三方系统有数据交互行为的流程步骤设置 为组件的步骤,也即上述图4中的Bundlel、Bundle2等组件的设置步骤,具体可以包括:
[0134] 步骤501、依据配置管理数据库定义所述数据处理的流程及流程步骤;
[0135] 具体地,在ClassTree中建立流程定义的ClassTree、流程步骤定义的 ClassTree ;
[0136] 步骤502、设置所述数据处理的流程步骤的完整类路径,以及确定该流程步骤对应 的组件名称;
[0137] 在流程执行过程中,可以根据组件名称找到该组件名称下实现该组件逻辑功能的 类,然后运行该类。
[0138] 步骤503、将所述完整类路径设置为独立的组件,以实现对应的数据处理功能。
[0139] 具体地,将所述完整类路径设置为独立的组件,也即将完整类路径下的java class设置为独立的组件,该java class用于实现对应流程步骤的逻辑功能,可以在独立 的java插件项目中进行开发。
[0140] 优选地,所述方法还可以包括:
[0141] 若包括审批功能,则依据所述配置管理数据库,在所述审批功能的流程步骤中配 置所要关联的人员信息,将所述人员信息作为该流程步骤的审核人员。
[0142] 在本实施例中,当流程中包括数据处理的流程步骤时,将该步骤设置成独立的组 件,在流程运行的过程中,可以实现与第三方系统的数据交互功能,使得流程引擎既可以满 足业务流程功能,同时又可以满足系统集成功能,而且无需独立引入业务流程和系统集成 两个开源框架,从而可以减少系统开发的难度,实现轻量级的流程引擎。
[0143] 流程执行实施例
[0144] 参照图6,示出了本发明的一种流程执行过程的步骤流程图,当流程开始时,可以 按照预先配置的流程步骤的顺序依次执行各流程步骤,如先执行流程步骤1,判断是否关联 审核人员,若关联,则进入审核步骤,审核通过则再执行完流程步骤1之后执行流程步骤2 ; 若不关联审核人员,则在执行完流程步骤1之后直接执行流程步骤2 ;重复执行上述步骤直 至最后一个流程步骤η执行完成,流程结束。其中,在流程运行状态,可以利用OSGi热部署 方式对未执行的流程步骤组件进行实时更新。
[0145] 参照图7,示出了本发明的一种流程执行的步骤流程图,具体可以包括:
[0146] 步骤701、流程开始;
[0147] 步骤702、按照预先配置的流程步骤的顺序依次执行各流程步骤;
[0148] 步骤703、若当前流程步骤涉及审批功能,则提示关联审批人进行审批;
[0149] 在实际应用中,可以邮件或短信等方式提示关联审批人进行审批,本发明对于提 示方式不加以限制。
[0150] 步骤704、若不需要审批则执行完当前步骤逻辑,重复执行上述步骤直至流程执行 结束;
[0151] 步骤705、在流程运行状态,可以对需要更新的未执行的流程步骤进行实时更新。
[0152] 装置实施例
[0153] 参照图8,示出了本发明一种流程引擎的处理装置的结构框图,具体可以包括:
[0154] 加载模块810,用于在流程执行过程中,动态加载流程步骤对应的组件,以实现所 述流程步骤的逻辑功能;以及
[0155] 更新模块820,用于对未执行的流程步骤对应的组件进行更新。
[0156] 优选地,所述更新模块820,具体可以包括:
[0157] 更新子模块,用于对所述未执行的流程步骤对应的原组件进行更新,并导出更新 后新组件对应的文件;
[0158] 停止服务子模块,用于在组件运行环境中,停止所述原组件对应的服务;
[0159] 移除子模块,用于在所述组件运行环境中移除所述原组件;
[0160] 安装子模块,用于将所述新组件对应的文件安装到所述组件运行环境中;
[0161] 启动子模块,用于启动所述新组件。
[0162] 优选地,所述组件具有唯一的标识信息;所述加载模块710,具体可以包括:
[0163] 获取子模块,用于在流程执行过程中,依据组件的标识信息获取所述组件对应的 类加载器;其中,组件和类加载器具有一一对应的关系;
当前第3页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1