田振川 冀 翼 朱雅文
〔1.中華全國供銷合作總社鄭州棉麻工程技術設計研究所,河南鄭州450004〕〔2.商丘市華云防雷工程技術有限公司,河南商丘476000〕
棉花是紡織加工的重要原料,在全球貿易和社會消費中占有重要的地位[1]。為確保棉花種植者的利益和棉花產業的安全,國家相繼出臺了棉花“臨時收儲”和“目標價格補貼”等政策。然而,在倉庫存儲過程中存在棉花發生陰燃和明燃等安全隱患,如果巡視檢查不到位,這些隱患得不到及時處理極易引發重大火災事故,將給國家和相關企業造成巨大的經濟損失。
CO氣體是棉花陰燃和明燃的主要釋放氣體[2],當其濃度變化速率達到一定閾值時及時處理,可避免重大火災事故的發生。中國棉花儲備庫現階段缺少對CO氣體數據變化實時監控、安全巡視檢查管理和庫內遠程視頻監控的系統工具。通過項目實施,可使分布在全國的近200家國家儲備庫實現實時、高效和規范化的管理,提高火災事故預防信息化管理水平。同時,棉倉安全管理系統可協助國家棉花儲備庫管理部門對儲備庫管理數據進行集中采集、共享和管理。
氣體探測器和監測報警控制器實現庫內CO氣體數據的實時采集并上傳至服務器,通過濃度數據分析變化速率進行安全信息預警,獲取安全巡視記錄、事故上報信息記錄和庫內視頻信息,實現遠程安全監控管理。主要具體功能如下。
主要涉及儲備庫、倉庫和工作人員等信息采集,并在巡視檢查和事故上報操作過程中提交儲備庫、倉庫、人員信息和相關工作內容信息。通過掃描儲備庫或倉庫二維碼可獲取其相關信息。
氣體采集數據上傳服務器時,同時上傳探測器及報警控制器的物理地址和編號,并通過系統設置探測器或監測報警器物理地址、編號、名稱、所屬儲備庫、所屬倉庫、啟用時間等基本信息實現與采集傳數據的關聯,也可通過掃描探測器或報警器二維碼獲取相關設置信息。
氣體探測器實時采集CO氣體濃度并將采集數據、時間和硬件地址等信息傳輸到監測報警器,監測報警器將采集數據進行處理分析后經無線發送模塊發送并保存到服務器數據庫。系統獲取數據庫數據進行分析和處理,同時進行安全信息預警和報警。
巡視人員進行安全檢查時,通過棉倉安全管理系統對所檢查儲備庫、巡視倉庫、巡視人員姓名、時間、庫內狀況等信息進行上報,并可對巡視檢查結果進行審核和定期檢查。
庫內的視頻監控系統可實時記錄下庫內的視頻影像,當發生倉庫安全事件時可以回看視頻記錄,同時進行影像資料的備份和存儲。
儲備庫相關事故上報,包括棉花的陰燃、燃燒等火災情況,支持圖片、文檔等格式。事故上報后按規章流程進行各環節批示處置,并對整個事故過程情況進行總結,對典型事故編輯成案例,對圖片、視頻、工作文檔等進行歸檔管理。
開發手機APP和移動終端APP,主要實現巡視安全檢查、事故上報和處置等信息提交功能,并可進行信息查詢和巡視公告查看等。
微服務架構是當前互聯網開發非常熱門的一種架構模式[3],核心思想是將一個整體、復雜的功能應用劃分為多個小型服務,同時保證功能的完整。每個服務只注重自己的功能,被封裝為一個獨立的應用程序,一個服務實例即為一個進程,服務之間的通信實為進程間的交互。服務可交由團隊或個人進行獨立開發,不受開發技術限制,只需要確保每個微服務提供API服務,實現服務之間的通信。同時由于小模塊化,因此后續可采用新的技術進行升級和替換;從部署的角度,每個服務可以獨立部署,不需考慮協調服務部署時對其他服務的影響。
在項目中,采用基于.NET Core框架進行開發[4],其開發程序可分別針對手機、PC端或其它移動終端系統進行發布和運行,同時可在Windows和Linux操作系統上統一部署。
系統主要采用微服務架構和三層軟件編程架構思想。其中,整體架構設計方面采用微服務架構思想將整個系統分成兩層,并將系統功能模塊拆分成盡可能細的服務;在編程實現方面根據功能需求分為界面交互層(表示層)、業務處理層(業務邏輯層)和數據操作層(數據訪問層),三層之間通過網絡對外提供接口服務。系統架構圖如圖1所示。

圖1 棉倉安全管理系統架構圖
棉倉安全管理系統的第一層是將系統拆分成基礎信息管理、氣體監控管理、巡視管理、視頻監控和安全事故管理五個功能應用,并封裝成五個獨立的一級系統,一級系統之間不存在功能層面上的依賴。
系統第二層是根據五個功能應用進行綜合分析、抽象出各種不同的服務,且每一種服務只對某種特定資源進行操作,該服務被稱為二級子系統。每個一級子系統拆分的二級系統在功能層面上相互依賴,可以獨立部署和向外界提供服務。同時,很多二級系統可在不同應用中復用,也可在以后的擴展功能中重用[5]。
系統三層編程架構中的界面交互層(表示層)主要負責基礎信息管理、氣體監控管理、巡視管理、事故管理和視頻監控五大功能應用與用戶之間進行交互的前端頁面;業務處理層(業務邏輯層)主要實現五大功能應用拆分成不同服務內部對資源進行業務邏輯操作和邏輯計算;數據操作層(數據訪問層)主要實現對基礎信息、氣體采集信息、巡視信息和事故信息等數據的數據庫操作和庫內視頻文件的讀寫操作。
棉倉安全管理系統具備對儲備庫基礎信息、CO氣體探測器或監測報警器基礎信息、巡視信息、工作人員信息、事故信息進行集中收集、管理和整合功能,從而幫助建立信息完整、內容豐富的棉倉管理資料。系統功能結構如圖2所示。

圖2 詳細功能結構圖
部分核心模塊功能說明如下:
主要實現倉庫相關信息的添加和設置,包括倉庫名稱、倉庫編碼、備注等信息。
主要實現CO氣體探測器地址、名稱、所屬倉庫、所屬倉庫位置等基本信息的設置,通過報警控制器上傳的采集數據,快速定位所在倉庫。
通過氣體探測采集的濃度數據,實時分析CO濃度變化情況匯總,實時掌握倉庫火災安全狀況。
對氣體探測器采集的數據進行保留,可隨時對探測器數據進行歷史查詢,判斷探測器是否正常工作。
對氣體濃度變化閾值進行設置。氣體濃度超過閾值時,系統進行預警或報警并提示報警所在倉庫的位置。
倉庫進行正常安全檢查時,需將巡視人信息、巡視倉庫、巡視時間和是否有事故進行上報,方便監督巡視制度實施。
當出現安全事故時,需對事件發生起因、時間、過程、結果等信息進行上報,上報信息包括圖片和總結文檔等。
根據氣體探測器監測范圍和倉庫空間范圍對CO氣體探測器和氣體監測報警器進行合理部署、安裝。其中,CO氣體探測器實現CO氣體信號的采集并將信號轉化為數字信號對外輸出;氣體監測報警控制器主機內嵌入微處理器和配備有無線傳輸模塊,該控制器同時具有豐富的軟件功能,完成探測器數字信號采集和數據的實時計算并將計算結果通過無線發送到指定遠程服務器。
倉庫視頻監控數據通過庫內安裝的光纖上傳到視頻文件系統服務器上,棉倉安全管理中心系統通過接口可從視頻監控系統上調取監控錄像。針對可能存在的部分廠庫沒有安裝光纖,無法進行實時視頻傳輸的情況,可事先完成視頻監控系統的接口開發工作,后續倉庫光纖網絡安裝后再將實時數據傳輸到視頻服務器上,最后通過接口獲取視頻數據。
系統主要采用ASP.NET Core和AngularJS技術進行開發,其中.NET Core是一個全新的跨平臺開源框架[6],基于該框架開發的Web應用可部署在云上和服務器上;AngularJS用于系統前端開發,并與HTML和CSS技術進行完美結合,構建功能強大的交互式應用。
移動端采用基于.Net的移動開發平臺Smobiler,該平臺是一種跨平臺的解決方案,開發應用程序可在Android和IOS兩個平臺進行運行,避免針對Android和IOS分別進行開發,縮短了開發時間,降低了研發成本。
SQL Lite作為移動端的本地數據庫,可將一些基本設置信息進行保存,在網絡不暢通時將上傳數據暫存到本地,待網絡連通時再進行上傳。
同時,移動應用需使用攝像頭權限,通過掃描二維碼獲取倉庫基本信息或相關信息,巡視或事故上報管理可通過移動系統將提交信息上傳到服務器。
棉倉安全管理系統實現CO氣體濃度數據采集頻率為10次/min并實時上傳到服務器數據庫,通過系統查看驗證,采集數據準確、完整、可靠。主管部門通過訪問棉倉安全管理系統查看倉庫內CO氣體數據濃度變化、巡視工作記錄和庫內實時監控,對儲備庫管理工作可以做下一步指導。
本系統為國家儲備庫主管部門和各地儲備庫分公司進行安全管理提供了一種方便的途徑,對預防火災事故提供了可行的解決方案,改變了火災發生后進行追責的工作方式,使儲備庫安全管理工作更加有效、及時和針對性。同時,系統采用微服務架構方便新業務和新服務的擴展,提高了系統的擴展性、穩定性和健壯性。