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

圖2 多級負載均衡
本地負載均衡負責節點內存儲單元之間的流量均衡,系統支持以下本地負載均衡策略:通過對終端發起的內容請求和對節點內視頻存儲單元的內容分布,把終端請求指向到包含內容的視頻存儲單元,這是本地負載均衡的內容策略;通過對節點內視頻存儲單元的流量、鏈接數等多重解析,把終端指向到節點負載情況較好、網絡狀況較好和負擔輕的單元,這是本地負載均衡邊緣存儲單元策略。
全局負載均衡方式是調度分發的過程,在眾多分散的資源站點中,為終端選擇一個最近的最優節點作為服務站點,在節點與節點之間保證數據的基本平衡。系統支持以下3 個全局負載均衡策略。第一,通過對網際互連協議(Internet Protocol,IP)地址段和單個IP 地址的解析,把終端發起的請求指向到終端物理位置最近的節點,這是全局負載均衡的就近策略;第二,通過對終端內容請求解析,把終端發起的內容請求指向到包含終端請求的節點,這是全局負載均衡的內容策略;第三,通過對節點的流量、鏈接數等多重解析,把終端指向到節點負載情況較好、網絡狀況較好和負擔輕的節點,這是全局負載均衡節點策略。
VOD 系統廣泛應用于多個領域。近幾年,以視頻為主的VOD 業務量呈現爆炸式增長,應用范圍越來越廣。本文介紹了海量VOD 數據的存儲和調度方式,探究分布式存儲系統架構、存儲策略和負載均衡機制,針對獨立存儲節點之間相互獨立的分布式緩存模式、讀寫旁路和懶惰存儲、分層管理機制與替換存儲等策略進行分析,證明分布式獨立的存儲單元的服務中斷不會影響系統整體的正常運轉,可以有效維護VOD 系統數據存儲安全穩定。