基于mtu值的中間件與移動終端的數(shù)據(jù)傳輸方法及系統(tǒng)的制作方法
【專利摘要】本發(fā)明提供了一種基于MTU值的中間件與移動終端的數(shù)據(jù)傳輸方法及系統(tǒng),其中的方法包括,根據(jù)移動終端的數(shù)據(jù)傳輸請求查詢傳輸路徑的路徑MTU值;如果未查詢到傳輸路徑的路徑MTU值,則禁止傳輸路徑中的數(shù)據(jù)包分片,并根據(jù)數(shù)據(jù)包默認(rèn)的MTU值獲取傳輸路徑的路徑MTU值;根據(jù)獲取的傳輸路徑的路徑MTU值在中間件和移動終端之間進(jìn)行數(shù)據(jù)傳輸;如果查詢到傳輸路徑的路徑MTU值,根據(jù)查詢到的傳輸路徑的路徑MTU值在中間件和移動終端之間進(jìn)行數(shù)據(jù)傳輸。通過本發(fā)明,能夠保證數(shù)據(jù)包在傳輸過程中不會被分片,提升數(shù)據(jù)傳輸效率,進(jìn)而加快瀏覽器客戶端展現(xiàn)頁面的速度,提升用戶體驗(yàn)。
【專利說明】基于MTU值的中間件與移動終端的數(shù)據(jù)傳輸方法及系統(tǒng)
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及移動終端數(shù)據(jù)通信【技術(shù)領(lǐng)域】,更為具體地,涉及一種基于MTU值的中間件與移動終端的數(shù)據(jù)傳輸方法及系統(tǒng)。
【背景技術(shù)】
[0002]路徑MTU (Maximum Transmission Unit,最大傳輸單元)被定義為從源地址到目的地址所經(jīng)過“路徑”上的所有IP (Internet Protocol)跳的最大傳輸單元的最小值。網(wǎng)絡(luò)上各種設(shè)備的MTU值并非按照統(tǒng)一標(biāo)準(zhǔn)設(shè)定,設(shè)備MTU值大小不定,如果按照統(tǒng)一標(biāo)準(zhǔn)來設(shè)定所有連接的MTU值,會導(dǎo)致某些路徑MTU較小的區(qū)域數(shù)據(jù)傳輸效率下降,例如某個TCP(Transmission Control Protocol)連接傳輸?shù)淖畲髷?shù)據(jù)單元超過路徑的MTU值,數(shù)據(jù)包將會被分片,而數(shù)據(jù)包的分片會導(dǎo)致數(shù)據(jù)傳輸效率降低,進(jìn)而影響移動終端與中間件的數(shù)據(jù)傳輸速度。
[0003]針對上述問題,已有的解決方法如下:分組網(wǎng)絡(luò)設(shè)備根據(jù)預(yù)設(shè)的MSS參數(shù)閾值對終端和服務(wù)器間的傳輸控制協(xié)議TCP連接消息中攜帶的最大傳輸單元MSS參數(shù)值進(jìn)行調(diào)整,并將調(diào)整后的TCP連接消息發(fā)送出去;終端或服務(wù)器通過TCP連接消息中所攜帶的MSS參數(shù)獲取對終端支持的最大報文段長度,將其與自己支持的最大報文段長度進(jìn)行比較,從中選擇較小的值對TCP傳輸數(shù)據(jù)進(jìn)行分段處理。通過將MSS參數(shù)值進(jìn)行調(diào)整,能夠使分組網(wǎng)絡(luò)設(shè)備之間傳輸?shù)氖褂盟淼绤f(xié)議封裝后的終端和服務(wù)器之間的數(shù)據(jù)包長度不大于分組網(wǎng)絡(luò)設(shè)備之間的路徑MTU(最大傳輸單元),因此能夠減少分組網(wǎng)絡(luò)設(shè)備間的IP包分片,降低數(shù)據(jù)包處理的時延,并提高分組設(shè)備的處理能力。
[0004]但是,上述解決方法中存在如下問題:在根據(jù)預(yù)設(shè)的MSS參數(shù)閾值對終端和服務(wù)器間的傳輸控制協(xié)議TCP連接消息中攜帶的最大傳輸單元MSS參數(shù)值進(jìn)行調(diào)整前,數(shù)據(jù)包會被分片,從而導(dǎo)致數(shù)據(jù)傳輸效果降低。
[0005]因此,需要一種新的中間件與移動終端數(shù)據(jù)傳輸?shù)姆椒ā?br>
【發(fā)明內(nèi)容】
[0006]鑒于上述問題,本發(fā)明的目的是提供一種基于MTU值的中間件與移動終端的數(shù)據(jù)傳輸方法及系統(tǒng),以解決數(shù)據(jù)包在傳輸過程中被分片的問題。
[0007]本發(fā)明提供一種基于MTU值的中間件與移動終端的數(shù)據(jù)傳輸方法,包括:
[0008]根據(jù)移動終端的數(shù)據(jù)傳輸請求查詢傳輸路徑的路徑MTU值;
[0009]如果未查詢到傳輸路徑的路徑MTU值,則禁止傳輸路徑中的數(shù)據(jù)包分片,并根據(jù)數(shù)據(jù)包默認(rèn)的MTU值獲取傳輸路徑的路徑MTU值;
[0010]根據(jù)獲取的傳輸路徑的路徑MTU值在中間件和移動終端之間進(jìn)行數(shù)據(jù)傳輸。
[0011]另一方面,本發(fā)明還提供一種基于MTU值的中間件與移動終端的數(shù)據(jù)傳輸系統(tǒng),包括:
[0012]路徑MTU值查詢模塊,用于根據(jù)移動終端的數(shù)據(jù)傳輸請求查詢傳輸路徑的路徑MTU 值;
[0013]路徑MTU值獲取模塊,用于在路徑MTU值查詢模塊未查詢到傳輸路徑的路徑MTU值時,禁止傳輸路徑中的數(shù)據(jù)包分片,并根據(jù)數(shù)據(jù)包的MTU值獲取傳輸路徑的路徑MTU值;
[0014]數(shù)據(jù)傳輸模塊,用于根據(jù)獲取到的傳輸路徑的路徑MTU值在中間件和移動終端之間進(jìn)行數(shù)據(jù)傳輸。
[0015]利用上述根據(jù)本發(fā)明提供的基于MTU值探測進(jìn)行中間件與移動終端數(shù)據(jù)傳輸?shù)姆椒跋到y(tǒng),通過設(shè)置發(fā)送數(shù)據(jù)包的IP頭標(biāo)志為禁止分片,將傳輸路徑中設(shè)備的MTU值與數(shù)據(jù)包默認(rèn)的MTU值進(jìn)行對比,如果設(shè)備的MTU值小于數(shù)據(jù)包默認(rèn)的MTU值,則該設(shè)備丟棄該數(shù)據(jù)包,返回一個攜帶該設(shè)備的MTU值的ICMP數(shù)據(jù)包,并將設(shè)備的MTU值作為傳輸路徑的路徑MTU值,因此,能夠保證數(shù)據(jù)包在傳輸過程中不會被分片,提升數(shù)據(jù)傳輸效率,進(jìn)而加快瀏覽器客戶端展現(xiàn)頁面的速度,提升用戶體驗(yàn)。
[0016]為了實(shí)現(xiàn)上述以及相關(guān)目的,本發(fā)明的一個或多個方面包括后面將詳細(xì)說明并在權(quán)利要求中特別指出的特征。下面的說明以及附圖詳細(xì)說明了本發(fā)明的某些示例性方面。然而,這些方面指示的僅僅是可使用本發(fā)明的原理的各種方式中的一些方式。此外,本發(fā)明旨在包括所有這些方面以及它們的等同物。
【專利附圖】
【附圖說明】
[0017]通過參考以下結(jié)合附圖的說明及權(quán)利要求書的內(nèi)容,并且隨著對本發(fā)明的更全面理解,本發(fā)明的其它目的及結(jié)果將更加明白及易于理解。在附圖中:
[0018]圖1為根據(jù)本發(fā)明的基于MTU值的中間件與移動終端的數(shù)據(jù)傳輸方法流程示意圖;
[0019]圖2為根據(jù)本發(fā)明實(shí)施例的基于MTU值的中間件與移動終端的數(shù)據(jù)傳輸流程;
[0020]圖3為根據(jù)本發(fā)明實(shí)施例的基于MTU值的中間件與移動終端的數(shù)據(jù)傳輸方法的鏈路圖;
[0021]圖4為根據(jù)本發(fā)明實(shí)施例的基于MTU值的中間件與移動終端的數(shù)據(jù)傳輸方法的數(shù)據(jù)交互流程圖;
[0022]圖5為根據(jù)本發(fā)明的基于MTU值的中間件與移動終端的數(shù)據(jù)傳輸系統(tǒng)的方框圖。
[0023]在所有附圖中相同的標(biāo)號指示相似或相應(yīng)的特征或功能。
【具體實(shí)施方式】
[0024]以下將結(jié)合附圖對本發(fā)明的具體實(shí)施例進(jìn)行詳細(xì)描述。
[0025]針對數(shù)據(jù)包在傳輸過程中被分片的問題,本發(fā)明通過設(shè)置發(fā)送數(shù)據(jù)包的IP頭標(biāo)志為禁止分片(DF,Don’t Fragment),將傳輸路徑中的設(shè)備的MTU值與數(shù)據(jù)包默認(rèn)的MTU值進(jìn)行對比,傳輸路徑上MTU值比當(dāng)前數(shù)據(jù)包小的設(shè)備會丟棄該數(shù)據(jù)包,給“中間件”返回一個ICMP (Internet Control Message Protocol)數(shù)據(jù)包并攜帶該設(shè)備的MTU值,允許“中間件”根據(jù)該設(shè)備的MTU值調(diào)整自身數(shù)據(jù)包大小,使得“中間件”自身的數(shù)據(jù)包大小等于或者小于該設(shè)備的MTU值;從而避免數(shù)據(jù)包在傳輸過程中被分片,提高數(shù)據(jù)傳輸效率。
[0026]由于目前主要以手機(jī)作為移動互聯(lián)網(wǎng)載體,因此,在下面本發(fā)明【具體實(shí)施方式】的表述中,“移動終端”、“手機(jī)”均是指用戶訪問移動互聯(lián)網(wǎng)所使用的目標(biāo)載體,同時可以將“手機(jī)”理解為“移動終端”的一種但不是唯一的一種具體表現(xiàn)形式。
[0027]另外,本發(fā)明在對【具體實(shí)施方式】進(jìn)行表述時所用到的“中間件”指的可以是服務(wù)器,也可以是一種獨(dú)立的系統(tǒng)軟件或者服務(wù)程序。為了表述的方便,在下面的實(shí)施例中將以服務(wù)器作為中間件。
[0028]圖1示出了根據(jù)本發(fā)明的基于MTU值的中間件與移動終端的數(shù)據(jù)傳輸方法流程。
[0029]如圖1所示,當(dāng)手機(jī)向中間件發(fā)送Web頁面請求時,服務(wù)器根據(jù)手機(jī)的請求查詢傳輸路徑的路徑MTU值(步驟S110);如果未查詢到傳輸路徑的路徑MTU值,則服務(wù)器禁止傳輸路徑中的數(shù)據(jù)包分片,并根據(jù)數(shù)據(jù)包默認(rèn)的MTU值獲取傳輸路徑的路徑MTU值(步驟S120);在獲取到傳輸路徑的路徑MTU值后,在步驟S130步驟中,服務(wù)器根據(jù)獲取到的傳輸路徑的路徑MTU值與手機(jī)進(jìn)行數(shù)據(jù)傳輸。
[0030]為了更為詳細(xì)地說明本發(fā)明提供的基于MTU值的中間件與移動終端的數(shù)據(jù)傳輸方法,圖2示出了根據(jù)本發(fā)明實(shí)施例的基于MTU值的中間件與移動終端的數(shù)據(jù)傳輸流程。
[0031]如圖2所示,本發(fā)明提供的基于MTU值的中間件與移動終端的數(shù)據(jù)傳輸方法包括:
[0032]S210:服務(wù)器等待連接。
[0033]S220:手機(jī)連接服務(wù)器,請求Web頁面。
[0034]S230:服務(wù)器判斷手機(jī)所屬位置是否改變。
[0035]其中,可以以手機(jī)所在的城市是否發(fā)生改變?yōu)闃?biāo)準(zhǔn)判斷手機(jī)所屬位置是否發(fā)生改變,如果手機(jī)在同一個城市的不同城區(qū),服務(wù)器手機(jī)所屬位置不發(fā)生改變,如果手機(jī)從所在的城市被帶到另一個城市,則服務(wù)器判斷手機(jī)所屬位置發(fā)生改變。
[0036]S240:如果手機(jī)所屬位置改變,或者是新接入的手機(jī),服務(wù)器設(shè)置路徑MTU探測標(biāo)記。
[0037]S250:如果手機(jī)所屬位置未改變,則查詢該手機(jī)以前的路徑MTU值,如果查詢不到該手機(jī)以前的路徑MTU值,則由服務(wù)器設(shè)置路徑MTU探測標(biāo)記;如果查詢到該手機(jī)以前的路徑MTU值,則把該手機(jī)以前的路徑MTU值設(shè)置成當(dāng)前TCP連接的MTU值。
[0038]需要說明的是,由于服務(wù)器根據(jù)手機(jī)Web頁面的請求發(fā)送數(shù)據(jù)包返還給手機(jī),所以當(dāng)前TCP連接的MTU值即為傳輸路徑中數(shù)據(jù)包的MTU值,并以服務(wù)器默認(rèn)的MTU值作為傳輸路徑中數(shù)據(jù)包的MTU值的初始值。
[0039]S260:檢測路徑MTU探測標(biāo)記是否被設(shè)置,如果路徑MTU探測標(biāo)記被設(shè)置,執(zhí)行步驟S270,如果路徑MTU探測標(biāo)記未被設(shè)置,則執(zhí)行步驟S290。
[0040]S270:開啟路徑MTU探測進(jìn)程,路徑MTU探測進(jìn)程通過設(shè)置發(fā)送數(shù)據(jù)包的IP頭標(biāo)志為禁止分片(DF,Don’t Fragment ),將傳輸路徑中設(shè)備的MTU值與所述數(shù)據(jù)包默認(rèn)的MTU值進(jìn)行對比,路徑上MTU值比當(dāng)前數(shù)據(jù)包MTU值小的設(shè)備會丟棄該數(shù)據(jù)包,給服務(wù)器返回一個ICMP (Internet Control Message Protocol)數(shù)據(jù)包并攜帶該設(shè)備的MTU值,服務(wù)器根據(jù)該設(shè)備的MTU值調(diào)整將要發(fā)送的數(shù)據(jù)包的MTU值,使得服務(wù)器將要發(fā)送的數(shù)據(jù)包的MTU值等于或者小于該設(shè)備的MTU值。
[0041]也就是說,將返回的設(shè)備MTU值作為服務(wù)器將要發(fā)送的數(shù)據(jù)包的MTU值,即將返回的設(shè)備MTU值作為傳輸路徑的路徑MTU值。
[0042]將傳輸路徑中設(shè)備的MTU值與所述數(shù)據(jù)包默認(rèn)的MTU值進(jìn)行對比的過程中,如果路徑上MTU值比當(dāng)前數(shù)據(jù)包MTU值大,則當(dāng)前數(shù)據(jù)包會通過該設(shè)備,路徑MTU探測進(jìn)程探測傳輸路徑中下一個設(shè)備的MTU值是否小于當(dāng)前數(shù)據(jù)包MTU值。
[0043]S280:將在S270步驟中找到的路徑MTU值(路徑MTU探測進(jìn)程的探測結(jié)果)寫入數(shù)據(jù)庫。
[0044]S290:服務(wù)器通過查詢存儲在數(shù)據(jù)庫中的路徑MTU值與手機(jī)進(jìn)行數(shù)據(jù)交互。
[0045]為了進(jìn)一步說明本發(fā)明提供的基于MTU值的中間件與移動終端的數(shù)據(jù)傳輸方法,圖3示出了根據(jù)本發(fā)明實(shí)施例的基于MTU值的中間件與移動終端的數(shù)據(jù)傳輸方法的鏈路。
[0046]如圖3所示,本發(fā)明實(shí)施例從左邊的服務(wù)器到右邊的手機(jī)一共有三條鏈路,分別是:
[0047]第一條鏈路:服務(wù)器一PATH_B—手機(jī);
[0048]第二條鏈路:服務(wù)器---PATH_C—手機(jī);
[0049]第三條鏈路:服務(wù)器---PATH_A—手機(jī)。
[0050]其中,第一條鏈路的路徑MTU值為1200 ;第二條鏈路的路徑MTU值為1500 ;第三條鏈路的路徑MTU值為1400。
[0051]現(xiàn)有大多數(shù)服務(wù)器的TCP連接都使用以太網(wǎng)默認(rèn)的MTU值(1500)傳輸,本發(fā)明實(shí)施例的服務(wù)器就采用1500作為服務(wù)器的MTU值,而第一條鏈路(PATH_B)和第三條鏈路(PATH_A)的路徑MTU值分別是1200和1400,因此數(shù)據(jù)包通過第一條鏈路(PATH_B)和第三條鏈路(PATH_A)將會被第一條鏈路(PATH_B)和第三條鏈路(PATH_A)上的設(shè)備分片,如果啟用實(shí)時的路徑MTU探測機(jī)制,即,通過設(shè)置路徑MTU探測標(biāo)記,開啟路徑MTU探測進(jìn)程,將探測結(jié)果寫入到數(shù)據(jù)庫,則服務(wù)器與手機(jī)的TCP連接的最大傳輸單元不超過1200,那么通過所有路徑的數(shù)據(jù)包將不會被分片,數(shù)據(jù)傳輸效率會有提升。
[0052]為了更詳細(xì)的說明上述的路徑MTU探測機(jī)制,圖4示出了根據(jù)本發(fā)明實(shí)施例的基于MTU值探測進(jìn)行中間件與手機(jī)數(shù)據(jù)傳輸?shù)姆椒ǖ臄?shù)據(jù)交互流程。
[0053]如圖4所示,服務(wù)器使用系統(tǒng)默認(rèn)的MTU值1500發(fā)送數(shù)據(jù)包,但有的路徑上的設(shè)備Rl的MTU值是1400 (路徑MTU值是1400),服務(wù)器開啟的路徑MTU探測進(jìn)程把路徑上的設(shè)備R2將自身MTU值與接收的數(shù)據(jù)包值進(jìn)行對比,發(fā)現(xiàn)設(shè)備Rl自身MTU值1400比當(dāng)前數(shù)據(jù)包的MTU值1500小,則設(shè)備Rl查看數(shù)據(jù)包的標(biāo)記,如果發(fā)現(xiàn)有探測標(biāo)記表示禁止分片,則丟棄該數(shù)據(jù)包,向服務(wù)器返回一個ICMP (Internet Control Message Protocol,因特網(wǎng)控制報文協(xié)議)數(shù)據(jù)包并攜帶該設(shè)備Rl的MTU值1400,表示發(fā)送端需調(diào)整數(shù)據(jù)包大小為1400才能接收,服務(wù)器接收到后,將探測值記錄到數(shù)據(jù)庫為MTU值1400,那么后續(xù)只會發(fā)不超過1400大小的數(shù)據(jù)包。
[0054]根據(jù)上述數(shù)據(jù)交互流程,服務(wù)器同樣能接收到路徑上的設(shè)備R2返回的ICMP數(shù)據(jù)包并攜帶該設(shè)備R2的MTU值1200,由于當(dāng)前服務(wù)器數(shù)據(jù)庫中儲存的路徑MTU值為1400,所以服務(wù)器會更新數(shù)據(jù)庫的路徑MTU值,將新的路徑MTU值(路徑MTU探測進(jìn)程的探測值)1200記錄到數(shù)據(jù)庫中,記錄到數(shù)據(jù)庫為MTU值1200,那么后續(xù)只會發(fā)不超過1200大小的數(shù)據(jù)包。循環(huán)上述流程,直到服務(wù)器發(fā)送的數(shù)據(jù)包到達(dá)手機(jī)為止,服務(wù)器發(fā)送的數(shù)據(jù)包從服務(wù)器端到手機(jī)端傳輸?shù)倪^程中都不會被分片。
[0055]與上述方法相對應(yīng),本發(fā)明還提供一種基于MTU值的中間件與移動終端的數(shù)據(jù)傳輸系統(tǒng)。圖5示出了根據(jù)本發(fā)明的基于MTU值的中間件與移動終端的數(shù)據(jù)傳輸系統(tǒng)的邏輯結(jié)構(gòu)。
[0056]如圖5所示,本發(fā)明提供的基于MTU值探測進(jìn)行中間件與手機(jī)數(shù)據(jù)傳輸?shù)南到y(tǒng)500包括路徑MTU值查詢模塊510、路徑MTU值獲取模塊520、數(shù)據(jù)傳輸模塊530。
[0057]其中,路徑MTU值查詢模塊510用于根據(jù)移動終端的數(shù)據(jù)傳輸請求查詢傳輸路徑的路徑MTU值;路徑MTU值獲取模塊520用于在路徑MTU值查詢模塊510未查詢到傳輸路徑的路徑MTU值時,禁止傳輸路徑中的數(shù)據(jù)包分片,并根據(jù)數(shù)據(jù)包的MTU值獲取傳輸路徑的路徑MTU值;數(shù)據(jù)傳輸模塊530用于根據(jù)獲取到的傳輸路徑的路徑MTU值在中間件和移動終端之間進(jìn)行數(shù)據(jù)傳輸。
[0058]其中,在本發(fā)明的一個【具體實(shí)施方式】中,基于MTU值探測進(jìn)行中間件與手機(jī)數(shù)據(jù)傳輸?shù)南到y(tǒng)500還包括移動終端位置檢測模塊(圖未示出),用于判斷所述移動終端的位置是否改變;如果移動終端的位置改變,則路徑MTU值獲取模塊禁止傳輸路徑中的數(shù)據(jù)包分片,并根據(jù)數(shù)據(jù)包的默認(rèn)MTU值獲取傳輸路徑的路徑MTU值;如果移動終端的位置未改變,查詢移動終端設(shè)置的路徑MTU值,如果未查詢到移動終端設(shè)置的路徑MTU值,則路徑MTU值獲取模塊禁止傳輸路徑中的數(shù)據(jù)包分片,并根據(jù)數(shù)據(jù)包默認(rèn)的MTU值獲取傳輸路徑的路徑MTU值;如果查詢到移動終端設(shè)置的路徑MTU值,則將移動終端設(shè)置的路徑MTU值設(shè)置為傳輸路徑的路徑MTU值。
[0059]另外,在本發(fā)明的另一個【具體實(shí)施方式】中,路徑MTU值獲取模塊520進(jìn)包括路徑MTU探測標(biāo)記設(shè)置單元(圖未示出)和路徑MTU探測進(jìn)程開啟單元(圖未示出)。
[0060]其中,路徑MTU探測標(biāo)記設(shè)置單元用于設(shè)置路徑MTU探測標(biāo)記;路徑MTU探測進(jìn)程開啟單元用于開啟路徑MTU探測進(jìn)程。其中,在路徑MTU探測進(jìn)程中設(shè)置發(fā)送數(shù)據(jù)包的IP頭標(biāo)志為禁止分片,將傳輸路徑中設(shè)備的MTU值與數(shù)據(jù)包的MTU值進(jìn)行對比,如果傳輸路徑中設(shè)備的MTU值小于數(shù)據(jù)包的MTU值,則該設(shè)備丟棄該數(shù)據(jù)包,返回一個攜帶設(shè)備的MTU值的ICMP數(shù)據(jù)包,并將設(shè)備的MTU值作為傳輸路徑的路徑MTU值。
[0061]如果路徑MTU值查詢模塊510查詢到傳輸路徑的路徑MTU值,數(shù)據(jù)傳輸模塊530則根據(jù)查詢到的傳輸路徑的路徑MTU值在中間件和移動終端之間進(jìn)行數(shù)據(jù)傳輸。
[0062]再者,在本發(fā)明的另一個【具體實(shí)施方式】中,數(shù)據(jù)傳輸模塊530還可以包括路徑MTU值記錄單元(圖未示出),用于在獲得傳輸路徑的路徑MTU值后,將獲得的傳輸路徑的路徑MTU值寫入數(shù)據(jù)庫;數(shù)據(jù)傳輸模塊530根據(jù)寫入數(shù)據(jù)庫的傳輸路徑的路徑MTU值在中間件和所述移動終端之間進(jìn)行數(shù)據(jù)傳輸。
[0063]本發(fā)明提供的基于MTU值探測進(jìn)行中間件與手機(jī)數(shù)據(jù)傳輸?shù)姆椒跋到y(tǒng),通過實(shí)時探測鏈路上的路徑MTU值,動態(tài)調(diào)整TCP連接的最大傳輸單元,避免數(shù)據(jù)包被分片,進(jìn)而提高中間件與移動終端的數(shù)據(jù)傳輸效率,加快網(wǎng)頁的展現(xiàn)速度,提升用戶體驗(yàn)。
[0064]如上參照附圖以示例的方式描述了根據(jù)本發(fā)明的基于MTU值探測進(jìn)行中間件與手機(jī)數(shù)據(jù)傳輸?shù)姆椒跋到y(tǒng)。但是,本領(lǐng)域技術(shù)人員應(yīng)當(dāng)理解,對于上述本發(fā)明所提出的基于MTU值探測進(jìn)行中間件與手機(jī)數(shù)據(jù)傳輸?shù)姆椒跋到y(tǒng),還可以在不脫離本
【發(fā)明內(nèi)容】
的基礎(chǔ)上做出各種改進(jìn)。因此,本發(fā)明的保護(hù)范圍應(yīng)當(dāng)由所附的權(quán)利要求書的內(nèi)容確定。
【權(quán)利要求】
1.基于MTU值的中間件與移動終端的數(shù)據(jù)傳輸方法,包括: 根據(jù)移動終端的數(shù)據(jù)傳輸請求查詢傳輸路徑的路徑MTU值; 如果未查詢到所述傳輸路徑的路徑MTU值,則禁止傳輸路徑中的數(shù)據(jù)包分片,并根據(jù)所述數(shù)據(jù)包默認(rèn)的MTU值獲取所述傳輸路徑的路徑MTU值; 根據(jù)獲取的所述傳輸路徑的路徑MTU值在所述中間件和移動終端之間進(jìn)行數(shù)據(jù)傳輸。
2.如權(quán)利要求1所述的基于MTU值的中間件與移動終端的數(shù)據(jù)傳輸方法,其中,在所述根據(jù)移動終端的數(shù)據(jù)傳輸請求查詢傳輸路徑的路徑MTU值步驟后包括:判斷所述移動終端的位置是否改變; 如果所述移動終端的位置改變,則進(jìn)行所述禁止所述傳輸路徑中的數(shù)據(jù)包分片,并根據(jù)所述數(shù)據(jù)包的默認(rèn)MTU值獲取所述傳輸路徑的路徑MTU值的步驟; 如果所述移動終端的位置未改變,則查詢所述移動終端設(shè)置的路徑MTU值,如果未查詢到所述移動終端設(shè)置的路徑MTU值,則進(jìn)行所述禁止傳輸路徑中的數(shù)據(jù)包分片,并根據(jù)所述數(shù)據(jù)包默認(rèn)的MTU值獲取所述傳輸路徑的路徑MTU值的步驟;如果查詢到所述移動終端設(shè)置的路徑MTU值,則將所述移動終端設(shè)置的路徑MTU值設(shè)置為所述傳輸路徑的路徑MTU值。
3.如權(quán)利要求2所述的基于MTU值的中間件與移動終端的數(shù)據(jù)傳輸方法,其中,所述禁止傳輸路徑中的數(shù)據(jù)包分片,并根據(jù)所述數(shù)據(jù)包默認(rèn)的MTU值獲取所述傳輸路徑的路徑MTU值的步驟,包括: 通過設(shè)置路徑MTU探測標(biāo)記,開啟路徑MTU探測進(jìn)程;其中,. 在所述路徑MTU探測進(jìn)程中設(shè)置發(fā)送數(shù)據(jù)包的IP頭標(biāo)志為禁止分片;并且, 將所述傳輸路徑中的設(shè)備的MTU值與所述數(shù)據(jù)包默認(rèn)的MTU值進(jìn)行對比,如果所述設(shè)備的MTU值小于所述數(shù)據(jù)包默認(rèn)的MTU值,則所述設(shè)備丟棄所述數(shù)據(jù)包,返回一個攜帶所述設(shè)備的MTU值的ICMP數(shù)據(jù)包,并將所述設(shè)備的MTU值作為傳輸路徑的路徑MTU值。
4.如權(quán)利要求1所述的基于MTU值的中間件與移動終端的數(shù)據(jù)傳輸方法,其中,在所述根據(jù)移動終端的數(shù)據(jù)傳輸請求查詢傳輸路徑的路徑MTU值的步驟中,如果查詢到所述傳輸路徑的路徑MTU值,則直接根據(jù)所述傳輸路徑的路徑MTU值在所述中間件和所述移動終端之間進(jìn)行數(shù)據(jù)傳輸。
5.如權(quán)利要求1~4中任一項(xiàng)所述的基于MTU值的中間件與移動終端的數(shù)據(jù)傳輸方法,其中,在所述獲取傳輸路徑的路徑MTU值的步驟后,包括: 將獲取的所述傳輸路徑的路徑MTU值寫入數(shù)據(jù)庫;以及, 根據(jù)所述數(shù)據(jù)庫寫入的傳輸路徑的路徑MTU值在所述中間件和所述移動終端之間進(jìn)行數(shù)據(jù)傳輸。
6.一種基于MTU值的中間件與移動終端的數(shù)據(jù)傳輸系統(tǒng),包括: 路徑MTU值查詢模塊,用于根據(jù)移動終端的數(shù)據(jù)傳輸請求查詢傳輸路徑的路徑MTU值; 路徑MTU值獲取模塊,用于在所述路徑MTU值查詢模塊未查詢到所述傳輸路徑的路徑MTU值時,禁止傳輸路徑中的數(shù)據(jù)包分片,并根據(jù)所述數(shù)據(jù)包的MTU值獲取所述傳輸路徑的路徑MTU值; 數(shù)據(jù)傳輸模塊,用于根據(jù)獲取到的所述傳輸路徑的路徑MTU值在所述中間件和移動終端之間進(jìn)行數(shù)據(jù)傳輸。
7.如權(quán)利要求6所述的基于MTU值的中間件與移動終端的數(shù)據(jù)傳輸系統(tǒng),還包括: 移動終端位置檢測模塊,用于判斷所述移動終端的位置是否改變;其中, 如果所述移動終端的位置改變,則所述路徑MTU值獲取模塊禁止所述傳輸路徑中的數(shù)據(jù)包分片,并根據(jù)所述數(shù)據(jù)包的默認(rèn)MTU值獲取所述傳輸路徑的路徑MTU值; 如果所述移動終端的位置未改變,查詢所述移動終端設(shè)置的路徑MTU值,如果未查詢到所述移動終端設(shè)置的路徑MTU值,則路徑MTU值獲取模塊禁止所述傳輸路徑中的數(shù)據(jù)包分片,并根據(jù)所述數(shù)據(jù)包默認(rèn)的MTU值獲取所述傳輸路徑的路徑MTU值;如果查詢到所述移動終端設(shè)置的路徑MTU值,則將所述移動終端設(shè)置的路徑MTU值設(shè)置為所述傳輸路徑的路徑MTU值。
8.如權(quán)利要求7所述的基于MTU值的中間件與移動終端的數(shù)據(jù)傳輸系統(tǒng),其中,所述路徑MTU值獲取模塊包括: 路徑MTU探測標(biāo)記設(shè)置單元,用于設(shè)置路徑MTU探測標(biāo)記; 路徑MTU探測進(jìn)程開啟單元,用于開啟路徑MTU探測進(jìn)程;其中,在所述路徑MTU探測進(jìn)程中設(shè)置發(fā)送數(shù)據(jù)包的IP頭標(biāo)志為禁止分片,將傳輸路徑中設(shè)備的MTU值與所述數(shù)據(jù)包的MTU值進(jìn)行對比,如果所述設(shè)備的MTU值小于所述數(shù)據(jù)包MTU值,則所述設(shè)備丟棄所述數(shù)據(jù)包,返回一個攜帶所述設(shè)備的MTU值的ICMP數(shù)據(jù)包,并將所述設(shè)備的MTU值作為傳輸路徑的路徑MTU值。
9.如權(quán)利要求6所述的基于MTU值的中間件與移動終端的數(shù)據(jù)傳輸系統(tǒng),其中,. 在路徑MTU值查詢模塊根據(jù)移動終端的數(shù)據(jù)傳輸請求查詢傳輸路徑的路徑MTU值時,如果所述路徑MTU值查詢模塊查詢到所述傳輸路徑的路徑MTU值,所述數(shù)據(jù)傳輸模塊則根據(jù)查詢到的所述傳輸路徑的路徑MTU值在中間件和移動終端之間進(jìn)行數(shù)據(jù)傳輸。
10.如權(quán)利要求6至9任一項(xiàng)所述的基于MTU值的中間件與移動終端的數(shù)據(jù)傳輸系統(tǒng),其中, 所述數(shù)據(jù)傳輸模塊包括路徑MTU值記錄單元,用于在獲得所述傳輸路徑的路徑MTU值后,將獲得的所述傳輸路徑的路徑MTU值寫入數(shù)據(jù)庫; 所述數(shù)據(jù)傳輸模塊根據(jù)寫入所述數(shù)據(jù)庫的傳輸路徑的路徑MTU值在所述中間件和所述移動終端之間進(jìn)行數(shù)據(jù)傳輸。
【文檔編號】H04L12/805GK103475596SQ201310391194
【公開日】2013年12月25日 申請日期:2013年8月30日 優(yōu)先權(quán)日:2013年8月30日
【發(fā)明者】梁捷, 陳華彬 申請人:廣州市動景計(jì)算機(jī)科技有限公司