一种嵌入式设备数据库封装的框架及实现方法

文档序号:8528273阅读:750来源:国知局
一种嵌入式设备数据库封装的框架及实现方法
【技术领域】
[0001] 本发明涉及嵌入式设备数据库领域,特别涉及一种嵌入式设备数据库封装的框架 及实现方法。
【背景技术】
[0002] 嵌入式设备中,不可避免的要使用到针对大量数据操作的软件。在传统的嵌入式 设备中,一般直接使用数据结构,比如数组或者链表等方式来实现数据的操作。对于有充足 内存设备的场合,也会使用一些专用的嵌入式数据库,比如SQLite等。
[0003] 然而上述两种现有的实现方法,具有以下的问题:
[0004] 对于不用专用嵌入式数据库的实现方法,优点是简单,但缺点是无论添加什么样 的数据表,开发人员都需要自己管理内存和各种实现方法,开发周期长;而且不同的开发人 员有各种不同的实现方式,也不易于移植。
[0005] 对于直接采用专用数据库的方法,由于涉及对SQL(结构化查询语言)的操作,一 般的开发人员需要花时间了解;更麻烦的是,嵌入式系统一般用C语言实现,直接用SQL进 行操作也不太方便。直接对数据库进行操作,还将花更多精力去维护数据库。

【发明内容】

[0006] 本发明的目的是通过一种数据库封装的框架及实现方法,提高数据操作的一致 性,实现对多种通用数据库的支持,加快各种大小嵌入式系统平台中数据库相关模块的实 现。
[0007] 为了达到上述目的,本发明的一个技术方案是提供一种数据库封装的框架,其包 含:
[0008] 数据库层,包含若干数据库;
[0009] DB-API层,对数据库操作进行统一封装,提供实现数据库操作的抽象接口;
[0010] DB-COM-API层,结合各数据表的定义,对所述DB-API层进行再次封装,提供能实 现数据表操作的通用接口;
[0011] DBi-API层,针对各个数据表的操作分别实现封装,提供通过调用所述 DB-COM-API层的通用接口来对相应数据表进行操作的具体接口;
[0012] 数据表层,分别对各个数据表进行定义。
[0013] 优选地,所述数据库封装的框架应用于嵌入式系统。
[0014] 本发明的另一个技术方案是提供一种数据库封装的实现方法,其包含:
[0015] 实现数据表层,对各个数据表分别进行定义;
[0016] 实现DBi-API层,提供分别实现各个数据表的操作的具体接口;
[0017] 实现DB-COM-API层,结合各数据表的定义,提供能实现数据表操作的通用接口;
[0018] 通过调用所述DB-COM-API层的通用接口,对各个数据表中的一些数据表进行操 作;通过调用所述DBi-API层的具体接口及所述DB-COM-API层的通用接口,对各个数据表 中的另一些数据表进行操作。
[0019] 优选地,所述实现方法进一步包含:
[0020] 实现DB-API层,针对数据库层的若干数据库,实现对数据库操作的统一封装,提 供实现数据库操作的抽象接口;
[0021] 所述DB-COM-API层对所述DB-API层进行了再次封装;所述DB-COM-API层通过调 用所述DB-API层的抽象接口,对数据库进行操作。
[0022] 优选地,所述数据表层的实现,包含:数据表描述;
[0023] 所述数据表描述,包含对数据表进行如下的定义:
[0024] 字段索引;表索引标记;字段描述;字段类型;字段占用空间大小;字段在记录中 的偏移;从查询结果中获取字段函数指针;更新该字段函数指针;以及,用一个数据结构描 述该数据表。
[0025] 优选地,所述数据表层的实现,还包含:索引表描述;
[0026] 所述索引表描述,包含:描述索引顺序;描述索引名;描述索引名长度。
[0027] 优选地,所述DB-COM-API层将相应数据表的信息进行统一记录,包含对以下内容 的描述:数据库句柄;表名;表描述;索引描述;表字段数;索引数;通用查询输出查询结果 排序串。
[0028] 优选地,所述DB-COM-API层的实现,包含提供如下的接口函数:数据库系统初始 化;数据库系统终止;数据库查询;数据库插入;数据库更新;数据库删除;数据库操作。
[0029] 优选地,所述DB-API层的实现,包含封装数据库并实现如下的接口函数:系统初 始化;系统关闭函数;查询函数;数据更新函数;数据删除函数;数据插入函数;查询结果 释放函数;表使用函数。
[0030] 优选地,所述数据库封装的实现方法应用于嵌入式系统。
[0031] 针对现有两种实现方法的缺陷,本发明提出所述数据库封装的框架及实现方法, 具有如下的优点:
[0032] 1、借鉴小型嵌入式数据库系统支持SQL的基本功能,避免直接对内存操作,增强 系统的数据库处理能力。
[0033] 2、通过对各种开源嵌入式数据库系统的封装,使普通的嵌入式数据库开发人员不 必关注具体的数据库系统实现,以此可以大大提高数据库系统的开发速度以及可靠性。
[0034] 3、通过对各种嵌入式数据库系统的支持,使本系统的适应性大大增加。通过对不 同数据库系统的选择,不仅可以适用各种小型的嵌入式设备,比如各种无线路由器,网关 等,还可以支持到0LT(光线路终端)等各种大型的嵌入式设备。
【附图说明】
[0035] 图1是本发明所述数据库封装框架的示意图;
[0036] 图2是本发明所述数据库封装实现方法的示意图。
【具体实施方式】
[0037] 本发明实现一种数据库操作方案,通过对数据库进行封装,可以以一种相对简单 的方式对数据进行统一的操作,并且易于移植和扩展,从而适应于各种不同的嵌入式设备。
[0038] 如图1所示,本发明所述数据库封装的框架分为5层,分别为:
[0039] 数据库层,可以是开源或自研数据库,例如是SQLite,MySQL,Berkeley*DB等数据 库;
[0040] DB-API层(数据库操作抽象层),是封装数据操作的API层(API指应用程序编程 接口),提供能实现数据库操作的抽象接口;
[0041] DB-COM-API层(通用数据表操作封装层),其结合自定义数据表的定义,对DB-API 层进行再次封装,提供能统一实现数据表操作的接口;
[0042] DBi-API层(具体数据表操作封装层),针对每个具体的数据表实现的API接口, 只需结合实际调用DB-COM-API层的API接口,即可实现对本数据表的对应操作;
[0043] 数据表层,用来实现对单个具体的数据表分别定义。
[0044] 对于实现一个新的数据表来说,只要实现相应的数据表层和DBi-API层,即可快 速地开发出需要的应用。
[0045] 如图2所示,本发明数据库封装的实现方法,包括如下过程:
[0046] 所述DB-API层的实现。由于不同数据库自身的实现方法是不一样的,因此在对数 据库进行直接操作之前,对数据库操作进行统一封装,使得对所
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1