一种嵌入式系统中数据库管理方法及系统的制作方法

文档序号:9217337阅读:652来源:国知局
一种嵌入式系统中数据库管理方法及系统的制作方法
【技术领域】
[0001]本发明涉及家庭网关技术领域,特别是涉及嵌入式无线网关系统中的数据库技术领域,具体为一种嵌入式系统中数据库管理方法及系统。
【背景技术】
[0002]随着嵌入式系统的广泛应用及嵌入式实时操作系统的不断普及,嵌入式环境下的数据管理问题成为系统中的重要环节,构建嵌入式实时数据库系统(RTDBS)成为嵌入式开发中必须解决的问题。这里所说的嵌入式RTDBS[I] [2]是指可在嵌入式设备中独立运行的一种数据库系统,用以处理大量的、时效性强且有严格时序的数据,它以高可靠性、高实时性和高信息吞吐量为目标,其数据的正确性不仅依赖于逻辑结果,而且依赖于逻辑结果产生的时间。图1是一个嵌入式应用的基本构架,整个嵌入式RTDBS构建于实时操作系统之上。由于嵌入式实时数据库系统在运行环境和运行方式上与常见的企业级数据库管理系统有很大差别,因此,传统的企业数据库如Oracle、Sybase等在实时嵌入式环境下很难发挥作用,尤其在一些实时性要求很高的控制系统中,传统数据库更显得无能为力。因此,伴随着各种商用嵌入式实时操作系统的出现,研宄嵌入式环境下的实时数据库系统成为嵌入式软件中的一项重要内容。
[0003]基于以上嵌入式数据库的概念和特性,已有的嵌入式设备中的数据库多数采用动态Iib库的形式存放和访问形式,并且采用多张表的存储架构来存放和记录系统数据,应用程序需要调用动态库来访问不同表中的不同数据。现有的嵌入式系统网关设备中的数据库存储架构和访问机制采用多张表的形式,造成的主要缺点如下:采用多张表的形式存储,管理较复杂;动态库调用的方式增加了系统运行的负担;没有对数据库增加保护锁,数据容易造成损坏;复杂的数据结构无法有效存储。
[0004]如何解决嵌入式系统中数据库管理中面临的以上问题成为本领域技术人员亟待解决的问题。

【发明内容】

[0005]鉴于以上所述现有技术的缺点,本发明的目的在于提供一种嵌入式系统中数据库管理方法及系统,用于解决现有技术中嵌入式系统中数据库管理中存在的数据库存储复杂、数据容易丢失、使用数据库导致系统负担大的问题。
[0006]为实现上述目的及其他相关目的,本发明提供一种嵌入式系统中数据库管理方法,所述嵌入式系统中数据库管理方法包括:在数据库进行数据存储时,将数据按每条记录的形式存储在一张表中并定义所述每条记录的格式和属性;在访问所述数据库时,以内存共享的方式访问所述数据库并在申请到访问所述数据库的权限时采用加锁操作。
[0007]作为本发明的一种优选方案,所述嵌入式系统中数据库管理方法还包括定义数据的对象ID并将所述对象ID保存在头文件中。
[0008]作为本发明的一种优选方案,定义所述每条记录的属性包括定义用于查找或定位数据库中任何对象或者对象的任意一个子对象的记录ID,所述记录ID通过预定义的API进行填充。
[0009]作为本发明的一种优选方案,采用数组的格式定义所述记录ID。
[0010]作为本发明的一种优选方案,所述数组为一维数组、二维数组、三维数组或四维数组。
[0011]为实现上述目的,本发明还提供一种嵌入式系统中数据库管理系统,所述嵌入式系统中数据库管理系统包括:数据库存储模块,包括数据存储表单元,所述数据存储表单元用于将数据按每条记录的形式存储在一张表中并定义所述每条记录的格式和属性;数据库访问模块,用于设置以内存共享的方式访问数据库并在有申请到访问所述数据库的权限时对所述数据库进行加锁操作。
[0012]作为本发明的一种优选方案,所述数据库存储模块还包括对象ID存储单元,用于定义数据的对象ID并将所述对象ID保存在头文件中。
[0013]作为本发明的一种优选方案,在所述数据存储表单元中,定义所述每条记录的属性包括定义用于查找或定位数据库中任何对象或者对象的任意一个子对象的记录ID,所述记录ID通过预定义的API进行填充。
[0014]作为本发明的一种优选方案,采用数组的格式定义所述记录ID。
[0015]作为本发明的一种优选方案,所述数组为一维数组、二维数组、三维数组或四维数组。
[0016]如上所述,本发明的一种嵌入式系统中数据库管理方法及系统,具有以下有益效果:
[0017]1、本发明为了方便存储更为复杂的数据,同时为了方便管理,采用一整张表的方式进行数据存储,所有的数据以一条条记录的形式存在,每条记录的格式和长度不是固定的,这样的使得数据存储的形式更加简单,同时节省了大量的系统存储空间,同时采用记录ID形式可以便于存储复杂的数据结构。
[0018]2、本发明通过调用系统共享内存的方式来调用数据库,提高了系统数据存储的有效性和管理的高效性,降低了系统的运行负担;同时加入了数据库保护机制,提高了数据操作安全和可靠性。
【附图说明】
[0019]图1显示为本发明的嵌入式系统中数据库管理方法的流程示意图。
[0020]图2显示为本发明的嵌入式系统中数据库管理系统的结构示意图。
[0021]元件标号说明
[0022]I嵌入式系统中数据库管理系统
[0023]11数据库存储模块
[0024]111 数据存储表单元
[0025]112 对象ID存储单元
[0026]12数据库访问模块
[0027]511?512步骤
【具体实施方式】
[0028]以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的【具体实施方式】加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。
[0029]本发明的目的在于提供一种嵌入式系统中数据库管理方法及系统,用于解决现有技术中嵌入式系统中数据库管理中存在的数据库存储复杂、数据容易丢失、使用数据库导致系统负担大的问题。以下将详细阐述本发明的一种嵌入式系统中数据库管理方法及系统的原理及实施方式,使本领域技术人员不需要创造性劳动即可理解本发明的一种嵌入式系统中数据库管理方法及系统。
[0030]本实施例提供一种嵌入式系统中数据库管理方法及系统,本实施例涉目前家用无线路由器的网关设备,主要实现在嵌入式无线网关系统中的数据库存储架构和访问机制。
[0031]本实施例的主要功能是实现嵌入式无线网关设备中数据库的存储和管理,基于当前Iinux系统的特点以及软件的系统结构和应用程序对数据库的需求,本实施例设计并提出了一套与传统嵌入式系统中完全不同的数据架构和访问机制。本实施例主要应用于小型的嵌入式家庭网关产品,在嵌入式系统特性和软件应用程序的特性基础上,实现了在家庭网关中一种新的、优化的、更加符合网关设备的数据库存储和访问机制。
[0032]本实施例设计并提出的一套嵌入式系统的数据库存储架构和访问机制主要实现了复杂的数据结构的存储和访问,通过设计一套有效的存储形式和共享内存的调用方式,来实现系统各个应用程序对数据库中数据有效、可靠的访问和管理。本实施例提供一种嵌入式系统中数据库管理方法,具体地,如图1所示,所述嵌入式系统中数据库管理方法包括以下步骤。
[0033]步骤S11,在数据库进行数据存储时,将数据按每条记录的形式存储在一张表中并定义所述每条记录的格式和属性。采用整张表的形式,便于存储和管理,同时节省系统资源。
[0034]具体地,在本实施例中,定义所述每条记录的属性包括定义用于查找或定位数据库中任何对象或者对象的任意一个子对象的记录ID,所述记录ID通过预定义的API进行填充。本实施例通过记录ID可以便于存储复杂的数据结构。
[0035]更进一步地,采用数组的格式定义所述记录ID,其中,所述数组为一维数组、二维数组、三维数组或四维数组。
[0036]传统的数据库存储形式采用的是多张表的形式,但是对于相对复杂的数据结构,此方式具有明显的缺陷,不便于管理。
[0037]也就是说,本实施例中嵌入式系统中数据库管理方法中所设计的存储架构为了方便存储更为复杂的数据,同时为了方便管理,采用一整张表的方式,所有的数据以一条条记录的形式存在,每条记录的格式和长度不是固定的,这样的使得存储的形式更加简单,同时节省了大量的系统存储空间,也可以存储较为复杂的数据结构。
[0038]此外,在本实施例中,所述嵌入式系统中数据库管理方法还包括定义数据的对象ID并将所述对象ID保存在头文件中。本实施例中嵌入式系统中数据库管理方法中,确定好存储形式后,需要定义每条记录的格式和关键属性,来便于访问和管理数据库,嵌入式系统中需要保存的基本对象一般为structure,一个structure就是一个数据库的对象。每个对象都有一个相对应的ID,即对象ID,所有的对象ID都定义和保存在固定的头文件中。引入对象ID的目的主要是方便于在数据库中对对象的查找和定位,从而对其进行操作。在系统运行过程中,应用程序可以根据对象ID使用特定的API对对象进行需要get、set等操作,操作的最小单位是一个对象,即一个structure。只有获取了整个structure之后才能对其中的某一个参量或者变量进行操作。
[0039]对于一些特殊的对象,比如对象下边还有子对象的数据结构,在保存到表的过程中,定义和赋予的记录ID采用数组的形式,最多可支持4维数组,以此来判断具体需要操作哪个对象。
[0040]步骤S12,在访问所述数据库时,以内存共享的方式访问所述数据库并在申请到访问所述数据库的权限时采用加锁操作。本实施例中,应用程序通过共享内存的方式调用数据库,降低了系统的运行负担;对数据库的共享内存加入了加锁的保护机制,提高了数据操作安全和可靠性。
[0041]数据库在内存中是一块共享内存空间
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1