一種網(wǎng)絡(luò)建模語言解析方法及裝置的制造方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及通信技術(shù)領(lǐng)域,具體涉及一種網(wǎng)絡(luò)建模語言解析方法及裝置。
【背景技術(shù)】
[0002] 隨著信息技術(shù)的不斷發(fā)展,網(wǎng)絡(luò)已成為越來越多應(yīng)用系統(tǒng)的基本組成部分,支持 服務(wù)端和客戶端之間的各種應(yīng)用需求。面對復(fù)雜的網(wǎng)絡(luò)技術(shù),為了降低應(yīng)用開發(fā)者描述網(wǎng) 絡(luò)需求、應(yīng)用需求、運維網(wǎng)絡(luò)等方面的難度,目前對網(wǎng)絡(luò)建模語言的研宄越來越深入。
[0003] 網(wǎng)絡(luò)建模語言以一種更接近自然語言的網(wǎng)絡(luò)元語,定義網(wǎng)絡(luò)資源需求、控制網(wǎng)絡(luò) 行為、獲取網(wǎng)絡(luò)信息等操作動作,方便應(yīng)用開發(fā)者使用。通常,在網(wǎng)絡(luò)建模語言的使用過程 中,需要解析并識別應(yīng)用開發(fā)者輸入的網(wǎng)絡(luò)建模語句。舉例來說,應(yīng)用開發(fā)者需要配置軟件 定義網(wǎng)絡(luò)(英文:Software Defined Network,簡稱:SDN)中的轉(zhuǎn)發(fā)設(shè)備A的轉(zhuǎn)發(fā)行為,可 通過網(wǎng)絡(luò)建模語句來描述該操作動作。對應(yīng)于此,網(wǎng)絡(luò)建模語言解析引擎獲得應(yīng)用開發(fā)者 輸入的網(wǎng)絡(luò)建模語句,可解析其表示的含義,獲得針對轉(zhuǎn)發(fā)設(shè)備A的解析實例,并對解析實 例進行處理后,通過SDN中的控制器實現(xiàn)對轉(zhuǎn)發(fā)設(shè)備A轉(zhuǎn)發(fā)行為的配置。
[0004] 由上述過程可知,解析引擎的解析效率直接制約著網(wǎng)絡(luò)響應(yīng)應(yīng)用開發(fā)者操作的速 度,如果解析效率高,則網(wǎng)絡(luò)響應(yīng)操作速度快,反之網(wǎng)絡(luò)響應(yīng)操作的速度就慢。
【發(fā)明內(nèi)容】
[0005] 本發(fā)明實施例的網(wǎng)絡(luò)建模語言解析方法及裝置,有助于提高網(wǎng)絡(luò)建模語言解析引 擎的解析效率。
[0006] 為此,本發(fā)明實施例提供如下技術(shù)方案:
[0007] 第一方面,提供了一種網(wǎng)絡(luò)建模語言解析方法,所述方法包括:
[0008] 解析引擎獲得用戶輸入的網(wǎng)絡(luò)建模語句,所述網(wǎng)絡(luò)建模語句用于表示針對網(wǎng)絡(luò)的 操作動作;
[0009] 所述解析引擎確定預(yù)置數(shù)據(jù)庫中是否保存有第一映射,所述第一映射用于表示所 述網(wǎng)絡(luò)建模語句與解析實例之間的對應(yīng)關(guān)系;
[0010] 如果預(yù)置數(shù)據(jù)庫中保存有第一映射,所述解析引擎從所述第一映射中獲取所述解 析實例。
[0011] 結(jié)合第一方面,在第一方面的第一種可能的實現(xiàn)方式中,所述解析引擎確定預(yù)置 數(shù)據(jù)庫中是否保存有第一映射,包括:
[0012] 所述解析引擎利用所述網(wǎng)絡(luò)建模語句,計算當前索引值;
[0013] 所述解析引擎確定所述預(yù)置數(shù)據(jù)庫中是否保存有所述當前索引值;
[0014] 如果所述預(yù)置數(shù)據(jù)庫中保存有所述當前索引值,所述解析引擎獲得所述當前索引 值對應(yīng)的至少一條映射;
[0015] 所述解析引擎利用所述網(wǎng)絡(luò)建模語句,比對所述至少一條映射,確定所述至少一 條映射中是否包括所述第一映射。
[0016] 結(jié)合第一方面的第一種可能的實現(xiàn)方式,在第一方面的第二種可能的實現(xiàn)方式 中,所述計算當前索引值之前,所述方法還包括:所述解析引擎對所述網(wǎng)絡(luò)建模語句進行預(yù) 處理,
[0017] 所述預(yù)處理包括:消除所述網(wǎng)絡(luò)建模語句首尾的空白字符、將所述網(wǎng)絡(luò)建模語句 中的連續(xù)空白字符替換為單個空白字符、將所述網(wǎng)絡(luò)建模語句中的字符調(diào)整為指定順序、 將所述網(wǎng)絡(luò)建模語句中的字符修改為指定格式,所述指定格式為大寫或小寫。
[0018] 結(jié)合第一方面或第一方面的第一種或第二種可能的實現(xiàn)方式,在第一方面的第三 種可能的實現(xiàn)方式中,所述解析引擎從所述第一映射中獲取所述解析實例之前,所述方法 還包括:
[0019] 所述解析引擎確定所述用戶是否具有獲得所述解析實例的權(quán)限;
[0020] 如果所述用戶具有獲得所述解析實例的權(quán)限,所述解析引擎再執(zhí)行所述獲取解析 實例。
[0021] 結(jié)合第一方面或第一方面的第一種至第三種中的任一種可能的實現(xiàn)方式,在第一 方面的第四種可能的實現(xiàn)方式中,如果預(yù)置數(shù)據(jù)庫中未保存第一映射,所述方法還包括:
[0022] 所述解析引擎解析所述網(wǎng)絡(luò)建模語句,獲得所述解析實例;
[0023] 所述解析引擎利用所述網(wǎng)絡(luò)建模語句和所述解析實例,獲得所述第一映射;
[0024] 所述解析引擎將所述第一映射保存至所述預(yù)置數(shù)據(jù)庫。
[0025] 第二方面,提供了一種網(wǎng)絡(luò)建模語言解析裝置,所述裝置包括:
[0026] 獲得單元,用于獲得用戶輸入的網(wǎng)絡(luò)建模語句,所述網(wǎng)絡(luò)建模語句用于表示針對 網(wǎng)絡(luò)的操作動作;
[0027] 第一確定單元,用于確定預(yù)置數(shù)據(jù)庫中是否保存有第一映射,所述第一映射用于 表示所述網(wǎng)絡(luò)建模語句與解析實例之間的對應(yīng)關(guān)系;
[0028] 獲取單元,用于在所述第一確定單元確定預(yù)置數(shù)據(jù)庫中保存有第一映射時,從所 述第一映射中獲取所述解析實例。
[0029] 結(jié)合第二方面,在第二方面的第一種可能的實現(xiàn)方式中,所述第一確定單元包 括:
[0030] 計算單元,用于利用所述網(wǎng)絡(luò)建模語句,計算當前索引值;
[0031] 第一確定子單元,用于確定所述預(yù)置數(shù)據(jù)庫中是否保存有所述當前索引值;
[0032] 映射獲得單元,用于在所述預(yù)置數(shù)據(jù)庫中保存有所述當前索引值時,獲得所述當 前索引值對應(yīng)的至少一條映射;
[0033] 第二確定子單元,用于利用所述網(wǎng)絡(luò)建模語句,比對所述至少一條映射,確定所述 至少一條映射中是否包括所述第一映射。
[0034] 結(jié)合第二方面的第一種可能的實現(xiàn)方式,在第二方面的第二種可能的實現(xiàn)方式 中,所述裝置還包括:
[0035] 預(yù)處理單元,用于在所述計算單元計算所述當前索引值之前,對所述網(wǎng)絡(luò)建模語 句進行預(yù)處理,
[0036] 所述預(yù)處理包括:消除所述網(wǎng)絡(luò)建模語句首尾的空白字符、將所述網(wǎng)絡(luò)建模語句 中的連續(xù)空白字符替換為單個空白字符、將所述網(wǎng)絡(luò)建模語句中的字符調(diào)整為指定順序、 將所述網(wǎng)絡(luò)建模語句中的字符修改為指定格式,所述指定格式為大寫或小寫。
[0037] 結(jié)合第二方面或第二方面的第一種或第二種可能的實現(xiàn)方式,在第二方面的第三 種可能的實現(xiàn)方式中,所述裝置還包括:
[0038] 第二確定單元,用于在所述獲取單元從所述第一映射中獲取所述解析實例之前, 確定所述用戶是否具有獲得所述解析實例的權(quán)限;
[0039] 所述獲取單元,具體用于在所述第二確定單元確定所述用戶具有獲得所述解析實 例的權(quán)限時,從所述第一映射中獲取所述解析實例。
[0040] 結(jié)合第二方面或第二方面的第一種至第三種中的任一種可能的實現(xiàn)方式,在第二 方面的第四種可能的實現(xiàn)方式中,如果預(yù)置數(shù)據(jù)庫中未保存第一映射,所述裝置還包括:
[0041] 解析單元,用于解析所述網(wǎng)絡(luò)建模語句,獲得所述解析實例;
[0042] 保存單元,用于利用所述網(wǎng)絡(luò)建模語句和所述解析實例,獲得所述第一映射,并將 所述第一映射保存至所述預(yù)置數(shù)據(jù)庫。
[0043] 第三方面,提供了一種網(wǎng)絡(luò)建模語言解析的設(shè)備,所述設(shè)備包括:處理器和存儲 器;
[0044] 所述存儲器,用于存儲程序指令和數(shù)據(jù);
[0045] 所述處理器,用于讀取所述存儲器中存儲的程序指令和數(shù)據(jù),執(zhí)行以下操作:
[0046] 所述處理器獲得用戶輸入的網(wǎng)絡(luò)建模語句,所述網(wǎng)絡(luò)建模語句用于表示針對網(wǎng)絡(luò) 的操作動作;
[0047] 所述處理器確定預(yù)置數(shù)據(jù)庫中是否保存有第一映射,所述第一映射用于表示所述 網(wǎng)絡(luò)建模語句與解析實例之間的對應(yīng)關(guān)系;
[0048] 如果預(yù)置數(shù)據(jù)庫中保存有第一映射,所述處理器從所述第一映射中獲取所述解析 實例。
[0049] 結(jié)合第三方面,在第三方面的第一種可能的實現(xiàn)方式中,所述處理器確定預(yù)置數(shù) 據(jù)庫中是否保存有第一映射,包括:
[0050] 所述處理器利用所述網(wǎng)絡(luò)建模語句,計算當前索引值;
[0051] 所述處理器確定所述預(yù)置數(shù)據(jù)庫中是否保存有所述當前索引值;
[0052] 如果所述預(yù)置數(shù)據(jù)庫中保存有所述當前索引值,所述處理器獲得所述當前索引值 對應(yīng)的至少一條映射;
[0053] 所述處理器利用所述網(wǎng)絡(luò)建模語句,比對所述至少一條映射,確定所述至少一條 映射中是否包括所述第一映射。
[0054] 結(jié)合第三方面的第一種可能的實現(xiàn)方式,在第三方面的第二種可能的實現(xiàn)方式 中,所述計算當前索引值之前,所述處理器還執(zhí)行以下操作:所述處理器對所述網(wǎng)絡(luò)建模語 句進行預(yù)處理,
[0055] 所述預(yù)處理包括:消除所述網(wǎng)絡(luò)建模語句首尾的空白字符、將所述網(wǎng)絡(luò)建模語句 中的連續(xù)空白字符替換為單個空白字符、將所述網(wǎng)絡(luò)建模語句中的字符調(diào)整為指定順序、 將所述網(wǎng)絡(luò)建模語句中的字符修改為指定格式,所述指定格式為大寫或小寫。
[0056] 結(jié)合第三方面或第三方面的第一種或第二種可能的實現(xiàn)方式,在第三方面的第三 種可能的實現(xiàn)方式中,所述處理器從所述第一映射中獲取所述解析實例之前,所述處理器 還執(zhí)行以下操作:
[0057] 所述處理器確定所述用戶是否具有獲得所述解析實例的權(quán)限;
[0058] 如果所述用戶具有獲得所述解析實例的權(quán)限,所述處理器再執(zhí)行所述獲取解析實 例。
[0059] 結(jié)合第三方面或第三方面的第一種至第三種中的任一種可能的實現(xiàn)方式,在第三 方面的第四種可能的實現(xiàn)方式中,如果預(yù)置數(shù)據(jù)庫中未保存第一映射,所述處理器還執(zhí)行 以下操作:
[0060] 所述處理器解析所述網(wǎng)絡(luò)建模語句,獲得所述解析實例;