專利名稱:一種實時確定傳輸?shù)囊蕴W(wǎng)通訊方法
技術領域:
本發(fā)明涉及一種以太網(wǎng)通訊方法,特別涉及一種實時確定傳輸?shù)囊蕴W(wǎng)通訊方法。
背景技術:
基于CSMA/CD(載波偵察聽多路訪問/沖突檢測)機制的以太網(wǎng)技術是目前商業(yè)應用最廣泛的網(wǎng)絡技術。隨著以太網(wǎng)交換技術和全雙工通信技術的發(fā)展,沖突域的分離和帶寬的不斷增大使得以太網(wǎng)通訊的不確定性得到了改善。基于以太網(wǎng)的工業(yè)應用呈現(xiàn)出強韌的生命力,目前廣泛應用于各種通訊設備中。
通信設備中應用的嵌入式系統(tǒng)多捆綁了標準的TCP/IP協(xié)議棧,一個以太網(wǎng)節(jié)點需要與多個以太網(wǎng)節(jié)點同時通訊。如果選擇使用TCP則需要為每個對端節(jié)點逐個創(chuàng)建TCP鏈路,這意味著消耗大量的系統(tǒng)資源和網(wǎng)絡資源,同時也降低了通訊的實時性。這是嵌入式系統(tǒng)應用中所不愿看到的,因此它們之間的數(shù)據(jù)傳輸多采用UDP(User Datagram Protocol,用戶數(shù)據(jù)報協(xié)議)。但是由于UDP自身面向無連接的特點,帶來上層數(shù)據(jù)傳輸?shù)牟豢煽啃?,直接影響通訊的質量,導致整個系統(tǒng)性能的降低。針對這一難題,業(yè)界提出了通過增加對UDP報文的確認和重傳機制等方法,解決了一些簡單系統(tǒng)低負荷情況下的通訊確定性問題。然而對于移動通訊系統(tǒng),尤其是第三代之后的移動通訊系統(tǒng)單板之間的媒體傳播關系復雜、通訊負荷高且存在較多突發(fā)高峰,甚至瞬時通訊需求大大超過帶寬,容易因單板來不及處理消息而導致其接收緩沖區(qū)溢出。因此,通過這些簡單的方法來保證通訊的可靠是不可行的。
發(fā)明內容
本發(fā)明所解決的技術問題在于提供了一種實時確定傳輸?shù)囊蕴W(wǎng)通訊方法,以達到在移動通訊設備中單板間的數(shù)據(jù)傳輸大多使用UDP通訊的情況下,在移動通訊系統(tǒng)通信復雜,高負荷、多突發(fā)形式的情況中,能夠滿足通訊的可靠性和實時性。
為解決上述技術問題,本發(fā)明提供了一種實時確定傳輸?shù)囊蕴W(wǎng)通訊方法,包括如下步驟為網(wǎng)絡中的各節(jié)點定制需要與該節(jié)點通訊的節(jié)點;為所有需要通訊的兩個節(jié)點之間建立虛擬通訊關系;為兩個節(jié)點之間的每對虛擬通訊關系建立一條虛擬通訊鏈路,每條虛擬通訊鏈路維護物理上的一對節(jié)點間的會話;根據(jù)不同通訊服務的質量要求,為不同通訊服務賦予不同的優(yōu)先級;由高優(yōu)先級的通訊服務搶占低優(yōu)先級的通訊服務來傳輸數(shù)據(jù);當移動通訊設備負荷突發(fā)激增時,犧牲低優(yōu)先級的通信負荷來保證高優(yōu)先級通訊服務的數(shù)據(jù)傳輸。
所述不同的通訊服務可以分為實時可靠的服務、不可靠的服務。
所述實時可靠的服務提供可靠的確定性數(shù)據(jù)傳輸,它總是擁有更高的優(yōu)先級,可以隨時搶占不可靠的服務,并且依靠擴展后的滑動窗口機制以及擁塞控制策略來進行流量控制,并且支持斷點續(xù)傳,保證上層數(shù)據(jù)的完整性。
本發(fā)明基于流量控制,能夠為上層應用提供實時確定數(shù)據(jù)傳輸?shù)囊蕴W(wǎng)通訊方法。尤其是移動通信設備嵌入式系統(tǒng)單板之間基于UDP協(xié)議的以太網(wǎng)通訊。擴展了UDP的通訊功能,兼有TCP可靠傳輸?shù)膬?yōu)點和UDP實時性好的長處,能夠在資源有限的條件下,為多個以太網(wǎng)節(jié)點之間的網(wǎng)狀通訊提供實時確定的數(shù)據(jù)傳輸。大大提高移動通訊設備中嵌入式單板間實時數(shù)據(jù)傳輸?shù)臉I(yè)務質量,從而提高整個系統(tǒng)的性能。
圖1是本發(fā)明實施例中所述EUDP/FC的虛擬通訊關系與虛擬通訊鏈路示意圖;
圖2是本發(fā)明實施例的具體實施過程中發(fā)送方工作流程示意圖;圖3是本發(fā)明實施例的具體實施過程中接收方工作流程示意圖。
具體實施例方式
下面進一步闡述本發(fā)明的具體實施。
由于資源的限制和實時性要求,移動通訊設備中單板間的數(shù)據(jù)傳輸大多使用UDP通訊。由于移動通訊系統(tǒng)通信復雜,高負荷且多突發(fā)形式,現(xiàn)有的通訊方法已經(jīng)不能夠滿足通訊的可靠性和實時性。因此本發(fā)明提出基于流量控制的擴展UDP通訊解決方法——EUDP/FC(Extended UDP scheme basedon Flow Control),能夠為移動通訊上層業(yè)務提供實時確定的數(shù)據(jù)傳輸。
EUDP/FC是在面向無連接的標準UDP通訊中引入了流量控制的策略,擴展了UDP的通訊功能。首先,為了解決以太網(wǎng)通訊關系復雜的問題,EUDP/FC引入了虛擬通訊關系(Virtual Communication Relation)和虛擬通訊鏈路(Virtual Communication Link)的概念,通過虛擬通訊關系的不同類型來區(qū)分以太網(wǎng)復雜的通訊關系,通過一條虛擬通訊鏈路來維護一組會話。其次,為了應對高負荷通訊和突發(fā)通訊,對UDP報文全部進行確認和重傳是不可行的,因此EUDP/FC通過優(yōu)先級策略將上層負荷區(qū)分開來,為上層業(yè)務提供兩種不同質量的服務一種是實時可靠的服務(Reliable Service),一種是不可靠的服務(Unreliable Service)。實時可靠的服務提供可靠的確定性數(shù)據(jù)傳輸,它總是擁有更高的優(yōu)先級,可以隨時搶占不可靠的服務,并且依靠擴展后的滑動窗口機制以及擁塞控制策略來進行流量控制,并且支持斷點續(xù)傳,保證上層數(shù)據(jù)的完整性。不可靠的服務總是等待可靠的數(shù)據(jù)都發(fā)送完成后才能進行數(shù)據(jù)傳輸。
下面對本發(fā)明中基于流量控制的擴展UDP通訊解決方法EUDP/FC作進一步闡述一、EUDP/FC通過虛擬通訊關系表來維護每條虛擬通訊關系,兩個節(jié)點上相應一對虛擬通訊關系組成一條虛擬通訊鏈路。每條虛擬通訊關系都維護了本地節(jié)點與其他節(jié)點的對應關系。從媒體傳播方式上分,它包括單播、組播和多播方式;從通訊角色上分,它包括客戶機—服務器、發(fā)布者—預定者以及報告分發(fā)模式,這一點可以根據(jù)不同的網(wǎng)絡需求來自由擴展。
圖1是EUDP/FC的虛擬通訊關系與虛擬通訊鏈路示意圖,如圖1所示,虛擬通訊關系在以太網(wǎng)通訊的雙方總是成對存在的,每一對虛擬通訊關系代表了一條虛擬通訊鏈路。每條虛擬通訊鏈路維護一條物理上兩個以太網(wǎng)節(jié)點間的一組會話。嵌入式系統(tǒng)中,EUDP/FC使用一個套接字(Socket)可以對應多個虛擬通訊關系,也就是說多個虛擬通訊關系提供的數(shù)據(jù)傳輸服務都通過一個套接字來收發(fā)EUDP/FC報文。因此在與多個以太網(wǎng)節(jié)點通訊中,應用EUDP/FC方法的以太網(wǎng)節(jié)點最少只需要創(chuàng)建一個套接字。這一點與TCP相比,節(jié)省了大量系統(tǒng)資源,這對嵌入式應用是很至關重要的。
二、EUDP/FC的虛擬通訊關系是可定制的,用戶可以根據(jù)自己的需要定制該節(jié)點與哪些節(jié)點通訊,未定制的節(jié)點就不會與之通訊。靈活的定制方式增強了整個系統(tǒng)通訊的可控性和穩(wěn)定性,同時節(jié)省了不必要的網(wǎng)絡資源和系統(tǒng)開銷。
三、EUDP/FC方法引入了優(yōu)先級策略。因為并不是所有通過UDP傳輸?shù)臄?shù)據(jù)都對可靠性和實時性有很高的要求,這就需要在傳輸時通過不同的優(yōu)先級區(qū)別對待。為此EUDP/FC為上層應用提供兩種不同質量的通訊服務不可靠的服務和實時可靠的服務。不可靠的服務不需要確認和重傳,有數(shù)據(jù)就直接發(fā)送,其優(yōu)先級低,容易被實時可靠的服務所搶占。在移動通訊設備中,一般用于打印等非重要信息的傳輸。相比之下,實時可靠的服務總是擁有更高的優(yōu)先級,傳輸數(shù)據(jù)時總是能夠搶占低優(yōu)先級的服務首先檢查是否有其他正在傳送數(shù)據(jù)的通訊服務,如果是不可靠的服務在發(fā)送數(shù)據(jù)則進行搶占。因此在移動通訊設備負荷突發(fā)增高時,EUDP/FC會犧牲不可靠的服務的負荷來確保實時可靠服務的質量。在這里,優(yōu)先級策略還有進一步擴展,可以在以上兩種服務內部進行細分。
四、對于實時可靠的服務,EUDP/FC采用擴展后的滑動窗口機制以及擁塞控制策略來進行流量控制。擴展后的滑動窗口機制與簡單的確認和重傳技術相比,更加有效的利用了帶寬,提高了數(shù)據(jù)傳輸?shù)膶崟r性。此外,通過增加擁塞策略,當單板發(fā)現(xiàn)自己的接收緩沖區(qū)快滿時,發(fā)送擁塞消息給上游發(fā)送方,通過縮小其發(fā)送滑動窗的大小進行流量調整,平緩負荷高峰對接收緩沖區(qū)的沖擊。相反,當單板發(fā)現(xiàn)自己的接收緩沖區(qū)接近空時,則發(fā)送解擁塞消息給發(fā)送方,通過增大上游發(fā)送滑動窗大小來解除擁塞。
五、EUDP/FC向上層業(yè)務的數(shù)據(jù)傳輸提供支持斷點續(xù)傳的能力。在因重發(fā)超限和心跳超時導致虛擬通訊鏈路拆除鏈后,相應的虛擬通訊關系會保存拆鏈前的信息,維持這組會話。重新建鏈的過程中雙方將保存的會話信息發(fā)送給對方進行校正,新的虛擬通訊鏈路建立。接下來的傳輸從斷點開始,保證了業(yè)務數(shù)據(jù)的完整性。雖然會話總是被維護,但是會話并非永久的,當由于一些不可預知的異常導致會話失效時,如果不釋放該會話將導致虛擬鏈路死鎖,鏈路反復拆建,無法正常通訊。這時,EUDP/FC會徹底釋放該會話。
為更好的闡述如何具體實施本發(fā)明,實施例從發(fā)送方和接收方的工作流程來給予說明。
圖2是本發(fā)明具體實施過程中發(fā)送方工作流程示意圖,如圖2所示,發(fā)送方實施的流程為步驟201、為網(wǎng)絡中的各節(jié)點定制需要與該節(jié)點通訊的節(jié)點;步驟202、為所有需要通訊的兩個節(jié)點之間建立虛擬通訊關系;步驟203、為兩個節(jié)點之間的每對虛擬通訊關系建立一條虛擬通訊鏈路,每條虛擬通訊鏈路維護物理上的一對節(jié)點間的會話;步驟204、根據(jù)不同通訊服務的質量要求,為不同通訊服務賦予不同的優(yōu)先級;步驟205、從上層應用接收數(shù)據(jù)并判斷是否使用實時可靠的服務,如果否,轉入步驟206,如果是,轉入步驟209;步驟206、放入不可靠服務發(fā)送緩沖區(qū)等待發(fā)送;步驟207、判斷是否有可靠服務正在發(fā)送,如果是則繼續(xù)判斷,如果否,轉入步驟208;步驟208、根據(jù)虛擬通訊關系,直接向接收方發(fā)送數(shù)據(jù)幀;
步驟209、放入可靠服務發(fā)送緩沖區(qū)等待發(fā)送;步驟210、判斷是否有不可靠服務正在發(fā)送,是則轉入步驟211,否則轉入步驟212;步驟211、搶占不可靠服務,不可靠服務將停止發(fā)送,轉入步驟212;步驟212、通過擴展的滑動窗口機制向接收方發(fā)送數(shù)據(jù)幀;步驟213、判斷是否收到擁塞控制消息,如果是則轉入步驟214,否則轉入步驟215;步驟214、根據(jù)擁塞消息或解擁塞消息減小或增大發(fā)送滑窗的大小,轉入步驟215;步驟215、判斷虛擬通訊鏈路是否異常斷鏈,是則轉入步驟216,否則轉入步驟220;步驟216、判斷相應會話是否有效,否則轉入步驟217,是則轉入步驟218;步驟217、釋放該會話,并重新建立虛擬鏈路,轉入步驟220;步驟218、保存該會話,并重新建立虛擬鏈路;步驟219、從斷點開始傳輸數(shù)據(jù);步驟220、完成數(shù)據(jù)傳輸。
圖3是本發(fā)明實施例的具體實施過程中接收方工作流程示意圖,如圖所示,接收方的工作流程為步驟301、為網(wǎng)絡中的各節(jié)點定制需要與該節(jié)點通訊的節(jié)點;步驟302、為所有需要通訊的兩個節(jié)點之間建立虛擬通訊關系;步驟303、為兩個節(jié)點之間的每對虛擬通訊關系建立一條虛擬通訊鏈路,每條虛擬通訊鏈路維護物理上的一對節(jié)點間的會話;步驟304、根據(jù)不同通訊服務的質量要求,為不同通訊服務賦予不同的優(yōu)先級;步驟305、從下層接收數(shù)據(jù)并判斷是否使用實時可靠的服務,否則轉入步驟306,是則轉入步驟307;
步驟306、直接交給上層應用;步驟307、通過擴展的滑動窗口機制接收數(shù)據(jù)幀;步驟308、判斷下層接收緩沖區(qū)是否接近滿,是則轉入步驟309,否則轉入步驟310;步驟309、向上游發(fā)送方發(fā)送擁塞消息,轉入步驟310;步驟310、判斷下層接收緩沖區(qū)是否接近空,是則轉入步驟311,否則轉入步驟312;步驟311、向上游發(fā)送方發(fā)送解擁塞消息,轉入步驟312;步驟312、完成數(shù)據(jù)接收,交給上層應用。
在采用本發(fā)明中,由于引入了流量控制策略,有效解決了由于UDP自身特點導致通訊的不可靠問題。是一種綜合了TCP通訊的可靠性和UDP通訊實時性的優(yōu)點的傳輸方法,合理使用它提供的不同質量的通訊服務,可以大大提高移動通訊設備中嵌入式單板間實時數(shù)據(jù)傳輸?shù)臉I(yè)務質量,從而提高整個系統(tǒng)的性能。能夠資源有限的條件下,為多個以太網(wǎng)節(jié)點之間的網(wǎng)狀通訊提供實時確定的數(shù)據(jù)傳輸。
權利要求
1.一種實時確定傳輸?shù)囊蕴W(wǎng)通訊方法,其特征在于,包括如下步驟為網(wǎng)絡中的各節(jié)點定制需要與該節(jié)點通訊的節(jié)點;為所有需要通訊的兩個節(jié)點之間建立虛擬通訊關系;為兩個節(jié)點之間的每對虛擬通訊關系建立一條虛擬通訊鏈路,每條虛擬通訊鏈路維護物理上的一對節(jié)點間的會話;根據(jù)不同通訊服務的質量要求,為不同通訊服務賦予不同的優(yōu)先級;由高優(yōu)先級的通訊服務搶占低優(yōu)先級的通訊服務來傳輸數(shù)據(jù)。
2.如權利要求1所述的方法,其特征在于,進一步包括如下步驟當移動通訊設備負荷突發(fā)激增時,犧牲低優(yōu)先級的通信負荷來保證高優(yōu)先級通訊服務的數(shù)據(jù)傳輸。
3.如權利要求1所述的方法,其特征在于,所述虛擬通訊關系是通過創(chuàng)建套接字來收發(fā)報文從而提供數(shù)據(jù)傳輸服務的。
4.如權利要求1所述的方法,其特征在于,所述根據(jù)不同通訊服務的質量要求,為不同通訊服務賦予不同的優(yōu)先級的步驟,是將實時可靠服務確定為高優(yōu)先級服務,將不可靠服務確定為低優(yōu)先級服務。
5.如權利要求4所述的方法,其特征在于,所述實時可靠服務的數(shù)據(jù)傳輸采用滑動窗口來進行流量控制。
6.如權利要求5所述的方法,其特征在于,所述實時可靠服務的數(shù)據(jù)傳輸,當接收緩沖區(qū)快滿時,發(fā)送擁塞消息給上游發(fā)送方,縮小發(fā)送滑動窗口的大小調整流量;當接收緩沖區(qū)接近空時,發(fā)送解擁塞消息給發(fā)送方,擴大上游發(fā)送滑動窗口大小調整流量。
7.如權利要求1所述的方法,其特征在于,所述由高優(yōu)先級的通訊服務搶占低優(yōu)先級的通訊服務來傳輸數(shù)據(jù)的步驟,包括高優(yōu)先級服務檢查當前是否有其他正在傳送數(shù)據(jù)的通訊服務;如果確定當前正在傳送數(shù)據(jù)的通訊服務是低優(yōu)先級服務,則進行搶占。
8.如權利要求1所述的方法,其特征在于,進一步包括如下步驟設置數(shù)據(jù)重發(fā)次數(shù)限制和心跳時間限制;當數(shù)據(jù)重發(fā)次數(shù)超過設置限制或心跳超時時,將虛擬通訊鏈路拆除。
9.如權利要求8所述的方法,其特征在于,進一步包括如下步驟當所述虛擬通訊鏈路上的數(shù)據(jù)傳輸因重發(fā)超限和心跳超時導致鏈路拆除后,相應的虛擬通訊關系保存拆鏈前的信息,維持這組會話;在重新建鏈的過程中,雙方將保存的會話消息發(fā)送給對方校正,并建立新的虛擬通訊鏈路;利用新建立的虛擬通信鏈路,從上次中斷處重新開始數(shù)據(jù)傳輸。
10.如權利要求9所述的方法,其特征在于,進一步包括如下步驟當因不可預知的異常導致會話時效時,徹底釋放該會話。
全文摘要
本發(fā)明公開了一種實時確定傳輸?shù)囊蕴W(wǎng)通訊方法,包括為網(wǎng)絡中的各節(jié)點定制需要與該節(jié)點通訊的節(jié)點;為所有需要通訊的兩個節(jié)點之間建立虛擬通訊關系;為兩個節(jié)點之間的每對虛擬通訊關系建立一條虛擬通訊鏈路,每條虛擬通訊鏈路維護物理上的一對節(jié)點間的會話;根據(jù)不同通訊服務的質量要求,為不同通訊服務賦予不同的優(yōu)先級;由高優(yōu)先級的通訊服務搶占低優(yōu)先級的通訊服務來傳輸數(shù)據(jù);當移動通訊設備負荷突發(fā)激增時,犧牲低優(yōu)先級的通信負荷來保證高優(yōu)先級通訊服務的數(shù)據(jù)傳輸。本發(fā)明擴展了UDP的通訊功能,依靠滑動窗口機制及擁塞控制策略來進行流量控制,支持斷點續(xù)傳,能提供實時確定的數(shù)據(jù)傳輸?shù)臉I(yè)務質量,以及整個系統(tǒng)的性能。
文檔編號H04L29/06GK101030959SQ20061005780
公開日2007年9月5日 申請日期2006年2月27日 優(yōu)先權日2006年2月27日
發(fā)明者劉晨吉, 王國兵, 朱凈 申請人:中興通訊股份有限公司