《数据库管理、检索方法及嵌入式系统.pdf》由会员分享,可在线阅读,更多相关《数据库管理、检索方法及嵌入式系统.pdf(9页完整版)》请在专利查询网上搜索。
1、(10)申请公布号 CN 103593362 A (43)申请公布日 2014.02.19 CN 103593362 A (21)申请号 201210290704.8 (22)申请日 2012.08.15 G06F 17/30(2006.01) (71)申请人 上海斐讯数据通信技术有限公司 地址 201617 上海市松江区石湖荡镇塔闵路 579 弄 -26 号 (72)发明人 张珠明 (74)专利代理机构 上海智信专利代理有限公司 31002 代理人 胡美强 王聪 (54) 发明名称 数据库管理、 检索方法及嵌入式系统 (57) 摘要 本发明公开了一种数据库管理、 检索方法及 嵌入式系统, 其。
2、中所述数据库管理方法包括以下 步骤 : 在所述 SQLite 数据库中建立一关键字和索 引参数表, 在所述 DBM 数据库中建立一索引参数 和存储数据结构表 ; 在所述 SQLite 数据库查找是 否存在所述输入关键字 ; 从所述 SQLite 数据库读 取与所述输入关键字对应的索引参数, 并在所述 DBM 数据库查找所述索引参数所对应的存储数据 结构 ; 将所述索引参数和所述输入存储数据加入 所述索引参数和存储数据结构表。本发明还公开 了检索所述数据库管理方法建立的数据库的数据 库检索方法, 以及具有所述数据库的嵌入式系统。 本发明有效地利用了嵌入式系统的存储空间还实 现了高效检索的功能。 。
3、(51)Int.Cl. 权利要求书 1 页 说明书 5 页 附图 2 页 (19)中华人民共和国国家知识产权局 (12)发明专利申请 权利要求书1页 说明书5页 附图2页 (10)申请公布号 CN 103593362 A CN 103593362 A 1/1 页 2 1. 一种数据库管理方法, 用于管理嵌入式系统的数据库, 其特征在于, 所述嵌入式系统 包括一 SQLite 数据库和一 DBM 数据库, 所述数据库管理方法包括以下步骤 : S1、 基于一关键字集合在所述SQLite数据库中建立一关键字和索引参数表, 在所述DBM 数据库中建立一索引参数和存储数据结构表 ; S2、 读入一输入数。
4、据, 并将所述输入数据拆分为一输入关键字和一输入存储数据 ; S3、 在所述 SQLite 数据库查找是否存在所述输入关键字, 若存在进入步骤 S4, 否则进入 步骤 S6; S4、 从所述 SQLite 数据库读取与所述输入关键字对应的索引参数 ; S5、 在所述 DBM 数据库中查找所述索引参数所对应的存储数据结构是否存在, 若存在, 流程结束, 否则将所述输入存储数据加入所述存储数据结构中, 流程结束 ; S6、 将所述输入关键字加入所述关键字和索引参数表并相应地生成对应于所述输入关 键字的索引参数 ; S7、 将对应于所述输入关键字的索引参数和所述输入存储数据加入所述索引参数和存 储数。
5、据结构表。 2. 一种数据库检索方法, 用于检索嵌入式系统的数据库, 其特征在于, 使用通过如权利 要求 1 所述的数据库管理方法建立的一 SQLite 数据库和一 DBM 数据库, 其中所述数据库检 索方法包括以下步骤 : S11、 读入一输入关键字 ; S12、 在所述SQLite数据库中查找是否存在所述输入关键字, 若存在, 进入步骤S13, 否则 重复步骤 S11; S13、 从所述 SQLite 数据库中读取与所述输入关键字对应的一索引参数 ; S14、 在所述 DBM 数据库中查找与所述索引参数对应的存储数据结构 ; S15、 返回所述存储数据结构。 3. 一种嵌入式系统, 其特征。
6、在于, 所述嵌入式系统包括一 SQLite 数据库和一 DBM 数据 库, 其中所述 SQLite 数据库和 DBM 数据库通过如权利要求 1 所述数据库管理方法建立。 权 利 要 求 书 CN 103593362 A 2 1/5 页 3 数据库管理、 检索方法及嵌入式系统 技术领域 0001 本发明涉及一种数据库管理、 检索方法及嵌入式系统, 特别是涉及一种用于嵌入 式系统的数据库管理、 检索方法及使用所述方法的嵌入式系统。 背景技术 0002 嵌入式系统中的数据存储和管理主要包含两个部分, 一个是将用户或者系统管理 者下发的配置命令中的数据保存在本地的存储设备 ; 另一部分则是将这些配置命。
7、令和数据 传递到驱动等下层模块, 完成对本地设备的参数配置。 0003 随着嵌入式系统的广泛应用及用户对数据处理和管理需求的不断提高, 各种智能 设备与数据库技术的紧密结合得到重视。在设计这样数据库时不仅要考虑数据操作的效 率, 还需要考虑嵌入式设备本身存储容量小的特性 0004 但是目前很多嵌入式系统中基本只采用一种数据库进行存储和管理, 比如 : SQLite 数据库或 DBM 数据库。 0005 其中 SQLite 数据库是一款轻型的数据库, 是遵守 ACID(原子性 (Atomicity) 、 一 致性 (Consistency) 、 隔离性 (Isolation) 、 持久性 (Du。
8、rability) ) 的关联式数据库管理系 统, 它的设计目标是嵌入式的, 而且目前已经在很多嵌入式产品中使用了它, 它能够支持 Windows/Linux/Unix(微软公司等制作的操作系统) 等等主流的操作系统, 0006 其中 DBM 数据库是 Unix 系统的数据库, 使用哈希结构保存非结构化数据。但这个 数据库不符合 ANSI(美国国家标准协会) 标准的 SQL(结构化查询语言) 技术规范, 它只是 一个存储检索数据的例程。DBM 数据库适合存储静态的, 索引化的数据结构, 它在创建数据 项时非常慢, 但检索数据项时非常快。 0007 在嵌入式系统中采用 SQLite 数据库时比较。
9、的常用的法是创建多个包含数据的 表, 在通过 SQL 语言来进行相关操作。该方法的缺点是只支持特定数据类型, 无法存储用户 自定义的数据类型 ; 0008 在嵌入式系统中采用 DBM 数据库时通常采用的方法是将所有数据逐条的存储在 数据库中, 之后通过遍历整个数据库来进行后续的操作。 缺点是查找效率低, 相对比较浪费 系统资源。 发明内容 0009 本发明要解决的技术问题是为了克服现有技术中嵌入式系统的数据库操作效率 低, 兼容性差的缺陷, 提供一种数据库管理、 检索方法及嵌入式系统, 通过在利用 SQLite 数 据库和 DBM 数据库的优点, 实现在嵌入式系统资源的利用率。 0010 本发。
10、明是通过下述技术方案来解决上述技术问题的 : 0011 本发明提供了一种数据库管理方法, 用于管理嵌入式系统的数据库, 其特点是, 所 述嵌入式系统包括一 SQLite 数据库和一 DBM 数据库, 所述数据库管理方法包括以下步骤 : 0012 S1、 基于一关键字集合在所述 SQLite 数据库中建立一关键字和索引参数表, 在所 说 明 书 CN 103593362 A 3 2/5 页 4 述 DBM 数据库中建立一索引参数和存储数据结构表 ; 0013 其中在所述 SQLite 数据库中建立的关键字和索引参数表和在所述 DBM 数据库中 建立索引参数和存储数据结构表均属于 SOLite 数。
11、据库和 DBM 数据库中已知的惯用存储和 检索手段, 所以此处不再详细赘述。 0014 S2、 读入一输入数据, 并将所述输入数据拆分为一输入关键字和一输入存储数据 ; 0015 本发明中在用户向嵌入式系统的数据库数据时, 为了便于数据库的检索以及存储 利用率的提高, 需要提取便于检索的关键字, 其中所述关键字的种类是基于用户的实际需 要, 例如列车行业的常用术语等, 自由地定义和设置, 所述关键字的提取方式可以基于关键 字的种类自由地选择, 本发明不限制所述输入数据中关键字的提取方式和关键字的种类。 0016 S3、 在所述 SQLite 数据库查找是否存在所述输入关键字, 若存在进入步骤 。
12、S4, 否则 进入步骤 S6; 0017 S4、 从所述 SQLite 数据库读取与所述输入关键字对应的索引参数 ; 0018 S5、 在所述 DBM 数据库中查找所述索引参数所对应的存储数据结构是否存在, 若存 在, 流程结束, 否则将所述输入存储数据加入所述存储数据结构中, 流程结束 ; 0019 本发明中在关键字已经在SQLite数据库中存在的情况下, 在DBM数据库中的存储 数据结构加入新的输入数据。 其中所述存储数据结构基于所述输入数据的种类进行任意的 选择, 例如数组、 栈或表等结构, 本发明中不限制所述存储数据结构的形式。 0020 S6、 将所述输入关键字加入所述关键字和索引参。
13、数表并相应地生成对应于所述输 入关键字的索引参数 ; 0021 S7、 将对应于所述输入关键字的索引参数和所述输入存储数据加入所述索引参数 和存储数据结构表。 0022 本发明还在SQLite数据库中添加新的关键词, 并相应地在DBM数据库中添加新的 输入数据。从而进一步地扩展存储的数据。 0023 本发明还提供了一种数据库检索方法, 用于检索嵌入式系统的数据库, 其特点是, 使用通过如上所述的数据库管理方法得到的嵌入式系统的数据库, 其中所述数据库检索方 法包括以下步骤 : 0024 S11、 读入一输入关键字 ; 0025 S12、 在所述SQLite数据库中查找是否存在所述输入关键字, 。
14、若存在, 进入步骤S13, 否则重复步骤 S11; 0026 S13、 从所述 SQLite 数据库中读取与所述输入关键字对应的一索引参数 ; 0027 S14、 在所述 DBM 数据库中查找与所述索引参数对应的存储数据结构 ; 0028 S15、 返回所述存储数据结构。 0029 本发明中利用 SQLite 数据库的快速检索能力和 DBM 数据库的存储数据多样性地 特点, 在嵌入式系统中实现了节省空间和自定义数据结构的存储的功能。 0030 本发明又提供了一种嵌入式系统, 其特点是包括一 SQLite 数据库和一 DBM 数据 库, 其中所述 SQLite 数据库和 DBM 数据库通过如上所。
15、述数据库管理方法建立。 0031 在符合本领域常识的基础上, 上述各优选条件, 可任意组合, 即得本发明各较佳实 例。 0032 本发明的积极进步效果在于 : 说 明 书 CN 103593362 A 4 3/5 页 5 0033 由于现有的嵌入式设备中存储设备的容量相对比较小, 在完成系统、 处理器等运 行任务的同时还要存储大量的数据, 因而需要合理的利用这些存储空间 ; 同时在复杂的系 统数据架构下, 有大量的结构复杂的数据需要存储。 0034 所以本发明的数据库管理、 检索方法及嵌入式系统, 不仅考虑了存储空间的有限 性, 也考虑了系统操作的效率, 在系统中同时采用 SQLite 数据库。
16、和 DBM 数据库。 0035 而且利用 SQLite 数据库快速查找的特性, 将需要快速定位的参数保存在 SQLite 数据库中, 并且利用 DBM 可以保存自定义数据的特性, 将需要传递给系统其它模块的自定 义结构保存在 DBM 数据库中。 0036 从而在管理和操作数据库时通过在数据库中加入特定的索引来完成 SQLite 数据 库和 DBM 数据库中数据的操作。 0037 所以有效地利用了嵌入式系统的存储空间还实现了高效检索的功能。 附图说明 0038 图 1 为本发明的较佳实施例的嵌入式系统的结构示意图。 0039 图 2 为本发明的较佳实施例的数据库管理方法的流程图。 0040 图 。
17、3 为本发明的较佳实施例的数据库检索方法的流程图。 具体实施方式 0041 下面通过实施例的方式进一步说明本发明, 但并不因此将本发明限制在所述的实 施例范围之中。 0042 如图 1 所示, 本实施例的嵌入式系统包括一 SQLite 数据库 1 和一 DBM 数据库 2。 0043 其中本实施例中首先建立所述 SQLite 数据库 1 的模型 : 0044 对于用户端或者管理员来说, 需要对嵌入式设备进行数据的发送和配置信息的管 理, 而这些数据会以一定形式放入数据库进行保存, 在本实施例中我们仅以字符串组的形 式进行讨论。这些字符串组包含了多个关键字和参数值, 如何将这些具有多个关键字中的。
18、 有效数据保存到相应的数据库中, 就需要对数据库中的表进行查找。所述 SQLite 数据库 1 在这里保存的是字符串组中的关键字和对应的DBM数据库2的索引, 并非具体的参数, 并且 对于由几个关键字组成的唯一的一条记录赋予一个 ID(身份识别) 号, 该 ID 号唯一地标识 一组字符串。 0045 所述SQLite数据库1的模型的建立和查找功能主要包括以下几个部分 : 首先建立 一张由字符串关键字组构成的表 ; 然后将每条字符串组对应一个所述DBM数据库2的索引 ; 此后当用户输入一串字符串组时, 对所述 SQLite 数据库 1 以关键字的方式进行查询 ; 然后 返回这些关键字对应的索引。。
19、 0046 然后建立所述 DBM 数据库 2 的模型 : 0047 在所述 SQLite 数据库 1 生成索引后, 以这个索引生成一个所述 DBM 数据库 2 中的 表, 该表中保存了一个或多个参数, 而且可能是编码过程中自定义的结构体, 所述 DBM 数据 库 2 可以很好的将这些数据保存至数据库便于操作。当得知某个配置所对应的索引后, 就 可以根据该索引号在所述DBM数据库2中找到对应的表, 然后将数据取出进行修改和配置。 0048 以上两个步骤完成后, 当管理者或者用户在输入一系列配置命令后, 首先根据字 说 明 书 CN 103593362 A 5 4/5 页 6 符串组中的关键字从所。
20、述 SQLite 数据库 1 中查找到索引, 再以此索引在所述 DBM 数据库 2 中查询出具有特殊格式结构体或者数据, 然后进行操作。 0049 首先, 本实施例中所述 SQLite 数据库 1 中的查找要比其他的数据库效率要高, 因 为 SQLite 数据库 1 是基于 B-tree(B 树, 一种数据结构) 的数据结构查找的, 鉴于嵌入式开 发中复杂的数据结构, 如果不用该 SQLite 数据库 1 查找而直接从所述 DBM 数据库 2 中查找 的话, 所述 DBM 数据库 2 的内容会非常复杂, 相对查找效率也会降低, 因此在复杂的数据结 构下本实施例中两次查找数据库的方案相对于依次查。
21、找的效率有所提高。 0050 此外, 本实施例中主要是通过降低字符串数组中重复的关键字来降低存储空间 的, 比如两个字符串 : a.b.c.x 和 a.b.c.y, 其中 x 和 y 是需要修改的参数变量, 而前面的字 符是关键字的标识, 如果不用所述 SQLite 数据库 1 的话就需要存储两个数据, 那么这些固 定的关键字就造成了空间的浪费, 引用 SQLite 数据库 1 之后, 只需要存储一次 a.b.c, 再进 一步确定是 x 还是 y, 从而提高了空间的利用率。 0051 所以如图 2 所示, 本实施例的嵌入式系统数据库管理的流程包括如下步骤 : 0052 步骤1, 基于一关键字集。
22、合在所述SQLite数据库1中建立一关键字和索引参数表, 在所述 DBM 数据库 2 中建立一索引参数和存储数据结构表。 0053 步骤 2, 读入一输入数据, 并将所述输入数据拆分为一输入关键字和一输入存储数 据。 0054 本发明中在用户向嵌入式系统的数据库数据时, 为了便于数据库的检索以及存储 利用率的提高, 需要提取便于检索的关键字, 其中所述关键字的种类是基于用户的实际需 要, 例如列车行业的常用术语等, 自由地定义和设置, 所述关键字的提取方式可以基于关键 字的种类自由地选择。 0055 步骤 3, 在所述 SQLite 数据库 1 查找是否存在所述输入关键字, 若存在进入步骤 4。
23、, 否则进入步骤 7。 0056 步骤 4, 从所述 SQLite 数据 ,1 读取与所述输入关键字对应的索引参数 ; 0057 步骤 5, 在所述 DBM 数据库 2 查找所述索引参数所对应的存储数据结构是否存在, 若否, 进入步骤 6, 否则流程结束。. 0058 步骤 6, 将所述输入存储数据加入所述存储数据结构中, 流程结束 ; 0059 本发明中在关键字已经在 SQLite 数据库 1 中存在的情况下, 在 DBM 数据库 2 中的 存储数据结构加入新的输入数据。 其中所述存储数据结构基于所述输入数据的种类进行任 意的选择, 例如数组、 栈或表等结构。 0060 步骤 7, 将所述输。
24、入关键字加入所述关键字和索引参数表并相应地生成对应于所 述输入关键字的索引参数 ; 0061 步骤 8, 将对应于所述输入关键字的索引参数和所述输入存储数据加入所述索引 参数和存储数据结构表。 0062 在本实施例的嵌入式系统的 SQLite 数据库 1 和 DBM 数据库 2 均已建立后, 可以通 过图 3 所示的数据库检索方法对 SQLite 数据库 1 和 DBM 数据库 2 进行关键字的检索, 其中 包括以下步骤 : 0063 步骤 11, 读入一输入关键字。 0064 步骤12, 在所述SQLite数据库1中查找是否存在所述输入关键字, 若存在, 进入步 说 明 书 CN 10359。
25、3362 A 6 5/5 页 7 骤 ,13, 否则重复步骤 11。 0065 步骤 13, 从所述 SQLite 数据库 1 中读取与所述输入关键字对应的一索引参数。 0066 步骤 14, 在所述 DBM 数据库 2 中查找与所述索引参数对应的存储数据结构。 0067 步骤 15, 返回所述存储数据结构。 0068 通过以上的嵌入式系统的数据库管理个检索方法的具体实施方式的描述可知, 本 领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件平台的方式来实 现。基于这样的理解, 本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以 软件产品的形式体现出来, 该计算机软件产品可。
26、以存储在存储介质中, 如 ROM/RAM(只读存 储器 / 随机存取存储器) 、 磁碟、 光盘等, 包括若干指令用以使得一台计算机设备 (可以是个 人计算机, 服务器, 或者网络设备等) 执行本申请的实施例或者实施例的某些部分所述的方 法。 0069 虽然以上描述了本发明的具体实施方式, 但是本领域的技术人员应当理解, 这些 仅是举例说明, 本发明的保护范围是由所附权利要求书限定的。本领域的技术人员在不背 离本发明的原理和实质的前提下, 可以对这些实施方式做出多种变更或修改, 但这些变更 和修改均落入本发明的保护范围。 说 明 书 CN 103593362 A 7 1/2 页 8 图 1 图 2 说 明 书 附 图 CN 103593362 A 8 2/2 页 9 图 3 说 明 书 附 图 CN 103593362 A 9 。