本申請(qǐng)涉及通信技術(shù)領(lǐng)域,特別涉及一種基于網(wǎng)絡(luò)配置協(xié)議的設(shè)備配置方法及裝置。
背景技術(shù):
網(wǎng)絡(luò)配置協(xié)議(英文:networkconfigurationprotocol;縮寫:netconf)是一種基于可擴(kuò)展標(biāo)記語言(英文:extensiblemarkuplanguage;縮寫:xml)的網(wǎng)絡(luò)管理協(xié)議。netconf協(xié)議采用四層體系結(jié)構(gòu),包括:安全傳輸(英文:securetransport)層、消息(英文:messages)層、操作(英文:operations)層和內(nèi)容(英文:content)層。目前,netconf協(xié)議的安全傳輸層、消息層和操作層已經(jīng)有標(biāo)準(zhǔn)來定義,但內(nèi)容層尚未有標(biāo)準(zhǔn)的數(shù)據(jù)建模語言和相關(guān)的數(shù)據(jù)模型,這成為制約netconf協(xié)議真正普及應(yīng)用的重要因素。
近年來,yang(英文:yetanothernextgeneration)數(shù)據(jù)建模語言(英文:datamodelinglanguage)被國(guó)際互聯(lián)網(wǎng)工程任務(wù)組(英文:theinternetengineeringtaskforce;縮寫:ietf)作為標(biāo)準(zhǔn)的netconf數(shù)據(jù)建模語言。它不僅可以建立配置數(shù)據(jù)的模型(英文:modelconfigurationdata),還可以建立各種操作和通知的模型,具有良好的可讀性和可擴(kuò)展性。目前,yang語言可以對(duì)netconf協(xié)議的內(nèi)容層、操作層和消息層進(jìn)行數(shù)據(jù)建模。
netconf協(xié)議采用客戶端/服務(wù)器(英文:client/server;縮寫:c/s)架構(gòu)。如圖1所示,其示出了netconf與yang的關(guān)系示意圖。netconf客戶端與netconf服務(wù)器之間基于netconf協(xié)議通信。netconf客戶端使用yang語言建立配置數(shù)據(jù)的模型,而后采用xml對(duì)建模后的配置數(shù)據(jù)進(jìn)行編碼得到xml文件,netconf客戶端向netconf服務(wù)器下發(fā)的netconf消息中攜帶上述xml文件。netconf服務(wù)器從netconf客戶端接收到netconf消息之后,對(duì)消息內(nèi)容進(jìn)行解析處理得到配置數(shù)據(jù)。
如圖2所示,其示出了一種設(shè)備級(jí)聯(lián)場(chǎng)景的示意圖。網(wǎng)管設(shè)備21與被管理 設(shè)備22相連,被管理設(shè)備22與若干個(gè)下級(jí)設(shè)備23相連。其中,網(wǎng)管設(shè)備21作為netconf客戶端,被管理設(shè)備22作為netconf服務(wù)器,網(wǎng)管設(shè)備21與被管理設(shè)備22之間基于netconf協(xié)議通信。被管理設(shè)備22與下級(jí)設(shè)備23之間可基于任意的配置管理協(xié)議通信。例如,被管理設(shè)備22與下級(jí)設(shè)備23之間基于無線接入點(diǎn)的控制和配置協(xié)議(英文:controlandprovisioningofwirelessaccesspointsprotocolspecification;縮寫:capwap)通信。網(wǎng)管設(shè)備21通過netconf協(xié)議,配置被管理設(shè)備22和下級(jí)設(shè)備23配置。下級(jí)設(shè)備23不直接與網(wǎng)管設(shè)備21相連,而是通過capwap接收被管理設(shè)備22發(fā)送的配置數(shù)據(jù)。被管理設(shè)備22接收網(wǎng)管設(shè)備21發(fā)送的配置數(shù)據(jù),包括對(duì)被管理設(shè)備22的配置數(shù)據(jù)和下級(jí)設(shè)備23的配置數(shù)據(jù)。對(duì)于網(wǎng)管設(shè)備21下發(fā)的對(duì)下級(jí)設(shè)備23的配置數(shù)據(jù),被管理設(shè)備22終結(jié)網(wǎng)管設(shè)備21下發(fā)的netconf消息,對(duì)消息內(nèi)容進(jìn)行解析處理得到配置數(shù)據(jù),而后將配置數(shù)據(jù)重新封裝為capwap報(bào)文并發(fā)送至下級(jí)設(shè)備23。
對(duì)于上述圖2所示的設(shè)備級(jí)聯(lián)場(chǎng)景,在采用netconf協(xié)議進(jìn)行配置管理時(shí)存在如下問題:在標(biāo)準(zhǔn)的netconf消息中,并沒有體現(xiàn)配置數(shù)據(jù)與被配置設(shè)備之間的關(guān)系。也即,被管理設(shè)備22無法獲知netconf消息中攜帶的配置數(shù)據(jù)是下發(fā)給哪個(gè)或哪些下級(jí)設(shè)備23的。為了解決上述問題,在現(xiàn)有技術(shù)中,通過在netconf消息中添加擴(kuò)展字段,利用該擴(kuò)展字段實(shí)現(xiàn)附加信息的傳遞。具體來講,網(wǎng)管設(shè)備21向被管理設(shè)備22下發(fā)的netconf消息中包括內(nèi)容字段和擴(kuò)展字段。其中,內(nèi)容字段按照yang語言定義的數(shù)據(jù)模型,攜帶配置數(shù)據(jù);擴(kuò)展字段攜帶設(shè)備信息,該設(shè)備信息用于指示該netconf消息中的配置數(shù)據(jù)的目標(biāo)下級(jí)設(shè)備。
然而,上述現(xiàn)有技術(shù)至少存在如下技術(shù)問題:
1、由于需要在netconf消息中添加擴(kuò)展字段,以增加私有的設(shè)備信息,導(dǎo)致網(wǎng)管設(shè)備和第三方供應(yīng)商提供的被管理設(shè)備無法對(duì)接,方案的通用性較差;
2、一條netconf消息中,只能攜帶對(duì)于某個(gè)下級(jí)設(shè)備的配置數(shù)據(jù)或者攜帶對(duì)于某些下級(jí)設(shè)備均相同的配置數(shù)據(jù),不同的配置數(shù)據(jù)需要通過多條netconf消息分多次發(fā)送,導(dǎo)致配置處理的效率較低;
3、被管理設(shè)備需要根據(jù)擴(kuò)展字段,針對(duì)不同的下級(jí)設(shè)備生成多個(gè)不同的數(shù)據(jù)庫(kù),以分別存儲(chǔ)相應(yīng)的配置數(shù)據(jù),導(dǎo)致保存數(shù)據(jù)的處理流程較為復(fù)雜。
技術(shù)實(shí)現(xiàn)要素:
為了解決現(xiàn)有技術(shù)中針對(duì)設(shè)備級(jí)聯(lián)場(chǎng)景,采用在netconf消息中添加擴(kuò)展字段的方式指示netconf消息中的配置數(shù)據(jù)的目標(biāo)下級(jí)設(shè)備,所存在的方案的通用性較差、配置處理的效率較低、以及保存數(shù)據(jù)的處理流程較為復(fù)雜的問題,本申請(qǐng)實(shí)施例提供了一種基于網(wǎng)絡(luò)配置協(xié)議的設(shè)備配置方法及裝置。所述技術(shù)方案如下:
第一方面,提供了一種基于netconf協(xié)議的設(shè)備配置方法,該方法應(yīng)用于網(wǎng)管設(shè)備中。網(wǎng)管設(shè)備與被管理設(shè)備相連,被管理設(shè)備與若干個(gè)下級(jí)設(shè)備相連,網(wǎng)管設(shè)備和被管理設(shè)備支持netconf協(xié)議。該方法包括:采用預(yù)定義yang模型建立配置數(shù)據(jù)的模型;其中,預(yù)定義yang模型中包括n個(gè)引用字段以及與每一個(gè)引用字段分別對(duì)應(yīng)的若干個(gè)對(duì)象字段,引用字段用于指示在預(yù)定義yang模型中被引用的yang模型,第i個(gè)引用字段對(duì)應(yīng)的對(duì)象字段用于指示第i個(gè)引用字段中引用的yang模型模型化的目標(biāo)配置數(shù)據(jù)的目標(biāo)下級(jí)設(shè)備和/或下級(jí)設(shè)備群組,下級(jí)設(shè)備群組是指由若干個(gè)下級(jí)設(shè)備構(gòu)成的群組,1≤i≤n且i、n為正整數(shù);基于netconf協(xié)議向被管理設(shè)備發(fā)送上述配置數(shù)據(jù)。
在第一方面的第一種可能的實(shí)施方式中,引用字段采用第一聲明進(jìn)行定義,第一聲明用于在一個(gè)yang模型中引用另一yang模型所定義的模型樹。
結(jié)合第一方面或者第一方面的第一種可能的實(shí)施方式,在第一方面的第二種可能的實(shí)施方式中,對(duì)象字段采用leaf-list特性進(jìn)行定義,leaf-list特性用于描述一組相同類型的葉子節(jié)點(diǎn)。
結(jié)合第一方面、第一方面的第一種可能的實(shí)施方式或者第一方面的第二種可能的實(shí)施方式,在第一方面的第三種可能的實(shí)施方式中,第i個(gè)引用字段對(duì)應(yīng)的對(duì)象字段包括:若干個(gè)第一對(duì)象字段和/或若干個(gè)第二對(duì)象字段。每一個(gè)第一對(duì)象字段用于指示第i個(gè)引用字段中引用的yang模型模型化的目標(biāo)配置數(shù)據(jù)所要下發(fā)至的一個(gè)下級(jí)設(shè)備。每一個(gè)第二對(duì)象字段用于指示第i個(gè)引用字段中引用的yang模型模型化的目標(biāo)配置數(shù)據(jù)所要下發(fā)至的一個(gè)下級(jí)設(shè)備群組。
第二方面,提供了一種基于netconf協(xié)議的設(shè)備配置方法,該方法應(yīng)用于被管理設(shè)備中。被管理設(shè)備與網(wǎng)管設(shè)備相連,被管理設(shè)備還與若干個(gè)下級(jí)設(shè)備相連,網(wǎng)管設(shè)備和被管理設(shè)備支持netconf協(xié)議。該方法包括:接收網(wǎng)管 設(shè)備基于netconf協(xié)議發(fā)送的配置數(shù)據(jù);其中,配置數(shù)據(jù)由網(wǎng)管設(shè)備采用預(yù)定義yang模型模型化;根據(jù)預(yù)定義yang模型解析配置數(shù)據(jù);根據(jù)解析得到的配置數(shù)據(jù)配置下級(jí)設(shè)備。
在第二方面的第一種可能的實(shí)施方式中,根據(jù)解析得到的配置數(shù)據(jù)配置下級(jí)設(shè)備,包括:對(duì)于第i個(gè)引用字段中引用的yang模型模型化的目標(biāo)配置數(shù)據(jù),根據(jù)第i個(gè)引用字段對(duì)應(yīng)的對(duì)象字段確定目標(biāo)配置數(shù)據(jù)的目標(biāo)下級(jí)設(shè)備,目標(biāo)下級(jí)設(shè)備是指第i個(gè)引用字段對(duì)應(yīng)的對(duì)象字段所指示的下級(jí)設(shè)備和/或下級(jí)設(shè)備群組中的下級(jí)設(shè)備;基于目標(biāo)配置管理協(xié)議向目標(biāo)下級(jí)設(shè)備發(fā)送目標(biāo)配置數(shù)據(jù),目標(biāo)配置管理協(xié)議是被管理設(shè)備和目標(biāo)下級(jí)設(shè)備支持的配置管理協(xié)議。
結(jié)合第二方面或者第二方面的第一種可能的實(shí)施方式,在第二方面的第二種可能的實(shí)施方式中,根據(jù)預(yù)定義yang模型解析配置數(shù)據(jù)之后,還包括:將解析得到的配置數(shù)據(jù)存儲(chǔ)至同一配置數(shù)據(jù)庫(kù)中。
第三方面,提供了一種基于netconf協(xié)議的設(shè)備配置裝置,該裝置包括至少一個(gè)單元,該至少一個(gè)單元用于實(shí)現(xiàn)上述第一方面或者第一方面中任意一種可能的實(shí)施方式所提供的設(shè)備配置方法。
第四方面,提供了一種基于netconf協(xié)議的設(shè)備配置裝置,該裝置包括至少一個(gè)單元,該至少一個(gè)單元用于實(shí)現(xiàn)上述第二方面或者第二方面中任意一種可能的實(shí)施方式所提供的設(shè)備配置方法。
第五方面,提供了一種基于netconf協(xié)議的設(shè)備配置系統(tǒng),該系統(tǒng)包括:網(wǎng)管設(shè)備、被管理設(shè)備和若干個(gè)下級(jí)設(shè)備。其中,網(wǎng)管設(shè)備與被管理設(shè)備相連,被管理設(shè)備與若干個(gè)下級(jí)設(shè)備相連,網(wǎng)管設(shè)備和被管理設(shè)備支持netconf協(xié)議。網(wǎng)管設(shè)備包括如第三方面所述的設(shè)備配置裝置;被管理設(shè)備包括如第四方面所述的設(shè)備配置裝置。
第六方面,提供了一種網(wǎng)管設(shè)備,該網(wǎng)管設(shè)備包括:處理器、存儲(chǔ)器和收發(fā)器,存儲(chǔ)器用于存儲(chǔ)一個(gè)或者一個(gè)以上的指令,該指令被配置成由處理器執(zhí)行,該指令用于實(shí)現(xiàn)上述第一方面或者第一方面中任意一種可能的實(shí)施方式所提供的設(shè)備配置方法。
第七方面,提供了一種被管理設(shè)備,該被管理設(shè)備包括:處理器、存儲(chǔ)器和收發(fā)器,存儲(chǔ)器用于存儲(chǔ)一個(gè)或者一個(gè)以上的指令,該指令被配置成由處理器執(zhí)行,該指令用于實(shí)現(xiàn)上述第二方面或者第二方面中任意一種可能的實(shí)施方 式所提供的設(shè)備配置方法。
本申請(qǐng)實(shí)施例提供的技術(shù)方案帶來的有益效果包括:
通過網(wǎng)管設(shè)備采用預(yù)定義yang模型建立配置數(shù)據(jù)的模型,而后基于netconf協(xié)議向被管理設(shè)備發(fā)送上述配置數(shù)據(jù),被管理設(shè)備根據(jù)該預(yù)定義yang模型解析配置數(shù)據(jù),并根據(jù)解析得到的配置數(shù)據(jù)配置下級(jí)設(shè)備;解決了現(xiàn)有技術(shù)中針對(duì)設(shè)備級(jí)聯(lián)場(chǎng)景,采用在netconf消息中添加擴(kuò)展字段的方式指示netconf消息中的配置數(shù)據(jù)的目標(biāo)下級(jí)設(shè)備,所存在的方案的通用性較差、配置處理的效率較低、以及保存數(shù)據(jù)的處理流程較為復(fù)雜的問題。
在不修改已經(jīng)定義的yang模型的前提下,通過預(yù)定義yang模型,在該預(yù)定義yang模型中設(shè)計(jì)引用字段和對(duì)象字段,實(shí)現(xiàn)引用配置數(shù)據(jù),以及指示配置數(shù)據(jù)的目標(biāo)下級(jí)設(shè)備和/或下級(jí)設(shè)備群組,所達(dá)到的技術(shù)效果包括:
第一,由于并未在netconf消息中添加擴(kuò)展字段,因而無需擴(kuò)展netconf協(xié)議,使得網(wǎng)管設(shè)備與被管理設(shè)備之間仍然基于標(biāo)準(zhǔn)的netconf協(xié)議通信,方案的通用性更好;
第二,由于可通過多個(gè)引用字段在預(yù)定義yang模型中引用多個(gè)yang模型模型化的配置數(shù)據(jù),且每一項(xiàng)配置數(shù)據(jù)的目標(biāo)下級(jí)設(shè)備和/或下級(jí)設(shè)備群組可分別標(biāo)識(shí),因此在一條netconf消息中,可以攜帶針對(duì)不同的下級(jí)設(shè)備/下級(jí)設(shè)備群組所下發(fā)的不同的配置數(shù)據(jù),從而提高配置處理的效率;
第三,由于網(wǎng)管設(shè)備下發(fā)的netconf消息中攜帶的配置數(shù)據(jù),統(tǒng)一使用預(yù)定義yang模型進(jìn)行建模,使得被管理設(shè)備中可以只維護(hù)與預(yù)定義yang模型對(duì)應(yīng)的數(shù)據(jù)庫(kù),無需為不同的下級(jí)設(shè)備和下級(jí)設(shè)備群組分別維護(hù)多個(gè)不同的數(shù)據(jù)庫(kù),簡(jiǎn)化了數(shù)據(jù)庫(kù)的配置管理,同時(shí)也簡(jiǎn)化了保存數(shù)據(jù)的處理流程。
附圖說明
為了更清楚地說明本申請(qǐng)實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例及現(xiàn)有技術(shù)描述中所需要使用的附圖作簡(jiǎn)單地介紹。
圖1示出了netconf與yang的關(guān)系示意圖;
圖2示出了一種設(shè)備級(jí)聯(lián)場(chǎng)景的示意圖;
圖3a示出了本申請(qǐng)實(shí)施例涉及的一種應(yīng)用場(chǎng)景的示意圖;
圖3b示出了本申請(qǐng)實(shí)施例涉及的另一應(yīng)用場(chǎng)景的示意圖;
圖4示出了無線局域網(wǎng)中的設(shè)備級(jí)聯(lián)場(chǎng)景的網(wǎng)絡(luò)架構(gòu)圖;
圖5a/圖5b示出了本申請(qǐng)一個(gè)實(shí)施例提供的網(wǎng)絡(luò)設(shè)備的框圖;
圖6示出了本申請(qǐng)一個(gè)實(shí)施例提供的基于netconf協(xié)議的設(shè)備配置方法的流程圖;
圖7示出了本申請(qǐng)另一實(shí)施例提供的基于netconf協(xié)議的設(shè)備配置方法的流程圖;
圖8示出了本申請(qǐng)另一實(shí)施例提供的基于netconf協(xié)議的設(shè)備配置方法的流程圖;
圖9示出了本申請(qǐng)一個(gè)實(shí)施例提供的基于netconf協(xié)議的設(shè)備配置裝置的框圖;
圖10示出了本申請(qǐng)另一實(shí)施例提供的基于netconf協(xié)議的設(shè)備配置裝置的框圖。
具體實(shí)施方式
為使本申請(qǐng)的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合附圖對(duì)本申請(qǐng)實(shí)施方式作進(jìn)一步地詳細(xì)描述。
在本文中提及的“模塊”是指存儲(chǔ)在存儲(chǔ)器中的能夠?qū)崿F(xiàn)某些功能的程序或指令;在本文中提及的“單元”是指按照邏輯劃分的功能性結(jié)構(gòu),該“單元”可以由純硬件實(shí)現(xiàn),或者由軟硬件的結(jié)合實(shí)現(xiàn)。
在本文中提及的“若干個(gè)”是指一個(gè)或多個(gè),“多個(gè)”是指兩個(gè)或兩個(gè)以上?!昂?或”,描述關(guān)聯(lián)對(duì)象的關(guān)聯(lián)關(guān)系,表示可以存在三種關(guān)系,例如,a和/或b,可以表示:?jiǎn)为?dú)存在a,同時(shí)存在a和b,單獨(dú)存在b這三種情況。字符“/”一般表示前后關(guān)聯(lián)對(duì)象是一種“或”的關(guān)系。
本申請(qǐng)實(shí)施例提供的技術(shù)方案,應(yīng)用于如圖2所示的設(shè)備級(jí)聯(lián)場(chǎng)景中。在一種可能的實(shí)施方式中,如圖3a所示,網(wǎng)管設(shè)備21作為netconf客戶端,被管理設(shè)備22作為netconf服務(wù)器。網(wǎng)管設(shè)備21與被管理設(shè)備22之間基于netconf協(xié)議通信,而被管理設(shè)備22與下級(jí)設(shè)備23之間基于非netconf協(xié)議通信。例如,當(dāng)該設(shè)備級(jí)聯(lián)場(chǎng)景應(yīng)用于無線局域網(wǎng)(英文:wirelesslocalareanetwork;縮寫:wlan)中時(shí),上述非netconf協(xié)議可以是capwap。
在另一種可能的實(shí)施方式中,如圖3b所示,網(wǎng)管設(shè)備21作為netconf客戶端,被管理設(shè)備22作為netconf代理,下級(jí)設(shè)備23作為netconf服務(wù)器。對(duì)于網(wǎng)管設(shè)備21,netconf代理實(shí)現(xiàn)netconf服務(wù)器的功能;對(duì)于下級(jí)設(shè)備23,netconf代理實(shí)現(xiàn)netconf客戶端的功能。網(wǎng)管設(shè)備21與被管理設(shè)備22之間基于netconf協(xié)議通信,且被管理設(shè)備22與下級(jí)設(shè)備23之間也基于netconf協(xié)議通信。
需要說明的一點(diǎn)是,netconf客戶端、netconf服務(wù)器和netconf代理均是運(yùn)行在設(shè)備中的軟件進(jìn)程,而非硬件。
如圖4所示,以wlan中的設(shè)備級(jí)聯(lián)場(chǎng)景為例,該網(wǎng)絡(luò)架構(gòu)包括:控制器41、本地控制器(英文:localaccesscontroller;縮寫:lac)42和若干個(gè)接入點(diǎn)(英文:accesspoint;縮寫:ap)??刂破?1與lac42之間基于netconf協(xié)議通信,lac42與ap之間基于capwap通信。
控制器41作為netconf客戶端??刂破?1用于通過netconf協(xié)議配置lac42和各個(gè)ap??刂破?1也可稱為集中控制器或敏捷控制器,用于集中式管理其下屬的ap??刂破?1下屬管理的ap的數(shù)量可達(dá)到十萬級(jí)、甚至百萬級(jí)。
lac42作為netconf服務(wù)器。lac42用于接收控制器41發(fā)送的配置數(shù)據(jù),包括對(duì)lac42的配置數(shù)據(jù)和對(duì)lac42管理的ap的配置數(shù)據(jù)。對(duì)于控制器41下發(fā)的netconf消息,lac42終結(jié)該netconf消息,對(duì)解析消息內(nèi)容得到配置數(shù)據(jù),而后將配置數(shù)據(jù)重新封裝為capwap報(bào)文并發(fā)送給相應(yīng)的ap。lac42也可稱為輕量級(jí)接入控制器(英文:lightaccesscontroller)。lac42與ap之間通過局域網(wǎng)建立通信連接。例如,lac42可通過一級(jí)或多級(jí)交換機(jī)與ap相連;再例如,lac42也可通過一級(jí)或多級(jí)路由器與ap相連。
ap不直接與控制器41相連,而是通過capwap接收lac42發(fā)送的配置數(shù)據(jù)。
此外,每個(gè)lac42可用于管理若干個(gè)ap和/或若干個(gè)ap組。每一個(gè)ap組中包括至少一個(gè)ap。例如,圖4中左側(cè)的lac42用于管理ap3和兩個(gè)ap組(組1和組2),組1中包括ap1和ap2,組2中包括ap4。
若采用現(xiàn)有技術(shù)提供的在netconf消息中添加擴(kuò)展字段的方式,對(duì)ap 的動(dòng)態(tài)主動(dòng)配置協(xié)議(英文:dynamichostconfigurationprotocol;縮寫:dhcp)、域名系統(tǒng)(英文:domainnamesystem;縮寫:dns)等特性進(jìn)行配置,具體流程如下:
1、控制器采用yang模型建立配置數(shù)據(jù)的模型;
以對(duì)ap的dhcp特性進(jìn)行配置為例,假設(shè)相應(yīng)的yang模型為hw-dhcp.yang,控制器采用hw-dhcp.yang所定義的數(shù)據(jù)模型,對(duì)dhcp配置數(shù)據(jù)建模。
2、控制器生成netconf消息;
netconf消息中包括內(nèi)容字段和擴(kuò)展字段。其中,內(nèi)容字段攜帶采用yang模型構(gòu)建的配置數(shù)據(jù),例如采用hw-dhcp.yang模型化的dhcp配置數(shù)據(jù)。擴(kuò)展字段攜帶設(shè)備信息,該設(shè)備信息用于指示該netconf消息中的配置數(shù)據(jù)所要下發(fā)至的ap和/或ap組。例如,當(dāng)ap3和group1中的ap1、ap2均適用上述dhcp配置數(shù)據(jù)時(shí),擴(kuò)展字段攜帶ap3和group1所對(duì)應(yīng)的標(biāo)識(shí)信息。
例如,該netconf消息如下:
3、控制器向lac發(fā)送netconf消息;
相應(yīng)地,lac從控制器接收netconf消息。
4、lac解析netconf消息,得到擴(kuò)展字段中攜帶的設(shè)備信息和內(nèi)容字段中攜帶的配置數(shù)據(jù)。
5、lac將配置數(shù)據(jù)分別存入擴(kuò)展字段所指示的ap和/或ap組所對(duì)應(yīng)的數(shù)據(jù)庫(kù)中。
例如,lac將dhcp配置數(shù)據(jù)存入group1所對(duì)應(yīng)的數(shù)據(jù)庫(kù)db1中;以及,將dhcp配置數(shù)據(jù)存入ap3所對(duì)應(yīng)的數(shù)據(jù)庫(kù)db2中。
6、lac根據(jù)設(shè)備信息和配置數(shù)據(jù)配置ap。
lac中用于配置管理ap的功能模塊,在監(jiān)測(cè)到數(shù)據(jù)庫(kù)中的配置數(shù)據(jù)發(fā)生變化后,從數(shù)據(jù)庫(kù)讀取配置數(shù)據(jù),并將配置數(shù)據(jù)分別發(fā)送給相應(yīng)的ap和/或ap組。
因此,針對(duì)設(shè)備級(jí)聯(lián)場(chǎng)景,采用現(xiàn)有技術(shù)提供的在netconf消息中添加擴(kuò)展字段的方式配置下級(jí)設(shè)備,存在方案的通用性較差、配置處理的效率較低、以及保存數(shù)據(jù)的處理流程較為復(fù)雜的問題。
下面,通過幾個(gè)實(shí)施例對(duì)本申請(qǐng)?zhí)峁┑募夹g(shù)方案進(jìn)行介紹和說明。
請(qǐng)參考圖5a/圖5b,其示出了本申請(qǐng)一個(gè)實(shí)施例提供的網(wǎng)絡(luò)設(shè)備的框圖。網(wǎng)絡(luò)設(shè)備500可以是本申請(qǐng)實(shí)施例中涉及的網(wǎng)管設(shè)備(例如圖4所示網(wǎng)絡(luò)架構(gòu)中的控制器),也可以是本申請(qǐng)實(shí)施例中涉及的被管理設(shè)備(例如圖4所示網(wǎng)絡(luò)架構(gòu)中的lac)。
網(wǎng)絡(luò)設(shè)備500可以包括:處理器510、存儲(chǔ)器520、收發(fā)器530以及總線540。存儲(chǔ)器520和收發(fā)器530通過總線540與處理器510相連。
處理器510包括一個(gè)或者一個(gè)以上處理核心。處理器510通過運(yùn)行軟件程序以及模塊,從而執(zhí)行各種功能應(yīng)用以及數(shù)據(jù)處理。處理器510包括運(yùn)算邏輯部件、寄存器部件以及控制部件等,其可以是獨(dú)立的中央處理器,或者也可以是嵌入式處理器,比如微處理器(英文:microprocessorunit;縮寫:mpu)、微控制器(英文:microcontrollerunit;縮寫:mcu)或者數(shù)字信號(hào)處理器(英文:embeddeddigitalsignalprocessor;縮寫:edsp)等。
存儲(chǔ)器520可以由任何類型的易失性或非易失性存儲(chǔ)設(shè)備或者它們的組合實(shí)現(xiàn),如靜態(tài)隨機(jī)存取存儲(chǔ)器(英文:staticrandomaccessmemory;縮寫:sram),電可擦除可編程只讀存儲(chǔ)器(英文:electricallyerasableprogrammableread-onlymemory;縮寫:eeprom),可擦除可編程只讀存儲(chǔ)器(英文:erasableprogrammableread-onlymemory;縮寫:eprom),可編程只讀存儲(chǔ)器(英文:programmableread-onlymemory;縮寫:prom),只讀存儲(chǔ)器(英文:readonlymemory;縮寫:rom),磁存儲(chǔ)器,快閃存儲(chǔ)器,磁盤或光盤。存儲(chǔ)器520可用于存儲(chǔ)軟件程序以及模塊等可執(zhí)行的指令。
處理器510被配置為執(zhí)行存儲(chǔ)器520中存儲(chǔ)的指令。當(dāng)網(wǎng)絡(luò)設(shè)備500為網(wǎng) 管設(shè)備時(shí),處理器510通過執(zhí)行該指令來實(shí)現(xiàn)下述方法:采用預(yù)定義yang模型建立配置數(shù)據(jù)的模型;控制收發(fā)器530基于netconf協(xié)議向被管理設(shè)備發(fā)送上述配置數(shù)據(jù)。預(yù)定義yang模型中包括n個(gè)引用字段以及與每一個(gè)引用字段分別對(duì)應(yīng)的若干個(gè)對(duì)象字段。引用字段用于指示在預(yù)定義yang模型中被引用的yang模型。第i個(gè)引用字段對(duì)應(yīng)的對(duì)象字段用于指示第i個(gè)引用字段中引用的yang模型模型化的目標(biāo)配置數(shù)據(jù)的目標(biāo)下級(jí)設(shè)備和/或下級(jí)設(shè)備群組。下級(jí)設(shè)備群組是指由若干個(gè)下級(jí)設(shè)備構(gòu)成的群組。其中,1≤i≤n且i、n為正整數(shù)。當(dāng)網(wǎng)絡(luò)設(shè)備500為被管理設(shè)備時(shí),處理器510通過執(zhí)行該指令來實(shí)現(xiàn)下述方法:控制收發(fā)器530接收網(wǎng)管設(shè)備基于netconf協(xié)議發(fā)送的配置數(shù)據(jù);根據(jù)預(yù)定義yang模型解析配置數(shù)據(jù);根據(jù)解析得到的配置數(shù)據(jù)配置下級(jí)設(shè)備。
收發(fā)器530用于對(duì)外通信,其可以包括多種類型接口。例如,當(dāng)網(wǎng)絡(luò)設(shè)備500為網(wǎng)管設(shè)備時(shí),收發(fā)器530用于基于netconf協(xié)議向被管理設(shè)備發(fā)送配置數(shù)據(jù)。當(dāng)網(wǎng)絡(luò)設(shè)備500為被管理設(shè)備時(shí),收發(fā)器530用于接收網(wǎng)管設(shè)備基于netconf協(xié)議發(fā)送的配置數(shù)據(jù)。
可選地,存儲(chǔ)器520可存儲(chǔ)操作系統(tǒng)522以及至少一個(gè)功能所需的應(yīng)用程序模塊524。操作系統(tǒng)522可以是實(shí)時(shí)操作系統(tǒng)、linux、unix、windows或osx之類的操作系統(tǒng)。當(dāng)網(wǎng)絡(luò)設(shè)備500為網(wǎng)管設(shè)備時(shí),如圖5a所示,應(yīng)用程序模塊524可以包括:建模模塊524a和發(fā)送模塊524b。建模模塊524a用于采用預(yù)定義yang模型建立配置數(shù)據(jù)的模型。發(fā)送模塊524b用于基于netconf協(xié)議向被管理設(shè)備發(fā)送上述配置數(shù)據(jù)。當(dāng)網(wǎng)絡(luò)設(shè)備500為被管理設(shè)備時(shí),如圖5b所示,應(yīng)用程序模塊524可以包括:接收模塊524c、解析模塊524d和配置模塊524e。接收模塊524c用于接收網(wǎng)管設(shè)備基于netconf協(xié)議發(fā)送的配置數(shù)據(jù)。解析模塊524d用于根據(jù)預(yù)定義yang模型解析配置數(shù)據(jù)。配置模塊524e用于根據(jù)解析得到的配置數(shù)據(jù)配置下級(jí)設(shè)備。
可選地,網(wǎng)絡(luò)設(shè)備500還可以包括輸入/輸出組件(圖中未示出)。輸入/輸出組件包括有用于顯示信息的顯示器和用于用戶輸入信息的諸如鼠標(biāo)、鍵盤之類的輸入設(shè)備。其中,顯示器和輸入設(shè)備都通過總線540與處理器510相連。
請(qǐng)參考圖6,其示出了本申請(qǐng)一個(gè)實(shí)施例提供的基于netconf協(xié)議的設(shè)備配置方法的流程圖。本實(shí)施例提供的方法應(yīng)用于網(wǎng)管設(shè)備中。其中,網(wǎng)管設(shè)備 與被管理設(shè)備相連,被管理設(shè)備與若干個(gè)下級(jí)設(shè)備相連,網(wǎng)管設(shè)備和被管理設(shè)備支持netconf協(xié)議。該方法包括如下幾個(gè)步驟。
步驟602,采用預(yù)定義yang模型建立配置數(shù)據(jù)的模型。
預(yù)定義yang模型中包括n個(gè)引用字段以及與每一個(gè)引用字段分別對(duì)應(yīng)的若干個(gè)對(duì)象字段。引用字段用于指示在預(yù)定義yang模型中被引用的yang模型。第i個(gè)引用字段對(duì)應(yīng)的對(duì)象字段用于指示第i個(gè)引用字段中引用的yang模型模型化的目標(biāo)配置數(shù)據(jù)的目標(biāo)下級(jí)設(shè)備和/或下級(jí)設(shè)備群組。下級(jí)設(shè)備群組是指由若干個(gè)下級(jí)設(shè)備構(gòu)成的群組。其中,1≤i≤n且i、n為正整數(shù)。
步驟604,基于netconf協(xié)議向被管理設(shè)備發(fā)送上述配置數(shù)據(jù)。
綜上所述,本實(shí)施例提供的方法,通過網(wǎng)管設(shè)備采用預(yù)定義yang模型建立配置數(shù)據(jù)的模型,而后基于netconf協(xié)議向被管理設(shè)備發(fā)送上述配置數(shù)據(jù);解決了現(xiàn)有技術(shù)中針對(duì)設(shè)備級(jí)聯(lián)場(chǎng)景,采用在netconf消息中添加擴(kuò)展字段的方式指示netconf消息中的配置數(shù)據(jù)的目標(biāo)下級(jí)設(shè)備,所存在的方案的通用性較差、配置處理的效率較低、以及保存數(shù)據(jù)的處理流程較為復(fù)雜的問題。在不修改已經(jīng)定義的yang模型的前提下,通過預(yù)定義yang模型,在該預(yù)定義yang模型中設(shè)計(jì)引用字段和對(duì)象字段,實(shí)現(xiàn)引用配置數(shù)據(jù),以及指示配置數(shù)據(jù)的目標(biāo)下級(jí)設(shè)備和/或下級(jí)設(shè)備群組,所達(dá)到的技術(shù)效果包括:
第一,由于并未在netconf消息中添加擴(kuò)展字段,因而無需擴(kuò)展netconf協(xié)議,使得網(wǎng)管設(shè)備與被管理設(shè)備之間仍然基于標(biāo)準(zhǔn)的netconf協(xié)議通信,方案的通用性更好;
第二,由于可通過多個(gè)引用字段在預(yù)定義yang模型中引用多個(gè)yang模型模型化的配置數(shù)據(jù),且每一項(xiàng)配置數(shù)據(jù)的目標(biāo)下級(jí)設(shè)備和/或下級(jí)設(shè)備群組可分別標(biāo)識(shí),因此在一條netconf消息中,可以攜帶針對(duì)不同的下級(jí)設(shè)備/下級(jí)設(shè)備群組所下發(fā)的不同的配置數(shù)據(jù),從而提高配置處理的效率;
第三,由于網(wǎng)管設(shè)備下發(fā)的netconf消息中攜帶的配置數(shù)據(jù),統(tǒng)一使用預(yù)定義yang模型進(jìn)行建模,使得被管理設(shè)備中可以只維護(hù)與預(yù)定義yang模型對(duì)應(yīng)的數(shù)據(jù)庫(kù),無需為不同的下級(jí)設(shè)備和下級(jí)設(shè)備群組分別維護(hù)多個(gè)不同的數(shù)據(jù)庫(kù),簡(jiǎn)化了數(shù)據(jù)庫(kù)的配置管理,同時(shí)也簡(jiǎn)化了保存數(shù)據(jù)的處理流程。
請(qǐng)參考圖7,其示出了本申請(qǐng)另一實(shí)施例提供的基于netconf協(xié)議的設(shè)備 配置方法的流程圖。本實(shí)施例提供的方法應(yīng)用于被管理設(shè)備中。其中,被管理設(shè)備與網(wǎng)管設(shè)備相連,被管理設(shè)備還與若干個(gè)下級(jí)設(shè)備相連,網(wǎng)管設(shè)備和被管理設(shè)備支持netconf協(xié)議。該方法包括如下幾個(gè)步驟。
步驟702,接收網(wǎng)管設(shè)備基于netconf協(xié)議發(fā)送的配置數(shù)據(jù)。
配置數(shù)據(jù)由網(wǎng)管設(shè)備采用預(yù)定義yang模型構(gòu)建。預(yù)定義yang模型中包括n個(gè)引用字段以及與每一個(gè)引用字段分別對(duì)應(yīng)的若干個(gè)對(duì)象字段。引用字段用于指示在預(yù)定義yang模型中被引用的yang模型。第i個(gè)引用字段對(duì)應(yīng)的對(duì)象字段用于指示第i個(gè)引用字段中引用的yang模型模型化的目標(biāo)配置數(shù)據(jù)的目標(biāo)下級(jí)設(shè)備和/或下級(jí)設(shè)備群組。下級(jí)設(shè)備群組是指由若干個(gè)下級(jí)設(shè)備構(gòu)成的群組。其中,1≤i≤n且i、n為正整數(shù)。
步驟704,根據(jù)預(yù)定義yang模型解析配置數(shù)據(jù)。
步驟706,根據(jù)解析得到的配置數(shù)據(jù)配置下級(jí)設(shè)備。
綜上所述,本實(shí)施例提供的方法,通過被管理設(shè)備接收網(wǎng)管設(shè)備基于netconf協(xié)議發(fā)送的配置數(shù)據(jù),該配置數(shù)據(jù)由網(wǎng)管設(shè)備采用預(yù)定義yang模型構(gòu)建,被管理設(shè)備根據(jù)預(yù)定義yang模型解析配置數(shù)據(jù),并根據(jù)解析得到的配置數(shù)據(jù)配置下級(jí)設(shè)備;解決了現(xiàn)有技術(shù)中針對(duì)設(shè)備級(jí)聯(lián)場(chǎng)景,采用在netconf消息中添加擴(kuò)展字段的方式指示netconf消息中的配置數(shù)據(jù)的目標(biāo)下級(jí)設(shè)備,所存在的方案的通用性較差、配置處理的效率較低、以及保存數(shù)據(jù)的處理流程較為復(fù)雜的問題。在不修改已經(jīng)定義的yang模型的前提下,通過預(yù)定義yang模型,在該預(yù)定義yang模型中設(shè)計(jì)引用字段和對(duì)象字段,實(shí)現(xiàn)引用配置數(shù)據(jù),以及指示配置數(shù)據(jù)的目標(biāo)下級(jí)設(shè)備和/或下級(jí)設(shè)備群組;達(dá)到了提高方案的通用性,提高配置處理的效率,以及簡(jiǎn)化數(shù)據(jù)庫(kù)的配置管理,簡(jiǎn)化保存數(shù)據(jù)的處理流程的技術(shù)效果。
請(qǐng)參考圖8,其示出了本申請(qǐng)另一實(shí)施例提供的基于netconf協(xié)議的設(shè)備配置方法的流程圖。
步驟801,網(wǎng)管設(shè)備采用預(yù)定義yang模型建立配置數(shù)據(jù)的模型。
預(yù)定義yang模型中包括n個(gè)引用字段以及與每一個(gè)引用字段分別對(duì)應(yīng)的若干個(gè)對(duì)象字段。引用字段用于指示在預(yù)定義yang模型中被引用的yang模型。第i個(gè)引用字段對(duì)應(yīng)的對(duì)象字段用于指示第i個(gè)引用字段中引用的yang模 型模型化的目標(biāo)配置數(shù)據(jù)的目標(biāo)下級(jí)設(shè)備和/或下級(jí)設(shè)備群組。下級(jí)設(shè)備群組是指由若干個(gè)下級(jí)設(shè)備構(gòu)成的群組。其中,1≤i≤n且i、n為正整數(shù)。預(yù)定義yang模型是指預(yù)先在基于netconf協(xié)議通信的兩端設(shè)備(在本實(shí)施例中即網(wǎng)管設(shè)備和被管理設(shè)備)定義的yang模型,也即預(yù)先在netconf客戶端和netconf服務(wù)器兩端定義的yang模型。
引用字段采用第一聲明進(jìn)行定義,第一聲明用于在一個(gè)yang模型中引用另一yang模型所定義的模型樹(英文:schematree)。
在一種可能的實(shí)施方式中,通過擴(kuò)展yang語言語法,所述第一聲明為新增的refer聲明。引用字段采用refer聲明進(jìn)行定義。refer聲明用于在一個(gè)yang模型中引用另一yang模型所定義的模型樹。refer聲明的參數(shù)為被引用的yang模型的名稱。例如,假設(shè)在yang模型moduley中引用另一個(gè)yang模型modulex所定義的模型樹,則moduley中的引用字段可表示為:referx。
假設(shè)預(yù)定義yang模型為moduley,被引用的yang模型為modulex。其中,modulex的語法結(jié)構(gòu)如下:
moduley的語法結(jié)構(gòu)如下:
則,上述moduley的語法結(jié)構(gòu)等同于:
可選地,對(duì)象字段采用leaf-list特性進(jìn)行定義。leaf-list特性用于描述一組相同類型的葉子節(jié)點(diǎn),其功能類似于c語言中的數(shù)組。通過leaf-list特性,可以定義一個(gè)或多個(gè)下級(jí)設(shè)備,或者定義一個(gè)或多個(gè)下級(jí)設(shè)備群組。例如,采用leaf-listdevices描述配置數(shù)據(jù)的目標(biāo)下級(jí)設(shè)備,采用leaf-listdevice-groups描述配置數(shù)據(jù)的目標(biāo)下級(jí)設(shè)備群組。
此外,第i個(gè)引用字段對(duì)應(yīng)的對(duì)象字段包括:若干個(gè)第一對(duì)象字段和/或若干個(gè)第二對(duì)象字段。每一個(gè)第一對(duì)象字段用于指示第i個(gè)引用字段中引用的yang模型模型化的目標(biāo)配置數(shù)據(jù)所要下發(fā)至的一個(gè)下級(jí)設(shè)備。例如,第一對(duì)象字段采用leaf-listdevices表示。每一個(gè)第二對(duì)象字段用于指示第i個(gè)引用字段中引用的yang模型模型化的目標(biāo)配置數(shù)據(jù)所要下發(fā)至的一個(gè)下級(jí)設(shè)備群組。例如,第二對(duì)象字段采用leaf-listdevice-groups表示。
結(jié)合參考圖4所示的網(wǎng)絡(luò)架構(gòu),控制器配置ap的dhcp、dns等特性。這里以配置ap的dhcp特性為例,其它特性的配置可采用類似方式完成?;赼p的不同特性,已經(jīng)定義了一系列yang模型,包括用于配置ap的dhcp特性的yang模型hw-dhcp.yang。在hw-dhcp.yang中,定義了ap所使用的dhcp服務(wù)器組名稱,dhcp服務(wù)器對(duì)應(yīng)的ip地址等特性所對(duì)應(yīng)的數(shù)據(jù)模型。示例性地,該hw-dhcp.yang的語法結(jié)構(gòu)如下:
假設(shè)預(yù)定義yang模型為master-device.yang,該master-device.yang的語法結(jié)構(gòu)如下:
由于可通過多個(gè)引用字段在預(yù)定義yang模型中引用多個(gè)yang模型模型化的配置數(shù)據(jù),且每一項(xiàng)配置數(shù)據(jù)的目標(biāo)下級(jí)設(shè)備和/或下級(jí)設(shè)備群組可分別標(biāo)識(shí),因此在一條netconf消息中,可以攜帶針對(duì)不同的下級(jí)設(shè)備/下級(jí)設(shè)備群組所下發(fā)的不同的配置數(shù)據(jù),從而提高配置處理的效率。
步驟802,網(wǎng)管設(shè)備基于netconf協(xié)議向被管理設(shè)備發(fā)送上述配置數(shù)據(jù)。
網(wǎng)管設(shè)備采用xml語言對(duì)建模完成的上述配置數(shù)據(jù)進(jìn)行編碼,而后網(wǎng)管設(shè)備向被管理設(shè)備發(fā)送netconf消息,該netconf消息中攜帶編碼后的配置數(shù)據(jù)。
相應(yīng)地,被管理設(shè)備接收網(wǎng)管設(shè)備基于netconf協(xié)議發(fā)送的配置數(shù)據(jù)。
步驟803,被管理設(shè)備根據(jù)預(yù)定義yang模型解析配置數(shù)據(jù)。
被管理設(shè)備從網(wǎng)管設(shè)備接收到netconf消息之后,采用預(yù)定義yang模型對(duì)消息內(nèi)容進(jìn)行解析,得到配置數(shù)據(jù)。
可選地,被管理設(shè)備將解析得到的配置數(shù)據(jù)存儲(chǔ)至同一配置數(shù)據(jù)庫(kù)中。由于網(wǎng)管設(shè)備下發(fā)的netconf消息中攜帶的配置數(shù)據(jù),統(tǒng)一使用預(yù)定義yang模型進(jìn)行建模,使得被管理設(shè)備中可以只維護(hù)與預(yù)定義yang模型對(duì)應(yīng)的數(shù)據(jù)庫(kù),無需為不同的下級(jí)設(shè)備和下級(jí)設(shè)備群組分別維護(hù)多個(gè)不同的數(shù)據(jù)庫(kù),簡(jiǎn)化了數(shù)據(jù)庫(kù)的配置管理,同時(shí)也簡(jiǎn)化了保存數(shù)據(jù)的處理流程。
步驟804,被管理設(shè)備根據(jù)解析得到的配置數(shù)據(jù)配置下級(jí)設(shè)備。
對(duì)于第i個(gè)引用字段中引用的yang模型模型化的目標(biāo)配置數(shù)據(jù),被管理設(shè)備根據(jù)第i個(gè)引用字段對(duì)應(yīng)的對(duì)象字段確定目標(biāo)配置數(shù)據(jù)所要下發(fā)至的目標(biāo)下級(jí)設(shè)備。目標(biāo)下級(jí)設(shè)備是指第i個(gè)引用字段對(duì)應(yīng)的對(duì)象字段所指示的下級(jí)設(shè)備和/或下級(jí)設(shè)備群組中的下級(jí)設(shè)備。被管理設(shè)備基于目標(biāo)配置管理協(xié)議向目標(biāo)下級(jí)設(shè)備發(fā)送目標(biāo)配置數(shù)據(jù)。其中,目標(biāo)配置管理協(xié)議是指被管理設(shè)備和目標(biāo)下級(jí)設(shè)備支持的配置管理協(xié)議。
在本申請(qǐng)實(shí)施例中,對(duì)被管理設(shè)備與下級(jí)設(shè)備之間所采用的配置管理協(xié)議不作限定。在一種可能的實(shí)施方式中,結(jié)合參考圖3a,被管理設(shè)備與目標(biāo)下級(jí) 設(shè)備之間基于非netconf協(xié)議通信。例如,當(dāng)圖3a所示的設(shè)備級(jí)聯(lián)場(chǎng)景應(yīng)用于wlan中時(shí),該非netconf協(xié)議可以是capwap。對(duì)于需要下發(fā)至目標(biāo)下級(jí)設(shè)備的目標(biāo)配置數(shù)據(jù),被管理設(shè)備將目標(biāo)配置數(shù)據(jù)封裝為capwap報(bào)文并發(fā)送給目標(biāo)下級(jí)設(shè)備。在另一種可能的實(shí)施方式中,結(jié)合參考圖3b,被管理設(shè)備作為netconf代理,被管理設(shè)備與目標(biāo)下級(jí)設(shè)備之間也基于netconf協(xié)議通信。對(duì)于需要下發(fā)至目標(biāo)下級(jí)設(shè)備的目標(biāo)配置數(shù)據(jù),被管理設(shè)備將目標(biāo)配置數(shù)據(jù)封裝為netconf消息并發(fā)送給目標(biāo)下級(jí)設(shè)備。當(dāng)然,除capwap和netconf協(xié)議之外,目標(biāo)配置管理協(xié)議還可以是其它類型的配置管理協(xié)議,對(duì)于其它類型的配置管理協(xié)議,被管理設(shè)備在配置管理目標(biāo)下級(jí)設(shè)備時(shí),所做處理基本類似,此處不再一一贅述。
此外,被管理設(shè)備對(duì)下級(jí)設(shè)備完成配置之后,可向網(wǎng)管設(shè)備反饋響應(yīng)消息。響應(yīng)消息的反饋流程可采用netconf協(xié)議規(guī)定的已有機(jī)制實(shí)現(xiàn)。
綜上所述,本實(shí)施例提供的方法,通過網(wǎng)管設(shè)備采用預(yù)定義yang模型建立配置數(shù)據(jù)的模型,而后基于netconf協(xié)議向被管理設(shè)備發(fā)送上述配置數(shù)據(jù),被管理設(shè)備根據(jù)該預(yù)定義yang模型解析配置數(shù)據(jù),并根據(jù)解析得到的配置數(shù)據(jù)配置下級(jí)設(shè)備;解決了現(xiàn)有技術(shù)中針對(duì)設(shè)備級(jí)聯(lián)場(chǎng)景,采用在netconf消息中添加擴(kuò)展字段的方式指示netconf消息中的配置數(shù)據(jù)的目標(biāo)下級(jí)設(shè)備,所存在的方案的通用性較差、配置處理的效率較低、以及保存數(shù)據(jù)的處理流程較為復(fù)雜的問題。
在不修改已經(jīng)定義的yang模型的前提下,通過預(yù)定義yang模型,在該預(yù)定義yang模型中設(shè)計(jì)引用字段和對(duì)象字段,實(shí)現(xiàn)引用配置數(shù)據(jù),以及指示配置數(shù)據(jù)的目標(biāo)下級(jí)設(shè)備和/或下級(jí)設(shè)備群組,所達(dá)到的技術(shù)效果包括:
第一,由于并未在netconf消息中添加擴(kuò)展字段,因而無需擴(kuò)展netconf協(xié)議,使得網(wǎng)管設(shè)備與被管理設(shè)備之間仍然基于標(biāo)準(zhǔn)的netconf協(xié)議通信,方案的通用性更好;
第二,由于可通過多個(gè)引用字段在預(yù)定義yang模型中引用多個(gè)yang模型模型化的配置數(shù)據(jù),且每一項(xiàng)配置數(shù)據(jù)的目標(biāo)下級(jí)設(shè)備和/或下級(jí)設(shè)備群組可分別標(biāo)識(shí),因此在一條netconf消息中,可以攜帶針對(duì)不同的下級(jí)設(shè)備/下級(jí)設(shè)備群組所下發(fā)的不同的配置數(shù)據(jù),從而提高配置處理的效率;
第三,由于網(wǎng)管設(shè)備下發(fā)的netconf消息中攜帶的配置數(shù)據(jù),統(tǒng)一使用 預(yù)定義yang模型進(jìn)行建模,使得被管理設(shè)備中可以只維護(hù)與預(yù)定義yang模型對(duì)應(yīng)的數(shù)據(jù)庫(kù),無需為不同的下級(jí)設(shè)備和下級(jí)設(shè)備群組分別維護(hù)多個(gè)不同的數(shù)據(jù)庫(kù),簡(jiǎn)化了數(shù)據(jù)庫(kù)的配置管理,同時(shí)也簡(jiǎn)化了保存數(shù)據(jù)的處理流程。
另外,通過擴(kuò)展yang語言語法,增加第一聲明,可以實(shí)現(xiàn)在一個(gè)yang模型中方便地引用任何一個(gè)已經(jīng)定義的yang模型中的模型樹,從而有效解決設(shè)備級(jí)聯(lián)場(chǎng)景下的yang模型復(fù)用問題,實(shí)現(xiàn)在設(shè)備級(jí)聯(lián)場(chǎng)景下利用netconf協(xié)議和yang模型配置下級(jí)設(shè)備。
另外,通過leaf-list特性,實(shí)現(xiàn)定義一個(gè)或多個(gè)下級(jí)設(shè)備,或者定義一個(gè)或多個(gè)下級(jí)設(shè)備群組,從而方便、靈活地定義配置數(shù)據(jù)的目標(biāo)下級(jí)設(shè)備和/或下級(jí)設(shè)備群組。
需要補(bǔ)充說明的一點(diǎn)是,在現(xiàn)有的yang語言語法中,也存在兩種yang模型復(fù)用的機(jī)制:module-submodule和uses-grouping。
采用module-submodule方式實(shí)現(xiàn)的yang模型復(fù)用機(jī)制如下:首先定義一個(gè)submodule,聲明其從屬于(belongs-to)某一個(gè)module,并定義與submodule相對(duì)應(yīng)的模型樹;而后定義一個(gè)module,在該module中包括(include)之前定義的submodule,從而實(shí)現(xiàn)在該module中引用submodule所定義的模型樹。采用module-submodule方式實(shí)現(xiàn)的yang模型復(fù)用存在如下缺陷:module中只能引用已經(jīng)定義的且從屬于該module的submodule,而不是任意的submodule或者module,而已經(jīng)定義的yang模型中,一般都是按照yang模型所配置的功能特性形成一個(gè)個(gè)獨(dú)立的module,因此無法實(shí)現(xiàn)在一個(gè)module中引用另一個(gè)module所定義的模型樹。
此外,采用uses-grouping方式實(shí)現(xiàn)的yang模型復(fù)用所存在的缺陷為:由于uses只支持復(fù)用在本模型或者引入模型中用grouping定義的模型樹,而已經(jīng)定義的yang模型中,沒有哪一個(gè)yang模型會(huì)定義一個(gè)包含本模型所有字段的grouping,因此采用uses-grouping方式同樣無法解決設(shè)備級(jí)聯(lián)場(chǎng)景下的yang模型復(fù)用問題。
基于上述分析,在不修改已經(jīng)定義的yang模型的前提下,采用module-submodule方式或者uses-grouping方式均無法解決設(shè)備級(jí)聯(lián)場(chǎng)景下的yang模型復(fù)用問題。本申請(qǐng)實(shí)施例提供的技術(shù)方案,通過擴(kuò)展yang語言語 法,增加refer聲明,可以實(shí)現(xiàn)在一個(gè)yang模型中方便地引用任何一個(gè)已經(jīng)定義的yang模型中的模型樹,從而有效解決設(shè)備級(jí)聯(lián)場(chǎng)景下的yang模型復(fù)用問題,實(shí)現(xiàn)在設(shè)備級(jí)聯(lián)場(chǎng)景下利用netconf協(xié)議和yang模型配置下級(jí)設(shè)備管理。
還需要補(bǔ)充說明的一點(diǎn)是,在本申請(qǐng)實(shí)施例中,僅以在yang語言語法中增加的聲明類型的名稱為“refer聲明”為例進(jìn)行舉例說明,在實(shí)際應(yīng)用中,該增加的聲明類型可能被命名為其它不同的名稱,如引用聲明、自定義聲明等等,本申請(qǐng)實(shí)施例對(duì)此不做限定。不論該增加的聲明類型被命名為何種名稱,其作用與上文介紹的“refer聲明”的作用相同,用于在一個(gè)yang模型中引用另一yang模型所定義的模型樹。
下面,通過一個(gè)具體的例子對(duì)配置數(shù)據(jù)示例進(jìn)行介紹。
用于配置ap的dhcp特性的yang模型hw-dhcp.yang對(duì)應(yīng)的一個(gè)配置數(shù)據(jù)實(shí)例如下:
假設(shè)預(yù)定義yang模型為lac-device.yang,在lac-device.yang中,通過refer聲明引用hw-dhcp.yang,從而配置lac的下級(jí)設(shè)備ap的dhcp特性。ip地址10.163.18.1和10.163.23.6屬于一個(gè)dhcp-server-group,其名字為dhcp-cfg1??刂破髋渲胠ac的下級(jí)設(shè)備的時(shí)候,這份dhcp-server-group的配置數(shù)據(jù)會(huì)下發(fā)到下級(jí)設(shè)備ap3,下級(jí)設(shè)備組group1和group2上獲得應(yīng)用。lac-device.yang對(duì)應(yīng)的一個(gè)配置數(shù)據(jù)實(shí)例如下:
下述為本申請(qǐng)裝置實(shí)施例,可以用于執(zhí)行本申請(qǐng)方法實(shí)施例。對(duì)于本申請(qǐng)裝置實(shí)施例中未披露的細(xì)節(jié),請(qǐng)參照本申請(qǐng)方法實(shí)施例。
請(qǐng)參考圖9,其示出了本申請(qǐng)一個(gè)實(shí)施例提供的基于netconf協(xié)議的設(shè)備配置裝置的框圖。本實(shí)施例提供的裝置可以為網(wǎng)管設(shè)備的部分或全部。其中,網(wǎng)管設(shè)備與被管理設(shè)備相連,被管理設(shè)備與若干個(gè)下級(jí)設(shè)備相連,網(wǎng)管設(shè)備和被管理設(shè)備支持netconf協(xié)議。該裝置可以包括:建模單元(英文:modelingunit)910和發(fā)送單元920。
建模單元910,用于采用預(yù)定義yang模型建立配置數(shù)據(jù)的模型。
預(yù)定義yang模型中包括n個(gè)引用字段以及與每一個(gè)引用字段分別對(duì)應(yīng)的若干個(gè)對(duì)象字段。引用字段用于指示在預(yù)定義yang模型中被引用的yang模型。第i個(gè)引用字段對(duì)應(yīng)的對(duì)象字段用于指示第i個(gè)引用字段中引用的yang模型模型化的目標(biāo)配置數(shù)據(jù)的目標(biāo)下級(jí)設(shè)備和/或下級(jí)設(shè)備群組。下級(jí)設(shè)備群組是指由若干個(gè)下級(jí)設(shè)備構(gòu)成的群組。其中,1≤i≤n且i、n為正整數(shù)。
發(fā)送單元920,用于基于netconf協(xié)議向被管理設(shè)備發(fā)送建模單元910模型化的配置數(shù)據(jù)。
綜上所述,本實(shí)施例提供的裝置,通過網(wǎng)管設(shè)備采用預(yù)定義yang模型建立配置數(shù)據(jù)的模型,而后基于netconf協(xié)議向被管理設(shè)備發(fā)送上述配置數(shù)據(jù);解決了現(xiàn)有技術(shù)中針對(duì)設(shè)備級(jí)聯(lián)場(chǎng)景,采用在netconf消息中添加擴(kuò)展字段的方式指示netconf消息中的配置數(shù)據(jù)的目標(biāo)下級(jí)設(shè)備,所存在的方案的通用性較差、配置處理的效率較低、以及保存數(shù)據(jù)的處理流程較為復(fù)雜的問題。在不修改已經(jīng)定義的yang模型的前提下,通過預(yù)定義yang模型,在該預(yù)定義yang模型中設(shè)計(jì)引用字段和對(duì)象字段,實(shí)現(xiàn)引用配置數(shù)據(jù),以及指示配置數(shù)據(jù)的目標(biāo)下級(jí)設(shè)備和/或下級(jí)設(shè)備群組;達(dá)到了提高方案的通用性,提高配置處理的效率,以及簡(jiǎn)化數(shù)據(jù)庫(kù)的配置管理,簡(jiǎn)化保存數(shù)據(jù)的處理流程的技術(shù)效果。
在基于圖9所示實(shí)施例提供的一個(gè)可選實(shí)施例中,引用字段采用第一聲明進(jìn)行定義,第一聲明用于在一個(gè)yang模型中引用另一yang模型所定義的模型樹。
在基于圖9所示實(shí)施例提供的另一可選實(shí)施例中,對(duì)象字段采用leaf-list特性進(jìn)行定義,leaf-list特征用于描述一組相同類型的葉子節(jié)點(diǎn)。
在基于圖9所示實(shí)施例提供的另一可選實(shí)施例中,第i個(gè)引用字段對(duì)應(yīng)的對(duì)象字段包括:若干個(gè)第一對(duì)象字段和/或若干個(gè)第二對(duì)象字段。每一個(gè)第一對(duì)象字段用于指示第i個(gè)引用字段中引用的yang模型模型化的目標(biāo)配置數(shù)據(jù)所要下發(fā)至的一個(gè)下級(jí)設(shè)備。每一個(gè)第二對(duì)象字段用于指示第i個(gè)引用字段中引用的yang模型模型化的目標(biāo)配置數(shù)據(jù)所要下發(fā)至的一個(gè)下級(jí)設(shè)備群組。
請(qǐng)參考圖10,其示出了本申請(qǐng)另一實(shí)施例提供的基于netconf協(xié)議的設(shè)備配置裝置的框圖。本實(shí)施例提供的裝置可以為被管理設(shè)備的部分或全部。其中,被管理設(shè)備與網(wǎng)管設(shè)備相連,被管理設(shè)備還與若干個(gè)下級(jí)設(shè)備相連,網(wǎng)管設(shè)備和被管理設(shè)備支持netconf協(xié)議。該裝置可以包括:接收單元1010、解析單元1020和配置單元1030。
接收單元1010,用于接收網(wǎng)管設(shè)備基于netconf協(xié)議發(fā)送的配置數(shù)據(jù)。
配置數(shù)據(jù)由網(wǎng)管設(shè)備采用預(yù)定義yang模型構(gòu)建。預(yù)定義yang模型中包 括n個(gè)引用字段以及與每一個(gè)引用字段分別對(duì)應(yīng)的若干個(gè)對(duì)象字段。引用字段用于指示在預(yù)定義yang模型中被引用的yang模型。第i個(gè)引用字段對(duì)應(yīng)的對(duì)象字段用于指示第i個(gè)引用字段中引用的yang模型模型化的目標(biāo)配置數(shù)據(jù)的目標(biāo)下級(jí)設(shè)備和/或下級(jí)設(shè)備群組。下級(jí)設(shè)備群組是指由若干個(gè)下級(jí)設(shè)備構(gòu)成的群組。其中,1≤i≤n且i、n為正整數(shù)。
解析單元1020,用于根據(jù)預(yù)定義yang模型解析配置數(shù)據(jù)。
配置單元1030,用于根據(jù)解析得到的配置數(shù)據(jù)配置下級(jí)設(shè)備。
綜上所述,本實(shí)施例提供的裝置,通過被管理設(shè)備接收網(wǎng)管設(shè)備基于netconf協(xié)議發(fā)送的配置數(shù)據(jù),該配置數(shù)據(jù)由網(wǎng)管設(shè)備采用預(yù)定義yang模型構(gòu)建,被管理設(shè)備根據(jù)預(yù)定義yang模型解析配置數(shù)據(jù),并根據(jù)解析得到的配置數(shù)據(jù)配置下級(jí)設(shè)備;解決了現(xiàn)有技術(shù)中針對(duì)設(shè)備級(jí)聯(lián)場(chǎng)景,采用在netconf消息中添加擴(kuò)展字段的方式指示netconf消息中的配置數(shù)據(jù)的目標(biāo)下級(jí)設(shè)備,所存在的方案的通用性較差、配置處理的效率較低、以及保存數(shù)據(jù)的處理流程較為復(fù)雜的問題。在不修改已經(jīng)定義的yang模型的前提下,通過預(yù)定義yang模型,在該預(yù)定義yang模型中設(shè)計(jì)引用字段和對(duì)象字段,實(shí)現(xiàn)引用配置數(shù)據(jù),以及指示配置數(shù)據(jù)的目標(biāo)下級(jí)設(shè)備和/或下級(jí)設(shè)備群組;達(dá)到了提高方案的通用性,提高配置處理的效率,以及簡(jiǎn)化數(shù)據(jù)庫(kù)的配置管理,簡(jiǎn)化保存數(shù)據(jù)的處理流程的技術(shù)效果。
在基于圖10所示實(shí)施例提供的一個(gè)可選實(shí)施例中,配置單元1030,具體用于:
對(duì)于第i個(gè)引用字段中引用的yang模型模型化的目標(biāo)配置數(shù)據(jù),根據(jù)第i個(gè)引用字段對(duì)應(yīng)的對(duì)象字段確定目標(biāo)配置數(shù)據(jù)所要下發(fā)至的目標(biāo)下級(jí)設(shè)備;其中,目標(biāo)下級(jí)設(shè)備是指第i個(gè)引用字段對(duì)應(yīng)的對(duì)象字段所指示的下級(jí)設(shè)備和/或下級(jí)設(shè)備群組中的下級(jí)設(shè)備;
基于目標(biāo)配置管理協(xié)議向目標(biāo)下級(jí)設(shè)備發(fā)送目標(biāo)配置數(shù)據(jù),目標(biāo)配置管理協(xié)議是指被管理設(shè)備和目標(biāo)下級(jí)設(shè)備支持的配置管理協(xié)議。
在基于圖10所示實(shí)施例提供的另一可選實(shí)施例中,該裝置還包括存儲(chǔ)單元,用于將解析得到的配置數(shù)據(jù)存儲(chǔ)至同一配置數(shù)據(jù)庫(kù)中。
本申請(qǐng)一個(gè)實(shí)施例還提供了一種基于metconf協(xié)議的設(shè)備配置系統(tǒng)。結(jié) 合參考圖2,該系統(tǒng)包括:網(wǎng)管設(shè)備、被管理設(shè)備和若干個(gè)下級(jí)設(shè)備。其中,網(wǎng)管設(shè)備與被管理設(shè)備相連,被管理設(shè)備與上述若干個(gè)下級(jí)設(shè)備相連。網(wǎng)管設(shè)備和被管理設(shè)備支持netconf協(xié)議。網(wǎng)管設(shè)備包括如圖9所示實(shí)施例提供的設(shè)備配置裝置;被管理設(shè)備包括如圖10所示實(shí)施例提供的設(shè)備配置裝置。
需要說明的是:上述實(shí)施例提供的裝置在實(shí)現(xiàn)其功能時(shí),僅以上述各功能單元的劃分進(jìn)行舉例說明,實(shí)際應(yīng)用中,可以根據(jù)需要而將上述功能分配由不同的功能單元完成,即將設(shè)備的內(nèi)部結(jié)構(gòu)劃分成不同的功能單元,以完成以上描述的全部或者部分功能。另外,上述實(shí)施例提供的裝置與方法實(shí)施例屬于同一構(gòu)思,其具體實(shí)現(xiàn)過程詳見方法實(shí)施例,這里不再贅述。
上述本申請(qǐng)實(shí)施例序號(hào)僅僅為了描述,不代表實(shí)施例的優(yōu)劣。
本領(lǐng)域普通技術(shù)人員可以理解實(shí)現(xiàn)上述實(shí)施例的全部或部分步驟可以通過硬件來完成,也可以通過程序來指令相關(guān)的硬件完成,所述的程序可以存儲(chǔ)于一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)中,上述提到的存儲(chǔ)介質(zhì)可以是只讀存儲(chǔ)器,磁盤或光盤等。
以上所述僅為本申請(qǐng)的較佳實(shí)施例,并不用以限制本申請(qǐng),凡在本申請(qǐng)的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本申請(qǐng)的保護(hù)范圍之內(nèi)。