[发明专利]一种利用数据库索引搜索门店的方法有效
申请号: | 201410677522.5 | 申请日: | 2014-11-21 |
公开(公告)号: | CN104462263B | 公开(公告)日: | 2019-08-20 |
发明(设计)人: | 张屿;洪志新;余建成 | 申请(专利权)人: | 厦门雅迅网络股份有限公司 |
主分类号: | G06F16/9535 | 分类号: | G06F16/9535;G06F16/9537 |
代理公司: | 厦门市新华专利商标代理有限公司 35203 | 代理人: | 朱凌 |
地址: | 361009 福建省厦*** | 国省代码: | 福建;35 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明提供一种利用数据库索引搜索门店的方法,所述方法需提供Web服务器、位置服务集群、数据库服务器以及复数个移动客户端;所述方法为:1、所有的门店的位置数据事先经过处理,按照经纬度的顺序建立数据库索引存储在所述数据库服务器的数据库中;2、移动客户端发送请求,WEB服务器接收移动客户端的请求数据并将搜索附近门店信息的请求负责向位置服务集群转发;3、位置服务集群对请求进行分布式处理,利用数据库服务器的索引功能获取经纬度范围内的门店数据快速返回结果集给移动客户端。本发明可以在接受请求的较短时间内,给前端用户返回处理结果;能进行快速搜索附近门店。 | ||
搜索关键词: | 一种 利用 数据库 索引 搜索 方法 | ||
【主权项】:
1.一种利用数据库索引搜索门店的方法,其特征在于:所述方法需提供Web服务器、位置服务集群、数据库服务器以及复数个移动客户端;所述Web服务器:负责接受移动客户端发送的请求数据,并将搜索附近门店信息的请求负责向位置服务集群转发,并接受位置服务集群返回的搜索请求,并将其返回给移动客户端;位置服务集群:由一组服务器组成的一个集群,其中一组服务器由一个主服务器和多个工作站组成,主服务器与Web服务器通过Internet或局域网连接,主服务与所有工作站和移动客户端通过局域网连接,具备对搜索附近门店信息的请求进行分布式处理的功能,并将搜索结果发送回给移动客户端;移动客户端:为用户的智能手机,装有信息系统的移动端APP,负责给用户提供搜索门店功能界面,向Web服务器发送搜索门店请求,并接受Web服务器返回的搜索结果,并将搜索结果显示在移动端的电子地图上;数据库服务器:安装关系型数据库系统,负责存储与处理门店数据,与位置服务工作站通过局域网连接;所述方法具体为:步骤10、所有的门店的位置数据事先经过处理,按照经纬度的顺序建立数据库索引存储在所述数据库服务器的数据库中;所述步骤10具体为:步骤11、用户将包含经度,纬度,所在行政区域的门店数据录入并保存到数据库的门店信息表中;步骤12、数据库在保存门店数据时,先根据按门店的经度,纬度,所在的行政区域对门店数据排序并建立聚集索引,数据库在建立聚集索引的同时会按门店的经度,纬度,所在的行政区域对门店数据排序后再存储;步骤20、移动客户端发送请求,WEB服务器接收移动客户端的请求数据并将搜索附近门店信息的请求负责向位置服务集群转发;所述步骤20具体为:步骤21、用户在智能手机通过手机的定位功能获取用户当前位置的经度,纬度,并通过地图引擎接口,获取用户当前所在城市信息,智能手机将当前位置的经度,纬度与所在城市信息,要搜索的范围的半径发送给Web服务器;步骤22、Web服务器收到手机端的请求,判断是请求搜索附近的门店,则将请求转发给位置服务集群的主服务器;步骤30、位置服务集群对请求进行分布式处理,利用数据库服务器的索引功能获取经纬度范围内的门店数据快速返回结果集给移动客户端,所述步骤30具体为:步骤31:位置服务集群的主服务器收到搜索门店的请求,检查各工作站的目前正在处理的请求数量,将该请求发送给负载最轻的工作站;步骤32:工作站收到主服务器发来的请求,调用数据库的一个存储过程,向该存储过程传入当前位置的经度,当前位置的纬度,所在城市,搜索的半径作为参数;步骤33:执行存储过程,则存储过程返回了查询的结果集之后,结果集中的每一条门店数据做以下处理:获得该门店到(当前位置的经度,当前位置的纬度)这个点的距离;过滤掉距离大于所述搜索的半径的门店记录;对符合条件的门店,按距离值从小到大进行排序;步骤34:工作站将最后的结果返回给主服务器,主服务器将结果返回给Web服务器,Web服务器再返回给移动客户端;步骤35:移动客户端收到查询结果,在界面上显示附近的门店列表;所述存储过程:以(当前位置的经度,当前位置的纬度)这个位置点为中心点,获取一个地图上的正方形,所述正方形为搜索圆形区域的外接矩形,按照地理信息系统GIS能获得正方形的右上角经度=当前位置的经度+(360*π)*arcsin(sin(搜索的半径/(2*6378137))/cos(当前位置的纬度*π/180)),右上角纬度=当前位置的经度+180*搜索的半径/(6378137*π);左下角经度=当前位置的经度‑(360*π)*arcsin(sin(搜索的半径/(2*6378137))/cos(当前位置的纬度*π/180)),左下角纬度=当前位置的经度‑180*搜索的半径/(6378137*π);然后存储过程用以下查询条件构建一个SQL查询语言查询门店数据表:门店经度>=左下角经度and门店纬度>=左下角纬度and门店经度<=右上角经度and门店纬度<=右上角纬度and行政区域=目前所在城市;所述查询语言将查询出所述的正方形范围内所有的门店数据,由于查询条件就是门店位置数据预处理中描述的门店数据表的建立聚集索引字段并且查询方式符合索引启用条件,数据库将启用聚集索引优化该查询。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于厦门雅迅网络股份有限公司,未经厦门雅迅网络股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201410677522.5/,转载请声明来源钻瓜专利网。