一種面向協(xié)議數(shù)據(jù)流的數(shù)據(jù)抽取方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明屬于數(shù)據(jù)倉庫技術(shù)領(lǐng)域,更具體地,涉及一種面向協(xié)議數(shù)據(jù)流的數(shù)據(jù)抽取 方法。
【背景技術(shù)】
[0002] 近年來,隨著物聯(lián)網(wǎng)、云計算、大數(shù)據(jù)等技術(shù)的快速發(fā)展,相關(guān)的工業(yè)設(shè)備向著智 能化的方向邁進,使得工業(yè)信息化的發(fā)展進程不斷地加快。通過將全球的工業(yè)系統(tǒng)與先進 計算、數(shù)據(jù)分析工具、低成本的傳感設(shè)備和更高聯(lián)網(wǎng)水平的高度融合,將重構(gòu)全球工業(yè),提 高生產(chǎn)效率,工業(yè)的創(chuàng)新和變革正在展開?;ヂ?lián)網(wǎng)技術(shù)和工業(yè)技術(shù)的深度融合將深刻地改 變?nèi)藗兊纳罘绞?,讓世界更快速、更安全、更清潔并且更?jīng)濟,必將由此引發(fā)全球范圍內(nèi) 的再一次的技術(shù)革命,美國著名公司GE將此次技術(shù)革命稱之為"工業(yè)互聯(lián)網(wǎng)革命",即是由 工業(yè)互聯(lián)網(wǎng)技術(shù)而引發(fā)的生產(chǎn)力革命。而工業(yè)互聯(lián)網(wǎng)技術(shù)能廣泛應(yīng)用的基礎(chǔ)即要解決能將 海量分布的智能工業(yè)設(shè)備中的實時數(shù)據(jù)快速高效地集成到數(shù)據(jù)倉庫中。
[0003] 智能工業(yè)設(shè)備的智能性即在于設(shè)備的行為能夠通過軟件程序快速靈活地定制設(shè) 計,例如改變交互過程,協(xié)議數(shù)據(jù)參數(shù)或者是應(yīng)用層的數(shù)據(jù)通信協(xié)議,并且要求數(shù)據(jù)采集系 統(tǒng)要能夠同樣快速及時地響應(yīng)這種變化。傳統(tǒng)的數(shù)據(jù)采集技術(shù)通過二次開發(fā)的方式,也能 適應(yīng)這種變化,但是往往開發(fā)周期很長,無法從根本上滿足及時快速響應(yīng)的要求。具體來 講,在對于工業(yè)互聯(lián)網(wǎng)系統(tǒng)更加智能化和信息化的系統(tǒng)而言,傳統(tǒng)的數(shù)據(jù)采集技術(shù)在通用 性、擴展性以及靈活性方面存在著明顯的不足。
[0004] 智能設(shè)備對數(shù)據(jù)采集系統(tǒng)的挑戰(zhàn)最根本地在于智能設(shè)備能夠更靈活地選擇各種 應(yīng)用層的數(shù)據(jù)通信協(xié)議,構(gòu)建全球工業(yè)系統(tǒng)統(tǒng)一標(biāo)準(zhǔn)的數(shù)據(jù)通信協(xié)議在短期內(nèi)是不可能實 現(xiàn)的,長遠(yuǎn)來看也會面臨很多困難,而傳統(tǒng)的數(shù)據(jù)采集技術(shù)無法從根本上解決上述技術(shù)問 題。
【發(fā)明內(nèi)容】
[0005] 針對現(xiàn)有技術(shù)的以上缺陷或改進需求,本發(fā)明提供一種面向協(xié)議數(shù)據(jù)流的數(shù)據(jù)抽 取方法,既滿足當(dāng)前對協(xié)議數(shù)據(jù)流的數(shù)據(jù)抽取要求,又保證了數(shù)據(jù)抽取的通用性、靈活性以 及可擴展性。
[0006] 本發(fā)明提供一種面向協(xié)議數(shù)據(jù)流的數(shù)據(jù)抽取方法,包括以下步驟:
[0007] 步驟1建立針對工業(yè)通信協(xié)議的數(shù)據(jù)抽取規(guī)則,所述數(shù)據(jù)抽取規(guī)則包括參數(shù)解析 規(guī)則和模式信息規(guī)則,分別保存于參數(shù)解析規(guī)則文件和模式信息規(guī)則文件,其中,所述參數(shù) 解析規(guī)則文件用于描述數(shù)據(jù)幀的類型與結(jié)構(gòu),所述模式信息規(guī)則文件用于描述數(shù)據(jù)轉(zhuǎn)換與 處理規(guī)則;
[0008] 步驟2讀取所述參數(shù)解析規(guī)則文件,將其中所描述的不同解析節(jié)點實例化成具體 的對象,生成由實例對象構(gòu)成的數(shù)據(jù)解析樹;讀取所述模式信息規(guī)則文件,生成數(shù)據(jù)模式映 射表;
[0009] 步驟3從協(xié)議數(shù)據(jù)流中接收數(shù)據(jù)幀,并利用所述數(shù)據(jù)解析樹從所述數(shù)據(jù)幀中提取 出關(guān)于數(shù)據(jù)項內(nèi)容的描述性信息,以獲取抽取數(shù)據(jù)項所需要的解析參數(shù);
[0010] 步驟4利用所述解析參數(shù)以及所述數(shù)據(jù)模式映射表,確定所述數(shù)據(jù)幀中數(shù)據(jù)域的 模式信息,其中,所述模式信息包括所述數(shù)據(jù)域的結(jié)構(gòu)、格式和類型;
[0011] 步驟5根據(jù)所述解析參數(shù)以及所述模式信息,利用有限狀態(tài)機實現(xiàn)對所述數(shù)據(jù)幀 中數(shù)據(jù)項的抽取,并將抽取的數(shù)據(jù)項轉(zhuǎn)換成結(jié)構(gòu)化的數(shù)據(jù)保存。
[0012] 總體而言,通過本發(fā)明所構(gòu)思的以上技術(shù)方案與現(xiàn)有技術(shù)相比,具有以下有益效 果:
[0013] 本方法通過對現(xiàn)有工業(yè)中數(shù)據(jù)幀的共同特點,定義了數(shù)據(jù)幀的公共模型及其描述 方法與參數(shù),并允許相關(guān)領(lǐng)域的設(shè)計開發(fā)人員基于該模型對新的數(shù)據(jù)協(xié)議進行配置建模, 而無需重新設(shè)計開發(fā)協(xié)議軟件,最終實現(xiàn)數(shù)據(jù)幀的解析與數(shù)據(jù)抽取的目的。面向協(xié)議數(shù)據(jù) 流的數(shù)據(jù)抽取方法可以對各種類型的協(xié)議數(shù)據(jù)幀的數(shù)據(jù)實現(xiàn)有效而準(zhǔn)確地抽取,更能保證 數(shù)據(jù)抽取的擴展性、通用性以及靈活性,即在協(xié)議改變的情況下該方法也能適用,顯著提高 了在工業(yè)領(lǐng)域中對二進制的數(shù)據(jù)幀數(shù)據(jù)抽取的普適性
【附圖說明】
[0014] 圖1為本發(fā)明實施例數(shù)據(jù)抽取的過程示意圖;
[0015] 圖2為本發(fā)明實施例樹形解析節(jié)點的示意圖;
[0016] 圖3為本發(fā)明實施例數(shù)據(jù)解析樹和數(shù)據(jù)模式映射表生成的過程示意圖;
[0017] 圖4為本發(fā)明實施例數(shù)據(jù)模式的結(jié)構(gòu)示意圖;
[0018] 圖5為本發(fā)明實施例基于樹形結(jié)構(gòu)的參數(shù)解析的過程示意圖;
[0019] 圖6為本發(fā)明實施例基于有限狀態(tài)機的數(shù)據(jù)項提取和結(jié)構(gòu)化生成的過程示意圖。
【具體實施方式】
[0020] 為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點更加清楚明白,以下結(jié)合附圖及實施例,對 本發(fā)明進行進一步詳細(xì)說明。應(yīng)當(dāng)理解,此處所描述的具體實施例僅僅用以解釋本發(fā)明,并 不用于限定本發(fā)明。此外,下面所描述的本發(fā)明各個實施方式中所涉及到的技術(shù)特征只要 彼此之間未構(gòu)成沖突就可以相互組合。
[0021] 本發(fā)明包括以下三個部分:提取描述性信息,以獲取抽取數(shù)據(jù)項所需要的解析參 數(shù),為數(shù)據(jù)域中數(shù)據(jù)的抽取做準(zhǔn)備;利用上階段所獲取的解析參數(shù),確定數(shù)據(jù)幀中數(shù)據(jù)域的 模式信息,數(shù)據(jù)域的模式信息主要了包括數(shù)據(jù)域的結(jié)構(gòu)、格式和類型;根據(jù)解析參數(shù)和數(shù)據(jù) 域的模式信息,實現(xiàn)對數(shù)據(jù)項的抽取,并轉(zhuǎn)換成結(jié)構(gòu)化的數(shù)據(jù)保存。
[0022] 圖1所示為本發(fā)明實施例中數(shù)據(jù)抽取的過程示意圖,具體包括以下步驟:
[0023] 步驟1建立針對實際應(yīng)用工業(yè)通信協(xié)議的數(shù)據(jù)抽取規(guī)則,包括參數(shù)解析規(guī)則和模 式信息規(guī)則,該兩類規(guī)則分別保存于參數(shù)解析規(guī)則文件和模式信息規(guī)則文件。其中,參數(shù)解 析規(guī)則文件主要用于描述數(shù)據(jù)協(xié)議的數(shù)據(jù)幀的類型與結(jié)構(gòu),例如某一種類型的數(shù)據(jù)幀包含 什么數(shù)據(jù)內(nèi)容,偏移地址、長度等信息;模式信息規(guī)則文件主要用于描述數(shù)據(jù)轉(zhuǎn)換與處理規(guī) 貝1J,包括原子參數(shù)處理規(guī)則和組合參數(shù)處理規(guī)則,并包含了轉(zhuǎn)換與處理函數(shù)名及相關(guān)參數(shù)。
[0024] 步驟2讀取參數(shù)解析規(guī)則文件,將該參數(shù)解析規(guī)則文件中所描述的不同節(jié)點實例 化成具體的對象,在內(nèi)存中構(gòu)建由實例對象構(gòu)成的數(shù)據(jù)解析樹;讀取模式信息規(guī)則文件,在 內(nèi)存中構(gòu)建數(shù)據(jù)模式映射表。
[0025] 步驟3從協(xié)議數(shù)據(jù)流中接收數(shù)據(jù)幀,并利用數(shù)據(jù)解析樹從數(shù)據(jù)幀中提取出關(guān)于數(shù) 據(jù)項內(nèi)容的描述性信息,獲取抽取數(shù)據(jù)項所需要的解析參數(shù),為數(shù)據(jù)域中數(shù)據(jù)內(nèi)容的抽取 做準(zhǔn)備。其中,協(xié)議數(shù)據(jù)流是指按照步驟1中提及的工業(yè)通信協(xié)議建立的數(shù)據(jù)通信通道,數(shù) 據(jù)幀為數(shù)據(jù)通信的基本單元。
[0026] 步驟4利用步驟3所獲取的解析參數(shù)以及步驟2生成的數(shù)據(jù)模式映射表,確定該 數(shù)據(jù)幀中用于保存待抽取數(shù)據(jù)的數(shù)據(jù)域的模式信息,其中,數(shù)據(jù)域的模式信息主要包括數(shù) 據(jù)域的結(jié)構(gòu)、格式和類型。
[0027] 步驟5根據(jù)步驟3獲取的解析參數(shù)以及步驟4獲取的數(shù)據(jù)域的模式信息,利用有 限狀態(tài)機實現(xiàn)對數(shù)據(jù)幀中的數(shù)據(jù)項的抽取,并將抽取的數(shù)據(jù)項轉(zhuǎn)換成結(jié)構(gòu)化的數(shù)據(jù)保存。
[0028] 本發(fā)明數(shù)據(jù)抽取方法的關(guān)鍵在于數(shù)據(jù)抽取規(guī)則,其中數(shù)據(jù)抽取規(guī)則的參數(shù)解析規(guī) 則和模式信息規(guī)則由相應(yīng)配置文件信息生成。在本發(fā)明實施例中,通過XML格式對參數(shù)解 析規(guī)則文件和模式信息規(guī)則文件進行內(nèi)容管理。
[0029] 下面將分別介紹參數(shù)解析規(guī)則文件和模式信息規(guī)則文件的格式。
[0030] 在本發(fā)明實施例中,參數(shù)解析規(guī)則文件將通過如下單個解析節(jié)點的配置示例以說 明:
[0031]
【主權(quán)項】
1. 一種面向協(xié)議數(shù)據(jù)流的數(shù)據(jù)抽取方法,其特征在于,包括: 步驟1建立針對工業(yè)通信協(xié)議的數(shù)據(jù)抽取規(guī)則,所述數(shù)據(jù)抽取規(guī)則包括參數(shù)解析規(guī)則 和模式信息規(guī)則,分別保存于參數(shù)解析規(guī)則文件和模式信息規(guī)則文件,其中,所述參數(shù)解析 規(guī)則文件用于描述數(shù)據(jù)幀的類型與結(jié)構(gòu),所述模式信息規(guī)則文件用于描述數(shù)據(jù)轉(zhuǎn)換與處理 規(guī)則; 步驟2讀取所述參數(shù)解析規(guī)則文件,將其中所描述的不同解析節(jié)點實例化成具體的對 象,生成由實例對象構(gòu)成的數(shù)據(jù)解析樹;讀取所述模式信息規(guī)則文件,生成數(shù)據(jù)模式映射 表; 步驟3從協(xié)議數(shù)據(jù)流中接收數(shù)據(jù)幀,并利用所述數(shù)據(jù)解析樹從所述數(shù)據(jù)幀中提取出關(guān) 于數(shù)據(jù)項內(nèi)容的描述性信息,以獲取抽取數(shù)據(jù)項所需要的解析參數(shù); 步驟4利用所述解析參數(shù)以及所述數(shù)據(jù)模式映射表,確定所述數(shù)據(jù)幀中數(shù)據(jù)域的模式 信息,其中,所述模式信息包括所述數(shù)據(jù)域的結(jié)構(gòu)、格式和類型; 步驟5根據(jù)所述解析參數(shù)以及所述模式信息,利用有限狀態(tài)機實現(xiàn)對所述數(shù)據(jù)幀中數(shù) 據(jù)項的抽取,并將抽取的數(shù)據(jù)項轉(zhuǎn)換成結(jié)構(gòu)化的數(shù)據(jù)保存。
2. 如權(quán)利要求1所述的方法,其特征在于,所述參數(shù)解析規(guī)則分為原子參數(shù)解析結(jié)構(gòu) 以及組合參數(shù)解析結(jié)構(gòu),其中,所述原子參數(shù)解析結(jié)構(gòu)包含六個主要屬性,采用六元組來描 述:In=〈Ad,Be,L,D,Rn,DT>,其中In表示原子參數(shù)解析結(jié)構(gòu),Ad表示位置分布類型,Be 表示語義單元起始地址,L表示原子語義單元的長度,D表示與源數(shù)據(jù)實現(xiàn)邏輯與的操作 數(shù),Rn表示需要右偏移位數(shù),DT表示目標(biāo)數(shù)據(jù)格式;所述組合參數(shù)解析結(jié)構(gòu)包含兩個主要 屬性,采用二元組來描述:InS= <G,Lin>,其中InS表示組合參數(shù)解析結(jié)構(gòu),G表示組合規(guī) 貝1J,即通過G將多個原子信息單元組合成有實際意義的信息單元,Lin表示參數(shù)解析集,包 含了多個原子參數(shù)解析結(jié)構(gòu)In。
3. 如權(quán)利要求1所述的方法,其特征在于,所述解析節(jié)點選擇方式分為基于特征字選 擇方式和基于令牌選擇方式,其中: 所述基于特征字選擇方式包含一個哈希映射表用于特征字的快速查詢,該哈希映射表 包含了所有解析節(jié)點特征字的哈希表,可用二元組(key,value)表示,其中key對應(yīng)解析節(jié) 點的特征字,value為key對應(yīng)的解析節(jié)點的名稱; 所述基于令牌選擇方式包含一個模式信息鏈表,所述模式信息鏈表中的每個解析節(jié)點 由三部分組成:邏輯算子,通過所述邏輯算子