一種報文控制方法及裝置的制造方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及通信技術(shù)領(lǐng)域,尤其涉及一種報文控制方法及裝置。
【背景技術(shù)】
[0002]在分布式設(shè)備中,各節(jié)點之間需要通過板間通道進行配置信息同步、控制消息下發(fā)、狀態(tài)信息上報等通信服務(wù)。但是由于不同節(jié)點的處理能力和運行業(yè)務(wù)往往存在差異,如主控板和業(yè)務(wù)板的CPU處理能力可能不同,主控板主要運行管理和控制類業(yè)務(wù),業(yè)務(wù)板主要運行數(shù)據(jù)轉(zhuǎn)發(fā)類業(yè)務(wù),因此不同節(jié)點對板間通信消息的吞吐能力也有差別,從而影響到節(jié)點之間傳輸性能,降低了分布式設(shè)備的業(yè)務(wù)效率和穩(wěn)定性。
【發(fā)明內(nèi)容】
[0003]有鑒于此,本發(fā)明提供一種報文控制方法及裝置來解決節(jié)點之間因吞吐能力不同造成的傳輸性能較差的問題。
[0004]具體地,本發(fā)明是通過如下技術(shù)方案實現(xiàn)的:
[0005]本發(fā)明提供一種報文控制方法,所述方法應(yīng)用于分布式設(shè)備中的節(jié)點,所述方法包括:
[0006]當(dāng)收到報文時,檢測數(shù)據(jù)緩沖區(qū)的存儲量;
[0007]當(dāng)所述數(shù)據(jù)緩沖區(qū)的存儲量大于等于預(yù)設(shè)上限時,進行流量控制。
[0008]進一步的,所述數(shù)據(jù)緩沖區(qū)包括發(fā)送緩沖區(qū),
[0009]所述當(dāng)收到報文時,檢測數(shù)據(jù)緩沖區(qū)的存儲量,具體包括:
[0010]當(dāng)本節(jié)點的傳輸層收到本節(jié)點的應(yīng)用層發(fā)送的報文時,檢測所述發(fā)送緩沖區(qū)的存儲量;
[0011]所述當(dāng)所述數(shù)據(jù)緩沖區(qū)的存儲量大于等于預(yù)設(shè)上限時,進行流量控制,具體包括:
[0012]當(dāng)所述發(fā)送緩沖區(qū)的存儲量大于等于預(yù)設(shè)上限時,拒絕接收所述應(yīng)用層發(fā)送的報文。
[0013]進一步的,所述拒絕接收所述應(yīng)用層發(fā)送的報文,包括:
[0014]向應(yīng)用層返回接收失敗消息,或者將所述報文對應(yīng)的應(yīng)用掛起。
[0015]進一步的,所述方法還包括:
[0016]當(dāng)所述發(fā)送緩沖區(qū)的存儲量小于預(yù)設(shè)上限時,開始接收所述應(yīng)用層發(fā)送的報文。
[0017]進一步的,所述數(shù)據(jù)緩沖區(qū)包括接收緩沖區(qū),
[0018]所述當(dāng)收到報文時,檢測數(shù)據(jù)緩沖區(qū)的存儲量,具體包括:
[0019]當(dāng)本節(jié)點的傳輸層收到對端節(jié)點發(fā)送的報文時,檢測所述接收緩沖區(qū)的存儲量;
[0020]所述當(dāng)所述數(shù)據(jù)緩沖區(qū)的存儲量大于等于預(yù)設(shè)上限時,進行流量控制,具體包括:
[0021]當(dāng)所述接收緩沖區(qū)的存儲量大于等于預(yù)設(shè)上限時,向所述對端節(jié)點發(fā)送流量控制請求,以使所述對端節(jié)點停止發(fā)送報文。
[0022]進一步的,所述方法還包括:
[0023]當(dāng)所述接收緩沖區(qū)的存儲量小于警戒值時,向所述對端節(jié)點發(fā)送解除流控請求,以使所述對端節(jié)點開始發(fā)送報文,所述警戒值小于預(yù)設(shè)上限.
[0024]進一步的,所述方法還包括:當(dāng)本節(jié)點的傳輸層收到對端節(jié)點發(fā)送的流量控制請求時,停止向所述對端節(jié)點發(fā)送報文;當(dāng)收到所述對端節(jié)點發(fā)送的解除流控請求時,開始向所述對端節(jié)點發(fā)送報文。
[0025]基于相同的構(gòu)思,本發(fā)明還提供一種報文控制裝置,所述裝置應(yīng)用于分布式設(shè)備中的節(jié)點,所述裝置包括:
[0026]存儲檢測單元,用于在收到報文時,檢測數(shù)據(jù)緩沖區(qū)的存儲量;
[0027]流量控制單元,用于在所述數(shù)據(jù)緩沖區(qū)的存儲量大于等于預(yù)設(shè)上限時,進行流量控制。
[0028]進一步的,所述數(shù)據(jù)緩沖區(qū)包括發(fā)送緩沖區(qū),
[0029]所述存儲檢測單元,具體用于在本節(jié)點的傳輸層收到本節(jié)點的應(yīng)用層發(fā)送的報文時,檢測所述發(fā)送緩沖區(qū)的存儲量;
[0030]所述流量控制單元,具體用于在所述發(fā)送緩沖區(qū)的存儲量大于等于預(yù)設(shè)上限時,拒絕接收所述應(yīng)用層發(fā)送的報文。
[0031]進一步的,所述拒絕接收所述應(yīng)用層發(fā)送的報文,包括:
[0032]向應(yīng)用層返回接收失敗消息,或者將所述報文對應(yīng)的應(yīng)用掛起。
[0033]進一步的,所述流量控制單元,還用于在所述發(fā)送緩沖區(qū)的存儲量小于預(yù)設(shè)上限時,開始接收所述應(yīng)用層發(fā)送的報文。
[0034]進一步的,所述數(shù)據(jù)緩沖區(qū)包括接收緩沖區(qū),
[0035]所述存儲檢測單元,具體用于在本節(jié)點的傳輸層收到對端節(jié)點發(fā)送的報文時,檢測所述接收緩沖區(qū)的存儲量;
[0036]所述流量控制單元,具體用于在所述接收緩沖區(qū)的存儲量大于等于預(yù)設(shè)上限時,向所述對端節(jié)點發(fā)送流量控制請求,以使所述對端節(jié)點停止發(fā)送報文。
[0037]進一步的,所述流量控制單元,還用于在所述接收緩沖區(qū)的存儲量小于警戒值時,向所述對端節(jié)點發(fā)送解除流控請求,以使所述對端節(jié)點開始發(fā)送報文,所述警戒值小于預(yù)設(shè)上限。
[0038]進一步的,所述流量控制單元,還用于在本節(jié)點的傳輸層收到對端節(jié)點發(fā)送的流量控制請求時,停止向所述對端節(jié)點發(fā)送報文;當(dāng)收到所述對端節(jié)點發(fā)送的解除流控請求時,開始向所述對端節(jié)點發(fā)送報文。
[0039]由此可見,本發(fā)明可以使節(jié)點通過檢測數(shù)據(jù)緩沖區(qū)的存儲量,以及通過接收或發(fā)送流量控制請求來實時控制流量的發(fā)送和接收。因此可以提高節(jié)點對板間通信消息的傳輸性能,提高分布式設(shè)備的業(yè)務(wù)傳輸效率和穩(wěn)定性。
【附圖說明】
[0040]圖1是本發(fā)明一種示例性實施方式中的一種報文控制方法的處理流程圖;
[0041]圖2是本發(fā)明一種示例性實施方式中的一種水位模型圖;
[0042]圖3a是本發(fā)明一種示例性實施方式中的另一種水位模型圖;
[0043]圖3b是本發(fā)明一種示例性實施方式中的又一種水位模型圖;
[0044]圖4本發(fā)明一種示例性實施方式中的報文控制裝置所在的節(jié)點的硬件結(jié)構(gòu)圖;
[0045]圖5本發(fā)明一種示例性實施方式中的一種報文控制裝置的邏輯結(jié)構(gòu)圖。
【具體實施方式】
[0046]為了解決現(xiàn)有技術(shù)存在的問題,本發(fā)明提供一種報文控制方法及裝置,可以使節(jié)點通過檢測數(shù)據(jù)緩沖區(qū)的存儲量,以及通過流量控制來實時控制流量的發(fā)送和接收。因此可以提高節(jié)點對板間通信消息的傳輸性能,提高分布式設(shè)備的業(yè)務(wù)傳輸效率和穩(wěn)定性。
[0047]請參考圖1,是本發(fā)明一種示例性實施方式中的一種報文控制方法的處理流程圖,其中該方法應(yīng)用于分布式設(shè)備中的節(jié)點。所述方法包括:
[0048]步驟101、當(dāng)收到報文時,檢測數(shù)據(jù)緩沖區(qū)的存儲量;
[0049]在本實施例中,所述節(jié)點可以是分布式設(shè)備中的主控板或業(yè)務(wù)板,這種板卡一般會有自己的數(shù)據(jù)緩沖區(qū)。當(dāng)節(jié)點收到報文時,可以檢測自身數(shù)據(jù)緩沖區(qū)的存儲量。
[0050]步驟102、當(dāng)所述數(shù)據(jù)緩沖區(qū)的存儲量大于等于預(yù)設(shè)上限時,進行流量控制。
[0051]由于數(shù)據(jù)緩沖區(qū)的存儲能力有限,為了保證板卡業(yè)務(wù)的正常運行,可以根據(jù)實際需求對數(shù)據(jù)緩沖區(qū)設(shè)置存儲上限。如果檢測到數(shù)據(jù)緩沖區(qū)的存儲量大于等于預(yù)設(shè)上限時,則可認為數(shù)據(jù)緩沖區(qū)對新報文的緩存能力有限,可能已經(jīng)無法緩存更多的報文,因此需要實施流量控制以保證業(yè)務(wù)的正常運行。
[0052]由此可見,本發(fā)明可以使節(jié)點通過檢測數(shù)據(jù)緩沖區(qū)的存儲量,以及通過流量控制來實時控制流量的發(fā)送和接收。因此可以提高節(jié)點對板間通信消息的傳輸性能,提高分布式設(shè)備的業(yè)務(wù)傳輸效率和穩(wěn)定性。
[0053]在本發(fā)明可選的實施例中,節(jié)點按照業(yè)務(wù)劃分通常具有傳輸層和應(yīng)用層,應(yīng)用層產(chǎn)生數(shù)據(jù)報文后可以通過傳輸層進行發(fā)送,同時傳輸層也可以接收對端節(jié)點發(fā)送的數(shù)據(jù)報文。因此一個節(jié)點既可以作為流量發(fā)送端,又可以作為流量的接收端。節(jié)點的數(shù)據(jù)緩沖區(qū)通常包括發(fā)送緩沖區(qū)和接收緩沖區(qū),發(fā)送緩沖區(qū)用于接收本端應(yīng)用層的報文并向?qū)Χ说膫鬏攲影l(fā)送報文,接收緩沖區(qū)用于接收對端傳輸層發(fā)送的報文并將報文發(fā)送到本端應(yīng)用層,對端節(jié)點可視為與本端節(jié)點相同的節(jié)點。
[0054]當(dāng)本節(jié)點作為發(fā)送端時,本節(jié)點的傳輸層會收到應(yīng)用層發(fā)送的報文,此