CN114020442A - 一种任务处理方法、装置、电子设备及可读存储介质 - Google Patents
一种任务处理方法、装置、电子设备及可读存储介质 Download PDFInfo
- Publication number
- CN114020442A CN114020442A CN202210000919.5A CN202210000919A CN114020442A CN 114020442 A CN114020442 A CN 114020442A CN 202210000919 A CN202210000919 A CN 202210000919A CN 114020442 A CN114020442 A CN 114020442A
- Authority
- CN
- China
- Prior art keywords
- task processing
- task
- processing node
- node
- target
- 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.)
- Pending
Links
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
-
- 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/485—Task life-cycle, e.g. stopping, restarting, resuming execution
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本申请提供一种任务处理方法,所述方法包括:接收目标任务中第一任务处理节点的目标节点执行进度信息;所述第一任务处理节点是目标任务对应的任务处理节点序列中的任一任务处理节点,判断所述任务处理节点序列中是否存在第二任务处理节点的关联任务处理节点;所述第二任务处理节点是所述第一任务处理节点的下一个任务处理节点;若存在,则获取所述关联任务处理节点的节点执行进度信息;在所述关联任务处理节点的节点执行进度信息指示执行完成时,向所述第二任务处理节点发送任务执行指令,以使得所述第二任务处理节点响应于所述任务执行指令执行任务处理。通过上述技术方案,缩短了任务处理时间,有利于优化代码,减少了出错概率。
Description
技术领域
本申请涉及计算机数据处理技术领域,特别涉及一种任务处理方法、装置、电子设备及可读存储介质。
背景技术
目前处理一个多阶段多步骤的任务的时候,大多采用定时任务捞起未处理完成的非终态任务,由于各个任务各个环节的处理时效是不同的,由定时任务统一捞起处理,存在时间上的等待,以及定时任务多次重复捞起导致判断效率不高的问题。
如果各个任务之间还存在着交叉依赖环节,则会又增加了等待时间,而且会导致控制代码散落在各个环节,不能得到较好的收口,如果依赖逻辑发生变化,则需要到各个定时任务节点修改,容易导致编码风格混乱。
发明内容
本申请为克服上述现有技术存在的缺陷而提供一种能够高效处理互联多阶段多步骤任务的任务处理方法、装置、电子设备及可读存储介质。
为解决上述技术问题,本申请提供以下技术方案:
根据本申请实施例的第一方面,提供了一种任务处理方法,其特征在于,所述方法包括:
接收目标任务中第一任务处理节点的目标节点执行进度信息;所述第一任务处理节点是目标任务对应的任务处理节点序列中的任一任务处理节点,所述任务处理节点序列包括基于所述目标任务的执行顺序分解得到的多个任务处理节点;
判断所述任务处理节点序列中是否存在第二任务处理节点的关联任务处理节点;所述第二任务处理节点是所述第一任务处理节点的下一个任务处理节点;
若存在,则获取所述关联任务处理节点的节点执行进度信息;
在所述关联任务处理节点的节点执行进度信息指示执行完成时,向所述第二任务处理节点发送任务执行指令,以使得所述第二任务处理节点响应于所述任务执行指令执行任务处理。
在一个示例性的实施方式中,所述方法还包括:
若不存在所述关联任务处理节点,则向所述第二任务处理节点发送任务执行指令,以使得所述第二任务处理节点响应于所述任务执行指令执行任务处理。
在一个示例性的实施方式中,所述判断所述任务处理节点序列中是否存在第二任务处理节点的关联任务处理节点,包括:
获取所述目标任务对应的节点关联信息;
基于所述节点关联信息,判断所述任务处理节点序列中是否存在第二任务处理节点的关联任务处理节点。
在一个示例性的实施方式中,所述方法还包括:
响应于针对所述目标任务的节点关联配置指令,获取所述目标任务对应的所述节点关联信息;
存储所述目标任务对应的所述节点关联信息。
在一个示例性的实施方式中,所述方法还包括:
接收目标任务中第二任务处理节点的目标节点执行进度信息;
判断所述第二任务处理节点是否是所述任务处理节点序列中的最后一个任务处理节点;
若是,则终止对所述目标任务的任务处理;
若不是,则判断所述任务处理节点序列中是否存在第三任务处理节点的关联任务处理节点;所述第三任务处理节点是所述第二任务处理节点的下一个任务处理节点。
在一个示例性的实施方式中,所述方法还包括:
获取所述目标任务的业务逻辑信息;
基于所述业务逻辑信息将所述目标任务分解为多个所述任务处理节点。
可选地,所述业务逻辑信息包括业务流程、流程顺序、流程节点、节点关联信息。
在一个示例性的实施方式中,接收目标任务中第一任务处理节点的目标节点执行进度信息、向所述第二任务处理节点发送任务执行指令均通过事务消息中间件实现。
可选地,所述事务消息中间件采用RocketMq事务消息中间件,所述RocketMq事务消息中间件具有支持严格的消息顺序、支持Topic与Queue两种模式、亿级消息堆积能力、比较友好的分布式特性、同时支持Push与Pull方式消费消息等特点。
根据本申请实施例的第二方面,提供了一种任务处理装置,所述装置包括:
目标节点执行进度信息接收模块,用于接收目标任务中第一任务处理节点的目标节点执行进度信息;所述第一任务处理节点是目标任务对应的任务处理节点序列中的任一任务处理节点,所述任务处理节点序列包括基于所述目标任务的执行顺序分解得到的多个任务处理节点;
第一关联任务处理节点判断模块,用于判断所述任务处理节点序列中是否存在第二任务处理节点的关联任务处理节点;所述第二任务处理节点是所述第一任务处理节点的下一个任务处理节点;
节点执行进度信息获取模块,用于基于所述任务处理节点序列中存在第二任务处理节点的关联任务处理节点,获取所述关联任务处理节点的节点执行进度信息
第一任务执行指令发送模块,用于在所述关联任务处理节点的节点执行进度信息指示执行完成时,向所述第二任务处理节点发送任务执行指令,以使得所述第二任务处理节点响应于所述任务执行指令执行任务处理。
在一个示例性的实施方式中,所述装置还包括:
第二任务执行指令发送模块,用于基于所述任务处理节点序列中不存在第二任务处理节点的关联任务处理节点,向所述第二任务处理节点发送任务执行指令,以使得所述第二任务处理节点响应于所述任务执行指令执行任务处理。
在一个示例性的实施方式中,所述装置还包括:
节点关联信息获取模块,用于获取所述目标任务对应的所述节点关联信息。
在一个示例性的实施方式中,所述装置还包括:
节点关联信息存储模块,用于存储所述目标任务对应的所述节点关联信息。
在一个示例性的实施方式中,所述装置还包括:
终止任务判断模块,用于判断所述第二任务处理节点是否是所述任务处理节点序列中的最后一个任务处理节点;
终止任务执行模块,用于基于所述第二任务处理节点是所述任务处理节点序列中的最后一个任务处理节点,发送任务终止指令;
第二关联任务处理节点判断模块,用于基于所述第二任务处理节点不是所述任务处理节点序列中的最后一个任务处理节点,判断所述任务处理节点序列中是否存在第三任务处理节点的关联任务处理节点;所述第三任务处理节点是所述第二任务处理节点的下一个任务处理节点。
在一个示例性的实施方式中,所述装置还包括:
业务逻辑信息获取模块,用于获取所述目标任务的业务逻辑信息。
根据本申请实施例的第三方面,提供了一种电子设备,包括处理器和存储器,所述存储器中存储有至少一条指令或者至少一段程序,所述至少一条指令或者所述至少一段程由所述处理器加载并执行以实现上述的任务处理方法。
根据本申请实施例的第四方面,提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令或者至少一段程序,所述至少一条指令或者所述至少一段程序由处理器加载并执行以实现上述的任务处理方法。
采用上述技术方案,本申请具有如下有益效果:
本申请提供的一种任务处理方法、装置、电子设备及可读存储介质,通过将目标任务分解为多个任务处理节点,实现互联多阶段多步骤任务的准实时任务处理,有效缩短了任务处理时间,并且由于将目标任务分解为多个任务处理节点,使得程序具有较好的收口,有利于优化代码,减少出错概率,即使各节点依赖逻辑发生变化,也可以避免因需要到各个任务节点修改导致编码风格混乱。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种任务处理方法的流程示意图;
图2为本申请实施例提供的一种任务处理装置的结构框图;
图3为本申请实施例提供的运行一种任务处理方法的电子设备的硬件结构框图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
此处所称的“一个实施例”或“实施例”是指可包含于本申请至少一个实现方式中的特定特征、结构或特性。在本申请实施例的描述中,需要理解的是,术语“上”、“下”、“顶”、“底”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本申请和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本申请的限制。此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含的包括一个或者更多个该特征。而且,术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。
请参阅图1,其所示为本申请实施例提供的一种任务处理方法的流程示意图,该任务处理方法包括:
步骤S1:接收目标任务中第一任务处理节点的目标节点执行进度信息;第一任务处理节点是目标任务对应的任务处理节点序列中的任一任务处理节点,任务处理节点序列包括基于目标任务的执行顺序分解得到的多个任务处理节点;
步骤S2:判断任务处理节点序列中是否存在第二任务处理节点的关联任务处理节点;第二任务处理节点是第一任务处理节点的下一个任务处理节点;
若存在,则步骤S201:获取关联任务处理节点的节点执行进度信息;
步骤S3:在关联任务处理节点的节点执行进度信息指示执行完成时,向第二任务处理节点发送任务执行指令,以使得第二任务处理节点响应于任务执行指令执行任务处理。
在一个具体的实施例中,通过步骤S1接收按照执行顺序分解得到的多个任务处理节点中的第一任务处理节点的目标节点执行进度信息,其中,第一任务处理节点的目标节点执行进度信息指的是第一任务处理节点的执行完成信息;再通过步骤S2判断任务处理节点序列中是否存在第二任务处理节点的关联任务处理节点,该步骤可避免将任务执行指令发送至第二任务处理节点后,发现第二任务处理节点存在关联任务处理节点,再将关联任务节点信息进行反馈,导致任务执行指令空跑,且容易造成代码混乱;若第二任务处理节点存在关联任务处理节点,则通过步骤S201获取关联任务处理节点的节点执行进度信息,其中,关联任务处理节点的节点执行进度信息指的是该关联任务处理节点的执行进度,而非该关联任务处理节点的执行完成信息;通过步骤S3,在关联任务处理节点的节点执行进度信息指示执行完成时,向第二任务处理节点发送任务执行指令,可有效防止产生空等时间。通过上述技术方案,可以实现互联多阶段多步骤任务的准实时任务处理,有效缩短了任务处理时间,并且由于将目标任务分解为多个任务处理节点,使得程序具有较好的收口,有利于优化代码,减少出错概率,即使各节点依赖逻辑发生变化,也可以避免因需要到各个任务节点修改导致编码风格混乱。实际应用例如汇兑汇出***。
需要说明的是,本实施例的实现采用了java语言编码的控制判断程序。
还需要说明的是,本实施例可以依据具体业务自行编码实现控制业务逻辑。
还需要说明的是,目标任务拥有唯一识别号。
具体的,本申请实施例还可以包括上述步骤S2中不存在关联任务处理节点的步骤,该步骤具体包括:
步骤S202:若不存在关联任务处理节点,则向第二任务处理节点发送任务执行指令,以使得第二任务处理节点响应于任务执行指令执行任务处理。
在一个具体的实施例中,如果经步骤S2判断后,确定第二任务处理节点不存在关联任务处理节点,则进入步骤S202,向第二任务处理节点发送任务执行指令,该步骤的执行是准实时的,可有效防止产生空等时间。
具体的,本申请实施例还可以包括确定任务处理节点序列中是否存在第二任务处理节点的关联任务处理节点的判断规则的步骤,该步骤具体包括:
获取目标任务对应的节点关联信息;
基于节点关联信息,判断任务处理节点序列中是否存在第二任务处理节点的关联任务处理节点。
在一个具体的实施例中,通过节点关联信息获悉该任务处理节点对应的关联任务处理节点信息,以此准确判断该任务处理节点是否存在关联任务处理节点,避免程序空跑。
具体的,本申请实施例还可以包括存储节点关联信息的步骤,该步骤具体包括:
响应于针对目标任务的节点关联配置指令,获取目标任务对应的节点关联信息;
存储目标任务对应的节点关联信息。
在一个具体的实施例中,通过上述步骤将目标任务对应的节点关联信息进行存储,以便于在判断任务处理节点是否存在关联任务处理节点时进行信息获取。
具体的,本申请实施例还可以包括确定任务是否可以终止的步骤,该步骤具体包括:
步骤S4:接收目标任务中第二任务处理节点的目标节点执行进度信息;
步骤S5:判断第二任务处理节点是否是任务处理节点序列中的最后一个任务处理节点;
若是,则步骤S501:终止对目标任务的任务处理;
若不是,则步骤S502:判断任务处理节点序列中是否存在第三任务处理节点的关联任务处理节点;第三任务处理节点是第二任务处理节点的下一个任务处理节点。
在一个具体的实施例中,通过步骤S4接收目标任务中第二任务处理节点的目标节点执行进度信息,其中,第二任务处理节点的目标节点执行进度信息指的是目标节点的执行完成信息;通过步骤S5判断第二任务处理节点是否是任务处理节点序列中的最后一个任务处理节点,以使任务处理节点完成时可以准实时地结束任务,防止程序空跑;通过步骤S501结束任务;通过步骤S502进入下一个任务处理节点的关联任务处理节点判断,避免将任务执行指令发送至第三任务处理节点后,发现第三任务处理节点存在关联任务处理节点,再将关联任务节点信息进行反馈,导致任务执行指令空跑。
需要说明的是,若第二任务处理节点不是任务处理节点序列中的最后一个任务处理节点,则需要重复步骤S2~S5,直至进入步骤S501,才能结束目标任务的处理。
具体的,本申请实施例还可以包括确定上述目标任务分解规则的步骤,该步骤具体包括:
获取目标任务的业务逻辑信息;
基于业务逻辑信息将目标任务分解为多个任务处理节点。
在一个具体的实施例中,将业务逻辑信息植入调度程序,可以根据业务逻辑信息将目标任务进行任务处理节点划分,使任务处理过程具有较好的收口,有利于优化代码,减少出错概率,即使各节点依赖逻辑发生变化,也可以避免因需要到各个任务节点修改导致编码风格混乱。
可选的,业务逻辑信息包括业务流程、流程顺序、流程节点、节点关联信息;以便于将目标任务更合理地进行划分。
具体的,接收目标任务中第一任务处理节点的目标节点执行进度信息、向第二任务处理节点发送任务执行指令均通过事务消息中间件实现。
在一个具体的实施例中,通过事务消息中间件保障了指令和消息传送的可靠性。
可选的,事务消息中间件采用RocketMq事务消息中间件,RocketMq事务消息中间件具有支持严格的消息顺序、支持Topic与Queue两种模式、亿级消息堆积能力、比较友好的分布式特性、同时支持Push与Pull方式消费消息等特点。
由本申请实施例的上述技术方案可见,本申请实施例通过将目标任务分解为多个任务处理节点,实现互联多阶段多步骤任务的准实时任务处理,有效缩短了任务处理时间,并且由于将目标任务分解为多个任务处理节点,使得程序具有较好的收口,有利于优化代码,减少出错概率,即使各节点依赖逻辑发生变化,也可以避免因需要到各个任务节点修改导致编码风格混乱。
与上述实施例提供的任务处理方法相对应,本申请实施例还提供一种任务处理装置,由于本申请实施例提供的任务处理装置与上述实施例提供的任务处理方法相对应,因此前述任务处理方法的实施方式也适用于本实施例提供的任务处理装置,在本实施例中不再详细描述。
请参阅图2,其所示为本申请实施例提供的一种任务处理装置的结构框图,该任务处理装置包括:
目标节点执行进度信息接收模块,用于接收目标任务中第一任务处理节点的目标节点执行进度信息;第一任务处理节点是目标任务对应的任务处理节点序列中的任一任务处理节点,任务处理节点序列包括基于目标任务的执行顺序分解得到的多个任务处理节点;
第一关联任务处理节点判断模块,用于判断任务处理节点序列中是否存在第二任务处理节点的关联任务处理节点;第二任务处理节点是第一任务处理节点的下一个任务处理节点;
节点执行进度信息获取模块,用于基于任务处理节点序列中存在第二任务处理节点的关联任务处理节点,获取关联任务处理节点的节点执行进度信息
第一任务执行指令发送模块,用于在关联任务处理节点的节点执行进度信息指示执行完成时,向第二任务处理节点发送任务执行指令,以使得第二任务处理节点响应于任务执行指令执行任务处理。
在一个具体的实施例中,通过目标节点执行进度信息接收模块接收按照执行顺序分解得到的多个任务处理节点中的第一任务处理节点的目标节点执行进度信息,其中,第一任务处理节点的目标节点执行进度信息指的是第一任务处理节点的执行完成信息;再通过第一关联任务处理节点判断模块判断任务处理节点序列中是否存在第二任务处理节点的关联任务处理节点,第一关联任务处理节点判断模块可避免将任务执行指令发送至第二任务处理节点后,发现第二任务处理节点存在关联任务处理节点,再将关联任务节点信息进行反馈,导致任务执行指令空跑,且容易造成代码混乱;若第二任务处理节点存在关联任务处理节点,则通过节点执行进度信息获取模块获取关联任务处理节点的节点执行进度信息,其中,关联任务处理节点的节点执行进度信息指的是该关联任务处理节点的执行进度,而非该关联任务处理节点的执行完成信息;通过第一任务执行指令发送模块,在关联任务处理节点的节点执行进度信息指示执行完成时,向第二任务处理节点发送任务执行指令,可有效防止产生空等时间。通过上述技术方案,可以实现互联多阶段多步骤任务的准实时任务处理,有效缩短了任务处理时间,并且由于将目标任务分解为多个任务处理节点,使得程序具有较好的收口,有利于优化代码,减少出错概率,即使各节点依赖逻辑发生变化,也可以避免因需要到各个任务节点修改导致编码风格混乱。实际应用例如汇兑汇出装置。
需要说明的是,本实施例的实现采用了java语言编码的控制判断程序。
还需要说明的是,本实施例可以依据具体业务自行编码实现控制业务逻辑。
还需要说明的是,目标任务模块中的目标任务拥有唯一识别号。
具体的,本申请实施例还可以包括上述第一关联任务处理节点判断模块中不存在关联任务处理节点的模块,该模块具体包括:
第二任务执行指令发送模块,用于基于任务处理节点序列中不存在第二任务处理节点的关联任务处理节点,向第二任务处理节点发送任务执行指令,以使得第二任务处理节点响应于任务执行指令执行任务处理。
在一个具体的实施例中,如果经第一关联任务处理节点判断模块判断后,确定第二任务处理节点不存在关联任务处理节点,则通过第二任务执行指令发送模块向目标任务模块中的第二任务处理节点发送任务执行指令,该执行是准实时的,可有效防止产生空等时间。
具体的,本申请实施例还可以包括用于获取上述关联任务处理节点信息的模块,该模块具体包括:
节点关联信息获取模块,用于获取所述目标任务对应的所述节点关联信息;
在一个具体的实施例中,基于节点关联信息获取模块中的节点关联信息,判断任务处理节点序列中是否存在第二任务处理节点的关联任务处理节点,即通过节点关联信息获悉该任务处理节点对应的关联任务处理节点信息,以此准确判断该任务处理节点是否存在关联任务处理节点,避免程序空跑。
具体的,本申请实施例还可以包括存储节点关联信息的模块,该模块具体包括:
节点关联信息存储模块,用于存储所述目标任务对应的所述节点关联信息。
在一个具体的实施例中,响应于针对目标任务的节点关联配置指令,获取目标任务对应的节点关联信息,进而将目标任务对应的节点关联信息进行存储,以便于在判断任务处理节点是否存在关联任务处理节点时进行信息获取。
具体的,本申请实施例还可以包括确定任务是否可以终止的模块,该模块具体包括:
终止任务判断模块,用于判断第二任务处理节点是否是任务处理节点序列中的最后一个任务处理节点;
终止任务执行模块,用于基于第二任务处理节点是任务处理节点序列中的最后一个任务处理节点,发送任务终止指令;
第二关联任务处理节点判断模块,用于基于第二任务处理节点不是任务处理节点序列中的最后一个任务处理节点,判断任务处理节点序列中是否存在第三任务处理节点的关联任务处理节点;第三任务处理节点是第二任务处理节点的下一个任务处理节点。
在一个具体的实施例中,通过目标节点执行进度信息接收模块接收目标任务中第二任务处理节点的目标节点执行进度信息,其中,第二任务处理节点的目标节点执行进度信息指的是第二任务处理节点的执行完成信息;通过终止任务判断模块判断第二任务处理节点是否是任务处理节点序列中的最后一个任务处理节点,以使任务处理节点完成时可以准实时地结束任务,防止程序空跑;若第二任务处理节点是任务处理节点序列中的最后一个任务处理节点,则通过终止任务执行模块发送任务终止指令,结束目标任务;若第二任务处理节点不是任务处理节点序列中的最后一个任务处理节点,则通过第二关联任务处理节点判断模块进入下一个任务处理节点的关联任务处理节点判断,避免将任务执行指令发送至第三任务处理节点后,发现第三任务处理节点存在关联任务处理节点,再将关联任务节点信息进行反馈,导致任务执行指令空跑。
需要说明的是,直至判断当前任务处理节点是任务处理节点序列中的最后一个任务处理节点时,才能结束目标任务的处理。
具体的,本申请实施例还可以包括确定上述目标任务分解规则的模块,该模块具体包括:
业务逻辑信息获取模块,用于获取目标任务的业务逻辑信息。
在一个具体的实施例中,根据业务逻辑信息将目标任务进行任务处理节点划分,使程序具有较好的收口,有利于优化代码,减少出错概率,即使各节点依赖逻辑发生变化,也可以避免因需要到各个任务节点修改导致编码风格混乱。
需要说明的是,上述实施例提供的装置,在实现其功能时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的装置与方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
本申请实施例的任务处理装置通过将目标任务分解为多个任务处理节点,实现互联多阶段多步骤任务的准实时任务处理,有效缩短了任务处理时间,并且由于将目标任务分解为多个任务处理节点,使得程序具有较好的收口,有利于优化代码,减少出错概率,即使各节点依赖逻辑发生变化,也可以避免因需要到各个任务节点修改导致编码风格混乱。
本申请实施例还提供了一种电子设备,包括处理器和存储器,存储器中存储有至少一条指令或者至少一段程序,至少一条指令或者至少一段程由处理器加载并执行以实现如上述方法实施例所提供的任务处理方法。
存储器可用于存储软件程序以及模块,处理器通过运行存储在存储器的软件程序以及模块,从而执行各种功能应用以及任务处理。存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作***、功能所需的应用程序等;存储数据区可存储根据设备的使用所创建的数据等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器还可以包括存储器控制器,以提供处理器对存储器的访问。
本申请实施例所提供的方法实施例可以在计算机终端、服务器或者类似的运算装置中执行,即上述电子设备可以包括计算机终端、服务器或者类似的运算装置。图3是本申请实施例提供的运行一种任务处理方法的电子设备的硬件结构框图,如图3所示,该电子设备的内部结构可包括但不限于:处理器、网络接口及存储器。其中,电子设备内的处理器、网络接口及存储器可通过总线或其他方式连接,在本说明书实施例所示图3中以通过总线连接为例。
其中,处理器(或称CPU (Central Processing Unit,中央处理器))是电子设备的计算核心以及控制核心。网络接口可选的可以包括标准的有线接口、无线接口(如WI-FI、移动通信接口等)。存储器(Memory)是电子设备中的记忆设备,用于存放程序和数据。可以理解的是,此处的存储器可以是高速RAM存储设备,也可以是非不稳定的存储设备(non-volatile memory),例如至少一个磁盘存储设备;可选的还可以是至少一个位于远离前述处理器的存储装置。存储器提供存储空间,该存储空间存储了电子设备的操作***,可包括但不限于:Windows***(一种操作***),Linux(一种操作***),Android(安卓,一种移动操作***)***、IOS(一种移动操作***)***等等,本申请对此并不作限定;并且,在该存储空间中还存放了适于被处理器加载并执行的一条或一条以上的指令,这些指令可以是一个或一个以上的计算机程序(包括程序代码)。在本说明书实施例中,处理器加载并执行存储器中存放的一条或一条以上指令,以实现上述方法实施例提供的任务处理方法。
本申请实施例还提供了一种计算机可读存储介质,存储介质中存储有至少一条指令或者至少一段程序,至少一条指令或者至少一段程序由处理器加载并执行以实现方法实施例提供的任务处理方法。
可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
需要说明的是:上述本申请实施例先后顺序仅仅为了描述,不代表实施例的优劣。且上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上仅为本申请的较佳实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (11)
1.一种任务处理方法,其特征在于,所述方法包括:
接收目标任务中第一任务处理节点的目标节点执行进度信息;所述第一任务处理节点是目标任务对应的任务处理节点序列中的任一任务处理节点,所述任务处理节点序列包括基于所述目标任务的执行顺序分解得到的多个任务处理节点;
判断所述任务处理节点序列中是否存在第二任务处理节点的关联任务处理节点;所述第二任务处理节点是所述第一任务处理节点的下一个任务处理节点;
若存在,则获取所述关联任务处理节点的节点执行进度信息;
在所述关联任务处理节点的节点执行进度信息指示执行完成时,向所述第二任务处理节点发送任务执行指令,以使得所述第二任务处理节点响应于所述任务执行指令执行任务处理。
2.根据权利要求1所述的一种任务处理方法,其特征在于,所述方法还包括:
若不存在所述关联任务处理节点,则向所述第二任务处理节点发送任务执行指令,以使得所述第二任务处理节点响应于所述任务执行指令执行任务处理。
3.根据权利要求1或2所述的一种任务处理方法,其特征在于,所述判断所述任务处理节点序列中是否存在第二任务处理节点的关联任务处理节点,包括:
获取所述目标任务对应的节点关联信息;
基于所述节点关联信息,判断所述任务处理节点序列中是否存在第二任务处理节点的关联任务处理节点。
4.根据权利要求3所述的一种任务处理方法,其特征在于,所述方法还包括:
响应于针对所述目标任务的节点关联配置指令,获取所述目标任务对应的所述节点关联信息;
存储所述目标任务对应的所述节点关联信息。
5.根据权利要求1所述的一种任务处理方法,其特征在于,所述方法还包括:
接收目标任务中第二任务处理节点的目标节点执行进度信息;
判断所述第二任务处理节点是否是所述任务处理节点序列中的最后一个任务处理节点;
若是,则终止对所述目标任务的任务处理;
若不是,则判断所述任务处理节点序列中是否存在第三任务处理节点的关联任务处理节点;所述第三任务处理节点是所述第二任务处理节点的下一个任务处理节点。
6.根据权利要求1所述的一种任务处理方法,其特征在于,所述方法还包括:
获取所述目标任务的业务逻辑信息;
基于所述业务逻辑信息将所述目标任务分解为多个所述任务处理节点。
7.根据权利要求1所述的一种任务处理方法,其特征在于,接收目标任务中第一任务处理节点的目标节点执行进度信息、向所述第二任务处理节点发送任务执行指令均通过事务消息中间件实现。
8.一种任务处理装置,其特征在于,所述装置包括:
目标节点执行进度信息接收模块,用于接收目标任务中第一任务处理节点的目标节点执行进度信息;所述第一任务处理节点是目标任务对应的任务处理节点序列中的任一任务处理节点,所述任务处理节点序列包括基于所述目标任务的执行顺序分解得到的多个任务处理节点;
第一关联任务处理节点判断模块,用于判断所述任务处理节点序列中是否存在第二任务处理节点的关联任务处理节点;所述第二任务处理节点是所述第一任务处理节点的下一个任务处理节点;
节点执行进度信息获取模块,用于基于所述任务处理节点序列中存在第二任务处理节点的关联任务处理节点,获取所述关联任务处理节点的节点执行进度信息
第一任务执行指令发送模块,用于在所述关联任务处理节点的节点执行进度信息指示执行完成时,向所述第二任务处理节点发送任务执行指令,以使得所述第二任务处理节点响应于所述任务执行指令执行任务处理。
9.根据权利要求8所述的一种任务处理装置,其特征在于,所述装置还包括:
终止任务判断模块,用于判断所述第二任务处理节点是否是所述任务处理节点序列中的最后一个任务处理节点。
10.一种电子设备,其特征在于,包括处理器和存储器,所述存储器中存储有至少一条指令或者至少一段程序,所述至少一条指令或者所述至少一段程由所述处理器加载并执行以实现如权利要求1~7中任一项所述的任务处理方法。
11.一种计算机可读存储介质,所述存储介质中存储有至少一条指令或者至少一段程序,所述至少一条指令或者所述至少一段程序由处理器加载并执行以实现如权利要求1~7中任一项所述的任务处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210000919.5A CN114020442A (zh) | 2022-01-04 | 2022-01-04 | 一种任务处理方法、装置、电子设备及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210000919.5A CN114020442A (zh) | 2022-01-04 | 2022-01-04 | 一种任务处理方法、装置、电子设备及可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114020442A true CN114020442A (zh) | 2022-02-08 |
Family
ID=80069558
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210000919.5A Pending CN114020442A (zh) | 2022-01-04 | 2022-01-04 | 一种任务处理方法、装置、电子设备及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114020442A (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100235845A1 (en) * | 2006-07-21 | 2010-09-16 | Sony Computer Entertainment Inc. | Sub-task processor distribution scheduling |
US20100293546A1 (en) * | 2009-05-15 | 2010-11-18 | International Business Machines Corporation | Method and system for web page breadcrumb |
CN108287756A (zh) * | 2018-01-25 | 2018-07-17 | 联动优势科技有限公司 | 一种处理任务的方法及装置 |
CN110096342A (zh) * | 2019-05-08 | 2019-08-06 | 深圳乐信软件技术有限公司 | 任务处理方法、装置、服务器和存储介质 |
CN112035235A (zh) * | 2020-09-02 | 2020-12-04 | 中国平安人寿保险股份有限公司 | 任务调度方法、***、设备及存储介质 |
CN112148480A (zh) * | 2020-09-03 | 2020-12-29 | 深圳壹账通智能科技有限公司 | 基于多线程的任务处理方法、装置、设备及存储介质 |
CN112231098A (zh) * | 2020-09-29 | 2021-01-15 | 北京三快在线科技有限公司 | 任务处理方法、装置、设备及存储介质 |
-
2022
- 2022-01-04 CN CN202210000919.5A patent/CN114020442A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100235845A1 (en) * | 2006-07-21 | 2010-09-16 | Sony Computer Entertainment Inc. | Sub-task processor distribution scheduling |
US20100293546A1 (en) * | 2009-05-15 | 2010-11-18 | International Business Machines Corporation | Method and system for web page breadcrumb |
CN108287756A (zh) * | 2018-01-25 | 2018-07-17 | 联动优势科技有限公司 | 一种处理任务的方法及装置 |
CN110096342A (zh) * | 2019-05-08 | 2019-08-06 | 深圳乐信软件技术有限公司 | 任务处理方法、装置、服务器和存储介质 |
CN112035235A (zh) * | 2020-09-02 | 2020-12-04 | 中国平安人寿保险股份有限公司 | 任务调度方法、***、设备及存储介质 |
CN112148480A (zh) * | 2020-09-03 | 2020-12-29 | 深圳壹账通智能科技有限公司 | 基于多线程的任务处理方法、装置、设备及存储介质 |
CN112231098A (zh) * | 2020-09-29 | 2021-01-15 | 北京三快在线科技有限公司 | 任务处理方法、装置、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106302632B (zh) | 一种基础镜像的下载方法以及管理节点 | |
CN108776897B (zh) | 数据处理方法、装置、服务器及计算机可读存储介质 | |
CN112465615B (zh) | 账单数据的处理方法、装置及*** | |
CN112286664B (zh) | 任务调度方法、装置、计算机设备及可读存储介质 | |
CN111988429A (zh) | 算法调度方法以及*** | |
CN106775975B (zh) | 进程调度方法及装置 | |
CN110333916B (zh) | 请求消息处理方法、装置、计算机***及可读存储介质 | |
CN114020442A (zh) | 一种任务处理方法、装置、电子设备及可读存储介质 | |
CN112559155A (zh) | 批量作业处理方法、***、计算机设备及可读存储介质 | |
CN113095769A (zh) | 一种服务库存管理方法、装置、设备及可读存储介质 | |
CN110413398B (zh) | 任务调度方法、装置、计算机设备和存储介质 | |
CN109697117A (zh) | 终端控制方法、装置以及计算机可读存储介质 | |
CN116932220A (zh) | 服务集群的资源调整方法、装置、电子设备和存储介质 | |
CN111459464B (zh) | 节点融合方法、代码生成方法、装置 | |
CN112685145A (zh) | 任务管理方法、装置以及计算机设备 | |
CN111143063A (zh) | 任务的资源预约方法及装置 | |
CN113760494B (zh) | 任务调度方法和装置 | |
CN116361114A (zh) | 一种ai板卡监控保活方法、装置、设备及介质 | |
CN112612604B (zh) | 基于Actor模型的任务调度方法、装置 | |
CN110673942B (zh) | 一种云平台的异步进程结束方法、装置及云平台服务器 | |
CN112882940A (zh) | 用例任务调度方法、***、装置、设备及存储介质 | |
CN113032118A (zh) | 用于计算机应用程序的异步操作处理方法和相应的*** | |
CN112084014A (zh) | 一种数据处理方法、装置、设备及介质 | |
CN112148803A (zh) | 区块链中任务的调用方法、装置、设备及可读存储介质 | |
CN111176845A (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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20220208 |