一种卫星影像处理算法混合调度系统及方法与流程

文档序号:26938706发布日期:2021-10-12 14:01阅读:92来源:国知局
一种卫星影像处理算法混合调度系统及方法与流程

1.本发明涉及影像处理技术领域,特别地涉及一种卫星影像处理算法混合调度的系统及方法。


背景技术:

2.目前,传统的卫星影像处理算法运行平台大多是windows操作系统的pc或者工作站。随着卫星数量的迅猛增长,影像分辨率的快速提升,影像数据呈现指数级增长。传统的基于pc或者工作站的平台性能完全无法应对这样一种场景,基于机群的高性能计算(hpc)系统能将多台机器通过高速网络连接在一起,将计算能力进行聚合,其性能是较传统的pc或者工作站几倍,几十倍甚至数千倍,并且能根据业务增长进行近乎线性扩展,因此越来越多的影像处理平台转向基于机群系统。与pc和工作站不同,高性能计算机群通常广泛使用linux操作系统,因此算法也需要基于linux平台进行编写并编译成linux平台可运行的二进制代码。另一方便,windows平台上已经存在大量的算法,要将这些算法进行移植到linux平台需要付出很大的代价,有些算法需要进行改造(如一些基于c/c++的算法),有些算法需要重写(如基于c#的算法),有些算法由于过于庞大无法进行移植。
3.为了在linux机群中利用windows平台下的算法,通常的做法是在需要时,将数据手工拷贝到windows平台,并调用算法进行处理,处理完后将数据再拷贝回linux系统,整个过程主要靠人工干预,无法实现流程的自动化作业。


技术实现要素:

4.本发明的目的在于提供一种多操作系统平台卫星影像处理算法混合的调度系统及方法,通过对卫星影像的处理后,使得用户在获得hpc平台的高性能优点的同时,实现流程的自动化。
5.为此,根据本发明的第一方面,提供了一种卫星影像处理算法混合调度系统,包括:管理节点、管理网络、linux服务器、windows工作站、数据网络和网络共享存储设备;
6.所述管理节点包括工作流调度设备,用于创建、管理、调度和更新工作流;
7.所述管理网络,用于在工作流调度设备与所述linux服务器和与所述windows工作站之间进行工作流作业派发和状态收集;
8.所述linux服务器用于执行linux算法;
9.所述windows工作站用于执行windows算法;
10.所述数据网络,用于所述linux服务器和所述windows工作站与网络共享存储设备之间的文件传输;
11.所述网络共享存储设备,用于存储所述linux服务器和所述windows工作站执行算法所需的文件。
12.进一步地,所述工作流调度设备支持串行工作流和并行工作流,且上述两种工作流都包括windows和linux算法的混合模式。
13.进一步地,所述串行工作流包括linux算法+linux算法,linux算法+windows算法,window算法+windows算法和windows算法+linux算法四种模式。
14.进一步地,所述工作流调度设备包括:工作流管理器、工作流解析器、资源调度器、任务分发器;
15.所述工作流管理器,用于管理用户提交的工作流的相关信息和状态;
16.所述工作流解析器,用于解析一个待运行的工作流中的每个作业,读取相关的参数,并将所述参数传输至所述任务分发器;
17.所述资源调度器,用于管理计算资源,记录所述计算资源的相关配置信息和分配状况,并为所述工作流中的每个作业分配合适的资源;
18.所述计算资源包括:所述linux服务器和所述windows工作站;
19.所述任务分发器,用于根据每个作业的所述参数和资源调度器分配的资源选择linux服务器或windows工作站将所述每个作业分发至所述linux服务器或windows工作站进行处理,并接收所述linux服务器或windows工作站的执行结果和状态。
20.根据本发明的第二方面,提供了一种卫星影像处理算法混合调度方法,包括:
21.接收用户提交的工作流的相关信息和状态,创建工作流;
22.解析所述工作流中的每个作业,读取相关的参数;
23.记录计算资源的相关配置信息和分配状况,并为所述工作流中的每个作业分配合适的资源,所述计算资源包括所述linux服务器和所述windows工作站;
24.根据每个作业的所述参数和所分配的资源选择linux服务器或windows工作站,将所述每个作业分发至所选择的linux服务器或windows工作站进行处理;
25.其中,所述linux服务器执行linux算法,所述windows工作站执行windows算法。
26.进一步地,所述工作流包括串行工作流和并行工作流两种类型;
27.所述串行工作流包括linux算法+linux算法,linux算法+windows算法,window算法+windows算法和windows算法+linux算法四种模式;
28.所述并行工作流包括linux算法和/或windows算法并行运行。
29.本发明具有的有益效果是:通过对卫星影像处理算法的混合调度处理,将工作流自动地分发至合适的linux服务器或windows工作站,使得用户不需要对windows算法进行移植或改写,在获得hpc平台的高性能优点的同时,实现流程的自动化。
附图说明
30.本发明的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变得明显和容易理解,其中:
31.图1是根据本发明一实施例的卫星影像处理算法混合调度系统的框架图;
32.图2是根据本发明一实施例的卫星影像处理算法混合调度系统中管理节点的框架图;
33.图3是根据本发明一实施例的串行工作流的示意图;
34.图4是根据本发明一实施例的并行工作流的示意图;
35.图5是根据本发明一实施例的卫星影像处理算法混合调度方法的流程图。
具体实施方式
36.为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附图和具体实施方式对本发明进行进一步的详细描述。需要说明的是,在不冲突的情况下,本技术的实施例及实施例中的特征可以相互组合。
37.在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是,本发明还可以采用其他不同于在此描述的其他方式来实施,因此,本发明的保护范围并不受下面公开的具体实施例的限制。
38.如图1所示,根据本发明一实施例,提供了一种卫星影像处理算法混合调度系统,包括管理节点1、管理网络2、linux服务器3、windows工作站4、数据网络5和网络共享存储设备6,管理节点1通过管理网络2和linux服务器3、windows工作站4相连,linux服务器3和windows工作站4通过数据网络5和网络共享存储设备6相连;
39.管理节点1包括工作流调度设备11,用于创建、管理、调度和更新工作流。
40.管理网络2用于在工作流调度设备11与所述linux服务器3和与所述windows工作站4之间进行工作流作业派发和状态收集,管理节点1分发的作业通过管理网络2到达对应的linux服务器3或windows工作站4,linux服务器3和windows工作站4的状态以及作业处理结果通过所述管理网络2反馈至管理节点1。
41.linux服务器3用于执行linux算法。所述linux算法是指基于linux平台进行编写并编译成linux平台可运行的二进制代码的算法。windows工作站4用于执行windows算法。所述windows算法是指基于windows平台进行编写并编译成windows平台可运行的二进制代码的算法。
42.数据网络5用于所述linux服务器3和所述windows工作站4与网络共享存储设备6之间的文件传输。
43.网络共享存储设备6用于存储所述linux服务器3和所述windows工作站4执行算法所需的文件,包括算法的输入文件和输出文件。
44.如图2所示,所述管理节点1包括工作流调度设备11和工作流数据库12,所述工作流数据库12用于保存工作流管理器111中用户提交的工作流的相关信息。
45.所述工作流调度设备11具体包括:
46.工作流管理器111,用于管理用户提交的工作流的相关信息和状态,包括接收用户提交的工作流的相关信息和状态,创建工作流;
47.工作流解析器112,用于解析一个待运行的工作流中的每个作业,读取相关的参数,并将所述参数传输至所述任务分发器114;
48.资源调度器113,用于管理所述linux服务器3和所述windows工作站4,记录所述计算资源的相关配置信息和分配状况,并为所述工作流中的每个作业分配合适的资源,所述计算资源包括所述linux服务器3和所述windows工作站4;
49.任务分发器114,用于根据每个作业的所述参数和资源调度器分配的资源选择linux服务器3或windows工作站4,将所述每个作业分发至所述linux服务器3或windows工作站4进行处理,并接收所述linux服务器3或windows工作站4的执行结果和状态。
50.可选地,linux服务器3包括linux调度代理,windows工作站4包括windows调度代理,调度代理中包括用于与工作流调度器通讯的通讯代理,以及调用所在平台的算法执行
作业的执行器。
51.所述调度系统支持串行工作流和并行工作流,且两种工作流都包括windows和linux算法的混合模式;
52.所述串行工作流如图3所示,其包括四种类型:
53.linux算法+linux算法,即连续的作业都是由linux算法来执行;
54.linux算法+windows算法,即连续的作业先由linux算法执行,再由windows算法执行;
55.window算法+windows算法,即连续的作业都是由windows算法来执行;
56.windows算法+linux算法,即连续的作业先由windows算法执行,再由linux算法执行。
57.所述并行工作流如图4所示,linux算法和/或windows算法并行运行,即连续的作业由linux算法和/或windows算法同时执行。
58.通过对卫星影像处理算法的混合调度处理,将工作流自动地分发至合适的linux服务器3或windows工作站4,使得用户不需要对windows算法进行移植或改写,在获得hpc平台的高性能优点的同时,实现流程的自动化。
59.本发明实施例提供了一种多操作系统平台卫星影像处理的调度方法,如图5所示,包括以下步骤:
60.s51、接收用户提交的工作流的相关信息,创建工作流;
61.工作流管理器111接收用户提交的工作流的相关信息,创建工作流,存储在工作流数据库12中。在运行时,工作流管理器111通过预定策略从工作流数据库12中选择合适的工作流。
62.s52、解析所述工作流中的每个作业,读取相关的参数;
63.在选择了待运行的一个工作流之后,由工作流解析器112解析所述待运行的工作流中的每个作业,读取相关的参数,并将所述参数传输至所述任务分发器114。
64.s53、记录计算资源的相关配置信息和分配状况,并为所述工作流中的每个作业分配合适的资源;
65.计算资源包括可用的linux服务器和windows工作站,资源调度器113记录所述计算资源的相关配置信息和分配状况,并根据上述信息为所述工作流中的每个作业分配合适的资源。由此可以实现处理能力的均衡分配,提高影像处理效率。
66.s54、根据每个作业的所述参数和所分配的资源选择linux服务器或windows工作站,将所述每个作业分发至所选择的linux服务器或windows工作站进行处理;
67.任务分发器114根据每个作业的所述参数和资源调度器113分配的资源选择linux服务器3或windows工作站4,将所述每个作业分发至相应的所述linux服务器3或windows工作站4进行处理,并接收所述linux服务器3或windows工作站4的执行结果和状态,其中,所述linux服务器3执行linux算法,所述windows工作站4执行windows算法。
68.所述的卫星影像处理混合调度方法支持串行工作流和并行工作流,所述串行工作流如图3所示,所述并行工作流如图4所示。
69.本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储
介质包括只读存储器(read-only memory,rom)、随机存储器(random access memory,ram)、可编程只读存储器(programmable read-only memory,prom)、可擦除可编程只读存储器(erasable programmable read only memory,eprom)、一次可编程只读存储器(one-time programmable read-only memory,otprom)、电子抹除式可复写只读存储器(electrically-erasable programmable read-only memory,eeprom)、只读光盘(compact disc read-only memory,cd-rom)或其他光盘存储器、磁盘存储器、磁带存储器、或者能够用于携带或存储数据的计算机可读的任何其他介质。
70.以上仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1