本发明涉及于信息存储与传输的,具体地,涉及星载码流数据的循环读写控制方法及系统。
背景技术:
1、目前国内卫星的载荷数据存储方式以文件形式和码流数据为主,一些测绘遥感卫星按照卫星载荷任务和应用特点,其遥感数据采用以码流数据的存储方式。使用的固态存储设备以存储块为一个地址单元,对单个存储块的读写访问均需要一定的时间开销。为了避免遥感数据的记录和回放过程中的读写指针冲突,传统设计上采用读写指针错开一定地址间隔提供保护,否则会出现对同一存储块的同时读写冲突,造成数据的丢失和误码。另一方面,在地面测试和在轨使用过程中发现,当次任务的数据由于地址保护间隔存在,不能实时完整下传,需要在下次回放任务读出,地面进行数据拼接。或者在有效载荷数据记录完毕后采用按时间选段回放的模式读取完整数据。这些方法使得在轨数据传输和应用的实效性大大降低,也为地面数据接收与测试增加了额外的操作流程。
2、对比已经公开方法:《一种卫星遥感影像数据的存储方法》(cn107066562a)的专利文献提出了一种卫星遥感影像数据的存储方法,该方法提出将卫星遥感数据按照波段分成层文件,然后按照数据的地理坐标特征分成影像块存储在多个存储块中,采用分布式存储方案,主要是解决以文件形式的大数据量单机存储速率问题。而本方法虽然也采用的是存储块为存储单元,但不是分布式设计方式,主要是为了解决码流型遥感数据的循环读写时序冲突以及码流数据回放完整性和时效性问题。
3、专利名称为《一种码流数据的快速存储/读取方法及系统》(cn104536700a)提出了一种对码流数据包进行解析处理,对生成的可识别码流包打上标签生成标注码流包,直接存储时候对码流包打上偏移量的标签建立地址索引,通过对码流数据格式标签化降低对系统独立硬件内存消耗为目的,但是由于引入了标签位置,同样会降低有效数据位空间。本方法采用独立的硬件存储单元prom来对码流数据存储块循环读写地址指针以及记录时间进行保存。
4、专利名称为《流数据存储控制系统及其方法》(cn102968422a)公开了一种由raid控制模块、逻辑卷管理模块、流数据存取接口模块、时间索引与空间管理模块、主机接口驱动模块等多个功能模块组成的系统,提出了各模块之间的连接关系和各个功能模块的具体功能和工作流程。该方法将存储空间映射为多个raid空间,将所述多个raid空间划分为多个逻辑卷,并提供进行流数据和时间索引存取的存储接口来提高数据读写效率,而本方法采用是循环读写存储块,主要是为了解决码流型遥感数据的循环读写时序冲突以及码流数据回放完整性和时效性问题。
5、根据公开文件资料,均没有发现提及码流型遥感数据的循环读写时序设计方法,也没有解决码流数据回放完整性和时效性问题。
6、目前尚未见到针对码流遥感数据的循环读写控制的方法,因此,需要提出一种新的技术方案以改善上述技术问题。
技术实现思路
1、针对现有技术中的缺陷,本发明的目的是提供一种星载码流数据的循环读写控制方法及系统。
2、根据本发明提供的一种星载码流数据的循环读写控制方法,所述方法包括如下步骤:
3、步骤s1:当卫星收到读使能指令和写使能指令时,分别设置循环读模式和循环写模式为使能状态;
4、步骤s2:在写使能状态时,当读指针与写指针间隔等于1个地址位时,循环读模式进入读等待状态,当读写地址指针间隔不小于2个地址位时,循环读模式从读等待状态自动进入读使能状态;
5、步骤s3:当循环写模式在写使能状态收到写停指令时,待写完当前地址操作后,循环写模式进入写停状态,保存写断点为下一个可写地址,当再次接收到写使能指令时,从写断点开始进行循环写操作,仅当写模式处于写停状态时,读地址指针可以与写地址指针一致;
6、步骤s4:当收到读停指令或者读地址指针与写地址指针一致时,待读完当前地址操作后,循环读模式进入读停状态,保存读断点为下一个未读地址,读停状态需要再次收到读指令才能进入读使能状态,当再次接收到读使能指令时,从该读断点开始进行循环读操作;
7、步骤s5:当循环读写模式结束后,保存循环读写断点的地址指针和存储块状态信息。
8、优选地,所述循环读写模式的存储模块读地址指针和写地址指针均首尾衔接,所述读地址指针和写地址指针溢出后从初始0值开始。
9、优选地,所述循环读写模式的存储模块以存储块为一个地址单元,所述存储块通过调整存储深度和位宽进行容量扩展。
10、优选地,在进行循环写操作时,从当前写地址指针顺序查询下一个非空闲地址进行自主循环擦除操作,每次擦除一个存储块并标记为空闲状态。
11、优选地,所述存储块状态信息包括存储块的已读、未读、空闲状态以及存储块数据的记录时间。
12、本发明还提供一种星载码流数据的循环读写控制系统,所述系统包括如下模块:
13、模块m1:当卫星收到读使能指令和写使能指令时,分别设置循环读模式和循环写模式为使能状态;
14、模块m2:在写使能状态时,当读指针与写指针间隔等于1个地址位时,循环读模式进入读等待状态,当读写地址指针间隔不小于2个地址位时,循环读模式从读等待状态自动进入读使能状态;
15、模块m3:当循环写模式在写使能状态收到写停指令时,待写完当前地址操作后,循环写模式进入写停状态,保存写断点为下一个可写地址,当再次接收到写使能指令时,从写断点开始进行循环写操作,仅当写模式处于写停状态时,读地址指针可以与写地址指针一致;
16、模块m4:当收到读停指令或者读地址指针与写地址指针一致时,待读完当前地址操作后,循环读模式进入读停状态,保存读断点为下一个未读地址,读停状态需要再次收到读指令才能进入读使能状态,当再次接收到读使能指令时,从该读断点开始进行循环读操作;
17、模块m5:当循环读写模式结束后,保存循环读写断点的地址指针和存储块状态信息。
18、优选地,所述循环读写模式的存储模块读地址指针和写地址指针均首尾衔接,所述读地址指针和写地址指针溢出后从初始0值开始。
19、优选地,所述循环读写模式的存储模块以存储块为一个地址单元,所述存储块通过调整存储深度和位宽进行容量扩展。
20、优选地,在进行循环写操作时,从当前写地址指针顺序查询下一个非空闲地址进行自主循环擦除操作,每次擦除一个存储块并标记为空闲状态。
21、优选地,所述存储块状态信息包括存储块的已读、未读、空闲状态以及存储块数据的记录时间。
22、与现有技术相比,本发明具有如下的有益效果:
23、1、本发明可以有效解决以存储块为存储单元,采用循环读写的模式记录和回放卫星遥感码流数据的读写地址指针冲突问题,提高了星载数据回放的时效性,实现了当次任务数据传输的完整性;
24、2、本发明通过设置循环读写状态,在不同条件下触发,通过循环读写状态的自主转移,既能避免循环读写数据的时序冲突,也能保证当次遥感数据循环回放的时效性和完整性,存储块的擦除和状态信息保存均自主完成,该设计方式使得卫星的任务规划对数据存储的控制界面变得更加简单。