[發明專利]一種基于動態配置的網絡設備CLI實現方法和裝置有效
| 申請號: | 201010263333.5 | 申請日: | 2010-08-26 |
| 公開(公告)號: | CN101924656A | 公開(公告)日: | 2010-12-22 |
| 發明(設計)人: | 張鳳羽 | 申請(專利權)人: | 北京天融信科技有限公司 |
| 主分類號: | H04L12/24 | 分類號: | H04L12/24;H04L12/26;G06F9/445;G06F17/30 |
| 代理公司: | 信息產業部電子專利中心 11010 | 代理人: | 梁軍 |
| 地址: | 100085 北京市海淀*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 基于 動態 配置 網絡設備 cli 實現 方法 裝置 | ||
技術領域
本發明涉及系統運行監控技術領域,尤其涉及一種基于動態配置的網絡設備CLI(Command?Line?Interface,命令行界面)實現方法和裝置。
背景技術
CLI是可在用戶提示符下鍵入可執行指令的界面。CLI界面是思科CISCO、朗訊科技LUCENT、華為等廠商生產的路由器產品都能提供的界面,已經成為路由器產品的標準。由于使用CLI時只需要串行口,CLI具有使用要求低、操作容易以及功能擴充方便的優點。特別是通過CLI界面對數量較多的路由器設備進行配置的時候,可以使用其中的復制COPY/粘貼PASTE功能很快完成對所有路由器的配置工作,不需要通過IE瀏覽器一臺臺配置。
目前普遍使用的CLI開發方法采用的是zebra命令行,開源的Zebra項目提供了一個類似思科CISCO命令行的分級多用戶命令解析引擎VTY(Virtual?terminal[aka?TeletYpe],虛擬終端)。它是類似于shell的虛擬終端接口,負責對訪問的安全驗證、數據緩沖、命令解析、模式切換及命令調用。每一次接口訪問都會發起一個對應的VTY。VTY會根據用戶優先級初始化并掛載相應的命令集Com--mand?Node。命令集Command?Node里面以鏈表的形式包含了該用戶可以訪問和使用的命令。用戶通過各種接口訪問VTY,VTY解析用戶發過來的每個命令,并且通過命令集鏈表找到并執行Command響應函數。這樣,通過訪問VTY實現基于命令集的管理功能。
Zebra項目雖然內嵌了許多處理各種協議的命令集,但是網絡設備開發過程中常常需要擴展命令集以適應路由器設備的需求。當向Zebra或類似的CLI框架中添加新的命令時需要更改zebra的源代碼,編寫大量的C語言函數,開發與調試難度都很大,開發周期長,而且開發結果不能動態修改,同時由于Zebra等CLI框架往往都是在GPL(General?Public?License,通用性公開許可證)下發布的,網絡設備廠商需要對外公開其對zebra的修改并開放源碼,這是很多廠商無法接受的。
發明內容
本發明要解決的技術問題是,提供一種基于動態配置的網絡設備CLI實現方法和裝置,克服現有技術中zebra命令行方法開發與調試難度大且開發結果不能動態修改的缺陷。
本發明采用的技術方案是,所述基于動態配置的網絡設備CLI實現方法,包括:
在CLI主程序啟動時,向內存中加載配置文件;
將所述配置文件遞歸解析成命令集樹;
在所述命令集樹中對用戶輸入的命令進行匹配,執行匹配成功的命令。
所述配置文件包括兩類命令元素:關鍵字節點和參數節點,所述關鍵字節點和所述參數節點的可選屬性均包括:可執行屬性;
一條命令中的最終節點須具有所述可執行屬性,可執行屬性的內容為可執行程序。
所述在命令集樹中對用戶輸入的命令進行匹配的過程包括:
將用戶輸入的命令元素與所述命令集樹上的命令節點進行一致性匹配,與所述命令集樹上的參數節點任意匹配。
所述執行匹配成功的命令的過程包括:
將匹配成功的命令轉換成指向被調用程序的字符串;
當指向被調用程序的字符串調用可執行屬性指向的可執行程序時,若所述匹配成功的命令中有可執行屬性限定的參數節點,則將該參數節點的輸入值作為參數輸入給所述可執行程序。
所述參數節點的可選屬性進一步包括:檢查屬性和列表屬性,所述檢查屬性的內容是檢查程序,所述列表屬性的內容是列表數值;
所述執行匹配成功的命令的過程進一步包括:
當指向被調用程序的字符串調用檢查屬性指向的檢查程序時,若所述匹配成功的命令中有檢查屬性限定的參數節點,則將所述參數節點的輸入值作為所述檢查程序的執行對象;
在執行所述匹配成功的命令中的被調用程序時,若所述匹配成功的命令中有列表屬性限定的參數節點,則判斷所述參數節點的輸入值是否在列表屬性所列的數值當中,若是,則將所述參數節點的輸入值作為參數輸入給被調用的程序,否則不執行被調用程序。
作為一種優選的技術方案,所述配置文件為帶有初始化函數的動態庫;
在CLI主程序啟動時,所述加載配置文件的過程是:向內存中加載所有的所述帶有初始化函數的動態庫;
所述將配置文件遞歸解析成命令集樹的過程是:以命令集樹指針為參數調用每個動態庫中的初始化函數,所述初始化函數完成向所述命令集樹中加載該動態庫實現的命令節點。
所述執行匹配成功的命令的過程包括:
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京天融信科技有限公司,未經北京天融信科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201010263333.5/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:黑膚肉雞制種方法
- 下一篇:一種LED粘片機的旋轉定位機構





