欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

通信系統(tǒng)中基于對(duì)象的配置管理系統(tǒng)的構(gòu)建實(shí)現(xiàn)方法

文檔序號(hào):6597628閱讀:283來(lái)源:國(guó)知局
專利名稱:通信系統(tǒng)中基于對(duì)象的配置管理系統(tǒng)的構(gòu)建實(shí)現(xiàn)方法
技術(shù)領(lǐng)域
本發(fā)明涉及通信系統(tǒng)領(lǐng)域,特別涉及通信系統(tǒng)中的嵌入式軟件技術(shù)領(lǐng)域,具體是
指一種通信系統(tǒng)中基于對(duì)象的配置管理系統(tǒng)的構(gòu)建實(shí)現(xiàn)方法。
背景技術(shù)
隨著通信業(yè)和信息技術(shù)的發(fā)展,計(jì)算機(jī)網(wǎng)絡(luò)的規(guī)模越來(lái)越大,網(wǎng)絡(luò)結(jié)構(gòu)也越來(lái)越復(fù)雜。在這種情況下,網(wǎng)絡(luò)管理是計(jì)算機(jī)網(wǎng)絡(luò)能夠可靠而穩(wěn)定運(yùn)行的保證,如果沒(méi)有一個(gè)高效的管理系統(tǒng)對(duì)網(wǎng)絡(luò)進(jìn)行管理,就很難保證向用戶提供令人滿意的服務(wù),所以網(wǎng)絡(luò)管理越來(lái)越體現(xiàn)出它的重要性,并成為計(jì)算機(jī)網(wǎng)絡(luò)發(fā)展中的關(guān)鍵技術(shù)。組成計(jì)算機(jī)網(wǎng)絡(luò)的基本要素是通信設(shè)備,因此,設(shè)備管理是網(wǎng)絡(luò)管理的基礎(chǔ)。通常,通信設(shè)備都會(huì)提供三種管理軟件命令行接口 (Command Line Interface)管理、WEB管理和基于SNMP協(xié)議的管理。根據(jù)設(shè)備在網(wǎng)絡(luò)中的位置,還有其他專有管理軟件,比如ADSL終端設(shè)備上使用的TR069管理,EPON終端設(shè)備上使用的OAM管理等。這些網(wǎng)管軟件各有側(cè)重,往往在設(shè)備上并存同時(shí)運(yùn)行,以提供多樣化的管理手段。 多種管理軟件并存增加了設(shè)備軟件系統(tǒng)構(gòu)建的復(fù)雜性。在軟件架構(gòu)設(shè)計(jì)上,有必要引入配置管理系統(tǒng)。如圖l所示,配置管理系統(tǒng)處在高層管理軟件和底層功能模塊的中間,高層管理軟件通過(guò)配置管理系統(tǒng)管理系統(tǒng)資源和業(yè)務(wù)功能。底層的各功能模塊往往具有自己的配置文件和管理方法,這樣整個(gè)系統(tǒng)各模塊管理具有分散性,每個(gè)配置文件都是孤立的,當(dāng)整個(gè)系統(tǒng)龐大的時(shí)候,過(guò)多的配置文件會(huì)給系統(tǒng)的管理帶來(lái)很大的不便,因此需要設(shè)計(jì)一層配置管理系統(tǒng)軟件,使得管理軟件的開發(fā)無(wú)需關(guān)注各自的配置方法細(xì)節(jié)。配置管理系統(tǒng)為高層的各種管理軟件提供統(tǒng)一的應(yīng)用程序接口 (API),使得后者的開發(fā)建立在一致的基礎(chǔ)上。當(dāng)管理軟件基于統(tǒng)一的配置管理系統(tǒng)來(lái)開發(fā),由于管理接口 API具有一致性,開發(fā)和維護(hù)多個(gè)管理軟件也將變得容易實(shí)現(xiàn),并且當(dāng)?shù)讓榆浖K實(shí)現(xiàn)發(fā)生變化時(shí),管理軟件則無(wú)需做變化。 盡管現(xiàn)在的通信設(shè)備大多支持多種管理軟件,但管理軟件開發(fā)多是基于各功能模塊自身導(dǎo)出的API接口,這些接口互不統(tǒng)一,與各自功能模塊內(nèi)部實(shí)現(xiàn)方法密切相關(guān)。分散的API接口也導(dǎo)致編譯出來(lái)的管理軟件規(guī)模變大,占用較多嵌入設(shè)備中寶貴的存儲(chǔ)空間。也有部分設(shè)備軟件架構(gòu)中具有配置管理層,但構(gòu)建上采用純C的API接口 ,沒(méi)有使用數(shù)據(jù)結(jié)構(gòu)描述管理對(duì)象,從而缺少抽象性,也沒(méi)有對(duì)管理對(duì)象進(jìn)行組織。

發(fā)明內(nèi)容
本發(fā)明的目的是克服了上述現(xiàn)有技術(shù)中的缺點(diǎn),提供一種能夠?qū)⑼ㄐ畔到y(tǒng)中的各種資源進(jìn)行有效組織、大幅減少管理軟件的開發(fā)難度和周期、有效屏蔽實(shí)現(xiàn)各種管理功能的細(xì)節(jié)、通用性和可重用性較強(qiáng)、工作性能穩(wěn)定可靠、適用范圍較為廣泛的通信系統(tǒng)中基于對(duì)象的配置管理系統(tǒng)的構(gòu)建實(shí)現(xiàn)方法。 為了實(shí)現(xiàn)上述的目的,本發(fā)明的通信系統(tǒng)中基于對(duì)象的配置管理系統(tǒng)的構(gòu)建實(shí)現(xiàn)方法如下 該通信系統(tǒng)中基于對(duì)象的配置管理系統(tǒng)的構(gòu)建實(shí)現(xiàn)方法,其主要特點(diǎn)是,所述的方法包括以下步驟 (1)通信系統(tǒng)將被管理的通信設(shè)備上的系統(tǒng)資源抽象成為管理對(duì)象; (2)通信系統(tǒng)根據(jù)管理對(duì)象的特點(diǎn),對(duì)所述的管理對(duì)象構(gòu)建相應(yīng)的接口類信息,所
述的接口類為抽象類,是對(duì)該管理對(duì)象進(jìn)行訪問(wèn)的接口 ; (3)通信系統(tǒng)根據(jù)管理對(duì)象的特點(diǎn),對(duì)所述的管理對(duì)象構(gòu)建相應(yīng)的實(shí)現(xiàn)類信息,所述的實(shí)現(xiàn)類與相應(yīng)的管理對(duì)象的接口類信息相對(duì)應(yīng); (4)根據(jù)所述的管理對(duì)象的接口類和實(shí)現(xiàn)類構(gòu)建相應(yīng)的組類信息,所述的組類為該管理對(duì)象的接口類和實(shí)現(xiàn)類的基類; (5)構(gòu)建通信系統(tǒng)的功能模塊的根類信息,所述的根類具有該功能模塊的全局屬性和操作; (6)構(gòu)建功能模塊中所屬各個(gè)類之間的關(guān)聯(lián)關(guān)系; (7)構(gòu)建所述的配置管理系統(tǒng)的公共支持類信息,所述的公共支持類具有所述的配置管理系統(tǒng)自身管理相關(guān)的全局接口 。 該通信系統(tǒng)中基于對(duì)象的配置管理系統(tǒng)的構(gòu)建實(shí)現(xiàn)方法中的接口類中包括與屬性關(guān)聯(lián)的讀取/設(shè)置方法的公有虛函數(shù)對(duì)。 該通信系統(tǒng)中基于對(duì)象的配置管理系統(tǒng)的構(gòu)建實(shí)現(xiàn)方法中的接口類名稱以"Im"為前綴。 該通信系統(tǒng)中基于對(duì)象的配置管理系統(tǒng)的構(gòu)建實(shí)現(xiàn)方法中的實(shí)現(xiàn)類中包括與相應(yīng)的管理對(duì)象的屬性值相對(duì)應(yīng)的私有變量、該私有變量的讀取/設(shè)置方法的公有實(shí)函數(shù)對(duì)。 該通信系統(tǒng)中基于對(duì)象的配置管理系統(tǒng)的構(gòu)建實(shí)現(xiàn)方法中的組類為在有多個(gè)對(duì)象實(shí)例的對(duì)象類基礎(chǔ)上定義,組類只有一個(gè)對(duì)象實(shí)例,并且該組類的對(duì)象實(shí)例由一組子類的對(duì)象實(shí)例所組成。 該通信系統(tǒng)中基于對(duì)象的配置管理系統(tǒng)的構(gòu)建實(shí)現(xiàn)方法中的組類中包括以下三個(gè)方法函數(shù) (l)add()方法函數(shù),用于添加一個(gè)對(duì)象實(shí)例;
(2)remove()方法函數(shù),用于刪除指定的對(duì)象實(shí)例;
(3)find()方法函數(shù),用于查找指定的對(duì)象。 該通信系統(tǒng)中基于對(duì)象的配置管理系統(tǒng)的構(gòu)建實(shí)現(xiàn)方法中的根類只有一個(gè)對(duì)象實(shí)例,且該根類的對(duì)象實(shí)例在啟動(dòng)時(shí)自動(dòng)創(chuàng)建,并一直存在于所述的配置管理系統(tǒng)中不可刪除。 該通信系統(tǒng)中基于對(duì)象的配置管理系統(tǒng)的構(gòu)建實(shí)現(xiàn)方法中的各個(gè)類之間的關(guān)聯(lián)關(guān)系為各個(gè)類之間的繼承關(guān)系。 該通信系統(tǒng)中基于對(duì)象的配置管理系統(tǒng)的構(gòu)建實(shí)現(xiàn)方法中的構(gòu)建所述的配置管理系統(tǒng)的公共支持類信息,包括以下步驟 (11)構(gòu)建對(duì)通信系統(tǒng)的信息模型進(jìn)行維護(hù)管理的信息模型管理接口類和信息模型管理實(shí)現(xiàn)類;
6
(12)構(gòu)建對(duì)管理對(duì)象的屬性進(jìn)行通用訪問(wèn)的存取器類; (13)構(gòu)建對(duì)配置文件進(jìn)行管理的配置文件類; (14)構(gòu)建用于事件管理的事件監(jiān)聽(tīng)類; (15)構(gòu)建用于提供上下文環(huán)境的環(huán)境類。 該通信系統(tǒng)中基于對(duì)象的配置管理系統(tǒng)的構(gòu)建實(shí)現(xiàn)方法中的信息模型管理接口類和信息模型管理實(shí)現(xiàn)類中包括以下方法函數(shù) (l)setName()方法函數(shù),用于修改信息模型中對(duì)象節(jié)點(diǎn)名字; (2)getName()方法函數(shù),用于獲取信息模型中指定對(duì)象節(jié)點(diǎn)名字; (3)parent()方法函數(shù),用于獲取指定對(duì)象節(jié)點(diǎn)的父節(jié)點(diǎn); (4) setParent ()方法函數(shù),用于設(shè)置對(duì)象節(jié)點(diǎn)的父節(jié)點(diǎn); (5)add()方法函數(shù),用于給指定對(duì)象節(jié)點(diǎn)添加子節(jié)點(diǎn); (6)remove()方法函數(shù),用于刪除指定對(duì)象節(jié)點(diǎn)的子節(jié)點(diǎn); (7) destroy ()方法函數(shù),用于刪除指定對(duì)象節(jié)點(diǎn); (8) children ()方法函數(shù),用于以鏈表形式獲取指定對(duì)象節(jié)點(diǎn)的全部子節(jié)點(diǎn); (9)accessors()方法函數(shù),用于以鏈表形式獲取指定對(duì)象節(jié)點(diǎn)的全部屬性; (10)next()方法函數(shù),用于獲取指定對(duì)象節(jié)點(diǎn)的兄弟節(jié)點(diǎn); (ll)find()方法函數(shù),用于獲取用特定標(biāo)識(shí)方法標(biāo)識(shí)的對(duì)象節(jié)點(diǎn); (12)root()方法函數(shù),用于獲取信息模型的根節(jié)點(diǎn); (13)即plyChanges方法函數(shù),用于強(qiáng)制將屬性的變化值應(yīng)用到功能模塊中。 該通信系統(tǒng)中基于對(duì)象的配置管理系統(tǒng)的構(gòu)建實(shí)現(xiàn)方法中的存取器類中包括以下方法函數(shù) (l)isAttributeConfigured()方法函數(shù),用于獲取屬性是否可保存到配置文件中; (2) isRead0nly ()方法函數(shù),用于獲取屬性是否為只讀屬性; (3)next()方法函數(shù),用于獲取下一個(gè)屬性; (4)get()方法函數(shù),用于獲取指定屬性當(dāng)前值; (5)set()方法函數(shù),用于設(shè)置指定屬性當(dāng)前值。 該通信系統(tǒng)中基于對(duì)象的配置管理系統(tǒng)的構(gòu)建實(shí)現(xiàn)方法中的配置文件類中包括以下方法函數(shù) (l)save()方法函數(shù),用于將信息模型保存到指定配置文件中; (2)restore()方法函數(shù),用于將指定配置文件中配置數(shù)據(jù)載入并構(gòu)建信息模型; (3) commitToFlash ()方法函數(shù),用于將配置文件提交給文件系統(tǒng)保存入FLASH芯片中; (4)restoreFromFactory()方法函數(shù),用于從出廠配置中載入配置數(shù)據(jù)并構(gòu)建信息模型。 該通信系統(tǒng)中基于對(duì)象的配置管理系統(tǒng)的構(gòu)建實(shí)現(xiàn)方法中的事件至少包括對(duì)象刪除事件和對(duì)象修改事件。 該通信系統(tǒng)中基于對(duì)象的配置管理系統(tǒng)的構(gòu)建實(shí)現(xiàn)方法中的事件監(jiān)聽(tīng)類包括以下方法函數(shù)
(l)listen()方法函數(shù),用于設(shè)置在指定對(duì)象節(jié)點(diǎn)上監(jiān)聽(tīng)事件以及事件處理函數(shù); (2)皿listen()方法函數(shù),用于設(shè)置在指定對(duì)象節(jié)點(diǎn)上停止監(jiān)聽(tīng)事件。 該通信系統(tǒng)中基于對(duì)象的配置管理系統(tǒng)的構(gòu)建實(shí)現(xiàn)方法中的環(huán)境類包括以下方
法函數(shù) (l)getReadLock()方法函數(shù),用于獲取對(duì)信息模型讀操作的鎖;
(2)getWriteLock()方法函數(shù),用于獲取對(duì)信息模型寫操作的鎖;
(3)releaseLock()方法函數(shù),用于釋放讀鎖或?qū)戞i;
(4) isWriteLocked()方法函數(shù),用于獲取寫鎖狀態(tài);
(5) isReadLocked()方法函數(shù),用于獲取讀鎖狀態(tài); (6)status()方法函數(shù),用于檢查最近一次配置管理系統(tǒng)接口調(diào)用返回狀態(tài);
(7)fail()方法函數(shù),用于以字符串形式返回最近一次配置管理系統(tǒng)接口調(diào)用失敗的原因。 采用了該發(fā)明的通信系統(tǒng)中基于對(duì)象的配置管理系統(tǒng)的構(gòu)建實(shí)現(xiàn)方法,由于其中基于對(duì)象的構(gòu)建思想,對(duì)系統(tǒng)資源進(jìn)行了抽象,并構(gòu)建了信息模型和管理對(duì)象,將設(shè)備中的各種資源有效的組織起來(lái),為管理功能提供了一個(gè)設(shè)備資源的邏輯視圖,而且在當(dāng)前高層管理軟件的開發(fā)普遍采用面向?qū)ο蠹夹g(shù)情況下,基于本發(fā)明提供的基于對(duì)象的配置管理系統(tǒng)開發(fā)高層管理軟件,可以實(shí)現(xiàn)對(duì)象的直接映射,從而顯著減少了高層管理軟件開發(fā)的難度和工作量;對(duì)象類的繼承性便于擴(kuò)充和增加管理對(duì)象類,而且面對(duì)的是較高層次上進(jìn)行抽象的管理對(duì)象,屏蔽了實(shí)現(xiàn)各種管理功能的細(xì)節(jié),使得相應(yīng)的配置管理系統(tǒng)具有廣泛的可重用性,可以將該配置管理系統(tǒng)軟件應(yīng)用到不同的通信設(shè)備上,僅僅需要擴(kuò)充對(duì)象類即可滿足管理要求,設(shè)備廠商將可以在不同的設(shè)備上只需開發(fā)并維護(hù)一套管理層軟件,有利于降低研發(fā)成本和產(chǎn)品開發(fā)周期,提高企業(yè)的效益,不僅工作性能穩(wěn)定可靠,而且適用范圍較為廣泛。


圖1為本發(fā)明的具有配置管理系統(tǒng)的通信系統(tǒng)軟件架構(gòu)示意圖。
圖2為本發(fā)明的通信系統(tǒng)中基于對(duì)象的配置管理系統(tǒng)的構(gòu)建實(shí)現(xiàn)方法中的接口
類UML示意圖。 圖3為本發(fā)明的通信系統(tǒng)中基于對(duì)象的配置管理系統(tǒng)的構(gòu)建實(shí)現(xiàn)方法的整體流程示意圖。 圖4為本發(fā)明的通信系統(tǒng)中基于對(duì)象的配置管理系統(tǒng)的構(gòu)建實(shí)現(xiàn)方法的管理URL過(guò)濾功能的接口類之間的關(guān)聯(lián)示意圖。
具體實(shí)施例方式
為了能夠更清楚地理解本發(fā)明的技術(shù)內(nèi)容,特舉以下實(shí)施例詳細(xì)說(shuō)明。 請(qǐng)參閱圖3所示,該通信系統(tǒng)中基于對(duì)象的配置管理系統(tǒng)的構(gòu)建實(shí)現(xiàn)方法,包括
以下步驟 (1)通信系統(tǒng)將被管理的通信設(shè)備上的系統(tǒng)資源抽象成為管理對(duì)象;
8
(2)通信系統(tǒng)根據(jù)管理對(duì)象的特點(diǎn),對(duì)所述的管理對(duì)象構(gòu)建相應(yīng)的接口類信息,所述的接口類為抽象類,是對(duì)該管理對(duì)象進(jìn)行訪問(wèn)的接口 ;該接口類中包括與屬性關(guān)聯(lián)的讀取/設(shè)置方法的公有虛函數(shù)對(duì);該接口類名稱以"Im"為前綴; (3)通信系統(tǒng)根據(jù)管理對(duì)象的特點(diǎn),對(duì)所述的管理對(duì)象構(gòu)建相應(yīng)的實(shí)現(xiàn)類信息,所
述的實(shí)現(xiàn)類與相應(yīng)的管理對(duì)象的接口類信息相對(duì)應(yīng);該實(shí)現(xiàn)類中包括與相應(yīng)的管理對(duì)象的
屬性值相對(duì)應(yīng)的私有變量、該私有變量的讀取/設(shè)置方法的公有實(shí)函數(shù)對(duì); (4)如有必要,根據(jù)所述的管理對(duì)象的接口類和實(shí)現(xiàn)類構(gòu)建相應(yīng)的組類信息,所述
的組類為該管理對(duì)象的接口類和實(shí)現(xiàn)類的基類;該組類只有一個(gè)對(duì)象實(shí)例,并且該組類的
對(duì)象實(shí)例由一組子類的對(duì)象實(shí)例所組成;該組類中包括以下三個(gè)方法函數(shù) (a)add()方法函數(shù),用于添加一個(gè)對(duì)象實(shí)例; (b)remove()方法函數(shù),用于刪除指定的對(duì)象實(shí)例; (c)find()方法函數(shù),用于查找指定的對(duì)象; (5)構(gòu)建通信系統(tǒng)的功能模塊的根類信息,所述的根類具有該功能模塊的全局屬性和操作;該根類只有一個(gè)對(duì)象實(shí)例,且該根類的對(duì)象實(shí)例在啟動(dòng)時(shí)自動(dòng)創(chuàng)建,并一直存在于所述的配置管理系統(tǒng)中不可刪除; (6)構(gòu)建功能模塊中所屬各個(gè)類之間的關(guān)聯(lián)關(guān)系;該各個(gè)類之間的關(guān)聯(lián)關(guān)系為各個(gè)類之間的繼承關(guān)系; (7)通信系統(tǒng)根據(jù)用戶操作,構(gòu)建所述的配置管理系統(tǒng)的公共支持類信息,所述的公共支持類具有所述的配置管理系統(tǒng)自身管理相關(guān)的全局接口 ;所述的配置管理系統(tǒng)的公共支持類信息,包括以下步驟 (a)構(gòu)建對(duì)通信系統(tǒng)的信息模型進(jìn)行維護(hù)管理的信息模型管理接口類和信息模型
管理實(shí)現(xiàn)類;該管理接口類和管理節(jié)點(diǎn)實(shí)現(xiàn)類中包括以下方法函數(shù) (i)setName()方法函數(shù),用于修改信息模型中對(duì)象節(jié)點(diǎn)名字; (ii)getName()方法函數(shù),用于獲取信息模型中指定對(duì)象節(jié)點(diǎn)名字; (iii)parent()方法函數(shù),用于獲取指定對(duì)象節(jié)點(diǎn)的父節(jié)點(diǎn); (iv)setParent()方法函數(shù),用于設(shè)置對(duì)象節(jié)點(diǎn)的父節(jié)點(diǎn); (v)add()方法函數(shù),用于給指定對(duì)象節(jié)點(diǎn)添加子節(jié)點(diǎn); (vi)remove()方法函數(shù),用于刪除指定對(duì)象節(jié)點(diǎn)的子節(jié)點(diǎn); (vii) destroy ()方法函數(shù),用于刪除指定對(duì)象節(jié)點(diǎn); (viii) children ()方法函數(shù),用于以鏈表形式獲取指定對(duì)象節(jié)點(diǎn)的全部子節(jié)點(diǎn); (ix)accessors()方法函數(shù),用于以鏈表形式獲取指定對(duì)象節(jié)點(diǎn)的全部屬性; (x)next()方法函數(shù),用于獲取指定對(duì)象節(jié)點(diǎn)的兄弟節(jié)點(diǎn); (xi)find()方法函數(shù),用于獲取用特定標(biāo)識(shí)方法標(biāo)識(shí)的對(duì)象節(jié)點(diǎn); (xii)root()方法函數(shù),用于獲取信息模型的根節(jié)點(diǎn); (xiii)即plyChanges方法函數(shù),用于強(qiáng)制將屬性的變化值應(yīng)用到功能模塊中;
(b)構(gòu)建對(duì)管理對(duì)象的屬性進(jìn)行通用訪問(wèn)的存取器類;該通信系統(tǒng)中基于對(duì)象的配置管理系統(tǒng)的構(gòu)建實(shí)現(xiàn)方法中的存取器類中包括以下方法函數(shù) (i)isAttributeConfigured()方法函數(shù),用于獲取屬性是否可保存到配置文件中;
(ii)isReadOnly()方法函數(shù),用于獲取屬性是否為只讀屬性;
(iii)next()方法函數(shù),用于獲取下一個(gè)屬性;
(iv)get()方法函數(shù),用于獲取指定屬性當(dāng)前值;
(v)set()方法函數(shù),用于設(shè)置指定屬性當(dāng)前值; (c)構(gòu)建對(duì)配置文件進(jìn)行管理的配置文件類,該配置文件類中包括以下方法函 數(shù) (i)save()方法函數(shù),用于將信息模型保存到指定配置文件中; (ii)restore()方法函數(shù),用于將指定配置文件中配置數(shù)據(jù)載入并構(gòu)建信息模
型; (iii)commitToFlash()方法函數(shù),用于將配置文件提交給文件系統(tǒng)保存入FLASH 芯片中; (iv)restoreFromFactory()方法函數(shù),用于從出廠配置中載入配置數(shù)據(jù)并構(gòu)建信 息模型; (d)構(gòu)建用于事件管理的事件監(jiān)聽(tīng)類;所述的事件包括對(duì)象刪除事件和對(duì)象修改 事件,該事件監(jiān)聽(tīng)類包括以下方法函數(shù) (i)listen()方法函數(shù),用于設(shè)置在指定對(duì)象節(jié)點(diǎn)上監(jiān)聽(tīng)事件以及事件處理函 數(shù); (ii)皿listen()方法函數(shù),用于設(shè)置在指定對(duì)象節(jié)點(diǎn)上停止監(jiān)聽(tīng)事件;
(e)構(gòu)建用于提供上下文環(huán)境的環(huán)境類,該環(huán)境類包括以下方法函數(shù)
(i)getReadLock()方法函數(shù),用于獲取對(duì)信息模型讀操作的鎖;
(ii)getWriteLock()方法函數(shù),用于獲取對(duì)信息模型寫操作的鎖;
(iii)releaseLock()方法函數(shù),用于釋放讀鎖或?qū)戞i;
(iv)isWriteLocked()方法函數(shù),用于獲取寫鎖狀態(tài);
(v)isReadLocked()方法函數(shù),用于獲取讀鎖狀態(tài); (vi)status()方法函數(shù),用于檢查最近一次配置管理系統(tǒng)接口調(diào)用返回狀態(tài);
(vii)fail()方法函數(shù),用于以字符串形式返回最近一次配置管理系統(tǒng)接口調(diào)用 失敗的原因。 在實(shí)際使用當(dāng)中,本發(fā)明的實(shí)質(zhì)是一種在通信設(shè)備上構(gòu)建基于對(duì)象的配置管理系
統(tǒng)軟件的方法,其實(shí)現(xiàn)了高層管理軟件的開發(fā)基于統(tǒng)一的接口 ,通過(guò)構(gòu)建信息模型,將設(shè)備
中的各種資源有效的組織起來(lái),為管理功能提供了一個(gè)設(shè)備資源的邏輯視圖。 在本發(fā)明的技術(shù)方案中,采用了面向?qū)ο蟪绦蛟O(shè)計(jì)中的"類"結(jié)構(gòu)對(duì)管理對(duì)象進(jìn)行
具體的描述,構(gòu)建出一種以類的形式提供API接口的配置管理系統(tǒng)。類指明用什么信息描
述對(duì)象以及可以對(duì)對(duì)象執(zhí)行的動(dòng)作。對(duì)象是類的一個(gè)實(shí)例,類說(shuō)明對(duì)象的類型。對(duì)于一個(gè)
功能模塊,定義管理對(duì)象類、組類和根類,并通過(guò)類之間的繼承關(guān)系將該模塊中抽象出來(lái)的
這些類建立關(guān)聯(lián)。構(gòu)建的配置管理系統(tǒng)將系統(tǒng)中所有對(duì)象組織成樹狀信息模型。 本發(fā)明中的管理對(duì)象是被管理的通信設(shè)備上系統(tǒng)資源的抽象,比如路由接口、橋
接接口、傳輸子通道等。本發(fā)明采用面向?qū)ο蟪绦蛟O(shè)計(jì)中的"類"結(jié)構(gòu)對(duì)管理對(duì)象進(jìn)行具體
的描述,并將管理對(duì)象組織成信息模型(Information Model, IM),構(gòu)建出一種以類的形式
提供API接口的配置管理系統(tǒng)。所謂類是指具有相同屬性(attributes)和操作(actions)
10的管理對(duì)象的集合,它指明用什么信息描述對(duì)象以及可以對(duì)對(duì)象執(zhí)行的動(dòng)作。屬性是指管 理對(duì)象的特征,比如網(wǎng)絡(luò)接口具有IP地址和子網(wǎng)掩碼屬性。屬性值可以讀取或者設(shè)置,也 就是屬性可讀或可寫,所以,每個(gè)屬性都必須有相應(yīng)的獲取(get)/設(shè)置(set)對(duì)操作(只 讀屬性只有g(shù)et操作)。操作是指對(duì)對(duì)象執(zhí)行的動(dòng)作,定義為類的方法函數(shù)。類都具有自身 特定屬性和可執(zhí)行操作,這是類互相區(qū)別的標(biāo)志。對(duì)象是類的一個(gè)實(shí)例(instance),類說(shuō)明 對(duì)象的類型。利用面向?qū)ο蟮睦^承性,對(duì)象類可以有若干派生類,派生類擴(kuò)展了基類的屬性 和操作,便于擴(kuò)充和增加對(duì)象類。本發(fā)明構(gòu)建的配置管理系統(tǒng)將系統(tǒng)中所有對(duì)象組織成樹 狀數(shù)據(jù)結(jié)構(gòu),稱為信息模型,在信息模型中對(duì)象又稱為節(jié)點(diǎn)(Node)。
如圖3所示,本發(fā)明的方法包括如下步驟 步驟一 對(duì)于管理對(duì)象定義接口類(Interface class),根據(jù)管理對(duì)象的特點(diǎn)定 義類中的屬性和操作,對(duì)于每個(gè)屬性都必須具有一對(duì)get/set方法函數(shù)(只讀屬性可以只 有g(shù)et函數(shù))。接口類是一個(gè)抽象類,是對(duì)該對(duì)象進(jìn)行訪問(wèn)的接口。接口類中基本沒(méi)有程 序?qū)崿F(xiàn)代碼,主要是定義與屬性關(guān)聯(lián)的get/set對(duì)和其他操作方法函數(shù),這些函數(shù)都聲明 為公有的虛函數(shù)。每個(gè)接口類都對(duì)應(yīng)一個(gè)實(shí)現(xiàn)類,實(shí)現(xiàn)類按照步驟二方法定義并實(shí)現(xiàn)。接 口類定義可以使用標(biāo)準(zhǔn)的〔++語(yǔ)言類定義。在類命名上,接口類名字一般在實(shí)現(xiàn)類名字前 力口上"Im,,頭("Im"標(biāo)識(shí)InformationModel類),比如Iplnterface類的接口類命名為 Imlplnterface。屬性在接口類中以get/set對(duì)函數(shù)出現(xiàn),因?yàn)橥獠砍绦虿辉试S直接訪問(wèn)屬 性變量,所以在接口類中沒(méi)有屬性變量定義。接口類可以使用UML圖形象表示(在UML圖 例中,不顯示"Im"前綴),如圖2, Imlplnterface類代表TCP/IP協(xié)議棧中的一個(gè)接口 。
步驟二 定義并實(shí)現(xiàn)管理對(duì)象的實(shí)現(xiàn)類(Implementation class)。實(shí)現(xiàn)類是接口 類的真正實(shí)現(xiàn)代碼,它調(diào)用底層功能模塊的API接口實(shí)現(xiàn)操作函數(shù),實(shí)現(xiàn)類的實(shí)現(xiàn)事實(shí)上 是對(duì)功能模塊的抽象工作。實(shí)現(xiàn)類定義也可以使用標(biāo)準(zhǔn)的0++語(yǔ)言類定義。利用面向?qū)ο?的繼承性,實(shí)現(xiàn)類定義為接口類的派生類。除繼承接口類外,實(shí)現(xiàn)類也定義ManagedNode類 為基類,ManagedNode類是一種公共支持類,參考步驟六。屬性在實(shí)現(xiàn)類中定義除了相應(yīng)的 get/set對(duì)方法函數(shù)外,還必須在該類中定義相應(yīng)的變量,用于保存對(duì)屬性的設(shè)置值,這個(gè) 變量須定義為私有,對(duì)它的訪問(wèn)都是通過(guò)get/set對(duì)函數(shù),以屏蔽直接訪問(wèn)所帶來(lái)的不安 全性。 步驟三定義并實(shí)現(xiàn)組類(Collection class)。某些對(duì)象類系統(tǒng)中存在多個(gè)對(duì)象 實(shí)例,為方便統(tǒng)一管理,在該對(duì)象類基礎(chǔ)上再定義一個(gè)組類。組類一般只有一個(gè)對(duì)象實(shí)例, 并且該對(duì)象實(shí)例由一組子類的對(duì)象實(shí)例組成。組類定義為該對(duì)象類的基類,也就是這個(gè)對(duì) 象類繼承自組類。組類也需定義接口類和實(shí)現(xiàn)類,在命名上組類總是以復(fù)數(shù)形式命名并且 包含三個(gè)方法函數(shù) 參add()方法函數(shù)添加一個(gè)對(duì)象實(shí)例;
參remove ()方法函數(shù)刪除指定的對(duì)象實(shí)例;
參find()方法函數(shù)查找指定的對(duì)象。 步驟四定義并實(shí)現(xiàn)根類(Root class)。對(duì)于一個(gè)功能模塊,可以定義一個(gè)根類, 含有整個(gè)模塊的全局屬性和操作,定義根類的目的是提供對(duì)該功能模塊進(jìn)行配置的基本入 口。根類同樣也需定義接口類和實(shí)現(xiàn)類。根類必須只有一個(gè)對(duì)象實(shí)例,且根類對(duì)象在啟動(dòng) 時(shí)由配置管理系統(tǒng)自動(dòng)創(chuàng)建,將一直存在于系統(tǒng)中不可刪除。
步驟五定義類之間的聯(lián)系。對(duì)于一個(gè)功能模塊,在步驟一和二定義了管理對(duì)象 的接口類和實(shí)現(xiàn)類,步驟三定義了組類,步驟四定義了根類,在此基礎(chǔ)上,利用面向?qū)ο蟪?序設(shè)計(jì)中類的繼承性,可以將該模塊中抽象出來(lái)的這些類建立關(guān)聯(lián),從而構(gòu)建出信息模型 中的一個(gè)子樹。由于類之間繼承關(guān)系,配置管理系統(tǒng)中的許多對(duì)象具有多個(gè)類類型,每個(gè)類 可以配置對(duì)象的特定方面信息。先獲取指向該對(duì)象的指針,然后使用C++的動(dòng)態(tài)類型轉(zhuǎn)換 dynamic—cast運(yùn)算符可以"瀏覽"對(duì)象所具有的所有類型類。 步驟六定義并實(shí)現(xiàn)公共支持類。公共支持類用于提供配置管理系統(tǒng)自身管理相 關(guān)的全局接口,至少包括 (1)對(duì)信息模型維護(hù)管理的信息模型管理接口類(ImManaged)和信息模型管理實(shí) 現(xiàn)類(ManagedNode),用于對(duì)信息模型中對(duì)象進(jìn)行遍歷、查找、添加、刪除等操作,主要定義 并實(shí)現(xiàn) 參setName ()方法函數(shù)修改信息模型中對(duì)象節(jié)點(diǎn)名字;
參getName()方法函數(shù)返回信息模型中指定對(duì)象節(jié)點(diǎn)名字;
參parent ()方法函數(shù)返回指定對(duì)象節(jié)點(diǎn)的父節(jié)點(diǎn);
參setParent()方法函數(shù)設(shè)置對(duì)象節(jié)點(diǎn)的父節(jié)點(diǎn);
參add()方法函數(shù)給指定對(duì)象節(jié)點(diǎn)添加子節(jié)點(diǎn);
參remove ()方法函數(shù)刪除指定對(duì)象節(jié)點(diǎn)的子節(jié)點(diǎn);
參destroy()方法函數(shù)刪除指定對(duì)象節(jié)點(diǎn); 參children ()方法函數(shù)以鏈表形式返回指定對(duì)象節(jié)點(diǎn)的全部子節(jié)點(diǎn);
參accessors()方法函數(shù)以鏈表形式返回指定對(duì)象節(jié)點(diǎn)的全部屬性;
參next()方法函數(shù)返回指定對(duì)象節(jié)點(diǎn)的兄弟節(jié)點(diǎn);
參find()方法函數(shù)返回用特定標(biāo)識(shí)方法標(biāo)識(shí)的對(duì)象節(jié)點(diǎn);
參root()方法函數(shù)返回信息模型的根節(jié)點(diǎn); 參即plyChanges方法函數(shù)調(diào)用該方法函數(shù)強(qiáng)制將屬性的變化值應(yīng)用到功能模 塊中,默認(rèn)情況下屬性的set操作函數(shù)只修改實(shí)現(xiàn)類中的私有屬性變量,也就是使屬性修 改生效。 (2)對(duì)屬性進(jìn)行通用訪問(wèn)的存取器(Accessor)類,用于實(shí)現(xiàn)對(duì)所有屬性皆有效的 操作,主要定義并實(shí)現(xiàn) 參isAttributeConfigured()方法函數(shù)返回屬性是否可保存到配置文件中;
參isReadOnly()方法函數(shù)返回屬性是否為只讀屬性;
參next()方法函數(shù)返回下一個(gè)屬性;
參get()方法函數(shù)返回指定屬性當(dāng)前值;
參set()方法函數(shù)設(shè)置指定屬性當(dāng)前值。 (3)對(duì)配置文件進(jìn)行管理的配置文件(ConfigFile)類。配置管理系統(tǒng)需要提供信 息模型的保存機(jī)制,這樣設(shè)備重啟之后配置仍然生效。ConfigFile類主要定義并實(shí)現(xiàn)
參save()方法函數(shù)將信息模型保存到指定配置文件中,此時(shí)創(chuàng)建的配置文件位 于內(nèi)存中; 參restore ()方法函數(shù)將指定配置文件中配置數(shù)據(jù)載入并構(gòu)建信息模型;
參commitToFlash()方法函數(shù)將配置文件提交給文件系統(tǒng)保存入FLASH芯片
12中; 參restoreFromFactory()方法函數(shù)從出廠配置中載入配置數(shù)據(jù)并構(gòu)建信息模 型。 (4)用于事件管理的事件監(jiān)聽(tīng)(EventLi stener)類,事件至少包括對(duì)象刪除 (ObjectDeleted)和對(duì)象修改(Ob jectChanged)兩個(gè)事件,前者指對(duì)象被刪除,后者指對(duì)象 屬性被修改,主要定義并實(shí)現(xiàn) 參listen ()方法函數(shù)設(shè)置在指定對(duì)象節(jié)點(diǎn)上監(jiān)聽(tīng)事件以及事件處理函數(shù);
參皿listen()方法函數(shù)設(shè)置在指定對(duì)象節(jié)點(diǎn)上停止監(jiān)聽(tīng)事件。
(5)用于提供上下文環(huán)境的Environment類,這個(gè)類中至少需提供對(duì)信息模型訪 問(wèn)的同步/互斥機(jī)制,主要定義并實(shí)現(xiàn) 參getReadLock()方法函數(shù)獲取對(duì)信息模型讀操作的鎖,讀鎖可以被多個(gè)進(jìn)程 同時(shí)獲??; 參getWriteLock()方法函數(shù)獲取對(duì)信息模型寫操作的鎖,寫鎖在被釋放前只能 被一個(gè)進(jìn)程獲??; 參releaseLock()方法函數(shù)釋放讀鎖或?qū)戞i;
參isWriteLocked()方法函數(shù)獲取寫鎖狀態(tài);
參isReadLocked()方法函數(shù)獲取讀鎖狀態(tài); 參status ()方法函數(shù)檢查最近一次配置管理系統(tǒng)接口調(diào)用返回狀態(tài); 參fail()方法函數(shù)以字符串形式返回最近一次配置管理系統(tǒng)接口調(diào)用失敗的原因。 通過(guò)上述步驟,配置管理系統(tǒng)在對(duì)各個(gè)功能模塊進(jìn)行抽象的基礎(chǔ)上,提供了廣泛 的接口類供高層管理軟件調(diào)用。配置管理系統(tǒng)通過(guò)維護(hù)一個(gè)樹結(jié)構(gòu)的信息模型,管理著設(shè) 備的所有資源。用戶使用配置管理系統(tǒng),可以簡(jiǎn)單的描述為創(chuàng)建一個(gè)對(duì)象,為對(duì)象的屬性賦 值,然后執(zhí)行一些操作。 下面將結(jié)合本發(fā)明的技術(shù)方案,具體描述構(gòu)建一種配置管理系統(tǒng)管理URL過(guò)濾功 能的實(shí)例過(guò)程。 URL過(guò)濾是路由設(shè)備上提供的常用功能,用于控制對(duì)指定URL地址的訪問(wèn),實(shí)現(xiàn)對(duì)
特定網(wǎng)站的屏蔽。用戶可以添加、刪除URL地址,并啟動(dòng)或關(guān)閉URL過(guò)濾功能。 (1)首先定義管理對(duì)象的接口類和實(shí)現(xiàn)類。涉及URL過(guò)濾功能的管理對(duì)象是URL
地址,為此定義一個(gè)ImURLItem接口類和URLItem實(shí)現(xiàn)類,該接口類只有一個(gè)屬性u(píng)rl,對(duì)應(yīng)
有g(shù)et—url()/set—ur1()對(duì)函數(shù),無(wú)其他操作函數(shù)。定義代碼參考如下 class ImURLItem { protected: ImURLItem() {} virtual ImURLItem(); public: static const chai^getClassName (); //Attributes
13:0182] virtual const char氺get—url(Environment*)const = 0 ;
:0183] virtual void set—url (Environment*, const char氺)=0;
:0184] private:
:0185] Im亂Item: :Im亂Item(const Im亂Item&;i ;
:0186] ImURLItem& operator = (const Im亂Item&);
:0187] };
:0188] class URLItem:public ImURLItem,public ManagedNode
:0189] {
:0190] public:
:0191] const char氺get—url(Environment氺e)const ;
:0192] void set—url(Environment氺e,const char氺newurl);
:0193] void destroy (Environment氺e);
:0194] virtual 亂Item();
:0195] URLItem();
:0196] protected:
:0197] char url [200];
:0198] }; (2)定義組類。URL過(guò)濾功能控制的URL地址是個(gè)列表,也就是ImURLItem類有多 個(gè)實(shí)例,并且對(duì)于URL地址需要有添加和刪除操作。所以,定義一個(gè)組類ImURLItems和它 的實(shí)現(xiàn)類URLItems,包含三個(gè)操作函數(shù)add() 、remove ()禾Pfind()。 ImURLItems類定義代 碼參考如下 class ImURLItems { protected: ImURLItems () {} virtual ImURLItems (); public: static const chai^getClassName (); //iterate over the contained items of an instance of this class //using one of the following iterator types typedef ConstIterator〈ImURLItem>const_iterator ; typedef Iterator〈ImURLItem>iterator ; //add, remove and find items to this collection virtual void add(Environment*, ImURLItem*) = 0 ; virtual void remove (Environment*, ImURLItem*) = 0; virtual ImURLItem氺find(const char氺ident) = 0 ; //return the one and only instance of this class static ImURLItems*instance(); private:0218] Im亂Items (const Im亂Items&); ImURLItems& operator = (const Im亂Items&); }; (3)定義根類。URL過(guò)濾功能一般有兩個(gè)全局參數(shù)enabled和mode, enabled參數(shù)控制URL過(guò)濾功能的開啟或關(guān)閉,mode參數(shù)控制URL地址列表是白名單還是黑名單。經(jīng)過(guò)抽象,構(gòu)建一個(gè)ImURLFilter接口類和URLFilter實(shí)現(xiàn)類,包含兩個(gè)屬性enabled和mode。ImURLFilter接口類定義代碼參考如下 class ImURLItem ; class ImUR Litems ; class ImURLFilter { protected: ImURLFilter () {} virtual ImURLFilter (); public: e誦亂FilterModeE誦( BlackList, WhiteList }; static const chai^getClassName (); //Attributes virtual bool get—enabled(Environment*)const = 0 ; virtual void set—enabled (Environment*, bool) = 0; virtual URLFilterModeE皿m get—mode (Environment*) const = 0 ; virtual void set—mode (Environment*, URLFilterModeE皿m) = 0; //Traverse to contained classes virtualImURLItems*urlItems () = 0; const ImURLItems*u:rlItems () const { ImURLFilter*nc_this = const_cast〈ImURLFilter*>(this); return nc_this_>urlltems(); } //return the one and only instance of this class static Im亂Filtei^instance (); private: Im亂FiIter (const Im亂Filter&); ImURLFilter& operator = (const Im亂Filter&); }; (4)定義類之間的關(guān)聯(lián)。對(duì)于URL過(guò)濾功能,定義了 URL地址對(duì)象類ImURLItem、組類ImURLItems和根類ImURLFilter。由于ImURLItems/ImURLItem類是整個(gè)URL過(guò)濾功能配置不可分隔的一部分,可以定義ImURLItems類為ImURLFilter類的子類。通過(guò)類之間的繼承關(guān)系,確定ImURLItems/ImURLItem類從屬于ImURLFilter類,也就是從屬于整個(gè)URL過(guò)濾功能的配置。于是,本發(fā)明構(gòu)建出如圖4所示的一組類實(shí)現(xiàn)對(duì)URL過(guò)濾功能的配置。
上述定義的一組類連同前述本發(fā)明詳細(xì)方法步驟六中定義的公共支持類一起構(gòu)成了一個(gè)配置管理系統(tǒng)的實(shí)例。 采用了上述的通信系統(tǒng)中基于對(duì)象的配置管理系統(tǒng)的構(gòu)建實(shí)現(xiàn)方法,由于其中基于對(duì)象的構(gòu)建思想,對(duì)系統(tǒng)資源進(jìn)行了抽象,并構(gòu)建了信息模型和管理對(duì)象,將設(shè)備中的各種資源有效的組織起來(lái),為管理功能提供了一個(gè)設(shè)備資源的邏輯視圖,而且在當(dāng)前高層管理軟件的開發(fā)普遍采用面向?qū)ο蠹夹g(shù)情況下,基于本發(fā)明提供的基于對(duì)象的配置管理系統(tǒng)開發(fā)高層管理軟件,可以實(shí)現(xiàn)對(duì)象的直接映射,從而顯著減少了高層管理軟件開發(fā)的難度和工作量;對(duì)象類的繼承性便于擴(kuò)充和增加管理對(duì)象類,而且面對(duì)的是較高層次上進(jìn)行抽象的管理對(duì)象,屏蔽了實(shí)現(xiàn)各種管理功能的細(xì)節(jié),使得相應(yīng)的配置管理系統(tǒng)具有廣泛的可重用性,可以將該配置管理系統(tǒng)軟件應(yīng)用到不同的通信設(shè)備上,僅僅需要擴(kuò)充對(duì)象類即可滿足管理要求,設(shè)備廠商將可以在不同的設(shè)備上只需開發(fā)并維護(hù)一套管理層軟件,有利于降低研發(fā)成本和產(chǎn)品開發(fā)周期,提高企業(yè)的效益,不僅工作性能穩(wěn)定可靠,而且適用范圍較為廣泛。 在此說(shuō)明書中,本發(fā)明已參照其特定的實(shí)施例作了描述。但是,很顯然仍可以作出各種修改和變換而不背離本發(fā)明的精神和范圍。因此,說(shuō)明書和附圖應(yīng)被認(rèn)為是說(shuō)明性的而非限制性的。
權(quán)利要求
一種通信系統(tǒng)中基于對(duì)象的配置管理系統(tǒng)的構(gòu)建實(shí)現(xiàn)方法,其特征在于,所述的方法包括以下步驟(1)通信系統(tǒng)將被管理的通信設(shè)備上的系統(tǒng)資源抽象成為管理對(duì)象;(2)通信系統(tǒng)根據(jù)管理對(duì)象的特點(diǎn),對(duì)所述的管理對(duì)象構(gòu)建相應(yīng)的接口類信息,所述的接口類為抽象類,是對(duì)該管理對(duì)象進(jìn)行訪問(wèn)的接口;(3)通信系統(tǒng)根據(jù)管理對(duì)象的特點(diǎn),對(duì)所述的管理對(duì)象構(gòu)建相應(yīng)的實(shí)現(xiàn)類信息,所述的實(shí)現(xiàn)類與相應(yīng)的管理對(duì)象的接口類信息相對(duì)應(yīng);(4)根據(jù)所述的管理對(duì)象的接口類和實(shí)現(xiàn)類構(gòu)建相應(yīng)的組類信息,所述的組類為該管理對(duì)象的接口類和實(shí)現(xiàn)類的基類;(5)構(gòu)建通信系統(tǒng)的功能模塊的根類信息,所述的根類具有該功能模塊的全局屬性和操作;(6)構(gòu)建功能模塊中所屬各個(gè)類之間的關(guān)聯(lián)關(guān)系;(7)構(gòu)建所述的配置管理系統(tǒng)的公共支持類信息,所述的公共支持類具有所述的配置管理系統(tǒng)自身管理相關(guān)的全局接口。
2. 根據(jù)權(quán)利要求1所述的通信系統(tǒng)中基于對(duì)象的配置管理系統(tǒng)的構(gòu)建實(shí)現(xiàn)方法,其特 征在于,所述的接口類中包括與屬性關(guān)聯(lián)的讀取/設(shè)置方法的公有虛函數(shù)對(duì)。
3. 根據(jù)權(quán)利要求2所述的通信系統(tǒng)中基于對(duì)象的配置管理系統(tǒng)的構(gòu)建實(shí)現(xiàn)方法,其特 征在于,所述的接口類名稱以"Im"為前綴。
4. 根據(jù)權(quán)利要求1所述的通信系統(tǒng)中基于對(duì)象的配置管理系統(tǒng)的構(gòu)建實(shí)現(xiàn)方法,其特 征在于,所述的實(shí)現(xiàn)類中包括與相應(yīng)的管理對(duì)象的屬性值相對(duì)應(yīng)的私有變量、該私有變量 的讀取/設(shè)置方法的公有實(shí)函數(shù)對(duì)。
5. 根據(jù)權(quán)利要求1所述的通信系統(tǒng)中基于對(duì)象的配置管理系統(tǒng)的構(gòu)建實(shí)現(xiàn)方法,其特 征在于,所述的組類為在有多個(gè)對(duì)象實(shí)例的對(duì)象類基礎(chǔ)上定義,組類只有一個(gè)對(duì)象實(shí)例,并 且該組類的對(duì)象實(shí)例由一組子類的對(duì)象實(shí)例所組成。
6. 根據(jù)權(quán)利要求5所述的通信系統(tǒng)中基于對(duì)象的配置管理系統(tǒng)的構(gòu)建實(shí)現(xiàn)方法,其特 征在于,所述的組類中包括以下三個(gè)方法函數(shù)(1) add()方法函數(shù),用于添加一個(gè)對(duì)象實(shí)例;(2) remove()方法函數(shù),用于刪除指定的對(duì)象實(shí)例;(3) find()方法函數(shù),用于查找指定的對(duì)象。
7. 根據(jù)權(quán)利要求1所述的通信系統(tǒng)中基于對(duì)象的配置管理系統(tǒng)的構(gòu)建實(shí)現(xiàn)方法,其特 征在于,所述的根類只有一個(gè)對(duì)象實(shí)例,且該根類的對(duì)象實(shí)例在啟動(dòng)時(shí)自動(dòng)創(chuàng)建,并一直存 在于所述的配置管理系統(tǒng)中不可刪除。
8. 根據(jù)權(quán)利要求1所述的通信系統(tǒng)中基于對(duì)象的配置管理系統(tǒng)的構(gòu)建實(shí)現(xiàn)方法,其特 征在于,所述的各個(gè)類之間的關(guān)聯(lián)關(guān)系為各個(gè)類之間的繼承關(guān)系。
9. 根據(jù)權(quán)利要求1所述的通信系統(tǒng)中基于對(duì)象的配置管理系統(tǒng)的構(gòu)建實(shí)現(xiàn)方法,其特 征在于,所述的構(gòu)建所述的配置管理系統(tǒng)的公共支持類信息,包括以下步驟(11) 構(gòu)建對(duì)通信系統(tǒng)的信息模型進(jìn)行維護(hù)管理的信息模型管理接口類和信息模型管 理實(shí)現(xiàn)類;(12) 構(gòu)建對(duì)管理對(duì)象的屬性進(jìn)行通用訪問(wèn)的存取器類;(13) 構(gòu)建對(duì)配置文件進(jìn)行管理的配置文件類;(14) 構(gòu)建用于事件管理的事件監(jiān)聽(tīng)類;(15) 構(gòu)建用于提供上下文環(huán)境的環(huán)境類。
10. 根據(jù)權(quán)利要求9所述的通信系統(tǒng)中基于對(duì)象的配置管理系統(tǒng)的構(gòu)建實(shí)現(xiàn)方法,其特征在于,所述的信息模型管理接口類和信息模型管理實(shí)現(xiàn)類中包括以下方法函數(shù)(1) setName()方法函數(shù),用于修改信息模型中對(duì)象節(jié)點(diǎn)名字;(2) getName()方法函數(shù),用于獲取信息模型中指定對(duì)象節(jié)點(diǎn)名字;(3) parent()方法函數(shù),用于獲取指定對(duì)象節(jié)點(diǎn)的父節(jié)點(diǎn);(4) setParent ()方法函數(shù),用于設(shè)置對(duì)象節(jié)點(diǎn)的父節(jié)點(diǎn);(5) add()方法函數(shù),用于給指定對(duì)象節(jié)點(diǎn)添加子節(jié)點(diǎn);(6) remove()方法函數(shù),用于刪除指定對(duì)象節(jié)點(diǎn)的子節(jié)點(diǎn);(7) destroy ()方法函數(shù),用于刪除指定對(duì)象節(jié)點(diǎn);(8) children()方法函數(shù),用于以鏈表形式獲取指定對(duì)象節(jié)點(diǎn)的全部子節(jié)點(diǎn);(9) accessors()方法函數(shù),用于以鏈表形式獲取指定對(duì)象節(jié)點(diǎn)的全部屬性;(10) next()方法函數(shù),用于獲取指定對(duì)象節(jié)點(diǎn)的兄弟節(jié)點(diǎn);(11) find()方法函數(shù),用于獲取用特定標(biāo)識(shí)方法標(biāo)識(shí)的對(duì)象節(jié)點(diǎn);(12) root()方法函數(shù),用于獲取信息模型的根節(jié)點(diǎn);(13) 即plyChanges方法函數(shù),用于強(qiáng)制將屬性的變化值應(yīng)用到功能模塊中。
11. 根據(jù)權(quán)利要求9所述的通信系統(tǒng)中基于對(duì)象的配置管理系統(tǒng)的構(gòu)建實(shí)現(xiàn)方法,其特征在于,所述的存取器類中包括以下方法函數(shù)(1) isAttributeConfigured()方法函數(shù),用于獲取屬性是否可保存到配置文件中;(2) isRead0nly()方法函數(shù),用于獲取屬性是否為只讀屬性;(3) next()方法函數(shù),用于獲取下一個(gè)屬性;(4) get()方法函數(shù),用于獲取指定屬性當(dāng)前值;(5) set()方法函數(shù),用于設(shè)置指定屬性當(dāng)前值。
12. 根據(jù)權(quán)利要求9所述的通信系統(tǒng)中基于對(duì)象的配置管理系統(tǒng)的構(gòu)建實(shí)現(xiàn)方法,其特征在于,所述的配置文件類中包括以下方法函數(shù)(1) save()方法函數(shù),用于將信息模型保存到指定配置文件中;(2) restore()方法函數(shù),用于將指定配置文件中配置數(shù)據(jù)載入并構(gòu)建信息模型;(3) commitToFlash()方法函數(shù),用于將配置文件提交給文件系統(tǒng)保存入FLASH芯片中;(4) restoreFromFactory()方法函數(shù),用于從出廠配置中載入配置數(shù)據(jù)并構(gòu)建信息模型。
13. 根據(jù)權(quán)利要求9所述的通信系統(tǒng)中基于對(duì)象的配置管理系統(tǒng)的構(gòu)建實(shí)現(xiàn)方法,其特征在于,所述的事件至少包括對(duì)象刪除事件和對(duì)象修改事件。
14. 根據(jù)權(quán)利要求13所述的通信系統(tǒng)中基于對(duì)象的配置管理系統(tǒng)的構(gòu)建實(shí)現(xiàn)方法,其特征在于,所述的事件監(jiān)聽(tīng)類包括以下方法函數(shù)(1) listen ()方法函數(shù),用于設(shè)置在指定對(duì)象節(jié)點(diǎn)上監(jiān)聽(tīng)事件以及事件處理函數(shù);(2) 皿listen()方法函數(shù),用于設(shè)置在指定對(duì)象節(jié)點(diǎn)上停止監(jiān)聽(tīng)事件。
15.根據(jù)權(quán)利要求9所述的通信系統(tǒng)中基于對(duì)象的配置管理系統(tǒng)的構(gòu)建實(shí)現(xiàn)方法,其特征在于,所述的環(huán)境類包括以下方法函數(shù)(1) getReadLock()方法函數(shù),用于獲取對(duì)信息模型讀操作的鎖;(2) getWriteLock()方法函數(shù),用于獲取對(duì)信息模型寫操作的鎖;(3) releaseLock()方法函數(shù),用于釋放讀鎖或?qū)戞i;(4) isWriteLocked()方法函數(shù),用于獲取寫鎖狀態(tài);(5) isReadLocked()方法函數(shù),用于獲取讀鎖狀態(tài);(6) status ()方法函數(shù),用于檢查最近一次配置管理系統(tǒng)接口調(diào)用返回狀態(tài);(7) fail()方法函數(shù),用于以字符串形式返回最近一次配置管理系統(tǒng)接口調(diào)用失敗的原因。
全文摘要
本發(fā)明涉及一種通信系統(tǒng)中基于對(duì)象的配置管理系統(tǒng)的構(gòu)建實(shí)現(xiàn)方法,包括將被管理的通信設(shè)備上的系統(tǒng)資源抽象成為管理對(duì)象、對(duì)管理對(duì)象構(gòu)建接口類信息、對(duì)管理對(duì)象構(gòu)建實(shí)現(xiàn)類信息、構(gòu)建相應(yīng)的組類信息、構(gòu)建功能模塊的根類信息、構(gòu)建功能模塊中各個(gè)類間的關(guān)聯(lián)關(guān)系、構(gòu)建配置管理系統(tǒng)的公共支持類信息。采用該種通信系統(tǒng)中基于對(duì)象的配置管理系統(tǒng)的構(gòu)建實(shí)現(xiàn)方法,提供的是一種以類的形式的API接口,同時(shí)對(duì)系統(tǒng)資源進(jìn)行了抽象并構(gòu)建了信息模型,基于該種配置管理系統(tǒng)進(jìn)行高層管理軟件開發(fā),顯著減少了開發(fā)的難度和工作量,屏蔽了實(shí)現(xiàn)各種管理功能的細(xì)節(jié),降低了研發(fā)成本,縮短了產(chǎn)品開發(fā)周期,提高了企業(yè)的效益,不僅工作性能穩(wěn)定可靠,而且適用范圍較為廣泛。
文檔編號(hào)G06F9/44GK101776996SQ201010100798
公開日2010年7月14日 申請(qǐng)日期2010年1月26日 優(yōu)先權(quán)日2010年1月26日
發(fā)明者嚴(yán)向陽(yáng) 申請(qǐng)人:上海市共進(jìn)通信技術(shù)有限公司
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
广灵县| 望奎县| 靖江市| 竹北市| 曲水县| 偏关县| 台山市| 辽源市| 化州市| 芦溪县| 锡林郭勒盟| 定襄县| 富民县| 宾阳县| 淮滨县| 云和县| 阿鲁科尔沁旗| 闵行区| 临夏市| 台前县| 沈丘县| 图木舒克市| 南投市| 武乡县| 从化市| 壤塘县| 贵德县| 五常市| 富源县| 威海市| 南召县| 吕梁市| 霸州市| 石景山区| 温州市| 西青区| 彰化市| 永和县| 敖汉旗| 青川县| 元朗区|