CN103679401B - 一种流程控制方法、服务器、客户端及系统 - Google Patents
一种流程控制方法、服务器、客户端及系统 Download PDFInfo
- Publication number
- CN103679401B CN103679401B CN201310754919.5A CN201310754919A CN103679401B CN 103679401 B CN103679401 B CN 103679401B CN 201310754919 A CN201310754919 A CN 201310754919A CN 103679401 B CN103679401 B CN 103679401B
- Authority
- CN
- China
- Prior art keywords
- task
- data
- client
- server
- unit
- 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.)
- Active
Links
Landscapes
- Information Transfer Between Computers (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本申请提供一种流程控制方法、服务器、客户端及系统,其中,服务器预先生成流程控制模型,各客户端预先获取任务处理逻辑;服务器在达到当前任务开始执行的触发条件时,向当前任务对应的客户端发送开始执行当前任务的命令;客户端接收所述命令,调用与当前任务对应的任务处理逻辑,与所述服务器进行数据交互,执行当前任务,在完成当前任务后,向服务器发送任务输出信息;服务器接收所述任务输出信息,判断是否还有下一任务需要执行,若是,将所述下一任务确定为当前任务,向当前任务对应的客户端发送开始执行当前任务的命令,其中,各任务数据存储在所述服务器中。本申请实现了任务数据的统一管理,使得统一的流程管理和控制变得简单。
Description
技术领域
本发明涉及项目开发流程控制技术领域,更具体地说,涉及一种流程控制方法、服务器、客户端及系统。
背景技术
在信息化的时代,一个项目的完成需要不同地域不同部门的人协同合作,在项目开发过程中,根据不同部门的职责,为各部门合理分配工作流程、如工作任务等,明确各部门间的分工,可以有效的整合资源,使得项目更好、更快地完成,而这其中,对各部门的工作流程进行流程控制显得尤为重要。
图1为现有技术流程控制系统的结构框图,该系统为分布式流程控制系统,如图1所示,该系统包括多个客户端,在执行项目开发时,每个客户端配置好下一步工作流程,当客户端A完成自己的工作任务后,向下一个客户端B发送下一步工作流程开始命令,以使客户端B执行下一步工作流程开始命令对应的工作流程,依次类推,直至完成所有的工作流程。然而不同的项目开发有着不同的流程要求,每个流程都会产生数据,图1所示分布式流程控制系统在每次开发新的项目时,都需要到每个客户端修改配置,费时费力,并不适用于多个项目的开发和维护;并且图1所示分布式流程控制系统的任务数据分散在各个客户端,任务数据无法进行统一的管理。
发明内容
有鉴于此,本发明实施例提供一种流程控制方法、服务器、客户端及系统,以解决现有流程控制方式不适用于多个项目的开发和维护,且无法对任务数据进行统一的管理的问题。
为实现上述目的,本发明实施例提供如下技术方案:
一种流程控制方法,基于一种流程控制系统,所述系统包括:服务器和至少一台客户端,所述服务器预先根据项目的任务数目实施化任务单元,一个任务对应一个任务单元,配置任务单元之间的流程控制逻辑,生成流程控制模型,所述流程控制逻辑包括:各任务与执行任务的客户端的对应关系,任务之间的执行顺序,各任务开始执行的触发条件,及各任务的任务处理逻辑;各客户端预先获取与自身所要执行的任务对应的任务处理逻辑;
所述方法包括:
所述服务器在达到当前任务开始执行的触发条件时,向当前任务对应的客户端发送开始执行当前任务的命令;
所述客户端接收所述命令,调用与当前任务对应的任务处理逻辑,与所述服务器进行数据交互,执行当前任务,在完成当前任务后,向所述服务器发送任务输出信息,所述任务输出信息包括处理后的任务数据或指示任务执行完毕的信息;
所述服务器接收所述任务输出信息,依据所述流程控制模型,判断是否还有下一任务需要执行,若是,则确定下一任务,将所述下一任务确定为当前任务,向当前任务对应的客户端发送开始执行当前任务的命令,若否,则完成项目;
其中,各任务数据存储在所述服务器中。
本发明实施例还提供一种服务器,包括:
流程控制模型生成模块,用于根据项目的任务数目实施化任务单元,一个任务对应一个任务单元,配置任务单元之间的流程控制逻辑,生成流程控制模型,所述流程控制逻辑包括:各任务与执行任务的客户端的对应关系,任务之间的执行顺序,各任务开始执行的触发条件,及各任务的任务处理逻辑;
任务处理逻辑下发模块,用于下发任务处理逻辑的配置信息至对应的客户端,以使各客户端解析收到的配置信息,得到与自身所要执行的任务对应的任务处理逻辑;
开始命令发送模块,用于在达到当前任务开始执行的触发条件时,向当前任务对应的客户端发送开始执行当前任务的命令;
任务输出信息接收模块,用于接收所述客户端在完成当前任务后,上传的任务输出信息,所述任务输出信息包括处理后的任务数据或指示任务执行完毕的信息;
判断模块,用于在所述任务输出信息接收模块接收所述任务输出信息后,依据所述流程控制模型,判断是否还有下一任务需要执行;
流程接续模块,用于在所述判断模块的判断结果为是时,依据所述流程控制模型确定下一任务,将所述下一任务确定为当前任务,向所述开始命令发送模块发送指示信息,以使所述开始命令发送模块向当前任务对应的客户端发送开始执行当前任务的命令,在所述判断模块的判断结果为否时,完成项目;
任务数据存储模块,用于存储各任务的任务数据。
本实施例还提供一种客户端,包括:
任务处理逻辑获取模块,用于获取与客户端自身所要执行的任务对应的任务处理逻辑;
开始命令接收模块,用于接收服务器在达到当前任务开始执行的触发条件时,依据所述流程控制模型确定当前任务后,所发送的开始执行当前任务的命令;
任务执行模块,用于在所述开始命令接收模块接收开始执行当前任务的命令后,调用与当前任务对应的任务处理逻辑,与所述服务器进行数据交互,执行当前任务,在完成当前任务后,向所述服务器发送任务输出信息,所述任务输出信息包括处理后的任务数据或任务执行完毕的信息。
本发明实施例还提供一种流程控制系统,包括:如上述所述的服务器,和至少一台如上述所述的客户端。
基于上述技术方案,本发明实施例提供的流程控制方法,客户端的任务执行需要通过服务器进行触发,信息统一由服务器通过流程控制模型进行配置,客户端通过服务器接收与自身相关的任务处理逻辑的配置信息,那么在开发新的项目时,就不需要到每个客户端修改配置,只需要修改服务器的流程控制模型,再将与各客户端对应的任务处理逻辑的配置信息发送给客户端,即可实现客户端配置信息的修改;并且任务数据集中存储在服务器,实现了任务数据的统一管理。本发明解决了现有流程控制方式不适用于多个项目的开发和维护,且无法对任务数据进行统一的管理的问题,本发明实施例所提供的流程控制方法、服务器、客户端和系统适用于多个项目的开发和维护,实现了任务数据的统一管理,使得统一的流程管理和控制变得简单。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为现有技术流程控制系统的结构框图;
图2为本发明实施例提供的流程控制方法的流程图;
图3为本发明实施例提供的服务器预先生成流程控制模型的方法流程图;
图4为本发明实施例提供的服务器的结构框图;
图5为本发明实施例提供的流程控制模型生成模块的结构框图;
图6为本发明实施例提供的任务处理逻辑配置单元的结构框图;
图7为本发明实施例提供的流程控制模型生成模块的另一结构框图;
图8为本发明实施例提供的客户端的结构框图;
图9为本发明实施例提供的任务执行模块的结构框图;
图10为本发明实施例提供的任务执行模块的另一结构框图;
图11为本发明实施例提供的流程控制系统的结构框图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图2为本发明实施例提供的流程控制方法的流程图,该方法基于一种流程控制系统,该系统包括:服务器和至少一台客户端;该系统中,所有的任务数据均保存在服务器中,在执行图2所示方法前,服务器应预先执行下述步骤:服务器预先根据项目的任务数目实施化任务单元,一个任务对应一个任务单元,配置任务单元之间的流程控制逻辑,生成流程控制模型,所述流程控制逻辑包括:各任务与执行任务的客户端的对应关系,任务之间的执行顺序,各任务开始执行的触发条件,及各任务的任务处理逻辑。至少一台客户端应预先执行下述步骤:各客户端预先获取与自身所要执行的任务对应的任务处理逻辑。其中,任务处理逻辑是指客户端执行任务的执行要求,包括初始任务数据至目标任务数据的处理要求等,初始数据指当前任务对应的任务数据,目标任务数据指客户端执行操作后,当前任务对应的任务数据经处理后形成的任务数据。
参照图2,该方法可以包括步骤:
步骤S100、服务器在达到当前任务开始执行的触发条件时,向当前任务对应的客户端发送开始执行当前任务的命令;
达到当前任务开始执行的触发条件分为两种情况:如果当前任务为项目开始的第一个任务,则当前任务开始执行的触发条件为服务器收到项目开始执行的指令;如果当前任务非项目开始的第一个任务,则当前任务开始执行的触发条件为服务器收到客户端完成当前任务的上一任务的指令;
上述两种情况均可认为达到了当前任务开始执行的触发条件,在达到了当前任务开始执行的触发条件时,服务器便可依照流程控制模型确定当前所要执行的任务,向对应的客户端发送开始执行当前任务的命令。
步骤S110、所述客户端接收所述命令,调用与当前任务对应的任务处理逻辑,与所述服务器进行数据交互,执行当前任务,在完成当前任务后,向所述服务器发送任务输出信息,所述任务输出信息包括处理后的任务数据或指示任务执行完毕的信息;
可选的,客户端在获取任务处理逻辑的同时,可将与任务处理逻辑对应的任务管理逻辑加载在客户端上,从而通过加载了任务管理逻辑的客户端来执行步骤S110的内容;
可选的,本发明所有的任务数据均存储在服务器中,客户端只保存任务执行过程的任务处理逻辑,即客户端只保存任务执行要求,并不保存依照任务执行要求、执行操作后所生成的任务数据。因此客户端接收所述命令后,需要确定任务执行要求中初始的任务数据,这样才能进行后续的任务执行。本发明实施例客户端可通过调用与当前任务对应的任务处理逻辑,与所述服务器进行数据交互从而确定初始的任务数据,具体的,本发明实施例提供下述两种具体实现方式:
其中一种为,所述客户端依据与当前任务对应的任务处理逻辑,从所述服务器中获取与当前任务对应的任务数据,下载所述任务数据至自身客户端上,从而确定初始的任务数据;对应的,采用这种方式确定初始任务数据,客户端会在自身上执行当前任务,初始任务数据和处理后的任务数据均会先保存在客户端中,在完成当前任务后,客户端向所述服务器发送的任务输出信息为处理后的任务数据,即目标数据,该处理后的任务数据用以向服务器指示客户端已完成当前任务。
另一种,所述客户端依据与当前任务对应的任务处理逻辑,从所述服务器中调取与当前任务对应的任务数据,从而确定初始的任务数据;对应的,采用这种方式确定初始的任务数据,任务数据可一直不保存在客户端中,客户端在服务器上执行当前任务,处理后的任务数据也保存在服务器中,在完成当前任务后,客户端向所述服务器发送的任务输出信息为任务执行完毕的信息,以向服务器指示客户端已完成当前任务。
显然,当前任务为项目的第一个任务时,可能存在不需要初始任务数据的情况,此刻客户端可调用任务处理逻辑,执行当前任务,将执行任务所生成的处理后的任务数据发送给服务器。
步骤S120、所述服务器接收所述任务输出信息,依据所述流程控制模型,判断是否还有下一任务需要执行,若是,则确定下一任务,将所述下一任务确定为当前任务,向当前任务对应的客户端发送开始执行当前任务的命令,若否,则完成项目。
服务器接收所述任务输出信息后,则表明客户端已完成当前任务,如果依据流程控制模型判断还有下一任务,那么下一任务必然非项目开始的第一个任务,将所述下一任务确定为当前任务,此时达到了当前任务开始执行的触发条件,向当前任务对应的客户端发送开始执行当前任务的命令,以使对应的客户端能够执行步骤S110的操作,如果依据流程控制模型判断没有下一任务,那么表明当前任务为最后的一个任务,项目完成。
本发明实施例提供的流程控制方法,客户端的任务执行需要通过服务器进行触发,信息统一由服务器通过流程控制模型进行配置,客户端通过服务器接收与自身相关的任务处理逻辑的配置信息,那么在开发新的项目时,就不需要到每个客户端修改配置,只需要修改服务器的流程控制模型,再将与各客户端对应的任务处理逻辑的配置信息发送给客户端,即可实现客户端配置信息的修改;并且任务数据集中存储在服务器,实现了任务数据的统一管理。本发明解决了现有流程控制方式不适用于多个项目的开发和维护,且无法对任务数据进行统一的管理的问题,本发明实施例所提供的流程控制方法适用于多个项目的开发和维护,实现了任务数据的统一,使得统一的流程管理和控制变得简单。
下面介绍本发明实施例服务器预先生成流程控制模型的可选实现方式。图3为本发明实施例提供的服务器预先生成流程控制模型的方法流程图,参照图3该方法可以包括:
步骤S200、预先根据项目的任务数目实施化任务单元,一个任务对应一个任务单元;
步骤S210、为各任务单元添加标识号和任务描述,各任务单元的标识号与执行任务的客户端唯一对应,配置任务单元之间的执行顺序,配置各任务单元开始执行任务的触发条件,及配置各任务单元的任务处理逻辑;
其中,可为各任务分别标号,将客户端序列号及任务号的组合确定为唯一的任务单元的标识号。
配置触发条件,是指配置上下一步任务之间的触发关系,包括:与当前任务相关的上一步任务的数目;各相关的上一步任务之间触发当前任务的逻辑关系,比如:“与”关系、“或”关系等。
可选的,配置各任务单元的任务处理逻辑可以包括:配置各任务单元的输入数据要求,配置各任务单元执行任务的操作内容和步骤,和配置各任务单元的输出数据要求。
其中,输入数据要求,是指配置任务处理时客户端所要应用的初始任务数据(当前任务对应的任务数据)在服务器中的存储标识。该存储标识与具体的任务数据唯一对应。该任务数据可以是服务器中已存储的数据,或者是某个上一步的任务处理后输出的数据。如果该任务数据是某个任务处理后输出的数据,那么输出数据的任务单元的处理必须在该配置的任务单元之前。
输出数据要求,是指客户端执行任务后,所形成的目标数据(处理后的数据)的数据要求,如数据名及数据类型,数据类型可为表、图、文档等。
操作内容和步骤,是指根据已存储的各种基本的活动方法构建成任务操作内容和步骤;该部分也可不进行配置,任务的具体操作内容和步骤,由实际的客户端的操作人员去实现。
步骤S220、将配置后的各任务单元组合在一起,生成流程控制模型。
将各任务单元对象进行连接,即任务单元间的输入与输出的连接关系,建立一个流程控制模型。
可选的,服务器配置任务单元之间的流程控制逻辑,生成流程控制模型还可以包括:配置操作权限认证条件,和配置任务输出逻辑。其中操作权限认证条件是指通过设置用户名和密码,实现客户端任务执行人员的控制,配置了权限认证信息的任务单元说明在该任务触发后,需进行权限认证过程,只有具有权限的用户才可进行该任务操作。任务输出逻辑,是指配置任务单元的输出接口数量,及任务结束后,从哪个接口输出的判断逻辑,此处的输出接口是指实施例化后的任务单元作为一个模型虚拟实体所具有的与其他任务单元相连的接口。
可选的,可采用图形化的配置策略,构建流程控制模型。
下面介绍本发明实施例客户端预先获取任务处理逻辑的可选实现方式。客户端预先获取任务处理逻辑的实现方式可选为下述两种:
其中一种,服务器主动将任务处理逻辑的配置信息发送给对应的客户端,具体的,服务器在生成流程控制模型后,依据各任务与执行任务的客户端的对应关系,主动将各任务的任务处理逻辑的配置信息发送给对应的客户端,以使各客户端解析接收到的配置信息,得到与自身所要执行的任务对应的任务处理逻辑;
另一种,客户端请求后,服务器将任务处理逻辑的配置信息下发给对应的客户端,具体的,服务器在生成流程控制模型后,客户端请求与自身所要执行的任务对应的任务处理逻辑,接收所述服务器发送的与请求对应的任务处理逻辑的配置信息,解析接收到的配置信息,得到与自身所要执行的任务对应的任务处理逻辑。
上述两种客户端预先获取任务处理逻辑的实现方式可相互结合,本发明实施例中,服务器需要所有的客户端都获取了任务处理逻辑后,才可触发项目流程开始,因此服务器可先主动的将任务处理逻辑的配置信息下发给客户端,客户端获取了任务处理逻辑后,需返回确认信息,服务器确认流程控制涉及的所有客户端都获取了任务处理逻辑后,才可触发流程开始执行。如果服务器进行主动的任务处理逻辑的配置信息下发时,有流程控制模型中的任务单元所对应的客户端不在线,导致尚有客户端未获取任务处理逻辑时,服务器将无法触发流程开始执行。但是当该客户端上线后,可使该客户端主动请求服务器下发任务处理逻辑的配置信息,从而获取任务处理逻辑,向服务器返回确认信息。
需要说明的是,客户端不一定需要解析任务处理逻辑的配置信息从而获取任务处理逻辑,客户端可以直接请求服务器生成的流程控制模型信息或服务器主动下发流程控制模型信息给客户端,客户端通过解析流程控制模型信息,进而获取流程控制模型信息中包含的任务处理逻辑。
下面介绍本发明实施例提供的服务器,该服务器与上文所述的流程控制方法相对应,可进行参照。图4为本发明实施例提供的服务器的结构框图,参照图4,服务器可以包括:
流程控制模型生成模块100,用于根据项目的任务数目实施化任务单元,一个任务对应一个任务单元,配置任务单元之间的流程控制逻辑,生成流程控制模型,所述流程控制逻辑包括:各任务与执行任务的客户端的对应关系,任务之间的执行顺序,各任务开始执行的触发条件,及各任务的任务处理逻辑;
任务处理逻辑下发模块110,用于下发任务处理逻辑的配置信息至对应的客户端,以使各客户端解析收到的配置信息,得到与自身所要执行的任务对应的任务处理逻辑;
开始命令发送模块120,用于在达到当前任务开始执行的触发条件时,向当前任务对应的客户端发送开始执行当前任务的命令;
任务输出信息接收模块130,用于接收所述客户端在完成当前任务后,上传的任务输出信息,所述任务输出信息包括处理后的任务数据或指示任务执行完毕的信息;
判断模块140,用于在任务输出信息接收模块130接收所述任务输出信息后,依据所述流程控制模型,判断是否还有下一任务需要执行;
流程接续模块150,用于在判断模块140的判断结果为是时,依据所述流程控制模型确定下一任务,将所述下一任务确定为当前任务,向开始命令发送模块120发送指示信息,以使开始命令发送模块120向当前任务对应的客户端发送开始执行当前任务的命令,在判断模块140的判断结果为否时,完成项目;
任务数据存储模块160,用于存储各任务的任务数据。
其中,流程控制模型生成模块100的结构可如图5所示,包括:
实施化单元1010,用于根据项目的任务数目实施化任务单元,一个任务对应一个任务单元;
标识与描述添加单元1020,用于为各任务单元添加标识号和任务描述,各任务单元的标识号与执行任务的客户端唯一对应;
执行顺序配置单元1030,用于配置任务单元之间的执行顺序;
触发条件配置单元1040,用于配置各任务单元开始执行任务的触发条件;
任务处理逻辑配置单元1050,用于配置各任务单元的任务处理逻辑;
组合单元1060,用于将配置后的各任务单元组合在一起,生成流程控制模型。
其中,任务处理逻辑配置单元1050的结构可如图6所示,包括:
输入数据配置子单元1051,用于配置各任务单元的输入数据要求;
具体操作配置子单元1052,用于配置各任务单元执行任务的操作内容和步骤;
输出数据要求配置子单元1053,用于配置各任务单元的输出数据要求。
图7为本发明实施例提供的流程控制模型生成模块的另一结构框图,结合图5和图7所示,图7所示流程控制模型生成模块在图5的基础上,还包括:
权限配置单元1070,用于配置各任务单元的操作权限认证条件;
输出逻辑配置单元1080,用于配置各任务单元的任务输出逻辑。
可选的,服务器在图4所示基础上,还可以包括:
编译模块,用于检查生成的流程控制模型的完整性,将流程控制模型编译成流程控制模型数据;
模型注册模块,用于存储由所述编译模块编译后生成的流程控制模型数据;
所述的流程控制模型数据,可以是采用XML语言进行描述的流程控制模型数据。
任务数据注册模块,用于将任务数据按照唯一的任务识别号及数据格式,分配在任务数据存储模块中;
任务数据管理模块,用于管理各任务阶段,客户端在与所述服务器进行数据交互中上传的各种数据;
任务数据调度模块,用于根据客户端的任务数据调用请求,在任务数据存储模块中查找与调用请求对应的任务数据,将查找到的任务数据发送给客户端;
权限注册模块,用于进行客户端执行各任务的访问权限注册;
权限注册存储模块,用于存储服务器操作权限的信息,及服务器中流程控制模型涉及的客户端中各任务操作的权限控制的信息;
权限认证模块,用于对接入服务器操作的客户端,及流程控制模型所涉及的客户端进行权限认证。
下面介绍本发明实施例提供的客户端,下文介绍的客户端与上文介绍的流程控制方法和服务器相对应,可相互参照。图8为本发明实施例提供的客户端的结构框图,参照图8,客户端可以包括:
任务处理逻辑获取模块200,用于获取与客户端自身所要执行的任务对应的任务处理逻辑;
开始命令接收模块210,用于接收服务器在达到当前任务开始执行的触发条件时,依据所述流程控制模型确定当前任务后,所发送的开始执行当前任务的命令;
任务执行模块220,用于在开始命令接收模块210接收开始执行当前任务的命令后,调用与当前任务对应的任务处理逻辑,与所述服务器进行数据交互,执行当前任务,在完成当前任务后,向所述服务器发送任务输出信息,所述任务输出信息包括处理后的任务数据或任务执行完毕的信息。
可选的,任务执行模块220可按照任务执行逻辑生成执行界面,进行任务执行,并与服务器进行数据交互。
图9为本发明实施例提供的任务执行模块的结构框图,参照图9,任务执行模块220可以包括:
任务数据下载单元2210,用于依据与当前任务对应的任务处理逻辑,从所述服务器中获取与当前任务对应的任务数据,下载所述任务数据至自身客户端上;
第一执行单元2211,用于在自身客户端上执行当前任务;
任务数据发送单元2212,用于在完成当前任务后,向所述服务器发送处理后的任务数据。
图10为本发明实施例提供的任务执行模块的另一结构框图,参照图10,任务执行模块220可以包括:
任务数据调取单元2220,用于依据与当前任务对应的任务处理逻辑,从所述服务器中调取与当前任务对应的任务数据;
第二执行单元2221,用于在所述服务器上执行当前任务,处理后的任务数据保存在服务器中;
完毕信息发送单元2222,用于在完成当前任务后,向服务器发送任务执行完毕的信息。
可选的,客户端在图8所示基础上,还可以包括:
任务管理模块,用于对任务处理逻辑进行管理;
可选的,所述任务管理模块可在任务处理逻辑获取模块200获取任务处理逻辑的同时建立;
任务执行逻辑管理模块,用于存储与客户端相关的任务执行逻辑;
任务调度模块,接收服务器下发的开始执行任务的命令,从任务执行逻辑管理模块中,找到对应的任务执行逻辑,提供给任务执行模块220;
任务处理数据存储模块,用于存储任务处理数据,根据唯一的任务识别号,进行任务数据存储位置的分配及数据描述;
密码修改申请器,收集用户密码修改的申请,上传给服务器进行密码修改。
在客户端只能提出密码修改的申请,用户名信息无法申请修改。
权限认证申请模块,收集用户权限认证的申请,上传给服务器进行权限认证。
可选的,任务执行模块220可调用权限认证申请模块,实现操作人员权限信息的输入。任务执行模块220调用任务处理数据存储模块,实现任务处理数据的存储及上传。
本发明实施例还提供一种流程控制系统,如图11所示,该系统可以包括:服务器和至少一台客户端,所述服务器为上述所述的服务器,所述客户端为上述所述的客户端。
下面以一个具体项目实例,对本发明实施例提供的流程控制方法进行描述,以使本发明实施例提供的流程控制方法更易理解。
具体项目实例为:首先需求人员朱工进行需求分析,根据所得结果编写需求规范。完成后项目验证人员胡工对该份需求规范进行验证,若验证结果为需求规范符合所有要求,则胡工提交需求验证报告后该流程结束;若验证结果为需求规范有不符合要求项,则朱工根据胡工验证报告中说明的不符合项改进前次的需求分析,更新需求规范,再把结果交给胡工进行验证,直至需求规范通过验证,则流程结束。
首先在服务器实例化一个任务单元,为其添加任务描述为“朱工在客户端C1进行需求分析”,根据客户端序列号及任务号组合确定其任务标识号为C1-T1。
根据配置策略首先进行触发条件的配置:为C1-T1任务单元对象功能块配置两个输入接口,分别为项目开始和之前提交的需求规范未通过验证,前者为无需配置输入数据要求,后者则需要配置未通过的需求规范和相应的需求验证报告在服务器中的存储标识,同时配置两者的逻辑关系为“或”关系。
接着进行操作权限认证条件的配置:根据任务执行人员计划,配置C1-T1任务单元对象功能块的操作权限认证条件为只有“朱工”能在该任务时间段登入客户端C1进行操作。
然后根据配置策略对功能块图进行操作内容和步骤的配置:在此处C1-T1任务单元对象功能块中不进行配置,由实际的客户端操作人员去实现需求分析操作。
紧接着进行输出数据要求的配置:通过配置设定在C1-T1任务单元对象功能块中,“朱工”需要在C1客户端把通过需求分析得到的需求规范按要求提交给数据库,以命名为“流程控制软件开发_需求规范_朱工”的word文档的形式上传。
最后配置任务输出逻辑:在C1-T1任务单元对象功能块中,该任务的输出接口只有一个,即提交需求规范成功,该输出接口的判断逻辑为“朱工”按要求在C1客户端正确地提交了需求规范。
类似的,在服务器再实例化一个任务单元对象功能块,为其添加任务描述为“胡工在客户端C2进行需求验证”,根据客户端序列号及任务号组合确定其任务标识号为C2-T1。
首先对触发条件进行配置:在C2-T1任务单元对象功能块中,其输入接口只有一个,即需求规范已提交,输入逻辑为“顺序”关系。
接着进行操作权限认证条件的配置:根据任务执行人员计划,在C2-T1任务单元对象功能块中,配置其操作权限认证条件为只有“胡工”能在该任务时间段登入客户端C2进行操作。
然后根据配置策略对功能块图进行操作内容和步骤的配置:在此处C2-T1任务单元对象功能块中同样不进行配置,由实际的客户端操作人员去实现需求验证操作。
接下来进行输出数据要求的配置:在C2-T1任务单元对象功能块中,通过配置设定“胡工”需要在C2客户端按要求把需求验证报告提交给数据库,例如以命名为“流程控制软件开发_需求验证报告_胡工”的word文档的形式上传。
最后配置任务输出逻辑:在C2-T1任务单元对象功能块中,该任务的输出接口有两个,分别为需求规范通过验证和未通过验证,前者的判断逻辑为“胡工”明确所验证的需求规范符合所有要求,而后者的判断逻辑为“胡工”明确所验证的需求规范有不符合要求项。
最后,将各任务单元对象进行连接,此处具体操作为:将“开始”功能块和C1-T1任务单元对象功能块中“流程开始”的输入接口相连,将C1-T1任务单元对象功能块中“提交需求规范成功”的输出接口和C2-T1任务单元对象功能块中“需求规范已提交”的输入接口相连,将C2-T1任务单元对象功能块中“需求规范通过验证”的输出接口和“结束”功能块相连,将C2-T1任务单元对象功能块中“需求规范未通过验证”的输出接口和C1-T1任务单元对象功能块中“需求规范为通过验证”的输入接口相连。完成流程控制模型配置。
在服务器建立上述流程控制模型后,客户端C1和客户端C2分别获取对应的任务处理逻辑;
服务器在接收到项目开始的指令后,向客户端C1发送开始执行当前任务的指令;
客户端C1完成与服务器的权限验证,调取关于C1-T1任务的任务处理逻辑,按照任务处理逻辑与服务器进行数据交互,执行当前任务,将执行当前任务所产生的处理后的任务数据保存在服务器中,发送任务输出信息;
服务器在接收到客户端C1的任务输出信息后,向客户端C2发送开始执行当前任务的指令;
客户端C2完成与服务器的权限验证,调取关于C2-T1任务的任务处理逻辑,确定当前任务对应的任务数据,即客户端C2保存在服务器中的处理后的任务数据,按照任务处理逻辑与服务器进行数据交互,执行当前任务,将执行当前任务所产生的处理后的任务数据保存在服务器中,发送任务输出信息;
服务器接收客户端C2的任务输出信息,完成项目,结束工作流程。
本发明实施例所提供的流程控制方法、服务器、客户端和系统适用于多个项目的开发和维护,实现了任务数据的统一管理,使得统一的流程管理和控制变得简单。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种流程控制方法,其特征在于,基于一种流程控制系统,所述系统包括:服务器和至少一台客户端,所述服务器预先根据项目的任务数目实施化任务单元,一个任务对应一个任务单元,配置任务单元之间的流程控制逻辑,生成流程控制模型,所述流程控制逻辑包括:各任务与执行任务的客户端的对应关系,任务之间的执行顺序,各任务开始执行的触发条件,及各任务的任务处理逻辑;所述任务处理逻辑是指客户端执行任务的执行要求,包括初始任务数据至目标任务数据的处理要求,初始数据指当前任务对应的任务数据,目标任务数据指客户端执行操作后,当前任务对应的任务数据经处理后形成的任务数据;各客户端预先获取与自身所要执行的任务对应的任务处理逻辑,并加载与所述任务处理逻辑对应的任务管理逻辑;
所述流程控制方法包括:
所述服务器在达到当前任务开始执行的触发条件时,向当前任务对应的客户端发送开始执行当前任务的命令;
所述客户端接收所述命令,调用与当前任务对应的任务处理逻辑,与所述服务器进行数据交互,执行当前任务,在完成当前任务后,向所述服务器发送任务输出信息,所述任务输出信息包括处理后的任务数据或指示任务执行完毕的信息;
所述服务器接收所述任务输出信息,依据所述流程控制模型,判断是否还有下一任务需要执行,若是,则确定下一任务,将所述下一任务确定为当前任务,向当前任务对应的客户端发送开始执行当前任务的命令,若否,则完成项目;
其中,各任务数据存储在所述服务器中。
2.根据权利要求1所述的流程控制方法,其特征在于,所述服务器配置任务单元之间的流程控制逻辑,生成流程控制模型包括:为各任务单元添加标识号和任务描述,各任务单元的标识号与执行任务的客户端唯一对应,配置任务单元之间的执行顺序,配置各任务单元开始执行任务的触发条件,及配置各任务单元的任务处理逻辑,将配置后的各任务单元组合在一起,生成流程控制模型;
所述配置各任务单元的任务处理逻辑包括:配置各任务单元的输入数据要求,配置各任务单元执行任务的操作内容和步骤,和配置各任务单元的输出数据要求。
3.根据权利要求1或2所述的流程控制方法,其特征在于,所述各客户端预先获取与自身所要执行的任务对应的任务处理逻辑包括:
所述服务器依据各任务与执行任务的客户端的对应关系,主动将各任务的任务处理逻辑的配置信息发送给对应的客户端,以使各客户端解析接收到的配置信息,得到与自身所要执行的任务对应的任务处理逻辑;
或
客户端请求与自身所要执行的任务对应的任务处理逻辑,接收所述服务器发送的与请求对应的任务处理逻辑的配置信息,解析接收到的配置信息,得到与自身所要执行的任务对应的任务处理逻辑。
4.根据权利要求1所述的流程控制方法,其特征在于,所述客户端调用与当前任务对应的任务处理逻辑,与所述服务器进行数据交互,执行当前任务,在完成当前任务后,向所述服务器发送任务输出信息包括:
所述客户端依据与当前任务对应的任务处理逻辑,从所述服务器中获取与当前任务对应的任务数据,下载所述任务数据至自身客户端上,在自身客户端上执行当前任务,在完成当前任务后,向所述服务器发送处理后的任务数据;
或
所述客户端依据与当前任务对应的任务处理逻辑,从所述服务器中调取与当前任务对应的任务数据,在所述服务器上执行当前任务,处理后的任务数据保存在服务器中,在完成当前任务后,向服务器发送任务执行完毕的信息。
5.一种服务器,其特征在于,该服务器用于执行如权利要求1-4任意一项所述的流程控制方法,该服务器包括:
流程控制模型生成模块,用于根据项目的任务数目实施化任务单元,一个任务对应一个任务单元,配置任务单元之间的流程控制逻辑,生成流程控制模型,所述流程控制逻辑包括:各任务与执行任务的客户端的对应关系,任务之间的执行顺序,各任务开始执行的触发条件,及各任务的任务处理逻辑;所述任务处理逻辑是指客户端执行任务的执行要求,包括初始任务数据至目标任务数据的处理要求,初始数据指当前任务对应的任务数据,目标任务数据指客户端执行操作后,当前任务对应的任务数据经处理后形成的任务数据;
任务处理逻辑下发模块,用于下发任务处理逻辑的配置信息至对应的客户端,以使各客户端解析收到的配置信息,得到与自身所要执行的任务对应的任务处理逻辑,并加载与所述任务处理逻辑对应的任务管理逻辑;
开始命令发送模块,用于在达到当前任务开始执行的触发条件时,向当前任务对应的客户端发送开始执行当前任务的命令;
任务输出信息接收模块,用于接收所述客户端在完成当前任务后,上传的任务输出信息,所述任务输出信息包括处理后的任务数据或指示任务执行完毕的信息;
判断模块,用于在所述任务输出信息接收模块接收所述任务输出信息后,依据所述流程控制模型,判断是否还有下一任务需要执行;
流程接续模块,用于在所述判断模块的判断结果为是时,依据所述流程控制模型确定下一任务,将所述下一任务确定为当前任务,向所述开始命令发送模块发送指示信息,以使所述开始命令发送模块向当前任务对应的客户端发送开始执行当前任务的命令,在所述判断模块的判断结果为否时,完成项目;
任务数据存储模块,用于存储各任务的任务数据。
6.根据权利要求5所述的服务器,其特征在于,所述流程控制模型生成模块包括:
实施化单元,用于根据项目的任务数目实施化任务单元,一个任务对应一个任务单元;
标识与描述添加单元,用于为各任务单元添加标识号和任务描述,各任务单元的标识号与执行任务的客户端唯一对应;
执行顺序配置单元,用于配置任务单元之间的执行顺序;
触发条件配置单元,用于配置各任务单元开始执行任务的触发条件;
任务处理逻辑配置单元,用于配置各任务单元的任务处理逻辑;
组合单元,用于将配置后的各任务单元组合在一起,生成流程控制模型;
所述任务处理逻辑配置单元包括:
输入数据配置子单元,用于配置各任务单元的输入数据要求;
具体操作配置子单元,用于配置各任务单元执行任务的操作内容和步骤;
输出数据要求配置子单元,用于配置各任务单元的输出数据要求。
7.根据权利要求5或6所述的服务器,其特征在于,所述流程控制模型生成模块还包括:
权限配置单元,用于配置各任务单元的操作权限认证条件;
输出逻辑配置单元,用于配置各任务单元的任务输出逻辑;
所述服务器还包括:
编译模块,用于检查生成的流程控制模型的完整性,将流程控制模型编译成流程控制模型数据;
模型注册模块,用于存储由所述编译模块编译后生成的流程控制模型数据;
任务数据注册模块,用于将任务数据按照唯一的任务识别号及数据格式,分配在任务数据存储模块中;
任务数据管理模块,用于管理各任务阶段,客户端在与所述服务器进行数据交互中上传的各种数据;
任务数据调度模块,用于根据客户端的任务数据调用请求,在任务数据存储模块中查找与调用请求对应的任务数据,将查找到的任务数据发送给客户端;
权限注册模块,用于进行客户端执行各任务的访问权限注册;
权限注册存储模块,用于存储服务器操作权限的信息,及服务器中流程控制模型涉及的客户端中各任务操作的权限控制的信息;
权限认证模块,用于对接入服务器操作的客户端,及流程控制模型所涉及的客户端进行权限认证。
8.一种客户端,其特征在于,该客户端用于执行如权利要求1-4任意一项所述的流程控制方法,该客户端包括:
任务处理逻辑获取模块,用于获取与客户端自身所要执行的任务对应的任务处理逻辑,并加载与所述任务处理逻辑对应的任务管理逻辑;所述任务处理逻辑是指客户端执行任务的执行要求,包括初始任务数据至目标任务数据的处理要求,初始数据指当前任务对应的任务数据,目标任务数据指客户端执行操作后,当前任务对应的任务数据经处理后形成的任务数据;
开始命令接收模块,用于接收服务器在达到当前任务开始执行的触发条件时,依据所述流程控制模型确定当前任务后,所发送的开始执行当前任务的命令;
任务执行模块,用于在所述开始命令接收模块接收开始执行当前任务的命令后,调用与当前任务对应的任务处理逻辑,与所述服务器进行数据交互,执行当前任务,在完成当前任务后,向所述服务器发送任务输出信息,所述任务输出信息包括处理后的任务数据或任务执行完毕的信息。
9.根据权利要求8所述的客户端,其特征在于,所述任务执行模块包括:任务数据下载单元,第一执行单元和任务数据发送单元;
所述任务数据下载单元,用于依据与当前任务对应的任务处理逻辑,从所述服务器中获取与当前任务对应的任务数据,下载所述任务数据至自身客户端上;
所述第一执行单元,用于在自身客户端上执行当前任务;
所述任务数据发送单元,用于在完成当前任务后,向所述服务器发送处理后的任务数据;
或
所述任务执行模块包括:任务数据调取单元,第二执行单元和完毕信息发送单元;
所述任务数据调取单元,用于依据与当前任务对应的任务处理逻辑,从所述服务器中调取与当前任务对应的任务数据;
所述第二执行单元,用于在所述服务器上执行当前任务,处理后的任务数据保存在服务器中;
所述完毕信息发送单元,用于在完成当前任务后,向服务器发送任务执行完毕的信息。
10.一种流程控制系统,其特征在于,包括:如权利要求5至7任一项所述的服务器,和至少一台如权利要求8或9所述的客户端。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310754919.5A CN103679401B (zh) | 2013-12-31 | 2013-12-31 | 一种流程控制方法、服务器、客户端及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310754919.5A CN103679401B (zh) | 2013-12-31 | 2013-12-31 | 一种流程控制方法、服务器、客户端及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103679401A CN103679401A (zh) | 2014-03-26 |
CN103679401B true CN103679401B (zh) | 2018-01-12 |
Family
ID=50316878
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310754919.5A Active CN103679401B (zh) | 2013-12-31 | 2013-12-31 | 一种流程控制方法、服务器、客户端及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103679401B (zh) |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105589739B (zh) * | 2014-11-13 | 2019-03-15 | 腾讯数码(深圳)有限公司 | 一种流程控制系统及方法 |
CN105046436A (zh) * | 2015-07-28 | 2015-11-11 | 福建新大陆通信科技股份有限公司 | 一种可定制的高安全机顶盒生产系统 |
CN107220031B (zh) * | 2016-03-21 | 2020-12-29 | 创新先进技术有限公司 | 业务系统的运行方法及装置 |
CN107067137A (zh) * | 2016-12-22 | 2017-08-18 | 国网河北省电力公司衡水供电分公司 | 一种电力营销计量班日常业务管理控制方法和系统 |
CN106991214A (zh) * | 2017-03-10 | 2017-07-28 | 中铁四局集团有限公司 | 基于bim的高速铁路预制梁场的信息化管理方法 |
CN107025516A (zh) * | 2017-03-10 | 2017-08-08 | 中铁四局集团有限公司 | 基于bim的高速铁路预制梁场的信息化管理系统 |
CN106896749A (zh) * | 2017-03-10 | 2017-06-27 | 中铁四局集团有限公司 | 基于bim技术的施工管理客户端 |
CN107797860A (zh) * | 2017-11-21 | 2018-03-13 | 上海望友信息科技有限公司 | 任务自动处理方法及系统、客户端、服务器及存储介质 |
CN108460511A (zh) * | 2017-12-29 | 2018-08-28 | 陈菡 | 一种工作流引擎系统及其实现方法 |
CN110321119A (zh) * | 2018-03-30 | 2019-10-11 | 优酷网络技术(北京)有限公司 | 数据处理模块的生成方法、服务器和客户端 |
CN110321107A (zh) * | 2018-03-30 | 2019-10-11 | 优酷网络技术(北京)有限公司 | 数据处理模块的生成方法和服务器 |
CN109408213A (zh) * | 2018-10-09 | 2019-03-01 | 佛山市蠢材科技有限公司 | 协同任务处理方法、系统及存储介质 |
CN109345204A (zh) * | 2018-10-09 | 2019-02-15 | 佛山市蠢材科技有限公司 | 协同任务控制方法、系统及存储介质 |
CN109491777A (zh) * | 2018-11-12 | 2019-03-19 | 北京字节跳动网络技术有限公司 | 任务执行方法、装置、设备及存储介质 |
CN110766375A (zh) * | 2019-09-18 | 2020-02-07 | 武汉空心科技有限公司 | 工作平台任务构建系统及构建方法 |
CN114594723A (zh) * | 2022-03-10 | 2022-06-07 | 浙江西图盟数字科技有限公司 | 基于plc设备的数据控制方法、装置、存储介质及终端设备 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8332811B2 (en) * | 2009-04-30 | 2012-12-11 | United Parcel Service Of America, Inc. | Systems and methods for generating source code for workflow platform |
CN102456185B (zh) * | 2010-10-29 | 2014-06-11 | 金蝶软件(中国)有限公司 | 一种分布式工作流处理方法及分布式工作流引擎系统 |
CN102542367B (zh) * | 2010-12-10 | 2015-03-11 | 金蝶软件(中国)有限公司 | 基于领域模型的云计算网络工作流处理方法、装置和系统 |
CN102880123B (zh) * | 2012-08-28 | 2014-08-27 | 浙江大学 | 基于mes工作流的石化企业生产过程控制系统及方法 |
CN103279840B (zh) * | 2013-06-08 | 2017-02-08 | 北京首钢自动化信息技术有限公司 | 基于动态语言与事件处理机制的工作流引擎实现方法 |
-
2013
- 2013-12-31 CN CN201310754919.5A patent/CN103679401B/zh active Active
Non-Patent Citations (2)
Title |
---|
"基于XML数据库的工作流系统的研究与设计";刘鑫;《中国优秀硕士学位论文全文数据库 信息科技辑》;20060715;论文第4、11-19、27-32、41-56页,附图4.1 * |
"基于工作流技术的项目管理系统设计与实现";刘志明;《中国优秀硕士学位论文全文数据库 信息科技辑》;20100115;论文第16-17页 * |
Also Published As
Publication number | Publication date |
---|---|
CN103679401A (zh) | 2014-03-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103679401B (zh) | 一种流程控制方法、服务器、客户端及系统 | |
CN104253831B (zh) | 一种用于在云计算环境中部署应用的方法和系统 | |
US10778513B2 (en) | Device communication and management in computer data networks | |
CN105024865B (zh) | 云联合即服务 | |
US20180004202A1 (en) | Robot fleet dispatch request system | |
CN109478134A (zh) | 用跨账户别名执行按需网络代码 | |
US20020057803A1 (en) | System and method for communicating in a mobile domain across non-persistent data links | |
CN105453035B (zh) | 用于接收对存储在计算机系统处的软件组件的更新的方法 | |
CN108961033A (zh) | 多业务系统交互方法及装置、存储介质、电子终端 | |
CN109740934A (zh) | 运维作业控制方法、装置、设备及计算机可读存储介质 | |
CN110597634B (zh) | 一种数据处理方法、装置及计算机可读存储介质 | |
CN105897805A (zh) | 对多层架构的数据中心的资源进行跨层调度的方法和装置 | |
CN107465644B (zh) | 数据传输方法、数据传送客户端及数据传送执行器 | |
CN107967140A (zh) | 软件修改的发起方法、发布元数据的方法及装置 | |
CN106164917A (zh) | 用于远程会话的用户特定应用激活 | |
US20110154312A1 (en) | System and method for extending computerized applications | |
CN108733496A (zh) | 事件处理方法和装置 | |
CN110532077A (zh) | 任务处理方法、装置及存储介质 | |
CN102223396A (zh) | 计算机系统中云计算业务逻辑与用户界面关联系统与方法 | |
CN105208093B (zh) | 一种云操作系统中计算资源池的构建系统 | |
CN109660612A (zh) | 一种请求处理方法和服务器 | |
CN109213567A (zh) | 一种管理vnf实例化的方法和设备 | |
CN105205123B (zh) | 一种数据库间数据交互方法和装置 | |
CN109451483A (zh) | eSIM数据处理方法、设备及可读存储介质 | |
KR101899298B1 (ko) | 클라우드 및 가상화 기반의 프로세스 자동화 처리 시스템 및 그 처리 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |