
本發明涉及通信技術領域,尤其涉及一種數據流處理方法、設備和系統。
背景技術:在現代通信網絡中,通過各種不同功能的網絡設備通過支持各類的網絡協議從而實現網元間的互聯互通,其中,每一臺網絡設備都有內部的報文轉發模塊和各類的協議控制模塊組成。這種分布式的控制模塊部署方式使得網絡的部署和管理非常復雜,為例是是某個控制參數的修改或升級,必須有人工對每臺設備進行單獨的操作,為了提高網元的部署靈活性和可管理性,現有技術提出了軟件定義網絡SDN(Software-DefinedNetwork)的概念,即通過網元設備的控制邏輯和轉發功能解耦,并將控制邏輯進行集中部署,使得網絡的控制和維護工作能夠簡單地通過對控制面設備的操作實現,從而提高網絡的管理效率,并使得轉發名設備更為簡化,有利于實現轉發設備的高性能和可重用性。在現有技術中,通常使用Openflow協議作為SDN網絡中的最典型和應用最多的協議,其中,Openflow協議中的網元包括控制設備Openflowcontroller(簡稱OFController)和交換設備Openflowswitch(簡稱OFSwitch),這里控制設備預先以流表項的形式發送根據報文特征確定的業務流的轉發動作至交換設備,以便交換設備存儲該流表項,并對后續符合該流表項中匹配信息的報文執行對應的動作列表,但在某些協議處理的過程中,控制設備預先發送至交換設備的流表項動作中的信息不足以處理交換設備接收的用戶報文,此時交換設備需要中斷動作列表的執行操作并向控制器請求需要的信息,但無法對返回的報文繼續執行未完成的動作,因此導致在類似的動作執行間交換設備無法處理對應的報文。
技術實現要素:本發明的實施例提供一種數據流處理方法、設備和系統,解決了交換設備通過接收的控制設備預先發送的流表項不能處理對應的用戶報文導致中斷操作的問題,從而提升了網絡設備間的工作效率,減少了對報文的錯誤處理。為達到所述目的,本發明的實施例采用如下技術方案:第一方面,提供一種數據流處理方法,包括:向控制設備發送請求消息,所述請求消息包括交換設備請求的動作參數、待處理報文的標識或待處理報文;接收所述控制設備根據所述請求消息發送的報文處理信息;根據所述報文處理信息執行對應所述待處理報文的操作。在第一種可能的實現方式中,結合第一方面具體包括,所述向控制設備發送請求消息之前,還包括:接收所述控制設備預先發送的流表項,并根據所述流表項匹配所述待處理報文,所述流表項包括數據流的匹配信息及所述數據流所需的動作列表;若執行所述動作列表時發現對應的動作參數缺失,則向所述控制設備發送請求消息。在第二種可能的實現方式中,結合第一方面或第一種可能的實現方式具體包括,所述向控制設備發送請求消息,包括:將動作執行信息通過所述請求消息發送至所述控制設備和/或存儲在本地,所述動作執行信息包括已執行動作標識、未執行動作標識、已執行動作列表和未執行動作列表中一種或多種。在第三種可能的實現方式中,結合第一方面或第一方面中第一種可能的實現方式或第一方面中第二種可能的實現方式具體包括,所述根據所述報文處理信息執行對應所述待處理報文的操作,還包括:根據所述報文處理信息獲取所述待處理報文或所述待處理報文標識、動作參數、動作執行信息、和/或繼續動作執行指令,并根據所述報文處理信息執行對應的操作。在第四種可能的實現方式中,結合第一方面或第一方面中任一種可能的實現方式具體包括,所述報文處理信息包括:所述動作參數、待處理報文或所述待處理報文的標識、動作執行信息、待執行動作列表、繼續動作執行指令中至少一種。第二方面,提供一種數據流處理方法,包括:接收交換設備發送的請求消息,并根據所述請求消息確定所述交換設備所需的報文處理信息,所述請求消息包括交換設備請求的動作參數、待處理報文的標識或待處理報文;將所述報文處理信息發送至所述交換設備,以便于所述交換設備根據所述報文處理信息執行對應操作,所述報文處理信息包括所述動作參數、待處理報文或所述待處理報文的標識、動作執行信息、待執行動作列表、繼續動作執行指令中至少一種。在第一種可能的實現方式中,結合第二方面具體包括,所述接收交換設備發送的請求消息,并根據所述請求消息確定所述交換設備所需的報文處理信息之前,還包括:預先向所述交換設備發送流表項,所述流表項包括數據流的匹配信息及所述數據流所需的動作列表。在第二種可能的實現方式中,結合第二方面或第一種可能的實現方式具體包括,所述接收交換設備發送的請求消息,并根據所述請求消息確定所述交換設備所需的報文處理信息,包括:根據所述請求消息獲取所述請求消息對應的請求參數,并根據所述請求消息配置對應的動作列表,并根據所述請求參數和所述動作列表生成報文處理信息,以便所述交換設備根據所述報文處理信息執行對應操作。第三方面,提供一種交換設備,包括:發送單元,用于向控制設備發送請求消息,所述請求消息包括交換設備請求的動作參數、待處理報文的標識或待處理報文;接收單元,用于接收所述控制設備根據所述請求消息發送的報文處理信息;配置單元,用于根據所述報文處理信息執行對應所述待處理報文的操作。在第一種可能的實現方式中,結合第三方面具體包括,所述設備包括:匹配單元,用于向控制設備發送請求消息之前,接收所述控制設備預先發送的流表項,并根據所述流表項匹配所述待處理報文,所述流表項包括數據流的匹配信息及所述數據流所需的動作列表;所述匹配單元,還用于若執行所述動作列表時發現對應的動作參數缺失,則向所述控制設備發送請求消息。在第二種可能的實現方式中,結合第三方面或第一種可能的實現方式具體包括,所述發送單元,具體用于將動作執行信息通過所述請求消息發送至所述控制設備和/或存儲在本地,所述動作執行信息包括已執行動作標識、未執行動作標識、已執行動作列表和未執行動作列表中一種或多種。在第三種可能的實現方式中,結合第三方面或第三方面中第一種可能的實現方式或第三方面中第二種可能的實現方式具體包括,所述配置單元,具體用于根據所述報文處理信息獲取所述待處理報文或所述待處理報文標識、動作參數、動作執行信息、和/或繼續動作執行指令,并根據所述報文處理信息執行對應的操作。在第四種可能的實現方式中,結合第三方面或第三方面中任一種可能的實現方式具體包括,所述報文處理信息包括:所述動作參數、待處理報文或所述待處理報文的標識、動作執行信息、待執行動作列表、繼續動作執行指令中至少一種。第四方面,提供一種控制設備,包括:配置單元,用于接收交換設備發送的請求消息,并根據所述請求消息確定所述交換設備所需的報文處理信息,所述請求消息包括交換設備請求的動作參數、待處理報文的標識或待處理報文;發送單元,用于將所述配置單元確定的所述報文處理信息發送至所述交換設備,以便于所述交換設備根據所述報文處理信息執行對應操作,所述報文處理信息包括所述動作參數、待處理報文或所述待處理報文的標識、動作執行信息、待執行動作列表、繼續動作執行指令中至少一種。在第一種可能的實現方式中,結合第四方面具體包括,所述發送單元,還用于接收交換設備發送的請求消息,并根據所述請求消息確定所述交換設備所需的報文處理信息之前,預先向所述交換設備發送流表項,所述流表項包括數據流的匹配信息及所述數據流所需的動作列表。在第二種可能的實現方式中,結合第四方面或第一種可能的實現方式具體包括,所述配置單元,包括:配置子單元,用于根據所述請求消息獲取所述請求消息對應的請求參數,并根據所述請求消息配置對應的動作列表,并根據所述請求參數和所述動作列表生成報文處理信息,以便所述交換設備根據所述報文處理信息執行對應操作。第五方面,提供一種交換設備,包括:通過數據總線連接的處理器和存儲器,以及分別與所述處理器和存儲器連接的至少一個通信接口,其中,所述處理器,用于通過所述至少一個通信接口向控制設備發送請求消息,所述請求消息包括交換設備請求的動作參數、待處理報文的標識或待處理報文;所述處理器,還用于通過所述至少一個通信接口接收所述控制設備根據所述請求消息發送的報文處理信息;所述處理器,還用于根據所述報文處理信息執行對應所述待處理報文的操作。在第一種可能的實現方式中,結合第五方面具體包括,所述處理器,還用于通過所述至少一個通信接口向控制設備發送請求消息之前,通過所述至少一個通信接口接收所述控制設備預先發送的流表項,并根據所述流表項匹配所述待處理報文,所述流表項包括數據流的匹配信息及所述數據流所需的動作列表;所述處理器,還用于若執行所述動作列表時發現對應的動作參數缺失,則通過所述至少一個通信接口向所述控制設備發送請求消息。在第二種可能的實現方式中,結合第五方面或第一種可能的實現方式具體包括,所述處理器,還用于通過所述至少一個通信接口將動作執行信息通過所述請求消息發送至所述控制設備和/或通過所述存儲器存儲在本地,所述動作執行信息包括已執行動作標識、未執行動作標識、已執行動作列表和未執行動作列表中一種或多種。在第三種可能的實現方式中,結合第五方面或第五方面中第一種可能的實現方式或第五方面中第二種可能的實現方式具體包括,所述處理器,還用于根據所述報文處理信息獲取所述待處理報文或所述待處理報文標識、動作參數、動作執行信息、和/或繼續動作執行指令,并根據所述報文處理信息執行對應的操作。在第四種可能的實現方式中,結合第五方面或第五方面中任一種可能的實現方式具體包括,所述報文處理信息包括:所述動作參數、待處理報文或所述待處理報文的標識、動作執行信息、待執行動作列表、繼續動作執行指令中至少一種。第六方面,提供一種控制設備,包括:通過數據總線連接的處理器和存儲器,以及分別與所述處理器和存儲器連接的至少一個通信接口,其中,所述處理器,用于通過所述至少一個通信接口接收交換設備發送的請求消息,并根據所述請求消息確定所述交換設備所需的報文處理信息,所述請求消息包括交換設備請求的動作參數、待處理報文的標識或待處理報文;所述處理器,還用于將所述報文處理信息通過所述至少一個通信接口發送至所述交換設備,以便于所述交換設備根據所述報文處理信息執行對應操作,所述報文處理信息包括所述動作參數、待處理報文或所述待處理報文的標識、動作執行信息、待執行動作列表、繼續動作執行指令中至少一種。在第一種可能的實現方式中,結合第六方面具體包括,所述處理器,還用于通過所述至少一個通信接口接收交換設備發送的請求消息,并根據所述請求消息確定所述交換設備所需的報文處理信息之前,預先通過所述至少一個通信接口向所述交換設備發送流表項,所述流表項包括數據流的匹配信息及所述數據流所需的動作列表。在第二種可能的實現方式中,結合第六方面或第一種可能的實現方式具體包括,所述處理器,還用于根據所述請求消息獲取所述請求消息對應的請求參數,并根據所述請求消息配置對應的動作列表,并根據所述請求參數和所述動作列表生成報文處理信息,以便所述交換設備根據所述報文處理信息執行對應操作。第七方面,提供一種通信系統,包括:交換設備和控制設備,其中,所述交換設備為第三方面或第三方面中任一種可能的實現方式所述的任一交換設備,所述控制設備為第四方面或第四方面中任一種可能的實現方式所述的任一控制設備;或者,所述交換設備為第五方面或第五方面中任一種可能的實現方式所述的任一交換設備,所述控制設備為第六方面或第六方面中任一種可能的實現方式所述的任一控制設備。本發明實施例提供的數據流處理方法、設備和系統,交換設備通過預先接收控制設備發送的流表項處理報文,當交換設備所處理報文發生中斷時,該交換設備向控制設備發送請求消息,以便控制設備根據請求消息配置對應交換設備待處理報文的報文處理信息,使得交換設備根據報文處理信息完成待處理報文的操作,從而解決了交換設備通過接收的控制設備預先發送的流表項不能處理對應的用戶報文導致中斷操作的問題,進而提升了網絡設備間的工作效率,減少了對報文的錯誤處理。附圖說明為了更清楚地說明本發明實施例或現有技術中的技術方案,下面將對實施例或現有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發明的一些實施例,對于本領域普通技術人員來講,在不付出創造性勞動的前提下,還可以根據這些附圖獲得其他的附圖。圖1為本發明的實施例提供的一種數據流處理方法的流程示意圖;圖2為本發明的實施例提供的另一種數據流處理方法的流程示意圖;圖3為本發明的實施例提供的又一種數據流處理方法的流程示意圖;圖4為本發明的另一實施例提供的一種數據流處理方法的流程示意圖;圖5為本發明的另一實施例提供的另一種數據流處理方法的流程示意圖;圖6為本發明的另一實施例提供的又一種數據流處理方法的流程示意圖;圖7為本發明的另一實施例提供的再一種數據流處理方法的流程示意圖;圖8為本發明的實施例提供的一種交換設備的結構示意圖;圖9為本發明的實施例通過的另一種交換設備的結構示意圖;圖10為本發明的實施例提供的一種控制設備的結構示意圖;圖11為本發明的實施例提供的另一種控制設備的結構示意圖;圖12為本發明的另一實施例提供的一種交換設備的結構示意圖;圖13為本發明的另一實施例提供的一種控制設備的結構示意圖;圖14為本發明的實施例提供的一種通信系統的結構示意圖。具體實施方式本發明實施例適用于軟件定義網絡SDN(Software-DefinedNetwork)中任意一種通信協議,其中,本發明實施例中涉及的通信協議以Openflow協議為例。Openflow協議中的網元設備包括控制設備Openflowcontroller(簡稱OFController)和交換設備Openflowswitch(簡稱OFSwitch),其中,OFController負責根據報文特征確定該業務流的轉發動作,并通過將對應的流表項下發至OFSwitch,從而OFSwitch獲取并存儲該流表項,并對后續符合該留匹配信息的報文執行對應的動作列表。在這里,我們以Openflow協議為例,進行方案說明。本發明提供一種數據流處理方法,在交換設備側,參照圖1所示,包括以下流程:101、交換設備向控制設備發送請求消息。其中,請求消息包括交換設備請求的動作參數、待處理報文的標識或待處理報文。這里交換設備向控制設備發送請求消息之前還包括:a、交換設備接收該控制設備預先發送的流表項,并根據流表項匹配待處理報文,該流表項包括數據流的匹配信息及數據流所需的動作列表。其中,流表項包括:流匹配信息和對應執行的動作列表,其中流匹配信息包括IP五元組、以太網幀頭。這里交換設備接收到的控制設備預先發送的流表項是由控制設備端根據報文特征確定交換設備將要處理的業務流的轉發動作,其中,報文特征包括:IP五元組、以太網幀頭、虛擬局域網標識VlanID(VirtualLocalAreaNetworkIdentity),交換設備的轉發動作包括:轉發、丟棄、修改報文頭、封裝、解封裝。b、若執行動作列表時發現對應的動作參數缺失,則向控制設備發送請求消息。102、交換設備接收該控制設備根據請求消息發送的報文處理信息。這里交換設備通過接收控制設備發送的報文處理信息,使得交換設備能夠補充對待處理報文的處理信息,進而通過報文處理信息能夠對待處理報文進行對應的操作,其中,報文處理信息包括動作參數、待處理報文或待處理報文的標識、動作執行信息、和/或待執行動作列表、和/或繼續動作執行指令。可選的,交換設備存儲根據發送的請求消息獲取的動作參數。103、交換設備根據該報文處理信息執行對應待處理報文的操作。這里交換設備根據接收到的報文處理信息獲取待處理報文及該待處理報文對應的動作列表,并根據獲取的待處理報文及對應該待處理報文的動作列表執行對應的操作,從而完成對待處理報文的處理。本發明實施例提供一種數據流處理方法,在控制設備側,參照圖2所示,包括以下流程:201、控制設備接收交換設備發送的請求消息,并根據請求消息確定交換設備所需的報文處理信息。其中,請求消息包括交換設備請求的參數、待處理報文的標識或待處理報文。這里在控制設備接收交換設備發送的請求消息之前,還包括:控制設備預先向交換設備發送流表項,該流表項包括數據流的匹配信息及數據流所需的動作列表。這里控制設備預先通過交換設備將要處理的報文制定對應的流表項,其中該交換設備將要處理的報文在Openflow協議中以數據流的形式出現;該流表項包括數據流的匹配信息及數據流所需的動作列表,其中該流表項的制定過程可以是控制設備本地配置完成也可以由控制設備根據接收到的其他網元的初發消息完成得到的。其中流表項中的數據流所需的動作列表包括待執行的一個或多個動作類型及對應的執行參數,這里動作類型包括:轉發、丟棄、隊列轉發、報文修改、封裝以及解封裝中的一個或多個動作。202、控制設備將報文處理信息發送至交換設備,以便于交換設備根據報文處理信息執行對應操作。其中,報文處理信息包括動作參數、待處理報文或待處理報文的標識、動作執行信息、待執行動作列表、繼續動作執行指令中至少一種。本發明實施例提供的數據流處理方法,交換設備通過預先接收控制設備發送的流表項處理報文,當交換設備所處理報文發生中斷時,該交換設備向控制設備發送請求消息,以便控制設備根據請求消息配置對應交換設備待處理報文的報文處理信息,使得交換設備根據報文處理信息完成待處理報文的操作,從而解決了交換設備通過接收的控制設備預先發送的流表項不能處理對應的用戶報文導致中斷操作的問題,進而提升了網絡設備間的工作效率,減少了對報文的錯誤處理。具體的,以下結合具體的實施例進行說明。可以在圖1或圖2所示的實施例的基礎上,參照圖3所示,本發明的實施例提供了一種數據流處理方法,主要包括:交換設備通過向控制設備發送請求消息,獲取控制設備根據請求消息配置的報文處理信息,使得交換設備根據報文處理信息執行對應待處理報文的執行操作;參照圖3所示,為交換設備在處理報文中發生中斷時通過接收控制設備發送的報文處理信息對報文進行操作的過程,具體步驟如下:301、控制設備預先向交換設備發送流表項,該流表項包括數據流的匹配信息及數據流所需的...