專利名稱:一種點(diǎn)對(duì)點(diǎn)通信方法、裝置及系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及通信技術(shù)領(lǐng)域,尤其涉及一種點(diǎn)對(duì)點(diǎn)通信方法、裝置及系統(tǒng)。
背景技術(shù):
點(diǎn)對(duì)點(diǎn)技術(shù)(peer-to-peer,P2P)又稱對(duì)等互聯(lián)網(wǎng)絡(luò)技術(shù),依賴網(wǎng)絡(luò)中參與者的 計(jì)算能力和帶寬,而不是把依賴都聚集在較少的幾臺(tái)服務(wù)器上,節(jié)點(diǎn)同時(shí)作為客戶端和 服務(wù)器端,所有的客戶端都能提供資源,包括帶寬,存儲(chǔ)空間和計(jì)算能力,這類網(wǎng)絡(luò)可 以用于多種用途,各種文件共享軟件已經(jīng)得到了廣泛的使用,包括eMule及eDonkey等 開源免費(fèi)的P2P文件共享軟件,在這些文件共享軟件中,客戶端可以通過(guò)與服務(wù)器建立 傳輸控制協(xié)議(TCP,Transmission Control Protocol)連接及用戶數(shù)據(jù)包協(xié)議(UDP,User Datagram Protocol)連接進(jìn)行通信,TCP是面向連接(連接導(dǎo)向)的、可靠的、基于字節(jié) 流的運(yùn)輸層通信協(xié)議,UDP是無(wú)連接的傳輸層協(xié)議,提供面向事務(wù)的簡(jiǎn)單不可靠信息傳 送服務(wù)?,F(xiàn)有技術(shù)中,客戶端在提供共享文件時(shí),需通過(guò)TCP連接向服務(wù)器發(fā)布共享文 件及該共享文件的信息,但客戶端都是只與一個(gè)服務(wù)器建立TCP連接進(jìn)行通信,而同其 他服務(wù)器建立UDP連接進(jìn)行通信,因此在共享文件時(shí),客戶端只通過(guò)TCP向該服務(wù)器發(fā) 布共享文件信息,但并不會(huì)向其他服務(wù)器發(fā)布共享文件信息。在上述現(xiàn)有技術(shù)中,由于客戶端在提供共享文件時(shí),只向一個(gè)與自身建立TCP 連接的服務(wù)器發(fā)布共享文件信息,造成下載該共享文件的客戶端較少,進(jìn)而影響到下載 該共享文件所有客戶端的下載速度和提供該共享文件客戶端的上傳速度。
發(fā)明內(nèi)容
本發(fā)明實(shí)施例提供了一種點(diǎn)對(duì)點(diǎn)通信方法、裝置及系統(tǒng),能夠提高客戶端下載 文件和上傳文件的速度。本發(fā)明實(shí)施例提供的點(diǎn)對(duì)點(diǎn)通信方法,包括獲取與各服務(wù)器的連接狀態(tài)信 息;根據(jù)所述連接狀態(tài)信息,判斷客戶端與所述各服務(wù)器進(jìn)行傳輸控制協(xié)議TCP連接的 連接數(shù)量是否達(dá)到第一預(yù)置門限值;若未達(dá)到所述第一預(yù)置門限值,則根據(jù)所述連接狀 態(tài)信息選擇至少一個(gè)與所述客戶端未建立TCP連接的服務(wù)器并與所述選擇的服務(wù)器建立 TCP連接;向與所述客戶端建立了 TCP連接的服務(wù)器發(fā)布共享文件信息。本發(fā)明實(shí)施例提供的點(diǎn)對(duì)點(diǎn)通信裝置,包括獲取單元,用于獲取與各服務(wù)器 的連接狀態(tài)信息;判斷單元,用于根據(jù)所述連接狀態(tài)信息,判斷客戶端與所述各服務(wù)器 進(jìn)行傳輸控制協(xié)議TCP連接的連接數(shù)量是否達(dá)到第一預(yù)置門限值;建立連接單元,用 于若未達(dá)到所述第一預(yù)置門限值,則根據(jù)所述連接狀態(tài)信息選擇至少一個(gè)與自身未建立 TCP連接的服務(wù)器并與所述選擇的服務(wù)器建立TCP連接;發(fā)布單元,用于向與所述客戶 端建立了 TCP連接的服務(wù)器發(fā)布共享文件信息。本發(fā)明實(shí)施例提供的點(diǎn)對(duì)點(diǎn)通信系統(tǒng),包括服務(wù)器以及上述客戶端。
從以上技術(shù)方案可以看出,本發(fā)明實(shí)施例具有以下優(yōu)點(diǎn)客戶端首先獲取與各 服務(wù)器的連接狀態(tài)信息,根據(jù)該連接狀態(tài)信息判斷與各服務(wù)器進(jìn)行TCP連接的連接數(shù)量 是否達(dá)到第一預(yù)置門限值,若未達(dá)到,則根據(jù)狀態(tài)連接信息至少選擇一個(gè)未與其自身建 立TCP連接的服務(wù)器,并與該選擇的服務(wù)器建立TCP連接,然后向所有與自身建立TCP 連接的服務(wù)器發(fā)布共享文件信息,由于本技術(shù)方案中,客戶端可與多個(gè)服務(wù)器進(jìn)行TCP 連接,增加下載該共享文件的客戶端,因此可提高下載該共享文件所有客戶端的下載速 度和提供該共享文件客戶端的上傳速度。
為了更清楚地說(shuō)明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或 現(xiàn)有技術(shù)描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見(jiàn)地,下面描述中的附圖僅僅 是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)性的前提 下,還可以根據(jù)這些附圖獲得其他的附圖。圖1為本發(fā)明實(shí)施例中點(diǎn)對(duì)點(diǎn)通信方法的一個(gè)實(shí)施例示意圖;圖2為本發(fā)明實(shí)施例中點(diǎn)對(duì)點(diǎn)通信方法的另一個(gè)實(shí)施例示意圖;圖3為現(xiàn)有技術(shù)中網(wǎng)絡(luò)連接示意圖;圖4為本發(fā)明實(shí)施例中點(diǎn)對(duì)點(diǎn)通信方法對(duì)網(wǎng)絡(luò)連接進(jìn)行優(yōu)化后的示意圖;圖5為本發(fā)明實(shí)施例中點(diǎn)對(duì)點(diǎn)通信方法的另一個(gè)實(shí)施例示意圖;圖6為本發(fā)明實(shí)施例中點(diǎn)對(duì)點(diǎn)通信裝置的一個(gè)實(shí)施例示意圖;圖7為本發(fā)明實(shí)施例中點(diǎn)對(duì)點(diǎn)通信系統(tǒng)的一個(gè)實(shí)施例示意圖。
具體實(shí)施例方式下面結(jié)合附圖和具體實(shí)施例進(jìn)一步說(shuō)明本發(fā)明實(shí)施例的技術(shù)方案,顯然,所描 述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施 例,本領(lǐng)域普通技術(shù)人員在沒(méi)有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬 于本發(fā)明保護(hù)的范圍。本發(fā)明實(shí)施例提供了一種點(diǎn)對(duì)點(diǎn)通信方法、裝置及系統(tǒng),客戶端可與多個(gè)服務(wù) 器進(jìn)行TCP連接,增加下載該共享文件的客戶端,用于提高下載該共享文件所有客戶端 的下載速度和提供該共享文件客戶端的上傳速度,下面對(duì)本發(fā)明實(shí)施例提供的點(diǎn)對(duì)點(diǎn)通 信方法、裝置及系統(tǒng)進(jìn)行詳細(xì)描述。在本發(fā)明實(shí)施例中,點(diǎn)對(duì)點(diǎn)通信協(xié)議以eMule協(xié)議為例,也可以應(yīng)用于其他點(diǎn) 對(duì)點(diǎn)協(xié)議中,例如eDonkey協(xié)議、Ares協(xié)議及BT協(xié)議等。請(qǐng)參閱圖1,本發(fā)明實(shí)施例的點(diǎn)對(duì)點(diǎn)通信方法的一個(gè)實(shí)施例包括101、獲取與各服務(wù)器的連接狀態(tài)信息;本發(fā)明實(shí)施例中,在客戶端增加了一個(gè)服務(wù)器連接池模塊,包括獲取單元、判 斷單元、建立連接單元、發(fā)布單元、控制單元及發(fā)送單元,負(fù)責(zé)同各服務(wù)器的連接,包 括TCP連接及UDP連接,并負(fù)責(zé)向服務(wù)器發(fā)布共享文件信息,當(dāng)客戶端其他模塊需要查 詢節(jié)點(diǎn)信息時(shí),必須通過(guò)該服務(wù)器連接池模塊進(jìn)行調(diào)度,由其決定何時(shí)發(fā)出TCP查詢信 息或UDP查詢信息。
首先,客戶端獲取與該客戶端有連接關(guān)系的各服務(wù)器的連接狀態(tài)信息,在連接 狀態(tài)信息中包括各服務(wù)器與客戶端進(jìn)行TCP連接及UDP連接的情況。需要說(shuō)明的是,與客戶端建立TCP連接的服務(wù)器可以稱作主服務(wù)器。102、判斷客戶端與各服務(wù)器進(jìn)行傳輸控制協(xié)議連接的連接數(shù)量是否達(dá)到第一預(yù) 置門限值;本發(fā)明實(shí)施例中,根據(jù)獲取的連接狀態(tài)信息,客戶端可以判斷其自身與各服務(wù) 器進(jìn)行TCP連接的連接數(shù)量(與主服務(wù)器的連接數(shù)量)是否達(dá)到第一預(yù)置門限值,由于 客戶端在發(fā)布共享文件信息時(shí),只會(huì)通過(guò)TCP向主服務(wù)器發(fā)布共享文件信息,而不會(huì)向 其他服務(wù)器發(fā)布,因此與客戶端自身進(jìn)行TCP連接的連接數(shù)量直接影響客戶端發(fā)布共享 文件信息。需要說(shuō)明的是,該第一預(yù)置門限值由系統(tǒng)設(shè)置,例如第一預(yù)置門限值可以設(shè)置 的范圍為300 500,若第一預(yù)置門限值設(shè)置過(guò)大,則因建立的TCP連接數(shù)量過(guò)多而占用 系統(tǒng)資源,若第一預(yù)置門限值設(shè)置過(guò)小,則因建立的TCP連接數(shù)量過(guò)少影響共享文件的 傳輸速度,該第一預(yù)置門限值具體可以根據(jù)實(shí)際應(yīng)用過(guò)程進(jìn)行設(shè)置,此處不作限定。若客戶端判斷自身與各服務(wù)器進(jìn)行TCP連接的連接數(shù)量是否達(dá)到第一預(yù)置門限 值的結(jié)果是未達(dá)到,則執(zhí)行步驟103。103、根據(jù)連接狀態(tài)信息選擇至少一個(gè)與客戶端未建立傳輸控制協(xié)議連接的服務(wù) 器并與其建立傳輸控制協(xié)議連接;如果客戶端判斷自身與各服務(wù)器進(jìn)行TCP連接的連接數(shù)量未達(dá)到第一預(yù)置門限 值,則查詢與各服務(wù)器的連接信息狀態(tài),根據(jù)連接信息狀態(tài)選擇與自身未建立TCP連接 的服務(wù)器并與其建立TCP連接。需要說(shuō)明的是,客戶端可以根據(jù)連接信息狀態(tài)選擇一個(gè)與自身未建立TCP連接 的服務(wù)器,并與其建立TCP連接,然后選擇下一個(gè)與自身未建立TCP連接的服務(wù)器進(jìn)行 TCP連接,直到與服務(wù)器進(jìn)行TCP連接的連接數(shù)量達(dá)到第一預(yù)置門限值,客戶端也可以 同時(shí)與多個(gè)服務(wù)器建立TCP連接以使得服務(wù)器進(jìn)行TCP連接的連接數(shù)量達(dá)到第一預(yù)置門 限值,具體建立連接的方式此處不作限定。需要進(jìn)一步說(shuō)明的是,選擇將要建立TCP連接的具體方式可以是根據(jù)客戶端發(fā) 出連接請(qǐng)求后服務(wù)器響應(yīng)速度的從快到慢進(jìn)行選擇,如優(yōu)先選擇響應(yīng)速度快的服務(wù)器建 立TCP連接,也可以是以其他選擇方式,如隨機(jī)選擇一個(gè)未與客戶端建立TCP連接的服 務(wù)器建立TCP連接,具體選擇方式與實(shí)際應(yīng)用過(guò)程相關(guān),此處不作限定。104、向與客戶端建立了傳輸控制協(xié)議連接的服務(wù)器發(fā)布共享文件信息。本發(fā)明實(shí)施例中,在步驟103中經(jīng)過(guò)建立TCP連接使得客戶端與服務(wù)器進(jìn)行 TCP連接的數(shù)量達(dá)到了第一預(yù)置門限值之后,客戶端可以向與自身建立了 TCP連接的服 務(wù)器發(fā)布共享文件信息,該共享文件信息包括共享文件的名稱、大小、發(fā)布時(shí)間以及所 存在的服務(wù)器等信息,其他客戶端可通過(guò)查詢?cè)摴蚕砦募畔⒉檎业剿斜4婀蚕砦募?的服務(wù)器,查找到的服務(wù)器越多,客戶端下載該共享文件時(shí)速度越快,客戶端向主服務(wù) 器發(fā)布共享文件信息的具體過(guò)程將在后續(xù)實(shí)施例中進(jìn)行詳細(xì)說(shuō)明。本發(fā)明實(shí)施例中,客戶端首先獲取與各服務(wù)器的連接狀態(tài)信息,再根據(jù)該連接 狀態(tài)信息判斷與各服務(wù)器進(jìn)行TCP連接的連接數(shù)量是否達(dá)到第一預(yù)置門限值,若未達(dá)到,則根據(jù)狀態(tài)連接信息選擇至少一個(gè)未與其自身建立TCP連接的服務(wù)器,并與該選擇 的服務(wù)器建立TCP連接,然后向所有與自身建立TCP連接的服務(wù)器發(fā)布共享文件信息, 由于客戶端可與更多的服務(wù)器進(jìn)行TCP連接,增加下載該共享文件的客戶端,因此可提 高下載該共享文件所有客戶端的下載速度和提供該共享文件客戶端的上傳速度,并且由 于可以向多個(gè)建立TCP連接的服務(wù)器發(fā)布共享文件信息,使得任何一個(gè)以其為主服務(wù)器 的客戶端都能夠在第一次的節(jié)點(diǎn)列表的查詢中得到節(jié)點(diǎn)地址,增加節(jié)點(diǎn)數(shù)量,進(jìn)而提高 下載該共享文件所有客戶端的下載速度和提供該共享文件客戶端的上傳速度。為了便于理解,下面以另一實(shí)施例對(duì)本發(fā)明實(shí)施例中的點(diǎn)對(duì)點(diǎn)通信方法進(jìn)行描 述,請(qǐng)參閱圖2,本發(fā)明實(shí)施例中點(diǎn)對(duì)點(diǎn)通信方法的另一個(gè)實(shí)施例包括201、獲取與各服務(wù)器的連接狀態(tài)信息;本發(fā)明實(shí)施例中,步驟201的內(nèi)容請(qǐng)參見(jiàn)前述圖1所示實(shí)施例中步驟101的相關(guān) 的描述內(nèi)容,此處不再贅述。202、判斷客戶端與各服務(wù)器進(jìn)行傳輸控制協(xié)議連接的連接數(shù)量是否達(dá)到第一預(yù) 置門限值;如果客戶端判斷自身與各服務(wù)器進(jìn)行TCP連接的連接數(shù)量未達(dá)到第一預(yù)置門限 值,則執(zhí)行步驟203,如果客戶端判斷自身與各服務(wù)器進(jìn)行TCP連接的連接數(shù)量達(dá)到第一 預(yù)置門限值,則執(zhí)行步驟204。具體判斷過(guò)程請(qǐng)參見(jiàn)上述圖1所示實(shí)施例中相關(guān)的描述內(nèi)容,此處不再贅述。203、根據(jù)連接狀態(tài)信息選擇至少一個(gè)與客戶端未建立傳輸控制協(xié)議連接的服務(wù) 器并與其建立傳輸控制協(xié)議連接;本發(fā)明實(shí)施例中,若在步驟202中,客戶端判斷自身與各服務(wù)器進(jìn)行TCP連接 的連接數(shù)量沒(méi)有達(dá)到第一預(yù)置門限值,則查詢與各服務(wù)器的連接信息狀態(tài),根據(jù)連接信 息狀態(tài)選擇與自身未建立TCP連接的服務(wù)器并與其建立TCP連接,建立TCP連接的具體 過(guò)程請(qǐng)參見(jiàn)上述圖1所示的實(shí)施例中的相關(guān)的描述內(nèi)容,此處不再贅述。當(dāng)客戶端與服務(wù)器建立的TCP連接的連接數(shù)量達(dá)到第一門限值,則執(zhí)行步驟 204。需要說(shuō)明的是,該第一預(yù)置門限值的具體設(shè)置與實(shí)際應(yīng)用過(guò)程相關(guān),此處不作 限定。需要進(jìn)一步說(shuō)明的是,選擇與自身未建立TCP連接的服務(wù)器的具體方式與實(shí)際 應(yīng)用過(guò)程相關(guān),此處不作限定。204、向所有與客戶端建立了傳輸控制協(xié)議連接的服務(wù)器發(fā)布共享文件信息;本發(fā)明實(shí)施例中,客戶端向所有與自身建立了 TCP連接的所有主服務(wù)器發(fā)布共 享文件信息。具體為,客戶端獲取主服務(wù)器上存有的共享文件信息,若客戶端在某個(gè)主服務(wù) 器上沒(méi)有獲取到共享文件信息,則可判斷出該主服務(wù)器上沒(méi)有共享文件,如果存在這樣 的主服務(wù)器,則客戶端向未發(fā)布共享文件的主服務(wù)器發(fā)布共享文件信息。 進(jìn)一步的,客戶端向除了建立TCP連接以外的其他所有服務(wù)器發(fā)送用戶數(shù)據(jù)包 協(xié)議UDP連接信息,請(qǐng)求與服務(wù)器建立UDP連接,除了與主服務(wù)器進(jìn)行通信以外,通過(guò) UDP連接方式也可以與其他服務(wù)器進(jìn)行通信,但不向除主服務(wù)器以外的其他服務(wù)器發(fā)布共享文件信息。需要說(shuō)明的是,客戶端向所有主服務(wù)器發(fā)布共享文件信息,可以是同時(shí)發(fā)布, 也可以經(jīng)過(guò)一定的時(shí)間間隔發(fā)布共享文件信息,具體發(fā)布方式與實(shí)際應(yīng)用過(guò)程有關(guān),此 處不作限定。205、查詢節(jié)點(diǎn)列表;首先,客戶端獲取本地下載的節(jié)點(diǎn)列表中的共享文件的節(jié)點(diǎn)數(shù)量信息,根據(jù)該 數(shù)量信息判斷節(jié)點(diǎn)數(shù)量是否小于第二預(yù)置門限值,如果小于,則選擇服務(wù)器發(fā)送查詢節(jié) 點(diǎn)的查詢信息。具體的,為防止被屏蔽,客戶端優(yōu)先選擇在一定時(shí)間內(nèi)向沒(méi)有查詢過(guò)節(jié)點(diǎn)列表 的主服務(wù)器發(fā)送查詢信息,如果沒(méi)有符合要求的主服務(wù)器,則客戶端向未建立TCP連接 的服務(wù)器發(fā)送UDP查詢信息,查詢未建立TCP連接的其他服務(wù)器上文件的節(jié)點(diǎn)列表。需要說(shuō)明的是,該第一時(shí)間可以由系統(tǒng)內(nèi)部程序設(shè)定,一般設(shè)置在1分鐘以 上,主要是防止過(guò)于頻繁發(fā)送查詢信息可能會(huì)被認(rèn)為是惡意發(fā)送信息而導(dǎo)致發(fā)送查詢信 息的客戶端被系統(tǒng)屏蔽,可根據(jù)實(shí)際情況具體設(shè)置,使得既不會(huì)因設(shè)置的時(shí)間過(guò)長(zhǎng)而影 響客戶端向主服務(wù)器發(fā)送查詢信息,也不會(huì)因設(shè)置的時(shí)間過(guò)短而使得客戶端被系統(tǒng)屏 蔽,具體時(shí)間不作限定。需要進(jìn)一步說(shuō)明的是,每次發(fā)出節(jié)點(diǎn)列表的查詢信息可以是等到所查詢的服務(wù) 器的回饋結(jié)果之后,再發(fā)送下一個(gè)查詢信息,也可以同時(shí)向多個(gè)服務(wù)器同時(shí)發(fā)送查詢信 息,等到所查詢的服務(wù)器的回饋結(jié)果再執(zhí)行后一個(gè)步驟,具體查詢情況與實(shí)際應(yīng)用過(guò)程 相關(guān),此處不作限定。206、判斷本地下載的節(jié)點(diǎn)列表中共享文件的節(jié)點(diǎn)數(shù)量是否超過(guò)第二預(yù)置門限 值;本發(fā)明實(shí)施例中,客戶端根據(jù)本地下載的節(jié)點(diǎn)列表中所顯示的信息,判斷本地 下載的節(jié)點(diǎn)列表中記載的共享文件的節(jié)點(diǎn)數(shù)量是否超過(guò)第二預(yù)置門限值,若超過(guò),則執(zhí) 行步驟207。需要說(shuō)明的是,該第二預(yù)置門限值由系統(tǒng)進(jìn)行設(shè)置,例如第二門限值設(shè)置可以 設(shè)置的范圍為200到幾千,可以等于也可以不等于第一預(yù)置門限值,由于節(jié)點(diǎn)數(shù)量影響 下載共享文件的速度,所以該第二預(yù)置門限值的具體設(shè)置與實(shí)際應(yīng)用中共享文件所要達(dá) 到的下載速度相關(guān),此處不作限定。207、停止查詢共享文件的節(jié)點(diǎn)數(shù)量。根據(jù)本地下載節(jié)點(diǎn)列表中共享文件的節(jié)點(diǎn)數(shù)量信息,當(dāng)共享文件的節(jié)點(diǎn)數(shù)量超 過(guò)第二預(yù)置門限值時(shí),客戶端不再向各服務(wù)器發(fā)送查詢節(jié)點(diǎn)列表的信息,停止查詢?cè)摴?享文件的節(jié)點(diǎn)數(shù)量,待到步驟206判斷本地下載的節(jié)點(diǎn)列表中記載的共享文件的節(jié)點(diǎn)數(shù) 量低于第二預(yù)置門限值時(shí),再向各服務(wù)器發(fā)送查詢節(jié)點(diǎn)列表的信息,啟動(dòng)查詢共享文件 的節(jié)點(diǎn)數(shù)量。本發(fā)明實(shí)施例中,客戶端獲取本地下載的節(jié)點(diǎn)列表中的共享文件的節(jié)點(diǎn)數(shù)量信 息,并判斷節(jié)點(diǎn)數(shù)量是否小于第二預(yù)置門限值,如果小于,則優(yōu)先選擇在一定時(shí)間內(nèi)向 沒(méi)有查詢過(guò)節(jié)點(diǎn)列表的主服務(wù)器進(jìn)行查詢,由于客戶端與主服務(wù)器是TCP方式的通信, 具有高可靠性,能夠確保傳輸數(shù)據(jù)的正確性,獲取節(jié)點(diǎn)列表的請(qǐng)求信息及服務(wù)器的響應(yīng)信息不會(huì)出現(xiàn)丟失和亂序,因此能夠有效避免導(dǎo)致客戶端喪失獲得大量節(jié)點(diǎn)的機(jī)會(huì)進(jìn)而 影響下載該共享文件所有客戶端的下載速度和提供該共享文件客戶端的上傳速度。如果 沒(méi)有符合要求的主服務(wù)器,則客戶端向未建立TCP連接的服務(wù)器發(fā)送UDP查詢信息,查 詢未建立TCP連接的其他服務(wù)器上文件的節(jié)點(diǎn)列表,能夠有效增加查詢到其他節(jié)點(diǎn)的機(jī) 會(huì),提高下載該共享文件所有客戶端的下載速度和提供該共享文件客戶端的上傳速度。 進(jìn)一步的,客戶端根據(jù)本地下載的節(jié)點(diǎn)列表中共享文件的節(jié)點(diǎn)數(shù)量信息,判斷本地下載 的節(jié)點(diǎn)列表中記載的共享文件的節(jié)點(diǎn)數(shù)量是否超過(guò)第二預(yù)置門限值,若超過(guò),表示節(jié)點(diǎn) 數(shù)量足夠多,不需要再與服務(wù)器建立TCP連接增加節(jié)點(diǎn),則客戶端將該共享文件的信息 從本地下載的節(jié)點(diǎn)列表中刪除,不再向各服務(wù)器查詢節(jié)點(diǎn)信息,可以提高查詢節(jié)點(diǎn)的效 率?,F(xiàn)有技術(shù)中的網(wǎng)絡(luò)圖請(qǐng)參見(jiàn)圖3,經(jīng)過(guò)本發(fā)明實(shí)施例優(yōu)化后的網(wǎng)絡(luò)圖請(qǐng)參見(jiàn)圖 4,其中,301及401均為eMule網(wǎng)絡(luò)服務(wù)器,302及402均為eMule網(wǎng)絡(luò)客戶端,303及 403均為eMule網(wǎng)絡(luò)中的節(jié)點(diǎn),eMule網(wǎng)絡(luò)服務(wù)器、eMule網(wǎng)絡(luò)客戶端以及eMule網(wǎng)絡(luò)中 的節(jié)點(diǎn)之間的連線中的實(shí)線表示TCP連接方式的連接,虛線表示其他連接方式的連接。為便于理解,下面以一具體應(yīng)用場(chǎng)景對(duì)客戶端的工作流程進(jìn)行詳細(xì)描述,請(qǐng)參 閱圖5,本發(fā)明實(shí)施例的點(diǎn)對(duì)點(diǎn)通信方法另一實(shí)施例包括501、獲取連接狀態(tài)信息;本實(shí)施例中的步驟501的內(nèi)容請(qǐng)參見(jiàn)前述圖1所示實(shí)施例中步驟101的相關(guān)的描 述內(nèi)容,此處不再贅述。需要說(shuō)明的是,其中,第一服務(wù)器可以為與客戶端建立TCP連接的服務(wù)器,第 二服務(wù)器可以為與客戶端未建立TCP連接的服務(wù)器,可以理解的是,在實(shí)際應(yīng)用中,服 務(wù)器還可以是其他類型的設(shè)備,如果應(yīng)用于Ares協(xié)議,客戶端與超級(jí)結(jié)點(diǎn)建立連接,如 果應(yīng)用于BT協(xié)議,客戶端與Tracker服務(wù)器建立連接,具體設(shè)備與實(shí)際應(yīng)用過(guò)程相關(guān), 具體此處不作限定。502、判斷客戶端與各服務(wù)器進(jìn)行傳輸控制協(xié)議連接的連接數(shù)量是否達(dá)到第一預(yù) 置門限值;客戶端可以根據(jù)獲取的連接狀態(tài)信息,判斷其自身與各服務(wù)器進(jìn)行TCP連接的 連接數(shù)量是否達(dá)到第一預(yù)置門限值。503、若未達(dá)到,則選擇與客戶端未建立傳輸控制協(xié)議連接的服務(wù)器并與其建立 傳輸控制協(xié)議連接;若客戶端判斷自身與各服務(wù)器進(jìn)行TCP連接的連接數(shù)量未達(dá)到第一預(yù)置門限 值,則選擇與自身未建立TCP連接的服務(wù)器并與其建立TCP連接,當(dāng)建立的TCP連接數(shù) 量達(dá)到第一預(yù)置門限值時(shí),向主服務(wù)器發(fā)布共享文件信息。504、若達(dá)到,則選擇與客戶端建立傳輸控制協(xié)議連接的服務(wù)器發(fā)布共享文件信 息;若客戶端根據(jù)獲取的連接狀態(tài)信息,判斷其自身與各服務(wù)器進(jìn)行TCP連接的連 接數(shù)量若達(dá)到第一預(yù)置門限值,則向主服務(wù)器發(fā)布共享文件信息,其他客戶端可通過(guò)查 詢?cè)摴蚕砦募畔⒉檎业剿斜4婀蚕砦募畔⒌姆?wù)器,查找到的服務(wù)器越多,客戶 端下載該共享文件時(shí)速度越快。
本發(fā)明實(shí)施例中,發(fā)布共享文件信息的具體過(guò)程請(qǐng)參見(jiàn)上述圖2所述實(shí)施例中 步驟204相關(guān)的描述內(nèi)容,此處不再贅述。505、查詢節(jié)點(diǎn)列表;首先,客戶端獲取本地下載的節(jié)點(diǎn)列表中的共享文件的節(jié)點(diǎn)數(shù)量信息,根據(jù)該 節(jié)點(diǎn)數(shù)量信息判斷節(jié)點(diǎn)數(shù)量是否小于第二預(yù)置門限值,如果小于,由于過(guò)于頻繁發(fā)送查 詢信息,客戶端有可能被當(dāng)作惡意發(fā)送信息而被系統(tǒng)屏蔽,所以客戶端優(yōu)先選擇在一定 時(shí)間內(nèi)向沒(méi)有查詢過(guò)節(jié)點(diǎn)列表的主服務(wù)器發(fā)送查詢信息,如果沒(méi)有符合要求的主服務(wù) 器,則客戶端向未建立TCP連接的服務(wù)器發(fā)送UDP查詢信息,查詢未建立TCP連接的其 他服務(wù)器上文件的節(jié)點(diǎn)列表。本發(fā)明實(shí)施例中,查詢節(jié)點(diǎn)列表的具體過(guò)程請(qǐng)參見(jiàn)上述圖2所述實(shí)施例中步驟 205相關(guān)的描述內(nèi)容,此處不再贅述。506、判斷本地下載的節(jié)點(diǎn)列表中的共享文件的節(jié)點(diǎn)數(shù)量是否超過(guò)第二預(yù)置門限 值,若停止查詢共享文件的節(jié)點(diǎn)數(shù)量。本發(fā)明實(shí)施例中,客戶端根據(jù)本地下載的節(jié)點(diǎn)列表中的共享文件的節(jié)點(diǎn)數(shù)量, 判斷某個(gè)共享文件的節(jié)點(diǎn)數(shù)量是否超過(guò)第二預(yù)置門限值,若超過(guò),表示節(jié)點(diǎn)數(shù)量足夠 多,不需要再與服務(wù)器建立TCP連接增加節(jié)點(diǎn),則客戶端不再向各服務(wù)器發(fā)送查詢節(jié)點(diǎn) 列表的信息,停止查詢共享文件的節(jié)點(diǎn)數(shù)量,待本地下載的節(jié)點(diǎn)列表中記載的共享文件 的節(jié)點(diǎn)數(shù)量低于第二預(yù)置門限值時(shí),再向各服務(wù)器發(fā)送查詢節(jié)點(diǎn)列表的信息,啟動(dòng)查詢 共享文件的節(jié)點(diǎn)數(shù)量。需要說(shuō)明的是,該第二預(yù)置門限值可以等于也可以不等于第一預(yù)置門限值,由 于節(jié)點(diǎn)數(shù)量影響下載共享文件的速度,所以該第二預(yù)置門限值的的具體設(shè)置與實(shí)際應(yīng)用 中共享文件所要達(dá)到的下載速度相關(guān),此處不作限定。下面對(duì)本發(fā)明實(shí)施例中點(diǎn)對(duì)點(diǎn)通信裝置進(jìn)行描述,請(qǐng)參閱圖6,本發(fā)明實(shí)施例中 點(diǎn)對(duì)點(diǎn)通信裝置的一個(gè)實(shí)施例包括獲取單元601,用于獲取與各服務(wù)器的連接狀態(tài)信息,獲取與客戶端建立TCP連 接的服務(wù)器上存有的共享文件信息,以及用于查詢本地下載節(jié)點(diǎn)列表中共享文件的節(jié)點(diǎn)
數(shù)量信息。判斷單元602,用于根據(jù)連接狀態(tài)信息,判斷客戶端與各服務(wù)器進(jìn)行傳輸控制協(xié) 議TCP連接的連接數(shù)量是否達(dá)到第一預(yù)置門限值,還用于根據(jù)所述節(jié)點(diǎn)數(shù)量信息判斷共 享文件的節(jié)點(diǎn)數(shù)量是否超過(guò)第二預(yù)置門限值,以及用于根據(jù)節(jié)點(diǎn)數(shù)量信息判斷共享文件 的節(jié)點(diǎn)數(shù)量是否小于第二預(yù)置門限值;建立連接單元603,用于若未達(dá)到該第一預(yù)置門限值,則根據(jù)連接狀態(tài)信息選擇 至少一個(gè)與客戶端未建立TCP連接的服務(wù)器并與該選擇的服務(wù)器建立TCP連接,還用于 向建立TCP連接的服務(wù)器發(fā)送TCP查詢信息,向未建立TCP連接的服務(wù)器發(fā)送UDP查 詢信息;發(fā)布單元604,用于向與客戶端建立了 TCP連接的服務(wù)器發(fā)布共享文件信息,還 用于根據(jù)共享文件信息,判斷是否存在未包含共享文件信息的服務(wù)器,若存在,則客戶 端向未包含共享文件信息的服務(wù)器發(fā)布共享文件信息。本發(fā)明實(shí)施例中的點(diǎn)對(duì)點(diǎn)通信裝置還可以進(jìn)一步包括
發(fā)送單元605,用于向除了建立TCP以外的所有服務(wù)器發(fā)送用戶數(shù)據(jù)包協(xié)議 UDP連接信息,向建立TCP連接的服務(wù)器發(fā)送TCP查詢信息,向除了建立TCP以外的所 有服務(wù)器發(fā)送UDP查詢信息,還用于若共享文件的節(jié)點(diǎn)數(shù)量小于第二預(yù)置門限值,則根 據(jù)與服務(wù)器建立連接的類型向各服務(wù)器發(fā)送TCP查詢信息以及UDP查詢信息。控制單元606,用于若所述文件的節(jié)點(diǎn)數(shù)量超過(guò)第二預(yù)置門限值,則停止查詢?cè)?共享文件的節(jié)點(diǎn)數(shù)量。為便于理解,下面以一具體應(yīng)用場(chǎng)景對(duì)本發(fā)明實(shí)施例中點(diǎn)對(duì)點(diǎn)通信裝置內(nèi)的各 單元之間的聯(lián)系進(jìn)行說(shuō)明本實(shí)施例中,獲取單元601首先獲取與各服務(wù)器的連接狀態(tài)信息,在連接狀態(tài) 信息中包括各服務(wù)器與客戶端進(jìn)行TCP連接及UDP連接的情況。需要說(shuō)明的是,與客戶端建立TCP連接的服務(wù)器可以稱作主服務(wù)器。判斷單元602根據(jù)連接狀態(tài)信息,判斷自身與各服務(wù)器進(jìn)行TCP連接的連接數(shù) 量是否達(dá)到第一預(yù)置門限值,具體判斷過(guò)程請(qǐng)參見(jiàn)上述圖1所示實(shí)施例中相關(guān)的描述內(nèi) 容,此處不再贅述。需要說(shuō)明的是,該第一預(yù)置門限值的具體設(shè)置與實(shí)際應(yīng)用過(guò)程有關(guān),可以根據(jù) 客戶端所需要的發(fā)布共享文件的預(yù)計(jì)速度任意設(shè)置,此處不作限定。如果判斷單元602判斷客戶端與各服務(wù)器進(jìn)行TCP連接的連接數(shù)量未達(dá)到第一 預(yù)置門限值,建立連接單元603選擇至少一個(gè)與自身未建立TCP連接的服務(wù)器并與其建 立TCP連接,并且當(dāng)建立的TCP連接數(shù)量達(dá)到該第一預(yù)置門限值時(shí),發(fā)布單元604向所 有主服務(wù)器發(fā)布共享文件信息,如果判斷單元602判斷客戶端與各服務(wù)器進(jìn)行TCP連接 的連接數(shù)量達(dá)到該第一預(yù)置門限值,也由發(fā)布單元604向所有主服務(wù)器發(fā)布共享文件信 肩、ο本實(shí)施例中,建立TCP連接的具體過(guò)程以及發(fā)布共享文件信息的具體過(guò)程請(qǐng)參 見(jiàn)上述圖2所述實(shí)施例中步驟204 205相關(guān)的描述內(nèi)容,此處不再贅述。需要說(shuō)明的是,發(fā)布單元604向所有主服務(wù)器發(fā)布共享文件信息,可以是同時(shí) 發(fā)布,也可以經(jīng)過(guò)一定的時(shí)間間隔發(fā)布共享文件信息,具體發(fā)布方式與實(shí)際應(yīng)用過(guò)程有 關(guān),此處不作限定。進(jìn)一步的,發(fā)送單元605向除了建立TCP連接以外的其他所有服務(wù)器發(fā)送UDP 連接信息,請(qǐng)求與服務(wù)器建立UDP連接,以便后續(xù)與建立UDP連接的服務(wù)器進(jìn)行通信。查詢節(jié)點(diǎn)列表時(shí),獲取單元601首先獲取本地下載的節(jié)點(diǎn)列表中的共享文件的 節(jié)點(diǎn)數(shù)量信息,根據(jù)該節(jié)點(diǎn)數(shù)量信息,判斷單元602判斷節(jié)點(diǎn)數(shù)量是否小于第二預(yù)置門 限值,如果小于,建立連接單元603優(yōu)先選擇在一定時(shí)間內(nèi)向沒(méi)有查詢過(guò)節(jié)點(diǎn)列表的主 服務(wù)器發(fā)送查詢信息,如果沒(méi)有符合要求的主服務(wù)器,則發(fā)送單元605向未建立TCP連 接的服務(wù)器發(fā)送UDP查詢信息,查詢未建立TCP連接的其他服務(wù)器上文件的節(jié)點(diǎn)列表。需要說(shuō)明的是,該一定時(shí)間可以由系統(tǒng)內(nèi)部程序設(shè)定,一般設(shè)置在1分鐘以 上,主要是防止過(guò)于頻繁發(fā)送查詢信息可能會(huì)被認(rèn)為是惡意發(fā)送信息而導(dǎo)致發(fā)送查詢信 息的客戶端被系統(tǒng)屏蔽,因此該一定時(shí)間可根據(jù)實(shí)際情況具體設(shè)置,既不會(huì)因設(shè)置的時(shí) 間過(guò)長(zhǎng)而影響建立單元603向主服務(wù)器發(fā)送查詢信息,也不會(huì)因設(shè)置的時(shí)間過(guò)短而使得 客戶端被系統(tǒng)屏蔽,具體時(shí)間此處不作限定。
進(jìn)一步的,每次發(fā)送單元605發(fā)出節(jié)點(diǎn)列表的查詢信息可以是等到所查詢的服 務(wù)器的回饋結(jié)果之后,再發(fā)送下一個(gè)查詢信息,也可以同時(shí)向多個(gè)服務(wù)器同時(shí)發(fā)送查詢 信息,等到所查詢的服務(wù)器的回饋結(jié)果再執(zhí)行后一個(gè)步驟,具體查詢情況與實(shí)際應(yīng)用過(guò) 程相關(guān),此處不作限定。本實(shí)施例中,判斷單元602根據(jù)獲取的本地下載的節(jié)點(diǎn)列表中的共享文件的節(jié) 點(diǎn)數(shù)量信息,判斷共享文件的節(jié)點(diǎn)數(shù)量是否超過(guò)第二預(yù)置門限值,若超過(guò),則表示節(jié)點(diǎn) 數(shù)量足夠多,不需要再與服務(wù)器建立TCP連接增加節(jié)點(diǎn),則控制單元606不再向服務(wù)器 發(fā)送查詢節(jié)點(diǎn)列表的信息,停止查詢?cè)摴蚕砦募墓?jié)點(diǎn)數(shù)量,待本地下載的節(jié)點(diǎn)列表中 記載的共享文件的節(jié)點(diǎn)數(shù)量低于第二預(yù)置門限值時(shí),再向各服務(wù)器發(fā)送查詢節(jié)點(diǎn)列表的 信息,啟動(dòng)查詢共享文件的節(jié)點(diǎn)數(shù)量。需要說(shuō)明的是,該第二預(yù)置門限值的具體設(shè)置與實(shí)際應(yīng)用過(guò)程相關(guān),此處不作 限定。本發(fā)明實(shí)施中,獲取單元601首先獲取與各服務(wù)器的連接狀態(tài)信息,根據(jù)該連 接狀態(tài)信息,判斷單元602判斷與各服務(wù)器進(jìn)行TCP連接的連接數(shù)量是否達(dá)到第一預(yù)置 門限值,若達(dá)到,由發(fā)布單元604向所有主服務(wù)器發(fā)布共享文件信息,若未達(dá)到,則建 立連接單元603根據(jù)狀態(tài)連接信息至少選擇一個(gè)未與其自身建立TCP連接的服務(wù)器,并 與該選擇的服務(wù)器建立TCP連接,當(dāng)建立的TCP連接數(shù)量達(dá)到該第一預(yù)置門限值時(shí),發(fā) 布單元604向所有主服務(wù)器發(fā)布共享文件信息,由于客戶端可與更多的服務(wù)器進(jìn)行TCP 連接,增加下載該共享文件的客戶端,因此可提高下載該共享文件所有客戶端的下載速 度和提供該共享文件客戶端的上傳速度,并且由于可以向多個(gè)建立TCP連接的服務(wù)器發(fā) 布共享文件信息,使得任何一個(gè)以其為主服務(wù)器的客戶端都能夠在第一次的節(jié)點(diǎn)列表的 查詢中得到節(jié)點(diǎn)地址,增加節(jié)點(diǎn)數(shù)量,進(jìn)而提高下載該共享文件所有客戶端的下載速度 和提供該共享文件客戶端的上傳速度。進(jìn)一步的,判斷單元602根據(jù)獲取單元601獲取 的本地下載的節(jié)點(diǎn)列表中的共享文件的節(jié)點(diǎn)數(shù)量信息,判斷某個(gè)共享文件的節(jié)點(diǎn)數(shù)量是 否超過(guò)第二預(yù)置門限值,若超過(guò),表示節(jié)點(diǎn)數(shù)量足夠多,不需要再與服務(wù)器建立TCP連 接增加節(jié)點(diǎn),則刪除單元606停止查詢共享文件的節(jié)點(diǎn)數(shù)量,可以提高查詢節(jié)點(diǎn)列表信 息的效率。下面介紹本發(fā)明實(shí)施例中的點(diǎn)對(duì)點(diǎn)通信系統(tǒng),請(qǐng)參閱圖7,本發(fā)明實(shí)施例中的點(diǎn) 對(duì)點(diǎn)通訊系統(tǒng)的一個(gè)實(shí)施例包括客戶端701以及服務(wù)器702 ;其中,客戶端701用于獲取與各服務(wù)器的連接狀態(tài)信息,根據(jù)連接狀態(tài)信息, 判斷自身與所述各服務(wù)器進(jìn)行傳輸控制協(xié)議TCP連接的連接數(shù)量是否達(dá)到第一預(yù)置門 限值,若未達(dá)到所述第一預(yù)置門限值,則根據(jù)連接狀態(tài)信息選擇至少一個(gè)與自身未建立 TCP連接的服務(wù)器并與選擇的服務(wù)器建立TCP連接,向與自身建立了 TCP連接的服務(wù)器 發(fā)布共享文件信息。本發(fā)明實(shí)施例中,客戶端701具體執(zhí)行過(guò)程請(qǐng)參見(jiàn)前述圖2所示實(shí)施例中相關(guān)部 分的描寫,此處不再贅述。服務(wù)器702是網(wǎng)絡(luò)環(huán)境中的高性能計(jì)算機(jī),它接收網(wǎng)絡(luò)上的其他計(jì)算機(jī)(客戶 端)提交的服務(wù)請(qǐng)求,并提供相應(yīng)的服務(wù),是管理資源并為用戶提供服務(wù)的計(jì)算機(jī),服務(wù)器的具體工作過(guò)程為公知常識(shí),此處不再贅述。本領(lǐng)域普通技術(shù)人員可以理解實(shí)現(xiàn)上述實(shí)施例方法中的全部或部分步驟是可以 通過(guò)程序來(lái)指令相關(guān)的硬件完成,所述的程序可以存儲(chǔ)于一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)中, 上述提到的存儲(chǔ)介質(zhì)可以是只讀存儲(chǔ)器,磁盤或光盤等。以上對(duì)本發(fā)明所提供的一種點(diǎn)對(duì)點(diǎn)通信的方法、裝置及系統(tǒng)進(jìn)行了詳細(xì)介紹, 對(duì)于本領(lǐng)域的一般技術(shù)人員,依據(jù)本發(fā)明實(shí)施例的思想,在具體實(shí)施方式
及應(yīng)用范圍上 均會(huì)有改變之處,綜上所述,本說(shuō)明書內(nèi)容不應(yīng)理解為對(duì)本發(fā)明的限制。
權(quán)利要求
1.一種點(diǎn)對(duì)點(diǎn)通信方法,其特征在于,包括 獲取與各服務(wù)器的連接狀態(tài)信息;根據(jù)所述連接狀態(tài)信息,判斷客戶端與所述各服務(wù)器進(jìn)行傳輸控制協(xié)議TCP連接的 連接數(shù)量是否達(dá)到第一預(yù)置門限值;若未達(dá)到所述第一預(yù)置門限值,則根據(jù)所述連接狀態(tài)信息選擇至少一個(gè)與所述客戶 端未建立TCP連接的服務(wù)器,并與所述選擇的服務(wù)器建立TCP連接; 向與所述客戶端建立了 TCP連接的服務(wù)器發(fā)布共享文件信息。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,若達(dá)到所述第一預(yù)置門限值,則向所有 與所述客戶端建立了 TCP連接的服務(wù)器發(fā)布共享文件信息。
3.根據(jù)權(quán)利要求1或2所述的方法,其特征在于,所述方法還包括向除了建立TCP連接以外的所有服務(wù)器發(fā)送用戶數(shù)據(jù)包協(xié)議UDP連接信息,所述連 接信息用于與所述除了建立TCP連接以外的所有服務(wù)器建立UDP連接。
4.根據(jù)權(quán)利要求1或2所述的方法,其特征在于,所述向與客戶端建立了TCP連接 的服務(wù)器發(fā)布共享文件信息包括獲取與所述客戶端建立TCP連接的服務(wù)器上存有的共享文件信息; 根據(jù)所述共享文件信息,判斷是否存在未包含所述共享文件信息的服務(wù)器,若存 在,則向所述未包含所述共享文件信息的服務(wù)器發(fā)布共享文件信息。
5.根據(jù)權(quán)利要求1或2所述的方法,其特征在于,所述方法進(jìn)一步包括 獲取本地下載的節(jié)點(diǎn)列表中共享文件的節(jié)點(diǎn)數(shù)量信息;根據(jù)所述節(jié)點(diǎn)數(shù)量信息,判斷所述共享文件的節(jié)點(diǎn)數(shù)量是否小于第二預(yù)置門限值; 若小于,則向各服務(wù)器發(fā)送查詢信息,所述查詢信息用于查詢所述共享文件的節(jié)點(diǎn) 列表。
6.根據(jù)權(quán)利要求5所述的方法,其特征在于,所述方法還包括根據(jù)所述節(jié)點(diǎn)數(shù)量信息,判斷所述共享文件的節(jié)點(diǎn)數(shù)量是否超過(guò)第二預(yù)置門限值, 若超過(guò),則客戶端停止查詢所述共享文件的節(jié)點(diǎn)數(shù)量。
7.根據(jù)權(quán)利要求5所述的方法,其特征在于,所述客戶端向各服務(wù)器發(fā)送查詢信息包括向建立TCP連接的服務(wù)器發(fā)送TCP查詢信息,向除了建立TCP連接以外的所有服務(wù) 器發(fā)送UDP查詢信息。
8.—種點(diǎn)對(duì)點(diǎn)通信裝置,其特征在于,包括 獲取單元,用于獲取與各服務(wù)器的連接狀態(tài)信息;判斷單元,用于根據(jù)所述連接狀態(tài)信息,判斷客戶端與所述各服務(wù)器進(jìn)行傳輸控制 協(xié)議TCP連接的連接數(shù)量是否達(dá)到第一預(yù)置門限值;建立連接單元,用于若未達(dá)到所述第一預(yù)置門限值,則根據(jù)所述連接狀態(tài)信息選擇 至少一個(gè)與自身未建立TCP連接的服務(wù)器并與所述選擇的服務(wù)器建立TCP連接; 發(fā)布單元,用于向與所述客戶端建立了 TCP連接的服務(wù)器發(fā)布共享文件信息。
9.根據(jù)權(quán)利要求8所述的裝置,其特征在于,所述發(fā)布單元還用于,若達(dá)到所述第一預(yù)置門限值,則向所有與所述客戶端建立了 TCP連接的服務(wù)器發(fā)布共享文件信息;所述獲取單元還用于,獲取與所述客戶端建立TCP連接的服務(wù)器上存有的共享文件 fn息;所述發(fā)布單元還用于,根據(jù)所述共享文件信息,判斷是否存在未包含所述共享文 件信息的服務(wù)器,若存在,則向所述未包含所述共享文件信息的服務(wù)器發(fā)布共享文件信 肩、O
10.根據(jù)權(quán)利要求8或9所述的裝置,其特征在于,所述裝置還包括發(fā)送單元,用于向除了建立TCP連接以外的所有服務(wù)器發(fā)送用戶數(shù)據(jù)包協(xié)議UDP連 接信息;所述獲取單元還用于,獲取本地下載的節(jié)點(diǎn)列表中共享文件的節(jié)點(diǎn)數(shù)量信息; 所述判斷單元還用于,根據(jù)所述節(jié)點(diǎn)數(shù)量信息判斷所述共享文件的節(jié)點(diǎn)數(shù)量是否小于第二預(yù)置門限值;所述發(fā)送單元還用于,若共享文件的節(jié)點(diǎn)數(shù)量小于第二預(yù)置門限值,則向各服務(wù)器 發(fā)送查詢信息。
11.根據(jù)權(quán)利要求8所述的裝置,其特征在于,所述發(fā)送單元還用于,向建立TCP連接的服務(wù)器發(fā)送TCP查詢信息,向除了建立 TCP連接以外的所有服務(wù)器發(fā)送UDP查詢信息。
12.—種點(diǎn)對(duì)點(diǎn)通信系統(tǒng),其特征在于,包括服務(wù)器以及如權(quán)利要求8至11任意一項(xiàng)所述的客戶端。
全文摘要
本發(fā)明實(shí)施例公開了一種點(diǎn)對(duì)點(diǎn)通信方法、裝置及系統(tǒng),用于提高客戶端下載文件和上傳文件的速度。本發(fā)明實(shí)施例方法包括根據(jù)客戶端獲取的與各服務(wù)器的連接狀態(tài)信息,判斷客戶端與各服務(wù)器進(jìn)行TCP連接的連接數(shù)量是否達(dá)到第一預(yù)置門限值,若未達(dá)到則選擇至少一個(gè)與客戶端未建立TCP連接的服務(wù)器建立TCP連接,向與客戶端建立了TCP連接的服務(wù)器發(fā)布共享文件信息。本發(fā)明實(shí)施例能夠有效提高客戶端下載文件和上傳文件的速度。
文檔編號(hào)H04L29/06GK102025782SQ20101057903
公開日2011年4月20日 申請(qǐng)日期2010年12月8日 優(yōu)先權(quán)日2010年12月8日
發(fā)明者宿俊 申請(qǐng)人:成都市華為賽門鐵克科技有限公司