CN103970611A - 基于计算机集群的任务处理方法 - Google Patents

基于计算机集群的任务处理方法 Download PDF

Info

Publication number
CN103970611A
CN103970611A CN201410187057.7A CN201410187057A CN103970611A CN 103970611 A CN103970611 A CN 103970611A CN 201410187057 A CN201410187057 A CN 201410187057A CN 103970611 A CN103970611 A CN 103970611A
Authority
CN
China
Prior art keywords
node
task
computer
nodes
subtask
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.)
Pending
Application number
CN201410187057.7A
Other languages
English (en)
Inventor
王亮
张克慧
谭映忠
刘新宇
刘畅
关丹凤
陈璇
郭磊
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenhua Group Corp Ltd
Original Assignee
Shenhua Group Corp Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shenhua Group Corp Ltd filed Critical Shenhua Group Corp Ltd
Priority to CN201410187057.7A priority Critical patent/CN103970611A/zh
Publication of CN103970611A publication Critical patent/CN103970611A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Hardware Redundancy (AREA)

Abstract

本发明公开了一种基于计算机集群的任务处理方法,该方法包括:将任务链中的每个任务节点划分为多个子任务节点;分配完成子任务节点所需的运算到所述计算机集群中的多个计算机节点进行运算处理;保存所述多个计算机节点运算处理的状态快照;以及当所述子任务节点中断时,根据所述状态快照恢复中断前的子任务节点状态,以及继续执行中断的子任务节点。通过本发明提供的方法,能够将任务节点运算分布到多个计算节点进行处理,还能够实现任务中断后的继续执行而无需从任务链的初始状态重复执行,因而能够极大地提高任务处理效率。

Description

基于计算机集群的任务处理方法
技术领域
本发明涉及计算机应用领域,具体地,涉及一种基于计算机集群的任务处理方法。
背景技术
对任务链的处理,当前一般以线性处理为主,使用的是传统的非分布式计算技术。传统的线性处理,无法对处理链进行结构化的分解,任务处理只能从初始状态开始直至运行结束,中间不易进行并行计算等优化措施。同时因为强依赖的原因,如果当整个任务处理过程中因为某些原因导致处理中断,将无法应用之前处理已处理的资源,只能将任务从初始状态重复执行,导致任务处理效率降低、资源浪费及系统硬件性能的额外支出。
传统的分布式任务调度技术,能够解决在任务链中网状处理节点中子任务失效后,该子任务重新分配、启动的问题。然而,当整个网状处理节点失败的时候,传统的分布式任务调度技术,无法从当前的网状处理节点重新开始处理,只能将整个任务链从初始状态重复执行,仍然不能解决任务处理效率降低、资源浪费及系统硬件性能的额外支出的问题。
针对上述技术问题,现有技术中尚无良好解决方案。
发明内容
本发明的目的是提供一种方法,该方法能够实现任务中断后的继续执行,提高任务处理效率。
为了实现上述目的,本发明提供一种基于计算机集群的任务处理方法,其中,该方法包括:将任务链中的每个任务节点划分为多个子任务节点;分配完成子任务节点所需的运算到所述计算机集群中的多个计算机节点进行运算处理;保存所述多个计算机节点运算处理的状态快照;以及当所述子任务节点中断时,根据所述状态快照恢复中断前的子任务节点状态,以及继续执行中断的子任务节点。
进一步地,该方法还包括:对所述多个计算机节点进行心跳检测;以及将分配到心跳检测无响应的计算机节点的运算再分配到其他计算机节点。
进一步地,该方法还包括:将所述多个计算机节点的运算处理结果保存到与所述计算机集群中的所有计算机节点连接的共享存储器。
进一步地,该方法还包括:当执行当前子任务节点的所有计算机节点运算处理完成后,对完成下一个子任务节点所需的运算进行分配。
进一步地,该方法还包括:根据贪婪算法分配所述完成子任务节点所需的运算。
进一步地,该方法还包括:在完成最后一个任务节点的运算后,输出运算结果。
进一步地,所述计算机集群由部署云计算平台的计算机节点组成。
进一步地,所述云计算平台为HADOOP云计算平台。
进一步地,所述计算机节点为LINUX系统服务器。
通过上述技术方案,将完成一个任务链步骤所需的运算分配到多个计算机节点进行运算处理,能够将运算量化整为零,提高任务运行速度;通过保存运算处理的状态快照,在任务链步骤因故中断时,能够将任务链步骤恢复到中断前状态,从而从中断前状态开始继续执行任务链。因此,通过上述技术方案,当任务链步骤或节点失败时,能够从失败的步骤或节点继续执行任务链,而无需从初始状态重复执行,提高任务处理效率、降低资源浪费。
本发明的其他特征和优点将在随后的具体实施方式部分予以详细说明。
附图说明
附图是用来提供对本发明的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本发明,但并不构成对本发明的限制。在附图中:
图1是根据本发明实施方式的基于计算机集群的任务处理方法流程图;以及
图2是使用本发明实施方式提供的基于计算机集群的任务处理方法进行任务处理的流程图。
具体实施方式
以下结合附图对本发明的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本发明,并不用于限制本发明。
图1是根据本发明实施方式的基于计算机集群的任务处理方法流程图。如图1所示,本发明实施方式提供的基于计算机集群的任务处理方法,可以包括:S101,将任务链中的每个任务节点划分为多个子任务节点;S102,分配完成子任务节点所需的运算到所述计算机集群中的多个计算机节点进行运算处理;S103,保存所述多个计算机节点运算处理的状态快照;以及S104,当所述子任务节点中断时,根据所述状态快照恢复中断前的子任务节点状态,以及继续执行中断的子任务节点。
通过上述技术方案,将完成一个任务链步骤所需的运算分配到多个计算机节点进行运算处理,能够将运算量化整为零,提高任务运行速度;通过保存运算处理的状态快照,在任务链步骤因故中断时,能够将任务链步骤恢复到中断前状态,从而从中断前状态开始继续执行任务链。因此,通过上述技术方案,当任务链步骤或节点失败时,能够从失败的步骤或节点继续执行任务链,而无需从初始状态重复执行,提高任务处理效率、降低资源浪费。
在优选的实施方式中,方法还可以包括:对多个计算机节点进行心跳检测;以及将分配到心跳检测无响应的计算机节点的运算再分配到其他计算机节点。通过心跳检测可以确定进行运算的计算机节点的工作状态。为了确保分配到每个计算机节点的运算都能够完成,当出现心跳检测无响应的计算机时,可以将分配到该计算机节点的运算重新分配到其他心跳检测正常的计算机节点。优选地,重新分配到的计算机节点可以是已完成被分配的运算的计算机节点,这样可以充分利用空闲计算资源完成运算。
为了使完成任务链中每个任务节点或子任务节点的运算的计算机节点能够获取运算所需的数据,在实施方式中,方法还包括:将所述多个计算机节点的运算处理结果保存到与所述计算机集群中的所有计算机节点连接的共享存储器。这样所有计算机节点可以在运算开始时从共享存储器获取运算数据,以及在运算完成时向共享存储器中存储运算结果。这里需要说明的是,计算机节点运算处理的状态快照也可以保存在共享存储器中,或者也可以单独设置快照存储器。存储器的实例包括但不局限于只读存储器(ROM)、随机存取存储器(RAM)、寄存器、缓冲存储器、半导体存储设备等。
在不同的实施方式中,该方法还可以包括:当执行当前子任务节点的所有计算机节点运算处理完成后,对完成下一个子任务节点所需的运算进行分配。在实施方式中,存在多种情况需要执行上述步骤。例如,对于大量运算,需要使用计算机集群中的所有计算机节点参与的子任务节点的运算,只有当所有计算机节点都完成运算处理后才能继续分配下一子任务节点的运算。再如,对于需要得到上一子任务节点的全部运算结果后才能分配下一子任务节点的运算的情况,方法中也需要包含这样的步骤。当然,在实施方式中,也可以将不同子任务节点的运算同时分配到计算机集群中的不同计算机节点组进行处理。
图2是使用本发明实施方式提供的基于计算机集群的任务处理方法进行任务处理的流程图。如图2所示,在一个任务链从开始到结束之间可以有多个任务节点(或网状处理节点),每个任务节点中可以包括(例如具有网状拓扑结构的)多个子任务节点,每个子任务节点的运算可以被分配到计算机集群中的一个或多个计算机节点(图中未示出)进行处理。每个计算机节点所要进行的运算可以由统一的总控单元进行,该总控单元可以是计算机集群中的一个计算机节点,同时负责计算机集群中其他所有计算机节点的心跳检测。与运算相关的上下文共享数据(例如,计算机节点的运算处理结果)可以被保存到与所述计算机集群中的所有计算机节点连接的共享存储器。在完成最后一个网状处理节点的运算后,可以输出运算结果,例如输出到目标应用。需要说明的是,图2中示出了包括三个网状处理节点的任务链,然而附图仅出于示例性目的,并不对任务链的长度进行限制。
在优选的实施方式中,可以根据贪婪算法分配所述完成子任务节点所需的运算。即,可以将最复杂的运算交给计算能力最强的计算机节点进行处理,进而确保整个运算的处理速度。
在优选的实施方式中,计算机集群可以由部署云计算平台的计算机节点组成,从而可以利用云计算平台的资源优势,降低大量运算对计算机节点的硬件要求。例如,可以使用HADOOP云计算平台,而计算机节点可以为部署了云计算平台(例如HADOOP的)LINUX系统服务器。以下,结合HADOOP云计算平台对根据本发明的基于计算机集群的任务处理方法的实现方式进行说明。
在一个实施方式中,可以使用任务链开发模式以及命令模式搭配HADOOP云计算平台来实现。其具体的实施方式如下:
(1)根据业务需求(处理顺序)把任务处理链进行功能切分;
(2)确定任务链中任务先后顺序以及依赖关系;
(3)注册统一接口,继承接口对每个任务进行具体实现;
(4)选取多台(例如,5至10台)普通服务器(LINUX操作系统),作为报表数据计算处理的节点;
(5)在这些普通的服务器上部署HADOOP平台,将这些机器组合成一个分布式计算集群;
(6)在分布式计算集群上初始化分布式文件系统(HDFS);
(7)将处理链所需数据文件推送至HADOOP分布式文件系统(HDFS);
(8)在节点进行计算的时候,系统会自动对输入文件进行切分,分发至HADOOP集群进行分布式并行计算;
(9)系统会对HADOOP集群进行计算的节点进行心跳检测,实时监测网状任务节点的计算运行状态,及时移除无响应节点,并将无响应节点计算数据分发至其他节点继续进行计算;
(10)所有节点进行计算完成后,数据被发送至链式节点上下文共享数据区域内,可供其他节点使用;
(11)在链式节点运行过程中,系统自动生成当前计算状态快照,并能够在处理链发生错误的时候提供足够的数据可供任务链继续进行数据处理;以及
(12)将最终数据结果统一输出给目标应用,任务链结束。
通过本发明实施方式提供的基于计算机集群的任务处理方法能够将任务节点运算分布到多个计算节点进行处理,还能够实现任务中断后的继续执行而无需从任务链的初始状态重复执行,因而能够极大地提高任务处理效率。
以上结合附图详细描述了本发明的优选实施方式,但是,本发明并不限于上述实施方式中的具体细节,在本发明的技术构思范围内,可以对本发明的技术方案进行多种简单变型,这些简单变型均属于本发明的保护范围。例如,可以将计算机节点改变为计算节点或计算单元。
另外需要说明的是,在上述具体实施方式中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合。为了避免不必要的重复,本发明对各种可能的组合方式不再另行说明。
此外,本发明的各种不同的实施方式之间也可以进行任意组合,只要其不违背本发明的思想,其同样应当视为本发明所公开的内容。

Claims (9)

1.一种基于计算机集群的任务处理方法,其特征在于,该方法包括:
将任务链中的每个任务节点划分为多个子任务节点;
分配完成子任务节点所需的运算到所述计算机集群中的多个计算机节点进行运算处理;
保存所述多个计算机节点运算处理的状态快照;以及
当所述子任务节点中断时,根据所述状态快照恢复中断前的子任务节点状态,以及继续执行中断的子任务节点。
2.根据权利要求1所述的方法,其特征在于,该方法还包括:
对所述多个计算机节点进行心跳检测;以及
将分配到心跳检测无响应的计算机节点的运算再分配到其他计算机节点。
3.根据权利要求1所述的方法,其特征在于,该方法还包括:
将所述多个计算机节点的运算处理结果保存到与所述计算机集群中的所有计算机节点连接的共享存储器。
4.根据权利要求1所述的方法,其特征在于,该方法还包括:
当执行当前子任务节点的所有计算机节点运算处理完成后,对完成下一个子任务节点所需的运算进行分配。
5.根据权利要求1所述的方法,其特征在于,该方法还包括:
根据贪婪算法分配所述完成子任务节点所需的运算。
6.根据权利要求1所述的方法,其特征在于,该方法还包括:
在完成最后一个任务节点的运算后,输出运算结果。
7.根据权利要求1所述的方法,其特征在于,所述计算机集群由部署云计算平台的计算机节点组成。
8.根据权利要求7所述的方法,其特征在于,所述云计算平台为HADOOP云计算平台。
9.根据权利要求7所述的方法,其特征在于,所述计算机节点为LINUX系统服务器。
CN201410187057.7A 2014-05-05 2014-05-05 基于计算机集群的任务处理方法 Pending CN103970611A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410187057.7A CN103970611A (zh) 2014-05-05 2014-05-05 基于计算机集群的任务处理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410187057.7A CN103970611A (zh) 2014-05-05 2014-05-05 基于计算机集群的任务处理方法

Publications (1)

Publication Number Publication Date
CN103970611A true CN103970611A (zh) 2014-08-06

Family

ID=51240143

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410187057.7A Pending CN103970611A (zh) 2014-05-05 2014-05-05 基于计算机集群的任务处理方法

Country Status (1)

Country Link
CN (1) CN103970611A (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104360898A (zh) * 2014-10-30 2015-02-18 北京京东尚科信息技术有限公司 运行任务的方法和装置
CN105511956A (zh) * 2014-09-24 2016-04-20 中国电信股份有限公司 一种基于共享调度信息的任务调度方法和系统
CN107807608A (zh) * 2017-11-02 2018-03-16 腾讯科技(深圳)有限公司 数据处理方法、数据处理系统及存储介质
CN108628727A (zh) * 2018-04-19 2018-10-09 山东省计算中心(国家超级计算济南中心) 一种基于模式运行时特征的模式作业运行状态分析方法
CN109960575A (zh) * 2019-03-26 2019-07-02 深圳市网心科技有限公司 一种计算能力共享方法、系统及相关设备

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060027977A1 (en) * 2004-08-03 2006-02-09 Leimer Mark A Valve stem sealing assembly
US20080271040A1 (en) * 2002-12-20 2008-10-30 International Business Machines Corporation Method for managing message flow in a multithreaded, message flow environment
CN102447721A (zh) * 2010-10-09 2012-05-09 深圳市金蝶中间件有限公司 一种备份的方法及装置
CN102541640A (zh) * 2011-12-28 2012-07-04 厦门市美亚柏科信息股份有限公司 一种集群gpu资源调度系统和方法
CN102710779A (zh) * 2012-06-06 2012-10-03 合肥工业大学 一种基于云计算环境下的服务资源分配的负载均衡策略

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080271040A1 (en) * 2002-12-20 2008-10-30 International Business Machines Corporation Method for managing message flow in a multithreaded, message flow environment
US20060027977A1 (en) * 2004-08-03 2006-02-09 Leimer Mark A Valve stem sealing assembly
CN102447721A (zh) * 2010-10-09 2012-05-09 深圳市金蝶中间件有限公司 一种备份的方法及装置
CN102541640A (zh) * 2011-12-28 2012-07-04 厦门市美亚柏科信息股份有限公司 一种集群gpu资源调度系统和方法
CN102710779A (zh) * 2012-06-06 2012-10-03 合肥工业大学 一种基于云计算环境下的服务资源分配的负载均衡策略

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105511956A (zh) * 2014-09-24 2016-04-20 中国电信股份有限公司 一种基于共享调度信息的任务调度方法和系统
CN105511956B (zh) * 2014-09-24 2019-04-16 中国电信股份有限公司 一种基于共享调度信息的任务调度方法和系统
CN104360898A (zh) * 2014-10-30 2015-02-18 北京京东尚科信息技术有限公司 运行任务的方法和装置
CN104360898B (zh) * 2014-10-30 2018-01-23 北京京东尚科信息技术有限公司 运行任务的方法和装置
CN107807608A (zh) * 2017-11-02 2018-03-16 腾讯科技(深圳)有限公司 数据处理方法、数据处理系统及存储介质
CN108628727A (zh) * 2018-04-19 2018-10-09 山东省计算中心(国家超级计算济南中心) 一种基于模式运行时特征的模式作业运行状态分析方法
CN108628727B (zh) * 2018-04-19 2021-06-01 山东省计算中心(国家超级计算济南中心) 一种基于模式运行时特征的模式作业运行状态分析方法
CN109960575A (zh) * 2019-03-26 2019-07-02 深圳市网心科技有限公司 一种计算能力共享方法、系统及相关设备
CN109960575B (zh) * 2019-03-26 2023-09-15 深圳市网心科技有限公司 一种计算能力共享方法、系统及相关设备

Similar Documents

Publication Publication Date Title
AU2011299337B2 (en) Controlled automatic healing of data-center services
EP3167368B1 (en) Dynamic shard allocation adjustment
US10789084B2 (en) Virtual machine scaling method and device
CN103970611A (zh) 基于计算机集群的任务处理方法
CN102611622B (zh) 一种弹性云计算平台下工作负载的调度方法
US10805385B2 (en) Method and apparatus for managing resource on cloud platform
WO2017049617A1 (en) Techniques to select virtual machines for migration
US11361217B2 (en) Chip and chip-based data processing method
US20120005522A1 (en) Fault tolerance for map/reduce computing
CN104536937A (zh) 基于cpu-gpu异构集群的大数据一体机实现方法
CN106095576A (zh) 虚拟化多核环境下非一致性i/o访问虚拟机资源迁移方法
JP2010086145A (ja) 分散処理システム
CN109815021B (zh) 针对递归树建模程序的资源关键树方法及系统
CN104077188A (zh) 一种用于任务调度的方法和装置
WO2023226197A1 (zh) 基于kubernetes的云原生存储方法、装置、设备及介质
US10467045B1 (en) On-demand isolated execution of specific tasks
CN104281636A (zh) 海量报表数据并发分布式处理方法
CN104123183A (zh) 集群作业调度方法和装置
CN105487928A (zh) 一种控制方法、装置及Hadoop系统
US8505020B2 (en) Computer workload migration using processor pooling
CN105141691A (zh) 一种云计算下虚拟机集群自动扩展系统和方法
JP6239400B2 (ja) 制御装置
CN111049900B (zh) 一种物联网流计算调度方法、装置和电子设备
Goutam et al. The performance evaluation of proactive fault tolerant scheme over cloud using CloudSim simulator
Janpan et al. A virtual machine consolidation framework for CloudStack platforms

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication

Application publication date: 20140806

RJ01 Rejection of invention patent application after publication