一种基于Skyline的数据泛化方法与流程

文档序号:11293235阅读:178来源:国知局
一种基于Skyline的数据泛化方法与流程
本发明属于隐私保护的数据发布领域,更具体地,涉及一种基于skyline的数据泛化方法。
背景技术
:数字信息时代,各个群体间(例如:政府,企业,个人等)交换和发布数据变得越来越重要。例如,加州的医院一般需要提交一些针对某些康复病人的医疗数据。这些数据包含一些敏感信息,直接发布将泄露个人隐私。l.sweeney提到的“连接攻击”的例子。通过属性(age,sex,zipcode)连接病人信息表和选民信息表可以确定姓名为ahmed患了流感。患者的隐私遭到了泄露。这种数据发布方式是不安全的。因此保护隐私的数据发布被提出。它要求保护隐私的同时最大化数据的可用性。为了保护发布数据的隐私,两种隐私保护模型被提出。一种是控制再识别的风险量,例如,k-匿名。另一种是基于规则的策略,例如安全港协议(safeharbor)。k-匿名是通过泛化、置换和扰动的方式使得同一等价类,其中,同一等价类为具有相同准标识符的记录集合。准标识符虽然本身不能识别个人敏感信息但是和连接另一张包含有标识属性的数据表可以识别个人敏感信息。至少有k个记录。但是,它提供的策略对ru空间覆盖范围很小,不能满足用户多层次的需求,其中,r为风险量,u为信息损失量。健康保险携带和责任法(healthinsuranceportabilityandaccountabilityact,hipaa)提出的safeharbor,要求去除数据表中规定的属性,例如:姓名、电话号码、email地址等。但是,大多数情况safeharbor策略在风险量和信息损失量两个方面表现都较差。隐私保护和数据使用性的平衡越来越受到人们的追求。为满足用户的多层次需求,筛选出较好的隐私策略变得越来越重要。为防止敏感信息再次被识别对准标识符采取的泛化操作,所谓泛化指的是将一个比较具体的属性值用一个更为宽泛的域值取代,即对数据进行更概括和更抽象的描述。例如,年龄21被泛化成[20-30]。对于解决这个问题目前主要存在一些启发式算法。一种是基于海明距离的二分法所搜算法,每一位的选择由权值来决定。这种算法能快速推荐一些较好的策略,但是推荐的准确性不高且推荐策略的范围小。另一种是基于概率的启发式搜索算法,搜索范围扩大覆盖整个ru空间,但是以一定的路径每次选取一定量的策略进行skyline处理,skyline操作是从候选策略中筛选出一系列“感兴趣”的策略,这些“感兴趣”的策略指的是那些不被其他策略“支配”的策略。即要求策略的r值和u值不能都比其他筛选掉的大。由于是近似处理,筛选的误差与初始的策略集合和路径选取有关。同时算法收敛速度较慢。综上所述,现有隐私保护方法存在对ru空间覆盖范围小、不能满足用户多层次的需求、在风险量和信息损失量两个方面表现都较差、准确性不高且推荐策略的范围小以及算法收敛速度较慢等问题。技术实现要素:针对现有技术的缺陷,本发明的目的在于解决现有隐私保护方法对ru空间覆盖范围小、不能满足用户多层次的需求、在风险量r和信息损失量u两个方面表现都较差、准确性不高且推荐策略的范围小以及算法收敛速度较慢的技术问题。为实现上述目的,本发明实施例提供了一种基于skyline的数据泛化方法,包括以下步骤:步骤s101,根据数据发布隐私保护标准10-匿名对数据表处理得到策略的再识别的风险量r记为阈值t,并根据所述准标识符属性的值域和阈值t确定策略空间{s,(r,u)},u为策略的信息损失量,{s,(r,u)}包括的策略的r值不大于阈值t,r≥0,u≥0,t≥0。步骤s102,对所述策略空间{s,(r,u)}采用近似skyline进行过滤得到候选策略空间{g,(r,u)},ε为预设安全参数,ε≥1,近似skyline为将skyline的支配域按预设比例放大,生成近似的支配域,所述预设比例根据ε确定,另外,近似skyline也可记为“ε-近似skyline”。所述支配域为若策略a的r值和u值均大于策略b的r值和u值,则策略a在策略b的支配域中。步骤s103,对所述候选策略空间{g,(r,u)}作skyline操作,得到推荐的策略空间{f,(r,u)},所述{f,(r,u)}是为所述数据表推荐的隐私策略,其中,所述推荐的策略空间包括的每种策略对应对所述数据表信息的一种泛化操作。具体地,为数据表推荐隐私策略,其中,每种隐私策略对应一种数据表信息的泛化方式,通过对数据表信息进行泛化,使得该数据表可以基于推荐的较优的策略实现对用户隐私的很好保护。本发明实施例通过枚举全策略空间提高了策略推荐的准确性,对ru空间的覆盖范围广,满足用户的多层次需求。设定再识别的风险量r的阈值t过滤掉了隐私保护不达要求的策略,降低了策略空间生成的时间,同时也减小了候选策略空间的大小。采用ε-近似-skyline过滤进一步降低了候选策略空间规模,同时通过安全参数ε调节隐私保护和数据适用性之间的平衡。在一个可选的实施例中,步骤s101包括以下子步骤:步骤s101-1,根据数据表的准标识符属性的值域枚举2l个策略,其中,l=r1-1+…+rn-1,所述2l个策略对应n种属性,n≥1,第i个属性对应ri个取值,所述ri个取值对应种策略,1≤i≤n。步骤s101-2,确定2l个策略中每一个策略的r值,在所述2l个策略中将r值大于所述阈值t的策略过滤掉,确定策略集。步骤s101-3,确定所述策略集中每个策略的信息损失量u,根据所述每个策略的r和u值,确定所述策略空间{s,(r,u)}。具体地,枚举全策略空间提高策略推荐的准确性,因为策略推荐是在一个全策略空间2l进行的。在一个可选的实施例中,步骤s102包括以下子步骤:步骤s102-1,对所述数据表的准标识符属性的值域,多次迭代进行二分处理,直至所述准标识符属性的值域无法进行划分,每次迭代对应产生一个策略,多次迭代对应的策略的集合为初始策略集。步骤s102-2,根据所述初始策略集对所述策略空间{s,(r,u)}采用ε-近似skyline进行过滤,将策略空间{s,(r,u)}中的未被所述初始策略集支配的策略归入所述初始策略集,并对所述初始策略集进行更新,将策略空间{s,(r,u)}中的被所述初始策略集支配的策略过滤,同时,将初始策略空间中的被{s,(r,u)}支配的策略过滤。步骤s102-3,根据步骤s102-2对所述策略空间{s,(r,u)}中的策略逐一采用ε-近似skyline进行过滤,当所述策略空间{s,(r,u)}被过滤为空时,此时更新得到的初始策略集为候选策略空间{g,(r,u)}。具体地,通过迭代生成的策略具有很好的支配能力,相应设置一个初始策略集可以有效地过滤策略空间s,提高近似skyline过滤的效率,同时也降低了候选策略空间{g,(r,u)}的规模。在一个可选的实施例中,步骤s103包括以下子步骤:步骤s103-1,对所述候选策略空间{g,(r,u)}进行分块,将每块策略空间对应的数据在其所在的节点进行排序。创建一个记录各块策略空间分配数据的分划文件sky-partition,根据取样率ρ在所述候选策略空间{g,(r,u)}获得样本,将样本排序抽取t-1个作为分点,以根据所述分点对所述候选策略空间{g,(r,u)}进行分块,每块策略空间对应一个数据块;其中,取样率t为数据块的数目,|g|为策略数目。步骤s103-2,确定每块策略空间中最小的r值和最小的u值;步骤s103-3,根据每块策略空间中最小的r值和最小的u值确定skyline集合的策略及所述推荐的策略空间{f,(r,u)}。在一个可选的实施例中,再识别的风险量r和信息损失量u分别通过以下公式确定:其中,p表示等价类的记录分布,p‘表示泛化后的等价类的记录分布,|e'|是等价类e'包含的记录数,且全部等价类e'构成所述p‘,n表示整个数据表的记录数,n≥1,|e*|是等价类e泛化后生成的新的等价类包含平均记录数,所述等价类是指数据表中具有相同准标识符属性的记录集合。具体地,设定阈值t过滤掉了隐私保护不达要求10-匿名的策略,这样大大降低了策略空间s生成的时间,同时也降低了策略空间s的大小。在一个可选的实施例中,所述ε-近似skyline为将skyline的支配域按预设比例放大,生成近似的支配域,所述预设比例根据ε确定,具体包括:若策略a的r和u取值比策略b的r值和u值至多均大ε倍,则策略a以精度ε近似支配策略b,记为a<εb。具体地,近似-skyline过滤进一步降低了候选策略空间{g,(r,u)}的规模,同时通过安全参数ε以调节r值和u值的平衡,其中r值反映隐私保护性能,u值反映数据适用性能。第二方面,本发明实施例提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述第一方面所述的数据泛化方法。总体而言,通过本发明所构思的以上技术方案与现有技术相比,具有以下有益效果:1、本发明实施例通过枚举全策略空间提高了策略推荐的准确性,对ru空间的覆盖范围广,满足用户的多层次需求。2、本发明实施例通过设定再识别的风险量r的阈值t过滤掉了隐私保护不达要求的策略,降低了策略空间生成的时间,同时也减小了候选策略空间的大小。3、本发明实施例采用ε-近似-skyline过滤进一步降低了候选策略空间规模,同时通过安全参数ε调节隐私保护和数据适用性之间的平衡。附图说明图1为本发明实施例提供的一种基于skyline的数据泛化方法流程示意图;图2为本发明实施例提供的另一种基于skyline的数据泛化方法流程示意图;图3为本发明实施例提供的一种ε-近似skyline对应的支配域示意图。具体实施方式为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。图1为本发明实施例提供的一种基于skyline的数据泛化方法流程示意图,包括步骤s101至步骤s103。步骤s101,根据数据发布隐私保护标准10-匿名对数据表处理得到策略的再识别的风险量r记为阈值t,并根据所述准标识符属性的值域和阈值t确定策略空间{s,(r,u)},u为策略的信息损失量,{s,(r,u)}包括的策略的r值不大于阈值t。具体地,步骤s101包括以下子步骤:步骤s101-1,根据数据表的准标识符属性的值域枚举2l个策略,其中,l=r1-1+…+rn-1,所述2l个策略对应n种属性,第i个属性对应ri个取值,所述ri个取值对应种策略,1≤i≤n。具体地,根据数据表的准标识符属性的值域枚举所有的策略,枚举所有的策略按照如下方式:假设q={q1,l,qn}是一个准标识符属性集,且属性qi值域有ri值。通过用一个二进制字符串表示去识别化策略,令pi表示属性qi值域的划分,则集合{p1,…,pn}是一个去识别化策略。其中,pi={i1,…,iri-1},ij表示属性qi的第j值和第j+1值分开。可以得到字符串的长度l=r1-1+…+rn-1。枚举全部的2l个策略。在一个示例中,执行步骤s101-1之前,该方法还包括:对所述数据表的准标识符属性的值域进行10-匿名处理,将10-匿名处理对应的再识别的风险量r值作为所述阈值t,所述阈值t用于对所述数据表进行隐私保护,所述10-匿名处理为所述2l个策略中的一种策略,10-匿名处理根据现有的数据发布隐私保护标准确定。步骤s101-2,确定2l个策略中每一个策略的r值,在所述2l个策略中将r值大于所述阈值t的策略过滤掉,确定策略集。步骤s101-3,确定所述策略集中每个策略的信息损失量u,根据所述每个策略的r和u值,确定所述策略空间{s,(r,u)}。步骤s102,对所述策略空间{s,(r,u)}采用ε-近似skyline进行过滤得到候选策略空间{g,(r,u)},ε为预设安全参数,ε-近似skyline为将skyline的支配域按预设比例放大,生成近似的支配域,所述预设比例根据ε确定;所述支配域为若策略a的r值和u值均大于策略b的r值和u值,则策略a在策略b的支配域中。在一个可选的实施例中,ε-近似skyline为将skyline的支配域按预设比例放大,生成近似的支配域,所述预设比例根据ε确定,具体包括:若策略a的r和u取值比策略b的r值和u值至多均大ε倍,则策略a以精度ε近似支配策略b,记为a<εb。步骤s103,对所述候选策略空间{g,(r,u)}作skyline操作,得到推荐的策略空间{f,(r,u)},所述{f,(r,u)}是为所述数据表推荐的隐私策略。推荐的策略空间{f,(r,u)}包括的每种策略对应对所述数据表信息的一种泛化操作。具体地,步骤s102包括以下子步骤:步骤s102-1,对所述数据表的准标识符属性的值域,多次迭代进行二分处理,直至所述准标识符属性的值域无法进行划分,每次迭代对应产生一个策略,多次迭代对应的策略的集合为初始策略集。步骤s102-2,根据所述初始策略集对所述策略空间{s,(r,u)}采用ε-近似skyline进行过滤,将策略空间{s,(r,u)}中的未被所述初始策略集支配的策略归入所述初始策略集,并对所述初始策略集进行更新,将策略空间{s,(r,u)}中的被所述初始策略集支配的策略过滤,同时,将初始策略空间中的被{s,(r,u)}支配的策略过滤。步骤s102-3,根据步骤s102-2对所述策略空间{s,(r,u)}中的策略逐一采用ε-近似skyline进行过滤,当所述策略空间{s,(r,u)}被过滤为空时,此时更新得到的初始策略集为候选策略空间{g,(r,u)}。具体地,步骤s103包括以下子步骤:步骤s103-1,对所述候选策略空间{g,(r,u)}进行分块,将每块策略空间对应的数据在其所在的节点进行排序。创建一个记录各块策略空间分配数据的分划文件sky-partition,根据取样率ρ在所述候选策略空间{g,(r,u)}获得样本,将样本排序抽取t-1个作为分点,以根据所述分点对所述候选策略空间{g,(r,u)}进行分块,每块策略空间对应一个数据块;其中,取样率t为数据块数目,|g|为策略数目。步骤s103-2,确定每块策略空间中最小的r值和最小的u值。步骤s103-3,根据每块策略空间中最小的r值和最小的u值确定skyline集合的策略及所述推荐的策略空间{f,(r,u)}。在一个示例中,步骤s103-3具体包括:先计算策略p的min_u_lowkey(p)和min_u_key_lowr(p),其中,min_u_lowkey(p)为在策略p前面的数据块的最小的u值,min_u_key_lowr(p)为在策略p所在的数据块,排在策略前面策略的最小的u值。然后比较策略p的u值u(p),只有当u(p)<min_u_lowkey(p)且u(p)<min_u_key_lowr(p)时,才将策略p输出。步骤4对策略空间{g,(r,u)}作skyline操作,得到推荐的策略集f并输出。具体地,步骤s103-1至步骤s103-3又可划分为以下4个阶段:sky-partition创建阶段:创建一个记录各节点分配数据的分划文件,记着sky-partition。根据取样率ρ获得样本,将样本排序抽取t-1个作为分点。局部排序阶段:在reduce阶段依据分点将数据文件划分,每个节点分别对本节点上的数据排序。hashmap创建阶段:创建每个节点最小的r值和最小的u值对应表,记着hashmap。全局筛选阶段:在reduce阶段依据hashmap对数据记录逐条筛选。输出skyline集合的策略及其r值和u值。在一个可选的示例中,再识别的风险量r和信息损失量u分别通过以下公式(1)和公式(2)确定:其中,p表示等价类的记录分布,p‘表示泛化后的等价类的记录分布,|e'|是等价类e'包含的记录数,且全部等价类e'构成所述p‘,n表示整个数据表的记录数,|e*|是等价类e泛化后生成的新的等价类包含平均记录数,所述等价类是指数据表中具有相同准标识符属性的记录集合。本发明实施例通过枚举全策略空间提高了策略推荐的准确性,对ru空间的覆盖范围广,满足用户的多层次需求。设定再识别的风险量r的阈值t过滤掉了隐私保护不达要求的策略,降低了策略空间生成的时间,同时也减小了候选策略空间的大小。采用ε-近似-skyline过滤进一步降低了候选策略空间规模,同时通过安全参数ε调节隐私保护和数据适用性之间的平衡。图2为本发明实施例提供的另一种基于skyline的数据泛化方法流程示意图,包括步骤s201至步骤s206。步骤s201,输入数据表d及参数ε。输入数据表d及安全参数ε,ε表示用户自定义的安全参数,ε≥1。例如,表1为本发明实施例提供的一种(原始)数据表,具体如下表所示:等价类记录数42|male|white|46542|female|white|16843|male|white|46843|female|white|16344|male|white|44444|female|white|150表1其中,属性age、gender、race构成准标识符属性,age取值[42,44],gender取值{femal,male},race取值{white}。在数据表中具有相同准标识符属性的记录集合为一个等价类,例如在表1中,等价类“42|male|white|”具有465条记录。步骤s202,计算隐私保护的阈值t。对数据表d作10-匿名处理,根据公式(1)求得其r值作为隐私保护的阈值t。步骤s203,枚举所有的策略,在枚举的策略中过滤r值大于阈值t的策略,计算剩余策略的r值和u值,生成策略空间{s,(r,u)}。根据上述表1的准标识符属性的值域可以确定策略长度为l=2+1,其中,根据表1可知,属性n为3种,属性age取值有3个,属性gender取值有2个,属性race取值为1个,故l=r1-1+…+rn-1=3-1+2-1+1-1=3。具体地,根据属性age取值为42、43或44可知,可将age取值泛化为[42-44];[42-43]、[44];[42]、[43-44];[42]、[43]、[44]这四种情况,可通过2个比特位表示属性age的这四种(22)泛化情况。同样地,可通过1个比特位表示属性gender的两种(21)泛化情况。而属性race的泛化情况通过0个比特位表示,对应仅有一种(20)泛化情况。所述2l个策略对应n种属性,第i个属性对应ri个取值,所述ri个取值对应种策略,1≤i≤n。枚举如表2所示共8个策略。根据公式(1)和公式(2)分别计算每一个策略的r值和u值。策略000001010011100101110111r0.0210.1110.0980.1540.0950.4900.1701u0.12180.00040.12130.00000.12160.00030.12130表2在一个示例中,策略000对应的r值和u值的计算过程如下:其中,其余七个策略的计算类似,得到如表2的结果。步骤s204,对策略空间{s,(r,u)}采用ε-近似skyline进行过滤得到候选策略空间{g,(r,u)}。在一个示例中,图3为本发明实施例给出的一种ε-近似skyline对应的支配域示意图。如图3所示,策略1、策略2以及策略3为初始策略集合,表示区域为策略1、策略2以及策略3对应的支配域,表示ε-近似skyline进行过滤时,策略1、策略2以及策略3对应的近似支配域。表3为当ε取值为1时,确定的候选策略集合{g,(r,u)}。策略000001010011100101111r0.0210.1110.0980.1540.0950.4901u0.12180.00040.12130.00000.12160.00030表3其中,初始策略集中的策略包括表2中的加粗部分,如策略“100”、策略“101”以及策略“110”。将表2中的所有策略与初始策略集中的策略比较,同时更新初始策略集中的策略。如此迭代进行下去,策略000、001、010、011、100、101保留,由于r(110)>r(001),u(110)>u(001),则策略110过滤掉。相应地,策略111保留。经过过滤后的结果如上述表3所示。步骤s205,对候选策略空间{g,(r,u)}进行skyline,得到推荐策略集f具体地,表4为待处理的数据g,假设reducer的个数取值2,则取样率假设样本为{001;010;111},排序得{010;001;111}。001作为唯一的分点记入sky-partition文件。表4在第三轮的shuffle阶段如表4所示,数据被分成2块{000;100;010}和{001;101;011;111}。在reduce阶段每块最小的r被作为key值,第一块{000;100;010}的key值是0.021,第二块{001;101;011;111}的key值是0.111。{0.021;0.1213}和{0.111;0}分别是第一块和第二块对应的记录记入hashmap。如表5所示,为处理每个策略,在reduce阶段依据hashmap对数据记录逐条筛选。策略keyrumin_u_lowerkeymin_u_key_lowerrskyline0000.0210.0210.1218++y1000.0210.0950.1216+0.1218y0100.0210.0980.1213+0.1216y0010.1110.1110.00040.1213+y1010.1110.4900.00030.12130.0004y0110.1110.5140.00000.12130.0003y1110.111100.12130.0000y表5以策略000为例。首先计算小于key(000)=0.021最小的u值,min_u_lowkey(000)=+。表示此值可以任意大,由于不存在小于0.021的策略。其次,计算key等于key(000)=0.021的r值小于r(000)=0.021中策略最小的u值,min_u_key_lowr(000)=+。表示此值可以任意大,由于在第一块中000的r值最小。最后,因为u(000)=0.1218<min_u_lowkey(000)=+,且u(000)=0.1218<min_u_key_lowr(000)=+。策略000属于skyline集合。其他七个策略类似处理,表6是最终策略skyline集合。表6步骤s206,输出{f,(r,u)}及策略对应的泛化。具体地,输出表6所示的策略,及每个策略对应的泛化。表6所示的策略为数据表d推荐的隐私策略。例如,输出策略“000”,策略“000”对应的泛化为:将年龄在42-44泛化为取值[42,44],将gender为femal或male,泛化为[femal,male]。如策略“111”对应的泛化为:将年龄在42-44泛化为取值[42]、[43]以及[44],将gender为femal或male泛化为femal]和[male]。本发明实施例提供的方案能够满足用户对隐私保护和数据可用性的多层次需求,同时可以应对隐私策略的数量呈指数级增长的情况,并且可以在保证数据精度的前提下,大大降低候选策略集的规模。专业人员应该还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。本领域普通技术人员可以理解实现上述实施例方法中的全部或部分步骤是可以通过程序来指令处理器完成,所述的程序可以存储于计算机可读存储介质中,所述的存储介质是非短暂性(non-transitory)介质,例如随机存取存储器,只读存储器,快闪存储器,硬盘,固态硬盘,磁带(magnetictape),软盘(floppydisk),光盘(opticaldisc)及其任意组合。以上,仅为本申请较佳的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本
技术领域
的技术人员在本申请揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应该以权利要求的保护范围为准。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1