基于配置的數(shù)據(jù)歸并方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及電子信息技術(shù)領(lǐng)域,尤其是一種基于配置的數(shù)據(jù)歸并方法。
【背景技術(shù)】
[0002] 安全信息管理技術(shù)用于搜集、分析和關(guān)聯(lián)來(lái)自于整個(gè)企業(yè)的安全事件信息,安全 信息管理技術(shù)具體是指搜集和分析安全事件信息,及時(shí)地檢測(cè)到安全事件,并采取相應(yīng)的 網(wǎng)絡(luò)安全管理措施。安全信息管理系統(tǒng)需要收集各類安全設(shè)備、網(wǎng)絡(luò)設(shè)備、主機(jī)W及應(yīng)用系 統(tǒng)的日志和告警數(shù)據(jù)等多種類型的數(shù)據(jù),各種數(shù)據(jù)的類型不盡相同。目前,數(shù)據(jù)歸并主要采 用的方法是將多種數(shù)據(jù)類型采用硬編碼的方式預(yù)先定義在程序中,由程序?qū)Ω鞣N類型的數(shù) 據(jù)分別進(jìn)行歸并。
[0003] 采用上述方式的主要缺點(diǎn)在于,數(shù)據(jù)類型定義好之后便很難再進(jìn)行修改,此外,由 于網(wǎng)絡(luò)產(chǎn)品的日益增多,系統(tǒng)需要處理的數(shù)據(jù)類型也在不斷的增加,現(xiàn)有的數(shù)據(jù)類型也會(huì) 不斷的更新,采用硬編碼的方式預(yù)先定義數(shù)據(jù)類型,不利于系統(tǒng)的擴(kuò)展,大大降低了系統(tǒng)的 可維護(hù)性。
【發(fā)明內(nèi)容】
[0004] 本發(fā)明的目的是;提供一種基于配置的數(shù)據(jù)歸并方法,它解決硬編碼方式無(wú)法進(jìn) 行數(shù)據(jù)類型修改與擴(kuò)展的問(wèn)題,實(shí)現(xiàn)一種對(duì)各種類型的數(shù)據(jù)進(jìn)行歸并的通用方法,W克服 現(xiàn)有技術(shù)的不足。
[0005] 本發(fā)明是該樣實(shí)現(xiàn)的:基于配置的數(shù)據(jù)歸并方法,按照數(shù)據(jù)的類型將數(shù)據(jù)的結(jié)構(gòu) 信息、歸并規(guī)則存儲(chǔ)在對(duì)應(yīng)的配置文件中;接收到數(shù)據(jù)后,根據(jù)所接收的數(shù)據(jù)的類型讀取出 對(duì)應(yīng)的配置文件,根據(jù)所讀取的配置文件中的結(jié)構(gòu)信息和歸并規(guī)則濾除或保留該數(shù)據(jù);若 保留該數(shù)據(jù),則根據(jù)所讀取的配置文件中的結(jié)構(gòu)信息和歸并規(guī)則將該數(shù)據(jù)與相應(yīng)數(shù)據(jù)進(jìn)行 合并。
[0006] 優(yōu)選的方案是,數(shù)據(jù)的結(jié)構(gòu)信息包括數(shù)據(jù)的各字段的偏移量,過(guò)濾規(guī)則下包含過(guò) 濾規(guī)則策略,過(guò)濾規(guī)則策略下包含數(shù)據(jù)中每個(gè)字段的字段過(guò)濾策略;根據(jù)過(guò)濾規(guī)則下的字 段過(guò)濾策略查找過(guò)濾字段W及過(guò)濾條件;從數(shù)據(jù)結(jié)構(gòu)信息中查找過(guò)濾字段的偏移量,根據(jù) 接收的數(shù)據(jù)在內(nèi)存中存儲(chǔ)的首地址W及過(guò)濾字段的偏移量,在內(nèi)存中查找到該過(guò)濾字段的 字段值。
[0007] 進(jìn)一步地,根據(jù)所讀取的配置文件中的結(jié)構(gòu)信息和合并規(guī)則將該數(shù)據(jù)與相應(yīng)數(shù)據(jù) 進(jìn)行合并的過(guò)程包括: 從數(shù)據(jù)結(jié)構(gòu)信息中查找接收的數(shù)據(jù)的每個(gè)字段的偏移量,根據(jù)該接收的數(shù)據(jù)在內(nèi)存中 存儲(chǔ)的首地址W及每個(gè)字段的偏移量,在內(nèi)存中查找到每個(gè)字段的字段值; 判斷合并隊(duì)列中是否存在與接收的數(shù)據(jù)合并規(guī)則策略相同的數(shù)據(jù),如果存在,則將接 收的數(shù)據(jù)的每個(gè)字段的字段值,按照每個(gè)字段的字段合并策略中的合并方式屬性,合并入 合并隊(duì)列中合并規(guī)則策略相同的數(shù)據(jù)中;否則,將該接收的數(shù)據(jù)加入合并隊(duì)列中。
[000引進(jìn)一步地,字段過(guò)濾策略包含使能屬性,該使能屬性標(biāo)識(shí)過(guò)濾字段,字段過(guò)濾策略 還包含過(guò)濾判斷操作、操作數(shù)1和操作數(shù)2屬性,該過(guò)濾判斷操作、操作數(shù)1和操作數(shù)2屬 性表示過(guò)濾條件。
[0009] 進(jìn)一步地,在進(jìn)行合并的過(guò)程中,從數(shù)據(jù)結(jié)構(gòu)信息中查找接收的數(shù)據(jù)的每個(gè)字段 的偏移量前,還包括: 根據(jù)合并規(guī)則的字段合并策略的使能屬性查找合并過(guò)濾字段W及獲取字段合并策略 的過(guò)濾判斷操作、操作數(shù)1和操作數(shù)2屬性作為合并過(guò)濾條件; 從數(shù)據(jù)結(jié)構(gòu)信息中查找合并過(guò)濾字段的偏移量,根據(jù)接收的數(shù)據(jù)在內(nèi)存中存儲(chǔ)的首地 址W及合并過(guò)濾字段的偏移量,在內(nèi)存中查找到該合并過(guò)濾字段的字段值; 判斷合并過(guò)濾字段的字段值是否滿足合并過(guò)濾條件,并根據(jù)合并規(guī)則策略的合并過(guò)濾 模式屬性選擇濾除或保留所接收的數(shù)據(jù),如果保留所接收的數(shù)據(jù),則進(jìn)一步執(zhí)行從數(shù)據(jù)結(jié) 構(gòu)信息中查找接收的數(shù)據(jù)的每個(gè)字段的偏移量。
[0010] 進(jìn)一步地,將數(shù)據(jù)加入合并隊(duì)列中后,記錄數(shù)據(jù)加入合并隊(duì)列的時(shí)長(zhǎng)W及數(shù)據(jù)隊(duì) 列中的數(shù)據(jù)個(gè)數(shù); 當(dāng)合并隊(duì)列中的某個(gè)數(shù)據(jù)加入合并隊(duì)列的時(shí)長(zhǎng)等于合并規(guī)則中的合并時(shí)間間隔時(shí),將 該數(shù)據(jù)存入發(fā)送隊(duì)列; 當(dāng)合并隊(duì)列中的數(shù)據(jù)個(gè)數(shù)滿足合并規(guī)則的合并隊(duì)列的限制長(zhǎng)度后,將合并隊(duì)列中的數(shù) 據(jù)存入發(fā)送隊(duì)列。
[0011] 進(jìn)一步地,一種數(shù)據(jù)過(guò)濾的方法,包括: 按照數(shù)據(jù)的類型將數(shù)據(jù)的結(jié)構(gòu)信息和過(guò)濾規(guī)則存儲(chǔ)在對(duì)應(yīng)的配置文件中; 接收到數(shù)據(jù)后,接收到數(shù)據(jù)后,根據(jù)所接收的數(shù)據(jù)的類型讀取出對(duì)應(yīng)的配置文件,根據(jù) 所讀取的配置文件中的結(jié)構(gòu)信息和過(guò)濾規(guī)則濾除或保留該數(shù)據(jù)。
[0012] 進(jìn)一步地,數(shù)據(jù)的結(jié)構(gòu)信息包括;數(shù)據(jù)的各字段的偏移量; 過(guò)濾規(guī)則下包含過(guò)濾規(guī)則策略,過(guò)濾規(guī)則策略下包含數(shù)據(jù)中每個(gè)字段的字段過(guò)濾策 略; 根據(jù)所讀取的配置文件中的結(jié)構(gòu)信息和過(guò)濾規(guī)則濾除或保留該數(shù)據(jù)的過(guò)程包括: 根據(jù)過(guò)濾規(guī)則的字段過(guò)濾策略查找過(guò)濾字段W及過(guò)濾條件; 從數(shù)據(jù)結(jié)構(gòu)信息中查找過(guò)濾字段的偏移量,根據(jù)接收的數(shù)據(jù)在內(nèi)存中存儲(chǔ)的首地址W及過(guò)濾字段的偏移量,在內(nèi)存中查找到過(guò)濾字段的字段值; 判斷過(guò)濾字段的字段值是否滿足過(guò)濾條件,并根據(jù)過(guò)濾規(guī)則策略的過(guò)濾模式屬性選擇 濾除或保留所接收的數(shù)據(jù)。
[0013] 進(jìn)一步地,一種數(shù)據(jù)合并的方法,包括: 按照數(shù)據(jù)的類型將數(shù)據(jù)的結(jié)構(gòu)信息和合并規(guī)則存儲(chǔ)在對(duì)應(yīng)的配置文件中; 接收到數(shù)據(jù)后,根據(jù)所接收的數(shù)據(jù)的類型讀取出對(duì)應(yīng)的配置文件,根據(jù)讀取的配置文 件中的結(jié)構(gòu)信息和合并規(guī)則將該數(shù)據(jù)與相應(yīng)數(shù)據(jù)進(jìn)行合并。
[0014] 進(jìn)一步地,數(shù)據(jù)的結(jié)構(gòu)信息包括;數(shù)據(jù)的各字段的偏移量; 合并規(guī)則下包含合并規(guī)則策略,合并規(guī)則策略下包含數(shù)據(jù)中每個(gè)字段的字段合并策 略; 根據(jù)讀取的配置文件中的結(jié)構(gòu)信息和合并規(guī)則將該數(shù)據(jù)與相應(yīng)數(shù)據(jù)進(jìn)行合并的過(guò)程 包括: 從數(shù)據(jù)結(jié)構(gòu)信息中查找接收的數(shù)據(jù)的每個(gè)字段的偏移量,根據(jù)該接收的數(shù)據(jù)在內(nèi)存中 存儲(chǔ)的首地址W及每個(gè)字段的偏移量,在內(nèi)存中查找到每個(gè)字段的字段值; 判斷合并隊(duì)列中是否存在與接收的數(shù)據(jù)合并規(guī)則策略相同的數(shù)據(jù),如果存在,則將接 收的數(shù)據(jù)的每個(gè)字段的字段值,按照每個(gè)字段的字段合并策略終端的合并方式屬性,合并 入合并隊(duì)列中合并規(guī)則策略相同的數(shù)據(jù)中;否則,將該接收的數(shù)據(jù)加入合并隊(duì)列中。
[0015] 由于采用了上述技術(shù)方案,與現(xiàn)有技術(shù)相比,本發(fā)明采用配置文件存儲(chǔ)各種不同 類型數(shù)據(jù)的結(jié)構(gòu)信息、過(guò)濾規(guī)則和合并規(guī)則,通過(guò)字段的偏移量W及數(shù)據(jù)在內(nèi)存中的起始 位置讀取相應(yīng)的字段值,從而進(jìn)行數(shù)據(jù)的歸并,增加系統(tǒng)的靈活性,當(dāng)系統(tǒng)中新增數(shù)據(jù)類型 時(shí),只需要將新增類型的數(shù)據(jù)的結(jié)構(gòu)信息、過(guò)濾規(guī)則和合并規(guī)則存入配置文件中,即可完成 該類數(shù)據(jù)的歸并,為各種類型的數(shù)據(jù)的歸并提供了簡(jiǎn)易的接口,增強(qiáng)了可擴(kuò)充性W及靈活 性。
【附圖說(shuō)明】
[0016] 圖1為本發(fā)明的工作流程圖。
【具體實(shí)施方式】
[0017] 本發(fā)明的實(shí)施例:基于配置的數(shù)據(jù)歸并方法,按照數(shù)據(jù)的類型將數(shù)據(jù)的結(jié)構(gòu)信 息、歸并規(guī)則存儲(chǔ)在對(duì)應(yīng)的配置文件中;接收到數(shù)據(jù)后,根據(jù)所接收的數(shù)據(jù)的類型讀取出對(duì) 應(yīng)的配置文件,根據(jù)所讀取的配置文件中的結(jié)構(gòu)信息和歸并規(guī)則濾除或保留該數(shù)據(jù);若保 留該數(shù)據(jù),則根據(jù)所讀取的配置文件中的結(jié)構(gòu)信息和歸并規(guī)則將該數(shù)據(jù)與相應(yīng)數(shù)據(jù)進(jìn)行合 并;數(shù)據(jù)的結(jié)構(gòu)信息包括數(shù)據(jù)的各字段的偏移量,過(guò)濾規(guī)則下包含過(guò)濾規(guī)則策略,過(guò)濾規(guī)則 策略下包含數(shù)據(jù)中每個(gè)字段的字段過(guò)濾策略;根據(jù)過(guò)濾規(guī)則下的字段過(guò)濾策略查找過(guò)濾字 段W及過(guò)濾條件;從數(shù)據(jù)結(jié)構(gòu)信息中查找過(guò)濾字段的偏移量,根據(jù)接收的數(shù)據(jù)在內(nèi)存中存 儲(chǔ)的首地址W及過(guò)濾字段的偏移量,在內(nèi)存中查找到該過(guò)濾字段的字段值。
[0018] 本實(shí)施例采用xml配置文件存儲(chǔ)數(shù)據(jù)的結(jié)構(gòu)信息、過(guò)濾規(guī)則和合并規(guī)則,在數(shù)據(jù) 的結(jié)構(gòu)信息中,對(duì)數(shù)據(jù)的每個(gè)字段除了設(shè)置字段類型、名稱和大小等屬性外,還需要設(shè)置一 個(gè)偏移量(offset)屬性,用W表明字段相對(duì)于其所屬數(shù)據(jù)在內(nèi)存中的起始位置的偏移量, 通過(guò)數(shù)據(jù)在內(nèi)存中的起始位置W及該數(shù)據(jù)某一字段的偏移量來(lái)獲取字段值,W進(jìn)行數(shù)據(jù)的 歸并。
[0019] 下面結(jié)合附圖對(duì)本發(fā)明的【具體實(shí)施方式】進(jìn)行說(shuō)明。
[0020] 為實(shí)現(xiàn)數(shù)據(jù)的歸并,需要為各種類型的數(shù)據(jù)定義數(shù)據(jù)結(jié)構(gòu)、過(guò)濾規(guī)則和合并規(guī)則, 并將同種類型數(shù)據(jù)的結(jié)構(gòu)信息、過(guò)濾規(guī)則和合并規(guī)則存儲(chǔ)在一配置文件中。
[0021]1、數(shù)據(jù)的結(jié)構(gòu)說(shuō)明。
[0022] 數(shù)據(jù)的結(jié)構(gòu)(Struct)具有的屬性包括;名稱(Name)、結(jié)構(gòu)體說(shuō)明(Text)、結(jié)構(gòu)體 類型(Type)、結(jié)構(gòu)體大?。⊿ize)和過(guò)濾合并(FilterMerge)等,表1為對(duì)結(jié)構(gòu)屬性的說(shuō)明。
【主權(quán)項(xiàng)】
1. 一種基于配置的數(shù)據(jù)歸并方法,其特征在于:按照數(shù)據(jù)的類型將數(shù)據(jù)的結(jié)構(gòu)信息、 歸并規(guī)則存儲(chǔ)在對(duì)應(yīng)的配置文件中;接收到數(shù)據(jù)后,根據(jù)所接收的數(shù)據(jù)的類型讀取出對(duì)應(yīng) 的配置文件,根據(jù)所讀取的配置文件中的結(jié)構(gòu)信息和歸并規(guī)則濾除或保留該數(shù)據(jù);若保留 該數(shù)據(jù),則根據(jù)所讀取的配置文件中的結(jié)構(gòu)信息和歸并規(guī)則將該數(shù)據(jù)與相應(yīng)數(shù)據(jù)進(jìn)行合 并。
2. 根據(jù)權(quán)利要求1所述的基于配置的數(shù)據(jù)歸并方法,其特征在于:數(shù)據(jù)的結(jié)構(gòu)信息包 括數(shù)據(jù)的各字段的偏移量,過(guò)濾規(guī)則下包含過(guò)濾規(guī)則策略,過(guò)濾規(guī)則策略下包含數(shù)據(jù)中每 個(gè)字段的字段過(guò)濾策略;根據(jù)過(guò)濾規(guī)則下的字段過(guò)濾策略查找過(guò)濾字段W及過(guò)濾條件;從 數(shù)據(jù)結(jié)構(gòu)信息中查找過(guò)濾字段的偏移量,根據(jù)接收的數(shù)據(jù)在內(nèi)存中存儲(chǔ)的首地址W及過(guò)濾 字段的偏移量,在內(nèi)存中查找到該過(guò)濾字段的字段值。
【專利摘要】本發(fā)明公開了一種基于配置的數(shù)據(jù)歸并方法,它采用配置文件存儲(chǔ)各種不同類型數(shù)據(jù)的結(jié)構(gòu)信息、過(guò)濾規(guī)則和合并規(guī)則,通過(guò)字段的偏移量以及數(shù)據(jù)在內(nèi)存中的起始位置讀取相應(yīng)的字段值,從而進(jìn)行數(shù)據(jù)的歸并,增加系統(tǒng)的靈活性,當(dāng)系統(tǒng)中新增數(shù)據(jù)類型時(shí),只需要將新增類型的數(shù)據(jù)的結(jié)構(gòu)信息、過(guò)濾規(guī)則和合并規(guī)則存入配置文件中,即可完成該類數(shù)據(jù)的歸并,為各種類型的數(shù)據(jù)的歸并提供了簡(jiǎn)易的接口,增強(qiáng)了可擴(kuò)充性以及靈活性。
【IPC分類】H04L12-24
【公開號(hào)】CN104717078
【申請(qǐng)?zhí)枴緾N201310677447
【發(fā)明人】王皓然, 文才豪
【申請(qǐng)人】貴州電網(wǎng)公司信息通信分公司
【公開日】2015年6月17日
【申請(qǐng)日】2013年12月13日