煤礦安全監(jiān)控數(shù)據(jù)回放系統(tǒng)研究

時間:2022-03-13 03:49:19

導(dǎo)語:煤礦安全監(jiān)控數(shù)據(jù)回放系統(tǒng)研究一文來源于網(wǎng)友上傳,不代表本站觀點,若需要原創(chuàng)文章可咨詢客服老師,歡迎參考。

煤礦安全監(jiān)控數(shù)據(jù)回放系統(tǒng)研究

摘要:為了使煤礦監(jiān)控系統(tǒng)現(xiàn)場的運行過程進(jìn)行實驗室回放,分析現(xiàn)場系統(tǒng)存在問題,或模擬現(xiàn)場環(huán)境進(jìn)行系統(tǒng)調(diào)試,構(gòu)建了基于煤礦安全監(jiān)控系統(tǒng)的數(shù)據(jù)回放系統(tǒng);通過對來自于井下硬件設(shè)備的原始數(shù)據(jù)進(jìn)行實時存儲,選取某段時間內(nèi)的原始數(shù)據(jù)進(jìn)行監(jiān)控系統(tǒng)再次數(shù)據(jù)輸入、處理、回放演練,有效查找系統(tǒng)存在的各類問題。

關(guān)鍵詞:煤礦安全監(jiān)控系統(tǒng);原始數(shù)據(jù);實時存儲;數(shù)據(jù)輸入;數(shù)據(jù)回放

隨著煤礦安全監(jiān)控系統(tǒng)升級改造技術(shù)方案[1](煤安監(jiān)函〔2016〕5號)的逐步完成,對系統(tǒng)的各項功能和指標(biāo)要求大幅提升,系統(tǒng)整體架構(gòu)在復(fù)雜性上遠(yuǎn)遠(yuǎn)超出了以往系統(tǒng)。系統(tǒng)故障點也會隨之增多,出現(xiàn)問題的故障率也會增加,有些問題在現(xiàn)場的環(huán)境下很難及時找出問題根源及解決方案。這就需要系統(tǒng)具備一個數(shù)據(jù)回放的機(jī)制,實時對現(xiàn)場采集的原始數(shù)據(jù)進(jìn)行存儲,當(dāng)現(xiàn)場出現(xiàn)問題時,把該段時間內(nèi)的原始數(shù)據(jù)文件拷貝出來,通過實驗室環(huán)境把原始數(shù)據(jù)通過監(jiān)控系統(tǒng)軟件再次進(jìn)行處理、顯示,達(dá)到數(shù)據(jù)回放的效果,真實再現(xiàn)某段時間內(nèi)系統(tǒng)現(xiàn)場運行的真實狀態(tài)和過程。從而可以分析井下設(shè)備上傳數(shù)據(jù)的正確性、穩(wěn)定性,分析上位機(jī)軟件統(tǒng)計、顯示的正確性以及對系統(tǒng)進(jìn)行現(xiàn)場環(huán)境調(diào)試、壓力測試等操作。為此結(jié)合實際應(yīng)用就如何在監(jiān)控系統(tǒng)中實現(xiàn)數(shù)據(jù)回放、如何有效解決現(xiàn)場出現(xiàn)的問題、如何通過回放系統(tǒng)進(jìn)行系統(tǒng)壓力測試以及如何通過回放系統(tǒng)進(jìn)行系統(tǒng)的功能性測試展開論述。

1數(shù)據(jù)回放系統(tǒng)

數(shù)據(jù)回放系統(tǒng)主要包括數(shù)據(jù)的收集與存儲、數(shù)據(jù)的清洗與轉(zhuǎn)換、數(shù)據(jù)的轉(zhuǎn)發(fā)輸出、監(jiān)控系統(tǒng)上位機(jī)軟件數(shù)據(jù)演練等過程。1)原始數(shù)據(jù)采集。原始數(shù)據(jù)是來自監(jiān)控系統(tǒng)井下硬件的真實數(shù)據(jù),如何連續(xù)不間斷的對數(shù)據(jù)進(jìn)行記錄、存儲[2-4],需要一個詳細(xì)的規(guī)劃、設(shè)計。在現(xiàn)場監(jiān)控系統(tǒng)運行的過程中會不斷地采集硬件設(shè)備運行、環(huán)境監(jiān)測等數(shù)據(jù),在監(jiān)控系統(tǒng)收到原始數(shù)據(jù)的同時,可將數(shù)據(jù)輸出到文本文件,進(jìn)行永久存儲。由于原始數(shù)據(jù)隨著井下監(jiān)測點的增多會大幅增加,考慮按小時生成原始數(shù)據(jù)文本文件。同時由于長期運行輸出文件會占用大量的硬盤空間,考慮通過定時清理的方式,滾動刪除某一時間點之前的文本文件,保留近一段時間內(nèi)的文本數(shù)據(jù),同時作為日志系統(tǒng)使用。2)數(shù)據(jù)清洗模塊。由于存儲的原始數(shù)據(jù)樣本可能包含信息類型、時間戳等信息,在原始數(shù)據(jù)樣本輸入到監(jiān)控系統(tǒng)之前需要進(jìn)行數(shù)據(jù)的清洗、轉(zhuǎn)換[5]操作,將文本文件中的記錄數(shù)據(jù)完全轉(zhuǎn)化為系統(tǒng)需要的滿足協(xié)議要求的數(shù)據(jù),并驗證清洗、轉(zhuǎn)換后數(shù)據(jù)的正確性、完整性。數(shù)據(jù)清洗轉(zhuǎn)換流程如圖1。3)數(shù)據(jù)轉(zhuǎn)發(fā)模塊。數(shù)據(jù)轉(zhuǎn)發(fā)過程主要是將數(shù)據(jù)清洗之后,把滿足要求的數(shù)據(jù)轉(zhuǎn)發(fā)給監(jiān)控系統(tǒng)上位機(jī)軟件進(jìn)行處理。該模塊主要涉及數(shù)據(jù)的讀取,基于UDP的數(shù)據(jù)發(fā)送體系的建立,按一定周期不間斷地將數(shù)據(jù)輸出給監(jiān)控系統(tǒng)上位機(jī)處理系統(tǒng)。

2系統(tǒng)關(guān)鍵技術(shù)

1)Socket網(wǎng)絡(luò)通信技術(shù)。在網(wǎng)絡(luò)應(yīng)用程序設(shè)計時,由于TCP/IP的核心內(nèi)容被封裝在操作系統(tǒng)中,如果應(yīng)用程序要使用TCP/IP,可以通過系統(tǒng)提供的TCP/IP的編程接口來實現(xiàn)。在Windows環(huán)境下,網(wǎng)絡(luò)應(yīng)用程序編程接口稱作WindowsSocket。為了支持用戶開發(fā)面向應(yīng)用的通信程序,大部分系統(tǒng)都提供了1組基于TCP或者UDP的應(yīng)用程序編程接口[6](API),該接口通常以1組函數(shù)的形式出現(xiàn),也稱為套接字(Socket)。數(shù)據(jù)回放系統(tǒng)在數(shù)據(jù)轉(zhuǎn)發(fā)給上位機(jī)軟件的過程中使用該技術(shù),通過UDP的方式把數(shù)據(jù)直接拋給上位機(jī)軟件進(jìn)行處理,該種方式也是跟井下網(wǎng)絡(luò)設(shè)備與上位機(jī)軟件的通訊方式保持一致。真實模擬系統(tǒng)的網(wǎng)絡(luò)通訊。2)多線程技術(shù)。多線程是指從軟件或者硬件上實現(xiàn)多個線程并發(fā)執(zhí)行的技術(shù)。具有多線程能力的計算機(jī)因有硬件支持而能夠在同一時間執(zhí)行多于1個線程,進(jìn)而提升整體處理性能。具有這種能力的系統(tǒng)包括對稱多處理機(jī)、多核心處理器以及芯片級多處理或同時多線程處理器。在1個程序中,這些獨立運行的程序片段叫作“線程”(Thread),利用它編程的概念就叫作“多線程處理(Multithreading)”。具有多線程能力的軟件系統(tǒng)因為能夠同一時間執(zhí)行多個任務(wù),進(jìn)而提升軟件整體處理性能。數(shù)據(jù)回放系統(tǒng)在數(shù)據(jù)轉(zhuǎn)發(fā)的過程中為了模擬井下多個網(wǎng)絡(luò)設(shè)備的并發(fā)上傳,采用多線程技術(shù)實現(xiàn)多個原始數(shù)據(jù)文件的并發(fā)處理與轉(zhuǎn)發(fā)。

3數(shù)據(jù)回放系統(tǒng)應(yīng)用

1)安全生產(chǎn)實踐。在煤礦現(xiàn)場監(jiān)控系統(tǒng)運行的過程中時常有各類問題,其中包括井下硬件存在的問題,也包括上位機(jī)軟件的問題,根據(jù)用戶的問題描述,有時很難界定是哪里出了問題,這時把現(xiàn)場保存下來的原始數(shù)據(jù)文件,按需要的時間段拷貝回來,在實驗室中利用數(shù)據(jù)回放系統(tǒng)把數(shù)據(jù)輸出給監(jiān)控系統(tǒng)上位機(jī)軟件,監(jiān)控系統(tǒng)上位機(jī)軟件進(jìn)行數(shù)據(jù)的正常處理,實時觀察監(jiān)控系統(tǒng)軟件數(shù)據(jù)的發(fā)展變化,根據(jù)實驗室真實數(shù)據(jù)表現(xiàn)推斷問題的所在。例如:用戶反映某一路傳感器有頻繁斷線的現(xiàn)象,首先通過數(shù)據(jù)回放系統(tǒng)進(jìn)行該段時間的數(shù)據(jù)回放演練,如果的確存儲數(shù)據(jù)閃斷的現(xiàn)象,再從原始數(shù)據(jù)進(jìn)行分析,是井下設(shè)備傳上來的斷線狀態(tài),還是監(jiān)控系統(tǒng)軟件由于判斷、統(tǒng)計問題造成的監(jiān)控點頻繁斷線。通過查找原始文件數(shù)據(jù)協(xié)議,如果發(fā)現(xiàn)確實存在該通道數(shù)據(jù)的間斷斷線狀態(tài)數(shù)據(jù),證明該數(shù)據(jù)是井下設(shè)備發(fā)上來的,應(yīng)該從井下設(shè)備找原因,如果原始數(shù)據(jù)中不存在該通道的斷線狀態(tài)數(shù)據(jù),那就從上位機(jī)軟件找原因,接下來就可以針對該監(jiān)控點的數(shù)據(jù)進(jìn)入代碼調(diào)試程序,找尋是否程序邏輯存在問題,對現(xiàn)場問題的查找、判斷具有重要意義。2)系統(tǒng)功能性測試。在監(jiān)控系統(tǒng)軟件開發(fā)、升級、維護(hù)的過程中,有時需要大量的樣本數(shù)據(jù)進(jìn)行系統(tǒng)調(diào)試、單元測試、集成測試[7-9],實驗室環(huán)境中產(chǎn)生的數(shù)據(jù)往往過于理想,不能真實反映煤礦現(xiàn)場環(huán)境數(shù)據(jù)的真實狀態(tài)。只有真實的現(xiàn)場環(huán)境數(shù)據(jù)才能對系統(tǒng)進(jìn)行一個全面的測試,及時發(fā)現(xiàn)問題,及時修正,保證系統(tǒng)新增功能、完善功能的穩(wěn)定運行。也可從多個現(xiàn)場拷貝數(shù)據(jù),進(jìn)行更加全面的功能性測試,對新軟件版本的穩(wěn)定運行具有重大作用。3)系統(tǒng)壓力測試。上位機(jī)軟件系統(tǒng)的穩(wěn)定性,對整個監(jiān)控系統(tǒng)至關(guān)重要,決定軟件系統(tǒng)是否能穩(wěn)定運行的一個重要因素就是井下監(jiān)測點的數(shù)量以及數(shù)據(jù)的變化頻率。實驗室環(huán)境往往不具備大量的設(shè)備接入條件,監(jiān)測點量往往不足普通煤礦1/10。也就不能真實的對系統(tǒng)是否穩(wěn)定進(jìn)行測試、評估。通過數(shù)據(jù)回放系統(tǒng),選擇現(xiàn)場監(jiān)測點數(shù)量比較大的煤礦,拷貝相當(dāng)長一段時間的樣本數(shù)據(jù),例如1年的數(shù)據(jù)量進(jìn)行數(shù)據(jù)回放演練,對系統(tǒng)進(jìn)行壓力測試。同時對系統(tǒng)CPU、內(nèi)存、數(shù)據(jù)庫、監(jiān)控系統(tǒng)軟件運行狀態(tài)、系統(tǒng)實時顯示性能、歷史數(shù)據(jù)查詢性能、數(shù)據(jù)處理性能等多項指標(biāo)進(jìn)行監(jiān)測,發(fā)現(xiàn)存在由于數(shù)據(jù)量較大造成的問題及時找出原因進(jìn)行完善、修復(fù)。同時可調(diào)整數(shù)據(jù)的轉(zhuǎn)發(fā)頻率,加大單位時間內(nèi)的數(shù)據(jù)量,對系統(tǒng)的處理能力進(jìn)行高強(qiáng)度測試,找出系統(tǒng)性能邊界點,分析判斷是否滿足現(xiàn)場更大型煤礦的安全監(jiān)測需求,如果不能滿足,則需要對系統(tǒng)進(jìn)行調(diào)優(yōu)、服務(wù)降級等處理。提高系統(tǒng)性能指標(biāo),更好的為煤礦安全生產(chǎn)服務(wù)。4)作為日志系統(tǒng)。作為一個大型的煤礦安全監(jiān)控系統(tǒng),日志系統(tǒng)[10]是必不可少的一部分,可分為調(diào)試日志、錯誤日志、警告日志、數(shù)據(jù)運行日志等,作為整個系統(tǒng)運行狀態(tài)的一個歷史記錄,便于查找、分析系統(tǒng)存在問題。在數(shù)據(jù)回放系統(tǒng)將原始數(shù)據(jù)存入文本文件的同時,即為監(jiān)控系統(tǒng)也做了一個數(shù)據(jù)日志的記錄,通過這些數(shù)據(jù)日志文件的分析,可確定數(shù)據(jù)格式、發(fā)送規(guī)則是否符合系統(tǒng)協(xié)議標(biāo)準(zhǔn)要求,對不滿足協(xié)議標(biāo)準(zhǔn)要求的數(shù)據(jù),可能會影響系統(tǒng)的穩(wěn)定運行及數(shù)據(jù)的準(zhǔn)確性。就要從井下設(shè)備層找尋原因,保證整個系統(tǒng)的每個環(huán)節(jié)都按規(guī)則有序進(jìn)行,保證系統(tǒng)的穩(wěn)定性。

4結(jié)語

1)數(shù)據(jù)回放系統(tǒng)有助于及時發(fā)現(xiàn)監(jiān)控系統(tǒng)存在的眾多問題點,對問題點的查找、分析發(fā)揮了巨大作用,有效地解決了各類疑難問題,大幅降低了現(xiàn)場可能再次出現(xiàn)問題的故障率。2)通過回放系統(tǒng)進(jìn)行的大規(guī)模壓力測試,從事前預(yù)防的角度,對系統(tǒng)進(jìn)行預(yù)演,有效地對系統(tǒng)的運行性能進(jìn)行驗證、評判,解決了系統(tǒng)可能出現(xiàn)的眾多影響穩(wěn)定運行的性能問題。對系統(tǒng)的發(fā)展、演進(jìn)起到了至關(guān)重要的作用。

參考文獻(xiàn):

[1]煤安監(jiān)函[2016]5號.煤礦安全監(jiān)控系統(tǒng)升級改造技術(shù)方案[A].2016-12-29.

[2]英特爾軟件學(xué)院教材編寫組.Scrum敏捷軟件開發(fā).上海:上海交通大學(xué)出版社,2011.

[3]GaryMcLeanHall.C#敏捷開發(fā)實踐[M].北京:人民郵電出版社,2016.

[4]EugeneAgafonov.C#多線程編程實戰(zhàn)[M].北京:機(jī)械工業(yè)出版社,2017.

[5]ThomasHCormen,CharlesELeiserson,RonaldLRivest,etal.算法導(dǎo)論[M].殷建平,徐云,王剛,等,譯.北京:機(jī)械工業(yè)出版社,2012.

[6]凱文R福爾,W理查德•史蒂文森,加里R賴特.TCP/IP詳解[M].北京:機(jī)械工業(yè)出版社,2019.

[7]科恩.Scrum敏捷軟件開發(fā)[M].廖靖斌,呂梁岳,陳爭云,等,譯.北京:清華大學(xué)出版社,2010.

[8]鄧立國,佟強(qiáng).?dāng)?shù)據(jù)庫原理與應(yīng)用[M].北京:清華大學(xué)出版社,2017.

[9]拉赫登邁奇,利奇.?dāng)?shù)據(jù)庫索引設(shè)計與優(yōu)化[M].北京:電子工業(yè)出版社,2015.

[10]DawnGriffiths.深入淺出統(tǒng)計學(xué)[M].李芳,譯.北京:電子工業(yè)出版社,2018.

作者:張洪亮 洪玉玲 單位:1.煤科集團(tuán)沈陽研究院有限公司 2.煤礦安全技術(shù)國家重點實驗