本發(fā)明涉及綜合資源管理領域中的操作維護中心(omc,operation&maintenancecenter)北向接口數(shù)據處理技術,尤其涉及一種omc北向接口數(shù)據處理方法及裝置。
背景技術:
北向接口(northboundinterface)是為廠家或運營商進行接入和管理網絡的接口,即向上提供的接口。網絡中使用接口編程開發(fā)各種應用系統(tǒng)管理被管理對象,管理的方法是采集和分析被管理對象在運行中產生的各種數(shù)據。在電信網和下一代網絡(ngn,nextgenerationnetwork)中管理是分層實現(xiàn)的,如圖1所示,可以將這種網絡管理分成三層:數(shù)據應用層、數(shù)據處理層和數(shù)據采集層。其中,數(shù)據應用層和數(shù)據處理層之間的數(shù)據交互定義有接口,由于數(shù)據應用層位于數(shù)據處理層之上,因此這種接口稱之為北向接口。
北向接口的文件一般為可擴展標記語言(xml,extensiblemarkuplanguage)文件,可采用java或者perljava對xml文件進行解析,目前常用的xml文件解析器主要有:xml簡單應用程序編程接口(sax,simpleapiforxml),文檔對象模型(dom,documentobjectmodel)。
sax處理的優(yōu)點非常類似于流媒體的優(yōu)點。分析能夠立即開始,而不是等待所有的數(shù)據被處理。而且,由于應用程序只是在讀取數(shù)據時檢查數(shù)據,因此不需要將數(shù)據存儲在內存中,這對于大型文檔來說是個巨大的優(yōu)點。
dom以及廣義的基于樹的處理具有幾個優(yōu)點。由于樹在內存中是持久的,因此可以修改它以便應用程序能對數(shù)據和結構作出更改。它還可以在任何時候在樹中上下導航,而不是像sax那樣是一次性的處理。dom使用起來也要簡單得多。另一方面,在內存中構造這樣的樹涉及大量的開銷。
jdom目的是成為java特定文檔模型,它簡化與xml的交互并且比dom實現(xiàn)更快。由于是第一個java特定模型,jdom一直得到大力推廣和促進。dom4j是jdom的一種智能分支,它合并了許多超出基本xml文檔表示的功能,包括集成的xpath支持、xml、schema支持以及用于大文檔或流化文檔的基于事件的處理。
因java運行對文件大小有限制,對于經常超過幾個g的傳輸文件,java處理起來顯得比較吃力。所以普遍都用perl處理文件,perl處理對移植和開發(fā)都比較容易。
perl解析xml文件分為包解析和模式匹配解析。
包解析:xml::parser.xml::解析器系列最初的perl解析器xml::parser::expat,由larrywall在幾年前編寫并由clarkcooper保持延續(xù)。作為expatxmlparser的界面由jamesclark用c語言編寫且已經被一些腳本語言所采用。perl解析xml文件中expat是以事件為基礎,意味著特定條件觸發(fā)處理功能。例如,一個開始或結尾標記將觸發(fā)適當?shù)挠脩舳x子程序。xml::parser模塊在expat功能的基礎上為普通應用所建構。注意expat在解析之前不會使xml生效且在遇到錯誤出現(xiàn)時會失效。這些限制會使xml::parser模塊速度非常之快。
模式匹配解析:使用正則表達式進行模式匹配標簽,從而獲取標簽和取值。
理論上包解析比較有效,但是由于網管上有人工錄入的中文名稱,經常會人為的導致網元中文名稱亂碼。expat在遇到亂碼時會失效,從而導致采集解析失敗。
在傳統(tǒng)的解析匯總上面各個廠家因為字段差異都是獨立進行數(shù)據關聯(lián)更新和匯總?,F(xiàn)有技術存在以下缺陷:
解析常中斷:因為是通過包解析,當遇到網管有亂碼、網管廠家多、數(shù)據不規(guī)范、格式難統(tǒng)一的時候,解析頻繁發(fā)生中斷,導致數(shù)據入庫及解析無法正常工作。
中文無故消失:解析中若帶有中文、或部分全角字符,在現(xiàn)有技術下會無故消失或者無法處理,同樣影響數(shù)據入庫。
數(shù)據值長度不夠用:使用序列生成id,隨著資源的變更和移動網絡規(guī)模的擴大,數(shù)值型的長度不夠用。
關聯(lián)資源刷新慢:因為需要將各種歸屬轉換為id,極大耗費數(shù)據庫資源,特別是關聯(lián)性數(shù)據,處理時間極慢。
匯總耗時太長:因部分網管數(shù)據表非常巨大,例如傳輸時隙并未拆分,在通道路由串通的過程中,經常會找不到相應的時隙。導致通道路由串通失敗,匯總起來非常耗時。
現(xiàn)有技術因存在以上缺陷,直接影響綜合資源系統(tǒng)的采集質量和比對情況,給維護人員和接口廠家的感知極差。在日常的綜合資源管理過程中,一定程度的影響了用戶感知,因數(shù)據采集解析中斷,影響入網流程采集比對環(huán)節(jié)的暢通和電路調度通道串通的成功率,導致流程需等待數(shù)據采集,因為數(shù)據匯總時間過長,進而影響用戶對系統(tǒng)的信心。影響對外接口穩(wěn)定和及時,影響數(shù)據采集的及時性和準確率,成為了困擾資源管理、數(shù)據應用的一大難題。
技術實現(xiàn)要素:
為解決上述技術問題,本發(fā)明實施例提供了一種omc北向接口數(shù)據處理方法及裝置。
本發(fā)明實施例提供的omc北向接口數(shù)據處理方法,包括:
讀取xml文件,根據所述xml文件的類型加載配置,所述配置至少包括:標簽類型配置、輸出配置;
根據所述標簽類型配置,對所述xml文件中的標簽進行模式匹配;
根據所述輸出配置,對模式匹配結果進行輸出。
本發(fā)明實施例中,所述方法還包括:
針對模式匹配的標簽,確定所述標簽的類型,并根據所述標簽的類型對所述標簽進行處理;
將處理后的結果保存至按字段索引的哈希(hash)數(shù)組中,以進行標準化輸出。
本發(fā)明實施例中所述方法還包括:
針對模式匹配的標簽,當所述標簽存在于標簽規(guī)則里時,加載所述標簽的對象屬性,所述對象屬性包括:解析規(guī)則和前綴;
根據所述解析規(guī)則確定標簽的值,根據是否拆分和添加前綴確定標簽;
將所述標簽作為關鍵字(key)以及將所述標簽的值作為值(value),存入hash數(shù)組中。
本發(fā)明實施例中,所述根據所述輸出配置,對模式匹配結果進行輸出,包括:
根據所述輸出配置,獲取模式匹配結果對應的輸出字段的對象屬性,所述對象屬性包括:字段類型、字段來源、處理函數(shù);
按序輸出所述模式匹配結果對應的輸出字段的對象屬性。
本發(fā)明實施例中,所述方法還包括:
在模式匹配過程中,通過所述輸出字段的處理函數(shù)將結果標準版化,并且通過對北向接口對象里的標準版名次進行加密得到關聯(lián)字符串。
本發(fā)明實施例中,所述方法還包括:
獲取通道信息;
從所述通道的第一端開始,判斷是否需要進行高低階轉換;
查詢交叉連接信息,其中,先用低階查詢交叉連接信息,當未查詢到交叉連接信息時再用高階查詢交叉連接信息;
當查詢到交叉連接信息時,獲取交叉末端信息;
當交叉末端與第二端不匹配時,查詢拓撲信息;
當查詢到拓撲信息時,繼續(xù)判斷是否需要進行高低階轉換,并繼續(xù)執(zhí)行查詢交叉連接信息。
本發(fā)明實施例提供的omc北向接口數(shù)據處理裝置,包括:
讀取單元,用于讀取xml文件;
加載單元,用于根據所述xml文件的類型加載配置,所述配置至少包括:標簽類型配置、輸出配置;
模式匹配單元,用于根據所述標簽類型配置,對所述xml文件中的標簽進行模式匹配;
輸出單元,用于根據所述輸出配置,對模式匹配結果進行輸出。
本發(fā)明實施例中,所述裝置還包括:
處理單元,用于針對模式匹配的標簽,確定所述標簽的類型,并根據所述標簽的類型對所述標簽進行處理;
存儲單元,用于將處理后的結果保存至按字段索引的hash數(shù)組中,以進行標準化輸出。
本發(fā)明實施例中,所述加載單元,還用于針對模式匹配的標簽,當所述標簽存在于標簽規(guī)則里時,加載所述標簽的對象屬性,所述對象屬性包括:解析規(guī)則和前綴;
所述裝置還包括:確定單元,用于根據所述解析規(guī)則確定標簽的值,根據是否拆分和添加前綴確定標簽;
存儲單元,用于將所述標簽作為key以及將所述標簽的值作為value,存入hash數(shù)組中。
本發(fā)明實施例中,所述輸出單元,還用于根據所述輸出配置,獲取模式匹配結果對應的輸出字段的對象屬性,所述對象屬性包括:字段類型、字段來源、處理函數(shù);按序輸出所述模式匹配結果對應的輸出字段的對象屬性。
本發(fā)明實施例中,所述裝置還包括:標準版化及加密單元,用于在模式匹配過程中,通過所述輸出字段的處理函數(shù)將結果標準版化,并且通過對北向接口對象里的標準版名次進行加密得到關聯(lián)字符串。
本發(fā)明實施例中,所述裝置還包括:串通單元,用于獲取通道信息;從所述通道的第一端開始,判斷是否需要進行高低階轉換;查詢交叉連接信息,其中,先用低階查詢交叉連接信息,當未查詢到交叉連接信息時再用高階查詢交叉連接信息;當查詢到交叉連接信息時,獲取交叉末端信息;當交叉末端與第二端不匹配時,查詢拓撲信息;當查詢到拓撲信息時,繼續(xù)判斷是否需要進行高低階轉換,并繼續(xù)執(zhí)行查詢交叉連接信息。
本發(fā)明實施例的技術方案中,讀取xml文件,根據所述xml文件的類型加載配置,所述配置至少包括:標簽類型配置、輸出配置;根據所述標簽類型配置,對所述xml文件中的標簽進行模式匹配;根據所述輸出配置,對模式匹配結果進行輸出。本發(fā)明實施例至少具有以下優(yōu)點:1、可靠性:不會因為網管中文亂碼或者特殊漢字,出現(xiàn)文件解析中斷或者文字消失;提高了入網流程進度,和數(shù)據采集及時性,極大的提高了用戶感知。也減少了接口廠家的投訴,減少了補沖接口數(shù)據工作。2、解決id大小限制和跳過大量關聯(lián)匯總:因為網管的各種資源名稱(name)唯一,使用加密后的字符做id,解決了id大小限制,也解決了匯總關聯(lián)刷新,加速匯總過程,統(tǒng)一了匯總腳本。能及時的滿足地市數(shù)據采集需求。3、無依賴性:通道串通不再需要時隙一定存在,自動的進行高階到低階的相互轉換,加速了串通速度。解決了地市人員在電路電路過程中因時隙沒有打散而要等待數(shù)據采集。提高了電路開通的效率和地市人員走流程的信心。4、時效性:為集團系統(tǒng)數(shù)據采集層提供了有利的技術革新,使得資源入網采集效率極大提升,解決了數(shù)據問題導致解析中斷,從而采集數(shù)據延時的問題。因提高了采集解析效率,并且匯總歸一化統(tǒng)一處理,提升了整體的匯總數(shù)度,可靈活的進行增量采集匯總。
附圖說明
圖1為網絡管理的三層架構圖;
圖2為本發(fā)明實施例的omc北向接口數(shù)據處理方法的流程示意;
圖3為本發(fā)明實施例的標簽說明圖;
圖4為本發(fā)明實施例的輸出字段說明圖;
圖5為本發(fā)明實施例的串通的流程示意圖;
圖6為本發(fā)明實施例的omc北向接口數(shù)據處理裝置的結構組成示意圖。
具體實施方式
為了能夠更加詳盡地了解本發(fā)明實施例的特點與技術內容,下面結合附圖對本發(fā)明實施例的實現(xiàn)進行詳細闡述,所附附圖僅供參考說明之用,并非用來限定本發(fā)明實施例。
本發(fā)明實施例提供了一種omc北向接口數(shù)據處理方法,該方法是一種新的解析、刷新、匯總方案,解決了當前技術的相關缺陷,例如,解析中斷問題、中文亂碼及丟失問題、關聯(lián)刷新慢的問題、匯總時間長的問題。
本發(fā)明實施例的技術方案中,通過對標簽的對象化處理,根據模式匹配方式發(fā)現(xiàn)標簽,從而解決亂碼和特殊字符問題,然后對象化標準輸出,通過對關聯(lián)資源字符串的消息摘要算法(md,messagedigestalgorithm)5加密得到關聯(lián)資源,從而使得各個廠家匯總歸一化,極大的加快了匯總速度和id過大問題。并且根據時隙字符串的特殊性,低階字符串包含著高階字符串,自動的進行高低階轉換來進行拓撲串通,解決了時隙過大管理的麻煩,提升了通道串通的成功率和效率。
圖2為本發(fā)明實施例的omc北向接口數(shù)據處理方法的流程示意圖,如圖2所示,所述omc北向接口數(shù)據處理方法包括以下步驟:
步驟201:讀取xml文件,根據所述xml文件的類型加載配置,所述配置至少包括:標簽類型配置、輸出配置。
本發(fā)明實施例中,通過標簽對象化方式統(tǒng)一對xml文件進行解析,解決了亂碼中斷和漢字無故消失的問題。
本發(fā)明實施例中,因包解析需要驗證xml節(jié)點的完整性,當遇到網管亂碼的時候就會檢查不通過,導致解析中斷,另外因為包解析有很多保留字符,當2個半邊中文恰好是保留字的時候,中文就會出現(xiàn)部分消失,因此,本發(fā)明實施例通過模式匹配對xml文件進行解析。
通過模式匹配對xml文件進行解析之前,首先需要讀取xml文件;然后將xml文件中的標簽對象化,即根據所述xml文件的類型加載配置,所述配置至少包括:標簽類型配置、輸出配置。
步驟202:根據所述標簽類型配置,對所述xml文件中的標簽進行模式匹配。
本發(fā)明實施例中,用模式匹配的方式對xml文件進行逐行處理,跳過完整性檢查,只需要對標簽進行模式匹配,解決了中斷和中文消失的問題。
本發(fā)明實施例中,首先加載xml文件,根據xml文件的類型加載配置。xml文件中的標簽說明可參照圖3,標簽含義說明如下:
在上面a標簽的定義中,把每個<>中的標簽進行了定義,對需要拆分和加前綴的標簽也進行了定義。
通過上面的標簽說明,將xml文件中的標簽對象化分類處理,對匹配的標簽首先判斷類型然后進行處理,將處理后的結果都保存在按字段索引的hash數(shù)組中,為標準化輸出做準備。
可見,針對模式匹配的標簽,當所述標簽存在于標簽規(guī)則里時,加載所述標簽的對象屬性,所述對象屬性包括:解析規(guī)則和前綴;
根據所述解析規(guī)則確定標簽的值,根據是否拆分和添加前綴確定標簽;
將所述標簽作為key以及將所述標簽的值作為value,存入hash數(shù)組中。
步驟203:根據所述輸出配置,對模式匹配結果進行輸出。
本發(fā)明實施例中,在輸出數(shù)據的過程中,通過加載輸出字段排序來生成入庫腳本,并且加載輸出字段屬性來說明字段來源。參照圖4,相關字段處理的描述如下:“字段”=>[類型,“字段來源”,“理函數(shù)”];
根據所述輸出配置,獲取模式匹配結果對應的輸出字段的對象屬性,所述對象屬性包括:字段類型、字段來源、處理函數(shù);
按序輸出所述模式匹配結果對應的輸出字段的對象屬性。
本發(fā)明實施例中,在解析過程中,根據數(shù)據塊(datablock)是否為crossconnect來判斷一條記錄是否結束。如果一個dabtablock結束,根據配置對輸出字段獲取相應的對象屬性,包括:字段類型、字段來源、處理函數(shù)。將轉換后的數(shù)據根據輸出排序寫入文件。
本發(fā)明實施例中,通過對輸出的每個字段對象化處理,使得所有的解析只需要進行一個標簽說明和輸出說明就可以進行。對所有廠家的北向接口數(shù)據解析都支持。
本發(fā)明實施例中,在模式匹配過程中,通過所述輸出字段的處理函數(shù)將結果標準版化,并且通過對北向接口對象里的標準版名次進行加密得到關聯(lián)字符串。具體地,通過在模式匹配過程中,對輸出字段對象化處理,通過相關處理函數(shù)將內容標準版化,并且通過對北向接口對象里的標準版名次進行md5加密獲得關聯(lián)字符串,解決id過大和匯總過慢的情況,對歸屬字符串進行md5加密:(ems=zte/1;managedelement=61306134(p);ptp=/rack=0/shelf=1/slot=13/
port=101)得到需要的關聯(lián)字符串。
本發(fā)明實施例通過對數(shù)據字段格式化,統(tǒng)一各個廠家輸出字段;即對每個廠家的同種類型資源統(tǒng)一輸出,統(tǒng)一了匯總腳本。關聯(lián)關系在解析過程中得到,極大加速匯總過程。
此外,本發(fā)明實施例在解析過程中直接保留原始的時隙字符串,在串通的過程中帶著高階和低階時隙進行,串通過程判斷是否高階轉低階或者低階轉高階。串通不依賴時隙表,也加速了串通的速度,串通的主要流程包括:
獲取通道信息;
從所述通道的第一端開始,判斷是否需要進行高低階轉換;
查詢交叉連接信息,其中,先用低階查詢交叉連接信息,當未查詢到交叉連接信息時再用高階查詢交叉連接信息;
當查詢到交叉連接信息時,獲取交叉末端信息;
當交叉末端與第二端不匹配時,查詢拓撲信息;
當查詢到拓撲信息時,繼續(xù)判斷是否需要進行高低階轉換,并繼續(xù)執(zhí)行查詢交叉連接信息。
本發(fā)明實施例中,過標簽對象化方式統(tǒng)一解析,解決亂碼中斷和漢字無故消失的問題。在模式匹配解析過程中,對輸出字段對象化處理,通過相關處理函數(shù)將內容標準版化,并且通過對北向接口對象里的標準版名次進行md5加密獲得關聯(lián)字符串。在解析過程中直接保留原始的時隙字符串,在串通的過程中帶著高階和低階時隙進行,串通過程判斷是否高階轉低階或者低階轉高階。串通不依賴時隙表,加速了串通的速度。
圖5為本發(fā)明實施例的串通的流程示意圖,如圖5所示,所述流程包括:
501:獲取通道信息。
這里,通道信號包括:a網元、a端口、a時隙、z網元、z端口、z時隙。
502:取a端信息。
503:判斷是否需要高低階轉換。
504:查詢交叉連接信息。
這里,先用低階查詢交叉連接信息,查詢不到交叉連接信息換高階查詢交叉連接信息,如果存在交叉連接信息繼續(xù)執(zhí)行步驟505,如果不存在交叉連接信息則退出本流程。
505:獲取交叉末端信息。
這里,如果交叉末端信息與z端不匹配則繼續(xù)執(zhí)行步驟506,如果交叉末端信息和z端匹配則串通成功退出本流程。
506:查詢拓撲信息。
這里,如果查詢到拓撲信息則繼續(xù)執(zhí)行步驟507,如果查詢不到拓撲信息則退出本流程。
507:判斷是否需要高低階轉換,執(zhí)行步驟504。
圖6為本發(fā)明實施例的omc北向接口數(shù)據處理裝置的結構組成示意圖,如圖6所示,所述omc北向接口數(shù)據處理裝置包括:
讀取單元61,用于讀取xml文件;
加載單元62,用于根據所述xml文件的類型加載配置,所述配置至少包括:標簽類型配置、輸出配置;
模式匹配單元63,用于根據所述標簽類型配置,對所述xml文件中的標簽進行模式匹配;
輸出單元64,用于根據所述輸出配置,對模式匹配結果進行輸出。
所述裝置還包括:
處理單元65,用于針對模式匹配的標簽,確定所述標簽的類型,并根據所述標簽的類型對所述標簽進行處理;
存儲單元66,用于將處理后的結果保存至按字段索引的hash數(shù)組中,以進行標準化輸出。
所述加載單元62,還用于針對模式匹配的標簽,當所述標簽存在于標簽規(guī)則里時,加載所述標簽的對象屬性,所述對象屬性包括:解析規(guī)則和前綴;
所述裝置還包括:確定單元67,用于根據所述解析規(guī)則確定標簽的值,根據是否拆分和添加前綴確定標簽;
存儲單元66,用于將所述標簽作為key以及將所述標簽的值作為value,存入hash數(shù)組中。
所述輸出單元64,還用于根據所述輸出配置,獲取模式匹配結果對應的輸出字段的對象屬性,所述對象屬性包括:字段類型、字段來源、處理函數(shù);按序輸出所述模式匹配結果對應的輸出字段的對象屬性。
所述裝置還包括:標準版化及加密單元68,用于在模式匹配過程中,通過所述輸出字段的處理函數(shù)將結果標準版化,并且通過對北向接口對象里的標準版名次進行加密得到關聯(lián)字符串。
所述裝置還包括:串通單元69,用于獲取通道信息;從所述通道的第一端開始,判斷是否需要進行高低階轉換;查詢交叉連接信息,其中,先用低階查詢交叉連接信息,當未查詢到交叉連接信息時再用高階查詢交叉連接信息;當查詢到交叉連接信息時,獲取交叉末端信息;當交叉末端與第二端不匹配時,查詢拓撲信息;當查詢到拓撲信息時,繼續(xù)判斷是否需要進行高低階轉換,并繼續(xù)執(zhí)行查詢交叉連接信息。
本領域技術人員應當理解,圖6所示的omc北向接口數(shù)據處理裝置中的各單元的實現(xiàn)功能可參照前述omc北向接口數(shù)據處理方法的相關描述而理解。圖6所示的omc北向接口數(shù)據處理裝置中的各單元的功能可通過運行于處理器上的程序而實現(xiàn),也可通過具體的邏輯電路而實現(xiàn)。
本發(fā)明實施例所記載的技術方案之間,在不沖突的情況下,可以任意組合。
在本發(fā)明所提供的幾個實施例中,應該理解到,所揭露的方法和智能設備,可以通過其它的方式實現(xiàn)。以上所描述的設備實施例僅僅是示意性的,例如,所述單元的劃分,僅僅為一種邏輯功能劃分,實際實現(xiàn)時可以有另外的劃分方式,如:多個單元或組件可以結合,或可以集成到另一個系統(tǒng),或一些特征可以忽略,或不執(zhí)行。另外,所顯示或討論的各組成部分相互之間的耦合、或直接耦合、或通信連接可以是通過一些接口,設備或單元的間接耦合或通信連接,可以是電性的、機械的或其它形式的。
上述作為分離部件說明的單元可以是、或也可以不是物理上分開的,作為單元顯示的部件可以是、或也可以不是物理單元,即可以位于一個地方,也可以分布到多個網絡單元上;可以根據實際的需要選擇其中的部分或全部單元來實現(xiàn)本實施例方案的目的。
另外,在本發(fā)明各實施例中的各功能單元可以全部集成在一個第二處理單元中,也可以是各單元分別單獨作為一個單元,也可以兩個或兩個以上單元集成在一個單元中;上述集成的單元既可以采用硬件的形式實現(xiàn),也可以采用硬件加軟件功能單元的形式實現(xiàn)。
以上所述,僅為本發(fā)明的具體實施方式,但本發(fā)明的保護范圍并不局限于此,任何熟悉本技術領域的技術人員在本發(fā)明揭露的技術范圍內,可輕易想到變化或替換,都應涵蓋在本發(fā)明的保護范圍之內。