專利名稱:基于點(diǎn)對點(diǎn)的數(shù)據(jù)傳輸系統(tǒng)及方法
技術(shù)領(lǐng)域:
本發(fā)明涉及計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)領(lǐng)域,更具體地說,涉及基于點(diǎn)對點(diǎn)的數(shù)據(jù) 傳輸系統(tǒng)及方法。
背景技術(shù):
點(diǎn)對點(diǎn)(Peer-to-Peer,筒稱"P2P")技術(shù)是指網(wǎng)絡(luò)用戶之間直接傳遞數(shù) 據(jù),進(jìn)行數(shù)據(jù)傳輸?shù)母鱾€節(jié)點(diǎn)是對等的。目前P2P技術(shù)的應(yīng)用非常廣泛,而即 時通信技術(shù)就是P2P技術(shù)的典型代表。通過P2P技術(shù),即時通信的雙方可以直 接進(jìn)行文字、語音或視頻的數(shù)據(jù)傳輸。
通過網(wǎng)絡(luò)通道進(jìn)行點(diǎn)對點(diǎn)的數(shù)據(jù)傳輸時,各通道中的數(shù)據(jù)(即分片數(shù)據(jù)) 較大,因此占用的帶寬較多,從而導(dǎo)致數(shù)據(jù)傳輸較慢。另外,由于通道中的 數(shù)據(jù)量大,各通道分享數(shù)據(jù)比較困難,消耗內(nèi)存也大。
發(fā)明內(nèi)容
本發(fā)明的目的之一在于提供一種基于點(diǎn)對點(diǎn)的數(shù)據(jù)傳輸系統(tǒng)及方法,旨 在解決現(xiàn)有技術(shù)數(shù)據(jù)傳輸較慢的問題。
為了實(shí)現(xiàn)發(fā)明目的,所述系統(tǒng)包括通過網(wǎng)絡(luò)通道進(jìn)行數(shù)據(jù)傳輸?shù)陌l(fā)送終 端和接收終端,該發(fā)送終端包括數(shù)據(jù)分割模塊,按照預(yù)設(shè)分割單位分割待傳 輸?shù)臄?shù)據(jù),以將分割后的數(shù)據(jù)發(fā)送至接收終端;該接收終端包括數(shù)據(jù)校-驗(yàn)才莫 塊,對所述分割后的數(shù)據(jù)進(jìn)行校驗(yàn)。
接收終端還可包括累積模塊,對接收到的分割后的數(shù)據(jù)進(jìn)行累積,并 對所累積的數(shù)據(jù)進(jìn)行閾值判斷,以及將達(dá)到閾值的數(shù)據(jù)發(fā)送給數(shù)據(jù)校驗(yàn)才莫塊。
該數(shù)據(jù)校驗(yàn)?zāi)K可進(jìn)一步獲取達(dá)到閾值的數(shù)據(jù)的哈希值,并根據(jù)哈希值 校驗(yàn)所述達(dá)到閾值的數(shù)據(jù)是否正確,以及將校驗(yàn)正確的數(shù)據(jù)進(jìn)行存儲。
該預(yù)設(shè)分割單位可以為1K,該閾值可以大于1K。
根據(jù)本發(fā)明的另一個方面,提供了基于點(diǎn)對點(diǎn)的數(shù)據(jù)傳輸方法,用于發(fā) 送終端與接收終端之間通過網(wǎng)絡(luò)通道進(jìn)行的數(shù)據(jù)傳輸,包括以下步驟A.發(fā) 送終端按照預(yù)設(shè)分割單位分割待傳輸?shù)臄?shù)據(jù),并將分割后的數(shù)據(jù)通過網(wǎng)絡(luò)通 道傳輸至接收終端;B.接收終端對接收到的分割后的數(shù)據(jù)進(jìn)行校驗(yàn)。
其中,步驟A之前還可包括在發(fā)送終端中設(shè)置預(yù)設(shè)分割單位。
其中,步驟B可包括Bl.接收終端對分割后的數(shù)據(jù)進(jìn)行累積,并對所累積的數(shù)據(jù)進(jìn)行閾值判
斷;
B2.對達(dá)到閾值的數(shù)據(jù)進(jìn)行校驗(yàn)。
步驟B2可進(jìn)一步包括獲取達(dá)到閾值的數(shù)據(jù)的哈希值,并根據(jù)所述哈希 值校驗(yàn)所述達(dá)到閾值的數(shù)據(jù)是否正確,以及將校驗(yàn)正確的數(shù)據(jù)進(jìn)行存儲。 在步驟B1之前還可包括在接收終端設(shè)置閾值。 該預(yù)設(shè)分割單位可以為1K,該閾值可以大于1K。
根據(jù)本發(fā)明的上述系統(tǒng)及方法,可使得網(wǎng)絡(luò)通道中的數(shù)據(jù)量變小,因此 占用的帶寬較少,從而提高了數(shù)據(jù)傳輸速度。
圖1是本發(fā)明基于點(diǎn)對點(diǎn)的數(shù)據(jù)傳輸系統(tǒng)的示范性結(jié)構(gòu)示意圖2是本發(fā)明的 一個實(shí)施例中基于點(diǎn)對點(diǎn)的數(shù)據(jù)傳輸系統(tǒng)的結(jié)構(gòu)示意圖3是本發(fā)明的 一個實(shí)施例中基于點(diǎn)對點(diǎn)的數(shù)據(jù)傳輸系統(tǒng)的結(jié)構(gòu)示意圖4是本發(fā)明的 一個實(shí)施例中基于點(diǎn)對點(diǎn)的數(shù)據(jù)傳輸方法的流程圖5是本發(fā)明的 一個實(shí)施例中對分割后的數(shù)據(jù)進(jìn)行校驗(yàn)的方法的流程圖6是本發(fā)明的 一個實(shí)施例中基于點(diǎn)對點(diǎn)的數(shù)據(jù)傳輸方法的流程圖。
具體實(shí)施例方式
在本發(fā)明中,通過發(fā)送終端按照預(yù)設(shè)分割單位分割傳輸?shù)臄?shù)據(jù),并將分 割后的數(shù)據(jù)發(fā)送至接收終端,接收終端對分割后的數(shù)據(jù)進(jìn)行校驗(yàn)。這樣,提 高了數(shù)據(jù)傳輸速度。
圖1示出了本發(fā)明中基于點(diǎn)對點(diǎn)的數(shù)據(jù)傳輸系統(tǒng)的示范性結(jié)構(gòu),該系統(tǒng)包 括若干個終端,其中每個終端既可以是發(fā)送終端,也可以是接收終端。
圖2示出了本發(fā)明的一個實(shí)施例中基于點(diǎn)對點(diǎn)的數(shù)據(jù)傳輸系統(tǒng)的結(jié)構(gòu),該 系統(tǒng)是本發(fā)明的一個筒明系統(tǒng),包括發(fā)送終端100以及與發(fā)送終端100通過網(wǎng) 絡(luò)通道進(jìn)行數(shù)據(jù)傳輸?shù)慕邮战K端200。應(yīng)當(dāng)說明的是,本發(fā)明所有圖示中各設(shè) 備之間的連接關(guān)系是為了清楚闡釋其信息交互及控制過程的需要,因此應(yīng)當(dāng) 視為邏輯上的連接關(guān)系。另外需要說明的是,各功能模塊之間的通信方式可 以采取多種,本發(fā)明的保護(hù)范圍不應(yīng)限定為某種特定類型的通信方式。其中 發(fā)送終端100包括數(shù)據(jù)發(fā)送模塊101和數(shù)據(jù)分割模塊102,其中 數(shù)據(jù)發(fā)送模塊101用于通過網(wǎng)絡(luò)通道發(fā)送分割后的數(shù)據(jù)至接收終端200。 數(shù)據(jù)分割模塊102與數(shù)據(jù)發(fā)送模塊101進(jìn)行數(shù)據(jù)交互,用于按照預(yù)設(shè)分割單位對待傳輸?shù)臄?shù)據(jù)進(jìn)行分割,并通過數(shù)據(jù)發(fā)送模塊101將分割后的數(shù)據(jù)發(fā)送 至接收終端。
接收終端200包括數(shù)據(jù)接收模塊201和數(shù)據(jù)校驗(yàn)?zāi)K203,其中 數(shù)據(jù)接收模塊201用于接收發(fā)送終端1 OO發(fā)送的分割后的數(shù)據(jù)。 數(shù)據(jù)校驗(yàn)?zāi)K203與數(shù)據(jù)接收模塊201進(jìn)行數(shù)據(jù)交互,用于對分割后的數(shù) 據(jù)進(jìn)行校驗(yàn)。
應(yīng)當(dāng)說明的是,發(fā)送終端100與接收終端200是相對而言的,在基于點(diǎn)對 點(diǎn)的數(shù)據(jù)傳輸系統(tǒng)中,進(jìn)行數(shù)據(jù)傳輸?shù)母鹘K端既可以是發(fā)送終端,也可以是 接收終端。另外,各終端之間傳輸數(shù)據(jù)的網(wǎng)絡(luò)通道可以是P2P通道、HTTP通 道和/或其它網(wǎng)絡(luò)通道。各通道同時傳輸分割后的數(shù)據(jù)時,通道中的數(shù)據(jù)量比 較小,占用帶寬少,因此能提高數(shù)據(jù)傳輸?shù)乃俣取?br>
圖3示出了本發(fā)明的另 一個實(shí)施例中基于點(diǎn)對點(diǎn)的數(shù)據(jù)傳輸系統(tǒng)的結(jié)構(gòu), 該系統(tǒng)是在上述實(shí)施例的基礎(chǔ)上的一個更詳細(xì)的系統(tǒng),包括通過網(wǎng)絡(luò)通道進(jìn) 行數(shù)據(jù)傳輸?shù)陌l(fā)送終端100和接收終端200,其中
發(fā)送終端100的組成與上述實(shí)施例相同,在此不再贅述。
接收終端200除了包括上述數(shù)據(jù)接收模塊201和數(shù)據(jù)4交驗(yàn)?zāi)K203外,還包 括累積模塊202和存儲模塊204,其中
累積模塊202分別與數(shù)據(jù)接收模塊201及數(shù)據(jù)校驗(yàn)才莫塊203進(jìn)行數(shù)據(jù)交互, 用于對接收到的分割后的數(shù)據(jù)進(jìn)行累積,并對累積的lt據(jù)進(jìn)行閾值判斷,以 及將達(dá)到閾值的數(shù)據(jù)發(fā)送給數(shù)據(jù)校驗(yàn)?zāi)K203。
存儲才莫塊204分別與累積模塊202及數(shù)據(jù)校驗(yàn)?zāi)K203進(jìn)行數(shù)據(jù)交互,用于 存儲校驗(yàn)正確的累積數(shù)據(jù)。
在一個實(shí)施例中,數(shù)據(jù)校驗(yàn)?zāi)K203進(jìn)一步用于獲耳又達(dá)到閾值的數(shù)據(jù)的哈 希值,并根據(jù)所述哈希值校驗(yàn)達(dá)到閾值的數(shù)據(jù)是否正確,以及將校驗(yàn)正確的 數(shù)據(jù)存儲至存儲模塊204。
在一個實(shí)施例中,預(yù)設(shè)分割單位優(yōu)選設(shè)置為1K,當(dāng)然也可以設(shè)置為其它 大小(例如2K、 3K、 4K等),但不應(yīng)設(shè)置為太大。閾值可設(shè)置為大于1K,優(yōu) 選設(shè)置為128K,也可以設(shè)置為其它大小, 一般為32K 512K之間。
圖4示出了本發(fā)明的一個實(shí)施例中基于點(diǎn)對點(diǎn)的數(shù)據(jù)傳輸方法的流程,該 方法流程基于圖2所示的系統(tǒng)結(jié)構(gòu),具體過程如下
在步驟S401中,發(fā)送終端100按照預(yù)設(shè)分割單位分割待傳輸?shù)臄?shù)據(jù),并將 分割后的數(shù)據(jù)通過網(wǎng)絡(luò)通道發(fā)送至接收終端200。
在步驟S402中,接收終端200對接收到的分割后的凄t據(jù)進(jìn)行校驗(yàn)。在一個實(shí)施例中,在執(zhí)行所有步驟之前應(yīng)還包括在發(fā)送終端100中設(shè)置 預(yù)設(shè)分割單位。
在一個實(shí)施例中,預(yù)設(shè)分割單位優(yōu)選設(shè)置為1K,也可以設(shè)置為其它大小。 發(fā)送終端100與接收終端200之間進(jìn)行數(shù)據(jù)傳輸?shù)木W(wǎng)絡(luò)通道可以是P2P通道、 HTTP通道和/或其它網(wǎng)^各通道。
圖5示出了本發(fā)明的 一個實(shí)施例中對分割后的數(shù)據(jù)進(jìn)行校驗(yàn)的方法流程, 該方法基于圖3所示的系統(tǒng)結(jié)構(gòu),具體過程如下
在執(zhí)行所有步驟之前,在接收終端200設(shè)置閾值。閾值大小大于1K,優(yōu)選 設(shè)置為128K。也可以將閾值設(shè)置為其它大小, 一般可設(shè)置在32K 512K之間。
在步驟S501中,接收終端200的累積模塊202對分割后的數(shù)據(jù)進(jìn)行累積, 并將所累積的數(shù)據(jù)進(jìn)行閾值判斷。
在步驟S502中,數(shù)據(jù)校驗(yàn)?zāi)K203對達(dá)到閾值的數(shù)據(jù)進(jìn)行校驗(yàn)。在一個實(shí) 施例中,數(shù)據(jù)校驗(yàn)?zāi)K203獲取達(dá)到閾值的數(shù)據(jù)的哈希(Hash)值,并根據(jù)哈 希值校驗(yàn)達(dá)到閾值的數(shù)據(jù)是否正確,以及將校驗(yàn)正確的數(shù)據(jù)進(jìn)行存儲。
圖6示出了本發(fā)明的一個實(shí)施例中基于點(diǎn)對點(diǎn)的數(shù)據(jù)傳輸方法的流程,該 實(shí)施例詳細(xì)描述了數(shù)據(jù)傳輸?shù)木唧w實(shí)現(xiàn)過程,具體如下
在執(zhí)行所有步驟之前,在發(fā)送終端100設(shè)置預(yù)設(shè)分割單位,在接收終端200 設(shè)置閾值。在一個實(shí)施例中,預(yù)設(shè)分割單位設(shè)置為1K,閾值設(shè)置為大于1K, 優(yōu)選"^殳置為128K。
在步驟S601中,發(fā)送終端100的數(shù)據(jù)分割模塊102按照預(yù)設(shè)分割單位對傳 輸?shù)臄?shù)據(jù)進(jìn)行分割,得到分割后的數(shù)據(jù)。在一個優(yōu)選實(shí)施例中,預(yù)設(shè)分割單 位為1K,數(shù)據(jù)分割模塊102以1 K為單位分割傳輸?shù)臄?shù)據(jù)。
在步驟S602中,數(shù)據(jù)發(fā)送模塊101通過各種網(wǎng)絡(luò)通道將分割后的數(shù)據(jù)傳輸 至接收終端200。在一個實(shí)施例中,網(wǎng)絡(luò)通道可包括P2P通道、HTTP通道和/ 或其它網(wǎng)絡(luò)通道等。
在步驟S603中,接收終端200的數(shù)據(jù)接收模塊201接收分割后的數(shù)據(jù),累 積模塊202累積分割后的數(shù)據(jù)。
在步驟S604中,判斷累積模塊202中的累積數(shù)據(jù)是否達(dá)到閾值,若是,則 進(jìn)入步驟S605,否則,返回步驟S603。
在步驟S605中,數(shù)據(jù)校驗(yàn)?zāi)K203獲取達(dá)到閾值的數(shù)據(jù)的哈希值。在一個 優(yōu)選實(shí)施例中,預(yù)設(shè)分割單位設(shè)置為1K,閾值大小設(shè)置為128K,則當(dāng)累積模 塊202累積的數(shù)據(jù)達(dá)到128K時,數(shù)據(jù)校驗(yàn)?zāi)K203根據(jù)哈希算法獲取該128K的 數(shù)據(jù)的哈希值。在步驟S606中,數(shù)據(jù)校驗(yàn)?zāi)K203根據(jù)該哈希值校驗(yàn)達(dá)到閾值的數(shù)據(jù)是否 正確,若是,則進(jìn)入步驟S607,否則,返回步驟S603。關(guān)于根據(jù)哈希算法校 驗(yàn)數(shù)據(jù)是否正確是現(xiàn)有技術(shù),在此不再贅述。
在步驟S607中,存儲校驗(yàn)正確的累積數(shù)據(jù)至存儲模塊204。
應(yīng)當(dāng)說明的是,本發(fā)明所提供的基于點(diǎn)對點(diǎn)的數(shù)據(jù)傳輸系統(tǒng)及方法,用 于各終端之間進(jìn)行的數(shù)據(jù)傳輸,即各客戶端之間可以采用本發(fā)明所提供的數(shù) 據(jù)傳輸系統(tǒng)及方法,而客戶端與服務(wù)器之間也可采用本發(fā)明所提供的數(shù)據(jù)傳 輸系統(tǒng)及方法。
以上所述僅為本發(fā)明的較佳實(shí)施例而已,并不用以限制本發(fā)明,凡在本 發(fā)明的精神和原則之內(nèi)所作的任何修改、等同替換和改進(jìn)等,均應(yīng)包含在本 發(fā)明的保護(hù)范圍之內(nèi)。
權(quán)利要求
1、一種基于點(diǎn)對點(diǎn)的數(shù)據(jù)傳輸系統(tǒng),包括通過網(wǎng)絡(luò)通道進(jìn)行數(shù)據(jù)傳輸?shù)陌l(fā)送終端和接收終端,其特征在于,所述發(fā)送終端包括數(shù)據(jù)分割模塊,按照預(yù)設(shè)的分割單位分割待傳輸?shù)臄?shù)據(jù),以將分割后的數(shù)據(jù)發(fā)送至接收終端;所述接收終端包括數(shù)據(jù)校驗(yàn)?zāi)K,對所述分割后的數(shù)據(jù)進(jìn)行校驗(yàn)。
2、 根據(jù)權(quán)利要求l所述的系統(tǒng),其特征在于,所述接收終端還包括 累積模塊,對接收到的分割后的數(shù)據(jù)進(jìn)行累積,并對所累積的數(shù)據(jù)進(jìn)行閾值判斷,以及將達(dá)到閾值的數(shù)據(jù)發(fā)送給數(shù)據(jù)校驗(yàn)?zāi)K。
3、 根據(jù)權(quán)利要求2所述的系統(tǒng),其特征在于,所述數(shù)據(jù)校驗(yàn)?zāi)K進(jìn)一步 獲取所述達(dá)到閾值的數(shù)據(jù)的哈希值,并根據(jù)所述哈希值校驗(yàn)所述達(dá)到閾值的 數(shù)據(jù)是否正確,以及將校驗(yàn)正確的數(shù)據(jù)進(jìn)行存儲。
4、 根據(jù)權(quán)利要求1至3中任意一項(xiàng)所述的基于點(diǎn)對點(diǎn)的數(shù)據(jù)傳輸系統(tǒng),其 特征在于,所述預(yù)設(shè)分割單位為1K,所述閾值大于1K。
5、 一種基于點(diǎn)對點(diǎn)的數(shù)據(jù)傳輸方法,用于發(fā)送終端與接收終端之間通過 網(wǎng)絡(luò)通道進(jìn)行的數(shù)據(jù)傳輸,其特征在于,所述方法包括以下步驟A. 所述發(fā)送終端按照預(yù)設(shè)分割單位分割待傳輸?shù)臄?shù)據(jù),并將分割后的數(shù) 據(jù)通過網(wǎng)絡(luò)通道傳輸至接收終端;B. 所述接收終端對接收到的分割后的數(shù)據(jù)進(jìn)行校驗(yàn)。
6、 根據(jù)權(quán)利要求5所述的基于點(diǎn)對點(diǎn)的數(shù)據(jù)傳輸方法,其特征在于,所 述步驟A之前還包括在發(fā)送終端中設(shè)置預(yù)設(shè)分割單位。
7、 根據(jù)權(quán)利要求5所述的基于點(diǎn)對點(diǎn)的數(shù)據(jù)傳輸方法,其特征在于,所 述步驟B包括Bl.所述接收終端對分割后的數(shù)據(jù)進(jìn)行累積,并對所累積的數(shù)據(jù)進(jìn)行閾值 判斷;B2.對達(dá)到閾值的數(shù)據(jù)進(jìn)行校驗(yàn)。
8、 根據(jù)權(quán)利要求7所述的基于點(diǎn)對點(diǎn)的數(shù)據(jù)傳輸方法,其特征在于,所 述步驟B2進(jìn)一步包括獲取達(dá)到閾值的數(shù)據(jù)的哈希值,并根據(jù)所述哈希值校驗(yàn)所述達(dá)到閾值的數(shù)據(jù)是否正確,以及將校驗(yàn)正確的數(shù)據(jù)進(jìn)行存儲。
9、 根據(jù)權(quán)利要求7所述的基于點(diǎn)對點(diǎn)的數(shù)據(jù)傳輸方法,其特征在于,還 包括在接收終端設(shè)置閾值。
10、 根據(jù)權(quán)利要求5至9中任意一項(xiàng)所述的基于點(diǎn)對點(diǎn)的數(shù)據(jù)傳輸方法, 其特征在于,所述預(yù)設(shè)分割單位為1K,所述閾值大于1K。
全文摘要
本發(fā)明涉及計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)領(lǐng)域,提供了一種基于點(diǎn)對點(diǎn)的數(shù)據(jù)傳輸系統(tǒng)及方法。所述方法基于發(fā)送終端與接收終端之間通過網(wǎng)絡(luò)通道進(jìn)行的數(shù)據(jù)傳輸,包括以下步驟A.所述發(fā)送終端按照預(yù)設(shè)分割單位分割待傳輸?shù)臄?shù)據(jù),并將分割后的數(shù)據(jù)通過網(wǎng)絡(luò)通道傳輸至接收終端;B.所述接收終端對接收到的分割后的數(shù)據(jù)進(jìn)行校驗(yàn)。采用本發(fā)明提供的基于點(diǎn)對點(diǎn)的數(shù)據(jù)傳輸系統(tǒng)及方法,能提高數(shù)據(jù)傳輸?shù)乃俣取?br>
文檔編號H04L12/56GK101447926SQ20081018666
公開日2009年6月3日 申請日期2008年12月16日 優(yōu)先權(quán)日2008年12月16日
發(fā)明者華有為 申請人:騰訊科技(深圳)有限公司