流媒體服務器負載均衡結構設計
在網絡上面,視頻的傳輸是很龐大的。面對大連數據的傳輸和交換,必須要用到負載均衡技術。針對流媒體服務器的負載均衡我們前面也介紹過了一些內容了。現在,我們就針對它的設計結構再來詳細說一說,幫助大家理解這部分內容。
流媒體服務器中的負載均衡系統結構設計
對于大型視頻點播系統來說,一個好的負載均衡算法不能只單純考慮負載分配問題,更應“未雨綢繆",在接受用戶請求和節目存儲時就考慮到負載均衡問題,因此我們認為本系統中的負載均衡系統應該如圖1所示,分為接入許可控制模塊(Admission Control Module, A CM )、負載調度模塊(Load Schedule Module,LSM )和存儲管理模塊(Storage Manage Module, SMM )三個部分。
接入許可控制模塊作為視頻服務器的單一入口點,判斷是否接受客戶的命令請求;負載調度模塊負責根據一定的服務器選擇算法分配負載,并管理各MS-VOD節點;存儲管理模塊負責根據點播率變化情況及時調整影片存儲。
圖1.流媒體服務器中的負載均衡系統結構示意圖
客戶請求處理流程
ACM作為流媒體服務器的入口點,記錄有所有正在接受服務客戶與MS-VOD的對應關系,即根據客戶標識能夠立即查詢到為其服務的MS-VOD。當ACM 收到流量控制和VCR(Video Cassette Record)等己連接客戶的命令請求時,將其賦予很高的優先級,直接轉發到為該客戶服務的MS-VOD,由同一個MS-VOD作進一步處理。而對于客戶提交的新的點播請求命令,則按下而的流程完成處理:
1.MS-Manager中的ACM模塊收到用戶請求后進行處理:首先與BOSS交互進行用戶身份鑒權和點播合法性的認證,然后再經許可準入控制算法處理,決定是否接受該用戶請求;
2.對于非法的點播請求或者是暫時無法滿足其QoS要求的點播請求,ACM直接返 回給客戶拒絕服務信息;如果用戶請求通過了ACM的認證并被許可準入,則該請求會被轉發至LSM模塊;
3.LSM記錄其收到的客戶請求,根據當前各MS-VOD的負載記錄和一定的負載調度策略,按著先來先服務的原則,逐一為查詢命令選擇MS-VOD,如果查詢到了合適的MS-VOD,立即通知此MS-VOD為相應的用戶提供視頻服務;
4.如果當前沒有可用的服務器,則將該請求保留,保留其間多次為其選擇MS-VOD,直至選擇成功或失敗,并將結果通知ACM。對于超時失敗的選擇查詢, ACM會將結果通知該客戶;
5.對于選擇成功的查詢,將該客戶的加載請求發送到相應的MS-VOD,如果此MS-VOD中存儲有相應影片,則直接將影片數據從硬盤中調出至緩存中,再由視頻處理模塊將其轉化為流式數據,以提供給用戶流媒體視頻服務;
6.如果此MS-VOD中沒有存儲相應的影片,則立即向上級內容分發平臺CDP發出數 據請求,如果請求數據成功,將從ASON上接收數據放在緩存中,經過數據轉換后,立刻向客戶發送數據,并將加載成功結果通知ACM,否則將失敗結果返回給 ACM;
7.ACM將收到的加載結果返回給客戶,一個用戶請求處理完成。
小結
流媒體服務器研究的一個重點就是負載均衡問題。本文從流媒體服務器的架構特點和工作流程出發,給出了MS的系統設計,并提出將許可準入控制、負載分配和存儲調度管理三者有機結合的負載均衡算法,在實際測試中取得了很好的均衡效果。