欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

用于傳輸數(shù)據(jù)的設(shè)備和方法

文檔序號(hào):7864065閱讀:160來(lái)源:國(guó)知局
專利名稱:用于傳輸數(shù)據(jù)的設(shè)備和方法
技術(shù)領(lǐng)域
與示例性實(shí)施例一致的設(shè)備和方法涉及一種用于傳輸數(shù)據(jù)的設(shè)備和方法,更具體地講,涉及一種可以以包的形式傳輸文件并傳輸用于重新下載的文件的用于傳輸數(shù)據(jù)的設(shè)備和方法。
背景技術(shù)
在用于傳輸多個(gè)文件的現(xiàn)有技術(shù)方法的情況下,在關(guān)于將被傳輸?shù)囊粋€(gè)文件的控制消息被傳輸并且指示所述文件已被傳輸?shù)目刂葡⒈唤邮罩?,下一個(gè)文件被順次傳輸。這樣的傳輸方法不僅被應(yīng)用到在服務(wù)器和客戶機(jī)之間建立單個(gè)傳輸控制協(xié)議(TCP)信道并且通過(guò)該信道發(fā)送或接收數(shù)據(jù)的情況,還被應(yīng)用到打開(kāi)多個(gè)TCP流并且并行傳輸數(shù)據(jù)的情況。然而,如果以現(xiàn)有技術(shù)方法傳輸文件,則在傳輸控制消息時(shí),不允許傳輸實(shí)時(shí)數(shù)據(jù),因此在長(zhǎng)往返時(shí)間(RTT)的網(wǎng)絡(luò)中發(fā)生多包丟失或傳輸效率急劇降低。此外,如果大小小于網(wǎng)絡(luò)帶寬時(shí)延積(BDP)的單個(gè)文件被傳輸,則網(wǎng)絡(luò)沒(méi)有被有效地使用,因此文件沒(méi)有被有效地傳輸。作為這些問(wèn)題的解決方案,多個(gè)文件被壓縮和封裝,從而單個(gè)文件可被傳輸。然而,在這種情況下,因此存在的問(wèn)題在于對(duì)文件進(jìn)行壓縮和解壓縮占用較多的時(shí)間。作為結(jié)果,通過(guò)減少經(jīng)過(guò)壓縮的數(shù)據(jù)的大小來(lái)減少的時(shí)間被對(duì)數(shù)據(jù)進(jìn)行壓縮所需的長(zhǎng)時(shí)間所抵消,從而傳輸數(shù)據(jù)花費(fèi)更長(zhǎng)的時(shí)間。此外,如果使用并行TCP流傳輸方法,則發(fā)生單個(gè)TCP流傳輸中不發(fā)生的傳輸回歸(transmission of reversion)。也就是說(shuō),單個(gè)TCP流傳輸保證首先發(fā)送的數(shù)據(jù)必然首先到達(dá),然而并行TCP流傳輸不能保證在通過(guò)第二流傳輸?shù)臄?shù)據(jù)之前通過(guò)第一流傳輸?shù)臄?shù)據(jù)在第二流的數(shù)據(jù)之前到達(dá)。此外,由于如上所述,現(xiàn)有技術(shù)的并行TCP流傳輸不能保證數(shù)據(jù)的順序傳輸,因此難以重新開(kāi)始文件的下載。此外,如果以并行TCP流傳輸方法傳輸很多文件,則無(wú)法重新下載或可能再次傳輸已傳輸?shù)臄?shù)據(jù)。因此,傳輸效率惡化。

發(fā)明內(nèi)容
示例性實(shí)施例的一個(gè)或多個(gè)方面提供一種用于傳輸數(shù)據(jù)的設(shè)備和方法,其中,所述設(shè)備和方法可在發(fā)送每個(gè)文件時(shí),通過(guò)基于實(shí)時(shí)以包的形式發(fā)送多個(gè)文件來(lái)最小化發(fā)送控制消息的次數(shù),并可提高TCP效率。示例性實(shí)施例的一個(gè)或多個(gè)方面還提供一種用于傳輸數(shù)據(jù)的設(shè)備和方法,其中,所述設(shè)備和方法在發(fā)送多個(gè)文件時(shí),即使一些數(shù)據(jù)被遺漏,或者即使傳輸被中斷,也可保證重新下載的功能。
根據(jù)示例性實(shí)施例的一方面,提供一種發(fā)送多個(gè)文件的數(shù)據(jù)發(fā)送設(shè)備,包括:盤(pán)讀取器,將文件塊劃分為一個(gè)或多個(gè)微塊,從多個(gè)文件讀出與一個(gè)或多個(gè)微塊中的每個(gè)的大小相應(yīng)的數(shù)據(jù),并順次將所述數(shù)據(jù)記錄在多個(gè)微塊上;通信單元,如果數(shù)據(jù)被記錄在包括在所述文件塊中的一個(gè)或多個(gè)微塊上,則將所述文件塊發(fā)送到數(shù)據(jù)接收設(shè)備。根據(jù)另一示例性實(shí)施例的一方面,提供一種數(shù)據(jù)接收設(shè)備,包括:通信單元,從數(shù)據(jù)發(fā)送設(shè)備接收多個(gè)作為數(shù)據(jù)傳輸單位的文件塊;盤(pán)寫(xiě)入器,如果多個(gè)文件塊中的每個(gè)包括一個(gè)或多個(gè)作為用于記錄至少一個(gè)文件的數(shù)據(jù)的單位的微塊,則基于微塊讀出數(shù)據(jù)并將數(shù)據(jù)記錄在存儲(chǔ)介質(zhì)上。根據(jù)另一示例性實(shí)施例的一方面,提供一種發(fā)送多個(gè)文件的用于發(fā)送數(shù)據(jù)的方法,所述方法包括:將文件塊劃分為一個(gè)或多個(gè)微塊,從多個(gè)文件讀出與一個(gè)或多個(gè)微塊中的每個(gè)的大小相應(yīng)的數(shù)據(jù),并順次將所述數(shù)據(jù)記錄在多個(gè)微塊上;如果將數(shù)據(jù)記錄在包括在所述文件塊中的一個(gè)或多個(gè)微塊上,則將所述文件塊發(fā)送到數(shù)據(jù)接收設(shè)備。根據(jù)另一示例性實(shí)施例的一方面,提供一種用于接收數(shù)據(jù)的方法,所述方法包括:從數(shù)據(jù)發(fā)送設(shè)備接收多個(gè)作為數(shù)據(jù)傳輸單位的文件塊;如果多個(gè)文件塊中的每個(gè)包括一個(gè)或多個(gè)作為用于記錄至少一個(gè)文件的數(shù)據(jù)的單位的微塊,則基于微塊讀出數(shù)據(jù)并將數(shù)據(jù)記錄在存儲(chǔ)介質(zhì)上。根據(jù)一個(gè)或多個(gè)示例性實(shí)施例,在廣域網(wǎng)(WAN)環(huán)境中提高了效率。在WAN環(huán)境中,包丟失或往返時(shí)間很大,因此由于TCP協(xié)議的特性而沒(méi)有使用網(wǎng)絡(luò)的所有的帶寬。也就是說(shuō),由于發(fā)生包丟失而窗口被減小,因而可發(fā)送的包的量會(huì)減少,或者,由于沒(méi)有收到確認(rèn)因此窗口不為空,因而傳輸速度顯著地減少。為解決這些問(wèn)題,基于實(shí)時(shí)以包的形式發(fā)送多個(gè)文件,從而可減少在文件的傳輸開(kāi)始和終止時(shí)產(chǎn)生的控制消息的數(shù)量。由于在發(fā)送控制消息時(shí)沒(méi)有發(fā)送文件的數(shù)據(jù),因此減少了控制消息的數(shù)量,從而可顯著地提高TCP的數(shù)據(jù)傳輸效率。此外,應(yīng)用層中的文件被打包和轉(zhuǎn)發(fā)到TCP層,使得發(fā)送比TCP窗口小的數(shù)據(jù)的情況被最小化,從而減少在發(fā)送比TCP窗口小的數(shù)據(jù)時(shí)發(fā)生的TCP協(xié)議的無(wú)效率的操作,作為結(jié)果,可顯著地減少發(fā)送文件所需的時(shí)間。此外,使用并行TCP流,使得每次可發(fā)送多達(dá)TCP流的窗口的總和的數(shù)據(jù)。作為結(jié)果,即使在發(fā)送數(shù)據(jù)時(shí)發(fā)生碰撞,也可發(fā)送與單個(gè)TCP流的情況相比更多的數(shù)據(jù)。此外,根據(jù)一個(gè)或多個(gè)示例性實(shí)施例,使用關(guān)于偏移和整個(gè)文件大小的信息,從而可在沒(méi)有回歸現(xiàn)象(reversion phenomenon)情況下在并行TCP流傳輸中重新開(kāi)始文件的下載。此外,使用發(fā)送的文件的偏移重新開(kāi)始下載,從而可避免已發(fā)送的文件被重新發(fā)送,作為結(jié)果,可節(jié)省重新發(fā)送產(chǎn)生的成本。此外,將多個(gè)文件劃分為組并且預(yù)先發(fā)送列表,確定用于重新下載的文件,并同時(shí)執(zhí)行對(duì)用于重新下載的文件進(jìn)行比較的操作和發(fā)送用于重新下載的文件的操作,從而可提高數(shù)據(jù)傳輸效率。將在具體實(shí)施方式
中闡述示例性實(shí)施例的另外的方面和優(yōu)點(diǎn),通過(guò)詳細(xì)描述所述示例性實(shí)施例的另外的方面和優(yōu)點(diǎn)將是清楚的,或可通過(guò)實(shí)現(xiàn)示例性實(shí)施例來(lái)學(xué)習(xí)所述另外的方面和優(yōu)點(diǎn)。


通過(guò)參照附圖詳細(xì)描述示例性實(shí)施例,本發(fā)明的上述和其他特點(diǎn)和優(yōu)點(diǎn)將變得更加清楚,其中:圖1是示出根據(jù)示例性實(shí)施例的用于并行傳輸數(shù)據(jù)的數(shù)據(jù)收發(fā)系統(tǒng)的視圖;圖2是示出根據(jù)第一示例性實(shí)施例的用于并行傳輸數(shù)據(jù)的第一數(shù)據(jù)發(fā)送設(shè)備和第一數(shù)據(jù)接收設(shè)備的框圖;圖3是示出示出根據(jù)示例性實(shí)施例的文件塊的結(jié)構(gòu)的視圖;圖4A是示出根據(jù)示例性實(shí)施例的包括一個(gè)微塊(microblock)的文件塊的結(jié)構(gòu)的視圖;圖4B是示出根據(jù)示例性實(shí)施例的包括多個(gè)微塊的文件塊的結(jié)構(gòu)的視圖;圖5是示出根據(jù)第二示例性實(shí)施例的用于并行傳輸數(shù)據(jù)的第二數(shù)據(jù)發(fā)送設(shè)備和第二數(shù)據(jù)接收設(shè)備的框圖;圖6是示出根據(jù)示例性實(shí)施例的傳輸文件列表的結(jié)構(gòu)的視圖;圖7是示出根據(jù)示例性實(shí)施例的元文件的結(jié)構(gòu)的視圖;圖8是示出根據(jù)示例性實(shí)施例的重新下載列表的結(jié)構(gòu)的視圖;圖9是示出根據(jù)第一示例性實(shí)施例的用于并行傳輸數(shù)據(jù)的方法的流程圖;圖10是詳細(xì)示出圖9的用于并行傳輸數(shù)據(jù)的方法的流程圖;圖11是示出根據(jù)示例性實(shí)施例的用于并行接收數(shù)據(jù)的方法的流程圖;圖12是示出根據(jù)另一示例性實(shí)施例的用于并行發(fā)送和接收數(shù)據(jù)的方法的流程圖;圖13是詳細(xì)示出圖12的操作S1230的流程圖。
具體實(shí)施例方式現(xiàn)將參照附圖更全面地描述示例性實(shí)施例,以使本發(fā)明構(gòu)思的方面、特點(diǎn)和優(yōu)點(diǎn)清楚。然而,示例性實(shí)施例可以以很多不同的形式被實(shí)施,并不應(yīng)被解釋為限制在這里闡述的示例性實(shí)施例。相反,提供示例性實(shí)施例,使得本公開(kāi)將會(huì)是徹底和完整的,并將全面地將本申請(qǐng)的范圍傳達(dá)給本領(lǐng)域的普通技術(shù)人員。將理解當(dāng)元件被稱為在另一元件之“上”時(shí),該元件可以是直接在另一元件之上,或可以是插入的元件。如果諸如,“第一”、“第二”的術(shù)語(yǔ)用于描述多個(gè)元件,則這些元件不應(yīng)由這些術(shù)語(yǔ)限制。這些術(shù)語(yǔ)僅用于將一元件與另一元件區(qū)分的目的。示例性實(shí)施例包括它們的補(bǔ)充實(shí)施例。此外,將理解當(dāng)?shù)谝辉?或第一組件)被稱為在第二元件(或第二組件)“上”被操作或執(zhí)行時(shí),第一元件(或第一組件)可在第二元件(第二組件)被操作或執(zhí)行的環(huán)境中被操作或執(zhí)行,或者,第一元件(或第一組件)可通過(guò)與第二元件(第二組件)直接或間接地進(jìn)行交互來(lái)被操作或執(zhí)行。此外,將理解當(dāng)元件、組件、設(shè)備或系統(tǒng)被稱為包括由程序或軟件組成的組件時(shí),除非上下文明確指出,否則元件、組件、設(shè)備或系統(tǒng)可包括執(zhí)行或操作所述程序或軟件、或另一程序或軟件(例如,操作系統(tǒng)(OS)、驅(qū)動(dòng)硬件必須的驅(qū)動(dòng)程序)必須的硬件(例如,存儲(chǔ)器或中央處理單元(CPU))。此外,將理解除非上下文明確指出,否則可通過(guò)軟件、硬件或軟件和硬件來(lái)實(shí)現(xiàn)元件(或組件)。在此使用的術(shù)語(yǔ)僅是描述特定示例性實(shí)施例的目的,而不是意在限制。如在此使用,除非上下文明確指出,否則單數(shù)形式旨在還包括復(fù)數(shù)指代。還將理解當(dāng)在本說(shuō)明書(shū)中使用術(shù)語(yǔ)“包括”和/或“包含”時(shí),它們不排除一個(gè)或多個(gè)其它組件的存在或添加。以下,將參照附圖更詳細(xì)地描述示例性實(shí)施例。描述中定義的內(nèi)容(諸如,詳細(xì)的構(gòu)造和元件)被提供以幫助全面理解示例性實(shí)施例。然而,顯然本領(lǐng)域的普通技術(shù)人員可在沒(méi)有那些特別定義的內(nèi)容的情況下,執(zhí)行示例性實(shí)施例。在示例性實(shí)施例的描述中,當(dāng)認(rèn)為現(xiàn)有技術(shù)的特定詳細(xì)的解釋會(huì)不必要地使本發(fā)明構(gòu)思的實(shí)質(zhì)不清楚時(shí),省略現(xiàn)有技術(shù)的特定詳細(xì)的解釋。圖1是示出根據(jù)示例性實(shí)施例的用于并行傳輸數(shù)據(jù)的數(shù)據(jù)收發(fā)系統(tǒng)的視圖。參照?qǐng)D1,用于并行傳輸數(shù)據(jù)的數(shù)據(jù)收發(fā)系統(tǒng)可包括數(shù)據(jù)發(fā)送設(shè)備10和數(shù)據(jù)接收設(shè)備20。數(shù)據(jù)發(fā)送設(shè)備10可以是下面將描述的第一數(shù)據(jù)發(fā)送設(shè)備100或第二數(shù)據(jù)發(fā)送設(shè)備500,數(shù)據(jù)接收設(shè)備20可以是下面將描述的第一數(shù)據(jù)接收設(shè)備200或第二數(shù)據(jù)接收設(shè)備600。如果接收到文件傳輸?shù)恼?qǐng)求,則數(shù)據(jù)發(fā)送設(shè)備10可產(chǎn)生:i)包括文件的屬性信息的基本控制信息;ii)用于發(fā)送文件的至少一個(gè)套接字(socket)。套接字是彼此連接數(shù)據(jù)發(fā)送設(shè)備10和數(shù)據(jù)接收設(shè)備20以傳輸文件的軟件,并且一個(gè)套接字建立一個(gè)流。在數(shù)據(jù)發(fā)送設(shè)備10和數(shù)據(jù)接收設(shè)備20之間提供多個(gè)流S1、
S2.....SN (N是整數(shù)),以并行傳輸數(shù)據(jù)??蓪⒍鄠€(gè)流S1、S2.....SN分配給至少一個(gè)通信
端口,多個(gè)流中的每個(gè)可通過(guò)具有不同的帶寬的多個(gè)信道來(lái)實(shí)現(xiàn)。例如,數(shù)據(jù)發(fā)送設(shè)備10和數(shù)據(jù)接收設(shè)備20可以以通過(guò)傳輸控制協(xié)議(TCP)信道的并行流傳輸方法來(lái)發(fā)送和接收文件,但不限于該方法。基本控制信息是由數(shù)據(jù)發(fā)送設(shè)備10和數(shù)據(jù)接收設(shè)備20最初共享以傳輸文件的信息。基本控制信息可包括如下信息,諸如:將被傳輸?shù)奈募奈募?、文件大小、流的?shù)量、盤(pán)緩沖區(qū)大小、塊的總數(shù)、套接字緩沖區(qū)大小、IP地址、端口信息和會(huì)話標(biāo)識(shí)(ID)。流的數(shù)量是可用于文件傳輸?shù)牧鞯淖畲髷?shù)量,盤(pán)緩沖區(qū)大小是分配給用于將數(shù)據(jù)寫(xiě)在盤(pán)(例如,第二存儲(chǔ)介質(zhì)250)上的緩沖區(qū)的塊的大小,套接字緩沖區(qū)大小是在傳輸協(xié)議的內(nèi)核處使用的緩沖區(qū)的大小,IP地址是針對(duì)數(shù)據(jù)傳輸使用的IP的地址,端口信息是關(guān)于針對(duì)數(shù)據(jù)傳輸使用的端口的信息,會(huì)話ID是每個(gè)流的ID。圖2是示出根據(jù)第一示例性實(shí)施例的用于并行傳輸數(shù)據(jù)的第一數(shù)據(jù)發(fā)送設(shè)備100和第一數(shù)據(jù)接收設(shè)備200的框圖。參照?qǐng)D2,第一數(shù)據(jù)發(fā)送設(shè)備100可包括:第一存儲(chǔ)介質(zhì)110、第一不活動(dòng)的塊池120、第一盤(pán)讀取器130、第一活動(dòng)的塊池140、第一通信單兀150和第一控制器160。第一存儲(chǔ)介質(zhì)110可存儲(chǔ)將發(fā)送到第一數(shù)據(jù)接收設(shè)備200的多個(gè)文件。第一存儲(chǔ)介質(zhì)110可以是高容量存儲(chǔ)設(shè)備(諸如,硬盤(pán)驅(qū)動(dòng)器)。第一不活動(dòng)的塊池120為了存儲(chǔ)器的有效使用存儲(chǔ)(或保存)沒(méi)有記錄數(shù)據(jù)的多個(gè)文件塊。當(dāng)?shù)谝槐P(pán)讀取器130記錄存儲(chǔ)在第一存儲(chǔ)介質(zhì)110中的多個(gè)文件中的將發(fā)送的文件時(shí),使用文件塊。第一不活動(dòng)的塊池120可以是存儲(chǔ)設(shè)備(諸如,例如,存儲(chǔ)器),下面將描述的下列項(xiàng)可以是存儲(chǔ)設(shè)備(諸如,存儲(chǔ)器):第一活動(dòng)的塊池140、第二不活動(dòng)的塊池220、第二活動(dòng)的塊池230、第三不活動(dòng)的塊池530、第三活動(dòng)的塊池550、第四不活動(dòng)的塊池630和第四活動(dòng)的塊池640。此外,雖然在圖2中第一不活動(dòng)的塊池120和第一活動(dòng)塊池140是單獨(dú)的功能塊,但它們不應(yīng)被解釋為物理上單獨(dú)的存儲(chǔ)器,并且應(yīng)理解第一不活動(dòng)的塊池120和第一活動(dòng)的塊池140可通過(guò)一個(gè)或三個(gè)或更多個(gè)存儲(chǔ)器來(lái)實(shí)現(xiàn)。還應(yīng)理解如下項(xiàng)不限于物理存儲(chǔ)器的特定數(shù)量:i)第二不活動(dòng)的塊池220、第二活動(dòng)的塊池230 ;ii)第三不活動(dòng)的塊池530、第三活動(dòng)的塊池550 ;iii)第四不活動(dòng)的塊池630和第四活動(dòng)的塊池640。以下,多個(gè)文件中的以包的形式被發(fā)送到第一數(shù)據(jù)接收設(shè)備200的文件將被稱為“將被發(fā)送的文件”,第一文件和第二文件將被描述為將被發(fā)送的文件的示例?!耙园男问絺鬏敗被颉鞍鼈鬏敗笔侵竿ㄟ^(guò)單個(gè)文件塊傳輸?shù)谝晃募偷诙募牟僮鳌>唧w地講,如果文件塊在已經(jīng)記錄第一文件之后具有用于記錄其它文件的空的空間(empty space),則第二文件全部或部分被記錄在該文件塊上。當(dāng)以包的形式發(fā)送文件時(shí),第一文件的全部和第二文件的全部可被記錄在一個(gè)文件塊上,第一文件的全部和第二文件的部分可被記錄在一個(gè)文件塊上,第一文件的部分和第二文件的部分可被記錄在一個(gè)文件塊上,或者,第一文件的部分和第二文件的全部可被記錄在一個(gè)文件塊上。圖3是示出根據(jù)示例性實(shí)施例的文件塊的結(jié)構(gòu)的視圖。參照?qǐng)D3,文件塊(FB)被劃分為文件塊頭(FH)和文件塊凈荷(FP)??捎涗浿甘疚募K是記錄的數(shù)據(jù)的標(biāo)簽信息、FP的大小以及指示文件塊是否被壓縮的標(biāo)記。FP可記錄與FP的大小相應(yīng)的數(shù)據(jù)和被記錄的數(shù)據(jù)的屬性信息。如圖3所示,可將沒(méi)有記錄數(shù)據(jù)的多個(gè)空的文件塊存儲(chǔ)在第一不活動(dòng)的塊池120。第一盤(pán)讀取器130從第一不活動(dòng)的塊池120讀出空的文件塊,并可將該文件塊劃分為一個(gè)或多個(gè)微塊。微塊可包括一個(gè)微塊頭(MH)和一個(gè)微塊凈荷(MP)。第一盤(pán)讀取器130可從將被發(fā)送的文件中讀出與每個(gè)微塊的大小相應(yīng)的數(shù)據(jù),并可順次將該數(shù)據(jù)記錄在相應(yīng)的微塊上。也就是說(shuō),第一盤(pán)讀取器130可將FP的大小和第一文件的大小進(jìn)行比較,并可通過(guò)產(chǎn)生一個(gè)微塊或多個(gè)微塊來(lái)劃分文件塊。微塊是用于記錄至少一個(gè)文件的數(shù)據(jù)的單位,并具有用于記錄數(shù)據(jù)的靈活的大小。更具體地講,第一盤(pán)讀取器130可根據(jù)FP的大小和第一文件的大小在FP中產(chǎn)生一個(gè)或多個(gè)邏輯微塊。例如,如果可被記錄在一個(gè)文件塊上的數(shù)據(jù)的大小小于或等于第一文件的大小,則如圖4A所示第一盤(pán)讀取器130可在文件塊中產(chǎn)生一個(gè)微塊。如果可被記錄在一個(gè)文件塊上的數(shù)據(jù)的大小大于第一文件的大小,則如圖4B所示第一盤(pán)讀取器130可在文件塊中產(chǎn)生至少兩個(gè)微塊,并可將數(shù)據(jù)記錄在文件塊上。圖4A是示出根據(jù)示例性實(shí)施例包括一個(gè)微塊的文件塊的結(jié)構(gòu)的視圖。參照?qǐng)D4A,將文件塊劃分為!7H和FP,將所述FP劃分為一個(gè)MH和一個(gè)MP。MH可記錄MH大小、偏移(offset)、長(zhǎng)度、文件大小和文件路徑。MH大小是MH的大小,偏移是指示從第一存儲(chǔ)介質(zhì)110讀出并被記錄在MP上的數(shù)據(jù) 屬于第一文件的哪個(gè)位置的數(shù)據(jù)地址,長(zhǎng)度是MP的大小(即,被記錄在MP上的數(shù)據(jù)的真實(shí)大小)、文件大小是數(shù)據(jù)所屬的第一文件的整個(gè)大小,文件路徑可包括存儲(chǔ)第一文件的第一存儲(chǔ)介質(zhì)110的目錄以及文件名。MP可記錄大小等于或小于MP大小的數(shù)據(jù)。
圖4B是示出根據(jù)示例性實(shí)施例的包括多個(gè)微塊的文件塊的結(jié)構(gòu)的視圖。參照?qǐng)D4B,將文件塊劃分為一個(gè)!7H和一個(gè)FP,將所述FP劃分為多個(gè)微塊頭(MHl、MH2和MH3)以及多個(gè)微塊凈荷(MP1、MP2和MP3)。雖然在圖4B中示出三個(gè)微塊MB1、MB2和MB3,但這不應(yīng)被認(rèn)為是限制。如圖4A所示,MH1、MH2和MH3中的每個(gè)記錄如上所述的MH大小、偏移、長(zhǎng)度、文件大小和文件路徑。例如,MHl記錄關(guān)于MPl的MH大小、偏移、長(zhǎng)度、文件大小和文件路徑。如圖4B所示將一個(gè)文件塊劃分為三個(gè)微塊MBl、MB2和MB3意味著第一至第三文件被記錄在一個(gè)文件塊上并以包的形式被發(fā)送。MBl可記錄第一文件的部分?jǐn)?shù)據(jù)或全部數(shù)據(jù),MB2可記錄第二文件的全部數(shù)據(jù),MB3可記錄第三文件的部分?jǐn)?shù)據(jù)或全部數(shù)據(jù)。下面將解釋產(chǎn)生至少一個(gè)微塊的第一盤(pán)讀取器130的操作。例如,假設(shè)用戶請(qǐng)求將以包的形式被發(fā)送的第一文件和第二文件。1.第一盤(pán)讀取器130將第一文件的全部數(shù)據(jù)大小和FP的最大大小進(jìn)行比較,并且如果全部第一文件可被記錄在整個(gè)FP上,則產(chǎn)生一個(gè)微塊MBl并將第一文件的全部數(shù)據(jù)記錄在MPl上。嚴(yán)格來(lái)說(shuō),由于數(shù)據(jù)被記錄在FP的MP上,因此表述“將MP的大小和第一文件的全部數(shù)據(jù)大小進(jìn)行比較”是準(zhǔn)確的。然而,為便于解釋,只要沒(méi)有必要區(qū)分表述“將FP的大小進(jìn)行比較”和“將MP的大小進(jìn)行比較”,將可交換地使用這兩種表述。2.如果第一文件的全部數(shù)據(jù)大于FP,則第一盤(pán)讀取器130從第一文件讀出與FP的大小相應(yīng)的數(shù)據(jù)并產(chǎn)生一個(gè)MB1,并可將第一文件的剩余數(shù)據(jù)記錄在下一個(gè)文件塊上。因此,如果FP中不存在用于進(jìn)一步記錄其它數(shù)據(jù)的`空間,則如圖4A所示第一盤(pán)讀取器130產(chǎn)生一個(gè)第一微塊,并將第一文件的全部數(shù)據(jù)或一些數(shù)據(jù)記錄在MPl上。3.另一方面,如果在已經(jīng)將第一文件的數(shù)據(jù)記錄在FP上之后存在用于記錄其它數(shù)據(jù)的空間,則第一盤(pán)讀取器130讀出接下來(lái)將被發(fā)送的第二文件,并額外產(chǎn)生MB2,使得文件塊被填滿。也就是說(shuō),第一盤(pán)讀取器130將FP的剩余空間和第二文件的全部數(shù)據(jù)大小進(jìn)行比較,并在FP的剩余空間中產(chǎn)生MB2并將第二文件的全部數(shù)據(jù)記錄在MP2上。因此,可在文件塊中產(chǎn)生兩個(gè)微塊MBl和MB2。4.如果第二文件的大小大于FP的剩余空間,則第一盤(pán)讀取器130可從第二文件讀出與FP的剩余空間相應(yīng)的數(shù)據(jù),可記錄該數(shù)據(jù),并可將第二文件的剩余數(shù)據(jù)記錄在下一個(gè)文件塊上。第一活動(dòng)的塊池140可暫時(shí)保存產(chǎn)生至少一個(gè)微塊的文件塊。也就是說(shuō),第一活動(dòng)的塊池140可暫時(shí)保存記錄了將被發(fā)送的至少一個(gè)文件的文件塊。如果將如圖4A和圖4B所示數(shù)據(jù)被記錄的多個(gè)文件塊保存在第一活動(dòng)的塊池140中,則第一通信單元150可將多個(gè)文件塊發(fā)送到第一數(shù)據(jù)接收設(shè)備200。第一通信單元150可以以并行TCP流方法將多個(gè)文件塊發(fā)送到第一數(shù)據(jù)接收設(shè)備200。為實(shí)現(xiàn)該處理,第一通信單元150上設(shè)置有多個(gè)第一套接字寫(xiě)入器151。多個(gè)第一套接字寫(xiě)入器151可檢查第一活動(dòng)的塊池140中是否存在數(shù)據(jù),并且如果存在數(shù)據(jù),則可獲得文件塊,并可將文件塊發(fā)送到第一數(shù)據(jù)接收設(shè)備200。多個(gè)第一套接字寫(xiě)入器151中的每個(gè)可同時(shí)對(duì)應(yīng)于一個(gè)TCP流,因此并行發(fā)送文件塊。多個(gè)第一套接字寫(xiě)入器151可將文件塊發(fā)送到第一不活動(dòng)的塊池 120。第一控制器160可使用至少一個(gè)處理器來(lái)控制第一數(shù)據(jù)發(fā)送設(shè)備100的上述操作。第一數(shù)據(jù)接收設(shè)備200可包括第二通信單元210、第二不活動(dòng)的塊池220、第二活動(dòng)的塊池230、第一盤(pán)寫(xiě)入器240、第二存儲(chǔ)介質(zhì)250和第二控制器260。第二通信單元210可通過(guò)并行TCP流從第一數(shù)據(jù)發(fā)送設(shè)備100接收文件塊。為實(shí)現(xiàn)該處理,第二通信單元210上設(shè)置有多個(gè)第一套接字讀取器211。多個(gè)第一套接字讀取器211通過(guò)單個(gè)TCP流分別被連接到多個(gè)第一套接字寫(xiě)入器151。第二不活動(dòng)的塊池220可保存圖3中示出的空的文件塊。保存的文件塊可用于記錄通過(guò)第二通信單元210接收的文件塊的數(shù)據(jù)。每當(dāng)文件塊被接收時(shí),第一套接字讀取器211可從第二不活動(dòng)的塊池220獲得空的文件塊,并可將接收的文件塊的數(shù)據(jù)記錄在空的文件塊上。第一套接字讀取器211可保存將接收的數(shù)據(jù)記錄在第二活動(dòng)的塊池230中的文件塊。例如,如果接收的文件塊包括圖4B所示的三個(gè)微塊MB1、MB2和MB3,則第一套接字讀取器211可以以與圖4B相同的格式將文件的頭信息和數(shù)據(jù)記錄在空的文件塊上。第一套接字讀取器211可重復(fù)上述操作,直到完成文件的包傳輸。如果接收的文件塊中的每個(gè)包括至少一個(gè)微塊,則第一盤(pán)寫(xiě)入器240可基于微塊讀出數(shù)據(jù),并可將數(shù)據(jù)記錄在第二存儲(chǔ)介質(zhì)250上。具體地講,當(dāng)?shù)谝惶捉幼肿x取器211正在執(zhí)行上述操作時(shí),第一盤(pán)寫(xiě)入器240檢查第二活動(dòng)的塊池230中是否存在文件塊。如果第二活動(dòng)的塊池230中存在文件塊,則第一盤(pán)寫(xiě)入器240可參考記錄在文件塊的MH上的信息,將記錄在MP上的數(shù)據(jù)記錄在第二存儲(chǔ)介質(zhì)250上。如果記錄在文件塊上的數(shù)據(jù)(即,MP)被記錄在第二存儲(chǔ)介質(zhì)250上,則第一盤(pán)寫(xiě)入器240可將空的文件塊發(fā)送到第二不活動(dòng)的塊池220。下面將解釋將記錄在至少一個(gè)微塊上的數(shù)據(jù)記錄在第二存儲(chǔ)介質(zhì)250上的第一盤(pán)寫(xiě)入器240的操作。首先,如果如圖4A所示文件塊包括一個(gè)微塊,則第一盤(pán)寫(xiě)入器240可識(shí)別MH的偏移,并可將記錄在MP上的數(shù)據(jù)記錄在與偏移相應(yīng)的第二存儲(chǔ)介質(zhì)250的位置上。例如,如果記錄在MP上的數(shù)據(jù)是第一文件的數(shù)據(jù)并且偏移是“0”,則第一盤(pán)寫(xiě)入器240可確定數(shù)據(jù)位于第一文件的頭區(qū)域,并可將數(shù)據(jù)記錄在第一文件將被記錄的第二存儲(chǔ)介質(zhì)250的多個(gè)區(qū)域中的頭區(qū)域上。第一盤(pán)寫(xiě)入器240可基于MH的文件大小來(lái)識(shí)別第一文件的整個(gè)大小,因此獲知將由第一文件占用的第二存儲(chǔ)介質(zhì)250的大小,并可分配用于預(yù)先記錄第一文件的區(qū)域。此外,如果如圖4B所示文件塊包括三個(gè)微塊MBl、MB2和MB3,則第一盤(pán)寫(xiě)入器240基于MHl的文件路徑來(lái)識(shí)別文件名,如果識(shí)別的文件名是第一文件,則可參考記錄在MHl上的偏移將記錄在MPl上的數(shù)據(jù)記錄在第二存儲(chǔ)介質(zhì)250上。其后,第一盤(pán)寫(xiě)入器240基于MH2的文件路徑來(lái)識(shí)別文件名,如果識(shí)別的文件名是第二文件,則可參考記錄在MH2上的偏移將記錄在MP2上的數(shù)據(jù)記錄在第二存儲(chǔ)介質(zhì)250上。對(duì)記錄在MB3上的數(shù)據(jù)進(jìn)行記錄的處理與以上描述的處理相同。第二控制器260可使用至少一個(gè)處理器控制第一數(shù)據(jù)接收設(shè)備200的上述操作。圖5是示出根據(jù)第二示例性實(shí)施例的用于并行傳輸數(shù)據(jù)的第二數(shù)據(jù)發(fā)送設(shè)備500和第二數(shù)據(jù)接收設(shè)備600的框圖。
第二數(shù)據(jù)發(fā)送設(shè)備500和第二數(shù)據(jù)接收設(shè)備600以包的形式傳輸文件并重新下載。為實(shí)現(xiàn)上述過(guò)程,第二數(shù)據(jù)發(fā)送設(shè)備500可包括第三存儲(chǔ)介質(zhì)510、列表管理單元520、第三不活動(dòng)的塊池530、第二盤(pán)讀取器540、第三活動(dòng)的塊池550、第三通信單元560和第三控制器570。圖5中示出的第三存儲(chǔ)介質(zhì)510、第三不活動(dòng)的塊池530、第二盤(pán)讀取器540、第三活動(dòng)的塊池550、第三通信單元560和第三控制器570的整體操作與以上參考圖2描述的第一存儲(chǔ)介質(zhì)110、第一不活動(dòng)的塊池120、第一盤(pán)讀取器130、第一活動(dòng)的塊池140、第一通信單元150和第一控制器160的操作相同或相似,因此省略它們的詳細(xì)描述。列表管理單元520將索引分配給將以包的形式發(fā)送到第二數(shù)據(jù)接收設(shè)備600的文件,并可把將發(fā)送的文件劃分為多個(gè)傳輸文件列表。例如,如果100個(gè)文件將被發(fā)送到第二數(shù)據(jù)接收設(shè)備600,則列表管理單元520將索引O至99分配給100個(gè)文件并將100個(gè)文件除以20,從而產(chǎn)生5個(gè)傳輸文件列表(即,第一至第五文件列表)。列表管理單元520還在每個(gè)傳輸文件列表上描述關(guān)于包括在每個(gè)傳輸文件列表中的文件的索引、文件名和整個(gè)文件大小的信息,并將傳輸文件列表發(fā)送到第二數(shù)據(jù)接收設(shè)備600。列表管理單元520可控制將被發(fā)送到第二數(shù)據(jù)接收設(shè)備600的多個(gè)傳輸文件列表。此外,列表管理單元520可在從第二數(shù)據(jù)接收設(shè)備600的列表標(biāo)識(shí)單元620接收較早發(fā)送的傳輸文件列表的響應(yīng)(例如,重新下載列表)之后,控制將被發(fā)送的下一個(gè)傳輸文件列表。圖6是示出根據(jù)示例性實(shí)施例的傳輸文件列表的結(jié)構(gòu)的視圖。參照?qǐng)D6,列表管理單元520可產(chǎn)生包括第一索引至第η索引、第一文件名至第η文件名、第一文件大小至第η文件大小以及結(jié)束標(biāo)識(shí)符的傳輸文件列表。第一索引至第η索引是分配給包括在傳輸文件列表中的η個(gè)文件的索引。第一文件名至第η文件名是與第一索引至第η索引相應(yīng)的文件的文件名。第一文件大小至第η文件大小是與第一索引至第η索引相應(yīng)的文件的大小。結(jié)束標(biāo)識(shí)符是用于指示不存在將被發(fā)送的任何其它文件的結(jié)束標(biāo)識(shí)符,并可在傳輸文件列表的末尾處被附加描述。如果將發(fā)送的文件的數(shù)量是m(m > η),則列表管理單元520可產(chǎn)生如圖6所示的兩個(gè)或更多個(gè)傳輸文件列表。參照不出傳輸文件列表的不例的圖6,傳輸文件列表包括關(guān)于第一文件至第η文
件的文件信息。具體地講,傳輸文件列表包括第一文件至第η文件的索引(0、1.....η-1)、
第一文件至第η文件的文件名(“a”、“s0.text”.....“b.jpg”)以及第一文件至第η文件
的大小(10字節(jié)、3000字節(jié)、...>1000字節(jié))。返回參照?qǐng)D5,第三通信單元560通過(guò)與并行TCP流不同的獨(dú)立信道順次將多個(gè)傳輸文件列表發(fā)送到第二數(shù)據(jù)接收設(shè)備600。當(dāng)正在順次將多個(gè)傳輸文件列表發(fā)送到第二數(shù)據(jù)接收設(shè)備600時(shí),第三通信單元560可通過(guò)并行TCP流將文件塊發(fā)送到第二數(shù)據(jù)接收設(shè)備 600。如果從第二數(shù)據(jù)接收設(shè)備600接收到重新下載列表,則第二盤(pán)讀取器540從將被發(fā)送的文件中識(shí)別與包括在重新下載列表中的索引相應(yīng)的文件,并將來(lái)自與包括在重新下載列表中的偏移相應(yīng)的識(shí)別的文件的位置的數(shù)據(jù)記錄在文件塊上,并可嘗試發(fā)送用于重新下載的數(shù)據(jù)。第二盤(pán)讀取器540可使用以上參照?qǐng)D4Α或圖4Β解釋的文件塊(或微塊)將用于重新下載的文件的數(shù)據(jù)記錄在文件塊上。第二數(shù)據(jù)接收設(shè)備600包括第四通信單元610、列表標(biāo)識(shí)單元620、第四不活動(dòng)的塊池630、第四活動(dòng)的塊池640、第二盤(pán)寫(xiě)入器650、第四存儲(chǔ)介質(zhì)660以及第四控制器670。圖5中示出的第四通信單元610、第四不活動(dòng)的塊池630、第四活動(dòng)的塊池640、第二盤(pán)寫(xiě)入器650、第四存儲(chǔ)介質(zhì)660以及第四控制器670的整體操作包括第二通信單元210、第二不活動(dòng)的塊池220、第二活動(dòng)的塊池230、第一盤(pán)寫(xiě)入器240、第二存儲(chǔ)介質(zhì)250和第二控制器260的操作,因此省略詳細(xì)的描述。第四通信單元610從第二數(shù)據(jù)發(fā)送設(shè)備500順次接收傳輸文件列表,并可響應(yīng)于傳輸文件列表將重新下載列表(由下面將描述的列表標(biāo)識(shí)單元620產(chǎn)生)發(fā)送到第二數(shù)據(jù)發(fā)送設(shè)備500。此外,當(dāng)正在接收傳輸文件列表時(shí),第四通信單元610可通過(guò)并行TCP流從第二數(shù)據(jù)發(fā)送設(shè)備500接收文件塊。傳輸文件列表是多個(gè)傳輸文件列表之一,并可包括關(guān)于包括在一個(gè)傳輸文件列表中的文件的索引、文件名和整個(gè)文件大小的信息,其中,通過(guò)對(duì)將由第二數(shù)據(jù)發(fā)送設(shè)備500發(fā)送的文件進(jìn)行劃分來(lái)產(chǎn)生所述多個(gè)傳輸文件列表。 列表標(biāo)識(shí)單元620將從第二數(shù)據(jù)發(fā)送設(shè)備500接收的傳輸文件列表和已通過(guò)文件塊接收的多個(gè)文件進(jìn)行比較,從已接收的多個(gè)文件中確定用于重新下載的文件,產(chǎn)生包括索引和偏移的重新下載列表,并將重新下載列表發(fā)送到第二數(shù)據(jù)發(fā)送設(shè)備500,其中,所述偏移指示用于確定的文件的重新下載的確定的文件的數(shù)據(jù)的開(kāi)始地址。將參照?qǐng)D8解釋由列表標(biāo)識(shí)單元620產(chǎn)生的重新下載列表。如果沒(méi)有將包括在傳輸文件列表中的文件存儲(chǔ)在第四存儲(chǔ)介質(zhì)660中,也就是說(shuō),如果首次接收傳輸文件列表,則列表標(biāo)識(shí)單元620可產(chǎn)生用于請(qǐng)求發(fā)送包括在傳輸文件列表中的所有文件的重新下載列表。圖7是示出根據(jù)示例性實(shí)施例的元文件的結(jié)構(gòu)的視圖。參照?qǐng)D7,第二盤(pán)寫(xiě)入器650可產(chǎn)生元文件,其中,所述元文件包括FB的最大傳輸大小、接收的累計(jì)文件大小、第一 MB (或FB)的大小、第i MB (或FB)的標(biāo)記以及結(jié)束標(biāo)識(shí)符。如果第一文件被接收,則FB的最大傳輸大小指示分配給傳輸?shù)谝晃募奈募K的最大傳輸容量。接收的累計(jì)文件大小是通過(guò)至少一個(gè)文件塊接收的第一文件的累計(jì)大小(累計(jì)量)。例如,如果通過(guò)三個(gè)文件塊接收第一文件,則接收的累計(jì)文件大小是記錄在三個(gè)文件塊上的第一文件的大小的總和。如果沒(méi)有接收到傳輸?shù)谝晃募奈募K之一,則第一文件的接收的累計(jì)文件大小會(huì)小于第一文件的真實(shí)大小。第一 MB的大小是最初發(fā)送第一文件的微塊的大小,并會(huì)小于或等于FP的MP的最大大小。這是因?yàn)槿绻谝?MB的大小小于FP,則至少兩個(gè)文件被記錄在一個(gè)文件塊上。第
iMB的標(biāo)記是指示在連續(xù)發(fā)送第一文件之后MB是否被接收的信息。i = 2,3,...m(m是正整數(shù))。如果fi =0,則沒(méi)有接收到記錄了第一文件的數(shù)據(jù)的第i MB,如果fi = 1,則接收到第i MB。參照示出元文件的示例的圖7,如果一個(gè)FB最多發(fā)送I兆字節(jié)的數(shù)據(jù),則第二盤(pán)寫(xiě)入器650將I兆字節(jié)記錄在“FB的最大傳輸大小”中。如果通過(guò)四個(gè)文件塊(第一文件塊至第四文件塊)接收到第一文件,則第二盤(pán)寫(xiě)入器650將作為記錄在四個(gè)文件塊上的第一文件的大小的總和的2.5兆字節(jié)記錄在“接收的累計(jì)文件大小”中。如果第一文件塊首先發(fā)送第一文件,則第二盤(pán)寫(xiě)入器650將記錄在第一文件塊上的第一文件的數(shù)據(jù)的大小(即,記錄第一文件的數(shù)據(jù)的MB的大小)記錄在“第一 MB的大小”中。如果正常地接收到記錄第一文件的剩余數(shù)據(jù)的第二文件塊和第四文件塊,但沒(méi)有接收到第三文件塊,則第二盤(pán)寫(xiě)入器650將“ I ”記錄在“ f 2 ”中,將“ O ”記錄在“ f 3 ”中,并將“ I ”記錄在“ f4 ”中。第二盤(pán)寫(xiě)入器650可產(chǎn)生元文件,并可參考記錄在MH上的偏移來(lái)同時(shí)將記錄在MP上的數(shù)據(jù)存儲(chǔ)在第四存儲(chǔ)介質(zhì)660中。可將產(chǎn)生的元文件存儲(chǔ)在由第二盤(pán)寫(xiě)入器650使用的存儲(chǔ)器(未示出)中。因此,存儲(chǔ)器可存儲(chǔ)從第二數(shù)據(jù)發(fā)送設(shè)備500接收的文件的元文件。第二盤(pán)寫(xiě)入器650可產(chǎn)生關(guān)于通過(guò)至少一個(gè)文件塊接收的至少一個(gè)文件中的每個(gè)文件的元文件。如果確定在沒(méi)有斷開(kāi)或遺漏的情況下發(fā)送了所有文件,則第二盤(pán)寫(xiě)入器650可刪除元文件。如果元文件的所有標(biāo)記是I并且第一 MB的大小不是0,則第二盤(pán)寫(xiě)入器650確定接收到所有文件并將其存儲(chǔ)在第四存儲(chǔ)介質(zhì)660中。以下,將描述參考存儲(chǔ)在存儲(chǔ)器中的元文件來(lái)產(chǎn)生重新下載列表的列表標(biāo)識(shí)單元620的操作以及重新發(fā)送用于重新下載的文件的數(shù)據(jù)的列表管理單元520的操作。如果與文件名相應(yīng)的文件是作為已經(jīng)接收的多個(gè)文件之一的第一文件,并且如果第一文件的元文件存在,則列表標(biāo)識(shí)單元620可確定第一文件是用于重新下載的文件,其中,所述文件名包括在從第二數(shù)據(jù)發(fā)送設(shè)備500接收的傳輸文件列表中。也就是說(shuō),列表標(biāo)識(shí)單元620識(shí)別包括在傳輸文件列表中的文件,并從識(shí)別用于重新下載的文件中確定包括元文件的文件。列表標(biāo)識(shí)單元620可使用關(guān)于用于重新下載的文件的信息來(lái)產(chǎn)生重新下載列表。圖8是示出根據(jù)示例性實(shí)施例的重新下載列表的結(jié)構(gòu)的視圖。參照?qǐng)D8,列表標(biāo)識(shí)單元620可產(chǎn)生包括用于重新下載的文件的索引、偏移和結(jié)束標(biāo)識(shí)符的重新下載列表。列表標(biāo)識(shí)單元620可不包括用于重新下載的文件的文件名,以最小化將發(fā)送的數(shù)據(jù)量。該處理是可選的。用于重新下載的文件的索引是分配給文件的唯一的標(biāo)識(shí)符,并可通過(guò)圖6的傳輸文件列表來(lái)獲知。偏移指示用于重新下載的文件的數(shù)據(jù)的開(kāi)始地址。如果將關(guān)于包括在傳輸文件列表中的多個(gè)文件中的用于重新下載的文件的信息記錄在重新下載列表,則結(jié)束標(biāo)識(shí)符是通知在當(dāng)前傳輸文件列表中不存在用于重新下載的任何其它文件的結(jié)束定界符。參照示出重新下載列表的示例的圖8,如果包括在一個(gè)傳輸文件列表中的多個(gè)文件中的被確定為重新下載的文件的索引是“O”和“3”,則列表標(biāo)識(shí)單元620將“O”和“3”記錄在索引區(qū)域。列表標(biāo)識(shí)單元620可參考第一 MB的大小和相應(yīng)的元文件的標(biāo)記信息來(lái)計(jì)算作為用于重新下載的數(shù)據(jù)的開(kāi)始地址的偏移。具體地講,如果第一文件被確定為重新下載并且第一文件通過(guò)多個(gè)文件塊被接收,并且如果首先發(fā)送第一文件的第一文件塊α = I)的傳輸容量(第一 MB的大小)在第一文件的元文件上被記錄為0,則列表標(biāo)識(shí)單元620可產(chǎn)生第一文件的偏移是O的重新下載列表。在這種情況下,第二數(shù)據(jù)發(fā)送設(shè)備500從開(kāi)始就重新發(fā)送第一文件。此外,如果第一文件通過(guò)多個(gè)文件塊被接收,并且如果首先發(fā)送第一文件的第一文件塊α = D的傳輸容量在元文件上被記錄為k字節(jié)(k是正整數(shù))并且第i α = 2,3,...m)次發(fā)送第一文件的文件塊的標(biāo)記是O,則列表標(biāo)識(shí)單元620可將“k字節(jié)+ (1-2) Xn字節(jié)”計(jì)算為第一文件的偏移。η字節(jié)是圖7中示出的“FB的最大傳輸大小”。參照示出重新下載列表的示例的圖8,如果包括在一個(gè)傳輸文件列表中的文件中的被確定為重新下載的第一文件和第二文件的索引分別是“O”和“3”,則列表標(biāo)識(shí)單元620將“O”和“3”記錄在索引區(qū)域上。如果圖7的元文件的示例是第一文件的元文件,則列表標(biāo)識(shí)單元620以如下方式計(jì)算第一文件的偏移:偏移=k字節(jié)+ (1-2) Xn字節(jié)=0.5兆字節(jié)+(3_2) X I兆字節(jié)=1.5兆字節(jié)因此,如圖8所示,列表標(biāo)識(shí)單元620可將作為第一文件的索引的“O”和作為偏移的1.5兆字節(jié)記錄在重新下載列表上。如圖8所示,以相同的方式,列表標(biāo)識(shí)單元620可將作為第二文件的索引的“3”和作為“偏移”的1530字節(jié)記錄在重新下載列表上。接收?qǐng)D8中示出的重新下載列表的第二數(shù)據(jù)發(fā)送設(shè)備500可識(shí)別與包括在重新下載列表中的索引相應(yīng)的文件,并可使用文件塊以包的形式將來(lái)自與偏移相應(yīng)的位置(或下一個(gè)位置)的識(shí)別的文件的數(shù)據(jù)重新發(fā)送到第二數(shù)據(jù)接收設(shè)備600??勺鳛榫€程對(duì)根據(jù)第二示例性實(shí)施例的如下單元進(jìn)行操作,因此可同時(shí)執(zhí)行多個(gè)操作:列表管理單元520、列表標(biāo)識(shí)單元620、第二盤(pán)讀取器540、第二盤(pán)寫(xiě)入器650、第二套接字寫(xiě)入器561和第二套接字讀取器611。圖9是示出根據(jù)第一示例性實(shí)施例的用于并行傳輸數(shù)據(jù)的方法的流程圖。圖9的執(zhí)行用于并行傳輸數(shù)據(jù)的方法的第一數(shù)據(jù)發(fā)送設(shè)備可以是以上參照?qǐng)D2解釋的第一數(shù)據(jù)發(fā)送設(shè)備100。參照?qǐng)D9,第一數(shù)據(jù)發(fā)送設(shè)備可從用戶接收關(guān)于多個(gè)文件的包傳輸?shù)恼?qǐng)求(S910)。以下,作為示例將解釋第一文件和第二文件的包傳輸。第一數(shù)據(jù)發(fā)送設(shè)備可從存儲(chǔ)介質(zhì)讀出請(qǐng)求以包的形式發(fā)送的多個(gè)文件中的第一文件的數(shù)據(jù),并可產(chǎn)生MB(S920)。在操作S920,第一數(shù)據(jù)發(fā)送設(shè)備可在讀出第一文件的數(shù)據(jù)之前,通過(guò)將從不活動(dòng)的塊池讀出的FP的最大大小和第一文件的整個(gè)大小進(jìn)行比較來(lái)產(chǎn)生MB。下面將參照?qǐng)D10解釋該處理。第一數(shù)據(jù)發(fā)送設(shè)備可將讀出的數(shù)據(jù)記錄在產(chǎn)生的MB的MP上,并使用MB填充FP(S930)。第一數(shù)據(jù)發(fā)送設(shè)備檢查FP中是否存在用于額外記錄數(shù)據(jù)的剩余區(qū)域(S940)。如果不存在剩余區(qū)域(S940-否),則第一數(shù)據(jù)發(fā)送設(shè)備可以以并行TCP流方法將FP被數(shù)據(jù)填充的FB發(fā)送到第一數(shù)據(jù)接收設(shè)備。另一方面,如果存在剩余區(qū)域(S940-是),則可檢查是否將以包的形式發(fā)送的所有文件被記錄在FB上(S960)。在操作S960,第一數(shù)據(jù)發(fā)送設(shè)備可確定第一文件被記錄在FB上,并可檢查是否存在將額外發(fā)送的第二文件。如果記錄了將以包的形式發(fā)送的所有文件(S960-是),則第一數(shù)據(jù)發(fā)送設(shè)備可將FP的部分為空的FB發(fā)送到第一數(shù)據(jù)接收設(shè)備(S970)。如果將以包的形式發(fā)送的文件剩余(S960-否),則第一數(shù)據(jù)發(fā)送設(shè)備重新操作S920,以讀出第二文件的數(shù)據(jù),并可重復(fù)操作S920至S970。圖10是詳細(xì)示出圖9的用于并行傳輸數(shù)據(jù)的方法的流程圖。參照?qǐng)D10,第一數(shù)據(jù)發(fā)送設(shè)備可從用戶接收關(guān)于多個(gè)文件的包傳輸?shù)恼?qǐng)求(SlOOO)。以下,作為示例將解釋第η文件和第(η+1)文件的包傳輸。第一數(shù)據(jù)發(fā)送設(shè)備可將分配給FB的MP的最大大小和第η文件的數(shù)據(jù)大小進(jìn)行比較(S1005)。在操作S1005,第一數(shù)據(jù)發(fā)送設(shè)備從不活動(dòng)的塊池獲得FB,從第一存儲(chǔ)介質(zhì)讀出第η文件,并比較大小。如果最大MP大于第η文件的數(shù)據(jù)(S1010-是),則第一數(shù)據(jù)發(fā)送設(shè)備可產(chǎn)生與第η文件的數(shù)據(jù)大小相應(yīng)的微塊(以下,MBn) (S1015)。第一數(shù)據(jù)發(fā)送設(shè)備可分別將第η文件的頭信息和數(shù)據(jù)記錄在MBn的MHn和MPn上(S1020)。以上已參照?qǐng)D4Α描述了在操作S1020記錄的頭信息。第一數(shù)據(jù)發(fā)送設(shè)備檢查是否記錄了已請(qǐng)求將以包的形式發(fā)送的第(η+1)文件,并且如果沒(méi)有記錄,則可將在從FP排除了 MBn之后剩余的最大MP與第(η+1)文件的數(shù)據(jù)大小進(jìn)行比較(S1030)。第一數(shù)據(jù)發(fā)送設(shè)備設(shè)置“n = n+1”(S1035),并重新開(kāi)始操作S1010,以重復(fù)操作S1015 至 S1020。另一方面,如果檢查到記錄了第(η+1)文件(S1025-是),則第一數(shù)據(jù)發(fā)送設(shè)備可將FP的部分為空的FB發(fā)送到第一數(shù)據(jù)接收設(shè)備(S1040)。將第η文件和第(η+1)文件記錄在操作S1040發(fā)送的文件塊上,使得它們可以以包的形式被發(fā)送。另一方面,在操作S1010,如果最大MP與第η文件的數(shù)據(jù)大小相同(S1045-是),則第一數(shù)據(jù)發(fā)送設(shè)備產(chǎn)生與第η文件的數(shù)據(jù)大小相應(yīng)的MBn(S1050)。第一數(shù)據(jù)發(fā)送設(shè)備可將第η文件的頭信息和數(shù)據(jù)記錄在MBn的MHn和MPn上(S1055)。如果記錄了第η文件的數(shù)據(jù),則第一數(shù)據(jù)發(fā)送設(shè)備檢查是否記錄了已請(qǐng)求以包的形式發(fā)送的第(η+1)文件,并且如果沒(méi)有記錄(S1060-否),則第一數(shù)據(jù)發(fā)送設(shè)備設(shè)置“η =n+1” (S1065)并重新開(kāi)始操作S1005。另一方面,如果檢查到記錄了第(η+1)文件(S1060-是),則第一數(shù)據(jù)發(fā)送設(shè)備可將FP被填充的FB發(fā)送到第一數(shù)據(jù)接收設(shè)備(S1070)。將第η文件和第(η+1)文件記錄在操作S1070發(fā)送的文件塊上,并以包的形式發(fā)送第η文件和第(η+1)文件。另一方面,如果最大MP與第η文件的數(shù)據(jù)大小不同(S1045-否),并且如果第η文件的數(shù)據(jù)大小大于最大MP (S1075),則第一數(shù)據(jù)發(fā)送設(shè)備可產(chǎn)生與最大MP的大小相應(yīng)的MBn(S1080)。第一數(shù)據(jù)發(fā)送設(shè)備可將第η文件的頭信息和數(shù)據(jù)記錄在MBn的MHn和MPn上(S1085)。第一數(shù)據(jù)發(fā)送設(shè)備可將第η文件的剩余數(shù)據(jù)的大小和下一個(gè)FB的最大MP的大小進(jìn)行比較(S1090)。第一數(shù)據(jù)發(fā)送設(shè)備設(shè)置“FB =下一個(gè)FB”,設(shè)置“第η文件的大小=第η文件的剩余數(shù)據(jù)的大小”(S1095),并可重新開(kāi)始操作S1010。因此第一數(shù)據(jù)發(fā)送設(shè)備重復(fù)操作S1010至S1095,使得將第η文件的剩余數(shù)據(jù)記錄在下一個(gè)FB上。圖11是示出根據(jù)示例性實(shí)施例的用于并行接收數(shù)據(jù)的方法的流程圖。執(zhí)行圖11的用于并行接收數(shù)據(jù)的方法的第一數(shù)據(jù)接收設(shè)備可以是以上已參照?qǐng)D2描述的第一數(shù)據(jù)接收設(shè)備200。
參照?qǐng)D11,第一數(shù)據(jù)接收設(shè)備可將從第一數(shù)據(jù)發(fā)送設(shè)備接收的FB的頭信息和數(shù)據(jù)記錄在空的FB上(SlllO)。如果在操作SlllO接收的FB包括多個(gè)MB,則第一數(shù)據(jù)接收設(shè)備可將空的FB劃分為多個(gè)MB,并可以以相同的方式記錄數(shù)據(jù)。第一數(shù)據(jù)接收設(shè)備保存將頭信息和數(shù)據(jù)記錄在活動(dòng)的塊池中的FB(S1120)。第一數(shù)據(jù)接收設(shè)備可基于MB從保存在活動(dòng)塊池中的文件塊讀出數(shù)據(jù),并可將數(shù)據(jù)記錄在第二存儲(chǔ)介質(zhì)(SI 130)。在操作SI 130,第一數(shù)據(jù)接收設(shè)備可參考記錄在MH上的偏移將記錄在MP上的數(shù)據(jù)記錄在第二存儲(chǔ)介質(zhì)上。如果FB中存在剩余的MB(S1140_是),則第一數(shù)據(jù)接收設(shè)備重復(fù)操作S1130。另一方面,如果FB中不存在剩余的微塊(S1140-否),也就是說(shuō),如果記錄在FP上的所有數(shù)據(jù)都記錄在第二存儲(chǔ)介質(zhì)上,則檢查活動(dòng)的塊池中是否存在其它FB(S1150)。如果活動(dòng)的塊池中存在其它FB(S1150_是),則第一數(shù)據(jù)接收設(shè)備重新開(kāi)始操作
SlllOo另一方面,如果活動(dòng)的塊池中不存在任何其它FB(S1150_否),則第一數(shù)據(jù)接收設(shè)備檢查請(qǐng)求以包的形式發(fā)送的文件是否已被存儲(chǔ)(S1160)。在操作S1160,如果記錄在MH的文件大小上的大小與實(shí)際接收的數(shù)據(jù)的大小相等,則第一數(shù)據(jù)接收設(shè)備檢查文件是否已被存儲(chǔ)。如果檢查到文件已被存儲(chǔ)(S1160-是),則第一數(shù)據(jù)接收設(shè)備可將接收完成消息發(fā)送到第一數(shù)據(jù)發(fā)送設(shè)備,以通知文件已以包的形式被接收(S1170)。如果檢查到文件沒(méi)有被存儲(chǔ)(SI 160-否),則第一數(shù)據(jù)接收設(shè)備可重新開(kāi)始操作S1150。圖12是示出根據(jù)另一示例性實(shí)施例的用于并行發(fā)送和接收數(shù)據(jù)的方法的流程圖。執(zhí)行圖12的用于并行發(fā)送和接收數(shù)據(jù)的第二數(shù)據(jù)發(fā)送設(shè)備和第二數(shù)據(jù)接收設(shè)備可以是以上已參照?qǐng)D5描述的第二數(shù)據(jù)發(fā)送設(shè)備500和第二數(shù)據(jù)接收設(shè)備600。參照?qǐng)D12,第二數(shù)據(jù)發(fā)送設(shè)備可從用戶接收關(guān)于多個(gè)文件的包傳輸?shù)恼?qǐng)求(S1205)。第二數(shù)據(jù)發(fā)送設(shè)備可將以包形式發(fā)送的文件劃分為多個(gè)組(S1210)。第二數(shù)據(jù)發(fā)送設(shè)備可產(chǎn)生如圖6所示的使用屬于每個(gè)組的文件的傳輸文件列表(S1215)。也就是說(shuō),第二數(shù)據(jù)發(fā)送設(shè)備可產(chǎn)生關(guān)于一個(gè)組的一個(gè)傳輸文件列表。傳輸文件列表包括關(guān)于屬于一個(gè)組的文件的索引、文件名和整個(gè)文件大小的信息。第二數(shù)據(jù)發(fā)送設(shè)備可將在操作S1215產(chǎn)生的傳輸文件列表發(fā)送到第二數(shù)據(jù)接收設(shè)備(S1220)。當(dāng)正在發(fā)送產(chǎn)生的傳輸文件列表時(shí),第二數(shù)據(jù)發(fā)送設(shè)備檢查關(guān)于其它組的傳輸文件列表的產(chǎn)生是否已完成(S1225)。如果沒(méi)有完成關(guān)于其它組的傳輸文件列表的產(chǎn)生(S1225-否),則第二數(shù)據(jù)發(fā)送設(shè)備可重復(fù)操作S1215和S1220,以產(chǎn)生關(guān)于其它組的傳輸文件列表并發(fā)送傳輸文件列表。第二數(shù)據(jù)接收設(shè)備可將在操作S1220接收的傳輸文件列表和已通過(guò)FB接收的多個(gè)文件進(jìn)行比較,可從已接收的多個(gè)文件中確定將被重新下載的文件,并可產(chǎn)生包括索引和偏移的重新下載列表,其中,所述偏移指示確定為確定的文件的重新下載的文件的數(shù)據(jù)的開(kāi)始地址(S1230)。下面將參照?qǐng)D13詳細(xì)解釋操作S1230。第二數(shù)據(jù)接收設(shè)備可將產(chǎn)生的重新下載列表發(fā)送到第二數(shù)據(jù)發(fā)送設(shè)備(S1235)。第二數(shù)據(jù)發(fā)送設(shè)備可參考接收的重新下載列表將以包的形式發(fā)送的文件的數(shù)據(jù)記錄在至少一個(gè)FB上(S1240)。在操作S1240,第二數(shù)據(jù)發(fā)送設(shè)備可如以上參照?qǐng)D9和圖10所述基于MB將數(shù)據(jù)記錄在FB上。第二數(shù)據(jù)發(fā)送設(shè)備可將在操作S1240記錄了數(shù)據(jù)的至少一個(gè)FB發(fā)送到第二數(shù)據(jù)接收設(shè)備(S1245)。在操作S1240和操作S1245,第二數(shù)據(jù)發(fā)送設(shè)備可識(shí)別與包括在來(lái)自第三存儲(chǔ)介質(zhì)中的重新下載列表中的索引相應(yīng)的文件,并可使用FB以包的形式從與偏移相應(yīng)的識(shí)別的文件的位置(或下一個(gè)位置)將數(shù)據(jù)初始發(fā)送或重新發(fā)送到第二數(shù)據(jù)接收設(shè)備。例如,如果重新下載列表的偏移是“0”,則第二數(shù)據(jù)發(fā)送設(shè)備可從開(kāi)始就發(fā)送文件,并且如果偏移是m字節(jié)(m是正整數(shù))而不是“0”,則第二數(shù)據(jù)發(fā)送設(shè)備可從與m字節(jié)相應(yīng)的文件的位置發(fā)送數(shù)據(jù)。第二數(shù)據(jù)接收設(shè)備可將接收的至少一個(gè)FB的頭信息和數(shù)據(jù)記錄在至少一個(gè)空的FB上(S1250)。如果接收的FB包括多個(gè)MB,則第二數(shù)據(jù)接收設(shè)備可將空的FB劃分為多個(gè)MB,并可以以與操作S1250相同的方式記錄數(shù)據(jù)。第二數(shù)據(jù)接收設(shè)備順次將記錄了頭信息和數(shù)據(jù)的至少一個(gè)文件塊保存在活動(dòng)的塊池中(S1255) ο第二數(shù)據(jù)接收設(shè)備可檢查被保存在活動(dòng)的塊池中的FB中是否存在記錄在微文件凈荷(以下,第一文件)上的文件的元文件(S1260)。如果第二數(shù)據(jù)接收設(shè)備中不存在第一文件的元文件(S1260-否),則第二數(shù)據(jù)接收設(shè)備可產(chǎn)生第一文件的元文件(S1265)。在操作S1265,第二數(shù)據(jù)接收設(shè)備可產(chǎn)生與圖7相同的格式的元文件。第二數(shù)據(jù)接收設(shè)備可將記錄在FB的MP上的第一文件的數(shù)據(jù)存儲(chǔ)在第四存儲(chǔ)介質(zhì)中(S1270)。如果通過(guò)多個(gè)文件塊接收第一文件,則每當(dāng)接收FB時(shí)第二數(shù)據(jù)接收設(shè)備可更新元文件(S1275)。如果將記錄在FB上的所有數(shù)據(jù)記錄在第四存儲(chǔ)介質(zhì)上,則第二數(shù)據(jù)接收設(shè)備可檢查活動(dòng)的塊池中是否存在其它FB(S1280)。如果活動(dòng)的塊池中存在其它FB(S1280_是),則第二數(shù)據(jù)接收設(shè)備重新開(kāi)始操作S1260。另一方面,如果活動(dòng)的塊池中不存在任何其它FB(S1280_否),則第二數(shù)據(jù)接收設(shè)備可檢查是否已完成文件的存儲(chǔ),并可將接收完成消息發(fā)送到第二數(shù)據(jù)發(fā)送設(shè)備,以通知已完成用于重新下載的文件的接收或文件包的接收(S1285)。在用于并行發(fā)送和接收數(shù)據(jù)的上述方法中,當(dāng)?shù)诙?shù)據(jù)接收設(shè)備產(chǎn)生重新下載列表時(shí),第二數(shù)據(jù)發(fā)送設(shè)備可并行執(zhí)行操作S1215至S1225,并且當(dāng)?shù)诙?shù)據(jù)發(fā)送設(shè)備執(zhí)行操作S1215至S1235時(shí),第二數(shù)據(jù)發(fā)送設(shè)備可并行執(zhí)行操作S1240至S1245。圖13是詳細(xì)示出圖12的操作S1230的流程圖。參照?qǐng)D13,第二數(shù)據(jù)接收設(shè)備從第二數(shù)據(jù)發(fā)送設(shè)備接收傳輸文件列表(S1300)。第二數(shù)據(jù)接收設(shè)備檢查包括在接收的傳輸文件列表中的多個(gè)文件中的將在當(dāng)前處理的第一文件是否存儲(chǔ)在第四存儲(chǔ)介質(zhì)中(S1310)。第二數(shù)據(jù)接收設(shè)備可通過(guò)將記錄在傳輸文件列表上的第一文件的文件名或索引與存儲(chǔ)在第四存儲(chǔ)介質(zhì)中的文件名或索引進(jìn)行比較,來(lái)檢查是否存儲(chǔ)了第一文件。如果第一文件存儲(chǔ)在第四存儲(chǔ)介質(zhì)中(S1310-是),則第二數(shù)據(jù)接收設(shè)備可檢查記錄在傳輸文件列表上的第一文件的大小是否與存儲(chǔ)在第四存儲(chǔ)介質(zhì)中的第一文件的大小相等以及第一文件的元文件是否存儲(chǔ)在存儲(chǔ)器中(S1320)。如果所述的大小彼此相等,并且如果沒(méi)有存儲(chǔ)第一文件的元文件(S1320-是),則第二數(shù)據(jù)接收設(shè)備確定完成了第一文件的傳輸,并不重新下載(S1330)。另一方面,如果所述大小彼此相等但存儲(chǔ)了第一文件的元文件,或者,如果所述大小不同并且沒(méi)有存儲(chǔ)元文件(S1320-否),則第二數(shù)據(jù)接收設(shè)備檢查元文件的第一微塊(第一 MB)的大小是否是“O”(S1340)。如果元文件的第一 MB的大小不是“O” (S1340-否),則自從接收到首次發(fā)送第一文件的文件塊(或微塊),第二數(shù)據(jù)接收設(shè)備設(shè)置i = 2(i是第i次發(fā)送第一文件的MB)(S1350)。第二數(shù)據(jù)接收設(shè)備可檢查作為第二 MB的標(biāo)記的fi(i = 2)是否是“O” (S1360)。如果在操作S1360 fi = 0(i = 2) (S1360-Y),則第二數(shù)據(jù)接收設(shè)備可確定沒(méi)有接收到已發(fā)送第一文件的第二文件塊,并可計(jì)算作為重新下載的地址的偏移(S1370)。在操作S1370,第二數(shù)據(jù)接收設(shè)備可使用“偏移=k字節(jié)+(1-2) Xn字節(jié)”來(lái)計(jì)算第一文件的偏移。計(jì)算的偏移可以與記錄在第一文件的元文件上的接收的累計(jì)文件大小相等。第二數(shù)據(jù)接收設(shè)備可將第一文件的索引和在操作S1370計(jì)算的偏移記錄在重新下載列表上(S1380)。圖13示出獲得包括在一個(gè)傳輸文件列表中的多個(gè)文件中的第一文件的偏移的處理,第二數(shù)據(jù)接收設(shè)備可針對(duì)包括在傳輸文件列表中的所有文件重復(fù)操作S1320至S1380。因此,第二數(shù)據(jù)接收設(shè)備可最終產(chǎn)生作為一個(gè)傳輸文件列表的響應(yīng)的重新下載列表,并可將重新下載列表發(fā)送到第二數(shù)據(jù)發(fā)送設(shè)備。雖然以上已特別地示出和描述了示例性實(shí)施例,但本領(lǐng)域的普通技術(shù)人員將理解,在不脫離由權(quán)利要求限定的本發(fā)明的精神和范圍的情況下,可在形式和細(xì)節(jié)上對(duì)示例性實(shí)施例進(jìn)行各種改變。
權(quán)利要求
1.一種發(fā)送多個(gè)文件的數(shù)據(jù)發(fā)送設(shè)備,包括: 盤(pán)讀取器,將文件塊劃分為一個(gè)或多個(gè)微塊,從多個(gè)文件讀出與一個(gè)或多個(gè)微塊中的每個(gè)的大小相應(yīng)的數(shù)據(jù),并順次將所述數(shù)據(jù)記錄在多個(gè)微塊上; 通信單元,如果數(shù)據(jù)被記錄在包括在所述文件塊中的一個(gè)或多個(gè)微塊上,則將所述文件塊發(fā)送到數(shù)據(jù)接收設(shè)備。
2.按權(quán)利要求1所述的數(shù)據(jù)發(fā)送設(shè)備,其中,盤(pán)讀取器將多個(gè)文件中的第一文件的數(shù)據(jù)記錄在多個(gè)微塊上,并且如果存在剩余的微塊,則將多個(gè)文件中的第二文件的數(shù)據(jù)記錄在剩余的微塊上。
3.按權(quán)利要求1所述的數(shù)據(jù)發(fā)送設(shè)備,其中,所述一個(gè)或多個(gè)微塊中的每個(gè)被劃分為一個(gè)微塊頭和一個(gè)微塊凈荷, 其中,盤(pán)讀取器將偏移記錄在微塊頭上,并將數(shù)據(jù)記錄在微塊凈荷上,其中,所述偏移指示記錄在微塊上的數(shù)據(jù)的地址。
4.按權(quán)利要求3所述的數(shù)據(jù)發(fā)送設(shè)備,其中,如果整個(gè)文件塊被多個(gè)文件中的第一文件的數(shù)據(jù)填充,則盤(pán)讀取器將所述文件塊劃分為一個(gè)微塊頭和一個(gè)微塊凈荷。
5.按權(quán)利要求1所述的數(shù)據(jù)發(fā)送設(shè)備,還包括:列表管理單元,從將發(fā)送到數(shù)據(jù)接收設(shè)備的所有文件產(chǎn)生多個(gè)傳輸文件列表,并將所述多個(gè)傳輸文件列表發(fā)送到數(shù)據(jù)接收設(shè)備, 其中,多個(gè)傳輸文件列表中的每個(gè)包括關(guān)于包括在每個(gè)傳輸文件列表中的文件的索弓丨、文件名和整個(gè)文件大小的信息。
6.按權(quán)利要求5所述的數(shù)據(jù)發(fā)送設(shè)備,其中,當(dāng)多個(gè)傳輸文件列表被順次發(fā)送到數(shù)據(jù)接收設(shè)備時(shí),通信單元使用并行流發(fā)送包括記錄了所有數(shù)據(jù)的多個(gè)微塊的文件塊。
7.按權(quán)利要求5所述的數(shù)據(jù)發(fā)送設(shè)備,其中,盤(pán)讀取器從多個(gè)文件中識(shí)別與包括在從數(shù)據(jù)接收設(shè)備接收的重新下載列表中的索引相應(yīng)的文件,并通過(guò)將來(lái)自與包括在重新下載列表中的偏移相應(yīng)的位置的識(shí)別的文件的數(shù)據(jù)記錄在文件塊上,來(lái)開(kāi)始用于重新下載的發(fā)送, 其中,重新下載列表包括被確定為重新下載的文件的索引和偏移,所述偏移指示被確定為重新下載的文件的數(shù)據(jù)的開(kāi)始地址。
8.一種數(shù)據(jù)接收設(shè)備,包括: 通信單元,從數(shù)據(jù)發(fā)送設(shè)備接收多個(gè)作為數(shù)據(jù)傳輸單位的文件塊; 盤(pán)寫(xiě)入器,如果多個(gè)文件塊中的每個(gè)包括一個(gè)或多個(gè)作為用于記錄至少一個(gè)文件的數(shù)據(jù)的單位的微塊,則基于微塊讀出數(shù)據(jù)并將數(shù)據(jù)記錄在存儲(chǔ)介質(zhì)上。
9.按權(quán)利要求8所述的數(shù)據(jù)接收設(shè)備,其中,一個(gè)或多個(gè)微塊中的每個(gè)包括微塊頭和微塊凈荷, 其中,盤(pán)寫(xiě)入器參考記錄在微塊頭上的偏移將記錄在微塊凈荷上的數(shù)據(jù)記錄在存儲(chǔ)介質(zhì)上,所述偏移指示記錄在微塊上的數(shù)據(jù)的地址。
10.按權(quán)利要求8所述的數(shù)據(jù)接收設(shè)備,其中,一個(gè)或多個(gè)微塊中的每個(gè)包括微塊頭和微塊凈荷, 其中,盤(pán)寫(xiě)入器參考記錄在微塊頭上的文件路徑將通過(guò)文件塊接收的至少一個(gè)文件記錄在存儲(chǔ)介質(zhì)上。
11.按權(quán)利要求8所述的數(shù)據(jù)接收設(shè)備,還包括:列表標(biāo)識(shí)單元,使用通過(guò)通信單元從數(shù)據(jù)發(fā)送設(shè)備接收傳輸文件列表來(lái)從多個(gè)已接收的多個(gè)文件中確定用于重新下載的文件,產(chǎn)生包括確定的文件的索引和偏移的重新下載列表,所述偏移指示被確定為重新下載的文件的數(shù)據(jù)的開(kāi)始地址,并將重新下載列表發(fā)送到數(shù)據(jù)發(fā)送設(shè)備, 其中,傳輸文件列表是通過(guò)由數(shù)據(jù)發(fā)送設(shè)備劃分將發(fā)送到通信單元的所有文件而產(chǎn)生的多個(gè)傳輸文件列表之一,并且傳輸文件列表包括關(guān)于包括在一個(gè)傳輸文件列表中的文件的索引、文件名和整個(gè)文件大小的信息。
12.權(quán)利要求11所述的數(shù)據(jù)接收設(shè)備,其中,如果與包括在接收的傳輸文件列表中的文件名相應(yīng)的文件是作為已接收的多個(gè)文件之一的第一文件,并且如果存在第一文件的元文件,則列表標(biāo)識(shí)單元將第一文件確定為用于重新下載的文件, 其中,所述元文件包括指示關(guān)于是否完成第一文件的傳輸?shù)男畔⒌臉?biāo)記。
13.按權(quán)利要求12所述的數(shù)據(jù)接收設(shè)備,其中,如果通過(guò)多個(gè)文件塊接收第一文件,并且如果在元文件上將多個(gè)文件塊中的首次發(fā)送第一文件的第一文件塊的傳輸量記錄為“O”,則列表標(biāo)識(shí)單元產(chǎn)生第一文件的偏移是“O”的重新下載列表, 其中,數(shù)據(jù)發(fā)送設(shè)備從開(kāi)始就重新發(fā)送第一文件。
14.按權(quán)利要求12所述的數(shù)據(jù)接收設(shè)備,其中,如果通過(guò)多個(gè)文件塊接收第一文件,在元文件上將多個(gè)文件塊中的首次發(fā)送第一文件的第一文件塊α = 1)的傳輸量記錄為“k字節(jié)”(k是正整數(shù)),并且第i次(i = 2,3,...m)發(fā)送第一文件的文件塊的標(biāo)記是“O”,則列表標(biāo)識(shí)單元產(chǎn)生第一文件的偏移是“k字節(jié)+(1-2) Xn字節(jié)”的重新下載列表, 其中,η字節(jié)是文件塊的最大傳輸大小。
15.按權(quán)利要求12所述的數(shù)據(jù)接收設(shè)備,其中,盤(pán)寫(xiě)入器產(chǎn)生通過(guò)文件塊接收的第一文件的元文件, 其中,第一文件的元文件包括:第一文件塊的最大傳輸大小、第一文件的接收的累計(jì)文件大小、多個(gè)文件塊中的首次發(fā)送第一文件的第一文件塊的大小,以及指示在第一文件被連續(xù)發(fā)送之后是否接收到下一個(gè)文件塊的標(biāo)記。
16.一種發(fā)送多個(gè)文件的用于發(fā)送數(shù)據(jù)的方法,所述方法包括: 將文件塊劃分為一個(gè)或多個(gè)微塊,從多個(gè)文件讀出與一個(gè)或多個(gè)微塊中的每個(gè)的大小相應(yīng)的數(shù)據(jù),并順次將所述數(shù)據(jù)記錄在多個(gè)微塊上; 如果將數(shù)據(jù)記錄在包括在所述文件塊中的一個(gè)或多個(gè)微塊上,則將所述文件塊發(fā)送到數(shù)據(jù)接收設(shè)備。
17.按權(quán)利要求16所述的方法,其中,記錄的步驟包括:將多個(gè)文件中的第一文件的數(shù)據(jù)記錄在多個(gè)微塊上,并且如果存在剩余的微塊,則將多個(gè)文件中的第二文件的數(shù)據(jù)記錄在剩余的微塊上。
18.按權(quán)利要求16所述的方法,其中,將所述一個(gè)或多個(gè)微塊中的每個(gè)劃分為微塊頭和微塊凈荷, 其中,記錄的步驟包括將偏移記錄在微塊頭上,并將數(shù)據(jù)記錄在微塊凈荷上,其中,所述偏移指示記錄在微塊上的數(shù)據(jù)的地址。
19.按權(quán)利要求18所述的方法,其中,記錄的步驟包括:如果整個(gè)文件塊被多個(gè)文件中的第一文件的數(shù)據(jù)填充,則將所述文件塊劃分為一個(gè)微塊頭和一個(gè)微塊凈荷。
20.按權(quán)利要求16所述的方法,還包括:從將發(fā)送到數(shù)據(jù)接收設(shè)備的所有文件產(chǎn)生多個(gè)傳輸文件列表; 順次將所述多個(gè)傳輸文件列表發(fā)送到數(shù)據(jù)接收設(shè)備, 其中,多個(gè)傳輸文件列表中的每個(gè)包括關(guān)于包括在每個(gè)傳輸文件列表中的文件的索弓丨、文件名和整個(gè)文件大小的信息。
21.按權(quán)利要求20所述的方法,還包括: 從數(shù)據(jù)接收設(shè)備接收重新下載列表; 從多個(gè)文件中識(shí)別與包括在接收的重新下載列表中的索引相應(yīng)的文件; 通過(guò)將來(lái)自與包括在重新下載列表中的偏移相應(yīng)的位置的識(shí)別的文件的數(shù)據(jù)記錄在文件塊上,來(lái)開(kāi)始用于重新下載的發(fā)送, 其中,重新下載列表包括被確定為重新下載的文件的索引和偏移,所述偏移指示被確定為重新下載的文件的數(shù)據(jù)的開(kāi)始地址。
22.一種用于接收數(shù)據(jù)的方法,所述方法包括: 從數(shù)據(jù)發(fā)送設(shè)備接收多個(gè)作為數(shù)據(jù)傳輸單位的文件塊; 如果多個(gè)文件塊中的每個(gè)包括一個(gè)或多個(gè)作為用于記錄至少一個(gè)文件的數(shù)據(jù)的單位的微塊,則基于微塊讀出數(shù)據(jù)并將數(shù)據(jù)記錄在存儲(chǔ)介質(zhì)上。
23.按權(quán)利要求22 所述的方法,其中,一個(gè)或多個(gè)微塊中的每個(gè)包括微塊頭和微塊凈荷, 其中,記錄的步驟包括:參考記錄在微塊頭上的偏移將記錄在微塊凈荷上的數(shù)據(jù)記錄在存儲(chǔ)介質(zhì)上,所述偏移指示記錄在微塊上的數(shù)據(jù)的地址,并且參考記錄在微塊頭上的文件路徑將通過(guò)文件塊接收的至少一個(gè)文件記錄在存儲(chǔ)介質(zhì)上。
24.按權(quán)利要求22所述的方法,還包括: 從數(shù)據(jù)發(fā)送設(shè)備接收傳輸文件列表; 使用所述傳輸文件列表從多個(gè)已接收的多個(gè)文件中確定用于重新下載的文件; 產(chǎn)生包括確定的文件的索引和偏移的重新下載列表,所述偏移指示被確定為重新下載的文件的數(shù)據(jù)的開(kāi)始地址; 將重新下載列表發(fā)送到數(shù)據(jù)發(fā)送設(shè)備, 其中,傳輸文件列表是由數(shù)據(jù)發(fā)送設(shè)備通過(guò)劃分將發(fā)送到通信單元的所有文件而產(chǎn)生的多個(gè)傳輸文件列表之一,并且傳輸文件列表包括關(guān)于包括在一個(gè)傳輸文件列表中的文件的索引、文件名和整個(gè)文件大小的信息。
25.按權(quán)利要求24所述的方法,其中,確定的步驟包括:如果與包括在接收的傳輸文件列表中的文件名相應(yīng)的文件是作為已接收的多個(gè)文件之一的第一文件,并且如果存在第一文件的元文件,則將第一文件確定為用于重新下載的文件, 其中,所述元文件包括指示關(guān)于是否完成第一文件的傳輸?shù)男畔⒌臉?biāo)記。
26.按權(quán)利要求25所述的方法,其中,產(chǎn)生重新下載列表的步驟包括:如果通過(guò)多個(gè)文件塊接收第一文件,并且如果在元文件上將多個(gè)文件塊中的首次發(fā)送第一文件的第一文件塊的傳輸量記錄為“0”,則產(chǎn)生第一文件的偏移是“O”的重新下載列表, 其中,數(shù)據(jù)發(fā)送設(shè)備從開(kāi)始就重新發(fā)送第一文件。
27.按權(quán)利要求25所述的方法,其中,產(chǎn)生重新下載列表的步驟包括:如果通過(guò)多個(gè)文件塊接收第一文件,在元文件上將多個(gè)文件塊中的首次發(fā)送第一文件的第一文件塊α =I)的傳輸量記錄為“k字節(jié)”(k是正整數(shù)),并且第i次(i = 2,3,...m)發(fā)送第一文件的文件塊的標(biāo)記是“O”,則產(chǎn)生第一文件的偏移是“k字節(jié)+(1-2) Xn字節(jié)”的重新下載列表,其中,η字節(jié)是文件塊的最大傳輸大小,并且數(shù)據(jù)發(fā)送設(shè)備重新發(fā)送來(lái)自與第一文件的偏移相應(yīng)的位置的數(shù)據(jù)。
28.按權(quán)利要求25所述的方法,還包括:產(chǎn)生通過(guò)文件塊接收的第一文件的元文件,其中,元文件包括:第一文件塊的最大傳輸大小、第一文件的接收的累計(jì)文件大小、多個(gè)文件塊中的首次發(fā)送第一文件的第一文件塊的大小,以及指示在第一文件被連續(xù)發(fā)送之后是否接收到下一個(gè)文 件塊的標(biāo)記。
全文摘要
提供一種用于傳輸數(shù)據(jù)的設(shè)備和方法。數(shù)據(jù)發(fā)送設(shè)備的盤(pán)讀取器將文件塊劃分為一個(gè)或多個(gè)微塊,從多個(gè)文件讀出與一個(gè)或多個(gè)微塊中的每個(gè)的大小相應(yīng)的數(shù)據(jù),并順次將所述數(shù)據(jù)記錄在多個(gè)微塊上,并且如果數(shù)據(jù)被記錄在包括在所述文件塊中的一個(gè)或多個(gè)微塊上,則通信單元將所述文件塊發(fā)送到數(shù)據(jù)接收設(shè)備。
文檔編號(hào)H04L29/08GK103095795SQ201210421108
公開(kāi)日2013年5月8日 申請(qǐng)日期2012年10月29日 優(yōu)先權(quán)日2011年10月28日
發(fā)明者宋性學(xué), 李昌勛, 禹慶恩, 吳圭三, 黃鎮(zhèn)范 申請(qǐng)人:三星Sds株式會(huì)社
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
新闻| 卢氏县| 白银市| 稻城县| 卢氏县| 余庆县| 中宁县| 成安县| 鄂尔多斯市| 富锦市| 白山市| 富宁县| 常德市| 林甸县| 托克逊县| 福贡县| 湾仔区| 潍坊市| 济南市| 郴州市| 隆安县| 那曲县| 昭苏县| 西平县| 武义县| 天门市| 青岛市| 曲麻莱县| 赞皇县| 行唐县| 双峰县| 麟游县| 盱眙县| 定兴县| 泸西县| 遂宁市| 衡东县| 辽阳县| 叶城县| 缙云县| 乌兰县|