• 
    <ul id="o6k0g"></ul>
    <ul id="o6k0g"></ul>

    一種命令行接口的命令構造與解析方法技術

    技術編號:8271272 閱讀:207 留言:0更新日期:2013-01-31 03:27
    本發明專利技術公開了一種命令行接口的命令構造與解析方法,命令構造包括以下步驟:構造主命令結點,包括的關鍵元素有命令名稱、命令類型、命令的回調函數和命令的幫助信息;構造子命令結點,在命令字符串中相同位置的子命令都視為同一個命令層級的子命令,這些子命令結構體組成一個子命令結構數組供命令系統解析過程調用,每一個子命令結點包括的必要元素有命令名稱、命令類型、命令的回調函數和命令的幫助信息,其中,針對不同的子命令結點的不同的匹配類型,包括命令匹配和整型匹配,子命令結構體中給出該子命令結點的命令類型。

    【技術實現步驟摘要】
    本專利技術屬于嵌入式設備開發
    ,特別涉及一種嵌入式網絡設備的命令行接口的命令構造與解析方法
    技術介紹
    命令行接口(Co_and Line Interface)簡稱CLI,是用戶與操作系統或應用程序之間的一種基于文本輸入的命令接口。它通過輸入命令來實現對系統的管理和維護,并接收系統的響應。CLI是商業化電信網絡設備中必備的管理控制方法,與SNMP、基于Web等管理方式 所不同的是,CLI通過一個普通的串口應用程序或Telnet程序使用鍵盤輸入命令來實現對設備的監控。雖然對網絡設備的配置和管理也可以通過其他多種方式實現,可以使用純字符形式的命令行和菜單,也可以使用圖形界面的web瀏覽器或專門的網管軟件。但無論何種網絡設備,其基于Telnet (或者SSH)協議的CLI命令行方式提供了比其支持的任何網管功能更為完備的管理能力。尤其是,當網絡出現問題,通過其他管理方式都無法訪問到被管理設備時,我們依然可以通過完全帶外的CONSOLE 口使用CLI命令對被管理設備進行信息采集和排障,而這點是所有其他管理方式所不具備的。相比較而言,CLI命令行方式的功能更強大,但掌握起來難度也更大些。由于嵌入式網絡設備種類較多,不同種類的設備通常需要有針對性的合適的定制化的命令行接口命令體系,以方便調試和關系。現有的方法都是針對設備特點和要求從頭編制命令行,工作量比較大,而且很多都是重復勞動。
    技術實現思路
    本專利技術的目的是提供了一套完整的命令構造與命令解析方法,可用于實現網絡設備配置與管理時必須為用戶提供的命令行接口。本專利技術的技術方案是,一種命令行接口的命令構造與解析方法,命令構造包括以下步驟步驟I. 1,構造主命令結點,包括的關鍵元素有命令名稱、命令類型、命令的回調函數和命令的幫助信息;步驟I. 2,構造子命令結點,在命令字符串中相同位置的子命令都視為同一個命令層級的子命令,這些子命令結構體組成一個子命令結構數組供命令系統解析過程調用,每一個子命令結點包括的必要元素有命令名稱、命令類型、命令的回調函數和命令的幫助信息,其中,針對不同的子命令結點的不同的匹配類型,包括命令匹配和整型匹配,子命令結構體中給出該子命令結點的命令類型;步驟I. 3,構造回調函數,并且將整個命令系統中各個零散分布的命令結點通過回調函數才聯系到一起,即每一次匹配完成之后的命令操作,解析結束仍然跳往下一個子命令數組中查找下一層級的子命令結點,該過程由回調函數給出;步驟I. 4,注冊主命令,通過注冊主命令結構體的方式來把同一命令模式下的所有主命令結點連接成命令樹,命令系統中根據命令模式的不同生成不同的命令樹;命令解析包括以下步驟步驟2. I,根據命令模式查找到相應的命令樹;步驟2. 2,以被解析命令的主命令名作為索引,遍歷整個命令樹;步驟2. 3,當存在命令名稱完全匹配或者有且僅有一個部分匹配的結點時,則調用該命令結點的回調函數,否則解析結束并返回錯誤號;步驟2. 4,回調函數實現的操作分為兩種一種為命令解析結束,執行相關的功能模塊或返回錯誤號,另一種為繼續下一層子命令的解析,·命令是否解析結束只要判斷被解析命令字符串是否還有下一級命令參數存在,如果存在則需要繼續往下解析,然后遍歷回調函數中提供的子命令結構數組,查找能夠匹配成功的子命令;步驟2. 5,當存在且僅有一個命令類型能匹配成功的子命令結點時,則調用該命令結點的回調函數,否則解析結束并返回錯誤號;步驟2. 6,采用子命令結點的回調函數與主命令結點的回調函數實現的操作一致,即判斷命令是否結束或者繼續下一層子命令的解析;步驟3. 7,子命令的解析過程采用一個遞歸調用的過程,存在匹配的情況下調用回調函數,反之返回錯誤號,該遞歸的解析過程一直到命令解析結束或者出錯返回退出為止。本專利技術有益效果是,對于命令結點,命令系統中所有的命令都是由命令結點組合而成的,命令結點也分為兩種主命令結點和子命令結點。分類的主要依據是各命令結點在命令字符串中的位置,命令字符串中的第一個結點為主命令結點,同一命令模式下不同的主命令結點組成為命令樹,并且每個主命令結點是該命令在命令樹上唯一的索引。除主命令結點之外的其它結點都是子命令結點。對于命令構造,每一條命令都是由一個主命令結點和若干個子命令結點組合而成的,而每一個命令結點中包含的主要元素有命令名稱、命令類型、命令的回調函數以及命令的幫助信息等。各命令結點聯系到一起的關鍵在于命令的回調函數,每個命令的回調函數都決定了該命令結點應該執行的操作,如判斷命令是否結束,是否執行命令,是否需要查找下一個命令結點等。對于命令解析,命令系統根據用戶所在的命令模式來查找相應的命令樹,再在命令樹上搜索輸入命令的主命令結點,然后根據主命令結點中的回調函數來決定該命令是結束解析返回,還是繼續往下解析。如果繼續往下查找,則命令系統會根據主命令回調函數中提供的子命令結構數組的入口地址來查找主命令之后的子命令結點。如果匹配成功,剛調用子命令結點中提供的回調函數。再這樣反復的輪循調用,直到整個命令字符串解析結束或者出錯返回為止。對于本申請中用到的術語說明如下。主命令整個命令字符串中最開始的那個命令。子命令主命令之后的所以命令都為子命令。命令模式在不同提示符下的主命令為不同的命令模式,如在’ >’或’ #,這兩種提示符下的命令就屬于兩個不同的命令模式。主命令樹不同命令模式的主命令被命令系統鏈成了一個鏈表,命令系統根據命令模式在相應的鏈表上搜索主命令,這個鏈表就是主命令樹。回調函數每個主、子命令都有三個回調函數的接口(普通命令的回調函數、no命令的回調函數和default命令的回調函數),回調函數的作用是當命令系統成功匹配到了相應的命令時調用執行相應的處理。附圖說明圖I、本專利技術的系統模塊結構2、本專利技術解析命令的流程圖具體實施方式·如圖I所示,本專利技術實際包含命令構造和命令解析兩個部分,且其中命令解析依賴于命令構造。具體實施過程如下一、命令構造的實施命令構造的實際過程是構造并完善該命令主命令結點與子命令結點,并將主命令結點注冊生成命令樹的過程。步驟I. I :構造主命令結點,主命令結點是一個包含有主命令重要相關信息的結構體,如命令名稱、命令等級、所屬命令樹、回調函數接口和命令注解等。以ping ip_addr命令為例,其中ping即為該命令的主命令結點,ip_addr即為子命令結點。步驟I. 2 :構造主命令結點的回調函數,回調函數是命令解析過程中的關鍵角色。回調函數分為三種命令回調函數,no前綴命令回調函數和default前綴命令回調函數。后兩種回調函數是為實現取消功能和默認配置時提供的函數接口。回調函數的主要功能是處理命令是否結束、是否繼續向下解析,且指定下一個命令結點的空間地址。步驟2. I :構造子命令結點,子命令結點的構造與主命令結點的構造類似,需要完善結構體中的命令名稱、命令等級、命令類型、回調函數接口和命令注解等。與主命令結點相區別的是子命令結點不再有命令樹的屬性,因為子命令結點是命令系統中一個個零散的存在,它可以通過上一級命令結點的回調函數被組合到任意一條命令當中。同時由于子命令的特殊性,子命令結點的匹配方式不再是單純的字符匹配,增加了不同命令類型的匹配方式。步驟2.2 :構造子命令結點的回調本文檔來自技高網...

    【技術保護點】
    一種命令行接口的命令構造與解析方法,其特征在于,命令構造包括以下步驟:步驟1.1,構造主命令結點,包括的關鍵元素有命令名稱、命令類型、命令的回調函數和命令的幫助信息;步驟1.2,構造子命令結點,在命令字符串中相同位置的子命令都視為同一個命令層級的子命令,這些子命令結構體組成一個子命令結構數組供命令系統解析過程調用,每一個子命令結點包括的必要元素有命令名稱、命令類型、命令的回調函數和命令的幫助信息,其中,針對不同的子命令結點的不同的匹配類型,包括命令匹配和整型匹配,子命令結構體中給出該子命令結點的命令類型;步驟1.3,構造回調函數,并且將整個命令系統中各個零散分布的命令結點通過回調函數才聯系到一起,即每一次匹配完成之后的命令操作,解析結束仍然跳往下一個子命令數組中查找下一層級的子命令結點,該過程由回調函數給出;步驟1.4,注冊主命令,通過注冊主命令結構體的方式來把同一命令模式下的所有主命令結點連接成命令樹,命令系統中根據命令模式的不同生成不同的命令樹;命令解析包括以下步驟:步驟2.1,根據命令模式查找到相應的命令樹;步驟2.2,以被解析命令的主命令名作為索引,遍歷整個命令樹;步驟2.3,當存在命令名稱完全匹配或者有且僅有一個部分匹配的結點時,則調用該命令結點的回調函數,否則解析結束并返回錯誤號;步驟2.4,回調函數實現的操作分為兩種:一種為命令解析結束,執行相關的功能模塊或返回錯誤號,另一種為繼續下一層子命令的解析,命令是否解析結束只要判斷被解析命令字符串是否還有下一級命令參數存在,如果存在則需要繼續往下解析,然后遍歷回調函數中提供的子命令結構數組,查找能夠匹配成功的子命令;步驟2.5,當存在且僅有一個命令類型能匹配成功的子命令結點時,則調用 該命令結點的回調函數,否則解析結束并返回錯誤號;步驟2.6,采用子命令結點的回調函數與主命令結點的回調函數實現的操作一致,即判斷命令是否結束或者繼續下一層子命令的解析;步驟2.7,子命令的解析過程采用一個遞歸調用的過程,存在匹配的情況下調用回調函數,反之返回錯誤號,該遞歸的解析過程一直到命令解析結束或者出錯返回退出為止。...

    【技術特征摘要】
    1.一種命令行接口的命令構造與解析方法,其特征在于,命令構造包括以下步驟 步驟I. 1,構造主命令結點,包括的關鍵元素有命令名稱、命令類型、命令的回調函數和命令的幫助信息; 步驟I. 2,構造子命令結點,在命令字符串中相同位置的子命令都視為同一個命令層級的子命令,這些子命令結構體組成一個子命令結構數組供命令系統解析過程調用, 每一個子命令結點包括的必要元素有命令名稱、命令類型、命令的回調函數和命令的幫助信息,其中, 針對不同的子命令結點的不同的匹配類型,包括命令匹配和整型匹配,子命令結構體中給出該子命令結點的命令類型; 步驟I. 3,構造回調函數,并且將整個命令系統中各個零散分布的命令結點通過回調函數才聯系到一起,即每一次匹配完成之后的命令操作,解析結束仍然跳往下一個子命令數組中查找下一層級的子命令結點,該過程由回調函數給出; 步驟I. 4,注冊主命令,通過注冊主命令結構體的方式來把同一命令模式下的所有主命令結點連接成命令樹,命令系統中根據命令模式的不同生成不同的命令樹; 命令解析包括以下步驟 步驟2....

    【專利技術屬性】
    技術研發人員:楊敏
    申請(專利權)人:上海師范大學
    類型:發明
    國別省市:

    網友詢問留言 已有0條評論
    • 還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。

    1
    主站蜘蛛池模板: 麻豆aⅴ精品无码一区二区 | 亚洲成a人无码亚洲成www牛牛| 免费无遮挡无码视频在线观看 | 日本精品人妻无码免费大全 | 国产网红主播无码精品| 久久亚洲精品无码网站| 中文字幕无码人妻AAA片| 无码粉嫩小泬无套在线观看| 国产成人无码av片在线观看不卡 | 久久久久亚洲AV无码网站| 国产做无码视频在线观看| 亚洲AV永久纯肉无码精品动漫| 亚洲精品无码不卡在线播放| 久久久亚洲精品无码| 亚洲精品无码成人片在线观看 | 国产精品无码一区二区三区在| 中文国产成人精品久久亚洲精品AⅤ无码精品 | 亚洲精品无码中文久久字幕| 国产真人无码作爱视频免费| 午夜无码视频一区二区三区| 少妇无码AV无码专区线| 亚洲国产超清无码专区| 无码人妻少妇久久中文字幕蜜桃| 亚洲Av无码国产情品久久| 秋霞鲁丝片无码av| 无码人妻精一区二区三区| 亚洲av无码专区国产不乱码| 精品无码人妻一区二区免费蜜桃 | 成人午夜亚洲精品无码网站| 国产成人无码免费视频97| 亚洲精品无码久久久久YW| 日韩精品专区AV无码| 台湾无码一区二区| 亚洲精品无码不卡| 久久久久成人精品无码中文字幕| 亚洲中文字幕无码不卡电影| 人妻系列AV无码专区| 国产精品无码久久久久| 免费看无码特级毛片| 国产50部艳色禁片无码| 久久久无码精品国产一区|