CN116996112A - 一种遥感卫星数据实时预处理方法 - Google Patents

一种遥感卫星数据实时预处理方法 Download PDF

Info

Publication number
CN116996112A
CN116996112A CN202311228687.XA CN202311228687A CN116996112A CN 116996112 A CN116996112 A CN 116996112A CN 202311228687 A CN202311228687 A CN 202311228687A CN 116996112 A CN116996112 A CN 116996112A
Authority
CN
China
Prior art keywords
data
remote sensing
processing
sensing satellite
real
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.)
Granted
Application number
CN202311228687.XA
Other languages
English (en)
Other versions
CN116996112B (zh
Inventor
李景山
曹蓁
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Aerospace Information Research Institute of CAS
Original Assignee
Aerospace Information Research Institute of CAS
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Aerospace Information Research Institute of CAS filed Critical Aerospace Information Research Institute of CAS
Priority to CN202311228687.XA priority Critical patent/CN116996112B/zh
Publication of CN116996112A publication Critical patent/CN116996112A/zh
Application granted granted Critical
Publication of CN116996112B publication Critical patent/CN116996112B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B7/00Radio transmission systems, i.e. using radiation field
    • H04B7/14Relay systems
    • H04B7/15Active relay systems
    • H04B7/185Space-based or airborne stations; Stations for satellite systems
    • H04B7/1851Systems using a satellite or space-based relay
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/50Information retrieval; Database structures therefor; File system structures therefor of still image data
    • G06F16/51Indexing; Data structures therefor; Storage structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5072Grid computing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/40Scaling of whole images or parts thereof, e.g. expanding or contracting
    • G06T3/4038Image mosaicing, e.g. composing plane images from plane sub-images
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B7/00Radio transmission systems, i.e. using radiation field
    • H04B7/14Relay systems
    • H04B7/15Active relay systems
    • H04B7/185Space-based or airborne stations; Stations for satellite systems
    • H04B7/18578Satellite systems for providing broadband data service to individual earth stations
    • H04B7/18582Arrangements for data linking, i.e. for data framing, for error recovery, for multiple access
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2200/00Indexing scheme for image data processing or generation, in general
    • G06T2200/32Indexing scheme for image data processing or generation, in general involving image mosaicing

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • General Engineering & Computer Science (AREA)
  • Astronomy & Astrophysics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Mathematical Physics (AREA)
  • Radio Relay Systems (AREA)

Abstract

本发明涉及遥感卫星技术领域,提供一种遥感卫星数据实时预处理方法,通过采用流式处理架构,把预处理中帧同步、解扰、译码、分包、辅助数据和图像提取、解压缩、图像拼接、相对辐射校正、系统几何校正处理环节的数据以切片流式模式进行传输,各个处理环节中的数据通过服务器间互联网络或内存进行传输,取代了传统批处理的以磁盘进行传输和交换的处理方法,并可根据系统实际性能测试,调整数据切片大小和遥感数据顺序流的并行度,解决了遥感卫星数据处理性能和通用性问题,提高了预处理产品时效性。

Description

一种遥感卫星数据实时预处理方法
技术领域
本发明涉及遥感卫星技术领域,尤其涉及一种遥感卫星数据实时预处理方法。
背景技术
遥感卫星数据实时预处理是指对遥感卫星数据进行及时、自动化的处理,以快速获取高质量的信息,并在数据采集后立即进行处理。实时预处理的目标是使遥感卫星数据在接收后能够立即进行后续分析和应用,例如监测自然灾害、环境变化、农作物生长等。通过及时处理遥感数据,可以实现快速响应,帮助决策者做出准确的判断和决策,同时提高对不断变化的环境状况的实时监控能力。
目前,遥感卫星数据实时预处理的实现方式主要分为两类。一种是基于MPI、OpenMP和CUDA的组合,整体采用C++实现数据的流式处理和并行加速。另一种是采用成熟的流式架构,如Apache Storm、Apache Spark等,整体使用Java来实现卫星数据的核心处理。然而,这两种实现方式各有优势和局限性。第一种实现方式在处理性能方面表现较好,能够有效利用MPI、OpenMP和CUDA等并行计算技术,加速数据处理过程。但是,当处理复杂流程时,由于框架设计较为复杂,导致系统的通用性和可扩展性不足。第二种实现方式具有较好的通用性和可拓展性,通过成熟的流式架构可以灵活地组织和管理数据处理流程,实现高度可扩展的系统。然而,在核心的处理单元上,由于使用Java而不是C/C++,性能存在较大幅度的降低,尤其是在处理大规模数据时。
为克服上述难题,需要在成熟的流式架构基础上,设计一种新的遥感卫星数据实时预处理方法,采用C++作为核心模块的实现语言。通过将C++核心模块与流式架构有机结合,可以解决遥感卫星数据处理的通用性问题,同时在性能方面也能够取得明显的提升。这种设计将兼顾流式架构的灵活性和可扩展性,以及C++的高性能特点,从而实现高效、通用且可拓展的遥感卫星数据实时预处理方法。
因此,如何解决遥感卫星数据处理的性能问题和提高通用性,是当前需要解决的技术问题。
发明内容
本发明提供一种遥感卫星数据实时预处理方法,用以解决现有技术中存在的缺陷,实现解决了遥感卫星数据处理性能和通用性问题,提高了预处理产品时效性。
本发明提供一种遥感卫星数据实时预处理方法,包括:
将遥感卫星数据预处理的过程进行分解,得到帧同步步骤、解扰步骤、译码步骤、分包步骤、辅助数据步骤和图像提取步骤、解压缩步骤、图像拼接步骤、相对辐射校正步骤以及系统几何校正步骤,基于分解后的各步骤对应的处理单元,建立实时预处理计算框架;
获取遥感卫星原始数据,将所述遥感卫星原始数据进行分片,得到分片数据,将分片数据基于流式处理的方式依次通过分解后的各步骤进行数据预处理,得到各步骤的处理结果数据,将所述处理结果数据通过网络或内存进行传输;
将目标编程语言和所述实时预处理计算框架相结合,利用各步骤对应的处理单元对所述遥感卫星原始数据进行预处理;
对所述遥感卫星原始数据对应的实时预处理计算框架进行逻辑层次划分,确定各个层次负责的功能;
根据所述各步骤遥感卫星数据的数据格式、系统实际性能测试结果对分片数据进行优化,确定优化数据大小;
确定各步骤对应的处理单元中的CPU密集型处理单元,基于所述CPU密集型处理单元的多核处理器进行数据并行处理。
根据本发明提供的一种遥感卫星数据实时预处理方法,所述将遥感卫星数据预处理的过程进行分解,得到帧同步步骤、解扰步骤、译码步骤、分包步骤、辅助数据步骤和图像提取步骤、解压缩步骤、图像拼接步骤、相对辐射校正步骤以及系统几何校正步骤,基于分解后的各步骤对应的处理单元,建立实时预处理计算框架之后,还包括:
将遥感卫星数据预处理的过程的各步骤独立化,采用统一的输入输出接口形式以保持各处理单元之间数据传递的通用性,并通过异步处理的方式来实现所述各处理单元的并行计算。
根据本发明提供的一种遥感卫星数据实时预处理方法,所述将所述处理结果数据通过网络或内存进行传输,包括:
基于Storm软件将各步骤的处理结果数据通过网络或内存传输,并进行流式数据处理。
根据本发明提供的一种遥感卫星数据实时预处理方法,所述将目标编程语言和所述实时预处理计算框架相结合,利用各步骤对应的处理单元对所述遥感卫星原始数据进行预处理,包括:
将C/C++编写处理程序和所述实时预处理计算框架相结合,利用各步骤对应的处理单元对所述遥感卫星原始数据进行预处理。
根据本发明提供的一种遥感卫星数据实时预处理方法,所述对所述遥感卫星原始数据对应的实时预处理计算框架进行逻辑层次划分,确定各个层次负责的功能,包括:
将基于JNI(Java Native Interface)的Storm流式框架的实时预处理计算框架分为底层、中间层和顶层,确定各个层次负责的功能。
根据本发明提供的一种遥感卫星数据实时预处理方法,所述根据所述各步骤遥感卫星数据的数据格式、系统实际性能测试结果对分片数据进行优化,确定优化数据大小,包括:
基于不同数据块大小下组件之间的数据交换速率,确定目标分片大小;
通过环形缓冲区作为各所述处理单元的输入输出缓存,在中间处理数据达到目标分片大小时即刻进行数据传输。
根据本发明提供的一种遥感卫星数据实时预处理方法,所述确定各步骤对应的处理单元中的CPU密集型处理单元,基于所述CPU密集型处理单元的多核处理器进行数据并行处理之后,还包括:
确定所述遥感卫星原始数据中的待处理数据,将所述待处理数据中引入标记计数器和处理组件任务索引信息,基于所述标记计数器和处理组件任务索引信息对并行处理后的数据进行排序。
本发明提供的一种遥感卫星数据实时预处理方法,通过采用流式处理架构,把预处理中帧同步、解扰、译码、分包、辅助数据和图像提取、解压缩、图像拼接、相对辐射校正、系统几何校正处理环节的数据以切片流式模式进行传输,各个处理环节中的数据通过服务器间互联网络或内存进行传输,取代了传统批处理的以磁盘进行传输和交换的处理方法,并可根据系统实际性能测试,调整数据切片大小和遥感数据顺序流的并行度,解决了遥感卫星数据处理性能和通用性问题,提高了预处理产品时效性。
附图说明
为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明提供一种遥感卫星数据实时预处理方法的流程示意图;
图2是采用成熟的Storm软件大致定义高分七号实时预处理流程中各个组件的拓扑方式的示意图;
图3是三层代码设计兼容通用遥感卫星预处理示意图;
图4是CPU密集型处理单元并行策略的示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
参照图1,本发明提供一种遥感卫星数据实时预处理方法,包括以下步骤:
步骤110、将遥感卫星数据预处理的过程进行分解,得到帧同步步骤、解扰步骤、译码步骤、分包步骤、辅助数据步骤和图像提取步骤、解压缩步骤、图像拼接步骤、相对辐射校正步骤以及系统几何校正步骤,基于分解后的各步骤对应的处理单元,建立实时预处理计算框架;
步骤120、获取遥感卫星原始数据,将所述遥感卫星原始数据进行分片,得到分片数据,将分片数据基于流式处理的方式依次通过分解后的各步骤进行数据预处理,得到各步骤的处理结果数据,将所述处理结果数据通过网络或内存进行传输;
步骤130、将目标编程语言和所述实时预处理计算框架相结合,利用各步骤对应的处理单元对所述遥感卫星原始数据进行预处理;
步骤140、对所述遥感卫星原始数据对应的实时预处理计算框架进行逻辑层次划分,确定各个层次负责的功能;
步骤150、根据所述各步骤遥感卫星数据的数据格式、系统实际性能测试结果对分片数据进行优化,确定优化数据大小;
步骤160、确定各步骤对应的处理单元中的CPU密集型处理单元,基于所述CPU密集型处理单元的多核处理器进行数据并行处理。
以下对本发明的各个步骤进行详细描述。
首先,在步骤110中,需要构建遥感卫星数据实时预处理系统,也就是将预处理的过程分解为帧同步步骤、解扰步骤、译码步骤、分包步骤、辅助数据步骤和图像提取步骤、解压缩步骤、图像拼接步骤、相对辐射校正步骤以及系统几何校正步骤。每个步骤对应一个处理单元,根据各个步骤对应的处理单元建立实时预处理计算框架,完成遥感卫星数据实时预处理系统的构建。
其次,在上述步骤120中,对获取到的遥感卫星原始数据进行分片,得到分片数据。需要说明的是,对遥感卫星数据进行分片是一种常见的遥感卫星数据的处理方式,可以将大规模的遥感数据切割成小块进行处理和分析。
可选地,在进行数据分片之后,还包括:将遥感卫星数据预处理的过程的各步骤独立化,采用统一的输入输出接口形式以保持各处理单元之间数据传递的通用性,并通过异步处理的方式来实现所述各处理单元的并行计算。
通过采用异步处理的方式来实现各处理单元的并行计算,可以数据优化处理效率,充分利用计算资源,提高系统响应能力和数据处理吞吐量。
然后将分片后的数据,通过成熟的Storm软件将各步骤的处理结果数据通过网络或内存传输,并进行流式数据处理。
参照图2,图2是采用成熟的Storm软件大致定义高分七号实时预处理流程中各个组件的拓扑方式的示意图;
具体地,Storm是一个免费开源、具备高容错的分布式实时计算系统。从物理架构的角度来说,Storm机群采用Master/Slave体系结构,其中主节点Nimbus负责资源分配和任务调度。从节点Supervisor负责接收Nimbus分配的任务,管理每一个Worker进程的启动和终止,有关调度相关的信息存储在分布式协调系统Zookeeper中。从计算架构的角度来说,一个实时计算应用程序的逻辑在Storm中被称为Topology。Topology中的数据流Stream是元组Tuple的无限序列,它由特定的逻辑组成并被精确定义。Topology中的数据入口为Spout组件,它充当采集器的角色连接数据源,经转换为规范化的Tuple后发送给Bolt组件处理。Bolt是流的处理节点,可以完成过滤、业务处理、连接运算、连接与访问数据库等任何操作。
本实施例中,实时预处理系统同时接收两路高分七号卫星原始数据,两路数据经帧同步、CRC校验后合并。CRC(Cyclic Redundancy Check)校验是一种常见的数据完整性校验方法,用于检测数据传输中可能出现的错误。
合并后的数据经分包后,变为载荷辅助数据和图像数据。后续再经过解压缩、辅助数据和图像分离、相对辐射校正以及系统几何校正流程,同时输出多个载荷的L1A级遥感图像产品。需要补充的是,L1A级遥感图像产品是指遥感卫星获取的原始数据经过预处理和校正后的产品。它是遥感图像处理的第一级别,通常包含了一些基本的校正和处理步骤,以提供用于后续科学研究或应用的数据基础。
进一步地,在上述步骤130中,利用高效的编程语言与实时预处理计算框架相结合,也就是实现上述的Spout组件和Bolt组件,以保证卫星数据处理的性能和效率。
可选地,所述将目标编程语言和所述实时预处理计算框架相结合,利用各步骤对应的处理单元对所述遥感卫星原始数据进行预处理,包括:将C/C++编写处理程序和所述实时预处理计算框架相结合,利用各步骤对应的处理单元对所述遥感卫星原始数据进行预处理。
也就是说,目标编程语言通常选用C/C++编写处理程序,在实现的过程中,采用C/C++编写异步处理程序,统一数据输入输出的接口形式。一般情况下,核心处理方法中的参数依次为:输入数据首地址,输入数据长度、输出数据首地址和输出数据长度。本实施例中,通过使用JNI方法实现C/C++代码与Java代码之间的无缝集成。需指出,JNI(Java NativeInterface)是 Java 提供的一种机制,用于实现 Java 与其他编程语言(本实施例中的C/C++编写异步处理程序)之间的交互。通过 JNI,Java 程序可以调用本地语言编写的代码,并且本地语言代码也可以调用 Java 提供的功能。
更进一步地,通过上述步骤140,对所述遥感卫星原始数据对应的实时预处理计算框架进行逻辑层次划分,确定各个层次负责的功能,从而提高实时预处理系统的灵活性、可维护性、可扩展性和可重用性。
具体体现为:将基于JNI(Java Native Interface)的Storm流式框架的实时预处理计算框架分为底层、中间层和顶层,确定各个层次负责的功能。
参照图3,图3是三层代码设计兼容通用遥感卫星预处理示意图,将基于JNI的Storm流式框架的遥感卫星数据实时预处理系统划分为三个层级:底层、中间层和顶层。
a) 底层层级是由C++类编译成的通用库,类似于一般的C++库,能够被初始化并执行某些特殊功能的处理。这个底层库提供了底层数据处理的基本功能,并允许通过特定的C++类声明和调用执行特殊处理任务。
b) 中间层层级是通过JNI编译的本地库,其主要目的是衔接顶层和底层。该中间层不直接参与数据的计算,而是将底层C++类的声明传递给顶层,并提供处理数据的地址信息。通过JNI,顶层可以与底层库进行交互,从而调用底层的功能和方法。
c) 顶层层级是用Java实现的,它包含Storm库,并定义了实时流的拓扑结构,即实时流中包含了哪些处理单元。顶层层级负责组织和管理数据处理流程,将各个处理单元组合成拓扑结构,并负责实时流数据在各个处理单元之间的传输。
具体操作为,首先,将所有C++类的声明和实现编译成通用的库文件,该库文件可以作为通用预处理系统的组件,也可以作为基于C++的快视处理系统模块使用。然后,根据Storm系统中的Java代码生成包含本地方法函数原型的C/C++头文件。最后,使用该头文件实现连接Java和通用C++库的JNI函数,并将其编译成库。
通过上述步骤150,根据所述各步骤遥感卫星数据的数据格式、系统实际性能测试结果对分片数据进行优化,确定优化数据大小,即灵活设置数据的分片大小。
具体包括:基于不同数据块大小下组件之间的数据交换速率,确定目标分片大小;
通过环形缓冲区作为各所述处理单元的输入输出缓存,在中间处理数据达到目标分片大小时即刻进行数据传输。
本实施例中,经测试不同数据块大小下组件之间的数据交换速率,确定合适的分片大小为1MB左右。采用环形缓冲区作为处理单元的输入输出缓存,积累中间处理数据,当到达1MB时即刻传输,以此来达到传输性能最大化的目的。
进一步地,针对接收数据和发送数据采取不同方式进行数据分片。
a) 对于接收数据,根据处理组件所需处理数据的逻辑长度与一次性接收数据长度之间的关系,实施不同的策略:当逻辑处理长度等于一次性接收数据长度时,直接处理环形缓冲区中接收到的数据;当逻辑处理长度大于一次性接收数据长度时,将多次接收到的数据进行拼接,直至满足组件所需长度后再进行处理;而当逻辑处理长度小于一次性接收数据长度时,则根据需求多次取出一次性接收到的数据进行处理。
b) 对于发送数据,每次处理后的数据无论大小均流入输出环形缓冲区,随后检查输出环形缓冲区内数据大小,一旦满足数据分片大小要求,即发送一个或多个固定大小的数据分片。
这样的缓冲处理机制有效地管理数据流,保证数据在处理过程中的有序性,并根据需求进行适当的数据分片,以提高数据处理效率。
最后,通过上述步骤160,确定各步骤对应的处理单元中的CPU密集型处理单元,基于所述CPU密集型处理单元的多核处理器进行数据并行处理,充分利用了CPU密集型处理单元的多核处理器的并行计算能力采取并行操作。
需要说明的是,上述各步骤对应的处理单元均可以作为CPU密集型处理单元进数据并行计算。
进一步地,为保证遥感卫星数据的顺序性和处理组件的并行性,可采取一种高性能排序策略,具体包括:
确定所述遥感卫星原始数据中的待处理数据,将所述待处理数据中引入标记计数器和处理组件任务索引信息,基于所述标记计数器和处理组件任务索引信息对并行处理后的数据进行排序。
本实施例中,优化实时预处理系统中CPU密集型处理单元处理速率。根据系统中各处理单元性能测试,针对如解压缩处理单元等CPU密集型处理单元,充分利用了多核处理器的并行计算能力采取并行操作。为保证遥感卫星数据的顺序性和处理组件的并行性,采取了一种高性能排序策略。具体做法是在待处理数据中引入标记计数器和处理组件任务索引信息,以便在并行处理后能够根据这些标记信息进行高效排序。
在实际处理过程中,在上游处理组件中,将待处理数据和包计数器封装成包,然后将这些包发送给并行处理组件进行处理。并行处理组件接收这些包,并进行相应的处理操作。处理完成后,它将包计数器、当前处理组件任务索引以及处理后的数据再封装成包,发送给归并处理组件。
归并处理组件根据包中的组件任务索引,将接收到的包存储在不同的队列中。初始时刻,比较不同队列中的队首包计数器值,找到最小值。然后,在后续处理过程中,在不同队列的队首查找当前计数器的下一顺序计数,以保证数据的顺序性。
通过这种方式,在Storm中实现了对遥感卫星数据的并行处理,并且能够在并行处理后对卫星数据进行高效排序。这一优化措施既保证了数据的处理顺序,又发挥了并行计算的优势,进一步提升了遥感卫星数据实时预处理方法的性能和效率。
参照图4,图4是CPU密集型处理单元并行策略的示意图;
在上游处理组件Bolt-A中,将待处理数据和包计数器封装成包,然后将这些包发送给并行度为N(图中示出的N为3)的处理组件Bolt-B进行处理。并行处理组件Bolt-B接收这些包,并进行相应的处理操作。处理完成后,它将包计数器、当前处理组件任务索引以及处理后的数据再封装成包,发送给归并处理组件Bolt-C。
归并处理组件Bolt-C根据包中的组件任务索引,将接收到的包存储在不同的队列中。初始时刻,比较不同队列中的队首包计数器值,找到最小值。然后,在后续处理过程中,在不同队列的队首查找当前计数器的下一顺序计数,以保证数据的顺序性。
通过这种方式,在Storm中实现了对遥感卫星数据的并行处理,并且能够在并行处理后对卫星数据进行高效排序。这一优化措施既保证了数据的处理顺序,又发挥了并行计算的优势,进一步提升了遥感卫星数据实时预处理方法的性能和效率。
在本实施例中,单片CCD载荷的单线程解压缩处理性能仅为3.92MByte/s,应用此方法,设置并行度为10,单片CCD载荷的解压缩处理性能可提高至近30MByte/s。
本发明实施例提供的一种遥感卫星数据实时预处理方法,有益效果在于:通过采用流式处理架构,把预处理中帧同步、解扰、译码、分包、辅助数据和图像提取、解压缩、图像拼接、相对辐射校正、系统几何校正处理环节的数据以切片流式模式进行传输,各个处理环节中的数据通过服务器间互联网络或内存进行传输,取代了传统批处理的以磁盘进行传输和交换的处理方法,并可根据系统实际性能测试,调整数据切片大小和遥感数据顺序流的并行度,解决了遥感卫星数据处理性能和通用性问题,提高了预处理产品时效性。
在实施实时预处理任务拓扑之前,针对每个处理环节进行单线程性能评估是不可或缺的步骤。这一重要性源于卫星数据在各处理环节中所涉及的数据量存在差异,进而可能导致各步骤性能评估结果的不一致。在执行解压缩环节之前,各个处理步骤之间所涉及的数据量差异较小,所需的累计处理速率均应超过卫星总体数据的最高下传速率,即286MByte/s(2×1200 Mbps)。在执行解压缩之后,各个处理步骤之间所涉及的数据量差异仍较小,在忽略分包步骤数据量损失、辅助数据不压缩等因素,所需的累计处理速率均应满足以下公式:
其中表示解压缩后累计处理速率,/>表示解压缩前累计处理速率,C表示压缩比,D表示图像有效位宽(值为11),B表示解压缩后单波段图像一个像元的字节大小(值为2)。一般情况下,整轨数据压缩比最大为4:1,解压缩后各步骤累计处理速率应不低于1664MByte/s。
基于实验,各处理步骤性能评估如下:数据接入累计速率为2x624.36 MByte/s;双通道帧同步累计速率为2x2916.43 MByte/s;CRC校验累计速率为Nx275.62 MByte/s(N为并行数,下同);AOS分包累计速率为Nx3810.12 MByte/s;排序累计速率为Mx437.63 MByte/s(M为CCD类型数,高分七号卫星成像CCD类型数为13);解压缩累计速率为NxMx3.92 MByte/s(N为并行数,M为CCD类型数);相对辐射校正累计速率为1686.78 MByte/s;系统几何校正累计速率为2390.21 MByte/s;产品输出累计速率为1842.36MByte/s。
在高分七号实时预处理实验中,解压缩处理单元是CPU密集型任务。为了确保整个数据流能以速度超过两路数据下传总速率通过这些处理环节,需要提高相应处理步骤的并行度。单片CCD载荷的单线程解压缩处理速度为3.92 MByte/s。当其并行度增加至10时,单片CCD载荷的解压缩速度可以显著提升至接近30 MByte/s。考虑到该卫星配置了13片CCD载荷,整体解压缩步骤的处理速率可以达到390 MByte/s,这明显超出预定的两路数据最高下传总速率286 MByte/s(2×1200 Mbps)。基于以上方法,构建真实场景下的实时预处理任务拓扑,参见下表1。在构建实时预处理任务拓扑的实际应用场景中,采用了由40 GbpsInfiniBand网络连接的12台高性能计算服务器节点组成的Storm集群。每台服务器配置有2颗Intel(R) Xeon(R) Silver 4216 CPU @ 2.10GHz(每颗CPU具有16核32线程),以及64 GB内存。这些服务器运行在Red Hat Enterprise Linux 7.4操作系统上,采用Apache Storm2.4.0版本和Apache ZooKeeper 3.8.0版本。程序的运行环境为C++11和Java 8。在不考虑任务调度和资源分配策略的情况下,该Storm任务拓扑共占用了171个核心。
表1:
在实际应用中,任务拓扑的整体处理性能主要受到各个数据处理环节中最慢速率的限制,实际处理速度会低于这一瓶颈速率。根据表1的任务拓扑,若该系统最大化程度接收两个通道数据,则该系统的每个通道(共两个通道)数据处理能力均可达到180 MByte/s(约1510 Mbps);若该系统按记录速率接收两个通道数据,则该系统可实时生产遥感影像。因此,按照本方法构建的实时预处理系统实际处理速率大于高分七号卫星最高下传速率,可在一轨数据下传完成时间段内,完成卫星数据预处理工作,满足遥感卫星数据实时预处理的性能要求,并具有额外的处理能力作为冗余,以应对不可预见因素。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (7)

1.一种遥感卫星数据实时预处理方法,其特征在于,包括:
将遥感卫星数据预处理的过程进行分解,得到帧同步步骤、解扰步骤、译码步骤、分包步骤、辅助数据步骤和图像提取步骤、解压缩步骤、图像拼接步骤、相对辐射校正步骤以及系统几何校正步骤,基于分解后的各步骤对应的处理单元,建立实时预处理计算框架;
获取遥感卫星原始数据,将所述遥感卫星原始数据进行分片,得到分片数据,将分片数据基于流式处理的方式依次通过分解后的各步骤进行数据预处理,得到各步骤的处理结果数据,将所述处理结果数据通过网络或内存进行传输;
将目标编程语言和所述实时预处理计算框架相结合,利用各步骤对应的处理单元对所述遥感卫星原始数据进行预处理;
对所述遥感卫星原始数据对应的实时预处理计算框架进行逻辑层次划分,确定各个层次负责的功能;
根据所述各步骤遥感卫星数据的数据格式、系统实际性能测试结果对分片数据进行优化,确定优化数据大小;
确定各步骤对应的处理单元中的CPU密集型处理单元,基于所述CPU密集型处理单元的多核处理器进行数据并行处理。
2.根据权利要求1所述的遥感卫星数据实时预处理方法,其特征在于,所述将遥感卫星数据预处理的过程进行分解,得到帧同步步骤、解扰步骤、译码步骤、分包步骤、辅助数据步骤和图像提取步骤、解压缩步骤、图像拼接步骤、相对辐射校正步骤以及系统几何校正步骤,基于分解后的各步骤对应的处理单元,建立实时预处理计算框架之后,还包括:
将遥感卫星数据预处理的过程的各步骤独立化,采用统一的输入输出接口形式以保持各处理单元之间数据传递的通用性,并通过异步处理的方式来实现所述各处理单元的并行计算。
3.根据权利要求1所述的遥感卫星数据实时预处理方法,其特征在于,所述将所述处理结果数据通过网络或内存进行传输,包括:
基于Storm软件将各步骤的处理结果数据通过网络或内存传输,并进行流式数据处理。
4.根据权利要求1所述的遥感卫星数据实时预处理方法,其特征在于,所述将目标编程语言和所述实时预处理计算框架相结合,利用各步骤对应的处理单元对所述遥感卫星原始数据进行预处理,包括:
将C/C++编写处理程序和所述实时预处理计算框架相结合,利用各步骤对应的处理单元对所述遥感卫星原始数据进行预处理。
5.根据权利要求1所述的遥感卫星数据实时预处理方法,其特征在于,所述对所述遥感卫星原始数据对应的实时预处理计算框架进行逻辑层次划分,确定各个层次负责的功能,包括:
将基于JNI的Storm流式框架的实时预处理计算框架分为底层、中间层和顶层,确定各个层次负责的功能。
6.根据权利要求1所述的遥感卫星数据实时预处理方法,其特征在于,所述根据所述各步骤遥感卫星数据的数据格式、系统实际性能测试结果对分片数据进行优化,确定优化数据大小,包括:
基于不同数据块大小下组件之间的数据交换速率,确定目标分片大小;
通过环形缓冲区作为各所述处理单元的输入输出缓存,在中间处理数据达到目标分片大小时即刻进行数据传输。
7.根据权利要求1所述的遥感卫星数据实时预处理方法,其特征在于,所述确定各步骤对应的处理单元中的CPU密集型处理单元,基于所述CPU密集型处理单元的多核处理器进行数据并行处理之后,还包括:
确定所述遥感卫星原始数据中的待处理数据,将所述待处理数据中引入标记计数器和处理组件任务索引信息,基于所述标记计数器和处理组件任务索引信息对并行处理后的数据进行排序。
CN202311228687.XA 2023-09-22 2023-09-22 一种遥感卫星数据实时预处理方法 Active CN116996112B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311228687.XA CN116996112B (zh) 2023-09-22 2023-09-22 一种遥感卫星数据实时预处理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311228687.XA CN116996112B (zh) 2023-09-22 2023-09-22 一种遥感卫星数据实时预处理方法

Publications (2)

Publication Number Publication Date
CN116996112A true CN116996112A (zh) 2023-11-03
CN116996112B CN116996112B (zh) 2023-12-26

Family

ID=88525048

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311228687.XA Active CN116996112B (zh) 2023-09-22 2023-09-22 一种遥感卫星数据实时预处理方法

Country Status (1)

Country Link
CN (1) CN116996112B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117687799A (zh) * 2024-02-02 2024-03-12 中国科学院空天信息创新研究院 一种面向遥感解译应用的分布流式加速方法及计算终端

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104574265A (zh) * 2014-12-30 2015-04-29 中科九度(北京)空间信息技术有限责任公司 卫星遥感图像数据的处理方法及装置
KR101700422B1 (ko) * 2015-09-18 2017-02-13 한국항공우주연구원 위성 영상 데이터 전처리 시스템 및 방법
CN110855345A (zh) * 2019-11-18 2020-02-28 中国科学院电子学研究所 基于流式的高时效性静轨卫星处理系统及方法
CN113487900A (zh) * 2021-07-06 2021-10-08 北京邮电大学 一种针对卫星图像的异步道路信息提取系统及其控制方法
CN114493373A (zh) * 2022-03-31 2022-05-13 中国科学院空天信息创新研究院 一种遥感卫星处理系统中应急任务处理方法及装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104574265A (zh) * 2014-12-30 2015-04-29 中科九度(北京)空间信息技术有限责任公司 卫星遥感图像数据的处理方法及装置
KR101700422B1 (ko) * 2015-09-18 2017-02-13 한국항공우주연구원 위성 영상 데이터 전처리 시스템 및 방법
CN110855345A (zh) * 2019-11-18 2020-02-28 中国科学院电子学研究所 基于流式的高时效性静轨卫星处理系统及方法
CN113487900A (zh) * 2021-07-06 2021-10-08 北京邮电大学 一种针对卫星图像的异步道路信息提取系统及其控制方法
CN114493373A (zh) * 2022-03-31 2022-05-13 中国科学院空天信息创新研究院 一种遥感卫星处理系统中应急任务处理方法及装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
肖鹏等: "遥感卫星数据预处理功能扩展模型设计与实现", 遥感信息 *
陈亮等: "遥感卫星数据预处理系统复杂任务 调度模型研究与实现", 遥感信息 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117687799A (zh) * 2024-02-02 2024-03-12 中国科学院空天信息创新研究院 一种面向遥感解译应用的分布流式加速方法及计算终端

Also Published As

Publication number Publication date
CN116996112B (zh) 2023-12-26

Similar Documents

Publication Publication Date Title
US10831562B2 (en) Method and system for operating a data center by reducing an amount of data to be processed
CN116996112B (zh) 一种遥感卫星数据实时预处理方法
CN100570594C (zh) 在并行计算机上执行全收集操作的方法和系统
CN108681569B (zh) 一种数据自动分析系统及其方法
CN107067365A (zh) 基于深度学习的分布嵌入式实时视频流处理系统及方法
KR20170089067A (ko) 빅데이터 처리 시스템 및 처리 방법
CN106033476A (zh) 一种云计算环境中分布式计算模式下的增量式图计算方法
CN110914812A (zh) 用于高速缓存优化和高效处理的数据聚合方法
US20140365614A1 (en) Monitoring similar data in stream computing
CN105407356A (zh) 高速实时jpeg2000解码方法
CN111966943A (zh) 流式数据分发方法和系统
CN114372084A (zh) 面向传感流数据的实时处理系统
CN110308984A (zh) 一种用于处理地理分布式数据的跨集群计算系统
Simoncelli et al. Stream-monitoring with blockmon: convergence of network measurements and data analytics platforms
CN109871269A (zh) 一种遥感数据处理方法、系统、电子设备和介质
CN108234242A (zh) 一种基于流的压力测试方法和装置
CN108170535A (zh) 一种基于MapReduce模型的提升表连接效率的方法
CN114756629A (zh) 基于sql的多源异构数据交互分析引擎及方法
CN107204998B (zh) 处理数据的方法和装置
CN110109890A (zh) 非结构化数据处理方法和非结构化数据处理系统
CN106648722A (zh) 基于大数据的Flume接收端数据处理方法和装置
CN106599222B (zh) 一种流式并行处理日志的方法和设备
Oniani et al. A review of frameworks on continuous data acquisition for e-Health and m-Health
CN107665127A (zh) 一种数据流架构中基于网络负载特征进行指令调度的方法
CN116841714A (zh) 基于gpgpu芯片的多通道传输管理系统

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant