一种任务处理的方法和装置制造方法及图纸

技术编号:26259057 阅读:17 留言:0更新日期:2020-11-06 17:53
本发明专利技术公开了一种任务处理的方法和装置,涉及计算机技术领域。该方法的一具体实施方式包括:能够通过将任务流划分为多个任务节点,利用可配置的任务流转策略,根据任务节点的业务执行结果确定下一个任务节点的技术手段,解决了微服务应用系统中复杂且可变任务流的调度问题;通过使用任务内存队列保存多个任务以及并发执行多个任务,能够在调度任务流的同时,提高了并发业务的处理效率;并通过共享缓存记录任务节点的运行状态并对工作异常的任务节点触发重新任务处理,提高了任务处理的容错能力。

【技术实现步骤摘要】
一种任务处理的方法和装置
本专利技术涉及计算机
,尤其涉及一种任务处理的方法和装置。
技术介绍
现阶段,互联网微服务应用系统得到广泛应用,其具有将复杂的单体应用拆分成若干个简单而松耦合的微服务,并进行分布式部署的特点,从而降低开发难度、增强扩展性和便于敏捷开发。但与此同时也带来了新的问题:即在高并发业务场景中需要调用多个微服务进行复杂且可变任务流处理时,如何保证既能处理复杂可变任务流程,又能保持整体高并发特性。在实现本专利技术过程中,专利技术人发现现有技术中至少存在如下问题:现有技术采用的任务流配置的策略较为单一,不能完全适用于微服务应用系统中复杂且可变任务流的调度,或者不能满足高并发的业务场景,并且对任务所包含的任务节点的容错性的处理欠缺。
技术实现思路
有鉴于此,本专利技术实施例提供一种任务处理的方法和装置,能够通过将任务流划分为多个任务节点,利用可配置的任务流转策略,根据任务节点的业务执行结果确定下一个任务节点的技术手段,解决了微服务应用系统中复杂且可变任务流的调度问题;通过使用任务内存队列保存多个任务以及并发执行多个任务,能够在调度任务流的同时,提高了并发业务的处理效率;并通过共享缓存记录任务节点的运行状态并对工作异常的任务节点触发重新任务处理,提高了任务处理的容错能力。为实现上述目的,根据本专利技术实施例的一个方面,提供了一种任务处理的方法,其特征在于,包括:接受任务请求,所述任务至少包含两个任务节点以及首个任务节点标识;将所述首个任务节点标识作为当前任务节点标识,循环执行以下操作,直到任务结果指示为完成:驱动当前任务节点执行对应的业务,并获取所述当前任务节点的配置信息和所述当前任务节点的业务执行结果;根据任务流转策略,确定下一个待执行的任务节点;并将下一个任务节点标识作为当前任务节点标识;当所述任务结果指示为完成时,发送所述任务结果。可选地,所述任务处理的方法,其特征在于,所述任务流转策略包括:获取所述当前任务节点的业务执行结果与下一个待执行的任务节点标识的对应关系。可选地,所述任务处理的方法,其特征在于,所述当前任务节点标识存储于共享缓存中,根据所述当前任务节点的配置信息,确定是否将当前任务节点的业务执行状态存储于共享缓存中。可选地,所述任务处理的方法,其特征在于,当所述当前任务节点的所述业务执行结果指示为失败时,根据所述配置信息包含的重试策略,执行所述当前任务节点的业务重试操作。可选地,所述任务处理的方法,其特征在于,当所述当前任务节点的业务执行结果指示为异常,或者所述当前任务节点的业务重试操作结果指示为异常时,将所述当前任务节点标识和所述业务执行状态存储于共享缓存中。可选地,所述任务处理的方法,其特征在于,获取所述共享缓存中指示为异常的任务节点信息,所述任务节点信息包含任务节点标识,将所述任务节点的标识放入任务内存队列中等待被驱动。可选地,所述任务处理的方法,其特征在于,当任意一个当前任务节点的所述业务执行结果不存在对应的下一个任务节点标识时,所述任务的任务结果指示为完成。可选地,所述任务处理的方法,其特征在于,使用任务内存队列保存所述任务,并发执行多个所述任务。为实现上述目的,根据本专利技术实施例的第二方面,提供了一种任务处理的装置,其特征在于,包括:任务接收模块和任务处理模块;其中,所述任务接收模块,用于接收任务请求,所述任务至少包含两个任务节点以及首个任务节点标识;所述任务处理模块用于将所述首个任务节点标识作为当前任务节点标识,循环执行以下操作,直到任务结果指示为完成:驱动当前任务节点执行对应的业务,并获取所述当前任务节点的配置信息和所述当前任务节点的业务执行结果;根据任务流转策略,确定下一个待执行的任务节点;并将下一个任务节点标识作为当前任务节点标识;当所述任务结果指示为完成时,发送所述任务结果。可选地,所述任务处理的装置,其特征在于所述任务流转策略包括:获取所述当前任务节点的业务执行结果与下一个待执行的任务节点标识的对应关系。可选地,所述任务处理的装置,其特征在于,所述当前任务节点标识存储于共享缓存中,根据所述当前任务节点的配置信息,确定是否将当前任务节点的业务执行状态存储于共享缓存中。可选地,所述任务处理的装置,其特征在于,当所述当前任务节点的所述业务执行结果指示为失败时,根据所述配置信息包含的重试策略,执行所述当前任务节点的业务重试操作。可选地,所述任务处理的装置,其特征在于,当所述当前任务节点的业务执行结果指示为异常,或者所述当前任务节点的业务重试操作结果指示为异常时,将所述当前任务节点标识和所述业务执行状态存储于共享缓存中。可选地,所述任务处理的装置,其特征在于,获取所述共享缓存中指示为异常的任务节点信息,所述任务节点信息包含任务节点标识,将所述任务节点的标识放入任务内存队列中等待被驱动。可选地,所述任务处理的装置,其特征在于,当任意一个当前任务节点的所述业务执行结果不存在对应的下一个任务节点标识时,所述任务的任务结果指示为完成。可选地,所述任务处理的装置,其特征在于,使用任务内存队列保存所述任务,并发执行多个所述任务。为实现上述目的,根据本专利技术实施例的第三方面,提供了一种任务处理的电子设备,其特征在于,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如上述任务处理的方法中任一所述的方法。为实现上述目的,根据本专利技术实施例的第四方面,提供了一种计算机可读介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如上述任务处理的方法中任一所述的方法。上述专利技术中的一个实施例具有如下优点或有益效果:能够通过将任务流划分为多个任务节点,利用可配置的任务流转策略,根据任务节点的业务执行结果确定下一个任务节点的技术手段,解决了微服务应用系统中复杂且可变任务流的调度问题;通过使用任务内存队列保存多个任务以及并发执行多个任务,能够在调度任务流的同时,提高了并发业务的处理效率;并通过共享缓存记录任务节点的运行状态并对工作异常的任务节点触发重新任务处理,提高了任务处理的容错能力。上述的非惯用的可选方式所具有的进一步效果将在下文中结合具体实施方式加以说明。附图说明附图用于更好地理解本专利技术,不构成对本专利技术的不当限定。其中:图1是本专利技术一个实施例提供的一种任务处理的方法的流程示意图;图2是本专利技术一个实施例提供的一种任务处理的流程示意图;图3是本专利技术一个实施例提供的一种循环处理任务节点的流程示意图;图4是本专利技术一个实施例提供的一种任务节点流转的示意图;图5是本专利技术一个实施例提供的一种任务处理的装置的结构示意图图6是本专利技术实施例可以应用于其中的示例性系统架构图;图7本文档来自技高网...

【技术保护点】
1.一种任务处理方法,其特征在于,包括:/n接受任务请求,所述任务至少包含两个任务节点以及首个任务节点标识;/n将所述首个任务节点标识作为当前任务节点标识,循环执行以下操作,直到任务结果指示为完成:/n驱动当前任务节点执行对应的业务,并获取所述当前任务节点的配置信息和所述当前任务节点的业务执行结果;/n根据任务流转策略,确定下一个待执行的任务节点;并将下一个任务节点标识作为当前任务节点标识;/n当所述任务结果指示为完成时,发送所述任务结果。/n

【技术特征摘要】
1.一种任务处理方法,其特征在于,包括:
接受任务请求,所述任务至少包含两个任务节点以及首个任务节点标识;
将所述首个任务节点标识作为当前任务节点标识,循环执行以下操作,直到任务结果指示为完成:
驱动当前任务节点执行对应的业务,并获取所述当前任务节点的配置信息和所述当前任务节点的业务执行结果;
根据任务流转策略,确定下一个待执行的任务节点;并将下一个任务节点标识作为当前任务节点标识;
当所述任务结果指示为完成时,发送所述任务结果。


2.根据权利要求1所述的方法,其特征在于,
所述任务流转策略包括:获取所述当前任务节点的业务执行结果与下一个待执行的任务节点标识的对应关系。


3.根据权利要求1所述的方法,其特征在于,
所述当前任务节点标识存储于共享缓存中,根据所述当前任务节点的配置信息,确定是否将当前任务节点的业务执行状态存储于共享缓存中。


4.根据权利要求1所述的方法,其特征在于,
当所述当前任务节点的所述业务执行结果指示为失败时,根据所述配置信息包含的重试策略,执行所述当前任务节点的业务重试操作。


5.根据权利要求3或4所述的方法,其特征在于,
当所述当前任务节点的业务执行结果指示为异常,或者所述当前任务节点的业务重试操作结果指示为异常时,将所述当前任务节点标识和所述业务执行状态存储于共享缓存中。


6.根据权利要求5所述的方法,其特征在于,
获取所述共享缓存中指示...

【专利技术属性】
技术研发人员:刘荣华申作军
申请(专利权)人:北京沃东天骏信息技术有限公司北京京东尚科信息技术有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1