首页> 中国专利> 使用动态高速缓存存储器的地图更新系统和地图更新程序

使用动态高速缓存存储器的地图更新系统和地图更新程序

摘要

一种地图更新系统,包括:更新处理单元,当更新处理所需的数据被存储在存储器的高速缓存区域中时通过从该高速缓存区域读取数据来执行更新处理,以及当数据未被存储在高速缓存区域中时通过从地图数据库读取数据来执行更新处理;高速缓存存储单元,用于将更新处理所读取的数据存储在所述高速缓存区域中;处理存储器容量确定单元,用于基于待要进行更新处理的地图数据的内容来确定处理存储器容量,该存储器容量是更新处理区域所需的存储器的容量;以及高速缓存容量确定单元,用于基于处理存储器容量来确定高速缓存容量,该高速缓存容量是分配给高速缓存区域的存储器的容量。

著录项

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2013-11-06

    授权

    授权

  • 2011-03-23

    实质审查的生效 IPC(主分类):G01C21/32 申请日:20090226

    实质审查的生效

  • 2011-02-02

    公开

    公开

说明书

技术领域

本发明涉及一种地图更新系统以及一种地图更新程序,该地图更新系统包括存储地图数据的地图数据库,并且在该地图更新系统中,当接收到更新数据时对地图数据库进行更新处理,该地图更新程序用于对地图数据库进行此更新处理。

背景技术

典型地,期望地图能够精确地反映不断变化的道路、设施等的当前状态。因此,例如,在导航设备等中使用的以电子数据形式存储地图数据的地图数据库中采用的已知系统中,经由通信网络、数据记录介质等适当地提供更新数据,并且使用更新数据来更新地图数据库。作为这个类型的地图数据库更新系统的实例,在日本专利申请公开2007-328739(第17至21页,图1)中描述了如下的更新系统。

这个更新系统是由终端设备(例如按照预定操作程序操作的导航设备),以及提供作为更新数据的差异数据(difference data)文件的服务器设备所构成的。终端设备包括:本地存储数据库,其按照更新数据格式存储地图数据,用于根据差异数据文件而进行差异更新;以及参考数据库,其按照参考数据格式存储地图数据,用于让操作程序来参照。在接收到差异数据文件时,终端设备对按照更新数据格式存储在本地存储数据库中的地图数据进行差异更新,然后执行将更新后的地图数据转换成参考数据格式的地图数据并将转换后的数据存储在参考数据库中的处理。这样,更新了由操作程序参照的参考数据库中的地图数据。

在上述地图数据库更新系统中,当根据差异数据文件对本地存储数据库中的地图数据进行差异更新时,在进行将本地存储数据库中的更新后的地图数据转换成参考数据格式下的地图数据等处理时,需要对包括本地存储数据库的地图数据库执行大量的文件访问,以读取所需的数据。因此,这种文件访问所需的时间占用了地图数据库更新处理所需的时间的较大比例。减少文件访问时间的一个有效方法是将读取数据存储在存储器的高速缓存区域中,然后在需要时从高速缓存区域读取这些数据。

[0005]然而,在由于成本或尺寸限制等不能在终端设备中安装大容量存储器的情况下,具有足够大容量的高速缓存区域可能难以得到保障。在诸如安装在车辆中的导航设备等终端设备中,尺寸限制等与诸如个人计算机等固定终端设备相比更加严格,因此难以安装大容量存储器。由此,在存储器中不易得到大容量高速缓存区域。结果是,大量数据不能够存储在高速缓存区域中,并且用于文件访问的高速缓存的比例也不能增加,从而不能实现文件访问时间的大量减少。

发明内容

出于对上述问题的考虑而设计出本发明,并且其目的在于提供一种地图更新系统和地图更新程序,由此通过有效使用具有有限容量的存储器来保障高速缓存区域,可以缩短地图数据库更新处理所需的时间。

实现上述目的的本发明的特性组配(featured constitution)是一种地图更新系统,其包括存储地图数据的地图数据库,并在接收到更新数据时对地图数据库进行更新处理。所述地图更新系统包括:存储器,具有用于更新处理的更新处理区域以及用作高速缓存的高速缓存区域;更新处理单元,当更新处理所需的数据被存储在高速缓存区域中时通过从高速缓存区域读取数据来执行更新处理,以及当数据未被存储在高速缓存区域中时通过从地图数据库读取数据来执行更新处理;高速缓存存储单元,用于将更新处理所读取的数据存储在高速缓存区域中;处理存储器容量确定单元,用于基于待要进行更新处理的地图数据的内容来确定处理存储器容量,该处理存储器容量是更新处理区域所需的存储器的容量;以及高速缓存容量确定单元,用于基于处理存储器容量来确定高速缓存容量,该高速缓存容量是分配给高速缓存区域的存储器的容量。

根据这个特性组配,其使用存储器中提供的高速缓存区域来读取在更新处理中所需的数据,因此当多次读取相同的数据时,相比于从地图数据库直接读取所有数据的情况,能够提高读取处理的速度。同样,根据这个特性组配,其基于处理存储器容量(这是基于待要进行更新处理的地图数据的内容确定的)来确定高速缓存容量(这是存储器中分配给在读取处理期间使用的高速缓存区域的容量)。因此,可根据待要进行更新处理的地图数据的内容可变地设置适当的处理存储器容量,并根据所设置的处理存储器容量可变地设置高速缓存容量,结果是,在处理存储器容量不必很大时,可相应地增大高速缓存容量。因此,相比于高速缓存容量固定的情况,能够通过有效使用有限的存储器容量来保障相对较大的高速缓存区域,因此可缩短更新地图所需的时间。

这里,所述高速缓存容量确定单元优选将剩余存储器容量设置为高速缓存容量,所述剩余存储器容量是基于从存储器的总容量减去处理存储器容量而得到的容量确定的。

[0010]根据这个组配,其保障所需的处理存储器容量作为更新处理区域,因此可根据处理存储器容量的改变(这是根据待要进行更新处理的地图数据的内容确定的)适当地将高速缓存容量设置到最大限度。

此外,所述处理存储器容量确定单元优选基于待要进行更新处理的地图数据中包含的道路数目和岔路口数目之一或这两者来确定处理存储器容量。

根据这个组配,其根据道路数目和岔路口数目之一或这两者(即,显著影响作为更新处理区域所需的存储器容量的地图数据的内容)确定处理存储器容量,因此可适当地确定在地图数据的更新处理期间所需的处理存储器容量。

此外,所述地图数据优选包括由与岔路口对应的多个节点以及与连接所述节点的道路对应的多个链路构成的道路网络数据;以及所述处理存储器容量确定单元基于待进行更新处理的地图数据中包含的链路数目和节点数目之一或这两者来确定处理存储器容量。

根据这个组配,当地图数据包括由节点和链路组配的道路网络数据时,根据链路数目和节点数目之一或这两者(即,显著影响作为更新处理区域所需的存储器容量的地图数据的内容)确定处理存储器容量,因此可适当地确定在地图数据的更新处理期间所需的处理存储器容量。

[0015]此外,所述处理存储器容量确定单元优选基于待要进行更新处理的地图数据的数据量来确定处理存储器容量。

根据这个组配,其根据地图数据的数据量(即,显著影响作为更新处理区域所需的存储器容量的地图数据的内容)确定处理存储器容量,因此可适当地确定在地图数据的更新处理期间所需的处理存储器容量。

此外,所述地图数据库优选将地图数据存储在通过将对象(subject)地理区域分成多个部分而获得的多个部分中的每个部分中;以及所述更新处理单元优选将每个部分中的地图数据设置为更新处理对象。

根据这个组配,其能够依序将每个部分中的地图数据设置为更新处理对象,因此可适当地执行更新处理。

此外,当所述更新处理对象转到随后的部分中的地图数据时,所述处理存储器容量确定单元优选基于在随后的部分中的地图数据的内容来重新确定处理存储器容量。

[0020]根据这个组配,当完成了在一个更新对象部分中的地图数据的更新、并且在对下一个更新对象部分中的地图数据执行更新处理时,可根据下一个地图数据的内容适当地确定处理存储器容量。因此,可在每个时间点根据待要进行更新处理的地图数据的内容可变地设置适当的处理存储器容量,并且可根据所设置的处理存储器容量适当地设置高速缓存容量。

根据本发明的地图更新系统还优选包括:导航处理单元,用于执行预定导航处理;以及导航存储器容量确定单元,用于基于作为导航处理而执行的处理内容来确定导航存储器容量,该导航存储器容量是作为导航处理中使用的存储器区域所需的容量;其中所述高速缓存容量确定单元基于所述处理存储器容量和所述导航存储器容量来确定高速缓存容量。

根据这个组配,其基于处理存储器容量(这是基于待要进行更新处理的地图数据的内容确定的)和导航存储器容量(这是基于作为导航处理而执行的处理的内容确定的)这两者来确定高速缓存容量(这是分配给在读取处理期间使用的高速缓存区域的存储器的容量)。因此,可根据待要进行更新处理的地图数据的内容可变地设置适当的处理存储器容量,可根据作为导航处理而执行的处理的内容可变地设置适当的导航存储器容量,以及可根据所设置的处理存储器容量和导航存储器容量可变地设置高速缓存容量。结果是,在处理存储器容量和导航存储器容量不必很大的情况下,可相应地增大高速缓存容量。因此,相比于高速缓存容量固定的情况或单独地基于处理存储器容量可变地设置高速缓存容量的情况,可通过有效使用有限的存储器容量而保障相对较大的高速缓存区域,因此可进一步缩短更新地图所需的时间。

这里,所述高速缓存容量确定单元优选将剩余存储器容量设置成高速缓存容量,所述剩余存储器容量是基于从存储器的总容量减去处理存储器容量和导航存储器容量而得到的容量确定的。

根据这个组配,其保障所需的处理存储器容量作为更新处理区域,并保障所需的导航存储器容量作为导航处理区域,因此能够根据处理存储器容量的改变(这是根据待要进行更新处理的地图数据的内容确定的)和导航存储器容量的改变(这是根据作为导航处理而执行的处理的内容确定的)适当地将高速缓存容量设置到最大限度。

[0025]此外,所述导航存储器容量确定单元优选基于进行中的作为导航处理的应用处理的类型和数目之一或这两者来确定导航存储器容量。

根据这个组配,其根据进行中的应用处理的类型和数目之一或这两者来确定导航存储器容量,这两者显著影响了导航处理区域所需的存储器容量,因此可根据导航处理单元的操作状态适当地确定所需的导航存储器容量。

此外,当开始或完成各个应用处理的执行时,所述导航存储器容量确定单元优选重新确定导航存储器容量。

根据这个组配,在每次开始或完成用作导航处理服务的多个应用处理之一的执行时,可在每个时间点根据各个应用处理的执行状态适当地确定导航存储器容量。因此,可在每个时间点根据应用处理的执行状态可变地设置适当的导航存储器容量,并且可根据所设置的导航存储器容量适当地设置高速缓存容量。

此外,当在高速缓存区域中存储新数据时,所述高速缓存存储单元优选按照存储顺序从高速缓存区域删除最早存储的数据。

[0030]根据这个组配,其能够删除相对不太可能再次读取的数据,从而可在高速缓存区域中存储新数据,因此能够在有限的高速缓存区域中适当地存储数据。

根据本发明的地图更新系统还优选包括:高速缓存管理单元,用于与这样的文件的地址相关联地管理在高速缓存区域中存储的数据,其中所述文件存储于地图数据库中并包含所述数据。

根据这个组配,当通过指定文件(其包含在更新处理中需要的数据)的地址来执行数据读取时,能够很容易地从高速缓存区域读取数据。因此,可实现数据读取处理的速度的进一步提高。

此外,所述地图数据库优选包括:更新数据库,存储由更新数据更新的更新地图数据;以及参考数据库,存储由使用地图数据的应用处理参照的参考地图数据;以及在用所述更新数据更新所述更新地图数据之后,所述更新处理单元优选通过将更新后的更新地图数据转换成更新后的参考地图数据来生成更新后的参考地图数据,并将更新后的参考地图数据存储在参考数据库中。

根据这个组配,其通过更新数据来更新在更新数据库中存储的更新地图数据,因此能够很容易地和快速地执行使用更新数据来更新地图数据的处理。此外,通过将更新后的更新地图数据转换成在应用处理期间用于参照的参考地图数据,可参照具有适于参照的格式的地图数据来执行应用处理。结果是,可防止应用处理的操作性能的降低,同时能够确保很容易地和快速地用更新数据来进行地图数据的更新。

[0035]本发明的另一特性组配是一种地图更新系统,其包括存储地图数据的地图数据库,并在接收到更新数据时对地图数据库进行更新处理。所述地图更新系统包括:导航处理单元,用于执行预定的导航处理;存储器,具有在导航处理中使用的导航处理区域以及用作高速缓存的高速缓存区域;更新处理单元,当更新处理所需的数据被存储在高速缓存区域中时通过从高速缓存区域读取数据来执行更新处理,以及当数据未被存储在高速缓存区域中时通过从地图数据库读取数据来执行更新处理;高速缓存存储单元,用于将更新处理所读取的数据存储在高速缓存区域中;导航存储器容量确定单元,用于基于作为导航处理而执行的处理内容来确定导航存储器容量,该导航存储器容量是作为导航处理中使用的存储器区域所需的存储器的容量;以及高速缓存容量确定单元,用于基于导航存储器容量来确定高速缓存容量,该高速缓存容量是分配给高速缓存区域的存储器的容量。

根据这个特性组配,其使用存储器中提供的高速缓存区域来读取在更新处理中所需的数据,因此当多次读取相同的数据时,相比于从地图数据库直接读取所有数据的情况,能够提高读取处理的速度。同样,根据这个特性组配,其基于导航存储器容量(这是基于作为导航处理而执行的处理的内容确定的)确定高速缓存容量(这是分配给在读取处理期间使用的高速缓存区域的存储器的容量)。因此,可根据作为导航处理而执行的处理的内容可变地设置适当的导航存储器容量,以及根据所设置的导航存储器容量可变地设置高速缓存容量。结果是,在处理存储器容量不必很大时,可相应地增大高速缓存容量。因此,相比于高速缓存容量固定的情况,能够通过有效使用有限的存储器容量来保障相对较大的高速缓存区域,因此可缩短更新地图所需的时间。

可将根据本发明的地图更新系统的技术组配(其具有上述各个组配)应用于地图更新方法和地图更新程序,因此本发明还主张方法和程序形式的权利。

在这种情况下,本发明的特性组配是一种地图更新程序,用于在接收到更新数据时对存储地图数据的地图数据库进行更新处理,其中所述地图更新程序使得计算机实现以下功能:更新处理功能,当更新处理所需的数据被存储在存储器的高速缓存区域中时通过从高速缓存区域读取数据来执行更新处理,以及当数据未被存储在高速缓存区域中时通过从地图数据库读取数据来执行更新处理;高速缓存存储功能,用于将执行更新处理功能期间所读取的数据存储在高速缓存区域中;处理存储器容量确定功能,用于基于待要进行更新处理的地图数据的内容来确定处理存储器容量,该处理存储器容量是作为更新处理中使用的存储器的更新处理区域所需的存储器的容量;以及高速缓存容量确定功能,用于基于处理存储器容量来确定高速缓存容量,该高速缓存容量是分配给高速缓存区域的存储器的容量。

本发明的另一特性组配是一种地图更新程序,用于在接收到更新数据时对存储地图数据的地图数据库进行更新处理,其中所述地图更新程序使得计算机实现以下功能:导航处理功能,用于执行预定的导航处理;更新处理功能,当更新处理所需的数据被存储在存储器的高速缓存区域中时通过从高速缓存区域读取数据来执行更新处理,以及当数据未被存储在高速缓存区域中时通过从地图数据库读取数据来执行更新处理;高速缓存存储功能,用于将执行更新处理功能期间所读取的数据存储在高速缓存区域中;导航存储器容量确定功能,用于基于作为导航处理而执行的处理内容来确定导航存储器容量,该导航存储器容量是作为导航处理中使用的存储器的导航处理区域所需的存储器的容量;以及高速缓存容量确定功能,用于基于导航存储器容量来确定高速缓存容量,该高速缓存容量是分配给高速缓存区域的存储器的容量。

[0040]不言而喻,这些地图更新程序同样能够获得上述地图更新系统的行为和效果,此外,作为地图更新系统的优选组配实例所阐述的若干技术也可结合于其中。

附图说明

图1是以模式形式示出根据本发明实施例的导航设备的功能组配的框图;

图2是示出更新地图数据的内容的示意图;

图3是示出高速缓存管理单元的组配的模式图;

图4是示出在存储器内部设置的区域的特定实例的视图;

图5是示出在存储器内部设置的区域的特定实例的视图;

图6是示出地图更新处理的过程的流程图;

图7是示出文件读取处理的过程的流程图;

图8是示出高速缓存数据保障处理的过程的流程图;

图9是示出存储器管理处理的过程的流程图;

图10是示出处理存储器容量确定处理的过程的流程图;以及

图11是示出导航存储器容量确定处理的过程的流程图。

具体实施方式

下面将基于附图来描述本发明的实施例。在本实施例中,将描述用作安装在车辆中的车载终端设备的导航设备1应用根据本发明的地图更新系统的情形。图1是以模式形式示出根据本实施例的导航设备1的功能组配(constitution)的框图。导航设备1包括参考数据库70和本地存储数据库80,它们用作地图数据库2,分别存储用作地图数据3的参考地图数据71和更新地图数据81。导航设备1在从服务器设备5接收到更新数据文件4时对参考地图数据71和更新地图数据81进行更新处理。在此时,导航设备1构成为能够根据地图更新处理和导航处理中所需的存储器50的容量可变地设置高速缓存区域51的容量(见图4和图5)。这么做之后,导航设备1可通过有效使用存储器50的有限容量得到高速缓存区域51,结果是,可缩短对参考数据库70和本地存储数据库80进行更新处理所需的时间。

通过将用于对输入数据进行各种处理的、呈硬件、软件(程序)或这两者形式的功能单元组合起来,形成构成图1中所示的导航设备1的功能单元的文件访问管理单元10、更新处理单元40和导航处理单元60,其中这些功能单元使用计算处理设备(例如CPU)作为核心部件,所述计算处理设备在功能单元之间共享或在每个功能单元中提供。此外,用于提供收发单元91和记录介质再现单元92(它们也作为导航设备1的功能单元)的功能的组配以硬件或硬件与软件(程序)的结合来实现。将这些功能单元如图1的箭头所示那样进行连接,从而能够交换各类信息和数据。存储器50是能够使用各个功能单元的计算处理设备相对高速地读取和写入的存储设备,并且例如由DRAM(动态RAM)或SRAM(静态RAM)等易失性存储器构成。此外,参考数据库70和本地存储数据库80由具有用于可重写地记录数据的记录介质的硬件设备及其驱动单元(例如硬盘驱动器)或非易失性半导体存储器(例如EEPROM)构成。下面将依次描述导航设备1的各个部分的组配。

(导航处理单元)

导航处理单元60是用于执行作为导航设备1的功能的导航处理的处理单元。在本实施例中,导航处理单元60对应于本发明的导航处理单元。尽管附图中未示出,所述导航处理单元60连接有车辆位置检测单元、操作单元、显示单元、语音输出单元等,从而能够与它们交换各类信息和数据。这里,车辆位置检测单元是检测导航设备1的当前位置的功能单元,并且例如包括GPS接收器、方位传感器(bearing sensor)、距离传感器等。操作单元例如由触摸板、操作开关、远程控制单元等构成,并且由用户操作以输入和选择信息。显示单元例如由液晶显示器装置等构成,并且显示诸如地图和导引路径等与导航处理相关的各类信息。语音输出单元例如由扬声器等构成,并用语音输出诸如路径导引等与导航处理相关的各类信息。

[0045]在本实施例中,导航处理单元60包括:显示处理单元61、地图匹配处理单元62、路径搜索处理单元63和路径导引处理单元64。这些单元对应于用于执行作为导航处理的各种应用处理的应用处理单元。各个应用处理单元61至64典型地由计算处理设备和使得该计算处理设备执行计算处理的程序构成。这里,显示处理单元61使用显示单元执行这样的处理,即,显示与导航处理相关的各类信息,这些信息例如为地图显示、地图上对车辆位置的显示、以及导引路径显示。地图匹配处理单元62执行地图匹配处理,以将车辆位置检测单元检测到的车辆位置与地图上的道路相匹配。路径搜索处理单元63执行这样的处理,即,进行从出发点(例如车辆位置)到目的地点(通过诸如操作单元等输入)的导引路径搜索等。路径导引处理单元64执行这样的处理,根据直抵目的地点(该目的地点是由路径搜索处理单元63搜索到的)的适宜的路径,使用显示单元的导引显示和语音输出单元的语音导引,沿着此适宜的路径导引用户。应注意,由处理单元61至64执行的各种导航处理的具体内容是公知的,因此省略了具体描述。在本实施例中,由应用处理单元61至64分别执行的显示处理、地图匹配处理、路径搜索处理和路径导引处理对应于根据本发明的应用处理。在执行所述应用处理期间,应用处理单元61至64参照参考数据库70中的参考地图数据71。

此外,应用处理单元61至64在执行应用处理期间还使用存储器50。为此目的,如图4和图5所示,存储器50提供有导航处理区域53(这是用于由导航处理单元60执行的导航处理的存储器50的区域)。这里,根据导航处理单元60的各个应用处理单元61至64执行的应用处理,可将显示处理区域54、地图匹配处理区域55、路径搜索处理区域56和路径导引处理区域57设置为导航处理区域53。在本实施例中,根据应用处理单元61至64执行的应用处理的执行状态,存储器管理单元30(稍后描述)仅将对应于被执行的处理的区域设置为导航处理区域53。由此,将导航处理区域53的存储器容量设置为可变。

(参考数据库)

参考数据库70是存储参考地图数据71的数据库,所述参考地图数据71由应用处理单元61至64在使用地图数据执行上述应用处理期间参照。这里,参考地图数据71是具有适用于应用处理单元61至64参照的参考数据格式的地图数据。更具体地,参考地图数据71例如由应用处理单元61至64共同参考的共用地图数据、显示处理单元61和地图匹配处理单元62参考的显示/地图匹配地图数据、路径搜索处理单元63参考的路径搜索地图数据、以及路径导引处理单元64参考的路径导引地图数据构成。构成参考地图数据71的地图数据采用适用于被应用处理单元61至64(这些应用处理单元61至64参考各个地图数据)参照的数据格式。例如,该数据格式对应于其中将各种数据按照应用处理单元61至64处理各数据的相同顺序排列的数据格式。

通过划分对象(subject)地理区域而形成多个部分P,在所形成的多个部分P的每个部分中提供构成参考地图数据71的地图数据,类似于稍后描述(见图2)的更新地图数据81。此外,地图数据分别包括:道路网络数据,由分别与每个部分P中存在的多个岔路口(intersection)对应的多个节点N构成;以及多条链路L,对应于连接节点N的道路,类似于稍后描述的更新地图数据81。除了包括道路网络数据之外,参考地图数据71还包括呈现信息,所述呈现信息包括由显示处理单元61执行的显示处理中需要的各类信息,以及由路径导引处理单元64执行的路径导引处理中需要的各类导引信息等。这里,呈现信息例如包括如下信息:显示道路形状、建筑、河流等所需的背景信息,以及显示城市、城镇和乡村名称、道路名称等所需的字符信息等。导引信息包括由与岔路口相关的详细信息构成的岔路口信息等。

(本地存储数据库)

本地存储数据库80是存储在按照更新数据文件4更新期间使用的更新地图数据81的数据库。在本实施例中,本地存储数据库80对应于根据本发明的更新数据库。这里,更新地图数据81是具有适用于使用更新数据文件4更新的更新数据格式的地图数据。例如,所述更新数据格式对应于其中根据数据类型来排列构成地图数据的各类数据的数据格式。这些数据类型的实例包括:道路数据,这是涉及与道路对应的链路的各类数据;岔路口数据,这是涉及与岔路口对应的节点的各类数据;形状数据,这是涉及链路的各种形状的各类数据;以及连接数据,这是涉及连接至节点的链路的各类数据。

[0050]此外,如图2所示,通过划分对象地理区域而形成多个部分P,在所形成的多个部分P的每个部分中提供更新地图数据81。这里,所述多个部分P形成为尺寸相同的矩形。例如,在整个日本是目标(target)地理区域的情况下,本地存储数据库80将更新地图数据81存储在多个部分P的每个部分中,其中所述多个部分P是通过将包括整个日本的范围内的地图数据划分成m×n(m和n为自然数)块而形成的。此外,更新地图数据81分别包括由多个节点N和多条链路L构成的道路网络数据,其中多个节点N分别与每个部分P中存在的多个岔路口对应,多条链路L与连接节点N的道路对应。

这里,节点N对应于现有道路之间的岔路口,链路L对应于连接到岔路口的道路。每个节点N包括与用经度和纬度表示的地图上的位置(坐标)相关的信息。此外,节点N还包括与交通规则、红绿灯相关的信息,以此作为节点属性信息。每条链路L例如包括道路长度、道路类型、道路宽度、车道(lane)数、以及用于表示链路形状的形状交汇(interpolation)点的信息,以此作为链路属性信息。这里,道路类型是在将道路划分成诸如高速公路、国道、区道(prefectural road)、本地道路、市区小道和匝道(introductory road)等多种类型时使用的道路分类信息。应注意,在图2中,仅在多个部分P之一中示出道路网络数据,省略了其它多个部分P。在转换成参考地图数据71之后,更新地图数据81也包括呈现信息,所述呈现信息是由显示处理单元61执行的显示处理所需的各类信息、由路径导引处理单元64执行的路径导引处理所需的各类导引信息等。如上所述,呈现信息例如包括显示道路形状、建筑、河流等所需的背景信息,显示城市、城镇和乡村名称、道路名称等所需的字符信息等信息。此外,导引信息包括由涉及岔路口的详细信息构成的岔路口信息等。

(收发单元/记录介质再现单元)

根据本实施例的导航设备1包括收发单元91和记录介质再现单元92,作为用于接收更新数据文件4的单元。收发单元91与服务器设备5(例如无线基站)通过无线通信进行数据传输和接收,并且其构成为能够通过无线通信方式接收更新数据文件4。诸如便携式电话网络或无线LAN(局域网)等公知的通信网络可用作无线通信的方法。此外,记录介质再现单元92构成为能够再现记录介质8(例如光盘或磁盘),并能够读取在记录介质8上记录的更新数据文件4。如图1所示,例如,当用户从服务器设备5经由诸如因特网等通信网络6将更新数据文件4下载到诸如个人计算机等个人拥有的终端设备时,生成记录介质8,并将所下载的更新数据文件4记录在记录介质8上。

这里,所获得的更新数据文件4是将表示用于更新本地存储数据库80中存储的更新地图数据81的内容的各种数据聚集在一起的文件。更新数据文件4是差异数据文件,其例如表示实际上已经修改的道路或设施等修改内容,以作为使用本地存储数据库80中存储的更新地图数据81的内容作为参照而得出的差异。更新数据文件4包括与作为更新对象的一个或多个部分P的每个部分中的更新地图数据81对应的更新数据。进而,在本实施例中,将更新数据文件4分成与更新地图数据81相关的更新模式,这些更新模式例如为增加、修改和删除,并具有这样的数据格式,在该数据格式中根据数据类型来排列表示每个更新模式的更新内容的数据,类似于更新地图数据81。如上所述,数据类型的实例包括道路数据、岔路口数据、形状数据和连接数据。

(更新处理单元)

更新处理单元40是使用更新数据文件4对本地存储数据库80和参考数据库70进行更新处理的处理单元。在本实施例中,更新处理单元40包括:差异合成单元41、参考数据转换单元42和文件名-地址表43。首先,更新处理单元40使用差异合成单元41来按照更新数据文件4更新在本地存储数据库80中存储的更新地图数据81。接下来,更新处理单元40使用参考数据转换单元42来转换更新后的更新地图数据81,以生成更新后的参考地图数据71,并将更新后的参考地图数据71存储在参考数据库70中。结果是,本地存储数据库80和参考数据库70得以更新。在本实施例中,更新处理单元40对应于根据本发明的更新处理单元。

[0055]差异合成单元41是执行这样的处理的处理单元,所述处理使用由收发单元91或记录介质再现单元92获得的更新数据文件4来更新在本地存储数据库80中存储的更新地图数据81。如上所述,在每个部分P中提供更新地图数据81,以及同样在每个部分P中提供更新数据文件4中包含的更新数据。差异合成单元41从经过更新数据文件4中包含的更新数据更新的一个或多个部分P选择一个部分P,并将所选择的部分P设置为更新对象部分。然后,通过与这个部分P相关的更新数据来更新在更新对象部分中的更新地图数据81。当更新数据文件4包括与多个部分P相关的更新数据时,每当完成一个部分P中的更新地图数据81的更新后,通过依次修改更新对象部分以在每个部分P中执行更新处理。

此外,如上所述,更新数据文件4是参照在本地存储数据库80中存储的更新地图数据81而得的差异数据文件。因此,差异合成单元41通过差异合成而对更新地图数据81进行差异更新,在差异合成中,更新数据文件4中包含的每个部分P的更新差异数据与更新地图数据81进行合成。更具体地,差异合成单元41例如按照增加、修改和删除的更新模式执行更新处理,例如向更新地图数据81增加差异数据的内容,将更新地图数据81的内容修改为更新数据的内容,或从更新地图数据81删除由差异数据的内容指示的数据。然后,将更新后的更新地图数据81返回并存储在本地存储数据库80中。

参考数据转换单元42是用于执行将差异合成单元41更新后的更新地图数据81转换成参考地图数据71的处理的处理单元。如上所述,差异合成单元41更新在每个部分P中的更新地图数据81。因此,参考数据转换单元42将完成差异合成单元41的更新后的更新地图数据81依次设置为对象,并依次转换每个部分P中更新后的更新地图数据81以生成参考地图数据71。因此,可在设置为更新对象部分的每个部分P中连续地执行更新地图数据81的更新,并基于更新后的更新地图数据81生成更新后的参考地图数据71。

这里,参考数据转换单元42执行这样的处理,即,将更新数据格式下的更新地图数据81转换成参考数据格式下的参考地图数据71,其中该参考数据格式适用于由各个应用处理单元61至64来参照。如上所述,参考地图数据71由适用于各个应用处理单元61至64参照的多种地图数据构成,这些地图数据例如包括共用地图数据、显示/地图匹配地图数据、路径搜索地图数据和路径导引地图数据。因此,参考数据转换单元42执行这样的处理,即,通过对一条更新地图数据81进行转换来生成多个地图数据。将通过参考数据转换单元42生成的更新后的参考地图数据71存储在参考数据库70中。此时,从参考数据库70删除与更新后的参考地图数据71对应的之前的更新参考地图数据71。

因此,基于更新数据文件4更新在本地存储数据库80中存储的更新地图数据81以及在参考数据库70中存储的参考地图数据71。更新处理单元40在此更新处理期间从本地存储数据库80读取需要的数据,并且为了提高此时数据读取处理的速度,将存储器50中提供的高速缓存区域51用作高速缓存。更具体地,当高速缓存区域51中提供更新处理所需的数据时且在从存储器50的高速缓存区域51读取所述数据之后,或者,当高速缓存区域51中未提供所述数据时且在从本地存储数据库80读取所述数据之后,更新处理单元40执行更新处理。由稍后描述的文件读取单元20来执行读取更新处理单元40所需的数据的处理。在本实施例中,更新处理单元40通过向文件读取单元20通知更新处理所需的文件的地址来使得文件读取单元20读取该文件中的数据。

[0060]附带地,更新处理单元40的差异合成单元41和参考数据转换单元42使用文件名来处理在分别执行的处理(更新处理)中所需的文件。因此,更新处理单元40包括文件名-地址表43,用于通过文件名来指定更新处理所需的文件的地址。这里,文件地址是指示其中存储有该文件的本地存储数据库80的位置的信息(地址信息)。换句话说,文件名-地址表43是提供与本地存储数据库80中存储的所有文件相关的文件名和地址之间的关联的表。

更新处理单元40的差异合成单元41和参考数据转换单元42在分别执行的处理的执行期间使用存储器50。因此,如图4和图5所示,在存储器50中设置更新处理区域52,该更新处理区域52是在更新处理单元40执行的更新处理中使用的存储器50的区域。在本实施例中,使用存储器管理单元30,根据待要进行更新处理单元40的更新处理的更新地图数据81的内容将更新处理区域52的存储器容量设置为可变,稍后将对此加以描述。

(文件访问管理单元)

文件访问管理单元10是执行涉及从更新处理单元40到本地存储数据库80和存储器50的文件访问的管理的处理单元,所述管理例如为:当更新处理单元40读取更新处理中所需的数据时的读取处理,以及当存储器50用作读取处理期间的高速缓存时对存储器50的管理。在本实施例中,文件访问管理单元10包括文件读取单元20和存储器管理单元30。文件访问管理单元10的组配是本发明的特征部分。因此,稍后详细描述文件读取单元20和存储器管理单元30(由二者组成文件访问管理单元10)的组配。

(文件读取单元)

文件读取单元20是执行这样的处理的处理单元,所述处理涉及当更新处理单元40读取在更新处理中所需的数据时执行的读取。在本实施例中,文件读取单元20包括读取处理单元21、高速缓存存储单元22和高速缓存管理单元23,该文件读取单元2用作负责涉及此读取的处理的功能单元。如稍后所述,将在数据读取期间使用的高速缓存设置为存储器50的高速缓存区域51。除了包括高速缓存区域51之外,存储器50还包括由更新处理单元40使用的更新处理区域52、以及由导航处理单元60使用的导航处理区域53。

读取处理单元21是执行读取处理的处理单元,在所述读取处理中,从存储器50或本地存储数据库80中提供的高速缓存区域51读取构成由更新处理单元40指定的更新处理所需的文件的数据。读取处理单元21执行这样的处理,即,当在高速缓存区域51中提供构成更新处理所需的文件的数据时,从存储器50的高速缓存区域51读取该数据;以及当高速缓存区域51中未提供数据时,从本地存储数据库80读取该数据。更具体地,首先,读取处理单元21搜索高速缓存区域51,以确定构成更新处理所需的文件的数据是否存在,当这样的数据存在时,读取处理单元21从高速缓存区域51读取数据。另一方面,当构成更新处理所需的文件的数据未存在于高速缓存区域51中时,从本地存储数据库80读取数据。

[0065]此时,更新处理单元40通过文件的地址来指定更新处理所需的文件。由此,读取处理单元21基于文件地址执行处理,以从高速缓存区域51或本地存储数据库80搜索构成文件的数据并读取所述数据。附带地,从更新处理单元40提供至读取处理单元21的文件的地址指示其中存储有文件的本地存储数据库80的位置。因此,文件读取单元20可基于所述地址直接从本地存储数据库80读取所指定的文件。然而,很难搜索高速缓存区域51以确定其中是否存储有构成指定文件的数据,或直接基于地址从高速缓存区域51读取数据。因此,当搜索高速缓存区域51和从高速缓存区域51读取数据时,读取处理单元21使用高速缓存管理单元23中的管理信息。高速缓存管理单元23包括管理信息,其用于与包含本地存储数据库80中的数据的文件地址相关联地管理高速缓存区域51中存储的数据。在本实施例中,高速缓存管理单元23对应于根据本发明的高速缓存管理单元。

图3是示出高速缓存管理单元23的组配的模式图。如附图所示,将存储器50的高速缓存区域51分成多个单元(cell),每个单元用作具有预定单位数据容量(例如64[千字节]、128[千字节]等)的数据存储区域。在附图所示的实例中,将高速缓存区域51分成n个单元。如下文所述,高速缓存区域51的存储器容量是可变的,因此可以根据高速缓存区域51的存储器容量可变地设置具有单位数据容量的单元的数目。高速缓存管理单元23包括与高速缓存区域51的每个单元相关联地指示每个单元中存储的数据地址的信息,以此来作为管理信息。更具体地,如附图所示,高速缓存管理单元23包括与文件的地址ad001至ad003相关联地管理高速缓存区域51的每个单元中的数据的管理信息,其中所述文件包含数据和针对每个地址的偏移of001至of006。

这里,地址ad001至ad003是指示包含本地存储数据库80内的每个单元中的数据的文件的地址的信息。更具体地,地址ad001至ad003是指示构成文件(其包含所述数据)的所有数据的开始位置在本地存储数据库80内的存储位置的信息。此外,偏移of001至of006是指示每个单元中的数据针对地址ad001至ad003的偏移量的信息。偏移of001至of006是当将构成每个文件的数据进行分段并将其存储在高速缓存区域51的每个单元中时提供的信息,以及表示在文件内的数据针对地址ad001至ad003表示的文件开始位置的位置偏移。通过包含指示偏移of001至of006的信息,即使在对构成一个文件的全部或部分数据进行分段并将其分开存储在高速缓存区域51中时,高速缓存管理单元23也能够与包含所述数据的文件的地址相关联地管理每个单元中的数据。这里,可将偏移of001至of006作为指示针对地址ad001至ad003的偏移量的信息,以作为数据长度(例如64[千字节]、128[千字节])。

返回图1,高速缓存存储单元22是执行处理以在高速缓存区域51中存储由读取处理单元21读取的数据的处理单元。在本实施例中,高速缓存存储单元22执行这样的处理,即,在高速缓存区域51中重新存储由读取处理单元21从本地存储数据库80读取的数据。换句话说,当通过读取处理单元21从高速缓存区域51读取数据时,高速缓存存储单元22不执行在高速缓存区域51中存储这些数据的处理。如图3所示,在将数据分成与每个单元对应的单位数据量之后,高速缓存存储单元22在高速缓存区域51的每个单元中存储由读取处理单元21读取的数据。此时,高速缓存存储单元22还执行这样的处理,即,从高速缓存区域51删除数据量与新存储的数据的数据量对应的早先数据。这里,高速缓存存储单元22执行这样的处理,即,按存储顺序删除在高速缓存区域51中存储的数据中最早的数据。为了实现这个组配,高速缓存区域51优选具有诸如FIFO(先入先出)等存储器结构。可选地,可将指示存储时间的数据附连至高速缓存区域51的每个单元中的数据,以按顺序删除具有最早存储时间的数据。在本实施例中,高速缓存存储单元22对应于根据本发明的高速缓存存储单元。

此外,在本实施例中,高速缓存存储单元22执行高速缓存数据保障处理,以避免在更新之后的本地存储数据库80中存储的更新地图数据81与高速缓存区域51中存储的数据(对应于更新后的更新地图数据81的文件)之间的内容不匹配,这种不匹配可能会作为由更新处理单元40的差异合成单元41对更新地图数据81进行的更新处理的结果而发生。在这个高速缓存数据保障处理中,当检测到构成由差异合成单元41更新的更新地图数据81的文件已经被写入本地存储数据库80,并且具有与已写入文件的地址相同的地址(即同一文件)的数据存在于高速缓存区域51中时,从高速缓存区域51删除所述数据。通过执行此高速缓存数据保障处理,就能避免这样的情形:读取处理单元21打算读取的是构成更新后的更新地图数据81的文件中的数据,但却错误地从高速缓存区域51读取了对应于早先的、之前更新的更新地图数据81的文件中的数据。

[0070]如上所述,通过使得读取处理单元21将存储器50的高速缓存区域51用作高速缓存,可以从高速缓存区域51读取多次读取的数据,而非从本地存储数据库80读取这些数据。因此,读取处理可执行得比所有数据直接从本地存储数据库80读取的情况要更快。在本实施例中,当通过参考数据转换单元42将更新后的更新地图数据81转换成参考地图数据71时,发生多次读取相同数据的情形会特别频繁。下面是其原因的实例。参考数据转换单元42基于一条更新地图数据81而将多种类型的地图数据(例如共用地图数据、显示/地图匹配地图数据、路径搜索地图数据等)转换成参考地图数据71,因此会多次读取同一更新地图数据81的内容。此外,在每个部分P中的参考地图数据71包括涉及相邻部分P的信息,以便于在部分P之间的边界附近进行显示、搜索、导引等,因此会多次读取同一更新地图数据81的内容以获得涉及相邻部分P的信息。因此,在根据本实施例的导航设备1中,特别是当读取由参考数据转换单元42指定的文件中的数据时,使用高速缓存区域51可实现处理速度的提高。

(存储器管理单元)

返回图1,当更新处理单元40执行更新处理且导航处理单元60执行各个应用处理时使用存储器管理单元30,在文件读取单元20的数据读取处理期间存储器管理单元30还管理用作高速缓存的存储器50。在本实施例中,存储器管理单元30包括:处理存储器容量确定单元31、导航存储器容量确定单元32、高速缓存容量确定单元33和存储器区域确定单元34。这里,处理存储器容量确定单元31对应于根据本发明的处理存储器容量确定单元,导航存储器容量确定单元32对应于根据本发明的导航存储器容量确定单元,以及高速缓存容量确定单元33对应于根据本发明的高速缓存容量确定单元。

图4A、图4B、图5A和图5B是示出在用作存储器管理单元30的管理对象的存储器50内部设置的区域的特定实例的视图。如附图所示,在存储器50中设置在文件读取单元20的数据读取处理期间用作高速缓存的高速缓存区域51、在更新处理单元40的更新处理期间使用的更新处理区域52、以及在导航处理单元60的导航处理期间使用的导航处理区域53。在如附图所示的实例中,可将全部或部分显示处理区域54、地图匹配处理区域55、路径搜索处理区域56和路径导引处理区域57设置为导航处理区域53。

处理存储器容量确定单元31是执行这样的处理的处理单元,所述处理基于用作更新处理单元40的更新处理对象的更新地图数据81的内容来确定处理存储器容量(即,更新处理区域52所需的存储器容量)。在本实施例中,处理存储器容量确定单元31基于在用作更新处理对象的更新对象部分中的更新地图数据81中包含的道路数目和岔路口数目确定处理存储器容量。如上所述,在本地存储数据库80中存储的更新地图数据81包括道路网络数据,其由多个节点N(分别对应于在更新地图数据81的对象部分P中存在的多个岔路口)和多条链路L(对应于与节点N连接的道路)构成(见图2)。因此,处理存储器容量确定单元31使用链路的数目(即,在更新地图数据81中包含的链路L的数目)来表示更新对象部分中的道路数目,并使用节点的数目(即,在更新地图数据81中包含的节点N的数目)来表示更新对象部分中的岔路口数目。换句话说,根据本实施例的处理存储器容量确定单元31基于在更新对象部分中的更新地图数据81中包含的链路数目和节点数目来确定处理存储器容量。

更具体地,处理存储器容量确定单元31根据下列等式(1)确定处理存储器容量。

(处理存储器容量)=(链路数目)×D1+(节点数目)×D2+C  (1)

在这个等式中,D1是每条链路所需的更新处理区域52的存储器容量,D2是每个节点所需的更新处理区域52的存储器容量。此外,C是表示更新处理区域52的所需存储器容量的固定值,而不管链路数目和节点数目如何。这里,可基于在对具有各个链路数目和节点数目的更新地图数据81进行更新处理期间所需的处理存储器容量,通过实验来确定D1、D2和C的值。

[0075]因此,对于具有较多链路数目(道路数目)、较多节点数目(岔路口数目)以及高道路密度的部分P,当对该部分P中的更新地图数据81(例如与城市对应的部分P的更新地图数据81)进行更新处理时,处理存储器容量确定单元31将处理存储器容量设置为较大值。在这种情况下,如图4A所示,存储器区域确定单元34将存储器50中的更新处理区域52设置得相对较大。另一方面,对于具有较少链路数目(道路数目)、较少节点数目(岔路口数目)以及低道路密度的部分P,当对该部分P中的更新地图数据81(例如与城市之外的区域对应的部分P的更新地图数据81)进行更新处理时,处理存储器容量确定单元31将处理存储器容量设置为较小值。在这种情况下,如图4B所示,存储器区域确定单元34将存储器50中的更新处理区域52设置得相对较小。

此外,当完成了对一个更新对象部分的更新地图数据81的更新处理并将更新处理对象转至下一更新对象部分中的更新地图数据81时,处理存储器容量确定单元31基于下一更新对象部分中的更新地图数据81的链路数目(道路数目)和节点数目(岔路口数目)重新确定处理存储器容量。因此,可根据更新对象部分中的更新地图数据81在每个时间点的内容适当地确定处理存储器容量。由此,根据更新对象部分中的更新地图数据81在每个时间点的内容,由存储器区域确定单元34在存储器50中将更新处理区域52可变地设置成适当尺寸。

导航存储器容量确定单元32是执行这样的处理的处理单元,所述处理基于导航处理单元60执行的处理(作为导航处理)的内容确定导航存储器容量(即,导航处理区域53所需的存储器50的容量)。在本实施例中,导航存储器容量确定单元32基于进行中的应用处理(作为导航处理)的类型确定导航存储器容量。如上所述,导航处理单元60包括:显示处理单元61、地图匹配处理单元62、路径搜索处理单元63和路径导引处理单元64,并且由处理单元61至64分别执行的显示处理、地图匹配处理、路径搜索处理和路径导引处理用作应用处理。因此,导航存储器容量确定单元32确定执行涉及每个应用处理的应用处理所需的存储器50的容量。更具体地,导航存储器容量确定单元32分别确定显示处理所需的显示处理存储器容量、地图匹配处理所需的地图匹配处理存储器容量、路径搜索处理所需的路径搜索处理存储器容量、以及路径导引处理所需的路径导引处理存储器容量。然后,导航存储器容量确定单元32获得与每个应用处理的执行状态相关的信息,并基于进行中的应用处理所需的总的存储器容量确定导航存储器容量。

具体地,导航存储器容量确定单元32预先将显示处理存储器容量、地图匹配处理存储器容量、路径搜索处理存储器容量和路径导引处理存储器容量设置为固定值。然后,导航存储器容量确定单元32确定总的存储器容量以作为导航存储器容量,其中该总的存储器容量通过将涉及正在进行中的所有应用处理的存储器容量累加在一起而获得。换句话说,不会将涉及不在进行中的应用处理的存储器容量加入到导航存储器容量。这里,可基于每个应用处理的典型操作状态,通过实验确定所有预先被设置成固定值的显示处理存储器容量、地图匹配处理存储器容量、路径搜索处理存储器容量和路径导引处理存储器容量的值。

因此,当正在进行中的应用处理的数目较多且正在进行中的应用处理所需的存储器容量较大时,导航存储器容量确定单元32将导航存储器容量设置为较大值。在这种情况下,如图5A所示,例如,存储器区域确定单元34将存储器50的导航处理区域53设置得相对较大。另一方面,当正在进行中的应用处理数目较少且正在进行中的应用处理所需的存储器容量较小时,导航存储器容量确定单元32将导航存储器容量设置为较小值。在这种情况下,如图5B所示,例如,存储器区域确定单元34将存储器50的导航处理区域53设置得相对较小。这里,图5A示出在所有应用处理(即,显示处理、地图匹配处理、路径搜索处理和路径导引处理)都在进行中的情况下在存储器50中设置的区域的实例。在此实例中,将显示处理区域54、地图匹配处理区域55、路径搜索处理区域56和路径导引处理区域57都设置为导航处理区域53,从而导航处理区域53被设置成最大容量。另一方面,图5B示出在仅有部分应用处理(具体为显示处理和地图匹配处理)正在进行中的情况下在存储器50中设置的区域的实例。在此实例中,仅将显示处理区域54和地图匹配处理区域55设置为导航处理区域53,因此将导航处理区域53设置得相对较小。应注意,图5A对应于导引路线被设置的状态,同时图5B对应于导引路线未被设置而仅在地图上显示车辆位置的状态。

[0080]此外,当开始或完成每个应用处理的执行时,导航存储器容量确定单元32重新确定导航存储器容量。更具体地,当重新开始多个应用处理之一的执行或完成正在进行的应用处理的执行时,考虑到对应的应用处理的开始或完成,导航存储器容量确定单元32确定新的导航存储器容量。因此,可根据各个应用处理的执行状态而在每个时间点适当地确定导航存储器容量。因此,可根据各个应用处理的执行状态,由存储器区域确定单元34在每个时间点在存储器50中将导航处理区域53可变地设置成适当尺寸。

高速缓存容量确定单元33是执行这样的处理的处理单元,所述处理基于处理存储器容量确定单元31确定的处理存储器容量和导航存储器容量确定单元32确定的导航存储器容量来确定高速缓存容量(即,分配给高速缓存区域51的存储器50的容量)。在本实施例中,高速缓存容量确定单元33将剩余存储器容量设置为高速缓存容量,所述剩余存储器容量是基于从存储器50的总容量减去处理存储器容量和导航存储器容量而得到的容量确定的。由此,当处理存储器容量和导航存储器容量的总和增大时,高速缓存容量确定单元33将高速缓存容量设置得稳步减小,而当处理存储器容量和导航存储器容量的总和减小时,将高速缓存容量设置得稳步增大。

然后,存储器区域确定单元34根据高速缓存容量(即,在设置与处理存储器容量对应的更新处理区域52和与导航存储器容量对应的导航处理区域53之后的剩余存储器容量)来确定存储器50的高速缓存区域51。由此,当更新处理区域52和导航处理区域53的总和增大时,存储器区域确定单元34将高速缓存区域51设置得稳步减小,而当更新处理区域52和导航处理区域53的总和减小时,将高速缓存区域51设置得稳步增大。附带地,当高速缓存区域51的尺寸未被设置为可变时,与本实施例相反,必须基于更新处理单元40的更新处理所需的最大存储器容量来设置更新处理区域52,以及必须基于导航处理单元60的导航处理所需的最大存储器容量来设置导航处理区域53。在这种情况下,高速缓存区域51的存储器容量就被固定为最小容量,从而难以实现更新处理速度的提高。然而,根据本实施例的组配,在保障更新处理所需的存储器容量和执行导航处理所需的存储器容量之后,高速缓存区域51的存储器容量能够被适当地保障到最大限度,因此可实现更新处理速度的提高。

(地图更新处理)

接下来,将基于图6所示的流程图来描述由更新处理单元40执行的地图更新处理的过程。如果获得了更新数据文件4(步骤#01:是),则更新处理单元40启动更新处理(步骤#02)。当更新处理开始时,更新处理标志切换为ON,从而能够识别出其它处理单元(例如存储器管理单元30)也开始了更新处理。接下来,差异合成单元41确定更新对象部分(步骤#03)。通过从一个或多个部分P(在这些部分P待要更新包含于更新数据文件4中的更新数据)选择一个部分P来确定更新对象部分。接下来,差异合成单元41通过用所获得的更新数据文件4中包含的更新数据来合成差异,从而更新在更新对象部分中的更新地图数据81(步骤#04)。此时,差异合成单元41向文件读取单元20通知在读取文件之后构成更新对象的更新地图数据81的文件的地址。由此,文件读取单元20执行稍后描述的文件读取处理,以从存储器50的高速缓存区域51或本地存储数据库80读取具有指定地址的数据。然后,差异合成单元41将更新后的更新地图数据81存储在本地存储数据库80中(步骤#05)。因此,更新本地存储数据库80。

接下来,参考数据转换单元42从本地存储数据库80读取更新后的更新地图数据81,并将所读取的更新地图数据81转换成参考地图数据71,以生成更新后的参考地图数据71(步骤#06)。此时,参考数据转换单元42向文件读取单元20通知在读取文件之后构成经过转换处理的更新后的更新地图数据81的文件的地址。由此,文件读取单元20执行稍后描述的文件读取处理,以从存储器50的高速缓存区域51或本地存储数据库80读取具有指定地址的数据。然后,参考数据转换单元42将更新后的参考地图数据71存储在参考数据库70中。因此而更新参考数据库70。接下来,更新处理单元40确定是否已经完成了对与所获得的更新数据文件4有关的所有部分P的更新处理(步骤#08)。当尚未完成对所有部分P的更新处理时(步骤#08:否),处理返回至步骤#03,在该步骤#03中差异合成单元41确定下一个新的更新对象部分。然后,进行与上述类似的处理来更新与新的更新对象部分有关的更新地图数据81和参考地图数据71(步骤#04至步骤#07)。另一方面,当完成了对与所获得的更新数据文件4有关的所有部分P的更新处理时(步骤#08:是),更新处理单元40终止更新处理(步骤#09)。当更新处理终止时,更新处理标志切换为OFF,从而能够识别出诸如存储器管理单元30等其它处理单元也终止了更新处理。然后,终止地图更新处理过程。

(文件读取处理)

[0085]接下来,将基于图7中所示的流程图来描述由文件读取单元20执行的文件读取处理的过程。如果由更新处理单元40通知了读取对象文件的地址(步骤#11:是),则读取处理单元21首先在高速缓存管理单元23搜索指定地址处的数据(步骤#12)。高速缓存管理单元23存储管理信息,所述管理信息用于与包含数据的文件的本地存储数据库80中的地址相关联地管理存储器50的高速缓存区域51中存储的数据。因此,当在高速缓存管理单元23中找到指定地址处的数据时,可确定在高速缓存区域51中存储了指定文件中的数据的至少一部分。因此,当在高速缓存管理单元23中找到指定地址处的数据时(步骤#13:是),读取处理单元21从存储器50的高速缓存区域51读取在指定地址处的数据(步骤#14)。

另一方面,当在高速缓存管理单元23中不存在指定地址处的数据时(步骤#13:否),读取处理单元21从本地存储数据库80读取在指定地址处的数据(步骤#15)。然后,高速缓存存储单元22从高速缓存区域51删除早先的数据,并且将步骤#15中新读取的数据存储在高速缓存区域51中(步骤#16)。此时,高速缓存存储单元22针对具有最早存储时间的数据依次删除早先的数据,所删除的数据量对应于新存储数据的数据量。然后,终止文件读取处理过程。

(高速缓存数据保障处理)

接下来,将基于图8中所示的流程图来描述由高速缓存存储单元22执行的高速缓存数据保障处理的过程。高速缓存存储单元22确定在图6的步骤#05中由差异合成单元41更新的更新地图数据81是否已写入本地存储数据库80(步骤#21)。当更新后的数据已被写入时(步骤#21:是),高速缓存存储单元22在高速缓存管理单元23中搜索具有与构成所写入的数据的文件地址相同的数据(步骤#22)。当在高速缓存管理单元23中找到具有与构成所写入至本地存储数据库80的更新后的更新地图数据81的文件地址相同的数据时,可确定与更新后的数据对应的早先的、之前更新的数据是存储在高速缓存区域51中的。因此,当在高速缓存管理单元23中找到具有相同地址的数据时(步骤#23:是),高速缓存存储单元22从高速缓存区域51删除在高速缓存区域51中具有相同地址的对应数据(步骤#24)。因此,可避免在本地存储数据库80中存储的更新后的更新地图数据81(作为对更新地图数据81进行的更新处理的结果)和在高速缓存区域51中存储的数据之间的不匹配。

(存储器管理处理)

接下来,将基于图9所示的流程图来描述由存储器管理单元30执行的存储器管理处理的过程。首先,存储器管理单元30确定更新处理是否已经开始(步骤#31)。如上所述,在图6的步骤#02中基于更新处理标志是否切换为ON来作出这个确定。当更新处理已经开始时(步骤#31:是),高速缓存容量确定单元33获得由处理存储器容量确定单元31确定的处理存储器容量(步骤#32)。稍后将基于图10所示的流程图详细描述由处理存储器容量确定单元31执行的处理存储器容量确定处理。此外,高速缓存容量确定单元33获得由导航存储器容量确定单元32确定的导航存储器容量(步骤#33)。稍后将基于图11所示的流程图详细描述由导航存储器容量确定单元32执行的导航存储器容量确定处理。接下来,高速缓存容量确定单元33基于在步骤#32获得的处理存储器容量和在步骤#33获得的导航存储器容量来确定高速缓存容量(步骤#34)。结果,确定了处理存储器容量、导航存储器容量和高速缓存容量,因此存储器区域确定单元34根据处理存储器容量、导航存储器容量和高速缓存容量而在存储器50中分别设置更新处理区域52、导航处理区域53和高速缓存区域51(步骤#35)。

如稍后将参照图10和图11所示的流程图所述,每次确定新的更新对象部分时,处理存储器容量确定单元31确定新的处理存储器容量,以及每次开始或结束多个应用处理之一的执行时,导航存储器容量确定单元32确定新的导航存储器容量。因此,当以这样的方式来修改处理存储器容量或导航存储器容量时,高速缓存容量确定单元33根据此修改而重新确定高速缓存容量。结果,可根据在每个时间点所需的处理存储器容量和导航存储器容量适当地修改高速缓存容量,并且可在每个时间点在高速缓存区域51中设置可保障的最大高速缓存容量。

[0090]因此,高速缓存容量确定单元33确定是否已经重新确定了处理存储器容量(步骤#36)。当已经重新确定了处理存储器容量时(步骤#36:是),高速缓存容量确定单元33获得新的处理存储器容量(步骤#37)。然后,处理返回至步骤#34,在该步骤#34中高速缓存容量确定单元33基于新的处理存储器容量确定新的高速缓存容量。此外,当还没有重新确定处理存储器容量时(步骤#36:否),高速缓存容量确定单元33确定是否已经重新确定了导航存储器容量(步骤#38)。当已经重新确定了导航存储器容量时(步骤#38:是),高速缓存容量确定单元33获得新的导航存储器容量(步骤#39)。然后,处理返回至步骤#34,在该步骤#34中高速缓存容量确定单元33基于新的导航存储器容量确定新的高速缓存容量。应注意,当新确定的高速缓存容量不同于先前的高速缓存容量时,存储器区域确定单元34优选执行这样的处理,即,将高速缓存区域51的存储器容量附连至每个确定的单位存储器容量,或从每个确定的单位存储器容量移除高速缓存区域51的存储器容量。

当尚未重新确定处理存储器容量和导航存储器容量时(步骤#38:否),存储器管理单元30确定更新处理是否完成(步骤#40)。如上所述,在图6的步骤#09中基于更新处理标志是否已切换为OFF来作出这个确定。当更新处理未完成时(步骤#40:否),处理返回至步骤#36。当更新处理完成时(步骤#40:是),存储器管理处理过程终止。

(处理存储器容量确定处理)

接下来,将基于图10所示的流程图来描述由处理存储器容量确定单元31执行的处理存储器容量确定处理的过程。首先,处理存储器容量确定单元31确定更新对象部分是否已被确定(步骤#51)。如上所述,在图6的步骤#03中基于更新对象部分是否已被确定来作出这个确定。当更新对象部分已经被确定时(步骤#51:是),处理存储器容量确定单元31从所确定的更新对象部分中的更新地图数据81获得链路数目和节点数目(步骤#52)。然后,处理存储器容量确定单元31基于在步骤#52中获得的链路数目和节点数目确定处理存储器容量(步骤#53)。因此,每次确定更新对象部分时,处理存储器容量确定单元31确定与更新对象部分中的更新地图数据81对应的处理存储器容量。由此,在每个时间点,可根据待要进行更新处理的更新地图数据81适当地设置处理存储器容量。

(导航存储器容量确定处理)

接下来,将基于图11所示的流程图来描述由导航存储器容量确定单元32执行的导航存储器容量确定处理的过程。首先,导航存储器容量确定单元32确定是否已经开始或结束了多个应用处理之一的执行(步骤#61)。通过使得导航存储器容量确定单元32监测由导航处理单元60的显示处理单元61、地图匹配处理单元62、路径搜索处理单元63和路径导引处理单元64执行的各个应用处理的执行状态来进行这一确定。当已经开始或结束多个应用处理之一的执行时(步骤#61:是),导航存储器容量确定单元32获得当前正在进行中的应用处理的类型(步骤#62)。然后,导航存储器容量确定单元32基于在步骤#62获得的正在进行中的应用处理的类型来确定导航存储器容量(步骤#63)。因此,每次开始或结束了多个应用处理之一时,导航存储器容量确定单元32确定与当前正在进行中的应用处理的类型对应的导航存储器容量。由此,可在每个时间点根据正在进行中的应用处理的类型适当地设置导航存储器容量。

(其它实施例)

(1)在以上实施例中,描述了下述情况的实例:其中,处理存储器容量确定单元31基于待要进行更新处理的更新地图数据81中包含的道路数目(链路数目)和岔路口数目(节点数目)这两者来确定处理存储器容量。然而,本发明不限于本实施例。在本发明的另一优选实施例中,处理存储器容量确定单元31还可基于待要进行更新处理的更新地图数据81中包含的道路数目和岔路口数目中任一个,或链路数目和节点数目中任一个,来确定处理存储器容量。在这种情况下,通过从等式(1)删除与链路数目或节点数目相关的项以及适当地设置系数D1或D2的值,可按与上述实施例类似的方式设置处理存储器容量。

[0095](2)在本发明的另一优选实施例中,处理存储器容量确定单元31还可基于更新地图数据81的内容而不是根据道路数目(链路数目)和岔路口数目(节点数目)来确定处理存储器容量。更新地图数据81的此内容的实例包括待要进行更新处理的更新地图数据81(即,在更新对象部分中的更新地图数据81)的数据量。在这种情况下,例如,处理存储器容量确定单元31优选将处理存储器容量确定为与更新地图数据81的数据量相当。

(3)在上述实施例中,描述了下述情况的实例:其中,导航存储器容量确定单元32基于进行中的应用处理的类型确定导航存储器容量。然而,本发明不限于本实施例。在另一优选实施例中,导航存储器容量确定单元32还可基于进行中的应用处理的数目或进行中的应用处理的类型和数目这两者来确定导航存储器容量。当基于进行中的应用处理的数目确定导航存储器容量时,导航存储器容量确定单元32例如可根据进行中的应用处理的数目将预定存储器容量设置为导航存储器容量。

(4)在本发明的另一优选实施例中,导航存储器容量确定单元32基于作为导航处理而执行的处理内容而不是根据进行中的应用处理的类型和数目来确定导航存储器容量。作为导航处理而执行的处理内容的实例例如包括通过所有进行中的应用处理等从参考数据库70读取的参考地图数据71的数据量等等。在这种情况下,导航存储器容量确定单元32优选将导航存储器容量确定为与所读取的参考地图数据71的数据量相当。

(5)在以上实施例中,描述了下述情况的实例:其中,用作地图更新系统的导航设备1包括处理存储器容量确定单元31和导航存储器容量确定单元32这两者,并且高速缓存容量确定单元33基于处理存储器容量和导航存储器容量这两者来确定高速缓存容量。然而,本发明不限于本实施例。在本发明的另一优选实施例中,例如,当由导航处理单元60使用的存储器与用于更新处理等的存储器50分开提供时,地图更新系统不需要包括导航存储器容量确定单元32,并且高速缓存容量确定单元33可基于由处理存储器容量确定单元31确定的处理存储器容量确定高速缓存容量。在这种情况下,高速缓存容量确定单元33优选将剩余存储器容量设置为高速缓存容量,其中所述剩余存储器容量是基于从存储器50的总容量减去处理存储器容量而得到的容量确定的。

(6)在本发明的另一优选实施例中,例如,当更新处理区域所需的处理存储器容量没有根据待要进行更新处理等的地图数据的内容而显著改变时,地图更新系统不需要包括处理存储器容量确定单元31,并且高速缓存容量确定单元33可基于由导航存储器容量确定单元32确定的导航存储器容量来确定高速缓存容量。在这种情况下,高速缓存容量确定单元33优选将剩余存储器容量设置为高速缓存容量,其中所述剩余存储器容量是基于从存储器50的总容量减去导航存储器容量而得到的容量确定的。此时,优选地,也可通过从存储器50的总容量减去具有固定值的处理存储器容量来确定剩余存储器容量。

[0100](7)在以上实施例中,描述了下述情况的实例:其中,更新处理单元40使得更新地图数据81和参考地图数据71在部分P的单元中连续进行更新处理。然而,本发明不限于本实施例,除了该部分P之外的单元也可用作待要进行更新处理的地图数据的单元。因此,在本发明的另一优选实施例中,还可以在地图数据的另一可划分的单元(例如层或数据类型)中执行更新处理。

(8)在以上实施例中,描述了下述情况的实例:其中,当在高速缓存区域51中存储新的数据时,高速缓存存储单元22按照时限顺序(order ofage)删除之前存储的数据。然而,本发明不限于本实施例。在本发明的另一优选实施例中,例如,还可以排除对于近来刚读取的先前存储的数据的删除,或者可按最近读取时间最早的顺序删除数据。

(9)在以上实施例中,描述了下述情况的实例:其中,用作地图更新系统的导航设备1包括:本地存储数据库80,其存储由更新数据更新的更新地图数据81;以及参考数据库70,其存储由导航处理单元60参考的参考地图数据71。然而,本发明不限于本实施例。在本发明的另一优选实施例中,例如,地图更新系统包括用于存储地图数据的单个地图数据库,并且通过更新数据来更新在该单个地图数据库中存储的地图数据。

(10)在以上实施例中,描述了下述情况的实例:其中,根据本发明的地图更新系统应用于用作车载终端设备的导航设备1。然而,本发明不限于本实施例,并且根据本发明的地图更新系统还可应用于并非安装在车辆中的导航设备,或者应用于与导航设备不同的地图数据库更新系统。

工业实用性

本发明可顺利应用于地图更新系统中和应用于执行这种地图数据库更新处理的地图更新程序中,其中该地图更新系统包括存储地图数据的地图数据库,并在接收到更新数据时对地图数据库进行更新处理。

去获取专利,查看全文>

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号