基于非关系型数据库的卫星参数存储与处理
2018-12-26杨扬笛吴海燕
杨扬笛,吴海燕,李 虎
(1.中国科学院国家空间中心 卫星运控技术实验室,北京 100190;2.中国科学院大学,北京 100049)
0 引 言
随着我国空间信息技术的发展,空间探测器也越来越多地出现在任务中。然而包含于空间探测器中的科学卫星,产生的数据也日益增多,对其计算能力、存储系统、通信速度提出了挑战。科学卫星处在轨运行阶段,产生的数据种类繁多,一颗卫星有效载荷可以达到几十个之多;数据产生速度快,以工程数据为例,速度可达每秒几MB甚至几十MB;数据量非常大,在长达几个月甚至几年的运行时间里,会产生高达几百GB甚至几十TB的海量卫星工程数据及科学数据。如何发展前沿技术,以满足卫星运控中海量数据处理的要求,包括对其的存储与管理、分析和共享等等,是值得研究和思考的。
这些数据对于科学卫星在轨运行提供载荷常规运行控制、有效载荷性能趋势分析、故障预测等显得非常重要。
1 卫星工程数据处理需求
随着我国航天事业的不断发展,针对卫星平台的状态诊断研究日益成熟,但针对有效载荷状态诊断的研究水平却未见提高。有效载荷承担着对地观测、空间科学探测及空间科学实验等多项任务。由此可见,提高有效载荷的状态诊断处理能力,对于增加任务完成质量和保证卫星的高可靠性,有着重要的实际意义[1]。对于复杂的有效载荷,在现有技术水平下很难保证其在任务中不出问题。卫星的有效载荷有其独有的特征[2]:
(1)故障危害大。一些小问题可能导致庞大的有效载荷不能完成预定任务,造成经济损失。
(2)运行环境特殊,不确定性因素多。不管是高低温、电磁干扰,还是流行撞击以及废弃飞行器的影响,都对有效载荷的正常工作提出了严峻的挑战。
(3)资源和能源的限制使得有效载荷的计算资源有限,能源获取方式缺乏甚至是没有,因此很多情况下需要地面干预。
综上所述,很多时候不能寄希望于卫星进行自我诊断和检查,需要地面支撑系统对卫星工程数据进行大规模的诊断和排查,而传统的关系型数据库显然不能满足这样的要求。因此,卫星工程数据的存储方式和研究手段就成了当前重要的课题之一[3]。
2 非关系型数据库的应用
2.1 海量数据处理现状
国外很早就开始了有关大数据的研究。1989年在底特律召开的第11届国际人工智能联合会议,提出了KDD(knowledge discovery in database)的概念,此后的KDD国际会议由于参与人数过多,主办方决定转变为年会。第四届知识发现与数据挖掘国际学术会议于1998年在美国纽约举行,30多家软件公司借此机会展现了自己最新的研究成果。
相比之下,国内虽然起步较晚,但各个方面都在快速发展。我国互联网数据中心(IDC)发布了一个报告,指出了中国大数据技术和服务市场2012-2016年的预测情况:市场规模将会有巨大发展,由2011年的7 760万美元直冲2016年的6.17亿美元,未来5年的复合增长率高达51.4%,市场规模增长近7倍。在国内,大数据技术正在引起越来越多的企业和个人的关注。将大数据作为重点项目的公司不但有阿里巴巴、腾讯、百度等,作为国内互联网产业的发源地和创新高地的中关村,这里的企业也致力于在大数据发展与研究中贡献自己的一份力量。
随着计算机技术的发展,存储空间已经不再是科学人员和研究人员首要考虑的问题。困扰他们的问题已经变成了如何从大量的数据中快速或者尽快提取出有用的信息。要解决这个问题,不仅要从算法上提高查询和处理的效率,同样对传统的关系型数据库提出了一定的挑战。在2009年之后,非关系型数据库技术突飞猛进。迄今为止,非关系型数据库数量已经破百,各有各的优势。
2.2 非关系型数据库存储
非关系型数据库,最初的意义是现代互联网级别的数据库。但这个词的含义在2009年之后变得丰富起来。非关系型数据库的特点包括:关系不如传统关系型数据库那样紧凑,丰富的技术支持,简单的API,基于事件的组成(而非ACID),海量数据的支持,等等。其中Hadoop/HBase以其跨平台和多节点的优势发展迅速[4],而ElasticSearch和MongoDB以其快速的读写效率在各个开源的非关系型数据库中脱颖而出,而Redis则以键值对的形式对memcached类关系型数据库起到了很好的补充作用。
Hadoop/HBase的海量数据处理技术基于MapReduce并行计算模式,能很好地满足现代航天计划在工程数据信息存储和计算方面的需求。
MongoDB介于关系型数据库和非关系型数据库之间,为非关系型数据库中最具有关系型数据库属性的,也是功能最丰富的。
ElasticSearch是一个基于Lucene的搜索引擎式数据库。它提供了一个分布式的支持多用户能力的全文搜索引擎,并提供了基于RESTful的Web接口。
Redis是一个开源的(BSD Licensed),基于内存的数据存储结构。它支持的数据结构包括字符串、哈希值、列表、集合、排序集合、点阵图、地理坐标信息等。
2.3 大规模数据挖掘模型与算法现状
数据挖掘指从大量数据中提取或“挖掘”信息,是从储存在各种数据库(包括传统关系型数据库、数据仓库等)的繁杂无用的数据中发掘或者提炼出有用的信息的过程[5-6]。数据挖掘是一个交叉学科领域,涉及多个学科。数据挖掘的任务可以分为两大类:描述的和预测的。具体来说,可以分为:概念类描述;挖掘频繁模式、关联和相关;分类和预测;聚类分析;离群点分析;演变分析[7-8]。
综上所述,针对工程数据的数据挖掘能够分析工程数据在合法值内变化对卫星带来的影响,如有效载荷渐渐失效的情况,以及有效载荷数据周期变长的情况,还有卫星工程参数的变化情况等[9]。
3 卫星工程参数存储与研究
3.1 工程数据的分类
从数据分析和数据整理的角度出发,根据数据类型可将工程数据分为整型、枚举型、浮点型。
工程参数中整型与枚举型分为标识字和状态字。属于标识字的有帧同步字段、卫星识别字段等,一般来说在卫星的整个寿命内为固定值,它的二进制码保持不变,多以十六进制形式保存;状态字则表明了卫星上设备的工作状态,除了根据卫星状态的变化而变化,地面指令控制等因素也会对其造成影响[3]。
工程参数中浮点型主要包括温度、电压、电流、压力等物理量。由于这些值是连续变化的,正常的采集值应该是连续的。太阳光照强度、设备工作状态等因素会影响温度参数的变化;电压分为一次电源电压和二次电源电压,由电池工作状态决定;电流显示了星上设备的工作情况,在设备的开关机状态下一般固定在两个状态;贮箱温度以及燃料剩余量等因素影响着星上压力值的变化。
3.2 工程数据变化规律研究
对于在轨卫星的历史工程数据的分析和未来工程数据的预测,对其参数变化规律进行研究至少要(但不限于)考虑以下几种状况[10]:
(1)数据平稳变化或维持在一稳定值附近;
(2)无状态、测控事件发生而参数却有阶跃性的跳变;
(3)与卫星状态变化、测控事件发生相关联的工程参数变化;
(4)参数于某值附近周期性变化。
对于上面四种情况,从已有算法中选择了四种具有代表性的数据分析处理方法,分别是基于多项式拟合外推的方式、基于求和自回归滑动平均模型的时间序列的方式、非参数回归算法、基于神经网络的预测技术。
基于多项式拟合外推是根据卫星历史和实时工程数据,使用多项式拟合参数变化曲线,得到拟合公式,再使用该公式对未来数据外推,并预测其发展变化状况的一种预测方法。这种方法基于以下两点:卫星工程参数没有跳跃式变化;假设所研究的与工程参数有关的分系统结构、功能等没有太大变化。该方法对于周期性随时间变化不大的工程数据有很好的效果,因此对于平稳变化的工程参数一旦有了微小的变化率,则可以拟合出其失效或者降低至次级性能的时间。
基于求和自回归滑动平均模型(ARMA模型)的时间序列的方式可以研究差分平稳序列的变化情况。因为很多非平稳序列差分后能够显示出许多平稳序列的性质,此时的非平稳序列称为差分平稳序列[11]。
ARMA预测模型的预测过程如下:根据观测模型,获取数值序列;对观测数值进行差分运算;对数据进行检验,例如白噪声;建立ARMA的模型进行预测;对数据使用模型进行再一次的检查。该方法多用于工程参数固定周期变化以及恒定在某一值附近的需要预测的参数[12]。
基于非参数回归的回归函数一般表示为:
gn(X)=W1(X1)Y1+W2(X2)Y2+…+Wi(Xi)Yi
其中,Y为一维观测随机向量;X为n维随机自变量;(Xi,Yi)为第i次观测值;Wi(Xi)为权函数。
非参数回归就是在gn(X)毫不知情的情况下,利用已有的观测值(Xi,Yi),利用X值去估计可能的Y值。因为不需要精确的数学模型,所以适合对随时间变化的非线性系统进行预测。
此处,对卫星某些工程参数比较适合用此预测方法。因为基于非参数回归的方法是建立在大量历史数据的基础上的,符合暗物质卫星当前的状况。由于无需建立预测模型即可进行预测,卫星工程参数中许多周期性比较明显的参数均可以使用此方法进行预测。
误差反向后传(back propagation,BP)网络,是目前广泛应用的神经网络模型之一。BP网络能学习和存贮大量的输入-输出模式映射关系,而无需事先揭示描述这种映射关系的数学方程。BP神经网络模型拓扑结构包括输入层(input)、隐层(hidden layer)和输出层(output layer)。它的学习规则是使用梯度下降法,通过反向传播来不断调整网络的权值和阈值,使网络的误差平方和最小[13-14]。
一般的BP算法过程为:网络初始化;输入第一个学习样本;求中间层的输入和输出;求输出层的输入和输出;计算输出层的误差;计算中间层的误差;调整各层连接之间的权值;输入下一个学习样本。
先确定好训练次数和期望误差,再进行算法的学习过程。当训练次数达到或者低于期望误差值即可停止训练。
该预测模型适用于缓变的工程数据预测,适合具有大量历史训练样本的数据的工程数据预测。但由于该方法需求的样本数量巨大,以及训练的方式复杂,所以当其他预测方法无法满足数据需求时,可作为一种替补的工程数据处理预测方法。
3.3 工程数据挖掘示例
在暗物质卫星以及其他卫星的运行过程中,有很多值得分析的工程数据。比如太阳能帆板的电压和电流判断其寿命的问题。
首先分析卫星的工程数据在数据库中的格式,该卫星的地面支撑系统使用了Oracle的PTSQL数据库管理其数据。工程数据储存在一个大表中,由于大表是以接收时间为主键存储工程数据的,所以不利于分析比较某一项工程数据的变化值。
将一段时间内的工程数据导出,并导入到相应的非关系型数据库。由于只关心帆板的电压和电流读数,所以在导出数据表以及导入非关系型数据库时,只选择导出导入和与电压电流有关的数据。
通过第一种数据处理方法处理将近三个月的数据得出:太阳能帆板工作情况良好,电压值和电流值在工作状态下稳定,暂时对其工作情况没有影响。
4 结束语
通过使用四种非关系型数据库进行卫星工程数据的分析和处理,提出了四种只需关注于对有效载荷工作情况有影响的工程数据的处理方法,尤其是适合于基于非关系型数据库的工程数据存储方式,与传统关系型数据相比具备快速的优势。
[1] 王 帆.基于故障树的空间有效载荷故障诊断系统研究[D].北京:中国科学院研究生院(空间科学与应用研究中心),2007.
[2] 福岛洋介,石滨直树.航天器的遥测数据采集分析[J].控制工程,2002(5):36-41.
[3] 秦 巍,郭永富.一种基于历史遥测数据的在轨卫星故障预警系统[J].航天器工程,2010,19(6):40-45.
[4] ZIKOPOULOS P,EATON C.Understanding big data:analytics for enterprise class Hadoop and streaming data[M].[s.l.]:McGraw-Hill Osborne Media,2011.
[5] ZAKI M J, PARTHASARATHY S, OGIHARA M,et al.New algorithms for fast discovery of association rules[C]//Proceedings of 3rd international conference on knowledge discovery and data mining.California:AAAI Press,1997:238-286.
[6] ZAKI M J.Scalable algorithms for association mining[J].IEEE Transactions on Knowledge and Data Engineering,2000,12(3):372-390.
[7] SHVACHKO K,KUANG Hairong,RADIA S,et al.The Hadoop distributed file system[C]//Proceedings of 26th IEEE symposium on mass storage systems and technologies.Piscataway,NJ:IEEE Press,2010:1-10.
[8] DEAN J,GHEMAWAT S.MapReduce:simplified data processing on large clusters[C]//Proceedings of the 6th conference on symposium on opearting systems design & implementation.Berkeley,CA,USA:USENIX Association,2008:10.
[9] 刘明吉,王秀峰,黄亚楼.数据挖掘中的数据预处理[J].计算机科学,2000,27(4):54-57.
[10] 赵红毅,任国恒.ID3算法在卫星遥测数据分析中的应用[J].西安工业大学学报,2010,30(5):491-494.
[11] 王 环,郭义琪,秦 巍,等.构建多航天器在轨管理支持平台[J].航天器工程,2007,16(3):114-119.
[12] 李瑞莹,康 锐.基于ARMA模型的故障率预测方法研究[J].系统工程与电子技术,2008,30(8):1588-1591.
[13] 周永进,蔡惠华,尹逊震,等.改进的BP网络及其在数据预测中的应用[J].微计算机信息,2007,23(27):150-151.
[14] 王一夫,陈松乔,陈 安.海量数据预测模型设计及案例分析[J].计算机工程与应用,2005,41(19):170-173.