任务流异常的处理方法及装置制造方法及图纸

技术编号:8323272 阅读:207 留言:0更新日期:2013-02-14 00:21
本申请涉及一种任务流异常的处理方法及装置。该方法包括:(1)将用户请求转换为由多个任务节点构成的任务流,并执行所述任务流;(2)判断各任务节点的执行是否出现异常;(3)如果某个任务节点的执行出现异常,则暂时中止所述任务流的执行,并将出现异常的任务节点的节点信息放入分别指示多个不同等待时间的多级别等待队列中;以及(4)根据所述节点信息,执行所述出现异常的任务节点。本申请可以确保请求的完整执行,保障请求的数据、状态的最终完整性和一致性,提高人工恢复的效率,实现统一、稳定的接口。

【技术实现步骤摘要】

本专利技术涉及一种任务流异常的处理方法及装置
技术介绍
任务流是一种网站业务的后台处理流程。在网站的业务系统中,存在一些由多个子任务构成的一个完整大任务,这些子任务本身只是为了完成某种特定的工作,而且这些子任务又有很高的重用性,因而不能完全将这些子任务集成在一个大任务中。为了完成这样一个大任务,就需要定义一些任务流,连接起所有的子任务来,并执行完成。以完成电子商务网站上的消息通信请求为例,这一大任务包括发件人向收件人发送一些站内消息,发件人在自己的发件记录中看到消息,收件人在自己的收件箱中看到消息,即,从发件人发送开始到收件人真正能在收件箱内看到信息,需要经历很多子任务。这些子任务包括但不限于以下子任务或其组合将这些信息保存到存储器中,对一些垃圾、欺诈信息进行过滤,根·据收件人的管理规则进行目录的分配,在不同的数据源之间进行同步,对于重要的信息发送邮件来通知用户等等。这些子任务相互之间比较独立,但它们组成一个整体时,才能完成与一个用户请求对应的大任务。这些子任务中的任何一个出现异常(即,任务流处理出现异常),对整个请求的完成就会出现问题。已知的任务流异常的处理方式包括在执行请求过程中由于任务流异常引入系统不一致的数据不会造成非常大的影响的情况下,直接丢弃请求但不删除这些不一致的数据,如果需要保持数据的一致性,则除了直接丢弃该请求还进一步删除在执行请求过程中已经进入系统的数据;或者用文件的方式将出错的情况保存到一个固定的地方,之后用人工的方式恢复起来。但上述方式存在以下弊端I、对于直接将用户请求在后台处理的过程中丢弃掉的情况,在用户体验上很糟糕。对于电子商务网站来说,其任务流常常涉及用户进行交易的数据,这样的处理显然不合理;而且,在将插入一半的数据删除掉的情况下,虽然能保证那些数据整体上是一致的,但还是没有正确地响应请求的完成,容易造成用户重要的数据丢弃。2、对于某时刻系统后台处理某个任务流失败的情况出现时采取单一的人工恢复处理方式,不能及时且有针对性地对各种异常(例如,系统脏数据、系统逻辑有误、请求的某些条件暂时还没有达到等)进行区别处理。3、人工恢复很麻烦、容易出错、效率低对于所有出错的场景,都采用人工恢复的方式,虽然有希望恢复数据,但是这样做效率低下,而且大部分场景下,并不一定需要人的参与才能将数据恢复;此外人工恢复的数据量增多时,出错率增加并会引发其它类型的问题。4、由于简单放弃请求或者删除数据,导致接口不统一也不稳定
技术实现思路
鉴于上述问题,本申请的一个目的是提供一种任务流异常的处理方法及装置,其可以保障用户请求的数据、状态的最终完整性与一致性。本申请的另一个目的是提供一种任务流异常的处理方法及装置,其可以有针对性地、时间层次性地给予出现异常的场景足够的时间去解决问题。本申请的又一个目的是提供一种任务流异常的处理方法及装置,其可以减少人工恢复的数据量,从而提高效率。本申请的再一个目的是提供一种任务流异常的处理方法及装置,其可以实现统一、稳定的接口。为了实现上述目的,本申请提供一种任务流异常的处理方法,包括如下步骤(I)将用户请求转换为由多个任务节点构成的任务流,并执行所述任务流; (2)判断各任务节点的执行是否出现异常;(3)如果某个任务节点的执行出现异常,则暂时中止所述任务流的执行,并将出现异常的任务节点的节点信息放入分别指示多个不同等待时间的多级别等待队列中;以及(4)根据所述节点信息,执行所述出现异常的任务节点。本申请还提供一种任务流异常的处理装置,该装置包括转换单元,将用户请求转换为由多个任务节点构成的任务流,并执行所述任务流;判断单元,判断各任务节点的执行是否出现异常;等待单元,如果某个任务节点的执行出现异常,则暂时中止所述任务流的执行,并将出现异常的任务节点的节点信息放入分别指示多个不同等待时间的多级别等待队列中;以及执行单元,根据所述节点信息,执行所述出现异常的任务节点。在本申请中,由于并不轻易放弃请求,因而可以尽最大可能地确保请求的完整执行,保障请求的数据、状态的最终完整性和一致性。此外,在本申请中,由于仅有在进入多级别等待队列进行等待之后仍不能恢复的场景才进行人工恢复,因而使得人工恢复的数据量减少,效率提高,出错率降低。此外,由于将出现异常的任务节点进行等待处理,因而可以有针对性地解决能够利用等待而克服的异常现象。而且,在本申请中,可以实现统一、稳定的接口。另外,由于对于出现异常的任务节点执行多级别等待队列的处理,从而有时间层次性地给予出现异常的任务节点适当的时间去解决问题。本申请包括如上所述的多个优点。当然,实施本申请的任一产品并不一定需要同时达到以上所述的所有优点。附图说明图I示例性示出了根据本申请的任务流异常的处理方法的主要流程图;图2示例性示出了根据本申请的任务流异常的处理方法的示意图;图3示例性示出了根据本申请的任务流异常的处理方法的第一实施例的流程图;图4示例性示出了根据本申请的任务流异常的处理方法的第二实施例的流程图5示例性示出了多种异常类型及其相应的等待时间的示意图;以及图6示例性示出了根据本申请的任务流异常的处理装置的方框图。具体实施例方式现将参照附图详细描述根据本申请的任务流异常的处理方法及装置。参照图1,根据一个实施例,在接收到用户请求时,首先,在步骤S11,将该用户请求转换为由多个任务节点(即,子任务)构成的任务流,并执行所述任务流。其次,在步骤S22,判断各任务节点的执行是否出现异常。处理出现异常的原因很多,例如数据尚未同步、系统逻辑发生错误、外部依赖系统不可用、尚未获得所需的其他数据的计算结果、本系统出现脏数据(即,所存在的与现实逻辑下的数据不一致的数据)以及外部系统的数据出现错误等等。 之后,如果在步骤S22判断出某个任务节点的执行出现异常,则流程进行到步骤S33,暂时中止任务流处理,并将出现异常的任务节点的节点信息放入分别指示多个不同等待时间的多级别等待队列中。最后,在步骤S44,根据所放入的节点信息,执行所述出现异常的任务节点。所述多级别等待队列由分别指示多个不同等待时间的多个等待队列组成,例如由第一等待级别的等待队列和第二等待级别的等待队列组成,其中第一等待级别的等待队列包括指示等待时间从短到长的多个子等待队列,第二等待级别的等待队列为指示等待时间为无限长的等待队列。在出现异常的任务节点的节点信息放入第一等待级别的等待队列的子等待队列时,在等待了第一等待级别的等待队列所指示的等待时间之后,根据节点信息返回到出现异常的任务节点并重新执行该出现异常的任务节点。在出现异常的任务节点的节点信息被放入第二等待级别的等待队列中时,提示进行人工干预。优选地,如果某个任务节点是第一次执行出现异常时,则将所述出现异常的任务节点的节点信息放入指示等待时间最短的子等待队列中。当该等待时间结束后,根据节点信息返回到出现异常的任务节点并重新执行该出现异常的任务节点。若重新执行该出现异常的任务节点仍不成功,则重新执行步骤S33,并将所述出现异常的任务节点的节点信息放入比所述出现异常的任务节点所在的前一子等待队列等待时间更长的子等待队列中,直到在等待了某一子等待队列所指示的等待时间后成功执行该出现异常的任务节点从而继续执行该任务流,或者在遍历了所有子等待队本文档来自技高网
...

【技术保护点】
一种由计算机实施的任务流异常的处理方法,包括如下步骤:(1)将用户请求转换为由多个任务节点构成的任务流,并执行所述任务流;(2)判断各任务节点的执行是否出现异常;(3)如果某个任务节点的执行出现异常,则暂时中止所述任务流的执行,并将出现异常的任务节点的节点信息放入分别指示多个不同等待时间的多级别等待队列中;以及(4)根据所述节点信息,执行所述出现异常的任务节点。

【技术特征摘要】
1.一种由计算机实施的任务流异常的处理方法,包括如下步骤 (1)将用户请求转换为由多个任务节点构成的任务流,并执行所述任务流; (2)判断各任务节点的执行是否出现异常; (3)如果某个任务节点的执行出现异常,则暂时中止所述任务流的执行,并将出现异常的任务节点的节点信息放入分别指示多个不同等待时间的多级别等待队列中;以及 (4)根据所述节点信息,执行所述出现异常的任务节点。2.根据权利要求I所述的方法,在所述步骤(3)中将所述节点信息放入所述多级别等待队列中第一等待级别的等待队列,在所述步骤(4)中,在等待了所述第一等待级别的等待队列指示的等待时间之后,自动重新执行出现异常的任务节点。3.根据权利要求2所述的方法,其中,所述第一等待级别的等待队列包括指示等待时间从短到长的多个子等待队列。4.根据权利要求3所述的方法,在所述步骤(3)中,如果某个任务节点是第一次执行出现异常时,则将所述出现异常的任务节点的节点信息放入指示等待时间最短的子等待队列中。5.根据权利要求3所述的方法,在所述步骤(4)中,当执行所述出现异常的任务节点不成功时,则重新执行步骤(3),并将所述出现异常的任务节点的节点信息放入比所述出现异常的任务节点所在的前一子等待...

【专利技术属性】
技术研发人员:王烨潘国均
申请(专利权)人:阿里巴巴集团控股有限公司
类型:发明
国别省市:

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

1