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

技术编号:9977098 阅读:104 留言:0更新日期:2014-04-28 18:48
本发明专利技术公开了一种无中心节点计算机网络的任务调度方法,属于计算机网络领域,该方法包括如下步骤:建立一个无中心节点的计算机网络,具有节点N1~Nk,每个节点维护一个节点负载表,表中记载所有节点的各类负载的数目;客户端向所有节点广播任务t的启动请求;节点对启动请求解析获得完成t的负载要求及其优先级;令C=1,以所有节点为候选节点,进行如下判断:若候选节点中仅一个节点C级负载要求最优,则该节点为最优节点;若多个节点C级负载要求最优,则该多个节点为新的候选节点;C自增1,重复上述判断,直至选出最优节点,若达到最低优先级仍具有多个候选节点,则候选节点中编号最大或最小的节点为最优节点,实现了任务调度。

【技术实现步骤摘要】
一种无中心节点计算机网络的任务调度方法
本专利技术涉及一种无中心节点计算机网络的任务调度方法,属于计算机网络领域,适用于无中心控制节点或关键节点的计算机网络,尤其适用于并行处理应用的无中心节点计算机网络。
技术介绍
目前,并行处理应用主要采用的网络架构有两种:一种为计算机集群网络,另一种为无中心节点的计算机网络。对于计算机集群网络来说,包括集群管理节点和集群计算节点几类不同用途的网络节点。其中,集群管理节点用来分配和管理集群系统的用户帐号和权限,管理节点安装集群管理软件,作为主节点对整个集群进行监控、管理和作业调度等工作;集群计算节点用于科学计算,运行并行计算程序,是计算机集群网络的主体。在计算机集群网络中,是由集群管理节点统一实现对集群计算节点的状态监控和作业调度等,即集群管理节点是网络中的中心节点或关键节点,如果集群管理节点出现故障,则导致整个计算机集群网络处于瘫痪状态,因此为了提高计算机集群网络的可靠性,通常都是用两台互为热备的服务器作为集群管理节点,但是仍然会存在着网络整体瘫痪的可能性。无中心节点的计算机网络可以避免集群网络的这种问题,对于无中心节点计算机网络来说,网络中的各计算机在控制地位上是平等的,没有主备之分,当有新任务发起或有计算机出现故障时,由各计算机自行发起任务调度控制。任意一台或者几台计算机节点出现故障都不会影响网络完成并行处理应用的能力。然而目前无中心节点的计算机网络大多研究重点都在无线传感器网络,无线传感器网络在实际应用时节点数量众多、分布密集,相邻节点之间产生的冗余数据很多,无线传感器网络的任务调度方法并不适用于计算机网络,而通常计算机网络的任务调度方法仅考虑某一个方面的影响,因此需要一种针对无中心节点的计算机网络的多维全面的任务调度方法。
技术实现思路
有鉴于此,本专利技术提供了一种无中心节点计算机网络的任务调度方法,该方法考虑多维因素、综合全面的任务调度方法,适用于并行处理应用,以解决无线传感器网络的任务调度方法不适用于计算机网络以及现有任务调度方法考虑方面单一不够全面的问题。为达到上述目的,本专利技术的技术方案为:一种无中心节点计算机网络的任务调度方法,该方法包括如下步骤:步骤1、建立一个无中心节点的计算机网络,所述网络中具有k个节点,对所述k个节点进行1至k的编号,记为N1~Nk;每个节点中均存储有节点负载表,所述节点负载表中记载所有节点实时负载状态,其中负载状态包括已启动的任务的数目、CPU剩余可用量、内存剩余可用量以及硬盘剩余可用量;各节点均定期通信,以获取所有节点的实时负载状态更新节点负载表;步骤2、客户端向上述网络中所有节点广播任务t的启动请求;网络中每个节点执行如下步骤3~步骤10;步骤3、网络中每个节点在接收到任务t的启动请求后,解析该请求,获得任务t的负载要求以及客户端为各负载要求指定的优先级,所述负载要求包括已启动的任务的数目、CPU剩余可用量、内存剩余可用量以及硬盘剩余可用量,所述优先级从1开始,数值越高,表示优先级越低;步骤4、令C=1,选择所有节点作为候选最优节点,任务t的负载要求中最低优先级级数为U,进入步骤5;步骤5、由节点负载表获取所有候选最优节点中对应该优先级为C的负载状态,并进行对比,转入步骤6;步骤6、在候选最优节点中,若仅存在节点Nj,其对应优先级为C的负载状态最优,则转入步骤7;在候选最优节点中,若存在多个节点,其对应优先级为C的负载状态相同且均为最优,则更新候选最优节点为该处所述多个节点,则转到步骤8;负载状态最优具体为:已启动的任务的数目最小为最优,CPU剩余可用量、内存剩余可用量以及硬盘剩余可用量最大为最优;步骤7、节点Nj是运行任务t的最优节点,转到步骤10;步骤8、判断C是否小于U,如果是,则令C的值自增1,返回步骤5,否则转到步骤9;步骤9、在候选最优节点中选择编号最小或者最大的节点为最优节点;步骤10、最优节点启动任务t。进一步地,步骤10中,最优节点启动任务t之后,还包括如下步骤:最优节点实时监测着任务t的运行状态,若任务t运行不正常,则保存任务运行断点,同时最优节点重新启动任务t,并使任务t从断点处开始运行。进一步地,步骤10中,最优节点启动任务t之后,还包括如下步骤:设置监测节点实时监测最优节点的状态,若最优节点异常关机,则向网络中所有节点广播最优节点的异常关机信息;网络中除最优节点外的其他节点接收到最优节点的异常关机信息之后,转入步骤4重新选取最优节点启动任务t,完成任务转移处理过程。有益效果:(1)多维任务调度,本专利技术在调度任务在哪个节点运行时采用多维负载参考方法,不仅仅依赖单一的负载指标,而是从任务个数、CPU、内存、硬盘等对任务运行情况有显著影响的几个方面全面综合考虑,并针对多种负载指标的优先级进行任务调度,以便选择最优节点来执行任务,同时该方法能够多个节点并行执行,适用于并行处理。(2)灵活,本专利技术可以针对不同任务的特点选择更适合任务运行的节点,通过为每个任务设置负载优先级等配置信息,优先满足任务亟需的指标,既适用于同类型任务调度应用,也适合于任务类型不同和所需运行环境不同的并行处理应用。(3)此外,在任务出现故障中断或节点发生故障关机时本专利技术可以调度任务在原节点继续运行或在其他节点上重新启动。附图说明图1为本专利技术方法流程图。具体实施方式下面结合附图并举实施例,对本专利技术进行详细描述。本专利技术提供了一种无中心节点计算机网络的任务调度方法,综合考虑任务的不同运行需求,在网络中的各节点之间维护统一的节点负载表,通过为每个任务设置优先级不同的各类负载要求,在任务启动及任务转移过程中,由各节点自动判断是否为任务运行的最优节点,最终由最优节点负责任务的运行。实施例1本专利技术提供的一种无中心节点计算机网络的任务调度方法包括如下步骤:步骤1、建立一个无中心节点的计算机网络,所建立的网络中具有k个节点,对这k个节点进行1至k的编号,记为N1~Nk。每个节点中均存储有节点负载表,节点负载表中记载有该网络中所有节点对应的实时负载状态,其中负载状态包括已启动的任务的数目、CPU剩余可用量、内存剩余可用量以及硬盘剩余可用量。其中本实施例中各节点均定期通信,以获取所有节点的实时负载状态更新节点负载表。在本实施例中为了能够使节点负载表能够对节点有所标识,还在节点负载表中还具有节点编号、IP地址以及开关机状态和已启动的任务信息。步骤2、客户端向所述网络中所有节点发起广播任务t的启动请求;步骤3、网络中每个节点在接收到任务t的启动请求后,均可解析该请求,并获得任务t的负载要求以及客户端为各负载要求指定的优先级,其中负载要求包括已启动的任务的数目、CPU剩余可用量、内存剩余可用量以及硬盘剩余可用量,优先级从1开始,数值越高,表示优先级越低。本实施例中,为已启动的任务的数目、CPU剩余可用量、内存剩余可用量以及硬盘剩余可用量分别指定的优先级依次为1、2、3和4,其中1为最高优先级,4为最低优先级。在本实施例中,任务的启动请求中还可能包括部署应用软件和启停标志等有关任务执行的各信息。步骤4、令C=1,选择所有节点作为候选最优节点,任务t的负载要求中最低优先级级数为U,进入步骤5;步骤5、由节点负载表获取所有候选最本文档来自技高网
...
一种无中心节点计算机网络的任务调度方法

【技术保护点】

【技术特征摘要】
1.一种无中心节点计算机网络的任务调度方法,其特征在于,该方法包括如下步骤:步骤1、建立一个无中心节点的计算机网络,所述网络中具有k个节点,对所述k个节点进行1至k的编号,记为N1~Nk;每个节点中均存储有节点负载表,所述节点负载表中记载所有节点实时负载状态,其中负载状态包括已启动的任务的数目、CPU剩余可用量、内存剩余可用量以及硬盘剩余可用量;所述k个节点均定期通信,以获取所有节点的实时负载状态更新节点负载表;步骤2、客户端向所述网络中所有节点广播任务t的启动请求;网络中每个节点执行如下步骤3~步骤10;步骤3、网络中每个节点在接收到任务t的启动请求后,解析该请求,获得任务t的负载要求以及客户端为各负载要求指定的优先级,所述负载要求包括已启动的任务的数目、CPU剩余可用量、内存剩余可用量以及硬盘剩余可用量,所述优先级从1开始,数值越高,表示优先级越低;步骤4、令C=1,选择所有节点作为候选最优节点,任务t的负载要求中最低优先级级数为U,进入步骤5;步骤5、由节点负载表获取所有候选最优节点中对应该优先级为C的负载状态,并进行对比,转入步骤6;步骤6、在候选最优节点中,若仅存在节点Nj,其对应优先级为C的负载状态最优,则转入步骤7;在候选最优节点中,若存在...

【专利技术属性】
技术研发人员:丁一鸣林川王苏岳
申请(专利权)人:华北计算技术研究所
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1