国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      報文傳輸方法及系統(tǒng)的制作方法

      文檔序號:7710363閱讀:195來源:國知局
      專利名稱:報文傳輸方法及系統(tǒng)的制作方法
      技術領域
      本發(fā)明涉及進程間通信技術,尤其涉及一種應用于進程間通信的 報文傳輸方法及系統(tǒng)。
      背景技術
      在現(xiàn)代分布式通信系統(tǒng)中,進程間通信機制提供在同 一主機或不 同主機中不同進程之間的信息通信通道,起到信息同步、通告事件等 作用。高效可靠的進程間通信機制保證了分布式系統(tǒng)的對事件的響應 速度和不同進程之間的協(xié)同能力,是保證系統(tǒng)整體性能的關鍵技術之 一。目前,隨著計算機芯片技術的發(fā)展,單機單芯片的性能已經(jīng)發(fā)展 到極限。為了進一步提升計算性能,以多核多框為特征的大規(guī)模集群 計算機系統(tǒng)是發(fā)展趨勢。在這樣的系統(tǒng)中,進程間通信變成了制約系 統(tǒng)整體性能的主要瓶頸。TIPC是一個專門用于集群通信設備系統(tǒng)的進程間通信協(xié)議。 TIPC與傳統(tǒng)的通信協(xié)議(例如TCP, UDP等)相比,TIPC采用相 對簡單的可靠機制,充分利用大容量和高可靠性的集群網(wǎng)絡的性能優(yōu) 勢,在保證高可靠性的同時,也提供了高性能和高擴展性。在多家公 司(WindRiver, Nortel等)的推動下,TIPC有可能成為集群通信系統(tǒng)中 進程間通信協(xié)議的標準。TIPC采用了基于NACK的可靠機制。其特點為在一個通信的 兩端,當一個報文由發(fā)送端發(fā)給接收端后,由接收端通過查看接收到 的報文序列號的連續(xù)性來判斷前面發(fā)送的報文中是否有丟失,如果丟 失,則發(fā)送非確認(No Acknowledgement,簡稱NACK)報文給發(fā)送 端請求重傳。發(fā)送端接收到NACK報文后,則立即重傳被請求的報文。 同時,每發(fā)送一個報文后,發(fā)送端需要保留該報文的拷貝用于后續(xù)可能的重傳。接收端在成功接收到報文后,需要給發(fā)送端發(fā)送表示接收成功的確認(Acknowledgement,簡稱ACK)報文。這樣發(fā)送端可以釋 放已經(jīng)成功發(fā)送的報文的拷貝,騰出資源發(fā)送新的報文。TIPC中的兩個關鍵技術點使得基于NACK的可靠機制能夠保證 報文傳輸?shù)目煽啃?,同時還能滿足高性能和高擴展性的要求,如下1、鏈路連續(xù)探測定時器(Link continuity timer,簡稱LCT)TIPC中的一個通信端點有一個LCT。每當LCT超時,如果在 定時期間沒有收到對端的任何報文,該端點發(fā)送 一 個探測報文 (probing message)到對端。LCT起到了如下四個定時器的作用,節(jié)約 了通信端點維護多個定時器的資源。1)?;疃〞r器(keep-alive timer)。通信兩端在沒有有效信息需要 傳送時,LCT超時發(fā)送的探測報文可以讓對端知道本端點是否還存 在。2 )才艮文重傳定時器(retransmission timer)。參見圖1, 3口果、沒有 后續(xù)報文的發(fā)送,接收端無法通過檢測報文序列號連續(xù)性來探測最后 一個報文的丟失。此時,發(fā)送端的LCT超時發(fā)送的探測報文能夠讓接 收端發(fā)現(xiàn)報文序列號的空隙,從而接收端可以發(fā)現(xiàn)最后一個報文丟失, 請求重傳,這樣LCT保證了丟失報文能夠在一定的時延內(nèi)重傳。3) 接續(xù)傳輸定時器(persist timer )。參見圖2,在接收端接收 窗口滿時,發(fā)送端不能繼續(xù)發(fā)送報文。此時,如果接收端沒有有效數(shù) 據(jù)發(fā)送,而且也確認了所有接收到的報文,接收端不會發(fā)送數(shù)據(jù)報文 給發(fā)送端。這種情況下,即使當接收端的接收窗口開始有空閑時,發(fā) 送端仍然無法繼續(xù)發(fā)送數(shù)據(jù)。此時,接收端LCT超時會發(fā)送探測報文 給發(fā)送端,從而通知了當前接收窗口狀態(tài),使得發(fā)送端繼續(xù)發(fā)送數(shù)據(jù)。 此時,LCT起到了接續(xù)傳輸?shù)淖饔谩?) ACK延時定時器(delayed ACK timer)。參見圖3,為了節(jié) 約ACK花費的網(wǎng)絡資源,TIPC規(guī)定在接收端成功接收到IO個報文 以后才返回一個ACK報文給發(fā)送端。如果發(fā)送端發(fā)送不到IO個報文, 接收端不會發(fā)送ACK。此時,當接收端LCT超時,接收端的探測報文攜帶ACK信息給發(fā)送方。因此,LCT起到了延時ACK的作用。 2、 NACK的觸發(fā)機制每次接收到報文后,接收端需要檢查其序列號的連續(xù)性。如果其 序列號和前面接收的報文存在空隙,接收端認為有報文丟失。此時, 接收端將該報文放到一個延遲報文隊列,同時發(fā)送NACK請求重傳。 為了找到性能和可擴展性的折衷,TIPC規(guī)定了如下兩條NACK觸發(fā) 條件1) 當發(fā)現(xiàn)丟失報文,并且延遲報文隊列為空時,立即發(fā)送NACK。2) 延遲隊列不為空時,當累計8次發(fā)現(xiàn)丟失報文時發(fā)送一個 NACK。該條件抑制了接收端可能發(fā)送的NACK數(shù)量,節(jié)約了多余的 NACK以及其觸發(fā)的重傳報文浪費的網(wǎng)絡資源。在上述TIPC的兩個關鍵技術點中,存在如下問題1) LCT的可擴展性問題。如前所述,因為LCT在TIPC可靠機 制中起到了四個定時器的作用,其中,重傳定時器和接續(xù)傳輸定時器 的作用尤為重要。為了保證了傳輸?shù)耐掏侣?,LCT需要很短,這樣能 夠保證丟失報文可以被快速重傳,以及由于滿接收窗口暫停的數(shù)據(jù)傳 輸可以快速恢復。目前,TIPC規(guī)定LCT為一個定長的時間間隔,最 長不超過500ms。目前缺省為200ms。由于每次LCT超時都要發(fā)送探 測報文,快速LCT是性能的保證。然而,也導致在沒有數(shù)據(jù)傳輸時產(chǎn) 生過多的無用探測報文,浪費了帶寬資源,導致可擴展性問題。2) NACK觸發(fā)機制導致冗長重傳延時。參見圖4,如果報文3 和5丟失,報文6為最后一個數(shù)據(jù)報文。根據(jù)TIPC中NACK觸發(fā)的 兩個條件,當接收報文6時發(fā)現(xiàn)報文5丟失時,由于延遲報文隊列不 為空,不能立即發(fā)送NACK。此后,需要再等待7個探測報文后才能 發(fā)送被重傳,這樣會導致冗長重傳延時。發(fā)明內(nèi)容本發(fā)明的目的是提出一種報文傳輸方法及系統(tǒng),能夠減少過多的 無用探測消息造成的帶寬資源浪費。為實現(xiàn)上述目的,本發(fā)明實施例提供了一種報文傳輸方法,包括以下步驟當本端的動態(tài)調(diào)整同步定時器(Dynamic Synchronization Timer,簡稱DST)超時時,如果在當前定時間隔內(nèi)沒有接收到對端 的報文,則向對端發(fā)送探測報文,并延長DST的定時間隔,然后重啟 DST。進一步的,還包括以下步驟對端根據(jù)接收的探測報文檢測到報 文丟失時,向本端返回NACK才艮文。為實現(xiàn)上述目的,本發(fā)明實施例提供了一種報文傳輸系統(tǒng),包括 DST,還包括探測報文發(fā)送模塊,用于在DST超時時,如果在當前定時間隔 內(nèi)沒有接收到對端的報文,則向對端發(fā)送探測才艮文;定時間隔動態(tài)調(diào)整模塊,用于在DST超時時,延長DST的定時 間隔,然后重啟DST。進一步的,還包括NACK報文觸發(fā)模塊,用于在根據(jù)接收的探 測報文檢測到報文丟失時,返回NACK報文?;谏鲜黾夹g方案,本發(fā)明實施例在DST超時的時候,延長DST 的定時間隔,這樣就使得在沒有報文傳輸時以比較長的定時間隔發(fā)送 探測報文,避免了過多的無用探測才艮文產(chǎn)生,從而節(jié)省了帶寬資源。 在另一實施例中,根據(jù)接收的探測報文檢測到報文丟失時返回NACK 報文,保證了 NACK報文的快速重傳,同時由于DST對探測報文的 時延,可以避免過多的NACK被觸發(fā)導致網(wǎng)絡負載增加。


      此處所說明的附圖用來提供對本發(fā)明的進一步理解,構成本申請 的一部分,本發(fā)明的示意性實施例及其說明用于解釋本發(fā)明,并不構 成對本發(fā)明的不當限定。在附圖中圖1為現(xiàn)有技術中LCT起到報文重傳定時器的作用的示意圖。 圖2為現(xiàn)有技術中LCT起到接續(xù)傳輸定時器的作用的示意圖。圖3為現(xiàn)有技術中LCT起到ACK延時定時器的作用的示意圖。 圖4為現(xiàn)有技術中NACK觸發(fā)機制導致冗長的重傳延時的示意圖。圖5為本發(fā)明報文傳輸方法的一實施例中DST的調(diào)整定時間隔 的流程示意圖。圖6為本發(fā)明報文傳輸方法的另一實施例的流程示意圖。 圖7為本發(fā)明報文傳輸方法的又一實施例的流程示意圖。 圖8為本發(fā)明報文傳輸系統(tǒng)的一實施例的結構示意圖。
      具體實施方式
      下面通過附圖和實施例,對本發(fā)明的技術方案做進一步的詳細描述。本發(fā)明實施例針對TIPC中快速的LCT在沒有報文傳輸時產(chǎn)生 過多的無用探測報文而耗費帶寬資源的問題,提出了使用DST取代 TIPC原有的速率恒定的鏈路連續(xù)探測定時器(LCT)。根據(jù)前面對LCT起到了 4個定時器功能的分析,可以看出通信 兩端并不總是需要快速的定時器來保證性能。在本發(fā)明實施例中,本 端的DST超時時,如果在該DST的當前定時間隔內(nèi)沒有接收到對端 的報文,則向對端發(fā)送探測報文,并延長DST的定時間隔,并重啟 DST。這樣就可以在沒有報文傳輸時,將DST的定時間隔延長,與現(xiàn) 有技術的LCT相比,延長后的定時間隔使得探測報文的發(fā)出間隔增 加,進而減少探測報文數(shù)量,獲得長定時間隔帶來的對資源的節(jié)約。所謂本端和對端分別指的是本地通信端點和對方通信端點,這些通信端點可以為各種具有通信能力的設備,例如PC、移動終端等。 定時間隔可以預先被設置為兩個以上級別,在每次本端的DST超時時,都延長DST的定時間隔到預設下一級的定時間隔,直到定時間隔的預設最大值所對應的級別為止。如圖5所示,為本發(fā)明報文傳輸方法的一實施例中DST的調(diào)整定時間隔的流程示意圖。在本實施例中,可以設置一個全局變量crucial—level標識DST的定時間隔的當前級別,并i殳置兩個恒量MAX—CRUCIAL—LEVEL (default = 5): crucialjevel的最大值 MAX_SYNC_TIMEOUT (default-6.4seconds):動態(tài)調(diào)整同步定時器的最長定時。當DST超時時,如果在當前的定時間隔中沒有接收到對端的報文,則向對端發(fā)送一個探測報文,并執(zhí)行以下步驟 步驟101、將crucial—level減一;步驟102、判斷crucial—level是否小于零,是則執(zhí)行步驟103, 否則執(zhí)行步驟104;步驟103、如果crucial—level小于零,則重置crucialjevel為0;步驟 104 、 將DST 的定時間隔延長為 timeout = MAX—SYNC—TIMEOUT/(2Acmcial_level),并重啟DST。在本實施例中,DST的定時間隔在多次超時后從最小值以指數(shù)方 式增長為最大值。之后,如果沒有發(fā)生需要快速定時的狀態(tài)變化觸發(fā) 的情況,則保持DST的定時間隔恒定不變。在另一實施例中,同步定 時器的各個級別的相鄰級別也可以以線性方式從最小值增長到最大 值,或按照預設的多個從最小值增長到最大值的定時間隔的離散值。在本實施例中,DST的定時間隔逐漸增大。每次本端的DST超 時,如果在DST的當前定時間隔內(nèi)沒有發(fā)送報文,本端會向對端發(fā)送 探測報文(Probing message ),對端接收到該探測報文后,能夠檢測 到丟失報文,或恢復中斷的報文發(fā)送。因此,希望對端能夠盡早接收 到該探測報文。然而,該報文的傳輸是不可靠的。采用這種DST的定 時間隔逐漸增大的方案,探測報文越早被發(fā)送的定時間隔越短,這樣 保證即使頭幾個探測報文被丟失的情況下,對端也能夠較早地接收到 探測報文。另外, 一旦對端接收到探測報文,后續(xù)探測報文都是冗余 的,因此后續(xù)報文發(fā)送間隔逐漸增大,保證不會過度發(fā)送冗余的探測 報文,同時也起到保活(Keepalive)和ACK延時定時器的作用。在檢測到狀態(tài)變化為需要快速定時的狀態(tài)的事件時,在本發(fā)明的 另一實施例中提供了處理流程,即判斷DST的當前定時間隔是否為預設最小值,如果所述當前定時間隔非預設最小值,則設置所述定時間隔為預設最小值,并重啟DST。如圖6所示,為本發(fā)明報文傳輸方法 的另一實施例的流程示意圖。DST作為重傳定時器和接續(xù)傳輸定時器 時,需要快速的定時器以保證丟包后的快速檢測和重傳以及接收窗口 從滿變?yōu)榭臻e后報文傳輸?shù)目焖倩謴?。在本實施例中,當本端檢測數(shù) 據(jù)報文發(fā)出的事件或本端檢測接收窗口由滿變空閑的事件時,執(zhí)行以 下步驟步驟201、如果crucial—level不等于MAX—CRUCIAL—LEVEL, 則設置crucial—level為MAX—CRUCIAL—LEVEL, timeout=MAX— SYNC—TIMEOUT/2Acrucial—level;步驟202、判斷下次DST的定時間隔是否小于timeout,是則結 束操作,否則執(zhí)行步驟203;步驟203 、 定時器的定時間隔延長為 MAX—SYNC— TIMEOUT/(2AMAX—CRUCIAL—LEVEL),缺省為(6.4/32=200ms ), 并重啟DST。在本實施例中,在出現(xiàn)需要快速定時器的兩個狀態(tài)變化點的時 候,即本端發(fā)出數(shù)據(jù)報文和本端的接收窗口從滿變?yōu)橛锌臻e時,將DST 的定時間隔設為最短。在其余時間,則DST的定時間隔逐漸延長,直 到設定的最大值。這樣,既能保證在關鍵時刻短定時器帶來的高性能, 也能獲得其余時間長定時器帶來的對資源的節(jié)約,找到性能和可擴展 性的最好平衡點。針對現(xiàn)有TIPC的NACK觸發(fā)條件可能導致長重傳延時的問題, 在本發(fā)明的另一實施例中,還可以在現(xiàn)有的NACK觸發(fā)機制中,加入 如下觸發(fā)條件對端(即接收端點)根據(jù)接收的探測報文檢測到報文 丟失時,向本端(即發(fā)出探測報文的發(fā)送端點)立即返回NACK報文。 該條件保證快速重傳,同時由于DST對探測報文的時延,可以避免過 多的NACK被觸發(fā)導致網(wǎng)絡負載增加。如圖7所示,為本發(fā)明報文傳 輸方法的又一實施例的流程示意圖。在本實施例中,接收端檢測到報 文丟失時,執(zhí)行以下步驟步驟301、對端根據(jù)接收到的探測報文判斷該報文丟失是否為第 一次檢測到,是則執(zhí)行步驟302,否則執(zhí)行步驟303,所述報文丟失是 否為第 一 次檢測到的判斷方式在于檢查該報文對應的序列 defer一queue是否存在,如果該報文第一次被檢測到,則該報文并不屬 于任何的defer—queue序歹'J ,因此則不存在對應的defer_queue,而且 當該報文第一次被檢測到后,則建立對應的defer 畫queue序歹'J, 以便 當該,報文在之后再次^皮檢測到時可以確認為非第 一次檢測到;步驟302、對端設置丟失報文檢測計數(shù)器defer_count為0;步驟303、判斷計數(shù)器defer—count是否為8的整數(shù)倍,是則執(zhí) 行步驟305,否則執(zhí)行步驟304;步驟304、判斷該報文丟失是否是根據(jù)接收的探測報文檢測到報 文丟失,是則執(zhí)行步驟305,否則執(zhí)行步驟306;步驟305、對端向本端返回NACK報文。例如,在圖4的例子中, 當重傳報文3到達后,計數(shù)器重置為0,則在下一個探測報文到達時 立即發(fā)送NACK。這樣的機制解決了原有TIPC的NACK觸發(fā)機制導 致的長重傳時延問題。步驟306、該計數(shù)器defer—count力口 1。本領域普通技術人員可以理解實現(xiàn)上述方法實施例的全部或部 分步驟可以通過程序指令相關的硬件來完成,前述的程序可以存儲于 一計算機可讀取存儲介質中,該程序在執(zhí)行時,執(zhí)行包括上述方法實 施例的步驟;而前述的存儲介質包括ROM、 RAM、磁碟或者光盤 等各種可以存儲程序代碼的介質。如圖8所示,為本發(fā)明報文傳輸系統(tǒng)的一實施例的結構示意圖。 本實施例包括DST 1,還包括探測報文發(fā)送模塊2,用于在DST 1 超時時,如果在當前定時間隔內(nèi)沒有接收到對端的報文,則向對端發(fā) 送探測報文;定時間隔動態(tài)調(diào)整模塊3,用于在DST1超時時,延長 DST1的定時間隔,然后重啟DST1。在本實施例中,在沒有數(shù)據(jù)傳輸時,將DST1的定時間隔延長, 使得探測報文的發(fā)出間隔增加,進而減少探測報文數(shù)量,獲得長定時間隔帶來的對資源的節(jié)約。在另一系統(tǒng)實施例中,系統(tǒng)還可以包括第二調(diào)整模塊,負責在檢測到狀態(tài)變化為需要快速定時的狀態(tài)的事件時,判斷DST的當前定時 間隔是否為預設最小值,如果所述當前定時間隔非預設最小值,則設 置所述定時間隔為預設最小值,并重啟DST。這樣,既能保證在關鍵 時刻短定時器帶來的高性能,也能獲得其余時間長定時器帶來的對資 源的節(jié)約,找到性能和可擴展性的最好平衡點??蛇x的,在又一個系統(tǒng)實施例中,系統(tǒng)還可以包括NACK報文 觸發(fā)模塊,可以在根據(jù)接收的探測報文檢測到報文丟失時,返回NACK 報文。這樣的機制解決了原有TIPC的NACK觸發(fā)機制導致的長重傳 時延問題。最后應當說明的是:以上實施例僅用以說明本發(fā)明的技術方案而 非對其限制;盡管參照較佳實施例對本發(fā)明進行了詳細的說明,所屬 領域的普通技術人員應當理解依然可以對本發(fā)明的具體實施方式
      進 行修改或者對部分技術特征進行等同替換;而不脫離本發(fā)明技術方案 的精神,其均應涵蓋在本發(fā)明請求保護的技術方案范圍當中。
      權利要求
      1、一種報文傳輸方法,其特征在于,包括當本端的動態(tài)調(diào)整同步定時器超時時,如果在當前定時間隔內(nèi)沒有接收到對端的報文,則向對端發(fā)送探測報文,并延長所述動態(tài)調(diào)整同步定時器的定時間隔,然后重啟所述動態(tài)調(diào)整同步定時器。
      2、 根據(jù)權利要求1所述的報文傳輸方法,其特征在于,所述延 長動態(tài)調(diào)整同步定時器的定時間隔的步驟具體為
      3、 根據(jù)權利要求2所述的報文傳輸方法,其特征在于,還包括 設置所述動態(tài)調(diào)整同步定時器的兩個以上級別的定時間隔的操作,所 述兩個以上級別的定時間隔中的相鄰級別的定時間隔按指數(shù)方式增 長。
      4、 根據(jù)權利要求1所述的報文傳輸方法,其特征在于,還包括, 在檢測到狀態(tài)變化為需要快速定時的狀態(tài)的事件時,判斷所述動態(tài)調(diào) 整同步定時器的當前定時間隔是否為預設最小值,如果所述當前定時 間隔非預設最小值,則設置所述定時間隔為預設最小值,并重啟所述 動態(tài)調(diào)整同步定時器。
      5、 根據(jù)權利要求4所述的報文傳輸方法,其特征在于,檢測狀 態(tài)變化為需要快速定時的狀態(tài)的事件的操作具體為本端檢測數(shù)據(jù)報文發(fā)出的事件或本端檢測接收窗口由滿變空閑 的事件。
      6、 根據(jù)權利要求1-5任一所述的報文傳輸方法,其特征在于, 還包括以下步驟對端根據(jù)接收的探測報文檢測到報文丟失時,向本端返回NACK報文。
      7、 一種報文傳輸系統(tǒng),其特征在于,包括動態(tài)調(diào)整同步定時器, 還包括探測報文發(fā)送模塊,用于在所述動態(tài)調(diào)整同步定時器超時時,如果在當前定時間隔內(nèi)沒有接收到對端的報文,則向對端發(fā)送探測報文; 定時間隔動態(tài)調(diào)整模塊,用于在所述動態(tài)調(diào)整同步定時器超時 時,延長所述動態(tài)調(diào)整同步定時器的定時間隔,然后重啟所述動態(tài)調(diào) 整同步定時器。
      8、 根據(jù)權利要求7所述的報文傳輸系統(tǒng),其特征在于,還包括 第二調(diào)整模塊,用于在檢測到狀態(tài)變化為需要快速定時的狀態(tài)的事件時,判斷所述動態(tài)調(diào)整同步定時器的當前定時間隔是否為預設最小值, 如果所述當前定時間隔非預設最小值,則設置所述定時間隔為預設最 小值,并重啟所述動態(tài)調(diào)整同步定時器。
      9、 根據(jù)權利要求7或8所述的報文傳輸系統(tǒng),其特征在于,還 包括NACK報文觸發(fā)模塊,用于在根據(jù)接收的探測報文檢測到報文丟 失時,返回NACK才艮文。
      全文摘要
      本發(fā)明涉及一種報文傳輸方法,包括以下步驟當本端的動態(tài)調(diào)整同步定時器超時時,如果在當前定時間隔內(nèi)沒有接收到對端的報文,則向對端發(fā)送探測報文,并延長所述動態(tài)調(diào)整同步定時器的定時間隔,然后重啟所述動態(tài)調(diào)整同步定時器。本發(fā)明還涉及一種報文傳輸系統(tǒng)。本發(fā)明在DST超時的時候,延長DST的定時間隔,這樣就使得在沒有數(shù)據(jù)傳輸時以比較長的定時間隔發(fā)送探測報文,避免了過多的無用探測報文產(chǎn)生,從而節(jié)省了帶寬資源。
      文檔編號H04L1/18GK101594308SQ20091015815
      公開日2009年12月2日 申請日期2009年7月3日 優(yōu)先權日2009年7月3日
      發(fā)明者劍 邱 申請人:華為技術有限公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1