新四季網

一種分層模塊化的數據採集方法與裝置與流程

2023-06-06 00:33:16 1


本發明屬於網際網路技術領域,更具體地,涉及一種分層模塊化的數據採集方法與裝置。



背景技術:

傳統的數據採集方法針對每個具體業務、數據源、數據發送目標,需要開發一套數據採集程序。當具體業務場景變化時,往往意味著需要修改現有代碼來增加新功能。過此方式運行有以下缺點:修改現有代碼意味著有可能導致修改之後應用程式出現BUG;代碼不斷增加越來越臃腫,不方便維護。



技術實現要素:

針對現有技術的以上缺陷或改進需求,本發明提供了一種分層模塊化的數據採集方法與裝置,其目的在於將數據採集過程階段化和模塊化,從而能夠將數據採集的各個階段獨立開來,由此解決現有技術中系統設計複雜,開發難度大及調試不便的技術問題。

為實現上述目的,按照本發明的一個方面,提供了一種分層模塊化的數據採集方法,包括:

收集原始數據信息,並將原始數據信息轉換成字符串類型;

根據設定的提取規則對上述字符串類型的原始數據信息進行數據提取,得到包含有與預設數據欄位對應的數據欄位信息的數據數組;

根據預設的輸出格式及輸出規則將上述數據數組輸出。

本發明的一個實施例中,所述根據設定的提取規則對上述字符串類型的原始數據信息進行數據提取,具體為:

使用正則表達式對字符串類型的原始數據信息進行數據匹配,得到與預設數據欄位對應的數據欄位信息,並將得到的數據欄位信息存儲到包含有相應數據欄位的數據數組中。

本發明的一個實施例中,在進行數據提取後,還對提取的數據欄位信息進行篩選得到包含有與篩選後的數據欄位對應的數據欄位信息的數據數組。

本發明的一個實施例中,所述收集原始數據信息具體為讀取文本文件信息或者監聽網絡信息。

本發明的一個實施例中,所述根據預設的輸出格式及輸出規則將上述數據數組輸出,具體為:將上述數據數組寫入到文本文件,或者寫入資料庫,或者進行網絡傳輸。

按照本發明的另一方面,還提供了一種分層模塊化的數據採集裝置,包括數據收集模塊、數據提取模塊以及數據輸出模塊,其中:

所述數據收集模塊,用於收集原始數據信息,並將原始數據信息轉換成字符串類型;

所述數據提取模塊,用於根據設定的提取規則對上述字符串類型的原始數據信息進行數據提取,得到包含有與預設數據欄位對應的數據欄位信息的數據數組;

所述數據輸出模塊,用於根據預設的輸出格式及輸出規則將上述數據數組輸出。

本發明的一個實施例中,所述數據提取模塊根據設定的提取規則對上述字符串類型的原始數據信息進行數據提取,具體為:

使用正則表達式對字符串類型的原始數據信息進行數據匹配,得到與預設數據欄位對應的數據欄位信息,並將得到的數據欄位信息存儲到包含有相應數據欄位的數據數組中。

本發明的一個實施例中,所述數據提取模塊還用於,在進行數據提取後,對提取的數據欄位信息進行篩選得到包含有與篩選後的數據欄位對應的數據欄位信息的數據數組。

本發明的一個實施例中,所述數據收集模塊收集原始數據信息具體為讀取文本文件信息或者監聽網絡信息。

本發明的一個實施例中,所述數據輸出模塊根據預設的輸出格式及輸出規則將上述數據數組輸出,具體為:將上述數據數組寫入到文本文件,或者寫入資料庫,或者進行網絡傳輸。

通過本發明提供的分層模塊化的數據採集方案,將數據採集的整個過程分成數據收集、提取和輸出三個處理階段和模塊,從而能夠獨立的對每個處理階段和模塊進行修改和調整,從而能夠簡化系統設計,加快開發速度,調試方便,並且各個模塊可復用。

附圖說明

圖1是本發明實施例中一種分層模塊化的數據採集方法的流程示意圖;

圖2是本發明實施例中一種分層模塊化的數據採集裝置的結構示意圖。

具體實施方式

為了使本發明的目的、技術方案及優點更加清楚明白,以下結合附圖及實施例,對本發明進行進一步詳細說明。應當理解,此處所描述的具體實施例僅僅用以解釋本發明,並不用於限定本發明。此外,下面所描述的本發明各個實施方式中所涉及到的技術特徵只要彼此之間未構成衝突就可以相互組合。

首先對本發明實施例中的術語進行解釋和說明:

正則表達式:又稱正規表示法、常規表示法(英語:Regular Expression,在代碼中常簡寫為regex、regexp或RE),計算機科學的一個概念。正則表達式使用單個字符串來描述、匹配一系列符合某個句法規則的字符串。在很多文本編輯器裡,正則表達式通常被用來檢索、替換那些符合某個模式的文本。

XML:可擴展標記語言,標準通用標記語言的子集,是一種用於標記電子文件使其具有結構性的標記語言。

JSON:JSON(JavaScript Object Notation)是一種輕量級的數據交換格式。它基於ECMAScript的一個子集。

如圖1所示,本發明提供了一種分層模塊化的數據採集方法,包括:

S1、收集原始數據信息,並將原始數據信息轉換成字符串類型;

收集原始數據信息可以為多種,例如可以讀取文本文件信息或者監聽網絡信息,收集上述信息後即可將信息轉換成字符串類型;

例如在讀取文本文件時,可以逐行讀取文本文件中的數據信息,每行數據信息為一條數據。在讀取時可以設置文件讀取路徑,並且路徑還可以使用通配符來設置,例如(/usr/local/*/logs/*.log)。另外還可以設置文本起始讀取位置,例如是從文件頭部開始讀取還是從尾部開始讀取。

S2、根據設定的提取規則對上述字符串類型的原始數據信息進行數據提取,得到包含有與預設數據欄位對應的數據欄位信息的數據數組;

當收集了原始數據信息後,對原始數據信息進行相應的數據提取,例如按照預設的數據欄位提取數據欄位信息,並可進行進一步的數據欄位的篩選。

例如,可以使用正則表達式對從文本文件中讀取的原始數據信息進行數據欄位提取,通過使用正則表達式進行文本內容匹配後,會得到與預設數據欄位對應的數據欄位信息。當然,為了方便的存儲數據欄位信息,通常可以用數據數組來存儲上述數據欄位信息,當然所述數據數組應包括有相應的數據欄位。

例如日誌數據收集場景中,會提取日誌對應的時間、日誌級別、日誌信息等數據欄位。用戶需要設置一個欄位名稱數組,該數組對應正則表達式所匹配出的數據(如:logTime,logLevel,logMsg)。

進一步地,在進行數據提取後,還對提取的數據欄位信息進行篩選得到包含有與篩選後的數據欄位對應的數據欄位信息的數據數組。例如:在配置文件中配置logLevel=ERROR,則只會將日誌級別為ERROR的日誌數據提取出來。

S3、根據預設的輸出格式及輸出規則將上述數據數組輸出。

當在步驟S2中得到需要的數據欄位信息後,需要將上述數據數組輸出,例如將上述數據數組寫入到文本文件,或者寫入資料庫,或者進行網絡傳輸。

例如在寫入文件時,可以根據配置文件中的「輸出文件地址」信息,將數據寫入到該路徑中。

另外,還可以配置單個文件大小,當輸出文件大小到達該限制時、數據會寫到一個新的文件中

另外,文件輸出格式也可以在配置文件中進行配置(如:XML、JSON)。並且還可以進行擴展,從而支持更多的配輸出格式。

進一步地,如圖2所示,本發明還提供了一種分層模塊化的數據採集裝置,包括數據收集模塊1、數據提取模塊2以及數據輸出模塊3,其中:

所述數據收集模塊1,用於收集原始數據信息,並將原始數據信息轉換成字符串類型;

其中,所述數據收集模塊1收集原始數據信息具體為讀取文本文件信息或者監聽網絡信息;

所述數據提取模塊2,用於根據設定的提取規則對上述字符串類型的原始數據信息進行數據提取,得到包含有與預設數據欄位對應的數據欄位信息的數據數組;

其中,所述數據提取模塊2根據設定的提取規則對上述字符串類型的原始數據信息進行數據提取,具體為:使用正則表達式對字符串類型的原始數據信息進行數據匹配,得到與預設數據欄位對應的數據欄位信息,並將得到的數據欄位信息存儲到包含有相應數據欄位的數據數組中;

進一步地,所述數據提取模塊2還用於,在進行數據提取後,對提取的數據欄位信息進行篩選得到包含有與篩選後的數據欄位對應的數據欄位信息的數據數組;

所述數據輸出模塊3,用於根據預設的輸出格式及輸出規則將上述數據數組輸出;

其中,所述數據輸出模塊3根據預設的輸出格式及輸出規則將上述數據數組輸出,具體為:將上述數據欄位寫入到文本文件,或者寫入資料庫,或者進行網絡傳輸。

進一步地,結合一個具體實施例中給出的數據採集方案說明本發明提供的分層模塊化的數據採集方法,將數據採集過程分為3層,分別通過3個模塊來實現,具體如下:

數據收集

數據收集模塊包括1個接口

●輸出

將收集到的數據輸出到數據提取層。

該接口有一個參數,內容為數據文本(字符串類型)。

●數據流程:

用戶編寫數據收集模塊獲取數據(如:讀取文件,監聽網絡),隨後數據通過輸出接口傳遞給數據提取模塊。

示例:

●文本文件數據收集模塊

該模塊逐行讀取文件中的數據信息,每行信息為一調數據。並發送給數據提取模塊。

可以設置文件讀取路徑,改路徑可以使用通配符(如:/usr/local/*/logs/*.log)

可以設置文本讀取位置,從文件頭部開始讀取還是從尾部開始讀取。

數據提取

數據提取模塊包含2個接口

●輸入

從輸入接口獲取數據收集模塊中發出的數據。

接收到的數據為字符串。

●輸出

輸出整理後的結果到數據輸出層。

該接口有一個參數,參數內容為經過數據提取後的數據對象。

●數據流程:

用戶編寫數據提取模塊,數據從輸入接口流入數據提取模塊後,該模塊對數據進行相應的數據提取(如:提取並命名數據欄位)、數據篩選。整理完畢後數據會通過輸出接口傳遞給數據輸出模塊。

示例:

●文本數據提取模塊

文本數據提取模塊使用正則表達式對文本進行數據提取,通過使用正則表達式進行文本匹配後,文本數據提取模塊會獲得文本中相應的數據數組。例如日誌數據收集場景中,會提取日誌對應的時間、日誌級別、日誌信息等數據。

用戶需要設置一個欄位名稱數組,該數組對應正則表達式所匹配出的數據(如:logTime,logLevel,logMsg)。

該模塊還可以對欄位進行篩選,如:在配置文件中配置logLevel=ERROR,則只會將日誌級別為ERROR的日誌數據提取出來

上述過程執行完畢後數據會封裝成一個數據對象發送給數據輸出模塊。

數據輸出

數據輸出模塊包含1個接口

●輸入

該接口負責接收數據提取模塊發出的數據對象

●數據流程:

用戶編寫數據輸出模塊,數據從輸入接口流入數據輸出模塊後,該模塊對數據進行一些後續操作(如:寫入到文件、寫入資料庫、網絡傳輸)。

示例:

●文件輸出模塊

文件輸出模塊獲得數據提取模塊輸出的數據對象後,根據配置文件中的「輸出文件地址」信息,將數據寫入到該路徑中。

可以配置單個文件大小,當輸出文件大小到達該限制時、數據會寫到一個新的文件中

文件輸出格式也可以在配置文件中進行配置(如:XML、JSON)。可以對該模塊進行擴展,從而支持更多的配輸出格式。

上述方案的實施特點為:

在不同業務場景中,數據的來源方式大致相同(如:日誌都是寫在文件裡)。這樣只需開發一種數據收集模塊。

每個數據收集層都可以根據需要,開發不同的模塊。

根據實際數據採集場景,通過配置文件配置每個數據層的數據處理模塊即可。模塊可以自由組合。

如:數據收集--文件、數據提取--XML、數據輸出--網絡

數據收集--網絡、數據提取--JSON、數據輸出--文件

通過本發明提供的分層模塊化的數據採集方案,將數據採集的整個過程分成數據收集、提取和輸出三個處理階段和模塊,從而能夠獨立的對每個處理階段和模塊進行修改和調整,從而能夠簡化系統設計,加快開發速度,調試方便,並且各個模塊可復用。

本領域的技術人員容易理解,以上所述僅為本發明的較佳實施例而已,並不用以限制本發明,凡在本發明的精神和原則之內所作的任何修改、等同替換和改進等,均應包含在本發明的保護範圍之內。

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀