白若冰,閆俊義,古云鶴,杜睿攀,賀 巍,王衛平
(陜西省地震局,陜西 西安 710068)
本系統針對省局所管轄臺站,以Java語言作為B/S結構的開發環境,選用MySQL作為平臺完成整個數據庫設計,最終能夠直觀展示所有臺站詳盡的介紹及資產相關信息,為臺站運維業務、信息管理及臺網規劃提供相應服務,實現對各臺站設備、網絡、方位坐標、國有資產及看護人等基本信息的實時調閱,也可通過后臺對各項信息根據實際情況進行管理、更新。此平臺具有方便查閱、實時顯示以及使用簡便等優點。
當前,很多國內外的科研人員都投身于數據庫技術研究中。結合當前數據庫廠商在應用方面的需求和未來的發展方向,未來數據庫技術勢必朝著數據倉庫和電子商務的方向發展。目前,云南局的倪泰山、闕云彩等人結合云南地震臺站管理實際開發的地震臺站信息管理系統,已在云南省紅河州地震局信息節點服務器上運行,提高了地震臺站的管理效率。而陜西省地震局目前則相對缺乏與臺站有關的信息管理方面的軟件開發。
目前,陜西省地震局通過《陜西省地震監測區域中心臺建設方案》和《陜西省地震局地震臺站管理辦法》等相關制度改革,由過去的陜西省地震局監測中心運維管理陜西省所有無人臺站發展為現在的以區域中心臺為主、監測技術室為輔的兩級運維管理方式。近年來,通過由臺站為主體進行運維的實踐經驗,發現了運維過程中存在的一些問題。
目前,臺站的一些基礎信息均為紙質化、手冊版等形式,存在管理不便、查找效率低、信息更新不及時等問題。臺站故障時,需要使用看護人聯系方式、臺站所在供電所、通信方式、光纜線號以及儀器設備IP等一系列信息,導致查找及更新所需信息的方式繁瑣、效率低下,無法確保設備故障應急的及時性和精確性。
由于臺站的儀器、供電設施和通信光纜方式基本固定,所以臺站的故障可通過規范化、表格化統一進行整理、統計。目前,僅部分臺站存有維修日志且只以紙質化形式進行記錄,容易丟失,不方便整理統計。
針對以上問題,現在要求所設計的臺站信息管理系統應具備以下特性[1]:
(1)利用WEB前端技術設計基礎信息展示界面,使得管轄范圍內無人臺站的基本信息及儀器設備等相關資產信息更加詳盡、系統;
(2)利用MySQL設計相應數據庫表,便于維護人員及時有效地對所轄臺站及儀器設備的基礎信息進行增、刪、改、查;
(3)設置用戶權限并定義業務職能,使無人臺站的信息管理、維護及更新趨向智能化、規范化和流程化。
基于臺站信息管理實際需要,現利用JAVA編程語言,結合陜西區域特點研發了“陜西省地震臺站信息管理系統”。該系統設計了登錄頁面、首頁門戶、用戶/權限管理以及臺站管理4大功能模塊。
登錄頁面主要進行用戶的用戶名和密碼校驗,使用者可以通過輸入自己的用戶名和密碼登錄,輸入的用戶名和密碼將通過后臺服務的登錄校驗服務進行校驗,從而進行跳轉或錯誤提示,如圖1所示。

圖1 登錄界面
首頁門戶主要用于存放系統所能提供的功能,使用桌面式的方法,將每一個功能通過桌面APP的方式展現,便于用戶點擊查看。點擊桌面的App圖標后,系統會進行鏈接跳轉,打開指定的功能頁面,如圖2所示。目前,系統提供用戶管理和臺站管理功能,而門戶可以很好地保證系統的擴展性。如果后續需要提供相應功能,則可以以這種APP的方式添加在門戶上,同樣使用點擊跳轉的方法進行打開操作。此外,門戶還提供快捷操作和輪播組件,可以方便用戶使用。快捷操作可以快速注銷,跳轉到用戶管理;輪播組件可以循環播放向使用者開放的公告信息[2]。

圖2 首頁門戶
用戶/權限管理主要實現對使用本系統的用戶進行管理的功能,包含用戶添加、刪除、編輯和權限的控制功能,由系統管理員統一操作。
用戶信息包含用戶名、創建時間、所屬部門以及權限分組,對系統的使用者進行一個全方位描述,并將所有用戶的信息保存在MySQL數據庫表中進行持久化,通過用戶的增、刪、改、查操作更新數據庫,實現用戶對系統使用的一致性。

圖3 用戶信息表
連接MySQL的配置:
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/dz?useUnicode=true&characterEncoding=UTF-8&autoReco nnect=true&autoReconnectForPools=true
spring.datasource.username=root
spring.datasource.password=123456
對應MySQL庫表是為sys_user表,如圖4所示。

圖4 對應的MySQL庫表為sys_user表
系統目前的核心功能是臺站管理功能,主要實現臺站基本信息的增、刪、改、查和資產信息的增、刪、改、查[3]。展現的臺站基本信息主要包括臺站管理人員信息、看護人信息、臺站信息概述及臺站資產明細,如圖5所示。
臺站信息從數據庫中獲取,打開頁面時向后臺服務發起請求,通過后臺的臺站查詢服務將數據庫中的有關臺站的各個字段分別渲染展示在頁面上。
以下為后臺查詢服務的對外接口:
@RequestMapping("/getList.action")
@ResponseBody
public JSONObject getDzType(){
String status = "0";
String error = "";
String parentId = "0";

圖5 臺站信息表
JSONObject ret = new JSONObject();
try{
List
if(typeList != null && typeList.size() > 0){
JSONArray array = JSONArray.parseArray(JSON.toJSONString(typeList));
ret.put("typeList",array);
}
}catch(Exception e){
e.printStackTrace();
status = "1";
error = "獲取tz信息失敗";
}
JSONObject result = DzManageUtils.orgReturn(status,error,ret);
return result;
}
以上是通過springmvc模式發布的接口,頁面可以直接調用。如果調用失敗,則返回錯誤信息在頁面展示。
頁面通過下拉菜單的方式對臺站進行分類展現,通過編輯按鈕可以分別對臺站的管理人員和臺站信息進行編輯保存,編輯保存后調用臺站更新的服務更新數據庫,進行臺站信息的持久化操作,如圖6所示。

圖6 臺站信息概述界面
以下為后臺臺站更新的對外接口:
@RequestMapping("/update.action")
@ResponseBody
public JSONObject updateType(String params){
String status = "0";
String error = "";
JSONObject result = new JSONObject();
JSONObject ret = new JSONObject();
try{
JSONObject paramsObj = JSONObject.parseObject(params);
DzManageType dzManageType = JSON.toJav aObject(paramsObj,DzManageType.class);
this.dzTypeMapper.update(dzManageType);
}catch(Exception e){
e.printStackTrace();
status = "1";
error = "更新失敗,請檢查輸入格式";
}
result = DzManageUtils.orgReturn(status,error,ret);
return result;
}
對應的MySQL庫表為sys_station表,如圖7所示。

圖7 對應的MySQL庫表為sys_station表
通過臺站信息頁面的查看臺站資產信息明細表按鈕,可以查看臺站的詳細資產信息,如圖8所示。通過彈出頁面表格的形式進行展示,也可以支持增刪改查。
本系統由陜西省地震局臺站一線人員開發,以臺站運維工作實用性為前提和基礎。開發成功后,在陜西省地震局西安中心臺、榆林中心臺進行了試運行。該系統平臺的應用推廣,在一定程度上提高了臺站工作效率。系統運行安全穩定,方便快捷,具有良好的二次開發性,同時其實用性及便捷性得到了值班人員和專家的一致認可,為臺站智能化管理系統開發提供了借鑒。下一步將繼續在保障臺網運行和觀測資料質量的基礎上,將日常運維工作從較為繁瑣的人工化、紙張化中解放出來,并將向智能化和信息化逐步轉型作為長期的工作目標和努力方向。

圖8 臺站資產信息表