专利名称::基于履历信息的导航电子地图差分数据生成方法及装置的制作方法
技术领域:
:本发明涉及导航
技术领域:
,尤其涉及一种基于履历信息的导航电子地图差分数据生成方法及装置。
背景技术:
:近年来导航产业内越来越注重电子地图的更新方式。目前常用的导航电子地图更新方式是通过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为本发明的实施例中基于履历信息的导航电子地图差分数据生成装置的框图。具体实施例方式为了使本发明实施例的目的、技术方案和优点更加清楚明白,下面结合实施例和附图,对本发明实施例做进一步详细地说明。在此,本发明的示意性实施例及说明用于解释本发明,但并不作为对本发明的限定。在本实施例中,该导航电子地图中包括至少一个地图数据库,该地图数据库中包括至少一个数据表,该数据表用于记录地图数据库中的数据。如图l所示,为本发明的实施例中基于履历信息的导航电子地图差分数据生成方法的流程图,具体步骤如下步骤101、在地图数据库中设置至少一个与该数据表对应的履历表;为了便于理解可将地图数据库理解为导航电子地图的数据库,当然也并不限于此。上述数据表除了记录数据的原始值,还可用于记录新增的数据,该新增的数据可以是后续对数据修改后的结果。参见表l,为本实施例中数据表的结构示意图,当然该数据表的结构并不限于此。表16<table>tableseeoriginaldocumentpage7</column></row><table>其中,l)rowID表示该数据在数据表中的行号;2)tableID表示该数据所在的数据表号;3)objectlD可理解为导航电子地图的数据库中数据本身的标示ID;4)bvalid表示有效位字段,"O"表示该条数据有效,"1"表示该条数据无效,通过bvalid可判断出在数据表中记录的数据是否有效,当某条数据被标记为无效时,意味着产品设计人员对该条原始数据进行过修改,或者将该条数据从数据表中删除了,通过该标记即可获得哪些数据可能与上一版地图数据库中的数据不一样。5)functionclass表示道路功能等级,例如高速公路的道路功能等级可设置为1,国道的道路等级可设置为2。在表1中记录了"tablelD"为"101"的数据表中的两条弧段的相关信息,该两条弧段的"objectID"分别为"10"和"77",其中"objectID"为"10"的弧段的"类型"为"高速公路","objectlD为"77"的弧段的"类型"为"国道"。在本步骤中设置了一个与上述数据表对应的履历表。参见表2,为本实施例中履历表的结构示意图,当然该履历表的结构并不限于此。表2tableIDrowIDobjectIDgroupIDchangedtableIDchangedrowIDchanged0IDchangedDatechangedplac6changedtype其中,l)tableID表示该数据所在数据表号;2)rowID表示数据在数据表中的行号;3)objectID可理解为导航电子地图数据库中数据本身的标示ID;4)groupID表示履历组编号,用于标识某一操作导致的数据变化集合,每个编辑操作设置一个编号。在本实施例中可根据具体功能设定,如创建Link和分割Link是两个编辑操作,每个功能对应一个履历组编号;并且可根据表2中记录此履历组编号对此次的修改进行"撤销"和"重做",也就是根据履历组编号可进行数据的恢复操作;5)changedtablelD表示目标表号,发生变更的数据所在的数据表号码,与表1中的tableID对应;6)changedrowID表示变更数据在数据表中的行号,与表1中的rowID对应;7)Changed0ID表示变更数据本身的标示ID,与表1中objectID对应;8)ChangedDate表示该变化发生的时间,例如可记录某年_某月_某日,或者可进一步精确到小时或者分钟;9)Changedplace表示数据变更发生的场景,该场景包括编辑过程(edit)、采集过程和批处理过程等,在下面仅介绍发生在对数据进行编辑过程的场景中的情况;10)Changedtype表示数据变更的类型,该变更的类型包括新增操作add(用于表示该条数据记录的是新增数据的相关信息)和删除操作delete(用于表示该条数据记录的是数据被删除的相关信息),在本实施例中,删除操作的方式包括打标识的删除和真正的删除,真正的删除在进行数据压縮时是不能回退的操作。在本实施例中,可将履历表标记为与数据表一一对应的方式,即一个数据表对应一个履历表,此时任何对该数据表中数据的编辑操作,在编辑数据表中的数据时,都将同时维护该履历表,即将编辑该数据所产生的履历信息记录到履历表中,通过数据表和履历表可共同实现履历信息和数据的管理。步骤102、当需要删除数据表中的数据时,将该数据表中需要删除数据的有效位字段标记为无效;或者当需要修改数据表中的数据时,可将数据表中需要修改数据的有效位字段标记为无效,并在数据表中增加修改后的数据,将新增数据的有效位字段标记为有效;在本实施例中,可将数据表中所有数据的变更归结为增加和删除两种编辑方式,其中"增加"可理解为当需要修改数据表中的某一数据时(例如修改数据表中记录的"类型"和"道路功能等级"等),首先将需要修改数据的有效位字段设置成无效,然后将修改后的数据记录到该数据表中,此时表现出来的就是在该数据表中增加了一新的数据,而修改前的数据仍然记录在该数据表中,只是修改前的数据被标记为无效数据。而"删除"可理解为打标识的删除和真正的删除,其中打标识的删除可理解为当需要删除数据表中的某一数据时,只需将该数据的有效位字段设置成无效,也就是将该数据标记为无效的数据,此时该数据仍然记录在该数据表中,而真正的删除也就是将该数据从数据表中彻底删除掉,不在该数据表中留下任何记录。为了便于理解,可结合表1中记录的数据来说明,此时设计人员对数据表中记录的数据进行修改,表3为数据被修改后的数据表。表3rowIDtableIDobjectIDbvalid类型functionclass1101101高速公路12101771国道23101101高速公路24101770国道15101100高速公路1由表3可知,设计人员首先对"objectID"为"10"的数据进行修改(即第一次对数据表中的数据进行修改),此次修改可理解为首先删除数据表中第l行中记录的数据,也就是将第1行中"objectlD"为"10"的数据的"bvalid"由"O"修改为"l",然后将修改8后的数据通过增加的方式记载在数据表中的第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<table>tableseeoriginaldocumentpage9</column></row><table>在表4的第12行中,记录了数据表的第一次修改(参见表3),即在时间为2008年6月11日时,设计人员delete删除了数据表中第l行的数据(也就是将该数据标记为无效数据),并在数据表的第3行中增加add了修改后的数据。然后可将此次"delete"和"add"两个操作的"groupID"设置为"1",用于表示这两个操作是一组的,设计人员可通过"gro卯ID"进行撤销操作,由于知道哪些操作是关联操作,因此可通过撤销操作来还原到原始记录的数据。在表4的第34行中,记录了数据表的第二次修改(参见表3),即在在时间为2008年6月11日时,设计人员删除了数据表中第2行的数据(也就是将该数据标记为无效数据),并在数据表的第4行增加了修改后的数据。然后可将此次"delete"和"add"两个操作的"groupID"设置为"2",用于表示这两个操作是一组的。设计人员可通过"groupID"进行撤销操作,由于知道哪些操作是关联操作,因此可通过撤销操作来还原到原始记录的数据。在表4的第56行中,记录了数据表的第三次修改(参见表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<table>tableseeoriginaldocumentpage11</column></row><table>根据表3中的参数"bvalid"可知,在表3中的第1行第3行中所记载的数据都是无效的,这些无效的数据在进行差分数据中属于冗余信息,此时可直接将这些无效的数据删除掉,表5中只记录了有效的数据(即表3中的第4行和第5行中记录的数据)。同样,可通过现有的数据压縮方式对履历表中记录的履历信息进行压縮,例如可只将有效的履历信息记录下来,压縮后的履历表可称为有效履历表。参见表6,为将表4中的履历信息进行压縮后的履历表结构图;表6<table>tableseeoriginaldocumentpage11</column></row><table>由表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"的第一条数据读取出,该数据为差分数据;[OO98]3)当同一"changedOID"唯一出现且"changedtype"标识为"add"时,该数据为新增的数据,同时也是产品设计人员想要获得的差分数据;4)当同一"changedOID"唯一出现且"changedtype"标识为"delete"时,该数据为被删除的数据,同时也是产品设计人员想要获得的差分数据。通过执行步骤101步骤104,设计人员已经获得了履历表和修改后的数据表,通过该履历表设计人员就能够判断出在此版电子地图设计时,哪些数据修改过,而这些修改后的数据可理解为导航电子地图数据库的差分数据,此时设计人员只需对这些修改后的数据进行比较分析,从而减少了数据差分过程中对比的信息量,可提高了产品设计人员的差分数据的效率。由上述技术方案可知,通过在与数据表对应的履历表中,记录导致该数据表中数据的有效位字段发生变化的履历信息,使得用户可通过该履历表中记录的履历信息和数据表中记录的数据,来获得该导航电子地图数据库的差分数据,减少了通过ID进行数据差分过程中的冗余信息,可提高设计人员进行数据差分的效率。为了实现上述的方法实施例,本发明的其他实施例还提供了一种基于履历信息的导航电子地图差分数据生成装置。另需首先说明的是,由于下述的实施例是为实现前述的方法实施例,故该装置都是为了实现前述方法的各步骤而设,但本发明并不限于下述的实施例,任何可实现上述方法装置都应包含于本发明的保护范围。并且在下面的描述中,与前述方法相同的内容在此省略,以节约篇幅。参见图2,为本实施例中基于履历信息的导航电子地图差分数据生成装置的框图,在本实施例中导航电子地图包括至少一个地图数据库,该地图数据库包括至少一个数据表,该装置包括设置模块,用于在所述地图数据库中设置至少一个与所述数据表对应的履历表;记录模块,用于在所述履历表中记录针对数据在变更时所产生的履历信息;获取模块,用于根据所述履历表中记录的履历信息获取所述导航电子地图的差分数据。上述记录模块包括第一记录单元,当需要删除所述数据表中的数据时,用于将所述数据表中需要删除数据的有效位字段标记为无效;或者当需要修改所述数据表中的数据时,用于将所述数据表中需要修改的数据的有效位字段标记为无效,并在所述数据表中增加修改后的数据;第二记录单元,用于在所述履历表中记录导致所述数据表中数据的有效位字段发生变化的履历信息,所述履历信息包括删除数据的相关信息和新增数据的相关信息。在本发明的另一实施例中,装置还包括压縮模块,用于按照预定的数据压縮策略,对所述数据表中记录的数据和所述履历表中记录的履历信息进行数据压縮,获得压縮后的数据表和压縮后的履历表。由上述技术方案可知,通过设置至少一个与数据表对应的履历表,并在该履历表中记录导致该数据表中数据的有效位字段发生变化的履历信息,使得用户可通过该履历表中记录的履历信息和数据表中记录的数据,来获得该导航电子地图数据库的差分数据,减少了通过ID进行数据差分过程中的冗余信息,可提高设计人员进行数据差分的效率。以上所述仅是本发明的优选实施方式,应当指出,对于本
技术领域:
的普通技术人员来说,在不脱离本发明原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应12视为本发明的保护范围'权利要求一种基于履历信息的导航电子地图差分数据生成方法,所述导航电子地图包括至少一个地图数据库,所述地图数据库中包括至少一个数据表,记录有所述地图数据库中的数据,其特征在于,所述方法包括在所述地图数据库中设置至少一个与所述数据表对应的履历表;当需要删除所述数据表中的数据时,将所述数据表中需要删除数据的有效位字段标记为无效;或者当需要修改所述数据表中的数据时,将所述数据表中需要修改的数据的有效位字段标记为无效,并在所述数据表中增加修改后的数据,所述修改后的数据的有效位字段标记为有效;在所述履历表中记录导致所述数据表中数据的有效位字段发生变化的履历信息,所述履历信息包括删除数据的相关信息和新增数据的相关信息;根据所述履历表中记录的履历信息获取所述导航电子地图的差分数据。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.根据权利要求3所述的方法,其特征在于,所述根据所述履历表中记录的履历信息获取所述导航电子地图的差分数据的步骤为当具有同一标示ID的数据在履历表中成对出现多次,且数据的变更类型分别标记为删除操作和新增操作时,将数据的变更类型标记为新增操作数据读取出,并将数据标记为所述导航电子地图的差分数据;或者当具有同一标示ID的数据在履历表中出现多次,且第一条和最后一条该具有同一标示ID的数据的变更类型都标记为删除操作时,将数据的变更类型标记为删除操作的第一条数据读取出,并将该数据标记为所述导航电子地图的差分数据;或者当通过标示ID判断出该数据在履历表中唯一出现,且数据的变更类型标记为删除操作时,将该数据标记为所述导航电子地图的差分数据;或者当通过标示ID判断出该数据在履历表中唯一出现,且数据的变更类型标记为新增操作时,将该数据标记为所述导航电子地图的差分数据。7.—种基于履历信息的导航电子地图差分数据生成装置,所述导航电子地图包括至少一个地图数据库,所述地图数据库中包括至少一个数据表,记录有所述地图数据库中的数据,其特征在于,所述装置包括设置模块,用于在所述地图数据库中设置至少一个与所述数据表对应的履历表;记录模块,用于在所述履历表中记录针对数据在变更时所产生的履历信息;获取模块,用于根据所述履历表中记录的履历信息获取所述导航电子地图的差分数据。8.根据权利要求7所述的装置,其特征在于,所述记录模块包括第一记录单元,当需要删除所述数据表中的数据时,用于将所述数据表中需要删除数据的有效位字段标记为无效;或者当需要修改所述数据表中的数据时,用于将所述数据表中需要修改的数据的有效位字段标记为无效,并在所述数据表中增加修改后的数据,所述修改后的数据的有效位字段标记为有效;第二记录单元,用于在所述履历表中记录导致所述数据表中数据的有效位字段发生变化的履历信息,所述履历信息包括删除数据的相关信息和新增数据的相关信息。9.根据权利要求7所述的装置,其特征在于,所述装置还包括压縮模块,用于按照预定的数据压縮策略,对所述数据表中记录的数据和所述履历表中记录的履历信息进行数据压縮处理。全文摘要本发明公开了一种基于履历信息的导航电子地图差分数据生成方法及装置,属于导航
技术领域:
,该方法包括在地图数据库中设置至少一个与数据表对应的履历表;当需要删除数据表中的数据时,将数据表中需要删除数据的有效位字段标记为无效;或者当需要修改数据表中的数据时,将数据表中需要修改的数据的有效位字段标记为无效,并且在数据表中增加修改后的数据,该修改后的数据的有效位字段标记为有效;然后在履历表中记录导致数据表中数据的有效位字段发生变化的履历信息;根据履历表中记录的履历信息获取导航电子地图的差分数据,有效降低数据差分过程的复杂度和对比范围。文档编号G06F17/30GK101750085SQ200810239378公开日2010年6月23日申请日期2008年12月11日优先权日2008年12月11日发明者徐晋辉,曹晓航,陈丹申请人:北京四维图新科技股份有限公司