本技術(shù)涉及存儲,特別涉及一種數(shù)據(jù)聚類方法及裝置。
背景技術(shù):
1、數(shù)據(jù)重刪壓縮技術(shù)是降低存儲成本最有效和最直接的方法?;谙嗨茢?shù)據(jù)聚類的重刪壓縮技術(shù),能將系統(tǒng)中在時間和空間上分布的相似數(shù)據(jù)聚類到一起,得到相似數(shù)據(jù)集合,然后對相似數(shù)據(jù)集合中的數(shù)據(jù)進行壓縮。
2、目前,通?;跀?shù)據(jù)塊的特征值對相似數(shù)據(jù)進行聚類。在對數(shù)據(jù)塊進行聚類之前,需要獲取每個數(shù)據(jù)塊的特征值,當多個數(shù)據(jù)塊具有相同的特征值時,將該多個數(shù)據(jù)塊匯聚到一起,組成相似數(shù)據(jù)集合。
3、但是,該聚類數(shù)據(jù)的方式過于粗糙,無法區(qū)分相似數(shù)據(jù)集合中不同數(shù)據(jù)塊之間的差異,導(dǎo)致聚類效果較差。
技術(shù)實現(xiàn)思路
1、本技術(shù)提供了一種數(shù)據(jù)聚類方法及裝置。本技術(shù)能夠?qū)⒕哂胁煌嗨贫鹊臄?shù)據(jù)劃分至不同的相似數(shù)據(jù)集合中,提高了對相似數(shù)據(jù)進行聚類的精度。本技術(shù)提供的技術(shù)方案如下:
2、第一方面,本技術(shù)提供了一種數(shù)據(jù)聚類方法。該數(shù)據(jù)聚類方法包括:獲取待聚類的多個數(shù)據(jù);獲取目標數(shù)據(jù)的多個第一特征值,目標數(shù)據(jù)是多個數(shù)據(jù)中的任一個;將具有對應(yīng)相同的多個第一特征值的至少兩個數(shù)據(jù)劃分至同一相似數(shù)據(jù)集合。
3、這樣一來,同一相似數(shù)據(jù)集合中的至少兩個數(shù)據(jù)不僅具有相同的特征值,且該至少兩個數(shù)據(jù)具有的相同的第一特征值的總數(shù)也相等。因此該方案能夠在數(shù)據(jù)具有相同的特征值的基礎(chǔ)上,進一步按照不同數(shù)據(jù)是否具有對應(yīng)相同的特征值進行篩選,能夠根據(jù)數(shù)據(jù)之間的相似程度進一步對數(shù)據(jù)進行細分,對具有不同冗余度的數(shù)據(jù)進行差異化對待,使得同一相似數(shù)據(jù)集合中的數(shù)據(jù)之間具有較大的冗余度,不同相似數(shù)據(jù)集合中的數(shù)據(jù)的冗余度具有較大差異,實現(xiàn)了對具有不同冗余度的數(shù)據(jù)的區(qū)分,能夠?qū)⒕哂胁煌嗨贫鹊臄?shù)據(jù)劃分至不同的相似數(shù)據(jù)集合中,提高了對相似數(shù)據(jù)進行聚類的精度,并提高對數(shù)據(jù)進行聚類的聚類效果。并且,該方案還有助于提高基于數(shù)據(jù)的聚類結(jié)果對數(shù)據(jù)執(zhí)行操作的效率。例如,當基于聚類結(jié)果對數(shù)據(jù)進行壓縮時,由于相似數(shù)據(jù)集合的相似冗余度越高,對相似數(shù)據(jù)集合中的相似數(shù)據(jù)的壓縮效果越好,因此本技術(shù)能夠利用同一相似數(shù)據(jù)集合中數(shù)據(jù)之間更大的冗余度,提高對數(shù)據(jù)進行壓縮的壓縮率。
4、在一種可能的實現(xiàn)方式中,在將具有對應(yīng)相同的多個第一特征值的至少兩個數(shù)據(jù)劃分至同一相似數(shù)據(jù)集合之前,包括:統(tǒng)計多個數(shù)據(jù)中每兩個數(shù)據(jù)具有對應(yīng)相同的第一特征值的總數(shù),得到多個總數(shù)值。相應(yīng)的,將具有對應(yīng)相同的多個第一特征值的至少兩個數(shù)據(jù)劃分至同一相似數(shù)據(jù)集合,包括:按照多個總數(shù)值由大到小的順序,對多個數(shù)據(jù)執(zhí)行聚類過程,其中,按照多個總數(shù)值中的第i總數(shù)值執(zhí)行聚類過程,包括:在多個數(shù)據(jù)中的多個待聚類數(shù)據(jù)中,將具有對應(yīng)相同的第i總數(shù)值個第一特征值的多個待聚類數(shù)據(jù)劃分至一個相似數(shù)據(jù)集合中。這樣一來,能夠?qū)?shù)據(jù)與其具有最多對應(yīng)相同的第一特征值的其他數(shù)據(jù)劃分至同一相似數(shù)據(jù)集合中,有助于將對相似數(shù)據(jù)進行聚類的精度最大化。
5、在一種可能的實現(xiàn)方式中,獲取目標數(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ù)據(jù)分片的第二特征值得到。
6、在一種可能的實現(xiàn)方式中,獲取目標數(shù)據(jù)分片的第二特征值,包括:從目標數(shù)據(jù)分片中獲取多個數(shù)據(jù)段;獲取目標數(shù)據(jù)分片對多個數(shù)據(jù)段中每個數(shù)據(jù)段取模的模值;基于多個數(shù)據(jù)段對應(yīng)的模值,獲取目標數(shù)據(jù)分片的第二特征值。
7、在一種可能的實現(xiàn)方式中,響應(yīng)于目標數(shù)據(jù)分片、數(shù)據(jù)段和模值采用字符串表示,基于多個數(shù)據(jù)段對應(yīng)的模值,獲取目標數(shù)據(jù)分片的第二特征值,包括:按照用于表示多個數(shù)據(jù)段的字符串在用于表示目標數(shù)據(jù)分片的字符串中的先后順序,將用于表示多個數(shù)據(jù)段對應(yīng)的模值的字符串進行字符拼接,得到目標數(shù)據(jù)分片的第二特征值。
8、在本技術(shù)獲取數(shù)據(jù)分片的第二特征值的實現(xiàn)方式中,由于數(shù)據(jù)分片的哈希值根據(jù)數(shù)據(jù)分片對數(shù)據(jù)段取模的模值得到,其計算復(fù)雜度低且計算量小,減小了獲取特征值的計算開銷,能夠保證獲取特征值的速度。例如,使用本技術(shù)計算數(shù)據(jù)分片的第二特征值的實現(xiàn)方式,相較于使用robin哈希算法機選哈希值的實現(xiàn)方式,能夠?qū)⒂嬎汩_銷成從計算復(fù)雜度0(n*n)降低為0(n),降低了計算開銷。
9、在一種可能的實現(xiàn)方式中,在基于多個數(shù)據(jù)段對應(yīng)的模值,獲取目標數(shù)據(jù)分片的第二特征值之前,該數(shù)據(jù)聚類方法還包括:獲取目標數(shù)據(jù)段的優(yōu)化系數(shù),目標數(shù)據(jù)段為多個數(shù)據(jù)段中的任一個;基于目標數(shù)據(jù)段的優(yōu)化系數(shù),消除目標數(shù)據(jù)段對應(yīng)的模值的哈希沖突,得到目標數(shù)據(jù)段經(jīng)過優(yōu)化后的模值。通過使用數(shù)據(jù)段的優(yōu)化系數(shù)消除數(shù)據(jù)段對應(yīng)的模值的哈希沖突,能夠減小甚至消除數(shù)據(jù)分片中多個數(shù)據(jù)段之間的相關(guān)關(guān)系,從而減小甚至避免因數(shù)據(jù)段之間的相關(guān)關(guān)系對聚類結(jié)果產(chǎn)生的局部性干擾,進而提高聚類結(jié)果的準確性。
10、在一種可能的實現(xiàn)方式中,響應(yīng)于模值和優(yōu)化系數(shù)采用字符串表示,經(jīng)過優(yōu)化后的模值基于用于表示優(yōu)化系數(shù)的字符串和用于表示模值的字符串進行字符拼接得到。
11、在一種可能的實現(xiàn)方式中,響應(yīng)于目標數(shù)據(jù)分片采用字符串表示,從目標數(shù)據(jù)分片中獲取多個數(shù)據(jù)段,包括:從用于表示目標數(shù)據(jù)分片的字符串中分別截取多個第一字符段,得到多個數(shù)據(jù)段,其中,每個第一字符段表示一個數(shù)據(jù)段,第一字符段包括一個字符或連續(xù)排布的多個字符,且多個第一字符段中任意兩個第一字符段中字符在用于表示目標數(shù)據(jù)分片的字符串中的位置均不相同。
12、在一種可能的實現(xiàn)方式中,響應(yīng)于第二特征值和第一特征值采用字符串表示,第一特征值基于用于表示多個第二特征值的字符串進行字符拼接得到。
13、在一種可能的實現(xiàn)方式中,在對多個數(shù)據(jù)分片的第二特征值進行處理,得到目標數(shù)據(jù)的多個第一特征值之前,該數(shù)據(jù)聚類方法還包括:對多個數(shù)據(jù)分片的第二特征值執(zhí)行去關(guān)聯(lián)處理,得到多個數(shù)據(jù)分片經(jīng)過去關(guān)聯(lián)處理的第二特征值,去關(guān)聯(lián)處理包括:按照數(shù)值大小進行排序。通過對多個數(shù)據(jù)分片的第二特征值執(zhí)行去關(guān)聯(lián)處理能夠減小甚至消除多個數(shù)據(jù)分片的特征值之間的相關(guān)關(guān)系,從而減小甚至避免因數(shù)據(jù)分片之間的相關(guān)關(guān)系對聚類結(jié)果產(chǎn)生的局部性干擾,進而提高聚類結(jié)果的準確性。當按照數(shù)值大小對多個數(shù)據(jù)分片的第二特征值進行排序后,能夠打破多個數(shù)據(jù)分片的第二特征值因多個數(shù)據(jù)分片在目標數(shù)據(jù)中的位置攜帶的相關(guān)關(guān)系,因此能夠減小甚至避免因多個數(shù)據(jù)分片因位置具有的相關(guān)關(guān)系對聚類結(jié)果產(chǎn)生的局部性干擾。
14、在一種可能的實現(xiàn)方式中,響應(yīng)于目標數(shù)據(jù)采用字符串表示,從目標數(shù)據(jù)中獲取多個數(shù)據(jù)分片,包括:從用于表示目標數(shù)據(jù)的字符串中分別截取多個第二字符段,得到多個數(shù)據(jù)分片,其中,每個第二字符段表示一個數(shù)據(jù)分片,第二字符段包括連續(xù)排布的多個字符,且多個第二字符段中任意兩個第二字符段中字符在用于表示目標數(shù)據(jù)的字符串中的位置均不相同。
15、第二方面,本技術(shù)提供了一種數(shù)據(jù)聚類裝置。該數(shù)據(jù)聚類裝置包括:獲取模塊,用于獲取待聚類的多個數(shù)據(jù);獲取模塊,還用于獲取目標數(shù)據(jù)的多個第一特征值,目標數(shù)據(jù)是多個數(shù)據(jù)中的任一個;聚類模塊,用于將具有對應(yīng)相同的多個第一特征值的至少兩個數(shù)據(jù)劃分至同一相似數(shù)據(jù)集合。
16、在一種可能的實現(xiàn)方式中,聚類模塊,具體用于:統(tǒng)計多個數(shù)據(jù)中每兩個數(shù)據(jù)具有對應(yīng)相同的第一特征值的總數(shù),得到多個總數(shù)值;按照多個總數(shù)值由大到小的順序,對多個數(shù)據(jù)執(zhí)行聚類過程,其中,按照多個總數(shù)值中的第i總數(shù)值執(zhí)行聚類過程,包括:在多個數(shù)據(jù)中的多個待聚類數(shù)據(jù)中,將具有對應(yīng)相同的第i總數(shù)值個第一特征值的多個待聚類數(shù)據(jù)劃分至一個相似數(shù)據(jù)集合中。
17、在一種可能的實現(xiàn)方式中,獲取模塊,具體用于:從目標數(shù)據(jù)中獲取多個數(shù)據(jù)分片;獲取目標數(shù)據(jù)分片的第二特征值,目標數(shù)據(jù)分片是多個數(shù)據(jù)分片中的任一個;對多個數(shù)據(jù)分片的第二特征值進行處理,得到目標數(shù)據(jù)的多個第一特征值,目標數(shù)據(jù)的任意一個第一特征值基于多個數(shù)據(jù)分片中部分數(shù)據(jù)分片的第二特征值得到,目標數(shù)據(jù)的任意兩個第一特征值基于不同數(shù)據(jù)分片的第二特征值得到。
18、在一種可能的實現(xiàn)方式中,獲取模塊,具體用于:從目標數(shù)據(jù)分片中獲取多個數(shù)據(jù)段;獲取目標數(shù)據(jù)分片對多個數(shù)據(jù)段中每個數(shù)據(jù)段取模的模值;基于多個數(shù)據(jù)段對應(yīng)的模值,獲取目標數(shù)據(jù)分片的第二特征值。
19、在一種可能的實現(xiàn)方式中,響應(yīng)于目標數(shù)據(jù)分片、數(shù)據(jù)段和模值采用字符串表示,獲取模塊,具體用于:按照用于表示多個數(shù)據(jù)段的字符串在用于表示目標數(shù)據(jù)分片的字符串中的先后順序,將用于表示多個數(shù)據(jù)段對應(yīng)的模值的字符串進行字符拼接,得到目標數(shù)據(jù)分片的第二特征值。
20、在一種可能的實現(xiàn)方式中,獲取模塊,還用于:獲取目標數(shù)據(jù)段的優(yōu)化系數(shù),目標數(shù)據(jù)段為多個數(shù)據(jù)段中的任一個;基于目標數(shù)據(jù)段的優(yōu)化系數(shù),消除目標數(shù)據(jù)段對應(yīng)的模值的哈希沖突,得到目標數(shù)據(jù)段經(jīng)過優(yōu)化后的模值。
21、在一種可能的實現(xiàn)方式中,響應(yīng)于模值和優(yōu)化系數(shù)采用字符串表示,經(jīng)過優(yōu)化后的模值基于用于表示優(yōu)化系數(shù)的字符串和用于表示模值的字符串進行字符拼接得到。
22、在一種可能的實現(xiàn)方式中,響應(yīng)于目標數(shù)據(jù)分片采用字符串表示,獲取模塊,具體用于:從用于表示目標數(shù)據(jù)分片的字符串中分別截取多個第一字符段,得到多個數(shù)據(jù)段,其中,每個第一字符段表示一個數(shù)據(jù)段,第一字符段包括一個字符或連續(xù)排布的多個字符,且多個第一字符段中任意兩個第一字符段中字符在用于表示目標數(shù)據(jù)分片的字符串中的位置均不相同。
23、在一種可能的實現(xiàn)方式中,響應(yīng)于第二特征值和第一特征值采用字符串表示,第一特征值基于用于表示多個第二特征值的字符串進行字符拼接得到。
24、在一種可能的實現(xiàn)方式中,獲取模塊,還用于:對多個數(shù)據(jù)分片的第二特征值執(zhí)行去關(guān)聯(lián)處理,得到多個數(shù)據(jù)分片經(jīng)過去關(guān)聯(lián)處理的第二特征值,去關(guān)聯(lián)處理包括:按照數(shù)值大小進行排序。
25、在一種可能的實現(xiàn)方式中,響應(yīng)于目標數(shù)據(jù)采用字符串表示,獲取模塊,具體用于:從用于表示目標數(shù)據(jù)的字符串中分別截取多個第二字符段,得到多個數(shù)據(jù)分片,其中,每個第二字符段表示一個數(shù)據(jù)分片,第二字符段包括連續(xù)排布的多個字符,且多個第二字符段中任意兩個第二字符段中字符在用于表示目標數(shù)據(jù)的字符串中的位置均不相同。
26、第三方面,本技術(shù)提供了一種計算設(shè)備,包括存儲器和處理器,存儲器存儲有程序指令,處理器運行程序指令以執(zhí)行本技術(shù)第一方面以及其任一種可能的實現(xiàn)方式中提供的方法。
27、第四方面,本技術(shù)提供了一種計算設(shè)備集群,包括多個計算設(shè)備,多個計算設(shè)備包括多個處理器和多個存儲器,多個存儲器中存儲有程序指令,多個處理器運行程序指令,使得計算設(shè)備集群執(zhí)行本技術(shù)第一方面以及其任一種可能的實現(xiàn)方式中提供的方法。
28、第五方面,本技術(shù)提供了一種計算機可讀存儲介質(zhì),該計算機可讀存儲介質(zhì)為非易失性計算機可讀存儲介質(zhì),該計算機可讀存儲介質(zhì)包括程序指令,當程序指令在計算設(shè)備上運行時,使得計算設(shè)備執(zhí)行本技術(shù)第一方面以及其任一種可能的實現(xiàn)方式中提供的方法。
29、第六方面,本技術(shù)提供了一種包含指令的計算機程序產(chǎn)品,當計算機程序產(chǎn)品在計算機上運行時,使得計算機執(zhí)行本技術(shù)第一方面以及其任一種可能的實現(xiàn)方式中提供的方法。