本發(fā)明涉及數(shù)據(jù)處理領域,尤其是一種按需聚類的大數(shù)據(jù)流式聚類處理系統(tǒng)及方法。
背景技術:術語解釋:大數(shù)據(jù)(BigData):指的是所涉及的資料量規(guī)模巨大到無法通過目前主流軟件工具,在合理時間內達到擷取、管理、處理、并整理成為幫助企業(yè)經(jīng)營決策更積極目的的資訊。大數(shù)據(jù)的4V特點:Volume、Velocity、Variety、Veracity。數(shù)據(jù)流(DataStreams):數(shù)據(jù)流是一種只添加的帶有時間戳標記的按照某一順序到達的序列數(shù)據(jù)。對于一個有序的數(shù)據(jù)點(x1,x2,…,xn)必須是按順序被一次性訪問或者是極少次數(shù)的讀取,數(shù)據(jù)序列數(shù)據(jù)的依次讀取又被稱作是線性掃描或一次處理。數(shù)據(jù)挖掘:指從數(shù)據(jù)庫的大量數(shù)據(jù)中揭示出隱含的、先前未知的并有潛在價值的信息的非平凡過程。。聚類:聚類是指根據(jù)物體間的相似性(基于距離的方法如歐氏距離、曼哈頓距離、切比雪夫距離等)確定有限數(shù)量的類別來描述一個數(shù)據(jù)集。通過使用靜態(tài)的分類方法將相似的數(shù)據(jù)對象劃分到相應的分組或子集,從而使得具有相似屬性的數(shù)據(jù)能被劃分到同一個子集中,以實現(xiàn)將數(shù)據(jù)集進行類別劃分的目的。數(shù)據(jù)流聚類:指的是針對數(shù)據(jù)流形式的數(shù)據(jù)進行聚類處理的技術和方案。數(shù)據(jù)概念漂移:針對數(shù)據(jù)流中的兩個數(shù)據(jù)段d1和d2,從數(shù)據(jù)段d1到d2的演變過程中數(shù)據(jù)概念發(fā)生演變。其中,數(shù)據(jù)概念可以簡單理解成數(shù)據(jù)的體現(xiàn)的一些特性和特征。大數(shù)據(jù)的特點是4V,即數(shù)據(jù)量巨大、數(shù)據(jù)類型多樣、單位數(shù)據(jù)價值密度低、處理速度要快。但傳統(tǒng)的聚類算法和聚類框架都主要是針對待處理的全部數(shù)據(jù)進行的,這些算法大多數(shù)不能只針對部分數(shù)據(jù)進行聚類操作。然而,在大數(shù)據(jù)時代,數(shù)據(jù)的規(guī)模已經(jīng)從TB級飆升到PB級,故傳統(tǒng)的聚類算法無法直接處理大數(shù)據(jù)下對數(shù)據(jù)的聚類處理,數(shù)據(jù)只能以數(shù)據(jù)流的形式呈現(xiàn),正是由于數(shù)據(jù)的表現(xiàn)形式的改變,傳統(tǒng)數(shù)據(jù)挖掘的方法已經(jīng)無法適應這種新的需求。首先,在現(xiàn)有技術中,基于CluStream的擴展算法的缺點是它們的優(yōu)化工作主要在兩個方面:在線組件對數(shù)據(jù)進行儲存的優(yōu)化(如錐體時間窗口、滑動窗口等)和離線組件的聚類方法特定應用問題的改進和拓展(如處理高維數(shù)據(jù)的HP-Stream)。在大數(shù)據(jù)環(huán)境下,會有很多數(shù)據(jù)比較相近或重復,尤其是時間上相近的數(shù)據(jù)。其次,現(xiàn)有的框架對數(shù)據(jù)的處理是基本都是持續(xù)進行的,即是針對每個滑動窗口的數(shù)據(jù)(也可以稱作數(shù)據(jù)段)均采用聚類的處理,不能很有效的地提升資源利用效率。再次,現(xiàn)有的框架沒有對資源很好地感知,并有效地、及時地進行相關策略的調整。
技術實現(xiàn)要素:為了解決上述技術問題,本發(fā)明的目的是:提供一種保證精度前提下對數(shù)據(jù)量大、數(shù)據(jù)相似或重復的特性的數(shù)據(jù)實現(xiàn)高效數(shù)據(jù)處理的按需聚類的大數(shù)據(jù)流式聚類處理系統(tǒng)。為了解決上述技術問題,本發(fā)明的另一目的是:提供一種保證精度前提下對數(shù)據(jù)量大、數(shù)據(jù)相似或重復的特性的數(shù)據(jù)實現(xiàn)高效數(shù)據(jù)處理的按需聚類的大數(shù)據(jù)流式聚類處理方法。本發(fā)明所采用的技術方案是:一種按需聚類的大數(shù)據(jù)流式聚類處理系統(tǒng),該系統(tǒng)包括有快速計算模塊、數(shù)據(jù)概念漂移檢測模塊和聚類模塊,所述快速計算模塊的輸出端通過數(shù)據(jù)概念漂移檢測模塊連接至聚類模塊的第一輸入端,所述聚類模塊連接至快速計算模塊。進一步,該系統(tǒng)還包括有資源監(jiān)控模塊,所述資源監(jiān)控模塊的第一輸出端連接至快速計算模塊的輸入端,所述資源監(jiān)控模塊的第二輸出端連接至聚類模塊的第二輸入端。進一步,所述快速計算模塊包括有數(shù)據(jù)過濾策略模塊、數(shù)據(jù)過濾執(zhí)行模塊、數(shù)據(jù)摘要模塊和聚類結果實時服務模塊,所述資源監(jiān)控模塊的第一輸出端依次通過數(shù)據(jù)過濾策略模塊、數(shù)據(jù)過濾執(zhí)行模塊、數(shù)據(jù)摘要模塊連接至數(shù)據(jù)概念漂移檢測模塊的輸入端,所述聚類結果實時服務模塊連接至聚類模塊。進一步,所述數(shù)據(jù)概念漂移檢測模塊包括有數(shù)據(jù)概念漂移定義模塊,所述數(shù)據(jù)概念漂移定義模塊分別連接有數(shù)據(jù)概念漂移計算模塊和數(shù)據(jù)概念漂移識別模塊,所述數(shù)據(jù)摘要模塊的輸出端依次通過數(shù)據(jù)概念漂移計算模塊、數(shù)據(jù)概念漂移識別模塊連接至聚類模塊的第一輸入端。進一步,所述聚類模塊包括有聚類觸發(fā)模塊、聚類策略模塊、聚類執(zhí)行模塊和聚類結果提供模塊,所述數(shù)據(jù)概念漂移識別模塊的輸出端連接至聚類觸發(fā)模塊的輸入端,所述聚類觸發(fā)模塊的第一輸出端連接至聚類結果提供模塊的第一輸入端,所述聚類觸發(fā)模塊的第二輸出端依次通過聚類策略模塊和聚類執(zhí)行模塊連接至聚類結果提供模塊的第二輸入端,所述聚類結果實時服務模塊的輸出端連接至聚類執(zhí)行模塊的輸入端,所述聚類結果提供模塊的輸出端連接至聚類結果實時服務模塊的輸入端。進一步,所述聚類結果提供模塊的輸出端還連接至數(shù)據(jù)概念漂移計算模塊的輸入端。進一步,所述資源監(jiān)控模塊包括有數(shù)據(jù)流速監(jiān)控模塊、計算服務資源監(jiān)控模塊和聚類資源消耗監(jiān)控模塊,所述數(shù)據(jù)流速監(jiān)控模塊的輸出端和計算服務資源監(jiān)控模塊的第一輸出端均連接至數(shù)據(jù)過濾策略模塊的輸入端,所述計算服務資源監(jiān)控模塊的第二輸出端和聚類資源消耗監(jiān)控模塊的輸出端均連接至聚類策略模塊的輸入端。本發(fā)明所采用的另一技術方案是:一種按需聚類的大數(shù)據(jù)流式聚類處理方法,該聚類處理方法包括以下步驟:A、將輸入的數(shù)據(jù)流數(shù)據(jù)進行過濾操作和數(shù)據(jù)特征抽取,獲得中間處理結果;B、對上述中間處理結果進行概念漂移的分析和檢測,然后根據(jù)分析和檢測的結果對中間處理結果進行計算,從而判斷數(shù)據(jù)是否發(fā)生概念漂移,并產(chǎn)生相應的數(shù)據(jù)參數(shù);C、若上述數(shù)據(jù)參數(shù)符合觸發(fā)聚類處理的觸發(fā)條件,則利用上述中間處理結果和數(shù)據(jù)參數(shù)進行精細化聚類處理計算,并返回合適的聚類結果。進一步,所述步驟A中的過濾操作為將輸入的數(shù)據(jù)流根據(jù)數(shù)據(jù)流速參數(shù)和計算服務資源參數(shù)執(zhí)行相應的數(shù)據(jù)過濾操作。進一步,所述步驟C中精細化聚類處理計算的過程為利用上述中間處理結果和數(shù)據(jù)參數(shù),并根據(jù)計算服務資源參數(shù)和聚類資源消耗參數(shù)動態(tài)自適應地選取相應的聚類方法執(zhí)行計算。本發(fā)明的有益效果是:本發(fā)明針對大數(shù)據(jù)的數(shù)據(jù)量大、數(shù)據(jù)相似或重復的特性,基于數(shù)據(jù)概念漂移檢測的按需聚類模型使用觸發(fā)型的聚類處理模式,在保障精確度的前提下提供按需聚類、實時性聚類結果服務;其次,其提供獨立的模塊用于聚類處理以及獨立的資源監(jiān)控模塊,不僅能有效利用已有的傳統(tǒng)聚類算法,且能增強系統(tǒng)的擴展性和敏感度,高效地解決大數(shù)據(jù)環(huán)境下數(shù)據(jù)流的快速處理的問題。本發(fā)明的另一有益效果是:本發(fā)明針對大數(shù)據(jù)的數(shù)據(jù)量大、數(shù)據(jù)相似或重復的特性,基于數(shù)據(jù)概念漂移檢測的按需聚類模型使用觸發(fā)型的聚類處理模式,在保障精確度的前提下提供按需聚類、實時性聚類結果服務;其次,其利用獨立的資源監(jiān)控參數(shù),不僅能有效利用已有的傳統(tǒng)聚類算法,且能增強系統(tǒng)的擴展性和敏感度,高效地解決大數(shù)據(jù)環(huán)境下數(shù)據(jù)流的快速處理的問題。附圖說明圖1為本發(fā)明聚類處理系統(tǒng)的系統(tǒng)框架圖;圖2為圖1的具體模塊結構圖。具體實施方式下面結合附圖對本發(fā)明的具體實施方式作進一步說明:參照圖1,本發(fā)明的第一具體實施方式,一種按需聚類的大數(shù)據(jù)流式聚類處理系統(tǒng),該系統(tǒng)包括有快速計算模塊、數(shù)據(jù)概念漂移檢測模塊和聚類模塊,所述快速計算模塊的輸出端通過數(shù)據(jù)概念漂移檢測模塊連接至聚類模塊的第一輸入端,所述聚類模塊連接至快速計算模塊。所述快速計算模塊用于接收數(shù)據(jù)輸入和提供聚類結果輸出,該模塊負責對數(shù)據(jù)流做快速簡單的處理,并獲得快速的計算中間處理結果,以便用于其他模塊的后續(xù)處理。其中應用于快速處理的主要有兩方案:數(shù)據(jù)流數(shù)據(jù)的過濾和數(shù)據(jù)特征的抽取。前者通過減低數(shù)據(jù)流中數(shù)據(jù)的量,如數(shù)據(jù)過濾、數(shù)據(jù)采樣、卸載等計算;而后者是通過減低單個數(shù)據(jù)的存儲量,通過摘取數(shù)據(jù)的特征而不用直接對原始數(shù)據(jù)進行處理,從而減少空間的壓力,并且通過特征提取提高聚類效果。該模塊支持類似CluStream的在線微聚類操作。所述數(shù)據(jù)概念漂移檢測模塊負責對數(shù)據(jù)進行概念漂移的分析和檢測,通過對快速計算層提供的中間數(shù)據(jù)進行相關計算,進而判斷數(shù)據(jù)是否發(fā)生概念漂移,進而觸發(fā)聚類層的聚類操作并提供相應的數(shù)據(jù)參數(shù)。所述聚類模塊為該系統(tǒng)中處理聚類的一個核心模塊,其實質是一個被動式觸發(fā)型聚類模塊,只有在必要(也即是被觸發(fā))時候,利用前面的中間的結果和相關的參數(shù)信息進行精細化的正式聚類計算,并在執(zhí)行聚類后返回合適的聚類結果。參照圖1,進一步作為優(yōu)選的實施方式,該系統(tǒng)還包括有資源監(jiān)控模塊,所述資源監(jiān)控模塊的第一輸出端連接至快速計算模塊的輸入端,所述資源監(jiān)控模塊的第二輸出端連接至聚類模塊的第二輸入端。所述資源監(jiān)控模塊是該系統(tǒng)中一個輔助型模塊,負責對各個層的資源進行監(jiān)控,并且根據(jù)每個模塊的情況,提供相應的策略輸入?yún)?shù),以便相關的策略模塊做相應的處理策略的調整。參照圖2,進一步作為優(yōu)選的實施方式,所述快速計算模塊包括有數(shù)據(jù)過濾策略模塊、數(shù)據(jù)過濾執(zhí)行模塊、數(shù)據(jù)摘要模塊和聚類結果實時服務模塊,所述資源監(jiān)控模塊的第一輸出端依次通過數(shù)據(jù)過濾策略模塊、數(shù)據(jù)過濾執(zhí)行模塊、數(shù)據(jù)摘要模塊連接至數(shù)據(jù)概念漂移檢測模塊的輸入端,所述聚類結果實時服務模塊連接至聚類模塊。其中,數(shù)據(jù)過濾策略模塊負責對數(shù)據(jù)過濾策略的制定和管理,其接受監(jiān)控模塊反饋的數(shù)據(jù)流速數(shù)據(jù)以及其他相關參數(shù)。指整個計算系統(tǒng)的其他計算資源的信息,包括CPU利用率、內存占用率、網(wǎng)絡IO、存儲負載,并更新相應的策略。數(shù)據(jù)過濾執(zhí)行模塊根據(jù)數(shù)據(jù)過濾策略模塊提供的策略,執(zhí)行相應的數(shù)據(jù)過濾操作。數(shù)據(jù)摘要模塊(也稱作特征抽取模塊)負責對數(shù)據(jù)進行摘要抽取的工作;數(shù)據(jù)流中的數(shù)據(jù)是復雜的,每個數(shù)據(jù)點的大小有可能很大,為了更好的獲得聚類的結果,因此需要針對這些數(shù)據(jù)抽取其重要的摘要信息。聚類結果實時服務模塊將最新的合適的聚類結果信息提供給其他應用進行使用。參照圖2,進一步作為優(yōu)選的實施方式,所述數(shù)據(jù)概念漂移檢測模塊包括有數(shù)據(jù)概念漂移定義模塊,所述數(shù)據(jù)概念漂移定義模塊分別連接有數(shù)據(jù)概念漂移計算模塊和數(shù)據(jù)概念漂移識別模塊,所述數(shù)據(jù)摘要模塊的輸出端依次通過數(shù)據(jù)概念漂移計算模塊、數(shù)據(jù)概念漂移識別模塊連接至聚類模塊的第一輸入端。數(shù)據(jù)概念漂移定義模塊的工作是對數(shù)據(jù)概念漂移進行相關的定義,因為不同的應用對數(shù)據(jù)的漂移的定義或設定并不盡相同,因此該模塊可以提供不同應用特定的定義。此外,針對數(shù)據(jù)概念漂移的相關判定參數(shù)也是有該模塊進行管理。而數(shù)據(jù)概念漂移計算模塊則是根據(jù)數(shù)據(jù)概念漂移定義進行數(shù)據(jù)概念漂移的計算,對概念漂移進行量化,從而獲得待檢測的數(shù)據(jù)段與上次用于聚類的數(shù)據(jù)段之間的偏移值。數(shù)據(jù)概念漂移的識別模塊基于數(shù)據(jù)概念漂移計算模塊計算的數(shù)據(jù)偏移值,結合數(shù)據(jù)概念漂移定義提供的參數(shù)和信息,綜合去識別新的數(shù)據(jù)段是否已經(jīng)發(fā)生了數(shù)據(jù)概念漂移,并輸出數(shù)據(jù)概念漂移級別值。參照圖2,進一步作為優(yōu)選的實施方式,所述聚類模塊包括有聚類觸發(fā)模塊、聚類策略模塊、聚類執(zhí)行模塊和聚類結果提供模塊,所述數(shù)據(jù)概念漂移識別模塊的輸出端連接至聚類觸發(fā)模塊的輸入端,所述聚類觸發(fā)模塊的第一輸出端連接至聚類結果提供模塊的第一輸入端,所述聚類觸發(fā)模塊的第二輸出端依次通過聚類策略模塊和聚類執(zhí)行模塊連接至聚類結果提供模塊的第二輸入端,所述聚類結果實時服務模塊的輸出端連接至聚類執(zhí)行模塊的輸入端,所述聚類結果提供模塊的輸出端連接至聚類結果實時服務模塊的輸入端。該模塊是一個觸發(fā)型模塊,在觸發(fā)時才進行新的聚類操作,以此方案代替?zhèn)鹘y(tǒng)的持續(xù)地聚類方法,減少不必要的重復計算,有效利用資源并提升數(shù)據(jù)處理速度。其中,聚類觸發(fā)模塊接收數(shù)據(jù)概念漂移檢測模塊的觸發(fā)事件,并且獲取需要的演變檢測參數(shù),用于策略模塊的輸入。聚類策略模塊接收聚類觸發(fā)模塊傳送過來的參數(shù),同時也從監(jiān)控模塊中獲取相關資源的信息,最后綜合這些信息定制聚類的策略;甚至該模塊獲取待聚類數(shù)據(jù)段的特性,然后動態(tài)自適應地選取相應的聚類方法等。聚類執(zhí)行模塊根據(jù)聚類策略,選擇合適的聚類方法,執(zhí)行精細化的聚類計算。聚類結果提供模塊根據(jù)聚類執(zhí)行模塊的結果,輸出聚類后的簇信息。參照圖2,進一步作為優(yōu)選的實施方式,所述聚類結果提供模塊的輸出端還連接至數(shù)據(jù)概念漂移計算模塊的輸入端。參照圖2,進一步作為優(yōu)選的實施方式,所述資源監(jiān)控模塊包括有數(shù)據(jù)流速監(jiān)控模塊、計算服務資源監(jiān)控模塊和聚類資源消耗監(jiān)控模塊,所述數(shù)據(jù)流速監(jiān)控模塊的輸出端和計算服務資源監(jiān)控模塊的第一輸出端均連接至數(shù)據(jù)過濾策略模塊的輸入端,所述計算服務資源監(jiān)控模塊的第二輸出端和聚類資源消耗監(jiān)控模塊的輸出端均連接至聚類策略模塊的輸入端。其中,數(shù)據(jù)流速監(jiān)控模塊負責監(jiān)控數(shù)據(jù)流流速信息,以及流速變化的情況,甚至根據(jù)流速的歷史數(shù)據(jù)對數(shù)據(jù)流速預測,以便為相關策略提供相應的參考信息。聚類的資源消耗監(jiān)控模塊監(jiān)控聚類操作的資源消耗情況并獲取這些信息,以提供給相關模塊進行相應的策略調整。譬如:監(jiān)控不同的聚類算法的聚類資源消耗情況,在資源緊張的情況下進行相關的權衡選擇合適的算法。計算服務資源監(jiān)控模塊負責監(jiān)控整個系統(tǒng)的其他資源的信息,比如CPU利用率、內存占用率、網(wǎng)絡IO和存儲負載等。本發(fā)明的第二具體實施例,一種按需聚類的大數(shù)據(jù)流式聚類處理方法,該聚類處理方法包括以下步驟:A、將輸入的數(shù)據(jù)流數(shù)據(jù)進行過濾操作和數(shù)據(jù)特征抽取,獲得中間處理結果;該方法根據(jù)數(shù)據(jù)過濾策略執(zhí)行相應的數(shù)據(jù)過濾操作,通過數(shù)據(jù)過濾、數(shù)據(jù)采樣、卸載等計算過程數(shù)據(jù)流中數(shù)據(jù)的量。數(shù)據(jù)特征抽取則是據(jù)進行摘要抽取的工,數(shù)據(jù)流中的數(shù)據(jù)是復雜的,每個數(shù)據(jù)點的大小有可能很大,為了更好的獲得聚類的結果,因此需要針對這些數(shù)據(jù)抽取其重要的摘要信息,通過減低單個數(shù)據(jù)的存儲量,通過摘取數(shù)據(jù)的特征使得后續(xù)處理過程不用直接對原始數(shù)據(jù)進行處理,從而減少空間的壓力,并且通過特征提取提高聚類效果。B、對上述中間處理結果進行概念漂移的分析和檢測,然后根據(jù)分析和檢測的結果對中間處理結果進行計算,從而判斷數(shù)據(jù)是否發(fā)生概念漂移,并產(chǎn)生相應的數(shù)據(jù)參數(shù);根據(jù)對數(shù)據(jù)概念漂移進行相關的定義進行數(shù)據(jù)概念漂移的分析和檢測。對概念漂移進行量化,從而獲得待檢測的數(shù)據(jù)段與上次用于聚類的數(shù)據(jù)段之間的偏移值,基于該數(shù)據(jù)偏移值,結合數(shù)據(jù)概念漂移定義提供的參數(shù)和信息,綜合識別新的數(shù)據(jù)段是否已經(jīng)發(fā)生了數(shù)據(jù)概念漂移,并輸出相應的數(shù)據(jù)參數(shù),即數(shù)據(jù)概念漂移級別的值。C、若上述數(shù)據(jù)參數(shù)符合觸發(fā)聚類處理的觸發(fā)條件,則利用上述中間處理結果和數(shù)據(jù)參數(shù)進行精細化聚類處理計算,并返回合適的聚類結果。該方法僅在觸發(fā)時,進行新的聚類操作,以此方案代替?zhèn)鹘y(tǒng)的持續(xù)地聚類方法,減少不必要的重復計算,有效利用資源并提升數(shù)據(jù)處理速度。聚類結果為精細化聚類處理計算的結果,即輸出聚類后的簇信息。進一步,所述步驟A中的過濾操作為將輸入的數(shù)據(jù)流根據(jù)數(shù)據(jù)流速參數(shù)和計算服務資源參數(shù)執(zhí)行相應的數(shù)據(jù)過濾操作。所述計算服務資源參數(shù)包括有CPU利用率、內存占用率、網(wǎng)絡IO、存儲負載。進一步,所述步驟C中精細化聚類處理計算的過程為利用上述中間處理結果和數(shù)據(jù)參數(shù),并根據(jù)計算服務資源參數(shù)和聚類資源消耗參數(shù)動態(tài)自適應地選取相應的聚類方法執(zhí)行計算。在資源緊張的情況下,監(jiān)控聚類資源消耗參數(shù),即監(jiān)控不同的聚類算法的聚類資源消耗情況,進行相關的權衡選擇合適的算法是的計算速度和效果達到最佳的平衡。以上是對本發(fā)明的較佳實施進行了具體說明,但本發(fā)明創(chuàng)造并不限于所述實施例,熟悉本領域的技術人員在不違背本發(fā)明精神的前提下還可以作出種種的等同變換或替換,這些等同的變形或替換均包含在本申請權利要求所限定的范圍內。