新四季網

一種文件傳輸方法及傳輸裝置的製作方法

2023-09-10 19:55:30

專利名稱:一種文件傳輸方法及傳輸裝置的製作方法
技術領域:
本發明涉及數據通信領域,尤其涉及在文件傳輸過程中提高傳輸效率的技術。
背景技術:
隨著網絡通信系統的發展,客戶端與客戶端之間、客戶端與伺服器之間、或者伺服器與伺服器之間需要進行頻繁的交互,而交互的數據通常都是以文件的形式,並被打成數據包後在網絡中進行傳輸的。
在傳輸之前,為了提高傳輸速度,減少對網絡資源的佔用,壓縮技術被廣泛應用。數據包被壓縮後,若壓縮效率較高(即壓縮率較低),壓縮後的數據包大小將顯著減小,從而可以提高傳輸速度和效率。
但是,本發明的發明人發現,如果有些數據包在被壓縮後,其壓縮效率非
常低(即壓縮率高),甚至於壓縮效率為零;那麼對於這些數據包,壓縮前後的大小變化不大,但是卻消耗了很多的壓縮和解壓縮的時間,導致傳輸效率降低。

發明內容
本發明實施例提供了一種文件傳輸方法和傳輸裝置,以整體提高文件的傳輸效率。
一種文件傳輸方法,包括
將需要傳輸的文件分為設定大小的傳輸數據包後,確定所述傳輸數據包的壓縮率;
若所述壓縮率小於設定值,則對所述傳輸數據包進行壓縮後傳輸;否則,直接將所述傳輸數據包進行傳輸。
所述確定所述傳輸數據包的壓縮率,具體包括
確定所述傳輸數據包中的一個傳輸數據包的壓縮率,以該傳輸數據包的
壓縮率作為所述傳輸數據包的壓縮率;或者
確定各傳輸數據包的壓縮率,以各傳輸數據包的壓縮率的平均值作為所
述傳輸數據包的壓縮率。
所述確定所述傳輸數據包中的 一個傳輸數據包的壓縮率,具體為確定所述傳輸數據包中第 一個要被傳輸的傳輸數據包的壓縮率;或者隨機抽取所述傳輸數據包中的一個傳輸數據包,確定該抽取的傳輸數據
包的壓縮率。
確定所述傳輸數據包中的某個數據包的壓縮率的具體方法為對該傳輸數據包進行壓縮,得到壓縮後的數據包;根據壓縮後的數據包的大小以及壓縮前的數據包的大小確定該數據包的壓縮率。
或者,確定所述傳輸數據包中的某個數據包的壓縮率的具體方法為依次獲取該傳輸數據包中的設定字節的數據,若獲取的數據與之前獲取
的數據不同,則記錄該數據到哈希表中;否則,記錄該數據的位置到位置記
錄表;
根據所述哈希表以及位置記錄表的大小確定該傳輸數據包的壓縮率。
一種文件傳輸裝置,包括
數據包生成模塊,用於將需要傳輸的文件分為設定大小的傳輸數據包;
壓縮率確定模塊,用於確定所述傳輸數據包的壓縮率;
數據包壓縮傳輸模塊,用於判斷所述壓縮率確定模塊確定的壓縮率是否
大於設定值;若是,則對所述傳輸數據包進行壓縮後傳輸;否則,直接將所
述傳輸數據包進行傳輸。
本發明實施例由於在進行數據包傳輸之前,對數據包的壓縮率先進行判斷;如果確定壓縮率較低(比如壓縮率小於某個設定值),則對傳輸數據包進 行壓縮後傳輸,此時,由於傳輸數據包壓縮率低、壓縮效率高,需要傳輸的 數據被大大壓縮,從而節約了傳輸時間;如果判斷出壓縮率較高、壓縮效率 低,由於壓縮前後並不能對需要傳輸的數據有顯著的減少,則不進行壓縮處 理,直接進行傳輸,從而節省了發送方的壓縮時間,以及接收方的解壓時間, 從整體上提高了傳輸效率。
由於根據某個或某幾個傳輸數據包(比如第一個傳輸數據包)的壓縮率 來確定文件的所有傳輸數據包的壓縮率,可以節省壓縮率的判斷時間,從而 更進一步提高了系統對文件的傳輸效率。


圖1為本發明實施例的文件傳輸方法流程圖2為本發明實施例的文件傳輸裝置內部結構示意具體實施例方式
本發明實施例提供的技術方案為在進行數據包傳輸之前,對數據包的壓 縮率先進行判斷;如果可以獲得一個較低的壓縮率(比如壓縮率小於某個設 定值),則對傳輸數據包進行壓縮後傳輸,此時,由於傳輸數據包壓縮率高, 需要傳輸的數據被大大壓縮,從而節約了傳輸時間;如果判斷出壓縮率較高, 由於壓縮前後並不能對需要傳輸的數據有顯著的減少,則不進行壓縮處理, 直接進行傳輸,從而節省了發送方的壓縮時間,以及接收方的解壓時間,從 整體上提高了傳輸效率。
下面結合附圖詳細說明本發明實施例的具體技術方案。 本發明實施例提供的一種文件傳輸方法,流程圖如圖1所示,包括如下 步驟
S101、發送方將需要傳輸的文件分成傳輸數據包。對於需要傳輸的文件,通常都要將其分成若干個固定大小的傳輸數據包, 然後按這些傳輸數據包生成的序列進行傳輸數據包的發送。
S102、發送方在發送傳輸數據包之前,確定傳輸數據包的壓縮率。 在發送傳輸數據包之前,發送方可以採用多種方法確定傳輸數據包的壓 縮率
例如,可以對所有的傳輸數據包進行壓縮,根據壓縮前的傳輸數據包的 大小,以及壓縮後的傳輸數據包的大小確定壓縮率。比如, 一個文件被分為 100個傳輸數據包,對這100個傳輸數據包進行壓縮,得到100個壓縮傳輸數 據包,其中,第i個傳輸數據包的壓縮率w根據壓縮率的定義公式l得到
w = c/d (1)
其中,c為第i個傳輸數據包壓縮後的包數據大小,d為第i個傳輸數據 包壓縮前的包數據大小。第i個傳輸數據包的壓縮效率w^l-w,可以看出, 當數據包中的內容可以被大量壓縮時,其壓縮效率較高,其壓縮率較低。
根據每個傳輸數據包的壓縮率可以計算這100個傳輸數據包的平均壓縮 率,以該平均壓縮率作為該文件所分成的傳輸數據包的壓縮率。
在實際應用中,本發明的發明人發現對於同一個文件中的數據包,各數 據包之間的壓縮率是相關的;因此,為了進一步減少確定壓縮率的時間,提 高系統傳輸效率,可以從文件所分成的所有傳輸數據包中選擇一個或幾個傳 輸數據包計算壓縮率,再以這一個或幾個傳輸數據包的壓縮率作為該文件所 分成的所有傳輸數據包的壓縮率。
比如,可以選取文件所分成的傳輸數據包中的第 一個傳輸數據包確定壓 縮率,或者隨機抽取文件所分成的傳輸數據包中的一個傳輸數據包確定壓縮 率。通常可以認為,該選取或者抽取的傳輸數據包的壓縮率與同一文件的其 它傳輸數據包的壓縮率相差不大,因此,不必對每個傳輸數據包確定壓縮率, 而是選取其中的某個或某幾個傳輸數據包確定壓縮率,以某個或某幾個傳輸 數據包的壓縮率作為該文件所分成的所有傳輸數據包的壓縮率確定其中 一個傳輸數據包的壓縮率的具體方法可以是,對該傳輸數據包 進行壓縮後,才艮據壓縮後的數據包大小以及壓縮前的數據包大小確定該傳輸
數據包的壓縮率;或者,釆用如下方法針對LZ77壓縮算法的一種改進方法來 計算壓縮率
依次獲取傳輸數據包中的設定字節(比如3個字節)的數據,若獲取的 數據與之前獲取的數據不同,則記錄該數據到哈希表中;否則,記錄該數據 的位置到位置記錄表(即當發現有重複的數據則記錄該數據的位置到位置記 錄表);根據所述哈希表以及位置記錄表的大小確定該傳輸數據包的壓縮率 W:
W= (a+b)/d (2) 其中,a為哈希表所佔字節數、b為位置記錄表所佔字節數,d為壓縮前 該傳輸數據包所佔字節數。由於對數據包中的數據進行一次掃描後,所獲得 的哈希表和位置記錄表,記錄了數據包中重複出現元素出現的情況;而通常 的壓縮算法都是對重複出現的元素進行壓縮,所以根據哈希表和位置記錄表 的大小即可大致確定該傳輸數據包的壓縮率,從而不必對數據包完成壓縮後 再判斷壓縮比,更進一步節約了壓縮比判斷時間、提高了傳輸效率。
5103、 如果確定的壓縮率小於設定值,則發送方將壓縮傳輸數據包進行 發送;否則,發送方對傳輸數據包不進行壓縮,直接進行發送。
在通過上述步驟S102確定了傳輸數據包的壓縮率後,可以將確定的壓縮 率與預先設定的設定值(比如0.8)進行比較;若壓縮率足夠小,比如小於設 定值,則發送方將文件的所分成的所有的傳輸數據包進行壓縮後發送;否則, 將傳輸數據包直接進行發送。
例如,針對某個文件所分成的100個傳輸數據包,在確定第一個傳輸數 據包的壓縮率大於設定值後,則可以依次對後續傳輸數據包進行壓縮後發送。
5104、 接收方若接收到壓縮的數據包,則解壓後將傳輸數據包合併為文 件;若接收到沒有被壓縮的傳輸數據包,則直接合併文件,從而節省解壓時間。
接收方若接收到壓縮的數據包,則對壓縮包進行解壓後獲得傳輸數據包,
再根據傳輸數據包合併文件;若接收到沒有被壓縮的傳輸數據包,則接收方 可以根據獲得的傳輸數據包直接合併文件,從而節省解壓時間。
假設一個1M大小的文件被分為100個傳輸數據包,其數據包的壓縮率為 95%;如果採用現有技術對這些傳輸數據包進行壓縮後傳輸,整個傳輸過程所 耗時間f。為
,o = ^ + /2 + ~ (3) 其中,^為100個傳輸數據包的壓縮時間,,2為100個傳輸數據包的解壓 時間,^為數據包在網絡間傳遞的時間。假設在網絡間傳遞1M數據的時間為 16s,則壓縮後數據大小為1Mx95%,傳遞時間為16x95%=15.2s;再4叚設壓縮 時間^與解壓時間/2為ls,則採用現有技術對這些傳輸數據包進行壓縮後傳 輸,整個傳輸過程所耗時間^。為17.2s。
如果採用本發明實施例的方法,在判斷其數據包的壓縮率(0.95)大於設 定值0.8時,不進行壓縮直接進行傳送,整個傳輸過程所耗時間V為
V = V + G, (4)
其中,V為判斷壓縮率的時間,V為不壓縮的數據在網絡間傳遞的時間。 假設採用對所有數據包進行壓縮後判斷壓縮率的方法,則上述的1M文件的 V=ls, V=16s,那麼整個傳輸過程所耗時間V為17s,比現有技術節約0,2s。
如果採用對第一個或者某個數據包進行壓縮後判斷壓縮率的方法,由於 只需要對一個數據包進行壓縮後判斷壓縮率,則V將大大減少,V=0.1s, r3'=16s,那麼整個傳輸過程所耗時間V為16.1s,比現有技術節約l.ls。如果 採用本發明實施例的方法傳輸大小為IOOM、壓縮率為95%的文件,可以比現 有技術節約大致199s,大大提高了傳輸效率;而同時對於壓縮率低的文件, 仍然採用壓縮後傳輸,可以保證其傳輸效率。尤其對於網絡帶寬較小的環境,
9在傳輸尺寸大、而壓縮率高的文件時,需要較長時間,那麼採用本發明實施 例的方法,能夠避免壓縮效率低、而耗時長的壓縮與解壓時間,可以大大縮 短文件的傳輸時間,提高傳輸效率。
經過計算,本發明的發明人發現將壓縮率閾值設置為80%較優;即當判 斷傳輸數據包的壓縮率小於80%,則進行壓縮後發送;否則,直接進行發送。 本領域技術人員也可以根據實際情況將壓縮率閾值設置為其它值。
本領域技術人員可以理解,雖然上述說明中,為便於理解,對方法的步 驟採用了順序性描述,但是應當指出,對於上述步驟的順序並不作嚴格限制。
本發明實施例提供的一種文件傳輸裝置,內部結構如圖2所示,包括 數據包生成模塊201、壓縮率確定模塊202、數據包壓縮傳輸模塊203。
數據包生成模塊201用於將需要傳輸的文件分為設定大小的傳輸數據包。
壓縮率確定模塊202用於確定所述傳輸數據包的壓縮率。壓縮率確定模 塊202確定所述傳輸數據包的壓縮率的具體方法可以採用如上述步驟S102中 的方法,例如,可以包括如下單元之一
第 一單元,用於確定所述傳輸數據包中第 一個要被傳輸的傳輸數據包的 壓縮率,以所述第一個要被傳輸的傳輸數據包的壓縮率作為所有傳輸數據包 的壓縮率。
第二單元,用於確定各傳輸數據包的壓縮率,以各傳輸數據包的壓縮率 的平均值作為所述傳輸數據包的壓縮率。
第三單元,用於隨機抽取所述傳輸數據包中的一個傳輸數據包,確定該 抽取的傳輸數據包的壓縮率,以該抽取的傳輸數據包的壓縮率作為所有傳輸 數據包的壓縮率。
述,此處不再贅述。
數據包壓縮傳輸模塊203用於判斷所述壓縮率確定模塊確定的壓縮率是 否小於設定值;若是,則對所述傳輸數據包進行壓縮後傳輸;否則,直接將所述傳輸數據包進行傳輸。數據包壓縮傳輸模塊203中設置的設定值具體可 以為80%,也可以是i殳定的其它值。在實際應用中,如果壓縮率確定才莫塊202 在確定傳輸數據包的壓縮率的過程中,已經針對某個或某些或全部傳輸數據 包生成了壓縮包,那麼數據包壓縮傳輸模塊203在需要進行壓縮傳輸時,不 必再重複進行壓縮,而是利用已經生成的壓縮包可以加快壓縮傳輸的時間。
本發明實施例由於在進行數據包傳輸之前,對數據包的壓縮率先進行判 斷;如果確定壓縮率較低(比如壓縮率小於某個設定值),則對傳輸數據包進 行壓縮後傳輸,此時,由於傳輸數據包壓縮率低,需要傳輸的數據被大大壓 縮,從而節約了傳輸時間;如果判斷出壓縮率較高,由於壓縮前後並不能對 需要傳輸的數據有顯著的減少,則不進行壓縮處理,直接進行傳輸,從而節 省了發送方的壓縮時間,以及接收方的解壓時間,從整體上提高了傳輸效率。
由於根據某個或某幾個傳輸數據包(比如第一個傳輸數據包)的壓縮率 來確定文件的所有傳輸數據包的壓縮率,可以節省壓縮率的判斷時間,從而 更進一步提高了系統對文件的傳輸效率。
是可以通過程序來指令相關的硬體來完成,該程序可以存儲於一計算機可讀 取存儲介質中,如ROM/RAM、磁碟、光碟等。
還可以理解的是,附圖或實施例中所示的裝置結構僅僅是示意性的,表 示邏輯結構。其中作為分離部件顯示的模塊可能是或者可能不是物理上分開 的,作為模塊顯示的部件可能是或者可能不是物理模塊。
以上所述僅是本發明的優選實施方式,應當指出,對於本技術領域的普 通技術人員來說,在不脫離本發明原理的前提下,還可以作出若干改進和潤 飾,這些改進和潤飾也應^L為本發明的保護範圍。
權利要求
1、一種文件傳輸方法,其特徵在於,包括將需要傳輸的文件分為設定大小的傳輸數據包後,確定所述傳輸數據包的壓縮率;若所述壓縮率小於設定值,則對所述傳輸數據包進行壓縮後傳輸;否則,直接將所述傳輸數據包進行傳輸。
2、 如權利要求1所述的方法,其特徵在於,所述確定所述傳輸數據包的 壓縮率,具體包括確定所述傳輸數據包中的一個傳輸數據包的壓縮率,以該傳輸數據包的 壓縮率作為所述傳輸數據包的壓縮率;或者確定各傳輸數據包的壓縮率,以各傳輸數據包的壓縮率的平均值作為所 述傳輸數據包的壓縮率。
3、 如權利要求2所述的方法,其特徵在於,所述確定所述傳輸數據包中 的一個傳輸數據包的壓縮率,具體為確定所述傳輸數據包中第一個要被傳輸的傳輸數據包的壓縮率;或者 隨機抽取所述傳輸數據包中的一個傳輸數據包,確定該抽取的傳輸數據 包的壓縮率。
4、 如權利要求2或3所述的方法,其特徵在於,確定所述傳輸數據包中 的某個數據包的壓縮率的具體方法為對該傳輸數據包進行壓縮,得到壓縮後的數據包; 根據壓縮後的數據包的大小以及壓縮前的數據包的大小確定該數據包的壓縮率。
5、 如權利要求2或3所述的方法,其特徵在於,確定所述傳輸數據包中 的某個數據包的壓縮率的具體方法為依次獲取該傳輸數據包中的設定字節的數據,若獲取的數據與之前獲取 的數據不同,則記錄該數據到哈希表中;否則,記錄該數據的位置到位置記錄表;確定所述哈希表和位置記錄表所佔字節數之和;根據所述哈希表和位置記錄表所佔字節數之和與壓縮前的數據包的所佔 字節數的比值確定該傳輸lt據包的壓縮率。
6、 如權利要求5所述的方法,其特徵在於,所述設定字節具體為3個字節。
7、 如權利要求l-3任一所述的方法,其特徵在於,所述設定值為0.8。
8、 一種文件傳輸裝置,其特徵在於,包括數據包生成模塊,用於將需要傳輸的文件分為設定大小的傳輸數據包; 壓縮率確定模塊,用於確定所述傳輸數據包的壓縮率; 數據包壓縮傳輸模塊,用於判斷所述壓縮率確定模塊確定的壓縮率是否大於設定值;若是,則對所述傳輸數據包進行壓縮後傳輸;否則,直接將所述傳輸數據包進行傳輸。
9、 如權利要求8所述的裝置,其特徵在於,所述壓縮率確定模塊具體用於確定所述傳輸數據包中第一個要被傳輸的 傳輸數據包的壓縮率,以所述第一個要被傳輸的傳輸數據包的壓縮率作為所 有傳輸數據包的壓縮率。
10、 如權利要求8所述的裝置,其特徵在於,所述設定值為0.8。
全文摘要
本發明涉及數據通信領域,尤其涉及在文件傳輸過程中提高傳輸效率的技術。本發明提供了一種文件傳輸裝置及方法,包括將需要傳輸的文件分為設定大小的傳輸數據包後,確定所述傳輸數據包的壓縮率;若所述壓縮率小於設定值,則對所述傳輸數據包進行壓縮後傳輸;否則,直接將所述傳輸數據包進行傳輸。由於在進行數據包傳輸之前,對數據包的壓縮率先進行判斷;如果確定壓縮率較低,則對傳輸數據包進行壓縮後傳輸,此時,需要傳輸的數據被大大壓縮,從而節約了傳輸時間;如果判斷出壓縮率較高,則不進行壓縮處理,直接進行傳輸,從而節省了發送方的壓縮時間,以及接收方的解壓時間,從整體上提高了傳輸效率。
文檔編號H04L1/00GK101552652SQ20091008440
公開日2009年10月7日 申請日期2009年5月13日 優先權日2009年5月13日
發明者斌 任, 餘立華, 軍 劉, 飛 吳, 吳小廣, 斌 王, 陳喜明 申請人:北京交大思源科技有限公司

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀