掌桥专利:专业的专利平台
掌桥专利
首页

工作流执行方法、装置、存储介质及计算机设备

文献发布时间:2024-01-17 01:14:25


工作流执行方法、装置、存储介质及计算机设备

技术领域

本申请涉及自动化办公技术领域,尤其涉及一种工作流执行方法、装置、存储介质及计算机设备。

背景技术

随着计算机技术的不断发展,自动化办公已经成为不少公司的首选办公方式,以实现电子化办公和提高审批效率。在实际工作中,对于同个具体工作流,需要为属于同个部门或用户组的不同用户分别设定不同的权限。例如,物流中心的部分员工对第一考勤标准具备禁止查看权限,对第二考勤标准具备允许查看权限。物流中心的其余员工对第一考勤标准具备允许查看权限,对第二考勤标准具备禁止查看权限。

但是,现有的工作流引擎一般是按照单一维度来实现权限控制,例如,按照组织架构、角色或者用户组进行权限控制。同一部门、同一角色或者同一用户组下的全部用户具备相同的权限。由此可见,现有的工作流引擎无法满足前述需求,存在适用性差的问题。

发明内容

本申请的目的旨在至少能解决上述的技术缺陷之一,特别是现有技术中适用性差的技术缺陷。

第一方面,本申请实施例提供了一种工作流执行方法,所述方法包括:

接收工作流执行请求;

确定所述工作流执行请求对应的请求发起用户的用户标识;

根据所述用户标识和所述工作流执行请求的执行内容,查询所述请求发起用户对于所述执行内容的各个执行权限;其中,各个所述执行权限是依据所述请求发起用户的所属组织和所属角色预先配置的;

当所述请求发起用户对应有多个所述执行权限时,确定权限优先级,并按照所述权限优先级在各个所述执行权限中确定目标权限;

根据所述目标权限生成所述工作流执行请求对应的执行结果。

在其中一个实施例中,所述确定权限优先级的步骤,包括:

分别确定每个所述执行权限对应的配置来源项;

根据各个所述配置来源项和预设的来源优先级,确定各个所述执行权限的所述权限优先级。

在其中一个实施例中,所述根据各个所述配置来源项和预设的来源优先级,确定各个所述执行权限的所述权限优先级的步骤,包括:

若各个所述配置来源项包括优先权限配置项和普通权限配置项,则所述优先权限配置项对应的执行权限的优先级先于所述普通权限配置项对应的执行权限的优先级。

在其中一个实施例中,所述根据所述用户标识和所述工作流执行请求的执行内容,查询所述请求发起用户对于所述执行内容的各个执行权限的步骤,包括:

基于所述用户标识,确定所述请求发起用户所对应的组织角色标识;

根据所述组织角色标识和所述执行内容,查询所述请求发起用户对于所述执行内容的各个执行权限。

在其中一个实施例中,所述根据所述目标权限生成所述工作流执行请求对应的执行结果的步骤,包括:

在所述目标权限为允许执行权限的情况下,响应所述工作流执行请求以得到所述执行结果;

在所述目标权限为禁止执行权限的情况下,将空信息或告警信息作为所述执行结果。

在其中一个实施例中,所述方法还包括:向所述请求发起用户返回所述执行结果。

第二方面,本申请实施例提供了一种工作流执行装置,所述装置包括:

请求接收模块,用于接收工作流执行请求;

用户标识确定模块,用于确定所述工作流执行请求对应的请求发起用户的用户标识;

权限查询模块,用于根据所述用户标识和所述工作流执行请求的执行内容,查询所述请求发起用户对于所述执行内容的各个执行权限;其中,各个所述执行权限是依据所述请求发起用户的所属组织和所属角色预先配置的;

目标权限确定模块,用于当所述请求发起用户对应有多个所述执行权限时,确定权限优先级,并按照所述权限优先级在各个所述执行权限中确定目标权限;

执行结果获取模块,用于根据所述目标权限生成所述工作流执行请求对应的执行结果。

第三方面,本申请实施例提供了一种存储介质,所述存储介质中存储有计算机可读指令,所述计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行上述任一实施例所述工作流执行方法的步骤。

第四方面,本申请实施例提供了一种计算机设备,包括:一个或多个处理器,以及存储器;

所述存储器中存储有计算机可读指令,所述计算机可读指令被所述一个或多个处理器执行时,执行上述任一实施例所述工作流执行方法的步骤。

在本申请的工作流执行方法、装置、存储介质和计算机设备中,在接收到工作流执行请求的情况下,计算机设备可根据请求发起用户的用户标识和工作流执行请求的执行内容,查询请求发起用户的各个执行权限。由于请求发起用户的各个执行权限是依据所属部门和所属角色预先配置的,因此,对于同个工作流,若任意两个用户的所属部门不同和/或所属角色不同,则该两个用户所对应的各个执行权限也可以有所不同。当计算机设备按照权限优先级确定目标权限后,该两个用户对应的目标权限也可以不同。由此可见,本申请可结合多个维度来实现权限控制,使得同一部门、同一角色或者同一用户组的不同用户对应有不同的目标权限,进而可拓展工作流执行方法的适用性。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其它的附图。

图1为一个实施例中工作流执行方法的流程示意图;

图2为一个实施例中工作流执行装置的结构示意图;

图3为一个实施例中计算机设备的内部结构图。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

在一个实施例中,本申请的工作流执行方法可以应用于具备数据处理功能的计算机设备,本文所述的计算机设备包括但不限于单个服务器、服务器集群、笔记本电脑和台式电脑等设备。

在一个实施例中,本申请提供了一种工作流执行方法。如图1所示,该方法具体可以包括如下步骤:

S102:接收工作流执行请求。

其中,工作流执行请求是指用于请求执行特定工作流的信息。可以理解,本申请的为便于说明,下述以查看考勤规则的工作流作为示例进行描述。

S104:确定所述工作流执行请求对应的请求发起用户的用户标识。

其中,请求发起用户是指发送该工作流执行请求的用户。用户标识可用于唯一地标识每个用户,也即任意两个用户具备不同的用户标识。

计算机设备在接收到工作流执行请求的情况下,可以获取请求发起用户的用户标识,以便于确定请求发起用户的唯一标识。进一步地,工作流执行请求可以包括请求发起用户的用户标识,计算机设备可从工作流执行请求中提取得出。或者,计算机设备可以确定发送该工作流执行请求的设备标识,并据此确定请求发起用户并确定请求发起用户的用户标识。

S106:根据所述用户标识和所述工作流执行请求的执行内容,查询所述请求发起用户对于所述执行内容的各个执行权限;其中,各个所述执行权限是依据所述请求发起用户的所属组织和所属角色预先配置的。

其中,工作流执行请求的执行内容是指该工作流执行请求所请求执行的具体任务内容。例如,当工作流执行请求用于请求查看考勤规则时,则执行内容可以为查询考勤规则。

具体而言,计算机设备可以根据请求发起用户的唯一标识和工作流执行请求的执行内容,查询请求发起用户对于执行内容的各个执行权限。其中,每个执行权限用于反映请求发起用户是否具备执行该执行内容的权限,例如是被具备查询考勤规则的权限。

由于用户的执行权限是根据请求发起用户的所属组织和所属角色预先配置的,因此,对于同一执行内容,任意两个属于不同组织或者不同角色的用户可能具备不同的权限。换言之,对于任意两个用户而言,若这两个用户所属组织相同(如属于同一部门)且所属角色不同,则这两个用户对于同一执行内容的各个执行权限可以存在部分不同或全部不同。

由于用户的执行权限是根据请求发起用户的所属组织和所属角色预先配置的,因此,对于同一执行内容,请求发起用户可以被配置有多个执行权限,且任意两个执行权限之间可能相同,也可能不同。例如,依据请求发起用户的所属组织,请求发起用户被配置有禁止查询考勤规则的权限;依据请求发起用户的所属角色,请求发起用户被配置有允许查询考勤规则的权限。

在其中一个实施例中,所述根据所述用户标识和所述工作流执行请求的执行内容,查询所述请求发起用户对于所述执行内容的各个执行权限的步骤,包括:

步骤A1:基于所述用户标识,确定所述请求发起用户所对应的组织角色标识;

步骤A2:根据所述组织角色标识和所述执行内容,查询所述请求发起用户对于所述执行内容的各个执行权限。

具体而言,在查询请求发起用户对于执行内容的各个执行权限的过程中,计算机设备可以首先基于请求发起用户的用户标识,确定请求发起用户对应的组织角色标识。该组织角色标识用于指示请求发起用户所述的组织以及所属的角色。在确定组织角色标识的情况下,计算机设备可以根据该组织角色标识和执行内容进行权限查询,以同时根据请求发起用户对应的所属组织和所属角色确定其被配置有的各个执行权限。如此,可全面查询请求发起用户对于执行内容的各个执行权限。

进一步地,依据具体设置的不同,请求发起用户的组织角色标识至少存在以下三种情况:

(1)组织角色标识只包括组织标识,也即请求发起用户只被配置了所属组织,而未被配置所属角色;

(2)组织角色标识只包括角色标识,也即请求发起用户只被配置了所属角色,而未被配置所属组织;

(3)组织角色标识包括组织标识和角色标识,也即请求发起用户同时被配置了所属组织和所属角色。

针对第(1)种情况,计算机设备可以根据组织标识和执行内容进行权限查询。针对第(2)种情况,计算机设备可以根据角色标识和执行内容进行权限查询。针对第(3)种情况,计算机设备可以根据组织标识和执行内容进行权限查询,以确定请求发起用户所属组织被配置的权限,以及计算机设备可以根据角色标识和执行内容进行权限查询,以确定请求发起用户所属角色被配置的权限。也即,在第(3)种情况中,请求发起用户的各个执行权限既包括所属组织所对应的执行权限,又包括了所属角色所对应的执行权限。

S108:当所述请求发起用户对应有多个所述执行权限时,确定权限优先级,并按照所述权限优先级在各个所述执行权限中确定目标权限。

具体而言,针对执行内容,请求发起用户可以对应有一个或多个执行权限。当请求发起用户对应有多个执行权限时,计算机设备可以确定多个执行权限的权限优先级,以明确每个执行权限的先后次序。在其中一个实施例中,权限优先级可以是预先设置的,在此情况下,计算机设备可以直接获取预设的权限优先级。

在确定权限优先级后,计算机设备可以按照权限优先级在各个执行权限中确定目标权限,该目标权限用于判断请求发起用户是否允许执行工作流执行请求对应的执行内容。例如,计算机设备可以将各个执行权限中,最高优先级对应的执行权限作为该目标权限。

在其中一个实施例中,所述确定权限优先级的步骤可以包括:

步骤B1:分别确定每个所述执行权限对应的配置来源项;

步骤B2:根据各个所述配置来源项和预设的来源优先级,确定各个所述执行权限的所述权限优先级。

具体地,在确定多个执行权限的权限优先级时,计算机设备分别确定每个执行权限所对应的配置来源项。其中,执行权限对应的配置来源项是指用于配置该执行权限的配置项。计算机设备可预先设有来源优先级,该来源优先级是指各个配置项的优先级,例如,第一配置项的优先级高于第二配置项的优先级。在得到各个配置来源项后,计算机设备可以依据预设的来源优先级,确定各个配置来源项的优先次序,并据此得到各个执行权限的权限优先级。进一步地,各个执行权限的权限优先级与各个配置来源项的优先次序可以相同。

本申请根据各个执行权限的配置来源项的来源优先级确定各个执行权限的权限优先级,在执行权限发生变更的情况下,无需手动配置各个执行权限的权限优先级,既可以减少人工配置导致的配置错误,又可提供配置的便捷性。

进一步地,所述根据各个所述配置来源项和预设的来源优先级,确定各个所述执行权限的所述权限优先级的步骤,包括:若各个所述配置来源项包括优先权限配置项和普通权限配置项,则所述优先权限配置项对应的执行权限的优先级先于所述普通权限配置项对应的执行权限的优先级。

换言之,配置项可至少被划分为两类,分别是优先权限配置项和普通权限配置项。其中,优先权限配置项的来源优先级优先于普通权限配置项的来源优先级。当请求发起用户被配置有多个执行权限,且部分执行权限是经由优先权限配置项所配置的,另一部分的执行权限是经由普通权限配置项所配置的,那么经由优先权限配置项配置的执行权限具备较高的权限优先级,经由普通权限配置项的执行权限具备较低的权限优先级。如此,计算机设备会优先以经由优先权限配置项配置的执行权限作为目标权限,并执行后续操作。

S110:根据所述目标权限生成所述工作流执行请求对应的执行结果。

具体而言,由于目标权限可用于判断请求发起用户是否允许执行工作流执行请求对应的执行内容,因此,在确定请求发起用户对应的目标权限时,计算机设备可以根据目标权限生成工作流执行请求对应的执行结果。进一步地,在得到执行结果后,计算机设备可以向请求发起用户返回该执行结果。

在其中一个实施例中,所述根据所述目标权限生成所述工作流执行请求对应的执行结果的步骤,包括:在所述目标权限为允许执行权限的情况下,响应所述工作流执行请求以得到所述执行结果;在所述目标权限为禁止执行权限的情况下,将空信息或告警信息作为所述执行结果。

当目标权限为允许执行权限时,表明请求发起用户被允许执行工作流执行请求对应的执行内容,在此情况下,计算机设备可以响应工作流执行请求,以执行工作流执行请求所对应的执行内容并得到执行结果。例如,当工作流执行请求用于请求查看考勤规则时,在确定目标权限为允许执行权限的情况下,计算机设备可以获取考勤规则的规则内容。

当目标权限为禁止执行权限时,表明请求发起用户不被允许执行工作流执行请求所对应的执行内容。因此,计算机设备无需执行相应的执行内容,并可以将空信息(NULL)或者告警信息作为执行结果,以避免请求发起用户获取权限外的信息或者执行权限外的操作,从而实现可靠的权限控制。

在本申请的工作流执行方法中,在接收到工作流执行请求的情况下,计算机设备可根据请求发起用户的用户标识和工作流执行请求的执行内容,查询请求发起用户的各个执行权限。由于请求发起用户的各个执行权限是依据所属部门和所属角色预先配置的,因此,对于同个工作流,若任意两个用户的所属部门不同和/或所属角色不同,则该两个用户所对应的各个执行权限也可以有所不同。当计算机设备按照权限优先级确定目标权限后,该两个用户对应的目标权限也可以不同。由此可见,本申请可结合多个维度来实现权限控制,使得同一部门、同一角色或者同一用户组的不同用户对应有不同的目标权限,进而可拓展工作流执行方法的适用性。

下面对本申请实施例提供的工作流执行装置进行描述,下文描述的工作流执行装置与上文描述的工作流执行方法可相互对应参照。

在一个实施例中,本申请提供了一种工作流执行装置200。如图2所示,该装置200具体包括请求接收模块210、用户标识确定模块220、权限查询模块230、目标权限确定模块240和执行结果获取模块250。其中:

请求接收模块210,用于接收工作流执行请求;

用户标识确定模块220,用于确定所述工作流执行请求对应的请求发起用户的用户标识;

权限查询模块230,用于根据所述用户标识和所述工作流执行请求的执行内容,查询所述请求发起用户对于所述执行内容的各个执行权限;其中,各个所述执行权限是依据所述请求发起用户的所属组织和所属角色预先配置的;

目标权限确定模块240,用于当所述请求发起用户对应有多个所述执行权限时,确定权限优先级,并按照所述权限优先级在各个所述执行权限中确定目标权限;

执行结果获取模块250,用于根据所述目标权限生成所述工作流执行请求对应的执行结果。

在一个实施例中,所述目标权限确定模块240包括来源项确定单元和权限优先级确定单元。其中,来源项确定单元,用于分别确定每个所述执行权限对应的配置来源项。权限优先级确定单元,用于根据各个所述配置来源项和预设的来源优先级,确定各个所述执行权限的所述权限优先级。

在一个实施例中,本申请的权限优先级确定单元包括高优先级确定单元。该高优先级确定单元用于在各个所述配置来源项包括优先权限配置项和普通权限配置项的情况下,所述优先权限配置项对应的执行权限的优先级先于所述普通权限配置项对应的执行权限的优先级。

在一个实施例中,本申请的权限查询模块230包括组织角色标识确定单元和查询单元。其中,组织角色标识确定单元用于基于所述用户标识,确定所述请求发起用户所对应的组织角色标识。查询单元用于根据所述组织角色标识和所述执行内容,查询所述请求发起用户对于所述执行内容的各个执行权限。

在一个实施例中,执行结果获取模块250包括响应单元和不响应单元。其中,响应单元用于在所述目标权限为允许执行权限的情况下,响应所述工作流执行请求以得到所述执行结果。不响应单元用于在所述目标权限为禁止执行权限的情况下,将空信息或告警信息作为所述执行结果。

在一个实施例中,本申请的工作流执行装置200还包括结果返回模块。该结果返回模块用于向所述请求发起用户返回所述执行结果。

在一个实施例中,本申请还提供了一种存储介质,所述存储介质中存储有计算机可读指令,所述计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行上述任意实施例所述工作流执行方法的步骤。

在一个实施例中,本申请还提供了一种计算机设备。所述计算机设备中存储有计算机可读指令,所述计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行上述任意实施例中所述工作流执行方法的步骤。

示意性地,图3为本申请实施例提供的一种计算机设备的内部结构示意图,在一个示例中,该计算机设备可以为服务器。参照图3,计算机设备900包括处理组件902,其进一步包括一个或多个处理器,以及由存储器901所代表的存储器资源,用于存储可由处理组件902的执行的指令,例如应用程序。存储器901中存储的应用程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理组件902被配置为执行指令,以执行上述任意实施例所述工作流执行方法的步骤。

计算机设备900还可以包括一个电源组件903被配置为执行计算机设备900的电源管理,一个有线或无线网络接口904被配置为将计算机设备900连接到网络,和一个输入输出(I/O)接口905。计算机设备900可以操作基于存储在存储器901的操作系统,例如WindowsServer TM、Mac OS XTM、Unix TM、Linux TM、Free BSDTM或类似。

本领域技术人员可以理解,本申请示出的计算机设备的内部结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。

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

本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间可以根据需要进行组合,且相同相似部分互相参见即可。

对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

相关技术
  • 工作流中办理人员确定方法及装置、计算机设备及存储介质
  • 任务执行方法、装置、电子设备及计算机可读存储介质
  • 异步执行智能合约的方法、装置、计算机设备及存储介质
  • 日程表执行方法、装置、设备及计算机可读存储介质
  • 一种浴室加热装置和用于控制浴室加热装置的方法、设备、电子设备及计算机可读存储介质
  • 工作流执行方法、装置、计算机设备和存储介质
  • 工作流执行方法、装置、计算机设备和存储介质
技术分类

06120116072152