張濤
摘? 要:隨著云計算概念在互聯(lián)網(wǎng)行業(yè)的發(fā)展日趨成熟,云計算框架在鐵路視頻監(jiān)控領域的應用推廣普及也被提上日程,該文目的是將互聯(lián)網(wǎng)通用云計算框架與鐵路綜合視頻監(jiān)控技術規(guī)范相結(jié)合,設計出一套既能體現(xiàn)云計算框架的諸多技術優(yōu)勢,又能深度融合鐵路視頻監(jiān)控業(yè)務特色視頻監(jiān)控云平臺。
關鍵詞:云平臺? 云計算? 高可用? 負載均衡? 微服務
中圖分類號:TP277 ? ?文獻標識碼:A 文章編號:1672-3791(2020)02(c)-0003-03
鐵路綜合視頻監(jiān)控系統(tǒng)經(jīng)過十幾年的發(fā)展,全路攝像機接入容量已達到幾十萬路的規(guī)模,鐵路綜合視頻技術規(guī)范(鐵標)也隨之不斷地深入與完善從“鐵標1.0”到最新的“鐵標2.0”,并貫穿于全路各級綜合視頻監(jiān)控系統(tǒng),形成了具有明顯行業(yè)特色鐵路視頻監(jiān)控系統(tǒng)。隨著高清擴容、視頻一體化等需求的提出,鐵路綜合視頻監(jiān)控系統(tǒng)容量規(guī)模將會持續(xù)增長,對系統(tǒng)的高可用性、動態(tài)擴展性、易用性方面等要求也將大大提高。而云平臺的高可用、負載均衡、動態(tài)擴展性等特性正是鐵路綜合視頻監(jiān)控系統(tǒng)需要具備的。
因此鐵路綜合視頻監(jiān)控系統(tǒng)實現(xiàn)云平臺功能的需求被提上日程,在這需求的驅(qū)動下,很多路外通用安防廠商,試圖使用其視頻監(jiān)控云平臺,替代既有的鐵路綜合視頻監(jiān)控平臺,但是其無法滿足鐵路行業(yè)長期以來形成的鐵路視頻規(guī)范(鐵標),無法實現(xiàn)鐵路視頻行業(yè)的相關業(yè)務特點。
形成的現(xiàn)狀就是,路外安防廠商的云平臺,不能滿足鐵標的架構(gòu)與業(yè)務要求,路內(nèi)傳統(tǒng)廠商的視頻平臺,目前均不是云平臺的架構(gòu),云平臺的主要特性無法體現(xiàn)。
結(jié)論就是,目前還沒一款現(xiàn)成的系統(tǒng)能夠既滿足鐵路視頻標準,又能體現(xiàn)云平臺等先進技術的基于鐵路標準的視頻監(jiān)控云平臺。
該文的目的就是設計出一套既能體現(xiàn)云平臺框架的諸多技術優(yōu)勢,又能深度融合鐵路視頻標準視頻監(jiān)控云平臺。
1? 技術路線選擇
通過一系列的對比與論證工作,從眾多的云平臺框架和云存儲框架中,確定了基于微服務模式的Spring Cloud框架做為視頻云平臺的基礎開發(fā)框架,基于Ceph云存儲技術做為視頻云存儲的基礎開發(fā)框架。
微服務是一種架構(gòu)模式,它提倡將單一應用程序劃分成一組小的服務,每個服務運行在其獨立的進程中,徹底去掉耦合,服務之間互相協(xié)調(diào)、互相配合,為用戶提供最終的價值。微服務架構(gòu)的優(yōu)勢有復雜度可控、獨立部署、技術選型靈活、容錯性、擴展性。
Spring Cloud是一系列框架的有序集合,簡化了云平臺基礎設施的開發(fā),如服務發(fā)現(xiàn)注冊、配置中心、消息總線、負載均衡、斷路器、數(shù)據(jù)監(jiān)控等。Spring Cloud已在眾多互聯(lián)網(wǎng)公司中得到應用,是目前廣泛應用的微服務框架。
Ceph是一種為優(yōu)秀的性能、可靠性和可擴展性而設計的統(tǒng)一的、分布式文件系統(tǒng),具有高性能、高可用性、高可擴展性、接口豐富等特點。Ceph在金融、政府行業(yè)、互聯(lián)網(wǎng)、能源行業(yè)、運營商、高校、媒體娛樂、游戲等眾多行業(yè)得到了廣泛的應用,知名互聯(lián)網(wǎng)企業(yè)有如阿里、騰訊、京東、攜程等。市場上70%~80%的云平臺都在采用Ceph作為底層的存儲平臺。
因此我們認為將Spring Cloud與Ceph作為鐵路視頻監(jiān)控云平臺的基礎開發(fā)框架是有一定的普遍性和代表性的。
2? 系統(tǒng)架構(gòu)設計
視頻監(jiān)控云平臺架構(gòu)上遵循典型的云計算三層架構(gòu)進行設計實現(xiàn)的,在視頻業(yè)務領域?qū)P系如圖1系統(tǒng)架構(gòu)圖,由下至上分別對應IaaS、PaaS和SaaS層。
(1)IaaS層:是硬件服務器,存儲設備,網(wǎng)絡設備以Docker容器的形式提供虛擬化的計算與存儲能力。
(2)PaaS層:是Spring cloud平臺框架與Ceph云存儲構(gòu)成的云平臺基礎框架層。
(3)SaaS層:是云平臺基礎框架上運行的具體的視頻云品臺的業(yè)務應用層。
3? 鐵路視頻標準融合設計
目前鐵路視頻系統(tǒng)遵循的主要是《鐵標1.0》《鐵標2.0》,這是鐵路視頻系統(tǒng)的根本要求,根據(jù)鐵標要求的通信框架與系統(tǒng)級聯(lián)模式要求,采用的Spring Cloud微服務框架與鐵標相結(jié)合,需要做如下幾方面的融合設計。
(1)通信實時性的優(yōu)化。Spring cloud:框架內(nèi)部的采用的事SOA通信模式,是無狀態(tài)的,而鐵標要求的是基于TCP連接的有狀態(tài)實時通信模式,因此,在系統(tǒng)的時機過程中,在微服務之間增加了實時通信的機制,并與SOA通信機制結(jié)合使用。
(2)網(wǎng)絡不對等性的優(yōu)化。Spring cloud主要是針對互聯(lián)網(wǎng),傳輸主要是SOA傳遞的文本信息,但是視頻監(jiān)控系統(tǒng)大量傳遞的是視頻流數(shù)據(jù),對網(wǎng)絡帶寬要求較高,鐵路專網(wǎng)的組網(wǎng)特點是多個環(huán)網(wǎng)組成,同一個環(huán)內(nèi)網(wǎng)絡條件好,帶寬高,環(huán)與環(huán)之間帶寬是瓶頸。因此,在實現(xiàn)云平臺的負載均衡的特性時,就需要考慮網(wǎng)絡條件不均衡的問題,所以就不能針對整個系統(tǒng)進行全域的負載均衡,而需要將負載均衡策略限定在網(wǎng)絡條件對等的范圍內(nèi),而在系統(tǒng)設計時,我們將根據(jù)鐵路的網(wǎng)絡結(jié)構(gòu),對負載均衡策略進行范圍分組。
(3)多級樹形系統(tǒng)架構(gòu)的優(yōu)化。全路的視頻網(wǎng)絡架構(gòu)是鐵路總公司核心節(jié)點,路局區(qū)域節(jié)點,線路一類節(jié)點三級級聯(lián)架構(gòu),這與Spring Cloud的架構(gòu)也是不相同的。因此,為了使上下級系統(tǒng)級聯(lián)也能體現(xiàn)出云平臺架構(gòu)的高可用優(yōu)勢,我們在上下級交互的部分,增加了動態(tài)指定通信服務主體的機制,使得上下級交互的單點瓶頸得以接觸,同時協(xié)議上與鐵標完全兼容。
4? 開發(fā)實現(xiàn)過程
(1)開發(fā)語言的確定。Spring Cloud微服務框架主體是Java語言,但是鐵路視頻監(jiān)控系統(tǒng)是傳統(tǒng)的流媒體業(yè)務,流媒體業(yè)務對性能的要求較高,多采用C/C++編寫,同時Java語言對于面向Web應用的開發(fā)具有先天的優(yōu)勢,因此采用了Java語言與C/C++混合編程的方式實現(xiàn)云平臺。
(2)微服務劃分。在微服務框架中,有一個關鍵性的問題就是微服務的劃分,具體微服務該以多大粒度來劃分,沒有統(tǒng)一的標準,劃分的過小會增加系統(tǒng)的協(xié)調(diào)管理開銷,劃分過大則將損失系統(tǒng)的靈活性與擴展性。結(jié)合鐵路視頻標準與業(yè)務,將視頻云平臺主要劃分為管理微服務集群,存儲微服務集群,分轉(zhuǎn)發(fā)微服務集群,這些類型的微服務是承載了視頻業(yè)務的信令協(xié)議與流媒體傳輸?shù)暮诵墓δ?。圖2系統(tǒng)微服務劃分圖,突出了微服務集群在整個視頻云平臺核心位置。
(3)微服務負載能力算法定義。在視頻云平臺中,任務負載均衡與任務動態(tài)切換與接管是平臺的主要特性,Spring Cloud提供的負載均衡僅僅是基于Web訪問量的一個負載,無法滿足視頻云平臺要求的視頻流媒體的任務負載與動態(tài)接管,視頻云平臺為各個服務自定義了能力值,存儲服務的能力值由存儲能力和回放能力兩個值組成,分轉(zhuǎn)發(fā)服務的能力值由接入能力與分發(fā)能力組成,在一個視頻流任務的執(zhí)行過程中,將會根據(jù)各個類型的微服務的各種類型的能力值,動態(tài)計算應該由哪個微服務承接該請求任務,從而實現(xiàn)了任務的負載均衡與動態(tài)接管。
(4)共享內(nèi)存與分布式鎖應用。視頻云平臺內(nèi)的各個微服務之間,既需要共享數(shù)據(jù)又需要保持數(shù)據(jù)的同步,因此,在視頻云平臺中,就需要增加進程間數(shù)據(jù)共享與同步的機制,這是Spring Cloud框架沒有提供的部分,通過對比最終選擇了Ignite共享內(nèi)存與分布式鎖的解決方案,加入到視頻云平臺之中。
5? 應用效果驗證
視頻云平臺已經(jīng)完成開發(fā)工作,經(jīng)過驗證,功能與協(xié)議信令符合鐵標協(xié)議的要求,同時具備了高可用,負載均衡,高可用,任務動態(tài)接管等云平臺的特性,同時性能得到顯著提升,系統(tǒng)的穩(wěn)定性大大提升,達到預期的效果。
6? 結(jié)語
通過鐵路標準的視頻監(jiān)控云平臺的技術選型,設計,實現(xiàn)得到比較深刻的啟示就是,任何新技術在特定行業(yè)的應用,均需要與業(yè)務相結(jié)合,都是需要改進和優(yōu)良的,完全的拿來主義是行不通的,恰恰就是與業(yè)務的深度結(jié)合才能體現(xiàn)出新技術的價值。
參考文獻
[1] Karan Singh(卡蘭·辛格),著.Ceph CookBoo中文版[M].Ceph中國社區(qū),KVM云技術社區(qū),譯.北京:電子工業(yè)出版社,2016.
[2] 王浩,王偉旗.云平臺通信技術應用[M].北京:中國水利水電出版社,2019.
[3] 翟永超.Spring Cloud微服務實戰(zhàn)[M].北京:電子工業(yè)出版社,2017.