楊繼元,王萌娟,姜水軍,張建華
(1.國能神東煤炭集團有限責任公司,陜西 神木 719315;2.西安科技大學計算機科學與技術學院,陜西 西安 710600)
在科學技術日新月異的今天,企業信息化管理滲透到煤炭企業的各個方面[1]。國內煤業集團注重煤炭質量過程管理,從現場采掘面出發,加大日常檢查和考核力度,制定了相關管控措施,有效降低了水分、灰分、雜物及鐵器對煤質的影響;針對工作面過斷層、沖刷等特殊時期,及時制定相應的煤質保證措施,并嚴格按照措施監督檢查,穩定特殊時期的煤炭質量;在煤質指標欠量時,及時分析總結、查找影響煤質的原因,為煤質改善提供可靠依據。
煤炭從形成產品到運至用戶手中,整個生產鏈包括:巷道掘進、工作面布置、毛煤開采到洗選加工、質檢審核、商品出售等諸多單元環節;煤質管理貫穿整個煤炭生產鏈,包括煤炭生產鏈上的各個單元中煤質指標及相關信息的采集、整理、統計、分析、處理、反饋、整理與歸檔。煤質及相關信息流轉牽扯生產礦井、洗選中心、開拓準備中心、檢測中心等部門;數據統計包含煤質相關的原始數據、臺賬、報表、圖形等多種形式。這些都客觀的形成了龐大并且繁雜的煤質數據及其關聯關系[2]。
有機整合煤炭生產鏈上的各個單元區域中煤質指標及煤質相關信息,建立統一的煤質字典、統一數據格式,運用計算機網絡管理整條生產鏈中的煤質信息,在集團內部實現煤質信息共享最大化,為集團管理工作提供有力的支持,為提質增效奠定更加堅實的基礎。
在競爭日趨激烈的煤炭行業中,加強煤炭生產過程中對煤炭質量的管理與把控是提高煤炭企業效益的關鍵所在,也是煤炭企業在市場競爭中處于不敗之地的有力保障[3]。目前神東集團煤質管理信息化缺少統一的平臺,煤炭經銷中心提出以現有預測方法為基礎,建設“煤質預測現場管理信息系統”。為此,在目前神東集團煤質管理現狀及工作流程基礎上,針對神東煤質管理的特點,分析煤質預測現場管理系統功能配置的設計思路。
神東集團下轄煤炭企業包括若干生產礦井、洗煤廠、運銷部門等等,各生產單位下又有很多部門。各生產單位的煤質管理過程也存在不同之處,如各煤礦煤質管理中的煤種有所差別,所以其采樣點也存在著區別,化驗數據也有所差異;并且還有新的開采礦井、洗煤廠正在籌建中[4]。因此針對各單位的差異,系統應可以根據需要進行配置;從集團發展的角度考慮,煤質管理系統在應對新增單位或部門時應能以較低的成本將其納入現有系統[5]。由于新技術不斷出現,系統可能需要基于現有的功能模塊有一定程度的可擴展性,基于上述原因,為了使集團煤質信息化管理更加規范和統一,并且能夠滿足各生產單位的內部管理特點,同時又要考慮到未來新增單位需要與煤質預測現場管理系統進行搭接,在設計時采用了基于差異的、按模板的子系統功能配置的設計思想。按行業中的已有業務分類方法,抽取出5類子系統功能模板:集團功能模板、洗煤廠功能模板、礦井功能模板、運銷公司功能模板、質檢站功能模板[6]。每一類功能模板下配有這一模板的所有功能,如圖1所示。

圖1 系統模板化設計思路Fig.1 System template design ideas
在5類子系統功能模板中,每類功能模板中都包含了這類系統現有的所有功能,這樣每一類模板就形成一棵功能樹[7]。同類型單位的功能都“大同小異”。
首先,利用“大同”特征,當新增某個類型的單位時,通過外鍵關聯該單位與其所屬類型模板,就可以得到此類模板功能樹中的全部功能。因為單位只是與某類型的模板號進行了關聯,詳細單位與詳細功能沒有進行直接的綁定,所以單位與功能為松耦合。此時,功能樹即可進行單獨變化,而不用考慮單位,則可靈活地在功能樹中增加新的功能。
其次,“小異”則可以通過對模板進行“砍樹”得以實現。每個類別的功能模板為一棵大的功能樹,相同類別單位只需要根據其實際需要過濾掉功能樹中不相關的功能分枝,便可構成適合自己的功能樹[8]。在實現時,僅需將不需要的部分功能保存在數據庫中。此時,當登錄進某個單位的煤質管理系統時,系統會首先獲取其所屬類型的功能模板樹,其次再獲取存儲在數據庫中的不需要的功能信息。通過將二者進行求差之后則可得到該單位的功能樹。這種存“小異”的設計思想很大程度上節省了數據存儲空間。同樣,因為過濾信息與單位之間的關聯方式相似于外鍵的方式,因此,不同單位也可以靈活地按照需要制定所需功能。
最后,將“大同”放入模板,而將“小異”按單位在數據庫進行存儲,實現了第1層次的系統功能設置。這樣,可以區分相同類型的不同單位之間的功能差異。在實踐應用時,同一單位的不同人員因其業務分工不同,在登入系統后所能執行的操作也是不同的。這樣就出現了同一單位不同人員角色劃分的問題。在這方面,系統的設計也借鑒了不同單位之間的差別處理方式,就是通過“砍樹”的方法,將該單位的功能樹按不同角色的需求再進行過濾。對擔任同一角色的不同用戶之間的差異也通過過濾進行區分。
信息管理系統中功能配置系統涉及到單位、用戶、角色、功能以及他們相互之間的關聯關系,為此設計的數據表包含單位基本信息表、功能模板表、用戶基本信息表、角色表、單位功能表、用戶權限表、角色權限表[9]。數據表的核心字段及關系設計如圖2所示。單位基本信息表、功能模板表、用戶基本信息表、角色表。單位功能表是在單位基本表和功能模板表之間通過ID建立對應關系,依據單位模板配置單位的功能。用戶權限表在用戶和功能之間建立關系,形成用戶的功能列表。角色權限表是在角色和功能之間建立關聯關系,形成角色的功能列表。

圖2 數據表的核心字段及關系設計Fig.2 The design of core field and relation of data table
功能模板表是功能配置中的核心,用這個表來實現功能列表的樹形結構,見表1。這里主要介紹功能模板表的設計,包含6個字段:功能號、模板/功能名稱、資源地址、所屬模板、結點類型、備注信息字段。

表1 功能模板數據Table 1 Function template data
表2為礦井功能模板的一部分。ID設置為5位整數,第1位是模板號,1—礦井模板;2—洗煤廠模板;3—質監站模板;4—運銷公司模板;5—集團模板。第2~5位是子系統的分支結點或者是功能結點。功能模板數據表在邏輯上通過所屬模塊構建起樹形功能列表,所屬模塊的作用是指向該結點的父結點的ID,如果該結點的所屬模塊號是“00000”,則為根結點。結點類型取值為0或1,0表示是分支結點,1表示是功能結點,功能結點的資源地址填寫的是該模塊的入口URL。

表2 礦井功能模板Table 2 Mine function template
系統的功能模塊包含:單位管理、用戶管理、功能管理、角色管理,單位功能配置、用戶權限設置、角色權限設置[10]。單位管理、用戶管理、功能管理、角色管理模塊實現了單位、用戶、功能、角色的增刪改查功能。單位功能配置、用戶權限設置、角色權限設置3個模塊通過前面所述的“大同小異”的模式實現了功能配置。
在實行中,系統最基本的對象是單位,需要先構建單位,在“單位管理”中進行單位的增刪改等操作,構建單位后為單位配置功能。功能分兩類,一是模板,二是功能。模板就像文件夾,功能就像文件。模板之間可以嵌套。在“功能管理”中有功能增刪等相關界面。有了功能就得有角色,“角色管理”中有角色管理相關界面。此時就可以創建用戶了,在“用戶管理”中創建、刪除修改,之后就可以為用戶的角色分配權限。系統功能配置的整體邏輯,如圖3所示。

圖3 功能配置序列Fig.3 Function configuration sequence
首先,系統管理員按照不同單位、同一單位不同角色、同一角色不同用戶的實際業務需求從而對功能模板樹進行配置。然后,當單位用戶再次登錄到系統后,后臺模塊會按照管理員所設置的情況將該用戶可見的部分呈現給登錄用戶。
本系統計劃采用Vue.js框架實現管理系統的前端模塊,后臺采用SpringBoot+SSM框架實現后端模塊的開發。Vue.js是一個漸進式的JavaScript開發框架,通過組件的開發,最后進行組件的組合,合并組件形成頁面[11]。與其它大型框架不同的是,Vue被設計為可以自底向上逐層應用[12]。Vue是一個輕量級框架,只關注視圖層,是一個構建數據的視圖集合,簡單易用,在容易上手的同時,也易于結合第三方庫。SpringBoot是一個簡化Spring的應用開發框架,集成了大量常用的第三方庫配置。SpringBoot通過“習慣優于配置”的思想從而實現 Web項目的快速搭建,從而避免開發人員定義樣板化的配置[13]。
(1)“大同小異”的基于模板的功能配置系統,通過“大同”制定功能模板,通過“小異”配置權限,使用過濾方法實現了功能的3個不同層次配置:單位功能配置、用戶功能設置、角色功能設置,一方面實現了系統的可擴展性、靈活性以及低成本的新單位增加,另一方面大大降低了系統的開發難度。從而使系統的產品化成為可能。
(2)基于模板的功能配置系統雖然是針對“煤質預測現場管理信息系統”設計的,但是這種設計思想可以推廣應用于其他管理信息系統,具有一定的參考和借鑒意義。