一种无侵入式工作流待办委托方法及系统
文献发布时间:2024-04-18 19:58:30
技术领域
本发明涉及数据处理技术领域,特别涉及一种无侵入式工作流待办委托方法及系统。
背景技术
在基于工作流审核及待办任务的应用系统中,委托功能是很多业务需求中不可或缺的功能。委托规则及功能根据实际的使用场景也不尽相同。目前绝大部分的工作流引擎不支持委托或者支持的委托功能比较弱,无法满足实际的业务需求。目前大部分的实现方案是基于工作流引擎做二次开发来满足相关委托的需求,此种方案有以下弊端:
1)成本高,需要熟悉工作流的源码实现以及架构设计;
2)实现复杂,必须在工作流引擎的框架及数据结构基础上进行修改;
3)后期无法升级,二次开发后已与源码冲突,对于工作流引擎后续的版本无法进行升级。
发明内容
本发明的目的在解决现有技术中存在的问题,提供一套委托功能的实现方法及系统,本系统独立于工作流引擎,包含完整的委托规则配置、待办及委托任务查询、委托任务执行、委托撤销等相关功能。
为实现上述目的,本发明具有如下优点:
本发明第一方面是提供一种无侵入式工作流待办委托方法,包括:
根据实际的业务需求,在授权的情况下针对所有待办任务或者某些待办任务创建委托;
通过调用委托服务的API或者服务接口来查询所有的委托任务,委托服务通过代理模式来间接调用工作流引擎的相关API或者服务接口;
通过调用委托服务的API或者服务接口进行委托任务的提交或者驳回的操作;
根据实际情况对发起的委托进行规则修改、撤回以及暂停的操作。
作为本发明进一步改进,所述根据实际的业务需求,在授权的情况下针对所有待办任务或者某些待办任务创建委托,包括:
在操作界面中选择全部或者指定的任务类别,选择并填写委托生效的规则,选择受托人,针对不同类别的任务分别选择不同的受托人,完成委托规则的创建。
作为本发明进一步改进,创建委托时,如果委托任务需要受托人确认,则在受托人点击确认后委托生效,受托人如果不同意则委托失效;
还根据实际的业务需求配置委托期间的待办任务是否允许委托人继续查看和执行。
作为本发明进一步改进,所述通过调用委托服务的API或者服务接口来查询所有的委托任务,委托服务通过代理模式来间接调用工作流引擎的相关API或者服务接口,包括:
从配置的委托数据中查询指派给受托人的所有生效的委托规则列表;
对受托人的委托规则列表先进行序列化,再将序列化后的字符串进行非对称加密,然后对加密后的数据进行签名,最后生成存储当前受托人所有委托规则数据的token;
将所述token传递给委托服务的API或者服务接口,查询所有的委托任务;
委托服务接口通过签名验证token数据的完整性,验证失败则返回错误代码及信息;
委托服务通过公钥对token中的载荷数据进行解密,并对解密后的数据进行反序列化,获取到所有的委托信息数据,如果解密失败则返回错误代码及异常信息;
验证当前用户是否与委托数据中对应的受托人相符,否则返回错误代码及异常信息;
过滤委托数据中委托规则不生效的数据:针对时间规则直接判断,针对其他如超时时间规则则在获取任务时进行过滤;
获取委托信息中委托人的编码以及委托流程的编码,然后调用工作流引擎的API或者接口来查询委托人在指定的委托流程中的待办任务;
针对任务数据进行规则是否生效的验证,则根据规则对获取到的任务列表进行过滤;
为待办任务中的每条数据生成token,对每条待办任务追加token字段、任务类型以及委托人字段;
将结果返回至调用端。
作为本发明进一步改进,所述生成存储当前受托人所有委托规则数据的token是将加密数据放入token的payload区域,将签名数据放入token的signature区域。
作为本发明进一步改进,所述通过调用委托服务的API或者服务接口进行委托任务的提交或者驳回的操作,包括:
在待办任务列表中点击进入任务审批界面,录入完审批结果后提交至委托服务“任务执行“接口,并将生成的任务token传递给接口;
委托服务“任务执行“接口通过签名验证token的完整性,验证失败返回错误代码及相关信息;
将token进行解密,并进行反序列化,解密失败返回错误代码及相关异常信息;
从token中提取任务id,委托人、受托人以及有效时间等信息,对受托人与当前操作人以及有效时间与当前时间进行验证,验证失败返回错误代码及相关信息;
调用工作流引擎的API或者接口来验证任务是否存在,如果不存在则返回错误代码及信息;
调用工作流引擎API来判断委托人是否具有执行该任务的权限,否则返回错误代码及异常信息;
调用工作流引擎API来完成该任务的提交或者驳回,并将委托信息、审核结果等信息组织成json格式的数据保存至工作流引擎中,以便后期历史记录的查询;
将最终结果返回至调用端。
作为本发明进一步改进,所述token包含任务ID、受托人、委托人、有效时间。
作为本发明进一步改进,所述根据实际情况随时对发起的委托进行规则修改、撤回以及暂停的操作,包括:
通过界面进入发起的委托列表界面;
在界面中点击编辑按钮进入修改界面;
在修改界面中修改委托规则或者点击撤销、暂停的执行相关操;
将相关委托数据的状态修改为撤销或者暂停状态。
本发明第二方面是提供一种无侵入式工作流待办委托系统,包括:
创建委托模块,用于根据实际的业务需求,在授权的情况下针对所有待办任务或者某些待办任务创建委托;
任务查询模块,用于通过调用委托服务的API或者服务接口来查询所有的委托任务,委托服务通过代理模式来间接调用工作流引擎的相关API或者服务接口;
任务执行模块,用于通过调用委托服务的API或者服务接口进行委托任务的提交或者驳回的操作;
任务修改模块,用于根据实际情况对发起的委托进行规则修改、撤回以及暂停的操作。
本发明第三方面是提供一种电子设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现所述无侵入式工作流待办委托方法。
本发明第四方面是提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现所述无侵入式工作流待办委托方法。
与现有技术相比,本发明的有益效果是:
本发明方法独立于工作流引擎,包含完整的委托规则配置、待办及委托任务查询、委托任务执行、委托撤销等相关功能。本系统通过非对称加密方式将委托信息生成token,并对token数据进行签名,并将token信息传递给委托代理接口,进而实现委托的业务护理。具体优点如下:
1)耦合性低,通过代理模式实现,无需修改工作流源码,委托规则的配置与委托的业务实现无直接耦合,通过token关联,有利于委托功能的扩展以及与不同工作流引擎的整合。
2)委托规则的定义及逻辑处理可在业务系统中实现,与工作流引擎无任何耦合,不受任何限制。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明提供无侵入式工作流待办委托方法的流程示意图;
图2为委托任务查询实现流程示意图;
图3为委托任务的提交或者驳回等操作流程示意图;
图4为本发明实施例提供的一种电子设备示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
本发明涉及到工作流待办任务委托的一种实现方法,特别涉及到该方法与工作流引擎之间松耦合,代码之间无侵入,且方便与各种工作流引擎进行对接。
如图1所示,本发明第一个目的是提供一种无侵入式工作流待办委托方法,包括:
S1,根据实际的业务需求,在授权的情况下针对所有待办任务或者某些待办任务创建委托;
S2,通过调用委托服务的API或者服务接口来查询所有的委托任务,委托服务通过代理模式来间接调用工作流引擎的相关API或者服务接口;
S3,通过调用委托服务的API或者服务接口进行委托任务的提交或者驳回的操作;
S4,根据实际情况对发起的委托进行规则修改、撤回以及暂停的操作。
本发明的方法具有灵活性高的优点,可以进行提前委托以及办理中的委托,可以随时撤销未处理的委托任务。并且安全性高,通过非对称加密以及数据签名方式确保委托信息token的安全。通过本发明的方法,可以支持多实例集群部署的架构设计。
下面结合附图对本发明做进一步详细描述:
本发明所述的工作流委托系统可以通过API直接集成到应用系统中也可以部署为独立的服务通过接口提供调用,主要包含以下步骤:
1)创建委托
委托人可根据实际的业务需求,在授权的情况下针对所有待办任务或者某些待办任务创建委托,该步骤的过程为:
11)在操作界面中选择全部或者指定的任务类别,选择并填写委托生效的规则(如指定时间段、周期性时间、待办任务超时等),选择受托人(可选择多个),可以针对不同类别的任务分别选择不同的受托人,完成委托规则的创建。
12)如果委托任务需要受托人确认,则在受托人点击确认后委托生效,受托人如果不同意则委托失效。
13)可根据实际的业务需求配置委托期间的待办任务是否允许委托人继续查看和执行。
2)委托任务查询
如图2所示,受托人通过调用委托服务的API或者服务接口来查询所有的委托任务,委托服务通过代理模式来间接调用工作流引擎的相关API或者服务接口,该步骤的具体过程为:
21)从配置的委托数据中查询指派给受托人的所有生效的委托规则列表,如果不存在则直接返回;
22)对受托人的委托数据首先进行序列化(json或者xml等),再将序列化后的字符串进行非对称加密(密钥可以为全局或者委托人绑定的),然后对加密后的数据进行签名,最后生成存储当前受托人所有委托规则数据的token(将加密数据放入token的payload区域,将签名数据放入token的signature区域)。
23)将上述token传递给委托服务的API或者服务接口,查询所有的委托任务;
24)委托服务接口通过签名验证token数据的完整性,验证失败则返回错误代码及信息;
25)委托服务通过公钥对token中的载荷数据进行解密,并对解密后的数据进行反序列化,获取到所有的委托信息数据,如果解密失败则返回错误代码及异常信息;
26)验证当前用户是否与委托数据中对应的受托人相符,否则返回错误代码及异常信息;
27)过滤委托数据中委托规则不生效的数据:针对时间规则直接判断,针对其他如超时时间规则则在获取任务时进行过滤;
28)获取委托信息中委托人的编码以及委托流程的编码,然后调用工作流引擎的API或者接口来查询委托人在指定的委托流程中的待办任务;
29)如果有,针对任务数据进行规则是否生效的验证,则根据规则对上述步骤中获取到的任务列表进行过滤;
210)为上述待办任务中的每条数据生成token(包含任务ID、受托人、委托人、有效时间等数据),生成规则同步骤22,对每条待办任务追加token字段、任务类型(委托任务)以及委托人字段;
211)将结果返回至调用端。
3)委托任务执行
如图3所示,受托人通过调用委托服务的API或者服务接口进行委托任务的提交或者驳回等操作,该步骤的具体过程为:
31)受托人在待办任务列表中点击进入任务审批界面,录入完审批结果后提交至委托服务“任务执行“接口,并将上述步骤2中生成的任务token传递给接口;
32)委托服务“任务执行“接口通过签名验证token的完整性,验证失败返回错误代码及相关信息;
33)将token进行解密,并进行反序列化,解密失败返回错误代码及相关异常信息;
34)从token中提取任务id,委托人、受托人以及有效时间等信息,对受托人与当前操作人以及有效时间与当前时间进行验证,验证失败返回错误代码及相关信息;
35)调用工作流引擎的API或者接口来验证任务是否存在,如果不存在则返回错误代码及信息;
36)调用工作流引擎API来判断委托人是否具有执行该任务的权限,否则返回错误代码及异常信息;
37)调用工作流引擎API来完成该任务的提交或者驳回,并将委托信息、审核结果等信息组织成json格式的数据保存至工作流引擎中,以便后期历史记录的查询;
38)将最终结果返回至调用端。
4)委托任务修改、撤销以及暂停:
委托人可以根据实际情况随时对发起的委托进行规则修改、撤回以及暂停等操作,操作实现如下:
41)通过界面进入自己发起的委托列表界面;
42)在界面中点击编辑按钮进入修改界面;
43)在修改界面中修改委托规则或者点击撤销、暂停等按钮执行相关操作。
44)后端服务将相关委托数据的状态修改为撤销或者暂停状态。
本发明提供还一种无侵入式工作流待办委托系统,该系统包括:
创建委托模块,用于根据实际的业务需求,在授权的情况下针对所有待办任务或者某些待办任务创建委托;
任务查询模块,用于通过调用委托服务的API或者服务接口来查询所有的委托任务,委托服务通过代理模式来间接调用工作流引擎的相关API或者服务接口;
任务执行模块,用于通过调用委托服务的API或者服务接口进行委托任务的提交或者驳回的操作;
任务修改模块,用于根据实际情况对发起的委托进行规则修改、撤回以及暂停的操作。
如图4所示,本发明第三方面是提供一种电子设备,包括存储器、处理器以及存储在存储器中并可在处理器上运行的计算机程序,处理器执行计算机程序时实现无侵入式工作流待办委托方法。
无侵入式工作流待办委托方法包括以下步骤:
S1,根据实际的业务需求,在授权的情况下针对所有待办任务或者某些待办任务创建委托;
S2,通过调用委托服务的API或者服务接口来查询所有的委托任务,委托服务通过代理模式来间接调用工作流引擎的相关API或者服务接口;
S3,通过调用委托服务的API或者服务接口进行委托任务的提交或者驳回的操作;
S4,根据实际情况对发起的委托进行规则修改、撤回以及暂停的操作。
本发明第四方面是提供一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序被处理器执行时实现无侵入式工作流待办委托方法。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
最后应当说明的是:以上实施例仅用以说明本发明的技术方案而非对其限制,尽管参照上述实施例对本发明进行了详细的说明,所属领域的普通技术人员应当理解:依然可以对本发明的具体实施方式进行修改或者等同替换,而未脱离本发明精神和范围的任何修改或者等同替换,其均应涵盖在本发明的权利要求保护范围之内。
- 一种非侵入式监测系统下电器的识别方法
- 一种非侵入式电力用户画像构建方法及系统
- 一种非侵入式电力负荷报警监测方法及系统
- 一种无侵入式工作流引擎监控方法、系统及存储介质
- 一种无侵入式的业务表单工作流化的实现方法与装置