专利名称:数据访问方法及数据访问装置的制作方法
技术领域:
本发明涉及一种对数据库进行访问以获得所希望的数据的数据访问方法及数据访问装置。
背景技术:
例如,在专利文献I中,揭示了一种服务功能提供装置,该服务功能提供装置用表格来对执行服务功能的服务功能部的地址、以及服务功能执行部的指示器进行管理,当调出数据访问或者特定的服务功能时,参照该表格来获取指示器所对应的地址,基于该地址来启动服务功能执行部,以执行服务功能。该装置能通过参照上述的表格,从而从共有的库中用条目名称来直接调出与母程序相关联的功能。但是,在专利文献I中并没有提及对实际数据进行访问的数据访问程序与上述地址和指示器的管理数据之间的关系。一般,在变更数据规格情况下,数据访问程序必须随之修改,即使仅对表示数据保存位置的地址或者偏移量的变更进行管理,但如果数据访问程序不相对应,则也不能进行有效的数据访问。特别是导航装置所使用的地图数据一般容量长度可变,数据量多,更新也较频繁,而且,数据格式本身也多发生变更。在这种情况下,每次数据规格发生变更时,都需要变更后的数据规格下的数据地址或者偏移量、以及基于所述数据地址或者偏移量来对实际数据进行访问的数据访问程序。本发明是为了解决上述问题而完成的,其目的在于获得一种能够有效且高速地对保存在数据组中的所希望的数据进行访问的数据访问方法及数据访问装置。现有技术文献专利文献专利文献I :日本专利第3022837号公报
发明内容
在本发明所涉及的数据访问方法中,信息处理装置参照数据管理数据来确定实际数据的保存位置,执行数据访问程序,以对数据组的实际数据进行访问,所述信息处理装置包括数据管理数据,该数据管理数据基于表示数据组的数据结构的数据定义信息,来规定该数据组中的实际数据的保存位置,所述数据组保存有实际数据;以及数据访问程序,该数据访问程序表述对基于数据定义信息来确定数据组中的数据结构的实际数据进行访问的功能。根据本发明,由于信息处理装置参照数据管理数据来确定实际数据的保存位置,执行数据访问程序,以对数据组的实际数据进行访问,所述信息处理装置包括数据管理数据,该数据管理数据基于表示数据组的数据结构的数据定义信息,来规定该数据组中的实际数据的保存位置,所述数据组保存有实际数据;以及数据访问程序,该数据访问程序表述对基于数据定义信息来确定数据组中的数据结构的实际数据进行访问的功能,因此,能够达到有效且高速地对保存在数据组中的所希望的数据进行访问的效果。
图I是表示本发明的实施方式I的数据访问装置的结构的框图。图2是表示应用了本发明的数据访问装置的信息处理装置的硬件结构的框图。图3是表示构成数据库等的数据集合体的概要的图。图4是表示实施方式I的数据访问装置的动作流程的流程图。图5是表示数据定义信息的一个例子的图。
图6是表示根据图5的数据定义信息来确定各数据的结构的数据集合体的概要的图。图7是表示数据管理数据生成部的数据管理数据的生成处理的流程的流程图。图8是表示数据集合体的实际数据结构的一个例子的图。图9是表示数据集合体的实际数据结构的其它表现例的图。图10是表示数据集合体的实际数据结构的其它表现例的图。图11是表示数据管理数据的一个例子的图。图12是表示执行A功能时所必要的数据项目的图。图13是表示数据管理数据输出定义信息的一个例子的图。图14是表示数据管理数据的一个例子的图。图15表示对每种功能所生成的数据管理数据的利用方式的概要的图。图16是表示数据访问程序的一个例子的图。图17是表示数据访问程序输出定义信息的一个例子的图。图18表示对每种功能所生成的数据管理数据以及数据访问程序的利用方式的概要的图。图19是表示本发明的实施方式2的导航装置的结构的框图。图20是规定图19的地图DB中的面和点的数据结构的ER图。图21是表示根据图20的定义来构成的地形数据的22是表示与面图形相对的数据管理数据的图。图23是表示与点图形相对的数据管理数据的图。图24是表示对面图形和点图形两者进行管理的数据管理数据的图。图25是表示实施方式2的导航装置的其它结构的框图。图26是表示本发明的实施方式3的导航装置的结构的框图。图27是表示本发明的实施方式4的导航装置的结构的框图。图28是表示由实施方式4的导航装置所进行的数据定义信息的更新处理的流程的流程图。图29是表示由实施方式4的导航装置所进行的数据管理数据的更新处理的流程的流程图。图30是表示本发明的实施方式5的导航装置的其它结构的框图。图31是表示由实施方式5的导航装置所进行的数据定义信息和数据管理数据的更新处理的流程的流程图。
图32是表示更新定义信息的一个例子的图。图33是表示基于图32的更新定义信息的数据定义信息的更新处理的概要的图。图34是表示本发明的实施方式6的导航装置的结构的框图。图35是表示实施方式6的导航装置的其它结构的框图。
具体实施例方式以下,为了更详细地对本发明进行说明,根据附图对用于实施本发明的方式进行说明。实施方式I.图I是表示本发明的实施方式I的数据访问装置的结构的框图。在图I中,实施 方式I中的数据访问装置I是自动生成数据管理数据以及数据访问程序的装置。所谓数据管理数据是设定有以下内容的数据即,表示用于实现某个目的的系统所使用的数据集合体(数据库或者文件系统)(数据组)中的数据的保存位置的地址;或者表示数据的开头、或从数据的开头到特定的结构要素(数据项目)为止的距离的偏移量(数据组中的保存位置)。所谓数据访问程序是参照数据管理数据、来对数据集合体的实际数据进行访问的程序。另外,作为数据访问装置I的结构,包括数据定义信息输入部2、数据定义信息分析部3、数据管理数据生成部4、数据访问程序生成部5、数据管理数据输出部6、以及数据访问程序输出部7。数据定义信息输入部2是输入数据定义信息的结构部,例如从外部存储装置读取数据定义信息。数据定义信息分析部3是对数据定义信息进行分析的结构部。数据定义信息是对访问对象的数据集合体中的数据的结构进行定义的信息。例如,定义构成数据的数据项目以及该数据的长度。数据管理数据生成部4是基于数据定义信息分析部3的分析结果、来生成数据管理数据的结构部。另外,数据访问程序生成部5是基于数据定义信息分析部3的分析结果、来生成数据访问程序的结构部。数据管理数据输出部6是一边参照数据管理数据输出定义信息、一边基于数据管理数据生成部4所生成的数据管理数据、来生成并输出输出对象的数据管理数据的结构部。此处,所谓数据管理数据输出定义信息,是表示输出对象的数据管理数据的输出形式以及输出对象的数据项目的信息。数据访问程序输出部7是一边参照数据访问程序输出定义信息、一边基于数据访问程序生成部5所生成的数据访问程序、来生成并输出输出对象的数据访问程序的结构部。此处,所谓数据访问程序输出定义信息,是表示输出对象的数据访问程序的输出语言、输出类型、及命名规则等的信息。图2是表示应用了本发明的数据访问装置的信息处理装置的硬件结构的框图。作为该信息处理装置,例如,可举出有车载导航装置、移动电话、PDA (Personal DigitalAssistant :个人数字助理)等移动信息终端。图2中,在外部存储装置10中,保存有符合本发明的要点的数据访问用处理程序、用于实现由该信息处理装置所执行的车载导航等处理的应用软件、安装有该处理中的各种功能部的软件库、以及在上述应用软件的处理中所使用的数据(例如地图数据)。
另外,作为外部存储装置10,可举出有硬盘装置(HDD)、⑶或DVD等存储介质及其驱动装置、USB (Universal Serial Bus:通用串行总线)存储器等。将上述数据访问用处理程序、上述应用软件的程序、及软件库从外部存储装置10解压缩至存储器9上,并由CPU8加以执行。CPU8通过执行上述数据访问用处理程序,来实现图I所示的数据定义信息输入部2、数据定义信息分析部3、数据管理数据生成部4、数据访问程序生成部5、数据管理数据输出部6、以及数据访问程序输出部7,以作为硬件和软件进行协作而形成的具体单元。将CPU8所产生的运算结果经由总线输出到显示装置11来进行画面显示。显示装置11例如执行车载导航中的地图显示等。作为该显示装置11,可举出有液晶显示器、等离子体显示器。通信装置12是与装置外部进行通信的装置,对于导航装置的情况,通信装置12接收GPS(Global Positioning System :全球定位系统)电波、FM电波。
输入装置13是用于从装置外部进行操作输入的装置,由键盘、操作开关、与显示装置11组合的触摸屏等来实现。对于导航装置的情况,利用该输入装置13来输入路径搜索的条件。另外,虽然在图2中示出了将上述数据访问用处理程序、应用软件、软件库、在上述应用软件所进行的处理中所使用的数据全部保存于外部存储装置10的情况,但也可以将这些软件的各个软件或它们中的至少一个软件存储于能由CPU8读取存储内容的分开的存储装置中。图3是表示构成数据库等的数据集合体的概要的图,表现数据的矩形的横向的长度表示数据长度。如图3所示,本发明中所处理的数据1、2、3、……是由数据大小被预先固定的固定长度数据、以及数据大小根据情况而变化的可变长度数据这两种数据构成。另外,固定长度数据以及可变长度数据由与数据格式相对应的各项目的数据构成。这样的数据集合体(数据组)相当于数据访问对象的数据库或文件系统。接下来,对动作进行说明。图4是表示实施方式I的数据访问装置的动作流程的流程图。下面,对以下处理进行叙述即,根据对表示数据库或者文件系统等数据集合体中的数据的保存位置的信息进行定义的数据定义信息,来自动生成表示各数据的保存位置(偏移量或者地址)的数据管理数据、以及参照数据管理数据来对数据集合体的实际数据进行访问的数据访问程序。首先,数据定义信息输入部2对外部存储装置等进行访问,输入数据定义信息(步骤S Tl)。将数据定义信息输入部2所获得的数据定义信息从数据定义信息输入部2输出至数据定义信息分析部3。在数据定义信息分析部3中,对从数据定义信息输入部2输入的数据定义信息的内容进行分析(步骤ST2)。图5是表示数据定义信息的一个例子的图。与构成图3所示的数据集合体的各个数据相对应地设定数据定义信息,如图5所示,规定各数据所包含的各项目的数据以及该数据的长度。由图5所示的数据定义信息所确定的数据包括A E这5个项目的数据,项目A D的数据是固定长度的数据,项目E的数据是可变长度的数据。图6是表示根据图5的数据定义信息来确定各数据的结构的数据集合体的概要的图,表现数据的矩形的横向的长度表示数据长度。图6所示的数据集合体中,依次保存有数据1、2、3、4、……,分别对各数据1、2、3、4、……提供数据定义信息。如图6所示,数据定义信息分析部3通过对各数据1、2、3、4、……的数据定义信息的内容进行分析,来确定各数据1、2、3、4、……中的固定长度的项目A D的数据及其数据长度、以及有无可变长度的项目E的数据。在步骤ST3中,数据管理数据生成部4基于数据定义信息分析部3的分析结果,生成数据管理数据。此处,对以下情况进行叙述即,根据对数据定义信息进行分析而得到的各数据的固定长度的数据项目及其数据长度、以及有无可变长度的数据项目,来确定该数据集合体的实际数据结构,并基于此,来生成规定向各数据的开头偏移的偏移量的数据管理数据。图7是表示由数据管理数据生成部所进行数据管理数据的生成处理的流程的流程图,表示图4的步骤ST3的详细情况。
首先,数据管理数据生成部4输入数据定义信息分析部3的分析结果(步骤ST10)。接着,数据管理数据生成部4根据所输入的数据定义信息的分析结果,来对由该数据定义信息定义结构的数据中是否存在可变长度数据进行判定(步骤S TH)。数据中不存在可变长度数据的情况下(步骤s Tll :否),数据管理数据生成部4根据该数据中固定长度的数据项目及其数据长度,来确定向各项目偏移的偏移量,并生成设定有该偏移量的数据管理数据(步骤ST12)。另一方面,数据中存在可变长度数据的情况下(步骤STll :是),数据管理数据生成部4为了确认可变长度数据部的数据大小,而从数据集合体中读取该数据的实际数据(步骤S T13),并对可变长度数据部的数据大小进行分析(步骤S T14)。数据管理数据生成部4通过该分析,来求出该数据中的可变长度的数据项目及其数据长度,以确定将固定长度的数据项目及其数据长度相结合而得的实际数据结构,并基于该实际数据结构,来生成设定有向各项目偏移的偏移量值的数据管理数据(步骤S T12)。图8是表示数据集合体的实际数据结构的一个例子的图,示出了各数据包含可变长度数据的、如图6所示的数据集合体的实际数据结构。数据管理数据生成部4将分析实际数据而求得的可变长度数据部的数据大小、以及与固定长度数据部的各项目及其数据长度相结合来进行考虑,从而确定如图8所示的实际数据结构。图8的例子中,设定用于向各数据1、2、3、4、……的开头进行访问的偏移量、该数据整体的数据大小、固定长度数据部的固定长度(bit)、以及可变长度数据部的可变长度(bit),以作为对应于数据编号1、2、3、4的数据1、2、3、4的实际数据结构。另外,对于图8所示的偏移量值,可以用绝对位置来表示从开头起的数据位置,也可以用距离前一个数据的位置的差值(相对位置)来表现从开头起的数据位置。图9是表示数据集合体的实际数据结构的其它表现例的图,对于图8的实际数据结构追加了向各项目偏移的偏移量值。如图9所示,设定向各项目A E偏移的偏移量作为数据1、2、3、4的实际数据结构。基于该实际数据结构来生成数据管理数据,从而能够有效地对数据1、2、3、4的数据项目进行访问。例如能够容易地指定对数据编号3的数据中项目C进行访问。图10是表示数据集合体的实际数据结构的其它例子的图,示出了对图9的实际数据结构用数学式表示向各项目数据偏移的偏移量的情况。根据数据定义信息的分析结果,来确定固定长度数据部的数据大小,通过实际数据分析来确定可变长度数据部的数据大小,从而能够使用将数据编号η作为变量的数学式来表示向各项目偏移的偏移量。图11是表示数据管理数据的一个例子的图。如图11所示,对数据集合体的每个数据生成数据管理数据,设定相对应的数据中向各项目A E偏移的偏移量值以及数据大小。返回图4的说明。当输入数据管理数据生成部4所生成的数据管理数据时,数据管理数据输出部6参照数据管理数据输出定义信息,输出与输出对象的定义内容相对应的数据管理数据(步骤 ST4)。例如,若图11所示的全部项目A E的数据都是必要的功能,则对数据管理数据
输出定义信息定义项目A E以作为输出对象项目,从而输出图11所示的数据管理数据。另外也存在每种功能的处理所使用的数据项目都不相同的情况。图12是表示执行A功能时所必要的数据项目的图,示出了执行A功能时所必要的数据项目是图6所示数据集合体中各数据I 4的项目Α、C、E的数据的情况。这种情况下,在表示图6所示数据集合体的数据位置的数据管理数据中,如果输出仅设定有访问项目A、C、E所必要的数据的数据管理数据,则能够有效地对项目A、C、E的数据进行访问。这里,在本发明中,利用数据管理数据输出定义信息,来规定仅对每种功能所必要的数据进行访问的数据管理数据。图13是表示数据管理数据输出定义信息的一个例子的图。此处,对于数据管理数据输出定义信息,对每种功能都定义输出形式以及输出项目,以作为定义输出对象的数据管理数据的信息。图13所示例子中,将作为执行A功能时所必要的数据的、图6所示的数据集合体的A、C、E的数据作为输出对象项目1、2、3来进行设定。另外,作为执行B功能时所必要的数据,图6所示数据集合体的项目A、B、D的数据成为输出对象项目1、2、3。数据管理数据输出定义信息可以用XML(eXtensible Markup Language :可扩展标记语言)形式、或者文本形式来进行描述。另外,将数据管理数据输出定义信息预先保存于能利用数据管理数据输出部6来读取存储内容的存储器中。例如,使用作为数据访问装置I发挥作用的计算机中所内置的存储器。另外,也可以采用以下结构即,使用输入装置13从外部进行操作,从而能追加或更新数据管理数据输出定义信息。图14是表示数据管理数据的一个例子的图,示出了设定有向执行A功能时所必要的数据偏移的偏移量的数据管理数据。数据管理数据输出部6参照图13所示的数据管理数据输出定义信息,从设定有向图11所示的各项目A E偏移的偏移量的数据管理数据中,提取出向作为执行A功能时所必要的数据项目的项目A、C、E偏移的偏移量,以作为与A功能相对应的数据管理数据,并生成仅设定有对如图14所示的项目A、C、E进行访问所必要的数据的数据管理数据。另外,例如利用数据管理数据输出部6,将数据管理数据输出并保存至图2的外部存储装置10。使用数据管理数据时,CPU8将其从外部存储装置10解压缩到存储器9上,以参照其内容。图15是表示对每种功能所生成的数据管理数据的利用方式的概要的图。车载导航装置等系统(图2所示的信息处理装置)使用登记有实现各种功能(路线探索和地图显示等)的各种程序要素的软件库(以下记载为SW库),来执行上述各种功能。如图15所示,举出了在上述系统中的SW库IOa中安装有A功能、B功能以及C功能的程序要素的情况的例子。这种情况下,如上所述,生成每种功能的数据管理数据(A功能所必要的数据管理数据、B功能所必要的数据管理数据、C功能所必要的数据管理数据)10b,并将其与数据访问程序IOc—起组成该系统。另外,所谓程序要素,是指在该程序中所使用的函数及其属性、对它们进行分类的类、包、方法等。例如,在执行与A功能相关的应用的情况下,该系统的CPU8 (参照图2)执行SW库IOa的A功能的程序要素,以作为A功能部来进行动作。此时,A功能部执行数据访问程序IOc,参照A功能所必要的数据管理数据来确定保存位置,从而从数据集合体中获取执行A功能所必要的数据。由此,能够有效地对所希望的数据进行访问。
返回图4的说明。数据访问程序生成部5从数据定义信息分析部3输入数据定义信息的分析结果,并基于该分析结果,生成数据访问程序(步骤ST5)。这里,使用从数据定义信息的分析结果中获得的、表示访问对象的数据集合体以及其数据结构的信息,来生成对该数据集合体进行数据访问的数据访问程序。然后,当输入数据访问程序生成部5所生成的数据访问程序时,数据访问程序输出部7参照数据访问程序输出定义信息,来输出与输出对象的定义内容相对应的数据访问程序(步骤ST6)。另外,例如利用数据访问程序输出部7,将数据访问程序输出并保存于图2的外部存储装置10。执行数据访问程序时,CPU8将该数据访问程序从外部存储装置10解压缩到存储器9来执行。图16是表示数据访问程序的一个例子的图,示出了从数据集合体获取项目A的数据的数据访问程序。图16所示的例子中,第I行设定有访问对象的数据集合体及其对象数据ID (数据编号id),第2行设定有向第id个数据的项目A偏移的偏移量,第3行设定有项目A的数据长度。然后,第4行记录有获取第id个数据中的项目A的数据的情况。数据访问程序生成部5根据作为数据定义信息的分析结果而获取的访问对象的数据集合体及其数据结构,来生成用于获取如图16所示的该访问对象的数据集合体中的各数据(数据项目)的数据访问程序。例如,对于对象数据ID(数据编号id)、固定长度的数据项目及其数据长度等,设定从数据定义信息的分析结果中获得的值。另一方面,对于可变长度的数据项目的数据长度和偏移量,在执行数据访问程序时,参照数据管理数据来进行设定。图17是表示数据访问程序输出定义信息的一个例子的图。如图17所示,数据访问程序输出定义信息中定义了输出语言、输出类型、命名规则等。例如,当将输出语言设为[Java](注册商标;图中的标记也相同)时,用Java来表述的程序成为输出对象,当将输出类型设为[仅接口输出]时,输出空安装的程序(empty implementation program)。另外,当命名规则为[自动]时,自动命名数据访问程序的类或函数。这些项目可以根据规格而变更。另外,本信息也可以以XML形式或文本形式来表述。另外,将数据访问程序输出定义信息预先保存于能利用数据访问程序输出部7来读取存储内容的存储器中。例如,使用作为数据访问装置I发挥作用的计算机中所内置的存储器。另外,也可以采用以下结构即,使用输入装置13从外部进行操作,从而能追加或更新数据访问程序输出定义信息。图18是表示每种功能所生成的数据管理数据以及数据访问程序的利用方式的概要的图。如图18所示,举出了将A功能、B功能、以及C功能的程序要素安装于SW库10a、并将每种功能的数据管理数据(A功能所必要的数据管理数据、B功能所必要的数据管理数据、C功能所必要的数据管理数据)IOb组成系统的情况的例子。这种情况下,数据访问程序输出部7参照数据访问程序输出定义信息,基于数据访问程序生成部5所生成的数据访问程序,生成每种功能的数据访问程序(A访问程序、B访问程序、C访问程序)10c,以组成上述系统。例如,执行与A功能相关的应用的情况下,该系统的CPU8(参照图2)执行SW库IOa的A功能的程序要素,以作为A功能部来进行动作。此时,A功能部在执行与A功能对应的A访问程序时,参照A功能所必要的数据管理数据来确定保存位置,从而从数据集合体 中获取必要的数据。这样,对每种功能分开使用数据管理数据和数据访问程序,从而能够有效且快速地对所希望的数据进行访问。综上所述,根据本实施方式1,导航装置等信息处理装置包括数据管理数据,该数据管理数据基于表示数据组(数据集合体)的数据结构的数据定义信息,来规定该数据组中的实际数据的保存位置;以及数据访问程序,该数据访问程序表述对基于数据定义信息来确定数据结构的实际数据进行访问的功能,所述信息处理装置参照数据管理数据,来确定实际数据的保存位置,并执行数据访问程序,以对数据组的实际数据进行访问。由此,能够有效且高速地对所希望的数据进行访问。另外,根据实施方式1,包括数据定义信息输入部2,该数据定义信息输入部2输入数据定义信息,所述数据定义信息表示保存有实际数据的数据组的数据结构;数据定义信息分析部3,该数据定义信息分析部3对数据定义信息输入部2所输入的数据定义信息的内容进行分析;数据管理数据生成部4,该数据管理数据生成部4根据由数据定义信息分析部3对数据定义信息进行分析而获得的数据组的数据结构,来生成对该数据组中的实际数据的保存位置进行规定的数据管理数据;数据访问程序生成部5,该数据访问程序生成部5生成表述对实际数据进行访问的功能的数据访问程序,由数据定义信息分析部3对数据定义信息进行分析,以确定数据组中的数据结构,从而获得所述实际数据;数据管理数据输出部6,该数据管理数据输出部6参照定义了数据管理数据的输出对象内容的数据管理数据输出定义信息,从数据管理数据生成部4所生成的数据管理数据中,输出满足输出对象内容的数据管理数据;以及数据访问程序输出部7,该数据访问程序输出部7参照定义了数据访问程序的输出对象内容的数据访问程序输出定义信息,从数据访问程序生成部5所生成的数据访问程序中,输出满足输出对象内容的数据访问程序。利用这种结构,能自动生成在有效且快速地对所希望的数据进行访问时所使用的数据管理数据和数据访问程序。实施方式2.图19是表示本发明的实施方式2的导航装置的结构的框图。在图9中,对与图I以及图2相同的结构部标注同一标号,并省略对其的说明。实施方式2的导航装置14是使用了实施方式I的数据访问装置I的导航装置,并装入了数据访问装置I所生成的数据管理数据IOb以及数据访问程序10c。SW库IOa中登记了实现导航装置14中各种功能的程序要素。例如,路径探索功能所涉及的对象具有由实现路径探索中各种功能的程序要素所构成的分级结构。地图数据库(地图DB) IOd是由地图数据构成的数据集合体。另外,导航装置14由图2所示的软件结构来实现。此处,SW库10a、数据管理数据10b、数据访问程序10c、以及地图DBlOd保存在外部存储装置10中。导航功能执行部15是执行导航所涉及的各种功能的结构部,CPU8具体执行导航所涉及的应用。此时,CPU8执行SW库IOa的特定功能的程序要素,从而作为执行该功能的功能部15a来进行动作。功能部15a执行数据访问程序10c,从而一边参照数据管理数据10b,一边从地图DBlOd中获取必要的数据。位置检测部16是对装载有导航装置14的车辆的位置进行检测的结构部,例如,利用GPS信号、车速传感器、陀螺传感器等传感器组的测定值和地图匹配等,来求出本车的当 前位置。数据定义信息IOe定义了地图DBlOd的地图数据结构,保存在能利用数据定义信息输入部2来读取存储内容的存储装置中。接下来,对动作进行说明。此处,作为一个例子,示出地图DBlOd的地形数据所对应的数据管理数据的生成处理。图20是规定图19的地图DB中面(polygon)和点(point)的数据结构的ER (Entity Relationship :实体关系)图,定义了作为地形的面和点的数据结构。如图20所示,面和点从属于片(tile),设定有显示画面上的坐标。另外,由于数据数会根据参数numPolygon、numPoint, numCoord所设定的值而发生变化,因此,面和点的数据是可变长度数据。图21是表示根据图20的定义所构成的地形数据的图,示出了地图BDlOd中地形的数据集合体。另外,图21的数据结构例如相当于图6所示的数据集合体中数据I 4之中的一个。数据管理数据生成部4根据从数据定义信息分析部3输入的数据定义信息的分析结果,来对该数据定义信息所定义的地形数据中是否存在可变长度数据进行判断。如上所述,因为面和点的数据是可变长度数据,因此数据管理数据生成部4从地图DBlOd读取面和点的实际数据,对可变长度数据的数据大小进行分析。数据管理数据生成部4通过该分析来求出该数据中可变长度的数据项目(图21的参数numPo I ygon,numPo i n t的值、及设定于numCoo r d的面1、2和点1、2的坐标数据)以及它们的数据长度,确定由固定长度的数据项目(图21的片、面1、2、及点1、2的ID)以及它们的数据长度相结合而形成的实际数据结构,并基于该数据结构来生成设定有向各项目偏移的偏移量值的数据管理数据。当输入数据管理数据生成部4所生成的数据管理数据时,数据管理数据输出部6输出数据管理数据输出定义信息所定义的数据管理数据,并将其装入导航装置14中。图22是表示面图形所对应的数据管理数据的图,图23是表示点图形所对应的数据管理数据的图。
例如,对执行地图描画时所必要的数据将面的坐标(Coord)定义为数据管理数据输出定义信息,从而数据管理数据输出部6从数据管理数据生成部4所生成的数据管理数据中提取出面的坐标,并生成如图22所示的数据管理数据。同样,将点的坐标(Coord)定义为数据管理数据输出定义信息,从而数据管理数据输出部6从数据管理数据生成部4所生成的数据管理数据中提取出点的坐标,并生成如图23所示的数据管理数据。图24是表示对面图形以及点图形两者进行管理的数据管理数据的图。在数据管理数据输出定义信息中,例如将面和点的坐标定义为执行地图描画时所必要数据,在这种情况下,如图24所示,数据管理数据输出部6生成用同一张表对面和点的坐标数据进行管理的数据管理数据。此时,也可以对数据管理数据设置图形类别栏,并设定对面和点进行识另IJ的识别信息。在图24的例子中,图形类别“I”表示面图形,图形类别“2”表示点图形。
将如上述那样生成的数据管理数据IOb以及数据访问程序IOc装入导航装置14。当执行路径探索或地图显示等功能时,功能部15a通过执行数据访问程序10c,一边参照数据管理数据IOb的偏移量值,一边从地图DBlOd获取必要的地形数据。因此,能够有效且高速地对所希望的地图数据进行访问。另外,也可以通过指定与上述实施方式I相同的数据管理数据输出定义信息的内容,来生成路径探索或地图显示等每种导航功能的数据管理数据10b。这种情况下,对数据管理数据IOb设定执行每种导航功能时所必要的数据的地址或者偏移量。像这样,对每种功能的数据进行分类管理,从而能够容易地进行数据维护。另外,也可以与每种导航功能的数据管理数据IOb的生成相结合,来指定与上述实施方式I同样的数据访问程序输出定义信息的内容,从而生成路径探索或地图显示等每种导航功能的数据访问程序10C。这种情况下,导航功能执行部15的功能部15a执行数据访问程序10c,从而参照对应的导航功能的数据管理数据IOb来执行对地图DBlOd的访问,以获取该导航功能所必要的数据。图25是表示实施方式2的导航装置的其它的结构的框图。在此前的说明中,示出了设置数据管理数据IOb和地图DBlOd作为分开的数据的情况,但在图25所示导航装置14A中,具备数据管理数据IOb作为与地图DBlOd进行一体化的数据。例如,对地图数据的网格单位设置数据管理数据,并参照与该网格对应的数据管理数据,对每个网格的处理所需要的数据确定地图DB内的保存位置,从而与设为分开的数据的情况相比较,能够进一步有效且高速地对所希望的地图数据进行访问。如上所述,根据该实施方式2,由于包括数据管理数据10b,该数据管理数据IOb基于表示地图DB IOd的数据结构的数据定义信息10e,来规定地图DBlOd中实际数据的保存位置,其中,所述地图DBlOd保存地图数据的实际数据;数据访问程序10c,该数据访问程序IOc表述基于数据定义信息IOe来对实际数据进行访问的功能,其中,所述实际数据确定地图DBlOd中的数据结构;以及功能部15a,该功能部15a参照数据管理数据10b,来确定实际数据的保存位置,并执行数据访问程序10c,以对地图DBlOd的实际数据进行访问,因此,能够有效且高速地对所希望的地图数据进行访问。另外,根据该实施方式2,由于数据管理数据是分别规定每种导航功能所使用的实际数据的保存位置的数据,因此,能够有效且高速地对每种导航功能所使用的地图数据进行访问。另外,由于对每种功能的地图数据进行分类,因此,能够容易地对地图数据进行维护。另外,根据该实施方式2,由于数据访问程序是分别表述对每种导航功能所使用的实际数据进行访问的功能的程序,因此,能够有效且高速的对每种功能所对应的地图数据进行访问。另外,根据该实施方式2,如图25所示,由于将数据管理数据作为地图DB IOd的一部分所包含的数据,因此,与设为分开的数据的情况相比较,能进一步有效且高速的对所希望的地图数据进行访问。实施方式3.图26是表示本发明的实施方式3的导航装置的结构的框图。图26中,对与图I、 图2、以及图19相同的结构部标注相同的标号,并省略其说明。在实施方式3中的导航装置14a中,在上述实施方式2的导航装置14的结构中包括作为上述实施方式I的数据访问装置I的结构的、数据定义信息输入部2、数据定义信息分析部3、数据管理数据生成部4、数据访问程序生成部5、数据管理数据输出部6、以及数据访问程序输出部7。将数据管理数据输出部6所输出的数据管理数据作为数据管理数据IOb保存在如图2所示的外部存储装置10等中,同样,将数据访问程序输出部7所输出的数据访问程序作为数据访问程序IOc保存在外部存储装置10等中。导航功能执行部15 (功能部15a)参照数据管理数据IOb来确定实际数据的保存位置,并执行数据访问程序IOc以对地图DBlOd进行访问,从而获取导航所涉及的处理所使用的实际数据。如上所述,根据实施方式3,由于导航装置14a具备有数据访问装置I的结构,因此,如上述实施方式2那样,导航装置14a本身就能够自动生成数据管理数据IOb以及数据访问程序10c,而无需等待数据访问装置I装入数据管理数据IOb以及数据访问程序10c。实施方式4.该实施方式4与上述实施方式2、3相同,示出了作为导航装置的使用方式。导航装置中,例如在道路或建筑物等构成地图的地物变更时,有必要对与此相应的地图数据库进行更新。另外,地图数据库的更新有时也伴随着如追加地图数据的属性那样的数据结构(数据格式)的变化。因此,在实施方式4的导航装置中,若地图数据库有更新,则对数据定义信息进行更新以示出包含更新对象的地物的数据的更新地图数据库的数据结构,从而即使地图数据被更新,也能有效且高速的进行数据访问。图27是表示本发明的实施方式4的导航装置的结构的框图。图27中,对与图I、图2、以及图19相同的结构部标注相同的标号,并省略其说明。在实施方式4的导航装置14B中,在上述实施方式3的导航装置14a的结构中,包括更新地图数据库(DB) IOf、地图DB更新部15b、以及数据定义信息更新部17。另外,导航装置14B由图2所示的硬件结构所实现。更新地图DBlOf是包括变更后地物的地图数据的地图数据库。SW库10a、数据管理数据10b、数据访问程序10c、地图DBlOd、数据定义信息10e、以及更新地图DBlOf保存在图2所示的外部存储装置10中。
另外,CPU8执行SW库IOa中的地图DB更新功能的程序要素,从而作为执行该功能的地图DB更新部15b来进行动作。地图DB更新部15b是具有以下功能的结构部执行利用更新后的数据定义信息所生成的数据访问程序10c,参照利用更新后的数据定义信息所生成的数据管理数据,从地图DBlOd以及更新地图DBlOf获取地图数据,从而使导航处理中更新后的地图数据内容得以反映。数据定义信息更新部17是使用现有的地图DB IOd与更新地图DBlOf之间的变更部位(更新对象的地物)的差分数据、来对现有的数据定义信息(地图DBlOd的数据定义信息)进行更新的结构部。接下来,对动作进行说明。(I)数据定义信息的更新 图28是表示由实施方式4的导航装置所进行的数据定义信息的更新处理的流程的流程图。首先,数据定义信息更新部17读取现有的地图DBlOd的地图数据(步骤ST21),接着读取更新地图DBlOf的地图数据(步骤ST22)。例如,根据地图DBlOd以及更新地图DBlOf,在位置所对应的片单位上,读取包含于该片的地图数据。接下来,数据定义信息更新部17将从地图DBlOd以及更新地图DBlOf依次读取的地图数据进行比较,提取出变更部位(更新对象的地物)所对应的差分数据(步骤ST23)。例如,在地图DBlOd中数据项目A的数据大小是2bit、更新地图DBlOf的数据项目A的数据大小成为4bit的情况下,将相对应数据间的数据大小的变化确定为差分数据。另外,即使在没有变更的情况下,也提取出数据大小变化=O的差分数据。数据定义信息更新部17在提取出地图DBlOd的地图数据与更新地图DBlOf的地图数据之间的差分数据时,读取与上述地图数据相对应的数据定义信息(步骤ST24),将上述差分数据与上述数据定义信息相比较,以提取出该数据定义信息中的变更部位(步骤ST25)。此处,数据定义信息更新部17对数据定义信息中是否有实质的变更进行判断(步骤ST26)。此处,在是数据大小变化=O的差分数据、该数据定义信息没有变更的情况下(步骤ST26 :否),数据定义信息更新部17停止对与该地图数据相对应的数据定义信息进行更新处理。另一方面,若数据定义信息存在变更(步骤ST26 :是),则数据定义信息更新部17对数据定义信息进行更新,使得该差分数据得以反映(步骤ST27)。例如,如上所述,在更新地图DBlOf的数据项目A的数据大小变为4bit的情况下,将数据定义信息的数据项目A变更为更新地图DBlOf的数据项目A的数据大小4bit。(2)数据管理数据的更新图29是表示由实施方式4的导航装置所进行的数据管理数据的更新处理的流程的流程图。数据定义信息更新部17对数据定义信息进行更新(步骤ST30)。该处理相当于上述图28的处理。然后,数据定义信息输入部2输入更新后的数据定义信息(步骤ST31)。将数据定义信息输入部2获得的数据定义信息从数据定义信息输入部2输出至数据定义信息分析部3。在数据定义信息分析部3中,对从数据定义信息输入部2输入的数据定义信息的内容进行分析(步骤ST32)。其后,数据管理数据输出部6读取数据管理数据输出定义信息(步骤 ST33)。然后,数据管理数据生成部4根据从数据定义信息分析部3输入的数据定义信息的分析结果,来对结构由该数据定义信息所定义的地图数据中是否存在可变长度数据进行判断(步骤ST34)。在地图数据中不存在可变长度数据的情况下(步骤ST34 :否),数据管理数据生成部4确定该地图数据中固定长度的数据项目以及从该数据长度到各项目的偏移量,并生成设定有该偏移量的数据管理数据。之后,转移至步骤ST35的处理。
另一方面,在数据中存在可变长度数据的情况下(步骤ST 34 :是),数据管理数据生成部4为了确认可变长度数据部的数据大小,从更新地图DBlOf读取该地图数据的实际数据(步骤ST36),对可变长度数据部的数据大小进行分析(步骤ST37)。通过该分析,数据管理数据生成部4求出该地图数据中可变长度的数据项目及其数据长度,以确定将固定长度的数据项目及其数据长度相结合而得的实际数据结构,并基于该实际数据结构,来生成设定有向各项目偏移的偏移量值的数据管理数据。之后,转移至步骤ST35的处理。步骤ST35中,数据管理数据输出部6输入数据管理数据生成部4所生成的数据管理数据(与更新地图DBlOf相对应的数据管理数据),参照数据管理数据输出定义信息,将与输出对象的定义内容相对应的数据管理数据输出并保存至存储装置(图2的外部存储装置10等)。(3)数据访问程序的生成在更新地图DBlOf中的地图数据包含新的数据项目的情况下,需要有用于获得该项目的数据的数据访问程序。这种情况下,与上述实施方式I相同,数据访问程序生成部5也根据作为更新后的数据定义信息分析结果所获得的更新地图DBlOf的数据结构,来生成用于获得更新地图DBlOf的地图数据(数据项目)的数据访问程序。然后,数据访问程序输出部7输入数据访问程序生成部5所生成的数据访问程序,参照数据访问程序输出定义信息,将与输出对象的定义内容相对应的数据访问程序输出并保存至存储装置(图2的外部存储装置10等)。(4)更新地图的反映当执行路径探索或地图显示等功能时,导航功能执行部15的地图DB更新部15b执行基于更新后的数据定义信息所生成的数据访问程序10c,从而参照基于更新后的数据定义信息所生成的数据管理数据IOb的偏移量值,从更新地图DBlOf获得必要的地形数据。如上所述,根据本发明实施方式4,包括数据定义信息更新部17,当将地图DBlOd作为更新地图IOf来进行更新时,该数据定义信息更新部17对数据定义信息IOe进行更新,使得更新后的数据结构得以反映。具有该结构,从而能够自动生成与更新地图DBlOf相对应的数据定义信息IOe。另外,根据本实施方式4,数据定义信息更新部17将现有的地图DBlOd中的实际数据与更新地图DBlOf中的实际数据进行比较,提取出与地图DBlOd相比的变更部位,对数据定义信息IOe进行更新,使得该变更部位的数据结构得以反映。由此,能够自动生成与更新地图DBlOf相对应的数据定义信息10e。另外,根据本实施方式4,若利用数据定义信息更新部17对数据定义信息进行更新,则数据定义信息分析部3对更新后的数据定义信息的内容进行分析,数据管理数据生成部4根据数据定义信息分析部3对更新后的数据定义信息进行分析后所得到的更新地图DBlOf的数据结构,来生成更新地图DBlOf中规定了实际数据的保存位置的数据管理数据10b,数据访问程序生成部5生成数据访问程序10c,该数据访问程序IOc表述对实际数据进行访问的功能,所述实际数据在更新地图DBlOf中的数据结构通过用数据定义信息分析部3对更新后的数据定义信息进行分析来确定。由此,若更新为与更新地图DBlOf相对应 的数据定义信息10e,则数据管理数据IOb以及数据访问程序IOc会随之自动更新,因此,即使地图DB动态更新,也能有效且高速地对地图数据进行访问。实施方式5.图30是表示本发明的实施方式5的导航装置的结构的框图。图30中,对与图I、图2、图19、以及图27相同的结构部标注相同的标号,并省略其说明。在实施方式5的导航装置14C中,在上述实施方式4中的导航装置14B的结构中包括更新信息数据库(DB) IOg,并包括数据定义信息更新部17a,以取代数据定义信息更新部17。另外,导航装置14C由图2所示的硬件结构所实现。更新信息DBlOg是保存对更新地图DBlOf的地图数据中的更新内容进行定义后的更新定义信息的数据库。SW库10a、数据管理数据10b、数据访问程序10c、地图DBlOd、数据定义信息10e,更新地图DBlOf、以及更新信息DBlOg保存在图2的外部存储装置10中。另外,数据定义信息更新部17a是利用从更新信息DBlOg读取的更新定义信息来对现有的数据定义信息(地图DBlOd的数据定义信息)进行更新的结构部。接下来,对动作进行说明。图31是表示由实施方式5的导航装置所进行的数据定义信息和数据管理数据的更新处理的流程的流程图。首先,数据定义信息更新部17a读取更新信息DBlOg的更新定义信息(步骤ST40),对更新定义信息进行分析(步骤ST41)。然后,数据定义信息更新部17a读取用该更新定义信息来定义更新内容后的地图数据所对应的数据定义信息,对数据定义信息进行更新,使得更新定义信息的分析结果得以反映(步骤ST42)。图32是表示更新定义信息的一个例子的图。在图32所示的更新定义信息中,定义了以下更新内容即,接着所对应的地图数据中的项目C插入数据长度为Sbit的项目F的数据。由此,更新定义信息中定义有例如更新对象的数据项目、其数据长度、以及该数据项目的地图数据(现有的地图DBlOd的地图数据)中的插入部位等,以作为更新内容。另外,在通过更新来删除数据的情况下,对更新对象的数据项目设定删除对象的项目,将数据长度表述为Obit。而且,在将数据插入地图数据的顶部位置的情况下,将“O”指定至插入部位。图33是表示基于图32的更新定义信息来对数据定义信息进行更新处理的概要的图。如上所述,图32所示的更新定义信息示出了对更新地图DBlOf的所对应的地图数据进行以下更新的情况即,接着地图DBlOd的所对应的地图数据的项目C,插入数据长度为8bit的项目F的数据。因此,数据定义信息更新部17a读出上述地图数据所对应的现有的数据定义信息,对表示以下数据结构的数据定义信息进行更新接着项目C插入数据长度为Sbit的项目F的数据。然后,数据定义信息输入部2输入更新后的数据定义信息(步骤ST43)。将数据定义信息输入部2所获得的数据定义信息从数据定义信息输入部2输出至数据定义信息分析部3。在数据定义信息分析部3中,对从数据定义信息输入部2输入的数据定义信息的内容进行分析(步骤ST44)。数据管理数据输出部6读取数据管理数据输出定义信息(步骤 ST45)。
然后,数据管理数据生成部4根据从数据定义信息分析部3输入的数据定义信息的分析结果,来对结构由该数据定义信息所定义的地图数据中是否存在可变长度数据进行判断(步骤ST46)。在地图数据中不存在可变长度数据的情况下(步骤ST46 :否),数据管理数据生成部4对该地图数据中固定长度的数据项目以及从该数据长度向各项目偏移的偏移量进行确定,生成设定以上内容的数据管理数据。之后,转移至步骤ST47的处理。另一方面,在数据中存在可变长度数据的情况下(步骤ST46 :是),数据管理数据生成部4为了确认可变长度数据部的数据大小,从更新地图DBlOf读取该地图数据的实际数据(步骤ST48),对可变长度数据部的数据大小进行分析(步骤ST49)。通过该分析,数据管理数据生成部4求出该地图数据中可变长度的数据项目及其数据长度,以确定将固定长度的数据项目及其数据长度相结合而得的实际数据结构,并基于该实际数据结构,来生成设定有向各项目偏移的偏移量值的数据管理数据。之后,转移至步骤ST47的处理。在步骤ST47中,数据管理数据输出部6输入数据管理数据生成部4所生成的数据管理数据(与更新地图DBlOf相对应的数据管理数据),参照数据管理数据输出定义信息,将与输出对象的定义内容相对应的数据管理数据输出并保存至存储装置(图2的外部存储装置10等)。关于由数据访问程序生成部5以及数据访问程序输出部7基于更新后的数据定义信息所进行的数据访问程序的生成处理、以及由地图DB更新部15b对更新地图所进行的反映处理,与上述实施方式3相同。如上所述,根据本实施方式5,数据定义信息更新部17a基于表示与更新地图DBlOf中的地图DBlOd相比的变更内容的更新定义信息,来对数据定义信息IOe进行更新,使得更新后的数据结构得以反映。由此,能够自动生成与更新地图DBlOf相对应的数据定义信息IOe。另外,根据本实施方式5,当由数据定义信息更新部17a对数据定义信息进行更新时,数据定义信息分析部3对更新后的数据定义信息的内容进行分析,数据管理数据生成部4根据数据定义信息分析部3对更新后的数据定义信息进行分析后所得到的更新地图DBlOf的数据结构,来生成更新地图DBlOf中规定了实际数据的保存位置的数据管理数据10b,数据访问程序生成部5生成数据访问程序10c,该数据访问程序IOc表述对实际数据进行访问的功能,所述实际数据在更新地图DBlOf中的数据结构通过用数据定义信息分析部3对更新后的数据定义信息进行分析来确定。由此,若更新成与更新地图DBlOf相对应的数据定义信息10e,则数据管理数据IOb以及数据访问程序IOc会随之自动更新,因此,即使地图DB动态更新,也能有效且高速地对地图数据进行访问。实施方式6.图34是表示本发明的实施方式6的导航装置的结构的框图。图34中,实施方式6的导航装置14D从上述实施方式4的结构中分离出数据定义信息输入部2、数据定义信息分析部3、数据管理数据生成部4、数据访问程序生成部5、数据管理数据输出部6、数据访问程序输出部7、以及数据定义信息更新部17,以作为数据访问装置1A。在该结构中,导航装置14D中装入有由数据访问装置IA所生成或者更新的数据管理数据IOb以及数据访问程序 10c。另外,图35是表示实施方式6的导航装置的其它的结构的框图。图35中,导航装置14E从上述实施方式5的结构中分离出数据定义信息输入部2、数据定义信息分析部3、数据管理数据生成部4、数据访问程序生成部5、数据管理数据输出部6、数据访问程序输出部7、以及数据定义信息更新部17a,以作为数据访问装置1B。在该结构中,导航装置14E中装入有由数据访问装置IB所生成或者更新的数据管理数据IOb以及数据访问程序10c。如上所示,根据该实施方式6,采用图34或者图35的结构,从而能够得到与上述实施方式3以及上述实施方式4相同的效果。另外,在上述实施方式3 6中,示出了将数据管理数据与地图DB设置为分开的数据的情况,但如图25所示,也可以将数据管理数据与地图DB设为一体化的数据。例如,对于地图数据的网格单位设置数据管理数据,并参照与该网格相对应的数据管理数据,对每个网格的处理所需要的数据确定地图DB内的保存位置,从而与设为分开的数据的情况相比较,能够进一步有效且高速地对所希望的地图数据进行访问。工业上的实用性由于本发明所涉及的数据访问方法能够有效且高速地对实际数据进行访问,因此,可以适用于要求迅速进行导航处理的车载用导航装置等。
权利要求
1.一种数据访问方法,该数据访问方法是利用从保存有实际数据的数据组中所获得的所述实际数据、来执行规定的信息处理的信息处理装置的数据访问方法,其特征在于, 所述信息处理装置包括 数据管理数据,该数据管理数据基于表示所述数据组的数据结构的数据定义信息,来规定该数据组中的所述实际数据的保存位置;以及 数据访问程序,该数据访问程序表述对基于所述数据定义信息来确定所述数据组中的数据结构的所述实际数据进行访问的功能, 参照所述数据管理数据来确定所述实际数据的保存位置,执行所述数据访问程序,以对所述数据组的所述实际数据进行访问。
2.如权利要求I所述的数据访问方法,其特征在于, 所述数据管理数据是包含于所述数据组的一部分的数据。
3.一种数据访问装置,其特征在于,包括 输入部,该输入部输入数据定义信息,所述数据定义信息表示保存有实际数据的数据组的数据结构; 分析部,该分析部对所述输入部所输入的所述数据定义信息的内容进行分析; 数据生成部,该数据生成部根据所述分析部对所述数据定义信息进行分析而获得的所述数据组的数据结构,来生成规定该数据组中的所述实际数据的保存位置的数据管理数据; 程序生成部,该程序生成部生成表述对所述实际数据进行访问的功能的数据访问程序,所述实际数据在所述数据组中的数据结构通过所述分析部对所述数据定义信息进行分析来确定; 数据输出部,该数据输出部参照定义了所述数据管理数据的输出对象内容的数据输出定义信息,从所述数据生成部所生成的所述数据管理数据中,输出满足所述输出对象内容的数据管理数据;以及 程序输出部,该程序输出部参照定义了所述数据访问程序的输出对象内容的程序输出定义信息,从所述程序生成部所生成的所述数据访问程序中,输出满足所述输出对象内容的数据访问程序。
全文摘要
信息处理装置包括数据管理数据,该数据管理数据基于表示数据组的数据结构的数据定义信息来规定实际数据的保存位置;以及数据访问程序,该数据访问程序表述对基于数据定义信息来确定数据结构的实际数据进行访问的功能,该信息处理装置参照数据管理数据来确定实际数据的保存位置,执行数据访问程序,以对数据组的实际数据进行访问。
文档编号G01C21/00GK102859497SQ201080066210
公开日2013年1月2日 申请日期2010年4月16日 优先权日2010年4月16日
发明者坂入威郎, 玉田隆史, 后藤幸夫, 下谷光生, 御厨诚 申请人:三菱电机株式会社