基于消息队列的多线程遥感卫星基带数据处理方法及装置制造方法及图纸

技术编号:26770649 阅读:28 留言:0更新日期:2020-12-18 23:49
本申请公开了一种基于消息队列的多线程遥感卫星基带数据处理方法及装置,该方法包括:构建遥感卫星基带数据处理的生产者消费者描述模型,并根据所述生产者消费者描述模型将基带数据处理划分为多个逻辑线程;确定预设的配置文件参数以及初始化消息池参数,根据所述配置文件参数、所述初始化消息池参数以及所述多个逻辑线程构建环形消息队列;基于预设的控制机制控制所述多个逻辑线程对遥感卫星基带数据进行并行处理,以及将处理后的数据添加到所述环形消息队列中。本申请解决了现有技术中基带数据处理效率较低的技术问题。

【技术实现步骤摘要】
基于消息队列的多线程遥感卫星基带数据处理方法及装置
本申请涉及基带数据处理
,尤其涉及一种基于消息队列的多线程遥感卫星基带数据处理方法及装置。
技术介绍
遥感卫星的基带数据在满足一定设计误码率指标和经过地面处理系统恢复处理之后,才可以得到后续处理步骤需要的各个有效载荷等数据。随着技术进步,遥感卫星观测能力越来越高,搭载的载荷越来越多,随之而来的是虚拟信道数量随之增多以及数据传输系统的通道数量和带宽也不断增加。数传通道数量&带宽增大和虚拟信道数量增多,一方面使得一次传输和记录的基带数据量显著增加,可以达到几十个GB甚至更高的数据规模。另一方面,使得基带数据误码产生的概率也会相应增加。目前,对海量基带数据处理的方式常为单线程处理方式,通过单线程对基带数据处理时,由于单线程处理能力有限,在对海量基带数据处理过程中基带数据需要进行排队处理,导致处理速度较慢,进而使得基带数据处理效率较低。
技术实现思路
本申请解决的技术问题是:针对现有技术中基带数据处理效率较低的问题,本申请提供了一种基于消息队列的多线程遥感卫星基带数据处理方法及装置,本申请实施例所提供的方案中,基于消息队列的多线程技术,将大规模的基带数据处理过程划分为多个逻辑线程,并按照多个逻辑线程并行处理模式对基带数据进行高速并行线程之间的数据同信和线程同步,进而提高基带数据处理的效率。第一方面,本申请实施例提供一种基于消息队列的多线程遥感卫星基带数据处理方法,该方法包括:构建遥感卫星基带数据处理的生产者消费者描述模型,并根据所述生产者消费者描述模型将基带数据处理划分为多个逻辑线程;确定预设的配置文件参数以及初始化消息池参数,根据所述配置文件参数、所述初始化消息池参数以及所述多个逻辑线程构建环形消息队列;基于预设的控制机制控制所述多个逻辑线程对遥感卫星基带数据进行并行处理,以及将处理后的数据添加到所述环形消息队列中。本申请实施例所提供的方案中,通过构建遥感卫星基带数据处理的生产者消费者描述模型,并根据所述生产者消费者描述模型将基带数据处理划分为多个逻辑线程,然后确定预设的配置文件参数以及初始化消息池参数,根据所述配置文件参数、所述初始化消息池参数以及所述多个逻辑线程构建环形消息队列,再基于预设的控制机制控制所述多个逻辑线程对遥感卫星基带数据进行并行处理,以及将处理后的数据添加到所述环形消息队列中。因此,本申请实施例所提供的方案中,基于消息队列的多线程技术,将大规模的基带数据处理过程划分为多个逻辑线程,并按照多个逻辑线程并行处理模式对基带数据进行高速并行线程之间的数据同信和线程同步,进而提高基带数据处理的效率。可选地,根据所述生产者消费者描述模型将基带数据处理划分为多个逻辑线程,包括:根据所述生产者消费者描述模型将基带数据处理划分为基带数据读取线程、帧同步处理线程以及同步后数据的写&统计线程,其中,所述基带数据读取线程为所述帧同步处理线程的生产者,所述帧同步处理线程既为所述基带数据读取线程的消费者,又为所述写&统计线程的生产者。本申请实施例所提供的方案中,通过并行处理的线程通过边界缓冲区的消息队列进行数据读写和帧同步处理的同步,这样生产和消费线程之间的时间只取决于数据帧同步处理时间,这样可以做到边读边处理边写,比串行的读、处理、写这样的模式,大幅度提高了数据处理的时效性。可选地,根据所述配置文件参数、所述初始化消息池参数以及所述多个逻辑线程构建环形消息队列,包括:根据所述配置文件参数、所述初始化消息池参数以及所述多个逻辑线程分别确定所述基带数据读取线程、所述帧同步处理线程以及所述写&统计线程的格式以及输入输出参数;初始化所述输入输出参数,根据初始化后的输入输出参数以及所述格式构建得到所述环形消息队列。可选地,所述基带数据读取线程的格式为(基带数据路径,“读线程输出消息队列”,“消息池”),其中,所述基带数据路径为输入参数,所述读线程输出消息队列以及所述消息池为输出参数;所述帧同步处理线程的格式为(配置文件,“读线程输出消息队列”,“帧同步输出消息队列”),其中,所述配置文件以及所述读线程输出消息队列为输出参数,所述帧同步输出消息队列为输出参数;所述写&统计线程的格式为(配置文件,“帧同步输出消息队列”),其中,所述配置文件为输入参数,所述帧同步输出消息队列为输出参数。可选地,基于预设的控制机制控制所述多个逻辑线程对遥感卫星基带数据进行并行处理,包括:控制所述基带数据读取线程从所述消息池中获取帧消息,将所述帧消息添加到所述读线程输出消息队列中,并判断所述读线程输出消息队列是否已满;若读线程输出消息队列未满,则所述基带数据读取线程继续从所述消息池中获取帧消息,并生成第一通知信息;根据所述第一通知信息控制所述帧同步处理线程启动读取所述读线程输出消息队列中的帧消息,并对所述帧消息进行帧同步处理,以及在帧同步处理过程中生成第二通知消息;根据所述第二通知消息控制所述写&统计线程将所述帧同步输出消息队列中帧消息添加到所述消息池,以及通知所述帧同步线程非满。可选地,控制所述基带数据读取线程从所述消息池中获取帧消息,将所述帧消息添加到所述读线程输出消息队列中,包括:控制打开基带数据文件,通过获取数据消息组件从所述消息池中获取帧消息,并根据所述初始化消息池参数将基带数据读取到帧消息的缓存中;将所述帧消息添加到所述读线程输出消息队列的末尾,并判断所述读线程输出消息队列是否已满;若未满,则继续从所述消息池中获取帧消息,并将帧消息添加到所述读线程输出消息队列的末尾,并向所述帧同步线程发送第一通知消息;当所述基带数据文件中数据全部读取完成时,将当前获取的帧消息添加到所述消息池,以及通过获取控制消息组件获取一个第一控制消息,并将所述第一控制消息添加到所述读线程输出消息队列的末尾,其中,所述第一控制消息用于标识基带数据读取完成。可选地,根据所述第一通知信息控制所述帧同步处理线程启动读取所述读线程输出消息队列中的帧消息,并对所述帧消息进行帧同步处理,包括:初始化帧同步参数,并根据所述配置文件设置基带数据交织状态以及帧同步缓存的大小,确定所述交织状态对应的待搜索同步字查找表;创建读取帧消息流的对象,以及对所述对象进行初始化处理,其中,所述对象用于读取所述读线程输出消息队列中的帧消息;通过所述对象读取所述读线程输出消息队列中的帧消息,判断所述读线程输出消息队列是否为空;若不为空,则弹出所述读线程输出消息队列中第一个帧消息并加锁保护,将所述第一个帧消息添加到所述对象对应的帧消息队列中,并将所述读线程输出消息队列中第一个帧消息删除,以及通知所述基带数据读取线程非满,以使得所述基带数据读取线程继续从所述消息池中读取帧消息;判断所述帧消息的类型是否为数据消息;若是,则将所述帧消息缓存到所述帧同步缓存中,直到所述帧同步缓存填满为本文档来自技高网...

【技术保护点】
1.一种基于消息队列的多线程遥感卫星基带数据处理方法,其特征在于,包括:/n构建遥感卫星基带数据处理的生产者消费者描述模型,并根据所述生产者消费者描述模型将基带数据处理划分为多个逻辑线程;/n确定预设的配置文件参数以及初始化消息池参数,根据所述配置文件参数、所述初始化消息池参数以及所述多个逻辑线程构建环形消息队列;/n基于预设的控制机制控制所述多个逻辑线程对遥感卫星基带数据进行并行处理,以及将处理后的数据添加到所述环形消息队列中。/n

【技术特征摘要】
1.一种基于消息队列的多线程遥感卫星基带数据处理方法,其特征在于,包括:
构建遥感卫星基带数据处理的生产者消费者描述模型,并根据所述生产者消费者描述模型将基带数据处理划分为多个逻辑线程;
确定预设的配置文件参数以及初始化消息池参数,根据所述配置文件参数、所述初始化消息池参数以及所述多个逻辑线程构建环形消息队列;
基于预设的控制机制控制所述多个逻辑线程对遥感卫星基带数据进行并行处理,以及将处理后的数据添加到所述环形消息队列中。


2.如权利要求1所述的方法,其特征在于,根据所述生产者消费者描述模型将基带数据处理划分为多个逻辑线程,包括:
根据所述生产者消费者描述模型将基带数据处理划分为基带数据读取线程、帧同步处理线程以及同步后数据的写&统计线程,其中,所述基带数据读取线程为所述帧同步处理线程的生产者,所述帧同步处理线程既为所述基带数据读取线程的消费者,又为所述写&统计线程的生产者。


3.如权利要求2所述的方法,其特征在于,根据所述配置文件参数、所述初始化消息池参数以及所述多个逻辑线程构建环形消息队列,包括:
根据所述配置文件参数、所述初始化消息池参数以及所述多个逻辑线程分别确定所述基带数据读取线程、所述帧同步处理线程以及所述写&统计线程的格式以及输入输出参数;
初始化所述输入输出参数,根据初始化后的输入输出参数以及所述格式构建得到所述环形消息队列。


4.如权利要求3所述的方法,其特征在于,所述基带数据读取线程的格式为(基带数据路径,“读线程输出消息队列”,“消息池”),其中,所述基带数据路径为输入参数,所述读线程输出消息队列以及所述消息池为输出参数;
所述帧同步处理线程的格式为(配置文件,“读线程输出消息队列”,“帧同步输出消息队列”),其中,所述配置文件以及所述读线程输出消息队列为输出参数,所述帧同步输出消息队列为输出参数;
所述写&统计线程的格式为(配置文件,“帧同步输出消息队列”),其中,所述配置文件为输入参数,所述帧同步输出消息队列为输出参数。


5.如权利要求1~4任一项所述的方法,其特征在于,基于预设的控制机制控制所述多个逻辑线程对遥感卫星基带数据进行并行处理,包括:
控制所述基带数据读取线程从所述消息池中获取帧消息,将所述帧消息添加到所述读线程输出消息队列中,并判断所述读线程输出消息队列是否已满;
若读线程输出消息队列未满,则所述基带数据读取线程继续从所述消息池中获取帧消息,并生成第一通知信息;
根据所述第一通知信息控制所述帧同步处理线程启动读取所述读线程输出消息队列中的帧消息,并对所述帧消息进行帧同步处理,以及在帧同步处理过程中生成第二通知消息;
根据所述第二通知消息控制所述写&统计线程将所述帧同步输出消息队列中帧消息添加到所述消息池,以及通知所述帧同步线程非满。


6.如权利要求5所述的方法,其特征在于,控制所述基带数据读取线程从所述消息池中获取帧消息,将所述帧消息添加到所述读线程输出消息队列中,包括:
控制打开基带数据文件,通过获取数据消息组件从所述消息池中获取帧消息,并根据所述初始化消息池参数将基带数据读取到帧消息的缓存中;
将所述帧消息添加到所述读线程输出消息队列的末尾,并判断所述读线程输出消息队列是否已满;
若未满,则继续从所述消息池中获取帧消息,并将帧消息添加到所述读线程输出消息队列的末尾,并向所述帧同步线程发送第一通知消息;
当所述基带数据文件中数据全部读取...

【专利技术属性】
技术研发人员:侯明辉徐建艳尤江滨陈琦李晓进
申请(专利权)人:中国资源卫星应用中心
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1