一種數(shù)據(jù)清洗方法及系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及數(shù)據(jù)處理技術(shù)領(lǐng)域,尤其涉及一種數(shù)據(jù)清洗方法及系統(tǒng)。
【背景技術(shù)】
[0002]數(shù)據(jù)清洗是發(fā)現(xiàn)并糾正數(shù)據(jù)文件中可識(shí)別的錯(cuò)誤的最后一道程序,包括檢查數(shù)據(jù)一致性,處理無(wú)效值和缺失值等。因?yàn)閿?shù)據(jù)倉(cāng)庫(kù)中的數(shù)據(jù)是面向某一主題的數(shù)據(jù)的集合,這些數(shù)據(jù)從多個(gè)業(yè)務(wù)系統(tǒng)中抽取而來而且包含歷史數(shù)據(jù),這樣就避免不了有的數(shù)據(jù)是錯(cuò)誤數(shù)據(jù)、有的數(shù)據(jù)相互之間有沖突,這些錯(cuò)誤的或有沖突的數(shù)據(jù)顯然是我們不想要的,稱為“臟數(shù)據(jù)”。我們要按照一定的規(guī)則把“臟數(shù)據(jù)” “洗掉”,這就是數(shù)據(jù)清洗。
[0003]數(shù)據(jù)清洗的任務(wù)是為了將很多種不同的信息安全檢測(cè)的工具統(tǒng)一成平臺(tái)專用格式,并且提取有用的數(shù)據(jù),用于后續(xù)流程的數(shù)據(jù)流轉(zhuǎn)。
[0004]舉例來說,平臺(tái)會(huì)使用大量的開源工具對(duì)企業(yè)內(nèi)部資源進(jìn)行探測(cè)及評(píng)估,由于各工具的指令格式及結(jié)果數(shù)據(jù)格式不統(tǒng)一,導(dǎo)致不利于數(shù)據(jù)的收集與整理,所以使用數(shù)據(jù)清洗組件對(duì)此進(jìn)行處理。數(shù)據(jù)清洗為發(fā)現(xiàn)、過濾及轉(zhuǎn)換不符要求信息的數(shù)據(jù)處理過程,針對(duì)各開源工具的命令重寫和工具運(yùn)行結(jié)果數(shù)據(jù)的一致性檢查,并對(duì)結(jié)果數(shù)據(jù)的無(wú)效值、缺少值、重復(fù)數(shù)據(jù)的處理與規(guī)格化。
[0005]目前,通常是針對(duì)兩個(gè)或多個(gè)檢測(cè)工具編寫一個(gè)統(tǒng)一的接口,這種方式難以拓展,而且每次需要修改內(nèi)核代碼,通過以發(fā)布新的版本來增加新的工具或接口。
[0006]有鑒于此,現(xiàn)有技術(shù)有待改進(jìn)和提尚。
【發(fā)明內(nèi)容】
[0007]鑒于上述現(xiàn)有技術(shù)的不足之處,本發(fā)明的目的在于提供一種數(shù)據(jù)清洗方法及系統(tǒng),旨在解決現(xiàn)有數(shù)據(jù)清理方法難以拓展的問題。
[0008]為了達(dá)到上述目的,本發(fā)明采取了以下技術(shù)方案:
[0009]一種數(shù)據(jù)清洗方法,其中,包括以下步驟:
[0010]S1、程序運(yùn)行后,構(gòu)建待清洗數(shù)據(jù)源;其中,所述帶清洗數(shù)據(jù)源為JSON格式,且符合IP的正常字段;
[0011]S2、根據(jù)工具腳本提取待清洗數(shù)據(jù)源中有用的數(shù)據(jù)生成相應(yīng)的命令,運(yùn)行后再通過實(shí)時(shí)返回或者回調(diào)方式得到運(yùn)行后的數(shù)據(jù)源。
[0012]所述的數(shù)據(jù)清洗方法,其中,所述步驟SI中的待清洗數(shù)據(jù)源包括:IP、URL、操作系統(tǒng)、漏洞名稱以及對(duì)應(yīng)的網(wǎng)址或網(wǎng)絡(luò)域名。
[0013]所述的數(shù)據(jù)清洗方法,其中,還包括步驟S3、根據(jù)工具腳本提取運(yùn)行后的數(shù)據(jù)源的運(yùn)行結(jié)果,進(jìn)行一致性判斷、無(wú)效處理、缺少值處理和/或重復(fù)值處理,得到清洗后的數(shù)據(jù)源。
[0014]所述的數(shù)據(jù)清洗方法,其中,所述運(yùn)行后的數(shù)據(jù)源中還包括工具結(jié)果。
[0015]所述的數(shù)據(jù)清洗方法,其中,所述S2中回調(diào)方式具體包括:將待清洗數(shù)據(jù)源和任務(wù)放入隊(duì)列中,提取所述任務(wù)后運(yùn)行返回工具結(jié)果到對(duì)應(yīng)的運(yùn)行后的數(shù)據(jù)源。
[0016]一種數(shù)據(jù)清洗系統(tǒng),其中,包括:
[0017]構(gòu)建單元,用于在程序運(yùn)行后,構(gòu)建待清洗數(shù)據(jù)源;其中,所述帶清洗數(shù)據(jù)源為JSON格式,且符合IP的正常字段;
[0018]命令生成單元,用于根據(jù)工具腳本提取待清洗數(shù)據(jù)源中有用的數(shù)據(jù)生成相應(yīng)的命令,運(yùn)行后再通過實(shí)時(shí)返回或者回調(diào)方式得到運(yùn)行后的數(shù)據(jù)源。
[0019]所述的數(shù)據(jù)清洗系統(tǒng),其中,所述構(gòu)建單元中的待清洗數(shù)據(jù)源包括:IP、URL、操作系統(tǒng)、漏洞名稱以及對(duì)應(yīng)的網(wǎng)址或網(wǎng)絡(luò)域名。
[0020]所述的數(shù)據(jù)清洗系統(tǒng),其中,還包括:后置處理單元,用于根據(jù)工具腳本提取運(yùn)行后的數(shù)據(jù)源的運(yùn)行結(jié)果,進(jìn)行一致性判斷、無(wú)效處理、缺少值處理和/或重復(fù)值處理,得到清洗后的數(shù)據(jù)源。
[0021]所述的數(shù)據(jù)清洗系統(tǒng),其中,所述運(yùn)行后的數(shù)據(jù)源中還包括工具結(jié)果。
[0022]所述的數(shù)據(jù)清洗系統(tǒng),其中,所述命令生成單元中回調(diào)方式具體包括:將待清洗數(shù)據(jù)源和任務(wù)放入隊(duì)列中,提取所述任務(wù)后運(yùn)行返回工具結(jié)果到對(duì)應(yīng)的運(yùn)行后的數(shù)據(jù)源。
[0023]有益效果:本發(fā)明提供的數(shù)據(jù)清洗方法及系統(tǒng),其中,所述方法包括:首先,程序運(yùn)行后構(gòu)建待清洗數(shù)據(jù)源;再根據(jù)工具腳本提取待清洗數(shù)據(jù)源中有用的數(shù)據(jù)生成相應(yīng)的命令,運(yùn)行后再通過實(shí)時(shí)返回或者回調(diào)方式得到運(yùn)行后的數(shù)據(jù)源。其容易拓展,適應(yīng)能力強(qiáng),不會(huì)因?yàn)楣ぞ叩母聯(lián)Q代而導(dǎo)致整個(gè)系統(tǒng)重新編譯,是目前非??尚械慕鉀Q方案,具有很好的市場(chǎng)推廣應(yīng)用前景。
【附圖說明】
[0024]圖1為本發(fā)明的數(shù)據(jù)清洗方法的流程圖。
[0025]圖2為本發(fā)明的數(shù)據(jù)清洗系統(tǒng)的結(jié)構(gòu)框圖。
【具體實(shí)施方式】
[0026]本發(fā)明提供一種數(shù)據(jù)清洗方法及系統(tǒng)。為使本發(fā)明的目的、技術(shù)方案及效果更加清楚、明確,以下參照附圖并舉實(shí)施例對(duì)本發(fā)明進(jìn)一步詳細(xì)說明。應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
[0027]本發(fā)明的思路是:將數(shù)據(jù)清洗編寫成一個(gè)平臺(tái)框架,當(dāng)每次出現(xiàn)新的信息安全檢測(cè)的工具,只需要編寫對(duì)應(yīng)的腳本放入到此平臺(tái),使得容易拓展,適應(yīng)新出的各種工具,適應(yīng)能力強(qiáng),不會(huì)因?yàn)楣ぞ叩母聯(lián)Q代而導(dǎo)致整個(gè)平臺(tái)重新編譯,只需要修改對(duì)應(yīng)的腳本或參數(shù)。
[0028]為了方便理解,對(duì)前述的一些技術(shù)特征的解釋:
[0029](I)不符要求信息:比如,一個(gè)是掃描IP的信息安全檢測(cè)工具,它的作用是得出IP信息,那么僅僅提取IP信息就夠了,如時(shí)間等其他數(shù)據(jù)就為無(wú)用信息,這些可以過濾掉的信息即屬于不符要求信息。
[0030](2) 一致性:例如要掃描IP的工具,能掃描出來的結(jié)果數(shù)據(jù)有一定的格式,掃描不出來也有一定的格式,只提取掃描出來的結(jié)果的格式,就只提取這個(gè)數(shù)據(jù)。
[0031](3)無(wú)效值、缺少值、重復(fù)數(shù)據(jù)如何處理以及規(guī)格化:結(jié)果可能是雜亂無(wú)章,無(wú)效,缺失或重復(fù),根據(jù)這個(gè)結(jié)果的共性進(jìn)行處理,如拋棄無(wú)效值,補(bǔ)齊缺少值,去掉重復(fù)的數(shù)據(jù)。
[0032]請(qǐng)參閱圖1,其為本發(fā)明的數(shù)據(jù)清洗方法的流程圖。如圖所示,所述數(shù)據(jù)清洗方法包括以下步驟:
[0033]S100、程序運(yùn)行后,構(gòu)建待清洗數(shù)據(jù)源;其中,所述帶清洗數(shù)據(jù)源為JSON格式,且符合IP的正常字段;
[0034]S200、根據(jù)工具腳本提取待清洗數(shù)據(jù)源中有用的數(shù)據(jù)生成相應(yīng)的命令,運(yùn)行后再通過實(shí)時(shí)返回或者回調(diào)方式得到運(yùn)行后的數(shù)據(jù)源。
[0035]下面分別針對(duì)上述步驟進(jìn)行具體描述。
[003