CN113762702A - 工作流部署方法、装置、计算机系统和可读存储介质 - Google Patents
工作流部署方法、装置、计算机系统和可读存储介质 Download PDFInfo
- Publication number
- CN113762702A CN113762702A CN202110421348.8A CN202110421348A CN113762702A CN 113762702 A CN113762702 A CN 113762702A CN 202110421348 A CN202110421348 A CN 202110421348A CN 113762702 A CN113762702 A CN 113762702A
- Authority
- CN
- China
- Prior art keywords
- target
- workflow
- character
- determining
- task
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 162
- 230000008569 process Effects 0.000 claims abstract description 109
- 238000004590 computer program Methods 0.000 claims abstract description 26
- 238000013507 mapping Methods 0.000 claims description 32
- 238000012544 monitoring process Methods 0.000 claims description 22
- 230000006870 function Effects 0.000 claims description 19
- 238000012545 processing Methods 0.000 claims description 14
- 238000012552 review Methods 0.000 claims description 12
- 230000015654 memory Effects 0.000 claims description 11
- 238000012360 testing method Methods 0.000 claims description 8
- 238000012550 audit Methods 0.000 claims description 7
- 238000010586 diagram Methods 0.000 description 19
- 230000000977 initiatory effect Effects 0.000 description 11
- 238000012423 maintenance Methods 0.000 description 11
- 238000004891 communication Methods 0.000 description 8
- 238000003908 quality control method Methods 0.000 description 6
- 230000000694 effects Effects 0.000 description 4
- 238000007726 management method Methods 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000010276 construction Methods 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000004806 packaging method and process Methods 0.000 description 2
- 239000000758 substrate Substances 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 229910003460 diamond Inorganic materials 0.000 description 1
- 239000010432 diamond Substances 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q10/063—Operations research, analysis or management
- G06Q10/0631—Resource planning, allocation, distributing or scheduling for enterprises or organisations
- G06Q10/06316—Sequencing of tasks or work
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/10—Office automation; Time management
- G06Q10/103—Workflow collaboration or project management
Landscapes
- Business, Economics & Management (AREA)
- Human Resources & Organizations (AREA)
- Engineering & Computer Science (AREA)
- Strategic Management (AREA)
- Entrepreneurship & Innovation (AREA)
- Economics (AREA)
- General Business, Economics & Management (AREA)
- Marketing (AREA)
- Operations Research (AREA)
- Quality & Reliability (AREA)
- Tourism & Hospitality (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Development Economics (AREA)
- Educational Administration (AREA)
- Game Theory and Decision Science (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本公开提供了一种工作流部署方法、工作流部署装置、计算机系统、计算机可读存储介质和计算机程序产品。其中,工作流部署方法包括:获取目标工作流中的目标任务节点,其中,目标工作流中包括多个任务节点;获取在目标业务系统中针对目标工作流预设的流程变量,其中,流程变量为编码得到的字符串,字符串的编码长度等于多个任务节点的个数,流程变量中的每个字符与多个任务节点中的每个任务节点一一对应;从流程变量中确定与目标任务节点对应的目标字符;以及利用目标字符确定目标任务节点的审核方式,以实现对目标工作流的部署,其中,审核方式包括机器自动审核或人工审核。
Description
技术领域
本公开涉及计算机技术领域,更具体地,涉及一种工作流部署方法、工作流部署装置、计算机系统、计算机可读存储介质和计算机程序产品。
背景技术
工作流,是对工作流程及其各操作步骤之间业务规则的抽象、概括、描述。工作流建模,即将工作流程中的工作如何前后组织在一起的逻辑和规则在计算机中以恰当的模型进行表示并对其实施计算。
随着计算机技术的发展,越来越多的业务流程通过建模的方式进行部署,并以最终部署得到的流程图的形式进行展示并投入使用。而建模的过程不可避免的需要结合建模工具(如工作流引擎框架等)来实现。
在实现本公开构思的过程中,发明人发现相关技术中至少存在如下问题,基于现有的工作流引擎框架部署得到的工作流的流程图结构复杂,维护难度高。
发明内容
有鉴于此,本公开提供了一种工作流部署方法、工作流部署装置、计算机系统、计算机可读存储介质和计算机程序产品。
本公开的一个方面提供了一种工作流部署方法,包括:获取目标工作流中的目标任务节点,其中,所述目标工作流中包括多个任务节点;获取在目标业务系统中针对所述目标工作流预设的流程变量,其中,所述流程变量为编码得到的字符串,所述字符串的编码长度等于所述多个任务节点的个数,所述流程变量中的每个字符与所述多个任务节点中的每个任务节点一一对应;从所述流程变量中确定与所述目标任务节点对应的目标字符;以及利用目标字符确定所述目标任务节点的审核方式,以实现对所述目标工作流的部署,其中,所述审核方式包括机器自动审核或人工审核。
根据本公开的实施例,每个所述任务节点均配置有监听功能,利用所述目标字符确定所述目标任务节点的审核方式包括:利用所述监听功能监听所述目标字符;在所述目标字符为第一预设字符的情况下,确定与所述目标字符对应的第一目标任务节点为机器自动审核,并流转到下一个目标字符为第二目标字符时对应的第二目标任务节点处;以及在所述目标字符为所述第二目标字符的情况下,将所述第二目标任务节点对应的任务进行可视化展示,以进行人工审核。
根据本公开的实施例,在所述获取目标工作流中的目标任务节点之前,还包括:获取用于表征工作流的不同类型的键值和用于表征同一类型工作流的不同版本的标识值;获取用于表征与所述目标业务系统对应的工作流的目标键值和目标标识值;以及根据所述目标键值或所述目标标识值确定所述目标工作流。
根据本公开的实施例,所述用于表征工作流的不同类型的键值和用于表征同一类型工作流的不同版本的标识值存储于映射表中,根据所述目标键值或所述目标标识值确定所述目标工作流包括:确定与所述目标业务系统对应的工作流的运行环境;在所述运行环境为预发布环境的情况下,根据所述目标键值确定所述目标工作流;在所述运行环境为线上环境或测试环境的情况下,判断所述目标键值在所述映射表内是否存在对应的目标标识值;在所述目标键值在所述映射表内存在对应的目标标识值的情况下,根据所述目标标识值确定所述目标工作流;以及在所述目标键值在所述映射表内不存在对应的目标标识值的情况下,根据所述目标键值的目标版本确定所述目标工作流。
根据本公开的实施例,上述工作流部署方法还包括:确定用于存储需要人工审核的第一任务节点对应的数据的目标数据库;获取需要自动审核的第二任务节点对应的历史数据;以及将所述历史数据异构存储至与所述目标数据库不同的其他数据库中。
本公开的另一个方面提供了一种工作流部署装置,包括:第一获取模块,用于获取与目标工作流相关的多个任务节点;第二获取模块,用于获取在目标业务系统中针对所述目标工作流预设的流程变量,其中,所述流程变量为编码得到的字符串,所述字符串的编码长度等于所述多个任务节点的个数,所述流程变量中的每个字符与所述多个任务节点中的每个任务节点一一对应;第一确定模块,用于从所述流程变量中确定与所述目标任务节点对应的目标字符;以及第二确定模块,用于利用所述流程变量的字符确定每个所述任务节点的审核方式,以实现对所述目标工作流的部署,其中,所述审核方式包括机器自动审核或人工审核。
根据本公开的实施例,每个所述任务节点均配置有监听功能,所述第二确定模块包括:监听单元,用于利用所述监听功能监听目标字符;第一审核单元,用于在所述目标字符为第一预设字符的情况下,确定与所述目标字符对应的第一目标任务节点为机器自动审核,并流转到下一个目标字符为第二目标字符时对应的第二目标任务节点处;以及第二审核单元,用于在所述目标字符为所述第二目标字符的情况下,将所述第二目标任务节点对应的任务进行可视化展示,以进行人工审核。
本公开的另一方面提供了一种计算机系统,包括:一个或多个处理器;存储器,用于存储一个或多个程序,其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如上所述的工作流部署方法。
本公开的另一方面提供了一种计算机可读存储介质,其上存储有计算机可执行指令,所述指令在被执行时用于实现如上所述的工作流部署方法。
本公开的另一方面提供了一种计算机程序产品,所述计算机程序产品包括计算机可执行指令,所述指令在被执行时用于实现如上所述的工作流部署方法。
根据本公开的实施例,通过采用了获取目标工作流中的目标任务节点,其中,目标工作流中包括多个任务节点;获取在目标业务系统中针对目标工作流预设的流程变量,其中,流程变量为编码得到的字符串,字符串的编码长度等于多个任务节点的个数,流程变量中的每个字符与多个任务节点中的每个任务节点一一对应;从流程变量中确定与目标任务节点对应的目标字符;以及利用目标字符确定目标任务节点的审核方式,以实现对目标工作流的部署,其中,审核方式包括机器自动审核或人工审核的技术手段,由于可以利用流程变量的字符确定任务节点的审核方式,无需繁杂的网关节点的部署,所以至少部分地克服了使用网关节点进行工作流部署时得到的流程图结构复杂、维护难度高的技术问题,进而达到了实现一种简化流程图的工作流部署方法的技术效果。
附图说明
通过以下参照附图对本公开实施例的描述,本公开的上述以及其他目的、特征和优点将更为清楚,在附图中:
图1示意性示出了根据本公开实施例的可以应用工作流部署方法的示例性系统架构;
图2示意性示出了根据本公开实施例的工作流部署方法的流程图;
图3示意性示出了利用传统工作流引擎框架对实际业务流程进行建模后得到的流程图形式的工作流的部署结果;
图4示意性示出了根据本公开实施例的垂直投影方案的实现原理图;
图5示意性示出了根据本公开实施例的针对目标工作流的部署结果;
图6示意性示出了根据本公开实施例的用于维护流程部署id的映射表结构;
图7示意性示出了根据本公开实施例的工作流实时部署全流程的示意图;
图8示意性示出了根据本公开实施例的关系型数据库异构数据副本的示例图;
图9示意性示出了根据本公开实施例的对部分历史数据异构数据副本进行存储的方案的示意图;
图10示意性示出了根据本公开的实施例的工作流部署装置的框图;以及
图11示意性示出了根据本公开实施例的适于实现工作流部署方法的计算机系统的框图。
具体实施方式
以下,将参照附图来描述本公开的实施例。但是应该理解,这些描述只是示例性的,而并非要限制本公开的范围。在下面的详细描述中,为便于解释,阐述了许多具体的细节以提供对本公开实施例的全面理解。然而,明显地,一个或多个实施例在没有这些具体细节的情况下也可以被实施。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本公开的概念。
在此使用的术语仅仅是为了描述具体实施例,而并非意在限制本公开。在此使用的术语“包括”、“包含”等表明了所述特征、步骤、操作和/或部件的存在,但是并不排除存在或添加一个或多个其他特征、步骤、操作或部件。
在此使用的所有术语(包括技术和科学术语)具有本领域技术人员通常所理解的含义,除非另外定义。应注意,这里使用的术语应解释为具有与本说明书的上下文相一致的含义,而不应以理想化或过于刻板的方式来解释。
在使用类似于“A、B和C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有A、B和C中至少一个的系统”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B、C的系统等)。在使用类似于“A、B或C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有A、B或C中至少一个的系统”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B、C的系统等)。
当下最流行的工作流引擎框架是Activiti(一种基于BPMN协议的流程引擎),它是基于Apache许可的开源BPM(Business Process Management,业务流程管理)平台,覆盖了业务流程管理、工作流、服务协作等领域的一个开源的、灵活的、易扩展的可执行流程语言框架。
以Activiti工作流为例,部署得到的流程图中可能存在复杂流程,复杂流程指线上运行的流程存在诸多条件分支,目前现有的流程图的部署中针对复杂流程的简化方案主要表现为在流程图上绘制网关分支流,即前述条件分支由网关(网关可以消费也可以生成token。网关的类型例如可以包括排他网关、并行网关、包含网关、事件网关等)生成,网关的判定条件由客户端决定,条件网关随需求迭代不断累加,从而使客户端调用时在不同的网关条件下走不同的审核流程。目前现有的流程图部署方案主要表现为非实时部署,非实时部署主要通过processDefinitionKey(流程图的标识)部署,每次流程的发起由processDefinitionKey的最新版本决定。
发明人在实现本公开构思的过程中发现,通过在流程图上增加网关来兼容不同条件的分支流程的复杂流程解决方案,虽然可以解决复杂流程,但条件网关过多会导致流程图庞杂,加大后续流程图维护及修改的难度。同时,网关分支的增加会导致重复分支流增加,进而导致流程图的节点复杂度呈指数级增长,提高流程图的复杂度,使流程图显得过于繁重,使而且会影响到后续流程图的修改。并且,还会增加测试回归流程的难度和工作量。
发明人在实现本公开构思的过程中还发现,通过processDefinitionKey部署,发起流程通过processDefinitionKey标识,每次默认都以当前标识的最新版本发起流程的工作流部署方案,虽然能够实现更新流程图的替换动作,但在线上数据源没有隔离的情况下,需要做数据源隔离或更换processDefinitionKey作为验证Key,否则在验证阶段就会使线上正常流量走到新的流程,风险较大。同时,上线流程繁琐,每次修改流程图上线都会对线上产生影响,且需要调用方配合,不够灵活。
本公开的实施例提供了一种工作流部署方法、工作流部署装置、计算机系统、计算机可读存储介质和计算机程序产品。该方法包括获取目标工作流中的目标任务节点,其中,目标工作流中包括多个任务节点;获取在目标业务系统中针对目标工作流预设的流程变量,其中,流程变量为编码得到的字符串,字符串的编码长度等于多个任务节点的个数,流程变量中的每个字符与多个任务节点中的每个任务节点一一对应;从流程变量中确定与目标任务节点对应的目标字符;以及利用目标字符确定目标任务节点的审核方式,以实现对目标工作流的部署,其中,审核方式包括机器自动审核或人工审核。
图1示意性示出了根据本公开实施例的可以应用工作流部署方法的示例性系统架构100。需要注意的是,图1所示仅为可以应用本公开实施例的系统架构的示例,以帮助本领域技术人员理解本公开的技术内容,但并不意味着本公开实施例不可以用于其他设备、系统、环境或场景。
如图1所示,根据该实施例的系统架构100可以包括终端设备101、102、103,网络104和服务器105。网络104用以在终端设备101、102、103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线和/或无线通信链路等等。
用户可以使用终端设备101、102、103通过网络104与服务器105交互,以接收或发送消息等。终端设备101、102、103上可以安装有各种通讯客户端应用,例如购物类应用、网页浏览器应用、搜索类应用、即时通信工具、邮箱客户端和/或社交平台软件等。
终端设备101、102、103可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。
服务器105可以是提供各种服务的服务器,例如对用户利用终端设备101、102、103所浏览的网站提供支持的后台管理服务器。后台管理服务器可以对接收到的用户请求等数据进行分析等处理,并将处理结果(例如根据用户请求获取或生成的网页、信息、或数据等)反馈给终端设备。
需要说明的是,本公开实施例所提供的工作流部署方法一般可以由服务器105执行。相应地,本公开实施例所提供的工作流部署装置一般可以设置于服务器105中。本公开实施例所提供的工作流部署方法也可以由不同于服务器105且能够与终端设备101、102、103和/或服务器105通信的服务器或服务器集群执行。相应地,本公开实施例所提供的工作流部署装置也可以设置于不同于服务器105且能够与终端设备101、102、103和/或服务器105通信的服务器或服务器集群中。或者,本公开实施例所提供的工作流部署方法也可以由终端设备101、102、或103执行,或者也可以由不同于终端设备101、102、或103的其他终端设备执行。相应地,本公开实施例所提供的工作流部署装置也可以设置于终端设备101、102、或103中,或设置于不同于终端设备101、102、或103的其他终端设备中。
例如,任务节点可以原本存储在终端设备101、102、或103中的任意一个(例如,终端设备101,但不限于此)之中,或者存储在外部存储设备上并可以导入到终端设备101中。然后,终端设备101可以在本地执行本公开实施例所提供的工作流部署方法,或者将任务节点发送到其他终端设备、服务器、或服务器集群,并由接收该任务节点的其他终端设备、服务器、或服务器集群来执行本公开实施例所提供的工作流部署方法。
应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
图2示意性示出了根据本公开实施例的工作流部署方法的流程图。
如图2所示,该方法包括操作S201~S204。
在操作S201,获取目标工作流中的目标任务节点,其中,目标工作流中包括多个任务节点。
根据本公开的实施例,上述目标工作流例如可以为与实际业务流程相关的工作流或是利用传统工作流引擎框架对实际业务流程进行建模后得到的流程图形式的工作流,上述目标任务节点例如可以为上述多个任务节点中的任意一个任务节点。实际业务流程例如以商品采购的审核流程为例,上述多个任务节点例如可以包括采销、采销经理、采销总监、质控经理以及质控总监等的审核过程构成的审核节点。实际业务流程例如以商品佣金的审核流程为例,上述多个任务节点例如可以包括渠道经理、渠道总监等的审核过程构成的审核节点。
图3示意性示出了利用传统工作流引擎框架对实际业务流程进行建模后得到的流程图形式的工作流的部署结果。
如图3所示,例如为利用Activiti工作流引擎框架对上述示意业务流程进行建模后得到的Activiti工作流,其中,圆角矩形(如采销、采销经理、采销总监、质控经理(全渠道)以及质控总监(全渠道)等)对应的节点例如即可表征上述多个任务节点,内部包含有一个X型小图标的菱形图形对应的节点例如可以用于表示上述网关,用来控制流程的流向,如控制流程走需要采销审核的路径或者走不需要采销审核的路径。
根据本公开的实施例,为降低图3所示的具有复杂流程图(包括多个重复的网关节点和分支流)的目标工作流的复杂度,便于后续对流程图的维护,本实施例中,针对图3中导致流程图繁琐、复杂的网关节点和分支流,使用自定义编码的方式设计得到一种垂直投影方案进行处理,如图4所示。
图4示意性示出了根据本公开实施例的垂直投影方案的实现原理图。以下结合操作S202~S204对图4所示的垂直投影方案做进一步说明。
在操作S202,获取在目标业务系统中针对目标工作流预设的流程变量,其中,流程变量为编码得到的字符串,字符串的编码长度等于多个任务节点的个数,流程变量中的每个字符与多个任务节点中的每个任务节点一一对应。
根据本公开的实施例,上述目标业务系统例如为可以触发上述目标工作流的相关业务操作、指令或该些操作、指令所对应的业务方系统,上述流程变量例如可以为业务方在触发上述目标工作流对应的流程发起时传入的变量,该变量例如可以以autoAuditFlag表示。
根据本公开的实施例,参见图4所示,以图3中矩形框内的复杂流程图为例,其中的每个网关节点例如包括了两个输出分支,则例如可以设置上述字符串中的每个字符为预设的两个字符之一(如0和1),其中例如包括了5个审核节点,则例如可以确定上述字符串的编码长度为5,从而可以得到上述autoAuditFlag的取值例如可以为由0或1组成的长度为5的字符串编码。
需要说明的是,上述字符串中的每个字符可以不限于上述预设的两个字符之一,如在上述网关节点包括三个甚至更多个输出分支的情况下,上述字符串中的字符例如可以为预设的三个或多个字符之一,每个字符可以对应于不同的输出分支。
在操作S203,从流程变量中确定与目标任务节点对应的目标字符。
根据本公开的实施例,例如可以首先根据多个任务节点的启动顺序对该多个任务节点进行排序,然后获取目标任务节点在该多个任务节点中的排序位数,之后即可根据该排序位数获取autoAuditFlag中相应位置的字符作为上述目标字符。
在操作S204,利用目标字符确定目标任务节点的审核方式,以实现对目标工作流的部署,其中,审核方式包括机器自动审核或人工审核。
根据本公开的实施例,参见图4所示,例如可以通过字符串编码中的每个字符(0或1)控制一个审核节点的审核方式(即机器自动审核或人工审核),上述机器自动审核的处理方式例如可以对应图3中复杂流程图中网关节点后不包含审核节点的输出分支对应的处理方式,上述人工审核的处理方式例如可以对应图3中复杂流程图中网关节点后包含审核节点的输出分支对应的处理方式。基于该操作实现的对上述目标工作流的部署例如可以为对上述与实际业务流程相关的工作流进行流程图形式的部署,或者也可以为对上述利用传统工作流引擎框架对实际业务流程进行建模后得到的流程图形式的工作流进行重新部署。
图5示意性示出了根据本公开实施例的针对目标工作流的部署结果。
如图5所示,例如为基于图4的垂直投影方案对图3中矩形框内的复杂流程图进行重新部署后的部署结果,该部署结果中减少了网关节点的部署,每个审核节点的执行与否(即判断通过机器自动审核还是通过人工审核的方式进行审核)均可通过autoAuditFlag对应的字符判定,简化了流程图的部署结构,降低了维护难度。
根据本公开的实施例,针对上述操作S201~S204中所述的每个任务节点,例如均可配置监听功能,上述操作S204例如可以包括:利用监听功能监听上述目标字符;在目标字符为第一预设字符的情况下,确定与目标字符对应的第一目标任务节点为机器自动审核,并流转到下一个目标字符为第二目标字符时对应的第二目标任务节点处;以及在目标字符为第二目标字符的情况下,将第二目标任务节点对应的任务进行可视化展示,以进行人工审核。
根据本公开的实施例,针对网关节点及重复分支流投影后的每个任务节点,例如均可以配置事件监听器taskListener(如包括预设的代码执行逻辑),表达式为${taskSkipListener.skip(task.id,i)},实现上述监听功能。其中,task.id表示当前任务id(即上述任务节点的唯一标识符),i表示当前任务对应的节点(即上述任务节点)在流程图(如上述利用传统工作流引擎框架对实际业务流程进行建模后得到的流程图)中的配置位置(如某任务节点在某流程图中配置于第i位),同时可对应autoAuditFlag值的下标,用于确定流程图中某个位置(如第i位)处的任务节点在autoAuditFlag中对应的(第i位)字符的值。
根据本公开的实施例,参见图4所示,例如为针对采销、采销经理、采销总监、质控经理(全渠道)以及质控总监(全渠道)等5个审核节点配置事件监听器,假设autoAuditFlag=10110,则根据事件监听器预设的代码逻辑,如对应位为0(例如可以对应为上述第一预设字符)的节点(例如可以对应为上述第一目标任务节点)生成的任务会自动审核(例如可以对应为上述机器自动审核)完成,默认流转到下一个对应位非0(例如可以对应为上述第二预设字符)的节点(例如可以对应为上述第二目标任务节点)生成任务。本实施例中,对应位非0的节点生成的任务例如可以可视化展示,针对可视化展示的结果例如可执行人工审核操作。基于该方案例如即可得到如图5所示的简化后的流程图。
通过本公开的上述实施例,结合Activiti引擎的事件监听机制,对复杂流程的网关节点采用垂直投影方法,并使用自定义编码方式去除重复分支流的绘制,得到了一种简化的工作流部署方法,使流程图的复杂度和维护难度呈指数级下降,同时可降低流程运行及维护时的风险。
根据本公开的实施例,基于Activiti工作流引擎搭建的工作流平台(如上述上述利用传统工作流引擎框架对实际业务流程进行建模后得到的流程图形式的工作流),针对发起流程按照指定processDefinitionKey的当前最新版本号(即最新版的流程图)来发起流程的现状,为实现能够在不影响用户使用的情况下对线上正在运行的流程图进行替换,本公开例如可提供一种工作流实时部署的方案,包括增加流程部署id(processDefinitionId,不同版本流程图的唯一标识)及其维护规则,以及基于该流程部署id的维护规则制定用于实现工作流实时部署全流程的部署方案。
图6示意性示出了根据本公开实施例的用于维护流程部署id的映射表结构。
根据本公开的实施例,对应于上述流程部署id的设计方案,上述工作流部署方法例如还可以包括:在上述操作S201之前,获取用于表征工作流的不同类型的键值和用于表征同一类型工作流的不同版本的标识值;获取用于表征与目标业务系统对应的工作流的目标键值和目标标识值;以及根据目标键值或目标标识值确定目标工作流。
根据本公开的实施例,上述流程部署id的维护规则例如可以包括:a.线上环境需维护指定processDefinitionKey(即上述用于表征工作流的不同类型的键值)和当前正在运行的processDefinitionId(即上述用于表征同一类型工作流的不同版本的标识值)的映射关系,映射表结构如图6所示,映射表的表名例如可以为process_definition_key_id_relation,映射表的字段例如可以包括definition_key和definition_id等字段,表示该映射表用于维护工作流流程图定义key(即processDefinitionKey)和流程图定义id(即processDefinitionId)的对应关系;b.在存在更新的流程图(即得到更新的流程部署id)上线时,需要将processDefinitionId替换成该更新后的流程部署id,以实时维护上述processDefinitionKey和processDefinitionId的映射关系。
图7示意性示出了根据本公开实施例的工作流实时部署全流程的示意图。
根据本公开的实施例,参见图6和图7所示,例如可以在数据存储层维护如图6所示的映射表process_definition_key_id_relation,并可基于上述流程部署id的维护规则及时更新映射表中definition_id的字段值,从而能够根据映射表中保存的流程图定义key和流程图定义id的关系实时确定当前可运行的最新的工作流版本,在此基础上,业务系统即可及时触发最新版本的工作流进行业务处理。
通过本公开的上述实施例,通过设计一个processDefinitionKey可以对应多个版本的流程(即processDefinitionId),并通过替换流程部署id的方式实时维护processDefinitionKey和更新的processDefinitionId的映射关系,可以达到在对线上正在运行的流程图进行替换时可不影响用户使用的目的。
根据本公开的实施例,对应于上述基于流程部署id的维护规则制定用于实现工作流实时部署全流程的部署方案,上述根据目标键值或目标标识值确定目标工作流例如可以包括:确定与目标业务系统对应的工作流的运行环境;在运行环境为预发布环境的情况下,根据目标键值确定目标工作流;在运行环境为线上环境或测试环境的情况下,判断目标键值在上述映射表内是否存在对应的目标标识值;在目标键值在映射表内存在对应的目标标识值的情况下,根据目标标识值确定目标工作流;以及在目标键值在映射表内不存在对应的目标标识值的情况下,根据目标键值的目标版本确定目标工作流。
根据本公开的实施例,参见图7所示,在构建了上述映射表的基础上,上述业务系统的发起流程例如最终为按指定processDefinitionKey对应的processDefinitionId发起,具体而言,在业务系统发起流程后,例如可以首先确定发起流程的类型,即processDefinitionKey,而最终用于实现业务处理的工作流(即上述目标工作流)的确定过程例如可以包括:判断发起流程对应的工作流的当前运行环境(如图7中的识别env),如果是预发环境,则统一按流程图定义key(即上述目标键值)发起(按最新版本);如果是测试环境或线上环境,从调用服务获取流程图定义key和流程图定义id(即上述目标标识值)的对应关系(对应图8中从数据存储层的流程图定义key和流程图定义id构成的key-value缓存服务获取流程定义key对应的流程定义id,以及判断是否存在映射关系),如果存在映射关系,则按配置的流程图定义id发起流程,如果不存在映射关系,则按当前存在的最新版本的流程图(即上述目标版本)发起流程,其中,该最新版本例如可以由工作量引擎通过相应的API接口来获取;按流程图定义id或流程图定义key发起流程后,生成对应的实例id(工作流每个活动实例的唯一标识),然后基于该实例id对应的流程完成业务处理。
通过本公开的上述实施例,建立了processDefinitionKey(流程定义key)和processDefinitionId(流程部署id)的映射关系,使得流程部署id作为线上运行版本或测试版本时,均可通过流程部署id作为发起流程的标识,达到实时部署工作流流程图以及实时修改线上运行流程的目的,降低工作流上线风险,并可有效的解耦复杂的上线流程。
根据本公开的实施例,由于关系型数据库在很多场景下都有较好的表现,比如对事物的支持、读写的高性能、数据的一致性保障方面都很完善,但是当需要隐藏用户不可见数据、对部分内容的检索、互联网高并发的查询以及海量数据方面的支持时就显得捉襟见肘。本实施例中,由于同一工作流中包含需要人工审核的任务节点和无需人工审核(即机器自动审核)的任务节点,为了对不同审核方式的任务节点的数据进行区别查找及处理,提供了一种对部分历史数据异构数据副本进行存储的方案,对应于该方案,上述工作流部署方法例如还可以包括:确定用于存储需要人工审核的第一任务节点对应的数据的目标数据库;获取需要自动审核的第二任务节点对应的历史数据;以及将历史数据异构存储至与目标数据库不同的其他数据库中。
图8示意性示出了根据本公开实施例的关系型数据库异构数据副本的示例图。
根据本公开的实施例,上述目标数据库例如可以为MySQL,上述其他数据库例如可以为不同于MySQL数据库的其它中间件系统,如Redis(Remote Dictionary Server,远程字典服务)、ES(elasticserch,一种搜索与数据分析引擎)、Hbase(一个分布式的、面向列的开源数据库)等。
图9示意性示出了根据本公开实施例的对部分历史数据异构数据副本进行存储的方案的示意图。
根据本公开的实施例,结合监听器预设的代码执行逻辑,为了保证autoAuditFlag对应位为0的节点生成的历史任务不被用户查询,例如可以将Activiti表act_hi_taskinst中的历史任务数据推送至ES中异构存储,增加写入复杂度,同时也可以提高历史数据的检索性能。本实施例中,该异构存储的实现过程例如可以包括:监听表act_hi_taskinst的binlog(日志);当有记录的End_Time_字段变化时,根据任务id查询历史任务实体,获取到对应的实例id;根据实例id获取autoAuditFlag流程变量,通过对比对应任务节点上监听器配置${taskSkipListener.skip(task.id,i)}表达式中i标识的节点位置和autoAuditFlag对应第i位值:0或1,判断是否需要推送ES存储,在一些实施例中,例如可以设定若对应位为1时需要推送ES,否则不推送(即对应位为0时不推送ES)。
根据本公开的实施例,参见图9所示,其中“监听act_hi_taskinst表的update操作”以及“End_Time_为NULL?”的过程例如可通过监听上述binlog中End_Time_字段的变化确定。在End_Time_不为NULL的情况下,例如即可表示上述有记录的End Time_字段有变化,需要根据任务id查询历史任务实体对象,包括根据实例id获取autoAuditFlag变量,以及解析任务对应节点监听器表达式、获取任务对应节点配置的位标,以能够根据位标i获取autoAuditFlag第i位的值flag,并在flag为1时组装数据推送ES,在flag不为1(如为0)时执行丢弃(即不推送)操作。需要说明的是,在End_Time_为NULL的情况下,例如即可表示上述有记录的End_Time_字段无变化,此时对相应的任务节点的数据例如可以直接执行该丢弃操作。
通过本公开的上述实施例,由于对Activiti历史数据异构了数据副本,可以过滤掉不需要展示的历史数据(如自动审核节点对应的任务数据)。
通过本公开的上述实施例,例如可以针对实际业务系统的工作流或Activiti工作流的部署采用上述流程实时部署方案、复杂流程图垂直投影方案和异构数据源方案,达到简化和优化流程图部署的目的。对于复杂流程图中大量网关和重复分支流的场景,例如可以使用垂直投影方案来简化流程图的绘制,对历史数据采用异构数据源,可以达到降低流程的复杂度,减小工作流上线风险,缩减测试回归量的目标。
图10示意性示出了根据本公开的实施例的工作流部署装置的框图。
如图10所示,工作流部署装置1000包括第一获取模块1010、第二获取模块1020、第一确定模块1030和第二确定模块1040。
第一获取模块1010,用于获取目标工作流中的目标任务节点,其中,目标工作流中包括多个任务节点;
第二获取模块1020,用于获取在目标业务系统中针对目标工作流预设的流程变量,其中,流程变量为编码得到的字符串,字符串的编码长度等于多个任务节点的个数,流程变量中的每个字符与多个任务节点中的每个任务节点一一对应。
第一确定模块1030,用于从流程变量中确定与目标任务节点对应的目标字符。
第二确定模块1040,用于利用目标字符确定目标任务节点的审核方式,以实现对目标工作流的部署,其中,审核方式包括机器自动审核或人工审核。
根据本公开的实施例,通过采用了获取与目标工作流相关的多个任务节点;获取在目标业务系统中针对目标工作流预设的流程变量,其中,流程变量为编码得到的字符串,字符串的编码长度等于多个任务节点的个数,流程变量中的每个字符与多个任务节点中的每个任务节点一一对应;以及利用流程变量的字符确定每个任务节点的审核方式,以实现对目标工作流的部署,其中,审核方式包括机器自动审核或人工审核的技术手段,由于可以利用流程变量的字符确定任务节点的审核方式,无需繁杂的网关节点的部署,所以至少部分地克服了使用网关节点进行工作流部署时得到的流程图结构复杂、维护难度高的技术问题,进而达到了实现一种简化流程图的工作流部署方法的技术效果。
根据本公开的实施例,上述每个任务节点均配置有监听功能,上述第二确定模块包括监听单元、第一审核单元和第二审核单元。
监听单元,用于利用监听功能监听目标字符。
第一审核单元,用于在目标字符为第一预设字符的情况下,确定与目标字符对应的第一目标任务节点为机器自动审核,并流转到下一个目标字符为第二目标字符时对应的第二目标任务节点处。
第二审核单元,用于在目标字符为第二目标字符的情况下,将第二目标任务节点对应的任务进行可视化展示,以进行人工审核。
根据本公开的实施例,上述工作流部署装置还包括第三获取模块、第四获取模块和第三确定模块,设置于上述第一获取模块之前。
第三获取模块,用于获取用于表征工作流的不同类型的键值和用于表征同一类型工作流的不同版本的标识值。
第四获取模块,用于获取用于表征与目标业务系统对应的工作流的目标键值和目标标识值。
第三确定模块,用于根据目标键值或目标标识值确定目标工作流。
根据本公开的实施例,上述用于表征工作流的不同类型的键值和用于表征同一类型工作流的不同版本的标识值存储于映射表中,上述第三确定模块包括第一确定单元、第二确定单元、判断单元、第三确定单元和第四确定单元。
第一确定单元,用于确定与目标业务系统对应的工作流的运行环境。
第二确定单元,用于在运行环境为预发布环境的情况下,根据目标键值确定目标工作流。
判断单元,用于在运行环境为线上环境或测试环境的情况下,判断目标键值在映射表内是否存在对应的目标标识值。
第三确定单元,用于在目标键值在映射表内存在对应的目标标识值的情况下,根据目标标识值确定目标工作流。
第四确定单元,用于在目标键值在映射表内不存在对应的目标标识值的情况下,根据目标键值的目标版本确定目标工作流。
根据本公开的实施例,上述工作流部署装置还包括第四确定模块、第五获取模块和存储模块。
第四确定模块,用于确定用于存储需要人工审核的第一任务节点对应的数据的目标数据库。
第五获取模块,用于获取需要自动审核的第二任务节点对应的历史数据。
存储模块,用于将历史数据异构存储至与目标数据库不同的其他数据库中。
根据本公开的实施例的模块、单元中的任意多个、或其中任意多个的至少部分功能可以在一个模块中实现。根据本公开实施例的模块、单元中的任意一个或多个可以被拆分成多个模块来实现。根据本公开实施例的模块、单元中的任意一个或多个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上系统、基板上的系统、封装上的系统、专用集成电路(ASIC),或可以通过对电路进行集成或封装的任何其他的合理方式的硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,根据本公开实施例的模块、单元中的一个或多个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
例如,第一获取模块1010、第二获取模块1020和第一确定模块1030中的任意多个可以合并在一个模块/单元中实现,或者其中的任意一个模块/单元可以被拆分成多个模块/单元。或者,这些模块/单元中的一个或多个模块/单元的至少部分功能可以与其他模块/单元的至少部分功能相结合,并在一个模块/单元中实现。根据本公开的实施例,第一获取模块1010、第二获取模块1020和第一确定模块1030中的至少一个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上系统、基板上的系统、封装上的系统、专用集成电路(ASIC),或可以通过对电路进行集成或封装的任何其他的合理方式等硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,第一获取模块1010、第二获取模块1020和第一确定模块1030中的至少一个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
需要说明的是,本公开的实施例中工作流部署装置部分与本公开的实施例中工作流部署方法部分是相对应的,工作流部署装置部分的描述具体参考工作流部署方法部分,在此不再赘述。
图11示意性示出了根据本公开实施例的适于实现工作流部署方法的计算机系统的框图。图11示出的计算机系统仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图11所示,根据本公开实施例的计算机系统1100包括处理器1101,其可以根据存储在只读存储器(ROM)1102中的程序或者从存储部分1108加载到随机访问存储器(RAM)1103中的程序而执行各种适当的动作和处理。处理器1101例如可以包括通用微处理器(例如CPU)、指令集处理器和/或相关芯片组和/或专用微处理器(例如,专用集成电路(ASIC)),等等。处理器1101还可以包括用于缓存用途的板载存储器。处理器1101可以包括用于执行根据本公开实施例的方法流程的不同动作的单一处理单元或者是多个处理单元。
在RAM 1103中,存储有系统1100操作所需的各种程序和数据。处理器1101、ROM1102以及RAM1103通过总线1104彼此相连。处理器1101通过执行ROM 1102和/或RAM1103中的程序来执行根据本公开实施例的方法流程的各种操作。需要注意,所述程序也可以存储在除ROM 1102和RAM 1103以外的一个或多个存储器中。处理器1101也可以通过执行存储在所述一个或多个存储器中的程序来执行根据本公开实施例的方法流程的各种操作。
根据本公开的实施例,系统1100还可以包括输入/输出(I/O)接口1105,输入/输出(I/O)接口1105也连接至总线1104。系统1100还可以包括连接至I/O接口1105的以下部件中的一项或多项:包括键盘、鼠标等的输入部分1106;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分1107;包括硬盘等的存储部分1108;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分1109。通信部分1109经由诸如因特网的网络执行通信处理。驱动器1110也根据需要连接至I/O接口1105。可拆卸介质1111,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器1110上,以便于从其上读出的计算机程序根据需要被安装入存储部分1108。
根据本公开的实施例,根据本公开实施例的方法流程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读存储介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分1109从网络上被下载和安装,和/或从可拆卸介质1111被安装。在该计算机程序被处理器1101执行时,执行本公开实施例的系统中限定的上述功能。根据本公开的实施例,上文描述的系统、设备、装置、模块、单元等可以通过计算机程序模块来实现。
本公开还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中描述的设备/装置/系统中所包含的;也可以是单独存在,而未装配入该设备/装置/系统中。上述计算机可读存储介质承载有一个或者多个程序,当上述一个或者多个程序被执行时,实现根据本公开实施例的方法。
根据本公开的实施例,计算机可读存储介质可以是非易失性的计算机可读存储介质。例如可以包括但不限于:便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
例如,根据本公开的实施例,计算机可读存储介质可以包括上文描述的ROM 1102和/或RAM 1103和/或ROM1102和RAM 1103以外的一个或多个存储器。
本公开的实施例还包括一种计算机程序产品,其包括计算机程序,该计算机程序包含用于执行本公开实施例所提供的方法的程序代码,当计算机程序产品在电子设备上运行时,该程序代码用于使电子设备实现本公开实施例所提供的工作流部署方法。
在该计算机程序被处理器1101执行时,执行本公开实施例的系统/装置中限定的上述功能。根据本公开的实施例,上文描述的系统、装置、模块、单元等可以通过计算机程序模块来实现。
在一种实施例中,该计算机程序可以依托于光存储器件、磁存储器件等有形存储介质。在另一种实施例中,该计算机程序也可以在网络介质上以信号的形式进行传输、分发,并通过通信部分1109被下载和安装,和/或从可拆卸介质1111被安装。该计算机程序包含的程序代码可以用任何适当的网络介质传输,包括但不限于:无线、有线等等,或者上述的任意合适的组合。
根据本公开的实施例,可以以一种或多种程序设计语言的任意组合来编写用于执行本公开实施例提供的计算机程序的程序代码,具体地,可以利用高级过程和/或面向对象的编程语言、和/或汇编/机器语言来实施这些计算程序。程序设计语言包括但不限于诸如Java,C++,python,“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。本领域技术人员可以理解,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合,即使这样的组合或结合没有明确记载于本公开中。特别地,在不脱离本公开精神和教导的情况下,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合。所有这些组合和/或结合均落入本公开的范围。
以上对本公开的实施例进行了描述。但是,这些实施例仅仅是为了说明的目的,而并非为了限制本公开的范围。尽管在以上分别描述了各实施例,但是这并不意味着各个实施例中的措施不能有利地结合使用。本公开的范围由所附权利要求及其等同物限定。不脱离本公开的范围,本领域技术人员可以做出多种替代和修改,这些替代和修改都应落在本公开的范围之内。
Claims (10)
1.一种工作流部署方法,包括:
获取目标工作流中的目标任务节点,其中,所述目标工作流中包括多个任务节点;
获取在目标业务系统中针对所述目标工作流预设的流程变量,其中,所述流程变量为编码得到的字符串,所述字符串的编码长度等于所述多个任务节点的个数,所述流程变量中的每个字符与所述多个任务节点中的每个任务节点一一对应;
从所述流程变量中确定与所述目标任务节点对应的目标字符;以及
利用所述目标字符确定所述目标任务节点的审核方式,以实现对所述目标工作流的部署,其中,所述审核方式包括机器自动审核或人工审核。
2.根据权利要求1所述的方法,其中,每个所述任务节点均配置有监听功能,利用所述目标字符确定所述目标任务节点的审核方式包括:
利用所述监听功能监听所述目标字符;
在所述目标字符为第一预设字符的情况下,确定与所述目标字符对应的第一目标任务节点为机器自动审核,并流转到下一个目标字符为第二目标字符时对应的第二目标任务节点处;以及
在所述目标字符为所述第二目标字符的情况下,将所述第二目标任务节点对应的任务进行可视化展示,以进行人工审核。
3.根据权利要求1所述的方法,其中,在所述获取目标工作流中的目标任务节点之前,还包括:
获取用于表征工作流的不同类型的键值和用于表征同一类型工作流的不同版本的标识值;
获取用于表征与所述目标业务系统对应的工作流的目标键值和目标标识值;以及
根据所述目标键值或所述目标标识值确定所述目标工作流。
4.根据权利要求3所述的方法,其中,所述用于表征工作流的不同类型的键值和用于表征同一类型工作流的不同版本的标识值存储于映射表中,根据所述目标键值或所述目标标识值确定所述目标工作流包括:
确定与所述目标业务系统对应的工作流的运行环境;
在所述运行环境为预发布环境的情况下,根据所述目标键值确定所述目标工作流;
在所述运行环境为线上环境或测试环境的情况下,判断所述目标键值在所述映射表内是否存在对应的目标标识值;
在所述目标键值在所述映射表内存在对应的目标标识值的情况下,根据所述目标标识值确定所述目标工作流;以及
在所述目标键值在所述映射表内不存在对应的目标标识值的情况下,根据所述目标键值的目标版本确定所述目标工作流。
5.根据权利要求1所述的方法,还包括:
确定用于存储需要人工审核的第一任务节点对应的数据的目标数据库;
获取需要自动审核的第二任务节点对应的历史数据;以及
将所述历史数据异构存储至与所述目标数据库不同的其他数据库中。
6.一种工作流部署装置,包括:
第一获取模块,用于获取与目标工作流相关的多个任务节点;
第二获取模块,用于获取在目标业务系统中针对所述目标工作流预设的流程变量,其中,所述流程变量为编码得到的字符串,所述字符串的编码长度等于所述多个任务节点的个数,所述流程变量中的每个字符与所述多个任务节点中的每个任务节点一一对应;
第一确定模块,用于从所述流程变量中确定与所述目标任务节点对应的目标字符;以及
第二确定模块,用于利用所述流程变量的字符确定每个所述任务节点的审核方式,以实现对所述目标工作流的部署,其中,所述审核方式包括机器自动审核或人工审核。
7.根据权利要求6所述的装置,其中,每个所述任务节点均配置有监听功能,所述第二确定模块包括:
监听单元,用于利用所述监听功能监听目标字符;
第一审核单元,用于在所述目标字符为第一预设字符的情况下,确定与所述目标字符对应的第一目标任务节点为机器自动审核,并流转到下一个目标字符为第二目标字符时对应的第二目标任务节点处;以及
第二审核单元,用于在所述目标字符为所述第二目标字符的情况下,将所述第二目标任务节点对应的任务进行可视化展示,以进行人工审核。
8.一种计算机系统,包括:
一个或多个处理器;
存储器,用于存储一个或多个程序,
其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现权利要求1至5中任一项所述的方法。
9.一种计算机可读存储介质,其上存储有可执行指令,该指令被处理器执行时使处理器实现权利要求1至5中任一项所述的方法。
10.一种计算机程序产品,包括计算机可执行指令,所述指令在被执行时用于实现权利要求1至5中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110421348.8A CN113762702A (zh) | 2021-04-19 | 2021-04-19 | 工作流部署方法、装置、计算机系统和可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110421348.8A CN113762702A (zh) | 2021-04-19 | 2021-04-19 | 工作流部署方法、装置、计算机系统和可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113762702A true CN113762702A (zh) | 2021-12-07 |
Family
ID=78786852
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110421348.8A Pending CN113762702A (zh) | 2021-04-19 | 2021-04-19 | 工作流部署方法、装置、计算机系统和可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113762702A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116192594A (zh) * | 2023-04-21 | 2023-05-30 | 北京炎黄新星网络科技有限公司 | 业务流程编排组件的管理方法及系统 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101630385A (zh) * | 2009-07-31 | 2010-01-20 | 福州星网视易信息系统有限公司 | 通过简单的配置项实现多级审核工作流功能的实现方法 |
CN104796261A (zh) * | 2015-04-16 | 2015-07-22 | 长安大学 | 一种网络终端节点的安全接入管控系统及方法 |
US20150302335A1 (en) * | 2014-04-16 | 2015-10-22 | Richard Unda | System and method for evaluating leadership abilities and identifying leadership talent among users and organizations in a social network |
CN105844422A (zh) * | 2016-04-01 | 2016-08-10 | 阿里巴巴集团控股有限公司 | 一种业务流程执行方法及装置 |
CN108268592A (zh) * | 2017-12-08 | 2018-07-10 | 中国平安财产保险股份有限公司 | 基于json数据的筛选方法、装置、服务器和存储介质 |
CN109101267A (zh) * | 2018-07-31 | 2018-12-28 | 上海携程金融信息服务有限公司 | 应用发布管理方法、装置、电子设备、存储介质 |
CN109472540A (zh) * | 2017-09-07 | 2019-03-15 | 北京京东尚科信息技术有限公司 | 业务处理方法和装置 |
CN110580308A (zh) * | 2018-05-22 | 2019-12-17 | 北京京东振世信息技术有限公司 | 信息审核方法及装置、电子设备、存储介质 |
CN110955534A (zh) * | 2019-10-10 | 2020-04-03 | 荣邦科技有限公司 | 一种基于中间件的业务流程自动化系统及方法 |
-
2021
- 2021-04-19 CN CN202110421348.8A patent/CN113762702A/zh active Pending
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101630385A (zh) * | 2009-07-31 | 2010-01-20 | 福州星网视易信息系统有限公司 | 通过简单的配置项实现多级审核工作流功能的实现方法 |
US20150302335A1 (en) * | 2014-04-16 | 2015-10-22 | Richard Unda | System and method for evaluating leadership abilities and identifying leadership talent among users and organizations in a social network |
CN104796261A (zh) * | 2015-04-16 | 2015-07-22 | 长安大学 | 一种网络终端节点的安全接入管控系统及方法 |
CN105844422A (zh) * | 2016-04-01 | 2016-08-10 | 阿里巴巴集团控股有限公司 | 一种业务流程执行方法及装置 |
CN109472540A (zh) * | 2017-09-07 | 2019-03-15 | 北京京东尚科信息技术有限公司 | 业务处理方法和装置 |
CN108268592A (zh) * | 2017-12-08 | 2018-07-10 | 中国平安财产保险股份有限公司 | 基于json数据的筛选方法、装置、服务器和存储介质 |
CN110580308A (zh) * | 2018-05-22 | 2019-12-17 | 北京京东振世信息技术有限公司 | 信息审核方法及装置、电子设备、存储介质 |
CN109101267A (zh) * | 2018-07-31 | 2018-12-28 | 上海携程金融信息服务有限公司 | 应用发布管理方法、装置、电子设备、存储介质 |
CN110955534A (zh) * | 2019-10-10 | 2020-04-03 | 荣邦科技有限公司 | 一种基于中间件的业务流程自动化系统及方法 |
Non-Patent Citations (2)
Title |
---|
LAI XIN 等: "" Cryptographic Workflow Key Encapsulation Mechanism Based on Signcryption"", 《JOURNAL OF SOFTWARE 》, vol. 20, no. 10, 31 October 2009 (2009-10-31), pages 2810 - 2821 * |
张欣星 等: ""基于数据库实现工作流管理系统的研究"", 《电脑知识与技术》, vol. 6, no. 28, 5 October 2010 (2010-10-05), pages 7892 - 7897 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116192594A (zh) * | 2023-04-21 | 2023-05-30 | 北京炎黄新星网络科技有限公司 | 业务流程编排组件的管理方法及系统 |
CN116192594B (zh) * | 2023-04-21 | 2023-07-11 | 北京炎黄新星网络科技有限公司 | 业务流程编排组件的管理方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11755461B2 (en) | Asynchronous consumer-driven contract testing in micro service architecture | |
US10235160B2 (en) | Controlled deployment of application feature | |
US8881127B2 (en) | Systems and methods to automatically generate classes from API source code | |
US20130166602A1 (en) | Cloud-enabled business object modeling | |
US10261808B2 (en) | Access operation with dynamic linking and access of data within plural data sources | |
US20170351506A1 (en) | Automating feature graduation | |
US10725795B2 (en) | Systems, methods, and apparatuses for dynamic creation of an external code segment within a cloud based computing environment | |
CN108108986B (zh) | 一种客户关系管理系统的设计方法、装置及电子设备 | |
CN111125064B (zh) | 一种生成数据库模式定义语句的方法和装置 | |
CN111913885A (zh) | 日志处理方法、装置、计算机可读存储介质及设备 | |
US20150019284A1 (en) | Dynamically modifying business processes based on real-time events | |
CN113762702A (zh) | 工作流部署方法、装置、计算机系统和可读存储介质 | |
CN113032256A (zh) | 自动化测试方法、装置、计算机系统和可读存储介质 | |
US20200410394A1 (en) | Predicting future actions during visual data cleaning | |
WO2023116003A1 (zh) | 数据处理方法、装置、设备、存储介质及计算机程序产品 | |
CN115794858A (zh) | 查询语句处理方法、装置、设备及存储介质 | |
CN115760013A (zh) | 运维模型的构建方法、装置、电子设备及存储介质 | |
US8615744B2 (en) | Methods and system for managing assets in programming code translation | |
US11521089B2 (en) | In-database predictive pipeline incremental engine | |
CN113468244A (zh) | 大气环境污染源管理系统、方法、电子设备及存储介质 | |
TWI620134B (zh) | 整合裝置及其整合方法 | |
US12072857B2 (en) | Automation of master data processes with user-centric management of derivation rules | |
CN111177183B (zh) | 一种生成数据库访问语句的方法和装置 | |
CN113918996B (zh) | 分布式数据处理方法、装置、计算机设备和存储介质 | |
US20230137566A1 (en) | Systems and methods for automated change review for enhanced network and data security |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |