一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

数据处理方法、装置、存储介质、用户设备及服务器与流程

2021-11-17 23:52:00 来源:中国专利 TAG:


1.本技术属于电子技术领域,尤其涉及一种数据处理方法、装置、存储介质、用户设备及服务器。


背景技术:

2.服务端通常会向用户端收集多个埋点数据,并基于这些埋点数据进行无偏估计,得到相应的无偏估计结果。相关技术中,用户端在收集到埋点数据之后,便将该埋点数据发送至服务端进行后续的无偏估计。然而,相关技术中,数据隐私性较差。


技术实现要素:

3.本技术实施例提供一种数据处理方法、装置、存储介质、用户设备及服务器,可以使得数据隐私性较好。
4.第一方面,本技术实施例提供一种数据处理方法,应用于用户端,包括:
5.获取目标应用程序的埋点数据;
6.对所述埋点数据进行映射处理,得到待处理m维向量;
7.对所述待处理m维向量进行扰动处理,得到处理后m维向量;
8.将所述处理后m维向量发送至服务端,使得所述服务端根据所述处理后m维向量进行无偏估计,得到所述目标应用程序的无偏使用次数。
9.第二方面,本技术实施例提供一种数据处理方法,应用于服务端,包括:
10.获取用户端发送的处理后m维向量,其中,所述处理后m维向量由所述用户端对待处理m维向量进行扰动处理得到,所述待处理m向量为所述用户端对获取的目标应用程序的埋点数据进行映射处理得到;
11.对所述处理后m维向量进行扰动转换处理,得到第一转换后m维向量,并获取其他用户端对应的第二转换后m维向量;
12.根据所述第一转换后m维向量和所述第二转换后m维向量,生成k
×
m维迭代矩阵;
13.根据所述k
×
m维迭代矩阵对所述目标应用程序进行无偏估计,得到所述目标应用程序的无偏使用次数。
14.第三方面,本技术实施例提供一种数据处理装置,应用于用户端,包括:
15.获取模块,用于获取目标应用程序的埋点数据;
16.映射处理模块,用于对所述埋点数据进行映射处理,得到待处理m维向量;
17.扰动处理模块,用于对所述待处理m维向量进行扰动处理,得到处理后m维向量;
18.发送模块,用于将所述处理后m维向量发送至服务端,使得所述服务端根据所述处理后m维向量进行无偏估计,得到所述目标应用程序的无偏使用次数。
19.第四方面,本技术实施例提供一种数据处理装置,应用于服务端,包括:
20.获取模块,用于获取用户端发送的处理后m维向量,其中,所述处理后m维向量由所述用户端对待处理m维向量进行扰动处理得到,所述待处理m向量为所述用户端对获取的目
标应用程序的埋点数据进行映射处理得到;
21.转换处理模块,用于对所述处理后m维向量进行扰动转换处理,得到第一转换后m维向量,并获取其他用户端对应的第二转换后m维向量;
22.生成模块,用于根据所述第一转换后m维向量和所述第二转换后m维向量,生成k
×
m维迭代矩阵;
23.无偏估计模块,用于根据所述k
×
m维迭代矩阵对所述目标应用程序进行无偏估计,得到所述目标应用程序的无偏使用次数。
24.第五方面,本技术实施例提供一种计算机可读的存储介质,其上存储有计算机程序,当所述计算机程序在计算机上执行时,使得所述计算机执行本技术实施例提供的数据处理方法。
25.第六方面,本技术实施例还提供一种用户设备,所述用户设备包括存储器,处理器,所述处理器通过调用所述存储器中存储的计算机程序,用于执行本技术实施例提供的数据处理方法。
26.第七方面,本技术实施例还提供一种服务器,所述服务器包括存储器,处理器,所述处理器通过调用所述存储器中存储的计算机程序,用于执行本技术实施例提供的数据处理方法。
27.本技术实施例中,获取目标应用程序的埋点数据;对埋点数据进行映射处理,得到m维向量;对m维向量进行扰动处理,得到处理后m维向量;将处理后m维向量发送至服务端,使得服务端根据处理后m维向量进行无偏估计,得到目标应用程序的无偏使用次数,从而实现了在用户端对目标应用程序的埋点数据的加噪,在需要将数据发送至服务端时,可将加噪后的数据(处理后m维向量)发送至服务端,相对于直接将原始数据(埋点数据)发送至服务端的方案来说,数据隐私性较好。
附图说明
28.下面结合附图,通过对本技术的具体实施方式详细描述,将使本技术的技术方案及其有益效果显而易见。
29.图1是本技术实施例提供的应用于用户端的数据处理方法的流程示意图;
30.图2是本技术实施例提供的应用于服务端的数据处理方法的流程示意图;
31.图3是本技术实施例提供的用户端与服务端的交互示意图;
32.图4是本技术实施例提供的应用于用户端的数据处理装置的结构示意图;
33.图5是本技术实施例提供的应用于服务端的数据处理装置的结构示意图;
34.图6是本技术实施例提供的用户设备的结构示意图;
35.图7是本技术实施例提供的服务器的结构示意图。
具体实施方式
36.请参照图示,其中相同的组件符号代表相同的组件,本技术的原理是以实施在一适当的运算环境中来举例说明。以下的说明是基于所例示的本技术具体实施例,其不应被视为限制本技术未在此详述的其它具体实施例。
37.可以理解的是,本技术实施例提供的数据处理方法可以应用于用户端或服务端,
服务端是相对于用户端而言的,服务端与用户端是对应于c/s(client

server)架构而言。在实际应用中,服务端例如可以为计算机、普通服务器、云端服务器、超级个人计算机、笔记本电脑、平板电脑等服务器。用户端可以配置于用户设备上,用户端例如可以为手机、平板电脑、计算机、虚拟现实设备、增强现实设备、可穿戴设备等用户设备。本技术实施例对服务端以及用户端的具体类型并不作出过多限定。
38.请参阅图1,图1是本技术实施例提供的应用于用户端的数据处理方法的流程示意图,流程可以包括:
39.101、获取目标应用程序的埋点数据。
40.其中,目标应用程序为需要进行无偏估计,得到无偏使用次数的应用程序。例如,当需要确定某应用程序集合中任意应用程序的无偏使用次数时,可将该应用程序集合中任意应用程序确定为目标应用程序。
41.埋点数据是指进行无偏估计时需要的一些数据。比如,目标应用程序的埋点数据可以包括:应用程序包名、时间戳、一段时间内是否首次打开、使用时长等。
42.例如,可在用户端上设置应用程序的埋点数据的采集程序,当用户使用某个目标应用程序时,该采集程序可记录下该目标应用程序的埋点数据。在用户开始使用某个目标应用程序到用户退出使用某个目标应用程序的期间,该采集程序采集到的该目标应用程序的埋点数据可作为一个埋点数据。可以理解的是,通过采集用户使用不同目标应用程序的埋点数据,可得到多个埋点数据,通过采集用户多次使用同一目标应用程序的埋点数据,也可得到多个埋点数据。
43.在本技术实施例中,采集程序每采集到一个埋点数据,用户端便获取到一个埋点数据。
44.102、对埋点数据进行映射处理,得到待处理m维向量。
45.比如,当获取到埋点数据之后,用户端可对该埋点数据进行映射处理,得到待处理m维向量,从而可对埋点数据进行初步加噪。
46.其中,m为大于0的正整数。例如,m可以为10、25、100、500或1000,等等。
47.103、对待处理m维向量进行扰动处理,得到处理后m维向量。
48.比如,当得到待处理m维向量之后,用户端可对该待处理m维向量进行扰动处理,得到处理后m维向量,从而可进一步对埋点数据进行加噪。
49.104、将处理后m维向量发送至服务端,使得服务端根据处理后m维向量进行无偏估计,得到目标应用程序的无偏使用次数。
50.比如,当得到处理后m维向量之后,用户端可将该处理后m维向量发送至服务端,使得服务端根据处理后m维向量进行无偏估计,得到目标应用程序的无偏使用次数。
51.本技术实施例中,获取目标应用程序的埋点数据;对埋点数据进行映射处理,得到m维向量;对m维向量进行扰动处理,得到处理后m维向量;将处理后m维向量发送至服务端,使得服务端根据处理后m维向量进行无偏估计,得到目标应用程序的无偏使用次数,从而实现了在用户端对目标应用程序的埋点数据的加噪,在需要将数据发送至服务端时,可将加噪后的数据(处理后m维向量)发送至服务端,相对于直接将原始数据(埋点数据)发送至服务端的方案来说,数据隐私性较好。
52.可以理解的是,用户端得到多少个埋点数据,就可对应得到多少个处理后m维向
量,用户端可每得到一个处理后m维向量,就将该处理后m维向量发送至服务端,用户端也可将某时段内得到的所有处理后m维向量集中发送至服务端。
53.还可以理解的是,当需要得到某时段内某应用程序集合中的任意应用程序的无偏使用次数时,可在该时段内由多个用户端分别发送其获取到的该应用程序集合中的应用程序的埋点数据对应的处理后m维向量至服务端,以使服务端对获取到的处理后m维向量进行相应的处理,得到某应用程序集合中的任意应用程序在该时段内的无偏使用次数。其中,应用程序集合中可以包括所有应用程序、部分应用程序、所有社交类应用程序、所有游戏类应用程序、所有音频类应用程序或所有视频类应用程序,等等。
54.在一些实施例中,对埋点数据进行映射处理,得到待处理m维向量,可以包括:
55.(1)从k个哈希函数中选取出目标哈希函数;
56.(2)利用目标哈希函数对埋点数据进行映射处理,得到目标哈希值;
57.(3)根据目标哈希值,确定待处理m维向量,其中,待处理m维向量中,第目标哈希值维的元素的值为1,其他维的元素的值为

1。
58.其中,k个哈希函数可由服务端生成,每个哈希函数可与一哈希值对应,每个哈希函数可与一不同的索引值对应。例如,服务端可随机生成k个独立的,将原始数据映射到空间m的哈希函数,并为k个哈希函数中每个哈希函数确定对应的哈希值及索引值,并将该k个哈希函数下发到用户端。其中,空间m表示哈希函数将数据映射到的空间范围,取值为1,2,3,4
……
m。k为大于0的正整数。不同的哈希函数对应的哈希值可以相同,也可以不同,取值为1至m中的正整数。例如,假设m=5,k=5,则哈希函数h1对应的哈希值可以为2,哈希函数h2对应的哈希值可以为3,哈希函数h5对应的哈希值可以为2。不同的哈希函数对应的索引值不同,取值为1至k中的正整数。例如,假设k=4,哈希函数h1对应的索引值可以为1,哈希函数h2对应的索引值可以为2,哈希函数h3对应的哈希值可以为3,哈希函数h4对应的索引值可以为4。
59.当得到目标哈希值之后,用户端可根据该目标哈希值,确定待处理m维向量。其中,该目标哈希值为1至m中的正整数,例如,假设m=20,该目标哈希值可以为2、5或10,等等。该待处理m维向量中,第目标哈希值维元素的值为1,其他维元素得值为

1。例如,假设m=5,目标哈希值=1,则m维向量为[1,

1,

1,

1,

1]。再如,假设m=4,目标哈希值=2,则m维向量为[

1,1,

1,

1]。
[0060]
在一些实施例中,对待处理m维向量进行扰动处理,得到处理后m维向量,可以包括:
[0061]
按照目标概率对待处理m维向量的每个维度的元素的值进行扰动处理,以得到处理后m维向量,其中,若待处理m维向量的相应维度的元素的值为1,则按照目标概率将待处理m维向量的相应维度的元素的值翻转为

1,若待处理m维向量的相应维度的元素的值为

1,则按照目标概率将待处理m维向量的相应维度的元素的值翻转为1,其中,目标概率为:其中,ε为预设的隐私预算。
[0062]
其中,该ε通常由后验得到,具体的说,通过实验的方式,找到不同ε值对应下游数据的可用性,基于数据可用性和隐私保护程度来权衡ε的取值。例如,ε可以为1、1.3、2或3等。
[0063]
比如,当待处理m维向量的某个维度的元素的值为1,则用户端可按照该目标概率将该维度的元素的值翻转为

1;当待处理m维向量的某个维度的元素的值为

1,则用户端可按照该目标概率将该维度的元素的值翻转为1,从而最终得到处理后m维向量。
[0064]
例如,假设待处理m维向量为[1,

1,

1,

1,

1],则处理后m维向量可以为[1,1,

1,

1,1];处理后m维向量也可以为[

1,

1,

1,1,

1]。
[0065]
在一些实施例中,每个哈希函数与不同的索引值对应,将处理后m维向量发送至服务端,使得服务端根据处理后m维向量进行无偏估计,得到目标应用程序的无偏使用次数,可以包括:
[0066]
(1)获取目标哈希函数对应的目标索引值;
[0067]
(2)将处理后m维向量和目标索引值发送至服务端,使得服务端根据处理后m维向量和目标索引值进行无偏估计,得到目标应用程序的无偏使用次数。
[0068]
比如,用户端还可获取目标哈希函数对应的目标索引值。例如,假设目标哈希函数对应的索引值为2,则目标索引值为2。
[0069]
随后,用户端可将处理后m维向量和目标索引值发送至服务端,使得服务端根据处理后m维向量和目标索引值进行无偏估计,得到目标应用程序的无偏使用次数。
[0070]
可以理解的是,用户端得到多少个埋点数据,就可对应得到多少个处理后m维向量以及每个处理后m维向量对应的目标索引值,用户端可每得到一个处理后m维向量及其对应的目标索引值,就将该处理后m维向量及其对应的目标索引值发送至服务端,用户端也可将某时段内得到的所有处理后m维向量以及每个处理后m维向量对应的目标索引值集中发送至服务端。
[0071]
还可以理解的是,当需要得到某时段内某应用程序集合中的任意应用程序的无偏使用次数时,可在该时段内由多个用户端分别发送其获取到的该应用程序集合中的应用程序的埋点数据对应的处理后m维向量及其对应的目标索引值至服务端,以使服务端对获取到的处理后m维向量及其对应的目标索引值进行相应的处理,得到某应用程序集合中的任意应用程序在该时段内的无偏使用次数。其中,应用程序集合中可以包括所有应用程序、部分应用程序、所有社交类应用程序、所有游戏类应用程序、所有音频类应用程序或所有视频类应用程序,等等。
[0072]
请参阅图2,图2是本技术实施例提供的应用于服务端的数据处理方法的流程示意图,流程可以包括:
[0073]
201、获取用户端发送的处理后m维向量。
[0074]
其中,处理后m维向量由用户端对待处理m维向量进行扰动处理得到,待处理m向量为用户端对获取的目标应用程序的埋点数据进行映射处理得到。m为大于0的正整数。例如,m可以为10、25、100、500或1000,等等。目标应用程序为需要进行无偏估计,得到无偏使用次数的应用程序。例如,当需要确定某应用程序集合中任意应用程序的无偏使用次数时,可将该应用程序集合中任意应用程序确定为目标应用程序。
[0075]
比如,用户端a1可通过流程101至流程104得到处理后m维向量,并将处理后m维向量发送至服务端。服务端即接收到用户端a1发送的处理后m维向量。
[0076]
202、对处理后m维向量进行扰动转换处理,得到第一转换后m维向量,并获取其他用户端对应的第二转换后m维向量。
[0077]
当得到用户端a1发送的处理后m维向量之后,服务端可以对该处理后m维向量进行扰动转换处理,得到第一转换后m维向量。
[0078]
在一些实施例中,用户端a1每得到一个处理后m维向量,便将该处理后m维向量发送至服务端,从而服务端可对该处理后m维向量进行扰动转换处理,得到第一转换后m维向量。
[0079]
在一些实施例中,用户端a1可以将某时段内得到的多个处理后m维向量集中发送至服务端,从而服务端可同时或依次对多个处理后m维向量分别进行扰动转换处理,得到多个第一转换后m维向量。
[0080]
其他用户端,如用户端a2、a3、a4
……
an等也可通过流程101至流程105得到处理后m维向量,并将处理后m维向量发送至服务端。服务端即接收到其他用户端发送的处理后m维向量。其中,n为大于1的正整数,例如n可以为10、100或500等。
[0081]
当得到其他用户端发送的处理后m维向量之后,服务端可以对该处理后m维向量进行扰动转换处理,得到第二转换后m维向量。例如,当得到用户端a2发送的处理后m维向量之后,服务端可以对该处理后m维向量进行扰动转换处理,得到第二转换后m维向量。
[0082]
在一些实施例中,其他用户端每得到一个处理后m维向量,便将该处理后m维向量发送至服务端,从而服务端可对该处理后m维向量进行扰动转换处理,得到第二转换后m维向量。
[0083]
在一些实施例中,其他用户端可以将某时段内得到的多个处理后m维向量集中发送至服务端,从而服务端可同时或依次对多个处理后m维向量分别进行扰动转换处理,得到多个第二转换后m维向量。
[0084]
203、根据第一转换后m维向量和第二转换后m维向量,生成k
×
m维迭代矩阵。
[0085]
比如,当得到第一转换后m维向量和第二转换后m维向量之后,服务端可根据第一转换后m维向量和第二转换后m维向量,生成k
×
m维迭代矩阵。其中,k为大于0的正整数。
[0086]
204、根据k
×
m维迭代矩阵对目标应用程序进行无偏估计,得到目标应用程序的无偏使用次数。
[0087]
比如,当得到k
×
m维迭代矩阵之后,服务端可根据k
×
m维迭代矩阵对目标应用程序进行无偏估计,得到目标应用程序的无偏使用次数。
[0088]
本技术实施例中,获取用户端发送的处理后m维向量,其中,处理后m维向量由用户端对待处理m维向量进行扰动处理得到,待处理m向量为用户端对获取的目标应用程序的埋点数据进行映射处理得到;对处理后m维向量进行扰动转换处理,得到第一转换后m维向量,并获取其他用户端对应的第二转换后m维向量;根据第一转换后m维向量和第二转换后m维向量,生成k
×
m维迭代矩阵;根据k
×
m维迭代矩阵对目标应用程序进行无偏估计,得到目标应用程序的无偏使用次数,由于在用户端实现了对目标应用程序的埋点数据的加噪,在用户端将数据发送至服务端时,用户端可将加噪后的数据(处理后m维向量)发送至服务端,相对于直接将原始数据(埋点数据)发送至服务端的方案来说,数据隐私性较好。
[0089]
在一些实施例中,待处理m维向量利用从k个哈希函数中选取出的目标哈希函数对埋点数据进行映射处理得到,对处理后m维向量进行扰动转换处理,得到第一转换后m维向量,可以包括:
[0090]
按照如下公式对处理后m维向量进行扰动转换处理,得到第一转换后m维向量;
[0091]
其中,x
i
为第一转换后m维向量的第i维元素的值,k为哈希函数的数量,ε为预设的隐私预算,v
i
为处理后m维向量的第i维元素的值。
[0092]
其中,待处理m维向量为用户端根据利用从k个哈希函数中选取出的目标哈希函数对埋点数据进行映射处理得到的目标哈希值得到。k个哈希函数可由服务端生成,每个哈希函数可与一哈希值对应,每个哈希函数可与一不同的索引值对应。例如,服务端可随机生成k个独立的,将原始数据映射到空间m的哈希函数,并为k个哈希函数中每个哈希函数确定对应的哈希值及索引值,并将该k个哈希函数下发到用户端。其中,空间m表示哈希函数将数据映射到的空间范围,取值为1,2,3,4
……
m。k为大于0的正整数。不同的哈希函数对应的哈希值可以相同,也可以不同,取值为1至m中的正整数。例如,假设m=5,k=5,则哈希函数h1对应的哈希值可以为2,哈希函数h2对应的哈希值可以为3,哈希函数h5对应的哈希值可以为2。不同的哈希函数对应的索引值不同,取值为1至k中的正整数。例如,假设k=4,哈希函数h1对应的索引值可以为1,哈希函数h2对应的索引值可以为2,哈希函数h3对应的哈希值可以为3,哈希函数h4对应的索引值可以为4。该ε通常由后验得到,具体的说,通过实验的方式,找到不同ε值对应下游数据的可用性,基于数据可用性和隐私保护程度来权衡ε的取值。例如,ε可以为1、1.3、2或3等。
[0093]
比如,当得到处理后m维向量之后,对于该处理后m维向量的第i维元素的值,服务端可通过公式得到第一转换后m维向量的第i维元素的值,从而最终得到第一转换后m维向量。
[0094]
可以理解的是,服务端也可通过与上述方式相同的方式根据其他用户端发送的处理后m维向量,得到第二转换后m维向量。
[0095]
在一些实施例中,每个哈希函数与不同的索引值对应,根据第一转换后m维向量和第二转换后m维向量,生成k
×
m维迭代矩阵,包括:
[0096]
(1)获取k
×
m维概述矩阵、目标哈希函数对应的第一目标索引值和第二转换后m维向量对应的哈希函数对应的第二目标索引值,k
×
m概述矩阵中的元素的值均为0;
[0097]
(2)根据第一转换后m维向量、第一目标索引值、第二转换后m维向量和第二目标索引值,对k
×
m维概述矩阵进行迭代处理,生成k
×
m维迭代矩阵。
[0098]
比如,服务端可获取k
×
m维概述矩阵、目标哈希函数对应的第一目标索引值和第二转换后m维向量对应的哈希函数对应的第二目标索引值;并根据第一转换后m维向量、第一目标索引值、第二转换后m维向量和第二目标索引值,对k
×
m维概述矩阵进行迭代处理,生成k
×
m维迭代矩阵。
[0099]
其中,目标哈希函数和第二转换后m维向量对应的哈希函数可以为k个哈希函数中的其中一个哈希函数,k个哈希函数中的每个哈希函数均与不同的索引值对应。索引值可以为1至k中的正整数。假设目标哈希函数为哈希函数h2,哈希函数h2对应的索引值为2,则第一目标索引值为2。假设第二转换后m维向量对应的哈希函数为哈希函数h5,哈希函数h5对应的索引值为5,则第二目标索引值为5。其中,用户端根据哪个哈希函数得到的处理后m维向量,服务端则根据哪个哈希函数对应的索引值,生成k
×
m维迭代矩阵。k
×
m维概述矩阵中的元
素的值均为0。
[0100]
在一些实施例中,根据第一转换后m维向量、第一目标索引值、第二转换后m维向量和第二目标索引值,对k
×
m维概述矩阵进行迭代处理,生成k
×
m维迭代矩阵,可以包括:
[0101]
将第一转换后m维向量的每个维度的元素的值与k
×
m维概述矩阵的第第一目标索引值行的相应元素的值相加,并将第二转换后m维向量中每个维度的元素的值与k
×
m维概述矩阵的第第二目标索引值行的相应元素的值相加,生成k
×
m维迭代矩阵。
[0102]
比如,假设服务端获取到用户端a1对应的第一转换后m维向量v11和v12,其他用户端(如用户端a2和用户端a3)对应的第二转换后m维向量v21、v22和v23。第一转换后m维向量v11对应的第一目标索引值为j11,第一转换后m维向量v12对应的第一目标索引值为j12,第二转换后m维向量v21对应的第二索引值j21,第二转换后m维向量v22对应的第二索引值j22,第二转换后m维向量v23对应的第二索引值j23,m=3,服务端可将v11的第1维元素的值与k
×
m维概述矩阵的第j11行第1列的元素的值相加,将v11的第2维元素的值与k
×
m维概述矩阵的第j11行第2列的元素的值相加,并将v11的第3维元素的值与k
×
m维概述矩阵的第j11行第3列的元素的值相加,以此类推,服务端可按照与上述方式相同的方式将v12的每个维度的元素的值与k
×
m维概述矩阵的第j12行的相应元素的值相加,将v21的每个维度的元素的值与k
×
m维概述矩阵的第j21行的相应元素的值相加,将v22与k
×
m维概述矩阵的第j22行的相应元素的值相加,将v23与k
×
m维概述矩阵的第j23行的相应元素的值相加,生成k
×
m维迭代矩阵。
[0103]
在一些实施例中,根据k
×
m维迭代矩阵对目标应用程序进行无偏估计,得到目标应用程序的无偏使用次数,可以包括:
[0104]
根据k
×
m维迭代矩阵、k个哈希函数和每个哈希函数对应的索引值和哈希值,对目标应用程序进行无偏估计,得到目标应用程序的无偏使用次数。
[0105]
比如,服务端可获取k个哈希函数,每个哈希函数对应的哈希值和索引值,并根据k
×
m维迭代矩阵、k个哈希函数、每个哈希函数对应的哈希值和索引值对目标应用程序进行无偏估计,得到目标应用程序的无偏使用次数。
[0106]
在一些实施例中,根据k
×
m维迭代矩阵、k个哈希函数和每个哈希函数对应的索引值和哈希值,对目标应用程序进行无偏估计,得到目标应用程序的无偏使用次数,可以包括:
[0107]
根据k
×
m维迭代矩阵、k个哈希函数和每个哈希函数对应的索引值和哈希值,按照如下公式对目标应用程序进行无偏估计,得到目标应用程序的无偏使用次数;
[0108]
其中,f(app)表示目标应用程序的无偏使用次数,m表示处理后m维向量的维度,k表示k个哈希函数的数量,h
j
(app)表示利用k个哈希函数中第j个哈希函数对目标应用程序进行映射处理,得到的哈希值,j表示第j个哈希函数对应的索引值,取值为1至k中的正整数,n表示用户端和其他用户端发送的处理后m维向量的总数量,m表示k
×
m维迭代矩阵。
[0109]
比如,当得到k
×
m维转换矩阵之后,服务端可根据目标应用程序对应的k
×
m维转换矩阵、k个哈希函数、每个哈希函数对应的哈希值和索引值按照公式
对目标应用程序进行无偏估计,得到目标应用程序的无偏使用次数。
[0110]
请参阅图3,图3是本技术实施例提供的用户端与服务端的交互示意图。
[0111]
以得到某应用程序集合中的任意应用程序在某时段内的无偏使用次数,m=5为例,首先,服务端会随机生成k个独立的,将原始数据映射到空间m的哈希函数h1、h2、h3……
h
k
,服务端可将哈希函数h1、h2、h3……
h
k
发送到多个用户端,如用户端a1、a2、a3
……
an。其中,该哈希函数h1、h2、h3……
h
k
分别对应的哈希值为1至m中的正整数,该哈希函数h1、h2、h3……
h
k
分别对应的索引值为1、2、3
……
k。n大于5000。
[0112]
在该时段中的t1时刻,用户c1通过用户端a1开始使用该应用程序集合中的应用程序w1,在该时段中的t2时刻,用户c1退出使用应用程序w1,则用户端a1可通过采集程序采集该应用程序w1在t1时刻到t2时刻内的埋点数据,作为一个埋点数据。在该时段中的t3时刻,用户c1通过用户端a1再次开始使用应用程序w1,在该时段中的t4时刻,用户c1再次退出使用应用程序w1,则用户端a1可通过采集程序采集该应用程序w1在t3时刻到t4时刻内的埋点数据,作为一个埋点数据。在该时段中的t5时刻,用户c1通过用户端a1开始使用该应用程序集合中的应用程序w2,在该时段中的t6时刻,用户c1退出使用应用程序w2,则用户端a1可通过采集程序采集该应用程序w2在t5时刻到t6时刻内的埋点数据,作为一个埋点数据。
[0113]
以其中某个埋点数据为例,当得到该埋点数据之后,用户端a1可从哈希函数h1、h2、h3……
h
k
中随机选择出一个哈希函数,例如,假设选取出哈希函数h3,h3对应的哈希值为2,可确定哈希函数h3对应的索引值为3,可利用该哈希函数h3对该埋点数据进行映射处理,得到一个待处理m维向量[

1,1,

1,

1,

1]。随后,用户端a1可按照目标概率对待处理m维向量[

1,1,

1,

1,

1]进行扰动处理,得到处理后m维向量,例如,处理后m维向量可以为[

1,1,1,

1,

1]。随后,用户端a1可将处理后m维向量[

1,1,1,

1,

1]和目标索引值“3”发送至服务端。以此类推,用户端a1也可按照上述方式得到其他处理后m维向量及其对应的索引值,并发送至服务端。
[0114]
其他用户端,如用户端a2、用户端a3
……
用户端an也可通过上述方式得到相应的埋点数据,并对应得到相应的处理后m维向量及其对应的索引值,可以理解的是,各用户端得到多少个埋点数据,就可对应得到多少个处理后m维向量及其对应的索引值。
[0115]
当服务端接收到用户端a1、用户端a2、用户端a3
……
用户端an发送的处理后m维向量及其对应的索引值之后,以用户端a1的其中一处理后m维向量及其对应的索引值“3”为例,首先,服务端先按照对该处理后m维向量进行扰动转换处理,得到第一转换后m维向量,随后,服务端可将该第一转换后m维向量的每个维度的元素的值与k
×
m维概述矩阵中第3行的相应元素的值相加,从而完成一次k
×
m维概述矩阵的迭代,以此类推,服务端也可得到其他转换后m维向量(包括用户端a1对应的第一转换后m维向量或其他用户端(如用户端a2、用户端a3
……
用户端an)对应的第二转换后m维向量),并将其他转换后m维向量的每个维度的元素的值与k
×
m维概述矩阵中相应行的相应元素的值相加,当用户端a1、用户端a2、用户端a3
……
用户端an在该时段内获取的所有埋点数据对应的所有
转换后m维向量(包括第一转换后m维向量和第二转换后m维向量)的每个维度的元素的值均与k
×
m维概述矩阵中相应行的相应元素的值相加之后,服务端即可生成k
×
m维迭代矩阵。最后,服务端可通过公式得到应用程序集合中的任意应用程序在该时段内的无偏浏览次数。
[0116]
需要说明的是,本技术实施例提供的数据处理方法,在相同隐私预算的情况下可实现和中心话差分隐私算法相同的下游数据可用性,实验证明,对于得到包括10个不同的应用程序的应用程序集合中的任意应用程序在某时段内的无偏使用次数,当群体数量>5k,m>500,k>5时,ε=1的方差为~o(10),本技术实施例提供的数据处理方法是相应的差分隐私算法的1/100。
[0117]
比如,假设进行了10次实验,其中,o(10)表示方差,f(app
i
)表示通过本技术实施例提供的数据处理方法第i次得到的某个应用程序的无偏使用次数,i=1,2,3,...10,y表示某个应用程序的真实无偏使用次数。
[0118]
请参阅图4,图4是本技术实施例提供的应用于用户端的数据处理装置的结构示意图。该数据处理装置包括:获取模块301,映射处理模块302,扰动处理模块303及无偏估计模块304。
[0119]
获取模块301,用于获取目标应用程序的埋点数据。
[0120]
映射处理模块302,用于对所述埋点数据进行映射处理,得到待处理m维向量。
[0121]
扰动处理模块303,用于对所述待处理m维向量进行扰动处理,得到处理后m维向量。
[0122]
发送模块304,用于将所述处理后m维向量发送至服务端,使得所述服务端根据所述处理后m维向量进行无偏估计,得到所述目标应用程序的无偏使用次数。
[0123]
在一些实施例中,映射处理模块302,可以用于:从k个哈希函数中选取出目标哈希函数;利用所述目标哈希函数对所述埋点数据进行映射处理,得到目标哈希值;根据所述目标哈希值,确定待处理m维向量,其中,所述待处理m维向量中,第所述目标哈希值维的元素的值为1,其他维的元素的值为

1。
[0124]
在一些实施例中,扰动处理模块303,可以用于:按照目标概率对所述待处理m维向量的每个维度的元素的值进行扰动处理,以得到处理后m维向量,其中,若待处理m维向量的相应维度的元素的值为1,则按照目标概率将待处理m维向量的相应维度的元素的值翻转为

1,若待处理m维向量的相应维度的元素的值为

1,则按照目标概率将待处理m维向量的相应维度的元素的值翻转为1,其中,目标概率为:其中,ε为预设的隐私预算。
[0125]
在一些实施例中,每个哈希函数与不同的索引值对应,发送模块304,可以用于:获取所述目标哈希函数对应的目标索引值;将所述处理后m维向量和所述目标索引值发送至服务端,使得所述服务端根据所述处理后m维向量和所述目标索引值进行无偏估计,得到所述目标应用程序的无偏使用次数。
[0126]
请参阅图5,图5是本技术实施例提供的应用于用户端的数据处理装置的结构示意
图。该数据处理装置包括:获取模块401,转换处理模块402,生成模块403及无偏估计模块404。
[0127]
获取模块401,用于获取用户端发送的处理后m维向量,其中,所述处理后m维向量由所述用户端对待处理m维向量进行扰动处理得到,所述待处理m向量为所述用户端对获取的目标应用程序的埋点数据进行映射处理得到。
[0128]
转换处理模块402,用于对所述处理后m维向量进行扰动转换处理,得到第一转换后m维向量,并获取其他用户端对应的第二转换后m维向量。
[0129]
生成模块403,用于根据所述第一转换后m维向量和所述第二转换后m维向量,生成k
×
m维迭代矩阵。
[0130]
无偏估计模块404,用于根据所述k
×
m维迭代矩阵对所述目标应用程序进行无偏估计,得到所述目标应用程序的无偏使用次数。
[0131]
在一些实施例中,所述待处理m维向量利用从k个哈希函数中选取出的目标哈希函数对所述埋点数据进行映射处理得到,转换处理模块402,可以用于:按照如下公式对所述处理后m维向量进行扰动转换处理,得到第一转换后m维向量;其中,x
i
为第一转换后m维向量的第i维元素的值,k为哈希函数的数量,ε为预设的隐私预算,v
i
为处理后m维向量的第i维元素的值。
[0132]
在一些实施例中,每个哈希函数与不同的索引值对应,生成模块403,可以用于:获取k
×
m维概述矩阵、所述目标哈希函数对应的第一目标索引值和所述第二转换后m维向量对应的哈希函数对应的第二目标索引值,所述k
×
m概述矩阵中的元素的值均为0;根据所述第一转换后m维向量、所述第一目标索引值、所述第二转换后m维向量和所述第二目标索引值,对所述k
×
m维概述矩阵进行迭代处理,生成k
×
m维迭代矩阵。
[0133]
在一些实施例中,无偏估计模块404,可以用于:根据所述k
×
m维迭代矩阵、k个哈希函数和每个哈希函数对应的索引值和哈希值,对所述目标应用程序进行无偏估计,得到所述目标应用程序的无偏使用次数。
[0134]
本技术实施例提供一种计算机可读的存储介质,其上存储有计算机程序,当所述计算机程序在计算机上执行时,使得所述计算机执行如本实施例提供的无偏估计方法。
[0135]
本技术实施例提供一种用户设备,所述用户设备包括存储器,处理器,所述处理器通过调用所述存储器中存储的计算机程序,用于执行本技术实施例提供的数据处理方法。
[0136]
本技术实施例提供一种服务器,所述服务器包括处理器,存储器,所述存储器中存储有计算机程序,所述处理器通过调用所述存储器中存储的所述计算机程序,用于执行本技术实施例提供的数据处理方法。
[0137]
请参阅图6,图6是本技术实施例提供的用户设备的结构示意图。
[0138]
该用户设备500可以包括一个或者一个以上处理核心的处理器501、一个或一个以上计算机可读的存储介质的存储器502、通讯单元503、电源504、输入单元505、以及显示单元506等部件。本领域技术人员可以理解,图6中示出的用户设备结构并不构成对用户设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:
[0139]
处理器501是该用户设备的控制中心,利用各种接口和线路连接整个用户设备的
各个部分,通过运行或执行存储在存储器502内的软件程序和/或模块,以及调用存储在存储器502内的数据,执行用户设备的各种功能和处理数据,从而对用户设备进行整体监控。可选的,处理器501可包括一个或多个处理核心;优选的,处理器501可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器501中。
[0140]
存储器502可用于存储软件程序以及模块,处理器501通过运行存储在存储器502的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器502可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据用户设备的使用所创建的数据等。此外,存储器502可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器502还可以包括存储器控制器,以提供处理器501对存储器502的访问。
[0141]
通讯单元503可用于收发信息过程中,信号的接收和发送,特别地,通讯单元503接收终端发送的信号,并将信号交由一个或者一个以上处理器501处理。
[0142]
用户设备还包括给各个部件供电的电源504(比如电池),优选的,电源可以通过电源管理系统与处理器501逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源504还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
[0143]
该用户设备还可包括输入单元505,该输入单元505可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。
[0144]
该用户设备还可包括显示单元506,该显示单元506可用于显示由用户输入的信息或提供给用户的信息以及用户设备的各种图形用户接口,这些图形用户接口可以由图形、文本、图标、视频和其任意组合来构成。显示单元506可包括显示面板,可选的,可以采用液晶显示器(lcd,liquid crystal display)、有机发光二极管(oled,organic light

emitting diode)等形式来配置显示面板。
[0145]
具体在本实施例中,用户设备中的处理器501会按照如下的指令,将一个或一个以上的应用程序的进程对应的可执行文件加载到存储器502中,并由处理器501来运行存储在存储器502中的应用程序,从而实现各种功能,如下:
[0146]
获取目标应用程序的埋点数据;
[0147]
对所述埋点数据进行映射处理,得到待处理m维向量;
[0148]
对所述待处理m维向量进行扰动处理,得到处理后m维向量;
[0149]
将所述处理后m维向量发送至服务端,使得所述服务端根据所述处理后m维向量进行无偏估计,得到所述目标应用程序的无偏使用次数。
[0150]
在一些实施方式中,所述处理器501执行所述对所述埋点数据进行映射处理,得到待处理m维向量时,可以执行:从k个哈希函数中选取出目标哈希函数;利用所述目标哈希函数对所述埋点数据进行映射处理,得到目标哈希值;根据所述目标哈希值,确定待处理m维向量,其中,所述待处理m维向量中,第所述目标哈希值维的元素的值为1,其他维的元素的
值为

1。
[0151]
在一些实施方式中,所述处理器501执行所述对所述待处理m维向量进行扰动处理,得到处理后m维向量时,可以执行:按照目标概率对所述待处理m维向量的每个维度的元素的值进行扰动处理,以得到处理后m维向量,其中,若待处理m维向量的相应维度的元素的值为1,则按照目标概率将待处理m维向量的相应维度的元素的值翻转为

1,若待处理m维向量的相应维度的元素的值为

1,则按照目标概率将待处理m维向量的相应维度的元素的值翻转为1,其中,目标概率为:其中,ε为预设的隐私预算。
[0152]
在一些实施方式中,每个哈希函数与不同的索引值对应,所述处理器501执行所述将所述处理后m维向量发送至服务端,使得所述服务端根据所述处理后m维向量进行无偏估计,得到所述目标应用程序的无偏使用次数时,可以执行:获取所述目标哈希函数对应的目标索引值;将所述处理后m维向量和所述目标索引值发送至服务端,使得所述服务端根据所述处理后m维向量和所述目标索引值进行无偏估计,得到所述目标应用程序的无偏使用次数。
[0153]
请参阅图7,图7是本技术实施例提供的服务器的结构示意图。
[0154]
该服务器600可以包括一个或者一个以上处理核心的处理器601、一个或一个以上计算机可读的存储介质的存储器602、通讯单元603、电源604、输入单元605、以及显示单元606等部件。本领域技术人员可以理解,图7中示出的服务器结构并不构成对服务器的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:
[0155]
处理器601是该服务器的控制中心,利用各种接口和线路连接整个服务器的各个部分,通过运行或执行存储在存储器602内的软件程序和/或模块,以及调用存储在存储器602内的数据,执行服务器的各种功能和处理数据,从而对服务器进行整体监控。可选的,处理器601可包括一个或多个处理核心;优选的,处理器601可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器601中。
[0156]
存储器602可用于存储软件程序以及模块,处理器601通过运行存储在存储器602的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器602可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据服务器的使用所创建的数据等。此外,存储器602可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器602还可以包括存储器控制器,以提供处理器601对存储器602的访问。
[0157]
通讯单元603可用于收发信息过程中,信号的接收和发送,特别地,通讯单元603接收终端发送的信号,并将信号交由一个或者一个以上处理器601处理。
[0158]
服务器还包括给各个部件供电的电源604(比如电池),优选的,电源可以通过电源管理系统与处理器601逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源604还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
[0159]
该服务器还可包括输入单元605,该输入单元605可用于接收输入的数字或字符信
息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。
[0160]
该服务器还可包括显示单元606,该显示单元606可用于显示由用户输入的信息或提供给用户的信息以及服务器的各种图形用户接口,这些图形用户接口可以由图形、文本、图标、视频和其任意组合来构成。显示单元606可包括显示面板,可选的,可以采用液晶显示器(lcd,liquid crystal display)、有机发光二极管(oled,organic light

emitting diode)等形式来配置显示面板。
[0161]
具体在本实施例中,服务器中的处理器601会按照如下的指令,将一个或一个以上的应用程序的进程对应的可执行文件加载到存储器602中,并由处理器601来运行存储在存储器602中的应用程序,从而实现各种功能,如下:
[0162]
获取用户端发送的处理后m维向量,其中,所述处理后m维向量由所述用户端对待处理m维向量进行扰动处理得到,所述待处理m向量为所述用户端对获取的目标应用程序的埋点数据进行映射处理得到;
[0163]
对所述处理后m维向量进行扰动转换处理,得到第一转换后m维向量,并获取其他用户端对应的第二转换后m维向量;
[0164]
根据所述第一转换后m维向量和所述第二转换后m维向量,生成k
×
m维迭代矩阵;
[0165]
根据所述k
×
m维迭代矩阵对所述目标应用程序进行无偏估计,得到所述目标应用程序的无偏使用次数。
[0166]
在一些实施方式中,所述待处理m维向量利用从k个哈希函数中选取出的目标哈希函数对所述埋点数据进行映射处理得到,所述处理器601执行所述对所述处理后m维向量进行扰动转换处理,得到第一转换后m维向量时,可以执行:按照如下公式对所述处理后m维向量进行扰动转换处理,得到第一转换后m维向量;其中,x
i
为第一转换后m维向量的第i维元素的值,k为哈希函数的数量,ε为预设的隐私预算,v
i
为处理后m维向量的第i维元素的值。
[0167]
在一些实施方式中,每个哈希函数与不同的索引值对应,所述处理器601执行所述根据所述第一转换后m维向量和所述第二转换后m维向量,生成k
×
m维迭代矩阵时,可以执行:获取k
×
m维概述矩阵、所述目标哈希函数对应的第一目标索引值和所述第二转换后m维向量对应的哈希函数对应的第二目标索引值,所述k
×
m概述矩阵中的元素的值均为0;根据所述第一转换后m维向量、所述第一目标索引值、所述第二转换后m维向量和所述第二目标索引值,对所述k
×
m维概述矩阵进行迭代处理,生成k
×
m维迭代矩阵。
[0168]
在一些实施方式中,所述处理器601执行所述根据所述k
×
m维迭代矩阵对所述目标应用程序进行无偏估计,得到所述目标应用程序的无偏使用次数时,可以执行:根据所述k
×
m维迭代矩阵、k个哈希函数和每个哈希函数对应的索引值和哈希值,对所述目标应用程序进行无偏估计,得到所述目标应用程序的无偏使用次数。
[0169]
需要说明的是,上述实施例中,“多个”指代“两个”或“两个”以上。
[0170]
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见上文针对数据处理方法的详细描述,此处不再赘述。
[0171]
本技术实施例提供的所述数据处理装置与上文实施例中的数据处理方法属于同
一构思,在所述数据处理装置上可以运行所述数据处理方法实施例中提供的任一方法,其具体实现过程详见所述数据处理方法实施例,此处不再赘述。
[0172]
需要说明的是,对本技术实施例所述数据处理方法而言,本领域普通技术人员可以理解实现本技术实施例所述数据处理方法的全部或部分流程,是可以通过计算机程序来控制相关的硬件来完成,所述计算机程序可存储于一计算机可读的存储介质中,如存储在存储器中,并被至少一个处理器执行,在执行过程中可包括如所述数据处理方法的实施例的流程。其中,所述的计算机可读的存储介质可为磁碟、光盘、只读存储器(rom,remd only memory)、随机存取记忆体(rmm,rmndom mccess memory)等。
[0173]
对本技术实施例的所述数据处理装置而言,其各功能模块可以集成在一个处理芯片中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读的存储介质中,所述计算机可读的存储介质譬如为只读存储器,磁盘或光盘等。
[0174]
以上对本技术实施例所提供的一种数据处理方法、装置、存储介质、用户设备及服务器进行了详细介绍,本文中应用了具体个例对本技术的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本技术的方法及其核心思想;同时,对于本领域的技术人员,依据本技术的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本技术的限制。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献