首页> 中国专利> 一种基于抢占式办公模式的工作流引擎

一种基于抢占式办公模式的工作流引擎

摘要

本发明提供了一种基于抢占式办公模式的工作流引擎,所述工作流引擎的过程节点由抢占式节点和非抢占式节点构成,所述抢占式节点设有抢占式任务,当进入所述抢占式节点时,所述工作流引擎将抢占式任务的任务抢占权限开放给对应部门,并将任务办理权限发放给第一个完成任务抢占的抢占成功部门;所述工作流引擎还包含延迟队列,所述工作流引擎将抢占成功部门优先放入延迟队列,同时所述工作流引擎关闭其他部门对当前节点任务的任务抢占权限;本发明仅需对传统工作流引擎进行轻量化改进便可实现抢占式办公模式,不增加系统的性能压力;可降低存储冗余,节约存储空间。

著录项

  • 公开/公告号CN114971594A

    专利类型发明专利

  • 公开/公告日2022-08-30

    原文格式PDF

  • 申请/专利权人 北京有生深境技术有限公司;

    申请/专利号CN202210895811.7

  • 发明设计人 王洪哲;李东;张继鹏;

    申请日2022-07-28

  • 分类号G06Q10/10(2012.01);G06F16/22(2019.01);

  • 代理机构北京智丞瀚方知识产权代理有限公司 11810;

  • 代理人白月霞

  • 地址 101104 北京市通州区光华路甲1号院6号楼二层203号

  • 入库时间 2023-06-19 16:30:07

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2022-10-25

    授权

    发明专利权授予

  • 2022-09-16

    实质审查的生效 IPC(主分类):G06Q10/10 专利申请号:2022108958117 申请日:20220728

    实质审查的生效

  • 2022-08-30

    公开

    发明专利申请公布

说明书

技术领域

本发明涉及计算机技术技术领域,具体涉及一种基于抢占式办公模式的工作流引擎。

背景技术

工作流是对某种表单的规定流转过程的描述,其中包括:要流经几个步骤;每个步骤由何人处理;每个步骤要填写表单上的哪些栏目;从一个步骤传递到下一个步骤必须满足哪些条件,等等。工作流实际上是管理制度的具体体现,它明确了责任分工、规定了工作程序,使每项工作都能高效、有序地进行。

在公司的办公环境中,往往出现办公拖延效率较低的情况,即一个文件只有等到不得不办时才会办,又因为企业制度或人才成本原因,对此类问题难以有效解决。基于这种情况,各企业希望利用年终的绩效考核来监督员工高效办公。同时,为了促进企业文化的构建,很多企业利用“鲶鱼效应”的机制来加强办公的竞争性,但当前并无相对应的成熟的工作模式。

基于上述办公场景的需求和传统工作流程的限制,需要对传统工作流引擎进行改造,使得工作流引擎可满足利用“鲶鱼效应”机制提升效率的需求。

发明内容

针对上述存在的拘束局限性,本发明提出了一种基于抢占式办公模式的工作流引擎,引入抢占式工作模式及对应的工作流引擎系统以解决传统工作流引擎无法满足利用“鲶鱼效应”机制提升效率的问题。

为实现上述目的,本发明采用了以下技术方案:

本发明的发明点是提供一种基于抢占式办公模式的工作流引擎,所述工作流引擎的过程节点由抢占式节点和非抢占式节点构成;

所述工作流引擎的过程节点由抢占式节点和非抢占式节点构成,所述抢占式节点设有抢占式任务,当进入所述抢占式节点时,所述工作流引擎将抢占式任务的任务抢占权限开放给对应部门,并将任务办理权限发放给第一个完成任务抢占的抢占成功部门。

所述工作流引擎还包含延迟队列,所述工作流引擎将抢占成功部门优先放入延迟队列,同时所述工作流引擎关闭其他部门对当前节点任务的任务抢占权限。

当超过预设办理时长未办理抢占式任务时,所述工作流引擎将延迟队列中所有元素取出,重新向对应部门开启抢占式任务的任务抢占权限;

当抢占成功部门在预设办理时长内完成抢占式任务,则所述工作流引擎按照预先定义的工作流程继续向后进行。

若抢占成功部门在预设办理时长内完成抢占式任务,则若后续工作流程的节点中出现新的抢占式节点或者回到当前抢占式节点,则所述工作流引擎直接将该部门从延迟队列取出,并将该节点的任务办理权限开放给该部门。

本发明与现有技术相对比,本发明具有以下优点:

通过延迟队列的程序设计实现了抢占式节点功能,满足了工作流实际应用场景中遇到的抢占式办公模式;提供了抢占式节点与非抢占式节点同表存储的方案,仅需要对传统工作流引擎进行轻量化改进便可实现抢占式节点功能,同时不增加系统的性能压力;提供了抢占式节点与非抢占式节点分表存储的方案,降低了存储冗余,节约了存储空间,增强了抢占式节点的鲁棒性和可拓展性。

上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其他目的、特征和优点能够更明显易懂,以下特举较佳实施例,并配合附图,详细说明如下。

附图说明

图1为本发明实施例提供的一种基于延迟队列的工作流引擎抢占式节点的实现方法的流程说明图。

图2为本发明实施例提供的一种基于延迟队列的工作流引擎抢占式节点的实现方法的操作方式示意图。

图3为本发明实施例提供的一种工作流引擎结构图。

具体实施方式

以下由特定的具体实施例说明本发明的实施方式,熟悉此技术的人士可由本说明书所揭露的内容轻易地了解本发明的其他优点及功效,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。为了进一步了解本发明,下面结合最佳实施例对本发明作进一步的详细说明。

如下为本发明实施例中涉及名词术语的解释:

最优先响应作业:即在时间上最快响应某次工作任务。

抢占式:即先到先得,对于已抢占到的任务节点,除抢占到的机构外,该节点的其他平级办理机构的办理权限将被封闭。

抢占式办公:在一个工作流节点上允许多个并行机构通过最先响应的方式办理任务,一旦该任务被A部门抢到,那么后续该任务的所有反馈和领导批示都由A部门进行跟踪和落实。

优先队列:即PriorityQueue,一种基于优先级的阻塞队列(BlockingQueue),在优先队列中,元素被赋予优先级;当访问元素时,具有最高优先级的元素最先删除。优先队列具有最高级先出的行为特征;通常采用堆数据结构来实现。

延迟队列:即DelayQueue,是基于优先队列实现的一种拥有延迟时间属性的队列,延迟队列中的对象只能在其到期时才能从队列中取走;延迟队列是有序的,即队头对象的延迟到期时间最长。

下面结合前述名词术语具体介绍本发明的实现方式:

本发明的发明点是提供一种基于抢占式办公模式的工作流引擎,所述工作流引擎的过程节点由抢占式节点和非抢占式节点(普通节点)构成;所述抢占式节点为用于实现抢占式任务的过程节点,即所述抢占式节点设有抢占式任务;所述非抢占式节点即传统工作流引擎中的过程节点,不具有抢占式任务的功能属性,即所述非抢占式节点设有非抢占式任务(普通任务)。

所述抢占式任务具备前述的抢占式的属性,即该任务的办理权限由若干个平级办理机构抢占得到,先到者先得。

所述工作流引擎还包含延迟队列;所述延迟队列用于实现抢占式节点的功能。

参考图1所示,所述工作流引擎通过以下方式实现抢占式任务的工作模式:

(1)预先通过流程设计器定义工作流程、指定抢占式节点对应的抢占式任务的办理部门;当进入所述抢占式节点时,所述工作流引擎通过权限控制器将所述抢占式任务的任务抢占权限开放给对应部门,并由对应部门按照最优先原则抢占该抢占式任务的任务办理权限;

(2)在预设抢占时间T

(3)开始由所述抢占成功部门办理所述抢占式任务,并由事项管理器监控所述抢占成功部门的办理状态;

若所述抢占成功部门超过预设办理时长T

若所述抢占成功部门在预设办理时长T

进一步地,若所述抢占成功部门在预设办理时长T

作为一种实施例,所述抢占式节点和所述非抢占式节点数据存储于同一张过程节点表中;所述过程节点表用于存储工作流中的节点数据,包括抢占式节点数据和非抢占式节点数据。

所述过程节点表包括以下字段:编号(字符串字段)、类型(枚举型字段)、起草人(字符串字段)、文件标题(字符串字段)、创建部门(字符串字段)、创建人(字符串字段)、创建日期(时间字段)、创建时间(时间字段)、联系方式(字符串字段)、文件概要(字符串字段)、发送对象(字符串字段)、紧急程度(枚举型字段)、签发人(字符串字段)、签发日期(时间字段)、备注(字符串字段)、意见指示(字符串字段)、附件(文件类型字段)、正文(文件类型字段或字符串字段)、关联文件(文件类型字段)、沟通交流(字符串字段)、是否为抢占式节点(布尔值字段)、参与抢占的岗位(数组字段)、抢占成功的岗位(字符串字段)、抢占失败的岗位(数组字段)、抢占模式配置项(字符串字段)、抢占开始时间(时间字段)、抢占持续时长(时间字段)、 抢占结束时间(时间字段)。

可以理解的是,本实施例可基于对传统工作流引擎的过程节点表改造实现,具体实现方式为在传统工作流引擎的过程节点表中增加以下字段:是否为抢占式节点(布尔值字段)、参与抢占的岗位(数组字段)、抢占成功的岗位(字符串字段)、抢占失败的岗位(数组字段)、抢占模式配置项(字符串字段)、抢占开始时间(时间字段)、抢占持续时长(时间字段)、 抢占结束时间(时间字段)。

所述工作流引擎对过程节点表的操作包括查询、删除、增加、修改,该实施例下对过程节点表的操作方式与常规工作流引擎的对过程节点表的操作相同。

当抢占式节点和非抢占式节点存储于同一张过程节点表,所述工作流引擎通过查询所述过程节点表中“是否为抢占式节点”字段的数据来判断节点类型;当进入抢占式节点时按照前述(1)-(3)的方式实现抢占式节点的功能,当进入非抢占式节点时按照常规工作流引擎的流程节点处理方式处理。

当采用非抢占式节点与抢占式节点存储于同一张节点表的实施例时,可降低对传统工作流引擎的改造难度,仅需要对传统工作流引擎进行小幅度改造即可实现抢占式节点的功能。

作为一种实施例,所述非抢占式节点和所述抢占式节点数据分别存储于普通节点表和抢占式节点表中。

所述普通节点表包括以下字段:编号(字符串字段)、类型(枚举型字段)、起草人(字符串字段)、文件标题(字符串字段)、创建部门(字符串字段)、创建人(字符串字段)、创建日期(时间字段)、创建时间(时间字段)、联系方式(字符串字段)、文件概要(字符串字段)、发送对象(字符串字段)、紧急程度(枚举型字段)、签发人(字符串字段)、签发日期(时间字段)、备注(字符串字段)、意见指示(字符串字段)、附件(文件类型字段)、正文(文件类型字段或字符串字段)、关联文件(文件类型字段)、沟通交流(字符串字段)。

所述抢占式节点表除普通节点表的字段外,还包括以下字段:参与抢占的岗位(数组字段)、抢占成功的岗位(字符串字段)、抢占失败的岗位(数组字段)、抢占模式配置项(字符串字段)、抢占开始时间(时间字段)、抢占持续时长(时间字段)、 抢占结束时间(时间字段)。

所述普通节点表和抢占式节点表通过中间表进行整合,所述中间表由普通节点编号和抢占节点编号组成。

优选地,为优化查询操作,提升平均查询效率,所述中间表也存储一些节点部分属性,所述节点部分属性包括节点编号、节点是否为抢占节点中的至少一种。

所述工作流引擎的操作包括查询、删除、增加、修改;

当非抢占式节点和抢占式节点分别存储于普通节点表和抢占式节点表中,所述工作流引擎进行增加、删除、修改、查询操作时,通过操作程序中的逻辑判断环节来决定操作普通节点表或抢占式节点表;所述逻辑判断环节的判断依据是表名称。

参考图2所示,当所述工作流引擎进行查询、删除、增加、修改时,操作方式如下:

查询:若中间表中包含目标查询字段时,只对中间表进行操作;若中间表中不包含目标查询字段时,通过中间表向普通节点表和抢占式节点表发起关联查询,最终再合并结果返回;

删除:只针对中间表进行删除操作,而后调动级联删除的程序去普通节点表和抢占式节点表进行节点的删除,从而防止三张表不同步;

增加和修改:需要同时增加或修改普通节点表、中间表、抢占式节点表这三张表中的内容。

图2中,“节点基本属性”包括编号、类型、起草人、文件标题、创建部门、创建人、创建日期、创建时间、联系方式、文件概要、发送对象、紧急程度、签发人、签发日期、备注、意见指示、附件、正文、关联文件、沟通交流等属性中至少一种;“节点部分属性”包括节点编号、节点是否为抢占节点;“抢占式节点特有属性”包括是否是抢占式节点、参与抢占的岗位、抢占成功的岗位、抢占失败的岗位、抢占模式配置项、抢占开始时间、抢占持续时长、 抢占结束时间。

当采用非抢占节点与抢占节点分别存储的实施例时,可减少冗余、节约硬盘空间;与此同时,利用程序逻辑指向不同的表进行操作时,做到了物理隔离和逻辑隔离,增强了工作流引擎的鲁棒性和可拓展性;对于没有抢占节点的工作流程也可大幅度提高查询效率。

作为一种实施例,本发明还提供一种针对流程中存在多个抢占式节点情况的配置策略,包括优先策略和平等策略:

优先策略:提高第一个抢占式节点中抢占成功部门的权重,若在后续抢占式节点中的抢占队列中有该部门,则直接采取该部门,无需抢占;若在后续抢占式节点中的抢占队列中没有该部门,则公平抢占;

平等策略:与优先策略相对的,不提高第一个抢占式节点中抢占成功部门的权重,后续抢占式节点都会平等对待每一个部门,公平竞争。

所述配置策略通过工作流引擎配置文件中的配置策略开关实现;所述配置文件是以键值对为基础的文件;工作流引擎在初始加载时读取所述配置文件中的键值对并作为工作流引擎的环境变量进行执行。

一般地,采用优先策略提高所述工作流引擎的工作效率,当所述配置策略采用所述优先策略时,若包含多个抢占式节点的流程中的某一节点为抢占式节点,且该节点出现多次,则该节点第二次及以后出现时,不再需要重新抢占。

例如,参考以下流程:起草--->节点1--->节点2--->节点3--->节点4--->节点5--->节点3--->节点6--->办结,其中,节点3为抢占式节点,当流程第一次经过节点3时若由A部门抢占到,则第二次次经过节点3时,不需要重新抢占,直接交由A部门办理。

作为一种实施例,所述抢占式节点可在工作流引擎中实现抢占式办公的功能,参考图3,所述工作流引擎由数据库、表单设计器、表单展示器、事项管理器、流程设计器、流程部署器、权限控制器、数据接口组成。

所述数据库用于存储所述工作流引擎运行过程中依赖的数据表,包括前述实施例中的过程节点表、普通节点表、抢占式节点表,还包括流程表、待办表、人员表。

所述权限控制器用于工作流引擎的权限管理和控制。

所述表单设计器用于工作表单设计;所述表单展示器用于可视化展示工作表单。

所述事项管理器用于监控任务办理状态、管理工作任务事项。

所述流程设计器用于可视化地设计工作流流程。

所述流程部署器用于将工作流流程进行实际部署,生成所述工作流引擎可识别的流程数据。

作为一种实施例,本发明所述工作流引擎可在软件和/或软件与硬件的组合体中被实施,例如,可采用专用集成电路(ASIC)、通用计算机或任何其他类似硬件设备来实现。

本发明所述的工作流引擎可以软件程序的形式实施,所述软件程序可以通过处理器执行以实现上文所述步骤或功能。同样地,所述软件程序(包括相关的数据结构)可以被存储到计算机可读记录介质中,例如,RAM存储器,磁或光驱动器或软磁盘及类似设备。

另外,本发明所述方法的一些步骤或功能可采用硬件来实现,例如,作为与处理器配合从而执行各个步骤或功能的电路。

另外,本发明所述工作流引擎的一部分可被应用为计算机程序产品,例如计算机程序指令,当其被计算机执行时,通过该计算机的操作,可以调用或提供根据本申请的方法和/或技术方案。而调用本发明所述方法的程序指令,可被存储在固定的或可移动的记录介质中,和/或通过广播或其他信号承载媒体中的数据流而被传输,和/或被存储在根据所述程序指令运行的计算机设备的工作存储器中。

作为一种实施例,本发明还提供一个装置,该装置包括用于存储计算机程序指令的存储器和用于执行程序指令的处理器,其中,当该计算机程序指令被该处理器执行时,触发该装置运行基于前述的多个实施例的方法和/或技术方案。

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

最后,需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。

以上所述,仅是本发明的较佳实施例而已,并非对本发明作任何形式上的限制,虽然本发明已以较佳实施例揭露如上,然而并非用以限定本发明,任何熟悉本专业的技术人员,在不脱离本发明技术方案范围内,当可利用上述揭示的技术内容作出些许更动或修饰为等同变化的等效实施例,但凡是未脱离本发明技术方案的内容,依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化与修饰,均仍属于本发明技术方案的范围内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号