数据处理方法和装置制造方法

文档序号:6634325阅读:166来源:国知局
数据处理方法和装置制造方法
【专利摘要】本发明公开了一种数据处理方法和装置。其中,数据处理方法包括:获取待处理数据;对所述待处理数据依次执行多个阶段处理,所述多个阶段处理为对所述待处理数据依次连续执行的处理阶段;记录所述多个阶段处理的处理状态,所述处理状态包括处理成功和处理失败;判断所述处理状态中是否存在所述处理失败的状态;以及如果判断出所述处理状态存在所述处理失败的状态,则重新执行所述处理失败的状态对应的阶段处理。通过本发明,解决了现有技术中数据处理的效率低的问题,达到了提高数据处理的效率的效果。
【专利说明】数据处理方法和装置

【技术领域】
[0001]本发明涉及数据处理领域,具体而言,涉及一种数据处理方法和装置。

【背景技术】
[0002]现有技术中的数据处理流程往往只有原始数据的输入,中间处理过程和最终结果输出。对于数据较复杂,处理时间较长的数据处理流程来说,中间处理过程中出现错误或异常往往会导致整个处理流程失败,这就需要重新处理全部数据,数据处理的效率低。
[0003]针对现有技术中数据处理的效率低的问题,目前尚未提出有效的解决方案。


【发明内容】

[0004]本发明的主要目的在于提供一种数据处理方法和装置,以解决现有技术中数据处理的效率低的问题。
[0005]为了实现上述目的,根据本发明实施例的一个方面,提供了一种数据处理方法。根据本发明的数据处理方法包括:获取待处理数据;对所述待处理数据依次执行多个阶段处理,所述多个阶段处理为对所述待处理数据依次连续执行的处理阶段;记录所述多个阶段处理的处理状态,所述处理状态包括处理成功和处理失败;判断所述处理状态中是否存在所述处理失败的状态;以及如果判断出所述处理状态存在所述处理失败的状态,则重新执行所述处理失败的状态对应的阶段处理。
[0006]进一步地,在判断出所述处理状态存在所述处理失败的状态之后,以及重新执行所述处理失败的状态对应的阶段处理之前,所述数据处理方法还包括:从所述处理状态中确定出执行所述多个阶段处理过程中第一次出现的所述处理失败的状态,重新执行所述处理失败的状态对应的阶段处理包括:从所述多个阶段处理中确定所述第一次出现的所述处理失败的状态对应的阶段处理;重新执行确定的阶段处理以及所述确定的阶段处理以后的阶段处理。
[0007]进一步地,在对所述待处理数据依次执行多个阶段处理之后,所述数据处理方法还包括:缓存所述多个阶段处理的中间处理结果,其中,重新执行所述处理失败的状态对应的阶段处理包括:获取缓存的所述处理失败的状态对应的阶段处理的上一个阶段处理的处理结果;对获取的处理结果执行所述处理失败的状态对应的阶段处理。
[0008]进一步地,记录所述多个阶段处理的处理状态包括:记录所述多个阶段处理的时间戳,其中,在执行完所述多个阶段处理中每个阶段处理后更新执行完的阶段处理对应的时间戳为预设时间戳,判断所述处理状态中是否存在所述处理失败的状态包括:依次判断所述多个阶段处理的时间戳是否是所述预设时间戳;如果判断出所述多个阶段处理的时间戳不是所述预设时间戳,则确定时间戳不是所述预设时间戳的阶段处理的状态为处理失败。
[0009]进一步地,记录所述多个阶段处理的处理状态包括:按照所述多个阶段处理的执行过程在编号记录表中依次记录处理状态为执行成功的阶段处理的编号,其中,所述多个阶段处理预先设置有与所述多个阶段处理一一对应的编号,判断所述处理状态中是否存在所述处理失败的状态包括:从所述编号记录表中判断是否存在未记录编号的阶段处理;如果判断出存在未记录编号的阶段处理,则确定未记录编号的阶段处理的状态为处理失败。
[0010]为了实现上述目的,根据本发明实施例的另一方面,提供了一种数据处理装置。根据本发明的数据处理装置包括:获取单元,用于获取待处理数据;第一执行单元,用于对所述待处理数据依次执行多个阶段处理,所述多个阶段处理为对所述待处理数据依次连续执行的处理阶段;记录单元,用于记录所述多个阶段处理的处理状态,所述处理状态包括处理成功和处理失败;判断单元,用于判断所述处理状态中是否存在所述处理失败的状态;以及第二执行单元,用于如果判断出所述处理状态存在所述处理失败的状态,则重新执行所述处理失败的状态对应的阶段处理。
[0011]进一步地,所述数据处理装置还包括:确定单元,用于在判断出所述处理状态存在所述处理失败的状态之后,以及重新执行所述处理失败的状态对应的阶段处理之前,从所述处理状态中确定出执行所述多个阶段处理过程中第一次出现的所述处理失败的状态,所述第二执行单元包括:第一确定模块,用于从所述多个阶段处理中确定所述第一次出现的所述处理失败的状态对应的阶段处理;第一执行模块,用于重新执行确定的阶段处理以及所述确定的阶段处理以后的阶段处理。
[0012]进一步地,所述数据处理装置还包括:缓存单元,用于在对所述待处理数据依次执行多个阶段处理之后,缓存所述多个阶段处理的中间处理结果,其中,所述第二执行单元包括:获取模块,用于获取缓存的所述处理失败的状态对应的阶段处理的上一个阶段处理的处理结果;第二执行模块,用于对获取的处理结果执行所述处理失败的状态对应的阶段处理。
[0013]进一步地,所述记录单元包括:第一记录模块,用于记录所述多个阶段处理的时间戳,其中,在执行完所述多个阶段处理中每个阶段处理后更新执行完的阶段处理对应的时间戳为预设时间戳,所述判断单元包括:第一判断模块,用于依次判断所述多个阶段处理的时间戳是否是所述预设时间戳;第二确定模块,用于如果判断出所述多个阶段处理的时间戳不是所述预设时间戳,则确定时间戳不是所述预设时间戳的阶段处理的状态为处理失败。
[0014]进一步地,所述记录单元包括:第二记录模块,用于按照所述多个阶段处理的执行过程在编号记录表中依次记录处理状态为执行成功的阶段处理的编号,其中,所述多个阶段处理预先设置有与所述多个阶段处理一一对应的编号,所述判断单元包括:第二判断模块,用于从所述编号记录表中判断是否存在未记录编号的阶段处理;第三确定模块,用于如果判断出存在未记录编号的阶段处理,则确定未记录编号的阶段处理的状态为处理失败。
[0015]根据本发明实施例,通过记录多个阶段处理的处理状态,判断处理状态中是否存在处理失败的状态,如果判断出处理状态存在处理失败的状态,则重新执行处理失败的状态对应的阶段处理,对于处理成功的阶段处理,则无需重新处理,这样,避免在数据处理过程中异常时重新对待处理数据执行上述多个阶段处理,解决了现有技术中数据处理的效率低的问题,达到了提高数据处理的效率的效果。

【专利附图】

【附图说明】
[0016]构成本申请的一部分的附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
[0017]图1是根据本发明实施例的数据处理方法的流程图;以及
[0018]图2是根据本发明实施例的数据处理装置的示意图。

【具体实施方式】
[0019]需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本发明。
[0020]为了使本【技术领域】的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
[0021]需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
[0022]本发明实施例提供了一种数据处理方法。该方法可以通过计算机设备来实现。
[0023]图1是根据本发明实施例的数据处理方法的流程图。如图1所示,该数据处理方法包括步骤如下:
[0024]步骤S102,获取待处理数据。
[0025]待处理数据可以是需要经过多个阶段处理的数据,例如日志数据,在存储日志数据中,可以先进行日志数据的分类和聚合,再进行存储等多个阶段。
[0026]步骤S104,对待处理数据依次执行多个阶段处理,多个阶段处理为对待处理数据依次连续执行的处理阶段。
[0027]上述多个阶段处理均用于处理待处理数据,其中,多个阶段处理之间依次相关联,即每一个阶段处理的输入数据为上一个阶段处理的处理结果,也即是后一个阶段处理需要用到上一个阶段处理的处理结果。
[0028]步骤S106,记录多个阶段处理的处理状态,处理状态包括处理成功和处理失败。
[0029]在对待处理数据依次执行多个阶段处理的过程中,依次记录每个阶段处理的处理状态。具体地,可以记录每个阶段处理的时间戳,通过时间戳来确定各阶段处理的处理状态。也可以是利用特征标识来记录多个阶段处理的处理状态,在各阶段处理完成后,如果处理成功则特征标识变为第一标识,反之,则变为第二标识,这样,就可以通过识别每个特征标识来确定其对应的阶段处理是否处理成功或者失败。
[0030]步骤S108,判断处理状态中是否存在处理失败的状态。
[0031]步骤S110,如果判断出处理状态存在处理失败的状态,则重新执行处理失败的状态对应的阶段处理。
[0032]从记录的处理状态中,判断是否有处理失败的状态,即判断多个阶段处理中是否存在处理失败的阶段,如果有,则重新执行处理失败的阶段处理。由于多个阶段处理为依次执行的处理阶段,那么,当其中一个阶段处理失败时,其后续阶段处理通常都处理失败,因此,该阶段处理及其以后的阶段处理均重新执行,而该阶段处理之前的阶段处理无需重新执行,从而提高了数据处理的效率。
[0033]根据本发明实施例,通过记录多个阶段处理的处理状态,判断处理状态中是否存在处理失败的状态,如果判断出处理状态存在处理失败的状态,则重新执行处理失败的状态对应的阶段处理,对于处理成功的阶段处理,则无需重新处理,这样,避免在数据处理过程中异常时重新对待处理数据执行上述多个阶段处理,解决了现有技术中数据处理的效率低的问题,达到了提高数据处理的效率的效果。
[0034]优选地,在判断出处理状态存在处理失败的状态之后,以及重新执行处理失败的状态对应的阶段处理之前,数据处理方法还包括:从处理状态中确定出执行多个阶段处理过程中第一次出现的处理失败的状态,重新执行处理失败的状态对应的阶段处理包括:从多个阶段处理中确定第一次出现的处理失败的状态对应的阶段处理;重新执行确定的阶段处理以及确定的阶段处理以后的阶段处理。
[0035]由于多个阶段处理依次顺序执行,其中,下一次阶段处理需要用到上一次阶段处理的处理结果。在判断出多个阶段处理存在处理失败的状态时,则从处理状态中确定第一次出现处理失败的状态,具体地,可以按照多个阶段处理的顺序从前往后依次判断各阶段处理的状态,当第一次判断出处理失败的状态时,则将该状态作为处理状态中第一次出现处理失败的状态;也可以按照多个阶段处理的顺序从后往前依次判断各阶段处理的状态,当第一次判断出处理成功的状态时,则将前一次判断的结果作为处理状态中第一次出现处理失败的状态。
[0036]在确定出第一次出现处理失败的状态之后,确定该状态对应的阶段处理,从确定的该阶段处理开始重新执行数据处理。
[0037]以多个阶段处理由两个阶段处理组成为例进行描述,其中,两个阶段处理包括第一阶段处理和第二阶段处理,第一阶段处理和第二阶段处理为对待处理数据依次连续执行的处理阶段,其中,对待处理数据依次执行多个阶段处理包括:对待处理数据依次执行第一阶段处理,得到第一处理结果;对第一处理结果执行第二阶段处理,得到第二处理结果。在执行阶段处理的过程中,记录第一状态和第二状态,第一状态为第一阶段处理的处理状态,第二状态为第二阶段处理的处理状态。
[0038]如果第一状态和第二状态均为处理成功的状态,则第二处理结果则为最终的处理结果。如果第一状态为处理失败的状态,则重新执行第一阶段处理。当然,由于第一阶段处理在第二阶段处理之前,当第一阶段处理失败时,第二阶段处理通常也处理失败,因此,当第一状态为处理失败的状态时,则需要重新执行第一阶段处理和第二阶段处理。当仅有第二状态为处理失败的状态时,则只需重新执行第二阶段处理。
[0039]本发明实施例中,可以从前往后依次判断阶段处理的处理状态之后,再确定重新执行的阶段处理,也可以是从最后一个处理阶段向前依次判断每个阶段处理的处理状态。
[0040]本发明实施例优选从后往前依次判断各阶段处理的处理状态。具体地,当多个阶段处理包括第一阶段处理和第二阶段处理时,先判断第二状态是否为处理失败的状态,如果是,则继续判断第一状态是否为处理失败的状态;反之,则认为第一阶段处理和第二阶段处理均处理成功。
[0041]根据本发明实施例,通过依次从后往前判断各阶段处理的处理状态,当判断出处理状态为处理成功的状态时,则无需再进行判断,并确定待处理数据处理成功或者该处理成功状态之后的阶段处理失败。
[0042]需要说明的是,本发明实施例中多个阶段处理还可以包括第三阶段处理、第四阶段处理等等,其原理同第一阶段处理和第二阶段处理,这里不做赘述。
[0043]优选地,在对待处理数据依次执行多个阶段处理之后,数据处理方法还包括:缓存多个阶段处理的中间处理结果,其中,重新执行处理失败的状态对应的阶段处理包括:获取缓存的处理失败的状态对应的阶段处理的上一个阶段处理的处理结果;对获取的处理结果执行处理失败的状态对应的阶段处理。
[0044]在每个阶段处理完成之后,将缓存每个阶段处理的中间结果,这样,当确定多个阶段处理中存在处理失败的阶段,并重新执行该处理失败的阶段处理时,可以从缓存的中间结果中获取上一次的处理结果,进行后续处理,保证了重新执行的阶段处理的正确性。
[0045]优选地,记录多个阶段处理的处理状态包括:记录多个阶段处理的时间戳,其中,在执行完多个阶段处理中每个阶段处理后更新执行完的阶段处理对应的时间戳为预设时间戳,判断处理状态中是否存在处理失败的状态包括:依次判断多个阶段处理的时间戳是否是预设时间戳;如果判断出多个阶段处理的时间戳不是预设时间戳,则确定时间戳不是预设时间戳的阶段处理的状态为处理失败。
[0046]通过记录时间戳来记录各阶段处理的处理状态。在各阶段处理完后,如果处理成功,则将该阶段的时间戳变更为预设时间戳;如果处理失败,则时间戳不发生变化,这样,在判断各阶段处理是否成功或者失败时,可以通过识别每个阶段对应的时间戳来判断,提高了处理状态识别的准确性。
[0047]下面详细描述本发明实施例的一个应用场景。
[0048]以日志数据处理为例,可以将处理流程按功能拆分为多个阶段,例如日志读取、数据分类、数据聚合三个阶段。
[0049]创建两个缓存表(LogData表和ClassifyData表),用于缓存日志读取和数据分类得到的中间结果。日志读取后缓存在LogData表中,数据分类后缓存在ClassifyData表中。由于数据聚合得到的是最终结果数据,因此不需要缓存。
[0050]创建一个时间记录表TimeRecord,用于记录每个执行阶段的时间戳。在本例中TimeRecord表中需要有四列。日志读取时间:ReadTime ;数据分类时间:ClassifyTime ;数据聚合时间:AggTime ;整个流程的时间戳:EndTime。
[0051 ] 处理开始时,首先判断TimeRecord中最后一个阶段数据聚合的时间戳AggTime是否等于EndTime,如果与EndTime相等,说明之前的处理流程全部成功,本次需要启动一次新的处理,即清空全部缓存表并从头开始处理。
[0052]如果AggTime不等于EndTime,则逐一判断其他时间戳与EndTime是否相等。如果ReadTime等于EndTime,说明上一次处理中日志读取处理成功,数据分类及之后的阶段没有处理或处理失败。则从数据分类开始处理,所使用的原数据为缓存的日志读取数据LogData表中的数据。如果处理流程中有多个阶段,则判断EndTime如果与阶段S相等,则从S+1阶段开始执行,使用阶段S的数据缓存作为输入。
[0053]每个阶段完成之后将数据缓存至对应的数据表,并同时更新TimeRecord表中对应阶段的时间戳和EndTime时间戳为当前时间,以保证执行完毕的阶段的时间戳与EndTime时间戳相等。直至整个处理流程结束。
[0054]在另一中可选的实施方式中,记录多个阶段处理的处理状态包括:按照多个阶段处理的执行过程在编号记录表中依次记录处理状态为执行成功的阶段处理的编号,其中,多个阶段处理预先设置有与多个阶段处理一一对应的编号。判断处理状态中是否存在处理失败的状态包括:从编号记录表中判断是否存在未记录编号的阶段处理;如果判断出存在未记录编号的阶段处理,则确定未记录编号的阶段处理的状态为处理失败。
[0055]对每一个阶段处理均设置有与其对应的编号,在执行多个阶段处理的过程中,每一个阶段处理执行完成,如果该阶段处理处理成功,则在编号记录表中记录该阶段处理的编号;反之,如果处理失败,则不在编号记录表上记录其编号。这样,在判断处理状态中是否存在处理失败的状态时,则可以根据在编号记录表是否记录有编号来判断,如果没记录,则相应的阶段处理处理失败。
[0056]进一步地,如果存在处理失败的阶段处理,则从编号记录表中确定第一个未记录编号的阶段处理,从该阶段处理开始,重新执行数据处理。
[0057]本发明实施例还提供了一种数据处理装置。该装置可以通过计算机设备实现其功能。需要说明的是,本发明实施例的数据处理装置可以用于执行本发明实施例所提供的数据处理方法,本发明实施例的数据处理方法也可以通过本发明实施例所提供的数据处理装置来执行。
[0058]图2是根据本发明实施例的数据处理装置的示意图。如图所示,该数据处理装置包括:获取单元10、第一执行单元20、记录单元30、判断单元40和第二执行单元50。
[0059]获取单元10用于获取待处理数据。
[0060]待处理数据可以是需要经过多个阶段处理的数据,例如日志数据,在存储日志数据中,可以先进行日志数据的分类和聚合,再进行存储等多个阶段。
[0061]第一执行单元20用于对所述待处理数据依次执行多个阶段处理,所述多个阶段处理为对所述待处理数据依次连续执行的处理阶段。
[0062]上述多个阶段处理均用于处理待处理数据,其中,多个阶段处理之间依次相关联,即每一个阶段处理的输入数据为上一个阶段处理的处理结果,也即是后一个阶段处理需要用到上一个阶段处理的处理结果。
[0063]记录单元30用于记录所述多个阶段处理的处理状态,所述处理状态包括处理成功和处理失败。
[0064]在对待处理数据依次执行多个阶段处理的过程中,依次记录每个阶段处理的处理状态。具体地,可以记录每个阶段处理的时间戳,通过时间戳来确定各阶段处理的处理状态。也可以是利用特征标识来记录多个阶段处理的处理状态,在各阶段处理完成后,如果处理成功则特征标识变为第一标识,反之,则变为第二标识,这样,就可以通过识别每个特征标识来确定其对应的阶段处理是否处理成功或者失败。
[0065]判断单元40用于判断所述处理状态中是否存在所述处理失败的状态。
[0066]第二执行单元50用于如果判断出所述处理状态存在所述处理失败的状态,则重新执行所述处理失败的状态对应的阶段处理。
[0067]从记录的处理状态中,判断是否有处理失败的状态,即判断多个阶段处理中是否存在处理失败的阶段,如果有,则重新执行处理失败的阶段处理。由于多个阶段处理为依次执行的处理阶段,那么,当其中一个阶段处理失败时,其后续阶段处理通常都处理失败,因此,该阶段处理及其以后的阶段处理均重新执行,而该阶段处理之前的阶段处理无需重新执行,从而提高了数据处理的效率。
[0068]根据本发明实施例,通过记录多个阶段处理的处理状态,判断处理状态中是否存在处理失败的状态,如果判断出处理状态存在处理失败的状态,则重新执行处理失败的状态对应的阶段处理,对于处理成功的阶段处理,则无需重新处理,这样,避免在数据处理过程中异常时重新对待处理数据执行上述多个阶段处理,解决了现有技术中数据处理的效率低的问题,达到了提高数据处理的效率的效果。
[0069]优选地,数据处理装置还包括:确定单元,用于在判断出处理状态存在处理失败的状态之后,以及重新执行处理失败的状态对应的阶段处理之前,从处理状态中确定出执行多个阶段处理过程中第一次出现的处理失败的状态,第二执行单元包括:第一确定模块,用于从多个阶段处理中确定第一次出现的处理失败的状态对应的阶段处理;第一执行模块,用于重新执行确定的阶段处理以及确定的阶段处理以后的阶段处理。
[0070]由于多个阶段处理依次顺序执行,其中,下一次阶段处理需要用到上一次阶段处理的处理结果。在判断出多个阶段处理存在处理失败的状态时,则从处理状态中确定第一次出现处理失败的状态,具体地,可以按照多个阶段处理的顺序从前往后依次判断各阶段处理的状态,当第一次判断出处理失败的状态时,则将该状态作为处理状态中第一次出现处理失败的状态;也可以按照多个阶段处理的顺序从后往前依次判断各阶段处理的状态,当第一次判断出处理成功的状态时,则将前一次判断的结果作为处理状态中第一次出现处理失败的状态。
[0071]在确定出第一次出现处理失败的状态之后,确定该状态对应的阶段处理,从确定的该阶段处理开始重新执行数据处理。
[0072]以多个阶段处理由两个阶段处理组成为例进行描述,其中,两个阶段处理包括第一阶段处理和第二阶段处理,第一阶段处理和第二阶段处理为对待处理数据依次连续执行的处理阶段,其中,对待处理数据依次执行多个阶段处理包括:对待处理数据依次执行第一阶段处理,得到第一处理结果;对第一处理结果执行第二阶段处理,得到第二处理结果。在执行阶段处理的过程中,记录第一状态和第二状态,第一状态为第一阶段处理的处理状态,第二状态为第二阶段处理的处理状态。
[0073]如果第一状态和第二状态均为处理成功的状态,则第二处理结果则为最终的处理结果。如果第一状态为处理失败的状态,则重新执行第一阶段处理。当然,由于第一阶段处理在第二阶段处理之前,当第一阶段处理失败时,第二阶段处理通常也处理失败,因此,当第一状态为处理失败的状态时,则需要重新执行第一阶段处理和第二阶段处理。当仅有第二状态为处理失败的状态时,则只需重新执行第二阶段处理。
[0074]本发明实施例中,可以从前往后依次判断阶段处理的处理状态之后,再确定重新执行的阶段处理,也可以是从最后一个处理阶段向前依次判断每个阶段处理的处理状态。
[0075]本发明实施例优选从后往前依次判断各阶段处理的处理状态。具体地,当多个阶段处理包括第一阶段处理和第二阶段处理时,先判断第二状态是否为处理失败的状态,如果是,则继续判断第一状态是否为处理失败的状态;反之,则认为第一阶段处理和第二阶段处理均处理成功。
[0076]根据本发明实施例,通过依次从后往前判断各阶段处理的处理状态,当判断出处理状态为处理成功的状态时,则无需再进行判断,并确定待处理数据处理成功或者该处理成功状态之后的阶段处理失败。
[0077]需要说明的是,本发明实施例中多个阶段处理还可以包括第三阶段处理、第四阶段处理等等,其原理同第一阶段处理和第二阶段处理,这里不做赘述。
[0078]优选地,数据处理装置还包括:缓存单元,用于在对所述待处理数据依次执行多个阶段处理之后,缓存所述多个阶段处理的中间处理结果,其中,所述第二执行单元50包括:获取模块,用于获取缓存的所述处理失败的状态对应的阶段处理的上一个阶段处理的处理结果;第二执行模块,用于对获取的处理结果执行所述处理失败的状态对应的阶段处理。
[0079]在每个阶段处理完成之后,将缓存每个阶段处理的中间结果,这样,当确定多个阶段处理中存在处理失败的阶段,并重新执行该处理失败的阶段处理时,可以从缓存的中间结果中获取上一次的处理结果,进行后续处理,保证了重新执行的阶段处理的正确性。
[0080]优选地,所述记录单元包括:第一记录模块,用于记录所述多个阶段处理的时间戳,其中,在执行完所述多个阶段处理中每个阶段处理后更新执行完的阶段处理对应的时间戳为预设时间戳,所述判断单元包括:第一判断模块,用于依次判断所述多个阶段处理的时间戳是否是所述预设时间戳;第二确定模块,用于如果判断出所述多个阶段处理的时间戳不是所述预设时间戳,则确定时间戳不是所述预设时间戳的阶段处理的状态为处理失败。
[0081]通过记录时间戳来记录各阶段处理的处理状态。在各阶段处理完后,如果处理成功,则将该阶段的时间戳变更为预设时间戳;如果处理失败,则时间戳不发生变化,这样,在判断各阶段处理是否成功或者失败时,可以通过识别每个阶段对应的时间戳来判断,提高了处理状态识别的准确性。
[0082]在另一中可选的实施方式中,记录单元包括:第二记录模块,用于按照多个阶段处理的执行过程在编号记录表中依次记录处理状态为执行成功的阶段处理的编号,其中,多个阶段处理预先设置有与多个阶段处理一一对应的编号,判断单元包括:第二判断模块,用于从编号记录表中判断是否存在未记录编号的阶段处理;第三确定模块,用于如果判断出存在未记录编号的阶段处理,则确定未记录编号的阶段处理的状态为处理失败。
[0083]对每一个阶段处理均设置有与其对应的编号,在执行多个阶段处理的过程中,每一个阶段处理执行完成,如果该阶段处理处理成功,则在编号记录表中记录该阶段处理的编号;反之,如果处理失败,则不在编号记录表上记录其编号。这样,在判断处理状态中是否存在处理失败的状态时,则可以根据在编号记录表是否记录有编号来判断,如果没记录,则相应的阶段处理处理失败。
[0084]进一步地,如果存在处理失败的阶段处理,则从编号记录表中确定第一个未记录编号的阶段处理,从该阶段处理开始,重新执行数据处理。
[0085]需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
[0086]在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
[0087]在本申请所提供的几个实施例中,应该理解到,所揭露的装置,可通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性或其它的形式。
[0088]所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0089]另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
[0090]所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、移动终端、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM, Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
[0091]以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
【权利要求】
1.一种数据处理方法,其特征在于,包括: 获取待处理数据; 对所述待处理数据依次执行多个阶段处理,所述多个阶段处理为对所述待处理数据依次连续执行的处理阶段; 记录所述多个阶段处理的处理状态,所述处理状态包括处理成功和处理失败; 判断所述处理状态中是否存在所述处理失败的状态;以及 如果判断出所述处理状态存在所述处理失败的状态,则重新执行所述处理失败的状态对应的阶段处理。
2.根据权利要求1所述的数据处理方法,其特征在于, 在判断出所述处理状态存在所述处理失败的状态之后,以及重新执行所述处理失败的状态对应的阶段处理之前,所述数据处理方法还包括:从所述处理状态中确定出执行所述多个阶段处理过程中第一次出现的所述处理失败的状态, 重新执行所述处理失败的状态对应的阶段处理包括:从所述多个阶段处理中确定所述第一次出现的所述处理失败的状态对应的阶段处理;重新执行确定的阶段处理以及所述确定的阶段处理以后的阶段处理。
3.根据权利要求1或2所述的数据处理方法,其特征在于,在对所述待处理数据依次执行多个阶段处理之后,所述数据处理方法还包括: 缓存所述多个阶段处理的中间处理结果, 其中,重新执行所述处理失败的状态对应的阶段处理包括:获取缓存的所述处理失败的状态对应的阶段处理的上一个阶段处理的处理结果;对获取的处理结果执行所述处理失败的状态对应的阶段处理。
4.根据权利要求1或2所述的数据处理方法,其特征在于, 记录所述多个阶段处理的处理状态包括:记录所述多个阶段处理的时间戳,其中,在执行完所述多个阶段处理中每个阶段处理后更新执行完的阶段处理对应的时间戳为预设时间戳, 判断所述处理状态中是否存在所述处理失败的状态包括:依次判断所述多个阶段处理的时间戳是否是所述预设时间戳;如果判断出所述多个阶段处理的时间戳不是所述预设时间戳,则确定时间戳不是所述预设时间戳的阶段处理的状态为处理失败。
5.根据权利要求1或2所述的数据处理方法,其特征在于, 记录所述多个阶段处理的处理状态包括:按照所述多个阶段处理的执行过程在编号记录表中依次记录处理状态为执行成功的阶段处理的编号,其中,所述多个阶段处理预先设置有与所述多个阶段处理一一对应的编号, 判断所述处理状态中是否存在所述处理失败的状态包括:从所述编号记录表中判断是否存在未记录编号的阶段处理;如果判断出存在未记录编号的阶段处理,则确定未记录编号的阶段处理的状态为处理失败。
6.一种数据处理装置,其特征在于,包括: 获取单元,用于获取待处理数据; 第一执行单元,用于对所述待处理数据依次执行多个阶段处理,所述多个阶段处理为对所述待处理数据依次连续执行的处理阶段; 记录单元,用于记录所述多个阶段处理的处理状态,所述处理状态包括处理成功和处理失败; 判断单元,用于判断所述处理状态中是否存在所述处理失败的状态;以及 第二执行单元,用于如果判断出所述处理状态存在所述处理失败的状态,则重新执行所述处理失败的状态对应的阶段处理。
7.根据权利要求6所述的数据处理装置,其特征在于, 所述数据处理装置还包括:确定单元,用于在判断出所述处理状态存在所述处理失败的状态之后,以及重新执行所述处理失败的状态对应的阶段处理之前,从所述处理状态中确定出执行所述多个阶段处理过程中第一次出现的所述处理失败的状态, 所述第二执行单元包括:第一确定模块,用于从所述多个阶段处理中确定所述第一次出现的所述处理失败的状态对应的阶段处理;第一执行模块,用于重新执行确定的阶段处理以及所述确定的阶段处理以后的阶段处理。
8.根据权利要求6或7所述的数据处理装置,其特征在于,所述数据处理装置还包括: 缓存单元,用于在对所述待处理数据依次执行多个阶段处理之后,缓存所述多个阶段处理的中间处理结果, 其中,所述第二执行单元包括:获取模块,用于获取缓存的所述处理失败的状态对应的阶段处理的上一个阶段处理的处理结果;第二执行模块,用于对获取的处理结果执行所述处理失败的状态对应的阶段处理。
9.根据权利要求6或7所述的数据处理装置,其特征在于, 所述记录单元包括:第一记录模块,用于记录所述多个阶段处理的时间戳,其中,在执行完所述多个阶段处理中每个阶段处理后更新执行完的阶段处理对应的时间戳为预设时间戳, 所述判断单元包括:第一判断模块,用于依次判断所述多个阶段处理的时间戳是否是所述预设时间戳;第二确定模块,用于如果判断出所述多个阶段处理的时间戳不是所述预设时间戳,则确定时间戳不是所述预设时间戳的阶段处理的状态为处理失败。
10.根据权利要求6或7所述的数据处理装置,其特征在于, 所述记录单元包括:第二记录模块,用于按照所述多个阶段处理的执行过程在编号记录表中依次记录处理状态为执行成功的阶段处理的编号,其中,所述多个阶段处理预先设置有与所述多个阶段处理一一对应的编号, 所述判断单元包括:第二判断模块,用于从所述编号记录表中判断是否存在未记录编号的阶段处理;第三确定模块,用于如果判断出存在未记录编号的阶段处理,则确定未记录编号的阶段处理的状态为处理失败。
【文档编号】G06F11/07GK104298570SQ201410648492
【公开日】2015年1月21日 申请日期:2014年11月14日 优先权日:2014年11月14日
【发明者】戴培林 申请人:北京国双科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1