STP数据中心建设研究
2022-08-27黄天天马金鑫尹德胜赵小军
黄天天,马金鑫,尹德胜,赵小军
(1.北京华铁信息技术有限公司,北京 100081;2.中国铁道科学研究院集团有限公司,北京 100081)
铁路调车作业安全防护是当前铁路亟待解决的一个问题。特别是列车提速后,站内调车作业的安全防护问题越来越凸显。多年来运输、机务及电务等各部门一直在进行调车作业安全问题的研究,以达到缓解和降低调车作业中调车员的工作压力,并提高其自身安全措施的目的,有效地防止各类车站因调车作业而导致的重大安全事故[1],避免因这样的事故带来巨大经济损失及铁路交通影响[2]。STP的研究就是为了有效解决上述问题,保障铁路调车作业安全。
同时, STP具有完善的调车作业数据记录及再现回放功能,显著改善了国内铁路车站调车作业管理手段和运营条件,提高了调车作业自动化程度及现代化管理水平,当前,STP运行总体安全可靠。但是,一方面STP设备是以站为单位安装,STP设备安装车站分布不均,很多车站在偏远山区或郊区,各站之间交通不便,给设备的维护和管理带来了诸多不便,当终端故障时,也可能导致运行数据丢失的情况;另一方面,当今铁路出现越来越多关于大数据的应用,STP的数据未来也能通过大数据手段更好地服务于铁路运行管理,所以建立STP数据中心是非常有必要的[3]。
1 STP数据存储现状及问题
目前,各站STP数据分别存储于各站STP电务终端的数据库里,电务终端一般通过网络协议或串口协议与STP地面控制主机相连通信。地面控制主机将STP数据,诸如联锁数据、控制数据、机车运行数据等发送给电务终端,电务终端再将信息内容解析后存入电务终端的数据库中[4]。
当前STP的数据存储方式还存在以下不足。
1)当前STP数据库与STP上位机程序在同一台终端上,偶发数据库与程序因故障而相互影响的现象[5]。
2)STP数据存储以站为单位,只能分析单个车站的数据,无法从路局或者车务段的角度进行数据分析,进而无法为路局或车务段的运维管理提供数据支撑[6]。
3)STP中有诸多极有价值的数据,如调车运行信息,联锁占用锁闭信息等。如何使用大数据手段从这些信息中发现一些铁路运输的规律[7],从而为全路的运输管理提供科学的决策依据是未来研究的方向。但目前的存储方式不支持大数据平台的建设。
4)受限于现场STP电务终端的硬件条件,能存储的数据量有限,有些大站只能存储近一个月的数据,超过一个月程序就自动清除,无法存储海量的STP数据[8]。
为解决上述问题,对建立路局级别的STP数据中心进行研究探讨。
2 STP数据中心的建设
2.1 数据中心整体架构
STP数据中心建设有几个关键点。首先,中心服务器主机应24 h连续运行,作为路局集团公司调车安全防护的主要系统,记录和存储各车站站段的调车作业实时运行数据,一定要保障中心服务器主机运行及业务稳定可靠。其次,站段调车运行实时数据不能丢失,意外丢失或遗漏数据后,应能迅速得到恢复。存储部分是整个网络和数据管理中心的灵魂。一旦网络中心发生意外(包括操作系统的崩溃,人为操作失误,病毒入侵等)造成数据丢失,将会给现场造成数据空白,所以必须采取完善的数据防范措施。最后,数据中心必须具备一定能力来抵御部分具有灾难性的事件和对信息资源的破坏,尽最大可能防止当极端情况发生时,数据丢失造成的损害。
数据中心架构如图1所示。
图1 STP数据中心架构Fig.1 STP data center architecture
在图1中,STP数据中心采用存储区域网络架构。存储区域网络(Storage Area Network,SAN)架构是一种通过光纤集线器、光纤路由器、光纤交换机等连接设备将磁盘阵列、磁带等存储设备与相关服务器连接起来的高速专用子网。它具有如下优点:1)高适应性,分散的数据资源能快速连接组成一个大的资源库,给多台服务器提供使用资源。2)高可扩展性,服务器与存储设备不再是独立、单一的应用和存储关系,额外的存储器或者服务器都可以随时随地加入到设备组中。3)高性能,使用光纤通道技术,数据传输速率有大幅度地提升。同时,通过使用SAN架构,不再需要通过介质进行系统数据恢复、系统数据备份及文件迁移等,用户访问速度及体验感都有极大的提升。
所有的服务器均采用集群化设计,具备一定的容错能力,当部分服务器故障时,不会影响系统的正常运作。虚拟磁带库是指将磁盘仿真成物理磁带库,使备份服务器把磁盘阵列作为物理磁带库对待,从而实现在备份作业中用磁盘代替机械磁带存储数据的目的。这样能大幅降低维护成本,同时大幅提升数据恢复速度。
此外,搭建一个异地数据灾备中心,利用铁路专网光纤通道与主中心通信,实时进行数据备份存储,防止自然灾害对数据造成无法挽回的损失。
2.2 数据中心机房建设
STP数据中心机房的建设主要包括供电系统、消防系统、防雷系统及机房环境等。
1)供电系统建设
机房的主要供电系统为机房的中枢和大动脉,供电系统必须安全、稳定地运行才能保障其他系统的功效和核心业务的正常运行。好的数据中心供电系统设计要求科学合理的为各个机房设备进行稳定可靠的配电,保障机房设备稳定可靠运转,也能节能环保。所以在机房供电系统的建设中要结合实际要求进行考量规划。数据中心机房用电负荷主要由两大部分组成:一是UPS供电系统负荷,二是城市用电系统负荷。
2)消防系统建设
机房的消防系统有被动方式和主动方式两种灭火设计。主动消防是消防器件主动监测环境,发现问题主动采取措施,比如,安装在机房室内的烟雾监测报警器等,可以在起明火之前就准确地检测到烟雾的来源和方位,从而发出火灾预警。还有气体灭火系统,将具有灭火功能的气态混合化合物,贮存在高压或者低温的低压容器中,当有火灾发生时,自动释放灭火气体,消灭火源。
被动方式是指在数据机房周围筑建防火墙,这样能够尽可能的在火灾中保护好机房内的设备。火灾事故发生时明火燃烧所直接产生的有害烟雾气体主要有两种,其主要成分苯和二氧化碳,这两种有害化学气体已经成为火灾人员重大伤亡的罪魁祸首。另外,机房内部是一个基本完全封闭的防火环境,当火灾释放出的有毒气体没有迅速排出,就很容易被人体吸收造成人员伤害。因此,在机房建设排烟系统必不可少。当火灾事故发生后,要立即启动机房排烟系统,迅速地把机房内的烟雾和燃烧后残留的灭火剂气体排入空气中。
3)防雷系统建设
数据中心机房防雷接地系统是机房建设的基础,做好防雷接地系统可以有效保护设备和人员安全。直击雷与感应雷分别是雷电主要作用影响装置的两种方法。直击雷主要作用于建筑物本身,而感应雷大多作用于数据中心的核心设备系统,对设备正常运行影响比较大。对此要结合机房整体来做好防雷接地工作。例如在配电箱附近位置应适当配置二级防雷电源或者三级防雷防护设施;一些电气设备以属于c和d级的静电防雷防护设施配置为主,核心的一些电子设施应在第二级的抗雷防护设施基础上,加装2V5-c/3+npe的三级防雷器,进行第三级的抗雷防护。防雷配电设备需配置在高层建筑物大楼的一个配电室内,在办公楼的一个配电室内,可按需要进行安装第一级别的防雷器,主要目的是将三层防雷器设备配置到办公楼的一个配电室内;第二级的三层防雷配电设施需配置在数据中心的所有机房及其所处不同楼层的一个配电间;第三级别的防雷配电设施需配置位于数据中心所有机房的3个核心配电装置,包括电源进线端和出线端、电源控制系统。
2.3 数据中心技术实现
2.3.1 搭建分布式hadoop集群环境
数据中心采用分布式hadoop集群方式搭建,操作系统采用ubuntu,jdk版本1.8。技术架构如图2所示。
图2 STP数据中心技术原理Fig.2 STP data center technical principle
Hadoop Distributed File System(HDFS)包含两类数据节点:NameNode和DataNode。NameNode为数据库管理人员,DataNode为数据库工作人员,NameNode主要负责对hdfs文件系统进行管理,DataNode负责存储。使用ZooKeeper来管理分布式hadoop集群。在NameNode上运行ZooKeeper的客户端ZooKeeperFailoverController(ZKFC),ZKFC判断哪个NameNode是主节点,哪个是备用节点,同时在主备切换时也会做判断,ZKFC和NameNode状态保持一致,比如某个ZKFC是active的状态,那么这台NameNode也是active的状态。ZooKeeper通过以下机制保证只有一个NameNode是活动的:如果当前的NameNode失效了,那么另一个NameNode将会获得ZooKeeper的独占锁,表明自己是活动的节点。ZKFC主要有以下功能:1)监测一个基于NameNode的实时用户状态,ZKFC定期向一个NameNode发送一个health-check的实时命令,如果NameNode正确且命令返回,则正常。否则会被认为是失效节点。2)独占锁机制,ZKFC将在ZooKeeper中只能持有一个session,如果本地的NameNode正好属于活动状态,那么ZKFC将在其中保留一个“ephemeral”的节点作为独占锁,一旦本地NameNode都失效,那么这个节点会被自动删除。3)主备切换,如果本地NameNode是正常的,并且ZKFC没有发现其他NameNode具有一个独占锁,就执行Failover过程,让本地的NameNode成为活动状态。
存储多个数据时,NameNode可用于数据对每个数据块的自动映射,处理客户端的自动读写数据请求,配置数据战略,本身不存储实际数据,是管理者,DataNode存储数据块,执行数据块的读写操作,被NameNode管理。
2.3.2 部署Hbase数据库
在搭建好分布式hadoop集群环境后,需要一个应用层面的数据库来管理,以方便客户端对数据的操作,选择Hbase数据库。Hbase数据库和MySQL数据库的对比如表1所示。
表1 数据库对比Tab.1 Database comparison
由表1可知,在处理小数据量时,MySQL的性能优于Hbase,随着数据量的增大,Hbase对比MySQL的性能优势会不断体现,二者性能差距明显。STP数据中心需要存储整个路局的STP数据,其中包括联锁数据、车务数据及机车数据等,数据量巨大,MySQL已经无法满足业务需要,所以选用Hbase数据库作为数据中心的应用层数据库。
按照下列步骤在已经搭建好的hadoop集群环境下部署Hbase数据库。
1)官网下载Hbase安装包,并上传到集群服务器。
2)给安装包赋予执行的权限,命令为:chmod u+x hbase-0.98.6-hadoop2-bin.tar.gz。
3)解压Hbase安装包:tar -zxf hbase-0.98.6-hadoop2-bin.tar.gz -C /opt/modules/。
4)进入hadoop根目录,启动NameNode和DataNode。
5)修改配置文件hbase-site.xml,在配置文件里指定hbase的数据文件存储在HDFS上的路径、Hbase的运行模式、Zookeeper的目录位置。
6)修改配置文件hbase-env.sh,将export HBASE_MANAGES_ZK=true改为false,因为已经搭建好集群环境,这里不使用Hbase自带的Zookeeper包。
7)修改配置文件/opt/modules/hbase-0.98.6-hadoop2/conf/regionservers,指定从节点所在机器。
8)启动Hbase进程:运行start-hbase.sh文件。之后再运行jps命令,出现HRegionServer,Jps,HMaster,HQuorumPeer,DataNode,NameNode,部署完成。
综上所述,STP数据中心的数据库搭建就已经全部完成。
3 结束语
STP运行数据量巨大,特别是有大型综合编组站车站,现有的MySQL分站存储数据的方式已渐渐不能满足业务需要。而STP数据涉及联锁,行车数据,具有重大的数据挖掘价值,目前没有有效的集中存储手段,所以建立以路局为单位的STP数据中心可以有效解决这些问题。本文从工程技术上探讨建立STP数据中心的要点,并提供一些解决思路。STP数据在铁路应用上的挖掘价值是将来可以深入研究的方向。