CN111240812A - 任务执行方法及装置 - Google Patents
任务执行方法及装置 Download PDFInfo
- Publication number
- CN111240812A CN111240812A CN201811436442.5A CN201811436442A CN111240812A CN 111240812 A CN111240812 A CN 111240812A CN 201811436442 A CN201811436442 A CN 201811436442A CN 111240812 A CN111240812 A CN 111240812A
- Authority
- CN
- China
- Prior art keywords
- executed
- task
- execution
- tasks
- executing
- 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
- 238000000034 method Methods 0.000 title claims abstract description 66
- 230000000694 effects Effects 0.000 claims abstract description 19
- 238000012544 monitoring process Methods 0.000 claims description 10
- 238000004590 computer program Methods 0.000 claims description 7
- 238000012545 processing Methods 0.000 abstract description 39
- 230000008569 process Effects 0.000 abstract description 33
- 230000007246 mechanism Effects 0.000 abstract description 10
- 238000004891 communication Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 238000010295 mobile communication Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000002349 favourable effect Effects 0.000 description 1
- 238000005111 flow chemistry technique Methods 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 239000000523 sample Substances 0.000 description 1
- 230000004622 sleep time Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000013024 troubleshooting Methods 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/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
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
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)
Abstract
本发明实施例提供一种任务执行方法及装置。所述方法包括:获取所述工作流引擎的线程池中的至少两个属于同一流程的待执行任务;异步执行所述待执行任务,通过异步执行属于同一流程的待执行任务,而不必每次执行待执行任务时,轮询数据库获取同一流程的所有任务,提升工作流引擎的业务处理能力,满足订单办理性能提升要求。本发明实施例通过异步处理机制提升订单处理能力,而不是通过简单的硬件资源堆叠或横向多服务器扩容,解决了现有技术中,Activiti流程引擎的工作执行器性能不足的问题。
Description
技术领域
本发明实施例涉及移动通信技术领域,尤其涉及一种任务执行方法及装置。
背景技术
随着移动通信技术的迅速发展,以智能手机为首的移动终端已成为人们生活中各方面不可或缺的工具,用户也趋向于通过手机在线办理各项运营商相关的各项业务。运营商通过其业务办理***为用户提供业务办理功能,而工作流引擎作为业务办理***的核心,主要提供就业务订单的排队、优先级、条件审核等各类规则配置功能。
目前,主流的工作流引擎包括Activiti、jBPM4、jBPM5等。与jBPM4、jBPM5相比,Activiti具有更多良好的特性,比如Activiti具有协作工具组件,像建模器—ActivitiModeler;管理及监控组件—Activiti probe);此外,Activiti拥有更简洁健壮的接口、拥有更友好的用户体验、支持启动引擎后随时热部署、拥有更友好易用的Eclipse编辑插件和在线插件、依赖更少的jar包等。因此,业务受理***通常采用Activiti作为工作流程引擎。目前,Activiti流程引擎中的工作执行器,处理业务订单性能约为3000单/小时,但随着业务线上受理日益常态化,以及周期性促销活动优惠力度的变化,在营销活动期内,业务订单可达每天10万单以上;而若业务受理***性能不足,业务办理效率会降低,导致客户感知下降;为了提高业务受理***性能,可通过堆设更多硬件来解决,比如通过增加服务器,双机甚至更多的机器部署流程引擎进行办理,实现平行扩容外,而堆设更多硬件并不能保证性能的足够提高,不能保证业务办理能力与日益增长的线上移动业务量相匹配。
此外,除了Activiti流程引擎的工作执行器性能不足的问题之外,Activiti流程引擎还存在订单存在重复办理的问题。具体地,若流程节点睡眠时间过长,导致流程定时任务监控认为该节点办理超时,会启动重试机制,最大重试5次,而此时实际节点还在办理,等待睡眠完成后会再处理,因此会导致处理重复。而业务受理***通信不具有办理回退能力,因此会出现一定的订单办理重复率。
发明内容
本发明实施例提供一种任务执行方法及装置,用以解决现有技术中,Activiti流程引擎的工作执行器性能不足的问题。
一方面,本发明实施例提供一种任务执行方法,所述方法包括:
获取所述工作流引擎的线程池中的至少两个属于同一流程的待执行任务;
异步执行所述待执行任务。
一方面,本发明实施例提供一种任务执行装置,所述装置包括:
获取模块,用于获取所述工作流引擎的线程池中的至少两个属于同一流程的待执行任务。
执行模块,用于异步执行所述待执行任务。
另一方面,本发明实施例还提供了一种电子设备,包括存储器、处理器、总线以及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述任务执行方法中的步骤。
再一方面,本发明实施例还提供了一种非暂态计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现上述任务执行方法中的步骤。
本发明实施例提供的任务执行方法及装置,获取所述工作流引擎的线程池中的至少两个属于同一流程的待执行任务时,异步执行所述待执行任务,即分别以独立的线程,执行所述待执行任务,通过异步执行属于同一流程的待执行任务,而不必每次执行待执行任务时,轮询数据库获取同一流程的所有任务,提升工作流引擎的业务处理能力,满足订单办理性能提升要求。本发明实施例通过异步处理机制提升订单处理能力,而不是通过简单的硬件资源堆叠或横向多服务器扩容,解决了现有技术中,Activiti流程引擎的工作执行器性能不足的问题。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的任务执行方法的流程示意图之一;
图2为本发明实施例的示例的场景示意图;
图3为本发明实施例提供的任务执行方法的流程示意图之二;
图4为本发明实施例提供的任务执行装置的结构示意图;
图5为本发明实施例提供的电子设备的结构示意图。
具体实施方式
为使本发明要解决的技术问题、技术方案和优点更加清楚,下面将结合附图及具体实施例进行详细描述。在下面的描述中,提供诸如具体的配置和组件的特定细节仅仅是为了帮助全面理解本发明的实施例。因此,本领域技术人员应该清楚,可以对这里描述的实施例进行各种改变和修改而不脱离本发明的范围和精神。另外,为了清楚和简洁,省略了对已知功能和构造的描述。
应理解,说明书通篇中提到的“实施例”或“一实施例”意味着与实施例有关的特定特征、结构或特性包括在本发明的至少一个实施例中。因此,在整个说明书各处出现的“实施例中”或“在一实施例中”未必一定指相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。
在本发明的各种实施例中,应理解,下述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
在本申请所提供的实施例中,应理解,“与A相应的B”表示B与A相关联,根据A可以确定B。但还应理解,根据A确定B并不意味着仅仅根据A确定B,还可以根据A和/或其它信息确定B。
图1示出了本发明实施例提供的一种任务执行方法的流程示意图。
如图1所示,本发明实施例提供的任务执行方法,应用于工作流引擎,所述方法具体包括以下步骤:
步骤101,获取所述工作流引擎的线程池中的至少两个属于同一流程的待执行任务。
其中,线程是程序执行流的最小单元,线程是程序进程中的一个实体,是被***独立调度和分派的基本单位,可与同属一个进程的其它线程共享进程所拥有的全部资源。
线程池是一种多线程处理形式,处理过程中将待执行任务添加到队列,然后在创建线程后,自动启动这些任务。
工作流引擎的线程池中包括至少两个属于同一流程的待执行任务时,当待执行任务的数据量庞大时,由于业务受理***性能不足,业务办理效率会降低,因此,在检测到线程池中属于同一流程的待执行任务的数量包括至少两个时,执行异步处理流程。
步骤102,异步执行所述待执行任务。
其中,异步执行所述待执行任务即分别以独立的线程,执行所述待执行任务;具体地,作为示例,参见图2,工作流引擎可配置有一异步执行器,用于执行线程池中的待执行任务。启用后,工作流引擎将使用异步作业实体调用异步执行程序,线程池将异步执行作业。
参见图2,异步执行器则直接执行异步作业,分别以独立的线程,执行属于同一流程的待执行任务,比如分别以独立的线程,执行任务1-任务3,每个独立线程的任务完成之后,该线程结束。如果异步执行作业是独占作业,则异步执行器将首先锁定进程实例执行,并且如果成功执行该作业并再次解锁进程实例执行。
本发明上述实施例中,获取所述工作流引擎的线程池中的至少两个属于同一流程的待执行任务时,异步执行所述待执行任务,即分别以独立的线程,执行所述待执行任务,通过异步执行属于同一流程的待执行任务,而不必每次执行待执行任务时,轮询数据库获取同一流程的所有任务,提升工作流引擎的业务处理能力,满足订单办理性能提升要求。本发明实施例通过异步处理机制提升订单处理能力,而不是通过简单的硬件资源堆叠或横向多服务器扩容,解决了现有技术中,Activiti流程引擎的工作执行器性能不足的问题。
可选地,本发明实施例中,所述异步执行所述待执行任务的步骤之前,所述方法还包括:
关闭所述工作流引擎的线程执行器,并配置所述工作流引擎的执行参数。
具体地,以activiti5.17版本为例,需配置以下参数:
(1)配置异步执行器需先增加activiti5.17版本一些相关jar包,如下:
activiti-common-rest-5.17.0.jar
activiti-diagram-rest-5.17.0.jar
activiti-simple-workflow-5.17.0.jar
(2)关闭原来的工作执行器,并修改配置:
<property name="jobExecutorActivate"value="false"/>
然后增加启动异步执行器配置:
<property name="asyncExecutorEnabled"value="true"/>
增加启动异步执行器线程池配置:
<property name="asyncExecutorActivate"value="true"/>。
可选地,本发明实施例中,所述执行参数包括:所述线程池中保持活动的最小线程数、最大线程数,用于执行作业的线程的时间,用于放置执行作业的队列的大小,单次查询的定时器作业的数量和/或单次查询提取异步作业的数量。
其中,所述执行参数还包括配置异步执行器线程池大小参数及其他配置参数,仍以activiti5.17版本为例,上述参数的具体内容如下:
所述线程池中保持活动的最小线程数:corePoolSize,用于作业执行;
所述线程池中保持活动的最大线程数:maxPoolSize,用于作业执行;
用于执行作业的线程的时间:keepAliveTime;
用于放置执行作业的队列的大小:queueSize;
单次查询的定时器作业的数量:maxTimerJobsPerAcquisition;
单次查询提取异步作业的数量:maxAsyncJobsDuePerAcquisition;
此外,其他配置参数包括以下内容:
defaultAsyncJobAcquireWaitTimeInMillis:执行异步作业到期查询之间的时间(以毫秒为单位)。
defaultTimerJobAcquireWaitTimeInMillis:执行定时器作业查询之间的时间(以毫秒为单位)。
timerLockTimeInMillis:在重新尝试之前,计时器作业被锁定的时间(以毫秒为单位)。
asyncJobLockTimeInMillis:异步作业在重新尝试之前被锁定的时间(以毫秒为单位)。
配置实例如下所示:
作为又一实施例,如图3所示,本发明实施例还提供了一种任务执行方法,应用于工作流引擎,所述方法具体包括以下步骤:
步骤301,监控所述工作流引擎的执行流程;
其中,本发明实施例中引入了节点监听控制机制,监控所述工作流引擎的执行流程,比如在工作流引擎中增设流程***,增加全局变量用于保存订单处理信息,放在内存;流程节点开始,记录订单状态到全局变量;流程节点完成,记录订单状态到全局变量;流程节点开始时判断内存的全局变量是否存在订单处理信息,存在,则获取订单处理结果,保存记录,重新设置流程处理结果,让流程继续流转到下个节点,不再重复处理;不存在,则走正常流程。
具体地,步骤301包括:监控所述待执行任务的执行状态;和/或创建并维持用于记载所述执行状态的日志。
其中,执行状态包括执行完成以及未执行完成,日志用于记载执行状态以及其他执行节点相关的内容。
步骤302,获取所述工作流引擎的线程池中的至少两个属于同一流程的待执行任务。
其中,工作流引擎的线程池中包括至少两个属于同一流程的待执行任务时,当待执行任务的数据量庞大时,由于业务受理***性能不足,业务办理效率会降低,因此,在检测到线程池中属于同一流程的待执行任务的数量包括至少两个时,执行异步处理流程。
步骤303,获取所述待执行任务的日志,判断所述待执行任务对应的节点是否已处理成功。
其中,修改工作流引擎的流程处理逻辑,增加判断该节点是否已处理过,防止该节点被重复处理。具体地,在执行流程开始时,从全局变量查询是否有该待执行任务的日志,即订单的处理信息;获取待执行任务的日志,判断该待执行任务对应的节点是否已处理成功,并根据是否处理成功执行步骤304或步骤305。
步骤304,若所述待执行任务的日志指示所述节点已处理成功,则停止执行所述待执行任务,并执行步骤306。
其中,如果节点已处理成功,则停止执行所述待执行任务,避免重复执行;并执行步骤306,直接获取该节点上一次办理记录、执行状态重新***日志中,防止办理记录没保存到日志,以及方便故障排查。
步骤305,若所述待执行任务的日志指示所述节点未处理成功,则异步执行述所述待执行任务,并执行步骤306。
其中,节点未处理成功包括未处理以及已处理而未成功,若节点未处理成功,继续执行办理逻辑,重新办理,并执行步骤306。
步骤306,更新所述节点的订单状态以及办理记录至所述待执行任务的日志。
其中,流程处理完成时,无论是成功失败,都所述节点的订单状态以及办理记录至所述待执行任务的日志,更新全局变量,以便下一次处理到该节点时,可判断是否重复处理。
本发明上述实施例中,获取所述工作流引擎的线程池中的至少两个属于同一流程的待执行任务时,异步执行所述待执行任务,即分别以独立的线程,执行所述待执行任务,通过异步执行属于同一流程的待执行任务,而不必每次执行待执行任务时,轮询数据库获取同一流程的所有任务,提升工作流引擎的业务处理能力,满足订单办理性能提升要求;通过节点监听机制,避免订单重复处理;通过异步处理机制提升订单处理能力,而不是通过简单的硬件资源堆叠或横向多服务器扩容,本发明实施例解决了现有技术中,Activiti流程引擎的工作执行器性能不足以及订单存在重复办理的问题。
以上介绍了本发明实施例提供的任务执行方法,下面将结合附图介绍本发明实施例提供的任务执行装置。
参见图4,本发明实施例提供了一种任务执行装置,应用于工作流引擎,所述装置包括:
获取模块401,用于获取所述工作流引擎的线程池中的至少两个属于同一流程的待执行任务。
其中,线程是程序执行流的最小单元,线程是程序进程中的一个实体,是被***独立调度和分派的基本单位,可与同属一个进程的其它线程共享进程所拥有的全部资源。
线程池是一种多线程处理形式,处理过程中将待执行任务添加到队列,然后在创建线程后,自动启动这些任务。
工作流引擎的线程池中包括至少两个属于同一流程的待执行任务时,当待执行任务的数据量庞大时,由于业务受理***性能不足,业务办理效率会降低,因此,在检测到线程池中属于同一流程的待执行任务的数量包括至少两个时,执行异步处理流程。
执行模块402,用于异步执行所述待执行任务。
具体地,作为示例,参见图2,工作流引擎可配置有一异步执行器,用于执行线程池中的待执行任务。启用后,工作流引擎将使用异步作业实体调用异步执行程序,线程池将异步执行作业。
参见图2,异步执行器则直接执行异步作业,分别以独立的线程,执行属于同一流程的待执行任务,比如分别以独立的线程,执行任务1-任务3,每个独立线程的任务完成之后,该线程结束。如果异步执行作业是独占作业,则异步执行器将首先锁定进程实例执行,并且如果成功执行该作业并再次解锁进程实例执行。
本发明上述实施例中,通过获取模块401获取所述工作流引擎的线程池中的至少两个属于同一流程的待执行任务时,执行模块402异步执行所述待执行任务,即分别以独立的线程,执行所述待执行任务,通过异步执行属于同一流程的待执行任务,而不必每次执行待执行任务时,轮询数据库获取同一流程的所有任务,提升工作流引擎的业务处理能力,满足订单办理性能提升要求。本发明实施例通过异步处理机制提升订单处理能力,而不是通过简单的硬件资源堆叠或横向多服务器扩容,解决了现有技术中,Activiti流程引擎的工作执行器性能不足的问题。
可选地,本发明实施例中,所述执行模块402用于:
分别以独立的线程,执行所述待执行任务。
可选地,本发明实施例中,所述装置还包括:
参数配置模块,用于关闭所述工作流引擎的线程执行器,并配置所述工作流引擎的执行参数。
其中,在执行异步执行所述待执行任务,首先关闭所述工作流引擎的线程执行器,并修改配置参数,依据异步执行流程重新配置所述工作流引擎的执行参数。
可选地,本发明实施例中,所述执行参数包括:所述线程池中保持活动的最小线程数、最大线程数,用于执行作业的线程的时间,用于放置执行作业的队列的大小,单次查询的定时器作业的数量和/或单次查询提取异步作业的数量。
可选地,本发明实施例中,所述装置还包括:
监控模块,用于监控所述工作流引擎的执行流程,具体用于:
监控所述待执行任务的执行状态;和/或创建并维持用于记载所述执行状态的日志。
其中,执行状态包括执行完成以及未执行完成,日志用于记载执行状态以及其他执行节点相关的内容。
可选地,本发明实施例中,所述执行模块402包括:
获取子模块,用于获取所述待执行任务的日志,判断所述待执行任务对应的节点是否已处理成功:
第一执行子模块,用于若所述待执行任务的日志指示所述节点已处理成功,则停止执行所述待执行任务;
第二执行子模块,用于若所述待执行任务的日志指示所述节点未处理成功,则异步执行述所述待执行任务。
可选地,本发明实施例中,所述装置还包括:
日志更新模块,用于更新所述节点的订单状态以及办理记录至所述待执行任务的日志。
本发明上述实施例中,通过获取模块401获取所述工作流引擎的线程池中的至少两个属于同一流程的待执行任务时,执行模块402异步执行所述待执行任务,即分别以独立的线程,执行所述待执行任务,通过异步执行属于同一流程的待执行任务,而不必每次执行待执行任务时,轮询数据库获取同一流程的所有任务,提升工作流引擎的业务处理能力,满足订单办理性能提升要求;通过节点监听机制,避免订单重复处理;通过异步处理机制提升订单处理能力,而不是通过简单的硬件资源堆叠或横向多服务器扩容,本发明实施例解决了现有技术中,Activiti流程引擎的工作执行器性能不足以及订单存在重复办理的问题。
图5示出了本发明又一实施例提供的一种电子设备的结构示意图。
如图5所示,该电子设备可以包括:处理器(processor)510、通信接口(Communications Interface)520、存储器(memory)530和通信总线540,其中,处理器510,通信接口520,存储器530通过通信总线540完成相互间的通信。处理器510可以调用存储器530中的逻辑指令,以执行如下方法:
获取所述工作流引擎的线程池中的至少两个属于同一流程的待执行任务;
异步执行所述待执行任务。
此外,上述的存储器530中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。
本发明又一实施例提供的一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质上存储有计算机程序,所述程序被处理器执行时实现如本发明上述实施例中提供的方法中的步骤,本实施不再赘述。
基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random AccessMemory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (10)
1.一种任务执行方法,应用于工作流引擎,其特征在于,所述方法包括:
获取所述工作流引擎的线程池中的至少两个属于同一流程的待执行任务;
异步执行所述待执行任务。
2.根据权利要求1所述的方法,其特征在于,所述异步执行所述待执行任务的步骤,包括:
分别以独立的线程,执行所述待执行任务。
3.根据权利要求1所述的方法,其特征在于,所述异步执行所述待执行任务的步骤之前,所述方法还包括:
关闭所述工作流引擎的线程执行器,并配置所述工作流引擎的执行参数。
4.根据权利要求3所述的方法,其特征在于,所述执行参数包括:所述线程池中保持活动的最小线程数、最大线程数,用于执行作业的线程的时间,用于放置执行作业的队列的大小,单次查询的定时器作业的数量和/或单次查询提取异步作业的数量。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
监控所述工作流引擎的执行流程,包括:
监控所述待执行任务的执行状态;和/或创建并维持用于记载所述执行状态的日志。
6.根据权利要求5所述的方法,其特征在于,所述异步执行所述待执行任务的步骤,包括:
获取所述待执行任务的日志,判断所述待执行任务对应的节点是否已处理成功:
若所述待执行任务的日志指示所述节点已处理成功,则停止执行所述待执行任务;
若所述待执行任务的日志指示所述节点未处理成功,则异步执行述所述待执行任务。
7.根据权利要求6所述的方法,其特征在于,所述停止执行所述待执行任务的步骤之后,或所述异步执行述所述待执行任务的步骤之后,所述方法还包括:
更新所述节点的订单状态以及办理记录至所述待执行任务的日志。
8.一种任务执行装置,应用于工作流引擎,其特征在于,所述装置包括:
获取模块,用于获取所述工作流引擎的线程池中的至少两个属于同一流程的待执行任务;
执行模块,用于异步执行所述待执行任务。
9.一种电子设备,其特征在于,包括存储器、处理器、总线以及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如权利要求1至7中任一项所述的任务执行方法中的步骤。
10.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于:所述程序被处理器执行时实现如权利要求1至7中任一项所述的任务执行方法中的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811436442.5A CN111240812B (zh) | 2018-11-28 | 2018-11-28 | 任务执行方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811436442.5A CN111240812B (zh) | 2018-11-28 | 2018-11-28 | 任务执行方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111240812A true CN111240812A (zh) | 2020-06-05 |
CN111240812B CN111240812B (zh) | 2024-03-19 |
Family
ID=70879279
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811436442.5A Active CN111240812B (zh) | 2018-11-28 | 2018-11-28 | 任务执行方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111240812B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111899018A (zh) * | 2020-07-23 | 2020-11-06 | 平安证券股份有限公司 | 订单数据处理方法、装置、服务器及存储介质 |
CN111949326A (zh) * | 2020-08-03 | 2020-11-17 | 杭州当虹科技股份有限公司 | 一种基于Activiti的微服务工作流方法 |
CN112215501A (zh) * | 2020-10-15 | 2021-01-12 | 拉扎斯网络科技(上海)有限公司 | 一种问题排查流程数据的生成方法及装置 |
CN113656064A (zh) * | 2021-08-06 | 2021-11-16 | 杭州安恒信息技术股份有限公司 | 一种框架流程处理方法、***、可读存储介质及装置 |
CN113673834A (zh) * | 2021-07-27 | 2021-11-19 | 杭州优云软件有限公司 | 一种通过流程监控提高审批效率的方法 |
CN116627617A (zh) * | 2023-07-19 | 2023-08-22 | 高伟达软件股份有限公司 | 一种营销数据处理方法、装置、设备和*** |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100205616A1 (en) * | 2009-02-11 | 2010-08-12 | International Business Machines Corporation | Application workflow integration subsystem |
CN103593236A (zh) * | 2013-11-14 | 2014-02-19 | 华为技术有限公司 | 一种业务流程调度的计算机设备、方法和装置 |
CN108665239A (zh) * | 2018-05-08 | 2018-10-16 | 平安普惠企业管理有限公司 | 工作流处理方法、装置、计算机设备及存储介质 |
-
2018
- 2018-11-28 CN CN201811436442.5A patent/CN111240812B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100205616A1 (en) * | 2009-02-11 | 2010-08-12 | International Business Machines Corporation | Application workflow integration subsystem |
CN103593236A (zh) * | 2013-11-14 | 2014-02-19 | 华为技术有限公司 | 一种业务流程调度的计算机设备、方法和装置 |
CN108665239A (zh) * | 2018-05-08 | 2018-10-16 | 平安普惠企业管理有限公司 | 工作流处理方法、装置、计算机设备及存储介质 |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111899018A (zh) * | 2020-07-23 | 2020-11-06 | 平安证券股份有限公司 | 订单数据处理方法、装置、服务器及存储介质 |
CN111899018B (zh) * | 2020-07-23 | 2022-08-26 | 平安证券股份有限公司 | 订单数据处理方法、装置、服务器及存储介质 |
CN111949326A (zh) * | 2020-08-03 | 2020-11-17 | 杭州当虹科技股份有限公司 | 一种基于Activiti的微服务工作流方法 |
CN112215501A (zh) * | 2020-10-15 | 2021-01-12 | 拉扎斯网络科技(上海)有限公司 | 一种问题排查流程数据的生成方法及装置 |
CN112215501B (zh) * | 2020-10-15 | 2021-11-26 | 拉扎斯网络科技(上海)有限公司 | 一种问题排查流程数据的生成方法及装置 |
CN113673834A (zh) * | 2021-07-27 | 2021-11-19 | 杭州优云软件有限公司 | 一种通过流程监控提高审批效率的方法 |
CN113656064A (zh) * | 2021-08-06 | 2021-11-16 | 杭州安恒信息技术股份有限公司 | 一种框架流程处理方法、***、可读存储介质及装置 |
CN113656064B (zh) * | 2021-08-06 | 2024-04-09 | 杭州安恒信息技术股份有限公司 | 一种框架流程处理方法、***、可读存储介质及装置 |
CN116627617A (zh) * | 2023-07-19 | 2023-08-22 | 高伟达软件股份有限公司 | 一种营销数据处理方法、装置、设备和*** |
Also Published As
Publication number | Publication date |
---|---|
CN111240812B (zh) | 2024-03-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111240812A (zh) | 任务执行方法及装置 | |
US20200057672A1 (en) | Dynamic tree determination for data processing | |
KR102072726B1 (ko) | 데이터베이스로의 미들-티어 트랜잭션 로그들의 인라인 위임을 지원하는 시스템들 및 방법들 | |
CN108280150B (zh) | 一种分布式异步业务分发方法及*** | |
US10133797B1 (en) | Distributed heterogeneous system for data warehouse management | |
US9300759B1 (en) | API calls with dependencies | |
CN101719852B (zh) | 一种中间件性能的监控方法和设备 | |
US10505881B2 (en) | Generating message envelopes for heterogeneous events | |
US11641312B2 (en) | Consolidating manufacturing intelligence event queue items | |
CN110221927A (zh) | 异步消息处理方法和装置 | |
CA2857897C (en) | Business rules batch processor | |
EP2416246A1 (en) | Extensibility of business process and application logic | |
CN111382985A (zh) | 待办消息集成推送***和工作方法 | |
US8881182B1 (en) | Deferred API calls | |
CN102572896A (zh) | 一种无线通讯***升级方法及升级装置 | |
CN107066339A (zh) | 分布式作业管理器及分布式作业管理方法 | |
CN111143465A (zh) | 一种数据中台的实现方法、装置以及电子设备 | |
CN110008173A (zh) | 一种数据存储的方法及装置 | |
US20210174286A1 (en) | System and Method of Running an Agent Guide Script-Flow in an Employee Desktop Web Client | |
CN109710679A (zh) | 数据抽取方法及装置 | |
CN117076096A (zh) | 任务流程的执行方法、装置、计算机可读介质及电子设备 | |
US20150120607A1 (en) | System and method for customer event email consolidation and delivery | |
CN113434469A (zh) | 一种基于线程池的异步导入文件方法 | |
CN112632559A (zh) | 漏洞自动验证方法、装置、设备及存储介质 | |
CN111353766A (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 |