一種數(shù)據(jù)傳輸方法及裝置的制造方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明屬于通信技術(shù)領(lǐng)域,尤其涉及一種數(shù)據(jù)傳輸方法及裝置。
【背景技術(shù)】
[0002]隨著網(wǎng)絡(luò)的不斷普及,用戶對(duì)網(wǎng)絡(luò)提供的各項(xiàng)服務(wù)的要求越來(lái)越高。其中,許多服務(wù)涉及到網(wǎng)絡(luò)數(shù)據(jù)傳輸和數(shù)據(jù)交互,例如,微信圖片服務(wù)、QQ空間日志服務(wù)等。目前,加快數(shù)據(jù)在各個(gè)服務(wù)器節(jié)點(diǎn)的傳輸,是改善服務(wù)質(zhì)量、提升用戶體驗(yàn)的重要手段。
[0003]以基于傳輸控制協(xié)議(TCP, Transmiss1n Control Protocol)的數(shù)據(jù)傳輸為例,現(xiàn)有技術(shù)中,一般采用兩種方式進(jìn)行傳輸:第一,數(shù)據(jù)不進(jìn)行分片,即數(shù)據(jù)不分割,一塊數(shù)據(jù)只使用一個(gè)TCP連接傳輸,可是傳輸速度受限于TCP單個(gè)連接的帶寬瓶頸,并且數(shù)據(jù)大小越大,造成的傳輸時(shí)延也越大;第二,將數(shù)據(jù)分成固定的N片,即一個(gè)數(shù)據(jù)包分割成多個(gè)數(shù)據(jù)塊,使用N個(gè)TCP連接并發(fā)傳輸,可是,分片數(shù)N值完全依賴經(jīng)驗(yàn)來(lái)決定,且N為固定值,無(wú)法根據(jù)實(shí)際場(chǎng)景來(lái)自動(dòng)調(diào)整;另外,任何大小的數(shù)據(jù)都分為N片,而實(shí)際中不同類型數(shù)據(jù)的大小差異會(huì)很大,因此,固定N片的分片方式無(wú)法保證對(duì)各種大小的數(shù)據(jù)都使得傳輸時(shí)延最低。
[0004]因此,需解決現(xiàn)有技術(shù)中在數(shù)據(jù)傳輸過(guò)程中,存在的無(wú)法根據(jù)實(shí)際場(chǎng)景來(lái)自動(dòng)調(diào)整分片數(shù),從而無(wú)法保證對(duì)各種大小的數(shù)據(jù)的傳輸時(shí)延為最低的問(wèn)題。
【發(fā)明內(nèi)容】
[0005]本發(fā)明的目的在于提供一種數(shù)據(jù)傳輸方法及裝置,旨在解決現(xiàn)有技術(shù)中無(wú)法根據(jù)實(shí)際場(chǎng)景來(lái)自動(dòng)調(diào)整分片數(shù),從而無(wú)法保證對(duì)各種大小的數(shù)據(jù)的傳輸時(shí)延為最低的技術(shù)問(wèn)題。
[0006]為解決上述技術(shù)問(wèn)題,本發(fā)明實(shí)施例提供以下技術(shù)方案:
[0007]—種數(shù)據(jù)傳輸方法,所述數(shù)據(jù)傳輸方法包括:
[0008]將數(shù)據(jù)分割為至少一個(gè)分片并進(jìn)行數(shù)據(jù)傳輸,其中所述分片具有分片大小和傳輸時(shí)間間隔;
[0009]在所述傳輸時(shí)間間隔到達(dá)時(shí),對(duì)所述分片大小進(jìn)行調(diào)整,并按調(diào)整后的分片大小在一時(shí)延檢測(cè)時(shí)間內(nèi)進(jìn)行數(shù)據(jù)傳輸;
[0010]檢測(cè)在所述時(shí)延檢測(cè)時(shí)間內(nèi)數(shù)據(jù)傳輸?shù)臅r(shí)延變化;
[0011]根據(jù)時(shí)延變化的結(jié)果,按照預(yù)設(shè)調(diào)整規(guī)則對(duì)每個(gè)分片的分片大小和傳輸時(shí)間間隔進(jìn)行動(dòng)態(tài)的調(diào)整,按照調(diào)整后的分片大小和調(diào)整后的傳輸時(shí)間間隔繼續(xù)對(duì)所述數(shù)據(jù)進(jìn)行傳輸,并重復(fù)進(jìn)行所述檢測(cè)在所述時(shí)延檢測(cè)時(shí)間內(nèi)數(shù)據(jù)傳輸?shù)臅r(shí)延變化的步驟,直至所述時(shí)延變化達(dá)到預(yù)設(shè)范圍;以及
[0012]按照所述時(shí)延變化達(dá)到所述預(yù)設(shè)范圍時(shí)的分片大小和傳輸時(shí)間間隔對(duì)所述數(shù)據(jù)進(jìn)行傳輸。
[0013]為解決上述技術(shù)問(wèn)題,本發(fā)明實(shí)施例提供以下技術(shù)方案:
[0014]一種數(shù)據(jù)傳輸裝置,所述數(shù)據(jù)傳輸裝置包括:
[0015]分片獲取模塊,用于將數(shù)據(jù)分割為至少一個(gè)分片并進(jìn)行數(shù)據(jù)傳輸,其中所述分片具有分片大小和傳輸時(shí)間間隔;
[0016]初始調(diào)整模塊,用于在所述傳輸時(shí)間間隔到達(dá)時(shí),對(duì)所述分片大小進(jìn)行調(diào)整,并按調(diào)整后的分片大小在一時(shí)延檢測(cè)時(shí)間內(nèi)進(jìn)行數(shù)據(jù)傳輸;
[0017]時(shí)延檢測(cè)模塊,用于檢測(cè)在所述時(shí)延檢測(cè)時(shí)間內(nèi)數(shù)據(jù)傳輸?shù)臅r(shí)延變化;
[0018]分片調(diào)整模塊,用于根據(jù)時(shí)延變化的結(jié)果,按照預(yù)設(shè)調(diào)整規(guī)則對(duì)每個(gè)分片的分片大小和傳輸時(shí)間間隔進(jìn)行動(dòng)態(tài)的調(diào)整;以及
[0019]數(shù)據(jù)傳輸模塊,用于按照調(diào)整后的分片大小和調(diào)整后的傳輸時(shí)間間隔繼續(xù)對(duì)所述數(shù)據(jù)進(jìn)行傳輸,并觸發(fā)所述時(shí)延檢測(cè)模塊重復(fù)進(jìn)行檢測(cè)在所述時(shí)延檢測(cè)時(shí)間內(nèi)數(shù)據(jù)傳輸?shù)臅r(shí)延變化的步驟,直至所述時(shí)延變化達(dá)到預(yù)設(shè)范圍;按照所述時(shí)延變化達(dá)到所述預(yù)設(shè)范圍時(shí)的分片大小和傳輸時(shí)間間隔對(duì)所述數(shù)據(jù)進(jìn)行傳輸。
[0020]相對(duì)于現(xiàn)有技術(shù),本實(shí)施例將數(shù)據(jù)進(jìn)行分片,并對(duì)分片的分片大小和傳輸時(shí)間間隔進(jìn)行了初始調(diào)整,并檢測(cè)在時(shí)延檢測(cè)時(shí)間內(nèi)數(shù)據(jù)傳輸?shù)臅r(shí)延變化;其后,根據(jù)時(shí)延變化的結(jié)果,按照預(yù)設(shè)調(diào)整規(guī)則對(duì)每個(gè)分片的分片大小和傳輸時(shí)間間隔進(jìn)行動(dòng)態(tài)的調(diào)整,并按照調(diào)整后的分片大小和調(diào)整后的傳輸時(shí)間間隔繼續(xù)對(duì)所述數(shù)據(jù)進(jìn)行傳輸,以使得所述時(shí)延變化達(dá)到預(yù)設(shè)范圍,最后按照時(shí)延變化達(dá)到預(yù)設(shè)范圍時(shí)的分片大小和傳輸時(shí)間間隔對(duì)所述數(shù)據(jù)進(jìn)行傳輸;本實(shí)施例在數(shù)據(jù)傳輸過(guò)程中,根據(jù)當(dāng)前的時(shí)延變化來(lái)自動(dòng)調(diào)整分片的分片大小和傳輸時(shí)間間隔,從而調(diào)整分片數(shù),降低了傳輸時(shí)延,并保證對(duì)各種大小的數(shù)據(jù)的傳輸時(shí)延為最低。
【附圖說(shuō)明】
[0021]圖1是本發(fā)明實(shí)施例提供的數(shù)據(jù)傳輸裝置所在的服務(wù)器的工作環(huán)境結(jié)構(gòu)示意圖;
[0022]圖2是本發(fā)明第一實(shí)施例提供的數(shù)據(jù)傳輸方法的流程示意圖;
[0023]圖3為本發(fā)明第二實(shí)施例提供的數(shù)據(jù)傳輸方法的流程示意圖;
[0024]圖4為本發(fā)明實(shí)施例提供的數(shù)據(jù)傳輸方法具體應(yīng)用的流程示意圖;
[0025]圖5為本發(fā)明第三實(shí)施例提供的數(shù)據(jù)傳輸方法的流程示意圖;
[0026]圖6為本發(fā)明實(shí)施例提供的數(shù)據(jù)傳輸方法具體應(yīng)用的另一流程示意圖;
[0027]圖7為本發(fā)明實(shí)施例提供的數(shù)據(jù)傳輸裝置的結(jié)構(gòu)示意圖;
[0028]圖8為本發(fā)明實(shí)施例提供的數(shù)據(jù)傳輸裝置的另一結(jié)構(gòu)示意圖;
[0029]圖9為本發(fā)明實(shí)施例提供的數(shù)據(jù)傳輸裝置的另一結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0030]為了使本發(fā)明的目的、技術(shù)方案及有益效果更加清楚明白,以下結(jié)合附圖及實(shí)施例,對(duì)本發(fā)明進(jìn)行進(jìn)一步詳細(xì)說(shuō)明。應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
[0031]在以下的說(shuō)明中,本發(fā)明的具體實(shí)施例將參考由一部或多部計(jì)算機(jī)所執(zhí)行之作業(yè)的步驟及符號(hào)來(lái)說(shuō)明,除非另有述明。因此,其將可了解到這些步驟及操作,其中有數(shù)次提到為由計(jì)算機(jī)執(zhí)行,包括了由代表了以一結(jié)構(gòu)化型式中的數(shù)據(jù)之電子信號(hào)的計(jì)算機(jī)處理單元所操縱。此操縱轉(zhuǎn)換該數(shù)據(jù)或?qū)⑵渚S持在該計(jì)算機(jī)之內(nèi)存系統(tǒng)中的位置處,其可重新配置或另外以本領(lǐng)域技術(shù)人員所熟知的方式來(lái)改變?cè)撚?jì)算機(jī)之運(yùn)作。該數(shù)據(jù)所維持的數(shù)據(jù)結(jié)構(gòu)為該內(nèi)存之實(shí)體位置,其具有由該數(shù)據(jù)格式所定義的特定特性。但是,本發(fā)明原理以上述文字來(lái)說(shuō)明,其并不代表為一種限制,本領(lǐng)域技術(shù)人員將可了解到以下所述的多種步驟及操作亦可實(shí)施在硬件當(dāng)中。
[0032]如本申請(qǐng)所使用的術(shù)語(yǔ)“組件”、“模塊”、“系統(tǒng)”、“接口 ”、“進(jìn)程”等等一般地旨在指計(jì)算機(jī)相關(guān)實(shí)體:硬件、硬件和軟件的組合、軟件或執(zhí)行中的軟件。例如,組件可以是但不限于是運(yùn)行在處理器上的進(jìn)程、處理器、對(duì)象、可執(zhí)行應(yīng)用、執(zhí)行的線程、程序和/或計(jì)算機(jī)。通過(guò)圖示,運(yùn)行在控制器上的應(yīng)用和該控制器二者都可以是組件。一個(gè)或多個(gè)組件可以有在于執(zhí)行的進(jìn)程和/或線程內(nèi),并且組件可以位于一個(gè)計(jì)算機(jī)上和/或分布在兩個(gè)或更多計(jì)算機(jī)之間。
[0033]而且,要求保護(hù)的主題可以被實(shí)現(xiàn)為使用標(biāo)準(zhǔn)編程和/或工程技術(shù)產(chǎn)生軟件、固件、硬件或其任意組合以控制計(jì)算機(jī)實(shí)現(xiàn)所公開(kāi)的主題的方法、裝置或制造品。本文所使用的術(shù)語(yǔ)“制造品”旨在包含可從任意計(jì)算機(jī)可讀設(shè)備、載體或介質(zhì)訪問(wèn)的計(jì)算機(jī)程序。當(dāng)然,本領(lǐng)域技術(shù)人員將認(rèn)識(shí)到可以對(duì)該配置進(jìn)行許多修改,而不脫離要求保護(hù)的主題的范圍或精神。
[0034]圖1和隨后的討論提供了對(duì)實(shí)現(xiàn)本發(fā)明所述的數(shù)據(jù)傳輸裝置所在的服務(wù)器的工作環(huán)境的簡(jiǎn)短、概括的描述。圖1的工作環(huán)境僅僅是適當(dāng)?shù)墓ぷ鳝h(huán)境的一個(gè)實(shí)例,并且不旨在建議關(guān)于工作環(huán)境的用途或功能的范圍的任何限制。實(shí)例服務(wù)器112包括但不限于個(gè)人計(jì)算機(jī)、服務(wù)器計(jì)算機(jī)、手持式或膝上型設(shè)備、移動(dòng)設(shè)備(比如移動(dòng)電話、個(gè)人數(shù)字助理(PDA)、媒體播放器等等)、多處理器系統(tǒng)、消費(fèi)型服務(wù)器、小型計(jì)算機(jī)、大型計(jì)算機(jī)、包括上述任意系統(tǒng)或設(shè)備的分布式計(jì)算環(huán)境,等等。
[0035]盡管沒(méi)有要求,但是在“計(jì)算機(jī)可讀指令”被一個(gè)或多個(gè)服務(wù)器執(zhí)行的通用背景下描述實(shí)施例。計(jì)算機(jī)可讀指令可以經(jīng)由計(jì)算機(jī)可讀介質(zhì)來(lái)分布(下文討論)。計(jì)算機(jī)可讀指令可以實(shí)現(xiàn)為程序模塊,比如執(zhí)行特定任務(wù)或?qū)崿F(xiàn)特定抽象數(shù)據(jù)類型的功能、對(duì)象、應(yīng)用編程接口(API)、數(shù)據(jù)結(jié)構(gòu)等等。典型地,該計(jì)算機(jī)可讀指令的功能可以在各種環(huán)境中隨意組合或分布。
[0036]圖1圖示了包括本發(fā)明的數(shù)據(jù)傳輸裝置的一個(gè)或多個(gè)實(shí)施例的服務(wù)器112的實(shí)例。在一種配置中,服務(wù)器112包括至少一個(gè)處理單元116和存儲(chǔ)器118。根據(jù)服務(wù)器的確切配置和類型,存儲(chǔ)器118可以是易失性的(比如RAM)、非易失性的(比如ROM、閃存等)或二者的某種組合。該配置在圖1中由虛線114圖示。
[0037]在其他實(shí)施例中,服務(wù)器112可以包括附加特征和/或功能。例如,設(shè)備112還可以包括附加的存儲(chǔ)裝置(例如可移除和/或不可移除的),其包括但不限于磁存儲(chǔ)裝置、光存儲(chǔ)裝置等等。這種附加存儲(chǔ)裝置在圖1中由存儲(chǔ)裝置120圖示。在一個(gè)實(shí)施例中,用于實(shí)現(xiàn)本文所提供的一個(gè)或多個(gè)實(shí)施例的計(jì)算機(jī)可讀指令可以在存儲(chǔ)裝置120中。存儲(chǔ)裝置120還可以存儲(chǔ)用于實(shí)現(xiàn)操作系統(tǒng)、應(yīng)用程序等的其他計(jì)算機(jī)可讀指令。計(jì)算機(jī)可讀指令可以載入存儲(chǔ)器118中由例如處理單元116執(zhí)行。
[0038]本文所使用的術(shù)語(yǔ)“計(jì)算機(jī)可讀介質(zhì)”包括計(jì)算機(jī)存儲(chǔ)介質(zhì)。計(jì)算機(jī)存儲(chǔ)介質(zhì)包括以用于存儲(chǔ)諸如計(jì)算機(jī)可讀指令或其他數(shù)據(jù)之類的信息的任何方法或技術(shù)實(shí)現(xiàn)的易失性和非易失性、可移除和不可移除介質(zhì)。存儲(chǔ)器118和存儲(chǔ)裝置120是計(jì)算機(jī)存儲(chǔ)介質(zhì)的實(shí)例。計(jì)算機(jī)存儲(chǔ)介質(zhì)包括但不限于RAM、ROM、EEPROM、閃存或其他存儲(chǔ)器技術(shù)、CD-ROM、數(shù)字通用盤(pán)(DVD)或其他光存儲(chǔ)裝置、盒式磁帶、磁帶、磁盤(pán)存儲(chǔ)裝置或其他磁存儲(chǔ)設(shè)備、或可以用于存儲(chǔ)期望信息并可以被服務(wù)器112訪問(wèn)的任何其他介質(zhì)。任意這樣的計(jì)算機(jī)存儲(chǔ)介質(zhì)可以是服務(wù)器112的一部分。
[0039]服務(wù)器112還可以包括允許服務(wù)器112與其他設(shè)備通信的通信連接126。通信連接126可以包括但不限于調(diào)制解調(diào)器、網(wǎng)絡(luò)接口卡(NIC)、集成網(wǎng)絡(luò)接口、射頻發(fā)射器/接收器、紅外端口、USB連接或用于將服務(wù)器112連接到其他服務(wù)器的其他接口。通信連接126可以包括有線連接或無(wú)線連接。通信連接126可以發(fā)射和/或接收通信媒體。
[0040]術(shù)語(yǔ)“計(jì)算機(jī)可讀介質(zhì)”可以包括通信介質(zhì)。通信介質(zhì)典型地包含計(jì)算機(jī)可讀指令或諸如載波或其他傳輸機(jī)構(gòu)之類的“己調(diào)制數(shù)據(jù)信號(hào)”中的其他數(shù)據(jù),并且包括任何信息遞送介質(zhì)。術(shù)語(yǔ)“己調(diào)制數(shù)據(jù)信號(hào)”可以包括這樣的信號(hào):該信號(hào)特性中的一個(gè)或多個(gè)按照將信息編碼到信號(hào)中的方式來(lái)設(shè)置或改變。
[0041]服務(wù)器112可以包括輸入設(shè)備124,比如鍵盤(pán)、鼠標(biāo)、筆、語(yǔ)音輸入設(shè)備、觸摸輸入設(shè)備、紅外相機(jī)、視頻輸入設(shè)備和/或任何其他輸入設(shè)備。設(shè)備112中也可以包括輸出設(shè)備122,比如一個(gè)或多個(gè)顯不器、揚(yáng)聲器、打印機(jī)和/或任意其他輸出設(shè)備。輸入設(shè)備124和輸出設(shè)備122可以經(jīng)由有線連接、無(wú)線連接或其任意組合連接到服務(wù)器112。在一個(gè)實(shí)施例中,來(lái)自另一個(gè)服務(wù)器的輸入設(shè)備或輸出設(shè)備可以被用作服務(wù)器112的輸入設(shè)備124或輸出設(shè)備122。
[0042]服務(wù)器112的組件可以通過(guò)各種互連(比如總線)連接。這樣的互連可以包括外圍組件互連(PCI)(比如快速PCI)、通用串行總線(USB)、火線(IEEE1394)、光學(xué)總線結(jié)構(gòu)等等。在另一個(gè)實(shí)施例中,服務(wù)器112的組件可以通過(guò)網(wǎng)絡(luò)互連。例如,存儲(chǔ)器118可以由位于不同物理位置中的、通過(guò)網(wǎng)絡(luò)互連的多個(gè)物理存儲(chǔ)器單元構(gòu)成。
[0043]本領(lǐng)域技術(shù)人員將認(rèn)識(shí)到,用于存儲(chǔ)計(jì)算機(jī)可讀指令的存儲(chǔ)設(shè)備可以跨越網(wǎng)絡(luò)分布。例如,可經(jīng)由網(wǎng)絡(luò)128訪問(wèn)的服務(wù)器130可以存儲(chǔ)用于實(shí)現(xiàn)本發(fā)明所提供的一個(gè)或多個(gè)實(shí)施例的計(jì)算機(jī)可讀指令。服務(wù)器112可以訪問(wèn)服務(wù)器130并且下載計(jì)算機(jī)可讀指令的一部分或所有以供執(zhí)行??商娲?,服務(wù)器112可以按需要下載多條計(jì)算機(jī)可讀指令,或者一些指令可以在服務(wù)器112處執(zhí)行并且一些指令可以在服務(wù)器130處執(zhí)行。
[0044]本文提供了實(shí)施例