本发明涉及遥感产品生产调度领域,尤其涉及一种基于优先级的遥感产品生产调度方法。
背景技术:
目前,随着卫星事业的蓬勃发展,遥感数据的数量呈现指数增长。针对于不同的业务需求,需要对遥感数据进行处理和生产操作。如何大批量、高速的处理数据,是目前急需解决的问题。为了满足遥感产品生产任务量大、流程复杂的需求,系统采用集群调度的方式,对系统收到的任务进行调度和分配。所以,如何实现有效的调度,对系统的资源科学的利用,提高遥感产品生产速度与效率,是目前正在研究的问题。
现有技术方案支持“先来先服务”的调度策略,当有新任务到达调度服务器时,调度服务器根据“先来先服务”的处理策略,将任务派发给第一个空闲计算节点,具体的实现步骤如下:
现有技术方案执行步骤如下,如图1所示:
调度服务器接收遥感产品生产订单,检查空闲计算节点队列是否为空,如果为空,调度服务器将订单防御订单缓存区。否则,将任务分配给空闲计算节点队列中第一个节点。
计算节点执行生产任务,同时调度服务器将此节点从空闲队列中移出,加入工作计算节点队列。直至计算节点完成任务的生产,重新加入至空闲队列。
调度服务器检查待执行订单缓存区中是否有订单,如果有,将订单分配给空闲节点。
现有的调度策略是“先来先服务”,对现有的技术方案缺陷总结如下:
资源浪费:当有任务对计算节点的资源需求较高时,计算节点无法满足,相反,将对资源需求较低的任务分配给再生产能力较高的节点,是对计算节点资源的一种浪费。
实用性较低:由于“先来先服务”的调度生产策略,相对紧急的任务不能较快完成,缺乏实时性。
技术实现要素:
本发明所要解决的技术问题是提供一种基于优先级的遥感产品生产调度方法,解决生产规模较小、对于应急任务,不能较快完成及不能充分利用服务器资源的问题。
本发明解决上述技术问题的技术方案如下:一种基于优先级的遥感产品生产调度方法,包括如下步骤:
s1、对订单任务进行队列分类;
s2、调度服务器根据计算每个队列里的订单任务优先级,并进行递减排序;
s3、生产节点计算自身是否具备接受订单任务再生产的能力,并向调度服务器实时发送;
s4、调度服务器向具备再生产能力的生产节点以优先级由高到底的顺序发送订单任务,依次处理。
进一步,所述步骤s1中,订单任务队列分类方式为:
对订单任务优先级进行判断,如果订单任务优先级为应急,则将订单任务加入到应急任务队列中,如果订单任务优先级为普通任务,则将订单任务加入至普通任务队列中。
进一步,所述步骤s2中,调度服务器根据各个订单任务的基本信息,在应急队列和普通队列中,计算各个订单任务的优先级,并进行递减排序。
进一步,所述步骤s4中,调度服务器从应急队列中选取优先级最高的任务,依次分配给再生产能力最高的节点,直至应急队列为空,再将普通队列的任务依次分配给各个节点。
进一步,所述步骤s3与步骤s4之间还包括步骤3-a,所述调度服务器对各个生产节点的再生产能力进行递减排序。
进一步,所述步骤s2中,判断应急队列和普通队列中各个订单任务的优先级的具体步骤如下:
t1:调度服务器首先检查所有任务的预计完成时间,如果预计完成时间超过任务的完成时间期限,则将该任务的优先级提高,重新加入至应急队列当中,当所有任务的预计完成时间皆比时间期限提前时,进入步骤t2;
t2:调度服务器首先检查应急队列是否为空,当应急队列为空时,直接进入步骤t3,否则,调度服务器依次对应急队列中任务进行优先级计算,并进行递减排序;
t3:调度服务器首先对普通任务队列进行检查,查看普通任务队列是否为空,如果为空,直接返回步骤t2。否则,调度服务器依次对普通队列中任务进行优先级计算,并进行递减排序。
进一步,所述步骤s2中,优先级的计算公式为:
其中:di:数据量的大小(mb),ti:任务生成距离当前时间已过去的秒数(second),ni:任务的紧急程度,系数u1、u2:二个参数项所占的权值。
进一步,所述步骤s3中,节点再生产能力的计算公式为:
其中:mi:节点服务器的可用内存,ci:节点服务器的主频,xi:节点正在执行的任务数量,yi:节点等待执行的任务数量,系数w1:节点的可用内存对节点再生产能力的影响权重,系数w2:节点服务器的主频对节点再生产能力的影响权重,系数w3:正在执行的任务数量对节点再生产能力的影响权重,系数w4:等待执行的任务数量对节点再生产能力的影响权重。
本发明提供一种基于优先级的遥感产品生产调度方法,包括如下步骤:
s1、对订单任务进行队列分类;
s2、调度服务器根据计算每个队列里的订单任务优先级,并进行递减排序;
s3、生产节点计算自身是否具备接受订单任务再生产的能力,并向调度服务器实时发送;
s4、调度服务器向具备再生产能力的生产节点以优先级由高到底的顺序发送订单任务,依次处理。
这样,采用基于优先级的调度生产方法,能够明显看到遥感任务的生产时间缩短,效率有所提高;同时,每个计算节点服务器的计算资源也能够充分利用;一些对时间要求较高的任务,能够以应急任务的角色出现,被快速执行完成。
附图说明
图1为本发明一种基于优先级的遥感产品生产调度方法背景技术中的传统调度方法流程示意图;
图2为本发明一种基于优先级的遥感产品生产调度方法流程示意图;
图3为本发明一种基于优先级的遥感产品生产调度方法实施例流程示意图。
具体实施方式
以下结合附图对本发明的原理和特征进行描述,所举实例只用于解释本发明,并非用于限定本发明的范围。
如图2、图3所示,本发明提供一种基于优先级的遥感产品生产调度方法,包括如下步骤:
s1、对订单任务进行队列分类;
s2、调度服务器根据计算每个队列里的订单任务优先级,并进行递减排序;
s3、生产节点计算自身是否具备接受订单任务再生产的能力,并向调度服务器实时发送;
s4、调度服务器向具备再生产能力的生产节点以优先级由高到底的顺序发送订单任务,依次处理。
这样,采用基于优先级的调度生产方法,能够明显看到遥感任务的生产时间缩短,效率有所提高;同时,个计算节点服务器的计算资源也能够充分利用;一些对时间要求较高的任务,能够以应急任务的角色出现,被快速执行完成。
实施例
如图2、图3所示,本发明提供了一种基于优先级的遥感产品生产调度策略,保持集群各个节点的负载均衡的同时,充分利用各个节点的资源,提高遥感产品生产的效率,最终使得遥感产品能够高速、批量的生产。
为实现本发明目的,本发明所采用的技术方案如下:
一种基于优先级的遥感产品生产调度策略,运行步骤如下:
当集群调度服务器接到新的遥感产品生产任务时,首先对其优先级进行判断,如果其任务优先级为应急,则将其加入到应急任务队列中,如果为普通任务,则将其加入至普通任务队列中。然后进入步骤2。
调度服务器根据各个任务的基本信息,在应急队列和普通队列中,计算各个任务优先级,并进行递减排序。然后进入步骤3。
各个生产节点计算自身可接受任务的再生产能力,并向调度服务器实时发送,调度服务器对各个生产节点的再生产能力进行递减排序,不具备再生产能力的节点暂时移除,待恢复后再加入。然后进入步骤4。
调度服务器从应急队列中选取优先级最高的任务,依次分配给再生产能力最高的节点。直至应急队列为空,再将普通队列的任务依次分配给各个节点。
其中步骤2中包含的步骤如下:
t2调度服务器首先检查所有任务的预计完成时间,如果预计完成时间超过任务的完成时间期限,则将该任务的优先级提高,重新加入至应急队列当中。当所有任务的预计完成时间皆比时间期限提前时,进入步骤2.2。
2.2调度服务器首先检查应急队列是否为空,当应急队列为空时,直接进入步骤2.3。否则,调度服务器依次对应急队列中任务进行优先级计算,并进行递减排序。
2.3调度服务器首先对普通任务队列进行检查,查看普通任务队列是否为空,如果为空,直接返回步骤t2。否则,调度服务器依次对普通队列中任务进行优先级计算,并进行递减排序。
上述的步骤2中,调度服务器根据任务的基本信息,对任务进行优先级的计算。
其中di指的是数据量的大小(mb),ti表示任务生成距离当前时间已过去的秒数(second),ni表示此任务的紧急程度,可分为100,1000,10000三个档次。其系数u1、u2分别表示二个参数项所占的权值u1=0.4,u2=0.6,u1 u2=1。
上述的步骤3中,各节点计算自身的再生产能力pi。
其中mi指的是节点服务器的可用内存,ci为节点服务器的主频,xi表示此节点正在执行的任务数量,yi为此节点等待执行的任务数量,其系数w1、w2、w3、w4分别为节点的可用内存、节点服务器的主频、正在执行的任务数量、等待执行的任务数量对节点再生产能力的影响权重,四者之和为1。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
1.一种基于优先级的遥感产品生产调度方法,其特征在于,包括如下步骤:
s1、对订单任务进行队列分类;
s2、调度服务器根据计算每个队列里的订单任务优先级,并进行递减排序;
s3、生产节点计算自身是否具备接受订单任务再生产的能力,并向调度服务器实时发送;
s4、调度服务器向具备再生产能力的生产节点以优先级由高到底的顺序发送订单任务,依次处理。
2.根据权利要求1所述的基于优先级的遥感产品生产调度方法,其特征在于,所述步骤s1中,订单任务队列分类方式为:
对订单任务优先级进行判断,如果订单任务优先级为应急,则将订单任务加入到应急任务队列中,如果订单任务优先级为普通任务,则将订单任务加入至普通任务队列中。
3.根据权利要求2所述的基于优先级的遥感产品生产调度方法,其特征在于,所述步骤s2中,调度服务器根据各个订单任务的基本信息,在应急队列和普通队列中,计算各个订单任务的优先级,并进行递减排序。
4.根据权利要求3所述的基于优先级的遥感产品生产调度方法,其特征在于,所述步骤s4中,调度服务器从应急队列中选取优先级最高的任务,依次分配给再生产能力最高的节点,直至应急队列为空,再将普通队列的任务依次分配给各个节点。
5.根据权利要求4所述的基于优先级的遥感产品生产调度方法,其特征在于,所述步骤s3与步骤s4之间还包括步骤3-a,所述调度服务器对各个生产节点的再生产能力进行递减排序。
6.根据权利要求3所述的基于优先级的遥感产品生产调度方法,其特征在于,所述步骤s2中,判断应急队列和普通队列中各个订单任务的优先级的具体步骤如下:
t1:调度服务器首先检查所有任务的预计完成时间,如果预计完成时间超过任务的完成时间期限,则将该任务的优先级提高,重新加入至应急队列当中,当所有任务的预计完成时间皆比时间期限提前时,进入步骤t2;
t2:调度服务器首先检查应急队列是否为空,当应急队列为空时,直接进入步骤t3,否则,调度服务器依次对应急队列中任务进行优先级计算,并进行递减排序;
t3:调度服务器首先对普通任务队列进行检查,查看普通任务队列是否为空,如果为空,直接返回步骤t2;否则,调度服务器依次对普通队列中任务进行优先级计算,并进行递减排序。
7.根据权利要求1所述的基于优先级的遥感产品生产调度方法,其特征在于,所述步骤s2中,优先级的计算公式为:
其中:di:数据量的大小(mb),ti:任务生成距离当前时间已过去的秒数(second),ni:任务的紧急程度,系数u1、u2:二个参数项所占的权值。
8.根据权利要求1所述的基于优先级的遥感产品生产调度方法,其特征在于,所述步骤s3中,节点再生产能力的计算公式为:
其中:pi:节点再生产能力,mi:节点服务器的可用内存,ci:节点服务器的主频,xi:节点正在执行的任务数量,yi:节点等待执行的任务数量,系数w1:节点的可用内存对节点再生产能力的影响权重,系数w2:节点服务器的主频对节点再生产能力的影响权重,系数w3:正在执行的任务数量对节点再生产能力的影响权重,系数w4:等待执行的任务数量对节点再生产能力的影响权重。
技术总结