一种基于卫星遥感数据特征的分布式并行处理方法

文档序号:6435198阅读:192来源:国知局
专利名称:一种基于卫星遥感数据特征的分布式并行处理方法
技术领域
本发明涉及卫星遥感数据处理领域,尤其涉及一种基于依赖关系和对象抽象的分布式并行处理方法。
背景技术
Hadoop是一个并行处理大规模数据的开源分布式计算平台,由许多元素构成,最底部的 Hadoop 分布式文件系统(Hadoop Distributed File System, HDFS)存储 Hadoop 集群中所有存储节点上的文件。HDFS的上一层是MapReduce引擎,该引擎由JobTracker和 TaskTracker组成。MapReduce依赖于HDFS实现。MapReduce可以将被计算的数据分为很多小块,HDFS将每个块复制若干份以确保系统的可靠性,同时它按照一定的规则将数据块放置在集群中的不同机器上,以便MapReduce在数据宿主机器上进行最便捷的计算。
Hadoop系统的任务调度分为两个层次,作业(Job)级别和任务(Task)级别。 Hadoop系统中的JobTracker响应来自用户的作业(Job)提交,并将作业拆分为各个任务 (Task),如Mapper和Reducer两种任务类型,对当前作业进行分布式处理。这个层次的任务分配为任务级别的分配与调度。当用户将多个作业同时给JobTracker时,JobTracker缓存这些作业使得这些作业排队等待被处理,JobTracker同时将属于不同作业的子任务给各个TaskTracker进行处理,使得不同的作业在整个集群中呈流水线特点执行。涉及作业间的任务调度称为作业级别的分配与调度。用户在使用Hadoop系统时一般需要注意提交作业的粒度,尽量不将工作量过大的作业直接提交给JobTracker,而是尽量将大工作量的作业拆分为几个小工作量的作业。
Hadoop目前已经在科研和商业领域被广泛应用,其高效性和可以基于普通PC的低成本运作方式以及广泛的通用性是其主要优点,但Hadoop的运行针对单个程序的作业。 在宏观角度对整个系统进行任务分配和调度上,Hadoop没有相应的支持,因而无法满足在更高层次上对任务分配进行优化的需求。
MODIS 数据处理系统(MODIS Data Processing System,M0DAPS)是由 NASA 的 MODIS 科学数据支持团队(MODIS Science Data Support Team, SDST)开发的 MODIS 卫星数据处理系统。该系统使用基于消息传递的分布式并行计算。所有过程由调度器控制,调度器监视并控制进程,获取和分发产品系统中运行的工作。调度器中的PR0STAT控制进程运行在特定时间或者固定间隔。装载器(Loaders)在PR0STAT控制下固定间隔运行,初始化一系列科研产品的生产。一个Loader处理数十至数百个队列中等待CPU空闲的任务。 Makevdc固定间隔运行,确认哪个任务的所有输入准备完毕。若输入准备好,则任务被移至入口目录。入口伺服监控该目录,当某个CPU空闲时,将任务分配给CPU并把任务添加至进程流表。
MODAPS是一个针对MODIS卫星数据处理构造的系统,其优点在于能够针对遥感卫星数据处理的需求做出适当的分配和调度。但MODAPS是用于高性能计算机组成的分布式环境的,需要有高性能硬件设备支持,同时由于其针对性,将其应用于其他科研产品生产有较大限制。
现在广泛使用的分布式并发处理平台,更多的是关注于单个程序的并发执行,而没有对具有数据依赖关系的多个程序如何执行提供解决方案,因而也无法从宏观上对并发执行效率进行优化;而专为某些卫星数据处理而设计的系统具有过强的针对性,使得系统具有局限性,不利于系统的重用。发明内容
有鉴于此,本发明的主要目的在于提供一种基于卫星遥感数据特征的分布式并行处理方法,用于解决现有卫星遥感数据分布式并发处理平台只适用于单个程序的作业或灵活性和通用性不足的技术问题。
为达到上述目的,本发明的技术方案是这样实现的
一种基于卫星遥感数据特征的分布式并行处理方法,该方法包括
将文件和处理程序抽象为文件类和转换类,依据文件和处理程序的分层关系分别建立文件类对象标识树和转换类对象标识树;
基于文件类对象标识树、转换类对象标识树、命名树及文件类和转换类的输入输出关系,生成主配置文件;
主机依据主配置文件生成与任务对应的文件依赖图和转换依赖在运行时,主机负责监视各从机的任务执行状态,并负责更新文件依赖图和转换依赖图中各文件类实例和转换类实例的状态信息;
主机依据文件依赖图和转换依赖图判断是否有子任务满足执行条件,将满足执行条件的子任务分发给分机执行。
进一步地,所述转换类对象标识树基于处理程序的分层关系为每个对应的转换类分配对象标识,除包含所有处理程序对应的转换类节点之外,所述转换类对象标识树还包含用于建立文件类和转换类之间的依赖关系的分支转换节点和合并转换节点。
进一步地,所述文件类对象标识树基于文件的分层关系为每个对应的文件类分配对象标识,每一层的转换类输出的文件类作为下一层转换类的输入。
进一步地,所述文件依赖图包含文件类实例信息字段和对应的文件类实例是否可用的状态字段,所述文件类实例信息字段中包含了文件类名称及该文件类实例所处命名树层次的信息。
进一步地,所述转换类依赖图包含转换类实例信息字段、转换类实例运行状态字段、输入文件类字段、输出文件类字段、上层转换类实例信息字段、下层转换类实例信息字段。
进一步地,所述主机判断子任务满足执行条件的方法为
主机中的调度模块不断扫描所述文件依赖图和转换依赖图,判断与具体处理程序对应的转换类实例所依赖的所有文件类实例是否可用,当该转换类实例所依赖的所有文件类实例全部可用时,则该转换类实例对应的子任务满足执行条件。
进一步地,在分析执行完一个任务后,通知主机,主机更新该任务对应的转换类实例的状态,并获取该转换类实例对应的输出文件类实例标识信息,并通过获取的输出文件类实例标识信息更新文件依赖图中的文件类实例对应的状态信息。
进一步地,所述主机将满足执行条件的子任务放入任务队列,分机从任务队列中获取尚未执行的子任务,当一个分机的任务执行失败时,失败的子任务被重新添加至任务队列。
进一步地,所述方法还包括依据主配置文件建立依赖图模型,依据依赖图模型建立图形化的分景执行状态图和/或单景执行实例图,且主机通过对文件依赖图和转换依赖图的扫描,依据对应的文件类实例和转换类实例的状态实时更新所述分景执行状态图和/ 或单景执行实例图。
进一步地,所述方法采用集中式存储方案将数据存储于磁盘阵列上,将磁盘阵列映射到主机及各从机上;由主机统一进行任务管理,处理能力强的主机和/或从机开启多个进程并发执行任务处理程序。
本发明具有以下技术效果
(1)本发明对文件和处理程序进行抽象,根据文件和处理程序之间的输入输出关系生成文件类和处理类之间的依赖关系,并基于依赖关系自动生成全局的依赖图,基于依赖图实现全局的分布式任务处理及调度。由于通过依赖图主机能够实时掌握各子任务的运行状态,当一个子任务的运行条件满足时,系统能够自动动态添加新的子任务,所以本发明不仅解决了每一个处理步骤的任务分配问题,同时解决了在数据处理中,数据和任务实时变化情况下的动态调度问题。
(2)本发明可通过修改接口方便的更换实际的处理程序并适应不同的输入输出文件;使用对象标识树可以很好的支持扩展,当业务流程发生变动时,可通过修改配置文件方便的重新确定依赖关系,使得系统具有可扩展性、灵活性和通用性,同时不失对于具体问题的针对性。
(3)本发明能够自动生成全局可视化监控视图,动态监控并行化处理任务的执行情况,使用户能够直观地感觉到任务的执行状态,具有更好的交互界面。


图1为本发明实施例提供的并行处理方法的流程图2为本发明实施例提供的转换类Oid树的示例图3为本发明实施例提供的文件类Oid树的示例图4为本发明实施例提供的系统Oid树的示例图5为本发明实施例提供的命名树和依赖图模型的示例;
图6为本发明实施例提供的EMIS产品的生产所涉及的文件和处理程序之间的输入输出关系示意图7为本发明实施例提供的任务执行状态的顶层图8为本发明实施例提供的分景执行状态图9为本发明实施例提供的单景执行实例图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,以下举实施例并参照附图,对本发明进一步详细说明。
本发明基本思想是将分布式并行处理流程中所涉及的文件以及处理程序抽象成文件类和转换类,并通过设置文件类和转换类之间的依赖关系生成对应的依赖关系图, 在任务的执行过程中通过依赖关系图确定每一个转换类是否满足并发执行条件,并将满足执行条件的任务添加至任务队列。在分布式系统的实现上采用基于消息传递的主从机 (Master-Slave)机制,主机负责任务划分和执行情况监测,从机领取任务执行。
图1为本发明实施例提供的并行处理方法的流程图,该方法具体包括
步骤101、确定系统边界,依据系统边界确定系统所涉及到的文件和处理程序,将文件和处理程序分别划分层次,确定各文件和各处理程序之间的输入输出关系;
系统边界限定了系统的功能范围,根据业务处理流程对业务所涉及的数据文件和处理程序进行层次划分。以地学遥感卫星数据业务处理系统为例,该系统的业务处理流程可分为以下四个处理层次(或称为处理步骤),分别为预处理、初级处理、合成处理和再分析处理,每一层,针对不同的原始卫星数据可有多个处理程序。
每一处理程序都用于完成整个业务流程中的一个处理层次中的某个处理步骤,每一个处理步骤都可能会依赖于上层处理步骤输出的文件。当一个处理程序所需的文件(文件中包含处理程序所需的数据)都准备好后,该处理程序才能够运行,在该处理程序运行的过程中可能会生成新的文件,新的文件可以是结果数据也可以作为下一层处理程序的输入。
步骤102、对经过分层的文件和处理程序进行抽象,建立文件类和转换类,并依据文件和处理程序的分层关系分别建立文件类对象标识树和转换类对象标识树,依据任务划分方法建立命名树;
(1)分别对各处理程序进行抽象形成转换类,根据处理程序的分层关系为每一个转换类分配对象标识(object identity, oid),从而建立转换类的oid树。
以卫星数据处理系统为例,可抽象出顶层的转换类节点TranS_all,然后在顶层节点下,又可分为如下的抽象的转换类节点预处理层节点、初级处理层节点、合成处理层节点和再分析处理层节点,每个层节点下又可包含多个子节点,最底层的叶子节点与处理程序对应,依照上述方式建立转换类oid树,对转换类进行管理。
转换类oid树的示例如图2所示,在转换类oid树中,所有转换类可以根据其所属的层次进行划分,该转换类oid树中与业务相关的最底层的叶子节点与处理程序具有一一对应关系。
此外,为了建立文件类和转换类之间的依赖关系,在转换类Oid树中还增添了一些抽象的转换节点,例如分支转换节点和合并转换节点,即split节点和combine节点。
(2)分别对各文件进行抽象形成文件类,根据文件分层关系为每一个文件类分配对象标识,建立文件类的oid树;
对于每一个处理程序的输入输出文件,使用统一的命名规则进行命名,以方便管理和区分文件内容。每一层的处理程序输出的文件,作为下一层处理程序的文件输入。在每一层的输入或输出文件的文件名中包含文件的基本信息,所述基本信息可包含文件是经过哪一层处理的结果、数据的类型(例如是卫星数据还是处理的产品数据)、时间和空间信息(例如数据所属的时间和空间坐标信息)、文件生成日期等。将每一个处理程序的输入和输出文件,根据其文件类型和内容抽象成为文件类,并为每一个文件类分配一个唯一的oid,建立文件类oid树。
文件类oid树的示例如图3所示,在文件类的oid树中,文件类依据其相关的转换类及内容等可划分多个层次,该文件类oid树中最底层的叶子节点与文件实例具有一一对应关系。
(3)依据任务划分及任务定制需求,建立命名树及相关节点;
命名树用于任务的划分,如卫星数据处理中,需要处理多年全球多景数据,处理程序使用一年一景数据作为最小处理单位,则在任务划分时,可以将任务先按照年划分成多年,再将每一年的任务按照景划分,对于这种情况,在nametree下,第一层为年(year),第二层为景(tile)。在任务下达后,系统将任务按year划分后再按照tile划分成子任务。
本发明基于上述建立文件类oid树、转换类oid树及命名树等,构造出系统对象标识树,系统oid树结构如图4所示,top_all作为树的根节点,special下为整个结构中的特殊节点,process下为针对不同子系统建立的不同的树,一个子系统processx节点下包含 File_class文件类、Trans_class转换类和命名树Nametree, File_class下为所有的文件类,TranS_claSS下为所有的转换类。其中,Nametree和Special节点用于任务的划分和子任务的定制;
文件类的层次与转换类的层次相互对应。以卫星数据处理系统为例,对于每一层次的处理,卫星数据处理所使用的源数据文件抽象为G01,经过预处理的数据文件抽象为 G02,初级处理产品的数据文件抽象为G03,合成产品的数据文件抽象为G04,再分析产品的数据文件抽象为G05。所有的文件类依据其所处的层次归类到G01-G05下,并依据其内容进行细分。
步骤103、依据文件类和转换类的输入输出关系,生成主配置文件;
由于文件类和转换类由系统所涉及的文件和处理程序抽象而来,因此,依据文件和处理程序之间的输入输出关系即可定义出文件类和转换类之间的依赖关系。
所述主配置文件中包含内容至少包含系统对象标识树、文件类与转换类之间的输入输出关系。
步骤104、根据主配置文件构造依赖图模型。
所述依赖图模型用于反映文件类与转换类之间的依赖关系,命名树的每一层都有与其对应的依赖图模型,命名树中下层是上层的细化,对应地,下层的依赖图模型也是上层依赖图模型的逐步细化。
在分配任务并构造每个任务的实例时,与任务相对应的依赖图实例即为依赖图模型的一个实例,但是其中的文件类被替换成该子任务对应的文件,其中的转换类被替换为该子任务对应的处理程序。
图5为本发明实施例提供的命名树和依赖图模型的示例,该图中最左侧为命名树,右侧为依赖图模型,每一个依赖图模型都有一个所属的命名树的层次与其对应。每往下一级的依赖图模型,都是其上一层依赖图模型更具体细化。与命名树相关联的依赖图模型用于运行时实例图的展示,最底层的依赖图模型对应到运行时每一个具体的子任务进度监控。
该步骤为可选步骤,主要用于依据依赖图模型生成与实际运行任务对应的实例图,例如单景实例图、分景状态图等。
步骤105、运行前,配置分布式运行所需参数,配置主机与从机信息,使其能基于网络构成一个分布式计算环境。
步骤106、主调程序读取主配置文件进行初始化,并根据任务配置文件进行命名树初始化及子任务划分,为每个子任务建立一个运行实例图。
所述任务配置文件用于配置需要执行的任务,及依照命名树的分层进行子任务的划分,该文件划分的子任务在实际运行时还将进一步划分为与处理程序对应的子任务。
步骤107、主调程序依据主配置文件生成文件依赖图和转换依赖图,在依赖图中标记所有实例的运行状态信息。
所述文件依赖图对本次任务所需的所有文件实例构建一一对应的记录信息,所述文件依赖图包含no字段、key字段和status字段,其中no字段为序号标识,key字段为文件类实例信息字段,status为文件类实例是否可用的状态字段。
key值包含的信息有文件类名称(别名)、该文件类所属命名树的根节点标识、该文件类所属命名树的层次及上层节点标识,其格式形如fileclassnameO nametreerootnametreelv 1 :nametreelv2. . . . :nametreelvn。其中,fileclassname 为该文件类的名称或别名,用于唯一的确定一个文件类,nametreeroot为nametree中的根节点标识,nametreelv 1为nametree中第一层节点标识,nametreelv2为nametree第二层节点标识,以此类推,直至该文件类对应的nametree中层次节点标识。按照nametree划分出的每一个文件类实例都是在运行当中处理程序的一类输入或输出。通过这种形式标记的每一个文件类实例,在其后对应一条状态status信息,在文件未准备好时,该信息为未建立notcreated状态,而文件生产出以后,系统标记为可用for_use状态,通过文件类的for_ use状态,系统可以判断依赖于该文件类实例的转换类实例是否可以开始执行任务。
转换依赖图中包括关键字key、状态status、输入文件类left、输出文件类right、 上层图键值up、下层图值down、起始时间Start_time、结束时间end_time等信息,其中key 为每一个转换类实例的唯一标识,命名规则与文件类实例命名规则类似,通过@前的字段标识出是哪个转换类的实例,通过@后的字段标识出是对应到哪个具体的转换类。Matus 用于标识该转换类实例的执行状态,left用于标识该转换类对应的输入文件类实例,right 用于标识该转换类实例的输出文件类实例,left和right中所涉及到的文件类实例与文件依赖图通过文件依赖图的key存在对应关系。在转换依赖图中,在文件类key前加序号表示是第几个输入,对于多个输入,其形式为(I)filekeyl0)filekey2... (η) f ilekeyn (其中filekey为输入或输出文件在文件依赖图中的key),up用于标识上层转换类实例,其内容为对应的上层转换类实例的key,down用于标识下层所包含的转换类实例,同样使用序号来标记多个子转换,其形式为(1) transkeyl (2) transkey2. . . . (η) transkeyn (其中 transkey为转换依赖图中对应转换类实例的key)。所有down为空的转换都对应一个具体的处理程序,而有down信息的转换只是一个抽象的转换。
步骤108、任务开始,从机通过与主机的通信获取子任务信息,并领取子任务在本机执行,主机监视从机的子任务执行状态,更新文件依赖图和转换依赖图中各文件类实例和转换类实例对应的状态,并判断是否有子任务满足执行条件,若满足,则开启子任务。从机在执行完当前子任务后从主机领取已开启的但还未被执行的子任务。
—个大的运行任务在根据命名树划分成子任务后,可进一步划分为更小的子任务,最终一个转换类实例即用于完成一个不可再分的子任务,所述不可再分的子任务对应于转换依赖图中的不包含子图down信息的转换类实例。
本发明采用分布式系统,该分布式系统使用主从机机制,主机接收任务,根据主配置文件及任务配置文件生成相应的文件依赖图和转换依赖图,并在运行时生成任务的实例图,提供当前任务执行状态的图形化显示。主机中的调度模块不断扫描依赖图中的文件类实例和转换类实例的运行状态,依据依赖图判断哪些子任务已满足触发并行的条件,满足触发并行执行条件的子任务将被添加到任务队列中。
判断子任务是否满足触发并行执行条件的详细步骤为主机首先读取转换依赖图,对转换依赖图进行逐条扫描,针对一个转换类实例,首先通过left字段获得该转换类实例所依赖的文件类实例,通过从该字段中获取的文件类实例key值在文件依赖图中查找对应的文件类实例的状态是否都为for_USe状态,只有在该转换类实例所依赖的所有文件类实例的状态都为for_USe可用状态时,该转换类实例才能作为一个满足运行条件的子任务分发给从机执行。分机通过转换依赖图中的right字段的值可获知当前子任务生成的文件对应于文件依赖图中的哪个文件类实例,并在文件生成完毕后通知主机更新文件依赖图中对应的文件类实例的状态。
每一个分机上配备一套任务执行程序,与主机使用消息进行通信。当任务开始时, 分机从任务队列中获取一个尚未执行的子任务,在分机执行完毕后,通知主机,主机更新依赖图中的文件类实例和转换类实例的状态,分机可领取下一个任务,任务是否被领取由主机进行统一管理,当一个分机的任务执行失败时,该失败的任务视情况被重新添加至任务队列。所有数据采用集中式存储方式,存储在磁盘阵列上,并映射在各机器上。使用这种方式进行分布式处理,不要求进行处理的分机具有大容量硬盘及高性能处理器,各机量力而行对任务进行处理,同时主机也可开启任务执行程序进行任务处理,处理能力强的机器可开启多个进程并发执行。
以下以生产Modis卫星地表发射率初级产品举例说明本发明的具体实现过程, 该产品需要三种原始卫星数据M0D09A1、MCD43B3, MCD4!3B2,这三种原始数据无法直接拿来使用,需要进行预处理后再进行产品生产。其中M0D09A1的数据预处理无其他输入,而 MCD43B3需要MCD43B2数据作为辅助数据。这两个预处理程序分别定名为ft~e_MOdiS09AlNS 和ft~e_MCD4;3B3。在预处理步骤之后,得到两种数据,再将这两种数据一起作为输入,进行反射率产品EMIS的生产,其处理程序定名为EMIS_Modis。
为了区分不同层次的输入输出文件,将原始数据文件统一划入GOl层,经过预处理后的数据划入G02层,生产出来的初级产品划入G03层。该EMIS产品的生产所涉及的文件和处理程序之间的输入输出关系如图6所示。
在确定文件和处理程序之间的输入输出关系后,需要考虑在实际分配任务时,任务如何进行划分,这个步骤的确定也是命名树的确定。Modis卫星数据是将全球地域进行划分,划分的每一块叫做一景,每一景以h和ν两个坐标来标记,类似经纬度的划分。每一景的文件对于其他景都是相对独立的,可以进行独立的处理。而Modis预处理和EMIS产品的生产过程中,需要利用不同时间的数据进行迭代,因而,对于处理程序而言,最小的处理单位是一年一景,命名树按照“顶层-年-景”的方式确定。命名树的创建用于方便实际任务的划分,使任务划分更为清晰,同时在涉及给系统用户展示系统当前进度时,可以方便用户的查看,如用户想查看某一年所有景的进展情况,则通过与系统的交互选中感兴趣的年份, 系统将该年份下的进度展示给用户,若用户还想进一步查看某一景的进度,则可以通过再次交互得到具体某一景的执行进度信息。
若要处理2003年到2005年,hlvl,h2vl,h3vl的数据,则可以先将任务按年划分成 2003到2005的子任务,在对每一个子任务进行进一步细分,如2003年hlvl、2003年h2vl、 2003年h3vl,2004年hlvl、2004年h2vl、2004年h3vl等。这样确立的划分是按照年_景划分的,也可以采用景优先的方式。
在实际执行过程中,使用的输入文件是hdf格式的文件,这些文件根据其经过的处理,可以归类为原始数据文件、预处理文件、初级产品文件,分别以G01、G02、G03前缀命名以示区别,在做了这个基本划分后,再按照具体是哪颗卫星或是哪个产品进行分类,按卫星分如MODIS卫星,风云卫星等,按产品分如发射率产品EMIS,反照率产品RAD等。在此之后按照具体的产品还可以进行一次分层,如在MODIS下还有不同的数据M0DIS09、M0IDS43 等。这一步对文件的分层主要是出于文件管理的方便。
进行预处理和产品生产的处理程序可能是由java、C++、IDL等多种工具进行开发的,在进行抽象的过程中,忽略掉其具体的细节,仅作为一个转换类进行抽象。把预处理过程中使用的处理程序划为G12层,即将文件类从GOl转化为G02的程序。同理,初级产品生产所用的程序归为 G23 层。则 Pre_Modis09AlNS、Pre_MCD43B3 属于 G12 层,EMIS_Modis 属于G23层。
在完成上述步骤后,分别构造文件类和转换类的Oid树。Oid树的建立有两个作用,其一是使得文件类和转换类的管理变得更加方便有条理,另一方面也为给系统用户提供实际任务执行时当前进度的分层显示。
该实施例所建立的文件类如表1所示,所建立的转换类如表2所示,其中Alias作为每个文件类的唯一标识,转换类的名称唯一。
表1文件类
权利要求
1.一种基于卫星遥感数据特征的分布式并行处理方法,其特征在于,该方法包括将文件和处理程序抽象为文件类和转换类,依据文件和处理程序的分层关系分别建立文件类对象标识树和转换类对象标识树;基于文件类对象标识树、转换类对象标识树、命名树及文件类和转换类的输入输出关系,生成主配置文件;主机依据主配置文件生成与任务对应的文件依赖图和转换依赖图;在运行时,主机负责监视各从机的任务执行状态,并负责更新文件依赖图和转换依赖图中各文件类实例和转换类实例的状态信息;主机依据文件依赖图和转换依赖图判断是否有子任务满足执行条件,将满足执行条件的子任务分发给分机执行。
2.根据权利要求1所述的方法,其特征在于,所述转换类对象标识树基于处理程序的分层关系为每个对应的转换类分配对象标识,除包含所有处理程序对应的转换类节点之外,所述转换类对象标识树还包含用于建立文件类和转换类之间的依赖关系的分支转换节点和合并转换节点。
3.根据权利要求2所述的方法,其特征在于,所述文件类对象标识树基于文件的分层关系为每个对应的文件类分配对象标识,每一层的转换类输出的文件类作为下一层转换类的输入。
4.根据权利要求3所述的方法,其特征在于,所述文件依赖图包含文件类实例信息字段和对应的文件类实例是否可用的状态字段,所述文件类实例信息字段中包含了文件类名称及该文件类实例所处命名树层次的信息。
5.根据权利要求4所述的方法,其特征在于,所述转换类依赖图包含转换类实例信息字段、转换类实例运行状态字段、输入文件类字段、输出文件类字段、上层转换类实例信息字段、下层转换类实例信息字段。
6.根据权利要求5所述的方法,其特征在于,所述主机判断子任务满足执行条件的方法为主机中的调度模块不断扫描所述文件依赖图和转换依赖图,判断与具体处理程序对应的转换类实例所依赖的所有文件类实例是否可用,当该转换类实例所依赖的所有文件类实例全部可用时,则该转换类实例对应的子任务满足执行条件。
7.根据权利要求6所述的方法,其特征在于,在分析执行完一个任务后,通知主机,主机更新该任务对应的转换类实例的状态,并获取该转换类实例对应的输出文件类实例标识信息,并通过获取的输出文件类实例标识信息更新文件依赖图中的文件类实例对应的状态信息。
8.根据权利要求7所述的方法,其特征在于,所述主机将满足执行条件的子任务放入任务队列,分机从任务队列中获取尚未执行的子任务,当一个分机的任务执行失败时,失败的子任务被重新添加至任务队列。
9.根据权利要求1所述的方法,其特征在于,所述方法还包括依据主配置文件建立依赖图模型,依据依赖图模型建立图形化的分景执行状态图和/ 或单景执行实例图,且主机通过对文件依赖图和转换依赖图的扫描,依据对应的文件类实例和转换类实例的状态实时更新所述分景执行状态图和/或单景执行实例图。
10.根据权利要求7所述的方法,其特征在于,采用集中式存储方案将数据存储于磁盘阵列上,将磁盘阵列映射到主机及各从机上; 由主机统一进行任务管理,处理能力强的主机和/或从机开启多个进程并发执行任务处理程序。
全文摘要
本发明公开了一种基于卫星遥感数据特征的分布式并行处理方法,用于解决现有卫星遥感数据分布式并发处理平台只适用于单个程序的作业或灵活性和通用性不足的技术问题。本发明对文件和处理程序进行抽象,根据文件和处理程序之间的输入输出关系生成文件类和处理类之间的依赖关系,并基于依赖关系自动生成全局的依赖图,基于依赖图实现全局的分布式任务处理及调度,具有很强的灵活性、扩展性和通用性。
文档编号G06F9/38GK102508639SQ201110305008
公开日2012年6月20日 申请日期2011年10月10日 优先权日2011年10月10日
发明者修佳鹏, 夏亚梅, 杨正球, 薇娜 申请人:北京邮电大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1