毛紅衛(wèi),陳海明,周忠瑞
(浙江省諸暨市融媒體中心,浙江 紹興 311800)
視頻點播(Video on Demand,VOD)又稱為互動點播、在線點播,以實時性、交互性、自主性和直觀性等特點,越來越多地滲透到人們的日常生活娛樂中,內(nèi)容包括文字、圖片、視音頻等多種形式[1]。海量、超大規(guī)模的數(shù)據(jù)存儲系統(tǒng)影響運營過程中的數(shù)據(jù)調(diào)度、輸出寫入、數(shù)據(jù)恢復(fù)等一系列的系統(tǒng)效率,對此,存儲策略有多級存儲、內(nèi)部緩存、云存儲等多種方式,提高硬件的性能、優(yōu)化存儲結(jié)構(gòu)、采用多級Cache 緩存和智能調(diào)度(優(yōu)化算法)等多種手段,提升存儲系統(tǒng)的可靠性、可用性、穩(wěn)定性和可持續(xù)性[2]。各級廣電單位(融媒體中心)根據(jù)社會效益、經(jīng)濟效益以及自身發(fā)展需要等多種因素綜合考量,建設(shè)基于廣電網(wǎng)絡(luò)的VOD 系統(tǒng)。本文將介紹一種基于智能網(wǎng)格推流系統(tǒng)的云分布式存儲策略。
分布式存儲是把在地理位置上相對分散的存儲空間整合成一體,高度依賴網(wǎng)絡(luò),把分散的存儲空間鏈接起來,實現(xiàn)數(shù)據(jù)共享、存儲和計算分開。在存儲磁盤中采用緊耦合節(jié)點互連方式進行分布式存儲,存儲陣列節(jié)點之間通過輸入/輸出(Input Output,I/O)互聯(lián)進行通信,系統(tǒng)通過訪問權(quán)限對存儲特定節(jié)點進行管理操作。分布式存儲的核心技術(shù)包括文件條帶化、內(nèi)部網(wǎng)絡(luò)交換機制、存儲備份、存儲顆粒度和淘汰機制等。
在VOD 視頻服務(wù)領(lǐng)域不存在分布式計算的問題,實際需要重點解決的是分布式存儲問題[3]。隨著高清、超高清視頻的應(yīng)用,超大容量存儲要求越來越高。采用云分布式存儲的方法,可以支持萬級規(guī)模的用戶量的普及,甚至更高并發(fā)流信息共享,可以有效解決傳統(tǒng)集群架構(gòu)存儲不能共享、服務(wù)資源不能動態(tài)分配、擴容空間部署復(fù)雜等問題,將存儲功能從服務(wù)器系統(tǒng)主體中分離,具有強大的獨立存儲功能,海量數(shù)據(jù)緩存更專業(yè)高效[4]。
VOD 視頻服務(wù)器具備本地緩存單元。存儲系統(tǒng)使用串行SCSI(Serial Attached SCSI,SAS)接口的機械磁盤或Flash 介質(zhì)磁盤作為緩存載體。本地物理存儲設(shè)備部件支持自動化熱插拔,減少人工干預(yù)。
VOD 視頻存儲系統(tǒng)采用分層緩存管理策略,按空間分配保存有所有文件分片數(shù)據(jù)的獨立的熱度統(tǒng)計數(shù)據(jù)[5]。熱度高的數(shù)據(jù)放在一級高速緩存中,熱度低的數(shù)據(jù)放在二、三級緩存中,根據(jù)熱度的實時變化,自動、實時遷移相應(yīng)的分片數(shù)據(jù)到相應(yīng)的緩存區(qū)域。分布式存儲系統(tǒng)通過特征數(shù)據(jù)分割提取實現(xiàn)分層管理,時序數(shù)據(jù)特征提取公式為
式中:i1、i2分別表示數(shù)據(jù)包的兩種特征相關(guān)度參數(shù)。根據(jù)特征標簽進行分割,引入緩存節(jié)點相對空間距離權(quán)重a計算數(shù)據(jù)包緩沖長度,計算公式為
式中:LI表示特征數(shù)據(jù)包緩沖長度,n為特征子數(shù)據(jù)包數(shù)量,ΔB為分布式緩存數(shù)據(jù)包平均容量。根據(jù)計算結(jié)果對特征數(shù)據(jù)包進行分布式多層緩存管理。分層緩存管理機制分為服務(wù)器緩存、代理緩存和客戶端緩存3 大層級。
服務(wù)器緩存采用隨機存取存儲器(Random Access Memory,RAM)存儲方法,對VOD 系統(tǒng)服務(wù)器本地數(shù)據(jù)進行緩存,通過數(shù)據(jù)預(yù)取方法縮短點播視頻存儲延遲,分布式存儲節(jié)點分別對各自區(qū)域的存儲網(wǎng)絡(luò)進行調(diào)頻處理。代理緩存是系統(tǒng)服務(wù)器磁盤硬存儲,針對存儲數(shù)據(jù)量大、局域網(wǎng)延時嚴重情況,啟動數(shù)據(jù)代理緩存,調(diào)動集中緩存中心數(shù)據(jù)傳輸?shù)骄彺娲砉?jié)點,可有效減少I/O 路徑瓶頸頻率,提高服務(wù)器存儲系統(tǒng)負載能力??蛻舳司彺婊邳c對點(Peer to Peer,P2P)網(wǎng)絡(luò)進行網(wǎng)絡(luò)資源擴容服務(wù),以局部終端節(jié)點為中心,獲取相關(guān)系統(tǒng)數(shù)據(jù)資源,增強數(shù)據(jù)庫資源完整度,以提供更高效率的緩存與數(shù)據(jù)服務(wù)。
采用三級Cache 緩存技術(shù)支持緩存替換,內(nèi)存Cache 實現(xiàn)數(shù)據(jù)直接從內(nèi)存讀寫,加快響應(yīng)速度;硬盤Cache 實現(xiàn)數(shù)據(jù)從硬盤讀寫,調(diào)整緩存策略參數(shù)配置,硬盤與內(nèi)存組合存儲模式可進行互連數(shù)據(jù)讀寫替換。
根據(jù)VOD 系統(tǒng)規(guī)劃,邊緣緩存節(jié)點承擔本地80%的并發(fā)流量,20%并發(fā)來自網(wǎng)絡(luò)的存儲規(guī)則,分來源地對緩存文件分片進行哈希校驗,根據(jù)損壞處理機制(Intelligent Corruption Handling,ICH),存儲管理系統(tǒng)會從集群內(nèi)對文件分片數(shù)據(jù)的完整性進行校驗,哈希轉(zhuǎn)換公式為
式中:αi、βi分別表示緩存數(shù)據(jù)i的存儲節(jié)點向量和存儲空間向量。利用稀疏度計算選取最優(yōu)關(guān)聯(lián)度可替換數(shù)據(jù),計算公式為
式中:XI(i)為稀疏度關(guān)聯(lián)可替換數(shù)據(jù)閾值,fm表示稀疏關(guān)聯(lián)密度值,ti為節(jié)點信息緩存時間。通過式(4)推斷損壞數(shù)據(jù)的可替換關(guān)聯(lián)參數(shù),進行補償替換緩存。
ICH 機制重新調(diào)度緩存損壞的部分數(shù)據(jù),對內(nèi)存緩存信息進行周期性備份,根據(jù)存儲日志邏輯,將獨立節(jié)點存儲數(shù)據(jù)轉(zhuǎn)化為持久化緩存形式,調(diào)入存儲空間,剔除原有問題數(shù)據(jù)塊進行替換。
傳統(tǒng)的單一存儲方式受限于節(jié)點空間,當緩存出現(xiàn)數(shù)據(jù)缺失,無法繼續(xù)將相對應(yīng)的數(shù)據(jù)進行映射緩存,還會增加存儲空間的I/O 路徑時延情況。為滿足客戶端讀寫響應(yīng)需求,將存儲中心的讀寫旁路與懶惰緩存法結(jié)合,以保證存儲池數(shù)據(jù)處理質(zhì)量。實現(xiàn)步驟如圖1 所示。
當客戶端請求通過I/O 路徑檢索關(guān)鍵數(shù)據(jù)是否在數(shù)據(jù)庫中,在存儲池調(diào)動關(guān)鍵詞相關(guān)數(shù)據(jù)滿足客戶需求。若檢索發(fā)現(xiàn)數(shù)據(jù)庫未能滿足客戶請求,將請求信息轉(zhuǎn)發(fā)到關(guān)聯(lián)系統(tǒng)數(shù)據(jù)庫,進行讀寫旁路檢索,獲取缺失數(shù)據(jù)塊。當數(shù)據(jù)庫中某一數(shù)據(jù)塊訪問次數(shù)過多而產(chǎn)生大量運行緩存,可將該數(shù)據(jù)塊進行重用距離設(shè)置,采用懶惰緩存策略,避免多次訪問產(chǎn)生I/O 時延,增加存儲系統(tǒng)冗余緩存數(shù)據(jù)。
負載均衡能極大地降低網(wǎng)絡(luò)堵塞,提高終端訪問的有效命中率和服務(wù)節(jié)點的響應(yīng)速度,可以使用軟件實現(xiàn)也可以使用硬件實現(xiàn),保證高效的資源調(diào)度和分發(fā)。為保證整個系統(tǒng)的負載均衡,系統(tǒng)采用全局負載均衡(Global Server Load Balance,GSLB)、本地負載均衡(Server Load Balance,SLB)相結(jié)合的方式,如圖2 所示。本地負載均衡是在全局負載均衡調(diào)度基礎(chǔ)上為終端選擇節(jié)點內(nèi)最優(yōu)的存儲單元提供服務(wù)。
圖2 多級負載均衡
本地負載均衡負責節(jié)點內(nèi)存儲單元之間的流量均衡,系統(tǒng)支持以下本地負載均衡策略:通過對終端發(fā)起的內(nèi)容請求和對節(jié)點內(nèi)視頻存儲單元的內(nèi)容分布,把終端請求指向到包含內(nèi)容的視頻存儲單元,這是本地負載均衡的內(nèi)容策略;通過對節(jié)點內(nèi)視頻存儲單元的流量、鏈接數(shù)等多重解析,把終端指向到節(jié)點負載情況較好、網(wǎng)絡(luò)狀況較好和負擔輕的單元,這是本地負載均衡邊緣存儲單元策略。
全局負載均衡方式是調(diào)度分發(fā)的過程,在眾多分散的資源站點中,為終端選擇一個最近的最優(yōu)節(jié)點作為服務(wù)站點,在節(jié)點與節(jié)點之間保證數(shù)據(jù)的基本平衡。系統(tǒng)支持以下3 個全局負載均衡策略。第一,通過對網(wǎng)際互連協(xié)議(Internet Protocol,IP)地址段和單個IP 地址的解析,把終端發(fā)起的請求指向到終端物理位置最近的節(jié)點,這是全局負載均衡的就近策略;第二,通過對終端內(nèi)容請求解析,把終端發(fā)起的內(nèi)容請求指向到包含終端請求的節(jié)點,這是全局負載均衡的內(nèi)容策略;第三,通過對節(jié)點的流量、鏈接數(shù)等多重解析,把終端指向到節(jié)點負載情況較好、網(wǎng)絡(luò)狀況較好和負擔輕的節(jié)點,這是全局負載均衡節(jié)點策略。
VOD 系統(tǒng)廣泛應(yīng)用于多個領(lǐng)域。近幾年,以視頻為主的VOD 業(yè)務(wù)量呈現(xiàn)爆炸式增長,應(yīng)用范圍越來越廣。本文介紹了海量VOD 數(shù)據(jù)的存儲和調(diào)度方式,探究分布式存儲系統(tǒng)架構(gòu)、存儲策略和負載均衡機制,針對獨立存儲節(jié)點之間相互獨立的分布式緩存模式、讀寫旁路和懶惰存儲、分層管理機制與替換存儲等策略進行分析,證明分布式獨立的存儲單元的服務(wù)中斷不會影響系統(tǒng)整體的正常運轉(zhuǎn),可以有效維護VOD 系統(tǒng)數(shù)據(jù)存儲安全穩(wěn)定。