本發(fā)明涉及基于ForCES(Forwarding and Control Element Separation,轉(zhuǎn)發(fā)與控制分離)的SDN(Software Defined Network,軟件定義網(wǎng)絡(luò))網(wǎng)絡(luò)技術(shù),具體涉及一種基于本體的LFB(Logical Function Block,邏輯功能塊)自動組合方法。
背景技術(shù):
近年來,隨著移動互聯(lián)網(wǎng)的崛起,大數(shù)據(jù)云計算等技術(shù)的廣泛應(yīng)用,傳統(tǒng)的網(wǎng)絡(luò)已經(jīng)難以滿足如此高并發(fā)的數(shù)據(jù)流量需求,提供云計算能力的大型數(shù)據(jù)中心、分布式集群也不能沿用傳統(tǒng)的網(wǎng)絡(luò)管理配置方式。在此背景下,軟件定義網(wǎng)絡(luò)(SDN)被提出,SDN嘗試用軟件定義的方式去動態(tài)的管理網(wǎng)絡(luò)資源,給用戶提供動態(tài)構(gòu)建數(shù)據(jù)轉(zhuǎn)發(fā)網(wǎng)絡(luò)的能力。
SDN一經(jīng)提出,就受到了業(yè)界廣泛的關(guān)注,并被看作是未來網(wǎng)絡(luò)研究的發(fā)展方向。但對于SDN體系架構(gòu)的實現(xiàn),目前卻仍舊是一個具有爭議的課題。很多技術(shù)被嘗試用來實現(xiàn)SDN,具有代表性的是OpenFlow,但OpenFlow在性能、可靠性方面還有諸多問題,在此背景下,浙江工商大學(xué)的科研團(tuán)隊提出了新的軟件定義網(wǎng)絡(luò)的解決方案,即轉(zhuǎn)發(fā)與控制分離技術(shù),它的核心思想是將CE(Control Element,控制件)與FE(Forward Element,轉(zhuǎn)發(fā)件)分離,從而實現(xiàn)CE對FE集中控制的目的。另外,F(xiàn)orCES通過將底層網(wǎng)絡(luò)資源抽象成邏輯功能塊,實現(xiàn)了網(wǎng)絡(luò)虛擬化功能。ForCES的上述特性使得ForCES非常適合用來實現(xiàn)SDN,稱為基于ForCES的SDN網(wǎng)絡(luò)。
隨著云計算和大數(shù)據(jù)技術(shù)日趨成熟,學(xué)術(shù)界對人工智能的研究再度掀起一股熱潮。人工智能應(yīng)用領(lǐng)域極廣,在機(jī)器人領(lǐng)域,語義網(wǎng)領(lǐng)域皆是人工智能首要應(yīng)用場所。而軟件定義網(wǎng)絡(luò),作為未來網(wǎng)絡(luò),必定也是一個智能化的網(wǎng)絡(luò)。
本發(fā)明立足基于ForCES的SDN網(wǎng)絡(luò),針對LFB服務(wù)組合這個關(guān)鍵的網(wǎng)絡(luò)資源組合問題,提出一種基于本體的LFB自動組合方法,將推動ForCES向SDN的擴(kuò)展,也將推動基于ForCES的SDN網(wǎng)絡(luò)的智能化發(fā)展,具有重要的理論意義和應(yīng)用意義。
技術(shù)實現(xiàn)要素:
本發(fā)明的目的是為基于ForCES的SDN網(wǎng)絡(luò)提供轉(zhuǎn)發(fā)資源智能組合的支持,提出了一種基于本體的LFB自動組合方法。
本發(fā)明的目的是通過以下技術(shù)方案來實現(xiàn)的:一種基于本體的LFB自動組合方法,該方法具體包括以下步驟:
步驟1:用OWL-S(Ontology Web Language for Services,網(wǎng)絡(luò)服務(wù)本體語言)對LFB進(jìn)行描述,將LFB本體化,形成LFB本體庫。
所述OWL-S,是一種網(wǎng)絡(luò)服務(wù)本體語言。
所述LFB,是ForCES體系架構(gòu)中FE的資源抽象。ForCES將FE上功能相對獨立的資源抽象為LFB,通過將多個LFB連接形成LFB拓?fù)鋪碇С植煌姆?wù),實現(xiàn)資源的靈活可編程。所述ForCES是一種開放可編程的轉(zhuǎn)發(fā)與分離控制架構(gòu)。ForCES網(wǎng)絡(luò)件由一個或多個CE和多個FE組成。
所述LFB本體庫,是指采用OWL-S描述所有的LFB后形成的LFB本體描述文件集合。所述LFB本體描述文件,是指每個特定的LFB都對應(yīng)的被描述為一個本體文件,該文件用OWL-S的ServiceProfile屬性描述該LFB的輸入和輸出。所述LFB的輸入和輸出各自均包含packet和metadata。所述packet是指LFB的包類型,所述metadata是指LFB的元數(shù)據(jù)。
步驟2:分析LFB輸入輸出類型,將輸入輸出類型之間的關(guān)系描述成類層次結(jié)構(gòu),用本體描述后形成本體知識庫。
所述LFB輸入輸出類型包含Arbitrary、EthernetAll、IPv4、IPv6、IPv4Unicast、IPv6Unicast、IPv4Multicast和IPv6Multicast。
所述類層次結(jié)構(gòu)是指用父類子類的關(guān)系梳理LFB的輸入輸出類型。
所述本體知識庫,是指用本體來描述LFB輸入輸出的類層次結(jié)構(gòu),以本體形式存在的知識提供給自動組合推理使用。
步驟3:確定本體推理機(jī)使用的LFB組合推理邏輯。
所述本體推理機(jī)查詢、理解本體中包含的語義從而進(jìn)行自動推理。
所述LFB組合推理邏輯是指本體推理機(jī)用來推斷兩個LFB是否可以形成連接關(guān)系的推理邏輯,具體而言,前驅(qū)LFB的輸出packet類型應(yīng)當(dāng)包含等價于后繼LFB的輸入packet類型。
步驟4:根據(jù)用戶請求,調(diào)用本體推理機(jī),讀取LFB本體文件,依據(jù)LFB組合推理邏輯,進(jìn)行LFB的自動推理組合,形成LFB鏈。
所述LFB鏈,是指多個LFB連接形成的鏈?zhǔn)絃FB拓?fù)?。ForCES正是通過動態(tài)可編程,將多個LFB連接形成LFB鏈,來支持各種各樣不同的服務(wù)。
具體包含如下步驟:
4-1根據(jù)用戶請求,讀取所需LFB的本體文件。
4-2將讀取得到的LFB的輸入輸出參數(shù)分別放入輸入線性表和輸出線性表。
4-3循環(huán)遍歷輸入線性表和輸出線性表,按照LFB組合推理邏輯進(jìn)行自動推理。若兩個LFB滿足可連接關(guān)系,則將這對LFB存入LFB匹配對線性表。
4-5根據(jù)用戶請求,遍歷LFB匹配對線性表,選定LFB鏈的起始LFB對,然后繼續(xù)遍歷LFB匹配對線性表,選擇LFB鏈可繼續(xù)連接的LFB匹配對,追加到LFB鏈后面,如此循環(huán),形成最終完整的LFB鏈。
本發(fā)明有益效果如下:本發(fā)明提出一種基于本體的LFB自動組合方法,為基于ForCES的SDN網(wǎng)絡(luò)提供了一種基礎(chǔ)設(shè)施層細(xì)粒度的網(wǎng)絡(luò)資源LFB軟件可定義的方法,解決了LFB組合的關(guān)鍵問題,能積極推動ForCES向SDN的擴(kuò)展,也將積極推動基于ForCES的SDN網(wǎng)絡(luò)向智能化發(fā)展,具有重要的理論意義和應(yīng)用意義。
附圖說明
圖1為基于ForCES的SDN網(wǎng)絡(luò);
圖2為LFB組合引擎模塊圖;
圖3為基于本體的LFB自動組合過程流程圖;
圖4為IPv4Validator的本體化描述;
圖5為LFB本體知識庫;
圖6為推理機(jī)推理流程圖。
具體實施方式
下面結(jié)合附圖和實施例對本發(fā)明作進(jìn)一步的說明。
本發(fā)明提出一種基于本體的LFB自動組合方法,該方法在LFB組合引擎上實現(xiàn),包括以下具體步驟:
步驟1:用OWL-S對LFB進(jìn)行描述,將LFB本體化,形成LFB本體庫。
所述OWL-S,是一種網(wǎng)絡(luò)服務(wù)本體語言。
所述LFB,是ForCES體系架構(gòu)中FE的資源抽象。ForCES將FE上功能相對獨立的資源抽象為LFB,通過將多個LFB連接形成LFB拓?fù)鋪碇С植煌姆?wù),實現(xiàn)資源的靈活可編程。所述ForCES是一種開放可編程的轉(zhuǎn)發(fā)與分離控制架構(gòu)。ForCES網(wǎng)絡(luò)件由一個或多個CE和多個FE組成。
所述LFB本體庫,是指采用OWL-S描述所有的LFB后形成的LFB本體描述文件集合。所述LFB本體描述文件,是指每個特定的LFB都對應(yīng)的被描述為一個本體文件,該文件用OWL-S的ServiceProfile屬性描述該LFB的輸入和輸出。所述LFB的輸入和輸出各自均包含packet和metadata。所述packet是指LFB的包類型,所述metadata是指LFB的元數(shù)據(jù)。
步驟2:分析LFB輸入輸出類型,將輸入輸出類型之間的關(guān)系描述成類層次結(jié)構(gòu),用本體描述后形成本體知識庫。
所述LFB輸入輸出類型包含Arbitrary、EthernetAll、IPv4、IPv6、IPv4Unicast、IPv6Unicast、IPv4Multicast和IPv6Multicast。
所述類層次結(jié)構(gòu)是指用父類子類的關(guān)系梳理LFB的輸入輸出類型。
所述本體知識庫,是指用本體來描述LFB輸入輸出的類層次結(jié)構(gòu),以本體形式存在的知識提供給自動組合推理使用。
步驟3:確定本體推理機(jī)使用的LFB組合推理邏輯。
所述本體推理機(jī)是能查詢、理解本體中包含的語義從而能進(jìn)行自動推理的計算機(jī)程序。
所述LFB組合推理邏輯是指本體推理機(jī)用來推斷兩個LFB是否可以形成連接關(guān)系的推理邏輯,具體而言,前驅(qū)LFB的輸出packet類型應(yīng)當(dāng)包含等價于后繼LFB的輸入packet類型。
步驟4:根據(jù)用戶請求,調(diào)用本體推理機(jī),讀取LFB本體文件,依據(jù)LFB組合推理邏輯,進(jìn)行LFB的自動推理組合,形成LFB鏈。
所述LFB鏈,是指多個LFB連接形成的鏈?zhǔn)絃FB拓?fù)?。ForCES正是通過動態(tài)可編程,將多個LFB連接形成LFB鏈,來支持各種各樣不同的服務(wù)。
具體包含如下步驟:
4-1根據(jù)用戶請求,讀取所需LFB的本體文件。
4-2將讀取得到的LFB的輸入輸出參數(shù)分別放入輸入線性表和輸出線性表。
4-3循環(huán)遍歷輸入線性表和輸出線性表,按照LFB組合推理邏輯進(jìn)行自動推理。若兩個LFB滿足可連接關(guān)系,則將這對LFB存入LFB匹配對線性表。
4-5根據(jù)用戶請求,遍歷LFB匹配對線性表,選定LFB鏈的起始LFB對,然后繼續(xù)遍歷LFB匹配對線性表,選擇LFB鏈可繼續(xù)連接的LFB匹配對,追加到LFB鏈后面,如此循環(huán),形成最終完整的LFB鏈。
實施例
本發(fā)明所述的基于FoCES的SDN網(wǎng)絡(luò)架構(gòu)如圖1所示,整個網(wǎng)絡(luò)分為四層,即應(yīng)用層、配置層、控制層和基礎(chǔ)設(shè)施層。LFB組合發(fā)生在配置層的LFB組合引擎,其模塊圖如圖2所示,輸入是獨立的LFB,通過LFB自動組合模塊調(diào)用推理機(jī),讀取本體文件,最終輸出具有連接關(guān)系的LFB鏈。LFB是基礎(chǔ)設(shè)施層的資源,LFB組合的目的就是支持動態(tài)重組基礎(chǔ)設(shè)施層中的資源LFB,向應(yīng)用層靈活的提供服務(wù),達(dá)到轉(zhuǎn)發(fā)資源軟件可定義的目的。
基于本體的LFB自動組合過程如圖3所示,包括以下步驟,首先,用Web本體語言O(shè)WL-S對LFB進(jìn)行描述,將LFB本體化,形成LFB本體庫;然后,用類結(jié)構(gòu)梳理LFB輸入輸出類型,并用本體將該類結(jié)構(gòu)描述為本體知識庫;然后,確定LFB組合推理邏輯。最后,本體推理機(jī)讀取LFB本體文件,使用本體知識庫,依據(jù)LFB組合推理邏輯,自動推理,將LFB組合形成LFB鏈。本發(fā)明采用Pellet本體推理機(jī),所述Pellet本體推理機(jī)是由美國馬里蘭大學(xué)(College Park分校)的MindSwap實驗室開發(fā)的一款具有邏輯推理功能的軟件。為了便于本領(lǐng)域的技術(shù)人員理解和重現(xiàn)本發(fā)明,現(xiàn)以一個具體實例進(jìn)一步說明本發(fā)明的技術(shù)方案。
表一
為支持某IPv4轉(zhuǎn)發(fā)數(shù)據(jù)面服務(wù),需要重新組合三個LFB,分別是IPv4Validator、IPv4UcastLPM和IPv4NextHop。這三個LFB的輸入輸出特征如表一所示。具體的基于本體的LFB自動組合步驟如下:
1)用OWL-S對LFB進(jìn)行描述,將LFB本體化,形成LFB本體庫,本實施例需要對IPv4Validator、IPv4UcastLPM、IPv4NextHop這三個LFB進(jìn)行本體化描述。以IPv4Validator為例,IPv4Validator的本體化描述如圖4所示,該描述遵循OWL-S,描述完成后以本體文件的形式存在于LFB本體庫中。
2)分析LFB輸入輸出類型,將輸入輸出類型之間的關(guān)系描述成類層次結(jié)構(gòu),用本體描述后形成本體知識庫,分析現(xiàn)有的LFB輸入輸出特性,形成如圖5所示的本體知識庫,該知識庫以類結(jié)構(gòu)的形式表達(dá)了LFB的輸入輸出類型之間的包含關(guān)系。例如,EtherAll包含IPv4。
3)確定本體推理機(jī)使用的LFB組合推理邏輯。若前驅(qū)LFB的輸出packet類型包含等價于后繼LFB的輸入packet類型,則這兩個LFB成為可連接LFB對。確定推理機(jī)用EXACT、SUBSUME這兩個匹配標(biāo)準(zhǔn)進(jìn)行自動推理。
4)如圖6所示,開始按照算法調(diào)用推理機(jī)進(jìn)行LFB自動組合。讀取IPv4Validator、IPv4UcastLPM和IPv4NextHop這三個LFB的本體文件,解析查詢每個本體文件的輸入?yún)?shù)和輸出參數(shù)。如IPv4Validator的輸入數(shù)據(jù)包為Arbitrary,輸出數(shù)據(jù)包則有IPv4Unicast、IPv4Multicast、IPv4等。將所有的輸入放入一個線性表1中,將查詢到的所有的輸出放入另一個線性表2中。
5)遍歷線性表1和線性表2,推理機(jī)根據(jù)確定的推理邏輯自動匹配,將可連接的LFB對存入線性表3中。在該實施例中,線性表3中得到兩對可連接LFB對,即:IPv4ValidatorΘIPv4UcastLPM及IPv4UcastLPMΘIPv4NextHop。
6)根據(jù)服務(wù)請求,遍歷線性表3,確定起始LFB對,然后再次遍歷線性表3中的其他LFB對,將LFB對連接成LFB鏈。在本實施例中,起始LFB對是IPv4ValidatorΘIPv4UcastLPM,而且IPv4ValidatorΘIPv4UcastLPM的后繼LFB就是IPv4UcastLPMΘIPv4NextHop的前驅(qū)LFB,則將這兩個LFB對合并連接,形成LFB鏈,即IPv4ValidatorΘIPv4UcastLPMΘIPv4NextHop。這樣就將沒有連接關(guān)系的三個獨立的LFB(IPv4Validator、IPv4UcastLPM和IPv4NextHop)自動組合形成了LFB鏈。