【技术实现步骤摘要】
一种嵌入式轻量级数据库系统
[0001]本专利技术属于计算机
,尤其是嵌入式
,具体涉及一种嵌入式轻量级数据库系统。
技术介绍
[0002]数据库系统(DatabaseSystem,简称DBS)是由数据库文件和管理软件组成的系统。数据库是按照数据结构来组织、存储和管理数据的仓库。
[0003]嵌入式系统是以计算机技术为基础,软硬件可裁剪,适应应用系统对功能,可靠性,成本,功耗等有严格要求的专用计算机系统。
[0004]在计算机应用中,由于需要对数据不断的操作,所以都需要使用数据库来管理数据。这些数据管理系统都很完善,功能丰富,但是在很多嵌入式设备中。这些大型数据库显得不合适。首先这些数据库管理软件占用存储的空间大。其次程序依赖的东西比较多。最后软件执行太复杂。对计算机芯片的要求很高。在嵌入式设备中,硬件条件有限,使用FLASH存储器和内存都很小,嵌入式芯片的工作频率有限,大多数的数据库在嵌入式设备中根本没法运行,或者运行的性能很差。但是嵌入式系统中也需要处理数据。如果没有数据管理,那我们的开发时间很长,项目周期长。所以我们需要一种轻量级数据库。具有数据库的基本功能且占用资源少,使用方便。
技术实现思路
[0005]本专利技术的目的就是提供一种嵌入式轻量级数据库系统。
[0006]本专利技术包括一个或多个数据库文件,以及管理软件。
[0007]所述的数据库文件由文件头DB_Header和多个存储单元DB_Store_Unit组成,每个存储单元是由用户数据use ...
【技术保护点】
【技术特征摘要】
1.一种嵌入式轻量级数据库系统,包括一个或多个数据库文件,以及管理软件;其特征在于:所述的数据库文件由文件头DB_Header和多个存储单元DB_Store_Unit组成,每个存储单元是由用户数据userdata和管理数据DB_record组成;所述的文件头DB_Header包括数据库标识符magic;所述的存储单元DB_Store_Unit的管理数据由数据状态值Ds、数据校验值Dc、用户数据长度Dl和键值Kv组成;数据状态值Ds有存在和删除两个标志;键值为查找管理数据的索引值,每个存储单元的键值是唯一的;数据库系统使用分配记录表和回收记录表对数据库文件进行管理;分配记录表记录查询到的存储单元的键值Kv和偏移地址offset;偏移地址offset是从数据库文件开始位置0到存储单元的管理数据的开始位置的长度;回收记录表记录回收的存储单元长度len和偏移地址offset;分配记录表和回收记录表运行在内存中,在数据库系统初始化时,通过依次读取每个数据库文件的存储单元创建;数据库系统的缓存区是内存中部分数据库文件的数据,缓存区包括多个数据块,数据块的存储内容即为存储单元的存储内容;在数据库系统初始化时,缓存区是从数据库文件中读取存储单元形成,刷新值cache管理缓存区,刷新值cache有刷新和不刷新两个标志;所述的管理软件实现的功能包括查询数据、删除数据和添加数据。2.如权利要求1所述的一种嵌入式轻量级数据库系统,其特征在于:所述的管理软件具体实现方法如下:步骤(1)启动数据库系统,管理软件检测数据库文件是否存在;如果不存在,创建数据库文件,写入文件头DB_Header,执行步骤(2);如果存在,直接执行步骤(2);步骤(2)打开数据库文件,读取文件头DB_Header;如果文件头DB_Header损坏,上报错误,程序终止;如果文件头DB_Header正常,读取存储单元DB_Store_Unit的管理数据,执行步骤(3);步骤(3)依次读取每个存储单元的管理数据的数据状态值Ds;如果数据状态值Ds标志为存在,将该管理数据的键值Kv和偏移地址offset写到分配记录表;如果数据状态值Ds标志为删除,将该管理数据的存储单元长度len和偏移地址offset写到回收记录表;由此建立分配记录表和回收记录表;步骤(4)管理软件监控用户指令:如果用户指令为查询,执行步骤(5)~(6);如果用户指令为删除,执行步骤(7)~(8);如果用户指令为添加,执行步骤(9)~(11);步骤(5)根据用户需查询数据的键值Kv查询分配记录表;如果分配记录表中存在该键值Kv,根据该键值Kv对应的偏移地址offset读取缓存区的数据块,根据该数据块的管理数据记录的用户数据长度Dl读取用户数据,如读取成功,查询流程完成,如在缓存区未读取到用户数据,执行步骤(6);如果分配记录表中不存在该键值Kv,上报数据不存在,查询流程完成;步骤(6)判断刷新值cache的状态;如果刷新值cache为刷新标志,则根据缓存区的开始和结束地址,将对应存储单元的数据擦除,并将缓存区数据写入对应存储单元;按照键值Kv对应的偏移地址offset,在数据库文件中读取存储单元,根据该存储单元中管理数据记录的用户数据长度Dl读取用户数据,
读取成功,查询流程完成;如果刷新值cache为不刷新标志,按照键值Kv对应的偏移地址offset,在数据库文件中读取存储单元,根据该存储单元中管理数据记录的用户数据长度D...
【专利技术属性】
技术研发人员:吴科,张令,刘建华,
申请(专利权)人:国芯科技广州有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。