国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      一種確定直接鄰居節(jié)點(diǎn)的方法、服務(wù)器和客戶端的制作方法

      文檔序號(hào):7703778閱讀:131來(lái)源:國(guó)知局

      專利名稱::一種確定直接鄰居節(jié)點(diǎn)的方法、服務(wù)器和客戶端的制作方法
      技術(shù)領(lǐng)域
      :本發(fā)明涉及通信領(lǐng)域,具體涉及一種確定直接鄰居節(jié)點(diǎn)的方法、服務(wù)器和客戶端。
      背景技術(shù)
      :在點(diǎn)對(duì)點(diǎn)P2P(PeertoPeer)P2P中,服務(wù)器和客戶端都可以作為網(wǎng)絡(luò)中的節(jié)點(diǎn),每個(gè)節(jié)點(diǎn)既可以從其他節(jié)點(diǎn)得到數(shù)據(jù),也可以向其他節(jié)點(diǎn)提供數(shù)據(jù)。這樣龐大的客戶端上傳能力的資源被利用起來(lái),數(shù)據(jù)分發(fā)傳輸?shù)男实玫搅颂岣?。在P2P網(wǎng)絡(luò)中通常設(shè)置有服務(wù)器,以存儲(chǔ)需要分發(fā)或提供下載的數(shù)據(jù)內(nèi)容。因此,即使擁有該數(shù)據(jù)內(nèi)容的客戶端都下線,服務(wù)器也能夠?yàn)槠渌蛻舳颂峁┰摂?shù)據(jù)內(nèi)容的下載,因此提供了良好的服務(wù)質(zhì)量(QualityofService,QoS)保證。由于P2P網(wǎng)絡(luò)中的所有客戶端都可以請(qǐng)求從服務(wù)器上下載數(shù)據(jù)內(nèi)容,也可以從擁有數(shù)據(jù)內(nèi)容的其它客戶端下載數(shù)據(jù)內(nèi)容,并能同時(shí)為其它客戶端提供數(shù)據(jù)內(nèi)容。在本領(lǐng)域中,可以將從服務(wù)器下載數(shù)據(jù)內(nèi)容的客戶端稱為直接鄰居節(jié)點(diǎn),將從擁有數(shù)據(jù)內(nèi)容的其它客戶端下載數(shù)據(jù)內(nèi)容的客戶端稱為非直接鄰居節(jié)點(diǎn)。在現(xiàn)有的P2P網(wǎng)絡(luò)中,請(qǐng)求從服務(wù)器獲取數(shù)據(jù)內(nèi)容的客戶端都是隨機(jī)的,也就是任何客戶端都可以作為直接鄰居節(jié)點(diǎn)?,F(xiàn)有技術(shù)中,通過(guò)隨機(jī)方法確定直接鄰居節(jié)點(diǎn),但通過(guò)該方法確定的直接鄰居節(jié)點(diǎn),當(dāng)該確定的直接鄰居節(jié)點(diǎn)的數(shù)據(jù)內(nèi)容分發(fā)能力較弱時(shí),可能影響P2P網(wǎng)絡(luò)中數(shù)據(jù)內(nèi)容的分發(fā)。
      發(fā)明內(nèi)容本發(fā)明實(shí)施例提供一種確定直接鄰居節(jié)點(diǎn)的方法、服務(wù)器和客戶端,可以保證確定的直接鄰居節(jié)點(diǎn)具有較強(qiáng)的數(shù)據(jù)內(nèi)容分發(fā)能力,提高網(wǎng)絡(luò)中數(shù)據(jù)內(nèi)容分發(fā)能力。本發(fā)明實(shí)施例提供一種確定直接鄰居節(jié)點(diǎn)的方法,包括接收客戶端發(fā)送的內(nèi)容分發(fā)能力消息,所述內(nèi)容分發(fā)能力消息中包含客戶端當(dāng)前的內(nèi)容分發(fā)能力;根據(jù)接收到的客戶端的當(dāng)前的內(nèi)容分發(fā)能力確定直接鄰居節(jié)點(diǎn)。此外,本發(fā)明實(shí)施例還提供一種服務(wù)器,包括接收模塊,用于接收客戶端發(fā)送的內(nèi)容分發(fā)能力消息,所述內(nèi)容分發(fā)能力消息中包含客戶端當(dāng)前的內(nèi)容分發(fā)能力;確定模塊,用于根據(jù)接收到的客戶端的當(dāng)前的內(nèi)容分發(fā)能力確定直接鄰居節(jié)點(diǎn)。此外,本發(fā)明實(shí)施例還提供一種客戶端,包括獲取模塊,用于獲取對(duì)數(shù)據(jù)內(nèi)容的內(nèi)容分發(fā)能力;發(fā)送模塊,用于發(fā)送內(nèi)容分發(fā)能力消息,所述內(nèi)容分發(fā)能力消息中包含客戶端當(dāng)前的內(nèi)容分發(fā)能力;以便于服務(wù)器根據(jù)所述客戶端當(dāng)前的內(nèi)容分發(fā)能力確定直接鄰居節(jié)點(diǎn)ο本發(fā)明實(shí)施例通過(guò)利用直接鄰居節(jié)點(diǎn)對(duì)數(shù)據(jù)內(nèi)容的內(nèi)容分發(fā)能力確定直接鄰居節(jié)點(diǎn),可以保證確定的直接鄰居節(jié)點(diǎn)具有較強(qiáng)的數(shù)據(jù)內(nèi)容分發(fā)能力,提高網(wǎng)絡(luò)中數(shù)據(jù)內(nèi)容分發(fā)能力。圖1為本發(fā)明一實(shí)施例的確定直接鄰居節(jié)點(diǎn)的方法的流程圖;圖2為本發(fā)明另一實(shí)施例的確定直接鄰居節(jié)點(diǎn)的方法的流程圖;圖3為本發(fā)明另一實(shí)施例的調(diào)整直接鄰居節(jié)點(diǎn)的數(shù)量的方法流程圖;圖4為本發(fā)明另一實(shí)施例服務(wù)器的結(jié)構(gòu)示意圖;圖5為本發(fā)明另一實(shí)施例的客戶端的結(jié)構(gòu)示意圖;圖6為本發(fā)明實(shí)施例提供的確定直接鄰居節(jié)點(diǎn)的系統(tǒng)示意圖。具體實(shí)施例方式為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,以下結(jié)合附圖及實(shí)施例,對(duì)本發(fā)明進(jìn)行進(jìn)一步詳細(xì)說(shuō)明。應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅用以解釋本發(fā)明,并不用于限定本發(fā)明。P2P網(wǎng)絡(luò)中獲取數(shù)據(jù)內(nèi)容的客戶端的內(nèi)容分發(fā)能力消息,例如作為直接鄰居節(jié)點(diǎn)的客戶端和作為非直接鄰居節(jié)點(diǎn)的客戶端,都可以向服務(wù)器發(fā)送各自的內(nèi)容分發(fā)能力消息,例如可以按一定的時(shí)間周期向服務(wù)器發(fā)送各自的內(nèi)容分發(fā)能力消息。其中,作為直接鄰居節(jié)點(diǎn)的客戶端可以從服務(wù)器下載數(shù)據(jù)內(nèi)容,而作為非直接鄰居節(jié)點(diǎn)的客戶端則從其它客戶端獲取數(shù)據(jù)內(nèi)容,其中,該其它客戶端既可以是直接鄰居節(jié)點(diǎn),也可以是另一個(gè)非直接鄰居節(jié)點(diǎn)。為使得作為非直接鄰居節(jié)點(diǎn)的客戶端能夠更方便的從其它客戶端獲取數(shù)據(jù)內(nèi)容,作為直接鄰居節(jié)點(diǎn)的客戶端需要將從服務(wù)器獲取的數(shù)據(jù)內(nèi)容分發(fā)給其它客戶端。例如,在本發(fā)明的一個(gè)實(shí)施例中,服務(wù)器為每個(gè)數(shù)據(jù)內(nèi)容設(shè)置可以支持的直接鄰居節(jié)點(diǎn)數(shù)量閾值,對(duì)某一數(shù)據(jù)內(nèi)容,當(dāng)沒(méi)有任何客戶端已獲取該數(shù)據(jù)內(nèi)容時(shí),即該數(shù)據(jù)內(nèi)容僅存儲(chǔ)于服務(wù)器,最初請(qǐng)求獲取該數(shù)據(jù)內(nèi)容的客戶端在獲取該數(shù)據(jù)內(nèi)容后就可以默認(rèn)作為直接鄰居節(jié)點(diǎn)。例如,當(dāng)某個(gè)客戶端需要獲取該數(shù)據(jù)內(nèi)容時(shí),該客戶端向服務(wù)器發(fā)送獲取請(qǐng)求以及內(nèi)容分發(fā)能力消息并從服務(wù)器獲取該數(shù)據(jù)內(nèi)容,該客戶端就作為直接鄰居節(jié)點(diǎn)。當(dāng)有另一個(gè)客戶端也需要獲取該數(shù)據(jù)內(nèi)容,該另一客戶端也可以從服務(wù)器獲取該數(shù)據(jù)內(nèi)容,即該另一客戶端也作為直接鄰居節(jié)點(diǎn),直到作為直接鄰居節(jié)點(diǎn)的客戶端的數(shù)量達(dá)到服務(wù)器為該數(shù)據(jù)內(nèi)容設(shè)置的可以支持的直接鄰居節(jié)點(diǎn)數(shù)量閾值。但實(shí)際上,本發(fā)明實(shí)施例提供的一種確定直接鄰居節(jié)點(diǎn)的技術(shù)方案,不僅可以應(yīng)用于最初的場(chǎng)景,還可以應(yīng)用于已有直接鄰居節(jié)點(diǎn)的場(chǎng)景,具體可以如下所述。本發(fā)明實(shí)施例提供了確定直接鄰居節(jié)點(diǎn)的方法,如附圖1所示,可以如下所述。步驟101、接收客戶端發(fā)送的內(nèi)容分發(fā)能力消息;所述內(nèi)容分發(fā)能力消息中包含客戶端當(dāng)前的內(nèi)容分發(fā)能力,所述內(nèi)容分發(fā)能力為客戶端對(duì)數(shù)據(jù)內(nèi)容的上傳速率和/或客戶端對(duì)數(shù)據(jù)內(nèi)容的內(nèi)容傳輸放大系數(shù);步驟102、根據(jù)客戶端對(duì)數(shù)據(jù)內(nèi)容的上傳速率和/或客戶端對(duì)數(shù)據(jù)內(nèi)容的內(nèi)容傳輸放大系數(shù)確定直接鄰居節(jié)點(diǎn)。例如,服務(wù)器為每個(gè)數(shù)據(jù)內(nèi)容設(shè)置可以支持的直接鄰居節(jié)點(diǎn)數(shù)量閾值,在滿足直接鄰居節(jié)點(diǎn)數(shù)量閾值的條件下,依據(jù)內(nèi)容分發(fā)能力從大到小的順序?qū)⑾鄳?yīng)數(shù)量的客戶端確定為直接鄰居節(jié)點(diǎn)。如果該內(nèi)容分發(fā)能力為客戶端對(duì)該數(shù)據(jù)內(nèi)容的上傳速率,則服務(wù)器根據(jù)客戶端對(duì)該數(shù)據(jù)內(nèi)容的上傳速率^的大小,在滿足直接鄰居節(jié)點(diǎn)數(shù)量閾值的條件下,依據(jù)數(shù)據(jù)內(nèi)容上傳速率從大到小的順序?qū)⑾鄳?yīng)數(shù)量的客戶端確定為直接鄰居節(jié)點(diǎn)?;蛘?,還可以根據(jù)數(shù)據(jù)內(nèi)容上傳速率進(jìn)行直接鄰居節(jié)點(diǎn)的更新,或根據(jù)數(shù)據(jù)內(nèi)容上傳速率和對(duì)數(shù)據(jù)內(nèi)容的內(nèi)容傳輸放大系數(shù)進(jìn)行直接鄰居節(jié)點(diǎn)的更新。由以上描述可知,本發(fā)明實(shí)施例通過(guò)利用對(duì)數(shù)據(jù)內(nèi)容的內(nèi)容分發(fā)能力確定直接鄰居節(jié)點(diǎn),使得作為直接鄰居節(jié)點(diǎn)的客戶端可以很好的分發(fā)獲取到的數(shù)據(jù)內(nèi)容。如圖2所示,為本發(fā)明實(shí)施例提供的一種選擇直接鄰居節(jié)點(diǎn)方法的具體應(yīng)用的流程圖。在本實(shí)施例中,客戶端預(yù)先獲取存儲(chǔ)有數(shù)據(jù)內(nèi)容的服務(wù)器的地址和其它客戶端的地址。其中,從服務(wù)器下載數(shù)據(jù)內(nèi)容的客戶端為直接鄰居節(jié)點(diǎn)的客戶端,從其它客戶端下載數(shù)據(jù)內(nèi)容的客戶端為非直接鄰居節(jié)點(diǎn)的客戶端,已有客戶端作為直接鄰居節(jié)點(diǎn)。步驟201、接收客戶端發(fā)送的內(nèi)容分發(fā)能力消息。本步驟當(dāng)中,服務(wù)器既可以接收作為直接鄰居節(jié)點(diǎn)的客戶端的內(nèi)容分發(fā)能力消息,也可以接收作為非直接鄰居節(jié)點(diǎn)的客戶端的內(nèi)容分發(fā)能力消息。作為非直接鄰居節(jié)點(diǎn)的客戶端,如果已從其它客戶端獲取了數(shù)據(jù)內(nèi)容,例如已從作為直接鄰居節(jié)點(diǎn)的客戶端i獲取了數(shù)據(jù)內(nèi)容,則作為非直接鄰居節(jié)點(diǎn)的客戶端分別向服務(wù)器發(fā)送內(nèi)容分發(fā)能力消息,可以分別包含相應(yīng)客戶端對(duì)數(shù)據(jù)內(nèi)容的上傳速率Bandwidthpeenο步驟202、接收到客戶端發(fā)送的內(nèi)容分發(fā)能力消息后,根據(jù)接收到的客戶端的當(dāng)前的內(nèi)容分發(fā)能力確定直接鄰居節(jié)點(diǎn)。例如,服務(wù)器為每個(gè)數(shù)據(jù)內(nèi)容設(shè)有可以支持的直接鄰居節(jié)點(diǎn)數(shù)量閾值。服務(wù)器獲取可以支持的直接鄰居節(jié)點(diǎn)數(shù)量閾值后,根據(jù)各客戶端對(duì)該數(shù)據(jù)內(nèi)容的數(shù)據(jù)內(nèi)容上傳速率Sflw^W力Z^q的大小,在滿足直接鄰居節(jié)點(diǎn)數(shù)量閾值的條件下,依據(jù)數(shù)據(jù)內(nèi)容上傳速率從大到小的順序?qū)⑾鄳?yīng)數(shù)量的客戶端確定為直接鄰居節(jié)點(diǎn)。如下以客戶端i、A、B、C、D為例進(jìn)行說(shuō)明,服務(wù)器為每個(gè)數(shù)據(jù)內(nèi)容設(shè)有可以支持的直接鄰居節(jié)點(diǎn)數(shù)量閾值以及服務(wù)器為每個(gè)數(shù)據(jù)內(nèi)容分配供客戶端下載的帶寬。可以支持的直接鄰居節(jié)點(diǎn)數(shù)量閾值可以是服務(wù)器對(duì)每個(gè)數(shù)據(jù)內(nèi)容支持的直接鄰居節(jié)點(diǎn)的最大數(shù)量,也可以是任意值。例如,服務(wù)器獲取數(shù)據(jù)內(nèi)容可以支持的直接鄰居節(jié)點(diǎn)數(shù)量閾值為3,且在其保存的客戶端記錄中已記錄客戶端i為直接鄰居節(jié)點(diǎn)。服務(wù)器收到客戶端A、B、C、D發(fā)送的內(nèi)容分發(fā)能力消息后,獲取其中的數(shù)據(jù)內(nèi)容上傳速率。其中,客戶端A的數(shù)據(jù)內(nèi)容上傳速率為1Mb/s,客戶端B的數(shù)據(jù)內(nèi)容上傳速率為500Kb/s,客戶端C的數(shù)據(jù)內(nèi)容上傳速率為300Kb/s,客戶端D的數(shù)據(jù)內(nèi)容上傳速率為100Kb/S。由于客戶端i已經(jīng)是該數(shù)據(jù)內(nèi)容的直接鄰居節(jié)點(diǎn),服務(wù)器在直接鄰居節(jié)點(diǎn)數(shù)量閾值為3的條件下,依據(jù)數(shù)據(jù)內(nèi)容上傳速率從大到小的順序進(jìn)一步確定2個(gè)客戶端,即客戶端A、B為直接鄰居節(jié)點(diǎn)。在保存的客戶端記錄中將客戶端A、B加上直接鄰居節(jié)點(diǎn)的標(biāo)記。如果服務(wù)器在其保存的客戶端記錄中沒(méi)有記錄任何客戶端作為直接鄰居節(jié)點(diǎn),則服務(wù)器在收到客戶端i、A、B、C、D發(fā)送的內(nèi)容分發(fā)能力消息后,在直接鄰居節(jié)點(diǎn)數(shù)量閾值為3的條件下,依據(jù)數(shù)據(jù)內(nèi)容上傳速率從大到小的順序確定3個(gè)客戶端為直接鄰居節(jié)點(diǎn)。此外,為保證總能將內(nèi)容分發(fā)能力較強(qiáng)的客戶端確定為直接鄰居節(jié)點(diǎn),本發(fā)明的另一實(shí)施例中,服務(wù)器還可以進(jìn)行直接鄰居節(jié)點(diǎn)的更新,即可以將內(nèi)容分發(fā)能力較強(qiáng)的非直接鄰居節(jié)點(diǎn)確定為直接鄰居節(jié)點(diǎn),并可以根據(jù)內(nèi)容分發(fā)能力將內(nèi)容分發(fā)能力較弱的直接鄰居節(jié)點(diǎn)確定為非直接鄰居節(jié)點(diǎn)。例如,以客戶端1、」、14、8、(、0為例進(jìn)行說(shuō)明,服務(wù)器設(shè)置數(shù)據(jù)內(nèi)容可以支持的直接鄰居節(jié)點(diǎn)數(shù)量閾值為3,且在其保存的客戶端記錄中已記錄客戶端i、j、k為直接鄰居節(jié)點(diǎn)。服務(wù)器收到客戶端i、j、k、A、B、C、D的內(nèi)容分發(fā)能力消息后,獲取數(shù)據(jù)內(nèi)容可以支持的直接鄰居節(jié)點(diǎn)數(shù)量閾值為3。根據(jù)內(nèi)容分發(fā)能力消息中的上傳速率確定客戶端i、j、k、A、B、C、D的內(nèi)容分發(fā)能力依次為客戶端i>客戶端j>客戶端A>客戶端k>客戶端B>客戶端C>客戶端D,則服務(wù)器可以將客戶端K確定為非直接鄰居節(jié)點(diǎn),而將客戶端A確定為直接鄰居節(jié)點(diǎn),服務(wù)器在保存的客戶端記錄中,相應(yīng)更新客戶端的直接鄰居節(jié)點(diǎn)標(biāo)記。根據(jù)上述對(duì)直接鄰居節(jié)點(diǎn)的更新,可以保證內(nèi)容分發(fā)能力較強(qiáng)的客戶端作為直接鄰居節(jié)點(diǎn)。根據(jù)本發(fā)明的另一實(shí)施例,在進(jìn)行直接鄰居節(jié)點(diǎn)的更新的過(guò)程中,服務(wù)器還可以根據(jù)設(shè)置的策略進(jìn)行直接鄰居節(jié)點(diǎn)的更新。例如,設(shè)置的策略可以是每次需要更新至少一個(gè)直接鄰居節(jié)點(diǎn)。例如,服務(wù)器中設(shè)置有將直接鄰居節(jié)點(diǎn)確定為非直接鄰居節(jié)點(diǎn)的更新值,則服務(wù)器獲取將直接鄰居節(jié)點(diǎn)確定為非直接鄰居節(jié)點(diǎn)的更新值后,可以根據(jù)該更新值以及根據(jù)內(nèi)容分發(fā)能力的從弱到強(qiáng)的順序,例如根據(jù)上傳速率或內(nèi)容傳輸放大系數(shù)從小到大的順序,將相應(yīng)更新值數(shù)量的直接鄰居節(jié)點(diǎn)確定為非直接鄰居節(jié)點(diǎn),并根據(jù)內(nèi)容分發(fā)能力的從強(qiáng)到弱的順利,例如根據(jù)上傳速率或內(nèi)容傳輸放大系數(shù)從大到小的順序,將相應(yīng)更新值數(shù)量的非直接鄰居節(jié)點(diǎn)客戶端確定為直接鄰居節(jié)點(diǎn)。例如,以客戶端i、j、k、A、B、C、D為例進(jìn)行說(shuō)明,服務(wù)器設(shè)置數(shù)據(jù)內(nèi)容可以支持的直接鄰居節(jié)點(diǎn)數(shù)量閾值為3,且在其保存的客戶端記錄中已記錄客戶端i、j、k為直接鄰居節(jié)點(diǎn)??蛻舳薸為作為直接鄰居節(jié)點(diǎn),已從服務(wù)器下載數(shù)據(jù)內(nèi)容,客戶端i發(fā)送的內(nèi)容分發(fā)能力消息可以包含客戶端i當(dāng)前對(duì)數(shù)據(jù)內(nèi)容的傳輸放大系數(shù)Ampi和/或數(shù)據(jù)內(nèi)容的上傳速率—哪,該內(nèi)容傳輸放大系數(shù)可以由客戶端i通過(guò)下式得到Ampi=Bandwidthcs_peeri/Bandwidthcs-peer其中,Smi/vWi/^q表示客戶端i對(duì)數(shù)據(jù)內(nèi)容的上傳速率,即對(duì)其他客戶端的服務(wù)能力,客戶端i可以通過(guò)如下公式計(jì)算獲取該上傳速率;Bandwidthpeen=上傳數(shù)據(jù)內(nèi)容總量/上傳時(shí)間Bandwidth。s_peCT,表示客戶端i從服務(wù)器上下載數(shù)據(jù)內(nèi)容的下載速率,客戶端i可以通過(guò)如下公式計(jì)算獲取該下載速率;Bandwidthcs_peer=從服務(wù)器獲取的數(shù)據(jù)內(nèi)容總量/獲取時(shí)間Ampi,用于表示客戶端i當(dāng)前對(duì)數(shù)據(jù)內(nèi)容在P2P網(wǎng)絡(luò)中的擴(kuò)散能力,由于下載同一數(shù)據(jù)內(nèi)容的下載速率相同,因此在同等的BandWidth。s_peCT的下載速率情況下,客戶端i的Ampi值越大,則客戶端i向其它客戶端提供的上傳速率就越高,它的數(shù)據(jù)內(nèi)容擴(kuò)散能力就越大。例如,服務(wù)器設(shè)置該數(shù)據(jù)內(nèi)容每次需要更新直接鄰居節(jié)點(diǎn)的更新值為1。作為直接鄰居節(jié)點(diǎn)的客戶端i、j、k對(duì)數(shù)據(jù)內(nèi)容的傳輸放大系數(shù)假設(shè)依次為Ampi>Ampj>Ampk;假設(shè)客戶端A對(duì)數(shù)據(jù)內(nèi)容上傳速率為IMb/s,客戶端B對(duì)數(shù)據(jù)內(nèi)容上傳速率為500Kb/s,客戶端C對(duì)文數(shù)據(jù)內(nèi)容上傳速率為300Kb/s,客戶端D對(duì)數(shù)據(jù)內(nèi)容上傳速率為100Kb/S。則服務(wù)器則可以根據(jù)預(yù)設(shè)的策略(即更新值為1)將客戶端K淘汰并將客戶端A確定為直接鄰居節(jié)點(diǎn)?;蛘撸瑸楸WC內(nèi)容分發(fā)能力較強(qiáng)的客戶端作為直接鄰居節(jié)點(diǎn),服務(wù)器還可以比較客戶端K與客戶端A的上傳速率,如果客戶端K的上傳速率小于客戶端A,則將客戶端K淘汰并將客戶端A確定為直接鄰居節(jié)點(diǎn);如果客戶端K的上傳速率大于客戶端A,則可以保持現(xiàn)狀,即不將客戶端K淘汰。綜上所述,本發(fā)明實(shí)施例可以對(duì)直接鄰居節(jié)點(diǎn)進(jìn)行更新,以保證內(nèi)容分發(fā)能力較強(qiáng)的客戶端總是作為直接鄰居節(jié)點(diǎn),并確定上傳速率最大的非直接鄰居節(jié)點(diǎn)作為直接鄰居節(jié)點(diǎn)。此外,服務(wù)器還可以對(duì)直接鄰居節(jié)點(diǎn)的確定和更新設(shè)定周期,周期可以根據(jù)一定的時(shí)間長(zhǎng)度確定,例如1分鐘,2分鐘,還可以根據(jù)接收到內(nèi)容分發(fā)能力消息的間隔的平均時(shí)間確定。通過(guò)上述直接鄰居節(jié)點(diǎn)的更新,可以避免內(nèi)容分發(fā)能力不穩(wěn)定的客戶端在分發(fā)能力下降后仍作為直接鄰居節(jié)點(diǎn)以及某些非直接鄰居節(jié)點(diǎn)在分發(fā)能力提高卻不能作為直接鄰居節(jié)點(diǎn)的缺陷,從而保證數(shù)據(jù)內(nèi)容分發(fā)的相對(duì)穩(wěn)定。此外,設(shè)定一定的調(diào)整周期,可以避免一些上傳能力穩(wěn)定的客戶端剛成為直接鄰居節(jié)點(diǎn)又被淘汰,保證直接鄰居節(jié)點(diǎn)的相對(duì)穩(wěn)定。服務(wù)器可以存儲(chǔ)有P2P網(wǎng)絡(luò)中獲取數(shù)據(jù)內(nèi)容的所有客戶端的記錄,例如通過(guò)記錄信息表進(jìn)行記錄,服務(wù)器可以在記錄中將被確定為直接鄰居節(jié)點(diǎn)的客戶端進(jìn)行標(biāo)識(shí),例如加上直接鄰居節(jié)點(diǎn)的標(biāo)識(shí),例如,在記錄中設(shè)置對(duì)應(yīng)客戶端標(biāo)識(shí)的直接鄰居節(jié)點(diǎn)標(biāo)志位,當(dāng)標(biāo)志位置1時(shí),表示該客戶端為直接鄰居節(jié)點(diǎn);當(dāng)標(biāo)志位置0時(shí)表示該客戶端為非直接鄰居節(jié)點(diǎn),反之亦然。上述記錄中還可以記錄客戶端的內(nèi)容傳輸放大系數(shù)Ampi以及客戶端對(duì)數(shù)據(jù)內(nèi)容的上傳速率本發(fā)明實(shí)施例提供了一種客戶端記錄的存儲(chǔ)方式,如表ο一所示<table>tableseeoriginaldocumentpage9</column></row><table>表一其中客戶端標(biāo)識(shí)可以是客戶端的IP地址,也可以是客戶端的名稱,URL等,上傳速率為本客戶端為其他客戶端提供數(shù)據(jù)內(nèi)容的速率,直接鄰居節(jié)點(diǎn)標(biāo)志可以是BOOL型的數(shù)據(jù),例如表一中的1表示其所對(duì)應(yīng)的客戶端10.168.1.2為直接鄰居節(jié)點(diǎn),0表示其所對(duì)應(yīng)的客戶端10.168.1.0為非直接鄰居節(jié)點(diǎn)。記錄表中也可以包括直接鄰居節(jié)點(diǎn)具體的內(nèi)容傳輸放大系數(shù)的值,例如表一中客戶端10.168.1.2所對(duì)應(yīng)的內(nèi)容傳輸放大系數(shù)為5,由于非直接鄰居節(jié)點(diǎn)不能從服務(wù)器上獲取數(shù)據(jù),即非直接鄰居節(jié)點(diǎn)從服務(wù)器上獲得數(shù)據(jù)內(nèi)容的下載速率為0,導(dǎo)致非直接鄰居節(jié)點(diǎn)的內(nèi)容傳輸放大系數(shù)無(wú)意義,所以上述記錄表中可以不包含非直接鄰居節(jié)點(diǎn)的內(nèi)容傳輸放大系數(shù),例如表一中非直接鄰居節(jié)點(diǎn)10.168.1.0的內(nèi)容傳輸放大系數(shù)為N/A。服務(wù)器在接收到客戶端發(fā)送的內(nèi)容分發(fā)能力消息后,可以對(duì)記錄中的數(shù)據(jù)進(jìn)行更新。例如將表一中的上傳速率更新為內(nèi)容分發(fā)能力消息中的數(shù)據(jù)內(nèi)容的上傳速率Bandwidthpeeri,或?qū)?nèi)容傳輸放大系數(shù)更新為內(nèi)容分發(fā)能力消息中的內(nèi)容傳輸放大系數(shù)Ampi0當(dāng)直接鄰居節(jié)點(diǎn)被淘汰成為非直接鄰居節(jié)點(diǎn)時(shí),表一中直接鄰居節(jié)點(diǎn)標(biāo)志位被置為0。除如表一中直接鄰居節(jié)點(diǎn)標(biāo)識(shí)外,其他可以實(shí)現(xiàn)表示直接鄰居節(jié)點(diǎn)的方法也是可以的,例如,加上字段名稱作為直接鄰居節(jié)點(diǎn)的標(biāo)識(shí)。該記錄中還可以包含其他內(nèi)容,比如客戶端的體驗(yàn)值,客戶端所對(duì)應(yīng)的域ID等等。本發(fā)明實(shí)施例所公開的確定直接鄰居節(jié)點(diǎn)的方法,其過(guò)程可以如上述多個(gè)實(shí)施例公開的確定方法,直接鄰居節(jié)點(diǎn)被確定后,其后續(xù)的數(shù)據(jù)傳輸過(guò)程可以進(jìn)一步如步驟203、20所述,具體如下。步驟203,服務(wù)器向沒(méi)有從服務(wù)器獲取數(shù)據(jù)內(nèi)容但被確定為直接鄰居節(jié)點(diǎn)的客戶端發(fā)送連接通知,以便于被確定為直接鄰居節(jié)點(diǎn)的客戶端從服務(wù)器獲取數(shù)據(jù)內(nèi)容;和/或服務(wù)器向被確定為非直接鄰居節(jié)點(diǎn)的客戶端發(fā)送斷開連接通知,通知其斷開和服務(wù)器的連接,并拒絕繼續(xù)向被淘汰成為非直接鄰居節(jié)點(diǎn)的客戶端提供數(shù)據(jù)內(nèi)容。沒(méi)有從服務(wù)器獲取數(shù)據(jù)內(nèi)容但被確定為直接鄰居節(jié)點(diǎn)的客戶端在接收到上述連接通知后,可連接到服務(wù)器并從服務(wù)器上獲取數(shù)據(jù)內(nèi)容。然后向服務(wù)器發(fā)送包含傳輸放大系數(shù)和/或上傳速率的內(nèi)容分發(fā)能力消息。當(dāng)然,服務(wù)器也可以在接收沒(méi)有從服務(wù)器獲取數(shù)據(jù)內(nèi)容但被確定為直接鄰居節(jié)點(diǎn)的客戶端發(fā)送的獲取數(shù)據(jù)內(nèi)容的請(qǐng)求后,向其提供數(shù)據(jù)內(nèi)容。而被確定為非直接鄰居節(jié)點(diǎn)的客戶端在接收到上述斷開連接通知后,將不再?gòu)姆?wù)器獲取數(shù)據(jù)內(nèi)容,并定期向服務(wù)器發(fā)送包含上傳速率的內(nèi)容分發(fā)能力消息。當(dāng)然,服務(wù)器也可以不通知這些被淘汰的直接鄰居節(jié)點(diǎn)而直接斷開。步驟204、當(dāng)作為直接鄰居節(jié)點(diǎn)的客戶端請(qǐng)求從服務(wù)器獲取數(shù)據(jù)內(nèi)容時(shí),服務(wù)器向作為直接鄰居節(jié)點(diǎn)的客戶端提供數(shù)據(jù)內(nèi)容。本實(shí)施例服務(wù)器通過(guò)選擇上傳速率大的客戶端為直接鄰居節(jié)點(diǎn),并將數(shù)據(jù)內(nèi)容提供給直接鄰居節(jié)點(diǎn),以便于具有較大分發(fā)能力的作為直接鄰居節(jié)點(diǎn)的客戶端從服務(wù)器獲取數(shù)據(jù)內(nèi)容后提供給其它客戶端,從而加快數(shù)據(jù)內(nèi)容在網(wǎng)絡(luò)中的傳播,并減輕服務(wù)器的下載壓力。根據(jù)本發(fā)明的另一實(shí)施例,服務(wù)器可以為每個(gè)數(shù)據(jù)內(nèi)容分配上傳帶寬B1、上傳帶寬的最低利用率Tl和上傳帶寬的最高利用率Th。并且,服務(wù)器對(duì)數(shù)據(jù)內(nèi)容設(shè)置有可以支持的直接鄰居節(jié)點(diǎn)數(shù)量閾值M。對(duì)于某個(gè)數(shù)據(jù)內(nèi)容而言,其可以支持的直接鄰居節(jié)點(diǎn)數(shù)量閾值受服務(wù)器支持的直接鄰居節(jié)點(diǎn)的總值和服務(wù)器為某個(gè)數(shù)據(jù)內(nèi)容的上傳帶寬影響。本發(fā)明實(shí)施例提供了服務(wù)器調(diào)整直接鄰居節(jié)點(diǎn)的數(shù)量的方法流程圖,如圖3所示,具體內(nèi)容可以如下所述。步驟301,服務(wù)器獲取預(yù)設(shè)的各參數(shù)值,包括當(dāng)前數(shù)據(jù)內(nèi)容的直接鄰居節(jié)點(diǎn)的數(shù)量N、上傳帶寬的當(dāng)前使用量U,上傳帶寬的最低利用率Tl、上傳帶寬的最高利用率Th以及可以支持的直接鄰居節(jié)點(diǎn)數(shù)量閾值M。302、服務(wù)器根據(jù)上傳帶寬的最低利用率Tl和為數(shù)據(jù)內(nèi)容分配上傳帶寬B1計(jì)算上傳帶寬的最低利用閾值Cl=B1^Tl0步驟303,服務(wù)器。如果所述上傳帶寬的最低利用閾值Cl大于上傳帶寬的當(dāng)前使用量U,即U<Cl,執(zhí)行步驟304;當(dāng)U>Cl時(shí),執(zhí)行步驟309。步驟304,服務(wù)器根據(jù)當(dāng)前數(shù)據(jù)內(nèi)容的直接鄰居節(jié)點(diǎn)的數(shù)量N以及上傳帶寬的當(dāng)前使用量U,計(jì)算當(dāng)前直接鄰居節(jié)點(diǎn)的平均下載帶寬V=U/N。步驟305,服務(wù)器計(jì)算為數(shù)據(jù)內(nèi)容提供的剩余上傳帶寬L=C1-U。此外,步驟304與步驟305之間沒(méi)有嚴(yán)格的時(shí)間順序。步驟306,服務(wù)器根據(jù)所述數(shù)據(jù)內(nèi)容提供的剩余上傳帶寬L和所述當(dāng)前直接鄰居節(jié)點(diǎn)的平均下載帶寬V計(jì)算可增加直接鄰居節(jié)點(diǎn)的數(shù)量D=L/V并取整。步驟307,服務(wù)器根據(jù)所述當(dāng)前數(shù)據(jù)內(nèi)容的直接鄰居節(jié)點(diǎn)的數(shù)量N及所述可增加直接鄰居節(jié)點(diǎn)的數(shù)量D計(jì)算增加直接鄰居節(jié)點(diǎn)后的數(shù)量E=N+D;步驟308,確定需要增加的直接鄰居節(jié)點(diǎn)的數(shù)量D或F。具體包括服務(wù)器判斷所述可以支持的直接鄰居節(jié)點(diǎn)數(shù)量閾值M大于或等于所述增加直接鄰居節(jié)點(diǎn)后的數(shù)量E,確定需要增加的直接鄰居節(jié)點(diǎn)的數(shù)量D;否則,計(jì)算需要增加的直接鄰居節(jié)點(diǎn)的數(shù)量F=M-N,并確定需要增加的直接鄰居節(jié)點(diǎn)的數(shù)量為F=M-N。步驟309,服務(wù)器根據(jù)所述上傳帶寬的最高利用率Th和為數(shù)據(jù)內(nèi)容分配上傳帶寬B1計(jì)算上傳帶寬的最高利用閾值C2=B1^Th0步驟310,服務(wù)器判斷當(dāng)前數(shù)據(jù)內(nèi)容的上傳帶寬的當(dāng)前使用量U是否大于上傳帶寬的最高利用閾值C2。若U>C2,則執(zhí)行步驟311;若Cl<U<C2,可以執(zhí)行步驟314,結(jié)束調(diào)整直接鄰居節(jié)點(diǎn)的數(shù)量流程。步驟311,服務(wù)器根據(jù)當(dāng)前數(shù)據(jù)內(nèi)容的直接鄰居節(jié)點(diǎn)的數(shù)量N以及上傳帶寬的當(dāng)前使用量U,計(jì)算當(dāng)前直接鄰居節(jié)點(diǎn)的平均下載帶寬V=U/N。步驟312,服務(wù)器根據(jù)服務(wù)器上傳帶寬的當(dāng)前使用量U和為數(shù)據(jù)內(nèi)容分配上傳帶寬B1計(jì)算上傳帶寬的超出量E=U-B1^Th0步驟313,服務(wù)器根據(jù)上傳帶寬的超出量E以及平均下載帶寬V確定需要減少的直接鄰居節(jié)點(diǎn)的數(shù)量G=E/V,取整數(shù)位加1個(gè)。對(duì)于以上流程也可以先執(zhí)行步驟309到313,不滿足步驟309中的條件轉(zhuǎn)入步驟302處理,其原理與圖3所示原理相同,在此不再詳述。以實(shí)際應(yīng)用中的情況為例,假設(shè)當(dāng)前系統(tǒng)中共有10個(gè)直接鄰居節(jié)點(diǎn)下載數(shù)據(jù)內(nèi)容,即N=10,而數(shù)據(jù)內(nèi)容可以支持的直接鄰居節(jié)點(diǎn)數(shù)量閾值為15即M=15,Tl=80%,Th=95%,Bi=IOM0數(shù)據(jù)內(nèi)容的上傳帶寬的當(dāng)前使用量U為7M即U=7M,上傳帶寬的最低利用閾值Cl=B1*!!=8M。所以U<C1,且N<M。那么此時(shí)需要增加直接鄰居節(jié)點(diǎn)的個(gè)數(shù),服務(wù)器按304-308的步驟進(jìn)行操作計(jì)算V=U/N=0.7M,L=Cl-U=1M,從而得到可增加的直接鄰居中節(jié)點(diǎn)的數(shù)量D=L/V=1.3;對(duì)該值進(jìn)行4舍5入則可以增加直接鄰居節(jié)點(diǎn)的個(gè)數(shù)為1個(gè);計(jì)算增加直接鄰居節(jié)點(diǎn)后的數(shù)量E=N+D=10,并且E小于M。確定需要增加的直接鄰居節(jié)點(diǎn)的數(shù)量為D。其他根據(jù)網(wǎng)絡(luò)狀況以及客戶端下載連接狀況進(jìn)行對(duì)直接鄰居節(jié)點(diǎn)的調(diào)整也是可以的,例如只設(shè)置上述Tl,Th其中的一個(gè)值,或不設(shè)置上述Tl,Th,當(dāng)上傳帶寬的當(dāng)前使用量U超過(guò)B1時(shí)對(duì)直接鄰居節(jié)點(diǎn)的個(gè)數(shù)進(jìn)行調(diào)整。通過(guò)上述實(shí)施例,實(shí)現(xiàn)了服務(wù)器根據(jù)客戶端的連接狀況以及網(wǎng)絡(luò)狀況對(duì)直接鄰居節(jié)點(diǎn)的個(gè)數(shù)進(jìn)行調(diào)整,從而充分利用網(wǎng)絡(luò)帶寬資源,將數(shù)據(jù)內(nèi)容提供給直接鄰居節(jié)點(diǎn),利用盡可能多的直接鄰居節(jié)點(diǎn)的上傳能力使得數(shù)據(jù)內(nèi)容更快的分發(fā)到P2P網(wǎng)絡(luò)當(dāng)中。根據(jù)本發(fā)明的另一實(shí)施例,服務(wù)器還可以承擔(dān)管理直接鄰居節(jié)點(diǎn)的角色。在實(shí)際應(yīng)用中,還可能存在多個(gè)存儲(chǔ)有數(shù)據(jù)內(nèi)容的服務(wù)器,其中一個(gè)服務(wù)器可以作為管理直接鄰居節(jié)點(diǎn)和非直接鄰導(dǎo)節(jié)點(diǎn)的管理服務(wù)器,或獨(dú)立設(shè)置一個(gè)管理服務(wù)器。管理服務(wù)器接收客戶端在上述實(shí)施例中發(fā)送的消息,例如客戶端上報(bào)的內(nèi)容分發(fā)能力消息,根據(jù)接收到的消息進(jìn)行處理,例如確定直接鄰居節(jié)點(diǎn)或確定非直接鄰居節(jié)點(diǎn),并將處理結(jié)果發(fā)送給存儲(chǔ)有數(shù)據(jù)內(nèi)容的服務(wù)器。例如將確定為直接鄰居節(jié)點(diǎn)的客戶端或確定為非直接鄰居節(jié)點(diǎn)的客戶端的記錄發(fā)送給存儲(chǔ)有數(shù)據(jù)內(nèi)容的服務(wù)器,以便于存儲(chǔ)有數(shù)據(jù)內(nèi)容的服務(wù)器為作為直接鄰居節(jié)點(diǎn)的客戶端提供數(shù)據(jù)內(nèi)容,以及拒絕為作為非直接鄰居節(jié)點(diǎn)的客戶端提供數(shù)據(jù)內(nèi)容。管理服務(wù)器還可以進(jìn)行直接鄰居節(jié)點(diǎn)更新處理,具體參考上述實(shí)施例的直接鄰居節(jié)點(diǎn)更新過(guò)程。管理服務(wù)器還可以根據(jù)對(duì)直接鄰居節(jié)點(diǎn)的管理,對(duì)于確定的直接鄰居節(jié)點(diǎn)和淘汰的直接鄰居節(jié)點(diǎn)發(fā)送相應(yīng)的通知消息。本發(fā)明實(shí)施例還提供一種服務(wù)器,參照?qǐng)D4,包括接收模塊401、確定模塊403,其中接收模塊401,用于接收客戶端發(fā)送的內(nèi)容分發(fā)能力消息,所述內(nèi)容分發(fā)能力消息中包含客戶端當(dāng)前的內(nèi)容分發(fā)能力。其中,所述內(nèi)容分發(fā)能力可以是客戶端對(duì)數(shù)據(jù)內(nèi)容的上傳速率和/或客戶端對(duì)數(shù)據(jù)內(nèi)容的內(nèi)容傳輸放大系數(shù);確定模塊;403,用于根據(jù)接收到的客戶端的當(dāng)前的內(nèi)容分發(fā)能力確定直接鄰居節(jié)點(diǎn)。在本發(fā)明另外的實(shí)施例中的服務(wù)器,仍然參照?qǐng)D4,服務(wù)器包括接收模塊401、確定模塊403和存儲(chǔ)模塊402,其中接收模塊401與前述實(shí)施例接收模塊401的功能相同;存儲(chǔ)模塊402,用于存儲(chǔ)每個(gè)數(shù)據(jù)內(nèi)容可以支持的直接鄰居節(jié)點(diǎn)數(shù)量閾值,確定模塊403根據(jù)客戶端當(dāng)前的內(nèi)容分發(fā)能力從大到小的順序以及設(shè)置的直接鄰居節(jié)點(diǎn)數(shù)量閾值,在滿足所述直接鄰居節(jié)點(diǎn)數(shù)量閾值的條件下,確定相應(yīng)數(shù)量的客戶端為直接鄰居節(jié)點(diǎn)。此外,在本實(shí)施例中,客戶端當(dāng)前的內(nèi)容分發(fā)能力為上傳速率。在本發(fā)明另外的實(shí)施例中的服務(wù)器,仍然參照?qǐng)D4,服務(wù)器包括接收模塊401、確定模塊403和存儲(chǔ)模塊402,其中接收模塊401與前述實(shí)施例接收模塊401的功能相同;存儲(chǔ)模塊402用于存儲(chǔ)可以支持的直接鄰居節(jié)點(diǎn)數(shù)量閾值以及設(shè)置的直接鄰居節(jié)點(diǎn)更新值;確定模塊403具體用于根據(jù)設(shè)置的直接鄰居節(jié)點(diǎn)數(shù)量閾值以及設(shè)置的直接鄰居節(jié)點(diǎn)更新值,在滿足所述直接鄰居節(jié)點(diǎn)數(shù)量閾值的條件下,根據(jù)作為非直接鄰居節(jié)點(diǎn)的客戶端的當(dāng)前內(nèi)容分發(fā)能力從大到小的順序,確定相應(yīng)更新值數(shù)量的非直接鄰居節(jié)點(diǎn)為直接鄰居節(jié)點(diǎn);以及根據(jù)作為直接鄰居節(jié)點(diǎn)的客戶端的當(dāng)前內(nèi)容分發(fā)能力從小到大的順序,確定相應(yīng)更新值數(shù)量的直接鄰居節(jié)點(diǎn)為非直接鄰居節(jié)點(diǎn)。。此外,在本實(shí)施例中,作為非直接鄰居節(jié)點(diǎn)的客戶端,其當(dāng)前內(nèi)容分發(fā)能力為上傳速率;所述作為直接鄰居節(jié)點(diǎn)的客戶端,其當(dāng)前內(nèi)容分發(fā)能力為內(nèi)容傳輸放大系數(shù)?;蛘咚械目蛻舳水?dāng)前的內(nèi)容分發(fā)能力都為上傳速率。在以上服務(wù)器的實(shí)施例中,確定模塊403具體確定直接鄰居節(jié)點(diǎn)的過(guò)程可以參考上述多個(gè)實(shí)施例所公開的服務(wù)器確定直接鄰居節(jié)點(diǎn)的過(guò)程,例如圖2所對(duì)應(yīng)的實(shí)施例步驟202所公開的確定過(guò)程,在此不再詳述。在以上服務(wù)器的實(shí)施例中,所述服務(wù)器還可以包括獲取模塊404、計(jì)算模塊405。其中,獲取模塊404,用于獲取數(shù)據(jù)內(nèi)容的上傳帶寬的當(dāng)前使用量;調(diào)整模塊405,用于根據(jù)所述上傳帶寬的當(dāng)前使用量調(diào)整直接鄰居節(jié)點(diǎn)的數(shù)量。其中,調(diào)整模塊405具體調(diào)整直接鄰居節(jié)點(diǎn)的數(shù)量的過(guò)程可以考上述多個(gè)實(shí)施例所公開的服務(wù)器調(diào)整直接鄰居節(jié)點(diǎn)的數(shù)量的過(guò)程,例如圖3所對(duì)應(yīng)的實(shí)施例的過(guò)程,在此不再詳述。在以上服務(wù)器的實(shí)施例中,所述服務(wù)器還可以包括發(fā)送模塊405,用于向確定為直接鄰居節(jié)點(diǎn)的客戶端發(fā)送連接通知和/或向確定為非直接鄰居節(jié)點(diǎn)的客戶端發(fā)送斷開連接通知。此外,對(duì)于本發(fā)明的其它實(shí)施例的服務(wù)器,例如管理服務(wù)器,仍然可以參照?qǐng)D4所對(duì)應(yīng)的實(shí)施例。。當(dāng)然,本發(fā)明實(shí)施例提供的服務(wù)器還可以實(shí)現(xiàn)圖2,圖3服務(wù)器能夠?qū)崿F(xiàn)的任何功能,在此不再一一詳述。本發(fā)明實(shí)施例還提供一種客戶端,如圖5所示,可以包括獲取模塊501、發(fā)送模塊502。獲取模塊501,用于獲取對(duì)數(shù)據(jù)內(nèi)容的內(nèi)容分發(fā)能力;其中,所述內(nèi)容分發(fā)能力可以是客戶端對(duì)數(shù)據(jù)內(nèi)容的上傳速率和/或客戶端對(duì)數(shù)據(jù)內(nèi)容的內(nèi)容傳輸放大系數(shù)。例如,如果客戶端為直接鄰居節(jié)點(diǎn),該獲取模塊501可以通過(guò)如下公式計(jì)算獲取內(nèi)容分發(fā)能力<formula>formulaseeoriginaldocumentpage13</formula>其中Bandwidthpeeri表示客戶端對(duì)數(shù)據(jù)內(nèi)容的上傳速率,即對(duì)其他客戶端的服務(wù)能力,獲取模塊501可以通過(guò)如下公式計(jì)算獲得該上傳速率Bandwidthpeen=上傳數(shù)據(jù)內(nèi)容總量/上傳時(shí)間BandWidth。s_peCT,表示客戶端從服務(wù)器上下載數(shù)據(jù)內(nèi)容的下載速率,獲取模塊501可以通過(guò)如下公式計(jì)算獲得該下載速率Bandwidthcs_peer=從服務(wù)器獲取的數(shù)據(jù)內(nèi)容總量/獲取時(shí)間獲得如果客戶端為非直接鄰居節(jié)點(diǎn),則客戶端的內(nèi)容分發(fā)能力為可以為,具體的對(duì)獲取內(nèi)容的分發(fā)能力可參考步驟201的介紹。發(fā)送模塊502,用于向服務(wù)器發(fā)送內(nèi)容分發(fā)能力消息,所述內(nèi)容分發(fā)能力消息中包含客戶端當(dāng)前的內(nèi)容分發(fā)能力,以便于服務(wù)器根據(jù)所述客戶端當(dāng)前的內(nèi)容分發(fā)能力確定直接鄰居節(jié)點(diǎn)。進(jìn)一步的,本發(fā)明實(shí)施例提供的客戶端還包括接收模塊503,用于接收服務(wù)器發(fā)送的連接通知或斷開連接通知。當(dāng)然,本發(fā)明實(shí)施例提供的客戶端還可以實(shí)現(xiàn)圖2,圖3的客戶端能夠?qū)崿F(xiàn)的任何功能,在此不再一一詳述。本發(fā)明實(shí)施例還提供一種系統(tǒng),包括客戶端601、服務(wù)器602。其中,客戶端601可以實(shí)現(xiàn)圖5所示客戶端的所有功能,服務(wù)器602可以實(shí)現(xiàn)圖4所示的服務(wù)器的所有功能,在此不再一一詳述。通過(guò)以上實(shí)施例的描述,本領(lǐng)域的技術(shù)人員可以清楚地了解到本發(fā)明可借助軟件加必需的通用硬件平臺(tái)的方式來(lái)實(shí)現(xiàn),當(dāng)然也可以通過(guò)硬件,但很多情況下前者是更佳的實(shí)施方式。基于這樣的理解,本發(fā)明實(shí)施例的技術(shù)方案本質(zhì)上或者說(shuō)對(duì)現(xiàn)有技術(shù)做出貢獻(xiàn)的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來(lái),該軟件產(chǎn)品存儲(chǔ)在一個(gè)存儲(chǔ)介質(zhì)中,包括若干指令用以使得移動(dòng)設(shè)備(可以是手機(jī),個(gè)人計(jì)算機(jī),媒體播放器等)執(zhí)行本發(fā)明各個(gè)實(shí)施例所述的方法。這里所稱的存儲(chǔ)介質(zhì),如ROM/RAM、磁盤、光盤等。顯然,本領(lǐng)域的技術(shù)人員可以對(duì)本發(fā)明進(jìn)行各種改動(dòng)和變型而不脫離本發(fā)明的精神和范圍。這樣,倘若本發(fā)明的這些修改和變型屬于本發(fā)明權(quán)利要求及其等同技術(shù)的范圍之內(nèi),則本發(fā)明也意圖包含這些改動(dòng)和變型在內(nèi)。權(quán)利要求一種確定直接鄰居節(jié)點(diǎn)的方法,其特征在于接收客戶端發(fā)送的內(nèi)容分發(fā)能力消息,所述內(nèi)容分發(fā)能力消息中包含客戶端當(dāng)前的內(nèi)容分發(fā)能力;根據(jù)客戶端當(dāng)前的內(nèi)容分發(fā)能力確定直接鄰居節(jié)點(diǎn)。2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述根據(jù)客戶端當(dāng)前的內(nèi)容分發(fā)能力確定直接鄰居節(jié)點(diǎn)具體包括根據(jù)客戶端當(dāng)前的內(nèi)容分發(fā)能力從大到小的順序以及設(shè)置的直接鄰居節(jié)點(diǎn)數(shù)量閾值,在滿足所述直接鄰居節(jié)點(diǎn)數(shù)量閾值的條件下,確定相應(yīng)數(shù)量的客戶端為直接鄰居節(jié)點(diǎn)。3.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述根據(jù)客戶端當(dāng)前的內(nèi)容分發(fā)能力確定直接鄰居節(jié)點(diǎn)具體包括根據(jù)設(shè)置的直接鄰居節(jié)點(diǎn)數(shù)量閾值以及設(shè)置的直接鄰居節(jié)點(diǎn)更新值,在滿足所述直接鄰居節(jié)點(diǎn)數(shù)量閾值的條件下,根據(jù)作為非直接鄰居節(jié)點(diǎn)的客戶端的當(dāng)前內(nèi)容分發(fā)能力從大到小的順序,確定相應(yīng)更新值數(shù)量的非直接鄰居節(jié)點(diǎn)為直接鄰居節(jié)點(diǎn);以及根據(jù)作為直接鄰居節(jié)點(diǎn)的客戶端的當(dāng)前內(nèi)容分發(fā)能力從小到大的順序,確定相應(yīng)更新值數(shù)量的直接鄰居節(jié)點(diǎn)為非直接鄰居節(jié)點(diǎn)。4.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述作為非直接鄰居節(jié)點(diǎn)的客戶端,其當(dāng)前內(nèi)容分發(fā)能力為上傳速率;所述作為直接鄰居節(jié)點(diǎn)的客戶端,其當(dāng)前內(nèi)容分發(fā)能力為內(nèi)容傳輸放大系數(shù)。5.根據(jù)權(quán)利要求2或3所述的方法,其特征在于,所述客戶端當(dāng)前的內(nèi)容分發(fā)能力為上傳速率。6.根據(jù)權(quán)利要求1-4任一所述的方法,其特征在于,還包括獲取數(shù)據(jù)內(nèi)容的上傳帶寬的當(dāng)前使用量;根據(jù)上傳帶寬的最低利用閾值或最高利用閾值,以及所述上傳帶寬的當(dāng)前使用量調(diào)整直接鄰居節(jié)點(diǎn)的數(shù)量。7.如權(quán)利要求6所述的方法,其特征在于,所述根據(jù)上傳帶寬的最低利用閾值或最高利用閾值,以及所述上傳帶寬的當(dāng)前使用量調(diào)整直接鄰居節(jié)點(diǎn)的數(shù)量具體為根據(jù)預(yù)設(shè)的上傳帶寬的最低利用率Tl和預(yù)設(shè)的為數(shù)據(jù)內(nèi)容分配上傳帶寬B1計(jì)算上傳帶寬的最低利用閾值Cl;如果所述上傳帶寬的最低利用閾值Cl大于上傳帶寬的當(dāng)前使用量U,則增加直接鄰居節(jié)點(diǎn)的數(shù)量;否則,根據(jù)預(yù)設(shè)的上傳帶寬的最高利用率Th和預(yù)設(shè)的為數(shù)據(jù)內(nèi)容分配上傳帶寬B1計(jì)算上傳帶寬的最高利用閾值C2,如果所述上傳帶寬的最高利用閾值C2小于上傳帶寬的當(dāng)前使用量U,則減少直接鄰居節(jié)點(diǎn)的數(shù)量。8.如權(quán)利要求7所述的方法,其特征在于所述增加直接鄰居節(jié)點(diǎn)的數(shù)量具體為根據(jù)預(yù)設(shè)的當(dāng)前數(shù)據(jù)內(nèi)容的直接鄰居節(jié)點(diǎn)的數(shù)量N以及預(yù)設(shè)的上傳帶寬的當(dāng)前使用量U,計(jì)算當(dāng)前直接鄰居節(jié)點(diǎn)的平均下載帶寬V;根據(jù)預(yù)設(shè)的上傳帶寬的最低利用閾值Cl和預(yù)設(shè)的上傳帶寬的當(dāng)前使用量U計(jì)算為數(shù)據(jù)內(nèi)容提供的剩余上傳帶寬L;根據(jù)所述數(shù)據(jù)內(nèi)容提供的剩余上傳帶寬L和所述當(dāng)前直接鄰居節(jié)點(diǎn)的平均下載帶寬V計(jì)算可增加直接鄰居節(jié)點(diǎn)的數(shù)量D;根據(jù)所述當(dāng)前數(shù)據(jù)內(nèi)容的直接鄰居節(jié)點(diǎn)的數(shù)量N及所述可增加直接鄰居節(jié)點(diǎn)的數(shù)量D計(jì)算增加直接鄰居節(jié)點(diǎn)后的數(shù)量E;判斷所述可以支持的直接鄰居節(jié)點(diǎn)數(shù)量閾值M大于或等于所述增加直接鄰居節(jié)點(diǎn)后的數(shù)量E,確定需要增加的直接鄰居節(jié)點(diǎn)的數(shù)量D;否則,根據(jù)所述可以支持的直接鄰居節(jié)點(diǎn)數(shù)量閾值M及所述當(dāng)前數(shù)據(jù)內(nèi)容的直接鄰居節(jié)點(diǎn)的數(shù)量N計(jì)算需要增加的直接鄰居節(jié)點(diǎn)的數(shù)量F,并確定需要增加的直接鄰居節(jié)點(diǎn)的數(shù)量為F。9.如權(quán)利要求7所述的方法,其特征在于所述減少直接鄰居節(jié)點(diǎn)的數(shù)量具體為根據(jù)所述上傳帶寬的最高利用率Th和為數(shù)據(jù)內(nèi)容分配上傳帶寬B1計(jì)算上傳帶寬的最高利用閾值C2;判斷當(dāng)前數(shù)據(jù)內(nèi)容的上傳帶寬的當(dāng)前使用量U大于上傳帶寬的最高利用閾值C2,并根據(jù)當(dāng)前數(shù)據(jù)內(nèi)容的直接鄰居節(jié)點(diǎn)的數(shù)量N以及上傳帶寬的當(dāng)前使用量U,計(jì)算當(dāng)前直接鄰居節(jié)點(diǎn)的平均下載帶寬V;服務(wù)器根據(jù)服務(wù)器上傳帶寬的當(dāng)前使用量U和為數(shù)據(jù)內(nèi)容分配上傳帶寬B1計(jì)算上傳帶寬的超出量E;根據(jù)上傳帶寬的超出量E以及平均下載帶寬V確定需要減少的直接鄰居節(jié)點(diǎn)的數(shù)量G。10.一種服務(wù)器,其特征在于,該服務(wù)器包括接收模塊,用于接收客戶端發(fā)送的內(nèi)容分發(fā)能力消息,所述內(nèi)容分發(fā)能力消息中包含客戶端當(dāng)前的內(nèi)容分發(fā)能力;確定模塊,用于根據(jù)客戶端當(dāng)前的內(nèi)容分發(fā)能力確定直接鄰居節(jié)點(diǎn)。11.根據(jù)權(quán)利要求10所述的服務(wù)器,其特征在于,該服務(wù)器還包括存儲(chǔ)模塊,用于存儲(chǔ)可以支持的直接鄰居節(jié)點(diǎn)數(shù)量閾值;其中所述確定模塊具體用于根據(jù)客戶端當(dāng)前的內(nèi)容分發(fā)能力從大到小的順序以及設(shè)置的直接鄰居節(jié)點(diǎn)數(shù)量閾值,在滿足所述直接鄰居節(jié)點(diǎn)數(shù)量閾值的條件下,確定相應(yīng)數(shù)量的客戶端為直接鄰居節(jié)點(diǎn)。12.根據(jù)權(quán)利要求10所述的服務(wù)器,其特征在于,該服務(wù)器還包括存儲(chǔ)模塊,用于存儲(chǔ)可以支持的直接鄰居節(jié)點(diǎn)數(shù)量閾值以及設(shè)置的直接鄰居節(jié)點(diǎn)更新值;所述確定模塊具體用于根據(jù)設(shè)置的直接鄰居節(jié)點(diǎn)數(shù)量閾值以及設(shè)置的直接鄰居節(jié)點(diǎn)更新值,在滿足所述直接鄰居節(jié)點(diǎn)數(shù)量閾值的條件下,根據(jù)作為非直接鄰居節(jié)點(diǎn)的客戶端的當(dāng)前內(nèi)容分發(fā)能力從大到小的順序,確定相應(yīng)更新值數(shù)量的非直接鄰居節(jié)點(diǎn)為直接鄰居節(jié)點(diǎn);以及根據(jù)作為直接鄰居節(jié)點(diǎn)的客戶端的當(dāng)前內(nèi)容分發(fā)能力從小到大的順序,確定相應(yīng)更新值數(shù)量的直接鄰居節(jié)點(diǎn)為非直接鄰居節(jié)點(diǎn)。13.根據(jù)權(quán)利要求12所述的服務(wù)器,其特征在于,所述作為非直接鄰居節(jié)點(diǎn)的客戶端,其當(dāng)前內(nèi)容分發(fā)能力為上傳速率;所述作為直接鄰居節(jié)點(diǎn)的客戶端,其當(dāng)前內(nèi)容分發(fā)能力為內(nèi)容傳輸放大系數(shù)。14.根據(jù)權(quán)利要求11或12所述的服務(wù)器,其特征在于,所述客戶端當(dāng)前的內(nèi)容分發(fā)能力為上傳速率。15.如權(quán)利要求10-13任一所述的,其特征在于還包括獲取模塊,用于獲取數(shù)據(jù)內(nèi)容的上傳帶寬的當(dāng)前使用量;調(diào)整模塊,用于根據(jù)所述上傳帶寬的當(dāng)前使用量調(diào)整直接鄰居節(jié)點(diǎn)的數(shù)量。16.根據(jù)權(quán)利要求12或13所述的服務(wù)器,其特征在于,還包括發(fā)送模塊,用于向確定為非直接鄰居節(jié)點(diǎn)的客戶端發(fā)送斷開連接通知,以及向確定為直接鄰居節(jié)點(diǎn)的客戶端發(fā)送連接通知。17.一種客戶端,其特征在于,客戶端包括獲取模塊,用于獲取對(duì)數(shù)據(jù)內(nèi)容的內(nèi)容分發(fā)能力;發(fā)送模塊,用于發(fā)送內(nèi)容分發(fā)能力消息,所述內(nèi)容分發(fā)能力消息中包含客戶端當(dāng)前的內(nèi)容分發(fā)能力;以便于服務(wù)器根據(jù)所述客戶端當(dāng)前的內(nèi)容分發(fā)能力確定直接鄰居節(jié)點(diǎn)。18.根據(jù)權(quán)利要求17所述的客戶端,其特征在于,還包括接收模塊用于接收服務(wù)器發(fā)送的連接通知或斷開連接通知。全文摘要本發(fā)明提供了一種確定直接鄰居節(jié)點(diǎn)的方法服務(wù)器和客戶端,包括接收客戶端發(fā)送的內(nèi)容分發(fā)能力消息,所述內(nèi)容分發(fā)能力消息中包含客戶端當(dāng)前的內(nèi)容分發(fā)能力;根據(jù)接收到的客戶端的當(dāng)前的內(nèi)容分發(fā)能力確定直接鄰居節(jié)點(diǎn)。該方法通過(guò)利用直接鄰居節(jié)點(diǎn)對(duì)數(shù)據(jù)內(nèi)容的內(nèi)容分發(fā)能力確定直接鄰居節(jié)點(diǎn),使得作為直接鄰居節(jié)點(diǎn)的客戶端可以很好的分發(fā)獲取到的數(shù)據(jù)內(nèi)容。文檔編號(hào)H04L29/08GK101808079SQ200910105428公開日2010年8月18日申請(qǐng)日期2009年2月12日優(yōu)先權(quán)日2009年2月12日發(fā)明者任立勇,侯孟書,戴芬,段翰聰申請(qǐng)人:華為技術(shù)有限公司
      網(wǎng)友詢問(wèn)留言 已有0條留言
      • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1