经验交流
随着计算机信息化快速发展,信息安全成为国家安全的重要组成部分[1],近年来国际竞争形势发生了新的变化,掌握核心科技的自主可控意识在我国正被前所未有地唤醒。煤炭作为我国的主体能源,一直在能源生产和消费结构中占据主导地位[2],煤炭行业信息安全直接关系到国家信息安全自主可控的战略目标。现有的煤矿安全监控系统联网平台主要基于IBM、英特尔、EMC、微软、甲骨文等外国公司基础软硬件设备设施构建,信息安全不可控,随时面临断供的重大风险。因此,对煤矿安全监控系统联网平台进行国产适配具有重大意义。
(1)国家信息安全自主可控战略目标需要。在过去,我国IT底层标准、架构、产品、生态大多数都由美国IT企业来制定,存在诸多安全风险。为应对信息安全威胁,近年来我国已加强信息化基础设施的自主可控研究和推广应用[3-4]。芯片、操作系统、数据库、中间件等基础软硬件的发展已较为成熟,信息化具备国产化实施基础。国家计划2020—2022年在党政和涉及国计民生的重要行业从基础硬件-基础软件-行业应用软件实现全面国产化。因此,煤监信息化领域国产适配完全响应了国家信息安全自主可控战略目标的号召。
(2)符合煤炭行业信息化发展趋势。国家已启动煤监信息化领域国产化替代试点工作,国家应急管理部要求各级监管监察机构已建、在建与后续规划的各类信息化项目必须完全适配国产基础软硬件平台。国家计划投入4.2亿元专项资金对已建煤矿监管监察信息化平台进行国产化改造。后续,国有煤炭集团、煤矿企业信息化项目也将启动国产化适配改造工作。因此,煤监信息化领域国产适配将是未来几年煤监信息化的主要建设方向,煤矿安全监控系统联网平台的国产化建设迫在眉睫。
(3)填补煤监信息化领域国产化空白。目前煤监信息化领域国产适配工作处于空白,无成熟方案可借鉴。① 国产软硬件基础设施起步较晚,性能相对较差,稳定性与可靠性有待提升,生态圈建设滞后。② 目前虽然在电力、工商、税务等行业已开展国产化常规性应用的试点工作[5],但是这些行业与煤炭行业的业务差异大,且属于保密项目,可借鉴的案例少。③ 煤监信息化领域国产适配工作处于空白,大部分厂家的产品仍处于探索阶段。
鉴此,本文提出了一套基于国产基础软硬件环境的煤矿安全监控系统联网解决方案,设计了基于国产芯片、国产操作系统、国产数据库和国产中间件的煤矿安全监控系统联网平台,填补了煤监信息化领域国产适配空白。
基于国产化的煤矿安全监控系统联网平台[6-7]主要包括煤矿端和上级监管端2个部分。从数据流转角度来看,整个平台架构分为数据采集、数据传输、数据解析、数据存储和数据应用5个环节,如图1所示。首先通过在煤矿端数据采集服务器上部署数据采集系统,将采集到的数据通过消息队列的数据管道传输到上级监管端。然后利用部署在数据分析服务器上的数据解析系统进行数据逆向解析,将解析后的数据分类存储。最后通过数据应用系统进行数据可视化展现。
图1 基于国产化的煤矿安全监控系统联网平台业务流转
Fig.1 Business flow of networking platform for coal mine safety monitoring systeme based on localization
整个平台架构涉及到的软硬件均适配国产化软硬件环境,同时搭配少量Java生态圈的开源框架,如图2所示。按照选取市场主流设备的原则,服务器和终端机CPU均采用飞腾处理器,打印机采用立思辰打印机;服务器操作系统采用银河麒麟,终端机操作系统采用统信;数据库采用开源内存数据库Redis、国产关系数据库达梦和开源列式存储数据库HBase;中间件采用东方通的TongLINK/Q和TongWeb;办公套件采用金山WPS,浏览器采用Firefox。
图2 基于国产化的煤矿安全监控系统联网平台技术架构
Fig.2 Technical architecture of networking platform for coal mine safety monitoring system based on localization
数据采集系统主要基于生产者与消费者模式。针对数据源类型、数据产生周期、数据结构特征、数据大小、数据时效性等要求,采用组件模式,选用Java语言进行开发,能够适配数据库、文本文件、消息队列、Web Service数据接口等不同类型的数据源。
数据传输通道采用东方通消息中间件TongLINK/Q,TongLINK/Q支持Unix、Linux平台和Windows等操作系统,同时提供C和Java等主流语言以及消息传输加密等安全机制。采用TongLINK/Q发布/订阅的消息传输模式来进行数据实时传输,数据采集系统作为发布者将采集到的数据发布到数据传输通道。
数据解析系统基于Java分布式服务框架进行构建,作为TongLINK/Q的订阅者,对数据传输通道内的各类数据按照优先级进行数据逆向解析,并按照数据入库规则进行数据分类入库,实现联网数据的实时解析入库。数据解析的优先级为设备定义信息>报警记录>实时数据>分钟统计数据>运行记录。
如果联网平台的数据存储系统采用单一关系数据库,利用分表和分库等方式对设备运行记录进行存储,这样的存储方案有以下缺点:① 程序频繁对实时数据表进行读写操作,容易引起死锁。② 数据分表分库存储增加了数据查询难度。③ 历史采样数据的数据量非常大,不利于数据库管理维护。
鉴于上述问题,基于国产化的煤矿安全监控系统联网平台的数据存储系统由内存数据库Redis、关系数据库达梦和列式存储数据库HBase进行数据分类存储。针对煤矿安全监控系统联网平台的实时数据、中短期数据和历史采样数据等数据的时效性,实时对数据进行冷热分区。利用内存数据库Redis建立实时数据缓存区,实现热点数据高效访问[8-9];基于达梦数据库性能指标,通过数据库表分区等模式进行存储结构设计[10];基于列式存储数据库Hbase设计历史数据存储系统,实现历史数据回溯性分析[11]。
数据存储系统中国产关系数据库的表结构设计与SQL Server等传统的关系数据库表结构设计类似,Redis内存数据库主要采用键值对的形式存储实时数据,由于关系数据库和内存数据库的设计都较为简单,在此不做过多阐述。HBase数据库的表结构设计直接关系到整个平台的数据查询效率和存储性能,将重点介绍其表结构设计。
HBase是一个面向列的、版本化的、可伸缩的分布式数据库系统,HBase中的表由多个行组成,行由1个行键(Row Key)和1个或多个列组成。列由列族和列限定符组成,每个列都归属于某个列族,每一行的列数量可以不同。由行键、列族、列限定符唯一定位的单元格里面存放1个值和1个版本号,单元格的内容没有特定的数据类型,以二进制字节存储[12]。
1.2.1 列族设计
在该联网平台中,HBase主要用于存储历史采样数据,根据HBase特点及煤矿安全监控系统联网数据实际存储需要,历史采样数据表的每一行具有相同的列,见表1。为了尽可能提高查询效率,表1只设置1个列族。
表1 历史采样数据表结构
Table 1 Structure of historical sampling data table
列名含义列名含义UnitId煤矿编码UAlarm上限报警门限UnitName煤矿名称UCut上限断电门限DeviceId设备编码UCutRe上限断电恢复值DeviceCode设备编号DWarn下限预警门限Address地址DAlarm下限报警门限TypeId设备类型DCut下限断电门限TypeName设备类型名称DCutRe下限断电恢复值STime设备定义时间Value监测值FaceCode工作面编号ShowText监测值显示文本TCode取值T0—T6ValueTime数据时间Range量程StatusId状态编码Precision精度StatusName状态名称UWarn上限预警门限IsDebug是否调校
1.2.2 行键设计
HBase存储设计的关键在于数据库表行键的设计,它将直接影响数据查询效率。历史采样数据表的作用主要有2个:① 用于对单个测点的历史数据进行回溯,时间维度可以回溯到秒级;② 用于对矿井所有测点按任意时间刻度进行查询,以此展现任意历史时刻的全矿井整体环境状况,实现矿井历史数据全景回放。
根据历史采样数据表的用途,设计出该表的行键,如图3所示。行键由32位字符串组成。其中,小时采用24小时制,长度为2位;年月日为YYYYMMDD的形式,长度为8位;煤矿编码为8位整数,高位不足补0;设备编码为10位整数,高位不足补0;分和秒为2位整数。另外,根据该行键特点,将负责数据存储的HBase数据节点存储区预先划分为24个分区,分别对应24个小时[13]。
图3 历史采样数据表的行键结构
Fig.3 Row key structure of historical sampling data table
该行键最大的特点是将小时放在行键最前面,这样做的原因是所有联网煤矿的历史采样数据在每个小时内基本分布均衡,能够确保数据均衡分布在不同的HBase分区中,提高了数据写入和查询效率。
数据应用系统采用B/S架构,部署在Web应用服务器上,Web应用服务器采用东方通TongWeb为系统提供可靠、稳定的基础支撑环境。TongWeb能够兼容匹配常见应用环境,支持主流国产数据库和主流国产操作系统,并兼容多种开源框架。
煤矿安全监控系统联网平台需具备导出报表及打印报表等功能,因此,需要办公套件和打印设备,办公套件采用金山WPS,打印机采用立思辰打印机。
数据应用系统利用面向服务的架构思想,采用分层架构,整个架构分为4层,包括数据接入层、服务层、控制层和视图层。采用Java编码语言,使用Spring + Spring MVC + MyBatis + Html 5技术框架,开发具备实时数据展示、报警记录查询、运行记录查询、分钟统计数据查询、设备定义信息查询、曲线/柱图、历史数据回溯等功能为一体的煤矿安全监控系统联网业务应用系统。
安徽煤矿安全监察局事故风险分析平台已实现12座煤矿的安全监控系统联网,目前正在进行国产化迁移适配。基于国产化的煤矿安全监控系统联网平台已部署到了安徽煤矿安全监察局事故风险分析平台中,实际应用效果表明,该平台的性能能够满足煤矿监管监察需求。
(1)数据传输环节:基于国产化的煤矿安全监控系统联网平台的整个数据传输过程耗时小于10 s,能够满足上级监管部门对煤矿安全监控系统联网的数据传输延时要求。
(2)数据应用方面:基于国产化的煤矿安全监控系统联网平台实现了全矿井环境监测历史采样数据任意时刻数据秒级回放功能,界面如图4所示。
图4 历史采样数据回放功能界面
Fig.4 Function interface of historical sampling data replay
(3)数据查询效率方面:基于国产化的煤矿安全监控系统联网平台实时数据查询耗时基本稳定在240~300 ms,特别是在实时数据资源竞争激烈的情况下,数据查询效率几乎保持不变。
从实际应用效果来看,基于国产化的煤矿安全监控系统联网平台无论是在数据传输、数据应用方面,还是在实时数据查询方面都能够满足上级监管部门对煤矿安全监控系统联网的功能和性能要求。该平台的联网架构具有可复制性,同样适用于煤矿人员定位系统和煤矿大型机电设备联网平台的国产化适配[12-15]。
(1)在国产芯片、国产操作系统、国产数据库和国产中间件等国产软硬件环境支撑下,构建了集数据采集、数据传输、数据解析、数据存储、数据应用为一体的基于国产化的煤矿安全监控系统联网平台,实现了煤矿安全监控系统联网,填补了煤监信息化领域国产适配空白,既响应了国家信息安全自主可控的战略目标的号召,也符合行业发展趋势。该平台具有以下优点:① 整个架构基于国产软硬件基础支撑环境搭建,实现了煤矿监管监察信息化自主可控的目标。② 利用Redis、达梦数据库、Hbase进行数据分类存储,实现了数据指标多维度秒级回溯与钻取分析。
(2)相较于传统的煤矿安全监控系统联网平台,基于国产化的煤矿安全监控系统联网平台还存在一定的不足:与普通商用基础软硬件相比,该平台所依赖的国产软硬件的市场占比低、性能差距较大,且应用生态不完善,例如国产服务器、操作系统、数据库与中间件等产品的市场占有率不足1%,并且同价位软硬件产品技术代差在10~15 a。相信随着我国科研水平和工艺水平的不断提高,国产基础软硬件与普通商用基础软硬件的性能差距会逐渐缩小。
[1] 张晓清,龚波,田丽韫,等.国产自主可控应用性能优化研究[J].软件,2015,36(2):5-9.
ZHANG Xiaoqing,GONG Bo,TIAN Liyun,et al.Study on the performance optimization of application running on the platform built with Chinese owned technology[J].Computer Engineering & Software,2015,36(2):5-9.
[2] 张建强,宁树正,陈美英,等.我国煤炭资源开发前景及对策[J].地质论评,2020,66(增刊1):143-145.
ZHANG Jianqiang,NING Shuzheng,CHEN Meiying,et al.Prospects and countermeasures of coal resources development in China[J].Geological Review,2020,66(S1):143-145.
[3] 刘小霞.基于三维测量技术的煤机备件国产化研究[J].煤矿机械,2020,41(12):41-43.
LIU Xiaoxia.Research on localization of coal machine spare parts based on 3D measurement technology[J].Coal Mine Machinery,2020,41(12):41-43.
[4] 李雪芬,张保太,施峰.矿用设备部件国产化探讨和实践[J].煤炭科学技术,2018,46(增刊2):174-177.
LI Xuefen,ZHANG Baotai,SHI Feng.Discussion and practice on localization of mine equipment components[J].Coal Science and Technology,2018,46(S2):174-177.
[5] 邱鹏,尹泉,张亦琼,等.基于B/S架构的电力信息监控系统设计[J].工业控制计算机,2020,33(12):125-126.
QIU Peng,YIN Quan,ZHANG Yiqiong,et al.Design of ship information monitoring system based on B/S architecture[J].Industrial Control Computer,2020,33(12):125-126.
[6] 谢俊生.煤矿安全监控系统联网报警数据甄别技术[J].工矿自动化,2017,43(2):90-94.
XIE Junsheng.Networking alarm data screening technology of coal mine safety monitoring and control system[J].Industry and Mine Automation,2017,43(2):90-94.
[7] 毛开江.煤矿安全监测监控数据联网采集系统的研究与设计[J].中国煤炭,2019,45(11):49-52.
MAO Kaijiang.Research and design of coal mine safety monitoring data collection system[J].China Coal,2019,45(11):49-52.
[8] 彭灿华.Redis在高速缓存系统中的序列化算法研究[J].现代电子技术,2017,40(22):122-124.
PENG Canhua.Research on serialization algorithm of Redis in cache systems[J].Modern Electronics Technique,2017,40(22):122-124.
[9] 姚经纬,杨福军.Redis分布式缓存技术在Hadoop平台上的应用[J].计算机技术与发展,2017,27(6):146-150.
YAO Jingwei,YANG Fujun.Application of Redis distributed caching technology in Hadoop framework[J].Computer Technology and Development,2017,27(6):146-150.
[10] 陈光.基于中标麒麟平台对达梦数据库访问技术研究[J].计算机技术与发展,2017,27(12):201-204.
CHEN Guang.Research on access technology of DM database based on Neokylin[J].Computer Technology and Development,2017,27(12):201-204.
[11] 韩安.基于Hadoop的煤矿数据中心架构设计[J].工矿自动化,2019,45(8):60-64.
HAN An.Architecture design of coal mine data center based on Hadoop[J].Industry and Mine Automation,2019,45(8):60-64.
[12] 温振蕙,樊永生,余红英.基于Thrift的HBase数据存储机制优化[J].科学技术与工程,2019,19(6):185-189.
WEN Zhenhui,FAN Yongsheng,YU Hongying.Storage mechanism optimization of Hbase data based on Thrift[J].Science Technology and Engineering,2019,19(6):185-189.
[13] 高健,魏峻,许利杰,等.基于预分区策略的装备数据分布式存储方法[J].计算机科学与探索,2021,15(1):96-108.
GAO Jian,WEI Jun,XU Lijie,et al.Distributed storage method for equipment data based on pre-partitioning strategy[J].Journal of Frontiers of Computer Science and Technology,2021,15(1):96-108.
[14] 张鹏,陈运启,靳妮倩君.煤矿安全生产综合监察监管平台设计与实现[J].矿业安全与环保,2019,46(6):53-56.
ZHANG Peng,CHEN Yunqi,JIN Niqianjun.Design and implementation of comprehensive supervision platform for coal mine safety production[J].Mining Safety & Environmental Protection,2019,46(6):53-56.
[15] 陈清.基于Redis的煤矿大型机电设备联网架构[J].工矿自动化,2020,46(10):109-113.
CHEN Qing.Networking architecture of large-scale electromechanical equipment in coal mine based on Redis[J].Industry and Mine Automation,2020,46(10):109-113.
CHEN Qing.Design of networking platform for coal mine safety monitoring system based on localization[J].Industry and Mine Automation,2021,47(8):115-120.