姜水軍, 胡敏
(1.國家能源集團神東煤炭集團有限責任公司, 陜西 神木 719315;2.西安科技大學 計算機科學與技術學院, 陜西 西安 710054)
煤炭市場競爭日趨激烈,煤炭產品的價格直接與其質量掛鉤。煤炭產品質量與資源特性、地質構造等自然條件相關,但煤炭產品質量的穩定性、煤炭的品種結構與企業煤質管理水平相關[1-3]。煤炭生產鏈包括巷道掘進、工作面布置、原煤開采、洗選加工、質檢審核、商品出售等環節。煤質管理貫穿整個煤炭生產鏈,管理過程中形成了龐大而繁雜的煤質數據[4]。目前,國家能源集團神東煤炭集團有限責任公司的煤質管理按照不同職能部門的具體業務來設計,缺少對企業內部各部門之間業務流程控制的功能,不能滿足企業對煤質全過程的管控要求。具體存在以下問題:① 各生產環節的管理系統是依據業務需求獨立建設的,信息比較零散,沒有統一的數據字典,導致系統之間數據不統一,數據交換缺乏標準,數據得不到充分共享[5-6]。② 煤質預測大部分是基于人工經驗,效率低。③ 煤質檢查與考核采用人工方式,耗費人力。針對上述問題,本文在分析煤質管理業務的基礎上,設計了煤質全過程管理系統,可實現對各生產環節煤質信息的統一管理,使得煤質數據得到極大共享,提高煤質管理水平。
(1) 生產礦井業務。生產礦井主要工作包括采煤工作面準備及原煤生產。采煤工作面準備過程中,在回風巷、運輸巷、切眼進行采樣,對煤樣采制化過程中產生的數據進行分類匯總,形成圖形、報表(如掘進生產日/月/旬報表、工作面采樣分布圖、巷道平面布置圖、煤層結構素描圖等)。在原煤生產過程中進行采樣、制樣、化驗,對原始數據進行分析、整理、統計、分類,產生原煤質量、塊煤率、矸石量、含矸率等數據表,進而生成回采生產日/月/旬報表、原煤報表、原煤化驗單等。同時煤質管理人員每天下井對采煤工作面、生產過程進行檢查,檢查結果形成回采工作面素描圖、檢查記錄單等,進而依據獎罰政策形成獎罰月/季/年報表。
(2) 選煤廠業務。選煤廠負責對生產礦井開采的原煤進行洗選加工,確保洗選中間產品和最終商品煤質量指標達到最佳狀態,最大限度起到穩定和提高煤質的作用。洗選過程中產生的數據包括入選原煤篩分試驗數據、快浮試驗數據、矸石浮沉試驗數據、商品煤煤質檢測數據等,數據整理后得到煤質數據統計報表、月綜合試驗報告、篩分試驗報告單等。
(3) 煤炭經銷中心業務。煤炭經銷中心負責原煤、商品煤和外購煤的煤質檢測、煤質管理和銷售工作。對原煤進行檢測,得到煤質(灰分、水分、硫分、發熱量)數據報表,對商品煤進行采樣、制樣、化驗,形成商品煤煤質數據日/月/旬報表等。對于外購煤收集煤質數據,形成外購煤煤質數據報表。
(4) 煤質預測預報。煤質預測預報是實現煤炭資源合理配采的依據,在開采前準確預測煤層煤質分布情況,制定合理的開采計劃,實行精細化采掘。在煤質管理中根據采煤工作面準備過程中采集的工作面要素和煤層煤樣、原煤生產過程產生的數據對工作面進行預測,得到工作面煤層結構三維立體圖、煤質預測預報報表、計劃推進距離;綜合各工作面煤質預測結果得到原煤煤質預測結果,在此基礎上依據回歸公式得到商品煤煤質核心指標預測結果,綜合預測結果形成生產計劃[7-8]。
應用jBPM(Java Business Process Management,業務流程管理)工作流技術[9-10],煤質全過程管理系統工作流控制如圖1所示。流程定義是指設定煤質信息審核、傳遞流程(包括設定流轉路徑、流程節點的審批人員等);流程部署是將流程定義和流程相關資源信息存儲到數據庫中;工作列表管理為流程操作者提供查看任務功能;表單管理將煤質業務表單與工作流引擎掛接,使煤質業務表單能夠按照工作流定義的流轉路徑進行傳遞;流程監控用于監管當前運行流程的狀態及其歷史軌跡,圖形化顯示流程實例的運行情況。

圖1 煤質全過程管理系統工作流控制Fig.1 Workflow control of coal quality whole process management system
為了實現煤質管理業務按照流程定義的規則流轉的同時,方便查看流程實例的狀態和控制審批人員對煤質數據的訪問,在煤質業務表單中添加狀態控制字段V_state來表示數據、圖表的審核狀態:V_state為0,表示未審核;V_state為1,表示已審核;V_state為1*,表示不同級別人員審核(如11表示煤質技術員審核,12表示職能部門領導審核)。
煤質全過程管理系統功能如圖2所示。

圖2 煤質全過程管理系統功能Fig.2 Function of coal quality whole process management system
(1) 煤質數據錄入。將生產礦井、選煤廠、煤炭經銷中心采集的煤質數據(如原煤煤樣、生產煤樣、地質資料、入選原煤篩分試驗數據、煤質檢測數據、日常煤質檢查記錄等)通過Web平臺錄入數據庫中。若數據存儲在Excel中,可通過Java POI技術導入數據。
(2) 數據分析與統計。使用數據庫級聯操作從煤質數據中按需提取數據,按照具體業務需求,形成相應的圖表。
(3) 圖形處理。從數據庫中獲取工作面信息、煤層煤樣信息,運用WebGL三維引擎下的Three.js技術,得到工作面采樣分布圖、煤層結構素描圖、工作面素描圖、工作面煤層結構三維立體圖。
(4) 煤質信息檢索。用戶可按照單位、時間等查詢條件對原煤、商品煤、外購煤的煤質信息進行檢索。
(5) 煤質預測與計劃。利用采煤工作面準備過程中采集的煤樣數據和原煤生產過程中的采樣、化驗數據,使用克里金算法和經驗公式構建煤質指標估算模型,運用該模型得到工作面煤質和原煤煤質預測結果;根據商品煤參數和特殊煤種信息,預測商品煤煤質。參考煤質預測結果得到原煤計劃和商品煤計劃。
(6) 煤質考核。依據日常煤質檢查記錄,讀取各單位罰款、扣分情況及其原因,在煤質計劃中讀取發熱量計劃并和實際發熱量進行對比,生成煤質評分報表和現場問題匯總報表,依據報表對生產礦井、選煤廠、煤炭經銷中心、煤質管理小組進行考核。
(7) 報表輸出。利用Vue搭配Element UI框架實現報表輸出。
為保證煤質數據流轉的有效性、安全性,防止“非法用戶”入侵系統或“合法用戶”不慎操作造成系統數據損失[11-12],設計了基于樹形功能模塊的RBAC(Role-Based Access Control,基于角色的訪問控制)權限控制模型。
煤質管理涉及部門眾多,需要針對各部門不同人員分別配置權限,權限配置過程較繁瑣。為簡化對不同部門用戶的權限配置,劃分不同功能模塊,主要包括基礎信息模塊、煤質預測與計劃模塊、煤質檢查與考核模塊、選煤廠管理模塊、圖表管理模塊等。為更好地體現功能之間的從屬關系,采用樹形結構存儲功能列表,該存儲方式便于結合RBAC模型進行權限配置。
以基礎信息模塊為例,其樹形結構如圖3所示。基礎信息模塊為父結點,工作面信息為其子結點,同時工作面信息為掘進工作面信息的父結點,同一層的掘進工作面信息和回采工作面信息為兄弟結點。通過數據庫在存儲功能列表時添加表示功能之間父子關系的字段,系統獲取功能列表時先找到父結點,然后查找父結點的所有子結點,逐層遞歸獲取存儲信息,最后生成樹形功能模塊。

圖3 基礎信息模塊樹形結構Fig.3 Tree structure of basic information module
權限配置過程:首先針對部門建立用戶,然后為用戶進行角色指派,再根據用戶的角色為其配置功能,最后通過激活角色獲得系統權限。
權限配置采用過濾方式,部門的權限是對整個樹形功能模塊進行操作,部門下的不同角色、同一角色的不同用戶按照實際業務需求過濾樹形功能模塊中無權操作的功能分枝,得到相應的權限。將權限進行細粒度劃分,包括功能、按鈕和規則。當用戶登錄系統時,系統按照權限配置情況將對用戶授權的功能呈現給登錄用戶。
(1) 前后端分離開發模式。煤質全過程管理涉及的數據龐大且存在復用問題,為避免代碼重構、提升系統性能,采用前后端分離開發模式。該模式實現高內聚低耦合,減少后端服務器的并發/負載壓力,可使后臺更好地追求高并發、高可用、高性能,使前端更好地追求頁面表現、速度流暢、兼容性、用戶體驗。① 前端使用Vue技術,其采用Model-View-ViewModel(模型-視圖-視圖模型,MVVM)模式進行數據綁定。Vue的核心庫只關注視圖層,方便與第三方庫或既有項目整合。傳統的前端采用Model-View-Controller(模型-視圖-控制器,MVC)模式,即用戶操作會請求服務器路由,路由調用對應的控制器處理,將獲取的數據返回前臺進行渲染。MVVM模式則是將數據綁定到ViewModel層,自動將數據渲染到頁面上,視圖變化會通知ViewModel層更新數據[13]。② 后端使用Spring Boot框架,該框架不僅繼承了Spring框架原有的優秀特性,還通過使用特定方式來進行自動配置,從而使開發人員不再需要定義樣板化的配置,簡化新Spring應用的初始搭建及開發過程[13-15]。
(2) Three.js技術。三維可視化使用Three.js技術,其對WebGL提供的接口進行二次封裝,用于構建無插件、可移植、跨平臺、支持多瀏覽器運行的三維可視化模型。在使用Three.js繪制三維立體圖時,要先定義場景,用來存放所創建對象的容器,如燈光、物體。然后創建相機,確定顯示場景的范圍和角度。最后創建渲染器,將場景和相機添加到渲染器中,映射到二維平面。
(3) 安全訪問控制。用戶訪問控制使用Spring Security安全策略。Spring Security是一個功能強大且高度可定制的身份驗證和訪問控制框架,主要功能是認證、授權、攻擊防護。Spring Boot針對Spring Security提供了自動化配置方案,可以零配置使用Spring Security[16]。
(4) 數據存儲。數據存儲使用MySQL數據庫,具有以下優勢:該數據庫是開源軟件,可降低使用成本;體積小,命令執行速度快;數據存儲量大,可滿足煤礦企業大型數據存儲需要[17]。
煤質全過程管理系統利用工作流技術使煤質信息在企業內部充分共享;通過基于樹形功能模塊的RBAC權限控制模型使煤質數據安全、有效地在各部門之間流轉。該系統實現了煤質相關數據的錄入、分析、整理、統計,形成了相應的煤質報表/圖形、煤質預測計劃等,有利于各級管理部門對煤質信息的實時監控,保證了煤質信息流通的及時性、真實性和安全性。