一种数据存储结构和遥感卫星数据存储系统的制作方法

文档序号:11864599阅读:552来源:国知局
一种数据存储结构和遥感卫星数据存储系统的制作方法与工艺

本发明涉及航天遥感数据存储领域,具体涉及一种遥感数据存储结构和数据存储系统,特别是一种用于实现遥感卫星高速海量内存访问的数据存储结构和数据存储系统。



背景技术:

现有的遥感卫星数据存储系统采用TCP/IP(Transmission Control Protocol/Internet Protocol,传送控制协议/网络之间互联协议)协议进行数据传输,并将接收数据存储在操作系统的内存上,然后再对该数据进行后端处理。该方案存在处理流程延迟长、实时性差等缺陷,具体如下:

1)由于TCP/IP协议架构层次复杂(包括物理层、链路层、网络层、传输层、会话层、表示层、应用层),因此采用该协议进行数据传输会存在不确定延时;此外,该协议架构中应用层需要软件支持(如传输控制协议TCP),因而会对处理器造成一定的开销;TCP/IP协议不支持硬件的纠错重传;

2)由于现有方案是将接收数据存储到操作系统的内存上,而该内存是基于实际物理介质的虚拟地址,虚拟地址与物理地址的映射管理关系需要由操作系统进行维护管理,因此当内存使用达到一定大小后会对处理器造成一定的开销;另外,由于服务器采用的操作系统为非实时操作系统,存在着用户层与内核层的分层关系,因此将接收数据存放到物理介质上需要处理器的参与,会造成一定的计算开销和存储延时。



技术实现要素:

本发明的技术解决问题是:克服现有技术的不足,提供了一种数据存储结构和遥感卫星数据存储系统,采用数据与地址分离的数据存储结构,实现数据的快速读取,进而可以实现遥感卫星海量数据的实时记录和访问处理,满足了遥感卫星海量数据实时处理和记录的需求。

本发明的技术解决方案是:一种数据存储结构,包括地址模块和数据模块;

所述数据模块用于存储数据,包括N2个数据子模块;

所述地址模块用于存储数据的地址信息,包括N1个地址子模块,每个地址子模块包括M1个地址单元,其中前(M1-1)个地址单元中每个地址单元分别存储一个数据子模块的首物理地址,第M1个地址单元存储下一个地址子模块的首物理地址。

所述数据子模块为彼此不相关的离散数据子模块,每个数据子模块内部具有连续物理地址。

所述地址子模块为彼此不相关的离散地址子模块,每个地址子模块内部具有连续地址。

所述第N1个地址子模块的第M1个地址单元存储第1个地址子模块的首物理地址。

一种遥感卫星数据存储系统,包括数据接收单元、数据上传单元和用户接口单元;

所述数据接收单元用于接收来自前端传输的数据;

所述数据上传单元用于接收来自数据接收单元的输出数据,并将数据上传至用户指定内存,

所述用户接口单元在遥感卫星上位机中开辟数据存储结构,实现对数据上传单元上传数据的管理,所述数据存储结构为上述所述的数据存储结构。

所述数据接收单元为RapidIO数据接收单元,所述RapidIO数据接收单元用于接收来自前端采用Rapidio协议进行传输的数据。

所述数据上传单元为PCIE数据上传单元,所述PCIE数据上传单元接收来自数据接收单元的输出数据,并将数据打包成PCIE协议格式上传至用户指定内存。

所述数据上传单元采用实时DMA技术(Direct Memory Access,直接存储器存取)将数据上传至用户指定内存。

所述PCIE数据上传单元采用实时DMA技术将数据上传至用户指定内存。

本发明与现有技术相比的有益效果是:

本发明设置包括数据模块和地址模块的数据存储结构,地址模块中形成地址链表实现对数据模块的访问,进而可以实现遥感卫星海量数据的实时记录和访问处理,满足了遥感卫星海量数据实时处理和记录的需求。

附图说明

图1为数据存储结构示意图;

图2为本发明中遥感卫星数据存储系统结构示意图;

图3为RapidIO数据接收单元流程示意图;

图4为PCIE数据上传单元流程示意图;

图5为用户接口单元流程示意图。

具体实施方式

为了使本发明所解决的技术问题、技术方案及有益效果更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明,应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。

如图1所示为本发明中数据存储结构示意图,从图1可知,本发明提出的一种数据存储结构,包括地址模块和数据模块;

所述数据模块用于存储数据,包括N2个数据子模块;

所述地址模块用于存储数据的地址信息,包括N1个地址子模块,每个地址子模块包括M1个地址单元,其中前(M1-1)个地址单元中每个地址单元分别存储一个数据子模块的首物理地址,第M1个地址单元存储下一个地址子模块的首物理地址。

进一步地,为了更好的实现对数据的访问,防止数据或地址重叠对数据存储、访问和处理的干扰,在实际应用中,需要保证N2个数据子模块为彼此不相关的离散数据子模块,每个数据子模块内部具有连续地址。N1个地址子模块为彼此不相关的离散数据子模块,每个地址子模块内部具有连续地址。以上所述离散指各个数据子模块以及各个地址子模块之间没有重叠或连续的地址。

进一步地,所述第N1个地址子模块的第M1个地址单元存储第1个地址子模块的首物理地址,这样可以形成一个数据链表,从而可以实现从任意一个地址子模块开始进行数据读取,到最终读取完所有地址模块的地址信息。

以上所述数据子模块的个数N2由实际需要进行存储或处理的数据量以及每个数据子模块的存储量决定,需要保证数据子模块的个数N2与每个数据子模块的存储量的乘积大于等于实际需要进行存储或处理的数据量。

基于上述的数据存储结构,本发明进一步提出一种遥感卫星数据存储系统,系统框图如图2所示,从图2可知,本发明中的遥感卫星数据存储系统包括数据接收单元、数据上传单元和用户接口单元;

其中数据接收单元用于接收来自前端传输的数据;在实际应用中,上述的数据接收单元优选为RapidIO数据接收单元,所述RapidIO数据接收单元用于接收来自前端采用Rapidio协议进行传输的数据,由于RapidIO协议架构层次更为简单(包括物理层、传输层、逻辑层),因此相较于采用TCP/IP协议,采用RapidIO协议时数据传输延时非常低可忽略不计;并且该协议简单、流控机制及软件复杂度低,使得纠错重传机制乃至整个协议栈易于采用硬件实现,不会对处理器带来开销;此外,采用该协议还存在以下优点:高效率、低系统成本,支持点对点或是点对多点的通信,支持DMA操作,支持消息传递模式交换数据,支持分散处理和多主控系统,支持多种拓朴结构。

数据上传单元用于接收来自数据接收单元的输出数据,并将数据上传至用户指定内存;

进一步地,上述数据上传单元优选为PCIE数据上传单元,所述PCIE数据上传单元接收来自数据接收单元的输出数据,并将数据打包成PCIE协议格式上传至用户指定内存。由于采用PCIE协议,使得接收数据存储到内存时无需处理器的干预,并且利用PCIE协议传输数据是使用实际物理地址,因此传输延时非常低。另外,PCIE协议本身具有许多优点:协议架构简单、易于硬件实现、打包效率高、传输延时低等。

进一步地,为了进一步提高数据读取的速度,数据上传单元采用实时DMA技术将数据上传至用户指定内存。

用户接口单元在遥感卫星上位机中开辟数据存储结构,实现对数据上传单元上传数据的管理,所述数据存储结构为任一上述的数据存储结构。

具体实施例

在上位机开辟两种离散内存模块,分别用于存储数据模块和地址模块。数据模块中有N2个大小为4KB,不相关的离散地址,但4KB内是连续的。地址模块是有n/512个大小为2056byte(64位的地址,257*8byte),不相关的离散地址,但需要说明的是2056byte内地址是连续的。每个地址模块存储257个地址单元,其中前256单元为存储数据模块每4KB的首物理地址,第257个是下一个地址模块的首物理地址,第n/512个地址的第257存储单元为第一个地址模块的首物理地址。这样就形成一个地址链表。

FPGA(Field-Programmable Gate Array,现场可编辑门阵列)程序根据下发的地址模块中的首物理地址,每次读取257个地址(即每个地址模块的大小),当256个地址用完,再根据第257个地址的内容,读取下一个地址模块中的内容,如此反复。

本实施例中的RapidIO数据接收单元,主要功能为接收来自前端采用Rapidio协议进行高速传输的数据;该部分的接口为1个4XRapidio接口,物理形式为QSFP(Quad Small Form-factor Pluggable,四通道电信号转换为光信号接口)。该部分由数据接收主控模块、接收缓存控制模块、Rapdio协议转换模块组成。

该单元的处理流程如图3所示,具体为:首先对RapidIO数据接收单元进行初始化;完成后向前端数据源发送复位指令包,并等待反馈的复位指令响应包;当接收到复位指令响应包后向数据源发送请求数据响应包;然后等待接收响应包,并对接收到的响应包进行识别,判断该响应包为有数据响应还是无数据响应,如果为有数据响应,则等待前端数据源发送过来的数据,如果为无数据响应,开始下次请求过程或结束。接收到数据后并一直等待判断是否为请求时的数据量大小,满足要求开始下次传输或结束。

本实施例中的PCIE数据上传单元,主要功能为接收RapidIO数据接收单元输出的数据,并将数据打包成PCIE协议格式,按着初始化配置的参数使用DMA自动上传到用户指定的内存中。该部分由PCIE传输主控、地址控制、数据缓存控制、PCIE协议转换组成。

该单元的处理流程如图4所示,具体为:首先接收来自上位机下发的复位信号,并对PCIE板卡进行复位;接收来自上位机配置的寄存器参数,并按照相应变量进行配置;读取上位机建立的地址FIFO(First Input First Output,先进先出)中的数据,并判断数据FIFO中是否有数据,如果有则将数据传输到地址FIFO中数据所指示的物理首地址中。

本实施例中的用户接口单元,主要功能为管理上位机中开辟指定大小(大小可调节,且无上限)的内存,实现对硬件程序的配置管理和对PCIE数据上传单元上传的数据管理。该部分由数据缓存管理、地址缓存管理、板卡初始化、硬件状态监测组成。

该单元的处理流程如图5所示,具体为:首先初始化内存生成所需要的离散内存数据结构和复位指定的硬件,并下发初始化配置参数给硬件;初始化完成后开始启动数据上传流程,数据上传到缓冲区后判断是否满足输出标准,如果满足,则以数据帧为单位复制数据到指定的内存中,等待用户进一步处理。

本发明说明书中未作详细描述的内容属于本领域专业技术人员的公知技术。

以上通过具体的和优选的实施例详细的描述了本发明,但本领域技术人员应该明白,本发明并不局限于以上所述实施例,凡在本发明的精神和原则之内,所作任何修改、等同替换等,均应包含在本发明的保护范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1