一种遥控指令码版本验证方法转让专利

申请号 : CN201110393528.6

文献号 : CN102521533B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 孙海燕皇威张鑫马骏骁范振昊

申请人 : 中国空间技术研究院

摘要 :

一种遥控指令码版本验证方法,首先建立m套指令号映射关系期望表,然后将各指令卡接入相应的遥控前端计算机并运行相应版本的指令卡驱动程序。对接入的指令卡进行检测,直至检测后正常运行的指令卡数量不小于2。指定一个指令卡作为基准卡,对于所有指令卡,采集相应指令卡中的指令编号序列及相应的指令码序列并进行MD5加密。每一个非基准卡的加密指令码序列分别与基准卡线程得到的加密指令码序列进行一致性判读,判读结果形成指令号映射关系表。将指令号映射关系表与m套指令号映射关系期望表进行一致性判读,判断非基准卡版本验证是否正确并识别问题指令码版本。本发明方法可以并行验证多个版本指令码的正确性,提高验证效率,确保卫星安全。

权利要求 :

1.一种遥控指令码版本验证方法,其特征在于步骤如下:

(1)建立m套指令号映射关系期望表作为指令卡版本验证准则,指令号映射关系期望表为指令卡中存储的指令码编号与指令码排序之间的对应关系表;所述指令码排序为期望的指令码执行顺序,m≥n-1,n为指令卡的数量;

(2)将各指令卡接入相应的遥控前端计算机,并在遥控前端计算机上运行相应的指令卡驱动程序;

(3)对接入的指令卡进行检测,若检测后正常运行的指令卡数量不小于2,则装载验证准则,进入步骤(4);若检测后正常运行的指令卡数量小于2则检查指令卡的接入正确性,直至检测后正常运行的指令卡数量不小于2;

(4)指定其中任意一个指令卡作为验证基准卡,同时为每一个正常运行的指令卡创建一个版本验证线程;

(5)每一个版本验证线程采集相应指令卡中的指令码编号序列及相应的指令码序列,将指令码序列中的每个指令码进行MD5加密,生成以指令码编号为索引的加密指令码序列;

(6)以指令码编号为索引,将每一个非基准卡的加密指令码序列中的每条指令码分别与基准卡的加密指令码序列中的加密指令码依次进行一致性判读,如果判读一致则生成一个指令码映射关系;反之如果直到与基准卡的加密指令码序列中的最后一条加密指令码比对后仍未找到一致的加密指令码,则生成的指令码映射关系为“空”;

(7)对于每一个非基准卡版本验证线程得到的全部指令码映射关系与步骤(1)中建立的m套指令号映射关系期望表进行一致性判读,如果某一个非基准卡版本验证线程得到的全部指令码映射关系与某一套指令号映射关系期望表完全一致,则该非基准卡版本验证正确;如果某一个非基准卡版本验证线程得到的全部指令码映射关系与任意一套指令号映射关系期望表均不一致,则该非基准卡版本验证错误。

说明书 :

一种遥控指令码版本验证方法

技术领域

[0001] 本发明属于卫星测试领域,涉及一种遥控指令码版本验证方法,主要用于卫星系统级测试中对多个版本遥控指令卡驱动程序的正确性进行验证。

背景技术

[0002] 在卫星地面测试系统中,遥控指令卡用于存放卫星遥控指令码,遥控指令卡驱动程序用于识别指令卡硬件,提供指令代号与指令码的映射关系等。卫星测试时具体的应用环境如图1所示,遥控指令卡插在遥控前端计算机的PCI插槽中,遥控前端计算机上安装遥控前端软件及指令卡驱动程序,遥控前端软件通过动态链接库与指令卡进行数据交互。
[0003] 卫星地面测试期间,部分指令非常关键,如果在特定条件下误发该指令会引起不良后果。为保证地面测试期间卫星的安全,有必要对关键指令进行严格管理,该类指令称为禁止指令。卫星系统级测试过程中,需要在不同的阶段根据卫星总装技术状态,进行禁止指令的版本配置及管理。地面依据不同阶段的禁止指令要求定义了多个版本的遥控禁止指令配置,分别由对应版本的指令卡驱动程序来实现,每个版本中的禁止指令按要求被驱动程序映射为自检指令。
[0004] 卫星型号在卫星系统级测试前,研制方会向使用方交付指令卡及第一个版本的指令卡驱动程序,该程序按照禁止指令配置的要求进行了指令映射,指令码字的正确性由研制方具有一定密级的人员采用人工判读的方式进行检查。该版本指令卡驱动程序用于卫星系统级第一阶段测试,该阶段测试完成后,研制方交付剩余版本的驱动程序。以往研制方对于后期交付的指令卡驱动程序版本的验证方法为:依次安装每个版本的驱动程序,进行整星指令巡检,将指令卡中每条指令码与自检指令的指令码进行比对,如果比对一致,则表明该条指令为禁止指令,已被映射为自检指令,如果比对不一致,则表明该条指令为非禁 止指令,没有被映射为自检指令。这种验证方法存在以下问题:只验证到每个版本的禁止指令是否被正确的映射到自检指令,对于非禁止指令的码字正确性并没有验证到,完全依靠于人工进行码字判读的方式,码字判读人员需要具有相应的密级,而且同时只能验证一个版本的禁止指令配置,验证效率低。
[0005] 如何对后期交付的指令卡驱动程序版本的正确性进行全面验证,这是一个难题,主要的困难在于遥控指令码密级较高,使用方的卫星测试人员没有相应的密级,因此为了保护指令码字的安全性,使用方完全依赖于研制方对指令卡驱动版本的验证方法,如果人工判读出现错误,将会给后期使用带来安全隐患。

发明内容

[0006] 本发明的技术解决问题是:克服现有技术的不足,提供了一种基于MD5加密算法和多线程调度模式的指令卡驱动程序版本的验证方法,该方法增加了对指令码安全性的保证措施,可以并行将后期使用的多个版本下的每条指令码的正确性进行验证,提高了验证效率,确保卫星系统级测试的安全性。
[0007] 本发明的技术解决方案是:一种遥控指令码版本验证方法,步骤如下:
[0008] (1)建立m套指令号映射关系期望表作为指令卡版本验证准则,指令号映射关系期望表为指令卡中存储的每条指令所对应的编号与按照期望的指令执行顺序所形成的指令排序之间的对应关系表;其中m≥n-1,n为指令卡的数量;
[0009] (2)将各指令卡接入相应的遥控前端计算机,并在遥控前端计算机上运行相应的指令卡驱动程序;
[0010] (3)对接入的指令卡进行检测,若检测后正常运行的指令卡数量不小于2,则装载验证准则,进入步骤(4);若检测后正常运行的指令卡数量小于2则检查指令卡的接入正确性,直至检测后正常运行的指令卡数量不小于2;
[0011] (4)指定其中任意一个指令卡作为验证基准卡,同时为每一个正常运行的指令卡创建一个版本验证线程;
[0012] (5)每一个版本验证线程采集相应指令卡中的指令编号序列及相应的指令码序列,将指令码序列中的每个指令码进行MD5加密,生成以指令编号为索引的加密指令码序列;
[0013] (6)以指令号为索引,将每一个非基准卡的加密指令码序列中的每条指令码分别与基准卡的加密指令码序列中的加密指令码依次进行一致性判读,如果判读一致则生成该条指令的一个映射关系;反之如果直到与基准卡的加密指令码序列中的最后一条加密指令码比对后仍未找到一致的加密指令码,则非基准卡的该条指令映射关系为“空”;
[0014] (7)对于每一个非基准卡版本验证线程得到的指令号映射关系表与步骤(1)中建立的m套指令号映射关系期望表进行一致性判读,如果某一个非基准卡版本验证线程得到的指令号映射关系表与某一套指令号映射关系期望表完全一致,则该非基准卡版本验证正确;如果某一个非基准卡版本验证线程得到的指令号映射关系表与任意一套指令号映射关系期望表均不一致,则该非基准卡版本验证错误。
[0015] 本发明与现有技术相比的优点在于:本发明方法解决了由于指令码密级的特殊性导致的指令配置版本验证手段受限的问题,可以安全、高效的验证多个版本遥控指令卡驱动程序下指令码字的正确性,从而为卫星系统级测试提供准确无误的指令码配置,具有良好的应用与推广价值。目前通信系列卫星系统级地面测试中都存在多个版本遥控指令卡驱动程序的现状,本发明方法可以被推广到越来越多的卫星测试实施中。
[0016] 附图说明
[0017] 图1为本发明遥控指令卡应用环境示意图;
[0018] 图2为本发明实施例中服务器端和客户端数据交互流程图。
[0019] 基于前期交付的指令卡及第一个版本的驱动程序经过卫星第一阶段测试验证后,能够保证该版本所有指令码的完整性及正确性,后期交付的多个版本指令卡驱动程序均以第一个版本为基准进行指令码的逐条判读验证。验证结果的判定原则为:除禁止指令外,后期交付的版本与第一个版本相比,相同的指令 代号应具有相同的指令码。每个版本中禁止指令应与自检指令具有相同的指令码。
[0020] 具体实施方式
[0021] 为了确保指令码的保密安全性,采用MD5加密技术,将每个版本的每条指令进行MD5算法的加密封装,将经过加密封装后的指令码读出进行码字一致性判读,MD5加密技术是一种优秀的信息加密算法,对于任意长度的信息输入,MD5会产生一个长度为128Bit的输出,由于MD5加密算法具有不可逆的特性,因此无法通过解析输出的密文得到输入信息,从而保证了指令码的安全性。同时利用多线程调度模式实现多个版本指令码并行一致性判读,具备了易扩展性并提高了验证效率。
[0022] 实施例
[0023] 综合考虑指令卡的使用特性和指令比对模式的可扩展性需要,本实施例采用C/S架构系统实现本发明方法,服务器端负责加载指令卡版本验证准则、密文指令码的汇集、加密指令码一致性判读、版本验证准则一致性判读、版本识别、问题卡识别的工作;客户端分为两类,一类是插有指令卡并安装被比对指令卡驱动程序的PC机,负责按照服务器的调度将采集的指令码进行MD5加密工作,并将加密后的指令码回传给服务器;另一类负责用户交互,提供指令号序列的管理界面、验证准则设计界面、基准卡设置界面、一致性判读结果显示界面;所有计算机组成局域网,采用TCP/IP协议,利用SOCKET网络API进行通信,服务器软件与指令卡客户端软件通信是相互独立的多线程模式,可以同时验证识别多个版本的指令卡,即具备了易扩展性又提高了版本验证效率。指令码的读取、网络传输和验证过程均为不可逆密文,确保了指令码的安全。
[0024] 该系统主要包括服务器端软件、核心客户端软件、指令卡客户端软件。
[0025] 服务器端软件:负责指令卡版本验证准则的加载、加密指令码采集、加密指令码一致性判读、指令号映射关系与版本验证准则一致性判读的功能。服务器使用动态多线程模式实现加密指令码采集和一致性判读任务。其具体工作模式是服务器在接收客户端的请求后,立即调度一个线程去处理服务器与客户端 之间的数据通信和验证计算任务,主程序则返回继续监听端口,对待下一客户端的连接请求,如图2所示;
[0026] 核心客户端软件:设置服务器软件的指令卡版本验证准则的设计、指令号序列的维护,验证策略的制定,版本验证结果查看;
[0027] 指令卡客户端软件:根据服务器发送的指令号从指令卡中采集指令码,使用MD5方式对指令码进行加密,并发送给服务器。
[0028] 具体实施时,需要将系统部署在一个以太网环境中,由于指令卡的特性,至少需要两台PC机作为系统运行的物理环境。系统中仅有一个服务器软件模块、一个核心客户端软件模决、至少两个指令卡客户端软件模块,每个插有指令卡的PC机仅能运行一个指令卡客户端软件实例。系统运行连接关系如下:
[0029] (1)核心客户端设计指令卡版本验证准则,设置指令号序列,设置服务器监听端口;
[0030] (2)启动服务器软件,加载版本验证准则,加载指令号序列,监听端口的连接请求。
[0031] (3)运行客户端软件,设置服务器IP地址,发送连接请求。
[0032] (4)服务器为每一个连接请求建立Sockets通信,并识别接入的指令卡。
[0033] (5)核心客户端查看到已建立链接指令卡客户端IP列表,在列表中选择设置基准指令卡客户端,向服务器发送启动验证的请求;
[0034] (6)服务器多路线程并行向指令卡客户端发送指令码采集请求;
[0035] (7)指令卡客户端提取指令码,对其进行MD5加密,提交给服务器;
[0036] (8)服务器对采集到的多个MD5加密的指令码序列,经过加密指令码的一致性判读后,生成多套映射关系表,将映射关系表与版本验证准则进行二次一致性判读后验证出各指令卡版本以及识别处问题指令卡;
[0037] (9)服务器软件将最终验证结果信息发送给核心客户端进行显示。
[0038] 本发明说明书中未作详细描述的内容属本领域技术人员的公知技术。