, , ,
(北京卫星环境工程研究所,北京 100094)
航天器热试验查询统计系统的设计与实现
郭鹏,廖韬,梁硕,王擎宇
(北京卫星环境工程研究所,北京100094)
针对航天器真空热试验数据量大、数据利用率不高的特点,提出了一种基于数据库的试验数据查询统计方法方法,以改善现有的以文件系统为主的数据存储模式;通过对试验数据格式的分析和现有工作流程的优化,将试验数据查询系统分为系统管理、试验管理、策略管理和统计分析等4个大的功能模块,利用过滤算法自动生成试验工况点信息,并通过试验工况点自动生成单次试验的统计报告,进而实现对所有试验数据的综合查询统计功能;目前系统已应用于航天器热试验任务中,经过测试,系统功能和性能指标满足试验需求,解决了实际问题。
真空热试验;数据库;数字化技术;UML建模
在航天器及其部组件研制过程中,真空热试验是地面试验中验证产品可靠性的重要试验项目之一,是提高航天器在轨运行可靠性的一种有效、必要的手段[1]。其主要目的是通过模拟太空的温度、真空度、外热流等环境来验证航天器设计的合理性,考核各系统的性能,以及暴露航天器制造工艺、材料、结构等方面的缺陷,尽可能在地面发现问题,从而提高航天器在轨运行的可靠性。采集和模拟卫星的温度和外热流就是热试验测控系统的主要工作,主要包括温度测量和外热流模拟两部分。试验测控系统的中心是试验测试网络,数采仪器、电源、计算机等测试设备通过测试网络级联在一起,可以实现采集温度、电流、电压等数据等功能,计算机根据采集的数据通过算法驱动相关设备,实现对航天器施加外热流的模拟与调节。
在航天器真空热试验的试验过程中,产生了大量的试验数据,包括温度、电流电压等重要的试验数据,而目前大量数据多以文本形式存储,对数据进行挖掘和分析统计比较困难。本课题旨在开发一套试验数据管理分析软件,将现有热试验数据转存到数据库,并在数据库基础上进行数据分析。
现有的以文件系统为主的数据存储模式,是很难对试验数据进行高效的利用的。因此,系统将采用数据库来存储配置信息和试验数据。试验数据以单次试验为单位存储在数据库的相应数据表中,每次试验的数据包括仪器设备信息、试验信息、参数配置信息以及试验过程数据等基础数据。
为了对历史数据进行综合统计分析,还需要对这些基础的历史数据进行一些处理。比如需要对试验的温度数据进行工况点的自动判读。工况点判读是对单次航天器热试验过程时间节点的最基础描述,通过工况点判读可以得到试验的时间分段信息、变化速率、平衡保持时间、工况转换时间等关键参数,进而才能对多次试验进行综合的统计分析。
系统最核心的功能是对历史试验数据的查询和统计,通过工况点判读功能对每一次试验数据进行了规范化,进而可以实现在多个试验数据之间进行对比分析。由于分析统计的需求很多,而且不同的人员可能有不同的查询统计需求,因此系统的查询统计功能应该设计的较为灵活。系统采用两种方式进行查询统计,一种是常规查询统计,列出一些最常用的查询统计的条件,进行多条件组合查询;另外一冲方式是通过策略定制的方式进行查询统计。用户将特殊的查询统计需求提交给系统管理员,系统管理员通过策略定制的功能将用户的特殊查询需求通过SQL查询语句的形式存储到数据库的策略定制表中,用户便可以通过该条策略进行特殊的查询统计,同时,该条策略也将保存在数据库中,可供其他用户重复使用。
为了方便多个用户使用,系统采用B/S架构,即客户端/服务器的模式,用户只需要通过网页的形式访问系统服务器网站即可使用系统的查询统计功能。系统总体架构采用分层结构设计,如图1所示,分为三层。包括:
1)数据层:数据层是系统的核心。本系统数据库采用MySQL数据库,负责试验数据的存储。根据热试验系统数据传输的特点,系统采用动态创建数据库和数据库表的方式。系统采用ADODB作为存取数据库的中间组件。数据库分为系统数据库和试验数据库两部分。其中系统数据库主要存储用户、日志、数据库表信息等,试验数据库主要存储试验温度,电流电压等数据信息;
2)业务逻辑层:业务逻辑层是热试验数据查询统计系统应用逻辑处理的核心,是系统具体业务操作的实现。主要分为4个大的业务模块,分别是系统管理模块、试验管理模块、策略管理模块和统计分析模块。另外业务逻辑层还包含数据访问组件、通讯组件、图表可视化组件及报表生成组件等服务组件,以支持业务功能模块和数据库及设备之间的数据交互;
3) 界面层:系统利用Eclipse开发环境以及JAVA语言,结合JavaScript脚本语言,依托真空热试验测控系统优化后的流程,结合现有操作习惯进行设计,提供简单可用的人机交互接口,将系统功能展现在用户面前。
图1 系统体系架构图
系统采用MySQL数据库,建立一系列数据表,数据表要具有可扩展性,可以自定义字段属性,支持动态创建数据表,这样在后期的使用过程中一旦需要对数据项进行扩展,只需要在系统前端修改即可,不需要对底层代码和数据库结构进行修改。创建试验数据库功能是系统的核心功能之一,能够建立一系列数据表存储试验数据信息,如试验基本信息表、测点信息表、回路信息表、温度数据表、电流电压数据表、工况数据表、真空度数据表、热沉温度数据表、污染数据表、统计策略信息表等。由于温度测量点和加热回路数量每次试验都不尽相同,而且差别较大,以建立2 000个测点的温度历史数据表为例,设计数据库必须考虑到数据库存取速度以及庞大数据的处理速度问题。
按照通常的数据库表设计方法,设计出的温度历史数据表结构如表1所示。
表1 一般的数据表结构
按照这样的存储方式,每个测量周期需要向数据库表中插入约2 000条记录,这个测量周期一般不超过1分钟,那么一天就需要存储超过288万条数据,按试验十天计算,就需要存储超过2 880万条记录,这样庞大的数据量,其检索效率是相当低的。而且,如果温度当前值信息表也采用这种传统的设计方法,虽然每分钟要清空上次的记录,但是,按照上述方式循环插入2 000条记录大概需要5秒钟的时间,这显然是不能满足系统要求的。
因此,本系统采用了改进的数据存储方法,设计出的温度历史数据表结构如表2所示。
表2 改进的数据表结构
把2 000个测点的数据横排,这样每个测量周期只需要存储一条记录,因此存取速度明显加快,存储的数据行明显减少,检索速度也大大提高。因为不同的热试验,测点数量都不尽相同,而且温度数据表的列数也达到了2 000行,以静态方式建立该数据表显然并不现实,所以就需要在数据库管理子模块中动态建立相应的数据表。温度数据表结构如表3所示。
表3 温度数据表
因为不同的试验测点数量n都不尽相同,而且温度数据表的列数如果过多的话,依靠手动静态建立该表显然并不现实,所以就需要在程序中动态建立温度数据表。关键技术难点在于一个建表字符串,该字符串由循环产生,包含的是静态建表示各个数据项的建立格式,也就是说,动态循环生成静态的建表语句,在应用程序中执行该语句动态建立数据表。考虑到一个数据表的最大列长度限制和存储效率,本方案采用分表机制,即当测点数量大于988时,就需要建立第二个表,结构与第一个相同,测点代号连续。第二个表测点序号最多到1 976,基本能满足2 000点的测量要求。如果测点数量大于1 976,则还可以建立第三个表,最多可以再增加988个测点,以此类推。
数据库表结构及各数据表之间的关系如图2所示。
图2 数据库表结构及各数据表之间的关系
系统的核心功能是对历史试验数据的分析统计,例如统计近100次试验所有热平衡工况的平衡温度、对应的热真空循环的拉偏温度、各工况的极限温度等。要实现以上统计分析功能,第一,要建立相应的数据库,存储历史试验数据及参数等信息;第二,需要对历次试验过程的工况转换时间点进行划分,这是对试验过程进行数据分析的一个关键功能。有了以上两个基础功能,就可以展开对试验数据的分析统计了,而且分析统计功能支持策略自定义,可以随时扩展。
系统具有后台管理的功能,可以进行增删用户、用户权限分配等用户管理操作;可以对试验基本信息进行管理,包括增加、修改、删除试验基本信息等功能;系统同时还具备查询策略管理功能,如新建策略、修改策略信息和删除策略信息等。系统通过后台系统管理功能对系统基本信息进行维护和更新。后台数据库管理功能流程图如图3所示。
系统还需要具备对试验仪器设备等硬件资源的管理功能,测控系统硬件资源主要分为测量系统和控制系统两大部分,有数采仪器、电源、电缆、插头等,系统需要对这些设备的最新状态进行记录,包括维修状态、保养状态、使用状态和计量状态等。记录结果存储在数据库中相应的记录表中。试验人员和系统管理员可以对当前资源进行实时的查看,设备资源信息发生变动时,系统管理员或其委派的设备管理员需要及时更新设备信息。在接到试验任务后,系统管理员需要查看当前设备资源是否满足试验需求,如果不满足,需要进行及时调配,即从别的地方调用设备到本地,进行入库登记。必须保证硬件资源信息的完整性和正确性,因为系统的自动配置功能需要自动调取设备资源信息进行配置,如果资源信息有误,则会直接导致配置结果产生错误。E-R图即实体关系图,可以很好地表达实体和属性之间的关系,是数据库设计的依据。硬件资源和各数据表之间的关系E-R图如图4所示。
图3 系统管理功能流程图
图4 资源管理模块数据E-R图
确定工况时间转换节点是对试验历史数据进行分析统计的先决条件,由于试验数据量大,单纯依靠人工手动判断时间点的模式效率比较低下。因此工况时间点的自动判读功能就成为了该系统的核心功能之一。该功能实现了对试验工况时间节点的自动判读,也就是可以定义出试验中所有热平衡工况和热真空循环的开始、结束时间。通过工况点判读可以得到试验的时间分段信息、变化速率、平衡保持时间、工况转换时间等关键参数,进而才能对多次试验进行综合的统计分析。该功能是实现其它数据统计分析的前提和关键。
实现的方法主要是通过试验工况转换时,对若干特征监测点的温度变化进行分析计算,通过特征值过滤算法对发生明显温度变化的若干特征监测点的时间进行工况转换时间点的划分。自动划分的结果通过图形的形式直观展现,并能够通过人工方式对划分结果进行修正。
工况时间点判读功能流程图如图5所示。
图5 工况时间点判读功能流程图
为便于用户对历史数据进行查询统计,系统具备灵活的查询统计功能。主要分为两种方式,第一种方式是普通多条件组合查询,通过对常用的检索条件如试验名称、地点、时间、卫星平台、试验设备、循环次数、温度极值等多个条件组合查询,可以查询单词或多次基本的试验历史数据信息,这也是最常用到的功能;另外一种方式是策略查询功能。此处的策略是指统计分析数据所采用的数据库检索条件。例如“最近100次热平衡试验的最高温度”就是一条策略。系统最初自带一些定义好的策略,供查询统计使用,后期系统具有自定义策略的功能,即可以在使用过程中不断扩展对数据的挖掘功能。数据库中已经实现对所有试验基础数据的存储,利用数据库检索功能,将策略定义成一个多条件查询数据库的字符串,也就是一条SQL查询语句,将该字符串存储到策略数据库表中,系统通过调用策略字符串实现数据统计分析功能。使用策略表的好处是系统的统计查询功能可以根据需要不断扩展,灵活性高。
同时,系统具有对查询统计分析的结果导出成报表的功能;系统具有记录上一次某策略统计结果的功能,包括统计数据、耗用时间、统计时间等。由于某些对大数据的统计查询耗时较长,而有些结果不需要频繁统计,所以将统计结果保存下来,方便后续查询工作。在进行统计查询时,程序自动记录开始和结束时间,并保存到数据库中该条统计策略信息中,这样下一次在进行该条策略统计时,就可以查看上一次的统计时间作为参考。
系统采用B/S结构,利用Eclipse开发环境以及JAVA语言结合JavaScript脚本语言进行开发,数据库采用MySQL数据库。服务器端配置:Windows XP sp3,IE8.0以上, CPU i5以上性能,8 G以上内存,1 T以上硬盘。客户端配置:Windows XP sp3,IE8.0以上, CPU i5以上性能,4 G以上内存。
由于篇幅所限,文章仅就系统其中一个核心功能即工况点自动判读功能进行说明。试验操作人员在确定试验数据导入完毕后,进入工况点自动判读列表页面。系统根据测量通道信息自动选择若干特征测点作为工况自动判读的参考点,点击“生成工况点”按钮,系统即可根据相应的算法及参数自动生成试验全过程工况点。操作人员还可以通过修改合适的温度阈值、测点阈值以及特征测点编号,对程序自动生成的关键时间节点的时间或备注信息进行调整和修改。自动生成关键工况时间节点后,操作人员不仅可以在列表页面进行浏览和修改,同样可以利用可视化技术,在图形展示页面进行工况关键时间节点的浏览和调整。图形展示页面可以更加直观地展示试验过程中关键温度点的温度变化情况,以及查看自动生成的工况关键时间节点是否准确。
系统开发完成后对系统功能及性能进行了一系列测试。系统功能测试采用黑盒测试,首先制定系统测试用例,指导测试工作的开展,测试用例选择全面有效,能够覆盖所有的软件功能及性能测试。根据系统设计说明共编制了5大块100余项测试用例。通过功能测试对系统进行了一系列的修改,最终通过全部功能测试,系统功能满足需求。在进行完系统功能测试后还进行了系统性能测试,共录入数据库约600余次卫星试验数据,多名测试人员同时对系统进行性能测试,测试结果如表4所示,系统性能测试结果良好。
表4 性能测试报告
本项目针对航天器热试验过程数据,建立了高效的数据库存储机制,并利用数据挖掘技术实现了对历史试验数据的统计、对历史试验数据的关键时间节点进行自动判读、试验数据可视化展示以及数据的查询和统计,从而为热试验过程关键数据分析提供支撑与依据。经过测试,系统各功能运行效果良好,提高了现有工作的效率,对于保证航天器热试验的顺利进行以及对热试验数据进行挖掘分析有着积极的意义。
[1] 刘 畅, 王奕荣. 真空热试验测控软件系统架构设计[J]. 航天器环境工程, 2010, 27(3): 324-327.
[2] 连卫民,等. 基于Web工程数据库的SQL语言系统的设计与实现[J]. 计算机工程与设计,2006,27(18):3424-3428.
[3] 黄本诚, 马有礼. 航天器空间环境试验技术[M]. 北京: 国防工业出版社,2002.
DesignandRealizationofInquiryandStatisticsSystemforSpacecraftThermalTest
Guo Peng,Liao Tao,Liang Shuo,Wang Qingyu
(Beijing Institute of Spacecraft Environment and Engineering, Beijing 100094, China)
In order to solve the problem of large amount of data and low utilization rate of spacecraft vacuum thermal test. A test data query and statistics method based on database is proposed to improve the existing data storage model based on file system. Through the analysis of the experimental data format and the optimization of the existing workflow, the test data inquiry system is divided into four big function modules, such as system management, test management, tactic management and statistic analysis. The test time point information is automatically generated by using the filtering algorithm, and the statistical reports of the single test are generated automatically through the test time point, so as to realize the comprehensive inquiry and statistical function of all the test data. At present, the system has been applied to the spacecraft thermal test mission. After testing, the system functions and performance indicators meet the test requirements, and the system can solve practical problems.
vacuum thermal test; database; digital technology; UML modeling
2017-06-09;
2017-07-17。
郭 鹏(1980-),男,河南人,工程师,硕士,主要从事航天器热试验温度测量与控制方向的研究。
1671-4598(2017)11-0245-04
10.16526/j.cnki.11-4762/tp.2017.11.075
TP242
A