基于云計(jì)算的移動(dòng)視頻報(bào)警系統(tǒng)研究
摘 要:隨著視頻解碼與通信技術(shù)的不斷發(fā)展,利用智能手機(jī)進(jìn)行實(shí)時(shí)查看攝像頭的信息成為了可能。本設(shè)計(jì)是一套基于云計(jì)算的移動(dòng)視頻報(bào)警系統(tǒng),可以很好的起到安防的效果。該設(shè)計(jì)介紹了該系統(tǒng)的硬件平臺(tái)和體系結(jié)構(gòu)
摘 要:隨著視頻解碼與通信技術(shù)的不斷發(fā)展,利用智能手機(jī)進(jìn)行實(shí)時(shí)查看攝像頭的信息成為了可能。本設(shè)計(jì)是一套基于云計(jì)算的移動(dòng)視頻報(bào)警系統(tǒng),可以很好的起到安防的效果。該設(shè)計(jì)介紹了該系統(tǒng)的硬件平臺(tái)和體系結(jié)構(gòu),重點(diǎn)論述了設(shè)計(jì)中所需要的關(guān)鍵技術(shù),并且系統(tǒng)地研究了如何構(gòu)造一個(gè)海量的云存儲(chǔ)服務(wù)器平臺(tái),實(shí)現(xiàn)對(duì)手持終端上的視頻流的云存儲(chǔ)與實(shí)時(shí)監(jiān)控,最后經(jīng)過(guò)測(cè)試,驗(yàn)證了設(shè)計(jì)的有效性。
關(guān)鍵詞:移動(dòng)視頻監(jiān)控 安防 無(wú)線(xiàn)網(wǎng)絡(luò) 云計(jì)算 報(bào)警
視頻監(jiān)控一直以來(lái)都在我們的生活中起著關(guān)鍵的作用,以前主要應(yīng)用于安防和交通方面,而今天無(wú)論在教育、醫(yī)療、政府、酒店、公司等各個(gè)領(lǐng)域都在應(yīng)用。智能手機(jī)、視頻編碼和無(wú)線(xiàn)網(wǎng)絡(luò)等技術(shù)的不斷發(fā)展,使傳統(tǒng)網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng)已經(jīng)不能滿(mǎn)足人們的需要,移動(dòng)視頻監(jiān)控系統(tǒng)正在不斷的深入到我們生活中。隨著視頻編碼AndroidH.264流媒體與通信技術(shù)的飛速發(fā)展,嵌入式智能終端對(duì)于多媒體處理能力的提高以及人們對(duì)安全的需求不斷增強(qiáng),為視頻監(jiān)控業(yè)務(wù)在移動(dòng)智能終端的應(yīng)用提供了廣闊的前景。此項(xiàng)目是開(kāi)發(fā)了一個(gè)通過(guò)基于Android的客戶(hù)端的視頻監(jiān)控移動(dòng)終端的軟件,可以很好的起到安防家居的效果,利用手機(jī)實(shí)現(xiàn)移動(dòng)視頻監(jiān)控,其優(yōu)勢(shì)非常明顯,主要表現(xiàn)在以下幾個(gè)方面。
其一,網(wǎng)絡(luò)健全,覆蓋面廣。目前,中國(guó)移動(dòng)的GPRS網(wǎng)絡(luò)、中國(guó)聯(lián)通的CDMA網(wǎng)絡(luò)、中國(guó)電信的ADSL覆蓋范圍已經(jīng)非常廣,幾乎無(wú)處不在,使用手機(jī)監(jiān)控,幾乎不受區(qū)域限制。
其二,使用成本低。由于目前移動(dòng)數(shù)據(jù)業(yè)務(wù)量不大,移動(dòng)運(yùn)營(yíng)商為了鼓勵(lì)使用數(shù)據(jù)業(yè)務(wù),采用了很多優(yōu)惠措施。在移動(dòng)數(shù)據(jù)興起以后,移動(dòng)數(shù)據(jù)業(yè)務(wù)的費(fèi)用會(huì)大幅度降低。
其三,及時(shí)有效。由于手機(jī)視頻監(jiān)控,是實(shí)時(shí)監(jiān)看,同手機(jī)短信、手機(jī)彩信等及時(shí)通訊結(jié)合起來(lái),更加及時(shí)方便。
其四,報(bào)警確認(rèn)。目前,誤報(bào)警的比例非常高,同時(shí)要花費(fèi)大量的人力和財(cái)力,利用手機(jī)即時(shí)通訊的功能和手機(jī)視頻監(jiān)控,可以很方便地解決報(bào)警確認(rèn)問(wèn)題。
圖1 系統(tǒng)框圖
該系統(tǒng)包含三個(gè)部分,物聯(lián)網(wǎng)硬件部分、云服務(wù)器部分、手機(jī)客戶(hù)端。其中,物聯(lián)網(wǎng)硬件部分完成視頻采集,以及紅外、煙感技術(shù)信息的采集;云服務(wù)器完成用戶(hù)管理,它是手機(jī)和物聯(lián)網(wǎng)之間的紐帶;手機(jī)客戶(hù)端用戶(hù)查看。
含義是:DVR_CID:攝像頭配置CID-Not NULL unique auto_increment,不同于DVR_ID,DVR_ID是DVR連上服務(wù)器后生成的唯一標(biāo)識(shí)該設(shè)備的ID
UID:用戶(hù)注冊(cè)的ID
DVR_PID:攝像頭用戶(hù)名(出廠(chǎng)設(shè)備號(hào)/識(shí)別碼)
PWD1:攝像頭機(jī)器密碼
PWD2:攝像頭訪(fǎng)問(wèn)密碼
紅外線(xiàn)傳感設(shè)備、煙霧傳感設(shè)備:兩種設(shè)備的引用克服了以往傳統(tǒng)監(jiān)控的缺陷。此設(shè)計(jì)利用兩種設(shè)備進(jìn)行視頻報(bào)警,當(dāng)家里出現(xiàn)陌生人時(shí)紅外線(xiàn)可以感知,并且迅速報(bào)警給攝像頭,攝像頭通過(guò)服務(wù)器可以傳送到手機(jī)告知用戶(hù),此時(shí)用戶(hù)通過(guò)手機(jī)可以實(shí)時(shí)查看家里的攝像頭,可以起到安防的效果。煙霧報(bào)警設(shè)備主要是指當(dāng)家里發(fā)生火災(zāi)時(shí),可以迅速通過(guò)它然后報(bào)警給攝像頭,攝像頭通過(guò)服務(wù)器端傳送到手機(jī)。
圖2 云服務(wù)器圖
云服務(wù)器各個(gè)模塊的工作流程包括數(shù)據(jù)采集模塊、數(shù)據(jù)接收模塊以及視頻存儲(chǔ)與轉(zhuǎn)發(fā)模塊。云服務(wù)器起到客戶(hù)端與手機(jī)終端傳輸?shù)募~帶作用,當(dāng)用戶(hù)登錄系統(tǒng)時(shí)需要輸入用戶(hù)名和密碼(此時(shí)已經(jīng)注冊(cè)好用戶(hù)名和密碼),注冊(cè)時(shí)采用的是TCP協(xié)議,此時(shí)由客戶(hù)端軟件將用戶(hù)信息發(fā)送到服務(wù)器進(jìn)行驗(yàn)證,驗(yàn)證過(guò)后,服務(wù)器也將給客戶(hù)端回復(fù)一個(gè)確認(rèn),如果輸入正確,則打開(kāi)系統(tǒng),否則關(guān)閉系統(tǒng)。進(jìn)入系統(tǒng)之后,用戶(hù)可以選擇網(wǎng)絡(luò)攝像機(jī),接下來(lái)向服務(wù)器發(fā)送視頻請(qǐng)求。當(dāng)客戶(hù)端發(fā)送視頻請(qǐng)求之后,服務(wù)器會(huì)向客戶(hù)端開(kāi)始發(fā)送視頻數(shù)據(jù)。監(jiān)控過(guò)程中,Android移動(dòng)終端可以設(shè)置不同的通道進(jìn)行相互切換,當(dāng)用戶(hù)需要關(guān)閉視頻傳輸時(shí),應(yīng)該首先向服務(wù)器發(fā)送請(qǐng)求,然后關(guān)閉客戶(hù)端視頻播放線(xiàn)程,最后退出程序。
安防系統(tǒng):當(dāng)進(jìn)入安防功能界面之后,里面含有實(shí)時(shí)視頻按鈕、告警歷史按鈕集和設(shè)備管理按鈕,當(dāng)點(diǎn)擊【實(shí)時(shí)視頻】圖標(biāo)之后,系統(tǒng)進(jìn)入已經(jīng)添加的攝像頭列表,并且可以進(jìn)行實(shí)時(shí)視頻的查看。其通過(guò)實(shí)時(shí)傳輸協(xié)議(RTP)將壓縮后的監(jiān)控視頻數(shù)據(jù)發(fā)送給移動(dòng)控制終端。
離線(xiàn)設(shè)置:對(duì)于用戶(hù)想要進(jìn)行離線(xiàn)設(shè)置,則只需要點(diǎn)擊主頁(yè)面的【離線(xiàn)】圖標(biāo),進(jìn)入離線(xiàn)設(shè)備list頁(yè)面。當(dāng)用戶(hù)在歷史記錄中點(diǎn)擊圖片按鈕,手機(jī)查看本地是否已經(jīng)有該圖片,否則APP發(fā)送信息到服務(wù)器請(qǐng)求傳送圖片。
二維碼直接掃描:添加或者刪除報(bào)警設(shè)備、添加或者刪除開(kāi)關(guān)、添加或者刪除防丟設(shè)備都可以采用二維碼直接掃描的方式,方便、便捷并且有效。
圖3 云計(jì)算結(jié)構(gòu)圖 圖4 MapReduce 模型
并行編程:本系統(tǒng)采用的是Google開(kāi)發(fā)的MapReduce并行編程模型,該模型的核心思想是將要執(zhí)行的問(wèn)題分解成Map(映射)和Reduce(化簡(jiǎn))的方式,如圖4所示,假設(shè)有M個(gè)Map操作和R個(gè)Reduce操作,先通過(guò)Map程序?qū)?shù)據(jù)切割成不相關(guān)的區(qū)塊,分配(調(diào)度)給大量計(jì)算機(jī)處理,達(dá)到分布式運(yùn)算的效果,再通過(guò)Reduce程序?qū)⒔Y(jié)果匯整輸出。使用MapReduce開(kāi)發(fā)并行處理程序時(shí),需要編寫(xiě)兩個(gè)函數(shù):
(1)Map:(in_key,in_value)?{(keyj,valuej)|j=1…k};其中輸入?yún)?shù)in_key和in_value表示Map需要處理的原始數(shù)據(jù),(keyj,valuej)是輸出結(jié)果對(duì),是經(jīng)過(guò)Map操作后產(chǎn)生的中間結(jié)果。
(2)Reduce:(key,[value1,…,valuem])?(key,final_value);其中(key,[value1,…,valuem])是Reduce的輸入?yún)?shù),Reduce將輸入?yún)?shù)中相同的Key對(duì)應(yīng)的Reduce進(jìn)行歸并處理,最終形成(key,final_value)的結(jié)果。
分布存儲(chǔ):云計(jì)算系統(tǒng)采用分布式存儲(chǔ)數(shù)據(jù),使用冗余存儲(chǔ)的方式保證數(shù)據(jù)的可靠性,本系統(tǒng)采用的是Google的GFS(Google File System)文件系統(tǒng),該系統(tǒng)可以運(yùn)行于普通的硬件上,為大量的用戶(hù)提供高性能的服務(wù)。
數(shù)據(jù)管理方面:本系統(tǒng)采用的是Google的BT(BigTable)數(shù)據(jù)管理技術(shù),與傳統(tǒng)的關(guān)系數(shù)據(jù)庫(kù)不同,它把所有數(shù)據(jù)都作為對(duì)象來(lái)處理,形成一個(gè)巨大的表格,用來(lái)分布存儲(chǔ)大規(guī)模結(jié)構(gòu)化數(shù)據(jù)。
虛擬化技術(shù)將軟件應(yīng)用與底層硬件相隔離,該技術(shù)可以將單個(gè)資源劃分成多個(gè)虛擬資源的裂分模式,也可以將多個(gè)資源整合成一個(gè)虛擬資源的聚合模式。
在Java中,多線(xiàn)程的實(shí)現(xiàn)有兩種方式:擴(kuò)展java.lang.Thread類(lèi)或?qū)崿F(xiàn)java.lang.Runnable接口。這里通過(guò)繼承Thread類(lèi)并覆寫(xiě)run()方法實(shí)現(xiàn)兩個(gè)子線(xiàn)程。在多線(xiàn)程的應(yīng)用中關(guān)鍵是處理好線(xiàn)程之間的同步問(wèn)題,以解決對(duì)共享存儲(chǔ)區(qū)的訪(fǎng)問(wèn)沖突,避免引起線(xiàn)程甚至整個(gè)系統(tǒng)的死鎖。Java多線(xiàn)程主要利用synchronized關(guān)鍵字和wait()、notify()等方法實(shí)現(xiàn)線(xiàn)程間的同步。
圖5 網(wǎng)絡(luò)穿透方案圖
由于手機(jī)和攝像頭的IP地址有可能相同也有可能不同,手機(jī)又是移動(dòng)設(shè)備,攝像頭是固定設(shè)備,隨著手機(jī)的移動(dòng),IP地址也很有可能在不斷的變化,要想實(shí)現(xiàn)手機(jī)可以隨時(shí)隨地進(jìn)行實(shí)時(shí)監(jiān)控,就必須采用網(wǎng)絡(luò)穿透技術(shù)來(lái)解決這個(gè)問(wèn)題。由于T2U方案可以解決TCP NAT穿透的問(wèn)題,所以可以采用此方案。
Libt2u是一個(gè)實(shí)現(xiàn)TCP穿越網(wǎng)關(guān)并與遠(yuǎn)端設(shè)備建立P2P連接的開(kāi)發(fā)庫(kù),它可以在不修改原有通信協(xié)議的基礎(chǔ)上,幫助終端實(shí)現(xiàn)客戶(hù)端與設(shè)備的P2P直連,可以讓設(shè)備達(dá)到即插即用的效果。
T2uSvr和Libt2u作為2個(gè)代理,分別運(yùn)行在設(shè)備端和客戶(hù)端,兩個(gè)代理之間通過(guò)P2P NA技術(shù)建立連接,依靠自主研發(fā)的UDP可靠數(shù)據(jù)傳輸和擁塞控制算法進(jìn)行數(shù)據(jù)通信,再加上端口轉(zhuǎn)發(fā)技術(shù),實(shí)現(xiàn)了將遠(yuǎn)端設(shè)備的任意端口映射到客戶(hù)機(jī)本地。于是在不知道設(shè)備IP地址,也沒(méi)有在路由器上做端口映射的情況下,通過(guò)TCP連接本地端口達(dá)到連接設(shè)備的目的。
圖6 報(bào)警信息記錄
關(guān)鍵詞:移動(dòng)視頻監(jiān)控 安防 無(wú)線(xiàn)網(wǎng)絡(luò) 云計(jì)算 報(bào)警
視頻監(jiān)控一直以來(lái)都在我們的生活中起著關(guān)鍵的作用,以前主要應(yīng)用于安防和交通方面,而今天無(wú)論在教育、醫(yī)療、政府、酒店、公司等各個(gè)領(lǐng)域都在應(yīng)用。智能手機(jī)、視頻編碼和無(wú)線(xiàn)網(wǎng)絡(luò)等技術(shù)的不斷發(fā)展,使傳統(tǒng)網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng)已經(jīng)不能滿(mǎn)足人們的需要,移動(dòng)視頻監(jiān)控系統(tǒng)正在不斷的深入到我們生活中。隨著視頻編碼AndroidH.264流媒體與通信技術(shù)的飛速發(fā)展,嵌入式智能終端對(duì)于多媒體處理能力的提高以及人們對(duì)安全的需求不斷增強(qiáng),為視頻監(jiān)控業(yè)務(wù)在移動(dòng)智能終端的應(yīng)用提供了廣闊的前景。此項(xiàng)目是開(kāi)發(fā)了一個(gè)通過(guò)基于Android的客戶(hù)端的視頻監(jiān)控移動(dòng)終端的軟件,可以很好的起到安防家居的效果,利用手機(jī)實(shí)現(xiàn)移動(dòng)視頻監(jiān)控,其優(yōu)勢(shì)非常明顯,主要表現(xiàn)在以下幾個(gè)方面。
其一,網(wǎng)絡(luò)健全,覆蓋面廣。目前,中國(guó)移動(dòng)的GPRS網(wǎng)絡(luò)、中國(guó)聯(lián)通的CDMA網(wǎng)絡(luò)、中國(guó)電信的ADSL覆蓋范圍已經(jīng)非常廣,幾乎無(wú)處不在,使用手機(jī)監(jiān)控,幾乎不受區(qū)域限制。
其二,使用成本低。由于目前移動(dòng)數(shù)據(jù)業(yè)務(wù)量不大,移動(dòng)運(yùn)營(yíng)商為了鼓勵(lì)使用數(shù)據(jù)業(yè)務(wù),采用了很多優(yōu)惠措施。在移動(dòng)數(shù)據(jù)興起以后,移動(dòng)數(shù)據(jù)業(yè)務(wù)的費(fèi)用會(huì)大幅度降低。
其三,及時(shí)有效。由于手機(jī)視頻監(jiān)控,是實(shí)時(shí)監(jiān)看,同手機(jī)短信、手機(jī)彩信等及時(shí)通訊結(jié)合起來(lái),更加及時(shí)方便。
其四,報(bào)警確認(rèn)。目前,誤報(bào)警的比例非常高,同時(shí)要花費(fèi)大量的人力和財(cái)力,利用手機(jī)即時(shí)通訊的功能和手機(jī)視頻監(jiān)控,可以很方便地解決報(bào)警確認(rèn)問(wèn)題。
1 系統(tǒng)設(shè)計(jì)
系統(tǒng)總框圖如下所示:圖1 系統(tǒng)框圖
該系統(tǒng)包含三個(gè)部分,物聯(lián)網(wǎng)硬件部分、云服務(wù)器部分、手機(jī)客戶(hù)端。其中,物聯(lián)網(wǎng)硬件部分完成視頻采集,以及紅外、煙感技術(shù)信息的采集;云服務(wù)器完成用戶(hù)管理,它是手機(jī)和物聯(lián)網(wǎng)之間的紐帶;手機(jī)客戶(hù)端用戶(hù)查看。
1.1 物聯(lián)網(wǎng)硬件部分
攝像頭:當(dāng)進(jìn)入報(bào)警設(shè)備配置界面,手機(jī)APP將展示設(shè)備列表,設(shè)備列表事實(shí)上分兩級(jí),一級(jí)是攝像頭列表,第二級(jí)是攝像頭管控的所有報(bào)警設(shè)備列表。手機(jī)APP在進(jìn)入某級(jí)列表后主動(dòng)向服務(wù)器發(fā)送查詢(xún)請(qǐng)求,服務(wù)器會(huì)將最新配置的一定數(shù)量的攝像頭發(fā)給手機(jī)App,在服務(wù)器所連接的數(shù)據(jù)庫(kù)中,服務(wù)器按如下方式存儲(chǔ)攝像頭列表:DVR_CID|UID|DVR_PID|PWD1|PWD2|含義是:DVR_CID:攝像頭配置CID-Not NULL unique auto_increment,不同于DVR_ID,DVR_ID是DVR連上服務(wù)器后生成的唯一標(biāo)識(shí)該設(shè)備的ID
UID:用戶(hù)注冊(cè)的ID
DVR_PID:攝像頭用戶(hù)名(出廠(chǎng)設(shè)備號(hào)/識(shí)別碼)
PWD1:攝像頭機(jī)器密碼
PWD2:攝像頭訪(fǎng)問(wèn)密碼
紅外線(xiàn)傳感設(shè)備、煙霧傳感設(shè)備:兩種設(shè)備的引用克服了以往傳統(tǒng)監(jiān)控的缺陷。此設(shè)計(jì)利用兩種設(shè)備進(jìn)行視頻報(bào)警,當(dāng)家里出現(xiàn)陌生人時(shí)紅外線(xiàn)可以感知,并且迅速報(bào)警給攝像頭,攝像頭通過(guò)服務(wù)器可以傳送到手機(jī)告知用戶(hù),此時(shí)用戶(hù)通過(guò)手機(jī)可以實(shí)時(shí)查看家里的攝像頭,可以起到安防的效果。煙霧報(bào)警設(shè)備主要是指當(dāng)家里發(fā)生火災(zāi)時(shí),可以迅速通過(guò)它然后報(bào)警給攝像頭,攝像頭通過(guò)服務(wù)器端傳送到手機(jī)。
1.2 云服務(wù)器部分
云服務(wù)器框圖如下所示:圖2 云服務(wù)器圖
云服務(wù)器各個(gè)模塊的工作流程包括數(shù)據(jù)采集模塊、數(shù)據(jù)接收模塊以及視頻存儲(chǔ)與轉(zhuǎn)發(fā)模塊。云服務(wù)器起到客戶(hù)端與手機(jī)終端傳輸?shù)募~帶作用,當(dāng)用戶(hù)登錄系統(tǒng)時(shí)需要輸入用戶(hù)名和密碼(此時(shí)已經(jīng)注冊(cè)好用戶(hù)名和密碼),注冊(cè)時(shí)采用的是TCP協(xié)議,此時(shí)由客戶(hù)端軟件將用戶(hù)信息發(fā)送到服務(wù)器進(jìn)行驗(yàn)證,驗(yàn)證過(guò)后,服務(wù)器也將給客戶(hù)端回復(fù)一個(gè)確認(rèn),如果輸入正確,則打開(kāi)系統(tǒng),否則關(guān)閉系統(tǒng)。進(jìn)入系統(tǒng)之后,用戶(hù)可以選擇網(wǎng)絡(luò)攝像機(jī),接下來(lái)向服務(wù)器發(fā)送視頻請(qǐng)求。當(dāng)客戶(hù)端發(fā)送視頻請(qǐng)求之后,服務(wù)器會(huì)向客戶(hù)端開(kāi)始發(fā)送視頻數(shù)據(jù)。監(jiān)控過(guò)程中,Android移動(dòng)終端可以設(shè)置不同的通道進(jìn)行相互切換,當(dāng)用戶(hù)需要關(guān)閉視頻傳輸時(shí),應(yīng)該首先向服務(wù)器發(fā)送請(qǐng)求,然后關(guān)閉客戶(hù)端視頻播放線(xiàn)程,最后退出程序。
1.3 手機(jī)客戶(hù)端
登錄系統(tǒng):進(jìn)入系統(tǒng)后進(jìn)入用戶(hù)登錄界面,點(diǎn)擊“注冊(cè)”跳轉(zhuǎn)到“用戶(hù)協(xié)議”頁(yè)面。在登錄頁(yè)面中,分為公共部分操作欄和主要功能展示區(qū),里面的每個(gè)輸入框都需要注釋輸入格式,在用戶(hù)輸入完成需要注冊(cè)的用戶(hù)名后,需要標(biāo)識(shí)當(dāng)前用戶(hù)名是否可以被用戶(hù)名注冊(cè)。采用了手勢(shì)密碼的設(shè)置,對(duì)于手勢(shì)密碼的好處是防止其他人拿到手機(jī)之后想要玩這個(gè)安防軟件,結(jié)果導(dǎo)致家里的隱私曝光。安防系統(tǒng):當(dāng)進(jìn)入安防功能界面之后,里面含有實(shí)時(shí)視頻按鈕、告警歷史按鈕集和設(shè)備管理按鈕,當(dāng)點(diǎn)擊【實(shí)時(shí)視頻】圖標(biāo)之后,系統(tǒng)進(jìn)入已經(jīng)添加的攝像頭列表,并且可以進(jìn)行實(shí)時(shí)視頻的查看。其通過(guò)實(shí)時(shí)傳輸協(xié)議(RTP)將壓縮后的監(jiān)控視頻數(shù)據(jù)發(fā)送給移動(dòng)控制終端。
離線(xiàn)設(shè)置:對(duì)于用戶(hù)想要進(jìn)行離線(xiàn)設(shè)置,則只需要點(diǎn)擊主頁(yè)面的【離線(xiàn)】圖標(biāo),進(jìn)入離線(xiàn)設(shè)備list頁(yè)面。當(dāng)用戶(hù)在歷史記錄中點(diǎn)擊圖片按鈕,手機(jī)查看本地是否已經(jīng)有該圖片,否則APP發(fā)送信息到服務(wù)器請(qǐng)求傳送圖片。
二維碼直接掃描:添加或者刪除報(bào)警設(shè)備、添加或者刪除開(kāi)關(guān)、添加或者刪除防丟設(shè)備都可以采用二維碼直接掃描的方式,方便、便捷并且有效。
2 關(guān)鍵技術(shù)
由于具有報(bào)警和實(shí)時(shí)監(jiān)控,主要關(guān)鍵技術(shù)包含三部分:云計(jì)算技術(shù)、手機(jī)客戶(hù)端消息分發(fā)技術(shù)、網(wǎng)絡(luò)穿透功能技術(shù)。2.1 云計(jì)算技術(shù)
如圖3所示,NIST將云計(jì)算定義為用戶(hù)可以方便地、按需通過(guò)網(wǎng)絡(luò)訪(fǎng)問(wèn)共享資源池(網(wǎng)絡(luò)、服務(wù)器、存儲(chǔ)、應(yīng)用和服務(wù)等),并且具有快速部署、最小的管理代價(jià)或最少的服務(wù)提供商干預(yù)的一種新型IT基礎(chǔ)運(yùn)營(yíng)模式。云計(jì)算技術(shù)是在服務(wù)器、存儲(chǔ)器和網(wǎng)絡(luò)設(shè)備等硬件的基礎(chǔ)上運(yùn)用并行編程、數(shù)據(jù)管理、分布式存儲(chǔ)、虛擬化技術(shù)來(lái)實(shí)現(xiàn)的。圖3 云計(jì)算結(jié)構(gòu)圖 圖4 MapReduce 模型
并行編程:本系統(tǒng)采用的是Google開(kāi)發(fā)的MapReduce并行編程模型,該模型的核心思想是將要執(zhí)行的問(wèn)題分解成Map(映射)和Reduce(化簡(jiǎn))的方式,如圖4所示,假設(shè)有M個(gè)Map操作和R個(gè)Reduce操作,先通過(guò)Map程序?qū)?shù)據(jù)切割成不相關(guān)的區(qū)塊,分配(調(diào)度)給大量計(jì)算機(jī)處理,達(dá)到分布式運(yùn)算的效果,再通過(guò)Reduce程序?qū)⒔Y(jié)果匯整輸出。使用MapReduce開(kāi)發(fā)并行處理程序時(shí),需要編寫(xiě)兩個(gè)函數(shù):
(1)Map:(in_key,in_value)?{(keyj,valuej)|j=1…k};其中輸入?yún)?shù)in_key和in_value表示Map需要處理的原始數(shù)據(jù),(keyj,valuej)是輸出結(jié)果對(duì),是經(jīng)過(guò)Map操作后產(chǎn)生的中間結(jié)果。
(2)Reduce:(key,[value1,…,valuem])?(key,final_value);其中(key,[value1,…,valuem])是Reduce的輸入?yún)?shù),Reduce將輸入?yún)?shù)中相同的Key對(duì)應(yīng)的Reduce進(jìn)行歸并處理,最終形成(key,final_value)的結(jié)果。
分布存儲(chǔ):云計(jì)算系統(tǒng)采用分布式存儲(chǔ)數(shù)據(jù),使用冗余存儲(chǔ)的方式保證數(shù)據(jù)的可靠性,本系統(tǒng)采用的是Google的GFS(Google File System)文件系統(tǒng),該系統(tǒng)可以運(yùn)行于普通的硬件上,為大量的用戶(hù)提供高性能的服務(wù)。
數(shù)據(jù)管理方面:本系統(tǒng)采用的是Google的BT(BigTable)數(shù)據(jù)管理技術(shù),與傳統(tǒng)的關(guān)系數(shù)據(jù)庫(kù)不同,它把所有數(shù)據(jù)都作為對(duì)象來(lái)處理,形成一個(gè)巨大的表格,用來(lái)分布存儲(chǔ)大規(guī)模結(jié)構(gòu)化數(shù)據(jù)。
虛擬化技術(shù)將軟件應(yīng)用與底層硬件相隔離,該技術(shù)可以將單個(gè)資源劃分成多個(gè)虛擬資源的裂分模式,也可以將多個(gè)資源整合成一個(gè)虛擬資源的聚合模式。
2.2 手機(jī)客戶(hù)端消息分發(fā)技術(shù)
視頻數(shù)據(jù)的接收和解碼都是復(fù)雜、持續(xù)的過(guò)程,如果其中一個(gè)過(guò)程出現(xiàn)阻塞會(huì)影響整個(gè)程序的運(yùn)行。因此,客戶(hù)端使用多線(xiàn)程實(shí)現(xiàn)數(shù)據(jù)接收和視頻解碼的并行處理。在整個(gè)程序運(yùn)行過(guò)程中,主線(xiàn)程響應(yīng)用戶(hù)操作,負(fù)責(zé)屏幕刷新工作,并創(chuàng)建兩個(gè)子線(xiàn)程:數(shù)據(jù)接收和視頻解碼子線(xiàn)程。在Java中,多線(xiàn)程的實(shí)現(xiàn)有兩種方式:擴(kuò)展java.lang.Thread類(lèi)或?qū)崿F(xiàn)java.lang.Runnable接口。這里通過(guò)繼承Thread類(lèi)并覆寫(xiě)run()方法實(shí)現(xiàn)兩個(gè)子線(xiàn)程。在多線(xiàn)程的應(yīng)用中關(guān)鍵是處理好線(xiàn)程之間的同步問(wèn)題,以解決對(duì)共享存儲(chǔ)區(qū)的訪(fǎng)問(wèn)沖突,避免引起線(xiàn)程甚至整個(gè)系統(tǒng)的死鎖。Java多線(xiàn)程主要利用synchronized關(guān)鍵字和wait()、notify()等方法實(shí)現(xiàn)線(xiàn)程間的同步。
2.3 網(wǎng)絡(luò)穿透功能
整個(gè)系統(tǒng)由服務(wù)器云、設(shè)備端程序和客戶(hù)端SDK組成,如圖5:圖5 網(wǎng)絡(luò)穿透方案圖
由于手機(jī)和攝像頭的IP地址有可能相同也有可能不同,手機(jī)又是移動(dòng)設(shè)備,攝像頭是固定設(shè)備,隨著手機(jī)的移動(dòng),IP地址也很有可能在不斷的變化,要想實(shí)現(xiàn)手機(jī)可以隨時(shí)隨地進(jìn)行實(shí)時(shí)監(jiān)控,就必須采用網(wǎng)絡(luò)穿透技術(shù)來(lái)解決這個(gè)問(wèn)題。由于T2U方案可以解決TCP NAT穿透的問(wèn)題,所以可以采用此方案。
Libt2u是一個(gè)實(shí)現(xiàn)TCP穿越網(wǎng)關(guān)并與遠(yuǎn)端設(shè)備建立P2P連接的開(kāi)發(fā)庫(kù),它可以在不修改原有通信協(xié)議的基礎(chǔ)上,幫助終端實(shí)現(xiàn)客戶(hù)端與設(shè)備的P2P直連,可以讓設(shè)備達(dá)到即插即用的效果。
T2uSvr和Libt2u作為2個(gè)代理,分別運(yùn)行在設(shè)備端和客戶(hù)端,兩個(gè)代理之間通過(guò)P2P NA技術(shù)建立連接,依靠自主研發(fā)的UDP可靠數(shù)據(jù)傳輸和擁塞控制算法進(jìn)行數(shù)據(jù)通信,再加上端口轉(zhuǎn)發(fā)技術(shù),實(shí)現(xiàn)了將遠(yuǎn)端設(shè)備的任意端口映射到客戶(hù)機(jī)本地。于是在不知道設(shè)備IP地址,也沒(méi)有在路由器上做端口映射的情況下,通過(guò)TCP連接本地端口達(dá)到連接設(shè)備的目的。
3 系統(tǒng)測(cè)試及結(jié)果分析
目前,該系統(tǒng)已在實(shí)驗(yàn)室進(jìn)行測(cè)試,服務(wù)器輸出的是H.264視頻數(shù)據(jù),客戶(hù)端安裝在Android手機(jī)上,通過(guò)WIFI接入無(wú)線(xiàn)局域網(wǎng)中與服務(wù)器建立連接,實(shí)時(shí)監(jiān)控、報(bào)警系統(tǒng)等測(cè)試結(jié)果如下圖所示:圖6 報(bào)警信息記錄
責(zé)任編輯:葉雨田
免責(zé)聲明:本文僅代表作者個(gè)人觀點(diǎn),與本站無(wú)關(guān)。其原創(chuàng)性以及文中陳述文字和內(nèi)容未經(jīng)本站證實(shí),對(duì)本文以及其中全部或者部分內(nèi)容、文字的真實(shí)性、完整性、及時(shí)性本站不作任何保證或承諾,請(qǐng)讀者僅作參考,并請(qǐng)自行核實(shí)相關(guān)內(nèi)容。
我要收藏
個(gè)贊
-
現(xiàn)貨模式下谷電用戶(hù)價(jià)值再評(píng)估
2020-10-10電力現(xiàn)貨市場(chǎng),電力交易,電力用戶(hù) -
PPT | 高校綜合能源服務(wù)有哪些解決方案?
2020-10-09綜合能源服務(wù),清潔供熱,多能互補(bǔ) -
深度文章 | “十三五”以來(lái)電力消費(fèi)增長(zhǎng)原因分析及中長(zhǎng)期展望
2020-09-27電力需求,用電量,全社會(huì)用電量
-
PPT | 高校綜合能源服務(wù)有哪些解決方案?
2020-10-09綜合能源服務(wù),清潔供熱,多能互補(bǔ) -
深度文章 | “十三五”以來(lái)電力消費(fèi)增長(zhǎng)原因分析及中長(zhǎng)期展望
2020-09-27電力需求,用電量,全社會(huì)用電量 -
我國(guó)電力改革涉及的電價(jià)問(wèn)題
-
電化學(xué)儲(chǔ)能應(yīng)用現(xiàn)狀及對(duì)策研究
2019-08-14電化學(xué)儲(chǔ)能應(yīng)用 -
《能源監(jiān)測(cè)與評(píng)價(jià)》——能源系統(tǒng)工程之預(yù)測(cè)和規(guī)劃
-
《能源監(jiān)測(cè)與評(píng)價(jià)》——能源系統(tǒng)工程之基本方法
-
貴州職稱(chēng)論文發(fā)表選擇泛亞,論文發(fā)表有保障
2019-02-20貴州職稱(chēng)論文發(fā)表 -
《電力設(shè)備管理》雜志首屆全國(guó)電力工業(yè) 特約專(zhuān)家征文
2019-01-05電力設(shè)備管理雜志 -
國(guó)內(nèi)首座蜂窩型集束煤倉(cāng)管理創(chuàng)新與實(shí)踐
-
人力資源和社會(huì)保障部:電線(xiàn)電纜制造工國(guó)家職業(yè)技能標(biāo)準(zhǔn)
-
人力資源和社會(huì)保障部:變壓器互感器制造工國(guó)家職業(yè)技能標(biāo)準(zhǔn)
-
《低壓微電網(wǎng)并網(wǎng)一體化裝置技術(shù)規(guī)范》T/CEC 150
2019-01-02低壓微電網(wǎng)技術(shù)規(guī)范