云计算在航天测试领域的研究与应用
2017-01-16平佳伟王有春
陈 卓,平佳伟,王有春
(上海航天电子技术研究所,上海 201109)
云计算在航天测试领域的研究与应用
陈 卓,平佳伟,王有春
(上海航天电子技术研究所,上海 201109)
为满足航天测试领域日益增长的数据处理需求,利用云计算技术提高航天测试领域的数据处理性能和数据可靠性、数据安全性,主要从3个方面对云计算技术与航天测试领域结合进行了研究,首先建立以Hadoop为基础架构的云计算平台,设计新的测试数据传输方案,并以Hadoop冗余备份机制为基础,提高数据可靠性;其次,对云计算平台的数据处理模块进行了研究,并与航天测试领域的数据比对工作相结合;最后,为云计算平台设计了安全性更高的身份认证和加密模块;通过与原有航天测试工作对比分析可以看出,云计算对航天测试领域数据处理速度的提升是巨大的,安全模块也有效地对数据进行了保护,适应了航天测试领域对安全方面的高要求,将云计算应用于航天测试领域具有极大的潜力和广阔的前景。
私有云;Hadoop;MapReduce;Kerberos;PKI;HTTPS
0 引言
随着互联网、通信技术的进一步发展,大数据的时代已经到来,云计算性能强大、资源利用率高、组建成本相对较低,灵活性高,是未来数据处理的发展趋势,目前各行各业都纷纷利用云计算技术推动本行业的发展,百度、阿里等公司将自己的核心业务建立在云平台上,电信、电力、金融将云计算技术应用于用户分析、智能电网、行业预测,美军于2009年成功将云计算技术应用于其陆军作战网。
在航天领域,深空探测,卫星遥感、雷达扫描、导弹跟踪等电子技术的快速发展,导致产生的数据越来越多,地面测试要处理的数据量也越来越大,传统的方式是利用高性能服务器来处理,然而服务器性能的提升已经逐渐不能满足测试需求。
云计算的出现为航天领域中大数据处理提供了一个新的方向。航天各型号中存在大量的淘汰或闲置的计算机,这些计算机性能不高但是保存完好,采用云计算技术可以利用这些闲置的资源,组建高性能的云平台来处理大数据测试,目前,云计算技术在军事航天领域的研究不多见。
本文提出将云计算技术与航天领域相结合,组建高性能私有云平台来处理航天领域大数据测试问题。云计算技术具有以下特点:计算存储能力强,解决航天中数据处理性能不足的问题;平台对硬件要求低,解决航天中计算资源浪费问题;平台拥有完善的冗余备份机制,提升航天领域的数据可靠性。
组建云计算平台的技术主要有Hadoop、OpenStack、Spark,其中以Hadoop的成熟性最好,同时Hadoop更侧重于数据的计算处理,对平台节点的硬件要求不高[1],符合航天领域大数据测试的需求,因此本文采用Hadoop技术实现云计算,同时考虑到航天领域数据保密性等要求,本文组建基于Hadoop的私有云平台。
本文从基于Hadoop的私有云平台的组建、HDFS存储设计、Map/Reduce数据处理设计以及安全模块设计4个方面全面介绍了私有云平台的组建过程,并对组建的私有云平台进行了测试与验证。
1 私有云平台组建
本文通过搭建平台运行所需环境、配置核心文件、配置节点间通信3个步骤来组建基于Hadoop的私有云平台。
搭建平台运行所需环境:编译配置JDK、Ant 等Hadoop运行所需要的编译环境,并将Hadoop、HDFS、MapReduce等信息集成到系统环境中去,使整个平台能够协同运行。
配置核心文件:对hadoop-env.sh,core-site.xml,hdfs-site.xml,mapred-site.xml, yarn-site.xml等核心文件进行配置,根据实际需求对集群中的分片大小、端口号、备份系数、HDFS、NodeManger、ResoureManger等关键因素进行设置,定义整个Hadoop集群的属性,使整个集群能适应实际物理情况,运行起来[2]。
配置节点通信:本文采用SSH协议为集群的节点建立安全的访问通道[3],通过公钥对集群中节点的用户名、口令和数据信息进行加密,实现节点之间安全无密码访问,解决节点访问的安全性和快速性问题。
通过这3个步骤组建的可用于大数据存储和处理的私有云平台,是后续对其数据处理模块和安全性研究的基础。
2 HDFS传输设计
大数据存储与处理速率已经成为目前航天测试领域的主要瓶颈,因此对大数据存储和处理的性能是本文组建的云平台的重要指标。
HDFS是云平台虚拟的一个分布式存储空间,能够将各个节点的物理存储空间集成起来,组成一个巨大的存储资源池,稳定的对海量数据进行存储,提供高吞吐量的数据访问性能[4]。
HDFS能有效提高航天测试领域的数据可靠性,其冗余备份机制提高了航天测试领域的数据可靠性[5]。目前航天测试工作中使用的计算机一旦出现故障,存入其中的数据很容易丢失,而在云平台中,当一个节点出现故障后,平台会无缝调用存储在其它节点的数据,维持数据的完整性,不会对用户的工作造成影响。
在地面测试过程中需要对数据进行采集并传输到HDFS中存储,其传输效率是影响一个测试平台性能的关键。
本文对数据的传输过程重新进行了设计,以适应大数据处理的特点。
1)传统的数据采集方案,如图1所示。
图1 传统数据采集方案
由于现有的数据采集程序大多运行在Windows平台下,而基于Hadoop的云平台系统环境是Linux下的,需要测试计算机从被测设备采集数据后,先传给平台中的节点才能处理,在数据量较大的时候会耗费很多的时间,经计算,在数据量为1T,带宽为千兆,硬盘读写速率为60 M/s时,数据传送到平台中需要4个小时,比数据的计算处理时间还要长。
2)开发Linux系统下数据采集程序。
为解决上述问题,本文重新开发了Linux下的数据采集程序,直接在集群节点中进行数据采集,也就是将测试计算机集成到平台的节点中,去除了从测试计算机传输到平台节点的过程,如图2所示。
图2 Linux数据采集方案
Linux平台下的数据采集程序主要实现了两种最常见的接口,USB接口以及PCI/PCIE接口,对原有的采集板卡重新编写了Linux系统下的驱动以及采集软件,实现了对被测设备的数据采集,随后将采集的数据上传到云存储空间HDFS中。
新的方案将测试计算机与集群节点结合在一起,避免了数据必须从外部测试计算机传输到集群节点中才能处理的弊端,提高了整体的数据处理速度。
3 MapReduce程序设计
数据比对的目的是找出所采集数据的异常帧,在航天测试领域有广泛的应用。本章以实际工作为例,对某型号小固存测试模块的数据比对功能进行了研究,开发了MapReduce数据比对程序。
Hadoop对于数据的处理是通过MapReduce实现的,MapReduce是一个稳定、高效的并行计算框架,在大数据处理方面,性能优势非常明显,是目前进行大数据处理主流的计算模式[6]。
MapReduce程序有着其独有的框架与接口,只有将数据比对过程转化为符合其计算思想和框架的处理过程才能够在Hadoop集群中实现,将其在云平台上实现的难点在于设计出符合MapReduce分布式处理模式的程序。
MapReduce把运行在大型集群上复杂的并行计算高度抽象为两个过程,Map过程和Reduce过程[7],对于使用者来说,这两个过程可以分别用Map函数和Reduce函数来表示,这种高度的抽象化使得使用者只需要设计好Map函数和Reduce函数就可以在大型集群中高效运行复杂的并行计算任务,不需要关心底层是怎么实现的。
本文设计的数据比对大数据处理程序如图3所示。
其主要处理流程如下:首先对采集到的数据进行分片处理,本文的分片大小为64 M,为每一个分片分配一个Map任务进行并行处理,经过Map过程处理后再将结果送入Reduce过程,得到最终结果。
Map和Reduce过程设计的关键点在于Map的输出中间结果
图3 数据比对程序
通过对数据比对过程的分析,本文将相邻两组数据帧的计数位相减,如果相减结果为不为1,代表数据出现异常,将相减结果赋给key值,对应原始数据赋给value,再将得出的中间结果
4 安全模块设计
航天测试领域对于数据的安全性有着较高的要求,为提高数据的安全性,本文对基于Hadoop的私有云平台安全模块进行分析与设计。
现有的安全模块在身份认证和数据加密上存在一些不足:原有的Kerberos认证方式缺乏灵活性,KDC(密钥分配中心)一旦崩溃整个集群的认证工作就无法正常运行[8],其次是KDC和集群紧密结合在一起,容易遭受攻击被窃取密钥,用户之间的认证采用的是对称密钥加密体制,安全性上不如公钥加密体制,在数据传输时,采用的是HTTPS协议明文传输,容易被攻击获取信息。
针对这些不足,本文提出了基于PKI的身份认证机制和HTTPS的数据传输协议,能有效解决Kerberos身份认证体系中存在的缺陷并弥补了数据传输上的不足。
在本文设计的PKI认证体系中,Hadoop集群并没有和身份认证中心CA紧密的结合在一起,客户端在访问HDFS之前,首先应通过RA和PKI接口向CA提交证书申请,CA生成证书并把证书颁发给用户[9]。
当客户端访问HDFS时,PKI认证体系的工作流程主要分为以下几个过程,如图4所示,客户端首先提交自己的身份证书,HDFS通过CA验证客户端身份的真实性,认证过程分为两步,一步是验证客户端身份证书的有效性,另一步是通过LDAP服务器查看所保存的客户端证书身份信息是否与提出申请的客户端一致,通过验证后客户端可以访问HDFS中的数据。
图4 基于PKI身份认证流程
完成身份认证后,本文通过HTTPS协议对客户端和Hadoop服务器传输的数据进行加解密处理,保证数据传输的机密性。
通过基于PKI的身份认证机制和HTTPS加密协议组成的安全模块有效提升了Hadoop集群的安全性,主要有以下几个方面的优势:
1)灵活性高:通过证书进行身份认证,在证书有效期内,不需CA集群也可以正常运行;
2)密钥中心安全性高:CA中心并没有与Hadoop结合在一起,作为第三方独立存在;
3)公钥加密机制:提高了密钥破解难度,而且便于密钥的管理;
4)HTTPS协议:对传输的数据进行了加密处理。
5 系统验证与测试
为了验证上述设计内容,本文采用三台计算机组成一个小型的实验性集群,对集群的性能进行测试分析,集群的信息如表1所示。
表1 Hadoop集群硬件信息
5.1 平台基本性能验证
首先对私有云平台的基本性能指标进行测试,包括平均上传速率、平均下载速率和云存储容量,通过对1~60 G七组测试数据进行上传、下载实验,得出如下数据:
表2 集群基本性能指标
可以看出,平台的上传下载速率达到35 M/s以上,传输速率高效稳定,能够满足科研工作的使用要求,云存储空间达到1.03 T,对物理磁盘利用率达到80%,本文设计的云平台基本性能在传输和存储方面都处于优秀水平。
5.2 平台处理模块性能测试
为了验证本文组建的私有云平台为实际工作所带来的性能提升,本文选用某卫星型号小固存测试模块的数据,用私有云平台和单机对同样大小的测试数据进行处理,对比二者的处理速度,处理结果如图5所示。
图5 单机与集群处理速度对比
可以看出,当数据量大于20 G之后,云平台的处理速度能达到单机的1.6倍,提升了科研处理效率。这还只是最基本地3个节点组成的集群所得出的结果,其中主节点并不参与数据处理,当节点较多时,对数据的处理速度提升更为明显。
此外,当数据量较小的时候,云平台的处理速度和单机相差不大,随着测试数据的数据量逐渐增大,云平台处理速度远远超过单机的处理速度,可以得出如下结论,云计算技术更适用于大数据处理,并不适合用来处理小规模数据。
5.3 平台安全模块验证
当用户访问HDFS(云存储空间)中的数据时,首先需要通过RA向CA申请身份认证,再通过身份证书获取访问云平台的权限,PKI体系颁发的身份认证证书如图6所示。
图6 身份认证证书
通过身份认证后,客户端和HDFS服务器之间通过HTTPS协议进行加密传输,如图7所示。
图7 HTTPS协议工作图
可以看出,本文设计的新的安全模块是可行的,通过PKI认证体系和HTTPS加密协议解决了原有安全模块所存在的一些缺陷。
6 结论
将云计算技术应用于航天测试领域能解决目前大数据存储与处理速率的瓶颈,提高科研效率,降低运营成本,是未来航天技术发展的一个重要的方向,有着非常广阔的应用前景。本文在研究云计算关键技术的基础上,将私有云与航天测试工作相结合,充分利用已有的闲置资源,组建了一个可进行大数据存储和处理的私有云平台,并进一步对私有云平台的安全性、数据处理模块进行了研究,具有良好的工程应用价值。
[1] White T.Hadoop权威指南(第二版)[M].北京:清华大学出版社,2011.
[2] 李 琨.一种私有云存储解决方案[D].兰州:兰州交通大学,2014.
[3] 张炎华.私有云系统的实现及性能分析[D].北京:北京邮电大学,2012.
[4] 曹风兵.基于Hadoop的云计算模型研究与应用[D].重庆:重庆大学,2011.
[5] 王永洲.基于HDFS的存储技术的研究[D].南京:南京邮电大学,2012.
[6] 张晓强.MapReduce在Web日志挖掘中的应用[D].成都:电子科技大学,2011.
[7] 黄 晶.面向Hadoop大数据处理的访问控制与通信安全性研究[D].长沙:湖南大学,2013.
[8] 余 琦.云计算环境下数据安全多维防护体系的研究与设计[D].广州:广东工业大学,2013.
[9] 丁伟伦.基于PKI的安全云计算的研究与应用[D].成都:电子科技大学,2013(6).
Research and Application of Cloud Computing on Aerospace Measurement Area
Chen Zhuo,Ping Jiawei,Wang Youchun
(Shanghai Aerospace Electronic Technology Institute, Shanghai 201109, China)
In order to meet the increasing demand of data processing in aerospace measurement area, promoting the speed of data processing, improving the reliable and security of data, some research is done in combining cloud computing and aerospace techniques includes three treatments. First, establishing a private cloud platform based on Hadoop, designed a new data transmission scheme, and improving the reliable of data by Hadoop; Second, studying the data processing in cloud computing and combining with data comparing in aerospace measurement area; Last, designed a new ID identify and encryption module. We can find that there is a big improvement in data processing by comparing with the traditional way, the security module protects data effective for the high demand of security in aerospace area, applying the cloud computing in aerospace measurement area has a great potential and a wide prospect.
private cloud;Hadoop; MapReduce; Kerberos ; PKI ; HTTPS
2016-06-18;
2016-07-19。
陈 卓(1993-),男,河南驻马店人,硕士研究生,主要从事测试与控制方向的研究。
1671-4598(2016)12-0017-03
10.16526/j.cnki.11-4762/tp.2016.12.006
TP301
A