书签 分享 收藏 举报 版权申诉 / 12

一种增量发布流式生物数据的隐私保护算法.pdf

  • 上传人:a****
  • 文档编号:6105545
  • 上传时间:2019-04-12
  • 格式:PDF
  • 页数:12
  • 大小:681.52KB
  • 摘要
    申请专利号:

    CN201610876548.1

    申请日:

    2016.10.08

    公开号:

    CN106570412A

    公开日:

    2017.04.19

    当前法律状态:

    授权

    有效性:

    有权

    法律详情:

    授权|||实质审查的生效IPC(主分类):G06F 21/62申请日:20161008|||公开

    IPC分类号:

    G06F21/62(2013.01)I

    主分类号:

    G06F21/62

    申请人:

    徐州医科大学

    发明人:

    吴响; 俞啸; 魏裕阳; 林童; 王换换

    地址:

    221004 江苏省徐州市铜山路209号

    优先权:

    专利代理机构:

    南京钟山专利代理有限公司 32252

    代理人:

    李小静

    PDF完整版下载: PDF下载
    内容摘要

    本发明公开了一种增量发布流式生物数据的隐私保护算法,涉及匿名隐私保护技术领域。本发明是基于k‑匿名模型,取出流式生物数据中最早到达的元组s插入到临时存储元组的集合Setw中,等待发布,再判断Setw中等待时间最长的元组与时延约束δ的关系从而采取相应对策。该算法利用时延约束的思想,有效地控制了流式生物数据增量匿名发布时的信息损失。实验表明:该算法能够有效地匿名化流式生物数据,同时,保证了发布的生物数据具有较高可用性。本算法在处理流式生物数据具有显著优势。

    权利要求书

    1.一种增量发布流式生物数据的隐私保护算法,其特征在于:输入:流式生物数据集S;
    已发布数据集A;时延约束δ;已发布数据集A的平均距离AD;已发布数据集A的聚类结果m个
    簇(n1,n2,...,nm),其中,任意ni与nj不包含相同的元组,且任意一个元组簇ni中包含元组的
    数量为2或者3,已发布数据集A中的元组均存在于这m个簇中;输出:更新后的匿名表A';具
    体步骤如下:
    1)首先,设有空集合Setw用来存放等待发布的数据;
    2)当数据集S非空时,取出流式生物数据集S中ts值最小的元组s,将其插入到Setw中,ts
    为元组达到收集方的时间;
    3)若空集合Setw中元组个数不大于δ,则执行步骤4);若Setw中元组个数大于δ,则执行
    步骤6);
    4)找到空集合Setw内距元组s最近的序列r,计算出r和s的距离dist(r,s);
    5)如果,dist(r,s)小于已发布数据集A的平均距离AD时,从空集合Setw取出元组r和s形
    成的簇放入已发布数据集A中,并泛化r和s,然后执行步骤7);否则,直接执行步骤7);
    6)获取空集合Setw中ts最小的元组a,找到数据集A中距离a最近的序列b,将a添加到含b
    的元组簇ni中;针对新形成的元组簇ni所含元素个数的不同,采取相应处理方式:若此时的
    ni中元组个数为3时,则泛化ni;若ni中元组个数为4,则把ni划分为元素个数相等的g和h两
    个簇,并确保两个分组的内部元素距离之和最小,然后泛化g和h;
    7)跳转到步骤2),直到流式生物数据集S为空;
    8)得到更新后的匿名表A'。

    说明书

    一种增量发布流式生物数据的隐私保护算法

    技术领域

    本发明涉及数据发布中的匿名隐私保护技术领域,具体是一种增量发布流式生物
    数据的隐私保护算法。

    背景技术

    随着DNA测序技术的发展,DNA测序成本迅速下降,“人类基因组计划”得以完成。在
    此之后,大量以基因数据为主体的生物数据仍然不间断地产生,而这些生物数据通过分享
    被广泛应用于医学研究和临床诊断。当不同来源的动态生物数据以数据流的形式到达收集
    方后,该数据会被及时更新到已发布的数据集中。然而,生物数据的发布具有潜在的隐私泄
    露问题,容易造成数据提供者身份被识别。这将会阻碍生物数据的分享,导致生物数据难以
    被提供于医学研究。因此,生物数据在发布时应避免提供者身份被识别,进行合理的隐私保
    护。

    目前,针对于生物数据隐私保护的方法主要为基于图2中的DNA泛化格的k-匿名算
    法——DNALA算法,该算法直接对基因组序列进行泛化操作,使发布的生物数据表满足2-匿
    名。在DNALA中,Malin已经证明了如果k>2,则匿名后的基因组数据容易造成过度泛化,使发
    布的数据集具有较低的效用。为保留数据的可用性,DNALA算法尽可能保证序列聚合成两两
    一组的簇,然后对每个簇进行泛化,使每个簇中基因组具有相同的碱基序列。由于DNALA算
    法在处理数据时形成少量的包含三个元组的簇,故DNALA保证了满足2-匿名的同时保留了
    数据的可用性。但是,DNALA算法是一种处理静态生物数据的算法,该算法处理动态数据的
    增量发布需要花费大量的时间,无法使新到达的生物数据及时发布。基于此,Li提出了
    Hybrid算法,该算法可以及时匿名并发布流式生物数据,但是Hybrid算法往往会形成大量
    包含三个基因组的簇,导致发布的数据集可用性较低。

    发明内容

    为了克服上述现有技术的缺点,本发明提供一种增量发布流式生物数据的隐私保
    护算法,大幅度提升发布的DNA数据集的实用性,使其具有较高的挖掘价值。

    本发是以如下技术方案实现的:一种增量发布流式生物数据的隐私保护算法,输
    入:流式生物数据集S;已发布数据集A;时延约束δ;已发布数据集A的平均距离AD(Average
    Distance);已发布数据集A的聚类结果m个簇(n1,n2,...,nm),其中,任意ni与nj不包含相同
    的元组,且任意一个元组簇ni中包含元组的数量为2或者3,已发布数据集A中的元组均存在
    于这m个簇中;输出:更新后的匿名表A';具体步骤如下:

    1)首先,设有空集合Setw用来存放等待发布的数据;

    2)当数据集S非空时,取出流式生物数据集S中ts值最小的元组s,将其插入到Setw
    中,ts为元组达到收集方的时间;

    3)若空集合Setw中元组个数不大于δ,则执行步骤4);若Setw中元组个数大于δ,则
    执行步骤6);

    4)找到空集合Setw内距元组s最近的序列r,计算出r和s的距离dist(r,s);

    5)如果,dist(r,s)小于已发布数据集A的平均距离AD时,从空集合Setw取出元组r
    和s形成的簇放入已发布数据集A中,并泛化r和s,然后执行步骤7);否则,直接执行步骤7);
    6)获取空集合Setw中ts最小的元组a,找到数据集A中距离a最近的序列b,将a添加到含b的
    元组簇ni中;针对新形成的元组簇ni所含元素个数的不同,采取相应处理方式:若此时的ni
    中元组个数为3时,则泛化ni;若ni中元组个数为4,则把ni划分为元素个数相等的g和h两个
    簇,并确保两个分组的内部元素距离之和最小,然后泛化g和h;

    7)跳转到步骤2),直到流式生物数据集S为空;

    8)得到更新后的匿名表A'。

    本发明的有益效果是:能够对生物数据有效的隐私保护,克服现存Hybrid算法匿
    名流式生物数据容易造成过度泛化的缺陷,发布更加精确的数据集,大幅度提高发布生物
    数据集的可用性。

    附图说明

    图1是本发明流程框图;

    图2为DNALA算法下的DNA泛化格示意图;

    图3为多序列比对机制(MSA)和两两序列比对机制(PSA)示意图;

    图4为Hybrid算法下新到达的生物数据更新到已发布数据集中的示例图;

    图5为NSPSGD算法下新到达的生物数据更新到已发布数据集中的示例图;

    图6a为数据集I,δ=40时NSPSGD算法与Hybrid算法匿名效果的对比;

    图6b为数据集II,δ=40时NSPSGD算法与Hybrid算法匿名效果的对比;

    图6c为数据集III,δ=80时NSPSGD算法与Hybrid算法匿名效果的对比;

    图7a为数据集I,平均距离与时延δ及发布数据量之间的函数关系;

    图7b为数据集II,平均距离与时延δ及发布数据量之间的函数关系;

    图7c为数据集III,平均距离与时延δ及发布数据量之间的函数关系。

    具体实施方式

    本发明主要提出了一种增量发布流式生物数据的隐私保护算法,以下为本发明使
    用到的k-匿名概念以及流式基因组数据的概念。

    定义1 k-匿名模型:发布的数据集中每条记录至少具有k-1不可区分记录,则发布
    的数据集满足k-匿名。根据这一原则,k-匿名模型确保重新确定一个人在公布的数据集的
    概率不超过1/k。具体参考表1处理结果。表1为原数据集及其k-匿名的转换示意图。其中年
    龄和性别的属性已被泛化,并且表中最后一个条目被抑制。从表中可以看出,变换后的数据
    集满足2-匿名。

    表1



    定义2流式基因组数据的k-匿名:假设S为一个具有属性AS=(pid,DNA sequence,
    ts)的流式基因组数据集,其中pid标志个人序列号、DNA为基因序列,ts为S中元组的到达时
    间。假设S'为S匿名后的数据,则S'中不包含pid、ts属性。若S'满足k-匿名,则需满足一下条
    件:

    (1)对于t'由t泛化而得,

    (2)对于|EQ(t')|≥k,所有EQ(t')中的元组和t'相同,并且|EQ(t')|代表
    |EQ(t')|的数目,那么我们将S'命名为一个满足k-匿名的流式基因数据集。例如表2所示,
    表格中左边的数据集为原始流式基因数据,右边的数据则是匿名后满足2-匿名的数据集。
    其中pid为3201和3202的元组为一个EQ(t'),此时|EQ(t')|=2。

    表2


    定义3延迟约束δ:设P是一个动态基因组数据集的匿名计划,如果由P输出的满足
    k-匿名的数据集S'满足:t'.ts-t.ts<δ。其中,t是S中与t'相对应的元组,δ为一个
    给定的实数且δ>0。那么,我们称P满足时延约束δ。

    针对现存的DNALA算法和Hybrid算法处理动态基因数据的缺陷,我们提出了一种
    改进的k-匿名算法。首先,DNALA是一种静态基因组数据,其处理动态序列花费时间较长。其
    次,在DNALA中,已证明对包含三个元组的聚簇进行泛化时容易造成过度泛化,降低数据的
    可用性,而Hybrid算法在处理动态生物数据时会形成大量包含三元组的簇,造成数据集的
    过度泛化。为解决这一问题,本发明中的算法尽可能地使得元组两两聚合成簇并进行泛化,
    使匿名后的数据表在满足k=2的同时,聚合更多的包含两元组的簇。

    如图1所示,基于以上所说,一种增量发布流式生物数据的隐私保护算法(NSPSGD
    算法),输入:流式生物数据集S;已发布数据集A;时延约束δ;已发布数据集A的平均距离AD
    (Average Distance);已发布数据集A的聚类结果m个簇(n1,n2,...,nm),其中,任意ni与nj不
    包含相同的元组,且任意一个元组簇ni中包含元组的数量为2或者3,已发布数据集A中的元
    组均存在于这m个簇中;输出:更新后的匿名表A';具体步骤如下:

    1)首先,设有空集合Setw用来存放等待发布的数据;

    2)当数据集S非空时,取出流式生物数据集S中ts值最小的元组s,将其插入到Setw
    中,ts为元组达到收集方的时间;

    3)若空集合Setw中元组个数不大于δ,则执行步骤4);若Setw中元组个数大于δ,则
    执行步骤6);

    4)找到空集合Setw内距元组s最近的序列r,计算出r和s的距离dist(r,s);

    5)如果,dist(r,s)小于已发布数据集A的平均距离AD时,从空集合Setw取出元组r
    和s形成的簇放入已发布数据集A中,并泛化r和s,然后执行步骤7);否则,直接执行步骤7);
    6)获取空集合Setw中ts最小的元组a,找到数据集A中距离a最近的序列b,将a添加到含b的
    元组簇ni中;针对新形成的元组簇ni所含元素个数的不同,采取相应处理方式:若此时的ni
    中元组个数为3时,则泛化ni;若ni中元组个数为4,则把ni划分为元素个数相等的g和h两个
    簇,并确保两个分组的内部元素距离之和最小,然后泛化g和h;

    7)跳转到步骤2),直到流式生物数据集S为空;

    8)得到更新后的匿名表A'。

    由以上步骤可知,NSPSGD算法的步骤2)取出S中最早到达的元组s,并将其插入一
    个等待发布的临时存储集合Setw。步骤3)判断Setw中是否有数据等待时间超过了时延。步骤
    4)~步骤5)判断如果Setw中元组数小于δ,则Setw中最先到达的等待时长不超过δ。从Setw找
    到离s最近的元组r,计算r和s的间距dist(r,s)。如果dist(r,s)小于AD,把r和s组成的簇更
    新到A中,这一步确保了已发布数据集新增簇时,不会增大其信息损失量。步骤6)如果Setw
    数目不小于δ,则Setw中最先到达的a的等待时长已经超过了给定的时延,取出元组a,在A中
    找到离其最近的元组b,将a插入到包括b的簇中,这一步确保了所有的序列都将被发布。如
    果a插入后的簇包括四个序列,将其分成两个小簇,使每个簇中仅包含两个元组,然后泛化
    这些序列;而新组成的簇包括三个序列时,则直接泛化这些序列。

    图3为多序列比对机制(MSA)和两两序列比对机制(PSA)示意图;虽然NSPSGD算法
    不能确保在发布的数据集中每个簇中只含有两个基因组,但通过时延约束,可以有效地减
    少包含三个元组的簇的形成,使发布的数据集具有较高的可用性,同时,保证了基因数据的
    安全性,防止个人隐私的泄露。由此可知NSPSGD算法比Hybrid算法匿名的流式基因数据具
    有更小的信息损失。图5是NSPSGD算法处理流式数据的例图,图4是Hybrid算法处理流式数
    据的例图。由图可知,图5中包含三序列的簇的个数比图4少,因此,NSPSGD算法具有更高的
    精确度。

    实验验证及结果分析

    实验数据集及环境:为了评估NSPSGD算法,并测试其在处理最新到达基因数据时
    的表现,实验使用来自NCBI的三个数据集,分别包含元组个数为:327、540和711。详情如表3
    所示。为模拟大数据流,实验将这些数据的1/3作为静态处理数据集,采用Hybrid和其他
    MWM-based算法对其进行匿名处理。此后将剩下的2/3作为动态更新数据,并通过NSPSGD算
    法进行动态匿名化处理。

    表3


    测试NSPSGD算法的实验平台配置如下:AMD Athlon(tm)II 2.1GHz CPU/4GB内存,
    Window 10系统。以下所得实验数据均为在运行10次实验的基础上取其结果的平均值。

    实验结果分析

    图6a、图6b以及图6c为平均距离随流基因序列更新数量的变化情况。从图6a中可
    以看出,NSPSGD算法处理后形成的平均距离小于Hybrid算法,且NSPSGD算法隐匿的数据平
    均距离不断缩减,Hybrid算法总体呈现曲折下降。在这个过程中,Hybrid算法泛化产生了许
    多三序列簇,从而导致平均距离增大,而NSPSGD算法可以找到一些Setw中适当的二序列簇
    使得平均距离减小。因此,被NSPSGD算法隐匿的数据相比于Hybrid算法的处理结果具有更
    小的平均距离和IL。图6b和图6c也显示了相同结论:在处理流式数据时,NSPSGD算法比
    Hybrid算法有更高的精度。

    图7a、图7b以及图7c主要展现NSPSGD算法本身所具有的参数与效果之间的评估,
    图中数据表示平均距离与发布序列量及时延δ之间的函数关系。从中可以看出普遍规律,随
    着时延的增大,在同一更新数据量的情况下,平均距离随之减小的。

    综上所述,相比于Hybrid算法,NSPSGD算法整体性能更优。同时,实验结果表明该
    算法遵循一般规则:在整个过程中抑制阈值越大,信息损失得越少。它能够保留Hybrid算法
    的特点,对生物数据进行有效的隐私保护,克服现存的Hybrid算法生成大量三序列聚类的
    缺陷,发布更多精确的数据集,同时缩短匿名增量流式生物数据的时间,使得发布的生物数
    据集的实用性大大增强。

    关 键  词:
    一种 增量 发布 生物 数据 隐私 保护 算法
      专利查询网所有文档均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    0条评论

    还可以输入200字符

    暂无评论,赶快抢占沙发吧。

    关于本文
    本文标题:一种增量发布流式生物数据的隐私保护算法.pdf
    链接地址:https://www.zhuanlichaxun.net/p-6105545.html
    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2017-2018 zhuanlichaxun.net网站版权所有
    经营许可证编号:粤ICP备2021068784号-1