发明内容
本发明的目的在于,提供一种基于集群和并行技术的海量卫星数据处理系统及处理方法,用以实现海量卫星数据的快速处理。
为实现上述目的,本发明提供的技术方案是,一种基于集群和并行技术的海量卫星数据处理系统,其特征是所述处理系统包括顺序连接的存储模块、网络传输模块和处理模块;
所述处理模块包括全球分块单元、投影查找表读写单元、任务分配单元、调度方式配置单元和计算节点单元;
其中,全球分块单元通过网络传输模块与存储模块相连;
投影查找表读写单元通过网络传输模块与存储模块相连;
任务分配单元通过网络传输模块与存储模块相连,并与计算节点单元相连;
调度方式配置单元与任务分配单元相连;
计算节点单元通过网络传输模块与存储模块相连,并与任务分配单元相连;
全球分块单元用于根据地球的经纬度按10度进行分块,得到十度分块并存储到存储模块中;
投影查找表读写单元用于确定每个十度分块对应的投影查找表中的有效数据和五分钟段数据中的有效数据,并将每个十度分块对应的投影查找表中的有效数据和五分钟段数据中的有效数据存储到存储模块;
调度方式配置单元用于设置任务分配方式;
任务分配单元用于确定空闲的计算节点单元,并从存储模块中读取十度分块发送到空闲的计算节点单元;
计算节点单元用于从存储模块中提取与十度分块对应的投影查找表中的有效数据和五分钟段数据中的有效数据,并对十度分块中的数据进行处理。
所述处理系统包括任务量统计单元,所述任务量统计单元与任务分配单元相连,用于统计计算节点单元的任务量。
所述处理系统包括性能监控单元,所述性能监控单元用于监控CPU、内存和输入输出接口的性能。
所述任务分配方式包括根据全球的经度顺序分配任务、根据全球的纬度顺序分配任务或者乱序分配任务。
一种基于集群和并行技术的海量卫星数据处理方法,其特征是所述处理方法包括:
步骤1:全球分块单元将根据地球的经纬度按10度进行分块,得到十度分块,并存储到存储模块中;
步骤2:投影查找表读写单元确定每个十度分块对应的投影查找表中的有效数据和五分钟段数据中的有效数据,并将每个十度分块对应的投影查找表中的有效数据和五分钟段数据中的有效数据存储到存储模块;
步骤3:设置任务分配方式;
步骤4:任务分配单元判断是否存在空闲的计算节点单元,如果存在空闲的计算节点单元,则执行步骤5;否则,继续判断是否存在空闲的计算节点单元;
步骤5:任务分配单元根据任务分配方式读取1个十度分块,将其发送到任意1个空闲的计算节点单元;
步骤6:空闲的计算节点单元根据收到的十度分块,从存储模块中读取与该十度分块对应的投影查找表中的有效数据和五分钟段数据中的有效数据;
步骤7:空闲的计算节点单元根据所述投影查找表数据中的有效数据和五分钟段数据中的有效数据处理十度分块中的数据;
步骤8:返回步骤4。
所述任务分配方式包括根据全球的经度顺序分配任务、根据全球的纬度顺序分配任务或者乱序分配任务。
所述投影查找表读写单元确定每个十度分块对应的投影查找表中的有效数据和五分钟段数据中的有效数据具体包括:
步骤101:读取投影查找表的头信息,包括行列偏移量及行列值;
步骤102:确定投影查找表对应的十度分块ID;
步骤103:计算每个十度分块对应的投影查找表和五分钟段数据;
步骤104:定位投影查找表中的有效数据;
步骤105:定位五分钟段数据中的有效数据;
所述定位投影查找表中的有效数据是指计算该投影查找表与十度分块重合区域的左上角的位置及所述重合区域的行列值,并通过确定起始位置的逻辑偏移值,计算出投影查找表物理偏移值及投影查找表与十度分块重合区域的大小;
所述定位五分钟段数据中的有效数据具体是指读取投影查找表中的有效数据,去除无效数据,分别计算出与该十度分块数据对应的五分钟段数据的行最大值、行最小值、列最大值和列最小值,并以行最小值和列最小值作为读取该五分钟段数据的首位置。
所述无效数据是指五分钟段数据中数据值为65535的数据。
所述步骤7包括:
步骤201:读取投影查找表中的有效数据;
步骤202:根据读取的投影查找表中的有效数据定位五分钟段数据中的有效数据;
步骤203:加载所述五分钟段数据中的有效数据;
步骤203:判断五分钟段数据中的有效数据是否存在与十度分块中的像元值重复覆盖的部分,如果存在与十度分块中的像元值重复覆盖的部分,则执行步骤204;否则,执行步骤206;
步骤204:根据优选机制判断是否需要使用五分钟段数据中的有效数据替换十度分块中的像元值,如果需要使用五分钟段数据中的有效数据替换十度分块中的像元值,则执行步骤205;否则,执行步骤206;
步骤205:使用五分钟段数据中的有效数据替换十度分块中的像元值;
步骤206:结束。
本发明通过十度分块和与其对应的投影查找表及五分钟段数据,利用集群系统对海量的数据进行并行处理,提高了卫星数据的处理能力。
具体实施方式
下面结合附图,对优选实施例作详细说明。应该强调的是,下述说明仅仅是示例性的,而不是为了限制本发明的范围及其应用。
实施例1
图1是基于集群和并行技术的海量卫星数据处理系统功能结构示意图,图1中,基于集群和并行技术的海量卫星数据处理系统,包括顺序连接的存储模块、网络传输模块和处理模块。处理模块包括全球分块单元、投影查找表读写单元、任务分配单元、调度方式配置单元和计算节点单元。
其中,全球分块单元通过网络传输模块与存储模块相连;投影查找表读写单元通过网络传输模块与存储模块相连;任务分配单元通过网络传输模块与存储模块相连,并与计算节点单元相连;调度方式配置单元与任务分配单元相连;计算节点单元通过网络传输模块与存储模块相连,并与任务分配单元相连。
全球分块单元用于根据地球的经纬度按10度进行分块,得到十度分块并存储到存储模块中。
投影查找表读写单元用于确定每个十度分块对应的投影查找表中的有效数据和五分钟段数据中的有效数据,并将每个十度分块对应的投影查找表中的有效数据和五分钟段数据中的有效数据存储到存储模块。
调度方式配置单元用于设置任务分配方式。任务分配方式包括根据全球的经度顺序分配任务、根据全球的纬度顺序分配任务或者乱序分配任务。
任务分配单元用于确定空闲的计算节点单元,并从存储模块中读取十度分块发送到空闲的计算节点单元。
计算节点单元用于从存储模块中提取与十度分块对应的投影查找表中的有效数据和五分钟段数据中的有效数据,并对十度分块中的数据进行处理。
处理系统包括任务量统计单元,所述任务量统计单元与任务分配单元相连,用于统计计算节点单元的任务量。
处理系统包括性能监控单元,所述性能监控单元用于监控CPU、内存和输入输出接口的性能。
图2是基于集群和并行技术的海量卫星数据处理系统结构实例图。图2中,1001为集群服务器,用于实现系统控制和存储,因此存储模块全球分块单元、投影查找表读写单元、任务分配单元、调度方式配置单元、任务量统计单元和性能监控单元可以分别由集群服务器中的服务器实现。1002为网络传输模块,该模块中包括交换机、路由器以及连接集群服务器和计算节点单元的刀片服务器集群1003的光线网。1003为刀片服务器集群,实现计算节点单元的数据处理功能。
实施例2
图3是基于集群和并行技术的海量卫星数据处理方法流程图。图3中,基于集群和并行技术的海量卫星数据处理方法包括:
步骤1:全球分块单元将根据地球的经纬度按10度进行分块,得到十度分块,并存储到存储模块中。
图4是十度分块示意图,图4中,根据地球的经纬度按10度进行分块,经度为360度,共36个10度。纬度为180度,共18个10度。因此,经过上述划分共可以得到648个十度分块。每个十度分块中的像元个数为4000x4000个。
步骤2:投影查找表读写单元确定每个十度分块对应的投影查找表中的有效数据和五分钟段数据中的有效数据,并将每个十度分块对应的投影查找表中的有效数据和五分钟段数据中的有效数据存储到存储模块。
下面以图5为例,清楚地说明投影查找表读写单元确定每个十度分块对应的投影查找表中的有效数据和五分钟段数据中的有效数据的具体过程,其过程包括:
步骤101:读取投影查找表的头信息,包括行列偏移量及行列值。
五分钟段数据与投影查找表是一一对应的关系,每个五分钟段数据的投影信息均是在投影查找表中保存的。
步骤102:确定投影查找表对应的十度分块ID。
读取投影查找表的头信息,就可以获取五分钟段数据在648块中的行偏移量、列偏移量、及行列数,据此就可以判定该五分钟段数据覆盖哪些十度分块。图5是确定每个十度分块对应的投影查找表中的有效数据和五分钟段数据中的有效数据示意图。图5中,A、B、C和D分别为四个投影查找表,1-9分别为9个十度分块。通过步骤102,可以确定投影查找表A对应的十度分块为1、2、4、5;投影查找表B对应的十度分块为2、3、5、6;投影查找表C对应的十度分块为4、5、7、8;投影查找表D对应的十度分块为5、6、8、9。
步骤103:计算每个十度分块对应的投影查找表和五分钟段数据。
如图5所示,可以看出,十度分块1对应的投影查找表为A,由于五分钟段数据与投影查找表是一一对应的关系,因此十度分块1对应的五分钟段数据也为A。十度分块2对应的投影查找表和五分钟段数据为A、B。依次类推,可以得出:
十度分块3对应的投影查找表和五分钟段数据为B。
十度分块4对应的投影查找表和五分钟段数据为A、C。
十度分块5对应的投影查找表和五分钟段数据为A、B、C、D。
十度分块6对应的投影查找表和五分钟段数据为B、D。
十度分块7对应的投影查找表和五分钟段数据为C。
十度分块8对应的投影查找表和五分钟段数据为C、D。
十度分块9对应的投影查找表和五分钟段数据为D。
步骤104:定位投影查找表中的有效数据。
定位投影查找表中的有效数据是指计算该投影查找表与十度分块重合区域的左上角的位置及所述重合区域的行列值,并通过确定起始位置的逻辑偏移值,计算出投影查找表物理偏移值及投影查找表与十度分块重合区域的大小。
步骤105:定位五分钟段数据中的有效数据。
定位五分钟段数据中的有效数据具体是指读取投影查找表中的有效数据,去除无效数据,分别计算出与该十度分块数据对应的五分钟段数据的行最大值、行最小值、列最大值和列最小值,并以行最小值和列最小值作为读取该五分钟段数据的首位置。其中,无效数据是指五分钟段数据中数据值为65535的数据。
步骤3:设置任务分配方式。
任务分配方式包括根据全球的经度顺序分配任务、根据全球的纬度顺序分配任务或者乱序分配任务。
图6是根据全球的经度顺序分配任务示意图。如图6所示,将十度分块按照经度顺序排序,然后按照顺序将十度分块送入空闲的计算节点单元。
图7是根据全球的维度顺序分配任务示意图。如图6所示,将十度分块按照维度顺序排序,然后按照顺序将十度分块送入空闲的计算节点单元。
乱序分配任务是指随机选取十度分块送入空闲的计算节点单元。
步骤4:任务分配单元判断是否存在空闲的计算节点单元,如果存在空闲的计算节点单元,则执行步骤5;否则,继续判断是否存在空闲的计算节点单元。
步骤5:任务分配单元根据任务分配方式读取1个十度分块,将其发送到任意1个空闲的计算节点单元。
步骤6:空闲的计算节点单元根据收到的十度分块,从存储模块中读取与该十度分块对应的投影查找表中的有效数据和五分钟段数据中的有效数据。
步骤7:空闲的计算节点单元根据所述投影查找表数据中的有效数据和五分钟段数据中的有效数据处理十度分块中的数据。具体包括:
步骤201:读取投影查找表中的有效数据。
步骤202:根据读取的投影查找表中的有效数据定位五分钟段数据中的有效数据。
步骤203:加载所述五分钟段数据中的有效数据。
步骤203:判断五分钟段数据中的有效数据是否存在与十度分块中的像元值重复覆盖的部分,如果存在与十度分块中的像元值重复覆盖的部分,则执行步骤204;否则,执行步骤206。
步骤204:根据优选机制判断是否需要使用五分钟段数据中的有效数据替换十度分块中的像元值,如果需要使用五分钟段数据中的有效数据替换十度分块中的像元值,则执行步骤205;否则,执行步骤206。
根据优选机制判断是否需要使用五分钟段数据中的有效数据替换十度分块中的像元值具体是:
步骤301:判断太阳天顶角是否大于87度,如果太阳天顶角大于87度,则执行步骤320;否则,执行步骤302。
步骤302:判断当前像元的归一化植被指数是否有效,如果当前像元的归一化植被指数有效,则执行步骤303;否则,执行步骤307。
步骤303:获取该像元的当前质量码、当前归一化植被指数、上次替换前的质量码和上次替换前的归一化植被指数,判断该像元当前是否有云并判断该像元上次替换前是否有云,如果该像元当前有云并且该像元上次替换前有云,则执行步骤304;如果该像元当前无云并且该像元上次替换前有云,则执行步骤305;如果该像元当前无云并且该像元上次替换前无云,则执行步骤306;否则,执行步骤307。
步骤304:保留归一化植被指数值大的像元值。
步骤305:提出有云像元,保留无云像元。
步骤306:保留天顶角数值小的像元。
步骤307:不需要使用五分钟段数据中的有效数据替换十度分块中的像元值。
步骤205:使用五分钟段数据中的有效数据替换十度分块中的像元值;
步骤206:结束。
步骤8:返回步骤4。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。