常 亮 毛國良 李小軍 劉勝國 劉 新李冬圣 尹康達(dá) 王光沖 郭垚嘉
(中國石家莊 050021 河北省地震局)
儀修工作設(shè)備管理系統(tǒng)研制
常 亮 毛國良 李小軍 劉勝國 劉 新李冬圣 尹康達(dá) 王光沖 郭垚嘉
(中國石家莊 050021 河北省地震局)
針對(duì)測震臺(tái)網(wǎng)臺(tái)站設(shè)備數(shù)量多、信息保存混亂的問題,提出開發(fā)1套基于B/S模式的測震設(shè)備管理系統(tǒng),利用數(shù)據(jù)庫使信息管理規(guī)范化,并采用二維碼技術(shù)為用戶提供快速查詢服務(wù)。臺(tái)站設(shè)備管理系統(tǒng)與二維碼技術(shù)的結(jié)合,可提高工作效率、降低運(yùn)維成本,值得推廣。
二維碼;臺(tái)站運(yùn)維;管理系統(tǒng)
隨著地震監(jiān)測能力的提升,地震設(shè)備種類增多、數(shù)量增大(陳吉鋒,2015)。目前河北省測震臺(tái)網(wǎng)負(fù)責(zé)維護(hù)本省57個(gè)測震臺(tái)站、59個(gè)強(qiáng)震臺(tái)站、48個(gè)背景場項(xiàng)目強(qiáng)震臺(tái)站及數(shù)百個(gè)烈度速報(bào)臺(tái)站設(shè)備,同時(shí)承擔(dān)華北片區(qū)7個(gè)單位設(shè)備的相關(guān)維修和管理工作。在如此繁重的設(shè)備維護(hù)工作中,設(shè)備信息依靠紙介質(zhì)、文本文件或Excel表格記錄,記錄散亂、不規(guī)范,無固定存儲(chǔ)位置、易丟失。如今地震領(lǐng)域廣泛使用網(wǎng)絡(luò)和數(shù)據(jù)庫管理資料(郭祥云,2012),開發(fā)一套基于B/S模式的測震設(shè)備管理系統(tǒng),利用數(shù)據(jù)庫管理設(shè)備信息,可提高工作效率、降低運(yùn)維成本。為實(shí)現(xiàn)設(shè)備管理系統(tǒng)的快速查詢,考察其他行業(yè)現(xiàn)狀,發(fā)現(xiàn)利用二維碼可顯著提高查詢效率。管理系統(tǒng)與二維碼技術(shù)的結(jié)合,將解決目前地震臺(tái)網(wǎng)運(yùn)維工作中設(shè)備數(shù)量多、信息保存散亂的問題。
1.1 開發(fā)框架與系統(tǒng)架構(gòu)
設(shè)備管理系統(tǒng)采用Struts2、Hibernate和Spring框架搭建,此3個(gè)框架是B/S模式開發(fā)常用的輕量級(jí)框架。其中,Struts2負(fù)責(zé)攔截用戶請(qǐng)求,并根據(jù)請(qǐng)求調(diào)用適當(dāng)?shù)哪K處理業(yè)務(wù)需求,大多數(shù)核心功能是以攔截器形式實(shí)現(xiàn)(孫鑫,2008);Hibernate是連接數(shù)據(jù)庫的中間件,封裝JDBC API(孫衛(wèi)琴,2005),為數(shù)據(jù)庫操作提供各類方法,供開發(fā)人員調(diào)用;Spring提供的IOC功能降低應(yīng)用組件之間的依賴性(羅時(shí)飛,2005),可以幫助用戶管理Java Bean,并生成Java Bean實(shí)例。
系統(tǒng)整體架構(gòu)分為數(shù)據(jù)持久層、業(yè)務(wù)邏輯層、控制層和顯示層(圖1)。其中,數(shù)據(jù)持久層利用Hibernate框架處理CRUD操作;業(yè)務(wù)邏輯層提供處理各類請(qǐng)求的業(yè)務(wù)邏輯方法;控制層利用Struts2框架攔截用戶請(qǐng)求并調(diào)用適合的業(yè)務(wù)邏輯方法;顯示層負(fù)責(zé)展示數(shù)據(jù)。用戶通過瀏覽器訪問Web服務(wù)器,成功登錄的用戶名和用戶角色將被寫入Session,用戶訪問其他頁面時(shí)即可判斷其訪問權(quán)限。
圖1 系統(tǒng)架構(gòu)Fig.1 System architecture diagram
1.2 功能模塊
該系統(tǒng)分為運(yùn)維模塊、普通用戶模塊和管理員模塊3部分,見圖2。其中,運(yùn)維模塊管理廠商信息、設(shè)備類型信息、設(shè)備參數(shù)信息、設(shè)備信息、臺(tái)站信息、維修記錄信息、維修出差信息;普通用戶模塊可以瀏覽運(yùn)維模塊涉及信息,無增、刪、改功能;管理員模塊負(fù)責(zé)用戶信息管理。3個(gè)模塊分別對(duì)應(yīng)系統(tǒng)的3種用戶角色:運(yùn)維、普通用戶和管理員角色,其中運(yùn)維角色分配給運(yùn)維組成員,可以有多個(gè)用戶;普通用戶角色分配給測震臺(tái)網(wǎng)除運(yùn)維人員的其他工作人員,可以有多個(gè)用戶;管理員用戶只有1個(gè)。
圖2 系統(tǒng)功能模塊Fig.2 System function modules diagram
1.3 信息統(tǒng)計(jì)
地震臺(tái)站維護(hù)次數(shù)、人員出差次數(shù)是運(yùn)維工作年終總結(jié)的2項(xiàng)重要指標(biāo)。僅利用數(shù)據(jù)列表展示不夠直觀,本系統(tǒng)在保留表格方式的同時(shí)增加圖形展示方式。圖形生成采用第三方框架JFreeChart,它是一個(gè)開源項(xiàng)目,主要在Java平臺(tái)下生成各類圖形和圖表(謝星星等,2008),目前很多Java項(xiàng)目采用該技術(shù)作為繪圖的主要工具。地震臺(tái)站維修和人員出差次數(shù)統(tǒng)計(jì)(圖3)均采用直方圖展示,可直觀顯示數(shù)據(jù)頻次和極值。
1.4 臺(tái)站布局展示
運(yùn)維人員經(jīng)常查看地震臺(tái)站信息,利用地圖展示臺(tái)站位置比枯燥的表格文字更直觀,測震領(lǐng)域一些軟件利用地理坐標(biāo)數(shù)據(jù)繪制地圖,考慮到本系統(tǒng)對(duì)地圖的精確度要求不高,且地圖信息時(shí)有變化,地理坐標(biāo)數(shù)據(jù)維護(hù)不便,在此采用通用的電子地圖進(jìn)行處理。管理系統(tǒng)將地震臺(tái)站位置標(biāo)識(shí)在地圖上(圖4),點(diǎn)擊可查看設(shè)備信息。系統(tǒng)開發(fā)時(shí)將臺(tái)站相關(guān)信息寫入文本文件,每次顯示地圖時(shí)無需在數(shù)據(jù)庫讀取信息,從文本文件讀取即可(出于信息安全考慮,臺(tái)站經(jīng)緯度坐標(biāo)做適當(dāng)變動(dòng))。當(dāng)臺(tái)站信息發(fā)生變動(dòng)時(shí),運(yùn)維人員可利用系統(tǒng)提供的“更新臺(tái)站信息”功能,將更新信息重新寫入文本文件。
圖3 臺(tái)站維修及人員出差次數(shù)統(tǒng)計(jì)Fig.3 Statistical bar chart of station maintenance frequency and staff travel
圖4 臺(tái)站信息地圖Fig.4 Station information map
1.5 資源文件
軟件開發(fā)及調(diào)試階段會(huì)頻繁修改軟件中的某些文字,出現(xiàn)在不同Java類中會(huì)增加代碼維護(hù)難度,為此系統(tǒng)采用資源文件解決此類問題。開發(fā)時(shí)寫一個(gè)資源文件,使用英文字母作為標(biāo)識(shí)名,用Unicode編碼過的中文(防止網(wǎng)絡(luò)傳輸出現(xiàn)亂碼)作為標(biāo)識(shí)值。JSP文件需要用到的按鈕名、列表的字段名、出錯(cuò)信息和提示信息均采用資源文件處理,此方式實(shí)現(xiàn)系統(tǒng)各類文字的快速修改,既減少開發(fā)者的工作量,又保證系統(tǒng)正常運(yùn)行。
2.1 二維碼技術(shù)
二維碼是當(dāng)前流行的信息傳播方式,將各類信息編碼保存在一個(gè)圖片中,利用掃描設(shè)備解碼,可在數(shù)秒內(nèi)迅速得到信息。二維碼技術(shù)始于20世紀(jì)80年代末,中國1993年開始研究此項(xiàng)技術(shù),現(xiàn)在常用的QR Code(Quick Response Code)是多種二維碼技術(shù)中的一種,由日本Denso公司研制,是一種矩陣二維碼,具有識(shí)別速度快、編碼字符集廣泛等特點(diǎn)(劉志海等,2009)。一個(gè)QR Code標(biāo)識(shí)最多容納7 089個(gè)數(shù)字字符,1 817個(gè)漢字,4 296個(gè)字母數(shù)字字符(龐明,2011)。二維碼解碼時(shí),掃描設(shè)備發(fā)出的光源照射二維碼圖片,反射光經(jīng)透鏡聚焦到光電轉(zhuǎn)換器上,該轉(zhuǎn)化器將電信號(hào)輸出放大到整形電路,完成模數(shù)轉(zhuǎn)換,經(jīng)譯碼變?yōu)樽址畔ⅲ▌⒅竞5龋?009)。隨著智能手機(jī)的出現(xiàn),二維碼技術(shù)應(yīng)用范圍擴(kuò)大,利用手機(jī)軟件掃描二維碼,隨時(shí)隨地獲取信息。在商業(yè)領(lǐng)域二維碼被用來保存制造商網(wǎng)址,用戶掃碼得到網(wǎng)址并利用手機(jī)瀏覽器訪問。地震臺(tái)站設(shè)備管理系統(tǒng)利用二維碼將設(shè)備信息編碼,用戶通過掃碼可直接獲取設(shè)備信息。
2.2 需求簡述
地震臺(tái)站設(shè)備管理系統(tǒng)實(shí)現(xiàn)了對(duì)設(shè)備信息的管理,考慮到臺(tái)網(wǎng)設(shè)備數(shù)量眾多,僅依靠系統(tǒng)條件查詢很難提高效率,當(dāng)運(yùn)維人員需要及時(shí)獲取設(shè)備信息時(shí)此問題尤為突出。如果將設(shè)備的基本信息做成二維碼圖片粘貼在設(shè)備表面,只需利用掃碼槍或智能手機(jī)掃碼,就能迅速獲得設(shè)備信息,提高查詢速度,減輕運(yùn)維人員負(fù)擔(dān)。
一臺(tái)測震設(shè)備進(jìn)入臺(tái)網(wǎng)時(shí)運(yùn)維人員把相關(guān)信息錄入數(shù)據(jù)庫,生成二維碼圖片保存在服務(wù)器中,同時(shí)將圖片的保存路徑存儲(chǔ)在數(shù)據(jù)庫,這樣能減少數(shù)據(jù)庫中存儲(chǔ)的數(shù)據(jù)量,用戶可隨時(shí)打印二維碼圖片粘貼在設(shè)備表面實(shí)現(xiàn)快速查詢,在管理系統(tǒng)的Web頁面上也能瀏覽到設(shè)備信息的二維碼圖片。每臺(tái)設(shè)備在數(shù)據(jù)庫保存信息,也自身攜帶一份信息。
2.3 具體實(shí)現(xiàn)
為了生成二維碼,需要在系統(tǒng)中添加二維碼編碼模塊,該模塊歸到系統(tǒng)運(yùn)維模塊,由運(yùn)維人員負(fù)責(zé)處理。用于編碼的設(shè)備信息包括:設(shè)備類型、設(shè)備名稱、序列號(hào)、廠商、出廠日期等信息。由于這些信息可能存儲(chǔ)在不同的數(shù)據(jù)表中,編碼前需要利用SQL語言對(duì)數(shù)據(jù)表做關(guān)聯(lián)查詢,將查詢結(jié)果編碼生成二維碼圖片,流程見圖5。使用二維碼技術(shù)成本低,普通打印機(jī)也能打印二維碼圖片。利用手機(jī)二維碼掃描軟件,用戶可隨時(shí)掃碼獲取相關(guān)測震設(shè)備信息。相對(duì)于電腦,手機(jī)終端更為便捷,手機(jī)掃碼查詢讓用戶擺脫對(duì)電腦的依賴。
圖5 二維碼生成流程Fig.5 QR code generating fow chart
儀修設(shè)備管理系統(tǒng)具有以下優(yōu)點(diǎn):①統(tǒng)一管理各類測震設(shè)備信息,根據(jù)用戶請(qǐng)求提供瀏覽查詢功能,減輕人工管理負(fù)擔(dān),降低出錯(cuò)概率; ②利用二維碼技術(shù)提供便捷的快速查詢;③利用地圖和直方圖直觀展示數(shù)據(jù)。
系統(tǒng)開發(fā)過程中涉及表單驗(yàn)證和分頁顯示2個(gè)細(xì)節(jié)。B/S模式應(yīng)用均會(huì)用到表單驗(yàn)證功能,很多系統(tǒng)利用JS代碼或AJAX框架做前臺(tái)驗(yàn)證。筆者考慮到本系統(tǒng)部署在測震臺(tái)網(wǎng)內(nèi)部,即使后臺(tái)驗(yàn)證也不會(huì)對(duì)訪問速度產(chǎn)生太大影響,因此選擇Struts2自帶表單驗(yàn)證功能,該驗(yàn)證采用XML文件配置,將表單數(shù)據(jù)傳至后臺(tái)服務(wù)器。分頁顯示是B/S應(yīng)用的另一個(gè)重要功能,為了提升分頁的顯示效果,筆者采用Display Tag標(biāo)簽實(shí)現(xiàn)分頁,使用時(shí)只需在JSP的頭文件中加入標(biāo)簽庫的引用即可,分頁顯示效果明顯比HTML自身表格美觀。
儀修設(shè)備管理系統(tǒng)為測震臺(tái)網(wǎng)非運(yùn)維人員提供設(shè)備查詢功能,為相關(guān)人員了解測震設(shè)備運(yùn)維工作進(jìn)展及地震臺(tái)站、設(shè)備信息提供便利,保障了河北省地震局測震臺(tái)網(wǎng)設(shè)備運(yùn)維工作的高效運(yùn)行。
陳吉鋒,陳軍輝,張帆.物聯(lián)網(wǎng)技術(shù)在浙江省地震臺(tái)站設(shè)備管理中的應(yīng)用[J].地震地磁觀測與研究,2015,36(2):108-113.
郭祥云.基于B/S結(jié)構(gòu)的地震信息管理系統(tǒng)設(shè)計(jì)[J].地震地磁觀測與研究,2012,33(2):132-138.
羅時(shí)飛.精通Spring [M].北京:電子工業(yè)出版社,2005:3.
劉志海,萬麗榮,宋作玲.條碼技術(shù)及程序設(shè)計(jì)案例[M].北京:化學(xué)工業(yè)出版社,2009:13-119.
龐明.物聯(lián)網(wǎng)條碼技術(shù)與射頻識(shí)別技術(shù)[M].北京:中國物資出版社,2011:3-64.
孫衛(wèi)琴.精通Hibernate:Java對(duì)象持久化技術(shù)詳解[M].北京:電子工業(yè)出版社,2005:1.
孫鑫.Struts2深入詳解[M].北京:電子工業(yè)出版社,2008:57.
謝星星,陳育春.貫通開源Web圖形與報(bào)表技術(shù)全集[M].北京:電子工業(yè)出版社,2008:26.
The development of management system for repairing seismic equipment
Chang Liang,Mao Guoliang,Li Xiaojun,Liu Shengguo,Liu Xin,Li Dongsheng,Yin Kangda,Wang Guangchong and Guo Yaojia
(Earthquake Administration of Heibei Province,Shijiazhuang050021,China)
To aim at the large quantity of seismic network station equipment and the problem of information storage confusion, a set of seismic equipment management system that based on B/S mode is developed.Using database to make the information management standardization and using two-dimensional code technology to provide fast query service for user, this system can improve work effciency, reduce operation and maintenance costs.It is worth to be popularized.
two-dimensional code,station operation and maintenance,management system
10.3969/j.issn.1003-3246.2016.06.027
常亮(1981—),男,工程師,陜西榆林市人,主要從事地震監(jiān)測工作
2015年度測震臺(tái)網(wǎng)青年骨干培養(yǎng)專項(xiàng)(專項(xiàng)編號(hào):20150403)
本文收到日期:2016-01-20