CN103617066A - 一种工作流引擎及其实现方法 - Google Patents
一种工作流引擎及其实现方法 Download PDFInfo
- Publication number
- CN103617066A CN103617066A CN201310690266.9A CN201310690266A CN103617066A CN 103617066 A CN103617066 A CN 103617066A CN 201310690266 A CN201310690266 A CN 201310690266A CN 103617066 A CN103617066 A CN 103617066A
- Authority
- CN
- China
- Prior art keywords
- workflow
- node
- workflow engine
- work
- flow
- 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
Links
Images
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种工作流引擎及其实现方法,用于降低网络通信开销,工作流引擎通过浏览器从网络服务器下载到客户端的浏览器内加载运行,包括:流程解析器,用于读取流程配置文件,解析流程配置文件中流程定义模型,生成流程执行控制器执行的流程指令;流程执行控制器,用于根据流程指令,加载当前工作流节点的业务对象,执行初始化;在对应的业务运行结束后,根据当前工作流节点的运算逻辑表达式,对业务运行的结果数据进行计算;对当前工作流节点的跳转条件进行判断,如当前工作流节点为流程结束节点,则工作流引擎结束流程,如匹配到下一工作流节点,则将下一工作流节点确定为当前工作流节点,继续执行加载当前工作流节点的业务对象及后续步骤。
Description
技术领域
本发明涉及计算机技术领域,具体涉及一种工作流引擎及其实现方法。
背景技术
在计算机环境下,工作流就是按照某种预先设置的流程在多个参与者之间传递文档、信息或任务的过程。实现工作流的核心,就是工作流引擎,或称为流程引擎,它为流程的定义和解释、信息传递的方式和路径、角色的分工和条件等提供实现。工作流节点,是流程中的一个步骤或环节,一般与应用系统中的一项应用相对应,通过工作流引擎可以将一个或多个工作流节点连接起来形成工作流。
在现有技术中,商用的工作流引擎产品大部分采用独立式的应用模式,独立式是指工作流引擎独立地部署在进程或服务器上,需要通过远程调用的方式进行工作流节点和工作流引擎的交互。工作流引擎在Web应用的场景下,工作流引擎需要部署在Web服务器端,这种独立式工作流引擎的实现方式需要较大的网络通信开销,工作流的执行过程需要部署在Web服务器端的工作流引擎远程与运行在客户端上的工作流节点交互,带宽成本较高、网络延时较长,另外服务器负载压力较大。
发明内容
有鉴于此,本发明的主要目的是提供一种工作流引擎及其实现方法,以解决现有技术中工作流引擎的实现网络通信开销大的技术问题。
为解决上述问题,本发明提供的技术方案如下:
一种工作流引擎,所述工作流引擎通过浏览器从网络服务器下载到客户端的所述浏览器内加载运行,所述工作流引擎包括:
流程解析器以及流程执行控制器;
所述流程解析器,用于读取流程配置文件,解析所述流程配置文件中的流程定义模型从而生成所述流程执行控制器执行的流程指令;
所述流程执行控制器,用于根据所述流程指令,加载当前工作流节点的业务对象,执行所述当前工作流节点的初始化逻辑;在当前工作流节点对应的业务运行结束后,根据所述当前工作流节点的运算逻辑表达式,对业务运行的结果数据进行计算;对所述当前工作流节点的跳转条件进行判断,如果所述当前工作流节点为流程结束节点,则所述工作流引擎结束流程,如果匹配到下一工作流节点,则将下一工作流节点确定为当前工作流节点,继续执行加载当前工作流节点的业务对象及后续步骤。
相应的,所述流程解析器包括:
读取子模块,用于根据工作流请求,从网络服务器上下载并读取对应的流程配置文件;
解析子单元,用于解析所述流程配置文件中包括的流程定义模型从而生成所述流程执行控制器执行的流程指令。
相应的,所述流程配置文件中的流程定义模型包括公共变量、每个工作流节点的初始化逻辑、运算逻辑表达式以及跳转条件。
相应的,所述工作流引擎基于Silverlight技术实现,所述流程配置文件为可扩展标记语言XML文件。
相应的,将所述工作流引擎的接口封装在业务基类中,以使所述工作流引擎的接口继承到各个工作流节点中。
一种工作流引擎的实现方法,所述方法包括:
工作流引擎读取流程配置文件,解析所述流程配置文件中的流程定义模型从而生成所述流程执行控制器执行的流程指令;所述工作流引擎通过浏览器从网络服务器下载到客户端的所述浏览器内加载运行;
根据所述流程指令,加载当前工作流节点的业务对象,执行所述当前工作流节点的初始化逻辑;
在当前工作流节点对应的业务运行结束后,根据所述当前工作流节点的运算逻辑表达式,对业务运行的结果数据进行计算;
对所述当前工作流节点的跳转条件进行判断,如果所述当前工作流节点为流程结束节点,则结束流程,如果匹配到下一工作流节点,则将下一工作流节点确定为当前工作流节点,继续执行加载当前工作流节点的业务对象及后续步骤。
相应的,所述读取流程配置文件,包括:
根据工作流请求,从网络服务器上下载并读取对应的流程配置文件。
相应的,所述流程配置文件中的流程定义模型包括公共变量、每个工作流节点的初始化逻辑、运算逻辑表达式以及跳转条件。
相应的,所述工作流引擎基于Silverlight技术实现,所述流程配置文件为可扩展标记语言XML文件。
相应的,将所述工作流引擎的接口封装在业务基类中,以使所述工作流引擎的接口继承到各个工作流节点中。
由此可见,本发明具有如下有益效果:
本发明实施例中提供的工作流引擎直接运行在Web应用客户端的浏览器内,实现了流程控制、节点调用、条件判断等轻量级功能,无需依赖单独的流程服务器,在工作流引擎的工作过程中没有远程调用,节约了用于远程调用的网络通信开销;同时,本发明可以充分利用客户端的计算资源,降低了服务器的运算压力;另外,工作流引擎对于工作流也即应用来说是不可见的,每个工作流节点均可以独立运行,可以为流程灵活变更创造条件。
附图说明
图1为本发明实施例中工作流引擎实施例的示意图;
图2为本发明实施例中工作流引擎的运行环境示意图;
图3为本发明实施例中流程定义模型的示意图;
图4为本发明实施例中工作流引擎的工作过程示意图;
图5为本发明实施例中工作流引擎的接口继承示意图;
图6为本发明实施例中工作流引擎的实现方法实施例的流程图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明实施例作进一步详细的说明。
本发明实施例提供的工作流引擎及其实现方法,是针对现有技术中工作流引擎的实现网络通信开销大、服务器负载大的技术问题,提出基于浏览器插件技术,实现了工作流引擎运行在Web应用的客户端的浏览器内,工作流引擎分为流程解析器和流程执行控制器,其中,流程解析器用于读取包括流程定义模型的流程配置文件,并解析成流程执行控制器可执行的流程指令,流程执行控制器是流程指令的执行者,用于执行根据流程定义模型创建相应的业务对象、并处理初始化以及业务运行结束后的事件等步骤。
基于上述思想,本发明实施例中提供的工作流引擎通过浏览器从网络服务器下载到客户端的浏览器内加载运行,参见图1所示,该工作流引擎实施例可以包括:
流程解析器101以及流程执行控制器102。
流程解析器101可以用于读取流程配置文件,解析流程配置文件中的流程定义模型从而生成流程执行控制器执行的流程指令。
流程执行控制器102可以用于根据流程指令,加载当前工作流节点的业务对象,执行当前工作流节点的初始化逻辑;在当前工作流节点对应的业务运行结束后,根据当前工作流节点的运算逻辑表达式,对业务运行的结果数据进行计算;对当前工作流节点的跳转条件进行判断,如果当前工作流节点为流程结束节点,则工作流引擎结束流程,如果匹配到下一工作流节点,则将下一工作流节点确定为当前工作流节点,继续执行加载当前工作流节点的业务对象及后续步骤。
在本发明的一些实施例中,流程解析器可以包括:
读取子模块,用于根据工作流请求,从网络服务器上下载并读取对应的流程配置文件。
解析子单元,用于解析流程配置文件中包括的流程定义模型从而生成流程执行控制器执行的流程指令。
在本发明的一些实施例中,工作流也即流程是指在计算机应用环境下,对业务过程进行自动化,可以具体这样定义工作流:按照某种预先设置的流程在多个参与者之间传递文档、信息或任务的过程。参与者可以有人或计算机实现的服务。工作流引擎为流程的定义和解释、信息传递的方式和路径、角色的分工和条件等提供实现,是工作流的核心部分。工作流节点是工作流中的一个步骤或环节,通过工作流引擎将一个或多个工作流节点连接起来就形成了工作流,在本发明中,一个工作流节点可以为一个业务,可以指一个完整的业务功能单元,例如查询业务、信息录入业务等。
在本发明实施例中,是在Silverlight技术基础上实现的,Silverlight是微软公司一项Web应用开发技术,它通过浏览器插件,为Web客户端应用提供完整的运行环境。在本发明中,工作流引擎以及应用(可以将业务或多个业务组成的业务流程都统称为应用)都是基于Silverlight技术实现的。Silverlight开发的程序以二进制类库的形式部署在Web服务器上,由浏览器将其下载到客户端并加载运行,也即由于工作流引擎采用Silverlight技术实现,因此可以运行在浏览器中。参见图2所示,是本发明实施例提供的工作流引擎所运行的环境。也就是说,本发明实施例中提供的工作流引擎在需要使用时可以通过浏览器从网络服务器下载到客户端加载运行。
流程配置文件中的流程定义模型可以描述整个流程的节点、节点间转移的条件、节点间传递的数据等等,流程配置文件可以为可扩展标记语言XML文件。应用开发人员开发流程的过程,就是写XML流程配置文件的过程。为了简化开发工作,可以使用一个可视化的流程编辑器,能够大幅提高流程的开发效率。
由于本发明提供的工作流引擎是一个轻量级的引擎,可以满足最常见的客户端工作流场景,也可以根据实际需要进行功能扩展,可以支持顺序流、条件分支流,支持公共变量定义,支持简单的逻辑运算,支持条件判断,支持在节点之间传递数据等。参见图3所示,在本发明的一些实施例中,流程配置文件中的流程定义模型包括公共变量、每个工作流节点的初始化逻辑、运算逻辑表达式以及跳转条件。
一个业务流程是由一个或多个工作流节点组成的。一个工作流节点可以对应一个业务。流程执行控制器在执行一个工作流节点时,有三个方面的工作:首先,加载业务对象,执行特定的初始化逻辑;其次,在业务运行结束或业务对象关闭时,执行本工作流节点的运算逻辑;最后,根据条件判断的结果,进行下一节点的跳转。为了支持在工作流流程中实现一些逻辑,在流程定义模型中增加了公共变量声明,这些公共变量对所有的工作流节点都是可见的,可通过公共变量不同工作流节点之间传递信息。
这样,工作流引擎实施例可以包括:流程解析器以及流程执行控制器,参见图4所示,在本发明实施例工作流引擎的一种工作过程示意图。
流程开发人员使用流程编辑器对流程进行开发,生成流程配置文件,流程配置文件中包括流程定义模型,流程配置文件保存在Web服务器上,由工作流引擎中的流程解析器下载到客户端使用,也即流程解析器根据工作流请求,从网络服务器上下载并读取对应的流程配置文件。
流程解析器解析流程配置文件中的流程定义模型从而生成流程执行控制器执行的流程指令,在解析的过程中,流程解析器会生成一系列的对象,例如流程中定义的公共变量以及逻辑运算表达式等都会转换成内存对象,可以直观地将这些内存对象看作流程指令,因为它们都实现了特定的接口方法,可以被流程控制器调用执行。解析完成后该流程也就做好了运行的准备,流程执行控制器可以开始运行。
流程执行控制器根据流程指令,创建第一个工作流节点所对应的业务对象,并执行当前工作流节点的初始化逻辑,例如包括订阅业务结束时的相关事件。一般地,初始化逻辑还可以包括设置业务对象的一些public属性等。之后,业务就进入了正常的运行状态,展示业务界面、相应用户操作等。此时,业务运行过程与非流程驱动时完全相同。也就是说,一个工作流节点是否在工作流引擎驱动下运行,其运行状态是相同的,工作流节点就是一个业务,每个业务都是独立而完整的,在没有流程引擎的情况下,它们都是可运行的,这样为流程灵活变更创造了条件。
流程执行控制器一直处于等待状态,直到业务运行结束,注册的事件处理程序启动执行,根据当前工作流节点的运算逻辑表达式完成一些逻辑运算。这里的运算相对简单,通常是对业务运行的结果数据做一些分析处理。
流程执行控制器执行条件运算逻辑,并根据运算结果进行路径判断,也即对当前工作流节点的跳转条件进行判断,找到下一个工作流节点。如果当前工作流节点是流程结束节点,则结束流程,流程引擎退出,如果成功匹配到下一个工作流节点,则返回执行加载下一个工作流节点的业务对象及后续步骤。
另外,在本发明的一些实施例中,将工作流引擎的接口封装在业务基类中,以使工作流引擎的接口继承到各个工作流节点中。
需要注意的是,工作流引擎的设计与业务的设计有很好的相互配合,以至于开发交易的人无需为支持工作流作任何额外的工作。这里,需要利用面向对象技术中“封装”、“继承”等特性,参见图5所示,在业务的基类中封装了对工作流引擎接口,例如业务初始化、关闭事件等接口,这些接口会自动继承到具体的业务类中,从而使工作流引擎的接口可以继承到各个工作流节点中。
这样,本发明实施例中提供的工作流引擎直接运行在Web应用的客户端浏览器内,实现了流程控制、节点调用、条件判断等轻量级功能,无需依赖单独的流程服务器,在工作流引擎的工作过程中没有远程调用,节约了用于远程调用的网络通信开销;同时,本发明可以充分利用客户端的计算资源,降低了服务器的运算压力;另外,工作流引擎对于工作流也即应用来说是不可见的,每个工作流节点均可以独立运行,可以为流程灵活变更创造条件。
参见图6所示,本发明实施例中提供的工作流引擎的实现方法实施例,可以包括以下步骤:
步骤601:工作流引擎读取流程配置文件,解析流程配置文件中的流程定义模型从而生成流程执行控制器执行的流程指令,工作流引擎通过浏览器从网络服务器下载到客户端的浏览器内加载运行。
在本发明的一些实施例中,工作流引擎是基于Silverlight技术实现的,流程配置文件为可扩展标记语言XML文件。
工作流引擎需要读取流程配置文件中的流程定义模型,也就是加载配置文件,配置文件一般保存在Web服务器上,需要由工作流引擎将其下载到客户端。
也就是说,在本发明的一些实施例中,读取流程配置文件的具体实现可以包括:根据工作流请求,从网络服务器上下载并读取对应的流程配置文件。
在具体实现中,读取流程配置文件,解析流程配置文件中的流程定义模型从而生成流程执行控制器执行的流程指令可以由流程解析器实现。
在解析的过程中,流程解析器会生成一系列的对象,例如流程中定义的公共变量以及逻辑运算表达式等都会转换成内存对象,可以直观地将这些内存对象看作流程指令,因为它们都实现了特定的接口方法,可以被工作流引擎中的流程控制器调用执行。
在本发明的一些实施例中,流程配置文件中的流程定义模型可以包括公共变量、每个工作流节点的初始化逻辑、运算逻辑表达式以及跳转条件。
一个工作流节点可以对应一个业务。根据流程定义模型流程执行控制器在执行一个工作流节点时,有三个方面的工作:首先,加载业务对象,执行特定的初始化逻辑;其次,在业务运行结束或业务对象关闭时,执行本工作流节点的运算逻辑;最后,根据条件判断的结果,进行下一节点的跳转。为了支持在工作流流程中实现一些逻辑,在流程定义模型中增加了公共变量声明,这些公共变量对所有的工作流节点都是可见的,可通过公共变量不同工作流节点之间传递信息。具体可以参见本实施例中步骤602-604所示。
步骤602:根据流程指令,加载当前工作流节点的业务对象,执行当前工作流节点的初始化逻辑。
流程执行控制器从第一个工作流节点开始加载该工作流节点对应的业务对象,并执行当前工作流节点的初始化逻辑,例如包括订阅业务结束时的相关事件。一般地,初始化逻辑还可以包括设置业务对象的一些public属性等。
步骤603:在当前工作流节点对应的业务运行结束后,根据当前工作流节点的运算逻辑表达式,对业务运行的结果数据进行计算。
在初始化之后,业务可以进入正常的运行状态,展示业务界面、相应用户操作等,在当前工作流节点对应的业务运行结束后,可以执行逻辑运算表达式,通常是对业务运行的结果数据做一些分析处理。
步骤604:对当前工作流节点的跳转条件进行判断,判断是否匹配到下一工作流节点,如果是,则将下一工作流节点确定为当前工作流节点,返回步骤602,如果否,则当前工作流节点为流程结束节点,则结束流程,也即退出工作流引擎。
也就是说,流程执行控制器执行条件运算逻辑,并根据运算结果进行路径判断,也即对当前工作流节点的跳转条件进行判断,找到下一个工作流节点。如果当前工作流节点是流程结束节点,则结束流程,流程引擎退出,如果成功匹配到下一个工作流节点,则返回执行加载下一个工作流节点的业务对象及后续步骤。
另外,在本发明的一些实施例中,将工作流引擎的接口封装在业务基类中,以使工作流引擎的接口继承到各个工作流节点中。
需要注意的是,工作流引擎的设计与业务的设计有很好的相互配合,以至于开发交易的人无需为支持工作流作任何额外的工作。这里,需要利用面向对象技术中“封装”、“继承”等特性,在业务的基类中封装了对工作流引擎接口,例如业务初始化、关闭事件等接口,这些接口会自动继承到具体的业务类中,从而使工作流引擎的接口可以继承到各个工作流节点中。
这样,本发明实施例中提供的工作流引擎直接运行在Web应用的客户端上,实现了流程控制、节点调用、条件判断等轻量级功能,无需依赖单独的流程服务器,在工作流引擎的工作过程中没有远程调用,节约了用于远程调用的网络通信开销;同时,本发明可以充分利用客户端的计算资源,降低了服务器的运算压力;另外,工作流引擎对于工作流也即应用来说是不可见的,每个工作流节点均可以独立运行,可以为流程灵活变更创造条件。
需要说明的是,本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的系统或装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种工作流引擎,其特征在于,所述工作流引擎通过浏览器从网络服务器下载到客户端的所述浏览器内加载运行,所述工作流引擎包括:
流程解析器以及流程执行控制器;
所述流程解析器,用于读取流程配置文件,解析所述流程配置文件中的流程定义模型从而生成所述流程执行控制器执行的流程指令;
所述流程执行控制器,用于根据所述流程指令,加载当前工作流节点的业务对象,执行所述当前工作流节点的初始化逻辑;在当前工作流节点对应的业务运行结束后,根据所述当前工作流节点的运算逻辑表达式,对业务运行的结果数据进行计算;对所述当前工作流节点的跳转条件进行判断,如果所述当前工作流节点为流程结束节点,则所述工作流引擎结束流程,如果匹配到下一工作流节点,则将下一工作流节点确定为当前工作流节点,继续执行加载当前工作流节点的业务对象及后续步骤。
2.根据权利要求1所述的工作流引擎,其特征在于,所述流程解析器包括:
读取子模块,用于根据工作流请求,从网络服务器上下载并读取对应的流程配置文件;
解析子单元,用于解析所述流程配置文件中包括的流程定义模型从而生成所述流程执行控制器执行的流程指令。
3.根据权利要求1所述的工作流引擎,其特征在于,所述流程配置文件中的流程定义模型包括公共变量、每个工作流节点的初始化逻辑、运算逻辑表达式以及跳转条件。
4.根据权利要求1所述的工作流引擎,其特征在于,所述工作流引擎基于Silverlight技术实现,所述流程配置文件为可扩展标记语言XML文件。
5.根据权利要求1所述的工作流引擎,其特征在于,将所述工作流引擎的接口封装在业务基类中,以使所述工作流引擎的接口继承到各个工作流节点中。
6.一种工作流引擎的实现方法,其特征在于,所述方法包括:
工作流引擎读取流程配置文件,解析所述流程配置文件中的流程定义模型从而生成所述流程执行控制器执行的流程指令;所述工作流引擎通过浏览器从网络服务器下载到客户端的所述浏览器内加载运行;
根据所述流程指令,加载当前工作流节点的业务对象,执行所述当前工作流节点的初始化逻辑;
在当前工作流节点对应的业务运行结束后,根据所述当前工作流节点的运算逻辑表达式,对业务运行的结果数据进行计算;
对所述当前工作流节点的跳转条件进行判断,如果所述当前工作流节点为流程结束节点,则结束流程,如果匹配到下一工作流节点,则将下一工作流节点确定为当前工作流节点,继续执行加载当前工作流节点的业务对象及后续步骤。
7.根据权利要求6所述的方法,其特征在于,所述读取流程配置文件,包括:
根据工作流请求,从网络服务器上下载并读取对应的流程配置文件。
8.根据权利要求6所述的方法,其特征在于,所述流程配置文件中的流程定义模型包括公共变量、每个工作流节点的初始化逻辑、运算逻辑表达式以及跳转条件。
9.根据权利要求6所述的方法,其特征在于,所述工作流引擎基于Silverlight技术实现,所述流程配置文件为可扩展标记语言XML文件。
10.根据权利要求6所述的方法,其特征在于,将所述工作流引擎的接口封装在业务基类中,以使所述工作流引擎的接口继承到各个工作流节点中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310690266.9A CN103617066B (zh) | 2013-12-16 | 2013-12-16 | 一种工作流引擎及其实现方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310690266.9A CN103617066B (zh) | 2013-12-16 | 2013-12-16 | 一种工作流引擎及其实现方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103617066A true CN103617066A (zh) | 2014-03-05 |
CN103617066B CN103617066B (zh) | 2016-08-24 |
Family
ID=50167769
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310690266.9A Active CN103617066B (zh) | 2013-12-16 | 2013-12-16 | 一种工作流引擎及其实现方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103617066B (zh) |
Cited By (32)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104363286A (zh) * | 2014-11-18 | 2015-02-18 | 百视通网络电视技术发展有限责任公司 | 一种基于工作流模板驱动的cdn内容分发方法及系统 |
CN105808295A (zh) * | 2016-03-07 | 2016-07-27 | 深圳市思博威尔斯科技有限公司 | 基于xml流的移动终端业务执行方法及系统 |
CN106201472A (zh) * | 2016-06-24 | 2016-12-07 | 网易(杭州)网络有限公司 | 软件开发的任务调度方法及装置 |
CN106600238A (zh) * | 2016-12-26 | 2017-04-26 | 上海轻维软件有限公司 | 基于Activiti流程引擎的网络业务开通实现方法及装置 |
CN106651208A (zh) * | 2016-12-31 | 2017-05-10 | 广州科腾信息技术有限公司 | 基于工作流引擎的业务需求分析方法 |
CN106648573A (zh) * | 2015-11-04 | 2017-05-10 | 北京广联达正源兴邦科技有限公司 | 工作流业务的控制方法、控制系统和终端 |
CN107153950A (zh) * | 2017-06-21 | 2017-09-12 | 广州智萃电子科技有限公司 | 一种基于工作流的工单管理系统 |
CN107391203A (zh) * | 2017-07-28 | 2017-11-24 | 上海振华重工电气有限公司 | 一种自动化码头轨道吊配置方法 |
CN107832130A (zh) * | 2017-10-31 | 2018-03-23 | 中国银行股份有限公司 | 一种银行系统的作业流调度执行方法、装置及电子设备 |
CN108108959A (zh) * | 2017-12-27 | 2018-06-01 | 徐彬 | 一种基于工作流引擎的汽车经销商协同工作平台 |
CN108734454A (zh) * | 2018-05-21 | 2018-11-02 | 杭州有赞科技有限公司 | 退款处理方法和系统 |
CN108846630A (zh) * | 2018-05-25 | 2018-11-20 | 广州衡昊数据科技有限公司 | 一种资源控制系统及方法 |
CN109739626A (zh) * | 2018-12-25 | 2019-05-10 | 环球雅途集团有限公司 | 一种工作流引擎及基于工作流引擎的门禁控制方法 |
CN109741030A (zh) * | 2018-12-28 | 2019-05-10 | 杭州当虹科技股份有限公司 | 一种可自定义配置的简单工作流引擎及工作流执行方法 |
CN109784642A (zh) * | 2018-12-13 | 2019-05-21 | 深圳壹账通智能科技有限公司 | 基于工作流引擎的信贷流程配置方法、装置、设备和介质 |
CN110032371A (zh) * | 2019-04-17 | 2019-07-19 | 杭州玳数科技有限公司 | 一种利用xml存储离线任务工作流的方法及装置 |
CN110084567A (zh) * | 2019-04-26 | 2019-08-02 | 深圳前海微众银行股份有限公司 | 电子印章使用方法、装置、设备及计算机可读存储介质 |
CN110505093A (zh) * | 2019-08-26 | 2019-11-26 | 顺德职业技术学院 | 一种基于云计算数据应用终端设备 |
CN111104181A (zh) * | 2019-12-13 | 2020-05-05 | 中关村科技软件股份有限公司 | 一种可视化编辑任务流程的网页数据填报系统 |
CN111208992A (zh) * | 2020-01-10 | 2020-05-29 | 深圳壹账通智能科技有限公司 | 系统调度工作流生成方法和系统 |
CN111382983A (zh) * | 2018-12-27 | 2020-07-07 | 中国电信股份有限公司 | 工作流控制方法、工作流节点和系统 |
CN111401857A (zh) * | 2020-03-31 | 2020-07-10 | 中国建设银行股份有限公司 | 印章审核流程的流转控制方法及装置 |
CN111553549A (zh) * | 2019-02-12 | 2020-08-18 | 阿里巴巴集团控股有限公司 | 平台的控制方法、装置、存储介质及处理器 |
CN112130823A (zh) * | 2020-09-30 | 2020-12-25 | 广东昆仑信息科技有限公司 | 一种平台开发方法、装置、计算机设备及存储介质 |
CN112230933A (zh) * | 2020-09-16 | 2021-01-15 | 贝壳技术有限公司 | 流程引擎自动转换方法、装置、电子介质及存储介质 |
CN112540813A (zh) * | 2021-01-09 | 2021-03-23 | 浙江工业大学 | 一种基于工作流引擎的应用生成方法 |
CN112562217A (zh) * | 2020-12-16 | 2021-03-26 | 恒银金融科技股份有限公司 | 自助终端控制系统的流程引擎设计、通讯方式、工作方法 |
CN113657753A (zh) * | 2021-08-17 | 2021-11-16 | 浙江海心智惠科技有限公司 | 一种员工业绩核算用工单评分工作引擎 |
CN114528041A (zh) * | 2022-01-29 | 2022-05-24 | 杭州火树科技有限公司 | 一种可配置的自动化解析方法和装置 |
CN114595067A (zh) * | 2022-03-18 | 2022-06-07 | 北京百度网讯科技有限公司 | 工作流节点的执行方法、装置、设备以及存储介质 |
CN116402474A (zh) * | 2023-06-01 | 2023-07-07 | 快应数科(北京)科技有限公司 | 支持非路由方向进行流转的工作流引擎流转方法和装置 |
CN117610320A (zh) * | 2024-01-23 | 2024-02-27 | 中国人民解放军国防科技大学 | 有向无环图工作流引擎循环调度方法、装置和设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1487435A (zh) * | 2002-10-03 | 2004-04-07 | 鸿富锦精密工业(深圳)有限公司 | 工作流程分配系统及方法 |
CN102467389A (zh) * | 2010-10-29 | 2012-05-23 | 国际商业机器公司 | 基于Web浏览器的业务过程管理方法和装置 |
CN102520968A (zh) * | 2011-12-28 | 2012-06-27 | 用友软件股份有限公司 | 可个性化定制的流程设计与展现装置及方法 |
CN102934111A (zh) * | 2010-06-04 | 2013-02-13 | Mcl系统有限公司 | 集成的工作流和数据库事务 |
-
2013
- 2013-12-16 CN CN201310690266.9A patent/CN103617066B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1487435A (zh) * | 2002-10-03 | 2004-04-07 | 鸿富锦精密工业(深圳)有限公司 | 工作流程分配系统及方法 |
CN102934111A (zh) * | 2010-06-04 | 2013-02-13 | Mcl系统有限公司 | 集成的工作流和数据库事务 |
CN102467389A (zh) * | 2010-10-29 | 2012-05-23 | 国际商业机器公司 | 基于Web浏览器的业务过程管理方法和装置 |
CN102520968A (zh) * | 2011-12-28 | 2012-06-27 | 用友软件股份有限公司 | 可个性化定制的流程设计与展现装置及方法 |
Non-Patent Citations (1)
Title |
---|
蔡孝武等: "一种轻量级工作流引擎的研究与设计", 《计算机工程》 * |
Cited By (37)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104363286B (zh) * | 2014-11-18 | 2018-01-16 | 百视通网络电视技术发展有限责任公司 | 一种基于工作流模板驱动的cdn内容分发方法及系统 |
CN104363286A (zh) * | 2014-11-18 | 2015-02-18 | 百视通网络电视技术发展有限责任公司 | 一种基于工作流模板驱动的cdn内容分发方法及系统 |
CN106648573A (zh) * | 2015-11-04 | 2017-05-10 | 北京广联达正源兴邦科技有限公司 | 工作流业务的控制方法、控制系统和终端 |
CN105808295B (zh) * | 2016-03-07 | 2019-05-31 | 深圳市思博威尔斯科技有限公司 | 基于xml流的移动终端业务执行方法及系统 |
CN105808295A (zh) * | 2016-03-07 | 2016-07-27 | 深圳市思博威尔斯科技有限公司 | 基于xml流的移动终端业务执行方法及系统 |
CN106201472A (zh) * | 2016-06-24 | 2016-12-07 | 网易(杭州)网络有限公司 | 软件开发的任务调度方法及装置 |
CN106600238A (zh) * | 2016-12-26 | 2017-04-26 | 上海轻维软件有限公司 | 基于Activiti流程引擎的网络业务开通实现方法及装置 |
CN106651208A (zh) * | 2016-12-31 | 2017-05-10 | 广州科腾信息技术有限公司 | 基于工作流引擎的业务需求分析方法 |
CN107153950A (zh) * | 2017-06-21 | 2017-09-12 | 广州智萃电子科技有限公司 | 一种基于工作流的工单管理系统 |
CN107391203A (zh) * | 2017-07-28 | 2017-11-24 | 上海振华重工电气有限公司 | 一种自动化码头轨道吊配置方法 |
CN107832130A (zh) * | 2017-10-31 | 2018-03-23 | 中国银行股份有限公司 | 一种银行系统的作业流调度执行方法、装置及电子设备 |
CN108108959A (zh) * | 2017-12-27 | 2018-06-01 | 徐彬 | 一种基于工作流引擎的汽车经销商协同工作平台 |
CN108734454A (zh) * | 2018-05-21 | 2018-11-02 | 杭州有赞科技有限公司 | 退款处理方法和系统 |
CN108846630A (zh) * | 2018-05-25 | 2018-11-20 | 广州衡昊数据科技有限公司 | 一种资源控制系统及方法 |
CN108846630B (zh) * | 2018-05-25 | 2022-06-03 | 广州衡昊数据科技有限公司 | 一种资源控制系统及方法 |
CN109784642A (zh) * | 2018-12-13 | 2019-05-21 | 深圳壹账通智能科技有限公司 | 基于工作流引擎的信贷流程配置方法、装置、设备和介质 |
CN109739626A (zh) * | 2018-12-25 | 2019-05-10 | 环球雅途集团有限公司 | 一种工作流引擎及基于工作流引擎的门禁控制方法 |
CN111382983A (zh) * | 2018-12-27 | 2020-07-07 | 中国电信股份有限公司 | 工作流控制方法、工作流节点和系统 |
CN109741030A (zh) * | 2018-12-28 | 2019-05-10 | 杭州当虹科技股份有限公司 | 一种可自定义配置的简单工作流引擎及工作流执行方法 |
CN111553549A (zh) * | 2019-02-12 | 2020-08-18 | 阿里巴巴集团控股有限公司 | 平台的控制方法、装置、存储介质及处理器 |
CN110032371A (zh) * | 2019-04-17 | 2019-07-19 | 杭州玳数科技有限公司 | 一种利用xml存储离线任务工作流的方法及装置 |
CN110084567A (zh) * | 2019-04-26 | 2019-08-02 | 深圳前海微众银行股份有限公司 | 电子印章使用方法、装置、设备及计算机可读存储介质 |
CN110505093A (zh) * | 2019-08-26 | 2019-11-26 | 顺德职业技术学院 | 一种基于云计算数据应用终端设备 |
CN111104181A (zh) * | 2019-12-13 | 2020-05-05 | 中关村科技软件股份有限公司 | 一种可视化编辑任务流程的网页数据填报系统 |
CN111208992A (zh) * | 2020-01-10 | 2020-05-29 | 深圳壹账通智能科技有限公司 | 系统调度工作流生成方法和系统 |
CN111401857A (zh) * | 2020-03-31 | 2020-07-10 | 中国建设银行股份有限公司 | 印章审核流程的流转控制方法及装置 |
CN112230933A (zh) * | 2020-09-16 | 2021-01-15 | 贝壳技术有限公司 | 流程引擎自动转换方法、装置、电子介质及存储介质 |
CN112130823A (zh) * | 2020-09-30 | 2020-12-25 | 广东昆仑信息科技有限公司 | 一种平台开发方法、装置、计算机设备及存储介质 |
CN112562217A (zh) * | 2020-12-16 | 2021-03-26 | 恒银金融科技股份有限公司 | 自助终端控制系统的流程引擎设计、通讯方式、工作方法 |
CN112540813A (zh) * | 2021-01-09 | 2021-03-23 | 浙江工业大学 | 一种基于工作流引擎的应用生成方法 |
CN113657753A (zh) * | 2021-08-17 | 2021-11-16 | 浙江海心智惠科技有限公司 | 一种员工业绩核算用工单评分工作引擎 |
CN114528041A (zh) * | 2022-01-29 | 2022-05-24 | 杭州火树科技有限公司 | 一种可配置的自动化解析方法和装置 |
CN114595067A (zh) * | 2022-03-18 | 2022-06-07 | 北京百度网讯科技有限公司 | 工作流节点的执行方法、装置、设备以及存储介质 |
CN116402474A (zh) * | 2023-06-01 | 2023-07-07 | 快应数科(北京)科技有限公司 | 支持非路由方向进行流转的工作流引擎流转方法和装置 |
CN116402474B (zh) * | 2023-06-01 | 2023-09-05 | 快应数科(北京)科技有限公司 | 支持非路由方向进行流转的工作流引擎流转方法和装置 |
CN117610320A (zh) * | 2024-01-23 | 2024-02-27 | 中国人民解放军国防科技大学 | 有向无环图工作流引擎循环调度方法、装置和设备 |
CN117610320B (zh) * | 2024-01-23 | 2024-04-02 | 中国人民解放军国防科技大学 | 有向无环图工作流引擎循环调度方法、装置和设备 |
Also Published As
Publication number | Publication date |
---|---|
CN103617066B (zh) | 2016-08-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103617066A (zh) | 一种工作流引擎及其实现方法 | |
CN109286653B (zh) | 智能云工程平台 | |
Wan et al. | Composition challenges and approaches for cyber physical systems | |
CN102087577B (zh) | 与位置无关地执行用户接口操作 | |
CN104317591A (zh) | 一种基于OSGi的web界面框架系统及web业务处理方法 | |
CN105893055B (zh) | 流程引擎平台化触发方法 | |
CN100596139C (zh) | 使用元数据定义映射来构建组件应用程序的系统和方法 | |
CN104391701A (zh) | 一种能效评估软件开发方法 | |
CN102662656A (zh) | 一种程序结构插件化方法及系统 | |
CN102664952B (zh) | 一种对嵌入式设备集群管理及监控的方法 | |
Dissaux et al. | The SMART project: Multi-agent scheduling simulation of real-time architectures | |
CN102375743B (zh) | 一种基于模型和模板开发soa系统的方法 | |
CN105183485A (zh) | 一种可视化软硬件协同开发方法 | |
US20070006121A1 (en) | Development activity recipe | |
Prehofer et al. | From IoT mashups to model-based IoT | |
Navas et al. | A component-based run-time evolution infrastructure for resource-constrained embedded systems | |
CN113609633A (zh) | 一种基于模型的复杂体系协同仿真与验证评估系统和方法 | |
CN101599012A (zh) | 一种用于网格计算的图形化开发方法 | |
McGregor et al. | Architectures of transportation cyber-physical systems | |
CN110427189A (zh) | 远程动态编译Android工程的方法、服务器及系统 | |
KR20150117926A (ko) | 조립형 모델링 시뮬레이션 개발방법 및 이의 시뮬레이션 시스템 | |
Gherari et al. | A smart mobile cloud environment for modelling and simulation of mobile cloud applications | |
KR101438924B1 (ko) | 타입인지 웹 서비스 구성을 위한 모델 체킹 시스템 및 방법 | |
Tao et al. | Model Based Methodology and Framework for Design and Management of Next-Gen IoT Systems. | |
CN103699366A (zh) | 一种大规模上下文管理系统、方法及实现方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |