專利名稱:一種數(shù)據(jù)解析方法和數(shù)據(jù)解析系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及電信行業(yè)的數(shù)據(jù)預(yù)處理技術(shù)領(lǐng)域,特別是涉及一種數(shù)據(jù)解析方法和數(shù)據(jù)解析系統(tǒng)。
背景技術(shù):
隨著電信行業(yè)不斷發(fā)展,數(shù)據(jù)量爆炸式增長,出現(xiàn)了各種復(fù)雜的數(shù)據(jù)存儲方式,對這些多樣的數(shù)據(jù)的解析處理變的越來越復(fù)雜,要求處理解析數(shù)據(jù)時越來越靈活和快速支撐。針對現(xiàn)有數(shù)據(jù)解析方式進(jìn)行歸納總結(jié),存在解析規(guī)則復(fù)用程度不高,可配置程度低,處理解析數(shù)據(jù)不靈活等缺陷,因此抽象出基礎(chǔ)的數(shù)據(jù)解析方式,作為數(shù)據(jù)方式積累,提供解析方式集合,并方便靈活快速的新增新的解析方式。
發(fā)明內(nèi)容
本發(fā)明所要解決的技術(shù)問題是提供一種數(shù)據(jù)解析方法和數(shù)據(jù)解析系統(tǒng),用于解決現(xiàn)有技術(shù)中數(shù)據(jù)解析規(guī)則復(fù)用度不高、可配置程度低、處理不靈活等問題。本發(fā)明解決上述技術(shù)問題的技術(shù)方案如下一種數(shù)據(jù)解析方法,包括步驟I,根據(jù)數(shù)據(jù)的存儲規(guī)則,為每一個數(shù)據(jù)定義一個用于解析處理數(shù)據(jù)的基礎(chǔ)解析函數(shù);步驟2,為每一個基礎(chǔ)解析函數(shù)定義一個數(shù)據(jù)解析標(biāo)識符;步驟3,建立相對應(yīng)的數(shù)據(jù)解析標(biāo)識符與基礎(chǔ)解析函數(shù)的映射關(guān)系;步驟4,以動態(tài)鏈接庫的方式組織每一個數(shù)據(jù)相對應(yīng)的基礎(chǔ)解析函數(shù)、數(shù)據(jù)解析標(biāo)識符及映射關(guān)系;步驟5,根據(jù)步驟2定義的數(shù)據(jù)解析標(biāo)識符以及步驟4建立好的數(shù)據(jù)解析標(biāo)識符與基礎(chǔ)解析函數(shù)的映射關(guān)系,配置數(shù)據(jù)解析所需要的數(shù)據(jù)解析標(biāo)識符,并根據(jù)配置的數(shù)據(jù)解析標(biāo)識符信息調(diào)用基礎(chǔ)解析函數(shù),完成對數(shù)據(jù)的解析。在上述技術(shù)方案的基礎(chǔ)上,本發(fā)明還可以做如下改進(jìn)。進(jìn)一步,執(zhí)行所述步驟I之前,還包括若數(shù)據(jù)已經(jīng)有相應(yīng)的基礎(chǔ)解析函數(shù),則直接執(zhí)行步驟5。進(jìn)一步,所述步驟I還包括若一個數(shù)據(jù)對應(yīng)有多個存儲規(guī)則,則對其每一個存儲規(guī)則均定義相應(yīng)的基礎(chǔ)解析函數(shù)。進(jìn)一步,所述步驟2還包括若基礎(chǔ)解析函數(shù)已經(jīng)存在數(shù)據(jù)解析標(biāo)識符,剛直接執(zhí)行步驟5。進(jìn)一步,所述步驟5中配置數(shù)據(jù)解析所需要的數(shù)據(jù)解析標(biāo)識符包括將配置的數(shù)據(jù)解析標(biāo)識符信息寫入所述基礎(chǔ)解析函數(shù)的配置模板中,并且配置標(biāo)識符一旦定義好后,是可以作為一種基礎(chǔ)解析方法靈活重復(fù)配置使用的,即定義一次后,以后一旦需要使用該解析標(biāo)識對應(yīng)的解析函數(shù),就可以不需要再定義,只要將解析標(biāo)識符配置入解析函數(shù)配置模板即可。進(jìn)一步,所述步驟5中配置數(shù)據(jù)解析所需要的數(shù)據(jù)解析標(biāo)識符包括對每一個數(shù)據(jù)配置一個編碼標(biāo)簽值。進(jìn)一步,所述數(shù)據(jù)解析方法中能通過數(shù)據(jù)解析標(biāo)識符將其對應(yīng)的基礎(chǔ)解析函數(shù)調(diào)用至任意位置。一種數(shù)據(jù)解析系統(tǒng),包括解析函數(shù)定義模塊,其用于根據(jù)數(shù)據(jù)的存儲規(guī)則,為每一個數(shù)據(jù)定義一個用于解析處理數(shù)據(jù)的基礎(chǔ)解析函數(shù);解析標(biāo)識符定義模塊,其用于為所述解析函數(shù)定義模塊中的每一個基礎(chǔ)解析函數(shù)定義一個數(shù)據(jù)解析標(biāo)識符;映射關(guān)系建立模塊,其用于建立相對應(yīng)的數(shù)據(jù)解析標(biāo)識符與基礎(chǔ)解析函數(shù)的映射關(guān)系;鏈接模塊,其用于以動態(tài)鏈接庫的方式組織每一個數(shù)據(jù)相對應(yīng)的基礎(chǔ)解析函數(shù)、數(shù)據(jù)解析標(biāo)識符及映射關(guān)系;信息配制模塊,其用于配置數(shù)據(jù)解析標(biāo)識符;數(shù)據(jù)解析模塊,其用于根據(jù)所述信息配置模塊配置的數(shù)據(jù)解析標(biāo)識符信息調(diào)用基礎(chǔ)解析函數(shù),完成對數(shù)據(jù)的解析。本發(fā)明的有益效果是本發(fā)明能實現(xiàn)對復(fù)雜多樣的電信海量數(shù)據(jù)的快速靈活的解析,通過簡單配置快速支撐并且可復(fù)用,使得程序有很高的靈活性。
圖1為本發(fā)明所述數(shù)據(jù)解析方法的流程示意圖;圖2為本發(fā)明所述數(shù)據(jù)解析系統(tǒng)的結(jié)構(gòu)示意圖。
具體實施例方式以下結(jié)合附圖對本發(fā)明的原理和特征進(jìn)行描述,所舉實例只用于解釋本發(fā)明,并非用于限定本發(fā)明的范圍。如圖1所示,實施例一是一種數(shù)據(jù)解析方法,包括步驟I,根據(jù)數(shù)據(jù)的存儲規(guī)則,為每一個數(shù)據(jù)定義一個用于解析處理數(shù)據(jù)的基礎(chǔ)解析函數(shù)。若一個數(shù)據(jù)對應(yīng)有多個存儲規(guī)則,則對其每一個存儲規(guī)則均定義相應(yīng)的基礎(chǔ)解析函數(shù)。步驟2,為每一個基礎(chǔ)解析函數(shù)定義一個數(shù)據(jù)解析標(biāo)識符。對于步驟I和步驟2,若數(shù)據(jù)已經(jīng)有相應(yīng)的基礎(chǔ)解析函數(shù),則直接執(zhí)行步驟5 ;若基礎(chǔ)解析函數(shù)已經(jīng)存在數(shù)據(jù)解析標(biāo)識符,剛直接執(zhí)行步驟5。步驟3,建立相對應(yīng)的數(shù)據(jù)解析標(biāo)識符與基礎(chǔ)解析函數(shù)的映射關(guān)系;步驟4,以動態(tài)鏈接庫的方式組織每一個數(shù)據(jù)相對應(yīng)的基礎(chǔ)解析函數(shù)、數(shù)據(jù)解析標(biāo)識符及映射關(guān)系;步驟5,根據(jù)步驟2定義的數(shù)據(jù)解析標(biāo)識符以及步驟4建立好的數(shù)據(jù)解析標(biāo)識符與基礎(chǔ)解析函數(shù)的映射關(guān)系,配置數(shù)據(jù)解析所需要的數(shù)據(jù)解析標(biāo)識符,并根據(jù)配置的數(shù)據(jù)解析標(biāo)識符信息調(diào)用基礎(chǔ)解析函數(shù),完成對數(shù)據(jù)的解析。這里,配置數(shù)據(jù)解析標(biāo)識符具體包括將將配置的數(shù)據(jù)解析標(biāo)識符信息寫入所述基礎(chǔ)解析函數(shù)的配置模板中,并且配置標(biāo)識符一旦定義好后,是可以作為一種基礎(chǔ)解析方法靈活重復(fù)配置使用的,即定義一次后,以后一旦需要使用該解析標(biāo)識對應(yīng)的解析函數(shù),就可以不需要再定義,只要將解析標(biāo)識符配置入解析函數(shù)配置模板即可。所述數(shù)據(jù)解析方法中能通過數(shù)據(jù)解析標(biāo)識符將其對應(yīng)的基礎(chǔ)解析函數(shù)調(diào)用至任意位置另外,在配置數(shù)據(jù)解析標(biāo)識符之前對每一個數(shù)據(jù)配置一個編碼標(biāo)簽值。實施例一還根據(jù)上述方法建立了一種相對應(yīng)的數(shù)據(jù)解析系統(tǒng),包括解析函數(shù)定義模塊,其用于根據(jù)數(shù)據(jù)的存儲規(guī)則,為每一個數(shù)據(jù)定義一個用于解析處理數(shù)據(jù)的基礎(chǔ)解析函數(shù);解析標(biāo)識符定義模塊,其用于為所述解析函數(shù)定義模塊中的每一個基礎(chǔ)解析函數(shù)定義一個數(shù)據(jù)解析標(biāo)識符;映射關(guān)系建立模塊,其用于建立相對應(yīng)的數(shù)據(jù)解析標(biāo)識符與基礎(chǔ)解析函數(shù)的映射關(guān)系;鏈接模塊,其用于以動態(tài)鏈接庫的方式組織每一個數(shù)據(jù)相對應(yīng)的基礎(chǔ)解析函數(shù)、數(shù)據(jù)解析標(biāo)識符及映射關(guān)系;信息配制模塊,其用于配置數(shù)據(jù)解析標(biāo)識符;數(shù)據(jù)解析模塊,其用于根據(jù)所述信息配置模塊配置的數(shù)據(jù)解析標(biāo)識符信息調(diào)用基礎(chǔ)解析函數(shù),完成對數(shù)據(jù)的解析。實施例二 采用本發(fā)明的數(shù)據(jù)解析方法和數(shù)據(jù)解析系統(tǒng)將二進(jìn)制字符串解析成ascii碼字符串,如將二進(jìn)制的10101011解析成字符串〃AB〃。第一步定義基礎(chǔ)解析函數(shù)readAsHex,通過輸入?yún)?shù)可以將二進(jìn)制數(shù)據(jù)解析成ASCII碼數(shù)據(jù)。第二步定義數(shù)據(jù)字段名稱servedMsisdn。第三步配置數(shù)據(jù)編碼標(biāo)簽值9D。第四步配置數(shù)據(jù)解析函數(shù)標(biāo)識decode_func:readAsHex。第五步根據(jù)配置的數(shù)據(jù)解析函數(shù)標(biāo)識,通過動態(tài)鏈接庫的方式調(diào)用基礎(chǔ)解析函數(shù),將數(shù)據(jù)中標(biāo)簽值為9D的數(shù)據(jù)內(nèi)容10101011解析到結(jié)果AB輸出到字段名稱為msisdn的字段中,并且以ASCII碼的方式存儲;具體的解析配置方式如下〈field init_field_name = 〃 servedMsisdn 〃tag = 〃9D〃decode_func=〃readAsHex〃field—name=〃msisdn〃/>以上所述僅為本發(fā)明的較佳實施例,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
權(quán)利要求
1.一種數(shù)據(jù)解析方法,其特征在于,包括步驟I,根據(jù)數(shù)據(jù)的存儲規(guī)則,為每一個數(shù)據(jù)定義一個用于解析處理數(shù)據(jù)的基礎(chǔ)解析函數(shù);步驟2,為每一個基礎(chǔ)解析函數(shù)定義一個數(shù)據(jù)解析標(biāo)識符;步驟3,建立相互對應(yīng)的數(shù)據(jù)解析標(biāo)識符與基礎(chǔ)解析函數(shù)的映射關(guān)系;步驟4,以動態(tài)鏈接庫的方式組織每一個數(shù)據(jù)相對應(yīng)的基礎(chǔ)解析函數(shù)、數(shù)據(jù)解析標(biāo)識符及映射關(guān)系;步驟5,根據(jù)步驟2定義的數(shù)據(jù)解析標(biāo)識符以及步驟4建立好的數(shù)據(jù)解析標(biāo)識符與基礎(chǔ)解析函數(shù)的映射關(guān)系,配置數(shù)據(jù)解析所需要的數(shù)據(jù)解析標(biāo)識符,并根據(jù)配置的數(shù)據(jù)解析標(biāo)識符信息調(diào)用基礎(chǔ)解析函數(shù),完成對數(shù)據(jù)的解析。
2.根據(jù)權(quán)利要求1所述的數(shù)據(jù)解析方法,其特征在于,執(zhí)行所述步驟I之前,還包括 若數(shù)據(jù)已經(jīng)有相應(yīng)的基礎(chǔ)解析函數(shù),則直接執(zhí)行步驟5。
3.根據(jù)權(quán)利要求1所述的數(shù)據(jù)解析方法,其特征在于,所述步驟I還包括若一個數(shù)據(jù)對應(yīng)有多個存儲規(guī)則,則對其每一個存儲規(guī)則均定義相應(yīng)的基礎(chǔ)解析函數(shù)。
4.根據(jù)權(quán)利要求1所述的數(shù)據(jù)解析方法,其特征在于,所述步驟2還包括若基礎(chǔ)解析函數(shù)已經(jīng)存在數(shù)據(jù)解析標(biāo)識符,剛直接執(zhí)行步驟5。
5.根據(jù)權(quán)利要求1所述的數(shù)據(jù)解析方法,其特征在于,所述步驟5中配置數(shù)據(jù)解析所需要的數(shù)據(jù)解析標(biāo)識符包括將配置的數(shù)據(jù)解析標(biāo)識符信息寫入所述基礎(chǔ)解析函數(shù)的配置模板中。
6.根據(jù)權(quán)利要求1所述的數(shù)據(jù)解析方法,其特征在于,所述步驟5中配置數(shù)據(jù)解析所需要的數(shù)據(jù)解析標(biāo)識符之前還包括對每一個數(shù)據(jù)配置一個編碼標(biāo)簽值。
7.根據(jù)權(quán)利要求1所述的數(shù)據(jù)解析方法,其特征在于,所述數(shù)據(jù)解析方法中能通過數(shù)據(jù)解析標(biāo)識符將其對應(yīng)的基礎(chǔ)解析函數(shù)調(diào)用至任意位置。
8.一種數(shù)據(jù)解析系統(tǒng),其特征在于,包括解析函數(shù)定義模塊,其用于根據(jù)數(shù)據(jù)的存儲規(guī)則,為每一個數(shù)據(jù)定義一個用于解析處理數(shù)據(jù)的基礎(chǔ)解析函數(shù);解析標(biāo)識符定義模塊,其用于為所述解析函數(shù)定義模塊中的每一個基礎(chǔ)解析函數(shù)定義一個數(shù)據(jù)解析標(biāo)識符;映射關(guān)系建立模塊,其用于建立相對應(yīng)的數(shù)據(jù)解析標(biāo)識符與基礎(chǔ)解析函數(shù)的映射關(guān)鏈接模塊,其用于以動態(tài)鏈接庫的方式組織每一個數(shù)據(jù)相對應(yīng)的基礎(chǔ)解析函數(shù)、數(shù)據(jù)解析標(biāo)識符及映射關(guān)系;信息配制模塊,其用于配置數(shù)據(jù)解析所需要的數(shù)據(jù)解析標(biāo)識符;數(shù)據(jù)解析模塊,其用于根據(jù)所述信息配置模塊配置的數(shù)據(jù)解析標(biāo)識符信息調(diào)用基礎(chǔ)解析函數(shù),完成對數(shù)據(jù)的解析。
全文摘要
本發(fā)明涉及一種數(shù)據(jù)解析方法,包括步驟1,根據(jù)數(shù)據(jù)的存儲規(guī)則,為每一個數(shù)據(jù)定義一個用于解析處理數(shù)據(jù)的基礎(chǔ)解析函數(shù);步驟2,為每一個基礎(chǔ)解析函數(shù)定義一個數(shù)據(jù)解析標(biāo)識符;步驟3,建立相互對應(yīng)的數(shù)據(jù)解析標(biāo)識符與基礎(chǔ)解析函數(shù)的映射關(guān)系;步驟4,以動態(tài)鏈接庫的方式組織每一個數(shù)據(jù)相對應(yīng)的基礎(chǔ)解析函數(shù)、數(shù)據(jù)解析標(biāo)識符及映射關(guān)系;步驟5,根據(jù)數(shù)據(jù)解析標(biāo)識以及解析標(biāo)識與基礎(chǔ)解析函數(shù)的映射關(guān)系,配置數(shù)據(jù)解析所需要的數(shù)據(jù)解析標(biāo)識符,并根據(jù)配置的數(shù)據(jù)解析標(biāo)識符信息調(diào)用基礎(chǔ)解析函數(shù),完成對數(shù)據(jù)的解析。本發(fā)明能實現(xiàn)對復(fù)雜多樣的電信海量數(shù)據(jù)的快速靈活的解析,通過簡單配置快速支撐并且可復(fù)用,使得程序有很高的靈活性。
文檔編號G06F17/30GK102999602SQ20121047268
公開日2013年3月27日 申請日期2012年11月20日 優(yōu)先權(quán)日2012年11月20日
發(fā)明者劉勝騰 申請人:北京思特奇信息技術(shù)股份有限公司