煤矿安全监控数据回放系统研究

时间:2022-03-13 03:49:19

导语:煤矿安全监控数据回放系统研究一文来源于网友上传,不代表本站观点,若需要原创文章可咨询客服老师,欢迎参考。

煤矿安全监控数据回放系统研究

摘要:为了使煤矿监控系统现场的运行过程进行实验室回放,分析现场系统存在问题,或模拟现场环境进行系统调试,构建了基于煤矿安全监控系统的数据回放系统;通过对来自于井下硬件设备的原始数据进行实时存储,选取某段时间内的原始数据进行监控系统再次数据输入、处理、回放演练,有效查找系统存在的各类问题。

关键词:煤矿安全监控系统;原始数据;实时存储;数据输入;数据回放

随着煤矿安全监控系统升级改造技术方案[1](煤安监函〔2016〕5号)的逐步完成,对系统的各项功能和指标要求大幅提升,系统整体架构在复杂性上远远超出了以往系统。系统故障点也会随之增多,出现问题的故障率也会增加,有些问题在现场的环境下很难及时找出问题根源及解决方案。这就需要系统具备一个数据回放的机制,实时对现场采集的原始数据进行存储,当现场出现问题时,把该段时间内的原始数据文件拷贝出来,通过实验室环境把原始数据通过监控系统软件再次进行处理、显示,达到数据回放的效果,真实再现某段时间内系统现场运行的真实状态和过程。从而可以分析井下设备上传数据的正确性、稳定性,分析上位机软件统计、显示的正确性以及对系统进行现场环境调试、压力测试等操作。为此结合实际应用就如何在监控系统中实现数据回放、如何有效解决现场出现的问题、如何通过回放系统进行系统压力测试以及如何通过回放系统进行系统的功能性测试展开论述。

1数据回放系统

数据回放系统主要包括数据的收集与存储、数据的清洗与转换、数据的转发输出、监控系统上位机软件数据演练等过程。1)原始数据采集。原始数据是来自监控系统井下硬件的真实数据,如何连续不间断的对数据进行记录、存储[2-4],需要一个详细的规划、设计。在现场监控系统运行的过程中会不断地采集硬件设备运行、环境监测等数据,在监控系统收到原始数据的同时,可将数据输出到文本文件,进行永久存储。由于原始数据随着井下监测点的增多会大幅增加,考虑按小时生成原始数据文本文件。同时由于长期运行输出文件会占用大量的硬盘空间,考虑通过定时清理的方式,滚动删除某一时间点之前的文本文件,保留近一段时间内的文本数据,同时作为日志系统使用。2)数据清洗模块。由于存储的原始数据样本可能包含信息类型、时间戳等信息,在原始数据样本输入到监控系统之前需要进行数据的清洗、转换[5]操作,将文本文件中的记录数据完全转化为系统需要的满足协议要求的数据,并验证清洗、转换后数据的正确性、完整性。数据清洗转换流程如图1。3)数据转发模块。数据转发过程主要是将数据清洗之后,把满足要求的数据转发给监控系统上位机软件进行处理。该模块主要涉及数据的读取,基于UDP的数据发送体系的建立,按一定周期不间断地将数据输出给监控系统上位机处理系统。

2系统关键技术

1)Socket网络通信技术。在网络应用程序设计时,由于TCP/IP的核心内容被封装在操作系统中,如果应用程序要使用TCP/IP,可以通过系统提供的TCP/IP的编程接口来实现。在Windows环境下,网络应用程序编程接口称作WindowsSocket。为了支持用户开发面向应用的通信程序,大部分系统都提供了1组基于TCP或者UDP的应用程序编程接口[6](API),该接口通常以1组函数的形式出现,也称为套接字(Socket)。数据回放系统在数据转发给上位机软件的过程中使用该技术,通过UDP的方式把数据直接抛给上位机软件进行处理,该种方式也是跟井下网络设备与上位机软件的通讯方式保持一致。真实模拟系统的网络通讯。2)多线程技术。多线程是指从软件或者硬件上实现多个线程并发执行的技术。具有多线程能力的计算机因有硬件支持而能够在同一时间执行多于1个线程,进而提升整体处理性能。具有这种能力的系统包括对称多处理机、多核心处理器以及芯片级多处理或同时多线程处理器。在1个程序中,这些独立运行的程序片段叫作“线程”(Thread),利用它编程的概念就叫作“多线程处理(Multithreading)”。具有多线程能力的软件系统因为能够同一时间执行多个任务,进而提升软件整体处理性能。数据回放系统在数据转发的过程中为了模拟井下多个网络设备的并发上传,采用多线程技术实现多个原始数据文件的并发处理与转发。

3数据回放系统应用

1)安全生产实践。在煤矿现场监控系统运行的过程中时常有各类问题,其中包括井下硬件存在的问题,也包括上位机软件的问题,根据用户的问题描述,有时很难界定是哪里出了问题,这时把现场保存下来的原始数据文件,按需要的时间段拷贝回来,在实验室中利用数据回放系统把数据输出给监控系统上位机软件,监控系统上位机软件进行数据的正常处理,实时观察监控系统软件数据的发展变化,根据实验室真实数据表现推断问题的所在。例如:用户反映某一路传感器有频繁断线的现象,首先通过数据回放系统进行该段时间的数据回放演练,如果的确存储数据闪断的现象,再从原始数据进行分析,是井下设备传上来的断线状态,还是监控系统软件由于判断、统计问题造成的监控点频繁断线。通过查找原始文件数据协议,如果发现确实存在该通道数据的间断断线状态数据,证明该数据是井下设备发上来的,应该从井下设备找原因,如果原始数据中不存在该通道的断线状态数据,那就从上位机软件找原因,接下来就可以针对该监控点的数据进入代码调试程序,找寻是否程序逻辑存在问题,对现场问题的查找、判断具有重要意义。2)系统功能性测试。在监控系统软件开发、升级、维护的过程中,有时需要大量的样本数据进行系统调试、单元测试、集成测试[7-9],实验室环境中产生的数据往往过于理想,不能真实反映煤矿现场环境数据的真实状态。只有真实的现场环境数据才能对系统进行一个全面的测试,及时发现问题,及时修正,保证系统新增功能、完善功能的稳定运行。也可从多个现场拷贝数据,进行更加全面的功能性测试,对新软件版本的稳定运行具有重大作用。3)系统压力测试。上位机软件系统的稳定性,对整个监控系统至关重要,决定软件系统是否能稳定运行的一个重要因素就是井下监测点的数量以及数据的变化频率。实验室环境往往不具备大量的设备接入条件,监测点量往往不足普通煤矿1/10。也就不能真实的对系统是否稳定进行测试、评估。通过数据回放系统,选择现场监测点数量比较大的煤矿,拷贝相当长一段时间的样本数据,例如1年的数据量进行数据回放演练,对系统进行压力测试。同时对系统CPU、内存、数据库、监控系统软件运行状态、系统实时显示性能、历史数据查询性能、数据处理性能等多项指标进行监测,发现存在由于数据量较大造成的问题及时找出原因进行完善、修复。同时可调整数据的转发频率,加大单位时间内的数据量,对系统的处理能力进行高强度测试,找出系统性能边界点,分析判断是否满足现场更大型煤矿的安全监测需求,如果不能满足,则需要对系统进行调优、服务降级等处理。提高系统性能指标,更好的为煤矿安全生产服务。4)作为日志系统。作为一个大型的煤矿安全监控系统,日志系统[10]是必不可少的一部分,可分为调试日志、错误日志、警告日志、数据运行日志等,作为整个系统运行状态的一个历史记录,便于查找、分析系统存在问题。在数据回放系统将原始数据存入文本文件的同时,即为监控系统也做了一个数据日志的记录,通过这些数据日志文件的分析,可确定数据格式、发送规则是否符合系统协议标准要求,对不满足协议标准要求的数据,可能会影响系统的稳定运行及数据的准确性。就要从井下设备层找寻原因,保证整个系统的每个环节都按规则有序进行,保证系统的稳定性。

4结语

1)数据回放系统有助于及时发现监控系统存在的众多问题点,对问题点的查找、分析发挥了巨大作用,有效地解决了各类疑难问题,大幅降低了现场可能再次出现问题的故障率。2)通过回放系统进行的大规模压力测试,从事前预防的角度,对系统进行预演,有效地对系统的运行性能进行验证、评判,解决了系统可能出现的众多影响稳定运行的性能问题。对系统的发展、演进起到了至关重要的作用。

参考文献:

[1]煤安监函[2016]5号.煤矿安全监控系统升级改造技术方案[A].2016-12-29.

[2]英特尔软件学院教材编写组.Scrum敏捷软件开发.上海:上海交通大学出版社,2011.

[3]GaryMcLeanHall.C#敏捷开发实践[M].北京:人民邮电出版社,2016.

[4]EugeneAgafonov.C#多线程编程实战[M].北京:机械工业出版社,2017.

[5]ThomasHCormen,CharlesELeiserson,RonaldLRivest,etal.算法导论[M].殷建平,徐云,王刚,等,译.北京:机械工业出版社,2012.

[6]凯文R福尔,W理查德•史蒂文森,加里R赖特.TCP/IP详解[M].北京:机械工业出版社,2019.

[7]科恩.Scrum敏捷软件开发[M].廖靖斌,吕梁岳,陈争云,等,译.北京:清华大学出版社,2010.

[8]邓立国,佟强.数据库原理与应用[M].北京:清华大学出版社,2017.

[9]拉赫登迈奇,利奇.数据库索引设计与优化[M].北京:电子工业出版社,2015.

[10]DawnGriffiths.深入浅出统计学[M].李芳,译.北京:电子工业出版社,2018.

作者:张洪亮 洪玉玲 单位:1.煤科集团沈阳研究院有限公司 2.煤矿安全技术国家重点实验