一种利用嵌入式数据库对flash数据进行管理的方法

文档序号:6610691阅读:478来源:国知局
专利名称:一种利用嵌入式数据库对flash数据进行管理的方法
技术领域
本发明涉及一种对闪存数据管理的方法,尤其涉及的是一种利用嵌入 式数据库对闪存数据进行管理的方法。
背景技术
通常,需要采用数据库来实现对磁盘数据的存储、检索等功能,像 MySQL这类关系型数据库虽然代表着目前数据库应用的主流,但在嵌入式 系统中,由于系统软硬件资源的限制,这些数据库产品在嵌入式系统的存 储器,如闪存上,基本是不可实现的。因此,现有技术还有待于改进和发展。发明内容本发明的目的在于提供一种利用嵌入式数据库对flash数据进行管理的 方法,实现在嵌入式系统中对》兹盘数据的管理。 本发明的技术方案如下一种利用嵌入式数据库对flash数据进行管理的方法,其包括以下步骤A、 将需要保存在flash中的信息根据数据库原理归纳出 一数据库信息;B、 利用文件系统在flash中创建该数据库的对应数据库文件;C、 将所述数据库文件映射到内存中;D、 通过该内存实现对数据库的查询、修改和增加。所述的方法,其中,所述数据库信息包括数据表、索引和数据;所述 数据库文件对应包括数据表文件、索引文件和数据文件。所述的方法,其中,所述步骤D还包括Dl、当查询信息时,应用程序通过传递表名、索引给API函数提供的 查询接口定位到所述内存中的数据并获得所需的相应信息。 所述的方法,其中,所述步骤D还包括D21、当修改信息时,应用程序通过传递表名、索引给API函数提供的 修改接口定位并修改所述内存中的信息;D22、将所述内存中的数据内容写入所述flash中。 所述的方法,其中,所述步骤D22还包括根据数据内容的紧急性不同,分别进行写入所述flash的处理对于紧 急/重要的数据立即写入闪存flash中的对应位置;对于非紧急性数据则在所 述内存中的相关内容上进行标记,通过后台线程延时写入。所述的方法,其中,所述步骤D还包括D31、当需要增加相关信息时,应用程序在所述数据库中增加相关索引; D32、所述应用程序写入数据到所述内存中; D33、将所述内存中的数据内容写入所述flash中。 所述的方法,其中,所述步骤D33还包括根据数据内容的紧急性不同,分别进行写入所述flash的处理对于紧 急/重要的数据立即写入闪存flash中的对应位置;对于非紧急性数据则在所 述内存中的相关内容上进行标记,通过后台线程延时写入。本发明所提供的 一种利用嵌入式数据库对flash数据进行管理的方法, 由于结合了数据库原理和磁盘文件系统设计的 一个小型快速嵌入式数据 库,用来实现对flash数据如系统配置信息、多语种转换所需字符集信息、 软件内部消息信息等的管理,能够快速准确定位flash来查询和修改相关信 息,本发明方法适用于需要频繁读写flash保存数据信息的嵌入式产品中。


图1为本发明的实现原理流程示意图。
具体实施方式
以下对本发明的较佳实施例加以详细说明。本发明利用嵌入式数据库对flash数据进行管理的方法,其基本原理如 图1所示,基本包括如下本发明方法根据数据库原理,将需要管理的数据归类细分为数据表、 索引和数据;利用文件系统创建一个表文件、 一个索引文件和一个数据文 件,分别用来管理数据表信息、索引信息和数据信息。为了和具体应用集成,本发明方法提供了相关一系列的API函数用于 实现对数据的添加、修改和删除操作;在数据库中数据管理采用了 hash算 法,极大地提高了数据定位速度。本发明所述闪存flash的访问是整个系统运行的瓶颈,为了实现对数据 的快速访问,采用内存映射机制将数据映射到内存,利用"空间换时间" 的原理并通过"写时拷贝"手法实现对数据库的快速访问。频繁擦写flash极易损坏固件,同时极大的消耗系统资源,为此本发明 方法在前面内存映射的基础上提供了数据"延时写入"机制,对非紧急性/ 访问频繁的数据启用该功能,这样既能均衡系统CPU负载,又能很好的降 低flash的读写频率。本发明方法的具体实现流程如下1、 将需要保存在闪存flash中的信息根据数据库原理归纳出一个数据 库信息,包括数据表、索引和数据;2、 利用文件系统在闪存flash中创建该数据库的表文件、索引文件和 数据文件;3 、将所述凄t据库文件映射到内存memory中;4、当查询信息时,应用程序通过传递表名、索引给API函数提供的查询接口直接定位到内存memory中并获得所需的相应信息;5、 当修改信息时,同样,应用程序通过传递表名、索引给API函数提 供的修改接口定位并修改所述内存memory中的信息,接下来根据数据内容 的紧急性,分别不同情况处理对于紧急/重要的数据立即写入闪存flash中 的对应位置;对于非紧急性数据则在所述内存memory中的相关内容上进行 标记,通过后台线程延时写入;6、 当需要增加相关信息时,应用程序首先在所述数据库中增加相关索 引,然后写入数据到内存memory中,接下来根据数据的紧急性分別处理, 其过程同第5步骤的过程。本发明方法利用嵌入式数据库对flash数据进行管理,由于结合了数据 库原理和磁盘文件系统设计的 一个小型快速嵌入式数据库,用来实现对 flash数据如系统配置信息、多语种转换所需字符集信息、软件内部消息信 息等的管理,能够快速准确定位flash来查询和修改相关信息,本发明方法 适用于需要频繁读写flash保存数据信息的嵌入式产品中。本发明方法的系统数据库小巧,访问快速;降低了闪存flash的读写频 率,因而延长了固件的寿命;并进行合理分配系统资源,均衡了系统CPU 的负载;其接口实现简单,操作方便。应当理解的是,对本领域普通技术人员来说,可以根据上述说明加以 改进或变换,而所有这些改进和变换都应属于本发明所附权利要求的保护 范围。
权利要求
1、一种利用嵌入式数据库对flash数据进行管理的方法,其包括以下步骤A、将需要保存在flash中的信息根据数据库原理归纳出一数据库信息;B、利用文件系统在flash中创建该数据库的对应数据库文件;C、将所述数据库文件映射到内存中;D、通过该内存实现对数据库的查询、修改和增加。
2、 根据权利要求1所述的方法,其特征在于,所述数据库信息包括 数据表、索引和数据;所述数据库文件对应包括数据表文件、索引文件和 数据文件。
3、 根据权利要求2所述的方法,其特征在于,所述步骤D还包括 Dl、当查询信息时,应用程序通过传递表名、索引给API函数提供的查询接口定位到所述内存中的数据并获得所需的相应信息。
4、 根据权利要求2所述的方法,其特征在于,所述步骤D还包括 D21、当修改信息时,应用程序通过传递表名、索引给API函数提供的修改接口定位并修改所述内存中的信息; D22、将所述内存中的数据内容写入所述flash中。
5、 根据权利要求4所述的方法,其特征在于,所述步骤D22还包括 根据数据内容的紧急性不同,分别进行写入所述flash的处理对于紧急/重要的数据立即写入闪存flash中的对应位置;对于非紧急性数据则在所 述内存中的相关内容上进行标记,通过后台线程延时写入。
6、 根据权利要求2所述的方法,其特征在于,所述步骤D还包括 D31、当需要增加相关信息时,应用程序在所述数据库中增加相关索引;D32、所述应用程序写入数据到所述内存中; D33、将所述内存中的数据内容写入所述flash中。
7、 根据权利要求6所述的方法,其特征在于,所述步骤D33还包括: 根据数据内容的紧急性不同,分别进行写入所述flash的处理对于紧急/重要的数据立即写入闪存flash中的对应位置;对于非紧急性数据则在所 述内存中的相关内容上进行标记,通过后台线程延时写入。
全文摘要
本发明公开了一种利用嵌入式数据库对flash数据进行管理的方法,其包括以下步骤将需要保存在flash中的信息根据数据库原理归纳出一数据库信息;利用文件系统在flash中创建该数据库的对应数据库文件;将所述数据库文件映射到内存中;通过该内存实现对数据库的查询、修改和增加。本发明利用嵌入式数据库对flash数据进行管理的方法由于结合了数据库原理和磁盘文件系统设计的一个小型快速嵌入式数据库,用来实现对flash数据如系统配置信息、多语种转换所需字符集信息、软件内部消息信息等的管理,能够快速准确定位flash来查询和修改相关信息,本发明方法适用于需要频繁读写flash保存数据信息的嵌入式产品中。
文档编号G06F17/30GK101221565SQ200710125439
公开日2008年7月16日 申请日期2007年12月20日 优先权日2007年12月20日
发明者洋 刘 申请人:康佳集团股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1