本發(fā)明涉及挖掘技術(shù),尤其涉及一種基于分布式數(shù)據(jù)的實(shí)時(shí)挖掘方法及裝置。
背景技術(shù):
現(xiàn)有的數(shù)據(jù)挖掘平臺(tái),基本都是采用的客戶端/服務(wù)器即(c/s)架構(gòu),用一臺(tái)性能優(yōu)秀的小型機(jī)作為服務(wù)器,普通pc做為客戶機(jī)。服務(wù)器的主要工作是做計(jì)算,包括抽取轉(zhuǎn)換加載(etl,extract-transform-load)、算法運(yùn)算、打分等操作,客戶機(jī)主要是做初步的數(shù)據(jù)處理和展現(xiàn)功能。比較常見的做法是將1臺(tái)小型機(jī)劃出一個(gè)分區(qū),包括cpu、內(nèi)存和磁盤陣列,作為服務(wù)器,用普通的pc機(jī)或者筆記本做為客戶機(jī)。
這種模式在大數(shù)據(jù)時(shí)代遇到了很大的挑戰(zhàn)。首先,由于小型機(jī)價(jià)格昂貴,現(xiàn)在許多公司已經(jīng)開始去ioe,很少購買小型機(jī)。所述去ioe指,用成本更加低廉的軟件——mysql替代oracle數(shù)據(jù)庫,使用pcserver替代ibm小型機(jī)等設(shè)備。當(dāng)前主流的做法是采用pcserver做服務(wù)器集群,小型機(jī)逐步被淘汰。數(shù)據(jù)挖掘平臺(tái)暫時(shí)還可以繼續(xù)使用利舊的處理能力較強(qiáng)的小型機(jī),但從長遠(yuǎn)看,這種模式遲早將面臨著無機(jī)可用的情況。
此外,現(xiàn)有的數(shù)據(jù)挖掘流程,還是采用跨行業(yè)數(shù)據(jù)挖掘標(biāo)準(zhǔn)流程(crisp-dm,cross-industrystandardprocessfordatamining),分為業(yè)務(wù)理解、數(shù)據(jù)理解、數(shù)據(jù)準(zhǔn)備、建模、評(píng)估和部署六個(gè)階段。整個(gè)過程是串行,前后依賴,只有完成了前一個(gè)階段,才能進(jìn)入后一個(gè)階段。尤其是數(shù)據(jù)準(zhǔn)備階段,往往需要較長時(shí)間,后續(xù)的建模處理就只能繼續(xù)等待,效率低下,尤其,面對(duì)目前大數(shù)據(jù)處理中的海量數(shù)據(jù)的處理來說,也是效率非常低下的,難以滿足數(shù)據(jù) 實(shí)時(shí)處理的需求。
技術(shù)實(shí)現(xiàn)要素:
有鑒于此,本發(fā)明實(shí)施例希望提供一種基于分布式數(shù)據(jù)的實(shí)時(shí)挖掘方法及裝置,至少解決了現(xiàn)有技術(shù)存在的問題。
本發(fā)明實(shí)施例的技術(shù)方案是這樣實(shí)現(xiàn)的:
本發(fā)明實(shí)施例的一種基于分布式數(shù)據(jù)的實(shí)時(shí)挖掘方法,所述方法包括:
將集中的串行數(shù)據(jù)分解為可執(zhí)行并行操作的數(shù)據(jù);
當(dāng)所述可執(zhí)行并行操作的數(shù)據(jù)累積達(dá)到預(yù)定數(shù)量時(shí),按照基于內(nèi)存的分布式算法進(jìn)行數(shù)據(jù)建模,得到數(shù)據(jù)模型;
根據(jù)所述數(shù)據(jù)模型和輔助數(shù)據(jù)進(jìn)行處理,得到數(shù)據(jù)處理結(jié)果。
上述方案中,所述數(shù)據(jù)模型為多個(gè),進(jìn)行所述數(shù)據(jù)建模得到第一數(shù)據(jù)模型后,將用于第x數(shù)據(jù)模型的數(shù)據(jù)作為所述輔助數(shù)據(jù);
所述根據(jù)所述數(shù)據(jù)模型和輔助數(shù)據(jù)進(jìn)行處理,包括:根據(jù)第一數(shù)據(jù)模型和對(duì)應(yīng)第x數(shù)據(jù)模型生成的輔助數(shù)據(jù)進(jìn)行處理。
上述方案中,所述將集中的串行數(shù)據(jù)分解為可執(zhí)行并行操作的數(shù)據(jù),包括:
通過部署在業(yè)務(wù)系統(tǒng)的接口實(shí)時(shí)監(jiān)控接口變化,監(jiān)控到新增數(shù)據(jù)時(shí),立即進(jìn)行數(shù)據(jù)抽取,將所有接口新增數(shù)據(jù)讀取出來,并傳入消息隊(duì)列集群;
讀取的數(shù)據(jù)在消息隊(duì)列集群中的消息隊(duì)列中進(jìn)行緩存,以供流處理集群處理;
流處理集群讀取消息隊(duì)列中緩存的數(shù)據(jù),進(jìn)行包括規(guī)則過濾和實(shí)時(shí)轉(zhuǎn)換在內(nèi)的數(shù)據(jù)處理,將處理結(jié)果存入存儲(chǔ)集群。
上述方案中,所述進(jìn)行包括規(guī)則過濾和實(shí)時(shí)轉(zhuǎn)換在內(nèi)的數(shù)據(jù)處理,包括:
根據(jù)預(yù)設(shè)規(guī)則進(jìn)行實(shí)時(shí)清洗,所述實(shí)時(shí)清洗所針對(duì)的清洗對(duì)象為按照預(yù)設(shè)粒度對(duì)數(shù)據(jù)按條進(jìn)行處理所得到的一條記錄或者一個(gè)字段;
實(shí)時(shí)清洗后,根據(jù)預(yù)設(shè)規(guī)則生成衍生字段,實(shí)現(xiàn)實(shí)時(shí)轉(zhuǎn)換。
上述方案中,所述將處理結(jié)果存入存儲(chǔ)集群,包括:
將處理結(jié)果保存為hbase/hdfs格式文件,存入內(nèi)存表中,或者,直接存入內(nèi)存中。
上述方案中,所述當(dāng)所述可執(zhí)行并行操作的數(shù)據(jù)累積達(dá)到預(yù)定數(shù)量時(shí),按照基于內(nèi)存的分布式算法進(jìn)行數(shù)據(jù)建模,包括:
將基于內(nèi)存的分布式r算法與spark平臺(tái)相結(jié)合,在spark平臺(tái)中生成所述分布式r算法對(duì)應(yīng)的數(shù)據(jù)對(duì)象,得到sparkr的對(duì)象;
從所述存儲(chǔ)集群中讀出數(shù)據(jù)到sparkr存儲(chǔ);
劃分訓(xùn)練集和測(cè)試集;
調(diào)用決策樹算法的參數(shù)構(gòu)建數(shù)據(jù)模型,將所述處理結(jié)果轉(zhuǎn)化為dataframe分布式數(shù)據(jù)框格式。
本發(fā)明實(shí)施例的一種基于分布式數(shù)據(jù)的實(shí)時(shí)挖掘裝置,所述裝置包括:
第一處理單元,用于將集中的串行數(shù)據(jù)分解為可執(zhí)行并行操作的數(shù)據(jù);
數(shù)據(jù)建模單元,用于當(dāng)所述可執(zhí)行并行操作的數(shù)據(jù)累積達(dá)到預(yù)定數(shù)量時(shí),按照基于內(nèi)存的分布式算法進(jìn)行數(shù)據(jù)建模,得到數(shù)據(jù)模型;
處理單元,用于根據(jù)所述數(shù)據(jù)模型和輔助數(shù)據(jù)進(jìn)行處理,得到數(shù)據(jù)處理結(jié)果。
上述方案中,所述數(shù)據(jù)模型為多個(gè),進(jìn)行所述數(shù)據(jù)建模得到第一數(shù)據(jù)模型后,將用于第x數(shù)據(jù)模型的數(shù)據(jù)作為所述輔助數(shù)據(jù);
所述處理單元,進(jìn)一步用于根據(jù)第一數(shù)據(jù)模型和對(duì)應(yīng)第x數(shù)據(jù)模型生成的輔助數(shù)據(jù)進(jìn)行處理。
上述方案中,所述第一處理單元,包括:
數(shù)據(jù)抽取集群,用于通過部署在業(yè)務(wù)系統(tǒng)的接口實(shí)時(shí)監(jiān)控接口變化,監(jiān)控到新增數(shù)據(jù)時(shí),立即進(jìn)行數(shù)據(jù)抽取,將所有接口新增數(shù)據(jù)讀取出來,并傳入消息隊(duì)列集群;
消息隊(duì)列集群,用于將讀取的數(shù)據(jù)置入消息隊(duì)列中進(jìn)行緩存,以供流處理集群處理;
流處理集群,用于讀取消息隊(duì)列中緩存的數(shù)據(jù),進(jìn)行包括規(guī)則過濾和實(shí)時(shí) 轉(zhuǎn)換在內(nèi)的數(shù)據(jù)處理,將處理結(jié)果存入存儲(chǔ)集群;
存儲(chǔ)集群,用于存儲(chǔ)所述處理結(jié)果。
上述方案中,所述流處理集群,進(jìn)一步用于:
根據(jù)預(yù)設(shè)規(guī)則進(jìn)行實(shí)時(shí)清洗,所述實(shí)時(shí)清洗所針對(duì)的清洗對(duì)象為按照預(yù)設(shè)粒度對(duì)數(shù)據(jù)按條進(jìn)行處理所得到的一條記錄或者一個(gè)字段;
實(shí)時(shí)清洗后,根據(jù)預(yù)設(shè)規(guī)則生成衍生字段,實(shí)現(xiàn)實(shí)時(shí)轉(zhuǎn)換。
上述方案中,所述存儲(chǔ)集群,進(jìn)一步用于:
將處理結(jié)果保存為hbase/hdfs格式文件,存入內(nèi)存表中,或者,直接存入內(nèi)存中。
上述方案中,所述數(shù)據(jù)建模單元,進(jìn)一步用于:
將基于內(nèi)存的分布式r算法與spark平臺(tái)相結(jié)合,在spark平臺(tái)中生成所述分布式r算法對(duì)應(yīng)的數(shù)據(jù)對(duì)象,得到sparkr的對(duì)象;
從所述存儲(chǔ)集群中讀出數(shù)據(jù)到sparkr存儲(chǔ);
劃分訓(xùn)練集和測(cè)試集;
調(diào)用決策樹算法的參數(shù)構(gòu)建數(shù)據(jù)模型,將所述處理結(jié)果轉(zhuǎn)化為dataframe分布式數(shù)據(jù)框格式。
本發(fā)明實(shí)施例的基于分布式數(shù)據(jù)的實(shí)時(shí)挖掘方法包括:將集中的串行數(shù)據(jù)分解為可執(zhí)行并行操作的數(shù)據(jù);當(dāng)所述可執(zhí)行并行操作的數(shù)據(jù)累積達(dá)到預(yù)定數(shù)量時(shí),按照基于內(nèi)存的分布式算法進(jìn)行數(shù)據(jù)建模,得到數(shù)據(jù)模型;根據(jù)所述數(shù)據(jù)模型和輔助數(shù)據(jù)進(jìn)行處理,得到數(shù)據(jù)處理結(jié)果。采用本發(fā)明實(shí)施例,能大幅提高數(shù)據(jù)處理效率。
附圖說明
圖1為本發(fā)明實(shí)施例一的方法流程示意圖;
圖2為本發(fā)明實(shí)施例一實(shí)時(shí)處理數(shù)據(jù)的流程示意圖;
圖3為crisp-dm的數(shù)據(jù)挖掘過程的示意圖;
圖4為現(xiàn)有數(shù)據(jù)挖掘的數(shù)據(jù)準(zhǔn)備階段的示意圖;
圖5為應(yīng)用本發(fā)明實(shí)施例的數(shù)據(jù)處理過程示意圖;
圖6為應(yīng)用本發(fā)明實(shí)施例的實(shí)時(shí)數(shù)據(jù)處理流程的示意圖;
圖7為應(yīng)用本發(fā)明實(shí)施例的數(shù)據(jù)處理架構(gòu)示意圖;
圖8為應(yīng)用本發(fā)明實(shí)施例的r算法在spark平臺(tái)上運(yùn)行的示意圖;
圖9-10為應(yīng)用本發(fā)明實(shí)施例的模型訓(xùn)練集評(píng)估結(jié)果圖。
具體實(shí)施方式
下面結(jié)合附圖對(duì)技術(shù)方案的實(shí)施作進(jìn)一步的詳細(xì)描述。
實(shí)施例一:
一種基于分布式數(shù)據(jù)的實(shí)時(shí)挖掘方法,如圖1所示,所述方法包括:
步驟101、將集中的串行數(shù)據(jù)分解為可執(zhí)行并行操作的數(shù)據(jù);
這里,本步驟的具體過程包括:將集中的串行數(shù)據(jù)按照流式處理機(jī)制進(jìn)行實(shí)時(shí)數(shù)據(jù)處理,以分解為可執(zhí)行并行操作的數(shù)據(jù)。其中,所述流式處理機(jī)制也可以稱為流式輸入輸出方式,輸入數(shù)據(jù)為集中的串行數(shù)據(jù),經(jīng)流式處理機(jī)制進(jìn)行實(shí)時(shí)數(shù)據(jù)處理后,可以輸出可執(zhí)行并行操作的數(shù)據(jù)。
步驟102、當(dāng)所述可執(zhí)行并行操作的數(shù)據(jù)累積達(dá)到預(yù)定數(shù)量時(shí),按照基于內(nèi)存的分布式算法進(jìn)行數(shù)據(jù)建模,得到數(shù)據(jù)模型;
這里,基于內(nèi)存的分布式算法的一個(gè)實(shí)例為r算法,可以將基于內(nèi)存的分布式r算法和spark平臺(tái)相結(jié)合,spark平臺(tái)有別于分布式的hadoop平臺(tái),spark平臺(tái)是可擴(kuò)展的數(shù)據(jù)分析平臺(tái),它整合了內(nèi)存計(jì)算的基元,因此,相對(duì)于hadoop的集群存儲(chǔ)方法,它在性能方面更具優(yōu)勢(shì)。spark是在scala語言中實(shí)現(xiàn)的,并且利用了該語言,為數(shù)據(jù)處理提供了獨(dú)一無二的運(yùn)行環(huán)境。
步驟103、根據(jù)所述數(shù)據(jù)模型和輔助數(shù)據(jù)進(jìn)行處理,得到數(shù)據(jù)處理結(jié)果。
在本發(fā)明實(shí)施例一實(shí)施方式中,所述數(shù)據(jù)模型為多個(gè),進(jìn)行所述數(shù)據(jù)建模得到第一數(shù)據(jù)模型后,將用于第x數(shù)據(jù)模型的數(shù)據(jù)作為所述輔助數(shù)據(jù)。所述根據(jù)所述數(shù)據(jù)模型和輔助數(shù)據(jù)進(jìn)行處理,包括:根據(jù)第一數(shù)據(jù)模型和對(duì)應(yīng)第x數(shù)據(jù)模型生成的輔助數(shù)據(jù)進(jìn)行處理(如評(píng)估和部署)。也就是說,流式處理機(jī)制, 適合于一次處理一個(gè)數(shù)據(jù)模型,可以將其它的數(shù)據(jù)模型生成的數(shù)據(jù)作為輔助數(shù)據(jù)來使用,共同用于處理(如評(píng)估和部署)。
在本發(fā)明實(shí)施例一實(shí)施方式中,如圖2所示,所述將集中的串行數(shù)據(jù)分解為可執(zhí)行并行操作的數(shù)據(jù),包括:
步驟201、通過部署在業(yè)務(wù)系統(tǒng)的接口實(shí)時(shí)監(jiān)控接口變化,監(jiān)控到新增數(shù)據(jù)時(shí),立即進(jìn)行數(shù)據(jù)抽取,將所有接口新增數(shù)據(jù)讀取出來,并傳入消息隊(duì)列集群;
步驟202、讀取的數(shù)據(jù)在消息隊(duì)列集群中的消息隊(duì)列中進(jìn)行緩存,以供流處理集群處理;
步驟203、流處理集群讀取消息隊(duì)列中緩存的數(shù)據(jù),進(jìn)行包括規(guī)則過濾和實(shí)時(shí)轉(zhuǎn)換在內(nèi)的數(shù)據(jù)處理,將處理結(jié)果存入存儲(chǔ)集群。
在本發(fā)明實(shí)施例一實(shí)施方式中,所述進(jìn)行包括規(guī)則過濾和實(shí)時(shí)轉(zhuǎn)換在內(nèi)的數(shù)據(jù)處理,包括:根據(jù)預(yù)設(shè)規(guī)則進(jìn)行實(shí)時(shí)清洗,所述實(shí)時(shí)清洗所針對(duì)的清洗對(duì)象為按照預(yù)設(shè)粒度對(duì)數(shù)據(jù)按條進(jìn)行處理所得到的一條記錄或者一個(gè)字段;實(shí)時(shí)清洗后,根據(jù)預(yù)設(shè)規(guī)則生成衍生字段,實(shí)現(xiàn)實(shí)時(shí)轉(zhuǎn)換。
在本發(fā)明實(shí)施例一實(shí)施方式中,所述將處理結(jié)果存入存儲(chǔ)集群,包括:將處理結(jié)果保存為hbase/hdfs格式文件,存入內(nèi)存表中,或者,直接存入內(nèi)存中。
在本發(fā)明實(shí)施例一實(shí)施方式中,所述當(dāng)所述可執(zhí)行并行操作的數(shù)據(jù)累積達(dá)到預(yù)定數(shù)量時(shí),按照基于內(nèi)存的分布式算法進(jìn)行數(shù)據(jù)建模,包括:將基于內(nèi)存的分布式r算法與spark平臺(tái)相結(jié)合,在spark平臺(tái)中生成所述分布式r算法對(duì)應(yīng)的數(shù)據(jù)對(duì)象,得到sparkr的對(duì)象;從所述存儲(chǔ)集群中讀出數(shù)據(jù)到sparkr存儲(chǔ);劃分訓(xùn)練集和測(cè)試集;調(diào)用決策樹算法的參數(shù)(如rpart決策樹函數(shù),設(shè)置訓(xùn)練集、節(jié)點(diǎn)數(shù)、葉子樹、最大深度等)構(gòu)建數(shù)據(jù)模型,將所述處理結(jié)果轉(zhuǎn)化為dataframe分布式數(shù)據(jù)框格式。
實(shí)施例二:
本發(fā)明實(shí)施例的一種基于分布式數(shù)據(jù)的實(shí)時(shí)挖掘裝置,所述裝置包括:第一處理單元,用于將集中的串行數(shù)據(jù)按照流式處理機(jī)制分解為可執(zhí)行并行操作的數(shù)據(jù);及數(shù)據(jù)建模單元,用于當(dāng)所述可執(zhí)行并行操作的數(shù)據(jù)累積達(dá)到預(yù)定數(shù)量時(shí),按照基于內(nèi)存的分布式算法進(jìn)行數(shù)據(jù)建模,得到數(shù)據(jù)模型;及處理單元,用于根據(jù)所述數(shù)據(jù)模型和輔助數(shù)據(jù)進(jìn)行處理,得到數(shù)據(jù)處理結(jié)果。
在本發(fā)明實(shí)施例一實(shí)施方式中,所述數(shù)據(jù)模型為多個(gè),進(jìn)行所述數(shù)據(jù)建模得到第一數(shù)據(jù)模型后,將用于第x數(shù)據(jù)模型的數(shù)據(jù)作為所述輔助數(shù)據(jù);
所述處理單元,進(jìn)一步用于根據(jù)第一數(shù)據(jù)模型和對(duì)應(yīng)第x數(shù)據(jù)模型生成的輔助數(shù)據(jù)進(jìn)行處理。
在本發(fā)明實(shí)施例一實(shí)施方式中,所述第一處理單元,包括:
數(shù)據(jù)抽取集群,用于通過部署在業(yè)務(wù)系統(tǒng)的接口實(shí)時(shí)監(jiān)控接口變化,監(jiān)控到新增數(shù)據(jù)時(shí),立即進(jìn)行數(shù)據(jù)抽取,將所有接口新增數(shù)據(jù)讀取出來,并傳入消息隊(duì)列集群;
消息隊(duì)列集群,用于將讀取的數(shù)據(jù)置入消息隊(duì)列中進(jìn)行緩存,以供流處理集群處理;
流處理集群,用于讀取消息隊(duì)列中緩存的數(shù)據(jù),進(jìn)行包括規(guī)則過濾和實(shí)時(shí)轉(zhuǎn)換在內(nèi)的數(shù)據(jù)處理,將處理結(jié)果存入存儲(chǔ)集群;
存儲(chǔ)集群,用于存儲(chǔ)所述處理結(jié)果。
在本發(fā)明實(shí)施例一實(shí)施方式中,所述流處理集群,進(jìn)一步用于:
根據(jù)預(yù)設(shè)規(guī)則進(jìn)行實(shí)時(shí)清洗,所述實(shí)時(shí)清洗所針對(duì)的清洗對(duì)象為按照預(yù)設(shè)粒度對(duì)數(shù)據(jù)按條進(jìn)行處理所得到的一條記錄或者一個(gè)字段;
實(shí)時(shí)清洗后,根據(jù)預(yù)設(shè)規(guī)則生成衍生字段,實(shí)現(xiàn)實(shí)時(shí)轉(zhuǎn)換。
在本發(fā)明實(shí)施例一實(shí)施方式中,所述存儲(chǔ)集群,進(jìn)一步用于:
將處理結(jié)果保存為hbase/hdfs格式文件,存入內(nèi)存表中,或者,直接存入內(nèi)存中。
在本發(fā)明實(shí)施例一實(shí)施方式中,所述數(shù)據(jù)建模單元,進(jìn)一步用于:
將基于內(nèi)存的分布式r算法與spark平臺(tái)相結(jié)合,在spark平臺(tái)中生成所 述分布式r算法對(duì)應(yīng)的數(shù)據(jù)對(duì)象,得到sparkr的對(duì)象;
從所述存儲(chǔ)集群中讀出數(shù)據(jù)到sparkr存儲(chǔ);
劃分訓(xùn)練集和測(cè)試集;
調(diào)用決策樹算法的參數(shù)構(gòu)建數(shù)據(jù)模型,將所述處理結(jié)果轉(zhuǎn)化為dataframe分布式數(shù)據(jù)框格式。
以一個(gè)現(xiàn)實(shí)應(yīng)用場(chǎng)景為例對(duì)本發(fā)明實(shí)施例闡述如下:
先對(duì)本應(yīng)用場(chǎng)景做一介紹:
現(xiàn)有的數(shù)據(jù)挖掘流程,可以采用crisp-dm流程,分為業(yè)務(wù)理解、數(shù)據(jù)理解、數(shù)據(jù)準(zhǔn)備、建模、評(píng)估和部署六個(gè)階段。如圖3所示為crisp-dm的數(shù)據(jù)挖掘過程的示意圖,整個(gè)過程是串行,前后依賴,只有完成了前一個(gè)階段,才能進(jìn)入后一個(gè)階段。尤其是數(shù)據(jù)準(zhǔn)備階段,往往需要較長時(shí)間,后續(xù)的建模就只能等待。
現(xiàn)在的市場(chǎng)營銷活動(dòng)逐步提速,實(shí)時(shí)微營銷已經(jīng)成為發(fā)展趨勢(shì),目前典型的事件驅(qū)動(dòng)營銷的營銷機(jī)會(huì)稍縱即逝,據(jù)不完全統(tǒng)計(jì),大部分營銷事件發(fā)生的時(shí)間只有3分鐘不到就結(jié)束。而現(xiàn)有的數(shù)據(jù)挖掘往往需要耗時(shí)幾個(gè)月,已經(jīng)難以滿足實(shí)時(shí)營銷的需要。
以數(shù)據(jù)準(zhǔn)備為例,如圖4所示為目前數(shù)據(jù)挖掘的數(shù)據(jù)準(zhǔn)備階段的示意圖,目前的數(shù)據(jù)準(zhǔn)備過程主要包括:抽樣和采集、數(shù)據(jù)清洗和衍生數(shù)據(jù)生成三個(gè)串行的階段。第一個(gè)階段的數(shù)據(jù)抽樣是抽取少量的數(shù)據(jù)來處理,主要因?yàn)橹暗腸/s架構(gòu)處理能力有限,只能取少量數(shù)據(jù)來處理。采集過程是從接口獲得必要的數(shù)據(jù),獲取需要的少量的原始數(shù)據(jù)。第二個(gè)階段進(jìn)行數(shù)據(jù)清洗,包括填補(bǔ)缺失值、剔除奇異值、糾正錯(cuò)誤值,歸一化處理等過程,將原始數(shù)據(jù)整理達(dá)到可用狀態(tài)。第三個(gè)階段是衍生數(shù)據(jù)階段,根據(jù)原始數(shù)據(jù)來產(chǎn)生新的字段,將多個(gè)信息整合為一個(gè)衍生字段,如三月平均mou,就是衍生字段,用來均衡三個(gè)月的mou數(shù)據(jù)的波動(dòng)。結(jié)果是幾個(gè)包含大量字段的表,俗稱寬表。
由于c/s架構(gòu)速度和存儲(chǔ)的限制,無法進(jìn)行全量大數(shù)據(jù)的處理,這三個(gè)階段只能串行處理,抽樣和采集完成后,才行進(jìn)行數(shù)據(jù)清洗,清洗完所有數(shù)據(jù)后, 才能進(jìn)入衍生數(shù)據(jù)的階段。數(shù)據(jù)的抽樣和采集就需要很長時(shí)間,將大量原始數(shù)據(jù)從接口文件裝載到挖掘服務(wù)器的存儲(chǔ)就需要大量時(shí)間,然后用一周時(shí)間進(jìn)行數(shù)據(jù)清洗,一周時(shí)間進(jìn)行衍生數(shù)據(jù)生成,整個(gè)過程需要大量的存儲(chǔ)空間并且極其消耗時(shí)間,往往在一個(gè)月之后才能進(jìn)入到建模階段。
除傳統(tǒng)的c/s架構(gòu)的挖掘軟件,目前已經(jīng)有公司發(fā)展出rhadoop,通過在hadoop的核心組件上封裝一層r語言支持,使r算法能夠運(yùn)行在hadoop上,初步實(shí)現(xiàn)了分布式開發(fā),但到目前為止,由于性能問題并且開發(fā)過程過于復(fù)雜,沒有成功的案例。
通過對(duì)上述各應(yīng)用場(chǎng)景的具體數(shù)據(jù)挖掘分析,可以得出結(jié)論:只有從系統(tǒng)架構(gòu)、挖掘流程、軟件產(chǎn)品這三個(gè)方面都做出大的改變,才能滿足大數(shù)據(jù)時(shí)代實(shí)時(shí)數(shù)據(jù)挖掘的需要。
現(xiàn)有技術(shù)存在的問題是:對(duì)大數(shù)據(jù)處理中的海量數(shù)據(jù)的處理效率低下,比如,ibm公司收購的spss公司后,推出挖掘產(chǎn)品modeler(原clementine)至今還沒有推出能夠在hadoop上運(yùn)行的版本。sas公司則提供了針對(duì)hiveql的接口,通過接口來讀取hadoop中的數(shù)據(jù),通過接口來寫數(shù)據(jù)的方式,并在內(nèi)存中實(shí)現(xiàn)分布式的算法來兼容hadoop,但這也只是一種過渡方式,因?yàn)閟as的算法不能在hadoop上運(yùn)行。rhadoop上的r算法能夠運(yùn)行在hadoop上,初步實(shí)現(xiàn)了分布式,但速度太慢,效率較低。因此,現(xiàn)有的挖掘模式應(yīng)用到大數(shù)據(jù),主要存在以下三個(gè)不足:
(1)主流的數(shù)據(jù)挖掘工具廠家保留c/s架構(gòu),只能沿用以小型機(jī)做服務(wù)器的工作方式。很多公司已經(jīng)多年未采購小型機(jī),機(jī)器性能已經(jīng)無法支撐。
(2)采用傳統(tǒng)的crisp-dm挖掘流程,除業(yè)務(wù)理解和數(shù)據(jù)理解,這2個(gè)過程外,還經(jīng)過數(shù)據(jù)準(zhǔn)備、建模、評(píng)估和部署這四個(gè)階段。其中數(shù)據(jù)準(zhǔn)備過程耗時(shí)超過1月;建模過程需要2周時(shí)間;評(píng)估也需要1周時(shí)間調(diào)整;部署也需要1周時(shí)間;不但整個(gè)挖掘過程的時(shí)間長達(dá)2個(gè)月以上,同時(shí),還需要定期訓(xùn)練模型。
(3)沒有合適的可商用挖掘工具,除去價(jià)格因素,傳統(tǒng)的c/s模式,已經(jīng)無 法支撐快速發(fā)展的業(yè)務(wù)需求。rhadoop雖然解決分布式計(jì)算的困難,但存在計(jì)算速度慢和數(shù)據(jù)準(zhǔn)備復(fù)雜的不足,難以滿足實(shí)時(shí)營銷等應(yīng)用的需要。
上述應(yīng)用場(chǎng)景,采用本發(fā)明實(shí)施例,將集中的串行的數(shù)據(jù)準(zhǔn)備過程分解為分散的并行操作,重新組合這些操作,加快數(shù)據(jù)處理速度;采用分布式內(nèi)存r語言建模,實(shí)現(xiàn)大數(shù)據(jù)量的快速建模;將模型評(píng)估和部署合并為一個(gè)模塊,去掉模型部署過程。從而,至少可以解決三個(gè)問題:1)應(yīng)用分布式的數(shù)據(jù)挖掘工具軟件,全量處理大數(shù)據(jù),去掉抽樣和數(shù)據(jù)挖掘服務(wù)器存儲(chǔ)的過程,實(shí)現(xiàn)大數(shù)據(jù)的在線挖掘。2)支持快速迭代式的挖掘流程,最主要是改變之前的數(shù)據(jù)準(zhǔn)備三個(gè)階段的串行為并行操作,及時(shí)為后續(xù)建模提供數(shù)據(jù)。3)支持分鐘級(jí)別的實(shí)時(shí)應(yīng)用。在此基礎(chǔ)上,通過實(shí)現(xiàn)垃圾短信用戶識(shí)別的案例,來對(duì)比傳統(tǒng)的挖掘流程和工具的不同。
在實(shí)際生產(chǎn)中,經(jīng)過數(shù)據(jù)理解這個(gè)探索階段,已經(jīng)基本可以知道數(shù)據(jù)源的具體情況,數(shù)據(jù)存在的奇異值、缺失等情況,希望衍生的新字段和計(jì)算方法等,因此,如果將數(shù)據(jù)處理過程進(jìn)行小粒度切割,按條對(duì)數(shù)據(jù)進(jìn)行處理,整個(gè)過程就近似變成并行處理,具體的,在采集的時(shí)候,從接口中讀出相關(guān)記錄,根據(jù)相關(guān)規(guī)則進(jìn)行實(shí)時(shí)清洗,清洗的對(duì)象是一條記錄或者一個(gè)字段。清洗后按照計(jì)算規(guī)則生成衍生字段,再入庫保存到磁盤。整個(gè)過程均在內(nèi)存中處理,減少2次數(shù)據(jù)寫入和讀取磁盤的次數(shù)。這個(gè)是本專利的主要?jiǎng)?chuàng)新點(diǎn)之一。
采用并行操作,能夠?qū)崟r(shí)產(chǎn)生建模需要的數(shù)據(jù),積累到一定量的數(shù)據(jù)就可以建模,不必等拿到所有數(shù)據(jù)再開始建模。如圖5所示為分布式大數(shù)據(jù)實(shí)時(shí)挖掘的架構(gòu)示意圖,與現(xiàn)有技術(shù)的主要不同在于:crisp-dm的是數(shù)據(jù)準(zhǔn)備階段變成并行處理的數(shù)據(jù)處理,評(píng)估和部署變成了一個(gè)過程。采用分布式平臺(tái)構(gòu)建模型,建模時(shí)間最大能夠縮短為分鐘級(jí)別。流式處理,適合于一次處理一個(gè)模型,其它的模型生成的數(shù)據(jù)作為輔助數(shù)據(jù),來配合新模型的部署。通過新模型對(duì)全網(wǎng)用戶進(jìn)行評(píng)估,如果效果好,就作為成果部署。部署和評(píng)估就成為一個(gè)環(huán)節(jié)。
如圖5所示,數(shù)據(jù)處理與現(xiàn)有技術(shù)有所區(qū)別,新的數(shù)據(jù)處理包括實(shí)時(shí)抽取、 實(shí)時(shí)轉(zhuǎn)換和存儲(chǔ)三個(gè)環(huán)節(jié),不再需要抽樣。采用統(tǒng)一的流處理架構(gòu),將清洗和衍生的規(guī)則寫入流處理規(guī)則中,在采集的時(shí)候,實(shí)時(shí)進(jìn)行清洗,再生成衍生字段,整個(gè)過程基本是分鐘級(jí)別,甚至秒級(jí)。結(jié)果主要是kv數(shù)據(jù)(寬表),保存到分布式文件系統(tǒng)(hdfs)中,或者保存在hbase中,也可以保存在內(nèi)存中緩存起來,供下一步處理。
其中,如圖6所示為實(shí)時(shí)數(shù)據(jù)處理流程的示意圖,包括如下的數(shù)據(jù)處理過程:
實(shí)時(shí)抽取和實(shí)時(shí)轉(zhuǎn)換采用流處理架構(gòu)實(shí)現(xiàn),采用消息處理機(jī)制實(shí)現(xiàn)大量的數(shù)據(jù)處理。如圖7所示的數(shù)據(jù)處理架構(gòu),自下而上包括四個(gè)層次,分別是抽取、消息隊(duì)列、流處理和存儲(chǔ)集群。
第一層,數(shù)據(jù)抽取集群。采用flume/scribe這樣的程序,部署在業(yè)務(wù)系統(tǒng)接口,實(shí)時(shí)監(jiān)控接口變化,發(fā)現(xiàn)新數(shù)據(jù)立即抽取。根據(jù)數(shù)據(jù)的頻率和大小不同,分配相應(yīng)的資源,保證系統(tǒng)能夠在1分鐘之內(nèi),將所有新增接口數(shù)據(jù)讀取出來,傳入消息隊(duì)列集群。
第二層,消息隊(duì)列集群。采用kafka、activemq等程序,接受抽取集群輸入,將結(jié)果可靠緩存起來,供流處理集群。抽取的速度快,流處理的速度相對(duì)慢一些,需要消息隊(duì)列作為緩沖,保證每一條消息都被處理。
第三層,流處理集群。采用storm、s4或spark等程序,讀取消息隊(duì)列的緩存,進(jìn)行數(shù)據(jù)處理,包括規(guī)則過濾、消息轉(zhuǎn)換等其他etl類工作。流處理針對(duì)每個(gè)挖掘的目標(biāo)進(jìn)行定義,主要生成計(jì)算字段。
第四層,存儲(chǔ)集群。計(jì)算字段存儲(chǔ)在磁盤,保存為hbase/hdfs文件,部分?jǐn)?shù)據(jù)(一般是維表),可以直接放置在內(nèi)存中緩存起來,提供建模使用。
緩存和隊(duì)列的數(shù)據(jù),要有快照功能,如果遇到特殊情況,在多次提交都無法處理的情況下,系統(tǒng)會(huì)將數(shù)據(jù)先保存到硬盤,等候一定時(shí)間再讀出來處理。
執(zhí)行完如圖5所示,數(shù)據(jù)處理后,需要對(duì)模型進(jìn)行如下的構(gòu)建過程:
如圖8所示為r在spark上運(yùn)行示意圖,通過r語言和spark平臺(tái)的結(jié)合,實(shí)現(xiàn)基于內(nèi)存的分布式r算法來構(gòu)建模型。
r語言一般運(yùn)行在單機(jī)環(huán)境中,所有的數(shù)據(jù)都讀入到內(nèi)存中進(jìn)行處理。隨著數(shù)據(jù)量的快速增加和處理的及時(shí)性要求不斷提高,這種工作方式遇到了困難。spark作為新一代基于內(nèi)存的分布式計(jì)算平臺(tái),適合于做迭代式的計(jì)算。同樣是基于內(nèi)存計(jì)算,如果spark平臺(tái)結(jié)合r語言,能夠很好的實(shí)現(xiàn)快速的分布式計(jì)算。經(jīng)過測(cè)試,在新版本的spark中生成r語言的數(shù)據(jù)對(duì)象,針對(duì)這個(gè)對(duì)象編程,r語言的封裝包都能正常運(yùn)行。
本實(shí)時(shí)挖掘方案主要分為三個(gè)運(yùn)行階段。第一階段,客戶端編寫程序,將程序提交給主機(jī)master進(jìn)行調(diào)度。第二階段,主機(jī)將r語言納入spark環(huán)境,并分發(fā)到各個(gè)工作機(jī)。第三階段,工作機(jī)啟動(dòng)spark線程和r運(yùn)行環(huán)境,進(jìn)行模型計(jì)算。最后,工作機(jī)將計(jì)算結(jié)果匯總到主機(jī),主機(jī)再發(fā)送給客戶端。就能查詢到數(shù)據(jù)挖掘的成果。
經(jīng)過多次實(shí)驗(yàn)和對(duì)比測(cè)試,sparkr計(jì)算速度遠(yuǎn)超過單機(jī)水平,秒級(jí)完成模型的構(gòu)建。
以垃圾短信源的實(shí)時(shí)識(shí)別的大數(shù)據(jù)處理為例,由于垃圾短信給用戶帶來很大的危害,對(duì)于垃圾短信,需要在垃圾短信源出現(xiàn)后,盡快發(fā)現(xiàn)并封掉它,這成為電信運(yùn)營商亟待解決的問題。對(duì)應(yīng)這個(gè)應(yīng)用場(chǎng)景,采用本發(fā)明實(shí)施例,包括以下內(nèi)容:
一,在業(yè)務(wù)理解階段,現(xiàn)在的垃圾短信大多是定向發(fā)送,如通過航班延誤改簽的欺詐短信都是發(fā)送給一周內(nèi)坐飛機(jī)的用戶,如移動(dòng)積分換現(xiàn)金的詐騙短信都是發(fā)送給某個(gè)小區(qū)范圍內(nèi)的用戶.......針對(duì)這種情況,需要做兩件工作。第一件,根據(jù)歷史信息,對(duì)所有的用戶進(jìn)行分群,找到可能的詐騙號(hào)碼和需要保護(hù)的號(hào)碼。第二件,實(shí)時(shí)采集高危號(hào)碼的數(shù)據(jù),挖掘分析出可能的欺詐行為,及時(shí)采取行動(dòng),停止發(fā)送,減少可能的侵害。其中,對(duì)于第一件,客戶分群來說,可以將垃圾短信相關(guān)用戶分為黑名單用戶、一級(jí)白名單用戶、二級(jí)白名單、高風(fēng)險(xiǎn)用戶、低風(fēng)險(xiǎn)用戶及普通用戶五類。對(duì)于第二件,即如何采用分布式的大數(shù)據(jù)實(shí)時(shí)挖掘方法來實(shí)現(xiàn)在線搜集和分析高危用戶的數(shù)據(jù)并進(jìn)行監(jiān)控。
二,在數(shù)據(jù)理解階段,垃圾短信發(fā)送一般具有突發(fā)性、廣播性、短信占比 高和發(fā)送占比高等特征,根據(jù)這些特征,獲得需要的源數(shù)據(jù)包括:短信發(fā)送條數(shù)、網(wǎng)內(nèi)條數(shù)、網(wǎng)間條數(shù)、峰值接收條數(shù)、發(fā)送人數(shù),短信接收條數(shù)、短信接收人數(shù)、短信費(fèi)占比等數(shù)據(jù)。短信相關(guān)的直接數(shù)據(jù)為11個(gè)狀態(tài)類字段和19個(gè)計(jì)算字段。
三,在數(shù)據(jù)處理階段,1)對(duì)于數(shù)據(jù)源接口:短信平臺(tái)每1分鐘發(fā)送一次短信清單,包括上行和下行短信,通過ftp方式小批量發(fā)送到數(shù)據(jù)抽取集群。2)對(duì)于數(shù)據(jù)獲取:在接口機(jī)上部署工具,實(shí)時(shí)抽取接口機(jī)中的短信清單,發(fā)送到消息處理集群,處理后的結(jié)果加入到流處理集群中。3)對(duì)于數(shù)據(jù)處理:將結(jié)果存在三個(gè)內(nèi)存表中,實(shí)時(shí)讀取短信清單并進(jìn)行匯總存入當(dāng)前表中將結(jié)果保存到hdfs存儲(chǔ)集群提供給建模使用。例如,短信發(fā)送條數(shù)這個(gè)字段,本系統(tǒng)讀取清單后,分布式計(jì)算某個(gè)用戶的在這次接口數(shù)據(jù)中的發(fā)送短信條數(shù),保存到當(dāng)前表中。
經(jīng)過以上過程,就獲得所有需要的數(shù)據(jù),在幾分鐘之內(nèi),就能夠準(zhǔn)備好到目前為止的數(shù)據(jù),進(jìn)行建模。
四,在模型構(gòu)建階段,采用r語言的決策樹算法建模,從最新的黑名單用戶中訓(xùn)練出算法,再對(duì)高風(fēng)險(xiǎn)用戶進(jìn)行打分。第一次使用的時(shí)候,需要進(jìn)行驗(yàn)證。黑名單識(shí)別模型運(yùn)行穩(wěn)定后,就不需要驗(yàn)證。直接從最新的黑名單訓(xùn)練算法,對(duì)高風(fēng)險(xiǎn)用戶進(jìn)行打分就可以。
1)關(guān)鍵變量和訓(xùn)練數(shù)據(jù)
得出進(jìn)入決策樹模型的關(guān)鍵變量如表1所示:
表1
2)具體建模步驟如下:
a1、初始化并生成sparkr的對(duì)象和存儲(chǔ):
在spark環(huán)境生成sc、sqlcontext2個(gè)對(duì)象,sc是生成r語言在spark中的運(yùn)行環(huán)境,sqlcontext是生成sql運(yùn)行環(huán)境,并定義存儲(chǔ)樣本數(shù)據(jù)的變量。
a2、從hdfs中讀出短信發(fā)送月表數(shù)據(jù)到sparkr存儲(chǔ):
從存放在hdfs中的文件中,讀出樣本數(shù)據(jù),就是上面提到的垃圾短信相關(guān)的用戶數(shù)據(jù)。
a3、劃分訓(xùn)練集和測(cè)試集:
將用戶的樣本數(shù)據(jù),根據(jù)約定的數(shù)據(jù)量的比例,劃分為“訓(xùn)練集”、和“驗(yàn)證集”兩個(gè)部分,分別為2.5萬和1萬,并且細(xì)分為正樣本和負(fù)樣本。
a4、調(diào)用rpart決策樹函數(shù),設(shè)置數(shù)據(jù)源(訓(xùn)練集)、節(jié)點(diǎn)數(shù)、葉子樹、最大深度等決策樹算法的參數(shù),主要工作包括構(gòu)建決策樹和剪枝。
構(gòu)建:
ct<-rpart.control(xval=10,minsplit=20,cp=0.1)
說明:xval是交叉驗(yàn)證,設(shè)為10;minsplit是最小分支節(jié)點(diǎn)數(shù),設(shè)為20;minbucket:葉子節(jié)點(diǎn)最小樣本數(shù),采用默認(rèn)值,不單獨(dú)設(shè)置;maxdepth:樹的最大深度,采用默認(rèn)值,不單獨(dú)設(shè)置;cp全稱為complexityparameter,指某個(gè)點(diǎn)的復(fù)雜度,設(shè)為0.1。
剪枝:
fit<-rpart(smsdata~sms,data=smsdata,method="class",control=ct,parms= list(prior=c(0.65,0.35),split="information"));
method參數(shù)用來進(jìn)行樹的末端數(shù)據(jù)類型選擇相應(yīng)的變量分割方法:連續(xù)性method=“anova”,離散型method=“class”,計(jì)數(shù)型method=“poisson”,生存分析型method=“exp”;parms用來設(shè)置三個(gè)參數(shù):先驗(yàn)概率、損失矩陣、分類純度的度量方法(gini和information);cost損失矩陣,在剪枝的時(shí)候,葉子節(jié)點(diǎn)的加權(quán)誤差與父節(jié)點(diǎn)的誤差進(jìn)行比較,考慮損失矩陣的時(shí)候,從將“減少-誤差”調(diào)整為“減少-損失”。
a5、結(jié)果轉(zhuǎn)化為dataframe分布式數(shù)據(jù)框格式
dataframe是r語言常用的數(shù)據(jù)格式,供后續(xù)的plot畫圖函數(shù)使用。采用plot畫圖函數(shù)展示挖掘的效果
3)模型輸出:
模型輸出的結(jié)果表明是否是在高風(fēng)險(xiǎn)客戶表中。
r建模和傳統(tǒng)的工具軟件建模難度是一樣。r語言是跑在分布式平臺(tái)上,可以通過彈性部署機(jī)器來應(yīng)對(duì)垃圾短信的頻率。在實(shí)際應(yīng)用上,在垃圾短信高發(fā)的時(shí)候可以實(shí)現(xiàn)在幾分鐘內(nèi)識(shí)別出垃圾短信號(hào)碼。
五,在模型評(píng)估和部署階段,覆蓋率、提升率和命中率在垃圾短信模型是十分重要的指標(biāo)。圖9-10為模型訓(xùn)練集評(píng)估結(jié)果圖,當(dāng)選擇概率top20%用戶時(shí),已經(jīng)能夠正確識(shí)別出3771垃圾短信用戶,準(zhǔn)確率在75%,查全率在75.4%,模型lift值達(dá)到3.75,模型在驗(yàn)證集應(yīng)用中表現(xiàn)良好。
通過以上算法,將判斷為垃圾短信用戶的前5%的號(hào)碼作為疑似垃圾短信用戶號(hào)碼,發(fā)送給短信中心進(jìn)行處理。高風(fēng)險(xiǎn)用戶發(fā)出短信后,馬上收集短信話單進(jìn)行建模,十分鐘內(nèi)就能判定是否垃圾短信源,并可以采取強(qiáng)制措施,保護(hù)用戶不受騷擾。
本發(fā)明實(shí)施例,主要包括三個(gè)部分:1)利用流處理架構(gòu)來實(shí)現(xiàn)并行和實(shí)時(shí)的數(shù)據(jù)準(zhǔn)備過程。采用流處理架構(gòu)將集中的數(shù)據(jù)批量處理,分解為零散流式處理。將之前的數(shù)據(jù)挖掘流程中最耗費(fèi)時(shí)間的數(shù)據(jù)處理過程,轉(zhuǎn)變?yōu)榧闯槿〖刺幚淼哪J健?)采用r語言來實(shí)現(xiàn)分布式數(shù)據(jù)挖掘。采用r語言進(jìn)行分布式數(shù) 據(jù)挖掘,即在各個(gè)數(shù)據(jù)塊上運(yùn)行算法,最后匯總結(jié)果,打破c/s架構(gòu)的限制,可以直接處理海量數(shù)據(jù),無需額外進(jìn)行模型部署,并且具有良好的可拓展性。3)通過內(nèi)存計(jì)算來提升建模的速度。結(jié)合spark的內(nèi)存計(jì)算特點(diǎn),建模的速度有很大的提升,部分模型的運(yùn)算速度甚至達(dá)到100倍的提升。
本發(fā)明實(shí)施例,具有以下的技術(shù)優(yōu)點(diǎn):
1)速度快捷。之前的挖掘過程要3個(gè)月以上才能完成1個(gè)模型,采用本方案后,只用很短時(shí)間,甚至幾個(gè)小時(shí)就可以完成。主要是將之前的數(shù)據(jù)準(zhǔn)備和建模的串行處理變成了并行處理,而且是加載到內(nèi)存中進(jìn)行處理。
2)方便易用。之前基于c/s的小型機(jī)架構(gòu),升級(jí)為pcserver集群,既容易組網(wǎng),又降低成本。系統(tǒng)的擴(kuò)展性好,增加pcserver就能夠快速擴(kuò)展。
3)符合發(fā)展趨勢(shì)。當(dāng)前的營銷已經(jīng)進(jìn)入事件營銷、基于關(guān)系的營銷階段,需要根據(jù)客戶的行為,實(shí)時(shí)提供業(yè)務(wù)和信息。本方案為實(shí)時(shí)營銷提供了一種可行的實(shí)踐。
本發(fā)明實(shí)施例所述集成的模塊如果以軟件功能模塊的形式實(shí)現(xiàn)并作為獨(dú)立的產(chǎn)品銷售或使用時(shí),也可以存儲(chǔ)在一個(gè)計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中。基于這樣的理解,本發(fā)明實(shí)施例的技術(shù)方案本質(zhì)上或者說對(duì)現(xiàn)有技術(shù)做出貢獻(xiàn)的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計(jì)算機(jī)軟件產(chǎn)品存儲(chǔ)在一個(gè)存儲(chǔ)介質(zhì)中,包括若干指令用以使得一臺(tái)計(jì)算機(jī)設(shè)備(可以是個(gè)人計(jì)算機(jī)、服務(wù)器、或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個(gè)實(shí)施例所述方法的全部或部分。而前述的存儲(chǔ)介質(zhì)包括:u盤、移動(dòng)硬盤、只讀存儲(chǔ)器(rom,read-onlymemory)、隨機(jī)存取存儲(chǔ)器(ram,randomaccessmemory)、磁碟或者光盤等各種可以存儲(chǔ)程序代碼的介質(zhì)。這樣,本發(fā)明實(shí)施例不限制于任何特定的硬件和軟件結(jié)合。
相應(yīng)的,本發(fā)明實(shí)施例還提供一種計(jì)算機(jī)存儲(chǔ)介質(zhì),其中存儲(chǔ)有計(jì)算機(jī)程序,該計(jì)算機(jī)程序用于執(zhí)行本發(fā)明實(shí)施例的一種基于分布式數(shù)據(jù)的實(shí)時(shí)挖掘方法。
以上所述,僅為本發(fā)明的較佳實(shí)施例而已,并非用于限定本發(fā)明的保護(hù)范圍。