數(shù)字標(biāo)牌故障可能發(fā)生在視頻墻系統(tǒng)中,如果您的系統(tǒng)比較關(guān)鍵或面對(duì)公眾,故障可能會(huì)導(dǎo)致其他問(wèn)題。我們將討論常見的故障及其原因,以及檢測(cè)和容忍其中一些故障的方法,特別是以軟件為中心的視頻墻系統(tǒng)。
前提
讓我們假設(shè)一個(gè)視頻墻系統(tǒng)由顯示器(例如,可以是LCD平板、LED屏或投影機(jī)),計(jì)算機(jī)或硬件組成,驅(qū)動(dòng)這些顯示器和基礎(chǔ)設(shè)施,以連接所有的硬件和軟件來(lái)控制一切。這些組件中的任何一個(gè)都可能發(fā)生故障,但頻率并一樣。由于視頻墻由許多顯示器組成,顯示故障的概率隨著顯示器數(shù)量的增加而增加,這就是為什么使用適合全天候操作的高質(zhì)商用顯示器的重要原因。因?yàn)樗鼈儽认M(fèi)類顯示器更可靠,更好支持。
當(dāng)電腦或媒體播放器驅(qū)動(dòng)每個(gè)顯示器時(shí),故障的可能性也隨著計(jì)數(shù)的增長(zhǎng)而增加。商用計(jì)算機(jī)中通常的故障是電源和移動(dòng)部件,如風(fēng)扇和硬盤驅(qū)動(dòng)器。無(wú)風(fēng)扇電腦和固態(tài)存儲(chǔ)有助,但往往會(huì)增加成本或降低容量或時(shí)鐘速度。
驅(qū)動(dòng)許多顯示器的控制器計(jì)算機(jī)或服務(wù)器風(fēng)扇,電源和硬盤驅(qū)動(dòng)器也會(huì)發(fā)生故障。冗余電源和固態(tài)存儲(chǔ)可以起到作用,但也會(huì)大大增加成本。CPU風(fēng)扇以及顯卡上的風(fēng)扇通常會(huì)隨著時(shí)間的推移而發(fā)生故障,并且首先導(dǎo)致性能下降(由于當(dāng)今基于溫度的節(jié)流內(nèi)置于大部分組件),進(jìn)而發(fā)生故障。
基礎(chǔ)設(shè)施趨于可靠
包括網(wǎng)絡(luò)交換機(jī)或電纜在內(nèi)的基礎(chǔ)架構(gòu)一旦穩(wěn)定并正常工作就趨于可靠。許多基礎(chǔ)設(shè)施是固態(tài)或被動(dòng)的,所以很少發(fā)生故障。一些基礎(chǔ)設(shè)施組件中的風(fēng)扇仍然可能發(fā)生故障,但是它們往往是冗余的,因此在單次故障后不要將系統(tǒng)關(guān)閉。
最后,軟件問(wèn)題也可能影響視頻墻系統(tǒng)。如果控制器軟件崩潰或發(fā)生故障,系統(tǒng)將無(wú)法運(yùn)行。然而,高質(zhì)視頻軟件通常運(yùn)行數(shù)月都沒有問(wèn)題。更有可能與軟件相關(guān)的問(wèn)題是操作系統(tǒng)更新。某些操作系統(tǒng)在工作時(shí)間之外自動(dòng)安裝更新并重新啟動(dòng)。
如果視頻墻必須全天候運(yùn)行,那就都是工作時(shí)間!如果驅(qū)動(dòng)單個(gè)顯示器的計(jì)算機(jī)重新啟動(dòng),它看起來(lái)很糟,但不是災(zāi)難性的。但是,如果控制器計(jì)算機(jī)或驅(qū)動(dòng)多個(gè)顯示器的服務(wù)器重新啟動(dòng),則可能嚴(yán)重妨礙操作。
哪些故障是至關(guān)重要的?
現(xiàn)在我們知道在視頻墻系統(tǒng)的許多不同組件中可能會(huì)發(fā)生故障,哪些是最重要的,如何檢測(cè)和保護(hù)它們?
如果單個(gè)顯示器出現(xiàn)故障或者單個(gè)顯示器的計(jì)算機(jī)出現(xiàn)故障,如前所述,這是一個(gè)不便之處,但可能不會(huì)消除整個(gè)系統(tǒng)的效用和有效性。只要故障不影響多于一個(gè)的監(jiān)視器,該問(wèn)題就包含在內(nèi),并且可以通過(guò)修復(fù)或更換單個(gè)組件來(lái)恢復(fù)。
更換顯示器,特別是在全面服務(wù)的安裝上,是一個(gè)快速的任務(wù),因?yàn)槟诟鼡Q驅(qū)動(dòng)單個(gè)顯示器的計(jì)算機(jī)。因此,為了防止或者從這些故障中恢復(fù),需要付出很大的努力可能不符合成本效益。
如果連接基礎(chǔ)架構(gòu)出現(xiàn)故障,可能會(huì)使整個(gè)視頻墻系統(tǒng)崩潰。另一方面,如前所述,基礎(chǔ)設(shè)施設(shè)備往往是可靠的。使大多數(shù)基礎(chǔ)架構(gòu)冗余也是非常有挑戰(zhàn)性的。這樣的基礎(chǔ)設(shè)施是可靠的并且復(fù)制是昂貴的,所以可能不值得花費(fèi)大量精力來(lái)使其更可靠。
如果控制器計(jì)算機(jī)或多顯示服務(wù)器由于軟件或硬件故障而失效,則可能會(huì)影響部分或全部視頻墻系統(tǒng)。如果一個(gè)組件是一個(gè)單點(diǎn)故障并且容易出現(xiàn)故障,這顯然值得解決。因此,某種故障恢復(fù)或冗余以減少這種故障的影響是有道理的。然而,是否具有成本效益取決于方法和實(shí)施。
另一類故障涉及視頻墻系統(tǒng)的用戶和客戶。
某些故障可能是由用戶或訪客踢到或意外拉動(dòng)電源或網(wǎng)絡(luò)插頭,或?qū)⒖Х葹⒃谟?jì)算機(jī)上,甚至在跌倒或其他事故期間損壞顯示器引起的。如果這些意外的故障發(fā)生在關(guān)鍵的設(shè)備上,它們可能會(huì)顯著影響視頻墻的操作。
有時(shí)客戶關(guān)心潛在的故障;雖然不太可能出現(xiàn),但是還是應(yīng)該應(yīng)對(duì)這種情況,讓客戶安心。例如,有客戶關(guān)心我們的許可證密鑰方法的故障,所以我們必須設(shè)計(jì)我們的容錯(cuò)方法來(lái)解決這個(gè)問(wèn)題,即使故障是不太可能的。
為了減少最關(guān)鍵或最有可能發(fā)生的故障(甚至是最不相關(guān)的故障)的影響,可以在系統(tǒng)中設(shè)計(jì)容錯(cuò)。故障容錯(cuò)需要故障檢測(cè)和故障恢復(fù),這兩者本身都不足夠。我們討論的其余部分將涉及基于軟件的網(wǎng)絡(luò)視頻墻系統(tǒng),也稱為分布式可視化系統(tǒng)。盡管許多原理適用于基于多顯示服務(wù)器的視頻墻系統(tǒng),但一些故障檢測(cè)和測(cè)試技術(shù)必須是不同的。
我們必須清楚:容錯(cuò)并不是說(shuō)可以避免故障。如其名稱所述,故障是可以容忍的,目標(biāo)是使容錯(cuò)盡可能是無(wú)縫且無(wú)關(guān)痛癢的。容錯(cuò)的基本思想是,如果關(guān)鍵組件(例如控制器計(jì)算機(jī))出于任何原因發(fā)生故障或消失,則第二個(gè)控制器將繼續(xù)使用盡可能少的明顯過(guò)渡效果來(lái)操作墻壁(后續(xù)將細(xì)說(shuō))。
在分布式可視化系統(tǒng)中,顯示器由網(wǎng)絡(luò)計(jì)算機(jī)驅(qū)動(dòng),每個(gè)計(jì)算機(jī)都可能會(huì)出現(xiàn)故障,而不會(huì)破壞系統(tǒng)的其余部分。視頻墻顯然有一個(gè)空白屏幕,但所有其他屏幕都將繼續(xù)工作并正常運(yùn)行。因此,容錯(cuò)的焦點(diǎn)必須是控制器計(jì)算機(jī),它協(xié)調(diào)正在顯示的內(nèi)容,但不執(zhí)行實(shí)際驅(qū)動(dòng)顯示器的工作。
分布式計(jì)算機(jī)系統(tǒng)的基本設(shè)計(jì)原則是使得許多計(jì)算機(jī)完成工作,而不是由其完成;因此,隨著系統(tǒng)的增長(zhǎng),隨著更多的計(jì)算機(jī)的加入,它變得越來(lái)越強(qiáng)大。同樣,在分布式可視化系統(tǒng)中,顯示計(jì)算機(jī)執(zhí)行所有工作:更多的顯示計(jì)算機(jī)衍生出更強(qiáng)大的系統(tǒng)。
我們專注于控制器計(jì)算機(jī)的故障恢復(fù),因?yàn)槿绻刂破饔?jì)算機(jī)發(fā)生某些事情,則可能會(huì)導(dǎo)致系統(tǒng)死機(jī)。因?yàn)榭刂破饔?jì)算機(jī)是商品PC,它可能會(huì)遭受硬件故障(通常,風(fēng)扇發(fā)生故障或驅(qū)動(dòng)器死機(jī)),或者如早先所述,粗心大意的訪客可能踢到電源線或敲擊電腦,如果它不是在機(jī)架上,或者最有可能的是,操作系統(tǒng)更新可能導(dǎo)致系統(tǒng)在應(yīng)用更新時(shí)重新啟動(dòng)幾分鐘。
解決方案
控制器故障的最明顯的解決方案是擁有第二個(gè)控制器。如前所述,驅(qū)動(dòng)顯示器的計(jì)算機(jī)正在進(jìn)行繪制視頻墻的工作,因此,協(xié)調(diào)繪圖的控制器軟件只能在普通PC上運(yùn)行;因此,第二控制器PC的附加硬件費(fèi)用是微不足道的。
添加第二個(gè)控制器可以讓第二個(gè)用戶主動(dòng)控制系統(tǒng),一種稱為在分布式計(jì)算環(huán)的“主動(dòng)-主動(dòng)”的方法(與主動(dòng)備用方法相反)中。因此,主動(dòng)-主動(dòng)系統(tǒng)具有并行操作并且可以同時(shí)控制視頻墻的冗余主動(dòng)控制器。
不適合視頻墻的其他容錯(cuò)技術(shù)包括三重模塊冗余(TMR)和投影系統(tǒng),如航天飛機(jī)中使用的那些。它們解決了不同于視頻墻容錯(cuò)解決方案的問(wèn)題:它們處理稍稍翻轉(zhuǎn)的宇宙射線,導(dǎo)致計(jì)算出錯(cuò),從而破壞車輛的軌跡。我們的前提是,只要硬件正在工作,它就會(huì)生成正確的結(jié)果,但停止工作時(shí),我們需要檢測(cè)并恢復(fù)。
檢測(cè)故障
檢測(cè)驅(qū)動(dòng)視頻墻的網(wǎng)絡(luò)計(jì)算機(jī)系統(tǒng)中的故障是一個(gè)挑戰(zhàn),因?yàn)橛?jì)算機(jī)網(wǎng)絡(luò)在繁忙時(shí)不可靠。例如,當(dāng)緩沖區(qū)填充時(shí),切換丟棄數(shù)據(jù)包,因此我們可以依賴于單個(gè)丟失數(shù)據(jù)包。網(wǎng)絡(luò)堆棧(在Windows中發(fā)送和接收網(wǎng)絡(luò)流量并實(shí)現(xiàn)通信協(xié)議的軟件)通常容忍網(wǎng)絡(luò)中斷;因此,它們長(zhǎng)時(shí)間不報(bào)告連接的故障。
我們必須開發(fā)技術(shù)來(lái)快速檢測(cè)出故障,但不會(huì)被錯(cuò)誤的檢測(cè)所困擾。這取決于多方面的做法,具有多種監(jiān)控通道和其他低級(jí)技術(shù),以檢測(cè)另一個(gè)控制器已經(jīng)消失,并在需要時(shí)接管系統(tǒng)。在這樣做的時(shí)候,我們必須定義主要的和次要控制器,雖然區(qū)分對(duì)于用戶來(lái)說(shuō)不是明顯的。主次的確定在系統(tǒng)啟動(dòng)時(shí)選擇程序的過(guò)程,因此控制器PC要么是主控制器,要么次級(jí)的,并且兩者都不比其他控制器更強(qiáng)大。
測(cè)試
測(cè)試容錯(cuò)是一個(gè)重大的挑戰(zhàn),因?yàn)槲覀兿氪_保我們測(cè)試的是可能影響客戶端和他們關(guān)心的故障,而不僅僅是使故障容錯(cuò)機(jī)制看起來(lái)很好的任意故障。一些測(cè)試條件容易實(shí)現(xiàn)和復(fù)制:例如,拉取USB許可證密鑰可以一遍又一遍地執(zhí)行相同的結(jié)果。
退出控制器軟件或重新啟動(dòng)計(jì)算機(jī)類似可靠,易于檢測(cè)和恢復(fù)。這些產(chǎn)生了很好的明確的故障模式,因?yàn)樗械木W(wǎng)絡(luò)連接都被關(guān)閉,因此故障診斷是快速和容易的,確定實(shí)際發(fā)生的更具挑戰(zhàn)性,但至少控制器知道另一個(gè)不再是連接的。
從電腦上拉電源插頭或使其屏幕藍(lán)屏(我們編寫一個(gè)測(cè)試程序來(lái)強(qiáng)制)是更具挑戰(zhàn)性的測(cè)試。這些操作有些危險(xiǎn),因?yàn)樗鼈兛赡軙?huì)損壞PC操作系統(tǒng)或驅(qū)動(dòng)器內(nèi)容,因此執(zhí)行它們通?赡軙(huì)導(dǎo)致耗時(shí)的驅(qū)動(dòng)成像。它們還導(dǎo)致難以檢測(cè)的故障:計(jì)算機(jī)停止通信,但連接保持開放好幾秒鐘。這種故障對(duì)許多基于定時(shí)器的故障檢測(cè)算法是很好的測(cè)試。
網(wǎng)絡(luò)故障測(cè)試
我們執(zhí)行的另一種故障測(cè)試是網(wǎng)絡(luò)故障。網(wǎng)絡(luò)交換機(jī)是非常可靠的,所以我們不需要測(cè)試這種故障,但網(wǎng)絡(luò)線纜拉設(shè)和間歇連接可能發(fā)生,所以我們測(cè)試這些。網(wǎng)絡(luò)拉線很像拉電源線,因?yàn)橛?jì)算機(jī)停止通信,但網(wǎng)絡(luò)連接不會(huì)停機(jī)一段時(shí)間。
間歇性網(wǎng)絡(luò)連接或電纜拉動(dòng),然后快速插入它們是更加險(xiǎn)峻的問(wèn)題,很難診斷。一個(gè)非常短的電纜拔插/重新插入是大多數(shù)網(wǎng)絡(luò)可以忍受的東西,沒有中斷,所以我們需要確保我們的方法可以容忍它,幾乎不會(huì)發(fā)生中斷。
拔插和重新插入之間的間隔更長(zhǎng)(半秒到幾秒)是檢測(cè)和恢復(fù)最棘手的故障之一,因?yàn)榫W(wǎng)絡(luò)顯然被中斷,但并不是所有連接都被破壞。在這種情況下,我們選擇故障切換到?jīng)]有網(wǎng)絡(luò)中斷的其他控制器。
這需要大量協(xié)調(diào),因?yàn)榫哂芯W(wǎng)絡(luò)故障的控制器需要檢測(cè)到它被中斷,當(dāng)它被重新連接時(shí),它不會(huì)嘗試斷言其舊狀態(tài),而是與其他控制器協(xié)商。沒有故障的控制器必須確定它不再連接到另一個(gè)控制器,但它仍然連接到系統(tǒng)的其余部分。如果它已經(jīng)是主控制器,那么它將成為主要的控制器,并接管系統(tǒng)的管理。
行為
那么按照所描述的容錯(cuò)系統(tǒng),如果控制器發(fā)生故障,客戶可以期待什么樣的行為呢?如果故障的控制器是次級(jí),那么不會(huì)有任何效果,除了故障的控制器不能再控制視頻墻。如果是主要的,因?yàn)榕f的次級(jí)控制器成為主要的并且接管系統(tǒng),則將會(huì)有一個(gè)短暫的轉(zhuǎn)換期。
在顯示器上,包括大部分流媒體源內(nèi)容在內(nèi)的大部分內(nèi)容將保持可見,并且不間斷地繼續(xù)更新。例外是來(lái)自LAN外部的面向連接的內(nèi)容,即通過(guò)安全TCP連接進(jìn)入系統(tǒng)的源。它們可能直接連接到故障的控制器,需要幾秒鐘的時(shí)間才能切換到新的主控制器,所以他們將在4-5秒內(nèi)恢復(fù)更新。
這意味著NOC或其他控制室中的關(guān)鍵視頻墻將保持運(yùn)行狀態(tài),即使其中一個(gè)系統(tǒng)控制器發(fā)生故障,也只會(huì)受到輕微的中斷。在典型的數(shù)字標(biāo)牌場(chǎng)景中,一個(gè)系統(tǒng)控制器的故障不會(huì)影響顯示的內(nèi)容,所以沒有中斷。
What Do We Not Tolerate?我們不能容忍什么?
什么樣的故障不能容忍?前面提到的網(wǎng)絡(luò)交換機(jī)故障是最大的例子,但交換機(jī)非?煽浚覀兊墓こ處熞呀(jīng)嘗試了將故障切換到第二個(gè)交換機(jī)的方法,盡管它們需要特定的硬件和配置。我們顯然無(wú)法再做更多關(guān)于顯示器的故障測(cè)試了。
我們也不會(huì)對(duì)單個(gè)計(jì)算機(jī)驅(qū)動(dòng)顯示的故障做任何事情,因?yàn)榕c顯示器故障一樣,這并不影響整個(gè)系統(tǒng)的功能,它只影響一個(gè)顯示器。由于顯示電腦通常是商用電腦,因此可以快速,容易地進(jìn)行維修或更換。讓新顯示電腦上線只需幾分鐘。
我們調(diào)查和設(shè)計(jì)了我們的容錯(cuò)方法,以從最常見的故障中恢復(fù),這些故障可能使虛擬機(jī)系統(tǒng)脫機(jī),包括常見的硬件故障,錯(cuò)誤和事故。在關(guān)鍵時(shí)刻可以保持視頻墻的正常運(yùn)行,但不要求復(fù)制所有的設(shè)備,也不需要巨大的額外成本。通過(guò)快速的故障檢測(cè)和快速恢復(fù)增加容錯(cuò)功能,可讓視頻墻永和更加安心。