CN103514185A - 导航地图多个更新区域的数据库文件访问管理方法及装置 - Google Patents
导航地图多个更新区域的数据库文件访问管理方法及装置 Download PDFInfo
- Publication number
- CN103514185A CN103514185A CN201210210037.8A CN201210210037A CN103514185A CN 103514185 A CN103514185 A CN 103514185A CN 201210210037 A CN201210210037 A CN 201210210037A CN 103514185 A CN103514185 A CN 103514185A
- Authority
- CN
- China
- Prior art keywords
- database
- inquiry request
- concordance list
- navigation
- database file
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/29—Geographical information databases
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Remote Sensing (AREA)
- Computational Linguistics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Navigation (AREA)
- Traffic Control Systems (AREA)
Abstract
本发明提供一种导航地图多个更新区域的数据库文件访问管理方法及装置,该方法包括步骤:将各个导航功能模块使用的、用于查询数据库的查询请求在数据库访问管理单元中进行注册;数据库访问管理单元为注册的查询请求分配查询请求ID;各个导航功能模块使用查询请求ID进行数据访问。
Description
技术领域
本发明涉及导航地图多个更新区域的数据库文件访问管理方法及装置,尤其涉及在导航电子地图数据中存在多更新区域时的导航电子地图数据库访问管理方法及装置。
背景技术
随着导航电子地图数据量越来越大以及用户对数据更新的及时性要求越来越高,新的导航电子地图存储规格增加了对数据进行增量更新的特性。例如2010年发布了一份电子地图数据,2011年发布的新数据仅提供一份增量更新的数据,增量更新数据中只包括了相对于2010年2011年的地图出现变化的那部分数据,这样就不需要提供2011年的全国的电子地图数据,这样提供给用户的数据就非常少,用户系统只需根据增量更新数据的内容在2010年的数据基础上做些修改就可以了,不需要更新全国地图数据,这样用户更新数据就比较快。
为了满足增量更新及大容量数据的存储要求,全国电子地图被划分为若干个更新区域,每个更新区域包含该更新区域所有导航功能模块需要的数据,同时由于某些嵌入式操作系统对文件容量小于2GB的限制,造成了一份全国电子地图可能需要几十个文件存储。这就要求导航系统在地图数据被访问时要具有完善的机制对地图数据文件访问进行管理,既要保证数据访问过程效率高,又要求资源占用尽可能少,以满足在嵌入式系统资源有限的情况下流畅地运行所有导航应用。
如图1所示,在现有的导航系统中,通常各个模块独立管理该模块需要访问的地图数据文件。从图1中可以看出现有系统中各个模块独立管理数据库对象,由于每个数据库对象都需要独立的缓冲区,因此造成了内存消耗较大。在Sqlite数据库系统中,如果不同导航功能模块使用同一个数据库文件,那么利用Sqlite数据库系统的共享缓冲区模式可以达到节约内存的目的。但对于具有多更新区域的地图的应用,由于数据库文件较多,如果每个导航功能模块都独立使用数据库访问对象,则需要消耗较多的内存。在嵌入式导航系统内存容量较少的情况下更是不能被接受。
另外,导航功能模块从数据库中读取数据是通过数据的ID来进行检索的,每一类型的数据查询语句形式都是相同的,仅仅是数据的ID和某些条件的数值发生变化,而查询语句在使用时需要数据库系统进行编译,每次编译都需要耗费时间,利用Sqlite的参数化SQL可以避免这种情况,只需要编译一次,每次查询时只要绑定需要变化的数值就可以完成查询操作,极大地提高效率。但在具有多更新区域的地图的应用中,由于存在数据库调度的问题,因此会造成编译好的查询语句使用的文件被卸载的情况,如果无法及时通知查询语句使用方则会造成查询操作的失败,而要建立这种通知机制会极大增加系统的复杂性。
发明内容
为了解决上述现有技术中的问题,本发明提供一种导航地图多个更新区域的数据库文件访问管理方法,包括步骤:将各个导航功能模块使用的、用于查询数据库的查询请求在数据库访问管理单元中进行注册;数据库访问管理单元为注册的查询请求分配查询请求ID;及各个导航功能模块使用查询请求ID进行数据访问。
还提供一种导航地图多个更新区域的数据库文件访问管理装置,包括:注册单元,用于将各个导航功能模块使用的、用于查询数据库的查询请求进行注册;ID分配单元,用于为注册的查询请求分配查询请求ID,各个导航功能模块使用查询请求ID进行数据访问。
本发明通过科学的调度策略实现了导航引擎仅使用一个数据库对象达到高效访问多更新区域地图数据库的要求,保证了在嵌入式设备内存资源受限情况下对导航数据的高效访问。
附图说明
图1表示现有的导航系统的结构示意图;
图2表示根据本发明实施例的导航系统的结构示意图;
图3表示根据本发明实施例的查询语句索引表的结构示意图;
图4表示根据本发明实施例的数据库对象索引表的结构示意图;
图5表示根据本发明实施例的数据库访问管理单元初始化的流程图;
图6表示根据本发明实施例的向数据库访问管理单元进行注册的流程图;
图7表示根据本发明实施例的查询语句注册管理策略的执行流程图;
图8表示根据本发明实施例的查询语句注册管理策略的执行流程图;
图9表示根据本发明实施例的查询语句注册管理策略的执行流程图。
具体实施方式
本发明提供的导航地图多个更新区域的数据库文件访问管理方法的核心思想是通过在导航系统中增加数据库访问管理单元来统一管理数据库对象,各导航功能模块使用到的查询语句需要在系统启动时向数据库访问管理单元注册,由数据库访问管理单元为注册的查询请求分配固定的查询请求ID,导航功能模块使用查询请求ID进行数据访问。通过这种方式,各导航功能模块不需要考虑数据库文件名称、数据库文件加载等细节,只需要通过更新区域ID和查询请求ID就可以对数据进行访问。
根据本发明的一个方面,提供一种导航地图多个更新区域的数据库文件访问管理方法,该方法包括步骤:将各个导航功能模块使用的、用于查询数据库的查询请求在数据库访问管理单元中进行注册;数据库访问管理单元为注册的查询请求分配查询请求ID;及各个导航功能模块使用查询请求ID进行数据访问。
根据本发明的另一方面,提供一种导航地图多个更新区域的数据库文件访问管理装置,包括:注册单元,用于将各个导航功能模块使用的、用于查询数据库的查询请求进行注册;ID分配单元,用于为注册的查询请求分配查询请求ID,各个导航功能模块使用查询请求ID进行数据访问,如图2所示。
数据库访问管理单元启动时要构建三个索引表,分别是数据库文件信息表、查询请求索引表、数据库对象索引表,用于管理数据库文件、查询请求、更新区域、导航功能模块的索引信息以及相互间的关联。下面分别对三个索引表进行说明。
(1)数据库文件信息表,该表用于对数据库文件访问的统一管理,每个数据库文件信息记录的信息包括:
a、加载状态标识,标识数据库文件是否被加载。
b、访问计数,当数据库被访问时,计数加1;数据库访问结束时则减1;用于标识当前访问数据库的查询操作数量,当该计数大于0时,该数据库文件不允许被卸载。
c、互斥量,用于线程同步。
d、数据库别名,当一个数据库对象加载多个数据库文件时,每个数据库需要别名,用于区分不同数据库文件。
e、数据库文件名称,数据库文件在存储设备上的保护绝对路径的文件名称。
f、文件最后访问时间
(2)查询语句索引表,各个导航功能模块注册的查询语句由该表管理,其结构见图3。
(3)数据库对象索引表,该表用于管理更新区域ID→功能模块ID→数据库文件/查询请求间的三级索引关系,见图4。
由于更新区域ID/导航功能模块ID的定义是与更新区域和功能模块数量相关的,即使使用的ID的编码大于更新区域/导航功能模块的数量,超出的范围也是很有限的,因此数据库访问管理单元建立的数据索引表采用数组来存储信息,数组第n个位置存储的是更新区域/导航功能模块ID=n的数据,这样检索数据过程中通过ID值可以直接访问相应的数据,避免了查找过程效率的损失。
数据库访问管理单元初始化流程见图5。
在多更新区域地图导航应用中,当数据库文件数量超过31个时,一个数据库对象无法同时加载全部的数据库文件,这时需要有一个合理的调度策略来确定哪个数据库文件被加载、哪个数据库文件被卸载,以便于保证数据访问的效率。
本发明中数据库文件调度的策略定义如下:
(1)数据库访问管理单元不主动加载任何数据库文件,只有当导航功能模块请求使用某个注册的查询请求时,才将该查询涉及的数据库文件加载到数据库对象中。
(2)数据库文件加载成功后,设置数据库文件信息中的“加载状态标识”为已加载状态。
(3)已加载的数据库文件保持加载状态,直到符合策略(4)、(5)、(6)的情况才允许卸载
(4)在数据库对象加载的数据库文件达到31个的情况下,如果需要访问未加载的数据库文件时,将符合条件(5)、(6)的数据库文件卸载。
(5)只允许卸载数据库文件信息中访问计数等于0的数据库文件
(6)在符合条件(5)的情况下优先卸载最后访问时间距现在最久的数据库文件
(7)如果出现符合条件(4)同时不符合条件(5)、(6)的情况,则需要向请求方返回失败信息。
(8)数据库文件卸载成功后,设置数据库文件信息中的“加载状态标识”为未加载状态。
(9)卸载数据库文件时,首先要从数据库对象中将已编译的访问被卸载数据库文件的查询命令清除,同时将数据库对象索引表中的查询命令记录清除。
地图数据查询使用的查询语句的可以简单描述成:从哪个表,选择什么数据,条件是什么。而多更新区域地图数据库文件调度过程中影响到的是“从哪个表”这一部分,当一个数据库对象加载了多个数据库文件情况下,需要从某个表中读取数据时,需要在表名称前面限定其属于哪个数据库文件。
本发明中的查询语句注册管理机制通过如下策略避免了数据库调度对导航功能模块查询数据操作的影响:
(1)导航功能模块将所有需要使用的查询语句向数据库访问管理单元注册,数据库访问管理单元将查询语句插入到查询语句索引表中该功能模块对于的查询请求列表中,注册流程参考图6。
(2)注册时将完整的SQL语句分为三部分,选择部分、来源部分、条件部分,分别对应选择什么数据、从哪个表、条件是什么三部分,其中条件部分可以为空;来源部分是使用到的数据库表的名称列表,当使用多个表时,系统默认表的别名按a、b、c…来命名。
(3)注册后数据库访问管理单元会为查询语句分配一个固定的查询语句ID,该ID同时可以用于识别查询语句访问数据的导航功能模块索引信息以及查询语句的索引信息,以便于使用时快速查找。
(4)导航功能模块需要查询数据时,需要向数据库访问管理模块发出连接请求,将更新区域ID和查询语句ID传递给数据库访问管理单元。如果两个ID确定的查询语句已经在数据库对象中编译成功,则数据库访问管理单元将数据库对象返回给导航功能模块用于查询操作;否则执行策略(5)、(6),成功后将数据库对象返回给导航功能模块。
(5)如果查询语句还未成功编译,数据库访问管理单元根据查询语句ID从查询语句索引表中获取到查询语句的信息,将查询语句三个部分拼成完整的SQL语句.
(6)并在数据库对象中编译查询语句。
(7)在策略(5)拼接SQL语句过程中,首先需要根据更新区域ID以及查询语句ID中的模块信息从数据库对象索引表中找到查询使用到的数据库文件信息,如果该数据库文件已经加载到数据库对象,则从数据库文件信息表中取出别名作为查询语句中表的前缀。
(8)执行策略(7)成功后,将数据库文件信息中的访问计数加1。
(9)如果数据库文件未被加载,根据数据库调度策略加载需要使用的数据库文件,如果成功则执行策略(7)、(8),否则返回失败信息。
(10)查询操作执行完毕必须向数据库访问管理单元发出查询结束通知。
(11)查询操作结束后,将数据库文件信息中的访问计数减1。
图7、8描述了策略(4)、(5)、(6)、(7)、(8)、(9)的执行流程。
图9描述了策略(10)、(11)的执行流程。
本发明通过独特的查询语句注册管理机制,隐藏了多更新区域下数据库名称以及数据库文件加载/卸载对查询语句的影响,简化了导航功能模块数据访问的流程,降低了各导航功能模块访问多更新区域数据的复杂度。同时充分利用Sqlite提供的参数化的SQL,解决了数据访问过程中相同查询语句多次重复编译的效率问题。
本发明利用Sqlite数据库系统可以同时打开31个数据库文件的特性,通过科学的调度策略来管理数据库文件的加载/卸载操作,在系统中只申请一个数据库访问对象的情况下,保证各个功能模块对数据库高效、流畅地访问数据,达到节约系统内存的要求。
本发明利用发明的查询语句注册管理机制简化数据访问操作,只需要通过更新区域ID,查询语句ID两个参数就可以对数据库进行访问,隐藏数据库文件名称、数据库加载/卸载等细节。
Claims (10)
1.一种导航地图多个更新区域的数据库文件访问管理方法,包括步骤:
将各个导航功能模块使用的、用于查询数据库的查询请求在数据库访问管理单元中进行注册;
数据库访问管理单元为注册的查询请求分配查询请求ID;及
各个导航功能模块使用查询请求ID进行数据访问。
2.根据权利要求1所述的导航地图多个更新区域的数据库文件访问管理方法,其中,
注册步骤是在导航系统启动时进行的。
3.根据权利要求2所述的导航地图多个更新区域的数据库文件访问管理方法,其中,
数据库访问管理单元在导航系统启动时建立数据库文件信息索引表、查询请求索引表及数据库对象索引表,以管理数据库文件、查询请求、电子地图更新区域、导航功能模块的索引信息。
4.根据权利要求3所述的导航地图多个更新区域的数据库文件访问管理方法,其中,
数据库文件信息索引表、查询请求索引表及数据库对象索引表互相关联。
5.根据权利要求3或4所述的导航地图多个更新区域的数据库文件访问管理方法,其中,
查询请求索引表对所述查询请求进行管理。
6.一种导航地图多个更新区域的数据库文件访问管理装置,包括:
注册单元,用于将各个导航功能模块使用的、用于查询数据库的查询请求进行注册;
ID分配单元,用于为注册的查询请求分配查询请求ID,各个导航功能模块使用查询请求ID进行数据访问。
7.根据权利要求6所述的导航地图多个更新区域的数据库文件访问管理装置,其中,所述注册单元在导航系统启动时进行注册。
8.根据权利要求7所述的导航地图多个更新区域的数据库文件访问管理装置,其中,还包括索引表创建单元,用于在导航系统启动时建立数据库文件信息索引表、查询请求索引表及数据库对象索引表,以管理数据库文件、查询请求、电子地图更新区域、导航功能模块的索引信息。
9.根据权利要求8所述的导航地图多个更新区域的数据库文件访问管理装置,其中,数据库文件信息索引表、查询请求索引表及数据库对象索引表互相关联。
10.根据权利要求8或9所述的导航地图多个更新区域的数据库文件访问管理装置,其中,查询请求索引表对所述查询请求进行管理。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210210037.8A CN103514185B (zh) | 2012-06-20 | 2012-06-20 | 导航地图多个更新区域的数据库文件访问管理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210210037.8A CN103514185B (zh) | 2012-06-20 | 2012-06-20 | 导航地图多个更新区域的数据库文件访问管理方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103514185A true CN103514185A (zh) | 2014-01-15 |
CN103514185B CN103514185B (zh) | 2017-09-29 |
Family
ID=49896921
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210210037.8A Active CN103514185B (zh) | 2012-06-20 | 2012-06-20 | 导航地图多个更新区域的数据库文件访问管理方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103514185B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106461405A (zh) * | 2014-06-03 | 2017-02-22 | 赫尔环球有限公司 | 更新导航数据库的单个区域 |
CN112817988A (zh) * | 2021-01-06 | 2021-05-18 | 贵阳迅游网络科技有限公司 | 一种企业业务的同步加速方法 |
CN115858549A (zh) * | 2023-02-27 | 2023-03-28 | 西安索格亚航空科技有限公司 | 一种航空导航设备导航数据库和航线更新方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1549163A (zh) * | 2003-05-15 | 2004-11-24 | 深圳市中兴通讯股份有限公司南京分公 | 一种跨平台数据库查询方法 |
CN1567301A (zh) * | 2003-06-23 | 2005-01-19 | 华为技术有限公司 | 访问数据库的方法及装置 |
CN101004683A (zh) * | 2007-01-31 | 2007-07-25 | 华为技术有限公司 | 数据库访问方法和装置 |
CN101141663A (zh) * | 2007-10-11 | 2008-03-12 | 中兴通讯股份有限公司 | 一种用于提高智能网访问数据库效率的方法及系统 |
CN102110110A (zh) * | 2009-12-28 | 2011-06-29 | 中国移动通信集团公司 | 基于soa的数据访问方法和装置 |
CN102193922A (zh) * | 2010-03-04 | 2011-09-21 | 杭州华三通信技术有限公司 | 一种对数据库进行访问的方法和装置 |
-
2012
- 2012-06-20 CN CN201210210037.8A patent/CN103514185B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1549163A (zh) * | 2003-05-15 | 2004-11-24 | 深圳市中兴通讯股份有限公司南京分公 | 一种跨平台数据库查询方法 |
CN1567301A (zh) * | 2003-06-23 | 2005-01-19 | 华为技术有限公司 | 访问数据库的方法及装置 |
CN101004683A (zh) * | 2007-01-31 | 2007-07-25 | 华为技术有限公司 | 数据库访问方法和装置 |
CN101141663A (zh) * | 2007-10-11 | 2008-03-12 | 中兴通讯股份有限公司 | 一种用于提高智能网访问数据库效率的方法及系统 |
CN102110110A (zh) * | 2009-12-28 | 2011-06-29 | 中国移动通信集团公司 | 基于soa的数据访问方法和装置 |
CN102193922A (zh) * | 2010-03-04 | 2011-09-21 | 杭州华三通信技术有限公司 | 一种对数据库进行访问的方法和装置 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106461405A (zh) * | 2014-06-03 | 2017-02-22 | 赫尔环球有限公司 | 更新导航数据库的单个区域 |
US10698929B2 (en) | 2014-06-03 | 2020-06-30 | Here Global B.V. | Updating single regions of a navigational database |
CN112817988A (zh) * | 2021-01-06 | 2021-05-18 | 贵阳迅游网络科技有限公司 | 一种企业业务的同步加速方法 |
CN112817988B (zh) * | 2021-01-06 | 2022-11-15 | 贵阳迅游网络科技有限公司 | 一种企业业务的同步加速方法 |
CN115858549A (zh) * | 2023-02-27 | 2023-03-28 | 西安索格亚航空科技有限公司 | 一种航空导航设备导航数据库和航线更新方法 |
Also Published As
Publication number | Publication date |
---|---|
CN103514185B (zh) | 2017-09-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102495857B (zh) | 一种分布式数据库的负载均衡方法 | |
CN100585595C (zh) | 使用数据库管理系统管理文件系统的数据的方法 | |
CN103106286B (zh) | 元数据的管理方法和装置 | |
CN111124474B (zh) | 一种api版本控制方法及装置 | |
US20130066883A1 (en) | Data management apparatus and system | |
CN102243660A (zh) | 一种数据访问方法及设备 | |
CN103544153A (zh) | 一种基于数据库的数据更新方法和系统 | |
CN103186622B (zh) | 一种全文检索系统中索引信息的更新方法以及装置 | |
CN102331993A (zh) | 分布式数据库的数据迁移方法和分布式数据库迁移系统 | |
JP5439236B2 (ja) | 計算機システムおよびアプリケーションプログラムの実行方法 | |
CN102521274A (zh) | 一种基于ibatis的SQL脚本动态加载方法 | |
CN102024051B (zh) | 分布式内存数据库数据更新方法 | |
CN102314506A (zh) | 基于动态索引的分布式缓冲区管理方法 | |
CN102937964A (zh) | 基于分布式系统的智能数据服务方法 | |
CN112867999B (zh) | 基于版本的表锁定 | |
CN104615637A (zh) | 数据交换方法及数据交换中间装置 | |
US20090063458A1 (en) | method and system for minimizing sorting | |
CN112015716A (zh) | 数据库数据迁移方法、装置、介质和电子设备 | |
US20170322960A1 (en) | Storing mid-sized large objects for use with an in-memory database system | |
CN103514185A (zh) | 导航地图多个更新区域的数据库文件访问管理方法及装置 | |
CN102253985A (zh) | 一种文件系统数据的管理方法及系统 | |
CN101621396B (zh) | 单板自动管理装置及方法 | |
US9111114B1 (en) | Method of transforming database system privileges to object privileges | |
CN103207872A (zh) | 一种实时索引方法和服务器 | |
CN102768672A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |