首页> 中国专利> 一种移动终端位置数据缓存与实时更新系统和方法

一种移动终端位置数据缓存与实时更新系统和方法

摘要

本发明公开了一种移动终端位置数据缓存与实时更新系统和方法。服务器端实时位置服务以网格容器为单位,保存和管理所有移动终端的最新位置数据;客户端也以网格容器为单位,缓存从后台服务器请求到的终端位置数据,并给各网格容器分别附加最后更新时间标签;客户端以网格为单位,向位置服务器发送请求,获取当前显示地理范围内的各网格中的终端位置更新数据,实现对客户端缓存的终端位置数据的增量更新。这种终端位置数据网格化管理与增量更新的技术,既保证了对地图显示范围内的移动终端位置的实时更新,又有效地减少了客户端与位置服务器间的数据传输量,保证了大量客户端用户同时在线浏览多个移动终端的需求。

著录项

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2015-08-26

    专利权的转移 IPC(主分类):H04W8/24 变更前: 变更后: 登记生效日:20150804 申请日:20110418

    专利申请权、专利权的转移

  • 2013-09-25

    授权

    授权

  • 2011-10-12

    实质审查的生效 IPC(主分类):H04W8/24 申请日:20110418

    实质审查的生效

  • 2011-08-31

    公开

    公开

说明书

技术领域

本发明涉及卫星定位及导航领域,特别是涉及WebGIS系统中对客户端的移动终端位置数据缓存与实时更新系统和方法。

背景技术

在卫星定位与导航领域,需要对大量移动终端进行实时位置监控,如海上的船舶位置监控系统或陆地的车辆监控系统。位置监控系统,需要在WebGIS(WebGIS:基于互联网的网络地理信息系统)平台的客户端,保持对移动终端位置数据的实时更新与显示。

现有主流的WebGIS系统,都是基于B/S(Brower/Server,浏览器/服务器)架构,依托于客户端浏览器,实现对各种客户端环境的跨平台支持。客户端是基于JavaScript或ActionScript等Web脚本技术,将移动终端显示在单独绘制的动态图层中。在客户端浏览器中,要实现对移动终端位置的实时更新与显示,必须以很短的时间为间隔,周期性地向后台服务器请求各移动终端的最新位置数据。如果客户端所监控的终端数量很多,每次后台服务器响应客户端的最新位置数据请求,所需传回的终端位置数据的数据量很大,这样势必造成服务器网络的巨大压力,大大限制了系统可支持的同时在线用户数量。

发明内容

(一)要解决的技术问题

本发明要解决的技术问题是针对WebGIS系统,提出一种对移动终端位置数据网格化管理与增量更新的方法,实现对大量移动终端位置的高效更新和实时监控,有效减少客户端与位置服务器间的数据传输量,保证大量客户端用户同时在线浏览多个移动终端的需求。

(二)技术方案

为了解决上述技术问题,本发明提供了一种移动终端位置数据缓存与实时更新系统,其包括:

服务器端移动终端实时位置数据服务模块,其包括后台位置服务器,该位置服务器实时接收各个移动终端的最新位置数据,将该位置数据缓存在所述系统的移动终端位置数据表中,并将各个移动终端的最新位置数据放置在按照地理范围划分的网格容器中;

客户端移动终端位置数据缓存与实时更新模块,与所述服务器端移动终端实时位置数据服务模块相连,其包括客户端浏览器,由客户端浏览器周期性地向所述后台位置服务器请求当前显示地理范围内的移动终端位置更新数据,并将该数据缓存在所述网格容器中。

其中,还包括:客户端移动终端动态图层绘制模块,与所述客户端移动终端位置数据缓存与实时更新模块相连,其根据移动终端的位置更新数据,通知动态图层,在所述浏览器中重绘位置发生更新的移动终端显示对象。

本发明还公开了一种移动终端位置数据缓存与实时更新方法,其包括以下过程:

S1:服务器端移动终端实时位置数据服务模块实时接收各个移动终端的最新位置数据,将该位置数据缓存在移动终端位置数据表中,并将各个移动终端的最新位置数据放置在按照地理范围划分的网格容器中;

S2:客户端移动终端位置数据缓存与实时更新模块中的客户端浏览器周期性地向所述服务器端移动终端实时位置数据服务模块请求当前显示地理范围内的移动终端位置更新数据,并将该数据缓存在所述网格容器中。

S3:客户端移动终端动态图层绘制模块根据移动终端的位置更新数据,通知动态图层,在所述浏览器中重绘位置发生更新的移动终端显示对象。

其中,所述过程S1具体包括以下过程:

S101:服务器端移动终端实时位置数据服务模块实时接收各移动终端上报的最新位置数据;

S102:在移动终端位置数据表中,对接收到了最新位置数据的各移动终端逐一更新其位置数据记录;

S103:根据移动终端位置数据表的更新情况,依次更新各网格容器中的移动终端位置数据。

其中,所述过程S2具体包括以下过程:

S201:客户端移动终端位置数据缓存与实时更新模块中的客户端浏览器根据当前显示的地理范围,向服务器端移动终端实时位置数据服务模块发送当前显示地理范围内的移动终端位置数据的更新请求;

S202:服务器端移动终端实时位置数据服务模块响应客户端浏览器的请求,客户端收到实时位置数据服务模块回传的移动终端位置更新数据后,在网格容器中逐一更新各移动终端位置数据。

其中,所述过程S103具体为:

当移动终端离开其原来所在的网格容器,进入到另一个网格容器中时,服务器端移动终端实时位置数据服务模块将原来网格容器中该移动终端的位置数据的状态标记为离开,并在该移动终端新进入的网格容器中新添加该移动终端的位置数据的记录;或者

当移动终端位置数据发生改变且未离开其原来所在的网格容器时,服务器端移动终端实时位置数据服务模块更新该移动终端所在网格容器中的位置数据记录。

其中,所述过程S201中更新请求的参数包括客户端浏览器当前显示的地理范围和客户端所缓存的位于当前显示地理范围的网格容器列表。

其中,所述过程S202中服务器端移动终端实时位置数据服务模块响应客户端浏览器的请求的处理过程为:

解析客户端浏览器发送的请求的参数,得到客户端浏览器当前显示的地理范围以及该范围内的各网格容器的缓存现状;

根据客户端浏览器请求的地理范围,计算该范围内的各网格容器;

在服务器端移动终端实时位置数据服务模块缓存的各网格容器列表中,依次访问位于客户端地图显示地理范围内的各网格容器,判断客户端浏览器请求的参数中是否包含该网格容器;若包含该网格容器,则依次判断移动终端实时位置数据服务模块中的该网格容器中的各移动终端位置数据的最新上报时间,将上报时间在客户端浏览器上传的该网格容器最后更新时间标签以后的移动终端位置数据集中汇总,以网格容器为存储单元,回传给客户端浏览器;否则,若客户端浏览器请求参数中未包含该网格容器,则将该网格容器中的全部移动终端位置数据回传给客户端。

其中,所述过程S202中客户端在网格容器中逐一更新各移动终端位置数据的处理具体包括:

S2021:当服务器端移动终端实时位置数据服务模块回传的网格容器在客户端不存在时,则将该网格容器添加到客户端的网格容器列表中;或者

S2022:当服务器端移动终端实时位置数据服务模块回传的网格容器在客户端已存在,则更新该客户端缓存中的该网格容器的移动终端位置数据。

其中,所述过程S2022具体包括:

移动终端位置数据记录被标记为离开该网格容器时,从客户端缓存的该网格容器中,删除该移动终端位置数据记录;或者

移动终端位置数据记录在客户端缓存的该网格容器中不存在,在客户端缓存的该网格容器中新增加该移动终端位置数据记录;或者

移动终端位置数据记录在客户端缓存的该网格容器中存在,在客户端缓存的该网格容器中更新该终端位置数据记录。

(三)有益效果

上述技术方案具有如下优点:服务器端移动终端实时位置数据服务模块以网格容器为单位,保存和管理所有移动终端的最新位置数据;客户端也以网格容器为单位,缓存从服务器端实时位置数据服务模块请求到的终端位置数据,并给各网格容器分别附加最后更新时间标签;客户端以网格为单位,向位置服务器发送请求,获取当前显示地理范围内的各网格中的终端位置更新数据,实现对客户端缓存的终端位置数据的增量更新。终端位置数据网格化管理与增量更新的技术,既保证了对地图显示范围内的移动终端位置的实时更新,又有效地减少了客户端与位置服务器间的数据传输量,保证了大量客户端用户同时在线浏览多个移动终端的需求。

附图说明

图1是本发明实施例的移动终端位置数据缓存与实时更新系统的结构示意图;

图2是本发明实施例的移动终端位置数据缓存与实时更新方法的工作流程图;

图3是本发明实施例的服务器端移动终端实时位置数据服务模块的工作流程图;

图4是本发明实施例的客户端移动终端位置数据缓存与实时更新模块的工作流程图。

具体实施方式

下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。

本发明针对WebGIS系统,提出一种对移动终端位置数据网格化管理与增量更新的技术,实现对大量移动终端位置的高效更新和实时监控,以有效减少客户端与位置服务器间的数据传输量,保证大量客户端用户同时在线浏览多个移动终端的需求。

WebGIS系统中,实现对移动终端的实时监控,是通过客户端不断地(以固定时间为间隔,周期性地)向位置服务器请求被监控移动终端的最新位置数据,并将其绘制在客户端地图平台的动态图层中来实现的。

本发明所使用的移动终端位置数据网格化管理与增量更新的技术,主要思路是:服务器端实时位置数据服务以网格容器为单位,保存和管理所有移动终端的最新位置数据;客户端也以网格容器为单位,缓存从服务器端实时位置数据服务请求到的移动终端位置数据,并给各网格容器分别附加最后更新时间标签;客户端以网格为单位(附带有最后更新时间标签),向位置服务器发送请求,获取当前显示地理范围内的各网格中的移动终端位置更新数据(在其最后更新时间标签以后发生更新的移动终端位置数据),实现对客户端缓存的移动终端位置数据的增量更新。移动终端位置数据网格化管理与增量更新的技术,既保证了对地图显示范围内的移动终端位置的实时更新,又有效地减少了客户端与位置服务器间的数据传输量,保证了大量客户端用户同时在线浏览多个移动终端的需求。

具体地,本发明实施例提供了一种移动终端位置数据缓存与实时更新系统,其结构示意图如图1所示,其主要包括两个模块:

(1)服务器端移动终端实时位置数据服务模块:其包括后台位置服务器,后台位置服务器实时接收各个移动终端上报的最新位置数据,更新缓存在内存中的移动终端位置数据表,并将各移动终端最新位置数据放置在按照地理范围划分的网格容器中,优选缓存在内存中。

(2)客户端移动终端位置数据缓存与实时更新模块:客户端浏览器以网格为单位,定期地(以固定时间为间隔,周期性地)向位置服务器请求当前显示地理范围内的移动终端位置更新数据,并缓存在内存空间的网格容器中。

本实施例的系统还包括一个客户端移动终端动态图层绘制模块,与客户端移动终端位置数据缓存与实时更新模块相连,其根据移动终端的位置更新数据,通知动态图层,在所述浏览器中重绘位置发生更新的移动终端显示对象。

本发明实施例还设计了一种移动终端位置数据缓存与实时更新方法,首先服务器端移动终端实时位置数据服务模块实时地接收各移动终端的最新位置数据,并缓存在内存的网格容器中,然后响应客户端定期的数据更新请求,将网格容器中的最近更新的移动终端位置数据回传给客户端。客户端更新缓存在网格容器中的移动终端位置数据,并重绘动态图层中有位置更新的移动终端显示对象。

本发明方法的过程示意图如图1-3所示,具体包括:

(1)实时位置数据服务模块。实时位置数据服务模块实时地接收各移动终端上报的最新位置数据,更新缓存在内存中的移动终端数据表,并将各移动终端位置数据放置在按照地理范围划分的网格容器中,优选缓存在内存中。

具体处理步骤如下:

S101:接收各移动终端上报的最新位置数据。

S202:从缓存在内存空间的移动终端位置数据表中,对上报了最新位置的各移动终端逐一更新其位置数据记录。

在系统内存中,缓存着以移动终端ID为主键的所有移动终端信息的数据表。

移动终端信息数据既包括移动终端位置、速度、状态、行驶方向等动态信息,也包括移动终端名称、预计到达目的地等静态信息。

S103:依次更新各网格容器(Grid)中的移动终端位置信息。

为了便于快速查找任意地理位置点上的移动终端动态信息,可以将全球范围内的地理位置按照地理坐标等划分为若干行(与纬线平行的方向)和若干列(与经线平行的方向)的网格,各移动终端动态信息可以存储在各自位于的网格中。比如,将全球地理范围(涵盖大约南北纬85度的范围),按照经纬度等分为213行和213列的网格范围。每个时刻,各移动终端按照其经纬度位置,将位置等动态信息保存在各自位于的网格中。这种以网格为存储单元的缓存各移动终端动态位置信息的数据容器被称为网格容器,其编号规则为第几行第几列。存在移动终端动态位置数据的网格容器被缓存在内存空间中。

当实时位置数据服务模块接收到某些移动终端上传的最新位置数据后,更新内存中的移动终端位置数据表后,同时需要分别将这些移动终端更新前和更新后的所在的网格容器中动态位置数据记录进行更新。可能有以下2种情况:

某移动终端离开原来的网格,进入到另一个网格中。此时,需要将原来网格容器中该移动终端动态位置数据的状态标记为“离开”该网格,同时在新进入的网格容器中新添加一条该移动终端的动态位置数据记录;

某移动终端未离开原来的网格,只是动态位置数据发生改变,则更新其所在网格容器中的该移动终端动态位置数据;

保存在网格容器中的各移动终端位置数据,既包含位置等动态信息,同时还记录了其最后更新时间,也就是最近上报位置的时间。每个移动终端均记录了其最后更新时间,便于实现客户端移动终端位置数据的增量更新。

在处理完所有上报的移动终端位置数据更新后,实时位置数据服务模块等待(监听)响应客户端的移动终端位置数据更新请求。

(2)客户端移动终端位置数据缓存与实时更新模块。客户端以固定的时间间隔(如10秒)周期性地向后台位置服务器请求当前显示地理范围内的移动终端位置更新数据,并以网格容器为单元缓存在内存空间中。

具体处理步骤如下:

S201:向服务器端实时位置数据服务请求当前显示范围内的移动终端位置更新数据。根据当前显示的地理范围,向服务器端实时位置数据服务发送当前范围内的移动终端位置数据的更新请求。

请求移动终端位置更新数据的参数为:

当前显示的地理范围(boundary);

客户端已经缓存的位于当前范围内的网格容器列表;此参数会告诉后台实时位置服务,客户端对各网格容器的缓存情况,它包含:网格编号和客户端对该网格容器中缓存数据的最后更新时间;

如果是第一次请求,则客户端未缓存任何移动终端位置数据,也就是在内存中不存在任何网格容器。这时,只需要传递给后台实时位置服务器当前显示的地理范围.

服务器端实时位置数据服务响应客户端的位置更新请求的处理逻辑为:

解析客户端发送的更新请求的参数,得到请求移动终端位置的地理范围,以及该范围内的各网格容器的缓存情况;

根据请求的地理范围,计算该范围所涉及的各网格;

依次访问实时位置数据服务缓存中的上述各网格容器,判断客户端请求参数中是否包含该网格。如果包含该网格,则依次判断服务器中的该网格容器中的各移动终端位置数据的最新上报时间,将上报时间在客户端上传的该网格最后更新时间标签以后的那些移动终端位置数据(它们是在客户端上次请求该网格数据以后新上报的位置数据),集中到一起,以网格容器为存储单元,回传给客户端;否则,如果客户端请求参数中未包含该网格(表示客户端在此之前还没有请求该网格范围内的移动终端位置数据),则直接将该网格的全体移动终端位置数据回传给客户端;

服务器端实时位置数据服务在响应客户端请求,回传移动终端位置更新数据时,同时会附加上本次请求的响应时间,作为客户端对本次更新的所有网格容器的最后更新时间标签;

S202:客户端接收移动终端位置更新数据并缓存。客户端收到后台实时位置服务器回传的移动终端位置更新数据后,在内存空间的网格容器缓存中逐一更新各移动终端位置数据。

服务器端实时位置数据服务回传的移动终端位置更新数据,以网格容器为数据单元,提供了当前显示范围内的所有更新的移动终端位置数据。同时,服务器端实时位置数据服务还会回传本次移动终端位置数据的更新时间。

客户端也会以网格容器的形式缓存各移动终端位置数据。客户端网格容器的更新情况有:

回传的网格容器在客户端不存在,也就是客户端以前未缓存过该网格容器数据,则将该网格容器添加到内存空间的网格容器列表中;

回传的网格容器在客户端已经存在,则更新该客户端缓存中的该网格容器的移动终端位置数据;回传的网格容器中的每个移动终端位置数据,可能为有以下三种更新情况之一:

移动终端位置数据被标记为“离开”该网格,则表示该移动终端已经不在该网格内,从客户端缓存的该网格容器中,删除该移动终端位置记录;

移动终端位置数据记录在客户端缓存的该网格容器中不存在,则表示该移动终端是新进入该网格中,在客户端缓存的该网格容器中新增加该移动终端位置记录;

移动终端位置数据记录在客户端缓存的该网格容器已经存在,则表示该移动终端仍然位于此网格中,在客户端缓存的该网格容器中更新该移动终端位置数据记录;

客户端被更新的每个网格容器,其最后更新时间标签被修改为服务器端实时位置数据服务回传的本次移动终端位置数据的更新时间。

存在大量移动移动终端的实时位置监控系统,如全球船舶位置监控系统或出租车辆监控系统,入网的移动终端数据量多达几万甚至百万。WebGIS平台客户端,在地图显示范围较广时,需要显示的移动终端数量多。如果客户端每次向位置服务器请求这些的船舶的位置数据,服务器回传的数据流很大,会造成服务器网络拥堵,不能满足较多用户的同时在线的需求。

本发明所提出的移动终端位置数据网格化管理与增量更新的方法,由于在后台实时位置数据服务模块中使用了网格容器的缓存和管理方法,而在客户端移动终端位置数据更新与缓存模块中,客户端对移动终端位置数据也使用了网格容器的方法,将当前显示范围周围的较大区域内的移动终端位置数据缓存在客户端内存空间中。客户端在每次向后台实时位置服务发送移动终端位置更新请求时,通过传递客户端已缓存的各网格编号和网格最近更新时间标签,告诉后台实时位置服务器客户端对移动终端位置数据的缓存情况,从而让实时位置服务器只回传最新上报的那些移动终端位置数据(在最近更新时间标签以后上报的),从而达到对客户端移动终端位置数据增量更新的目的。这种实时位置数据模块所支持的对客户端的移动终端位置数据的增量更新方法,既保证了对客户端移动终端位置数据的及时更新,又有效降低了服务器与客户端的数据传输量,从而大大降低了服务器的网络压力,保证了对大量用户同时在线的支持。例如,全球船舶位置监控系统,在显示范围为1280*1024像素的Google地图中,第13级比例尺下对上海港海域的所有动态船舶进行监控。每间隔15秒钟,客户端自动向后台实时位置服务器请求该区域的船舶位置更新数据,每次更新数据量均在3KB左右。实时位置服务部署在一台普通的IBM服务器上,在10Mb/s带宽的网络流量下,能支持近万个用户的同时在线(同时监控上海港海域的动态船舶)。而上海港是当今世界为数不多的几个最大港口之一,其船舶进出数量非常大。可见,使用本发明的方法实现的全球船舶位置监控系统,其性能是非常优秀的。

总之,本发明所提出的移动终端位置数据网格化管理与增量更新的方法,很好地解决了WebGIS平台客户端对移动终端的位置数据实时更新与显示的问题。既保证了在客户端对大量移动终端的位置实时更新与高效显示,同时又有效减少了服务器与客户端之间的数据传输量,降低了服务器网络传输的压力,保证了大量用户同时在线的需求。

以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和替换,这些改进和替换也应视为本发明的保护范围。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号