限定区域内搜索方法

文档序号:7893891阅读:163来源:国知局
专利名称:限定区域内搜索方法
技术领域
本发明属于计算机网络应用技术领域,具体是限定区域内捜索方法。
背景技术
随着移动互联网的发展, LBS更被认为是移动领域的杀手级业务,其涉及休闲娱乐、生活服务、社交、商业等领域。在基于LBS服务的社交类应用中,在线用户的捜索服务更是该类应用中的主要服务。限定区域内搜索是依赖于地理位置信息,实现对一定范围内的在线用户进行搜索的算法。现有算法中主要采用遍历的方式进行搜索,当用户数量较大时将特别消耗服务器资源。

发明内容
为了解决现有技术中存在的上述间题,本发明提出ー种限定区域内捜索算法,具体技术方案如下ー种限定区域内捜索方法,本方法基于的系统包括服务器端和客户端;客户端采集本地的地理位置信息,并通过心跳服务发送到服务器;服务器端根据客户端提交的地理位置信息判断其是否已经在相应区块注册以及注册的区块是否发生改变,并进行相应的注销、更新活动;同时,服务器端保留的客户端提交的地理位置信息能够为各个客户端提供搜索服务。本方法中的定义服务器端——网络中能对其它机器提供某些服务的计算机系统;客户端——与服务器相对应,为客户提供本地服务的程序;心跳服务——是指服务活动时,每隔一段时间(间隔特定)由客户端向服务端发起一次请求,用以确认连接通讯是否正常;区块——根据地理位置将地表划分为n个类矩形的区域,每个类矩形的区域即为区块。限定区域内捜索步骤包括I)客户端采集本地的地理位置信息,并通过心跳服务每隔一段时间将采集到的地理位置信息提交给服务器;2)服务器记录客户端上传的地理位置信息,并将其保存到特定的区块,步骤如下判断该用户是否已经在服务器中登记。若已登记,则继续判断用户所在的区域是否已经发生改变。若改变,先将该用户从原来的区块注销掉,再在新的区块中注册。若未改变,直接更新地理位置信息。若未登记,则在相应的区域中进行登记。3)客户端发送限定区域内用户搜索请求;4)服务器端根据请求者所在的区块,将该区块内的用户列表返回给客户端,从而实现限定区域内捜索的功能。
所述步骤I)中,客户端利用本地的GPS硬件或通信网络等获取地理位置信息,通过心跳服务,每间隔一段时间将其发给服务器,以更新服务器端保存的地理位置信息及所在的区块。本发明的限定区域内搜索方法,是依赖于地理位置信息,并提供与地理位置相关的搜索服务。本方法所采用的区块分配搜索方式,将地理区域划分好后存放到内存表中,并建立区块的索引。当接收到搜索请求时,服务器将对客户端的地理位置信息进行编码转换。转换后的编码即为内存块区域索引编码,通过此索引编码,便可迅速寻找到该区块。本方法避免了大量的通过运算的方式查找周围用户的功能。通过降低搜索精度的方式来大大提高搜索的效率,从而减少服务器的计算量。这也为刚起步的公司减少了设备成本。


图I系统C/S架构模型;图2限定区域内搜索流程图;图3更新位置信息服务流程图;图4用户区块注册、注销模拟具体实施例方式下面结合附图与具体实施方式
对本发明作进一步说明一种限定区域内搜索方法,本方法基于的系统包括服务器端和客户端,客户端具有卫星定位硬件支持;本方法的步骤如下I)首先根据地理位置将限定区域的地表划分为n个类矩形的区域,每个类矩形的区域定义为区块;客户端具有获取本地地理位置信息的硬件支持,实时将其地理位置信息提交给服务器端,服务器端记录各个客户端的地理位置信息;2)服务器端记录客户端上传的地理位置信息,并将其保存注册到相应地理位置对应的区块中;3)客户端发送搜索本区块内其它客户端的请求;4)服务器端根据请求者所在的区块,将该区块内的客户端列表返回给请求者。所述步骤2)中,服务器端记录客户端上传的地理位置信息后,进行如下步骤21)判断该客户端是否已经在服务器端登记;若已登记,则进入步骤22),若未登记,则进入步骤23);22)判断客户端所在的区块是否改变;若改变,先将该客户端从原来的区块中注销,再在其当前所在的区块中注册;若未改变,直接更新地理位置信息(由于GPS硬件前后两次采集到的信息,所以需要用在后采集到的信息覆盖更新在先采集的信息);23)把该客户端在服务器端登记,同时服务器端记录客户端上传的地理位置信息,并将其保存注册到相应地理位置对应的区块中。所述步骤I)中,客户端实时将其地理位置信息提交给服务器端是通过心跳服务发送到服务器端的,所述心跳服务是指每隔一段时间由客户端向服务端发起一次请求。所述步骤I)中,客户端具有获取本地地理位置信息的硬件支持是GPS硬件或通信网络。本发明每个步骤均可以基于现有技术编程实现。如图I,客户端和服务器端通过基站、无线网络设备及其他网络设备进行网络数据传输,客户端(iPhone、iPad、Android等)实时采集本地的地理位置信息数据,并通过心跳服务发送给服务器端。服务器端实时更新客户端的地理位置信息,并为客户端提供基于限定区域内的搜索服务。客户端这里指iPad、iPhone、Android、winPhone等带有GPS硬件支持的移动终端设备,其同时也是服务的使用者。客户端定时通过udp协议将本地的位置信息发送给服务器。客户端能够通过网络向服务器发送搜索服务请求,从而可以从服务器端获得限定区域内的在线用户列表。传输协议客户端和服务器端进行通信时双方都遵循的通信规则。通信协议以数据包为单位,每个数据包包括包头,包体服务器端服务器端根据客户端采集到的地理位置信息,将用户保存的对应的区块中。区块在计算机中是以内存块的方式实现的。服务器为用户提供各种服务,其中包括限定区域内在线用户的搜索服务。客户端采集信息流程用户调用GPS硬件支持获取当地的地理位置信息,将其保存在系统变量中。同时有监控线程定时取得该变量,并通过网络发送给客户端。地理位置信息更新流程I)服务器端系统实时针对制定的Udp和tcp端口进行监听,从而获取服务请求;2)调用更新位置信息服务;3)调用其他服务。步骤I)中,服务器不断监听,当接收到客户端的请求时进行相应的处理。如当用户接收到心跳命令时,即调用更新位置信息服务;当系统接收到客户端的搜索在线用户服务时,服务器端就调用相应服务。步骤2)调用更新位置信息服务,执行完毕后返回步骤I);步骤3)与步骤2)类似,当执行完毕后返回执行步骤I);以上各个步骤循环执行,知道接收到系统中断指令,退出系统。 更新位置信息服务流程当接收到用户的心跳信息时,取得其地理位置信息(这里为客户端的经纬度信息)。I)判断是否已经在系统中的某个区块中注册;2)判断用户所在区块是否发生改变;3)更新用户在区块中的地理位置信息;4)在原有区块中注销;5)在新的区块中进行注册;6)返回交易状态,完成交易任务。步骤I)中若用户未注册,执行步骤5),若已经注册,则执行步骤2);
步骤2)中若用户所在区块发生改变,则执行步骤4),否则执行步骤3);
步骤3)执行完毕后,执行步骤6);步骤4)执行完毕后,执行步骤5);步骤5)执行完毕后,执行步骤6);步骤6)执行完毕 后,等待下一次服务请求。
权利要求
1.一种限定区域内搜索方法,本方法基于的系统包括服务器端和客户端,客户端具有卫星定位硬件支持;其特征是, 1)首先根据地理位置将限定区域的地表划分为η个类矩形的区域,每个类矩形的区域定义为区块;客户端具有获取本地地理位置信息的硬件支持,实时将其地理位置信息提交给服务器端,服务器端记录各个客户端的地理位置信息; 2)服务器端记录客户端上传的地理位置信息,并将其保存注册到相应地理位置对应的区块中; 3)客户端发送搜索本区块内其它客户端的请求; 4)服务器端根据请求者所在的区块,将该区块内的客户端列表返回给请求者。
2.根据权利要求I所述的限定区域内搜索方法,其特征是所述步骤2)中,服务器端记录客户端上传的地理位置信息后,进行如下步骤 21)判断该客户端是否已经在服务器端登记;若已登记,则进入步骤22),若未登记,则进入步骤23); 22)判断客户端所在的区块是否改变;若改变,先将该客户端从原来的区块中注销,再在其当前所在的区块中注册;若未改变,直接更新地理位置信息; 23)把该客户端在服务器端登记,同时服务器端记录客户端上传的地理位置信息,并将其保存注册到相应地理位置对应的区块中。
3.根据权利要求I所述的限定区域内搜索方法,其特征是所述步骤I)中,客户端实时将其地理位置信息提交给服务器端是通过心跳服务发送到服务器端的,所述心跳服务是指每隔一段时间由客户端向服务端发起一次请求。
4.根据权利要求I所述的限定区域内搜索方法,其特征是所述步骤I)中,客户端具有获取本地地理位置信息的硬件支持是GPS硬件或通信网络。
全文摘要
一种限定区域内搜索方法,本方法基于的系统包括服务器端和客户端;客户端采集本地的地理位置信息,并通过心跳服务发送到服务器;服务器端根据客户端提交的地理位置信息判断其是否已经在相应区块注册以及注册的区块是否发生改变,并进行相应的注销、更新活动;同时,服务器端保留的客户端提交的地理位置信息能够为各个客户端提供搜索服务。本方法避免了大量的通过运算的方式查找周围用户的功能。通过降低搜索精度的方式来大大提高搜索的效率,从而减少服务器的计算量。这也减少了设备成本。
文档编号H04W60/00GK102630077SQ20121011400
公开日2012年8月8日 申请日期2012年4月17日 优先权日2012年4月17日
发明者孔维君, 朱启文, 杨森, 潘学佰 申请人:南京电击客软件科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1