本發(fā)明涉及冗余去重技術(shù)領(lǐng)域,更具體地,涉及通訊錄數(shù)據(jù)處理方法及處理終端。
背景技術(shù):
隨著社會(huì)信息化不斷推進(jìn),信息存儲(chǔ)應(yīng)用領(lǐng)域越來(lái)越廣泛,在過(guò)去的5年內(nèi)全球數(shù)字化信息量增長(zhǎng)了近10倍。企業(yè)數(shù)據(jù)中心的存儲(chǔ)需求量越來(lái)越龐大,已從之前的TB級(jí)上升到PB級(jí),甚至EB級(jí)。目前熱門的數(shù)據(jù)去重(重復(fù)數(shù)據(jù)刪除)技術(shù)能夠在較大程度上降低網(wǎng)絡(luò)存儲(chǔ)系統(tǒng)的存儲(chǔ)空間開銷,節(jié)省網(wǎng)絡(luò)帶寬,降低數(shù)據(jù)中心的能耗和數(shù)據(jù)管理成本。目前數(shù)據(jù)去重服務(wù)主要應(yīng)用于備份、容災(zāi)和歸檔存儲(chǔ)系統(tǒng)中。這主要是因?yàn)樵趥浞?、容?zāi)和歸檔過(guò)程中,服務(wù)端數(shù)據(jù)集內(nèi)會(huì)出現(xiàn)大量的重復(fù)冗余數(shù)據(jù)。隨著移動(dòng)互聯(lián)網(wǎng)的興起,定位于移動(dòng)終端的數(shù)據(jù)同步、備份和去重合并技術(shù)將是下一個(gè)關(guān)注的焦點(diǎn)。
移動(dòng)互聯(lián)網(wǎng)是移動(dòng)通信和互聯(lián)網(wǎng)技術(shù)結(jié)合的產(chǎn)物,是用戶通過(guò)智能移動(dòng)終端,采用移動(dòng)無(wú)線通信方式獲取互聯(lián)網(wǎng)服務(wù)的新興業(yè)態(tài)。移動(dòng)互聯(lián)網(wǎng)包含終端、軟件和應(yīng)用三個(gè)組成部分。通過(guò)移動(dòng)互聯(lián)網(wǎng),人們可以利用手中的手機(jī)、平板電腦等移動(dòng)設(shè)備隨日、隨地訪問(wèn)獲取各種網(wǎng)絡(luò)服務(wù)。截止到年底,中國(guó)手機(jī)網(wǎng)民達(dá)到億;智能手機(jī)發(fā)貨量年將達(dá)到億部。伴隨著移動(dòng)終端存儲(chǔ)和運(yùn)算能力的增加,移動(dòng)終端的數(shù)據(jù)也越來(lái)越豐富。為了防止數(shù)據(jù)丟失和實(shí)現(xiàn)數(shù)據(jù)的方便轉(zhuǎn)移,人們已經(jīng)習(xí)慣于將自己移動(dòng)終端的數(shù)據(jù)同步到數(shù)據(jù)備份軟件、即時(shí)通訊軟件、交友平臺(tái)軟件等第三方軟件的后臺(tái)服務(wù)器或者備份在本地,在需要的時(shí)候隨時(shí)進(jìn)行同步和恢復(fù)。在數(shù)據(jù)同步和恢復(fù)的過(guò)程中,會(huì)造成大量重復(fù)冗余數(shù)據(jù),影響用戶體驗(yàn)和終端性能,例如,在移動(dòng)終端的數(shù)據(jù)中,通訊錄聯(lián)系人數(shù)據(jù)是最為典型的一類數(shù)據(jù)。此類數(shù)據(jù)的特點(diǎn)是數(shù)據(jù)的備份和恢復(fù)十分頻繁,容易產(chǎn)生大量的重復(fù)冗余數(shù)據(jù);數(shù)據(jù)和用戶的生活和工作息息相關(guān),對(duì)于用戶具有重要的意義;產(chǎn)生的重復(fù)數(shù)據(jù)難以進(jìn)行手動(dòng)的有效處理。
目前,第三方應(yīng)用常將自己的通訊錄寫入到手機(jī)通訊錄里面,在大多數(shù)的通訊錄聯(lián)系人和備份同步的過(guò)程中,存在以下幾種問(wèn)題:
1、忽略平臺(tái)的差異性,導(dǎo)致在不同的移動(dòng)終端相同的聯(lián)系人數(shù)據(jù)組織和顯示具有差異。
2、同步過(guò)程中需要同步的數(shù)據(jù)和本地端的己有數(shù)據(jù)之間的關(guān)系和差異被忽略。對(duì)于這兩部分?jǐn)?shù)據(jù),目前僅有簡(jiǎn)單的追加數(shù)據(jù)和完全覆蓋等處理方式,不能滿足用戶對(duì)于合并數(shù)據(jù)所要求的比較復(fù)雜的條件。這一方面導(dǎo)致了數(shù)據(jù)的大量重復(fù),另一方面給用戶管理數(shù)據(jù)帶來(lái)不便。
3、同步過(guò)程中或者同步之后,往往無(wú)法呈現(xiàn)給用戶一個(gè)相似聯(lián)系人數(shù)據(jù)之間差異的具體的展現(xiàn)界面,使得用戶難以對(duì)手機(jī)中的相似聯(lián)系人數(shù)據(jù)實(shí)現(xiàn)手動(dòng)管理、刪除和合并。
技術(shù)實(shí)現(xiàn)要素:
鑒于上述問(wèn)題,本發(fā)明提出了一種通訊錄數(shù)據(jù)處理方法及處理終端,能夠準(zhǔn)確地合并基于不同數(shù)據(jù)來(lái)源的通訊錄。
本發(fā)明實(shí)施例中提供了一種通訊錄數(shù)據(jù)處理方法,包括:
根據(jù)移動(dòng)終端操作系統(tǒng)提供的系統(tǒng)接口,讀取本地聯(lián)系人數(shù)據(jù),生成對(duì)應(yīng)于一個(gè)聯(lián)系人數(shù)據(jù)的Vcard數(shù)據(jù)塊;
將每一個(gè)Vcard數(shù)據(jù)塊按照預(yù)設(shè)的數(shù)據(jù)項(xiàng)進(jìn)行數(shù)據(jù)分組,利用哈希算法和各個(gè)數(shù)據(jù)分組的權(quán)重值計(jì)算該Vcard數(shù)據(jù)塊對(duì)應(yīng)的加權(quán)哈希值;
相互比較所有的加權(quán)哈希值,將哈希值之間海明距離小于第一設(shè)定閾值的兩個(gè)Vcard數(shù)據(jù)塊歸并到同一項(xiàng)相似Vcard數(shù)據(jù)集中;
將各項(xiàng)相似Vcard數(shù)據(jù)集為合并為一個(gè)新的Vcard數(shù)據(jù)塊。
優(yōu)選地,相互比較所有的加權(quán)哈希值的步驟之后,還包括:
將哈希值之間海明距離均大于第二設(shè)定閾值的一個(gè)Vcard數(shù)據(jù)塊單獨(dú)作為一個(gè)新的Vcard數(shù)據(jù)塊。
優(yōu)選地,將各項(xiàng)相似Vcard數(shù)據(jù)集為合并為一個(gè)新的Vcard數(shù)據(jù)塊的步驟之后,包括:
響應(yīng)于用戶的去重指令,刪除所述相似Vcard數(shù)據(jù)集中原有的各個(gè)Vcard數(shù)據(jù)塊。
優(yōu)選地,將各項(xiàng)相似Vcard數(shù)據(jù)集為合并為一個(gè)新的Vcard數(shù)據(jù)塊的步驟之后,包括:
響應(yīng)于用戶的分組指令,將聯(lián)系人按照其中一個(gè)預(yù)設(shè)的數(shù)據(jù)項(xiàng)進(jìn)行分組。
優(yōu)選地,將各項(xiàng)相似Vcard數(shù)據(jù)集為合并為一個(gè)新的Vcard數(shù)據(jù)塊的步驟之后,包括:
響應(yīng)于用戶的分組刪除指令,刪除相應(yīng)組別的聯(lián)系人。
優(yōu)選地,所述預(yù)設(shè)的數(shù)據(jù)項(xiàng)包括:姓名、電話號(hào)碼、即時(shí)消息、郵件、公司、群組、備注、地址、其他當(dāng)中的至少一個(gè)。
優(yōu)選地,利用哈希算法和各個(gè)數(shù)據(jù)分組的權(quán)重值計(jì)算該Vcard數(shù)據(jù)塊對(duì)應(yīng)的加權(quán)哈希值的步驟,包括:
根據(jù)各個(gè)數(shù)據(jù)項(xiàng)的初始權(quán)重值設(shè)置各個(gè)數(shù)據(jù)分組的初始權(quán)重值,其中,所述姓名和/或所述電話號(hào)碼數(shù)據(jù)分組的初始權(quán)重值高于其他數(shù)據(jù)分組的初始權(quán)重值。
優(yōu)選地,設(shè)置各個(gè)數(shù)據(jù)項(xiàng)的初始權(quán)重值的步驟之后,包括:
根據(jù)其中一個(gè)數(shù)據(jù)項(xiàng)中包含不相同的項(xiàng)值的聯(lián)系人條目數(shù),調(diào)低該數(shù)據(jù)分組的權(quán)重值。
優(yōu)選地,包括:
當(dāng)其中一項(xiàng)相似Vcard數(shù)據(jù)集中的任意兩個(gè)Vcard數(shù)據(jù)塊之間的海明距離小于第三設(shè)定閾值時(shí),求所述兩個(gè)Vcard數(shù)據(jù)塊的并集后,獲得一個(gè)新的Vcard數(shù)據(jù)塊。
優(yōu)選地,當(dāng)其中一項(xiàng)相似Vcard數(shù)據(jù)集中的任意兩個(gè)Vcard數(shù)據(jù)塊之間的海明距離在所述第一設(shè)定閾值與所述第三設(shè)定閾值之間時(shí),求所述相似Vcard數(shù)據(jù)集中所有的Vcard數(shù)據(jù)塊的并集后,推送給用戶進(jìn)行編輯,經(jīng)用戶手動(dòng)編輯后獲得一個(gè)新的Vcard數(shù)據(jù)塊。
相應(yīng)地,本發(fā)明實(shí)施例提供了一種通訊錄數(shù)據(jù)處理終端,包括:
數(shù)據(jù)讀取單元,用于根據(jù)移動(dòng)終端操作系統(tǒng)提供的系統(tǒng)接口,讀取本地聯(lián)系人數(shù)據(jù),生成對(duì)應(yīng)于一個(gè)聯(lián)系人數(shù)據(jù)的Vcard數(shù)據(jù)塊;
相似分析單元,用于將每一個(gè)Vcard數(shù)據(jù)塊按照預(yù)設(shè)的數(shù)據(jù)項(xiàng)進(jìn)行數(shù)據(jù)分組,利用哈希算法和各個(gè)數(shù)據(jù)分組的權(quán)重值計(jì)算該Vcard數(shù)據(jù)塊對(duì)應(yīng)的加權(quán)哈希值;
數(shù)據(jù)歸類單元,用于相互比較所有的加權(quán)哈希值,將哈希值之間海明距離小于第一設(shè)定閾值的兩個(gè)Vcard數(shù)據(jù)塊歸并到同一項(xiàng)相似Vcard數(shù)據(jù)集中;
數(shù)據(jù)合并單元,用于將各項(xiàng)相似Vcard數(shù)據(jù)集為合并為一個(gè)新的Vcard數(shù)據(jù)塊。
優(yōu)選地,還包括:
與所述數(shù)據(jù)歸類單元相連的單獨(dú)歸類單元,用于將哈希值之間海明距離均大于第二設(shè)定閾值的一個(gè)Vcard數(shù)據(jù)塊單獨(dú)作為一個(gè)新的Vcard數(shù)據(jù)塊。
優(yōu)選地,包括:
與所述數(shù)據(jù)合并單元相連的重復(fù)刪除單元,用于響應(yīng)于用戶的去重指令,刪除所述相似Vcard數(shù)據(jù)集中原有的各個(gè)Vcard數(shù)據(jù)塊。
優(yōu)選地,包括:
與所述數(shù)據(jù)合并單元相連的分組顯示單元,用于響應(yīng)于用戶的分組指令,將聯(lián)系人按照其中一個(gè)預(yù)設(shè)的數(shù)據(jù)項(xiàng)進(jìn)行分組。
優(yōu)選地,包括:
與所述分組顯示單元相連的分組刪除單元,用于響應(yīng)于用戶的分組刪除指令,刪除相應(yīng)組別的聯(lián)系人。
優(yōu)選地,所述預(yù)設(shè)的數(shù)據(jù)項(xiàng)包括:姓名、電話號(hào)碼、即時(shí)消息、郵件、公司、群組、備注、地址、其他當(dāng)中的至少一個(gè)。
優(yōu)選地,所述相似分析單元,包括:
權(quán)重設(shè)置單元,用于根據(jù)各個(gè)數(shù)據(jù)項(xiàng)的初始權(quán)重值設(shè)置各個(gè)數(shù)據(jù)分組的初始權(quán)重值,其中,所述姓名和/或所述電話號(hào)碼數(shù)據(jù)分組的初始權(quán)重值高于其他數(shù)據(jù)分組的初始權(quán)重值。
優(yōu)選地,包括:
與所述權(quán)重設(shè)置單元相連的權(quán)重調(diào)整單元,用于根據(jù)其中一個(gè)數(shù)據(jù)項(xiàng)中包含不相同的項(xiàng)值的聯(lián)系人條目數(shù),調(diào)低該數(shù)據(jù)分組的權(quán)重值。
優(yōu)選地,所述數(shù)據(jù)合并單元包括:
自動(dòng)合并單元,用于當(dāng)其中一項(xiàng)相似Vcard數(shù)據(jù)集中的任意兩個(gè)Vcard數(shù)據(jù)塊之間的海明距離小于第三設(shè)定閾值時(shí),求所述兩個(gè)Vcard數(shù)據(jù)塊的并集后,獲得一個(gè)新的Vcard數(shù)據(jù)塊。
優(yōu)選地,所述數(shù)據(jù)合并單元包括:
手動(dòng)合并單元,用于當(dāng)其中一項(xiàng)相似Vcard數(shù)據(jù)集中的任意兩個(gè)Vcard數(shù)據(jù)塊之間的海明距離在所述第一設(shè)定閾值與所述第三設(shè)定閾值之間時(shí),求所述相似Vcard數(shù)據(jù)集中所有的Vcard數(shù)據(jù)塊的并集后,推送給用戶進(jìn)行編輯,經(jīng)用戶手動(dòng)編輯后獲得一個(gè)新的Vcard數(shù)據(jù)塊。
采用本方案,首先,根據(jù)移動(dòng)終端操作系統(tǒng)提供的系統(tǒng)接口,讀取本地聯(lián)系人數(shù)據(jù),生成對(duì)應(yīng)于一個(gè)聯(lián)系人數(shù)據(jù)的Vcard數(shù)據(jù)塊。Vcard也稱為電子名片,是一種交換個(gè)人信息的簡(jiǎn)單方法。在本方案中,我們根據(jù)各種移動(dòng)終端操作系統(tǒng)的特點(diǎn)對(duì)Vcard格式進(jìn)行擴(kuò)展,利用擴(kuò)展之后的Vcard格式組織通訊錄聯(lián)系人數(shù)據(jù),實(shí)現(xiàn)聯(lián)系人數(shù)據(jù)的跨平臺(tái)統(tǒng)一。然后,將每一個(gè)Vcard數(shù)據(jù)塊按照預(yù)設(shè)的數(shù)據(jù)項(xiàng)進(jìn)行數(shù)據(jù)分組,利用哈希算法和各個(gè)數(shù)據(jù)分組的權(quán)重值計(jì)算該Vcard數(shù)據(jù)塊對(duì)應(yīng)的加權(quán)哈希值。我們需要增加這幾個(gè)數(shù)據(jù)類型實(shí)現(xiàn)Vcard格式在安卓平臺(tái)上的擴(kuò)展。再利用哈希算法和各個(gè)數(shù)據(jù)分組的權(quán)重值計(jì)算該Vcard數(shù)據(jù)塊對(duì)應(yīng)的加權(quán)哈希值,其中,所述加權(quán)哈希值可以采用SIM-HASH算法來(lái)獲取,加權(quán)哈希值能夠按照數(shù)據(jù)項(xiàng)的權(quán)重關(guān)注重點(diǎn)數(shù)據(jù)項(xiàng),分析相似數(shù)據(jù)。再而,相互比較所有的加權(quán)哈希值,將哈希值之間海明距離小于第一設(shè)定閾值的兩個(gè)Vcard數(shù)據(jù)塊歸并到同一項(xiàng)相似Vcard數(shù)據(jù)集中。最后,將各項(xiàng)相似Vcard數(shù)據(jù)集為合并為一個(gè)新的Vcard數(shù)據(jù)塊。從而能夠準(zhǔn)確地合并基于不同數(shù)據(jù)來(lái)源的通訊錄。
本發(fā)明附加的方面和優(yōu)點(diǎn)將在下面的描述中部分給出,這些將從下面的描述中變得明顯,或通過(guò)本發(fā)明的實(shí)踐了解到。
附圖說(shuō)明
為了更清楚地說(shuō)明本發(fā)明實(shí)施例中的技術(shù)方案,下面將對(duì)實(shí)施例描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1為本發(fā)明通訊錄數(shù)據(jù)處理方法的流程圖。
圖2為本發(fā)明通訊錄數(shù)據(jù)處理方法的實(shí)施例流程圖。
圖3為本發(fā)明通訊錄數(shù)據(jù)處理終端的示意圖。
圖4為本發(fā)明通訊錄數(shù)據(jù)處理終端的實(shí)施例示意圖。
具體實(shí)施方式
為了使本技術(shù)領(lǐng)域的人員更好地理解本發(fā)明方案,下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述。
在本發(fā)明的說(shuō)明書和權(quán)利要求書及上述附圖中的描述的一些流程中,包含了按照特定順序出現(xiàn)的多個(gè)操作,但是應(yīng)該清楚了解,這些操作可以不按照其在本文中出現(xiàn)的順序來(lái)執(zhí)行或并行執(zhí)行,操作的序號(hào)如101、102等,僅僅是用于區(qū)分開各個(gè)不同的操作,序號(hào)本身不代表任何的執(zhí)行順序。另外,這些流程可以包括更多或更少的操作,并且這些操作可以按順序執(zhí)行或并行執(zhí)行。需要說(shuō)明的是,本文中的“第一”、“第二”等描述,是用于區(qū)分不同的消息、設(shè)備、模塊等,不代表先后順序,也不限定“第一”和“第二”是不同的類型。
下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域技術(shù)人員在沒有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
由于用戶通訊錄數(shù)據(jù)具備十分重要的意義,國(guó)內(nèi)外的許多廠商提供了針對(duì)于通訊錄數(shù)據(jù)的備份服務(wù)。公司利用云服務(wù)對(duì)基于操作系統(tǒng)的移動(dòng)終端的終端數(shù)據(jù)提供備份和恢復(fù)服務(wù)。蘋果公司的ICloud的備份服務(wù)主要針對(duì)于基于操作系統(tǒng)的移動(dòng)終端設(shè)備。在國(guó)內(nèi),許多互聯(lián)網(wǎng)公司也紛紛推出了自己的移動(dòng)終端設(shè)備數(shù)據(jù)備份產(chǎn)品,比較著名的有騰訊公司的和微信系列等。但這些公司的產(chǎn)品主要注重于服務(wù)端對(duì)數(shù)據(jù)的存儲(chǔ)和處理,并未對(duì)移動(dòng)終端的數(shù)據(jù)重復(fù)和冗余問(wèn)題做比較周詳?shù)目紤]。
圖1為本發(fā)明通訊錄數(shù)據(jù)處理方法的流程圖,包括:
S101:根據(jù)移動(dòng)終端操作系統(tǒng)提供的系統(tǒng)接口,讀取本地聯(lián)系人數(shù)據(jù),生成對(duì)應(yīng)于一個(gè)聯(lián)系人數(shù)據(jù)的Vcard數(shù)據(jù)塊;
S102:將每一個(gè)Vcard數(shù)據(jù)塊按照預(yù)設(shè)的數(shù)據(jù)項(xiàng)進(jìn)行數(shù)據(jù)分組,利用哈希算法和各個(gè)數(shù)據(jù)分組的權(quán)重值計(jì)算該Vcard數(shù)據(jù)塊對(duì)應(yīng)的加權(quán)哈希值;
S103:相互比較所有的加權(quán)哈希值,將哈希值之間海明距離小于第一設(shè)定閾值的兩個(gè)Vcard數(shù)據(jù)塊歸并到同一項(xiàng)相似Vcard數(shù)據(jù)集中;
S104:將各項(xiàng)相似Vcard數(shù)據(jù)集為合并為一個(gè)新的Vcard數(shù)據(jù)塊。
首先,根據(jù)移動(dòng)終端操作系統(tǒng)提供的系統(tǒng)接口,讀取本地聯(lián)系人數(shù)據(jù),生成對(duì)應(yīng)于一個(gè)聯(lián)系人數(shù)據(jù)的Vcard數(shù)據(jù)塊。Vcard也稱為電子名片,是一種交換個(gè)人信息的簡(jiǎn)單方法。Vcard數(shù)據(jù)格式具備良好的跨平臺(tái)性,是當(dāng)前流行的電子名片格式。具有良好的擴(kuò)展性能,可以根據(jù)各種平臺(tái)的特點(diǎn)進(jìn)行擴(kuò)展,最終實(shí)現(xiàn)數(shù)據(jù)跨平臺(tái)同步時(shí)的統(tǒng)一性。在本方案中,我們根據(jù)各種移動(dòng)終端操作系統(tǒng)的特點(diǎn)對(duì)Vcard格式進(jìn)行擴(kuò)展,利用擴(kuò)展之后的Vcard格式組織通訊錄聯(lián)系人數(shù)據(jù),實(shí)現(xiàn)聯(lián)系人數(shù)據(jù)的跨平臺(tái)統(tǒng)一。
然后,將每一個(gè)Vcard數(shù)據(jù)塊按照預(yù)設(shè)的數(shù)據(jù)項(xiàng)進(jìn)行數(shù)據(jù)分組,利用哈希算法和各個(gè)數(shù)據(jù)分組的權(quán)重值計(jì)算該Vcard數(shù)據(jù)塊對(duì)應(yīng)的加權(quán)哈希值。通過(guò)對(duì)安卓系統(tǒng)源碼,系統(tǒng)接口和系統(tǒng)數(shù)據(jù)庫(kù)的結(jié)構(gòu)研究發(fā)現(xiàn),在安卓操作系統(tǒng)下的Mime Type類型基本能夠?qū)?yīng)Vcard數(shù)據(jù)塊的數(shù)據(jù)項(xiàng)。各個(gè)Mime Type類型的內(nèi)容能夠?qū)?yīng)于Vcard數(shù)據(jù)塊中數(shù)據(jù)項(xiàng)的Value值。參數(shù)值可采用統(tǒng)一的編碼標(biāo)準(zhǔn)。由于安卓系統(tǒng)具備自己一些特殊的數(shù)據(jù)類型,我們可以根據(jù)這些數(shù)據(jù)類型預(yù)設(shè)Vcard的數(shù)據(jù)項(xiàng)來(lái)進(jìn)行數(shù)據(jù)分組,例如,Group類型是指安卓系統(tǒng)的聯(lián)系人分組類型;Event類型在安卓系統(tǒng)中代表的是時(shí)間類型;IM類型是即時(shí)消息如QQ、MSN在安卓系統(tǒng)中的數(shù)據(jù)類型。在Vcard原始格式中不具備這幾個(gè)類型,我們需要增加這幾個(gè)數(shù)據(jù)類型實(shí)現(xiàn)Vcard格式在安卓平臺(tái)上的擴(kuò)展。再利用哈希算法和各個(gè)數(shù)據(jù)分組的權(quán)重值計(jì)算該Vcard數(shù)據(jù)塊對(duì)應(yīng)的加權(quán)哈希值,其中,所述加權(quán)哈希值可以采用SIM-HASH算法來(lái)獲取,加權(quán)哈希值能夠按照數(shù)據(jù)項(xiàng)的權(quán)重關(guān)注重點(diǎn)數(shù)據(jù)項(xiàng),分析相似數(shù)據(jù)。
再而,相互比較所有的加權(quán)哈希值,將哈希值之間海明距離小于第一設(shè)定閾值的兩個(gè)Vcard數(shù)據(jù)塊歸并到同一項(xiàng)相似Vcard數(shù)據(jù)集中。例如,以<名稱;電話;公司名稱>的Vcard數(shù)據(jù)項(xiàng)為例,在前一步中,包含名稱,電話的數(shù)據(jù)分組被設(shè)置了較高的權(quán)重值,據(jù)此計(jì)算獲得了加權(quán)哈希值。假設(shè)其中有三個(gè)聯(lián)系人為A聯(lián)系人的“張明;13987654321;北京萬(wàn)金實(shí)業(yè)有限公司”,B聯(lián)系人的“張明;13987654321;萬(wàn)金實(shí)業(yè)”,C聯(lián)系人的“張明;13987654321;北京萬(wàn)金”。鑒于哈希算法的特點(diǎn)是海明距離越小,兩者的相似度越高的原理。首先提取A的哈希值,分別與其他聯(lián)系人Vcard數(shù)據(jù)塊的哈希值做比較,由于A包含B、C的內(nèi)容,可知A、B、C應(yīng)歸并到同一項(xiàng)相似Vcard數(shù)據(jù)塊集中;再而提取B的哈希值分別做比較,由于B被包含于A內(nèi),可分別得知A、B應(yīng)歸并到一起;最后提取C的哈希值做比較,由于C被包含于A內(nèi),可分別得知A、C應(yīng)歸并到一起,所以,得出最終得到A、B、C歸并到同一項(xiàng)相似Vcard數(shù)據(jù)集中。
最后,將各項(xiàng)相似Vcard數(shù)據(jù)集為合并為一個(gè)新的Vcard數(shù)據(jù)塊。合并后得到新的Vcard數(shù)據(jù)塊A’聯(lián)系人的“張明;13987654321;北京萬(wàn)金實(shí)業(yè)有限公司”,從而能夠準(zhǔn)確地合并基于不同數(shù)據(jù)來(lái)源的通訊錄。
圖2為本發(fā)明通訊錄數(shù)據(jù)處理方法的實(shí)施例流程圖。
S201:根據(jù)移動(dòng)終端操作系統(tǒng)提供的系統(tǒng)接口,讀取本地聯(lián)系人數(shù)據(jù),生成對(duì)應(yīng)于一個(gè)聯(lián)系人數(shù)據(jù)的Vcard數(shù)據(jù)塊;
S202:將每一個(gè)Vcard數(shù)據(jù)塊按照預(yù)設(shè)的數(shù)據(jù)項(xiàng)進(jìn)行數(shù)據(jù)分組,根據(jù)各個(gè)數(shù)據(jù)項(xiàng)的初始權(quán)重值設(shè)置各個(gè)數(shù)據(jù)分組的初始權(quán)重值,其中,所述姓名和/或所述電話號(hào)碼數(shù)據(jù)分組的初始權(quán)重值高于其他數(shù)據(jù)分組的初始權(quán)重值。
S203:根據(jù)其中一個(gè)數(shù)據(jù)項(xiàng)中包含不相同的項(xiàng)值的聯(lián)系人條目數(shù),調(diào)低該數(shù)據(jù)分組的權(quán)重值。
S204:利用哈希算法和各個(gè)數(shù)據(jù)分組的權(quán)重值計(jì)算該Vcard數(shù)據(jù)塊對(duì)應(yīng)的加權(quán)哈希值;
S205:相互比較所有的加權(quán)哈希值,將哈希值之間海明距離小于第一設(shè)定閾值的兩個(gè)Vcard數(shù)據(jù)塊歸并到同一項(xiàng)相似Vcard數(shù)據(jù)集中;
S206:將各項(xiàng)相似Vcard數(shù)據(jù)集為合并為一個(gè)新的Vcard數(shù)據(jù)塊。
S207:響應(yīng)于用戶的去重指令,刪除所述相似Vcard數(shù)據(jù)集中原有的各個(gè)Vcard數(shù)據(jù)塊。
S208:響應(yīng)于用戶的分組指令,將聯(lián)系人按照其中一個(gè)預(yù)設(shè)的數(shù)據(jù)項(xiàng)進(jìn)行分組。
根據(jù)移動(dòng)終端操作系統(tǒng)提供的系統(tǒng)接口,讀取本地聯(lián)系人數(shù)據(jù),生成對(duì)應(yīng)于一個(gè)聯(lián)系人數(shù)據(jù)的Vcard數(shù)據(jù)塊。與圖1實(shí)施例相比,本實(shí)施例還包括三個(gè)聯(lián)系人為D聯(lián)系人的“許靜;13987654321;上海明月”,E聯(lián)系人的“小靜;13123456789;上海明月”,F(xiàn)聯(lián)系人的“許靜;13987654321;上海明月”,G聯(lián)系人的“王剛;13393939393;wg@163.com;上海明月”。
將每一個(gè)Vcard數(shù)據(jù)塊按照預(yù)設(shè)的數(shù)據(jù)項(xiàng)進(jìn)行數(shù)據(jù)分組,根據(jù)各個(gè)數(shù)據(jù)項(xiàng)的初始權(quán)重值設(shè)置各個(gè)數(shù)據(jù)分組的初始權(quán)重值,其中,所述姓名和/或所述電話號(hào)碼數(shù)據(jù)分組的初始權(quán)重值高于其他數(shù)據(jù)分組的初始權(quán)重值。Vcard字符串具備良好的數(shù)據(jù)分塊特性,可以根據(jù)Vcard字符串中每一項(xiàng)數(shù)據(jù)的起始和結(jié)束標(biāo)識(shí)符作為數(shù)據(jù)分塊的依據(jù)。由于在聯(lián)系人數(shù)據(jù)中,各個(gè)數(shù)據(jù)項(xiàng)的權(quán)重具備相當(dāng)大的差別。比如姓名和電話號(hào)碼的權(quán)重高于郵件、即時(shí)消息,郵件和即時(shí)消息的權(quán)重高于備注。精確地確定各個(gè)數(shù)據(jù)項(xiàng)的權(quán)重在聯(lián)系人數(shù)據(jù)相似度檢查的過(guò)程中具備非常重要的作用。由于聯(lián)系人數(shù)據(jù)塊中包含了一些無(wú)法代表一個(gè)聯(lián)系人身份的信息,我們將這些信息權(quán)重都設(shè)為0,即不對(duì)這些數(shù)據(jù)進(jìn)行考慮。而另外可以代表聯(lián)系人身份信息的諸如姓名、電話號(hào)碼等數(shù)據(jù)項(xiàng)的權(quán)重值我們需要根據(jù)每個(gè)數(shù)據(jù)項(xiàng)相對(duì)于聯(lián)系人信息的重要性做處理。
優(yōu)選地,所述預(yù)設(shè)的數(shù)據(jù)項(xiàng)包括:姓名、電話號(hào)碼、即時(shí)消息、郵件、公司、群組、備注、地址、其他當(dāng)中的至少一個(gè)。我們將聯(lián)系人數(shù)據(jù)項(xiàng)的默認(rèn)權(quán)重等級(jí)分為5級(jí)。
1、第一等級(jí)姓名、電話號(hào)碼。
2、第二等級(jí)即時(shí)消息ID、郵箱地址。
3、第三等級(jí)公司、群組。
4、第四等級(jí)備注、地址。
5、第五等級(jí)其他,即忽略信息。
根據(jù)其中一個(gè)數(shù)據(jù)項(xiàng)中包含不相同的項(xiàng)值的聯(lián)系人條目數(shù),調(diào)低該數(shù)據(jù)分組的權(quán)重值。根據(jù)Vcard的數(shù)據(jù)結(jié)構(gòu),我們會(huì)發(fā)現(xiàn)部分類型的數(shù)據(jù)可以出現(xiàn)很多次,比如一個(gè)聯(lián)系人有兩個(gè)手機(jī)號(hào)碼,兩個(gè)即時(shí)消息等。在此種情況下,如果我們還沿用之前設(shè)定的固定默認(rèn)權(quán)重就要造成重要信息如姓名(只有一條姓名信息)被忽略。為了防止這種情況出現(xiàn),我們需要將權(quán)值設(shè)置成動(dòng)態(tài)的。動(dòng)態(tài)調(diào)整的方法為:每一條數(shù)據(jù)的權(quán)重=該種數(shù)據(jù)原默認(rèn)權(quán)值/不相同的項(xiàng)值的聯(lián)系人條目數(shù)。
利用哈希算法和各個(gè)數(shù)據(jù)分組的權(quán)重值計(jì)算該Vcard數(shù)據(jù)塊對(duì)應(yīng)的加權(quán)哈希值;相互比較所有的加權(quán)哈希值,將哈希值之間海明距離小于第一設(shè)定閾值的兩個(gè)Vcard數(shù)據(jù)塊歸并到同一項(xiàng)相似Vcard數(shù)據(jù)集中。接上例所述,A、B、C歸并到第一相似Vcard數(shù)據(jù)集中,而D、E、F雖有不盡相同的姓名、電話,也可以歸并成第二相似Vcard數(shù)據(jù)集中,歸并過(guò)程如下:假設(shè)第一等級(jí)的姓名和電話的初始權(quán)重值為5,第三等級(jí)的公司名稱的初始權(quán)重值為3?;诒緦?shí)施例的動(dòng)態(tài)調(diào)整的方法,不相同的姓名項(xiàng)值包括“許靜”和“小靜”的聯(lián)系人條目數(shù)兩條,調(diào)整后的姓名的權(quán)重值為5/2=2.5;同理,許靜有兩個(gè)電話號(hào)碼,故電話號(hào)碼的權(quán)重值也為2.5。因此姓名和電話的權(quán)重值都小于公司名稱的權(quán)重值,據(jù)此獲得的哈希值會(huì)將姓名和電話的影響降低,突出公司名稱的影響。在本步驟比較海明距離時(shí),根據(jù)公司名稱,可將D、E、F歸并成第二相似Vcard數(shù)據(jù)集。事實(shí)上,通信錄通常是基于第三方聊天軟件而導(dǎo)入的聯(lián)系如,故如果考慮上第二等級(jí)的即時(shí)消息ID、郵箱地址,可以更加精確地歸并相似Vcard數(shù)據(jù)集。具體地,第一設(shè)定閾值可以是4-6。
優(yōu)選地,將哈希值之間海明距離均大于第二設(shè)定閾值的一個(gè)Vcard數(shù)據(jù)塊單獨(dú)作為一個(gè)新的Vcard數(shù)據(jù)塊。例如,G聯(lián)系人與其他A-F的聯(lián)系人相差甚遠(yuǎn),海明距離大于第二設(shè)定閾值,故G’聯(lián)系人的“王剛;13393939393;wg@163.com;上海明月”。單獨(dú)作為一個(gè)新的Vcard數(shù)據(jù)塊。具體地,第二設(shè)定閾值可以是大于等于7。
至此,從第一相似Vcard數(shù)據(jù)集(ABC)獲得新聯(lián)系人A’,從第二相似Vcard數(shù)據(jù)集(DEF)獲得新聯(lián)系人D’,從G獲得新聯(lián)系人G’。響應(yīng)于用戶的去重指令,刪除所述相似Vcard數(shù)據(jù)集中原有的各個(gè)Vcard數(shù)據(jù)塊,即刪除原有的A-F。
響應(yīng)于用戶的分組指令,將聯(lián)系人按照其中一個(gè)預(yù)設(shè)的數(shù)據(jù)項(xiàng)進(jìn)行分組。例如,可以按照公司名稱來(lái)分組,上海明月公司的許靜和王剛可以劃分到同一組進(jìn)行展示。優(yōu)選地,響應(yīng)于用戶的分組刪除指令,刪除相應(yīng)組別的聯(lián)系人。
優(yōu)選地,當(dāng)其中一項(xiàng)相似Vcard數(shù)據(jù)集中的任意兩個(gè)Vcard數(shù)據(jù)塊之間的海明距離小于第三設(shè)定閾值時(shí),求所述兩個(gè)Vcard數(shù)據(jù)塊的并集后,獲得一個(gè)新的Vcard數(shù)據(jù)塊。具體地,第三設(shè)定閾值可以是2-4。例如,前述A、B、C的公司名稱具有相互包含的關(guān)系,他們的相似度很高,達(dá)到2-4的海明距離,可以自動(dòng)合并,求得并集后,以“北京萬(wàn)金實(shí)業(yè)有限公司”為新的Vcard數(shù)據(jù)塊的公司名稱。
優(yōu)選地,當(dāng)其中一項(xiàng)相似Vcard數(shù)據(jù)集中的任意兩個(gè)Vcard數(shù)據(jù)塊之間的海明距離在所述第一設(shè)定閾值與所述第三設(shè)定閾值之間時(shí),求所述相似Vcard數(shù)據(jù)集中所有的Vcard數(shù)據(jù)塊的并集后,推送給用戶進(jìn)行編輯,經(jīng)用戶手動(dòng)編輯后獲得一個(gè)新的Vcard數(shù)據(jù)塊。具體地,海明距離為6。此時(shí)不滿足自動(dòng)合并的要求,但又不適應(yīng)將其單獨(dú)作為新的Vcard數(shù)據(jù)塊。例如,前述D、E、F中姓名中包含“許靜”及其小名“小靜”,事實(shí)上是同一人,但在考慮其他數(shù)據(jù)項(xiàng)的影響下海明距離仍在5-6之間,此時(shí),可通過(guò)手動(dòng)合并,即推送給用戶進(jìn)行編輯,經(jīng)用戶手動(dòng)編輯后獲得一個(gè)新的Vcard數(shù)據(jù)塊。
圖3為本發(fā)明通訊錄數(shù)據(jù)處理終端的示意圖,包括:
數(shù)據(jù)讀取單元,用于根據(jù)移動(dòng)終端操作系統(tǒng)提供的系統(tǒng)接口,讀取本地聯(lián)系人數(shù)據(jù),生成對(duì)應(yīng)于一個(gè)聯(lián)系人數(shù)據(jù)的Vcard數(shù)據(jù)塊;
相似分析單元,用于將每一個(gè)Vcard數(shù)據(jù)塊按照預(yù)設(shè)的數(shù)據(jù)項(xiàng)進(jìn)行數(shù)據(jù)分組,利用哈希算法和各個(gè)數(shù)據(jù)分組的權(quán)重值計(jì)算該Vcard數(shù)據(jù)塊對(duì)應(yīng)的加權(quán)哈希值;
數(shù)據(jù)歸類單元,用于相互比較所有的加權(quán)哈希值,將哈希值之間海明距離小于第一設(shè)定閾值的兩個(gè)Vcard數(shù)據(jù)塊歸并到同一項(xiàng)相似Vcard數(shù)據(jù)集中;
數(shù)據(jù)合并單元,用于將各項(xiàng)相似Vcard數(shù)據(jù)集為合并為一個(gè)新的Vcard數(shù)據(jù)塊。
圖3與圖1相對(duì)應(yīng),圖中各個(gè)單元的運(yùn)行方式與方法中的相同。
圖4為本發(fā)明通訊錄數(shù)據(jù)處理終端的實(shí)施例示意圖。
如圖4所示,包括:
與所述數(shù)據(jù)合并單元相連的重復(fù)刪除單元,用于響應(yīng)于用戶的去重指令,刪除所述相似Vcard數(shù)據(jù)集中原有的各個(gè)Vcard數(shù)據(jù)塊。
如圖4所示,包括:
與所述數(shù)據(jù)合并單元相連的分組顯示單元,用于響應(yīng)于用戶的分組指令,將聯(lián)系人按照其中一個(gè)預(yù)設(shè)的數(shù)據(jù)項(xiàng)進(jìn)行分組。
如圖4所示,所述相似分析單元,包括:
權(quán)重設(shè)置單元,用于根據(jù)各個(gè)數(shù)據(jù)項(xiàng)的初始權(quán)重值設(shè)置各個(gè)數(shù)據(jù)分組的初始權(quán)重值,其中,所述姓名和/或所述電話號(hào)碼數(shù)據(jù)分組的初始權(quán)重值高于其他數(shù)據(jù)分組的初始權(quán)重值。
如圖4所示,包括:
與所述權(quán)重設(shè)置單元相連的權(quán)重調(diào)整單元,用于根據(jù)其中一個(gè)數(shù)據(jù)項(xiàng)中包含不相同的項(xiàng)值的聯(lián)系人條目數(shù),調(diào)低該數(shù)據(jù)分組的權(quán)重值。
圖4與圖2相對(duì)應(yīng),圖中各個(gè)單元的運(yùn)行方式與方法中的相同。
優(yōu)選地,還包括:
與所述數(shù)據(jù)歸類單元相連的單獨(dú)歸類單元,用于將哈希值之間海明距離均大于第二設(shè)定閾值的一個(gè)Vcard數(shù)據(jù)塊單獨(dú)作為一個(gè)新的Vcard數(shù)據(jù)塊。
優(yōu)選地,所述預(yù)設(shè)的數(shù)據(jù)項(xiàng)包括:姓名、電話號(hào)碼、即時(shí)消息、郵件、公司、群組、備注、地址、其他當(dāng)中的至少一個(gè)。
優(yōu)選地,包括:
與所述分組顯示單元相連的分組刪除單元,用于響應(yīng)于用戶的分組刪除指令,刪除相應(yīng)組別的聯(lián)系人。
優(yōu)選地,所述數(shù)據(jù)合并單元包括:
自動(dòng)合并單元,用于當(dāng)其中一項(xiàng)相似Vcard數(shù)據(jù)集中的任意兩個(gè)Vcard數(shù)據(jù)塊之間的海明距離小于第三設(shè)定閾值時(shí),求所述兩個(gè)Vcard數(shù)據(jù)塊的并集后,獲得一個(gè)新的Vcard數(shù)據(jù)塊。
優(yōu)選地,所述數(shù)據(jù)合并單元包括:
手動(dòng)合并單元,用于當(dāng)其中一項(xiàng)相似Vcard數(shù)據(jù)集中的任意兩個(gè)Vcard數(shù)據(jù)塊之間的海明距離在所述第一設(shè)定閾值與所述第三設(shè)定閾值之間時(shí),求所述相似Vcard數(shù)據(jù)集中所有的Vcard數(shù)據(jù)塊的并集后,推送給用戶進(jìn)行編輯,經(jīng)用戶手動(dòng)編輯后獲得一個(gè)新的Vcard數(shù)據(jù)塊。
所屬領(lǐng)域的技術(shù)人員可以清楚地了解到,為描述的方便和簡(jiǎn)潔,上述描述的系統(tǒng),裝置和單元的具體工作過(guò)程,可以參考前述方法實(shí)施例中的對(duì)應(yīng)過(guò)程,在此不再贅述。
以上所述實(shí)施例僅表達(dá)了本發(fā)明的幾種實(shí)施方式,其描述較為具體和詳細(xì),但并不能因此而理解為對(duì)本發(fā)明專利范圍的限制。應(yīng)當(dāng)指出的是,對(duì)于本領(lǐng)域的普通技術(shù)人員來(lái)說(shuō),在不脫離本發(fā)明構(gòu)思的前提下,還可以做出若干變形和改進(jìn),這些都屬于本發(fā)明的保護(hù)范圍。因此,本發(fā)明專利的保護(hù)范圍應(yīng)以所附權(quán)利要求為準(zhǔn)。