婁世平 楊玉永 劉瑞峰 徐秀杰 賈榮光 董 翔
?
基于Android智能終端的地震現(xiàn)場應(yīng)急指揮技術(shù)系統(tǒng)運維信息管理平臺1
婁世平 楊玉永 劉瑞峰 徐秀杰 賈榮光 董 翔
(山東省地震局,濟南 250102)
地震現(xiàn)場應(yīng)急指揮技術(shù)系統(tǒng)在震后救援行動中發(fā)揮著重要的通信和指揮樞紐作用,為了提升現(xiàn)場技術(shù)系統(tǒng)的運維質(zhì)量,并解決目前運維時上報信息分散且不易查詢的問題,本文基于C/S架構(gòu)設(shè)計了1套運維信息管理平臺,客戶端采用手機、平板電腦等智能終端,基于Android SDK進行應(yīng)用程序開發(fā),采用輕量級文本格式JSON與服務(wù)器端進行數(shù)據(jù)交互。客戶端用戶登錄平臺后,可上報文字和圖片信息,也可根據(jù)上報時間、內(nèi)容、位置等關(guān)鍵字查詢歷史信息,實現(xiàn)了信息的匯總和共享;平臺還設(shè)計了故障排查輔助、設(shè)備操作說明、演練信息發(fā)布等實用功能,數(shù)據(jù)匯集在服務(wù)器端,便于管理和考核。本系統(tǒng)已在山東省地震局部署應(yīng)用,有效提升了地震現(xiàn)場工作的效率和水平。
地震應(yīng)急 技術(shù)系統(tǒng)運維 Android智能終端 信息管理
地震現(xiàn)場應(yīng)急指揮技術(shù)系統(tǒng)是地震發(fā)生后地震現(xiàn)場與外界通信聯(lián)絡(luò)的通信樞紐,也是實現(xiàn)地震現(xiàn)場制定救援方案、部署救援力量、指揮救援實施的指揮樞紐,在震后救援行動中起到至關(guān)重要的作用(王卓等,2016;王紀強等,2017)。為此,系統(tǒng)運維人員應(yīng)保證設(shè)備的運維質(zhì)量,使其處于正常運行狀態(tài),以應(yīng)對隨時可能發(fā)生的地震事件。目前,山東省地震局已建設(shè)完成地震現(xiàn)場移動指揮平臺并投入使用。該指揮平臺采用北方奔馳二類載貨汽車底盤進行改裝,會議區(qū)采用雙向側(cè)拉方艙,空間充足,配備衛(wèi)星、3G、4G等多種通信手段,基本滿足了惡劣條件下的通信需求(婁世平等,2017),顯著提升了地震現(xiàn)場應(yīng)急服務(wù)水平、通信能力、綜合保障能力、信息產(chǎn)出能力以及車輛機動性等。但該指揮平臺技術(shù)復雜、設(shè)備集成度高,對運維工作也提出了更高的要求。據(jù)統(tǒng)計,指揮平臺自2014年交付使用以來,共進行過30余次比較大的升級改造和設(shè)備維護工作。目前的運維方式是統(tǒng)計每月的演練和維護工作,并填寫在制式的表格中,上報到中國地震局服務(wù)器。該方式存在以下問題:①信息匯集渠道不暢,運維工作由多人負責,難以統(tǒng)計全單位1個月所有的運維工作量;②缺乏信息查詢手段,運維信息填寫在Word格式的記錄表中,無法按照用戶的規(guī)則條件進行快速、有效的查詢。
目前,Android智能終端的應(yīng)用已經(jīng)十分普及,其具有良好的移動性、便攜性以及強大的信息處理能力和通信能力,非常適合移動端的信息采集、上報和查詢。戴波等(2016)設(shè)計的基于Android平臺的地震設(shè)備維修管理系統(tǒng),可以上傳和查詢維修記錄;李夢偉等(2017)設(shè)計的基于Android平臺的信息系統(tǒng)故障診斷App,實現(xiàn)了故障數(shù)據(jù)收集和故障診斷輔助功能;陳桂鵬等(2014)使用Android手機與信息采集終端相連,通過移動端App對農(nóng)業(yè)環(huán)境信息進行處理、存儲與傳輸。為提高地震現(xiàn)場的運維管理水平,實現(xiàn)運維過程中的信息共享和信息查詢,本文基于Android系統(tǒng),設(shè)計研發(fā)了1套現(xiàn)場應(yīng)急指揮技術(shù)系統(tǒng)運維信息管理平臺,用戶通過安裝在手機、平板電腦等智能終端上的App可進行運維信息的上報、查詢,并將數(shù)據(jù)匯集在服務(wù)器端的數(shù)據(jù)庫,實現(xiàn)了信息的共享,用戶也可通過App查閱操作說明、通知公告以及輔助故障排查等。系統(tǒng)客戶端App的登錄界面和主界面如圖1、2所示。
圖1 App登錄界面
圖2 App主界面
地震現(xiàn)場移動指揮平臺在震時作為抗震救災(zāi)一線的應(yīng)急指揮場所,具有集成度高、智能化和可擴展等特點。針對目前在實際運維工作中暴露出來的項目冗繁分散、信息流轉(zhuǎn)環(huán)節(jié)多、信息匯集查詢能力弱等弊端,系統(tǒng)設(shè)計了運維上報、信息查詢、用戶輔助3大功能模塊??紤]到移動智能終端屏幕尺寸、操作方式等條件的局限性,秉承高智能化和強自動化的設(shè)計理念,在上報頁面中設(shè)計了時間、經(jīng)緯度、地理位置、天氣等輔助信息的自動獲取功能,不僅提高了系統(tǒng)操作的便易度,也讓用戶在上報運維信息時更專注于運維工作的主體內(nèi)容。
由于服務(wù)器部署在行業(yè)網(wǎng)環(huán)境下,而客戶端用戶暴露在公共互聯(lián)網(wǎng)下,系統(tǒng)采用具有高安全性的虛擬專用網(wǎng)絡(luò)(VPN)實現(xiàn)公共與私有網(wǎng)絡(luò)之間的跨越,且為用戶設(shè)置訪問權(quán)限以限制用戶的使用深度,從而保證了系統(tǒng)安全。
該管理平臺基于Android平臺,采用Java語言進行應(yīng)用程序開發(fā),開發(fā)環(huán)境為Android Studio。Android Studio是Google開發(fā)的一款面向Android開發(fā)者的IDE,基于流行的Java語言集成開發(fā)環(huán)境IntelliJ搭建而成。服務(wù)器端采用Tomcat,開源免費,部署Servlet服務(wù)程序,用于接收客戶端請求、訪問數(shù)據(jù)庫、進行數(shù)據(jù)存儲和數(shù)據(jù)查詢。數(shù)據(jù)庫采用關(guān)系型數(shù)據(jù)庫管理系統(tǒng)MySQL??蛻舳撕头?wù)器端的數(shù)據(jù)交互采用輕量級文本數(shù)據(jù)交換格式JSON,在系統(tǒng)開銷、速度和易用性角度都更適合用于Android移動平臺。
管理平臺針對地震現(xiàn)場技術(shù)系統(tǒng)運維需求,設(shè)計了信息的上報、查詢和輔助3大功能模塊,如圖3所示。
圖3 系統(tǒng)功能模塊
(1)上報模塊:除了常規(guī)的文字和圖片信息上報之外,考慮到不同的地理位置、天氣情況對移動端的衛(wèi)星系統(tǒng)運行都有影響,為了全面反映上報時的真實環(huán)境狀況,上報模塊使用Android平臺的LocationManager類自動獲取經(jīng)緯度,使用Geocoder類將經(jīng)緯度解析為參考地理位置,并通過互聯(lián)網(wǎng)的天氣API接口獲得當前城市的天氣預報,當前登錄用戶和時間也由系統(tǒng)自動獲取,用戶只需要填寫文字信息和選取上報圖片,即可與上述內(nèi)容一同打包上傳到服務(wù)器,節(jié)省了信息上報的工作量,且上報的信息更具客觀性和真實性。
(2)查詢模塊:對于保存在數(shù)據(jù)庫里的運維信息,客戶端App支持根據(jù)上報時間、上報人員、上報內(nèi)容和上報位置等多種方式進行查詢,根據(jù)上報時間查詢需要選取起止時間,其余查詢方式均支持關(guān)鍵字模糊匹配??蛻舳私邮盏椒?wù)器端返回的數(shù)據(jù)后,將以列表形式進行顯示,點擊列表的某一項后,將會彈出對話框,顯示該條記錄的時間、位置、內(nèi)容、圖片等詳細信息。
(3)輔助模塊:為了使該App更好地服務(wù)于現(xiàn)場技術(shù)系統(tǒng)運維工作,設(shè)計集成了多種實用功能。“設(shè)備操作說明”可在線查看主要設(shè)備的說明文檔、設(shè)計圖紙和現(xiàn)場系統(tǒng)運維細則等信息;“故障排查”通過選擇發(fā)生故障的設(shè)備、填寫故障表現(xiàn)的關(guān)鍵詞,從數(shù)據(jù)庫中查詢相關(guān)的歷史維護記錄,輔助設(shè)備檢修;“通知公告”可在線查看或下載最新的演練通知等信息;“應(yīng)急電話”列有測震值班、應(yīng)急值班、分管領(lǐng)導等重要電話,點擊即可轉(zhuǎn)入撥打電話界面。
各功能模塊的主要界面如圖4—6所示。
圖4 信息上報
圖5 信息查詢
圖6 設(shè)備操作說明
系統(tǒng)結(jié)構(gòu)包括客戶端和服務(wù)器端2部分,通過http協(xié)議進行數(shù)據(jù)交互,如圖7所示。
圖7 系統(tǒng)結(jié)構(gòu)示意圖
其中,客戶端為部署了管理平臺App的Android智能終端,可以是手機、平板電腦等設(shè)備,UI交互層為與用戶交互的界面,接收并處理用戶指令,在需要與服務(wù)器進行數(shù)據(jù)交互時,通過POST方式提交數(shù)據(jù),并處理返回的響應(yīng)數(shù)據(jù),數(shù)據(jù)經(jīng)過解析后顯示在UI界面上;服務(wù)器前端設(shè)置過濾器,主要用于用戶登錄、中文編碼等處理,Servlet接收客戶端請求、處理請求并完成對客戶端的響應(yīng),DAO層實現(xiàn)對數(shù)據(jù)庫的存儲和讀取。
圖8 運維信息上報流程圖
運維信息上報時,需要開啟位置服務(wù),在獲取到經(jīng)緯度數(shù)據(jù)之后,才能根據(jù)經(jīng)緯度得到位置和天氣信息,最后和用戶填寫的上報信息一同打包發(fā)送到服務(wù)器。程序流程圖如圖8所示。
LocationManager類可以訪問系統(tǒng)的定位服務(wù),周期性獲得設(shè)備地理位置的更新,在獲取LocationManager實例后,通過getLastKnownLocation方法獲取當前的經(jīng)緯度信息,主要代碼如下:
LocationManager lm=(LocationManager)getSystemService(Context. LOCATION_SERVICE);
Location location = lm.getLastKnownLocation(locationProvider);
if(location!=null){
longitude= (float)location.getLongitude();
latitude= (float)location.getLatitude();
}
其中,locationProvider是位置提供器,可以是GPS或者NETWORK,表示獲取經(jīng)緯度信息的途徑。獲取經(jīng)緯度數(shù)據(jù)后,實例化Geocoder類,通過getFromLocation方法將經(jīng)緯度轉(zhuǎn)換為List
類型的數(shù)據(jù)locationList,從locationList中可以提取當前坐標下的地理位置:Geocoder gc = new Geocoder(this, Locale.getDefault());
List
locationList = gc.getFromLocation(latitude, longitude, 1);使用天氣預報數(shù)據(jù)接口http://wthrcdn.etouch.cn/weather_mini,通過OkHttp訪問該接口,并傳遞在locationList提取的city作為參數(shù),將返回一個JSONObject類型的對象,在回調(diào)函數(shù)里對該對象進行解析,即可獲得天氣情況、最高溫度、最低溫度等信息:
JSONObject jo = new JSONObject(response);、
JSONObject data = jo.getJSONObject("data");
JSONArray forecast = data.getJSONArray("forecast");
String high = forecast.getJSONObject(0).getString("high");
String low = forecast.getJSONObject(0).getString("low");
String type = forecast.getJSONObject(0).getString("type");
客戶端的上報數(shù)據(jù)主要包括上報人員、上報時間、經(jīng)緯度、地理位置、當?shù)靥鞖?、維護的設(shè)備、上報的文字和圖片內(nèi)容幾大部分。其中,上報人員默認為登錄用戶,上報時間、經(jīng)緯度、地理位置和當?shù)靥鞖舛加上到y(tǒng)自動獲取,用戶填寫上報內(nèi)容,選取上報圖片,系統(tǒng)將在客戶端捕獲的全部信息實例化為一個ReportData類對象,并將其轉(zhuǎn)換為JSON字符串,使用OKhttp提交到服務(wù)器:
OkHttpUtils.post()
.id(101)
.url(url)
.addParams("jsonStr", jsonStr)
.build()
.execute(new MyStringCallback());
在上述ReportData對象中,只保存了圖片在服務(wù)器的存儲路徑,圖片要上傳到服務(wù)器,還要單獨進行一次網(wǎng)絡(luò)訪問。為達到節(jié)省移動網(wǎng)絡(luò)通信流量的目的,在上傳圖片之前,客戶端先對本地圖片進行壓縮(預設(shè)不大于150K)后再進行網(wǎng)絡(luò)傳輸。
上報的運維信息保存在數(shù)據(jù)庫里,其中編號_id為自增主鍵,數(shù)據(jù)表結(jié)構(gòu)如表1所示。
表1 運維信息數(shù)據(jù)表結(jié)構(gòu)
Table 1 Information data structure
客戶端可通過上報時間、上報內(nèi)容、上報位置等條件,分類查詢上報的數(shù)據(jù)。在App的界面中,通過一個Spinner控件選擇查詢條件,在EditText控件中填寫關(guān)鍵詞,點擊查詢,返回的數(shù)據(jù)將顯示在下方ListView控件中。其中,返回的數(shù)據(jù)格式為JSONArray字符串,需要進行解析,轉(zhuǎn)化為JSONObject,然后使用上報數(shù)據(jù)類ReportData的構(gòu)造函數(shù),實例化每一項上報數(shù)據(jù),關(guān)鍵代碼如下:
JSONArray jsonArray = new JSONArray(response);
for (int i = 0; i < jsonArray.length(); i++){
JSONObject jsonObject = jsonArray.getJSONObject(i);
ReportDatarptData = new ReportData((float)jsonObject.getDouble("longitude"),
(float)jsonObject.getDouble("latitude"),
jsonObject.getString("time"),
jsonObject.getString("weather"),
jsonObject.getString("content"),
jsonObject.getString("position"),);
}
輔助功能中“故障排查”模塊是通過輸入故障設(shè)備和故障表現(xiàn)的關(guān)鍵字,對數(shù)據(jù)庫里的相應(yīng)字段的數(shù)據(jù)進行匹配,返回歷史維護記錄,其實現(xiàn)方法與“運維查詢”類似,不再贅述?!霸O(shè)備操作說明”、“通知公告”等功能則是通過對服務(wù)器上的html文檔進行讀取和顯示來實現(xiàn)的。
移動指揮平臺投入使用已經(jīng)將近4年,部分設(shè)備開始老化,故障頻發(fā),如液壓支撐系統(tǒng)經(jīng)常發(fā)生支撐腿無法落下或收起的情況,故障表現(xiàn)不同,解決方法也不同。由于運維人員不固定,彼此之間缺乏有效的信息溝通渠道,無法共享解決方案。本系統(tǒng)部署后,在設(shè)備維護時通過該管理平臺上報維護記錄,便于日后出現(xiàn)類似問題時,其他運維人員能及時查詢處置方法。圖9為上報的運維信息詳情,記錄了某次液壓支撐系統(tǒng)故障表現(xiàn)和解決方法,并附有圖片,一目了然并且可操作性強。
日常運維工作除了故障排查,還包括設(shè)備的周期性充電和保養(yǎng),如車載發(fā)電機每用時100小時或1年需要進行保養(yǎng),圖10為通過本系統(tǒng)記錄的某次發(fā)電機保養(yǎng)時間和內(nèi)容,明確了時間節(jié)點,并保存了詳細的保養(yǎng)記錄,為設(shè)備下次保養(yǎng)提供了重要的信息參考。
圖9 液壓支撐系統(tǒng)維護記錄
圖10 發(fā)電機保養(yǎng)記錄
此外,在各項演練中,通過本系統(tǒng)上報行進、演練、撤收等各階段的流程,保存了一份詳盡的演練記錄,可為以后的演練活動提供重要參考。在中國地震局組織的“震安-2017”華北片區(qū)綜合演練中,山東省地震局現(xiàn)場工作隊負責前往內(nèi)蒙古自治區(qū)豐鎮(zhèn)市模擬地震現(xiàn)場進行技術(shù)保障,整個行程將近800km,途經(jīng)山東、河北、山西、內(nèi)蒙4個省區(qū),現(xiàn)場工作人員從出發(fā)開始,使用本系統(tǒng)上報演練各節(jié)點信息。圖11為按照演練的起止時間進行查詢得到的記錄列表截圖;圖12—14為指揮車加油、路況、演練內(nèi)容的上報信息詳情,這些詳實的記錄都將為今后的現(xiàn)場應(yīng)急工作提供有力的信息支撐。
圖11 演練記錄列表
圖12 車輛加油記錄
圖13 高速路況記錄
圖14 視頻會議記錄
運維信息管理平臺充分考慮了現(xiàn)場技術(shù)保障工作的需求和特點,主要解決了技術(shù)系統(tǒng)運維時信息不易匯集和查詢困難的突出問題,目前,該管理平臺已在山東省地震局現(xiàn)場工作中得到了應(yīng)用和檢驗。實踐證明,本系統(tǒng)功能豐富、性能穩(wěn)定、實用性強,有效提升了現(xiàn)場工作的效率和水平,未來將在山東省內(nèi)各市級地震局進行推廣應(yīng)用。在接下來的工作中,將逐步完善、設(shè)計系統(tǒng)的考核功能,在服務(wù)器端自動檢查上報材料的時效性和完整性,實現(xiàn)對運維質(zhì)量的自動考核評價,保證資料評比公正客觀。
陳桂鵬,嚴志雁,瞿華香等,2014.基于Android手機的農(nóng)業(yè)環(huán)境信息采集系統(tǒng)設(shè)計與實現(xiàn).廣東農(nóng)業(yè)科學,41(13):178—181,219.
戴波,王大偉,江昊琳等,2016.基于Android平臺的地震設(shè)備維修管理系統(tǒng).地震地磁觀測與研究,37(2):153—156.
李夢偉,董正宏,楊帆,2017.基于Android的信息系統(tǒng)故障查詢App的設(shè)計與實現(xiàn).計算機科學,44(11A):561—564.
婁世平,賈榮光,楊玉永等,2017.地震應(yīng)急通信“最后一公里”問題的解決方案設(shè)計.中國應(yīng)急救援,(2):44—48.
王紀強,吳晨,宋文杰等,2017.地震救援現(xiàn)場應(yīng)急通信體系研究.地震工程學報,39(S1):214—21.
王卓,方瑤,郝永梅等,2016.地震現(xiàn)場通訊集成技術(shù)研究.地震地磁觀測與研究,37(1):165—172.
The Information Operation and Maintenance Management Platform of Earthquake Field Emergency Command Technology System Based on Android Intelligent Terminal
Lou Shiping, Yang Yuyong, Liu Ruifeng, Xu Xiujie, Jia Rongguang and Dong Xiang
(Shandong Earthquake Agency, Jinan 250102, China)
Earthquake field emergency command technology system plays an important role for communication and command center in the earthquake rescue operations. In order to improve the quality of operation and maintenance of field technology system, and to solve the problem of reporting information scattered and difficult to query, based on the C/S architecture we design a maintenance information management platform. The client runs on intelligent terminals such as mobile phone and tablet computer, develops application based on Android SDK, and uses JSON to exchange data with the server side. The client user can report the text and picture information after logs in, and can also query history information according to the keywords such as reporting time, content and position, realizing the information collection and sharing. The platform also has some practical functions, such as troubleshooting, auxiliary operation, information release, etc. The data is saved on the server side, which is convenient for management and examination. The system has been deployed in Shandong Earthquake Agency, effectively improving the efficiency and level of the earthquake field work.
Earthquake emergency; Technology system operation and maintenance; Android intelligent terminal; Information management
婁世平,楊玉永,劉瑞峰,徐秀杰,賈榮光,董翔,2018.基于Android智能終端的地震現(xiàn)場應(yīng)急指揮技術(shù)系統(tǒng)運維信息管理平臺.震災(zāi)防御技術(shù),13(3):727—735.
10.11899/zzfy20180324
山東省地震局“地震應(yīng)急信息服務(wù)創(chuàng)新團隊”和2018年度重點研發(fā)項目“基于Android和JavaWeb的綜合國情信息查詢系統(tǒng)(YF1814)”共同資助
2017-12-24
婁世平,男,生于1982年。工程師。主要從事地震現(xiàn)場指揮技術(shù)系統(tǒng)、地震應(yīng)急衛(wèi)星通信系統(tǒng)技術(shù)保障工作。E-mail:lousp@126.com