首页> 中国专利> 建立增量型导航数据库的方法和对数据库进行更新的方法

建立增量型导航数据库的方法和对数据库进行更新的方法

摘要

本发明实施例提供一种建立增量型导航数据库的方法和对数据库进行更新的方法,增量型导航数据库包括主表、辅表,差分版兴趣点索引表;建立存放兴趣点数据的主表,以及辅表;基于主表以及至少一个辅表,建立至少一个差分版兴趣点索引表,差分版兴趣点索引表中记录了主表以及至少一个辅表中的兴趣点数据的关键字和索引内容;将差分版兴趣点索引表中的索引内容分为两列,一列记录删除部分,另一列记录增加部分。为兴趣点数据建立了主表以及至少一个辅表,降低了数据之间的耦合度;基于主表以及辅表建立了兴趣点索引表,通过索引内容能够对主表和辅表进行快速检索,降低了检索导航地图中的兴趣点的硬件资源消耗和更新过程的复杂性。

著录项

  • 公开/公告号CN103377210A

    专利类型发明专利

  • 公开/公告日2013-10-30

    原文格式PDF

  • 申请/专利权人 北京四维图新科技股份有限公司;

    申请/专利号CN201210117202.5

  • 发明设计人 刘志毅;袁松安;

    申请日2012-04-19

  • 分类号G06F17/30(20060101);

  • 代理机构11243 北京银龙知识产权代理有限公司;

  • 代理人许静;安利霞

  • 地址 100028 北京市朝阳区曙光西里甲5号凤凰置地广场A座写字楼17层

  • 入库时间 2024-02-19 20:43:39

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2016-12-14

    授权

    授权

  • 2013-11-27

    实质审查的生效 IPC(主分类):G06F17/30 申请日:20120419

    实质审查的生效

  • 2013-10-30

    公开

    公开

说明书

技术领域

本发明涉及数据库技术,特别是指一种建立增量型导航数据库的方法和对 数据库进行更新的方法。

背景技术

导航应用技术中需要保证数据的准确性,数据的准确性主要由数据的现势 性决定,因此导航地图必须经常更新才能保证现势性,传统的导航数据一般以 半年至一年为周期进行一次整体更新,由于更新周期长,更新数据量太大,已 经不能满足客户的需求;尤其在城市变化日新月异的现在,各种大型城建项目 的开展都有可能导致数据在短期内发生重大变化,因此迫切需要一种新的技术 代替传统的数据更新技术。

增量更新是指在数据的更新过程中只记录新版数据中相对旧版数据发生 变化的部分,将这些变化的部分以增量文件的方式提供给用户,并集成到旧版 数据中的过程;由于增量更新涉及的数据量较小,可以通过无线网络的方式随 时随地推送给用户,因此用户可以以较小的代价方便快速的使用最新的数据。 传统的导航数据一般都采用二进制文件的方式进行存储,其更新架构如图1 所示,从服务器下载差分兴趣点数据的二进制文件,导航客户端中存放了基准 兴趣点数据的二进制文件,在导航客户端进行编译,编译之后,形成更新后导 航数据的二进制文件,为不同的导航应用提供相应的兴趣点数据。

为提高性能和压缩数据容量,其主要关注数据的高效性和紧凑性,这种数 据格式对于实现增量更新是非常复杂和困难的。

现有技术存在如下问题:现有采用二进制文件方式存储导航数据,没有较 好的考虑实现增量更新的需求,这种存储导航数据的方式对于增量更新而言, 兴趣点数据之间的耦合性强,导致难以追加新的兴趣点数据,且更新编译兴趣 点数据的流程复杂,对导航客户端硬件要求较高等。

发明内容

本发明要解决的技术问题是提供一种建立增量型导航数据库的方法和对 数据库进行更新的方法,解决现有技术中,兴趣点数据之间的耦合性强,导致 难以追加新的兴趣点数据,且更新编译兴趣点数据的流程过于复杂,对导航客 户端硬件要求较高等缺陷。

为解决上述技术问题,本发明的实施例提供一种建立增量型导航数据库的 方法,所述增量型导航数据库包括主表、辅表,以及差分版兴趣点索引表;方 法包括:建立存放兴趣点数据的主表,以及至少一个辅表,所述辅表与所述主 表之间存在表间关联关系;基于所述主表以及至少一个所述辅表,建立至少一 个差分版兴趣点索引表,所述差分版兴趣点索引表中记录了所述主表以及至少 一个所述辅表中的兴趣点数据的关键字和索引内容;将所述差分版兴趣点索引 表中的所述索引内容分为两列,一列记录删除部分,另一列记录增加部分。

所述的方法,还包括:为每个行政区划分别建立一张所述主表,各个所述 主表的表结构相同,表名包含各自的行政区划编号,存放对应的行政区划所属 的POI数据;至少一个辅表中,分别存放POI分类、POI名称、行政区划、行 政区划和地图网格之间的对应关系,以及POI数据之间的父子关系。

所述的方法,建立至少一个兴趣点索引表具体包括建立两个兴趣点索引 表,其中:建立一对应所述主表的第一辅助索引表用以按名称过滤兴趣点数据, 第一辅助索引表包括:名称关键字和名称索引内容;建立一对应所述主表的第 二辅助索引表用以按范围过滤兴趣点数据,第二辅助索引表包括:网格号和范 围索引内容。

所述的方法,放对应的行政区划所属的POI数据包括:POI编号,具有唯 一性,是所述主表的主键;POI属性编号,POI名称编号,POI评级,POI电 话号码,POI经度,POI纬度,POI所属Link,用于路径规划,POI的扩展属 性,标志列,记录对表的更新操作的类型。

所述的方法,所述标志列记录对表的更新操作的类型包括:追加,编辑, 以及删除;其中,所述追加是所述兴趣点的缺省值。

一种对增量型导航数据库进行更新的方法,所述增量型导航数据库包括差 分版兴趣点索引表,以及基准版兴趣点索引表;方法包括:遍历一个差分版兴 趣点索引表,所述差分版兴趣点索引表中记录了兴趣点数据的关键字和索引内 容,所述索引内容包括:删除部分和增加部分;从所述差分版兴趣点索引表中 取得一条差分记录,根据所述差分记录在基准版兴趣点索引表中获取一基准记 录,将所述基准记录存放在缓冲区中;在所述缓冲区中,根据所述索引内容的 删除部分和增加部分对所述基准记录进行删除和/或增加操作,融合成一更新 记录;将更新记录更新至存放基准记录的基准版兴趣点索引表中,所述基准版 兴趣点索引表供导航应用使用。

所述的方法,其特征在于,根据差分记录在基准版兴趣点索引表中获取一 基准记录,具体包括:将所述差分记录中的主键字段与各个所述基准记录的主 键字段进行匹配,匹配成功时,获取该基准记录。

所述的方法,根据索引内容的删除部分和增加部分对所述基准记录进行删 除和/或增加操作,具体包括:判定所述差分记录中的删除部分不为空时,对 所述基准记录进行删除操作。

所述的方法,根据所述索引内容的删除部分和增加部分对所述基准记录进 行删除和/或增加操作,具体包括:判定所述差分记录中的增加部分不为空时, 对所述基准记录进行增加操作。

所述的方法,将更新记录更新至存放所述基准记录的基准版兴趣点索引表 中,具体包括:将更新记录更新至所述基准记录的索引内容中;以及,根据更 新后的所述索引内容对所述基准版兴趣点索引表进行更新。

本发明的上述技术方案的有益效果如下:为兴趣点数据建立了主表以及至 少一个辅表,降低了数据之间的耦合度;基于主表以及辅表建立了兴趣点索引 表,通过索引内容能够对主表和辅表进行快速检索,降低了检索导航地图中的 兴趣点的硬件资源消耗和更新过程的复杂性。

附图说明

图1表示现有导航数据的更新架构示意图;

图2表示一种建立增量型导航数据库的方法流程示意图;

图3表示按名称过滤兴趣点数据的第一辅助索引表与主表的关系图;

图4表示按范围过滤兴趣点数据的第二辅助索引表与主表的关系图;

图5表示一种对增量型导航数据库的进行更新的方法流程示意图;

图6表示对差分版兴趣点索引表进行更新的更新架构图;

图7表示更新基准版兴趣点索引表IDX_POI_RADIUS流程示意图。

具体实施方式

为使本发明要解决的技术问题、技术方案和优点更加清楚,下面将结合附 图及具体实施例进行详细描述。

本发明提出了兴趣点存储模型,以及基于兴趣点存储模型对兴趣点(POI, Point of Interest)数据进行增量更新的技术,其中,

兴趣点,是导航地图技术的术语,表示在更新过程中需要被关注的事物。

地图格网(MESH),导航地图按经纬度范围划分后形成若干矩形的数据块, 一个数据块与整个导航地图的数据相比包含了一个较小的数据量,可加载到内 存中。

二进制大对象(BLOB,Binary Large Object),用来存储自定义结构的二进 制数据。

嵌入式数据库,是一种轻量级的数据库,与传统的数据库不同,嵌入式数 据库具有独特的嵌入式运行模式,嵌入式数据库嵌入在应用程序进程中,消除 了与服务器配置相关的开销;在运行时只需要较少的内存;对于嵌入式设备, 其速度更快。嵌入式运行模式允许嵌入式数据库通过SQL来管理应用程序数 据,而不依靠原始的文本文件。

常用的嵌入式数据库有SQLite,Birkeley DB,Firebird嵌入服务器版,嵌 入式数据库的特点包括:

1,无需安装配置,应用程序只需携带一个动态链接库。

2,结构小巧。

3,ACID(Atomic、Consistent、Isolated和Durable),原子性、一致性、隔 离性和持久性。

4,嵌入式数据库文件可以在不同字节顺序的机器间自由的共享,比如可 以直接从Windows移植到Linux或MAC。

5,支持2TB大小的数据容量。

本发明实施例提供一种建立增量型导航数据库的方法,如图2所示,包括:

步骤201,获取存放POI数据的主表,所述主表对应着至少一个辅表,所 述主表与所述辅表之间存在表间关联关系;

步骤202,在主表以及至少一个辅表上增加一标志列(UPDATE_FLAG), 所述标志列记录对表的更新操作的类型;

步骤203,基于所述主表以及至少一个所述辅表,建立至少一个兴趣点索 引表,所述兴趣点索引表中具有索引关键字和索引内容(POI_MATCH),所述 索引内容中记录主表以及至少一个所述辅表中的部分内容;

步骤204,将所述兴趣点索引表中的POI_MATCH分为两列,第一列记录 删除部分,第二列记录增加部分。

应用所提供的技术方案,为兴趣点数据建立了主表以及至少一个辅表,降 低了数据之间的耦合度;由于基于主表以及辅表建立了兴趣点索引表,通过索 引内容能够对主表和辅表进行快速检索,降低了检索导航地图中的兴趣点的硬 件资源消耗和复杂性。

在一个优选实施例中,如图3所示,为每个行政区划分别建立一张所述主 表,各个所述主表的表结构相同,表名包含各自的行政区划编号,存放对应的 行政区划所属的POI数据;

至少一个辅表中,分别存放POI分类、POI名称、行政区划、行政区划和 地图网格之间的对应关系,以及POI数据之间的父子关系。

其中,POI数据是一个宽泛的概念,可以是关于POI的任何信息数据。

在一个优选实施例中,如图3所示,建立至少一个差分版兴趣点索引表, 具体包括:建立一对应所述主表的第一辅助索引表,用以按名称过滤兴趣点数 据,第一辅助索引表包括:名称关键字和名称索引内容;

第一辅助索引表以POI名称中的重要关键词为主键,在名称索引内容中 存放一个索引单元序列,每个索引单元中包含一个POI编号和该关键词在POI 名称中所处的位置,根据索引单元中的POI编号可以快速到POI信息主表找 到含有该关键词的POI。

如图4所示,建立一对应主表的第二辅助索引表用以按范围过滤兴趣点数 据,第二辅助索引表包括:网格号和范围索引内容。

第二辅助索引表以网格号为主键,在范围索引内容中存放一个索引单元序 列,每个索引单元中包含一个POI编号和该POI的分类编号,根据索引单元 中的POI编号可以快速到POI信息主表找到该网格范围内的POI。

在第一辅助索引表和第二辅助索引表中,每一条POI记录对应着一个二 进制大对象,在二进制大对象中包括了POI的不同的属性字段。导航电子地 图中,POI数据的属性字段包括:分类,名称,电话号码,坐标,所属的行政 区划,可到达该兴趣点的道路(Link),兴趣点评级等;根据这些属性字段以及 兴趣点检索的需要,为兴趣点数据库设计各种表(Table):其中,POI记录可以 称为索引单元,每个索引单元中都会包含一个POI编号。

POI_INFO_PRVC是存放POI数据的主表,由于POI数量巨大,为了方便 管理以及减少数据的冗余,对应我国31个省/直辖市建立31张POI信息的主 表,即POI_INFO_PRVC11~POI_INFO_PRVC65,其中11和65均是中国的 行政区划编号,分别指代北京和新疆。

在一个优选实施例中,各个子主表中存放的各个POI数据包括:

POI编号,具有唯一性,是子主表的主键;

POI属性编号,

POI名称编号,

POI评级,

POI电话号码,

POI经度,

POI纬度,

POI所在的可到达路径(Link),用于路径规划,

POI的扩展属性,

标志列。

在一个优选实施例中,标志列记录对表的更新操作的类型包括:追加,编 辑,以及删除;其中,追加是所述兴趣点的缺省值。

在一个应用场景中,对于第一辅助索引表和第二辅助索引表而言,不需要 编辑操作,将第一辅助索引表和第二辅助索引表中的POI_MATCH字段分为 两列,一列用于记录删除BLOB中的不需要的POI_ID,另一张记录在BLOB 中进行追加操作。兴趣点增量更新的过程中,需要从服务器端下载一份差分数 据,通过导航仪客户端读取差分数据并将其融合到基准版数据之中来完成整个 更新过程,包括:

这种基于数据库存储的兴趣点数据增量更新会涉及到两种情况,一种是对 字段进行直接替换更新,另一种是对字段进行融合更新。

前一种方法适用于数据库表中的普通字段以及小数据量BLOB字段,相 对而言比较简单,后一种主要用于对大数据量BLOB的更新,过程比较复杂。

对于数据库中除了两张索引表之外的大多数表而言,都可以采用字段直接 替换的方法,即通过SQL语句来进行更新。

更新索引表的过程中,会涉及到对大数据量BLOB进行更新,无法通过 简单的SQL语句来实现,需要实现基准版BLOB与差分版BLOB的融合并调 用SQLite的API来更新基准版数据中的BLOB。

本发明实施例提供一种对增量型导航数据库的进行更新的方法,如图5 所示,包括:

步骤501,遍历一个差分版兴趣点索引表,差分版兴趣点索引表中的一条 差分记录中包括兴趣点的关键字和索引内容,所述索引内容包括:删除部分和 增加部分;

步骤502,从所述差分版兴趣点索引表中取得一条差分记录,

步骤503,根据所述差分记录获取一基准记录,将所述基准记录存放在缓 冲区A中;

步骤504,在所述缓冲区A中,根据索引内容的删除部分和增加部分对所 述基准记录进行删除和/或增加操作,融合成一更新记录;具体包括:

基准版兴趣点索引表中存储了对POI信息主表的索引,即由一串索引单 元组成的序列S,该序列S在步骤503中已经被存放到缓冲区A中。

差分版兴趣点索引表的删除部分中存储了需要从基准版兴趣点索引表中 删除的索引单元序列S1,而增加部分中存储了需要在基准版兴趣点索引表中 增加的索引单元序列S2。

先将缓冲区A中序列S和S1的交集删除,再将序列S2追加到缓冲区A 中,此时缓冲区A中就形成了融合后的更新记录。

步骤505,将更新记录更新至存放基准记录的基准版兴趣点索引表中,形 成增量更新后的数据库。

应用所提供的技术方案,由于兴趣点索引表具有差分版兴趣点索引表和基 准版兴趣点索引表,将基准版兴趣点索引表中的基准记录存入缓冲区A中, 在缓冲区A中,将对应的差分记录和基准记录进行对比,以对基准记录进行 删除和/或增加操作,融合成一更新记录,降低了更新兴趣点数据的复杂度, 以及降低了增量更新兴趣点数据的硬件资源开销。

如图6所示,将兴趣点数据的存储模型改为基于嵌入式数据库来存储,包 括:

从服务器下载差分兴趣点数据库,差分兴趣点数据库中存放了差分版兴趣 点索引表,差分版兴趣点索引表中存放了多条差分记录;

从服务器下载基准兴趣点数据库,基准兴趣点数据库中存放了基准版兴趣 点索引表,基准版兴趣点索引表中存放了多条基准记录。

对基准版兴趣点索引表更新之后,调用数据库API,将更新之后的基准版 兴趣点索引表存入服务器的基准兴趣点数据库,此时,该更新后的基准兴趣点 数据库是一个增量更新的兴趣点数据库。

在一个优选实施例中,根据差分记录获取一基准记录,具体包括:将所述 差分记录中的主键字段与各个所述基准记录的主键字段进行匹配,匹配成功 时,获取该基准记录。

在一个优选实施例中,根据索引内容的删除部分和增加部分对所述基准记 录进行删除和/或增加操作,具体包括:

判定所述差分记录中的删除部分不为空时,对所述基准记录进行删除操 作。

在一个优选实施例中,根据所述索引内容的删除部分和增加部分对所述基 准记录进行删除和/或增加操作,具体包括:

判定所述差分记录中的增加部分不为空时,对所述基准记录进行增加操 作。

在一个优选实施例中,将更新记录更新至存放所述基准记录的基准版兴趣 点索引表中,具体包括:

将更新记录更新至所述基准记录的索引内容,

以及,根据更新后的所述索引内容更新存放所述兴趣点数据的基准版兴趣 点索引表中;之后,根据更新后的基准版兴趣点索引表更新所述主表以及该主 表的对应的所述子主表。

以更新基准版兴趣点索引表IDX_POI_RADIUS为例,具体流程如图7所 示,包括:

步骤701,开始更新,从服务器下载一差分兴趣点数据库,差分兴趣点数 据库中存放了差分版兴趣点索引表,差分版兴趣点索引表中存放了多条差分记 录;差分记录中包括兴趣点的关键字和索引内容,索引内容包括:删除部分和 增加部分。

步骤702,遍历差分版兴趣点索引表中的差分记录X。

步骤703,从服务器下载基准兴趣点数据库,基准兴趣点数据库中存放了 基准版兴趣点索引表,基准版兴趣点索引表中存放了多条基准记录。

从基准版兴趣点索引表中取得一条MESHCODE字段与差分记录X相同 的基准记录Y。

步骤704,将基准记录Y的POI_MATCH字段载入到缓冲区A。

步骤705,判断差分记录X的POI_DEL字段是否为空,如果是,转步骤 707,否则,转步骤706。

步骤706,将差分记录X的POI_DEL字段载入到缓冲区B,从缓冲区A 中删除POI_ID与缓冲区B存在交集的内容。

步骤707,判断基准记录Y的POI_ADD字段是否为空,如果是,转步骤 709,否则,转步骤708。

步骤708,将差分记录X的POI_ADD字段载入到缓冲区C,将缓冲区C 中所有POI记录添加到缓冲区A。

步骤709,将融合后的缓冲区A的内容用UPDATE语句回写至基准版兴 趣点索引表中的POI_MATCH字段。

步骤710,判断差分版兴趣点索引表IDX_POI_RADIUS是否遍历结束, 如果是,转步骤711,否则转步骤702。

步骤711,更新BLOB结束。对基准版兴趣点索引表更新之后,调用数据 库API,将更新之后的基准版兴趣点索引表存入服务器的基准兴趣点数据库。

采用本方案之后的优势是:降低了数据格式的耦合度,方便导航兴趣点数 据的更新,降低了导航兴趣点数据更新流程的复杂度,降低了导航兴趣点数据 增量更新的硬件资源开销。

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

去获取专利,查看全文>

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号