CN101750085B - 基于履历信息的导航电子地图差分数据生成方法及装置 - Google Patents
基于履历信息的导航电子地图差分数据生成方法及装置 Download PDFInfo
- Publication number
- CN101750085B CN101750085B CN2008102393781A CN200810239378A CN101750085B CN 101750085 B CN101750085 B CN 101750085B CN 2008102393781 A CN2008102393781 A CN 2008102393781A CN 200810239378 A CN200810239378 A CN 200810239378A CN 101750085 B CN101750085 B CN 101750085B
- Authority
- CN
- China
- Prior art keywords
- data
- tables
- resume
- map
- bit field
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 47
- 230000008859 change Effects 0.000 claims abstract description 40
- 230000008569 process Effects 0.000 claims abstract description 18
- 238000012217 deletion Methods 0.000 claims description 34
- 230000037430 deletion Effects 0.000 claims description 34
- 230000009471 action Effects 0.000 claims description 23
- 238000013144 data compression Methods 0.000 claims description 18
- 238000007906 compression Methods 0.000 claims description 11
- 230000006835 compression Effects 0.000 claims description 11
- 238000012986 modification Methods 0.000 claims description 7
- 230000004048 modification Effects 0.000 claims description 7
- 238000013461 design Methods 0.000 description 8
- 230000006378 damage Effects 0.000 description 7
- 238000010586 diagram Methods 0.000 description 5
- 241001269238 Data Species 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 238000010923 batch production Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000012797 qualification Methods 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 238000002407 reforming Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000009897 systematic effect Effects 0.000 description 1
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种基于履历信息的导航电子地图差分数据生成方法及装置,属于导航技术领域,该方法包括:在地图数据库中设置至少一个与数据表对应的履历表;当需要删除数据表中的数据时,将数据表中需要删除数据的有效位字段标记为无效;或者当需要修改数据表中的数据时,将数据表中需要修改的数据的有效位字段标记为无效,并且在数据表中增加修改后的数据,该修改后的数据的有效位字段标记为有效;然后在履历表中记录导致数据表中数据的有效位字段发生变化的履历信息;根据履历表中记录的履历信息获取导航电子地图的差分数据,有效降低数据差分过程的复杂度和对比范围。
Description
技术领域
本发明涉及导航技术领域,尤其涉及一种基于履历信息的导航电子地图差分数据生成方法及装置。
背景技术
近年来导航产业内越来越注重电子地图的更新方式。目前常用的导航电子地图更新方式是通过CD或VCD等介质的更新来实现数据升级,但从数据采集到最终销售的周期较长,从而影响延误了用户所使用导航电子地图中数据的更新。
针对导航电子地图的更新问题,国际上一些导航业界的标准组织和企业,先后投入了对下一代导航电子地图系统的研究和开发工作。这些下一代导航电子地图系统在数据的差分更新方面的体现是同时支持区域更新、差分更新和临时更新等方式,以有效地保障地图实时性的要求。现有的一种数据差分更新方法是:通过导航电子地图中目标的ID(该ID可用于标识该弧段)来生成差分数据,首先需要产品设计人员遍历导航电子地图数据库中所有目标的ID,然后对比不同版本导航电子地图数据库中所有目标的ID,通过比对目标的ID可找出两个不同版本导航电子地图之间的差异。
在实现本发明的过程中,发现现有技术中至少存在如下问题:现有的基于弧段ID的数据差分方法,要求在每个地图版本中的ID必须具有永久性和继承性,使得产品设计人员在进行数据差分时,需要使用较复杂的编码原则来对大量的数据进行编码,并且还需要根据ID将完整的前后两版导航电子地图中的数据逐条比较和分析,降低了差分数据的效率。
发明内容
为了解决上述问题,本发明的目的是提供一种基于履历信息的导航电子地图差分数据生成方法及装置,有效降低了维护数据本身的标示ID带来的成本和高复杂度的问题,并且能够快速定位导航电子地图中数据的变化范围,从而提高了产品设计人员差分数据的效率。
为了达到上述目的,本发明提供一种基于履历信息的导航电子地图差分数据生成方法,所述导航电子地图包括至少一个地图数据库,所述地图数据库中包括至少一个数据表,记录有所述地图数据库中的数据,所述方法包括:
在所述地图数据库中设置至少一个与所述数据表对应的履历表;
当需要删除所述数据表中的数据时,将所述数据表中需要删除数据的有效位字段标记为无效;或者当需要修改所述数据表中的数据时,将所述数据表中需要修改的数据的有效位字段标记为无效,并在所述数据表中增加修改后的数据,所述修改后的数据的有效位字段标记为有效;
在所述履历表中记录导致所述数据表中数据的有效位字段发生变化的履历信息,所述履历信息包括:删除数据的相关信息和新增数据的相关信息;
根据所述履历表中记录的履历信息获取所述导航电子地图的差分数据。
优选地,所述数据表中记录有数据的基本信息,所述数据的基本信息包括:数据在数据表中的行ID、数据所在的数据表ID、数据本身的标示ID和数据的有效位字段。
优选地,所述删除数据的相关信息包括:删除数据在数据表中的行ID、删除数据所在的数据表ID、删除数据本身的标示ID和标记为删除操作的数据的变更类型;
新增数据的相关信息包括:新增数据在数据表中的行ID、新增数据所在的数据表ID、新增数据本身的标示ID和标记为新增操作的数据的变更类型。
优选地,在根据所述履历表中记录的履历信息获取所述地图数据库的差分数据的步骤之前,所述方法还包括:
按照预定的数据压缩策略,对所述数据表中记录的数据和所述履历表中记录的履历信息进行数据压缩处理,获得压缩后的数据表和压缩后的履历表。
优选地,所述预定的数据压缩策略为:
若数据表中具有同一标示ID的数据的有效位字段最初标记为无效,而最后该具有同一标示ID的数据的有效位字段标记为有效时,在数据表中只保留该具有同一标示ID的数据的最后一条有效位字段标记为有效的相关记录,删除数据表中该具有同一标示ID的数据的其它相关记录;
所述履历表分别保留该具有同一标示ID的数据的最初的删除操作的相关信息和最后的新增操作的相关信息;或者
若数据表中具有同一标示ID的数据的有效位字段最开始标记为无效,最后该具有同一标示ID的数据的有效位字段标记为无效时,在数据表将该具有同一标示ID的数据的所有记录都删除掉;
所述履历表保留最后一条该具有同一标示ID的数据的删除操作的相关信息。
优选地,所述根据所述履历表中记录的履历信息获取所述导航电子地图的差分数据的步骤为:
当具有同一标示ID的数据在履历表中成对出现多次,且数据的变更类型分别标记为删除操作和新增操作时,将数据的变更类型标记为新增操作数据读取出,并将数据标记为所述导航电子地图的差分数据;或者
当具有同一标示ID的数据在履历表中出现多次,且第一条和最后一条该具有同一标示ID的数据的变更类型都标记为删除操作时,将数据的变更类型标记为删除操作的第一条数据读取出,并将该数据标记为所述导航电子地图的差分数据;或者
当通过标示ID判断出该数据在履历表中唯一出现,且数据的变更类型标记为删除操作时,将该数据标记为所述导航电子地图的差分数据;或者
当通过标示ID判断出该数据在履历表中唯一出现,且数据的变更类型标记为新增操作时,将该数据标记为所述导航电子地图的差分数据。
本发明还提供一种基于履历信息的导航电子地图差分数据生成装置,所述导航电子地图包括至少一个地图数据库,所述地图数据库中包括至少一个数据表,记录有所述地图数据库中的数据,所述装置包括:
设置模块,用于在所述地图数据库中设置至少一个与所述数据表对应的履历表;
记录模块,用于在所述履历表中记录针对数据在变更时所产生的履历信息;
获取模块,用于根据所述履历表中记录的履历信息获取所述导航电子地图的差分数据。
优选地,所述记录模块包括:
第一记录单元,当需要删除所述数据表中的数据时,用于将所述数据表中需要删除数据的有效位字段标记为无效;或者当需要修改所述数据表中的数据时,用于将所述数据表中需要修改的数据的有效位字段标记为无效,并在所述数据表中增加修改后的数据,所述修改后的数据的有效位字段标记为有效;
第二记录单元,用于在所述履历表中记录导致所述数据表中数据的有效位字段发生变化的履历信息,所述履历信息包括删除数据的相关信息和新增数据的相关信息。
优选地,所述装置还包括:
压缩模块,用于按照预定的数据压缩策略,对所述数据表中记录的数据和所述履历表中记录的履历信息进行数据压缩处理。
上述技术方案中的至少一个技术方案具有如下有益效果:通过在与数据表对应的履历表中,记录导致该数据表中数据的有效位字段发生变化的履历信息,使得用户可通过该履历表中记录的履历信息和数据表中记录的数据获得该导航电子地图数据库的差分数据,由于可减少数据差分过程中的冗余信息,从而提高了设计人员进行数据差分的效率。
附图说明
图1为本发明实施例中基于履历信息的导航电子地图差分数据生成方法的流程图;
图2为本发明的实施例中基于履历信息的导航电子地图差分数据生成装置的框图。
具体实施方式
为了使本发明实施例的目的、技术方案和优点更加清楚明白,下面结合实施例和附图,对本发明实施例做进一步详细地说明。在此,本发明的示意性实施例及说明用于解释本发明,但并不作为对本发明的限定。
在本实施例中,该导航电子地图中包括至少一个地图数据库,该地图数据库中包括至少一个数据表,该数据表用于记录地图数据库中的数据。如图1所示,为本发明的实施例中基于履历信息的导航电子地图差分数据生成方法的流程图,具体步骤如下:
步骤101、在地图数据库中设置至少一个与该数据表对应的履历表;
为了便于理解可将地图数据库理解为导航电子地图的数据库,当然也并不限于此。上述数据表除了记录数据的原始值,还可用于记录新增的数据,该新增的数据可以是后续对数据修改后的结果。参见表1,为本实施例中数据表的结构示意图,当然该数据表的结构并不限于此。
表1
rowed | tableID | objectID | bvalid | 类型 | functionclass |
1 | 101 | 10 | 0 | 高速公路 | 1 |
2 | 101 | 77 | 0 | 国道 | 2 |
其中,1)rowID表示:该数据在数据表中的行号;
2)tableID表示:该数据所在的数据表号;
3)objectID可理解为导航电子地图的数据库中数据本身的标示ID;
4)bvalid表示:有效位字段,“0”表示该条数据有效,“1”表示该条数据无效,通过bvalid可判断出在数据表中记录的数据是否有效,当某条数据被标记为无效时,意味着产品设计人员对该条原始数据进行过修改,或者将该条数据从数据表中删除了,通过该标记即可获得哪些数据可能与上一版地图数据库中的数据不一样。
5)functionclass表示:道路功能等级,例如高速公路的道路功能等级可设置为1,国道的道路等级可设置为2。
在表1中记录了“tableID”为“101”的数据表中的两条弧段的相关信息,该两条弧段的“objectID”分别为“10”和“77”,其中“objectID”为“10”的弧段的“类型”为“高速公路”,“objectID”为“77”的弧段的“类型”为“国道”。
在本步骤中设置了一个与上述数据表对应的履历表。参见表2,为本实施例中履历表的结构示意图,当然该履历表的结构并不限于此。
表2
tableID | rowID | objectID | groupID | changedtableID | changedrowID | changedOID | changedDate | changedplace | changedtype |
其中,1)tableID表示:该数据所在数据表号;
2)rowID表示:数据在数据表中的行号;
3)objectID可理解为导航电子地图数据库中数据本身的标示ID;
4)groupID表示:履历组编号,用于标识某一操作导致的数据变化集合,每个编辑操作设置一个编号。在本实施例中可根据具体功能设定,如创建Link和分割Link是两个编辑操作,每个功能对应一个履历组编号;并且可根据表2中记录此履历组编号对此次的修改进行“撤销”和“重做”,也就是根据履历组编号可进行数据的恢复操作;
5)changedtableID表示:目标表号,发生变更的数据所在的数据表号码,与表1中的tableID对应;
6)changedrowID表示:变更数据在数据表中的行号,与表1中的rowID对应;
7)ChangedOID表示:变更数据本身的标示ID,与表1中objectID对应;
8)ChangedDate表示:该变化发生的时间,例如可记录:某年-某月-某日,或者可进一步精确到小时或者分钟;
9)Changedplace表示:数据变更发生的场景,该场景包括:编辑过程(edit)、采集过程和批处理过程等,在下面仅介绍发生在对数据进行编辑过程的场景中的情况;
10)Changedtype表示:数据变更的类型,该变更的类型包括:新增操作add(用于表示该条数据记录的是新增数据的相关信息)和删除操作delete(用于表示该条数据记录的是数据被删除的相关信息),在本实施例中,删除操作的方式包括:打标识的删除和真正的删除,真正的删除在进行数据压缩时是不能回退的操作。
在本实施例中,可将履历表标记为与数据表一一对应的方式,即一个数据表对应一个履历表,此时任何对该数据表中数据的编辑操作,在编辑数据表中的数据时,都将同时维护该履历表,即将编辑该数据所产生的履历信息记录到履历表中,通过数据表和履历表可共同实现履历信息和数据的管理。
步骤102、当需要删除数据表中的数据时,将该数据表中需要删除数据的有效位字段标记为无效;或者当需要修改数据表中的数据时,可将数据表中需要修改数据的有效位字段标记为无效,并在数据表中增加修改后的数据,将新增数据的有效位字段标记为有效;
在本实施例中,可将数据表中所有数据的变更归结为增加和删除两种编辑方式,其中“增加”可理解为:当需要修改数据表中的某一数据时(例如修改数据表中记录的“类型”和“道路功能等级”等),首先将需要修改数据的有效位字段设置成无效,然后将修改后的数据记录到该数据表中,此时表现出来的就是在该数据表中增加了一新的数据,而修改前的数据仍然记录在该数据表中,只是修改前的数据被标记为无效数据。
而“删除”可理解为:打标识的删除和真正的删除,其中打标识的删除可理解为:当需要删除数据表中的某一数据时,只需将该数据的有效位字段设置成无效,也就是将该数据标记为无效的数据,此时该数据仍然记录在该数据表中,而真正的删除也就是将该数据从数据表中彻底删除掉,不在该数据表中留下任何记录。
为了便于理解,可结合表1中记录的数据来说明,此时设计人员对数据表中记录的数据进行修改,表3为数据被修改后的数据表。
表3
rowID | tableID | objectID | bvalid | 类型 | functionclass |
1 | 101 | 10 | 1 | 高速公路 | 1 |
2 | 101 | 77 | 1 | 国道 | 2 |
3 | 101 | 10 | 1 | 高速公路 | 2 |
4 | 101 | 77 | 0 | 国道 | 1 |
5 | 101 | 10 | 0 | 高速公路 | 1 |
由表3可知,设计人员首先对“objectID”为“10”的数据进行修改(即第一次对数据表中的数据进行修改),此次修改可理解为:首先删除数据表中第1行中记录的数据,也就是将第1行中“objectID”为“10”的数据的“bvalid”由“0”修改为“1”,然后将修改后的数据通过增加的方式记载在数据表中的第3行中,并且新增数据的“bvalid”标记为“0”;
在第二次对数据表中的数据进行修改中,此次修改可理解为:首先删除数据表中第2行中记录的数据,也就是将第2行中“objectID”为“77”的弧段的“bvalid”由“0”修改为“1”,然后将修改后的数据通过增加的方式加载在数据表的第4行,并且新增数据的“bvalid”标记为“0”;
在第三次对数据表中的数据进行修改中,此次修改可理解为:首先删除数据表中第3行中记录的数据,也就是将第3行“objectID”为“10”的弧段的“bvalid”由“0”修改为“1”,然后将修改后的数据通过增加的方式记载在数据表中的第5行,并且新增数据的“bvalid”标记为“0”;
在本实施例中,可通过设置“bvalid”来标记数据表中记录的数据是否有效,当然设置参数是否有效的方式并不限于此。
通过上面的修改,虽然对数据表中的数据进行了修改,但由于将该修改的操作方式归结为增加操作和删除操作,例如当数据需要进行修改时,不是直接将该数据从数据表中删除,而是首先将该条数据的有效位字段设置成无效,接着将修改后的数据记录到数据表中,一方面保存了一个完整的历史数据信息,另一方面为后续的撤销操作提供了基础。
步骤103、在步骤101中设置的履历表中记录了步骤102中导致数据表中数据的有效位字段发生变化的履历信息,该履历信息包括删除数据的相关信息和新增数据的相关信息;
也就是将步骤102中由于修改数据所产生的履历记录到履历表中。参见表4,为本发明中记录有表3中履历的履历表。表4中记录的都是在edit(编辑)场景中所产生的履历。
表4
tableID | rowID | objectID | groupID | changedtableID | changedrowID | changedOID | changedDate | changedplace | changedtype |
101 | 1 | 10 | 2 | 101 | 1 | 10 | 2008-6-11 | edit | delete |
101 | 3 | 10 | 2 | 101 | 3 | 10 | 2008-6-11 | edit | add |
101 | 2 | 77 | 3 | 101 | 2 | 77 | 2008-6-11 | edit | delete |
101 | 4 | 77 | 3 | 101 | 4 | 77 | 2008-6-11 | edit | add |
101 | 3 | 10 | 5 | 101 | 3 | 10 | 2008-6-12 | edit | delete |
101 | 5 | 10 | 5 | 101 | 5 | 10 | 2008-6-12 | edit | add |
在表4的第1~2行中,记录了数据表的第一次修改(参见表3),即在时间为:2008年6月11日时,设计人员delete删除了数据表中第1行的数据(也就是将该数据标记为无效数据),并在数据表的第3行中增加add了修改后的数据。然后可将此次“delete”和“add”两个操作的“groupID”设置为“1”,用于表示这两个操作是一组的,设计人员可通过“groupID”进行撤销操作,由于知道哪些操作是关联操作,因此可通过撤销操作来还原到原始记录的数据。
在表4的第3~4行中,记录了数据表的第二次修改(参见表3),即在在时间为:2008年6月11日时,设计人员删除了数据表中第2行的数据(也就是将该数据标记为无效数据),并在数据表的第4行增加了修改后的数据。然后可将此次“delete”和“add”两个操作的“groupID”设置为“2”,用于表示这两个操作是一组的。设计人员可通过“groupID”进行撤销操作,由于知道哪些操作是关联操作,因此可通过撤销操作来还原到原始记录的数据。
在表4的第5~6行中,记录了数据表的第三次修改(参见表3),即在在时间为:2008年6月12日时,设计人员删除了数据表中第3行的数据(也就是将该数据标记为无效数据),并在数据表的第5行中增加了修改后的数据。然后可将此次“delete”和“add”两个操作的“groupID”设置为“3”,用于表示这两个操作是一组的。设计人员可通过“groupID”进行撤销操作,由于知道哪些操作是关联操作,因此可通过撤销操作来还原到原始记录的数据。
步骤104、按照预定的数据压缩策略,对经过步骤102处理的数据表和经过步骤103处理的履历表进行压缩数据处理,获得压缩后的数据表和压缩后的履历表;
在本实施例中,可根据以下四种预定的数据压缩策略对数据进行压缩处理,具体如下:
策略一、“无效”→“**”→“有效”:也就是数据表中的具有同一标示ID的数据的有效位字段最初标记为无效,而最后该具有同一标示ID(即具有同一“objectID”)的数据的有效位字段标记为有效时(中间的数据变更过程不去考虑),在数据表中只保留具有同一标示ID的数据的最后一条有效位字段标记为有效的相关记录,删除数据表中具有同一标示ID的数据的其他相关记录;履历表分别保留具有同一标示ID的数据的最初的删除操作的相关信息和最后的新增操作的相关信息,此时,意味着目标数据被修改了;
策略二、“无效”→“**”→“无效”:也就是数据表中具有同一标示ID的数据的有效位字段最开始标记为无效,最后该具有同一标示ID的数据的有效位字段被标记为无效(中间的数据变更过程不去考虑),在数据表可将具有该“objectID”数据的所有记录都删除掉;履历表保留最后一条的具有该“objectID”的数据的删除操作的相关信息,意味着目标数据被删除了;
“有效”:也就是数据表中某数据的有效位字段为有效,履历表记录一次该记录被“新增”的操作,再无其他变更记录,说明该记录为新增记录。数据压缩时,数据表、履历表记录不变。“无效”:也就是数据表中某数据的有效位字段一直为无效,履历表记录一次该记录被“删除”的操作,再无其他变更记录,说明该记录为删除记录。数据压缩时,数据表、履历表记录不变。
由表3中的参数“bvalid”分析可知,在本实施例中可采用上述策略一进行数据的压缩处理。参见表5,为将表3中记录的数据进行压缩后的数据表的结构图;
表5
rowID | objectID | bvalid | 类型 | functionclass |
4 | 10 | 0 | 高速公路 | 1 |
5 | 77 | 0 | 国道 | 1 |
根据表3中的参数“bvalid”可知,在表3中的第1行~第3行中所记载的数据都是无效的,这些无效的数据在进行差分数据中属于冗余信息,此时可直接将这些无效的数据删除掉,表5中只记录了有效的数据(即表3中的第4行和第5行中记录的数据)。
同样,可通过现有的数据压缩方式对履历表中记录的履历信息进行压缩,例如可只将有效的履历信息记录下来,压缩后的履历表可称为有效履历表。参见表6,为将表4中的履历信息进行压缩后的履历表结构图;
表6
groupID | changedtableID | changedOID | changedtype |
1 | 101 | 10 | delete |
2 | 101 | 77 | delete |
2 | 101 | 77 | add |
3 | 101 | 10 | add |
由表6可知,压缩后的履历表(即有效履历表)中只保留了该条数据的第一条履历信息和最后一条履历信息,去除了编辑过程中的无效记录。根据此策略分析可知,履历表(表4)中“changedOID”为“10”的数据的第一条履历信息和最后一条履历信息分别记录在表4中的第1行和第6行中,而“changedOID”为“77”的数据的第一条履历信息和最后一条履历信息分别记录在表4中的第3行和第4行,因此压缩后的履历表(表6)只保留了表4中的第1行、第3行、第4行和第6行的数据,参见表6。
步骤105、根据履历表中记录的履历信息获取地图数据库的差分数据。
在本实施例中,获取导航电子地图数据差分数据的方法可采用以下四种方式:
1)当同一“changedOID”成对出现多次,且“changedtype”标识分别为“delete”和add”时,表示具有该“changedOID”的数据在数据表中被修改了,此时可将“changedtype”标识为“add”的数据读取出,该数据为差分数据;
2)当同一“changedOID”出现多次,且“changedtype”标识第一次和最后一次都是“delete”时,表示具有该“changedOID”的数据在数据表中被删除了,此时可将“changedtype”标识为“delete”的第一条数据读取出,该数据为差分数据;
3)当同一“changedOID”唯一出现且“changedtype”标识为“add”时,该数据为新增的数据,同时也是产品设计人员想要获得的差分数据;
4)当同一“changedOID”唯一出现且“changedtype”标识为“delete”时,该数据为被删除的数据,同时也是产品设计人员想要获得的差分数据。
通过执行步骤101~步骤104,设计人员已经获得了履历表和修改后的数据表,通过该履历表设计人员就能够判断出在此版电子地图设计时,哪些数据修改过,而这些修改后的数据可理解为导航电子地图数据库的差分数据,此时设计人员只需对这些修改后的数据进行比较分析,从而减少了数据差分过程中对比的信息量,可提高了产品设计人员的差分数据的效率。
由上述技术方案可知,通过在与数据表对应的履历表中,记录导致该数据表中数据的有效位字段发生变化的履历信息,使得用户可通过该履历表中记录的履历信息和数据表中记录的数据,来获得该导航电子地图数据库的差分数据,减少了通过ID进行数据差分过程中的冗余信息,可提高设计人员进行数据差分的效率。
为了实现上述的方法实施例,本发明的其他实施例还提供了一种基于履历信息的导航电子地图差分数据生成装置。另需首先说明的是,由于下述的实施例是为实现前述的方法实施例,故该装置都是为了实现前述方法的各步骤而设,但本发明并不限于下述的实施例,任何可实现上述方法装置都应包含于本发明的保护范围。并且在下面的描述中,与前述方法相同的内容在此省略,以节约篇幅。
参见图2,为本实施例中基于履历信息的导航电子地图差分数据生成装置的框图,在本实施例中导航电子地图包括至少一个地图数据库,该地图数据库包括至少一个数据表,该装置包括:
设置模块,用于在所述地图数据库中设置至少一个与所述数据表对应的履历表;
记录模块,用于在所述履历表中记录针对数据在变更时所产生的履历信息;
获取模块,用于根据所述履历表中记录的履历信息获取所述导航电子地图的差分数据。
上述记录模块包括:
第一记录单元,当需要删除所述数据表中的数据时,用于将所述数据表中需要删除数据的有效位字段标记为无效;或者当需要修改所述数据表中的数据时,用于将所述数据表中需要修改的数据的有效位字段标记为无效,并在所述数据表中增加修改后的数据;
第二记录单元,用于在所述履历表中记录导致所述数据表中数据的有效位字段发生变化的履历信息,所述履历信息包括删除数据的相关信息和新增数据的相关信息。
在本发明的另一实施例中,装置还包括:
压缩模块,用于按照预定的数据压缩策略,对所述数据表中记录的数据和所述履历表中记录的履历信息进行数据压缩,获得压缩后的数据表和压缩后的履历表。
由上述技术方案可知,通过设置至少一个与数据表对应的履历表,并在该履历表中记录导致该数据表中数据的有效位字段发生变化的履历信息,使得用户可通过该履历表中记录的履历信息和数据表中记录的数据,来获得该导航电子地图数据库的差分数据,减少了通过ID进行数据差分过程中的冗余信息,可提高设计人员进行数据差分的效率。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (8)
1.一种基于履历信息的导航电子地图差分数据生成方法,所述导航电子地图包括至少一个地图数据库,所述地图数据库中包括至少一个数据表,记录有所述地图数据库中的数据,其特征在于,所述方法包括:
在所述地图数据库中设置至少一个与所述数据表对应的履历表;
当需要删除所述数据表中的数据时,将所述数据表中需要删除数据的有效位字段标记为无效;或者当需要修改所述数据表中的数据时,将所述数据表中需要修改的数据的有效位字段标记为无效,并在所述数据表中增加修改后的数据,所述修改后的数据的有效位字段标记为有效;
在所述履历表中记录导致所述数据表中数据的有效位字段发生变化的履历信息,所述履历信息包括:删除数据的相关信息和新增数据的相关信息;
当具有同一标示ID的数据在履历表中成对出现多次,且数据的变更类型分别标记为删除操作和新增操作时,将数据的变更类型标记为新增操作数据读取出,并将数据标记为所述导航电子地图的差分数据;或者
当具有同一标示ID的数据在履历表中出现多次,且第一条和最后一条该具有同一标示ID的数据的变更类型都标记为删除操作时,将数据的变更类型标记为删除操作的第一条数据读取出,并将该数据标记为所述导航电子地图的差分数据;或者
当通过标示ID判断出该数据在履历表中唯一出现,且数据的变更类型标记为删除操作时,将该数据标记为所述导航电子地图的差分数据;或者
当通过标示ID判断出该数据在履历表中唯一出现,且数据的变更类型标记为新增操作时,将该数据标记为所述导航电子地图的差分数据。
2.根据权利要求1所述的方法,其特征在于,所述数据表中记录有数据的基本信息,所述数据的基本信息包括:数据在数据表中的行ID、数据所在的数据表ID、数据本身的标示ID和数据的有效位字段。
3.根据权利要求2所述的方法,其特征在于,所述删除数据的相关信息包括:删除数据在数据表中的行ID、删除数据所在的数据表ID、删除数据本身的标示ID和标记为删除操作的数据的变更类型;
新增数据的相关信息包括:新增数据在数据表中的行ID、新增数据所在的数据表ID、新增数据本身的标示ID和标记为新增操作的数据的变更类型。
4.根据权利要求3所述的方法,其特征在于,在根据所述履历表中记录的履历信息获取所述地图数据库的差分数据的步骤之前,所述方法还包括:
按照预定的数据压缩策略,对所述数据表中记录的数据和所述履历表中记录的履历信息进行数据压缩处理,获得压缩后的数据表和压缩后的履历表。
5.根据权利要求4所述的方法,其特征在于,所述预定的数据压缩策略为:
若数据表中具有同一标示ID的数据的有效位字段最初标记为无效,而最后该具有同一标示ID的数据的有效位字段标记为有效时,在数据表中只保留该具有同一标示ID的数据的最后一条有效位字段标记为有效的相关记录,删除数据表中该具有同一标示ID的数据的其它相关记录;
所述履历表分别保留该具有同一标示ID的数据的最初的删除操作的相关信息和最后的新增操作的相关信息;或者
若数据表中具有同一标示ID的数据的有效位字段最开始标记为无效,最后该具有同一标示ID的数据的有效位字段标记为无效时,在数据表将该具有同一标示ID的数据的所有记录都删除掉;
所述履历表保留最后一条该具有同一标示ID的数据的删除操作的相关信息。
6.一种基于履历信息的导航电子地图差分数据生成装置,所述导航电子地图包括至少一个地图数据库,所述地图数据库中包括至少一个数据表,记录有所述地图数据库中的数据,其特征在于,所述装置包括:
设置模块,用于在所述地图数据库中设置至少一个与所述数据表对应的履历表;
记录模块,用于在所述履历表中记录针对数据在变更时所产生的履历信息;
获取模块,用于当具有同一标示ID的数据在履历表中成对出现多次,且数据的变更类型分别标记为删除操作和新增操作时,将数据的变更类型标记为新增操作数据读取出,并将数据标记为所述导航电子地图的差分数据;或者
当具有同一标示ID的数据在履历表中出现多次,且第一条和最后一条该具有同一标示ID的数据的变更类型都标记为删除操作时,将数据的变更类型标记为删除操作的第一条数据读取出,并将该数据标记为所述导航电子地图的差分数据;或者
当通过标示ID判断出该数据在履历表中唯一出现,且数据的变更类型标记为删除操作时,将该数据标记为所述导航电子地图的差分数据;或者
当通过标示ID判断出该数据在履历表中唯一出现,且数据的变更类型标记为新增操作时,将该数据标记为所述导航电子地图的差分数据。
7.根据权利要求6所述的装置,其特征在于,所述记录模块包括:
第一记录单元,当需要删除所述数据表中的数据时,用于将所述数据表中需要删除数据的有效位字段标记为无效;或者当需要修改所述数据表中的数据时,用于将所述数据表中需要修改的数据的有效位字段标记为无效,并在所述数据表中增加修改后的数据,所述修改后的数据的有效位字段标记为有效;
第二记录单元,用于在所述履历表中记录导致所述数据表中数据的有效位字段发生变化的履历信息,所述履历信息包括删除数据的相关信息和新增数据的相关信息。
8.根据权利要求6所述的装置,其特征在于,所述装置还包括:
压缩模块,用于按照预定的数据压缩策略,对所述数据表中记录的数据和所述履历表中记录的履历信息进行数据压缩处理。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008102393781A CN101750085B (zh) | 2008-12-11 | 2008-12-11 | 基于履历信息的导航电子地图差分数据生成方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008102393781A CN101750085B (zh) | 2008-12-11 | 2008-12-11 | 基于履历信息的导航电子地图差分数据生成方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101750085A CN101750085A (zh) | 2010-06-23 |
CN101750085B true CN101750085B (zh) | 2012-04-04 |
Family
ID=42477407
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2008102393781A Active CN101750085B (zh) | 2008-12-11 | 2008-12-11 | 基于履历信息的导航电子地图差分数据生成方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101750085B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102411588A (zh) * | 2010-09-26 | 2012-04-11 | 金蝶软件(中国)有限公司 | 数据表的对比检验方法及系统 |
JP5999351B2 (ja) * | 2012-03-26 | 2016-09-28 | 日本電気株式会社 | データベース処理装置、方法、プログラム及びデータ構造 |
CN105336154B (zh) * | 2014-08-07 | 2018-04-13 | 北京四维图新科技股份有限公司 | 一种中国实时交通信息服务的号码更新的方法及装置 |
CN108279013B (zh) * | 2017-01-05 | 2020-11-13 | 北京四维图新科技股份有限公司 | 电子地图增量数据的检查纠错方法和装置、以及导航系统 |
CN107229746B (zh) * | 2017-06-22 | 2021-11-09 | 深圳Tcl数字技术有限公司 | 终端及多派生项目的数据处理方法和存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1770220A (zh) * | 2004-11-01 | 2006-05-10 | 株式会社日立制作所 | 差分地图数据配送方法 |
WO2008020521A1 (fr) * | 2006-08-17 | 2008-02-21 | Honda Motor Co., Ltd. | Serveur de navigation, dispositif de navigation, et système de navigation |
-
2008
- 2008-12-11 CN CN2008102393781A patent/CN101750085B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1770220A (zh) * | 2004-11-01 | 2006-05-10 | 株式会社日立制作所 | 差分地图数据配送方法 |
WO2008020521A1 (fr) * | 2006-08-17 | 2008-02-21 | Honda Motor Co., Ltd. | Serveur de navigation, dispositif de navigation, et système de navigation |
Non-Patent Citations (1)
Title |
---|
陈丹等.面向电子地图的履历机制研究.《地理信息世界》.2008,(第3期),68-73. * |
Also Published As
Publication number | Publication date |
---|---|
CN101750085A (zh) | 2010-06-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101750085B (zh) | 基于履历信息的导航电子地图差分数据生成方法及装置 | |
CN102741843A (zh) | 从数据库中读取数据的方法及装置 | |
CN103412803A (zh) | 数据恢复的方法及装置 | |
CN103559301A (zh) | 更新数据的方法、数据库触发器和搜索引擎 | |
CN104461390A (zh) | 将数据写入叠瓦状磁记录smr硬盘的方法及装置 | |
CN103077241A (zh) | 将文件拆分后并行加载数据入库的方法 | |
CN103699557A (zh) | 报表处理方法及系统 | |
CN103473298A (zh) | 数据归档方法和装置以及存储系统 | |
CN103136244A (zh) | 基于云计算平台的并行数据挖掘方法及系统 | |
CN105512325A (zh) | 多版本数据索引的更新、删除与建立方法及装置 | |
CN102426601B (zh) | 数据删除方法和装置 | |
CN101908273B (zh) | 一种交通路况数据的处理方法及装置 | |
CN102110125B (zh) | 根据汉字快速查找兴趣点的检索方法 | |
CN103455575A (zh) | 数据统计分析方法和装置 | |
CN105354149A (zh) | 一种内存数据查找方法和装置 | |
CN102004761B (zh) | 数据存储方法和系统 | |
CN114895875B (zh) | 一种零代码可视化信息系统元数据的生产应用方法及系统 | |
CN101894024A (zh) | 一种基于模型库的模型元素一致性保障方法 | |
CN105354671A (zh) | 通用配置管理系统以及包含该系统的企业级信息系统 | |
CN106202340B (zh) | 基于光盘的数据库双核存储系统及利用该系统的方法 | |
CN107967301A (zh) | 一种电力电缆隧道监控数据的存储、查询方法及装置 | |
CN100356330C (zh) | 基于对象存储库的粘贴链接处理方法和粘贴链接处理器 | |
CN106648999A (zh) | 一种日立硬盘a工作区中固件模块损坏的修复方法 | |
CN106649444B (zh) | 一种cae数据库系统获取cad数据的方法及装置 | |
CN106354829A (zh) | 一种列存数据库的物化方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |