一種開放式的多源數(shù)據(jù)采集系統(tǒng)及方法
【專利摘要】本發(fā)明涉及一種開放式的多源數(shù)據(jù)采集系統(tǒng)及方法,包括用于根據(jù)需要創(chuàng)建采集任務(wù),配置采集任務(wù)信息,生成相應(yīng)的數(shù)據(jù)采集接口規(guī)則的任務(wù)管理模塊;用于加載數(shù)據(jù)采集接口規(guī)則,執(zhí)行處于激活狀態(tài)的采集任務(wù),相應(yīng)的采集任務(wù)進(jìn)行數(shù)據(jù)源監(jiān)聽并采集數(shù)據(jù),將接采集的數(shù)據(jù)按照統(tǒng)一格式進(jìn)行封裝,并發(fā)送給數(shù)據(jù)存儲模塊的任務(wù)執(zhí)行模塊;用于存儲數(shù)據(jù)輸出模塊輸出的數(shù)據(jù)的數(shù)據(jù)存儲模塊;本發(fā)明覆蓋了比較全面的數(shù)據(jù)源采集類型,支持目前通用的數(shù)據(jù)采集方式,支持?jǐn)?shù)據(jù)采集接口的動態(tài)擴(kuò)展和多個數(shù)據(jù)源的并行采集,當(dāng)有新的數(shù)據(jù)源接入時,只需要配置數(shù)據(jù)采集任務(wù)信息,不需要部署采集代理和數(shù)據(jù)模式轉(zhuǎn)換工具即可輕松實(shí)現(xiàn)對新數(shù)據(jù)源的數(shù)據(jù)采集。
【專利說明】一種開放式的多源數(shù)據(jù)采集系統(tǒng)及方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及網(wǎng)絡(luò)安全領(lǐng)域,尤其涉及一種開放式的多源數(shù)據(jù)采集系統(tǒng)及方法。
【背景技術(shù)】
[0002] 隨著計算機(jī)技術(shù)的飛速發(fā)展和信息化的推進(jìn),網(wǎng)絡(luò)安全問題日趨突出,為了應(yīng)對 網(wǎng)絡(luò)安全威脅,往往需要部署各種各樣的安全產(chǎn)品,包括漏洞掃描系統(tǒng)、病毒防護(hù)系統(tǒng)、木 馬監(jiān)測系統(tǒng)、入侵檢測系統(tǒng)等。網(wǎng)絡(luò)管理員對不同安全產(chǎn)品產(chǎn)生的日志報警進(jìn)行數(shù)據(jù)采集 和關(guān)聯(lián)分析,可以得到網(wǎng)絡(luò)中潛在的安全威脅。
[0003] 不同的安全產(chǎn)品產(chǎn)生的日志報警在輸出類型和數(shù)據(jù)格式上各不相同,網(wǎng)絡(luò)安全 管理系統(tǒng)需要從多分布、異構(gòu)和自治的數(shù)據(jù)源中采集數(shù)據(jù),還要保持?jǐn)?shù)據(jù)的完整性和一致 性。ETL技術(shù)是目前企業(yè)數(shù)據(jù)采集的主要解決方案,實(shí)現(xiàn)把不同來源、格式和特點(diǎn)的數(shù)據(jù)在 邏輯上或物理上有機(jī)地集中。目前常用的ETL工具有:0WB (Oracle Warehouse Builder)、 ODI (Oracle Data Integrator)、Trinity、Data Stage、Repository Explorer、Bee load、 Kettle、Data Spider等,這些工具通常針對一種或多種數(shù)據(jù)采集類型,實(shí)現(xiàn)對多源數(shù)據(jù)的 采集。其中Kettle作為一種開源工具,應(yīng)用很廣,支持的數(shù)據(jù)源采集類型包括數(shù)據(jù)庫、文本 等,用戶可以自定義采集數(shù)據(jù)的輸出格式和輸出位置。但是,它并不能覆蓋目前所有的通 用數(shù)據(jù)采集類型,如socket通信數(shù)據(jù)接收的方式;并且,采集數(shù)據(jù)的存儲只能用戶自己定 義,當(dāng)采集的數(shù)據(jù)量很大而且需要快速檢索時,并不能提供一種利于海量數(shù)據(jù)檢索的存儲 接口。
[0004] 綜上,已有的多源數(shù)據(jù)采集工具存在以下不足:(1)涵蓋的數(shù)據(jù)采集方式不全面, 只關(guān)注數(shù)據(jù)庫和文本數(shù)據(jù)的主動采集,忽略了通信數(shù)據(jù)如socket數(shù)據(jù)的被動接收;(2)數(shù) 據(jù)接口擴(kuò)展維護(hù)不方便,當(dāng)接入新數(shù)據(jù)接口時,需要部署采集代理或使用數(shù)據(jù)模式轉(zhuǎn)換工 具;(3)存儲方式不能實(shí)現(xiàn)海量數(shù)據(jù)的高效存儲及檢索等操作。
【發(fā)明內(nèi)容】
[0005] 本發(fā)明所要解決的技術(shù)問題是針對現(xiàn)有技術(shù)的不足,提供一種開放式的多源數(shù)據(jù) 采集系統(tǒng)及方法,涵蓋比較全面的數(shù)據(jù)采集類型,基于規(guī)則實(shí)現(xiàn)數(shù)據(jù)采集接口的擴(kuò)展和維 護(hù),并支持對海量數(shù)據(jù)的統(tǒng)一存儲。
[0006] 本發(fā)明解決上述技術(shù)問題的技術(shù)方案如下:一種開放式的多源數(shù)據(jù)采集系統(tǒng),包 括任務(wù)管理模塊、任務(wù)執(zhí)行模塊和數(shù)據(jù)存儲模塊;
[0007] 所述任務(wù)管理模塊,其用于根據(jù)需要創(chuàng)建采集任務(wù),配置采集任務(wù)信息,生成相應(yīng) 的數(shù)據(jù)采集接口規(guī)則,其中每一個采集任務(wù)對應(yīng)一個數(shù)據(jù)采集接口,用戶通過配置采集任 務(wù)信息,添加不同類型的數(shù)據(jù)采集接口信息;
[0008] 所述任務(wù)執(zhí)行模塊,其用于加載數(shù)據(jù)采集接口規(guī)則,執(zhí)行處于激活狀態(tài)的采集任 務(wù),相應(yīng)的采集任務(wù)進(jìn)行數(shù)據(jù)源監(jiān)聽并采集數(shù)據(jù),將接采集的數(shù)據(jù)按照統(tǒng)一格式進(jìn)行封裝, 并發(fā)送給數(shù)據(jù)存儲模塊;
[0009] 所述數(shù)據(jù)存儲模塊,其用于存儲數(shù)據(jù)輸出模塊輸出的數(shù)據(jù)。
[0010] 本發(fā)明的有益效果是:本發(fā)明覆蓋了比較全面的數(shù)據(jù)源采集類型,支持目前通用 的數(shù)據(jù)采集方式,支持?jǐn)?shù)據(jù)采集接口的動態(tài)擴(kuò)展和多個數(shù)據(jù)源的并行采集,當(dāng)有新的數(shù)據(jù) 源接入時,只需要配置數(shù)據(jù)采集任務(wù)信息,不需要部署采集代理和數(shù)據(jù)模式轉(zhuǎn)換工具即可 輕松實(shí)現(xiàn)對先數(shù)據(jù)源的數(shù)據(jù)采集。
[0011] 在上述技術(shù)方案的基礎(chǔ)上,本發(fā)明還可以做如下改進(jìn)。
[0012] 進(jìn)一步,所述任務(wù)管理模塊還用于通過配置和修改數(shù)據(jù)采集接口規(guī)則實(shí)現(xiàn)對采集 任務(wù)的添加、更改、激活、鎖定和刪除;當(dāng)有新的數(shù)據(jù)源接入時,只需要添加采集任務(wù)并配置 采集任務(wù)信息,生成相應(yīng)的數(shù)據(jù)采集接口規(guī)則。
[0013] 采用上述進(jìn)一步方案的有益效果:支持?jǐn)?shù)據(jù)采集接口的動態(tài)擴(kuò)展,當(dāng)有新的數(shù)據(jù) 源接入時,只需要添加采集任務(wù)并配置采集任務(wù)信息,不需要部署采集代理和數(shù)據(jù)模式轉(zhuǎn) 換工具即可輕松實(shí)現(xiàn)對于新數(shù)據(jù)源的數(shù)據(jù)采集。
[0014] 進(jìn)一步,所述任務(wù)執(zhí)行模塊采用多線程對多個數(shù)據(jù)源進(jìn)行并行采集,每個線程包 括初始化單元、任務(wù)執(zhí)行單元和數(shù)據(jù)輸出單元;
[0015] 所述初始化單元,其用于加載數(shù)據(jù)采集接口規(guī)則,讀取采集任務(wù)信息,實(shí)現(xiàn)對數(shù)據(jù) 采集接口的初始化;
[0016] 所述任務(wù)執(zhí)行單元,其用于獲取當(dāng)前的采集任務(wù)列表,對激活狀態(tài)的采集任務(wù)進(jìn) 行監(jiān)聽,當(dāng)有新數(shù)據(jù)產(chǎn)生時進(jìn)行數(shù)據(jù)采集,并將采集的數(shù)據(jù)傳送給數(shù)據(jù)輸出單元;
[0017] 所述數(shù)據(jù)輸出單元,其用于將采集的數(shù)據(jù)按照統(tǒng)一格式進(jìn)行封裝,并傳輸?shù)綌?shù)據(jù) 存儲模塊進(jìn)行存儲。
[0018] 采用上述進(jìn)一步方案的有益效果:支持多個數(shù)據(jù)源的并行采集,大大提高數(shù)據(jù)采 集效率,便于實(shí)現(xiàn)數(shù)據(jù)采集接口的動態(tài)擴(kuò)展;對采集數(shù)據(jù)的采用統(tǒng)一格式進(jìn)行封裝,并在分 布式系統(tǒng)中統(tǒng)一存儲,利于數(shù)據(jù)的高效存儲和檢索。
[0019] 進(jìn)一步,所述數(shù)據(jù)存儲模塊采用分布式開源系統(tǒng)Elastic Search,且Elastic Search的服務(wù)器地址采用默認(rèn)指定位置或用戶自定義的存儲位置。
[0020] 采用上述進(jìn)一步方案的有益效果:將數(shù)據(jù)存儲到分布式開源系統(tǒng)Elastic Search 中,ES是一個分布式的檢索系統(tǒng),用來存儲數(shù)據(jù),利于實(shí)現(xiàn)數(shù)據(jù)的高效檢索和分析處理。
[0021] 進(jìn)一步,所述采集任務(wù)信息包括數(shù)據(jù)采集接口信息和任務(wù)狀態(tài)信息;
[0022] 所述數(shù)據(jù)采集接口信息包括數(shù)據(jù)源的名稱、源數(shù)據(jù)存儲方式和源數(shù)據(jù)存儲格式; 所述源數(shù)據(jù)存儲方式指數(shù)據(jù)源的存儲類型以及存儲位置;所述源數(shù)據(jù)存儲格式是指源數(shù)據(jù) 本身的格式及采集內(nèi)容;
[0023] 所述任務(wù)狀態(tài)信息激活狀態(tài)和鎖定狀態(tài)。
[0024] 采用上述進(jìn)一步方案的有益效果:對采集任務(wù)信息進(jìn)行配置,指定源數(shù)據(jù)的存儲 類型及存儲位置以及源數(shù)據(jù)本身的格式及采集內(nèi)容,創(chuàng)建相應(yīng)的數(shù)據(jù)采集任務(wù),實(shí)現(xiàn)快速 高效數(shù)據(jù)采集。
[0025] 進(jìn)一步,所述數(shù)據(jù)源的類型包括數(shù)據(jù)庫類型、文本類型和socket通信數(shù)據(jù)類型。
[0026] 采用上述進(jìn)一步方案的有益效果:支持三大類型的數(shù)據(jù)采集方式,數(shù)據(jù)庫類型、文 本類型和socket通信數(shù)據(jù)類型,比較全面地覆蓋了當(dāng)前通用數(shù)據(jù)源類型。
[0027] 本發(fā)明解決上述技術(shù)問題的另一技術(shù)方案如下:一種開放式的多源數(shù)據(jù)采集方 法,包括如下步驟:
[0028] 步驟1 :根據(jù)需要創(chuàng)建采集任務(wù),配置采集任務(wù)信息,生成相應(yīng)的數(shù)據(jù)采集接口規(guī) 貝1J,其中每一個采集任務(wù)對應(yīng)一個數(shù)據(jù)采集接口,用戶通過配置采集任務(wù)信息,添加不同類 型的數(shù)據(jù)采集接口信息;
[0029] 步驟2 :加載數(shù)據(jù)采集接口規(guī)則,檢測采集任務(wù)的任務(wù)狀態(tài),找出處于激活狀態(tài)的 采集任務(wù),處于激活狀態(tài)的采集任務(wù)對數(shù)據(jù)源進(jìn)行監(jiān)聽,當(dāng)有新數(shù)據(jù)時進(jìn)行數(shù)據(jù)采集;
[0030] 步驟3 :將采集到的數(shù)據(jù)按照統(tǒng)一格式進(jìn)行封裝,并傳輸?shù)綌?shù)據(jù)存儲模塊進(jìn)行存 儲,實(shí)現(xiàn)對采集數(shù)據(jù)的統(tǒng)一分布式存儲。
[0031] 在上述技術(shù)方案的基礎(chǔ)上,本發(fā)明還可以做如下改進(jìn)。
[0032] 進(jìn)一步,上述技術(shù)方案還包括根據(jù)需要添加、更改、激活、鎖定和刪除采集任務(wù)。
[0033] 進(jìn)一步,步驟2的具體實(shí)現(xiàn)為采用多線程實(shí)現(xiàn)對多個數(shù)據(jù)源的并行采集,每個線 程的處理步驟如下:
[0034] 步驟2. 1 :加載數(shù)據(jù)采集接口規(guī)則,讀取采集任務(wù)信息,實(shí)現(xiàn)對數(shù)據(jù)采集接口的初 始化;
[0035] 步驟2. 2 :獲取當(dāng)前的采集任務(wù)列表,對激活狀態(tài)的采集任務(wù)進(jìn)行監(jiān)聽,當(dāng)有新數(shù) 據(jù)產(chǎn)生時進(jìn)行數(shù)據(jù)采集;
[0036] 步驟2. 3 :將采集的數(shù)據(jù)按照統(tǒng)一格式進(jìn)行封裝,并傳輸?shù)綌?shù)據(jù)存儲模塊進(jìn)行存 儲。
[0037] 進(jìn)一步,所述數(shù)據(jù)存儲模塊采用分布式開源系統(tǒng)Elastic Search,且Elastic Search的服務(wù)器地址采用默認(rèn)指定位置或用戶通過數(shù)據(jù)存儲規(guī)則自定義的存儲位置。
[0038] 采用上述進(jìn)一步方案的有益效果:本系統(tǒng)提供一種利于海量數(shù)據(jù)檢索的存儲方 式,與Elastic Search結(jié)合,實(shí)現(xiàn)對采集數(shù)據(jù)的分布式統(tǒng)一存儲,利于數(shù)據(jù)的高效存儲和檢 索。
[0039] 進(jìn)一步,所述采集任務(wù)信息包括數(shù)據(jù)采集接口信息和任務(wù)狀態(tài)信息;
[0040] 所述數(shù)據(jù)采集接口信息包括數(shù)據(jù)源的名稱、源數(shù)據(jù)存儲方式和源數(shù)據(jù)存儲格式; 所述源數(shù)據(jù)存儲方式指數(shù)據(jù)源的存儲類型以及存儲位置,所述源數(shù)據(jù)存儲格式是指數(shù)據(jù)本 身的格式,以及采集內(nèi)容;
[0041 ] 所述信息任務(wù)狀態(tài)包括激活狀態(tài)和鎖定狀態(tài)。
[0042] 進(jìn)一步,所述數(shù)據(jù)源的類型包括數(shù)據(jù)庫類型、文本類型和socket通信數(shù)據(jù)類型。
【專利附圖】
【附圖說明】
[0043] 圖1為本發(fā)明一種開放式的多源數(shù)據(jù)采集系統(tǒng)框圖;
[0044] 圖2為本發(fā)明所述任務(wù)執(zhí)行模塊執(zhí)行任務(wù)流程示意圖;
[0045] 圖3為本發(fā)明一種開放式的多源數(shù)據(jù)采集方法流程圖;
[0046] 圖4為本發(fā)明步驟2的具體實(shí)現(xiàn)流程圖。
[0047] 附圖中,各標(biāo)號所代表的部件列表如下:
[0048] 1、任務(wù)管理模塊,2、任務(wù)執(zhí)行模塊,3、數(shù)據(jù)存儲模塊,21、初始化單元,22、任務(wù)執(zhí) 行單元,23、數(shù)據(jù)輸出單元。
【具體實(shí)施方式】
[0049] 以下結(jié)合附圖對本發(fā)明的原理和特征進(jìn)行描述,所舉實(shí)例只用于解釋本發(fā)明,并 非用于限定本發(fā)明的范圍。
[0050] 如圖1所示,一種開放式的多源數(shù)據(jù)采集系統(tǒng),包括任務(wù)管理模塊1、任務(wù)執(zhí)行模 塊2和數(shù)據(jù)存儲模塊3 ;
[0051] 所述任務(wù)管理模塊1,其用于根據(jù)需要創(chuàng)建采集任務(wù),配置采集任務(wù)信息,生成相 應(yīng)的數(shù)據(jù)采集接口規(guī)則,其中每一個采集任務(wù)對應(yīng)一個數(shù)據(jù)采集接口,用戶通過配置采集 任務(wù)信息,添加不同類型的數(shù)據(jù)采集接口信息;
[0052] 所述任務(wù)執(zhí)行模塊2,其用于加載數(shù)據(jù)采集接口規(guī)則,執(zhí)行處于激活狀態(tài)的采集任 務(wù),相應(yīng)的采集任務(wù)進(jìn)行數(shù)據(jù)源監(jiān)聽并采集數(shù)據(jù),將接采集的數(shù)據(jù)按照統(tǒng)一格式進(jìn)行封裝, 并發(fā)送給數(shù)據(jù)存儲模塊;
[0053] 所述數(shù)據(jù)存儲模塊3,其用于存儲數(shù)據(jù)輸出模塊輸出的數(shù)據(jù)。
[0054] 任務(wù)管理模塊1主要是對采集任務(wù)信息的一系列操作。用戶在交互界面中配置采 集任務(wù)信息,后臺生成數(shù)據(jù)采集接口規(guī)則配置文件。菜單選項(xiàng)包括:任務(wù)添加、任務(wù)修改、任 務(wù)刪除、任務(wù)查詢等。任務(wù)添加菜單,實(shí)現(xiàn)對新的采集任務(wù)的配置;任務(wù)修改菜單,實(shí)現(xiàn)對采 集任務(wù)信息的修改,包括修改數(shù)據(jù)接口信息和任務(wù)狀態(tài);任務(wù)刪除菜單,實(shí)現(xiàn)對已有采集任 務(wù)的刪除;任務(wù)查詢菜單,顯示當(dāng)前已配置的所有采集任務(wù)或指定條件的采集任務(wù)。尤其當(dāng) 需要接入新的數(shù)據(jù)源時,通過修改數(shù)據(jù)采集接口配置規(guī)則來增加新的采集任務(wù)。用戶還可 以設(shè)置數(shù)據(jù)存儲規(guī)則,如果用戶設(shè)置了數(shù)據(jù)存儲規(guī)則,采集的數(shù)據(jù)按照設(shè)置的存儲規(guī)則進(jìn) 行存儲;如果沒有設(shè)置數(shù)據(jù)存儲規(guī)則,則按照默認(rèn)的存儲位置存儲。
[0055] 所述任務(wù)執(zhí)行模塊2通過加載數(shù)據(jù)采集接口規(guī)則信息,監(jiān)聽激活狀態(tài)的數(shù)據(jù)源采 集任務(wù),當(dāng)發(fā)現(xiàn)有新數(shù)據(jù)產(chǎn)生時,獲取新數(shù)據(jù),實(shí)現(xiàn)對數(shù)據(jù)源的實(shí)時采集。對于不同類型的 數(shù)據(jù)源,采集方式各不相同,該工具支持三大類型的數(shù)據(jù)采集方式:數(shù)據(jù)庫類型、文本類型、 socket通信數(shù)據(jù),比較全面地覆蓋了當(dāng)前通用數(shù)據(jù)源類型。
[0056] 其中,所述數(shù)據(jù)存儲模塊3采用分布式開源系統(tǒng)ES,且ES的服務(wù)器地址采用默認(rèn) 指定位置或用戶自定義的存儲位置。
[0057] 所述采集任務(wù)信息包含兩部分內(nèi)容:任務(wù)狀態(tài)信息和數(shù)據(jù)采集接口信息。
[0058] 任務(wù)狀態(tài)信息包括激活狀態(tài)和鎖定狀態(tài),啟動時,執(zhí)行激活狀態(tài)的采集任務(wù)。
[0059] 數(shù)據(jù)采集接口信息又包括數(shù)據(jù)源的名稱、源數(shù)據(jù)存儲方式和源數(shù)據(jù)存儲格式。源 數(shù)據(jù)存儲方式是指數(shù)據(jù)源的存儲類型以及存儲位置,源數(shù)據(jù)存儲格式是指數(shù)據(jù)本身的格 式,以及采集內(nèi)容。數(shù)據(jù)源的存儲類型包括:數(shù)據(jù)庫類型,如MySQL、0racle等;文本類型,如 txt、Sysl〇g等;socket通信數(shù)據(jù)?;竞w了目前通用的數(shù)據(jù)源采集類型。對于數(shù)據(jù)庫類 型的數(shù)據(jù),需要指明數(shù)據(jù)庫所在的主機(jī)IP地址、數(shù)據(jù)庫名稱、用戶名、密碼;對于文本類型, 需要指明文件的存儲路徑;socket通信,需要指明協(xié)議域、socket類型、端口號、協(xié)議類型 以及通信密鑰等。數(shù)據(jù)存儲格式信息,包含采集數(shù)據(jù)內(nèi)容的存儲格式:對于數(shù)據(jù)庫數(shù)據(jù),包 括要讀取的數(shù)據(jù)表名,字段名,主鍵信息;對于文本數(shù)據(jù),則包括文件的名稱,以及關(guān)鍵字信 肩、。
[0060] 如圖2所示,所述任務(wù)執(zhí)行模塊2采用多線程對多個數(shù)據(jù)源進(jìn)行并行采集,每個線 程包括初始化單元21、任務(wù)執(zhí)行單元22和數(shù)據(jù)輸出單元23 ;
[0061 ] 所述初始化單元21,其用于加載數(shù)據(jù)采集接口規(guī)則,讀取采集任務(wù)信息,實(shí)現(xiàn)對數(shù) 據(jù)采集接口的初始化,所述任務(wù)執(zhí)行單元22,其用于獲取當(dāng)前的采集任務(wù)列表,對激活狀態(tài) 的采集任務(wù)進(jìn)行監(jiān)聽,當(dāng)有新數(shù)據(jù)產(chǎn)生時進(jìn)行數(shù)據(jù)采集,并將采集的數(shù)據(jù)傳送給數(shù)據(jù)輸出 單元23 ;所述數(shù)據(jù)輸出單元23,其用于將采集的數(shù)據(jù)按照統(tǒng)一格式(默認(rèn)狀態(tài)下,采集到的 數(shù)據(jù)按照用戶定義字段和內(nèi)容的格式轉(zhuǎn)換為JS0N格式,用戶也可以指定其他數(shù)據(jù)格式)進(jìn) 行封裝,并傳輸?shù)綌?shù)據(jù)存儲模塊進(jìn)行存儲。在默認(rèn)的情況下,把采集數(shù)據(jù)存儲到分布式系統(tǒng) Elastic Search(簡稱ES)中,ES是一個分布式的檢索系統(tǒng),用來存儲數(shù)據(jù),實(shí)現(xiàn)高效檢索 和分析處理。用戶可以指定數(shù)據(jù)存儲的服務(wù)器地址,也可以指定其他的存儲方式。另外,如 果用戶配置了其他數(shù)據(jù)存儲規(guī)則,則在初始化的時候需要加載數(shù)據(jù)存儲規(guī)則,在輸出數(shù)據(jù) 時,按照數(shù)據(jù)存儲規(guī)則進(jìn)行存儲。
[0062] 如圖3所示,一種開放式的多源數(shù)據(jù)采集方法,包括如下步驟:
[0063] 步驟1 :根據(jù)需要創(chuàng)建采集任務(wù),配置采集任務(wù)信息,生成相應(yīng)的數(shù)據(jù)采集接口規(guī) 貝1J,其中每一個采集任務(wù)對應(yīng)一個數(shù)據(jù)采集接口,用戶通過配置采集任務(wù)信息,添加不同類 型的數(shù)據(jù)采集接口信息;
[0064] 步驟2 :加載數(shù)據(jù)采集接口規(guī)則,檢測采集任務(wù)的任務(wù)狀態(tài),找出處于激活狀態(tài)的 采集任務(wù),處于激活狀態(tài)的采集任務(wù)對數(shù)據(jù)源進(jìn)行監(jiān)聽,當(dāng)有新數(shù)據(jù)時進(jìn)行數(shù)據(jù)采集;
[0065] 步驟3 :將采集到的數(shù)據(jù)按照統(tǒng)一格式進(jìn)行封裝,并傳輸?shù)綌?shù)據(jù)存儲模塊進(jìn)行存 儲,實(shí)現(xiàn)對采集數(shù)據(jù)的統(tǒng)一分布式存儲。
[0066] 步驟1的具體實(shí)現(xiàn)為用戶在交互界面配置采集任務(wù)信息,并將配置完成的采集任 務(wù)信息傳遞給服務(wù)器;服務(wù)器根據(jù)接收的采集任務(wù)信息生成數(shù)據(jù)采集接口規(guī)則。上述技術(shù) 方案還包括根據(jù)需要添加、更改、激活、鎖定和刪除采集任務(wù)。
[0067] 首先,添加采集任務(wù),配置采集任務(wù)信息。配置信息包括:數(shù)據(jù)采集接口信息和采 集任務(wù)狀態(tài)信息。該工具比較全面的覆蓋了目前通用的數(shù)據(jù)采集類型:數(shù)據(jù)庫類型、文本 類型和socket通信數(shù)據(jù)。對于數(shù)據(jù)庫類型的數(shù)據(jù)源,需要配置的數(shù)據(jù)采集接口信息包括: 數(shù)據(jù)源的名稱、數(shù)據(jù)庫連接方式和需要采集的數(shù)據(jù)表及字段。具體信息包括數(shù)據(jù)庫所在服 務(wù)器IP地址、數(shù)據(jù)庫名稱、用戶名、密碼、數(shù)據(jù)表和采集字段。對于文本類型的數(shù)據(jù)源,需 要配置的數(shù)據(jù)采集接口信息包括:數(shù)據(jù)源的名稱、文本文件的訪問路徑和文件名稱。對于 socket傳輸數(shù)據(jù),需要配置數(shù)據(jù)采集接口信息包括協(xié)議域、socket類型、端口號、協(xié)議類 型。對于以上三類數(shù)據(jù)還需要配置采集任務(wù)的狀態(tài)信息,為激活狀態(tài)或鎖定狀態(tài)。用戶在 交互界面配置好采集任務(wù)信息后,點(diǎn)擊保存,在后臺生成數(shù)據(jù)采集接口規(guī)則文件,以XML的 格式存在。用戶也可以直接編寫配置文件,實(shí)現(xiàn)采集任務(wù)的添加。
[0068] 采集任務(wù)信息保存之后,加載數(shù)據(jù)采集接口規(guī)則文件,這時,就可以通過工具對已 配置的采集任務(wù)進(jìn)行各種操作,包括添加、修改、刪除;以及狀態(tài)的控制。任務(wù)狀態(tài)如果是激 活,則表示啟動后要執(zhí)行此任務(wù);任務(wù)狀態(tài)如果是鎖定,表示啟動后不執(zhí)行此任務(wù)。用戶可 以通過交互界面控制采集任務(wù)狀態(tài)的更改。
[0069]啟動之后,獲取到了當(dāng)前的采集任務(wù)列表。用戶可以執(zhí)行采集任務(wù),工具獲取激活 狀態(tài)的采集任務(wù)列表,對激活狀態(tài)的數(shù)據(jù)源進(jìn)行監(jiān)聽和數(shù)據(jù)獲取。默認(rèn)情況下,把采集到的 數(shù)據(jù)封裝為字段和內(nèi)容格式的JS0N格式。用戶也可以自定義數(shù)據(jù)封裝格式。
[0070] 當(dāng)需要接入新的數(shù)據(jù)源時,只需要在任務(wù)管理模塊添加采集任務(wù)即可,該系統(tǒng)支 持?jǐn)?shù)據(jù)庫類型、文本類型和socket通信類型的數(shù)據(jù)源,并且有自動加載功能,不需重啟即 可加載新接入的數(shù)據(jù)采集接口信息。
[0071] 如圖4所示,步驟2的具體實(shí)現(xiàn)為采用多線程實(shí)現(xiàn)對多個數(shù)據(jù)源的并行采集,每個 線程的處理步驟如下:
[0072] 步驟2. 1 :加載數(shù)據(jù)采集接口規(guī)則,讀取采集任務(wù)信息,實(shí)現(xiàn)對數(shù)據(jù)采集接口的初 始化;
[0073] 步驟2. 2 :獲取當(dāng)前的采集任務(wù)列表,對激活狀態(tài)的采集任務(wù)進(jìn)行監(jiān)聽,當(dāng)有新數(shù) 據(jù)產(chǎn)生時進(jìn)行數(shù)據(jù)采集;
[0074] 步驟2. 3 :將采集的數(shù)據(jù)按照統(tǒng)一格式進(jìn)行封裝,并傳輸?shù)綌?shù)據(jù)存儲模塊進(jìn)行存 儲。
[0075] 以上所述僅為本發(fā)明的較佳實(shí)施例,并不用以限制本發(fā)明,凡在本發(fā)明的精神和 原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
【權(quán)利要求】
1. 一種開放式的多源數(shù)據(jù)采集系統(tǒng),其特征在于,包括任務(wù)管理模塊、任務(wù)執(zhí)行模塊和 數(shù)據(jù)存儲模塊; 所述任務(wù)管理模塊,其用于根據(jù)需要創(chuàng)建采集任務(wù),配置采集任務(wù)信息,生成相應(yīng)的數(shù) 據(jù)采集接口規(guī)則,其中每一個采集任務(wù)對應(yīng)一個數(shù)據(jù)采集接口,用戶通過配置采集任務(wù)信 息,添加不同類型的數(shù)據(jù)采集接口信息; 所述任務(wù)執(zhí)行模塊,其用于加載數(shù)據(jù)采集接口規(guī)則,執(zhí)行處于激活狀態(tài)的采集任務(wù),相 應(yīng)的采集任務(wù)進(jìn)行數(shù)據(jù)源監(jiān)聽并采集數(shù)據(jù),將接采集的數(shù)據(jù)按照統(tǒng)一格式進(jìn)行封裝,并發(fā) 送給數(shù)據(jù)存儲模塊; 所述數(shù)據(jù)存儲模塊,其用于存儲數(shù)據(jù)輸出模塊輸出的數(shù)據(jù)。
2. 根據(jù)權(quán)利要求1所述一種開放式的多源數(shù)據(jù)采集系統(tǒng),其特征在于,所述任務(wù)管理 模塊還用于通過配置和修改數(shù)據(jù)采集接口規(guī)則實(shí)現(xiàn)對采集任務(wù)的添加、更改、激活、鎖定和 刪除;當(dāng)有新的數(shù)據(jù)源接入時,只需要添加采集任務(wù)并配置采集任務(wù)信息,生成相應(yīng)的數(shù)據(jù) 采集接口規(guī)則。
3. 根據(jù)權(quán)利要求1所述一種開放式的多源數(shù)據(jù)采集系統(tǒng),其特征在于,所述任務(wù)執(zhí)行 模塊采用多線程對多個數(shù)據(jù)源進(jìn)行并行采集,每個線程包括初始化單元、任務(wù)執(zhí)行單元和 數(shù)據(jù)輸出單兀; 所述初始化單元,其用于加載數(shù)據(jù)采集接口規(guī)則,讀取采集任務(wù)信息,實(shí)現(xiàn)對數(shù)據(jù)采集 接口的初始化; 所述任務(wù)執(zhí)行單元,其用于獲取當(dāng)前的采集任務(wù)列表,對激活狀態(tài)的采集任務(wù)進(jìn)行監(jiān) 聽,當(dāng)有新數(shù)據(jù)產(chǎn)生時進(jìn)行數(shù)據(jù)采集,并將采集的數(shù)據(jù)傳送給數(shù)據(jù)輸出單元; 所述數(shù)據(jù)輸出單元,其用于將采集的數(shù)據(jù)按照統(tǒng)一格式進(jìn)行封裝,并傳輸?shù)綌?shù)據(jù)存儲 模塊進(jìn)行存儲。
4. 根據(jù)權(quán)利要求1或3所述一種開放式的多源數(shù)據(jù)采集系統(tǒng),其特征在于,所述數(shù)據(jù)存 儲模塊采用分布式開源系統(tǒng)Elastic Search,且Elastic Search的服務(wù)器地址采用默認(rèn)指 定位置或用戶通過數(shù)據(jù)存儲規(guī)則自定義的存儲位置。
5. 根據(jù)權(quán)利要求1或3所述一種開放式的多源數(shù)據(jù)采集系統(tǒng),其特征在于,所述采集任 務(wù)信息包括數(shù)據(jù)采集接口信息和任務(wù)狀態(tài)信息; 所述數(shù)據(jù)采集接口信息包括數(shù)據(jù)源的名稱、源數(shù)據(jù)存儲方式和源數(shù)據(jù)存儲格式;所述 源數(shù)據(jù)存儲方式指數(shù)據(jù)源的存儲類型以及存儲位置;所述源數(shù)據(jù)存儲格式是指源數(shù)據(jù)本身 的格式及采集內(nèi)容; 所述任務(wù)狀態(tài)信息激活狀態(tài)和鎖定狀態(tài)。
6. 根據(jù)權(quán)利要求5所述一種開放式的多源數(shù)據(jù)采集系統(tǒng),其特征在于,所述數(shù)據(jù)源的 類型包括數(shù)據(jù)庫類型、文本類型和socket通信數(shù)據(jù)類型。
7. -種開放式的多源數(shù)據(jù)采集方法,其特征在于,包括如下步驟: 步驟1 :根據(jù)需要創(chuàng)建采集任務(wù),配置采集任務(wù)信息,生成相應(yīng)的數(shù)據(jù)采集接口規(guī)則, 其中每一個采集任務(wù)對應(yīng)一個數(shù)據(jù)采集接口,用戶通過配置采集任務(wù)信息,添加不同類型 的數(shù)據(jù)采集接口信息; 步驟2 :加載數(shù)據(jù)采集接口規(guī)則,檢測采集任務(wù)的任務(wù)狀態(tài),找出處于激活狀態(tài)的采集 任務(wù),處于激活狀態(tài)的采集任務(wù)對數(shù)據(jù)源進(jìn)行監(jiān)聽,當(dāng)有新數(shù)據(jù)時進(jìn)行數(shù)據(jù)采集; 步驟3 :將采集到的數(shù)據(jù)按照統(tǒng)一格式進(jìn)行封裝,并傳輸?shù)綌?shù)據(jù)存儲模塊進(jìn)行存儲,實(shí) 現(xiàn)對采集數(shù)據(jù)的統(tǒng)一分布式存儲。
8. 根據(jù)權(quán)利要求7所述一種開放式的多源數(shù)據(jù)采集方法,其特征在于,上述技術(shù)方案 還包括根據(jù)需要添加、更改、激活、鎖定和刪除采集任務(wù)。
9. 根據(jù)權(quán)利要求7所述一種開放式的多源數(shù)據(jù)采集方法,其特征在于,步驟2的具體實(shí) 現(xiàn)為采用多線程實(shí)現(xiàn)對多個數(shù)據(jù)源的并行采集,每個線程的處理步驟如下: 步驟2. 1 :加載數(shù)據(jù)采集接口規(guī)則,讀取采集任務(wù)信息,實(shí)現(xiàn)對數(shù)據(jù)采集接口的初始 化; 步驟2. 2 :獲取當(dāng)前的采集任務(wù)列表,對激活狀態(tài)的采集任務(wù)進(jìn)行監(jiān)聽,當(dāng)有新數(shù)據(jù)產(chǎn) 生時進(jìn)行數(shù)據(jù)采集; 步驟2. 3 :將采集的數(shù)據(jù)按照統(tǒng)一格式進(jìn)行封裝,并傳輸?shù)綌?shù)據(jù)存儲模塊進(jìn)行存儲。
10. 根據(jù)權(quán)利要求7或9所述一種開放式的多源數(shù)據(jù)采集方法,其特征在于,所述數(shù)據(jù) 存儲模塊采用分布式開源系統(tǒng)Elastic Search,且Elastic Search的服務(wù)器地址采用默認(rèn) 指定位置或用戶自定義的存儲位置。
11. 根據(jù)權(quán)利要求7或9所述一種開放式的多源數(shù)據(jù)采集方法,其特征在于,所述采集 任務(wù)信息包括數(shù)據(jù)米集接口信息和任務(wù)狀態(tài)信息; 所述數(shù)據(jù)采集接口信息包括數(shù)據(jù)源的名稱、源數(shù)據(jù)存儲方式和源數(shù)據(jù)存儲格式;所述 源數(shù)據(jù)存儲方式指數(shù)據(jù)源的存儲類型以及存儲位置,所述源數(shù)據(jù)存儲格式是指數(shù)據(jù)本身的 格式,以及采集內(nèi)容; 所述信息任務(wù)狀態(tài)包括激活狀態(tài)和鎖定狀態(tài)。
12. 根據(jù)權(quán)利要求11所述一種開放式的多源數(shù)據(jù)采集方法,其特征在于,所述數(shù)據(jù)源 的類型包括數(shù)據(jù)庫類型、文本類型和socket通信數(shù)據(jù)類型。
【文檔編號】G06F3/06GK104111983SQ201410306336
【公開日】2014年10月22日 申請日期:2014年6月30日 優(yōu)先權(quán)日:2014年6月30日
【發(fā)明者】張浩亮, 柳廳文, 時金橋, 亞靜, 郭莉, 胡蘭蘭, 季月英, 閆旸 申請人:中國科學(xué)院信息工程研究所