- 相關推薦
家庭安防系統數據通信問題的研究
【摘 要】當今社會,家庭的安全防盜成為了重大的問題,為了維護家庭的生命財產安全,及時發現危險情況,安裝一套家庭安防系統是很有必要的,家庭安防系統的重點在于安防數據的通信,以便實時預警。本文闡述了安防系統的整個數據通信過程,并對具體的通信部分提出了解決方案,有利于實現更加安全、高效率的安防系統。
【關鍵詞】家庭安防;數據通信;Mina框架;WebService技術;手機推送
引言
隨著社會經濟的飛速發展,社會結構和社會治安都日趨復雜,入室搶竊、偷盜等諸多社會問題時有發生,使得人們對家庭生命財產的安全越來越重視。為了滿足人們對家庭安全防范的更高要求,及時發現入室搶劫等危險情況,并在第一時間內迅速通知給用戶,將險情遏制在萌芽階段,從而更好的保護住宅用戶的利益。家庭安防系統應運而生,家庭安防系統的研究,可以使用戶跨越時間、空間的阻隔進行遠程監控工作[1],提高了住宅的安全防盜性能,可以有效的保護用戶的生命財產安全,具有較高的應用價值。
家庭安防系統是基于網絡的,系統功能實現的重點在于數據通信,數據通信是通信技術和計算機技術相結合而產生的一種新的通信方式。需要把文本、圖像、視頻、音頻等元素與二進制數據進行轉換傳輸。本文在實現了一套家庭安防系統的基礎上,著重對系統的數據通信問題做出研究,并提供了一套有效的解決方案。
1 開發工具簡介
1.1 MyEclipse
MyEclipse是一個功能十分強大的企業級集成開發環境,是在eclipse的基礎上集成自己的插件開發而成的,主要用于Java還有Java EE和移動應用的開發。MyEclipse擁有完備的編碼、調試、測試和發布功能,完整支持HTML, CSS, Javascript, Struts, JSF, SQL, Hibernate。MyEclipse在結構上可以被分為7類特征:(1)J2EE模型;(2)WEB開發工具;(3)EJB開發工具;(4)應用程序服務器的連接器;(5)J2EE項目部署服務;(6)數據庫服務;(7)MyEclipse整合幫助。MyEclipse通過各種各樣的的插件來提供以上的功能。MyEclipse具有模塊化的結構,能夠對任一模塊實現單獨的升級和擴展。
1.2 Android
Android是一種操作系統,是基于Linux開發而成,開放源碼,它主要被使用于移動設備,如平板電腦和智能手機。Anroid平臺對第三方軟件是完全開放的,開發者可以更加自由的在平臺上開發程序。Android系統是不收費的,這樣可以節省開發者開發的成本。Android平臺主要擁有5大特點:(1)開放性:Android聯盟允許所有的移動終端設備廠商加入到 Android平臺;(2)擺脫運營商的制約:用戶能夠更方便地去連接網絡,減少了運營商對用戶的束縛;(3)硬件選擇更加豐富:眾多的Android設備廠商提供了五花八門、功能各式各樣的產品;(4)開發商不會受到任何的限制:Android平臺擁有一個非常寬泛、十分自由的生態環境,使得開發商不會被太多的條條框框而阻擾;(5)Google應用:Android平臺設備可以非常方便的使用Google服務。
2 系統功能簡介
家庭安防系統主要由三部分組成,硬件端采集系統、服務器管理系統和手機移動終端。硬件端利用溫度傳感器、振動傳感器與攝像頭,實現對家庭安全防盜信息的采集;服務器端對數據進行存儲分析;手機端對數據進行展示,以及防盜報警。系統主要功能是實現對家庭內部的監控,能夠采集家庭內的溫度、振動、圖像信息,并且能將這些信息發送到服務器上。當家庭內有異常(陌生人非正常進入)時,可以檢測出異常,然后通過服務器將報警信息發送到用戶的手機上。用戶可以通過手機登錄服務器來查看家中的溫度、振動、圖像信息,并且可以發送特定的指令信息給服務器,修改家庭內監控網絡的一些參數(采集頻率、開關狀態等)。
3 通信功能實現
家庭安防系統的數據通信功能主要分為三個模塊:(1)硬件端與服務器端通信:硬件端網關把采集的數據分析壓縮后上傳到服務器端,服務器端向硬件端發送監控參數設置信息;(2)服務器端與手機端通信:服務器端對硬件端上傳的數據進行存儲分析,向手機端提供數據調用的展示和異常時的報警,手機端向服務器端設置監控參數;(3)服務器端與PC客戶端通信:服務器端向PC客戶端提供數據調用的展示,PC客戶端向服務器端傳送數據操作生成的數據信息。具體的系統數據通信框架如圖1。
圖1 系統數據通信框架圖
3.1 硬件端與服務器端通信
家庭安防系統面對的用戶群非常廣泛,同一時間需要支持大量的硬件端數據上傳,而且數據上傳的頻率非常高,因此,服務器需要支持大規模的并發連接。傳統的Socket通信是阻塞的、非異步的,連接數較多將會出現資源不足的情況,程序響應出現延遲,甚至崩潰。Apache Mina是一個網絡通信應用框架,也就是說,它主要是基于UDP/IP和TCP/IP協議棧的通信框架,我們可以使用Mina 快速的開發高性能并且高擴展性的網絡通信應用,Mina 提供了基于事件驅動和異步(Mina 的異步IO 默認使用的是JAVA NIO 作為底層支持)操作的編程模型[2]。messageReceived是Mina中用于接收消息的方法,在此方法中進行消息的處理。核心代碼如下:
public void messageReceived(IoSession session, Object message)
throws Exception {
IoBuffer buffer = (IoBuffer) message;
Context ctx = getContext(session);
byte[] b = new byte[buffer.limit()];
buffer.get(b);
System.out.println(b.length);
DataOutputStream dos = ctx.getDos();
boolean isopen = ctx.isIsopen();
System.out.println(isopen);
int len = b.length;
for(int k=0;k ...
}
}
3.2 服務器端與手機端通信
3.2.1 WebService調用
WebService是一種跨編程語言和跨操作系統平臺的遠程調用技術[3],WebService使用HTTP協議進行數據傳輸,采用XML格式來封裝數據(在XML中要說明調用遠程服務對象的什么方法,傳遞的是什么參數,還有服務對象會返回什么結果)。家庭安防系統服務器端將已經開發好的功能和數據發布到網絡上某個地址,手機客戶端通過訪問這個地址獲取所需的功能。WebService發布的核心代碼如下:
public void init() {
System.out.println("Start Server...");
TestImpl implementor = new TestImpl();
String address = "http://127.0.0.1:8080/Test";
Endpoint.publish(address, implementor);
System.out.println("Server ready...");
}
服務器端提供了和手機端進行交互的各式各樣的方法,具體的WebService方法如圖2。
圖2 WebService方法
3.2.2 推送報警信息
家庭安防系統很重要的一個功能就是服務器端向手機端實時推送報警信息,目前的推送技術有幾種常用的解決方案[4]。(1)輪詢(Pull)方式:手機端會不間斷的主動連接服務器,查詢是否有推送消息到達,選取這個方式需要注意的是輪詢頻率的選擇,如果太慢,消息可能會遭到延遲,假如太快,電量和網絡會被大量消耗;(2)SMS(Push)方式:在使用Android平臺的設備上,通過對SMS消息的攔截,程序可以分析服務器推送消息的意圖,并對消息內容進行分析和處理。選取這個方案,可以完全的實現實時操作,但是運營成本是比較高的,目前基本上沒有可以免費發送短消息的網關來實現這個方案;(3)持久連接(Push)方式:這個方案能夠解決由輪詢方式帶來的消息延遲問題,但是還是會消耗手機的網絡帶寬和電池電量,也會大大增加服務器的并發連接壓力。家庭安防系統的主要目的是實時預警,及時的發現危險情況,因此推送信息的實時性是必須要保證的?紤]到報警信息所需的實時性、偶然性和信息的重要性,項目采用了第二種解決方案,通過調用短消息發送網關來實現報警信息的推送功能。
3.3 服務器端與PC客戶端通信
服務器端與PC客戶端的通信主要采用了AJAX技術,AJAX(異步JavaScript和XML)是一種創建交互式網頁應用的網頁開發技術[5]。AJAX的優點:(1)無刷新的更新數據:AJAX最大的一個優點是可以與服務器交換很少量的數據,而不用去刷新整個前端頁面;(2)與服務器異步通信:AJAX采用異步的方式和服務器進行通信,不會中斷用戶的操作,響應能力更加迅速;(3)前端與后端負載平衡:AJAX客戶端閑置時,可以為服務器端負擔一些工作,節約寬帶成本;(4)基于標準并且被廣泛支持:AJAX基于被廣泛支持而且標準化的技術,不必下載小程序或者安裝瀏覽器插件,但是客戶需要允許在瀏覽器上運行JavaScript代碼;(5)應用與界面分離:有利于提高開發效率,減少程序錯誤。
4 結語
本文從實際需求出發,闡述了一套家庭安防系統的實現,并對家庭安防系統的數據通信部分做了重點研究,提出了一系列的解決方案。實驗結果表明,系統的數據通信能力、預警的實時性都得到了顯著提高。隨著WIFI等無線通信技術的不斷發展,硬件設備的不斷更新,系統數據的傳送速率和利用效率會大大提高,家庭安防系統將會有更大的前景。
【參考文獻】
[1]王靜茹,宋紹成.城市安防領域視頻監控技術的發展與趨勢[J].黑龍江科技信息,2013,32:153+155.
[2]叢鳳俠,楊玉強.基于MINA框架的高性能短x貓服務平臺設計[J].計算機技術與發展,2013,04:213-216.
[3]李鳳云,黃迎春,馮永新.基于WebService的SOA實現技術研究[J].科技視界,2012,23:17-19.
[4]孫偉,胡霞.Android推送技術綜合分析[J].科技廣場,2013,10:126-129.
[5]安勤玲.Ajax原理、性能及其應用[J].網絡安全技術與應用,2012,02:23-25+28.
【家庭安防系統數據通信問題的研究】相關文章:
系統法學研究的若干問題03-19
某工廠智能安防系統設計方案03-18
DTTB系統中LDPC譯碼量化問題研究03-07
對數據通信技術的研究03-19
地鐵信號系統數據通信論文11-09
cdma2000系統中導頻干擾問題的研究03-07
公務法人問題研究12-06
防衛限度問題研究12-12