一种用户数据处理方法、装置、计算设备和存储介质与流程

文档序号:26588515发布日期:2021-09-10 20:06阅读:44来源:国知局
一种用户数据处理方法、装置、计算设备和存储介质与流程

1.本技术涉及计算机技术领域,尤其涉及一种用户数据处理方法、装置、计算设备和存储介质。


背景技术:

2.用户数据分析技术是帮助广告主更好地确定曝光人群,以提高广告的转化率。广告主上传一个号码包给投放平台,投放平台根据号码包查询关联的用户数据包,将获得的用户数据包返回给广告主。某些广告主可以利用不同号码包所对应的用户数据包结果去套取得到具体用户的用户数据,造成用户数据的泄露。


技术实现要素:

3.本技术实施例提供一种用户数据处理方法、装置、计算设备和存储介质,用于提高查询过程中用户数据的安全性。
4.第一方面,提供一种用户数据处理方法,包括:
5.接收用户数据分析请求,所述用户用据分析请求中包含待分析的用户标识包;
6.获取根据所述用户标识包进行用户数据分析的分析结果;
7.获得对所述分析结果加噪处理的加噪结果,其中,所述加噪结果是通过满足差分隐私的噪声函数,对所述分析结果进行加噪处理获得的;
8.响应所述用户数据分析请求,发送所述加噪结果。
9.第二方面,提供一种用户数据处理装置,包括:
10.接收模块,用于接收用户数据分析请求,所述用户用据分析请求中包含待分析的用户标识包;
11.获得模块,用于获取根据所述用户标识包进行用户数据分析的分析结果,以及获得对所述分析结果加噪处理的加噪结果,其中,所述加噪结果是通过满足差分隐私的噪声函数,对所述分析结果进行加噪处理获得的;
12.发送模块,用于响应所述用户数据分析请求,发送所述加噪结果。
13.在一种可能的实施例中,所述获得模块具体用于:
14.若缓存中不存在与所述分析结果相同的历史分析结果,则通过满足差分隐私的噪声函数,对所述分析结果进行加噪处理,获得加噪结果,并将所述加噪结果与所述分析结果关联存储;其中,所述缓存中存储历史分析结果对应的标识与历史分析结果关联的加噪结果之间的对应关系;
15.若缓存中存在与所述分析结果相同的历史分析结果,则将所述历史分析结果关联的加噪结果作为所述分析结果的加噪结果;其中,所述历史分析结果是在所述分析结果生成之前所生成的一个分析结果。
16.在一种可能的实施例中,所述获得模块具体用于:
17.生成所述分析结果的第一结果标识;
18.若缓存中存在与所述第一结果标识相同的第二结果标识,则将所述第二结果标识关联的加噪结果作为所述分析结果的加噪结果。
19.在一种可能的实施例中,当所述分析结果包括多个项时,所述加噪结果是通过如下加噪步骤处理获得的:
20.对所述分析结果中不为零的项分别添加噪声项,获得加噪中间结果;其中,所述噪声项是根据预设的隐私预算以及所述噪声函数确定的;
21.确定所述加噪中间结果的各项之和与所述分析结果的各项之和的差值;
22.根据所述差值,对所述加噪中间结果中的各项进行修正处理,直到修正后各项均大于零,且修正后各项之和与所述分析结果的各项之和相等,获得加噪结果。
23.在一种可能的实施例中,所述装置还包括第一验证模块,所述第一验证模块用于:
24.获得测试过程中的样本加噪结果;
25.根据所述样本加噪结果,确定测试选定的样本噪声函数和样本噪声参数;
26.根据确定出的所述样本噪声函数和所述样本噪声参数,确定两个不同样本用户标识包中每个样本用户标识包对应的样本加噪结果;
27.确定所述两个样本用户包标识对应的样本加噪结果的取自然对数的结果小于或等于隐私预算。
28.在一种可能的实施例中,所述装置还包括验证模块,所述第二验证模块用于通过如下步骤验证噪声函数满足差分隐私:
29.获取相邻两个样本用户标识包;其中,所述相邻两个样本用户标识包包括第一样本用户标识包和第二样本用户标识包;
30.通过选定的噪声函数,确定第一样本用户标识包对应的样本加噪结果的第一概率密度函数,以及确定第二样本用户标识包对应的样本加噪结果的第二概率密度函数;
31.若所述第一概率密度函数与第二概率密度函数在任意点上对应的结果之比取自然对数的结果小于或等于隐私预算,则确定所述噪声函数满足差分隐私。
32.在一种可能的实施例中,所述噪声函数对应的隐私预算的取值是通过如下步骤获得的:
33.分别确定在不同取值的隐私预算下,通过所述噪声函数输出的噪声项大小的结果分布概率;
34.根据一次允许透视的最小用户量,从各个噪声项大小的结果分布概率确定出目标噪声项;
35.根据所述目标噪声项关联的隐私预算的取值,以及所述隐私预算的最大取值,确定出所述隐私预算的取值范围;
36.从所述隐私预算的取值范围中确定出所述隐私预算的目标取值。
37.在一种可能的实施例中,当所述用户数据分析请求中包括多个用户标识包时,所述加噪结果包括分别对每个用户标识包关联的分析结果进行加噪处理后的结果。
38.在一种可能的实施例中,所述装置还包括拒绝模块,所述拒绝模块用于:
39.在从用户设备接收到所述用户数据分析请求之后,若确定在预设时长内,从所述用户设备接收到的请求的总次数达到预设次数,则拒绝响应所述用户数据分析请求。
40.第三方面,提供一种计算设备,包括:
41.至少一个处理器,以及
42.与所述至少一个处理器通信连接的存储器;
43.其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述至少一个处理器通过执行所述存储器存储的指令实现如第一方面中任一项所述的方法。
44.第四方面,提供一种存储介质,所述存储介质存储有计算机指令,当所述计算机指令在计算机上运行时,使得计算机执行如第一方面中任一项所述的方法。
45.由于本技术实施例采用上述技术方案,至少具有如下技术效果:
46.本技术实施例中,在获得用户标识包之后,根据用户标识包获得对应的分析结果,在获得分析结果之后,可以获得通过差分隐私的噪声函数,对分析结果进行加噪处理,获得加噪结果,并向请求者反馈加噪结果,由于请求者获得的加噪结果是对真实的分析结果进行加噪处理后的结果,也就是说,分析结果和加噪结果存在一定的差异,从而避免了请求者通过多次组合查询套取用户画像的情况,保证了用户数据的安全性。且,在请求者请求分析数据时,获得分析结果加噪处理后的加噪结果,使得请求者对加噪过程无感知,使得请求者对更容易接受加噪结果。
附图说明
47.图1为相关技术中提供的一种套取用户画像的过程示意图;
48.图2为本技术实施例提供的一种用户数据处理方法的场景示意图一;
49.图3为本技术实施例提供的一种用户数据处理方法的场景示意图二;
50.图4为本技术实施例提供的一种组合查询的示例图;
51.图5为本技术实施例提供的一种组合查询模型的示例图
52.图6为本技术实施例提供的一种用户数据处理方法涉及的交互示意图;
53.图7为本技术实施例提供的一种用户设备显示的界面示例图一;
54.图8为本技术实施例提供的一种加噪处理的过程示意图;
55.图9为本技术实施例提供的一种用户设备显示的界面示例图二;
56.图10为本技术实施例提供的另一种用户数据处理方法涉及的交互示意图;
57.图11为本技术实施例提供的一种用户数据处理装置的结构示意图;
58.图12为本技术实施例提供的一种计算设备的结构示意图。
具体实施方式
59.为了更好的理解本技术实施例提供的技术方案,下面将结合说明书附图以及具体的实施方式进行详细的说明。
60.为了便于本领域技术人员更好地理解本技术中的技术方案,下面对本技术涉及的专业名词进行介绍。
61.广告主:向系统服务付费,以在系统侧产生面向用户的广告。
62.用户标识包:是指待分析的用户群体的多个用户标识,用户标识用于表示某个用户,用户标识可以是用户所使用的用户设备标识,具体例如终端设备的物理地址,例如个人计算机的媒体访问控制介质(media access control,mac),用户标识还可以是用户在不同的平台上的账号对应的账号标识,例如用户在社交平台上的社交账号等。样本用户标识包
是指在验证过程中使用的用户标识包,可能与请求者实际进行查询过程中的用户标识包完全相同,也可能不同。
63.用户数据分析请求:用户数据分析请求用于请求分析用户标识包中的用户数据,用户数据分析请求包括带分析的一个或多个用户表示包,用户数据分析请求还可以包括请求分析用户数据的数据维度。数据维度可以理解为请求分析用户群体指定方面的特征数据,用户数据分析请求中还可以包括一个数据维度或几个数据维度,数据维度例如学历维度、性别维度、地域维度等。对于一个数据维度而言,可以包括多个特征,可以请求分析用户标识包中用户群体在各个特征上的总体数据。针对一个数据维度,用户数据分析请求中还可以包括该维度上包括各个特征顺序,比如请求者可以设定在学历维度上的各个特征的顺序依次为小学-初中-高中-大学-硕士-研究生等。用户数据分析请求还可以包括请求者对应的用户标识等,请求者的用户标识也可以是请求者使用的设备标识或请求者的账号标识等。请求者请求数据分析的过程又可以称为一次查询。
64.相邻两条数据:又可以称邻近两条数据,又可以称兄弟数据集,是指两条数据之间只差相差一条数据,比如兄弟数据包括a数据和b数据,a数据只比b数据多一个数据项,其余数据项均与b的数据项相同。相邻两个样本用户标识指两个样本用户标识只相差一个用户标识,例如相邻两个样本用户标识包括第一样本用户标识包和第二样本用户标识包,第一样本用户标识包只比第二样本用户标识包多一个用户标识,第一样本用户标识中包括的其它用户标识均和第二样本用户标识包中的用户标识相同。
65.差分隐私:一种加密处理技术的安全定义。差分隐私定义如下:给定数据集x0,x1,两者为兄弟数据集,给定噪声函数两者为兄弟数据集,给定噪声函数表示的取值范围,如果在数据集x0,x1上输出任意结果满足下列不等式,那么符合ε-差分隐私。
[0066][0067]
把上边公式的绝对值去掉得到下面不等式:
[0068][0069]
ε作为噪声参数,也称为隐私预算,用于表示隐私保护的程度。当ε越大表示和输出相同值的概率差异越大,数据越不安全;反之,当ε越小和输出相同值的概率越接近,数据越安全。
[0070]
允许透视的最小用户量:是指在查询过程中,能够暴露的人群数量的最小值。
[0071]
下面对本技术涉及的相关技术进行介绍。
[0072]
在一种相关技术中,请求者可以通过终端设备向投放平台发送用户标识包,投放平台根据号码包,查询分析得到分析结果,并将分析结果反馈给请求者。例如,广告主上传一个号码包包括1000人,请求分析性别维度,投放平台统计结果为男548人,女452人。就把人群总数1000,男548和女452,投放平台统计结果返回给广告主。
[0073]
由于这种方式是请求者可以自由组合上传的号码包,因此,请求者可以套取具体某个用户的用户画像。
[0074]
例如,请参照图1,表示广告主套取用户画像的示意图。广告主第一次上传号码包1,假设包含用户标识1~100,请求按照学历维度查询。投放平台按照学历维度查询统计信息获得分析结果:初中20人,高中15人,大学30人,硕士14人,博士21人。
[0075]
接着,广告主第二次上传号码包2,号码包2包含用户标识1~100,以及x,x为广告主想要套取画像信息的设备号,广告主做同样的统计查询。投放平台经过统计分析得到分析结果:初中20人,高中15人,大学30人,硕士15人,博士21人。
[0076]
因此,广告主可以从这两次查询之后,得知在硕士中人数增加1,可以推断出新增的x对应的用户学历为硕士,从而导致该用户的用户画像泄露。
[0077]
在另一种相关技术中,会对分析结果进行模糊化,模糊化处理可以视为简单地四舍五入的方式,这种处理方式,只是简单地对结果进行模糊处理,同样很难保证数据的安全性。
[0078]
例如,广告主上传号码包,用于分析号码包中包括的男性。广告主上传号码包3,包括10000条号码,实际男性3223个,返回32%。广告主查询号码包4,包括上述10000条号码和男*1,投放平台返回实际男性3224个(32.24%),返回32%。广告主查询号码包5,包括上述10000条号码+男*39,实际男性3262个(32.49%),返回32%。广告主查询号码包6,包括上述10000条号码+男*40,实际男性3263个(32.50%),返回33%。广告主查询号码包6,查询上述10000条号码+男*39+张三。当张三为男时,投放平台返回33%。当张三为女时,返回32%。
[0079]
因此,采用模糊化的方法,只是简单地增加了攻击者前期查从32%到33%跳跃边界的难度,并没有对数据安全有实质意义上的保护。
[0080]
下面对本技术的设计思想进行介绍。
[0081]
鉴于此,本技术发明人设计一种用户数据处理方法,该方法在获得准确的分析结果之后,可以利用满足差分隐私的噪声函数,对分析结果进行加噪处理,使得请求者获得的结果为加噪处理后的结果,从而避免了请求者多次组合查询套取用户画像的情况,保证了数据的安全性。该方法采用满足差分隐私的噪声函数对分析结果进行处理,大部分的噪声函数对应的结果是满足一定的概率分布,这样使得每次获得的加噪结果具有一定的随机性,更进一步地保护了用户数据的安全性。
[0082]
进一步地,请求者可以对用户标识包进行任意组合进行查询,这种查询方式又可以称为组合查询场景,本技术发明人考虑到在这种组合查询情况下,请求者可以同时针对一个用户标识包查询多项数据,且请求者能够通过用户标识包提前预知一些基础数据,因此,为了保证加噪结果更合理,更能被请求者接受,在对分析结果中各项进行加噪处理之后,还会对加噪处理后的各项进行后置处理,最后使得加噪结果中各项之和准确的分析结果中各项之和相等,提高最后获得的加噪结果更为合理。
[0083]
进一步地,本技术发明人考虑到符合差分隐私的部分噪声函数的结果是符合概率分布,且可能是沿y轴对称的概率分布。因此,当请求者针对同样的用户标识包的查询次数足够多,请求者可以利用多次查询的结果求平均值,以获得逼近真实值的结果,这样可能也会导致用户数据泄露。因此,本技术发明人设计一种缓存机制,可以关联缓存每次请求对应的准确的分析结果以及分析结果对应的加噪结果,当请求者同样的查询时,可以向该请求者反馈之前缓存的加噪结果,从而避免请求者通过多次相同的查询套取用户画像的情况,进一步保证数据安全性。另外,为了限制同一个请求者的访问次数,保证系统的正常运行,
当同一个请求者在一段时间内的请求次数超过一定的数量,可以拒绝响应该请求者的请求。
[0084]
在介绍完本技术的设计思想之后,下面对本技术的应用场景进行介绍。
[0085]
本技术实施例设计的用户数据处理方法可以由用户数据处理设备执行,该用户数据处理设备可以是通过具有计算处理功能的设备实现,例如可以通过服务端设备实现,服务端设备例如服务器,服务器可以是单个服务器或者服务器集群,服务器可以是实体服务器或云服务器。用户处理设备也可以是服务接口,当需要使用该服务时,设备调动该服务接口,实现本技术中的用户数据处理方法。下面对用户数据处理设备涉及的具体部署场景进行示例介绍。
[0086]
第一种:用户数据处理设备通过处理平台220实现。
[0087]
请参照图2,表示本技术中的用户数据处理方法的应用场景示意图,该应用场景中包括用户设备210,处理平台220,第一数据库240和第二数据库230。用户设备210例如手机或个人计算机等。图2中是以用户设备210为手机示例,实际上不限制用户设备210的类型。请求者可以通过用户设备210访问处理平台220,处理平台220可以设置在服务器中,服务器可以是单个服务器或者服务器集群。第一数据库240是指请求者可以访问的数据库,可以是前端数据库。第二数据库230是处理平台220用于存放数据的数据库,可以是后端数据库,第二数据库230可以是与处理平台220设置在同一设备中,也可以是分别设置在不同的设备中。
[0088]
请求者可以通过用户设备210或用户设备210中的客户端向处理平台220发送用户数据分析请求,请求者例如广告主。在处理平台220接收到用户数据分析请求之后,可以根据该用户数据分析请求,从第二数据库230中获取与该数据分析请求中包含的用户标识包相关的用户数据,并根据这些用户数据,分析得到分析结果,处理平台220对该分析结果进行加噪处理,获得加噪结果。处理平台220将加噪结果反馈给请求者对应的用户设备210。
[0089]
在该场景下,处理平台220用于处理用户数据分析请求,以及对分析结果进行加噪处理。
[0090]
第二种:用户数据处理设备通过加噪服务300实现。
[0091]
请参照图3,表示另一种用户数据处理方法的场景示意图。该应用场景中包括用户设备210,处理平台220,第二数据库230和加噪服务300。加噪服务300可以通过计算设备实现。
[0092]
请求者可以通过用户设备210可以向处理平台220发送用户数据分析请求,处理平台220根据用户数据分析请求,获得分析结果,并将分析结果发送给加噪服务300,加噪服务300可以对该分析结果进行加噪处理,并将加噪处理后的加噪结果反馈给请求者关联的用户设备210。
[0093]
在该场景下,处理平台220和加噪服务300单独设置,加噪服务300用于对分析结果进行加噪处理。
[0094]
在介绍用户数据处理方法之前,由于本技术涉及利用不同方式对数据进行处理过程,因此需要验证不同的处理方式均是符合差分隐私的,因此下面先对本技术涉及的用户处理方法的原理,以及验证各个方式符合差分隐私的过程进行说明。
[0095]
第一部分,验证本技术涉及的组合查询符合差分隐私。
[0096]
本技术涉及的用户数据处理方法适用于组合查询过程,组合查询可以理解为请求者可以多次以任意方式组合用户标识包,通过用户标识包向处理平台请求查询用户数据。
[0097]
下面基于组合查询过程,构建组合查询模型,并验证本技术涉及的组合查询模型是符合差分隐私,具体验证过程如下:
[0098]
请参照图4,表示一种组合查询模型的示例图,请求者可以分别上传1~n个用户标识包,处理平台220可以针对每个用户标识包反馈加噪结果反馈给请求者。结合图5,对该情况进行理论抽象得到的模型,在该模型中,请求者可以每次上传不同的用户标识包,处理平台220反馈对应的加噪结果。下面对验证组合查询模型的过程进行介绍,该过程也可以理解为测试过程。
[0099]
s1.1,定义请求者发送的用户标识包,请求者选择的噪声函数,请求者选择的噪声参数,获得输出的加噪结果;
[0100]
s1.2,根据请求者获得的加噪结果确定该请求者选定的噪声函数、噪声参数,定义该请求者不同样本用户标识包对应的加噪结果;
[0101]
s1.3,验证任意两个样本用户包标识对应的加噪结果的取自然对数的结果小于或等于隐私预算。
[0102]
s1.1中,假定请求者输出两个样本用户标识包和两个样本用户标识包为相邻两个样本用户标识包,表示中的其中一个噪声函数,w
i
表示该噪声函数对应的噪声参数,该请求者发送用户数据分析请求给处理平台220,处理平台220接收之后,可以生成加噪结果,具体可以表示为:
[0103]
假定请求者已知的一组结果为v=(r,y1,..,y
k
),r表示抛硬币实验,y1,..,y
k
分别表示是不同噪声函数的对应得输出,具体:
[0104]
令s={v:pr[v0=v]≤e
ε

·
pr[v1=v]},对于集合s,存在:
[0105]
pr[v0∈s]≤e
ε

·
pr[v1∈s]
[0106]
令随机变量表示请求者进行第一次实验看到的结果;令随机变量表示请求者进行二次实验看到的结果。那么指定一个结果集v=(r,y1,..,y
k
),则有:
[0107][0108]
s1.2中,针对每一个前缀(r,y1,..,y
i-1
),限定并分析随机变量的期望和最大可能的取值当前缀确定时,也就能确定另一对数据包和噪声函数和噪声参数w
i
,以及请求者的获得的加噪结果。这样会服从分布,对于任意y
i
有:
[0109][0110]
根据ε-差分隐私,是差分隐私机制,有
[0111][0112]
s1.3中,根据定理:如果两个随机变量y和z满足d

(y||z)≤ε并且d

(z||y)≤ε,那么d(y||z)≤ε
·
(e
ε-1),因此,结合上式有:
[0113][0114]
因此,可以看出本技术涉及的组合查询模型是符合ε-差分隐私的定义,上述过程验证了本技术涉及的组合查询模型是符合差分隐私的。
[0115]
第二部分,选定噪声函数,验证该噪声函数符合差分隐私。
[0116]
在确定本技术涉及的组合查询模型符合差分隐私之后,可以选择对应的噪声函数,并验证该选择的噪声函数符合隐私分布,下面以噪声函数选择拉普拉斯噪声函数为例,验证该噪声函数符合差分隐私的过程如下:
[0117]
s2.1,获取拉普拉斯噪声函数定义;
[0118]
s2.2,获取两个相邻样本用户标识包;其中,两个相邻样本用户标识包包括第一样本用户标识包和第二样本用户标识包;
[0119]
s2.3,通过选定的噪声函数,确定第一样本分析结果对应的样本加噪结果的第一概率密度函数,以及确定第二样本分析结果对应的样本加噪结果的第二概率密度函数,以及确定第一概率密度函数与第二概率密度函数之比取自然对数的结果小于或等于隐私预算,
[0120]
s2.1中,拉普拉斯分布的定义为其中方差是2b2,简单标记为lap(b),其表示b标准差的拉普拉斯分布,在差分隐私的场景中就是对应噪声参数ε。
[0121]
由拉普拉斯分布引申出拉普拉斯机制的定义:给的任意函数f:n
|x|

r
k
,拉普拉斯机制定义为:m
l
(x,f(
·
),ε)=f(x)+(y1,

,y
k
)。
[0122]
s2.2中,令x∈n
|x|
并且y∈n
|x|
并且‖x-y‖1≤1,x可以表示第一样本用户标识包,y表示第二样本用户标识包,x对应的加噪结果,也就是第一样本分析结果可以表示为y对应的加噪结果,也就是第二样本分析结果可以表示为
[0123]
假定第一样本分析结果对应的第一概率密度函数为p
x
,第二样本分析结果对应的第二概率密度函数为p
y
,两个概率密度函数在任意点z∈r
k
的结果比值具体表示为:
[0124][0125]
其中,第一概率密度函数是指利用拉普拉斯噪声函数表示的第一样本用户标识包所对应的加噪结果,第二概率密度函数是指利用该拉普拉斯噪声函数表示的第二样本用户标识包所对应的加噪结果。
[0126]
s2.3中,根据三角不等式,可以得出:
[0127][0128]
进一步地,
[0129]
通过上述证明过程,可以看出两个概率密度函数在任意点上的结果比值取自然对数之后均小于或等于噪声函数,因此,可以确定拉普拉斯噪声函数是符合差分隐私的。
[0130]
作为一种实施例,噪声函数可以选择指数函数或高斯分布函数等,本技术不对噪声函数的具体类型进行限制。针对其它类型的噪声函数,其验证方式可以参照前文的拉普拉斯函数的验证过程,此处不再赘述。
[0131]
第三部分,对添加噪声项后的加噪中间结果进行后置处理,获得加噪结果。
[0132]
在某些情况下,请求者请求查询的数据项不止一个,例如查询结果为x={x1,x2,

,x
k
},其中x是表示指定维度下向量,每一个x
i
表示在每一个分量上对应的计数,添加拉普拉斯噪声之后,为x

={x
′1,x
′2,

,x

k
},每一个x

i
表示每个分量添加噪声之后的加噪中间结果。
[0133]
作为一种实施例,处理平台220可以直接向请求者关联的用户设备反馈该加噪中间结果,也就是说,该加噪中间结果就是最终的加噪结果。
[0134]
但是由于组合查询情况下,请求者可以获知一些基础数据,所以可以对加噪中间结果进行后置处理,使得最终的加噪结果更加合理,使得请求者更能接受最后的加噪结果。
[0135]
具体组合查询过程中,请求者的业务需求表达如下:
[0136]
条件一:最终的加噪结果中各项之和与准确的分析结果各项之和相等,具体表达为x
′1+x
′2+

+x

k
=x1+x2+

+x
k

[0137]
条件二:组合查询过程主要涉及计数,因此添加噪声之后每项大于或等于零,具体表示为x

i
≥0,1≤i≤k。
[0138]
条件三:分析结果为零的项,加噪结果中对应项也为零,具体表示为如果x
i
=0,那么x

i
=0。
[0139]
当然,本技术实施例主要是以三个条件为例设计后置处理算法,实际上不同的使用情况,具体设置的后置处理算法可能有所不同。下面基于上述三个条件,设计的后置处理算法具体如下:
[0140]
s3.1,对分析结果中不为零的项分别添加噪声项,获得加噪中间结果;其中,噪声项是根据预设的隐私预算以及噪声函数确定的。
[0141]
获得的分析结果具体为x={x1,x2,

,x
m
},该分析结果中x中不为0的项假设具体为x1,x2,

,x
n
;n为小于或等于m的正整数。
[0142]
以噪声函数选择拉普拉斯噪声函数为例,确定出拉普拉斯噪声项为为分析结果中每一项添加拉普拉斯噪声项,获得加噪中间结果,具体可以表示为:
[0143][0144]
s3.2,确定加噪中间结果的各项之和与分析结果的各项之和的差值。
[0145]
作为一种实施例,可以将加噪中间结果中小于零的项置为0。
[0146]
将加噪中间结果中小于零的项置为0之后,可以确定加噪中间结果的各项之和sum(x

),以及分析结果的各项之和sum(x),并获得两个和的差值,具体可以表示为:
[0147]
diff=sum(x

)-sum(x)
[0148]
s3.3,根据差值,对加噪中间结果中的各项进行修正处理,直到修正后各项均大于零,且修正后各项之和与分析结果的各项之和相等,获得加噪结果。
[0149]
对于x

中每一项进行修正,具体表达示例如下:
[0150][0151]
如果,将置为0,在对x

中每一项进行处理之后,可以重复上述s3.2的过程,直到各项均大于0,且各项之和与分析结果中各项之和相同,获得修正后的各项,具体表示为
[0152]
再将修正后的各项插入到原来的真实分析结果上的数据项的位置上,获得最终的加噪结果具体为:
[0153][0154]
上述过程可以对加噪中间结果进行进一步地处理,使获得的最后的加噪结果更合理,请求者更能接受最后的加噪结果。
[0155]
第四部分,验证后置处理过程符合差分隐私。
[0156]
由于后置处理过程会影响输出结果,因此也需要验证后置处理过程是符合差分隐私的,具体证明如下:
[0157]
(1)假定后置处理算法为一个随机映射过程f。
[0158]
(2)则需要验证符合差分隐私,其中,表示选定的噪声函数。
[0159]
具体的,后置处理算法可以理解为一个r

r

的随机映射过程。令是一个ε-差分隐私算法,令后置处理算法为函数f:r

r

是一个任意随机映射,下面证明依然符合ε-差分隐私。
[0160]
指定任意相邻第二数据库x0和x1,‖x
0-x1‖≤1,对于任意结果令
[0161]
t={r∈r:f(r)∈s},则有:
[0162][0163]
因此,可以得到:从而证明后置处理算法过程符合差分隐私。
[0164]
第五部分,确定隐私预算。
[0165]
隐私预算ε决定了数据的安全性高低,隐私预算ε越高,暴露用户数据的可能性越低,但是输出的加噪结果与真实结果之间的差异可能也会越大,因此需要选择合适的隐私预算。隐私预算可以是处理平台220设定的,也可以手动设定的。下面对确定隐私预算的方式进行示例说明。
[0166]
s4.1,分别确定在不同取值的隐私预算下,通过所述噪声函数输出的噪声项大小的结果分布概率;
[0167]
s4.2,根据一次允许透视的最小用户量,从各个噪声项大小的结果分布概率确定出目标噪声项,并根据目标噪声项关联的隐私预算的取值,以及隐私预算的最大取值,确定出隐私预算的取值范围;
[0168]
s4.3,从隐私预算的取值范围,确定出隐私预算的目标取值。
[0169]
s4.1中,在确定噪声函数之后,可以将隐私预算取不同的值,确定不同隐私取值下,输出的噪声项的大小的结果分布概率。
[0170]
例如,以噪声函数为拉普拉斯函数为例,下表1为例,获得的不同隐私预算与对应的结果分布概率如下表1所示:
[0171]
表1
[0172][0173]
其中,表2中最左侧一列是ε取值,每一行是对应ε取值一定的情况下,噪声分布情况。以第一行为例,表示当ε=1时,10万次实验里,有30%的概率的噪声大小落在正负0.35以内,有50%的概率的噪声落在正负0.67以内,有90%的概率的噪声落在正负2.31以内,以此类推。由于计数都是整数返回,噪声选取时向下取整。当ε=0.5时,会有超过一半的概率向下取整得0,所以ε=0.5是满足数据安全的最大值。
[0174]
s4.2中,根据当前使用场景,确定噪声项最大值与最小用户量之间的关系,确定出噪声项最大值。根据噪声项最大值对应的隐私预算的取值,以及隐私预算的最大取值,从而
确定出隐私预算的取值范围,并从隐私预算的取值范围中确定出隐私预算的目标取值。
[0175]
s4.3中,作可以从隐私预算的取值范围中随机选择一个取值作为隐私预算的目标取值。也可以基于请求方和处理方双方需求,从隐私预算的取值范围中选择目标取值。
[0176]
继续以表1为例,当ε=0.5时,会有超过一半的概率向下取整得0,所以ε=0.5是满足数据安全的最大值。ε对应的噪声项最大值为n表示最小用户量,在广告投放业务中,允许透视的人群数量最小是1000,因此对应的噪声项最大值为31.6%,选择50%为分界点,则ε的最小值应为0.02,从而确定出ε的取值范围为:[0.02,0.5]。
[0177]
或者,可以根据不同隐私预算的取值下,预计在预设时长内的数据泄露量,根据该数据泄露量,从ε的取值范围中选择合适的目标取值。
[0178]
下面对不同取值的隐私预算进行定量的安全性分析,安全参数ε

、隐私预算和组合查询次数k之间的关系具体可以表示如下:
[0179]
ε

=kε(e
ε-1)
[0180]
其中,安全参数ε

可以理解为k次组合查询不能得到用户数据的概率。
[0181]
假设一个请求者一天查询8000次,具体得到的数据泄露量和隐私预算之间的关系具体如下表2:
[0182]
表2
[0183]
εk每天数据泄露量无180000.5240000.21266660.15016000.051964080.02125064
[0184]
可以看出,隐私预算的取值越小,数据泄漏量相对越小,证明数据安全性越高。
[0185]
作为一种实施例,本技术中的隐私预算的取值可以为0.05。
[0186]
第六部分,缓存分析结果以及对应的加噪结果。
[0187]
由于拉普拉斯噪声函数对应的结果的概率分布是沿y轴对称,因此在添加拉普拉斯噪声项之后,多次查询求结果的平均值接近真实值,下面结合表3示例隐私预算ε和查询次数的关系如下:
[0188]
表3
[0189][0190][0191]
从上述表3中可以看出当ε确定时,查询次数越多,越接近真实值。当查询次数一定时,ε越大越接近真实值。所以ε取值越小,就需要更多的查询次数才可以接近真实值,用户数据相对就越安全。
[0192]
由于大多的噪声函数是具有对称性的,因此可以在处理平台220中增加缓存,如果发现是相同的数据分析请求,可以返回缓存中存储的之前的加噪结果,从而避免了请求者利用多次相同查询套取用户画像的情况。缓存例如可以采用hbase缓存。
[0193]
在介绍完本技术涉及的用户数据处理方法的原理之后,下面基于图2论述的应用场景,对本技术涉及的用户数据处理过程进行示例说明。
[0194]
请参照图6,表示一种用户数据处理过程中的交互示意图。该方法包括:
[0195]
s601,处理平台220接收用户数据分析请求。
[0196]
具体的,当请求者想要查询某些用户标识包对应的用户数据时,可以通过用户设备210发起用户数据分析请求。例如用户设备210可以是从请求者获取得到用户标识包,或者获取请求者输入的用户标识包的路径之后,从对应路径处获取得到用户标识包。
[0197]
作为一种实施例,用户数据分析请求中还包括选择的数据维度。
[0198]
用户设备210还可以根据请求者的选择的数据维度,用户设备210根据请求者的操作,获得请求者选定的数据维度。
[0199]
可以是用户设备210显示有不同的数据维度,请求者选择对应的数据维度,或者可以是请求者直接输入数据维度的唯一标识,相当于用户设备210获得该数据维度。
[0200]
进一步地,在请求者选定数据维度之后,用户设备210可以调用该数据维度下的各个特征,用户设备210可以根据请求者选择的各个特征的先后顺序,获得数据维度对应的各个特征的排列顺序。或者,当请求者没有选定时,用户设备210可以按照默认顺序排列各个特征。
[0201]
在用户请求用户设备210时,用户设备210根据用户数据标识包,以及前文论述的数据维度等信息,生成用户数据分析请求,并将用户数据分析请求发送给处理平台220。
[0202]
例如,请参照图7,表示一种用户设备210的界面示意图,用户设备210上显示有上传用户标识包控件701和指定数据维度控件702,请求者可以点击上传用户标识包控件701上传用户标识包,例如上传如图7中的用户标识包1,该用户标识包包括101个用户对应的用户标识包,在点击上传用户标识包1之后,请求者可以点击指定数据维度控件702,指定请求分析的数据维度,例如请求者选定学历维度,并指定学历维度下的各个特征的顺序依次为:{初中,高中,大学,硕士,博士}。
[0203]
s602,处理平台220获取与用户数据分析请求中用户标识包对应的分析结果。
[0204]
如前文介绍的内容,第二数据库230中存储有用户标识关联的用户画像,在处理平台220获得用户标识包之后,可以根据各个用户标识,获取对应的用户数据,并对这些用户数据进行分析,获得请求者请求的数据维度的分析结果。
[0205]
例如,继续以图7中请求者的输入为例,处理平台220按照初中,高中,大学,硕士,博士的顺序得到的数据依次为:20、15、30、15和21,具体如下表4所示:
[0206]
表4
[0207]
初中高中大学硕士博士2015301521
[0208]
s603,处理平台220获得分析结果加噪处理后的加噪结果。
[0209]
方式一:
[0210]
处理平台220在获得分析结果之后,根据选择的符合差分隐私的噪声函数,对分析结果进行加噪处理。
[0211]
可以在分析结果中各项中增加噪声项。或者,在对分析结果中各项增加噪声项之后,获得加噪中间结果,再对加噪中间结果进行后置处理,获得最后的加噪结果,后置处理过程可以参照前文论述内容,此次不再赘述。
[0212]
方式二:
[0213]
处理平台220确定缓存中是否存在与该分析结果相同的历史分析结果。
[0214]
如果不存在相同的历史分析结果,则通过满足差分隐私的噪声函数,对分析结果进行加噪处理,获得加噪结果,并将该加噪结果与该分析结果关联缓存;其中,加噪处理方式可以参照方式一中的内容,此次不再赘述。
[0215]
如果存在相同的历史分析结果,则将历史分析结果关联的加噪结果确定为该分析结果对应的加噪结果。
[0216]
作为一种实施例,在获得分析结果之后,处理平台220可以生成该分析结果的第一结果标识,如果在缓存中存储有与第一结果标识相同的第二结果表示,可以将第二结果标识关联的加噪结果作为该分析结果对应的加噪结果。
[0217]
下面以hbase缓存为例,对方式二进行具体示例说明。
[0218]
请参照图8,表示方式二中获得加噪结果的具体过程:
[0219]
s801,获得分析结果。
[0220]
s802,将分析结果转换为字符串。
[0221]
例如可以将分析结果转换为string串。
[0222]
s803,通过散列函数,对该字符串进行处理,获得该分析结果对应的第一结果标识。
[0223]
其中,散列函数例如md5等,该分析结果的第一结果标识可以作为缓存中的键。
[0224]
s804,确定缓存中是否存在与第一结果标识相同的第二结果标识。
[0225]
如果存在与第一结果标识相同的第二结果标识,执行s805,将第二结果标识关联的加噪结果作为该分析结果对应的加噪结果。如果不存在与第一结果标识相同的第二结果标识,则执行s806,根据噪声函数,对分析结果进行加噪处理,获得加噪结果。
[0226]
在s805之后,如果关联存储的加噪结果为字符串,则需要将该字符串格式的加噪结果转换为序列形式的加噪结果,获得格式恰当的加噪结果。
[0227]
在s806之后,执行s807,可以将第一结果标识和加噪结果进行关联存储在缓存中。
[0228]
可以将加噪结果转换为字符串之后,与第一结果标识进行关联存储,或者直接将加噪结果与第一结果标识存储。
[0229]
s808,获得加噪结果。
[0230]
应当说明的是,图8只是方式二的一种示例,实际上缓存的方式有多种,本技术不做具体限制。
[0231]
作为一种实施例,处理平台220可以是在针对同一请求者的相同的查询时,才从缓存中获取加噪结果。处理平台220也可以是针对不同请求者均是先查询缓存。
[0232]
作为一种实施例,处理平台220可以周期性地清理距离当前时间最长的缓存,以避免大量缓存数据占用过多的空间。
[0233]
例如,继续以图8中请求者的输入为例,处理平台220对上表3中的分析结果进行加噪处理后,获得如下表5所示的加噪结果:
[0234]
表5
[0235]
初中高中大学硕士博士2412282225
[0236]
作为一种实施例,如果用户数据分析请求中包括多个用户标识包,则处理平台220会得到每个用户标识包对应的分析结果,对每个分析结果执行上述s605的步骤,从而获得每个分析结果的加噪结果。
[0237]
作为一种实施例,对多个分析结果进行加噪处理时,分析结果对应的隐私程度越高,该分析结果对应分配的噪声项越大。
[0238]
针对不同的用户标识包,每个用户标识包请求分析的数据维度不同,有些数据维度相对隐私程度更高,可以针对隐私程度高的分配更大的噪声项,以尽可能的保证数据安
全。
[0239]
s604,处理平台220向用户设备210反馈加噪结果。
[0240]
处理平台220可以是将加噪结果以设定格式反馈给用户设备210,以使用户设备210按照设定格式呈现加噪结果。
[0241]
其中,设定格式例如表格形式,图表形式等,图表形式具体可以包括多种,例如直方图形式等,直方图形式可以通过noisefirst或dpcube等直方图发布技术实现。
[0242]
例如,请参照图9,表示在用户设备上显示加噪结果的界面示意图。该界面中以直方图形式直接显示表5所示的加噪结果,请求者可以根据该结果直观地查看到结果,但是该结果实际上为加噪结果,与准确的分析结果之间存在一定的差距。该界面示意图还包括查询控件901,请求者可以点击查询控件901,再次发起用户数据分析请求。
[0243]
作为一种实施例,当同一请求者在预设时长内,请求的总次数达到预设次数,则处理平台220拒绝响应用户数据分析请求。
[0244]
在一种可能的实施例中,处理平台220针对同一请求者的不同用户分析请求,可以采用不同的满足差分隐私的噪声函数,对该请求者的不同用户分析请求关联的分析结果进行加噪处理。
[0245]
由于不同的噪声函数的结果分布不同,采用不同的噪声函数去处理,进一步增加了加噪结果的随机性。
[0246]
基于前文图3论述的应用场景,下面对本技术提供的一种用户数据处理方式的交互过程进行示例介绍。
[0247]
请参照图10,该方法包括:
[0248]
s1001,处理平台220获取用户数据分析请求。
[0249]
获取用户数据分析请求内容可以参照前文论述内容,此处不再赘述。
[0250]
s1002,处理平台220获得用户数据分析请求中用户数据标识包对应的分析结果。
[0251]
分析结果以及获得分析结果的方式可以参照前文论述内容,此处不再赘述。
[0252]
s1003,处理平台220将分析结果发送给加噪服务300。
[0253]
s1004,加噪服务300获得分析结果加噪处理后的加噪结果。
[0254]
加噪服务300获得加噪结果的方式可以参照前文论述的内容,此次不再赘述。
[0255]
作为一种实施例,当同一用户分析请求中包括多个用户标识包时,可以对每个用户标识包对应的分析结果进行分别加噪处理,以获得每个用户标识包对应的加噪结果。
[0256]
作为一种实施例,对多个分析结果进行加噪处理时,分析结果对应的隐私程度越高,该分析结果对应分配的噪声项越大。
[0257]
针对不同的用户标识包,每个用户标识包请求分析的数据维度不同,有些数据维度相对隐私程度更高,可以针对隐私程度高的分配更大的噪声项,以尽可能的保证数据安全。
[0258]
s1005,加噪服务300通过处理平台220向用户设备210反馈加噪结果。
[0259]
加噪服务300在获得加噪结果之后,将加噪结果发送给处理平台220,用户设备210显示加噪结果的具体方式可以参照前文论述的内容,此处不再赘述。
[0260]
作为一种实施例,当同一请求者在预设时长内,请求的总次数达到预设次数,则处理平台220拒绝响应用户数据分析请求。
[0261]
在一种可能的实施例中,加噪服务300针对同一请求者的不同用户分析请求,可以采用不同的满足差分隐私的噪声函数,对该请求者的不同用户分析请求关联的分析结果进行加噪处理。
[0262]
由于不同的噪声函数的结果分布不同,采用不同的噪声函数去处理,进一步增加了加噪结果的随机性,提高数据的安全性。
[0263]
基于同一发明构思,本技术实施例还提供了一种用户数据处理装置,该装置相当于设置在前文论述的用户处理设备中,具体相当于设置在前文论述的处理平台220或加噪服务300中,请参照图11,该装置1100具体包括:
[0264]
接收模块1101,用于接收用户数据分析请求,用户用据分析请求中包含待分析的用户标识包;
[0265]
获得模块1102,用于获取根据用户标识包进行用户数据分析的分析结果,以及获得对分析结果加噪处理的加噪结果,其中,加噪结果是通过满足差分隐私的噪声函数,对分析结果进行加噪处理获得的;
[0266]
发送模块1103,用于响应用户数据分析请求,发送加噪结果。
[0267]
在一种可能的实施例中,获得模块1102具体用于:
[0268]
若缓存中不存在与分析结果相同的历史分析结果,则通过满足差分隐私的噪声函数,对分析结果进行加噪处理,获得加噪结果,并将加噪结果与分析结果关联存储;其中,缓存中存储历史分析结果对应的标识与历史分析结果关联的加噪结果之间的对应关系;
[0269]
若缓存中存在与分析结果相同的历史分析结果,则将历史分析结果关联的加噪结果作为分析结果的加噪结果;其中,历史分析结果是在分析结果生成之前所生成的一个分析结果。
[0270]
在一种可能的实施例中,获得模块1102具体用于:
[0271]
生成分析结果的第一结果标识;
[0272]
若缓存中存在与第一结果标识相同的第二结果标识,则将第二结果标识关联的加噪结果作为分析结果的加噪结果。
[0273]
在一种可能的实施例中,当分析结果包括多个项时,加噪结果是通过如下加噪步骤处理获得的:
[0274]
对分析结果中不为零的项分别添加噪声项,获得加噪中间结果;其中,噪声项是根据预设的隐私预算以及噪声函数确定的;
[0275]
确定加噪中间结果的各项之和与分析结果的各项之和的差值;
[0276]
根据差值,对加噪中间结果中的各项进行修正处理,直到修正后各项均大于零,且修正后各项之和与分析结果的各项之和相等,获得加噪结果。
[0277]
在一种可能的实施例中,该装置1100还包括第一验证模块1104,第一验证模块1104用于:
[0278]
获得测试过程中的样本加噪结果;
[0279]
根据样本加噪结果,确定测试选定的样本噪声函数和样本噪声参数;
[0280]
根据确定出的样本噪声函数和样本噪声参数,确定两个不同样本用户标识包中每个样本用户标识包对应的样本加噪结果;
[0281]
确定两个样本用户包标识对应的样本加噪结果的取自然对数的结果小于或等于
隐私预算。
[0282]
在一种可能的实施例中,该装置1100还包括第二验证模块1105,第二验证模块1105用于通过如下步骤验证噪声函数满足差分隐私:
[0283]
获取相邻两个样本用户标识包;其中,相邻两个样本用户标识包包括第一样本用户标识包和第二样本用户标识包;
[0284]
通过选定的噪声函数,确定第一样本用户标识包对应的样本加噪结果的第一概率密度函数,以及确定第二样本用户标识包对应的样本加噪结果的第二概率密度函数;
[0285]
若第一概率密度函数与第二概率密度函数在任意点上对应的结果之比取自然对数的结果小于或等于隐私预算,则确定噪声函数满足差分隐私。
[0286]
在一种可能的实施例中,噪声函数对应的隐私预算的取值是通过如下步骤获得的:
[0287]
分别确定在不同取值的隐私预算下,通过噪声函数输出的噪声项大小的结果分布概率;
[0288]
根据一次允许透视的最小用户量,从各个噪声项大小的结果分布概率确定出目标噪声项;
[0289]
根据目标噪声项关联的隐私预算的取值,以及隐私预算的最大取值,确定出隐私预算的取值范围;
[0290]
从隐私预算的取值范围中确定出隐私预算的目标取值。
[0291]
在一种可能的实施例中,当用户数据分析请求中包括多个用户标识包时,加噪结果包括分别对每个用户标识包关联的分析结果进行加噪处理后的结果。
[0292]
在一种可能的实施例中,该装置1100还包括拒绝模块1106,拒绝模块1106用于:
[0293]
在从用户设备接收到用户数据分析请求之后,若确定在预设时长内,从用户设备接收到的请求的总次数达到预设次数,则拒绝响应用户数据分析请求。
[0294]
基于同一发明构思,本技术实施例还提供了一种计算设备。
[0295]
请参照图12,计算设备1200以通用计算设备的形式表现。计算设备1200的组件可以包括但不限于:至少一个处理器1210、至少一个存储器1220、连接不同系统组件(包括处理器1210和存储器1220)的总线1230。
[0296]
总线1230表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器、外围总线、处理器或者使用多种总线结构中的任意总线结构的局域总线。
[0297]
存储器1220可以包括易失性存储器形式的可读介质,例如随机存取存储器(ram)1221和/或高速缓存存储器1222,还可以进一步包括只读存储器(rom)1223。
[0298]
存储器1220还可以包括具有一组(至少一个)程序模块1225的程序/实用工具1226,这样的程序模块1225包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。处理器1210用于执行存储器1220存储的程序指令等实现论述的用户数据处理方法,或实现前文图11中各个模块的功能。
[0299]
计算设备1200也可以与一个或多个外部设备1240(例如键盘、指向设备等)通信,还可与一个或者多个使得用户设备210能与处理平台220交互的设备通信,和/或与使得该处理平台220能与一个或多个其它设备进行通信的任何设备(例如路由器、调制解调器等)
通信。这种通信可以通过输入/输出(i/o)接口1250进行。并且,计算设备1200还可以通过网络适配器1260与一个或者多个网络(例如局域网(lan),广域网(wan)和/或公共网络,例如因特网)通信。如图所示,网络适配器1260通过总线1230与用于计算设备1200的其它模块通信。应当理解,尽管图中未示出,可以结合计算设备1200使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理器、外部磁盘驱动阵列、raid系统、磁带驱动器以及数据备份存储系统等。
[0300]
基于同一发明构思,本技术实施例提供一种存储介质,该存储介质存储有计算机指令,当所述计算机指令在计算机上运行时,使得计算机执行前文论述的用户数据处理方法。
[0301]
本领域内的技术人员应明白,本技术的实施例可提供为方法、系统、或计算机程序产品。因此,本技术可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
[0302]
显然,本领域的技术人员可以对本技术进行各种改动和变型而不脱离本技术的精神和范围。这样,倘若本技术的这些修改和变型属于本技术权利要求及其等同技术的范围之内,则本技术也意图包含这些改动和变型在内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1