專利名稱:資源調(diào)度方法、系統(tǒng)、裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及網(wǎng)絡(luò)通信領(lǐng)域,特別涉及一種資源調(diào)度方法、系統(tǒng)、裝置。
背景技術(shù):
網(wǎng)絡(luò)應(yīng)用中用戶共享數(shù)據(jù)資源的需求日益增多,如單純的數(shù)據(jù)文件共享,點(diǎn)播時(shí)的數(shù)據(jù)共享等。現(xiàn)有的流媒體系統(tǒng)(點(diǎn)播和直播系統(tǒng))中,將媒體資源按照固定大小分成多個(gè)數(shù)據(jù)塊(如chunk或更小的數(shù)據(jù)塊),用于資源的發(fā)布及檢索;索引器(Tracker)處理資源提供方的發(fā)布請求,保存媒體資源索引,并面向資源請求方提供檢索服務(wù)。點(diǎn)對點(diǎn)(Peer to Peer,簡稱P2P)網(wǎng)絡(luò)的動(dòng)態(tài)特性以及用戶的錄放機(jī)(Video Cassette Recorder,簡稱 VCR)行為決定了數(shù)據(jù)資源的提供方、請求方以及Tracker服務(wù)器上的媒體資源索引都是不斷變化的,因此資源的調(diào)度方式對流媒體系統(tǒng)的性能至關(guān)重要。圖1為現(xiàn)有技術(shù)中的流媒體調(diào)度流程示意圖,如圖1所示的P2P流媒體系統(tǒng)中, 媒體資源的調(diào)度全部由Tracker服務(wù)器完成,調(diào)度過程包括對等體A(Peer Α)作為資源請求方向Tracker服務(wù)器發(fā)起“Announce”請求,例如請求媒體資源(Movie X,Chunk Y), Tracker服務(wù)器返回包含該媒體資源的對等體列表(Peer List)給對等體A,對等體A向擁有資源的對等體B (資源提供方或資源擁有方)和對等體C協(xié)商數(shù)據(jù)傳輸。在實(shí)現(xiàn)本發(fā)明過程中,發(fā)明人發(fā)現(xiàn)現(xiàn)有技術(shù)中至少存在如下問題圖1所示的流媒體系統(tǒng)主要是本地調(diào)度,即資源請求方從Tracker服務(wù)器獲取大量的包含所請求數(shù)據(jù)分片(如Chunk Y)的資源提供方信息(即對等體列表Peer List),然后請求方不斷地與資源提供方嘗試連接以實(shí)現(xiàn)媒體數(shù)據(jù)傳輸,會(huì)造成啟動(dòng)時(shí)延較大。請求方在下載后續(xù)數(shù)據(jù)分片(如Chunk Ζ)時(shí),需要重新向Tracker服務(wù)器發(fā)送媒體請求(Movie X,Chunk Z),由于 Tracker服務(wù)器的資源檢索消耗非常大,因此頻繁請求檢索會(huì)造成負(fù)荷嚴(yán)重,并且此種方式在保證用戶流媒體體驗(yàn)的連續(xù)性方面存在不足。
發(fā)明內(nèi)容
本發(fā)明的第一目的是提出一種資源調(diào)度方法,以實(shí)現(xiàn)高效調(diào)度。本發(fā)明的第二目的是提出一種資源調(diào)度系統(tǒng),以實(shí)現(xiàn)高效的資源調(diào)度。本發(fā)明的第三目的是提出一種資源調(diào)度裝置,以實(shí)現(xiàn)在對等體資源請求側(cè)實(shí)現(xiàn)高效調(diào)度。本發(fā)明的第四目的是提出一種資源調(diào)度裝置,以實(shí)現(xiàn)在對等體資源提供側(cè)實(shí)現(xiàn)高效調(diào)度。本發(fā)明的第五目的是提出一種資源調(diào)度裝置,以實(shí)現(xiàn)在服務(wù)器側(cè)實(shí)現(xiàn)高效調(diào)度。為實(shí)現(xiàn)上述第一目的,根據(jù)本發(fā)明的一個(gè)方面,提供了一種資源調(diào)度方法,包括 資源請求方根據(jù)當(dāng)前數(shù)據(jù)分片的資源提供方信息與至少一個(gè)資源提供方協(xié)商數(shù)據(jù)傳輸,接收資源提供方返回的當(dāng)前數(shù)據(jù)分片的相關(guān)分片信息;資源請求方保存相關(guān)分片信息與資源提供方的對應(yīng)關(guān)系,在請求數(shù)據(jù)分片時(shí)從對應(yīng)關(guān)系查詢資源提供方信息。
優(yōu)選地,相關(guān)分片可以包括當(dāng)前數(shù)據(jù)分片的一至多個(gè)后續(xù)分片和/或當(dāng)前數(shù)據(jù)分片的一至多個(gè)前續(xù)分片。數(shù)據(jù)分片可以包括數(shù)據(jù)塊Chunk或數(shù)據(jù)片Piece。優(yōu)選地,資源請求方與資源提供方可以通過Tracker服務(wù)器轉(zhuǎn)發(fā)數(shù)據(jù)協(xié)商信令。優(yōu)選地,Tracker服務(wù)器轉(zhuǎn)發(fā)數(shù)據(jù)協(xié)商信令還可以包括=Tra cker服務(wù)器通過會(huì)話消息監(jiān)測資源請求方與資源提供方的數(shù)據(jù)協(xié)商,在預(yù)設(shè)時(shí)間內(nèi)未收到資源提供方的反饋信息時(shí),向資源請求方發(fā)送通知消息;通知消息包括根據(jù)資源提供方的未反饋信息更新對應(yīng)關(guān)系或刪除資源提供方。其中,Tracker服務(wù)器轉(zhuǎn)發(fā)數(shù)據(jù)協(xié)商信令還可以包括=Tracker服務(wù)器監(jiān)測到資源請求方對同一數(shù)據(jù)分片的多次請求或者預(yù)設(shè)時(shí)間內(nèi)未收到資源請求方的會(huì)話請求對應(yīng)的拆除連接信令時(shí),主動(dòng)向資源請求方返回當(dāng)前數(shù)據(jù)分片的資源提供方信息和/或調(diào)整相應(yīng)資源提供方的優(yōu)先級。優(yōu)選地,資源請求方根據(jù)當(dāng)前數(shù)據(jù)分片的資源提供方信息與至少一個(gè)資源提供方協(xié)商數(shù)據(jù)傳輸還可以包括資源請求方根據(jù)資源提供方信息確定所有資源提供方數(shù)目n, 將當(dāng)前所請求的數(shù)據(jù)分片劃分為不大于η的m個(gè)數(shù)據(jù)片,選擇m個(gè)資源提供方并發(fā)協(xié)商數(shù)據(jù)傳輸。優(yōu)選地,資源提供方返回當(dāng)前數(shù)據(jù)分片的相關(guān)分片信息可以包括資源提供方接收資源請求方的當(dāng)前數(shù)據(jù)分片會(huì)話請求,在會(huì)話應(yīng)答消息中攜帶相關(guān)分片信息。其中,還包括資源請求方從對應(yīng)關(guān)系未查詢到所請求數(shù)據(jù)分片的資源提供方信息時(shí),從索引服務(wù)器查詢所請求數(shù)據(jù)分片的資源提供方信息。其中,資源請求方與資源提供方可以位于P2P流媒體系統(tǒng),包括直播和點(diǎn)播系統(tǒng)。為實(shí)現(xiàn)上述第二目的,根據(jù)本發(fā)明的另一個(gè)方面,提供了一種資源調(diào)度系統(tǒng),包括資源請求方,用于根據(jù)當(dāng)前數(shù)據(jù)分片的資源提供方信息與至少一個(gè)資源提供方協(xié)商數(shù)據(jù)傳輸;接收資源提供方返回的當(dāng)前數(shù)據(jù)分片的相關(guān)分片信息,保存相關(guān)分片信息與資源提供方的對應(yīng)關(guān)系,在請求數(shù)據(jù)分片時(shí)優(yōu)從對應(yīng)關(guān)系查詢資源提供方信息;資源提供方,用于與資源請求方協(xié)商數(shù)據(jù)傳輸,根據(jù)資源請求方的當(dāng)前數(shù)據(jù)分片請求返回相關(guān)分片信息。優(yōu)選地,還可以包括=Tracker服務(wù)器,用于根據(jù)資源請求方的數(shù)據(jù)分片請求,返回資源提供方信息;接收資源請求方的會(huì)話請求發(fā)送至資源提供方,并將源提供方返回的相關(guān)分片信息發(fā)送至資源請求方。Tracker服務(wù)器可以包括存儲模塊,用于存儲數(shù)據(jù)分片對應(yīng)的資源提供方信息; 查詢模塊,用于根據(jù)資源請求方的當(dāng)前數(shù)據(jù)分片請求,從存儲模塊查詢當(dāng)前數(shù)據(jù)分片的資源提供方信息;信令協(xié)商模塊,用于接收資源請求方的會(huì)話請求發(fā)送至資源提供方,并將源提供方返回的相關(guān)分片信息發(fā)送至資源請求方;監(jiān)測模塊,用于監(jiān)測到資源請求方與資源提供方的傳輸質(zhì)量低于預(yù)設(shè)條件時(shí),向資源請求方發(fā)送當(dāng)前數(shù)據(jù)分片的資源提供方信息和 /或調(diào)整對應(yīng)資源提供方的優(yōu)先級。優(yōu)選地,Tracker服務(wù)器可以包括判別模塊,用于當(dāng)資源提供方信息中的資源提供方數(shù)目小于預(yù)設(shè)值時(shí),向媒體服務(wù)器發(fā)送包含資源請求方及當(dāng)前數(shù)據(jù)分片的資源調(diào)度請求;該系統(tǒng)還可以包括媒體服務(wù)器,用于接收Tracker服務(wù)器的資源調(diào)度請求,向資源請求方返回包含當(dāng)前請求的數(shù)據(jù)分片的資源提供方信息。 為實(shí)現(xiàn)上述第三目的,根據(jù)本發(fā)明的另一個(gè)方面,提供了一種資源調(diào)度裝置,包括獲取模塊,用于對應(yīng)關(guān)系獲取當(dāng)前數(shù)據(jù)分片的資源提供方信息;信令協(xié)商模塊,用于根據(jù)資源提供方信息與至少一個(gè)資源提供方信令協(xié)商數(shù)據(jù)傳輸,接收資源提供方返回的當(dāng)前數(shù)據(jù)分片的相關(guān)分片信息;存儲模塊,用于保存當(dāng)前數(shù)據(jù)分片的資源提供方信息,及相關(guān)分片與資源提供方的對應(yīng)關(guān)系信息。該裝置可以位于P2P流媒體系統(tǒng)的對等體Peer中。該裝置的獲取模塊還可以進(jìn)一步從索引服務(wù)器或媒體服務(wù)器查詢當(dāng)前數(shù)據(jù)分片的資源提供方信息。該裝置還可以包括維護(hù)模塊,用于與Tracker服務(wù)器通過維護(hù)消息獲取資源提供方的數(shù)據(jù)分片信息,對存儲模塊進(jìn)行更新。或者還可以包括分組模塊,用于根據(jù)資源提供方信息確定當(dāng)前數(shù)據(jù)分片的所有資源提供方數(shù)目n,將當(dāng)前所請求的數(shù)據(jù)分片劃分為不大于η的m個(gè)數(shù)據(jù)片;選擇m個(gè)資源提供方并發(fā)協(xié)商數(shù)據(jù)傳輸?;蛘哌€可以包括查詢模塊, 用于從存儲模塊獲取請求的數(shù)據(jù)分片的資源提供方信息,從Tracker服務(wù)器查詢所請求的數(shù)據(jù)分片的資源提供方信息,從兩組資源提供方信息中選擇一至多個(gè)資源提供方協(xié)商數(shù)據(jù)傳輸。該裝置還可以包括查詢模塊,用于從對應(yīng)關(guān)系查詢當(dāng)前請求的數(shù)據(jù)分片的資源提供方信息獲得資源提供方信息;否則通過索引服務(wù)器查詢資源提供方信息。為實(shí)現(xiàn)上述第四目的,根據(jù)本發(fā)明的另一個(gè)方面,提供了另一種資源調(diào)度裝置,包括接口模塊,用于接收當(dāng)前數(shù)據(jù)分片的數(shù)據(jù)協(xié)商消息,返回當(dāng)前數(shù)據(jù)分片的相關(guān)分片信息;查詢模塊,用于根據(jù)當(dāng)前數(shù)據(jù)分片信息查找相關(guān)分片信息;存儲模塊,用于存儲各數(shù)據(jù)分片的數(shù)據(jù)內(nèi)容。 該裝置可以位于P2P流媒體系統(tǒng)的對等體Peer中,接口模塊可以在資源請求方的當(dāng)前數(shù)據(jù)分片的會(huì)話應(yīng)答消息中攜帶相關(guān)分片信息。為實(shí)現(xiàn)上述第五目的,根據(jù)本發(fā)明的再一個(gè)方面,提供了再一種資源調(diào)度裝置,包括存儲模塊,用于存儲數(shù)據(jù)分片對應(yīng)的資源提供方信息;查詢模塊,用于根據(jù)資源請求方的當(dāng)前數(shù)據(jù)分片請求,從存儲模塊查詢當(dāng)前數(shù)據(jù)分片的資源提供方信息,返回資源請求方; 信令協(xié)商模塊,用于接收資源請求方的會(huì)話請求并發(fā)送至資源提供方,并將源提供方返回的相關(guān)分片信息發(fā)送至資源請求方。該裝置可以位于P2P流媒體系統(tǒng)的Tracker服務(wù)器內(nèi)部。該裝置可以包括監(jiān)測模塊,用于監(jiān)測信令協(xié)商模塊的傳輸質(zhì)量,監(jiān)測到資源請求方與資源提供方的傳輸質(zhì)量低于預(yù)設(shè)條件時(shí),向資源請求方發(fā)送當(dāng)前請求的數(shù)據(jù)分片的資源提供方信息和/或調(diào)整資源提供方的優(yōu)先級。以及判別模塊,用于當(dāng)查詢模塊查找的資源提供方信息中的資源提供方數(shù)目小于預(yù)設(shè)值時(shí),向媒體服務(wù)器發(fā)送包含資源請求方及當(dāng)前所請求數(shù)據(jù)分片的資源調(diào)度請求。本發(fā)明各實(shí)施例的資源調(diào)度方法、系統(tǒng)、裝置,由于資源請求方與提供方進(jìn)行數(shù)據(jù)協(xié)商時(shí),資源提供方可以將其中保存的當(dāng)前數(shù)據(jù)的相關(guān)分片信息返回給請求方,因此, 在進(jìn)行后續(xù)數(shù)據(jù)分片下載時(shí),可以直接從本地獲得提供方信息進(jìn)而協(xié)商數(shù)據(jù)傳輸,減少向 Tracker服務(wù)器查詢數(shù)據(jù)分片的資源提供方信息的檢索資源消耗,不僅提高了資源調(diào)度的效率,而且減少了 Tracker服務(wù)器的負(fù)荷及調(diào)度系統(tǒng)的穩(wěn)定性,也可提高用戶流媒體體驗(yàn)的連續(xù)性。本發(fā)明還有些優(yōu)選實(shí)施例可以實(shí)現(xiàn)并發(fā)數(shù)據(jù)傳輸,提高數(shù)據(jù)傳輸?shù)男屎蛡鬏斔俣?;另有些?shí)施例可以通過Tracker服務(wù)器監(jiān)控?cái)?shù)據(jù)協(xié)商質(zhì)量及穩(wěn)定,提高數(shù)據(jù)傳輸質(zhì)量, 防止數(shù)據(jù)分片的遺失等,并且還可以采用多種方式更新本地的數(shù)據(jù)存儲以進(jìn)行數(shù)據(jù)分片的
調(diào)度。 本發(fā)明的其它特征和優(yōu)點(diǎn)將在隨后的說明書中闡述,并且,部分地從說明書中變得顯而易見,或者通過實(shí)施本發(fā)明而了解。本發(fā)明的目的和其他優(yōu)點(diǎn)可通過在所寫的說明書、權(quán)利要求書、以及附圖中所特別指出的結(jié)構(gòu)來實(shí)現(xiàn)和獲得。下面通過附圖和實(shí)施例,對本發(fā)明的技術(shù)方案做進(jìn)一步的詳細(xì)描述。
附圖用來提供對本發(fā)明的進(jìn)一步理解,并且構(gòu)成說明書的一部分,與本發(fā)明的實(shí)施例一起用于解釋本發(fā)明,并不構(gòu)成對本發(fā)明的限制。在附圖中圖1為現(xiàn)有技術(shù)中的流媒體調(diào)度流程示意圖;圖2為根據(jù)本發(fā)明資源調(diào)度方法實(shí)施例一流程圖;圖3為根據(jù)本發(fā)明資源調(diào)度方法實(shí)施例二流程圖;圖4為根據(jù)本發(fā)明資源調(diào)度方法及資源調(diào)度系統(tǒng)解析實(shí)施例一示意圖;圖5為根據(jù)本發(fā)明資源調(diào)度方法實(shí)施例三流程圖;圖6為根據(jù)本發(fā)明資源調(diào)度方法及資源調(diào)度系統(tǒng)解析實(shí)施例二示意圖;圖7為根據(jù)本發(fā)明資源調(diào)度方法實(shí)施例四流程圖;圖8為根據(jù)本發(fā)明資源調(diào)度方法及資源調(diào)度系統(tǒng)解析實(shí)施例三示意圖;圖9為根據(jù)本發(fā)明資源調(diào)度裝置實(shí)施例一的示意圖;圖10為根據(jù)本發(fā)明資源調(diào)度裝置實(shí)施例二的示意圖;圖11為根據(jù)本發(fā)明資源調(diào)度裝置實(shí)施例三的示意圖;圖12為根據(jù)本發(fā)明資源調(diào)度裝置實(shí)施例四的示意圖;圖13為根據(jù)本發(fā)明資源調(diào)度裝置實(shí)施例五的示意圖;圖14為根據(jù)本發(fā)明資源調(diào)度裝置實(shí)施例六的示意圖。
具體實(shí)施例方式圖2為根據(jù)本發(fā)明資源調(diào)度方法實(shí)施例一流程圖,如圖1所示,本實(shí)施例包括步驟S102 資源請求方獲取包含當(dāng)前請求的數(shù)據(jù)分片的資源提供方信息,如從 P2P流媒體系統(tǒng)的Tracker服務(wù)器獲取包含所請求的數(shù)據(jù)塊(Chunk)或者數(shù)據(jù)片(Piece) 級別數(shù)據(jù)分片的“Peer list”列表;步驟S104 資源請求方根據(jù)獲取的該資源提供方信息與至少一個(gè)資源提供方協(xié)商數(shù)據(jù)傳輸在協(xié)商數(shù)據(jù)傳輸時(shí),資源提供方接收請求方的當(dāng)前數(shù)據(jù)分片請求,返回當(dāng)前數(shù)據(jù)分片的相關(guān)分片信息;相關(guān)分片可以包括當(dāng)前數(shù)據(jù)分片的一至多個(gè)后續(xù)分片和/或當(dāng)前數(shù)據(jù)分片的一至多個(gè)前續(xù)分片;
如所請求當(dāng)前數(shù)據(jù)分片為Movie A的Chunk 1,資源提供方在接收到該請求時(shí),查詢到自身還擁有后續(xù)的分片,如Chunk 2, Chunk 3,則向請求方返回Chunk 1的相關(guān)分片信息 Chunk 2, Chunk 3 ;步驟S106 資源請求方保存資源提供方返回的相關(guān)分片信息,保存對應(yīng)關(guān)系,在需要下載數(shù)據(jù)分片時(shí),優(yōu)先查詢本地的對應(yīng)關(guān)系獲取數(shù)據(jù)分片的資源提供方進(jìn)行協(xié)商數(shù)據(jù)傳輸。 本實(shí)施例在協(xié)商數(shù)據(jù)傳輸時(shí),資源提供方將自身擁有的,當(dāng)前數(shù)據(jù)分片的相關(guān)分片信息也返回資源請求方,從而資源請求方保存這些相關(guān)分片信息與資源提供方的對應(yīng)關(guān)系,并在需要下載數(shù)據(jù)分片時(shí),優(yōu)先直接從本地獲取資源提供方以協(xié)商數(shù)據(jù)傳輸,因此可以減少上級服務(wù)器(如Tracker服務(wù)器)的查詢檢索消耗,減少服務(wù)器的查詢次數(shù)及負(fù)荷,提高系統(tǒng)穩(wěn)定性。由于在需要下載數(shù)據(jù)分片時(shí)可以直接從本地調(diào)取資源提供方信息,可以減少用戶等待時(shí)間,提高用戶體驗(yàn)。將圖1所示的現(xiàn)有技術(shù)中的本地調(diào)度策略變?yōu)榛赥racker的數(shù)據(jù)塊調(diào)度雖然可以加快啟動(dòng)時(shí)延,流媒體體驗(yàn)也更好,但是這種調(diào)度的媒體資源顆粒度較細(xì),每個(gè)數(shù)據(jù)塊都必須查詢Tracker獲取Peer List,不斷的資源檢索請求會(huì)加重Tracker服務(wù)器負(fù)荷, Tracker的處理能力可能成為調(diào)度的性能瓶頸,一旦Tracker服務(wù)器癱瘓,會(huì)影響整個(gè)調(diào)度和用戶體驗(yàn)。下面的圖3-圖4實(shí)施例提供了一種混合資源調(diào)度方法。圖3為根據(jù)本發(fā)明資源調(diào)度方法實(shí)施例二流程圖,如圖3所示,本實(shí)施例包括步驟S202 資源請求方從本地存儲的對應(yīng)關(guān)系查詢當(dāng)前請求的數(shù)據(jù)分片的資源提供方信息,當(dāng)查詢不到時(shí)從Tracker服務(wù)器查詢當(dāng)前請求的數(shù)據(jù)分片的資源提供方信息;步驟S204 資源請求方根據(jù)該資源提供方信息與其中的資源提供方通過Tracker 服務(wù)器進(jìn)行協(xié)商數(shù)據(jù)傳輸,Tracker服務(wù)器只負(fù)責(zé)轉(zhuǎn)發(fā)數(shù)據(jù)協(xié)商信令,由于此操作在資源消耗方面比通過Tracker服務(wù)器進(jìn)行查詢檢索資源提供方信息小得多,因此,不會(huì)加重 Tracker服務(wù)器的負(fù)擔(dān)。在通過Tracker服務(wù)器轉(zhuǎn)發(fā)數(shù)據(jù)協(xié)商信令時(shí),資源提供方返回當(dāng)前請求的數(shù)據(jù)分片的相關(guān)分片信息;步驟S206 資源請求方保存各資源提供方返回的相關(guān)分片信息,保存對應(yīng)關(guān)系, 在需要下載數(shù)據(jù)分片時(shí),優(yōu)先查詢本地的對應(yīng)關(guān)系獲取資源提供方并協(xié)商數(shù)據(jù)傳輸。圖2實(shí)施例說明了提供方返回相關(guān)分片信息,并在請求方維護(hù)相關(guān)分片及資源提供方的對應(yīng)關(guān)系,但具體應(yīng)用時(shí)本實(shí)施例通過Tracker服務(wù)器轉(zhuǎn)發(fā)數(shù)據(jù)協(xié)商信令,而不是如圖1所示由資源請求方與所有的資源提供方嘗試連接以實(shí)現(xiàn)數(shù)據(jù)傳輸,可以減少與提供方之間的連接嘗試次數(shù),有利于降低啟動(dòng)時(shí)延,并且請求數(shù)據(jù)分片時(shí)如果上一次數(shù)據(jù)分片的提供方也是后續(xù)分片的擁有方,可以直接與該提供方協(xié)商,可以提高用戶在P2P點(diǎn)播方面的流媒體體驗(yàn)。圖4為根據(jù)本發(fā)明資源調(diào)度方法及資源調(diào)度系統(tǒng)解析實(shí)施例一示意圖,如圖4所示,調(diào)度過程包括(1)資源請求方Peer A向Tracker服務(wù)器發(fā)送請求信令Get (Movie A, Chunk 1), 查詢資源(Movie A, Chunk 1)的擁有者;
(2)Tracker服務(wù)器通過請求應(yīng)答信令(GetAck)返回資源提供方信息,如提供方列表(Peer List)給資源請求方Peer A, Peer List顯示Peer B為媒體資源(Movie A, Chunk 1)的擁有者;(3)請求方Peer A將Tracker服務(wù)器返回的Peer List存儲在本地資源數(shù)據(jù)庫 “當(dāng)前 Chunk”數(shù)據(jù)表內(nèi),如 Chunk 1 =Peer B, Peer C, Peer D…;(4)請求方Peer A通過Tracker服務(wù)器轉(zhuǎn)發(fā)數(shù)據(jù)協(xié)商信令,向資源提供方Peer B 發(fā)起會(huì)話請求“Setup”,協(xié)商媒體數(shù)據(jù)下載;(5)如果資源提供方Peer B除了能夠提供當(dāng)前的媒體資源(Movie A, Chunk 1), 還能提供其相關(guān)數(shù)據(jù)分片,如Chunk 2,3,4,于是可以在會(huì)話應(yīng)答信令“SetupAck”內(nèi)攜帶相關(guān)分片信息,經(jīng)過Tracker服務(wù)器轉(zhuǎn)發(fā)給資源請求方Peer A ;(6)Peer A根據(jù)SetupAck信令攜帶的相關(guān)分片資源信息更新本地媒體資源數(shù)據(jù)庫內(nèi)“相關(guān)Chunk”數(shù)據(jù)表,如Chunk 2以及Chunk 3的資源提供方列表;
(7)Peer A完成媒體資源(Movie A, Chunk 1)下載后,如果還需下載數(shù)據(jù)分片, 如Chunk 2,則優(yōu)先從本地資源數(shù)據(jù)庫內(nèi)查找(Movie A, Chunk 2)的資源提供者,重復(fù) (4)-(7)類似的操作完成相關(guān)數(shù)據(jù)分片的資源下載,如果在本地資源數(shù)據(jù)庫沒有查詢到當(dāng)前請求的數(shù)據(jù)分片的資源提供方信息,則再請求Tracker服務(wù)器進(jìn)行資源調(diào)度。在本實(shí)施例中,資源請求方在本地負(fù)責(zé)存儲一個(gè)基于數(shù)據(jù)分片的資源數(shù)據(jù)信息, 如以本地?cái)?shù)據(jù)庫形式,用于存儲資源提供方信息。當(dāng)?shù)谝淮握埱髷?shù)據(jù)分片的資源提供方信息時(shí)由資源請求方通過Get信令以Peer List形式從Tracker服務(wù)器查詢后獲得,后續(xù)請求的數(shù)據(jù)分片的資源提供方信息可以從本地獲取,如本地未存儲則向Tracker服務(wù)器查詢獲得,本實(shí)施例是一種基于Tracker服務(wù)器查詢第一次請求的數(shù)據(jù)分片和資源請求方本地查詢后續(xù)請求數(shù)據(jù)分片的混合資源調(diào)度,與現(xiàn)有技術(shù)相比,能夠減少與資源提供方之間的連接嘗試次數(shù),有利于降低啟動(dòng)時(shí)延,并且本地資源數(shù)據(jù)庫的引入能夠大大降低資源檢索對Tracker服務(wù)器的資源消耗,減輕服務(wù)器負(fù)荷。本實(shí)施例以數(shù)據(jù)塊Chunk為例,本領(lǐng)域技術(shù)人員應(yīng)了解,比數(shù)據(jù)塊“Chunk”更小的數(shù)據(jù)片,如“Piece”仍可適用本發(fā)明的各實(shí)施例。本實(shí)施例的資源調(diào)度系統(tǒng)包括資源請求方,用于根據(jù)資源提供方信息通過Tracker服務(wù)器或直接與至少一個(gè)資源提供方協(xié)商數(shù)據(jù)傳輸;接收資源提供方返回的當(dāng)前數(shù)據(jù)分片的相關(guān)分片信息,保存相關(guān)分片信息與各資源提供方的對應(yīng)關(guān)系,在請求數(shù)據(jù)分片時(shí)優(yōu)先從對應(yīng)關(guān)系查詢資源提供方信息。資源請求方相關(guān)功能可參見圖4中的Peer A ;Tracker服務(wù)器,用于根據(jù)資源請求方的當(dāng)前數(shù)據(jù)分片請求,返回當(dāng)前數(shù)據(jù)分片的資源提供方信息;該服務(wù)器還可以轉(zhuǎn)發(fā)請求方與提供方之間的數(shù)據(jù)協(xié)商信令,具體參見圖 4;資源提供方,用于根據(jù)資源請求方的當(dāng)前數(shù)據(jù)分片請求返回當(dāng)前數(shù)據(jù)分片的相關(guān)分片信息,資源提供方相關(guān)功能可參見圖4中的Peer B。圖4中通過Tracker服務(wù)器進(jìn)行數(shù)據(jù)協(xié)商,還可以進(jìn)一步優(yōu)化資源調(diào)度優(yōu)化方式一資源請求方根據(jù)Peer list確定所有資源提供方的數(shù)目n,將當(dāng)前所請求的數(shù)據(jù)分片劃分為m(m<n)個(gè)更小的數(shù)據(jù)片,選擇m個(gè)資源提供方并發(fā)協(xié)商數(shù)據(jù)傳輸。如圖4中, Chunk 1的提供方包括四個(gè)節(jié)點(diǎn)Peer B、PeerC、Peer D、Peer G,則請求方Peer A將Chunk 1分為4個(gè)Piece,分別為Piecel-Piece4,請求方Peer A通過Tracker服務(wù)向這4個(gè)提供方發(fā)起并發(fā)請求,如向Peer B請求下載Chunkl的Piecel,…向PeerG請求下載Chunkl的 Piece4。當(dāng)然,請求方Peer A也可以將Chunk 1分為2個(gè)Piece,分別為Piecel_Piece2, 并從4個(gè)提供方中選擇2個(gè)優(yōu)先級高的請求方,通過Tracker服務(wù)向這2個(gè)提供方發(fā)起并發(fā)請求,如選擇向Peer B和Peer C分別請求下載Chunkl的Piecel及Piece2。此優(yōu)化方式也適用后續(xù)數(shù)據(jù)分片的調(diào)度,如在下載Chunk 2時(shí)也可以根據(jù)提供方數(shù)目進(jìn)行分組,并并發(fā)發(fā)送數(shù)據(jù)協(xié)商請求,這種方式可以提高下載的速度。資源調(diào)度優(yōu)化方式二 如圖4步驟(2)中,資源請求方通過Tracker服務(wù)器查詢請求的當(dāng)前數(shù)據(jù)分片的資源提供方信息;當(dāng)Tracker服務(wù)器查詢后確定資源提供方信息中的資源提供方數(shù)目小于預(yù)設(shè)值時(shí),如當(dāng)前數(shù)據(jù)分片的Peer list中只有一個(gè)提供方,則Tracker服務(wù)器通知上級的媒體服務(wù)器為Peer A進(jìn)行資源調(diào)度,通過媒體服務(wù)器返回當(dāng)前數(shù)據(jù)分片的更多資源提供方信息。此種資源調(diào)度可以提高調(diào)度的有效性,如果資源提供方數(shù)據(jù)較少,則有可能在協(xié)商數(shù)據(jù)傳輸過程不成功,通過媒體服務(wù)器進(jìn)行資源調(diào)度可提高資源調(diào)度的成功率和穩(wěn)定性。資源調(diào)度優(yōu)化方式三圖4中,Peer B接收到Peer A的當(dāng)前數(shù)據(jù)分片會(huì)話請求,可以在會(huì)話應(yīng)答消息 “SetupAck”中攜帶相關(guān)分片信息,從而使請求方Peer A獲得相關(guān)分片資源提供方信息。在實(shí)際應(yīng)用時(shí),也可以通過后續(xù)的消息獲得,如利用請求方Peer A和Tracker服務(wù)器間周期性的維護(hù)消息,如保活信令“KeepAlive”來更新存儲的對應(yīng)關(guān)系,如本地資源數(shù)據(jù)庫,例如 Peer A可以通過“Ke印Alive”信令周期性地要求Tracker服務(wù)器返回資源提供者PeerB擁有的數(shù)據(jù)分片信息,此操作在資源消耗方面比通過Get信令檢索(Movie X,Chunk Y)的資源提供方要小得多,可以加速對應(yīng)關(guān)系的更新。資源調(diào)度優(yōu)化方式四由于圖4實(shí)施例通過Tracker服務(wù)器轉(zhuǎn)發(fā)數(shù)據(jù)協(xié)商信令,因此可以利用Tracker 服務(wù)器監(jiān)測協(xié)商質(zhì)量,并及時(shí)進(jìn)行資源調(diào)整,例如下述兩種情況下的資源調(diào)度調(diào)整①Tracker服務(wù)器通過會(huì)話消息“Setup”信令監(jiān)測資源請求方與資源提供方的數(shù)據(jù)協(xié)商,在預(yù)設(shè)時(shí)間內(nèi)未收到資源提供方的會(huì)話應(yīng)答“SetupAck”時(shí),此時(shí)資源提供方可能已經(jīng)離開此流媒體系統(tǒng),因此,Tracker服務(wù)器向資源請求方發(fā)送通知消息,如通知請求方更新本地資源數(shù)據(jù)庫或直接在本地?cái)?shù)據(jù)庫中刪除該資源提供方。②Tracker服務(wù)器通過會(huì)話消息監(jiān)測資源請求方與資源提供方的數(shù)據(jù)協(xié)商;當(dāng)監(jiān)測到某個(gè)資源請求方對同一數(shù)據(jù)分片資源的多次請求,說明傳輸鏈路不佳,存在重傳;或者當(dāng)監(jiān)測到在預(yù)設(shè)時(shí)間內(nèi)未收到會(huì)話請求“Setup”對應(yīng)的拆除連接(Teardown)信令時(shí),說明媒體傳輸失敗。在這兩種情況的類似場景下,Tracker服務(wù)器監(jiān)測到傳輸質(zhì)量下降,可以主動(dòng)向資源請求方返回當(dāng)前請求的數(shù)據(jù)分片的資源提供方信息,并調(diào)整相應(yīng)資源提供方的優(yōu)先級,例如通過維護(hù)消息“Ke印Alive”?;钚帕钸M(jìn)行主動(dòng)調(diào)度,返回一組Peer List給資源請求方,并通知資源請求方降低傳輸質(zhì)量下降的資源提供方的優(yōu)先級。資源調(diào)度優(yōu)化方式五
圖4實(shí)施例提供了一種減少Tracker服務(wù)器負(fù)荷、提高系統(tǒng)穩(wěn)定性的通過Tracker 服務(wù)器首次查找,和請求方進(jìn)行數(shù)據(jù)分片的本地查找的混合調(diào)度方式,但如圖4所示,當(dāng)前 Chimkl的提供方返回的相關(guān)分片均不包含C hunk2,則在請求C hunk2時(shí),本地對應(yīng)關(guān)系無法查找到,此時(shí)為了提高查找和下載效率,圖4流程的第(7)步可以修改為=Peer A完成資源(MovieA,Chunk 1)下載后,并發(fā)執(zhí)行兩個(gè)操作1)從本地查找(Movie A, Chunk 2)的資源提供方;2)從Tracker服務(wù)器請求查找(Movie A, Chunk 2)的資源提供方,獲得這些查詢結(jié)果后,PeerA根據(jù)預(yù)設(shè)的原則優(yōu)先選擇穩(wěn)定且速度快的資源提供方,然后重復(fù)(4)-(7) 完成Chunk 2的資源下載。圖4實(shí)施例以及附加的五種資源調(diào)度優(yōu)化方式可以增強(qiáng)網(wǎng)絡(luò)側(cè)的可控可管性,并及時(shí)通過Tracker服務(wù)器監(jiān)控傳輸質(zhì)量,及時(shí)調(diào)整調(diào)度策略。圖5為根據(jù)本發(fā)明資源調(diào)度方法實(shí)施例三流程圖;如圖5所示,本實(shí)施例包括步驟S302 資源請求方查詢當(dāng)前數(shù)據(jù)分片的資源提供方信息;步驟S304 資源請求方根據(jù)該資源提供方信息與其中的資源提供方直接進(jìn)行協(xié)商數(shù)據(jù)傳輸, 資源提供方返回當(dāng)前請求的數(shù)據(jù)分片的相關(guān)分片信息;步驟S306 資源請求方保存資源提供方返回的相關(guān)分片信息,保存對應(yīng)關(guān)系。本實(shí)施例與圖3類似,唯一的是數(shù)據(jù)協(xié)商信令直接由資源提供方和請求方進(jìn)行, 不需要Tracker服務(wù)器轉(zhuǎn)發(fā),可以減少Tracker服務(wù)器的轉(zhuǎn)發(fā)信令交互,減少Tracker服務(wù)器的壓力,且在本地查詢到數(shù)據(jù)分片的資源提供方信息后,直接與提供方進(jìn)行數(shù)據(jù)協(xié)商。圖6為根據(jù)本發(fā)明資源調(diào)度方法及資源調(diào)度系統(tǒng)解析實(shí)施例二示意圖,圖6與圖 4的過程類似,區(qū)別在于數(shù)據(jù)協(xié)商過程(4-(7))直接由資源提供方和請求方進(jìn)行,不需要 Tracker服務(wù)器轉(zhuǎn)發(fā),此時(shí)Tracker服務(wù)器不需要監(jiān)控資源提供方和請求方的信令協(xié)商過程。圖6中,在Peer A從當(dāng)前數(shù)據(jù)分片的資源提供方協(xié)商后獲得相關(guān)分片信息后,保存在本地對應(yīng)關(guān)系中,在需要下載數(shù)據(jù)分片,如Chunk 2時(shí),Peer A若從本地資源數(shù)據(jù)庫查詢后,確定Chunk 2保存在上次數(shù)據(jù)傳輸?shù)馁Y源提供方Peer B內(nèi),則與Peer B直接協(xié)商數(shù)據(jù)傳輸;或者如圖4的資源調(diào)度優(yōu)化方式一一樣,根據(jù)當(dāng)前請求數(shù)據(jù)分片的資源提供方數(shù)目,進(jìn)行并發(fā)協(xié)商數(shù)據(jù)傳輸。圖7為根據(jù)本發(fā)明資源調(diào)度方法實(shí)施例四流程圖;如圖7所示,本實(shí)施例包括步驟S402 資源請求方查詢當(dāng)前數(shù)據(jù)分片的資源提供方信息,從本地存儲的對應(yīng)關(guān)系中或索引服務(wù)器中獲得資源提供方列表;步驟S404:資源請求方根據(jù)該資源提供方信息中的資源提供方數(shù)目發(fā)起并發(fā)協(xié)商數(shù)據(jù)傳輸,資源提供方返回當(dāng)前數(shù)據(jù)分片的相關(guān)分片信息;步驟S406 資源請求方保存資源提供方返回的相關(guān)分片信息,保存對應(yīng)關(guān)系,在需要下載數(shù)據(jù)分片時(shí),優(yōu)先查詢本地的對應(yīng)關(guān)系獲取資源提供方以協(xié)商數(shù)據(jù)傳輸。本實(shí)施例與圖4的資源調(diào)度優(yōu)化方式一類似,但是本實(shí)施例的數(shù)據(jù)并發(fā)協(xié)商數(shù)據(jù)傳輸可以通過Tracker服務(wù)器轉(zhuǎn)發(fā),也可以由資源提供方和請求方直接協(xié)商;本實(shí)施例不僅可以在首次請求的數(shù)據(jù)請求采用此分組方式進(jìn)行并發(fā)協(xié)商,也可以在后續(xù)請求的數(shù)據(jù)分片時(shí)進(jìn)行并發(fā)協(xié)商,其應(yīng)用場景不唯一。圖8為根據(jù)本發(fā)明資源調(diào)度方法及資源調(diào)度系統(tǒng)解析實(shí)施例三示意圖。如圖8所示,本實(shí)施例步驟(1)_(3)與圖4實(shí)施例一樣,步驟(4)-(7)的數(shù)據(jù)協(xié)商與圖4類似,可以通過Tracker服務(wù)器轉(zhuǎn)發(fā),也可以請求方Peer A直接與提供方協(xié)商。圖8實(shí)施例只畫出了直接協(xié)商示意圖,本實(shí)施例當(dāng)前數(shù)據(jù)分片Chimkl采用并發(fā)的協(xié)商方式,相關(guān)分片Chimk2也采用并發(fā)的協(xié)商方式,Chunk3采用只于一個(gè)提供方協(xié)商的方式,最終獲取數(shù)據(jù)的內(nèi)容為 1. Chunk 1 分為 3Piece,分別從 Peer B、Peer D、Peer C 并發(fā)下載;2. Chunk 2 分為 2Piece,分別從 Peer B, Peer C 并發(fā)下載;3. Chunk 3 只從 Peer B 下載。本領(lǐng)域技術(shù)人員應(yīng)了解,本發(fā)明中的資源請求方與資源提供方可以位于P2P流媒體系統(tǒng),上述各方法實(shí)施例中,在首次請求資源提供方信息,如Chimkl的提供方時(shí)可以通過Tracker服務(wù)器獲取;后續(xù)的相關(guān)分片如Chimk2、3…的資源提供方信息可以從資源請求方的本地?cái)?shù)據(jù)庫獲??;此時(shí)數(shù)據(jù)分片Chimk2、3…為當(dāng)前所請求的數(shù)據(jù)分片,由于資源提供方可能隨時(shí)離開系統(tǒng),也可能保存的資源有所更新,因此,在后續(xù)數(shù)據(jù)分片成為當(dāng)前請求的數(shù)據(jù)分片時(shí),仍舊可以通過提供方返回的會(huì)話應(yīng)答消息獲得更新的相關(guān)分片信息,或者資源請求方與Tracker服務(wù)器通過維護(hù)消息更新本地對應(yīng)關(guān)系的數(shù)據(jù)分片信息。本發(fā)明上述各實(shí)施例提出的基于Tracker服務(wù)器和普通對等體之間的混合資源調(diào)度方法及系統(tǒng),與現(xiàn)有技術(shù)相比,能夠減少與資源提供方之間的連接嘗試次數(shù),有利于降低啟動(dòng)時(shí)延,并且本地資源數(shù)據(jù)庫的引入能夠大大降低資源檢索對Tracker服務(wù)器的資源消耗,此外利用“SetAck”、“Ke印Alive”等信令可以快速更新本地資源數(shù)據(jù)庫,以及 Tracker服務(wù)器監(jiān)測傳輸質(zhì)量實(shí)施主動(dòng)調(diào)度,在降低Tracker節(jié)點(diǎn)的負(fù)荷和保證用戶流媒體體驗(yàn)方面均具有明顯優(yōu)勢。圖9為根據(jù)本發(fā)明資源調(diào)度裝置實(shí)施例一的示意圖,圖9所示的裝置主要應(yīng)用與資源請求方一側(cè),可以位于流媒體系統(tǒng)的對等體Peer中,并置于P2P流媒體系統(tǒng)中。如圖 9所示,本實(shí)施例包括獲取模塊2,用于從索引服務(wù)器、媒體服務(wù)器或存儲模塊的對應(yīng)關(guān)系查詢當(dāng)前數(shù)據(jù)分片的資源提供方信息;信令協(xié)商模塊4,用于根據(jù)資源提供方信息與資源提供方信令協(xié)商數(shù)據(jù)傳輸,接收資源提供方返回的當(dāng)前數(shù)據(jù)分片的相關(guān)分片信息;存儲模塊6,用于保存當(dāng)前數(shù)據(jù)分片的資源提供方信息,及相關(guān)分片與資源提供方的對應(yīng)關(guān)系信息,可以本地資源數(shù)據(jù)庫的形式存在。其中,相關(guān)分片可以包括當(dāng)前數(shù)據(jù)分片的一至多個(gè)后續(xù)分片和/或當(dāng)前數(shù)據(jù)分片的一至多個(gè)前續(xù)分片。數(shù)據(jù)分片可以包括數(shù)據(jù)塊Chunk或更小的數(shù)據(jù)片Piece。圖10為根據(jù)本發(fā)明資源調(diào)度裝置實(shí)施例二的示意圖,圖10是對圖9的細(xì)化,并增加了如下模塊維護(hù)模塊8,用于與Tracker服務(wù)器通過維護(hù)消息(如周期性?;钚帕?查詢資源提供方的數(shù)據(jù)分片信息,對存儲模塊進(jìn)行更新。分組模塊0,用于根據(jù)資源提供方信息確定當(dāng)前所請求的數(shù)據(jù)分片的所有資源提供方數(shù)目n,將當(dāng)前所請求的數(shù)據(jù)分片劃分為不大于η的m個(gè)數(shù)據(jù)片;選擇m個(gè)資源提供方, 通過信令協(xié)商模塊并發(fā)協(xié)商與m個(gè)資源提供方的數(shù)據(jù)傳輸。圖11為根據(jù)本發(fā)明資源調(diào)度裝置實(shí)施例三的示意圖,圖11是對圖10的細(xì)化,其中,可以單獨(dú)增加查詢模塊10,用于從存儲模塊獲取相應(yīng)的資源提供方信息,并通過 Tracker服務(wù)器查詢所請求數(shù)據(jù)分片的資源提供方信息,從兩組資源提供方信息中選擇一至多個(gè)資源提供方協(xié)商數(shù)據(jù)傳輸。圖11還可以同時(shí)增加查詢模塊10及判斷模塊12,其中查詢模塊10,用于從本地的對應(yīng)關(guān)系查詢到當(dāng)前請求的數(shù)據(jù)分片的資源提供方信息;在查詢不到相應(yīng)的資源提供方時(shí),通過Tracker服務(wù)器查詢當(dāng)前請求的數(shù)據(jù)分片的資源提供方信息; 判斷模塊12,用于根據(jù)查詢模塊的資源提供方信息判斷出請求數(shù)據(jù)分片保存在最近一次數(shù)據(jù)傳輸?shù)馁Y源提供方時(shí)從最近一次數(shù)據(jù)傳輸?shù)馁Y源提供方協(xié)商數(shù)據(jù)傳輸或者根據(jù)所有資源提供方數(shù)目n,將所請求的數(shù)據(jù)分片劃分為不大于η的m個(gè)數(shù)據(jù)片,選擇m個(gè)資源提供方并發(fā)協(xié)商數(shù)據(jù)傳輸。圖9-圖11的資源調(diào)度裝置可參見圖2-圖8的方法及系統(tǒng)實(shí)施例中資源請求方的相關(guān)說明。圖12為根據(jù)本發(fā)明資源調(diào)度裝置實(shí)施例四的示意圖,圖12所示的裝置可以位于流媒體系統(tǒng)的對等體Peer中,應(yīng)用在資源提供方側(cè),具體可參見圖2_圖8的方法及系統(tǒng)實(shí)施例中資源提供方的相關(guān)說明。如圖12所示,包括接口模塊1,用于接收當(dāng)前數(shù)據(jù)分片的數(shù)據(jù)協(xié)商消息,返回當(dāng)前數(shù)據(jù)分片的相關(guān)分片信息,如在資源請求方的當(dāng)前數(shù)據(jù)分片會(huì)話請求對應(yīng)的會(huì)話應(yīng)答消息中攜帶相關(guān)分片信息;查詢模塊3,用于根據(jù)當(dāng)前數(shù)據(jù)分片信息查找相關(guān)分片信息;存儲模塊5,用于存儲各數(shù)據(jù)分片的數(shù)據(jù)內(nèi)容,如圖12所示,包括當(dāng)前數(shù)據(jù)分片及相關(guān)分片。圖13為根據(jù)本發(fā)明資源調(diào)度裝置實(shí)施例五的示意圖,圖13所示的裝置主要應(yīng)用與服務(wù)器一側(cè),可以位于P2P流媒體系統(tǒng)中Tracker服務(wù)器內(nèi)部,具體可參見圖2-圖8的方法及系統(tǒng)實(shí)施例中Tracker服務(wù)器的相關(guān)說明。如圖13,該裝置包括接口模塊11,用于接收資源請求方的當(dāng)前數(shù)據(jù)分片請求,以及與資源提供方的數(shù)據(jù)協(xié)商信令;存儲模塊15,用于存儲數(shù)據(jù)分片對應(yīng)的資源提供方信息;查詢模塊13,用于根據(jù)資源請求方的當(dāng)前數(shù)據(jù)分片請求,從存儲模塊查詢當(dāng)前數(shù)據(jù)分片的資源提供方信息,返回給資源請求方;信令協(xié)商模塊17,用于接收資源請求方的會(huì)話請求并發(fā)送至資源提供方,并將源提供方返回的所述相關(guān)分片信息發(fā)送至資源請求方。圖14為根據(jù)本發(fā)明資源調(diào)度裝置實(shí)施例六的示意圖。圖14為對圖13的細(xì)化,進(jìn)一步包括監(jiān)測模塊19,用于監(jiān)測信令協(xié)商模塊的傳輸質(zhì)量,在監(jiān)測到資源請求方與資源提供方的傳輸質(zhì)量低于預(yù)設(shè)條件時(shí),向資源請求方發(fā)送當(dāng)前數(shù)據(jù)分片的資源提供方信息和/ 或調(diào)整資源提供方的優(yōu)先級,具體可參見圖4實(shí)施例的優(yōu)化資源調(diào)度方式。監(jiān)測模塊19,還可以監(jiān)測預(yù)設(shè)時(shí)間內(nèi)未收到所述資源提供方的會(huì)話請求反饋信息時(shí),向資源請求方發(fā)送通知消息。
還可以包括判別模塊21,用于當(dāng)查詢模塊查找的資源提供方信息中的資源提供方數(shù)目小于預(yù)設(shè)值時(shí),向媒體服務(wù)器發(fā)送包含資源請求方及當(dāng)前所請求數(shù)據(jù)分片的資源調(diào)度請求,具體可參見圖4實(shí)施例的優(yōu)化資源調(diào)度方式二。本發(fā)明還提供一種對等體,可以包括圖9-圖11任一項(xiàng)的資源調(diào)度裝置,以及圖12 的資源調(diào)度裝置,本領(lǐng)域技術(shù)應(yīng)了解,在P2P系統(tǒng)中,對等體在某時(shí)刻作為資源提供方,在另一時(shí)刻可作為資源請求方,也可以同時(shí)作為某一數(shù)據(jù)資源的資源提供方和另一數(shù)據(jù)資源的請求方,因此,可以同時(shí)具有圖2-圖8的方法及系統(tǒng)實(shí)施例中請求方和提供方的相應(yīng)功能,以實(shí)現(xiàn)高效的資源調(diào)度本領(lǐng)域普通技術(shù)人員可以理解實(shí)現(xiàn)上述方法實(shí)施例的全部或部分步驟可以通過程序指令相關(guān)的硬件來完成,前述的程序可以存儲于一計(jì)算機(jī)可讀取存儲介質(zhì)中,該程序在執(zhí)行時(shí),執(zhí)行包括上述方法實(shí)施例的步驟;而前述的存儲介質(zhì)包括R0M、RAM、磁碟、 專用集成電路(ASIC)、數(shù)字信號處理器(DSP)、可編程邏輯裝置(PLD)、現(xiàn)場可編程門陣列 (FPGA)、處理器、控制器、微控制器、微處理器、電子裝置、其它經(jīng)設(shè)計(jì)以執(zhí)行本文所描述的功能的電子單元或其組合內(nèi)。最后應(yīng)說明的是以上所述僅為本發(fā)明的優(yōu)選實(shí)施例而已,并不用于限制本發(fā)明, 盡管參照前述實(shí)施例對本發(fā)明進(jìn)行了詳細(xì)的說明,對于本領(lǐng)域的技術(shù)人員來說,其依然可以對前述各實(shí)施例所記載的技術(shù)方案進(jìn)行修改,或者對其中部分技術(shù)特征進(jìn)行等同替換。 凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
權(quán)利要求
1.一種資源調(diào)度方法,其特征在于,包括資源請求方根據(jù)當(dāng)前數(shù)據(jù)分片的資源提供方信息與至少一個(gè)資源提供方協(xié)商數(shù)據(jù)傳輸,接收資源提供方返回的所述當(dāng)前數(shù)據(jù)分片的相關(guān)分片信息;所述資源請求方保存所述相關(guān)分片信息與資源提供方的對應(yīng)關(guān)系,在請求數(shù)據(jù)分片時(shí)從所述對應(yīng)關(guān)系查詢資源提供方信息。
2.根據(jù)權(quán)利要求1所述的資源調(diào)度方法,其特征在于,所述資源請求方根據(jù)當(dāng)前數(shù)據(jù)分片的資源提供方信息與至少一個(gè)資源提供方協(xié)商數(shù)據(jù)傳輸包括所述資源請求方與資源提供方通過索引服務(wù)器轉(zhuǎn)發(fā)數(shù)據(jù)協(xié)商信令。
3.根據(jù)權(quán)利要求2所述的資源調(diào)度方法,其特征在于,所述索引服務(wù)器轉(zhuǎn)發(fā)數(shù)據(jù)協(xié)商信令的操作還包括所述索引服務(wù)器監(jiān)測到預(yù)設(shè)時(shí)間內(nèi)未收到所述資源提供方的反饋信息時(shí),向所述資源請求方發(fā)送通知消息;所述通知消息包括根據(jù)所述資源提供方的未反饋信息更新所述對應(yīng)關(guān)系或刪除所述資源提供方。
4.根據(jù)權(quán)利要求2所述的資源調(diào)度方法,其特征在于,所述索引服務(wù)器轉(zhuǎn)發(fā)數(shù)據(jù)協(xié)商信令的操作還包括所述索引服務(wù)器監(jiān)測到所述資源請求方對同一數(shù)據(jù)分片的多次請求或者預(yù)設(shè)時(shí)間內(nèi)未收到所述資源請求方的會(huì)話請求對應(yīng)的拆除連接信令時(shí),向所述資源請求方返回當(dāng)前數(shù)據(jù)分片的資源提供方信息和/或調(diào)整對應(yīng)資源提供方的優(yōu)先級。
5.根據(jù)權(quán)利要求1所述的資源調(diào)度方法,其特征在于,進(jìn)一步包括資源請求方從所述對應(yīng)關(guān)系未查詢到所請求數(shù)據(jù)分片的資源提供方信息時(shí),從索引服務(wù)器查詢所請求數(shù)據(jù)分片的資源提供方信息。
6.根據(jù)權(quán)利要求1所述的資源調(diào)度方法,其特征在于,還包括資源請求方通過索引服務(wù)器或所述對應(yīng)關(guān)系查詢所請求數(shù)據(jù)分片的資源提供方信息;當(dāng)所述資源提供方信息的資源提供方數(shù)目據(jù)小于預(yù)設(shè)值時(shí),所述索引服務(wù)器通知媒體服務(wù)器進(jìn)行資源調(diào)度;所述資源請求方通過所述媒體服務(wù)器獲取所請求數(shù)據(jù)分片的資源提供方信息。
7.根據(jù)權(quán)利要求1所述的資源調(diào)度方法,其特征在于,所述資源請求方根據(jù)當(dāng)前數(shù)據(jù)分片的資源提供方信息與至少一個(gè)資源提供方協(xié)商數(shù)據(jù)傳輸還包括所述資源請求方確定當(dāng)前所請求數(shù)據(jù)分片的所有資源提供方數(shù)目n,將當(dāng)前所請求的所述數(shù)據(jù)分片劃分為不大于所述η的m個(gè)數(shù)據(jù)片,選擇m個(gè)資源提供方并發(fā)協(xié)商數(shù)據(jù)傳輸。
8.根據(jù)權(quán)利要求1所述的資源調(diào)度方法,其特征在于,在進(jìn)一步包括資源請求方根據(jù)所述對應(yīng)關(guān)系查詢所請求數(shù)據(jù)分片的資源提供方信息;通過索引服務(wù)器查詢所請求數(shù)據(jù)分片的資源提供方信息;從上述資源提供方信息中選擇一至多個(gè)資源提供方進(jìn)行后續(xù)協(xié)商數(shù)據(jù)傳輸?shù)牟僮鳌?br>
9.根據(jù)權(quán)利要求1所述的資源調(diào)度方法,其特征在于,還包括所述資源請求方與索引服務(wù)器通過維護(hù)消息獲取資源提供方的數(shù)據(jù)分片信息,對所述對應(yīng)關(guān)系進(jìn)行更新。
10.根據(jù)權(quán)利要求1所述的資源調(diào)度方法,其特征在于,資源請求方根據(jù)當(dāng)前數(shù)據(jù)分片的資源提供方信息與至少一個(gè)資源提供方協(xié)商數(shù)據(jù)傳輸包括當(dāng)前數(shù)據(jù)分片保存在最近一次數(shù)據(jù)傳輸?shù)馁Y源提供方內(nèi),則與所述最近一次數(shù)據(jù)傳輸?shù)馁Y源提供方協(xié)商數(shù)據(jù)傳輸;或者根據(jù)資源提供方信息確定所有資源提供方數(shù)目Π,將當(dāng)前數(shù)據(jù)分片劃分為不大于所述 η的m個(gè)數(shù)據(jù)片,選擇m個(gè)資源提供方并發(fā)協(xié)商數(shù)據(jù)傳輸。
11.根據(jù)權(quán)利要求1-10任一項(xiàng)所述的資源調(diào)度方法,其特征在于,所述資源請求方與所述資源提供方位于P2P流媒體系統(tǒng)。
12.一種資源調(diào)度系統(tǒng),其特征在于,包括資源請求方,用于根據(jù)當(dāng)前數(shù)據(jù)分片的資源提供方信息與至少一個(gè)資源提供方協(xié)商數(shù)據(jù)傳輸;接收資源提供方返回的所述當(dāng)前數(shù)據(jù)分片的相關(guān)分片信息,保存所述相關(guān)分片信息與資源提供方的對應(yīng)關(guān)系,在請求數(shù)據(jù)分片時(shí)從所述對應(yīng)關(guān)系查詢資源提供方信息;資源提供方,用于與資源請求方協(xié)商數(shù)據(jù)傳輸,根據(jù)所述資源請求方的當(dāng)前數(shù)據(jù)分片請求返回所述當(dāng)前數(shù)據(jù)分片的相關(guān)分片信息。
13.根據(jù)權(quán)利要求12所述的資源調(diào)度系統(tǒng),其特征在于,還包括 索引服務(wù)器,用于根據(jù)所述資源請求方的數(shù)據(jù)分片請求,返回資源提供方信息;接收所述資源請求方的會(huì)話請求發(fā)送至資源提供方,并將源提供方返回的所述相關(guān)分片信息發(fā)送至資源請求方。
14.根據(jù)權(quán)利要求12所述的資源調(diào)度系統(tǒng),其特征在于,所述索引服務(wù)器包括存儲模塊,用于存儲數(shù)據(jù)分片對應(yīng)的資源提供方信息;查詢模塊,用于根據(jù)所述資源請求方的當(dāng)前數(shù)據(jù)分片請求,從所述存儲模塊查詢當(dāng)前數(shù)據(jù)分片的資源提供方信息;信令協(xié)商模塊,用于接收所述資源請求方的會(huì)話請求發(fā)送至資源提供方,并將源提供方返回的所述相關(guān)分片信息發(fā)送至資源請求方;監(jiān)測模塊,用于監(jiān)測到所述資源請求方與所述資源提供方的傳輸質(zhì)量低于預(yù)設(shè)條件時(shí),向所述資源請求方發(fā)送當(dāng)前數(shù)據(jù)分片的資源提供方信息和/或調(diào)整對應(yīng)資源提供方的優(yōu)先級。
15.根據(jù)權(quán)利要求12所述的資源調(diào)度系統(tǒng),其特征在于,所述索引服務(wù)器包括判別模塊,用于當(dāng)所述資源提供方信息中的資源提供方數(shù)目小于預(yù)設(shè)值時(shí),向媒體服務(wù)器發(fā)送包含所述資源請求方及當(dāng)前數(shù)據(jù)分片的資源調(diào)度請求;所述系統(tǒng)還包括媒體服務(wù)器,用于接收所述索引服務(wù)器的所述資源調(diào)度請求,向所述資源請求方返回當(dāng)前數(shù)據(jù)分片的資源提供方信息。
16.根據(jù)權(quán)利要求12-15任一項(xiàng)所述的資源調(diào)度系統(tǒng),其特征在于,所述資源請求方包括獲取模塊,用于從所述索引服務(wù)器、媒體服務(wù)器或所述對應(yīng)關(guān)系獲取當(dāng)前數(shù)據(jù)分片的資源提供方信息;信令協(xié)商模塊,用于根據(jù)所述資源提供方信息與至少一個(gè)資源提供方信令協(xié)商數(shù)據(jù)傳輸,接收資源提供方返回的所述當(dāng)前數(shù)據(jù)分片的相關(guān)分片信息;存儲模塊,用于保存當(dāng)前數(shù)據(jù)分片的資源提供方信息,及所述相關(guān)分片與資源提供方的對應(yīng)關(guān)系信息。
17.根據(jù)權(quán)利要求16所述的資源調(diào)度系統(tǒng),其特征在于,所述資源請求方還包括維護(hù)模塊,用于與所述索引服務(wù)器通過維護(hù)消息獲取資源提供方的數(shù)據(jù)分片信息,對所述存儲模塊進(jìn)行更新。
18.根據(jù)權(quán)利要求16所述的資源調(diào)度系統(tǒng),其特征在于,所述資源請求方還包括分組模塊,用于根據(jù)所述資源提供方信息確定當(dāng)前數(shù)據(jù)分片的所有資源提供方數(shù)目n,將當(dāng)前所請求的所述數(shù)據(jù)分片劃分為不大于所述η的m個(gè)數(shù)據(jù)片;選擇m個(gè)資源提供方并發(fā)協(xié)商數(shù)據(jù)傳輸;或者判斷模塊,用于根據(jù)資源提供方信息判斷出當(dāng)前所請求數(shù)據(jù)分片保存在最近一次數(shù)據(jù)傳輸?shù)馁Y源提供方內(nèi)時(shí)與所述最近一次數(shù)據(jù)傳輸?shù)馁Y源提供方協(xié)商數(shù)據(jù)傳輸或者根據(jù)所述分組模塊并發(fā)協(xié)商數(shù)據(jù)傳輸。
19.根據(jù)權(quán)利要求16所述的資源調(diào)度系統(tǒng),其特征在于,所述資源請求方還包括查詢模塊,用于從所述存儲模塊獲取請求的數(shù)據(jù)分片的資源提供方信息;從索引服務(wù)器查詢所請求的數(shù)據(jù)分片的資源提供方信息,從所述兩組資源提供方信息中選擇一至多個(gè)資源提供方協(xié)商數(shù)據(jù)傳輸。
20.根據(jù)權(quán)利要求16所述的資源調(diào)度系統(tǒng),其特征在于,所述資源請求方還包括查詢模塊,用于從所述對應(yīng)關(guān)系查詢當(dāng)前請求的數(shù)據(jù)分片的資源提供方信息;否則通過所述索引服務(wù)器查詢資源提供方信息。
21.一種資源調(diào)度裝置,其特征在于,包括信令協(xié)商模塊,用于根據(jù)當(dāng)前數(shù)據(jù)分片的資源提供方信息與至少一個(gè)資源提供方信令協(xié)商數(shù)據(jù)傳輸,接收資源提供方返回的所述當(dāng)前數(shù)據(jù)分片的相關(guān)分片信息;存儲模塊,用于保存當(dāng)前數(shù)據(jù)分片的資源提供方信息,及所述相關(guān)分片與資源提供方的對應(yīng)關(guān)系信息;獲取模塊,用于從所述對應(yīng)關(guān)系查詢當(dāng)前數(shù)據(jù)分片的資源提供方信息。
22.根據(jù)權(quán)利要求21所述的資源調(diào)度裝置,其特征在于,位于P2P流媒體系統(tǒng)的對等體 Peer 中。
23.根據(jù)權(quán)利要求21所述的資源調(diào)度裝置,其特征在于,所述獲取模塊進(jìn)一步從索引服務(wù)器或媒體服務(wù)器查詢當(dāng)前數(shù)據(jù)分片的資源提供方信息。
24.根據(jù)權(quán)利要求21所述的資源調(diào)度裝置,其特征在于,還包括查詢模塊,用于從所述對應(yīng)關(guān)系查詢當(dāng)前請求的數(shù)據(jù)分片的資源提供方信息;在未查詢到時(shí)通過所述獲取模塊從所述索引服務(wù)器或媒體服務(wù)器查詢資源提供方信息。
25.根據(jù)權(quán)利要求21所述的資源調(diào)度裝置,其特征在于,還包括查詢模塊,用于從所述存儲模塊獲取當(dāng)前請求的數(shù)據(jù)分片的資源提供方信息,從索引服務(wù)器查詢當(dāng)前請求的數(shù)據(jù)分片的資源提供方信息,從所述兩組資源提供方信息中選擇一至多個(gè)資源提供方。
26.根據(jù)權(quán)利要求21所述的資源調(diào)度裝置,其特征在于,還包括維護(hù)模塊,用于與索引服務(wù)器通過維護(hù)消息查詢資源提供方的數(shù)據(jù)分片信息,對所述存儲模塊進(jìn)行更新。
27.根據(jù)權(quán)利要求21-26任一項(xiàng)所述的資源調(diào)度裝置,其特征在于,還包括分組模塊,用于根據(jù)所述資源提供方信息確定當(dāng)前數(shù)據(jù)分片的所有資源提供方數(shù)目n, 將當(dāng)前所請求的所述數(shù)據(jù)分片劃分為不大于所述η的m個(gè)數(shù)據(jù)片;選擇m個(gè)資源提供方并發(fā)協(xié)商數(shù)據(jù)傳輸。
28.根據(jù)權(quán)利要求27所述的資源調(diào)度裝置,其特征在于,還包括判斷模塊,用于根據(jù)資源提供方信息判斷所請求數(shù)據(jù)分片保存在最近一次數(shù)據(jù)傳輸?shù)馁Y源提供方內(nèi)時(shí)從所述最近一次數(shù)據(jù)傳輸?shù)馁Y源提供方協(xié)商數(shù)據(jù)傳輸或者根據(jù)所述分組模塊并發(fā)協(xié)商數(shù)據(jù)傳輸。
29.一種資源調(diào)度裝置,其特征在于,包括接口模塊,用于接收當(dāng)前數(shù)據(jù)分片的數(shù)據(jù)協(xié)商消息,返回所述當(dāng)前數(shù)據(jù)分片的相關(guān)分片信息;查詢模塊,用于根據(jù)所述當(dāng)前數(shù)據(jù)分片信息查找所述相關(guān)分片信息;存儲模塊,用于存儲各數(shù)據(jù)分片的數(shù)據(jù)內(nèi)容。
30.根據(jù)權(quán)利要求29所述的資源調(diào)度裝置,其特征在于,位于P2P流媒體系統(tǒng)的對等體 Peer 中。
31.根據(jù)權(quán)利要求29或30所述的資源調(diào)度裝置,其特征在于,所述接口模塊在所述當(dāng)前數(shù)據(jù)分片請求的會(huì)話應(yīng)答消息中攜帶所述相關(guān)分片信息。
32.一種資源調(diào)度裝置,其特征在于,包括存儲模塊,用于存儲數(shù)據(jù)分片對應(yīng)的資源提供方信息;查詢模塊,用于根據(jù)資源請求方的當(dāng)前數(shù)據(jù)分片請求,從所述存儲模塊查詢當(dāng)前數(shù)據(jù)分片的資源提供方信息,返回所述資源請求方;信令協(xié)商模塊,用于接收所述資源請求方的會(huì)話請求并發(fā)送至資源提供方,并將源提供方返回的所述相關(guān)分片信息發(fā)送至所述資源請求方。
33.根據(jù)權(quán)利要求32所述的資源調(diào)度裝置,其特征在于,位于P2P流媒體系統(tǒng)的索引服務(wù)器內(nèi)部。
34.根據(jù)權(quán)利要求32所述的資源調(diào)度裝置,其特征在于,還包括監(jiān)測模塊,用于監(jiān)測所述信令協(xié)商模塊的傳輸質(zhì)量,監(jiān)測到所述資源請求方與所述資源提供方的傳輸質(zhì)量低于預(yù)設(shè)條件時(shí),向所述資源請求方發(fā)送當(dāng)前數(shù)據(jù)分片的資源提供方信息和/或調(diào)整資源提供方的優(yōu)先級。
35.根據(jù)權(quán)利要求32所述的資源調(diào)度裝置,其特征在于,還包括監(jiān)測模塊,用于監(jiān)測到預(yù)設(shè)時(shí)間內(nèi)未收到所述資源提供方的會(huì)話請求反饋信息時(shí),向所述資源請求方發(fā)送通知消息。
36.根據(jù)權(quán)利要求32、33、34或35所述的資源調(diào)度裝置,其特征在于,還包括判別模塊,用于當(dāng)所述查詢模塊查找的資源提供方信息中的資源提供方數(shù)目據(jù)小于預(yù)設(shè)值時(shí),向媒體服務(wù)器發(fā)送包含所述資源請求方及當(dāng)前所請求數(shù)據(jù)分片的資源調(diào)度請求。
全文摘要
本發(fā)明公開了一種資源調(diào)度方法、系統(tǒng)、裝置,其中,該方法包括資源請求方根據(jù)當(dāng)前數(shù)據(jù)分片的資源提供方信息與至少一個(gè)資源提供方協(xié)商數(shù)據(jù)傳輸,接收資源提供方返回的當(dāng)前數(shù)據(jù)分片的相關(guān)分片信息;資源請求方保存相關(guān)分片信息與資源提供方的對應(yīng)關(guān)系,在請求數(shù)據(jù)分片時(shí)從對應(yīng)關(guān)系查詢資源提供方信息。本發(fā)明可以從本地獲得提供方信息進(jìn)而協(xié)商數(shù)據(jù)傳輸,減少向索引服務(wù)器查詢相關(guān)分片的資源提供方信息的檢索資源消耗,解決現(xiàn)有技術(shù)中的啟動(dòng)時(shí)延大及服務(wù)器負(fù)荷重方面的技術(shù)問題。
文檔編號H04L29/06GK102223288SQ20101014931
公開日2011年10月19日 申請日期2010年4月15日 優(yōu)先權(quán)日2010年4月15日
發(fā)明者吳亦川, 彭晉, 段曉東, 江興烽, 蔣海峰, 韓磊, 魏冰 申請人:中國移動(dòng)通信集團(tuán)公司