1.一种数据感知的任务调度方法,其特征在于,包括如下步骤:
步骤1基于分布式系统基础架构建立n-1级调度模型并确定对应的调度策略,针对第n级调度模型嵌入执行mapreduce,为map任务调度策略选中特定任务队列并选则的特定作业,启动map任务并执行,其中n为大于1的正整数;
步骤2获得执行map任务的任务调度器节点的信息,所述任务调度器节点的信息至少包括包括节点的编号以及节点在拓扑图中的位置层次;
步骤3判断作业的map任务是否分布在集群拓扑图中的同一层次上,若是,则从这一层的节点中选择出最优的节点,选择时优先选择执行map任务的节点,若执行map任务的节点上没有空闲的资源,则选择这一层上有空闲资源的其他节点并输出,跳转到步骤6执行;若否,则进行下一步的判断;
步骤4若作业的map任务在根节点的两棵子树中分布不均衡,则剪掉执行map任务数量少的分枝,以剩下的分枝的祖先节点为新的根节点,跳转到步骤3继续执行;
步骤5若作业的map任务在根节点的两棵子树中分布均衡,则剪掉子树深度较大的一个分枝,以剩下的分枝的祖先节点为新的根节点,跳转到步骤3继续执行;
步骤6准备调度作业的reduce任务到输出的最优节点上执行;
步骤7reduce任务获得reduce资源队列执行直至运行结束。
2.根据权利要求1所述的数据感知的任务调度方法,其特征在于,所述步骤1中分布式系统基础架构为hadoop。
3.根据权利要求1或2所述的数据感知的任务调度方法,其特征在于,所述步骤1中n=3,在分布式系统基础架构为hadoop时,使用hadoop默认的公平调度器作为第一级调度策略、第二级调度策略并嵌入map任务调度策略为第三级,map任务调度策略选中特定队列中的特定作业,启动map任务并执行。
4.根据权利要求1所述的数据感知的任务调度方法,其特征在于,所述步骤1执行时,在同一阶段下map任务调度策略在特定任务队列中选择的特定任务数量为1。
5.根据权利要求4所述的数据感知的任务调度方法,其特征在于,所述同一阶段为同一时钟节点或同一次算法执行过程。
6.根据权利要求1所述的数据感知的任务调度方法,其特征在于,所述步骤3中判断作业的map任务是否分布在集群拓扑图中的同一层次上限定为非终端节点的左子树、右子树的深度差的绝对值不超过1。
7.根据权利要求6所述的数据感知的任务调度方法,其特征在于,所述步骤3中判断作业的map任务是否分布在集群拓扑图中的同一层次上包括如下情形两棵子树的深度相同或者其中一棵子树的深度比另一棵子树的深度多1。
8.根据权利要求1所述的数据感知的任务调度方法,其特征在于,所述步骤2中执行map任务的任务调度器节点为tasktracker节点,并构成tasktracker节点集合。
9.根据权利要求8所述的数据感知的任务调度方法,其特征在于,所述tasktracker节点集合中每个tasktracker节点均含有空闲的reduceslot资源。