999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

GoAhead 中JSON 與命令行的適配機制與實現

2022-12-23 12:03:18趙苗苗顏昌隆
電子設計工程 2022年24期
關鍵詞:頁面嵌入式設備

趙苗苗,陳 鵬,顏昌隆

(1.武漢郵電科學研究院,湖北武漢 430074;2.烽火通信科技股份有限公司,湖北武漢 430074)

伴隨著大數據和各類云服務的爆炸式增長,數據中心互聯設備應運而生[1-2],該設備種類繁多,且分別提供不同的配置命令,傳統的CLI(命令行界面)網絡管理方式對管理人員和用戶要求比較高,無法滿足數據中心網絡的運維要求,該文提出了基于GoAhead 嵌入式Web 服務器的網絡管理架構,這種基于Web 的網絡管理系統通過標準的網絡瀏覽器就可以對設備進行訪問,可以有效地顯示網絡管理數據,提高了網絡管理效率[3-6]。該文重點介紹了嵌入式Web 網絡管理系統中JSON(Javascript Object Notation)與命令行的適配機制及實現,選擇JSON 作為AJAX(Asynchronous Javascript And Xml)的數據傳輸格式,有效地提高了傳輸效率[7-11]。基于該機制實現了設備數據的可視化,讓系統具有移植性和擴展性,對于不同配置命令的設備可實現個性化定制,開發簡單、便于維護。

1 軟件設計

1.1 軟件系統基本架構

該軟件系統主要由Webclient 模塊、GoAhead Webserver模塊、CLI模塊及底層Interface Service 等各項業務和協議模塊組成,實現了嵌入式Web 網管系統的基本功能,其架構如圖1 所示。

圖1 嵌入式Web網絡管理系統架構

該軟件系統采用了異步AJAX 技術,客戶端可以在不更新加載整個頁面的情況下與服務器交換數據,并更新部分網頁,從而可以較好地同步交互造成的響應慢的問題。AJAX 的核心對象是XmlHttpRequest,通過XmlHttpRequest 對象,瀏覽器的JavaScript 可以后臺與服務器交換數據,無需等待服務器的響應[12-13]。因此,在服務器和瀏覽器之間交換的數據大量減少,大大提高了頁面的響應速度。

1.2 軟件系統工作流程

用戶在客戶端通過瀏覽器(例如Google Chrome、Mozilla Firefox 等)對目標設備進行訪問,通過在地址欄輸入設備的IP(Internet Protocol,網際互連協議)地址,Webserver 將設備的配置頁面信息通過HTTP(Hypertext Transfer Protocol,超文本傳送協議)傳送到Web 瀏覽器,然后顯示在用戶終端;用戶使用時在相應的配置頁面進行參數配置操作,當用戶在Web 瀏覽器配置界面中輸入數據時,先由JavaScript 程序對其進行預處理,檢查輸入數據是否符合要求,對于不符合要求的數據,在前臺頁面進行返錯提示;Web 服務器執行ASP(Active Server Page)過程、GoForms 過程實現接口,獲取待查詢的或者配置的JSON 數據;通過映射文件將JSON 數據轉換成命令行,用于查詢數據或處理用戶設置,其中使用CLI 組件提供的IPS(Inter Process Signal,進程間信號消息)接口與CLI 模塊交互,并且CLI 與業務模塊之間不感知HTTP 數據;將查詢結果或處理結果以HTTP 響應的方式返回給頁面,當請求返回時,客戶端使用JavaScript 來更新相應的用戶界面。

2 基于GoAhead實現JSON與命令行適配

該軟件系統的適配模塊主要是由AJAX Actions解析器、映射文件以及CLI 模塊組成,AJAX Actions解析器負責解析和組裝前臺頁面發送的JSON 格式數據,通過映射文件interface_map.xml 將JSON 格式數據轉換為對應的CLI 命令行字符串,然后下發到CLI 模塊,并將CLI 模塊回復的操作結果發送到前臺頁面進行解析與響應。該方案能夠有效地提高Web網管系統的數據傳送和處理效率,減少客戶端的請求和響應時間。

JSON 與CLI 命令行的映射過程如下:

1)在climap.js文件中定義了一個對象configObj,用來與命令行進行映射,該對象支持set、show、no 等方法;

2)根據funName 查找映射文件interface_map.xml對應的id,并獲得對應的CLI 命令行字符串,其中,interface_map.xml 文件的參數說明如表1 所示。

表1 映射文件參數說明

2.1 配置操作

配置操作流程如圖2 所示。

圖2 配置操作流程

如圖2 所示,用戶在配置設備時,首先在Web 前端配置頁面完成設備參數的配置,點擊提交按鈕,用一個按鍵函數submitForm 來觸發AJAX 數據請求,這個過程使用configObj 對象的set 方法,以CallHome配置為例:

configObj.set("set_callhome","callhome","");

根據funName 和id 找到映射文件interface_map.xml中對應的CLI 命令行字符串:

<set funName="set_callhome">

<mo2cli_entry id="callhome" mode="CONFIG_M ODE" cliName="netconf-ch-ssh" cat-id="ip" cat=""/></set>

取出字符串并以JSON 鍵值對的形式存放在cli.array 數組中:

"cli_array":[{type:"set",cli:"config terminal net conf-ch-ssh "}]

通過POST 請求把JSON 數據發送到webs2cli_uniform_interface 接口,后臺解析JSON 字符串并下發到CLI 模塊,命令行執行完之后返回響應,由handle_config_result 函數處理返回的響應,配置錯誤時后臺返回錯誤提示數據給前臺頁面,配置成功則調用show 命令刷新前臺頁面,前臺解析并顯示配置數據。

2.2 查詢操作

如圖3 所示,用戶在Web 前端點擊查詢功能頁面,頁面首先調用initTable 函數初始化表格,在show_config_info 函數中實現show 命令的轉換。

圖3 查詢操作流程

以CallHome 查詢功能為例,使用configObj 的show 方法:

configObj.show("show_callhome","show_callhome","");

根據funName 和id 找到映射文件interface_map.xml中對應的CLI 命令行字符串:

<show funName="show_callhome">

<mo2cli_entry id="show_callhome" mode="CON FIG_MODE" cliName="debug show netconf-ch-ssh"cat=" ; ;"/></show>

因為JSON 不能識別/r/n,故用其實體 ; 來表示。從而獲得對應的CLI命令行字符串:

"cli_array":[{"type":"get","cli":"debug show netco nf-ch-ssh "}]

通過AJAX 請求將命令行下發后,后臺返回的是字符串,此時webs2cli_uniform_interface 接口提供通道作用,handle_show_info 函數負責解析,將字符串解析成JSON 類型數組并返回給前臺頁面,前臺HTML 頁面負責用戶界面的組織及數據格式化的輸出。

2.3 JSON庫

該軟件系統選擇JSON 作為AJAX 的數據傳輸格式,同時選取cJSON 作為JSON 的封裝和解析庫。cJSON 是一個開源、簡潔、功能全面的JSON 封裝/解析器。JSON 與命令行模型適配過程中使用的接口函數如下:

1)JSON 數據包解析接口

cJSON*cJSON_Parse(const char*value)

用于解析JSON 數據包,并按照cJSON 結構體的結構序列化整個數據包,其中的參數是JSON 鍵值對字符串。

2)JSON 對象遍歷接口

char*cJSON_Print(cJSON*item)

用于將創建好的cJSON 對象封裝成字符串形式的JSON 數據,并打印出來,其中的參數是cJSON 結構數據。

3)查找指定的JSON 對象接口

cJSON*cJSON_GetObjectItem(const cJSON*const object,const char*const string);

用于解析cJSON 結構體中指定名稱的JSON 對象,返回JSON 格式數據,其中第一個參數是cJSON結構數據,第二個參數是指定的JSON 對象名稱。

4)查找JSON數組中指定索引的JSON對象接口

cJSON*cJSON_GetArrayItem(const cJSON *array,int index);

用于解析cJSON 數組中指定名稱的JSON 對象,返回JSON 格式數據,其中第一個參數是cJSON 數組,第二個參數是待查找的JSON 對象的索引。

上述接口實現了JSON 數據的封裝和解析,通過webs2cli_uniform_interface 接口調用實現,JSON 支持嵌套,即一個JSON 格式中,允許再嵌套一個JSON 格式的數據,理論上支持無限層次的JSON 嵌套[14-16]。

3 測 試

該文以CallHome 配置和查詢功能為例來說明管理軟件系統的測試。CallHome 是一種常用的Netconf 設備,主動連接控制器的配置選項。

3.1 測試環境

1)測試工具:Google Chrome/Secure CRT Portable 7.0.4。

2)測試設備:數據中心互聯設備。

3.2 測試方法

將測試設備與PC 端連接,通過軟件Secure CRT Portable 對測試設備進行訪問,瀏覽器登錄設置連接的IP 地址即可訪問測試設備。通過下面的測試用例來測試該功能的可用性:

1)在瀏覽器的CallHome 配置頁面中執行配置下發操作,在CLI 中觀察其效果是否一致;

2)在CLI 中用命令行的方式執行配置下發操作,觀察是否在Web 頁面中能夠同步顯示。

3.3 測試結果

如圖4 所示,在Web 頁面根據參數要求填寫CallHome 的控制器IP 地址及端口,填寫完成后,點擊新增按鈕,頁面顯示配置成功提示,并且頭部列表上顯示剛剛新增的配置數據,這里默認網絡類型為公網且值為1。然后在CLI 界面通過debug show netconfch-ssh命令來查詢,結果顯示與Web頁面一致。如圖5所示,在CLI界面通過命令行方式配置控制器IP地址、端口及網絡類型(私網:CTVPN193),配置下發后通過命令行查詢方式,得到顯示結果與Web頁面相同。

圖4 Web頁面配置查詢功能測試展示圖

圖5 CLI界面配置查詢功能測試展示圖

通過上述測試結果可得出如下結論:

1)Web 網管和傳統的CLI 網管在功能上可實現同步,操作結果完全一致,均能滿足用戶的要求;

2)Web 網管方式操作簡單易上手,數據直觀,擁有更好的用戶體驗。

4 結束語

該文介紹了一種基于GoAhead 的嵌入式Web 網管系統的實現架構,并重點介紹了該軟件系統中JSON 與命令行的適配機制與實現,基于此,可以根據不同客戶的需求實現不同設備管理系統軟件的快速定制和開發。針對不同嵌入式設備和不同的業務需求,只需要根據設備的配置命令,修改映射文件和底層的封裝接口,即可將該方法成功應用到新的管理系統中,開發簡單、便于維護,有效降低了嵌入式設備的運行和維護成本,提高了Web網管系統的開發和維護效率。

猜你喜歡
頁面嵌入式設備
大狗熊在睡覺
諧響應分析在設備減振中的應用
刷新生活的頁面
保健醫苑(2022年1期)2022-08-30 08:39:14
基于MPU6050簡單控制設備
電子制作(2018年11期)2018-08-04 03:26:08
搭建基于Qt的嵌入式開發平臺
嵌入式軟PLC在電鍍生產流程控制系統中的應用
電鍍與環保(2016年3期)2017-01-20 08:15:32
500kV輸變電設備運行維護探討
工業設計(2016年12期)2016-04-16 02:52:00
原來他們都是可穿戴設備
消費者報道(2014年7期)2014-07-31 11:23:57
Altera加入嵌入式視覺聯盟
倍福 CX8091嵌入式控制器
自動化博覽(2014年4期)2014-02-28 22:31:15
主站蜘蛛池模板: 99在线观看精品视频| 久久精品亚洲热综合一区二区| 69综合网| 亚洲成a∧人片在线观看无码| 一区二区三区精品视频在线观看| 亚洲午夜国产精品无卡| 黄色成年视频| 无码人中文字幕| 538国产在线| 中文字幕调教一区二区视频| 区国产精品搜索视频| 精品国产三级在线观看| 日韩 欧美 小说 综合网 另类| 亚洲无码37.| 中字无码av在线电影| 波多野结衣爽到高潮漏水大喷| 亚洲欧州色色免费AV| 精品少妇人妻av无码久久| 国产成人1024精品| 亚洲人成网站色7799在线播放| 国产精品爽爽va在线无码观看| 99草精品视频| 夜夜操狠狠操| 九九热精品免费视频| 99国产精品国产| 国产视频大全| 久久精品无码一区二区国产区| 国产乱人伦偷精品视频AAA| 91久久国产成人免费观看| 亚洲国产精品日韩欧美一区| 成人日韩精品| 9966国产精品视频| 毛片在线区| 欧美亚洲国产日韩电影在线| 国产在线日本| 亚洲黄色片免费看| 久久精品亚洲专区| 久久久久久久97| 日韩免费中文字幕| 中文字幕第1页在线播| 成人精品区| h视频在线播放| 久久精品国产亚洲AV忘忧草18| 精品一区二区三区无码视频无码| 亚洲av综合网| 精品国产www| 国产亚洲精久久久久久久91| 天天综合网亚洲网站| 国产在线98福利播放视频免费| 欧美视频在线第一页| 喷潮白浆直流在线播放| 亚洲日本中文字幕天堂网| 精品第一国产综合精品Aⅴ| 人妻中文久热无码丝袜| 免费观看三级毛片| 亚洲av无码专区久久蜜芽| 国产高清不卡| 色妞www精品视频一级下载| 精品91自产拍在线| 91色综合综合热五月激情| 国产精品免费电影| 亚洲一区免费看| 国产精品美女网站| 国产十八禁在线观看免费| 成人国产精品2021| 99ri国产在线| 亚洲成a人片| 97综合久久| 免费xxxxx在线观看网站| 毛片免费观看视频| 欧美在线天堂| 女人18毛片久久| 免费jizz在线播放| 免费欧美一级| 狠狠五月天中文字幕| 伊人色天堂| aaa国产一级毛片| 思思99思思久久最新精品| 亚洲无码视频喷水| 尤物午夜福利视频| 亚洲欧洲自拍拍偷午夜色无码| 暴力调教一区二区三区|