亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

網(wǎng)絡操作系統(tǒng)中建立并使用設備硬件模型的方法及裝置的制造方法

文檔序號:10569729閱讀:331來源:國知局
網(wǎng)絡操作系統(tǒng)中建立并使用設備硬件模型的方法及裝置的制造方法
【專利摘要】本發(fā)明公開了一種網(wǎng)絡操作系統(tǒng)中建立并使用設備硬件模型的方法及裝置,涉及網(wǎng)絡操作系統(tǒng)開發(fā)技術領域。該方法包括:對網(wǎng)絡操作系統(tǒng)中的設備硬件進行建模抽象,得到設備硬件模型;將設備硬件模型通過代碼解釋工具生成相關自動代碼;將自動代碼存儲于網(wǎng)絡操作系統(tǒng)平臺軟件內(nèi)并編譯通過,網(wǎng)絡操作系統(tǒng)平臺軟件在啟動時加載已存儲的設備硬件模型文件,并為設備硬件模型創(chuàng)建一個模型數(shù)據(jù)庫;利用自動代碼提供的set函數(shù)接口、notify函數(shù)接口,以及創(chuàng)建的模型數(shù)據(jù)庫,完成各業(yè)務對設備硬件模型的使用。本發(fā)明能使網(wǎng)絡操作系統(tǒng)的內(nèi)部開發(fā)與設備硬件驅(qū)動的開發(fā)相分離,提升網(wǎng)絡操作系統(tǒng)適配新硬件的能力,縮短網(wǎng)絡操作系統(tǒng)的研發(fā)周期。
【專利說明】
網(wǎng)絡操作系統(tǒng)中建立并使用設備硬件模型的方法及裝置
技術領域
[0001] 本發(fā)明涉及網(wǎng)絡操作系統(tǒng)開發(fā)技術領域,具體來講是一種網(wǎng)絡操作系統(tǒng)中建立并 使用設備硬件模型的方法及裝置。
【背景技術】
[0002] 網(wǎng)絡操作系統(tǒng)開發(fā)的設計目標是:希望開發(fā)出來的網(wǎng)絡操作系統(tǒng)是一個可以適配 不同產(chǎn)品系列中各種硬件的系統(tǒng),其開發(fā)內(nèi)容包括操作系統(tǒng)內(nèi)部的設計開發(fā)與設備硬件驅(qū) 動的設計開發(fā)。設備硬件驅(qū)動的設計開發(fā)的目標是:希望某個新型的網(wǎng)絡操作系統(tǒng)在設計 開發(fā)設備硬件驅(qū)動軟件時能盡量簡化適配工作,即如何將設備硬件驅(qū)動流程整合到網(wǎng)絡操 作系統(tǒng)內(nèi)部的工作盡量簡化。
[0003] 而目前,網(wǎng)絡操作系統(tǒng)開發(fā)過程中設備管理層面通常沒有一個統(tǒng)一的標準過程去 遵循,這導致開發(fā)不同的設備硬件驅(qū)動時,會分別設計出不同的開發(fā)流程,需要網(wǎng)絡操作系 統(tǒng)內(nèi)部的研發(fā)人員和設備硬件驅(qū)動的研發(fā)人員同時進行設計和開發(fā)工作。這種將網(wǎng)絡操作 系統(tǒng)內(nèi)部設計與設備硬件驅(qū)動設計進行綁定開發(fā)的方式,嚴重限制了網(wǎng)絡操作系統(tǒng)適配新 硬件的能力且延長了網(wǎng)絡操作系統(tǒng)的研發(fā)周期。

【發(fā)明內(nèi)容】

[0004] 本發(fā)明的目的是為了克服上述【背景技術】的不足,提供一種網(wǎng)絡操作系統(tǒng)中建立并 使用設備硬件模型的方法及裝置,通過將設備硬件抽象為設備硬件模型,該設備硬件模型 能作為中間橋梁連接網(wǎng)絡操作系統(tǒng)與設備硬件驅(qū)動,從而使得網(wǎng)絡操作系統(tǒng)的內(nèi)部開發(fā)與 設備硬件驅(qū)動的開發(fā)相分離,提升了網(wǎng)絡操作系統(tǒng)適配新硬件的能力,縮短了網(wǎng)絡操作系 統(tǒng)的研發(fā)周期。
[0005] 為達到以上目的,本發(fā)明采取的技術方案是:提供一種網(wǎng)絡操作系統(tǒng)中建立并使 用設備硬件模型的方法,包括以下步驟:
[0006] 步驟S1:對網(wǎng)絡操作系統(tǒng)中的設備硬件進行建模抽象,得到設備硬件模型;
[0007] 步驟S2:將設備硬件模型通過代碼解釋工具生成相關自動代碼,該自動代碼包括: 與各設備元器件對應的結構體定義、set函數(shù)接口定義,以及notify函數(shù)接口定義;
[0008] 步驟S3:將自動代碼存儲于網(wǎng)絡操作系統(tǒng)平臺軟件內(nèi)并編譯通過;將設備硬件模 型文件存儲于網(wǎng)絡操作系統(tǒng)平臺軟件內(nèi),網(wǎng)絡操作系統(tǒng)平臺軟件在啟動時加載設備硬件模 型文件,并為設備硬件模型創(chuàng)建一個模型數(shù)據(jù)庫;
[0009]步驟S4:利用自動代碼提供的set函數(shù)接口、notify函數(shù)接口,以及創(chuàng)建的模型數(shù) 據(jù)庫,完成各業(yè)務對設備硬件模型的使用。
[0010]在上述技術方案的基礎上,所述設備硬件模型的內(nèi)容包括所有設備元器件的類信 息,每個設備元器件的類信息包含以下類成員內(nèi)容:設備元器件名稱、設備元器件關鍵屬性 描述、設備元器件的類對應的結構體成員信息。
[0011]在上述技術方案的基礎上,步驟S1具體包括以下操作:
[0012] 步驟S101:定義設備元器件的類名稱,該類名稱用于在模型文件內(nèi)唯一標識一個 設備元器件,并在生成代碼過程中以此名稱做關鍵字進行結構體命名和函數(shù)命名;
[0013] 步驟S102:設置類成員屬性值,該屬性值為默認值設置或者在系統(tǒng)運行中通過相 應的設置接口函數(shù)進行修改設置;
[0014] 步驟S103:定義類成員的數(shù)據(jù)類型名稱,該名稱對應編程語言的數(shù)據(jù)類型;
[0015]步驟S104:設置類成員在內(nèi)存中占用的長度。
[0016]在上述技術方案的基礎上,步驟S2中所述將設備硬件模型通過代碼解釋工具生成 相關自動代碼,包括以下操作:代碼解釋工具對設備硬件模型文件進行一套C語言化的轉(zhuǎn) 換,將每個設備元器件的類對應一個結構體名,將設備元器件的類的屬性對應結構體的成 員變量。
[0017]在上述技術方案的基礎上,步驟S4具體操作如下:
[0018]步驟S401:當有業(yè)務修改了自動代碼中的某個結構體時,通過調(diào)用該結構體對應 的set函數(shù)接口,向模型數(shù)據(jù)庫發(fā)送TLV消息格式的修改消息;
[0019]步驟S402:模型數(shù)據(jù)庫在接收到修改消息后,檢查有哪些其他業(yè)務與該結構體相 關,向相關的其他業(yè)務發(fā)送有關該結構體的變化消息;
[0020]步驟S403:收到結構體變化消息的其他業(yè)務,通過noti fy函數(shù)接口回調(diào)模型數(shù)據(jù) 庫來接收該結構體的變化。
[0021 ]在上述技術方案的基礎上,其特征在于:若存在重復的設備元器件時,步驟S1中對 網(wǎng)絡操作系統(tǒng)中的設備硬件進行建模抽象時,通過添加 inst實例屬性做為關鍵字,對重復 的設備元器件進行索引標識。
[0022] 本發(fā)明還提供一種基于上述方法的網(wǎng)絡操作系統(tǒng)中建立并使用設備硬件模型的 裝置,包括模型建立單元、自動代碼生成單元、代碼編譯與模型加載單元、模型使用單元;
[0023] 所述模型建立單元用于:對網(wǎng)絡操作系統(tǒng)中的設備硬件進行建模抽象,得到設備 硬件模型;
[0024] 所述自動代碼生成單元用于:將設備硬件模型通過代碼解釋工具生成相關自動代 碼,該自動代碼包括:與各設備元器件對應的結構體定義、set函數(shù)接口定義,以及notify函 數(shù)接口定義;
[0025] 所述代碼編譯與模型加載單元用于:將自動代碼存儲于網(wǎng)絡操作系統(tǒng)平臺軟件內(nèi) 并編譯通過;將設備硬件模型文件存儲于網(wǎng)絡操作系統(tǒng)平臺軟件內(nèi),使網(wǎng)絡操作系統(tǒng)平臺 軟件啟動時加載設備硬件模型文件,并為設備硬件模型創(chuàng)建一個模型數(shù)據(jù)庫;
[0026] 所述模型使用單元用于:利用自動代碼提供的set函數(shù)接口、notify函數(shù)接口,以 及創(chuàng)建的模型數(shù)據(jù)庫,完成各業(yè)務對設備硬件模型的使用。
[0027] 在上述技術方案的基礎上,所述模型建立單元包括類名稱定義子單元、屬性值設 置子單元、數(shù)據(jù)類型名稱定義子單元和長度設置子單元;所述類名稱定義子單元用于:定義 設備元器件的類名稱,該類名稱用于在模型文件內(nèi)唯一標識一個設備元器件,并在生成代 碼過程中以此名稱做關鍵字進行結構體命名和函數(shù)命名;所述屬性值設置子單元用于:設 置類成員屬性值;所述數(shù)據(jù)類型名稱定義子單元用于:定義類成員的數(shù)據(jù)類型名稱,該名稱 對應編程語言的數(shù)據(jù)類型;所述長度設置子單元用于:設置類成員在內(nèi)存中占用的長度。
[0028] 在上述技術方案的基礎上,所述自動代碼生成單元將設備硬件模型通過代碼解釋 工具生成相關自動代碼的具體過程為:自動代碼生成單元通過代碼解釋工具對設備硬件模 型文件進行一套C語言化的轉(zhuǎn)換,將每個設備元器件的類對應一個結構體名,將設備元器件 的類的屬性對應結構體的成員變量。
[0029] 在上述技術方案的基礎上,所述模型使用單元包括修改消息發(fā)送子單元、變化消 息發(fā)送子單元和變化接收子單元;所述修改消息發(fā)送子單元用于:當有業(yè)務修改了自動代 碼中的某個結構體時,通過調(diào)用該結構體對應的set函數(shù)接口,向模型數(shù)據(jù)庫發(fā)送TLV消息 格式的修改消息;所述變化消息發(fā)送子單元用于:在模型數(shù)據(jù)庫接收到修改消息后,檢查有 哪些其他業(yè)務與被修改的結構體相關,并向相關的其他業(yè)務發(fā)送有關該結構體的變化消 息;所述變化接收子單元用于:使收到結構體變化消息的其他業(yè)務,通過no t i f y函數(shù)接口回 調(diào)模型數(shù)據(jù)庫來接收被修改的結構體的變化。
[0030] 本發(fā)明的有益效果在于:
[0031] (1)本發(fā)明中,使用面向?qū)ο蟮脑O計方法將設備硬件和整體形態(tài)進行抽象整理為 設備硬件模型,并將設備硬件模型通過代碼解釋工具生成相關自動代碼,該自動代碼不但 包含與各設備元器件對應的結構體定義,而且還包含各結構體向模型數(shù)據(jù)庫提交消息的接 口(set函數(shù)接口),以及當模型數(shù)據(jù)庫中結構體的實例發(fā)生變化時業(yè)務回調(diào)模型數(shù)據(jù)庫的 通知回調(diào)接口(notify函數(shù)接口);網(wǎng)絡操作系統(tǒng)平臺軟件加載設備硬件模型文件后,會為 設備硬件模型創(chuàng)建模型數(shù)據(jù)庫;利用自動代碼提供的set函數(shù)接口、notify函數(shù)接口,以及 創(chuàng)建的模型數(shù)據(jù)庫,可以方便快速的完成各業(yè)務(網(wǎng)絡操作系統(tǒng)平臺業(yè)務、設備硬件驅(qū)動業(yè) 務)對設備硬件模型的使用。
[0032] 與現(xiàn)有技術相比,本發(fā)明能實現(xiàn)以設備硬件模型為中間橋梁連接網(wǎng)絡操作系統(tǒng)與 硬件驅(qū)動,從而使得網(wǎng)絡操作系統(tǒng)的內(nèi)部開發(fā)與設備硬件驅(qū)動的開發(fā)相分離,二者可分別 進行,將網(wǎng)絡操作系統(tǒng)內(nèi)部和設備硬件驅(qū)動視為兩個點,缺少任一點都不影響另一點的設 計開發(fā)。設備硬件驅(qū)動不需要重復編寫同一類型的代碼,相同的代碼邏輯僅因模型命名的 不同而導致代碼中變量不同這部分代碼將由工具根據(jù)模型進行解析生成,不需要手動編 寫,縮短了網(wǎng)絡操作系統(tǒng)的研發(fā)周期;而且設備硬件模型的可移植性強,通用性強,可提升 網(wǎng)絡操作系統(tǒng)適配新硬件的能力。
[0033] (2)本發(fā)明步驟S4的詳細步驟中,通過調(diào)用結構體對應的set函數(shù)接口,向模型數(shù) 據(jù)庫發(fā)送基于TLV消息格式的修改消息。TLV(type+length+value)消息格式是一種靈活可 變的消息打包方式,不要求每次消息報文要格式相同,其中type由兩部分組成,分別是前半 部的類索引和后半部分成員索引構成,因此,模型數(shù)據(jù)庫在接收到tlv消息格式的修改消息 后,可根據(jù)type定位到具體內(nèi)容,靈活方便。
[0034] (3)本發(fā)明考慮到有的設備元器件在一塊板卡上有多個的問題,因此,為了對重復 的設備元器件進行進一步區(qū)分,本發(fā)明通過在建模抽象時添加 inst實例屬性做為關鍵字, 來對重復的設備元器件進行索引標識,不但識別效果好,而且滿足了各種板卡的使用需求, 實用性尚。
【附圖說明】
[0035] 圖1為本發(fā)明實施例中網(wǎng)絡操作系統(tǒng)中建立并使用設備硬件模型的方法的流程 圖;
[0036]圖2為路由器設備主控板的內(nèi)部結構框圖;
[0037]圖3為步驟S1的具體流程圖;
[0038]圖4為步驟S4的具體流程圖;
[0039] 圖5為本發(fā)明實施例中網(wǎng)絡操作系統(tǒng)中建立并使用設備硬件模型的裝置的結構框 圖。
【具體實施方式】
[0040] 下面結合附圖及具體實施例對本發(fā)明作進一步的詳細描述。
[0041] 參見圖1所示,本發(fā)明實施例提供一種網(wǎng)絡操作系統(tǒng)中建立并使用設備硬件模型 的方法,包括以下步驟:
[0042]步驟S1、模型的建立:對網(wǎng)絡操作系統(tǒng)中的設備硬件進行建模抽象,得到設備硬件 模型。
[0043]可以理解的是,本實施例中,在進行設備硬件建模抽象時,是以板卡為單元,對板 卡內(nèi)所有設備元器件進行抽象,得到的設備硬件模型為XML格式文件,并以板卡名稱進行命 名。其中,設備硬件模型的內(nèi)容包括所有設備元器件的類信息,每個設備元器件的類信息包 含以下類成員內(nèi)容:設備元器件名稱、設備元器件關鍵屬性描述、設備元器件的類對應的結 構體成員信息。
[0044] 例如,以一塊路由器設備主控板為例,如圖2所示,該主控板內(nèi)的設備元器件包括 CPU、控制網(wǎng)口和串行接口,則該設備硬件模型可保存為"主控板.xml",其相應的模型內(nèi)容 如下: 〈board name=" 彳板"〉 <class name="cpu"> 〈member name=:i'tdp" value="35" type="UINT16" len^"2" iskey="false"/> .〈member. name='M2 cache" value="512" type=--"uns[T16" len="2" iskey="false'V> 〈member name.=." core". value="2" typ;e:="UINT8" len="l".
[0045] iskey="false"/> <member name="frequency" vtlue="8Q0!' type="UINT16" 1611="2" iskey="falsei'/> </class> <class name="etherne!:"> <member name="speed" value-'100" type="UINT16" len="2" iskey="fabe7> </class> <class name="console"> 〈member name="bit rate.1:' val.ue=''56700" type.=!'UINT32"
[0046] len="4" iskey="false7> </class> 乂....... </board>
[0047] 進一步地,由于抽象建模的過程基本上是一種滿足TLV(Type,Length,Value)格式 的一組描述,通過這組描述生成編程語言可識別的中間配置文件,即模型文件。因此,如圖3 所示,實際操作時,步驟S1的抽象建模過程具體包括以下操作:
[0048]步驟S101:定義設備元器件的類名稱,該類名稱用于在模型文件內(nèi)唯一標識一個 設備元器件,并在生成代碼過程中(即步驟S2中)以此名稱做關鍵字進行結構體命名和函數(shù) 命名。
[0049] 步驟S102:設置類成員屬性值。模型中的屬性賦值通常是該屬性的默認值,對于設 備元器件固定不變的屬性值,在模型加載時讀取,可用于業(yè)務(網(wǎng)絡操作系統(tǒng)平臺業(yè)務、設 備硬件驅(qū)動業(yè)務)查詢;對于設備元器件可變化的屬性值可以在系統(tǒng)運行中通過相應的設 置接口函數(shù)進行修改。
[0050] 步驟S103:定義類成員的數(shù)據(jù)類型名稱,對應編程語言的數(shù)據(jù)類型。
[0051]步驟S104:設置類成員在內(nèi)存中占用的長度。
[0052]步驟S2、自動代碼的生成:將設備硬件模型通過代碼解釋工具生成相關自動代碼, 自動代碼包括與各設備元器件對應的結構體定義、各結構體向模型數(shù)據(jù)庫提交消息的接口 (set函數(shù)接口)定義,以及當模型數(shù)據(jù)庫中結構體的實例發(fā)生變化時業(yè)務回調(diào)模型數(shù)據(jù)庫 的通知回調(diào)接口(notify函數(shù)接口)定義。
[0053]具體操作時,步驟S2中所述將設備硬件模型通過代碼解釋工具生成相關自動代 碼,包括以下操作:代碼解釋工具對設備硬件模型文件進行一套C語言化的轉(zhuǎn)換,將每個設 備元器件的類對應一個結構體名,將設備元器件的類的屬性對應結構體的成員變量。此處, 還是以上述路由器設備主控板為例,對該主控板模型進行C語言轉(zhuǎn)換后生成的相關自動代 碼如下: struct epu { UINT16tdp; UINT16 12_cache; UINT8 core ; UINT16 frequency ; };
[0054] struct ethernet UINT16 speed; struct console { UINT32 bit-rate; };
[0055] 步驟S3、自動代碼的編譯與模型的加載:將自動代碼拷貝到網(wǎng)絡操作系統(tǒng)平臺軟 件的項目工程目錄內(nèi),修改編譯配置使代碼編譯通過;將設備硬件模型文件放在網(wǎng)絡操作 系統(tǒng)平臺軟件指定的資源目錄文件夾內(nèi),網(wǎng)絡操作系統(tǒng)平臺軟件在啟動時會加載設備硬件 模型文件,并為設備硬件模型創(chuàng)建一個模型數(shù)據(jù)庫。
[0056]步驟S4、模型的使用:利用自動代碼提供的set函數(shù)接口、notify函數(shù)接口,以及創(chuàng) 建的模型數(shù)據(jù)庫,完成各業(yè)務(網(wǎng)絡操作系統(tǒng)平臺業(yè)務、設備硬件驅(qū)動業(yè)務)對設備硬件模 型的使用,實現(xiàn)以設備硬件模型為中間橋梁連接網(wǎng)絡操作系統(tǒng)與硬件驅(qū)動,從而使得網(wǎng)絡 操作系統(tǒng)的內(nèi)部開發(fā)與設備硬件驅(qū)動的開發(fā)相分尚。
[0057]實際操作時,如圖4所示,步驟S4具體包括以下操作:
[0058]步驟S401:當有業(yè)務(網(wǎng)絡操作系統(tǒng)平臺業(yè)務或設備硬件驅(qū)動業(yè)務)修改了自動代 碼中的某個結構體時,通過調(diào)用該結構體對應的set函數(shù)接口,向模型數(shù)據(jù)庫發(fā)送修改消 息;可以理解的是,調(diào)用set函數(shù)接口的方法本身是一個消息發(fā)送的封裝過程,也就是將業(yè) 務對結構體的修改轉(zhuǎn)換為通用的TLV消息格式發(fā)送至模型數(shù)據(jù)庫。TLV(type + length+ value)消息格式是一種靈活可變的消息打包方式,不要求每次消息報文要格式相同,其中 type由兩部分組成,分別是前半部的類索引和后半部分成員索引構成,因此模型數(shù)據(jù)庫在 接收到tlv消息格式的修改消息后,可以根據(jù)type定位到具體內(nèi)容。
[0059]步驟S402:模型數(shù)據(jù)庫在接收到修改消息后,檢查有哪些其他業(yè)務(除做出修改的 業(yè)務之外的業(yè)務)與該結構體相關,向相關的其他業(yè)務發(fā)送有關該結構體的變化消息。
[0060]步驟S403:收到結構體變化消息的其他業(yè)務,通過noti fy函數(shù)接口回調(diào)模型數(shù)據(jù) 庫來接收該結構體的變化。
[0061]另外,在上述技術方案的基礎上,考慮到有的設備元器件在一塊板卡上有多個,因 此,為了對相同種類的設備元器件進行進一步區(qū)分,需要在進行建模抽象時通過添加實例 屬性(inst)做為關鍵字對重復的設備元器件進行索引標識,同樣,在生成相關自動代碼時 也需要對添加的實例屬性進行C語言化的轉(zhuǎn)換。
[0062] 例如,在路由器業(yè)務板上就存在有多個ge_interface接口,則對該業(yè)務板進行建 模抽象時,設備硬件模型中ge_interface接口相應的內(nèi)容如下: <class name="ge_interface"> <meinber name="inst" value-tvpe=" UI NT 16" len=,'2" iskey="true"/>
[0063] <rnember name="mtu" value=" 1460" type="UrNT16" 1en=!,2" iskey='!false"/> </class>
[0064] 生成相關自動代碼時,相關的代碼內(nèi)容如下: struct ge_interface {:
[0065] UINT32 inst; UINT16mtu: h
[0066] 參見圖5所示,本發(fā)明實施例還提供一種基于上述方法的網(wǎng)絡操作系統(tǒng)中建立并 使用設備硬件模型的裝置,該裝置包括模型建立單元、自動代碼生成單元、代碼編譯與模型 加載單元、模型使用單元。
[0067] 模型建立單元用于:對網(wǎng)絡操作系統(tǒng)中的設備硬件進行建模抽象,得到設備硬件 模型。
[0068]其中,所述模型建立單元包括類名稱定義子單元、屬性值設置子單元、數(shù)據(jù)類型名 稱定義子單元和長度設置子單元。所述類名稱定義子單元用于:定義設備元器件的類名稱, 該類名稱用于在模型文件內(nèi)唯一標識一個設備元器件,并在生成代碼過程中以此名稱做關 鍵字進行結構體命名和函數(shù)命名;所述屬性值設置子單元用于:設置類成員屬性值;所述數(shù) 據(jù)類型名稱定義子單元用于:定義類成員的數(shù)據(jù)類型名稱,該名稱對應編程語言的數(shù)據(jù)類 型;所述長度設置子單元用于:設置類成員在內(nèi)存中占用的長度。
[0069]自動代碼生成單元用于:將設備硬件模型通過代碼解釋工具生成相關自動代碼, 該自動代碼包括:與各設備元器件對應的結構體定義、set函數(shù)接口定義,以及notify函數(shù) 接口定義。
[0070] 其中,所述自動代碼生成單元將設備硬件模型通過代碼解釋工具生成相關自動代 碼的具體過程為:自動代碼生成單元通過代碼解釋工具對設備硬件模型文件進行一套C語 言化的轉(zhuǎn)換,將每個設備元器件的類對應一個結構體名,將設備元器件的類的屬性對應結 構體的成員變量。
[0071] 代碼編譯與模型加載單元用于:將自動代碼存儲于網(wǎng)絡操作系統(tǒng)平臺軟件內(nèi)并編 譯通過;將設備硬件模型文件存儲于網(wǎng)絡操作系統(tǒng)平臺軟件內(nèi),使網(wǎng)絡操作系統(tǒng)平臺軟件 啟動時加載設備硬件模型文件,并為設備硬件模型創(chuàng)建一個模型數(shù)據(jù)庫。
[0072] 模型使用單元用于:利用自動代碼提供的set函數(shù)接口、notify函數(shù)接口,以及創(chuàng) 建的模型數(shù)據(jù)庫,完成各業(yè)務(網(wǎng)絡操作系統(tǒng)平臺業(yè)務、設備硬件驅(qū)動業(yè)務)對設備硬件模 型的使用。
[0073] 其中,所述模型使用單元包括修改消息發(fā)送子單元、變化消息發(fā)送子單元和變化 接收子單元。
[0074] 所述修改消息發(fā)送子單元用于:當有業(yè)務(網(wǎng)絡操作系統(tǒng)平臺業(yè)務或設備硬件驅(qū) 動業(yè)務)修改了自動代碼中的某個結構體時,通過調(diào)用該結構體對應的set函數(shù)接口,向模 型數(shù)據(jù)庫發(fā)送修改消息;
[0075] 所述變化消息發(fā)送子單元用于:在模型數(shù)據(jù)庫接收到修改消息后,檢查有哪些其 他業(yè)務與被修改的結構體相關,并向相關的其他業(yè)務發(fā)送有關該結構體的變化消息;
[0076] 所述變化接收子單元用于:使收到結構體變化消息的其他業(yè)務,通過notify函數(shù) 接口回調(diào)模型數(shù)據(jù)庫來接收被修改的結構體的變化。
[0077] 本發(fā)明不局限于上述實施方式,對于本技術領域的普通技術人員來說,在不脫離 本發(fā)明原理的前提下,還可以做出若干改進和潤飾,這些改進和潤飾也視為本發(fā)明的保護 范圍之內(nèi)。本說明書中未作詳細描述的內(nèi)容屬于本領域?qū)I(yè)技術人員公知的現(xiàn)有技術。
【主權項】
1. 一種網(wǎng)絡操作系統(tǒng)中建立并使用設備硬件模型的方法,其特征在于,包括以下步驟: 步驟SI:對網(wǎng)絡操作系統(tǒng)中的設備硬件進行建模抽象,得到設備硬件模型; 步驟S2:將設備硬件模型通過代碼解釋工具生成相關自動代碼,該自動代碼包括:與各 設備元器件對應的結構體定義、set函數(shù)接口定義,以及notify函數(shù)接口定義; 步驟S3:將自動代碼存儲于網(wǎng)絡操作系統(tǒng)平臺軟件內(nèi)并編譯通過;將設備硬件模型文 件存儲于網(wǎng)絡操作系統(tǒng)平臺軟件內(nèi),網(wǎng)絡操作系統(tǒng)平臺軟件在啟動時加載設備硬件模型文 件,并為設備硬件模型創(chuàng)建一個模型數(shù)據(jù)庫; 步驟S4:利用自動代碼提供的set函數(shù)接口、notify函數(shù)接口,以及創(chuàng)建的模型數(shù)據(jù)庫, 完成各業(yè)務對設備硬件模型的使用。2. 如權利要求1所述的網(wǎng)絡操作系統(tǒng)中建立并使用設備硬件模型的方法,其特征在于: 所述設備硬件模型的內(nèi)容包括所有設備元器件的類信息,每個設備元器件的類信息包含以 下類成員內(nèi)容:設備元器件名稱、設備元器件關鍵屬性描述、設備元器件的類對應的結構體 成員信息。3. 如權利要求1所述的網(wǎng)絡操作系統(tǒng)中建立并使用設備硬件模型的方法,其特征在于, 步驟Sl具體包括以下操作: 步驟S101:定義設備元器件的類名稱,該類名稱用于在模型文件內(nèi)唯一標識一個設備 元器件,并在生成代碼過程中以此名稱做關鍵字進行結構體命名和函數(shù)命名; 步驟S102:設置類成員屬性值,該屬性值為默認值設置或者在系統(tǒng)運行中通過相應的 設置接口函數(shù)進行修改設置; 步驟S103:定義類成員的數(shù)據(jù)類型名稱,該名稱對應編程語言的數(shù)據(jù)類型; 步驟S104:設置類成員在內(nèi)存中占用的長度。4. 如權利要求1所述的網(wǎng)絡操作系統(tǒng)中建立并使用設備硬件模型的方法,其特征在于: 步驟S2中所述將設備硬件模型通過代碼解釋工具生成相關自動代碼,包括以下操作:代碼 解釋工具對設備硬件模型文件進行一套C語言化的轉(zhuǎn)換,將每個設備元器件的類對應一個 結構體名,將設備元器件的類的屬性對應結構體的成員變量。5. 如權利要求1所述的網(wǎng)絡操作系統(tǒng)中建立并使用設備硬件模型的方法,其特征在于, 步驟S4具體操作如下: 步驟S401:當有業(yè)務修改了自動代碼中的某個結構體時,通過調(diào)用該結構體對應的set 函數(shù)接口,向模型數(shù)據(jù)庫發(fā)送TLV消息格式的修改消息; 步驟S402:模型數(shù)據(jù)庫在接收到修改消息后,檢查有哪些其他業(yè)務與該結構體相關,向 相關的其他業(yè)務發(fā)送有關該結構體的變化消息; 步驟S403:收到結構體變化消息的其他業(yè)務,通過notify函數(shù)接口回調(diào)模型數(shù)據(jù)庫來 接收該結構體的變化。6. 如權利要求1至5中任一項所述的網(wǎng)絡操作系統(tǒng)中建立并使用設備硬件模型的方法, 其特征在于:若存在重復的設備元器件時,步驟Sl中對網(wǎng)絡操作系統(tǒng)中的設備硬件進行建 模抽象時,通過添加 inst實例屬性做為關鍵字,對重復的設備元器件進行索引標識。7. -種基于權利要求1所述方法的網(wǎng)絡操作系統(tǒng)中建立并使用設備硬件模型的裝置, 其特征在于:該裝置包括模型建立單元、自動代碼生成單元、代碼編譯與模型加載單元、模 型使用單元; 所述模型建立單元用于:對網(wǎng)絡操作系統(tǒng)中的設備硬件進行建模抽象,得到設備硬件 豐旲型; 所述自動代碼生成單元用于:將設備硬件模型通過代碼解釋工具生成相關自動代碼, 該自動代碼包括:與各設備元器件對應的結構體定義、set函數(shù)接口定義,以及notify函數(shù) 接口定義; 所述代碼編譯與模型加載單元用于:將自動代碼存儲于網(wǎng)絡操作系統(tǒng)平臺軟件內(nèi)并編 譯通過;將設備硬件模型文件存儲于網(wǎng)絡操作系統(tǒng)平臺軟件內(nèi),使網(wǎng)絡操作系統(tǒng)平臺軟件 啟動時加載設備硬件模型文件,并為設備硬件模型創(chuàng)建一個模型數(shù)據(jù)庫; 所述模型使用單元用于:利用自動代碼提供的set函數(shù)接口、notify函數(shù)接口,以及創(chuàng) 建的模型數(shù)據(jù)庫,完成各業(yè)務對設備硬件模型的使用。8. 如權利要求7所述的網(wǎng)絡操作系統(tǒng)中建立并使用設備硬件模型的裝置,其特征在于: 所述模型建立單元包括類名稱定義子單元、屬性值設置子單元、數(shù)據(jù)類型名稱定義子單元 和長度設置子單兀; 所述類名稱定義子單元用于:定義設備元器件的類名稱,該類名稱用于在模型文件內(nèi) 唯一標識一個設備元器件,并在生成代碼過程中以此名稱做關鍵字進行結構體命名和函數(shù) 命名; 所述屬性值設置子單元用于:設置類成員屬性值; 所述數(shù)據(jù)類型名稱定義子單元用于:定義類成員的數(shù)據(jù)類型名稱,該名稱對應編程語 言的數(shù)據(jù)類型; 所述長度設置子單元用于:設置類成員在內(nèi)存中占用的長度。9. 如權利要求7所述的網(wǎng)絡操作系統(tǒng)中建立并使用設備硬件模型的裝置,其特征在于: 所述自動代碼生成單元將設備硬件模型通過代碼解釋工具生成相關自動代碼的具體過程 為:自動代碼生成單元通過代碼解釋工具對設備硬件模型文件進行一套C語言化的轉(zhuǎn)換,將 每個設備元器件的類對應一個結構體名,將設備元器件的類的屬性對應結構體的成員變 量。10. 如權利要求7所述的網(wǎng)絡操作系統(tǒng)中建立并使用設備硬件模型的裝置,其特征在 于:所述模型使用單元包括修改消息發(fā)送子單元、變化消息發(fā)送子單元和變化接收子單元; 所述修改消息發(fā)送子單元用于:當有業(yè)務修改了自動代碼中的某個結構體時,通過調(diào) 用該結構體對應的set函數(shù)接口,向模型數(shù)據(jù)庫發(fā)送TLV消息格式的修改消息; 所述變化消息發(fā)送子單元用于:在模型數(shù)據(jù)庫接收到修改消息后,檢查有哪些其他業(yè) 務與被修改的結構體相關,并向相關的其他業(yè)務發(fā)送有關該結構體的變化消息; 所述變化接收子單元用于:使收到結構體變化消息的其他業(yè)務,通過notify函數(shù)接口 回調(diào)模型數(shù)據(jù)庫來接收被修改的結構體的變化。
【文檔編號】G06F9/44GK105930154SQ201610244354
【公開日】2016年9月7日
【申請日】2016年4月19日
【發(fā)明人】宋??? 蘭光華
【申請人】烽火通信科技股份有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1