TWI383640B - 利用網路傳輸檔案之方法與檔案傳輸系統 - Google Patents
利用網路傳輸檔案之方法與檔案傳輸系統 Download PDFInfo
- Publication number
- TWI383640B TWI383640B TW098135755A TW98135755A TWI383640B TW I383640 B TWI383640 B TW I383640B TW 098135755 A TW098135755 A TW 098135755A TW 98135755 A TW98135755 A TW 98135755A TW I383640 B TWI383640 B TW I383640B
- Authority
- TW
- Taiwan
- Prior art keywords
- packet
- data
- file
- client
- transmission unit
- Prior art date
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/06—Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Information Transfer Between Computers (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Description
本發明係提供一種利用網路傳輸檔案之方法與檔案傳輸系統,尤指一種利用網路一次傳輸多筆資料封包之方法與檔案傳輸系統。
一般而言,透過網路對遠端進行檔案存取有許多方法,如透過檔案傳輸協定(File Transfer Protocol,FTP)、點對點傳輸(Peer-to-peer,P2P)、微軟作業系統的網路芳鄰或是電子郵件(E-mail)均可達成此目的。舉例來說,普通檔案傳輸協定(Trivial File Transfer Protocol,TFTP)是一種簡化版本的檔案傳輸協定,其利用使用者資料包通訊協定(User Datagram Protocol,UDP)來傳送和接收資料,而實現網路中兩台電腦之間的檔案傳輸。
由於多媒體技術發展日新月異,除了傳統的文件等形式的檔案,各種多媒體檔案也大量透過網路傳輸,然而影音檔案資料量之龐大,往往造成網路傳輸影音資料耗時甚久,甚至會影響網路頻寬之使用。於普通檔案傳輸協定之檔案傳輸過程為例,當一客戶端(client end)欲由一伺服器端(server end)下載一檔案資料時,首先該客戶端會傳輸一初始讀取請求封包(Read Request Packet)至該伺服器端,藉以確認該檔案資料是否存在,隨後該伺服器端便會回傳一啟始確認封包(Acknowledgement packet)至該客戶端,以確認該檔案是否存在。在接下來的階段該伺服器端會陸續傳輸相對應該檔案資料之資料封包至該客戶端,而每個資料封包皆有其封包大小限制,如16K位元組等,因此該檔案資料需細分多筆資料封包傳送至該客戶端,而該客戶端在接收到每一筆資料封包之際,必須回傳相對應該資料封包之確認封包,藉以確認該資料封包接收之正確性,也就是說當該伺服器端傳輸第N筆資料封包至該客戶端時,該客戶端需回傳第N筆確認封包至該伺服器端,而當該伺服器端接收到第N筆確認封包後會接續傳輸第N+1筆資料封包至該客戶端,且該客戶端會回傳第N+1筆確認封包至該伺服器端,若該伺服器端傳輸M筆資料封包至該客戶端時,該客戶端需相對應地回傳M筆確認封包至該伺服器端,如此一來一往之資料確認機制會大大增加資料傳輸量與傳輸時間。因此如何設計出一具有傳輸效率以減少資料傳輸量與傳輸時間之網路傳輸機制,便為現今網路傳輸技術所需努力之課題。
本發明係提供一種利用網路一次傳輸多筆資料封包之方法與檔案傳輸系統,以解決上述之問題。
本發明之申請專利範圍係揭露一種利用網路傳輸一檔案之方法,其包含有一客戶端傳輸一讀取請求封包至一伺服器端,該讀取請求封包具有一多筆封包傳輸資訊,該多筆封包傳輸資訊包含有一封包數量索引值;以及該伺服器端接收到該讀取請求封包後,該伺服器端依據該多筆封包傳輸資訊之該封包數量索引值連續傳輸相對應數量之該檔案之複數個資料封包至該客戶端,其中該伺服器端連續傳輸該複數個資料封包至該客戶端之過程中,該客戶端不回傳任何確認封包至該伺服器端。
本發明之申請專利範圍係另揭露該客戶端傳輸一啟始讀取請求封包至該伺服器端,以請求該伺服器端傳輸該檔案至該客戶端。
本發明之申請專利範圍係另揭露該伺服器端接收到該啟始讀取請求封包後,該伺服器端回傳一啟始確認封包至該客戶端,以確認該檔案是否存在。
本發明之申請專利範圍係另揭露該多筆封包傳輸資訊包含有一單一封包資料大小索引值,且該伺服器端依據該單一封包資料大小索引值連續傳輸具有相對應資料量之該複數個資料封包至該客戶端。
本發明之申請專利範圍係另揭露該伺服器端連續傳輸相對應該檔案之該複數個資料封包至該客戶端後,該客戶端傳輸一確認封包至該伺服器端,以確認該複數個資料封包是否正確傳輸且提供下次該伺服器端所需傳輸資料封包之數量之資訊。
本發明之申請專利範圍係另揭露該伺服器端連續傳輸相對應該檔案之該複數個資料封包至該客戶端後,該客戶端等待一特定時間後傳輸該確認封包至該伺服器端。
本發明之申請專利範圍係另揭露該特定時間係依據單一資料封包解碼出資料串流所需之時間與該複數個資料封包之數量之乘積所得出。
本發明之申請專利範圍係另揭露該客戶端傳輸該確認封包至該伺服器端,以提供下次該伺服器端所需傳輸資料封包之數量之資訊包含依據該複數個資料封包所解碼出資料串流之旗標值,提供下次該伺服器端所需傳輸資料封包之數量之資訊。
本發明之申請專利範圍係另揭露依據該複數個資料封包所解碼出資料串流之旗標值,提供下次該伺服器端所需傳輸資料封包之數量之資訊包含依據該複數個資料封包所解碼出最後一筆資料串流之旗標值,提供下次該伺服器端所需傳輸資料封包之數量之資訊。
本發明之申請專利範圍係另揭露該伺服器端接收到該確認封包後,該伺服器端依據該確認封包所提供之下次該伺服器端所需傳輸資料封包之數量之資訊連續傳輸相對應數量之複數個資料封包至該客戶端。
本發明之申請專利範圍係揭露一種網路傳輸檔案之檔案傳輸系統,其包含有一客戶端,其包含有一第一網路傳輸單元,其係用來傳輸一讀取請求封包以及接收資料封包,其中該讀取請求封包具有一多筆封包傳輸資訊,該多筆封包傳輸資訊包含有一封包數量索引值;一資料暫存區,其係用來暫存該第一網路傳輸單元所接收到之資料封包;一第一控制單元,其係耦合於該第一網路傳輸單元與該資料暫存區,該第一控制單元係用來將該資料暫存區所暫存之資料封包解碼為相對應之資料串流;以及一第一記憶單元,其係耦合於該第一控制單元,該第一記憶單元係用來儲存該第一控制單元所解碼出之資料串流。該檔案傳輸系統另包含有一伺服器端,其係用來傳輸一檔案至該客戶端,該伺服器端包含有一第二網路傳輸單元,其係用來接收該第一網路傳輸單元所傳來之該讀取請求封包以及傳輸資料封包至該第一網路傳輸單元;一第二記憶單元,其係用來儲存該檔案;以及一第二控制單元,其係用來依據該第二網路傳輸單元所接收之該讀取請求封包之該多筆封包傳輸資訊之該封包數量索引值控制該第二網路傳輸單元連續傳輸相對應數量之該檔案之複數個資料封包至該第一網路傳輸單元。其中該第二網路傳輸單元連續傳輸該複數個資料封包至該第一網路傳輸單元之過程中,該第一網路傳輸單元不回傳任何確認封包至該第二網路傳輸單元。
本發明之申請專利範圍係另揭露該第一網路傳輸單元另用來傳輸一啟始讀取請求封包至該第二網路傳輸單元,以請求該伺服器端傳輸該檔案至該客戶端。
本發明之申請專利範圍係另揭露該第二網路傳輸單元接收到該啟始讀取請求封包後,該第二控制單元控制該第二網路傳輸單元回傳一啟始確認封包至該第一網路傳輸單元,以確認該檔案是否存在。
本發明之申請專利範圍係另揭露該多筆封包傳輸資訊包含有一單一封包資料大小索引值,且該第二控制單元係用來依據該單一封包資料大小索引值控制該第二網路傳輸單元連續傳輸相對應資料量之該複數個資料封包至該客戶端。
本發明之申請專利範圍係另揭露該第二網路傳輸單元連續傳輸相對應該檔案之該複數個資料封包至該客戶端後,該第一網路傳輸單元傳輸一確認封包至該第二網路傳輸單元,以確認該複數個資料封包是否正確傳輸且提供下次該伺服器端所需傳輸資料封包之數量之資訊。
本發明之申請專利範圍係另揭露該第二網路傳輸單元連續傳輸相對應該檔案之該複數個資料封包至該客戶端後,該第一網路傳輸單元等待一特定時間後傳輸該確認封包至該第二網路傳輸單元。
本發明之申請專利範圍係另揭露該特定時間係依據單一資料封包解碼出資料串流所需之時間與該複數個資料封包之數量之乘積所得出。
本發明之申請專利範圍係另揭露該確認封包係依據該複數個資料封包所解碼出資料串流之旗標值提供下次該伺服器端所需傳輸資料封包之數量之資訊。
本發明之申請專利範圍係另揭露該確認封包係依據該複數個資料封包所解碼出最後一筆資料串流之旗標值提供下次該伺服器端所需傳輸資料封包之數量之資訊。
本發明之申請專利範圍係另揭露該第二網路傳輸單元接收到該確認封包後,該第二控制單元依據該確認封包所提供之下次該伺服器端所需傳輸資料封包之數量之資訊控制該第二網路傳輸單元連續傳輸相對應數量之複數個資料封包至該第一網路傳輸單元。
請參閱第1圖,第1圖為本發明較佳實施例一種利用網路傳輸檔案之一檔案傳輸系統50之功能方塊示意圖,舉例來說檔案傳輸系統50係可利用檔案傳輸協定(File Transfer Protocol,FTP)或普通檔案傳輸協定(Trivial File Transfer Protocol,TFTP)等傳輸檔案,檔案傳輸系統50包含有一客戶端52,其係可為一個人電腦裝置等,客戶端52包含有一第一網路傳輸單元54,其係用來利用網路傳輸讀取請求封包(Read Request Packet)以及資料封包;客戶端52另包含有一資料暫存區56,其係用來暫存第一網路傳輸單元54所接收到之資料封包,資料暫存區56係可為一隨機讀取記憶體之存取區塊等;一第一控制單元58,其係耦合於第一網路傳輸單元54與資料暫存區56,第一控制單元58係用來將資料暫存區56所暫存之資料封包解碼為相對應之資料串流(data stream),第一控制單元58係可以硬體、軟體,或韌體之型態呈現;以及一第一記憶單元60,其係耦合於第一控制單元58,第一記憶單元60係用來儲存第一控制單元58所解碼出之資料串流,第一記憶單元60係可為一儲存裝置,如一硬碟機等。檔案傳輸系統50另包含有一伺服器端62,其係用來傳輸檔案至客戶端52,伺服器端62係可為一伺服器主機等,伺服器端62包含有一第二網路傳輸單元64,其係用來利用網路接收客戶端52之第一網路傳輸單元54所傳來之該讀取請求封包以及傳輸資料封包至第一網路傳輸單元54;一第二記憶單元66,其係用來儲存欲傳輸至客戶端52之檔案,第二記憶單元66係可為一儲存裝置,如一硬碟機等;以及一第二控制單元68,其係用來依據第二網路傳輸單元64所接收之該讀取請求封包控制第二網路傳輸單元64連續傳輸相對應欲傳輸至客戶端52之檔案之複數個資料封包至客戶端52之第一網路傳輸單元54,第二控制單元68係可以硬體、軟體,或韌體之型態呈現,檔案傳輸系統50之檔案傳輸機制於後係詳細介紹。
請參閱第2圖,第2圖為本發明較佳實施例檔案傳輸系統50利用網路傳輸一檔案之方法流程圖,第2圖係包含下列步驟:
步驟100:客戶端52之第一網路傳輸單元54傳輸一啟始讀取請求封包至伺服器端62之第二網路傳輸單元64,以請求伺服器端62傳輸該檔案至客戶端52。
步驟102:伺服器端62之第二網路傳輸單元64接收到該啟始讀取請求封包後,伺服器端62之第二控制單元68判斷該檔案是否存在,若該檔案不存在,執行步驟104;若該檔案存在,則執行步驟106。
步驟104:伺服器端62之第二控制單元68控制第二網路傳輸單元64回傳一啟始確認封包至客戶端52之第一網路傳輸單元54,以告知客戶端52該檔案不存在。
步驟106:第二控制單元68控制第二網路傳輸單元64回傳一啟始確認封包至客戶端52之第一網路傳輸單元54,以告知客戶端52該檔案存在以及該檔案之大小資訊。
步驟108:客戶端52之第一控制單元58依據該檔案之大小資訊建立資料暫存區56,且控制第一網路傳輸單元54傳輸一讀取請求封包至伺服器端62之第二網路傳輸單元64。
步驟110:伺服器端62之第二控制單元68確認該讀取請求封包是否具有一多筆封包傳輸資訊,若否執行步驟112;若是則執行步驟118。
步驟112:第二控制單元68依據第二網路傳輸單元64所接收之該讀取請求封包控制第二網路傳輸單元64傳輸相對應該檔案之單一筆資料封包至客戶端52之第一網路傳輸單元54。
步驟114:客戶端52之第一網路傳輸單元54接受到第二網路傳輸單元64所傳來之單一筆資料封包後,回傳一確認封包至伺服器端62之第二控制單元68。
步驟116:重複執行步驟112與步驟114,直到伺服器端62將相對應該檔案之多筆資料封包完全傳送到客戶端52為止。
步驟118:第二控制單元68依據第二網路傳輸單元64所接收之該讀取請求封包之該多筆封包傳輸資訊控制第二網路傳輸單元64連續傳輸相對應該檔案之複數個資料封包至客戶端52之第一網路傳輸單元54,並將該複數個資料封包暫存於資料暫存區56;其中伺服器端62之第二網路傳輸單元64連續傳輸該複數個資料封包至客戶端52之第一網路傳輸單元54之過程中,第一網路傳輸單元54不回傳任何確認封包至第二網路傳輸單元64。
步驟120:客戶端52之第一控制單元58將資料暫存區56所暫存之該複數個資料封包解碼為相對應之資料串流,且將所解碼出之資料串流儲存於第一記憶單元60。
步驟122:客戶端52之第一網路傳輸單元54等待一特定時間後傳輸一確認封包至伺服器端62之第二網路傳輸單元64,以確認該複數個資料封包是否正確傳輸且提供下次伺服器端62所需傳輸資料封包之數量之資訊。
步驟124:伺服器端62之第二網路傳輸單元64接收到該確認封包後,第二控制單元68依據該確認封包所提供之下次該伺服器端所需傳輸資料封包之數量之資訊控制第二網路傳輸單元64連續傳輸相對應數量之複數個資料封包至客戶端52之第一網路傳輸單元54。
步驟126:重複執行步驟118至步驟124,直到伺服器端62將相對應該檔案之多筆資料封包完全傳送到客戶端52為止。
步驟128:結束。
於此對上一流程進行詳細之說明,首先客戶端52之第一網路傳輸單元54傳輸一啟始讀取請求封包至伺服器端62之第二網路傳輸單元64,該啟始讀取請求封包係具有欲請求檔案之資訊,藉以請求伺服器端62傳輸該檔案至客戶端52(步驟100)。當伺服器端62之第二網路傳輸單元64接收到該啟始讀取請求封包後,伺服器端62之第二控制單元68會判斷該檔案是否存在(步驟102),若第二控制單元68判斷該檔案不存在於伺服器端62,則伺服器端62之第二控制單元68會控制第二網路傳輸單元64回傳一啟始確認封包至客戶端52之第一網路傳輸單元54,以告知客戶端52該檔案不存在(步驟104),故無法執行檔案傳輸動作,而結束此流程;若第二控制單元68判斷該檔案存在於伺服器端62,則第二控制單元68會控制第二網路傳輸單元64回傳一啟始確認封包至客戶端52之第一網路傳輸單元54,以告知客戶端52該檔案存在以及該檔案之大小資訊(步驟106),以接續執行檔案傳輸動作。
接下來,客戶端52之第一控制單元58會依據該檔案之大小資訊建立資料暫存區56,藉以用來暫存第一網路傳輸單元54所接收到之資料封包,且第一控制單元58會控制第一網路傳輸單元54傳輸一讀取請求封包至伺服器端62之第二網路傳輸單元64,藉以請求伺服器端62傳輸相對應該檔案之資料封包(步驟108),其中該檔案係可為一文件檔案、一多媒體檔案(如影音檔案)等,故該檔案可拆解為多筆資料封包,且分批次由伺服器端62傳輸至客戶端52。伺服器端62之第二網路傳輸單元64收到該讀取請求封包後,伺服器端62之第二控制單元68會確認該讀取請求封包是否具有一多筆封包傳輸資訊(步驟110),藉以確認後續資料封包傳輸是採取分批次單筆資料封包傳輸或採取連續多筆資料封包傳輸。若第二控制單元68判斷該讀取請求封包並未具有該多筆封包傳輸資訊,即代表此次傳輸乃是採取分批次單筆資料封包傳輸,則第二控制單元68會依據第二網路傳輸單元64所接收之該讀取請求封包控制第二網路傳輸單元64傳輸相對應該檔案之單一筆資料封包至客戶端52之第一網路傳輸單元54(步驟112),意即伺服器端62一次僅傳輸單一筆資料封包至客戶端52,而客戶端52之第一網路傳輸單元54接受到第二網路傳輸單元64所傳來之單一筆資料封包後,會回傳一確認封包至伺服器端62之第二控制單元68(步驟114),藉以確認該單一筆資料封包是否正確傳輸,於此流程中會重複執行步驟112與步驟114,直到伺服器端62批次地將相對應該檔案之多筆資料封包完全傳送到客戶端52為止(步驟116),也就是說若伺服器端62傳輸M筆資料封包至客戶端52時,客戶端52會相對應地回傳M筆確認封包至伺服器端62,直到全部的資料封包傳送完為止。
相反地,若第二控制單元68判斷該讀取請求封包具有該多筆封包傳輸資訊時,即代表此次傳輸乃是採取連續多筆資料封包傳輸,請參閱第3圖,第3圖為本發明較佳實施例具有該多筆封包傳輸資訊之該讀取請求封包之示意圖,該讀取請求封包可包含有多個欄位,除了基本定義之欄位(如普通檔案傳輸協定基本定義之欄位),如相對於讀取或寫入要求之操作欄位(operation code,opcode)、相對於欲傳輸檔案之名稱之檔案名稱欄位(filename)、相對於編碼模式之模式欄位(mode)等特徵欄位,該讀取請求封包所具有之該多筆封包傳輸資訊可設定於其他欄位之索引值,舉例來說可設定於一數量欄位之一封包數量索引值,藉以提供接下來需連續傳輸之該複數個資料封包之數量資訊,或可設定於一封包資料量欄位之一單一封包資料大小索引值,藉以提供接下來需連續傳輸之該複數個資料封包之個別封包大小資訊,而單一封包資料大小可端視該啟始確認封包所提供之該檔案之大小資訊而決定。第二控制單元68會依據第二網路傳輸單元64所接收之該讀取請求封包之該多筆封包傳輸資訊控制第二網路傳輸單元64連續傳輸相對應該檔案之複數個資料封包至客戶端52之第一網路傳輸單元54,而客戶端52接收到該複數個資料封包後會將該複數個資料封包暫存於資料暫存區56,值得注意的是伺服器端62之第二網路傳輸單元64連續傳輸該複數個資料封包至客戶端52之第一網路傳輸單元54之過程中,客戶端52之第一網路傳輸單元54並不會回傳任何確認封包至第二網路傳輸單元64(步驟118)。舉例來說若該多筆封包傳輸資訊之該封包數量索引值設定為一次傳輸三筆資料封包時,則伺服器端62之第二網路傳輸單元64會連續傳輸三筆資料封包至客戶端52之第一網路傳輸單元54,而在第一筆資料封包與第二筆資料封包、第二筆資料封包與第三筆資料封包之傳輸空檔中,客戶端52並不會回傳相對應確認封包至伺服器端62,如此一來便可有效地減少因確認封包往來所產生之資料傳輸量與資料傳輸時間。
之後,客戶端52之第一控制單元58會將資料暫存區56所暫存之該複數個資料封包解碼為相對應之資料串流,且將所解碼出之資料串流儲存於第一記憶單元60(步驟120)。請參閱第4圖,第4圖為本發明較佳實施例該資料封包之示意圖,該資料封包可包含有相對於讀取或寫入要求之操作欄位、相對於資料封包順序之封包序號欄位(Block#)、相對於檔案內容之資料欄位(data)等,所解碼出之資料串流可依據封包序號欄位所提供之索引值結合成檔案內容。接下來客戶端52之第一網路傳輸單元54於等待一特定時間後會傳輸一確認封包至伺服器端62之第二網路傳輸單元64,以確認該複數個資料封包是否正確傳輸且提供下次伺服器端62所需傳輸資料封包之數量之資訊(步驟122),由於暫存於資料暫存區56之資料封包解碼需要運算時間,故伺服器端62傳輸該複數個資料封包至客戶端52後,客戶端52並不會馬上回傳該確認封包至伺服器端62,以避免伺服器端62又即刻傳輸下一組複數個資料封包至客戶端52,而客戶端52無法即時處理過多之資料封包解碼程序,而客戶端52所等待之該特定時間係可由單一資料封包解碼出資料串流所需之時間與該複數個資料封包之數量之乘積所得出,以確保此次該複數個資料封包之解碼程序完成後再接收下一組複數個資料封包。
請參閱第5圖,第5圖為本發明較佳實施例該確認封包之示意圖,該確認封包可包含有相對於讀取或寫入要求之操作欄位、相對於資料封包順序之封包序號欄位(Block#),藉以確認第幾個資料封包正確傳輸、以及提供接下來需連續傳輸之該複數個資料封包之數量資訊之數量欄位,其中該確認封包係可依據該複數個資料封包所解碼出資料串流之旗標值(flag value)以提供下次伺服器端62所需傳輸資料封包之數量之資訊,例如可依據該複數個資料封包所解碼出最後一筆資料串流之旗標值以提供下次伺服器端62所需傳輸資料封包之數量之資訊等。舉例來說,若伺服器端62一次傳輸三筆資料封包至客戶端52時,且該三筆資料封包所解碼出最後一筆資料串流係相對於第二筆資料封包,則代表第三筆資料封包尚未完成解碼,故該確認封包之數量欄位可設定相對於兩筆資料封包數量之索引值,也就是說客戶端52要求伺服器端62下次僅需傳送兩筆資料封包即可,因為必須等待客戶端52尚未進行解碼之資料封包解碼完成,也就是說若客戶端52已完成解碼之資料封包數量越多時,則下次伺服器端62可連續傳輸越多資料封包至客戶端52。而下次伺服器端62所需傳輸資料封包之數量之決定方式可不侷限於上述實施例所述,例如仍可採用傳輸固定數量之多筆資料封包,端視設計需求而定。而伺服器端62之第二網路傳輸單元64接收到該確認封包後,第二控制單元68會依據該確認封包所提供之下次伺服器端62所需傳輸資料封包之數量之資訊控制第二網路傳輸單元64連續傳輸相對應數量之複數個資料封包至客戶端52之第一網路傳輸單元54(步驟124),於此流程中會重複執行步驟118至步驟124,直到伺服器端62批次地將相對應該檔案之多筆資料封包完全傳送到客戶端52為止(步驟126),而有別於步驟112與步驟114,伺服器端62連續傳輸完複數個資料封包至客戶端52後,客戶端52才會回傳一筆相對應該複數個資料封包之該確認封包至伺服器端62,如此一來便可減少確認封包之傳輸數量,而可有效地減少因確認封包往來所產生之資料傳輸量與資料傳輸時間,這對於傳輸資料量較大之檔案(如多媒體影音檔案等)有明顯之裨益。
相較於先前技術,本發明所提供之利用網路傳輸檔案之方法與檔案傳輸系統係於伺服器端連續傳輸複數個資料封包至該客戶端之過程中,該客戶端不回傳任何確認封包回該伺服器端,如此一來便可減少確認封包之傳輸數量,而可有效地減少因確認封包往來所產生之資料傳輸量與資料傳輸時間,故本發明係提供一具有傳輸效率且可減少資料傳輸量與傳輸時間之網路傳輸機制。
以上所述僅為本發明之較佳實施例,凡依本發明申請專利範圍所做之均等變化與修飾,皆應屬本發明專利之涵蓋範圍。
50...檔案傳輸系統
52...客戶端
54...第一網路傳輸單元
56...資料暫存區
58...第一控制單元
60...第一記憶單元
62...伺服器端
64...第二網路傳輸單元
66...第二記憶單元
68...第二控制單元
步驟100、102、104、106、108、110、112、114、116、118、120、124、126、128
第1圖為本發明較佳實施例檔案傳輸系統之功能方塊示意圖。
第2圖為本發明較佳實施例檔案傳輸系統利用網路傳輸檔案之流程圖。
第3圖為本發明較佳實施例具有多筆封包傳輸資訊之讀取請求封包之示意圖。
第4圖為本發明較佳實施例資料封包之示意圖。
第5圖為本發明較佳實施例確認封包之示意圖。
步驟100、102、104、106、108、110、112、114、116、118、120、124、126、128
Claims (14)
- 一種利用網路傳輸一檔案之方法,其包含有:一客戶端傳輸一讀取請求封包至一伺服器端,該讀取請求封包具有一多筆封包傳輸資訊,該多筆封包傳輸資訊包含有一封包數量索引值;該伺服器端接收到該讀取請求封包後,該伺服器端依據該多筆封包傳輸資訊之該封包數量索引值連續傳輸相對應數量之該檔案之複數個資料封包至該客戶端,其中該伺服器端連續傳輸該複數個資料封包至該客戶端之過程中,該客戶端不回傳任何確認封包至該伺服器端;以及該伺服器端連續傳輸相對應該檔案之該複數個資料封包至該客戶端後,該客戶端傳輸一確認封包至該伺服器端,以確認該複數個資料封包是否正確傳輸且提供下次該伺服器端所需傳輸資料封包之數量之資訊;其中該確認封包係依據該複數個資料封包所解碼出最後一筆資料串流之旗標值,提供下次該伺服器端所需傳輸資料封包之數量之資訊。
- 如請求項1所述之方法,其另包含該客戶端傳輸一啟始讀取請求封包至該伺服器端,以請求該伺服器端傳輸該檔案至該客戶端。
- 如請求項2所述之方法,其另包含該伺服器端接收到該啟始讀取請求封包後,該伺服器端回傳一啟始確認封包至該客戶端,以確認該檔案是否存在。
- 如請求項1所述之方法,其中該多筆封包傳輸資訊包含有一單一封包資料大小索引值,且該伺服器端依據該單一封包資料大小索引值連續傳輸具有相對應資料量之該複數個資料封包至該客戶端。
- 如請求項1所述之方法,其另包含該伺服器端連續傳輸相對應該檔案之該複數個資料封包至該客戶端後,該客戶端等待一特定時間後傳輸該確認封包至該伺服器端。
- 如請求項5所述之方法,其中該特定時間係依據單一資料封包解碼出資料串流所需之時間與該複數個資料封包之數量之乘積所得出。
- 如請求項1所述之方法,其另包含該伺服器端接收到該確認封包後,該伺服器端依據該確認封包所提供之下次該伺服器端所需傳輸資料封包之數量之資訊連續傳輸相對應數量之複數個資料封包至該客戶端。
- 一種利用網路傳輸檔案之檔案傳輸系統,其包含有: 一客戶端,其包含有:一第一網路傳輸單元,其係用來傳輸一讀取請求封包以及接收資料封包,其中該讀取請求封包具有一多筆封包傳輸資訊,該多筆封包傳輸資訊包含有一封包數量索引值;一資料暫存區,其係用來暫存該第一網路傳輸單元所接收到之資料封包;一第一控制單元,其係耦合於該第一網路傳輸單元與該資料暫存區,該第一控制單元係用來將該資料暫存區所暫存之資料封包解碼為相對應之資料串流;以及一第一記憶單元,其係耦合於該第一控制單元,該第一記憶單元係用來儲存該第一控制單元所解碼出之資料串流;以及一伺服器端,其係用來傳輸一檔案至該客戶端,該伺服器端包含有:一第二網路傳輸單元,其係用來接收該第一網路傳輸單元所傳來之該讀取請求封包以及傳輸資料封包至該第一網路傳輸單元;一第二記憶單元,其係用來儲存該檔案;以及一第二控制單元,其係用來依據該第二網路傳輸單元所接收之該讀取請求封包之該多筆封包傳輸資訊之該封包數量索引值控制該第二網路傳輸單 元連續傳輸相對應數量之該檔案之複數個資料封包至該第一網路傳輸單元,其中該第二網路傳輸單元連續傳輸該複數個資料封包至該第一網路傳輸單元之過程中,該第一網路傳輸單元不回傳任何確認封包至該第二網路傳輸單元;其中該第二網路傳輸單元連續傳輸相對應該檔案之該複數個資料封包至該客戶端後,該第一網路傳輸單元傳輸一確認封包至該第二網路傳輸單元,以確認該複數個資料封包是否正確傳輸且提供下次該伺服器端所需傳輸資料封包之數量之資訊,且該確認封包係依據該複數個資料封包所解碼出最後一筆資料串流之旗標值提供下次該伺服器端所需傳輸資料封包之數量之資訊。
- 如請求項8所述之檔案傳輸系統,其中該第一網路傳輸單元另用來傳輸一啟始讀取請求封包至該第二網路傳輸單元,以請求該伺服器端傳輸該檔案至該客戶端。
- 如請求項9所述之檔案傳輸系統,其中該第二網路傳輸單元接收到該啟始讀取請求封包後,該第二控制單元控制該第二網路傳輸單元回傳一啟始確認封包至該第一網路傳輸單元,以確認該檔案是否存在。
- 如請求項8所述之檔案傳輸系統,其中該多筆封包傳輸資訊包含有一單一封包資料大小索引值,且該第二控制單元係用來依據該單一封包資料大小索引值控制該第二網路傳輸單元連續傳輸相對應資料量之該複數個資料封包至該客戶端。
- 如請求項8所述之檔案傳輸系統,其中該第二網路傳輸單元連續傳輸相對應該檔案之該複數個資料封包至該客戶端後,該第一網路傳輸單元等待一特定時間後傳輸該確認封包至該第二網路傳輸單元。
- 如請求項12所述之檔案傳輸系統,其中該特定時間係依據單一資料封包解碼出資料串流所需之時間與該複數個資料封包之數量之乘積所得出。
- 如請求項8所述之檔案傳輸系統,其中該第二網路傳輸單元接收到該確認封包後,該第二控制單元依據該確認封包所提供之下次該伺服器端所需傳輸資料封包之數量之資訊控制該第二網路傳輸單元連續傳輸相對應數量之複數個資料封包至該第一網路傳輸單元。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW098135755A TWI383640B (zh) | 2009-10-22 | 2009-10-22 | 利用網路傳輸檔案之方法與檔案傳輸系統 |
US12/712,195 US9137293B2 (en) | 2009-10-22 | 2010-02-25 | Method of transferring a file via a network and file transferring system thereof |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW098135755A TWI383640B (zh) | 2009-10-22 | 2009-10-22 | 利用網路傳輸檔案之方法與檔案傳輸系統 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201116006A TW201116006A (en) | 2011-05-01 |
TWI383640B true TWI383640B (zh) | 2013-01-21 |
Family
ID=43899292
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW098135755A TWI383640B (zh) | 2009-10-22 | 2009-10-22 | 利用網路傳輸檔案之方法與檔案傳輸系統 |
Country Status (2)
Country | Link |
---|---|
US (1) | US9137293B2 (zh) |
TW (1) | TWI383640B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8769137B2 (en) * | 2011-06-23 | 2014-07-01 | Honeywell International Inc. | Systems and methods for negotiated accelerated block option for trivial file transfer protocol (TFTP) |
CN106657182B (zh) | 2015-10-30 | 2020-10-27 | 阿里巴巴集团控股有限公司 | 云端文件处理方法和装置 |
EP3863231B1 (de) * | 2020-02-04 | 2023-11-15 | Siemens Aktiengesellschaft | Automatisierungsnetzwerk mit paketbasierter kommunikation zwischen host und client sowie verfahren zum betrieb eines automatisierungsnetzwerks |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6205498B1 (en) * | 1998-04-01 | 2001-03-20 | Microsoft Corporation | Method and system for message transfer session management |
TW589837B (en) * | 2001-10-30 | 2004-06-01 | Ind Tech Res Inst | System and method for data transmission control |
EP1384356B1 (en) * | 2001-03-23 | 2006-04-12 | Advanced Micro Devices, Inc. | Selective data frame dropping in a network device |
US20070091894A1 (en) * | 2005-10-07 | 2007-04-26 | Samsung Electronics Co., Ltd. | Method and terminal and system for improving transmission rate by using ACK piggybacking of TCP in asynchronous wireless network environment |
US20080045263A1 (en) * | 2006-08-16 | 2008-02-21 | Ipwireless, Inc. | Wireless communication system, apparatus for suppporting data flow and methods therefor |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7720063B2 (en) * | 2004-07-02 | 2010-05-18 | Vt Idirect, Inc. | Method apparatus and system for accelerated communication |
US7526552B2 (en) * | 2005-08-25 | 2009-04-28 | International Business Machines Corporation | Stable, minimal skew resource flow control technique in large scale enterprise storage systems |
CN101146259A (zh) | 2007-10-16 | 2008-03-19 | 吕利勇 | 一种媒体文件传输方法、***及移动终端 |
US20100217889A1 (en) * | 2009-02-26 | 2010-08-26 | Honeywell International Inc. | Accelerated block option for trivial file transfer protocol (tftp) |
US8387143B2 (en) * | 2009-11-30 | 2013-02-26 | Citrix Systems, Inc. | Systems and methods for aggressive window probing |
US9049175B2 (en) * | 2010-12-02 | 2015-06-02 | Microsoft Technology Licensing, Llc | Client-adjustable window size for connectionless transfer protocols |
-
2009
- 2009-10-22 TW TW098135755A patent/TWI383640B/zh active
-
2010
- 2010-02-25 US US12/712,195 patent/US9137293B2/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6205498B1 (en) * | 1998-04-01 | 2001-03-20 | Microsoft Corporation | Method and system for message transfer session management |
EP1384356B1 (en) * | 2001-03-23 | 2006-04-12 | Advanced Micro Devices, Inc. | Selective data frame dropping in a network device |
TW589837B (en) * | 2001-10-30 | 2004-06-01 | Ind Tech Res Inst | System and method for data transmission control |
US20070091894A1 (en) * | 2005-10-07 | 2007-04-26 | Samsung Electronics Co., Ltd. | Method and terminal and system for improving transmission rate by using ACK piggybacking of TCP in asynchronous wireless network environment |
US20080045263A1 (en) * | 2006-08-16 | 2008-02-21 | Ipwireless, Inc. | Wireless communication system, apparatus for suppporting data flow and methods therefor |
Non-Patent Citations (1)
Title |
---|
A. Hussain, M. S. Akbar, M. A. Cheema,"A Simple Cross-layer Approach to Reduce Duplicate Acknowledgements for TCP over WLAN", IEEE International Networking and Communications Conference, May 1-3, 2005, pp. 63-66 * |
Also Published As
Publication number | Publication date |
---|---|
US9137293B2 (en) | 2015-09-15 |
TW201116006A (en) | 2011-05-01 |
US20110099221A1 (en) | 2011-04-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20180121257A1 (en) | Usb device redirection for remote systems | |
US8683065B2 (en) | Multicast content provider | |
US20070162639A1 (en) | TCP-offload-engine based zero-copy sockets | |
US9282382B2 (en) | Hint based media content streaming | |
US9032167B2 (en) | Write operations to and from multiple buffers | |
US20060101151A1 (en) | Methodology for fast file transfer protocol | |
JP2008519373A (ja) | ハードウエアによる周辺コンポーネント・メモリー・アラインメントの方法 | |
EP1896950A2 (en) | Serialization of media transfer communications | |
US7460531B2 (en) | Method, system, and program for constructing a packet | |
US20180035143A1 (en) | Popping-screen push system and method | |
TWI383640B (zh) | 利用網路傳輸檔案之方法與檔案傳輸系統 | |
CN112671771A (zh) | 数据传输方法、装置、电子设备及介质 | |
US8886699B2 (en) | Offloading the processing of signals | |
US11868819B2 (en) | System and method for constructing filter graph-based media processing pipelines in a browser | |
CN101702767B (zh) | 一种时基媒体播放方法及*** | |
CN102055782B (zh) | 利用网络传输文件的方法与文件传输*** | |
JP2006190263A (ja) | 構造化データプロトコルをバイトストリームを供するプロトコルにバインドするための機構 | |
JP2021518695A (ja) | ディスプレイ−サーバコンピューティングシステムにおいてオーディオ及びビデオデータストリームをリダイレクトするためのシステム及び方法 | |
CN113422669B (zh) | 数据传输方法、装置和***、电子设备以及存储介质 | |
CN111835801B (zh) | 文件下载方法、装置、服务器、边缘设备、终端及介质 | |
CN110267062B (zh) | 拼装视频帧的优化方法、装置及可读存储介质 | |
US20080126599A1 (en) | Iscsi target apparatus that does not require creating a buffer in the user space and related method thereof | |
CN107465962B (zh) | 一种非实时视音频文件传输的方法 | |
CN114501049B (zh) | 直播连接的建立方法、装置及*** | |
CN110636368A (zh) | 媒体播放方法及装置 |