CN105227616B - 一种遥感卫星地面处理系统任务动态创建与分配的方法 - Google Patents
一种遥感卫星地面处理系统任务动态创建与分配的方法 Download PDFInfo
- Publication number
- CN105227616B CN105227616B CN201410315639.9A CN201410315639A CN105227616B CN 105227616 B CN105227616 B CN 105227616B CN 201410315639 A CN201410315639 A CN 201410315639A CN 105227616 B CN105227616 B CN 105227616B
- Authority
- CN
- China
- Prior art keywords
- task
- node
- order
- remote sensing
- processing system
- 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.)
- Active
Links
Landscapes
- Mobile Radio Communication Systems (AREA)
Abstract
一种遥感卫星地面处理系统任务动态创建与分配的方法,包括:通过实验估算各项任务的任务消耗值、各个节点的节点能力值;创建配置文件定义节点信息表、订单信息表、任务信息表和订单分解表;通过订单分解表建立初始任务队列;实时收集遥感卫星地面处理系统各个节点的剩余能力值;遍历任务队列,将队列中的任务按其最小数目创建,计算节点剩余能力值是否大于任务消耗值;再按任务单次增长数目进行任务创建;直到节点剩余能力值为0或所有任务均达到其最大数目;任务一旦创建成功,就根据节点信息表将任务下发到相应的节点上。通过本方法,该系统根据当前节点情况,动态计算各类任务的数目,缩短数据处理过程的执行时间,使系统资源得到充分利用。
Description
技术领域
本发明属于分布式系统任务调度领域,是一种可以根据系统中各个节点的当前工作能力,以及任务分配要求,动态完成任务创建与分配过程的方法,能够使分布式系统资源得到最大化利用。
背景技术
近年来,随着我国卫星事业的快速发展,遥感卫星地面处理系统从单星单站发展成单星多站、多星多站,处理任务与日俱增。需要相应的任务调度过程,能够根据系统的节点数量和能力,动态进行任务创建和分配,最大化提高系统并发性,充分发挥系统能力,并具有一定的灵活性。将异构任务调度到异构资源上的问题属于任务调度问题,存在许多任务调度问题具体实例的启发式算法,如网格计算中的遗传算法、按优先级顺序调度、轮转法、负载最小优先算法,更多的是讨论任务集合中任务数量一定的情况下,如何进行任务分配,能够使总体执行时间最短、或是使任务的等待时间最短、或是使传输时间最短。而遥感卫星地面处理系统需要根据系统能力动态进行任务的创建,每类任务的数量在进行任务分配之前是不确定的,同时还要满足某些任务按固定节点执行、某些任务按固定数量执行、某些任务之间的数量有约束关系等要求。因此,需要设计相应的方法,满足系统要求并易于工程实现。
发明内容
本发明的技术解决问题是:根据分布式系统中各个节点的当前工作能力,以及任务分配要求,合理完成遥感卫星地面处理系统中任务的创建与分配,保证系统资源的最大利用。
该方法主要包括以下步骤:
(1)该系统由多台型号相同或不同的服务器组成,服务器之间通过千兆交换机实现网络相通;选定其中一台服务器为主节点,其余服务器为处理节点;
(2)主节点完成任务的动态创建与分配过程,处理节点接收并完成主节点分配的任务,主节点和处理节点之间通过WebService方式通讯;
(3)主节点建立节点信息配置表NodeConfig,包括:节点代号NodeID、节点名NodeName、节点上可运行的任务代号TaskID、节点IP地址IPAddress、节点服务端口Port、节点能力值NodeCapacity;
(4)主节点建立订单配置表OrderConfig,包括:订单代号OrderID、订单名OrderName;
(5)主节点建立任务配置表TaskConfig,包括:任务代号TaskID、任务名TaskName、任务消耗值TaskCapacity;
(6)主节点建立订单任务分解配置OrderTaskXRefConfig,配置信息包括订单代号OrderID、任务代号TaskID、任务的最小数目MinNum、任务的最大数目MaxNum、任务单次增长数目AddNum;定义了每个订单需要分解的任务种类,以及每个任务的最小数目、最大数目、单次增长数目;
(7)步骤(3)中所述的节点能力值NodeCapacity和步骤(5)中所述的任务消耗值TaskCapacity是根据实验估算出的,为整数;
(8)主节点建立订单分解线程、任务下发线程;
(9)订单分解线程遍历步骤(6)中所述的订单任务分解配置OrderTaskXRefConfig,查找该订单代号OrderID所对应的所有任务代号TaskID,组成任务队列TaskList;初始情况时,任务队列TaskList中每个任务的任务数目tasknum=0;
(10)TaskList中的每个任务按步骤(6)中所述任务的最小数目MinNum创建,统计节点的剩余资源是否大于0;节点的剩余资源为节点能力值NodeCapacity之和减去所有运行任务的任务消耗值TaskCapacity之和;
(11)如果当前系统节点的剩余资源小于0,则订单不能运行,需要等待;
(12)如果当前系统节点的剩余资源大于或等于0,则TaskList中每个任务的任务数目tasknum均等于其MinNum;按MinNum创建任务,并将任务添加到任务等待队列WatingTaskList;继续按步骤(6)中所述的任务单次增长数目AddNum创建任务,将任务添加到任务等待队列WatingTaskList,每当有新任务创建成功都要重新计算系统的剩余资源,直到系统的剩余资源为0,或者所有任务都已达到OrderTaskXRefConfig中规定的任务的最大数目MaxNum;
(13)由任务下发线程,根据步骤(3)中所述的NodeConfig,将WatingTaskList中的每个任务分配到相应的处理节点上。
本发明遥感卫星地面处理系统任务动态创建与分配的方法的优点在于:
(1)静态调度和动态调度相结合的混合调度方法,过程简单,容易实现;
(2)根据系统内的节点能力,实现任务数量的动态计算,最大化发挥系统性能;
(3)可满足任务数量固定、任务数量可变、任务数量有约束关系情况下的任务创建情况;
(4)能够满足遥感卫星地面处理系统节点数量变化、任务种类变化、任务数量要求变化(任务数量固定、任务数量可变、任务数量有约束关系)的情况。
附图说明
图1为遥感卫星地面处理系统任务动态创建与分配方法的流程图;
具体实施方式
在下文中,参照附图来更充分地描述本发明的实施例,附图中示出了本发明的实施例。然而,本发明的实施例可以以许多不同的形式来实施,而不应该本解释为限于在此列出的实施例。
一种遥感卫星地面处理系统任务动态创建与分配的方法,该系统由多台型号相同或不同的服务器组成,服务器之间通过千兆交换机实现网络相通;参照图1对该方法主要步骤作出说明:
(1)首先,选定其中一台服务器为主节点,其余服务器为处理节点;
(2)主节点完成任务的动态创建与分配过程,处理节点接收并完成主节点分配的任务,主节点和处理节点之间通过WebService方式通讯;
(3)主节点建立节点信息配置表NodeConfig,包括:节点代号NodeID、节点名NodeName、节点上可运行的任务代号TaskID、节点IP地址IPAddress、节点服务端口Port、节点能力值NodeCapacity;
(4)主节点建立订单配置表OrderConfig,包括:订单代号OrderID、订单名OrderName;
(5)主节点建立任务配置表TaskConfig,包括:任务代号TaskID、任务名TaskName、任务消耗值TaskCapacity;
(6)主节点建立订单任务分解配置OrderTaskXRefConfig,配置信息包括订单代号OrderID、任务代号TaskID、任务的最小数目MinNum、任务的最大数目MaxNum、任务单次增长数目AddNum;规定了每个订单可以分解的任务,以及每个订单创建每个任务的最小数目、最大数目、单次增长数目;
(7)步骤(3)中所述的节点能力值NodeCapacity和步骤(5)中所述的任务消耗值TaskCapacity是根据实验估算出的,为整数;估算的方法为:
i.统计每个任务在运行过程中的最大使用内存Tm,即运行时所耗内存的峰值;
ii.获得各个节点的实际物理内存,设置可用系数为0.7,实际物理内存乘以可用系数为该节点的可用内存Nm;
iii.取Tm最小的任务,其Tm为Tm_min,设置该任务消耗值TaskCapacity为1,则其他任务的任务消耗值TaskCapacity=任务的Tm/Tm_min;
iv.各节点的节点能力值NodeCapacity=Nm/Tm_min;
v.取一恰当整数,乘以iii、iv步骤获得的TaskCapacity、NodeCapacity使之变为整数。
(8)主节点建立订单分解线程、任务下发线程;
(9)订单分解线程遍历步骤(6)中所述的订单任务分解配置OrderTaskXRefConfig,查找该订单代号OrderID所对应的所有任务代号TaskID,组成任务队列TaskList;初始情况时,任务队列TaskList中每个任务的任务数目tasknum=0;
(10)TaskList中的每个任务按步骤(6)中所述任务的最小数目MinNum创建,节点的剩余资源是否大于0;节点的剩余资源为节点能力值NodeCapacity之和减去所有运行任务的任务消耗值TaskCapacity之和;
(11)如果当前系统节点的剩余资源小于0,则订单不能运行,需要等待;
(12)如果当前系统节点的剩余资源大于或等于0,则TaskList中每个任务的任务数目tasknum均等于其MinNum;按MinNum创建任务,并将任务添加到任务等待队列WatingTaskList;继续按步骤(6)中所述的任务单次增长数目AddNum创建任务,将任务添加到任务等待队列WatingTaskList,每次有新任务创建成功都要重新计算系统的剩余资源,直到系统的剩余资源为0,或者所有任务都已达到OrderTaskXRefConfig中规定的任务的最大数目MaxNum;
(13)由任务下发线程,根据步骤(3)中所述的NodeConfig,将WatingTaskList中的每个任务分配到相应的处理节点上。
并且,可以通过调整步骤(6)中所述的订单任务分解配置OrderTaskXRefConfig中的任务的最小数目MinNum、任务的最大数目MaxNum、任务单次增长数目AddNum三个值,来满足系统订单对任务的组成、数量、以及数量之间的约束关系。
本发明所述的任务分配算法可以满足以下几种情况:
(1)遥感卫星地面处理系统的工作压力发生变化,需要增加或减少服务器来适应系统的处理能力的变化,可在NodeConfig中增加或删除相应的节点信息;
(2)遥感卫星地面处理系统的功能增加,如处理节点增加了传输处理任务、数据编目任务,则可处理的任务种类发生了变化,可在TaskConfig、OrderTaskXRefConfig中增加相应的任务信息;
(3)遥感卫星地面处理系统多种任务数量创建需求:
i.系统中某些任务需要和硬件绑定进行,硬件数量限制了任务的数量,则该类任务每次创建的数量需要固定,可将MinNum、MaxNum值设置为相同值,AddNum=0;
ii.系统中某些任务需要尽可能多的创建,最大化利用系统能力,可将MinNum、MaxNum设置为合理值,AddNum>0;
iii.系统中某些任务需要相互约束:如创建一个任务A,需要创建两个任务B,可将任务B的MinNum、MaxNum、AddNum三个值设置均设置为任务A对应值的2倍。
虽然已经参照本发明的特定实施例示出并描述了本发明,但是本领域技术人员将理解:在不脱离由权利要求限定的本发明的精神和范围的情况下,可在其中做出形式和细节方面的各种改变。本发明未详细阐述部分属于本领域技术人员公知的现有技术。
Claims (5)
1.一种遥感卫星地面处理系统任务动态创建与分配的方法,其特征在于该方法步骤如下:
(1)多台服务器之间通过千兆交换机实现网络相通;选定其中一台服务器为主节点,其余服务器为处理节点;
(2)主节点完成任务的动态创建与分配过程,处理节点接收并完成主节点分配的任务,主节点和处理节点之间通过WebService方式通讯;
(3)主节点建立节点信息配置表NodeConfig,包括:节点代号NodeID、节点名NodeName、节点上可运行的任务代号TaskID、节点IP地址IPAddress、节点服务端口Port、节点能力值NodeCapacity;
(4)主节点建立订单配置表OrderConfig,包括:订单代号OrderID、订单名OrderName;
(5)主节点建立任务配置表TaskConfig,包括:任务代号TaskID、任务名TaskName、任务消耗值TaskCapacity;
(6)主节点建立订单任务分解配置OrderTaskXRefConfig,配置信息包括订单代号OrderID、任务代号TaskID、任务的最小数目MinNum、任务的最大数目MaxNum、任务单次增长数目AddNum;定义了每个订单需要分解的任务种类,以及每个任务的最小数目、最大数目、单次增长数目;
(7)步骤(3)中所述的节点能力值NodeCapacity和步骤(5)中所述的任务消耗值TaskCapacity是根据实验估算出的,为整数;
(8)主节点建立订单分解线程、任务下发线程;
(9)订单分解线程遍历步骤(6)中所述的订单任务分解配置OrderTaskXRefConfig,查找该订单代号OrderID所对应的所有任务代号TaskID,组成任务队列TaskList;初始情况时,任务队列TaskList中每个任务的任务数目tasknum=0;
(10)TaskList中的每个任务按步骤(6)中所述任务的最小数目MinNum创建,统计节点的剩余资源是否大于0;节点的剩余资源为节点能力值NodeCapacity之和减去所有运行任务的任务消耗值TaskCapacity之和;
(11)如果当前系统节点的剩余资源小于0,则订单不能运行,需要等待;
(12)如果当前系统节点的剩余资源大于或等于0,则TaskList中每个任务的任务数目tasknum均等于其MinNum;按MinNum创建任务,并将任务添加到任务等待队列WatingTaskList;继续按步骤(6)中所述的任务单次增长数目AddNum创建任务,将任务添加到任务等待队列WatingTaskList,每当有新任务创建成功都要重新计算系统的剩余资源,直到系统的剩余资源为0,或者所有任务都已达到OrderTaskXRefConfig中规定的任务的最大数目MaxNum;
(13)由任务下发线程,根据步骤(3)中所述的NodeConfig,将WatingTaskList中的每个任务分配到相应的处理节点上。
2.一种如权利要求1所述的遥感卫星地面处理系统任务动态创建与分配的方法,其特征在于,步骤(7)所述估算的方法为:
i.统计每个任务在运行过程中的最大使用内存Tm,即运行时所耗内存的峰值;
ii.获得各个节点的实际物理内存,设置可用系数为0.7,实际物理内存乘以可用系数为该节点的可用内存Nm;
iii.取Tm值最小的任务,其Tm为Tm_min,设置该任务消耗值TaskCapacity为1,则其他任务的任务消耗值TaskCapacity=该任务的Tm/Tm_min;
iv.各节点的节点能力值NodeCapacity=Nm/Tm_min;
v.选取一合适整数,乘以iii、iv步骤获得的TaskCapacity、NodeCapacity使之变为整数。
3.一种如权利要求1或2所述的遥感卫星地面处理系统任务动态创建与分配的方法,其特征在于,通过调整步骤(6)中所述的订单任务分解配置OrderTaskXRefConfig中的任务的最小数目MinNum、任务的最大数目MaxNum、任务单次增长数目AddNum三个值,来满足系统订单对任务的组成、任务的数量、以及任务数量之间的约束关系的要求。
4.一种如权利要求1-2任一项所述的遥感卫星地面处理系统任务动态创建与分配的方法,其特征在于,当系统中某些任务需要和硬件绑定进行时,硬件数量限制了任务的数量,则该类任务每次创建的数量需要固定,将MinNum、MaxNum值设置为相同,AddNum=0。
5.一种如权利要求1-2任一项所述的遥感卫星地面处理系统任务动态创建与分配的方法,其特征在于,当系统中某些任务相互约束时,将相互约束任务的MinNum、MaxNum、AddNum三个值设置为相互约束的关系。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410315639.9A CN105227616B (zh) | 2014-07-03 | 2014-07-03 | 一种遥感卫星地面处理系统任务动态创建与分配的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410315639.9A CN105227616B (zh) | 2014-07-03 | 2014-07-03 | 一种遥感卫星地面处理系统任务动态创建与分配的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105227616A CN105227616A (zh) | 2016-01-06 |
CN105227616B true CN105227616B (zh) | 2018-10-30 |
Family
ID=54996288
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410315639.9A Active CN105227616B (zh) | 2014-07-03 | 2014-07-03 | 一种遥感卫星地面处理系统任务动态创建与分配的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105227616B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107402939B (zh) * | 2016-05-20 | 2020-06-09 | 平安科技(深圳)有限公司 | 保单处理方法和装置 |
CN108256671A (zh) * | 2017-12-26 | 2018-07-06 | 佛山科学技术学院 | 一种基于学习型遗传算法的多任务多资源滚动分配方法 |
CN112147924A (zh) * | 2020-08-27 | 2020-12-29 | 航天东方红卫星有限公司 | 一种高精度程控任务管理系统 |
CN113807924A (zh) * | 2021-09-24 | 2021-12-17 | 华院分析技术(上海)有限公司 | 基于批量处理算法的业务处理分配方法、系统、存储介质及设备 |
CN115033292A (zh) * | 2022-06-16 | 2022-09-09 | 北京火山引擎科技有限公司 | 模型训练方法及装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101739293A (zh) * | 2009-12-24 | 2010-06-16 | 航天恒星科技有限公司 | 一种基于多线程的卫星数据产品生产任务并行调度方法 |
CN102841816A (zh) * | 2012-07-16 | 2012-12-26 | 北京市遥感信息研究所 | 遥感图像数据并行处理的方法 |
CN102867107A (zh) * | 2012-08-16 | 2013-01-09 | 中国人民解放军国防科学技术大学 | 一种多成像卫星应急任务动态调度方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130283280A1 (en) * | 2012-04-20 | 2013-10-24 | Qualcomm Incorporated | Method to reduce multi-threaded processor power consumption |
-
2014
- 2014-07-03 CN CN201410315639.9A patent/CN105227616B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101739293A (zh) * | 2009-12-24 | 2010-06-16 | 航天恒星科技有限公司 | 一种基于多线程的卫星数据产品生产任务并行调度方法 |
CN102841816A (zh) * | 2012-07-16 | 2012-12-26 | 北京市遥感信息研究所 | 遥感图像数据并行处理的方法 |
CN102867107A (zh) * | 2012-08-16 | 2013-01-09 | 中国人民解放军国防科学技术大学 | 一种多成像卫星应急任务动态调度方法 |
Non-Patent Citations (1)
Title |
---|
海量遥感数据的高性能地学计算应用与发展分析;杨海平,沈占锋,骆剑承,吴炜;《地球信息科学学报》;20130215;第128-138页 * |
Also Published As
Publication number | Publication date |
---|---|
CN105227616A (zh) | 2016-01-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105227616B (zh) | 一种遥感卫星地面处理系统任务动态创建与分配的方法 | |
CN102073546B (zh) | 一种云计算环境中分布式计算模式下的任务动态调度方法 | |
CN103235835B (zh) | 用于数据库集群的查询实现方法和装置 | |
Zeng et al. | An integrated task computation and data management scheduling strategy for workflow applications in cloud environments | |
Jung et al. | Synchronous parallel processing of big-data analytics services to optimize performance in federated clouds | |
Daniels et al. | Scheduling parallel manufacturing cells with resource flexibility | |
Fakhfakh et al. | Workflow scheduling in cloud computing: a survey | |
CN106033373B (zh) | 一种云计算平台中虚拟机资源调度方法和调度系统 | |
CN103023980B (zh) | 一种云平台处理用户服务请求的方法和系统 | |
WO2013107012A1 (zh) | 分布式计算任务处理系统和任务处理方法 | |
CN102387173A (zh) | 一种MapReduce系统及其调度任务的方法和装置 | |
CN104679595B (zh) | 一种面向应用的IaaS层动态资源分配方法 | |
CN108270805B (zh) | 用于数据处理的资源分配方法及装置 | |
CN103237037A (zh) | 基于云计算架构的媒体格式转换方法和系统 | |
CN104391918A (zh) | 基于对等部署的分布式数据库查询优先级管理的实现方法 | |
CN103777950B (zh) | 一种对aos遥测数据解析的网格化方法 | |
CN106095569A (zh) | 一种基于sla的云工作流引擎资源调度与控制方法 | |
CN105786447A (zh) | 服务器处理数据的方法、装置及服务器 | |
CN103793275A (zh) | 实现负载均衡的系统及处理方法 | |
CN104219226B (zh) | 一种确定云平台中最优通信代理节点数目的方法 | |
CN111049900B (zh) | 一种物联网流计算调度方法、装置和电子设备 | |
CN103617083A (zh) | 存储调度方法和系统、作业调度方法和系统及管理节点 | |
Abouelela et al. | Multidomain hierarchical resource allocation for grid applications | |
CN104915250B (zh) | 一种实现作业内的MapReduce数据本地化的方法 | |
CN116700933A (zh) | 一种面向异构算力联邦的多集群作业调度系统和方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |