CN111695153A - 一种多叉树森林k-匿名方法、系统、设备和可读存储介质 - Google Patents

一种多叉树森林k-匿名方法、系统、设备和可读存储介质 Download PDF

Info

Publication number
CN111695153A
CN111695153A CN202010514315.3A CN202010514315A CN111695153A CN 111695153 A CN111695153 A CN 111695153A CN 202010514315 A CN202010514315 A CN 202010514315A CN 111695153 A CN111695153 A CN 111695153A
Authority
CN
China
Prior art keywords
data
anonymous
attribute
data set
generalization
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202010514315.3A
Other languages
English (en)
Inventor
罗霄
陈先来
刘莉
安莹
李忠民
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Central South University
Original Assignee
Central South University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Central South University filed Critical Central South University
Priority to CN202010514315.3A priority Critical patent/CN111695153A/zh
Publication of CN111695153A publication Critical patent/CN111695153A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6245Protecting personal data, e.g. for financial or medical purposes
    • G06F21/6254Protecting personal data, e.g. for financial or medical purposes by anonymising data, e.g. decorrelating personal data from the owner's identification

Landscapes

  • Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Databases & Information Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Medical Informatics (AREA)
  • Storage Device Security (AREA)

Abstract

本申请实施例公开了一种多叉树森林K‑匿名方法、系统、设备和可读存储介质,以识别率的计算为基础,解决了贪婪算法在局域泛化模式中每一步最优泛化数据选择的问题,建立多叉树森林实现了泛化数据的存储和局域泛化,以多线程的泛化数据选择和K‑匿名的并行式计算判断提升了模型的效率。即在原始数据的基础上将部分数据泛化,使匿名后的数据集满足K‑匿名模型。在保障数据安全性的条件下,不会影响数据本身的真实性。同时模型保留了数据本身的分布,提高数据匿名化后数据的可用性,适用于小型数据集和大型数据集的匿名化处理。

Description

一种多叉树森林K-匿名方法、系统、设备和可读存储介质
技术领域
本申请实施例涉及信息安全技术领域,具体涉及一种多叉树森林K-匿名方法、系统、设备和可读存储介质。
背景技术
随着信息时代数据化步伐的加快以及大数据的普及应用,数据挖掘等技术带来了巨大的知识收益,使得数据的搜集被赋予了更重要的地位但由于相关法律和技术不够成熟等原因,在信息被共享应用的同时,造成了隐私泄露,这给隐私相关者带来了潜在的安全隐患。数据发布中的安全问题逐渐成为了亟待解决的问题。
K-匿名算法作为较早提出的数据脱敏模型之一,对于数据的安全性保护具有很多良好的性质,但也存在不足。K匿名会产生由匿名化带来的信息损失导致数据可用性变差,同时需要耗费大量的时间用于数据变化。该类算法存在着诸多局限性,首先,选择某一属性进行一次泛化后如不满足K-匿名,就有可能造成该属性的过度泛化,从而造成数据集的信息损失。其次,全域泛化一般很难满足匿名后数据的可用性要求。此外,无法准确地度量在每次泛化中是否达到了最好的匿名效果,从而整体提升算法的效率。
发明内容
为此,本申请实施例提供一种多叉树森林K-匿名方法、系统、设备和可读存储介质,适用于小型数据集和大型数据集的匿名化处理。即在原始数据的基础上将部分数据泛化,使匿名后的数据集满足K-匿名模型。在保障数据安全性的条件下,不会影响数据本身的真实性。同时模型保留了数据本身的分布,提高数据匿名化后数据的可用性。
为了实现上述目的,本申请实施例提供如下技术方案:
根据本申请实施例的第一方面,提供了一种多叉树森林K-匿名方法,所述方法包括:
步骤A:判断原始数据集D是否需要分割为n个子数据集;若需要,转入步骤B;若不需要,转入步骤C;
步骤B:将所述原始数据集D按照分割参数分割为n个子数据集D’={d1,d2,d3,...,dn},建立n个线程并行式分别计算n个子数据集,转入步骤C;
步骤C:拷贝目标数据集,对目标数据集进行K-匿名检测;若目标数据集满足K匿名,则将目标数据集添加到匿名数据集中,并输出匿名数据集;若不满足,则检查目标数据集存在的数据条数,若数据条数大于K则转入步骤D,若数据条数小于K,则将剩余的数据泛化为最高层级并添加到匿名数据集,检测匿名数据集是否满足K-匿名,若满足则输出匿名数据集,若不满足,则不进行本次添加;
步骤D:提取出目标数据集所有计数大于K的等价类,将其存入匿名数据集,目标数据集数量等于1的转入步骤E,目标数据集数量大于1的转入步骤F;
步骤E:选择n-1个属性组成n种组合等价类,生成等价类集G={g1,g2,g3,......,gn},其中属性集的长度为n;计算出G中各等价类组存在的等价类数量,并取等价类数据条数计数值最大的子集在属性集中的补集进行泛化,泛化后转入步骤C进行K-匿名检测;
步骤F:采用m个线程计算不同等价类数量,选择m-1个属性组成m种组合的子集,生成等价类集G={g1,g2,g3,......,gm},其中属性集的长度为m;计算出G中各等价类组存在的等价类数量,并取等价类数据条数计数值最大的子集在属性集中的补集进行泛化,泛化后转入步骤C进行K-匿名检测;
步骤G:当所有数据集的结果输出后,输出汇总所有数据集的匿名数据集和泛化精确度。
可选地,所述泛化的属性值为所有等价类在各自对应的数据项中不包含属性的属性值。
可选地,在步骤E和步骤F中,若在泛化过程中等价类数据条数计数值相同、元组中等价类的数量小于K或者不存在等价类,则选择属性值类型计数值最大的属性进行泛化,直至满足K-匿名为止。
根据本申请实施例的第二方面,提供了一种多叉树森林K-匿名系统,所述系统包括:
数据集属性判断模块,用于判断原始数据集D是否需要分割为n个子数据集;若需要,转入数据集分割模块;若不需要,转入匿名检测模块;
数据集分割模块,用于将所述原始数据集D按照分割参数分割为n个子数据集D’={d1,d2,d3,...,dn},建立n个线程并行式分别计算n个子数据集,转入匿名检测模块;
匿名检测模块,用于拷贝目标数据集,对目标数据集进行K-匿名检测;若目标数据集满足K匿名,则将目标数据集添加到匿名数据集中,并输出匿名数据集;若不满足,则检查目标数据集存在的数据条数,若数据条数大于K则转入等价类提取模块,若数据条数小于K,则将剩余的数据泛化为最高层级并添加到匿名数据集,检测匿名数据集是否满足K-匿名,若满足则输出匿名数据集,若不满足,则不进行本次添加;
等价类提取模块,用于提取出目标数据集所有计数大于K的等价类,将其存入匿名数据集,目标数据集数量等于1的转入第一泛化模块,目标数据集数量大于1的转入第二泛化模块;
第一泛化模块,用于选择n-1个属性组成n种组合等价类,生成等价类集G={g1,g2,g3,......,gn},其中属性集的长度为n;计算出G中各等价类组存在的等价类数量,并取等价类数据条数计数值最大的子集在属性集中的补集进行泛化,泛化后转入匿名检测模块进行K-匿名检测;
第二泛化模块,用于采用m个线程计算不同等价类数量,选择m-1个属性组成m种组合的子集,生成等价类集G={g1,g2,g3,......,gm},其中属性集的长度为m;计算出G中各等价类组存在的等价类数量,并取等价类数据条数计数值最大的子集在属性集中的补集进行泛化,泛化后转入匿名检测模块进行K-匿名检测;
数据输出模块,用于当所有数据集的结果输出后,输出汇总所有数据集的匿名数据集和泛化精确度。
可选地,所述泛化的属性值为所有等价类在各自对应的数据项中不包含属性的属性值。
可选地,在所述第一泛化模块和所述第二泛化模块中,若在泛化过程中等价类数据条数计数值相同、元组中等价类的数量小于K或者不存在等价类,则选择属性值类型计数值最大的属性进行泛化,直至满足K-匿名为止。
根据本申请实施例的第三方面,提供了一种设备,所述设备包括:数据采集装置、处理器和存储器;所述数据采集装置用于采集数据;所述存储器用于存储一个或多个程序指令;所述处理器,用于执行一个或多个程序指令,用以执行如上述第一方面任一项所述的方法。
根据本申请实施例的第四方面,提供了一种计算机可读存储介质,所述计算机存储介质中包含一个或多个程序指令,所述一个或多个程序指令用于执行如上述第一方面任一项所述的方法。
综上所述,本申请实施例提供了一种多叉树森林K-匿名方法、系统、设备和可读存储介质,以识别率的计算为基础,解决了贪婪算法在局域泛化模式中每一步最优泛化数据选择的问题,建立多叉树森林实现了泛化数据的存储和局域泛化,以多线程的泛化数据选择和K-匿名的并行式计算判断提升了模型的效率。即在原始数据的基础上将部分数据泛化,使匿名后的数据集满足K-匿名模型。在保障数据安全性的条件下,不会影响数据本身的真实性。同时模型保留了数据本身的分布,提高数据匿名化后数据的可用性,适用于小型数据集和大型数据集的匿名化处理。
附图说明
为了更清楚地说明本发明的实施方式或现有技术中的技术方案,下面将对实施方式或现有技术描述中所需要使用的附图作简单地介绍。显而易见地,下面描述中的附图仅仅是示例性的,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图引伸获得其它的实施附图。
本说明书所绘示的结构、比例、大小等,均仅用以配合说明书所揭示的内容,以供熟悉此技术的人士了解与阅读,并非用以限定本发明可实施的限定条件,故不具技术上的实质意义,任何结构的修饰、比例关系的改变或大小的调整,在不影响本发明所能产生的功效及所能达成的目的下,均应仍落在本发明所揭示的技术内容能涵盖的范围内。
图1为本申请实施例提供的一种多叉树森林K-匿名方法流程示意图;
图2为本申请实施例提供的基于识别率的多叉树森林K-匿名算法流程示意图;
图3为本申请实施例提供的面向大数据的并行式多叉树森林K-匿名算法流程示意图;
图4为本申请实施例提供的一种多叉树森林K-匿名系统框图。
具体实施方式
以下由特定的具体实施例说明本发明的实施方式,熟悉此技术的人士可由本说明书所揭露的内容轻易地了解本发明的其他优点及功效,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本申请实施例提供一种多叉树森林K-匿名方法、系统、设备和可读存储介质,适用于小型数据集和大型数据集的匿名化处理。即在原始数据的基础上将部分数据泛化,使匿名后的数据集满足K-匿名模型。在保障数据安全性的条件下,不会影响数据本身的真实性。同时模型保留了数据本身的分布,提高数据匿名化后数据的可用性。模型以识别率的计算为基础,解决了贪婪算法在局域泛化模式中每一步最优泛化数据选择的问题。建立多叉树森林实现了泛化数据的存储和局域泛化。以多线程的泛化数据选择和K-匿名的并行式计算判断提升了模型的效率。
为了使数据集更容易满足K-匿名模型,需要知道单个属性对整个数据集匿名性的影响,因此,本申请实施例定义了识别率(Recognition Rate)这一概念。首先假设攻击者的背景知识为攻击目标存在于数据集中,除姓名等标识符外不掌握其他的任何信息。此时获取该目标的信息的关键在于数据集中有多少种不重复的元组。下面对本申请实施例中涉及的技术名词进行简单解释。
等价类:在任意属性集中,若存在属性取值相同的n个元组,则称这n个元组组成的集合为一个等价类。
等价类组:每个属性集中可能存在多个等价类,将每个属性集中的不同等价类组成的集合记为一个等价类组,下文中用g来表示等价类组。
等价类集:多个属性集的等价类组构成的集合称为等价类集,下文中用G来表示等价类集。
识别率:若某二值属性A存在{a1,a2}两种属性值,假设攻击者只知道目标个体在数据集中,则可以推断该属性有50%的概率可以识别到该个体。当准标识符集合中存在两个属性A{a1,a2,…am},B{b1,b2,…bn}时,则需要度量两个属性整体的识别率,也就是等价类组gAB的识别率。推广到多种属性,则要根据属性的等价类组中等价类的数量来确定识别率的大小,等价类组中等价类数量越多,其识别率越小,也就越容易满足数据安全性的需求。而当属性等价类数量相同时,属性识别率的大小就由属性值的类数决定。
数据项的识别率与K-匿名:在一个数据集中存在多个属性时,数据项识别率的大小就由所有属性共同决定,而无法单独通过属性值的多少来判断整体识别率的大小。在一个数据集中当多个数据项满足K-匿名时,可以认为数据项的识别率为1/k。当数据项中等价类条数不满足K匿名时,等价类条数越少则识别率越大。若要保证数据安全性,应该保证每条数据对应一个元组个数足够多的等价类。
当两条不相同的元组存在时,也可以根据等价类判断识别率的高低。假如数据集中存在A、B、C、D四种属性,则存在4种由3个属性组成的子属性集BCD、ACD、ABD、ABC,此时等价类集G={gBCD,gACD,gABD,gABC}。显而易见,此时两条数据项识别率的大小要根据数据中相同部分来判断。即子属性集中等价类数量最多的数据项识别率最小,也最容易满足K-匿名。
多叉树森林的剪枝策略:对局域泛化来讲,数据项的泛化要选择最容易满足K-匿名的属性和数据项,也就是选择属性集子集等价类组中最优的等价类对应的数据项的补集属性进行泛化,从而让子集等价类变换为属性集等价类。如表3中等价类组gACD存在2个等价类。最优等价类的计数是count(gACD)=4,所以选择ID号1,3,4,6,属性为B的数据项泛化,如下表所示。
表1
Figure BDA0002529600830000071
经过每次泛化选择,对数据进行泛化后,需要衡量数据集是否满足K-匿名来检测算法是否需要被终止。若数据集满足K-匿名,终止算法并输出数据匿名表。反之,继续选择数据来进行泛化,直至满足K-匿名为止。
对于匿名化的策略,算法采用自底向上泛化的方法对数据集进行逐级泛化。每个属性建立一棵多叉树用于储存数据,多叉树的根部代表着最高的泛化层级,由多个多叉树构成了属性组成的森林。而算法的任务由泛化数据转变为对森林中的每棵多叉树进行剪枝。
属性集At的长度为n,选择n-1个属性生成n个等价类组,生成等价类集G={g1,g2,g3,......,gn}(如属性集At中存在A、B、C、D四种属性,则存在n-1个等价类种类BCD、ACD、ABD、ABC,此时等价类集G={gBCD,gACD,gABD,gABC})同时计算出G中各等价类组中等价类的数量,并取等价类数量最大的子集在属性集中的补集进行泛化。(例如gBCD属性子集的补集为A)需要泛化的属性值是所有等价类在各自对应的数据项中不包含属性的属性值。如果在泛化过程中等价类数量相同,则选取属性值类型最多的属性进行泛化。或等价类的数量小于k则选择属性值类型最多的属性进行泛化。
图1为本申请实施例提供的一种多叉树森林K-匿名方法流程示意图,具体包括如下步骤:
步骤101:判断原始数据集D是否需要分割为n个子数据集;若需要,转入步骤102;若不需要,转入步骤103。
步骤102:将所述原始数据集D按照分割参数分割为n个子数据集D’={d1,d2,d3,...,dn},建立n个线程并行式分别计算n个子数据集,转入步骤103。
步骤103:拷贝目标数据集,对目标数据集进行K-匿名检测;若目标数据集满足K匿名,则将目标数据集添加到匿名数据集中,并输出匿名数据集;若不满足,则检查目标数据集存在的数据条数,若数据条数大于K则转入步骤104,若数据条数小于K,则将剩余的数据泛化为最高层级并添加到匿名数据集,检测匿名数据集是否满足K-匿名,若满足则输出匿名数据集,若不满足,则不进行本次添加。
步骤104:提取出目标数据集所有计数大于K的等价类,将其存入匿名数据集,目标数据集数量等于1的转入步骤105,目标数据集数量大于1的转入步骤106。
步骤105:选择n-1个属性组成n种组合等价类,生成等价类集G={g1,g2,g3,......,gn},其中属性集的长度为n;计算出G中各等价类组存在的等价类数量,并取等价类数据条数计数值最大的子集在属性集中的补集进行泛化,泛化后转入步骤103进行K-匿名检测。
步骤106:采用m个线程计算不同等价类数量,选择m-1个属性组成m种组合的子集,生成等价类集G={g1,g2,g3,......,gm},其中属性集的长度为m;计算出G中各等价类组存在的等价类数量,并取等价类数据条数计数值最大的子集在属性集中的补集进行泛化,泛化后转入步骤103进行K-匿名检测。
步骤107:当所有数据集的结果输出后,输出汇总所有数据集的匿名数据集和泛化精确度。
在一种可能的实施方式中,所述泛化的属性值为所有等价类在各自对应的数据项中不包含属性的属性值。
在一种可能的实施方式中,在步骤E和步骤F中,若在泛化过程中等价类数据条数计数值相同、元组中等价类的数量小于K或者不存在等价类,则选择属性值类型计数值最大的属性进行泛化,直至满足K-匿名为止。
结合图2和图3给出两种近似算法。一种提出基于识别率的多叉树森林K-匿名算法,该算法以贪心策略在多叉树森林中寻找局域泛化的最优解。另一种,利用多线程和并行计算的策略优化提高了算法的效率。
图2示出了基于识别率的多叉树森林K-匿名算法实施例示意图,输入为原数据集D,多叉树森林F(不同属性的多叉树组成),匿名化程度参数K,属性集At,输出为匿名数据集D2,泛化精确度Precision。该算法中的泛化指的是被泛化数据在属性多叉树中剪枝。具体包括如下步骤:
第一步:对原数据集D拷贝,记为D1。对D1数据集进行k-匿名检测,若D1满足k匿名则将D1添加到D2中并输出匿名数据集D2,输出D2的精确度Precision。若不满足,则检查D1存在的数据条数,若数据条数大于K则转入第二步。若小于K,则将剩余的数据泛化为最高层级添加到D2,检测D2是否满足k-匿名,若满足则输出D2,D2的精确度Precision。若不满足,则不进行本次添加。
第二步:提取出数据集D1所有计数大于K的等价类,将其存入D2,转入第三步。
第三步:属性集At的长度为n,选择n-1个属性组成n种组合等价类,生成等价类集G={g1,g2,g3,......,gn}(如属性集At中存在A、B、C、D四种属性,则存在n-1个等价类种类BCD、ACD、ABD、ABC,此时G={gBCD,gACD,gABD,gABC}),同时计算出G中各等价类组存在的等价类数量,并取等价类数据条数计数count(g)最大的子集在属性集中的补集进行泛化。例如gBCD属性子集的补集为A。需要泛化的属性值是所有等价类在各自对应的数据项中不包含属性的属性值。对D1进行泛化,将D1泛化后,返回第一步进行k-匿名检测。如果在泛化过程中count(g)相同、元组中等价类的数量小于K或者不存在任何等价类,则选择属性值类型计数count(i)最大的属性进行泛化。
图3示出了面向大数据的并行式多叉树森林K-匿名算法实施例示意图,输入为原数据集D,分割参数γ,多叉树森林F(不同属性的多叉树组成),匿名化程度参数K,属性集A。输出为匿名数据集Dn,泛化精确度Precision。下文中的泛化意为被泛化的数据在属性多叉树中剪枝。具体包括如下步骤:
第一步:将原始数据集D按照分割参数分割为n个子数据集,分割后的数据集为D’={d1,d2,d3,...,dn}。同时建立n个线程并行式的计算n个子数据集,转第二步。
第二步:拷贝子数据集,记为D1。对D1数据集进行k-匿名检测,若D1满足k匿名则将D1添加到D2中并输出匿名数据集D2。若不满足则检查的D1存在的数据条数,若数据条数大于K则转入第二步。若小于K,将剩余的数据泛化为最高层级添加到D2,检测D2是否满足k-匿名,若满足则输出D2,若不满足,则不进行本次添加。
第三步:提取出数据集D1所有计数大于K的等价类,将其存入D2,转入第四步。
第四步:采用m个线程计算,不同等价类的数量。属性集A的长度为m,选择m-1个属性组成m种组合的子集,生成等价类集G={g1,g2,g3,......,gm}。(如属性集ABCD中存在m-1个属性的子集BCD、ACD、ABD、ABC,此时G={gBCD,gACD,gABD,gABC})同时计算出G中各等价类组存在等价类的数量,并取等价类数据条数计数count(g)最大的子集在属性集中的补集进行泛化。如,gBCD属性子集的补集为A。需要泛化的属性值是所有等价类在各自对应的数据项中不包含属性的属性值。将D1泛化后,返回第一步进行k-匿名检测。如果在泛化过程中count(g)相同、元组中等价类的数量小于K或者不存在任何等价类则选择属性值类型计数count(i)最大的属性进行泛化。
第五步:当所有子数据集的结果输出后,输出汇总的n个子数据集的匿名数据集Dn和Precision。
可以看出,利用K-匿名规则将敏感的信息进行数据泛化,从而实现对敏感、隐私的数据进行可靠有效的保护。相比于该领域的其他算法,该模型使数据集满足K-匿名的条件下保障数据的真实性,同时该模型大幅提高了数据在匿名化后的可用性。该模型既能够在小数据集中保持极高的准确率,而且可以应用于大数据集的处理。
综上所述,本申请实施例提供的一种多叉树森林K-匿名方法,以识别率的计算为基础,解决了贪婪算法在局域泛化模式中每一步最优泛化数据选择的问题,建立多叉树森林实现了泛化数据的存储和局域泛化,以多线程的泛化数据选择和K-匿名的并行式计算判断提升了模型的效率。即在原始数据的基础上将部分数据泛化,使匿名后的数据集满足K-匿名模型。在保障数据安全性的条件下,不会影响数据本身的真实性。同时模型保留了数据本身的分布,提高数据匿名化后数据的可用性,适用于小型数据集和大型数据集的匿名化处理。
基于相同的技术构思,本申请实施例还提供了一种多叉树森林K-匿名系统,如图4所示,所述系统包括:
数据集属性判断模块401,用于判断原始数据集D是否需要分割为n个子数据集;若需要,转入数据集分割模块;若不需要,转入匿名检测模块。
数据集分割模块402,用于将所述原始数据集D按照分割参数分割为n个子数据集D’={d1,d2,d3,...,dn},建立n个线程并行式分别计算n个子数据集,转入匿名检测模块。
匿名检测模块403,用于拷贝目标数据集,对目标数据集进行K-匿名检测;若目标数据集满足K匿名,则将目标数据集添加到匿名数据集中,并输出匿名数据集;若不满足,则检查目标数据集存在的数据条数,若数据条数大于K则转入等价类提取模块,若数据条数小于K,则将剩余的数据泛化为最高层级并添加到匿名数据集,检测匿名数据集是否满足K-匿名,若满足则输出匿名数据集,若不满足,则不进行本次添加。
等价类提取模块404,用于提取出目标数据集所有计数大于K的等价类,将其存入匿名数据集,目标数据集数量等于1的转入第一泛化模块,目标数据集数量大于1的转入第二泛化模块。
第一泛化模块405,用于选择n-1个属性组成n种组合等价类,生成等价类集G={g1,g2,g3,......,gn},其中属性集的长度为n;计算出G中各等价类组存在的等价类数量,并取等价类数据条数计数值最大的子集在属性集中的补集进行泛化,泛化后转入匿名检测模块进行K-匿名检测。
第二泛化模块406,用于采用m个线程计算不同等价类数量,选择m-1个属性组成m种组合的子集,生成等价类集G={g1,g2,g3,......,gm},其中属性集的长度为m;计算出G中各等价类组存在的等价类数量,并取等价类数据条数计数值最大的子集在属性集中的补集进行泛化,泛化后转入匿名检测模块进行K-匿名检测。
数据输出模块407,用于当所有数据集的结果输出后,输出汇总所有数据集的匿名数据集和泛化精确度。
在一种可能的实施方式中,所述泛化的属性值为所有等价类在各自对应的数据项中不包含属性的属性值。
在一种可能的实施方式中,在所述第一泛化模块405和所述第二泛化模块406中,若在泛化过程中等价类数据条数计数值相同、元组中等价类的数量小于K或者不存在等价类,则选择属性值类型计数值最大的属性进行泛化,直至满足K-匿名为止。
基于相同的技术构思,本申请实施例还提供了一种设备,所述设备包括:数据采集装置、处理器和存储器;所述数据采集装置用于采集数据;所述存储器用于存储一个或多个程序指令;所述处理器,用于执行一个或多个程序指令,用以执行如上述任一项所述的方法。
基于相同的技术构思,本申请实施例还提供了一种计算机可读存储介质,所述计算机存储介质中包含一个或多个程序指令,所述一个或多个程序指令用于执行如上述方法任一项所述的方法。
本说明书中上述方法的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。相关之处参见方法实施例的部分说明即可。
需要说明的是,尽管在附图中以特定顺序描述了本发明方法的操作,但这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。
虽然本申请提供了如实施例或流程图的方法操作步骤,但基于常规或者无创造性的手段可以包括更多或者更少的操作步骤。实施例中列举的步骤顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。在实际中的装置或客户端产品执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行(例如并行处理器或者多线程处理的环境,甚至为分布式数据处理环境)。术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、产品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、产品或者设备所固有的要素。在没有更多限制的情况下,并不排除在包括所述要素的过程、方法、产品或者设备中还存在另外的相同或等同要素。
上述实施例阐明的单元、装置或模块等,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。为了描述的方便,描述以上装置时以功能分为各种模块分别描述。当然,在实施本申请时可以把各模块的功能在同一个或多个软件和/或硬件中实现,也可以将实现同一功能的模块由多个子模块或子单元的组合实现等。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内部包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构、类等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,移动终端,服务器,或者网络设备等)执行本申请各个实施例或者实施例的某些部分所述的方法。
本说明书中的各个实施例采用递进的方式描述,各个实施例之间相同或相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。本申请可用于众多通用或专用的计算机系统环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器系统、基于微处理器的系统、置顶盒、可编程的电子设备、网络PC、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等。
以上所述的具体实施例,对本申请的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本申请的具体实施例而已,并不用于限定本申请的保护范围,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

Claims (8)

1.一种多叉树森林K-匿名方法,其特征在于,所述方法包括:
步骤A:判断原始数据集D是否需要分割为n个子数据集;若需要,转入步骤B;若不需要,转入步骤C;
步骤B:将所述原始数据集D按照分割参数分割为n个子数据集D’={d1,d2,d3,...,dn},建立n个线程并行式分别计算n个子数据集,转入步骤C;
步骤C:拷贝目标数据集,对目标数据集进行K-匿名检测;若目标数据集满足K匿名,则将目标数据集添加到匿名数据集中,并输出匿名数据集;若不满足,则检查目标数据集存在的数据条数,若数据条数大于K则转入步骤D,若数据条数小于K,则将剩余的数据泛化为最高层级并添加到匿名数据集,检测匿名数据集是否满足K-匿名,若满足则输出匿名数据集,若不满足,则不进行本次添加;
步骤D:提取出目标数据集所有计数大于K的等价类,将其存入匿名数据集,目标数据集数量等于1的转入步骤E,目标数据集数量大于1的转入步骤F;
步骤E:选择n-1个属性组成n种组合等价类,生成等价类集G={g1,g2,g3,......,gn},其中属性集的长度为n;计算出G中各等价类组存在的等价类数量,并取等价类数据条数计数值最大的子集在属性集中的补集进行泛化,泛化后转入步骤C进行K-匿名检测;
步骤F:采用m个线程计算不同等价类数量,选择m-1个属性组成m种组合的子集,生成等价类集G={g1,g2,g3,......,gm},其中属性集的长度为m;计算出G中各等价类组存在的等价类数量,并取等价类数据条数计数值最大的子集在属性集中的补集进行泛化,泛化后转入步骤C进行K-匿名检测;
步骤G:当所有数据集的结果输出后,输出汇总所有数据集的匿名数据集和泛化精确度。
2.如权利要求1所述的方法,其特征在于,所述泛化的属性值为所有等价类在各自对应的数据项中不包含属性的属性值。
3.如权利要求1所述的方法,其特征在于,在步骤E和步骤F中,若在泛化过程中等价类数据条数计数值相同、元组中等价类的数量小于K或者不存在等价类,则选择属性值类型计数值最大的属性进行泛化,直至满足K-匿名为止。
4.一种多叉树森林K-匿名系统,其特征在于,所述系统包括:
数据集属性判断模块,用于判断原始数据集D是否需要分割为n个子数据集;若需要,转入数据集分割模块;若不需要,转入匿名检测模块;
数据集分割模块,用于将所述原始数据集D按照分割参数分割为n个子数据集D’={d1,d2,d3,...,dn},建立n个线程并行式分别计算n个子数据集,转入匿名检测模块;
匿名检测模块,用于拷贝目标数据集,对目标数据集进行K-匿名检测;若目标数据集满足K匿名,则将目标数据集添加到匿名数据集中,并输出匿名数据集;若不满足,则检查目标数据集存在的数据条数,若数据条数大于K则转入等价类提取模块,若数据条数小于K,则将剩余的数据泛化为最高层级并添加到匿名数据集,检测匿名数据集是否满足K-匿名,若满足则输出匿名数据集,若不满足,则不进行本次添加;
等价类提取模块,用于提取出目标数据集所有计数大于K的等价类,将其存入匿名数据集,目标数据集数量等于1的转入第一泛化模块,目标数据集数量大于1的转入第二泛化模块;
第一泛化模块,用于选择n-1个属性组成n种组合等价类,生成等价类集G={g1,g2,g3,......,gn},其中属性集的长度为n;计算出G中各等价类组存在的等价类数量,并取等价类数据条数计数值最大的子集在属性集中的补集进行泛化,泛化后转入匿名检测模块进行K-匿名检测;
第二泛化模块,用于采用m个线程计算不同等价类数量,选择m-1个属性组成m种组合的子集,生成等价类集G={g1,g2,g3,......,gm},其中属性集的长度为m;计算出G中各等价类组存在的等价类数量,并取等价类数据条数计数值最大的子集在属性集中的补集进行泛化,泛化后转入匿名检测模块进行K-匿名检测;
数据输出模块,用于当所有数据集的结果输出后,输出汇总所有数据集的匿名数据集和泛化精确度。
5.如权利要求4所述的系统,其特征在于,所述泛化的属性值为所有等价类在各自对应的数据项中不包含属性的属性值。
6.如权利要求4所述的系统,其特征在于,在所述第一泛化模块和所述第二泛化模块中,若在泛化过程中等价类数据条数计数值相同、元组中等价类的数量小于K或者不存在等价类,则选择属性值类型计数值最大的属性进行泛化,直至满足K-匿名为止。
7.一种设备,其特征在于,所述设备包括:数据采集装置、处理器和存储器;
所述数据采集装置用于采集数据;所述存储器用于存储一个或多个程序指令;所述处理器,用于执行一个或多个程序指令,用以执行如权利要求1-3任一项所述的方法。
8.一种计算机可读存储介质,其特征在于,所述计算机存储介质中包含一个或多个程序指令,所述一个或多个程序指令用于执行如权利要求1-3任一项所述的方法。
CN202010514315.3A 2020-06-08 2020-06-08 一种多叉树森林k-匿名方法、系统、设备和可读存储介质 Pending CN111695153A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010514315.3A CN111695153A (zh) 2020-06-08 2020-06-08 一种多叉树森林k-匿名方法、系统、设备和可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010514315.3A CN111695153A (zh) 2020-06-08 2020-06-08 一种多叉树森林k-匿名方法、系统、设备和可读存储介质

Publications (1)

Publication Number Publication Date
CN111695153A true CN111695153A (zh) 2020-09-22

Family

ID=72479750

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010514315.3A Pending CN111695153A (zh) 2020-06-08 2020-06-08 一种多叉树森林k-匿名方法、系统、设备和可读存储介质

Country Status (1)

Country Link
CN (1) CN111695153A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112231759A (zh) * 2020-11-20 2021-01-15 深圳前海微众银行股份有限公司 日志脱敏方法、装置、设备及存储介质
US20220343019A1 (en) * 2021-04-26 2022-10-27 Snowflake Inc. Horizontally-scalable data de-identification

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112231759A (zh) * 2020-11-20 2021-01-15 深圳前海微众银行股份有限公司 日志脱敏方法、装置、设备及存储介质
US20220343019A1 (en) * 2021-04-26 2022-10-27 Snowflake Inc. Horizontally-scalable data de-identification
US11501021B1 (en) * 2021-04-26 2022-11-15 Snowflake Inc. Horizontally-scalable data de-identification
US11755778B2 (en) 2021-04-26 2023-09-12 Snowflake Inc. Horizontally-scalable data de-identification
US12086287B2 (en) 2021-04-26 2024-09-10 Snowflake Inc. Horizontally-scalable data de-identification

Similar Documents

Publication Publication Date Title
Gan et al. Privacy preserving utility mining: a survey
Park et al. Parallel computation of skyline and reverse skyline queries using mapreduce
US10402427B2 (en) System and method for analyzing result of clustering massive data
Kim et al. Attribute relationship evaluation methodology for big data security
US20120254089A1 (en) Vector throttling to control resource use in computer systems
US11768825B2 (en) System and method for dependency analysis in a multidimensional database environment
CN111695153A (zh) 一种多叉树森林k-匿名方法、系统、设备和可读存储介质
CN104123504A (zh) 一种基于频繁项检索的云平台隐私保护方法
Satish et al. Big data processing with harnessing hadoop-MapReduce for optimizing analytical workloads
CN115658080A (zh) 一种软件开源代码成分的识别方法及系统
CN109657060B (zh) 安全生产事故案例推送方法及系统
CN110543426A (zh) 一种软件性能风险检测方法及装置
CN112765155B (zh) 基于区块链的键值存储方法、装置、终端设备及介质
Bogdanov et al. Big Data as the future of information technology
CN112445776B (zh) 基于Presto的动态分桶方法、系统、设备及可读存储介质
CN111221690B (zh) 针对集成电路设计的模型确定方法、装置及终端
Peng et al. An integrated feature selection and classification scheme
CN113312410B (zh) 数据图谱的构建方法、数据查询方法及终端设备
CN114780648A (zh) 任务调度方法、装置、计算机设备、存储介质和程序产品
CN111737985B (zh) 一种从文章标题层次结构提取过程体系的方法和装置
CN108304467A (zh) 用于文本间匹配的方法
CN107463845A (zh) 一种sql注入攻击的检测方法、系统和计算机处理设备
CN112131257A (zh) 数据查询方法和装置
CN105260467A (zh) 一种短信分类的方法及装置
CN110008237A (zh) 一种相似查询识别方法及装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
WD01 Invention patent application deemed withdrawn after publication
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20200922