导航系统的客户端、服务端、及其进行地图更新的方法

文档序号:5836960阅读:164来源:国知局

专利名称::导航系统的客户端、服务端、及其进行地图更新的方法
技术领域
:本发明涉及GPS导航领域,更具体的说,涉及一种导航系统的客户端、服务端,及导航系统的客户端向服务端请求地图更新的方法、与对应的导航系统服务端响应客户端的更新请求的方法。
背景技术
:目前,车用全球定位系统(GlobalPositioningSystem,GPS)是GPS导航重要应用方向之一。车用GPS导航系统的GPS天线接收来自环绕地球的24颗GPS卫星中的至少3颗所传递的数据信息,结合储存在车用导航终端内的电子地图,通过GPS卫星信号确定的位置坐标与此相匹配,确定导航对象在电子地图中的准确位置。图1示出了现有的导航系统的结构组成所述的导航系统包括扬声器l、卡盘装置2、输入装置3、声音输出装置4、显示装置5、分别控制卡盘装置2、输入装置3及声音输出装置4的控制装置6、和与控制装置6连接的GPS接收装置16。所述的控制装置6为微机,如可采用掌上电脑、智能手机、车载终端等。其包括用户接口控制模块7、地图数据管理模块8及导航模块9;导航模块9主要由导航控制模块10、地图显示模块ll、路径引导模块12、路径搜索模块13、信息点检索装置14、自车位置检测模块15构成。卡盘装置2可以对插入其中的记录有地图数据、控制程序数据等的记录媒体中的记录内容还原成数字数据,并送至送到控制装置6。其记录媒体可以采用例如安全数码卡(SecureDigitalCard,SD),闪存卡(TransFlashCard,TF)等。输入装置3可使用按键、摇杆、旋钮或触摸板等。输入装置3用于输入用户的各种要求,将用户的输入信号送到控制装置6的用户接口控制模块7中。声音输出装置4将控制装置6送来的声音数据转化为声音信号,送到扬声器1。扬声器1将声音输出装置4送来的声音信号转换成声音并输出,这样,扬声器1就可以配合控制装置6的需要,发出各种操作通知及路径引导的语音。显示装置5可使用LCD(LiquidCrystalDisplay)液晶显示器或投影仪或CRT(CathodeRayTube)显示器,根据控制装置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取得地图数据,对其进行路径诱导处理,并把诱导处理结果返回给地图数据管理模块8,以便于地图数据管理模块8进行预测读取。另还将诱导时的界面、导航语音等数据传送给用户接口控制模块7。导航模块9的路径搜索模块13从地图数据管理模块8取得地图数据,并对其实行路径探索处理,并将路径探索结果返回路径引导模块12。导航模块9的自车位置检测模块15将从GPS接收装置16得到的表示现在位置的数据,送到地图数据管理模块8、地图显示模块ll、路径引导模块12。'中华人民共和国国家知识产权局在专利申请文件"电子地图数据存储与更新的方法"(公开日2005年01月26日、公开号CN1570565A、申请号200410018119.8,以下称之为专利文献1)中,公开了一种电子地图数据存储与更新的方法,包括以下步骤a)对电子地图数据中的地图要素编码,确定地图要素的ID;b)根据地图要素ID将地图要素及地图要素之间关系的数据存储到地图数据服务端的地图信息存储装置中相应的存储区;c)从地图数据服务端的地图信息存储装置中提取一项或多项地图要素及地图要素之间关系的数据,并且获得相关的地图要素ID及其更新状态;其中,所述电子地图数据存储与更新方法还包括以下步骤-d)地图数据服务端利用通讯网络将步骤c提取的地图要素ID及其更新状态,传输到地图数据应用端;e)将通过步骤d获得的地图要素ID及其更新状态与存储在所述地图数据应用端的地图信息存储装置中的地图要素ID及其更新状态进行比较;f)根据步骤e的比较结果选取需要更新的地图要素ID,利用通讯网络将需要更新的地图要素ID传输到地图数据服务端;g)在地图数据服务端,根据步骤f获得的地图要素ID,从步骤c提取的地图要素及地图要素之间关系的数据中选择需要更新的数据,传输到地图数据应用端;h)根据地图要素ID将步骤g得到的地图要素和地图要素之间关系的数据及其更新状态存储到地图数据应用端的地图信息存储装置中相应的存储区。专利文献l中,为了能够找出客户端的地图与服务端的地图的不同之处,仅针对不同的地图要素进行更新,以减少需要更新的数据流量,因此采用地图要素作进行更新的最小通信单位。但因为各地图要素的粒度太小,而通常需要更改的地图要素的数量又太多,这就又使得实际执行更新时,需要为了确定地图要素而反复与服务端通信,而更新所需的网络流量、耗费的时间相对于确定更新范围时所需的网络流量、耗费时间相差无己,大量的时间花费在确定需要更新的地图要素上,造成网络资源的浪费。在常见的导航电子地图数据结构中,地图要素ID会细分到每个POI信息点,道路,链路等信息,那么,先从服务端下载兴趣点、道路、链路等地图要素的能反映服务端地图数据的更新状态的更新状态信息到客户端,以确定客户端需要针对哪些地图要素请求更新,再进一步执行每个地图要素的实际更新操作,由于地图要素的数量是很大的,这个下载服务端地图的更新状态信息及确定要更新的地图要素过程将会是非常耗时的。另外,由于小粒度的地图要素的更新状态信息要先下载到本地,进行比较,再向服务端索要发生了更新的地图要素,这样,在将服务器端的地图要素ID的更新信息下载到本地后,服务器端的地图要素可能会产生了新的更新,就可能造成下载到本地的更新信息与服务器端的更新信息不同步的问题,要保持服务端的地图要素与客户端下载的地图要素ID的更新信息的完全同歩,其所需的开发技术异常复杂,应用的键壮性因此变得脆弱。而又因为POI、道路、链路等地图要素信息粒度非常小,数量又非常多,而现在无线网络的响应速度普遍不佳,例如,在GPRS传输方式中,响应速度普遍需要2秒以上,那么在反反复复的确认更新状态、执行具体更新操作的处理过程中,所需要的时间耗费是非常大的,给用户的使用带来了不便。
发明内容为克服上述缺陷,本发明所要解决的技术问题是提供一种更新耗时较短的导航系统的客户端、服务端,及导航系统的客户端向服务端请求地图更新的方法、与对应的导航系统服务端响应客户端的更新请求的方法。本发明的目的是通过以下技术方案来实现的一种导航系统的客户端,包括客户端地图数据存储模块,用于存储客户端的地图要素数据,所述客户端数据存储模块还存储有能反映客户端地图数据当前的更新状态的更新状态信息;客户端数据发送模块,用于将更新请求及更新状态信息发送给服务端;客户端数据接收模块,用于接收服务端发送来的数据包;数据包解析更新模块,用于将客户端数据接收模块得到的数据包进行解析,得到服务端中发生了更新的地图要素数据;并根据此地图要素数据更新客户端地图数据存储模块中的地图要素数据及更新状态信息。一种导航系统的服务端,包括-服务端数据接收模块,用于接收客户端发送来的更新请求及更新状态"f曰息5服务端地图数据存储模块,用于服务端的存储地图要素数据,所述每个地图要素数据都设有更新状态信息参数;地图要素数据匹配模块,用于在服务端地图数据存储模块中查找与客户端接收模块接收到的客户端的更新状态信息匹配的地图要素数据;服务端数据发送模块,用于将地图要素数据匹配模块搜集到的地图要素数据打包后发送给客户端。一种上述导航系统的客户端向服务端请求地图更新的方法,包括以下步骤A:客户端向服务端发送更新请求及能反映客户端地图数据当前的更新状态的更新状态信息;B:客户端接收服务端返回的数据包,并对其进行解析,得到服务端中发生了更新的地图要素数据,根据地图要素数据更新客户端的地图数据及更新状态信息。所述的客户端内设有用于保存客户端的地图数据最近一次的客户端总最后更新时间的总更新时间参数;所述的步骤A中,更新状态信息为总更新时间参数中保存的客户端总最后更新时间;所述的步骤B后,还包括将总更新时间参数中的值设置成服务端的响应时刻值的步骤。此为第一种更新模式。所述的客户端的地图数据包括与服务端对应的、位于不同图层的一组以上的图幅,所述地图要素数据分别记载在不同的图幅中;其中,每个图幅分别设有用于保存此图幅的最后更新时间的图幅更新时间参数;所述的步骤A中,更新状态信息为总更新时间参数中保存的客户端总最后更新时间;所述的步骤B后,还包括将总更新时间参数中的值设置成服务端的响应时刻值;并将所有图幅的图幅更新时间参数中的值设置成服务端的响应时刻值的步骤。所述的客户端的地图数据包括与服务端对应的、位于不同图层的一组以上的图幅,所述地图要素数据分别记载在不同的图幅中;其中,每个图幅分别设有用于保存此图幅的最后更新时间的图幅更新时间参数;所述的步骤A中,更新状态信息为指定图幅的图幅更新时间参数中保存的图幅的最后更新时间;所述的步骤B后,还包括将对应图幅的图幅更新时间参数中的值设置成服务端的响应时刻值的步骤。所述的客户端内还设有车辆周边更新模块,用于获得当前车辆所在位置周边的位于一个或多个图层上的某一个或几个图幅作为更新状态信息中的指定图幅。这样的设计仅更新车辆周边的图幅的内容,减少了不必要的更新,加快了更新速度。所述的客户端内设有保存了区域与图幅的对应关系的区域更新模块,其中,每个区域分别对应有用于保存当前区域的最后更新时间的区域更新时间参数;所述的步骤A中,更新状态信息为根据区域更新模块得到的指定区域对应图幅的图幅更新时间参数中保存的图幅的最后更新时间;或为指定区域的区域更新时间参数中保存的区域的最后更新时间;所述的步骤B后,还包括将对应图幅的图幅更新时间参数中的值设置成服务端的响应时刻值的步骤;或将对应区域的区域更新时间参数中的值设置成服务端的响应时刻值的步骤。这包括两种情况,一种是在客户端根据区域査找对应图幅,将图幅的信息发送给服务端的情况,另一种是将区域的信息发送给服务端,在服务端根据区域查找对应图幅,进行更新的情况。一种导航系统的服务端响应客户端的更新请求的方法,包括以下步骤C:服务端接收客户端发送的更新请求及更新状态信息;D:在服务端的地图数据内查找所有其更新状态参数满足了步骤C中的更新状态信息的地图要素数据,打包后发送给客户端。所述的服务端的每个地图要素数据都对应的设有用于记载其最后更新时间的更新时间参数;所述的步骤D中,若更新状态信息为客户端总最后更新时间,查找服务端内所有的其最后更新时间晚于客户端的总更新时间的地图要素数据,打包后发送给客户端。所述的服务端的地图数据包括与客户端对应的、位于不同图层的一组以上的图幅,所述地图要素数据分别记载在不同的图幅中;其中,每个图幅分别设有用于保存此图幅的最后更新时间的图幅更新时间参数;所述的步骤D中,若更新状态信息为客户端总最后更新时间,则执行以下步骤D01:比较服务端对应图幅的最后更新时间是否晚于客户端总最后更新时间,若是,在当前图幅内查找所有的其最后更新时间晚于客户端总最后更新时间的地图要素数据,打包后发送给客户端;转步骤D02,若不是,直接转步骤D02;D02:比较下一个图幅,重新执行步骤DOl,直至所有图幅都比较完成。此可应用于第一种模式。所述的服务端的地图数据包括与客户端对应的、位于不同图层的一组以上的图幅,所述地图要素数据分别记载在不同的图幅中;其中,每个图幅分别设有用于保存此图幅的最后更新时间的图幅更新时间参数;所述的步骤D中,若更新状态信息为客户端指定图幅的最后更新时间,则比较服务端对应图幅的最后更新时间是否晚于客户端指定图幅的最后更新时间,若是,在当前图幅内查找所有的其最后更新时间晚于客户端指定图幅的最后更新时间的地图要素数据,打包后发送给客户端;若不是,通知客户端不需更新。此可应用于第三种模式。本发明以图幅作为最小更新单元,客户端可以仅请求指定的某一个或几个图幅进行独立的更新,速度更快,更方便用户使用。所述的服务端内设有保存了区域与图幅的对应关系的区域子更新模块,其中,每个区域分别对应有用于保存当前区域的最后更新时间的区域更新时间参数;所述的步骤D中,若更新状态信息为客户端指定区域的最后更新时间,则包括以下步骤Oil:在区域更新子模块中査找得到指定区域对应图幅;D12:比较步骤Dll中得到的图幅的最后更新时间是否晚于客户端指定区域的最后更新时间,若是,在当前图幅内查找所有的其最后更新时间晚于客户端指定图幅的最后更新时间的地图要素数据,打包后发送给客户端;若不是,通知客户端不需更新。此为第二种模式。由于在更新过程中,由客户端向服务端发送能反映客户端地图数据当前的更新状态的更新状态信息,服务端根据更新状态信息确定服务端中哪些内容与客户端相比是更新过的,只将服务端中发生了更新的信息打包后,一次性的发送给客户端,由客户端解析后,根据上述信息更新客户端的地图数据,因此,客户端与服务端之间只需进行一次相互的通信即可,明显减少了客户端每次更新的时间。图1是现有技术中导航系统的结构示意图2是本发明实施例中,服务端及客户端的电子地图数据图层结构及在图层上进行图幅划分的结构示意图3是本发明实施例中,服务端及客户端中电子地图数据分层及在图层上进行图幅划分的数据结构示意图4是本发明实施例中客户端的地图数据的图幅数据组织结构示意图;图5是本发明实施例中服务端图幅的数据结构示意图;图6是本发明实施例中服务端的图幅道路数据集的数据结构示意图;图7是本发明实施例中服务端向客户端发送数据的打包格式示意图;图8是本发明实施例中导航系统的客户端与服务端的结构示意图;图9是本发明实施例中客户端向服务端请求地图更新的处理流程图;图IO是本发明实施例中服务端响应客户端的更新请求的处理流程图。具体实施例方式下面结合附图和较佳的实施例对本发明作进一步说明。本发明的发明思路为由客户端向服务端发送能反映客户端地图数据当前的更新状态的更新状态信息,服务端根据更新状态信息确定服务端中那些内容与客户端相比时更新过的,只将服务端中发生了更新的增、删、改的信息打包后,一次性的发送给客户端,由客户端解析后,根据上述信息更新客户端的地图数据,因此,客户端与服务端之间只需进行一次相互的通信即可,明显减少了客户端每次更新的时间。从原理上来说,客户端只需在请求更新时发送能反映客户端地图数据当前的更新状态的更新状态信息(如客户端最近一次的更新时间),服务端即可根据此更新状态信息查找,认为满足了以此更新状态信息作为更新条件的数据为客户端需要更新的数据(如可将所有在客户端请求的更新时间后进行了更新的数据作为满足了更新条件的数据),将所有满足此更新条件的数据按照一定的格式打包,一次性的发送给客户端即可。由于导航系统中的地图数据都是以图层及图幅的形式表达的,而用户在使用导航系统的客户端时,可能仅仅需要某一很小的部分区域的地图,却并不一定需要所有区域的地图,因此,更新地图数据的操作可以图幅为单位来进行处理。如图2所示,服务端及客户端都存在结构完全一致的电子地图数据图层结构及在图层上进行图幅划分的结构。如图所示,第一层的图幅单元覆盖范围最大,比例尺最小(例如图幅大小500kmX500km,比例尺1/1000km);第二层的图幅单元覆盖范围较小一点,比例尺也要大一点;最后一层的图幅单元覆盖范围最小,比例尺最大(例如图幅大小5kmX5km,比例尺1/25m)。其中,服务端及客户端中电子地图数据分层及在图层上进行图幅划分的数据结构组织如图3所示。客户端的地图数据的图幅数据组织结构如图4所示,其中,每个图幅都分别设有用于保存当前图幅的最后更新时间的更新时间参数。客户端的地图数据中,还设有用于保存客户端总最后更新时间的总更新时间参数,图幅数据结构中设有的保存此图幅的最后更新时间的图幅更新时间参数,和数据集数据结构中设有的保存此数据集的最后更新时间的数据集更新时间参数。但在服务端的图幅数据结构中,为了适合在线更新的需要,图幅自身设有保存此图幅的最后更新时间的图幅更新时间参数,而且各数据集、及数据集中的数据项也分别设有用于保存其本身的最后更新时间的数据集更新时间参数及数据项更新时间参数。其中,图幅更新时间参数中保存的图幅的最后更新时间为当前图幅中的各数据集本身的最后更新时间的最迟者;而各数据集的数据集更新时间参数中保存的数据集的最后更新时间则为各数据项的更新时间的最迟者。图5示出了本实施例的服务端图幅的数据结构。其中,不同比例尺的图层分别保存不同的数据集合,如,所有的周边兴趣点数据集合仅保存在某一个图层中,其它层是没有此周边兴趣点数据集合的。图6示出了本实施例服务端的图幅道路数据集的数据结构,其他的服务端数据集如地表数据集,周边兴趣点数据集,信息点文本数据集也类似地,各数据子项都具有数据项的更新时间、是否删除标志,在此不一一列举其示意图。其中,图5、图6中出现的各名词的含义及用途如下数据项即为图幅中各数据集中的地图要素数据,例如道路数据集中的道路及其节点,地表数据中的地表形状及其节点,周边兴趣点数据中的兴趣点,信息点文本数据中的文本图符等。各地图要素数据项具有自己的标识ID,客户端与服务端正是通过数据项的标识ID来找到地图要素,以对照维护其更新状态的。数据项更新时间各数据集中的各地图要素数据项的更新时间,即该数据项最后一次发生加入、修改或删除时的时刻。数据项是否删除标志数据项已被删除的标志。数据集的更新时间数据集中最后一次发生数据项更新行为的时间。每个数据集都有的更新时间,例如附图5中的道路数据更新时间,地表数据更新时间,周边兴趣点更新时间,信息点文本数据更新时间。图幅更新时间各数据集中最后一次发生数据项更新行为的时间,即道路数据更新时间、地表数据更新时间、周边兴趣点更新时间、信息点文本数据更新时间中的最迟者。本发明所述的客户端向服务端要求更新响应数据的方法可以很多种模式,如一、是请求所有可能的更新数据;二、按区域为范围请求区域内的所有可能的更新数据;三、仅指定某一个或几个图幅请求针对指定图幅的更新数据,如仅请求更新当前车辆所在位置附近所在的一个或几个图幅的数据;四、仅指定某一个或几个数据集请求针对指定数据集的更新数据,如仅请求更新某图幅内的记载了某种兴趣点的数据集的数据。其中,第一种模式利用的就是在客户端的地图数据中设置的用于保存总最后更新时间的总更新时间参数。客户端向服务端发送此更新请求方式,并附上客户端的总最后更新时间。所谓总最后更新时间,即上次客户端成功执行完第一次更新方式的时刻。服务端接收到客户端的第一种更新方式请求后,根据客户端同时发送来的总最后更新时间,与服务端的各层中各图幅的图幅最后更新时间比较,如果发现服务端图幅的最后更新时间比客户端的总最后更新时间要新,则服务端再进一步对该图幅的各数据集的更新时间与客户端的总最后更新时间进行比较,如果发现某数据集的更新时间比客户端的总最后更新时间要新,再把该数据集中的那些比客户端的总最后更新时间要新的数据项进行汇总打包,返回给客户端。其打包格式如图7所示。第二种模式需要在客户端或与服务端中分别设置行政区域与各个图层中的各个图幅的对照表;或同时在客户端与服务端中设置完全一致的行政区域与各个图层中的各个图幅的对照表,作为保存了区域与图幅的对应关系的区域更新模块。请参考下表表1和表2:表1为区域与父区域的数据关系树结构表,示出了各行政区域之间的上下级的隶属关系,去最小到达区县一级,其中,每个区域分别设有区域更新时间参数,用于保存当前区域的最后更新时间。表2为区域树中区县一级区域与各图层中各图幅的相交关系表,只要当前图幅中涉及到了某区域,即将此图层中的此图幅与区域标识关联,写入表2。例如,如果要找北京市宣武区在图层1上所有相交的图幅,只需在表2中,把区域标识为"宣武区标识",图层为"图层1"的所有记录的图幅提取出.来即可。表l:<table>tableseeoriginaldocumentpage17</column></row><table><table>tableseeoriginaldocumentpage18</column></row><table>客户端向服务端发送此更新请求方式,并附上区域的标识及该区域的区域更新时间参数中保存的最后更新时间作为更新状态信息。服务端接收到请求后,先在服务端中比较该区域的区域更新时间参数中保存的最后更新时间是否比客户端传来的最后更新时间新;如果是,则对该区域的所有图幅进行枚举,使用在第一种模式中相同的处理方式,直到查找出所有需要更新的数据,将所有其图幅的最后更新时间比客户端发送的当前区域的最后更新时间新的数据项使用附图7的格式进行打包,返回给客户端;如果不是,则直接返回不需更新的信息给客户端。与第一种模式处理依据是总最后更新时间不同的是,第二种模式的处理依据是区域更新时间。第三种模式请求更新的是当前车辆所在位置附近的某一个或几个图幅。客户端计算当前车辆位置在各层上的所在图幅,向服务端向服务端发送此更新请求方式,并附上其需要更新的某一个或几个图幅的图幅标识及每个图幅各种的更新时间参数。使用在第一种模式中相同的处理方式,直到査找出所有需要更新的数据,并使用附图7的格式进行打包,返回给客户端。第四种模式请求更新的是某指定的图幅中的某一个或几个数据集。客户端向服务端发送此更新请求方式,并附上该图幅的数据集更新时间参数中保存的数据集更新时间作为更新状态信息。服务端接收到请求后,先在服务端中比较该数据集的数据集更新时间参数中保存的最后更新时间是否比客户端发送的数据集更新时间新,如果是,则对该数据集内的所有数据项进行枚举,使用在第一种模式中相同的处理方式,直到查找出所有需要更新的数据,将所有其数据项的最后更新时间比客户端发送的数据集更新时间新的数据项使用附图7的格式进行打包,返回给客户端;如果不是,则直接返回不需更新的信息给客户端。与上述模式处理不同的是,第四种模式的处理依据是数据集更新时间。其中,在进行第一种更新模式,即对所有可能的更新数据进行更新时,可能会出现以下情况即客户端有一部分图幅是最近更新过的,而有一部分图幅是没有更新的,而在总更新时间参数中保存的总最后更新时间可能是较之那一部分更新过的图幅的图幅更新时间相比更早,此时,若仅仅发送总最后更新时间作为更新状态信息,服务端会把客户端内更新过的那些图幅的相关数据也打包发送给客户端,产生了流量的浪费。为了解决这个问题,可以在客户端向服务端发送更新请求和更新状态信息时,更新状态信息不仅包括总最后更新时间,还包括客户端内所有其图幅更新时间晚于总最后更新时间的图幅及其图幅更新时间;服务端在接收到上述更新状态信息时,对于未在更新状态信息中提及的图幅,仅比较服务端的图幅更新时间与客户端发送的总最后更新时间,打包服务端的其图幅更新时间晚于客户端的总最后更新时间的图幅;对于在更新状态信息中提及的图幅,比较服务端的图幅更新时间与客户端发送来的相应图幅的图幅更新时间,若服务端的图幅更新时间更新,则将此图幅加入打包的数据;否则,认为此图幅已为最新,无需更新。同理,在进行第一种、第二种或第三种更新模式,即对图幅进行更新时,也可能产生某一个或几个的数据集是新更新过的,而在图幅更新时间参数中保存的图幅更新时间可能是较之那一部分更新过的数据集的数据集更新时间相比更早。同样,可以在客户端向服务端发送更新请求和更新状态信息时,更新状态信息不仅包括指定图幅的图幅更新时间,还包括此图幅内的所有其数据集更新时间晚于图幅更新时间的数据集及其数据集更新时间;服务端在接收到上述更新状态信息时,对于未在更新状态信息提及的数据集,仅比较服务端的数据集更新时间与客户端发送的图幅更新时间,打包服务端的其数据集更新时间晚于客户端的图幅更新时间的图幅;对于在更新状态信息中提及的数据集,比较服务端的数据集更新时间与客户端发送来的相应数据集的数据集更新时间,若服务端的数据集更新时间更新,则将此数据集加入打包的数据;否则,认为此数据集已为更新,无需更新。其中,如图7所示,需要更新的数据的内容按照以下格式顺序打包服务端响应时刻、涉及的图层的数量、图层l的更新内容、图层l中的待更新的图幅数量、其他图层的更新内容;其中,图层l的更新内容括图幅l的更新内容及其他图幅的更新内容;图幅l的更新内容包括数据集1中的更新内容(如,图中所示的数据集1为道路数据集)、其他数据集中的更新内容;数据集l的更新内容包括要修改或加入的数据项列表及要删除的数据项列表;所述要修改或加入的数据项列表包括要修改或加入的数据项列表个数,及其涉及的数据项标识与对应的数据项;所述要删除的数据项列表包括要要删除的数据项列表个数及其涉及的数据项标识。在上述四种模式中,客户端接收到返回的数据包之后,对其进行解析,得到对应的地图要素数据,根据此数据针对相应图幅中的数据进行新增、更新或删除操作,同时更新相应的数据集更新时间参数、图幅更新时间参数、区域更新时间参数,总更新时间参数等参数的值。本发明所述的导航系统的客户端,如图8所示,包括客户端地图数据存储模块,用于存储客户端的地图要素数据,所述客户端数据存储模块还存储有能反映客户端地图数据当前的更新状态的更新状态信息;客户端数据发送模块,用于将更新请求及更新状态信息发送给服务端;客户端数据接收模块,用于接收服务端发送来的数据包;数据包解析更新模块,用于将客户端数据接收模块得到的数据包进行解析,得到服务端中发生了更新的地图要素数据;并根据此地图要素数据更新客户端地图数据存储模块中的地图要素数据及对应的更新状态信息。客户端地图数据存储模块内包括与服务端对应的、位于不同图层的一组以上的图幅,所述地图要素数据分别记载在不同的图幅中;其中,每个图幅分别设有用于保存此图幅的最后更新时间的图幅更新时间参数;所述的导航系统的客户端内还设有车辆周边更新模块,用于获得当前车辆所在位置周边的位于一个或多个图层上的某一个或几个图幅作为更新状态信息中的指定图幅;区域更新模块,用于保存区域与图幅的对应关系(如表1、表2所示),其中,每个区域分别对应有用于保存当前区域的最后更新时间的区域更新时间参数。其中,所述的更新状态信息可以为保存在客户端总更新时间参数中的客户端总最后更新时间;对应的,数据包解析更新模块完成地图要素数据更新后,还需将总更新时间参数中的更新状态信息更新为服务端的响应时刻值;同时将所有图幅的图幅更新时间参数中的值设置成服务端的响应时刻值;所述的更新状态信息可以为保存在客户端的指定图幅的图幅更新时间参数中保存的图幅的最后更新时间;对应的,数据包解析更新模块完成地图要素数据更新后,还需将上述图幅的图幅更新时间参数中的值设置成服务端的响应时刻值;所述的更新状态信息可以为保存在客户端的指定数据集的数据集更新时间参数中保存的数据集的最后更新时间;对应的,数据包解析更新模块完成地图要素数据更新后,还需将上述数据集的数据集更新时间参数中的值设置成服务端的响应时刻值;所述的更新状态信息还可以为保存在客户端的指定区域的区域更新时间参数中保存的区域的最后更新时间;对应的,数据包解析更新模块完成地图要素数据更新后,还需将上述区域更新时间参数中的值设置成服务端的响应时刻值。本发明所述的导航系统的服务端,如图8所示,包括-服务端数据接收模块,用于接收客户端发送来的更新请求及更新状态{曰息;服务端地图数据存储模块,用于服务端的存储地图要素数据,所述每个地图要素数据都设有更新状态信息参数;地图要素数据匹配模块,用于在服务端地图数据存储模块中査找与客户端接收模块接收到的客户端的更新状态信息匹配的地图要素数据;服务端数据发送模块,用于将地图要素数据匹配模块发送来的信息按照预设格式打包,发送给客户端;若中地图要素数据匹配模块发送来的信息为空信息,通知客户端不需更新。服务端地图数据存储模块内包括与客户端对应的、位于不同图层的一组以上的图幅,所述地图要素数据分别记载在不同的图幅中;其中,每个图幅分别设有用于保存此图幅的最后更新时间的图幅更新时间参数。所述地图要素数据匹配模块包括以下子模块总更新子模块,当更新状态信息为客户端总最后更新时间时工作;用于服务端内所有的其最后更新时间晚于客户端的总更新时间的地图要素数据发送给服务端数据发送模块;或,用于将服务器中所有的其图幅的最后更新时间是否晚于客户端总最后更新时间的图幅中的、所有的其最后更新时间晚于客户端总最后更新时间的地图要素数据发送给服务端数据发送模块;指定图幅更新子模块,当更新状态信息为客户端指定图幅的最后更新时间时工作;用于比较服务端对应图幅的最后更新时间是否晚于客户端指定图幅的最后更新时间,若是,在当前图幅内査找所有的其最后更新时间晚于客户端指定图幅的最后更新时间的地图要素数据发送给服务端数据发送模块;若不是,返回空信息给服务端数据发送模块;指定数据集更新子模块,当更新状态信息为客户端指定数据集的最后更新时间时工作;用于比较服务端对应数据集的最后更新时间是否晚于客户端指定数据集的最后更新时间,若是,在当前数据集内查找所有的其最后更新时间晚于客户端指定数据集的最后更新时间的地图要素数据发送给服务端数据发送模块;若不是,返回空信息给服务端数据发送模块;区域更新子模块,当更新状态信息为客户端指定区域的最后更新时间时工作;其保存有区域与图幅的对应关系(如表l、表2所示),其中,每个区域分别对应有用于保存当前区域的最后更新时间的区域更新时间参数;用于查询得到指定区域对应图幅,比较服务端的图幅的最后更新时间是否晚于客户端指定区域的最后更新时间,若是,在当前图幅内査找所有的其最后更新时间晚于客户端指定图幅的最后更新时间的地图要素数据发送给服务端数据发送模块;若不是,返回空信息给服务端数据发送模块。如图9所示,导航系统的客户端向服务端请求地图更新的处理流程如下步骤SIOI,客户端向服务端发送更新请求,可依照前面所述的三种不同的模式分别发送更新请求模式,及其对应的可反映客户端地图数据当前的更新状态的更新状态信息;步骤S102,客户端接收服务端返回的响应数据包,按照预定义的协议规则对响应数据包进行解析,得到服务端中发生了更新的数据;步骤S103,以图幅为单位对客户端的数据进行依次更新,判断步骤S102中得到的数据中是否还有图幅没有处理;如是,执行步骤S104,否则执行步骤S109;步骤S104,判断步骤S103中的当前处理图幅中是否还有数据集未被处理?如是,执行步骤S105,否则执行步骤S107;步骤S105,判断步骤S104中的当前处理数据集中还有数据项未被处理?如是,执行步骤S106,否则执行步骤S104;步骤S106,客户端处理数据项更新或删除数据项;如果响应数据包中的数据项指示已被删除,则客户端判断是否也存在相同数据标识的数据项,如是,则执行删除;如果响应数据包中的数据项带有完整数据,则客户端判断是否存在与之对应的数据项,如是,执行更新操作,否则执行增加操作;本步骤执行完成后返回S105;步骤S107,更新图幅的图幅更新时间参数的值为服务端的响应时刻值;步骤S108,客户端判断是否需要更新区域的区域更新时间参数的值,即判断客户端在步骤SIOI中发送的请求是否为区域更新请求,如是,则执行步骤S109,否则执行步骤S110;步骤S109,更新区域的区域更新时间参数的值,即将所请求更新的区域及所有子区域的区域更新时间参数的值设置成服务端的响应时刻值,结束本处理流程;步骤SllO,客户端判断是否需要更新地图的总更新时间参数的值,即判断客户端在步骤S101中发送的更新请求是否同第一种更新模式——全部更新;如果判断成立,执行步骤Slll,否则结束本处理流程;步骤Slll,更新总更新时间参数的值,即将总更新时间参数的值设置成服务端的响应时刻值,结束本处理流程。如图IO所示,服务端响应客户端的更新请求的处理流程如下步骤S201,服务端接收客户端的更新请求;解析得到客户端的更新请求模式及附带的更新状态信息;步骤S202,判断客户端的更新请求模式是否为第一种模式,即请求所有可能的更新数据;如是,则说明S201中接收到的更新状态信息为客户端的总最后更新时间,执行步骤S203,否则执行步骤S204;步骤S203,将全部图幅中那些更新时间晚于客户端的总更新时间的图幅中所有发生了更新的内容按照预定义的协议规则打包,返回给客户端;步骤S204,判断客户端的更新请求模式是否为第二种模式,即区域更新请求,如是,则说明S201中接收到的更新状态信息为客户端的区域的最后更新时间,执行步骤S205,否则,则说明客户端的更新请求模式为第三种模式,即指定图幅的更新请求,S201中接收到的更新状态信息为客户端中相应图幅的最后更新时间,执行步骤S206;步骤S205,将请求区域的所有图幅中那些更新时间晚于客户端的区域更新时间的图幅中所有发生了更新的内容按照预定义的协议规则打包,返回给客户端;步骤S206,将那些更新时间晚于客户端的对应图幅的更新时间的图幅中所有发生了更新的内容按照预定义的协议规则打包,返回给客户端。其中,在确定了图幅中的更新时间晚于客户端请求的更新时间后,为了査找图幅中所有发生了更新的内容,可先依次比较客户端请求的更新时间是否晚于图幅中数据集的数据集更新时间参数的值,若是,在当前数据集内査找所有的其最后更新时间晚于客户端指定图幅的最后更新时间的地图要素数据;若不是,比较下一个数据集,直至当前图幅内所有的数据集都比较完成,将所有査找到的地图要素数据按照预设格式打包,发送给客户端。相比较专利文献1中所述的以细粒度的地图要素为最小通信单位来进行处理的技术方案,本发明的技术方案的服务端一次性的发送客户端请求的所有数据,可以显著减少来回交互的次数,从而避免了由于无线通讯网络的响应速度慢和交互次数多的双重因素所带来的速度变慢问题。由于本发明直接将客户端的更新状态信息上传,而不需要从服务端下载地图要素的更新状态,因此,减少了需要传输的数据量和通信次数,可以进一步地提高更新速度。进一步的,本发明可以以图幅、数据集依级别作为对比单元,对不需要更新的图幅只需要对比图幅更新时间参数即可确定此图幅不需要更新,不需要依次对比各数据集;对于不需要更新的数据集只需要对比数据集更新时间参数即可确定此数据集不需要更新,不需要依次对比各数据项,减少了服务端需要花费的对比时间。更进一步的,本发明可以以图幅、数据集作为更新单元,客户端可以仅请求指定的某一个或几个图幅或数据集进行独立的更新,速度更快,更方便用户使用。另外,由于图幅与区域关系的引入,还得以实现了按区域进行更新,可以更好的切合用户的真实需求。以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属
技术领域
的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。权利要求1、一种导航系统的客户端,其特征在于,包括客户端地图数据存储模块,用于存储客户端的地图要素数据,所述客户端数据存储模块还存储有能反映客户端地图数据当前的更新状态的更新状态信息;客户端数据发送模块,用于将更新请求及更新状态信息发送给服务端;客户端数据接收模块,用于接收服务端发送来的数据包;数据包解析更新模块,用于将客户端数据接收模块得到的数据包进行解析,得到服务端中发生了更新的地图要素数据;并根据此地图要素数据更新客户端地图数据存储模块中的地图要素数据及更新状态信息。2、一种导航系统的服务端,其特征在于,包括-服务端数据接收模块,用于接收客户端发送来的更新请求及更新状态信息;服务端地图数据存储模块,用于服务端的存储地图要素数据,所述每个地图要素数据都设有更新状态信息参数;地图要素数据匹配模块,用于在服务端地图数据存储模块中查找与客户端接收模块接收到的客户端的更新状态信息匹配的地图要素数据;服务端数据发送模块,用于将地图要素数据匹配模块搜集到的地图要素数据打包后发送给客户端。3、一种导航系统的客户端向服务端请求地图更新的方法,其特征在于,包括以下步骤A:客户端向服务端发送更新请求及能反映客户端地图数据当前的更新状态的更新状态信息;B:客户端接收服务端返回的数据包,并对其进行解析,得到服务端中发生了更新的地图要素数据,根据地图要素数据更新客户端的地图数据及更新状态信息。4、如权利要求3所述的导航系统的客户端向服务端请求地图更新的方法,其特征在于,所述的客户端内设有用于保存客户端的地图数据最近一次的客户端总最后更新时间的总更新时间参数;所述的步骤A中,更新状态信息为总更新时间参数中保存的客户端总最后更新时间;所述的步骤B后,还包括将总更新时间参数中的值设置成服务端的响应时刻值的步骤。5、如权利要求4所述的导航系统的客户端向服务端请求地图更新的方法,其特征在于,所述的客户端的地图数据包括与服务端对应的、位于不同图层的一组以上的图幅,所述地图要素数据分别记载在不同的图幅中;其中,每个图幅分别设有用于保存此图幅的最后更新时间的图幅更新时间参数;所述的步骤A中,更新状态信息为总更新时间参数中保存的客户端总最后更新时间;所述的步骤B后,还包括将总更新时间参数中的值设置成服务端的响应时刻值;并将所有图幅的图幅更新时间参数中的值设置成服务端的响应时刻值的步骤。6、如权利要求3所述的导航系统的客户端向服务端请求地图更新的方法,其特征在于,所述的客户端的地图数据包括与服务端对应的、位于不同图层的一组以上的图幅,所述地图要素数据分别记载在不同的图幅中;其中,每个图幅分别设有用于保存此图幅的最后更新时间的图幅更新时间参数;所述的步骤A中,更新状态信息为指定图幅的图幅更新时间参数中保存的图幅的最后更新时间;所述的步骤B后,还包括将对应图幅的图幅更新时间参数中的值设置成服务端的响应时刻值的步骤。7、如权利要求6所述的导航系统的客户端向服务端请求地图更新的方法,其特征在于,所述的客户端内还设有车辆周边更新模块,用于获得当前车辆所在位置周边的位于一个或多个图层上的某一个或几个图幅作为更新状态信息中的指定图幅。8、如权利要求6所述的导航系统的客户端向服务端请求地图更新的方法,其特征在于,所述的客户端内设有保存了区域与图幅的对应关系的区域更新模块,其中,每个区域分别对应有用于保存当前区域的最后更新时间的区域更新时间参数;所述的步骤A中,更新状态信息为根据区域更新模块得到的指定区域对应图幅的图幅更新时间参数中保存的图幅的最后更新时间;或为指定区域的区域更新时间参数中保存的区域的最后更新时间;所述的步骤B后,还包括将对应图幅的图幅更新时间参数中的值设置成服务端的响应时刻值的步骤;或将对应区域的区域更新时间参数中的值设置成服务端的响应时刻值的步骤。9、一种导航系统的服务端响应客户端的更新请求的方法,其特征在于,包括以下步骤C:服务端接收客户端发送的更新请求及更新状态信息;D:在服务端的地图数据内查找所有其更新状态参数满足了步骤C中的更新状态信息的地图要素数据,打包后发送给客户端。10、如权利要求9所述的导航系统的服务端响应客户端的更新请求的方法,其特征在于,所述的服务端的每个地图要素数据都对应的设有用于记载其最后更新时间的更新时间参数;所述的步骤D中,若更新状态信息为客户端总最后更新时间,查找服务端内所有的其最后更新时间晚于客户端的总更新时间的地图要素数据,打包后发送给客户端。11、如权利要求10所述的导航系统的服务端响应客户端的更新请求的方法,其特征在于,所述的服务端的地图数据包括与客户端对应的、位于不同图层的一组以上的图幅,所述地图要素数据分别记载在不同的图幅中;其中,每个图幅分别设有用于保存此图幅的最后更新时间的图幅更新时间参数;所述的步骤D中,若更新状态信息为客户端总最后更新时间,则执行以下步骤D01:比较服务端对应图幅的最后更新时间是否晚于客户端总最后更新时间,若是,在当前图幅内查找所有的其最后更新时间晚于客户端总最后更新时间的地图要素数据,打包后发送给客户端;转步骤D02,若不是,直接转步骤D02;D02:比较下一个图幅,重新执行步骤DOl,直至所有图幅都比较完成。12、如权利要求9所述的导航系统的服务端响应客户端的更新请求的方法,其特征在于,所述的服务端的地图数据包括与客户端对应的、位于不同图层的一组以上的图幅,所述地图要素数据分别记载在不同的图幅中;其中,每个图幅分别设有用于保存此图幅的最后更新时间的图幅更新时间参数;所述的步骤D中,若更新状态信息为客户端指定图幅的最后更新时间,则比较服务端对应图幅的最后更新时间是否晚于客户端指定图幅的最后更新时间,若是,在当前图幅内査找所有的其最后更新时间晚于客户端指定图幅的最后更新时间的地图要素数据,打包后发送给客户端;若不是,通知客户端不需更新。13、如权利要求12所述的导航系统的服务端响应客户端的更新请求的方法,其特征在于,所述的服务端内设有保存了区域与图幅的对应关系的区域更新子模块,其中,每个区域分别对应有用于保存当前区域的最后更新时间的区域更新时间参数;所述的步骤D中,若更新状态信息为客户端指定区域的最后更新时间,则包括以下步骤Dl1:在区域更新子模块中查找得到指定区域对应图幅;D12:比较步骤Dll中得到的图幅的最后更新时间是否晚于客户端指定区域的最后更新时间,若是,在当前图幅内査找所有的其最后更新时间晚于客户端指定图幅的最后更新时间的地图要素数据,打包后发送给客户端;若不是,通知客户端不需更新。全文摘要本发明公开一种导航系统的客户端、服务端、及其进行地图更新的方法,其中,客户端请求地图更新的方法,包括以下步骤向服务端发送更新请求及能反映客户端地图数据当前的更新状态的更新状态信息;客户端接收服务端返回的数据包,对其进行解析,更新客户端的地图数据及更新状态信息。服务端响应更新请求的方法,包括以下步骤服务端接收客户端发送的更新请求及更新状态信息;在服务端的地图数据内查找所有其更新状态参数满足更新状态信息的数据,打包发送给客户端。由于在更新过程中,客户端向服务端发送反映其更新状态的更新状态信息,服务端由此确定内容,打包后发送给客户端更新,其间只需进行一次通信即可,明显减少了客户端每次更新的时间。文档编号G01C21/32GK101319912SQ20081006824公开日2008年12月10日申请日期2008年7月3日优先权日2008年7月3日发明者张文星申请人:凯立德欣技术(深圳)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1