工作流控制方法、系统及存储介质与流程

文档序号:28272077发布日期:2021-12-31 19:58阅读:95来源:国知局
工作流控制方法、系统及存储介质与流程

1.本技术实施例涉及计算机技术领域,尤其涉及一种工作流控制方法、系统及存储介质。


背景技术:

2.以项目管理的方式管理工作任务是目前常见的工作管理模式,在各个行业得以广泛应用。项目管理需要将工作任务拆解成若干工作节点,确定每个工作节点的工作内容,并确定不同工作节点之间的工作顺序;项目管理还需要协调不同部门、不同系统之间的各类资源,以完成工作任务。
3.传统的项目管理方式是由项目经理确定工作节点及工作顺序,并人工监控工作节点的状态及工作节点之间的流转。
4.为了提高项目管理的效率,可以利用工作流引擎生成项目管理对应的工作流,并控制工作流的流转。其中,生成工作流即为每个工作节点创建工作流节点,配置工作流节点的状态,并根据工作节点之间的工作顺序确定工作流节点之间的流转关系。
5.鉴于项目管理的特点,将现有的工作流引擎引入项目管理的技术实现方案,难以实现项目管理工作流的自动流转。


技术实现要素:

6.本技术实施例提供一种工作流控制方法、系统及存储介质,以实现项目管理工作流的自动流转。
7.第一方面,本技术实施例提供一种工作流控制方法,该方法包括:
8.响应于第一外部系统的目标事件,关联模块向工作流引擎发送工作流驱动指令;
9.工作流引擎根据上述工作流驱动指令驱动工作流流转。
10.项目管理往往需要协调不同部门、系统的资源实现工作任务,因此,项目管理工作流的流转往往需要外部系统的驱动。目前的工作流分为两种类型,一种是顺序工作流,顺序工作流的流转模式是一个工作节点完成后,自动进入下一个工作节点;另一种是状态机工作流,状态机工作流采用事件触发的流转模式,其中,触发工作流流转的事件由工作流引擎配置并产生,属于工作流内部事件。顺序工作流不是由事件驱动的,状态机工作流是内部事件驱动的,哪种模式的工作流都无法响应外部系统的驱动,因此,现有的工作流引擎无法直接用于项目管理工作流的驱动管理。本技术实施例提供的方法由工作流引擎和关联模块配合实现工作流的流转驱动,由关联模块响应第一外部系统的目标事件而向工作流引擎发送工作流驱动指令,该工作流驱动指令作为触发工作流流转的事件,工作流引擎基于该工作流驱动指令驱动工作流流转。可见,引入关联模块可以使得工作流流转不仅由工作流引擎的内部事件驱动,也可以由外部系统的事件驱动,从而达到项目管理工作流自动流转的目的。
11.在上述方法实施例的基础上,关联模块还可以响应于上述工作流的第一目标工作
节点切换状态,向第二外部系统发送触发指令,所述触发指令用于指示所述第二外部系统执行目标操作。
12.本技术实施例提供的方法,外部系统不仅可以驱动工作流的流转,工作流的流转还可以驱动外部系统执行目标操作,具体的,由关联模块响应于工作流的第一目标工作节点切换状态,向第二外部系统发送触发指令,以实现工作流引擎对外部系统(该实施例中的触发响应系统)的驱动。
13.在上述任意方法实施例的基础上,关联模块向工作流引擎发送工作流驱动指令之前,还可以从预设的触发条件中查找与上述目标事件关联的目标触发条件;从预设的行为配置中查找与该目标触发条件关联的驱动行为配置,其中,驱动行为配置指示驱动上述工作流流转;根据该驱动行为配置的指示生成工作流驱动指令。
14.本技术实施例提供的方法,预先设置有多个触发条件以及多个行为配置,并根据需要预先关联其中的触发条件与行为配置。那么,当发生上述目标事件,可以通过查找该目标事件对应的目标触发条件,进而查找与该目标触发条件关联的驱动行为配置,该驱动行为配置指示驱动工作流流转,从而实现目标事件驱动工作流流转。
15.通过配置触发条件以及行为配置的方式实现目标事件对工作流的驱动,其实现方式灵活、简单。
16.在此基础上,驱动行为配置还指示目标状态流转条件已满足,目标状态流转条件包括第二目标工作节点从第一状态流转到第二状态的状态流转条件,相应的,关联模块还可以将上述目标状态流转条件标记为已满足。
17.本技术实施例中,对于工作流的工作节点,其状态之间的流转需要满足状态流转条件。实际应用中,可以将目标事件的发生配置为第二目标工作节点从第一状态流转到第二状态的状态流转条件,那么,当发生目标事件,关联模块将该状态流转条件标记为已满足。
18.在上述任意方法实施例的基础上,上述工作流引擎根据工作流驱动指令驱动工作流流转,其实现方式可以包括:接收到工作流驱动指令后,判断工作流的第三目标工作节点的当前状态到当前状态的下一状态的状态流转条件是否满足;在第三目标工作节点的当前状态到当前状态的下一状态的状态流转条件满足的情况下,将第三目标工作节点的当前状态切换为下一状态。
19.本技术实施例提供的方法,有工作流驱动指令驱动工作流流转,具体的,当需要流转的第三目标工作节点对应的状态流转条件满足,切换其状态。
20.第二方面,本技术实施例提供一种工作流控制系统,该系统包括:
21.关联模块,用于响应于第一外部系统的目标事件,向工作流引擎发送工作流驱动指令;
22.工作流引擎,用于根据所述工作流驱动指令驱动工作流流转。
23.本技术实施例提供的系统由工作流引擎和关联模块配合实现工作流的流转驱动,由关联模块响应第一外部系统的目标事件而向工作流引擎发送工作流驱动指令,该工作流驱动指令作为触发工作流流转的事件,工作流引擎基于该工作流驱动指令驱动工作流流转。可见,引入关联模块可以使得工作流流转不仅由工作流引擎的内部事件驱动,也可以由外部系统的事件驱动,从而达到项目管理工作流自动流转的目的。
24.可选的,所述关联模块还用于:响应于所述工作流的第一目标工作节点切换状态,向第二外部系统发送触发指令,所述触发指令用于指示所述第二外部系统执行目标操作。
25.本技术实施例提供的系统,外部系统不仅可以驱动工作流的流转,工作流的流转还可以驱动外部系统执行目标操作,具体的,由关联模块响应于工作流的第一目标工作节点切换状态,向第二外部系统发送触发指令,以实现工作流引擎对外部系统(该实施例中的触发响应系统)的驱动。
26.在上述任意系统实施例的基础上,关联模块还用于:从预设的触发条件中查找与上述目标事件关联的目标触发条件;从预设的行为配置中查找与该目标触发条件关联的驱动行为配置,其中,驱动行为配置指示驱动上述工作流流转;根据该驱动行为配置的指示生成工作流驱动指令。
27.本技术实施例提供的系统,预先设置有多个触发条件以及多个行为配置,并根据需要预先关联其中的触发条件与行为配置。那么,当发生上述目标事件,可以通过查找该目标事件对应的目标触发条件,进而查找与该目标触发条件关联的驱动行为配置,该驱动行为配置指示驱动工作流流转,从而实现目标事件驱动工作流流转。
28.通过配置触发条件以及行为配置的方式实现目标事件对工作流的驱动,其实现方式灵活、简单。
29.在此基础上,驱动行为配置还指示目标状态流转条件已满足,目标状态流转条件包括第二目标工作节点从第一状态流转到第二状态的状态流转条件,相应的,关联模块还可以将上述目标状态流转条件标记为已满足。
30.本技术实施例中,对于工作流的工作节点,其状态之间的流转需要满足状态流转条件。实际应用中,可以将目标事件的发生配置为第二目标工作节点从第一状态流转到第二状态的状态流转条件,那么,当发生目标事件,关联模块将该状态流转条件标记为已满足。
31.在上述任意系统实施例的基础上,上述工作流引擎具体用于:接收到工作流驱动指令后,判断工作流的第三目标工作节点的当前状态到当前状态的下一状态的状态流转条件是否满足;在第三目标工作节点的当前状态到当前状态的下一状态的状态流转条件满足的情况下,将第三目标工作节点的当前状态切换为下一状态。
32.本技术实施例提供的系统,有工作流驱动指令驱动工作流流转,具体的,当需要流转的第三目标工作节点对应的状态流转条件满足,切换其状态。
33.第三方面,本技术实施例提供一种电子系统,包括处理器和存储器;
34.存储器用于存储执行第二方面各个方法实施例所述方法的程序;处理器被配置为执行存储器中存储的程序。
35.本技术实施例提供的系统由工作流引擎和关联模块配合实现工作流的流转驱动,由关联模块响应第一外部系统的目标事件而向工作流引擎发送工作流驱动指令,该工作流驱动指令作为触发工作流流转的事件,工作流引擎基于该工作流驱动指令驱动工作流流转。可见,引入关联模块可以使得工作流流转不仅由工作流引擎的内部事件驱动,也可以由外部系统的事件驱动,从而达到项目管理工作流自动流转的目的。
36.第四方面,本技术实施例提供一种计算机可读存储介质,存储有执行第二方面各个实施例所述方法的程序。
37.本技术实施例提供的计算机可读存储介质中所保存的程序由工作流引擎和关联模块配合实现工作流的流转驱动,由关联模块响应第一外部系统的目标事件而向工作流引擎发送工作流驱动指令,该工作流驱动指令作为触发工作流流转的事件,工作流引擎基于该工作流驱动指令驱动工作流流转。可见,引入关联模块可以使得工作流流转不仅由工作流引擎的内部事件驱动,也可以由外部系统的事件驱动,从而达到项目管理工作流自动流转的目的。
附图说明
38.图1为本技术一个实施例提供的工作流控制方法流程图;
39.图2为本技术一个实施例提供的工作流示意图;
40.图3为本技术另一个实施例提供的工作流控制方法流程图;
41.图4为本技术一个实施例提供的工作流控制系统框图。
具体实施方式
42.为了更好的理解上述技术方案,下面通过附图以及具体实施例对本技术实施例的技术方案做详细的说明,应当理解本技术实施例以及实施例中的具体特征是对本技术实施例技术方案的详细的说明,而不是对本技术技术方案的限定,在不冲突的情况下,本技术实施例以及实施例中的技术特征可以相互组合。
43.本技术实施例中,工作流包括存在执行时序关系的多个工作节点,执行时序相邻的两个工作节点中,时序在前的工作节点为父工作节点,时序在后的工作节点为子工作节点,一个子工作节点可以有多个父工作节点。
44.每个工作节点配置有如下属性信息:
45.状态(state):每个工作节点可以有多个状态,其中,每个工作节点均需要配置有初始状态和终止状态,除此之外,还可以根据需要配置初始状态和终止状态之间的至少一个状态。
46.驱动事件(event):每个工作节点响应为其配置的驱动事件,作为举例而非限定,驱动事件可以包括:状态流转、状态强制流转、状态回退等等;其中,外部系统驱动对应的是状态流转这一驱动事件。
47.状态流转条件(guard):每个工作节点的每两个状态对应有状态流转条件,在某个状态下,只有满足状态流转条件,工作节点才可以该状态切换到下一个状态。
48.节点行为(node action):当工作节点从指定状态发生转移或者转移到指定状态,执行该节点行为,以实现相应的功能。其中,该节点行为可以是触发外部系统执行目标操作。
49.本技术实施例提供一种工作流控制系统,该系统包括工作流引擎和关联模块。
50.其中,工作流引擎用于控制上述工作流的流转,关联模块用于响应于外部系统的触发而驱动工作流引擎工作,可选的,关联模块还可以用于响应工作流的流转而触发外部系统执行目标操作。
51.相应的,本技术实施例提供一种工作流控制方法,如图1所示,该方法包括如下操作:
52.步骤101、响应于第一外部系统的目标事件,关联模块向工作流引擎发送工作流驱动指令。
53.其中,第一外部系统可以但不仅限于是邮件系统、即时通讯系统、软件开发系统等等。
54.其中,可以由第一外部系统向关联模块通知目标事件的发生,也可以由关联模块主动监听第一外部系统是否有目标事件发生。
55.步骤102、工作流引擎根据上述工作流驱动指令驱动工作流流转。
56.项目管理往往需要协调不同部门、系统的资源实现工作任务,因此,项目管理工作流的流转往往需要外部系统的驱动。目前的工作流分为两种类型,一种是顺序工作流,顺序工作流的流转模式是一个工作节点完成后,自动进入下一个工作节点;另一种是状态机工作流,状态机工作流采用事件触发的流转模式,其中,触发工作流流转的事件由工作流引擎配置并产生,属于工作流内部事件。顺序工作流不是由事件驱动的,状态机工作流是内部事件驱动的,哪种模式的工作流都无法响应外部系统的驱动,因此,现有的工作流引擎无法直接用于项目管理工作流的驱动管理。本技术实施例提供的方法由工作流引擎和关联模块配合实现工作流的流转驱动,由关联模块响应第一外部系统的目标事件而向工作流引擎发送工作流驱动指令,该工作流驱动指令作为触发工作流流转的事件,工作流引擎基于该工作流驱动指令驱动工作流流转。可见,引入关联模块可以使得工作流流转不仅由工作流引擎的内部事件驱动,也可以由外部系统的事件驱动,从而达到项目管理工作流自动流转的目的。
57.如上所述,关联模块还可以响应于工作流流转而驱动外部系统执行目标操作。具体的,关联模块响应于上述工作流的第一目标工作节点切换状态,向第二外部系统发送触发指令,所述触发指令用于指示所述第二外部系统执行目标操作。
58.其中,第二外部系统可以但不仅限于包括:邮件系统、即时通讯系统、软件开发系统等等。实际应用中,同一个系统既可以是第一外部系统,也可以是第二外部系统。
59.实际应用中,根据需要配置目标操作。
60.本技术实施例中,第一目标工作节点是指其状态切换可以驱动外部系统执行目标操作的工作节点,第二目标工作节点是指驱动行为配置中指示了目标状态流转条件的工作节点,第三目标工作节点是指需要响应驱动行为指令的工作节点。实际应用中,同一个工作节点在同一状态下既可以是第一目标工作节点、第二目标工作节点,也可以是第三目标工作节点;或者,同一个工作节点在一个状态下作为第一目标工作节点,在另一个状态下作为第二目标工作节点,在又一个状态下作为第三目标工作节点。
61.本技术实施例提供的方法,外部系统不仅可以驱动工作流的流转,工作流的流转还可以驱动外部系统执行目标操作,具体的,由关联模块响应于工作流的第一目标工作节点切换状态,向第二外部系统发送触发指令,以实现工作流引擎对外部系统(该实施例中的触发响应系统)的驱动。
62.在上述任意方法实施例的基础上,关联模块向工作流引擎发送工作流驱动指令之前,还可以从预设的触发条件中查找与上述目标事件关联的目标触发条件;从预设的行为配置中查找与该目标触发条件关联的驱动行为配置,其中,驱动行为配置指示驱动上述工作流流转;根据该驱动行为配置的指示生成工作流驱动指令。
63.本技术实施例提供的方法,预先设置有多个触发条件以及多个行为配置,并根据需要预先关联其中的触发条件与行为配置。那么,当发生上述目标事件,可以通过查找该目标事件对应的目标触发条件,进而查找与该目标触发条件关联的驱动行为配置,该驱动行为配置指示驱动工作流流转,从而实现目标事件驱动工作流流转。
64.具体的,在关联模块中预先设置有多个触发条件(trigger),其中部分触发条件为外部系统对应的触发条件,分别对应一个外部系统的事件(例如上述目标事件),部分触发条件为工作流引擎对应的触发条件,分别对应一个工作节点的状态切换(对应上述node action)。不同的触发条件可以由不同的用户提供。
65.在关联模块中还预先设置有多个行为配置(action),其中部分行为配置为工作流引擎的行为配置(如上述驱动行为配置),分别对应一个工作流引擎的事件(上述event)。不同的行为配置可以由不同的用户提供。
66.配置条件中可以包括对应事件的特征信息,以便根据该特征信息将事件与配置条件关联。配置条件中还可以包括对应事件的描述信息,该描述信息用来描述对应的事件,该描述信息作为与其关联的行为配置的输入,以便行为配置根据该输入,生成对应的指令。若配置条件中没有包括上述描述信息,则可以在检测到事件(例如目标事件)时,从对应的系统(例如第一外部系统)获取该描述信息。
67.行为配置指示了不同输入信息对应的不同行为。以驱动行为配置为例,其配置的行为包括工作流流转行为,其对应的输入信息是上述目标事件的描述信息,那么,接收到该输入信息,会生成上述工作流驱动指令;进一步地,对于驱动行为配置,该驱动行为配置还指示了目标状态流转条件,即指示第二目标工作节点从第一状态切换到第二状态所需要满足的状态流转条件。
68.使用者可以根据需要灵活配置触发条件与行为配置之间的关联关系。其中,一个触发条件可以被配置为与多个行为配置关联,一个行为配置也可以配置为与多个触发条件关联。
69.实际应用中,每配置一个关联关系,即可生成一个执行语句,该执行语句用于在触发条件被触发后,触发关联的行为配置,将上述描述信息输出给行为配置。
70.实际应用中,行为配置可以仅包括上述配置信息,还可以包括执行语句,该执行语句用于根据输入信息生成相关指令(例如工作流驱动指令)。
71.通过配置触发条件以及行为配置的方式实现目标事件对工作流的驱动,其实现方式灵活、简单。
72.在此基础上,驱动行为配置还指示目标状态流转条件已满足,目标状态流转条件包括第二目标工作节点从第一状态流转到第二状态的状态流转条件,相应的,关联模块还可以将上述目标状态流转条件标记为已满足。
73.实际应用中,关联模块可以直接将上述目标状态流转条件标记为已满足,也可以通知工作流引擎,由工作流引擎将上述目标状态流转条件标记为已满足。
74.本技术实施例中,对于工作流的工作节点,其状态之间的流转需要满足状态流转条件。实际应用中,可以将目标事件的发生配置为第二目标工作节点从第一状态流转到第二状态的状态流转条件,那么,当发生目标事件,关联模块将该状态流转条件标记为已满足。
75.在上述任意方法实施例的基础上,上述工作流引擎根据工作流驱动指令驱动工作流流转,其实现方式可以包括:接收到工作流驱动指令后,判断工作流的第三目标工作节点的当前状态到当前状态的下一状态的状态流转条件是否满足;在第三目标工作节点的当前状态到当前状态的下一状态的状态流转条件满足的情况下,将第三目标工作节点的当前状态切换为下一状态。
76.实际应用中,工作流引擎在接收到上述工作流驱动指令后,该工作流驱动指令被视为上述“状态流转”驱动事件,可以按照执行时序遍历未处于终止状态的各个工作节点(这些工作节点作为第三目标工作节点),依次对每个第三目标工作节点进行上述操作,实现工作流的自动流转。
77.本技术实施例提供的方法,有工作流驱动指令驱动工作流流转,具体的,当需要流转的第三目标工作节点对应的状态流转条件满足,切换其状态。
78.下面结合具体应用场景对本技术实施例提供的方法进行详细说明。
79.以软件功能需求管理这一具体的项目管理为例,其工作任务可以被拆解为需求讨论、需求评审、软件开发、软件测试、软件上线等等工作节点,这些工作节点之间为串行的工作顺序,即前一工作节点完成之后再进入下一工作节点。
80.上述软件功能需求管理的工作流如图2所示。其中,每个工作节点配置有如下属性信息:
81.状态(state):每个工作节点包括如下三个状态:“未到达”,“已到达且未完成”,“已完成”,其中,“未到达”为初始状态,“已完成”为终止状态。
82.驱动事件(event):每个工作节点均配置有“状态流转”驱动事件,部分工作节点配置有“状态回退”驱动事件。
83.状态流转条件(guard):软件开发工作节点的“已到达且未完成”到“已完成”对应的状态流转条件是目标功能上线。
84.节点行为(node action):软件开发工作节点的“已完成”状态配置有“向张三发送邮件告知目标软件功能代码已上传”的节点行为,那么,当软件开发工作节点的状态切换到“已完成”状态,执行该节点行为,以触发关联模块中对应的触发条件。
85.图2所示的工作流由工作流引擎控制其状态流转。对于每个工作节点,其状态流转控制过程如下:
86.工作流引擎的工作节点接收到事件,会判断当前状态是否可以处理该事件;若可以处理,则进一步判断该事件是否为驱动事件,若是,则可以进行状态流转;在该事件是驱动事件的前提下,进而判断是否满足当前状态到下一个状态的流转条件,若全部满足,工作流引擎将当前工作节点的状态切换到下一个状态;判断当前工作节点在下一个工作状态是否配置有节点行为,若配置有节点行为,执行该节点行为。其中,若下一个状态为终止状态,那么,随着状态流转,当前工作节点也切换为下一个工作节点。
87.在此基础上,为了实现外部系统与工作流引擎之间的驱动,由关联模块配置并管理trigger和action。
88.本实施例中,关联模块中配置有“代码上传”触发条件,且该触发条件配置有事件特征(例如系统标识、代码标识等),关联模块中还配置有“驱动图2所示的工作流流转”的驱动行为配置action,关联模块中还将该该触发条件和驱动行为配置关联。
89.关联模块中还配置有“软件开发工作节点已完成”触发条件,关联模块中还配置有“调用邮件系统发送邮件”的action,关联模块中还将该第二触发条件和行为配置action关联。
90.以软件开发工作节点为例,当提供软件开发功能的软件开发系统(即上述的第一外部系统)将目标软件功能代码上传,该软件开发系统将目标软件功能代码上传这个目标事件通知给关联模块,该通知中携带该目标事件的事件类型标识、该软件开发系统的标识和该目标软件功能的标识。如图3所示,关联模块与工作流引擎之间的交互包括如下操作:
91.步骤301关联模块查找符合通知中携带标识的目标触发条件,若查找到,执行步骤302,否则,结束本次处理流程。
92.该实施例中,查找到“代码上传”触发条件与该通知中的标识匹配,因此,“代码上传”触发条件被目标软件功能代码上传这一目标事件触发。
93.步骤302、关联模块查找与目标触发条件关联的行为配置,若查找到,执行步骤303,否则,结束本次处理流程。
94.该实施例中,查找到“驱动图2所示的工作流流转”的action。
95.步骤303、关联模块执行该action,根据该通知中的事件类型标识生成工作流驱动指令,并将软件开发工作节点的“已到达未完成”到“已完成”的状态流转条件标记为已满足。
96.步骤304、工作流引擎根据该驱动工作流指令驱动图2所示的工作流流转。
97.具体的,需求讨论和需求评审的状态均为已完成,软件开发工作节点的当前状态为“已到达未完成”,软件测试和软件上线的状态均为未到达。那么,工作流引擎首先判断软件开发工作节点“已到达未完成”到“已完成”的状态流转条件已满足,因此将软件开发工作节点的状态切换为“已完成”,由于软件开发工作节点是软件测试工作节点的唯一父节点,因此,工作流引擎将软件测试工作节点的状态修改为“已到达未完成”,并进一步判断软件测试工作节点“已到达未完成”到“已完成”的状态流转条件是否满足,若满足,将软件测试工作节点的状态切换为“已完成”,并继续对软件上线工作节点的状态进行流转,若不满足,本次工作流流转结束。
98.其中,软件开发工作节点的本次流转使得软件开发工作节点的状态从“已到达未完成”跳转到“已完成”,而“已完成”状态配置有“向张三发送邮件告知目标软件功能代码已上传”的节点行为,因此,工作流引擎触发关联模块中对应的触发条件,该触发中携带发件人地址、收件人地址、邮件主题;关联模块根据该触发查找对应的行为配置,以通过调用邮件系统向张三发送邮件告知目标软件功能代码已上传。
99.基于与图1所示的方法同样的发明构思,本技术实施例提供一种工作流控制系统,如图4所示,该系统可以包括关联模块401和工作流引擎402,所述各个部件可分别执行上文中结合图1描述的工作流控制方法的各个步骤/功能。以下仅对该系统的各部件的主要功能进行描述,而省略以上已经描述过的细节内容。
100.关联模块401,用于响应于第一外部系统的目标事件,向工作流引擎发送工作流驱动指令;
101.工作流引擎402,用于根据所述工作流驱动指令驱动工作流流转。
102.本技术实施例提供的系统由工作流引擎和关联模块配合实现工作流的流转驱动,
由关联模块响应第一外部系统的目标事件而向工作流引擎发送工作流驱动指令,该工作流驱动指令作为触发工作流流转的事件,工作流引擎基于该工作流驱动指令驱动工作流流转。可见,引入关联模块可以使得工作流流转不仅由工作流引擎的内部事件驱动,也可以由外部系统的事件驱动,从而达到项目管理工作流自动流转的目的。
103.可选的,所述关联模块还用于:响应于所述工作流的第一目标工作节点切换状态,向第二外部系统发送触发指令,所述触发指令用于指示所述第二外部系统执行目标操作。
104.本技术实施例提供的系统,外部系统不仅可以驱动工作流的流转,工作流的流转还可以驱动外部系统执行目标操作,具体的,由关联模块响应于工作流的第一目标工作节点切换状态,向第二外部系统发送触发指令,以实现工作流引擎对外部系统(该实施例中的触发响应系统)的驱动。
105.在上述任意系统实施例的基础上,关联模块还用于:从预设的触发条件中查找与上述目标事件关联的目标触发条件;从预设的行为配置中查找与该目标触发条件关联的驱动行为配置,其中,驱动行为配置指示驱动上述工作流流转;根据该驱动行为配置的指示生成工作流驱动指令。
106.本技术实施例提供的系统,预先设置有多个触发条件以及多个行为配置,并根据需要预先关联其中的触发条件与行为配置。那么,当发生上述目标事件,可以通过查找该目标事件对应的目标触发条件,进而查找与该目标触发条件关联的驱动行为配置,该驱动行为配置指示驱动工作流流转,从而实现目标事件驱动工作流流转。
107.通过配置触发条件以及行为配置的方式实现目标事件对工作流的驱动,其实现方式灵活、简单。
108.在此基础上,驱动行为配置还指示目标状态流转条件已满足,目标状态流转条件包括第二目标工作节点从第一状态流转到第二状态的状态流转条件,相应的,关联模块还可以将上述目标状态流转条件标记为已满足。
109.本技术实施例中,对于工作流的工作节点,其状态之间的流转需要满足状态流转条件。实际应用中,可以将目标事件的发生配置为第二目标工作节点从第一状态流转到第二状态的状态流转条件,那么,当发生目标事件,关联模块将该状态流转条件标记为已满足。
110.在上述任意系统实施例的基础上,上述工作流引擎具体用于:接收到工作流驱动指令后,判断工作流的第三目标工作节点的当前状态到当前状态的下一状态的状态流转条件是否满足;在第三目标工作节点的当前状态到当前状态的下一状态的状态流转条件满足的情况下,将第三目标工作节点的当前状态切换为下一状态。
111.本技术实施例提供的系统,有工作流驱动指令驱动工作流流转,具体的,当需要流转的第三目标工作节点对应的状态流转条件满足,切换其状态。
112.上述各实施例中的系统可以包括终端设备,例如,智能手机、掌上电脑、平板电脑、带显示屏的可穿戴设备、车载电脑、智能音箱、个人计算机等等,还可以包括网络设备,例如服务器。
113.所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的电子设备的模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
114.基于与方法同样的发明构思,本技术实施例还提供一种电子系统,包括处理器和
存储器;
115.存储器用于存储执行上述各个方法实施例所述方法的程序;处理器被配置为执行存储器中存储的程序。当存储器中存储的程序指令被处理器运行时,所述处理器执行上述各个方法实施例所述方法,并且还用于实现根据本发明实施例的终端设备中的相应模块。处理器可以是包括中央处理单元(cpu)或者具有数据处理能力和/或指令执行能力的其它形式的处理单元,并且可以控制电子设备中的其它组件以执行期望的功能。存储器可以包括一个或多个计算机程序产品,所述计算机程序产品可以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。所述易失性存储器例如可以包括随机存取存储器(ram)和/或高速缓冲存储器(cache)等。所述非易失性存储器例如可以包括只读存储器(rom)、硬盘、闪存等。在所述计算机可读存储介质上可以存储一个或多个计算机程序指令,处理器可以运行所述程序指令,以实现上文所述的本公开的实施例的功能以及/或者其它期望的功能。
116.本技术实施例提供的电子系统由工作流引擎和关联模块配合实现工作流的流转驱动,由关联模块响应第一外部系统的目标事件而向工作流引擎发送工作流驱动指令,该工作流驱动指令作为触发工作流流转的事件,工作流引擎基于该工作流驱动指令驱动工作流流转。可见,引入关联模块可以使得工作流流转不仅由工作流引擎的内部事件驱动,也可以由外部系统的事件驱动,从而达到项目管理工作流自动流转的目的。
117.基于与方法同样的发明构思,本技术实施例还提供一种计算机可读存储介质,存储有执行上述各个实施例所述方法的程序。
118.本技术实施例提供的计算机可读存储介质中所保存的程序由工作流引擎和关联模块配合实现工作流的流转驱动,由关联模块响应第一外部系统的目标事件而向工作流引擎发送工作流驱动指令,该工作流驱动指令作为触发工作流流转的事件,工作流引擎基于该工作流驱动指令驱动工作流流转。可见,引入关联模块可以使得工作流流转不仅由工作流引擎的内部事件驱动,也可以由外部系统的事件驱动,从而达到项目管理工作流自动流转的目的。
119.本说明书是参照根据本说明书实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的设备。
120.这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令设备的制造品,该指令设备实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
121.这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一
个方框或多个方框中指定的功能的步骤。
122.尽管已描述了本说明书的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本说明书范围的所有变更和修改。
123.显然,本领域的技术人员可以对本说明书进行各种改动和变型而不脱离本说明书的精神和范围。这样,倘若本说明书的这些修改和变型属于本说明书权利要求及其等同技术的范围之内,则本说明书也意图包含这些改动和变型在内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1