高 欣,陳紹鎮(zhèn),倪建劍,孫 毅,徐寅翔,江禮凱,王 喆
(杭州瑞網(wǎng)廣通信息技術(shù)有限公司,浙江 杭州 310000)
杭州地鐵建設(shè)已進(jìn)入高速發(fā)展階段,隨著開通線路日趨增多,已逐步走向線網(wǎng)化運(yùn)營的方向。云計(jì)算的發(fā)展歷史悠久,其把計(jì)算所需要的數(shù)據(jù)資源、軟件和硬件資源通過網(wǎng)絡(luò)與不同的終端設(shè)備進(jìn)行共享,支持這些資源的平臺就叫做“云平臺”。云計(jì)算技術(shù)的發(fā)展,使得云平臺的形式、服務(wù)方式都在不斷地改變。云平臺從底層架構(gòu)向平臺、平臺向服務(wù)、從服務(wù)到應(yīng)用,都伴隨著服務(wù)的不斷完善。目前的云計(jì)算平臺可以為用戶提供各種級別的計(jì)算服務(wù),而不需要擔(dān)心硬件資源管理和基礎(chǔ)運(yùn)行環(huán)境的復(fù)雜性,而只需要專注于軟件的開發(fā)、部署和維護(hù)。在云計(jì)算中,隨著云計(jì)算的規(guī)模和復(fù)雜性的不斷提高,傳統(tǒng)的單一云服務(wù)模式的問題也越來越突出。單片機(jī)系統(tǒng)的主要問題是穩(wěn)定性和可靠性差。在一個(gè)需要穩(wěn)定和連續(xù)使用的應(yīng)用系統(tǒng)中,單一的故障是非常嚴(yán)重的。所以,構(gòu)建一個(gè)基于應(yīng)用的微型服務(wù)體系結(jié)構(gòu)是一個(gè)更好的選擇。基于云平臺的彈性伸縮流媒體集群不僅可以解決線網(wǎng)平臺中視頻并發(fā)調(diào)用、并發(fā)轉(zhuǎn)發(fā)、轉(zhuǎn)碼難的問題,還能避免硬件資源浪費(fèi),實(shí)現(xiàn)節(jié)能環(huán)保、綠色低碳的建設(shè)宗旨。
杭州地鐵機(jī)場快線公安新線網(wǎng)平臺(以下簡稱“線網(wǎng)平臺”)要實(shí)現(xiàn)對目前已開通、在建及規(guī)劃的20條線路(既有1、2、4、5、16號線、同期建設(shè)的3、6、7、8、9、10號線以及后續(xù)10條線路)的視頻圖像監(jiān)控及并發(fā)調(diào)用[1]。
線網(wǎng)平臺通過與線網(wǎng)指揮平臺互聯(lián),將各線路視頻圖像轉(zhuǎn)發(fā)至線網(wǎng)指揮平臺,實(shí)現(xiàn)線網(wǎng)指揮平臺監(jiān)控終端對所有線路的操作和顯示[2]。線網(wǎng)平臺預(yù)留接入市局共享平臺、分局聯(lián)網(wǎng)平臺、實(shí)戰(zhàn)平臺等上級單位視頻監(jiān)控平臺的條件,通過視頻并發(fā)轉(zhuǎn)發(fā),實(shí)現(xiàn)上級平臺對杭州地鐵各線路圖像資源的調(diào)看[3]。
既有線路、市局等上級平臺由于建設(shè)年限較早,視頻流編碼格式僅支持H.264,后期線路均采用H.265視頻編碼格式,需流媒體服務(wù)將H.265格式視頻轉(zhuǎn)換成H.264格式視頻,轉(zhuǎn)碼后的視頻才能被上級平臺正常調(diào)看[4]。
線網(wǎng)平臺實(shí)現(xiàn)對已開通的1、2、4、5、16號線以及近期建設(shè)的6、7、8、9、10、3、機(jī)場線的列車車載視頻圖像的接入及改造,實(shí)現(xiàn)在建及后續(xù)線路的接入[5]。
線網(wǎng)平臺中對視頻流的處理是關(guān)鍵業(yè)務(wù),流媒體服務(wù)作為視頻流處理的核心組件,它的功能與性能直接影響整個(gè)平臺的實(shí)用性,故須設(shè)計(jì)一套性能優(yōu)越、功能完善、兼容性良好的流媒體服務(wù)以保證線網(wǎng)平臺的穩(wěn)定運(yùn)行。
在實(shí)際應(yīng)用中,單一的服務(wù)器已經(jīng)無法滿足用戶的運(yùn)算能力,服務(wù)器的處理和存儲的增長要比網(wǎng)絡(luò)的帶寬和應(yīng)用程序的增長要慢得多,而單一的服務(wù)器只能通過增加處理器和其他組件的運(yùn)算速度來實(shí)現(xiàn)。目前,一些超級計(jì)算機(jī)擁有強(qiáng)大的運(yùn)算能力,但是也有昂貴的服務(wù)器,具有不可擴(kuò)展性、不能很好地處理當(dāng)前網(wǎng)絡(luò)中常見的問題(單一的故障和服務(wù)器資源不足),而集群管理技術(shù)就是用于解決這種問題的一種技術(shù)。利用該技術(shù),可以將離散的計(jì)算資源結(jié)點(diǎn)進(jìn)行連接,完成單個(gè)源節(jié)點(diǎn)難以完成的高質(zhì)量、高速度的工作,從而形成一個(gè)松散耦合的多臺計(jì)算機(jī)??蛻魴C(jī)與其進(jìn)行互動,如同與高性能、高可用的服務(wù)器進(jìn)行交互,而不需要進(jìn)行任何更改。該系統(tǒng)的擴(kuò)展性很強(qiáng),在集群不能滿足用戶要求的情況下,可以增加新的服務(wù)器,而且,即使在集群中某一臺服務(wù)器發(fā)生故障,也不會對其性能造成任何影響。同時(shí),在集群操作中,必然會涉及流媒體,流媒體服務(wù)采用分布式集群架構(gòu)部署,集群管理模塊實(shí)現(xiàn)流媒體等各功能集群的全業(yè)務(wù)周期管理。
集群管理模塊功能如下:
(1)業(yè)務(wù)周期管理:支持包括創(chuàng)建、運(yùn)行、添加節(jié)點(diǎn)、刪除節(jié)點(diǎn)、解散、業(yè)務(wù)分配的周期管理,支持Web方式的管理。
(2)動態(tài)擴(kuò)展:支持集群的可控伸縮,支持集群節(jié)點(diǎn)的添加和刪除操作,可根據(jù)業(yè)務(wù)變化動態(tài)調(diào)整集群總的業(yè)務(wù)處理能力和存儲容量;管理員可根據(jù)業(yè)務(wù)需求解散集群,解散后集群中各節(jié)點(diǎn)失去集群保護(hù)功能,但仍能繼續(xù)承載業(yè)務(wù),不影響用戶使用。
(3)系統(tǒng)管理:支持對物理資源和集群的監(jiān)控功能,支持對集群工作狀態(tài)的實(shí)時(shí)顯示。
(4)負(fù)載均衡:支持負(fù)載均衡的策略執(zhí)行,支持當(dāng)集群節(jié)點(diǎn)出現(xiàn)資源緊張的情況時(shí),自動進(jìn)行業(yè)務(wù)遷移,以平衡物理資源的負(fù)載。
(5)遠(yuǎn)程配置:通過Web管理界面,用戶可完成節(jié)點(diǎn)的初始化配置。
(6)實(shí)時(shí)監(jiān)控:支持對集群節(jié)點(diǎn)內(nèi)存、CPU、網(wǎng)絡(luò)等資源使用情況進(jìn)行實(shí)時(shí)監(jiān)控;支持對集群節(jié)點(diǎn)在線、下線狀態(tài)監(jiān)控;支持對系統(tǒng)關(guān)鍵進(jìn)程的狀態(tài)監(jiān)控;支持以上所有資源超限制使用或異常時(shí)的告警。
(7)備份恢復(fù):支持集群全數(shù)據(jù)備份,包括集群配置、業(yè)務(wù)配置。
(8)系統(tǒng)安全:當(dāng)集群本身出現(xiàn)故障時(shí),集群基本功能不受任何影響;支持集群節(jié)點(diǎn)故障預(yù)測(如:日志爆發(fā),進(jìn)程重啟,服務(wù)失效等),從而將業(yè)務(wù)先于故障提前遷移并告警,最大限度減小對業(yè)務(wù)的影響。
隨著互聯(lián)網(wǎng)應(yīng)用的快速發(fā)展與普及,流媒體服務(wù)成為一種受歡迎的主流服務(wù)。在Internet上,多媒體新聞發(fā)布,網(wǎng)絡(luò)直播,網(wǎng)絡(luò)廣告,視頻點(diǎn)播,遠(yuǎn)程教育,遠(yuǎn)程醫(yī)療,網(wǎng)絡(luò)電視臺,實(shí)時(shí)視頻會議等。在無線網(wǎng)絡(luò)中,以CDMA2000、GPRS/EDGE、UMTS等為核心的無線數(shù)據(jù)包服務(wù)。當(dāng)前,隨著空中通信帶寬的不斷提高,流媒體業(yè)務(wù)的發(fā)展也越來越受到人們的歡迎。同時(shí),由于無線網(wǎng)絡(luò)不受時(shí)間和空間的限制,也使其具有更大的吸引力?;诖?,流媒體服務(wù)采用分布式集群架構(gòu)建設(shè),支持視頻并發(fā)轉(zhuǎn)發(fā)及視頻并發(fā)轉(zhuǎn)碼功能,可根據(jù)負(fù)載智能進(jìn)行任務(wù)調(diào)度。
直播流媒體業(yè)務(wù)系統(tǒng)所提供的服務(wù)數(shù)據(jù)的處理性能和業(yè)務(wù)帶寬要求都很高,而對于分布或簇的服務(wù)器系統(tǒng),為了提高其可用性,必須將合理數(shù)量的客戶端請求分配到合適的節(jié)點(diǎn)上。集群組無法為每一個(gè)直播流固定設(shè)置一個(gè)服務(wù)器來運(yùn)行這些流媒體業(yè)務(wù)。同時(shí),由于內(nèi)存有限,各服務(wù)器無法提供全部的服務(wù)。唯一的可能性就是,每個(gè)服務(wù)器都要承擔(dān)一部分自己的數(shù)據(jù)流。不同節(jié)目的熱度要求我們對流媒體業(yè)務(wù)進(jìn)行合理地配置,從而提高整個(gè)系統(tǒng)的性能和資源的使用。
流媒體集群分發(fā)模塊在業(yè)務(wù)上支持自動和被動兩種方式,主動的分發(fā)可通過訂閱列表進(jìn)行分發(fā),視頻流、視頻截圖訂閱列表包含訂閱的渠道和協(xié)議等相關(guān)信息,平臺根據(jù)訂閱的內(nèi)容主動將需要推送的視頻流、視頻截圖主動推送到該應(yīng)用或者外聯(lián)平臺。被動的方式主要是提供API接口,供內(nèi)部應(yīng)用或者外部平臺根據(jù)業(yè)務(wù)需要進(jìn)行調(diào)用。用戶可根據(jù)當(dāng)前的網(wǎng)絡(luò)帶寬選擇合適的碼流進(jìn)行視頻流調(diào)用。
流媒體轉(zhuǎn)發(fā)支持大規(guī)模的流媒體并發(fā)轉(zhuǎn)發(fā)任務(wù),支持超過10 000路的視頻轉(zhuǎn)發(fā)。
流媒體集群可智能監(jiān)測流媒體節(jié)點(diǎn)的負(fù)載壓力(CPU、內(nèi)存)、網(wǎng)絡(luò)壓力(帶寬、連接數(shù)),準(zhǔn)確地將用戶訪問、視頻請求均衡轉(zhuǎn)發(fā)到集群中最適合的節(jié)點(diǎn);當(dāng)單個(gè)節(jié)點(diǎn)中某路或某幾路出現(xiàn)高峰并發(fā)時(shí),支持將該節(jié)點(diǎn)上某路或某幾路轉(zhuǎn)發(fā)到集群內(nèi)其他節(jié)點(diǎn)再進(jìn)行轉(zhuǎn)發(fā),實(shí)現(xiàn)大規(guī)模的流媒體并發(fā)服務(wù)。
支持同一路攝像機(jī)主、副碼流多通道同時(shí)轉(zhuǎn)發(fā)能力,可根據(jù)應(yīng)用需求智能地選擇轉(zhuǎn)發(fā)通道以實(shí)現(xiàn)大規(guī)模視頻流并發(fā)轉(zhuǎn)發(fā),保證平臺穩(wěn)定性。
流媒體集群對需要輸出的視頻流進(jìn)行動態(tài)轉(zhuǎn)碼,根據(jù)客戶端的需求可對流媒體進(jìn)行降碼流、轉(zhuǎn)編碼、轉(zhuǎn)協(xié)議等操作,并可將一條流轉(zhuǎn)成若干個(gè)不同碼流和編碼格式的流輸出給用戶。可控制轉(zhuǎn)碼過程和輸出視頻流的各個(gè)參數(shù),可選擇或手動輸入輸出格式、視頻幀率、視頻分辨率、視頻編碼格式、視頻碼流、音頻編碼格式。
流媒體集群支持多節(jié)點(diǎn)同時(shí)進(jìn)行轉(zhuǎn)碼任務(wù),可智能監(jiān)測節(jié)點(diǎn)的負(fù)載壓力(CPU、內(nèi)存)、轉(zhuǎn)碼隊(duì)列等待長度進(jìn)行轉(zhuǎn)碼任務(wù)的分配,充分利用所有節(jié)點(diǎn)的資源,滿足大規(guī)模轉(zhuǎn)碼的需求。
支持MPEG-4、H.264以及H.265等多種編碼格式轉(zhuǎn)換。
通過流媒體轉(zhuǎn)碼功能將視頻流轉(zhuǎn)換成所需要的視頻格式,滿足不同平臺間的視頻相互調(diào)看。
流媒體模塊同時(shí)支持國際標(biāo)準(zhǔn)的H.264、H.265兩種編碼格式,以達(dá)到全系統(tǒng)的視頻圖像采集、傳送、存儲、顯示的全高清模式。
集群管理模塊向虛擬機(jī)調(diào)度模塊定期發(fā)送集群狀態(tài)信息,當(dāng)虛擬機(jī)調(diào)度模塊接收到集群資源處于超限制使用或異常時(shí),主動調(diào)用接口通知虛擬化云平臺開啟新的虛機(jī),虛擬化調(diào)度模塊通知集群管理模塊將新開啟的虛機(jī)加入集群中,實(shí)現(xiàn)集群的動態(tài)擴(kuò)容。
當(dāng)虛擬機(jī)調(diào)度模塊接收到集群資源過剩時(shí),應(yīng)通知集群管理模塊刪除資源過剩的集群節(jié)點(diǎn),同時(shí)主動調(diào)用接口通知虛擬化云平臺關(guān)閉相應(yīng)的虛機(jī),實(shí)現(xiàn)虛擬機(jī)資源回收。
當(dāng)某臺虛機(jī)上運(yùn)行的軟件服務(wù)卡死或端口不可用,此時(shí)虛擬化云平臺無法感知故障,將導(dǎo)致該虛機(jī)上業(yè)務(wù)系統(tǒng)暫時(shí)不可用。
線網(wǎng)平臺集群提供業(yè)務(wù)高可用特性,支持將故障虛機(jī)上的業(yè)務(wù)遷移至集群中其他運(yùn)行正常的虛機(jī),保證業(yè)務(wù)系統(tǒng)的正常交互。
虛擬機(jī)高可用保證了流媒體集群的穩(wěn)定運(yùn)行,不存在單點(diǎn)故障。
虛擬機(jī)集群具備負(fù)載均衡功能,支持負(fù)載均衡的策略執(zhí)行,支持當(dāng)集群節(jié)點(diǎn)出現(xiàn)資源緊張的情況時(shí),自動進(jìn)行業(yè)務(wù)遷移,以平衡物理資源的負(fù)載。
虛擬機(jī)集群負(fù)載均衡實(shí)現(xiàn)流程如圖1所示:
圖1 虛擬機(jī)集群負(fù)載均衡實(shí)現(xiàn)流程
流媒體集群在架構(gòu)上考慮了軌道交通視頻監(jiān)控的需求,圍繞視頻流并發(fā)調(diào)用、視頻流并發(fā)轉(zhuǎn)發(fā)、視頻流轉(zhuǎn)碼等方面進(jìn)行了深化設(shè)計(jì),為線網(wǎng)平臺視頻調(diào)用,視頻轉(zhuǎn)發(fā)、轉(zhuǎn)碼創(chuàng)造了條件,軌道交通行業(yè)領(lǐng)先,具有較強(qiáng)的示范作用。
流媒體采用集群化部署大大提高流媒體性能,云平臺建設(shè)避免硬件資源浪費(fèi),實(shí)現(xiàn)碳中和的理念,為國內(nèi)線路建設(shè)、新舊線路銜接、舊線改造提供了實(shí)施指引。
流媒體集群通過集群管理模塊自主感知自身資源占用,通過與虛擬化云平臺信令交互完成虛擬資源的調(diào)配。
流媒體集群承載在虛擬化云平臺中,流媒體集群自主感知自身服務(wù)運(yùn)行狀態(tài),實(shí)現(xiàn)模塊資源的動態(tài)伸縮和業(yè)務(wù)高可用,為后續(xù)智慧安防應(yīng)用部署模式開創(chuàng)了先例。
流媒體集群充分結(jié)合了“云平臺”和“彈性伸縮”的獨(dú)特優(yōu)勢,是當(dāng)下全國軌道交通行業(yè)具有高靈活性、高性能的實(shí)施案例。
基于云平臺的彈性伸流媒體集群在軌道交通行業(yè)屬于首創(chuàng),是針對軌道交通中視頻監(jiān)控高并發(fā)處理難等問題提出的,流媒體作為視頻流處理的核心服務(wù),它的性能及穩(wěn)定性決定了視頻流處理的能力。通過集群化部署將單獨(dú)工作的流媒體服務(wù)組成高性能處理組,以應(yīng)對高并發(fā)處理瓶頸。結(jié)合云平臺的虛擬資源彈性伸縮,不僅可以在資源緊缺的時(shí)候?qū)崿F(xiàn)動態(tài)擴(kuò)容,保證了流媒體集群的性能及穩(wěn)定性,還可以在資源空閑的時(shí)候?qū)崿F(xiàn)動態(tài)縮容,保證了資源的充分利用,避免資源浪費(fèi)。
流媒體集群結(jié)合軌道交通行業(yè)視頻監(jiān)控的特點(diǎn)和各級部門的普遍訴求,進(jìn)行了切實(shí)可行的方案設(shè)計(jì)和研討實(shí)施,為軌道交通行業(yè)在視頻流處理、視頻流調(diào)用方面提供了獨(dú)樹一幟的建設(shè)方案和指導(dǎo)思路。