一种基于时间分片的补偿任务调度方法、装置及系统与流程

文档序号:17159877发布日期:2019-03-20 00:31阅读:258来源:国知局
一种基于时间分片的补偿任务调度方法、装置及系统与流程

本申请涉及互联网技术领域,尤其涉及一种基于时间分片的补偿任务调度方法、装置及系统。



背景技术:

在业务处理过程中,产生的流水数据会持久化在数据库中。系统会基于当前流水数据,进行对应的业务流水处理操作。

而业务流水处理过程中,如果因为系统故障等可重试异常导致处理中断,应用系统则会对当前业务流水在中断发生处进行恢复处理。

目前的恢复处理方式,一般是利用补偿调度算法进行业务流水的恢复。而目前的补偿调度算法都是基于时间排序依次进行恢复,恢复时间较长,效率低下。



技术实现要素:

本说明书提供了一种基于时间分片的补偿任务调度方法、装置及系统,以解决或者部分解决现有的恢复方式效率低下的技术问题。

为解决上述技术问题,本说明书提供了一种基于时间分片的补偿任务调度

方法,所述方法包括:

第一运行节点接收由调度节点发送的调度指令;其中,所述调度指令中携带有时间分片策略,所述时间分片策略中包含一个或者多个时间分片;所述一个或者多个时间分片是将待恢复业务流水的恢复时间区间进行切片得到的;

根据所述时间分片策略,确定出和所述时间分片策略对应的一个或者多个第二运行节点;

将所述时间分片策略中的每个时间分片分配到各自对应的所述第二运行节点中,使得每个时间分片对应分配一个所述第二运行节点;其中,每个时间分片携带有各自的捞取策略和分发策略,使得每个所述第二运行节点根据自身分配到的时间分片的捞取策略捞取对应数量的待恢复业务流水的标志信息,并按照自身分配到的时间分片的分发策略将所述待恢复业务流水的标志信息分成n组,将每组待恢复业务流水的标志信息分配给对应的第三运行节点进行恢复操作,其中,n为正整数。

本说明书公开了接收模块,用于接收由调度节点发送的调度指令;其中,所述调度指令中携带有时间分片策略,所述时间分片策略中包含一个或者多个时间分片;所述一个或者多个时间分片是将待恢复业务流水的恢复时间区间进行切片得到的;

确定模块,用于根据所述时间分片策略,确定出和所述时间分片策略对应的一个或者多个第二运行节点;

第一分配模块,用于将所述时间分片策略中的每个时间分片分配到各自对应的所述第二运行节点中,使得每个时间分片对应分配一个所述第二运行节点;其中,每个时间分片携带有各自的捞取策略和分发策略,使得每个所述第二运行节点根据自身分配到的时间分片的捞取策略捞取对应数量的待恢复业务流水的标志信息,并按照自身分配到的时间分片的分发策略将所述待恢复业务流水的标志信息分成n组,将每组待恢复业务流水的标志信息分配给对应的第三运行节点进行恢复操作,其中,n为正整数。

本说明书公开了第二运行节点接收由第一运行节点按照时间分片策略分配的时间分片;其中,所述第二运行节点的数量由所述时间分片策略确定,所述时间分片策略由调度节点发送给所述第一运行节点,所述时间分片策略中包含一个或者多个时间分片,且所述时间分片策略使得每个时间分片对应一个第二运行节点;所述一个或者多个时间分片是将待恢复业务流水的恢复时间区间进行切片得到的;根据分配到的时间分片的捞取策略捞取对应数量的待恢复业务流水的标志信息;

根据分配到的时间分片的分发策略将所述待恢复业务流水的标志信息分成n组,将每组待恢复业务流水的标志信息分配给对应的第三运行节点进行恢复操作,其中,n为正整数。

本说明书公开了一种基于时间分片的补偿任务调度装置,包括:

接收单元,用于接收由第一运行节点按照时间分片策略分配的时间分片;其中,所述第二运行节点的数量由所述时间分片策略确定,所述时间分片策略由调度节点发送给所述第一运行节点,所述时间分片策略中包含一个或者多个时间分片,且所述时间分片策略使得每个时间分片对应一个第二运行节点;所述一个或者多个时间分片是将待恢复业务流水的恢复时间区间进行切片得到的;

捞取单元,用于根据分配到的时间分片的捞取策略捞取对应数量的待恢复业务流水的标志信息;

第一分配单元,用于根据分配到的时间分片的分发策略将所述待恢复业务流水的标志信息分成n组,将每组待恢复业务流水的标志信息分配给对应的第三运行节点进行恢复操作,其中,n为正整数。

本说明书公开了一种基于时间分片的补偿任务调度系统,包括:

调度节点,用于发送调度指令;所述调度指令中携带有时间分片策略,所述时间分片策略中包含一个或者多个时间分片;所述一个或者多个时间分片是将待恢复业务流水的恢复时间区间进行切片得到的;

第一运行节点,用于接收由所述调度节点发送的调度指令;

所述第一运行节点,用于根据所述时间分片策略,确定出和所述时间分片策略对应的一个或者多个第二运行节点;

所述第一运行节点,用于将所述时间分片策略中的每个时间分片分配到各自对应的所述第二运行节点中,使得每个时间分片对应分配一个所述第二运行节点;其中,每个时间分片携带有各自的捞取策略和分发策略;

所述第二运行节点,用于根据自身分配到的时间分片的捞取策略捞取对应数量的待恢复业务流水的标志信息,并按照自身分配到的时间分片的分发策略将所述待恢复业务流水的标志信息分成n组,将每组待恢复业务流水的标志信息分配给对应的第三运行节点,其中,n为正整数;

所述第三运行节点,用于对对应的待恢复业务流水进行恢复操作。

本说明书公开了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述方法的步骤。

本说明书公开了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述方法的步骤。

通过本说明书的一个或者多个技术方案,本说明书具有以下有益效果或者优点:

本说明书的一个或者多个实施例公开了一种基于时间分片的补偿任务调度方法、装置及系统。第一运行节点接收由调度节点发送的调度指令。所述调度指令中携带有时间分片策略,所述时间分片策略中包含一个或者多个时间分片。由于所述一个或者多个时间分片是将待恢复业务流水的恢复时间区间进行切片得到的,并且根据所述时间分片策略,会确定出和所述时间分片策略对应的一个或者多个第二运行节点。然后将所述时间分片策略中的每个时间分片分配到各自对应的所述第二运行节点中,使得每个时间分片对应分配一个所述第二运行节点。也就是说,本实施例将待恢复业务流水的恢复时间区间进行了切片,然后将每个时间切片分给不同的第二运行节点进行并行处理,故而能够缩短业务流水的恢复时间,提高恢复效率。进一步的,每个所述第二运行节点根据自身分配到的时间分片的捞取策略捞取对应数量的待恢复业务流水的标志信息,并按照自身分配到的时间分片的分发策略将所述待恢复业务流水的标志信息分成n组,将每组待恢复业务流水的标志信息分配给对应的第三运行节点进行恢复操作,因此捞取操作和恢复操作都是并行处理的,故而能够进一步缩短业务流水的恢复时间,提高恢复效率。

上述说明仅是本说明书技术方案的概述,为了能够更清楚了解本说明书的技术手段,而可依照说明书的内容予以实施,并且为了让本说明书的上述和其它目的、特征和优点能够更明显易懂,以下特举本说明书的具体实施方式。

附图说明

通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本说明书的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:

图1示出了根据本说明书一个实施例的调度节点和运行节点的关系构造图;

图2示出了根据本说明书一个实施例的第一运行节点执行的基于时间分片的补偿任务调度方法的实施过程图;

图3示出了根据本说明书一个实施例的第二运行节点执行的基于时间分片的补偿任务调度方法的实施过程图;

图4示出了根据本说明书一个实施例的一种运行节点执行的基于时间分片的补偿任务调度装置的示意图;

图5示出了根据本说明书一个实施例的一种运行节点执行的基于时间分片的补偿任务调度装置的另一个示意图;

图6示出了根据本说明书一个实施例的计算机设备的示意图;。

具体实施方式

下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。

本说明书实施例提供了一种基于时间分片的补偿任务调度方法、装置及系统,用以解决现有技术的业务流水的恢复效率低下的技术问题。

作为一种可选的实施例,本实施例的基于时间分片的补偿任务调度的系统包含了以下几种节点:调度节点、运行节点。

调度节点,调度节点的数目为一个或者多个,每个调度节点都具有各自的调度周期,而每个调度节点的调度周期由操作员配置,且每个调度节点的周期长短可由操作员根据实际情况动态调整。

另外,每个调度节点都涉及三个参数:时间分片策略,捞取策略,分发策略。

时间分片策略涉及到两个参数:一个或者多个时间分片,以及时间分片的划分数量。其中,所述时间分片策略中包含一个或者多个时间分片,所述一个或者多个时间分片是将待恢复业务流水的恢复时间区间进行切片得到。

待恢复业务流水,是执行过程中出现异常,需要运行节点进行恢复处理的业务流水,其存储在数据库中。

每条待恢复业务流水都有各自的异常发生时间。异常发生时间,指的是待恢复业务流水的故障产生时间。

待恢复业务流水的恢复时间区间,指的是系统或者操作员规定的用于对待恢复业务流水进行恢复的时间段,可根据实际情况调整。

例如,待恢复业务流水a、待恢复业务流水b、待恢复业务流水c的异常产生时间分别是当天17:00、17:10、17:20。假设系统规定的对待恢复业务流水进行恢复的时间段为当天9:00-18:00,也就是恢复当天9:00-18:00这个时间段出现异常的业务流水,那么待恢复业务流水a、待恢复业务流水b、待恢复业务流水c就包含在其中。

而本实施例中的一个或者多个时间分片,就是待恢复业务流水的恢复时间区间进行切片得到的,所述一个或者多个时间分片用于表征恢复所述待恢复业务流水的时间区间。

例如,将待恢复业务流水的恢复时间区间9:00-18:00进行切片,就可以划分成一个或者多个时间分片。

进一步的,还可以对得到的时间分片再次进行切片。

故而,时间分片策略中包含的时间分片实际上包括第一时间分片,所述第一时间分片是将所述待恢复业务流水的恢复时间区间划分为两个以上时间区间中的一个。

进一步的,所述时间分片策略中的时间分片还包括第二时间分片,所述第二时间分片是从所述第一时间分片中提取出的部分时间区间。

而在本实施例中,时间分片至少有以下两种表示方式:

第一种表示方式是,通过与当前时间的时间差值来表示。比如系统需要恢复最近两天(待恢复业务流水的恢复时间区间)的业务流水,则可以将最近两天这个恢复时间区间分成以下几个时间分片:

时间分片1为[-2天,-1天),即当前时间分片只恢复最近1天至2天的待恢复业务流水。

时间分片2为[-1天,-1小时),即当前时间分片只恢复最近1小时至1天的待恢复业务流水。

时间分片3为[-1小时,-5分钟),即当前时间分片只恢复最近5分钟至1小时的待恢复业务流水。

时间分片4为[-5分钟,-5秒),即当前时间分片只恢复最近5秒至5分钟的待恢复业务流水。

上述时间分片由于是将所述待恢复业务流水的恢复时间区间[-2天,-5秒)划分为4个时间区间中的一个。故而这4个时间区间都可以看做是第一时间分片。

而由于时间分片1的范围是[-2天,-1天),实际上这个范围是比较大的。由于待恢复业务流水恢复的过程可能按照时间顺序从-2天开始恢复,或者是两端向中间恢复等等恢复方式,当然还有其他的恢复方式。故而时间分片1中的某一段或者几段时间段中的待恢复业务流水,需要等到其他时间的待恢复业务流水恢复之后,才能够获得恢复资格,等待的时间很长。故而可以从时间分片1中提取出某一段或者几段时间段,将其作为第二时间分片。例如从时间分片1中提取的时间分片5,假设为[-1.7天,-1.5天);时间分片6,假设为[-1.5天,-1.4天)。

时间分片5和时间分片6都是第二时间分片。

将第二时间分片和第一时间分片一起执行本实施例的实施过程,则可以使得第一时间分片中的某些等待恢复时间过长的时间段(第二时间分片)中的待恢复业务流水和第一时间片中的待恢复业务流水一并进行恢复。

当然,本实施例可以根据系统判定、随机、人为规定、根据实际情况等等方式从第一时间分片中划分出一个或者多个第二时间分片,第二时间分片的划分数量也不做限定。

当然,从上述描述可知,第二时间分片实际上是重叠于第一时间分片的,故而第二时间分片中需要恢复的待恢复业务流水也可能是第一时间分片中需要恢复的待恢复业务流水。为了避免恢复相同的待恢复业务流水导致的系统资源的浪费,在恢复了任意时间分片中的待恢复业务流水之后,都会对已执行恢复操作的待恢复业务流水进行打标记操作,如此,其他运行节点若看到该标记,则不会再次对已执行恢复操作的待恢复业务流水进行恢复操作,故而能够节省系统资源。

从该举例可以看出,本实施例按照和当前时间的时间差值将捞取时间切割成了4个时间分片。每个时间分片表示的时间段范围不同。

第二种方式是,通过指定真实时间区间的方式来实现。比如系统需要恢复2018.09.10.00:00:00-2018.09.11.10:49:05这个恢复时间区间的业务流水,则可以将时间分成以下几个时间分片:

时间分片1为[2018.09.10.00:00:00,2018.09.11.00:00:00),即当前时间分片只恢复2018.09.10午夜00点00分00秒至2018.09.11午夜00点00分00秒的待恢复业务流水。

时间分片2为[2018.09.11.0:0:0,2018.09.11.09:44:00),即当前时间分片只恢复2018.09.11午夜00点00分00秒至2018.09.11上午9点44分00秒的待恢复业务流水。

时间分片3为[2018.09.11.09:44:00,2018.09.11.10:44:00),即当前时间分片只恢复2018.09.11上午9点44分00秒至2018.09.11上午10点44分00秒的待恢复业务流水。

时间分片4为[2018.09.11.10:44:00,2018.09.11.10:49:05),即当前时间分片只恢复2018.09.11上午10点44分00秒至2018.09.11上午10点49分05秒的待恢复业务流水。

从该举例可以看出,本实施例将捞取时间按照真实时间区间切割成了4个时间分片,每个时间分片具有不同的时间划分范围。

时间分片的划分数量。

时间分片的划分数量和待恢复业务流水的捞取时间相关,现有的恢复方式是按照时间顺序依次恢复。而本实施例则是规定了待恢复业务流水的恢复时间区间,然后将该恢复时间区间进行分片,故而具有时间片的划分数量。例如系统将2018.09.10.00:00:00-2018.09.11.10:49:05这个恢复时间区间划分成了4个时间分片。

以上介绍的是时间分片策略涉及到的两个参数。

基于上述两个参数,时间分片策略至少包括以下策略:

根据时间分片的划分数量确定对应数量的第二运行节点的策略。

将每个时间分片分配给各自对应的第二运行节点的策略,使得每个时间分片对应分配一个所述第二运行节点。

对于每个时间分片来说,都对应有各自的捞取策略和分发策略。

所述时间分片策略中的每个时间分片的捞取策略具体是:按照各自的时间分片中的预计的捞取流水总数捞取待恢复业务流水的标志信息的策略。

在每个时间分片中,都预计有捞取流水总数,比如时间分片4:[2018.09.11.10:44:00,2018.09.11.10:49:05)的捞取流水总数预计50条。时间分片3:[2018.09.11.09:44:00,2018.09.11.10:44:00)的捞取流水总数预计100条等等。

所述时间分片策略中的每个时间分片的分发策略具体是:按照各自的时间分片中所述预计的捞取流水总数对应的分组数量对所述待恢复业务流水的标志信息进行分组的策略。

在每个时间分片中,除了预计有捞取流水总数之外,还设置有捞取流水总数对应的分组数量。例如,时间分片4:[2018.09.11.10:44:00,2018.09.11.10:49:05)的捞取流水总数预计50条,捞取流水总数对应的分组数量为5组,也就是说,在捞取到50条待恢复业务流水的标志信息之后,则会将这50条待恢复业务流水的标志信息分为5组。分组时可平均分配,可随机分配,也可以按照一定的规则进行分组。若平均分配,那么每组的待恢复业务流水的标志信息为10条。

运行节点,是应用系统的实例,真正的业务流水处理者,其接收调度节点的相关参数,然后根据相关参数执行具体的恢复动作。

在本实施例中,运行节点包含了三种节点:第一运行节点、第二运行节点、第三运行节点。

第一运行节点主要用于根据时间分片策略分发第二运行节点。第二运行节点主要用于捞取待恢复业务流水的标志信息,第三运行节点主要用于执行具体的恢复操作。

参看图1,是本实施例中的调度节点和运行节点的关系对照图。

其中,本实施例中以处于周期的1个调度节点、1个第一运行节点、2个运行节点、5个第三运行节点为例,各节点组成的结构呈树桩结构。

以上是关于本实施例需要用到的系统架构和各名词的解释。

在本说明书中的一个或者多个实施例,公开了一种基于时间分片的补偿任务调度方法,该方法是运用在第一运用节点侧。参看图2,该方法包括如下步骤:

步骤21,第一运行节点接收由调度节点发送的调度指令。

其中,调度指令是由调度节点发送。每个调度节点都具有自身的调度周期,当调度节点到达调度周期时,则随机向一个运行节点发起调度指令,为了和后面的运行节点进行区分,本实施例将调度节点随机选取并发送调度指令的运行节点称为第一运行节点,故而本实施例的步骤是由第一运行节点接收由调度节点发送的调度指令。

其中,所述调度指令中携带有时间分片策略,所述时间分片策略中包含一个或者多个时间分片,和时间分片的划分数量。

所述一个或者多个时间分片是将待恢复业务流水的恢复时间区间进行切片得到的。

而每个时间分片有各自对应的捞取策略和分发策略。

所述时间分片策略中的每个时间分片的捞取策略具体是:按照各自的时间分片中的预计的捞取流水总数捞取待恢复业务流水的标志信息的策略。

所述时间分片策略中的每个时间分片的分发策略具体是:按照各自的时间分片中所述预计的捞取流水总数对应的分组数量对所述待恢复业务流水的标志信息进行分组的策略。

步骤22,根据所述时间分片策略,确定出和所述时间分片策略对应的一个或者多个第二运行节点。

在具体的实施过程中,由于时间分片策略中涉及到两个参数:一个或者多个时间分片,和时间分片的划分数量。

故而,时间分片策略至少包括以下策略:

根据时间分片的划分数量确定对应数量的第二运行节点的策略。进而,根据所述时间分片策略,确定出和所述时间分片策略对应的一个或者多个第二运行节点,包括:按照所述时间分片策略中的时间分片的划分数量确定出对应数量的所述第二运行节点。若时间分片的划分数量为5个,则确定的第二运行节点也为5个。一个时间分片对应一个第二运行节点。

此外,时间分片策略还可以包括:将每个时间分片分配给各自对应的第二运行节点的策略,使得每个时间分片对应分配一个所述第二运行节点。

时间分片的划分数量可以有一个或者多个,而1个时间分片的处理方式和两个以上的时间分片的处理方式是不同的。

若时间分片策略中包含一个时间分片,也就是说时间分片的划分数量只有1个,那么则是由第一运行节点本身处理,如果有两个以上的时间分片,则需要分配给对应的第二运行节点处理。

在具体的实施过程中,若时间分片策略中包含一个时间分片,则根据所述一个时间分片,将所述第一运行节点确定为所述第二运行节点。

若所述调度指令中只携带有多个时间分片(两个以上时间分片),则第一运行节点根据时间分片的划分数量确定出对应数量的第二运行节点。例如,时间分片的划分数量为50,则确定出50个第二运行节点,使得一个时间分片对应一个第二运行节点。

步骤23,将所述时间分片策略中的每个时间分片分配到各自对应的所述第二运行节点中,使得每个时间分片对应分配一个所述第二运行节点。

其中,每个时间分片携带有各自的捞取策略和分发策略,使得每个所述第二运行节点根据自身分配到的时间分片的捞取策略捞取对应数量的待恢复业务流水的标志信息,并按照自身分配到的时间分片的分发策略将所述待恢复业务流水的标志信息分成n组,将每组待恢复业务流水的标志信息分配给对应的第三运行节点进行恢复操作,其中,n为正整数。

其中,第二运行节点的数量由时间分片的划分数量决定。假设有两个时间分片,则会将这两个时间分配给各自的第二运行节点,并且将各时间分片的相关策略(捞取策略、分发策略)也发送给各自对应的所述第二运行节点中。

本实施例以其中的一个第二运行节点a举例,假设第二运行节点a分配到的时间分片2为[-1天,-1小时),即当前时间分片只捞取最近1小时至1天的待恢复业务流水。预计的捞取流水总数为100条,分组数量为5。则第二运行节点会根据时间分片2:[-1天,-1小时)这个范围,捞取待恢复业务流水的计划处理时间处于上述范围的待恢复业务流水的标志信息100条。假设为平均分配,则将这100条待恢复业务流水的标志信息分成5组,每组20条待恢复业务流水的标志信息。然后按照分发策略将每组待恢复业务流水的标志信息分配给对应的第三运行节点,而第三运行节点的数目和分组数量对应。假设分为5组,则确定第三运行节点的数目为5个,每组对应一个第三运行节点。假设以其中的一个第三运行节点a1来说,接收到其对应的20条待恢复业务流水的标志信息之后,则会进行对应的恢复操作。具体的,第三运行节点a1可根据待恢复业务流水的标志信息,去捞取对应的待恢复业务流水。

以上便是第二运行节点、第三运行节点执行具体捞取的实施过程。

而由于每个时间分片对应分配一个所述第二运行节点。假设只有1个时间分片,那么则将第一运行节点确定为第二运行节点,由第一运行节点本身进行后续的捞取工作。在此实施例中,以第一运行节点的角度进行描述。

获得所述一个时间分片;

基于所述一个时间分片的捞取策略,捞取对应数量的待恢复业务流水的标志信息;

按照所述一个时间分片的分发策略,将所述待恢复业务流水的标志信息分成n组,将每组待恢复业务流水的标志信息分配给对应的第三运行节点进行恢复操作。

进一步的,若所述分发策略中包含的分组数量为一组。将第一运行节点确定为第三运行节点,然后由第一运行节点执行对应的恢复操作。

按照所述一个时间分片的分发策略将所述待恢复业务流水的标志信息分成一组。

基于所述一组待恢复业务流水的标志信息进行对应的恢复操作。

以上是第一运行节点侧基于时间分片的补偿任务调度方法。

基于同一发明构思,本说明书的一个或者多个实施例从第二运行节点的角度介绍一种基于时间分片的补偿任务调度方法。

参看图3,本实施例的方法包括如下步骤:

步骤31,第二运行节点接收由第一运行节点按照时间分片策略分配的时间分片。

其中,所述第二运行节点的数量由所述第一运行节点根据时间分片策略确定,所述时间分片策略由调度节点发送给所述第一运行节点。而在具体的实施过程中,时间分片策略中包含有时间分片的划分数量,故而第二运行节点的数量是由时间分片策略中的时间分片的划分数量确定的。

所述时间分片策略中包含一个或者多个时间分片,故而按照时间分片的数量进行确定之后,所述时间分片策略使得每个时间分片对应一个第二运行节点。

所述一个或者多个时间分片是将待恢复业务流水的恢复时间区间进行切片得到的。而具体的划分方式在上述实施例已经说明,故而在此不再赘述。

步骤32,根据分配到的时间分片的捞取策略捞取对应数量的待恢复业务流水的标志信息。

在具体的实施过程中,所述时间分片策略中的每个时间分片的捞取策略具体是:按照各自的时间分片中的预计的捞取流水总数捞取待恢复业务流水的标志信息的策略。

故而在捞取待恢复业务流水的标志信息的过程中,根据分配到的时间分片中的预计的捞取流水总数,捞取对应数量的所述待恢复业务流水的标志信息,并且捞取到的待恢复业务流水的异常产生时间处于分配到的时间分片中。

步骤33,根据分配到的时间分片的分发策略将所述待恢复业务流水的标志信息分成n组,将每组待恢复业务流水的标志信息分配给对应的第三运行节点进行恢复操作。

其中,n为正整数。

其中,所述时间分片策略中的每个时间分片的分发策略具体是:按照各自的时间分片中所述预计的捞取流水总数对应的分组数量对所述待恢复业务流水的标志信息进行分组的策略。

在分组的过程中,可以将待恢复业务流水的标志信息分为一组或者多组,一组和多组处理的方式不同。

若所述分配到的时间分片的分发策略包含的分组数量为一组;则将第二运行节点确定为第三运行节点。故而实际上是由第二运行节点直接进行恢复操作。具体的实施过程如下:根据分配到的时间分片的分发策略将所述待恢复业务流水的标志信息分成一组;第二运行节点基于一组待恢复业务流水的标志信息直接进行恢复操作。

若所述待恢复业务流水的标志信息的数量分为有两组及以上,则还是按照分发策略将每组分配给第三运行节点,由第三运行节点进行恢复操作。

而作为一种可选的实施例,还会出现某一个或者多个待恢复业务流水长时间无法恢复造成的业务恢复中断或者延迟的问题。为了解决这一问题,本实施例将长时间无法恢复的待恢复业务流水放入下一时间分片进行处理,具体的实施过程如下:若所述n组中的第i组中有m个待恢复业务流水的恢复操作的恢复时间超过预设时间阈值,则将所述m个待恢复业务流水的标识信息分配给第i+1组对应的第三运行节点,使所述第i+1组对应的第三运行节点进行恢复操作,其中,i为正整数且i<n,m为正整数。

作为一种可选的实施例,在第三运行节点对待恢复业务流水进行恢复操作之后,还会对已进行恢复操作的待恢复业务流水进行打标记操作,如此,若其他第三运行节点若看到该标记,则不会再次对已执行恢复操作的待恢复业务流水进行恢复操作,故而能够节省系统资源。

作为一种可选的实施例,第二运行节点在进行了待恢复业务流水的标志信息的捞取操作之后,也会对已捞取到的待恢复业务流水的标志信息进行打标记操作,如果其他第二运行节点看到该标记,则不会再次进行捞取。当然,已捞取到的待恢复业务流水的标志信息的标记和已进行恢复操作的待恢复业务流水的标记不同。

以上是本说明书中的一个或者多个实施例公开的一种基于时间分片的补偿任务调度方法的实施过程。

基于与前述实施例中同样的发明构思,本说明书的一个或者多个实施例介绍了一种基于时间分片的补偿任务调度装置。

参看图4,该装置包括:

接收模块41,用于接收由调度节点发送的调度指令;其中,所述调度指令中携带有时间分片策略,所述时间分片策略中包含一个或者多个时间分片;所述一个或者多个时间分片是将待恢复业务流水的恢复时间区间进行切片得到的;

确定模块42,用于根据所述时间分片策略,确定出和所述时间分片策略对应的一个或者多个第二运行节点;

第一分配模块43,用于将所述时间分片策略中的每个时间分片分配到各自对应的所述第二运行节点中,使得每个时间分片对应分配一个所述第二运行节点;其中,每个时间分片携带有各自的捞取策略和分发策略,使得每个所述第二运行节点根据自身分配到的时间分片的捞取策略捞取对应数量的待恢复业务流水的标志信息,并按照自身分配到的时间分片的分发策略将所述待恢复业务流水的标志信息分成n组,将每组待恢复业务流水的标志信息分配给对应的第三运行节点进行恢复操作,其中,n为正整数。

作为一种可选的实施例,所述时间分片策略包含时间分片的划分数量;

所述确定模块42,具体用于按照所述时间分片策略中的时间分片的划分数量确定出对应数量的所述第二运行节点。

作为一种可选的实施例,所述时间分片策略中的每个时间分片的捞取策略具体是:按照各自的时间分片中的预计的捞取流水总数捞取待恢复业务流水的标志信息的策略;

所述时间分片策略中的每个时间分片的分发策略具体是:按照各自的时间分片中所述预计的捞取流水总数对应的分组数量对所述待恢复业务流水的标志信息进行分组的策略。

作为一种可选的实施例,若时间分片策略中包含一个时间分片;

所述确定模块42,具体用于根据所述一个时间分片,将所述第一运行节点确定为所述第二运行节点。

作为一种可选的实施例,所述第一分配模块43,具体包括:

获得模块,用于获得所述一个时间分片;

捞取模块,用于基于所述一个时间分片的捞取策略,捞取对应数量的待恢复业务流水的标志信息;

第二分配模块,用于按照所述一个时间分片的分发策略,将所述待恢复业务流水的标志信息分成n组,将每组待恢复业务流水的标志信息分配给对应的第三运行节点进行恢复操作。

作为一种可选的实施例,若所述分发策略中包含的分组数量为一组;

所述第一分配模块43,具体包括:

第三分配模块,用于按照所述一个时间分片的分发策略将所述待恢复业务流水的标志信息分成一组;

恢复模块,用于基于所述一组待恢复业务流水的标志信息进行对应的恢复操作。

作为一种可选的实施例,所述时间分片策略中的时间分片包括第一时间分片,所述第一时间分片是将所述待恢复业务流水的恢复时间区间划分为两个以上时间区间中的一个。

作为一种可选的实施例,所述时间分片策略中的时间分片还包括第二时间分片,所述第二时间分片是从所述第一时间分片中提取出的部分时间区间。

基于与前述实施例中同样的发明构思,本说明书实施例还提供一种基于时间分片的补偿任务调度装置,参看图5,包括:

接收单元51,用于接收由第一运行节点按照时间分片策略分配的时间分片;其中,所述第二运行节点的数量由所述时间分片策略确定,所述时间分片策略由调度节点发送给所述第一运行节点,所述时间分片策略中包含一个或者多个时间分片,且所述时间分片策略使得每个时间分片对应一个第二运行节点;所述一个或者多个时间分片是将待恢复业务流水的恢复时间区间进行切片得到的;

捞取单元52,用于根据分配到的时间分片的捞取策略捞取对应数量的待恢复业务流水的标志信息;

第一分配单元53,用于根据分配到的时间分片的分发策略将所述待恢复业务流水的标志信息分成n组,将每组待恢复业务流水的标志信息分配给对应的第三运行节点进行恢复操作,其中,n为正整数。

作为一种可选的实施例,所述第二运行节点的数量由所述时间分片策略中的时间分片的划分数量确定。

作为一种可选的实施例,所述时间分片策略中的每个时间分片的捞取策略具体是:按照各自的时间分片中的预计的捞取流水总数捞取待恢复业务流水的标志信息的策略;

所述时间分片策略中的每个时间分片的分发策略具体是:按照各自的时间分片中所述预计的捞取流水总数对应的分组数量对所述待恢复业务流水的标志信息进行分组的策略。

作为一种可选的实施例,所述捞取单元52,具体用于根据分配到的时间分片中的预计的捞取流水总数,捞取对应数量的所述待恢复业务流水的标志信息,并且捞取到的待恢复业务流水的异常产生时间处于分配到的时间分片中。

作为一种可选的实施例,若所述分配到的时间分片的分发策略包含的分组数量为一组;

所述第一分配单元53,具体包括:

确定单元,用于将所述第二运行节点确定为所述第三运行节点;

第二分配单元,用于根据分配到的时间分片的分发策略将所述待恢复业务流水的标志信息分成一组;

恢复单元,用于基于一组待恢复业务流水的标志信息直接进行恢复操作。

作为一种可选的实施例,所述装置还包括:

第三分配单元,用于若所述n组中的第i组中有m个待恢复业务流水的恢复操作的恢复时间超过预设时间阈值,则将所述m个待恢复业务流水的标识信息分配给第i+1组对应的第三运行节点,使所述第i+1组对应的第三运行节点进行恢复操作,其中,i为正整数且i<n,m为正整数。

基于同一发明构思,下面的实施例公开了一种基于时间分片的补偿任务调度系统,包括:

调度节点,用于发送调度指令;所述调度指令中携带有时间分片策略,所述时间分片策略中包含一个或者多个时间分片;所述一个或者多个时间分片是将待恢复业务流水的恢复时间区间进行切片得到的;

第一运行节点,用于接收由所述调度节点发送的调度指令;

所述第一运行节点,用于根据所述时间分片策略,确定出和所述时间分片策略对应的一个或者多个第二运行节点;

所述第一运行节点,用于将所述时间分片策略中的每个时间分片分配到各自对应的所述第二运行节点中,使得每个时间分片对应分配一个所述第二运行节点;其中,每个时间分片携带有各自的捞取策略和分发策略;

所述第二运行节点,用于根据自身分配到的时间分片的捞取策略捞取对应数量的待恢复业务流水的标志信息,并按照自身分配到的时间分片的分发策略将所述待恢复业务流水的标志信息分成n组,将每组待恢复业务流水的标志信息分配给对应的第三运行节点,其中,n为正整数;

所述第三运行节点,用于对对应的待恢复业务流水进行恢复操作。

由于各个节点的实施的流程在上述一个或者多个实施例中已经详细的说明,故而在此不再赘述。

基于与前述实施例中同样的发明构思,本说明书实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现前文任一所述方法的步骤。

基于与前述实施例中同样的发明构思,本说明书的实施例还提供一种计算机设备,如图6所示,包括存储器604、处理器602及存储在存储器604上并可在处理器602上运行的计算机程序,所述处理器602执行所述程序时实现前文任一所述方法的步骤。

其中,在图3中,总线架构(用总线600来代表),总线600可以包括任意数量的互联的总线和桥,总线600将包括由处理器602代表的一个或多个处理器和存储器604代表的存储器的各种电路链接在一起。总线600还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路链接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口605在总线600和接收器601和发送器603之间提供接口。接收器601和发送器603可以是同一个元件,即收发机,提供用于在传输介质上与各种其他装置通信的单元。处理器602负责管理总线600和通常的处理,而存储器604可以被用于存储处理器602在执行操作时所使用的数据。

通过本说明书的一个或者多个实施例,本说明书具有以下有益效果或者优点:

本说明书的一个或者多个实施例公开了一种基于时间分片的补偿任务调度方法、装置及系统。第一运行节点接收由调度节点发送的调度指令。所述调度指令中携带有时间分片策略,所述时间分片策略中包含一个或者多个时间分片。由于所述一个或者多个时间分片是将待恢复业务流水的恢复时间区间进行切片得到的,并且根据所述时间分片策略,会确定出和所述时间分片策略对应的一个或者多个第二运行节点。然后将所述时间分片策略中的每个时间分片分配到各自对应的所述第二运行节点中,使得每个时间分片对应分配一个所述第二运行节点。也就是说,本实施例将待恢复业务流水的恢复时间区间进行了切片,然后将每个时间切片分给不同的第二运行节点进行并行处理,故而能够缩短业务流水的恢复时间,提高恢复效率。进一步的,每个所述第二运行节点根据自身分配到的时间分片的捞取策略捞取对应数量的待恢复业务流水的标志信息,并按照自身分配到的时间分片的分发策略将所述待恢复业务流水的标志信息分成n组,将每组待恢复业务流水的标志信息分配给对应的第三运行节点进行恢复操作,因此捞取操作和恢复操作都是并行处理的,故而能够进一步缩短业务流水的恢复时间,提高恢复效率。

在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本说明书也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本说明书的内容,并且上面对特定语言所做的描述是为了披露本说明书的最佳实施方式。

在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本说明书的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。

类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本说明书的示例性实施例的描述中,本说明书的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本说明书要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本说明书的单独实施例。

本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。

此外,本领域的技术人员能够理解,尽管在此的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本说明书的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。

本说明书的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(dsp)来实现根据本说明书实施例的网关、代理服务器、系统中的一些或者全部部件的一些或者全部功能。本说明书还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本说明书的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。

应该注意的是上述实施例对本说明书进行说明而不是对本说明书进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本说明书可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1