導(dǎo)航地圖多個(gè)更新區(qū)域的數(shù)據(jù)庫(kù)文件訪問管理方法及裝置制造方法
【專利摘要】本發(fā)明提供一種導(dǎo)航地圖多個(gè)更新區(qū)域的數(shù)據(jù)庫(kù)文件訪問管理方法及裝置,該方法包括步驟:將各個(gè)導(dǎo)航功能模塊使用的、用于查詢數(shù)據(jù)庫(kù)的查詢請(qǐng)求在數(shù)據(jù)庫(kù)訪問管理單元中進(jìn)行注冊(cè);數(shù)據(jù)庫(kù)訪問管理單元為注冊(cè)的查詢請(qǐng)求分配查詢請(qǐng)求ID;各個(gè)導(dǎo)航功能模塊使用查詢請(qǐng)求ID進(jìn)行數(shù)據(jù)訪問。
【專利說(shuō)明】導(dǎo)航地圖多個(gè)更新區(qū)域的數(shù)據(jù)庫(kù)文件訪問管理方法及裝置
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及導(dǎo)航地圖多個(gè)更新區(qū)域的數(shù)據(jù)庫(kù)文件訪問管理方法及裝置,尤其涉及 在導(dǎo)航電子地圖數(shù)據(jù)中存在多更新區(qū)域時(shí)的導(dǎo)航電子地圖數(shù)據(jù)庫(kù)訪問管理方法及裝置。
【背景技術(shù)】
[0002]隨著導(dǎo)航電子地圖數(shù)據(jù)量越來(lái)越大以及用戶對(duì)數(shù)據(jù)更新的及時(shí)性要求越來(lái)越高, 新的導(dǎo)航電子地圖存儲(chǔ)規(guī)格增加了對(duì)數(shù)據(jù)進(jìn)行增量更新的特性。例如2010年發(fā)布了一份 電子地圖數(shù)據(jù),2011年發(fā)布的新數(shù)據(jù)僅提供一份增量更新的數(shù)據(jù),增量更新數(shù)據(jù)中只包括 了相對(duì)于2010年2011年的地圖出現(xiàn)變化的那部分?jǐn)?shù)據(jù),這樣就不需要提供2011年的全國(guó) 的電子地圖數(shù)據(jù),這樣提供給用戶的數(shù)據(jù)就非常少,用戶系統(tǒng)只需根據(jù)增量更新數(shù)據(jù)的內(nèi) 容在2010年的數(shù)據(jù)基礎(chǔ)上做些修改就可以了,不需要更新全國(guó)地圖數(shù)據(jù),這樣用戶更新數(shù) 據(jù)就比較快。
[0003]為了滿足增量更新及大容量數(shù)據(jù)的存儲(chǔ)要求,全國(guó)電子地圖被劃分為若干個(gè)更 新區(qū)域,每個(gè)更新區(qū)域包含該更新區(qū)域所有導(dǎo)航功能模塊需要的數(shù)據(jù),同時(shí)由于某些嵌入 式操作系統(tǒng)對(duì)文件容量小于2GB的限制,造成了一份全國(guó)電子地圖可能需要幾十個(gè)文件存 儲(chǔ)。這就要求導(dǎo)航系統(tǒng)在地圖數(shù)據(jù)被訪問時(shí)要具有完善的機(jī)制對(duì)地圖數(shù)據(jù)文件訪問進(jìn)行管 理,既要保證數(shù)據(jù)訪問過(guò)程效率高,又要求資源占用盡可能少,以滿足在嵌入式系統(tǒng)資源有 限的情況下流暢地運(yùn)行所有導(dǎo)航應(yīng)用。
[0004]如圖1所示,在現(xiàn)有的導(dǎo)航系統(tǒng)中,通常各個(gè)模塊獨(dú)立管理該模塊需要訪問的地 圖數(shù)據(jù)文件。從圖1中可以看出現(xiàn)有系統(tǒng)中各個(gè)模塊獨(dú)立管理數(shù)據(jù)庫(kù)對(duì)象,由于每個(gè)數(shù)據(jù) 庫(kù)對(duì)象都需要獨(dú)立的緩沖區(qū),因此造成了內(nèi)存消耗較大。在Sqlite數(shù)據(jù)庫(kù)系統(tǒng)中,如果不 同導(dǎo)航功能模塊使用同一個(gè)數(shù)據(jù)庫(kù)文件,那么利用Sqlite數(shù)據(jù)庫(kù)系統(tǒng)的共享緩沖區(qū)模式 可以達(dá)到節(jié)約內(nèi)存的目的。但對(duì)于具有多更新區(qū)域的地圖的應(yīng)用,由于數(shù)據(jù)庫(kù)文件較多,如 果每個(gè)導(dǎo)航功能模塊都獨(dú)立使用數(shù)據(jù)庫(kù)訪問對(duì)象,則需要消耗較多的內(nèi)存。在嵌入式導(dǎo)航 系統(tǒng)內(nèi)存容量較少的情況下更是不能被接受。
[0005]另外,導(dǎo)航功能模塊從數(shù)據(jù)庫(kù)中讀取數(shù)據(jù)是通過(guò)數(shù)據(jù)的ID來(lái)進(jìn)行檢索的,每一類 型的數(shù)據(jù)查詢語(yǔ)句形式都是相同的,僅僅是數(shù)據(jù)的ID和某些條件的數(shù)值發(fā)生變化,而查詢 語(yǔ)句在使用時(shí)需要數(shù)據(jù)庫(kù)系統(tǒng)進(jìn)行編譯,每次編譯都需要耗費(fèi)時(shí)間,利用Sqlite的參數(shù)化 SQL可以避免這種情況,只需要編譯一次,每次查詢時(shí)只要綁定需要變化的數(shù)值就可以完成 查詢操作,極大地提高效率。但在具有多更新區(qū)域的地圖的應(yīng)用中,由于存在數(shù)據(jù)庫(kù)調(diào)度的 問題,因此會(huì)造成編譯好的查詢語(yǔ)句使用的文件被卸載的情況,如果無(wú)法及時(shí)通知查詢語(yǔ) 句使用方則會(huì)造成查詢操作的失敗,而要建立這種通知機(jī)制會(huì)極大增加系統(tǒng)的復(fù)雜性。
【發(fā)明內(nèi)容】
[0006]為了解決上述現(xiàn)有技術(shù)中的問題,本發(fā)明提供一種導(dǎo)航地圖多個(gè)更新區(qū)域的數(shù)據(jù) 庫(kù)文件訪問管理方法,包括步驟:將各個(gè)導(dǎo)航功能模塊使用的、用于查詢數(shù)據(jù)庫(kù)的查詢請(qǐng)求在數(shù)據(jù)庫(kù)訪問管理單元中進(jìn)行注冊(cè);數(shù)據(jù)庫(kù)訪問管理單元為注冊(cè)的查詢請(qǐng)求分配查詢請(qǐng)求 ID ;及各個(gè)導(dǎo)航功能模塊使用查詢請(qǐng)求ID進(jìn)行數(shù)據(jù)訪問。
[0007]還提供一種導(dǎo)航地圖多個(gè)更新區(qū)域的數(shù)據(jù)庫(kù)文件訪問管理裝置,包括:注冊(cè)單元, 用于將各個(gè)導(dǎo)航功能模塊使用的、用于查詢數(shù)據(jù)庫(kù)的查詢請(qǐng)求進(jìn)行注冊(cè);ID分配單元,用于為注冊(cè)的查詢請(qǐng)求分配查詢請(qǐng)求ID,各個(gè)導(dǎo)航功能模塊使用查詢請(qǐng)求ID進(jìn)行數(shù)據(jù)訪問。
[0008]本發(fā)明通過(guò)科學(xué)的調(diào)度策略實(shí)現(xiàn)了導(dǎo)航引擎僅使用一個(gè)數(shù)據(jù)庫(kù)對(duì)象達(dá)到高效訪問多更新區(qū)域地圖數(shù)據(jù)庫(kù)的要求,保證了在嵌入式設(shè)備內(nèi)存資源受限情況下對(duì)導(dǎo)航數(shù)據(jù)的聞效訪問。
【專利附圖】
【附圖說(shuō)明】[0009]圖1表示現(xiàn)有的導(dǎo)航系統(tǒng)的結(jié)構(gòu)示意圖;[0010]圖2表示根據(jù)本發(fā)明實(shí)施例的導(dǎo)航系統(tǒng)的結(jié)構(gòu)示意圖;[0011]圖3表示根據(jù)本發(fā)明實(shí)施例的查詢語(yǔ)句索引表的結(jié)構(gòu)示意圖;[0012]圖4表示根據(jù)本發(fā)明實(shí)施例的數(shù)據(jù)庫(kù)對(duì)象索引表的結(jié)構(gòu)示意圖;[0013]圖5表示根據(jù)本發(fā)明實(shí)施例的數(shù)據(jù)庫(kù)訪問管理單元初始化的流程圖;[0014]圖6表示根據(jù)本發(fā)明實(shí)施例的向數(shù)據(jù)庫(kù)訪問管理單元進(jìn)行注冊(cè)的流程圖 [0015]圖7表示根據(jù)本發(fā)明實(shí)施例的查詢語(yǔ)句注冊(cè)管理策略的執(zhí)行流程圖;[0016]圖8表示根據(jù)本發(fā)明實(shí)施例的查詢語(yǔ)句注冊(cè)管理策略的執(zhí)行流程圖;[0017]圖9表示根據(jù)本發(fā)明實(shí)施例的查詢語(yǔ)句注冊(cè)管理策略的執(zhí)行流程圖?!揪唧w實(shí)施方式】
[0018]本發(fā)明提供的導(dǎo)航地圖多個(gè)更新區(qū)域的數(shù)據(jù)庫(kù)文件訪問管理方法的核心思想是通過(guò)在導(dǎo)航系統(tǒng)中增加數(shù)據(jù)庫(kù)訪問管理單元來(lái)統(tǒng)一管理數(shù)據(jù)庫(kù)對(duì)象,各導(dǎo)航功能模塊使用到的查詢語(yǔ)句需要在系統(tǒng)啟動(dòng)時(shí)向數(shù)據(jù)庫(kù)訪問管理單元注冊(cè),由數(shù)據(jù)庫(kù)訪問管理單元為注冊(cè)的查詢請(qǐng)求分配固定的查詢請(qǐng)求ID,導(dǎo)航功能模塊使用查詢請(qǐng)求ID進(jìn)行數(shù)據(jù)訪問。通過(guò)這種方式,各導(dǎo)航功能模塊不需要考慮數(shù)據(jù)庫(kù)文件名稱、數(shù)據(jù)庫(kù)文件加載等細(xì)節(jié),只需要通過(guò)更新區(qū)域ID和查詢請(qǐng)求ID就可以對(duì)數(shù)據(jù)進(jìn)行訪問。
[0019]根據(jù)本發(fā)明的一個(gè)方面,提供一種導(dǎo)航地圖多個(gè)更新區(qū)域的數(shù)據(jù)庫(kù)文件訪問管理方法,該方法包括步驟:將各個(gè)導(dǎo)航功能模塊使用的、用于查詢數(shù)據(jù)庫(kù)的查詢請(qǐng)求在數(shù)據(jù)庫(kù)訪問管理單元中進(jìn)行注冊(cè);數(shù)據(jù)庫(kù)訪問管理單元為注冊(cè)的查詢請(qǐng)求分配查詢請(qǐng)求ID ;及各個(gè)導(dǎo)航功能模塊使用查詢請(qǐng)求ID進(jìn)行數(shù)據(jù)訪問。
[0020]根據(jù)本發(fā)明的另一方面,提供一種導(dǎo)航地圖多個(gè)更新區(qū)域的數(shù)據(jù)庫(kù)文件訪問管理裝置,包括:注冊(cè)單元,用于將各個(gè)導(dǎo)航功能模塊使用的、用于查詢數(shù)據(jù)庫(kù)的查詢請(qǐng)求進(jìn)行注冊(cè);ID分配單元,用于為注冊(cè)的查詢請(qǐng)求分配查詢請(qǐng)求ID,各個(gè)導(dǎo)航功能模塊使用查詢請(qǐng)求ID進(jìn)行數(shù)據(jù)訪問,如圖2所示。
[0021]數(shù)據(jù)庫(kù)訪問管理單元啟動(dòng)時(shí)要構(gòu)建三個(gè)索引表,分別是數(shù)據(jù)庫(kù)文件信息表、查詢請(qǐng)求索引表、數(shù)據(jù)庫(kù)對(duì)象索引表,用于管理數(shù)據(jù)庫(kù)文件、查詢請(qǐng)求、更新區(qū)域、導(dǎo)航功能模塊的索引信息以及相互間的關(guān)聯(lián)。下面分別對(duì)三個(gè)索引表進(jìn)行說(shuō)明。
[0022]( I)數(shù)據(jù)庫(kù)文件信息表,該表用于對(duì)數(shù)據(jù)庫(kù)文件訪問的統(tǒng)一管理,每個(gè)數(shù)據(jù)庫(kù)文件信息記錄的信息包括:
[0023]a、加載狀態(tài)標(biāo)識(shí),標(biāo)識(shí)數(shù)據(jù)庫(kù)文件是否被加載。
[0024]b、訪問計(jì)數(shù),當(dāng)數(shù)據(jù)庫(kù)被訪問時(shí),計(jì)數(shù)加I ;數(shù)據(jù)庫(kù)訪問結(jié)束時(shí)則減I ;用于標(biāo)識(shí)當(dāng) 前訪問數(shù)據(jù)庫(kù)的查詢操作數(shù)量,當(dāng)該計(jì)數(shù)大于0時(shí),該數(shù)據(jù)庫(kù)文件不允許被卸載。
[0025]C、互斥量,用于線程同步。
[0026]d、數(shù)據(jù)庫(kù)別名,當(dāng)一個(gè)數(shù)據(jù)庫(kù)對(duì)象加載多個(gè)數(shù)據(jù)庫(kù)文件時(shí),每個(gè)數(shù)據(jù)庫(kù)需要?jiǎng)e名, 用于區(qū)分不同數(shù)據(jù)庫(kù)文件。
[0027]e、數(shù)據(jù)庫(kù)文件名稱,數(shù)據(jù)庫(kù)文件在存儲(chǔ)設(shè)備上的保護(hù)絕對(duì)路徑的文件名稱。
[0028]f、文件最后訪問時(shí)間
[0029](2)查詢語(yǔ)句索引表,各個(gè)導(dǎo)航功能模塊注冊(cè)的查詢語(yǔ)句由該表管理,其結(jié)構(gòu)見圖 3。
[0030](3)數(shù)據(jù)庫(kù)對(duì)象索引表,該表用于管理更新區(qū)域ID —功能模塊ID —數(shù)據(jù)庫(kù)文件/ 查詢請(qǐng)求間的三級(jí)索引關(guān)系,見圖4。
[0031]由于更新區(qū)域ID/導(dǎo)航功能模塊ID的定義是與更新區(qū)域和功能模塊數(shù)量相關(guān)的, 即使使用的ID的編碼大于更新區(qū)域/導(dǎo)航功能模塊的數(shù)量,超出的范圍也是很有限的,因 此數(shù)據(jù)庫(kù)訪問管理單元建立的數(shù)據(jù)索引表采用數(shù)組來(lái)存儲(chǔ)信息,數(shù)組第n個(gè)位置存儲(chǔ)的是 更新區(qū)域/導(dǎo)航功能模塊ID=n的數(shù)據(jù),這樣檢索數(shù)據(jù)過(guò)程中通過(guò)ID值可以直接訪問相應(yīng) 的數(shù)據(jù),避免了查找過(guò)程效率的損失。
[0032]數(shù)據(jù)庫(kù)訪問管理單元初始化流程見圖5。
[0033]在多更新區(qū)域地圖導(dǎo)航應(yīng)用中,當(dāng)數(shù)據(jù)庫(kù)文件數(shù)量超過(guò)31個(gè)時(shí),一個(gè)數(shù)據(jù)庫(kù)對(duì)象 無(wú)法同時(shí)加載全部的數(shù)據(jù)庫(kù)文件,這時(shí)需要有一個(gè)合理的調(diào)度策略來(lái)確定哪個(gè)數(shù)據(jù)庫(kù)文件 被加載、哪個(gè)數(shù)據(jù)庫(kù)文件被卸載,以便于保證數(shù)據(jù)訪問的效率。
[0034]本發(fā)明中數(shù)據(jù)庫(kù)文件調(diào)度的策略定義如下:
[0035](I)數(shù)據(jù)庫(kù)訪問管理單元不主動(dòng)加載任何數(shù)據(jù)庫(kù)文件,只有當(dāng)導(dǎo)航功能模塊請(qǐng)求 使用某個(gè)注冊(cè)的查詢請(qǐng)求時(shí),才將該查詢涉及的數(shù)據(jù)庫(kù)文件加載到數(shù)據(jù)庫(kù)對(duì)象中。
[0036](2)數(shù)據(jù)庫(kù)文件加載成功后,設(shè)置數(shù)據(jù)庫(kù)文件信息中的“加載狀態(tài)標(biāo)識(shí)”為已加載 狀態(tài)。
[0037](3)已加載的數(shù)據(jù)庫(kù)文件保持加載狀態(tài),直到符合策略(4)、(5)、(6)的情況才允 許卸載
[0038](4)在數(shù)據(jù)庫(kù)對(duì)象加載的數(shù)據(jù)庫(kù)文件達(dá)到31個(gè)的情況下,如果需要訪問未加載的 數(shù)據(jù)庫(kù)文件時(shí),將符合條件(5)、(6)的數(shù)據(jù)庫(kù)文件卸載。
[0039](5)只允許卸載數(shù)據(jù)庫(kù)文件信息中訪問計(jì)數(shù)等于0的數(shù)據(jù)庫(kù)文件
[0040](6)在符合條件(5)的情況下優(yōu)先卸載最后訪問時(shí)間距現(xiàn)在最久的數(shù)據(jù)庫(kù)文件
[0041](7)如果出現(xiàn)符合條件(4)同時(shí)不符合條件(5)、(6)的情況,則需要向請(qǐng)求方返回 失敗息。
[0042](8)數(shù)據(jù)庫(kù)文件卸載成功后,設(shè)置數(shù)據(jù)庫(kù)文件信息中的“加載狀態(tài)標(biāo)識(shí)”為未加載 狀態(tài)。
[0043](9)卸載數(shù)據(jù)庫(kù)文件時(shí),首先要從數(shù)據(jù)庫(kù)對(duì)象中將已編譯的訪問被卸載數(shù)據(jù)庫(kù)文 件的查詢命令清除,同時(shí)將數(shù)據(jù)庫(kù)對(duì)象索引表中的查詢命令記錄清除。[0044]地圖數(shù)據(jù)查詢使用的查詢語(yǔ)句的可以簡(jiǎn)單描述成:從哪個(gè)表,選擇什么數(shù)據(jù),條件是什么。而多更新區(qū)域地圖數(shù)據(jù)庫(kù)文件調(diào)度過(guò)程中影響到的是“從哪個(gè)表”這一部分,當(dāng)一個(gè)數(shù)據(jù)庫(kù)對(duì)象加載了多個(gè)數(shù)據(jù)庫(kù)文件情況下,需要從某個(gè)表中讀取數(shù)據(jù)時(shí),需要在表名稱前面限定其屬于哪個(gè)數(shù)據(jù)庫(kù)文件。
[0045]本發(fā)明中的查詢語(yǔ)句注冊(cè)管理機(jī)制通過(guò)如下策略避免了數(shù)據(jù)庫(kù)調(diào)度對(duì)導(dǎo)航功能模塊查詢數(shù)據(jù)操作的影響:
[0046]( I)導(dǎo)航功能模塊將所有需要使用的查詢語(yǔ)句向數(shù)據(jù)庫(kù)訪問管理單元注冊(cè),數(shù)據(jù)庫(kù)訪問管理單元將查詢語(yǔ)句插入到查詢語(yǔ)句索引表中該功能模塊對(duì)于的查詢請(qǐng)求列表中, 注冊(cè)流程參考圖6。
[0047](2)注冊(cè)時(shí)將完整的SQL語(yǔ)句分為三部分,選擇部分、來(lái)源部分、條件部分,分別對(duì)應(yīng)選擇什么數(shù)據(jù)、從哪個(gè)表、條件是什么三部分,其中條件部分可以為空;來(lái)源部分是使用到的數(shù)據(jù)庫(kù)表的名稱列表,當(dāng)使用多個(gè)表時(shí),系統(tǒng)默認(rèn)表的別名按a、b、c…來(lái)命名。
[0048](3)注冊(cè)后數(shù)據(jù)庫(kù)訪問管理單元會(huì)為查詢語(yǔ)句分配一個(gè)固定的查詢語(yǔ)句ID,該ID 同時(shí)可以用于識(shí)別查詢語(yǔ)句訪問數(shù)據(jù)的導(dǎo)航功能模塊索引信息以及查詢語(yǔ)句的索引信息, 以便于使用時(shí)快速查找。
[0049](4)導(dǎo)航功能模塊需要查詢數(shù)據(jù)時(shí),需要向數(shù)據(jù)庫(kù)訪問管理模塊發(fā)出連接請(qǐng)求,將更新區(qū)域ID和查詢語(yǔ)句ID傳遞給數(shù)據(jù)庫(kù)訪問管理單元。如果兩個(gè)ID確定的查詢語(yǔ)句已經(jīng)在數(shù)據(jù)庫(kù)對(duì)象中編譯成功,則數(shù)據(jù)庫(kù)訪問管理單元將數(shù)據(jù)庫(kù)對(duì)象返回給導(dǎo)航功能模塊用于查詢操作;否則執(zhí)行策略(5)、(6),成功后將數(shù)據(jù)庫(kù)對(duì)象返回給導(dǎo)航功能模塊。
[0050](5)如果查詢語(yǔ)句還未成功編譯,數(shù)據(jù)庫(kù)訪問管理單元根據(jù)查詢語(yǔ)句ID從查詢語(yǔ)句索引表中獲取到查詢語(yǔ)句的信息,將查詢語(yǔ)句三個(gè)部分拼成完整的SQL語(yǔ)句.[0051](6)并在數(shù)據(jù)庫(kù)對(duì)象中編譯查詢語(yǔ)句。
[0052](7)在策略(5)拼接SQL語(yǔ)句過(guò)程中,首先需要根據(jù)更新區(qū)域ID以及查詢語(yǔ)句ID 中的模塊信息從數(shù)據(jù)庫(kù)對(duì)象索引表中找到查詢使用到的數(shù)據(jù)庫(kù)文件信息,如果該數(shù)據(jù)庫(kù)文件已經(jīng)加載到數(shù)據(jù)庫(kù)對(duì)象,則從數(shù)據(jù)庫(kù)文件信息表中取出別名作為查詢語(yǔ)句中表的前綴。
[0053](8)執(zhí)行策略(7)成功后,將數(shù)據(jù)庫(kù)文件信息中的訪問計(jì)數(shù)加I。
[0054](9)如果數(shù)據(jù)庫(kù)文件 未被加載,根據(jù)數(shù)據(jù)庫(kù)調(diào)度策略加載需要使用的數(shù)據(jù)庫(kù)文件, 如果成功則執(zhí)行策略(7)、(8),否則返回失敗信息。
[0055](10)查詢操作執(zhí)行完畢必須向數(shù)據(jù)庫(kù)訪問管理單元發(fā)出查詢結(jié)束通知。
[0056](11)查詢操作結(jié)束后,將數(shù)據(jù)庫(kù)文件信息中的訪問計(jì)數(shù)減I。
[0057]圖7、8 描述了策略(4)、(5)、(6)、(7)、(8)、(9)的執(zhí)行流程。
[0058]圖9描述了策略(10)、(11)的執(zhí)行流程。
[0059]本發(fā)明通過(guò)獨(dú)特的查詢語(yǔ)句注冊(cè)管理機(jī)制,隱藏了多更新區(qū)域下數(shù)據(jù)庫(kù)名稱以及數(shù)據(jù)庫(kù)文件加載/卸載對(duì)查詢語(yǔ)句的影響,簡(jiǎn)化了導(dǎo)航功能模塊數(shù)據(jù)訪問的流程,降低了各導(dǎo)航功能模塊訪問多更新區(qū)域數(shù)據(jù)的復(fù)雜度。同時(shí)充分利用Sqlite提供的參數(shù)化的 SQL,解決了數(shù)據(jù)訪問過(guò)程中相同查詢語(yǔ)句多次重復(fù)編譯的效率問題。
[0060]本發(fā)明利用Sqlite數(shù)據(jù)庫(kù)系統(tǒng)可以同時(shí)打開31個(gè)數(shù)據(jù)庫(kù)文件的特性,通過(guò)科學(xué)的調(diào)度策略來(lái)管理數(shù)據(jù)庫(kù)文件的加載/卸載操作,在系統(tǒng)中只申請(qǐng)一個(gè)數(shù)據(jù)庫(kù)訪問對(duì)象的情況下,保證各個(gè)功能模塊對(duì)數(shù)據(jù)庫(kù)高效、流暢地訪問數(shù)據(jù),達(dá)到節(jié)約系統(tǒng)內(nèi)存的要求。[0061]本發(fā)明利用發(fā)明的查詢語(yǔ)句注冊(cè)管理機(jī)制簡(jiǎn)化數(shù)據(jù)訪問操作,只需要通過(guò)更新區(qū) 域ID,查詢語(yǔ)句ID兩個(gè)參數(shù)就可以對(duì)數(shù)據(jù)庫(kù)進(jìn)行訪問,隱藏?cái)?shù)據(jù)庫(kù)文件名稱、數(shù)據(jù)庫(kù)加載/ 卸載等細(xì)節(jié)。
【權(quán)利要求】
1.一種導(dǎo)航地圖多個(gè)更新區(qū)域的數(shù)據(jù)庫(kù)文件訪問管理方法,包括步驟:將各個(gè)導(dǎo)航功能模塊使用的、用于查詢數(shù)據(jù)庫(kù)的查詢請(qǐng)求在數(shù)據(jù)庫(kù)訪問管理單元中進(jìn) 行注冊(cè);數(shù)據(jù)庫(kù)訪問管理單元為注冊(cè)的查詢請(qǐng)求分配查詢請(qǐng)求ID '及 各個(gè)導(dǎo)航功能模塊使用查詢請(qǐng)求ID進(jìn)行數(shù)據(jù)訪問。
2.根據(jù)權(quán)利要求1所述的導(dǎo)航地圖多個(gè)更新區(qū)域的數(shù)據(jù)庫(kù)文件訪問管理方法,其中, 注冊(cè)步驟是在導(dǎo)航系統(tǒng)啟動(dòng)時(shí)進(jìn)行的。
3.根據(jù)權(quán)利要求2所述的導(dǎo)航地圖多個(gè)更新區(qū)域的數(shù)據(jù)庫(kù)文件訪問管理方法,其中, 數(shù)據(jù)庫(kù)訪問管理單元在導(dǎo)航系統(tǒng)啟動(dòng)時(shí)建立數(shù)據(jù)庫(kù)文件信息索弓丨表、查詢請(qǐng)求索引表及數(shù)據(jù)庫(kù)對(duì)象索引表,以管理數(shù)據(jù)庫(kù)文件、查詢請(qǐng)求、電子地圖更新區(qū)域、導(dǎo)航功能模塊的 索引信息。
4.根據(jù)權(quán)利要求3所述的導(dǎo)航地圖多個(gè)更新區(qū)域的數(shù)據(jù)庫(kù)文件訪問管理方法,其中, 數(shù)據(jù)庫(kù)文件信息索引表、查詢請(qǐng)求索引表及數(shù)據(jù)庫(kù)對(duì)象索引表互相關(guān)聯(lián)。
5.根據(jù)權(quán)利要求3或4所述的導(dǎo)航地圖多個(gè)更新區(qū)域的數(shù)據(jù)庫(kù)文件訪問管理方法,其中,查詢請(qǐng)求索引表對(duì)所述查詢請(qǐng)求進(jìn)行管理。
6.一種導(dǎo)航地圖多個(gè)更新區(qū)域的數(shù)據(jù)庫(kù)文件訪問管理裝置,包括:注冊(cè)單元,用于將各個(gè)導(dǎo)航功能模塊使用的、用于查詢數(shù)據(jù)庫(kù)的查詢請(qǐng)求進(jìn)行注冊(cè);ID分配單元,用于為注冊(cè)的查詢請(qǐng)求分配查詢請(qǐng)求ID,各個(gè)導(dǎo)航功能模塊使用查詢請(qǐng) 求ID進(jìn)行數(shù)據(jù)訪問。
7.根據(jù)權(quán)利要求6所述的導(dǎo)航地圖多個(gè)更新區(qū)域的數(shù)據(jù)庫(kù)文件訪問管理裝置,其中, 所述注冊(cè)單元在導(dǎo)航系統(tǒng)啟動(dòng)時(shí)進(jìn)行注冊(cè)。
8.根據(jù)權(quán)利要求7所述的導(dǎo)航地圖多個(gè)更新區(qū)域的數(shù)據(jù)庫(kù)文件訪問管理裝置,其中, 還包括索引表創(chuàng)建單元,用于在導(dǎo)航系統(tǒng)啟動(dòng)時(shí)建立數(shù)據(jù)庫(kù)文件信息索引表、查詢請(qǐng)求索 引表及數(shù)據(jù)庫(kù)對(duì)象索引表,以管理數(shù)據(jù)庫(kù)文件、查詢請(qǐng)求、電子地圖更新區(qū)域、導(dǎo)航功能模 塊的索引信息。
9.根據(jù)權(quán)利要求8所述的導(dǎo)航地圖多個(gè)更新區(qū)域的數(shù)據(jù)庫(kù)文件訪問管理裝置,其中, 數(shù)據(jù)庫(kù)文件信息索引表、查詢請(qǐng)求索引表及數(shù)據(jù)庫(kù)對(duì)象索引表互相關(guān)聯(lián)。
10.根據(jù)權(quán)利要求8或9所述的導(dǎo)航地圖多個(gè)更新區(qū)域的數(shù)據(jù)庫(kù)文件訪問管理裝置,其 中,查詢請(qǐng)求索引表對(duì)所述查詢請(qǐng)求進(jìn)行管理。
【文檔編號(hào)】G06F17/30GK103514185SQ201210210037
【公開日】2014年1月15日 申請(qǐng)日期:2012年6月20日 優(yōu)先權(quán)日:2012年6月20日
【發(fā)明者】劉澤林, 劉志毅 申請(qǐng)人:北京四維圖新科技股份有限公司