專利名稱:一種基于互聯(lián)網(wǎng)的文件分發(fā)系統(tǒng)及方法
技術(shù)領(lǐng)域:
本發(fā)明屬于網(wǎng)絡(luò)通信技術(shù)領(lǐng)域,涉及一種基于互聯(lián)網(wǎng)的文件分發(fā)系統(tǒng)及方法。
背景技術(shù):
隨著網(wǎng)絡(luò)的普及,一些基于傳統(tǒng)媒介(光盤、磁帶等)的信息(影視、音樂等)逐
漸以網(wǎng)絡(luò)作為傳播的媒介。這些網(wǎng)絡(luò)資源往往以較大的文件形式出現(xiàn),供大家下載。方便、
高效且可靠地獲取這類網(wǎng)絡(luò)文件是當(dāng)今網(wǎng)絡(luò)技術(shù)一個(gè)值得探索的課題。隨著連接網(wǎng)絡(luò)的
終端數(shù)量急劇增加和網(wǎng)絡(luò)結(jié)構(gòu)的多樣化與復(fù)雜化,傳統(tǒng)的集中式文件分發(fā)模式面臨著伸縮
性、連接突發(fā)性、可控性和可靠性等問題,因此迫切需要研究新的應(yīng)用模式。 傳統(tǒng)的集中式文件分發(fā)模式如圖一所示。當(dāng)有一個(gè)較大的文件要通過網(wǎng)絡(luò)向位置
分散的用戶分發(fā)時(shí),系統(tǒng)會(huì)把要發(fā)布的文件上傳到Web服務(wù)器或FTP服務(wù)器上,然后通知用
戶從該中心服務(wù)器下載文件。服務(wù)器承擔(dān)了全部的上傳(服務(wù)器向下載者傳遞文件)開銷,
它的處理能力和傳輸速率是影響文件分發(fā)速度的瓶頸。隨著用戶數(shù)量的增多,每個(gè)用戶可
獲得的下載速度將會(huì)降低,同時(shí)服務(wù)器也會(huì)因負(fù)載過大而宕機(jī)。因此很多服務(wù)器都會(huì)限制
用戶人數(shù)和下載速度,給用戶帶來諸多不便。 近年來也發(fā)展有根據(jù)業(yè)務(wù)覆蓋范圍分發(fā)網(wǎng)絡(luò)文件的分發(fā)方法,如申請(qǐng)?zhí)枮?200910084776. 5的專利文獻(xiàn),這種方法雖然緩解了總服務(wù)器的開銷和壓力,但增加了大量 的中間服務(wù)器,同時(shí)也使文件的分發(fā)路徑變得繁瑣,不利于分發(fā)速度的提高。專利申請(qǐng)?zhí)枮?200810103137. 4的專利文獻(xiàn)公開了一種分時(shí)下載的方法來減輕服務(wù)器的壓力,但這種方法 在減輕服務(wù)器壓力的同時(shí)也限制了下載的時(shí)間,這與用戶想實(shí)時(shí)下載的意愿相違背,不能 滿足未來的發(fā)展需要。
發(fā)明內(nèi)容
本發(fā)明所要解決的技術(shù)問題是提供一種基于互聯(lián)網(wǎng)的文件分發(fā)系統(tǒng),可緩解文 件分發(fā)服務(wù)器的壓力,提高分發(fā)文件的效率和可靠性。 另外,本發(fā)明還提供一種上述基于互聯(lián)網(wǎng)的文件分發(fā)系統(tǒng)的文件分發(fā)方法。
為解決上述技術(shù)問題,本發(fā)明采用如下技術(shù)方案。 —種基于互聯(lián)網(wǎng)的文件分發(fā)系統(tǒng)包括中心服務(wù)器,至少一關(guān)聯(lián)服務(wù)器,至少一客 戶端;所述中心服務(wù)器與至少一個(gè)關(guān)聯(lián)服務(wù)器相連,用以從關(guān)聯(lián)服務(wù)器接收文件或向關(guān)聯(lián) 服務(wù)器發(fā)送文件;所述關(guān)聯(lián)服務(wù)器與至少一個(gè)客戶端相連,用以向客戶端下發(fā)文件或接受 客戶端上傳的文件;所述客戶端與關(guān)聯(lián)服務(wù)器相連。 作為本發(fā)明的一種優(yōu)選方案,所述客戶端僅連有一個(gè)關(guān)聯(lián)服務(wù)器。 作為本發(fā)明的另一種優(yōu)選方案,所述客戶端連有多個(gè)關(guān)聯(lián)服務(wù)器。 作為本發(fā)明的再一種優(yōu)選方案,所述系統(tǒng)還包括服務(wù)器控制端,所述服務(wù)器控制
端分別與中心服務(wù)器和關(guān)聯(lián)服務(wù)器相連,用以管理和調(diào)度所有服務(wù)器的訪問。 作為本發(fā)明的再一種優(yōu)選方案,所述客戶端采用P2P方式與其他客戶端直接通信。
—種基于互聯(lián)網(wǎng)的文件分發(fā)方法包括以下步驟 步驟A,客戶端與關(guān)聯(lián)服務(wù)器相連,并向關(guān)聯(lián)服務(wù)器上傳文件; 步驟B,關(guān)聯(lián)服務(wù)器接收客戶端上傳的文件,并將文件上傳至中心服務(wù)器; 步驟C,中心服務(wù)器從關(guān)聯(lián)服務(wù)器接收文件,并將文件發(fā)送至所有的關(guān)聯(lián)服務(wù)器; 步驟D,客戶端選擇接收或拒絕關(guān)聯(lián)服務(wù)器的文件。 作為本發(fā)明的一種優(yōu)選方案,所述方法的具體步驟為 步驟一,客戶端讀取文件相關(guān)信息,生成文件列表數(shù)據(jù)包上傳到自己所屬的關(guān)聯(lián) 服務(wù)器; 步驟二,自己所屬的關(guān)聯(lián)服務(wù)器根據(jù)所述文件列表數(shù)據(jù)包增加文件列表數(shù)據(jù),并 將文件列表數(shù)據(jù)上傳到中心服務(wù)器; 步驟三,中心服務(wù)器獲得文件列表數(shù)據(jù)后,主動(dòng)向客戶端請(qǐng)求文件; 步驟四,客戶端收到請(qǐng)求后將文件數(shù)據(jù)上傳至中心服務(wù)器; 步驟五,中心服務(wù)器將文件數(shù)據(jù)和文件列表數(shù)據(jù)分發(fā)給所有關(guān)聯(lián)服務(wù)器; 步驟六,關(guān)聯(lián)服務(wù)器接收完文件數(shù)據(jù)和文件列表數(shù)據(jù)后,將文件列表數(shù)據(jù)分發(fā)給
其下的所有客戶端; 步驟七,客戶端向自己所屬的關(guān)聯(lián)服務(wù)器發(fā)送同意接收文件請(qǐng)求,自己所屬的關(guān) 聯(lián)服務(wù)器向客戶端發(fā)送文件數(shù)據(jù)。 作為本發(fā)明的另一種優(yōu)選方案,所述方法還包括服務(wù)器控制端,所述服務(wù)器控制
端分別與中心服務(wù)器和關(guān)聯(lián)服務(wù)器相連,用以管理和調(diào)度所有服務(wù)器的訪問。 作為本發(fā)明的再一種優(yōu)選方案,所述客戶端采用P2P方式與其他客戶端直接通信。 作為本發(fā)明的再一種優(yōu)選方案,所述方法還包括將客戶端文件與服務(wù)器文件進(jìn)行 對(duì)比,判斷是否為同一文件;所述對(duì)比的方法包括文件名對(duì)比,文件大小對(duì)比和文件內(nèi)容對(duì) 比。 本發(fā)明的有益效果在于它分發(fā)路徑簡(jiǎn)捷,大大緩解了文件分發(fā)服務(wù)器的壓力,提 高了分發(fā)文件的效率和可靠性,且支持?jǐn)帱c(diǎn)續(xù)傳,使文件上傳和下載都可以暫?;蚶^續(xù)。
圖1為傳統(tǒng)集中式文件分發(fā)示意圖; 圖2為本發(fā)明的系統(tǒng)結(jié)構(gòu)示意圖; 圖3為實(shí)施例3中服務(wù)器控制端的連接示意圖; 圖4為實(shí)施例4的系統(tǒng)結(jié)構(gòu)示意圖。
具體實(shí)施例方式
下面結(jié)合附圖對(duì)本發(fā)明的具體實(shí)施方式
作進(jìn)一步詳細(xì)說明。 對(duì)于大量客戶端和大量數(shù)據(jù)文件時(shí),文件分發(fā)的效率和可靠性將完全依賴服務(wù)器
端的處理能力和網(wǎng)絡(luò)的帶寬。 實(shí)施例一
—種基于互聯(lián)網(wǎng)的文件分發(fā)系統(tǒng)包括中心服務(wù)器,至少一關(guān)聯(lián)服務(wù)器,至少一客 戶端;所述中心服務(wù)器與至少一個(gè)關(guān)聯(lián)服務(wù)器相連,用以從關(guān)聯(lián)服務(wù)器接收文件或向關(guān)聯(lián) 服務(wù)器發(fā)送文件;所述關(guān)聯(lián)服務(wù)器與至少一個(gè)客戶端相連,用以向客戶端下發(fā)文件或接受 客戶端上傳的文件;所述客戶端與關(guān)聯(lián)服務(wù)器相連。 所述客戶端僅連有一個(gè)關(guān)聯(lián)服務(wù)器。所述客戶端連有多個(gè)關(guān)聯(lián)服務(wù)器。所述系統(tǒng)
還包括服務(wù)器控制端,所述服務(wù)器控制端分別與中心服務(wù)器和關(guān)聯(lián)服務(wù)器相連,用以管理
和調(diào)度所有服務(wù)器的訪問。所述客戶端采用P2P方式與其他客戶端直接通信。 —種基于互聯(lián)網(wǎng)的文件分發(fā)方法包括以下步驟 步驟A,客戶端與關(guān)聯(lián)服務(wù)器相連,并向關(guān)聯(lián)服務(wù)器上傳文件; 步驟B,關(guān)聯(lián)服務(wù)器接收客戶端上傳的文件,并將文件上傳至中心服務(wù)器; 步驟C,中心服務(wù)器從關(guān)聯(lián)服務(wù)器接收文件,并將文件發(fā)送至所有的關(guān)聯(lián)服務(wù)器; 步驟D,客戶端選擇接收或拒絕關(guān)聯(lián)服務(wù)器的文件。
所述方法的具體步驟為 步驟一,客戶端讀取文件相關(guān)信息,生成文件列表數(shù)據(jù)包(指把文件列表數(shù)據(jù)打 成多個(gè)包在網(wǎng)絡(luò)下傳輸)上傳到自己所屬的關(guān)聯(lián)服務(wù)器; 步驟二,自己所屬的關(guān)聯(lián)服務(wù)器根據(jù)所述文件列表數(shù)據(jù)包增加文件列表數(shù)據(jù),并 將文件列表數(shù)據(jù)上傳到中心服務(wù)器; 步驟三,中心服務(wù)器獲得文件列表數(shù)據(jù)后,主動(dòng)向客戶端請(qǐng)求文件; 步驟四,客戶端收到請(qǐng)求后將文件數(shù)據(jù)上傳至中心服務(wù)器; 步驟五,中心服務(wù)器將文件數(shù)據(jù)和文件列表數(shù)據(jù)分發(fā)給所有關(guān)聯(lián)服務(wù)器; 步驟六,關(guān)聯(lián)服務(wù)器接收完文件數(shù)據(jù)和文件列表數(shù)據(jù)后,將文件列表數(shù)據(jù)分發(fā)給
其下的所有客戶端; 步驟七,客戶端向自己所屬的關(guān)聯(lián)服務(wù)器發(fā)送同意接收文件請(qǐng)求,自己所屬的關(guān) 聯(lián)服務(wù)器向客戶端發(fā)送文件數(shù)據(jù)。 所述方法還包括服務(wù)器控制端,所述服務(wù)器控制端分別與中心服務(wù)器和關(guān)聯(lián)服務(wù) 器相連,用以管理和調(diào)度所有服務(wù)器的訪問。所述客戶端采用P2P方式與其他客戶端直接 通信。所述方法還包括將客戶端文件與服務(wù)器文件進(jìn)行對(duì)比,判斷是否為同一文件;所述對(duì) 比的方法包括文件名對(duì)比,文件大小對(duì)比和文件內(nèi)容對(duì)比。
實(shí)施例二 本實(shí)施例所述方法采用數(shù)據(jù)傳輸服務(wù)端(DTS)和數(shù)據(jù)傳輸客戶端(DTC)兩端組 成,DTS由一個(gè)中心DTS和多個(gè)關(guān)聯(lián)DTS組成,中心DTS包含所有關(guān)聯(lián)DTS的地址和端口等 信息。 如圖2所示,DTC上傳文件時(shí),先把文件上傳到所屬的關(guān)聯(lián)DTS,此關(guān)聯(lián)DTS再把文 件上傳至中心DTS,中心DTS再根據(jù)關(guān)聯(lián)DTS列表把文件傳至各個(gè)關(guān)聯(lián)DTS,關(guān)聯(lián)DTS再把 自己的文件發(fā)送到下邊的DTC。 DTC在上傳文件時(shí)可以指定某些或所有接收者,被指定的接 收者可以選擇接受或者拒絕其他人發(fā)送的文件。本方法提供對(duì)同一文件進(jìn)行重復(fù)下載判斷 的功能,本地文件與服務(wù)器文件的對(duì)比方法不是僅僅靠文件名稱和大小進(jìn)行比較,還要抽 取內(nèi)容進(jìn)行比較,以快速確定本地和服務(wù)器的文件是否一致。如對(duì)兩個(gè)同名、同大小、同類 型的文件進(jìn)行比較時(shí),對(duì)第一個(gè)文件隨機(jī)抽取一個(gè)位置指定大小的數(shù)據(jù)包,再對(duì)另一個(gè)文件抽取相同位置相同尺寸的數(shù)據(jù)包,對(duì)這再個(gè)數(shù)據(jù)包進(jìn)行比較,可重復(fù)這個(gè)動(dòng)作多次,來確 認(rèn)是否是完全一樣的數(shù)據(jù)包。具體傳輸步驟如下 —、假設(shè)數(shù)據(jù)傳輸客戶端Al要上傳并分發(fā)文件"上傳.txt": 1、 DTC(A1)讀取文件"上傳.txt"相關(guān)信息,打包成文件列表數(shù)據(jù)包上傳給關(guān)聯(lián)
DTS(A)。 2、關(guān)聯(lián)DTS(A)增加文件列表數(shù)據(jù)(包括文件名稱、大小、發(fā)送者等描述信息),并 將文件列表數(shù)據(jù)發(fā)送給中心DTS,中心DTS獲得文件列表數(shù)據(jù)后,主動(dòng)向DTC(A1)請(qǐng)求文件 "上傳.txt", DTC(A)把文件上傳至中心DTS。 3、中心DTS接收完成之后,將文件列表數(shù)據(jù)和文件數(shù)據(jù)分發(fā)給所有關(guān)聯(lián)DTS,關(guān)聯(lián)
DTS接收完文件列表數(shù)據(jù)和文件數(shù)據(jù)后,把文件列表數(shù)據(jù)分發(fā)給其下的所有DTC。 二、假設(shè)數(shù)據(jù)傳輸客戶端Bl要接收分發(fā)的文件"下載.txt":DTC(B1)向關(guān)聯(lián)DTS(B)發(fā)送同意接收"下載.txt"文件的請(qǐng)求,關(guān)聯(lián)DTS(B)向
DTC(B1)發(fā)送文件數(shù)據(jù)。 實(shí)施例三 本實(shí)施例所述方法可對(duì)上傳和下載進(jìn)行速度控制,如圖3所示,在DTS_AMIN端 (即服務(wù)器管理端)可對(duì)每個(gè)DTS進(jìn)行管理,設(shè)定下邊的DTC上傳、下載的速度,保證帶寬得 到合理、最大化利用。為保證數(shù)據(jù)統(tǒng)一,所有DTS的訪問由DTS—A匿IN進(jìn)行管理和調(diào)度。當(dāng) DTS請(qǐng)求訪問DTC時(shí),DTS_AMIN統(tǒng)一放入緩存隊(duì)列,再由一個(gè)線程逐一取得,最后才執(zhí)行訪 問DTC命令,并把結(jié)果回調(diào)給各個(gè)DTS。
實(shí)施例四 如圖4所示,我們可采用P2P (peer-to-peer,點(diǎn)對(duì)點(diǎn))方式,讓每個(gè)工作站作為接
收客戶端,同時(shí)又作為發(fā)送服務(wù)端,這樣更能大大緩解服務(wù)器端的壓力。 這里本發(fā)明的描述和應(yīng)用是說明性的,并非想將本發(fā)明的范圍限制在上述實(shí)施例
中。這里所披露的實(shí)施例的變形和改變是可能的,對(duì)于那些本領(lǐng)域的普通技術(shù)人員來說實(shí)
施例的替換和等效的各種部件是公知的。本領(lǐng)域技術(shù)人員應(yīng)該清楚的是,在不脫離本發(fā)明
的精神或本質(zhì)特征的情況下,本發(fā)明可以以其他形式、結(jié)構(gòu)、布置、比例,以及用其他元件、
材料和部件來實(shí)現(xiàn)。
權(quán)利要求
一種基于互聯(lián)網(wǎng)的文件分發(fā)系統(tǒng),其特征在于,包括中心服務(wù)器,與至少一個(gè)關(guān)聯(lián)服務(wù)器相連,用以從關(guān)聯(lián)服務(wù)器接收文件或向關(guān)聯(lián)服務(wù)器發(fā)送文件;至少一關(guān)聯(lián)服務(wù)器,與至少一個(gè)客戶端相連,用以向客戶端下發(fā)文件或接受客戶端上傳的文件;至少一客戶端,與關(guān)聯(lián)服務(wù)器相連。
2. 根據(jù)權(quán)利要求1所述的基于互聯(lián)網(wǎng)的文件分發(fā)系統(tǒng),其特征在于所述客戶端僅連 有一個(gè)關(guān)聯(lián)服務(wù)器。
3. 根據(jù)權(quán)利要求1所述的基于互聯(lián)網(wǎng)的文件分發(fā)系統(tǒng),其特征在于所述客戶端連有 多個(gè)關(guān)聯(lián)服務(wù)器。
4. 根據(jù)權(quán)利要求1所述的基于互聯(lián)網(wǎng)的文件分發(fā)系統(tǒng),其特征在于所述系統(tǒng)還包括 服務(wù)器控制端,所述服務(wù)器控制端分別與中心服務(wù)器和關(guān)聯(lián)服務(wù)器相連,用以管理和調(diào)度 所有服務(wù)器的訪問。
5. 根據(jù)權(quán)利要求1所述的基于互聯(lián)網(wǎng)的文件分發(fā)系統(tǒng),其特征在于所述客戶端采用 P2P方式與其他客戶端直接通信。
6. —種基于互聯(lián)網(wǎng)的文件分發(fā)方法,其特征在于,包括以下步驟 步驟A,客戶端與關(guān)聯(lián)服務(wù)器相連,并向關(guān)聯(lián)服務(wù)器上傳文件;步驟B,關(guān)聯(lián)服務(wù)器接收客戶端上傳的文件,并將文件上傳至中心服務(wù)器;步驟C,中心服務(wù)器從關(guān)聯(lián)服務(wù)器接收文件,并將文件發(fā)送至所有的關(guān)聯(lián)服務(wù)器;步驟D,客戶端選擇接收或拒絕關(guān)聯(lián)服務(wù)器的文件。
7. 根據(jù)權(quán)利要求6所述的基于互聯(lián)網(wǎng)的文件分發(fā)方法,其特征在于所述方法的具體 步驟為步驟一,客戶端讀取文件相關(guān)信息,生成文件列表數(shù)據(jù)包上傳到自己所屬的關(guān)聯(lián)服務(wù)器;步驟二,自己所屬的關(guān)聯(lián)服務(wù)器根據(jù)所述文件列表數(shù)據(jù)包增加文件列表數(shù)據(jù),并將文件列表數(shù)據(jù)上傳到中心服務(wù)器;步驟三,中心服務(wù)器獲得文件列表數(shù)據(jù)后,主動(dòng)向客戶端請(qǐng)求文件;步驟四,客戶端收到請(qǐng)求后將文件數(shù)據(jù)上傳至中心服務(wù)器;步驟五,中心服務(wù)器將文件數(shù)據(jù)和文件列表數(shù)據(jù)分發(fā)給所有關(guān)聯(lián)服務(wù)器;步驟六,關(guān)聯(lián)服務(wù)器接收完文件數(shù)據(jù)和文件列表數(shù)據(jù)后,將文件列表數(shù)據(jù)分發(fā)給其下的所有客戶端;步驟七,客戶端向自己所屬的關(guān)聯(lián)服務(wù)器發(fā)送同意接收文件請(qǐng)求,自己所屬的關(guān)聯(lián)服 務(wù)器向客戶端發(fā)送文件數(shù)據(jù)。
8. 根據(jù)權(quán)利要求6所述的基于互聯(lián)網(wǎng)的文件分發(fā)方法,其特征在于所述方法還包括 服務(wù)器控制端,所述服務(wù)器控制端分別與中心服務(wù)器和關(guān)聯(lián)服務(wù)器相連,用以管理和調(diào)度 所有服務(wù)器的訪問。
9. 根據(jù)權(quán)利要求6所述的基于互聯(lián)網(wǎng)的文件分發(fā)方法,其特征在于所述客戶端采用 P2P方式與其他客戶端直接通信。
10. 根據(jù)權(quán)利要求6所述的基于互聯(lián)網(wǎng)的文件分發(fā)方法,其特征在于所述方法還包括將客戶端文件與服務(wù)器文件進(jìn)行對(duì)比,判斷是否為同一文件;所述對(duì)比的方法包括文件名 對(duì)比,文件大小對(duì)比和文件內(nèi)容對(duì)比。
全文摘要
本發(fā)明公開了一種基于互聯(lián)網(wǎng)的文件分發(fā)系統(tǒng)及方法,該系統(tǒng)包括中心服務(wù)器,至少一關(guān)聯(lián)服務(wù)器,至少一客戶端;所述中心服務(wù)器與至少一個(gè)關(guān)聯(lián)服務(wù)器相連,用以從關(guān)聯(lián)服務(wù)器接收文件或向關(guān)聯(lián)服務(wù)器發(fā)送文件;所述關(guān)聯(lián)服務(wù)器與至少一個(gè)客戶端相連,用以向客戶端下發(fā)文件或接受客戶端上傳的文件;所述客戶端與關(guān)聯(lián)服務(wù)器相連。本發(fā)明它分發(fā)路徑簡(jiǎn)捷,大大緩解了文件分發(fā)服務(wù)器的壓力,提高了分發(fā)文件的效率和可靠性,且支持?jǐn)帱c(diǎn)續(xù)傳,使文件上傳和下載都可以暫?;蚶^續(xù)。
文檔編號(hào)H04L29/06GK101699816SQ20091019891
公開日2010年4月28日 申請(qǐng)日期2009年11月17日 優(yōu)先權(quán)日2009年11月17日
發(fā)明者牛興盛 申請(qǐng)人:上海華平信息技術(shù)股份有限公司