CN110968612B - 键值对数据的收集方法和装置 - Google Patents

键值对数据的收集方法和装置 Download PDF

Info

Publication number
CN110968612B
CN110968612B CN201811161746.5A CN201811161746A CN110968612B CN 110968612 B CN110968612 B CN 110968612B CN 201811161746 A CN201811161746 A CN 201811161746A CN 110968612 B CN110968612 B CN 110968612B
Authority
CN
China
Prior art keywords
data
value
key
disturbance
key value
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.)
Active
Application number
CN201811161746.5A
Other languages
English (en)
Other versions
CN110968612A (zh
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.)
Huawei Technologies Co Ltd
Hong Kong Polytechnic University HKPU
Original Assignee
Huawei Technologies Co Ltd
Hong Kong Polytechnic University HKPU
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 Huawei Technologies Co Ltd, Hong Kong Polytechnic University HKPU filed Critical Huawei Technologies Co Ltd
Priority to CN201811161746.5A priority Critical patent/CN110968612B/zh
Priority to PCT/CN2019/108900 priority patent/WO2020063946A1/zh
Priority to EP19864528.5A priority patent/EP3779722A4/en
Publication of CN110968612A publication Critical patent/CN110968612A/zh
Priority to US17/108,780 priority patent/US11615099B2/en
Application granted granted Critical
Publication of CN110968612B publication Critical patent/CN110968612B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2458Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/28Databases characterised by their database models, e.g. relational or object models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2365Ensuring data consistency and integrity

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Fuzzy Systems (AREA)
  • Mathematical Physics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Computational Linguistics (AREA)
  • Computer Security & Cryptography (AREA)
  • Complex Calculations (AREA)

Abstract

本申请提供了一种键值对数据的发送方法、收集方法和装置,该方法通过将第一目标键值对数据扰动为第一扰动键值对数据,其中第一扰动键值对数据按照预设概率随机取值为或者<b,v>,以便数据收集者在生成统计结果的过程中,可以基于第一扰动键值对数据中第一值的取值a或b,确定第一扰动键值对数据整体是否计入统计结果。如此,使得第一扰动键值对数据保留键值对数据中值和键之间的关联性,有利于提高第一扰动键值对数据的可用性,即使得数据收集者基于第一扰动键值对数据生成的统计结果,与原本基于原始的用户键值对数据生成的统计结果更加接近。

Description

键值对数据的收集方法和装置
技术领域
本申请涉及信息安全技术领域,并且更具体地,涉及键值对数据的收集方法和装置。
背景技术
用户(user)可以通过用户设备(user equipment,UE),将各自的用户数据上报至数据收集者(data collector),以便数据收集者结合用户设备上报的用户数据进行数据统计,以支持一些特殊的数据挖掘任务。例如,全国的大型医院作为用户设备将各自的诊断数据上报至数据收集者之后,研究组可以从数据收集者的统计结果,建立特殊病例的传播模型等。
在上述数据收集者收集用户数据的过程中,为了保护用户的隐私,可以采用本地化差分隐私(local differential privacy,LDP)技术,由用户设备对需要上报的数据进行扰动,再将扰动之后的数据上报至数据收集者,数据收集者采用特定的算法基于扰动之后的数据进行统计,获取统计结果。该特定的算法可以保证基于扰动之后的数据的统计结果与基于未扰动的数据(即原始数据)的统计结果近似,如此,由于数据收集者不用收集用户设备的原始数据,那么攻击者在数据收集者处获得每个用户的原始数据的可能性降到最小。
目前,本地化差分隐私机制主要是针对数值型数据或者离散型数据进行扰动的,然而,随着键值型(key-value,KV)数据的广泛应用,考虑到键值对数据的每个键值对(KVpair)中同时包含离散型数据(即键(key))和数值型数据(即值(value)),因此,亟需一种针对键值对数据的本地化差分隐私技术,在对键和值进行扰动的同时保证键和值之间的关联关系。
发明内容
本申请提供一种键值对数据的收集方法和装置,在对键值对数据进行扰动的过程中,保证键值对数据中键和值之间的关联关系。
第一方面,提供了一种用户键值对数据的收集方法,包括:获取第一目标键值对数据<k1,v1>,其中k1为所述第一目标键值对数据中键的取值,v1为所述第一目标键值对数据中值的取值;向数据收集者发送对所述第一目标键值对数据进行扰动后得到的第一扰动键值对数据其中,所述第一扰动键值对数据/>按照预设概率随机取值为/>或者<b,v>,/>是通过对v1进行扰动得到,a,b,v均为预设数值,且a,b为两个不相同的数值。
上述第一扰动键值对数据取值为/>时,即第一扰动键值对数据的第一值/>取值为a,表示第一扰动键值对数据为有效数据,该第一扰动键值对数据中的第一值以及第二值/>计入数据收集者生成的统计结果。
上述第一扰动键值对数据取值为<b,v>时,即第一扰动键值对数据的第一值/>取值为b,表示第一扰动键值对数据为无效数据,或者说,此时可以认为第一扰动键值对数据为空值,即用户设备并未记录键值对数据。该第一扰动键值对数据中的第一值/>以及第二值/>不计入数据收集者生成的统计结果。例如,上述<b,v>可以为<0,0>。
在本申请实施例中,通过将第一目标键值对数据扰动为第一扰动键值对数据,其中第一扰动键值对数据按照预设概率随机取值为或者<b,v>,以便数据收集者在生成统计结果的过程中,可以基于第一扰动键值对数据中第一值的取值a或b,确定第一扰动键值对数据整体是否计入统计结果。如此,使得第一扰动键值对数据保留键值对数据中值和键之间的关联性,有利于提高第一扰动键值对数据的可用性,即使得数据收集者基于第一扰动键值对数据生成的统计结果,与原本基于原始的用户键值对数据生成的统计结果更加接近。
在一种可能的实现方式中,所述第一扰动键值对数据按照预设概率随机取值为/>或者<b,v>,包括:根据隐私预算参数ε1通过第一差分隐私模型,对所述第一目标键值对<k1,v1>进行扰动,以获得所述第一扰动键值对数据/>其中,所述第一差分隐私模型为/>
在一种可能的实现方式中,所述获取第一目标键值对数据<k1,v1>,包括:从第一键集合中选择目标键,所述第一键集合包含所述数据收集者待收集的键值对数据的键;在所述目标键属于第二键集合的情况下,从所述用户设备记录的键值对数据中选择包含所述目标键的键值对数据作为所述第一目标键值对数据,所述第二键集合包括所述用户设备记录的键值对数据中的键。
上述目标键是第一键集合中的任一个键。
上述第一键集合可以包括一个或多个不同的键。
在本申请实施例中,从待收集的第一键集合中即目标键,如此,目标键有可能用户设备真实统计的键值对数据中的键,目标键还有可能不属于用户设备真实统计的键值对数据中的键,有利于提高键值对数据的隐私性。
在一种可能的实现方式中,所述方法还包括:在所述目标键不属于所述第二键集合的情况下,向所述数据收集者发送第二扰动键值对数据所述第二扰动键值对数据/>按照所述预设概率随机取值为/>或者<b,v>,/>是对预配置的目标值v2进行扰动得到的。
在一种可能的实现方式中,所述第二扰动键值对数据按照所述预设概率随机取值为/>或者<b,v>,包括:根据所述隐私预算参数ε1通过第二差分隐私模型,对第二目标键值对数据进行扰动,以获得所述第二扰动键值对数据/>其中,所述第二差分隐私模型为/>所述第二目标键值对数据的键为所述目标键,所述第二目标键值对数据的值为/>
在一种可能的实现方式中,<b,v>为<0,0>,a为不为零的实数。
在一种可能的实现方式中,所述方法还包括:接收所述数据收集者返回的所述目标值v2,所述目标值v2为所述数据收集者历史统计的所述目标键对应的值的平均值。
在一种可能的实现方式中,所述从第一键集合中选择目标键,包括:通过随机采样,从所述第一键集合中选择所述目标键。
在上文描述的第一差分隐私模型和第二差分隐私模型中,可以看出,概率值即,对于属于第二键集合的目标键而言,包含目标键的第一目标键值对数据被扰动为/>的概率大于被扰动为<b,v>的概率,或者说第一扰动键值对数据的取值为/>的概率大于取值为<b,v>的概率。对于不属于第二键集合的目标键而言,第二扰动键值对数据取值为<b,v>的概率大于被扰动为/>的概率。如此,有利于使得数据收集者统计的统计结果更加接近基于原始的键值对数据得到的统计结果。
第二方面,提一种用户键值对数据的统计方法,包括:
获取扰动键值对数据集合,所述扰动键值对数据集合包括多个用户设备发送的多个扰动键值对数据,所述多个扰动键值对数据用于统计目标键的频率以及所述目标键对应的值的平均值的,每个扰动键值对数据包括第一值K*和第二值V*,且所述每个扰动键值对数据<K*,V*>按照预设的概率随机取值为或者<b,v>,/>是通过对用户设备记录的值v1进行扰动得到,a,b,v均为预设数值,且a,b为两个不相同的数值;
根据所述扰动键值对数据集合中的第一值,统计目标键在所述键值对数据集合中的频率;
根据所述扰动键值对数据集合中的第二值,统计所述目标键对应的值在所述键值对数据集合中的平均值。
在本申请实施例中,每个扰动键值对数据<K*,V*>按照预设的概率随机取值为或者<b,v>,以便数据收集者在生成统计结果的过程中,可以基于扰动键值对数据中第一值的取值a或b,确定扰动键值对数据整体是否计入统计结果。如此,使得扰动键值对数据保留键值对数据中值和键之间的关联性,有利于提高扰动键值对数据的可用性,即使得数据收集者基于扰动键值对数据生成的统计结果,与原本基于原始的用户键值对数据生成的统计结果更加接近。
在一种可能的实现方式中,所述目标键的所述频率为第三扰动键值对数据的数量与所述多个用户设备的数量的比值,所述第三扰动键值对数据为所述扰动键值对数据集合中第一值K*为a的扰动键值对数据,
所述目标键对应的值的平均值为所述第三扰动键值对数据中第二值的总和与所述第三扰动键值对数据的数量的比值。
在一种可能的实现方式中,所述方法还包括:
根据频率校正模型对所述目标键的所述频率f进行校正,获取校正后所述目标键的频率f*,其中,所述频率校正模型为且/>ε1表示基于差分隐私模型生成所述扰动键值对数据时使用的隐私预算参数。
在本申请实施例中,通过频率校正模型对目标键的频率进行校正,有利于提高目标键的频率的准确性。
在一种可能的实现方式中,所述第三扰动键值对数据中的第二值为-v或v,所述方法还包括:
分别统计所述扰动键值对数据集合中的所述第二值为-v的扰动键值对的第一数量n1,以及所述扰动键值对数据集合中的所述第二值为v的扰动键值对的第二数量n2
通过第一均值校正模型对所述第一数量n1进行校正得到第三数量并对所述第二数量n2进行校正得到第四数量/>
其中,所述第一均值校正模型为 ε2表示用户设备对记录的用户键值对数据中的值通过差分隐私模型进行扰动时使用的隐私预算参数。
在本申请实施例中,通过第一均值校正模型对目标键的均值进行校正,有利于提高目标键的均值的准确性。
在一种可能的实现方式中,所述第三扰动键值对数据的数量为N,所述方法还包括:
若所述第三数量或所述第四数量/>则对所述第三数量/>以及所述第四数量/>进行校正,以使所述第三数量/>以及所述第四数量/>之和为所述第三扰动键值对数据的数量。
在一种可能的实现方式中,所述若所述第三数量或所述第四数量/>则对所述第三数量/>以及所述第四数量/>进行校正,包括:
若所述第三数量或所述第四数量/>则通过第二均值校正模型对所述第三数量/>以及所述第四数量/>进行校正,其中,所述第二均值校正模型为/>且/>m表示预先确定的所述目标键的所述平均值。
在本申请实施例中,通过第二均值校正模型对目标键的均值进行校正,有利于提高目标键的均值的准确性。
在一种可能的实现方式中,所述方法还包括:向所述多个用户设备发送所述目标键的所述平均值。
在一种可能的实现方式中,所述目标键的所述平均值为第Q轮统计过程中得到的所述目标键的所述平均值,Q为正整数,所述向所述多个用户设备发送所述目标键的所述平均值,包括:若通信代价A0小于或等于统计精度损失F,则向所述多个用户设备发送所述目标键的所述平均值,其中,所述通信代价A0用于指示所述数据收集者与所述用户设备之间通信的通信代价,所述统计精度损失为|K|表示所述数据收集者待统计的键的数量,m1表示所述数据收集者统计的所述目标键的所述平均值,m2表示所述数据收集者历史统计的所述目标键的平均值,k表示所述目标键。
在本申请实施例中,通过判断通信代价A0以及统计精度损失F之间的关系,确定是否继续向所述多个用户设备发送所述目标键的所述平均值,以提高统计结果的精度,有利于在通信代价A0以及统计精度损失F之间取得均衡。
在一种可能的实现方式中,所述方法还包括:若所述通信代价A0大于所述统计精度损失F*,则停止向所述多个用户设备发送所述数据收集者统计的所述目标键的所述平均值。
在本申请实施例中,通过判断通信代价A0以及统计精度损失F之间的关系,确定是否继续向所述多个用户设备发送所述目标键的所述平均值,以提高统计结果的精度,有利于在通信代价A0以及统计精度损失F之间取得均衡。
在一种可能的实现方式中,所述方法还包括:
根据所述数据收集者统计的所述平均值m,以及平均值预测模型,预测所述目标键对应的值的预测平均值m*,其中,所述平均值预设模型用于指示所述数据收集者在多轮统计所述目标键对应的值的平均值的过程中,所述目标键对应的值的平均值的变化规律。
在一种可能的实现方式中,所述平均值预测模型为且/>c表示使用所述平均值预测模型预测所述目标键对应的值的平均值m*的轮次,ε2表示用户设备对记录的用户键值对数据中的值通过差分隐私模型进行扰动时使用的隐私预算参数,m(1)表示所述目标键对应的值的初始平均值。
在本申请实施例,基于上述均值预测模型确定目标键的均值,有利于提高统计结果的准确定。
第三方面,提供一种用户键值对数据的发送装置,包括:获取模块,用于获取第一目标键值对数据<k1,v1>,其中k1为所述第一目标键值对数据中键的取值,v1为所述第一目标键值对数据中值的取值;发送模块,用于向数据收集者发送对所述获取模块获取的所述第一目标键值对数据进行扰动后得到的第一扰动键值对数据其中,所述第一扰动键值对数据/>按照预设概率随机取值为/>或者<b,v>,/>是通过对v1进行扰动得到,a,b,v均为预设数值,且a,b为不相同的数值。
在一种可能的实现方式中,所述获取模块具体用于:从第一键集合中选择目标键,所述第一键集合包含所述数据收集者待收集的键值对数据的键;在所述目标键属于第二键集合的情况下,从所述用户设备记录的键值对数据中选择包含所述目标键的键值对数据作为所述第一目标键值对数据,所述第二键集合包括所述用户设备记录的键值对数据中的键。
在一种可能的实现方式中,所述发送模块还用于:在所述目标键不属于所述第二键集合的情况下,向所述数据收集者发送第二扰动键值对数据所述第二扰动键值对数据/>按照所述预设概率随机取值为/>或者<b,v>,/>是对预配置的目标值v2进行扰动得到的。
在一种可能的实现方式中,<b,v>为<0,0>,a为不为零的实数。
在一种可能的实现方式中,所述装置还包括:接收模块,用于接收所述数据收集者返回的所述目标值v2,所述目标值v2为所述数据收集者历史统计的所述目标键对应的值的平均值。
在一种可能的实现方式中,所述获取模块具体用于:通过随机采样,从所述第一键集合中选择所述目标键。
第四方面,提供一种用户键值对数据的统计装置,包括:获取模块,用于获取扰动键值对数据集合,所述扰动键值对数据集合包括多个用户设备发送的多个扰动键值对数据,所述多个扰动键值对数据用于统计目标键的频率以及所述目标键对应的值的平均值的,每个扰动键值对数据包括第一值K*和第二值V*,且所述每个扰动键值对数据<K*,V*>按照预设的概率随机取值为或者<b,v>,/>是通过对用户设备记录的值v1进行扰动得到,a,b,v均为预设数值,且a,b为不相同的数值;处理模块,用于根据所述获取模块获取的所述扰动键值对数据集合中的第一值,统计目标键在所述键值对数据集合中的频率;所述处理模块,还用于根据所述获取模块获取的所述扰动键值对数据集合中的第二值,统计所述目标键对应的值在所述键值对数据集合中的平均值。
在一种可能的实现方式中,所述目标键的所述频率为第三扰动键值对数据的数量与所述多个用户设备的数量的比值,所述第三扰动键值对数据为所述扰动键值对数据集合中第一值K*为a的扰动键值对数据,所述目标键对应的值的平均值为所述第三扰动键值对数据中第二值的总和与所述第三扰动键值对数据的数量的比值。
在一种可能的实现方式中,所述第三扰动键值对数据的数量为N,所述处理模块还用于:若所述第三数量或所述第四数量/>则对所述第三数量/>以及所述第四数量/>进行校正,以使所述第三数量/>以及所述第四数量/>之和为所述第三扰动键值对数据的数量。
在一种可能的实现方式中,所述装置还包括:发送模块,用于向所述多个用户设备发送所述目标键的所述平均值。
第五方面,提供了一种用户设备,包括输入输出接口、处理器和存储器。该处理器用于控制输入输出接口收发信息,该存储器用于存储计算机程序,该处理器用于从存储器中调用并运行该计算机程序,使得该用户设备执行上述第一方面中的方法。
第六方面,提供了一种数据收集者,包括输入输出接口、处理器和存储器。该处理器用于控制输入输出接口收发信号,该存储器用于存储计算机程序,该处理器用于从存储器中调用并运行该计算机程序,使得该数据收集者执行第二方面中的方法。
第七方面,提供了一种计算机程序产品,所述计算机程序产品包括:计算机程序代码,当所述计算机程序代码在计算机上运行时,使得计算机执行上述各方面中的方法。
需要说明的是,上述计算机程序代码可以或者部分存储在第一存储介质上,其中第一存储介质可以与处理器封装在一起的,也可以与处理器单独封装,本申请实施例对此不作具体限定。
第八方面,提供了一种计算机可读介质,所述计算机可读介质存储有程序代码,当所述计算机程序代码在计算机上运行时,使得计算机执行上述各方面中的方法。
附图说明
图1是本申请实施例适用的场景的示意图。
图2是本申请实施例的键值对数据的收集方法的示意性流程图。
图3是本申请实施例的键值对数据的收集方法的流程图。
图4是本申请实施例的一种键值对数据的收集装置的示意图。
图5是本申请实施例的用户设备的示意性框图。
图6是本申请实施例的一种键值对数据的收集装置的示意图。
图7是本申请实施例的收据收集者的示意性框图。
图8是本申请实施例的键值对数据的发送、收集的方法的示意性流程图。
具体实施方式
下面将结合附图,对本申请中的技术方案进行描述。
为了便于理解,先对本申请涉及的名词进行简单介绍。
一、差分隐私以及本地化差分隐私
差分隐私(differential privacy)旨在从数据收集者中查询统计结果时,最大化统计结果的准确性,同时最大限度的减少获知生成该统计结果的数据是由哪些用户提供的可能性。
传统的差分隐私技术通常为中心化差分隐私(centralized differentialprivacy)技术,也就是说,用户设备将原始数据集中到一个数据中心(又称数据收集者),然后由数据收集者对收集的原始数据进行扰动,最终发布满足差分隐私的统计结果。因此,中心化差分隐私对于敏感信息(即原始数据)的保护始终基于一个前提假设:可信的数据收集者,即保证数据收集者不会窃取或泄露用户的敏感信息。然而,在实际应用中,即使数据收集者宣称不会窃取和泄露用户的敏感信息,用户的隐私依旧得不到保障,例如,恶意攻击者可以通过两个仅仅相差一个用户的用户数据的统计结果,获取该用户的用户数据。由此,数据收集者的低可靠性极大地限制了中心化差分隐私技术的应用。
鉴此,LDP技术应运而生,其在继承中心化差分隐私技术定量化定义隐私攻击的基础上,细化了对个人敏感信息的保护。具体来说,LDP技术中,将数据的隐私化处理过程(例如,对用户数据扰动的过程)转移到每个用户设备中,使得用户设备能够单独地处理和保护用户敏感信息,即进行更加彻底的隐私保护。
LDP技术既承自中心化差分隐私技术,同时扩展出了新的特性,使得LDP技术具备两大特点:1)充分考虑任意攻击者的背景知识,并对隐私保护程度进行量化;2)本地化扰动数据,抵御来自不可信的数据收集者的隐私攻击。目前,本地化差分隐私技术已经成为继中心化差分隐私技术之后一种强健的隐私保护模型。首先,用户对原始数据进行满足本地化差分隐私的扰动,然后将其传输给方数据收集者,数据收集者收到扰动后的数据后进行一系列的查询和求精处理,使得基于扰动后的数据生成的统计结果与基于原始数据生成的统计结果近似,即有效的统计结果。
本地化差分隐私的定义如下:假设隐私预算ε是一个正实数,ε越小表示隐私性能越好,A表示对数据进行扰动的随机算法,它将任意一条记录作为输入(表示信任方拥有的数据),输出扰动结果。若算法A在任意两条记录t和t',(t,t'∈Dom(A))上得到相同的输出结果且满足下列不等式,则A满足ε-本地化差分隐私,
Pr[A(t)∈t*]≤eε×Pr[A(t′)∈t*]
其中,Dom(A)表示随机算法A的定义域,Ran(A)表示随机算法A的值域。
二、键值对数据及扰动键值对数据
键值对数据可以理解为一种数据结构,通常每个键值对数据可以由一个键值对表示,每个键值对由键和值共同组成,是KV存储技术中的存储单元。键例如可以是键值对的标签,用于检索到键值对或者检索值,值可以是需要被存储的有效数据。键可以由值生成,例如:对值进行哈希运算,把运算结果作为键值对中的值。下面以诊断数据为例,说明上述键值对数据。例如,诊断数据包括<流感,0.1>以及<肺癌,0.8>等键值对数据,其中流感、肺癌为诊断数据中的键,发病率0.1和0.8为键值对数据中的值。也就是说,键为流感的键值对数据中的值为0.1,键为肺癌的键值对数据中的值为0.8。
用户键值对数据可以理解为用户真实记录的键值对数数据,包括下文的第一目标键值对数据以及第二目标键值对数据。
扰动键值对数据可以理解为是对上述键值对数据进行扰动得到的扰动键值对数据。扰动键值对数据包括第一值和第二值,其中,第一值可以理解为是对键值对数据中的键进行扰动得到的,数据收集者可以根据第一值确定上述键的频率。第二值可以理解为是对键值对数据中的值进行扰动得到的,数据收集者可以根据第二值确定上述键对应的值的平均值。包括下文的第一扰动键值对数据和第二扰动键值对数据。
三、统计结果:数据收集者基于多个用户设备上报的数据进行统计,生成的统计结果,通常统计结果可以包括频率和均值两种参数。
频率表示数据收集者从上述多个用户设备上收集的键值对中某一键出现的频率。假设上述多个用户设备的数量与用户数量相等为Y个,且Y个用户设备上报的键值对数据中第j个键出现的次数为Nj,则第j个键的频率其中,Y和j为正整数。
需要说明的是,上述统计结果中可以包含不同的多个键对应的频率。假设上述统计结果为针对k个键的统计结果,且统计结果中的k个键可以通过一个矢量K=[k1,......,kk],kk]表示,则用于表示k个键对应的频率可以通过一个矢量f=[f1,......,fk],fk]表示,该矢量f中的每个分量表示矢量K中每个键对应的频率,即矢量f中第i个分量fi表示矢量K中第i个分量(即第i个键)ki的频率,其中,i∈[1,k],i和k为正整数。
均值表示数据收集者从上述多个用户设备上收集的键值对中某一键对应的值的均值。假设Y个用户上报的键值对数据中,第j个键kj对应的值的总和为m,则kj对应的值的均值
相应地,上述统计结果中可以包含不同的多个键对应的值的均值。该多个键多对应的值的均值也可以通过一个矢量M=[m1,......,,mk]表示,该矢量M中的每个分量表示矢量K中每个键对应的值的均值,即矢量M中第i个分量mi表示矢量K中第第i个分量(即第i个键)ki对应的值的均值。
下文基于上文的名词解释,结合图1介绍本申请实施例适用的场景的示意图。图1所示的架构包括数据收集者110、至少一个用户设备120以及数据分析者(data analysts)130。
至少一个用户设备120,一般为拥有原始数据的个人用户,又称数据源(参见图中UE1至UEn)。在LDP中,每个用户设备可以通过差分隐私扰动模块,对原始数据D进行扰动,生成扰动后的数据D′。
上述用户设备可以包括但不限于移动终端(mobile terminal)、移动电话(mobiletelephone)、手机(handset)及便携设备(portable equipment)等。
数据收集者110,用于接收至少一个用户设备120发送的数据,并基于接收到的数据进行统计生成统计结果。在LDP中,数据收集装置在接收到上述至少一个用户设备发送的扰动后的数据D′后,会通过特定的算法,基于扰动后的数据D′生成统计结果,该特定的算法使得基于上述扰动后的D′生成统计结果与基于原始数据的统计结果相似。
通常,上述数据收集者可以包括至少一个服务器,或者说,是一些大型组织或公司的服务器。
数据分析者130,即需要从数据收集者处获取统计结果的个体或组织,或者说是对统计结果感兴趣的个体或组织。
目前,本地化差分隐私技术的研究一般基于简单的数据类型,例如离散型数据和集值数据,以及数值型数据等,却未有针对键值对数据的保护方法。然而,随着键值对数据的广泛应用,很多敏感数据以键值对数据的形式存在,因此,对键值对数据进行保护是必要的。
考虑到键值对数据本质也是离散型数据(键)和数值型数据(值)的组合,直观地想,可以通过现有技术中针对离散型数据的扰动方法对键值对数据中的键进行扰动,通过现有技术中针对数值型数据的扰动方法对键值对数据中的值进行扰动,但是这种对键和值分别扰动的方式并没有考虑到键和值之间的关联性,会降低统计结果的有效性,即基于扰动后的数据的统计结果与原始数据的统计结果相差较大。例如,假设键值型诊断数据为<流感,0.1>,流感为上述键值对数据中的键,0.1为上述两个键值对数据中的值。若将上述流感扰动为肺癌后,那么流感对应的值0.1也应该扰动为肺癌对应的值所在的值域,以保证键和值的关联性。但是由于上述键和值的扰动过程是分别进行的,在对值扰动的过程中,无法或者对键进行扰动后的结果,因此,扰动后的键值对数据无法保证键和值之间的关联性。
为了保证扰动后的键值对数据的关联性,本申请提供了一种键值对数据的扰动方式,并进一步提供了数据收集者的基于该扰动后的键值型数据的统计方法,有利于保证键值对数据中键和值之间的关联性。下文结合图2介绍本申请实施例的键值对数据的收集方式(即扰动方式),结合图3介绍本申请另一实施例的键值对数据的收集方式(即统计方式)。
需要说明的是,图2所示的方法中,仅以一个用户设备向数据收集者上报一个键值对数据为例进行说明。若该用户设备需要向数据收集者上报多个键值对数据时,针对每个键值对数据的扰动过程可以与图2所示的扰动过程相同。若多个用户设备向数据收集者上报键值对数据时,每个用户设备使用的扰动方式也可以与图2所示的扰动方式相同。相应地,图3所示的方法中,数据收集者生成的统计结果可以是基于多个用户设备上报的键值对数据统计得出的。
图2是本申请实施例的键值对数据的收集方法的示意性流程图。图2所示的方法包括:步骤210和步骤220。应理解,图2所示的方法可以由可以作为数据源的设备执行,例如,图1中的用户设备。
210,获取第一目标键值对数据<k1,v1>,其中k1为所述目标键值对数据中键的取值,v1为所述第一目标键值对数据中值的取值。
上述第一目标键值对数据可以是用户设备记录的用户的原始数据
220,向数据收集者发送对所述第一目标键值对数据进行扰动后得到的第一扰动键值对数据其中,所述第一扰动键值对数据/>按照预设概率随机取值为/>或者<b,v>,/>是通过对v1进行扰动得到,a,b,v均为预设数值,且a,b为两个不相同的数值。
上述第一扰动键值对数据取值为/>时,即第一扰动键值对数据的第一值/>取值为a,表示第一扰动键值对数据为有效数据,该第一扰动键值对数据中的第一值/>以及第二值/>计入数据收集者生成的统计结果。
上述第一扰动键值对数据取值为<b,v>时,即第一扰动键值对数据的第一值/>取值为b,表示第一扰动键值对数据为无效数据,或者说,此时可以认为第一扰动键值对数据为空值,即用户设备并未记录键值对数据。该第一扰动键值对数据中的第一值/>以及第二值/>不计入数据收集者生成的统计结果。例如,上述<b,v>可以为<0,0>。
需要说明的是,当第一扰动键值对数据的第一值取值为b时,在数据收集者侧会直接判断第一扰动键值对数据为空值,则第一扰动键值对数据的第二值此时无论取值如何,都不会影响统计结果中的平均值,因此v可以为任意值。
但是,为了提高第一扰动键值对数据的隐私性,上述v不能与用户设备记录的真实键值对数据中的值的取值相差较大,以免数据攻击者辨识出第一扰动键值对数据为不真实的数据。
在本申请实施例中,通过将第一目标键值对数据扰动为第一扰动键值对数据,其中第一扰动键值对数据按照预设概率随机取值为或者<b,v>,以便数据收集者在生成统计结果的过程中,可以基于第一扰动键值对数据中第一值的取值a或b,确定第一扰动键值对数据整体是否计入统计结果。如此,使得第一扰动键值对数据保留键值对数据中值和键之间的关联性,有利于提高第一扰动键值对数据的可用性,即使得数据收集者基于第一扰动键值对数据生成的统计结果,与原本基于原始的用户键值对数据生成的统计结果更加接近。
可选地,所述第一扰动键值对数据按照预设概率随机取值为/>或者<b,v>,包括:根据隐私预算ε1通过第一差分隐私模型,对所述第一目标键值对<k1,v1>进行扰动,以获得所述第一扰动键值对数据/>其中,所述第一差分隐私模型为/>a为不为0的有理数,e为自然对数常数。
上述第一差分隐私模型可以理解为存在/>的概率(with probability,w.p.),第一扰动键值对数据/>可以取值为/>
相应地,存在的概率,第一扰动键值对数据/>可以取值为<0,0>。
上述是通过对v1进行扰动得到。可以理解为一次单独针对键值对数据的值进行扰动的过程,该过程可以在对第一目标键值对数据按照预设概率扰动为第一扰动键值对数据之前进行,该过程还可以在对第一目标键值对数据按照预设概率扰动为第一扰动键值对数据之后进行,本申请实施例对此不作限定。
上述可以使用对数值型数据的扰动方式(例如,Harmony算法)对上述第二键值对中的值进行扰动。上述扰动方式还可以是其他的数值型数据的扰动方式,本申请实施例对此不作限定。
当然,由于数据收集者需要根据多个用户设备上报的扰动键值对数据中的第一值和第二值,确定统计结果中的频率和均值。若上述a=1时,可以简化数据收集者统计键出现的次数的过程,基于多个用户设备上报的键值对数据,将第三键值对数据中的键求和,便可以直接获取该键出现的次数,进而可以计算统计结果中该键的频率以及该键对应的值的均值。如果上述a≠1,则基于多个用户设备上报的扰动键值对数据,将第三键值对数据中的键求和之后,将求和后的结果处于a的值,才能获得该键出现的次数。
为了进一步提高数据的隐私性,用户设备可以从待收集的第一键集合中随机选择(或者随机采样得到)一个键作为生成扰动的键值对数据的“原始键”(即目标键),如此,目标键有可能用户设备真实统计的键值对数据中的键,目标键还有可能不属于用户设备真实统计的键值对数据中的键,有利于提高键值对数据的隐私性。
若目标键刚好在用户设备统计的原始的键值对数据中有对应的值,即目标键属于第二键集合,该第二键集合包括用户设备统计的全部键值对数据中的键,则将用户设备中记录键值对数据中包含的该目标键的键值对数据作为上述第一目标键值对数据进行扰动,最终生成第一扰动键值对数据。
在本申请实施例中,从第一键集合中选择目标键,有利于避免隐私预算ε1在第一键集合中的每个键上进行分配,使得该隐私预算ε1仅仅用于上述目标键值对数据的扰动过程,相应地,数据收集者在统计统计结果时,也可以将该隐私预算ε1仅仅用于校正针对上述目标键值对数据的统计结果,有利于提高统计结果的准确度。
若目标键不属于第二键集合,也就是说,该目标键在用户设备记录的键值对数据中找不到相同的键,则向所述数据收集者发送第二扰动键值对数据所述第二扰动键值对数据/>按照所述预设概率随机取值为/>或者<b,v>,/>是对预配置的目标值v2进行扰动得到的。
上述若目标键在用户设备记录的键值对数据中找不到相同的键,此时,为了保证键和值的关联性,需要给该目标键配置一个值(即目标值),以生成第二扰动键值对数据。
上述是对预配置的目标值v2进行扰动得到的,具体扰动方式可以参见步骤210中介绍的对扰动键值对数据中的值进行扰动的方式。
上述目标值可以参照用户设备中记录的原始的键值对数据中的值的取值范围随机选择。通常,为了提高数据收集者生成统计结果的准确度,数据收集者需要将统计结果发送至用户设备,用户设备可以将数据收集者返回的平均值作为上述目标值。
另外,由于目标值可以从第一键集合中选择,而第一键集合中可以包含一个或多个不同的键,当第一键集合包含多个不同的键时,数据收集者无法从第一扰动键值对数据以及第二扰动键值对数据中辨识这些扰动键值对数据是用于生成哪个键的统计结果,因此用户设备还可以向数据收集者发送一个标识,该标识用户指示用户设备发送的扰动键值对数据是用于生成哪个键对应的统计结果的。
在本申请实施例中,用户设备从第一键集合中选择目标键作为生成第一扰动键值对数据的“原始键值对数据的键”,即用户设备向数据收集者发送的第一扰动键值对数据在一定程度上有可能原本就不是用户设备真是记录的用户键值对数据,有利于提高第一扰动键值对数据的隐私性。
可选地,第二扰动键值对数据按照所述预设概率随机取值为/>或者<b,v>,包括:根据所述隐私预算ε1通过第二差分隐私模型,对第二目标键值对数据进行扰动,以获得所述第二扰动键值对数据/>其中,所述第二差分隐私模型为所述第二目标键值对数据的键为所述目标键,所述第二目标键值对数据的值为/>/>
上述第二差分隐私模型可以理解为存在/>的概率,第二扰动键值对数据/>可以扰动为<b,v>。相应地,存在/>的概率,第二扰动键值对数据/>可以扰动为/>
在上文描述的第一差分隐私模型和第二差分隐私模型中,可以看出,概率值即,对于属于第二键集合的目标键而言,包含目标键的第一目标键值对数据被扰动为/>的概率大于被扰动为<b,v>的概率,或者说第一扰动键值对数据的取值为/>的概率大于取值为<b,v>的概率。对于不属于第二键集合的目标键而言,第二扰动键值对数据取值为<b,v>的概率大于被扰动为/>的概率。如此,有利于使得数据收集者统计的统计结果更加接近基于原始的键值对数据得到的统计结果。
为了保证对键值对数据的隐私性,可以先对键值对数据中的值进行扰动,通常可以采样传统的对数值型数据进行扰动的方法,例如,上文中的Harmony算法。在通过Harmony算法对键值对数据中的值进行扰动的过程中,用户设备通常需要三个步骤:离散,扰动以及校正。但是,在本申请实施例中,在通过Harmony算法对键值对中的值进行扰动的过程中,将Harmony算法中的第三个校正的步骤由用户设备执行改为数据收集者执行,有利于减少用户设备校正数据引起的计算开销。另一方面,由数据收集者可以在统计统计结果的过程中直接对扰动异常值进行校正,有利于提高校正效率,避免了传统的校正过程中每个用户设备仅能校正各自的键值对数据,在数据收集者生成统计结果的过程中,如果统计结果出现异常还需要进行二次校正。需要说明的是,上述数据收集者对数据进行校正的过程,在下文描述数据收集者生成统计结果的过程中进行详细介绍,为了简洁,在此不作具体介绍。
在本申请实施例中,用户设备通过Harmony算法对键值对数据中的值进行扰动的过程,可以仅包含离散和扰动的步骤,即,离散的步骤包括:获取第一目标键值对数据中的值v,对第一目标键值对数据中的值v按照第一离散模型进行离散化,得到离散值v1;扰动的步骤包括:根据隐私预算ε2通过第三差分隐私模型/> 对所述离散值v1进行扰动,以获得/>
相应地,目标值v2进行扰动得到的过程也可以仅包括上述离散和扰动的步骤,为了简洁,在此不作具体说明。
从上文中描述的离散的步骤中可以看出,无论键值对数据中的键是什么,都先将键值对数据中的值离散为-1和1两个值,也就是说,在多个用户设备向数据收集者发送的键值对数据的集合中,无论键值对数据的中的键的取值是多少,键对应的值不是-1就是1这两个值,有利于提高键值对数据的隐私性。因为对于键值对数据而言,不同的键可能对应的值的取值范围是不同的,如果将键和值分别扰动后,值的取值范围与键可能不对应,如此,攻击者比较容易破解上述键值对数据的扰动过程,得到真是的键值对数据。例如,多个用户设备需要上报的原始的键值对数据为<流感,0.1>以及<肺癌,0.8>,并且流感对应的值的取值范围通常为[0,0.5],肺癌对应的值的取值范围为[0.6,0.9],如果在对键值对数据扰动的过程中,当键从流感扰动到肺癌后,很有可能流感对应的值扰动后还是属于[0,0.5],而不属于肺癌对应的值的取值范围[0.6,0.9],如此,攻击者可以更具值域的信息差异得到真实值。
下文结合表1描述本申请实施例中用户设备对键值对数据进行扰动的扰动程序。
表1
表1是本申请实施例在使用扰动程序又称为本地扰动协议(Local PerturbationProtocol,LPP)对键值对数据进行扰动的流程。按照本申请实施例的扰动方式对键值型数据进行扰动时,需要输入的参数包括:用户设备采样的全部的键值对数据集合Si,数据收集者需要收集的全部键值对数据中的键的集合K,为键值对数据中的键进行扰动时使用的隐私预算ε1,为键值对数据中的值进行扰动时使用的隐私预算ε2。该扰动程序最终输出的结果包括扰动后的键值对数据<kj,v*>以及j,其中j表示键kj在键的集合K中的元素标识。
具体的扰动过程包括步骤1至步骤10。
步骤1:将键的集合赋值给的。
步骤2:使用随机采样过程从d选择第j个键kj
步骤3:如果kj属于键值对数据集合Si则执行步骤4、步骤5,以及步骤10;如果kj不属于键值对数据集合Si(参见步骤6)则执行步骤7至步骤10。
步骤4:调用数值扰动模型(Value Perturbation Primitive,VPP)对vj进行扰动,并将扰动后的值赋值给变量v*。其中扰动过程中使用的隐私预算为ε2,vj表示键值对数据集合Si中第j个键值对数据的值,也即键值对数据集合Si中键kj对应的值。
步骤5:通过第一差分隐私模型对<kj,v*>进行扰动,并将扰动后的键值对数据赋值给变量<kj,v*>,其中,第一差分隐私模型对表示原始值<kj,v*>被扰动为/>的概率为/>原始值<kj,v*>被扰动为<0,0>的概率为/>
步骤7:如果kj不属于键值对数据集合Si,则从[-1,1]中随机选择一个值作为键kj对应的值赋值给变量m。
步骤8:调用VPP算法对m进行扰动,并将扰动后的值赋值给变量v*。其中扰动过程中使用的隐私预算为ε2,vj表示键值对数据集合Si中第j个键值对数据的值,也即键值对数据集合Si中键kj对应的值。
步骤9:通过第二差分隐私模型对<kj,v*>进行扰动,并将扰动后的键值对数据赋值给变量<kj,v*>,其中,第二差分隐私模型表示原始值<kj,v*>被扰动为/>的概率为/>原始值<kj,v*>被扰动为<0,0>的概率为/>
步骤10:返回扰动后的键值对数据<kj,v*>以及j。
在步骤4和步骤8中使用的VPP算法可以通过表2所示的扰动算法实现。
表2
表2是本申请实施例在使用VPP对键值对数据中的值进行扰动的方法流程。其中,需要输入的参数包括:待扰动的键值对数据中值v,以及对v进行扰动时使用的隐私预算ε2。该扰动程序最终输出的结果包括被扰动后的值v*
具体的扰动过程包括步骤1至步骤3。
步骤1:按照公式对值v进行离散,其中,按照/>的概率,将v*离散为1,按照/>的概率,将v*离散为-1,并将最终离散后的值赋值给变量v*
步骤2:按照公式其中,按照/>的概率,将v*扰动为-v*,按照/>的概率,将v*扰动为v*,即保留原本的值不变,并将扰动后的值赋值给变量v*
步骤3:返回扰动后的值v*
下文结合图3介绍本申请实施例的用户键值对数据的收集方法的流程图。图3所示的方法可以由图1所示的数据收集者执行。图3所示的方法包括步骤310至步骤350。
310,获取扰动键值对数据集合。
具体地,所述扰动键值对数据集合包括多个用户设备发送的多个扰动键值对数据,所述多个扰动键值对数据用于统计目标键的频率以及所述目标键对应的值的平均值的,每个扰动键值对数据包括第一值K*和第二值V*,且所述每个扰动键值对数据<K*,V*>按照预设的概率随机取值为或者<b,v>,/>是通过对用户设备记录的值v1进行扰动得到,a,b,v均为预设数值,且a,b为两个不相同的数值。
320,根据所述扰动键值对数据集合中的第一值,统计目标键在所述键值对数据集合中的频率。
具体地,对于扰动键值对数据集合中第一值为b的扰动键值对数据,数据收集者可以确认该扰动键值对数据为空,对于扰动键值对数据集合中第一值为a的扰动键值对数据,数据收集者可以确认该扰动键值对数据不为空。如此,上述目标键的频率为第三扰动键值对数据的数量与所述多个用户设备的数量的比值,所述第三扰动键值对数据为所述扰动键值对数据集合中第一值K*为a的扰动键值对数据。
330,根据所述扰动键值对数据集合中的第二值,统计所述目标键对应的值在所述键值对数据集合中的平均值。
具体地,对于扰动键值对数据集合中第一值为b的扰动键值对数据,数据收集者可以确认该扰动键值对数据为空,对于扰动键值对数据集合中第一值为a的扰动键值对数据,数据收集者可以确认该扰动键值对数据不为空。如此,上述目标键对应的值的平均值为扰动键值对数据集合中第三扰动键值对数据的第二值的总和与第三扰动键值对数据的数量的比值。
在本申请实施例中,每个扰动键值对数据<K*,V*>按照预设的概率随机取值为或者<b,v>,以便数据收集者在生成统计结果的过程中,可以基于扰动键值对数据中第一值的取值a或b,确定扰动键值对数据整体是否计入统计结果。如此,使得扰动键值对数据保留键值对数据中值和键之间的关联性,有利于提高扰动键值对数据的可用性,即使得数据收集者基于扰动键值对数据生成的统计结果,与原本基于原始的用户键值对数据生成的统计结果更加接近。
需要说明的是,图3所示的方法仅仅描述了统计一个键(目标键)的方法流程,数据收集者还可以统计多个不同的键的统计结果,且每个键的统计结果的生成过程与图3所述的方法完全相同。例如,上述第一键集合可以通过矢量K=[k1,……,kk]表示,第一键集合中键的频率可以通过矢量f=[f1,……,fk]表示,其中矢量f和矢量K中下标相同的分量具有对应关系,f1表示矢量K中下标为1的键的频率,即f1表示键k1的频率。
在本申请实施例中,通过上述第一差隐私模型对目标键值对数据中的键和值同时进行扰动,若目标键值对数据中的键扰动为0时,目标键值对数据中的值相应地也扰动为0;若目标键值对数据中的键扰动为a时,目标键值对数据中的值相应地扰动为v* 1,也就是说,若目标键值对数据中的键存在(即不为0),相应地目标键值对数据中的值也存在;若目标键值对数据中的键不存在(即为0),相应地目标键值对数据中的值也不存在。避免了现有技术对键值对数据中的键和值分别扰动,导致键值对数据中的键为0时,键值对数据中的值不为0;或者键值对数据中的键不为0时,键值对数据中的值为0的情况,有利于提高键值对数据中键和值之间的关联性。
可选地,上述为/>上述<b,v>为<0,0>。如此,数据收集在在统计第三扰动键值对数据的数量的过程中,可以直接将扰动键值对数据集合中的第一值累计求和,即为第三扰动键值对数据的数量。在统计第三扰动键值对数据的中的第二值的总和的过程中,可以直接将扰动数据键值对集合中的全部第二值求和,即为第三扰动键值对数据的中的第二值的总和,以简化数据收集者生成统计结果过程。
可选地,所述方法还包括:根据频率校正模型对所述目标键的所述频率f进行校正,获取校正后所述目标键的频率f*,其中,所述频率校正模型为且/>ε1表示基于差分隐私模型生成所述扰动键值对数据时使用的隐私预算。
在图2所示的对键值对数据进行扰动的过程中,对于用户设备记录的用户键值对数据而言,有一定的概率将原始键值对数据中键扰动为0,同时,也存在一定的概率,将用户设备未记录的键值对数据,且存在于第一键集合中的键从0扰动为1,如此对键的扰动方式使得数据收集装置在统计键出现的频率时,存在误差,因此可以通过上述频率校正模型对频率进行校正。
在通过图2所示扰动过程中,不仅对键值对数据集合中的键进行了扰动,还对键值对数据集合中的值进行了扰动。因此,有可能会出现,键值对数据集合中值为的键值对数据的数量大于键值对数据集合中键值对数据的总数量。或者键值对数据集合中值为/>的键值对数据的数量大于键值对数据集合中键值对数据的总数量。又或者键值对数据集合中值为/>的键值对数据的数量小于0。又或者键值对数据集合中值为/>的键值对数据的数量小于0。无论出现上述哪种情况,都说明键值对数据集合中键值对数据中的值需要进行校正,使得键值对数据集合中值为/>的键值对数据的数量与键值对数据集合中值为/>的键值对数据的数量之和,等于键值对数据集合中键值对数据的总数量。
即,为了提高数据收集者生成统计结果的准确定,从上文中对键值对数据的值的扰动过程可以看出,无论还是/>最终都呈现为-v或v两种情况,即所述第三扰动键值对数据中的第二值为-v或v,上述方法还包括:所述第三扰动键值对数据中的第二值为/>是通过预设的概率对用户设备记录的值v1扰动为-v或v得到的,所述方法还包括:分别统计所述扰动键值对数据集合中的所述第二值为-v的扰动键值对的第一数量n1,以及所述扰动键值对数据集合中的所述第二值为v的扰动键值对的第二数量n2;通过第一均值校正模型对所述第一数量n1进行校正得到第三数量/>并对所述第二数量n2进行校正得到第四数量/>其中,所述第一均值校正模型为/> ε2表示用户设备对记录的用户键值对数据中的值通过差分隐私模型进行扰动时使用的隐私预算。
可选地,作为一个实施例,所述第三扰动键值对数据的数量为N,所述方法还包括:若所述第三数量或所述第四数量/>则对所述第三数量/>以及所述第四数量/>进行校正,以使所述第三数量/>以及所述第四数量/>之和为所述第三扰动键值对数据的数量。
上述使得和/>之和为第三扰动键值对数据的数量的方式很多,例如,/>时可以直接配置/>且/>又例如,/>时可以直接配置/>且/>
上述所述第三数量或所述第四数量/>的判断条件,还可以替换为所述第三数量/>或所述第四数量/>本申请实施例对此不作限定。
所述若所述第三数量或所述第四数量/>则对所述第三数量/>以及所述第四数量/>进行校正,包括:若所述第三数量/>或所述第四数量/>则通过第二均值校正模型对所述第三数量/>以及所述第四数量/>进行校正,其中,所述第二均值校正模型为/>且/>m表示预先确定的所述目标键的所述平均值。
表3示出了本申请实施例的统计统计结果的程序的流程。表3所示的程序包括步骤1至步骤13,其中,步骤1至步骤2是由用户设备执行对键值对数据的扰动过程,具体的扰动方法可以参见上文的介绍,为了简洁,在此不再赘述。下面重点介绍步骤3至步骤13介绍数据收集者统计统计结果的方法。
表3
在表3所示的方法流程中,需要输入的参数包括:键值对数据集合S,第一键集合K,隐私预算ε1以隐私预算ε2。其中,键值对数据集合S中包括每个用户设备发送的键值对数据。第一键集合包括数据收集者需要收集的全部键值对数据的键。隐私预算ε1为用户设备在对键值对数据中的键进行扰动时使用的隐私预算。隐私预算ε2为用户设备在对键值对数据中的值进行扰动时使用的隐私预算。
步骤3:数据收集者的校正过程
步骤4:对于第一键集合K中的每个键执行步骤5至步骤12的方法。为了便于描述,下文步骤5至步骤6都描述的对第一键集合中的第k个键的校正过程。第一键集合中的每个键的校正过程都可以按照步骤5至步骤6执行。
步骤5:统计第一键集合K中第k个键的频率,并赋值给变量fk *
步骤6:通过频率校正模型且/>对第k个键的频率的频率进行校正,并将校正后的频率赋值给变量fk *
步骤7:数据收集者统计键值对数据集合S中键值对数据的值为1的键值对数据的数量,并将该数量赋值给变量n1′;同时,还统计键值对数据集合S中键值对数据的值为-1的键值对数据的数量,并将该数量赋值给变量n2′。
步骤8:统计键值对数据集合S中包含的全部键值对数据的数量,并将该数量赋值给变量N。
步骤9:根据均值校正模型为且/>其中,/>对n1′以及n2′进行校正,并将n1′校正后的结果赋值给变量n1 *,将n2′校正后的结果赋值给变量n2 *
步骤10:如果n1 *>N或者n1 *<0,执行步骤11;否则,执行步骤12。
步骤11:按照公式以及n2 *=N-n1 *,对n1 *和n2 *进行校正,并将校正后的值赋值给变量n1 *和n2 *,使得n1 *以及n2 *之和为N。
其中,mk′可以是从[-1,1]中随机选择的一个值。
步骤12:根据公式确定第k个键对应的值的均值,并将均值赋值给变量mk *
步骤13:返回矢量f*和矢量m*。其中,矢量f*和矢量m*中分别包含第一键集合中每个键的频率和每个键对应的值的均值。
为了提高数据收集者生成统计结果的精度,数据收集者可以将最终统计的第一键集合中不同键对应的值的均值反馈给用户设备,以供用户设备使用该均值重新对原始键值对数据进行扰动(运用在上文中的第二差分隐私模型)中,并基于用户设备重新扰动的键值对数据重新进行统计。即通过用户设备对原始的键值对数据进行多轮扰动,相应地,数据收集者对用户设备发送的加密之后的键值对数据进行对轮统计,以提高数据收集者最终生成的统计结果的准确性。
所述m表示在第Q-1轮的所述平均值统计过程中确定的所述第一键集合中每个键对应的值的平均值,其中,Q为大于1的正整数。
即,在第Q轮所述平均值的统计过程中,根据所述目标键对应的值的总和,以及所述目标键出现的次数,确定所述目标键对应的值的平均值m'。
需要说明的是,如果上述Q的取值为1时,第Q轮即当前轮次为第1轮,没有上一轮的交互提供第一键集合中每个键对应的值的平均值,因此,可以在[-1,1]的范围内,随机地为第一键集合中每个键对应的值的配置平均值。
表4示出了本申请另一实施例的生成统计结果的程序的流程。表4所示的程序包括步骤1至步骤6。
表4
在表4所示的方法流程中,需要输入的参数包括:键值对数据集合S,第一键集合K,总隐私预算ε以及迭代轮次c(即上文中的轮次)。其中,键值对数据集合S中包括每个用户设备发送的键值对数据。第一键集合包括数据收集者需要收集的全部键值对数据的键。
步骤1:根据隐私预算的分配函数PBA,确定每个迭代轮次使用的隐私预算。
由于涉及多个轮次,因此需要考虑隐私预算的分配问题,例如,这里首先将ε平均分成两部分ε1和ε2,即分别用于键和值的校正。由于数据收集者在统计频率的过程中,仅需要一轮迭代即可获得比较准确的统计结果。因此,ε1可以全部用于第一轮的频率的校正过程,即ε11=ε112=…=ε1c=0;然后根据迭代的次数c,将ε2进行再次均分,即用于每一轮迭代时值的校正。
步骤2:在第一轮迭代过程中,将第k个键的值的均值设置为-1,并赋值给变量(即表3中的mk′)。
需要说明的是,上述第k个键的值的均值还可以设置为[-1,1]中的任意一个值。
步骤3:在从第1轮迭代到第c轮迭代的过程中,执行步骤4.
步骤4:调用表3所示的统计过程,并将上述步骤1-3中确定的参数使用在表3所示的程序中。
步骤5:数据收集者向每个用户设备发送均值矢量m,以便用户设备基于均值矢量包含的均值对键值对数据重新扰动。
步骤6:返回矢量f(1)和矢量m(c)。其中,f(1)表示一轮迭代之后,第一键集合中每个键对应的频率,m(c)c轮迭代之后,第一键集合中每个键对应的值的均值。
在上述多轮交互的过程中,数据收集者和用户设备之间需要多次交互,无可避免地会产生通信代价。据统计,多轮交互以达到提高统计结果的效果之间并不一直都是正相关的,通产在进过一定轮次的交互之后,统计结果的精度提升到达一个瓶颈,如果继续进行用户设备和数据收集者之间的交互,那么产生的通信代价将会极高。但是如果数据收集者与用户设备之间交互的轮次较少,又会影响统计结果的精度,造成统计结果的统计精度损失。因此,为了在统计结果的统计精度损失和通信代价之间做权衡,可以所述第Q轮所述平均值的统计过程中,根据所述第一键集合中每个键对应的值的总和,以及所述键值对集合中每个键出现的次数,确定所述第一键集合中每个键对应的值的平均值之前,结合当前的通信代价和统计结果的统计精度损失,判断是否需要继续进行下一轮的通信。
即,所述目标键的所述平均值为第Q轮统计过程中得到的所述目标键的所述平均值,Q为正整数,所述向所述多个用户设备发送所述目标键的所述平均值,包括:若通信代价A0小于或等于统计精度损失F,则向所述多个用户设备发送所述目标键的所述平均值,其中,所述通信代价A0用于指示所述数据收集者与所述用户设备之间通信的通信代价,所述统计精度损失为|K|表示所述数据收集者待统计的全部键的数量,m1表示所述数据收集者统计的所述目标键的所述平均值,m2表示所述数据收集者历史统计的所述目标键的平均值,k表示所述目标键。
需要说明的是,上述统计精度损失可以用于指示不进行下一轮交互时,数据收集者生成的统计结果与基于原始的键值对数据生成的统计结果之间的精度损失。例如,在第Q轮的统计过程中,数据收集者生成的第Q轮的统计结果与基于原始的键值对数据生成的统计结果之间的精度损失。
可选地,若所述通信代价A0大于所述统计精度损失F*,则停止向所述多个用户设备发送所述数据收集者统计的所述目标键的所述平均值。
表5示出了本申请另一实施例的生成统计结果的程序的流程。表5所示的程序包括步骤1至步骤11。
表5
在表5所示的方法流程中,需要输入的参数包括:键值对数据集合S,第一键集合K,总隐私预算ε以及每轮迭代所需的通信代价A0。其中,键值对数据集合S中包括每个用户设备发送的键值对数据。第一键集合包括数据收集者需要收集的全部键值对数据的键。
步骤1:根据隐私预算的分配函数PBA2,确定每个迭代轮次使用的隐私预算。
由于涉及多个轮次,因此需要考虑隐私预算的分配问题,例如,这里首先将ε平均分成两部分ε1和ε2,即分别用于键和值的校正。由于数据收集者在统计频率的过程中,仅需要一轮迭代即可获得比较准确的统计结果。因此,ε1可以全部用于第一轮的频率的校正过程,即ε11=ε112=…=ε1c=0;然后根据迭代的次数c,将ε2进行再次均分,即用于每一轮迭代时值的校正。
需要说明的是,数据收集者使用的上述隐私预算的分配函数与用户设备对键值对数据扰动时使用的隐私算法的分配函数相同。用户设备使用的隐私预算的分配函数与数据收集者使用的隐私预算的分配函数可以是预先约定的,具体地,可以是通过信令交互约定的,还可以是预先配置好的,本申请实施例对此不作限定。
步骤2:在第一轮迭代过程中,将第k个键的值的均值设置为-1,并赋值给变量(即表3中的mk′)。
步骤3:调用表3所示的统计过程,并将上述步骤1-2中确定的参数使用在表3所示的程序中。
步骤4:确定统计结果的统计精度损失与通信代价A0之间的差值。即|K|表示所述第一键集合中全部键的数量。
步骤5:当F*<0,执行步骤6至步骤10。
步骤6:数据收集者向每个用户设备发送均值矢量m,以便用户设备基于均值矢量包含的均值对键值对数据重新扰动。
相应地,用户设备在接收到均值矢量m后,从均值矢量m中查找该用户设备需要上报的键值对数据中的键在均值矢量m中对应的均值,作为对该需要上报的键值对数据进行扰动的均值,具体的扰动过程,请参见上文图2所示的方法。
步骤7:从总隐私预算ε中减去每轮迭代过程中使用的隐私预算,并将剩余的隐私预算赋值给变量ε。
步骤8:从剩余隐私预算ε中,根据PBA2重新分配隐私预算ε1和ε2
步骤9:调用表3所示的统计过程,并将上述步骤中确定的参数使用在表3所示的程序中。
步骤10:计算统计结果的统计精度损失与通信代价A0之间的差值。
步骤11:返回矢量f*和矢量m*
为了提高数据收集者生成统计结果的精度,可以根据平均值预测模型预测数据收集者在和用户设备交互后,可能得到的第一键集合中每个键对应的值的平均值,如此可以省去数据收集者和用户设备之间通信产生的通信代价。其中,平均值预测模型用于指示在数据收集者每轮生成统计结果的过程中,第一键集合中每个键对应的值的平均值的变化趋势。也就是说,在本申请实施例中,通过模拟数据收集者和用户设备之间通信后(即虚拟轮次),第一键集合中每个键对应的值的平均值的变化趋势,确定变化后的第一键集合中每个键对应的值的平均值。
即,所述平均值预测模型为且/>c表示使用所述平均值预测模型预测所述目标键对应的值的平均值m*的轮次,ε2表示用户设备对记录的用户键值对数据中的值通过差分隐私模型进行扰动时使用的隐私预算,m(1)表示所述目标键对应的值的初始平均值。
上述通过虚拟轮次执行的次数可以是预设的。另一方面,在上述通过执行虚拟轮次提高数据收集者生成统计结果的精度的过程中,用户设备仅需要一次对键值对数据进行扰动的过程,也就是说,上文中隐私预算ε2可以完全用于一次的键值对数据的扰动过程,以提高对键值对数据扰动的隐私性。
表6示出了本申请另一实施例的生成统计结果的程序的流程。表6所示的程序包括步骤1至步骤6。
表6
在表6所示的方法流程中,需要输入的参数包括:键值对数据集合S,第一键集合K,总隐私预算ε以及迭代轮次c。其中,键值对数据集合S中包括每个用户设备发送的键值对数据。第一键集合包括数据收集者需要收集的全部键值对数据的键。
步骤1:将第k个键的值的均值设置为-1,并赋值给变量(即表3中的mk′)。
需要说明的是,上述第k个键的值的均值还可以设置为[-1,1]中的任意一个值。
步骤2:根据键值对数据集合S,第一键集合K,总隐私预算ε,以及调用表3所示的方法流程。
步骤3:对第一键集合中的每个键,执行步骤4和步骤5。
步骤4以及步骤5:根据均值预测模型且/>
预测第k个键对应的值的均值。
步骤6:返回矢量f和矢量m(c),m(c)c轮迭代之后,第一键集合中每个键对应的值的均值。
为了进一步理解本申请实施例的用户键值对数据的发送方法以及用户键值对数据的统计方法,下文结合图8从整体的方法流程描述本申请实施例的方法,应理解,图8仅仅示出了本申请实施例的一种具体的实现方式,对本申请的范围并不造成限定。另外,图8涉及的方法的具体实现方式,在上文中已经具体描述,为了简洁,在此不再赘述。
图8是本申请实施例的用户键值对数据的发送方法以及用户键值对数据的统计方法的示意性流程图。图8所示的方法包括步骤810至步骤
810,用户设备记录的针对目标键的键值对数据包括<1,v>和<0,0>两种数据,其中目标键表示数据收集者待获取的键。
<1,v>中1表示用户设备记录有针对目标键的键值对数据,v表示目标键对应的值。
<0,0>中0表示用户设备没有记录针对目标键的键值对数据,0表示目标键对应的值。
820,用户设备对上述键值对数据进行扰动得到<K*,V*>。
具体地,当键值对数据<1,v>时,可以使用上述第一差分隐私模型得到<K*,V*>,则上述<K*,V*>的值为<1,v*>或<0,0>;当键值对数据为<0,0>,可以使用上述第二差分隐私模型得到<K*,V*>,则上述<K*,V*>的值为<0,0>或者<1,v*>,此时,由于用户设备并未真正记载键值对数据,因此,当键值对数据从<0,0>扰动为<1,v*>时,使用预设的值或者数据统计者历史统计的目标键对应的值的平均值(具体过程详见上文关于“目标值”的取值方法)。
830,用户设备将扰动键值对数据<K*,V*>发送至数据收集者。
840,数据收集者根据多个用户设备发送的针对目标键的扰动键值对数据,生成目标键的统计结果,包括目标键的频率以及目标键对应的值的平均值。
数据收集者是针对多个用户设备上报的针对目标键的扰动键值对数据生成统计结果,其中,多个用户设备中每个用户设备都根据步骤810至830所示的扰动方法(具体扰动过程可以参见图2所示的方法)将各自收集的用户键值对数据扰动为扰动键值对数据。
上述数据收集者根据多个用户设备发送的扰动键值对数据生成统计结果的具体方式可以参见上文中图3所示的方法。
850,数据收集者将统计的目标键对应的值的平均值发送至多个用户设备,以便多个用户设备根据目标键的平均值,重新对键值对数据进行扰动(即进入下一轮扰动的过程)。
在本申请实施例中,由于用户设备可以根据数据收集者发送的目标键的平均值重新对目标键对应的用户键值对数据重新扰动,使得本次生成的扰动键值对数据的相对于之前用户设备生成的扰动键值对数据更加接近真实值,有利于提高数据收集者基于扰动键值对数据生成的统计结果的精度。
上文结合图1至图3以及图8详细地描述了本申请实施例的方法,下文结合图4至图7详细地描述本申请实施例装置。需要说明的是,图4至图7所示的装置可以实现上述方法中各个步骤,为了简洁,在此不再赘述。
图4是本申请实施例的一种键值对数据的收集装置的示意图。图4所示的装置400可以执行图2所示的方法,以及图3所示的方法中的用户设备实现的方法步骤。装置400包括获取模块410和发送模块420。
获取模块410,用于获取第一目标键值对数据<k1,v1>,其中k1为所述第一目标键值对数据中键的取值,v1为所述第一目标键值对数据中值的取值;
发送模块420,用于向数据收集者发送对所述第一目标键值对数据进行扰动后得到的第一扰动键值对数据其中,所述第一扰动键值对数据/>按照预设概率随机取值为/>或者<b,v>,/>是通过对v1进行扰动得到,a,b,v均为预设数值,且a,b为两个不相同的数值。
可选地,所述第一扰动键值对数据按照预设概率随机取值为/>或者<b,v>,包括:根据隐私预算ε1通过第一差分隐私模型,对所述第一目标键值对<k1,v1>进行扰动,以获得所述第一扰动键值对数据/>其中,所述第一差分隐私模型为
可选地,获取模块410还用于从第一键集合中选择目标键,所述第一键集合包含所述数据收集者待收集的全部键值对数据的键;在所述目标键属于第二键集合的情况下,从所述用户设备记录的全部键值对数据中选择包含所述目标键的键值对数据作为所述第一目标键值对数据,所述第二键集合包括所述用户设备记录的全部键值对数据中的键。
可选地,所述发送模块420还用于:在所述目标键不属于所述第二键集合的情况下,向所述数据收集者发送第二扰动键值对数据所述第二扰动键值对数据/>按照所述预设概率随机取值为/>或者<b,v>,/>是对预配置的目标值v2进行扰动得到的。
可选地,所述第二扰动键值对数据按照所述预设概率随机取值为/>或者<b,v>,包括:根据所述隐私预算ε1通过第二差分隐私模型,对第二目标键值对数据进行扰动,以获得所述第二扰动键值对数据/>其中,所述第二差分隐私模型为所述第二目标键值对数据的键为所述目标键,所述第二目标键值对数据的值为/>/>
可选地,,<b,v>为<0,0>,a为不为零的实数。
可选地,所述装置还包括接收单元,用于接收所述数据收集者返回的所述目标值v2,所述目标值v2为所述数据收集者历史统计的所述目标键对应的值的平均值。
可选地,所述获取单元具体用于:通过随机采样,从所述第一键集合中选择所述目标键。
在可选地实施例中,上述获取模块410和发送模块420可以为依靠计算机程序实现的程序模块,该程序模块用于实现图2所示的方法。
在可选地实施例中,上述获取模块410的作用可以为用户设备500中的输入输出接口530与处理器520之间进行配合实现,上述发送模块420的作用可以是用户设备500中的输入输出接口530与处理器520之间进行配合实现,用户设备500的结构具体如图5所示。
需要说明的是,上述处理器可以是一个或多个处理器,本申请实施例对此不作限定。图5是本申请实施例的用户设备的示意性框图。图5所示的用户设备500可以包括:存储器510、处理器520和输入/输出接口530。其中,存储器510、处理器520和输入/输出接口530通过内部连接通路相连,该存储器510用于存储程序指令,该处理器520用于执行该存储器520存储的程序指令,以控制输入/输出接口530接收输入的数据和信息,输出操作结果等数据。
应理解,在本申请实施例中,该处理器520可以采用通用的中央处理器(centralprocessing unit,CPU),微处理器,应用专用集成电路(application specificintegrated circuit,ASIC),或者一个或多个集成电路,用于执行相关程序,以实现本申请实施例所提供的技术方案。
该存储器510可以包括只读存储器和随机存取存储器,并向处理器520提供指令和数据。处理器520的一部分还可以包括非易失性随机存取存储器。例如,处理器520还可以存储设备类型的信息。
在实现过程中,上述方法的各步骤可以通过处理器520中的硬件的集成逻辑电路或者软件形式的指令完成。结合本申请实施例所公开的方法可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器510,处理器520读取存储器510中的信息,结合其硬件完成上述方法的步骤。为避免重复,这里不再详细描述。
应理解,本申请实施例中,该处理器可以为中央处理单元(central processingunit,CPU),该处理器还可以是其它通用处理器、数字信号处理器(digital signalprocessor,DSP)、专用集成电路(application specific integrated circuit,ASIC)、现成可编程门阵列(field programmable gate array,FPGA)或者其它可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
图6是本申请实施例的一种键值对数据的收集装置的示意图。图6所示的装置600可以实现图3所示的方法,以及图2所示的方法中数据收集者实现的步骤。装置600包括:接收模块610和处理模块620。
接收模块610,用于获取扰动键值对数据集合,所述扰动键值对数据集合包括多个用户设备发送的多个扰动键值对数据,所述多个扰动键值对数据用于统计目标键的频率以及所述目标键对应的值的平均值的,每个扰动键值对数据包括第一值K*和第二值V*,且所述每个扰动键值对数据<K*,V*>按照预设的概率随机取值为或者<b,v>,/>是通过对用户设备记录的值v1进行扰动得到,a,b,v均为预设数值,且a,b为两个不相同的数值;
处理模块620,用于根据所述扰动键值对数据集合中的第一值,统计目标键在所述键值对数据集合中的频率;
处理模块620,还用于根据所述扰动键值对数据集合中的第二值,统计所述目标键对应的值在所述键值对数据集合中的平均值。
可选地,所述目标键的所述频率为第三扰动键值对数据的数量与所述多个用户设备的数量的比值,所述第三扰动键值对数据为所述扰动键值对数据集合中第一值K*为a的扰动键值对数据,所述目标键对应的值的平均值为所述第三扰动键值对数据中第二值的总和与所述第三扰动键值对数据的数量的比值。
可选地,所述处理模块620用于:根据频率校正模型对所述目标键的所述频率f进行校正,获取校正后所述目标键的频率f*,其中,所述频率校正模型为ε1表示基于差分隐私模型生成所述扰动键值对数据时使用的隐私预算。
可选地,所述第三扰动键值对数据中的第二值为-v或v,所述处理模块620用于:分别统计所述扰动键值对数据集合中的所述第二值为-v的扰动键值对的第一数量n1,以及所述扰动键值对数据集合中的所述第二值为v的扰动键值对的第二数量n2;通过第一均值校正模型对所述第一数量n1进行校正得到第三数量并对所述第二数量n2进行校正得到第四数量/>其中,所述第一均值校正模型为/> ε2表示用户设备对记录的用户键值对数据中的值通过差分隐私模型进行扰动时使用的隐私预算。
可选地,所述第三扰动键值对数据的数量为N,所述处理模块620用于:若所述第三数量或所述第四数量/>则对所述第三数量/>以及所述第四数量/>进行校正,以使所述第三数量/>以及所述第四数量/>之和为所述第三扰动键值对数据的数量。
可选地,所述处理模块620用于:若所述第三数量或所述第四数量/>则通过第二均值校正模型对所述第三数量/>以及所述第四数量/>进行校正,其中,所述第二均值校正模型为/>且/>m表示预先确定的所述目标键的所述平均值。
可选地,所述装置还包括:发送模块,用于向所述多个用户设备发送所述目标键的所述平均值。
可选地,所述目标键的所述平均值为第Q轮统计过程中得到的所述目标键的所述平均值,Q为正整数,发送模块,用于若通信代价A0小于或等于统计精度损失F,则向所述多个用户设备发送所述目标键的所述平均值,其中,所述通信代价A0用于指示所述数据收集者与所述用户设备之间通信的通信代价,所述统计精度损失为K|表示所述数据收集者待统计的全部键的数量,m1表示所述数据收集者统计的所述目标键的所述平均值,m2表示所述数据收集者历史统计的所述目标键的平均值,k表示所述目标键。
可选地,所述发送模块,用于:若所述通信代价A0大于所述统计精度损失F*,则停止向所述多个用户设备发送所述数据收集者统计的所述目标键的所述平均值。
可选地,所述处理模块用于包括:根据所述数据收集者统计的所述平均值m,以及平均值预测模型,预测所述目标键对应的值的预测平均值m*,其中,所述平均值预设模型用于指示所述数据收集者在多轮统计所述目标键对应的值的平均值的过程中,所述目标键对应的值的平均值的变化规律。
可选地,所述平均值预测模型为c表示使用所述平均值预测模型预测所述目标键对应的值的平均值m*的轮次,ε2表示用户设备对记录的用户键值对数据中的值通过差分隐私模型进行扰动时使用的隐私预算,m(1)表示所述目标键对应的值的初始平均值。
在可选地实施例中,上述获取模块610和处理模块620可以为依靠计算机程序实现的程序模块,该程序模块用于实现图3所示的方法。
在可选地实施例中,上述获取模块610的作用可以为收据收集者700中的输入输出接口730与处理器720之间进行配合实现,上述处理模块620的作用可以是收据收集者700中的处理器720实现,收据收集者700的结构具体如图7所示。
需要说明的是,上述处理器可以是一个或多个处理器,本申请实施例对此不作限定。
图7是本申请实施例的收据收集者的示意性框图。图7所示的收据收集者700可以包括:存储器710、处理器720和输入/输出接口730。其中,存储器710、处理器720和输入/输出接口730通过内部连接通路相连,该存储器710用于存储程序指令,该处理器720用于执行该存储器720存储的程序指令,以控制输入/输出接口730接收输入的数据和信息,输出操作结果等数据。
应理解,在本申请实施例中,该处理器720可以采用通用的中央处理器(centralprocessing unit,CPU),微处理器,应用专用集成电路(application specificintegrated circuit,ASIC),或者一个或多个集成电路,用于执行相关程序,以实现本申请实施例所提供的技术方案。
该存储器710可以包括只读存储器和随机存取存储器,并向处理器720提供指令和数据。处理器720的一部分还可以包括非易失性随机存取存储器。例如,处理器720还可以存储设备类型的信息。
在实现过程中,上述方法的各步骤可以通过处理器720中的硬件的集成逻辑电路或者软件形式的指令完成。结合本申请实施例所公开的方法可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器710,处理器720读取存储器710中的信息,结合其硬件完成上述方法的步骤。为避免重复,这里不再详细描述。
应理解,本申请实施例中,该处理器可以为中央处理单元(central processingunit,CPU),该处理器还可以是其它通用处理器、数字信号处理器(digital signalprocessor,DSP)、专用集成电路(application specific integrated circuit,ASIC)、现成可编程门阵列(field programmable gate array,FPGA)或者其它可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
应理解,在本申请实施例中,“与A相应的B”表示B与A相关联,根据A可以确定B。但还应理解,根据A确定B并不意味着仅仅根据A确定B,还可以根据A和/或其它信息确定B。
应理解,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
应理解,在本申请的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(Digital Subscriber Line,DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够读取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,数字通用光盘(Digital Video Disc,DVD))或者半导体介质(例如,固态硬盘(Solid State Disk,SSD))等。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

Claims (20)

1.一种用户键值对数据的发送方法,其特征在于,包括:
获取第一目标键值对数据<k1,v1>,其中k1为所述第一目标键值对数据中键的取值,v1为所述第一目标键值对数据中值的取值;
向数据收集者发送对所述第一目标键值对数据进行扰动后得到的第一扰动键值对数据<K1 *,V1 *>,
其中,所述第一扰动键值对数据<K1 *,V1 *>按照预设概率随机取值为或者<b,v>,是通过对v1进行扰动得到,a,b,v均为预设数值,且a,b为不相同的数值;当取值为/>时,所述第一扰动键值对数据<K1 *,V1 *>为有效数据,或当取值为<b,v>时,所述第一扰动键值对数据<K1 *,V1 *>为无效数据。
2.如权利要求1所述的方法,其特征在于,所述获取第一目标键值对数据<k1,v1>,包括:
从第一键集合中选择目标键,所述第一键集合包含所述数据收集者待收集的键值对数据的键;
在所述目标键属于第二键集合的情况下,从用户设备记录的键值对数据中选择包含所述目标键的键值对数据作为所述第一目标键值对数据,所述第二键集合包括所述用户设备记录的键值对数据中的键。
3.如权利要求2所述的方法,其特征在于,所述方法还包括:
在所述目标键不属于所述第二键集合的情况下,向所述数据收集者发送第二扰动键值对数据所述第二扰动键值对数据/>按照所述预设概率随机取值为/>或者<b,v>,/>是对预配置的目标值v2进行扰动得到的。
4.如权利要求1或3所述的方法,其特征在于,<b,v>为<0,0>,a为不为零的实数。
5.如权利要求1-3中任一项所述的方法,其特征在于,所述方法还包括:
接收所述数据收集者返回的所述目标值v2,所述目标值v2为所述数据收集者历史统计的所述目标键对应的值的平均值。
6.如权利要求2或3所述的方法,其特征在于,所述从第一键集合中选择目标键,包括:
通过随机采样,从所述第一键集合中选择所述目标键。
7.一种用户键值对数据的统计方法,其特征在于,包括:
获取扰动键值对数据集合,所述扰动键值对数据集合包括多个用户设备发送的多个扰动键值对数据,所述多个扰动键值对数据用于统计目标键的频率以及所述目标键对应的值的平均值,每个扰动键值对数据包括第一值K*和第二值V*,且所述每个扰动键值对数据<K*,V*>按照预设的概率随机取值为或者<b,v>,/>是通过对用户设备记录的值v1进行扰动得到,a,b,v均为预设数值,且a,b为不相同的数值;当取值为/>时,第一扰动键值对数据<K1 *,V1 *>为有效数据,或当取值为<b,v>时,所述第一扰动键值对数据<K1 *,V1 *>为无效数据;
根据所述扰动键值对数据集合中的第一值,统计目标键在所述键值对数据集合中的频率;
根据所述扰动键值对数据集合中的第二值,统计所述目标键对应的值在所述键值对数据集合中的平均值。
8.如权利要求7所述的方法,其特征在于,所述目标键的所述频率为第三扰动键值对数据的数量与所述多个用户设备的数量的比值,所述第三扰动键值对数据为所述扰动键值对数据集合中第一值K*为a的扰动键值对数据,
所述目标键对应的值的平均值为所述第三扰动键值对数据中第二值的总和与所述第三扰动键值对数据的数量的比值。
9.如权利要求8所述的方法,其特征在于,所述第三扰动键值对数据的数量为N,所述方法还包括:
若第三数量或第四数量/>则对所述第三数量/>以及所述第四数量/>进行校正,以使所述第三数量/>以及所述第四数量/>之和为所述第三扰动键值对数据的数量。
10.如权利要求7-9中任一项所述的方法,其特征在于,所述方法还包括:
向所述多个用户设备发送所述目标键的所述平均值。
11.一种用户键值对数据的发送装置,其特征在于,所述装置包括至少一个处理器和存储器,所述至少一个处理器与所述存储器耦合,所述存储器用于存储计算机程序,所述处理器用于从所述存储器中调用并运行所述计算机程序,
所述至少一个处理器,用于获取第一目标键值对数据<k1,v1>,其中k1为所述第一目标键值对数据中键的取值,v1为所述第一目标键值对数据中值的取值;
所述至少一个处理器,还用于向数据收集者发送对所述第一目标键值对数据进行扰动后得到的第一扰动键值对数据<K1 *,V1 *>,
其中,所述第一扰动键值对数据按照预设概率随机取值为/>或者<b,v>,/>是通过对v1进行扰动得到,a,b,v均为预设数值,且a,b为不相同的数值;当取值为/>时,所述第一扰动键值对数据<K1 *,V1 *>为有效数据,或当取值为<b,v>时,所述第一扰动键值对数据<K1 *,V1 *>为无效数据。
12.如权利要求11所述的装置,其特征在于,所述至少一个处理器具体用于:
从第一键集合中选择目标键,所述第一键集合包含所述数据收集者待收集的键值对数据的键;
在所述目标键属于第二键集合的情况下,从用户设备记录的键值对数据中选择包含所述目标键的键值对数据作为所述第一目标键值对数据,所述第二键集合包括所述用户设备记录的键值对数据中的键。
13.如权利要求12所述的装置,其特征在于,所述至少一个处理器还用于:
在所述目标键不属于所述第二键集合的情况下,向所述数据收集者发送第二扰动键值对数据所述第二扰动键值对数据/>按照所述预设概率随机取值为/>或者<b,v>,/>是对预配置的目标值v2进行扰动得到的。
14.如权利要求11或13所述的装置,其特征在于,<b,v>为<0,0>,a为不为零的实数。
15.如权利要求11-13中任一项所述的装置,其特征在于,所述至少一个处理器还用于:
接收所述数据收集者返回的所述目标值v2,所述目标值v2为所述数据收集者历史统计的所述目标键对应的值的平均值。
16.如权利要求12或13所述的装置,其特征在于,所述至少一个处理器还用于:
通过随机采样,从所述第一键集合中选择所述目标键。
17.一种用户键值对数据的统计装置,其特征在于,包括至少一个处理器和存储器,所述至少一个处理器与所述存储器耦合,所述存储器用于存储计算机程序,所述处理器用于从所述存储器中调用并运行所述计算机程序,
所述至少一个处理器,用于获取扰动键值对数据集合,所述扰动键值对数据集合包括多个用户设备发送的多个扰动键值对数据,所述多个扰动键值对数据用于统计目标键的频率以及所述目标键对应的值的平均值,每个扰动键值对数据包括第一值K*和第二值V*,且所述每个扰动键值对数据<K*,V*>按照预设的概率随机取值为或者<b,v>,/>是通过对用户设备记录的值v1进行扰动得到,a,b,v均为预设数值,且a,b为不相同的数值;当取值为/>时,第一扰动键值对数据<K1 *,V1 *>为有效数据,或当取值为<b,v>时,所述第一扰动键值对数据<K1 *,V1 *>为无效数据;
所述至少一个处理器,还用于根据所述扰动键值对数据集合中的第一值,统计目标键在所述键值对数据集合中的频率;
所述至少一个处理器,还用于根据所述扰动键值对数据集合中的第二值,统计所述目标键对应的值在所述键值对数据集合中的平均值。
18.如权利要求17所述的装置,其特征在于,所述目标键的所述频率为第三扰动键值对数据的数量与所述多个用户设备的数量的比值,所述第三扰动键值对数据为所述扰动键值对数据集合中第一值K*为a的扰动键值对数据,
所述目标键对应的值的平均值为所述第三扰动键值对数据中第二值的总和与所述第三扰动键值对数据的数量的比值。
19.如权利要求18所述的装置,其特征在于,所述第三扰动键值对数据的数量为N,所述至少一个处理器,还用于:
若第三数量或第四数量/>则对所述第三数量/>以及所述第四数量/>进行校正,以使所述第三数量/>以及所述第四数量/>之和为所述第三扰动键值对数据的数量。
20.如权利要求17-19中任一项所述的装置,其特征在于,所述至少一个处理器还用于:
向所述多个用户设备发送所述目标键的所述平均值。
CN201811161746.5A 2018-09-30 2018-09-30 键值对数据的收集方法和装置 Active CN110968612B (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN201811161746.5A CN110968612B (zh) 2018-09-30 2018-09-30 键值对数据的收集方法和装置
PCT/CN2019/108900 WO2020063946A1 (zh) 2018-09-30 2019-09-29 键值对数据的收集方法和装置
EP19864528.5A EP3779722A4 (en) 2018-09-30 2019-09-29 KEY-VALUE PAIR DATA COLLECTION PROCESS AND APPARATUS
US17/108,780 US11615099B2 (en) 2018-09-30 2020-12-01 Method and apparatus for collecting key-value pair data

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811161746.5A CN110968612B (zh) 2018-09-30 2018-09-30 键值对数据的收集方法和装置

Publications (2)

Publication Number Publication Date
CN110968612A CN110968612A (zh) 2020-04-07
CN110968612B true CN110968612B (zh) 2023-07-18

Family

ID=69949307

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811161746.5A Active CN110968612B (zh) 2018-09-30 2018-09-30 键值对数据的收集方法和装置

Country Status (4)

Country Link
US (1) US11615099B2 (zh)
EP (1) EP3779722A4 (zh)
CN (1) CN110968612B (zh)
WO (1) WO2020063946A1 (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111737259B (zh) * 2020-06-19 2023-09-19 中国银行股份有限公司 数据互锁方法及装置、支付数据生成方法及装置
CN113535808B (zh) * 2021-06-24 2022-09-16 复旦大学 基于安全多方计算的键值对模型安全训练与推理方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104408176A (zh) * 2014-12-16 2015-03-11 湖南师范大学 一种基于云计算平台的数据处理方法
WO2015048140A1 (en) * 2013-09-24 2015-04-02 Intelligent Intellectual Property Holdings 2 Llc Systems and methods for storage collision management
CN107766740A (zh) * 2017-10-20 2018-03-06 辽宁工业大学 一种Spark 框架下的基于差分隐私保护的数据发布方法

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102724106B (zh) * 2011-03-30 2015-03-11 华为技术有限公司 媒体接入控制地址的学习方法、网络侧设备和系统
EP2602952A1 (en) * 2011-12-07 2013-06-12 Gemalto SA Cryptographic method for protecting a key hardware register against fault attacks
CN104135362B (zh) 2014-07-21 2017-06-16 南京大学 一种基于差分隐私发布的数据的可用性计算方法
US10216966B2 (en) * 2015-02-25 2019-02-26 Netapp, Inc. Perturb key technique
CN104735166B (zh) * 2015-04-13 2018-05-01 李金忠 基于MapReduce和多目标模拟退火的Skyline服务选择方法
CN105893483A (zh) * 2016-03-29 2016-08-24 天津贝德曼科技有限公司 大数据挖掘过程模型总体框架的构造方法
US10956603B2 (en) 2016-04-07 2021-03-23 Samsung Electronics Co., Ltd. Private dataaggregation framework for untrusted servers
US10885467B2 (en) 2016-04-28 2021-01-05 Qualcomm Incorporated Differentially private iteratively reweighted least squares
US9705908B1 (en) 2016-06-12 2017-07-11 Apple Inc. Emoji frequency detection and deep link frequency
US10447661B1 (en) 2016-12-23 2019-10-15 Iqvia Inc. System and method for privacy-preserving genomic data analysis
CN107423636B (zh) * 2017-07-06 2021-05-04 北京航空航天大学 一种基于MapReduce的差分隐私K均值聚类方法
CN107862220A (zh) * 2017-11-28 2018-03-30 河海大学 一种MapReduce框架下基于差分隐私的匿名协同方法
CN109063502B (zh) * 2018-08-13 2022-03-01 创新先进技术有限公司 数据加密、数据分析方法和装置
US10795999B1 (en) * 2018-09-28 2020-10-06 NortonLifeLock Inc. Identifying and protecting against computer security threats while preserving privacy of individual client devices using condensed local differential privacy (CLDP)
US10789363B1 (en) * 2018-09-28 2020-09-29 NortonLifeLock Inc. Identifying and protecting against computer security threats while preserving privacy of individual client devices using condensed local differential privacy (CLDP)

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015048140A1 (en) * 2013-09-24 2015-04-02 Intelligent Intellectual Property Holdings 2 Llc Systems and methods for storage collision management
CN104408176A (zh) * 2014-12-16 2015-03-11 湖南师范大学 一种基于云计算平台的数据处理方法
CN107766740A (zh) * 2017-10-20 2018-03-06 辽宁工业大学 一种Spark 框架下的基于差分隐私保护的数据发布方法

Also Published As

Publication number Publication date
CN110968612A (zh) 2020-04-07
US11615099B2 (en) 2023-03-28
US20210081412A1 (en) 2021-03-18
EP3779722A1 (en) 2021-02-17
WO2020063946A1 (zh) 2020-04-02
EP3779722A4 (en) 2021-09-15

Similar Documents

Publication Publication Date Title
US10560465B2 (en) Real time anomaly detection for data streams
US11025674B2 (en) Cybersecurity profiling and rating using active and passive external reconnaissance
US10936717B1 (en) Monitoring containers running on container host devices for detection of anomalies in current container behavior
US11316851B2 (en) Security for network environment using trust scoring based on power consumption of devices within network
US9411955B2 (en) Server-side malware detection and classification
CN113557512A (zh) 安全的多方到达率和频率估算
CN112650762B (zh) 数据质量监控的方法、装置、电子设备以及存储介质
US11240275B1 (en) Platform and method for performing cybersecurity analyses employing an intelligence hub with a modular architecture
US11176257B2 (en) Reducing risk of smart contracts in a blockchain
US20120192251A1 (en) Determining trust data for devices in a network
US20220329591A1 (en) Method, apparatus and device for generating device fingerprint and storage medium
CN110968612B (zh) 键值对数据的收集方法和装置
KR102462128B1 (ko) 컴퓨터 보안 사건을 보고하기 위한 시스템 및 방법
Soni et al. An empirical client cloud environment to secure data communication with alert protocol
US11811587B1 (en) Generating incident response action flows using anonymized action implementation data
JP2017199250A (ja) 計算機システム、データの分析方法、及び計算機
US11533246B1 (en) Network probe placement optimization
US11763039B2 (en) Automatically determining storage system data breaches using machine learning techniques
Quinan et al. Activity and Event Network Graph and Application to Cyber-Physical Security
US10901979B2 (en) Generating responses to queries based on selected value assignments
CN115412358B (zh) 网络安全风险评估方法、装置、电子设备及存储介质
US20230353597A1 (en) Detecting matches between universal resource locators to mitigate abuse
US11853173B1 (en) Log file manipulation detection
US20240086242A1 (en) Method and non-transitory computer-readable storage medium and apparatus for analyzing algorithms designed for running on network processing unit
US20230051880A1 (en) Collecting endpoint data and network data to detect an anomaly

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
GR01 Patent grant
GR01 Patent grant