本發(fā)明涉及數(shù)據(jù)網(wǎng)絡,尤其涉及一種數(shù)據(jù)上傳方法、裝置、網(wǎng)速檢測方法及網(wǎng)間連接器。
背景技術:
1、在通過linux系統(tǒng)進行數(shù)據(jù)傳輸?shù)膱鼍爸?,用戶可以利用tcp協(xié)議棧完成報文的上傳或轉發(fā),但由于現(xiàn)實網(wǎng)絡中的mss一般較小,小于1500,又由于每個報文都必須走一遍完整協(xié)議棧。當文件上傳時,數(shù)據(jù)將被分拆成很多的數(shù)據(jù)報文,且每個報文都需要完整的經(jīng)過協(xié)議棧的轉發(fā),導致使用linux系統(tǒng)的產(chǎn)品報文傳輸效率很低,影響文件上傳性能。
2、因此,如何有效地提升文件數(shù)據(jù)上傳性能是本領域技術人員亟待解決的技術問題。
技術實現(xiàn)思路
1、本申請實施例的主要目的在于提供一種數(shù)據(jù)上傳方法、裝置、網(wǎng)速檢測方法及網(wǎng)間連接器,旨在提升文件數(shù)據(jù)的上傳速度性能,尤其是將本地文件上傳至服務器。
2、第一方面,本申請實施例提供一種數(shù)據(jù)上傳方法,包括:
3、獲取待上傳至服務器的數(shù)據(jù)報文隊列,并從數(shù)據(jù)報文隊列中獲取樣本報文;
4、根據(jù)樣本報文確定數(shù)據(jù)報文隊列的第一特征參數(shù)與報文長度標準;
5、根據(jù)預設的組裝規(guī)則對數(shù)據(jù)報文隊列中的數(shù)據(jù)報文進行組裝處理以生成數(shù)據(jù)合并包,其中,數(shù)據(jù)合并包由至少一個數(shù)據(jù)報文組成;
6、當檢測出數(shù)據(jù)合并包中具有與第一特征參數(shù)相匹配的第二特征參數(shù)時,對數(shù)據(jù)合并包進行封裝處理以生成封裝合并包;
7、根據(jù)報文長度標準拆分封裝合并包以生成目標報文,并向服務器輸出目標報文。
8、在一些實施方式中,從數(shù)據(jù)報文隊列中獲取樣本報文包括:
9、通過預設的協(xié)議棧將數(shù)據(jù)報文隊列中的數(shù)據(jù)報文依次轉發(fā);
10、以首個轉發(fā)的數(shù)據(jù)報文作為樣本報文。
11、在一些實施方式中,根據(jù)預設的組裝規(guī)則對數(shù)據(jù)報文隊列中的數(shù)據(jù)報文進行組裝處理包括:
12、從數(shù)據(jù)報文隊列中對單個的數(shù)據(jù)報文進行依次抓取,并在抓取任一數(shù)據(jù)報文的過程中,計算已抓取的數(shù)據(jù)報文的總數(shù)據(jù)長度;
13、當總數(shù)據(jù)長度超過預設的長度閾值時,將最后抓取的數(shù)據(jù)報文放回數(shù)據(jù)報文隊列;
14、將抓取的數(shù)據(jù)報文組裝為數(shù)據(jù)合并包。
15、在一些實施方式中,根據(jù)報文長度標準拆分封裝合并包以生成目標報文包括:
16、根據(jù)報文長度標準對封裝合并包進行拆分得到至少一個目標報文,其中,目標報文的數(shù)據(jù)長度不超過報文長度標準。
17、在一些實施方式中,對數(shù)據(jù)合并包進行封裝處理以生成封裝合并包,包括:
18、查找數(shù)據(jù)合并包中的tcp數(shù)據(jù)段,并為tcp數(shù)據(jù)段封裝mac頭信息與ip頭信息,以生成封裝合并包。
19、在一些實施方式中,方法還包括:
20、當檢測出數(shù)據(jù)合并包中不具有與第一特征參數(shù)相匹配的第二特征參數(shù)時,將數(shù)據(jù)合并包輸入預設的網(wǎng)絡層,并在網(wǎng)絡層為數(shù)據(jù)合并包封裝ip頭信息;
21、將已封裝ip頭信息的數(shù)據(jù)合并包輸入預設的以太網(wǎng)層,并在預設的以太網(wǎng)層為數(shù)據(jù)合并包封裝mac頭信息,得到目標數(shù)據(jù)包;
22、通過預設的物理設備驅動將目標數(shù)據(jù)包輸出至服務器。
23、在一些實施方式中,第一特征參數(shù)包括服務器的tcp協(xié)議、數(shù)據(jù)報文隊列的源端口信息及數(shù)據(jù)報文隊列的目的端口信息中的至少一者。
24、第二方面,本申請實施例還提供一種數(shù)據(jù)上傳裝置,計算機設備包括存儲器和處理器;
25、存儲器,用于存儲計算機程序;
26、處理器,用于執(zhí)行的計算機程序并在執(zhí)行的計算機程序時實現(xiàn)如本申請說明書提供的任意一種的數(shù)據(jù)上傳方法。
27、第三方面,本申請實施例還提供一種網(wǎng)速檢測方法,方法包括:
28、執(zhí)行如本申請說明書提供的任意一種的數(shù)據(jù)上傳方法,并記錄數(shù)據(jù)報文隊列的總數(shù)據(jù)大小以及將數(shù)據(jù)報文隊列上傳至服務器的總上傳時間;
29、根據(jù)總數(shù)據(jù)大小與總上傳時間計算目標網(wǎng)速。
30、第四方面,本申請實施例還提供一種網(wǎng)間連接器,網(wǎng)間連接器包括協(xié)議棧模塊與設備驅動發(fā)包模塊,協(xié)議棧模塊包括大包組裝單元和快速轉發(fā)單元,設備驅動發(fā)包模塊包括樣本處理單元及大包處理單元;
31、其中,樣本處理單元用于獲取待上傳至服務器的數(shù)據(jù)報文隊列,并從數(shù)據(jù)報文隊列中獲取樣本報文,并根據(jù)樣本報文確定數(shù)據(jù)報文隊列的第一特征參數(shù)與報文長度標準;
32、大包組裝單元用于根據(jù)預設的組裝規(guī)則對數(shù)據(jù)報文隊列中的數(shù)據(jù)報文進行組裝處理以生成數(shù)據(jù)合并包,其中,數(shù)據(jù)合并包由至少一個數(shù)據(jù)報文組成;
33、快速轉發(fā)單元用于當檢測出數(shù)據(jù)合并包中具有與第一特征參數(shù)相匹配的第二特征參數(shù)時,對數(shù)據(jù)合并包進行封裝處理以生成封裝合并包;
34、大包處理單元用于根據(jù)報文長度標準拆分封裝合并包以生成目標報文,并向服務器輸出目標報文。
35、綜上,本申請實施例提供一種數(shù)據(jù)上傳方法、裝置、網(wǎng)速檢測方法及網(wǎng)間連接器,本申請實施例提供的數(shù)據(jù)上傳方法包括:獲取待上傳至服務器的數(shù)據(jù)報文隊列,并從數(shù)據(jù)報文隊列中獲取樣本報文;根據(jù)樣本報文確定數(shù)據(jù)報文隊列的第一特征參數(shù)與報文長度標準;根據(jù)預設的組裝規(guī)則對數(shù)據(jù)報文隊列中的數(shù)據(jù)報文進行組裝處理以生成數(shù)據(jù)合并包,其中,數(shù)據(jù)合并包由至少一個數(shù)據(jù)報文組成;當檢測出數(shù)據(jù)合并包中具有與第一特征參數(shù)相匹配的第二特征參數(shù)時,對數(shù)據(jù)合并包進行封裝處理以生成封裝合并包;根據(jù)報文長度標準拆分封裝合并包以生成目標報文,并向服務器輸出目標報文,從而提升文件數(shù)據(jù)的上傳速度性能,尤其是將本地文件上傳至服務器。
1.一種數(shù)據(jù)上傳方法,其特征在于,所述方法包括:
2.如權利要求1所述的數(shù)據(jù)上傳方法,其特征在于,所述從所述數(shù)據(jù)報文隊列中獲取樣本報文包括:
3.如權利要求1所述的數(shù)據(jù)上傳方法,其特征在于,所述根據(jù)預設的組裝規(guī)則對所述數(shù)據(jù)報文隊列中的數(shù)據(jù)報文進行組裝處理包括:
4.如權利要求1所述的數(shù)據(jù)上傳方法,其特征在于,所述根據(jù)所述報文長度標準拆分所述封裝合并包以生成目標報文包括:
5.如權利要求1-4任一項所述的數(shù)據(jù)上傳方法,其特征在于,所述對所述數(shù)據(jù)合并包進行封裝處理以生成封裝合并包,包括:
6.如權利要求1-4任一項所述的數(shù)據(jù)上傳方法,其特征在于,所述方法還包括:
7.如權利要求1-4任一項所述的數(shù)據(jù)上傳方法,其特征在于,所述第一特征參數(shù)包括所述服務器的tcp協(xié)議、所述數(shù)據(jù)報文隊列的源端口信息及所述數(shù)據(jù)報文隊列的目的端口信息中的至少一者。
8.一種數(shù)據(jù)上傳裝置,其特征在于,所述計算機設備包括存儲器和處理器;
9.一種網(wǎng)速檢測方法,其特征在于,所述方法包括:
10.一種網(wǎng)間連接器,其特征在于,所述網(wǎng)間連接器包括協(xié)議棧模塊與設備驅動發(fā)包模塊,所述協(xié)議棧模塊包括大包組裝單元和快速轉發(fā)單元,所述設備驅動發(fā)包模塊包括樣本處理單元及大包處理單元;