摘 要:通過(guò)地震災(zāi)害評(píng)估產(chǎn)出的災(zāi)情報(bào)告是災(zāi)后重建的重要依據(jù),能夠客觀的體現(xiàn)出此次地震的災(zāi)害程度有多大,通過(guò)災(zāi)情報(bào)告決定需要的總投資,便于災(zāi)區(qū)獲得援助與重建。然而,要想在最短的時(shí)間內(nèi)產(chǎn)出地震災(zāi)害評(píng)估報(bào)告,震后災(zāi)害信息的快速采集和獲取尤為重要。本系統(tǒng)致力于解決在今后的災(zāi)害數(shù)據(jù)采集整理匯總時(shí),對(duì)災(zāi)評(píng)人員合理分工后,外出的災(zāi)評(píng)人員應(yīng)用該系統(tǒng)隨時(shí)回傳圖片及數(shù)據(jù),后方人員及時(shí)整理匯總,縮短數(shù)據(jù)匯總的周期,提高整體災(zāi)評(píng)工作的效率。
關(guān)鍵詞:地震;災(zāi)害評(píng)估;效率
中圖分類號(hào):TP391
目前地震災(zāi)評(píng)小組進(jìn)行災(zāi)情調(diào)查過(guò)程中收集圖片、數(shù)據(jù)、災(zāi)情信息等,仍需要應(yīng)用相機(jī)、筆記本電腦、紙質(zhì)記錄等不同設(shè)備和手段分別進(jìn)行采集、記錄,且一般都需要小組人員采集一天后,回到總指揮部進(jìn)行整理、匯總再進(jìn)行上報(bào),不能進(jìn)行高效、實(shí)時(shí)的對(duì)數(shù)據(jù)等信息進(jìn)行整理,存著著一定的滯后性。近些年來(lái),地震行業(yè)利用短信平臺(tái)的軟件不斷發(fā)展成熟。2009年中國(guó)地震局正式開(kāi)通12322短信息平臺(tái),震后該平臺(tái)能通過(guò)災(zāi)情速報(bào)人員匯集反饋的災(zāi)情信息[1]。還有基于手機(jī)短信的地震災(zāi)情速報(bào)平臺(tái),接收人員通過(guò)短信指令,回復(fù)災(zāi)情代碼等信息。然而地震發(fā)生一段時(shí)間內(nèi),手機(jī)信道尤為珍貴,基本處在飽和狀態(tài),本軟件不依托于短信平臺(tái),也能通過(guò)自行架設(shè)的無(wú)線網(wǎng)絡(luò),衛(wèi)星網(wǎng)絡(luò),在網(wǎng)絡(luò)鏈路存在的情況下,增加回傳采集的圖像及信息,使得后方人員能及時(shí)整理匯總,提高整體災(zāi)評(píng)工作的效率。
1 系統(tǒng)分析與總統(tǒng)設(shè)計(jì)
針對(duì)目前的需要,開(kāi)發(fā)一套可以在安卓2.0以上系統(tǒng)上進(jìn)行地震信息采集錄入,支持影像上傳,通過(guò)手機(jī)終端將信息及時(shí)上傳至服務(wù)器平臺(tái)的安卓手機(jī)應(yīng)用系統(tǒng);同時(shí)提供Web網(wǎng)頁(yè)版的信息查詢功能,可以在網(wǎng)頁(yè)上查看通過(guò)手機(jī)終端上傳的信息。
本系統(tǒng)分為手機(jī)APP部分和后臺(tái)服務(wù)系統(tǒng)兩部分,手機(jī)APP部分完成用戶的操作和數(shù)據(jù)的采集等功能[2],后臺(tái)服務(wù)系統(tǒng)通過(guò)手機(jī)APP采集到的用戶操作要求和數(shù)據(jù),完成業(yè)務(wù)操作和數(shù)據(jù)持久化動(dòng)作。
1.1 手機(jī)APP
手機(jī)APP基于Android的ADK2.3進(jìn)行開(kāi)發(fā),支持客戶通過(guò)手機(jī)觸摸、拍照等多種途徑,完成信息采集,并通過(guò)Android的Activity完成頁(yè)面的跳轉(zhuǎn)和事件的響應(yīng)[3]。
由于目前Android手機(jī)型號(hào)多種多樣,應(yīng)用最大的難題就是客服兼容性問(wèn)題,本系統(tǒng)通過(guò)界面相對(duì)定位和對(duì)特殊型號(hào)的特殊處理,完成顯示兼容性差異;而由于相機(jī)的像素差異、生成圖片格式差異等問(wèn)題,借助ADK提供的內(nèi)部工具,完成圖片格式的轉(zhuǎn)換,從而保證上傳至服務(wù)器端的圖片格式一致;同時(shí)通過(guò)ADK提供的內(nèi)部API,完成用戶登錄驗(yàn)證、GPS定位、終端數(shù)據(jù)同步、數(shù)據(jù)上傳下載、后臺(tái)服務(wù)器交互等功能,實(shí)現(xiàn)手機(jī)終端訪問(wèn)操作后臺(tái)業(yè)務(wù)系統(tǒng)的功能。
1.2 后臺(tái)服務(wù)系統(tǒng)
后臺(tái)基于SH(即SRPING+HIBERNATE)架構(gòu),將后臺(tái)服務(wù)、前端顯示、數(shù)據(jù)持久化等功能實(shí)現(xiàn)邏輯分離,增強(qiáng)了系統(tǒng)的擴(kuò)展性。
后臺(tái)服務(wù)系統(tǒng)是基于Spring架構(gòu)實(shí)現(xiàn)的,前端展示部分通過(guò)JSP、HTML方式,完成展示功能,通過(guò)form表單的形式,完成和后臺(tái)服務(wù)的交互,而后臺(tái)服務(wù)通過(guò)Spring架構(gòu)的依賴注入,將各個(gè)服務(wù)類注入到Spring框架中,可以方便前端隨時(shí)訪問(wèn)調(diào)用,同時(shí)優(yōu)化了系統(tǒng)資源的利用,提高了系統(tǒng)效率。
1.3 數(shù)據(jù)建模部分
此系統(tǒng)是建立在ORACLE10的基礎(chǔ)上完成的數(shù)據(jù)建模,Spring通過(guò)結(jié)合Hibernate的持久化功能,完成與Oracle數(shù)據(jù)庫(kù)的無(wú)縫對(duì)接。由于Spring框架的靈活性,即使日后更改了數(shù)據(jù)庫(kù)類型,只要修改數(shù)據(jù)持久化模塊的實(shí)現(xiàn)類,既可完成數(shù)據(jù)庫(kù)切換。
綜上,后臺(tái)服務(wù)系統(tǒng)是建立于Spring架構(gòu)基礎(chǔ)上,借助Hibernate完成持久化,通過(guò)HTTP協(xié)議,完成界面交互,通過(guò)數(shù)據(jù)表單、JSON、XML等格式完成數(shù)據(jù)傳輸,從而實(shí)現(xiàn)了業(yè)務(wù)系統(tǒng)的功能需求。
2 系統(tǒng)分析與總統(tǒng)設(shè)計(jì)
2.1 系統(tǒng)功能模塊設(shè)計(jì)
本文設(shè)計(jì)的系統(tǒng)主要采集的信息為數(shù)據(jù)信息和圖片信息,圖片為現(xiàn)場(chǎng)災(zāi)害情況圖片,數(shù)據(jù)分震害調(diào)查和科學(xué)考察兩類信息[4],手機(jī)端和服務(wù)端相對(duì)應(yīng)。本系統(tǒng)采集模塊如圖1,圖2所示:
圖1 震害調(diào)查模塊
圖2 科學(xué)考察模塊
2.2 手機(jī)APP端數(shù)據(jù)上傳
手機(jī)APP端使用title Edit=(EditText) this.find View ById(R.id.recorder_entry_title)方法收集頁(yè)面上的數(shù)據(jù),再將數(shù)據(jù)進(jìn)行JSON封裝:jsonObject.put(“title”,title);接下來(lái)將JSON狀態(tài)LIST集合,將list結(jié)合序列化成request可識(shí)別的參數(shù),通過(guò)http方式提交到后臺(tái)服務(wù)器。
nameValuePair.add(new BasicNameValuePair(“jsonString”,jsonObject.toString()));
request.setEntity(new UrlEncodedFormEntity(nameValuePair,HTTP.UTF_8));
HttpClient client = HttpServerUtil.getHttpClient();
Log.v(TAG, “地震信息存儲(chǔ)URL:” + request.getURI().toString());
HttpResponse response = client.execute(request);
后臺(tái)接受到http請(qǐng)求的數(shù)據(jù)后做相應(yīng)處理。
2.3 后臺(tái)服務(wù)系統(tǒng)
通過(guò)網(wǎng)頁(yè)方式完成展示功能、管理員登陸驗(yàn)證、用戶及其信息的管理、地震目錄采集信息、數(shù)據(jù)和圖片的管理、第三方web形式的查看。
服務(wù)器端應(yīng)用SH技術(shù),通過(guò)對(duì)項(xiàng)目applicationContext.xml文件進(jìn)行配置,通過(guò)xml配置將SRPING、HIBERNATE整合在一起。在此系統(tǒng)中著重的使用了他的MVC功能,也就是前臺(tái)接受android請(qǐng)求服務(wù)和后臺(tái)數(shù)據(jù)庫(kù)持久層Hibernate銜接的控制。
2.4 數(shù)據(jù)庫(kù)
數(shù)據(jù)庫(kù)連接使用Hibernate技術(shù)連接oracle數(shù)據(jù)庫(kù),將配置文件裝載到applicationContext.xml中,然后將數(shù)據(jù)庫(kù)連接池、事務(wù)處理器、連接模版實(shí)例化成Spring的bean對(duì)象,在java代碼中即可調(diào)用這些bean對(duì)象,通過(guò)getHibernateTemplate()方法即可獲取到數(shù)據(jù)庫(kù)操作對(duì)象,通過(guò)這個(gè)對(duì)象即可實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)的增刪改查操作。
第一層到Controller層接收android端請(qǐng)求;
第二層到Service層封裝解析數(shù)據(jù)對(duì)象;
第三層到Dao層操作數(shù)據(jù)庫(kù);
前臺(tái)通過(guò)SPRING MVC接收到前臺(tái)的請(qǐng)求,接收前臺(tái)代碼的類為EarthquakeInfoController.java(即第一層);調(diào)用了infoService.createNewInfo(即第二層)的方法將json對(duì)象和參數(shù)userId傳入到了后臺(tái)Service層;EQInfoService.java中的createNewInfo()方法實(shí)現(xiàn)了對(duì)前臺(tái)請(qǐng)求數(shù)據(jù)的封裝,封裝成為了數(shù)據(jù)庫(kù)可以識(shí)別的對(duì)象,再調(diào)用INFODAO(即第三層)的方法;三層依次調(diào)用完成了前臺(tái)到后臺(tái)的數(shù)據(jù)操作。
3 系統(tǒng)實(shí)現(xiàn)與測(cè)試
3.1 功能實(shí)現(xiàn)與測(cè)試
功能上的測(cè)試主要是對(duì)軟件采集的數(shù)據(jù)圖片是否能實(shí)時(shí)傳輸?shù)胶笈_(tái)服務(wù)器,并能在Web頁(yè)面呈現(xiàn)出來(lái),分別在軟件的各個(gè)模塊進(jìn)行了驗(yàn)證,并最終通過(guò)驗(yàn)證。
3.1.1 用戶登錄界面
用戶通過(guò)輸入用戶名和密碼完成登陸操作,點(diǎn)擊記住用戶信息,可以自動(dòng)記錄用戶名和密碼,下次可以自動(dòng)登陸系統(tǒng);點(diǎn)擊登錄驗(yàn)證成功后,就會(huì)進(jìn)入主頁(yè)面中。安全考慮,不支持在線注冊(cè)功能,只能通過(guò)后臺(tái)維護(hù),完成新用戶添加動(dòng)作。如圖3所示:
圖3 系統(tǒng)登錄界面
3.1.2 系統(tǒng)主界面
主界面具有信息展示功能:登陸進(jìn)入系統(tǒng)后,首先查看到的是“自己已經(jīng)上傳的信息”,可以對(duì)每條信息進(jìn)行“刪、改、查”操作,同步更新服務(wù)器端信息。同時(shí)具有新記錄錄入功能:進(jìn)入系統(tǒng)后,可以點(diǎn)擊新建記錄按鈕,進(jìn)入新紀(jì)錄錄入界面。每條記錄可以通過(guò)手機(jī)拍照或者本地圖片上傳操作,綁定一張圖片,并可添加相應(yīng)描述信息。如圖4所示:
圖4 系統(tǒng)信息采集界面
3.1.3 后臺(tái)服務(wù)端展示界面
后臺(tái)提供Web網(wǎng)頁(yè)版的信息查詢功能,可以在網(wǎng)頁(yè)上查看通過(guò)手機(jī)終端上傳的信息。第三方可通過(guò)瀏覽器鍵入IP地址進(jìn)行信息的查看。
3.2 兼容性測(cè)試
通過(guò)MTC(百度移動(dòng)云測(cè)試中心)提供的全面深度測(cè)試,其中包括安裝卸載測(cè)試、UI適配測(cè)試、穩(wěn)定性測(cè)試、性能測(cè)試和遍歷測(cè)試[5]。本文所設(shè)計(jì)的系統(tǒng)分別對(duì)市場(chǎng)主流的64款手機(jī)進(jìn)行測(cè)試,并全部通過(guò)了測(cè)試系統(tǒng)測(cè)試主要對(duì)軟件的功能進(jìn)行測(cè)試。
3.3 手機(jī)端GPS功能測(cè)試
手機(jī)APP客戶端啟動(dòng)后,進(jìn)入到獲取GPS數(shù)據(jù)模塊,大概30-60秒能夠完成經(jīng)緯度的讀取[6],完全能滿足實(shí)際工作的需要。
4 結(jié)束語(yǔ)
地震發(fā)生一段時(shí)間內(nèi),手機(jī)信道尤為珍貴,基本處在飽和狀態(tài),本軟件能通過(guò)自行架設(shè)的無(wú)線網(wǎng)絡(luò),衛(wèi)星網(wǎng)絡(luò),在網(wǎng)絡(luò)鏈路存在的情況下,增加回傳采集的圖像及信息,使得后方人員能及時(shí)整理匯總,提高整體災(zāi)評(píng)工作的效率。
并且平板電腦、智能手機(jī)等便攜設(shè)備在體積、重量、電源持續(xù)性、易用性方面都具有很大的優(yōu)勢(shì),且成本低,便于現(xiàn)場(chǎng)人員應(yīng)用可以代替?zhèn)鹘y(tǒng)的采集設(shè)備和手段。
參考文獻(xiàn):
[1]劉莉.12322防震減災(zāi)服務(wù)平臺(tái)開(kāi)通[N].科技日?qǐng)?bào),2009(05).
[2]郭宏志.Android應(yīng)用開(kāi)發(fā)詳解[M].北京:電子工業(yè)出版社,2010.
[3]阮小康.基于GIS的信息訂閱/發(fā)布系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[D].電子科技大學(xué),2012(03).
[4]王曉青,丁香.地震現(xiàn)場(chǎng)災(zāi)害損失評(píng)估地理信息系統(tǒng)[M].北京:地震出版社,2002.
[5]趙士達(dá),張楠,楊爽.基于云計(jì)算和Android的地震應(yīng)急信息獲取系統(tǒng)[J].計(jì)算機(jī)應(yīng)用,2013(03):133-136.
[6]鄭黎輝.基于智能手機(jī)地震災(zāi)情收集處理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[D].北京郵電大學(xué),2012(10).
作者簡(jiǎn)介:張楠(1984-),男,天津人,工程師,學(xué)士,研究方向:地震應(yīng)急指揮及現(xiàn)場(chǎng)通訊;趙士達(dá)(1983-),男,天津人,工程師,碩士,研究方向:地震應(yīng)急指揮及現(xiàn)場(chǎng)通訊。
作者單位:天津市地震局,天津 300201
基金項(xiàng)目:天津市地震局青年基金課題(121009)。