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