本发明涉及一种基于快速搜索的指令可配置方法,属于航天。
背景技术:
1、随着计算机和航天技术的大力发展。航天器的功能越来越复杂,智能和自主。自主运行,自主任务,自主安全等也将成为智能卫星的必备能力。指令作为航天器运行的交互手段,随着智能卫星的发展,也将快速、高效、安全的适应其天地交互,航天器之间交互的需求。星载指令是星载软件的重要构件之一,对地面和其他星注入的指令进行解析,响应。卫星控制需要的指令种类繁多,实现整个卫星的控制功能至少需要几百条甚至上千条指令。各类型指令的特征也不尽相同,包括标识,长度,时间延时,脉冲指令,数据指令,定长,不定长等。指令的最优设计对提高星载软件的实时性,节省有限的存储资源很有必要。
2、星载指令响应一般采用点对点,单对单的机制。控制指令有几百条,指令的响应模块也有几百个,软件模块能占到星载软件的四分之一。耗时长,耗资源多。用户一般采用任务指令序列,通过地面站的测控系统上注发送给卫星,星载软件按其上注的时间间隔执行任务指令序列。基于指令序列一一对应的操作模式简单,但是无法满足复杂智能卫星等的各种需求。并且卫星的各种载荷也依据自身的特点,对于指令有特殊的要求。面对各自的任务,每一颗星个性化设计的开发模式已经不能满足卫星快速研制的要求。
技术实现思路
1、本发明解决的技术问题是:克服现有技术的不足,提供了一种基于快速搜索的指令可配置方法,对指令进行规则分类,设计不同类型的指令配置表,采用快速定位的哈希搜索方法,并且设计有效性判断准则和环形存储机制,确保指令的可靠和安全。
2、本发明的技术解决方案是:一种基于快速搜索的指令可配置方法,包括:
3、对所有卫星指令进行分类;依据卫星指令的分类,提取同类别指令的特征点,并对相同类别的指令设计可配置参数,形成不同类型的指令参数表;
4、设计基于哈希搜索方法的哈希表;
5、对上注的卫星指令进行有效性判断,若无效,则丢弃;反之,则继续;
6、将与上注的卫星指令相对应的指令参数表与哈希表一一映射,采用哈希函数计算出指令的哈希值,完成上注的卫星指令在哈希表中的定位。
7、进一步地,所述对所有卫星指令进行分类,包括离散指令、标志指令、定长参数设置指令、非定长参数设置指令、数据块注入指令。
8、进一步地,所述可配置参数包括指令id、接口编号、参数类型、参数标识、参数数值、数值范围、数值当量、挂接函数。
9、进一步地,所述设计基于哈希搜索方法的哈希表,包括:
10、注入的卫星指令的id号作为哈希函数的key值,key值对指令参数表的长度取余数计算得指令的哈希值,此值对应注入的卫星指令在哈希表中的位置信息。
11、进一步地,上注的卫星指令在哈希表中定位包括:
12、初始化哈希表:初始化哈希表相关参数;遍历哈希表的节点;将注入指令的配置表按照上述分类分别插入至不同分类的指令哈希表;
13、从外部调用中获取需要注入的指令id号;
14、计算该注入指令的哈希值;
15、依据注入指令的哈希值再响应指令哈希表中查找对应的指令位置;
16、外部调用模块在获取到注入指令的对应位置后,获取到该指令的相关参数,并进行指令的下发。
17、进一步地,所述指令的下发中,时标指令先被下发到环形存储表中等待时间到期后执行,非时标指令被立即下发执行;所述环形存储表按照时间的顺序存储时标指令,存满即停,还包括对其中的时标指令的增加、替换、删除。
18、进一步地,所述时标指令的环形存储表的参数值包括指令序号、指令长度、完成发送的指令数、指令存储、环缓存区大小。
19、进一步地,所述环形存储表按照时间的顺序存储时标指令,包括:
20、当有新的时标指令时,遍历环形存储表,将新的时标指令放入环形存储表中对应的时间位置处,按照时间顺序进行存储。
21、进一步地,所述环形存储表包括起始指针和结束指针;当起始指针和结束指针相等时,缓存的时标指令执行完毕,此时重新载入新的时标指令;将时标指令按照时间的顺序进行存储,首尾相接,存满即停。
22、进一步地,所述对上注的卫星指令进行有效性判断包括:
23、判断其帧头信息,是否与设计值相匹配;
24、判断指令的长度信息,若为定长信息,长度值与设计值相匹配,若为非定长信息,则长度不能超过指令长度范围;
25、对指令数据帧的校验和进行判断;
26、判断对于参数指令信息是否满足其配置表设计的范围;
27、若以上均通过,则上注的卫星指令有效;反之,则上注的卫星指令无效。
28、本发明与现有技术相比的优点在于:
29、(1)本发明通过对指令的特征进行分析,提取了指令的共有特性,依据特性进行了指令分类,不同类型的指令设计了各自的指令配置表,实现了指令繁简归类和高度可配置;
30、(2)本发明通过采用了哈希搜索方法,实现指令的快速定位和识别;
31、(3)本发明通过设计的指令环形缓存机制,实现了多条指令有序存储和释放,提高了内存区域的空间利用率。
1.一种基于快速搜索的指令可配置方法,其特征在于,包括:
2.根据权利要求1所述的一种基于快速搜索的指令可配置方法,其特征在于,所述对所有卫星指令进行分类,包括离散指令、标志指令、定长参数设置指令、非定长参数设置指令、数据块注入指令。
3.根据权利要求1所述的一种基于快速搜索的指令可配置方法,其特征在于,所述可配置参数包括指令id、接口编号、参数类型、参数标识、参数数值、数值范围、数值当量、挂接函数。
4.根据权利要求1所述的一种基于快速搜索的指令可配置方法,其特征在于,所述设计基于哈希搜索方法的哈希表,包括:
5.根据权利要求4所述的一种基于快速搜索的指令可配置方法,其特征在于,上注的卫星指令在哈希表中定位包括:
6.根据权利要求5所述的一种基于快速搜索的指令可配置方法,其特征在于,所述指令的下发中,时标指令先被下发到环形存储表中等待时间到期后执行,非时标指令被立即下发执行;所述环形存储表按照时间的顺序存储时标指令,存满即停,还包括对其中的时标指令的增加、替换、删除。
7.根据权利要求6所述的一种基于快速搜索的指令可配置方法,其特征在于,所述时标指令的环形存储表的参数值包括指令序号、指令长度、完成发送的指令数、指令存储、环缓存区大小。
8.根据权利要求6所述的一种基于快速搜索的指令可配置方法,其特征在于,所述环形存储表按照时间的顺序存储时标指令,包括:
9.根据权利要求8所述的一种基于快速搜索的指令可配置方法,其特征在于,所述环形存储表包括起始指针和结束指针;当起始指针和结束指针相等时,缓存的时标指令执行完毕,此时重新载入新的时标指令;将时标指令按照时间的顺序进行存储,首尾相接,存满即停。
10.根据权利要求1所述的一种基于快速搜索的指令可配置方法,其特征在于,所述对上注的卫星指令进行有效性判断包括: