專利名稱:一種可擴(kuò)展的p2p流媒體系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及網(wǎng)絡(luò)通信領(lǐng)域,尤其涉及一種可擴(kuò)展的P2P流媒體系統(tǒng)。
背景技術(shù):
流媒體服務(wù)是在IP網(wǎng)絡(luò)上的一種基于流式傳輸技術(shù)的大數(shù)據(jù)量網(wǎng)絡(luò)服務(wù), 提供該服務(wù)的流媒體服務(wù)器需要很大的網(wǎng)絡(luò)帶寬。請參閱圖1,該圖為傳統(tǒng)流 媒體系統(tǒng)的架構(gòu)示意圖,傳統(tǒng)的流媒體系統(tǒng)基于C/S ( Client/Server)模式,由 流媒體服務(wù)器及若干個客戶端組成,在該系統(tǒng)中,所有的客戶端均需要從流媒 體服務(wù)器中獲取其需要的流媒體資源,因此傳統(tǒng)的流媒體系統(tǒng)對流媒體服務(wù)器 的帶寬要求很高,并且其支撐的用戶數(shù)量也很有限, 一般只有幾千個用戶。
目前在現(xiàn)有技術(shù)中得到廣泛應(yīng)用的流媒體系統(tǒng)是一種基于P2P技術(shù)的流 媒體系統(tǒng),請參閱圖2,該圖為現(xiàn)有技術(shù)中P2P流媒體系統(tǒng)的架構(gòu)示意圖,其 主要包括源服務(wù)器,查詢服務(wù)器、登錄服務(wù)器,超級節(jié)點(diǎn)和客戶端,各組成部 分的主要作用如下
源服務(wù)器,用于將原始流媒體資源分發(fā)給各超級節(jié)點(diǎn),并將該原始流媒體 資源的特征信息發(fā)送給查詢服務(wù)器;
查詢服務(wù)器,用于將系統(tǒng)所能提供的流媒體資源的特征信息提供給登錄客 戶端,對系統(tǒng)中各客戶端當(dāng)前下載流媒體資源的狀態(tài)信息進(jìn)行收集管理,在接 收到客戶端發(fā)出的種子查詢請求時,將能提供相應(yīng)資源的客戶端及超級節(jié)點(diǎn)的 地址信息發(fā)送給請求發(fā)起客戶端;
登錄服務(wù)器,用于處理客戶端的登錄請求,對發(fā)出登錄請求的客戶端進(jìn)行 驗(yàn)證,將其重定向到對應(yīng)的查詢服務(wù)器上;
超級節(jié)點(diǎn),用于從源服務(wù)器中獲取原始流媒體資源,并根據(jù)客戶端的請求
向其提供相應(yīng)的流4某體資源;
客戶端,用于向查詢服務(wù)器發(fā)送種子查詢請求,根據(jù)接收到的地址信息與 相應(yīng)的超級節(jié)點(diǎn)及客戶端建立連接,進(jìn)行資源交互。
上述P2P流々某體系統(tǒng)實(shí)現(xiàn)了資源查詢與資源交互的分離,由于源服務(wù)器將 原始流媒體資源分發(fā)給系統(tǒng)中的超級節(jié)點(diǎn),因此系統(tǒng)中的各客戶端最初通過與 超級節(jié)點(diǎn)的交互獲取到流媒體資源,然后獲取到流々某體資源的客戶端就可以作 為資源提供方向系統(tǒng)中的其他客戶端提供該流媒體資源,這一過程實(shí)現(xiàn)了流媒 體資源在整個系統(tǒng)中的不斷傳播,最終使得系統(tǒng)中的任一客戶端都可以從相鄰 的其它客戶端那里獲取所需要的流媒體資源,而不需要直接從源服務(wù)器中獲取 流媒體資源,從而大大降低了源服務(wù)器的帶寬消耗。
在同等帶寬資源的條件下,上述P2P流媒體系統(tǒng)中的源服務(wù)器和上述傳統(tǒng) 流媒體系統(tǒng)中的流媒體服務(wù)器相比,可以支撐更多的用戶,因此一般而言,上 述P2P流媒體系統(tǒng)一般可以支撐十幾萬人甚至幾十萬個用戶。然而當(dāng)用戶數(shù)量 超過P2P流媒體系統(tǒng)的最大支撐數(shù)量時,就需要對上述P2P流媒體系統(tǒng)中的服 務(wù)器進(jìn)行擴(kuò)展,而上述P2P流媒體系統(tǒng)的可擴(kuò)展性很差,若要對該系統(tǒng)進(jìn)行擴(kuò) 展,就必須對整個系統(tǒng)的架構(gòu)進(jìn)行重新建構(gòu)。
另外在上述P2P流媒體系統(tǒng)中,查詢服務(wù)器是最為繁忙及關(guān)鍵的部分,若 若其發(fā)生故障,那么整個系統(tǒng)都會癱瘓,因此上述P2P流媒體系統(tǒng)的可靠性較 低。
鑒于上述P2P流々某體系統(tǒng)存在的種種缺陷,可知其并不適合大容量網(wǎng)絡(luò)環(huán) 境的應(yīng)用。
發(fā)明內(nèi)容
本發(fā)明提供一種可擴(kuò)展的P2P流媒體系統(tǒng),用以解決現(xiàn)有技術(shù)中P2P流媒 體系統(tǒng)的可擴(kuò)展性較差的問題。 本發(fā)明技術(shù)方案包括
一種可擴(kuò)展的P2P流媒體系統(tǒng),包括源服務(wù)器、代理服務(wù)器和查詢服務(wù)器, 其中,
源服務(wù)器,用于將自身存儲的原始流媒體資源分發(fā)給對應(yīng)的超級節(jié)點(diǎn),并
將自身存儲的流^某體資源的特征信息發(fā)送給對應(yīng)的代理服務(wù)器;
代理服務(wù)器,用于收集與自身對應(yīng)的各源服務(wù)器中存儲的流媒體資源的特
征信息,并將該信息同步到所有的查詢服務(wù)器上;
查詢服務(wù)器,用于管理當(dāng)前登錄自身的各客戶端的狀態(tài)信息,將系統(tǒng)當(dāng)前
所能提供的流媒體資源的特征信息顯示給客戶端,在收到客戶端的種子查詢請
求時,將能提供相應(yīng)資源的客戶端及超級節(jié)點(diǎn)的地址信息發(fā)送給請求發(fā)起客戶
較佳地,系統(tǒng)中新增源服務(wù)器時,該新增源服務(wù)器將自身存儲的原始流媒 體資源分發(fā)給預(yù)先配置的相應(yīng)的超級節(jié)點(diǎn),并將自身存儲的流媒體資源的特征 信息發(fā)送給預(yù)先配置的對應(yīng)的代理服務(wù)器。
較佳地,所述源服務(wù)器在自身存儲的流媒體資源被刪除或自身存儲的流媒 體資源的特征信息發(fā)生變化時,對自身對應(yīng)的代理服務(wù)器中存儲的流媒體資源 的特征信息進(jìn)行相應(yīng)更新。
較佳地,所述代理服務(wù)器在自身存儲的流媒體資源的特征信息發(fā)生變化 時,將自身存儲的流媒體資源的特征信息同步到所有的查詢服務(wù)器上。
較佳地,當(dāng)系統(tǒng)中新增代理服務(wù)器時,需要重新配置源服務(wù)器與代理服務(wù) 器的對應(yīng)關(guān)系,源服務(wù)器根據(jù)該重新配置的對應(yīng)關(guān)系與相應(yīng)的代理服務(wù)器建立 連接,將自身存儲的流媒體資源的特征信息發(fā)送給對應(yīng)的代理服務(wù)器,對代理
服務(wù)器中存儲的流^f某體資源的特征信息進(jìn)行更新;
代理服務(wù)器將更新后的流媒體資源的特征信息同步到所有的查詢服務(wù)器。 較佳地,系統(tǒng)中新增查詢服務(wù)器時,系統(tǒng)中所有的代理服務(wù)器分別與該新
增的查詢服務(wù)器建立連接,系統(tǒng)中所有的代理服務(wù)器分別將自身存儲的流媒體
資源的特征信息發(fā)送給該新增的查詢服務(wù)器。
較佳地,所述系統(tǒng)還包括管理服務(wù)器和登錄服務(wù)器,其中, 管理服務(wù)器,用于管理系統(tǒng)中所有的查詢服務(wù)器,根據(jù)系統(tǒng)中所有查詢服 務(wù)器的狀態(tài)信息為登錄服務(wù)器制定重定向策略,將其發(fā)送給所有的登錄服務(wù)
器;
登錄服務(wù)器,用于處理客戶端的登錄請求,并根據(jù)管理服務(wù)器制定的重定 向策略將客戶端重定向到相應(yīng)的查詢服務(wù)器。
較佳地,系統(tǒng)中新增查詢服務(wù)器時,該查詢服務(wù)器自動將自身的狀態(tài)信息 報告給管理服務(wù)器。
較佳地,所述管理服務(wù)器定時獲取系統(tǒng)中所有查詢服務(wù)器的狀態(tài)信息,以 此制定重定向策略,并且在重定向策略發(fā)生變化時,對所有登錄服務(wù)器中存儲 的重定向策略進(jìn)行更新。
較佳地,所述查詢服務(wù)器的狀態(tài)信息中包括查詢服務(wù)器當(dāng)前的工作狀況指 示信息、當(dāng)前最大支撐用戶數(shù)信息及當(dāng)前在線用戶數(shù)信息。
較佳地,所述系統(tǒng)還包括
域名服務(wù)器,用于將系統(tǒng)中所有的登錄服務(wù)器綁定到同一域名上,在接收 到客戶端的登錄請求時,隨機(jī)為客戶端確定對應(yīng)的登錄服務(wù)器,將所述確定的 登錄服務(wù)器的地址信息返回給客戶端。
較佳地,當(dāng)系統(tǒng)中新增登錄服務(wù)器時,新增的登錄服務(wù)器與系統(tǒng)中所有的 查詢服務(wù)器及管理服務(wù)器建立連接,并在域名服務(wù)器中添加該新增登錄服務(wù)器 的地址信息。
較佳地,所述系統(tǒng)還包括
備用管理服務(wù)器,與所述管理服務(wù)器共用相同的地址,對管理服務(wù)器中存 儲的查詢客戶端的狀態(tài)信息進(jìn)行M,在管理服務(wù)器發(fā)生故障時,根據(jù)系統(tǒng)中 所有查詢服務(wù)器的狀態(tài)信息為登錄服務(wù)器制定重定向策略,將其發(fā)送給所有的 登錄服務(wù)器。
本發(fā)明有益效果如下
本發(fā)明提供了 一種可擴(kuò)展的P2P流媒體系統(tǒng),包括源服務(wù)器、代理服務(wù)器、 查詢服務(wù)器,系統(tǒng)中的代理服務(wù)器用于收集與自身對應(yīng)的各源服務(wù)器中存儲的 流媒體資源的特征信息,并將該信息同步到所有的查詢服務(wù)器上,從而使得系 統(tǒng)中所有的查詢服務(wù)器中存儲的流媒體資源的特征信息相同,這樣客戶端登錄 到系統(tǒng)中任意 一 臺查詢服務(wù)器上均可獲得相同質(zhì)量的流媒體服務(wù)。
本發(fā)明所述系統(tǒng)進(jìn)一步包括用于監(jiān)控及管理系統(tǒng)中所有的查詢服務(wù)器的 管理服務(wù)器,管理服務(wù)器定時獲取系統(tǒng)中所有查詢服務(wù)器的狀態(tài)信息,根據(jù)系 統(tǒng)中所有查詢服務(wù)器的狀態(tài)信息為登錄服務(wù)器制定重定向策略,在某個查詢服 務(wù)器發(fā)生故障時,可自動避開該查詢服務(wù)器,將客戶端重定向到其他正常工作 的查詢服務(wù)器,保證了系統(tǒng)的穩(wěn)定性及可靠性。
本發(fā)明所述系統(tǒng)實(shí)現(xiàn)了在用戶數(shù)不斷增長或者系統(tǒng)提供的流媒體資源量 不斷增長,系統(tǒng)的支撐能力不足的情況下,僅需要在系統(tǒng)中增加相應(yīng)的服務(wù)器, 而無需改寫服務(wù)器代碼以及變更系統(tǒng)架構(gòu)即可對系統(tǒng)的支撐能力進(jìn)行擴(kuò)容。
圖1為傳統(tǒng)流士某體系統(tǒng)的架構(gòu)示意圖2為現(xiàn)有技術(shù)中P2P流媒體系統(tǒng)的架構(gòu)示意圖3為本發(fā)明可擴(kuò)展的P2P流媒體系統(tǒng)的架構(gòu)示意圖。
具體實(shí)施例方式
為解決上述現(xiàn)有P2P流媒體系統(tǒng)中存在的缺陷,本發(fā)明提供了一種可擴(kuò)展 的P2P流媒體系統(tǒng),該系統(tǒng)實(shí)現(xiàn)了在用戶數(shù)不斷增長或者系統(tǒng)提供的流媒體資 源量不斷增長,系統(tǒng)的支撐能力不足的情況下,僅需要在系統(tǒng)中增加相應(yīng)的服 務(wù)器,而無需改寫服務(wù)器代碼以及變更系統(tǒng)架構(gòu)即可對系統(tǒng)的支撐能力進(jìn)行擴(kuò)
容o
下面將結(jié)合各個附圖對本發(fā)明技術(shù)方案的主要實(shí)現(xiàn)原理具體實(shí)施方式
及其對應(yīng)能夠達(dá)到的有益效果進(jìn)4亍詳細(xì)的闡迷。
請參閱圖3,該圖為、本發(fā)明可擴(kuò)展的P2P流媒體系統(tǒng)的架構(gòu)示意圖,其主 要包括源服務(wù)器、代理服務(wù)器、查詢服務(wù)器、登錄服務(wù)器、超級節(jié)點(diǎn)及客戶端, 其中各個組成部分的主要功能如下
源服務(wù)器,與對應(yīng)的超級節(jié)點(diǎn)及對應(yīng)的代理服務(wù)器分別連接,用于將自身 存儲的原始流媒體資源分發(fā)給自身對應(yīng)的超級節(jié)點(diǎn),并將自身存儲的流媒體資 源的特征信息發(fā)送給對應(yīng)的代理服務(wù)器,并在自身存儲的流々某體資源被刪除或 自身存儲的流媒體資源的特征信息發(fā)生變化時,對自身對應(yīng)的代理服務(wù)器中存 儲的流^f某體資源的特征信息進(jìn)行相應(yīng)更新。
代理服務(wù)器,與對應(yīng)的源服務(wù)器及系統(tǒng)中所有的查詢服務(wù)器分別連接,用 于接收與自身對應(yīng)的各源服務(wù)器中存儲的流媒體資源的特征信息,并在自身存 儲的流媒體資源的特征信息發(fā)生變化時,將該信息同步到所有的查詢服務(wù)器 上,使得系統(tǒng)中所有的查詢服務(wù)器中存儲的流媒體資源的特征信息相同
查詢服務(wù)器,與系統(tǒng)中所有的代理服務(wù)器分別連接,用于管理當(dāng)前登錄自 身的各客戶端的狀態(tài)信息,將系統(tǒng)當(dāng)前所能提供的流媒體資源的特征信息顯示 給客戶端,在收到客戶端的種子查詢請求時,將能提供相應(yīng)資源的客戶端及超 級節(jié)點(diǎn)的地址信息發(fā)送給請求發(fā)起客戶端;
系統(tǒng)中所有的查詢服務(wù)器中存儲的流媒體資源的特征信息相同,因此系統(tǒng) 中所有的查詢服務(wù)器對外提供的流媒體服務(wù)是完全一致的,這樣客戶端登錄到 系統(tǒng)中任意一 臺查詢服務(wù)器上均可獲得相同質(zhì)量的流々某體服務(wù)。
登錄服務(wù)器,與系統(tǒng)中所有的查詢服務(wù)器分別連接,用于處理客戶端的登 錄請求,對發(fā)出登錄請求的客戶端進(jìn)行驗(yàn)證,將其重定向到對應(yīng)的查詢服務(wù)器 上。
超級節(jié)點(diǎn),連接相應(yīng)的源服務(wù)器,用于從源服務(wù)器中獲取原始流媒體資源, 并根據(jù)客戶端的請求向其提供相應(yīng)的流媒體資源。
客戶端,用于通過登錄服務(wù)器向查詢服務(wù)器發(fā)送種子查詢請求,根據(jù)接收
到的地址信息與相應(yīng)的超級節(jié)點(diǎn)及客戶端建立連接,進(jìn)行資源交互。
較佳地,為了避免大量客戶端集中登錄某臺登錄服務(wù)器,導(dǎo)致網(wǎng)絡(luò)擁塞的
情況的出現(xiàn),本發(fā)明可擴(kuò)展的P2P流4某體系統(tǒng)進(jìn)一步包括
域名服務(wù)器,用于將系統(tǒng)中所有的登錄服務(wù)器綁定到同一域名上,在接收
到客戶端的登錄請求時,隨機(jī)為客戶端確定對應(yīng)的登錄服務(wù)器,將所述確定的
登錄服務(wù)器的地址信息返回給客戶端,從而避免了大量客戶端集中登錄某臺登
錄服務(wù)器,導(dǎo)致其過度擁塞的情況的出現(xiàn)。
較佳地,由于查詢服務(wù)器是整個系統(tǒng)中最繁忙及最關(guān)鍵的部分,因此為了
維護(hù)系統(tǒng)的整體穩(wěn)定性及可靠性,本發(fā)明可擴(kuò)展的P2P流々某體系統(tǒng)進(jìn)一步包
括
管理服務(wù)器,與系統(tǒng)中所有的查詢服務(wù)器分別連接,用于監(jiān)控及管理系統(tǒng) 中所有的查詢服務(wù)器,定時獲取系統(tǒng)中所有查詢服務(wù)器的狀態(tài)信息,根據(jù)系統(tǒng) 中所有查詢服務(wù)器的狀態(tài)信息為登錄服務(wù)器制定重定向策略,在重定向策略發(fā) 生變化時將其分別發(fā)送給所有的登錄服務(wù)器。
所述管理服務(wù)器獲取的查詢服務(wù)器的狀態(tài)信息包括查詢服務(wù)器當(dāng)前的工 作狀況指示信息、當(dāng)前最大支撐用戶數(shù)信息及當(dāng)前在線用戶數(shù)信息,其中查詢 服務(wù)器的工作狀況指示信息用于指示查詢服務(wù)器當(dāng)前是否工作正常。
當(dāng)有某臺查詢服務(wù)器發(fā)生故障時,管理服務(wù)器會很快獲知此故障,在狀態(tài) 信息列表中將其工作狀況指示信息設(shè)置為故障,管理服務(wù)器立即修改登錄服務(wù) 器的重定向策略,使客戶端登錄時避開該故障的查詢服務(wù)器,并將修改后的重 定向策略發(fā)送給系統(tǒng)中的所有登錄客戶端。登錄在該故障的查詢服務(wù)器上的客 戶端會重新進(jìn)行登錄,登錄服務(wù)器會根據(jù)最新的重定向策略將重登錄的客戶端 重定向到其它正常的查詢服務(wù)器上。當(dāng)發(fā)生故障的查詢服務(wù)器恢復(fù)后,管理服 務(wù)器會在狀態(tài)信息列表中將其工作狀況指示信息變更為正常,然后修改登錄服 務(wù)器的重定向策略,使登錄服務(wù)器可將新登錄的客戶端重定向到該查詢服務(wù)器 上,并將修改后的重定向策略發(fā)送給系統(tǒng)中的所有登錄客戶端。這一過程對于 客戶端來i并是完全透明的,不會影響其正常的工作和登錄。
本發(fā)明所述系統(tǒng)是一種可擴(kuò)展的P2P流媒體系統(tǒng),該系統(tǒng)實(shí)現(xiàn)了在用戶數(shù) 不斷增長或者系統(tǒng)提供的流+某體資源量不斷增長,系統(tǒng)的支撐能力不足的情況
下,僅需要在系統(tǒng)中增加相應(yīng)的服務(wù)器,使多臺服務(wù)器組合起來共同對外提供 服務(wù),即"平行擴(kuò)展",而無需改寫服務(wù)器代碼以及變更系統(tǒng)架構(gòu)即可對系統(tǒng) 的支撐能力進(jìn)行擴(kuò)容,下面詳細(xì)說明對系統(tǒng)中各個組成部分進(jìn)行平行擴(kuò)展的具 體過程
1) 源服務(wù)器的平行擴(kuò)展
每臺源服務(wù)器負(fù)責(zé)發(fā)布一部分媒體流資源,當(dāng)有更多媒體流資源需要發(fā)布 時,就需要在系統(tǒng)中增加相應(yīng)的源服務(wù)器,系統(tǒng)中新增源服務(wù)器時,該新增源 服務(wù)器將自身存儲的原始流媒體資源分發(fā)給預(yù)先配置的相應(yīng)的超級節(jié)點(diǎn),并將 自身存儲的流媒體資源的特征信息發(fā)送給預(yù)先配置的對應(yīng)的代理服務(wù)器,即可 保證系統(tǒng)中的客戶端都可以查詢到該新增J;某體流資源的特征信息。
2) 代理服務(wù)器的平行擴(kuò)展
每臺代理服務(wù)器負(fù)責(zé)管理有限數(shù)量的源服務(wù)器,當(dāng)系統(tǒng)中某臺代理服務(wù)器 管理的源服務(wù)器的數(shù)量超過其最大支撐能力時,需要在系統(tǒng)中新增代理服務(wù) 器,并重新配置源服務(wù)器與代理服務(wù)器的對應(yīng)關(guān)系,源服務(wù)器根據(jù)該重新配置 的對應(yīng)關(guān)系與相應(yīng)的代理服務(wù)器建立連接,將自身存儲的流媒體資源的特征信 息發(fā)送給重新配置的對應(yīng)的代理服務(wù)器,對代理服務(wù)器中存儲的流媒體資源的 特征信息進(jìn)行更新,代理服務(wù)器將更新后的流媒體資源的特征信息同步到所有 的查詢服務(wù)器。
3) 查詢服務(wù)器的平行擴(kuò)展
查詢服務(wù)器負(fù)責(zé)客戶端的狀態(tài)維護(hù)和種子查詢等功能,是整個系統(tǒng)中最為 繁忙和關(guān)鍵的部分,當(dāng)在線用戶總數(shù)量超過所有查詢服務(wù)器的總支撐人數(shù)時, 就需要在系統(tǒng)中新增查詢服務(wù)器以緩解系統(tǒng)壓力。系統(tǒng)中新增查詢服務(wù)器時, 系統(tǒng)中所有的代理服務(wù)器分別與該新增的查詢服務(wù)器建立連接,所有的代理服
務(wù)器分別將自身存儲的流媒體資源的特征信息發(fā)送給該新增的查詢服務(wù)器,該 查詢服務(wù)器自動將自身的狀態(tài)信息報告給管理服務(wù)器。系統(tǒng)新增查詢服務(wù)器 后,管理服務(wù)器會重新制定重定向策略控制將登錄客戶端重定向到新增的查詢 服務(wù)器上,而不會給已經(jīng)滿負(fù)荷的查詢服務(wù)器再增加任何新的負(fù)荷。
4) 管理服務(wù)器的平行擴(kuò)展
管理服務(wù)器只是負(fù)責(zé)監(jiān)控和維護(hù)所有查詢服務(wù)器的狀態(tài)信息,在整個系統(tǒng) 中的壓力最小,單臺機(jī)器就足夠勝任了, 一般不需要增加新機(jī)器來平行擴(kuò)展, 但是鑒于其作用的重大,為了安全起見,可在系統(tǒng)中增加了一臺備份的管理服 務(wù)器,進(jìn)行雙機(jī)的熱備份,保證其中一臺不工作時另一臺可以頂替其繼續(xù)工作。 所述備用管理服務(wù)器與所述管理服務(wù)器共用相同的地址,對管理服務(wù)器中存儲 的查詢客戶端的狀態(tài)信息進(jìn)行備份,在管理服務(wù)器發(fā)生故障時,根據(jù)系統(tǒng)中所 有查詢服務(wù)器的狀態(tài)信息為登錄服務(wù)器制定重定向策略,將其發(fā)送給所有的登 錄服務(wù)器。
5) 登錄服務(wù)器的平行擴(kuò)展
登錄服務(wù)器用于處理客戶端的登錄請求,將其重定向到相應(yīng)的查詢服務(wù)器 上,當(dāng)?shù)卿浛蛻舳说目倲?shù)量超過所有登錄服務(wù)器的總支撐人數(shù)時,就需要增加 新的登錄服務(wù)器來緩解系統(tǒng)的登錄壓力。當(dāng)系統(tǒng)中新增登錄服務(wù)器時,新增的 登錄服務(wù)器與系統(tǒng)中所有的查詢服務(wù)器及管理服務(wù)器建立連接,并在域名解析 服務(wù)器中添加該新增登錄服務(wù)器的地址信息。
6) 超級節(jié)點(diǎn)的平行擴(kuò)展
超級節(jié)點(diǎn)主要是負(fù)責(zé)從相應(yīng)的源服務(wù)器中獲取原始的流媒體資源,并根據(jù) 客戶端的請求向其提供相應(yīng)的流媒體資源,超級節(jié)點(diǎn)數(shù)量多少會對流媒體資源 的中轉(zhuǎn)效果有一定影響。系統(tǒng)增加超級節(jié)點(diǎn)時,該超級節(jié)點(diǎn)對應(yīng)的源服務(wù)器需 要將自身存儲的原始流媒體資源發(fā)送給該新增的超級節(jié)點(diǎn)。在整個系統(tǒng)的用戶 數(shù)較少的情況下,客戶端之間的交互不太頻繁,所以這時超級節(jié)點(diǎn)的中轉(zhuǎn)作用 就顯得比較重要,這時在系統(tǒng)中新增超級節(jié)點(diǎn)可以改善流媒體資源的中轉(zhuǎn)效
果;但是隨著系統(tǒng)用戶數(shù)的不斷增加,客戶端之間的交互就變的越來越頻繁, 從而成為了流4某體資源交互的主要方式,這時再增加新的超級節(jié)點(diǎn)對于整體的 流媒體資源的整體中轉(zhuǎn)效果并沒有太大的改善,所以在整個系統(tǒng)的用戶數(shù)較多 的情況下,超級節(jié)點(diǎn)的數(shù)量一般是固定的,不需要無限制的平行擴(kuò)展。
明的精神和范圍。這樣,倘若本發(fā)明的這些修改和變型屬于本發(fā)明權(quán)利要求及 其等同技術(shù)的范圍之內(nèi),則本發(fā)明也意圖包含這些改動和變型在內(nèi)。
權(quán)利要求
1、一種可擴(kuò)展的P2P流媒體系統(tǒng),其特征在于,包括源服務(wù)器、代理服務(wù)器和查詢服務(wù)器,其中,源服務(wù)器,用于將自身存儲的原始流媒體資源分發(fā)給對應(yīng)的超級節(jié)點(diǎn),并將自身存儲的流媒體資源的特征信息發(fā)送給對應(yīng)的代理服務(wù)器;代理服務(wù)器,用于收集與自身對應(yīng)的各源服務(wù)器中存儲的流媒體資源的特征信息,并將該信息同步到所有的查詢服務(wù)器上;查詢服務(wù)器,用于管理當(dāng)前登錄自身的各客戶端的狀態(tài)信息,將系統(tǒng)當(dāng)前所能提供的流媒體資源的特征信息顯示給客戶端,在收到客戶端的種子查詢請求時,將能提供相應(yīng)資源的客戶端及超級節(jié)點(diǎn)的地址信息發(fā)送給請求發(fā)起客戶端。
2、 如權(quán)利要求1所述的系統(tǒng),其特征在于,系統(tǒng)中新增源服務(wù)器時,該 新增源服務(wù)器將自身存儲的原始流媒體資源分發(fā)給預(yù)先配置的相應(yīng)的超級節(jié) 點(diǎn),并將自身存儲的流^ 某體資源的特征信息發(fā)送給預(yù)先配置的對應(yīng)的代理服務(wù) 器。
3、 如權(quán)利要求1所述的系統(tǒng),其特征在于,所述源服務(wù)器在自身存儲的 流媒體資源被刪除或自身存儲的流媒體資源的特征信息發(fā)生變化時,對自身對 應(yīng)的代理服務(wù)器中存儲的流媒體資源的特征信息進(jìn)行相應(yīng)更新。
4、 如權(quán)利要求2或3所述的系統(tǒng),其特征在于,所述代理服務(wù)器在自身 存儲的流媒體資源的特征信息發(fā)生變化時,將自身存儲的流媒體資源的特征信 息同步到所有的查詢服務(wù)器上。
5、 如權(quán)利要求l所述的系統(tǒng),其特征在于,當(dāng)系統(tǒng)中新增代理服務(wù)器時, 需要重新配置源服務(wù)器與代理服務(wù)器的對應(yīng)關(guān)系,源服務(wù)器根據(jù)該重新配置的 對應(yīng)關(guān)系與相應(yīng)的代理服務(wù)器建立連接,將自身存儲的流媒體資源的特征信息 發(fā)送給對應(yīng)的代理服務(wù)器,對代理服務(wù)器中存儲的流4某體資源的特征信息進(jìn)行 更新; 代理服務(wù)器將更新后的流々某體資源的特征信息同步到所有的查詢服務(wù)器。
6、 如權(quán)利要求1所述的系統(tǒng),其特征在于,系統(tǒng)中新增查詢服務(wù)器時, 系統(tǒng)中所有的代理服務(wù)器分別與該新增的查詢服務(wù)器建立連接,系統(tǒng)中所有的 代理服務(wù)器分別將自身存儲的流媒體資源的特征信息發(fā)送給該新增的查詢服 務(wù)器。
7、 如權(quán)利要求1所述的系統(tǒng),其特征在于,所述系統(tǒng)還包括管理服務(wù)器 和登錄服務(wù)器,其中,管理服務(wù)器,用于管理系統(tǒng)中所有的查詢服務(wù)器,根據(jù)系統(tǒng)中所有查詢服 務(wù)器的狀態(tài)信息為登錄服務(wù)器制定重定向策略,將其發(fā)送給所有的登錄服務(wù) 器;登錄服務(wù)器,用于處理客戶端的登錄請求,并根據(jù)管理服務(wù)器制定的重定 向策略將客戶端重定向到相應(yīng)的查詢服務(wù)器。
8、 如權(quán)利要求7所述的系統(tǒng),其特征在于,系統(tǒng)中新增查詢服務(wù)器時, 該查詢服務(wù)器自動將自身的狀態(tài)信息報告給管理服務(wù)器。
9、 如權(quán)利要求7所述的系統(tǒng),其特征在于,所述管理服務(wù)器定時獲取系 統(tǒng)中所有查詢服務(wù)器的狀態(tài)信息,以此制定重定向策略,并且在重定向策略發(fā) 生變化時,對所有登錄服務(wù)器中存儲的重定向策略進(jìn)行更新。
10、 如權(quán)利要求7至9中任意一項(xiàng)所述的系統(tǒng),其特征在于,所述查詢服 務(wù)器的狀態(tài)信息中包括查詢服務(wù)器當(dāng)前的工作狀況指示信息、當(dāng)前最大支撐用 戶數(shù)信息及當(dāng)前在線用戶數(shù)信息。
11、 如權(quán)利要求7所述的系統(tǒng),其特征在于,所述系統(tǒng)還包括 域名服務(wù)器,用于將系統(tǒng)中所有的登錄服務(wù)器綁定到同一域名上,在接收到客戶端的登錄請求時,隨機(jī)為客戶端確定對應(yīng)的登錄服務(wù)器,將所述確定的 登錄服務(wù)器的地址信息返回給客戶端。
12、 如權(quán)利要求11所述的系統(tǒng),其特征在于,當(dāng)系統(tǒng)中新增登錄服務(wù)器 時,新增的登錄服務(wù)器與系統(tǒng)中所有的查詢服務(wù)器及管理服務(wù)器建立連接,并 在域名服務(wù)器中添加該新增登錄服務(wù)器的地址信息。
13、如權(quán)利要求7所述的系統(tǒng),其特征在于,所述系統(tǒng)還包括 備用管理服務(wù)器,與所述管理服務(wù)器共用相同的地址,對管理服務(wù)器中存 儲的查詢客戶端的狀態(tài)信息進(jìn)行備份,在管理服務(wù)器發(fā)生故障時,根據(jù)系統(tǒng)中 所有查詢服務(wù)器的狀態(tài)信息為登錄服務(wù)器制定重定向策略,將其發(fā)送給所有的 登錄服務(wù)器。
全文摘要
本發(fā)明公開了一種可擴(kuò)展的P2P流媒體系統(tǒng),用以解決現(xiàn)有技術(shù)中P2P流媒體系統(tǒng)的可擴(kuò)展性較差的問題。所述系統(tǒng)包括源服務(wù)器,用于將自身存儲的原始流媒體資源分發(fā)給對應(yīng)的超級節(jié)點(diǎn),并將自身存儲的流媒體資源的特征信息發(fā)送給對應(yīng)的代理服務(wù)器;代理服務(wù)器,用于收集與自身對應(yīng)的各源服務(wù)器中存儲的流媒體資源的特征信息,并將該信息同步到所有的查詢服務(wù)器上;查詢服務(wù)器,用于管理當(dāng)前登錄自身的各客戶端的狀態(tài)信息,將系統(tǒng)當(dāng)前所能提供的流媒體資源的特征信息顯示給客戶端;本發(fā)明實(shí)現(xiàn)了在系統(tǒng)的支撐能力不足時,僅需要在系統(tǒng)中增加相應(yīng)的服務(wù)器,而無需改寫服務(wù)器代碼以及變更系統(tǒng)架構(gòu)即可對系統(tǒng)的支撐能力進(jìn)行擴(kuò)容。
文檔編號H04L29/06GK101098271SQ20061009015
公開日2008年1月2日 申請日期2006年6月29日 優(yōu)先權(quán)日2006年6月29日
發(fā)明者波 吳, 洋 宋, 斌 方, 林實(shí)立 申請人:騰訊科技(深圳)有限公司