CN106919438B - 一种虚拟化环境中工作流处理方法和框架装置 - Google Patents
一种虚拟化环境中工作流处理方法和框架装置 Download PDFInfo
- Publication number
- CN106919438B CN106919438B CN201710128835.9A CN201710128835A CN106919438B CN 106919438 B CN106919438 B CN 106919438B CN 201710128835 A CN201710128835 A CN 201710128835A CN 106919438 B CN106919438 B CN 106919438B
- Authority
- CN
- China
- Prior art keywords
- task
- flow definition
- execution request
- state
- task 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.)
- Active
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 9
- 238000012545 processing Methods 0.000 claims abstract description 42
- 238000000034 method Methods 0.000 claims abstract description 35
- 230000002085 persistent effect Effects 0.000 claims abstract description 4
- 230000002688 persistence Effects 0.000 claims description 11
- 238000004458 analytical method Methods 0.000 claims description 3
- 230000008569 process Effects 0.000 description 10
- 238000013461 design Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 2
- 235000010627 Phaseolus vulgaris Nutrition 0.000 description 1
- 244000046052 Phaseolus vulgaris Species 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45595—Network integration; Enabling network access in virtual machine instances
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Stored Programmes (AREA)
Abstract
本申请提供一种虚拟化环境中工作流处理方法和框架,方法包括:当获取到工作流程框架的启动指令时,扫描并解析指定路径中的XML格式的任务流程定义文件;将解析后的XML格式的任务流程定义文件转换为Java格式的任务流程定义文件;持久化所述Java格式的任务流程定义文件;初始化任务缓存队列;初始化任务消费者;对获取到的任务执行请求进行处理。在多次执行任务执行请求时,无需重复解析XML格式的任务流程定义,降低了虚拟化平台的数据处理量,提高了虚拟化平台的数据处理速度。
Description
技术领域
本发明涉及计算机软件技术领域,具体涉及一种虚拟化环境中工作流处理方法和框架。
背景技术
在网络服务领域中,随着虚拟化云计算技术的飞速发展,对于相应的虚拟化管理平台的要求也越来越高,而虚拟化管理平台的中多数操作的流程化,已经成为必不可少的设计,然而现有的工作流框架在后期重复处理任务执行请求时,需不断重新解析XML任务流程定义文件,增加了虚拟化管理平台的处理量,影响其数据处理速度。
发明内容
有鉴于此,本发明实施例提供一种虚拟化环境中工作流处理方法和框架,以提高虚拟化环境中虚拟化管理平台对任务请求的处理效率。
为实现上述目的,本发明实施例提供如下技术方案:
一种虚拟化环境中工作流处理方法,应用于虚拟化平台工作流程框架中,包括:
当获取到工作流程框架的启动指令时,扫描并解析指定路径中的XML格式的任务流程定义文件;
将解析后的XML格式的任务流程定义文件转换为Java格式的任务流程定义文件;
持久化所述Java格式的任务流程定义文件;
初始化任务缓存队列;
初始化任务消费者;
对获取到的任务执行请求进行处理。
优选的,本申请上述实施例公开的虚拟化环境中工作流处理方法中,所述对获取到的任务执行请求进行处理,具体包括:
等待任务执行请求;
当获取到所述任务执行请求时,根据任务执行请求ID查询任务流程定义Java对象;
初始化任务实例,并设定任务实例的状态为开始状态;
将所述任务实例提交到任务缓存队列中;
依据预设原则由所述任务缓存队列提取任务执行请求;
执行所述任务执行请求,并将任务状态修改为下一步骤;
判断当前任务状态是否为结束状态,如果否,将任务执行请求重新提交到所述缓存队列中,如果是,表明所述任务执行请求执行完毕。
优选的,上述虚拟化环境中工作流处理方法中,扫描并解析XML任务定义文件之前,还包括:
依据虚拟化环境需求简化任务流程定义,将所述任务流定义简化为只包含预设元素;
根据所述预设元素定义相应的任务流成定义Java对象。
优选的,上述虚拟化环境中工作流处理方法中,所述预设元素至少包括:
开始状态元素、结束状态元素、Service Task元素、Task Flow元素以及exclusivegateway元素。
一种虚拟化环境中工作流处理框架,应用于虚拟化平台中,包括:
解析模块,用于扫描并解析指定路径中的XML格式的任务流程定义文件,将解析后的XML格式的任务流程定义文件转换为Java格式的任务流程定义文件;
持久化模块,用于ORM框架持久化所述Java格式的任务流程定义文件到数据库中,初始化任务缓存队列和任务消费者,向执行引擎模块输出触发信号;
执行引擎模块,用于获取任务执行请求并对获取到的任务执行请求进行处理。
优选的,上述虚拟化环境中工作流处理框架中,所述执行引擎模块,具体用于:由所述数据库的持久化层获取与获取到的任务执行请求相对应的任务流程定义,所述执行引擎模块内部采用状态机模型、以及Block Que作为高效缓存队列,进行执行任务。
优选的,上述虚拟化环境中工作流处理框架中,所述执行引擎模块具体被配置为:
等待任务执行请求;
当获取到所述任务执行请求时,根据任务执行请求ID查询所述数据库的持久化层中对应的任务流程定义Java对象;
初始化任务实例,并设定任务实例的状态为开始状态;
将所述任务实例提交到任务缓存队列中;
依据预设原则由所述任务缓存队列提取任务执行请求;
执行所述任务执行请求,并将任务状态修改为下一步骤;
判断当前任务状态是否为结束状态,如果否,将任务执行请求重新提交到所述缓存队列中,如果是,表明所述任务执行请求执行完毕。
优选的,上述虚拟化环境中工作流处理框架中,还包括:
任务流程定义简化单元,用于依据虚拟化环境需求简化任务流程定义,将所述任务流定义简化为只包含预设元素;根据所述预设元素定义相应的任务流成定义Java对象。
优选的,上述虚拟化环境中工作流处理框架中,任务流程定义简化单元,具体被配置为:将所述任务流定义简化为只包含开始状态元素、结束状态元素、Service Task元素、Task Flow元素以及exclusive gateway元素;根据所述开始状态元素、结束状态元素、Service Task元素、Task Flow元素以及exclusive gateway元素定义相应的任务流成定义Java对象。
基于上述技术方案,本发明实施例提供的上述方案,通过将XML格式的任务流程定义文件转换为Java格式的任务流程定义文件,并对所述Java格式的任务流程定义文件进行持久化处理,从而在多次执行任务执行请求时,无需重复解析XML格式的任务流程定义,降低了虚拟化平台的数据处理量,提高了虚拟化平台的数据处理速度。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请实施例公开的一种虚拟化环境中工作流处理方法的流程示意图;
图2为本申请实施例公开的一种任务执行请求处理的方法流程示意图;
图3为本申请实施例公开的虚拟化环境中工作流处理框架的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
然而现有的工作流框架多数用于处理专门的流程性业务工作,虽然功能强大全面,传统工作流程框架的多数功能在虚拟化环境中应用不到,但是虚拟化环境对工作流程框架的性能却要求较高,这种条件下传统工作流框架就难以满足需求。因此提供一套合理高效的工作流框架设计是十分有必要的。
针对于上述问题,本申请设计了一种虚拟化环境中工作流处理方法,应用于虚拟化平台工作流程框架中,参见图1,该方法可以包括:
步骤S101:判断是否获取到工作流程框架启动指令,如果是,执行步骤S102;
步骤S102:扫描并解析指定路径中的XML格式的任务流程定义文件;
步骤S103:将解析后的XML格式的任务流程定义文件转换为Java格式的任务流程定义文件;
步骤S104:持久化所述Java格式的任务流程定义文件;
所述步骤S103和所述步骤S104中,对于相应的XML格式的任务流程定义对应的Java类型,并在工作流程框架启动初期一次性转换Java格式的任务流程定义文件,并进行缓存,以减少后期任务重复执行时去不断重新解析XML格式的任务流程定义文件所带来的代价;
步骤S105:初始化任务缓存队列和任务消费者;
步骤S106:对获取到的任务执行请求进行处理;
在本步骤中,通过执行引擎模块对获取到的任务执行请求进行处理,在具体实施时,该模块可以放弃传统的工作流框架使用数据库作为流程记录的中间媒介,采用JavaBlockqueue的方式,进行内存中的任务流程的实时添加实时执行的设计,加快任务处理速度。
通过本申请上述实施例公开的技术方案可见,通过将XML格式的任务流程定义文件转换为Java格式的任务流程定义文件,并对所述Java格式的任务流程定义文件进行持久化处理,从而在多次执行任务执行请求时,无需重复解析XML格式的任务流程定义,降低了虚拟化平台的数据处理量,提高了虚拟化平台的数据处理速度。
参见图2,本申请上述实施例公开的技术方案中,所述通过执行引擎模块对任务执行请求进行处理,在本申请实施例公开的技术方案中,该模块可以采用Blockqueue的方式对获取到的任务执行请求进行处理,这种处理方式省去了存储数据库的代价,并且,相较于传统的工作流程框架,将处理步骤记录到数据库中,并进行周期性查询数据库读取步骤的方式,可以实时性的取出并执行提交的任务,无须等待到下一周期,大大提高了工作效率,以及降低了复杂性。具体的,参见图2,执行引擎模块对任务执行请求进行处理的具体过程可以包括:
步骤S201:判断是否获取到新的任务执行请求,如果是,执行步骤S202;
步骤S202:当获取到新的任务执行请求时,对所述任务执行请求进行解析,得到所述任务执行请求的ID信息,根据获取到的任务执行请求的ID查询与其对应的任务流程定义Java对象;
步骤S203:初始化任务实例,并设定任务实例的状态为开始状态;
在本步骤中,设定任务实例的状态为开始状态(Start Event),以表明该任务实例中的任务执行请求为第一次处理;
步骤S204:将所述任务实例(此时所述任务实例中包含有待处理的任务执行请求)提交到任务缓存队列中,同时向任务请求者输出响应信号;
步骤S205:依据预设原则由所述任务缓存队列中提取任务实例所包含的任务执行请求;
具体的提取原则可以依据用户需求自行设定,例如,依据时间顺序、依据任务执行ID信息等;
步骤S206:执行所述任务执行请求,并将任务状态修改为下一步骤;
在本步骤中,当每执行一次任务执行请求,将所述任务执行请求的状态修改为下一状态,直至所述任务执行请求的状态被修改为结束状态为止,当所述任务执行请求的状态修改为结束状态时,表明任务执行请求处理完毕;
步骤S207:判断当前任务状态是否为结束状态,如果否,执行步骤S208,如果是,表明所述任务执行请求执行完毕,继续由缓存队列中提取其他任务请求;
步骤S208:将任务执行请求重新提交到所述缓存队列中;
当判断当前任务执行请求的任务状态不为结束状态时,表明该任务执行请求未处理完毕,再次将其放入缓存队列中,等待下一次对该任务执行请求进行处理。
本申请实施例公开的技术方案中,仍然采用现有技术中基于BPMN2.0的XML任务流程定义,当然,为了降低工作流框架的设计复杂度,本申请公开的技术方案可以对所述XML任务流程定义中可应用的元素进行限定,以减少工作流框架的设计复杂度;具体的,在本申请上述实施例公开的技术方案扫描并解析XML任务定义文件之前,上述方法,还可以包括:
依据虚拟化环境需求简化任务流程定义,将所述任务流定义简化为只包含预设元素;根据所述预设元素定义相应的任务流成定义Java对象。
其中,所述预设元素的具体类型可以依据用户需求自行设定,例如,在本申请实施例公开的技术方案中,所述预设元素至少包括:
开始状态元素、结束状态元素、Service Task元素(包含:操作对象Bean名称,方法名,参数列表),Task Flow元素(输入步骤,输出步骤),exclusive gateway元素(输入步骤,条件输出步骤与相关联的判断条件Groovy语句组合列表);
本申请上述实施例公开的方法中,执行引擎模块的实现核心为简单的“状态机”机制,该状态机机制具体描述为:
i.以Start Event为任务起始状态,以End Event为任务结束状态;
ii.以Task Flow为转换元素,将任务流的所有元素串联起来,从一个状态转换流向另外一个状态(即:通过Task Flow元素,从一个Service Task流向下一个Service Task,从而实现所有Service Task的顺序执行);
iii.对于Service Task元素,则根据Service Task提供的对象名称,参数列表,以Java反射的方式执行相应的方法;
iv.对于exclusive gateway,作为条件角色,执行输出步骤的Groovy脚本,选择满足条件的下一步骤;
所述执行引擎模块采用异步执行方式对任务请求进行处理,处理过程整体描述为:
i.任务请求提交触发之后(所有的任务请求以Start Event为起始状态,并提交到任务缓存队列之后),即刻返回;
ii.后台任务消费者(执行引擎模块启动时会自动根据参数配置初始化一定量的任务消费者)从任务缓存队列取出任务请求,并根据任务请求当期状态执行相应步骤;
在本申请实施例公开的技术方案中,所述行引擎模块使用Java BlockQue作为核心的任务缓存队列,即所有的任务请求都会被提交到任务缓存对列总;任务消费者也会从该队列中不断取出任务请求进行执行;
其中,所述执行引擎模块中的任务消费者的核心功能为:
i.从任务缓存队列中取出一个任务请求;
ii.根据任务请求的当前状态(初始为Start Event状态),执行该状态对应的操作(如:Service Task需要执行相应的Java方法);
iii.对所述任务请求执行完当前任务状态对应的操作之后,根据Task Flow找出任务的下一步骤,并修改任务请求的状态为下一步骤;
iv.判断任务请求的状态是否为End Event,如果是则完成任务执行,否则将所述任务请求重新提交到缓存队列中(此时无需将任务请求的状态设定为Start Event)。
与上述方法相对应,本申请公开了一种虚拟化环境中工作流处理框架,该框架可应用于虚拟化平台中,上述方法与本框架中的技术特征可相互借鉴,该框架中各个模块的工作方式可参见上述方法中对各个步骤的具体描述,参见图3,该框架的框架结构可以包括:
解析模块100,用于扫描并解析指定路径中的XML格式的任务流程定义文件,将解析后的XML格式的任务流程定义文件转换为Java格式的任务流程定义文件;
持久化模块200,用于ORM框架持久化所述Java格式的任务流程定义文件到数据库中,初始化任务缓存队列和任务消费者,向执行引擎模块输出触发信号;
执行引擎模块300,用于获取任务执行请求并对获取到的任务执行请求进行处理。
与上述方法线对应,所述执行引擎模块300,具体用于:由所述数据库的持久化层获取与获取到的任务执行请求相对应的任务流程定义,所述执行引擎模块内部采用状态机模型、以及Block Que作为高效缓存队列,进行执行任务。
与上述方法相对应,上述系统中,所述执行引擎模块具体被配置为:
等待任务执行请求;
当获取到所述任务执行请求时,根据任务执行请求ID查询所述数据库的持久化层中对应的任务流程定义Java对象;
初始化任务实例,并设定任务实例的状态为开始状态;
将所述任务实例提交到任务缓存队列中;
依据预设原则由所述任务缓存队列提取任务执行请求;
执行所述任务执行请求,并将任务状态修改为下一步骤;
判断当前任务状态是否为结束状态,如果否,将任务执行请求重新提交到所述缓存队列中,如果是,表明所述任务执行请求执行完毕。
与上述方法相对应,在本申请上述实施例公开的上述系统中,还包括:
任务流程定义简化单元,用于依据虚拟化环境需求简化任务流程定义,将所述任务流定义简化为只包含预设元素;根据所述预设元素定义相应的任务流成定义Java对象。具体的,所述任务流程定义简化单元,可以被配置为:将所述任务流定义简化为只包含开始状态元素、结束状态元素、Service Task元素、Task Flow元素以及exclusive gateway元素;根据所述开始状态元素、结束状态元素、Service Task元素、Task Flow元素以及exclusive gateway元素定义相应的任务流成定义Java对象。
为了描述的方便,描述以上系统时以功能分为各种模块分别描述。当然,在实施本申请时可以把各模块的功能在同一个或多个软件和/或硬件中实现。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统或系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的系统及系统实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (7)
1.一种虚拟化环境中工作流处理方法,应用于虚拟化平台工作流程框架装置中,其特征在于,包括:
当获取到工作流程框架装置的启动指令时,扫描并解析指定路径中的XML格式的任务流程定义文件;
将解析后的XML格式的任务流程定义文件转换为Java格式的任务流程定义文件;
持久化所述Java格式的任务流程定义文件;
初始化任务缓存队列;
初始化任务消费者;
对获取到的任务执行请求进行处理;所述对获取到的任务执行请求进行处理,具体包括:
等待任务执行请求;
当获取到所述任务执行请求时,根据任务执行请求ID查询任务流程定义Java对象;
初始化任务实例,并设定任务实例的状态为开始状态;
将所述任务实例提交到任务缓存队列中;
依据预设原则由所述任务缓存队列提取任务执行请求;
执行所述任务执行请求,并将任务状态修改为下一步骤;
判断当前任务状态是否为结束状态,如果否,将任务执行请求重新提交到所述缓存队列中,如果是,表明所述任务执行请求执行完毕。
2.根据权利要求1所述的虚拟化环境中工作流处理方法,其特征在于,扫描并解析XML任务定义文件之前,还包括:
依据虚拟化环境需求简化任务流程定义,将所述任务流程定义简化为只包含预设元素;
根据所述预设元素定义相应的任务流程定义Java对象。
3.根据权利要求2所述的虚拟化环境中工作流处理方法,其特征在于,所述预设元素至少包括:
开始状态元素、结束状态元素、Service Task元素、Task Flow元素以及exclusivegateway元素。
4.一种虚拟化环境中工作流处理框架装置,应用于虚拟化平台中,其特征在于,包括:
解析模块,用于扫描并解析指定路径中的XML格式的任务流程定义文件,将解析后的XML格式的任务流程定义文件转换为Java格式的任务流程定义文件;
持久化模块,用于ORM框架持久化所述Java格式的任务流程定义文件到数据库中,初始化任务缓存队列和任务消费者,向执行引擎模块输出触发信号;
执行引擎模块,用于获取任务执行请求并对获取到的任务执行请求进行处理;
所述执行引擎模块具体被配置为:
等待任务执行请求;
当获取到所述任务执行请求时,根据任务执行请求ID查询所述数据库的持久化层中对应的任务流程定义Java对象;
初始化任务实例,并设定任务实例的状态为开始状态;
将所述任务实例提交到任务缓存队列中;
依据预设原则由所述任务缓存队列提取任务执行请求;
执行所述任务执行请求,并将任务状态修改为下一步骤;
判断当前任务状态是否为结束状态,如果否,将任务执行请求重新提交到所述缓存队列中,如果是,表明所述任务执行请求执行完毕。
5.根据权利要求4所述的虚拟化环境中工作流处理框架装置,其特征在于,所述执行引擎模块,具体用于:由所述数据库的持久化层获取与获取到的任务执行请求相对应的任务流程定义,所述执行引擎模块内部采用状态机模型、以及Block Queue作为高效缓存队列,进行执行任务。
6.根据权利要求4所述的虚拟化环境中工作流处理框架装置,其特征在于,还包括:
任务流程定义简化单元,用于依据虚拟化环境需求简化任务流程定义,将所述任务流程定义简化为只包含预设元素;根据所述预设元素定义相应的任务流程定义Java对象。
7.根据权利要求6所述的虚拟化环境中工作流处理框架装置,其特征在于,任务流程定义简化单元,具体被配置为:将所述任务流程定义简化为只包含开始状态元素、结束状态元素、Service Task元素、Task Flow元素以及exclusive gateway元素;根据所述开始状态元素、结束状态元素、Service Task元素、Task Flow元素以及exclusive gateway元素定义相应的任务流程定义Java对象。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710128835.9A CN106919438B (zh) | 2017-03-06 | 2017-03-06 | 一种虚拟化环境中工作流处理方法和框架装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710128835.9A CN106919438B (zh) | 2017-03-06 | 2017-03-06 | 一种虚拟化环境中工作流处理方法和框架装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106919438A CN106919438A (zh) | 2017-07-04 |
CN106919438B true CN106919438B (zh) | 2021-06-25 |
Family
ID=59460642
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710128835.9A Active CN106919438B (zh) | 2017-03-06 | 2017-03-06 | 一种虚拟化环境中工作流处理方法和框架装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106919438B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107566181B (zh) * | 2017-09-12 | 2021-05-04 | 郑州云海信息技术有限公司 | 一种网络管理方法及虚拟化管理平台 |
CN110825428A (zh) * | 2019-11-06 | 2020-02-21 | 政采云有限公司 | 一种状态机配置方法、装置、设备及可读存储介质 |
CN111142975B (zh) * | 2019-12-12 | 2023-07-14 | 贝壳技术有限公司 | 状态机持久化方法及状态机持久化系统 |
CN111367645B (zh) * | 2020-03-18 | 2023-12-22 | 中国建设银行股份有限公司 | 一种实时任务调度控制方法、系统、设备及可读存储介质 |
CN112801632A (zh) * | 2021-02-25 | 2021-05-14 | 北京平恒智能科技有限公司 | 一种基于控制反转技术实现机器视觉检测任务流定制化管理的方法 |
CN113342484B (zh) * | 2021-05-14 | 2022-04-26 | 深圳奥哲网络科技有限公司 | 流程引擎方法、系统、设备及存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101539861A (zh) * | 2009-05-04 | 2009-09-23 | 江西省电力信息通讯有限公司 | 一种通用工作流图形化设计和验证工具 |
CN105740324A (zh) * | 2016-01-21 | 2016-07-06 | 中科院成都信息技术股份有限公司 | 一种跨平台的、高效的可视化工作流引擎 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11057388B2 (en) * | 2015-05-08 | 2021-07-06 | Craig Technical Consulting, Inc. | Method and computer program product for creating enterprise management systems |
-
2017
- 2017-03-06 CN CN201710128835.9A patent/CN106919438B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101539861A (zh) * | 2009-05-04 | 2009-09-23 | 江西省电力信息通讯有限公司 | 一种通用工作流图形化设计和验证工具 |
CN105740324A (zh) * | 2016-01-21 | 2016-07-06 | 中科院成都信息技术股份有限公司 | 一种跨平台的、高效的可视化工作流引擎 |
Also Published As
Publication number | Publication date |
---|---|
CN106919438A (zh) | 2017-07-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106919438B (zh) | 一种虚拟化环境中工作流处理方法和框架装置 | |
CN109002510B (zh) | 一种对话处理方法、装置、设备和介质 | |
CN111552633A (zh) | 接口的异常调用测试方法、装置、计算机设备及存储介质 | |
CN108647329B (zh) | 用户行为数据的处理方法、装置及计算机可读存储介质 | |
WO2020232871A1 (zh) | 一种微服务依赖分析方法及装置 | |
CN110147470B (zh) | 一种跨机房数据比对系统及方法 | |
CN115150471B (zh) | 数据处理方法、装置、设备、存储介质及程序产品 | |
CN117195568B (zh) | 一种基于离散事件的仿真引擎性能分析方法及装置 | |
CN115480753A (zh) | 应用集成系统及相应计算机设备和存储介质 | |
CN111190727A (zh) | 内存的异步析构方法、装置、计算机设备及存储介质 | |
CN114223189A (zh) | 时长统计方法、装置、电子设备和计算机可读介质 | |
CN107871055B (zh) | 一种数据分析方法和装置 | |
CN107870921B (zh) | 一种日志数据处理方法及装置 | |
CN112883088A (zh) | 一种数据处理方法、装置、设备及存储介质 | |
CN117112341A (zh) | 一种基于asm字节码插桩的非入侵准实时监控方法及系统 | |
CN108062224B (zh) | 基于文件句柄的数据读写方法、装置及计算设备 | |
CN115525392A (zh) | 容器监控方法、装置、电子设备及存储介质 | |
CN111190725B (zh) | 任务处理方法、装置、存储介质及服务器 | |
CN113722141A (zh) | 数据任务的延迟原因确定方法、装置、电子设备及介质 | |
CN113010852A (zh) | 数据的计量统计方法、装置、电子设备及存储介质 | |
CN110928876A (zh) | 资信数据存储的方法和装置 | |
CN114338494B (zh) | 服务依赖拓扑关系获取方法和装置、存储介质和电子设备 | |
CN110750563A (zh) | 多模型数据处理方法、系统、装置、电子设备及存储介质 | |
US9672294B2 (en) | Partial data report generation with data costing notification | |
CN112948476B (zh) | 机器学习系统的数据接入方法、装置、系统和存储介质 |
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 |