一种无中心节点计算机网络的任务调度方法

文档序号:7782725阅读:382来源:国知局
一种无中心节点计算机网络的任务调度方法
【专利摘要】本发明公开了一种无中心节点计算机网络的任务调度方法,属于计算机网络领域,该方法包括如下步骤:建立一个无中心节点的计算机网络,具有节点N1~Nk,每个节点维护一个节点负载表,表中记载所有节点的各类负载的数目;客户端向所有节点广播任务t的启动请求;节点对启动请求解析获得完成t的负载要求及其优先级;令C=1,以所有节点为候选节点,进行如下判断:若候选节点中仅一个节点C级负载要求最优,则该节点为最优节点;若多个节点C级负载要求最优,则该多个节点为新的候选节点;C自增1,重复上述判断,直至选出最优节点,若达到最低优先级仍具有多个候选节点,则候选节点中编号最大或最小的节点为最优节点,实现了任务调度。
【专利说明】一种无中心节点计算机网络的任务调度方法
【技术领域】
[0001]本发明涉及一种无中心节点计算机网络的任务调度方法,属于计算机网络领域,适用于无中心控制节点或关键节点的计算机网络,尤其适用于并行处理应用的无中心节点计算机网络。
【背景技术】
[0002]目前,并行处理应用主要采用的网络架构有两种:一种为计算机集群网络,另一种为无中心节点的计算机网络。
[0003]对于计算机集群网络来说,包括集群管理节点和集群计算节点几类不同用途的网络节点。其中,集群管理节点用来分配和管理集群系统的用户帐号和权限,管理节点安装集群管理软件,作为主节点对整个集群进行监控、管理和作业调度等工作;集群计算节点用于科学计算,运行并行计算程序,是计算机集群网络的主体。在计算机集群网络中,是由集群管理节点统一实现对集群计算节点的状态监控和作业调度等,即集群管理节点是网络中的中心节点或关键节点,如果集群管理节点出现故障,则导致整个计算机集群网络处于瘫痪状态,因此为了提高计算机集群网络的可靠性,通常都是用两台互为热备的服务器作为集群管理节点,但是仍然会存在着网络整体瘫痪的可能性。
[0004]无中心节点的计算机网络可以避免集群网络的这种问题,对于无中心节点计算机网络来说,网络中的各计算机在控制地位上是平等的,没有主备之分,当有新任务发起或有计算机出现故障时,由各计算机自行发起任务调度控制。任意一台或者几台计算机节点出现故障都不会影响网络完成并行处理应用的能力。
[0005]然而目前无中心节点的计算机网络大多研究重点都在无线传感器网络,无线传感器网络在实际应用时节点数量众多、分布密集,相邻节点之间产生的冗余数据很多,无线传感器网络的任务调度方法并不适用于计算机网络,而通常计算机网络的任务调度方法仅考虑某一个方面的影响,因此需要一种针对无中心节点的计算机网络的多维全面的任务调度方法。

【发明内容】

[0006]有鉴于此,本发明提供了一种无中心节点计算机网络的任务调度方法,该方法考虑多维因素、综合全面的任务调度方法,适用于并行处理应用,以解决无线传感器网络的任务调度方法不适用于计算机网络以及现有任务调度方法考虑方面单一不够全面的问题。
[0007]为达到上述目的,本发明的技术方案为:
[0008]一种无中心节点计算机网络的任务调度方法,该方法包括如下步骤:
[0009]步骤1、建立一个无中心节点的计算机网络,所述网络中具有k个节点,对所述k个节点进行I至k的编号,记为N1?Nk ;每个节点中均存储有节点负载表,所述节点负载表中记载所有节点实时负载状态,其中负载状态包括已启动的任务的数目、CPU剩余可用量、内存剩余可用量以及硬盘剩余可用量;[0010]各节点均定期通信,以获取所有节点的实时负载状态更新节点负载表;
[0011]步骤2、客户端向上述网络中所有节点广播任务t的启动请求;
[0012]网络中每个节点执行如下步骤3?步骤10 ;
[0013]步骤3、网络中每个节点在接收到任务t的启动请求后,解析该请求,获得任务t的负载要求以及客户端为各负载要求指定的优先级,所述负载要求包括已启动的任务的数目、CPU剩余可用量、内存剩余可用量以及硬盘剩余可用量,所述优先级从I开始,数值越高,表示优先级越低;
[0014]步骤4、令C=I,选择所有节点作为候选最优节点,任务t的负载要求中最低优先级级数为U,进入步骤5;
[0015]步骤5、由节点负载表获取所有候选最优节点中对应该优先级为C的负载状态,并进行对比,转入步骤6 ;
[0016]步骤6、在候选最优节点中,若仅存在节点%,其对应优先级为C的负载状态最优,则转入步骤7 ;
[0017]在候选最优节点中,若存在多个节点,其对应优先级为C的负载状态相同且均为最优,则更新候选最优节点为该处所述多个节点,则转到步骤8 ;
[0018]负载状态最优具体为:已启动的任务的数目最小为最优,CPU剩余可用量、内存剩余可用量以及硬盘剩余可用量最大为最优;
[0019]步骤7、节点Nj是运行任务t的最优节点,转到步骤10 ;
[0020]步骤8、判断C是否小于U,如果是,则令C的值自增1,返回步骤5,否则转到步骤9 ;
[0021]步骤9、在候选最优节点中选择编号最小或者最大的节点为最优节点;
[0022]步骤10、最优节点启动任务t。
[0023]进一步地,步骤10中,最优节点启动任务t之后,还包括如下步骤:
[0024]最优节点实时监测着任务t的运行状态,若任务t运行不正常,则保存任务运行断点,同时最优节点重新启动任务t,并使任务t从断点处开始运行。
[0025]进一步地,步骤10中,最优节点启动任务t之后,还包括如下步骤:
[0026]设置监测节点实时监测最优节点的状态,若最优节点异常关机,则向网络中所有节点广播最优节点的异常关机信息;网络中除最优节点外的其他节点接收到最优节点的异常关机信息之后,转入步骤4重新选取最优节点启动任务t,完成任务转移处理过程。
[0027]有益效果:
[0028](I)多维任务调度,本发明在调度任务在哪个节点运行时采用多维负载参考方法,不仅仅依赖单一的负载指标,而是从任务个数、CPU、内存、硬盘等对任务运行情况有显著影响的几个方面全面综合考虑,并针对多种负载指标的优先级进行任务调度,以便选择最优节点来执行任务,同时该方法能够多个节点并行执行,适用于并行处理。
[0029](2)灵活,本发明可以针对不同任务的特点选择更适合任务运行的节点,通过为每个任务设置负载优先级等配置信息,优先满足任务亟需的指标,既适用于同类型任务调度应用,也适合于任务类型不同和所需运行环境不同的并行处理应用。
[0030](3)此外,在任务出现故障中断或节点发生故障关机时本发明可以调度任务在原节点继续运行或在其他节点上重新启动。【专利附图】

【附图说明】
[0031]图1为本发明方法流程图。
【具体实施方式】
[0032]下面结合附图并举实施例,对本发明进行详细描述。
[0033]本发明提供了一种无中心节点计算机网络的任务调度方法,综合考虑任务的不同运行需求,在网络中的各节点之间维护统一的节点负载表,通过为每个任务设置优先级不同的各类负载要求,在任务启动及任务转移过程中,由各节点自动判断是否为任务运行的最优节点,最终由最优节点负责任务的运行。
[0034]实施例1
[0035]本发明提供的一种无中心节点计算机网络的任务调度方法包括如下步骤:
[0036]步骤1、建立一个无中心节点的计算机网络,所建立的网络中具有k个节点,对这k个节点进行I至k的编号,记为N1?Nk。
[0037]每个节点中均存储有节点负载表,节点负载表中记载有该网络中所有节点对应的实时负载状态,其中负载状态包括已启动的任务的数目、CPU剩余可用量、内存剩余可用量以及硬盘剩余可用量。
[0038]其中本实施例中各节点均定期通信,以获取所有节点的实时负载状态更新节点负载表。在本实施例中为了能够使节点负载表能够对节点有所标识,还在节点负载表中还具有节点编号、IP地址以及开关机状态和已启动的任务信息。
[0039]步骤2、客户端向所述网络中所有节点发起广播任务t的启动请求;
[0040]步骤3、网络中每个节点在接收到任务t的启动请求后,均可解析该请求,并获得任务t的负载要求以及客户端为各负载要求指定的优先级,其中负载要求包括已启动的任务的数目、CPU剩余可用量、内存剩余可用量以及硬盘剩余可用量,优先级从I开始,数值越高,表示优先级越低。本实施例中,为已启动的任务的数目、CPU剩余可用量、内存剩余可用量以及硬盘剩余可用量分别指定的优先级依次为1、2、3和4,其中I为最高优先级,4为最低优先级。在本实施例中,任务的启动请求中还可能包括部署应用软件和启停标志等有关任务执行的各信息。
[0041 ] 步骤4、令C=I,选择所有节点作为候选最优节点,任务t的负载要求中最低优先级级数为U,进入步骤5;
[0042]步骤5、由节点负载表获取所有候选最优节点中对应该优先级为C的负载状态,并进行对比,转入步骤6 ;
[0043]步骤6、若仅存在候选最优节点%,其对应优先级为C的负载状态最优,则转入步骤7 ;
[0044]若存在多个候选最优节点,其对应优先级为C的负载状态相同且均为最优,则更新候选最优节点为该处所述多个候选最优节点,则转到步骤8。
[0045]其中本实施例中所说的负载状态最优具体为:已启动的任务的数目最小为最优,CPU剩余可用量、内存剩余可用量以及硬盘剩余可用量最大为最优。
[0046]步骤7、候选最优节点Nj是运行任务t的最优节点,转到步骤10 ;[0047]步骤8、判断C是否小于U,如果是,则表明还没有进行到最低的优先级,且令C的值自增1,返回步骤5,否则转到步骤9。
[0048]步骤9、在候选最优节点中选择编号最小或者最大的节点为最优节点。
[0049]在本步骤中,由于所有节点同时运行本流程,编号最大或者最小的那个保留节点可以主动判断自身为最优节点。
[0050]步骤10、使用最优节点启动任务t。
[0051]本实施例中,以上步骤是从任务的优先级最高的一类负载要求开始选择候选最优节点,即从优先级为I的开始,逐渐缩小候选最优节点的范围,最终选出一个能够满足所有负载要求的最优节点。可以本发明在进行任务调度时,可以对多种负载要求根据其优先级进行最优节点的选择,达到了多维因素、全面综合的进行任务调度的目的。
[0052]实施例2
[0053]根据实施例1中提供的方案,虽然步骤I?步骤10实现了最优节点的选取以及使用最优节点启动任务t的目的,而若在运行过程中,任务t发生故障中断,则需要由运行任务的最优节点去检测任务的故障,并再次运行任务。具体过程如下:
[0054]步骤10中,最优节点启动任务t之后,还包括如下步骤:
[0055]最优节点实时监测着任务t的运行状态,当出现任务t运行不正常的情况,则保存任务运行断点,最优节点重新启动任务t,并使任务t从断点处开始运行。
[0056]实施例3
[0057]根据实施例1中提供的方案,若在任务t的运行过程中,当运行该任务t的最优节点发生故障异常关机时,则需要重新选择最优节点再进行任务的执行。因此需要使用监控节点对最优节点进行监控,若产生最优节点异常关机的状况,使用监控节点广播并进行状态更新,网络中其他节点根据节点负载表获取故障节点上运行的任务,根据记录的任务配置信息和当前时刻网络中所有节点的负载信息,再次判定是否为当前任务运行的最优节点,由最优节点重新启动任务运行。因此在步骤10中,最优节点启动任务t之后,还包括如下步骤:
[0058]设置监测节点实时监测最优节点的状态,若最优节点异常关机,则向网络中所有节点广播最优节点的异常关机信息;网络中除最优节点外的其他节点接收到最优节点的异常关机信息之后,转入步骤4重新选取最优节点启动任务t,完成任务转移处理过程。
[0059]综合实施例2和3,在任务出现故障中断或节点发生故障关机时本发明可以调度任务在原节点继续运行或在其他节点上重新启动,因此任务调度灵活满足了无中心节点网络的任务调度需求。
[0060]综上所述,以上仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
【权利要求】
1.一种无中心节点计算机网络的任务调度方法,其特征在于,该方法包括如下步骤: 步骤1、建立一个无中心节点的计算机网络,所述网络中具有k个节点,对所述k个节点进行I至k的编号,记为N1?Nk ;每个节点中均存储有节点负载表,所述节点负载表中记载所有节点实时负载状态,其中负载状态包括已启动的任务的数目、CPU剩余可用量、内存剩余可用量以及硬盘剩余可用量; 所述各节点均定期通信,以获取所有节点的实时负载状态更新节点负载表; 步骤2、客户端向所述网络中所有节点广播任务t的启动请求; 网络中每个节点执行如下步骤3?步骤10 ; 步骤3、网络中每个节点在接收到任务t的启动请求后,解析该请求,获得任务t的负载要求以及客户端为各负载要求指定的优先级,所述负载要求包括已启动的任务的数目、CPU剩余可用量、内存剩余可用量以及硬盘剩余可用量,所述优先级从I开始,数值越高,表示优先级越低; 步骤4、令C=I,选择所有节点作为候选最优节点,任务t的负载要求中最低优先级级数为U,进入步骤5 ; 步骤5、由节点负载表获取所有候选最优节点中对应该优先级为C的负载状态,并进行对比,转入步骤6 ; 步骤6、在候选最优节点中,若仅存在节点%,其对应优先级为C的负载状态最优,则转入步骤7 ; 在候选最优节点中,若存在多个节点,其对应优先级为C的负载状态相同且均为最优,则更新候选最优节点为该处所述多个节点,则转到步骤8 ; 所述负载状态最优具体为:已启动的任务的数目最小为最优,CPU剩余可用量、内存剩余可用量以及硬盘剩余可用量最大为最优; 步骤7、节点%是运行任务t的最优节点,转到步骤10 ; 步骤8、判断C是否小于U,如果是,则令C的值自增1,返回步骤5,否则转到步骤9 ; 步骤9、在候选最优节点中选择编号最小或者最大的节点为最优节点; 步骤10、最优节点启动任务t。
2.如权利要求1所述的一种无中心节点计算机网络的任务调度方法,其特征在于,所述步骤10中,最优节点启动任务t之后,还包括如下步骤: 最优节点实时监测着任务t的运行状态,若任务t运行不正常,则保存任务运行断点,同时最优节点重新启动任务t,并使任务t从断点处开始运行。
3.如权利要求1或2所述的一种无中心节点计算机网络的任务调度方法,其特征在于,所述步骤10中,最优节点启动任务t之后,还包括如下步骤: 设置监测节点实时监测最优节点的状态,若最优节点异常关机,则向网络中所有节点广播最优节点的异常关机信息;网络中除最优节点外的其他节点接收到最优节点的异常关机信息之后,转入步骤4重新选取最优节点启动任务t,完成任务转移处理过程。
【文档编号】H04L12/24GK103746838SQ201310741037
【公开日】2014年4月23日 申请日期:2013年12月26日 优先权日:2013年12月26日
【发明者】丁一鸣, 林川, 王苏岳 申请人:华北计算技术研究所
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1