本申請涉及網(wǎng)絡(luò)通信技術(shù)領(lǐng)域,特別涉及一種報文處理方法及裝置。
背景技術(shù):
服務(wù)鏈(Service Chain)技術(shù)是一種引導網(wǎng)絡(luò)業(yè)務(wù)報文按次序通過服務(wù)節(jié)點(Service Node)的轉(zhuǎn)發(fā)技術(shù)。報文按照租戶業(yè)務(wù)邏輯所要求的既定順序,經(jīng)過相應(yīng)的服務(wù)節(jié)點,并由服務(wù)節(jié)點對報文進行處理,這種業(yè)務(wù)形式就是服務(wù)鏈。其中,服務(wù)節(jié)點可以提供防火墻、入侵檢測、負載均衡等業(yè)務(wù)服務(wù)資源。
服務(wù)鏈技術(shù)一般基于覆蓋式(Overlay)技術(shù),結(jié)合SDN(Software Defined Network,軟件定義網(wǎng)絡(luò))集中控制理論,由控制器基于不同的租戶應(yīng)用,通過開放流(OpenFlow)協(xié)議下發(fā)流表,進而控制網(wǎng)絡(luò)中的VXLAN(Virtual eXtensible Local Area Network,虛擬可擴展局域網(wǎng))報文接收服務(wù)鏈處理,并確保報文在服務(wù)鏈內(nèi)各個服務(wù)節(jié)點間傳遞。通常,將進入服務(wù)鏈處理的報文稱為服務(wù)鏈報文,將服務(wù)鏈中報文經(jīng)過的設(shè)備稱為服務(wù)鏈上的設(shè)備,這些設(shè)備可以是接入點,也可以是服務(wù)節(jié)點。例如,圖1為VXLAN網(wǎng)絡(luò)中控制器及服務(wù)鏈上設(shè)備的一種連接示意圖,已知,某服務(wù)鏈報文依次經(jīng)過接入點A、服務(wù)節(jié)點B、服務(wù)節(jié)點A、接入點B,那么上述設(shè)備均稱為該服務(wù)鏈上的設(shè)備。
在進行網(wǎng)絡(luò)規(guī)劃和資源劃分時,通常以租戶為單位??刂破鳛樽鈶舴峙浞?wù)資源。目前,比較常用的服務(wù)資源使用方式為:多個租戶復用同一個服務(wù)資源,即由一個租戶創(chuàng)建資源,其他租戶復用這個服務(wù)資源。
現(xiàn)有技術(shù)中,服務(wù)節(jié)點在處理服務(wù)鏈報文時,通常按照控制器下發(fā)的流表,針對屬于不同租戶的服務(wù)鏈報文,按照服務(wù)鏈報文的到達順序?qū)ζ溥M行先后處理并轉(zhuǎn)發(fā)。
然而,通??梢詫⒆鈶魟澐譃椴煌念愋停?,自費租戶和非自費租戶。其中,自費租戶通常要求較高,希望自己的業(yè)務(wù)可以得到優(yōu)先處理,而按照上述方式進行報文處理時,并未對不同租戶加以區(qū)分,僅僅是按照服務(wù)鏈報文的到達順序進行處理。因此,當應(yīng)用上述方式進行報文處理時,無法對用于處理服務(wù)鏈報文的資源進行合理分配,用戶體驗度不高。
技術(shù)實現(xiàn)要素:
本申請實施例的目的在于提供了一種報文處理方法及裝置,以便合理分配用于處理服務(wù)鏈報文的資源,提高用戶體驗度。具體的技術(shù)方案如下。
為了達到上述目的,本申請公開了一種報文處理方法,應(yīng)用于第一設(shè)備,所述第一設(shè)備為服務(wù)鏈上除與尾服務(wù)節(jié)點相連的接入點之外的設(shè)備,所述方法包括:
接收控制器發(fā)送的第一流表,所述第一流表的匹配項包括所述服務(wù)鏈的服務(wù)鏈標識,動作項包括:在與所述匹配項匹配成功的報文中添加所述服務(wù)鏈對應(yīng)的租戶的優(yōu)先級;
接收匹配成功所述匹配項且未攜帶優(yōu)先級的第一報文;
根據(jù)所述動作項在所述第一報文中添加優(yōu)先級;
轉(zhuǎn)發(fā)添加優(yōu)先級后的第一報文,以使第二設(shè)備按照所述優(yōu)先級處理并轉(zhuǎn)發(fā)添加優(yōu)先級后的第一報文,所述第二設(shè)備為所述服務(wù)鏈上接收到添加優(yōu)先級后的第一報文的設(shè)備。
為了達到上述目的,本申請公開了一種報文處理裝置,應(yīng)用于第一設(shè)備,所述第一設(shè)備為服務(wù)鏈上除與尾服務(wù)節(jié)點相連的接入點之外的設(shè)備,所述裝置包括:
流表接收模塊,用于接收控制器發(fā)送的第一流表,所述第一流表的匹配項包括所述服務(wù)鏈的服務(wù)鏈標識,動作項包括:在與所述匹配項匹配成功的報文中添加所述服務(wù)鏈對應(yīng)的租戶的優(yōu)先級;
報文接收模塊,用于接收匹配成功所述匹配項且未攜帶優(yōu)先級的第一報文;
優(yōu)先級添加模塊,用于根據(jù)所述動作項在所述第一報文中添加優(yōu)先級;
報文轉(zhuǎn)發(fā)模塊,用于轉(zhuǎn)發(fā)添加優(yōu)先級后的第一報文,以使第二設(shè)備按照所述優(yōu)先級處理并轉(zhuǎn)發(fā)添加優(yōu)先級后的第一報文,所述第二設(shè)備為所述服務(wù)鏈上接收到添加優(yōu)先級后的第一報文的設(shè)備。
由上述技術(shù)方案可見,本申請實施例提供的方案中,作為執(zhí)行主體的設(shè)備,接收控制器發(fā)送的第一流表,當接收到與第一流表的匹配項匹配成功且未攜帶優(yōu)先級的第一報文時,根據(jù)第一流表中的動作項在第一報文中添加優(yōu)先級,并轉(zhuǎn)發(fā)添加優(yōu)先級后的第一報文,以使服務(wù)鏈上接收到添加優(yōu)先級后的第一報文的設(shè)備,按照優(yōu)先級處理并轉(zhuǎn)發(fā)添加優(yōu)先級后的第一報文。其中,上述優(yōu)先級為所述服務(wù)鏈對應(yīng)的租戶的優(yōu)先級。由于服務(wù)鏈報文攜帶的優(yōu)先級與租戶是一一對應(yīng)的,能夠表明租戶的級別,按照該優(yōu)先級處理報文,能夠?qū)崿F(xiàn)對不同租戶的區(qū)分,進而實現(xiàn)對用于處理服務(wù)鏈報文的資源進行合理分配。因此,應(yīng)用本申請實施例提供的技術(shù)方案,能夠提高用戶體驗度。
附圖說明
為了更清楚地說明本申請實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單的介紹。顯而易見地,下面描述中的附圖僅僅是本申請的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1為控制器與服務(wù)鏈上設(shè)備的一種連接示意圖;
圖2為本申請實施例提供的報文處理方法的一種流程示意圖;
圖3為服務(wù)鏈報文的一種結(jié)構(gòu)示意圖;
圖4為觸發(fā)控制器發(fā)送第一流表的一種流程示意圖;
圖5本申請實施例提供的報文處理裝置的一種結(jié)構(gòu)示意圖。
具體實施方式
下面將結(jié)合本申請實施例中的附圖,對本申請實施例中的技術(shù)方案進行清楚、完整的描述。顯然,所描述的實施例僅僅是本申請的一部分實施例,而不是全部的實施例?;诒旧暾堉械膶嵤├?,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動的前提下所獲得的所有其他實施例,都屬于本申請保護的范圍。
本申請實施例提供了一種報文處理方法及裝置,能夠合理分配用于處理服務(wù)鏈報文的資源,提高用戶體驗度。
為了更清楚地理解本申請實施例的技術(shù)方案,下面介紹一下本申請所涉及的部分技術(shù)術(shù)語。
服務(wù)鏈報文:通常將進入服務(wù)鏈處理的報文稱為服務(wù)鏈報文,一個服務(wù)鏈報文可能會經(jīng)過至少一個服務(wù)節(jié)點的處理。一個租戶對應(yīng)至少一個服務(wù)鏈,一個服務(wù)鏈對應(yīng)一個租戶,租戶與服務(wù)鏈的對應(yīng)關(guān)系存儲在控制器中。服務(wù)鏈報文采用VXLAN(Virtual eXtensible Local Area Network,虛擬可擴展局域網(wǎng))封裝,并在VXLAN報文頭中標識服務(wù)鏈信息。
服務(wù)節(jié)點:即提供服務(wù)資源的設(shè)備,也是網(wǎng)絡(luò)中處理某種業(yè)務(wù)的設(shè)備,可以是物理設(shè)備,也可以是虛擬設(shè)備。其中,服務(wù)節(jié)點提供的業(yè)務(wù)包括熟知的防火墻(Fire Walls,F(xiàn)W)業(yè)務(wù)、入侵檢測(Intrusion Prevention System,IPS)業(yè)務(wù)和負載均衡(Load Balancing,LB)業(yè)務(wù)等。
租戶:是一個網(wǎng)絡(luò)規(guī)劃和資源劃分的單位,可以基于租戶進行網(wǎng)絡(luò)規(guī)劃和資源劃分。不同的租戶可以分別創(chuàng)建不同的服務(wù)資源,即不同的租戶分別使用不同的服務(wù)資源,也可以多個租戶共用服務(wù)資源,即一個租戶創(chuàng)建資源,其他租戶復用這個資源。
接入點:VXLAN網(wǎng)絡(luò)的端點設(shè)備,執(zhí)行VXLAN報文的封裝和解封裝的操作。
控制器:和接入點、服務(wù)節(jié)點之間的通信遵循開放流(OpenFlow)協(xié)議。OpenFlow協(xié)議是SDN(Software Defined Network,軟件定義網(wǎng)絡(luò))架構(gòu)中定義的一個控制層與轉(zhuǎn)發(fā)層之間的通信接口標準。
在圖1所示的組網(wǎng)中,包括控制器、接入點、服務(wù)節(jié)點等設(shè)備??刂破飨蚪尤朦c和服務(wù)節(jié)點下發(fā)相應(yīng)的流表,以使接入點根據(jù)對應(yīng)的流表,從接收到的IP(Internet Protocol,網(wǎng)際互聯(lián))報文中根據(jù)報文的源地址和/或目的地址篩選出屬于服務(wù)鏈的報文,并對該報文進行VXLAN封裝,在VXLAN封裝頭中添加服務(wù)鏈標識得到服務(wù)鏈報文,發(fā)送至對應(yīng)的服務(wù)節(jié)點。同時,服務(wù)節(jié)點根據(jù)相應(yīng)的流表,對服務(wù)鏈報文進行業(yè)務(wù)處理,并根據(jù)服務(wù)鏈報文攜帶的下一跳地址,將其轉(zhuǎn)發(fā)至下一跳設(shè)備。
下面通過具體實施例,對本申請進行詳細說明。
圖2為本申請實施例提供的一種報文處理方法的流程示意圖,應(yīng)用于第一設(shè)備,所述第一設(shè)備為服務(wù)鏈上除與尾服務(wù)節(jié)點相連的接入點之外的設(shè)備。接入點為VXLAN網(wǎng)絡(luò)中的端點設(shè)備,在服務(wù)鏈上的設(shè)備可以包括:首接入點、服務(wù)節(jié)點和尾接入點。首接入點為與首服務(wù)節(jié)點直接相連的接入點,尾接入點為與尾服務(wù)節(jié)點直接相連的接入點。也就是說,本實施例的執(zhí)行主體可以是服務(wù)鏈上的服務(wù)節(jié)點,也可以是服務(wù)鏈上的首接入點。
步驟S201:接收控制器發(fā)送的第一流表。
其中,第一流表的匹配項包括所述服務(wù)鏈的服務(wù)鏈標識,動作項包括:在與所述匹配項匹配成功的報文中添加所述服務(wù)鏈對應(yīng)的租戶的優(yōu)先級。當然,匹配項還可以包括源地址信息和目的地址信息。
需要說明的是,第一流表是由控制器生成并發(fā)送的??刂破髦杏幸驯4娴淖鈶粜畔ⅲ撟鈶粜畔ㄗ鈶舻牡刂沸畔⒁约白鈶魧?yīng)的服務(wù)鏈、租戶對應(yīng)的優(yōu)先級??刂破骺梢愿鶕?jù)上述租戶信息,生成第一流表。
控制器向第一設(shè)備發(fā)送第一流表,可以是在滿足預設(shè)條件時發(fā)送的。預設(shè)條件可以是:接收到所述服務(wù)鏈上的所述第一設(shè)備之后的設(shè)備發(fā)送的第一資源告警報文后。
步驟S202:接收匹配成功所述匹配項且未攜帶優(yōu)先級的第一報文。
其中,由于第一報文攜帶服務(wù)鏈標識,因此第一報文屬于服務(wù)鏈報文。
步驟S203:根據(jù)所述動作項在所述第一報文中添加優(yōu)先級。
當作為執(zhí)行主體的第一設(shè)備為服務(wù)鏈上的首接入點時,首接入點接收匹配成功所述匹配項且未攜帶優(yōu)先級的第一報文,根據(jù)所述動作項在所述第一報文中添加優(yōu)先級,可以包括:當接收到本地設(shè)備發(fā)送的報文之后,先根據(jù)報文中的源地址信息和/或目的地址信息,判斷該報文是否來自租戶,如果是,則確定該報文對應(yīng)的服務(wù)鏈,將該報文封裝成VXLAN報文,其中,VXLAN報文頭中添加該服務(wù)鏈的服務(wù)鏈標識,此時的VXLAN報文已屬于服務(wù)鏈報文。如果判定該報文不是來自租戶,則按照現(xiàn)有技術(shù)中的方法對其進行轉(zhuǎn)發(fā)等處理。然后,針對上述服務(wù)鏈報文,再將該服務(wù)鏈報文與第一流表的匹配項進行匹配,如果匹配成功,則說明該報文為本實施例中的第一報文,即可以根據(jù)所述第一流表中的動作項,在該第一報文中添加優(yōu)先級。
當然,作為執(zhí)行主體的首接入點也可以同時完成添加服務(wù)鏈標識和添加優(yōu)先級的步驟,即當首接入點接收到本地設(shè)備發(fā)送的報文之后,先根據(jù)報文中的源地址信息和/或目的地址信息,判斷該報文是否來自租戶,如果是,則確定該報文對應(yīng)的服務(wù)鏈,然后判斷該服務(wù)鏈的服務(wù)鏈標識與第一流表中的匹配項是否匹配,如果匹配成功,則將該報文封裝成VXLAN報文,其中,VXLAN報文頭中添加該服務(wù)鏈的服務(wù)鏈標識和優(yōu)先級。
需要說明的是,當作為執(zhí)行主體的第一設(shè)備為首接入點時,首接入點需要完成將報文封裝成服務(wù)鏈報文,并在服務(wù)鏈報文中添加優(yōu)先級的操作,或者在將報文封裝成服務(wù)鏈報文的同時添加優(yōu)先級。因此,在封裝之前可以確定報文不攜帶優(yōu)先級,無需再判斷報文是否攜帶優(yōu)先級。
當作為執(zhí)行主體的第一設(shè)備為服務(wù)鏈上的服務(wù)節(jié)點時,服務(wù)節(jié)點接收到的報文通常已經(jīng)添加了服務(wù)鏈標識,該服務(wù)鏈標識通常是由首接入點添加的。
當作為執(zhí)行主體的服務(wù)節(jié)點,接收匹配成功所述匹配項且未攜帶優(yōu)先級的第一報文,根據(jù)所述動作項在所述第一報文中添加優(yōu)先級,可以包括:接收服務(wù)鏈報文,判斷該服務(wù)鏈報文中是否攜帶優(yōu)先級,如果攜帶,則直接執(zhí)行轉(zhuǎn)發(fā)操作即可,如果不攜帶,則將該服務(wù)鏈報文攜帶的服務(wù)鏈標識與所述匹配項進行匹配,如果匹配成功,則說明該服務(wù)鏈報文為第一報文,即可以將所述動作項中的優(yōu)先級添加至該服務(wù)鏈報文中。
作為一種具體實施方式,在圖2所示實施例中,步驟S203,根據(jù)所述動作項在所述第一報文中添加優(yōu)先級,可以包括:根據(jù)所述動作項將優(yōu)先級添加至所述第一報文報文頭的保留位中。
舉例來說,對于VXLAN報文,可以利用VXLAN報文頭中未使用的部分,來標記租戶的優(yōu)先級,保證高優(yōu)先級租戶的業(yè)務(wù)報文優(yōu)先被處理、轉(zhuǎn)發(fā)。
例如,圖3為服務(wù)鏈報文的一種結(jié)構(gòu)示意圖,該報文包括外層IP頭、外層UDP(User Data Protocol,用戶數(shù)據(jù)報協(xié)議)頭、VXLAN頭和原始二層數(shù)據(jù)幀。其中,VXLAN頭即為VXLAN報文的報文頭,其具體的結(jié)構(gòu)如圖3下面部分所示,包括標記位、服務(wù)鏈ID、VXLAN ID和保留未用等字段。
標記位中的“保留未用”部分是未使用的,可以將優(yōu)先級添加至“保留未用”部分。
步驟S204:轉(zhuǎn)發(fā)添加優(yōu)先級后的第一報文,以使第二設(shè)備按照所述優(yōu)先級處理并轉(zhuǎn)發(fā)添加優(yōu)先級后的第一報文,所述第二設(shè)備為所述服務(wù)鏈上接收到添加優(yōu)先級后的第一報文的設(shè)備。
進一步的,作為執(zhí)行主體的第一設(shè)備轉(zhuǎn)發(fā)添加優(yōu)先級后的第一報文時,可以根據(jù)所述優(yōu)先級轉(zhuǎn)發(fā)添加優(yōu)先級后的第一報文。
其中,第二設(shè)備可以包括服務(wù)鏈上的服務(wù)節(jié)點和尾接入點。
需要說明的是,按照所述優(yōu)先級處理并轉(zhuǎn)發(fā)添加優(yōu)先級后的第一報文,也可以理解為:按照所述優(yōu)先級處理添加優(yōu)先級后的第一報文,并對處理后的第一報文進行轉(zhuǎn)發(fā)。
針對“按照所述優(yōu)先級處理添加優(yōu)先級后的第一報文”的步驟,當執(zhí)行主體為服務(wù)鏈上的服務(wù)節(jié)點時,該步驟是指服務(wù)節(jié)點按照優(yōu)先級和自身所能提供的業(yè)務(wù)對第一報文進行處理,該業(yè)務(wù)可以包括FW業(yè)務(wù)、IPS業(yè)務(wù)或LB業(yè)務(wù)等;當執(zhí)行主體為服務(wù)鏈上的尾接入點時,該步驟是指尾接入點按照優(yōu)先級對第一報文進行解封裝,解封裝包括去除VXLAN封裝頭等。
在一個例子中,控制器可以向所述服務(wù)鏈上的每一個第一設(shè)備均發(fā)送第一流表,也可以向所述服務(wù)鏈上的第一個第一設(shè)備發(fā)送第一流表,第一個第一設(shè)備即為首接入點,上述方式能夠保證該服務(wù)鏈上服務(wù)節(jié)點接收到的服務(wù)鏈報文均攜帶優(yōu)先級。
在一個例子中,為了使第二設(shè)備按照所述優(yōu)先級處理并轉(zhuǎn)發(fā)添加優(yōu)先級后的第一報文,控制器還要向第二設(shè)備發(fā)送第四流表,第四流表用于指示服務(wù)節(jié)點按照優(yōu)先級處理并轉(zhuǎn)發(fā)第一報文。第四流表的動作項可以包括:獲取報文中的優(yōu)先級,按照優(yōu)先級處理并轉(zhuǎn)發(fā)該報文。
由上述內(nèi)容可見,本實施例中,作為執(zhí)行主體的第一設(shè)備,接收控制器發(fā)送的第一流表,當接收到與第一流表的匹配項匹配成功且未攜帶優(yōu)先級的第一報文時,根據(jù)第一流表中的動作項在第一報文中添加優(yōu)先級,并轉(zhuǎn)發(fā)添加優(yōu)先級后的第一報文,以使服務(wù)鏈上接收到添加優(yōu)先級后的第一報文的設(shè)備,按照優(yōu)先級處理并轉(zhuǎn)發(fā)添加優(yōu)先級后的第一報文。其中,上述優(yōu)先級為與所述服務(wù)鏈對應(yīng)的租戶的優(yōu)先級。由于服務(wù)鏈報文攜帶的優(yōu)先級與租戶是一一對應(yīng)的,能夠表明租戶的級別,按照該優(yōu)先級處理報文,能夠?qū)崿F(xiàn)對不同租戶的區(qū)分,進而實現(xiàn)對用于處理服務(wù)鏈報文的資源進行合理分配。因此,應(yīng)用本申請實施例提供的技術(shù)方案,能夠提高用戶體驗度。
在基于圖2所示實施例一種具體實施方式中,當?shù)谝辉O(shè)備為所述服務(wù)鏈上的服務(wù)節(jié)點時,所述方法還可以包括:
接收攜帶優(yōu)先級及所述服務(wù)鏈標識的第二報文,按照所述第二報文攜帶的優(yōu)先級,處理并轉(zhuǎn)發(fā)所述第二報文。
具體的,第一設(shè)備在接收到報文時,可以首先判斷該報文中是否攜帶服務(wù)鏈標識,如果攜帶服務(wù)鏈標識,則說明該報文屬于服務(wù)鏈報文。然后判斷該報文中是否攜帶優(yōu)先級,如果攜帶優(yōu)先級,則確定接收到的報文為上述第二報文,可以按照優(yōu)先級處理并轉(zhuǎn)發(fā)所述第二報文;如果不攜帶優(yōu)先級,則按照接收時間的先后順序處理并轉(zhuǎn)發(fā)第二報文。
在實際應(yīng)用中,當服務(wù)節(jié)點在預設(shè)時長內(nèi)接收到至少兩個第二報文時,可以分別獲得其中的優(yōu)先級,根據(jù)優(yōu)先級的高低順序,處理該第二報文。通常,預設(shè)時長是較短的一段時間,可以將服務(wù)節(jié)點平均處理每個服務(wù)鏈報文的時長與預設(shè)值的乘積確定為預設(shè)時長。
作為一種具體的實施方式,在第一設(shè)備接收到第二報文后,如果自身的資源利用率達到預設(shè)門限值,則按照優(yōu)先級處理并轉(zhuǎn)發(fā)第二報文;如果自身的資源利用率未達到預設(shè)門限值,則按照接收時間的先后順序處理并轉(zhuǎn)發(fā)第二報文。
上述內(nèi)容曾提到,控制器可以在滿足預設(shè)條件時向第一設(shè)備發(fā)送第一流表。作為一種具體的實施方式,控制器可以在接收到所述服務(wù)鏈上作為執(zhí)行主體的服務(wù)節(jié)點之后的設(shè)備發(fā)送的第一資源告警報文時,向執(zhí)行主體發(fā)送第一流表。同理,控制器在向該服務(wù)鏈上該第一設(shè)備之前的設(shè)備發(fā)送第一流表的預設(shè)條件類似。
具體的,基于圖2所示實施例的一種具體實施方式中,為了提高處理報文時的公平性,進而提高用戶體驗度,當所述第一設(shè)備為所述服務(wù)鏈上的服務(wù)節(jié)點時,所述方法還可以包括圖4所示的以下步驟:
步驟S200A:檢測自身的資源利用率是否達到預設(shè)門限值,如果是,則執(zhí)行步驟S200B。如果否,則不予處理。
步驟S200B:向所述控制器發(fā)送第一資源告警報文,以使所述控制器向所述服務(wù)鏈上本服務(wù)節(jié)點之前的任一設(shè)備發(fā)送所述第一流表。
上述步驟S200A和步驟S200B可以在步驟S201之前執(zhí)行,當然,也可以在步驟S201之后執(zhí)行,本申請對此不做具體限定。
其中,資源利用率可以為CPU(Central Processing Unit)利用率,當然也可以是其他資源利用率指標,本申請對此不做具體限定。
可以理解的是,所述服務(wù)鏈上本服務(wù)節(jié)點之前的任一設(shè)備,可以是本服務(wù)節(jié)點的上一跳設(shè)備,也可以是首接入點。
可見,在本實施方式中,當服務(wù)節(jié)點檢測到自身的資源利用率達到預設(shè)門限值時,向控制器發(fā)送第一資源告警報文,以使控制器向所述任一設(shè)備發(fā)送所述第一流表,進而使所述任一設(shè)備將優(yōu)先級添加至第一報文中,這樣,可以使第一設(shè)備按照優(yōu)先級處理并轉(zhuǎn)發(fā)第一報文。
進一步的,在步驟S200B之后,即在向所述控制器發(fā)送第一資源告警報文之后,所述方法還可以包括:
作為執(zhí)行主體的服務(wù)節(jié)點,檢測自身的資源利用率是否達到預設(shè)門限值,如果否,則向所述控制器發(fā)送解除資源告警報文,以使所述控制器在確定所述服務(wù)鏈上的所有設(shè)備都解除資源告警之后,向已接收所述第一流表的設(shè)備發(fā)送第二流表,所述第二流表用于指示所述第一流表失效。如果是,則不予處理。
可以理解的是,當所述服務(wù)鏈上本服務(wù)節(jié)點之后的第一服務(wù)節(jié)點的資源使用率仍然處于達到預設(shè)門限值的狀態(tài)時,即第一服務(wù)節(jié)點還處于資源告警狀態(tài)時,若控制器向已接收所述第一流表的設(shè)備發(fā)送第二流表,以指示第一流表失效,則可能導致所述第一服務(wù)節(jié)點接收到的服務(wù)鏈報文中沒有添加優(yōu)先級,即第一服務(wù)節(jié)點無法按照優(yōu)先級處理報文。因此,控制器需要在確定所述服務(wù)鏈上的所有設(shè)備都解除資源告警之后,再向已接收所述第一流表的設(shè)備發(fā)送第二流表,以保證第一服務(wù)節(jié)點接收到的服務(wù)鏈報文中添加了優(yōu)先級,并可以按照優(yōu)先級處理報文。
作為一種具體的實施方式,當控制器接收到所述服務(wù)鏈上本服務(wù)節(jié)點發(fā)送的解除資源告警報文時,并且在確定所述服務(wù)鏈上的所有設(shè)備都解除資源告警之前,控制器可以向所述本服務(wù)節(jié)點下發(fā)第五流表,第五流表用于指示服務(wù)節(jié)點按照時間順序處理第一報文。本服務(wù)節(jié)點接收第五流表,并在接收到第一報文后按照時間順序處理并轉(zhuǎn)發(fā)第一報文。
所述服務(wù)節(jié)點在向所述控制器發(fā)送解除資源告警報文之后,接收控制器發(fā)送的所述第二流表,根據(jù)所述第二流表將所述第一流表設(shè)置為失效狀態(tài);
在此之后,服務(wù)節(jié)點可以繼續(xù)檢測自身的資源利用率是否達到預設(shè)門限值,如果是,則向所述控制器發(fā)送第二資源告警報文,以使控制器向所述任一設(shè)備發(fā)送第三流表,所述第三流表用于指示所述第一流表生效。
也就是說,當控制器接收到所述服務(wù)鏈上的一個服務(wù)節(jié)點發(fā)送的第二資源告警報文時,控制器便可以向所述服務(wù)鏈上本服務(wù)節(jié)點之前的任一設(shè)備發(fā)送第三流表。
作為一個具體的實施方式,服務(wù)節(jié)點可以周期性檢測自身的資源利用率是否達到預設(shè)門限值,重復上述過程,即根據(jù)檢測結(jié)果以及當前第一流表的狀態(tài),確定是否需要向控制器發(fā)送資源告警報文或解除資源告警報文。
圖5為本申請實施例提供的報文處理裝置的一種結(jié)構(gòu)示意圖,與圖2所示方法實施例相對應(yīng),應(yīng)用于第一設(shè)備,所述第一設(shè)備為服務(wù)鏈上除與尾服務(wù)節(jié)點相連的接入點之外的設(shè)備,所述裝置包括:
流表接收模塊501,用于接收控制器發(fā)送的第一流表,所述第一流表的匹配項包括所述服務(wù)鏈的服務(wù)鏈標識,動作項包括:在與所述匹配項匹配成功的報文中添加所述服務(wù)鏈對應(yīng)的租戶的優(yōu)先級;
報文接收模塊502,用于接收匹配成功所述匹配項且未攜帶優(yōu)先級的第一報文;
優(yōu)先級添加模塊503,用于根據(jù)所述動作項在所述第一報文中添加優(yōu)先級;
報文轉(zhuǎn)發(fā)模塊504,用于轉(zhuǎn)發(fā)添加優(yōu)先級后的第一報文,以使第二設(shè)備按照所述優(yōu)先級處理并轉(zhuǎn)發(fā)添加優(yōu)先級后的第一報文,所述第二設(shè)備為所述服務(wù)鏈上接收到添加優(yōu)先級后的第一報文的設(shè)備。
在基于圖5所示實施例的一種具體實施方式中,所述第一設(shè)備為所述服務(wù)鏈上的服務(wù)節(jié)點;所述裝置還可以包括:
第一檢測模塊(圖中未示出),用于檢測自身的資源利用率是否達到預設(shè)門限值;
第一發(fā)送模塊(圖中未示出),用于當檢測到自身的資源利用率達到預設(shè)門限值時,向所述控制器發(fā)送第一資源告警報文,以使所述控制器向所述服務(wù)鏈上本服務(wù)節(jié)點之前的任一設(shè)備發(fā)送所述第一流表。
在基于圖5所示實施例的一種具體實施方式中,所述第一檢測模塊,還用于在向所述控制器發(fā)送第一資源告警報文之后,檢測自身的資源利用率是否達到預設(shè)門限值;
所述第一發(fā)送模塊,還用于當檢測到自身的資源利用率沒有達到預設(shè)門限值時,向所述控制器發(fā)送解除資源告警報文,以使所述控制器在確定所述服務(wù)鏈上的所有設(shè)備都解除資源告警之后,向已接收所述第一流表的設(shè)備發(fā)送第二流表,所述第二流表用于指示所述第一流表失效。
在基于圖5所示實施例的一種具體實施方式中,所述流表接收模塊501,還可以用于在所述向所述控制器發(fā)送解除資源告警報文之后,接收所述第二流表,根據(jù)所述第二流表將所述第一流表設(shè)置為失效狀態(tài);
所述第一檢測模塊,還可以用于在所述向所述控制器發(fā)送解除資源告警報文之后,檢測自身的資源利用率是否達到預設(shè)門限值;
所述第一發(fā)送模塊,還可以用于當檢測到自身的資源利用率達到預設(shè)門限值時,向所述控制器發(fā)送第二資源告警報文,以使控制器向所述任一設(shè)備發(fā)送第三流表,所述第三流表用于指示所述第一流表生效。
在基于圖5所示實施例的一種具體實施方式中,所述第一設(shè)備為所述服務(wù)鏈上的服務(wù)節(jié)點;所述裝置還可以包括報文處理模塊(圖中未示出);
所述報文接收模塊502,還用于接收攜帶優(yōu)先級及所述服務(wù)鏈標識的第二報文;
所述報文處理模塊,用于按照所述第二報文攜帶的優(yōu)先級,處理并轉(zhuǎn)發(fā)所述第二報文。
由于上述裝置實施例是基于方法實施例得到的,與該方法具有相同的技術(shù)效果,因此裝置實施例的技術(shù)效果在此不再贅述。
對于裝置實施例而言,由于其基本相似于方法實施例,所以描述得比較簡單,相關(guān)之處參見方法實施例的部分說明即可。
需要說明的是,在本文中,諸如第一和第二等之類的關(guān)系術(shù)語僅僅用來將一個實體或者操作與另一個實體或操作區(qū)分開來,而不一定要求或者暗示這些實體或操作之間存在任何這種實際的關(guān)系或者順序。而且,術(shù)語“包括”、“包含”或者任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者設(shè)備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者設(shè)備所固有的要素。在沒有更多限制的情況下,由語句“包括一個……”限定的要素,并不排除在包括所述要素的過程、方法、物品或者設(shè)備中還存在另外的相同要素。
本領(lǐng)域普通技術(shù)人員可以理解,上述實施方式中的全部或部分步驟是能夠通過程序指令相關(guān)的硬件來完成的,所述的程序可以存儲于計算機可讀取存儲介質(zhì)中。這里所稱存儲介質(zhì),是指ROM/RAM、磁碟、光盤等。
以上所述僅為本申請的較佳實施例而已,并非用于限定本申請的保護范圍。凡在本申請的精神和原則之內(nèi)所做的任何修改、等同替換、改進等,均包含在本申請的保護范圍內(nèi)。