CN103092712B - 一种任务中断恢复方法和设备 - Google Patents
一种任务中断恢复方法和设备 Download PDFInfo
- Publication number
- CN103092712B CN103092712B CN201110345030.2A CN201110345030A CN103092712B CN 103092712 B CN103092712 B CN 103092712B CN 201110345030 A CN201110345030 A CN 201110345030A CN 103092712 B CN103092712 B CN 103092712B
- Authority
- CN
- China
- Prior art keywords
- task node
- task
- state information
- data processing
- process state
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Debugging And Monitoring (AREA)
Abstract
一种任务中断恢复方法和设备,应用于包含有中心服务器和多个任务节点的分布式数据处理系统,该方法包括:任务节点接收中心服务器分配的数据处理任务;其中,所述中心服务器根据负载均衡策略为任务节点分配数据处理任务;所述任务节点根据分配到的数据处理任务,获取对应的待处理数据块,对获取到的待处理数据块进行处理,并保存数据块的处理状态信息;当任务节点的数据处理任务异常中断时,所述任务节点获取其所保存的数据块的处理状态信息,并根据所述处理状态信息进行中断恢复处理。本申请在系统出问题时能够自动识别并及时处理余下未处理的数据,实现了系统的自我修复,使系统具有较高可靠性。
Description
技术领域
本申请涉及通信技术领域,尤其涉及一种应用于分布式数据处理系统的任务中断恢复方法和设备。
背景技术
随着计算机网络技术的发展,以及数据处理量的增长,分布式数据处理系统得到广泛应用。
分布式数据处理系统包括多个任务节点,多个任务节点可以同时进行数据处理,大幅度提高了系统的数据处理效率。
但是,在分布式数据处理系统运行过程中,各任务节点在任务处理过程中有可能出现异常中断的情形,而对于分布式系统来说,针对异常中断,目前还未出现有效的异常恢复机制,既能有效的方法确保分布式网络系统的稳定性,又能够在数据传输或数据处理过程中意外中断后,使得系统能够自我恢复。
发明内容
本申请实施例提供了一种任务中断恢复方法及设备,用以实现分布式数据处理系统中任务节点上任务异常后的自动恢复。
为此,本申请采用以下技术手段:
本申请实施例提供一种任务中断恢复方法,应用于包含有中心服务器和多个任务节点的分布式数据处理系统,该方法包括:
任务节点接收中心服务器分配的数据处理任务;其中,所述中心服务器根据负载均衡策略为任务节点分配数据处理任务;
所述任务节点根据分配到的数据处理任务,获取对应的待处理数据块,对获取到的待处理数据块进行处理,并保存数据块的处理状态信息;
当任务节点的数据处理任务异常中断时,所述任务节点获取其所保存的数据块的处理状态信息,并根据所述处理状态信息进行中断恢复处理。
本申请实施例还提供一种任务节点设备,应用于分布式数据处理系统,其特征在于,包括:
接收模块,用于接收中心服务器分配的数据处理任务;其中,所述中心服务器根据负载均衡策略为任务节点分配数据处理任务;
任务处理模块,用于根据分配到的数据处理任务,获取对应的待处理数据块,对获取到的待处理数据块进行处理,并保存数据块的处理状态信息;
恢复处理模块,用于当数据处理任务异常中断时,获取其所保存的数据块的处理状态信息,并根据所述处理状态信息进行中断恢复处理。
与现有技术相比,本申请的上述实施例具有以下有益技术效果:
本申请实施例通过任务节点对接收到的数据处理任务进行处理,并保存处理状态信息,当数据处理任务异常中断时,任务节点获取所述数据处理状态信息,并根据所述记录的数据处理状态信息进行中断恢复处理,从而在系统出问题时能够自动识别并及时处理余下未处理的数据,实现了系统的自我修复,使系统具有较高可靠性。
附图说明
图1为本申请实施例的系统架构示意图;
图2为本申请实施例提供的数据分区流程示意图;
图3为本申请实施例提供的数据处理流程示意图;
图4为本申请实施例检测进程运行情况并进行相应处理的流程示意图;
图5为本申请实施例提供的任务节点设备的结构示意图。
具体实施方式
下面结合附图对本申请的技术方案进行清楚、完整的描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请的保护范围。
参见图1所示,为本申请实施例的分布式数据处理系统架构示意图,该系统包括:数据分区生成器11、中心服务器12、数个任务节点13。其中,各组成部分的基本功能包括:
数据分区生成器11,用于对源数据进行初始化分区,得到数个分区数据(即数据块),各分区数据存储在数据存储设备上,数据分区生成器11将数据分区的信息发送给中心服务器12;所述数据分区的信息即为数据块的索引信息,可包括:数据分区的标识、数据分区的大小、存储位置等。
中心服务器12,用于为各任务节点13分配数据处理任务。通常,中心服务器一次只向一个任务节点分配一个数据处理任务,也可以一次向多个任务节点分配数据处理任务,并可基于某种负载均衡机制分配数据处理任务给任务节点。
任务节点13,用于根据中心服务器12分配的数据处理任务进行数据处理,并记录数据处理状态信息。当任务节点的数据处理任务异常中断时,可根据其所记录的数据处理状态信息,进行任务异常中断的恢复。
本申请实施例中的数据处理状态信息可包括数据块标识、该数据块的处理状态(如未处理,已分发,处理中,完成处理)或数据块存储位置等。
基于上述系统架构,下面对本申请实施例的分布式数据处理流程进行详细描述。
参见图2,为本申请实施例提供的数据分区流程示意图,如图所示,数据分区生成器对源数据进行数据分区的流程可包括:
步骤201,数据分区生成器对系统需要处理的数据(源数据)进行初始化分区,将源数据划分为数个分区数据。
该分区过程可以通过建立任务数据分区模型实现,如表1所示:
表1
调用顺序 | Cur Id | Batchsize | 返回start ID | 返回end ID |
第一次 | 0 | 10000 | 1 | 12342 |
第二次 | 12343 | 10000 | 12349 | 25062 |
第三次 | 25063 | 10000 | 25066 | 30011 |
第四次 | 30012 | 10000 | null | null |
其中,curId表示据分区的开始标识,Batchsize表示每次返回数据分区包含有效数据行数。
以应用中比较常见的SQL数据库为例,采用循环方式,多次调用,直至到数据的未尾为止。
以表1举例说明,待分区数据存在23000条数据记录,数据记录集中ID最小的为1,ID最大的为30011。
采用表1所示的数据分区模型,第一次调用SQL语句,以ID0为起始点,取10000条有效数据,执行完成后返回10000有效记录,返回的ID区间起始点为1、结束点为12342。返回的记录集中,可能会存在ID指向的记录为空的情况,但会取足10000条有效记录,所以会出现结束点大于batchsize的情况。
第二次调用SQL语句,起始ID为第一次扫描结果的结束点的下一个记录12343,执行完成后返回10000有效记录,返回的ID区间起始点为12349,结束点为25062。
第三次调用SQL语句,重复第二次的操作,第三次执行完后,数据表中所有数据都已被涉及到,所以第四次时返回就为空值,此时就表明已经完成数据分区。
步骤202,数据分区生成器将数据分区信息发送给中心服务器。
中心服务器获得数据分区生成器发送的数据分区信息后,可根据该数据分区信息生成数据处理任务。数据处理任务的列表可如表2所示。
表2
task_id | batch_id | start_id | end_id | batch_status | handler_id |
其中,Task_id为数据处理任务的唯一性标识;
Batch_id为分区数据的唯一标识,即,需要处理的数据块被切分成多个分区,每个分区通过唯一的batch_id进行标识;
Start_id为分区数据的起始标识,此id可以指数据表中的primarykey(主键),也可以是自定义数据结构中的唯一能标识单个数据的属性值;
end_id为分区数据的结束标识,此值可以为空,当且仅当start_id就能标识一个分区数据;
batch_status为当前分区数据的处理状态,包含未处理、已分发、处理、完成处理等状态;
handler_id为数据处理单元的标识,数据处理单元可以指一个线程、一个进程、或者是一台服务器、一个集群等。
中心服务器生成数据处理任务后,即可将数据处理任务分配给任务节点进行处理。
参见图3,为本申请实施例提供的数据处理流程示意图,该流程可包括:
步骤301,中心服务器向任务节点分配数据处理任务。
本步骤中,中心服务器可基于负载均衡机制,向当前可达或可用的任务节点分配数据处理任务。对中心服务器可采用现有的负载均衡机制,本申请实施例所使用的负载均衡机制没有限制。
其中,数据处理任务中可包括但不限于以下信息:数据处理任务标识,待处理的数据分区标识(可包括起始数据分区的起始标识、结束标识),具体内容可如表2所示。还可进一步包括数据操作类型(如数据合并或数据查重等)。
步骤302,任务节点接收到数据处理任务后,根据该数据处理任务获取相应的数据,并对获取到的数据进行该数据处理任务所指定的操作。在数据处理过程中,任务节点记录数据处理状态信息。
任务节点完成数据处理任务后,可继续向中心服务器发送获取数据处理任务的请求,以请求新的数据处理任务。
若有任务节点的数据处理任务异常中断,则该流程还可包括:
步骤303,任务节点根据其所记录的数据处理状态信息进行任务中断恢复处理。
具体的,任务节点读取其所记录的数据处理状态信息,找到未处理完成的数据处理任务,以及该数据处理任务中未处理完成的数据分区标识,然后从该数据分区开始执行数据处理任务。
上述流程的步骤302中,为了减少记录数据处理状态时对数据处理性能产生影响以及在数据处理任务异常中断恢复时能够提高效率,任务节点可在缓存中保存处理状态信息。进一步,任务节点还可定时将内存中的处理状态信息写入到文件,将该文件保存到本地文件系统中,以提高任务处理信息的可靠性。
数据处理任务异常中断是指,当某一分区数据在被处理的时候出现异常,没有完成分区数据的操作任务就退出了进程。数据处理任务异常中断又可分为:因任务节点的进程出现中断或僵死导致的异常中断,以及因任务节点本身宕机所导致的异常中断。
为了检测数据处理任务的异常中断,中心服务器在每个任务节点上启动检测线程,用于对任务节点异常中断进行检测。检测线程每隔设定时间(如1分钟)对任务节点进程进行检测。
检测线程可检测任务节点进程的异常中断以及进程僵死的情况,当任务节点的进程出现中断或僵死时,无需重启该任务节点,只需重启该中断或僵死的进程,由于保存在任务节点缓存中的处理状态信息没有丢失,任务节点可以直接从缓存中获取该处理状态信息,进行恢复。
具体的,在各任务节点中,一个数据处理任务可划分为多个进程,任务节点的内存中设置有共享内存区,该共享内存区内维护有执行数据处理任务的进程的列表,所述列表中记录有进程句柄以及该进程对应的版本号,各进程的版本号初始值相同。该进程列表如表3所示:
表3
表列 | 列描述 |
Pid | 进程句柄 |
Version | 版本号 |
检测线程可以同时访问该进程列表中的多个进程,对任务节点上的进程运行情况进行检测并相应处理,如图4所示,检测进程运行情况并进行相应处理包括以下步骤:
步骤401,在设定的检测周期到达时,当前正常运行的进程将列表中自己的版本号递增,各进程所递增的增量值相同。优选的,增量值可设为1。
步骤402~403,检测线程通过查询列表,获得进程版本号的最大值与最小值,并判断进程版本号最大值与版本号最小值之间的差是否小于预设阈值,若小于,则表明该任务节点中各项进程运行正常,返回步骤401;否则,表明该任务节点中存在至少一个运行异常的进程,执行步骤404。
这里所说的运行异常的进程是指,进程在运行过程中出现进程僵死无法恢复的情况,当前状态为僵死的进程无法更新自己的版本号。
对于一个任务节点上运行的进程来说,启动检测线程的时间是相同的,从共享内存中读取进程版本号的时间周期也是相同的,因此,如果各进程正常运行,他们的版本号之间的差值应该相同。考虑到有些进程可能会出现短暂异常后自行恢复的情况,因此可以预先设定一个阈值,若进程的版本号与最大版本号之间的差值(此处指绝对值)小于该阈值,则认为该进程状态正常。
步骤404,将进程版本号最大值与除该最大值之外的进程的版本号分别相减,差值大于所述阈值的则为运行异常的进程,杀死该运行异常的进程。
在实现过程中,可以通过此进程版本号对应的保存于共享内存中的进程句柄来杀死该运行异常的进程。具体的,可以通过kill命令杀死该运行异常的进程。
步骤405,创建与杀死的进程相同数量的进程。
具体的,为了保证系统中进程数量满足要求,若杀死至少一个运行异常的进程,则创建相应数量的新的进程。
步骤406,检测线程将各进程的版本号设置相同的初始值。优选的,初始值可为0。
检测周期可以由服务器预先设置,根据对所处理任务的可靠性要求不同,检测周期可以设定为5秒、1分钟或者半小时等,如果是对可靠性要求较高的任务,可以将检测周期设置的较短,进行线程检测的次数会相对频繁,保证处理任务的有效执行。反之,如果是对可靠性要求较低的任务,可以将检测周期设置的较长,进行线程检测的次数会相对减少,避免频繁占用任务节点的资源。阈值的设定需要与检测周期的设定相适应,例如,如果检测周期设定的较长,相应的,阈值可以设置的较高;如果检测周期设定的较短,相应的,阈值可以设置的较低。上述检测周期以及阈值的设定,以达到合理、有效检测出僵死进程为目的。
上述步骤实现了检测线程一个检测周期的检测流程,通过该流程能够遍历该任务节点当前共享内存中记录的所有的进程,准确找出运行异常的进程并及时将该进程杀死,确保数据任务的执行,以及任务节点的有效运行。
对于某些进程僵死的情况,该僵死的进程无法用命令杀死,这就需要重新引导任务节点。针对该种情况,需求重启任务节点以对异常中断的数据任务进行恢复。
当检测线程检测到无法恢复的僵死进程或检测到任务节点宕机时,在任务节点重启后,保存在任务节点缓存中的处理状态信息丢失,任务节点从其本地文件系统中获取数据处理状态信息进行恢复。
在缓存与数据处理任务处于同一线程中的情况下,当出现数据处理任务异常中断时,可能缓存也会存在问题。但由于已将缓存中的处理状态信息定时地持久化到终端的本地文件系统中,即使缓存出现问题,在进程或者任务节点重启后,任务节点也可根据本地文件系统中保存的处理状态信息,重新建立缓存中的处理状态信息,任务节点就可以从中断前所处理的位置开始继续对此分区数据继续进行处理。
检测线程也可以每隔设定时间(如1分钟)与中心服务器进行通信,以检测任务节点与中心服务器的连接。当中心服务器检测到与任务节点的连接出现异常时,会将该任务节点从中心服务器的注册信息中删除,并通过中心服务器的短消息接口或邮件接口通知相关人员重启任务节点,恢复与中心服务器的连接。
具体的,中心服务器可通过监测各任务节点的运行状况的方式,一方面可以获知各任务节点当前的运行状态和负载情况,另一方面,也可以监测与任务节点之间的连接是否正常。中心服务器通过监测获知各任务节点的可达或可用情况,获得可达或可用的任务节点的负载情况,并根据监测结果向任务节点分配数据处理任务,可优先将数据处理任务分配给负载较低的任务节点。
例如,中心服务器可与各任务节点分别建立TCP连接,通过该连接定时向各任务节点发送特定的消息;任务节点收到该消息后,向中心服务器返回响应消息,进一步的,该响应消息中可携带任务节点的负载信息,以使中心服务器根据任务节点的负载情况、采用负载均衡方式分配数据处理任务。如果中心服务器接收到任务节点的响应消息时,说明该任务节点处于可用状态;如果中心服务器在指定时间范围(通常为30秒)之内没有收到任务节点的响应消息,则会认为任务节点已经失效。
中心服务器在指定时间内未收到响应消息,也可能是中心服务器与任务节点之间的通信连接中断导致的,当然,任务节点也会定时检测与中心服务器连接是否正常,如果任务节点与中心服务器通信连接中断,则该任务节点也会主动与中心服务器取得联系。
中心服务器上可存储有任务节点列表,其中记录各任务节点反馈的负载信息、任务节点状态等信息,中心服务器可根据该列表为各任务节点分配数据处理任务。表3示出了一种任务节点列表。
表4
任务节点标识 | 运行状态 | 负载状态 | 连接的服务器端口 | 最近一次检测时间 |
11 | 1 | Low | port 1 | Time1 |
12 | 1 | High | port 2 | Time1 |
13 | 0 | Middle | port 3 | Time1 |
其中,任务节点列表可包括以下几个属性:任务节点标识、运行状态、负载状态、连接的服务器端口以及最近一次检测时间。其中:
任务节点标识,用于唯一标识每个任务节点;
运行状态,表示该任务节点当前的运行状态,例如,如果当前任务节点宕机或者故障,则该任务节点的运行状态为不可用(用0表示),如果当前任务节点运行正常,则其状态为可用(用1表示)。中心服务器仅向运行状态可用的任务节点数据处理任务;
负载状态,表示当前该任务节点的负载情况,用于帮助中心服务器均衡负载,以使将更多的需要处理的任务数据分配到寻阵容负载比较低的任务节点上;
连接的服务器端口,表示该任务节点连接的中心服务器的端口,用于表示任务节点的网络位置;
最近一次检测时间,记录了该任务节点最近一次的检测时间,例如,每分钟进行一次检测,如果检测失败,则当前被检测的任务节点的运行状态会被置为不可用(置0)。
中心服务器通过各任务节点返回的响应信息更新该列表。
通过以上流程可以看出,本申请实施例还具有以下优点:
本申请实施例通过任务节点对接收到的数据处理任务进行处理,并保存处理状态信息,当数据处理任务异常中断时,任务节点获取所述数据处理状态信息,并根据所述记录的数据处理状态信息进行中断恢复处理,从而在系统出问题时能够自动识别并及时处理余下未处理的数据,实现了系统的自我修复,使系统具有较高可靠性。
本申请实施例还提供一种任务节点设备,参见图5所示,为本申请实施例提供的任务节点设备的结构示意图,该任务节点应用于分布式数据处理系统,包括:
接收模块51,用于接收中心服务器分配的数据处理任务;其中,中心服务器根据负载均衡策略为任务节点分配数据处理任务。
任务处理模块52,用于根据分配到的数据处理任务,获取对应的待处理数据块,对获取到的待处理数据块进行处理,并保存数据块的处理状态信息。
恢复处理模块53,用于当数据处理任务异常中断时,获取其所保存的数据块的处理状态信息,并根据处理状态信息进行中断恢复处理。
具体的,任务处理模块52将处理状态信息保存于该任务节点的缓存中。恢复处理模块52具体用于,当执行数据处理的进程运行异常时,重启该进程,并从缓存中获取所述数据处理状态信息,据处理状态信息进行中断恢复处理。
具体的,任务处理模块52将处理状态信息保存于该任务节点的缓存中,并根据设定周期将其缓存中保存的处理状态信息写入文件并将该文件保存于本地文件系统。
恢复处理模块52具体用于,当任务节点异常重启时,从本地文件系统中记录有处理状态信息的文件中读取数据块的处理状态信息,并根据读取到的数据块的处理状态信息进行中断恢复处理。
具体的,接收模块51还用于,接收中心服务器周期发送的请求消息。
本申请实施例提供的任务节点设备维护有执行数据处理任务的进程的列表,该列表中记录有进程句柄以及该进程对应的版本号,各进程的版本号初始值相同;该任务节电设备还包括:检测模块54,用于在设定的检测周期到达时,当前正常运行的进程将列表中自己的版本号递增,各进程所递增的增量值相同;在列表中查找是否存在版本号与列表中的最大版本号之间的差值大于设定阈值的进程,并在查找到进程时通过进程句柄将该进程杀死,创建与所杀死的进程相同数量的进程,将各进程的版本号设置相同的初始值。
本申请实施例提供的任务节点设备,还包括:发送模块55,用于在接收到中心服务器发送的所述请求消息后,向中心服务器返回响应消息,其中携带有本设备的负载信息,以使中心服务器更新其上的用于数据处理任务分配的任务节点列表,所述任务节点列表中记录有任务节点的标识、可用状态和负载信息。
本申请实施例通过任务节点对接收到的数据处理任务进行处理,并保存处理状态信息,当数据处理任务异常中断时,任务节点获取所述数据处理状态信息,并根据所述记录的数据处理状态信息进行中断恢复处理,从而在系统出问题时能够自动识别并及时处理余下未处理的数据,实现了系统的自我修复,使系统具有较高可靠性。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台终端设备(可以是手机,个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述的方法。
本领域技术人员可以理解,实施例中的装置中的模块可以按照实施例描述进行分布于实施例的装置中,也可以进行相应变化位于不同于本实施例的一个或多个装置中。上述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块。
以上所述仅是本申请的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视本申请的保护范围。
Claims (8)
1.一种任务中断恢复方法,应用于包含有中心服务器和多个任务节点的分布式数据处理系统,其特征在于,该方法包括:
任务节点接收中心服务器分配的数据处理任务;其中,所述中心服务器根据负载均衡策略为任务节点分配数据处理任务;
所述任务节点根据分配到的数据处理任务,获取对应的待处理数据块,对获取到的待处理数据块进行处理,并保存数据块的处理状态信息;
当任务节点的数据处理任务异常中断时,所述任务节点获取其所保存的数据块的处理状态信息,并根据所述处理状态信息进行中断恢复处理;
其中,所述任务节点维护有执行数据处理任务的进程的列表,所述列表中记录有进程句柄以及该进程对应的版本号,各进程的版本号初始值相同;该方法还包括:
在设定的检测周期到达时,当前正常运行的进程将所述列表中自己的版本号递增,各进程所递增的增量值相同;
检测线程在所述列表中查找是否存在版本号与列表中的最大版本号之间的差值大于设定阈值的进程,并在查找到进程时通过所述进程句柄将所述进程杀死,创建与所杀死的进程相同数量的进程,将各进程的版本号设置相同的初始值。
2.如权利要求1所述的方法,其特征在于,所述任务节点将所述处理状态信息保存于该任务节点的缓存中;
当任务节点的数据处理任务异常中断时,所述任务节点查询其所保存的数据块的处理状态信息,并根据所述处理状态信息进行中断恢复处理,包括:
当任务节点中进行数据处理的进程运行异常时,所述任务节点重启该进程,并从缓存中获取所述数据处理状态信息,根据所述处理状态信息进行中断恢复处理。
3.如权利要求1所述的方法,其特征在于,所述任务节点将所述处理状态信息保存于该任务节点的缓存中,并根据设定周期将其缓存中保存的处理状态信息写入文件并将该文件保存于本地文件系统;
当任务节点的数据处理任务异常中断时,所述任务节点查询其所保存的数据块的处理状态信息,并根据所述处理状态信息进行中断恢复处理,包括:
当任务节点异常重启时,所述任务节点从本地文件系统中记录有处理状态信息的文件中读取数据块的处理状态信息,并根据读取到的数据块的处理状态信息进行中断恢复处理。
4.如权利要求1-3之一所述的方法,其特征在于,该方法还包括:
中心服务器周期向任务节点发送请求消息,若在设定长时间内接收到任务节点返回的携带有该任务节点的负载信息的响应消息,则更新该中心服务器上保存的任务节点列表,所述任务节点列表中记录有任务节点的标识、可用状态和负载信息;若未在设定时间内接收到任务节点返回的响应消息,则将所述任务节点列表中该任务节点的可用状态设置为不可用;
当中心服务器为任务节点分配数据处理任务时,根据所述任务节点列表进行分配。
5.一种任务节点设备,应用于分布式数据处理系统,其特征在于,包括:
接收模块,用于接收中心服务器分配的数据处理任务;其中,所述中心服务器根据负载均衡策略为任务节点分配数据处理任务;
任务处理模块,用于根据分配到的数据处理任务,获取对应的待处理数据块,对获取到的待处理数据块进行处理,并保存数据块的处理状态信息;
恢复处理模块,用于当数据处理任务异常中断时,获取其所保存的数据块的处理状态信息,并根据所述处理状态信息进行中断恢复处理;
其中,所述任务节点设备维护有执行数据处理任务的进程的列表,所述列表中记录有进程句柄以及该进程对应的版本号,各进程的版本号初始值相同;所述任务节点设备还包括:
检测模块,用于在设定的检测周期到达时,当前正常运行的进程将所述列表中自己的版本号递增,各进程所递增的增量值相同;在所述列表中查找是否存在版本号与列表中的最大版本号之间的差值大于设定阈值的进程,并在查找到进程时通过所述进程句柄将所述进程杀死,创建与所杀死的进程相同数量的进程,将各进程的版本号设置相同的初始值。
6.如权利要求5所述的任务节点设备,其特征在于,所述任务处理模块将所述处理状态信息保存于该任务节点的缓存中;
所述恢复处理模块具体用于,当执行数据处理的进程运行异常时,重启该进程,并从缓存中获取所述数据处理状态信息,据所述处理状态信息进行中断恢复处理。
7.如权利要求5所述的任务节点设备,其特征在于,所述任务处理模块将所述处理状态信息保存于该任务节点的缓存中,并根据设定周期将其缓存中保存的处理状态信息写入文件并将该文件保存于本地文件系统;
所述恢复处理模块具体用于,当任务节点异常重启时,从本地文件系统中记录有处理状态信息的文件中读取数据块的处理状态信息,并根据读取到的数据块的处理状态信息进行中断恢复处理。
8.如权利要求5-7之一所述的任务节点设备,其特征在于,所述接收模块还用于,接收中心服务器周期发送的请求消息;
所述任务节点设备还包括:
发送模块,用于在接收到中心服务器发送的所述请求消息后,向中心服务器返回响应消息,其中携带有本设备的负载信息,以使中心服务器更新其上的用于数据处理任务分配的任务节点列表,所述任务节点列表中记录有任务节点的标识、可用状态和负载信息。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110345030.2A CN103092712B (zh) | 2011-11-04 | 2011-11-04 | 一种任务中断恢复方法和设备 |
HK13107125.8A HK1180068A1 (zh) | 2011-11-04 | 2013-06-19 | 種任務中斷恢復方法和設備 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110345030.2A CN103092712B (zh) | 2011-11-04 | 2011-11-04 | 一种任务中断恢复方法和设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103092712A CN103092712A (zh) | 2013-05-08 |
CN103092712B true CN103092712B (zh) | 2016-03-30 |
Family
ID=48205319
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110345030.2A Active CN103092712B (zh) | 2011-11-04 | 2011-11-04 | 一种任务中断恢复方法和设备 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN103092712B (zh) |
HK (1) | HK1180068A1 (zh) |
Families Citing this family (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104407918B (zh) * | 2014-11-29 | 2017-06-27 | 中国航空工业集团公司第六三一研究所 | 一种航空电子系统任务数据的保存和恢复方法 |
CN105159768A (zh) * | 2015-09-09 | 2015-12-16 | 浪潮集团有限公司 | 一种任务管理方法及云数据中心管理平台 |
CN106557364A (zh) * | 2015-09-24 | 2017-04-05 | 阿里巴巴集团控股有限公司 | 一种数据同步方法和系统 |
CN106383510B (zh) * | 2016-08-29 | 2019-08-23 | 航宇救生装备有限公司 | 控制系统意外断电的判别与处理方法 |
CN106776018B (zh) * | 2016-12-01 | 2020-09-01 | 三星(中国)半导体有限公司 | 用于分布式系统的主节点和从节点的并行处理方法和设备 |
CN106855837B (zh) * | 2016-12-15 | 2020-12-18 | 咪咕文化科技有限公司 | 一种基于Flume的数据处理方法及装置 |
CN106850409B (zh) * | 2017-01-24 | 2019-12-10 | 腾讯科技(深圳)有限公司 | 一种消息断链任务处理的方法、设备及系统 |
CN106980920A (zh) * | 2017-02-17 | 2017-07-25 | 阿里巴巴集团控股有限公司 | 一种互联网业务的执行方法及装置 |
CN106933662A (zh) * | 2017-03-03 | 2017-07-07 | 广东神马搜索科技有限公司 | 分布式系统及其调度方法和调度装置 |
CN107122234A (zh) * | 2017-03-30 | 2017-09-01 | 武汉斗鱼网络科技有限公司 | 一种服务器系统、执行任务的方法和服务器 |
CN108984333B (zh) * | 2017-05-31 | 2021-03-30 | 北京京东尚科信息技术有限公司 | 用于大数据实时计算的方法及装置 |
CN107402968A (zh) * | 2017-06-26 | 2017-11-28 | 北京小度信息科技有限公司 | 运行控制方法及装置 |
CN109725990A (zh) * | 2017-10-31 | 2019-05-07 | 北京国双科技有限公司 | 进程控制方法和装置 |
CN108600008B (zh) * | 2018-04-24 | 2021-12-17 | 致云科技有限公司 | 服务器管理方法、服务器管理装置及分布式系统 |
CN108776628B (zh) * | 2018-05-29 | 2021-10-15 | 郑州云海信息技术有限公司 | 一种避免ctdb数据恢复时崩溃的方法、装置及介质 |
CN109298962B (zh) * | 2018-09-03 | 2024-06-07 | 中国平安人寿保险股份有限公司 | 定时任务的监控方法、计算机可读存储介质和终端设备 |
CN110895483A (zh) * | 2018-09-12 | 2020-03-20 | 北京奇虎科技有限公司 | 任务恢复方法及装置 |
CN111382134B (zh) * | 2018-12-29 | 2022-10-18 | 清华大学 | 大规模分布式存储系统中数据恢复方法及装置 |
CN111932235B (zh) * | 2019-05-13 | 2024-04-19 | 中国移动通信集团湖北有限公司 | 业务处理的方法、数据访问器、状态管理器及计算设备 |
CN110362418B (zh) * | 2019-07-09 | 2022-02-18 | 腾讯科技(深圳)有限公司 | 一种异常数据恢复方法、装置、服务器及存储介质 |
CN110535692B (zh) * | 2019-08-12 | 2020-12-18 | 华为技术有限公司 | 故障处理方法、装置、计算机设备、存储介质及存储系统 |
CN114050965A (zh) * | 2020-07-22 | 2022-02-15 | 中兴通讯股份有限公司 | 查找中断设备的方法、从设备、主设备及存储介质 |
CN113256909A (zh) * | 2020-12-31 | 2021-08-13 | 深圳怡化电脑股份有限公司 | 设备驱动自恢复的方法、系统、存取款设备和存储介质 |
CN115098537B (zh) * | 2021-10-19 | 2023-03-10 | 腾讯科技(深圳)有限公司 | 事务执行方法、装置、计算设备及存储介质 |
CN114896033A (zh) * | 2022-04-01 | 2022-08-12 | 上海闪马智能科技有限公司 | 一种数据处理方法、装置、存储介质及电子装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1247656A (zh) * | 1996-12-20 | 2000-03-15 | 艾利森公司 | 提供高级互连能力的网络管理器 |
CN1629811A (zh) * | 2004-06-30 | 2005-06-22 | 雅劲科技公司 | 实施于计算机系统中的方法及使用该方法的计算机系统 |
CN101183377A (zh) * | 2007-12-10 | 2008-05-21 | 华中科技大学 | 一种基于消息中间件的高可用性数据库集群 |
CN101504623A (zh) * | 2009-03-20 | 2009-08-12 | 杭州华三通信技术有限公司 | 独立磁盘冗余阵列构建方法及装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8543864B2 (en) * | 2009-12-18 | 2013-09-24 | Electronics And Telecommunications Research Institute | Apparatus and method of performing error recovering process in asymmetric clustering file system |
-
2011
- 2011-11-04 CN CN201110345030.2A patent/CN103092712B/zh active Active
-
2013
- 2013-06-19 HK HK13107125.8A patent/HK1180068A1/zh unknown
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1247656A (zh) * | 1996-12-20 | 2000-03-15 | 艾利森公司 | 提供高级互连能力的网络管理器 |
CN1629811A (zh) * | 2004-06-30 | 2005-06-22 | 雅劲科技公司 | 实施于计算机系统中的方法及使用该方法的计算机系统 |
CN101183377A (zh) * | 2007-12-10 | 2008-05-21 | 华中科技大学 | 一种基于消息中间件的高可用性数据库集群 |
CN101504623A (zh) * | 2009-03-20 | 2009-08-12 | 杭州华三通信技术有限公司 | 独立磁盘冗余阵列构建方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
HK1180068A1 (zh) | 2013-10-11 |
CN103092712A (zh) | 2013-05-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103092712B (zh) | 一种任务中断恢复方法和设备 | |
CN106777126B (zh) | 一种支持异构时序数据库的数据在线迁移方法 | |
TWI669620B (zh) | Database switching method, server, storage medium, electronic device and product | |
CN104461786B (zh) | Android系统的恢复方法及Android系统的恢复系统 | |
CN111190747A (zh) | 用于消息队列的消息丢失检测方法和装置 | |
EP3142011A1 (en) | Anomaly recovery method for virtual machine in distributed environment | |
CN102244669B (zh) | 一种堆叠设备中软件升级的方法和堆叠设备 | |
CN105204979A (zh) | 安卓日志的记录方法及移动终端 | |
CN107623703B (zh) | 全局事务标识gtid的同步方法、装置及系统 | |
CN107682172B (zh) | 控制中心装置、业务系统处理的方法及介质 | |
CN104394009A (zh) | 一种故障信息的处理方法及装置 | |
CN105227347A (zh) | 一种通用的运维监控方法及运维监控系统 | |
CN102360324A (zh) | 故障恢复方法和用于故障恢复的设备 | |
CN110618864A (zh) | 一种中断任务恢复方法及装置 | |
CN103268183A (zh) | 信息上报处理方法和装置 | |
CN107423145A (zh) | 一种避免消息丢失的方法与装置 | |
CN111901176B (zh) | 故障确定方法、装置、设备及存储介质 | |
CN102385536A (zh) | 一种实现并行计算的方法及系统 | |
CN109474470A (zh) | 一种自监控方法和装置 | |
CN103729391A (zh) | 能够重新启动事务的客户端装置和数据库服务器及方法 | |
CN103049348B (zh) | 多服务器化环境下数据容错存储的方法 | |
CN105471616A (zh) | 缓存系统管理方法和系统 | |
CN104536784B (zh) | 实时系统更新方法及装置 | |
US10674337B2 (en) | Method and device for processing operation for device peripheral | |
CN109254880B (zh) | 一种处理数据库宕机的方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 1180068 Country of ref document: HK |
|
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: GR Ref document number: 1180068 Country of ref document: HK |