CN111178777A - 一种工作流与业务系统交互的方法 - Google Patents

一种工作流与业务系统交互的方法 Download PDF

Info

Publication number
CN111178777A
CN111178777A CN201911426074.0A CN201911426074A CN111178777A CN 111178777 A CN111178777 A CN 111178777A CN 201911426074 A CN201911426074 A CN 201911426074A CN 111178777 A CN111178777 A CN 111178777A
Authority
CN
China
Prior art keywords
node
processing
task
interaction mechanism
server
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.)
Granted
Application number
CN201911426074.0A
Other languages
English (en)
Other versions
CN111178777B (zh
Inventor
周群辉
刘远荣
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen Idreamsky Technology Co ltd
Original Assignee
Shenzhen Idreamsky Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shenzhen Idreamsky Technology Co ltd filed Critical Shenzhen Idreamsky Technology Co ltd
Priority to CN201911426074.0A priority Critical patent/CN111178777B/zh
Publication of CN111178777A publication Critical patent/CN111178777A/zh
Application granted granted Critical
Publication of CN111178777B publication Critical patent/CN111178777B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0631Resource planning, allocation, distributing or scheduling for enterprises or organisations
    • G06Q10/06316Sequencing of tasks or work
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5038Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0633Workflow analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Administration; Management
    • G06Q10/10Office automation; Time management
    • G06Q10/103Workflow collaboration or project management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Administration; Management
    • G06Q10/10Office automation; Time management
    • G06Q10/109Time management, e.g. calendars, reminders, meetings or time accounting
    • G06Q10/1091Recording time for administrative or management purposes

Landscapes

  • Business, Economics & Management (AREA)
  • Engineering & Computer Science (AREA)
  • Human Resources & Organizations (AREA)
  • Strategic Management (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Economics (AREA)
  • General Business, Economics & Management (AREA)
  • Software Systems (AREA)
  • Marketing (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • Tourism & Hospitality (AREA)
  • Educational Administration (AREA)
  • Data Mining & Analysis (AREA)
  • Development Economics (AREA)
  • General Engineering & Computer Science (AREA)
  • Game Theory and Decision Science (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本申请提供了一种工作流节点与外部系统交互的方法,该方法包括:设置工作流节点交互机制;其中,所述交互机制包括节点处理完成交互机制和节点重置交互机制;接收任务事项,确认具体的工作流;所述任务事项包括多个任务节点;获取第一节点和所述第一节点处理状态;所述第一节点处理状态为处理完成和/或节点重置;若所述第一节点处理状态为处理完成,则触发所述节点处理完成交互机制,执行第一任务;若所述第一节点处理状态为节点重置,则触发所述节点重置交互机制,撤回第一任务。该方法通过重置交互机制,支持节点数据撤回,使流程事物更加灵活,提高了流程事物处理效率。

Description

一种工作流与业务系统交互的方法
技术领域
本申请涉及信息处理技术领域,尤其涉及一种工作流与外部系统交互的方法。
背景技术
业务系统在处理部分现有的业务过程中,随着工作流的进行,业务系欸但往往需要与业务系统进行数据交互,例如完成员工请假的业务系统。
现有的业务系统与流程系统对接时,流程系统将数据发送至业务系统,业务系统预先对流程事项进行处理。若发现流程中某些数据有误,需要将流程打回修改节点数据或者撤销重新发起流程,业务系统预先已经处理了流程事项,流程打回或重新发起流程会导致业务系统重复执行任务。
例如业务系统与请假流程系统对接时,业务系统会预先扣除请假人的假期,若发现请假人提交的信息有误,申请人在重新提交请假流程时会导致业务系统重复扣除申请人的假期,导致假期被重复扣除。
发明内容
为了克服现有技术的不足,本发明的目的在于提供一种工作流节点与外部系统交互的方法,该方法通过重置交互机制,支持节点数据撤回,使流程事物更加灵活,提高了流程事务处理效率。
第一方面,本申请提供一种工作流与业务系统交互的方法,包括:
流程服务器接收任务事项,其中,所述任务事项包括有多个任务,不同的任务由不同的任务节点进行处理;
所述流程服务器获取多个任务节点的处理状态;其中,所述处理状态包括处理完成、节点重置和未处理完成;
所述流程服务器根据所述多个任务节点的处理状态,从所述多个任务节点中确定出第一节点;其中,所述第一节点的处理状态为处理完成或节点重置;
所述流程服务器发送第一请求给所述业务服务器;其中,所述第一请求,用于请求所述业务服务器在所述第一节点的处理状态为节点重置时撤回所述第一任务,在所述第一节点的处理状态为处理完成时执行所述第一节点对应的第一任务。
在一种可能的实现方式中,在所述流程服务器接收任务事项之前,所述方法还包括:
所述流程服务器接收用户的第一操作;
所述流程服务器响应于用户的第一操作,设置所述任务事项中所述多个任务节点的交互机制;所述交互机制包括节点处理完成交互机制和节点重置交互机制;其中,所述节点处理完成交互机制用于触发所述业务服务器执行任务,所述节点重置交互机制同于触发所述业务服务器撤回已执行的任务。
在一种可能的实现方式中,所述方法还包括:
所述节点重置包括节点打回、工作流废弃、节点重复提交其中的任意一个。
在一种可能的实现方式中,所述在所述第一节点的处理状态为处理完成时执行所述第一节点对应的第一任务具体包括:
所述流程服务器获取所述第一节点的网络地址和交互配置信息;其中,所述交互配置信息包括所述第一节点的数据字段;
所述流程服务器将所述交互配置信息通过所述网络地址发送至所述业务服务器;
所述业务系统接收并响应所述交互配置信息,执行第一任务。
在一种可能的实现方式中,所述在所述第一节点的处理状态为节点重置时撤回所述第一任务具体包括:
所述流程服务器获取当前节点;
若节点打回导致所述第一节点的处理状态为所述节点重置,所述方法包括:
所述流程服务器获取所述第一节点和所述当前节点之间的节点列表L1;
所述流程服务器获取所述节点列表L1中已触发节点处理完成交互机制的节点列表L2;
所述业务服务器对所述节点列表L2中的节点依次执行所述节点重置交互机制;
若工作流废弃导致所述第一节点的处理状态为所述节点重置,具体包括:
所述流程服务器获取所述工作流中已触发所述节点处理完成交互机制的节点列表L3;
所述业务服务器对所述节点列表L3中的节点依次执行所述节点重置交互机制;
若节点重复提交触发所述第一节点的处理状态为所述节点重置,具体包括:
所述流程服务器判断所述第一节点是否已触发过所述节点处理完成交互机制;
所述业务服务器对触发所述第一节点执行所述节点重置交互机制;
所述流程服务器判断所述第一节点是否配置所述节点处理完成交互机制;
所述业务服务器触发所述第一节点执行所述节点处理完成交互机制。
第二方面,本申请提供一种工作流与业务系统交互的装置,包括:
第一接收单元,用于流程服务器接收任务事项,其中,所述任务事项包括有多个任务,不同的任务由不同的任务节点进行处理;
第一获取单元,用于所述流程服务器获取所述多个任务节点的处理状态;其中,所述处理状态包括处理完成、节点重置和未处理完成;
确定单元,用于所述流程服务器根据所述多个任务节点的处理状态,从所述多个任务节点中确定出第一节点;其中,所述第一节点的处理状态为处理完成或节点重置;
第一处理单元,用于所述流程服务器发送第一请求给所述业务服务器;其中,所述第一请求,用于请求所述业务服务器在所述第一节点的处理状态为节点重置时撤回所述第一任务,在所述第一节点的处理状态为处理完成时执行所述第一节点对应的第一任务。
在一种可能的实现方式中,所述在第一接收单元之前还包括:
第二接收单元,用于流程服务器接收用户的第一操作;
第二处理单元,用于流程服务器响应于用户的第一操作,设置所述任务事项中所述多个任务节点的交互机制;所述交互机制包括节点处理完成交互机制和节点重置交互机制;其中,所述节点处理完成交互机制用于触发所述业务服务器执行任务,所述节点重置交互机制同于触发所述业务服务器撤回已执行的任务在一种可能的实现方式中,所述系统还包括:
在一种可能的实现方式中,所述装置还包括:
所述节点重置包括节点打回、工作流废弃、节点重复提交其中的任意一个。
在一种可能的实现方式中,所述装置还包括:
第二获取单元,用于所述流程服务器获取所述第一节点的网络地址和交互配置信息;其中,所述交互配置信息包括所述第一节点的数据字段;
发送单元,用于所述流程服务器将所述交互配置信息通过所述网络地址发送至所述业务服务器;
第三处理单元,用于所述业务服务器接收并响应所述交互配置信息,执行第一任务。
在一种可能的实现方式中,所述装置还包括:
第三获取单元,用于所述流程服务器获取当前节点;
若节点打回导致所述第一节点的处理状态为所述节点重置,所述装置包括:
第四获取单元,用于所述流程服务器获取所述第一节点和所述当前节点之间的节点列表L1;
第五获取单元,用于所述流程服务器获取所述节点列表L1中已触发节点处理完成交互机制的节点列表L2;
第四处理单元,用于所述业务服务器对所述节点列表L2中的节点依次执行所述节点重置交互机制;
若工作流废弃导致所述第一节点的处理状态为所述节点重置,所述装置包括:
第六获取单元,用于所述流程服务器获取所述工作流中已触发所述节点处理完成交互机制的节点列表L3;
第五处理单元,用于所述业务服务器对所述节点列表L3中的节点依次执行所述节点重置交互机制;
若节点重复提交触发所述第一节点的处理状态为所述节点重置,所述装置包括:
第七获取单元,用于所述流程服务器判断所述第一节点是否已触发过所述节点处理完成交互机制;
第六处理单元,用于所述业务服务器对触发所述第一节点执行所述节点重置交互机制;
第八获取单元,用于所述流程服务器判断所述第一节点是否配置所述节点处理完成交互机制;
第七处理单元,用于所述业务服务器触发所述第一节点执行所述节点处理完成交互机制。
第三方面,本申请提供一种交互装置,其特征在于,包括:一个或多个处理器、一个或多个存储器、收发器;所述一个或多个存储器与所述一个或多个处理器耦合,所述一个或多个存储器用于存储计算机程序代码,所述计算机程序代码包括计算机指令,当所述一个或多个处理器执行所述计算机指令时,执行上述任一方面任一可能的实现方式。
第四方面,本申请提供一种计算机存储介质,其特征在于,包括计算机指令,当所述计算机指令运行时,所述计算机指令执行上述任一方面任一可能的实现方式。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。
其中:
图1为本申请实施例提供的一种网络架构示意图;
图2为本申请实施例提供的一种节点处理完成交互机制交互示意图;
图3为本申请实施例提供的一种节点重置交互机制交互示意图;
图4为本申请实施例提供的一种方法流程图;
图5为本申请实施例提供的一种工作流的流程图;
图6为本申请实施例提供的一种节点交互配置界面;
图7为本申请实施例提供的一种参数名示意图;
图8-图9为本申请实施例提供的一种工作流节点操作示意图;
图10为本申请实施例提供的一种工作流与业务系统交互的装置图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
还应当进一步理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
本发明提供的一种工作节点与外部系统交互方法,包括流程服务器接收任务事项,其中,所述任务事项包括有多个任务,不同的任务由不同的任务节点进行处理;所述流程服务器获取多个任务节点的处理状态;其中,所述处理状态包括处理完成、节点重置和未处理完成;所述流程服务器根据所述多个任务节点的处理状态,从所述多个任务节点中确定出第一节点;其中,所述第一节点的处理状态为处理完成或节点重置;所述流程服务器发送第一请求给所述业务服务器;其中,所述第一请求,用于请求所述业务服务器在所述第一节点的处理状态为节点重置时撤回所述第一任务,在所述第一节点的处理状态为处理完成时执行所述第一节点对应的第一任务。
该方法通过重置交互机制,支持节点数据撤回,使流程事物更加灵活,提高了流程事务处理效率。
首先,介绍本申请实施例提供的一种工作节点与外部系统交互方法的网络架构示意图。如图1所示,该网络架构100可以包括终端101、流程服务器102和业务服务器103。
终端101可以诸如智能手机、电脑、个人数字助理(Personal Digital Assistant,PDA)之类的实现。
这里,终端可以安装有客户端。用户可以通过此客户端查看和/或处理工作流中的节点任务。
其中,工作流即工作流程,工作流解决的主要问题是为了完成一个事务或任务,需要按一定工序完成一组相关的子任务,子任务即节点任务,每一个节点分配的有至少一个处理人,处理人通过终端里的客户端,即可查看和/或处理节点任务。
具体的,客户端可以包括:本地运行的应用程序、运行于网络浏览器上的功能(又称为Web App)、嵌入于电子邮件中的小程序、嵌入于即时通讯的客户端软件(如微信(WeChat))中的小程序,以及嵌入在其他应用程序(如WeChat)中的功能(如微信公众号)等。对于客户端,服务器需要运行有相应的服务器端程序来提供相应的服务,如数据库服务,数据计算、决策执行等等。
服务器在网络中为其他设备提供计算或者应用服务。
业务服务器103用于接收流程服务器102发送的数据并执行相关的任务。流程服务器102用于发送节点数据至业务服务器103并控制工作流的流转。
实质上,工作流中的各个节点数据与业务系统进行数据通信,是通过给工作流中的各个节点设置网络地址,节点数据通过网络地址和业务系统进行数据通信。
这里,网络地址只是一种交互介质,还可以是其他的交互介质,在这里不应构成限定。
具体的,可以有两种交互机制:节点处理完成交互机制和节点重置交互机制。
对于节点处理完成交互机制,当工作流中的某个节点被节点处理人处理完成并提交至下一个节点处理人时,触发节点处理完成交互机制。
参见图2,为节点处理完成交互机制交互示意图。
S201、节点X的节点任务处理完成。
S202、流程服务器记录流程参数。
这里,流程参数为节点X的所有数据字段。数据字段为节点表单的输入属性。
例如,在请假流程中,节点X为请假流程申请人,申请人提交了请假单,请假单的数据字段包括姓名、工号、部门、休假类型、休假开始时间、假截止时间、休假时长,那么节点X的数据字段就是上述请假单的数据字段。
流程服务器保存并记录下此流程参数。
S203、流程服务器将流程参数发送至业务服务器。
业务服务器接收流程服务器发送的节点X的流程参数,并根据工作流和流程参数执行对应的任务操作。
例如,业务服务器接收流程服务器发送的请假流程参数,业务服务器根据请假申请人的请假流程参数预扣除请假申请人的假期。
具体的,申请人一共有五天年假,申请人的休假时长是两天年假,业务服务器将根据申请人提交的请假流程,预先扣除两天年假,系统会显示申请人还剩余三天年假。
S204、业务服务器将响应结果发送至流程服务器。
S205、流程服务器执行并记录响应结果。
当业务服务器执行了对应的任务操作后,业务服务器将执行成功的信息发送至流程服务器,提示流程服务器控制流程走向下一个工作流任务节点,同时流程服务器将记录此节点进行了节点处理完成交互机制。
对于节点重置处理机制,节点重置分为三种情况:第一种是节点打回;第二种是工作流废弃;第三种是节点重复提交。
可以理解的是,对于工作流中的节点,若某一个节点触发了节点重置处理机制,则该节点必然触发了节点处理完成处理机制。
对于节点重置交互机制,如图3,为节点重置交互机制交互示意图。
S301、流程服务器获取节点X的节点处理完成交互机制的流程参数。
节点X已触发过节点处理完成交互机制,流程服务器会记录下节点X触发节点处理完成交互机制的流程参数。当节点X触发节点重置交互机制,流程服务器将获取此前已记录下来的流程参数。
S302、流程服务器将节点X的流程参数发送至业务服务器。
流程服务器将节点X的流程参数发送至业务服务器,业务服务器接收流程服务器发送的节点X的流程参数。
首先,业务服务器会判断节点X触发过节点处理完成交互机制,并已经执行过相应的节点任务。
随后,业务服务器会根据工作流和流程参数撤回已经执行过相应的节点任务。
例如,节点X在触发节点重置交互机制之前,业务服务器已扣除了假期申请人的两天年假,后续节点处理人Y发现节点X的流程参数填写有误,如请假时间填写错误。节点处理人Y将流程打回至节点X。
为了防止假期重复扣除,节点X将启动节点重置交互机制,即业务服务器将取消扣除的年假,并将假期申请人的年假恢复至五天。
S303、业务服务器响应结果发送至流程服务器。
当业务服务器执行了取消已执行节点X的任务操作后,业务服务器将取消任务成功的信息发送至流程服务器。
S304、流程服务器记录业务服务器的响应结果。
节点X的处理人将重新填写节点X的表单,并提交表单,触发节点X的节点处理完成交互机制。
为了更好的理解本申请实施例,下面结合附图和具体的实施例对本申请提供的一种工作节点与外部系统交互方法进行详细说明。
参见图4,为本申请提供的一种方法流程图。
S401、设置工作流节点交互机制。
如图5,为申请涉及的一种工作流的流程图,包括节点A、节点B、节点C、节点D。节点A、节点D的数据需要与业务系统交互;节点B、节点C的数据则不需与业务系统交互。
当节点需要与业务系统进行数据交互时,则可以对节点进行设置。
如图6,为节点交互配置界面。
节点交互配置界面包括节点处理完成控件601、节点重置控件602,流程参数控件603、节点字段选择控件604。
节点处理完成控件601、节点重置控件602可以接收用户操作对网络地址进行配置,流程系统与业务系统通过网络地址进行交互,具体是流程系统中该节点的网络地址。
流程参数控件603可以接收点击操作新增流程参数信息,流程参数信息可以包括参数名。
节点字段选择控件604可以接收点击操作选择具体的参数名。如图7所示,参数名可以是节点A/字段1、节点A/字段2、节点A/字段3等。参数名根据具体的节点确定。
S402、接收任务事项。
S403、确认当前工作流。
任务事项即触发流程服务器开启流程操作,服务器根据流程开始节点确定具体工作流。
S404、接收用户的登录信息。
S405、获取当前节点。
流程服务器接收用户的登录信息,根据用户的登录信息确认是具体哪一个工作流的节点任务处理人,以此确定当前节点。
S406、获取当前节点处理状态。
处理状态可以包括处理完成和未处理完成和节点重置,节点重置包括节点打回和节点重复提交、工作流废弃。
S407、当前节点处理状态为处理完成?
S408、当前工作流指向下一个工作节点。
若当前节点的处理状态为处理完成,则当前节点触发节点处理完成交互机制。流程服务器控制工作流节点只想下一个节点。
S409、判断是哪一类节点重置?
若当前节点的处理状态是未处理完成,则当前节点的处理状态为节点重置,则需判断节点处理状态是节点重置中的哪一个。
S410、节点打回。
对于节点打回触发节点重置。例如,工作流中的当前节点处理人发现某一节点的信息填写有误,可以将某一节点称为第一节点,那么当前节点处理人将工作流打回至第一节点。
例如,如图8、节点C的处理人,发现节点A的表单数据字段填写有误,需节点A的处理人重新填写表单,节点C将工作流退回至节点A。
S4100、获取第一节点和当前节点之间的所有节点列表L1。
S4101、找出节点列表L1中已触发过节点处理完成交互机制的所有节点列表L2。
在第一节点和当前节点之间可以包括多个节点,节点可以配置节点处理完成交互机制和/或节点重置交互机制,当节点处理人提交了节点操作,那么该节点触发节点处理完成交互机制,获取第一节点和当前节点之间配置并执行节点处理完成交互机制的所有节点。
S4102、依次遍历节点列表L2并逐个触发节点重置交互机制。
节点列表L2中的所有节点已触发节点处理完成交互机制,业务服务器已执行相应的节点任务。这里对节点列表L2中的所有节点触发节点重置交互机制是为了取消业务服务器已执行的节点任务,将节点状态恢复至未处理状态。
业务服务器会根据工作流节点和节点流程参数撤回已经执行过相应的节点任务。
例如,在请假申请中,节点X在触发节点重置交互机制之前,业务服务器已扣除了假期申请人的两天年假,后续节点处理人Y发现节点X的流程参数填写有误,如请假时间填写错误。节点处理人Y将流程打回至节点X。
为了防止假期重复扣除,节点X将启动节点重置交互机制,即业务服务器将取消扣除的年假,并将假期申请人的年假恢复至五天。
S4103、节点列表L2中的节点接收用户填写并提交节点表单操作。
节点列表L2中的所有节点触发节点重置交互机制之后,节点列表L2中的所有节点均已恢复未处理状态,节点列表L2中的所有节点接收相应的节点处理人再次填写节点表单信息和提交节点表单。
S411、工作流废弃。
在工作流的某一节点中,工作流接收用户操作撤销了此工作流,此操作将会触发工作流节点重置交互机制。
S4110、获取当前工作流中所有已触发过节点处理完成交互机制的节点列表L3。
工作流可以包括多个节点,节点可以配置节点处理完成交互机制和/或节点重置交互机制,当节点接收节点处理人提交了节点任务的操作,那么该节点触发节点处理完成交互机制。在撤销此工作流之前,可以有多个节点已触发节点处理完成交互机制,获取已执行节点处理完成交互机制的所有节点。
S4111、依次遍历节点列表L3并逐个触发节点重置交互机制。
节点列表L3中的所有节点已触发节点处理完成交互机制,业务服务器已执行相应的节点任务。这里对节点列表L3中的所有节点触发节点重置交互机制是为了取消业务服务器已执行的节点任务,将节点状态恢复至未处理状态。
业务服务器会根据工作流节点和节点流程参数撤回已经执行过相应的节点任务。
例如,在请假申请中,节点X处理人在撤销此请假流程之前,业务服务器已扣除了假期申请人的两天年假。
为了防止假期重复扣除,节点列表L3中的所有节点将启动节点重置交互机制,即业务服务器将取消扣除的年假,并将假期申请人的年假恢复至五天。
S4112、撤销工作流。
S412、节点重复提交。
也即某个节点表单已经提交并触发了节点处理完成交互机制,但是该节点再一次提交了节点表单操作,也即重复申请。
例如,如图9所示,节点A的处理人重复提交了节点A的表单申请。,则触发节点A的节点重置交互机制。
示例性的,在请假流程中,请假申请人已经提交了请假申请,但是申请人再一次提交了请假申请,业务系统将扣除申请人的两次申请假期,为了避免重复扣除,该节点将会触发节点重置交互机制。
S4120、判断当前节点是否触发过节点处理完成交互机制?
S4121、触发节点重置交互机制。
若当前节点触发过节点处理完成交互机制,则触发节点重置交互机制。
S4122、判断当前节点是否配置节点处理完成交互机制?
S4123、触发节点处理完成交互机制。
S4124、当前工作流指向下一个工作节点。
流程服务器判断当前节点是否配置了节点处理完成交互机制,若当前节点配置了节点处理完成交互机制,则触发当前节点进行节点处理完成交互机制,流程服务器并控制工作流指向下一个工作流节点。
在另一种可能的实现方式中,若当前节点触发过节点处理完成交互机制,则当前节点还需触发节点重置交互机制,接下来判断当前节点是否配置了节点处理完成交互机制,若当前节点没有配置节点处理完成交互机制,则流程服务器控制当前工作流指向下一个工作节点。
在另一种可能的实现方式中,若当前节点没有触发过节点处理完成交互机制,接下来判断当前节点是否配置了节点处理完成交互机制,若当前节点没有配置节点处理完成交互机制,则当前工作流指向下一个工作节点。
在另一种可能的实现方式中,若当前节点没有触发过节点处理完成交互机制,接下来判断当前节点是否配置了节点处理完成交互机制,若当前节点配置节点处理完成交互机制,则当前节点触发节点处理完成交互机制,流程服务器控制当前工作流指向下一个工作节点。
为了更好的理解本申请实施例,下面介绍一种工作流与业务系统交互的装置。如图10所示,包括:
第一接收单元1000,用于流程服务器接收任务事项,其中,所述任务事项包括有多个任务,不同的任务由不同的任务节点进行处理;
第一获取单元1001,用于所述流程服务器获取所述多个任务节点的处理状态;其中,所述处理状态包括处理完成、节点重置和未处理完成;
确定单元1002,用于所述流程服务器根据所述多个任务节点的处理状态,从所述多个任务节点中确定出第一节点;其中,所述第一节点的处理状态为处理完成或节点重置;
第一处理单元1003,用于所述流程服务器发送第一请求给所述业务服务器;其中,所述第一请求,用于请求所述业务服务器在所述第一节点的处理状态为节点重置时撤回所述第一任务,在所述第一节点的处理状态为处理完成时执行所述第一节点对应的第一任务。
在一种可能的实现方式中,所述在第一接收单元之前还包括:
第二接收单元,用于所述流程服务器接收用户的第一操作;
第二处理单元,用于所述流程服务器响应于用户的第一操作,设置所述任务事项中所述多个任务节点的交互机制;所述交互机制包括节点处理完成交互机制和节点重置交互机制;其中,所述节点处理完成交互机制用于触发所述业务服务器执行任务,所述节点重置交互机制同于触发所述业务服务器撤回已执行的任务。
在一种可能的实现方式中,所述装置还包括:
所述节点重置包括节点打回、工作流废弃、节点重复提交其中的任意一个。
在一种可能的实现方式中,所述装置还包括:
第二获取单元,用于所述流程服务器获取所述第一节点的网络地址和交互配置信息;其中,所述交互配置信息包括所述第一节点的数据字段;
发送单元,用于所述流程服务器将所述交互配置信息通过所述网络地址发送至所述业务服务器;
第三处理单元,用于所述业务服务器接收并响应所述交互配置信息,执行第一任务。
在一种可能的实现方式中,所述装置还包括:
第三获取单元,用于所述流程服务器获取当前节点;
若节点打回导致所述第一节点的处理状态为所述节点重置,所述装置包括:
第四获取单元,用于所述流程服务器获取所述第一节点和所述当前节点之间的节点列表L1;
第五获取单元,用于所述流程服务器获取所述节点列表L1中已触发节点处理完成交互机制的节点列表L2;
第四处理单元,用于所述业务服务器对所述节点列表L2中的节点依次执行所述节点重置交互机制;
若工作流废弃导致所述第一节点的处理状态为所述节点重置,所述装置包括:
第六获取单元,用于所述流程服务器获取所述工作流中已触发所述节点处理完成交互机制的节点列表L3;
第五处理单元,用于所述业务服务器对所述节点列表L3中的节点依次执行所述节点重置交互机制;
若节点重复提交触发所述第一节点的处理状态为所述节点重置,所述装置包括:
第七获取单元,用于所述流程服务器判断所述第一节点是否已触发过所述节点处理完成交互机制;
第六处理单元,用于所述业务服务器对触发所述第一节点执行所述节点重置交互机制;
第八获取单元,用于所述流程服务器判断所述第一节点是否配置所述节点处理完成交互机制;
第七处理单元,用于所述业务服务器触发所述第一节点执行所述节点处理完成交互机制。
下面介绍本申请实施例提供的一种交互装置,其特征在于,包括:一个或多个处理器、一个或多个存储器、收发器;所述一个或多个存储器与所述一个或多个处理器耦合,所述一个或多个存储器用于存储计算机程序代码,所述计算机程序代码包括计算机指令,当所述一个或多个处理器执行所述计算机指令时,执行上述任一方面任一可能的实现方式。
下面介绍本申请提供一种计算机存储介质,其特征在于,包括计算机指令,当所述计算机指令运行时,所述计算机指令执行上述任一方面任一可能的实现方式。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为U盘、磁碟、光盘、只读存储记忆体(Read-OnlyMemory,ROM)或随机存储记忆体(RandomAccess Memory,RAM)等。
本申请可以是系统、方法和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于使处理器实现本申请的各个方面的计算机可读程序指令。
计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。
这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理装置,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理装置中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理装置中的计算机可读存储介质中。
用于执行本申请操作的计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如Smalltalk、C++等,以及常规的过程式编程语言—诸如“C”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从而实现本申请的各个方面。
这里参照根据本申请实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本申请的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
本实施例的描述是为了示例和描述起见而给出的,而并不是无遗漏的或者将本发明限于所公开的形式。很多修改和变化对于本领域的普通技术人员而言是显然的。选择和描述实施例是为了更好说明本发明的原理和实际应用,并且使本领域的普通技术人员能够理解以上所揭露的仅为本公开较佳实施例。

Claims (10)

1.一种工作流与业务系统交互的方法,其特征在于,包括:
流程服务器接收任务事项,其中,所述任务事项包括有多个任务,不同的任务由不同的任务节点进行处理;
所述流程服务器获取多个任务节点的处理状态;其中,所述处理状态包括处理完成、节点重置和未处理完成;
所述流程服务器根据所述多个任务节点的处理状态,从所述多个任务节点中确定出第一节点;其中,所述第一节点的处理状态为处理完成或节点重置;
所述流程服务器发送第一请求给所述业务服务器;其中,所述第一请求,用于请求所述业务服务器在所述第一节点的处理状态为节点重置时撤回所述第一任务,在所述第一节点的处理状态为处理完成时执行所述第一节点对应的第一任务。
2.根据权利要求1所述的方法,其特征在于,在所述流程服务器接收任务事项之前,所述方法还包括:
所述流程服务器接收用户的第一操作;
所述流程服务器响应于用户的第一操作,设置所述任务事项中所述多个任务节点的交互机制;所述交互机制包括节点处理完成交互机制和节点重置交互机制;其中,所述节点处理完成交互机制用于触发所述业务服务器执行任务,所述节点重置交互机制同于触发所述业务服务器撤回已执行的任务。
3.根据权利要求1所述的方法,其特征在于,所述方法包括:
所述节点重置包括节点打回、工作流废弃、节点重复提交其中的任意一个。
4.根据权利要求1所述的方法,其特征在于,所述在所述第一节点的处理状态为处理完成时执行所述第一节点对应的第一任务具体包括:
所述流程服务器获取所述第一节点的网络地址和交互配置信息;其中,所述交互配置信息包括所述第一节点的数据字段;
所述流程服务器将所述交互配置信息通过所述网络地址发送至所述业务服务器;
所述业务服务器接收并响应所述交互配置信息,执行第一任务。
5.根据权利要求1所述的方法,其特征在于,所述在所述第一节点的处理状态为节点重置时撤回所述第一任务具体包括:
所述流程服务器获取当前节点;
若节点打回导致所述第一节点的处理状态为所述节点重置,所述方法包括:
所述流程服务器获取所述第一节点和所述当前节点之间的节点列表L1;
所述流程服务器获取所述节点列表L1中已触发节点处理完成交互机制的节点列表L2;
所述业务服务器对所述节点列表L2中的节点依次执行所述节点重置交互机制;
若工作流废弃导致所述第一节点的处理状态为所述节点重置,具体包括:
所述流程服务器获取所述工作流中已触发所述节点处理完成交互机制的节点列表L3;
所述业务服务器对所述节点列表L3中的节点依次执行所述节点重置交互机制;
若节点重复提交触发所述第一节点的处理状态为所述节点重置,具体包括:
所述流程服务器判断所述第一节点是否已触发过所述节点处理完成交互机制;
所述业务服务器对触发所述第一节点执行所述节点重置交互机制;
所述流程服务器判断所述第一节点是否配置所述节点处理完成交互机制;
所述业务服务器触发所述第一节点执行所述节点处理完成交互机制。
6.一种工作流与业务系统交互的装置,其特征在于,包括:
第一接收单元,用于流程服务器接收任务事项,其中,所述任务事项包括有多个任务,不同的任务由不同的任务节点进行处理;
获取单元,用于所述流程服务器获取所述多个任务节点的处理状态;其中,所述处理状态包括处理完成、节点重置和未处理完成;
确定单元,用于所述流程服务器根据所述多个任务节点的处理状态,从所述多个任务节点中确定出第一节点;其中,所述第一节点的处理状态为处理完成或节点重置;
第一处理单元,用于所述流程服务器发送第一请求给所述业务服务器;其中,所述第一请求,用于请求所述业务服务器在所述第一节点的处理状态为节点重置时撤回所述第一任务,在所述第一节点的处理状态为处理完成时执行所述第一节点对应的第一任务。
7.根据权利要求6所述的装置,其特征在于,所述在第一接收单元之前还包括:
第二接收单元,用于所述流程服务器接收用户的第一操作;
第二处理单元,用于所述流程服务器响应于用户的第一操作,设置所述任务事项中所述多个任务节点的交互机制;所述交互机制包括节点处理完成交互机制和节点重置交互机制;其中,所述节点处理完成交互机制用于触发所述业务服务器执行任务,所述节点重置交互机制同于触发所述业务服务器撤回已执行的任务。
8.根据权利要求6所述的装置,其特征在于,所述装置还包括:
所述节点重置包括节点打回、工作流废弃、节点重复提交其中的任意一个。
9.一种交互装置,其特征在于,包括:一个或多个处理器、一个或多个存储器、收发器;所述一个或多个存储器与所述一个或多个处理器耦合,所述一个或多个存储器用于存储计算机程序代码,所述计算机程序代码包括计算机指令,当所述一个或多个处理器执行所述计算机指令时,执行如权利要求1-5任一项所述的方法。
10.一种计算机存储介质,其特征在于,包括计算机指令,当所述计算机指令运行时,所述计算机指令执行如权利要求1-5任一项所述的方法。
CN201911426074.0A 2019-12-31 2019-12-31 一种工作流与业务系统交互的方法 Active CN111178777B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911426074.0A CN111178777B (zh) 2019-12-31 2019-12-31 一种工作流与业务系统交互的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911426074.0A CN111178777B (zh) 2019-12-31 2019-12-31 一种工作流与业务系统交互的方法

Publications (2)

Publication Number Publication Date
CN111178777A true CN111178777A (zh) 2020-05-19
CN111178777B CN111178777B (zh) 2024-01-30

Family

ID=70654367

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911426074.0A Active CN111178777B (zh) 2019-12-31 2019-12-31 一种工作流与业务系统交互的方法

Country Status (1)

Country Link
CN (1) CN111178777B (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030135384A1 (en) * 2001-09-27 2003-07-17 Huy Nguyen Workflow process method and system for iterative and dynamic command generation and dynamic task execution sequencing including external command generator and dynamic task execution sequencer
CN104881759A (zh) * 2015-06-23 2015-09-02 四川久远银海软件股份有限公司 一种基于工作流的业务回退集成系统及其实现方法
CN106651112A (zh) * 2016-11-01 2017-05-10 金蝶软件(中国)有限公司 一种工作流逆向审批方法和系统
WO2017125015A1 (zh) * 2016-01-18 2017-07-27 中兴通讯股份有限公司 分布式系统工作流处理方法和工作流引擎系统
CN109978290A (zh) * 2017-12-27 2019-07-05 中国移动通信集团广东有限公司 一种业务流程回退处理方法、流程引擎和业务系统

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030135384A1 (en) * 2001-09-27 2003-07-17 Huy Nguyen Workflow process method and system for iterative and dynamic command generation and dynamic task execution sequencing including external command generator and dynamic task execution sequencer
CN104881759A (zh) * 2015-06-23 2015-09-02 四川久远银海软件股份有限公司 一种基于工作流的业务回退集成系统及其实现方法
WO2017125015A1 (zh) * 2016-01-18 2017-07-27 中兴通讯股份有限公司 分布式系统工作流处理方法和工作流引擎系统
CN106651112A (zh) * 2016-11-01 2017-05-10 金蝶软件(中国)有限公司 一种工作流逆向审批方法和系统
CN109978290A (zh) * 2017-12-27 2019-07-05 中国移动通信集团广东有限公司 一种业务流程回退处理方法、流程引擎和业务系统

Also Published As

Publication number Publication date
CN111178777B (zh) 2024-01-30

Similar Documents

Publication Publication Date Title
US9904585B1 (en) Error handling in executing workflow state machines
US10379968B2 (en) Backup and restore framework for distributed computing systems
CN108369677B (zh) 用于基于对任务完成的自动化监督的服务载入的设备和方法
US20180101403A1 (en) Tiered model for event-based serverless computing
US9766927B1 (en) Data flow management in processing workflows
US10853114B2 (en) Systems and methods for executing software robot computer programs on virtual machines
US10261892B2 (en) Cloud-based automated test execution factory
CN111865629B (zh) 用于配置服务实例的方法、设备和计算机程序产品
CN110413384B (zh) 延时任务处理方法及装置、存储介质、电子设备
US20200252268A1 (en) Message queue migration on a/b release environments
US10671475B2 (en) Recovery mechanisms across storage nodes that reduce the impact on host input and output operations
CN113157482A (zh) 服务引导期间的错误处理
CN108416449B (zh) 一种运维方法和装置
US11423343B2 (en) Dynamic construction of cloud services
CN109828830B (zh) 用于管理容器的方法和装置
CN108733468A (zh) 定时任务动态配置方法及装置、存储介质及服务器集群
CN116685951A (zh) 异步分布式模块化函数调用
US9740997B2 (en) Method and system for input driven process flow management
CN111178777B (zh) 一种工作流与业务系统交互的方法
CN110928721B (zh) 任务执行方法与装置、电子设备、存储介质
US20220276901A1 (en) Batch processing management
US20220092545A1 (en) Dynamically generated task system with feedback capability
CN109933908A (zh) 一种业务节点模型保存方法、应用方法及装置
US12108487B2 (en) Matching pipeline for a communication system
CN116405384B (zh) 解决声明式api资源竞态的方法、系统、设备及存储介质

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
GR01 Patent grant
GR01 Patent grant