亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

基于udp協(xié)議的衛(wèi)星網(wǎng)絡(luò)數(shù)據(jù)傳輸方法及裝置制造方法

文檔序號(hào):7815528閱讀:534來(lái)源:國(guó)知局
基于udp協(xié)議的衛(wèi)星網(wǎng)絡(luò)數(shù)據(jù)傳輸方法及裝置制造方法
【專利摘要】本發(fā)明提供一種基于UDP協(xié)議的衛(wèi)星網(wǎng)絡(luò)數(shù)據(jù)傳輸方法及裝置,其中的方法包括,在當(dāng)前發(fā)送周期,獲取上一個(gè)發(fā)送周期的數(shù)據(jù)包的丟包率;根據(jù)所獲取的上一個(gè)發(fā)送周期的數(shù)據(jù)包的丟包率確定當(dāng)前發(fā)送周期的數(shù)據(jù)包的增加數(shù)量;根據(jù)所確定的當(dāng)前發(fā)送周期的數(shù)據(jù)包的增加數(shù)量更新當(dāng)前發(fā)送周期;其中,在更新當(dāng)前發(fā)送周期時(shí),調(diào)整與當(dāng)前發(fā)送周期發(fā)送的數(shù)據(jù)包對(duì)應(yīng)的窗口;根據(jù)更新的當(dāng)前發(fā)送周期和與更新的當(dāng)前發(fā)送周期對(duì)應(yīng)的窗口進(jìn)行當(dāng)前發(fā)送周期的數(shù)據(jù)傳輸。利用上述根據(jù)本發(fā)明提供的基于UDP協(xié)議的衛(wèi)星網(wǎng)絡(luò)數(shù)據(jù)傳輸方法及裝置,能夠有效解決衛(wèi)星網(wǎng)絡(luò)數(shù)據(jù)傳輸延時(shí)高的問(wèn)題。
【專利說(shuō)明】基于UDP協(xié)議的衛(wèi)星網(wǎng)絡(luò)數(shù)據(jù)傳輸方法及裝置

【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及衛(wèi)星數(shù)據(jù)傳輸【技術(shù)領(lǐng)域】,更為具體地,涉及一種基于UDP協(xié)議的衛(wèi)星網(wǎng)絡(luò)數(shù)據(jù)傳輸方法及裝置。

【背景技術(shù)】
[0002]在地球同步軌道衛(wèi)星通信中,衛(wèi)星網(wǎng)絡(luò)帶寬時(shí)延乘積大,往返時(shí)延大,導(dǎo)致帶寬時(shí)延乘積也較大。此外,由于衛(wèi)星信道上沒(méi)有介質(zhì)的保護(hù),在電磁干擾、天氣狀況等因素的影響下,導(dǎo)致誤碼率比較高。在地面網(wǎng)絡(luò)中廣泛使用的TCP傳輸控制協(xié)議應(yīng)用于衛(wèi)星網(wǎng)絡(luò)時(shí),網(wǎng)絡(luò)的吞吐率受到嚴(yán)重的制約。針對(duì)上述大的帶寬時(shí)延乘積環(huán)境或高誤碼環(huán)境,研究人員提出了很多TCP的改進(jìn)版本,如Westwood、Veno、BIC等,這些改進(jìn)應(yīng)用于衛(wèi)星網(wǎng)絡(luò)時(shí)在一定程度上可以提高通信效率,但由于這些修改要保持現(xiàn)有TCP版本的兼容性,其靈活性在一定程度上受到了限制。
[0003]TCP協(xié)議是面向連接,端到端的傳輸層協(xié)議,它提供了一種可靠的傳輸方式。在高延遲,高丟包率的衛(wèi)星寬帶使用TCP時(shí),隨著網(wǎng)絡(luò)時(shí)延的增加TCP減少了擁塞窗口,但是不能恢復(fù)可用帶寬,TCP協(xié)議的效率由此變低。另外,TCP擁塞控制的不公平的進(jìn)行RTT (Round-Trip Time,往返時(shí)延)也成為嚴(yán)重問(wèn)題,擁有不同往返時(shí)延的并發(fā)TCP流將不公平地分享帶寬。
[0004]擁塞發(fā)生的主要原因在于網(wǎng)絡(luò)能夠提供的資源不足以滿足用戶的需求,這些資源包括緩存空間、鏈路帶寬容量和中間節(jié)點(diǎn)的處理能力。由于互聯(lián)網(wǎng)的設(shè)計(jì)機(jī)制導(dǎo)致其缺乏“接納控制”能力,因此在網(wǎng)絡(luò)資源不足時(shí)不能限制用戶數(shù)量,而只能靠降低服務(wù)質(zhì)量來(lái)繼續(xù)為用戶服務(wù)。
[0005]因此,需要一種全新的技術(shù)方案,解決衛(wèi)星網(wǎng)絡(luò)數(shù)據(jù)傳輸過(guò)程中延時(shí)高的問(wèn)題。


【發(fā)明內(nèi)容】

[0006]鑒于上述問(wèn)題,本發(fā)明的目的是提供一種基于UDP協(xié)議的衛(wèi)星網(wǎng)絡(luò)數(shù)據(jù)傳輸方法及裝置,以解決衛(wèi)星網(wǎng)絡(luò)數(shù)據(jù)傳輸過(guò)程中延時(shí)高的問(wèn)題。
[0007]本發(fā)明提供的基于UDP協(xié)議的衛(wèi)星網(wǎng)絡(luò)數(shù)據(jù)傳輸方法,在UDP數(shù)據(jù)報(bào)頭的基礎(chǔ)上增加一個(gè)與發(fā)送端的數(shù)據(jù)包發(fā)送周期相對(duì)應(yīng)的窗口,該窗口用于調(diào)整發(fā)送端在對(duì)應(yīng)發(fā)送周期內(nèi)發(fā)送的數(shù)據(jù)包的數(shù)量,其中,在數(shù)據(jù)包傳輸過(guò)程中,
[0008]在當(dāng)前發(fā)送周期,獲取上一個(gè)發(fā)送周期的數(shù)據(jù)包的丟包率;
[0009]根據(jù)所獲取的上一個(gè)發(fā)送周期的數(shù)據(jù)包的丟包率確定當(dāng)前發(fā)送周期的數(shù)據(jù)包的增加數(shù)量;
[0010]根據(jù)所確定的當(dāng)前發(fā)送周期的數(shù)據(jù)包的增加數(shù)量更新當(dāng)前發(fā)送周期;其中,在更新當(dāng)前發(fā)送周期時(shí),調(diào)整與當(dāng)前發(fā)送周期發(fā)送的數(shù)據(jù)包對(duì)應(yīng)的窗口 ;
[0011]根據(jù)更新的當(dāng)前發(fā)送周期和與更新的當(dāng)前發(fā)送周期對(duì)應(yīng)的窗口進(jìn)行當(dāng)前發(fā)送周期的數(shù)據(jù)傳輸。
[0012]本發(fā)明提供的基于UDP協(xié)議的衛(wèi)星網(wǎng)絡(luò)數(shù)據(jù)傳輸裝置,在UDP數(shù)據(jù)報(bào)頭的基礎(chǔ)上增加一個(gè)與發(fā)送端的數(shù)據(jù)包發(fā)送周期相對(duì)應(yīng)的窗口,該窗口用于調(diào)整發(fā)送端在對(duì)應(yīng)發(fā)送周期內(nèi)發(fā)送的數(shù)據(jù)包的數(shù)量,其中,該裝置包括:
[0013]丟包率獲取單元,用于在當(dāng)前發(fā)送周期,獲取上一個(gè)發(fā)送周期的數(shù)據(jù)包的丟包率;
[0014]數(shù)據(jù)包增加單元,用于根據(jù)所獲取的上一個(gè)發(fā)送周期的數(shù)據(jù)包的丟包率確定當(dāng)前發(fā)送周期的數(shù)據(jù)包的增加數(shù)量;
[0015]發(fā)送周期更新單元,用于根據(jù)所確定的當(dāng)前發(fā)送周期的數(shù)據(jù)包的增加數(shù)量更新當(dāng)前發(fā)送周期;
[0016]窗口調(diào)整單元,用于在更新當(dāng)前發(fā)送周期時(shí),調(diào)整與當(dāng)前發(fā)送周期發(fā)送的數(shù)據(jù)包對(duì)應(yīng)的窗口;
[0017]數(shù)據(jù)傳輸單元,用于根據(jù)更新的當(dāng)前發(fā)送周期和與更新的當(dāng)前發(fā)送周期對(duì)應(yīng)的窗口進(jìn)行當(dāng)前發(fā)送周期的數(shù)據(jù)傳輸。
[0018]利用上述根據(jù)本發(fā)明提供的基于UDP協(xié)議的衛(wèi)星網(wǎng)絡(luò)數(shù)據(jù)傳輸方法及裝置,通過(guò)設(shè)置一個(gè)定時(shí)器根據(jù)網(wǎng)絡(luò)情況調(diào)整數(shù)據(jù)包的發(fā)送周期,再通過(guò)增加一個(gè)窗口來(lái)調(diào)整每個(gè)發(fā)送周期待發(fā)送的數(shù)據(jù)包的數(shù)量,從兩方面來(lái)解決衛(wèi)星網(wǎng)絡(luò)數(shù)據(jù)傳輸高延時(shí)的問(wèn)題。
[0019]為了實(shí)現(xiàn)上述以及相關(guān)目的,本發(fā)明的一個(gè)或多個(gè)方面包括后面將詳細(xì)說(shuō)明并在權(quán)利要求中特別指出的特征。下面的說(shuō)明以及附圖詳細(xì)說(shuō)明了本發(fā)明的某些示例性方面。然而,這些方面指示的僅僅是可使用本發(fā)明的原理的各種方式中的一些方式。此外,本發(fā)明旨在包括所有這些方面以及它們的等同物。

【專利附圖】

【附圖說(shuō)明】
[0020]通過(guò)參考以下結(jié)合附圖的說(shuō)明及權(quán)利要求書(shū)的內(nèi)容,并且隨著對(duì)本發(fā)明的更全面理解,本發(fā)明的其它目的及結(jié)果將更加明白及易于理解。在附圖中:
[0021]圖1為根據(jù)本發(fā)明實(shí)施例的基于UDP協(xié)議的衛(wèi)星網(wǎng)絡(luò)數(shù)據(jù)傳輸方法的流程示意圖;
[0022]圖2為根據(jù)本發(fā)明實(shí)施例的隊(duì)列管理的流程交互圖;
[0023]圖3為根據(jù)本發(fā)明實(shí)施例的基于UDP協(xié)議的衛(wèi)星網(wǎng)絡(luò)數(shù)據(jù)傳輸裝置的邏輯結(jié)構(gòu)示意圖;
[0024]圖4為根據(jù)本發(fā)明實(shí)施例的基于UDP協(xié)議的衛(wèi)星網(wǎng)絡(luò)數(shù)據(jù)傳輸裝置的一個(gè)【具體實(shí)施方式】的邏輯結(jié)構(gòu)示意圖。
[0025]在所有附圖中相同的標(biāo)號(hào)指示相似或相應(yīng)的特征或功能。

【具體實(shí)施方式】
[0026]在下面的描述中,出于說(shuō)明的目的,為了提供對(duì)一個(gè)或多個(gè)實(shí)施例的全面理解,闡述了許多具體細(xì)節(jié)。然而,很明顯,也可以在沒(méi)有這些具體細(xì)節(jié)的情況下實(shí)現(xiàn)這些實(shí)施例。在其它例子中,為了便于描述一個(gè)或多個(gè)實(shí)施例,公知的結(jié)構(gòu)和設(shè)備以方框圖的形式示出。
[0027]針對(duì)現(xiàn)有的TCP協(xié)議和UDP協(xié)議不適用衛(wèi)星網(wǎng)絡(luò)數(shù)據(jù)傳輸?shù)膯?wèn)題,本發(fā)明采用改進(jìn)的m)P協(xié)議來(lái)實(shí)現(xiàn)衛(wèi)星網(wǎng)絡(luò)數(shù)據(jù)的傳輸,改進(jìn)的UDP協(xié)議是在現(xiàn)有的UDP協(xié)議的基礎(chǔ)上,在UDP數(shù)據(jù)報(bào)頭增加四個(gè)字段,字段依次為:標(biāo)志位,序號(hào),確認(rèn)位,窗口大小:
[0028]標(biāo)志位:起到區(qū)分確認(rèn)控制包與應(yīng)用數(shù)據(jù)包的作用;標(biāo)志位占用I位,O代表為應(yīng)用數(shù)據(jù)包,I代表確認(rèn)控制包;其中,應(yīng)用數(shù)據(jù)包指的是包含待發(fā)送的應(yīng)用數(shù)據(jù)的包,確認(rèn)控制包是指控制數(shù)據(jù)傳輸過(guò)程或?yàn)榱诉m應(yīng)網(wǎng)絡(luò)狀態(tài)盡可能的提高網(wǎng)絡(luò)帶寬使用率的包,例如ACK包、NAK包等都屬于確認(rèn)控制包。
[0029]序號(hào):占用4個(gè)字節(jié),起到標(biāo)記數(shù)據(jù)包唯一標(biāo)識(shí)的作用,其目的為了數(shù)據(jù)包在到達(dá)目的地時(shí)可以排序,并知道數(shù)據(jù)包是否丟失,確保數(shù)據(jù)的完整正確。
[0030]確認(rèn)號(hào):占用4個(gè)字節(jié),表示如果當(dāng)前包為ACK包,那么確認(rèn)號(hào)表示是答應(yīng)哪個(gè)包的序號(hào),主要用來(lái)確認(rèn)發(fā)送應(yīng)用數(shù)據(jù)包后接收端是否接收到。
[0031]窗口:用來(lái)傳遞調(diào)節(jié)滑動(dòng)窗口大小,調(diào)節(jié)滑動(dòng)窗口適應(yīng)網(wǎng)絡(luò)環(huán)境,滑動(dòng)窗口用于調(diào)整每個(gè)發(fā)送周期的數(shù)據(jù)包的數(shù)量。
[0032]上述改進(jìn)的UDP協(xié)議為實(shí)現(xiàn)本發(fā)明的基礎(chǔ),也就是說(shuō)本發(fā)明是在改進(jìn)的m)P協(xié)議的基礎(chǔ)上進(jìn)行的。
[0033]本發(fā)明從控制數(shù)據(jù)包的發(fā)送周期和每個(gè)發(fā)送周期待發(fā)送的數(shù)據(jù)包的數(shù)量這兩個(gè)方面對(duì)來(lái)解決衛(wèi)星網(wǎng)絡(luò)數(shù)據(jù)傳輸延時(shí)高的問(wèn)題,如同交通疏導(dǎo)和調(diào)控,通過(guò)調(diào)整車輛放行時(shí)間和調(diào)整車輛放行的量,來(lái)解決車輛在道路上的擁堵和由于擁堵造成在道路上時(shí)延。
[0034]以下將結(jié)合附圖對(duì)本發(fā)明的具體實(shí)施例進(jìn)行詳細(xì)描述。
[0035]圖1示出了根據(jù)本發(fā)明實(shí)施例的基于UDP協(xié)議的衛(wèi)星網(wǎng)絡(luò)數(shù)據(jù)傳輸方法的流程。
[0036]如圖1所示,本發(fā)明實(shí)施例提供的基于UDP協(xié)議的衛(wèi)星網(wǎng)絡(luò)數(shù)據(jù)傳輸方法,首先,在當(dāng)前發(fā)送周期,獲取上一個(gè)發(fā)送周期的數(shù)據(jù)包的丟包率(步驟S110);其次,根據(jù)所獲取的上一個(gè)發(fā)送周期的數(shù)據(jù)包的丟包率確定當(dāng)前發(fā)送周期的數(shù)據(jù)包的增加數(shù)量(步驟S120);然后,根據(jù)所確定的當(dāng)前發(fā)送周期的數(shù)據(jù)包的增加數(shù)量更新當(dāng)前發(fā)送周期;其中,在更新當(dāng)前發(fā)送周期時(shí),調(diào)整與當(dāng)前發(fā)送周期發(fā)送的數(shù)據(jù)包對(duì)應(yīng)的窗口(步驟S130);最后,根據(jù)更新的當(dāng)前發(fā)送周期和與更新的當(dāng)前發(fā)送周期對(duì)應(yīng)的窗口進(jìn)行當(dāng)前發(fā)送周期的數(shù)據(jù)傳輸(步驟S140)。
[0037]為了更詳細(xì)地說(shuō)明本發(fā)明實(shí)施例提供的基于UDP協(xié)議的衛(wèi)星網(wǎng)絡(luò)數(shù)據(jù)傳輸方法,下面將對(duì)上述方法的流程做詳細(xì)的說(shuō)明。
[0038]本發(fā)明采用窗口控制和速率控制結(jié)合起來(lái)的方法減緩衛(wèi)星網(wǎng)絡(luò)數(shù)據(jù)傳輸?shù)母哐訒r(shí),窗口控制用于限制最大的位的被答應(yīng)的數(shù)據(jù)包,而速率控制負(fù)責(zé)調(diào)整數(shù)據(jù)包的發(fā)送周期
[0039]一、速率控制
[0040]把速率控制處理分為三個(gè)階段,分別是快速啟動(dòng)階段、RC定時(shí)器定時(shí)時(shí)間到點(diǎn)階段和收到NAK包階段,其中,為了防止數(shù)據(jù)擁塞導(dǎo)致網(wǎng)絡(luò)延遲,本發(fā)明在RC定時(shí)器定時(shí)時(shí)間到點(diǎn)階段做了周期性的處理。
[0041]快速啟動(dòng)階段:快速啟動(dòng)階段發(fā)送在開(kāi)始連接的時(shí)候,當(dāng)收到一個(gè)ACK包并且數(shù)據(jù)包里攜帶的估計(jì)帶寬大于零時(shí),快速啟動(dòng)階段就停止。然后根據(jù)RC定時(shí)器或NAK包進(jìn)入其他兩個(gè)階段;其中,包的發(fā)送周期被設(shè)置為1/W,W是ACK攜帶的流量窗口的大小,STP被初始為最小的時(shí)間精度(I個(gè)CPU周期或I毫秒),STP為數(shù)據(jù)包的發(fā)送周期。
[0042]計(jì)算帶寬估計(jì)的方法過(guò)程為:以每20個(gè)數(shù)據(jù)包為一組,記錄每組中第一個(gè)數(shù)據(jù)包和最后一個(gè)數(shù)據(jù)包到達(dá)接收端的時(shí)間,用最后一個(gè)數(shù)據(jù)包到達(dá)接收端的時(shí)間減去第一個(gè)數(shù)據(jù)包到達(dá)接收端的時(shí)間算出20個(gè)數(shù)據(jù)包的傳輸耗時(shí)時(shí)間,再用20個(gè)數(shù)據(jù)包的總大小除以耗時(shí)時(shí)間得出本次帶寬參考值,再用上次計(jì)算帶寬與本次帶寬參考值取平均值就是當(dāng)前估計(jì)帶寬。若上次帶寬為O則當(dāng)前估計(jì)帶寬為本次帶寬參考值。
[0043]RC定時(shí)器定時(shí)時(shí)間到點(diǎn)階段:本發(fā)明用一個(gè)RC定時(shí)器觸發(fā)周期性速率控制,RC定時(shí)器的周期為0.02秒,在此階段包括如下流程:
[0044](I)如果接收端在RC定時(shí)器的上一個(gè)發(fā)送周期內(nèi)沒(méi)有收到任何ACK包,停止發(fā)送端發(fā)送數(shù)據(jù)包,即可認(rèn)為網(wǎng)絡(luò)不通,已斷網(wǎng)。
[0045]停止發(fā)送端發(fā)送數(shù)據(jù)包的目的是用于調(diào)整數(shù)據(jù)包的數(shù)量后再發(fā)送,這樣可以緩解數(shù)據(jù)包在傳輸過(guò)程中的擁堵?tīng)顩r,擁堵越輕延時(shí)越短。
[0046](2)計(jì)算RC定時(shí)器的上一個(gè)發(fā)送周期內(nèi)的丟包率,計(jì)算公式為:
[0047](發(fā)送的數(shù)據(jù)包的總數(shù)量)/(接收端收到的NAK包中反饋的丟包數(shù)量);
[0048]其中,確定接收端收到的NAK包中反饋的丟包數(shù)量的方法為:在一定周期內(nèi)接收端每收到不能確認(rèn)的包的時(shí)候累積NAK的丟包數(shù)量,不能確認(rèn)包一般是指包內(nèi)數(shù)據(jù)錯(cuò)誤或校驗(yàn)失敗無(wú)法處理的包。
[0049]如果丟包率大于20% (目前衛(wèi)星網(wǎng)絡(luò)可接受丟包率),停止發(fā)送端發(fā)送數(shù)據(jù)包。
[0050]計(jì)算RC定時(shí)器的上一個(gè)發(fā)送周期的丟包數(shù)量就是在計(jì)算上一次數(shù)據(jù)傳輸?shù)木W(wǎng)絡(luò)狀況,根據(jù)上次的數(shù)據(jù)傳輸狀況調(diào)整本次的數(shù)據(jù)傳輸?shù)陌l(fā)送周期的時(shí)間和發(fā)送的數(shù)據(jù)包的數(shù)量。
[0051](3)計(jì)算當(dāng)前RC周期需要發(fā)送的包的增加數(shù)量(snd_inc),算法如下:
[0052]IF A>B, snd_inc = 1/MSS
[0053]ELSE snd_inc = MAX(1/MSS,10~(ceil(loglO(A_B)*8*MSS)))*C/MSS)
[0054]A是連接容量的估計(jì),B是當(dāng)前發(fā)送數(shù)據(jù)包的速度,A和B單位都為每秒多少個(gè)包,C為常量系數(shù),取值范圍在0.0000001?0.000002之間,MSS是網(wǎng)絡(luò)數(shù)據(jù)傳輸最大值,以字節(jié)為單位。
[0055](4)更新發(fā)送周期 STP:STP = (STP*RC 周期時(shí)間)/ (STP*snd_inc+RC 周期時(shí)間)。
[0056](5)計(jì)算最終執(zhí)行的數(shù)據(jù)發(fā)送周期RSP。
[0057]RSP從SND PKT歷史窗口中得到,SND PKT歷史窗口是一個(gè)記錄數(shù)據(jù)包發(fā)送時(shí)間的循環(huán)數(shù)組。
[0058](6) IF (0.5*RSP>STP) THEN STP = 0.5*RSP ELSE IF(STP〈1.0) STP = 1.00
[0059]如果0.5*RSP>STP,那么 STP = 0.5*RSP,否則如果 STP〈1.0,那么 STP = 1.0。
[0060]在計(jì)算出STP值后再參考RSP值進(jìn)一步計(jì)算STP值,使STP值更精確。
[0061]收到NAK包階段:如果在NAK包中丟失包最大序列號(hào)大于LSN(從上一次降低速率后發(fā)送的最大序號(hào))則有以下幾個(gè)步驟:
[0062](I)更新 STP: STP = STP* (1+1/4)。
[0063](2)更新從上一次降低速率后到當(dāng)前NAK包序號(hào)的平均數(shù)(ANAK):ANAK =(3*ANAK+nNAK) /4 ;其中,nNAK為從上一次降低速率后NAK包的數(shù)量。
[0064](3)更新AR(從I到ANAK之間取隨機(jī)平均數(shù))。
[0065](4)重置 nNAK 為 0,并更新 LSN。
[0066]如果在NAK包中丟失包最大序列號(hào)小于等于LSN,則nNAK = nNAK+1 ;如果nNAK%AR = 0,則 STP = STP* (1+1/4)。
[0067]二、窗口控制
[0068]本發(fā)明采用流量控制方法對(duì)窗口大小進(jìn)行控制,整個(gè)流量控制都是圍繞著窗口大小(W)進(jìn)行調(diào)整的,窗口大小初始值設(shè)為16,其過(guò)程為:首先,設(shè)個(gè)一個(gè)ACK定時(shí)器,ACK定時(shí)器的周期與RC定時(shí)器的周期相同,當(dāng)ACK定時(shí)器到達(dá)定時(shí)時(shí)間的時(shí)候,流量控制快速啟動(dòng):
[0069](I)如果在上個(gè)發(fā)送周期內(nèi),接收端沒(méi)有產(chǎn)生NAK包或者發(fā)送端接收的ACK包中沒(méi)有窗口或者上一個(gè)發(fā)送周期內(nèi)數(shù)據(jù)包的數(shù)量超過(guò)窗口,并且ACK包到達(dá)發(fā)送端的速度大于零,將窗口更新為上一個(gè)發(fā)送周期內(nèi)到達(dá)發(fā)送端的ACK包的總數(shù)。
[0070](2)如果在上個(gè)發(fā)送周期內(nèi),發(fā)送端收到NAK包或者發(fā)送端接收的ACK包中包括窗口或者上一個(gè)發(fā)送周期內(nèi)數(shù)據(jù)包的數(shù)量未超過(guò)窗口,并且ACK包到達(dá)發(fā)送端的速度大于零,將窗口更新為:
[0071]W = ceil(PAS*(RTT+ATP)*0.125+W*0.875);其中,
[0072]RTT為數(shù)據(jù)包往返的延時(shí)時(shí)間,表示從發(fā)送端發(fā)送數(shù)據(jù)開(kāi)始,到發(fā)送端收到來(lái)自接收端的確認(rèn)(接收端收到數(shù)據(jù)后便立即發(fā)送確認(rèn)),總共經(jīng)歷的時(shí)延。發(fā)送數(shù)據(jù)包前記錄一次時(shí)間,接收到對(duì)應(yīng)ACK包時(shí)記錄一次時(shí)間,后者的時(shí)間對(duì)前者的時(shí)間做減法處理獲得RTT。
[0073]ATP為ACK定時(shí)器的周期;
[0074]PAS為數(shù)據(jù)包到達(dá)接收端時(shí)的速度;
[0075]PAS為ACK包到達(dá)發(fā)送端時(shí)的速度;
[0076]W 為窗口。
[0077]上述兩方面的內(nèi)容詳細(xì)描述了速率控制和窗口控制,根據(jù)速率控制和窗口控制根據(jù)傳輸中的網(wǎng)絡(luò)狀況實(shí)時(shí)調(diào)整發(fā)送端發(fā)送數(shù)據(jù)包的周期和將要發(fā)送的數(shù)據(jù)包的數(shù)量,從而緩解衛(wèi)星網(wǎng)絡(luò)數(shù)據(jù)傳輸?shù)母哐訒r(shí)。
[0078]本發(fā)明還可以利用網(wǎng)絡(luò)監(jiān)視動(dòng)態(tài)修改網(wǎng)絡(luò)參數(shù)的方式緩解衛(wèi)星網(wǎng)絡(luò)數(shù)據(jù)傳輸?shù)母哐訒r(shí):通過(guò)監(jiān)視網(wǎng)絡(luò)的延遲和傳輸速率,捕獲網(wǎng)絡(luò)的實(shí)時(shí)狀態(tài)。
[0079]網(wǎng)絡(luò)監(jiān)控程序?qū)崟r(shí)監(jiān)控?cái)?shù)據(jù)傳輸過(guò)程中的網(wǎng)絡(luò)狀況,當(dāng)網(wǎng)絡(luò)監(jiān)控程序識(shí)別出當(dāng)前網(wǎng)絡(luò)狀況發(fā)生變化時(shí),修改網(wǎng)絡(luò)參數(shù);其中,網(wǎng)絡(luò)參數(shù)包括兩類:一類為網(wǎng)絡(luò)延遲,具體包括發(fā)送超時(shí)、重連超時(shí)、發(fā)送次數(shù)、重傳次數(shù);另一類為傳輸速率,通過(guò)已傳輸?shù)臄?shù)據(jù)包的信息,分析出實(shí)時(shí)的網(wǎng)絡(luò)傳輸速率。
[0080]在進(jìn)行網(wǎng)絡(luò)控制的過(guò)程中,通過(guò)對(duì)網(wǎng)絡(luò)的延遲和傳輸速率的分析,判斷出斷網(wǎng),網(wǎng)絡(luò)恢復(fù),網(wǎng)絡(luò)狀態(tài)改變和網(wǎng)絡(luò)狀態(tài)保持四種網(wǎng)絡(luò)狀態(tài)。對(duì)網(wǎng)絡(luò)參數(shù)的控制包括緩沖區(qū)、連接超時(shí)時(shí)間、重連次數(shù)、重連間隔等。
[0081]其中,網(wǎng)絡(luò)恢復(fù):當(dāng)網(wǎng)絡(luò)從斷網(wǎng)異常中恢復(fù)時(shí),網(wǎng)絡(luò)控制模塊會(huì)開(kāi)放網(wǎng)絡(luò)參數(shù)的獲取,使網(wǎng)絡(luò)傳輸繼續(xù)進(jìn)行。
[0082]網(wǎng)絡(luò)狀態(tài)改變:當(dāng)網(wǎng)絡(luò)條件改變,延遲或速率的改變超過(guò)一個(gè)可變的閾值時(shí),網(wǎng)絡(luò)控制模塊會(huì)修改網(wǎng)絡(luò)的參數(shù),使網(wǎng)絡(luò)傳輸以最快的速度進(jìn)行。
[0083]網(wǎng)絡(luò)狀態(tài):網(wǎng)絡(luò)狀態(tài)通過(guò)網(wǎng)絡(luò)確認(rèn)核心算法獲得;具體包括:首先,記錄N次網(wǎng)絡(luò)狀態(tài),計(jì)算網(wǎng)絡(luò)狀態(tài)的平均值/中位值;然后,將當(dāng)前平均值/中位值與歷史平均值/中位值比較,如果比值超過(guò)閾值(比值〈閾值〈I或1〈閾值〈比值),則認(rèn)為網(wǎng)絡(luò)狀態(tài)改變,否則(閾值〈比值〈I或1〈比值〈閾值)則認(rèn)為網(wǎng)絡(luò)狀態(tài)未改變。
[0084]本發(fā)明還可以將每個(gè)發(fā)送周期作為一次發(fā)送任務(wù),形成任務(wù)隊(duì)列;對(duì)所述任務(wù)隊(duì)列中的任務(wù)進(jìn)行排序,根據(jù)所述任務(wù)隊(duì)列中的任務(wù)順序執(zhí)行任務(wù)。
[0085]圖2示出了根據(jù)本發(fā)明實(shí)施例的隊(duì)列管理的交互流程,如圖2所示,上級(jí)模塊用于創(chuàng)建隊(duì)列、添加任務(wù)和在不再需要隊(duì)列時(shí)刪除隊(duì)列。隊(duì)列管理模塊用于根據(jù)任務(wù)的優(yōu)先級(jí),將任務(wù)排序;其中,隊(duì)列管理模塊首先按照從高到底的優(yōu)先級(jí),然后按照先進(jìn)先出的原貝U,提取任務(wù)執(zhí)行;根據(jù)任務(wù)的不同操作,使用不同的任務(wù)處理模塊處理任務(wù);如果任務(wù)執(zhí)行過(guò)程中發(fā)生異常,隊(duì)列管理模塊會(huì)調(diào)整任務(wù)的優(yōu)先級(jí),然后將任務(wù)重新插入任務(wù)隊(duì)列。
[0086]為了進(jìn)一步說(shuō)明衛(wèi)星網(wǎng)絡(luò)通訊環(huán)境下UDP協(xié)議相對(duì)于TCP協(xié)議的傳輸效果,下面以基于m)P協(xié)議開(kāi)發(fā)的IFEP協(xié)議為例和TCP協(xié)議的傳輸效果做比較。在實(shí)驗(yàn)室環(huán)境中分別進(jìn)行的三組模擬實(shí)驗(yàn)數(shù)據(jù)來(lái)證明,在以下的模擬實(shí)驗(yàn)中,分別模擬衛(wèi)星網(wǎng)絡(luò),一組限速上行帶寬200KB/S,下行帶寬200KB/S,發(fā)送25MB內(nèi)容,分別應(yīng)用IFEP協(xié)議和TCP協(xié)議在上述實(shí)驗(yàn)環(huán)境中傳輸數(shù)據(jù)的結(jié)果如下:
[0087]IFEP協(xié)議發(fā)送數(shù)據(jù)的速度是26KB/S,用時(shí):923s
[0088]TCP協(xié)議發(fā)送數(shù)據(jù)的速度是24KS/S,用時(shí):1028s
[0089]另一組是一組限速上行帶寬2000KB/S,下行帶寬2000KB/s情況下,發(fā)送412MB數(shù)據(jù),測(cè)試結(jié)果如下:
[0090]IFEP協(xié)議發(fā)送數(shù)據(jù)的速度是255KB/S,用時(shí):1582s
[0091]TCP協(xié)議發(fā)送數(shù)據(jù)的速度是242KB/S,用時(shí):1664s
[0092]另一組是無(wú)限速情況下,發(fā)送412MB數(shù)據(jù),測(cè)試結(jié)果如下:
[0093]IFEP協(xié)議發(fā)送數(shù)據(jù)的速度是4.7MB/s,用時(shí):83s
[0094]TCP協(xié)議發(fā)送數(shù)據(jù)的速度是3.6MB/s,用時(shí):107s
[0095]通過(guò)測(cè)試,IFEP協(xié)議在衛(wèi)星網(wǎng)絡(luò)通訊環(huán)境下優(yōu)于TCP協(xié)議,本協(xié)議在衛(wèi)星通訊環(huán)境下相比TCP可以大幅提升文件傳輸效率,充分利用在高丟包率環(huán)境下高效使用的網(wǎng)絡(luò)帶寬,保證數(shù)據(jù)的完整、可靠。因此,在本發(fā)明中,利用了 UDP更加適合現(xiàn)有的衛(wèi)星網(wǎng)絡(luò)通訊環(huán)境的特性,同時(shí)為了規(guī)避m)P協(xié)議存在的問(wèn)題,添加控制內(nèi)容和相關(guān)算法,同時(shí)在UDP上層添加了網(wǎng)絡(luò)監(jiān)控和隊(duì)列管理內(nèi)容,進(jìn)而從不同的方面和維度解決目前衛(wèi)星網(wǎng)絡(luò)通訊過(guò)程中存在的無(wú)序、丟包、擁塞等問(wèn)題。
[0096]與上述方法相對(duì)應(yīng),本發(fā)明還提供一種基于UDP協(xié)議的衛(wèi)星網(wǎng)絡(luò)數(shù)據(jù)傳輸裝置。圖3示出了根據(jù)本發(fā)明實(shí)施例的基于UDP協(xié)議的衛(wèi)星網(wǎng)絡(luò)數(shù)據(jù)傳輸裝置的邏輯結(jié)構(gòu)。
[0097]如圖3所示,本發(fā)明提供的本發(fā)明實(shí)施例提供的基于UDP協(xié)議的衛(wèi)星網(wǎng)絡(luò)數(shù)據(jù)傳輸裝置在UDP數(shù)據(jù)報(bào)頭的基礎(chǔ)上增加一個(gè)與發(fā)送端的數(shù)據(jù)包發(fā)送周期相對(duì)應(yīng)的窗口,所述窗口用于調(diào)整所述發(fā)送端在對(duì)應(yīng)發(fā)送周期內(nèi)發(fā)送的數(shù)據(jù)包的數(shù)量;其中,該裝置包括丟包率獲取單元310、數(shù)據(jù)包增加單元320、發(fā)送周期更新單元330、窗口調(diào)整單元340、數(shù)據(jù)傳輸單元350。
[0098]其中,丟包率獲取單元310用于在當(dāng)前發(fā)送周期,獲取上一個(gè)發(fā)送周期的數(shù)據(jù)包的丟包率。
[0099]數(shù)據(jù)包增加單元320用于根據(jù)所獲取的上一個(gè)發(fā)送周期的數(shù)據(jù)包的丟包率確定當(dāng)前發(fā)送周期的數(shù)據(jù)包的增加數(shù)量。
[0100]發(fā)送周期更新單元330用于根據(jù)所確定的當(dāng)前發(fā)送周期的數(shù)據(jù)包的增加數(shù)量更新當(dāng)前發(fā)送周期。
[0101]窗口調(diào)整單元340用于在更新當(dāng)前發(fā)送周期時(shí),調(diào)整與當(dāng)前發(fā)送周期發(fā)送的數(shù)據(jù)包對(duì)應(yīng)的窗口。
[0102]數(shù)據(jù)傳輸單元350用于根據(jù)更新的當(dāng)前發(fā)送周期和與更新的當(dāng)前發(fā)送周期對(duì)應(yīng)的窗口進(jìn)行當(dāng)前發(fā)送周期的數(shù)據(jù)傳輸。
[0103]圖4示出了根據(jù)本發(fā)明實(shí)施例的基于UDP協(xié)議的衛(wèi)星網(wǎng)絡(luò)數(shù)據(jù)傳輸裝置的一個(gè)【具體實(shí)施方式】的邏輯結(jié)構(gòu)。
[0104]如圖4所示,數(shù)據(jù)傳輸單元350包括網(wǎng)絡(luò)監(jiān)控模塊351,用于實(shí)時(shí)監(jiān)控傳輸過(guò)程中的網(wǎng)絡(luò)狀況;當(dāng)網(wǎng)絡(luò)監(jiān)控模塊識(shí)別出當(dāng)前網(wǎng)絡(luò)狀況發(fā)生變化時(shí),修改網(wǎng)絡(luò)參數(shù);其中,
[0105]網(wǎng)絡(luò)參數(shù)包括網(wǎng)絡(luò)延遲和傳輸速率:
[0106]網(wǎng)絡(luò)延遲包括發(fā)送超時(shí)、重連超時(shí)、發(fā)送次數(shù)、重傳次數(shù);
[0107]傳輸速率,通過(guò)已傳輸?shù)臄?shù)據(jù)包的信息分析出實(shí)時(shí)的網(wǎng)絡(luò)傳輸速率。
[0108]另外,基于UDP協(xié)議的衛(wèi)星網(wǎng)絡(luò)數(shù)據(jù)傳輸裝置還包括任務(wù)隊(duì)列形成單元360、任務(wù)排序單元370和任務(wù)執(zhí)行單元380。
[0109]其中,任務(wù)隊(duì)列形成單元360用于將每個(gè)發(fā)送周期作為一次發(fā)送任務(wù),形成任務(wù)隊(duì)列;任務(wù)排序單元370用于根據(jù)任務(wù)的優(yōu)先級(jí)對(duì)任務(wù)隊(duì)列中的任務(wù)進(jìn)行排序;任務(wù)執(zhí)行單元380用于根據(jù)排序執(zhí)行所述任務(wù)隊(duì)列中的任務(wù)。
[0110]再者,丟包率獲取單元310在當(dāng)前發(fā)送周期,獲取上一個(gè)發(fā)送周期的數(shù)據(jù)包的丟包率的過(guò)程包括:根據(jù)上一個(gè)發(fā)送周期發(fā)送的數(shù)據(jù)包的總數(shù)量與接收端接收到的NAK包中的丟包數(shù)量的商,獲得上一個(gè)發(fā)送周期的數(shù)據(jù)包的丟包率。
[0111]其中,數(shù)據(jù)包增加單元320在根據(jù)上一個(gè)發(fā)送周期的數(shù)據(jù)包的丟包率獲取當(dāng)前發(fā)送周期的當(dāng)前發(fā)送周期的數(shù)據(jù)包的增加數(shù)量的過(guò)程包括:
[0112]IF A>B, snd_inc = 1/MSS
[0113]ELSE snd_inc = MAX(1/MSS,10~(ceil(loglO(A-B)*8*MSS)))*C/MSS);其中,
[0114]A為連接容量的估計(jì);
[0115]B為當(dāng)前周期發(fā)送數(shù)據(jù)包的速度;
[0116]C為常量系數(shù),取值范圍在0.0000001?0.000002之間;
[0117]MSS為網(wǎng)絡(luò)數(shù)據(jù)傳輸最大值;
[0118]snd_inc為當(dāng)前發(fā)送周期的數(shù)據(jù)包的增加數(shù)量。
[0119]另外,在發(fā)送周期更新單元330根據(jù)數(shù)據(jù)包的增加數(shù)量更新當(dāng)前發(fā)送周期的過(guò)程中,
[0120]STP = (STPftfe1l*定時(shí)器周期)/(STP初始值*snd_inc+定時(shí)器周期);
[0121]其中,STP表示當(dāng)前發(fā)送周期;STPw她表示發(fā)送周期的初始值;
[0122]IF (0.5*RSP>STP) THEN STP = 0.5*RSP,ELSE IF(STP〈1.0) STP = 1.0 ;其中,RSP表示上一次數(shù)據(jù)包發(fā)送后在歷史窗口中得到的發(fā)送周期。
[0123]再者,在窗口調(diào)整單元340調(diào)整與每個(gè)發(fā)送周期對(duì)應(yīng)的窗口的過(guò)程中,
[0124]在上一個(gè)發(fā)送周期內(nèi),如果接收端沒(méi)有產(chǎn)生NAK包或者發(fā)送端接收的ACK包中沒(méi)有窗口或者上一個(gè)發(fā)送周期內(nèi)數(shù)據(jù)包的數(shù)量超過(guò)窗口,并且ACK包到達(dá)發(fā)送端的速度大于零,將窗口更新為上一個(gè)發(fā)送周期內(nèi)到達(dá)發(fā)送端的ACK包的總數(shù);
[0125]如果發(fā)送端收到NAK包或者發(fā)送端接收的ACK包中包括窗口或者上一個(gè)發(fā)送周期內(nèi)數(shù)據(jù)包的數(shù)量未超過(guò)窗口,并且ACK包到達(dá)發(fā)送端的速度大于零,將窗口更新為:
[0126]W = ceil(PAS*(RTT+ATP)*0.125+W*0.875);其中,
[0127]RTT為數(shù)據(jù)包往返的延時(shí)時(shí)間;
[0128]ATP為ACK定時(shí)器的周期。
[0129]PAS為ACK包到達(dá)發(fā)送端時(shí)的速度;
[0130]W 為窗口。
[0131]以上內(nèi)容詳細(xì)描述了本發(fā)明提供的基于UDP協(xié)議的衛(wèi)星網(wǎng)絡(luò)數(shù)據(jù)傳輸方法及裝置,利用上述根據(jù)本發(fā)明提供的基于UDP協(xié)議的衛(wèi)星網(wǎng)絡(luò)數(shù)據(jù)傳輸方法及裝置,通過(guò)設(shè)置一個(gè)定時(shí)器根據(jù)網(wǎng)絡(luò)情況調(diào)整數(shù)據(jù)包的發(fā)送周期,再通過(guò)增加一個(gè)窗口來(lái)調(diào)整每個(gè)發(fā)送周期待發(fā)送的數(shù)據(jù)包的數(shù)量,從兩方面來(lái)緩解衛(wèi)星網(wǎng)絡(luò)數(shù)據(jù)傳輸高延時(shí)的問(wèn)題。
[0132]以上所述,僅為本發(fā)明的【具體實(shí)施方式】,但本發(fā)明的保護(hù)范圍并不局限于此,任何熟悉本【技術(shù)領(lǐng)域】的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到變化或替換,都應(yīng)涵蓋在本發(fā)明的保護(hù)范圍之內(nèi)。因此,本發(fā)明的保護(hù)范圍應(yīng)所述以權(quán)利要求的保護(hù)范圍為準(zhǔn)。
【權(quán)利要求】
1.一種基于UDP協(xié)議的衛(wèi)星網(wǎng)絡(luò)數(shù)據(jù)傳輸方法,在UDP數(shù)據(jù)報(bào)頭的基礎(chǔ)上增加一個(gè)與發(fā)送端的數(shù)據(jù)包發(fā)送周期相對(duì)應(yīng)的窗口,所述窗口用于調(diào)整所述發(fā)送端在對(duì)應(yīng)發(fā)送周期內(nèi)發(fā)送的數(shù)據(jù)包的數(shù)量;其中,在數(shù)據(jù)包傳輸過(guò)程中, 在當(dāng)前發(fā)送周期,獲取上一個(gè)發(fā)送周期的數(shù)據(jù)包的丟包率; 根據(jù)所獲取的上一個(gè)發(fā)送周期的數(shù)據(jù)包的丟包率確定當(dāng)前發(fā)送周期的數(shù)據(jù)包的增加數(shù)量; 根據(jù)所確定的當(dāng)前發(fā)送周期的數(shù)據(jù)包的增加數(shù)量更新當(dāng)前發(fā)送周期;其中,在更新當(dāng)前發(fā)送周期時(shí),調(diào)整與當(dāng)前發(fā)送周期發(fā)送的數(shù)據(jù)包對(duì)應(yīng)的窗口 ; 根據(jù)更新的當(dāng)前發(fā)送周期和與更新的當(dāng)前發(fā)送周期對(duì)應(yīng)的窗口進(jìn)行當(dāng)前發(fā)送周期的數(shù)據(jù)傳輸。
2.如權(quán)利要求1所述的基于UDP協(xié)議的衛(wèi)星網(wǎng)絡(luò)數(shù)據(jù)傳輸方法,其中,獲取當(dāng)前發(fā)送周期的數(shù)據(jù)包的增加數(shù)量的過(guò)程包括:
IF A>B, snd_inc = 1/MSS
ELSE snd_inc = MAX(1/MSS,10~(ceil(loglO(A-B)*8*MSS)))*C/MSS);其中, A為連接容量的估計(jì); B為當(dāng)前周期發(fā)送數(shù)據(jù)包的速度; C為常量系數(shù),取值范圍為0.0000001?0.000002 ; MSS為網(wǎng)絡(luò)數(shù)據(jù)傳輸最大值; snd_inc為當(dāng)前發(fā)送周期的數(shù)據(jù)包的增加數(shù)量。
3.如權(quán)利要求2所述的基于UDP協(xié)議的衛(wèi)星網(wǎng)絡(luò)數(shù)據(jù)傳輸方法,其中,在根據(jù)數(shù)據(jù)包的增加數(shù)量更新當(dāng)前發(fā)送周期的過(guò)程中, STP = (STP*RC定時(shí)器的周期)/(STP*snd_inc+RC定時(shí)器的周期); 其中,STP表示當(dāng)前發(fā)送周期;
IF (0.5*RSP>STP) THEN STP = 0.5*RSP,ELSE IF(STP〈1.0) STP = 1.0 ;其中,RSP 表示上一次數(shù)據(jù)包發(fā)送后在歷史窗口中得到的發(fā)送周期。
4.如權(quán)利要求1所述的基于UDP協(xié)議的衛(wèi)星網(wǎng)絡(luò)數(shù)據(jù)傳輸方法,其中,在調(diào)整與當(dāng)前發(fā)送周期發(fā)送的數(shù)據(jù)包對(duì)應(yīng)的窗口的過(guò)程中, 在上一個(gè)發(fā)送周期內(nèi),如果接收端沒(méi)有產(chǎn)生NAK包或者所述發(fā)送端接收的ACK包中沒(méi)有窗口或者上一個(gè)發(fā)送周期內(nèi)數(shù)據(jù)包的數(shù)量超過(guò)窗口,并且ACK包到達(dá)所述發(fā)送端的速度大于零,將所述窗口更新為上一個(gè)發(fā)送周期內(nèi)到達(dá)發(fā)送端的ACK包的總數(shù); 如果所述發(fā)送端收到NAK包或者所述發(fā)送端接收的ACK包中包括窗口或者上一個(gè)發(fā)送周期內(nèi)數(shù)據(jù)包的數(shù)量未超過(guò)窗口,并且ACK包到達(dá)所述發(fā)送端的速度大于零,將所述窗口更新為:
W = ceil(PAS*(RTT+ATP)*0.125+W*0.875);其中, RTT為數(shù)據(jù)包往返的延時(shí)時(shí)間; ATP為ACK定時(shí)器的周期。 PAS為ACK包到達(dá)發(fā)送端時(shí)的速度; W為窗口。
5.如權(quán)利要求1所述的基于UDP協(xié)議的衛(wèi)星網(wǎng)絡(luò)數(shù)據(jù)傳輸方法,其中,在傳輸數(shù)據(jù)的過(guò)程中, 網(wǎng)絡(luò)監(jiān)控實(shí)時(shí)監(jiān)控傳輸過(guò)程中的網(wǎng)絡(luò)狀況,當(dāng)所述監(jiān)控識(shí)別出當(dāng)前網(wǎng)絡(luò)狀況發(fā)生變化時(shí),修改網(wǎng)絡(luò)參數(shù);其中, 所述網(wǎng)絡(luò)參數(shù)包括網(wǎng)絡(luò)延遲和傳輸速率; 所述網(wǎng)絡(luò)延遲包括發(fā)送超時(shí)、重連超時(shí)、發(fā)送次數(shù)、重傳次數(shù); 所述傳輸速率,通過(guò)已傳輸?shù)臄?shù)據(jù)包的信息分析出實(shí)時(shí)的網(wǎng)絡(luò)傳輸速率。
6.如權(quán)利要求1所述的基于UDP協(xié)議的衛(wèi)星網(wǎng)絡(luò)數(shù)據(jù)傳輸方法, 分別將每個(gè)發(fā)送周期作為一次發(fā)送任務(wù),形成任務(wù)隊(duì)列; 根據(jù)任務(wù)的優(yōu)先級(jí)對(duì)所述任務(wù)隊(duì)列中的任務(wù)進(jìn)行排序; 根據(jù)所述排序執(zhí)行所述任務(wù)隊(duì)列中的任務(wù)。
7.一種基于UDP協(xié)議的衛(wèi)星網(wǎng)絡(luò)數(shù)據(jù)傳輸裝置,在UDP數(shù)據(jù)報(bào)頭的基礎(chǔ)上增加一個(gè)與發(fā)送端的數(shù)據(jù)包發(fā)送周期相對(duì)應(yīng)的窗口,所述窗口用于調(diào)整所述發(fā)送端在對(duì)應(yīng)發(fā)送周期內(nèi)發(fā)送的數(shù)據(jù)包的數(shù)量;其中,所述裝置包括: 丟包率獲取單元,用于在當(dāng)前發(fā)送周期,獲取上一個(gè)發(fā)送周期的數(shù)據(jù)包的丟包率; 數(shù)據(jù)包增加單元,用于根據(jù)所獲取的上一個(gè)發(fā)送周期的數(shù)據(jù)包的丟包率確定當(dāng)前發(fā)送周期的數(shù)據(jù)包的增加數(shù)量; 發(fā)送周期更新單元,用于根據(jù)所確定的當(dāng)前發(fā)送周期的數(shù)據(jù)包的增加數(shù)量更新當(dāng)前發(fā)送周期; 窗口調(diào)整單元,用于在更新當(dāng)前發(fā)送周期時(shí),調(diào)整與當(dāng)前發(fā)送周期發(fā)送的數(shù)據(jù)包對(duì)應(yīng)的窗口 ; 數(shù)據(jù)傳輸單元,用于根據(jù)更新的當(dāng)前發(fā)送周期和與更新的當(dāng)前發(fā)送周期對(duì)應(yīng)的窗口進(jìn)行當(dāng)前發(fā)送周期的數(shù)據(jù)傳輸。
8.如權(quán)利要求7所述的基于UDP協(xié)議的衛(wèi)星網(wǎng)絡(luò)數(shù)據(jù)傳輸裝置,其中, 所述數(shù)據(jù)包增加單元在根據(jù)上一個(gè)發(fā)送周期的數(shù)據(jù)包的丟包率獲取當(dāng)前發(fā)送周期的數(shù)據(jù)包的增加數(shù)量的過(guò)程包括:
IF A>B, snd_inc = 1/MSS
ELSE snd_inc = MAX(1/MSS,10~(ceil(loglO(A-B)*8*MSS)))*C/MSS);其中, A為連接容量的估計(jì); B為當(dāng)前周期發(fā)送數(shù)據(jù)包的速度; C為常量系數(shù),取值范圍為0.0000001?0.000002 MSS為網(wǎng)絡(luò)數(shù)據(jù)傳輸最大值; snd_inc為當(dāng)前發(fā)送周期的數(shù)據(jù)包的增加數(shù)量。
9.如權(quán)利要求8所述的基于UDP協(xié)議的衛(wèi)星網(wǎng)絡(luò)數(shù)據(jù)傳輸裝置,其中, 在所述發(fā)送周期更新單元根據(jù)數(shù)據(jù)包的增加數(shù)量更新當(dāng)前發(fā)送周期的過(guò)程中, STP = (STPftfe1l*定時(shí)器周期"(STP^^值*snd_inc+定時(shí)器周期); 其中,STP表示當(dāng)前發(fā)送周期;STPWMt表示發(fā)送周期的初始值;
IF (0.5*RSP>STP) THEN STP = 0.5*RSP,ELSE IF(STP〈1.0) STP = 1.0 ;其中,RSP 表示上一次數(shù)據(jù)包發(fā)送后在歷史窗口中得到的發(fā)送周期。
10.如權(quán)利要求7所述的基于UDP協(xié)議的衛(wèi)星網(wǎng)絡(luò)數(shù)據(jù)傳輸裝置,其中, 在所述窗口調(diào)整單元調(diào)整與當(dāng)前發(fā)送周期發(fā)送的數(shù)據(jù)包對(duì)應(yīng)的窗口的過(guò)程中, 在上一個(gè)發(fā)送周期內(nèi),如果接收端沒(méi)有產(chǎn)生NAK包或者所述發(fā)送端接收的ACK包中沒(méi)有窗口或者上一個(gè)發(fā)送周期內(nèi)數(shù)據(jù)包的數(shù)量超過(guò)窗口,并且ACK包到達(dá)所述發(fā)送端的速度大于零,將所述窗口更新為上一個(gè)發(fā)送周期內(nèi)到達(dá)發(fā)送端的ACK包的總數(shù); 如果所述發(fā)送端收到NAK包或者所述發(fā)送端接收的ACK包中包括窗口或者上一個(gè)發(fā)送周期內(nèi)數(shù)據(jù)包的數(shù)量未超過(guò)窗口,并且ACK包到達(dá)所述發(fā)送端的速度大于零,將所述窗口更新為:
W = ceil(PAS*(RTT+ATP)*0.125+W*0.875);其中, RTT為數(shù)據(jù)包往返的延時(shí)時(shí)間; ATP為ACK定時(shí)器的周期。 PAS為ACK包到達(dá)發(fā)送端時(shí)的速度; W為窗口。
11.如權(quán)利要求7所述的基于UDP協(xié)議的衛(wèi)星網(wǎng)絡(luò)數(shù)據(jù)傳輸裝置,其中, 所述數(shù)據(jù)傳輸單元包括網(wǎng)絡(luò)監(jiān)控模塊,用于實(shí)時(shí)監(jiān)控傳輸過(guò)程中的網(wǎng)絡(luò)狀況;當(dāng)所述網(wǎng)絡(luò)監(jiān)控模塊識(shí)別出當(dāng)前網(wǎng)絡(luò)狀況發(fā)生變化時(shí),修改網(wǎng)絡(luò)參數(shù);其中, 所述網(wǎng)絡(luò)參數(shù)包括網(wǎng)絡(luò)延遲和傳輸速率: 所述網(wǎng)絡(luò)延遲包括發(fā)送超時(shí)、重連超時(shí)、發(fā)送次數(shù)、重傳次數(shù); 所述傳輸速率,通過(guò)已傳輸?shù)臄?shù)據(jù)包的信息分析出實(shí)時(shí)的網(wǎng)絡(luò)傳輸速率。
12.如權(quán)利要求7所述的基于UDP協(xié)議的衛(wèi)星網(wǎng)絡(luò)數(shù)據(jù)傳輸裝置,還包括: 任務(wù)隊(duì)列形成單元,用于將每個(gè)發(fā)送周期作為一次發(fā)送任務(wù),形成任務(wù)隊(duì)列; 任務(wù)排序單元,用于根據(jù)任務(wù)的優(yōu)先級(jí)對(duì)所述任務(wù)隊(duì)列中的任務(wù)進(jìn)行排序; 任務(wù)執(zhí)行單元,用于根據(jù)所述排序執(zhí)行所述任務(wù)隊(duì)列中的任務(wù)。
【文檔編號(hào)】H04W84/06GK104283605SQ201410503878
【公開(kāi)日】2015年1月14日 申請(qǐng)日期:2014年9月26日 優(yōu)先權(quán)日:2014年9月26日
【發(fā)明者】楊海昕, 于心培 申請(qǐng)人:東軟集團(tuán)股份有限公司
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1