一种基于多进程的遥感射出长波辐射并行处理方法与流程

未命名 07-28 阅读:143 评论:0


1.本发明属于数据处理技术领域,具体涉及一种基于多进程的遥感射出长波辐射并行处理方法。


背景技术:

2.射出长波辐射(outgoing long-wave radiation,olr)是指地球表面单位面积向外空辐射出去的所有波长的电磁波能量,它的大小与发射表面的温度密切相关,是地球辐射能量系统的重要参量之一。理论上,射出长波辐射中或多或少的包含了各层大气的温度和成分信息,例如,低通过率的信息主要来自高层大气,而高通过率的信息可能来自大气底层,大气信息主要来自大气窗波段等。因此,依据辐射传输方程,利用卫星上越来越多的光谱通道和越来越灵敏的遥感信息来解译、反演大气状态已成为卫星遥感应用的重要任务之一。目前,现有射出长波辐射主要通过插件方式应用于软件系统中,受系统硬件环境资源的影响较大,特别是当处理数据文件较大时,严重影响射出长波辐射产品计算速度,从而影响产品的时效性。
3.2011年中国测绘科学研究院史园莉在《遥感信息》期刊发表的《一种基于通用模型的遥感影像并行处理算法》一文中提出了一种基于通用模型的粗粒度遥感影像并行处理算法,采用“分块驱动”和“影像处理链驱动”两种策略进行遥感影像的并行算法设计,对影像进行粗粒度的并行处理,减少并行程序间的通信,提升并行程序执行的加速比,在实现过程中,对p个从进程,采用了平均任务的策略,当每个进程对分配的数据的处理时间不同时,存在任务等待的现象,不能很好的进行任务分配。
4.2007年中国科学院沈占峰在《哈尔滨工业大学学报》期刊发表的《高分辨率遥感影像并行处理数据分配策略研究》中提出,在采用并行计算实现遥感影像特征提取过程中,提出非均匀分配策略,并对其进行并行策略实现,但该非均匀分配策略对影像具有较强的依赖性,同时将数据块的全部栅格点信息进行进程间消息传递,增加了遥感影像处理过程中时间的消耗及内存的占用,影响了并行效率。


技术实现要素:

5.本发明的目的是提出一种基于多进程的遥感射出长波辐射并行处理方法,以遥感射出长波辐射为影像背景,对大数据任务进行拆分成多个子任务,并将多个子任务利用负载均衡的方式,利用任务负载均衡机制,分配到各个子进程上进行任务运行,将运行结果更新到结果影像文件中,并将任务运行状态进行汇总,从而实现遥感影像的并行处理,可提升效率,降低大规模影像处理中对计算机硬件资源的强依赖性。
6.本发明采取的技术方案是一种基于多进程的遥感射出长波辐射并行处理方法,包括以下步骤:
7.s1,主进程进行输入参数解析,读取影像数据;
8.s2,利用拆分法将影像进行分块并计算每块的起始行列数和块大小;
9.s3,将影像名称、块起始行列数和块大小作为一个子任务进行打包,形成子任务包,基于负载均衡的任务分配机制将所有子任务包分发给各个子进程;
10.s4,子进程对接收到的子任务包进行任务解析,根据块起始行列数和块大小读取数据进行射出长波辐射计算,并将计算结果并行输出到结果文件中;
11.s5,子进程将运行状态码和描述信息反馈给主进程;
12.s6,主进程接收各子任务返回状态,并判断是否所有子任务均全部下发,若存在还未下发的子任务,则跳转至s3,主进程将未下发的子任务分发给已运行完成的子进程,直到所有子任务全部被下发,待各子任务都完成,汇总各子进程运行状态码和描述信息;
13.s7,主进程结束,返回总任务状态。
14.进一步地,所述s2中,利用拆分法将影像进行分块并计算每块的起始行列数和块大小,具体步骤包括:
15.⑴
读取输入影像行数列数;
16.⑵
解析预置块大小参数;
17.⑶
计算行列块个数,确定行块个数、列块个数;
18.⑷
计算块起始行数与块起始列数;
19.⑸
计算块行大小,若不为行最后一块,则大小为预置块大小,否则大小为行最后一块实际大小;同理计算块列大小,若不为列最后一块,则大小为预置块大小,否则大小为列最后一块实际大小;
20.⑹
记录任务分块信息,便于主进程进行任务打包下发。
21.进一步地,所述s3中,基于负载均衡的任务分配机制将所有子任务包分发给各个子进程,具体为:
22.对大影像来说,假设利用拆分法得到的子任务个数为n,可以认为任务池中子任务个数为n,计划启用的计算机子进程个数为m;
23.当子任务个数n小于子进程个数m时,给每个子进程分配一个子任务,剩余m-n个子进程空闲,运行n个子进程,各子进程将任务运行状态码和描述信息反馈给主进程,主进程汇总各子进程运行状态码和描述信息;
24.当子任务个数n大于子进程个数m时,首先在第一次循环中,给每个子进程分配一个子任务,此时任务池中剩余n-m个子任务待分配,运行m个子进程,由于数据任务可能涉及到图像边界区域和影像数据区域地物的特殊性,m个子进程的运行耗时不相同;在m个子进程运行完毕后,主进程根据任务池中的子任务,给收到返回完成信息的子进程发送还未处理的子任务,此时任务池中剩余n-m-1个子任务,然后运行该子进程,循环该步骤,直到任务池中子任务数为0,主进程汇总各子进程运行状态码和描述信息。
25.进一步地,所述s4中,根据块起始行列数和块大小读取数据进行射出长波辐射计算,并将计算结果并行输出到结果文件中,具体步骤包括:
26.⑴
解析输入参数;
27.⑵
读取影像数据;
28.⑶
读取对应位置卫星天顶角数据;
29.⑷
逐点计算观测点辐射率;
30.⑸
逐点进行观测点辐射率校正;
31.⑹
计算等效亮温;
32.⑺
计算等效黑体辐射温度;
33.⑻
计算射出长波辐射;
34.⑼
将计算结果并行输出到结果文件中。
35.进一步地,逐点计算观测点辐射率的公式为:
36.r(θ)=a*i+b
37.式中,i为读取的观测数据,a为定标系数的斜率,b为定标系数的截距,θ为卫星天顶角。
38.进一步地,逐点进行观测点辐射率校正的公式为:
39.r(θ)

=[1+α2(secθ-1)+β2(secθ-1)2]*r(θ)+α1(secθ-1)+β1(secθ-1)2[0040]
式中,α1、α2、β1、β2为回归系数,θ为卫星天顶角,r(θ)为观测点辐射率。
[0041]
进一步地,根据校正后的观测点辐射率,使用普朗克公式计算等效亮温:
[0042][0043]
式中,c1、c2是普朗克常数,c1=1.19*10-5
,c2=1.43868,γ0为12μm波段中心波数,γ0=850.35cm-1
,rθ)

为校正后的观测点辐射率。
[0044]
进一步地,使用回归公式计算等效黑体辐射温度:
[0045]
tf=a+b*t+c*t2[0046]
式中,a、b、c为回归系数,t为等效亮温。
[0047]
进一步地,使用黑体辐射定律计算射出长波辐射:
[0048]
olr=σ*t
f4
[0049]
式中,σ为常量,tf为等效黑体辐射温度。
[0050]
本发明的有益效果:
[0051]

采用并行程序计算框架,可将大数据影像进行分块处理,子任务分别在结果文件对应位置进行文件更新,提升效率。
[0052]

设计了程序自适应的任务分配机制,进行负载均衡,高效利用节点信息,加快了计算效率。
[0053]

可降低大规模影像处理中对程序、计算资源的强依赖性。
[0054]

通过进程数据处理,只在进程间传递运行状态码和描述信息,节省进程间的对数据的通信需求。
附图说明
[0055]
图1为本发明的整体流程图;
[0056]
图2为本发明任务拆分流程图;
[0057]
图3为本发明基于负载均衡的任务分配机制流程图;
[0058]
图4为本发明射出长波辐射计算流程图。
具体实施方式
[0059]
为了使本发明的目的、技术方案及优点更加清楚、明白,下面将结合附图对本发明
中的技术方案进行清楚、完整地描述。
[0060]
如图1所示,本发明的基于多进程的遥感射出长波辐射并行处理方法,包括以下步骤:
[0061]
s1,主进程进行输入参数解析,读取影像的长、宽、数据类型等信息;
[0062]
s2,利用拆分法将影像进行分块并计算每块的起始行列数和块大小,如图2所示,具体步骤包括:
[0063]

读取输入影像行数列数;
[0064]

解析预置块大小参数(通常设置为:4096);
[0065]

计算行列块个数,确定行块个数、列块个数,其中,注意向上取整;
[0066]

计算块起始行数与块起始列数;
[0067]

计算块行大小,若不为行最后一块,则大小为预置块大小,否则大小为行最后一块实际大小;同理计算块列大小,若不为列最后一块,则大小为预置块大小,否则大小为列最后一块实际大小;
[0068]

记录任务分块信息,便于主进程进行任务打包下发。
[0069]
s3,将影像名称、块起始行列数和块大小作为一个子任务进行打包,形成子任务包,基于负载均衡的任务分配机制将所有子任务包分发给各个子进程;
[0070]
负载均衡(loadbalance),就是把任务压力进行平衡的分摊到集群中各个操作单元或节点上,使得避免集群中部分节点压力过大而部分节点过于空闲。经过负载均衡,使得每个机器节点获取适合自己的处理能力负载。负载均衡技术是保持系统高效稳定快速运行的重要手段之一,它通过对计算机节点资源和工作任务进行合理分配。动态任务分配是负载均衡的一种常用方法,它可以根据系统的实时情况来自动调整任务的分配,从而达到负载均衡的目的。
[0071]
如图3所示,本发明中基于负载均衡的任务分配机制实现方式具体如下:
[0072]
对大影像来说,假设利用拆分法得到的子任务个数为n,可以认为任务池中子任务个数为n,计划启用的计算机子进程个数为m。
[0073]
当子任务个数n小于子进程个数m时,给每个子进程分配一个子任务,剩余m-n个子进程空闲,运行n个子进程,各子进程将任务运行状态码和描述信息反馈给主进程,主进程汇总各子进程运行状态码和描述信息。
[0074]
当子任务个数n大于子进程个数m时,首先在第一次循环中,给每个子进程分配一个子任务,此时任务池中剩余n-m个子任务待分配,运行m个子进程,由于数据任务可能涉及到图像边界区域和影像数据区域地物的特殊性,m个子进程的运行耗时不相同;在m个子进程运行完毕后,主进程根据任务池中的子任务,给收到返回完成信息的子进程发送还未处理的子任务,此时任务池中剩余n-m-1个子任务,然后运行该子进程,循环该步骤,直到任务池中子任务数为0,主进程汇总各子进程运行状态码和描述信息。
[0075]
s4,子进程对接收到的子任务包进行任务解析,根据块起始行列数和块大小读取数据进行射出长波辐射计算,并将计算结果并行输出到结果文件中,如图4所示,具体步骤包括:
[0076]

解析输入参数,获取输入影像的文件名等信息;
[0077]

根据读取数据大小,申请相应大小内存,将影像数据读取到内存中;
[0078]

读取相应位置卫星天顶角数据;
[0079]

逐点计算观测点辐射率:
[0080]
对12μm通道数据进行定标处理,得到观测点辐射率:
[0081]
r(θ)=a*i+b公式1
[0082]
式中,i为读取的观测数据,a为定标系数的斜率,b为定标系数的截距,θ为卫星天顶角。
[0083]

逐点进行观测点辐射率校正;
[0084]
把卫星在天顶角θ测得的辐射率校正到天顶时的辐射率:
[0085]
r(θ)
ˊ
=[1+α2(secθ-1)+β2(secθ-1)2]*r(θ)+α1(secθ-1)+β1(secθ-1)2公式2
[0086]
式中,α1、α2、β1、β2为回归系数,θ为卫星天顶角,r(θ)为观测点辐射率。
[0087]

根据校正后的观测点辐射率,使用普朗克公式计算等效亮温:
[0088][0089]
式中,c1、c2是普朗克常数,c1=1.19*10-5
,c2=1.43868,γ0为12μm波段中心波数,γ0=850.35cm-1
,r(θ)
ˊ
为校正后的观测点辐射率。
[0090]

使用回归公式计算等效黑体辐射温度:
[0091]
tf=a+b*t+c*t2公式4
[0092]
式中,a、b、c为回归系数,t为等效亮温。
[0093]

使用黑体辐射定律计算射出长波辐射:
[0094]
olr=σ*t
f4
公式5
[0095]
式中,σ为常量,tf为等效黑体辐射温度。
[0096]

将计算结果并行输出到结果文件中。
[0097]
s5,子进程将运行状态码和描述信息反馈给主进程;
[0098]
s6,主进程接收各子任务返回状态,并判断是否所有子任务均全部下发,若存在还未下发的子任务,则跳转至s3,主进程将未下发的子任务分发给已运行完成的子进程,直到所有子任务全部被下发,待各子任务都完成,汇总各子进程运行状态码和描述信息;
[0099]
s7,主进程结束,返回总任务状态。
[0100]
本发明说明书中未作详细描述的内容均属于本领域技术人员公知技术。

技术特征:
1.一种基于多进程的遥感射出长波辐射并行处理方法,其特征在于,包括以下步骤:s1,主进程进行输入参数解析,读取影像数据;s2,利用拆分法将影像进行分块并计算每块的起始行列数和块大小;s3,将影像名称、块起始行列数和块大小作为一个子任务进行打包,形成子任务包,基于负载均衡的任务分配机制将所有子任务包分发给各个子进程;s4,子进程对接收到的子任务包进行任务解析,根据块起始行列数和块大小读取数据进行射出长波辐射计算,并将计算结果并行输出到结果文件中;s5,子进程将运行状态码和描述信息反馈给主进程;s6,主进程接收各子任务返回状态,并判断是否所有子任务均全部下发,若存在还未下发的子任务,则跳转至s3,主进程将未下发的子任务分发给已运行完成的子进程,直到所有子任务全部被下发,待各子任务都完成,汇总各子进程运行状态码和描述信息;s7,主进程结束,返回总任务状态。2.根据权利要求1所述的基于多进程的遥感射出长波辐射并行处理方法,其特征在于,所述s2中,利用拆分法将影像进行分块并计算每块的起始行列数和块大小,具体步骤包括:

读取输入影像行数列数;

解析预置块大小参数;

计算行列块个数,确定行块个数、列块个数;

计算块起始行数与块起始列数;

计算块行大小,若不为行最后一块,则大小为预置块大小,否则大小为行最后一块实际大小;同理计算块列大小,若不为列最后一块,则大小为预置块大小,否则大小为列最后一块实际大小;

记录任务分块信息,便于主进程进行任务打包下发。3.根据权利要求1所述的基于多进程的遥感射出长波辐射并行处理方法,其特征在于,所述s3中,基于负载均衡的任务分配机制将所有子任务包分发给各个子进程,具体为:对大影像来说,假设利用拆分法得到的子任务个数为n,可以认为任务池中子任务个数为n,计划启用的计算机子进程个数为m;当子任务个数n小于子进程个数m时,给每个子进程分配一个子任务,剩余m-n个子进程空闲,运行n个子进程,各子进程将任务运行状态码和描述信息反馈给主进程,主进程汇总各子进程运行状态码和描述信息;当子任务个数n大于子进程个数m时,首先在第一次循环中,给每个子进程分配一个子任务,此时任务池中剩余n-m个子任务待分配,运行m个子进程,由于数据任务可能涉及到图像边界区域和影像数据区域地物的特殊性,m个子进程的运行耗时不相同;在m个子进程运行完毕后,主进程根据任务池中的子任务,给收到返回完成信息的子进程发送还未处理的子任务,此时任务池中剩余n-m-1个子任务,然后运行该子进程,循环该步骤,直到任务池中子任务数为0,主进程汇总各子进程运行状态码和描述信息。4.根据权利要求1所述的基于多进程的遥感射出长波辐射并行处理方法,其特征在于,所述s4中,根据块起始行列数和块大小读取数据进行射出长波辐射计算,并将计算结果并行输出到结果文件中,具体步骤包括:

解析输入参数;

读取影像数据;

读取对应位置卫星天顶角数据;

逐点计算观测点辐射率;

逐点进行观测点辐射率校正;

计算等效亮温;

计算等效黑体辐射温度;

计算射出长波辐射;

将计算结果并行输出到结果文件中。5.根据权利要求4所述的基于多进程的遥感射出长波辐射并行处理方法,其特征在于,逐点计算观测点辐射率的公式为:r(θ)=a*i+b式中,i为读取的观测数据,a为定标系数的斜率,b为定标系数的截距,θ为卫星天顶角。6.根据权利要求4所述的基于多进程的遥感射出长波辐射并行处理方法,其特征在于,逐点进行观测点辐射率校正的公式为:r(θ)

=[1+α2(secθ-1)+β2(secθ-1)2]*r(θ)+α1(secθ-1)+β1(sθ-1)2式中,α1、α2、β1、β2为回归系数,θ为卫星天顶角,r(θ)为观测点辐射率。7.根据权利要求4所述的基于多进程的遥感射出长波辐射并行处理方法,其特征在于,根据校正后的观测点辐射率,使用普朗克公式计算等效亮温:式中,c1、c2是普朗克常数,c1=1.19*10-5
,c2=1.43868,γ0为12μm波段中心波数,γ0=850.35cm-1
,r(θ)

为校正后的观测点辐射率。8.根据权利要求4所述的基于多进程的遥感射出长波辐射并行处理方法,其特征在于,使用回归公式计算等效黑体辐射温度:t
f
=a+b*t+c*t2式中,a、b、c为回归系数,t为等效亮温。9.根据权利要求4所述的基于多进程的遥感射出长波辐射并行处理方法,其特征在于,使用黑体辐射定律计算射出长波辐射:olr=σ*t
f4
式中,σ为常量,t
f
为等效黑体辐射温度。

技术总结
本发明属于数据处理技术领域,公开一种基于多进程的遥感射出长波辐射并行处理方法,以遥感射出长波辐射为影像背景,对大数据任务进行拆分成多个子任务,并将多个子任务利用负载均衡的方式,利用任务负载均衡机制,分配到各个子进程上进行任务运行,将运行结果更新到结果影像文件中,并将任务运行状态进行汇总,从而实现遥感影像的并行处理,可提升效率,降低大规模影像处理中对计算机硬件资源的强依赖性。性。性。


技术研发人员:阴晓刚 杨笑天 王梁
受保护的技术使用者:陕西航天技术应用研究院有限公司
技术研发日:2023.05.25
技术公布日:2023/7/27
版权声明

本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

航空之家 https://www.aerohome.com.cn/

飞机超市 https://mall.aerohome.com.cn/

航空资讯 https://news.aerohome.com.cn/

分享:

扫一扫在手机阅读、分享本文

相关推荐