數(shù)據(jù)處理的方法、裝置和設(shè)備的制造方法
【專利摘要】一種數(shù)據(jù)處理的方法、裝置和設(shè)備,該方法包括:根據(jù)相似度閾值j和目標(biāo)數(shù)據(jù),生成第一數(shù)據(jù)集合,目標(biāo)數(shù)據(jù)包括T1個(gè)第一比特組,第一數(shù)據(jù)集合包括M1個(gè)第一數(shù)據(jù),M1個(gè)第一數(shù)據(jù)與從T1個(gè)第一比特組中選取j個(gè)第一比特組時(shí)的M1種組合方式一一對(duì)應(yīng);根據(jù)j和N個(gè)預(yù)存數(shù)據(jù),生成N個(gè)第二數(shù)據(jù)集合;N個(gè)預(yù)存數(shù)據(jù)與N個(gè)第二數(shù)據(jù)集合一一對(duì)應(yīng),每個(gè)預(yù)存數(shù)據(jù)包括T2個(gè)第二比特組,每個(gè)第二數(shù)據(jù)集合包括M2個(gè)第二數(shù)據(jù),第i個(gè)第二數(shù)據(jù)集合中的每個(gè)第二數(shù)據(jù)包括第i個(gè)預(yù)存數(shù)據(jù)中的T2個(gè)第二比特組,第i個(gè)第二數(shù)據(jù)集合中的M2個(gè)第二數(shù)據(jù)與從T2個(gè)第二比特組中選取j個(gè)第二比特組時(shí)的M2種組合方式一一對(duì)應(yīng);根據(jù)第一數(shù)據(jù)集合和第二數(shù)據(jù)集合,從N個(gè)預(yù)存數(shù)據(jù)中確定第一預(yù)存數(shù)據(jù),能夠降低相似數(shù)據(jù)查找過(guò)程的復(fù)雜度。
【專利說(shuō)明】
數(shù)據(jù)處理的方法、裝置和設(shè)備
技術(shù)領(lǐng)域
[0001] 本發(fā)明涉及數(shù)據(jù)信息技術(shù)領(lǐng)域,并且更具體地,涉及數(shù)據(jù)處理的方法、裝置和設(shè) 備。
【背景技術(shù)】
[0002] 相似檢測(cè)技術(shù)廣泛應(yīng)用于互聯(lián)網(wǎng),圖像識(shí)別,大數(shù)據(jù)分析和數(shù)據(jù)縮減等信息技術(shù) (IT,Information Technology)領(lǐng)域。相似數(shù)據(jù)查找是相似檢測(cè)技術(shù)中的重要環(huán)節(jié)。
[0003] 隨著對(duì)查找精度和智能性的要求,目前,該相似數(shù)據(jù)查找的輸出結(jié)果需要是"相 似"的數(shù)據(jù),即,假設(shè)所處理的數(shù)據(jù)包括α個(gè)字節(jié)(Byte),則所輸出的"相似"的數(shù)據(jù)之間有β (β<α)個(gè)字節(jié)相同。其中,β可以是管理員或者系統(tǒng)規(guī)定的相似度閾值。
[0004] 如何降低相似數(shù)據(jù)查找過(guò)程的復(fù)雜度,成為業(yè)界亟需解決的問(wèn)題。
【發(fā)明內(nèi)容】
[0005] 本發(fā)明實(shí)施例提供一種數(shù)據(jù)處理的方法、裝置和設(shè)備,能夠降低相似數(shù)據(jù)查找過(guò) 程的復(fù)雜度,減少相似數(shù)據(jù)查找的處理時(shí)間,改善用戶體驗(yàn)。
[0006] 第一方面,提供了一種數(shù)據(jù)處理的方法,該方法包括:根據(jù)預(yù)設(shè)的相似度閾值j和 目標(biāo)數(shù)據(jù),生成第一數(shù)據(jù)集合,其中,該目標(biāo)數(shù)據(jù)包括T 1個(gè)第一比特組,每個(gè)第一比特組包 括k比特,該第一數(shù)據(jù)集合包括仏個(gè)第一數(shù)據(jù),該M1個(gè)第一數(shù)據(jù)與從該T 1個(gè)第一比特組中選 取j個(gè)第一比特組時(shí)的M1種組合方式一一對(duì)應(yīng),T1^ 2,k 2 UT1Sj 2 1;根據(jù)該相似度閾值j 和N個(gè)預(yù)存數(shù)據(jù),生成N個(gè)第二數(shù)據(jù)集合,其中,該N個(gè)預(yù)存數(shù)據(jù)與該N個(gè)第二數(shù)據(jù)集合一一對(duì) 應(yīng),每個(gè)預(yù)存數(shù)據(jù)包括T 2個(gè)第二比特組,每個(gè)第二比特組包括k比特,每個(gè)第二數(shù)據(jù)集合包 括此個(gè)第二數(shù)據(jù),第i個(gè)第二數(shù)據(jù)集合中的每個(gè)第二數(shù)據(jù)包括第i個(gè)預(yù)存數(shù)據(jù)中的1~ 2個(gè)第二 比特組,第i個(gè)第二數(shù)據(jù)集合中的M2個(gè)第二數(shù)據(jù)與從該T2個(gè)第二比特組中選取j個(gè)第二比特 組時(shí)的M 2種組合方式一一對(duì)應(yīng),N 2 I,T2 2 T1,i e [ I,N];根據(jù)該第一數(shù)據(jù)集合和該第二數(shù)據(jù) 集合,從該N個(gè)預(yù)存數(shù)據(jù)中確定第一預(yù)存數(shù)據(jù),該第一預(yù)存數(shù)據(jù)和該目標(biāo)數(shù)據(jù)之間相似度與 該相似度閾值j相對(duì)應(yīng),其中,該第一預(yù)存數(shù)據(jù)所對(duì)應(yīng)的第二數(shù)據(jù)集合與該第一數(shù)據(jù)集合之 間包括至少一個(gè)相同的數(shù)據(jù)。
[0007] 根據(jù)本發(fā)明實(shí)施例的數(shù)據(jù)處理的方法,通過(guò)根據(jù)目標(biāo)數(shù)據(jù)確定包括仏個(gè)第一數(shù)據(jù) 的第一數(shù)據(jù)集合,并根據(jù)N個(gè)預(yù)存數(shù)據(jù)確定N個(gè)第二數(shù)據(jù)集合,其中,第一數(shù)據(jù)集合中的此個(gè) 第一數(shù)據(jù)與從包括T 1個(gè)第一比特組的目標(biāo)數(shù)據(jù)中選擇j個(gè)第一比特組時(shí)的M1種組合方式一 一對(duì)應(yīng),每個(gè)第二數(shù)據(jù)集合中的M 2個(gè)第二數(shù)據(jù)與從包括T2個(gè)第二比特組的預(yù)存數(shù)據(jù)中選擇j 個(gè)第二比特組時(shí)的M2種組合方式一一對(duì)應(yīng),其中,j為預(yù)設(shè)的相似度閾值,從而,在一個(gè)第二 數(shù)據(jù)集合與該第一數(shù)據(jù)集合之間包括至少一個(gè)相同的數(shù)據(jù)時(shí),能夠?qū)⒃摰诙?shù)據(jù)集合所對(duì) 應(yīng)的預(yù)存數(shù)據(jù)作為與該目標(biāo)數(shù)據(jù)之間的相似度滿足該相似度閾值j所對(duì)應(yīng)的相似度要求的 相似數(shù)據(jù),即,能夠?qū)⑾嗨茢?shù)據(jù)查找過(guò)程轉(zhuǎn)化為相同數(shù)據(jù)的判定過(guò)程,從而,能夠降低相似 數(shù)據(jù)查找的復(fù)雜度,減少相似數(shù)據(jù)查找的處理時(shí)間,改善用戶體驗(yàn)。
[0008] 結(jié)合第一方面,在第一方面的第一種實(shí)現(xiàn)方式中,該根據(jù)預(yù)設(shè)的相似度閾值j和目 標(biāo)數(shù)據(jù),生成第一數(shù)據(jù)集合,包括:根據(jù)目標(biāo)數(shù)據(jù)生成M 3個(gè)子目標(biāo)數(shù)據(jù),其中,該M3個(gè)子目標(biāo) 數(shù)據(jù)與1^個(gè)第一比特組的所有可能的排列方式一一對(duì)應(yīng);根據(jù)預(yù)設(shè)的相似度閾值j和該M 3個(gè) 子目標(biāo)數(shù)據(jù),生成第一數(shù)據(jù)集合,其中,該M1個(gè)第一數(shù)據(jù)與從該M3個(gè)子目標(biāo)數(shù)據(jù)中的每個(gè)子 目標(biāo)數(shù)據(jù)中選取j個(gè)第一比特組時(shí)的M 1種組合方式一一對(duì)應(yīng);以及,根據(jù)該相似度閾值JlPN 個(gè)預(yù)存數(shù)據(jù),生成N個(gè)第二數(shù)據(jù)集合,包括:根據(jù)第i個(gè)預(yù)存數(shù)據(jù)生成M4個(gè)子預(yù)存數(shù)據(jù),其中, 該M4個(gè)子目標(biāo)數(shù)據(jù)與第i個(gè)預(yù)存數(shù)據(jù)的T 2f第二比特組的所有可能的排列方式一一對(duì)應(yīng);根 據(jù)預(yù)設(shè)的相似度閾值j和每個(gè)預(yù)存數(shù)據(jù)所對(duì)應(yīng)的M4個(gè)子預(yù)存數(shù)據(jù),生成第二數(shù)據(jù)集合,其 中,第i個(gè)第二數(shù)據(jù)集合中的M 2個(gè)第二數(shù)據(jù)與從該第i個(gè)預(yù)存數(shù)據(jù)所對(duì)應(yīng)的M4個(gè)子預(yù)存數(shù)據(jù) 中的每個(gè)子預(yù)存數(shù)據(jù)中選取j個(gè)第二比特組時(shí)的M 2種組合方式一一對(duì)應(yīng)。
[0009] 根據(jù)本發(fā)明實(shí)施例的數(shù)據(jù)處理的方法,通過(guò)確定目標(biāo)數(shù)據(jù)中的各第一比特組所有 可能的排列方式,并確定各預(yù)存數(shù)據(jù)中的各第二比特組的所有可能的排列方式,從而能夠 使該第一數(shù)據(jù)集合中的第一數(shù)據(jù)對(duì)應(yīng)在目標(biāo)數(shù)據(jù)的各第一比特組的所有可能排列方式下 從該T 1個(gè)第一比特組中選取j個(gè)第一比特組時(shí)的組合方式,使每個(gè)第二數(shù)據(jù)集合中的第二 數(shù)據(jù)對(duì)應(yīng)在所對(duì)應(yīng)的預(yù)存數(shù)據(jù)的各第二比特組的所有可能排列方式下從該T 2個(gè)第二比特 組中選取j個(gè)第二比特組時(shí)的組合方式,從而,能夠提高的相似數(shù)據(jù)查找的可靠性和準(zhǔn)確 性。
[0010] 結(jié)合第一方面及其上述實(shí)現(xiàn)方式,在第一方面的第二種實(shí)現(xiàn)方式中,在根據(jù)預(yù)設(shè) 的相似度閾值j和目標(biāo)數(shù)據(jù),生成第一數(shù)據(jù)集合之前,該方法還包括:根據(jù)預(yù)設(shè)規(guī)則,對(duì)該目 標(biāo)數(shù)據(jù)中的T 1個(gè)第一比特組進(jìn)行排序;以及在根據(jù)預(yù)設(shè)的相似度閾值j和目標(biāo)數(shù)據(jù),生成第 一數(shù)據(jù)集合之前,該方法還包括:根據(jù)該預(yù)設(shè)規(guī)則,對(duì)每個(gè)預(yù)存數(shù)據(jù)中的T 2f第二比特組進(jìn) tx排序。
[0011] 根據(jù)本發(fā)明實(shí)施例的數(shù)據(jù)處理的方法,通過(guò)在生成通過(guò)基于相同的預(yù)設(shè)規(guī)則對(duì)目 標(biāo)數(shù)據(jù)和預(yù)存數(shù)據(jù)中的各比特組進(jìn)行排序,能夠確保所確定的第一數(shù)據(jù)集合和第二數(shù)據(jù)集 合中包括相同的比特組的數(shù)據(jù)中各比特組的位置也相同,從而,能夠在確保相似數(shù)據(jù)查找 的可靠性和準(zhǔn)確性的前提下,能夠進(jìn)一步降低相似數(shù)據(jù)查找的復(fù)雜度,減少相似數(shù)據(jù)查找 的處理時(shí)間。
[0012] 結(jié)合第一方面及其上述實(shí)現(xiàn)方式,在第一方面的第三種實(shí)現(xiàn)方式中,該根據(jù)預(yù)設(shè) 的相似度閾值j和目標(biāo)數(shù)據(jù),生成第一數(shù)據(jù)集合,包括:根據(jù)預(yù)設(shè)的相似度閾值j和該第一比 特組的數(shù)量T 1,確定第一生成矩陣,該第一生成矩陣包括在第一維度方向上排列的M1個(gè)第一 向量,每個(gè)第一向量包括在第二維度方向上排列的T 1個(gè)元素,該T1個(gè)元素包括j個(gè)"Γ元素和 Tpj個(gè)"0"元素,任意兩個(gè)第一向量彼此之間至少存在一個(gè)在該第二維度方向上的排列位 置不同的"0"元素或"Γ元素;根據(jù)該第一生成矩陣和目標(biāo)數(shù)據(jù),生成第一數(shù)據(jù)集合。
[0013] 結(jié)合第一方面及其上述實(shí)現(xiàn)方式,在第一方面的第四種實(shí)現(xiàn)方式中,該根據(jù)該相 似度閾值j和N個(gè)預(yù)存數(shù)據(jù),生成N個(gè)第二數(shù)據(jù)集合,包括:根據(jù)預(yù)設(shè)的相似度閾值j和該第二 比特組的數(shù)量T 2,確定第二生成矩陣,該第二生成矩陣包括在第一維度方向上排列的M2個(gè)第 二向量,每個(gè)第二向量包括在第二維度方向上排列的T 2個(gè)元素,該T2個(gè)元素包括j個(gè)"Γ元素 和T2 +j個(gè)"0"元素,任意兩個(gè)第二向量彼此之間至少存在一個(gè)在該第二維度方向上的排列 位置不同的"〇"元素或"Γ元素;根據(jù)該第二生成矩陣和N個(gè)預(yù)存數(shù)據(jù),生成N個(gè)第二數(shù)據(jù)集 合。
[0014] 結(jié)合第一方面及其上述實(shí)現(xiàn)方式,在第一方面的第五種實(shí)現(xiàn)方式中,該根據(jù)該第 一數(shù)據(jù)集合和該第二數(shù)據(jù)集合,從該N個(gè)預(yù)存數(shù)據(jù)中確定第一預(yù)存數(shù)據(jù),包括:從備選模式 中確定查找模式,該備選模式包括快速模式和完整模式;當(dāng)該查找模式為該快速模式時(shí),基 于各該第一數(shù)據(jù)在該第一數(shù)據(jù)集合中的排序,按預(yù)設(shè)順序進(jìn)行y次查找處理,該y次查找處 理與該第一數(shù)據(jù)集合中基于該預(yù)設(shè)順序的前y個(gè)第一數(shù)據(jù)一一對(duì)應(yīng),其中,第X次查找處理 用于確定該N個(gè)第二數(shù)據(jù)集合中是否存在與第X個(gè)第一數(shù)據(jù)相同的數(shù)據(jù),并在首次查找到與 該第一數(shù)據(jù)相同的數(shù)據(jù)時(shí),將與該第一數(shù)據(jù)相同的數(shù)據(jù)所屬于的第二數(shù)據(jù)集合所對(duì)應(yīng)的預(yù) 存數(shù)據(jù)作為該第一預(yù)存數(shù)據(jù),其中,xe [I,y],y <M1;當(dāng)該查找模式為該完整模式時(shí),基于 各該第一數(shù)據(jù)在該第一數(shù)據(jù)集合中的排序,按預(yù)設(shè)順序進(jìn)行y次查找處理,該y次查找處理 與該第一數(shù)據(jù)集合中基于該預(yù)設(shè)順序的前y個(gè)第一數(shù)據(jù)一一對(duì)應(yīng),其中,第X次查找處理用 于確定該N個(gè)第二數(shù)據(jù)集合中是否存在與第X個(gè)第一數(shù)據(jù)相同的數(shù)據(jù),如果首次查找到的與 該第一數(shù)據(jù)相同的數(shù)據(jù)屬于至少兩個(gè)第二數(shù)據(jù)集合,則將該至少兩個(gè)第二數(shù)據(jù)集合所對(duì)應(yīng) 的預(yù)存數(shù)據(jù)中與該目標(biāo)數(shù)據(jù)之間存在相同的比特組的數(shù)量最多的預(yù)存數(shù)據(jù)作為該第一預(yù) 存數(shù)據(jù)。
[0015] 根據(jù)本發(fā)明實(shí)施例的數(shù)據(jù)處理的方法,通過(guò)設(shè)置快速模式和完整模式,并在快速 模式下輸出預(yù)存數(shù)據(jù)中所有相似度滿足相似度閾值j所對(duì)應(yīng)的要求的數(shù)據(jù),在完整模式輸 出預(yù)存數(shù)據(jù)中相似度滿足相似度閾值j所對(duì)應(yīng)的要求且與目標(biāo)數(shù)據(jù)之間的相似度最高的數(shù) 據(jù),能夠靈活應(yīng)對(duì)不同的用戶需求,進(jìn)一步提高用戶體驗(yàn)。
[0016] 結(jié)合第一方面及其上述實(shí)現(xiàn)方式,在第一方面的第六種實(shí)現(xiàn)方式中,該目標(biāo)數(shù)據(jù) 和該預(yù)存數(shù)據(jù)為指紋數(shù)據(jù)。
[0017] 結(jié)合第一方面及其上述實(shí)現(xiàn)方式,在第一方面的第七種實(shí)現(xiàn)方式中,A(T1J) ^M1 >C(Ti,j),A(T2,j)>M2>C(T2,j)〇
[0018] 第二方面,提供了一種數(shù)據(jù)處理的裝置,包括用于執(zhí)行上述第一方面以及第一方 面的各實(shí)現(xiàn)方式中的各步驟的單元或模塊。當(dāng)本發(fā)明第一方面提供的方法通過(guò)軟件模塊實(shí) 現(xiàn)時(shí),本發(fā)明提供的數(shù)據(jù)處理的裝置可以指示軟件模塊或軟件包。
[0019] 第三方面,提供了一種數(shù)據(jù)處理的設(shè)備,包括存儲(chǔ)器和處理器,該存儲(chǔ)器用于存儲(chǔ) 計(jì)算機(jī)程序,該處理器用于從存儲(chǔ)器中調(diào)用并運(yùn)行該計(jì)算機(jī)程序,使得數(shù)據(jù)數(shù)據(jù)處理的設(shè) 備執(zhí)行上述第一方面,及其各種實(shí)現(xiàn)方式中的任一種數(shù)據(jù)處理的方法。
[0020] 第四方面,提供了一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),所述計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)存儲(chǔ)有程 序,當(dāng)存儲(chǔ)在所述計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)中的程序被計(jì)算機(jī)設(shè)備運(yùn)行時(shí),使得所述計(jì)算機(jī)設(shè) 備執(zhí)行上述第一方面,及其各種實(shí)現(xiàn)方式中的任一種數(shù)據(jù)傳輸?shù)姆椒ā?br>【附圖說(shuō)明】
[0021] 為了更清楚地說(shuō)明本發(fā)明實(shí)施例的技術(shù)方案,下面將對(duì)本發(fā)明實(shí)施例中所需要使 用的附圖作簡(jiǎn)單地介紹,顯而易見(jiàn)地,下面所描述的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于 本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他 的附圖。
[0022] 圖1是根據(jù)本發(fā)明實(shí)施例的數(shù)據(jù)處理的方法的示意性流程圖。
[0023]圖2是本發(fā)明實(shí)施例中目標(biāo)數(shù)據(jù)和預(yù)存數(shù)據(jù)的一例的示意圖。
[0024]圖3是本發(fā)明實(shí)施例中經(jīng)過(guò)排序處理后的目標(biāo)數(shù)據(jù)和預(yù)存數(shù)據(jù)的一例的示意圖。
[0025] 圖4是根據(jù)本發(fā)明實(shí)施例的生成數(shù)據(jù)集合的過(guò)程的一例的示意圖。
[0026] 圖5是根據(jù)本發(fā)明實(shí)施例的相似數(shù)據(jù)查找過(guò)程的示意圖。
[0027] 圖6是根據(jù)本發(fā)明實(shí)施例的哈希表的生成方式的示意圖。
[0028] 圖7是根據(jù)本發(fā)明實(shí)施例的哈希表的一例的示意圖。
[0029] 圖8是根據(jù)本發(fā)明實(shí)施例的快速模式下的查找過(guò)程的示意性流程圖。
[0030] 圖9是根據(jù)本發(fā)明實(shí)施例的數(shù)據(jù)處理的裝置的示意性框圖。
[0031] 圖10是根據(jù)本發(fā)明實(shí)施例的數(shù)據(jù)處理的設(shè)備的示意性結(jié)構(gòu)圖。
【具體實(shí)施方式】
[0032]下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完 整地描述,顯然,所描述的實(shí)施例是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā) 明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有作出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施 例,都屬于本發(fā)明保護(hù)的范圍。
[0033] 本發(fā)明實(shí)施例提供的數(shù)據(jù)處理的方法、裝置和設(shè)備,可以應(yīng)用于計(jì)算機(jī)上,該計(jì)算 機(jī)包括硬件層、運(yùn)行在硬件層之上的操作系統(tǒng)層,以及運(yùn)行在操作系統(tǒng)層上的應(yīng)用層。該硬 件層包括CPU、存儲(chǔ)器管理單元(MMU,Memory Management Unit)和內(nèi)存(也稱為存儲(chǔ)器)等 硬件。該操作系統(tǒng)可以是任意一種或多種通過(guò)進(jìn)程實(shí)現(xiàn)業(yè)務(wù)處理的計(jì)算機(jī)操作系統(tǒng),例如, Linux系統(tǒng)、Unix系統(tǒng)、Android系統(tǒng)、iOS系統(tǒng)或windows系統(tǒng)等。該應(yīng)用層包含瀏覽器、通訊 錄、文字處理軟件、即時(shí)通信軟件等應(yīng)用。并且,在本發(fā)明實(shí)施例中,該計(jì)算機(jī)可以是智能手 機(jī)等手持設(shè)備,也可以是個(gè)人計(jì)算機(jī)等終端設(shè)備,本發(fā)明并未特別限定,只要能夠通過(guò)運(yùn)行 記錄有本發(fā)明實(shí)施例的數(shù)據(jù)處理的方法的代碼的程序,以根據(jù)本發(fā)明實(shí)施例的數(shù)據(jù)處理的 方法對(duì)數(shù)據(jù)進(jìn)行處理即可。本發(fā)明實(shí)施例的數(shù)據(jù)處理的方法的執(zhí)行主體可以是計(jì)算機(jī)設(shè) 備,或者,本發(fā)明實(shí)施例的數(shù)據(jù)處理的方法的執(zhí)行主體可以是計(jì)算機(jī)設(shè)備中能夠調(diào)用程序 并執(zhí)行程序的功能模塊。
[0034] 此外,本發(fā)明的各個(gè)方面或特征可以實(shí)現(xiàn)成方法、裝置或使用標(biāo)準(zhǔn)編程和/或工程 技術(shù)的制品。本申請(qǐng)中使用的術(shù)語(yǔ)"制品"涵蓋可從任何計(jì)算機(jī)可讀器件、載體或介質(zhì)訪問(wèn) 的計(jì)算機(jī)程序。例如,計(jì)算機(jī)可讀介質(zhì)可以包括,但不限于:磁存儲(chǔ)器件(例如,硬盤(pán)、軟盤(pán)或 磁帶等),光盤(pán)(例如,⑶(Compact Disk,壓縮盤(pán))、DVD(Digital Versatile Disk,數(shù)字通用 盤(pán))等),智能卡和閃存器件(例如,EPROM(Erasable Programmable Read-Only Memory,可 擦寫(xiě)可編程只讀存儲(chǔ)器)、卡、棒或鑰匙驅(qū)動(dòng)器等)。另外,本文描述的各種存儲(chǔ)介質(zhì)可代表 用于存儲(chǔ)信息的一個(gè)或多個(gè)設(shè)備和/或其它機(jī)器可讀介質(zhì)。術(shù)語(yǔ)"機(jī)器可讀介質(zhì)"可包括但 不限于,無(wú)線信道和能夠存儲(chǔ)、包含和/或承載指令和/或數(shù)據(jù)的各種其它介質(zhì)。
[0035]圖1是根據(jù)本發(fā)明實(shí)施例的數(shù)據(jù)處理的方法100的示意性流程圖。如圖1所示,該方 法100包括:
[0036] S110,根據(jù)預(yù)設(shè)的相似度閾值j和目標(biāo)數(shù)據(jù),生成第一數(shù)據(jù)集合,其中,該目標(biāo)數(shù)據(jù) 包括T1個(gè)第一比特組,每個(gè)第一比特組包括k比特,該第一數(shù)據(jù)集合包括%個(gè)第一數(shù)據(jù),該M 1 個(gè)第一數(shù)據(jù)與從該T1個(gè)第一比特組中選取j個(gè)第一比特組時(shí)的M1種組合方式一一對(duì)應(yīng),TP 2,k> l,Ti>j> 1;
[0037] 根據(jù)該相似度閾值j和N個(gè)預(yù)存數(shù)據(jù),生成N個(gè)第二數(shù)據(jù)集合,其中,該N個(gè)預(yù)存數(shù)據(jù) 與該N個(gè)第二數(shù)據(jù)集合一一對(duì)應(yīng),每個(gè)預(yù)存數(shù)據(jù)包括T 2個(gè)第二比特組,每個(gè)第二比特組包括 k比特,每個(gè)第二數(shù)據(jù)集合包括M2個(gè)第二數(shù)據(jù),第i個(gè)第二數(shù)據(jù)集合中的每個(gè)第二數(shù)據(jù)包括 第i個(gè)預(yù)存數(shù)據(jù)中的!^個(gè)第二比特組,第i個(gè)第二數(shù)據(jù)集合中的M 2個(gè)第二數(shù)據(jù)與從該T2個(gè)第 二比特組中選取j個(gè)第二比特組時(shí)的M2種組合方式--對(duì)應(yīng),N 2 I,T2 2 T1,i e [I,N];
[0038] S120,根據(jù)該第一數(shù)據(jù)集合和該第二數(shù)據(jù)集合,從該N個(gè)預(yù)存數(shù)據(jù)中確定第一預(yù)存 數(shù)據(jù),該第一預(yù)存數(shù)據(jù)和該目標(biāo)數(shù)據(jù)之間相似度與該相似度閾值j相對(duì)應(yīng),其中,該第一預(yù) 存數(shù)據(jù)所對(duì)應(yīng)的第二數(shù)據(jù)集合與該第一數(shù)據(jù)集合之間包括至少一個(gè)相同的數(shù)據(jù)。
[0039] 本發(fā)明實(shí)施例的數(shù)據(jù)處理的方法可以應(yīng)用于從多個(gè)預(yù)存數(shù)據(jù)中查找與選定的目 標(biāo)數(shù)據(jù)之間的相似度滿足預(yù)設(shè)要求的數(shù)據(jù)的過(guò)程。
[0040] 在本發(fā)明實(shí)施例中,"數(shù)據(jù)"可以包括至少兩個(gè)比特組,每個(gè)比特組包括至少一個(gè) 比特。
[0041] 作為示例而非限定,在本發(fā)明實(shí)施例中,可以將一個(gè)字節(jié)(Byte)作為一個(gè)比特組, 艮P,此情況下,一個(gè)比特組包括8個(gè)比特。
[0042] 可選地,該目標(biāo)數(shù)據(jù)和該預(yù)存數(shù)據(jù)為指紋數(shù)據(jù)。
[0043]具體地說(shuō),本發(fā)明實(shí)施例的數(shù)據(jù)處理的方法可以應(yīng)用于相似指紋數(shù)據(jù)的查找過(guò) 程,即,可以建立指紋數(shù)據(jù)庫(kù),該指紋數(shù)據(jù)庫(kù)包括一個(gè)或多個(gè)預(yù)先存儲(chǔ)的指紋數(shù)據(jù)(即,N個(gè) 預(yù)存數(shù)據(jù)的一例),以下,為了便于理解和區(qū)分,稱為"預(yù)存指紋數(shù)據(jù)",基于本發(fā)明實(shí)施例的 數(shù)據(jù)處理的方法,能夠從該指紋數(shù)據(jù)庫(kù)中查找與所選定的目標(biāo)指紋數(shù)據(jù)(即,目標(biāo)數(shù)據(jù)的一 例)之間的相似度滿足預(yù)設(shè)的相似度要求的預(yù)存指紋數(shù)據(jù)(即,第一預(yù)存數(shù)據(jù)的一例)。其 中,指紋數(shù)據(jù)可以是包括多個(gè)字節(jié)(例如,SByte)的數(shù)據(jù),每個(gè)字節(jié)能夠唯一地指示一種指 紋特征。
[0044]應(yīng)理解,以上列舉的本發(fā)明的處理對(duì)象僅為示例性說(shuō)明,本發(fā)明并未限定于此,本 發(fā)明的數(shù)據(jù)處理的方法可以用于針對(duì)例如,圖像數(shù)據(jù)或聲音數(shù)據(jù)等各種數(shù)據(jù)的相似數(shù)據(jù)查 找過(guò)程。
[0045] 在本發(fā)明實(shí)施例中,判定預(yù)存數(shù)據(jù)和目標(biāo)數(shù)據(jù)之間的相似度是否相似度要求的過(guò) 程,可以表示為判定預(yù)存數(shù)據(jù)和目標(biāo)數(shù)據(jù)中相同的比特組(例如,字節(jié))的數(shù)量是否大于或 等于預(yù)設(shè)值(即,相似度閾值)的過(guò)程。
[0046] 該相似度閾值可以由系統(tǒng)規(guī)定,也可以是用戶輸入的數(shù)值,本發(fā)明并未特別限定。
[0047] 為了便于說(shuō)明,以下,不失一般性,以指紋數(shù)據(jù)作為本發(fā)明實(shí)施例的數(shù)據(jù)處理的方 法的處理對(duì)象,對(duì)本發(fā)明實(shí)施例的數(shù)據(jù)處理的方法進(jìn)行詳細(xì)說(shuō)明。
[0048]作為示例而非限定,假設(shè)指紋數(shù)據(jù)的包括8個(gè)比特組(例如,8個(gè)字節(jié)),相似度閾值 為6,即,如果兩個(gè)指紋數(shù)據(jù)中有6個(gè)字節(jié)相同,則可以確定兩個(gè)指紋數(shù)據(jù)相似。
[0049]例如,如圖2所示,指紋數(shù)據(jù)FPM和指紋數(shù)據(jù)FPiffi分別包括8個(gè)字節(jié)。
[0050] 假設(shè),F(xiàn)P#A所包括的8個(gè)字節(jié)依次為a、b、c、d、e、f、g,h。
[0051 ] FP#B所包括的8個(gè)字節(jié)依次為d、b、p、c、a、q、e、f。
[0052]應(yīng)理解,以上列舉的指紋數(shù)據(jù)所包括的字節(jié)的數(shù)量和字節(jié)的具體值僅為示例性說(shuō) 明,本發(fā)明并未特別限定,例如FP#A和FP#B所包括的字節(jié)的數(shù)量也可以不同。
[0053] 在圖2所示示例中,由于FP#A和FP#B所包括的相同的字節(jié)(即,a、b、c、d、e、f)的數(shù) 量為6,等于預(yù)設(shè)的相似度閾值,因此,F(xiàn)P#A和FP#B是相似的。
[0054]在本發(fā)明實(shí)施例中,具體是通過(guò)判定FP#A和FP#B是否具有相同的子數(shù)據(jù)來(lái)確定是 FPM和FP#B是否相似。
[0055] 下面,對(duì)"子數(shù)據(jù)"的概念和生成方式進(jìn)行示例性說(shuō)明。
[0056] 這里,一個(gè)子數(shù)據(jù)所包括的比特組(例如,字節(jié))的數(shù)量為相似度閾值,并且,一個(gè) 子數(shù)據(jù)所包括的比特組均來(lái)自父數(shù)據(jù)。
[0057]例如,在本發(fā)明實(shí)施例中,可以根據(jù)該相似度閾值,確定指紋數(shù)據(jù)FP#A( 即,父數(shù)據(jù) 的一例)的多個(gè)子數(shù)據(jù)(即,第一數(shù)據(jù)集合的一例),具體地說(shuō),在本發(fā)明實(shí)施例中,可以將從 指紋數(shù)據(jù)FP#A所包括的8(即,T 1的一例)個(gè)字節(jié)中選擇6(即,相似度閾值j的一例)個(gè)字節(jié)的 多種(例如,M1種)組和方式的數(shù)據(jù)作為指紋數(shù)據(jù)FPM的子數(shù)據(jù)(即,第一數(shù)據(jù)的一例)。
[0058]類似地,可以根據(jù)該相似度閾值,確定指紋數(shù)據(jù)FP#B(即,父數(shù)據(jù)的另一例)的多個(gè) 子數(shù)據(jù)(即,第二數(shù)據(jù)集合的一例),具體地說(shuō),在本發(fā)明實(shí)施例中,可以將從指紋數(shù)據(jù)FP#B 所包括的8(即,T2的一例)個(gè)字節(jié)中選擇6(即,相似度閾值j的一例)個(gè)字節(jié)的多種(例如,M2 種)組和方式的數(shù)據(jù)作為指紋數(shù)據(jù)FP#B的子數(shù)據(jù)(即,第二數(shù)據(jù)的一例)。
[0059] 即,在本發(fā)明實(shí)施例中,目標(biāo)數(shù)據(jù)可以作為第一數(shù)據(jù)集合中的各第一數(shù)據(jù)的父數(shù) 據(jù),第一數(shù)據(jù)集合中的各第一數(shù)據(jù)可以作為目標(biāo)數(shù)據(jù)的子數(shù)據(jù)。并且,預(yù)存數(shù)據(jù)可以作為第 二數(shù)據(jù)集合中的各第二數(shù)據(jù)的父數(shù)據(jù),第二數(shù)據(jù)集合中的各第二數(shù)據(jù)可以作為目標(biāo)數(shù)據(jù)的 子數(shù)據(jù)。
[0060] 下面,對(duì)基于父數(shù)據(jù)所生成的子數(shù)據(jù)的方法和過(guò)程進(jìn)行說(shuō)明。
[0061] 在本發(fā)明實(shí)施例中,兩個(gè)數(shù)據(jù)相同是指兩個(gè)數(shù)據(jù)所包括的每個(gè)相同位置(例如,字 節(jié)位置)上的比特組(例如,字節(jié))均相同。
[0062] 例如,如圖2所示,F(xiàn)P#A與FP#B中相同的字節(jié)為a、b、c、d、e、f。
[0063] 將??#六的施個(gè)子數(shù)據(jù)中包括上述字節(jié)(&、13、(:、(1、6、〇的子數(shù)據(jù)記做 :子數(shù)據(jù)#1,其 中,該子數(shù)據(jù)#1可能是一個(gè),也可能是多個(gè),將子數(shù)據(jù)#1中上述6個(gè)字節(jié)(&士、(3、(1、 6、〇的排 列記做:排列#1,其中,該排列#1可能是一個(gè),也可能是多個(gè)。
[0064] 并且,將個(gè)子數(shù)據(jù)中包括上述字節(jié)(a、b、c、d、e、f)的子數(shù)據(jù)記做:子數(shù) 據(jù)#2,其中,該子數(shù)據(jù)#2可能是一個(gè),也可能是多個(gè),將子數(shù)據(jù)#2中上述6個(gè)字節(jié)(a、b、c、d、 e、f)的排列記做:排列#2,其中,該排列#2可能是一個(gè),也可能是多個(gè)。
[0065]則,如果排列#1與排列#2中存在相同的排列,則可以確定FP#A和FP#B包括相同的 子數(shù)據(jù),即,F(xiàn)P#A與FP#B相似;
[0066] 如果排列#1與排列#2中不存在相同的排列,則可以確定FP#A和FP#B不包括相同的 子數(shù)據(jù),即,F(xiàn)P#A與FP#B不相似。
[0067]作為示例而非限定,在本發(fā)明的一種實(shí)施方式中,一個(gè)子數(shù)據(jù)所包括的各字節(jié)之 間在該子數(shù)據(jù)中的排列順序(或者說(shuō),位置關(guān)系)與該子數(shù)據(jù)所包括的各字節(jié)之間在該子數(shù) 據(jù)的父數(shù)據(jù)中的排列順序(或者說(shuō),位置關(guān)系)相對(duì)應(yīng),例如,相同。
[0068] 此情況下,如圖1所示,由于上述排列#1為:a-b-c-d-e-f。上述排列#2為:d- b-c-a-e-f。即,排列#1與排列#2不同,因此,確定為FP#A與FP#B不相似。
[0069] 但是,如果FP#B所包括的8個(gè)字節(jié)依次為8、13、〇、(1、6、;1^4,9。則上述排列#1為:34匕 -c-d-e-f。上述排列#2為:d-b-c-a-e-f。即,排列#1與排列#2相同,因此,確定為 FPM與FP#B相似。
[0070] 由此可見(jiàn),在各字節(jié)之間的在子數(shù)據(jù)和父數(shù)據(jù)中的排列順序相對(duì)應(yīng)(例如,相同) 時(shí),目標(biāo)數(shù)據(jù)和預(yù)存數(shù)據(jù)中各字節(jié)的排列順序,對(duì)本發(fā)明的處理結(jié)果能夠產(chǎn)生不同影響。
[0071] 對(duì)此,在本發(fā)明實(shí)施例中,為了確保處理結(jié)果的可靠性,可以采用方式1進(jìn)行處理, 艮P,可以對(duì)目標(biāo)數(shù)據(jù)和預(yù)存數(shù)據(jù)中的個(gè)比特組進(jìn)行排序處理,此情況下,該M 1 = C(T1J),M2 = C(T2J);或者,也可以采用方式2進(jìn)行處理,即,確定目標(biāo)數(shù)據(jù)中的各比特組的所有可能 的排列方式,以及預(yù)存數(shù)據(jù)中各比特組的所有可能的排列方式,并使所生產(chǎn)的子數(shù)據(jù)對(duì)應(yīng) 上述各排列方式,此情況下,M 1 = A(T1J), M2 = A(T2J)13下面,分別對(duì)以上兩種方式的處理 進(jìn)行詳細(xì)說(shuō)明。
[0072]方式 1
[0073] 可選地,在根據(jù)預(yù)設(shè)的相似度閾值j和目標(biāo)數(shù)據(jù),生成第一數(shù)據(jù)集合之前,所述方 法還包括:
[0074] 根據(jù)預(yù)設(shè)規(guī)則,對(duì)所述目標(biāo)數(shù)據(jù)中的1\個(gè)第一比特組進(jìn)行排序;以及
[0075] 在根據(jù)預(yù)設(shè)的相似度閾值j和目標(biāo)數(shù)據(jù),生成第一數(shù)據(jù)集合之前,所述方法還包 括:
[0076] 根據(jù)所述預(yù)設(shè)規(guī)則,對(duì)每個(gè)預(yù)存數(shù)據(jù)中的1~2個(gè)第二比特組進(jìn)行排序。
[0077] 具體地說(shuō),在本發(fā)明實(shí)施例中,在根據(jù)目標(biāo)數(shù)據(jù)和預(yù)設(shè)數(shù)據(jù)(即,父數(shù)據(jù)),確定第 一數(shù)據(jù)集合和第二數(shù)據(jù)集合(即,子數(shù)據(jù))之前,可以按照預(yù)設(shè)規(guī)則,對(duì)目標(biāo)數(shù)據(jù)和預(yù)設(shè)數(shù)據(jù) 進(jìn)行排序處理,從而,能夠確保目標(biāo)數(shù)據(jù)和預(yù)設(shè)數(shù)據(jù)中相同的各字節(jié)彼此之間,在目標(biāo)數(shù)據(jù) 和預(yù)設(shè)數(shù)據(jù)中的排列順序相同,即,能夠確保包括該目標(biāo)數(shù)據(jù)和預(yù)設(shè)數(shù)據(jù)之間相同的各字 節(jié)的第一數(shù)據(jù)和第二數(shù)據(jù)中,各字節(jié)的排列順序相同,進(jìn)而能夠確保處理結(jié)果的可靠性。
[0078] 需要說(shuō)明的是,上述預(yù)設(shè)規(guī)則可以根據(jù)需要任意確定,只要能夠確保對(duì)目標(biāo)數(shù)據(jù) 和預(yù)設(shè)數(shù)據(jù)進(jìn)行排序處理時(shí)使用的規(guī)則一致即可,例如,可以按照字節(jié)所對(duì)應(yīng)的數(shù)值的大 小關(guān)系,按由小到大或由大到小的順序,對(duì)目標(biāo)數(shù)據(jù)和預(yù)設(shè)數(shù)據(jù)進(jìn)行排序。
[0079] 作為示例而非限定,如圖2所示,F(xiàn)P#A所包括的8個(gè)字節(jié)依次為a、b、c、d、e、f、g,h。 設(shè) &、13、(:、(1、64^,11之間的大小關(guān)系(例如,可以是二進(jìn)制的字節(jié)所對(duì)應(yīng)的十進(jìn)制的數(shù)值之 間的大小關(guān)系)為a>b>c>d>e>f>g>h,則如圖3所示,按照由大到小的順序(即,預(yù)設(shè) 規(guī)則的一例)進(jìn)行排序處理后的FP#A所包括的8個(gè)字節(jié)依次為a、b、c、d、e、f、g,h。
[0080] 類似的,如圖2所示,F(xiàn)P#B所包括的8個(gè)字節(jié)依次為FP#B所包括的8個(gè)字節(jié)依次為d、 b、p、c、a、q、e、f。設(shè)d、b、p、c、a、q、e、f之間的大小關(guān)系(例如,可以是二進(jìn)制的字節(jié)所對(duì)應(yīng)的 十進(jìn)制的數(shù)值之間的大小關(guān)系)為a>b>c>d>e>f>p>q,則如圖3所示,按照由大到小 的順序(即,預(yù)設(shè)規(guī)則的一例)進(jìn)行排序處理后的FP#A所包括的8個(gè)字節(jié)依次為a、b、c、d、e、 f、p、q〇
[0081 ] 從而,如圖3所不,上述排列#1為:a-b-c-d-e-f。上述排列#2為:a-b-c-d -e-f。即,排列#1與排列#2相同,因此,確定為FP#A與FP#B相似,進(jìn)而能夠確保判定結(jié)果的 可靠性。
[0082]在方式1下,在根據(jù)目標(biāo)數(shù)據(jù)確定第一數(shù)據(jù)集合時(shí),可以使第一數(shù)據(jù)(即,子數(shù)據(jù)) 中的各第一比特組(例如,字節(jié))的排列順序與該第一比特組在目標(biāo)數(shù)據(jù)(即,父數(shù)據(jù))中的 排列順序一致。并且,第一數(shù)據(jù)的數(shù)量M1可以為從包括T1個(gè)第一比特組的目標(biāo)數(shù)據(jù)中選擇j 個(gè)第一比特組時(shí)的所有組合方式的數(shù)量,即M1 = CXT1,j)。
[0083] 類似地,在方式1下,在根據(jù)預(yù)存數(shù)據(jù)確定第二數(shù)據(jù)集合時(shí),可以使第二數(shù)據(jù)(即, 子數(shù)據(jù))中的各第二比特組(例如,字節(jié))的排列順序與該第二比特組在目標(biāo)數(shù)據(jù)(即,父數(shù) 據(jù))中的排列順序一致。并且,第一數(shù)據(jù)的數(shù)量M 2可以為從包括T2個(gè)第二比特組的目標(biāo)數(shù)據(jù) 中選擇j個(gè)第二比特組時(shí)的所有組合方式的數(shù)量,即M2 = C( T2,j )。
[0084] 通過(guò)在生成通過(guò)基于相同的預(yù)設(shè)規(guī)則對(duì)目標(biāo)數(shù)據(jù)和預(yù)存數(shù)據(jù)中的各比特組進(jìn)行 排序,能夠確保所確定的第一數(shù)據(jù)集合和第二數(shù)據(jù)集合中包括相同的比特組的數(shù)據(jù)中各比 特組的位置也相同,并且,經(jīng)過(guò)排序處理后,能夠使所生成的第一數(shù)據(jù)集合所包括的第一數(shù) 據(jù)的數(shù)量為M 1 = C(T1J),能夠使所生成的第二數(shù)據(jù)集合所包括的第二數(shù)據(jù)的數(shù)量為M2 = C (T2J),從而,能夠在確保相似數(shù)據(jù)查找的可靠性和準(zhǔn)確性的前提下,減少所需要對(duì)比為數(shù) 據(jù)的數(shù)量,即能夠進(jìn)一步降低相似數(shù)據(jù)查找的復(fù)雜度,減少相似數(shù)據(jù)查找的處理時(shí)間。
[0085] 方式 2
[0086] 可選地,該根據(jù)預(yù)設(shè)的相似度閾值j和目標(biāo)數(shù)據(jù),生成第一數(shù)據(jù)集合,包括:根據(jù)目 標(biāo)數(shù)據(jù)生成M3個(gè)子目標(biāo)數(shù)據(jù),其中,該M 3個(gè)子目標(biāo)數(shù)據(jù)與1^個(gè)第一比特組的所有可能的排列 方式一一對(duì)應(yīng);根據(jù)預(yù)設(shè)的相似度閾值j和該M3個(gè)子目標(biāo)數(shù)據(jù),生成第一數(shù)據(jù)集合,其中,該 M1個(gè)第一數(shù)據(jù)與從該M3個(gè)子目標(biāo)數(shù)據(jù)中的每個(gè)子目標(biāo)數(shù)據(jù)中選取j個(gè)第一比特組時(shí)的%種 組合方式一一對(duì)應(yīng);以及,根據(jù)該相似度閾值j和N個(gè)預(yù)存數(shù)據(jù),生成N個(gè)第二數(shù)據(jù)集合,包 括:根據(jù)第i個(gè)預(yù)存數(shù)據(jù)生成M 4個(gè)子預(yù)存數(shù)據(jù),其中,該M4個(gè)子目標(biāo)數(shù)據(jù)與第i個(gè)預(yù)存數(shù)據(jù)的 T2個(gè)第二比特組的所有可能的排列方式一一對(duì)應(yīng);根據(jù)預(yù)設(shè)的相似度閾值j和每個(gè)預(yù)存數(shù) 據(jù)所對(duì)應(yīng)的M 4個(gè)子預(yù)存數(shù)據(jù),生成第二數(shù)據(jù)集合,其中,第i個(gè)第二數(shù)據(jù)集合中的跑個(gè)第二數(shù) 據(jù)與從該第i個(gè)預(yù)存數(shù)據(jù)所對(duì)應(yīng)的M 4個(gè)子預(yù)存數(shù)據(jù)中的每個(gè)子預(yù)存數(shù)據(jù)中選取j個(gè)第二比 特組時(shí)的M2種組合方式--對(duì)應(yīng)。
[0087] 具體地說(shuō),在本發(fā)明實(shí)施例中,可以確定目標(biāo)數(shù)據(jù)所包括的各第一比特組之間所 有可能的排列方式,并且,以子數(shù)據(jù)中的各比特組(例如,字節(jié))的排列順序與該比特組在父 數(shù)據(jù)中的排列順序一致的方式,分別確定針對(duì)每種可能的排列方式下從包括T 1個(gè)第一比特 組的目標(biāo)數(shù)據(jù)中選擇j個(gè)第一比特組時(shí)的所有組合方式的數(shù)量,即M1 = AU1,j)。
[0088] 類似地,可以確定預(yù)設(shè)數(shù)據(jù)所包括的各第二比特組之間所有可能的排列方式,并 且,以子數(shù)據(jù)中的各比特組(例如,字節(jié))的排列順序與該比特組在父數(shù)據(jù)中的排列順序一 致的方式,分別確定針對(duì)每種可能的排列方式下從包括T 2個(gè)第二比特組的目標(biāo)數(shù)據(jù)中選擇 j個(gè)第二比特組時(shí)的所有組合方式的數(shù)量,即M2 = A(T2,j)。
[0089] 以下表1示出了包括8個(gè)字節(jié)的指紋數(shù)據(jù)中各字節(jié)(Al~A8)之間所有可能的排列 方式。
[0090] 表 1
[0092] 如圖2所示,F(xiàn)P#A與FP#B中相同的字節(jié)為a、b、c、d、e、f。根據(jù)方式2的處理,能夠確 保第一數(shù)據(jù)集合包括&士、(3、(1、64之間所有可能的排列方式,并且,能夠確保第二數(shù)據(jù)集合 包括a、b、c、d、e、f之間所有可能的排列方式,從而能夠確保根據(jù)本發(fā)明的數(shù)據(jù)處理的方法 所判定的,F(xiàn)P#A與FP#B之間的關(guān)系為相似,從而,能夠提高的相似數(shù)據(jù)查找的可靠性和準(zhǔn)確 性。
[0093]需要說(shuō)明的是,在上述方式2中,在如上所述確定了第一數(shù)據(jù)集合和第二數(shù)據(jù)集合 之后,還可以按照預(yù)設(shè)規(guī)則(例如,按照由大到小順序)對(duì)第一數(shù)據(jù)集合和第二數(shù)據(jù)集合中 的各數(shù)據(jù)中的比特組(例如,字節(jié))進(jìn)行排序,并且,對(duì)于經(jīng)過(guò)上述排序處理后的第一數(shù)據(jù)集 合中發(fā)生重復(fù)的數(shù)據(jù),可以僅保留一個(gè),類似地,對(duì)于經(jīng)過(guò)上述排序處理后的第二數(shù)據(jù)集合 中發(fā)生重復(fù)的數(shù)據(jù),也可以僅保留一個(gè),從而,經(jīng)過(guò)上述排序處理后,能夠使第一數(shù)據(jù)集合 所包括的第一數(shù)據(jù)的數(shù)量M 1WM1 = A(T1J)下降至M1 = C(T1J),并且,使第二數(shù)據(jù)集合所包 括的第二數(shù)據(jù)的數(shù)量M2從M2=A (T2,j)下降至M2 = C (T2,j)。
[0094] 根據(jù)本發(fā)明實(shí)施例的數(shù)據(jù)處理的方法,通過(guò)確定目標(biāo)數(shù)據(jù)中的各第一比特組所有 可能的排列方式,并確定各預(yù)存數(shù)據(jù)中的各第二比特組的所有可能的排列方式,從而能夠 使該第一數(shù)據(jù)集合中的第一數(shù)據(jù)對(duì)應(yīng)在目標(biāo)數(shù)據(jù)的各第一比特組的所有可能排列方式下 從該T 1個(gè)第一比特組中選取j個(gè)第一比特組時(shí)的組合方式,使每個(gè)第二數(shù)據(jù)集合中的第二 數(shù)據(jù)對(duì)應(yīng)在所對(duì)應(yīng)的預(yù)存數(shù)據(jù)的各第二比特組的所有可能排列方式下從該T 2個(gè)第二比特 組中選取j個(gè)第二比特組時(shí)的組合方式,從而,能夠提高的相似數(shù)據(jù)查找的可靠性和準(zhǔn)確 性。
[0095] 應(yīng)理解,以上列舉的方式1和方式2僅為確定第一數(shù)據(jù)集合和第二數(shù)據(jù)集合的示例 性說(shuō)明,本發(fā)明并未限定于此,例如,在目標(biāo)數(shù)據(jù)和預(yù)存數(shù)據(jù)所包括的相同的比特組之間的 排序天然相同的情況下(例如,目標(biāo)數(shù)據(jù)中的各第一比特組天然按某種順序排列,且預(yù)設(shè)數(shù) 據(jù)中的各第二比特組也天然按該順序排列),確保該M1個(gè)第一數(shù)據(jù)與從該1^個(gè)第一比特組中 選取j個(gè)第一比特組時(shí)的所有組合方式一一對(duì)應(yīng)即可,即,M1 = C(T1J);并且,確保該跑個(gè)第 二數(shù)據(jù)與從該T2個(gè)第二比特組中選取j個(gè)第二比特組時(shí)的所有組合方式一一對(duì)應(yīng)即可,即, M2 = C(T2J)0
[0096] 可選地,該根據(jù)預(yù)設(shè)的相似度閾值j和目標(biāo)數(shù)據(jù),生成第一數(shù)據(jù)集合,包括:
[0097] 根據(jù)預(yù)設(shè)的相似度閾值j和該第一比特組的數(shù)量!^,確定第一生成矩陣,該第一生 成矩陣包括在第一維度方向上排列的施個(gè)第一向量,每個(gè)第一向量包括在第二維度方向上 排列的T 1個(gè)元素,該T1個(gè)元素包括j個(gè)"Γ元素和T1-J個(gè)"0"元素,任意兩個(gè)第一向量彼此之 間至少存在一個(gè)在該第二維度方向上的排列位置不同的"0"元素或"Γ元素;
[0098] 根據(jù)該第一生成矩陣和目標(biāo)數(shù)據(jù),生成第一數(shù)據(jù)集合。
[0099] 并且,可選地,該根據(jù)該相似度閾值j和N個(gè)預(yù)存數(shù)據(jù),生成N個(gè)第二數(shù)據(jù)集合,包 括:
[0100] 根據(jù)預(yù)設(shè)的相似度閾值j和該第二比特組的數(shù)量!^,確定第二生成矩陣,該第二生 成矩陣包括在第一維度方向上排列的跑個(gè)第二向量,每個(gè)第二向量包括在第二維度方向上 排列的T 2個(gè)元素,該T2個(gè)元素包括j個(gè)"Γ元素和T2-j個(gè)"0"元素,任意兩個(gè)第二向量彼此之 間至少存在一個(gè)在該第二維度方向上的排列位置不同的"0"元素或"Γ元素;
[0101] 根據(jù)該第二生成矩陣和N個(gè)預(yù)存數(shù)據(jù),生成N個(gè)第二數(shù)據(jù)集合。
[0102] 具體地說(shuō),在本發(fā)明實(shí)施例中,可以使子數(shù)據(jù)中的各字節(jié)之間的排列順序與該字 節(jié)在父數(shù)據(jù)中的排列順序一致,作為示例而非限定,以下表2示出了從包括8個(gè)字節(jié)的父數(shù) 據(jù)中選擇6個(gè)字節(jié)時(shí)所有組合方式的子數(shù)據(jù)所包括的父數(shù)據(jù)中的字節(jié)。
[0103] 表2
[0106] 表2中的"0"表示該"0"所處行的子數(shù)據(jù)不包括父數(shù)據(jù)中該"0"所處列的位置上的 字節(jié),表2中的"Γ表示該"Γ所處行的子數(shù)據(jù)包括父數(shù)據(jù)中該"Γ所處列的位置上的字節(jié)。
[0107] 如圖4所示,在本發(fā)明實(shí)施例中,可以根據(jù)父數(shù)據(jù)所包括的字節(jié)的數(shù)量M和相似度 閾值j確定生成矩陣,該生成矩陣由"〇"元素和"Γ元素構(gòu)成。
[0108] 作為示例而非限定,該生成矩陣中的列(第一維度方向的一例)數(shù)為該父數(shù)據(jù)所包 括的字節(jié)數(shù)M,該生成矩陣中的行(第二維度方向的一例)數(shù)為從該M個(gè)字節(jié)中選擇j個(gè)字節(jié) 的所有可能的方式的數(shù)量,即,C(MJ),其中,任意兩個(gè)行之間至少存在一個(gè)在行方向上的 排列位置不同的"〇"元素或"Γ元素。
[0109] 作為示例而非限定,例如,在M = 8,j = 6時(shí),該生成矩陣可以表示為:
[0111]并且,在本發(fā)明實(shí)施例中,可以將父數(shù)據(jù)視為一維向量,該一維向量包括延上述 "行"方向(第二維度方向的一例)排列的M個(gè)元素(即,M個(gè)字符)。
[0112]從而,將該生成矩陣與父指紋數(shù)進(jìn)行乘處理(或者說(shuō),與處理)后,能夠得到C(MJ) 個(gè)子數(shù)據(jù)。
[0113]需要說(shuō)明的是,在本發(fā)明實(shí)施例中,該父數(shù)據(jù)可以是進(jìn)行排序處理之后的目標(biāo)數(shù) 據(jù),此情況下該生成矩陣可以作為上述第一生成矩陣,M=T1,子數(shù)據(jù)的數(shù)量為M1 = C(T1J)13
[0114] 并且,該父數(shù)據(jù)可以是進(jìn)行排序處理之后的每個(gè)預(yù)存數(shù)據(jù),此情況下該生成矩陣 可以作為上述第二生成矩陣,M=T2,每個(gè)預(yù)存數(shù)據(jù)的子數(shù)據(jù)的數(shù)量為M 2 = C(T2J)13
[0115] 或者,該父數(shù)據(jù)可以是目標(biāo)數(shù)據(jù)的1^個(gè)第一比特組的所有排列方式的數(shù)據(jù),并且, 該父數(shù)據(jù)也可以是每個(gè)預(yù)存數(shù)據(jù)的T2個(gè)第一比特組的所有排列方式的數(shù)據(jù)。
[0116] 由此,能夠確定第一數(shù)據(jù)集合以及N個(gè)第二數(shù)據(jù)集合。
[0117] 圖5是根據(jù)本發(fā)明實(shí)施例的相似數(shù)據(jù)查找方案的示意圖,如圖5所示,在如上所示 確定的第一數(shù)據(jù)集合和N個(gè)第二數(shù)據(jù)集合之后,可以確定第一數(shù)據(jù)集合和第i個(gè)第二數(shù)據(jù)集 合之間是否存在相同的數(shù)據(jù),如果存在,則可以確定目標(biāo)數(shù)據(jù)和第i個(gè)預(yù)存數(shù)據(jù)相似;如果 不存在,則可以確定目標(biāo)數(shù)據(jù)和第i個(gè)預(yù)存數(shù)據(jù)不相似。
[0118] 作為示例而非限定,在本發(fā)明實(shí)施例中,可以將N個(gè)第二數(shù)據(jù)集合中的各第二數(shù)據(jù) 保存至哈希表,具體地說(shuō),是哈希表各行(bucket)。
[0119]圖6是根據(jù)本發(fā)明實(shí)施例的哈希表的維護(hù)方式的示意圖。如圖6所示,在本發(fā)明實(shí) 施例中,在需要將第i個(gè)預(yù)存數(shù)據(jù)所對(duì)應(yīng)的第i個(gè)第二數(shù)據(jù)集合中的各第二數(shù)據(jù)插入哈希表 中時(shí),可以計(jì)算各第二數(shù)據(jù)的哈希值,并根據(jù)所確定的哈希值,將該第i個(gè)預(yù)存數(shù)據(jù)所對(duì)應(yīng) 的各第二數(shù)據(jù)保存至哈希表中與各哈希值相對(duì)應(yīng)的索引位置。
[0120]另外,在需要將第i個(gè)預(yù)存數(shù)據(jù)所對(duì)應(yīng)的第i個(gè)第二數(shù)據(jù)集合中的各第二數(shù)據(jù)從哈 希表中刪除時(shí),可以計(jì)算各第二數(shù)據(jù)的哈希值,并根據(jù)所確定的哈希值,將哈希表中與各哈 希值相對(duì)應(yīng)的索引位置的數(shù)據(jù)(即,第i個(gè)第二數(shù)據(jù)集合中的各第二數(shù)據(jù))刪除。
[0121]需要說(shuō)明的是,在本發(fā)明實(shí)施例中,N個(gè)預(yù)存數(shù)據(jù)中可能存在多個(gè)與目標(biāo)數(shù)據(jù)相似 的數(shù)據(jù),即,N個(gè)預(yù)存數(shù)據(jù)中可能存在多個(gè)包括目標(biāo)數(shù)據(jù)中的j個(gè)第一比特組的數(shù)據(jù),此情況 下,哈希表中的某些bucket中可能存在多個(gè)數(shù)據(jù),即,哈希表中的同一索引位置上可能需要 保存多個(gè)數(shù)據(jù)。
[0122] 此情況下,本發(fā)明實(shí)施例可以提供多種哈希表的bucket結(jié)構(gòu)。
[0123] 例如,如果需要保存在同一bucket內(nèi)的數(shù)據(jù)的數(shù)量小于或等于預(yù)設(shè)的數(shù)量閾值 (例如,5),則可以將需要保存在同一bucket內(nèi)的數(shù)據(jù)組成數(shù)據(jù)鏈,進(jìn)行保存。即,如果當(dāng)哈 希表中填充比例不高,各個(gè)bucket中元素個(gè)數(shù)均衡。直接將元素組成鏈。
[0124] 再例如,如果需要保存在同一 bucket內(nèi)的數(shù)據(jù)的數(shù)量大于預(yù)設(shè)的數(shù)量閾值(例如, 5),則可以將需要保存在同一bucket內(nèi)的數(shù)據(jù)組成制高點(diǎn)(VP,Vantage Point)樹(shù),進(jìn)行保 存。即,當(dāng)哈希表總填充比例超過(guò)預(yù)設(shè)值,各個(gè)bucket中元素個(gè)數(shù)不均衡,將元素按照VP樹(shù) 結(jié)構(gòu)放置。
[0125] 再例如,如果需要保存在同一 bucket內(nèi)的數(shù)據(jù)的數(shù)量大于預(yù)設(shè)的數(shù)量閾值(例如, 5),則可以將需要保存在同一bucket內(nèi)的數(shù)據(jù)組成套嵌的哈希表,進(jìn)行保存。即,當(dāng)哈希表 總填充比例超過(guò)預(yù)設(shè)值,各個(gè)bucket中元素個(gè)數(shù)不均衡,將元素按照套嵌的哈希表放置。 [0126]需要說(shuō)明的是,在本發(fā)明實(shí)施例中,哈希表的各bucket的結(jié)構(gòu)相同,即,如果某一 bucket采用鏈結(jié)構(gòu),則其他bucket也采用鏈結(jié)構(gòu);如果某一bucket采用樹(shù)結(jié)構(gòu),則其他 bucket也采用樹(shù)結(jié)構(gòu);如果某一 bucket采用哈希表結(jié)構(gòu),則其他bucket也采用哈希表結(jié)構(gòu)。
[0127] 另外,在本發(fā)明實(shí)施例中,哈希表的各bucket的所采用的結(jié)構(gòu)可以基于同一 bucket內(nèi)的數(shù)據(jù)的數(shù)量確定,也可以基于系統(tǒng)要求或管理員的設(shè)置來(lái)確定,本發(fā)明并未特 另IJ限定。
[0128] 圖7是根據(jù)本發(fā)明實(shí)施例的哈希表的一例的示意圖。如圖7所示,假設(shè)預(yù)設(shè)數(shù)據(jù)包 括指紋數(shù)據(jù)FP(B)和指紋數(shù)據(jù)FP(C),本發(fā)明實(shí)施例的哈希表的每個(gè)bucket具有預(yù)設(shè)的索引 (即,哈希值),在對(duì)FP(B)和FP(C)的各子數(shù)據(jù)進(jìn)行哈希值計(jì)算而確定各子數(shù)據(jù)的哈希值之 后,可以將各子數(shù)據(jù)保存至哈希表中索引值相同的bucket中,并且,可以將各子數(shù)據(jù)的父數(shù) 據(jù)的指示信息,例如,指示該子數(shù)據(jù)的父數(shù)據(jù)為FP(B)或FP(C)的信息一同保存至哈希表中。
[0129] 從而,在查找目標(biāo)數(shù)據(jù)(例如,指紋數(shù)據(jù)FP(A))的相似數(shù)據(jù)時(shí),可以按照如上所示 方式確定FP(A)的各子數(shù)據(jù),并確定各子數(shù)據(jù)的哈希值,并將哈希表中索引的值與FP(A)的 任一子數(shù)據(jù)的哈希值相同的bucket中存儲(chǔ)的數(shù)據(jù)的父數(shù)據(jù),作為FP(A)的相似數(shù)據(jù)。
[0130] 在本發(fā)明實(shí)施例中,針對(duì)一個(gè)目標(biāo)數(shù)據(jù),在N個(gè)預(yù)設(shè)數(shù)據(jù)中可能存在多個(gè)相似的數(shù) 據(jù)。對(duì)此,本發(fā)明提供了多種查找方案。
[0131] 例如,本發(fā)明實(shí)施例的查找方案可以包括快速模式和完整模式。下面,分別對(duì)上述 兩種模式下的查找過(guò)程進(jìn)行詳細(xì)說(shuō)明。
[0132] A.快速模式
[0133] 可選地,該根據(jù)該第一數(shù)據(jù)集合和該第二數(shù)據(jù)集合,從該N個(gè)預(yù)存數(shù)據(jù)中確定第一 預(yù)存數(shù)據(jù),包括:
[0134] 從備選模式中確定查找模式,該備選模式包括快速模式和完整模式;
[0135] 當(dāng)該查找模式為該快速模式時(shí),基于各該第一數(shù)據(jù)在該第一數(shù)據(jù)集合中的排序, 按預(yù)設(shè)順序進(jìn)行y次查找處理,該y次查找處理與該第一數(shù)據(jù)集合中基于該預(yù)設(shè)順序的前y 個(gè)第一數(shù)據(jù)一一對(duì)應(yīng),其中,第X次查找處理用于確定該N個(gè)第二數(shù)據(jù)集合中是否存在與第X 個(gè)第一數(shù)據(jù)相同的數(shù)據(jù),并在首次查找到與該第一數(shù)據(jù)相同的數(shù)據(jù)時(shí),將與該第一數(shù)據(jù)相 同的數(shù)據(jù)所屬于的第二數(shù)據(jù)集合所對(duì)應(yīng)的預(yù)存數(shù)據(jù)作為該第一預(yù)存數(shù)據(jù),其中,X e [ 1,y], y < Mio
[0136] 具體地說(shuō),圖8是根據(jù)本發(fā)明實(shí)施例的快速模式下的查找過(guò)程的示意性流程圖,如 圖8所示,首先,可以確定目標(biāo)指紋的各子數(shù)據(jù)(即,第一數(shù)據(jù));其后,可以令i = l,并確定第 i個(gè)子數(shù)據(jù)的哈希值;其后,可以判定在哈希表中索引的值與該第i個(gè)子數(shù)據(jù)的哈希值相同 的bucket中是否保存有數(shù)據(jù)。
[0137] 如果判定為是,則可以將該bucket中所保存的數(shù)據(jù)的父數(shù)據(jù)作為與該模板指紋相 似的數(shù)據(jù)(即,第一預(yù)存數(shù)據(jù)),并立即,結(jié)束查找。
[0138] 如果判定為否,則可以令i = i + l,并繼續(xù)查找,如果i =Mi時(shí)仍然未查找到相似的 數(shù)據(jù),則可以認(rèn)為N個(gè)預(yù)存數(shù)據(jù)中不存在與該目標(biāo)數(shù)據(jù)相似的數(shù)據(jù)。
[0139] 從而,能夠快速地查找到滿足預(yù)設(shè)的相似條件(即,與相似度閾值j相對(duì)應(yīng))的預(yù)設(shè) 數(shù)據(jù)。
[0140] B ·完整模式
[0141 ]可選地,該根據(jù)該第一數(shù)據(jù)集合和該第二數(shù)據(jù)集合,從該N個(gè)預(yù)存數(shù)據(jù)中確定第一 預(yù)存數(shù)據(jù),包括:
[0142 ]從備選模式中確定查找模式,該備選模式包括快速模式和完整模式;
[0143] 當(dāng)該查找模式為該完整模式時(shí),基于各該第一數(shù)據(jù)在該第一數(shù)據(jù)集合中的排序, 按預(yù)設(shè)順序進(jìn)行y次查找處理,該y次查找處理與該第一數(shù)據(jù)集合中基于該預(yù)設(shè)順序的前y 個(gè)第一數(shù)據(jù)一一對(duì)應(yīng),其中,第X次查找處理用于確定該N個(gè)第二數(shù)據(jù)集合中是否存在與第X 個(gè)第一數(shù)據(jù)相同的數(shù)據(jù),如果首次查找到的與該第一數(shù)據(jù)相同的數(shù)據(jù)屬于至少兩個(gè)第二數(shù) 據(jù)集合,則將該至少兩個(gè)第二數(shù)據(jù)集合所對(duì)應(yīng)的預(yù)存數(shù)據(jù)中與該目標(biāo)數(shù)據(jù)之間存在相同的 比特組的數(shù)量最多的預(yù)存數(shù)據(jù)作為該第一預(yù)存數(shù)據(jù)。
[0144] 具體地說(shuō),在上述快速模式的基礎(chǔ)上,如果哈希表中索引的值與該第i個(gè)子數(shù)據(jù)的 哈希值相同的bucket中保存有兩個(gè)或兩個(gè)以上的數(shù)據(jù),則可以進(jìn)一步判定該兩個(gè)或兩個(gè)以 上的數(shù)據(jù)的父數(shù)據(jù)中與該目標(biāo)數(shù)據(jù)所包括的相同的比特組最多的數(shù)據(jù),作為該第一預(yù)設(shè)數(shù) 據(jù)。
[0145] 應(yīng)理解,以上列舉的查找模式僅為示例性說(shuō)明,本發(fā)明并未限定于此,例如,還可 以采用以下模式進(jìn)行查找:
[0146] 依次進(jìn)行針對(duì)目標(biāo)數(shù)據(jù)的M1個(gè)子數(shù)據(jù)中的每個(gè)子數(shù)據(jù)的查找處理,即,確定第i個(gè) 子數(shù)據(jù)的哈希值,其后,可以判定在哈希表中索引的值與該第i個(gè)子數(shù)據(jù)的哈希值相同的 bucket中是否保存有數(shù)據(jù)。如果判定為是,則可以將該bucket中所保存的數(shù)據(jù)的父數(shù)據(jù)作 為與該模板指紋相似的數(shù)據(jù)(即,第一預(yù)存數(shù)據(jù)),并保存該數(shù)據(jù)。
[0147] 并且,在查找到多個(gè)滿足預(yù)設(shè)的相似條件(即,與相似度閾值j相對(duì)應(yīng))的預(yù)設(shè)數(shù)據(jù) 后,可以進(jìn)一步確定該多個(gè)預(yù)設(shè)數(shù)據(jù)中與該目標(biāo)數(shù)據(jù)之間存在的相同的比特組最多的數(shù) 據(jù),作為該第一預(yù)設(shè)數(shù)據(jù),從而能夠得到N個(gè)預(yù)存數(shù)據(jù)中與目標(biāo)數(shù)據(jù)最相似的數(shù)據(jù)。
[0148] 需要說(shuō)明的是,上述查找模式的使用可以根據(jù)本發(fā)明實(shí)施例的數(shù)據(jù)處理方法的執(zhí) 行主體(例如,處理器)當(dāng)前的負(fù)載確定,例如,如果處理器的負(fù)載較低,則可以使用完整模 式;如果處理器的負(fù)載較大,則可以使用快速模式。
[0149] 根據(jù)本發(fā)明實(shí)施例的數(shù)據(jù)處理的方法,通過(guò)設(shè)置快速模式和完整模式,并在快速 模式下輸出預(yù)存數(shù)據(jù)中所有相似度滿足相似度閾值j所對(duì)應(yīng)的要求的數(shù)據(jù),在完整模式輸 出預(yù)存數(shù)據(jù)中相似度滿足相似度閾值j所對(duì)應(yīng)的要求且與目標(biāo)數(shù)據(jù)之間的相似度最高的數(shù) 據(jù),能夠靈活應(yīng)對(duì)不同的用戶需求,進(jìn)一步提高用戶體驗(yàn)。
[0150]應(yīng)理解,以上列舉的查找模式的確定方式僅為示例性說(shuō)明,本發(fā)明并未限定于此, 例如,上述查找模式的使用可以根據(jù)用戶要求確定。
[0151]根據(jù)本發(fā)明實(shí)施例的數(shù)據(jù)處理的方法,通過(guò)根據(jù)目標(biāo)數(shù)據(jù)確定包括%個(gè)第一數(shù)據(jù) 的第一數(shù)據(jù)集合,并根據(jù)N個(gè)預(yù)存數(shù)據(jù)確定N個(gè)第二數(shù)據(jù)集合,其中,第一數(shù)據(jù)集合中的施個(gè) 第一數(shù)據(jù)與從包括T1個(gè)第一比特組的目標(biāo)數(shù)據(jù)中選擇j個(gè)第一比特組時(shí)的M 1種組合方式一 一對(duì)應(yīng),每個(gè)第二數(shù)據(jù)集合中的M2個(gè)第二數(shù)據(jù)與從包括T2個(gè)第二比特組的預(yù)存數(shù)據(jù)中選擇j 個(gè)第二比特組時(shí)的M2種組合方式一一對(duì)應(yīng),其中,j為預(yù)設(shè)的相似度閾值,從而,在一個(gè)第二 數(shù)據(jù)集合與該第一數(shù)據(jù)集合之間包括至少一個(gè)相同的數(shù)據(jù)時(shí),能夠?qū)⒃摰诙?shù)據(jù)集合所對(duì) 應(yīng)的預(yù)存數(shù)據(jù)作為與該目標(biāo)數(shù)據(jù)之間的相似度滿足該相似度閾值j所對(duì)應(yīng)的相似度要求的 相似數(shù)據(jù),即,能夠?qū)⑾嗨茢?shù)據(jù)查找過(guò)程轉(zhuǎn)化為相同數(shù)據(jù)的判定過(guò)程,從而,能夠降低相似 數(shù)據(jù)查找的復(fù)雜度,減少相似數(shù)據(jù)查找的處理時(shí)間,改善用戶體驗(yàn)。
[0152]圖9是根據(jù)本發(fā)明實(shí)施例的數(shù)據(jù)處理的裝置200的示意性框圖。該裝置200可以通 過(guò)數(shù)字信號(hào)處理器(DSP)、專用集成電路(ASIC)、現(xiàn)成可編程門(mén)陣列(FPGA)或者其他可編程 邏輯器件、分立門(mén)或者晶體管邏輯器件、分立硬件組件等實(shí)現(xiàn)。該裝置200也可以指示軟件 模塊或軟件包。如圖9所示,該裝置200包括:
[0153] 生成單元210,用于根據(jù)預(yù)設(shè)的相似度閾值j和目標(biāo)數(shù)據(jù),生成第一數(shù)據(jù)集合,其 中,該目標(biāo)數(shù)據(jù)包括T1個(gè)第一比特組,每個(gè)第一比特組包括k比特,該第一數(shù)據(jù)集合包括施個(gè) 第一數(shù)據(jù),該M 1個(gè)第一數(shù)據(jù)與從該T1個(gè)第一比特組中選取j個(gè)第一比特組時(shí)的M1種組合方式 --X^,Ti> 2,k> l,Ti>j > 1;
[0154] 所示生成單元210還用于,根據(jù)該相似度閾值j和N個(gè)預(yù)存數(shù)據(jù),生成N個(gè)第二數(shù)據(jù) 集合,其中,該N個(gè)預(yù)存數(shù)據(jù)與該N個(gè)第二數(shù)據(jù)集合一一對(duì)應(yīng),每個(gè)預(yù)存數(shù)據(jù)包括T 2f第二比 特組,每個(gè)第二比特組包括k比特,每個(gè)第二數(shù)據(jù)集合包括M2個(gè)第二數(shù)據(jù),第i個(gè)第二數(shù)據(jù)集 合中的每個(gè)第二數(shù)據(jù)包括第i個(gè)預(yù)存數(shù)據(jù)中的!^個(gè)第二比特組,第i個(gè)第二數(shù)據(jù)集合中的M 2 個(gè)第二數(shù)據(jù)與從該T2個(gè)第二比特組中選取j個(gè)第二比特組時(shí)的M2種組合方式一一對(duì)應(yīng),N2 l,Tdie[l,N];
[0155] 確定單元220,用于根據(jù)該第一數(shù)據(jù)集合和該第二數(shù)據(jù)集合,從該N個(gè)預(yù)存數(shù)據(jù)中 確定第一預(yù)存數(shù)據(jù),該第一預(yù)存數(shù)據(jù)和該目標(biāo)數(shù)據(jù)之間相似度與該相似度閾值j相對(duì)應(yīng),其 中,該第一預(yù)存數(shù)據(jù)所對(duì)應(yīng)的第二數(shù)據(jù)集合與該第一數(shù)據(jù)集合之間包括至少一個(gè)相同的數(shù) 據(jù)。
[0156] 可選地,該裝置200還包括:
[0157] 排序單元230,用于根據(jù)預(yù)設(shè)規(guī)則,對(duì)該目標(biāo)數(shù)據(jù)中的T1個(gè)第一比特組進(jìn)行排序;
[0158] 用于根據(jù)該預(yù)設(shè)規(guī)則,對(duì)每個(gè)預(yù)存數(shù)據(jù)中的1~2個(gè)第二比特組進(jìn)行排序。
[0159] 可選地,該生成單元210具體用于根據(jù)預(yù)設(shè)的相似度閾值j和該第一比特組的數(shù)量 T1,確定第一生成矩陣,該第一生成矩陣包括在第一維度方向上排列的M1個(gè)第一向量,每個(gè) 第一向量包括在第二維度方向上排列的T 1個(gè)元素,該T1個(gè)元素包括j個(gè)"Γ元素和T1-Jf "〇"元素,任意兩個(gè)第一向量彼此之間至少存在一個(gè)在該第二維度方向上的排列位置不同 的"〇"元素或"Γ元素;
[0160] 用于根據(jù)該第一生成矩陣和目標(biāo)數(shù)據(jù),生成第一數(shù)據(jù)集合。
[0161] 可選地,該生成單元210具體用于根據(jù)預(yù)設(shè)的相似度閾值j和該第二比特組的數(shù)量 T2,確定第二生成矩陣,該第二生成矩陣包括在第一維度方向上排列的M2個(gè)第二向量,每個(gè) 第二向量包括在第二維度方向上排列的T 2個(gè)元素,該T2個(gè)元素包括j個(gè)"Γ元素和T2-j個(gè) "〇"元素,任意兩個(gè)第二向量彼此之間至少存在一個(gè)在該第二維度方向上的排列位置不同 的"〇"元素或"Γ元素;
[0162] 用于根據(jù)該第二生成矩陣和N個(gè)預(yù)存數(shù)據(jù),生成N個(gè)第二數(shù)據(jù)集合。
[0163] 可選地,該確定單元220具體用于從備選模式中確定查找模式,該備選模式包括快 速模式和完整模式;
[0164] 當(dāng)該查找模式為該快速模式時(shí),該確定單元具體用于基于各該第一數(shù)據(jù)在該第一 數(shù)據(jù)集合中的排序,按預(yù)設(shè)順序進(jìn)行y次查找處理,該y次查找處理與該第一數(shù)據(jù)集合中基 于該預(yù)設(shè)順序的前y個(gè)第一數(shù)據(jù)一一對(duì)應(yīng),其中,第X次查找處理用于確定該N個(gè)第二數(shù)據(jù)集 合中是否存在與第X個(gè)第一數(shù)據(jù)相同的數(shù)據(jù),并在首次查找到與該第一數(shù)據(jù)相同的數(shù)據(jù)時(shí), 將與該第一數(shù)據(jù)相同的數(shù)據(jù)所屬于的第二數(shù)據(jù)集合所對(duì)應(yīng)的預(yù)存數(shù)據(jù)作為該第一預(yù)存數(shù) 據(jù),其中,xe[l,y],y《Mi;
[0165] 當(dāng)該查找模式為該完整模式時(shí),該確定單元具體用于基于各該第一數(shù)據(jù)在該第一 數(shù)據(jù)集合中的排序,按預(yù)設(shè)順序進(jìn)行y次查找處理,該y次查找處理與該第一數(shù)據(jù)集合中基 于該預(yù)設(shè)順序的前y個(gè)第一數(shù)據(jù)一一對(duì)應(yīng),其中,第X次查找處理用于確定該N個(gè)第二數(shù)據(jù)集 合中是否存在與第X個(gè)第一數(shù)據(jù)相同的數(shù)據(jù),如果首次查找到的與該第一數(shù)據(jù)相同的數(shù)據(jù) 屬于至少兩個(gè)第二數(shù)據(jù)集合,則將該至少兩個(gè)第二數(shù)據(jù)集合所對(duì)應(yīng)的預(yù)存數(shù)據(jù)中與該目標(biāo) 數(shù)據(jù)之間存在相同的比特組的數(shù)量最多的預(yù)存數(shù)據(jù)作為該第一預(yù)存數(shù)據(jù),其中, Xe[l,y], y < Mio
[0166] 該裝置200中的各單元或模塊分別用于執(zhí)行上述方法100中的動(dòng)作和功能,這里為 了避免贅述,省略其詳細(xì)說(shuō)明。
[0167] 根據(jù)本發(fā)明實(shí)施例的數(shù)據(jù)處理的裝置,通過(guò)根據(jù)目標(biāo)數(shù)據(jù)確定包括%個(gè)第一數(shù)據(jù) 的第一數(shù)據(jù)集合,并根據(jù)N個(gè)預(yù)存數(shù)據(jù)確定N個(gè)第二數(shù)據(jù)集合,其中,第一數(shù)據(jù)集合中的施個(gè) 第一數(shù)據(jù)與從包括T 1個(gè)第一比特組的目標(biāo)數(shù)據(jù)中選擇j個(gè)第一比特組時(shí)的M1種組合方式一 一對(duì)應(yīng),每個(gè)第二數(shù)據(jù)集合中的M 2個(gè)第二數(shù)據(jù)與從包括T2個(gè)第二比特組的預(yù)存數(shù)據(jù)中選擇j 個(gè)第二比特組時(shí)的M2種組合方式一一對(duì)應(yīng),其中,j為預(yù)設(shè)的相似度閾值,從而,在一個(gè)第二 數(shù)據(jù)集合與該第一數(shù)據(jù)集合之間包括至少一個(gè)相同的數(shù)據(jù)時(shí),能夠?qū)⒃摰诙?shù)據(jù)集合所對(duì) 應(yīng)的預(yù)存數(shù)據(jù)作為與該目標(biāo)數(shù)據(jù)之間的相似度滿足該相似度閾值j所對(duì)應(yīng)的相似度要求的 相似數(shù)據(jù),即,能夠?qū)⑾嗨茢?shù)據(jù)查找過(guò)程轉(zhuǎn)化為相同數(shù)據(jù)的判定過(guò)程,從而,能夠降低相似 數(shù)據(jù)查找的復(fù)雜度,減少相似數(shù)據(jù)查找的處理時(shí)間,改善用戶體驗(yàn)。
[0168] 圖10是根據(jù)本發(fā)明實(shí)施例的數(shù)據(jù)處理的設(shè)備300的示意性結(jié)構(gòu)圖。如圖10所示,該 設(shè)備300包括:
[0169] 總線 310;
[0170] 與該總線310相連的存儲(chǔ)器320;
[0171] 與該總線310相連的處理器330:
[0172] 該處理器330用于經(jīng)由該總線310調(diào)用并執(zhí)行該存儲(chǔ)器320中的程序,以用于根據(jù) 預(yù)設(shè)的相似度閾值j和目標(biāo)數(shù)據(jù),生成第一數(shù)據(jù)集合,其中,該目標(biāo)數(shù)據(jù)包括T 1個(gè)第一比特 組,每個(gè)第一比特組包括k比特,該第一數(shù)據(jù)集合包括施個(gè)第一數(shù)據(jù),該M1個(gè)第一數(shù)據(jù)與從該 T1個(gè)第一比特組中選取j個(gè)第一比特組時(shí)的M1種組合方式--對(duì)應(yīng),1;
[0173] 用于根據(jù)該相似度閾值j和N個(gè)預(yù)存數(shù)據(jù),生成N個(gè)第二數(shù)據(jù)集合,其中,該N個(gè)預(yù)存 數(shù)據(jù)與該N個(gè)第二數(shù)據(jù)集合一一對(duì)應(yīng),每個(gè)預(yù)存數(shù)據(jù)包括T 2個(gè)第二比特組,每個(gè)第二比特組 包括k比特,每個(gè)第二數(shù)據(jù)集合包括M2個(gè)第二數(shù)據(jù),第i個(gè)第二數(shù)據(jù)集合中的每個(gè)第二數(shù)據(jù) 包括第i個(gè)預(yù)存數(shù)據(jù)中的!^個(gè)第二比特組,第i個(gè)第二數(shù)據(jù)集合中的M 2個(gè)第二數(shù)據(jù)與從該T2 個(gè)第二比特組中選取j個(gè)第二比特組時(shí)的M2種組合方式--對(duì)應(yīng),N 2 I,T2 2 T1,i e [I,N];
[0174] 用于根據(jù)該第一數(shù)據(jù)集合和該第二數(shù)據(jù)集合,從該N個(gè)預(yù)存數(shù)據(jù)中確定第一預(yù)存 數(shù)據(jù),該第一預(yù)存數(shù)據(jù)和該目標(biāo)數(shù)據(jù)之間相似度與該相似度閾值j相對(duì)應(yīng),其中,該第一預(yù) 存數(shù)據(jù)所對(duì)應(yīng)的第二數(shù)據(jù)集合與該第一數(shù)據(jù)集合之間包括至少一個(gè)相同的數(shù)據(jù)。
[0175] 可選地,該處理器330具體用于根據(jù)預(yù)設(shè)規(guī)則,對(duì)該目標(biāo)數(shù)據(jù)中的T1個(gè)第一比特組 進(jìn)行排序;
[0176] 用于根據(jù)該預(yù)設(shè)規(guī)則,對(duì)每個(gè)預(yù)存數(shù)據(jù)中的1~2個(gè)第二比特組進(jìn)行排序。
[0177] 可選地,該處理器330具體用于根據(jù)預(yù)設(shè)的相似度閾值j和該第一比特組的數(shù)量 T1,確定第一生成矩陣,該第一生成矩陣包括在第一維度方向上排列的M1個(gè)第一向量,每個(gè) 第一向量包括在第二維度方向上排列的T 1個(gè)元素,該T1個(gè)元素包括j個(gè)"Γ元素和T1-Jf "0"元素,任意兩個(gè)第一向量彼此之間至少存在一個(gè)在該第二維度方向上的排列位置不同 的"0"元素或"Γ元素;
[0178] 用于根據(jù)該第一生成矩陣和目標(biāo)數(shù)據(jù),生成第一數(shù)據(jù)集合。
[0179]可選地,該處理器330具體用于根據(jù)預(yù)設(shè)的相似度閾值j和該第二比特組的數(shù)量 T2,確定第二生成矩陣,該第二生成矩陣包括在第一維度方向上排列的M2個(gè)第二向量,每個(gè) 第二向量包括在第二維度方向上排列的T 2個(gè)元素,該T2個(gè)元素包括j個(gè)"Γ元素和T2-j個(gè) "0"元素,任意兩個(gè)第二向量彼此之間至少存在一個(gè)在該第二維度方向上的排列位置不同 的"0"元素或"Γ元素;
[0180] 用于根據(jù)該第二生成矩陣和N個(gè)預(yù)存數(shù)據(jù),生成N個(gè)第二數(shù)據(jù)集合。
[0181] 可選地,該處理器330具體用于從備選模式中確定查找模式,該備選模式包括快速 模式和完整模式;
[0182] 用于當(dāng)該查找模式為該快速模式時(shí),基于各該第一數(shù)據(jù)在該第一數(shù)據(jù)集合中的排 序,按預(yù)設(shè)順序進(jìn)行y次查找處理,該y次查找處理與該第一數(shù)據(jù)集合中基于該預(yù)設(shè)順序的 前y個(gè)第一數(shù)據(jù)一一對(duì)應(yīng),其中,第X次查找處理用于確定該N個(gè)第二數(shù)據(jù)集合中是否存在與 第X個(gè)第一數(shù)據(jù)相同的數(shù)據(jù),并在首次查找到與該第一數(shù)據(jù)相同的數(shù)據(jù)時(shí),將與該第一數(shù)據(jù) 相同的數(shù)據(jù)所屬于的第二數(shù)據(jù)集合所對(duì)應(yīng)的預(yù)存數(shù)據(jù)作為該第一預(yù)存數(shù)據(jù),其中,xe [1, y] <Μι;
[0183] 用于當(dāng)該查找模式為該完整模式時(shí),基于各該第一數(shù)據(jù)在該第一數(shù)據(jù)集合中的排 序,按預(yù)設(shè)順序進(jìn)行y次查找處理,該y次查找處理與該第一數(shù)據(jù)集合中基于該預(yù)設(shè)順序的 前y個(gè)第一數(shù)據(jù)一一對(duì)應(yīng),其中,第X次查找處理用于確定該N個(gè)第二數(shù)據(jù)集合中是否存在與 第X個(gè)第一數(shù)據(jù)相同的數(shù)據(jù),如果首次查找到的與該第一數(shù)據(jù)相同的數(shù)據(jù)屬于至少兩個(gè)第 二數(shù)據(jù)集合,則將該至少兩個(gè)第二數(shù)據(jù)集合所對(duì)應(yīng)的預(yù)存數(shù)據(jù)中與該目標(biāo)數(shù)據(jù)之間存在相 同的比特組的數(shù)量最多的預(yù)存數(shù)據(jù)作為該第一預(yù)存數(shù)據(jù),其中, Xe[l,y],y
[0184] 應(yīng)理解,在本發(fā)明實(shí)施例中,該處理器330可以是中央處理單元(Central Processing Unit,簡(jiǎn)稱為"CPU")。通用處理器可以是微處理器或者該處理器也可以是任何 常規(guī)的處理器等。
[0185]該存儲(chǔ)器320可以包括只讀存儲(chǔ)器和隨機(jī)存取存儲(chǔ)器,并向處理器330提供指令和 數(shù)據(jù)。存儲(chǔ)器320的一部分還可以包括非易失性隨機(jī)存取存儲(chǔ)器。例如,存儲(chǔ)器320還可以存 儲(chǔ)設(shè)備類型的信息。
[0186] 該總線310除包括數(shù)據(jù)總線之外,還可以包括電源總線、控制總線和狀態(tài)信號(hào)總線 等。但是為了清楚說(shuō)明起見(jiàn),在圖中將各種總線都標(biāo)為總線310。
[0187] 在實(shí)現(xiàn)過(guò)程中,上述方法的各步驟可以通過(guò)處理器330中的硬件的集成邏輯電路 或者軟件形式的指令完成。結(jié)合本發(fā)明實(shí)施例所公開(kāi)的方法的步驟可以直接體現(xiàn)為硬件處 理器執(zhí)行完成,或者用處理器中的硬件及軟件模塊組合執(zhí)行完成。軟件模塊可以位于隨機(jī) 存儲(chǔ)器,閃存、只讀存儲(chǔ)器,可編程只讀存儲(chǔ)器或者電可擦寫(xiě)可編程存儲(chǔ)器、寄存器等本領(lǐng) 域成熟的存儲(chǔ)介質(zhì)中。該存儲(chǔ)介質(zhì)位于存儲(chǔ)器320,處理器330讀取存儲(chǔ)器320中的信息,結(jié) 合其硬件完成上述方法的步驟。為避免重復(fù),這里不再詳細(xì)描述。
[0188] 其中,該設(shè)備300用于執(zhí)行上述方法100中的動(dòng)作和功能,這里為了避免贅述,省略 其詳細(xì)說(shuō)明。
[0189] 根據(jù)本發(fā)明實(shí)施例的數(shù)據(jù)處理的設(shè)備,通過(guò)根據(jù)目標(biāo)數(shù)據(jù)確定包括%個(gè)第一數(shù)據(jù) 的第一數(shù)據(jù)集合,并根據(jù)N個(gè)預(yù)存數(shù)據(jù)確定N個(gè)第二數(shù)據(jù)集合,其中,第一數(shù)據(jù)集合中的施個(gè) 第一數(shù)據(jù)與從包括T 1個(gè)第一比特組的目標(biāo)數(shù)據(jù)中選擇j個(gè)第一比特組時(shí)的M1種組合方式一 一對(duì)應(yīng),每個(gè)第二數(shù)據(jù)集合中的M 2個(gè)第二數(shù)據(jù)與從包括T2個(gè)第二比特組的預(yù)存數(shù)據(jù)中選擇j 個(gè)第二比特組時(shí)的M2種組合方式一一對(duì)應(yīng),其中,j為預(yù)設(shè)的相似度閾值,從而,在一個(gè)第二 數(shù)據(jù)集合與該第一數(shù)據(jù)集合之間包括至少一個(gè)相同的數(shù)據(jù)時(shí),能夠?qū)⒃摰诙?shù)據(jù)集合所對(duì) 應(yīng)的預(yù)存數(shù)據(jù)作為與該目標(biāo)數(shù)據(jù)之間的相似度滿足該相似度閾值j所對(duì)應(yīng)的相似度要求的 相似數(shù)據(jù),即,能夠?qū)⑾嗨茢?shù)據(jù)查找過(guò)程轉(zhuǎn)化為相同數(shù)據(jù)的判定過(guò)程,從而,能夠降低相似 數(shù)據(jù)查找的復(fù)雜度,減少相似數(shù)據(jù)查找的處理時(shí)間,改善用戶體驗(yàn)。
[0190] 應(yīng)理解,本文中術(shù)語(yǔ)"和/或",僅僅是一種描述關(guān)聯(lián)對(duì)象的關(guān)聯(lián)關(guān)系,表示可以存 在三種關(guān)系,例如,A和/或B,可以表示:單獨(dú)存在A,同時(shí)存在A和B,單獨(dú)存在B這三種情況。 另外,本文中字符7",一般表示前后關(guān)聯(lián)對(duì)象是一種"或"的關(guān)系。
[0191] 應(yīng)理解,在本發(fā)明的各種實(shí)施例中,上述各過(guò)程的序號(hào)的大小并不意味著執(zhí)行順 序的先后,各過(guò)程的執(zhí)行順序應(yīng)以其功能和內(nèi)在邏輯確定,而不應(yīng)對(duì)本發(fā)明實(shí)施例的實(shí)施 過(guò)程構(gòu)成任何限定。
[0192] 本領(lǐng)域普通技術(shù)人員可以意識(shí)到,結(jié)合本文中所公開(kāi)的實(shí)施例描述的各示例的單 元及算法步驟,能夠以電子硬件、或者計(jì)算機(jī)軟件和電子硬件的結(jié)合來(lái)實(shí)現(xiàn)。這些功能究竟 以硬件還是軟件方式來(lái)執(zhí)行,取決于技術(shù)方案的特定應(yīng)用和設(shè)計(jì)約束條件。專業(yè)技術(shù)人員 可以對(duì)每個(gè)特定的應(yīng)用來(lái)使用不同方法來(lái)實(shí)現(xiàn)所描述的功能,但是這種實(shí)現(xiàn)不應(yīng)認(rèn)為超出 本發(fā)明的范圍。
[0193] 所屬領(lǐng)域的技術(shù)人員可以清楚地了解到,為描述的方便和簡(jiǎn)潔,上述描述的系統(tǒng)、 裝置和單元的具體工作過(guò)程,可以參考前述方法實(shí)施例中的對(duì)應(yīng)過(guò)程,在此不再贅述。
[0194] 在本申請(qǐng)所提供的幾個(gè)實(shí)施例中,應(yīng)該理解到,所揭露的系統(tǒng)、裝置和方法,可以 通過(guò)其它的方式實(shí)現(xiàn)。例如,以上所描述的裝置實(shí)施例僅僅是示意性的,例如,所述單元的 劃分,僅僅為一種邏輯功能劃分,實(shí)際實(shí)現(xiàn)時(shí)可以有另外的劃分方式,例如多個(gè)單元或組件 可以結(jié)合或者可以集成到另一個(gè)系統(tǒng),或一些特征可以忽略,或不執(zhí)行。另一點(diǎn),所顯示或 討論的相互之間的耦合或直接耦合或通信連接可以是通過(guò)一些接口,裝置或單元的間接耦 合或通信連接,可以是電性,機(jī)械或其它的形式。
[0195] 所述作為分離部件說(shuō)明的單元可以是或者也可以不是物理上分開(kāi)的,作為單元顯 示的部件可以是或者也可以不是物理單元,即可以位于一個(gè)地方,或者也可以分布到多個(gè) 網(wǎng)絡(luò)單元上??梢愿鶕?jù)實(shí)際的需要選擇其中的部分或者全部單元來(lái)實(shí)現(xiàn)本實(shí)施例方案的目 的。
[0196] 另外,在本發(fā)明各個(gè)實(shí)施例中的各功能單元可以集成在一個(gè)處理單元中,也可以 是各個(gè)單元單獨(dú)物理存在,也可以兩個(gè)或兩個(gè)以上單元集成在一個(gè)單元中。
[0197] 所述功能如果以軟件功能單元的形式實(shí)現(xiàn)并作為獨(dú)立的產(chǎn)品銷售或使用時(shí),可以 存儲(chǔ)在一個(gè)計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中。基于這樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說(shuō) 對(duì)現(xiàn)有技術(shù)做出貢獻(xiàn)的部分或者該技術(shù)方案的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來(lái),該計(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盤(pán)、移動(dòng)硬盤(pán)、只讀存儲(chǔ)器(R0M,Read-0nly Memory)、隨機(jī)存取存 儲(chǔ)器(RAM,Random Access Memory)、磁碟或者光盤(pán)等各種可以存儲(chǔ)程序代碼的介質(zhì)。
[0198] 以上所述,僅為本發(fā)明的【具體實(shí)施方式】,但本發(fā)明的保護(hù)范圍并不局限于此,任何 熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到變化或替換,都應(yīng)涵 蓋在本發(fā)明的保護(hù)范圍之內(nèi)。因此,本發(fā)明的保護(hù)范圍應(yīng)以所述權(quán)利要求的保護(hù)范圍為準(zhǔn)。
【主權(quán)項(xiàng)】
1. 一種數(shù)據(jù)處理的方法,其特征在于,所述方法包括: 根據(jù)預(yù)設(shè)的相似度閾值j和目標(biāo)數(shù)據(jù),生成第一數(shù)據(jù)集合,其中,所述目標(biāo)數(shù)據(jù)包括Tif 第一比特組,每個(gè)第一比特組包括k比特,所述第一數(shù)據(jù)集合包括施個(gè)第一數(shù)據(jù),所述施個(gè)第 一數(shù)據(jù)與從所述!^個(gè)第一比特組中選取j個(gè)第一比特組時(shí)的施種組合方式一一對(duì)應(yīng),Ti 2 2, k> l,Ti>j> 1; 根據(jù)所述相似度閾值j和N個(gè)預(yù)存數(shù)據(jù),生成N個(gè)第二數(shù)據(jù)集合,其中,所述N個(gè)預(yù)存數(shù)據(jù) 與所述N個(gè)第二數(shù)據(jù)集合一一對(duì)應(yīng),每個(gè)預(yù)存數(shù)據(jù)包括T2個(gè)第二比特組,每個(gè)第二比特組包 括k比特,每個(gè)第二數(shù)據(jù)集合包括Μ 2個(gè)第二數(shù)據(jù),第i個(gè)第二數(shù)據(jù)集合中的每個(gè)第二數(shù)據(jù)包 括第i個(gè)預(yù)存數(shù)據(jù)中的!^個(gè)第二比特組,第i個(gè)第二數(shù)據(jù)集合中的M 2個(gè)第二數(shù)據(jù)與從所述T2 個(gè)第二比特組中選取j個(gè)第二比特組時(shí)的Μ2種組合方式--對(duì)應(yīng),Ν 2 1,T2 2 Ti,i e [ 1,Ν]; 根據(jù)所述第一數(shù)據(jù)集合和所述第二數(shù)據(jù)集合,從所述N個(gè)預(yù)存數(shù)據(jù)中確定第一預(yù)存數(shù) 據(jù),所述第一預(yù)存數(shù)據(jù)和所述目標(biāo)數(shù)據(jù)之間相似度與所述相似度閾值j相對(duì)應(yīng),其中,所述 第一預(yù)存數(shù)據(jù)所對(duì)應(yīng)的第二數(shù)據(jù)集合與所述第一數(shù)據(jù)集合之間包括至少一個(gè)相同的數(shù)據(jù)。2. 根據(jù)權(quán)利要求1所述的方法,其特征在于,在根據(jù)預(yù)設(shè)的相似度閾值j和目標(biāo)數(shù)據(jù),生 成第一數(shù)據(jù)集合之前,所述方法還包括: 根據(jù)預(yù)設(shè)規(guī)則,對(duì)所述目標(biāo)數(shù)據(jù)中的!^個(gè)第一比特組進(jìn)行排序;以及 在根據(jù)預(yù)設(shè)的相似度閾值j和目標(biāo)數(shù)據(jù),生成第一數(shù)據(jù)集合之前,所述方法還包括: 根據(jù)所述預(yù)設(shè)規(guī)則,對(duì)每個(gè)預(yù)存數(shù)據(jù)中的!^個(gè)第二比特組進(jìn)行排序。3. 根據(jù)權(quán)利要求1或2所述的方法,其特征在于,所述根據(jù)預(yù)設(shè)的相似度閾值j和目標(biāo)數(shù) 據(jù),生成第一數(shù)據(jù)集合,包括: 根據(jù)預(yù)設(shè)的相似度閾值j和所述第一比特組的數(shù)量Ti,確定第一生成矩陣,所述第一生 成矩陣包括在第一維度方向上排列的施個(gè)第一向量,每個(gè)第一向量包括在第二維度方向上 排列的Ti個(gè)元素,所述Ti個(gè)元素包括j個(gè)"Γ元素和Tn_個(gè)"0"元素,任意兩個(gè)第一向量彼此 之間至少存在一個(gè)在所述第二維度方向上的排列位置不同的"0"元素或"Γ元素; 根據(jù)所述第一生成矩陣和目標(biāo)數(shù)據(jù),生成第一數(shù)據(jù)集合。4. 根據(jù)權(quán)利要求1至3中任一項(xiàng)所述的方法,其特征在于,所述根據(jù)所述相似度閾值j和 N個(gè)預(yù)存數(shù)據(jù),生成N個(gè)第二數(shù)據(jù)集合,包括: 根據(jù)預(yù)設(shè)的相似度閾值j和所述第二比特組的數(shù)量T2,確定第二生成矩陣,所述第二生 成矩陣包括在第一維度方向上排列的跑個(gè)第二向量,每個(gè)第二向量包括在第二維度方向上 排列的Τ2個(gè)元素,所述Τ 2個(gè)元素包括j個(gè)"Γ元素和Τ2ι_個(gè)"0"元素,任意兩個(gè)第二向量彼此 之間至少存在一個(gè)在所述第二維度方向上的排列位置不同的"0"元素或"Γ元素; 根據(jù)所述第二生成矩陣和Ν個(gè)預(yù)存數(shù)據(jù),生成Ν個(gè)第二數(shù)據(jù)集合。5. 根據(jù)權(quán)利要求1至4中任一項(xiàng)所述的方法,其特征在于,所述根據(jù)所述第一數(shù)據(jù)集合 和所述第二數(shù)據(jù)集合,從所述Ν個(gè)預(yù)存數(shù)據(jù)中確定第一預(yù)存數(shù)據(jù),包括: 從備選模式中確定查找模式,所述備選模式包括快速模式和完整模式; 當(dāng)所述查找模式為所述快速模式時(shí),基于各所述第一數(shù)據(jù)在所述第一數(shù)據(jù)集合中的排 序,按預(yù)設(shè)順序進(jìn)行y次查找處理,所述y次查找處理與所述第一數(shù)據(jù)集合中基于所述預(yù)設(shè) 順序的前y個(gè)第一數(shù)據(jù)一一對(duì)應(yīng),其中,第X次查找處理用于確定所述N個(gè)第二數(shù)據(jù)集合中是 否存在與第X個(gè)第一數(shù)據(jù)相同的數(shù)據(jù),并在首次查找到與所述第一數(shù)據(jù)相同的數(shù)據(jù)時(shí),將與 所述第一數(shù)據(jù)相同的數(shù)據(jù)所屬于的第二數(shù)據(jù)集合所對(duì)應(yīng)的預(yù)存數(shù)據(jù)作為所述第一預(yù)存數(shù) 據(jù),其中,xe[l,y],y《Mi; 當(dāng)所述查找模式為所述完整模式時(shí),基于各所述第一數(shù)據(jù)在所述第一數(shù)據(jù)集合中的排 序,按預(yù)設(shè)順序進(jìn)行y次查找處理,所述y次查找處理與所述第一數(shù)據(jù)集合中基于所述預(yù)設(shè) 順序的前y個(gè)第一數(shù)據(jù)一一對(duì)應(yīng),其中,第X次查找處理用于確定所述N個(gè)第二數(shù)據(jù)集合中是 否存在與第X個(gè)第一數(shù)據(jù)相同的數(shù)據(jù),如果首次查找到的與所述第一數(shù)據(jù)相同的數(shù)據(jù)屬于 至少兩個(gè)第二數(shù)據(jù)集合,則將所述至少兩個(gè)第二數(shù)據(jù)集合所對(duì)應(yīng)的預(yù)存數(shù)據(jù)中與所述目標(biāo) 數(shù)據(jù)之間存在相同的比特組的數(shù)量最多的預(yù)存數(shù)據(jù)作為所述第一預(yù)存數(shù)據(jù),其中,xe[i, y],y《Mi〇6. -種數(shù)據(jù)處理的裝置,其特征在于,所述裝置包括: 生成單元,用于根據(jù)預(yù)設(shè)的相似度閾值j和目標(biāo)數(shù)據(jù),生成第一數(shù)據(jù)集合,其中,所述目 標(biāo)數(shù)據(jù)包括Ti個(gè)第一比特組,每個(gè)第一比特組包括k比特,所述第一數(shù)據(jù)集合包括%個(gè)第一 數(shù)據(jù),所述施個(gè)第一數(shù)據(jù)與從所述h個(gè)第一比特組中選取j個(gè)第一比特組時(shí)的施種組合方式 --X^,Ti> 2,k> l,Ti>j > 1; 所示生成單元還用于,根據(jù)所述相似度閾值j和N個(gè)預(yù)存數(shù)據(jù),生成N個(gè)第二數(shù)據(jù)集合, 其中,所述N個(gè)預(yù)存數(shù)據(jù)與所述N個(gè)第二數(shù)據(jù)集合一一對(duì)應(yīng),每個(gè)預(yù)存數(shù)據(jù)包括^個(gè)第二比 特組,每個(gè)第二比特組包括k比特,每個(gè)第二數(shù)據(jù)集合包括M 2個(gè)第二數(shù)據(jù),第i個(gè)第二數(shù)據(jù)集 合中的每個(gè)第二數(shù)據(jù)包括第i個(gè)預(yù)存數(shù)據(jù)中的!^個(gè)第二比特組,第i個(gè)第二數(shù)據(jù)集合中的M 2 個(gè)第二數(shù)據(jù)與從所述T2個(gè)第二比特組中選取j個(gè)第二比特組時(shí)的M2種組合方式一一對(duì)應(yīng),N > 1,Τ2>Τι,?^[1,Ν]; 確定單元,用于根據(jù)所述第一數(shù)據(jù)集合和所述第二數(shù)據(jù)集合,從所述N個(gè)預(yù)存數(shù)據(jù)中確 定第一預(yù)存數(shù)據(jù),所述第一預(yù)存數(shù)據(jù)和所述目標(biāo)數(shù)據(jù)之間相似度與所述相似度閾值j相對(duì) 應(yīng),其中,所述第一預(yù)存數(shù)據(jù)所對(duì)應(yīng)的第二數(shù)據(jù)集合與所述第一數(shù)據(jù)集合之間包括至少一 個(gè)相同的數(shù)據(jù)。7. 根據(jù)權(quán)利要求6所述的裝置,其特征在于,所述裝置還包括: 排序單元,用于根據(jù)預(yù)設(shè)規(guī)則,對(duì)所述目標(biāo)數(shù)據(jù)中的!^個(gè)第一比特組進(jìn)行排序; 用于根據(jù)所述預(yù)設(shè)規(guī)則,對(duì)每個(gè)預(yù)存數(shù)據(jù)中的!^個(gè)第二比特組進(jìn)行排序。8. 根據(jù)權(quán)利要求6或7所述的裝置,其特征在于,所述生成單元具體用于根據(jù)預(yù)設(shè)的相 似度閾值j和所述第一比特組的數(shù)量Ti,確定第一生成矩陣,所述第一生成矩陣包括在第一 維度方向上排列的施個(gè)第一向量,每個(gè)第一向量包括在第二維度方向上排列的?\個(gè)元素,所 述!^個(gè)元素包括j個(gè)"Γ元素和Ti 一 j個(gè)"0"元素,任意兩個(gè)第一向量彼此之間至少存在一個(gè) 在所述第二維度方向上的排列位置不同的"〇"元素或"Γ元素; 用于根據(jù)所述第一生成矩陣和目標(biāo)數(shù)據(jù),生成第一數(shù)據(jù)集合。9. 根據(jù)權(quán)利要求6至8中任一項(xiàng)所述的裝置,其特征在于,所述生成單元具體用于根據(jù) 預(yù)設(shè)的相似度閾值j和所述第二比特組的數(shù)量T 2,確定第二生成矩陣,所述第二生成矩陣包 括在第一維度方向上排列的Μ2個(gè)第二向量,每個(gè)第二向量包括在第二維度方向上排列的Τ 2 個(gè)元素,所述Τ2個(gè)元素包括j個(gè)"Γ元素和T2"j個(gè)"0"元素,任意兩個(gè)第二向量彼此之間至少 存在一個(gè)在所述第二維度方向上的排列位置不同的"0"元素或"Γ元素; 用于根據(jù)所述第二生成矩陣和N個(gè)預(yù)存數(shù)據(jù),生成N個(gè)第二數(shù)據(jù)集合。10. 根據(jù)權(quán)利要求6至9中任一項(xiàng)所述的裝置,其特征在于,所述確定單元具體用于從備 選模式中確定查找模式,所述備選模式包括快速模式和完整模式; 當(dāng)所述查找模式為所述快速模式時(shí),所述確定單元具體用于基于各所述第一數(shù)據(jù)在所 述第一數(shù)據(jù)集合中的排序,按預(yù)設(shè)順序進(jìn)行y次查找處理,所述y次查找處理與所述第一數(shù) 據(jù)集合中基于所述預(yù)設(shè)順序的前y個(gè)第一數(shù)據(jù)一一對(duì)應(yīng),其中,第X次查找處理用于確定所 述N個(gè)第二數(shù)據(jù)集合中是否存在與第X個(gè)第一數(shù)據(jù)相同的數(shù)據(jù),并在首次查找到與所述第一 數(shù)據(jù)相同的數(shù)據(jù)時(shí),將與所述第一數(shù)據(jù)相同的數(shù)據(jù)所屬于的第二數(shù)據(jù)集合所對(duì)應(yīng)的預(yù)存數(shù) 據(jù)作為所述第一預(yù)存數(shù)據(jù),其中,X e [ 1,y ],y < Mi ; 當(dāng)所述查找模式為所述完整模式時(shí),所述確定單元具體用于基于各所述第一數(shù)據(jù)在所 述第一數(shù)據(jù)集合中的排序,按預(yù)設(shè)順序進(jìn)行y次查找處理,所述y次查找處理與所述第一數(shù) 據(jù)集合中基于所述預(yù)設(shè)順序的前y個(gè)第一數(shù)據(jù)一一對(duì)應(yīng),其中,第X次查找處理用于確定所 述N個(gè)第二數(shù)據(jù)集合中是否存在與第X個(gè)第一數(shù)據(jù)相同的數(shù)據(jù),如果首次查找到的與所述第 一數(shù)據(jù)相同的數(shù)據(jù)屬于至少兩個(gè)第二數(shù)據(jù)集合,則將所述至少兩個(gè)第二數(shù)據(jù)集合所對(duì)應(yīng)的 預(yù)存數(shù)據(jù)中與所述目標(biāo)數(shù)據(jù)之間存在相同的比特組的數(shù)量最多的預(yù)存數(shù)據(jù)作為所述第一 預(yù)存數(shù)據(jù),其中,xe[l,y],y<Mi。11. 一種數(shù)據(jù)處理的設(shè)備,其特征在于,所述設(shè)備包括: 總線; 與所述總線相連的存儲(chǔ)器; 與所述總線相連的處理器: 所述處理器用于經(jīng)由所述總線調(diào)用并執(zhí)行所述存儲(chǔ)器中的程序,以用于根據(jù)預(yù)設(shè)的相 似度閾值j和目標(biāo)數(shù)據(jù),生成第一數(shù)據(jù)集合,其中,所述目標(biāo)數(shù)據(jù)包括Ti個(gè)第一比特組,每個(gè) 第一比特組包括k比特,所述第一數(shù)據(jù)集合包括%個(gè)第一數(shù)據(jù),所述%個(gè)第一數(shù)據(jù)與從所述 h個(gè)第一比特組中選取j個(gè)第一比特組時(shí)的沁種組合方式--對(duì)應(yīng),UTiSj》1; 用于根據(jù)所述相似度閾值j和N個(gè)預(yù)存數(shù)據(jù),生成N個(gè)第二數(shù)據(jù)集合,其中,所述N個(gè)預(yù)存 數(shù)據(jù)與所述N個(gè)第二數(shù)據(jù)集合一一對(duì)應(yīng),每個(gè)預(yù)存數(shù)據(jù)包括T2個(gè)第二比特組,每個(gè)第二比特 組包括k比特,每個(gè)第二數(shù)據(jù)集合包括Μ 2個(gè)第二數(shù)據(jù),第i個(gè)第二數(shù)據(jù)集合中的每個(gè)第二數(shù) 據(jù)包括第i個(gè)預(yù)存數(shù)據(jù)中的!^個(gè)第二比特組,第i個(gè)第二數(shù)據(jù)集合中的M 2個(gè)第二數(shù)據(jù)與從所 述T2個(gè)第二比特組中選取j個(gè)第二比特組時(shí)的M2種組合方式--對(duì)應(yīng),N 2 1,T2 2 Ti,i e [ 1, N]; 用于根據(jù)所述第一數(shù)據(jù)集合和所述第二數(shù)據(jù)集合,從所述N個(gè)預(yù)存數(shù)據(jù)中確定第一預(yù) 存數(shù)據(jù),所述第一預(yù)存數(shù)據(jù)和所述目標(biāo)數(shù)據(jù)之間相似度與所述相似度閾值j相對(duì)應(yīng),其中, 所述第一預(yù)存數(shù)據(jù)所對(duì)應(yīng)的第二數(shù)據(jù)集合與所述第一數(shù)據(jù)集合之間包括至少一個(gè)相同的 數(shù)據(jù)。12. 根據(jù)權(quán)利要求11所述的設(shè)備,其特征在于,所述處理器具體用于根據(jù)預(yù)設(shè)規(guī)則,對(duì) 所述目標(biāo)數(shù)據(jù)中的Ti個(gè)第一比特組進(jìn)行排序; 用于根據(jù)所述預(yù)設(shè)規(guī)則,對(duì)每個(gè)預(yù)存數(shù)據(jù)中的!^個(gè)第二比特組進(jìn)行排序。13. 根據(jù)權(quán)利要求11或12所述的設(shè)備,其特征在于,所述處理器具體用于根據(jù)預(yù)設(shè)的相 似度閾值j和所述第一比特組的數(shù)量Ti,確定第一生成矩陣,所述第一生成矩陣包括在第一 維度方向上排列的施個(gè)第一向量,每個(gè)第一向量包括在第二維度方向上排列的?\個(gè)元素,所 述!^個(gè)元素包括j個(gè)"Γ元素和Ti 一 j個(gè)"0"元素,任意兩個(gè)第一向量彼此之間至少存在一個(gè) 在所述第二維度方向上的排列位置不同的"〇"元素或"Γ元素; 用于根據(jù)所述第一生成矩陣和目標(biāo)數(shù)據(jù),生成第一數(shù)據(jù)集合。14. 根據(jù)權(quán)利要求11至13中任一項(xiàng)所述的設(shè)備,其特征在于,所述處理器具體用于根據(jù) 預(yù)設(shè)的相似度閾值j和所述第二比特組的數(shù)量Τ 2,確定第二生成矩陣,所述第二生成矩陣包 括在第一維度方向上排列的Μ2個(gè)第二向量,每個(gè)第二向量包括在第二維度方向上排列的Τ 2 個(gè)元素,所述Τ2個(gè)元素包括j個(gè)"Γ元素和T2"j個(gè)"0"元素,任意兩個(gè)第二向量彼此之間至少 存在一個(gè)在所述第二維度方向上的排列位置不同的"0"元素或"Γ元素; 用于根據(jù)所述第二生成矩陣和N個(gè)預(yù)存數(shù)據(jù),生成N個(gè)第二數(shù)據(jù)集合。15. 根據(jù)權(quán)利要求11至14中任一項(xiàng)所述的設(shè)備,其特征在于,所述處理器具體用于從備 選模式中確定查找模式,所述備選模式包括快速模式和完整模式; 用于當(dāng)所述查找模式為所述快速模式時(shí),基于各所述第一數(shù)據(jù)在所述第一數(shù)據(jù)集合中 的排序,按預(yù)設(shè)順序進(jìn)行y次查找處理,所述y次查找處理與所述第一數(shù)據(jù)集合中基于所述 預(yù)設(shè)順序的前y個(gè)第一數(shù)據(jù)一一對(duì)應(yīng),其中,第X次查找處理用于確定所述N個(gè)第二數(shù)據(jù)集合 中是否存在與第X個(gè)第一數(shù)據(jù)相同的數(shù)據(jù),并在首次查找到與所述第一數(shù)據(jù)相同的數(shù)據(jù)時(shí), 將與所述第一數(shù)據(jù)相同的數(shù)據(jù)所屬于的第二數(shù)據(jù)集合所對(duì)應(yīng)的預(yù)存數(shù)據(jù)作為所述第一預(yù) 存數(shù)據(jù),其中,xe[l,y],y《Mi; 用于當(dāng)所述查找模式為所述完整模式時(shí),基于各所述第一數(shù)據(jù)在所述第一數(shù)據(jù)集合中 的排序,按預(yù)設(shè)順序進(jìn)行y次查找處理,所述y次查找處理與所述第一數(shù)據(jù)集合中基于所述 預(yù)設(shè)順序的前y個(gè)第一數(shù)據(jù)一一對(duì)應(yīng),其中,第X次查找處理用于確定所述N個(gè)第二數(shù)據(jù)集合 中是否存在與第X個(gè)第一數(shù)據(jù)相同的數(shù)據(jù),如果首次查找到的與所述第一數(shù)據(jù)相同的數(shù)據(jù) 屬于至少兩個(gè)第二數(shù)據(jù)集合,則將所述至少兩個(gè)第二數(shù)據(jù)集合所對(duì)應(yīng)的預(yù)存數(shù)據(jù)中與所述 目標(biāo)數(shù)據(jù)之間存在相同的比特組的數(shù)量最多的預(yù)存數(shù)據(jù)作為所述第一預(yù)存數(shù)據(jù),其中,xe [l,y],y<Mi〇
【文檔編號(hào)】G06F17/30GK105843859SQ201610152630
【公開(kāi)日】2016年8月10日
【申請(qǐng)日】2016年3月17日
【發(fā)明人】冷繼南, 丹尼斯·帕爾霍緬科, 牛進(jìn)保, 沈建強(qiáng), 王工藝, 伊萬(wàn)·馬祖連科
【申請(qǐng)人】華為技術(shù)有限公司