导航系统的客户端、服务端、及地图数据提供、响应方法转让专利

申请号 : CN200810067701.1

文献号 : CN101294819B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 张文星

申请人 : 凯立德欣技术(深圳)有限公司

摘要 :

本发明公开了一种导航系统的客户端、对应的服务端,及导航系统的客户端的地图数据提供方法、和与其配合的服务端响应的方法。客户端包括:存储模块、导航模块,和存储更新模块,用于当存储模块中没有需要的图幅数据时,可以从服务端下载,保存在存储模块里,提供给导航模块进行导航。对应的服务端包括:数据提取请求接收模块、和用于根据数据提取请求接收模块获得客户端请求内容;将其请求发送的图幅数据发送至客户端的图幅数据发送模块。本发明由于在客户端设置存储更新模块,当客户端内没有需要的图幅数据时,可从相应的服务端自动下载需要的图幅数据,实现导航功能,使得一些地图数据不全的客户端可从服务端得到需要的地图数据,使用更加方便。

权利要求 :

1.一种导航系统的客户端,包括:

存储模块,用于保存图幅数据;

导航模块,用于从存储模块中提取需要的图幅数据进行导航;

其特征在于,

所述的客户端还包括存储更新模块,用于当存储模块中没有导航模块需要的图幅数据时,从服务端下载需要的图幅数据,保存在存储模块里,提供给导航模块进行导航;

所述的存储更新模块包括:

图幅提取模块,用于当存储模块中保存有导航模块所请求的图幅数据时,从存储模块中读取导航模块请求提供的图幅数据并返回给导航模块使用;

数据提取请求生成模块,用于当存储模块中没有保存导航模块所请求的图幅数据时,把需要的图幅数据按预定协议生成数据提取请求;

数据提取请求发送模块,用于把数据提取请求生成模块生成的数据提取请求发送至导航系统的服务端;

图幅数据包接收模块,用于接收导航系统的服务端发回的响应协议包;

响应协议包解析模块,用于解析图幅数据包接收模块接收到的响应协议包,得到服务端返回的客户端请求的相应图幅数据;

图幅保存模块,用于将响应协议包解析模块解析得到的图幅数据存储至存储模块中;

容量超额判断模块,用于判断响应协议包解析模块解析后的图幅数据容量与客户端的存储模块中原有图幅数据容量的总和是否大于最大图幅数据限额;

旧图幅删除模块,用于当容量超额判断模块判断响应协议包解析模块解析后的图幅数据容量与客户端的存储模块中原有图幅数据容量的总和大于最大图幅数据限额时,按照预设规则删除当前存储模块内的暂时用不到的图幅数据,直至容量超额判断模块的检测结果为接收到的图幅数据容量与客户端原有图幅数据容量的总和不大于最大图幅数据限额;

其中,所述的图幅保存模块仅在容量超额判断模块判断响应协议包解析模块解析后的图幅数据容量与客户端的存储模块中原有图幅数据容量的总和不大于最大图幅数据限额时工作。

2.一种如权利要求1所述的导航系统的客户端使用的地图数据提供方法,其特征在于,包括以下步骤:A:等待导航模块请求提供其指定的图幅数据;

B:检查当前存储模块中是否保存有上述图幅数据,若有,将其提供给导航模块进行导航,转步骤A;若没有,向服务端发送携带有指定图幅信息的数据提取请求;

C:接收服务端返回的相应图幅的图幅数据,保存至存储模块中,并将其提供给导航模块进行导航,转步骤A;

所述的步骤C中,还包括以下步骤:

C1:比较服务端返回的图幅数据的容量大小是否小于存储模块的剩余空间的容量大小,若是,将服务端返回的图幅数据直接保存至存储模块中的相应位置,将其提供给导航模块进行导航,转步骤A;若不是,则按照预设的删除规则删除存储模块内的暂时用不到的图幅数据,重新执行步骤C1。

3.如权利要求2所述的地图数据提供方法,其特征在于,所述的存储模块中,每个图幅对应的设有用于标识此图幅是否为内建图幅的内建图幅标识;

所述的预设的删除规则为:

选择存储模块中下载时间最早的非内建图幅作为可以删除的图幅。

4.如权利要求2所述的地图数据提供方法,其特征在于,所述的存储模块中,每个图幅对应的设有用于标识此图幅是否为内建图幅的内建图幅标识;

所述预设的删除规则为:

将地图数据中的图幅按照其覆盖的区域分别划分为:当前任务所在区域的图幅、当前任务临近区域的图幅、和其他区域的图幅;先删除其他区域的图幅;当不存在其他区域的图幅时,删除当前任务临近区域的图幅。

5.如权利要求4所述的地图数据提供方法,其特征在于,所述的预设的删除规则中,当同一区域有两个以上的比例尺不同的图幅可以删除时,先删除与当前显示的图幅比例尺不同的图幅。

说明书 :

技术领域

本发明涉及GPS导航领域,更具体的说,涉及一种导航系统的客户端、对应的服务端,及导航系统的客户端的地图数据提供方法、和与其配合的服务端响应的方法。

背景技术

目前,车用全球定位系统(Global Positioning System,GPS)是GPS导航重要应用方向之一。车用GPS导航系统的GPS天线接收来自环绕地球的24颗GPS卫星中的至少3颗所传递的数据信息,结合储存在车用导航终端内的电子地图,通过GPS卫星信号确定的位置坐标与此相匹配,确定导航对象在电子地图中的准确位置。
图1示出了现有的导航系统的结构组成:
所述的导航系统包括:扬声器1、存储模块2、输入装置3、声音输出装置4、显示装置5、分别控制存储模块2、输入装置3及声音输出装置4的控制装置6、和与控制装置6连接的GPS接收装置16。
所述的控制装置6为微机,如可采用掌上电脑、智能手机、车载终端等。其包括:用户接口控制模块7、地图数据管理模块8及导航模块9;导航模块9主要由导航控制模块10、地图显示模块11、路径引导模块12、路径搜索模块13、信息点检索装置14、自车位置检测模块15构成。
存储模块2内保存有地图数据、控制程序数据等内容;存储模块2可以为卡盘装置,与可插入其中的记录媒体相配合将记录媒体中的地图数据、控制程序数据等记录进行读取,还原成数字数据,并送至送到控制装置6。所述记录媒体可以采用例如安全数码卡(Secure Digital Card,SD),闪存卡(Trans Flash Card,TF)等。
输入装置3可使用按键、摇杆、旋钮或触摸板等。输入装置3用于输入用户的各种要求,将用户的输入信号送到控制装置6的用户接口控制模块7中。
声音输出装置4将控制装置6送来的声音数据转化为声音信号,送到扬声器1。扬声器1将声音输出装置4送来的声音信号转换成声音并输出,这样,扬声器1就可以配合控制装置6的需要,发出各种操作通知及路径引导的语音。
显示装置5可使用LCD(Liquid Crystal Display)液晶显示器或投影仪或CRT(Cathode Ray Tube)显示器,根据控制装置6送来的显示数据,显示其对应的图像。例如,显示装置5可以显示地图、自车位置标记、已规划路径及用户输入界面等。
GPS接收装置16接收来自GPS卫星的信号,检测车辆的现在位置及移动方向,并将检测到的结果转换成协议数据,这些协议数据进一步被送到控制装置6的导航模块9内的自车位置检测模块15。
控制装置6的用户接口控制模块7接收输入装置3的输入,生成与输入所要求的内容对应的控制指令,送到导航模块9内的一个或多个子模块之中。此外,用户接口控制模块7响应控制指令,并把从导航模块9返回的处理结果,送到声音输出装置4、显示装置5之中。
控制装置6的地图数据管理模块8响应导航模块9的要求从存储模块2读出地图数据,这些地图数据中也含有用于图片引导用的数据内容。
导航模块9的导航控制模块10控制并调用导航模块9的其余子模块。
导航模块9的地图显示模块11根据从地图数据管理模块8读出的地图数据信息,生成地图显示用的显示数据,送到用户接口控制模块7。
导航模块9的路径引导模块12从地图数据处理模块8取得地图数据,对其进行路径诱导处理,并把诱导处理结果返回给地图数据管理模块11,以便于地图数据管理模块11进行预测读取。另还将诱导时的界面、导航语音等数据传送给用户接口控制模块7。
导航模块9的路径搜索模块13从地图数据管理模块8取得地图数据,并对其实行路径探索处理,并将路径探索结果返回路径引导模块12。
导航模块9的自车位置检测模块15将从GPS接收装置16得到的表示现在位置的数据,送到地图数据管理模块8、地图显示模块11、路径引导模块12。
现有技术中,导航系统在进行导航时需要通过详尽的电子地图才能准确的引导使用者到达目的地或实现信息点检索等其它功能。目前的导航系统通常将全部电子地图数据存储在导航设备的存储模块中,导航系统根据功能模块的需求直接调用电子地图数据。由于电子地图数据非常庞大,如中华人民共和国电子地图数据需要数百上千兆的存储空间。这对硬件提出了很高的要求,使得一些存储容量小的终端设备,如小存储容量手机无法实现导航功能,限制了导航系统的应用。例如,现有的一些智能手机虽然支持导航功能,可其存储ROM容量往往只在50兆左右,由于存储容量太小,无法容纳所有的电子地图,因此现有的一些导航系统通常采用仅保存很小的一部分地图的方式来进行区域性的导航。但由于用户存在对中华人民共和国的所有地方进行导航的可能,因此,这种硬件存储容量较小的导航系统完全不能对其存储模块中的地图数据支持的区域以外的其他区域进行导航,使用起来很不方便。

发明内容

为克服上述缺陷,本发明所要解决的技术问题是提供一种能自动下载所需地图,使用更加方便的导航系统的客户端、对应的服务端,及导航系统的客户端的地图数据提供方法、和与其配合的服务端响应的方法。
本发明的目的是通过以下技术方案来实现的:
一种导航系统的客户端,包括:
存储模块,用于保存图幅数据;
导航模块,用于从存储模块中提取需要的图幅数据进行导航;
所述的客户端还包括存储更新模块,用于当存储模块中没有导航模块需要的图幅数据时,从服务端下载需要的图幅数据,保存在存储模块里,提供给导航模块进行导航。
所述存储更新模块包括:
图幅提取模块,用于当存储模块中保存有导航模块所请求的图幅数据时,从存储模块中读取导航模块请求提供的图幅数据并返回给导航模块使用;
数据提取请求生成模块,用于当存储模块中没有保存导航模块所请求的图幅数据时,把需要的图幅按预定协议生成数据提取请求;
数据提取请求发送模块,用于把数据提取请求生成模块生成的数据提取请求发送至导航系统的服务端;
图幅数据包接收模块,用于接收导航系统的服务端发回的响应协议包;
响应协议包解析模块,用于解析图幅数据包接收模块接收到的响应协议包,得到服务端返回的客户端请求的相应图幅数据;
图幅保存模块,用于将响应协议包解析模块解析得到的图幅存储至存储模块中。
所述的存储更新模块还包括:
容量超额判断模块,用于判断响应协议包解析模块解析后的图幅数据容量与客户端的存储模块中原有图幅数据容量的总和是否大于最大图幅数据限额;
旧图幅删除模块,用于当容量超额判断模块判断响应协议包解析模块解析后的图幅数据容量与客户端的存储模块中原有图幅数据容量的总和大于最大图幅数据限额时,按照预设规则删除当前存储模块内的暂时用不到的图幅数据,直至容量超额判断模块的检测结果为接收到的图幅数据容量与客户端原有图幅数据容量的总和不大于最大图幅数据限额;
其中,所述的图幅保存模块仅在容量超额判断模块判断响应协议包解析模块解析后的图幅数据容量与客户端的存储模块中原有图幅数据容量的总和不大于最大图幅数据限额时工作。这样的设计使得由于为客户端的图幅存储区设置存储容量限额,如果服务端发回的图幅数据容量与客户端原有图幅容量之和大于存储容量限额,就删除客户端的图幅存储区中的那些暂时不需要的图幅,直到服务端发回的图幅数据容量与客户端已有图幅容量之和小于存储容量限额时才把服务端发回的图幅数据加入到客户端的图幅存储区中,达到了自动循环利用较小的存储空间的目的。
一种导航系统的服务端,包括:
数据提取请求接收模块,用于接收客户端发送的数据提取请求;
图幅数据发送模块,用于根据数据提取请求接收模块获得客户端请求内容;将其请求发送的图幅数据发送至客户端。
一种导航系统的客户端的地图数据提供方法,包括以下步骤:
A:等待导航模块请求提供其指定的图幅数据;
B:检查当前存储模块中是否保存有上述图幅数据,若有,将其提供给导航模块进行导航,转步骤A;若没有,向服务端发送携带有指定图幅信息的数据提取请求;
C:接收服务端返回的相应图幅的图幅数据,保存至存储模块中,并将其提供给导航模块进行导航,转步骤A。
所述的步骤C中,还包括以下步骤:
C1:比较服务端返回的图幅数据的容量大小是否大于存储模块的剩余空间的容量大小,若是,将服务端返回的图幅数据直接保存至存储模块中的相应位置,将其提供给导航模块进行导航,转步骤A;若不是,则按照预设的删除规则删除存储模块内的暂时用不到的图幅数据,重新执行步骤C1。进一步的,当导航系统的客户端的容量不够保存新下载的地图数据时,就从导航系统的客户端内将一些使用过的或暂时不需要的地图数据删除,以保存新下载的地图数据,这是自动清理地图数据的情况。当然,导航系统的客户端还可以请求用户进行手动删除等方式。
所述的存储模块中,每个图幅对应的设有用于标识此图幅是否为内建图幅的内建图幅标识;
所述的预设的删除规则为:
选择存储模块中下载时间最早的非内建图幅作为可以删除的图幅。这种删除规则默认下载时间最早的图幅为暂时不需要的可以删除的图幅。
所述的存储模块中,每个图幅对应的设有用于标识此图幅是否为内建图幅的内建图幅标识;
所述预设的删除规则为:
将地图数据中的图幅按照其覆盖的区域分别划分为:当前任务所在区域的图幅、当前任务临近区域的图幅、和其他区域的图幅;先删除其他区域的图幅;当不存在其他区域的图幅时,删除当前任务临近区域的图幅。
所述的预设的删除规则中,
当同一区域有两个以上的比例尺不同的图幅可以删除时,先删除与当前显示的图幅比例尺不同的图幅。
一种与上述客户端的地图数据提供方法配合的导航系统的服务端响应的方法,包括以下步骤:
D:等待接收客户端发送的携带有指定图幅信息的数据提取请求;;
E:提取与数据提取请求中的图幅信息所对应的所有图幅数据,将其发送给客户端,返回步骤D。
本发明由于在导航系统的客户端设置存储更新模块,当客户端内没有需要的图幅数据时,可以从相应的服务端自动下载需要的图幅数据,实现导航功能,使得一些地图数据不全的客户端即使容量有限,也可以从服务端得到需要的地图数据,方便用户出行,使用更加方便。

附图说明

图1是现有技术中导航系统的结构示意图;
图2是本发明实施例中,服务端及客户端的地图数据的图层结构及在图层上进行图幅划分的结构示意图;
图3是本发明实施例中,一个图层在一个局部地区上的图幅分布覆盖示意图;
图4是本发明实施例中客户端的图幅中的数据存储结构的示意图;
图5是本发明实施例中响应协议包格式示意图;
图6是本发明实施例中导航系统的客户端的存储更新模块的结构示意图;
图7是本发明实施例中导航系统的服务端的结构示意图;
图8是本发明实施例中导航系统的客户端与服务端的无线通讯示意图;
图9是本发明实施例中导航系统的客户端的工作流程图;
图10是本发明实施例中导航系统的服务端的工作流程图。

具体实施方式

下面结合附图和较佳的实施例对本发明作进一步说明。
本发明的发明思路为:由于导航系统的客户端在仅有部分区域的地图数据时,也能针对此部分区域进行正常导航,导航系统用户在使用导航系统时只需获得若干道路路段的数据即可实现导航,在浏览地图或检索信息点时也只需特定区域的地图数据,因此,对于容量较小的导航系统的客户端来说,可以边驾车行驶、边通过无线网络(例如GSM,CDMA,WIKI等)通讯协议向导航系统的运营商提供的服务端发出数据提取请求,从存储有全部电子地图数据的服务端动态下载所需要区域的地图数据,当导航系统的客户端的容量不够保存新下载的地图数据时,就从导航系统的客户端内将一些使用过的或暂时不需要的地图数据删除,以保存新下载的地图数据。通过该方式,确保导航系统的客户端可在存储容量限定在较小范围之内的情况下,装载当前运行任务所需的全部电子地图数据。客户端不再受到其容量大小的限制,方便的对所有服务端支持的区域进行导航。
存储在客户端及服务端的电子地图数据是以图层及图幅的结构保存的,其中,电子地图数据库的图层及图幅结构如图2所示,不同的图层是依据不同的比例尺绘制的,供不同的显示比例尺使用。
因此,各图层所需的数据精细程度不一样,所需要的数据存储容量也不一样。例如图2中,第一层是供全国概览用的,因此,图幅的宽与高就很大,里面存放的也只是那些比较重要的道路(如省会间的高速道路及国道,城市在图中只用一个圆点表示,没有城区细节),而对电子地图进行放大时,支撑显示所用的数据来源的图层会改变,该图层的数据细节点增高,同时该图层的一个图幅所覆盖的地理范围也会变小。各图幅中的地图数据按属性分为道路点数据、信息点数据、地表地形数据等。图3示出了一个图层在一个局部地区上的图幅分布覆盖示意情况。图4示出了图幅中的数据存储结构。
其中,存储在客户端的电子地图数据包含全部或部分区域的较高层的(比例尺较小的)地图数据,以及全部地图数据的数据存储结构链表,通常这些数据为最常用的数据,上述图幅即为客户端的内建图幅,相应的,从服务端下载的图幅即称为非内建图幅。内建图幅的识别可以通过两种方式实现:一是在每个图幅的图幅信息中标明其是否为内建图幅;二是在存储模块中单独为内建图幅划分内建图幅存储区和非内建图幅存储区。
当导航系统的客户端进行导航工作时,其导航模块根据需要实现的引导、显示任务得出需要调用哪些图层的哪些图幅的哪些类型的电子地图数据。在计算导航路径时,可以采用以下两种方法:
一是针对道路导航拓扑数据都仅保存在服务端、客户端并未保存的情况:此时,用户进行导航时,可先将起始地和目的地发送到服务端,在服务端计算出导航路径后,将此导航路径发送给客户端,客户端根据当前车位所在位置请求周边的图幅;由于道路导航拓扑数据占用的存储空间并不会很大,而道路导航拓扑数据又很经常使用,因此,此技术方案使用时不够方便。
二是针对道路导航拓扑数据保存在客户端的情况,也是本发明实施例中所使用的技术方案:用户直接在客户端计算导航路径,得出需要使用的图幅。
导航模块在向存储模块请求提供其指定的图幅数据时,是提前请求的(提前几个图幅,或计算以当前行车速度,提前多少分钟时请求提供以当前车位所在地为中心的当前比例尺下多少个图幅,和不同比例尺的,对应于当前车位所在位置的多少个图幅)。这和现有技术中的预处理的方式是一样的。如:当前车位一到达当前显示的图幅所覆盖范围的边缘时,即请求存储模块提供此图幅周边的其他图幅,作为当前任务需要使用的图幅。如,可要求存储模块提供与此图幅相邻接的的图幅(即,以一个图幅为半径单位进行请求。)当然,考虑到网络通信速度的问题可能会比较慢,因此,在本发明中可将导航模块的提前处理量加大,更早的提出请求,或每次请求提供更多的图幅,具体可依照实际情况调整。
另外,导航模块并不仅仅在实际导航时,才会向存储模块提出数据提取请求,如,用户在选择浏览其他区域的地图时,导航模块也会根据浏览的区域想存储模块提出数据提取请求。
导航系统将这些数据提取请求根据预定义协议打包,经无线网络发送至服务端,服务端对数据提取请求解析后,将对应的图层、图幅、属性的电子地图数据按协议打包,经无线网络发送至客户端,客户端将接收的地图数据解析后,存储在存储模块中,提供给导航模块调用。
客户端设有图幅存在性判断模块,用于判断导航模块请求的图幅数据请求所涉及的图幅是否存在于客户端的存储模块中,如果存在,则直接将其提供给导航模块进行导航;如果不存在,则使用下面所描述的协议发送数据提取请求。数据提取请求的协议格式为图层ID+(逗号,)+图幅ID+(分号;),有多个图幅的请求就重复上面的格式,例如:图层ID,图幅ID;图层ID,图幅ID;……
打包完成上述数据提取请求后,客户端通过无线通讯协议发送图幅数据的数据提取请求给服务端。服务端接收该数据提取请求并解析,依据所请求的图层ID及图幅ID找到对应的图幅进行读取,并按如图5所示的响应协议包格式对上述图幅数据打包,并通过无线通讯网络发回给客户端。如图5所示,响应协议包格式的结构如下:图幅个数;服务端时间;重复次数与图幅个数相同的图幅ID、开始偏移量、数据长度;其个数与图幅个数相同的图幅数据段。其中,在数据段图幅ID、开始偏移量、数据长度中,位于图幅ID后面的开始偏移量是该图幅ID所对应的图幅数据的数据库在响应流中的开始位置,位于开始偏移量后面的数据长度是指对应图幅数据的数据长度。
客户端接收到响应协议包之后,先保存在客户端的缓存中,对响应协议包进行解析,得到所有图幅的数据段及数据段数据量之和,设其容量为size_response,为了监控客户端的容量是否足够保存从服务端下载的图幅数据,将客户端的存储模块中的当前所有图幅的数据段的数据量的容量记为size_origin,将客户端的存储模块所能保存图幅总量的最大容量即最大图幅数据限额记为size_total,该size_total通常客户端的可用存储空间要小,例如客户端设备的可用存储空间只有50M,则该size_total可以设置成40M,或30M。由于,size_origin一定会比size_total小,但是,有可能size_origin+size_response比size_total大,因此,如果发生了此类情形,则说明当前客户端的容量不够保存从服务端下载的图幅,就需要对客户端内的图幅进行选择性的删除,删除存储模块内的暂时用不到的图幅数据以释放客户端的存储空间。其删除规则可以根据实际情况具体设置。
如,上述删除规则可以是:将地图数据中的图幅按照其覆盖的区域分别划分为:当前任务所在区域的图幅、当前任务临近区域的图幅、和其他区域的图幅;先删除其他区域的图幅;当不存在其他区域的图幅时,删除当前任务临近区域的图幅,其中,当同一区域有两个以上的比例尺不同的图幅可以删除时,先删除与当前显示的图幅比例尺不同的图幅。这样的设计尽可能的选择出存储模块内的暂时用不到的图幅数据进行删除。
也可以是:选择存储模块中下载时间最早的非内建图幅作为可以删除的图幅。这种删除规则默认下载时间最早的图幅为暂时不需要的可以删除的图幅。
每删除一幅图幅,就重新计算size_origin,然后,检查size_origin+size_response是否还比size_total大,如果size_origin+size_response仍然大于size_total,继续对客户端内的图幅进行选择性的删除;如果size_origin+size_response不再大于size_total,则不再删除图幅,而把服务端发来的图幅加入到客户端的存储模块中用于导航,并计算出新的size_origin。
当然,也可以先接收服务器端发送的反馈回的数据的大小size_response,再检测客户端的容量是否足够,不够时再删除客户端内的暂时不需要的图幅,使客户端的容量size_origin与反馈回的数据的大小size_response相加的结果不大于size_total时,再接收服务端发送的响应协议包,解析并保存在存储模块中。这样的设计使得客户端不再需要专门划分出缓存用于暂时保存从服务端接收的数据。
图6示出了导航系统的客户端的存储更新模块的结构,其包括:
图幅请求判断模块101,用于判断当前客户端的导航模块是否请求提供其指定的图幅数据;
图幅存在性判断模块102,用于判断在客户端的存储模块中是否保存有图幅请求判断模块101接收到的导航模块所请求的图幅数据;若有,图幅提取模块103工作;若没有,数据提取请求生成模块104工作;
图幅提取模块103,用于从存储模块中读取导航模块请求提供的图幅数据并返回给导航模块使用;
数据提取请求生成模块104,用于把存储模块中不存在的图幅的图幅ID提取请求按预定协议生成数据提取请求;
数据提取请求发送模块105,用于把数据提取请求生成模块104生成的数据提取请求发送至导航系统的服务端;
图幅数据包接收模块106,用于接收导航系统的服务端发回的响应协议包;
响应协议包解析模块107,用于解析图幅数据包接收模块106接收到的响应协议包,得到服务端返回的客户端请求的相应图幅数据;
容量超额判断模块108,用于判断响应协议包解析模块107解析后的图幅数据容量与客户端的存储模块中原有图幅数据容量的总和是否大于最大图幅数据限额,当其结果大于最大图幅数据限额时,旧图幅删除模块109工作;当其结果小于最大图幅数据限额时,图幅保存模块110工作;
旧图幅删除模块109,用于按照预设规则删除当前存储模块内的暂时用不到的图幅数据,直至容量超额判断模块108的检测结果为接收到的图幅数据容量与客户端原有图幅数据容量的总和不大于最大图幅数据限额;
图幅保存模块110,用于将响应协议包解析模块107解析得到的图幅存储至存储模块中。
图7示出了导航系统的服务端的部分结构,其包括:
服务端图幅数据存储模块200,用于保存最新最全的图幅数据;
数据提取请求接收模块201,用于接收客户端发送的数据提取请求;
数据提取请求解析模块202,用于从数据提取请求接收模块201获得的数据提取请求中解析出请求内容,即请求返回的图幅的图幅ID;
图幅读取模块203,用于根据数据提取请求解析模块202解析得到的图幅ID从服务端图幅数据存储模块200中读取相应的图幅数据;
响应协议包生成模块204,用于按照预定义的协议,将图幅读取模块203读取到的图幅数据打包成响应协议包;
响应协议包发送模块205,用于将响应协议包生成模块204生成的响应协议包发送至客户端。
其中,导航系统的客户端与服务端的通信形式如图8所示。
如图9所示,导航系统服务端的电子地图数据请求的工作流程包括以下步骤:
步骤S101,等待客户端的导航模块请求发送其指定的图幅数据;
步骤S102,判断导航模块所请求的图幅数据是否已存在;如存在,执行步骤S104,否则执行步骤S104;
步骤S103,返回所请求的图幅数据提供给导航模块;
步骤S104,使用客户端与服务端统一的协议打包数据提取请求;其中,其协议格式为:图层ID+(逗号,)+图幅ID+(分号;),若有多个图幅的请求就重复上面的格式,例如:图层ID,图幅ID;图层ID,图幅ID;
步骤S105,将步骤S104中打包好的数据提取请求发送给服务端;其发送的具体过程取决于客户端与服务端之间的通讯方式,例如GSM,CDMA,WIKI等,皆可参考相关技术标准文档来实现客户端与服务端之间的具体通讯过程;
步骤S106,接收服务端返回的响应协议包;
步骤S107,解析响应协议包,得到与其所请求的图幅ID对应的图幅数据;
步骤S108,判断本次接收的图幅数据容量与原有图幅数据容量的总和是否超出客户端的容量充许值,如是,则执行步骤S109,否则执行步骤S110;
步骤S109,依照预设的删除规则去掉原图幅数据中暂时用不到的图幅;然后返回S108重新检查容量;
步骤S110,把下载图幅加入到存储模块中,保存在存储模块中的图幅数据集合中的相应位置处;
步骤S111,返回所请求的图幅给导航模块。
其中,步骤S108和S109的设置是为了能在客户端的容量已满的情况下自动智能选择判断暂时不需要的图幅,获取存储空间继续导航而设置的,也可以不设置此步骤,或者手动选择删除图幅数据,或者全部清空所有的非内建图幅等,都是可以实现本发明的能获取地图数据用于导航的目的的。
对应的,如图10所示,导航系统服务端的电子地图数据响应的工作流程包括以下步骤:
步骤S201,等待并接收导航系统的客户端发送的数据提取请求;
步骤S202,对数据提取请求进行解析,获得客户端发送的其所要请求的图幅信息;
步骤S203,读取所请求的图幅信息对应的所有图幅数据;
步骤S204,使用客户端、服务端相互协定的协议打包已读取的图幅数据;
步骤S205,发送响应协议包给客户端。
以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。