陶鎮(zhèn)威, 謝朋宇, 曾明霏, 何 倩, 鄭學(xué)源
(廣西電網(wǎng)有限責(zé)任公司, 廣西 南寧 530023)
當前,南方電網(wǎng)公司統(tǒng)一推廣建設(shè)的企業(yè)級管理信息系統(tǒng)已從“大建設(shè)期”進入“大運維期”,在運維過程中,發(fā)現(xiàn)存在一個比較大的問題是信息系統(tǒng)的數(shù)據(jù)結(jié)構(gòu)無法管控,系統(tǒng)程序發(fā)布管理仍停留在手工階段,對數(shù)據(jù)庫數(shù)據(jù)結(jié)構(gòu)進行增、刪、改等變更操作管控不到位,程序發(fā)布過程中時常出現(xiàn)誤操作、超范圍操作、變更影響范圍評估不全面、發(fā)布后相關(guān)信息難以同步更新、版本回退困難等問題。
針對上述問題,廣西電網(wǎng)公司開發(fā)了一套信息系統(tǒng)數(shù)據(jù)結(jié)構(gòu)管控平臺,采用自動化、智能化管理手段,開展數(shù)據(jù)結(jié)構(gòu)分析和數(shù)據(jù)操作管控,對數(shù)據(jù)結(jié)構(gòu)變更操作前進行校驗預(yù)判、事中進行管控、事后進行追溯,規(guī)范和提高信息系統(tǒng)數(shù)據(jù)結(jié)構(gòu)質(zhì)量,提高系統(tǒng)安全性和完整性,避免以往的人工流程管控不到位、人工操作成本高、誤操作風(fēng)險高、工作量等問題,從整理上有效提升運維管理水平。
信息系統(tǒng)數(shù)據(jù)結(jié)構(gòu)管控平臺主要實現(xiàn)五大功能,分別為:數(shù)據(jù)結(jié)構(gòu)校驗管理、數(shù)據(jù)操作管理、應(yīng)用系統(tǒng)數(shù)據(jù)庫用戶管理、協(xié)同應(yīng)用接口數(shù)據(jù)結(jié)構(gòu)管理、系統(tǒng)管理。每個功能模塊下又包含若干個子功能,不同功能模塊之間相互關(guān)聯(lián)[1]。具體功能設(shè)計圖如圖1所示。
圖1 系統(tǒng)功能設(shè)計圖
系統(tǒng)平臺開發(fā)選擇基于JFinal框架,JFinal是基于Java語言的極速web開發(fā)框架,核心設(shè)計目標是開發(fā)迅速、代碼量少、學(xué)習(xí)簡單、功能強大、輕量級、易擴展[2]。同時選擇B/S架構(gòu)模式,采用此模式的優(yōu)勢在于其結(jié)構(gòu)清晰、分工明確,便于日后系統(tǒng)的維護和升級[3][4]。具體架構(gòu)設(shè)計圖如下頁圖2。
信息系統(tǒng)數(shù)據(jù)結(jié)構(gòu)管控平臺基于JFinal框架進行開發(fā),使用JFinal框架需要加入一個全局的過濾器用來過濾請求,這個過濾器負責(zé)JFinal全部內(nèi)容的初始化[5]。在web.xml文件中加入過濾器的代碼如下:
圖2 系統(tǒng)技術(shù)架構(gòu)設(shè)計圖
configClass指定了JFinal的配置類com.blit.lp.jf.config.LPConfig。用戶所有的請求要被LPConfig類攔截,再交由控制器調(diào)度。LPConfig類會在容器啟動時初始化并加裝很多的內(nèi)容,如數(shù)據(jù)庫連接,配置JFinal的路由、常量、插件等。
JFinal的核心是Controller,也是主要開發(fā)MVC模式中的控制層(即Controller層),它可以用于實現(xiàn)業(yè)務(wù)邏輯和頁面轉(zhuǎn)發(fā)。下面介紹幾個核心功能模塊關(guān)鍵代碼及界面展示。
3.1.1 業(yè)務(wù)邏輯部分關(guān)鍵代碼
3.1.2 界面展示
圖3 數(shù)據(jù)結(jié)構(gòu)符合度校驗界面
選擇系統(tǒng)名稱、數(shù)據(jù)庫用戶,點擊【校驗】,輸入正確的數(shù)據(jù)庫用戶密碼才能校驗。其界面如圖3所示。
3.2.1 業(yè)務(wù)邏輯部分關(guān)鍵代碼
3.2.2 界面展示
選擇系統(tǒng)名稱、數(shù)據(jù)庫用戶、操作人、監(jiān)護人、計劃操作時間,上傳實施方案和程序發(fā)布腳本,對腳本進行校驗。該模塊引入工作流程,管理員可以管控整個程序變更發(fā)布數(shù)據(jù)操作流程,避免超范圍、違規(guī)的數(shù)據(jù)操作,其界面如圖4所示。腳本校驗結(jié)果列表展示如圖5所示。
圖4 數(shù)據(jù)操作信息與腳本錄入
圖5 腳本校驗結(jié)果列表
3.3.1 業(yè)務(wù)邏輯部分關(guān)鍵代碼
3.3.2 界面展示
選擇數(shù)據(jù)庫列表導(dǎo)航樹的系統(tǒng),新增用戶、刪除用戶、用戶授權(quán)等操作,其界面如圖6所示。
圖6 應(yīng)用系統(tǒng)數(shù)據(jù)庫用戶和權(quán)限管理
3.4.1 業(yè)務(wù)邏輯部分關(guān)鍵代碼
3.4.2 界面展示
通過直連數(shù)據(jù)庫的方式同步SOA系統(tǒng)接口服務(wù)構(gòu)建接口服務(wù)導(dǎo)航樹,選擇接口服務(wù),新增該接口服務(wù)所關(guān)聯(lián)的表和字段,從而建立接口數(shù)據(jù)字典庫。
信息系統(tǒng)數(shù)據(jù)結(jié)構(gòu)管控平臺采用B/S架構(gòu)模式部署,共使用4臺服務(wù)器,其中2臺應(yīng)用服務(wù)器,2臺數(shù)據(jù)庫服務(wù)器。2臺應(yīng)用服務(wù)器上部署weblogic中間件集群,2臺數(shù)據(jù)庫服務(wù)器部署oracle rac集群,通過實現(xiàn)應(yīng)用集群和數(shù)據(jù)庫集群保障系統(tǒng)的穩(wěn)定可靠運行。
通過開發(fā)信息系統(tǒng)數(shù)據(jù)結(jié)構(gòu)管控平臺系統(tǒng),使公司信息部門可以借助自動化的技術(shù)手段和工具,實現(xiàn)對企業(yè)級應(yīng)用系統(tǒng)的數(shù)據(jù)結(jié)構(gòu)和數(shù)據(jù)操作進行有效的管控。逐步扭轉(zhuǎn)系統(tǒng)數(shù)據(jù)與數(shù)據(jù)結(jié)構(gòu)操作不規(guī)范、誤操作風(fēng)險高、操作難以追溯、和無法有效監(jiān)管等現(xiàn)狀,同時通過數(shù)據(jù)結(jié)構(gòu)管控平臺操作各接入的業(yè)務(wù)系統(tǒng)數(shù)據(jù)庫,可以實現(xiàn)“操作有記錄,凡事可追查”的目的,有效提升核心系統(tǒng)數(shù)據(jù)的安全性,減少系統(tǒng)運維的成本和難度,提高運維工作的效率,推動運維管理水平的提升。