專利名稱::基于履歷信息的導(dǎo)航電子地圖差分數(shù)據(jù)生成方法及裝置的制作方法
技術(shù)領(lǐng)域:
:本發(fā)明涉及導(dǎo)航
技術(shù)領(lǐng)域:
,尤其涉及一種基于履歷信息的導(dǎo)航電子地圖差分數(shù)據(jù)生成方法及裝置。
背景技術(shù):
:近年來導(dǎo)航產(chǎn)業(yè)內(nèi)越來越注重電子地圖的更新方式。目前常用的導(dǎo)航電子地圖更新方式是通過CD或VCD等介質(zhì)的更新來實現(xiàn)數(shù)據(jù)升級,但從數(shù)據(jù)采集到最終銷售的周期較長,從而影響延誤了用戶所使用導(dǎo)航電子地圖中數(shù)據(jù)的更新。針對導(dǎo)航電子地圖的更新問題,國際上一些導(dǎo)航業(yè)界的標準組織和企業(yè),先后投入了對下一代導(dǎo)航電子地圖系統(tǒng)的研究和開發(fā)工作。這些下一代導(dǎo)航電子地圖系統(tǒng)在數(shù)據(jù)的差分更新方面的體現(xiàn)是同時支持區(qū)域更新、差分更新和臨時更新等方式,以有效地保障地圖實時性的要求。現(xiàn)有的一種數(shù)據(jù)差分更新方法是通過導(dǎo)航電子地圖中目標的ID(該ID可用于標識該弧段)來生成差分數(shù)據(jù),首先需要產(chǎn)品設(shè)計人員遍歷導(dǎo)航電子地圖數(shù)據(jù)庫中所有目標的ID,然后對比不同版本導(dǎo)航電子地圖數(shù)據(jù)庫中所有目標的ID,通過比對目標的ID可找出兩個不同版本導(dǎo)航電子地圖之間的差異。在實現(xiàn)本發(fā)明的過程中,發(fā)現(xiàn)現(xiàn)有技術(shù)中至少存在如下問題現(xiàn)有的基于弧段ID的數(shù)據(jù)差分方法,要求在每個地圖版本中的ID必須具有永久性和繼承性,使得產(chǎn)品設(shè)計人員在進行數(shù)據(jù)差分時,需要使用較復(fù)雜的編碼原則來對大量的數(shù)據(jù)進行編碼,并且還需要根據(jù)ID將完整的前后兩版導(dǎo)航電子地圖中的數(shù)據(jù)逐條比較和分析,降低了差分數(shù)據(jù)的效率。
發(fā)明內(nèi)容為了解決上述問題,本發(fā)明的目的是提供一種基于履歷信息的導(dǎo)航電子地圖差分數(shù)據(jù)生成方法及裝置,有效降低了維護數(shù)據(jù)本身的標示ID帶來的成本和高復(fù)雜度的問題,并且能夠快速定位導(dǎo)航電子地圖中數(shù)據(jù)的變化范圍,從而提高了產(chǎn)品設(shè)計人員差分數(shù)據(jù)的效率。為了達到上述目的,本發(fā)明提供一種基于履歷信息的導(dǎo)航電子地圖差分數(shù)據(jù)生成方法,所述導(dǎo)航電子地圖包括至少一個地圖數(shù)據(jù)庫,所述地圖數(shù)據(jù)庫中包括至少一個數(shù)據(jù)表,記錄有所述地圖數(shù)據(jù)庫中的數(shù)據(jù),所述方法包括在所述地圖數(shù)據(jù)庫中設(shè)置至少一個與所述數(shù)據(jù)表對應(yīng)的履歷表;當需要刪除所述數(shù)據(jù)表中的數(shù)據(jù)時,將所述數(shù)據(jù)表中需要刪除數(shù)據(jù)的有效位字段標記為無效;或者當需要修改所述數(shù)據(jù)表中的數(shù)據(jù)時,將所述數(shù)據(jù)表中需要修改的數(shù)據(jù)的有效位字段標記為無效,并在所述數(shù)據(jù)表中增加修改后的數(shù)據(jù),所述修改后的數(shù)據(jù)的有效位字段標記為有效;在所述履歷表中記錄導(dǎo)致所述數(shù)據(jù)表中數(shù)據(jù)的有效位字段發(fā)生變化的履歷信息,所述履歷信息包括刪除數(shù)據(jù)的相關(guān)信息和新增數(shù)據(jù)的相關(guān)信息;根據(jù)所述履歷表中記錄的履歷信息獲取所述導(dǎo)航電子地圖的差分數(shù)據(jù)。優(yōu)選地,所述數(shù)據(jù)表中記錄有數(shù)據(jù)的基本信息,所述數(shù)據(jù)的基本信息包括數(shù)據(jù)在數(shù)據(jù)表中的行ID、數(shù)據(jù)所在的數(shù)據(jù)表ID、數(shù)據(jù)本身的標示ID和數(shù)據(jù)的有效位字段。優(yōu)選地,所述刪除數(shù)據(jù)的相關(guān)信息包括刪除數(shù)據(jù)在數(shù)據(jù)表中的行ID、刪除數(shù)據(jù)所在的數(shù)據(jù)表ID、刪除數(shù)據(jù)本身的標示ID和標記為刪除操作的數(shù)據(jù)的變更類型;新增數(shù)據(jù)的相關(guān)信息包括新增數(shù)據(jù)在數(shù)據(jù)表中的行ID、新增數(shù)據(jù)所在的數(shù)據(jù)表ID、新增數(shù)據(jù)本身的標示ID和標記為新增操作的數(shù)據(jù)的變更類型。優(yōu)選地,在根據(jù)所述履歷表中記錄的履歷信息獲取所述地圖數(shù)據(jù)庫的差分數(shù)據(jù)的步驟之前,所述方法還包括按照預(yù)定的數(shù)據(jù)壓縮策略,對所述數(shù)據(jù)表中記錄的數(shù)據(jù)和所述履歷表中記錄的履歷信息進行數(shù)據(jù)壓縮處理,獲得壓縮后的數(shù)據(jù)表和壓縮后的履歷表。優(yōu)選地,所述預(yù)定的數(shù)據(jù)壓縮策略為若數(shù)據(jù)表中具有同一標示ID的數(shù)據(jù)的有效位字段最初標記為無效,而最后該具有同一標示ID的數(shù)據(jù)的有效位字段標記為有效時,在數(shù)據(jù)表中只保留該具有同一標示ID的數(shù)據(jù)的最后一條有效位字段標記為有效的相關(guān)記錄,刪除數(shù)據(jù)表中該具有同一標示ID的數(shù)據(jù)的其它相關(guān)記錄;所述履歷表分別保留該具有同一標示ID的數(shù)據(jù)的最初的刪除操作的相關(guān)信息和最后的新增操作的相關(guān)信息;或者若數(shù)據(jù)表中具有同一標示ID的數(shù)據(jù)的有效位字段最開始標記為無效,最后該具有同一標示ID的數(shù)據(jù)的有效位字段標記為無效時,在數(shù)據(jù)表將該具有同一標示ID的數(shù)據(jù)的所有記錄都刪除掉;所述履歷表保留最后一條該具有同一標示ID的數(shù)據(jù)的刪除操作的相關(guān)信息。優(yōu)選地,所述根據(jù)所述履歷表中記錄的履歷信息獲取所述導(dǎo)航電子地圖的差分數(shù)據(jù)的步驟為當具有同一標示ID的數(shù)據(jù)在履歷表中成對出現(xiàn)多次,且數(shù)據(jù)的變更類型分別標記為刪除操作和新增操作時,將數(shù)據(jù)的變更類型標記為新增操作數(shù)據(jù)讀取出,并將數(shù)據(jù)標記為所述導(dǎo)航電子地圖的差分數(shù)據(jù);或者當具有同一標示ID的數(shù)據(jù)在履歷表中出現(xiàn)多次,且第一條和最后一條該具有同一標示ID的數(shù)據(jù)的變更類型都標記為刪除操作時,將數(shù)據(jù)的變更類型標記為刪除操作的第一條數(shù)據(jù)讀取出,并將該數(shù)據(jù)標記為所述導(dǎo)航電子地圖的差分數(shù)據(jù);或者當通過標示ID判斷出該數(shù)據(jù)在履歷表中唯一出現(xiàn),且數(shù)據(jù)的變更類型標記為刪除操作時,將該數(shù)據(jù)標記為所述導(dǎo)航電子地圖的差分數(shù)據(jù);或者當通過標示ID判斷出該數(shù)據(jù)在履歷表中唯一出現(xiàn),且數(shù)據(jù)的變更類型標記為新增操作時,將該數(shù)據(jù)標記為所述導(dǎo)航電子地圖的差分數(shù)據(jù)。本發(fā)明還提供一種基于履歷信息的導(dǎo)航電子地圖差分數(shù)據(jù)生成裝置,所述導(dǎo)航電子地圖包括至少一個地圖數(shù)據(jù)庫,所述地圖數(shù)據(jù)庫中包括至少一個數(shù)據(jù)表,記錄有所述地圖數(shù)據(jù)庫中的數(shù)據(jù),所述裝置包括設(shè)置模塊,用于在所述地圖數(shù)據(jù)庫中設(shè)置至少一個與所述數(shù)據(jù)表對應(yīng)的履歷表;記錄模塊,用于在所述履歷表中記錄針對數(shù)據(jù)在變更時所產(chǎn)生的履歷信息;獲取模塊,用于根據(jù)所述履歷表中記錄的履歷信息獲取所述導(dǎo)航電子地圖的差分數(shù)據(jù)。優(yōu)選地,所述記錄模塊包括第一記錄單元,當需要刪除所述數(shù)據(jù)表中的數(shù)據(jù)時,用于將所述數(shù)據(jù)表中需要刪除數(shù)據(jù)的有效位字段標記為無效;或者當需要修改所述數(shù)據(jù)表中的數(shù)據(jù)時,用于將所述數(shù)據(jù)表中需要修改的數(shù)據(jù)的有效位字段標記為無效,并在所述數(shù)據(jù)表中增加修改后的數(shù)據(jù),所述修改后的數(shù)據(jù)的有效位字段標記為有效;第二記錄單元,用于在所述履歷表中記錄導(dǎo)致所述數(shù)據(jù)表中數(shù)據(jù)的有效位字段發(fā)生變化的履歷信息,所述履歷信息包括刪除數(shù)據(jù)的相關(guān)信息和新增數(shù)據(jù)的相關(guān)信息。優(yōu)選地,所述裝置還包括壓縮模塊,用于按照預(yù)定的數(shù)據(jù)壓縮策略,對所述數(shù)據(jù)表中記錄的數(shù)據(jù)和所述履歷表中記錄的履歷信息進行數(shù)據(jù)壓縮處理。上述技術(shù)方案中的至少一個技術(shù)方案具有如下有益效果通過在與數(shù)據(jù)表對應(yīng)的履歷表中,記錄導(dǎo)致該數(shù)據(jù)表中數(shù)據(jù)的有效位字段發(fā)生變化的履歷信息,使得用戶可通過該履歷表中記錄的履歷信息和數(shù)據(jù)表中記錄的數(shù)據(jù)獲得該導(dǎo)航電子地圖數(shù)據(jù)庫的差分數(shù)據(jù),由于可減少數(shù)據(jù)差分過程中的冗余信息,從而提高了設(shè)計人員進行數(shù)據(jù)差分的效率。圖1為本發(fā)明實施例中基于履歷信息的導(dǎo)航電子地圖差分數(shù)據(jù)生成方法的流程圖;圖2為本發(fā)明的實施例中基于履歷信息的導(dǎo)航電子地圖差分數(shù)據(jù)生成裝置的框圖。具體實施例方式為了使本發(fā)明實施例的目的、技術(shù)方案和優(yōu)點更加清楚明白,下面結(jié)合實施例和附圖,對本發(fā)明實施例做進一步詳細地說明。在此,本發(fā)明的示意性實施例及說明用于解釋本發(fā)明,但并不作為對本發(fā)明的限定。在本實施例中,該導(dǎo)航電子地圖中包括至少一個地圖數(shù)據(jù)庫,該地圖數(shù)據(jù)庫中包括至少一個數(shù)據(jù)表,該數(shù)據(jù)表用于記錄地圖數(shù)據(jù)庫中的數(shù)據(jù)。如圖l所示,為本發(fā)明的實施例中基于履歷信息的導(dǎo)航電子地圖差分數(shù)據(jù)生成方法的流程圖,具體步驟如下步驟101、在地圖數(shù)據(jù)庫中設(shè)置至少一個與該數(shù)據(jù)表對應(yīng)的履歷表;為了便于理解可將地圖數(shù)據(jù)庫理解為導(dǎo)航電子地圖的數(shù)據(jù)庫,當然也并不限于此。上述數(shù)據(jù)表除了記錄數(shù)據(jù)的原始值,還可用于記錄新增的數(shù)據(jù),該新增的數(shù)據(jù)可以是后續(xù)對數(shù)據(jù)修改后的結(jié)果。參見表l,為本實施例中數(shù)據(jù)表的結(jié)構(gòu)示意圖,當然該數(shù)據(jù)表的結(jié)構(gòu)并不限于此。表16<table>tableseeoriginaldocumentpage7</column></row><table>其中,l)rowID表示該數(shù)據(jù)在數(shù)據(jù)表中的行號;2)tableID表示該數(shù)據(jù)所在的數(shù)據(jù)表號;3)objectlD可理解為導(dǎo)航電子地圖的數(shù)據(jù)庫中數(shù)據(jù)本身的標示ID;4)bvalid表示有效位字段,"O"表示該條數(shù)據(jù)有效,"1"表示該條數(shù)據(jù)無效,通過bvalid可判斷出在數(shù)據(jù)表中記錄的數(shù)據(jù)是否有效,當某條數(shù)據(jù)被標記為無效時,意味著產(chǎn)品設(shè)計人員對該條原始數(shù)據(jù)進行過修改,或者將該條數(shù)據(jù)從數(shù)據(jù)表中刪除了,通過該標記即可獲得哪些數(shù)據(jù)可能與上一版地圖數(shù)據(jù)庫中的數(shù)據(jù)不一樣。5)functionclass表示道路功能等級,例如高速公路的道路功能等級可設(shè)置為1,國道的道路等級可設(shè)置為2。在表1中記錄了"tablelD"為"101"的數(shù)據(jù)表中的兩條弧段的相關(guān)信息,該兩條弧段的"objectID"分別為"10"和"77",其中"objectID"為"10"的弧段的"類型"為"高速公路","objectlD為"77"的弧段的"類型"為"國道"。在本步驟中設(shè)置了一個與上述數(shù)據(jù)表對應(yīng)的履歷表。參見表2,為本實施例中履歷表的結(jié)構(gòu)示意圖,當然該履歷表的結(jié)構(gòu)并不限于此。表2tableIDrowIDobjectIDgroupIDchangedtableIDchangedrowIDchanged0IDchangedDatechangedplac6changedtype其中,l)tableID表示該數(shù)據(jù)所在數(shù)據(jù)表號;2)rowID表示數(shù)據(jù)在數(shù)據(jù)表中的行號;3)objectID可理解為導(dǎo)航電子地圖數(shù)據(jù)庫中數(shù)據(jù)本身的標示ID;4)groupID表示履歷組編號,用于標識某一操作導(dǎo)致的數(shù)據(jù)變化集合,每個編輯操作設(shè)置一個編號。在本實施例中可根據(jù)具體功能設(shè)定,如創(chuàng)建Link和分割Link是兩個編輯操作,每個功能對應(yīng)一個履歷組編號;并且可根據(jù)表2中記錄此履歷組編號對此次的修改進行"撤銷"和"重做",也就是根據(jù)履歷組編號可進行數(shù)據(jù)的恢復(fù)操作;5)changedtablelD表示目標表號,發(fā)生變更的數(shù)據(jù)所在的數(shù)據(jù)表號碼,與表1中的tableID對應(yīng);6)changedrowID表示變更數(shù)據(jù)在數(shù)據(jù)表中的行號,與表1中的rowID對應(yīng);7)Changed0ID表示變更數(shù)據(jù)本身的標示ID,與表1中objectID對應(yīng);8)ChangedDate表示該變化發(fā)生的時間,例如可記錄某年_某月_某日,或者可進一步精確到小時或者分鐘;9)Changedplace表示數(shù)據(jù)變更發(fā)生的場景,該場景包括編輯過程(edit)、采集過程和批處理過程等,在下面僅介紹發(fā)生在對數(shù)據(jù)進行編輯過程的場景中的情況;10)Changedtype表示數(shù)據(jù)變更的類型,該變更的類型包括新增操作add(用于表示該條數(shù)據(jù)記錄的是新增數(shù)據(jù)的相關(guān)信息)和刪除操作delete(用于表示該條數(shù)據(jù)記錄的是數(shù)據(jù)被刪除的相關(guān)信息),在本實施例中,刪除操作的方式包括打標識的刪除和真正的刪除,真正的刪除在進行數(shù)據(jù)壓縮時是不能回退的操作。在本實施例中,可將履歷表標記為與數(shù)據(jù)表一一對應(yīng)的方式,即一個數(shù)據(jù)表對應(yīng)一個履歷表,此時任何對該數(shù)據(jù)表中數(shù)據(jù)的編輯操作,在編輯數(shù)據(jù)表中的數(shù)據(jù)時,都將同時維護該履歷表,即將編輯該數(shù)據(jù)所產(chǎn)生的履歷信息記錄到履歷表中,通過數(shù)據(jù)表和履歷表可共同實現(xiàn)履歷信息和數(shù)據(jù)的管理。步驟102、當需要刪除數(shù)據(jù)表中的數(shù)據(jù)時,將該數(shù)據(jù)表中需要刪除數(shù)據(jù)的有效位字段標記為無效;或者當需要修改數(shù)據(jù)表中的數(shù)據(jù)時,可將數(shù)據(jù)表中需要修改數(shù)據(jù)的有效位字段標記為無效,并在數(shù)據(jù)表中增加修改后的數(shù)據(jù),將新增數(shù)據(jù)的有效位字段標記為有效;在本實施例中,可將數(shù)據(jù)表中所有數(shù)據(jù)的變更歸結(jié)為增加和刪除兩種編輯方式,其中"增加"可理解為當需要修改數(shù)據(jù)表中的某一數(shù)據(jù)時(例如修改數(shù)據(jù)表中記錄的"類型"和"道路功能等級"等),首先將需要修改數(shù)據(jù)的有效位字段設(shè)置成無效,然后將修改后的數(shù)據(jù)記錄到該數(shù)據(jù)表中,此時表現(xiàn)出來的就是在該數(shù)據(jù)表中增加了一新的數(shù)據(jù),而修改前的數(shù)據(jù)仍然記錄在該數(shù)據(jù)表中,只是修改前的數(shù)據(jù)被標記為無效數(shù)據(jù)。而"刪除"可理解為打標識的刪除和真正的刪除,其中打標識的刪除可理解為當需要刪除數(shù)據(jù)表中的某一數(shù)據(jù)時,只需將該數(shù)據(jù)的有效位字段設(shè)置成無效,也就是將該數(shù)據(jù)標記為無效的數(shù)據(jù),此時該數(shù)據(jù)仍然記錄在該數(shù)據(jù)表中,而真正的刪除也就是將該數(shù)據(jù)從數(shù)據(jù)表中徹底刪除掉,不在該數(shù)據(jù)表中留下任何記錄。為了便于理解,可結(jié)合表1中記錄的數(shù)據(jù)來說明,此時設(shè)計人員對數(shù)據(jù)表中記錄的數(shù)據(jù)進行修改,表3為數(shù)據(jù)被修改后的數(shù)據(jù)表。表3rowIDtableIDobjectIDbvalid類型functionclass1101101高速公路12101771國道23101101高速公路24101770國道15101100高速公路1由表3可知,設(shè)計人員首先對"objectID"為"10"的數(shù)據(jù)進行修改(即第一次對數(shù)據(jù)表中的數(shù)據(jù)進行修改),此次修改可理解為首先刪除數(shù)據(jù)表中第l行中記錄的數(shù)據(jù),也就是將第1行中"objectlD"為"10"的數(shù)據(jù)的"bvalid"由"O"修改為"l",然后將修改8后的數(shù)據(jù)通過增加的方式記載在數(shù)據(jù)表中的第3行中,并且新增數(shù)據(jù)的"bvalid"標記為"0,,;在第二次對數(shù)據(jù)表中的數(shù)據(jù)進行修改中,此次修改可理解為首先刪除數(shù)據(jù)表中第2行中記錄的數(shù)據(jù),也就是將第2行中"objectID"為"77"的弧段的"bvalid"由"0"修改為"1",然后將修改后的數(shù)據(jù)通過增加的方式加載在數(shù)據(jù)表的第4行,并且新增數(shù)據(jù)的"bvalid,,標記為"0";在第三次對數(shù)據(jù)表中的數(shù)據(jù)進行修改中,此次修改可理解為首先刪除數(shù)據(jù)表中第3行中記錄的數(shù)據(jù),也就是將第3行"objectID"為"10"的弧段的"bvalid"由"0"修改為"1",然后將修改后的數(shù)據(jù)通過增加的方式記載在數(shù)據(jù)表中的第5行,并且新增數(shù)據(jù)的"bvalid,,標記為"0";在本實施例中,可通過設(shè)置"bvalid"來標記數(shù)據(jù)表中記錄的數(shù)據(jù)是否有效,當然設(shè)置參數(shù)是否有效的方式并不限于此。通過上面的修改,雖然對數(shù)據(jù)表中的數(shù)據(jù)進行了修改,但由于將該修改的操作方式歸結(jié)為增加操作和刪除操作,例如當數(shù)據(jù)需要進行修改時,不是直接將該數(shù)據(jù)從數(shù)據(jù)表中刪除,而是首先將該條數(shù)據(jù)的有效位字段設(shè)置成無效,接著將修改后的數(shù)據(jù)記錄到數(shù)據(jù)表中,一方面保存了一個完整的歷史數(shù)據(jù)信息,另一方面為后續(xù)的撤銷操作提供了基礎(chǔ)。步驟103、在步驟101中設(shè)置的履歷表中記錄了步驟102中導(dǎo)致數(shù)據(jù)表中數(shù)據(jù)的有效位字段發(fā)生變化的履歷信息,該履歷信息包括刪除數(shù)據(jù)的相關(guān)信息和新增數(shù)據(jù)的相關(guān)信息;也就是將步驟102中由于修改數(shù)據(jù)所產(chǎn)生的履歷記錄到履歷表中。參見表4,為本發(fā)明中記錄有表3中履歷的履歷表。表4中記錄的都是在edit(編輯)場景中所產(chǎn)生的履歷。表4<table>tableseeoriginaldocumentpage9</column></row><table>在表4的第12行中,記錄了數(shù)據(jù)表的第一次修改(參見表3),即在時間為2008年6月11日時,設(shè)計人員delete刪除了數(shù)據(jù)表中第l行的數(shù)據(jù)(也就是將該數(shù)據(jù)標記為無效數(shù)據(jù)),并在數(shù)據(jù)表的第3行中增加add了修改后的數(shù)據(jù)。然后可將此次"delete"和"add"兩個操作的"groupID"設(shè)置為"1",用于表示這兩個操作是一組的,設(shè)計人員可通過"gro卯ID"進行撤銷操作,由于知道哪些操作是關(guān)聯(lián)操作,因此可通過撤銷操作來還原到原始記錄的數(shù)據(jù)。在表4的第34行中,記錄了數(shù)據(jù)表的第二次修改(參見表3),即在在時間為2008年6月11日時,設(shè)計人員刪除了數(shù)據(jù)表中第2行的數(shù)據(jù)(也就是將該數(shù)據(jù)標記為無效數(shù)據(jù)),并在數(shù)據(jù)表的第4行增加了修改后的數(shù)據(jù)。然后可將此次"delete"和"add"兩個操作的"groupID"設(shè)置為"2",用于表示這兩個操作是一組的。設(shè)計人員可通過"groupID"進行撤銷操作,由于知道哪些操作是關(guān)聯(lián)操作,因此可通過撤銷操作來還原到原始記錄的數(shù)據(jù)。在表4的第56行中,記錄了數(shù)據(jù)表的第三次修改(參見表3),即在在時間為2008年6月12日時,設(shè)計人員刪除了數(shù)據(jù)表中第3行的數(shù)據(jù)(也就是將該數(shù)據(jù)標記為無效數(shù)據(jù)),并在數(shù)據(jù)表的第5行中增加了修改后的數(shù)據(jù)。然后可將此次"delete"和"add"兩個操作的"groupID"設(shè)置為"3",用于表示這兩個操作是一組的。設(shè)計人員可通過"groupID"進行撤銷操作,由于知道哪些操作是關(guān)聯(lián)操作,因此可通過撤銷操作來還原到原始記錄的數(shù)據(jù)。步驟104、按照預(yù)定的數(shù)據(jù)壓縮策略,對經(jīng)過步驟102處理的數(shù)據(jù)表和經(jīng)過步驟103處理的履歷表進行壓縮數(shù)據(jù)處理,獲得壓縮后的數(shù)據(jù)表和壓縮后的履歷表;在本實施例中,可根據(jù)以下四種預(yù)定的數(shù)據(jù)壓縮策略對數(shù)據(jù)進行壓縮處理,具體如下策略一、"無效"一"**"—"有效"也就是數(shù)據(jù)表中的具有同一標示ID的數(shù)據(jù)的有效位字段最初標記為無效,而最后該具有同一標示ID(即具有同一"objectID")的數(shù)據(jù)的有效位字段標記為有效時(中間的數(shù)據(jù)變更過程不去考慮),在數(shù)據(jù)表中只保留具有同一標示ID的數(shù)據(jù)的最后一條有效位字段標記為有效的相關(guān)記錄,刪除數(shù)據(jù)表中具有同一標示ID的數(shù)據(jù)的其他相關(guān)記錄;履歷表分別保留具有同一標示ID的數(shù)據(jù)的最初的刪除操作的相關(guān)信息和最后的新增操作的相關(guān)信息,此時,意味著目標數(shù)據(jù)被修改了;策略二、"無效"一"**"—"無效"也就是數(shù)據(jù)表中具有同一標示ID的數(shù)據(jù)的有效位字段最開始標記為無效,最后該具有同一標示ID的數(shù)據(jù)的有效位字段被標記為無效(中間的數(shù)據(jù)變更過程不去考慮),在數(shù)據(jù)表可將具有該"objectID"數(shù)據(jù)的所有記錄都刪除掉;履歷表保留最后一條的具有該"objectID"的數(shù)據(jù)的刪除操作的相關(guān)信息,意味著目標數(shù)據(jù)被刪除了;"有效"也就是數(shù)據(jù)表中某數(shù)據(jù)的有效位字段為有效,履歷表記錄一次該記錄被"新增"的操作,再無其他變更記錄,說明該記錄為新增記錄。數(shù)據(jù)壓縮時,數(shù)據(jù)表、履歷表記錄不變。"無效":也就是數(shù)據(jù)表中某數(shù)據(jù)的有效位字段一直為無效,履歷表記錄一次該記錄被"刪除"的操作,再無其他變更記錄,說明該記錄為刪除記錄。數(shù)據(jù)壓縮時,數(shù)據(jù)表、履歷表記錄不變。由表3中的參數(shù)"bvalid"分析可知,在本實施例中可采用上述策略一進行數(shù)據(jù)的壓縮處理。參見表5,為將表3中記錄的數(shù)據(jù)進行壓縮后的數(shù)據(jù)表的結(jié)構(gòu)圖;表5<table>tableseeoriginaldocumentpage11</column></row><table>根據(jù)表3中的參數(shù)"bvalid"可知,在表3中的第1行第3行中所記載的數(shù)據(jù)都是無效的,這些無效的數(shù)據(jù)在進行差分數(shù)據(jù)中屬于冗余信息,此時可直接將這些無效的數(shù)據(jù)刪除掉,表5中只記錄了有效的數(shù)據(jù)(即表3中的第4行和第5行中記錄的數(shù)據(jù))。同樣,可通過現(xiàn)有的數(shù)據(jù)壓縮方式對履歷表中記錄的履歷信息進行壓縮,例如可只將有效的履歷信息記錄下來,壓縮后的履歷表可稱為有效履歷表。參見表6,為將表4中的履歷信息進行壓縮后的履歷表結(jié)構(gòu)圖;表6<table>tableseeoriginaldocumentpage11</column></row><table>由表6可知,壓縮后的履歷表(即有效履歷表)中只保留了該條數(shù)據(jù)的第一條履歷信息和最后一條履歷信息,去除了編輯過程中的無效記錄。根據(jù)此策略分析可知,履歷表(表4)中"changedOID"為"10"的數(shù)據(jù)的第一條履歷信息和最后一條履歷信息分別記錄在表4中的第1行和第6行中,而"changedOID"為"77"的數(shù)據(jù)的第一條履歷信息和最后一條履歷信息分別記錄在表4中的第3行和第4行,因此壓縮后的履歷表(表6)只保留了表4中的第1行、第3行、第4行和第6行的數(shù)據(jù),參見表6。步驟105、根據(jù)履歷表中記錄的履歷信息獲取地圖數(shù)據(jù)庫的差分數(shù)據(jù)。在本實施例中,獲取導(dǎo)航電子地圖數(shù)據(jù)差分數(shù)據(jù)的方法可采用以下四種方式1)當同一"changedOID"成對出現(xiàn)多次,且"changedtype"標識分別為"delete"和add"時,表示具有該"changedOID"的數(shù)據(jù)在數(shù)據(jù)表中被修改了,此時可將"changedtype"標識為"add"的數(shù)據(jù)讀取出,該數(shù)據(jù)為差分數(shù)據(jù);2)當同一"changedOID"出現(xiàn)多次,且"changedtype"標識第一次和最后一次都是"delete"時,表示具有該"changedOID"的數(shù)據(jù)在數(shù)據(jù)表中被刪除了,此時可將"changedtype"標識為"delete"的第一條數(shù)據(jù)讀取出,該數(shù)據(jù)為差分數(shù)據(jù);[OO98]3)當同一"changedOID"唯一出現(xiàn)且"changedtype"標識為"add"時,該數(shù)據(jù)為新增的數(shù)據(jù),同時也是產(chǎn)品設(shè)計人員想要獲得的差分數(shù)據(jù);4)當同一"changedOID"唯一出現(xiàn)且"changedtype"標識為"delete"時,該數(shù)據(jù)為被刪除的數(shù)據(jù),同時也是產(chǎn)品設(shè)計人員想要獲得的差分數(shù)據(jù)。通過執(zhí)行步驟101步驟104,設(shè)計人員已經(jīng)獲得了履歷表和修改后的數(shù)據(jù)表,通過該履歷表設(shè)計人員就能夠判斷出在此版電子地圖設(shè)計時,哪些數(shù)據(jù)修改過,而這些修改后的數(shù)據(jù)可理解為導(dǎo)航電子地圖數(shù)據(jù)庫的差分數(shù)據(jù),此時設(shè)計人員只需對這些修改后的數(shù)據(jù)進行比較分析,從而減少了數(shù)據(jù)差分過程中對比的信息量,可提高了產(chǎn)品設(shè)計人員的差分數(shù)據(jù)的效率。由上述技術(shù)方案可知,通過在與數(shù)據(jù)表對應(yīng)的履歷表中,記錄導(dǎo)致該數(shù)據(jù)表中數(shù)據(jù)的有效位字段發(fā)生變化的履歷信息,使得用戶可通過該履歷表中記錄的履歷信息和數(shù)據(jù)表中記錄的數(shù)據(jù),來獲得該導(dǎo)航電子地圖數(shù)據(jù)庫的差分數(shù)據(jù),減少了通過ID進行數(shù)據(jù)差分過程中的冗余信息,可提高設(shè)計人員進行數(shù)據(jù)差分的效率。為了實現(xiàn)上述的方法實施例,本發(fā)明的其他實施例還提供了一種基于履歷信息的導(dǎo)航電子地圖差分數(shù)據(jù)生成裝置。另需首先說明的是,由于下述的實施例是為實現(xiàn)前述的方法實施例,故該裝置都是為了實現(xiàn)前述方法的各步驟而設(shè),但本發(fā)明并不限于下述的實施例,任何可實現(xiàn)上述方法裝置都應(yīng)包含于本發(fā)明的保護范圍。并且在下面的描述中,與前述方法相同的內(nèi)容在此省略,以節(jié)約篇幅。參見圖2,為本實施例中基于履歷信息的導(dǎo)航電子地圖差分數(shù)據(jù)生成裝置的框圖,在本實施例中導(dǎo)航電子地圖包括至少一個地圖數(shù)據(jù)庫,該地圖數(shù)據(jù)庫包括至少一個數(shù)據(jù)表,該裝置包括設(shè)置模塊,用于在所述地圖數(shù)據(jù)庫中設(shè)置至少一個與所述數(shù)據(jù)表對應(yīng)的履歷表;記錄模塊,用于在所述履歷表中記錄針對數(shù)據(jù)在變更時所產(chǎn)生的履歷信息;獲取模塊,用于根據(jù)所述履歷表中記錄的履歷信息獲取所述導(dǎo)航電子地圖的差分數(shù)據(jù)。上述記錄模塊包括第一記錄單元,當需要刪除所述數(shù)據(jù)表中的數(shù)據(jù)時,用于將所述數(shù)據(jù)表中需要刪除數(shù)據(jù)的有效位字段標記為無效;或者當需要修改所述數(shù)據(jù)表中的數(shù)據(jù)時,用于將所述數(shù)據(jù)表中需要修改的數(shù)據(jù)的有效位字段標記為無效,并在所述數(shù)據(jù)表中增加修改后的數(shù)據(jù);第二記錄單元,用于在所述履歷表中記錄導(dǎo)致所述數(shù)據(jù)表中數(shù)據(jù)的有效位字段發(fā)生變化的履歷信息,所述履歷信息包括刪除數(shù)據(jù)的相關(guān)信息和新增數(shù)據(jù)的相關(guān)信息。在本發(fā)明的另一實施例中,裝置還包括壓縮模塊,用于按照預(yù)定的數(shù)據(jù)壓縮策略,對所述數(shù)據(jù)表中記錄的數(shù)據(jù)和所述履歷表中記錄的履歷信息進行數(shù)據(jù)壓縮,獲得壓縮后的數(shù)據(jù)表和壓縮后的履歷表。由上述技術(shù)方案可知,通過設(shè)置至少一個與數(shù)據(jù)表對應(yīng)的履歷表,并在該履歷表中記錄導(dǎo)致該數(shù)據(jù)表中數(shù)據(jù)的有效位字段發(fā)生變化的履歷信息,使得用戶可通過該履歷表中記錄的履歷信息和數(shù)據(jù)表中記錄的數(shù)據(jù),來獲得該導(dǎo)航電子地圖數(shù)據(jù)庫的差分數(shù)據(jù),減少了通過ID進行數(shù)據(jù)差分過程中的冗余信息,可提高設(shè)計人員進行數(shù)據(jù)差分的效率。以上所述僅是本發(fā)明的優(yōu)選實施方式,應(yīng)當指出,對于本
技術(shù)領(lǐng)域:
的普通技術(shù)人員來說,在不脫離本發(fā)明原理的前提下,還可以作出若干改進和潤飾,這些改進和潤飾也應(yīng)12視為本發(fā)明的保護范圍'權(quán)利要求一種基于履歷信息的導(dǎo)航電子地圖差分數(shù)據(jù)生成方法,所述導(dǎo)航電子地圖包括至少一個地圖數(shù)據(jù)庫,所述地圖數(shù)據(jù)庫中包括至少一個數(shù)據(jù)表,記錄有所述地圖數(shù)據(jù)庫中的數(shù)據(jù),其特征在于,所述方法包括在所述地圖數(shù)據(jù)庫中設(shè)置至少一個與所述數(shù)據(jù)表對應(yīng)的履歷表;當需要刪除所述數(shù)據(jù)表中的數(shù)據(jù)時,將所述數(shù)據(jù)表中需要刪除數(shù)據(jù)的有效位字段標記為無效;或者當需要修改所述數(shù)據(jù)表中的數(shù)據(jù)時,將所述數(shù)據(jù)表中需要修改的數(shù)據(jù)的有效位字段標記為無效,并在所述數(shù)據(jù)表中增加修改后的數(shù)據(jù),所述修改后的數(shù)據(jù)的有效位字段標記為有效;在所述履歷表中記錄導(dǎo)致所述數(shù)據(jù)表中數(shù)據(jù)的有效位字段發(fā)生變化的履歷信息,所述履歷信息包括刪除數(shù)據(jù)的相關(guān)信息和新增數(shù)據(jù)的相關(guān)信息;根據(jù)所述履歷表中記錄的履歷信息獲取所述導(dǎo)航電子地圖的差分數(shù)據(jù)。2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述數(shù)據(jù)表中記錄有數(shù)據(jù)的基本信息,所述數(shù)據(jù)的基本信息包括數(shù)據(jù)在數(shù)據(jù)表中的行ID、數(shù)據(jù)所在的數(shù)據(jù)表ID、數(shù)據(jù)本身的標示ID和數(shù)據(jù)的有效位字段。3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述刪除數(shù)據(jù)的相關(guān)信息包括刪除數(shù)據(jù)在數(shù)據(jù)表中的行ID、刪除數(shù)據(jù)所在的數(shù)據(jù)表ID、刪除數(shù)據(jù)本身的標示ID和標記為刪除操作的數(shù)據(jù)的變更類型;新增數(shù)據(jù)的相關(guān)信息包括新增數(shù)據(jù)在數(shù)據(jù)表中的行ID、新增數(shù)據(jù)所在的數(shù)據(jù)表ID、新增數(shù)據(jù)本身的標示ID和標記為新增操作的數(shù)據(jù)的變更類型。4.根據(jù)權(quán)利要求3所述的方法,其特征在于,在根據(jù)所述履歷表中記錄的履歷信息獲取所述地圖數(shù)據(jù)庫的差分數(shù)據(jù)的步驟之前,所述方法還包括按照預(yù)定的數(shù)據(jù)壓縮策略,對所述數(shù)據(jù)表中記錄的數(shù)據(jù)和所述履歷表中記錄的履歷信息進行數(shù)據(jù)壓縮處理,獲得壓縮后的數(shù)據(jù)表和壓縮后的履歷表。5.根據(jù)權(quán)利要求4所述的方法,其特征在于,所述預(yù)定的數(shù)據(jù)壓縮策略為若數(shù)據(jù)表中具有同一標示ID的數(shù)據(jù)的有效位字段最初標記為無效,而最后該具有同一標示ID的數(shù)據(jù)的有效位字段標記為有效時,在數(shù)據(jù)表中只保留該具有同一標示ID的數(shù)據(jù)的最后一條有效位字段標記為有效的相關(guān)記錄,刪除數(shù)據(jù)表中該具有同一標示ID的數(shù)據(jù)的其它相關(guān)記錄;所述履歷表分別保留該具有同一標示ID的數(shù)據(jù)的最初的刪除操作的相關(guān)信息和最后的新增操作的相關(guān)信息;或者若數(shù)據(jù)表中具有同一標示ID的數(shù)據(jù)的有效位字段最開始標記為無效,最后該具有同一標示ID的數(shù)據(jù)的有效位字段標記為無效時,在數(shù)據(jù)表將該具有同一標示ID的數(shù)據(jù)的所有記錄都刪除掉;所述履歷表保留最后一條該具有同一標示ID的數(shù)據(jù)的刪除操作的相關(guān)信息。6.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述根據(jù)所述履歷表中記錄的履歷信息獲取所述導(dǎo)航電子地圖的差分數(shù)據(jù)的步驟為當具有同一標示ID的數(shù)據(jù)在履歷表中成對出現(xiàn)多次,且數(shù)據(jù)的變更類型分別標記為刪除操作和新增操作時,將數(shù)據(jù)的變更類型標記為新增操作數(shù)據(jù)讀取出,并將數(shù)據(jù)標記為所述導(dǎo)航電子地圖的差分數(shù)據(jù);或者當具有同一標示ID的數(shù)據(jù)在履歷表中出現(xiàn)多次,且第一條和最后一條該具有同一標示ID的數(shù)據(jù)的變更類型都標記為刪除操作時,將數(shù)據(jù)的變更類型標記為刪除操作的第一條數(shù)據(jù)讀取出,并將該數(shù)據(jù)標記為所述導(dǎo)航電子地圖的差分數(shù)據(jù);或者當通過標示ID判斷出該數(shù)據(jù)在履歷表中唯一出現(xiàn),且數(shù)據(jù)的變更類型標記為刪除操作時,將該數(shù)據(jù)標記為所述導(dǎo)航電子地圖的差分數(shù)據(jù);或者當通過標示ID判斷出該數(shù)據(jù)在履歷表中唯一出現(xiàn),且數(shù)據(jù)的變更類型標記為新增操作時,將該數(shù)據(jù)標記為所述導(dǎo)航電子地圖的差分數(shù)據(jù)。7.—種基于履歷信息的導(dǎo)航電子地圖差分數(shù)據(jù)生成裝置,所述導(dǎo)航電子地圖包括至少一個地圖數(shù)據(jù)庫,所述地圖數(shù)據(jù)庫中包括至少一個數(shù)據(jù)表,記錄有所述地圖數(shù)據(jù)庫中的數(shù)據(jù),其特征在于,所述裝置包括設(shè)置模塊,用于在所述地圖數(shù)據(jù)庫中設(shè)置至少一個與所述數(shù)據(jù)表對應(yīng)的履歷表;記錄模塊,用于在所述履歷表中記錄針對數(shù)據(jù)在變更時所產(chǎn)生的履歷信息;獲取模塊,用于根據(jù)所述履歷表中記錄的履歷信息獲取所述導(dǎo)航電子地圖的差分數(shù)據(jù)。8.根據(jù)權(quán)利要求7所述的裝置,其特征在于,所述記錄模塊包括第一記錄單元,當需要刪除所述數(shù)據(jù)表中的數(shù)據(jù)時,用于將所述數(shù)據(jù)表中需要刪除數(shù)據(jù)的有效位字段標記為無效;或者當需要修改所述數(shù)據(jù)表中的數(shù)據(jù)時,用于將所述數(shù)據(jù)表中需要修改的數(shù)據(jù)的有效位字段標記為無效,并在所述數(shù)據(jù)表中增加修改后的數(shù)據(jù),所述修改后的數(shù)據(jù)的有效位字段標記為有效;第二記錄單元,用于在所述履歷表中記錄導(dǎo)致所述數(shù)據(jù)表中數(shù)據(jù)的有效位字段發(fā)生變化的履歷信息,所述履歷信息包括刪除數(shù)據(jù)的相關(guān)信息和新增數(shù)據(jù)的相關(guān)信息。9.根據(jù)權(quán)利要求7所述的裝置,其特征在于,所述裝置還包括壓縮模塊,用于按照預(yù)定的數(shù)據(jù)壓縮策略,對所述數(shù)據(jù)表中記錄的數(shù)據(jù)和所述履歷表中記錄的履歷信息進行數(shù)據(jù)壓縮處理。全文摘要本發(fā)明公開了一種基于履歷信息的導(dǎo)航電子地圖差分數(shù)據(jù)生成方法及裝置,屬于導(dǎo)航
技術(shù)領(lǐng)域:
,該方法包括在地圖數(shù)據(jù)庫中設(shè)置至少一個與數(shù)據(jù)表對應(yīng)的履歷表;當需要刪除數(shù)據(jù)表中的數(shù)據(jù)時,將數(shù)據(jù)表中需要刪除數(shù)據(jù)的有效位字段標記為無效;或者當需要修改數(shù)據(jù)表中的數(shù)據(jù)時,將數(shù)據(jù)表中需要修改的數(shù)據(jù)的有效位字段標記為無效,并且在數(shù)據(jù)表中增加修改后的數(shù)據(jù),該修改后的數(shù)據(jù)的有效位字段標記為有效;然后在履歷表中記錄導(dǎo)致數(shù)據(jù)表中數(shù)據(jù)的有效位字段發(fā)生變化的履歷信息;根據(jù)履歷表中記錄的履歷信息獲取導(dǎo)航電子地圖的差分數(shù)據(jù),有效降低數(shù)據(jù)差分過程的復(fù)雜度和對比范圍。文檔編號G06F17/30GK101750085SQ200810239378公開日2010年6月23日申請日期2008年12月11日優(yōu)先權(quán)日2008年12月11日發(fā)明者徐晉輝,曹曉航,陳丹申請人:北京四維圖新科技股份有限公司