基于智能移動(dòng)終端的安全檢查系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
隨著電子通信技術(shù)的不斷發(fā)展,特別是Android開發(fā)技術(shù)的迅猛發(fā)展,使移動(dòng)終端不再僅僅是通信網(wǎng)絡(luò)終端,而是向著多功能、智能化方向發(fā)展,越來越多的移動(dòng)終端具有了智能操作系統(tǒng),終端和互聯(lián)網(wǎng)的無縫連接有著更加廣闊的發(fā)展空間。面對(duì)礦山安全檢查工作量大、費(fèi)用高、檢測(cè)復(fù)雜且耗時(shí)長(zhǎng)等現(xiàn)狀,本文提出了基于智能移動(dòng)終端的安全檢查系統(tǒng),它有效地解決了上述問題,同時(shí)提高了礦山安全檢查信息化水平。
本文引用地址:http://m.butianyuan.cn/article/201610/306679.htm目前隨著國(guó)家對(duì)采礦行業(yè)安全生產(chǎn)的重視,采礦行業(yè)把加強(qiáng)企業(yè)安全生產(chǎn)、安全管理作為其日常管理的重點(diǎn)。安全檢查是礦山安全管理中極其重要的組成部分,常用的方法是利用安全檢查表,發(fā)現(xiàn)和查明各種危險(xiǎn)和隱患,監(jiān)督各項(xiàng)安全規(guī)章制度的實(shí)施,及時(shí)發(fā)現(xiàn)并制止違章行為。由于這種檢查表可以事先編制并組織實(shí)施,自20世紀(jì)30年代開始應(yīng)用以來已發(fā)展成為預(yù)測(cè)和預(yù)防事故發(fā)生的重要手段。礦業(yè)公司根據(jù)多年的經(jīng)驗(yàn)總結(jié),設(shè)計(jì)了能全面反映礦山安全狀況的200多張檢查表,并分為以下4大類:H1-工種日常安全檢查表;H2-作業(yè)專項(xiàng)安全檢查表;H3-設(shè)備設(shè)施專項(xiàng)安全檢查表;H4-工藝專項(xiàng)安全檢查表。通過定期利用檢查表進(jìn)行檢查,并對(duì)結(jié)果進(jìn)行分析,能定性地對(duì)礦山安全進(jìn)行綜合評(píng)價(jià),確定其安全狀態(tài)。
安全檢查表有諸多優(yōu)點(diǎn),例如能夠事先編制,可以做到系統(tǒng)化、科學(xué)化,不漏掉任何可能導(dǎo)致事故的因素,為事故樹的繪制和分析做好準(zhǔn)備;安全檢查表也可以與安全生產(chǎn)責(zé)任制相結(jié)合,按不同的檢查對(duì)象使用不同的安全檢查表,易于分清責(zé)任,還可以提出改進(jìn)措施,并進(jìn)行檢驗(yàn);它建立在原有的安全檢查基礎(chǔ)和安全系統(tǒng)工程之上,簡(jiǎn)單易學(xué),容易掌握,符合我國(guó)現(xiàn)階段的實(shí)際情況,為安全預(yù)測(cè)和決策提供堅(jiān)實(shí)的基礎(chǔ)。盡管如此,由于安全檢查表數(shù)目繁多,為定性分析帶來了很多不便。目前使用安全檢查表的方式是攜帶紙質(zhì)版檢查表到現(xiàn)場(chǎng)檢查,然后再將結(jié)果輸入到計(jì)算機(jī)中進(jìn)行統(tǒng)計(jì)分析。這樣,一方面會(huì)大大增加檢查人員的負(fù)擔(dān),使得安全檢查表的電子化管理難以深入,另一方面,對(duì)有問題的檢查項(xiàng)目也不能及時(shí)報(bào)警。
為此,本項(xiàng)目設(shè)計(jì)了基于智能移動(dòng)終端的安全檢查系統(tǒng),它使用手持終端設(shè)備,進(jìn)行現(xiàn)場(chǎng)檢查,并及時(shí)將檢查結(jié)果上傳服務(wù)器數(shù)據(jù)庫(kù),安全管理人員通過對(duì)檢查信息進(jìn)行分析,能夠很好地對(duì)礦山安全進(jìn)行綜合評(píng)估,確定其安全狀況。
1 Android平臺(tái)與系統(tǒng)設(shè)計(jì)思想
1.1 Android平臺(tái)架構(gòu)介紹
Android是Google開發(fā)的基于Linux的開源手機(jī)開發(fā)平臺(tái),它包括操作系統(tǒng)、用戶界面和應(yīng)用程序,而且不存在任何以往阻礙移動(dòng)產(chǎn)業(yè)創(chuàng)新的專有權(quán)障礙。Android平臺(tái)自底向上由以下四層組成:Linux內(nèi)核層、運(yùn)行時(shí)庫(kù)和其他庫(kù)層、應(yīng)用框架層、應(yīng)用程序?qū)覽1-2]。圖1所示為Android平臺(tái)架構(gòu)圖。
1.2 系統(tǒng)設(shè)計(jì)思想
本系統(tǒng)運(yùn)行在Android智能移動(dòng)系統(tǒng)之上,采用B/S架構(gòu),實(shí)現(xiàn)與“安全信息管理與危險(xiǎn)預(yù)警系統(tǒng)”(該系統(tǒng)是為某礦業(yè)公司開發(fā)的、集安全管理與預(yù)警為一體的信息系統(tǒng))的無縫對(duì)接:
(1)數(shù)據(jù)存儲(chǔ)方面:在移動(dòng)終端設(shè)備上,選用嵌入式數(shù)據(jù)庫(kù)系統(tǒng)SQLite保存一個(gè)移動(dòng)數(shù)據(jù)副本,以保證系統(tǒng)在移動(dòng)終端上的常態(tài)離線工作,其結(jié)構(gòu)設(shè)計(jì)與“安全信息管理與危險(xiǎn)預(yù)警系統(tǒng)”的“安全檢查”模塊中數(shù)據(jù)庫(kù)設(shè)計(jì)基本相同(在此為區(qū)別,稱為服務(wù)器數(shù)據(jù)庫(kù)),從而保證了兩者之間數(shù)據(jù)共享;
(2)在數(shù)據(jù)傳輸方面,采用Http Socket實(shí)現(xiàn)本系統(tǒng)與服務(wù)器端“安全信息管理與危險(xiǎn)預(yù)警系統(tǒng)”的中心數(shù)據(jù)庫(kù)交互與同步。同時(shí),由于JSON是一個(gè)輕量級(jí)的XML數(shù)據(jù)交換模式,其操作簡(jiǎn)單、性能可靠,因此運(yùn)用JSON技術(shù)組織數(shù)據(jù),實(shí)現(xiàn)與服務(wù)器數(shù)據(jù)庫(kù)的傳輸,完成服務(wù)器端相關(guān)數(shù)據(jù)的實(shí)時(shí)更新;
(3)在多移動(dòng)終端同時(shí)提交數(shù)據(jù)時(shí),服務(wù)器端采用線程池監(jiān)聽各數(shù)據(jù)傳輸端口,只要有移動(dòng)終端進(jìn)行數(shù)據(jù)傳輸,服務(wù)器端就能夠從線程池中激活一個(gè)閑置線程進(jìn)行數(shù)據(jù)接收,從而實(shí)現(xiàn)了多智能移動(dòng)終端并行數(shù)據(jù)傳輸;
(4)在權(quán)限管理方面,采用智能感知不同礦區(qū)WiFi的方法,以顯示對(duì)應(yīng)礦區(qū)安全檢查表,這有效地保證了檢查人員只有到現(xiàn)場(chǎng)才能有權(quán)限進(jìn)行安全檢查,避免了檢查人員直接在辦公室內(nèi)勾選檢查表內(nèi)容。
(5)安全檢查人員在進(jìn)行現(xiàn)場(chǎng)檢查時(shí),如果遇到不合格項(xiàng),可以對(duì)不合格情況進(jìn)行拍照并上傳到服務(wù)器中心數(shù)據(jù)庫(kù),這樣地面安全管理人員能夠更加準(zhǔn)確真實(shí)地了解地下礦井情況并及時(shí)作出反應(yīng)。
2 系統(tǒng)總體設(shè)計(jì)
2.1 系統(tǒng)網(wǎng)絡(luò)架構(gòu)設(shè)計(jì)
本系統(tǒng)運(yùn)行于無線網(wǎng)絡(luò)基礎(chǔ)之上,其網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)如圖2所示。其中,為了方便,本系統(tǒng)的Web服務(wù)器與“安全信息管理與危險(xiǎn)預(yù)警系統(tǒng)”服務(wù)器運(yùn)行于同一臺(tái)機(jī)器上。
2.2 系統(tǒng)功能設(shè)計(jì)
“基于智能移動(dòng)終端的安全檢查系統(tǒng)”主要用于完成“安全信息管理與危險(xiǎn)預(yù)警系統(tǒng)”中安全檢查信息的采集,其功能結(jié)構(gòu)圖如圖3所示,主要實(shí)現(xiàn)檢查人員登錄、安全檢查表錄入、安全檢查表保存、安全檢查表提交、安全檢查表批量提交、安全檢查表刪除、安全檢查表查詢、異常情況攝像處理、WiFi感知處理等功能。
當(dāng)用戶進(jìn)行安全檢查時(shí),運(yùn)行本系統(tǒng)進(jìn)入登錄界面,輸入相應(yīng)的員工編號(hào)與密碼。如果登錄,則系統(tǒng)自動(dòng)感應(yīng)安全信息檢查人員所在區(qū)間WiFi信號(hào),以便顯示對(duì)應(yīng)的安全檢查表,這使得安全檢查人員必須在相應(yīng)的檢查礦區(qū)才能填寫安全檢查表,同時(shí),檢查過程中,如果有異常情況,可以直接攝像,并與檢查信息一起保存并提交中心數(shù)據(jù)庫(kù)。檢查表填寫好后,安全檢查人員根據(jù)所在網(wǎng)絡(luò)是否正常決定是否提交檢查表。如果網(wǎng)絡(luò)不正常,安全信息采集人員可以將檢查表信息保存在移動(dòng)終端本地,待網(wǎng)絡(luò)正常后提交;如果網(wǎng)絡(luò)正常,則可以直接提交中心數(shù)據(jù)庫(kù),并自動(dòng)保存一個(gè)副本在移動(dòng)終端本地,另外,只有具備一定權(quán)限的管理人員才可以刪除檢查表。運(yùn)行流程如圖4所示。
3 關(guān)鍵技術(shù)實(shí)現(xiàn)
3.1 Socket數(shù)據(jù)通信的實(shí)現(xiàn)
本系統(tǒng)基于Android操作系統(tǒng)開發(fā)。系統(tǒng)采用SQLite數(shù)據(jù)庫(kù)保存安全檢查信息,SQLiteDatabase和SQLilteOpenHelper對(duì)象封裝了操作SQLite數(shù)據(jù)的各種方法,系統(tǒng)通過調(diào)用其方法來操作數(shù)據(jù)庫(kù)以實(shí)現(xiàn)數(shù)據(jù)的保存、顯示等功能。
當(dāng)用戶采集完安全檢查信息進(jìn)行數(shù)據(jù)提交時(shí),系統(tǒng)創(chuàng)建一個(gè)Socket對(duì)象來建立與服務(wù)器的通信連接,通過Socket對(duì)象獲取輸入、輸出流與服務(wù)器端進(jìn)行數(shù)據(jù)交互。為了很好地組織傳輸數(shù)據(jù)格式,系統(tǒng)采用JSON技術(shù),JSON是一種輕量級(jí)的數(shù)據(jù)交換格式,按照“名稱/值對(duì)”的形式組織數(shù)據(jù)。系統(tǒng)通過創(chuàng)建一個(gè)JSON數(shù)組對(duì)象來組織要傳輸?shù)臄?shù)據(jù),最后通過Socket對(duì)象將JSON數(shù)據(jù)傳輸?shù)椒?wù)器端??蛻舳薙ocket創(chuàng)建核心代碼如下所示:
Socket socket = new Socket(InetAddress,int post);
//創(chuàng)建Socket對(duì)象
//獲取輸入輸出流對(duì)象
DataInputStream in = new DataInputStream
(socket.getInputStream());
DataOutputStream out = new DataOutputStream
(socket.getOutputStream ());
//創(chuàng)建JSON數(shù)組對(duì)象來封裝傳輸數(shù)據(jù)
JSONArray json = new JSONArray();
//創(chuàng)建ContentValues對(duì)象存儲(chǔ)“名稱/值對(duì)”
ContentValues values = new ContentValues();
服務(wù)器端通過開啟一個(gè)主線程來監(jiān)聽數(shù)據(jù)傳輸端口,當(dāng)服務(wù)器端主線程監(jiān)聽到端口有客戶端連接請(qǐng)求時(shí),服務(wù)器端就會(huì)創(chuàng)建一個(gè)線程池對(duì)象,并從中提取一個(gè)閑置的線程來管理用戶連接請(qǐng)求并與客戶端數(shù)據(jù)傳輸交互之間的管理,這很好地實(shí)現(xiàn)了服務(wù)器端支持多用戶并行傳輸數(shù)據(jù)的功能[3-5]。服務(wù)器端核心代碼如下:
//創(chuàng)建主線程監(jiān)聽8070數(shù)據(jù)傳輸端口
new Thread(new Runnable(){
public void run(){
try{/創(chuàng)建一個(gè)數(shù)據(jù)接收處理對(duì)象
new Server(8070);
}catch(Exception e){……}
}
}).start();
//數(shù)據(jù)接收處理類內(nèi)部核心代碼:
Public Server(int port){
//創(chuàng)建ServerSocket對(duì)象監(jiān)聽數(shù)據(jù)端口
server = new ServerSocket(port);
//通過ServerSocket對(duì)象得到Socket對(duì)象
socket = server.accept();
//創(chuàng)建線程池,池中具有(cpu個(gè)數(shù)*50)條線程
excutorService=Executors.newFixedThreadPool
(Runtime.getRuntime().availableProcessors()*50);
//為了支持多用戶并發(fā)訪問,采用線程池管理每個(gè)用戶的
連接請(qǐng)求
excutorService.execute(new SocketTask())
/*SocketTask為服務(wù)器端數(shù)據(jù)接收處理類,
根據(jù)傳輸數(shù)據(jù)格式來解釋JSON字符串?dāng)?shù)組*/
} //數(shù)據(jù)處理類構(gòu)造函數(shù)
3.2 WiFi感應(yīng)技術(shù)的實(shí)現(xiàn)
系統(tǒng)為了保證安全檢查人員進(jìn)行現(xiàn)場(chǎng)采集安全檢查信息,采用WiFi感應(yīng)技術(shù)來感應(yīng)不同礦區(qū)的WiFi,并通過不同礦區(qū)的WiFi綁定數(shù)據(jù)中對(duì)應(yīng)礦區(qū)的安全檢查表來顯示對(duì)應(yīng)檢查表。這實(shí)現(xiàn)了WiFi自動(dòng)感應(yīng)檢查表功能,從而保證了安全檢查信息采集的真實(shí)性、可靠性,為后期定性分析礦山綜合狀況提供重要保障[3-5]。WiFi感應(yīng)技術(shù)核心代碼:
//通過WifiAdmin類創(chuàng)建一個(gè)WiFi操作對(duì)象
public WifiAdmin(Context context){
//通過調(diào)用系統(tǒng)服務(wù)獲取一個(gè)WiFi管理對(duì)象wifiManager
wifiManager = (WifiManager)context.getSystemService
(Context.WIFI_SERVICE);
//通過wifiManager對(duì)象獲取一個(gè)WiFi信息對(duì)象
wifiInfo = wifiManger.getConnectionInfo();
}
程序通過wifiManger和wifiInfo兩對(duì)象的相關(guān)方法來操作終端設(shè)備WiFi,實(shí)現(xiàn)感應(yīng)連接礦區(qū)附近WiFi。
4 系統(tǒng)運(yùn)行與特點(diǎn)
安全檢查是安全管理的重要內(nèi)容,是識(shí)別和發(fā)現(xiàn)不安全因素、揭示和消除事故隱患、加強(qiáng)防護(hù)措施、預(yù)防事故和職業(yè)危害的重要手段。而安全檢查系統(tǒng)是運(yùn)行在智能移動(dòng)終端的智能安全信息采集系統(tǒng),圖5是運(yùn)行在智能移動(dòng)終端的安全檢查系統(tǒng)圖,其中,每條檢查項(xiàng)后面的小圖標(biāo)表示進(jìn)行攝像處理。
本文介紹了Android智能操作系統(tǒng)和系統(tǒng)總體設(shè)計(jì),著重分析了HttpSocket通信技術(shù)的實(shí)現(xiàn)。在HttpSocket通信采用JSON技術(shù)進(jìn)行組織通信數(shù)據(jù),為了支持多用戶并行傳輸數(shù)據(jù),服務(wù)器端采用線程池來監(jiān)聽數(shù)據(jù)傳輸端口,實(shí)現(xiàn)對(duì)每個(gè)用戶連接的請(qǐng)求管理,同時(shí)講解了WiFi感應(yīng)技術(shù)的實(shí)現(xiàn)。使系統(tǒng)成為一個(gè)智能的礦山信息采集系統(tǒng)。隨著通信技術(shù)的迅猛發(fā)展,我國(guó)將會(huì)更加重視安全檢查的信息化、智能化,基于智能移動(dòng)終端的安全檢查系統(tǒng)將會(huì)為采礦行業(yè)帶來巨大的經(jīng)濟(jì)效益和社會(huì)效益。
評(píng)論