一种支持包存储与控制的星上存储和获取方法与流程

专利2023-03-29  8



1.本项发明涉及一种支持包存储与控制的星上存储和获取方法,属于航天计算机技术领域。


背景技术:

2.星载计算机需要存储来自多个设备的数据,包括星载计算机自身、控制计算机、载荷设备、相机及其他传感器等设备的数据。当卫星处于地面测控区之外,卫星不可见,将这些数据存储,当卫星进入地面测控区,获取存储的数据并下传。另外,对自主任务运行有要求的卫星,需要存储一些任务数据,需要时能够检索这些数据,进行分析、判断和处理。
3.现有的文献及专利方法重点关注数据存储容量和存储速率的问题,对数据存储的格式研究较少,对数据存储选择控制方式没有提及。星上数据存储的格式一般采用虚拟信道帧(vc帧),vc帧是包含帧头和数据域的固定长度数据格式,星载计算机将源包(简称包)数据封装到多路复接单元(mpdu)中,然后封装到vc帧的数据域中,进行存储,并实现基于vc帧的检索功能,这种基于固定长度vc帧的方式较为容易实现。
4.这种方式存在以下不足:
5.1)基于vc帧的存储与检索的数据粒度大,难以实现按应用数据检索的功能。由于存储的对象都是vc帧,如果要检索应用数据,则需要逐帧检索出每个vc帧,然后再解析出数据域中的多路复接单元(mpdu),重新构建mpdu中的源包数据(源包数据可以跨mpdu),耗费的临时存储资源超出星上ram空间,耗费的检索时间超出使用需求,因此难以按应用数据检索。即使针对某些特定vc帧实现应用数据的重构与检索,耗费的临时存储资源和检索时间很大,效率很低。
6.2)对应用数据的存储控制支持不足。当存储资源不足、地面不再关注某些应用数据,或者在某一段时间内只重点关注某些应用数据时,可以选择存储某些应用数据、不存储不关注的应用数据,而传统方式无法按需求设置应用数据是否存储。
7.3)当卫星健康数据出现异常时,传统方式无法动态地选择存储这些异常数据,导致异常数据丢失,无法及时修复产生的故障。
8.因此传统的星上存储功能不能实现源包的存储选择控制功能,无法根据地面需求或者自主健康管理需要,有选择地存储和读取指定的源包数据。为克服现有技术的不足,需要研究一种支持包存储与控制的星上存储和获取方法,解决基于包存储检索和包存储选择控制的问题。


技术实现要素:

9.有鉴于此,本发明提供了一种支持包存储与控制的星上存储和获取方法,解决现有方法无法存储和检索应用数据的问题,通过设置apid控制结构和包存储选择控制结构,有选择地存储、读取和删除指定的源包数据。
10.一种支持包存储与控制的星上存储和获取方法,首先,在星载计算机中建立多个
设有固定长度类型的包存储区;之后设置应用过程标识(apid)控制结构,用于记录存储使能标志、业务类型和子类型;然后设置包存储选择控制结构,用于记录存储区id、源包长度类型及apid控制结构;最后根据实际需求,实现对源包操作:
11.(1)修改存储状态:通过地面上注或自主修改的方式,将包存储选择控制结构中apid的存储使能标志的修改为“存储”或“不存储”,实现对已有源包和异常源包存储状态的修改;
12.(2)存储:对新接收到的源包,若包存储选择控制结构中存在与源包相同的apid业务类型和子类型,且“存储使能标志”为“存储”,则存储该源包;对未被源包数据占用的空间进行填充;
13.(3)获取并读取源包、检索并获取源包中的部分数据:通过应用过程标识控制结构和包存储选择控制结构中设置的属性直接查找源包,或通过指定的偏移直接获取源包中的数据;
14.(4)删除:需要删除时,首先查找出源包,并进行删除。
15.较佳地,apid控制结构包括apid、存储使能标志、设备来源、业务类型和子类型数量m、m个业务类型和子类型。
16.较佳地,包存储选择控制结构包括存储区id、源包长度类型、apid数量n、n个apid控制结构。
17.较佳地,针对已有源包,通过将包存储选择控制结构中apid的存储使能标志修改为“存储”或“不存储”,实现对源包存储状态的修改;针对异常源包,通过自主修改包存储选择控制结构中apid的存储使能标志,将其修改为“存储”,实现对异常源包的存储。
18.较佳地,针对新接收到的源包的存储具体方法为:
19.较佳地,若包存储选择控制结构中存在与源包的apid、业务类型和子类型相同的存储项,且存储使能标志为“存储”,则存储该源包;且存储时,首先获取所述存储项所对应的存储区id,依次存储时间码、设备来源和源包,若源包有效长度小于存储区的源包长度类型的,则未被源包数据占用的部分用0x00填充。
20.较佳地,获取源包并读取的方法:
21.根据所需源包的apid、业务类型和子类型,在包存储选择控制结构中查找存在相同apid、业务类型和子类型的存储项,获取所述存储项所对应的存储区id,在所述存储区id对应的包存储区中:
22.方式一:查找与所需源包的apid、业务类型和子类型相同的源包并读取;
23.方式二:根据所需源包存储时存储的设备来源和时间码范围,查找包存储区中所有属于所述设备来源,或时间码在时间范围内的源包并读取。
24.较佳地,检索并获取源包中的部分数据:
25.根据所需源包的apid、业务类型和子类型,在包存储选择控制结构中查找存在相同apid、业务类型和子类型的存储项,在所述存储区id对应的包存储区,查找与所需源包的apid、业务类型和子类型相同的源包,根据指定的偏移,直接获取源包中的数据。
26.较佳地,删除源包的方法:
27.根据所需源包的apid、业务类型和子类型,在包存储选择控制结构中查找存在相同apid、业务类型和子类型的存储项,获取所述存储项所对应的存储区id,在所述存储区id
对应的包存储区中:
28.方式一:查找与所需源包的apid、业务类型和子类型相同的源包并删除;
29.方式二:根据所需源包存储时存储的设备来源和时间码范围,查找包存储区中所有属于所述设备来源,或时间码在时间范围内的源包并删除。
30.较佳地,所述源包长度类型64字节、128字节、256字节、512字节、1024字节、2048字节、4096字节、8192字节、16384字节,或根据需求扩展。
31.有益效果
32.1、通过在星载计算机中设置apid(应用过程标识)控制结构和包存储选择控制结构,即通过改变存储使能标志,能根据不同的应用需求,实现对源包的存储或不存储(增加或删除);通过设置不同的包存储区长度,并根据源包长度选择相应的包存储区,并填充未占用空间,实现源包占用空间定长,有选择的存储和读取指定的源包数据。该方法灵活地新增某些源包的存储和获取,或者不再存储和获取某项源包,大大提高了源包存储和获取的灵活性,解决了原有方法无法按源包有选择的存储和检索的问题。
33.2、通过设置apid控制结构,增加存储使能标志,通过地面上注修改存储使能标志,实现了对源包存储状态的修改。即当存储使能标志被修改为“存储”时,则可存储该条数据;当储使能标志被修改为“不存储”时,则可删除该条数据;这样一来,当存储资源不足、地面不再关注某些应用数据,或者在某一段时间内只重点关注某些应用数据时,可以有选择的存储某些应用数据、不存储不关注的应用数据。
34.3、包存储选择控制结构的设置,将源包根据apid、业务类型、业务子类型与存储区id对应起来,可以快速定位到包存储区,执行源包检索、读取和删除功能。
35.4、当卫星健康数据出现异常时,通过自主修改存储使能标志,选择存储异常数据源包,利于地面分析和解除异常问题,解决原有方法异常数据丢失的问题。
36.5、当接收到新的源包时,通过源包长度选择相应的存储区,并且该存储区未占用部分用0x00填充,使得每个源包占用的空间是定长的,因此对于包存储区的每一项存储数据,时间码、设备来源、源包中的apid、业务类型、子类型、源包数据的偏移都是固定位置,可以快速检索,大大降低了存储的时间和检索的时间,提升了存储和检索效率。
37.6、因为apid控制结构和包存储选择控制结构固定,当需要某一源包时,只需要根据所需源包的apid、业务类型和子类型,在包存储选择控制结构中查找存在相同apid、业务类型和子类型的存储项,获取所述存储项所对应的存储区id,在存储区中按所需源包的apid、业务类型和子类型进行查找,方便快捷。而且由于记录了时间码、设备来源等信息,用户还可根据该信息进行查找,灵活性强。
38.7、由于存储时进行了填充,使得每个源包占用的空间是定长的,其偏移位置固定,所以用户可以在查找到源包后,通过偏移量,直接检索到所需要的数据,能够快速定位并获取应用数据。
39.8、由于本项目为了能够快速检索到源包中的某个数据,需要保证每个源包占用的空间是定长,为此,根据源包数据有可能存在的数据长度,将包存储区对应设置一个源包长度类型,包括64字节、128字节、256字节、512字节、1024字节、2048字节、4096字节、8192字节、16384字节或更长字节类型。这样一来,通过设置源包长度类型,能够实现占用空间定长,此外通过选择与源包有效数据长度最接近的存储区,用更少的0x00补充未占用空间,保
证了存储空间利用率最高,可以根据实际数据情况选择相应的存储区存储,避免了存储区的浪费。
附图说明
40.图1为本发明包存储选择控制结构图。
41.图2为本发明星上存储和获取方法过程图。
具体实施方式
42.下面结合附图和实施例对本发明方法的实施方式做以说明。
43.本发明提供了一种支持包存储与控制的星上存储和获取方法,如图1所示,通过在星载计算机中设置apid(应用过程标识)控制结构和包存储选择控制结构,即通过改变存储使能标志,实现对源包的存储或不存储(增加或删除);通过设置不同的包存储区长度,并根据源包长度选择相应的包存储区,并填充未占用空间,实现源包占用空间定长,以至于可快速检索。如图2所示,具体方法如下:
44.步骤一:在星载计算机中建立多个包存储区。每个包存储区设置了一个源包长度类型。
45.一个包存储区对应一个文件,源包被存储在包存储区中,包存储区由“存储区id”唯一标识。为了提高存储和检索效率,将源包按源包长度分类,设置源包长度类型,包括64字节、128字节、256字节、512字节、1024字节、2048字节、4096字节、8192字节、16384字节和更长字节类型,源包存储在包存储区时,选择源包长度大于等于且最接近的源包长度类型。例如,源包长度类型定义如下:
46.源包长度源包长度类型64字节0x11128字节0x22256字节0x33512字节0x441024字节0x552048字节0x664096字节0x778192字节0x88更长字节0x99
47.步骤二、设置应用过程标识(apid)控制结构,包括apid、存储使能标志、设备来源、业务类型和子类型数量m、m个业务类型和子类型。通过改变存储使能标志,实现对源包的存储或不存储状态(增加或删除)。
48.例如:apid控制结构1设置示例如下:
49.[0050][0051]
apid控制结构2设置示例如下:
[0052]
apid0x1b3存储使能标志0x77设备来源0x05(载荷计算机)业务类型子类型数量m1业务类型10x02子类型10x04
[0053]
步骤三、设置包存储选择控制结构。包存储选择控制结构包括存储区id、源包长度类型、apid控制结构数量n、n个apid控制结构。
[0054]
例如:包存储选择控制结构设置示例如下:
[0055]
存储区id0x01源包长度类型0x33apid数量n2n个apid控制结构上述2个apid控制结构
[0056]
步骤四、根据实际需求,实现对源包的控制处理。
[0057]
s41、修改已有源包存储状态,即修改源包的存储使能标志:
[0058]
地面上注指令,修改包存储选择控制结构中的设置,根据apid设置“存储使能标志”为“存储”或者“不存储”,实现对源包存储状态的改变。此外还可以增加或删除apid,增加或删除apid对应的业务类型和子类型。
[0059]
s42、异常源包数据处理:
[0060]
当星载计算机接收到源包数据,检测到源包中的健康标识数据为异常后,自主修改包存储选择控制结构中的设置,将该apid的“存储使能标志”设置为“存储”。
[0061]
例如:如检测到载荷计算机健康标识数据异常,则修改“存储使能标志”设置为“存储”(0x88),如下:
[0062]
apid0x1b3存储使能标志0x88设备来源0x05(载荷计算机)业务类型子类型数量m1业务类型10x02子类型10x04
[0063]
s43、存储源包数据:
[0064]
根据包存储选择控制结构存储源包。若包存储选择控制结构中存在与源包的apid、业务类型和子类型相同的存储项,即如果包存储选择控制结构中存在在该源包的apid、业务类型和子类型,且“存储使能标志”为“存储”,则存储该源包,否则不存储该源包。存储时,首先获取所述存储项所对应的存储区id,之后星载计算机先获取当前时间码,依次存储时间码、设备来源和源包,根据源包中的存储区id,选择相应的包存储区。源包占用空间等于该源包长度类型表示的长度,源包有效长度小于占用空间的,剩余部分用0x00填充。这样一来,就保障每个源包占用的空间是定长的,因此对于包存储区的每一项存储数据,时间码、设备来源、源包中的apid、业务类型、子类型、源包数据的偏移都是固定位置,可以快速检索。
[0065]
存储示例如下,根据存储规则,源包数据未占满256字节的存储空间,剩余部分填充0x00。
[0066][0067]
s44、获取源包并读取:
[0068]
根据包存储选择控制结构获取源包。通过“存储区id”找到包存储区对应的存储文件,根据源包的apid、业务类型和子类型查找包存储区是否存在该源包,如果存在则读取源包内容。即:根据所需源包的apid、业务类型和子类型,在包存储选择控制结构中查找存在相同apid、业务类型和子类型的存储项,获取所述存储项所对应的存储区id,在所述存储区id对应的包存储区中,查找与所需源包的apid、业务类型和子类型相同的源包并读取;
[0069]
此外,还可以根据所需源包的apid、业务类型和子类型,在包存储选择控制结构中查找存在相同apid、业务类型和子类型的存储项,获取所述存储项所对应的存储区id,在所述存储区id对应的包存储区中,根据设备来源和时间码范围,查找包存储区中所有时间码在时间范围内的源包并读取。
[0070]
s45、检索并获取源包中的部分数据:
[0071]
根据内容检索源包数据。通过“存储区id”找到包存储区对应的存储文件,根据源包的apid、业务类型和子类型查找包存储区是否存在该源包,即:根据所需源包的apid、业务类型和子类型,在包存储选择控制结构中查找存在相同apid、业务类型和子类型的存储项,获取所述存储项所对应的存储区id,在所述存储区id对应的包存储区,查找与所需源包的apid、业务类型和子类型相同的源包,如果存在,根据指定的偏移(源包数据每个偏移是确定的内容)直接获取源包中的数据。
[0072]
以检索apid 0x1a1、业务类型0x01、子类型0x02的源包、检索该源包的星敏感器温度(在源包第57字节偏移处,共2字节)为例,根据“存储区id”(0x01)找到对应的存储文件,
查找apid 0x1a1、业务类型0x01、子类型0x02的存储条目,为第1、4项,获取这2项源包数据的第57字节偏移处的2字节数据,获取后用于后续处理。
[0073]
s46、删除源包数据:
[0074]
根据包存储选择控制结构删除源包。通过“存储区id”找到包存储区对应的存储文件,根据该源包的apid、业务类型和子类型查找该存储区是否有该源包,删除源包内容。即:根据所需源包的apid、业务类型和子类型,在包存储选择控制结构中查找存在相同apid、业务类型和子类型的存储项,获取所述存储项所对应的存储区id,在所述存储区id对应的包存储区中,查找与所需源包的apid、业务类型和子类型相同的源包并删除。
[0075]
此外,还可以根据设备来源和时间码范围,查找存储区中所有时间码在时间范围内的源包并删除源包内容。可以根据“存储区id”将该文件中的所有源包内容删除。即:根据所需源包的apid、业务类型和子类型,在包存储选择控制结构中查找存在相同apid、业务类型和子类型的存储项,获取所述存储项所对应的存储区id,在所述存储区id对应的包存储区中,根据设备来源和时间码范围,查找包存储区中所有时间码在时间范围内的源包并删除。
[0076]
综上所述,以上仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

技术特征:
1.一种支持包存储与控制的星上存储和获取方法,其特征在于:首先,在星载计算机中建立多个设有固定长度类型的包存储区;之后设置应用过程标识(apid)控制结构,用于记录存储使能标志、业务类型和子类型;然后设置包存储选择控制结构,用于记录存储区id、源包长度类型及apid控制结构;最后根据实际需求,实现对源包操作:(1)修改存储状态:通过地面上注或自主修改的方式,将包存储选择控制结构中apid的存储使能标志的修改为“存储”或“不存储”,实现对已有源包和异常源包存储状态的修改;(2)存储:对新接收到的源包,若包存储选择控制结构中存在与源包相同的apid业务类型和子类型,且“存储使能标志”为“存储”,则存储该源包;对未被源包数据占用的空间进行填充;(3)获取并读取源包、检索并获取源包中的部分数据:通过应用过程标识控制结构和包存储选择控制结构中设置的属性直接查找源包,或通过指定的偏移直接获取源包中的数据;(4)删除:需要删除时,首先查找出源包,并进行删除。2.如权利要求1所述的星上存储和获取方法,其特征在于:apid控制结构包括apid、存储使能标志、设备来源、业务类型和子类型数量m、m个业务类型和子类型。3.如权利要求1所述的星上存储和获取方法,其特征在于:包存储选择控制结构包括存储区id、源包长度类型、apid数量n、n个apid控制结构。4.如权利要求1所述的星上存储和获取方法,其特征在于:针对已有源包,通过将包存储选择控制结构中apid的存储使能标志修改为“存储”或“不存储”,实现对源包存储状态的修改;针对异常源包,通过自主修改包存储选择控制结构中apid的存储使能标志,将其修改为“存储”,实现对异常源包的存储。5.如权利要求1所述的星上存储和获取方法,其特征在于:针对新接收到的源包的存储具体方法为:若包存储选择控制结构中存在与源包的apid、业务类型和子类型相同的存储项,且存储使能标志为“存储”,则存储该源包;且存储时,首先获取所述存储项所对应的存储区id,依次存储时间码、设备来源和源包,若源包有效长度小于存储区的源包长度类型的,则未被源包数据占用的部分用0x00填充。6.如权利要求3所述的星上存储和获取方法,其特征在于:获取源包并读取的方法:根据所需源包的apid、业务类型和子类型,在包存储选择控制结构中查找存在相同apid、业务类型和子类型的存储项,获取所述存储项所对应的存储区id,在所述存储区id对应的包存储区中:方式一:查找与所需源包的apid、业务类型和子类型相同的源包并读取;方式二:根据所需源包存储时存储的设备来源和时间码范围,查找包存储区中所有属于所述设备来源,或时间码在时间范围内的源包并读取。7.如权利要求3所述的星上存储和获取方法,其特征在于:检索并获取源包中的部分数据:根据所需源包的apid、业务类型和子类型,在包存储选择控制结构中查找存在相同apid、业务类型和子类型的存储项,获取所述存储项所对应的存储区id,在所述存储区id对应的包存储区,查找与所需源包的apid、业务类型和子类型相同的源包,根据指定的偏移,
直接获取源包中的数据。8.如权利要求3所述的星上存储和获取方法,其特征在于:删除源包的方法:根据所需源包的apid、业务类型和子类型,在包存储选择控制结构中查找存在相同apid、业务类型和子类型的存储项,获取所述存储项所对应的存储区id,在所述存储区id对应的包存储区中:方式一:查找与所需源包的apid、业务类型和子类型相同的源包并删除;方式二:根据所需源包存储时存储的设备来源和时间码范围,查找包存储区中所有属于所述设备来源,或时间码在时间范围内的源包并删除。9.如权利要求1所述的星上存储和获取方法,其特征在于:所述源包长度类型64字节、128字节、256字节、512字节、1024字节、2048字节、4096字节、8192字节、16384字节,或根据需求扩展相应字节。

技术总结
本发明公开了一种支持包存储与控制的星上存储和获取方法,通过在星载计算机中设置APID(应用过程标识)控制结构和包存储选择控制结构,即通过改变存储使能标志,能根据不同的应用需求,实现对源包的存储或不存储(增加或删除);通过设置不同的包存储区长度,并根据源包长度选择相应的包存储区,并填充未占用空间,实现源包占用空间定长,有选择的存储和读取指定的源包数据。该方法灵活地新增某些源包的存储和获取,或者不再存储和获取某项源包,大大提高了源包存储和获取的灵活性,解决了原有方法无法按源包有选择的存储和检索的问题。有方法无法按源包有选择的存储和检索的问题。有方法无法按源包有选择的存储和检索的问题。


技术研发人员:詹盼盼 何熊文 曹雅婷 齐征 汪路元 阎冬 程博文 顾明 杨丽君
受保护的技术使用者:北京空间飞行器总体设计部
技术研发日:2022.07.18
技术公布日:2022/12/5
转载请注明原文地址: https://bbs.8miu.com/read-315698.html

最新回复(0)