基于实时数据库的小卫星数据监视工具设计

2015-02-27 08:22韩冬李泓杉薛野
航天器工程 2015年5期
关键词:测试人员遥测预处理

韩冬 李泓杉 薛野

(航天东方红卫星有限公司,北京 100094)

基于实时数据库的小卫星数据监视工具设计

韩冬 李泓杉 薛野

(航天东方红卫星有限公司,北京 100094)

提出了一种基于实时数据库的小卫星数据监视工具设计方法,根据实时数据库的技术特点,采用模块化设计方式,将多种数据监视功能进行组合。该数据监视工具主要功能包括遥测参数、遥测帧包数据、遥控指令、遥控指令判读数据、默认监视数据、自定义监视数据、遥测衍生数据、遥测基础信息数据、测试过程事件等的实时监视。在数据处理方面采用共享内存和哈希算法,可保证数据读写的可靠性和数据刷新效率,便于测试人员快速了解卫星当前的工作状态和健康状态。

实时数据库;小卫星;数据监视

1 引言

航天器数据监视是指航天器在地面综合测试过程中,依据判读准则对航天器上行遥控指令和下行遥测数据进行相关性检查,从而判断航天器上各设备工作是否正常、接口是否正确、航天器功能和性能是否正常的过程[1]。航天器数据监视的特点是:①数据信息量大,航天器上行遥控令和下行遥测参数量超过数千条,参数刷新速率按照下行传输速率分为多种,数据的刷新量非常大;②数据及时性和准确性要求高,航天器测试系统是高精度测量系统,测试人员通过监视遥测参数,获取航天器的工作状态和健康状态,遥测参数刷新显示是否及时准确,对航天器综合测试顺利进行会产生很大影响;③数据关系复杂,航天器综合测试过程中的遥测参数和遥控指令之间具有十分复杂的逻辑关系,参数与参数,参数与指令,指令与指令之间存在许多耦合。

以往的测试工具是按照分系统分类方式,将遥测处理结果以列表的形式显示出来,供测试人员监视和记录。一颗卫星的遥测参数大约在3000~5000条,遥控指令有1000~3000条。当有上行遥控指令发送时,测试人员需要根据判读要求,查找遥控指令相关参数判据进行判读和记录。监视这些参数和指令对于测试人员来说需要极大的工作量。随着航天器综合测试技术的不断进步,这种完全靠人工监视和判读的方式,已不能满足综合测试智能化发展的需求。

本文根据小卫星数据监视需求,提出一种基于实时数据库的小卫星数据监视工具的设计思路,按照功能模块设计方式,将多种数据监视功能进行组合,用于整星测试过程中实时数据监视。

2 设计方案

2.1 系统架构

基于实时数据库的小卫星数据监视工具(以下简称数据监视工具)采用客户端/服务器(C/S)架构,服务器上配置了SQL Server关系数据库和Agilor实时数据库。其中SQL Server关系数据库主要用于存储测试基础信息数据,包括型号阶段信息、遥测帧/包信息、遥测参数信息、遥控指令信息、判据信息、系统关系信息等。接口采用微软数据对象(ActiveX Data Object,ADO)应用程序接口,数据查询和获取采用标准sql语句;Agilor实时库主要用于存储测试过程中产生的实时测试数据,包括遥测参数工程值和源码、帧/包源码、遥控指令、地面测试数据和指令。接口采用Agilor实时库系统二次开发接口[2]。

实时数据库是数据库系统发展的一个分支,是实时系统技术和数据库技术相综合的产物[3]。考虑到数据监视工具对运行环境、数据处理、数据实时性的综合要求。中国科学院软件研究所自主开发的Agilor实时数据库,主要功能包括管控一体化的数据集成平台,能够适用于Windows等主流系统平台;采用C/S体系架构,数据库服务器负责采集管理数据,客户端应用程序访问、处理来自服务器的信息;采用先进的压缩技术,节省存储空间的同时,保证数据存取的快捷性;良好的开放性和集成性,数据访问和处理通过标准的应用程序接口实现。该实时数据库具有高实时性、高数据吞吐量、通用系统平台、接口规范的特点,完全满足数据监视工具的需求。

2.2 功能模块设计

数据监视工具采用模块化设计方式[4],功能模块包括基础数据处理模块、参数订阅模块、数据预处理模块、包遥测显示模块、自定义显示模块、衍生处理模块、默认参数显示模块、参数属性模块、指令通信模块、判读显示模块、事件监视模块、配置管理模块等。功能模块的系统构成如图1所示。

图1 功能模块的系统构成Fig.1 System structure of functional modules

(1)基础数据处理模块:连接外部的基础信息数据库,获取测试基础信息数据,包括遥测参数信息、遥控指令信息、指令判据信息,并且将测试基础信息数据发送给数据预处理模块。

(2)参数订阅模块:星上遥测数据进行解析后,生成实时参数工程值和源码,再发送给实时数据库进行存储。参数订阅模块向外部的实时数据库发送需要订阅的参数,接收实时数据库返回的实时参数工程值和源码,并且将参数工程值和源码发送给数据预处理模块[5]。

(3)数据预处理模块:开辟遥测结构数据缓存区,用于存储来自基础数据处理模块的遥测参数信息和参数订阅模块的参数工程值和源码。开辟指令结构数据缓存区,用于存储来自基础数据处理模块的指令信息和指令判据信息;将遥测结构数据和指令结构数据,提供给包遥测显示模块、自定义显示模块、衍生处理模块、默认参数显示模块、参数属性模块、判读显示模块、事件监视模块等调用。

(4)包遥测显示模块:首先通过数据预处理模块获取包遥测页面显示遥测参数;其次通过数据预处理模块获取相对应的包遥测结构数据;最后将获取到的包遥测参数工程值和源码实时显示到包遥测页面。

(5)自定义显示模块:首先读取自定义页面XML配置文件,获取到自定义参数代号、自定义参数ID号、自定义参数描述;其次通过数据预处理模块获取自定义页面相对应的遥测结构数据;最后将获取到的自定义遥测参数工程值和源码实时显示到自定义页面[6]。自定义页面能够将多个遥测包中的参数组合成新的遥测页面,为测试人员提供个性化定制页面,缩短了不同包数据监视时页面切换和数据查找时间,提高了监视效率。

(6)衍生处理模块:首先读取衍生参数XML配置文件,获取到衍生参数代号、衍生参数ID号、衍生参数描述、衍生参数表达式;其次对衍生表达式进行词法和语法分析,判断表达式正确后,提取表达式中相关参数信息,并从数据预处理模块获取相关参数的工程值;最后进行表达式的衍生计算得到衍生参数的工程值,并显示在衍生参数页面。衍生参数运算页面能够完成遥测参数二次处理并显示,通过设置参数处理表达式可以将多个参数进行关联处理,解决了复杂运算处理的数据监视问题。衍生参数运算页面见图2。

(7)默认参数显示模块:首先读取默认参数XML配置文件,获取到默认参数代号、默认参数ID号、默认参数描述;其次通过数据预处理模块获取默认页面相对应的遥测结构数据;最后将获取到的默认遥测参数工程值实时显示到默认遥测页面。默认参数显示能够将重要的遥测数据始终显示在软件最前端,方便测试人员对重要参数的监视,省去监视界面切换和参数查找时间。既提升了监视效率又保证了对重要参数实时监视。

图2 衍生参数运算Fig.2 Derivative parameter calculation

(8)参数属性模块:首先获取包遥测页面和自定义遥测页面所选取参数的参数代号;其次通过数据预处理模块获取该参数的遥测结构数据,最后将获取到的遥测结构数据以列表的形式显示在参数属性页面。参数属性窗口用于快速获取参数基础信息,当参数处理错误时,能够快速查看并分析参数处理问题。参数基础信息包括,ID号、代号、描述、长度、屏蔽字、掩码、处理方法、处理描述、原始值、工程值、刷新时间、参数精度。

(9)指令通信模块:控制台将上行遥控指令发送至MTP判读服务器,MTP判读服务器进行指令校验后分发至遥控前端设备,遥控前端设备经过上行调制后发送到卫星。指令通信模块实时接收来自外部MTP判读服务器的指令广播信息,并且将指令广播信息发送给判读显示模块和事件监视模块,指令广播信息为包含指令执行时间、指令ID号、指令码字、指令描述、指令类型和指令执行结果的结构化数据。

(10)判读显示模块:首先接收来自指令通信模块的遥控指令广播信息,其次通过数据预处理模块获取指令结构数据,再通过指令结构数据中的判据ID号获取判据信息,从而得到和指令相关参数的遥测结构数据,最后将指令判据参数的遥测工程值和源码实时显示。当有下一条指令执行时,自动刷新为下一条指令的判据参数遥测工程值和源码。同时可以选择已执行过的指令,读取相关判据参数参数遥测工程值和源码。指令后判读属性窗口用于显示指令执行后判据判据信息。当有指令执行时,该窗口实时显示该条指令的后判据参数信息,便于测试人员快速查看指令相关判据遥测。可以有效提高指令判读测试监视效率。

(11)事件监视模块:首先接收来自指令通信模块的事件指令广播信息,其次通过数据预处理模块获取事件指令的结构化数据,最后将事件指令进行实时显示并播报。

(12)配置管理模块:管理监视工具的所有XML配置文件。

2.3 遥测结构化数据写入与读取原理

小卫星综合测试过程中需要从实时数据库订阅遥测参数,卫星遥测参数刷新量约为1500个/秒,每秒需要同时完成1500个遥测参数的写入和读取,信息处理量约为3000次/秒,同时还要处理遥控指令和判读数据等[7]。如果采用传统数据处理方式,设定最大遥测数量范围构造结构化数组,给每一个遥测参数分配一个内存空间,当有遥测参数更新时,先要找到该遥测结构数据的指针再进行写入,遥测参数读取时,还需要重新查找遥测结构数据指针。这种数据存取处理的效率很低、存在数据写入和读取冲突、数据更新不及时、容易产生内存泄漏、内存占用率高等诸多问题[8]。

本数据监视工具采用共享内存方式,以CMap类型写入和读取遥测结构化数据,根据遥测结构化数据个数动态分配存储空间,提高了内存利用率。当有遥测参数更新时,按参数ID号作为索引,采用哈希查表算法快速定位遥测[9],数据写入时采用临界区方式处理写入和读取冲突。遥测结构数据读取同样采用哈希查表算法快速定位遥测。哈希查表法最大的优点是,把数据存储、查找消耗的时间大大降低,是典型的内存空间换取查找时间的方法[10]。通过这种方式很好地解决了数据处理、读写冲突、内存泄漏方面的问题。提升数据处理效率的同时,保证了数据的准确性。

遥测结构化数据写入过程为,当有参数更新时,参数订阅模块将参数更新数据发送给数据预处理模块。数据预处理模块通过参数ID号,将参数更新信息发送到参数CMap缓存,CMap缓存以参数ID号为索引,通过哈希查表法将更新数据发送给遥测结构数据;当数据预处理模块需要读取遥测结构数据时,数据预处理模块将参数ID号发送到参数CMap缓存,CMap缓存以参数ID号为索引,通过哈希查表法找到对应的遥测结构数据,并将遥测结构数据返回给数据预处理模块。遥测结构化数据存取原理见图3。

图3 遥测结构数据存取原理Fig.3 Principles of telemetry structure data access

遥测结构数据(MAIN_PARA)由遥测基础信息结构(PARA_CFG)和遥测实时数据结构(PARA_VALUE)组成。遥测基础信息结构数据从基础数据库获取,数据内容包括参数ID号、参数代号、参数描述、参数类型、参数位置信息、参数长度、参数处理方法、参数精度、参数工程值/源码、参数刷新时间。参数ID号为主键,作为参数唯一性标识;参数代号为参数结构数据自定义标识符号;参数描述为参数定义描述;参数类型为参数所属类型,包括无符号整型、有符号整型、浮点型、字符型;参数位置信息为参数在帧遥测中的字节位置;参数长度为参数在帧遥测中字节长度;参数处理方法为参数解析为具体实数值时采用的处理方式,包括直读、曲线、温度、补码、描述;遥测实时数据结构数据从实时数据库获取,数据内容包括参数精度为浮点型参数有效小数位数;参数工程值/源码为参数处理完成后的工程数值与十六进制原始值,参数刷新时间为参数解析为工程值的时间。遥测结构化数据见图4。

图4 遥测结构化数据详细信息Fig.4 Detailed information of telemetry structure data

3 小卫星数据监视工具的应用及意义

基于实时数据库的小卫星数据监视工具的设计是在现有小卫星数据监视需求的基础上,结合未来测试数据监视发展趋势,总结和归纳出的新型数据监视工具,对小卫星测试数据监视智能化具有重要意义。

(1)打破传统数据监视方案,将多种数据监视功能进行整合。提供整星测试事件监视和健康状态监视功能,使测试人员快速准确了解卫星当前工作状态和健康状态。

(2)有效提升了数据监视智能化水平,很好地解决了数据监视中过于依赖人工判读和监视的问题。将大部分数据监视工作交给计算机来处理,提升工作效率的同时,增强了数据监视的准确性。

(3)强化了测试工具和测试技术的自主研发创新能力。通过对数据监视工具进行需求分析、设计、开发、调试、测试、交付使用,使自主研发经验和能力得到进一步提升,对数据监视技术创新和发展起到积极的推进作用。

4 结束语

本文提出一种基于实时数据库的小卫星数据监视工具的设计思路,通过设计基于实时数据库的多种功能模块,实现了卫星工作状态和健康状态的实时监视。

(1)将遥测参数、遥测帧包数据、遥控指令、遥控指令判读数据、默认监视数据、自定义监视数据、遥测衍生数据、遥测基础信息数据、测试过程事件监视等多种数据监视功能进行整合,具有功能的高集成性。通过整星测试事件监视和多种数据监视功能配合的方式,使测试人员快速准确地了解卫星当前的工作状态和健康状态。

(2)采用模块化设计方式,各个功能模块具有独立的调用接口,便于后续二次开发和升级。

(3)参数处理采用共享内存方式,通过动态分配内存的方式解决了内存浪费的问题。通过划分临界区解决了内存数据同时写入和读取问题。将结构化数据以ID号作为索引信息,通过哈希查找方式解决了数据查找定位效率问题。这样既保证数据写入的可靠性,又提升了参数读取和刷新的效率。

(4)具有较高的智能性,做到指令判读过程实时监视,便于测试人员对当前指令的执行状态快速判读和记录。遥测参数基础信息可快速获取和显示,帮助测试人员快速分析遥测处理信息。具有用户自定义和默认方式生成多种状态显示集合功能,帮助测试人员将不同刷新频率的数据进行统一监视。具有遥测衍生参数计算功能,以表达式的处理方式,从多个关联参数衍生出新的遥测参数并显示,完善了遥测参数的关联处理能力。

未来卫星测试数据监视发展将向着更加智能和全面的方向发展,测试人员只需要通过简单的监视页面即可了解卫星运行状态。当有异常或问题发生时,判读监视系统会自动预警和判断,结合专家库和推理机对异常问题进行排查,并给出分析和处理结果。

(References)

[1]王庆成.航天器电测技术[M].北京:中国科学技术出版社,2007:78-79 Wang Qingcheng.Electrical test technology of spacecraft[M].Beijing:China Science and Technology Press,2007:78-79(in Chinese)

[2]张勇,王堃,王强,等.基于实时数据库的卫星测试平台的设计与实现[J].计算机工程与设计,2009,30(2):336-337 Zhang Yong,Wang Fang,Wang Qiang,et al.Design and realization of satellite testing system based on realtime database[J].Computer Engineering and Design,2009,30(2):336-337(in Chinese)

[3]徐慧.实时数据库中数据压缩算法的研究[D].杭州:浙江大学,2006 Xu Hui.Research of data compression algorithm in real time database[D].Hangzhou:Zhejiang University,2006(in Chinese)

[4]孙玮.实用软件工程[M].北京:电子工业出版社,2011:15-20 Sun Wei.Applied software engineering[M].Beijing:Publishing House of Electronics and Industry,2011:15-20

[5]张维洲,蒋孟虎,杨平会,等.卫星遥测信息自动监视处理系统设计[J].航天器工程,2008,17(5):51-57 Zhang Weizhou,Jiang Menghu,Yang Pinghui,et al. System design for monitoring&processing the satellite telemetry automatically[J].Spacecraft Engineering,2008,17(5):51-57(in Chinese)

[6]罗毓芳,李强.一种在轨卫星星上事件状态展示的实现途径[J].飞行器测控学报,2010,29(3):39-42 Luo Yufang,Li Qiang.A method of visualized event display of satellite on-orbit status[J].Journal of Spacecraft TT&C Technology,2010,29(3):39-42(in Chinese)

[7]戴涧峰,袁媛,冯孝辉.基于工作流的小卫星自动化测试系统设计方法研究[J].计算机测量与控制,2011,19(12):2912-2915 DaiJianfeng,Yuan Yuan,Feng Xiaohui.Design of small satellite automatic test based on working flow[J]. Computer Measurement&Control,2011,19(12):2912-2915(in Chinese)

[8]侯朋朋,武延军,谢沛东.高频内存分配下内存泄露检测的性能提升方法[J].计算机工程,2013,39(11):295-298 Hou Pengpeng,Wu Yanjun,Xie Peidong.Performance improvement method of memory leak detection under highly frequent memory allocation[J].Computer Engineering,2013,39(11):295-298(in Chinese)

[9]严蔚敏,吴伟民.数据结构(C语言版)[M].北京:清华大学出版社,2011:251-259 Yan Weimin,Wu Weimin.Data structure(C language)[M].Beijing:Tsinghua University Press,2011:251-259(in Chinese)

[10]赵大勇,丁振国.基于改进主动哈希的URL存储和查找算法[J].微电子学与计算机,2008,25(4):35-38 Zhao Dayong,Ding Zhenguo.URL store and look-up algorithm based on improved aggressive hashing[J]. Microelectronics&Computer,2008,25(4):35-38(in Chinese)

(编辑:张小琳)

Design of Small Satellite's Data Monitoring Tool Based on Real-time Database

HAN Dong LI Hongshan XUE Ye
(DFH Satellite Co.Ltd.,Beijing 100094,China)

This paper introduces a design method of small satellite's monitor data tool based on real-time database.According to the technical characteristics of real-time database,this tool adopts module systematic structural design and combines multiple monitoring functions.The tool's main function is to monitor in real-time the data,including telemetry parameter,data of telemetry frame and package,telecommand data,telecommand judge information data,monitor the routine data,self-defined monitoring data,telemetry derivative data,telemetry basic information data,and the events in test process.The data processing adopts shared memory and Hash algorithm to ensure the reliability of data read/write and the efficiency of data refresh.The tool can make the testers know the satellite's current work state and health state fastly.

real-time database;small satellite;data monitoring

V557

:ADOI:10.3969/j.issn.1673-8748.2015.05.020

2015-08-24;

:2015-09-10

韩冬,男,硕士,工程师,从事小卫星综合测试系统研发和测试工作。Email:ccechd@sina.com。

猜你喜欢
测试人员遥测预处理
求解奇异线性系统的右预处理MINRES 方法
前馈复合控制在提高遥测跟踪性能中的应用
污泥预处理及其在硅酸盐制品中的运用
论职务犯罪侦查中测谎技术的应用与完善*
远程控制式遥测地面站关键技术研究
基于WPF的遥测CAS信息实时监控系统设计开发
自适应模糊PID控制的遥测方舱温度调节方法
浅析软件测试中的心理学应用
基于预处理MUSIC算法的分布式阵列DOA估计
绿植防辐射只是个传说,是真的吗?