版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、華中科技大學(xué)碩士學(xué)位論文分布式VOD系統(tǒng)中集群視頻服務(wù)器的設(shè)計(jì)與實(shí)現(xiàn) 姓名:昌玉芳申請(qǐng)學(xué)位級(jí)別:碩士專業(yè):通信與信息系統(tǒng)指導(dǎo)教師:黃本雄20060425摘要近年來(lái),為了滿足日益增大的網(wǎng)絡(luò)視頻流量, VOD 系統(tǒng)在網(wǎng)絡(luò)和視頻服務(wù)器端都 面臨著極大的挑戰(zhàn)。由于網(wǎng)絡(luò)帶寬的增長(zhǎng)遠(yuǎn)遠(yuǎn)快于服務(wù)器性能的提高,所以瓶頸問(wèn)題 主要集中在視頻服務(wù)器上。服務(wù)器集群由于具備負(fù)載均衡、高可用性和可擴(kuò)展性,成 為提高服務(wù)器性能問(wèn)題的一種較為理想的解決方法。本文從建設(shè)大規(guī)模視頻點(diǎn)播系統(tǒng) 出發(fā), 針對(duì)提升服務(wù)器系統(tǒng)的性能這一目標(biāo), 對(duì) VOD 視頻服務(wù)器集群系統(tǒng)的設(shè)計(jì)與實(shí) 現(xiàn)方法作了一些系統(tǒng)性的探討和研究, 力圖使廉價(jià)的 P
2、C 機(jī)通過(guò)低耦合的分布式體系構(gòu) 成一種可擴(kuò)展、負(fù)載均衡、高可用、高性能的 VOD 視頻服務(wù)器。通過(guò)對(duì) VOD 系統(tǒng)的概念和基本結(jié)構(gòu)、集群系統(tǒng)的理論及其負(fù)載均衡技術(shù)的分析, 提出了基于集群的 VOD 系統(tǒng)視頻服務(wù)器模型, 分為廣域網(wǎng)框架和局域網(wǎng)框架兩層。 基 于集群的廣域網(wǎng)分布式 VOD 系統(tǒng)由一個(gè)中心和多個(gè)分中心的二級(jí)架構(gòu)組成; 每個(gè)分中 心相當(dāng)于一個(gè)局域網(wǎng),其中包含一個(gè)視頻服務(wù)器集群。每個(gè)視頻服務(wù)器集群又由一個(gè) 集群管理節(jié)點(diǎn)和若干個(gè)視頻服務(wù)節(jié)點(diǎn)組成。首先給出了局域網(wǎng)視頻服務(wù)器集群負(fù)載均衡、 高可用性和動(dòng)態(tài)擴(kuò)展的設(shè)計(jì)方案。 負(fù) 載均衡是由視頻服務(wù)器集群中集群管理節(jié)點(diǎn)上的負(fù)載均衡調(diào)度器,根據(jù)某種
3、負(fù)載均衡 算法來(lái)實(shí)現(xiàn)的。針對(duì)視頻服務(wù)中不同的點(diǎn)播方式、視頻文件存儲(chǔ)調(diào)度的特點(diǎn)和視頻文 件的播放信息等問(wèn)題,在一般負(fù)載均衡算法的基礎(chǔ)上,給出了適用于視頻點(diǎn)播服務(wù)的 負(fù)載均衡算法。高可用性的實(shí)現(xiàn)包括集群管理節(jié)點(diǎn)和視頻服務(wù)節(jié)點(diǎn)兩方面,集群管理 節(jié)點(diǎn)可采用聯(lián)機(jī)熱備份來(lái)避免單點(diǎn)故障,視頻服務(wù)節(jié)點(diǎn)的高可用性基于它和集群管理 節(jié)點(diǎn)之間匯報(bào)包的檢測(cè),其故障由集群管理節(jié)點(diǎn)檢測(cè)和接管。動(dòng)態(tài)擴(kuò)展在不改變?cè)瓉?lái) 系統(tǒng)正常運(yùn)行的情況下,通過(guò)添加視頻服務(wù)節(jié)點(diǎn)來(lái)提升系統(tǒng)的性能。隨后,將設(shè)計(jì)方 案擴(kuò)展到廣域網(wǎng)中,討論了廣域網(wǎng)下系統(tǒng)的負(fù)載均衡和擴(kuò)展性。整個(gè)系統(tǒng)須構(gòu)建在 Linux 之上,視頻服務(wù)器采用 Linux Virtual
4、 Server(LVS集群系 統(tǒng),給出了局域網(wǎng)視頻服務(wù)器集群系統(tǒng)的實(shí)現(xiàn)方案:詳細(xì)描述了基于 LVS 的視頻服務(wù) 器集群的構(gòu)建過(guò)程,并對(duì)視頻服務(wù)器集群系統(tǒng)中集群管理節(jié)點(diǎn)和視頻服務(wù)節(jié)點(diǎn)兩者間 及其對(duì)外的交互功能的實(shí)現(xiàn)進(jìn)行了探討。 最后給出了這個(gè) VOD 視頻服務(wù)器集群的測(cè)試 方案和測(cè)試結(jié)果。測(cè)試實(shí)驗(yàn)表明,此方案能夠?qū)崿F(xiàn)負(fù)載均衡、高可用性和可擴(kuò)展性, 達(dá)到了提高視頻服務(wù)器性能的要求。關(guān)鍵詞:視頻點(diǎn)播;視頻服務(wù)器;分布式;集群; Linux 虛擬服務(wù)器;負(fù)載均衡IAbstractFor recent years, to satisfy the increasing access loading req
5、uirements of Internet video services, VOD system is likely to face a number of challenges at both the network and server side. With the network bandwidth increasing much faster than the server capacity, more and more bottlenecks will be observed on the server side. Cluster becomes a comparative idea
6、l method for enhancing the performance of video server because of its load balancing, high-availability and scalability. This paper made a systematic research of the VOD video server cluster system design and implementation, and tried to use a distributed architecture to make common PCs a video serv
7、er with load balancing, high-availability, scalability and high-performance for the purpose of building a large-scale video server system.After analyzing the basic structure of VOD system and cluster technology, we proposed a VOD video server cluster model which is consisting of Wide Area Network (W
8、AN framework and Local Area Network (LAN framework. The distributed VOD system under WAN framework includes a center and several sub-centers, and every sub-center works in a LAN which has a video server cluster system in it. A video server cluster also includes two parts: a cluster management node a
9、nd several video service nodesFirstly, the design for load balancing, high-availability and scalability of LAN video sever cluster system is described. Load balancing is implemented by the load balancing scheduling component, which is on the cluster management node of video sever cluster system, by
10、using certain load balancing algorithm. The paper presents a load balancing algorithm in applying to VOD server based on a study of common load balancing algorithms while considering the characteristics of video files, like storage, playing mode and stream rate. High-availability scheme of cluster m
11、anagement node and video service node are discussed. To avoid single point of failure, cluster management node uses a backup. And video service node uses heartbeat message to connect with cluster management node which can detect and take over its failure. Dynamic extension can add video service node
12、s without changing the current running status. In addition, schemes for load balancing and scalability of a video server applied to WAN are discussed.The operating system of VOD server is Linux, so Linux virtual server (LVS is used for building the video server cluster. The approach of implementing
13、a LVS video server cluster is described detailedly. It also gave a full implementation of interactive functions for cluster management node, video service node and client side. Through testing, it shows the load balancing, high-availability and scalability of this video server, and proves that using
14、 the cluster scheme can achieve the requirement for improving performance.Keywords :VOD; video server; distributed; cluster; LVS; load balanceII獨(dú)創(chuàng)性聲明本人聲明所呈交的學(xué)位論文是我個(gè)人在導(dǎo)師指導(dǎo)下進(jìn)行的研究工作及取得的研 究成果。盡我所知,除文中已經(jīng)標(biāo)明引用的內(nèi)容外,本論文不包含任何其他個(gè)人或 集體已經(jīng)發(fā)表或撰寫(xiě)過(guò)的研究成果。對(duì)本文的研究做出貢獻(xiàn)的個(gè)人和集體,均已在 文中以明確方式標(biāo)明。本人完全意識(shí)到,本聲明的法律結(jié)果由本人承擔(dān)。學(xué)位論文作者簽名:日
15、期:年 月 日學(xué)位論文版權(quán)使用授權(quán)書(shū)本學(xué)位論文作者完全了解學(xué)校有關(guān)保留、使用學(xué)位論文的規(guī)定,即:學(xué)校有權(quán) 保留并向國(guó)家有關(guān)部門或機(jī)構(gòu)送交論文的復(fù)印件和電子版, 允許論文被查閱和借閱。 本人授權(quán)華中科技大學(xué)可以將本學(xué)位論文的全部或部分內(nèi)容編入有關(guān)數(shù)據(jù)庫(kù)進(jìn)行檢 索,可以采用影印、縮印或掃描等復(fù)制手段保存和匯編本學(xué)位論文。保密 ,在 _年解密后適用本授權(quán)書(shū)。不保密。(請(qǐng)?jiān)谝陨戏娇騼?nèi)打“” 學(xué)位論文作者簽名:指導(dǎo)教師簽名:日期:年 月 日 日期:年 月 日本論文屬于I1 緒論1.1 引言隨著互聯(lián)網(wǎng)和 Web 技術(shù)的發(fā)展,人們可以主動(dòng)、及時(shí)地從互聯(lián)網(wǎng)上獲得所需要的 信息, 包括多媒體信息, 互聯(lián)網(wǎng)逐漸發(fā)
16、展成為繼電視之后覆蓋面最大的一個(gè)新興媒體 1。 但受網(wǎng)絡(luò)結(jié)構(gòu)、網(wǎng)絡(luò)帶寬等因素的制約,人們獲取的多媒體信息目前也主要是文字、 圖片等靜態(tài)信息。人們迫切需要能夠像獲取文字圖片信息一樣,從網(wǎng)絡(luò)上隨時(shí)、主動(dòng) 獲得自己所需的動(dòng)態(tài)圖像信息,觀看視頻節(jié)目 2,視頻點(diǎn)播 (VOD技術(shù)應(yīng)運(yùn)而生。 所謂 VOD , 就是 Video On Demand3的縮寫(xiě), 其中文意思就是根據(jù)用戶的要求播放 節(jié)目的視頻系統(tǒng)。單個(gè)用戶具有對(duì)大范圍的影片、視頻節(jié)目、游戲、信息以及其他服 務(wù)實(shí)時(shí)訪問(wèn)的能力,從而改傳統(tǒng)的、被動(dòng)的、廣播式的信息灌輸為新型的、主動(dòng)的、 根據(jù)自己所需而進(jìn)行的信息獲取。由于用戶和被訪問(wèn)的資料之間的這種高度交
17、互性帶 來(lái)的巨大方便,該技術(shù)已經(jīng)迅速進(jìn)入市場(chǎng),成為人們生活、學(xué)習(xí)和娛樂(lè)的一個(gè)重要手 段。近年來(lái),隨著 Internet 技術(shù)的發(fā)展,主干網(wǎng)和接入網(wǎng)速率不斷提高,為寬帶應(yīng)用提 供了必需的硬件基礎(chǔ)設(shè)施; 同時(shí), 越來(lái)越多的人希望交互式 4地觀看各類視頻節(jié)目, 對(duì) 來(lái)源于網(wǎng)絡(luò)的高品質(zhì)的視頻、音頻等多媒體信息的需求也日益增大。在這種情況下, Internet 流量也在與日俱增。 為了滿足日益增大的網(wǎng)絡(luò)視頻流量, VOD 系統(tǒng)在網(wǎng)絡(luò)和視 頻服務(wù)器端都面臨著極大的挑戰(zhàn)。由于網(wǎng)絡(luò)帶寬的增長(zhǎng)遠(yuǎn)遠(yuǎn)快于服務(wù)器性能的提高,網(wǎng)絡(luò)帶寬的瓶頸問(wèn)題日趨減弱, 服務(wù)器的性能問(wèn)題逐漸顯現(xiàn)出來(lái):隨著訪問(wèn)人數(shù)和訪問(wèn)頻率的增加,越來(lái)
18、越多的客戶 將請(qǐng)求發(fā)送到服務(wù)器,服務(wù)器的負(fù)荷不斷增加,客觀存在的物理內(nèi)存、 CPU 的處理速 度以及操作系統(tǒng)等各方面的制約使服務(wù)器處理能力很快會(huì)成為瓶頸 5。 于是, 響應(yīng)時(shí)間 必然是越來(lái)越長(zhǎng);對(duì)于無(wú)法及時(shí)處理的請(qǐng)求,還會(huì)造成數(shù)據(jù)丟失等情況,更嚴(yán)重的是 這將導(dǎo)致一些請(qǐng)求由于超時(shí)而重發(fā),這樣不僅加重了傳輸線路的負(fù)載,也更加重了網(wǎng) 絡(luò)設(shè)備和服務(wù)器的處理負(fù)擔(dān),嚴(yán)重的可能直接導(dǎo)致整個(gè)系統(tǒng)的崩潰。在視頻點(diǎn)播業(yè)務(wù) 中,對(duì)于海量的視頻節(jié)目數(shù)據(jù),其存儲(chǔ)、傳輸、大量并發(fā)性訪問(wèn)等問(wèn)題使其與在目前 互聯(lián)網(wǎng)上流動(dòng)的文本、圖像信息有很大的差別,如何有效的實(shí)現(xiàn)一個(gè)可同時(shí)服務(wù)大量 用戶、覆蓋面積廣、存儲(chǔ)巨量節(jié)目的視頻點(diǎn)播系
19、統(tǒng)己成為人們?nèi)找骊P(guān)心的問(wèn)題。同時(shí), 視頻服務(wù)器作為視頻點(diǎn)播系統(tǒng)中最關(guān)鍵的部份,不僅要完成多媒體內(nèi)容的存儲(chǔ),還要 完成視頻內(nèi)容的傳送,另外還包括影片的管理、檢索、計(jì)費(fèi)以及其他服務(wù)。如何提高1視頻服務(wù)器的性能,使其能夠承受大負(fù)載量也成為問(wèn)題的關(guān)鍵。1.2 研究背景提高視頻服務(wù)器性能的根本目的是增加并發(fā)用戶數(shù)量 6。從技術(shù)發(fā)展上看,增加點(diǎn) 播用戶量的途徑有三個(gè),即在滿足視頻質(zhì)量要求的前提下降低視頻流的傳輸率、用廣 播技術(shù)實(shí)現(xiàn)點(diǎn)播以及采用大規(guī)模的體系結(jié)構(gòu)。研究大規(guī)模視頻點(diǎn)播系統(tǒng)的體系結(jié)構(gòu)是目前的熱門課題, 因?yàn)橛?jì)算機(jī)系統(tǒng)性能的提 高除了器件這個(gè)最根本的因素外,改進(jìn)計(jì)算機(jī)體系結(jié)構(gòu)也是非常重要的因素。計(jì)算
20、機(jī) 系統(tǒng)性能的飛速提高是與高度并行化、分布化、層次化、流水化等體系結(jié)構(gòu)技術(shù)的發(fā) 展緊密相關(guān)的。然而在視頻服務(wù)器的發(fā)展中并未表現(xiàn)出這種趨勢(shì),視頻服務(wù)器性能現(xiàn) 有提高速度甚至低于計(jì)算機(jī)部件和網(wǎng)絡(luò)帶寬的增長(zhǎng)速度,這顯示出體系結(jié)構(gòu)技術(shù)的發(fā) 展滯后于基礎(chǔ)部件的發(fā)展。在任何系統(tǒng)中總是存在某種瓶頸,解決問(wèn)題的關(guān)鍵在于能 否用某種有效的策略來(lái)緩解瓶頸部件對(duì)系統(tǒng)總體性能的限制。下面對(duì)比了視頻服務(wù)器 體系架構(gòu)目前的一些應(yīng)用情況,通過(guò)分析給出本文的研究目標(biāo)。PC 級(jí)視頻服務(wù)器是由一些級(jí)別較高的 PC “改裝”而成的,處理能力有限,一般適 用于卡拉 OK 歌廳系統(tǒng)、酒店系統(tǒng)等小型應(yīng)用系統(tǒng),提供的并發(fā)視頻流數(shù)目一般在
21、50上下, 這些視頻服務(wù)器和普通的 PC 在結(jié)構(gòu)上沒(méi)有本質(zhì)區(qū)別, 只是配置了專門的視頻輸 出卡,運(yùn)行相應(yīng)的點(diǎn)播軟件,這種視頻服務(wù)器具有相對(duì)較低的價(jià)格。高性能專用服務(wù)器由廠商提供全面的流媒體服務(wù)解決方案, 其產(chǎn)品為流媒體服務(wù)量 身定做,因此很具吸引力。這種服務(wù)器的存儲(chǔ)、網(wǎng)絡(luò) I/O等完全針對(duì)視頻應(yīng)用而設(shè)計(jì), 根據(jù)不同的接入網(wǎng)絡(luò)和系統(tǒng)需求, 提供以太網(wǎng)服務(wù)模塊、 ATM 接口服務(wù)模塊、 DVB-AS1接口服務(wù)模塊和 QAM 接口服務(wù)模塊等,并提供操作系統(tǒng)和流媒體應(yīng)用軟件。國(guó)內(nèi)外 一些公司和科研機(jī)構(gòu)已經(jīng)推出的一系列的具有強(qiáng)大功能的流媒體視頻服務(wù)器 7中, 比較 著名的有 Microsoft 公司的
22、Media Player Server系列, Real Networks公司的 Real Server系列和 Apple 公司的 QuickTime Streaming Server系列, 開(kāi)放源代碼的 Darwin Streaming Server 。但是商業(yè)公司提供的產(chǎn)品價(jià)格昂貴;開(kāi)放源代碼的軟件難以配置和管理,維護(hù) 成本高;而且專用服務(wù)器也存在最大并發(fā)流限制,在網(wǎng)絡(luò)的擴(kuò)容和升級(jí)方面存在一定 的缺陷 8。 SYNLEAD 的 ixJet Streaming VOD System,最多只能支持 300個(gè)并發(fā)用戶, 但價(jià)格便宜; nCube 公司的 MediaCube4最多可支持?jǐn)?shù)萬(wàn)個(gè)并發(fā)客戶
23、,但其一個(gè)流的許可證就高達(dá)數(shù)百美元,不是一般用戶所能接受的。當(dāng)前,大多數(shù) VOD 系統(tǒng)采用的是集中式結(jié)構(gòu),所有的視頻服務(wù)都由一個(gè)中心服務(wù) 器提供。這一結(jié)構(gòu)最突出的優(yōu)點(diǎn)是實(shí)現(xiàn)和管理簡(jiǎn)單,在用戶數(shù)量不多的小規(guī)模應(yīng)用上 有一定的優(yōu)勢(shì)。但是集中式的結(jié)構(gòu)也限制了其擴(kuò)展性,受到服務(wù)器 I/O能力或網(wǎng)絡(luò)帶 寬的限制等影響,所能提供的并發(fā)流有一定的上限,無(wú)法適應(yīng)大規(guī)模的應(yīng)用 910。 圖 1-1是一個(gè)集中式 VOD 系統(tǒng)的結(jié)構(gòu)圖。影片庫(kù)存放所有的影片文件,視頻服務(wù) 器處理所有的影片點(diǎn)播請(qǐng)求。作者之前在這方面的研究工作表明在局域網(wǎng)環(huán)境中(如 小區(qū)、 學(xué)校、 酒店等 , 這種結(jié)構(gòu)能很好地工作。 按照 1.5Mbp
24、s 的 MPEG4影片流, 300個(gè)并發(fā)流計(jì)算,最大帶寬需要 1.5Mbps ×300=450Mbps,千兆網(wǎng)已經(jīng)足以滿足要求。 圖 1-1 集中式 VOD 系統(tǒng)結(jié)構(gòu)圖然而在廣域網(wǎng)的應(yīng)用上, 由于用戶在數(shù)量級(jí)上的增加, 對(duì)網(wǎng)絡(luò)帶寬的要求也越來(lái)越 高。就 1000個(gè)并發(fā)流計(jì)算,需要的帶寬就達(dá)到 1.5Mbps ×1000=1.5Gbps ,而在廣域網(wǎng) 應(yīng)用上并發(fā)流遠(yuǎn)不止 1000個(gè), 這對(duì)主干網(wǎng)是個(gè)不小的壓力。 因此, 提出了分布式 VOD 系統(tǒng) 1112的概念,它可以看成是分布在不同區(qū)域的視頻服務(wù)器的聯(lián)合。即在廣域網(wǎng)的 應(yīng)用中劃分出子區(qū)域來(lái),分別在各子區(qū)域中配置服務(wù)節(jié)點(diǎn),為
25、該區(qū)域提供視頻點(diǎn)播服 務(wù),從而降低主干網(wǎng)絡(luò)負(fù)載以及各個(gè)節(jié)點(diǎn)的負(fù)載 1314。這樣,對(duì)于在集中式系統(tǒng)結(jié)構(gòu) 中可能出現(xiàn)的瓶頸,就可以分布到整個(gè)網(wǎng)絡(luò)中進(jìn)行解決,即使視頻服務(wù)器使用較為普 通的微機(jī),也能達(dá)到較高的服務(wù)水平,可以為中型甚至大型網(wǎng)絡(luò)提供服務(wù),而且價(jià)格 上有很強(qiáng)競(jìng)爭(zhēng)力 15。該系統(tǒng)的關(guān)鍵思想還在于它是一個(gè)雙重可擴(kuò)展的系統(tǒng),可以根據(jù) 用戶的數(shù)量和區(qū)域來(lái)調(diào)整節(jié)點(diǎn)數(shù)目和服務(wù)區(qū)域,以解決帶寬問(wèn)題。單機(jī)架構(gòu)的視頻點(diǎn)播系統(tǒng)的服務(wù)器普遍存在如下一些問(wèn)題:視頻服務(wù)器容量有限, 缺乏負(fù)載均衡的能力,容錯(cuò)性差。為了滿足日益增長(zhǎng)的客戶訪問(wèn)量帶來(lái)的沉重負(fù)載, 必須提高服務(wù)器的性能。但是, 簡(jiǎn)單地提高單臺(tái)服務(wù)器性能的
26、方法不能從根本上解決問(wèn)題, 因?yàn)樘岣邌闻_(tái)服 務(wù)器的性能是一種昂貴的、難以擴(kuò)展的方案:服務(wù)器的性能將隨著需求的增加而需要 不斷地提高擴(kuò)充內(nèi)存、升級(jí) CPU 、增加硬盤、使用磁盤陣列等,從圖 1-2可以得 知,在單機(jī)系統(tǒng)中,隨著硬件從低端到高端,其成本和性能之比呈指數(shù)上升,單純地 增加服務(wù)器性能,不僅投入巨大,而且效果有限。而且這種方案在系統(tǒng)維護(hù)和升級(jí)的 期間,系統(tǒng)提供的服務(wù)將被迫中斷;再者這種方案存在著單點(diǎn)脆弱性,單臺(tái)服務(wù)器的 任何部件稍有閃失,都會(huì)給系統(tǒng)所提供的服務(wù)帶來(lái)問(wèn)題 16。于是人們開(kāi)始研究采用多 臺(tái) Internet 服務(wù)器分擔(dān)負(fù)載的方法來(lái)擴(kuò)展單服務(wù)器的性能。 Internet 多服務(wù)
27、器技術(shù)可分 為兩類:多個(gè)服務(wù)器鏡像方法和服務(wù)器集群方法 17。圖 1-2 單機(jī)性能與成本比多個(gè)服務(wù)器鏡像方法是使用多個(gè)內(nèi)容一致的服務(wù)器鏡像結(jié)構(gòu), 將多個(gè)內(nèi)容完全一致 的服務(wù)器放置在不同的地點(diǎn),由用戶自己來(lái)選擇離自己最近的服務(wù)器提供服務(wù)。這種 方法的缺陷是它不能做到對(duì)用戶透明,系統(tǒng)也不能控制請(qǐng)求的分配 18。服務(wù)器集群是一組通過(guò)網(wǎng)絡(luò)連接起來(lái)的服務(wù)器, 每一臺(tái)服務(wù)器都存儲(chǔ)有用于客戶訪 問(wèn)的信息, 所有集群中的服務(wù)器對(duì)外界的客戶則采用單一的 IP 地址, 即虛擬地址 (VIP, 在用戶看來(lái)它們像是一個(gè)計(jì)算機(jī),這樣也就做到了對(duì)用戶的透明。這種做法的優(yōu)點(diǎn) 19主要是:提高系統(tǒng)利用率:將客戶請(qǐng)求均勻地分布
28、在多臺(tái)服務(wù)器上, 在多臺(tái)服務(wù)器間實(shí)現(xiàn)負(fù) 載均衡,降低了對(duì)單臺(tái)服務(wù)器的性能要求,使系統(tǒng)利用率大大提高。 提高系統(tǒng)可用性:當(dāng)集群中的某一臺(tái)服務(wù)器出現(xiàn)故障的時(shí)候, 集群中的其他服務(wù)器 不受影響,仍可正常提供服務(wù),并及時(shí)處理指向故障服務(wù)器的請(qǐng)求。系統(tǒng)具有可擴(kuò)展性:當(dāng)集群性能不能滿足需求時(shí), 可以通過(guò)簡(jiǎn)單地增加服務(wù)器的辦 法擴(kuò)展系統(tǒng),從而系統(tǒng)能夠非常方便地升級(jí),并且在升級(jí)期間不影響其他服務(wù)器的正 常工作??傊?集群是一群以網(wǎng)絡(luò)技術(shù)連接起來(lái)的工作站或 PC 機(jī)的組合,整個(gè)系統(tǒng)象一個(gè) 單獨(dú)集成的計(jì)算資源一樣協(xié)同工作 20。隨著集群技術(shù)的發(fā)展和 PC 機(jī)處理能力的不斷 提高, 基于集群的 PC 機(jī)和工作站成為
29、設(shè)計(jì)大規(guī)模高性能 VOD 系統(tǒng)的一種理想選擇 21。 很多國(guó)內(nèi)外公司和研究機(jī)構(gòu)紛紛開(kāi)發(fā)了自己的視頻服務(wù)器集群系統(tǒng),例如,微軟的 Tiger 22,挪威科技大學(xué)的 Elvira 23, IBM 公司的 Tiger Shark24,華中科技大學(xué)的 WanLan 2526等。集群視頻服務(wù)器 27越來(lái)越成為多媒體服務(wù)研究的熱點(diǎn)。因此,本文從建設(shè)大規(guī)模視頻點(diǎn)播系統(tǒng) 28出發(fā),針對(duì)優(yōu)化和提升服務(wù)器系統(tǒng)的性 能這一目標(biāo), 對(duì) VOD 視頻服務(wù)器集群系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)方法作一些研究和探討, 力圖 使廉價(jià)的 PC 機(jī)通過(guò)低耦合的分布式體系構(gòu)成一種可擴(kuò)展、 負(fù)載均衡、 高可用、 高性能 29的 VOD 視頻服務(wù)器,
30、 使之能提供大規(guī)模的、 高質(zhì)量的、 適合廣域范圍內(nèi)用戶的視頻 服務(wù)。本文研究的基于集群的 VOD 視頻服務(wù)器既能在局域網(wǎng)內(nèi)應(yīng)用,又可在擴(kuò)展后應(yīng)用 于電信級(jí)的大規(guī)模范圍,具有廣泛而良好的應(yīng)用前景。1.3 課題來(lái)源本文以福建實(shí)達(dá)華中研發(fā)中心的 VOD 系統(tǒng)的開(kāi)發(fā)項(xiàng)目為課題來(lái)源。課題組已經(jīng)在 Windows 平臺(tái)下開(kāi)發(fā)了一套單機(jī)系統(tǒng),并已投入到酒店及 KTV 等小規(guī)模商業(yè)用途中, 取得了階段性的成功。但是,隨著客戶機(jī)數(shù)量和密集點(diǎn)播任務(wù)的增加,采取單一的服 務(wù)器不能滿足日益增加的用戶負(fù)載需求。為了滿足國(guó)內(nèi)日益高漲的對(duì)視頻點(diǎn)播等多媒 體娛樂(lè)方式的需求,需要設(shè)計(jì)并實(shí)現(xiàn)具有高并發(fā)能力、高存儲(chǔ)能力、高可靠性和
31、可擴(kuò) 展的電信級(jí) VOD 系統(tǒng)。針對(duì)這些特點(diǎn),提出一種分布式 VOD 視頻服務(wù)器集群系統(tǒng)的 設(shè)計(jì)與實(shí)現(xiàn)方法, 將原系統(tǒng)移植到 Linux 下, 并根據(jù) Linux 的和集群技術(shù)特點(diǎn)對(duì)該系統(tǒng) 性能進(jìn)行優(yōu)化,使該系統(tǒng)成為一個(gè)具有高性價(jià)比、高可用、便于擴(kuò)展的通用網(wǎng)絡(luò)視頻 應(yīng)用平臺(tái)。如果該系統(tǒng)能成功實(shí)現(xiàn),將會(huì)給投資公司帶來(lái)巨大效益,同時(shí)也將促進(jìn)視 頻應(yīng)用服務(wù)的發(fā)展。1.4 本文研究?jī)?nèi)容及章節(jié)安排VOD 系統(tǒng)視頻服務(wù)器的性能問(wèn)題是影響視頻服務(wù)的瓶頸所在,簡(jiǎn)單的提高單臺(tái)服 務(wù)器的性能不能從根本上解決問(wèn)題。本文以建立大規(guī)模視頻點(diǎn)播系統(tǒng)為出發(fā)點(diǎn),通過(guò) 改善服務(wù)器的體系結(jié)構(gòu),達(dá)到提高視頻服務(wù)器性能的目的。主要研
32、究?jī)?nèi)容如下:通過(guò)對(duì) VOD 和集群系統(tǒng)的理論分析,提出了基于集群的 VOD 系統(tǒng)視頻服務(wù)器模 型,分為廣域網(wǎng)框架和局域網(wǎng)框架兩層進(jìn)行設(shè)計(jì)。探討了集群系統(tǒng)中負(fù)載均衡的算法和實(shí)現(xiàn)技術(shù), 并結(jié)合視頻服務(wù)中播放方式、 調(diào)度 存儲(chǔ)和視頻文件播放信息等問(wèn)題,在一般的負(fù)載均衡算法基礎(chǔ)上進(jìn)行了改進(jìn),提出了 適用于視頻點(diǎn)播服務(wù)的負(fù)載均衡算法。研究了視頻服務(wù)器中集群管理節(jié)點(diǎn)和視頻服務(wù) 節(jié)點(diǎn)高可用性的實(shí)現(xiàn)。集群管理節(jié)點(diǎn)通過(guò)采用聯(lián)機(jī)熱備份來(lái)避免單點(diǎn)故障,視頻服務(wù) 節(jié)點(diǎn)的高可用性基于它和集群管理節(jié)點(diǎn)之間匯報(bào)包的檢測(cè),其故障由集群管理節(jié)點(diǎn)檢 測(cè)并接管。討論了系統(tǒng)的可擴(kuò)展性,闡述了在不改變?cè)瓉?lái)系統(tǒng)的正常運(yùn)行的情況下添 加服
33、務(wù)節(jié)點(diǎn)的動(dòng)態(tài)擴(kuò)展方法。在上述研究的基礎(chǔ)上,給出了廣域網(wǎng)下系統(tǒng)的負(fù)載均衡 和擴(kuò)展性設(shè)計(jì)方案。將集群技術(shù)和 Linux 結(jié)合起來(lái),分析和比較了 LVS 負(fù)載均衡技術(shù)的實(shí)現(xiàn)方案,在 Linux 虛擬服務(wù)器上構(gòu)建了視頻服務(wù)器集群系統(tǒng)。詳細(xì)闡述了基于 LVS 的集群系統(tǒng)的 構(gòu)建過(guò)程,并對(duì)視頻服務(wù)器集群系統(tǒng)中的集群管理節(jié)點(diǎn)和視頻服務(wù)節(jié)點(diǎn)兩者間及其對(duì) 外的交互功能的實(shí)現(xiàn)進(jìn)行了探討。 最后, 給出了該 VOD 視頻服務(wù)器集群的測(cè)試方案和 測(cè)試結(jié)果。本論文的章節(jié)安排如下:第一章為緒論, 介紹了文章的研究背景、 課題來(lái)源以及本文的研究?jī)?nèi)容和組織結(jié)構(gòu)。 第二章綜述了視頻點(diǎn)播系統(tǒng)的相關(guān)概念、 基本結(jié)構(gòu)和傳輸協(xié)議。 介
34、紹了集群系統(tǒng)的 相關(guān)理論,包括集群的概念、結(jié)構(gòu)。對(duì)負(fù)載均衡實(shí)現(xiàn)技術(shù)和算法等集群系統(tǒng)的關(guān)鍵技 術(shù)做了深入分析,研究了基于 Linux 虛擬服務(wù)器的集群系統(tǒng)技術(shù)。第三章提出了基于集群的分布式 VOD 系統(tǒng)視頻服務(wù)器模型,分為廣域網(wǎng)框架和局 域網(wǎng)框架兩層。隨后,給出局域網(wǎng)視頻服務(wù)器集群負(fù)載均衡、高可用性和動(dòng)態(tài)擴(kuò)展的 設(shè)計(jì)方案。再將設(shè)計(jì)方案擴(kuò)展到廣域網(wǎng)中,討論了廣域網(wǎng)下系統(tǒng)的負(fù)載均衡和擴(kuò)展性。 第四章說(shuō)明了系統(tǒng)需求、 實(shí)現(xiàn) LVS 的核心技術(shù)和系統(tǒng)的實(shí)現(xiàn)環(huán)境。 給出了基于 LVS 的視頻服務(wù)器集群的模型,并詳細(xì)說(shuō)明了基于 LVS 集群系統(tǒng)的構(gòu)建過(guò)程。對(duì)視頻服務(wù) 器集群管理節(jié)點(diǎn)及視頻服務(wù)節(jié)點(diǎn)兩者間及其對(duì)
35、外的交互功能的實(shí)現(xiàn)進(jìn)行了探討。 第五章給出了局域網(wǎng) VOD 視頻服務(wù)器集群的測(cè)試方案和測(cè)試結(jié)果。第六章對(duì)全文進(jìn)行了總結(jié),并對(duì)課題的進(jìn)一步研究提出了一些看法。2 VOD與集群技術(shù)綜述本章是全文的理論基礎(chǔ), 介紹了視頻點(diǎn)播系統(tǒng)和集群系統(tǒng)的相關(guān)理論, 分析了集群 負(fù)載均衡的算法和實(shí)現(xiàn)技術(shù),并就基于 Linux 虛擬服務(wù)器的集群系統(tǒng)技術(shù)進(jìn)行了探討。2.1 視頻點(diǎn)播系統(tǒng)VOD 的全稱是 Video On Demand意即按需要的視頻流播放,它是隨著計(jì)算機(jī)技術(shù) 和網(wǎng)絡(luò)通訊技術(shù)的發(fā)展,綜合了計(jì)算機(jī)技術(shù)、通訊技術(shù)、電視技術(shù)而迅速興起的一種 綜合性技術(shù)。它利用了網(wǎng)絡(luò)和視頻技術(shù)的優(yōu)勢(shì),徹底改變了過(guò)去收看節(jié)目的被動(dòng)
36、方式, 實(shí)現(xiàn)了節(jié)目的按需收看和任意播放,集動(dòng)態(tài)影視圖像、靜態(tài)圖片、聲音、文字等信息 為一體,是為用戶提供實(shí)時(shí)、交互、按需點(diǎn)播服務(wù)的系統(tǒng) 30。VOD 系統(tǒng)主要由三部分構(gòu)成 31:服務(wù)器系統(tǒng)、網(wǎng)絡(luò)系統(tǒng)和客戶端系統(tǒng)。服務(wù)器系 統(tǒng)主要完成視頻數(shù)據(jù)的存儲(chǔ)、 檢索以及數(shù)據(jù)傳輸?shù)墓δ? 對(duì)于交互式的 VOD 系統(tǒng)來(lái)說(shuō), 還需要提供對(duì)用戶實(shí)時(shí)信息的處理、許可訪問(wèn)控制、錄像機(jī)功能 (如暫停 /恢復(fù)、任意定 位、快進(jìn) /快退、慢放等 。 VOD 的網(wǎng)絡(luò)系統(tǒng)部分負(fù)責(zé)視頻信息流的實(shí)時(shí)傳輸,也包括 交互系統(tǒng)中上行點(diǎn)播控制信息的傳送??蛻舳讼到y(tǒng)完成客戶需求數(shù)據(jù)的顯示和用戶需 求提交的功能。圖 2-1是一個(gè)典型的 VOD
37、 系統(tǒng)結(jié)構(gòu)圖。 圖 2-1 VOD 系統(tǒng)結(jié)構(gòu)圖1.服務(wù)器端系統(tǒng)主要由視頻服務(wù)器、系統(tǒng)管理服務(wù)器、內(nèi)部通訊子系統(tǒng)和網(wǎng)絡(luò)接 口組成。系統(tǒng)管理服務(wù)器主要承擔(dān)用戶信息管理、計(jì)費(fèi)、影片信息管理、點(diǎn)播信息記 錄以及信息安全等任務(wù)。內(nèi)部通訊子系統(tǒng)主要完成服務(wù)器間信息的傳遞、后臺(tái)影視材 料和數(shù)據(jù)的交換。網(wǎng)絡(luò)接口主要實(shí)現(xiàn)與外部網(wǎng)絡(luò)的數(shù)據(jù)交換和提供用戶訪問(wèn)的接口。 視頻服務(wù)器主要由存儲(chǔ)設(shè)備、高速緩存和控制管理軟件組成,其目的是實(shí)現(xiàn)對(duì)媒體數(shù) 據(jù)的壓縮和存儲(chǔ),以及按請(qǐng)求進(jìn)行媒體信息的檢索和傳輸。視頻服務(wù)器與傳統(tǒng)的數(shù)據(jù) 服務(wù)器有許多顯著的不同,需要增加專用的軟件功能和硬件設(shè)備,以支持視頻服務(wù)的 特殊要求。例如:媒體數(shù)據(jù)
38、檢索、數(shù)據(jù)流的實(shí)時(shí)傳輸以及信息的加密和解密等。對(duì)于 交互式 VOD 系統(tǒng)來(lái)說(shuō), 服務(wù)器端系統(tǒng)還需要實(shí)現(xiàn)對(duì)用戶實(shí)時(shí)請(qǐng)求的處理、 接入服務(wù)控 制、 VCR 操作等。視頻服務(wù)器可以放在不同的地方,既可放在客戶集中的局域網(wǎng)中, 也可放在交換中心由幾個(gè)局域網(wǎng)共享;還可放在主干網(wǎng)中全局共享;另外,也可根據(jù) 需求不同,在幾個(gè)地方都放置視頻服務(wù)器,但內(nèi)容和任務(wù)有所不同。究竟應(yīng)放在何處, 應(yīng)由存儲(chǔ)器成本、傳輸成本和同時(shí)觀看每個(gè)節(jié)目的客戶數(shù)決定 32。服務(wù)器主要有下列 幾項(xiàng)評(píng)價(jià)指標(biāo):(1節(jié)目流成本。包括網(wǎng)絡(luò)帶寬成本、緩沖區(qū)成本等。(2并發(fā)用戶數(shù)目。所能達(dá)到的最大支持的并發(fā)用戶數(shù)目,通常指在不降低用戶的 服務(wù)質(zhì)量,
39、即用戶接收畫(huà)面無(wú)抖動(dòng) (fitter的條件下。(3用戶響應(yīng)時(shí)間。從用戶發(fā)出請(qǐng)求到接收到服務(wù)器響應(yīng)的時(shí)間。(4VCR支持。即暫停、快進(jìn)、快退、慢放、隨機(jī)定位等類似錄像機(jī)的操作。(5可靠性。指在實(shí)際運(yùn)作環(huán)境中的連續(xù)、可靠的工作能力。2.網(wǎng)絡(luò)系統(tǒng)是 VOD 系統(tǒng)的信息通道,包括主干網(wǎng)和接入網(wǎng)兩部分。因?yàn)樗?fù)責(zé) 視頻信息流的實(shí)時(shí)傳輸,所以是影響連續(xù)媒體網(wǎng)絡(luò)服務(wù)系統(tǒng)性能極為關(guān)鍵的部分?,F(xiàn) 有網(wǎng)絡(luò)可分為計(jì)算機(jī)網(wǎng)絡(luò) (IP/ATM等 、 有線電視網(wǎng)絡(luò) (CATV和公用電話網(wǎng) (PTSN。 其 中電話網(wǎng)帶寬較小,而 IP 網(wǎng)絡(luò)和有線電視網(wǎng)是目前視頻服務(wù)的主要依托。核心網(wǎng)絡(luò)可 以是采用 ATM 技術(shù)的光纖傳輸網(wǎng)
40、或者目前提出的全 IP 的寬帶網(wǎng)絡(luò),接入網(wǎng)絡(luò)常用的 有以太網(wǎng)、 ADSL 、 HFC 等。視頻服務(wù)對(duì)網(wǎng)絡(luò)功能提出了以下幾方面的要求:(1帶寬要求。 視頻數(shù)據(jù)量大, 不同的壓縮格式對(duì)帶寬有不同的要求。 MPEG-1文件 速率是 1.5Mbps 左右, MPEG-2數(shù)據(jù)的傳輸速率在 3-100Mbps 之間,而 MPEG-4要求 的帶寬范圍在 5kbps 到 l0Mbps 之間。(2對(duì)延遲的要求。視頻數(shù)據(jù)有實(shí)時(shí)性的要求,網(wǎng)絡(luò)的延遲將影響用戶的等待時(shí)間 和服務(wù)質(zhì)量 QoS 。(3多播支持。多播用于多用戶共享節(jié)目。 IP 網(wǎng)絡(luò)中 UDP 協(xié)議支持多播, Cable 是廣播型網(wǎng)絡(luò),支持多播。(4上行支持
41、。上行數(shù)據(jù)是指數(shù)據(jù)的傳輸方向?yàn)橛煽蛻舳说椒?wù)器。對(duì)于 IP 系統(tǒng), 上行通道也是 IP 網(wǎng)絡(luò), 對(duì)于 Cable 系統(tǒng), 上行通道可以是 IP 網(wǎng)絡(luò)、 公用電話網(wǎng)或 Cable 系統(tǒng)。3. 用戶端設(shè)備由電視機(jī)、 機(jī)頂盒 (Set-top-Box與遙控器組成, 如圖 2-2所示。 其中, 機(jī)頂盒又稱點(diǎn)播器,它是用戶與 VOD 系統(tǒng)進(jìn)行交互通信的室內(nèi)設(shè)備,具有提供通信、 解壓縮、支持用戶的控制等功能。它包括強(qiáng)勁的 CPU 構(gòu)成的控制器、接收發(fā)送器、高 速圖形芯片、顯示卡、 MPEG-2解碼器、聲音數(shù)模轉(zhuǎn)換器、圖像轉(zhuǎn)換器等。不管是在 ADSL(非對(duì)稱數(shù)字用戶線路技術(shù) 、 ATM(異步傳輸模式 或 H
42、FC(混合光纖同軸電纜網(wǎng) 的情況下,機(jī)頂盒都必須完成多路復(fù)用的解復(fù)用,同時(shí)也要支持電話及其他窄帶服務(wù)。 同時(shí),與用戶之間需要有靈活方便的交互能力。另外,客戶機(jī)也可以是帶有顯示設(shè)備 的計(jì)算機(jī)系統(tǒng)終端或多媒體信息亭。 TV 圖 2-2 客戶終端設(shè)備客戶端系統(tǒng)中, 除了涉及相應(yīng)的硬件設(shè)備, 還需要配備相關(guān)的軟件, 在進(jìn)行連續(xù)媒 體播放時(shí),媒體流的緩沖管理、音頻和視頻數(shù)據(jù)的同步、網(wǎng)絡(luò)中斷與演播中斷的協(xié)調(diào) 等方面都需要進(jìn)行充分的考慮。請(qǐng)求和接收視頻服務(wù)的客戶端要求:(1有一定的緩沖區(qū)容量。 IP 網(wǎng)絡(luò)用客戶端 PC 的主存作為緩沖區(qū),有較大的容量, Cable 網(wǎng)絡(luò)中只在機(jī)頂盒中有很小的 (通常幾 KB
43、 緩沖區(qū),所以對(duì)數(shù)據(jù)傳輸?shù)膶?shí)時(shí)性要 求較高。(2上行處理。用于發(fā)送用戶的服務(wù)請(qǐng)求,如點(diǎn)播請(qǐng)求和 VCR 控制請(qǐng)求。(3解碼器。客戶端必須有相應(yīng)數(shù)據(jù)編碼的解碼器。VOD 系統(tǒng)網(wǎng)絡(luò)技術(shù)支持 RTP/RTCP/RSVP34多媒體流控制、 支持 802.1p 國(guó)際標(biāo)準(zhǔn), 可保證服務(wù)器持續(xù)、穩(wěn)定的將內(nèi)存視音頻文件發(fā)送到客戶端,網(wǎng)絡(luò)可優(yōu)先處理視頻、 音頻數(shù)據(jù),保證用戶端得到穩(wěn)定的視頻流。下面對(duì)實(shí)時(shí)傳輸協(xié)議 RTP 、實(shí)時(shí)傳輸控制 協(xié)議 RTCP 、實(shí)時(shí)流協(xié)議 RTSP 和資源預(yù)留協(xié)議 RSVP 進(jìn)行分析:RTP 是用于 Internet 針對(duì)多媒體數(shù)據(jù)流的一種傳輸協(xié)議,它被定義在一對(duì)一或一對(duì) 多的傳輸情況
44、下工作, 其目的是供時(shí)間信息和實(shí)現(xiàn)流同步。 RTP 通常使用 UDP 來(lái)傳送 數(shù)據(jù)。當(dāng)應(yīng)用程序開(kāi)始一個(gè) RTP 會(huì)話時(shí)將使用兩個(gè)端口:一個(gè)給 RTP ,一個(gè)給 RTCP 。 RTCP 為按順序傳送數(shù)據(jù)包提供可靠的傳送機(jī)制,提供流量控制或擁塞控制。 RTCP 包 中含有已發(fā)送的數(shù)據(jù)包的數(shù)量、丟失的數(shù)據(jù)包的數(shù)量等統(tǒng)計(jì)資料,服務(wù)器可以利用這 些信息動(dòng)態(tài)地改變傳輸速率,甚至改變有效載荷類型。 RTP 和 RTCP 配合使用,它們 能以有效的反饋和最小的開(kāi)銷使傳輸效率最佳化, 因而特別適合傳送網(wǎng)上的實(shí)時(shí)數(shù)據(jù)。 實(shí)時(shí)流協(xié)議 RTSP 用于多媒體數(shù)據(jù)流的控制,主要完成兩項(xiàng)功能:一是呼叫建立連接, 在用戶和網(wǎng)
45、點(diǎn)服務(wù)之間建立數(shù)據(jù)流連接;二是數(shù)據(jù)激活,它與 HTTP 的主要區(qū)別是:使用 HTTP 是客戶機(jī)發(fā)出請(qǐng)求,服務(wù)器響應(yīng);而 RTSP 是兩方都可發(fā)出請(qǐng)求。 RSVP 是 一個(gè)實(shí)現(xiàn)資源預(yù)留的協(xié)議,在多媒體傳輸過(guò)程中,按不同應(yīng)用分配帶寬,減少了網(wǎng)絡(luò) 的延遲和抖動(dòng),從而保證了流化視頻的服務(wù)質(zhì)量 (Quality of Service??蛻敉ㄟ^(guò)訪問(wèn)提供視頻服務(wù)的網(wǎng)頁(yè)可方便地找到點(diǎn)播的節(jié)目, 每個(gè)節(jié)目實(shí)際上對(duì)應(yīng) 了一個(gè) RTSP 請(qǐng)求,服務(wù)器向客戶發(fā)送該節(jié)目的描述,客戶確認(rèn)后播放該節(jié)目,服務(wù) 器開(kāi)始將 RTP 數(shù)據(jù)流發(fā)送給客戶。 在客戶端收到 RTP 包的同時(shí), 將周期性地向服務(wù)器 報(bào)告狀態(tài),即 RTCP
46、報(bào)文。服務(wù)器對(duì)這些報(bào)文做參數(shù)統(tǒng)計(jì),進(jìn)行流量控制,并將某些 響應(yīng)發(fā)送到客戶機(jī)??蛻粢部梢园l(fā)出其他 RTSP 請(qǐng)求,如暫停、快進(jìn)、快退等,服務(wù) 器有專門的程序?qū)@些請(qǐng)求進(jìn)行處理 33。2.2 集群及負(fù)載均衡技術(shù)分析集群系統(tǒng)是利用高速互連網(wǎng)將一組高性能工作站或 PC 機(jī)連接起來(lái), 在并行程序設(shè) 計(jì)和集成開(kāi)發(fā)環(huán)境支持下,統(tǒng)一調(diào)度、協(xié)調(diào)處理,實(shí)現(xiàn)高效并行處理的系統(tǒng)。一個(gè)集 群包含多臺(tái) (至少二臺(tái) 擁有共享數(shù)據(jù)存儲(chǔ)空間的服務(wù)器。 任何一臺(tái)服務(wù)器運(yùn)行一個(gè)應(yīng)用 時(shí),應(yīng)用數(shù)據(jù)被存儲(chǔ)在共享的數(shù)據(jù)空間內(nèi)。每臺(tái)服務(wù)器的操作系統(tǒng)和應(yīng)用程序文件存儲(chǔ)在其各自的本地儲(chǔ)存空間上。一個(gè)客戶與集群相互作用時(shí),服務(wù)器集群系統(tǒng)整個(gè)表
47、現(xiàn)得象一臺(tái)服務(wù)器,協(xié)同工作提供一個(gè)相同的工作,看上去就像一個(gè)虛擬服務(wù)器。集 群內(nèi)任一系統(tǒng)上運(yùn)行的服務(wù)可被所有的網(wǎng)絡(luò)客戶所使用。和傳統(tǒng)的高性能計(jì)算機(jī)技術(shù) 相比,集群技術(shù) 35可以利用各檔次的服務(wù)器作為節(jié)點(diǎn),系統(tǒng)造價(jià)低,可以實(shí)現(xiàn)很高的 運(yùn)算速度,完成大運(yùn)算量的計(jì)算。使用集群技術(shù)可以用最少的投資獲得接近于大型主 機(jī)的性能。集群系統(tǒng) (Cluster System主要解決下面幾個(gè)問(wèn)題:1.高可靠性關(guān)鍵性的業(yè)務(wù)需要可靠的容錯(cuò)機(jī)制, 利用集群管理軟件可以協(xié)調(diào)管理各分離的組件 的錯(cuò)誤和失敗。當(dāng)主服務(wù)器出現(xiàn)故障時(shí),備份服務(wù)器能夠自動(dòng)接管主服務(wù)器的工作, 并及時(shí)切換過(guò)去,以實(shí)現(xiàn)對(duì)用戶的不間斷服務(wù);在一個(gè)集群當(dāng)中
48、如果任何節(jié)點(diǎn)發(fā)生故 障,其資源都可以通過(guò)“故障修復(fù)”移到集群中一個(gè)或更多其他節(jié)點(diǎn)上,從而提高所 有節(jié)點(diǎn)的可用性。并且一個(gè)節(jié)點(diǎn)計(jì)算機(jī)出現(xiàn)故障不影響其他的節(jié)點(diǎn)計(jì)算機(jī)工作,因此 可以有充裕的時(shí)間排除故障。2.可擴(kuò)充性集群允許節(jié)點(diǎn)在不中斷服務(wù)的情況下增加處理能力或磁盤容量, 從而提高了系統(tǒng)的 可擴(kuò)充性。同時(shí),由于采用了一種松耦合的模式,集群中的各個(gè)節(jié)點(diǎn)機(jī)使用 TCP/IP或 其他網(wǎng)絡(luò)協(xié)議通過(guò)標(biāo)準(zhǔn)的網(wǎng)絡(luò)設(shè)備連接在一起,可以非常方便地添加或更換集群中的 單個(gè)節(jié)點(diǎn)機(jī),因此松耦合的集群系統(tǒng)有較好的可擴(kuò)展性,很強(qiáng)的伸縮能力,節(jié)點(diǎn)計(jì)算 機(jī)可多可少。3.高性能集群系統(tǒng)的并行性降低了處理的瓶頸, 即充分利用節(jié)點(diǎn)計(jì)算機(jī)
49、的處理能力, 實(shí)現(xiàn)復(fù) 雜運(yùn)算的并行處理,提高系統(tǒng)的性能。同時(shí),它用廉價(jià)的硬件構(gòu)造超級(jí)計(jì)算機(jī)環(huán)境, 充分保留原有的硬件投資,體現(xiàn)了優(yōu)異的性能價(jià)格比。集群系統(tǒng)可以增量擴(kuò)展,并能 方便地修改或擴(kuò)展系統(tǒng)以適應(yīng)變化的環(huán)境,而無(wú)需中斷其運(yùn)行。系統(tǒng)的總體計(jì)算能力 隨資源的增加而按比例提高。4.負(fù)載均衡應(yīng)用規(guī)模的發(fā)展使單個(gè)服務(wù)器難以承擔(dān)負(fù)載。 負(fù)載均衡即把負(fù)載壓力根據(jù)某種算法 合理分配到集群中的每一臺(tái)計(jì)算機(jī)上 36,以減輕主服務(wù)器的壓力,降低對(duì)主服務(wù)器的 硬件和軟件要求。在用戶訪問(wèn)率較低時(shí),這種負(fù)載均衡表現(xiàn)的不會(huì)很明顯,而一旦用 戶的請(qǐng)求量增大后,這種優(yōu)勢(shì)就會(huì)顯現(xiàn)出來(lái)。集群技術(shù)是計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)的前沿領(lǐng)域。 而
50、目前對(duì)集群技術(shù)需求最迫切, 發(fā)展也最快的領(lǐng)域主要有 Web 應(yīng)用、科學(xué)計(jì)算、數(shù)據(jù)庫(kù)應(yīng)用。在大量并發(fā)訪問(wèn)中, 由于用戶請(qǐng)求的分布不統(tǒng)一, 如果不能對(duì)用戶的請(qǐng)求合理地進(jìn) 行分配,那就會(huì)造成系統(tǒng)負(fù)載分布不均衡,有的服務(wù)器處于超負(fù)荷狀態(tài),有的處于超 輕載狀態(tài),從而整個(gè)系統(tǒng)的資源利用率低下、用戶的拒絕率就會(huì)增加。在現(xiàn)有網(wǎng)絡(luò)結(jié)構(gòu)之上, 負(fù)載均衡提供了一種廉價(jià)有效的方法擴(kuò)展服務(wù)器帶寬和增加 吞吐量,加強(qiáng)網(wǎng)絡(luò)數(shù)據(jù)處理能力,提高網(wǎng)絡(luò)的靈活性和可用性 37。負(fù)載均衡通過(guò)某種 負(fù)載分擔(dān)技術(shù),將外部發(fā)送來(lái)的請(qǐng)求均勻分配到對(duì)稱結(jié)構(gòu)中的某一臺(tái)服務(wù)器上,而接 收到請(qǐng)求的服務(wù)器獨(dú)立地回應(yīng)客戶的請(qǐng)求。負(fù)載均衡在結(jié)構(gòu)上分為本地負(fù)
51、載均衡和全局負(fù)載均衡 38,前一種是指對(duì)本地的服 務(wù)器集群做負(fù)載均衡,后一種是指對(duì)分別放置在不同的地理位置、在不同的網(wǎng)絡(luò)及服 務(wù)器群集之間作負(fù)載均衡。服務(wù)器群集中每個(gè)服務(wù)節(jié)點(diǎn)運(yùn)行一個(gè)所需服務(wù)器程序的獨(dú) 立拷貝。服務(wù)器負(fù)載均衡一般用于提高服務(wù)器的整體處理能力, 并提高可靠性, 可用性, 可 維護(hù)性,最終目的是加快服務(wù)器的響應(yīng)速度,從而提高用戶的體驗(yàn)度。負(fù)載均衡的關(guān)鍵技術(shù) 39包括請(qǐng)求分派機(jī)制以及負(fù)載均衡算法。如何讓服務(wù)器均衡的工作, 是負(fù)載均衡算法解決的首要問(wèn)題。 負(fù)載均衡器將根據(jù)由 負(fù)載均衡算法選擇的服務(wù)器做出重定向請(qǐng)求的決定。負(fù)載均衡算法可以分為靜態(tài)、動(dòng) 態(tài)兩種 40。靜態(tài)負(fù)載均衡適用于同構(gòu)
52、并可預(yù)知負(fù)載量的集群系統(tǒng),算法簡(jiǎn)單,易于實(shí) 現(xiàn);動(dòng)態(tài)負(fù)載均衡適用的范圍則廣而靈活,但需要?jiǎng)討B(tài)收集服務(wù)器的使用情況以及每 個(gè)任務(wù)的執(zhí)行特征,開(kāi)銷較靜態(tài)負(fù)載均衡大,但可以實(shí)時(shí)反映集群系統(tǒng)的負(fù)載情況。 一般均衡算法包括隨機(jī)算法、輪循法、加權(quán)輪循法、最少連接法、加權(quán)最少連接法、 最快響應(yīng)法 4142。1.隨機(jī)算法即每次產(chǎn)生一個(gè)隨機(jī)數(shù), 代表某一臺(tái)服務(wù)器, 將請(qǐng)求指向該服務(wù)器, 這種算法在大 量請(qǐng)求下才能表現(xiàn)出其統(tǒng)計(jì)平均特性,同樣,它也不考慮服務(wù)器負(fù)載狀況、服務(wù)器出 現(xiàn)故障等。2.輪循法使用輪循法 (Round Robin 時(shí),每一次來(lái)自客戶的請(qǐng)求輪流分配給內(nèi)部中的服務(wù)器,從 1至 N 然后重新開(kāi)始。此
53、種均衡算法適合于服務(wù)器組中的所有服務(wù)器都有相同 的軟硬件配置并且平均服務(wù)請(qǐng)求相對(duì)均衡的情況。該算法簡(jiǎn)單方便、易于實(shí)現(xiàn),適用 于集群中所有節(jié)點(diǎn)的處理能力和性能均相同的情況。但是這種方法沒(méi)有將不同服務(wù)器 提供服務(wù)能力的不同、服務(wù)器的負(fù)載情況等因素考慮進(jìn)去,有時(shí)負(fù)載均衡的效果不理 想。按隨機(jī)算法和輪循法選擇方案來(lái)分配請(qǐng)求不能保證服務(wù)器的可用性和各個(gè)服務(wù)器 之間的負(fù)載均衡。3.加權(quán)輪循法加權(quán)輪循調(diào)度 (Weighted Round-Robin算法是在輪循法的基礎(chǔ)上的改進(jìn),可以解決 服務(wù)器間性能不一的情況,它是按權(quán)值的高低和輪循方式分配請(qǐng)求到各服務(wù)器。權(quán)值 高的服務(wù)器先收到連接,權(quán)值高的服務(wù)器比權(quán)值低的
54、服務(wù)器處理更多的連接,相同權(quán) 值的服務(wù)器處理相同數(shù)目的連接數(shù)。當(dāng)服務(wù)器的權(quán)值為零時(shí),該服務(wù)器不被調(diào)度。當(dāng) 請(qǐng)求的服務(wù)時(shí)間變化很大,單獨(dú)的加權(quán)輪循調(diào)度算法依然會(huì)導(dǎo)致服務(wù)器間的負(fù)載不均 衡。加權(quán)輪循調(diào)度無(wú)需記錄當(dāng)前所有連接的狀態(tài), 所以它也是一種無(wú)狀態(tài)調(diào)度。 調(diào)度器 可以自動(dòng)詢問(wèn)服務(wù)器的負(fù)載情況,并動(dòng)態(tài)地調(diào)整服務(wù)器的權(quán)值。這種算法的效果比輪 循法要好。4.最少連接法最少連接調(diào)度 (Least-Connection算法是對(duì)集群系統(tǒng)中的每一臺(tái)服務(wù)器都要記錄它 當(dāng)前正在處理的連接數(shù)量,并把新的連接請(qǐng)求分配到當(dāng)前連接數(shù)最小的服務(wù)器。最少 連接調(diào)度是一種動(dòng)態(tài)調(diào)度算法 43,它通過(guò)服務(wù)器所活躍的連接數(shù)來(lái)估計(jì)服
55、務(wù)器的負(fù)載 情況。調(diào)度器需要記錄各個(gè)服務(wù)器己建立連接的數(shù)目,當(dāng)一個(gè)請(qǐng)求被調(diào)度到某臺(tái)服務(wù) 器,其連接數(shù)加 1;當(dāng)連接中止或超時(shí),其連接數(shù)減 1。當(dāng)各服務(wù)器有相同的處理性能時(shí), 最少連接調(diào)度算法能把負(fù)載變化大的請(qǐng)求平均分 布到各個(gè)服務(wù)器上,所有處理時(shí)間比較長(zhǎng)的請(qǐng)求不可能被發(fā)送到同一臺(tái)服務(wù)器上。但 是,當(dāng)各服務(wù)器的處理能力不同相差較大時(shí),該算法并不理想,因?yàn)?TCP 連接處理請(qǐng) 求后會(huì)進(jìn)入 TIME_WAIT狀態(tài), TCP 的 TIME_WAIT一般為 2分鐘,此時(shí)連接還占用 服務(wù)器的資源,所以會(huì)出現(xiàn)這樣情形,性能高的服務(wù)器己處理所收到的連接,連接處 于 TIME_WAIT狀態(tài),而性能低的服務(wù)器己經(jīng)
56、忙于處理所收到的連接,還不斷地收到 新的連接請(qǐng)求。5.加權(quán)最少連接法在集群系統(tǒng)中的服務(wù)器性能差異較大的情況下,采用加權(quán)的最少連接法 (WeightedLeast-Connection 分配算法可以優(yōu)化負(fù)載均衡性能。系統(tǒng)根據(jù)服務(wù)器的處理能力大小, 給它一個(gè)相應(yīng)的權(quán)值。加權(quán)最少連接調(diào)度在調(diào)度新連接時(shí)盡可能使服務(wù)器的已建立連 接數(shù)和其權(quán)值成比例。系統(tǒng)可以自動(dòng)詢問(wèn)服務(wù)器的負(fù)載情況,并動(dòng)態(tài)地調(diào)整服務(wù)器的 權(quán)值,達(dá)到更好的負(fù)載均衡效果。6.最快響應(yīng)法使用最快響應(yīng)法時(shí),負(fù)載均衡調(diào)度器設(shè)備對(duì)集群的每個(gè)服務(wù)器發(fā)出一個(gè)探測(cè)請(qǐng)求, 并將下一個(gè)到達(dá)的連接請(qǐng)求分配給響應(yīng)時(shí)間最短的節(jié)點(diǎn)。這種方法是高級(jí)均衡基于拓 撲結(jié)構(gòu)重
57、定向用到的主要方法。因?yàn)楸疽曨l服務(wù)器中的用戶請(qǐng)求要求反饋的是視頻流, 以上算法均不能真正做到該 系統(tǒng)的負(fù)載均衡分配,無(wú)法更好地發(fā)揮系統(tǒng)的并行處理能力。因此,可以考慮把幾種 方法結(jié)合在一起使用,或者結(jié)合系統(tǒng)結(jié)構(gòu)、負(fù)載特征等因素,在以上一般算法的基礎(chǔ) 上加以改進(jìn),使之更好的適應(yīng)本系統(tǒng)的要求。目前,對(duì)負(fù)載均衡的實(shí)現(xiàn),按照 OSI 分層模型可分為:客戶端負(fù)載均衡、應(yīng)用服 務(wù)器、動(dòng)態(tài)域名、高層協(xié)議交換和網(wǎng)絡(luò)接入?yún)f(xié)議交換等 44。下面介紹三種主要的實(shí)現(xiàn) 方案 45:2.基于 OSI/RM第七層的負(fù)載均衡。此時(shí)根據(jù)數(shù)據(jù)包內(nèi)數(shù)據(jù)的內(nèi)容不同,再考慮 各支撐服務(wù)器的處理能力和等待執(zhí)行的任務(wù)隊(duì)列中的任務(wù)量,將任務(wù)分
58、配到不同的服 務(wù)器處理。這個(gè)方案中,由于均衡服務(wù)器要解出數(shù)據(jù)包內(nèi)的內(nèi)容,故對(duì)其性能要求比 較高,且極易在此形成瓶頸。如 Apache 的 ProxyPass ,可以將不同的路徑,映射到不同的服務(wù)器上。又如 ASP 的 redirection 等,需要特定的應(yīng)用程序支持。采用反向代理 服務(wù)器進(jìn)行請(qǐng)求轉(zhuǎn)發(fā)的方法,雖然能夠應(yīng)用優(yōu)化的負(fù)載均衡策略,使每次服務(wù)均由最 空閑的內(nèi)部服務(wù)器來(lái)提供,以達(dá)到負(fù)載均衡的目的,但隨著并發(fā)連接數(shù)量的增加,代 理服務(wù)器本身的負(fù)載也變得非常大,反向代理服務(wù)器本身反而會(huì)成為服務(wù)的瓶頸。 3.基于 IP 層的負(fù)載均衡。此時(shí),根據(jù)一定的調(diào)度算法,將數(shù)據(jù)包直接轉(zhuǎn)發(fā)到物理 上不同的服務(wù)器。如網(wǎng)絡(luò)地址轉(zhuǎn)換的方法,可以將一個(gè)外部地址映射為多個(gè)內(nèi)部地址, 對(duì)每次請(qǐng)求動(dòng)態(tài)使用其中一個(gè)內(nèi)部地址, 達(dá)到負(fù)載均衡的目的。 由于均衡在 IP 層進(jìn)行, 調(diào)度成本比上述兩者都要低,能調(diào)度更多的支撐服務(wù)器。這樣的產(chǎn)品有 IBM 的 Interactive Network Dispatcher、 Cisco 的 LocalDirector 、 Alteon 的 ACEDirector 和 F5的 Big
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 校長(zhǎng)聘用合同
- 2024至2030年觸媒項(xiàng)目投資價(jià)值分析報(bào)告
- 2024至2030年簡(jiǎn)單壓榨器項(xiàng)目投資價(jià)值分析報(bào)告
- 2024至2030年定量超聲骨質(zhì)成像與測(cè)量系統(tǒng)項(xiàng)目投資價(jià)值分析報(bào)告
- 2024至2030年中國(guó)菠蘿濃縮果汁數(shù)據(jù)監(jiān)測(cè)研究報(bào)告
- 2024勞務(wù)承攬合同范本加工承攬合同范本2
- 2024標(biāo)準(zhǔn)農(nóng)村土地承包合同書(shū)范本
- 2024至2030年中國(guó)自動(dòng)冷凝泵行業(yè)投資前景及策略咨詢研究報(bào)告
- 2024年低發(fā)泡塑料項(xiàng)目可行性研究報(bào)告
- 2024至2030年中國(guó)水曲柳封邊臺(tái)板行業(yè)投資前景及策略咨詢研究報(bào)告
- 13J104《蒸壓加氣混凝土砌塊、板材構(gòu)造》
- 可持續(xù)金融與ESG(環(huán)境、社會(huì)、治理)投資的關(guān)聯(lián)研究
- 2023老年重癥患者靜脈血栓栓塞癥預(yù)防中國(guó)專家共識(shí)
- 食品化學(xué)4食品中的脂類課件
- 教學(xué)科學(xué)規(guī)劃課題申報(bào)書(shū)范例:《新時(shí)代德育元素融入大學(xué)英語(yǔ)教學(xué)的實(shí)踐研究》課題設(shè)計(jì)論證
- 部編版八年級(jí)歷史上冊(cè) (五四運(yùn)動(dòng))課件
- 船員外包服務(wù)投標(biāo)方案
- 微生物巨人-湯飛凡課件
- 烏魯木齊銀行2023年社會(huì)招聘人員信息筆試歷年高頻考點(diǎn)試題答案帶詳解
- 配電房設(shè)備運(yùn)行記錄表
- 豬營(yíng)養(yǎng)體系課件-整理
評(píng)論
0/150
提交評(píng)論