本发明涉及数据处理领域,尤其涉及一种卫星数据处理方法及系统。
背景技术:
:国际空间数据系统咨询委员会(consultativecommitteeforspacedatasystems,ccsds)建立了一整套空间数据标准,因其数据管理的灵活性和信道利用的高效性,空间科学卫星等很多卫星都采用了ccsds遥测遥控建议的标准数据格式。卫星数据处理过程要求不间断、数据吞吐率高并且数据处理延迟低。随着卫星载荷观测能力的增强和卫星地面接收能力的提高,单次卫星下传数据量急剧增长,而产品生成与分发时效性要求仍保持不变,卫星数据地面应用系统面临大数据实时处理的挑战。现有卫星数据处理方法采用数据驱动的批量计算模式,首先进行从卫星原始数据到源包数据的预处理,生成源包数据文件作为后续各级产品生产流程的输入数据,数据预处理和产品生产两个处理过程流水并行处理,如图1所示,处理节点间通过网络共享存储数据文件进行数据交互。现有方法采用“计算-存储中间数据-计算”的模式,存在一些技术缺陷:当卫星数据接收量增大时,预处理节点的数据处理延迟增大,生成源包数据文件时间延长,导致产品生产延迟增大,实时性不高,一旦缓存数据量超过内存占用上限,数据将无法正常接收,造成数据缺失;数据预处理为单一节点,难以扩展到分布式计算环境,现有方法不支持卫星数据处理规模的扩展;数据预处理生成的中间结果需保存到外部存储,通过网络共享给产品生产节点,中间结果的保存增加了数据处理的延迟。技术实现要素:(一)要解决的技术问题针对于现有的技术问题,本发明提出一种卫星数据处理方法及系统,用于解决至少部分解决上述技术问题之一。(二)技术方案本发明一方面提供一种卫星数据处理方法,包括:s1,对卫星数据的二进制码流进行处理,得到多个传输帧流;s2,对多个传输帧流进行分类,根据分类结果对不同类型的传输帧流进行分类并行处理,得到多个源包流;s3,提取多个源包流的源包数据域,得到多个源包数据单元流;s4,按源包类型对多个源包数据单元流进行分类,根据分类结果对不同类型的源包数据单元流进行分类并行处理,生成产品数据文件。可选地,每种类型的传输帧流对应一虚拟信道标识,根据虚拟信道标识符对多个传输帧流进行分类。可选地,针对于每一类型的传输帧流,解析传输帧头信息,根据虚拟信道标识提取源包。可选地,根据分类结果对不同类型的源包数据单元流进行分类并行处理,生成产品数据文件,包括:按照源包计数进行排序、拼接和去重处理,以预设格式输出文件,生成不同apid的源包产品数据文件。可选地,对二进制码流进行处理包括:对二进制码流进行帧同步、解扰和译码,纠正二进制码流中的误码。可选地,按照应用过程标识符提取多个源包流的源包数据域。可选地,传输帧流包括帧同步字、传输帧主导头、位流业务协议数据单元和校验填充字段;源包流包括同步码、应用过程标识符、分组标志、包序列计数、包数据长度、时间码、包装协议数据单元及填充字段;源包数据单元流包括一个或者多个相同源包类型的包装协议数据单元。本发明另一方面提供一种卫星数据处理系统,卫星数据处理系统基于流计算框架storm搭建,包括:控制节点、至少一个工作节点及状态协调集群节点,状态协调集群节点连接至控制节点,至少一个工作节点连接至状态协调集群节点;控制节点用于分配执行程序及卫星数据处理任务至至少一个工作节点,并监视至少一个工作节点;至少一个工作节点用于执行卫星数据处理任务,根据不同的虚拟信道类型和不同源包类型,对卫星数据进行分类并行处理,生成产品数据文件;状态协调集群节点用于收集工作节点的任务执行状态信息,同步工作节点的执行状态信息。可选地,每个工作节点部署组件包括:帧同步组件、虚拟信道分离组件、源包数据提取组件及产品生成组件;帧同步组件用于对卫星数据进行帧同步、解扰和译码,纠正卫星数据中的误码,得到多个传输帧流;虚拟信道分离组件用于根据虚拟信道标识符对得到多个传输帧流进行分类,根据分类结果对不同类型的传输帧流进行分类并行处理,得到多个源包流;源包数据提取组件用于按照应用过程标识符提取多个源包流的源包数据域,得到多个源包数据单元流;产品生成组件用于根据不同源包类型对多个源包数据单元流进行分类,根据分类结果对不同类型的源包数据单元流进行分类并行处理,生成产品数据文件。可选地,状态协调集群节点还用于根据控制节点及工作节点的状态信息对控制节点及工作节点的故障进行恢复。(三)有益效果本发明提出一种卫星数据处理方法及系统,有益效果为:1、根据最小细粒度,对卫星数据进行分类,对分类后的数据进行分类并行计算,将现有技术中的单一节点的数据内存计算转变为多任务数据内存计算,缩短了数据处理时间,获得了更好的实时处理性能。2、该方法及系统对卫星数据进行处理时,无需中间结果保存,缩短了数据存储开销,获得了更好的实时处理性能。3、该系统具有可扩展性和高可靠性,从系统架构上满足了数据处理能力和计算节点规模的增长,且卫星数据实时处理评价机制的设计,解决了系统设计缺少目标,设计优化无从着手的问题,选取影响系统性能的关键指标进行定量评价,便于快速定位系统瓶颈,开展系统优化设计。附图说明图1示意性示出了现有技术中卫星数据处理方法流程图。图2示意性示出了本发明实施例卫星数据处理方法流程图。图3示意性示出了本发明实施例卫星数据处理系统框图。【附图标记】1-帧同步组件2-虚拟信道分离组件3-源包数据提取组件4-产品生成组件401-产品1生成组件402-产品2生成组件具体实施方式为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明进一步详细说明。本发明基于流计算框架storm实现卫星数据的实时处理,流计算是近年来的一个研究热点,它在分布式计算节点上将数据流在内存中实时计算,具有低延迟、高吞吐率且持续运行的特点。本发明与现有技术不同之处在于:现有技术从读取卫星原始数据到生成源包数据文件是内存计算;本发明从读取卫星原始数据到生成各级产品数据文件是内存计算,不保存中间结果,根据卫星原始数据的特点,重新设计数据流和任务拓扑结构,实现了针对源包数据的细粒度并行处理,使数据处理和产品生成延迟大幅缩短,同时并发数据处理任务可在多节点动态调整,能够适应分布式计算的要求。下面以ccsds标准卫星数据实时流处理为例,从基于流计算框架storm实现卫星数据实时处理软件的流程、基于流计算框架storm的卫星数据实时处理计算环境和基于流计算框架storm的卫星数据实时处理评价机制三个方面具体介绍。本发明实施例一方面提出一种卫星数据的处理方法,根据卫星数据处理特点,分析数据流在处理过程中的转换,以原始数据二进制码、传输帧、源包和源包数据单元为数据处理基本数据流,定义可并行处理的数据单元或元组。虚拟信道标识符(virtualchannelidentifier,vcid)和应用过程标识符(applicationidentifier,apid)分别定义了传输帧和源包的类型。卫星数据处理可以按照不同虚拟信道类型和不同源包类型并行处理。以暗物质卫星原始数据处理为例,如图2所示,方法包括:s1,对卫星数据二进制码流进行处理,得到多个传输帧流。具体地,原始数据的二进制码流包括帧同步字和加扰数据字段,如表1所示。帧同步头加扰数据4字节508字节表1对二进制码流进行帧同步、解扰和译码,从数传原始码流中按位查询同步码,确定每个传输帧起始位置,对除同步码以外的数据进行位运算,然后对传输中的误码进行纠正,得到多个传输帧流。传输帧流包含帧同步字、传输帧主导头、位流业务协议数据单元(bitstreamprotocoldataunit,b-pdu)和校验填充字段,其中,传输帧主导头包含虚拟信道标识符vcid信息,如表2所示。帧同步头传输帧主导头位流业务协议数据单元校验填充4字节6字节438字节64字节表2s2,对多个传输帧流进行分类,根据分类结果对不同类型的传输帧流进行分类并行处理,得到多个源包流。具体地,以暗物质卫星数据处理为例,多个传输帧流分别对应有科学回放数据、工程回放数据、工程实时数据和填充数据,在数据处理的过程中,如图2所示,根据vcid传输帧流进行分类,根据四种分类情况,分别对四种数据进行并行处理,从而将传统方案中的单一节点的数据内存计算转变为多任务数据内存计算,可缩短数据处理时间,提高数据处理的实时性。具体处理过程为:以传输帧为处理单位,针对于每一类型的传输帧流,解析传输帧头信息,按照vcid进行源包提取,得到多个源包流。源包流即位流业务协议数据单元流,包含同步码、应用过程标识符apid、分组标志、包序列计数、包数据长度、时间码、包装协议数据单元(encapsulationprotocaldataunit,e-pdu)、填充等字段,如表3所示。表3s3,提取多个源包流的源包数据域,得到多个源包数据单元流。具体地,以源包为处理单位,解析源包包头,按照apid进行源包数据域提取,得到多个源包数据单元流。源包数据单元流包括一个或者多个相同源包类型的包装协议数据单元。具有定制数据格式。s4,按源包类型对多个源包数据单元流进行分类,根据分类结果对不同类型的源包数据单元流进行分类并行处理,生成产品数据文件。以暗物质卫星数据处理为例,源包具有14种类型,分别对应13种工程数据源包单元流和1种科学数据源包的处理单元流。在产品数据文件生成的过程中,如图2所示,对该14种类型的源包数据单元流分类进行并行处理,从而将传统方案中的单一节点的数据内存计算转变为多任务数据内存计算,可缩短数据处理时间,提高数据处理的实时性。通过上述数据的处理方法,根据不同的虚拟信道类型和不同源包类型,对卫星数据进行分类并行处理,将单一节点的数据内存计算转变为多任务数据内存计算,可缩短数据处理时间,提高数据处理的实时性。本发明另一方面提出一种卫星数据处理系统,卫星数据处理系统基于流计算框架storm搭建,流式计算框架storm是一个分布式开源实时计算系统,storm计算模型由拓扑、元组、流、喷口、螺栓和任务构成,喷口和螺栓封装了数据处理组件,任务拓扑是由喷口和螺栓组成的实时处理程序逻辑,喷口和螺栓之间传递消息的数据单元为元组,元组序列构成流。该系统架构如图3所示,包括:控制节点、至少一个工作节点及状态协调集群节点,状态协调集群节点连接至控制节点,至少一个工作节点连接至状态协调集群节点,这种主从式结构构成了基础设施层。控制节点用于分配执行程序及卫星数据处理任务至至少一个工作节点,并监视至少一个工作节点;至少一个工作节点用于执行卫星数据处理任务,根据不同的虚拟信道类型和不同源包类型,对卫星数据进行分类并行处理,生成产品数据文件。具体的,数据处理过程是通过帧同步组件、虚拟信道分离组件、源包数据提取组件及产品生成组件。如图2所示:帧同步组件:输入是来自网络或者文件的原始数据二进制码流,输出是传输帧流元组。数据处理逻辑为接收输入数据流,进行帧同步、解扰和译码,从数传原始码流中按位查询同步码,确定每个传输帧起始位置,对除同步码以外的数据进行位运算,然后对传输中的误码进行纠正,发送多个传输帧流。虚拟信道分离组件:输入是传输帧流元组,输出是源包流元组,数据处理逻辑为接收输入数据流,以传输帧为处理单位,解析传输帧头信息,按照vcid进行源包提取,发送多个源包流。源包数据提取组件:输入是源包流元组,输出是源包数据单元流元组,数据处理逻辑为接收输入数据流,以源包为处理单位,解析源包包头,按照apid进行源包数据域提取,发送多个源包数据单元流。产品生成组件,例如,产品1生成组件:输入是源包数据单元流元组,输出是产品1数据文件,数据处理逻辑为接收输入数据流,对分组源包数据单元进行处理,按照源包计数顺序以预设格式输出文件,生成不同apid的源包数据产品文件。产品2生成组件:输入是科学数据源包的数据单元流元组,输出是产品2数据文件,数据处理逻辑为接收输入数据流,对科学数据源包数据进行处理,通过解析载荷工作模式,提取不同模式下科学数据帧数据,按照格式要求,生成成观测、标定等不同载荷工作模式的科学数据包产品文件。根据上述组件的数据流输入输出关系,将处理组件连接为一个任务拓扑图。根据虚拟信道标识符取值类型,设置虚拟信道分离组件并行任务数,将传输帧流按不同信道进行并行化。以暗物质卫星数据处理为例,传输帧具有四个信道,分别对应科学回放数据、工程回放数据、工程实时数据和填充数据,因此,设置虚拟信道分离组件任务数为4。根据应用过程标识符取值类型,设置产品1生产组件并行任务数,将源包流按不同源包类型进行并行化。以暗物质卫星数据处理为例,源包数据单元流具有14种类型,分别对应13种工程数据源包单元流和1种科学数据源包的处理单元流的处理,因此,设置产品1生产组件任务数为14。完成处理组件类实现,编写任务拓扑配置,打包提交到卫星数据实时处理计算环境zookeeper集群主节点。状态协调集群节点用于协调控制节点和工作节点,收集工作节点的任务执行状态信息,同步工作节点的执行状态信息。根据控制节点及工作节点的状态信息对控制节点及工作节点的故障进行恢复。该系统还包括应用调度层,指一个任务拓扑实例在多个工作节点的所有运行工作进程,一个工作进程中有多个执行器,每个执行器对应一个线程,绑定一个或多个任务,对应处理组件的一次运行。基于流计算框架storm的卫星数据实时处理系统支持多节点部署,在卫星数据处理负载增加的情况下,可以增加工作节点处理能力。控制节点部署nimbus服务,负责接受用户提交的任务拓扑,并部署到各个工作节点上,启动任务拓扑实例,并监控实例运行状态。每个工作节点部署supervisor服务,监听控制节点给当前工作节点分配的任务,依据nimbus服务的调度启动和关闭当前工作节点的工作进程。同时,基于流计算框架storm的卫星数据实时处理计算环境具有高可靠性,控制节点的nimbus进程和工作节点的supervisor进程的协调通过zookeeper集群实现,服务状态数据保存在zookeeper集群中,发生异常时,重启服务进程可以快速恢复。在本实施例一可行的方式中,针对于该卫星数据实时处理系统,还设计有评价机制,用于对卫星数据处理系统的数据通信延迟、数据处理时间及数据交换吞吐率进行评分,根据评分对卫星数据处理系统进行优化。具体的,基于流计算框架storm的卫星数据实时处理系统的关键性能评价指标是数据处理延迟和系统扩展性。在分布式计算环境中,数据处理延迟由数据处理组件间的数据通信时间和数据处理时间组成,而系统扩展性指随着工作负载的增长,系统性能可以线性扩展,由于storm计算框架的计算节点可扩展,系统扩展性主要取决于节点间数据交换的吞吐率是否可扩展。因此,基于流计算框架storm的卫星数据实时处理评价机制,由数据通信延迟评价、数据处理时间评价和数据交换吞吐率评价组成。(1)数据通信延迟评价方法基于流计算框架storm的卫星数据实时处理系统的组件间数据通信包含节点内通信和节点间通信两种情况,数据通信延迟latency定义为接收数据时刻trecv减去发送数据时刻tsend,记latency=trecv-tsend。在数据处理时间不变的条件下,数据通信延迟越低,系统性能越好。(2)数据处理时间评价方法对卫星数据实时处理系统的数据处理时间的评价,通过数据元组在处理组件执行的时间来表示,记为time。将数据处理时间(0,tmax)分为间隔t0的多个时段,第i个时段记为(ti-1,ti),i≥1,数据元组的数据处理时间在第i时段即time∈(ti-1,ti),通过计数得到所有在第i时段完成数据处理的数据元组个数n(i),计算数据元组在不同时段处理完成的比重在较短时段t内完成处理的数据元组比重记为相同条件下pt越大系统性能越好。(3)数据交换速率评价方法在多节点环境下,大规模数据处理存在大量节点间数据交换,系统能否在多节点多任务并发处理时保持较高的数据交换速率,是系统扩展性评价的首要问题。通过测试对数据交换速率进行评价,测试数据元组大小依次呈级数增长,第i次(i≥1)测试数据元组大小记为s(i)=s0·2i-1,s0为初始数据大小。设测试节点数为2m,两个节点间单进程数据发送速率记为d0,测试系统每两个节点多进程数据发送速率之和定义为整个测试系统的数据交换吞吐率。设每个节点测试最大进程数为n,第m个节点n个测试进程的数据发送速率记为dmm,若m为数据接收节点,则dmm=0。那么数据交换吞吐率线性加速比l(n)=m·d(n)/(n·d2n)。线性加速比越接近1,说明系统数据交换速率扩展性越好。(4)评价实例与设计优化分析搭建评测环境,应用以上评价方法对基于流计算框架storm的卫星数据实时处理系统进行性能分析。测试环境采用4台高性能计算服务器节点(2个12核intelxeonx5670cpu,主频2.93ghz,48gb内存),通过40gib网络连接,服务器安装redhatenterpriselinux7.2操作系统,部署流计算框架storm、分布式消息系统kafka、应用协调服务zookeeper中间件。数据通信延迟评测数据显示,节点内数据通信延迟在2ms左右,与数据处理时间相比可以忽略,节点间通信开销较大,随着交换数据总量的增加,延迟不断增加,从开始的0.38s到十几秒。多节点并发处理能提高处理性能,但随着处理节点的增加,也引入了节点间的通信开销,在设计卫星数据处理任务拓扑时,需在多节点任务分配和节点间通信开销两者之间进行均衡考虑。数据处理时间评测数据显示,从数据元组处理延迟分布情况得出,设置数据处理组件为单任务时,数据元组处理延迟大于0.8s的元组占54%,处理延迟小于0.2s的元组占31%,而设置为多任务时,大于0.8s的比重降低至26%,小于0.2s的比重增加至45%,超过70%的数据元组在0.8s内完成处理。通过增加耗时的螺栓组件的并行任务数,缩短了数据元组处理等待时间,从而能够进一步降低数据处理时间。数据交换速率评测数据显示,依次增加发送数据的节点数,由于数据处理组件功能仅为数据收发,因此在3个节点3个任务同时发送数据时,系统总数据发送速率达到网络占用率的90%左右,加速比接近1。上述评价机制的设计,解决了系统设计缺少目标,设计优化无从着手的问题,选取影响系统性能的关键指标进行定量评价,便于快速定位系统瓶颈,开展系统优化设计。以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。当前第1页1 2 3 
技术特征:1.一种卫星数据处理方法,其特征在于,包括:
s1,对所述卫星数据的二进制码流进行处理,得到多个传输帧流;
s2,对所述多个传输帧流进行分类,根据分类结果对不同类型的传输帧流进行分类并行处理,得到多个源包流;
s3,提取所述多个源包流的源包数据域,得到多个源包数据单元流;
s4,按源包类型对所述多个源包数据单元流进行分类,根据分类结果对不同类型的源包数据单元流进行分类并行处理,生成产品数据文件。
2.根据权利要求1所述的卫星数据处理方法,其特征在于,每种类型的传输帧流对应一虚拟信道标识,根据所述虚拟信道标识符对所述多个传输帧流进行分类。
3.根据权利要求1所述的卫星数据处理方法,其特征在于,根据分类结果对不同类型的传输帧流进行分类并行处理包括:
针对于每一类型的传输帧流,解析传输帧头信息,根据虚拟信道标识进行提取源包处理。
4.根据权利要求1所述的卫星数据处理方法,其特征在于,按照应用过程标识符提取所述多个源包流的源包数据域。
5.根据权利要求1所述的卫星数据处理方法,其特征在于,所述根据分类结果对不同类型的源包数据单元流进行分类并行处理,生成产品数据文件,包括:
按照源包计数进行排序、拼接和去重处理,以预设格式输出文件,生成不同apid的源包产品数据文件。
6.根据权利要求1所述的卫星数据处理方法,其特征在于,所述传输帧流包括帧同步字、传输帧主导头、位流业务协议数据单元和校验填充字段;
所述源包流包括同步码、应用过程标识符、分组标志、包序列计数、包数据长度、时间码、包装协议数据单元及填充字段;
所述源包数据单元流包括一个或者多个相同源包类型的包装协议数据单元。
7.根据权利要求1所述的卫星数据处理方法,其特征在于,对所述二进制码流进行处理包括:
对所述二进制码流进行帧同步、解扰和译码,纠正所述二进制码流中的误码。
8.一种卫星数据处理系统,其特征在于,所述卫星数据处理系统基于流计算框架storm搭建,包括:
控制节点、至少一个工作节点及状态协调集群节点,所述状态协调集群节点连接至所述控制节点,所述至少一个工作节点连接至所述状态协调集群节点;
所述控制节点用于分配执行程序及卫星数据处理任务至所述至少一个工作节点,并监视所述至少一个工作节点;
所述至少一个工作节点用于执行卫星数据处理任务,根据不同的虚拟信道类型和不同源包类型,对所述卫星数据进行分类并行处理,生成产品数据文件;
所述状态协调集群节点用于收集所述工作节点的任务执行状态信息,同步所述工作节点的执行状态信息。
9.根据权利要求8所述的卫星数据处理系统,其特征在于,每个工作节的部署组件包括:帧同步组件、虚拟信道分离组件、源包数据提取组件及产品生成组件;
所述帧同步组件用于对所述卫星数据进行帧同步、解扰和译码,纠正所述卫星数据中的误码,得到多个传输帧流;
所述虚拟信道分离组件用于根据所述虚拟信道标识符对所述得到多个传输帧流进行分类,根据分类结果对不同类型的传输帧流进行分类并行处理,得到多个源包流;
所述源包数据提取组件用于按照应用过程标识符提取所述多个源包流的源包数据域,得到多个源包数据单元流;
所述产品生成组件用于根据不同源包类型对所述多个源包数据单元流进行分类,根据分类结果对不同类型的源包数据单元流进行分类并行处理,生成产品数据文件。
10.根据权利要求8所述的卫星数据处理系统,其特征在于,所述状态协调集群节点还用于根据所述控制节点及工作节点的状态信息对所述控制节点及工作节点的故障进行恢复。
技术总结一种卫星数据处理方法及系统,方法包括:对卫星数据二进制码流进行处理,得到多个传输帧流;对多个传输帧流进行分类,根据分类结果对不同类型的传输帧流进行分类并行处理,得到多个源包流;提取多个源包流的源包数据域,得到多个源包数据单元流;按源包类型对多个源包数据单元流进行分类,根据分类结果对不同类型的源包数据单元流进行分类并行处理,生成产品数据文件。该方法将传统单一节点的数据内存计算转变为多任务数据内存计算,且无需中间结果保存,缩短了数据处理时间,获得了更好的实时处理性能。该系统具有可扩展性和高可靠性,满足数据处理能力和计算节点规模的增长,能快速定位系统瓶颈,开展系统优化设计。
技术研发人员:孙小涓;胡玉新;石涛;李冰;杨晓艳
受保护的技术使用者:中国科学院电子学研究所
技术研发日:2020.01.19
技术公布日:2020.06.05