新四季網

一種數據的接收方法、發送方法及其裝置和系統的製作方法

2023-04-23 22:02:01 1

專利名稱:一種數據的接收方法、發送方法及其裝置和系統的製作方法
技術領域:
本申請涉及網絡技術領域,特別是涉及一種數據的接收方法、發送方法及其裝置和系統。
背景技術:
當前,隨著網絡技術的普及,各種網絡應用在人們的工作和生活中也越來越重要, 尤其是文件的傳輸功能,在工作以及網絡生活中都是必不可少的,一個好用的文件傳輸工具,不僅可以簡化操作,提高工作效率,而且還可以愉悅使用者的心情。而作為一款好用的文件傳輸工具,首先傳輸速度需要夠快,其次用戶交互部分需要足夠友好。其中,用戶交互部分最難於處理的為進度以及速度的平滑展示。需要注意的是,傳輸儘量快和速度以及將進度進行展示平滑,在實現過程中往往是相互衝突的,具體的,由於發送端為了提高傳輸速度需要減少API (Application Programming hterface,應用程式編程接口 )調用開銷,並為發送端TCP(Transmission Control Protocol傳輸控制協議)/IP (網際網路Protocol,網絡互連協議)堆棧提供足夠的數據,減少空閒等待時間,所以每次需要向socket (套接字)傳遞儘量多的數據,而傳遞的數據多久之後能夠到達接收端,取決於網絡狀況。只有數據完全到達接收端之後,發送端才可以再次發送數據。假設第i次傳遞給socket的數據長度為Di,現有技術中,為了解決用戶感覺出進度和速度更新不夠及時,有卡的感覺,展示不平滑的問題,需要保證Di要小於(LBW*2)/RTT。 其中,LBW為鏈路帶寬(Link Band Width), RTT為發送報文與接收到另一端的響應之間的延時。進一步地,如果Di小於LBW*RTT,則會造成帶寬利用不足,TCP/IP堆棧經常處於空閒狀態,此時,還需要Di大於等於LBW*RTT*2。現有技術中,由於網際網路結構的複雜性,在實際處理的過程中,很難準確計算出發送端和接收端之間的LBW,而通常的做法是發送端由傳輸響應逐步調整發送包的大小。但是,在實現本申請的過程中,申請人發現現有技術中至少存在如下問題現有技術在直連情況下,可以達到預期的效果,但是在部分中轉環境下使用體驗很差。例如,發送端到中轉伺服器的網絡環境比較理想,可以快速傳輸數據,而接收端到中轉伺服器的網絡環境比較差,傳輸速度比較慢,而中轉伺服器中有比較大的緩衝。對於上述場景來說,發送端的數據包D能夠很快的傳輸到中轉伺服器,此時,需要調大數據包的大小,再次發送到中轉伺服器。而數據到達中轉伺服器之後,非常緩慢的通過中轉伺服器到達接收端,如此將會造成發送端和接收端進度和速度嚴重不一致,以及進度和速度更新延遲嚴重的問題。

發明內容
本申請提供一種數據的接收方法、發送方法及其裝置和系統,以在提升傳輸速度的同時,準確有效的計算出真實的傳輸速度以及進度。
為了達到上述目的,本申請提出一種數據的傳輸方法,應用於包括發送端和接收端的系統中,所述方法包括以下步驟所述接收端接收來自所述發送端的當前數據包,並根據所述當前數據包與前一數據包之間的時間間隔以及所述當前數據包的包長計算所述待傳輸數據包的包長;所述接收端向所述發送端發送應答消息,所述應答消息中攜帶了所述待傳輸數據包的包長信息。根據所述當前數據包與前一數據包之間的時間間隔以及所述當前數據包的包長計算所述待傳輸數據包的包長,具體包括當所述當前數據包與前一數據包之間的時間間隔小於預設的第一閾值時,所述接收端將所述待傳輸數據包的包長設為大於所述當前數據包的包長;當所述當前數據包與前一數據包之間的時間間隔大於預設的第二閾值時,所述接收端將所述待傳輸數據包的包長設為小於所述當前數據包的包長,所述第一閾值小於所述
第二閾值。所述接收端向所述發送端發送應答消息之前,還包括所述接收端根據所述當前數據包獲取自身接收到的來自所述發送端的數據量信息,並在所述應答消息中還攜帶所述接收端接收到的數據量信息。一種數據的發送方法,應用於包括發送端和接收端的系統中,所述方法包括以下步驟所述發送端接收來自接收端的應答消息,所述應答消息中攜帶所述接收端根據當前數據包計算的待傳輸數據包的包長;所述發送端根據所述待傳輸數據包的包長獲取待傳輸數據包,並將所述待傳輸數據包發送給所述接收端。所述來自接收端的應答消息中還包括所述接收端接收到的數據量,所述發送端根據所述待傳輸數據包的包長獲取所述待傳輸數據包,具體包括所述發送端判斷向所述接收端發送的數據量是否小於所述接收端接收到的數據量與網絡能力支持的包長之和;如果是,則所述發送端根據所述待傳榆數據包的包長獲取所述待傳輸數據包;否則,所述發送端不獲取所述待傳輸數據包。一種接收端,應用於包括發送端和接收端的系統中,包括接收模塊,用於接收來自所述發送端的當前數據包;計算模塊,用於根據所述接收模塊接收的當前數據包與前一數據包之間的時間間隔以及所述當前數據包的包長計算所述待傳輸數據包的包長;發送模塊,用於向所述發送端發送應答消息,所述應答消息中攜帶了所述計算模塊計算的所述待傳輸數據包的包長信息。所述計算模塊,具體用於當所述當前數據包與前一數據包之間的時間間隔小於預設的第一閾值時,將所述待傳輸數據包的包長設為大於所述當前數據包的包長;當所述當前數據包與前一數據包之間的時間間隔大於預設的第二閾值時,將所述待傳輸數據包的包長設為小於所述當前數據包的包長。所述計算模塊,還用於根據所述當前數據包獲取自身接收到的來自所述發送端的數據量信息;並在所述應答消息中攜帶所述接收端接收到的數據量信息。一種發送端,應用於包括發送端和接收端的系統中,包括接收模塊,用於接收來自接收端的應答消息,所述應答消息中攜帶所述接收端根據當前數據包計算的待傳輸數據包的包長;獲取模塊,用於根據所述接收模塊接收的所述待傳輸數據包的包長獲取待傳輸數據包;發送模塊,用於將所述獲取模塊獲取的待傳輸數據包發送給所述接收端。所述來自接收端的應答消息中還包括所述接收端接收到的數據量,所述獲取模塊,具體用於判斷向所述接收端發送的數據量是否小於所述接收端接收到的數據量與網絡能力支持的包長之和;如果是,則根據所述待傳輸數據包的包長獲取所述待傳輸數據包;否則,不獲取所述待傳輸數據包。—種數據的傳輸系統,包括發送端和接收端,其中,所述接收端,用於接收來自所述發送端的當前數據包,並根據所述當前數據包與前一數據包之間的時間間隔以及所述當前數據包的包長計算所述待傳輸數據包的包長;向所述發送端發送應答消息,所述應答消息中攜帶了所述待傳輸數據包的包長信息;所述發送端,用於根據所述應答消息中攜帶的待傳輸數據包的包長獲取待傳輸數據包,並將所述待傳輸數據包發送給所述接收端。本申請包括以下優點,接收端根據當前數據包計算待傳輸數據包的包長,並由發送端根據該待傳輸數據包的包長獲得需要向接收端發送的當前數據包,從而由接收端確定在網絡中傳輸的當前數據包的包長,能夠在提升傳輸速度的同時,準確有效的計算出真實的傳輸速度以及進度。


為了更清楚地說明本申請或現有技術中的技術方案,下面將對本申請或現有技術描述中所需要使用的附圖作簡單的介紹,顯而易見地,下面描述中的附圖僅僅是本申請的一些實施例,對於本領域普通技術人員來講,在不付出創造性勞動的前提下,還可以根據這些附圖獲得其他的附圖。圖1為本申請實施例一中的一種數據的接收方法流程圖;圖2為本申請實施例二中的一種數據的發送方法流程圖;圖3A和圖;3B為本申請實施例應用場景示意圖;圖4為本申請實施例三中的一種數據的發送接收方法流程圖;圖5為本申請實施例四中的一種數據的接收裝置結構示意圖;圖6為本申請實施例五中的一種數據的發送裝置結構示意圖。
具體實施例方式下面將結合本申請中的附圖,對本申請中的技術方案進行清楚、完整的描述,顯然,所描述的實施例是本申請的一部分實施例,而不是全部的實施例。基於本申請中的實施例,本領域普通技術人員獲得的其他實施例,都屬於本申請保護的範圍。本申請中,在發送端向接收端發送數據包的過程中,將發送端已經發送,接收端還未接收或正接收的數據包稱為當前數據包,當前數據包可以有多個。將每個當前數據包的前一個數據包稱為前一數據包(如果當前數據包有多個,則前一數據包也可以是當前數據包),將發送端在當前數據包之後的一個數據包稱為待傳輸數據包。例如,假設發送端已經發送了數據包Dl、D2、D3並準備發送數據包D4,接收端正在接收Dl但還未接收到D2、D3, 此時D1、D2、D3稱為當前數據包,則Dl為D2的前一數據包,依此類推,D4為待傳輸數據包。實施例一一種數據的接收方法,其流程圖如圖1所示,應用於包括發送端和接收端的系統中,實施例一為針對接收端的處理過程,包括以下步驟步驟101,所述接收端接收來自所述發送端的當前數據包,並根據所述當前數據包與前一數據包之間的時間間隔以及所述當前數據包的包長計算所述待傳輸數據包的包長;步驟102,所述接收端向所述發送端發送應答消息,所述應答消息中攜帶了所述待傳輸數據包的包長信息,所述發送端根據該包長信息調整所述待傳輸數據包的包長。優選地,本實施例中,在計算待傳輸數據包的包長時,當所述當前數據包與前一數據包之間的時間間隔小於預設的第一閾值時,所述接收端將所述待傳輸數據包的包長設為大於所述當前數據包的包長(具體大於多少,可根據網絡狀況選擇。例如,將所述待傳輸數據包的包長設為所述當前數據包的包長的2倍)。當所述當前數據包與前一數據包之間的時間間隔大於預設的第二閾值時,所述接收端將所述待傳輸數據包的包長設為小於所述當前數據包的包長(具體小於多少,同樣可根據網絡狀況選擇。例如,將所述待傳輸數據包的包長設為所述當前數據包的包長的1/幻。其中,所述第二閾值大於所述第一閾值。其中,所述第一閾值和第二閾值用于衡量帶寬是否被充分利用。如果所述當前數據包與前一數據包之間的時間間隔小於預設的第一閾值,表明網絡當前傳輸速度快,帶寬未充分利用,此時可增大所述待傳輸數據包的包長,以儘可能利用網絡帶寬。如果所述當前數據包與前一數據包之間的時間間隔大於預設的第二閾值,表明網絡當前傳輸速度慢,帶寬不足,此時可減小所述待傳輸數據包的包長,以儘可能避免因帶寬不足,而使得傳輸時間過長,甚至導致因數據包丟失而需要重發。如果所述當前數據包與前一數據包之間的時間間隔位於所述第一閾值與第二閾值之間,這表明當前網絡帶寬已經得到比較充分的利用,因此可以不調整所述待傳輸數據包的包長,如維持所述傳輸數據包的包長與所述當前數據包的包長相近或相等。具體地,在本申請中,當接收端接收到當前數據包Di後,需要計算當前數據包Di 與前一數據包Dg之間的時間間隔t,如果該時間間隔t小於該第一閾值時,所述接收端將待傳輸數據包的包長設為大於所述當前數據包的包長;如果該時間間隔t大於該第二閾值時,所述接收端將待傳輸數據包的包長設為小於所述當前數據包的包長。例如,根據對當前網絡狀況的測試或經驗數據,將所述第一閾值和第二閾值分別設定為0.&和&。即當前數據包與前一數據包之間的時間間隔位於0.5s-k之間時,表明數據包的包長設定合理,能夠較為充分的利用當前的網絡帶寬,當前數據包在網絡中可以較好地傳輸。如果當前數據包與前一數據包之間的時間間隔小於0.5s(第一閾值)時,表明帶寬未得到充分利用,因此,在本申請中,將所述待傳輸數據包的包長設定為大於當前數據包的包長,如將所述待傳輸數據包的包長設定為當前數據包的包長2倍,以提高發送端的數據發送速度,充分利用帶寬資源。如果當前數據包與前一數據包之間的時間間隔大於2s (第二閾值)時,表明帶寬不足,用戶可能會感覺出進度和速度更新不夠及時,會有卡的感覺,因此,在本申請中,將所述待傳輸數據包的包長設定為小於當前數據包的包長,如將所述待傳輸數據包的包長設定為當前數據包的包長一半,增加當前數據包的傳輸速度,避免數據包的傳輸時間過長而出現丟失等現象,更好地保證數據包的傳輸進度和速度。優選地,在本申請中,所述接收端還可以計算自身已經接收到的來自所述發送端的數據量信息,並在所述應答消息中攜帶所述接收端接收到的數據量信息。實施例二一種數據的發送方法,其流程圖如圖2所示,應用於包括發送端和接收端的系統中,實施例二為針對發送端的處理過程,包括以下步驟步驟201,所述發送端接收來自接收端的應答消息,所述應答消息中攜帶所述接收端根據當前數據包計算的待傳輸數據包的包長;步驟202,所述發送端根據所述待傳輸數據包的包長獲取待傳輸數據包,並將所述待傳輸數據包發送給所述接收端。優選地,來自接收端的應答消息中還包括所述接收端接收到的數據量,所述發送端根據所述待傳輸數據包的包長獲取所述待傳輸數據包具體包括所述發送端判斷已經向所述接收端發送的數據量是否小於所述接收端接收到的數據量與網絡能力支持的包長之和;如果是,則所述發送端根據所述待傳輸數據包的包長獲取所述待傳輸數據包;否則,所述發送端確定當前時刻不需要根據所述待傳輸數據包的包長獲取所述待傳輸數據包。為了更加清楚的說明本申請實施例,以下對網絡能力支持的包長進行詳細說明。 為了保證當前數據包在網絡中的正常傳輸,在網絡中傳輸的當前數據包的個數需要滿足網絡能力的要求,例如,網絡只能夠保證3個當前數據包同時在網絡中進行傳輸時,則網絡能力支持的當前數據包的個數是3個。並且網絡能力支持的包長為網絡能力支持的當前數據包的個數與待傳輸數據包的包長之積,由於待傳輸數據包的包長會發生變化,因此相應的網絡能力支持的包長也會發生變化。例如,當接收到第一個應答消息得到待傳輸數據包的包長為20K,則網絡能力支持的包長為60K,當接收到第一個應答消息得到待傳輸數據包的包長為25K,則網絡能力支持的包長為75K。具體地,當接收到來自接收端的應答消息後,該發送端能夠從該應答消息中解析出待傳輸數據包的包長D和接收端已經接收到的來自該發送端的數據量AckD。其中,通過該AckD,該發送端能夠獲知接收端至少接收到了 AckD長度的文件數據。對於有中轉伺服器的網絡環境,為了避免發送端和接收端兩端進度的嚴重不一致,以及發送端速度抖動劇烈等問題,發送端需要避免循環向接收端發送數據包。而如果採用現有的發送一個數據包,再等待確認一個數據包,之後再發送一個數據包的方式,或者不針對網絡能力調整包長的傳輸方式,則會降低網絡帶寬的利用率和數據包的傳輸速度。在本申請中,發送端在發送了當前數據包Di後,根據發送端已經向接收端發送了 Σ「Df的數據量,以及接收端已經接收到的來自該發送端的數據量AckD,判斷瑪^Dl是否小於AckD與當前網絡能力支持的包長的和,如果是,則表明當前網絡狀況較好,此時發送端可以繼續向接收端發送當前數據包;如果否,則表明當前網絡狀況較差,此時發送端可停止向接收端發送數據包。本申請中,由於發送端向接收端發送的待傳輸數據包的包長會根據來自接收端的應答消息進行調整,所以在待傳輸數據包變成當前數據包進行傳輸時,當前數據包Di的包長即可能是相同的,也可能是不同的。綜上所述,在數據從發送端到達接收端的過程中,不管經過多少網絡中繼設備,對於整個系統而言,接收端單位時間內收到的數據量才是進度更新和計算速度最可靠的依據。而本申請中,由接收端指定待傳輸數據包的包長以及調控發送端可發送的數據量,當接收端接收到當前數據包之後,計算合適的待傳輸數據包的包長,向發送端返回應答消息,該應答消息中附帶計算出的待傳輸數據包的包長。發送端接收到接收端的應答消息之後,重新設定待傳輸數據包的包長,並根據確認的數據量發送新的當前數據包。從而由接收端確定在網絡中傳輸的當前數據包的包長,能夠在提升傳輸速度的同時,準確有效的計算出真實的傳輸速度以及進度。實施例三為了更加清楚的闡述本申請提供的技術方案,以下結合具體應用場景對上述數據的傳輸方法進行具體、詳細的描述。如圖3A所示的一種應用場景示意圖,發送端通過網際網路與接收端連接,如圖3B所示的另一種應用場景示意圖,發送端通過網際網路與中轉伺服器連接,中轉伺服器通過網際網路與接收端連接。基於上述應用場景,本申請實施例三在結合實施例一、實施例二的基礎上,提供一種數據的發送接收方法,其流程圖如圖4所示,包括以下步驟步驟401,所述接收端接收來自所述發送端的當前數據包,並根據所述當前數據包與前一數據包之間的時間間隔以及所述當前數據包的包長計算所述待傳輸數據包的包長。步驟402,所述接收端向所述發送端發送應答消息,所述應答消息中攜帶了所述待傳輸數據包的包長信息。步驟403,所述發送端接收來自接收端的應答消息,所述應答消息中攜帶所述接收端根據當前數據包計算的待傳輸數據包的包長。步驟404,所述發送端根據所述待傳輸數據包的包長獲取待傳輸數據包,並將所述待傳輸數據包作為當前數據包發送給所述接收端。為了更加清楚的闡述本申請,以下結合一個具體的應用來進行說明。在本申請中, 將數據包長度初始化為2K(該數據包長度初始化的數值可以根據實際需要任意選擇),如果當前數據包傳輸連接建立成功之後,則發送端向接收端發送3個包長為I的當前數據包,分別為當前數據包1、當前數據包2和當前數據包3。並且接收端的所述第一閾值和第二閾值分別設定為0. 5s和2So當接收端接收到當前數據包Di後,計算當前數據包Di與前一數據包Dg之間的時間間隔t,如果時間間隔t位於0. 5s-2s之間,則應答消息中的待傳輸數據包的包長為當前數據包的包長;時間間隔t小於0.5s (第一閾值)時,將所述應答消息中的待傳輸數據包的包長設定為當前數據包的包長的2倍;如果時間間隔t大於k(第二閾值)時,將所述應答消息中的待傳輸數據包的包長設定為當前數據包包長的一半。當接收端接收到當前數據包1時,則向發送端返回應答消息1。其中,由於當前數據包1是首個接收到的數據包,應答消息1中可以攜帶待傳輸數據包的包長為數據包1的包長,即2K,應答消息1中還可以攜帶自身已經接收到I數據量的信息。當接收端接收到當前數據包2時,則向發送端返回應答消息2。其中,根據接收到當前數據包1與接收到當前數據包2之間的時間間隔t(以Is為例),應答消息2中可以攜帶待傳輸數據包的包長為2K,即數據包2的包長,並攜帶自身已經接收到4K數據量的信肩、ο當接收端接收到當前數據包3時,則向發送端返回應答消息3。其中,根據接收到當前數據包2與接收到當前數據包3之間的時間間隔t (以3s為例),應答消息3中可以攜帶待傳輸數據包的包長為1K,即數據包3包長的一半,並攜帶自身已經接收到6K數據量的信息。當發送端接收到應答消息1時,知道發送端已經向接收端發送了 6K數據量,接收端已經接收到I數據量,待傳輸數據包的包長為2K,由於6K小於I+3MK,則發送端確定需要繼續向接收端發送數據包,此時,發送端組成包長為觀的待傳輸數據包,並將待傳輸數據包作為當前數據包4發送給接收端。當發送端接收到應答消息2時,知道發送端已經向接收端發送了 8K數據量(即數據包1至數據包4之和),接收端已經接收到4K數據量,待傳輸數據包的包長為2K,由於8K 小於4K+3MK,則發送端確定需要繼續向接收端發送數據包,此時,發送端組成包長為I的待傳輸數據包,並將待傳輸數據包作為當前數據包5發送給接收端。當發送端接收到應答消息3時,知道發送端已經向接收端發送了 IOK數據量(即數據包1至數據包5之和),接收端已經接收到6K數據量,待傳輸數據包的包長為1K,由於 IOK大於6K+3*1K,則發送端確定此時不需要繼續向接收端發送數據包,繼續等待接收應答消息。當接收端接收到當前數據包4時,則向發送端返回應答消息4。其中,根據接收到當前數據包4與接收到當前數據包3之間的時間間隔t (以0.如為例),應答消息4中可以攜帶待傳輸數據包的包長為4K,即數據包4包長的一倍,並攜帶自身已經接收到8K數據量的信息。當發送端接收到應答消息4時,知道發送端已經向接收端發送了 IOK數據量(即數據包1至數據包5之和),接收端已經接收到8K數據量,由於應答消息4中的待傳輸數據包的包長為4K,由於IOK小於8K+3*4K ;因此發送端確定需要繼續向接收端發送數據包,此時,發送端組成包長為4Κ的待傳輸數據包,並將待傳輸數據包作為當前數據包6發送給接收端。依此類推,本申請中不再詳加贅述。實施例四與實施例一提供的數據的接收方法和應用場景相對應地,本實施例四提供一種接收端。圖5為本申請實施例四中的一種接收端的結構示意圖,應用於包括發送端和接收端的系統中,該接收端包括接收模塊11,用於接收來自所述發送端的當前數據包;計算模塊12,用於根據所述接收模塊11接收的當前數據包與前一數據包之間的時間間隔以及所述當前數據包的包長計算所述待傳輸數據包的包長;
發送模塊13,用於向所述發送端發送應答消息,所述應答消息中攜帶了所述計算模塊12計算的所述待傳輸數據包的包長信息。本申請中,所述計算模塊12,具體用於當所述當前數據包與前一數據包之間的時間間隔小於預設的第一閾值時,將所述待傳輸數據包的包長設為大於所述當前數據包的包長;當所述當前數據包與前一數據包之間的時間間隔大於預設的第二閾值時,將所述待傳輸數據包的包長設為小於所述當前數據包的包長。所述計算模塊12,還用於根據所述當前數據包獲取自身接收到的來自所述發送端的數據量信息;並在所述應答消息中攜帶所述接收端接收到的數據量信息。其中,本申請裝置的各個模塊可以集成於一體,也可以分離部署。上述模塊可以合併為一個模塊,也可以進一步拆分成多個子模塊。實施例五與實施例二提供的數據的發送方法和應用場景相對應地,本實施例五提供一種發送端。圖6為本申請實施例五中的一種發送端的結構示意圖,應用於包括發送端和接收端的系統中,該發送端包括接收模塊21,用於接收來自所述接收端的應答消息,所述應答消息中攜帶所述接收端根據當前數據包計算的待傳輸數據包的包長。獲取模塊22,用於根據所述接收模塊21接收的所述待傳輸數據包的包長獲取待傳輸數據包。發送模塊23,用於將所述獲取模塊22獲取的待傳輸數據包發送給所述接收端。另外,所述來自接收端的應答消息中還包括所述接收端接收到的數據量,所述獲取模塊22,具體用於判斷向所述接收端發送的數據量是否小於所述接收端接收到的數據量與網絡能力支持的包長之和;如果是,則根據所述待傳輸數據包的包長獲取所述待傳輸數據包;否則,不獲取所述待傳輸數據包。其中,本申請裝置的各個模塊可以集成於一體,也可以分離部署。上述模塊可以合併為一個模塊,也可以進一步拆分成多個子模塊。實施例六與實施例三提供的數據的傳輸方法和應用場景相對應地,本申請實施例六提出了一種數據的傳輸系統,包括實施例四的發送端和實施例五的接收端,其中,所述接收端,用於接收來自所述發送端的當前數據包,並根據所述當前數據包與前一數據包之間的時間間隔以及所述當前數據包的包長計算所述待傳輸數據包的包長;向所述發送端發送應答消息,所述應答消息中攜帶了所述待傳輸數據包的包長信息;所述發送端,用於根據所述應答消息中攜帶的待傳輸數據包的包長獲取待傳輸數據包,並將所述待傳輸數據包發送給所述接收端。通過以上的實施方式的描述,本領域的技術人員可以清楚地了解到本申請可藉助軟體加必需的通用硬體平臺的方式來實現,當然也可以通過硬體,但很多情況下前者是更佳的實施方式。基於這樣的理解,本申請的技術方案本質上或者說對現有技術做出貢獻的部分可以以軟體產品的形式體現出來,該計算機軟體產品存儲在一個存儲介質中,包括若干指令用以使得一臺終端設備(可以是手機,個人計算機,伺服器,或者網絡設備等)執行本申請各個實施例所述的方法。
以上所述僅是本申請的優選實施方式,應當指出,對於本技術領域的普通技術人員來說,在不脫離本申請原理的前提下,還可以做出若干改進和潤飾,這些改進和潤飾也應視本申請的保護範圍。本領域技術人員可以理解實施例中的裝置中的模塊可以按照實施例描述進行分布於實施例的裝置中,也可以進行相應變化位於不同於本實施例的一個或多個裝置中。上述實施例的模塊可以集成於一體,也可以分離部署;可以合併為一個模塊,也可以進一步拆分成多個子模塊。上述本申請實施例序號僅僅為了描述,不代表實施例的優劣。以上公開的僅為本申請的幾個具體實施例,但是,本申請並非局限於此,任何本領域的技術人員能思之的變化都應落入本申請的保護範圍。
權利要求
1.一種數據的接收方法,其特徵在於,應用於包括發送端和接收端的系統中,所述方法包括以下步驟所述接收端接收來自所述發送端的當前數據包,並根據所述當前數據包與前一數據包之間的時間間隔以及所述當前數據包的包長計算所述待傳輸數據包的包長;所述接收端向所述發送端發送應答消息,所述應答消息中攜帶了所述待傳輸數據包的息 O
2.如權利要求1所述的方法,其特徵在於,根據所述當前數據包與前一數據包之間的時間間隔以及所述當前數據包的包長計算所述待傳輸數據包的包長,具體包括當所述當前數據包與前一數據包之間的時間間隔小於預設的第一閾值時,所述接收端將所述待傳輸數據包的包長設為大於所述當前數據包的包長;當所述當前數據包與前一數據包之間的時間間隔大於預設的第二閾值時,所述接收端將所述待傳輸數據包的包長設為小於所述當前數據包的包長,所述第一閾值小於所述第二閾值。
3.如權利要求1所述的方法,其特徵在於,所述接收端向所述發送端發送應答消息之前,還包括所述接收端根據所述當前數據包獲取自身接收到的來自所述發送端的數據量信息,並在所述應答消息中還攜帶所述接收端接收到的數據量信息。
4.一種數據的發送方法,其特徵在於,應用於包括發送端和接收端的系統中,所述方法包括以下步驟所述發送端接收來自接收端的應答消息,所述應答消息中攜帶所述接收端根據當前數據包計算的待傳輸數據包的包長;所述發送端根據所述待傳輸數據包的包長獲取待傳輸數據包,並將所述待傳輸數據包發送給所述接收端。
5.如權利要求4所述的方法,其特徵在於,所述來自接收端的應答消息中還包括所述接收端接收到的數據量,所述發送端根據所述待傳輸數據包的包長獲取所述待傳輸數據包,具體包括所述發送端判斷向所述接收端發送的數據量是否小於所述接收端接收到的數據量與網絡能力支持的包長之和;如果是,則所述發送端根據所述待傳輸數據包的包長獲取所述待傳輸數據包;否則,所述發送端不獲取所述待傳輸數據包。
6.一種接收端,其特徵在於,應用於包括發送端和接收端的系統中,包括接收模塊,用於接收來自所述發送端的當前數據包;計算模塊,用於根據所述接收模塊接收的當前數據包與前一數據包之間的時間間隔以及所述當前數據包的包長計算所述待傳輸數據包的包長;發送模塊,用於向所述發送端發送應答消息,所述應答消息中攜帶了所述計算模塊計算的所述待傳輸數據包的包長信息。
7.如權利要求6所述的接收端,其特徵在於,所述計算模塊,具體用於當所述當前數據包與前一數據包之間的時間間隔小於預設的第一閾值時,將所述待傳輸數據包的包長設為大於所述當前數據包的包長;當所述當前數據包與前一數據包之間的時間間隔大於預設的第二閾值時,將所述待傳輸數據包的包長設為小於所述當前數據包的包長。
8.如權利要求6所述的接收端,其特徵在於,所述計算模塊,還用於根據所述當前數據包獲取自身接收到的來自所述發送端的數據量信息;並在所述應答消息中攜帶所述接收端接收到的數據量信息。
9.一種發送端,其特徵在於,應用於包括發送端和接收端的系統中,包括接收模塊,用於接收來自接收端的應答消息,所述應答消息中攜帶所述接收端根據當前數據包計算的待傳輸數據包的包長;獲取模塊,用於根據所述接收模塊接收的所述待傳輸數據包的包長獲取待傳輸數據包;發送模塊,用於將所述獲取模塊獲取的待傳輸數據包發送給所述接收端。
10.如權利要求9所述的發送端,其特徵在於,所述來自接收端的應答消息中還包括所述接收端接收到的數據量,所述獲取模塊,具體用於判斷向所述接收端發送的數據量是否小於所述接收端接收到的數據量與網絡能力支持的包長之和;如果是,則根據所述待傳輸數據包的包長獲取所述待傳輸數據包;否則,不獲取所述待傳輸數據包。
11.一種數據的傳輸系統,其特徵在於,包括發送端和接收端,其中,所述接收端,用於接收來自所述發送端的當前數據包,並根據所述當前數據包與前一數據包之間的時間間隔以及所述當前數據包的包長計算所述待傳輸數據包的包長;向所述發送端發送應答消息,所述應答消息中攜帶了所述待傳輸數據包的包長信息;所述發送端,用於根據所述應答消息中攜帶的待傳輸數據包的包長獲取待傳輸數據包,並將所述待傳輸數據包發送給所述接收端。
全文摘要
本發明公開了一種數據的接收方法、發送方法及其裝置和系統,該方法包括以下步驟所述接收端接收來自所述發送端的當前數據包,並根據所述當前數據包與前一數據包之間的時間間隔以及所述當前數據包的包長計算所述待傳輸數據包的包長;所述接收端向所述發送端發送攜帶了所述待傳輸數據包的包長信息的應答消息,所述發送端接收來自接收端的應答消息,所述發送端根據所述待傳輸數據包的包長獲取待傳輸數據包,並將所述待傳輸數據包發送給所述接收端。本發明中,由接收端確定在網絡中傳輸的當前數據包的包長,能夠在提升傳輸速度的同時,準確有效的計算出真實的傳輸速度以及進度。
文檔編號H04L1/00GK102263605SQ201010184190
公開日2011年11月30日 申請日期2010年5月27日 優先權日2010年5月27日
發明者白振國 申請人:阿里巴巴集團控股有限公司

同类文章

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

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有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-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀