智能矿井多元监控数据集成关键技术研究
2022-09-16李国民章鳌贺耀宜高文黄综浏
李国民, 章鳌,2, 贺耀宜, 高文, 黄综浏,2
(1. 西安科技大学 通信与工程学院,陕西 西安 710054;2. 中煤科工集团常州研究院有限公司,江苏 常州 213015;3. 天地(常州)自动化股份有限公司,江苏 常州 213015)
0 引言
随着新一代信息技术的发展和智能矿山建设的推进,我国煤矿的智能化水平不断提高。目前煤矿监测监控技术被广泛应用,大多煤矿已建成瓦斯监测及运输、通风、供配电等方面的监控系统。但不同监控系统之间相互独立,兼容性差,难以实现信息共享和统一管理,形成了“信息孤岛”,严重制约了煤矿智能化建设进程。通过智能矿井多元监控数据集成技术,可打破系统间的界限与壁垒,促进系统间的联动,减少数据冗余,实现数据共享和有效利用,对于保障煤矿生产安全、提高煤矿生产效率具有重要意义。
崔亚仲等[1]通过分析智能矿山中的数据来源、数据集成及数据应用,总结了智能矿山大数据关键技术。毛善君等[2]设计了智能矿井安全生产大数据集成分析平台,开发了包括安全生产全业务流程的动态诊断系统,为提高决策管理水平奠定了基础。但就目前实际应用来看,由于传感设备收集的数据来自不同监控系统,大部分系统采用私有数据采集协议,且每套系统有各自的上位机软件,相互之间仍然无法兼容。针对上述问题,本文从数据采集、数据融合、数据存储3个方面入手,通过多线程技术、主数据技术、数据库存取技术等,研究数据的规范化采集、数据融合规范的制定及数据库的存储策略。
1 井下数据集成需要解决的关键问题
1.1 数据采集规范
煤矿监控系统数据采集方式主要有传感器、手持设备、第三方软件平台[3]。其中通过手持设备采集、人工录入的方式过于缓慢,且数据传输存在不稳定性,不符合安全、高效、快捷的行业共识。
虽然大多煤炭企业都自行开发了数据采集系统,但开发的多为封闭系统,设备之间不能兼容,信息也不能完全实现共享,由此产生了大量异构数据。虽然OPC、Modbus等协议能够兼容部分开放数据采集协议,但大部分监控系统采用私有数据采集协议,系统间兼容困难,难以实现数据有效集成[4-5]。因此,需建立一套具备数据集成功能的软件平台,采用多协议驱动加载方式,利用多线程技术动态扩展煤矿井下所有监控设备的私有或开放采集协议,使井下所有监控设备或人员、车辆等监控对象可通过一套软件平台进行统一监管,实现真正意义上的一体化数据集成。
1.2 数据融合规范
针对煤矿监控数据融合问题,通常的处理方式是建立软件集成平台,通过制定数据规范,将各类数据上传到上位机后再进行转换。虽然很多企业针对不同的业务数据融合制定了相关规范,但是数据融合规范仍不够健全[6]。
将各系统之间共享频率高的数据进行统一规范,形成煤矿主数据(用来描述核心业务的实体,例如员工、组织机构、传感器、设备等),供各系统共享使用,既能保证各系统之间数据的一致性,又能减少数据占用的空间,提高数据融合能力。但目前煤炭行业缺少主数据规范和可用的主数据模型。
1.3 数据库存储策略
目前,煤矿各类监控数据基本都采用商用数据库存储,但当数据库存储的数据量较大时会出现存取速度慢、数据丢失等问题。煤矿监控系统会产生海量数据,对数据库性能要求很高,数据库的存储效率和数据一致性是影响数据存储的关键。考虑成本和知识产权等问题,煤矿监控系统较少采用高性能数据库,开源数据库将是一种发展方向。
2 智能矿井多元监控数据集成方案
智能矿井多元监控数据集成方案如图1所示。首先,采用多协议驱动加载技术采集煤矿现场人、机、环多种业务数据,并确保数据采集的实时性与一致性;然后,对矿井各类监控数据制定主数据规范,对不同监控业务间最核心、需要被关联使用的数据进行统一规范,并建立特定的元数据模型,对不同类型数据采用对应的数据处理方法,并将处理结果进行共享;最后,选定合适的数据库进行数据存储。
图 1 智能矿井多元监控数据集成方案Fig. 1 Intelligent mine multi-dimensional monitoring data integration scheme
图 2 多线程技术Fig. 2 Multithreading technology
2.1 多协议驱动加载
在理想情况下,用1种采集协议即可实现井下人、机、环数据一体化采集。但是,由于不同制造商开发的边缘计算节点不同,所以采用的协议不一致。为了加强系统的开放性、兼容性,可以将私有协议封装为驱动动态链接库(Dynamic Link Library,DLL),通过加载适配OPC,MQTT等协议及挂接私有协议驱动的方式实现各业务系统的数据采集。针对多通道、多协议数据来源,可运用多线程技术满足数据传输的高效性、实时性要求。
2.2 数据融合
煤矿井下监控系统包括安全监控系统、定位系统、生产控制系统等,这些系统都是异构的,对同一对象的特征描述不同,即数据属性信息不一致,需要在集成过程中进行融合、转换[7]。
为实现多元数据集成,共享数据应进行统一定义、集中管理和维护,供所有系统使用。在系统数据集中,将主数据与相关联的数据建立起关系,即可保证信息的一致性。
2.3 数据存储
煤矿监控数据大部分是生产现场产生的实时数据,对数据库的实时性要求很高,对于这类数据,可选用时序数据库。对实时性要求不高的数据可选用关系型数据库。同时,应对数据冗余进行处理,以增强数据之间的关联性,达到优化数据库结构、减少数据冗余的目的。
当前数据库种类很多,如Hadoop,MySQL,SQLite,Redis,Hbase,Oracle等,每种数据库的性能、适用场景都不一样。针对煤矿监控系统产生的海量数据,可选用开源数据库。另外,由于煤矿监控系统瞬时数据量特别大,在断电造成数据丢失的情况下,可运用Redis缓存技术实现数据高效缓存,通过对数据结构和存储策略进行优化,确保数据存取的高效性和数据一致性。
3 智能矿井多元监控数据集成关键技术
3.1 多线程技术
在煤矿监控系统中存在多种数据采集协议。对采用不同数据采集协议的设备或系统,分多个通道进行数据采集。针对每个通道,设计一个专门的数据采集线程,并采用多线程技术进行分组管理,使各系统互不影响,并能提高数据采集效率[8-9]。
多线程技术如图2所示。子系统包含上位机软件,通过OPC协议进行交互更加便捷,且能实现更加丰富的功能;融合分站功能较单一,可通过简单、开放的Modbus协议进行通信;MQTT是物联网传输协议,因此井下智能物联网设备采用MQTT轻量级数据传输协议;传感器和部分PLC不具备网络端口,因此采用串口通信。
3.2 主数据技术
主数据技术是指对需要在各系统间共享的数据进行统一规范,保证各系统数据的高度一致性。例如,人员定位系统、车辆监测系统、生产管理系统都涉及到人员数据,但各系统对人员所属部门和工种的设置不一样,因此,需要将人员所涉及到的主要元数据或属性(如姓名、性别、部门编号、工种等)进行统一规范,并制定成主数据。同样,人员定位、电力监控等系统中都有传感器,但各系统对传感器的编号、类型、检测对象等属性的设置不一样,为数据融合分析带来巨大麻烦。因此,需将传感器所涉及到的编号、类型、检测对象等属性进行统一规范,并制定成主数据。
由于各类系统的数据类型众多,需确定需要共享的数据,再进行分类,对于每一类主数据,将公共属性提炼出来作为元数据,最后制定出主数据规范。
3.3 数据库存取技术
3.3.1 数据库选择
对几种主流关系型数据库的分析总结如下。
(1) MS SQL Server 2012 Express。优点:免费;大数据量存储效率较高。缺点:数据库MDF文件大小限制为10 GB;单CPU运算,不能充分利用目前多CPU机器的性能;不支持故障转移群集。
(2) MS SQL Server 2012标准版。优点:数据库MDF文件最大可达524 PB,满足业务需求;支持故障转移群集,系统可用性较高;存储性能高,在对600亿条数据的测试中,每秒存储记录达120 000条;数据文件和日志文件大小符合现实场景需求。缺点:商业付费。
(3) MySQL Community。优点:免费;安装部署简单;支持常见的SQL语句规范;网络化数据库,可在网络中的任何地方访问;存储速率高达50 000条/s;适合分布式部署。缺点:数据库文件偏大。
经过对比,由于MySQL Community 具备免费、性能稳定、开源社区活跃度高、支持SQL标准等优点,所以选择MySQL Community存储对实时性要求不高的数据。
对3种较热门的时序数据库TDengine,ClickHouse和InfluxDB[10-12]进行对比分析,结果见表1。
表 1 时序数据库对比Table 1 Comparison of the time series databases
综合对比得出,3种时序数据库中,InfluxDB存储速度最快,更适用于煤矿监控数据实时存储。
3.3.2 Redis实时数据管理技术
Redis是一种高性能、支持多种数据类型且支持持久化的键值数据库[13]。使用Redis存储数据时,可使用持久化机制将写命令数据同步到磁盘中,以减少或避免数据意外丢失。对作为缓存的Redis来说,持久化机制可加快系统崩溃或服务器宕机时缓存数据恢复速度。煤矿现场有很多大功率设备,电力故障、线缆损坏等都会影响数据存储进度,通过引入Redis对数据进行缓存,使煤矿监控数据能够完整地存储。
4 结语
从数据采集、数据融合、数据存储3个方面探讨了智能矿井多元监控数据集成关键技术。数据采集方面,提出采用挂接私有协议驱动的方式兼容已有厂家的私有协议,以提高数据采集效率;数据融合方面,提出对井下各类系统采集到的数据进行统一分类并制定主数据规范,以打破系统间数据沟通的屏障,提高煤矿监控数据的可获得性和可用性;数据存储方面,针对煤矿监控系统的海量数据,提出数据分类存储技术,以提高数据存储速率并保证数据的安全性和一致性。