一种基于位置的数据查询方法及装置的制造方法

文档序号:9727448阅读:443来源:国知局
一种基于位置的数据查询方法及装置的制造方法
【技术领域】
[0001]本发明涉及信息处理技术领域,特别是涉及一种基于位置的数据查询方法及装置。
【背景技术】
[0002]目前,移动终端中的应用软件中,通常会存在基于LBS(Locat1nBased Service,基于位置的服务)的查询功能,以让用户了解到周围人群的动态信息,例如:视频应用中,存在“附近的人正在看”功能,通过进入该功能,用户可以了解到周边人群正在看哪些视频;交友应用中,存在“附近的人正在玩”功能,用户可以了解到周边人群正在玩哪些游戏。
[0003]现有技术中,当用户利用LBS功能时,应用软件会向相应服务器发送该用户的当前位置信息,如经玮度信息,进而,服务器分别计算当前位置信息与之前被允许获取的其他用户的位置信息的距离,然后,基于所计算得到的距离,向用户反馈相应的结果信息,例如:返回最近距离对应的其他用户的位置信息及用户信息。
[0004]可见,现有技术中服务器的计算量是用户请求数量与所有被允许获取的其他用户的位置信息数据乘积的值,每次处理用户查询请求时,都需要重新进行计算。该种方式,当用户基数很大,或者用户查询请求量很多时,服务器的计算量很大,压力大,特别是涉及到例如“观看记录汇总和展示”等的查询处理时,会给服务器造成非常大的压力。

【发明内容】

[0005]本发明实施例提供了一种基于位置的数据查询方法及装置,以减少服务器的计算量,从而降低由于用户基数大或用户请求量多给服务器造成的计算压力。具体技术方案如下:
[0006]第一方面,本发明实施例提供了一种基于位置的数据查询方法,应用于服务器,所述方法包括步骤:
[0007]接收用户通过终端发出的基于位置的查询请求,所述查询请求携带所述终端所在位置的目标经玮度信息;
[0008]将所述目标经玮度信息按照预设地址编码方式转换成目标一维字符串信息;
[0009]从预先构建的多叉树索引中,确定查找路径上的节点标识的组合与该目标一维字符串信息相同的目标叶子节点;所述多叉树索引基于预先获得的各个终端的经玮度信息所对应的一维字符串信息形成且叶子节点所对应查找路径上的节点标识的组合与预先获得的一维字符串信息相同,其中,叶子节点存储有与相应一维字符串信息所对应经玮度信息以及该经玮度信息所对应用户信息;
[0010]基于所述目标叶子节点所对应的存储信息,确定所述查询请求所对应的结果信息;
[0011 ]将所述查询请求所对应的结果信息反馈给所述终端。
[0012]可选的,所述查询请求携带信息还包括所述终端的用户信息;
[0013]所述基于所述目标叶子节点所对应的存储信息,确定所述查询请求所对应的结果信息,包括:
[0014]根据查询请求携带的所述终端的用户信息和所述目标叶子节点所对应的储存信息,得到所述查询请求所对应的结果信息。
[0015]可选的,所述预设地址编码方式为geohash编码方式。
[0016]可选的,所述多叉树索引的建立方式具体为:
[0017]将预先获得的各个终端的经玮度信息所对应的一维字符串信息的每两位分离为一组子信息;
[0018]以根节点为起点,向下分离节点标识00、01、10、11四个中的一个或多个的有序排列的子节点,每个子节点继续分离所述四个中的一个或多个的有序排列的子节点,以此类推,建立一个多叉树索引,所述多叉树索引中,每个一维字符串信息的各组子信息依次对应于相应叶子节点所对应查找路径上的每层节点标识,并且,每个一维字符串信息所对应经玮度信息和该经玮度信息所对应的用户信息存储在相应叶子节点中。
[0019]可选的,在查找到所述目标叶子节点之后,确定所述查询请求所对应的结果信息之前,所述方法还包括:
[0020]从预先构建的方形编码图中,查找位于所述目标叶子节点预定方向的叶子节点;其中,所述方形编码图内规则地分布有与目标一维字符串信息位数相同的所有二进制字符串信息,且分布方式依据横坐标从左到右依次为0和1以及纵坐标从下往上依次为0和1的行走方式所确定;
[0021 ]所述基于所述目标叶子节点所对应的目标存储信息,确定所述查询请求所对应的结果信息,包括:
[0022]基于所述目标叶子节点所对应的存储信息和位于所述目标节点预定方向的叶子节点所对应的存储信息,得到所述查询请求所对应的结果信息。
[0023]可选的,所述基于所述目标叶子节点所对应的存储信息和位于所述目标节点预定方向的叶子节点所对应的存储信息,确定所述查询请求所对应的结果信息,包括:
[0024]比较所述目标叶子节点和位于所述目标节点预定方向的叶子节点对应储存的用户的经玮度信息,确定与所述目标经玮度信息距离最近的用户所对应的用户信息和/或位置信息作为结果信息。
[0025]可选的,本发明实施例所提供的一种基于位置的数据查询方法还包括:
[0026]周期性地获得各个终端的经玮度信息,并在每次获得各个终端的经玮度信息后,基于当前所获得的经玮度信息所对应的一维字符串信息进行多叉树索引的构建,构建完成后,将当前所建立的多叉树索引作为待利用的多叉树索引。
[0027]第二方面,本发明实施例还提供了一种基于位置的数据查询装置,应用于服务器,所述装置包括:
[0028]查询请求接收模块,用于接收用户通过终端发出的基于位置的查询请求,所述查询请求携带所述终端所在位置的目标经玮度信息;
[0029]信息转换模块,用于将所述目标经玮度信息按照预设地址编码方式转换成目标一维字符串信息;
[0030]查找模块,用于从预先构建的多叉树索引中,确定查找路径上的节点标识的组合与该目标一维字符串信息相同的目标叶子节点,所述多叉树索引基于预先获得的各个终端的经玮度信息所对应的一维字符串信息形成且叶子节点所对应查找路径上的节点标识的组合与预先获得的一维字符串信息相同,其中,叶子节点存储有与相应一维字符串信息所对应经玮度信息以及该经玮度信息所对应用户信息;
[0031 ]结果信息确定模块,用于基于所述目标叶子节点所对应的存储信息,确定所述查询请求所对应的结果信息;
[0032]结果信息反馈模块,用于将所述查询请求所对应的结果信息反馈给所述终端。
[0033]可选的,所述查询请求携带信息还包括所述终端的用户信息;
[0034]所述结果信息确定模块,包括:第一结果信息确定单元,用于根据查询请求携带的所述终端的用户信息和所述目标叶子节点所对应的储存信息,得到所述查询请求所对应的结果?目息。
[0035]可选的,所述预设地址编码方式为geohash编码方式。
[0036]可选的,所述多叉树索引通过索引建立模块预先构建;
[0037]其中,所述索引建立模块,包括:
[0038]分组单元,用于将预先获得的各个终端的经玮度信息所对应的一维字符串信息的每两位分离为一组子信息;
[0039]构建单元,用于以根节点为起点,向下分离节点标识为00、01、10、11四个中的一个或多个的有序排列的子节点,每个子节点继续分离所述四个中的一个或多个的有序排列的子节点,以此类推,建立一个多叉树索引,所述多叉树索引中,每个一维字符串信息的各组子信息依次对应于相应叶子节点所对应查找路径上的每层节点标识,并且,每个一维字符串信息所对应经玮度信息和该经玮度信息所对应的用户信息存储在相应叶子节点中。
[0040]可选的,本发明实施例所提供的一种基于位置的数据查询装置,还包括:
[0041 ]叶子节点查找模块,用于在查找到所述目标叶子节点之后,确定所述查询请求所对应的结果信息之前,从预先构建的方形编码图中,查找位于所述目标节点预定方向的叶子节点;其中,所述方形编码图内规则地分布有与目标一维字符串信息位数相同的所有二进制字符串信息,且分布方式依据横坐标从左到右依次为0和1以及纵坐标从下往上依次为0和1的行走方式所确定;
[0042]所述结果信息
当前第1页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1