ANR - 安卓運(yùn)行系統(tǒng)
在Android上,如果你的應(yīng)用程序有一段時(shí)間響應(yīng)不夠靈敏,系統(tǒng)會(huì)向用戶顯示一個(gè)對(duì)話框,這個(gè)對(duì)話框稱作應(yīng)用程序無響應(yīng)(ANR:Application Not Responding)對(duì)話框。用戶可以選擇“等待”而讓程序繼續(xù)運(yùn)行,也可以選擇“強(qiáng)制關(guān)閉”。所以一個(gè)流暢的合理的應(yīng)用程序中不能出現(xiàn)anr,而讓用戶每次都要處理這個(gè)對(duì)話框。
因此,在程序里對(duì)響應(yīng)性能的設(shè)計(jì)很重要,這樣系統(tǒng)不會(huì)顯示ANR給用戶。默認(rèn)情況下,在android中Activity的最長(zhǎng)執(zhí)行時(shí)間是5秒,BroadcastReceiver的最長(zhǎng)執(zhí)行時(shí)間則是10秒。

診斷ANR
診斷ANR時(shí)需要考慮以下幾種常見模式:
應(yīng)用在主線程上非常緩慢地執(zhí)行涉及I/O的操作。
應(yīng)用在主線程上進(jìn)行長(zhǎng)時(shí)間的計(jì)算。
主線程在對(duì)另一個(gè)進(jìn)程進(jìn)行同步binder調(diào)用,而后者需要很長(zhǎng)時(shí)間才能返回。
主線程處于阻塞狀態(tài),為發(fā)生在另一個(gè)線程上的長(zhǎng)操作等待同步的塊。
主線程在進(jìn)程中或通過binder調(diào)用與另一個(gè)線程之間發(fā)生死鎖。主線程不只是在等待長(zhǎng)操作執(zhí)行完畢,而且處于死鎖狀態(tài)。
ANR技術(shù)
ANR - Automatic Network Replenishment Technology
對(duì)視頻監(jiān)控來說,存儲(chǔ)性能的重要性幾乎與圖像質(zhì)量是一樣的。傳統(tǒng)DVR已經(jīng)積累了不少先進(jìn)的技術(shù),如硬盤零碎片處理、硬盤輪休、異常斷電保護(hù)等技術(shù),為監(jiān)控圖像的可靠存儲(chǔ)提供有力保障,NVR作為新一代網(wǎng)絡(luò)監(jiān)控產(chǎn)品,首先對(duì)DVR優(yōu)秀的特性作了全面繼承,其次它還借助網(wǎng)絡(luò)化特性,進(jìn)一步提升了存儲(chǔ)的可靠性與靈活性,這其中最有意義的就是ANR技術(shù)的應(yīng)用。我們知道,NVR的基礎(chǔ)是網(wǎng)絡(luò),但網(wǎng)絡(luò)承載業(yè)務(wù)的復(fù)雜性較高,導(dǎo)致了網(wǎng)絡(luò)的不穩(wěn)定,因此直接影響了承載于上的業(yè)務(wù)的穩(wěn)定性。
并且,這一點(diǎn)對(duì)于視頻監(jiān)控是絕對(duì)不容輕視的,因?yàn)榭赡苡捎诰W(wǎng)絡(luò)的暫時(shí)性故障會(huì)直接導(dǎo)致重要視頻錄像的缺失,而錄像資料之于視頻監(jiān)控的重要性絕對(duì)是首當(dāng)其沖的。因此,網(wǎng)絡(luò)不穩(wěn)定導(dǎo)致錄像資料的遺失這一點(diǎn)也一度成為NVR對(duì)峙DVR決戰(zhàn)中最具致命性的隱患,但ANR技術(shù)的應(yīng)用卻使一切問題不復(fù)存在。
ANR,Automatic Network ReplenishmentTechnology,它是一種結(jié)合本地存儲(chǔ)和網(wǎng)絡(luò)存儲(chǔ)的技術(shù),ANR技術(shù)包括三個(gè)部分:
一、偵測(cè)網(wǎng)絡(luò)狀況,即在網(wǎng)絡(luò)失效時(shí),能記錄下失效前的傳輸數(shù)據(jù),以待網(wǎng)絡(luò)連結(jié)恢復(fù)后把數(shù)據(jù)轉(zhuǎn)回到管理中心;
二、雙重錄像,即當(dāng)網(wǎng)絡(luò)出現(xiàn)問題或不穩(wěn)定時(shí),管理中心和前端雙方都會(huì)把圖像數(shù)據(jù)單獨(dú)存儲(chǔ)在緩沖區(qū)以作備份;
三、自動(dòng)修復(fù)數(shù)據(jù),即當(dāng)網(wǎng)絡(luò)恢復(fù)正常后,管理中心和前端雙方會(huì)對(duì)比各自的數(shù)據(jù),檢查對(duì)比在網(wǎng)絡(luò)失效時(shí)的圖像數(shù)據(jù),然后自動(dòng)修復(fù)管理中心錯(cuò)誤或遺失的數(shù)據(jù)。據(jù)此就可明白,具備ANR技術(shù)的NVR會(huì)在網(wǎng)絡(luò)出現(xiàn)故障時(shí)自動(dòng)啟用前端存儲(chǔ),網(wǎng)絡(luò)恢復(fù)后再將前端存儲(chǔ)數(shù)據(jù)自動(dòng)同步至NVR中心,并且是在不影響實(shí)時(shí)視頻傳輸質(zhì)量的前提下,從而實(shí)現(xiàn)了中心與前端的雙存儲(chǔ)備份,有效提升存儲(chǔ)的可靠性與靈活性。
此外,針對(duì)一些對(duì)存儲(chǔ)有著更高要求的場(chǎng)合,NVR還將提供另一項(xiàng)存儲(chǔ)保障技術(shù)——RAID存儲(chǔ)。雖然RAID的應(yīng)用會(huì)導(dǎo)致用戶使用成本的提高,但由于它的可靠性機(jī)制可以確保硬盤的有效合理使用、實(shí)現(xiàn)數(shù)據(jù)的冗馀校驗(yàn),使圖像數(shù)據(jù)即使在部分存儲(chǔ)介質(zhì)損壞的情況下也不會(huì)丟失等重要性能,從而使得這一技術(shù)在對(duì)監(jiān)控系統(tǒng)性能要求極高的高端行業(yè)市場(chǎng)一直受到重視。
因此RAID技術(shù)的應(yīng)用必然也會(huì)促進(jìn)NVR對(duì)新市場(chǎng)的拓展,進(jìn)一步加快取代DVR的進(jìn)程。
