專利名稱:基于自主附網(wǎng)虛擬盤陣列的集群視頻服務(wù)器及方法
本發(fā)屬于計算機應(yīng)用領(lǐng)域,為一種基于自主附網(wǎng)虛擬盤陣列的集群視頻服務(wù)器及方法。
隨著寬帶網(wǎng)絡(luò)、聲音圖像數(shù)字編碼技術(shù)的發(fā)展,視頻服務(wù)器的應(yīng)用越來越普及。相比其它網(wǎng)絡(luò)服務(wù)器,視頻服務(wù)器對計算機性能有著特殊的要求。CPU、內(nèi)存、網(wǎng)絡(luò)和硬盤的瓶頸制約了它的發(fā)展。當今普通的基于單機的服務(wù)器通常只能服務(wù)幾十個用戶;而國外高性能的服務(wù)器則價格非常昂貴。
集群技術(shù)因其高度可擴展性和廉價的成本而為視頻服務(wù)器的實現(xiàn)提供了一個良好的解決途徑。針對于視頻服務(wù),現(xiàn)在的集群技術(shù)面臨的一個技術(shù)難點在于系統(tǒng)的I/O帶寬難以規(guī)模擴展。傳統(tǒng)的解決方案有基于獨立磁盤的文件的復制策略,層次式的存儲策略,和基于虛擬盤陣列的分布式文件系統(tǒng)策略等等。它們要么是不能進行有效的負載均衡,要么是需要消耗大量的系統(tǒng)資源,所以整個系統(tǒng)的I/O瓶頸依然存在。
本發(fā)明的目的是針對現(xiàn)有技術(shù)中的不足,形成一種基于自主附網(wǎng)虛擬盤陣列的集群視頻服務(wù)器及方法,從而有效地解決了現(xiàn)有技術(shù)中的I/O帶寬瓶頸問題。
本發(fā)明所說的基于自主附網(wǎng)虛擬盤陣列的集群視頻服務(wù)器及方法,是在虛擬盤陣列技術(shù)的基礎(chǔ)之上,給原來的數(shù)據(jù)節(jié)點加入自主特性,減小了大量數(shù)據(jù)拷貝次數(shù),從而降低了系統(tǒng)的資源消耗,使系統(tǒng)的I/O帶寬能隨節(jié)點數(shù)的增加得到線性的擴展。
本發(fā)明所說的基于自主附網(wǎng)虛擬盤陣列的集群視頻服務(wù)器,其結(jié)構(gòu)示意圖如
圖1所示。
1.體系結(jié)構(gòu)本發(fā)明所說的基于自主附網(wǎng)虛擬盤陣列的集群視頻服務(wù)器,整個系統(tǒng)分為三層第一層包括前端機1和備份機2,前端機1的功能是對連接請求進行調(diào)度,備份機2的功能是對前者的信息進行備份,以在故障發(fā)生時進行容錯。第二層是m個控制節(jié)點31,32,……,3m,具體負責與用戶的交互,并針對用戶的請求,調(diào)度第三層的數(shù)據(jù)節(jié)點為之服務(wù)。第三層是n個數(shù)據(jù)節(jié)點41,42,……4N,根據(jù)第二層控制節(jié)點的命令,讀取本機數(shù)據(jù)并直接發(fā)往指定的客戶。
所說的前端機1、備份機2、控制節(jié)點31,32,……,3m以及數(shù)據(jù)節(jié)點41,42,……4n通過交換機5進行互連。
2.工作流程描述(1)用戶向集群服務(wù)器前端機1發(fā)起連接請求。
(2)前端機1選擇一臺控制節(jié)點機(例如控制節(jié)點機31)響應(yīng)客戶的連接請求。
(3)控制節(jié)點機31建立控制連接,并和客戶協(xié)商好數(shù)據(jù)端口。
(4)控制節(jié)點機31將用戶的請求解析成具體的文件操作和數(shù)據(jù)傳輸命令,向各個數(shù)據(jù)節(jié)點41,42,……,4n發(fā)送,包括讀取哪些數(shù)據(jù)塊、發(fā)送的目的地、數(shù)據(jù)傳送速率、RTP包的初始序列號以及初始邏輯時戳等等。
(5)各個數(shù)據(jù)節(jié)點41,42,……,4n讀取指定的數(shù)據(jù)塊,并經(jīng)由自己的網(wǎng)絡(luò)出口發(fā)送給客戶。
3.實現(xiàn)的關(guān)鍵技術(shù)(1)容錯技術(shù)前端機容錯對前端機所保存的連接信息在備份機上進行同步鏡像。這主要通過修改前端機調(diào)度軟件LVS(免費共享軟件)來實現(xiàn)。
控制節(jié)點容錯通過前端機對控制節(jié)點的實時監(jiān)控。如有故障,則后繼的用戶連接請求不再定向到該臺機器。
數(shù)據(jù)節(jié)點容錯利用RAID10提供的數(shù)據(jù)鏡像功能,故障發(fā)生時重新選取數(shù)據(jù)讀取路徑。
(2)虛擬盤陣列技術(shù)利用已有的虛擬盤陣列管理軟件(如NBD)來進行文件的分片管理。第三層數(shù)據(jù)節(jié)點的磁盤組織方式采用RAID10。另外,開發(fā)專有的數(shù)據(jù)讀取接口,繞開ext2文件系統(tǒng)。
(3)多數(shù)據(jù)源的單一流映像技術(shù)通過修改IP協(xié)議棧源代碼,和在用戶層對UDP包進行分片控制來避免客戶IP協(xié)議重組IP包分片時產(chǎn)生的混亂;對多臺數(shù)據(jù)節(jié)點的端口使用進行統(tǒng)一管理,對RTP包的序列號和時戳進行統(tǒng)一的協(xié)調(diào)和管理。
4.視頻服務(wù)結(jié)構(gòu)及軟件(VoD server)模塊示意圖如圖2所示。它們的功能和相互關(guān)系描述如下(1)用戶交互模塊6,負責與用戶的交互并將用戶請求翻譯成具體的流控制命令傳送給流調(diào)度模塊7。
(2)流調(diào)度模塊7,根據(jù)用戶交互模塊6的命令向準入控制模塊8申請準入權(quán)限,如獲準,則將流控制命令翻譯成子流控制命令,并向各個子流調(diào)度模塊91,92,……,9n發(fā)送,否則向用戶交互模塊返回拒絕服務(wù)信息。
(3)準入控制模塊8,根據(jù)資源控制模塊101,102,……,10n的報告,決定允許或拒絕用戶的調(diào)度請求。
(4)子流調(diào)度模塊91,92,……,9n,根據(jù)流調(diào)度模塊7傳來的命令,進行數(shù)據(jù)的讀取和網(wǎng)絡(luò)傳送。
(5)資源控制模塊101,102,……,10n,分別負責從緩沖管理模塊111,112,……,11n和磁盤調(diào)度模塊121,122,……,12n搜集負載信息,并在需要時向準入控制模塊8報告。
(6)緩沖管理模塊111,112,……,11n,負責對緩沖區(qū)進行管理。
(7)磁盤調(diào)度模塊121,122,……,12n,負責對磁盤操作進行優(yōu)化調(diào)度。
本發(fā)明所說的基于自主附網(wǎng)虛擬盤陣列的集群視頻服務(wù)器及方法具有以下優(yōu)點及效果1.性能高。與傳統(tǒng)的集群視頻服務(wù)器相比,本發(fā)明所說的服務(wù)器性能有很大提高。在傳統(tǒng)的方案中,第三層數(shù)據(jù)節(jié)點只是被動地向第二層節(jié)點提供數(shù)據(jù),這些數(shù)據(jù)在某個第二層的控制節(jié)點匯集后通過單一網(wǎng)絡(luò)出口送往客戶。這些海量數(shù)據(jù)的周轉(zhuǎn)給內(nèi)部資源帶來了極大消耗,從而限制了整個系統(tǒng)的數(shù)據(jù)吞吐率。在本發(fā)明的技術(shù)解決方案中,數(shù)據(jù)流和控制流分開控制節(jié)點只負責與用戶交互,而實際的數(shù)據(jù)傳輸則由多個數(shù)據(jù)節(jié)點來完成-它們在控制節(jié)點的協(xié)調(diào)下,讀取本機數(shù)據(jù)并通過自己的網(wǎng)絡(luò)出口統(tǒng)一向客戶傳送。對于相同規(guī)模的集群系統(tǒng)而言,本發(fā)明所述的方案比傳統(tǒng)方案所產(chǎn)生的系統(tǒng)資源消耗要節(jié)省一半(從數(shù)據(jù)的拷貝次數(shù)和網(wǎng)絡(luò)傳輸次數(shù)上講),而系統(tǒng)的數(shù)據(jù)吞吐率則比它要提高將近一倍。
2.可擴展性強。隨著節(jié)點數(shù)的增多,服務(wù)能力可從幾十個流擴展到到幾百個甚至上千個流。而對于傳統(tǒng)的集群視頻服務(wù)器,當節(jié)點數(shù)增到一定數(shù)目時,其支持的流的數(shù)目則迅速達到飽和。本發(fā)明方案的高度可擴展性使得它在各種規(guī)模的小區(qū)、賓館酒店和娛樂場所都能適用。
3.穩(wěn)定性好。通過對三級節(jié)點的容錯,克服了整個系統(tǒng)的單一失效點問題,即整個系統(tǒng)不會因為某一臺機器的故障而停止工作。
4.價格便宜。所采用的硬件設(shè)施均為市場上通用的硬件設(shè)備。與同樣性能的高檔服務(wù)器產(chǎn)品相比,本發(fā)明的服務(wù)器的硬件成本只有它們的1/10。
圖1基于自主附網(wǎng)虛擬盤陣列的視頻服務(wù)器結(jié)構(gòu)示意圖;圖2基于自主附網(wǎng)虛擬盤陣列的視頻服務(wù)器結(jié)構(gòu)及軟件模塊圖。
實施例在具有16個節(jié)點機上的集群系統(tǒng)構(gòu)建了一個服務(wù)器系統(tǒng),其基本配置如下
其中,一臺節(jié)點機作為前端分流機,一臺作為備份機兼系統(tǒng)監(jiān)控機,兩臺作為控制節(jié)點機,十二臺作為存儲節(jié)點機。
在實際的局域網(wǎng)實驗環(huán)境內(nèi),通過模擬測試,整個系統(tǒng)的數(shù)據(jù)吞吐量達到了90MB/s.這個吞吐量能夠同時服務(wù)480個MPEG-1流和360個MPEG-2流。
權(quán)利要求
1.一種基于自主附網(wǎng)虛擬盤陣列的集群視頻服務(wù)器,由前端機、備份機、控制節(jié)點、數(shù)據(jù)節(jié)點和交換機組成,其特征在于,整個系統(tǒng)分為三層第一層包括對連接請求進行調(diào)度的前端機(1),對前者的信息進行備份和容錯的備份機(2);第二層是m個具體負責與用戶的交互,并針對用戶的請求,調(diào)度第三層的數(shù)據(jù)節(jié)點為之服務(wù)的控制節(jié)點(31,32,……,3m);第三層是n個根據(jù)第二層控制節(jié)點的命令,讀取本機數(shù)據(jù)并直接發(fā)往指定的客戶的數(shù)據(jù)節(jié)點(41,42,……4n);所說的前端機(1)、備份機(2)、控制節(jié)點(31,32,……,3m)以及數(shù)據(jù)節(jié)點(41,42,……4n)通過交換機(5)進行互連。
2.一種由第一層前端機、備份機,第二層m個控制節(jié)點,第三層n個數(shù)據(jù)節(jié)點和交換機組成的--基于自主附網(wǎng)虛擬盤陣列的集群視頻服務(wù)器,其工作流程和方法為1)用戶向集群服務(wù)器前端機(1)發(fā)起連接請求;2)前端機(1)選擇一臺控制節(jié)點機,例如控制節(jié)點機(3x),(其中x為1,2,……n),響應(yīng)客戶的連接請求;3)控制節(jié)點機(3x)建立控制連接,并和客戶協(xié)商好數(shù)據(jù)端口;4)控制節(jié)點機(3x)將用戶的請求解析成具體的文件操作和數(shù)據(jù)傳輸命令,向各個數(shù)據(jù)節(jié)點(41,42,……,4n)發(fā)送,包括讀取哪些數(shù)據(jù)塊、發(fā)送的目的地、數(shù)據(jù)傳送速率、RTP包的初始序列號以及初始邏輯時戳等;5)各個數(shù)據(jù)節(jié)點(41,42,……,4n)讀取指定的數(shù)據(jù)塊,并經(jīng)由自己的網(wǎng)絡(luò)出口發(fā)送給客戶;在所說的方法中運用有容錯技術(shù)、虛擬盤陣列技術(shù)、多數(shù)據(jù)源的單一流映像技術(shù),并配置有視頻服務(wù)結(jié)構(gòu)和軟件。
3.按照權(quán)利要求2所說的方法,其特征在于,所說的容錯技術(shù)有前端機容錯對前端機所保存的連接信息,通過修改前端機調(diào)度軟件LVS來實現(xiàn)在備份機上進行同步鏡像;控制節(jié)點容錯通過前端機對控制節(jié)點的實時監(jiān)控,如有故障,則后繼的用戶連接請求不再定向到該臺機器;數(shù)據(jù)節(jié)點容錯利用RAID10提供的數(shù)據(jù)鏡像功能,故障發(fā)生時重新選取數(shù)據(jù)讀取路徑。
4.按照權(quán)利要求2所說的方法,其特征在于,所說的虛擬盤陣列技術(shù)為利用已有的虛擬盤陣列管理軟件來進行文件的分片管理;第三層數(shù)據(jù)節(jié)點的磁盤組織方式采用RAID10;利用數(shù)據(jù)讀取接口,繞開ext2文件系統(tǒng)。
5.按照權(quán)利要求2所說的方法,其特征在于,所說的多數(shù)據(jù)源的單一流映像技術(shù)是,通過修改IP協(xié)議棧源代碼,和在用戶層對UDP包進行分片控制來避免客戶IP協(xié)議重組IP包分片時產(chǎn)生的混亂;對多臺數(shù)據(jù)節(jié)點的端口使用進行統(tǒng)一管理,對RTP包的序列號和時戳進行統(tǒng)一的協(xié)調(diào)和管理。
6.按照權(quán)利要求2所說的方法,其特征在于,所說的視頻服務(wù)結(jié)構(gòu)及軟件的相互關(guān)系如下1)用戶交互模塊(6),負責與用戶的交互并將用戶請求翻譯成具體的流控制命令傳送給流調(diào)度模塊(7);2)流調(diào)度模塊(7),根據(jù)用戶模塊(6)的命令向準入控制模塊(8)申請準入權(quán)限,如獲準,則將流控制命令翻譯成子流控制命令,并向各個子流調(diào)度模塊(91,92,……,9n)發(fā)送,否則向用戶交互模塊返回拒絕服務(wù)信息;3)準入控制模塊(8),根據(jù)資源控制模塊(101,102,……,10n)的報告,決定允許或拒絕用戶的調(diào)度請求;4)子流調(diào)度模塊(91,92,……,9n),根據(jù)流調(diào)度模塊(7)傳來的命令,進行數(shù)據(jù)的讀取和網(wǎng)絡(luò)傳送;5)資源控制模塊(101,102,……,10n),負責從緩沖管理模塊(111,112,……,11n)和磁盤調(diào)度模塊(121,122,……,12n)搜集負載信息,并在需要時向準入控制模塊(8)報告;6)緩沖管理模塊(111,112,……,11n),負責對緩沖區(qū)進行管理;7)磁盤調(diào)度模塊(121,122,……,12n),負責對磁盤操作進行優(yōu)化調(diào)度。
全文摘要
本發(fā)明為一種基于自主附網(wǎng)虛擬盤陣列的集群視頻服務(wù)器,整個系統(tǒng)分為三層:第一層包括前端機、備份機;第二層是m個控制節(jié)點;第三層是n個數(shù)據(jù)節(jié)點;所說的前端機、備份機、控制節(jié)點及數(shù)據(jù)節(jié)點通過交換機進行互連。本服務(wù)器的工作流程和方法中運用有容錯技術(shù)、虛擬盤陣列技術(shù)、多數(shù)據(jù)源的單一流映像技術(shù),并配置有視頻服務(wù)結(jié)構(gòu)和軟件。所說的服務(wù)器及方法與傳統(tǒng)的集群視頻服務(wù)器相比,具有性能高、可擴展性強、穩(wěn)定性好、價格便宜等優(yōu)點及效果。
文檔編號G06F12/08GK1324026SQ01114299
公開日2001年11月28日 申請日期2001年6月19日 優(yōu)先權(quán)日2001年6月19日
發(fā)明者金海 , 譚光, 吳松, 龐麗萍, 韓宗芬 申請人:華中科技大學