一種ptn設備基于通用業務模型的單盤配置系統及方法
【專利摘要】一種PTN設備基于通用業務模型的單盤配置系統及方法,涉及通信設備領域,通用業務模型、匹配規則庫和配置數據庫初始化;單盤接收配置信息,將一個配置消息拆分為若干個配置條目,將每個配置條目映射若干個配置對象;先將配置對象的配置信息分離成配置數據和配置命令兩部分,將配置數據保存到配置數據庫,通過模塊間接口將配置命令下發到緊鄰的下層功能模塊中,每層功能模塊針對配置對象進行適配處理后,完成相應配置命令的配置處理,直至最底層,將配置信息適配成直接寫到芯片內部寄存器或內部硬表的比特級數據,完成信息配置到單盤硬件。本發明減少配置數據的冗余備份,節省CPU內存,滿足PTN設備的增量擴容需求。
【專利說明】
一種PTN設備基于通用業務模型的單盤配置系統及方法
技術領域
[0001]本發明涉及通信設備領域,具體來講涉及一種PTN設備基于通用業務模型的單盤配置系統及方法。
【背景技術】
[0002]現有PTN(Packet Transport Network,分組傳送網)設備的單盤配置軟件普遍采用分層分模塊的方式實現,比如一個典型的PTN單盤配置軟件可能包括位于管理層、業務層、驅動層的多個模塊。在單盤的配置過程中,不同層面的模塊位于配置過程的不同階段,所起的作用、要實現的功能也不同。每個模塊對內實現各自的專用功能也會保存相應的配置數據,對外通過模塊之間的復雜接口進行通信實現配置信息的傳遞,模塊間的接口多數采用函數調用的方式實現,函數接口傳遞的配置信息不僅包含配置命令(即創建、刪除、修改等操作命令),而且還會包含配置數據。
[0003]在設備軟件開發過程中,由于有些模塊的歷史繼承性或公共通用性等原因,導致各個模塊之間的內部數據結構、外部函數接口有較大差異。因此單盤配置業務時,各層之間需要通過差異化的接口來傳遞差異化的配置信息;同時各層模塊在實現各自的功能時,都需要基于單盤的已有配置進行后續配置的相應分析處理,因而必須保存配置數據以備后續操作訪問。但各層模塊間內部數據結構有差異,導致了各層模塊只能以各自內部的數據結構形式保存各自的配置數據,不能訪問或借用其他模塊保存的配置數據。
[0004]因此現有單盤配置業務的方法,出現了同一個業務的配置數據在各層模塊內部都有冗余備份的現象,導致CPU內存的大量浪費,制約單盤業務的容量規格,在如今流量爆炸式增長、新業務層出不窮的情況下,往往無法滿足傳送網絡對PTN設備的增量擴容或新增功能的需求。
【發明內容】
[0005]針對現有技術中存在的缺陷,本發明的目的在于提供一種PTN設備基于通用業務模型的單盤配置系統及方法,減少配置數據的冗余備份,節省CPU內存,滿足PTN設備的增量擴容需求。
[0006]為達到以上目的,本發明采取一種PTN設備基于通用業務模型的單盤配置系統,與外部管控單元信息交互,包括:通用業務模型,使配置過程中各層模塊有統一的數據結構;配置信息模塊,包括配置消息、配置條目和配置對象,三者均包括配置數據,配置條目和配置對象還包括配置命令,配置條目有條目類型之分;配置消息是外部管控單元下發給單盤的配置信息,一個配置消息代表若干個功能或業務對應的配置信息集合;一個配置條目代表一個功能或業務對應的配置信息;一個配置對象代表一個子功能或子業務的配置信息;匹配規則庫,用于存儲條目類型與配置類型的對應關系;映射關系庫,用于存儲每個配置條目與配置對象的對應關系;配置數據庫,用于保存PTN單盤所有配置對象的配置數據,并提供統一的基于配置對象的訪問接口; ID資源管理模塊,用于配置對象ID的分發與回收的維護管理;模塊間接口,用于對配置對象進行操作的接口 ;配置對象處理模塊,用于對配置對象的配置信息進行處理。
[0007]在上述技術方案的基礎上,PTN單盤所有業務和功能進一步細化為獨立的子業務和子功能,并抽象為基本的配置類型,通用業務模型包括所述配置類型的集合,以及配置類型之間的關系。
[0008]在上述技術方案的基礎上,一個配置消息包括若干個配置條目,一個配置條目匹配映射若干個配置對象。
[0009]在上述技術方案的基礎上,配置條目有條目類型,是由PTN單盤配置協議約定的功能或業務類型決定的,配置條目ID含在配置條目的配置數據中;配制條目的配置命令分為set、delete 兩種。
[0010]本發明還提供一種PTN設備基于通用業務模型的單盤配置方法,包括步驟:
[0011 ] S1.通用業務模型、匹配規則庫和配置數據庫初始化;
[0012]S2.PTN單盤接收來自外部管控單元的配置信息,將一個配置消息拆分為若干個配置條目,再將每個配置條目映射若干個配置對象;
[0013]S3.進行配置對象的配置功能處理,先將配置對象的配置信息分離成配置數據和配置命令兩部分,將所述配置數據保存到配置數據庫,通過模塊間接口將所述配置命令下發到緊鄰的下層功能模塊中,每層功能模塊依據通用業務模型、針對配置對象進行適配處理后,完成相應配置命令的配置處理,直至最底層,將配置信息適配成直接寫到芯片內部寄存器或內部硬表的比特級數據,完成信息配置到單盤硬件。
[0014]在上述技術方案的基礎上,所述S2中,將一個配置消息拆分為若干個配置條目,具體包括,收到配置消息后,處理第一個配置條目,獲取配置條目的條目類型和信息長度,獲取配置條目的全部配置信息,根據配置信息中的配置命令,進行對應的配置命令操作,完成該配置條目的操作后,處理下一個配置條目,直至所有配置條目處理完成。
[0015]在上述技術方案的基礎上,所述配置命令為delete命令時,直接從映射關系庫獲取配置條目對應的配置對象列表,依次對每個配置對象進行刪除處理。
[0016]在上述技術方案的基礎上,從映射關系庫獲取配置條目對應的配置對象列表時,首先從配置條目的配置信息中取出配置條目ID,并在映射關系庫中搜索該配置條目ID,判斷是否存在,若否,不需要刪除,直接退出;若是,說明已經存在該配置條目,應該刪除。
[0017]在上述技術方案的基礎上,所述刪除處理具體為,從映射關系庫取出對應的配置對象列表,依次處理配置對象列表中的每一個配置對象,通過配置對象處理模塊進行刪除處理,并從映射關系庫中清除該配置條目與配置對象的映射關系,ID資源管理模塊回收所有刪除的配置對象ID資源。
[0018]在上述技術方案的基礎上,所述配置命令為set命令時,根據匹配規則庫,將配置條目映射為配置對象列表,生成映射關系并寫入映射關系庫,基于通用業務模型衍生配置對象間的關聯信息,從ID資源管理模塊申請新配置對象ID,匯集配置對象的全部配置信息。
[0019]在上述技術方案的基礎上,配置條目生成映射關系時,依次判斷匹配規則中的每種配置類型的配置對象的屬性值,看是否存在配置條目的配置數據中,若否,不映射;若是,提取配置該配置對象的配置數據和配置類型,將所有非空配置對象提取出來的信息緩存為對象列表X。
[0020]在上述技術方案的基礎上,緩存對象列表X后,判斷映射關系庫中是否含有配置條目ID,若否,set命令等效于所有配置對象的新增命令;若是,說明已存在對應配置條目的配置,進行已有配置的修改。
[0021 ]在上述技術方案的基礎上,set命令等效于新增命令時,為對象列表中的每個配置對象,向ID資源管理模塊申請新的配置對象ID,暫存于對象列表X,對每個配置對象設置配置命令,依次處理每一個配置條目的配置對象,映射關系庫保存配置條目與配置對象的映射關系。
[0022]在上述技術方案的基礎上,進行已有配置的修改時,從映射關系庫中取該配置條目的舊對象列表Y,基于匹配規則,將對象列表X和舊對象列表Y進行對比合成處理,得到臨時對象列表Z,臨時對象列表Z包括全新對象子集、舊對象子集和新換舊對象子集,為全新對象子集中的配置對象向ID資源管理模塊申請新的配置對象ID,暫存于對象列表X和臨時對象列表Z,設置全新對象子集配置命令為增加命令,舊對象子集配置命令為刪除命令,新換舊對象子集配置命令為修改命令,通過配置對象處理模塊對配置對象進行相對應的配置命令處理。
[0023]在上述技術方案的基礎上,S2中,基于配置對象動態申請內存單元,將配置類型相同的所有配置對象組織成一棵二叉樹,再將指向二叉樹根部的所有指針用鏈表串連,構建配置數據庫。
[0024]在上述技術方案的基礎上,S3中,將所述配置數據保存到配置數據庫,每個配置對象的配置數據分別存放在一個二叉樹節點中,節點采用動態方式申請或釋放所需內存單元,并與節點代表的配置對象具有相同的生存期。
[0025]在上述技術方案的基礎上,為每種配置類型配置讀寫接口,通過寫接口將一個配置對象的配置數據存入對應配置類型二叉樹的相應節點,通過讀接口將一個配置對象的配置數據從對應配置類型二叉樹的相應節點獲取,通過配置對象ID搜索關鍵字來選擇節點。
[0026]在上述技術方案的基礎上,S3中,將配置對象的配置信息實施解耦處理,分離出配置數據和配置命令兩部分,從配置信息中得到配置類型和配置對象ID,每層功能模塊根據下發的配置命令進行相應處理。
[0027]在上述技術方案的基礎上,如果配置命令為刪除命令,根據配置對象ID,從配置數據庫中清除該配置對象的配置數據,將命令下發至下層功能模塊,下層功能模塊按照配置命令做相應的刪除操作,再次下發至底層功能模塊,底層功能模塊執行配置對象的底層實際刪除操作,完成。
[0028]在上述技術方案的基礎上,如果配置命令為增加命令,添加該配置對象的配置數據到單盤配置數據庫,將命令下發至下層功能模塊,從配置數據庫中獲取關聯配置對象的配置數據,做適配處理后,再次下發至底層功能模塊,執行實際增加操作,完成。
[0029]在上述技術方案的基礎上,如果配置命令為修改命令,在配置數據庫中用該配置對象新配置數據覆蓋舊配置數據,將命令下發至下層功能模塊,從配置數據庫中獲取關聯配置對象的配置數據,進行配置信息的適配處理,再次下發至底層功能模塊,執行配置對象的實際修改操作,結束。
[0030]本發明的有益效果在于:
[0031]1、基于通用業務模型的配置數據庫,以全局共享的方式為各層功能模塊提供所需要的配置數據,使得各層功能模塊不再需要單獨保存配置數據;從內存使用的角度看,配置數據庫以共享模式達到了只保存一份配置數據的目的,取代了原有各層功能模塊冗余儲存多份配置數據(一般有三份或以上)的方式,減少配置數據的冗余備份;在配置相同數量業務量的情況下,PTN單盤(以下簡稱單盤)CPU內存占用量約縮減到原來的三分之一,節省了CPU的內存。
[0032]2、提高內存利用率,實際應用中約提升了200%,相應的,擴大了單盤業務容量,內存對業務容量的支撐能力可以擴充至原來的3倍左右。
[0033]3、通過分離配置命令與配置數據,模塊間接口得以統一并簡化,便于模塊CBB(Common Bulling Block,共用構-建模塊)化,解除了上下層功能模塊間接口與配置數據的捆綁關系,模塊間接口只需傳遞配置對象ID和配置命令信息,使得各層模塊間的接口變得非常簡單、統一,便于模塊CBB化。
[0034]4、統一的模塊間接口解除了模塊向上、向下的外部接口與功能模塊內部實現方式的緊耦合關系,使得功能模塊內部可以自由選擇所需配置數據結構、算法邏輯等關鍵技術來實現內部功能處理,便于模塊平滑升級、完善優化、甚至徹底的重新開發。
[0035]5、簡化的模塊間接口使得實現該接口的函數原型得以簡化,函數接口參數也十分簡單(圖5中,接口a和接口b處的接口函數的參數只有配置對象ID,),完全摒棄了不易直接輸入數據的結構變量和指針變量,非常適合命令行下人工直接輸入數據進行相關操作,方便問題診斷排查。
【附圖說明】
[0036]圖1為本發明PTN設備基于通用業務模型的單盤配置系統與外部管控單元交互示意圖;
[0037]圖2為本發明一個配置消息拆分成若干個配置條目流程圖;
[0038]圖3為本發明配置條目delete操作的匹配映射流程圖;
[0039]圖4為本發明配置條目set操作的匹配映射流程圖;
[0040]圖5為本發明實施例PW類型配置對象的配置功能處理流程圖。
[0041]附圖標記:
[0042]通用業務模型I,配置信息模塊2,匹配規則庫3,映射關系庫4,配置數據庫5,ID資源管理模塊6,模塊間接口 7,配置對象處理模塊8,外部管控單元9。
【具體實施方式】
[0043]以下結合附圖及實施例對本發明作進一步詳細說明。
[0044]如圖1所示,本發明PTN設備基于通用業務模型的單盤配置系統,與外部管控單元9信息交互,系統包括通用業務模型1、配置信息模塊2、匹配規則庫3、映射關系庫4、配置數據庫5、ID資源管理模塊6、模塊間接口 7和配置對象處理模塊8。
[0045]通用業務模型I,具體是將PTN單盤(為了便于描述,以下簡稱單盤)支持的所有業務和功能劃分為粒度更細、相對獨立的子業務和子功能,將它們分別抽象為一個個基本的配置類型,得到配置類型集合、加上配置類型之間的關系而構成的一個原子功能模型。單盤上一些配置類型舉例:以太網物理端口類型、LAG邏輯端口類型、UNI邏輯接口類型、NNI接口類型、Tx_LSP類型、Rx_LSP類型、LSP保護組類型、PW類型、Me ter類型、優先級隊列調度類型、TP OAM類型等。立足于通用業務模型,再采用配置類型定義配置對象、各層功能模塊基于配置對象進行功能處理的方法,使得模塊外部有統一的數據結構、內部有清晰的配置對象間的相互關系,帶來的好處顯而易見:盤內各層功能模塊有了可以通用的模型,且這些模塊間的接口可以統一并簡化。
[0046]配置信息模塊2,內部包含配置信息,配置信息是指在配置過程中,各個軟件模塊內部處理的及相互間傳遞的和配置功能有關聯的信息的統稱。根據配置的不同階段不同模塊所需處理的信息的粒度、內容、格式不同,配置信息模塊內包括配置消息、配置條目和配置對象,三者均包括配置數據,配置條目和配置對象還包括配置命令。配置消息是外部管控單元9下發給單盤的配置信息,一個配置消息是代表采用TLV(Type/Length/ValUe,類型/長度/值)格式的若干個功能或業務對應的配置信息集合;一個配置條目代表按照TLV格式組織起來的、一個功能或業務對應的配置信息,一個配置消息一般可以拆分為若干個配置條目。配置條目的配置命令分為set(設置)、delete(刪除)兩種操作,配置條目有類型之分,稱為條目類型,是由單盤配置協議約定的功能或業務類型決定的,配置條目ID含在它的配置數據中。配置對象是用配置類型定義的,一個配置對象代表一個相對獨立的子功能或子業務的配置信息,配置對象包括配置對象ID(Identify,標識符)、配置命令、配置數據和配置類型,它的配置命令分為增加、刪除、修改對象三種操作;配置對象是比配置條目顆粒更細的基本配置單元,一個配置條目一般可以匹配映射為若干個配置對象。
[0047]匹配規則庫3,用于存儲條目類型與配置類型的對應關系。具體的,每種配置條目的條目類型都有一個匹配規則,用來描述和約束該條目類型對應到若干個配置類型的映射法則,所有條目類型的匹配規則的集合,構成匹配規則庫3;匹配規則庫3是從通用業務模型I衍生出來的。
[0048]映射關系庫4,用于存儲每個配置條目與配置對象的對應關系,具體的,一個配置條目一般與若干個配置對象集合構成映射關系,這個集合是相應匹配規則的配置類型集合的一個子集的實例。
[0049]配置數據庫5,基于通用業務模型I構建,用于保存單盤所有配置對象的配置數據,并提供統一的基于配置對象的訪問接口,為單盤各層功能模塊提供配置數據共享支撐。
[0050]ID資源管理模塊6,負責配置對象ID的分發與回收的維護管理,保證配置對象ID的唯一性,創建新配置對象時向ID資源管理模塊6申請新ID,刪除舊配置對象時向它注銷舊ID0
[0051 ]模塊間接口 7,是對配置對象進行操作的接口,它傳遞信息簡單統一,只含配置對象ID和配置命令,不含配置數據;配置命令一般為配置對象的增加、刪除、修改操作。
[0052]配置對象處理模塊8,用于對配置對象的配置信息進行處理,包括配置信息解析轉換和配置對象的配置功能處理。
[0053]本發明PTN設備基于通用業務模型的單盤配置方法,包括如下步驟:
[0054]S1.通用業務模型1、匹配規則庫3和配置數據庫5初始化。
[0055]S2.單盤接收來自外部管控單元9的配置信息,將一個配置消息拆分為若干個配置條目,再將每個配置條目映射成若干個配置對象,即配置條目delete命令的操作匹配映射,以及配置條目set命令的操作匹配映射。
[0056]S3.進行配置對象的配置功能處理,先將配置對象的配置信息分離成配置數據和配置命令兩部分,將所述配置數據保存到配置數據庫5,通過模塊間接口 7將所述配置命令下發到緊鄰的下層功能模塊中,每層功能模塊依據通用業務模型I,針對配置對象進行適配處理后,完成相應配置命令的配置處理,直至最底層,將配置信息適配成直接寫到芯片內部寄存器或內部硬表的比特級數據,完成信息配置到單盤硬件。
[0057]具體的,步驟SI中,通用業務模型I和匹配規則庫3的初始化,為建立二者,在匹配規則庫3的初始化過程中,對照通用業務模型I的各種配置類型所包含的信息屬性,將單盤協議中每種條目類型所描述的信息屬性進行劃分和匹配,得出每種條目類型與若干個配置類型的對應關系,即匹配規則。一種條目類型的匹配規則,可以用這種條目類型可能映射到的所有配置類型的集合來表示,例如,根據通用業務模型I和單盤配置協議可知LSP功能可以劃分為發送子功能和接收子功能,因此,LSP條目類型的匹配規則={Tx_LSP配置類型,Rx_LSP配置類型}。
[0058]配置數據庫5初始化過程中,由于單盤配置數據庫存在于CPU系統內存中,基于配置對象動態申請內存單元,基于通用業務模型1,為每種配置類型分別分配一個邏輯內存塊頭部指針,該邏輯內存塊專門用于保存該類型配置對象的配置數據,采用鏈表將這些頭部指針頭尾串連起來,邏輯上組成一塊更大區域,這樣便構建了配置數據庫5的框架。這里每個邏輯內存塊按平衡二叉樹方式組織,配置類型指針指向二叉樹根部,在后面的步驟S3中,每個配置對象的配置數據分別存放在一個二叉樹節點中,節點采用動態方式申請或釋放所需內存單元,并與節點代表的配置對象具有相同的生存期;因而配置過程中邏輯內存塊的大小是動態變化的。然后為每種配置類型實現一套基于配置對象進行訪問的讀寫接口:通過寫接口可以將一個配置對象的配置數據存入對應配置類型二叉樹的相應節點中,通過讀接口可以將一個配置對象的配置數據從對應配置類型二叉樹的相應節點中獲取出來,用配置對象ID作為匹配搜索關鍵字來選擇節點。
[0059]上述初始化完畢,單盤便可以隨時接收配置信息,進行單盤配置處理了。單盤每次收到外部管控單元9發來的一個配置消息,都會啟動一輪配置流程的處理活動。
[0060]如圖2所示,單盤將一個配置消息拆分為若干個配置條目,其具體過程如下:
[0061]Al.當單盤接收到一個完整的配置消息后,進行消息頭校驗、消息緩存處理,進入A2o
[0062]A2.從配置消息的Length字段獲取該配置消息的長度,賦給變量LI,即配置消息長度LI。
[0063]A3.預置循環初值。用L2表示已處理信息長度的變量,賦初值0,循環變量j賦初值I,準備處理第一個配置條目。
[0064]A4.判斷循環結束條件L2 = L1是否滿足,如果是,則退出循環,接著清該緩存配置消息后,退出整個配置消息處理流程;如果否,則進入A5,開始一輪循環處理。
[0065]A5.獲取第j個配置條目的信息長度和內容。從第j個配置條目的Type字段獲取條目類型,從Length字段獲取配置條目的信息長度L3,通過L3計算出Value字段的首末位置,進而得到第j個配置條目的全部配置信息。
[0066]A6.從第j個配置條目的配置信息中取出該配置條目的配置命令,判斷是delete命令還是set命令,如果是delete命令,則轉入A7;如果是set命令,則轉入A8。
[0067]A7.完成配置條目對應的deIete命令操作,進入A9。
[0068]AS.通過配置對象處理模塊8,完成配置條目對應的set命令操作,進入A9。
[0069]A9.將剛處理完的第j個配置條目的信息長度L3,添加到已處理信息長度L2中,循環變量j的值增加I,準備進入下一輪循環,處理下一個配置條目,即轉入步驟A4。
[0070]如圖3所示,所述配置命令為delete命令時,不需匹配映射處理,直接從映射關系庫4獲取配置條目對應的配置對象列表,依次對每個配置對象進行刪除處理,具體步驟如下:
[0071]A701.查找配置條目ID。具體的,從配置條目的配置信息中取出配置條目ID,并在映射關系庫4中搜索該配置條目ID。
[0072]A702.查看是否存在該配置條目的舊配置,即判斷映射關系庫4中是否存在該配置條目ID,若否,說明單盤沒有配置該配置條目,不需要刪除,直接退出結束;若是,進入A703。
[0073]A703.根據配置條目ID,從映射關系庫4中取出它包含的舊的配置對象列表(列表中每個配置對象都含有配置類型值和配置對象ID,假定列表中有m個配置對象),進入A704。
[0074]A704.開始對m個配置對象做循環處理。循環變量k賦初值I,準備處理第一個配置對象進入A705。
[0075]A705.判斷循環結束條件k>m是否滿足,如果是,退出循環轉入A709 ;如果否,則進ΛΑ706,開始一輪循環處理。
[0076]A706.設置第k個配置對象的配置命令為刪除,進入A707。
[0077]A707.匯集第k個配置對象的完整配置信息(類型、對象ID、配置命令、配置數據),通過函數調用方式將這些信息送給配置對象處理模塊8,對第k個配置對象進行后續刪除處理,函數返回后進入A708。
[0078]A708.循環變量k的值增加I,準備下一個配置對象,進入下一輪循環處理,即轉入A705o
[0079]A709.清除配置條目與配置對象的映射關系,即,從映射關系庫4中配置條目ID位置處清除該配置條目的“條目-對象映射關系”,進入A710。
[0080]A710.回收所有配置對象ID資源。依次對m個配置對象的ID進行注銷處理,告知ID資源管理模塊6回收這些已經被刪除了的配置對象的ID資源。所有舊配置對象的ID資源回收后,退出本流程。
[0081]如圖4所示,配置命令為set命令時,根據匹配規則庫3,將配置條目映射為配置對象列表,并基于通用業務模型I衍生配置對象間的關聯信息,從ID資源管理模塊6申請新配置對象ID,匯集配置對象的全部配置信息,具體步驟如下:
[0082]A801.獲取匹配規則。具體的,先從配置條目的配置信息中提取條目類型,然后根據條目類型從匹配規則庫3中獲取匹配規則。
[0083]A802.配置信息映射。比照匹配規則對配置條目的配置數據作分析映射處理,即依次判斷匹配規則中的每種配置類型的配置對象的屬性值,看是否存在于配置條目的配置數據中,若否,則不需映射該類配置對象,若是,則提取該配置對象的配置數據和配置類型,將所有的非空配置對象(假定有P個對象)提取出來的信息緩存為對象列表χ(此時X中每個配置對象有類型信息,沒有配置對象ID信息)。
[0084]A803.查找配置條目ID。從配置條目的配置信息中取出配置條目ID,判斷映射關系庫中是否含有該配置條目ID,若否,說明單盤沒有配置該配置條目,該配置條目的set命令等效于它的所有對象的新增命令,轉入A804;若是,說明單盤已存在該配置條目的配置,本次set命令是對已有配置的修改操作,則轉入A807分支進行修改處理。
[0085]A804.為對象列表X中的每個配置對象,向ID資源管理模塊6申請新的配置對象ID,并暫存于對象列表X中,進入A805。
[0086]A805.為對象列表X中的每個配置對象設置配置命令,P個新配置對象都為增加命令,進入A806。
[0087]A806.將對象列表X中配置對象的總個數設置為循環總次數,S卩m = p,然后跳到A812,開始對對象列表X中的配置對象做輪循處理。
[0088]A807.從映射關系庫4中取出該配置條目的舊對象列表Y(假定為u個配置對象),且獲取列表信息中每個配置對象都含有的類型和ID信息,進入Α808。
[0089]Α808.新舊列表對比合成。基于匹配規則,對新舊兩個對象列表進行對比合成處理:先把新對象列表X中每個配置對象的new_flag置I,匹配規則中超出了對象列表X的那些類型所對應的虛擬對象設置new_f Iag = O;接著將舊對象列表Y中每個配置對象的old_f lag置I,匹配規則中超出了列表Y的那些類型所對應的虛擬對象設置old_flag = 0。再將新舊兩個對象列表按照數學中的集合合并原理,進行合成處理,即,依次將兩個對象列表中配置類型相同的兩個配置對象進行1:1組隊比較合并,得到一個臨時對象列表Z(假定為w個配置對象)。此時,對象列表Z中配置對象分為3個不重疊的子集:全新對象子集(子集SI) = {符合new_flag= I且old_f Iag = O的所有配置對象},舊對象子集(子集S2) = {符合new_f Iag = O且old_flag=l的所有配置對象},新換舊對象子集(子集S3) = {符合new_fIag= I且old_flag = I的所有配置對象};接著進入A809。
[0090]A809.為子集SI中的q個配置對象分別向ID資源管理模塊6申請新的配置對象ID,并暫存于對象列表X和對象列表Z中,進入A810。
[0091]A810.設置配置對象的配置命令。為對象列表Z中的每配置個對象設置配置命令:子集SI中的配置對象為增加命令,子集S2中的配置對象為刪除命令,子集S3中的配置對象為修改命令,然后進入A811。
[0092]A811.將對象列表Z中配置對象的個數設置為循環總次數,S卩m=w,然后跳到A812,開始對對象列表Z中的配置對象做輪循處理。
[0093]A812.開始對m個配置對象做循環處理。循環變量k賦初值I,準備處理第一個配置條目;進入步驟A813。
[0094]A813.判斷循環結束條件k>m是否滿足,如果是,退出循環轉入A816;如果否,則進入A814,開始一輪循環處理。
[0095]A814.匯集第k個配置對象的完整配置信息(類型、對象ID、配置命令、配置數據),通過函數調用方式將這些信息送給配置對象處理模塊8,對第k個配置對象進行后續配置處理,函數返回后進入A815。
[0096]A815.循環變量k的值增加I,準備下一個配置對象,進入下一輪循環處理,即轉入A813o
[0097]A816.保存配置條目與配置對象的映射關系。在映射關系庫4中,對該配置條目的“條目-對象映射關系”進行刷新存儲,即用新對象列表X的每個配置對象的類型及ID信息,采用徹底覆蓋寫入的方式,保存到映射關系庫4中該配置條目ID的位置處;完成映射關系庫4的更新后,進入A817。
[0098]A817.舊配置對象ID資源回收。A808中的舊對象子集S2為非空,則依次對子集S2中的每一個配置對象ID進行注銷處理,告知ID資源管理模塊6回收這些已經被刪除了的配置對象的ID資源。所有舊配置對象的ID資源回收后,退出本流程。
[0099]所述步驟S3中,進行配置對象的配置功能處理,基于配置對象實施單盤所需的各種配置功能的處理,包括如下動作:配置分離、配置存儲、命令下發、配置獲取、信息收集與適配、各層專用功能處理。
[0100]首先進行配置分離處理,即對配置對象的配置信息實施解耦處理,分離成配置數據和配置命令兩部分。然后通過配置存儲,將分離出來的配置數據保存到配置數據庫5中,主要采用配置數據庫5的寫接口來完成,即通過寫接口將一個配置對象的配置數據存入對應配置類型二叉樹的相應節點中。接著是命令下發處理,通過模塊間接口 7將所述配置命令下發到緊鄰的下層功能模塊中。每層功能模塊收到配置命令后,各司其職地完成相應配置命令的配置處理。在每個功能模塊內,先根據配置對象ID調用配置數據庫5的讀接口獲取配置數據,即,通過讀接口可以將一個配置對象的配置數據從對應配置類型二叉樹的相應節點中獲取出來,搜索關鍵字來選擇節點。然后基于通用業務模型I中配置類型間的相互關系,分析待處理對象的關聯對象,并對它們進行配置獲取處理,將收集全的配置信息適配成原有專用功能模塊的專門數據結構,送給原有功能模塊進行后續處理。對于各層功能模塊這一部分,本發明與原有單盤相比,有相同部分也有顯著區別;相同部分:各功能模塊間的層次架構以及每個功能模塊完成的專用功能基本保持一樣;主要差異:每個功能模塊剔除了原有的按照專門數據結構備份數據的部分,增加了信息收集與適配處理。
[0101 ] 如圖5所示,以PW類型配置對象為例,對配置對象的配置功能處理步驟進行詳細說明,本實施例有三層,從上至下分別為配置分離存儲層(以下簡稱存儲層)、業務層和驅動適配層(以下簡稱適配層),其中存儲層和業務層之間通過接口 a相連,業務層和適配層之間通過接口 b相連。
[0102]B100.對配置對象的配置信息實施解耦分離處理,將配置數據、配置命令、配置類型、配置對象ID分別從配置信息中抽取出來。
[0103]B101.取出配置對象的配置命令,判斷是哪一種配置命令,若是刪除命令,進入B102;若是增加命令,進入B107;若是修改命令,進入BI 16。
[0104]B102.根據配置對象ID,從配置數據庫5中清除該配置對象的配置數據,即通過寫接口將單盤配置數據中配置對象ID代表的節點的配置數據寫為空。
[0105]B103.即通過接口a中的配置對象Delete子接口,傳遞該配置對象的配置類型、Delete命令、配置對象ID信息;即實現存儲層與業務層的信息傳遞,完成配置命令的下發。
[0106]B104.執行業務層的通用業務處理功能,實現配置對象在業務層的刪除操作。
[0107]B105.業務層通過接口b中的配置對象Delete子接口,將該配置對象的配置類型、Delete命令、配置對象ID信息,傳遞給適配層。即實現業務層與適配層的信息傳遞,完成配置命令的下發。
[0108]B106.在適配層執行PW功能的相關處理,執行配置對象的底層實際刪除操作,退出本流程,結束。
[0109]B107.根據配置對象ID,添加該對象配置數據到配置數據庫5,即通過寫接口將該對象的配置數據寫到配置數據庫5中配置對象ID代表的節點處。
[0110]B108.存儲層通過接口a中的配置對象Add子接口,將該配置對象的配置類型、Add命令、配置對象ID信息,傳遞給業務層;即實現存儲層與業務層的信息傳遞,完成配置命令的下發。
[0111]B109.根據配置對象ID,通過讀接口從配置數據庫5中配置對象ID所代表的節點處,獲取該配置對象的配置數據。
[0112]B110.基于通用業務模型I中配置類型間的相互關系,從該配置對象的配置數據中,解析該配置對象的關聯對象,并從配置數據庫5中獲取關聯對象的配置數據,然后進行信息適配處理,封裝成原有業務層專用的數據格式信息。
[0113]Bill.執行業務層的邏輯處理功能,實現配置對象在業務層的增加操作。
[0114]B112.業務層通過接口b中的配置對象Add子接口,將該配置對象的配置類型、Add命令、配置對象ID信息,傳遞給適配層;即實現業務層與適配層的信息傳遞,完成配置命令的下發。
[0115]B113.根據配置對象ID,通過讀接口從配置數據庫5中配置對象ID所代表的節點處,獲取該配置對象的配置數據。
[0116]B114.基于通用業務模型I中配置類型間的相互關系,從該配置對象的配置數據中,解析該配置對象的關聯對象,并從配置數據庫5中獲取關聯對象的配置數據,然后進行信息適配處理,封裝成原有驅動適配層專用的數據格式信息。
[0117]B115.在執行PW功能的相關處理,執行配置對象的底層實際增加操作,完成后退出本流程,結束。
[0118]B116.根據配置對象ID,在配置數據庫5中用該配置對象的新配置數據覆蓋舊配置數據。即,通過寫接口在配置數據中配置對象ID代表的節點處,用該配置對象的新配置數據覆蓋舊配置數據。
[0119]B117.存儲層通過接口a中的配置對象Modify子接口,將該配置對象的配置類型、Modify命令、對象ID信息,傳遞給業務層;即實現存儲層與業務層的信息傳遞,完成配置命令的下發。
[0120]B118.根據配置對象ID,通過讀接口從配置數據庫5中配置對象ID所代表的節點處,獲取該配置對象的配置數據。
[0121]B119.基于通用業務模型I中配置類型間的相互關系,從該配置對象的配置數據中解析該配置對象的關聯對象,并從配置數據庫5中獲取關聯對象的配置數據,然后進行信息適配處理,封裝成原有業務層專用的數據格式信息。
[0122]B120.執行業務層的邏輯處理功能,實現配置對象在業務層的修改操作。
[0123]B121.業務層通過接口b中的配置對象Modify子接口,將該配置對象的配置類型、Modify命令、對象ID信息,傳遞給適配層;即實現業務層與適配層的信息傳遞,完成配置命令的下發。
[0124]B122.根據配置對象ID,通過讀接口從配置數據庫5中對象ID所代表的節點處,獲取該配置對象的配置數據。
[0125]B123.基于通用業務模型I中配置類型間的相互關系,從該配置對象的配置數據中,解析該配置對象的關聯對象,并從配置數據庫5中獲取關聯對象的配置數據,然后進行信息適配處理,封裝成原有驅動適配層專用的數據格式信息。
[0126]B124.在適配層執行PW功能的相關處理,執行配置對象的底層實際修改操作,完成后退出本流程,結束。
[0127]本發明不局限于上述實施方式,對于本技術領域的普通技術人員來說,在不脫離本發明原理的前提下,還可以做出若干改進和潤飾,這些改進和潤飾也視為本發明的保護范圍之內。本說明書中未作詳細描述的內容屬于本領域專業技術人員公知的現有技術。
【主權項】
1.一種PTN設備基于通用業務模型的單盤配置系統,與外部管控單元信息交互,其特征 在于,包括:通用業務模型,使配置過程中各層模塊有統一的數據結構;配置信息模塊,包括配置消息、配置條目和配置對象,三者均包括配置數據,配置條目 和配置對象還包括配置命令,配置條目有條目類型之分;配置消息是外部管控單元下發給 單盤的配置信息,一個配置消息代表若干個功能或業務對應的配置信息集合;一個配置條 目代表一個功能或業務對應的配置信息;一個配置對象代表一個子功能或子業務的配置信 息;匹配規則庫,用于存儲條目類型與配置類型的對應關系;映射關系庫,用于存儲每個配置條目與配置對象的對應關系;配置數據庫,用于保存PTN單盤所有配置對象的配置數據,并提供統一的基于配置對象 的訪問接口;ID資源管理模塊,用于配置對象ID的分發與回收的維護管理;模塊間接口,用于對配置對象進行操作的接口;配置對象處理模塊,用于對配置對象的配置信息進行處理。2.如權利要求1所述的PTN設備基于通用業務模型的單盤配置系統,其特征在于:PTN單 盤所有業務和功能進一步細化為獨立的子業務和子功能,并抽象為基本的配置類型,通用 業務模型包括所述配置類型的集合,以及配置類型之間的關系。3.如權利要求1所述的PTN設備基于通用業務模型的單盤配置系統,其特征在于:一個 配置消息包括若干個配置條目,一個配置條目匹配映射若干個配置對象。4.如權利要求1所述的PTN設備基于通用業務模型的單盤配置系統,其特征在于:配置 條目有條目類型,是由PTN單盤配置協議約定的功能或業務類型決定的,配置條目ID含在配 置條目的配置數據中;配制條目的配置命令分為set、delete兩種。5.—種基于權利要求1所述系統的PTN設備基于通用業務模型的單盤配置方法,其特征 在于,包括步驟:51.通用業務模型、匹配規則庫和配置數據庫初始化;52.PTN單盤接收來自外部管控單元的配置信息,將一個配置消息拆分為若干個配置條 目,再將每個配置條目映射若干個配置對象;53.進行配置對象的配置功能處理,先將配置對象的配置信息分離成配置數據和配置 命令兩部分,將所述配置數據保存到配置數據庫,通過模塊間接口將所述配置命令下發到 緊鄰的下層功能模塊中,每層功能模塊依據通用業務模型、針對配置對象進行適配處理后, 完成相應配置命令的配置處理,直至最底層,將配置信息適配成直接寫到芯片內部寄存器 或內部硬表的比特級數據,完成信息配置到單盤硬件。6.如權利要求5所述的PTN設備基于通用業務模型的單盤配置方法,其特征在于:所述 S2中,將一個配置消息拆分為若干個配置條目,具體包括,收到配置消息后,處理第一個配 置條目,獲取配置條目的條目類型和信息長度,獲取配置條目的全部配置信息,根據配置信 息中的配置命令,進行對應的配置命令操作,完成該配置條目的操作后,處理下一個配置條 目,直至所有配置條目處理完成。7.如權利要求6所述的PTN設備基于通用業務模型的單盤配置方法,其特征在于:所述配置命令為delete命令時,直接從映射關系庫獲取配置條目對應的配置對象列表,依次對 每個配置對象進行刪除處理。8.如權利要求7所述的PTN設備基于通用業務模型的單盤配置方法,其特征在于:從映 射關系庫獲取配置條目對應的配置對象列表時,首先從配置條目的配置信息中取出配置條 目ID,并在映射關系庫中搜索該配置條目ID,判斷是否存在,若否,不需要刪除,直接退出; 若是,說明已經存在該配置條目,應該刪除。9.如權利要求8所述的PTN設備基于通用業務模型的單盤配置方法,其特征在于:所述 刪除處理具體為,從映射關系庫取出對應的配置對象列表,依次處理配置對象列表中的每 一個配置對象,通過配置對象處理模塊進行刪除處理,并從映射關系庫中清除該配置條目 與配置對象的映射關系,ID資源管理模塊回收所有刪除的配置對象ID資源。10.如權利要求6所述的PTN設備基于通用業務模型的單盤配置方法,其特征在于:所述 配置命令為set命令時,根據匹配規則庫,將配置條目映射為配置對象列表,生成映射關系 并寫入映射關系庫,基于通用業務模型衍生配置對象間的關聯信息,從ID資源管理模塊申 請新配置對象ID,匯集配置對象的全部配置信息。11.如權利要求10所述的PTN設備基于通用業務模型的單盤配置方法,其特征在于:配 置條目生成映射關系時,依次判斷匹配規則中的每種配置類型的配置對象的屬性值,看是 否存在配置條目的配置數據中,若否,不映射;若是,提取配置該配置對象的配置數據和配 置類型,將所有非空配置對象提取出來的信息緩存為對象列表X。12.如權利要求11所述的PTN設備基于通用業務模型的單盤配置方法,其特征在于:緩 存對象列表X后,判斷映射關系庫中是否含有配置條目ID,若否,set命令等效于所有配置對 象的新增命令;若是,說明已存在對應配置條目的配置,進行已有配置的修改。13.如權利要求12所述的PTN設備基于通用業務模型的單盤配置方法,其特征在于:set 命令等效于新增命令時,為對象列表中的每個配置對象,向ID資源管理模塊申請新的配置 對象ID,暫存于對象列表X,對每個配置對象設置配置命令,依次處理每一個配置條目的配 置對象,映射關系庫保存配置條目與配置對象的映射關系。14.如權利要求12所述的PTN設備基于通用業務模型的單盤配置方法,其特征在于:進 行已有配置的修改時,從映射關系庫中取該配置條目的舊對象列表Y,基于匹配規則,將對 象列表X和舊對象列表Y進行對比合成處理,得到臨時對象列表Z,臨時對象列表Z包括全新 對象子集、舊對象子集和新換舊對象子集,為全新對象子集中的配置對象向ID資源管理模 塊申請新的配置對象ID,暫存于對象列表X和臨時對象列表Z,設置全新對象子集配置命令 為增加命令,舊對象子集配置命令為刪除命令,新換舊對象子集配置命令為修改命令,通過 配置對象處理模塊對配置對象進行相對應的配置命令處理。15.如權利要求5所述的PTN設備基于通用業務模型的單盤配置方法,其特征在于:S2 中,基于配置對象動態申請內存單元,將配置類型相同的所有配置對象組織成一棵二叉樹, 再將指向二叉樹根部的所有指針用鏈表串連,構建配置數據庫。16.如權利要求15所述的PTN設備基于通用業務模型的單盤配置方法,其特征在于:S3 中,將所述配置數據保存到配置數據庫,每個配置對象的配置數據分別存放在一個二叉樹 節點中,節點采用動態方式申請或釋放所需內存單元,并與節點代表的配置對象具有相同 的生存期。17.如權利要求16所述的PTN設備基于通用業務模型的單盤配置方法,其特征在于:為 每種配置類型配置讀寫接口,通過寫接口將一個配置對象的配置數據存入對應配置類型二 叉樹的相應節點,通過讀接口將一個配置對象的配置數據從對應配置類型二叉樹的相應節 點獲取,通過配置對象ID搜索關鍵字來選擇節點。18.如權利要求5所述的PTN設備基于通用業務模型的單盤配置方法,其特征在于:S3 中,將配置對象的配置信息實施解耦處理,分離出配置數據和配置命令兩部分,從配置信息 中得到配置類型和配置對象ID,每層功能模塊根據下發的配置命令進行相應處理。19.如權利要求18所述的PTN設備基于通用業務模型的單盤配置方法,其特征在于:如 果配置命令為刪除命令,根據配置對象ID,從配置數據庫中清除該配置對象的配置數據,將 命令下發至下層功能模塊,下層功能模塊按照配置命令做相應的刪除操作,再次下發至底 層功能模塊,底層功能模塊執行配置對象的底層實際刪除操作,完成。20.如權利要求18所述的PTN設備基于通用業務模型的單盤配置方法,其特征在于:如 果配置命令為增加命令,添加該配置對象的配置數據到單盤配置數據庫,將命令下發至下 層功能模塊,從配置數據庫中獲取關聯配置對象的配置數據,做適配處理后,再次下發至底 層功能模塊,執行實際增加操作,完成。21.如權利要求18所述的PTN設備基于通用業務模型的單盤配置方法,其特征在于:如 果配置命令為修改命令,在配置數據庫中用該配置對象新配置數據覆蓋舊配置數據,將命 令下發至下層功能模塊,從配置數據庫中獲取關聯配置對象的配置數據,進行配置信息的 適配處理,再次下發至底層功能模塊,執行配置對象的實際修改操作,結束。
【文檔編號】H04L12/24GK105959135SQ201610273762
【公開日】2016年9月21日
【申請日】2016年4月28日
【發明人】施先清
【申請人】烽火通信科技股份有限公司