APP下载

导航监测站数据管理系统设计与实现

2021-09-22刘应刚顾超侯光华罗伟

科技创新导报 2021年16期
关键词:监测站数据管理大数据

刘应刚 顾超 侯光华 罗伟

摘  要:当前导航监测站(简称监测站)的监测任务日益繁重,接收和存储的各类数据随之增多,如何有效地管理这些监测数据,为提高系统的定位精度和稳定性提供数据支持,成为急需解决的问题。针对这一问题,利用当前成熟的大数据技术开发数据存储管理系统,改变了使用光盘管理数据的落后方式,解决了海量观测数据存储管理的难题,提升了监测站的运维管理质量和效率,为提升卫星导航系统服务性能提供可靠支撑。

关键词:观测数据  监测站  卫星导航  大数据  HBase  数据管理

中图分类号:P208                              文献标识码:A                 文章编号:1674-098X(2021)06(a)-0080-05

The Design and Implementation of Data Management System of Navigation Monitoring Station

LIU Yinggang  GU Chao  HOU Guanghua  LUO Wei

(Unit 61773, PLA, Wulumuqi, Xinjiang Uygur Autonomous Region, 831400  China)

Abstract: At present, the monitoring task of the navigation monitoring station (abbreviated as the monitoring station) is becoming increasingly heavy, and all kinds of data received and stored are increasing. How to effectively manage these monitoring data and provide data support for improving the positioning accuracy and stability of the system has become an urgent problem to be solved. In view of this problem, we use the current mature big data technology to develop data storage management system, change the backward way of using CD-ROM to manage data, solve the problem of massive observation data storage management, improve the quality and efficiency of operation and maintenance management of the monitoring station, and provide reliable support for improving the service performance of satellite navigation system.

Key Words: Observation data; Monitoring station; Satellite navigation; Big data; HBase; Data management

监测站是卫星导航系统的关键组成部分[1],为导航业务提供了大量原始监测数据。随着在轨运行的导航卫星数量不断增多,监测站的监测任务日益繁重,接收的监测数据成倍增加,年处理数据量在10TB以上,当前采用数据文件来管理和光盘存储数据的方式已不能满足实际工作需要。要对这种海量的数据进行存储管理和分析处理,单台计算机或服务器已不能满足数据处理所需要的读写速度和计算能力,迫切需要一种新的模式来存储和管理数据,需要具有更强性能的硬件平台,利用集群的威力实现高效的计算,完成海量数据的存储和管理。

为了有效管理这些监测数据,以便后续分析利用监测数据,为系统长期稳定可靠運行提供强有力的支持[2],从监测站的实际工作需求出发,提出了监测站数据管理系统设计方案,进行了数据管理系统的体系结构、软硬件设计和存储管理软件具体实现的分析。

1  数据库设计

1.1 监测数据库容量分析

目前监测站数据是按照单机存储文件方式进行组织管理。监测站需长期存储管理的数据有对卫星导航信号的伪距、载波相位、导航电文等进行监测产生的原始数据[3],还有气象设备采集的数据,经过处理后的中间数据,以及设备工况等数据。经过计算,监测站1d存储各种数据需大约36G的存储空间;按照一年365d计算,每年需要的存储空间为36G×365= 13140G,按14T计算;因需要对数据进行长期存储管理,目前暂定数据的存储时间为10年,此外光盘存储的30TB早期数据需入库管理,则数据库容量为14T× 10+30=170TB。

1.2 数据库设计

在本系统的数据库设计中按照以下4个方面的要求完成对数据库的设计。(1)数据库选型。数据存储管理需要重点考虑数据存储管理的效率、安全性及可维护性3个方面。(2)数据分类组成分析。(3)进行数据分析、数据重组、数据转换以及数据加载操作。(4)对数据库进行评价、调整、修改,经过反复分析得出最终结果,直到数据在工作实际、系统需求上均满足要求为止。在设计中重点考虑了以下问题。

一是数据库选型。由于观测量较多,原始观测数据表中每天要存储近30万条记录,1年将产生超过9000万条记录。对于数量如此之大的表该如何分区进行存储,并提高查询效率需认真考虑。按照上述要求和实际情况,确定本系统采用Hadoop平台构建分布式的数据存储平台,使用HBase数据库代替扩展维护性能差的传统数据库[4],很好地适应了监测站数据量巨大、数据类型多样、数据关联关系复杂的特性,提高数据存储、查询的效率。本项目数据库模型采用面向列存储的HBase数据模型,数据是按列存储的,方便存储结构化和半结构化的数据,方便数据压缩,对针对某一列或者某几列的查询有非常大的IO优势。而这些特点,正好满足监测站对某些特征数据的长期管理和分析研究需要。

二是数据表设计。按照数据库设计的基本原则来设计各个数据表,减少数据冗余,兼顾数据存取速度和存储容量,根据监测站设备和类型作用划分存储不同的数据表,存储不同类型和设备的数据,本系统数据表主要有:原始观测数据表、卫通数据表、气象数据表、设备工况表等数据表。以卫通数据表为例,该表记录卫星通信天线跟踪卫星的方位俯仰角度、卫通接收信号和卫通发射信号的电平值等信息,作为独立的数据表进行存储,表命名为Siglvl,其详细表结构如表1所示。

三是行键(ROWKEY)设计。监测站的观测数据是以时间为时序,每秒产生一组的观测数据,设计HBase数据表时要注意以下几点:Rowkey的唯一性原则,将经常读取的数据存储到一块,将最近可能会被访问的数据放到一块;Rowkey长度原则,建议越短越好,不要超过16个字节,从而提高HFile的存储效率,提高MemStore检索效率;Rowkey散列原则,防止数据检索的时候负载集中在个别的RegionServer上,造成热点问题和域服务器的拥塞,降低查询效率。行键要满足以上条件,与数据行记录一一对应,并且数据要能较均衡的存储在各个域服务节点上,避免“热点”问题,相邻的数据尽可能分布在同一台域服务节点,以减少磁盘I/O,提高数据查询搜索效率。设计行键格式如表2所示,例如第112周第4800秒的数据记录的行键为004800-0112。

四是数据表的预分区。对于数据表预先划分多个分区,分配到不同的域服务节点上,然后根据Rowkey分配到不同域服务器,既要避免热点问题,又要避免连续的数据过于分散,防止数据读取效率低下。

1.3  数据安全策略

监测站数据的安全性是系统设计时的重点之一。本系统采用HDFS文件系统作为数据存储及管理的基本策略和实现方式,相比于传统的关系型数据库有明显的优势[5]。一是大规模数据分布存储能力,HDFS以分布式存储方式和良好的可扩展性提供了大规模数据的存储能力,整个文件系统的容量可随集群中节点的增加而线性扩展。HDFS不仅可存储GB级到TB级别大小的单个文件,还可以支持在一个文件系统中存储高达数千万量级的文件数量,并且应用程序感觉不到数据在物理上分布存储在一组不同机器上。二是强大的容错能力,HDFS将每个文件分成若干个数据块,通过随机方式分布存储在不同数据节点,同时每个数据块有多个副本,系统能监测硬件故障,并且能自动从故障中快速恢复,确保数据不丢失。三是访问速度快,HDFS以多节点访问方式提供很高的数据访问带宽,并且可以把带宽的大小等比例扩展到集群中的全部节点上。

2  系统实现

2.1 系统的体系结构

本系统中,数据管理(数据的导入和导出)和数据查询分析模块中运算较多,并且参与运算的参数多、数据量大,采用C/S结构,以提高系统的运行速度。本系统采用Hadoop平台构建分布式的数据存储平台,使用HBase管理数据,使用JDO进行数据库的访问[6-7],客户端使用Java语言开发了图形界面程序和命令行程序,系统结构如图1所示。

2.2  系统环境搭建

服务器硬件配置:集群由6台浪潮英信NF5280服务器组成。配置情为:CPU为双路 Intel E8300,内存为256G,磁盘为4TB×8。磁盘总容量为192GB,满足系统需要。选用万兆交换机可以避免在数据密集型作业中,集群带宽对系统性能的制约,完全满足系统数据处理的需求。

服务器软件安装及配置主要有以下4个步骤。

(1)安装操作系统。操作系统选用Red Hat Enterprise Linux开源代码编译而成的CentOS 7.2操作系统,满足集群搭建和运行的系统环境。

(2)系统环境配置。安装Java运行环境Oracle JDK1.8,关闭防火墙并禁止自动启动,关闭SELINUX并禁止自启动,关闭并禁止启动虚拟网桥,配置DNS域名服務,为每台服务器配置IP地址,修改每台服务器的HOST文件配置,配置NTP网络时间同步,在node1节点服务器上安装时间同步服务,其它服务器通过网络与node1进行时间同步,保证集群内时间一致。安装SSH、配置SSH无密码登录。

(3)数据库软件安装。更新系统软件并安装MySQL5.6.35,初始化MySQL,更改用户名密码,为Cloudera Manager集群管理平台创建数据库,将MySQL数据库的Java驱动拷贝到指定目录。

(4)Cloudera Manager集群管理平台安装。将下载好的CDH Parcels包上传到node1服务器,安装cloudera-manager集群管理平台的服务端,在node1服务器上安装cloudera-manager-server-5.9.0服务端,并启动cloudera-scm-server服务,在node1至node6上分别安装客户端服务cloudera-manager-agent-5.9.0,并启动cloudera-scm-agent服务。

(5)Hadoop集群安装。使用cloudera manager集群管理平台在6个服务器节点上安装CDH5.9.0的Hadoop集群。安装完成后通过查看上面的功能模块可以查看集群的组件构成,同时还可以继续添加新的角色服务,如图2所示,可以查看集群内所有主机的工作状态。

2.3  数据库创建和优化

首先创建各数据表,使用批命令将所有数据表创建好,以卫通数据表创建为例,代码如下。

数据库创建结合性能优化一并进行[8],主要内容如下。一是选取和适当的压缩策略,经过比较GZip、LZO、SNAPPY三种压缩方式,考虑压缩对CPU、内存资源消耗以及处理速度各方面的综合因素,采用SNAPPY软件方式对数据进行压缩。二是提高数据的I/O效率,关闭HTable的AutoFlush属性,关閉“写WAL日志”参数,使写入数据在客户端进行缓存,直到数据达到达到某个阈值的容量时,批量写入数据库。三是优化合并操作,大合并(Major Compaction)过程非常消耗系统资源,默认情况下,执行大合并的周期是1d。结合项目研发实际情况,取消周期性大合并操作,手动控制在系统空闲时刻进行大合并操作。

2.4  数据存储软件实现

将大量的监测数据按照相应的格式存入数据库是必须解决的问题[9],即实现本系统中监测数据导入和导出模块的功能,本功能在客户端部署。监测站每类数据都有不同的信息帧格式,按照接口协议通过网络向外播发。播发的信息种类繁多,在程序设计时,要准确把握信息帧格式及内容,根据帧格式定位解帧出相应数据,同时需要考虑检验数据帧有效性、程序执行效率、数据格式转换等多方面的问题。在程序设计时较好解决了原始数据存储中断、主备机问题、数据丢秒问题、数据解帧的批量处理等问题。数据存储软件的程序流程如图3所示。

根据实际工作需要,数据存储软件分为图形界面程序和命令行程序,均采用Java语言编程实现数据的解帧和导入大数据平台Hbase数据库。图形界面程序的优点是操作简单直观,可视化效果好,缺点是不能批量处理数据。图形界面程序如图4所示。

图形界面程序占用资源较大,每次仅能处理一个数据文件,人工干预较多,不利于批量数据处理。为此,开发了命令行程序,可处理大批量数据,节省数据处理时间。命令格式为:Data.jar [-选项] [源文件] [结果文件],命令中[-选项]参数用来选择监测数据类型以及是按照文件处理还是存入Hbase数据库。

2.5  监测站数据查询统计功能

系统要求监测站可以存储10年的所有数据。监测站数据查询统计功能则提供对这些数据进行查询统计,以方便事后分析,按照数据库的组织方式提供相关的数据查询、统计、显示等,方便查阅,监测站数据查询统计功能界面如图5所示。

3  结语

本文对导航监测站数据长期管理进行了探索实践,对监测站内关键的数据进行了入库管理,解决了海量监测数据存储管理的难题,提高了工作效率,增强了数据安全性,为后续的监测数据分析、监测站性能评估和故障告警提供强有力的数据支持。

参考文献

[1] 李洋,李路程.卫星导航系统监测站软件主备机切换设计和实现[J].现代导航,2021,12(2):111-115.

[2] 曹纪东,唐桂芬,刘晓萍,等.基于大数据技术的北斗导航信息服务性能提升[J].中国科学:物理学力学天文学,2015,45(7):1-6.

[3] 刘浩.卫星导航监测关键技术研究与实现[D].西安:西安电子科技大学,2019.

[4] 毛江山.基于大数据分析的输电线路管理系统及故障诊断研究[J].电子测试,2016(24):101-102.

[5] 杨雪峰.基于大数据的交通信息采集与处理方法研究[D].北京:北京林业大学,2017.

[6] 蔡晓晨,徐勇.基于Hadoop框架在电力大数据技术的探究[J].信息技术与信息化,2019(12):254-256.

[7] 姜文.基于Hadoop平台的数据分析和应用[D].北京:北京邮电大学,2011.

[8] 李绍俊,杨海军,黄耀欢,等.基于NoSQL数据库的空间大数据分布式存储策略[J].武汉大学学报:信息科学版,2017,42(2):163-169.

[9] 王晓明,陈媛.基于Python的数据采集存储软件[J].中国无线电,2018(4):49-51.

猜你喜欢

监测站数据管理大数据
企业级BOM数据管理概要
定制化汽车制造的数据管理分析
海洋环境数据管理优化与实践
CTCS-2级报文数据管理需求分析和实现
北京市监测站布局差异分析
对辐射环境空气自动监测站系统开展数据化运维的探讨
与酷暑奋战的环保英雄——宜兴市环境监测站现场采样组的一天
基于大数据背景下的智慧城市建设研究
安徽首座超级灰霾监测站将投入使用