一种工作流处理方法和系统与流程

文档序号:12735240阅读:177来源:国知局
一种工作流处理方法和系统与流程

本发明涉及计算机技术领域,特别是涉及一种工作流处理方法和一种工作流处理系统。



背景技术:

随着计算机技术的发展,一个公司可能会有不同的业务部门,其不同的业务部门可能设置自己的业务系统,但是实际上各个业务部门都可能有工作流的需求,比如审批合同、审批请假等流程。

在先技术中,各个业务部门对于自己的工作流,都是在开发其业务系统时在其业务系统内部设计工作流,其处理逻辑均在业务系统内部,其代码耦合性高,影响业务系统本身的稳定性,并且业务数据和工作流混合存储,存在一定安全风险。



技术实现要素:

鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的工作流处理方法和相应的工作流处理系统。

依据本发明的一个方面,提供了一种工作流处理方法,包括:

接收业务系统的一客户端发送的处理请求后,通过与所述客户端对应的工作流实例,返回对应所述客户端的待处理工作流节点的第一工作任务给所述客户端;

所述客户端对所述第一工作任务进行处理,并将得到的工作流转数据提交给所述工作流实例,将得到的工作业务数据存储在所述业务系统的业务服务器中;

当接收到所述客户端针对所述第一工作任务提交的工作流转数据后,将处理后的第一工作任务流转至与所述待处理工作流节点对应的后续待处理工作流节点。

优选地,在接收业务系统的一客户端发送的处理请求之前,还包括:

接收由一业务系统的客户端提交的开始请求;

根据所述开始请求,创建相应的工作流实例,并在所述工作流实例中加载工作流执行数据;所述工作流执行数据包括:各工作流节点、各工作流节点之间的流转顺序。

优选地,所述客户端对所述第一工作任务进行处理,并将得到的工作流转数据提交给所述工作流实例,将得到的工作业务数据存储在所述业务系统的业务服务器中的步骤,包括:

所述客户端从所述业务系统的业务服务器中提取与所述第一工作任务对应的工作业务数据,并结合所述第一工作任务和工作业务数据生成第二工作任务;

在所述客户端对所述第二工作任务处理完毕之后,将得到的工作流转数据提交给所述工作流实例,将得到的工作业务数据存储在所述业务系统的服务器中。

优选地,所述开始请求包括业务系统标识和工作流标识;

进一步的,根据所述开始请求,创建相应的工作流实例,并在所述工作流实例中加载工作流执行数据的步骤,包括:

创建对应所述业务系统标识和工作流标识的工作流实例;

获取对应所述业务系统标识和工作流标识的工作流执行数据;

将所述工作流执行数据加载至所述工作流实例中。

优选地,在根据所述开始请求,创建相应的工作流实例,并在所述工作流实例中加载工作流执行数据之后,还包括:

在所述工作流实例中激活工作流节点中的开始节点,以确定工作流实例创建成功。

优选地,所述处理请求包括业务系统标识、工作流标识、用户身份信息;所述用户身份信息包括角色和执行人;

进一步的,所述通过与所述客户端对应的工作流实例,返回对应所述客户端的待处理工作流节点的第一工作任务给所述客户端的步骤,包括:

根据所述业务系统标识和工作流标识查找是否存在相应的工作流实 例;

如果存在相应的工作流实例,则在所述工作流实例中查找与所述用户身份信息对应的待处理工作流节点;

将找到的待处理工作流节点中的工作任务返回给所述客户端。

优选地,所述工作流节点包括:

开始节点、流转节点、普通节点、聚合节点、结束节点。

优选地,所述待处理工作流节点包括普通节点、聚合节点;

进一步的,所述在所述工作流实例中,根据所述处理结果,将处理后的工作任务流转至与所述待处理工作流节点对应的后续待处理工作流节点的步骤,包括:

判断所述待处理工作流节点之后是否包括流转节点;

如果包括多个流转节点,则获取各流转节点的流转条件;

根据所述处理结果计算与所述流转条件匹配的下一个待处理工作流节点,并将处理后的第一工作任务流转至下一个待处理工作流节点;

如果包括一个流转节点,则直接将处理后的第一工作任务流转至下一个待处理工作流节点。

优选地,所述判断所述待处理工作流节点之后是否包括流转节点之前,还包括:

判断所述处理结果中是否包括回溯指令;

如果包括回溯指令,则将所述工作任务回溯至与所述回溯指令对应的起始的待处理工作流节点。

优选地,进一步的,所述通过与所述客户端对应的工作流实例,返回对应所述客户端的待处理工作流节点的第一工作任务给所述客户端之前,还包括:

普通节点根据预置的任务分配策略,将工作任务分配给所述普通处理节点对应的各角色的各执行人。

优选地,所述任务分配策略包括指派型策略和/或竞争型策略和/或动态会签型策略和/或平均分配型策略;

所述指派型策略包括:将工作任务分配给指定角色的指定执行人;

所述竞争型策略包括:将工作任务分配给执行角色下最先发送处理请求的执行人;

所述动态会签型策略包括:将工作任务分配给处理效率最高的指定角色下的执行人;

所述平均分配型策略包括:将工作任务轮次分配给指定角色下的各执行人。

优选地,接收由一业务系统的客户端提交的开始请求之前,还包括:

接收业务系统的客户端发送的工作流配置数据,并根据所述工作流配置数据,生成工作流执行数据并进行存储。

优选地,所述工作流配置数据由客户端执行以下步骤获得:

从工作流系统对应的工作流服务器中获取工作流参数信息;所述工作流参数信息包括业务模型对应的各对象、各节点对象;

基于所述工作流参数信息生成相应的编辑组件;

在工作流编辑界面中,根据用户对各编辑组件的操作,生成工作流配置数据;

将所述工作流配置参数发送至工作流服务器。

优选地,在从工作流系统对应的工作流服务器中获取工作流参数信息之前,还包括:

接收客户端上传的业务系统的业务模型;所述业务模型包括各角色、各执行人、各条件策略;

根据所述业务模型生成业务模型对象、与所述业务模型对象对应的角色子对象、执行人子对象和条件策略子对象。

优选地,所述基于所述工作流参数信息生成相应的编辑组件的步骤,包括:

针对各业务模型对象,所述业务模型对应的角色子对象、执行人子对象和条件策略子对象,以及各节点对象,在工作流编辑界面中生成相应的编辑组件。

优选地,所述根据所述工作流配置数据,生成工作流执行数据并进行存储的步骤,包括:

根据所述工作流配置数据,生成工作流执行数据;

获取所述工作流执行数据的工作流标识,以及所述业务系统的业务系统标识;

结合所述业务系统标识和工作流标识对所述工作流执行数据进行存储。

优选地,所述对各编辑组件的操作包括:

选择需要的节点对象的编辑组件;

设定各节点对象的编辑组之间的关系;

将业务模型对象的编辑组件与一节点对象的编辑组件进行绑定;

基于角色子对象对应的编辑组件设定相应节点对象的角色;

基于执行人子对象对应的编辑组件设定相应节点对象的执行人;

基于条件策略子对象对应的编辑组件设定相应节点对象的条件策略。

优选地,所述节点对象包括:

开始节点对象、结束节点对象、普通节点对象、聚合节点对象、流转节点对象。

优选地,所述业务模型包括:执行业务模型,或者执行业务模块和聚合业务模型;

进一步的,将业务模型对象的编辑组件与节点对象绑定的编辑组件进行绑定包括:

将执行业务模型对象的编辑组件与普通节点对象的编辑组件绑定;

和/或将聚合业务模型对象的编辑组件与聚合节点对象的编辑组件绑定。

优选地,当所述执行业务模型的条件策略中包括流转条件;

进一步的,所述基于条件策略子对象对应的编辑组件设定相应节点对象的条件策略,包括:

在所述条件策略子对象所属的业务模型对象的编辑组件,与普通节点 对象的编辑组件绑定后,将所述条件策略子对象分配给所述普通节点对象的编辑组件的下一级各流转节点对象的编辑组件;

基于条件策略子对象对应的编辑组件设定相应所述流转节点对象的流转条件。

优选地,还包括:

在指定的普通节点对象的编辑组件中,为所述普通节点设置任务分配策略。

优选地,所述对各编辑组件的操作,还包括:

在指定的普通节点对象的编辑组件中,设置回溯策略;所述回溯策略用于在接收到回溯指令时,将工作任务回溯至起始的普通节点对象。

优选地,在根据所述工作流配置数据,生成工作流执行数据并进行存储之后,还包括:

从工作流服务器中获取所述工作流执行数据对应的工作流配置数据,并根据所述工作流配置数据的各对象生成相应的各编辑组件,进入在工作流编辑界面中,根据用户对各编辑组件的操作,生成工作流配置数据的步骤。

根据本发明的另一方面,提供了一种工作流处理系统,包括:

工作流服务器、业务系统的业务服务器、业务系统的各客户端;

所述工作流服务器包括:

任务返回模块,适于接收业务系统的一客户端发送的处理请求后,通过与所述客户端对应的工作流实例,返回对应所述客户端的待处理工作流节点的第一工作任务给所述客户端;

任务流转模块,适于当接收到所述客户端针对所述第一工作任务提交的工作流转数据后,将处理后的第一工作任务流转至与所述待处理工作流节点对应的后续待处理工作流节点;

所述业务系统的客户端包括:

分离处理模块,适于所述客户端对所述第一工作任务进行处理,并将得到的工作流转数据提交给所述工作流实例,将得到的工作业务数据存储 在所述业务系统的业务服务器中。

优选地,

开始请求接收模块,适于接收由一业务系统的客户端提交的开始请求;

工作实例创建模块,适于根据所述开始请求,创建相应的工作流实例,并在所述工作流实例中加载工作流执行数据;所述工作流执行数据包括:各工作流节点、各工作流节点之间的流转顺序;

优选地,所述分离处理模块包括:

第二任务生成子模块,适于从所述业务系统的业务服务器中提取与所述第一工作任务对应的工作业务数据,并结合所述第一工作任务和工作业务数据生成第二工作任务;

分离提交子模块,适于在所述客户端对所述第二工作任务处理完毕之后,将得到的工作流转数据提交给所述工作流实例,将得到的工作业务数据存储在所述业务系统的服务器中。

优选地,所述开始请求包括业务系统标识和工作流标识;

进一步的,所述工作实例创建模块包括:

创建子模块,适于创建对应所述业务系统标识和工作流标识的工作流实例;

标识模块子模块,适于获取对应所述业务系统标识和工作流标识的工作流执行数据;

工作流加载子模块,适于将所述工作流执行数据加载至所述工作流实例中。

优选地,在工作流加载子模块之后,还包括:

成功确定子模块,适于在所述工作流实例中激活工作流节点中的开始节点,以确定工作流实例创建成功。

优选地,所述处理请求包括业务系统标识、工作流标识、用户身份信息;所述用户身份信息包括角色和执行人;

进一步的,所述任务返回模块包括:

实例查找子模块,适于根据所述业务系统标识和工作流标识查找是否存在相应的工作流实例;

待处理节点查找模块,适于如果存在相应的工作流实例,则在所述工作流实例中查找与所述用户身份信息对应的待处理工作流节点;

任务返回子模块,适于将找到的待处理工作流节点中的工作任务返回给所述客户端。

优选地,所述工作流节点包括:

开始节点、流转节点、普通节点、聚合节点、结束节点。

优选地,所述待处理工作流节点包括普通节点、聚合节点;

进一步的,所述任务流转模块包括:

流转节点判断模块,适于判断所述待处理工作流节点之后是否包括流转节点;

流转条件获取模块,适于如果包括多个流转节点,则获取各流转节点的流转条件;

匹配流转模块,适于根据所述处理结果计算与所述流转条件匹配的下一个待处理工作流节点,并将处理后的第一工作任务流转至下一个待处理工作流节点;

直接流转模块,适于如果包括一个流转节点,则直接将处理后的第一工作任务流转至下一个待处理工作流节点。

优选地,所述流转节点判断模块之前,还包括:

回溯指令判断模块,适于判断所述处理结果中是否包括回溯指令;如果包括回溯指令,则将所述工作任务回溯至与所述回溯指令对应的起始的待处理工作流节点。

优选地,所述待处理工作流节点包括普通节点、聚合节点;

进一步的,所述任务返回模块之前,还包括:

任务分配模块,适于普通节点根据预置的任务分配策略,将工作任务分配给所述普通处理节点对应的各角色的各执行人。

优选地,所述任务分配策略包括指派型策略和/或竞争型策略和/或动态 会签型策略和/或平均分配型策略;

所述指派型策略包括:将工作任务分配给指定角色的指定执行人;

所述竞争型策略包括:将工作任务分配给执行角色下最先发送处理请求的执行人;

所述动态会签型策略包括:将工作任务分配给处理效率最高的指定角色下的执行人;

所述平均分配型策略包括:将工作任务轮次分配给指定角色下的各执行人。

优选地,所述开始请求接收模块之前,还包括:

执行数据生成模块,适于接收业务系统的客户端发送的工作流配置数据,并根据所述工作流配置数据,生成工作流执行数据并进行存储。

优选地,在客户端中包括:

工作流参数获取模块,适于从工作流系统对应的工作流服务器中获取工作流参数信息;所述工作流参数信息包括业务模型对应的各对象、各节点对象;

编辑组件创建模块,适于基于所述工作流参数信息生成相应的编辑组件;

编辑模块,适于在工作流编辑界面中,根据用户对各编辑组件的操作,生成工作流配置数据;

发送模块,适于将所述工作流配置参数发送至工作流服务器。

优选地,在工作流参数获取模块之前,在工作流服务器中还包括:

业务模型接收模块,适于接收客户端上传的业务系统的业务模型;所述业务模型包括各角色、各执行人、各条件策略;

对象创建模块,适于根据所述业务模型生成业务模型对象、与所述业务模型对象对应的角色子对象、执行人子对象和条件策略子对象。

优选地,所述编辑组件创建模块包括:

编辑组件创建子模块,适于针对各业务模型对象,所述业务模型对应的角色子对象、执行人子对象和条件策略子对象,以及各节点对象,在工 作流编辑界面中生成相应的编辑组件。

优选地,所述执行数据生成模块包括:

工作流执行数据生成子模块,适于所述工作流服务器根据所述工作流配置数据,生成工作流执行数据;

标识获取子模块,适于获取所述工作流执行数据的工作流标识,以及所述业务系统的业务系统标识;

存储子模块,适于结合所述业务系统标识和工作流标识对所述工作流执行数据进行存储。

优选地,所述编辑模块包括:

对象组件选择子模块,适于选择需要的节点对象的编辑组件;

关系设定子模块,适于设定各节点对象的编辑组之间的关系;

绑定子模块,适于将业务模型对象的编辑组件与一节点对象的编辑组件进行绑定;

角色设定子模块,适于基于角色子对象对应的编辑组件设定相应节点对象的角色;

执行人设定子模块,适于基于执行人子对象对应的编辑组件设定相应节点对象的执行人;

条件设定子模块,适于基于条件策略子对象对应的编辑组件设定相应节点对象的条件策略。

优选地,所述节点对象包括:

开始节点对象、结束节点对象、普通节点对象、聚合节点对象、流转节点对象。

优选地,所述业务模型包括:执行业务模型,或者执行业务模块和聚合业务模型;

进一步的,进一步的,所述绑定子模块包括:

普通节点绑定模块,适于将执行业务模型对象的编辑组件与普通节点对象的编辑组件绑定;

和/或聚合节点绑定模块,适于将聚合业务模型对象的编辑组件与聚合 节点对象的编辑组件绑定。

优选地,当所述执行业务模型的条件策略中包括流转条件;

进一步的,进一步的,所述条件设定子模块包括:

条件对象组件分配子模块,适于在所述条件策略子对象所属的业务模型对象的编辑组件,与普通节点对象的编辑组件绑定后,将所述条件策略子对象分配给所述普通节点对象的编辑组件的下一级各流转节点对象的编辑组件;

条件生成子模块,适于基于条件策略子对象对应的编辑组件设定相应所述流转节点对象的流转条件。

优选地,在客户端中,还包括:

分配策略设定模块,适于在指定的普通节点对象的编辑组件中,为所述普通节点设置任务分配策略。

优选地,所述编辑模块还包括:

回溯设定子模块,适于在指定的普通节点对象的编辑组件中,设置回溯策略;所述回溯策略用于在接收到回溯指令时,将工作任务回溯至起始的普通节点对象。

优选地,在客户端的发送模块之后,还包括:

获取模块,适于从工作流服务器中获取所述工作流执行数据对应的工作流配置数据,并根据所述工作流配置数据的各对象生成相应的各编辑组件,进入编辑模块。

根据本发明的工作流处理方法对于业务系统的各个客户端,当其向工作流服务器提交处理请求后,工作流服务器查找该业务系统的工作流实例,然后在该工作流实例中将与该客户端对应的待处理工作流节点的工作任务给所述客户端。所述客户端对所述第一工作任务进行处理,并将得到的工作流转数据提交给所述工作流实例,将得到的工作业务数据存储在所述业务系统的业务服务器中,则工作流服务器在工作流实例中将工作任务流转至后续待处理节点,由此解决了在先技术中,各个业务部门对于自己的工作流,都是在开发其业务系统时在其业务系统内部设计工作流,其处 理逻辑均在业务系统内部,其代码耦合性高,影响业务系统本身的稳定性的,工作业务数据和工作流转数据混合存储导致的安全性问题,取得了将工作流的执行逻辑与业务系统解耦、避免影响业务系统的稳定性,并且可以将业务数据存储在业务系统中,而工作流转数据存储到工作流服务器,降低数据泄露的风险的有益效果。

上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。

附图说明

通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:

图1示出了根据本发明一个实施例的一种工作流处理方法实施例的步骤流程图;

图1A示出了本发明的一个工作流逻辑示例;

图1B示出了本发明各工作流节点示例;

图2示出了根据本发明一个实施例的一种工作流处理方法实施例的步骤流程图;

图3示出了根据本发明一个实施例的一种工作流处理系统实施例的结构框图;

图4示出了根据本发明一个实施例的一种工作流处理系统实施例的结构框图。

具体实施方式

下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开 而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。

实施例一

参照图1,示出了根据本发明一个实施例的一种工作流处理方法实施例的步骤流程图,具体可以包括如下步骤:

在本发明实施例中,优选的,在进行工作流的具体处理之前,还包括:

步骤S110,接收由一业务系统的客户端提交的开始请求;

在本发明实施例中,某个业务系统的客户端如果要开始一个工作流的业务,比如工作流为请假,某个员工需要请假,则可以在其客户端中向工作流访问提交开始请求。

在实际应用中,用户在客户端中登录业务系统,即由业务系统对用户的用户名和密码进行验证,验证成功后,客户端即可登录业务系统。然后客户端即可调用工作流服务器的开始接口,向工作流服务器提交开始请求。

在客户端中可预置工作流处理插件,工作流服务器可以向该展示插件发送属于该业务系统的已有工作流执行数据的名称和ID,该工作流处理插件则根据该名称和ID生成相应的开始按钮,以供用户点击该开始按钮箱客户端提交的开始请求。

优选的,接收由一业务系统的客户端提交的开始请求之前,还包括:

步骤S100,接收业务系统的客户端发送的工作流配置数据,并根据所述工作流配置数据,生成工作流执行数据并进行存储。

在实际应用中,可以预先由业务系统的管理工作流的客户端,在其工作流设计插件中,设计工作流配置数据,然后将该工作流配置数据传输给工作流服务器。工作流服务器则接收业务系统的客户端发送的工作流配置数据,并根据所述工作流配置数据,生成工作流执行数据并进行存储。其存储时,以业务系统的业务系统ID和工作流执行数据的工作流ID进行存储。该工作流执行数据包括:各工作流节点、各工作流节点之间的流转顺 序,每个工作流节点中包括其执行逻辑,比如将工作任务分配给哪些角色,或者哪些角色的那些执行人,采用何种条件策略分配工作任务等。

步骤S120,根据所述开始请求,创建相应的工作流实例,并在所述工作流实例中加载工作流执行数据;所述工作流执行数据包括:各工作流节点、各工作流节点之间的流转顺序;

在本发明实施例中,在工作流服务器接收到一业务系统的开始请求后,则创建相应的工作流实例,并在所述工作流实例中加载工作流执行数据。

优选的,所述工作流节点包括:

开始节点、流转节点、普通节点、聚合节点、结束节点。

其中,开始节点用来初始化工作流的工作任务。在一个工作流程中,只有1个开始节点。

结束节点用来结束工作流的工作任务。在一个工作流程中,可以有多个结束节点。

流转节点是一个带有条件向量节点,默认条件为true,条件节点的条件判断最终产生true或false,以确定能否其来源节点的工作任务是否可流转至下一节点,如true表示可以流转至下一节点、false表示不能流转至下一节点。

普通节点,通常是绑定某种业务模型的节点,一般呈现为可以操作的表单等形式,用于人机交互。

聚合节点也是一种特殊节点,用来汇聚工作流中的分支,该此节点是一个需要绑定某种业务模型、自动执行的节点。

其中,所述开始请求包括业务系统标识和工作流标识;

在实际应用中,客户端发送开始请求时,该开始请求包括业务业务系统标识和工作流标识。

进一步的,根据所述开始请求,创建相应的工作流实例,并在所述工作流实例中加载工作流执行数据的步骤,包括:

子步骤121,创建对应所述业务系统标识和工作流标识的工作流实例;

子步骤122,获取对应所述业务系统标识和工作流标识的工作流执行数据;

子步骤123,将所述工作流执行数据加载至所述工作流实例中。

在本发明实施例中,在接收到开始请求后,创建一个工作流实例,然后以开始请求中的业务系统标识和工作流标识与该工作流实例进行对应。然后根据该业务系统标识和工作流标识,查找工作流服务器中存储的工作流执行数据。再将该工作流执行数据加载至工作流实例中,如此,工作流的逻辑则可以运行。

比如一个请假工作流程为:一个请假人的请假业务单,小于等于3天时需要单独发给项目组长审批;大于等于3天时,需要同时发给人事和项目组长审批,然后给经理审批。其工作流程执行数据逻辑图如图1A。开始节点之后,是请假人的普通节点M21,项目组长对应的普通节点为M22,人事对应普通节点M23,经理对应普通节点M25,M24为聚合节点,收到M22和M23流转的工作任务之后,将工作任务合并再流转给M25。M32为流转节点“3”≥或<“qingjia”,请假为M21的客户端上传的天数。M34为流转节点“3”<“qingjia”,请假为M21的客户端上传的天数。M33为流转节点“3”≥“qingjia”,请假为M22流转的天数。M35为流转节点“3”<“qingjia”,M21为请假的流转的天数。M37为M21和M22都允许请假,M38为M21和M22都不允许请假。M31、M36、M39的流转节点为直接流转。

那么在工作流实例中,加载图1A对应的工作流执行数据后,其各节点的逻辑则可以运行。

优选的,在将所述工作流执行数据加载至所述工作流实例中之后,还包括:

子步骤124,在所述工作流实例中激活工作流节点中的开始节点,以确定工作流实例创建成功。

在实际应用中,工作流中的各个节点在加载后是处于待激活状态,而为了启用该工作流,按序处理工作任务,则需要首先激活开始节点。比如 图1中的开始节点。该开始节点被激活,则说明工作流实例创建成功,其所有节点可使用。

当然,在实际应用中,创建了一个工作流实例后,会创建一个工作流实例表,在该表中记录工作流实例ID、工作流ID、业务系统ID、工作流实例状态等。

当然,在实际应用中,一个开始请求则生成一个工作流实例。也可以理解为对一个工作单生成一个工作流实例。比如前述请假,用户A的请假,为其生成一个工作流实例,用户B的请假,也为其生成一个工作流实例。

另外,在工作流实例创建完毕之后,还可以为该工作流实例创建一个工作流实例节点表,记录节点ID、工作流实例ID、节点状态、执行人、任务分配策略等信息。

在进行了上述步骤S110-S120之后,创建了工作流实例,则可进行本发明实施例具体的工作流数据处理过程:

步骤110,接收业务系统的一客户端发送的处理请求后,通过与所述客户端对应的工作流实例,返回对应所述客户端的待处理工作流节点的第一工作任务给所述客户端;

以前述请假流程为例,如果用户A在客户端发送了开始请求,创建了工作流实例后,可以接收用户A在客户端中发送的处理请求。在本发明实施例中,该处理请求根据不同的节点对应的客户端,其内容不同。对于M21的用户的客户端,其处理请求就是用户A的客户端与工作流服务器的连接请求,那么此时工作流服务器查询相应的业务系统ID和工作流ID下的工作流实例中对应该用户A的待处理节点是M21,则生成第一工作任务返回给用户A的客户端。其第一工作任务包括操作的表单。该表单比如包括请假天数填写栏、请假理由填写栏、请假日期填写栏等。

对于各个节点,节点自身状态包括:未激活,待处理,正在处理,处理完成。根据不同的逻辑,其节点的状态相应变更。如果节点处于未激活,则工作流服务器接收到客户端的处理请求后,会判断其对应的待处理 节点是哪一个,然后判断该待处理节点之前的节点是否已激活。当然,在实际应用中,是判断该待处理节点之前的非流转节点是否已激活。如果该待处理节点之前的节点已激活,则从该待处理节点获取任务。其中,如果节点中有第一工作任务,则该节点的状态修改为待处理;如果该节点的第一工作任务发送到了客户端,则该节点的状态更改为正在处理,如果该节点接收到对该第一工作任务的处理结果,则将该节点的状态更改为已完成。

当然,对于开始节点,由于其已经处于激活状态,然后对于开始节点之后的第一个非流转节点,则可以自动激活,或者在接收到相应客户端的处理请求后激活。其他节点则在接收到上一个节点流转的第一工作任务后激活。

优选的,所述处理请求包括业务系统标识、工作流标识、用户身份信息;所述用户身份信息包括角色和执行人;

进一步的,所述通过与所述客户端对应的工作流实例,返回对应所述客户端的待处理工作流节点的第一工作任务给所述客户端的步骤,包括:

子步骤111,根据所述业务系统标识和工作流标识查找是否存在相应的工作流实例;

比如前述用户A的请假处理请求,工作流服务器接收到该请求之后,从中提取业务系统标识和工作流标识,然后在工作流实例表中查找是否存在相应记录,如果存在则从工作流实例表中提取相应的工作流实例ID,然后根据该工作流实例ID去系统中找到已创建的工作流实例。

子步骤112,如果存在相应的工作流实例,则在所述工作流实例中查找与所述用户身份信息对应的待处理工作流节点;

在实际应用中,每个节点的角色是业务系统的角色,执行人是系统的执行人,如业务系统的用户的用户名,如前述用户A。假设前述M21的角色为员工、执行人包括用户A、B、C。

那么找到该工作流实例后,在工作流实例中,从各激活之后的待处理 节点中,根据该“员工+A”查找相应的待处理工作节点,那么查找到节点M21。

子步骤113,将找到的待处理工作流节点中的工作任务返回给所述客户端。

然后节点M21的第一工作任务可以只是一个第一工作任务ID和前述的请假表单。那么将该第一工作任务返回给用户A的客户端,客户端在接收到该工作任务后,进入步骤120。

对于子步骤A111-A113,又比如当M21的请假任务流转至M32后,如果项目组长L在其客户端中登录后,在通过工作流处理插件打开工作流处理界面后,可以提供该业务系统的各工作流ID及名称给客户端,客户端可以针对各工作流ID及名称生成相应的处理按钮。该项目组长L可以基于该处理按钮向工作流服务器发起处理请求,该处理请求包括项目组长的角色:项目组长,用户名:L,业务系统ID,工作流ID。

那么子步骤A111根据业务系统ID,工作流ID查找相应的工作流实例。

子步骤A112中,在工作流实例根据“项目组长+L”,与待处理节点的角色和执行人进行匹配,确定待处理节点,比如确定M22。

子步骤A113,在工作流实例中,M22返回审批的工作任务给项目组长L的客户端。

优选的,所述待处理工作流节点包括普通节点、聚合节点;

进一步的,所述通过与所述客户端对应的工作流实例,返回对应所述客户端的待处理工作流节点的第一工作任务给所述客户端之前,还包括:

子步骤114,普通节点根据预置的任务分配策略,将工作任务分配给所述普通处理节点对应的各角色的各执行人。

优选的,所述任务分配策略包括指派型策略和/或竞争型策略和/或动态会签型策略和/或平均分配型策略;

在实际应用中,业务系统的工作流管理人员在配置工作流配置数据时,由于一个节点的第一工作任务可能由一角色的多个执行人处理,那么 可以在某个普通节点中设定第一工作任务分配策略,比如平均分配等策略,从而可以根据该策略将第一工作任务分配给某个执行人。

以图1A的请假流程的节点为例,M22有多个执行人,则可以为其设置任务分配策略,那么在M22节点出现第一工作任务后,可以根据该任务分配策略分配第一工作任务。一般来说,第一工作任务的起始的节点没有任务分配策略,比如M21。其他节点可以根据需要设置任务分配策略。

优选的,所述任务分配策略包括指派型策略和/或竞争型策略和/或动态会签型策略和/或平均分配型策略;

所述指派型策略包括:将第一工作任务分配给指定角色的指定执行人;

比如对于M22,有两个执行人L、O。可以指定将第一工作任务分配给L。那么在L的客户端发起处理请求后,可以将第一工作任务分配给L。而在O的客户端发起处理请求后,不将第一工作任务分配给O。

所述竞争型策略包括:将第一工作任务分配给执行角色下最先发送处理请求的执行人;

比如对于M22,有两个执行人L、O,那么如果L先发送处理请求,则将当前存在的第一工作任务分配给L。

所述动态会签型策略包括:将第一工作任务分配给处理效率最高的指定角色下的执行人;

比如M22的第一工作任务,统计得到最近一段时间内L处理效率最高,那么只有当L发送处理请求后,才会将第一工作任务发送给L,而不会发送给O。

在实际应用中,由于存在多个工作流实例,那么对于相同工作流执行数据的各工作流实例,如果其中的某个或者某几个节点存在动态会签型策略,可记录相应执行人处理各工作流实例的该节点的第一工作任务的处理效率,比如每天处理几个,然后每个工作流实例会根据该记录去获取相应的执行人。

所述平均分配型策略包括:将第一工作任务轮次分配给指定角色下的各 执行人。

在实际应用中,由于存在多个工作流实例,那么对于相同工作流执行数据的各工作流实例,如果其中的某个或者某几个节点存在平均分配型策略,各个工作流实例中每个第一工作任务发送给了哪个执行人,然后可以计算新出现的第一工作任务应该发送给哪个人。

步骤120,所述客户端对所述第一工作任务进行处理,并将得到的工作流转数据提交给所述工作流实例,将得到的工作业务数据存储在所述业务系统的业务服务器中;

在本发明实施例中,对于业务系统的业务数据与工作流流转需要的业务数据分开存储,工作流转数据发送至工作流服务器,业务数据存在业务系统的业务服务器中。其中业务数据是与用户隐私相关的数据,工作流转数据是第一工作任务在各节点之间流转需要的条件数据。如此,可以避免隐私泄露,比如用户A请假,只将请假天数转发至工作流服务器,工作流服务器根据该天数去选择将第一工作任务流转给谁。

那么,本发明实施例中,客户端接收到第一工作任务之后,可以从业务系统的业务服务器提取对应该第一任务的业务数据,然后一起展示给用户,用户可以对其进行处理,那么将处理得到的业务数据存储在业务服务器中,将工作流转数据发送至工作流服务器。

在实际应用中,工作流实例的待处理节点返回第一工作任务给客户端时,在第一工作任务中除了包括节点ID,还包括工作流实例ID。那么客户端将业务数据传输至业务服务器时,还可将该业务数据的节点ID和工作流实例ID发送给业务服务器。业务服务器根据节点ID和工作流实例ID对业务数据进行存储

优选的,所述步骤120包括:

子步骤121,所述客户端从所述业务系统的业务服务器中提取与所述第一工作任务对应的工作业务数据,并结合所述第一工作任务和工作业务数据生成第二工作任务;

在本发明实施例中,对于如图1A中的普通节点M21,以请假为例,用 户A接收到M21返回的第一工作任务,该第一工作任务包括表单,那么该表单中包括为空的用户名字段、请假天数填写字段、请假理由字段、请假日期字段等。由于此时用户A是工作流发起人,业务数据为空,则直接以第一工作任务作为第二工作任务,在客户端展示给用户。

子步骤122,在所述客户端对所述第二工作任务处理完毕之后,将得到的工作流转数据提交给所述工作流实例,将得到的工作业务数据存储在所述业务系统的服务器中。

当用户在用户名字段、请假天数字段、请假理由字段、请假日期字段中填入数据后,用户点击提交。那么第二工作任务由于是由第一工作任务生成,其也包括节点ID、工作流实例ID。那么将节点ID、工作流实例ID、请假天数字段的数值作为工作流转数据提交给工作流实例。其中,请假天数字段的数值是用于判断M21的处理后的工作任务是流转给M22还是M23,所以需要上传。而用户名字段、请假理由字段、请假日期字段的内容涉及用户隐私。则作为业务数据,传输至业务服务器,以节点ID、工作流实例ID进行存储,对于涉及业务秘密的数据,也可不上传。

当项目组长L提交处理请求给工作流服务器后,该工作流实例的M22返回第一工作任务给L的客户端。由于M22的第一工作任务是M21流转得到,其中的表单还包括用户名字段、请假天数字段、请假理由字段、请假日期字段。此时,L的客户端根据节点ID、工作流实例ID从业务服务器获取业务数据,将该业务数据相关内容填入用户名字段、请假理由字段、假日期字段中,从而生成第二工作任务展示给L。

当然本发明实施例中,可以预先约定第二工作任务中的哪些数据属于业务数据。客户端的工作流处理插件则将这些业务数据不上传至工作流服务器。

步骤130,当接收到所述客户端针对所述第一工作任务提交的工作流转数据后,将处理后的第一工作任务流转至与所述待处理工作流节点对应的后续待处理工作流节点。

比如前述用户A的客户端接收到M21的第一工作任务,在其客户端的 工作流处理界面中展示相应的第二工作任务后,比如展示表单:请假人、请假天数填写栏、请假理由填写栏、请假日期填写栏等后,用户可以在该表单中填写内容。那么用户A可以在填写该表单,然后将填写完的表单后,工作流处理插件从中提取工作流转数据上传至工作流服务器;从中提取业务数据上传至业务服务器。工作流服务器的工作流实例接收到该工作流转数据后,则基于该工作流转数据对工作任务进行处理,将处理后的第一工作任务流转至M22和/或M23。

比如前述用户L的客户端提交的工作流转数据中,可包括节点ID、工作流实例ID,还包括是/否允许表单等,然后可根据工作流转数据将处理后的工作任务流转至M35或者结束节点。

在实际应用中,工作流服务器可以根据工作流实例ID查找到该处理结果属于一个工作流实例,再根据节点ID查找相应的节点。

因为客户端的第二工作任务是基于第一工作任务生成的,客户端处理第二工作任务,则意味则其处理了第一工作任务。

优选的,所述待处理工作流节点包括普通节点、聚合节点;

进一步的,所述在所述工作流实例中,根据所述处理结果,将处理后的工作任务流转至与所述待处理工作流节点对应的后续待处理工作流节点的步骤,包括:

子步骤131,判断所述待处理工作流节点之后是否包括流转节点;

比如用户A对应的普通节点为M21,在其工作流实例接收到工作流转数据中:包括请假4天。则在查找到相应工作流实例的节点M21后,查询该M21之后是否有流转节点。

子步骤132,如果包括多个流转节点,则获取各流转节点的流转条件;

发现M21之后,有两个流转节点M32和M34。那么提取M32的流转条件3”≥或<“qingjia”,M34的流转条件“3”<“qingjia”。

子步骤133,根据所述处理结果计算与所述流转条件匹配的下一个待处理工作流节点,并将处理后的第一工作任务流转至下一个待处理工作流节点;

将请假天数3代入“qingjia”,发现M32的条件结果为true。将请假天数3代入发现M32的条件结果为true。那么将处理后的工作任务流转至M22和M23。

子步骤134,如果包括一个流转节点,则直接将处理后的第一工作任务流转至下一个待处理工作流节点。

比如对于M23,其接收到处理结果后,发现M23之后只有一个流转节点M36,则将处理后的第一工作任务流转至M24。

对于M24在聚合节点接收到处理后的第一工作任务后,判断接收到的各第一工作任务是否达到聚合条件;如果达到聚合条件,则将接收到的各第一工作任务合并为一个第一工作任务,并将所述第一工作任务流转至下一个待处理工作流节点。即则获取流转条件节点M37和M38的聚合条件,将处理结果与M37和M38与接收到的第一工作任务进行计算,如果只接收到M22和M23中的一个为允许请假的第一工作任务,则继续等待另一个流转的第一工作任务。如果M22和M23流转的第一工作任务都为允许请假,则M37为true、M38为false,将两个第一工作任务合并为一个流转至M25。如果有一个第一工作任务为不允许请假,则M38为true,M37为false,将两个第一工作任务合并为一个流转至结束节点。

优选的,所述判断所述待处理工作流节点之后是否包括流转节点之前,还包括:

子步骤135,判断所述处理结果中是否包括回溯指令;

子步骤136,如果包括回溯指令,则将所述工作任务回溯至与所述回溯指令对应的起始的待处理工作流节点。

在本发明实施例中,回溯策略有普通节点设置,其他节点不设置。比如,开发者可以在M25中设置回溯策略,当M25将工作任务发送给经理的客户端后,当经理点击回溯按钮,发送回溯指令给M25之后,将工作任务回溯给回溯指令指定的普通节点。假设预先设定回溯指令对应的普通节点为M21,那么将工作任务回溯给M21。

在实际应用中,在工作任务回溯至该普通节点之后,工作流程实例可以遍历该普通节点之后的普通节点,由于之后的普通节点在对工作任务处理完成之后,其状态修改为了已完成,那么将这些普通节点的状态修改为未激活。

本发明根据本发明的工作流处理方法对于业务系统的各个客户端,当其向工作流服务器提交处理请求后,工作流服务器查找该业务系统的工作流实例,然后在该工作流实例中将与该客户端对应的待处理工作流节点的工作任务给所述客户端。所述客户端对所述第一工作任务进行处理,并将得到的工作流转数据提交给所述工作流实例,将得到的工作业务数据存储在所述业务系统的业务服务器中,则工作流服务器在工作流实例中将工作任务流转至后续待处理节点,由此解决了在先技术中,各个业务部门对于自己的工作流,都是在开发其业务系统时在其业务系统内部设计工作流,其处理逻辑均在业务系统内部,其代码耦合性高,影响业务系统本身的稳定性的,工作业务数据和工作流转数据混合存储导致的安全性问题,取得了将工作流的执行逻辑与业务系统解耦、避免影响业务系统的稳定性,并且可以将业务数据存储在业务系统中,而工作流转数据存储到工作流服务器,降低数据泄露的风险的有益效果。

实施例二

参照图2,示出了根据本发明一个实施例的一种工作流处理方法实施例的步骤流程图,具体可以包括如下步骤:

步骤210,客户端从工作流系统对应的工作流服务器中获取工作流参数信息;所述工作流参数信息包括业务模型对应的各对象、各节点对象;

在本申请实施例中可以设置一个公用的工作流服务器,各个业务系统的客户端可以在其工作流设计插件中,调用该工作流服务器中的接口。

在本申请实施例中,用户可以预先在工作流服务器中预置工作流参数信息,该工作流参数信息包括业务模型对应的各对象、各节点对象。

其中,上述节点对象包括:开始节点对象、结束节点对象、普通节点 对象、聚合节点对象、流转节点对象。

在本发明实施例中,预置了开始节点对象、结束节点对象、普通节点对象、聚合节点对象、流转节点对象。在未创建工作流执行数据之前,上述各节点对象内容为空,只存在节点的类型。需要在后续步骤中对该相应节点对象进行绑定后,节点对象中才会有具体的内容。

其中,在一个工作流执行数据中,对于各个节点对象以及为其设定的内容,可生成相应的开始节点、结束节点、普通节点、聚合节点、流转节点。

其中,开始节点用来初始化工作流的工作任务。在一个工作流程中,只有1个开始节点。

结束节点用来结束工作流的工作任务。在一个工作流程中,可以有多个结束节点。

流转节点是一个带有条件向量节点,默认条件为true,条件节点的条件判断最终产生true或false,以确定能否其来源节点的工作任务是否可流转至下一节点,如true表示可以流转至下一节点、false表示不能流转至下一节点。

普通节点,通常是绑定某种业务模型的节点,一般呈现为可以操作的表单等形式,用于人机交互。

聚合节点也是一种特殊节点,用来汇聚工作流中的分支,该此节点是一个需要绑定某种业务模型、自动执行的节点。

其中,在从工作流系统对应的工作流服务器中获取工作流参数信息之前,还包括:

步骤206,工作流服务器接收客户端上传的业务系统的业务模型;所述业务模型包括各角色、各执行人、各条件策略;

步骤208,工作流服务器根据所述业务模型生成业务模型对象、与所述业务模型对象对应的角色子对象、执行人子对象和条件策略子对象。

在本发明实施例中,如果一个业务系统需要使用一个工作流,比如请假审批流,则需要预先将各种业务模型上传至工作流服务器。该业务模型 根据实际需求设定,比如一个请假工作流程为:一个请假人的请假业务单,需要同时发给人事和项目组长审批,都审批通过后再给经理审批。那么业务系统的开发人员需要预先构建,针对请假人的业务模型,针对人事审批的业务模型、针对项目组长审批的业务模型、针对经理审批的业务模型。然后在其业务系统的客户端中上传至工作流服务器。

可以理解,上传业务模型的客户端跟执行步骤110-140的客户端可以不同。

在实际中,业务模型包括业务模型名称,然后包括三个主字段:角色、执行人、条件策略。在相应的主字段中,写入具体角色、执行人、条件策略内容。当然,在实际应用中,某些业务模型的条件策略可以为空。

那么本发明实施例,工作流服务器对于接收到的业务数据模型,基于业务模型整体生成业务模型对象,对业务模型的上述三个主字段生成相应的角色子对象、执行人子对象和条件策略子对象。

特别是,对于条件策略,本发明实施例为其设置了三个子字段:名称、操作符、值类型。则在条件策略子对象中以名称为对象名,操作符为条件符,值类型为输入类型。其中,操作符如≥、≤、=、<、>等。值类型如text、list,text表示可以采用文本数据输入、list表示以菜单形式输入。

步骤212,客户端基于所述工作流参数信息生成相应的编辑组件;

在本发明实施例中,为了方便用户架构工作流程,在用户的客户端获取到该工作流参数后,在其客户端中生成一个工作流编辑界面,然后生成基于所述工作流参数信息生成相应的编辑组件,在该工作流编辑界面中加载这些编辑组件。该用户可以不是业务模型的开发人员,可以是前端的工作流程架构人员。

优选的,所述基于所述工作流参数信息生成相应的编辑组件的步骤,包括:

子步骤B11,针对各业务模型对象,所述业务模型对应的角色子对象、执行人子对象和条件策略子对象,以及各节点对象,在工作流编辑界面中 生成相应的编辑组件。

在本发明实施例中,开发人员的客户端在获取到业务模型对象、与所述业务模型对象对应的角色子对象、执行人子对象和条件策略子对象,以及各节点对象后,在客户端的工作流编辑界面中生成相应的编辑组件。

比如,对于节点对象,可生成相应的图标,如图1B,M12表示开始节点对象的编辑组件,M13表示流转节点对象的编辑组件,M14表示普通节点对象的编辑组件,M15表示聚合节点对象的编辑组件,M16表示结束节点对象的编辑组件。

对于业务模型对象的编辑组件,可以以图标的形式展示,其子对象的编辑组件,可以有输入框,选择菜单等,其可以在触发后展示。

步骤214,客户端在工作流编辑界面中,根据用户对各编辑组件的操作,生成工作流配置数据;

由于工作流编辑界面中已有各种编辑组件,那么用户可以根据工作流的需要对编辑组件进行操作,然后点击保存即可生成工作流配置数据。

在实际应用中,用户的每次操作得到结果都会缓存到本地缓存中,也可以根据用户的操作,将操作的结果存入本地磁盘中,下次操作时再载入该结果,以继续操作。

优选的,所述对各编辑组件的操作包括:

子步骤B21,选择需要的节点对象的编辑组件;

子步骤B22,设定各节点对象的编辑组之间的关系;

比如一个请假工作流程:一个请假人的请假业务单,小于等于3天时需要单独发给项目组长审批;大于等于3天时,需要同时发给人事和项目组长审批,然后给经理审批。

如图1A,其也可以视为在工作流的流程逻辑图,用户在工作流界面中需要选择1个开始节点对象的编辑组件,4个普通节点对象的编辑组件,8个流转节点的编辑组件,1个聚合节点的编辑组件,2个结束节点对象的编辑组件,然后按图1A设置先后顺序。

子步骤B23,将业务模型对象的编辑组件与一节点对象的编辑组件进行 绑定;

在得到图1A的编辑组件的结构图之后,需要指定的编辑组件绑定业务数据模型的编辑组件。

优选的,所述业务模型包括:执行业务模型,或者执行业务模块和聚合业务模型;

在本发明实施例中,根据需要可以只设置执行业务模型,该执行业务模型用来绑定普通节点的编辑组件,其没有聚合条件。

也可以设置执行业务模块和聚合业务模型,该聚合业务模型用来绑定聚合节点的编辑组件。

进一步的,将业务模型对象的编辑组件与节点对象绑定的编辑组件进行绑定包括:

子步骤B231,将执行业务模型对象的编辑组件与普通节点对象的编辑组件绑定;

在本发明实施例中,对于请假人的执行业务模型,可以将其绑定至M21上。对于项目组长审批的执行业务模型,可以将其绑定至M22上。对于人事审批的执行业务模型,可以将其绑定至M23之上。对于经理审批的执行业务模型,可以将其绑定至M25上。

和/或子步骤B232,将聚合业务模型对象的编辑组件与聚合节点对象的编辑组件绑定。

对于需要同时发给人事和项目组长审批的聚合业务模型,可以将其绑定至M24上。

子步骤B24,基于角色子对象对应的编辑组件设定相应节点对象的角色;

对于执行业务模型,由于在上传时,其中设置了角色和执行人,该角色和执行人与业务系统的角色和执行人是一致的。那么执行业务模型的编辑组件绑定至相应的编辑组件之后,可以触发角色子对象的编辑组件,比如弹出选择角色的菜单栏,用户可以勾选哪个或者哪几个角色可以使用该节点。

子步骤B25,基于执行人子对象对应的编辑组件设定相应节点对象的执行人;

执行业务模型的编辑组件绑定至相应的编辑组件之后,可以触发角色子对象的编辑组件,比如弹出选择执行人的菜单栏,用户可以勾选哪个或者哪几个执行人可以使用该节点。

子步骤B26,基于条件策略子对象对应的编辑组件设定相应节点对象的条件策略。

用户可以在流转节点的编辑对象上,基于条件策略子对象设定相应节点对象的条件策略。

优选的,当所述执行业务模型的条件策略中包括流转条件;

进一步的,所述基于条件策略子对象对应的编辑组件设定相应节点对象的条件策略,包括:

子步骤B261,在所述条件策略子对象所属的业务模型对象的编辑组件,与普通节点对象的编辑组件绑定后,将所述条件策略子对象分配给所述普通节点对象的编辑组件的下一级各流转节点对象的编辑组件;

子步骤A151,在所述条件策略子对象所属的业务模型对象的编辑组件,与普通节点对象的编辑组件绑定后,将所述条件策略子对象分配给所述普通节点对象的编辑组件的下一级各流转节点对象的编辑组件;

如前所述,执行业务模式中设置了三个子字段:名称、操作符、值类型。则在条件策略子对象中以名称为对象名,操作符为条件符,值类型为输入类型。其中,操作符如≥、≤、=、<、>等。值类型如text、list,text表示可以采用文本数据输入、list表示以菜单形式输入。

对于前述一个请假人的请假业务单,小于等于3天时需要单独发给项目组长审批;大于等于3天时,需要同时发给人事和项目组长审批,然后给经理审批。

请假人的执行业务模型的条件策略中,操作符为≥和<,值类似为3,那么在该执行业务模型绑定M21后,其条件策略子对象绑定到M32和M34。

子步骤B262,基于条件策略子对象对应的编辑组件设定相应所述流转 节点对象的流转条件。

以上述M32和M34为例,然后在M32和M34之上生成“day““</≥”“qingjia”是编辑栏,其中day为请假天数基础值,请假是请假人上传的值。然后用户即可在M32的day中输入3,“</≥”中选择≥和<,“qingjia”不处理。在M34的day中输入3,“</≥”中选择<,“qingjia”不处理。

对于M33和M35类似处理。此外,M33的条件还包括不允许请假。

M37为M21和M22都允许请假,M38为M21和M22都不允许请假。M31、M36、M39的流转节点为直接流转。

当然对于聚合节点M24,聚合业务模型中设置了聚合条件,接收到M22和M23传递的数据后,才能将数据传递到M25中。那么可以在M24的聚合子对象中设置待聚合的角色和/或执行人。

当然,如果条件策略为空,相应的流转节点对象的编辑组件之上则可以不设置条件策略,如M31、M37、M38没有条件策略。

在实际应用中,聚合业务模型具备聚合的条件策略,则聚合节点对象的编辑组件下,也有条件策略子对象。在所述条件策略子对象所属的业务模型对象的编辑组件,与聚合节点对象的编辑组件绑定后,将所述条件策略子对象分配给所述聚合节点对象的编辑组件的下一级各流转节点对象的编辑组件;再基于条件策略子对象对应的编辑组件设定相应所述流转节点对象的流转条件。

优选的,还包括:

子步骤B27,在指定的普通节点对象的编辑组件中,为所述普通节点设置任务分配策略。

在本申请实施例中,可以在工作流服务器中,为普通节点对象设置多个任务分配策略及相应的策略类型标识,那么在生成的编辑组件中,用户可以选择策略类型标识,然后进行相应的配置。

子步骤B27与子步骤B21-26之间的顺序可以按需求任意调整,本发明实施例不对其加以限定,

优选的,所述任务分配策略包括指派型策略和/或竞争型策略和/或动态会签型策略和/或平均分配型策略;

其中,所述指派型策略包括:将工作任务分配给指定角色的指定执行人;

该种策略,则需要在子步骤B24和B25中选定具体的值。

其中,所述竞争型策略包括:将工作任务分配给执行角色下最先发送处理请求的执行人;

该种策略,则需要在子步骤B24中选定具体的值,而不允许在子步骤中选定任何值。

其中,所述动态会签型策略包括:将工作任务分配给处理效率最高的指定角色下的执行人;

该种策略,用户可以选定相应的策略标识,然后可以在步骤B24、和/或者B25中设定具体的值。然后在工作流服务器中执行时,会自动根据执行人的处理效率,将普通节点中的工作任务分配给处理效率最高的人。

优选的,所述对各编辑组件的操作,还包括:

子步骤B28,在指定的普通节点对象的编辑组件中,设置回溯策略;所述回溯策略用于在接收到回溯指令时,将工作任务回溯至预定的普通节点对象。

开发人员在执行业务模型中,可以在条件策略中配置回溯策略,然后在相应的编辑组件的编辑框中,用户可以输入工作任务回溯至哪个普通节点。在后续执行人触发回溯指令后,该工作任务就回溯至该普通节点。

子步骤B28与子步骤B21-B27之间的顺序可以按需求任意调整,本发明实施例不对其加以限定,

优选的,在根据所述工作流配置数据,生成工作流执行数据并进行存储之后,还包括:

子步骤B29,客户端从工作流服务器中获取所述工作流执行数据对应的工作流配置数据,并根据所述工作流配置数据的各对象生成相应的各编辑组 件,进入步骤214。

在本发明实施例中,在工作流服务器生成工作流执行数据之后,业务系统的客户端登录业务系统后,可以根据预置的API修改接口,从工作流服务器获取该业务系统的业务系统ID下的各工作流执行数据的相关身份信息,比如名称和工作流ID,在工作流编辑界面中展示,然后用户可以在客户端的工作流编辑界面中选择需要修改的工作流执行数据的名称和工作流ID返回给工作流服务器,然后工作流服务器则将相应记录的工作流执行数据,查找或者存储的工作流配置数据或者生成相应的工作流配置数据,然后将该工作流配置数据返回给客户端,客户端则根据该工作流配置数据中各节点对象、业务模型对象等对象,生成相应的编辑组件,然后即可进入步骤240,对工作流配置数据进行修改,修改后将工作流配置数据上传至服务器,以该修改后的工作流配置数据更新之前的工作流执行数据。

当然,实际应用中,在客户端触发对该工作流执行数据的修改之后,在进行具体的更新之前,工作流服务器首先需要判断该工作流执行数据,是否有相应的工作流实例在使用该工作流执行数据,如果在使用,则监控这些工作流实例中的工作任务的流转是否结束,全部结束后,再更新工作流执行数据。当然,在进行具体的更新之前,工作流服务器可禁止该业务系统的客户端对使用更新之前的工作流执行数据创建工作流实例。

另外,在实际应用中,在工作流服务器生成工作流执行数据之后,业务系统的客户端登录业务系统后,可以根据预置的API删除接口,从工作流服务器获取该业务系统的业务系统ID下的各工作流执行数据的相关身份信息,比如名称和工作流ID,在工作流编辑界面中展示,然后用户可以在客户端的工作流编辑界面中选择需要删除的工作流执行数据的名称和工作流ID返回给工作流服务器,工作流服务器则可以对相应的工作流执行数据进行删除。当然,可以禁止新的工作流实例加载该工作流执行数据,同时在当前已加载该工作流执行数据的工作流实例都结束后,删除该工作流执行数据。

步骤216,客户端将所述工作流配置参数发送至工作流服务器。

在本发明实施例中,用户在工作流编辑界面中编辑完毕之后,可以生成工作流配置参数,比如为每个工作流节点生成节点ID,节点类型ID,节点的策略等参数。

然后用户可以点击提交按钮,则客户端会将相应的工作流配置参数发送至工作流服务器。在实际应用中,客户端还会将业务系统的业务系统标识发送至工作流服务器。

步骤218,工作流服务器接收业务系统的客户端发送的工作流配置数据,并根据所述工作流配置数据,生成工作流执行数据并进行存储。

作流服务器则根据工作流配置数据,生成工作流执行数据,然后将工作流执行数据存储在工作流服务器中。

优选的,所述根据所述工作流配置数据,生成工作流执行数据并进行存储的步骤,包括:

子步骤C11,工作流服务器根据所述工作流配置数据,生成工作流执行数据;

在工作流服务器接收到工作流配置数据后,基于该工作流配置数据中的各配置参数,生成工作流执行数据,该工作流执行数据被加载后,即可对任务进行处理。

子步骤C12,工作流服务器获取所述工作流执行数据的工作流标识,以及所述业务系统的业务系统标识;

在实际应用中,生成工作流执行数据时,相应生成一个工作流标识,比如工作流ID,业务系统本身具备业务系统标识,该业务系统标识可以由客户端发送。

然后,本发明实施例则获取上述工作流执行数据的工作流标识,以及所述业务系统的业务系统标识。

子步骤C13,工作流服务器结合所述业务系统标识和工作流标识对所述工作流执行数据进行存储。

然后利用工作流执行数据的工作流标识,以及所述业务系统的业务系统标识对工作流执行数据进行存储。

在本发明实施例中,客户端可以通过调用API(Application Programming Interface,应用程序编程接口)实现步骤110-140。

在本发明实施例中,对一个业务系统可以创建多个工作流执行数据,每个工作流执行数据存储在一张表工作流程基础表中,该工作流程基础表的字段包括:工作流ID、业务系统ID、工作流程状态(其中0:未启用,1:正常可用)、工作流程描述、创建时间、最后修改时间等。

当然,在实际应用中,对于各个节点,工作流服务器也会对其进行记录,其存储时以工作流执行数据的工作流ID、工作流节点的节点ID,对每个节点的数据进行记录。其在工作流程节点表中记录节点基础信息包括节点ID、节点所属的工作流程的流程ID、节点类型的参数值和节点参数值等数据。该属性参数值包括角色、执行人、条件策略等。当然,对于一个工作流执行数据的各节点,可以对各节点的位置进行记录,其在工作流程节点位置表中记录节点ID、工作流ID、节点在工作流编辑界面中的位置表达式(一般为左上角坐标点)等。该节点在工作流编辑界面中的位置表达式,可以用于客户端再获取工作流执行数据的工作流配置信息时,将相关节点的位置提供给工作流设计插件,以在工作流编辑界面中的相应位置生成相应的编辑组件。

步骤220,接收由一业务系统的客户端提交的开始请求;

步骤222,根据所述开始请求,创建相应的工作流实例,并在所述工作流实例中加载工作流执行数据;所述工作流执行数据包括:各工作流节点、各工作流节点之间的流转顺序;

步骤224,接收业务系统的一客户端发送的处理请求后,通过与所述客户端对应的工作流实例,返回对应所述客户端的待处理工作流节点的第一工作任务给所述客户端;

步骤226,所述客户端对所述第一工作任务进行处理,并将得到的工作流转数据提交给所述工作流实例,将得到的工作业务数据存储在所述业务系统的业务服务器中;

步骤228,当接收到所述客户端针对所述第一工作任务提交的工作流转 数据后,将处理后的第一工作任务流转至与所述待处理工作流节点对应的后续待处理工作流节点。

本发明实施例解决了在开发其业务系统时在其业务系统内部设计工作流,其代码耦合性高、影响业务系统本身的稳定性的问题,可以将工作流的创建过程与业务系统解耦,将工作流的执行逻辑与业务系统解耦,避免修改时影响业务系统稳定性,并且方便用户对工作流的修改。并且可以将工作流转数据和业务数据分开存储,将业务数据存储在业务系统的业务服务器本地,提高数据的安全性,降低泄露风险。

对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。

实施例三

参照图3,示出了根据本发明一个实施例的一种工作流处理系统实施例的结构框图,具体可以包括如下模块:

工作流服务器310、业务系统的业务服务器320、业务系统的各客户端330;

所述工作流服务器310包括:

任务返回模块311,适于接收业务系统的一客户端发送的处理请求后,通过与所述客户端对应的工作流实例,返回对应所述客户端的待处理工作流节点的第一工作任务给所述客户端;

任务流转模块312,适于当接收到所述客户端针对所述第一工作任务提交的工作流转数据后,将处理后的第一工作任务流转至与所述待处理工作流节点对应的后续待处理工作流节点;

所述业务系统的客户端330包括:

分离处理模块331,适于所述客户端利用业务服务器320的业务数据对 所述第一工作任务进行处理,并将得到的工作流转数据提交给所述工作流实例,将得到的工作业务数据存储在所述业务系统的业务服务器320中。

优选的,在工作流服务器310的任务返回模块311之前,还包括:

开始请求接收模块,适于接收由一业务系统的客户端330提交的开始请求;

工作实例创建模块,适于根据所述开始请求,创建相应的工作流实例,并在所述工作流实例中加载工作流执行数据;所述工作流执行数据包括:各工作流节点、各工作流节点之间的流转顺序;

优选的,所述分离处理模块包括:

第二任务生成子模块,适于从所述业务系统的业务服务器中提取与所述第一工作任务对应的工作业务数据,并结合所述第一工作任务和工作业务数据生成第二工作任务;

分离提交子模块,适于在所述客户端对所述第二工作任务处理完毕之后,将得到的工作流转数据提交给所述工作流实例,将得到的工作业务数据存储在所述业务系统的服务器中。

优选的,所述开始请求包括业务系统标识和工作流标识;

进一步的,所述工作实例创建模块包括:

创建子模块,适于创建对应所述业务系统标识和工作流标识的工作流实例;

标识模块子模块,适于获取对应所述业务系统标识和工作流标识的工作流执行数据;

工作流加载子模块,适于将所述工作流执行数据加载至所述工作流实例中。

优选的,在工作流加载子模块之后,还包括:

成功确定子模块,适于在所述工作流实例中激活工作流节点中的开始节点,以确定工作流实例创建成功。

优选的,所述处理请求包括业务系统标识、工作流标识、用户身份信 息;所述用户身份信息包括角色和执行人;

进一步的,所述任务返回模块包括:

实例查找子模块,适于根据所述业务系统标识和工作流标识查找是否存在相应的工作流实例;

待处理节点查找模块,适于如果存在相应的工作流实例,则在所述工作流实例中查找与所述用户身份信息对应的待处理工作流节点;

任务返回子模块,适于将找到的待处理工作流节点中的工作任务返回给所述客户端。

优选的,所述工作流节点包括:

开始节点、流转节点、普通节点、聚合节点、结束节点。

优选的,所述待处理工作流节点包括普通节点、聚合节点;

进一步的,所述任务流转模块包括:

流转节点判断模块,适于判断所述待处理工作流节点之后是否包括流转节点;

流转条件获取模块,适于如果包括多个流转节点,则获取各流转节点的流转条件;

匹配流转模块,适于根据所述处理结果计算与所述流转条件匹配的下一个待处理工作流节点,并将处理后的第一工作任务流转至下一个待处理工作流节点;

直接流转模块,适于如果包括一个流转节点,则直接将处理后的第一工作任务流转至下一个待处理工作流节点。

优选的,所述流转节点判断模块之前,还包括:

回溯指令判断模块,适于判断所述处理结果中是否包括回溯指令;如果包括回溯指令,则将所述工作任务回溯至与所述回溯指令对应的起始的待处理工作流节点。

优选的,所述待处理工作流节点包括普通节点、聚合节点;

进一步的,所述任务返回模块之前,还包括:

任务分配模块,适于普通节点根据预置的任务分配策略,将工作任务 分配给所述普通处理节点对应的各角色的各执行人。

优选的,所述任务分配策略包括指派型策略和/或竞争型策略和/或动态会签型策略和/或平均分配型策略;

所述指派型策略包括:将工作任务分配给指定角色的指定执行人;

所述竞争型策略包括:将工作任务分配给执行角色下最先发送处理请求的执行人;

所述动态会签型策略包括:将工作任务分配给处理效率最高的指定角色下的执行人;

所述平均分配型策略包括:将工作任务轮次分配给指定角色下的各执行人。

优选的,所述开始请求接收模块之前,还包括:

执行数据生成模块,适于接收业务系统的客户端发送的工作流配置数据,并根据所述工作流配置数据,生成工作流执行数据并进行存储。

实施例四

参照图4,示出了根据本发明一个实施例的一种工作流处理系统实施例的结构框图,具体可以包括如下模块:

工作流服务器410、业务系统的业务服务器420、业务系统的各客户端430;

所述工作流服务器410包括:

执行数据生成模块411,适于接收业务系统的客户端发送的工作流配置数据,并根据所述工作流配置数据,生成工作流执行数据并进行存储。

开始请求接收模块412,适于接收由一业务系统的客户端330提交的开始请求;

工作实例创建模块413,适于根据所述开始请求,创建相应的工作流实例,并在所述工作流实例中加载工作流执行数据;所述工作流执行数据包括:各工作流节点、各工作流节点之间的流转顺序;

任务返回模块414,适于接收业务系统的一客户端发送的处理请求后, 通过与所述客户端对应的工作流实例,返回对应所述客户端的待处理工作流节点的第一工作任务给所述客户端;

任务流转模块414,适于当接收到所述客户端针对所述第一工作任务提交的工作流转数据后,将处理后的第一工作任务流转至与所述待处理工作流节点对应的后续待处理工作流节点;

所述业务系统的客户端430包括:

工作流参数获取模块431,适于从工作流系统对应的工作流服务器中获取工作流参数信息432;所述工作流参数信息包括业务模型对应的各对象、各节点对象;

编辑组件创建模块433,适于基于所述工作流参数信息生成相应的编辑组件;

编辑模块434,适于在工作流编辑界面中,根据用户对各编辑组件的操作,生成工作流配置数据;

发送模块435,适于将所述工作流配置参数发送至工作流服务器410。

开始请求模块436,适于向工作流服务器提交开始请求;

分离处理模块437,适于所述客户端利用业务服务器320的业务数据对所述第一工作任务进行处理,并将得到的工作流转数据提交给所述工作流实例,将得到的工作业务数据存储在所述业务系统的业务服务器320中。

优选的,在工作流参数获取模块之前,在工作流服务器中还包括:

业务模型接收模块,适于接收客户端上传的业务系统的业务模型;所述业务模型包括各角色、各执行人、各条件策略;

对象创建模块,适于根据所述业务模型生成业务模型对象、与所述业务模型对象对应的角色子对象、执行人子对象和条件策略子对象。

优选的,所述编辑组件创建模块包括:

编辑组件创建子模块,适于针对各业务模型对象,所述业务模型对应的角色子对象、执行人子对象和条件策略子对象,以及各节点对象,在工作流编辑界面中生成相应的编辑组件。

优选的,所述执行数据生成模块包括:

工作流执行数据生成子模块,适于所述工作流服务器根据所述工作流配置数据,生成工作流执行数据;

标识获取子模块,适于获取所述工作流执行数据的工作流标识,以及所述业务系统的业务系统标识;

存储子模块,适于结合所述业务系统标识和工作流标识对所述工作流执行数据进行存储。

优选的,所述编辑模块包括:

对象组件选择子模块,适于选择需要的节点对象的编辑组件;

关系设定子模块,适于设定各节点对象的编辑组之间的关系;

绑定子模块,适于将业务模型对象的编辑组件与一节点对象的编辑组件进行绑定;

角色设定子模块,适于基于角色子对象对应的编辑组件设定相应节点对象的角色;

执行人设定子模块,适于基于执行人子对象对应的编辑组件设定相应节点对象的执行人;

条件设定子模块,适于基于条件策略子对象对应的编辑组件设定相应节点对象的条件策略。

优选的,所述节点对象包括:

开始节点对象、结束节点对象、普通节点对象、聚合节点对象、流转节点对象。

优选的,所述业务模型包括:执行业务模型,或者执行业务模块和聚合业务模型;

进一步的,进一步的,所述绑定子模块包括:

普通节点绑定模块,适于将执行业务模型对象的编辑组件与普通节点对象的编辑组件绑定;

和/或聚合节点绑定模块,适于将聚合业务模型对象的编辑组件与聚合节点对象的编辑组件绑定。

优选的,当所述执行业务模型的条件策略中包括流转条件;

进一步的,进一步的,所述条件设定子模块包括:

条件对象组件分配子模块,适于在所述条件策略子对象所属的业务模型对象的编辑组件,与普通节点对象的编辑组件绑定后,将所述条件策略子对象分配给所述普通节点对象的编辑组件的下一级各流转节点对象的编辑组件;

条件生成子模块,适于基于条件策略子对象对应的编辑组件设定相应所述流转节点对象的流转条件。

优选的,在客户端中,还包括:

分配策略设定模块,适于在指定的普通节点对象的编辑组件中,为所述普通节点设置任务分配策略。

优选的,所述编辑模块还包括:

回溯设定子模块,适于在指定的普通节点对象的编辑组件中,设置回溯策略;所述回溯策略用于在接收到回溯指令时,将工作任务回溯至起始的普通节点对象。

优选的,在客户端的发送模块之后,还包括:

获取模块,适于从工作流服务器中获取所述工作流执行数据对应的工作流配置数据,并根据所述工作流配置数据的各对象生成相应的各编辑组件,进入编辑模块。

对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。

在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。

类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。

本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。

此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。

本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现 根据本发明实施例的×××(申请的主题,去掉“一种”)设备中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。

应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。

本发明公开了A1、一种工作流处理方法,包括:

接收业务系统的一客户端发送的处理请求后,通过与所述客户端对应的工作流实例,返回对应所述客户端的待处理工作流节点的第一工作任务给所述客户端;

所述客户端对所述第一工作任务进行处理,并将得到的工作流转数据提交给所述工作流实例,将得到的工作业务数据存储在所述业务系统的业务服务器中;

当接收到所述客户端针对所述第一工作任务提交的工作流转数据后,将处理后的第一工作任务流转至与所述待处理工作流节点对应的后续待处理工作流节点。

A2、根据权利要求A1所述的方法,其特征在于,在接收业务系统的一客户端发送的处理请求之前,还包括:

接收由一业务系统的客户端提交的开始请求;

根据所述开始请求,创建相应的工作流实例,并在所述工作流实例中加载工作流执行数据;所述工作流执行数据包括:各工作流节点、各工作流节点之间的流转顺序。

A3、根据权利要求A1所述的方法,其特征在于,所述客户端对所述第一工作任务进行处理,并将得到的工作流转数据提交给所述工作流实例,将得到的工作业务数据存储在所述业务系统的业务服务器中的步骤,包括:

所述客户端从所述业务系统的业务服务器中提取与所述第一工作任务对应的工作业务数据,并结合所述第一工作任务和工作业务数据生成第二工作任务;

在所述客户端对所述第二工作任务处理完毕之后,将得到的工作流转数据提交给所述工作流实例,将得到的工作业务数据存储在所述业务系统的服务器中。

A4、根据权利要求A2所述的方法,其特征在于,所述开始请求包括业务系统标识和工作流标识;

进一步的,根据所述开始请求,创建相应的工作流实例,并在所述工作流实例中加载工作流执行数据的步骤,包括:

创建对应所述业务系统标识和工作流标识的工作流实例;

获取对应所述业务系统标识和工作流标识的工作流执行数据;

将所述工作流执行数据加载至所述工作流实例中。

A5、根据权利要求A4所述的方法,其特征在于,在根据所述开始请求,创建相应的工作流实例,并在所述工作流实例中加载工作流执行数据之后,还包括:

在所述工作流实例中激活工作流节点中的开始节点,以确定工作流实例创建成功。

A6、根据权利要求A4所述的方法,其特征在于,所述处理请求包括业务系统标识、工作流标识、用户身份信息;所述用户身份信息包括角色和执行人;

进一步的,所述通过与所述客户端对应的工作流实例,返回对应所述客户端的待处理工作流节点的第一工作任务给所述客户端的步骤,包括:

根据所述业务系统标识和工作流标识查找是否存在相应的工作流实例;

如果存在相应的工作流实例,则在所述工作流实例中查找与所述用户身份信息对应的待处理工作流节点;

将找到的待处理工作流节点中的工作任务返回给所述客户端。

A7、如权利要求A3-A6其中之一所述的方法,其特征在于,所述工作流节点包括:

开始节点、流转节点、普通节点、聚合节点、结束节点。

A8、根据权利要求A7所述的方法,其特征在于,所述待处理工作流节点包括普通节点、聚合节点;

进一步的,所述在所述工作流实例中,根据所述处理结果,将处理后的工作任务流转至与所述待处理工作流节点对应的后续待处理工作流节点的步骤,包括:

判断所述待处理工作流节点之后是否包括流转节点;

如果包括多个流转节点,则获取各流转节点的流转条件;

根据所述处理结果计算与所述流转条件匹配的下一个待处理工作流节点,并将处理后的第一工作任务流转至下一个待处理工作流节点;

如果包括一个流转节点,则直接将处理后的第一工作任务流转至下一个待处理工作流节点。

A9、根据权利要求A8所述的方法,其特征在于,所述判断所述待处理工作流节点之后是否包括流转节点之前,还包括:

判断所述处理结果中是否包括回溯指令;

如果包括回溯指令,则将所述工作任务回溯至与所述回溯指令对应的起始的待处理工作流节点。

A10、根据所述权利要求A8所述的方法,其特征在于,进一步的,所述通过与所述客户端对应的工作流实例,返回对应所述客户端的待处理工 作流节点的第一工作任务给所述客户端之前,还包括:

普通节点根据预置的任务分配策略,将工作任务分配给所述普通处理节点对应的各角色的各执行人。

A11、根据权利要求A10所述的方法,其特征在于,所述任务分配策略包括指派型策略和/或竞争型策略和/或动态会签型策略和/或平均分配型策略;

所述指派型策略包括:将工作任务分配给指定角色的指定执行人;

所述竞争型策略包括:将工作任务分配给执行角色下最先发送处理请求的执行人;

所述动态会签型策略包括:将工作任务分配给处理效率最高的指定角色下的执行人;

所述平均分配型策略包括:将工作任务轮次分配给指定角色下的各执行人。

A12、根据权利要求A7所述的方法,接收由一业务系统的客户端提交的开始请求之前,还包括:

接收业务系统的客户端发送的工作流配置数据,并根据所述工作流配置数据,生成工作流执行数据并进行存储。

A13、根据权利要求A12所述的方法,其特征在于,所述工作流配置数据由客户端执行以下步骤获得:

从工作流系统对应的工作流服务器中获取工作流参数信息;所述工作流参数信息包括业务模型对应的各对象、各节点对象;

基于所述工作流参数信息生成相应的编辑组件;

在工作流编辑界面中,根据用户对各编辑组件的操作,生成工作流配置数据;

将所述工作流配置参数发送至工作流服务器。

A14、根据权利要求A13所述的方法,其特征在于,在从工作流系统对应的工作流服务器中获取工作流参数信息之前,还包括:

接收客户端上传的业务系统的业务模型;所述业务模型包括各角色、 各执行人、各条件策略;

根据所述业务模型生成业务模型对象、与所述业务模型对象对应的角色子对象、执行人子对象和条件策略子对象。

A15、根据权利要求A14所述的方法,其特征在于,所述基于所述工作流参数信息生成相应的编辑组件的步骤,包括:

针对各业务模型对象,所述业务模型对应的角色子对象、执行人子对象和条件策略子对象,以及各节点对象,在工作流编辑界面中生成相应的编辑组件。

A16、根据权利要求A13所述的方法,其特征在于,所述根据所述工作流配置数据,生成工作流执行数据并进行存储的步骤,包括:

根据所述工作流配置数据,生成工作流执行数据;

获取所述工作流执行数据的工作流标识,以及所述业务系统的业务系统标识;

结合所述业务系统标识和工作流标识对所述工作流执行数据进行存储。

A17、根据权利要求A14所述的方法,其特征在于,所述对各编辑组件的操作包括:

选择需要的节点对象的编辑组件;

设定各节点对象的编辑组之间的关系;

将业务模型对象的编辑组件与一节点对象的编辑组件进行绑定;

基于角色子对象对应的编辑组件设定相应节点对象的角色;

基于执行人子对象对应的编辑组件设定相应节点对象的执行人;

基于条件策略子对象对应的编辑组件设定相应节点对象的条件策略。

A18、根据权利要A16所述的方法,其特征在于,所述节点对象包括:

开始节点对象、结束节点对象、普通节点对象、聚合节点对象、流转节点对象。

A19、根据所述权利要求A18所述的方法,其特征在于,所述业务模型包括:执行业务模型,或者执行业务模块和聚合业务模型;

进一步的,将业务模型对象的编辑组件与节点对象绑定的编辑组件进行绑定包括:

将执行业务模型对象的编辑组件与普通节点对象的编辑组件绑定;

和/或将聚合业务模型对象的编辑组件与聚合节点对象的编辑组件绑定。

A20、根据权利要求A18所述的方法,其特征在于,当所述执行业务模型的条件策略中包括流转条件;

进一步的,所述基于条件策略子对象对应的编辑组件设定相应节点对象的条件策略,包括:

在所述条件策略子对象所属的业务模型对象的编辑组件,与普通节点对象的编辑组件绑定后,将所述条件策略子对象分配给所述普通节点对象的编辑组件的下一级各流转节点对象的编辑组件;

基于条件策略子对象对应的编辑组件设定相应所述流转节点对象的流转条件。

A21、根据权利要求A17所述的方法,其特征在于,还包括:

在指定的普通节点对象的编辑组件中,为所述普通节点设置任务分配策略。

A22、根据权利要求A17所述的方法,其特征在于,所述对各编辑组件的操作,还包括:

在指定的普通节点对象的编辑组件中,设置回溯策略;所述回溯策略用于在接收到回溯指令时,将工作任务回溯至起始的普通节点对象。

A23、根据权利要求A17所述的方法,其特征在于,在根据所述工作流配置数据,生成工作流执行数据并进行存储之后,还包括:

从工作流服务器中获取所述工作流执行数据对应的工作流配置数据,并根据所述工作流配置数据的各对象生成相应的各编辑组件,进入在工作流编辑界面中,根据用户对各编辑组件的操作,生成工作流配置数据的步骤。

本发明公开了B24、一种工作流处理系统,包括:

工作流服务器、业务系统的业务服务器、业务系统的各客户端;

所述工作流服务器包括:

任务返回模块,适于接收业务系统的一客户端发送的处理请求后,通过与所述客户端对应的工作流实例,返回对应所述客户端的待处理工作流节点的第一工作任务给所述客户端;

任务流转模块,适于当接收到所述客户端针对所述第一工作任务提交的工作流转数据后,将处理后的第一工作任务流转至与所述待处理工作流节点对应的后续待处理工作流节点;

所述业务系统的客户端包括:

分离处理模块,适于所述客户端对所述第一工作任务进行处理,并将得到的工作流转数据提交给所述工作流实例,将得到的工作业务数据存储在所述业务系统的业务服务器中。

B25、根据权利要求B24所述的系统,其特征在于,

开始请求接收模块,适于接收由一业务系统的客户端提交的开始请求;

工作实例创建模块,适于根据所述开始请求,创建相应的工作流实例,并在所述工作流实例中加载工作流执行数据;所述工作流执行数据包括:各工作流节点、各工作流节点之间的流转顺序;

B26、根据权利要求B25所述的系统,其特征在于,所述分离处理模块包括:

第二任务生成子模块,适于从所述业务系统的业务服务器中提取与所述第一工作任务对应的工作业务数据,并结合所述第一工作任务和工作业务数据生成第二工作任务;

分离提交子模块,适于在所述客户端对所述第二工作任务处理完毕之后,将得到的工作流转数据提交给所述工作流实例,将得到的工作业务数据存储在所述业务系统的服务器中。

B27、根据权利要求B25所述的系统,其特征在于,所述开始请求包括业务系统标识和工作流标识;

进一步的,所述工作实例创建模块包括:

创建子模块,适于创建对应所述业务系统标识和工作流标识的工作流实例;

标识模块子模块,适于获取对应所述业务系统标识和工作流标识的工作流执行数据;

工作流加载子模块,适于将所述工作流执行数据加载至所述工作流实例中。

B28、根据权利要求B27所述的系统,其特征在于,在工作流加载子模块之后,还包括:

成功确定子模块,适于在所述工作流实例中激活工作流节点中的开始节点,以确定工作流实例创建成功。

B29、根据权利要求B28所述的系统,其特征在于,所述处理请求包括业务系统标识、工作流标识、用户身份信息;所述用户身份信息包括角色和执行人;

进一步的,所述任务返回模块包括:

实例查找子模块,适于根据所述业务系统标识和工作流标识查找是否存在相应的工作流实例;

待处理节点查找模块,适于如果存在相应的工作流实例,则在所述工作流实例中查找与所述用户身份信息对应的待处理工作流节点;

任务返回子模块,适于将找到的待处理工作流节点中的工作任务返回给所述客户端。

B30、如权利要求B26-B29其中之一所述的系统,其特征在于,所述工作流节点包括:

开始节点、流转节点、普通节点、聚合节点、结束节点。

B31、根据权利要求B30所述的系统,其特征在于,所述待处理工作流节点包括普通节点、聚合节点;

进一步的,所述任务流转模块包括:

流转节点判断模块,适于判断所述待处理工作流节点之后是否包括流 转节点;

流转条件获取模块,适于如果包括多个流转节点,则获取各流转节点的流转条件;

匹配流转模块,适于根据所述处理结果计算与所述流转条件匹配的下一个待处理工作流节点,并将处理后的第一工作任务流转至下一个待处理工作流节点;

直接流转模块,适于如果包括一个流转节点,则直接将处理后的第一工作任务流转至下一个待处理工作流节点。

B32、根据权利要求B31所述的系统,其特征在于,所述流转节点判断模块之前,还包括:

回溯指令判断模块,适于判断所述处理结果中是否包括回溯指令;如果包括回溯指令,则将所述工作任务回溯至与所述回溯指令对应的起始的待处理工作流节点。

B33、根据所述权利要求B31所述的系统,其特征在于,所述待处理工作流节点包括普通节点、聚合节点;

进一步的,所述任务返回模块之前,还包括:

任务分配模块,适于普通节点根据预置的任务分配策略,将工作任务分配给所述普通处理节点对应的各角色的各执行人。

B34、根据权利要求B33所述的系统,其特征在于,所述任务分配策略包括指派型策略和/或竞争型策略和/或动态会签型策略和/或平均分配型策略;

所述指派型策略包括:将工作任务分配给指定角色的指定执行人;

所述竞争型策略包括:将工作任务分配给执行角色下最先发送处理请求的执行人;

所述动态会签型策略包括:将工作任务分配给处理效率最高的指定角色下的执行人;

所述平均分配型策略包括:将工作任务轮次分配给指定角色下的各执行人。

B35、根据权利要求B28所述的系统,所述开始请求接收模块之前,还包括:

执行数据生成模块,适于接收业务系统的客户端发送的工作流配置数据,并根据所述工作流配置数据,生成工作流执行数据并进行存储。

B36、根据权利要求B35所述的系统,其特征在于,在客户端中包括:

工作流参数获取模块,适于从工作流系统对应的工作流服务器中获取工作流参数信息;所述工作流参数信息包括业务模型对应的各对象、各节点对象;

编辑组件创建模块,适于基于所述工作流参数信息生成相应的编辑组件;

编辑模块,适于在工作流编辑界面中,根据用户对各编辑组件的操作,生成工作流配置数据;

发送模块,适于将所述工作流配置参数发送至工作流服务器。

B37、根据权利要求B36所述的系统,其特征在于,在工作流参数获取模块之前,在工作流服务器中还包括:

业务模型接收模块,适于接收客户端上传的业务系统的业务模型;所述业务模型包括各角色、各执行人、各条件策略;

对象创建模块,适于根据所述业务模型生成业务模型对象、与所述业务模型对象对应的角色子对象、执行人子对象和条件策略子对象。

B38、根据权利要求B37所述的系统,其特征在于,所述编辑组件创建模块包括:

编辑组件创建子模块,适于针对各业务模型对象,所述业务模型对应的角色子对象、执行人子对象和条件策略子对象,以及各节点对象,在工作流编辑界面中生成相应的编辑组件。

B39、根据权利要求B36所述的系统,其特征在于,所述执行数据生成模块包括:

工作流执行数据生成子模块,适于所述工作流服务器根据所述工作流配置数据,生成工作流执行数据;

标识获取子模块,适于获取所述工作流执行数据的工作流标识,以及所述业务系统的业务系统标识;

存储子模块,适于结合所述业务系统标识和工作流标识对所述工作流执行数据进行存储。

B40、根据权利要求B37所述的系统,其特征在于,所述编辑模块包括:

对象组件选择子模块,适于选择需要的节点对象的编辑组件;

关系设定子模块,适于设定各节点对象的编辑组之间的关系;

绑定子模块,适于将业务模型对象的编辑组件与一节点对象的编辑组件进行绑定;

角色设定子模块,适于基于角色子对象对应的编辑组件设定相应节点对象的角色;

执行人设定子模块,适于基于执行人子对象对应的编辑组件设定相应节点对象的执行人;

条件设定子模块,适于基于条件策略子对象对应的编辑组件设定相应节点对象的条件策略。

B41、根据权利要B39所述的系统,其特征在于,所述节点对象包括:

开始节点对象、结束节点对象、普通节点对象、聚合节点对象、流转节点对象。

B42、根据所述权利要求B41所述的系统,其特征在于,所述业务模型包括:执行业务模型,或者执行业务模块和聚合业务模型;

进一步的,进一步的,所述绑定子模块包括:

普通节点绑定模块,适于将执行业务模型对象的编辑组件与普通节点对象的编辑组件绑定;

和/或聚合节点绑定模块,适于将聚合业务模型对象的编辑组件与聚合节点对象的编辑组件绑定。

B43、根据权利要求B41所述的方法,其特征在于,当所述执行业务模型的条件策略中包括流转条件;

进一步的,进一步的,所述条件设定子模块包括:

条件对象组件分配子模块,适于在所述条件策略子对象所属的业务模型对象的编辑组件,与普通节点对象的编辑组件绑定后,将所述条件策略子对象分配给所述普通节点对象的编辑组件的下一级各流转节点对象的编辑组件;

条件生成子模块,适于基于条件策略子对象对应的编辑组件设定相应所述流转节点对象的流转条件。

B44、根据权利要求B40所述的系统,其特征在于,在客户端中,还包括:

分配策略设定模块,适于在指定的普通节点对象的编辑组件中,为所述普通节点设置任务分配策略。

B45、根据权利要求B40所述的系统,其特征在于,所述编辑模块还包括:

回溯设定子模块,适于在指定的普通节点对象的编辑组件中,设置回溯策略;所述回溯策略用于在接收到回溯指令时,将工作任务回溯至起始的普通节点对象。

B46、根据权利要求B40所述的系统,其特征在于,在客户端的发送模块之后,还包括:

获取模块,适于从工作流服务器中获取所述工作流执行数据对应的工作流配置数据,并根据所述工作流配置数据的各对象生成相应的各编辑组件,进入编辑模块。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1