一种不泄露位置信息的POI推荐方法与流程

文档序号:33288855发布日期:2023-02-28 17:40阅读:87来源:国知局
一种不泄露位置信息的POI推荐方法与流程
一种不泄露位置信息的poi推荐方法
技术领域
1.本发明涉及数据处理技术领域,具体涉及一种不泄露位置信息的poi推荐方法。


背景技术:

2.poi是“point of interest”的缩写,即为“兴趣点”。兴趣点是地理信息系统中的一个术语,泛指一切可以抽象为点的地理对象,尤其是一些与人们生活密切相关的地理实体,如学校、银行、餐馆、加油站、医院、超市等。兴趣点查询是按照用户的兴趣选择相应类别,查询相关的poi信息,是位置信息服务的基础技术之一,直接影响到用户的服务体验。兴趣点查询首先需要激活一次定位服务,获取当前的位置,再激活一次窗口查询,得到兴趣点列表。一个典型的兴趣点查询流程如下:用户激活一个定位服务,发送自己的识别码;定位服务从电信运营商的定位服务器获得用户位置,将该位置返回给用户;服务器根据请求参数,返回地图并显示;启动一个poi查询;服务器完成一次空间查询,返回查询结果给用户。用户如果对查询结果不满意,则可以上报问题,提供自己了解的信息,系统在数据库中生成一条记录。这样的poi查询方式会暴露查询者的地理位置。大量用户向同一位置服务商,就会使位置服务商掌握大量民众的出行信息和聚集习惯,对公众的安全带来风险。因而需要研究在获取poi时,不对服务器暴露用户的地理位置。
3.如中国专利cn104280031a,公开日2015年1月14日,一种兴趣点导航系统,在网络服务器的兴趣点数据库中存储有兴趣点信息、兴趣点信息,兴趣点信息包括兴趣点名称、兴趣点位置信息,兴趣点位置信息包括兴趣点经度坐标值、兴趣点纬度坐标值。网络服务器根据用户利用移动通信设备输入的兴趣点信息及获取的当前位置信息,从兴趣点数据库中查找出与移动电子设备当前所处位置最近的兴趣点的兴趣点信息,根据当前位置信息、兴趣点信息及预存的地图数据生成兴趣点导航路径信息,将生成的兴趣点导航路径信息及与该兴趣点导航路径信息对应的地图数据传送给移动通信设备,以此为用户提供有针对性的导航信息。其技术方案不能解决poi获取时,泄露位置信息的问题。


技术实现要素:

4.本发明要解决的技术问题是:目前缺乏在获取poi时,能够使位置信息保密的技术问题。提出了一种不泄露位置信息的poi推荐方法,能够在不泄露位置数据的情况下,获得位置附近的兴趣点信息。
5.为解决上述技术问题,本发明所采取的技术方案为:一种不泄露位置信息的poi推荐方法,用于服务端向移动端推荐poi,包括以下步骤:服务器在目标区域建立n个代表点,公开代表点的位置坐标和编号m,m∈[1,n],n为质数,移动端根据定位数据选择代表点,获得代表点的编号m;构建存储代理机,存储代理机开辟若干个存储空间,为若干个存储空间随机生成若干个不连续的关联数s,s∈[1,n],记录在代理地址表中;服务器生成若干对公私秘钥(ei,di),其中,i∈[1,n],n≥2,ei*di=k*φ(n)+1,k为随机正整数,ei表示公钥,di表示私钥,φ()为欧拉函数;移动端向存储代理机索要一个关联数s,向服务器索要至少两
个公钥;移动端生成初始向量(m,s,in),in表示兴趣类型,从服务器提供的至少两个公钥中随机选择一个公钥,将被选择的公钥记为e1,未被选择的记为e2,

,ei;移动端计算特征向量(pow(m,e1) mod n, pow(s,e1) mod n,in),将特征向量发送给服务器;服务器分别使用私钥d1至dn解密特征向量,将得到正确的初始向量(m,s),其余私钥解密特征向量记为(mi,si),i∈[2,n];服务器根据代表点编号m以及mi的位置,搜索符合兴趣类型in的兴趣点p,将符合条件的兴趣点p纳入结果集合l,结果集合分别记为lm以及lmi;服务器将lm关联s,将lmi关联si,发送给存储代理机;存储代理机检查s或者si是否在代理地址表中,若存在,则将对应的lm或者lmi存储在对应的存储空间内,若不存在,则接收后直接丢弃;移动端向存储代理机索要关联数s对应存储空间内的内容,即获得兴趣列表lm。pow(m,e1)为求幂函数,即m的e1次方。
[0006]
作为优选,服务器将lm使用私钥d1加密,将lmi使用私钥di加密,而后再分别将lm关联s,将lmi关联si,发送给存储代理机,移动端将从存储代理机获得加密后的lm,使用移动端选择的公钥e1解密即可获得兴趣点列表lm,展示给用户。
[0007]
作为优选,所述兴趣点p为向量(lp,ti,tt,tag_j,tag_j+1),lp为兴趣点的地理位置,ti为兴趣点名称,tt为兴趣点介绍文本,tag_j和tag_j+1为若干组属性标签编号,j为偶数,j∈[0,j],属性标签编号标识兴趣点p涉及的属性标签,若用户点击查看了兴趣点p,则tag_j增加预设第一步长,若用户在兴趣点p进行了消费,则tag_j增加预设第二步长,若用户选择隐藏兴趣点p,则tag_j+1增加预设第三步长,移动端存储 (tag_0,tag_1,tag_2,

, tag_j+1)的值作为偏好向量,移动端生成的初始向量为(m,s,in,tag_0,tag_1,tag_2,

, tag_j+1),服务器根据解密获得的偏好向量对兴趣列表lm及lmi排序。
[0008]
作为优选,服务器对兴趣列表lm或lmi排序的方法包括:获得兴趣点p涉及的标签组(tag_j,tag_j+1),若tag_j+1大于预设阈值,则将兴趣点从兴趣列表lm或lmi中删除;计算兴趣分p=a*∑tag_j-b*∑tag_j+1,a,b分别为预设权重系数;按兴趣分p降序,将兴趣列表lm或lmi中的兴趣点p 排序。
[0009]
作为优选,移动端记录用户在预设时长内对兴趣点p的操作记录,删除超过预设时长的对兴趣点p的操作记录,请求poi时,移动端根据操作记录计算出tag_j和tag_j+1的值。
[0010]
作为优选,存储代理机提供关联数s对应存储空间内的内容后,将关联数s从代理地址表中删除,存储代理机周期性清空代理地址表,并重新为若干个存储空间随机生成若干个不连续的关联数s,并存储在代理地址表中。
[0011]
作为优选,服务器在目标区域建立n1个代表点,n1》n,其中代表点编号n+1至n1的地理位置分别与代表点编号n+1%n至n1%n重叠,对应地理位置重叠的代表点编号,移动端随机选择一个代表点编号作为m。
[0012]
本发明的实质性效果是:1)在获得兴趣点列表时,服务器将解密出多个定位位置,因而无法分辨请求获得兴趣点的具体位置,保护了移动端的位置信息;2)使用代表点,并用序号表示,使服务器解密获得的错误位置也仍然处于预设的范围内,与真实位置信息表面相同,具有混淆效果;3)使用存储代理机使移动端仅能获得请求的位置附近的兴趣点,不会使服务器存储的poi信息不必要的泄露。
附图说明
[0013]
图1为实施例一poi推荐方法流程示意图。
[0014]
图2为实施例一服务器加密方法流程示意图。
[0015]
图3为实施例二服务器排序兴趣点流程示意图。
具体实施方式
[0016]
下面通过具体实施例,并结合附图,对本发明的具体实施方式作进一步具体说明。
[0017]
实施例一:一种不泄露位置信息的poi推荐方法,用于服务端向移动端推荐poi,请参阅附图1,包括以下步骤:步骤a01)服务器在目标区域建立n个代表点,公开代表点的位置坐标和编号m,m∈[1,n],n为质数,移动端根据定位数据选择代表点,获得代表点的编号m;步骤a02)构建存储代理机,存储代理机开辟若干个存储空间,为若干个存储空间随机生成若干个不连续的关联数s,s∈[1,n],记录在代理地址表中;步骤a03)服务器生成若干对公私秘钥(ei,di),其中,i∈[1,n],n≥2,ei*di=k*φ(n)+1,k为随机正整数,ei表示公钥,di表示私钥,φ()为欧拉函数;步骤a04)移动端向存储代理机索要一个关联数s,向服务器索要至少两个公钥;步骤a05)移动端生成初始向量(m,s,in),in表示兴趣类型,从服务器提供的至少两个公钥中随机选择一个公钥,将被选择的公钥记为e1,未被选择的记为e2,

,ei,移动端计算特征向量(pow(m,e1), pow(s,e1),in);步骤a06)将特征向量发送给服务器;步骤a07)服务器分别使用私钥d1至dn解密特征向量,将得到正确的初始向量(m,s),其余私钥解密特征向量记为(mi,si),i∈[2,n];步骤a08)服务器根据代表点编号m以及mi的位置,搜索符合兴趣类型in的兴趣点p,将符合条件的兴趣点p纳入结果集合l,结果集合分别记为lm以及lmi;服务器将lm关联s,将lmi关联si,发送给存储代理机;步骤a09)存储代理机检查s或者si是否在代理地址表中,若存在,则将对应的lm或者lmi存储在对应的存储空间内,若不存在,则接收后直接丢弃;步骤a10)移动端向存储代理机索要关联数s对应存储空间内的内容,即获得兴趣列表lm。
[0018]
代表点以10米乘10米的正方形,在城市中以阵列的方式均匀分布代表点。移动端根据自身的定位数据,选择附近的一个代表点,获得代表点的编号m。对于10米的精度,获得的兴趣点列表基本相同,移动端附近有2-3个代表点可供选择,移动端任选一个即可。移动端获得位置附近的超市、餐厅、店铺、加油站及厕所,等需要获得服务的兴趣点类型,用in表示。如搜索附近的餐厅,获得定位位置附近的餐厅列表。
[0019]
本实施例中n=10007,φ(n)=10006,服务器生成若干个公私秘钥对(e1=11,d1=2729)、(e2=89,d2=787)以及(e3=167,d3=719),并保存在服务器内。
[0020]
移动端根据其定位数据,获得最近的代表点的编号m=16。移动端从存储代理机索要一个关联数s=65,在存储代理机内,关联数s=65所关联的存储空间的物理地址的寻址地
址为(136,25,693)。
[0021]
移动端从服务器索要3个公钥,服务器返回e1=11、e2=89和e3=167。
[0022]
移动端欲获得代理点m=16附近的餐厅,餐厅的兴趣类型编号为3。移动端制作初始向量(16,65,3)。
[0023]
选定e1=11,用来计算特征向量,特征向量为(pow(16,11),pow(65,11),3)=(8332,1392,3),将向量(8332,1392,3)发送给服务器。
[0024]
服务器分别使用d1=2729、d2=787和d3=719解密特征向量。
[0025]
使用d1解密:pow(8332,2729) mod n=16,pow(1392,2729) mod n=65。
[0026]
使用d2解密:pow(8332,787) mod n=1589,pow(1392,787) mod n=8573。
[0027]
使用d3解密:pow(8332,719) mod n=1260,pow(1392,719) mod n=164。
[0028]
即服务器将收到3个位置的poi请求,对应代表点编号分别为16、1589和1260。服务器将难以分辨请求poi的移动端的具体位置。
[0029]
服务器分别为编号16、1589和1260,分别生成三个兴趣点列表。即位置在编号16、1589和1260附近的餐厅列表,记为l16,l1589,l1260。
[0030]
将l16和关联数s=65发送给存储代理机,将l1589和关联数s=8573发送给存储代理机,将l1260和关联数s=164发送给存储代理机。
[0031]
存储代理机查询代理地址表,关联数s=65存在于代理地址表中,将l16存储在对应的寻址地址 (136,25,693)中。关联数s=8573和关联数s=164不存在于代理地址表中,因而接收l1589和l1260后,直接将l1589和l1260丢弃。
[0032]
移动端向存储代理机索要关联数s=65对应的存储内容,即l16,获取l16后,展示给用户。在此过程中,移动端获得了兴趣点列表,服务器则受到了三个代表点的兴趣点请求,无法分辨具体的移动端位置。移动端也仅获得了代表点编号16附近的兴趣点列表,无法获取其他信息。
[0033]
请参阅附图2,服务器加密兴趣点列表的方法包括:步骤b01)服务器将lm使用私钥d1加密,将lmi使用私钥di加密;步骤b02)分别将lm关联s,将lmi关联si,发送给存储代理机;步骤b03)移动端将从存储代理机获得加密后的lm;步骤b04)使用移动端选择的公钥e1解密即可获得兴趣点列表lm,展示给用户。本实施例中,将l16使用d1=2729加密,l1589和l1260分辨使用d2=787和d3=717加密。对应的使用e1 =11、e2=89以及e3=167能够分别解密。但由于移动端仅能从存储代理机获得l16的加密密文,因而只能获得l16中的兴趣点列表。
[0034]
兴趣点p为向量(lp,ti,tt,tag_j,tag_j+1),lp为兴趣点的地理位置,ti为兴趣点名称,tt为兴趣点介绍文本,tag_j和tag_j+1为若干组属性标签编号,j为偶数,j∈[0,j],属性标签编号标识兴趣点p涉及的属性标签,若用户点击查看了兴趣点p,则tag_j增加预设第一步长,若用户在兴趣点p进行了消费,则tag_j增加预设第二步长,若用户选择隐藏兴趣点p,则tag_j+1增加预设第三步长,移动端存储 (tag_0,tag_1,tag_2,

, tag_j+1)的值作为偏好向量,移动端生成的初始向量为(m,s,in,tag_0,tag_1,tag_2,

, tag_j+1),服务器根据解密获得的偏好向量对兴趣列表lm及lmi排序。
[0035]
如餐厅被服务器关联有标签中餐厅、西餐厅、中低消费和高消费,四个标签,四个标签在服务器中的编号为2、4、6和8。即兴趣点中含有编号2,即表示兴趣点具有标签中餐厅,含有编号8,则表示为高消费。餐厅甲的属性为中餐厅和高消费。则表示餐厅甲的兴趣点
p的向量为:(xx路xx号,餐厅甲,火锅餐厅,2,3,8,9)。标签编号为偶数表示正向偏好,奇数标签编号表示负向偏好。若用户在移动端点击查看了则对应的标签编号2记录增加1,若在餐厅甲进行了消费,则对应的标签编号2记录增加3,则标签编号2的值变为4。餐厅乙的标签为西餐厅和高消费,若用户通过移动端显示隐藏餐厅乙的信息,则对应标签编号5和标签编号7分别增加1,表示负向偏好。用户操作后标签向量的值为(tag_0,tag_1,tag_2,tag_3,tag_4,tag_5,tag_6,tag_7, tag_8,tag_9)=(0,0,4,0,0,1,0,1,0,0)。标签向量表示了5个标签。增长标签向量的长度可以增加能够表示的标签信息。服务器根据标签向量的值,判断用户的偏好,为兴趣点p进行排序,并将用户多次隐藏的类型的兴趣点,从结果集合中删除。具体请参阅附图3,服务器对兴趣列表lm或lmi排序的方法包括:步骤c01)获得兴趣点p涉及的标签组(tag_j,tag_j+1);步骤c02)若tag_j+1大于预设阈值,则将兴趣点从兴趣列表lm或lmi中删除;步骤c03)计算兴趣分p=a*∑tag_j-b*∑tag_j+1,a,b分别为预设权重系数;步骤c04)按兴趣分p降序,将兴趣列表lm或lmi中的兴趣点p 排序。
[0036]
本实施例中a=2,b=1,餐厅甲的兴趣分p甲=2*tag_2-1*tag_3+2*tag_8-1* tag_9=2*4-1*0+2*0-1*1=7,餐厅乙的兴趣分p乙=2*tag_4-1*tag_5+2*tag_8-1* tag_9=2*0-1*1+2*0-1*1=-2,餐厅乙的排序将在餐厅甲之后。
[0037]
移动端记录用户在预设时长内对兴趣点p的操作记录,删除超过预设时长的对兴趣点p的操作记录,请求poi时,移动端根据操作记录计算出tag_j和tag_j+1的值。
[0038]
存储代理机提供关联数s对应存储空间内的内容后,将关联数s从代理地址表中删除,存储代理机周期性清空代理地址表,并重新为若干个存储空间随机生成若干个不连续的关联数s,并存储在代理地址表中。本实施例中,移动端从存储代理机读取关联数s=65对应的内容后,存储代理机将关联数s=65从代理地址表中删除。
[0039]
服务器在目标区域建立n1个代表点,n1》n,其中代表点编号n+1至n1的地理位置分别与代表点编号n+1%n至n1%n重叠,对应地理位置重叠的代表点编号,移动端随机选择一个代表点编号作为m。
[0040]
本实施例的有益技术效果为:在获得兴趣点列表时,服务器将解密出多个定位位置,因而无法分辨请求获得兴趣点的具体位置,保护了移动端的位置信息;使用代表点,并用序号表示,使服务器解密获得的错误位置也仍然处于预设的范围内,与真实位置信息表面相同,具有混淆效果;使用存储代理机使移动端仅能获得请求的位置附近的兴趣点,不会使服务器存储的poi信息不必要的泄露。
[0041]
以上的实施例只是本发明的一种较佳的方案,并非对本发明作任何形式上的限制,在不超出权利要求所记载的技术方案的前提下还有其它的变体及改型。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1