專利名稱:基于度優(yōu)先的K-Anonymity匿名算法的數(shù)據(jù)處理方法
技術(shù)領(lǐng)域:
本發(fā)明涉及數(shù)據(jù)挖掘領(lǐng)域,尤其是涉及一種利用K-Anonymity (K_匿名)算法對隱 私數(shù)據(jù)進(jìn)行處理的方法。
背景技術(shù):
隱私數(shù)據(jù)匿名化的常用處理手段源于統(tǒng)計(jì)數(shù)據(jù)庫中的數(shù)據(jù)處理方法,主要是通過 以發(fā)布數(shù)據(jù)中的屬性值的信息損失為代價,換取通過這些屬性值再標(biāo)識某些個體的準(zhǔn)確 性,同時盡可能保證發(fā)布數(shù)據(jù)的可用性,在發(fā)布數(shù)據(jù)的準(zhǔn)確性和隱私保護(hù)之間達(dá)到一種平 衡。與傳統(tǒng)的保證發(fā)布數(shù)據(jù)整體趨勢而犧牲單個數(shù)據(jù)記錄準(zhǔn)確性的隱私保護(hù)方法相比,為 發(fā)布數(shù)據(jù)提供更好的可用性。常用的兩種隱私數(shù)據(jù)匿名化算法包括1. K-Anonymity (K-匿名算法)K-匿名(K-Anonymity)模型是不同于傳統(tǒng)的訪問控制等基于目標(biāo)的隱私保護(hù)技 術(shù),將一個典型的微數(shù)據(jù)發(fā)布模型(微數(shù)據(jù)定義為一條表達(dá)和描述個體信息的數(shù)據(jù)記錄作 為個體信息的載體)。這些個體信息包括個體的標(biāo)識信息(如姓名、身份證號等)、敏感信 息(如病史等)、以及一些非敏感信息(如性別)。每個個體信息都是以個體屬性和相應(yīng)的 屬性值匹配的方式作為微數(shù)據(jù)(記錄)的某個分量。該算法要求首先對原始數(shù)據(jù)進(jìn)行預(yù)處 理以滿足匿名要求,然后將處理的數(shù)據(jù)予以發(fā)布;并且不限制對已發(fā)布數(shù)據(jù)的訪問,相反盡 可能的保持?jǐn)?shù)據(jù)的可統(tǒng)計(jì)性。因而需要在該算法采用數(shù)據(jù)泛化(泛化是對于數(shù)據(jù)的一個屬 性,用概括值代替原來的值,使其意義更為抽象)這一常用的數(shù)據(jù)預(yù)處理手段。K匿名就是要求在一個集合中(這里是指廣義集合,即允許包含相同元素,類似于 包(Bag)或簇(Cluster)的概念)中只能以不大于l/k(k是一個常數(shù))的概率確定任何一 個元素,即要求任何一個元素在集合中至少存在k-1個相同的副本元素。用形式化的語言表述K匿名的概念,一般是將發(fā)布數(shù)據(jù)表中的個體記錄的屬性分 為標(biāo)識符、準(zhǔn)標(biāo)識符、敏感屬性三類。以下是相關(guān)定義標(biāo)識符(Identifiers):標(biāo)識符屬性是指能夠直接標(biāo)識出個體身份的屬性,如姓 名、身份證號碼、社會保險(xiǎn)號碼等屬性,通過這些屬性值能夠直接確定具體的個體。準(zhǔn)標(biāo)識符(Quasi-Indentifiers,QI)給定實(shí)體集合U、實(shí)體表 T (、,k2, ...An), fc:U —T以及fg:T —U'。其中。實(shí)體表T的準(zhǔn)標(biāo)識符QI為屬性組(、,4,"、), (4,為,"_4)口(4,為廠4),其中取6"且滿足&&>#1])) =Pi。換言之,同時存在于
發(fā)布數(shù)據(jù)表和外部數(shù)據(jù)源表中,利用此兩種數(shù)據(jù)表進(jìn)行連接的推演來表示個人隱私信息的 一組屬性稱為準(zhǔn)標(biāo)識符屬性。準(zhǔn)標(biāo)識符屬性Quasi-Identifiers也叫做類標(biāo)識符屬性。不 同的發(fā)布數(shù)據(jù)表可以根據(jù)不同的情況劃分不同的準(zhǔn)標(biāo)識符屬性,一般情況下準(zhǔn)標(biāo)識符由專 家選擇,而非用戶隨便選取。一般情況下可以以年齡、教育程度、性別作為準(zhǔn)標(biāo)識符。敏感屬性(Sensitive-Attributes,SA),個人隱私屬性。發(fā)布數(shù)據(jù)中,個體不希望 其他用戶知道的信息屬性。比如說個人的工資水平、患者的就診記錄中的所患疾病。發(fā)布 數(shù)據(jù)時,為了防止個人敏感信息的泄露,標(biāo)識符必須被刪除,發(fā)布的數(shù)據(jù)記錄只保留準(zhǔn)表示副屬性和敏感屬性,稱為匿名化處理。等價組在準(zhǔn)標(biāo)識符上的投影完全相同的記錄組成的等價組,即等價組中所有 的記錄在準(zhǔn)標(biāo)識符上的屬性值完全相同,其他的屬性值可以不同。K-匿名描述給定數(shù)據(jù)表T(Ai,A2,…々^,QI是與T相關(guān)聯(lián)的準(zhǔn)標(biāo)識符,當(dāng)且僅當(dāng) 在T[QI]中出現(xiàn)的每個值序列至少在T[QI]中出現(xiàn)K次,則T滿足K-匿名。T[QI]表示T 表元組在QI上的投影?,F(xiàn)實(shí)生活中,將醫(yī)療、投票、求職等信息公開的同時又要保證隱藏相關(guān)患者、投票 人、和求職人等的個體標(biāo)識信息并確保這些公布的數(shù)據(jù)不能用來推到出這些標(biāo)識信息時,K 匿名就是非常好的可選模型。當(dāng)數(shù)據(jù)發(fā)布到公共數(shù)據(jù)庫,數(shù)據(jù)的擁有者不再繼續(xù)控制數(shù)據(jù) 的使用方式和范圍時,在這種情況下為了不暴露數(shù)據(jù)主體的身份移出所有涉及到個體標(biāo)識 的數(shù)據(jù)項(xiàng)信息De-Identification(即去標(biāo)識)就是一種常用的方法。2. OLA (Optimal Lattice Anonymization)算法(最優(yōu)泛化格匿名化算法)0LA算法是一種全局最優(yōu)的K-匿名算法。其主要過程如下首先根據(jù)數(shù)據(jù)選擇準(zhǔn)標(biāo)識符,然后由準(zhǔn)標(biāo)識符確定泛化層次和建立一個與之對應(yīng) 的Lattice (泛化格)。Lattice的每個節(jié)點(diǎn)代表數(shù)據(jù)集的一個實(shí)例(即泛化的一種方式)。 然后從這些節(jié)點(diǎn)中選擇一個最優(yōu)的節(jié)點(diǎn)作為最后的泛化方式。最優(yōu)節(jié)點(diǎn)選擇算法(最優(yōu)節(jié)點(diǎn)是K匿名節(jié)點(diǎn),然后該節(jié)點(diǎn)具有最小的信息損失 量)首先對于每一種泛化策略,通過二分查找的方法,查找出所有K-匿名節(jié)點(diǎn)。對于每一種泛化策略,保存最低高度的K匿名節(jié)點(diǎn)(k-minimal node) 0對于多有的k-minimal節(jié)點(diǎn),比較這些節(jié)點(diǎn)的信息損失量。信息損失量最小的節(jié) 點(diǎn)就是需要查找的全局最優(yōu)節(jié)點(diǎn)。0LA最消耗時間的的兩個步驟是(a)判斷一個節(jié)點(diǎn)是否為K匿名節(jié)點(diǎn)。(2)比較 所有的k-minimal節(jié)點(diǎn),找出信息損失量最小的節(jié)點(diǎn)。
發(fā)明內(nèi)容
基于上述技術(shù)問題,本發(fā)明提出了一種基于度優(yōu)先的K-Anonymity數(shù)據(jù)匿名處理 方法,基于K-Anonymity匿名算法,采用度優(yōu)先的方式獲取隱私數(shù)據(jù)全局最優(yōu)節(jié)點(diǎn),對隱私 數(shù)據(jù)進(jìn)行匿名處理,以平衡數(shù)據(jù)挖掘中數(shù)據(jù)準(zhǔn)確性和隱私保護(hù)的要求。本發(fā)明所提出的基于度優(yōu)先的K-Anonymity數(shù)據(jù)匿名處理方法,該方法包括以下 步驟對發(fā)布數(shù)據(jù)進(jìn)行預(yù)處理根據(jù)發(fā)布數(shù)據(jù)選擇相應(yīng)的準(zhǔn)標(biāo)識符,然后由準(zhǔn)標(biāo)識符確 定泛化等級和建立與之對應(yīng)的Lattice泛化格;獲取全局最優(yōu)節(jié)點(diǎn),包括以下步驟計(jì)算Lattice中所有節(jié)點(diǎn)的度,即該節(jié)點(diǎn)的父節(jié)點(diǎn)的個數(shù)和該節(jié)點(diǎn)子節(jié)點(diǎn)的個數(shù) 的乘積;從Lattice泛化格中找到度最大的節(jié)點(diǎn),判斷該節(jié)點(diǎn)是否滿足K_匿名如果該節(jié)點(diǎn)滿足K-匿名,則從Lattice泛化格中刪除該節(jié)點(diǎn)及其所有祖先節(jié)點(diǎn);查找K-min集合,判斷該集合中是否有該節(jié)點(diǎn)的祖先節(jié)點(diǎn),若有,刪除保存所有泛化策略最低高度的K匿名節(jié)點(diǎn)的集合K-min集合中的該節(jié)點(diǎn)的祖先節(jié)點(diǎn),若無,則不操作; 最后把該節(jié)點(diǎn)保存到K-min集合中;如果該節(jié)點(diǎn)不滿足K-匿名,則從Lattice中刪除該節(jié)點(diǎn),并刪除該節(jié)點(diǎn)的所有子 孫節(jié)點(diǎn);計(jì)算K-min集合中節(jié)點(diǎn)的信息損失量;將信息損失量最小的節(jié)點(diǎn)作為全局最優(yōu)節(jié)點(diǎn);將所有發(fā)布數(shù)據(jù)按照最優(yōu)節(jié)點(diǎn)的泛化方式進(jìn)行泛化處理,并且將所得泛化處理結(jié) 果進(jìn)行發(fā)布;所述從Lattice泛化格中找到度最大的節(jié)點(diǎn)的步驟,還包括包括以下步驟通過指令getMaxDegreeNode ()返回泛化格中度最大的節(jié)點(diǎn),該指令的具體實(shí)現(xiàn) 過程是計(jì)算所有節(jié)點(diǎn)的度,一個節(jié)點(diǎn)的度為該節(jié)點(diǎn)的所有直接父節(jié)點(diǎn)數(shù)與所有直接子節(jié) 點(diǎn)數(shù)的乘積;找出度最大的節(jié)點(diǎn)并將其返回。這里所說的父節(jié)點(diǎn)為與該節(jié)點(diǎn)直接相連的上 一層節(jié)點(diǎn)、子節(jié)點(diǎn)為與該節(jié)點(diǎn)直接相連的下一層節(jié)點(diǎn);
所述計(jì)算K-min集合中節(jié)點(diǎn)的信息損失量的步驟,還包括以下步驟 通過指令MinlnfoLossO 計(jì)算KminNode中信息損失量最小的節(jié)點(diǎn), 信息損失量的計(jì)算公式為 ^ h
InfoLoss -
1-JDGH1N 表示元組集中地屬性個數(shù),DGHi表示N個屬性中第i個屬性的泛化等級,h,表 示屬性i的泛化程度;在每次調(diào)用基于度優(yōu)先的K-Anonymity數(shù)據(jù)匿名處理方法時,重新計(jì)算泛化格中 所有節(jié)點(diǎn)的度,并且找到其中度最大的節(jié)點(diǎn)。與現(xiàn)有技術(shù)相比,本發(fā)明能夠在盡可能少地犧牲單個數(shù)據(jù)記錄準(zhǔn)確性的隱私保護(hù) 前提下,保證發(fā)布數(shù)據(jù)整體趨勢,為發(fā)布數(shù)據(jù)提供更好的可用性。
圖1為本發(fā)明的年齡的泛化方式舉例;圖2為本發(fā)明的性別的泛化方式舉例;圖3為本發(fā)明的泛化格舉例;圖4為本發(fā)明的實(shí)施例三的裝置架構(gòu)圖。
具體實(shí)施例方式下面結(jié)合附圖對本發(fā)明的技術(shù)方案進(jìn)行進(jìn)一步的描述關(guān)于Lattice泛化格的建立,舉例說明如下根據(jù)各個屬性相應(yīng)的泛化方式可以建立泛化格。令1\(~,…,Ak)*!^、,…, Ak)是兩個不同表,它們構(gòu)成Lattice中的各節(jié)點(diǎn),(A”…,Ak)為被泛化處理數(shù)據(jù)的k個屬 性,令Tik為表格凡⑷,…,Ak)的Ak屬性的泛化等級或泛化高度,Tjk為表格T^Ai,…,Ak) 的Ak屬性的泛化等級或泛化高度。如圖一和圖二所示分別為年齡和性別的泛化方式的舉
5例。泛化向量L(ar"ak),其中 表示節(jié)點(diǎn)每個屬性的泛化等級(或泛化高度)。泛化等級= 表示該節(jié)點(diǎn)的在Lattice中的泛化等級(或泛化高度)。距離矢量DVU =[屯,…dn],計(jì)算公式為dk = (Tjk-Tik),其中dk為泛化等級中屬 性間路徑長度。兩個或多個屬性進(jìn)行不同等級的泛化得到的結(jié)果構(gòu)成屬性泛化序列。這些序列構(gòu) 成基于準(zhǔn)標(biāo)識符的泛化等級序列,稱為泛化格。年齡Age和性別Sex的可以構(gòu)成如圖三所 示的泛化格。泛化格中的每一個節(jié)點(diǎn),表示一個屬性一次泛化后的表,即為各屬性泛化到此 時對應(yīng)的發(fā)布數(shù)據(jù)。信息損失量數(shù)據(jù)經(jīng)過泛化后就會出現(xiàn)一定程度的失真,泛化程度越高,那么數(shù)據(jù)失真度就越 大。我們發(fā)布數(shù)據(jù)常常是用來分析或者研究某些問題,因此在發(fā)布數(shù)據(jù)的時候不僅要保護(hù) 隱私的泄露,還要盡量保證發(fā)布的數(shù)據(jù)有較小的損失,否則即使達(dá)到了隱私保護(hù)的目的,發(fā) 布的數(shù)據(jù)也失去了價值,隱私保護(hù)也沒有任何意義。因此,需要進(jìn)行泛化格最優(yōu)節(jié)點(diǎn)的選 擇。建立好泛化格之后,按照最優(yōu)節(jié)點(diǎn)選擇算法選擇出最優(yōu)節(jié)點(diǎn)。最優(yōu)節(jié)點(diǎn)選擇算法的流 程圖如圖四所示。具體包括以下步驟首先,對原始數(shù)據(jù)建立Lattice泛化格,步驟401 ;判斷Lattice泛化格是否為空, 步驟402 ;如果不為空,則取出泛化格中度最大的節(jié)點(diǎn),步驟403 ;判斷所取出的度最大的節(jié) 點(diǎn)是否為K-匿名節(jié)點(diǎn),步驟404 ;如果是K-匿名節(jié)點(diǎn),在Lattice中刪除該節(jié)點(diǎn)及其所有祖 先節(jié)點(diǎn),步驟405 ;判斷K-min集合中是否有該節(jié)點(diǎn)的祖先節(jié)點(diǎn),步驟406 ;如果否,則將該 節(jié)點(diǎn)保存到K-min集合中,步驟407,返回步驟402 ;如果有,則刪除該節(jié)點(diǎn)在K-min集合中 的祖先節(jié)點(diǎn),步驟408,之后,返回步驟407,即將該節(jié)點(diǎn)保存到K-min集合中,返回步驟402 ; 如果步驟404的判斷結(jié)果是所取出的度最大的節(jié)點(diǎn)不是K-匿名節(jié)點(diǎn),則在Lattice泛化格 中刪除該節(jié)點(diǎn)及其所有子孫節(jié)點(diǎn),步驟411,返回步驟402 ;如果Latice泛化格為空,步驟402;則計(jì)算信息損失量最小的節(jié)點(diǎn),作為最優(yōu)節(jié) 點(diǎn),步驟409 ;按照最優(yōu)節(jié)點(diǎn)方式進(jìn)行泛化處理,并發(fā)布數(shù)據(jù),步驟410。在上述流程中,有幾個具體的計(jì)算方法說明如下步驟403取出泛化格中度最大的節(jié)點(diǎn),所采用的方法是通過指令 getMaxDegreeNodeO 返回泛化格中度最大的節(jié)點(diǎn)。該指令的具體實(shí)現(xiàn)過程是計(jì)算所有 節(jié)點(diǎn)的度,一個節(jié)點(diǎn)的度為該節(jié)點(diǎn)的所有直接父節(jié)點(diǎn)數(shù)與所有直接子節(jié)點(diǎn)數(shù)的乘積;找出 度最大的節(jié)點(diǎn)并將其返回。這里所說的父節(jié)點(diǎn)為與該節(jié)點(diǎn)直接相連的上一層節(jié)點(diǎn)、子節(jié)點(diǎn) 為與該節(jié)點(diǎn)直接相連的下一層節(jié)點(diǎn)。并且,由于在判斷某個節(jié)點(diǎn)是否為K匿名節(jié)點(diǎn)時,會刪除泛化格中的節(jié)點(diǎn),刪除某 個節(jié)點(diǎn)時,與該節(jié)點(diǎn)相關(guān)聯(lián)的邊都會刪掉。所以每次調(diào)用該方法時都需要重新計(jì)算泛化格 中所有節(jié)點(diǎn)的度。步驟409,則計(jì)算信息損失量最小的節(jié)點(diǎn),作為最優(yōu)節(jié)點(diǎn);所采用的方法是通過指 令MinlnfoLossO 計(jì)算KminNode中信息損失量最小的節(jié)點(diǎn)。信息損失量的計(jì)算公式為
<formula>formula see original document page 7</formula>
N:表示元組集中地屬性個數(shù),DGHi表示N個屬性中第i個屬性的泛化等級,hi表示 屬性i的泛化程度。由該公式可知泛化程度越高、信息損失量越大。泛化程度越低,信息損 失量越小。最后將所有的數(shù)據(jù)按照最優(yōu)節(jié)點(diǎn)的方式進(jìn)行泛化。得到最后可以泛化的數(shù)據(jù)。 上述最優(yōu)節(jié)點(diǎn)選擇算法的偽代碼如下
ArrayList Kmin(Lattice lattice)
{
Node node = lattice. getMaxDegreeNode();
if (IsKAnonymous(node) = = true)
{
DelAncestors(Lattice lattice,Node node); for (int i = 0 ;i < KminNodes. size () ;i++) if(KminNodes. get(i). IsAncestorOf(node) KminNOdes. remove(i); KminNodes. add (node); DelNode(Lattice lattice,Node node);
}
else (IsNotAnonymous(node) = = true)
{
DelChildren(Lattice lattice,Node node);
DelNode(Lattice lattice,Node node); }
return KminNodes ;
}
Node OptimalNode(ArrayList list)
{
return KminNode. MinlnfoLoss ();
}
KminNode 是保存所有泛化策略最低高度的K匿名節(jié)點(diǎn)的集合。 ArrayList Kmin (Lattice lattice)獲得每種泛化策略最低高度的K匿名節(jié)
getMaxDegreeNode ()獲得該泛化格lattice中度最大的節(jié)點(diǎn)。 IsKAnonymous (node)判斷該節(jié)點(diǎn)是否為K匿名節(jié)點(diǎn)。
DelAncestors (Lattice lattice, Node node)lattice c^ node
{
點(diǎn)集合。
的所有祖先
IsAncestorOf (node)判斷該節(jié)點(diǎn)是否為node節(jié)點(diǎn)的祖先。
DelNode (Lattice lattice, Node node) -.hkiM. lattice ^ffiJ^l ^ node ;
7
IsNotAnonymous(node)判斷該節(jié)點(diǎn)是否為非匿名節(jié)點(diǎn)。DelChildren(Lattice lattice, Node node) -.hKi^Zit^r lattice node的所有后代。MinlnfoLoss ()從KminNode中計(jì)算出信息損失量最小的節(jié)點(diǎn)。Node OptimalNode (ArrayList list) ^!目!!^^ ,^;。
權(quán)利要求
一種基于度優(yōu)先的K-Anonymity數(shù)據(jù)匿名處理方法,該方法包括以下步驟對發(fā)布數(shù)據(jù)進(jìn)行預(yù)處理根據(jù)發(fā)布數(shù)據(jù)選擇相應(yīng)的準(zhǔn)標(biāo)識符,然后由準(zhǔn)標(biāo)識符確定泛化等級和建立與之對應(yīng)的Lattice泛化格;獲取全局最優(yōu)節(jié)點(diǎn),包括以下步驟計(jì)算Lattice中所有節(jié)點(diǎn)的度,即該節(jié)點(diǎn)的父節(jié)點(diǎn)的個數(shù)和該節(jié)點(diǎn)子節(jié)點(diǎn)的個數(shù)的乘積;從Lattice泛化格中找到度最大的節(jié)點(diǎn),判斷該節(jié)點(diǎn)是否滿足K-匿名如果該節(jié)點(diǎn)滿足K-匿名,則從Lattice泛化格中刪除該節(jié)點(diǎn)及其所有祖先節(jié)點(diǎn);查找K-min集合,判斷該集合中是否有該節(jié)點(diǎn)的祖先節(jié)點(diǎn),若有,刪除保存所有泛化策略最低高度的K匿名節(jié)點(diǎn)的集合K-min集合中的該節(jié)點(diǎn)的祖先節(jié)點(diǎn),若無,則不操作;最后把該節(jié)點(diǎn)保存到K-min集合中;如果該節(jié)點(diǎn)不滿足K-匿名,則從Lattice中刪除該節(jié)點(diǎn),并刪除該節(jié)點(diǎn)的所有子孫節(jié)點(diǎn);計(jì)算K-min集合中節(jié)點(diǎn)的信息損失量;將信息損失量最小的節(jié)點(diǎn)作為全局最優(yōu)節(jié)點(diǎn);將所有發(fā)布數(shù)據(jù)按照最優(yōu)節(jié)點(diǎn)的泛化方式進(jìn)行泛化處理,并且將所得泛化處理結(jié)果進(jìn)行發(fā)布。
2.如權(quán)利要求1所述的基于度優(yōu)先的K-Anonymity數(shù)據(jù)匿名處理方法,所述從 Lattice泛化格中找到度最大的節(jié)點(diǎn)的步驟,還包括以下步驟通過指令getMaxDegreeNodeO 返回泛化格中度最大的節(jié)點(diǎn),該指令的具體實(shí)現(xiàn)過程 是計(jì)算所有節(jié)點(diǎn)的度,一個節(jié)點(diǎn)的度為該節(jié)點(diǎn)的所有直接父節(jié)點(diǎn)數(shù)與所有直接子節(jié)點(diǎn)數(shù) 的乘積;找出度最大的節(jié)點(diǎn)并將其返回。這里所說的父節(jié)點(diǎn)為與該節(jié)點(diǎn)直接相連的上一層 節(jié)點(diǎn)、子節(jié)點(diǎn)為與該節(jié)點(diǎn)直接相連的下一層節(jié)點(diǎn)。
3.如權(quán)利要求1所述的基于度優(yōu)先的K-Anonymity數(shù)據(jù)匿名處理方法,所述計(jì)算 K-min集合中節(jié)點(diǎn)的信息損失量的步驟,還包括以下步驟通過指令MinlnfoLossO 計(jì)算KminNode中信息損失量最小的節(jié)點(diǎn), 信息損失量的計(jì)算公式為<formula>formula see original document page 2</formula>N 表示元組集中地屬性個數(shù),DGHi表示N個屬性中第i個屬性的泛化等級,比表示屬 性i的泛化程度。
4.如權(quán)利要求1或2所述的基于度優(yōu)先的K-Anonymity數(shù)據(jù)匿名處理方法,所述從 Lattice泛化格中找到度最大的節(jié)點(diǎn)的步驟,還包括以下步驟在每次調(diào)用基于度優(yōu)先的 K-Anonymity數(shù)據(jù)匿名處理方法時,重新計(jì)算泛化格中所有節(jié)點(diǎn)的度,并且找到其中度最大 的節(jié)點(diǎn)。
全文摘要
本發(fā)明公開了一種基于度優(yōu)先的K-Anonymity數(shù)據(jù)匿名處理方法,該方法包括以下步驟對發(fā)布數(shù)據(jù)進(jìn)行預(yù)處理,建立Lattice泛化格;計(jì)算Lattice中所有節(jié)點(diǎn)的度,從Lattice泛化格中找到度最大的節(jié)點(diǎn),獲取全局最優(yōu)節(jié)點(diǎn),計(jì)算K-min集合中節(jié)點(diǎn)的信息損失量;將信息損失量最小的節(jié)點(diǎn)作為全局最優(yōu)節(jié)點(diǎn);將所有發(fā)布數(shù)據(jù)按照最優(yōu)節(jié)點(diǎn)的泛化方式進(jìn)行泛化處理,并且將所得泛化處理結(jié)果進(jìn)行發(fā)布。與現(xiàn)有技術(shù)相比,本發(fā)明能夠在盡可能少地犧牲單個數(shù)據(jù)記錄準(zhǔn)確性的隱私保護(hù)前提下,保證發(fā)布數(shù)據(jù)整體趨勢,為發(fā)布數(shù)據(jù)提供更好的可用性。
文檔編號H04L29/06GK101834872SQ20101017628
公開日2010年9月15日 申請日期2010年5月19日 優(yōu)先權(quán)日2010年5月19日
發(fā)明者劉新覓, 宮秀軍, 胡翔天, 趙菲菲, 陳海亮 申請人:天津大學(xué)