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

一种数据处理方法、装置、设备及介质与流程

2021-11-18 01:47:00 来源:中国专利 TAG:


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


背景技术:

2.现有技术中,用户使用的很多电子设备或网络业务可以进行位置数据收集,从而电子设备或网络业务的服务商可能掌握大量的用户位置数据。位置数据作为用户隐私数据,如被不当传播或不当使用,可能对用户利益造成损害。
3.有鉴于此,需要更有效的位置数据处理方案。


技术实现要素:

4.本说明书实施例提供一种数据处理方法、装置、设备及介质,用以解决如何更有效和更安全地进行位置数据处理的技术问题。
5.为解决上述技术问题,本说明书实施例提供如下技术方案:
6.本说明书实施例提供第一种数据处理方法,包括:
7.获取位置点集合,利用空间填充曲线对所述位置点集合进行空间划分,以使所述空间填充曲线连接所述位置点集合中的各位置点;
8.根据所述空间填充曲线对所述位置点集合的空间划分结果,将所述位置点集合中的各位置点分为预设数量个目标子集;
9.若获取到对位置点的请求,则使用被请求位置点对应的虚拟位置点对所述请求进行反馈;其中,所述虚拟位置点根据所述被请求位置点所在的目标子集生成。
10.本说明书实施例提供一种数据处理装置,包括:
11.获取模块,用于获取位置点集合;
12.划分模块,用于利用空间填充曲线对所述位置点集合进行空间划分,以使所述空间填充曲线连接所述位置点集合中的各位置点;根据所述空间填充曲线对所述位置点集合的空间划分结果,将所述位置点集合中的各位置点分为预设数量个目标子集;
13.反馈模块,用于若获取到对位置点的请求,则使用被请求位置点对应的虚拟位置点对所述请求进行反馈;其中,所述虚拟位置点根据所述被请求位置点所在的目标子集生成。
14.本说明书实施例提供一种数据处理设备,包括:
15.至少一个处理器;
16.以及,
17.与所述至少一个处理器通信连接的存储器;
18.其中,
19.所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,使所述至少一个处理器能够执行上述的数据处理方法。
20.本说明书实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储有
计算机可执行指令,所述计算机可执行指令被处理器执行时实现上述的数据处理方法。
21.本说明书实施例采用的上述至少一个技术方案能够达到以下有益效果:
22.通过空间填充曲线对位置点进行聚合,得到聚合后的各个目标子集,能够提高位置点聚合效果;根据实际位置点所在的目标子集确定实际位置点对应的虚拟位置点,使用虚拟位置点替代实际位置点,能够有效防止实际位置数据的泄露。
附图说明
23.为了更清楚地说明本说明书实施例或现有技术中的技术方案,下面将对本说明书实施例或现有技术描述中所需要使用的附图作简单的介绍。显而易见地,下面介绍的附图仅仅是本说明书中记载的实施例可能涉及的部分附图,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
24.图1是本说明书第一个实施例中的数据处理方法的执行主体示意图。
25.图2是本说明书第一个实施例中的数据处理方法的流程示意图。
26.图3是本说明书第一个实施例中的一组空间划分示意图。
27.图4是本说明书第一个实施例中的另一组空间划分示意图。
28.图5是本说明书第二个实施例中的数据处理装置的结构示意图。
具体实施方式
29.为了使本技术领域的人员更好地理解本说明书中的技术方案,下面将结合本说明书实施例的附图,对本说明书实施例的技术方案清楚、完整地进行描述。显然,本说明书所描述的实施例仅仅是本技术的部分实施例,而不是全部的实施例。基于本说明书实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本技术保护的范围。
30.现有技术中,用户使用的很多电子设备或网络业务可以进行地理位置数据收集,所收集的位置数据可能存储于电子设备或网络业务的服务商处,例如电子设备或网络业务对应的服务器上。用户位置数据一方面可以在交通规划、信息推荐等方面发挥作用,具有较高的研究价值;另一方面用户位置数据作为用户隐私数据,如被不当传播或不当使用,可能对用户利益造成损害;例如,用户位置数据可以用于提取或推测用户的家庭住址、健康状况、收入情况等,从而威胁用户的生命财产安全。可见,用户的位置数据需要得到保护,而位置数据的传播和使用也需要被管控。
31.目前,位置数据保护的常用方式是k匿名算法。k匿名算法的思路是每个用户的位置数据都需要与k

1个用户的位置数据匿名在一起,那么用户的位置信息就无法从k个位置数据中区分出来。上述算法使用了k

means聚类算法,将k个同一时刻所在位置相邻的用户聚合在一起,其缺点是聚合结果受聚合中心点影响较大,聚合的效果并不稳定。
32.本说明书第一个实施例(以下简称“实施例一”)提供了一种数据处理方法,实施例一的执行主体可以是终端(包括但不限于手机、计算机、pad、电视)或者服务器或者操作系统或者应用程序或者数据处理平台或者数据处理系统等,即执行主体可以是多种多样的,可以根据需要设置、使用或者变换执行主体。另外,也可以有第三方应用程序协助所述执行主体执行实施例一。例如图1所示,可以由服务器来执行实施例一中的数据处理方法,并且
可以在(用户所持有的)终端上安装(与所述服务器)相对应的应用程序,终端或应用程序与服务器之间可以进行数据传输,通过终端或应用程序来进行数据的采集或输入或输出或(向用户)进行页面或信息处理,从而辅助服务器执行实施例一中的数据处理方法。
33.如图2所示,实施例一提供的数据处理方法包括:
34.s101:(执行主体)获取位置点集合;
35.实施例一的执行主体可以获取并存储位置点,所述位置点可以是一条条的数据的形式或其他合适形式,即所述位置点可以以数据的形式表示。
36.实施例一的执行主体可以通过用户持有的终端或使用的应用程序获取用户的位置数据。例如,实施例一的执行主体可以是终端制造商或设计商的服务器,接收终端采集的用户位置数据;又例如,实施例一的执行主体可以是用户使用的应用程序的服务器,接收应用程序采集的用户位置数据。当然,实施例一的执行主体也可以通过其他方式获取用户的位置数据,实施例一对此不作具体限定。另外,实施例一的执行主体获取用户的位置数据可以是在用户授权的情况下进行的,实施例一对授权方式不作具体限定。
37.实施例一的执行主体可以通过其获取的位置数据确定(用户的)位置点,即根据位置数据定位出位置点。例如,实施例一的执行主体所获取的位置数据可以包括成对形式的横坐标和纵坐标,从而实施例一的执行主体可以根据各对横纵坐标确定各个位置点。可见,获取用户的位置数据就能确定用户的位置点,相当于获取用户的位置点。
38.另外,用户的位置数据或位置点也可以由其他主体获取或确定,实施例一的执行主体从其他主体处获取位置数据或位置点。
39.实施例一的执行主体获取用户的位置点后,可以将位置点划分成位置点集合,从而实施例一的执行主体生成(生成即相当于获取)各个位置点集合。其中,获取位置点集合可以包括:获取各用户的位置点,将对应相同时间戳数据的位置点划分到同一集合,以得到各位置点集合。具体的,位置点是与时间戳数据对应的,或者说位置点可以携带时间戳属性或时间戳参数,从而可以确定用户何时在何地。将对应相同时间戳数据的位置点划分到同一集合,即将获得的各用户的位置点中,对应同一时刻的位置点划分到同一集合,从而得到若干位置点集合。
40.另外,可以由其他主体将位置点划分成位置点集合,实施例一的执行主体从其他主体处获取各个位置点集合。
41.由于可以不断获取用户的最新位置数据,故可以不断获取新的位置点集合。
42.获取位置点集合后,实施例一的执行主体可以利用空间填充曲线对所述位置点集合进行空间划分。对任一位置点集合,不妨称为集合a,以下以集合a为例进行说明。
43.s103:(执行主体),利用空间填充曲线对所述位置点集合进行空间划分,以使所述空间填充曲线连接所述位置点集合中的各位置点;根据所述空间填充曲线对所述位置点集合的空间划分结果,将所述位置点集合中的各位置点分为预设数量个目标子集;
44.空间填充曲线是一种重要的近似表示方法,空间填充曲线可以将数据空间划分成大小相同的网格,并将网格进行编码,每个网格指定一个唯一的编码。空间填充曲线在一定程度上保持空间邻近性。一个空间对象由一个或多个网格组成,空间填充曲线可以贯穿二维甚至更高维度空间中的每个空间对象。其中,集合a中的位置点可以作为空间对象。
45.使用空间填充曲线可以将集合a的数据空间进行空间划分,其中,集合a的数据空
间即集合a包含的各个位置点所在的空间(例如地理空间或地图空间)。利用空间填充曲线可以将集合a的数据空间划分为网格,集合a中的每个位置点位于一个网格上或集合a的每个位置点用一个网格代替。根据空间填充曲线的特性,空间填充曲线可以连接集合a包含的各个位置点,并且是线性地、无重复地连接集合a包含的各个位置点。根据空间填充曲线的特性,空间填充曲线可以对集合a包含的各个位置点进行编码和排序,集合a中的每个位置点具有唯一编码和序号。
46.实施例一可用的空间填充曲线有多种,包括但不限于gary曲线、z曲线和希尔伯特曲线。其中,希尔伯特曲线作为空间填充曲线的一种,能够线性无重复地贯穿二维甚至更高维度的空间中的每个单元,并对空间中的每个离散单元进行编码和排序,使得每个单元具有一个唯一标识。希尔伯特编码跳跃性小,曲线上相邻的点,在空间区域中一定相邻。希尔伯特曲线进行空间划分的特性主要包括:(1)使用四分法对空间区域进行递归划分;(2)能够线性对二维甚至高维空间中的位置点进行唯一编码;(3)希尔伯特编码或希尔伯特值接近的点在空间中也处于相邻位置。
47.由于希尔伯特曲线能够更好地保持原始空间中保持原始空间中相邻点之间的位置关系,故实施例一所述的空间填充曲线可以为希尔伯特曲线。即实施例一的执行主体可以利用希尔伯特曲线对集合a进行空间划分,希尔伯特曲线连接集合a包含的各个位置点,并对集合a包含的各个位置点进行编码和排序。以下部分内容以希尔伯特曲线为例进行说明。
48.在利用空间填充曲线对集合a进行空间划分后,实施例一的执行主体可以根据空间填充曲线对集合a的空间划分结果,可以将集合a划分为一个或多个目标子集。其中,可以预设由集合a划分出的目标子集数量(目标子集实际生成前,由集合a划分出的目标子集可称为集合a的待生成目标子集),也可以预设集合a的各待生成目标子集中的位置点的数量,并且可以将集合a的各待生成目标子集中的位置点数量设置为全部相同或部分相同或全部不同。
49.另外,若预设了由集合a划分出的目标子集数量,可以根据集合a中的位置点数量以及由集合a划分出的目标子集数量确定集合a的各待生成目标子集中的位置点数量。具体可以将集合a中的位置点数量与由集合a划分出的目标子集数量的比值作为集合a的各待生成目标子集中的位置点数量。这种情况下,由于“集合a的各待生成目标子集中的位置点数量”可以根据“由集合a划分出的目标子集数量”计算得到,故预设了由集合a划分出的目标子集数量后,也就相当于预设了集合a的各待生成目标子集中的位置点数量。当然,在求比值有余数的情况下,允许由集合a划分出的部分目标子集中的位置点数量根据余数适当调整,以分担所述余数。
50.若预设了集合a的各待生成目标子集中的位置点数量,可以根据集合a中的位置点数量以及集合a的各待生成目标子集中的位置点数量确定由集合a划分出的目标子集数量。具体的,若集合a的各待生成目标子集中的位置点数量相同,则可以将集合a中的位置点数量与集合a的各待生成目标子集中的位置点数量的比值作为由集合a划分出的目标子集数量。这种情况下,由于“由集合a划分出的目标子集数量”可以根据“集合a的各待生成目标子集中的位置点数量”计算得到,故预设了集合a的各待生成目标子集中的位置点数量,也就相当于预设了由集合a划分出的目标子集数量。当然,在求比值有余数的情况下,允许由集
合a划分出的目标子集数量根据余数适当调整。
51.实施例一中,集合a的各待生成目标子集中的位置点数量之和等于集合a中的位置点总数。由于不同时间戳数据下,位置点集合中的位置点总数具有随机性和不可控性,故一般可以预设由集合a划分出的目标子集数量,进而根据集合a实际的位置点数量和由集合a划分出的目标子集数量,确定集合a的各待生成目标子集中的位置点数量。
52.另外,还可以根据空间填充曲线的形状或方向等确定集合a的各待生成目标子集中的位置点数量,或者可以根据位置点的特点确定位置点被分到的目标子集的位置点数量,例如若某个位置点为热点位置(访问人数较多的位置),这该位置周围位置被访问的次数一般也较多,而该位置被分到的目标子集一般都是该位置周围位置的位置点,故该位置被分到的目标子集的位置点数量可以多一些。
53.集合a的待生成目标子集的数量和/或集合a的各待生成目标子集中的位置点数量可以通过实施例一的执行主体预设或计算,或者可以通过其他主体预设或计算,并由实施例一的执行主体从其他主体处获取集合a的待生成目标子集的数量和/或集合a的各待生成目标子集中的位置点数量。
54.实施例一的执行主体可以按照1.1或1.2所述的方式将集合a划分为预设数量个目标子集(实施例一不限于1.1或1.2所述的方式):
55.1.1、根据位置点排序对集合a进行划分
56.实施例一中,根据所述空间填充曲线对所述位置点集合的空间划分结果,将所述位置点集合中的各位置点分为预设数量个目标子集可以包括:
57.1.1.1、确定由所述位置点集合划分出的各目标子集中的位置点数量;以及,根据所述空间填充曲线对所述位置点集合的空间划分结果确定所述位置点集合中的各位置点的排序;
58.如何确定由集合a(即任一所述位置点集合)划分出的各目标子集中的位置点数量可以如上所述。另外,如上述,利用空间填充曲线对集合a进行空间划分后,可以得到所述空间填充曲线对集合a的空间划分结果,空间划分结果包括空间填充曲线的形状以及集合a中的各个位置点的编码和排序等。
59.1.1.2、从所述位置点集合中的各位置点中,按照所述排序依次选取满足所述各目标子集对应的位置点数量的位置点,以得到预设数量个目标子集
60.在得到集合a中的各个位置点的排序后,就可以按照所述排序依次选取满足所述各目标子集对应的位置点数量的位置点,以得到预设数量个目标子集。以下通过一个普适的、非限定的示例加以说明:假设集合a的待生成目标子集包括a1至an,即集合a的待生成目标子集由n个,目标子集a1中的位置点数量为p1,目标子集a2中的位置点数量为p2,
……
,目标子集an中的位置点数量为pn,则按照空间填充曲线对集合a中的位置点的排序,按照排序选取前p1个位置点组成目标子集a1,选取第p1 1至p1 p2个位置点组成目标子集a2,
……
,选取后pn个位置点组成目标子集an。
61.1.2、根据最优策略对集合a进行划分
62.在利用空间填充曲线对集合a进行空间划分时,所生成的空间填充曲线的形状或轨迹不同,空间划分方式可能不同;所使用的空间填充曲线的阶数不同,空间划分方式可能不同。空间划分方式不同,则空间划分结果可能不同。
63.为了获得相对更优的空间划分结果,可以利用多条空间填充曲线对集合a进行空间划分,分别确定各条空间填充曲线对应的空间划分结果。对各个空间划分结果,通过比较确定相对更优的空间划分结果以及目标子集划分方式。故利用空间填充曲线对所述位置点集合进行空间划分,以使所述空间填充曲线连接所述位置点集合中的各位置点可以包括:利用多条空间填充曲线分别对所述位置点集合进行空间划分,以使每条空间填充曲线连接所述位置点集合中的各位置点。这样一来,每条空间填充曲线都可以有其对应的空间划分结果。其中,所述的多条空间填充曲线的阶数一般相同。
64.在使用了多条空间填充曲线的情况下,根据所述空间填充曲线对所述位置点集合的空间划分结果,将所述位置点集合中的各位置点分为预设数量个目标子集可以包括:
65.1.2.1、对任一条所述空间填充曲线,根据该条空间填充曲线对所述位置点集合的空间划分结果,将所述位置点集合中的各位置点分为与该条空间填充曲线对应的由预设数量个子集形成的子集组;
66.对任一条空间填充曲线,都可以根据该空间填充曲线对集合a的空间划分结果,将集合a中的位置点划分为预设数量个子集。例如,对任一条空间填充曲线,通过1.1的方式都可以获得由集合a划分出的预设数量个子集(这预设数量个子集尚不称为目标子集),这预设数量个子集形成子集组。由于这预设数量个子集是在“使用该条空间填充曲线对集合a进行空间划分的情况下”得到的,故这预设数量个子集与该条空间填充曲线对应。
67.1.2.2、从各子集组中确定最优子集组,所述最优子集组中的子集为目标子集
68.由于使用了多条空间填充曲线,故可以确定与多条空间填充曲线一一对应的多个子集组(这多个子集组都是由集合a划分得到的,下同)。特别的,不同的子集组中的子集包含的位置点数量可以不同。例如图3所示,假设集合a包含8个位置点,图3中(a)和(b)都是表示用三阶希尔伯特曲线对集合a进行空间划分,并分别得到两个子集组,每个子集组由两个子集组成。图3中,希尔伯特曲线将集合a的8个位置点编码为u1至u8。(a)中将u1、u2、u3、u4划分为一个子集,将u5、u6、u7、u8划分为一个子集;(b)中的希尔伯特曲线方向与(a)中的希尔伯特曲线轨迹和方向不同,且按照(b)中的希尔伯特曲线轨迹和方向,u2与u8较为接近,故(b)中将u1、u4、u3、u2、u8划分为一个子集,将u7、u6、u5划分为一个子集。这与前述的“可以根据空间填充曲线的形状或方向等确定集合a的各待生成目标子集中的位置点数量”呼应。
69.确定了多个子集组后,可以从各子集组中确定最优子集组,最优子集组中的子集为目标子集。
70.实施例一的执行主体可以按照2.1或2.2或2.3所述的方式从各子集组中确定最优子集组(实施例一不限于2.1或2.2或2.3所述的方式):
71.2.1、根据平均网格数确定最优子集组
72.实施例一中,可以确定各个子集组占用的平均网格数,将占用平均网格数最小的子集组作为最优子集组。其中,一个子集组占用的平均网格数为该子集组中各个子集占用的平均网格数之和。对于任意两个子集组,若某个子集组占用的平均网格数越小,代表该子集组中有较多的子集占用的平均网格数比另一个子集组中的子集占用的平均网格数更小,即该子集组中的子集内的位置点彼此更紧密。
73.子集的平均网格数指子集内的所有位置点所处的区域的网格数目,一种计算方式
是子集的平均网格数为子集内的所有位置点在横向和纵向上的投影占用的最大网格数的乘积。例如图3(a)中,u1、u2、u3、u4这个子集在横向上的投影占用的最大网格数为u2的投影占用的4个网格,在纵向上的投影占用的最大网格数为u3的投影占用的4个网格,故u1、u2、u3、u4这个子集占用的平均网格数为16。
74.例如图3(a)中,u1、u2、u3、u4这个子集占用的平均网格数为16,u5、u6、u7、u8这个子集占用的平均网格数为21,即图3(a)中这两个子集形成的子集组的平均网格数为37;图3(b)中,u1、u4、u3、u2、u8这个子集占用的平均网格数为20,u7、u6、u5这个子集占用的平均网格数为6,即图3(b)中这两个子集形成的子集组的平均网格数为26。以平均网格数作为衡量标准,图3(b)所表示的子集组更优,即图3(b)所表示的空间划分结果更优。从图3也可以直观看出,在图3(b)所表示的空间划分情况下,u1、u4、u3、u2、u8彼此更紧密,u7、u6、u5彼此更紧密,而图3(a)u8与u5、u6、u7则距离相对更远,故图3(b)所表示的空间划分结果更优。
75.2.2、根据平均网格数和标准差圆确定最优子集组
76.在通过2.1确定各子集组的平均网格数时,也有可能出现多个子集组占用的平均网格数并列最小的情况。若有多个子集组占用的平均网格数并列最小,则对占用平均网格数并列最小的任一子集组,计算该子集组内各子集的标准差圆半径;根据占用平均网格数并列最小的各子集组内各子集的标准差圆半径确定最优子集组。
77.下面说明子集的标准差圆半径的计算方法:对任一子集,该子集的标准差圆半径为该子集包含的各位置点的标准差圆半径。其中,该子集包含的各位置点的标准差圆半径r的计算公式如公式1所示:
[0078][0079]
公式1中,x
i
表示该子集中单个位置点的横坐标;y
i
表示该子集中单个位置点的纵坐标;表示该子集中各位置点的横坐标平均值,表示该子集中各位置点的纵坐标平均值;n表示该子集中的位置点数量;以上参数均表示同一子集。
[0080]
一个子集的标准差圆半径越小,表示该子集中的各位置点彼此更紧密。例如图4(a)中u1、u2、u3、u4形成的子集的标准差圆半径为1.581,图4(b)中u1、u2、u3、u4形成的子集的标准差圆半径为1.173。从图4也可以直观看出,相对于图4(a),图4(b)中u1、u2、u3、u4形成的子集中,各位置点彼此更紧密。
[0081]
实施例一中,根据占用平均网格数并列最小的各子集组内各子集的标准差圆半径确定最优子集组可以包括:对占用平均网格数并列最小的任一子集组,计算该子集组的标准差圆半径参考值;其中,该子集组的标准差圆半径参考值为该子集组内各子集的标准差圆半径的和值或平均值。也就是说,对于一个子集组,分别计算该子集组内各子集的标准差圆半径,然后将该子集组内各子集的标准差圆半径的和值或平均值作为该子集组的标准差圆半径参考值。
[0082]
基于占用平均网格数并列最小的各子集组的标准差圆半径参考值,将标准差圆半
径参考值最小的子集组作为最优子集组。
[0083]
可见,最优子集组不仅占用平均网格数最小,标准差圆半径参考值也最小。
[0084]
2.3、根据标准差圆半径确定最优子集组
[0085]
实施例一中,从各子集组中确定最优子集组可以不考虑子集组占用的平均网格数,而根据标准差圆半径确定最优子集组,即从各条空间填充曲线对应的各子集组中确定最优子集组可以包括:
[0086]
2.3.1、对任一子集组,直接计算该子集组的标准差圆半径参考值;其中,该子集组的标准差圆半径参考值为该子集组内各子集的标准差圆半径的和值或平均值,任一子集的标准差圆半径为该子集包含的各位置点的标准差圆半径;子集组的标准差圆半径参考值的计算方式参照2.2;
[0087]
2.3.2、将标准差圆半径参考值最小的子集组作为最优子集组。
[0088]
基于各条空间填充曲线对应的各子集组的标准差圆半径参考值,将标准差圆半径参考值最小的子集组作为最优子集组。
[0089]
2.2或2.3中,考虑到位置点的属性可能会影响位置点的分布,导致标准差圆半径出现偏差,故2.2或2.3中的标准差圆半径可以是加权标准差圆半径。对任一子集,将该子集包含的各位置点的位置熵作为各位置点的权重,计算该子集包含的各位置点的加权标准差圆半径,即该子集的加权标准差圆半径。这样一来,对任一子集,该子集包含的各位置点的加权标准差圆半径r的计算公式如公式2所示:
[0090][0091]
公式2中,w
i
表示该子集中单个位置点对应的权重值,即w1表示(x1,y1)对应的权重值,w2表示(x2,y2)对应的权重值,以此类推,w
n
表示(x
n
,y
n
)对应的权重值;其他参数同公式1。
[0092]
特别的,位置点对应的权重值可以是位置点的位置熵,即位置点的属性是位置熵这一属性。具体的,位置熵是一种用来衡量不确定性的指标,可以表示位置服务中兴趣点的流行程度和隐私保护技术的性能。一般来说位置熵取值越大,不确定性越高,隐私保护机制效果越好,用户隐私越难受到攻击者攻击。位置熵的计算方式如下:
[0093]
设位置l为空间中一个位置点,w
l
为经过位置l的轨迹的集合,c
l
=|w
l
|为用户访问或经过位置l的总次数,u
l
为经过位置l的用户的集合,w
l,u
为用户u经过位置l的轨迹的集合,c
l,u
=|w
l,u
|为用户u访问或经过位置l的次数。若位置l被访问过,攻击者推测访问位置l的用户为用户u,推测正确的概率
[0094]
位置l的位置熵
[0095]
当所有用户访问位置l的均为时,位置l的位置熵取值最大,最大值为log2|u
l
|,隐私保护的效果最好。
[0096]
经过上述过程,对任一位置点,都将该位置点所在的位置点集合划分为预设数量个目标子集,该位置点会被划分到一个目标子集中。
[0097]
s105:(执行主体)若获取到对位置点的请求,则使用被请求位置点对应的虚拟位置点对所述请求进行反馈;其中,所述虚拟位置点根据所述被请求位置点所在的目标子集生成。
[0098]
实施例一中,对任一位置点,实施例一的执行主体可以确定该位置点所在的目标子集,并根据该位置点所在的目标子集生成该位置点对应的虚拟位置点。其中,根据该位置点所在的目标子集生成该位置点对应的虚拟位置点可以包括:将该位置点所在的目标子集包含的各位置点的横坐标平均值作为该位置点对应的虚拟位置点的横坐标,将该位置点所在的目标子集包含的各位置点的纵坐标平均值作为该位置点对应的虚拟位置点的纵坐标,从而可以定位该位置点对应的虚拟位置点。
[0099]
实际情景中,实施例一的执行主体作为位置点的存储方,其他主体可能出于各种需要,会向实施例一的执行主体请求获取其存储的位置点,故其他主体可以向实施例一的执行主体发送对位置点的获取请求(请求形式不限)。或者,实施例一的执行主体也可能需要展示其存储的位置点,故实施例一的主体自身也可以生成(生成即相当于获取)对位置点的展示请求(要展示位置点需要先获取位置点,故展示请求也属于获取请求)。位置点作为用户隐私数据,如果直接向其他主体提供或直接展示,可能造成用户隐私数据泄露。
[0100]
实施例一的执行主体可以根据其获取的请求确定被请求位置点。其中,所述请求可以包括用户标识数据,实施例一的执行主体可以根据所述请求的用户标识数据确定所述请求对应的目标用户,再将所述目标用户的位置点作为被请求位置点;或者,所述请求可以包括用户标识数据和时间数据,实施例一的执行主体可以根据所述请求确定所述请求对应的目标用户以及所述请求对应的目标时间段(即被请求的用户以及被请求的时间段),再将所述目标用户在所述目标时间段内的位置点作为被请求位置点。由于单个位置点集合包含对应同一时间戳数据的位置点,故所述目标时间段内的位置点一般为多个位置点,即被请求位置点有多个,所述多个被请求位置点位于不同位置点集合,每个被请求位置点被划分到一个目标子集。
[0101]
由于所述请求目的是为了获取位置点,故不论所述请求内容为何,都可以看作对位置点的请求。
[0102]
实施例一中,若实施例一的执行主体获取到对位置点的请求(包括但不限于上述所列请求),则实施例一的执行主体使用被请求位置点对应的虚拟位置点对所述请求进行反馈。其中,使用被请求位置点对应的虚拟位置点对所述请求进行反馈可以包括:若所述请求为设备发送的对位置点的获取请求,则实施例一的执行主体确定被请求位置点,并向所述设备发送被请求位置点对应的虚拟位置点;即使用被请求位置点对应的虚拟位置点代替被请求位置点发送给设备;
[0103]
和/或,
[0104]
若所述请求为对位置点的展示请求,则实施例一的执行主体确定被请求位置点,
展示被请求位置点对应的虚拟位置点,即使用被请求位置点对应的虚拟位置点代替被请求位置点进行展示。
[0105]
如上述,被请求位置点可以是目标用户在所述目标时间段内的一系列位置点,被请求位置点可以表征目标用户在所述目标时间段内的运动轨迹。通过反馈被请求位置点对应的虚拟位置点,则其他主体获取的或被展示的是利用被请求位置点对应的虚拟位置点所表征的运动轨迹,可以看作即为目标用户的真实运动轨迹对应的虚拟运动轨迹,从而保护用户隐私。或者,实施例一的执行主体获取的上述请求就是获取或展示目标用户在所述目标时间段内的运动轨迹的请求,则实施例一的执行主体可以生成所述虚拟运动轨迹,将所述虚拟运动轨迹发送给设备或进行展示。也就是说,所述请求可以是用于获取位置点,也可以是用于获取运动轨迹(即对运动轨迹的请求)。由于运动轨迹是根据位置点形成的,故对运动轨迹的请求实际上就是对位置点的请求。
[0106]
实施例一中,对任一位置点,可以在确定该位置点所在的目标子集后(即划分出该位置点所在的位置点集合的目标子集后)就根据该位置点所在的目标子集生成该位置点对应的虚拟位置点。这样操作的优点是一旦该位置点成为被请求位置点,可以直接使用该位置点对应的已确定虚拟位置点对请求进行反馈。相应的,由于各个位置点对应的虚拟位置点都会被计算,而有的位置点可能并不会被请求或不会被频繁请求,所以计算量较大。有鉴于此,实施例一中,可以在获取到对位置点的请求,确定被请求位置点后,再单独计算被请求位置点对应虚拟位置点,从而降低计算量。
[0107]
实施例一中,将位置点集合划分为目标子集相当于对位置点集合中的位置点进行聚合,所得聚合结果即为目标子集,故实施例一中是根据空间填充曲线对所述位置点集合的空间划分结果进行位置点聚合。基于空间填充曲线,特别是希尔伯特曲线进行空间划分和位置点聚合,聚合效果受单个位置点或聚合中心点影响小,聚合性能更稳定,聚合效果更好。在此基础上,单个目标子集的位置点彼此更紧密。对任一目标子集的任一位置点,该位置点对应的虚拟位置点与该位置点所在的目标子集的其他位置点也更紧密,即任一目标子集内各个位置点对应的虚拟位置点都与该目标子集其他位置点更紧密,从而该目标子集内各位置点对应的虚拟位置点都能够更均衡和更集中分布,提高由虚拟位置点得到实际位置点的难度,提高实际位置点的安全性以及防攻击性,提高用户隐私数据保护效果。
[0108]
实施例一中,在利用空间填充曲线进行空间划分的基础上,利用平均网格数和/或标准差圆半径进行目标子集划分,使得各目标子集的位置点彼此进一步紧密,进一步提高聚合效果,进一步提高实际位置点的安全性以及防攻击性,进一步提高用户隐私数据保护效果。
[0109]
实施例一中,在利用空间填充曲线和标准差圆半径进行目标子集划分基础上,进一步考虑各位置点的位置熵属性,使用基于位置熵的加权标准差圆半径进行目标子集划分,使得各目标子集内各位置点的位置熵取值趋向最大,使得各目标子集的位置点彼此进一步紧密,进一步提高聚合效果,进一步提高实际位置点的安全性以及防攻击性,进一步提高用户隐私数据保护效果。
[0110]
每个目标子集的各位置点形成的整体区域用于隐匿用户的实际位置点,由于目标子集的位置点彼此进一步紧密,则目标子集形成的隐匿区域相对更小,从而降低虚拟位置点的计算量,提高计算性能,并有利于达到提高计算性能与提高隐私保护效果的平衡。
[0111]
实施例一的执行主体可以是区块链上的节点,实施例一的执行主体所获取的位置点以及确定的目标子集和虚拟位置点等多种数据都可以发送到其所在区块链的其他节点进行存储,或由其所在区块链的共识节点对所述多种数据进行共识后由其所在区块链的多个节点分别存储,即实现所述多种数据的分布式和去中心化存储,避免所述多种数据被篡改。实施例一的执行主体所在区块链的任一节点获取到对位置点的请求后,都可以按照实施例一使用被请求位置点对应的虚拟位置点或虚拟运动轨迹对所述请求进行反馈,提高隐私保护效果。所述任一节点使用的虚拟位置点或虚拟运动轨迹可以是实施例一的执行主体生成并发送给所述任一节点的,也可以是所述任一节点按照实施例一的执行主体的方式自行生成的,即所述任一节点都可以作为实施例一的执行主体。
[0112]
如图5所示,本说明书第二个实施例提供了与实施例一的方法对应的一种数据处理装置,包括:
[0113]
获取模块202,用于获取位置点集合;
[0114]
划分模块204,用于利用空间填充曲线对所述位置点集合进行空间划分,以使所述空间填充曲线连接所述位置点集合中的各位置点;根据所述空间填充曲线对所述位置点集合的空间划分结果,将所述位置点集合中的各位置点分为预设数量个目标子集;
[0115]
反馈模块206,用于若获取到对位置点的请求,则使用被请求位置点对应的虚拟位置点对所述请求进行反馈;其中,所述虚拟位置点根据所述被请求位置点所在的目标子集生成。
[0116]
可选的,获取位置点集合包括:
[0117]
获取各用户的位置点,将对应相同时间戳数据的位置点划分到同一集合,以得到各位置点集合。
[0118]
可选的,根据所述空间填充曲线对所述位置点集合的空间划分结果,将所述位置点集合中的各位置点分为预设数量个目标子集包括:
[0119]
确定由所述位置点集合划分出的各目标子集中的位置点数量;以及,根据所述空间填充曲线对所述位置点集合的空间划分结果确定所述位置点集合中的各位置点的排序;
[0120]
从所述位置点集合中的各位置点中,按照所述排序依次选取满足所述各目标子集对应的位置点数量的位置点,以得到预设数量个目标子集。
[0121]
可选的,利用空间填充曲线对所述位置点集合进行空间划分,以使所述空间填充曲线连接所述位置点集合中的各位置点包括:
[0122]
利用多条空间填充曲线分别对所述位置点集合进行空间划分,以使每条空间填充曲线连接所述位置点集合中的各位置点;
[0123]
根据所述空间填充曲线对所述位置点集合的空间划分结果,将所述位置点集合中的各位置点分为预设数量个目标子集包括:
[0124]
对任一条所述空间填充曲线,根据该条空间填充曲线对所述位置点集合的空间划分结果,将所述位置点集合中的各位置点分为与该条空间填充曲线对应的由预设数量个子集形成的子集组;
[0125]
从各子集组中确定最优子集组,所述最优子集组中的子集为目标子集。
[0126]
可选的,从各子集组中确定最优子集组包括:
[0127]
确定各个子集组占用的平均网格数,将占用平均网格数最小的子集组作为最优子
集组。
[0128]
可选的,若有多个子集组占用的平均网格数并列最小,则对占用平均网格数并列最小的任一子集组,计算该子集组内各子集的标准差圆半径;其中,任一子集的标准差圆半径为该子集包含的各位置点的标准差圆半径;
[0129]
根据占用平均网格数并列最小的各子集组内各子集的标准差圆半径确定最优子集组。
[0130]
可选的,根据占用平均网格数并列最小的各子集组内各子集的标准差圆半径确定最优子集组包括:
[0131]
对占用平均网格数并列最小的任一子集组,计算该子集组的标准差圆半径参考值;其中,该子集组的标准差圆半径参考值为该子集组内各子集的标准差圆半径的和值或平均值;
[0132]
将标准差圆半径参考值最小的子集组作为最优子集组。
[0133]
可选的,从各子集组中确定最优子集组包括:
[0134]
对任一子集组,计算该子集组的标准差圆半径参考值;其中,该子集组的标准差圆半径参考值为该子集组内各子集的标准差圆半径的和值或平均值,任一子集的标准差圆半径为该子集包含的各位置点的标准差圆半径;
[0135]
将标准差圆半径参考值最小的子集组作为最优子集组。
[0136]
可选的,所述标准差圆半径为加权标准差圆半径。
[0137]
可选的,对任一子集,将该子集包含的各位置点的位置熵作为权重,计算该子集包含的各位置点的加权标准差圆半径。
[0138]
可选的,所述空间填充曲线为希尔伯特曲线。
[0139]
可选的,所述反馈模块206还用于:若获取到对位置点的请求,则确定所述请求对应的目标用户以及所述请求对应的目标时间段,将所述目标用户在所述目标时间段内的位置点作为被请求位置点。
[0140]
可选的,使用被请求位置点对应的虚拟位置点对所述请求进行反馈包括:
[0141]
若所述请求为设备发送的对位置点的获取请求,则向所述设备发送被请求位置点对应的虚拟位置点;
[0142]
和/或,
[0143]
若所述请求为对位置点的展示请求,则展示被请求位置点对应的虚拟位置点。
[0144]
可选的,所述反馈模块206还用于:对任一位置点,确定该位置点所在的目标子集后,根据该位置点所在的目标子集生成该位置点对应的虚拟位置点;
[0145]
或,
[0146]
所述反馈模块206还用于:若获取到对位置点的请求,则根据被请求位置点所在的目标子集生成所述被请求位置点对应的虚拟位置点。
[0147]
可选的,根据所述被请求位置点所在的目标子集生成所述虚拟位置点包括:
[0148]
将所述被请求位置点所在的目标子集包含的各位置点的横坐标平均值作为所述虚拟位置点的横坐标,将所述被请求位置点所在的目标子集包含的各位置点的纵坐标平均值作为所述虚拟位置点的纵坐标。
[0149]
本说明书第三个实施例提供一种数据处理设备,包括:
hardware description language)等,目前最普遍使用的是vhdl(very

high

speed integrated circuit hardware description language)与verilog。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。
[0161]
控制器可以按任何适当的方式实现,例如,控制器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(application specific integrated circuit,asic)、可编程逻辑控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:arc 625d、atmel at91sam、microchip pic18f26k20以及silicone labs c8051f320,存储器控制器还可以被实现为存储器的控制逻辑的一部分。本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
[0162]
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
[0163]
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本说明书时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
[0164]
本领域内的技术人员应明白,本说明书实施例可提供为方法、系统、或计算机程序产品。因此,本说明书实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本说明书实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd

rom、光学存储器等)上实施的计算机程序产品的形式。
[0165]
本说明书是参照根据本说明书实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0166]
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0167]
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计
算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0168]
在一个典型的配置中,计算设备包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存。
[0169]
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flash ram)。内存是计算机可读介质的示例。
[0170]
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd

rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带式磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
[0171]
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
[0172]
本说明书可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本说明书,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
[0173]
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
[0174]
以上所述仅为本说明书实施例而已,并不用于限制本技术。对于本领域技术人员来说,本技术可以有各种更改和变化。凡在本技术的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本技术的权利要求范围之内。
再多了解一些

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

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

相关文献