一种任务处理方法及系统技术方案

技术编号:14253824 阅读:47 留言:0更新日期:2016-12-22 16:16
本发明专利技术实施例提供一种任务处理方法及系统,其中,所述方法包括:第n处理节点从消息通道获取第n任务处理消息,并根据所述第n任务处理消息执行第n预定操作,根据第n预定操作的执行结果向所述消息通道发送反馈消息;当所述第n预定操作执行正确时,第n+1处理节点从所述消息通道中获取基于所述反馈消息形成的第n+1任务处理消息,并根据所述第n+1任务处理消息执行第n+1预定操作;其中,所述第n+1处理节点为所述第n处理节点的下一操作节点;所述第n预定操作和所述第n+1预定操作为响应同一任务请求的响应操作;所述n为小于N的正整数;所述N为响应所述任务请求的处理节点的总个数。

【技术实现步骤摘要】

本专利技术涉及计算机
,具体涉及一种任务处理方法及系统
技术介绍
现有的一些包含有多个子系统交互的系统,通常是一个进程从头到尾的执行,各个节点之间的交互是通过程序的上下文进行互相调用。但是,在执行任务的过程中若某一节点执行出现异常时,系统将无法获取异常信息。任务失败时,数据无法完全回滚;另外,由于各节点之间无法进行解耦,某一个节点代码的升级必然影响该任务的执行。
技术实现思路
有鉴于此,本专利技术实施例期望提供一种任务处理方法及系统,至少能解决上述问题之一。本专利技术的技术方案是这样实现的:本专利技术实施例提供了一种任务处理方法,应用于包括消息通道以及与消息通道连接的多个处理节点的任务处理系统中,所述方法包括:第n处理节点从消息通道获取第n任务处理消息,并根据所述第n任务处理消息执行第n预定操作,根据第n预定操作的执行结果向所述消息通道发送反馈消息;其中,所述第n预定操作为所述第n处理节点执行的一个或多个预定子操作;当所述第n预定操作执行正确时,第n+1处理节点从所述消息通道中获取基于所述反馈消息形成的第n+1任务处理消息,并根据所述第n+1任务处理消息执行第n+1预定操作;其中,所述第n+1处理节点为所述第n处理节点的下一操作节点;所述第n预定操作和所述第n+1预定操作为响应同一任务请求的响应操作;所述n为小于N的正整数;所述N为响应所述任务请求的处理节点的总个数;当所述第n预定操作执行错误时,异常处理节点从所述消息通道中获取基于所述反馈消息形成的异常任务处理消息,并根据所述异常任务处理消息执行异常处理操作。本专利技术实施例提供了一种任务处理系统,所述系统包括:消息通道,用于传输消息;第n处理节点,与所述消息通道连接,用于从所述消息通道获取第n任务处理消息,并根据所述第n任务处理消息执行第n预定操作,根据第n预定操作的执行结果向所述消息通道发送反馈消息;其中,所述第n预定操作为所述第n处理节点执行的一个或多个预定子操作;第n+1处理节点,与所述消息通道连接,用于当所述第n预定操作执行正确时,从所述消息通道中获取基于所述反馈消息形成的第n+1任务处理消息,并根据所述第n+1任务处理消息执行第n+1预定操作;其中,所述第n+1预定操作为所述第n+1处理节点执行的一个或多个预定子操作;其中,所述第n+1处理节点为所述第n处理节点的下一操作节点;所述第n预定操作和所述第n+1预定操作为响应同一任务请求的响应操作;所述n为小于N的正整数;所述N为响应所述任务请求的处理节点的总个数;异常处理节点,与所述消息通道连接,用于当所述第n预定操作执行错误时,从所述消息通道中获取基于所述反馈消息形成的异常任务处理消息,并根据所述异常任务处理消息执行异常处理操作。采用本专利技术实施例所述技术方案,作为响应同一任务请求的第n处理节点以及第n+1处理节点,所述第n处理节点以及第n+1处理节点只需从消息通道获取任务处理消息,然后根据从消息通道获取的任务处理消息执行相应的预定操作,并向消息通道反馈执行相应的预定操作的执行结果,无需第n处理节点直接向第n+1处理节点发送任务处理消息,也无需第n处理节点与第n+1处理节点进行相互调用。相对于现有技术中第n处理节点与第n+1处理节点通过程序的上下文进行互相调用,当出现错误时系统无法获取异常信息来说,本申请引入异常处理节点来负责处理异常事件,由于不同处理节点之间是通过消息通道传输消息的,而不是由一个处理节点直接给到下一个处理节点;这样当出现错误时,该异常处理节点可以从消息通道中获取两个处理节点之间的传输的处理消息,进行错误分析;至少解决了现有技术中因不同处理节点之间的强耦合而引起的系统无法获取异常信息问题。附图说明图1为本专利技术实施例提供的任务处理方法的实现流程示意图;图2为本专利技术实施例提供的三个处理节点执行某一任务请求的一种示意图;图3为本专利技术实施例提供的向各处理节点投递任务处理消息的一种示意图;图4为本专利技术实施例提供的向各处理节点投递任务处理消息的另一种示意图;图5为本专利技术实施例提供的三个处理节点执行某一任务请求的另一种示意图;图6为本专利技术实施例提供的三个处理节点执行某一任务请求的异常处理操作的一种示意图;图7本专利技术实施例提供的查询任务执行情况的一种示意图;图8本专利技术实施例提供的查询任务执行情况的另一种示意图;图9为本专利技术实施例提供的调试节点备份各个处理节点的任务处理消息的示意图;图10为本专利技术实施例提供的任务处理系统的组成结构示意图;图11是本专利技术实施例中用于实现任务处理系统的服务器的一个可选的硬件结构示意图;图12为本专利技术实施例提供的任务处理系统的一种硬件结构示意图;图13为本专利技术实施例提供的一种任务处理系统的运维流程架构图。具体实施方式下面结合附图和具体实施例对本专利技术的技术方案进一步详细阐述。实施例一本专利技术实施例提供一种任务处理方法,所述方法可应用于服务器侧,如图1所示,所述方法主要包括:步骤101:第n处理节点从消息通道获取第n任务处理消息,并根据所述第n任务处理消息执行第n预定操作,根据第n预定操作的执行结果向所述消息通道发送反馈消息。其中,所述n为小于N的正整数;所述N为响应某一任务请求的处理节点的总个数。其中,所述第n任务处理消息包含有所述第n处理节点为响应某一任务请求所需执行的操作及执行所述操作对应的参数。这里,所述所需执行的操作是指所述第n处理节点为响应某一任务请求所需执行的步骤。所述参数是指第n处理节点为响应某一任务请求所需执行的步骤所用到的参数;其中,所述参数可以包括所述第n处理节点的上一处理节点的处理结果。例如,所述所需执行的内容包括:第n预定操作;所述第n预定操作为响应该任务请求的响应操作。其中,所述第n预定操作为所述第n处理节点执行的一个或多个预定子操作。也就是说,所述第n处理节点支持执行至少一个预定子操作,当所述第n处理节点执行不同的预定子操作时,能实现不同的功能。举例来说,共有2个处理节点,每个处理节点均能执行多个预定子操作。第1处理节点可支持S1、S2两个预定子操作;其中,S1预定子操作为获取登录信息,S2预定子操作为根据鉴权结果判断是否允许进入某账号体系;第2个处理节点可支持S3、S4两个预定子操作;其中,S3预定子操作为对登录信息进行鉴权,返回鉴权结果;S4预定子操作为建立账号与密码的对应关系。那么,当接收到一登录某账号的任务请求时,第1个处理节点执行S1预定操作,即获取登录信息;第2处理节点执行S3预定操作,即对所述登录信息进行鉴权;第2处理节点执行S3预定操作,即对所述登录信息进行鉴权,返回鉴权结果;第3处理节点执行S2预定操作,即根据鉴权结果判断是否允许进入某账号体系。至此,通过第1处理节点以及第2处理节点执行相应的预定子操作,能完成该任务请求。本实施例中,所述消息通道用于存储各个处理节点的任务处理消息,还用于接收各个处理节点的反馈消息。例如,所述消息通道包括消息队列、数据总线等各种传输通道。优选地,所述消息通道包括消息队列,所述消息队列是在消息的传输过程中保存消息的容器。在一可选实施方式中,所述消息通道包括多个子消息通道,每一处理节点对应一个子消息通道,每一处理节点均可从与其对应的子消息通道中获取任务处理消息,并向与其对应的子消息通道发送反馈消息本文档来自技高网...
一种任务处理方法及系统

【技术保护点】
一种任务处理方法,其特征在于,所述方法应用于包括消息通道以及与消息通道连接的多个处理节点的任务处理系统中,包括:第n处理节点从消息通道获取第n任务处理消息,并根据所述第n任务处理消息执行第n预定操作,根据第n预定操作的执行结果向所述消息通道发送反馈消息;其中,所述第n预定操作为所述第n处理节点执行的一个或多个预定子操作;当所述第n预定操作执行正确时,第n+1处理节点从所述消息通道中获取基于所述反馈消息形成的第n+1任务处理消息,并根据所述第n+1任务处理消息执行第n+1预定操作;其中,所述第n+1预定操作为所述第n+1处理节点执行的一个或多个预定子操作;其中,所述第n+1处理节点为所述第n处理节点的下一操作节点;所述第n预定操作和所述第n+1预定操作为响应同一任务请求的响应操作;所述n为小于N的正整数;所述N为响应所述任务请求的处理节点的总个数;当所述第n预定操作执行错误时,异常处理节点从所述消息通道中获取基于所述反馈消息形成的异常任务处理消息,并根据所述异常任务处理消息执行异常处理操作。

【技术特征摘要】
1.一种任务处理方法,其特征在于,所述方法应用于包括消息通道以及与消息通道连接的多个处理节点的任务处理系统中,包括:第n处理节点从消息通道获取第n任务处理消息,并根据所述第n任务处理消息执行第n预定操作,根据第n预定操作的执行结果向所述消息通道发送反馈消息;其中,所述第n预定操作为所述第n处理节点执行的一个或多个预定子操作;当所述第n预定操作执行正确时,第n+1处理节点从所述消息通道中获取基于所述反馈消息形成的第n+1任务处理消息,并根据所述第n+1任务处理消息执行第n+1预定操作;其中,所述第n+1预定操作为所述第n+1处理节点执行的一个或多个预定子操作;其中,所述第n+1处理节点为所述第n处理节点的下一操作节点;所述第n预定操作和所述第n+1预定操作为响应同一任务请求的响应操作;所述n为小于N的正整数;所述N为响应所述任务请求的处理节点的总个数;当所述第n预定操作执行错误时,异常处理节点从所述消息通道中获取基于所述反馈消息形成的异常任务处理消息,并根据所述异常任务处理消息执行异常处理操作。2.根据权利要求1所述的方法,其特征在于,所述根据第n预定操作的执行结果向所述消息通道发送反馈消息之后,所述方法还包括:控制节点基于所述反馈消息判断所述第n预定操作的执行结果是否执行正确,其中,所述反馈消息包括第n预定操作的执行结果;当所述第n预定操作执行正确时,基于所述任务请求的任务处理清单向所述消息通道发送基于所述反馈消息形成的第n+1任务处理消息;其中,所述任务处理清单包括执行所述任务请求的N个所述处理节点,以及N个所述处理节点执行的预定操作的执行顺序;当所述第n预定操作执行错误时,基于所述任务处理清单向所述消息通道发送基于所述反馈消息形成的异常任务处理消息。3.根据权利要求1所述的方法,其特征在于,所述方法还包括:所述第n处理节点判断所述第n预定操作是否执行正确;当所述第n预定操作执行正确时,则根据第n预定操作的执行结果向所述消息通道反馈第一类消息;其中,所述第一类消息包括所述第n处理节点的执行结果、所述第n处理节点根据任务处理清单确定的第n+1处理节点的节点标识、以及所述任务处理清单;其中,所述任务处理清单包括执行所述任务请求所涉及的各个处理节点的节点标识,以及所述各个处理节点之间的执行顺序及预定操作。4.根据权利要求1所述的方法,其特征在于,所述方法还包括:所述第n处理节点判断所述第n预定操作是否执行正确;当所述第n预定操作执行出现异常时,则根据第n预定操作的执行结果向所述消息通道反馈第二类消息;其中,所述第二类消息包括所述第n处理节点的执行结果、所述第n处理节点确定的异常处理节点、以及所述任务处理清单。5.根据权利要求1所述的方法,其特征在于,所述基于所述反馈消息形成的异常任务处理消息,包括:确定需要执行异常处理操作的各个处理节点及执行异常处理的顺序。6.根据权利要求1所述的方法,其特征在于,所述方法还包括:将各处理节点的处理结果发送至存储设备中,存储在所述存储设备的所述处理结果,用于响应查询所述任务请求的执行的查询请求。7.根据权利要求6所述的方法,其特征在于,所述方法还包括:检测客户端发送的查询请求;响应所述查询请求,根据所述存储设备中存储的处理结果向客户端发送执行状态信息。8.根据权利要求7所述的方法,其特征在于,所述方法还包括:接收到任务请求时,估算完成所述任务请求所需时间;当所需时间大于或等于预设时间阈值时,为发送所述任务请求的客户端分配任务标识码;其中,所述任务标识码,用于查询所述任务请求的处理结果。9.根据权利要求8所述的方法,其特征在于,所述检测客户端发送的查询请求,包括:存储设备从客户端接收携带有所述任务标识码的查询请求;所述响应所述查询请求,从所述存储设备中获取处理结果,包括:所述存储设备依据所述任务标识码,查询与所述任务标识码对应的处理结果;其中,所述存储设备存储有任务标识码与处理结果的映射关系。10.根据权利要求7所述的方法,其特征在于,所述检测客户端发送的查询请求,包括:预定接口从客户端接收携带有客户端的标识信息的查询请求;所述响应所述查询请求,从所述存储设备中获取处理结果,包括:通过预定接口从所述存储设备查询与所述标识信息对应的处理结果,并向所述客户端返回执行状态信息;其中,所述存储设备存储有客户端的标识信息与处理结果的映射关系。11.根据权利要求1所述的方法,其特征在于,所述方法还包括:调试节点对所述消息通道中的所有处理消息进行备份;其中,备份的所述处理消息用于进行错误调试。12.一...

【专利技术属性】
技术研发人员:陈煜东张金栋李斌刘鑫曾君亮黄奕坤林浩杰陈佩意黄荣坚王旻李德铠李力
申请(专利权)人:腾讯科技深圳有限公司
类型:发明
国别省市:广东;44

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

1