[发明专利]基于嵌入式数据库的存储方法和装置有效
申请号: | 200810179539.2 | 申请日: | 2008-11-29 |
公开(公告)号: | CN101430705A | 公开(公告)日: | 2009-05-13 |
发明(设计)人: | 黄颖;胡海生 | 申请(专利权)人: | 中兴通讯股份有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 北京康信知识产权代理有限责任公司 | 代理人: | 尚志峰;吴孟秋 |
地址: | 518057广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 嵌入式 数据库 存储 方法 装置 | ||
技术领域
本发明涉及通信领域,尤其涉及一种基于嵌入式数据库的存储方法和装置。
背景技术
嵌入式数据库以表为单位保存在存储器上,如果要修改嵌入式数据库在内存中的数据,需要将新数据重新保存到存储器上,但在将新数据保存到存储器的过程中,如果出现系统掉电或复位,会导致保存到存储器中的部分是新数据,部分是旧数据的情况,这样会破坏数据的一致性。
目前,主要采用XML的方式存储数据,过去的方法是修改了一张表后将新数据以一种中间格式保存到存储器,然后将中间格式的文件更名为XML的文件。如果同时修改了3张表,当第1、2张表都保存完成,而保存第3张表的时候系统复位,那么第1、2张表的数据就是修改之后,第3张表数据是修改之前的。这样不能保证嵌入式数据库数据的一致性和正确性。
发明内容
考虑到相关技术中存在的在嵌入式数据库的数据存储过程中,不能保证嵌入式数据库数据的一致性和正确性的问题而提出本发明,为此,本发明的主要目的在于提供一种基于嵌入式数据库的存储方法及装置,以解决上述问题。
根据本发明的一个方面,提供一种基于嵌入式数据库的存储方法。
根据本发明的基于嵌入式数据库的存储方法包括:在存储器上预先设置第一存储区域和第二存储区域,其中,存储器用于存储嵌入式数据库的数据;对嵌入式数据库的多组数据进行更新操作,并且,对于完成更新的每组数据,分别存储到第一存储区域;如果将完成更新的多组数据都成功存储到第一存储区域,则将第一存储区域中存储的多组数据拷贝到第二存储区域中。
进一步地,方法还包括:如果将多组数据存储到第一存储区域中失败,则重新对嵌入式数据库的多组数据进行更新操作。
另外,在进行更新操作之前,该方法还包括:预先设置指示将修改的多组数据存储到第一存储区域下的第一标识,及指示将第一存储区域中的修改后的多组数据存储到第二存储区域下的第二标识;将嵌入式数据库中修改的多组数据存储到第一存储区域中包括:在内存中写入第一标识,并将嵌入式数据库中修改的多组数据存储到第一存储区域中;将第一存储区域中存储的多组数据拷贝到第二存储区域中包括:在内存中写入第二标识,并将第一存储区域中存储的多组数据拷贝到第二存储区域中。
优选地,在写入第一标识之后,该方法还包括:计算并保存第一标识对应的校验码,并将第一标识和第一标识对应的校验码复制到存储器中;在写入第二标识之后,该方法还包括:在内存中写入第二标识覆盖第一标识,计算并保存第二标识对应的校验码,并将第二标识和第二标识对应的校验码复制到存储器中覆盖第一标识和第一标识对应的校验码。
进一步地,该方法还包括:读取内存中当前的标识,并计算读取的标识的参考校验码,如果计算的参考校验码与内存中存储的标识对应的校验码一致,则读取标识所指示的存储区域,其中,标识为第一标识或第二标识。
其中,如果在内存中读取的参考校验码与标识对应的校验码不一致,该方法还包括:读取存储器中当前的标识,并计算读取的标识的参考校验码,如果计算的参考校验码与存储器中存储的标识对应的校验码一致,则读取标识所指示的存储区域,其中,标识为第一标识或第二标识。
进一步地,上述方法还包括:为多组数据分别设置相应的数据标识,数据标识在其对应的数据被存储到第一存储区域时被写入到内存并覆盖在前写入的数据标识;在将完成更新的多组数据存储到第一存储区域失败时,从内存中读取数据标识,并将读取的数据标识的数据确定为存储失败的数据。
根据本发明的另一个方面,提供一种基于嵌入式数据库的存储装置。
根据本发明的基于嵌入式数据库的存储装置包括:第一设置模块,用于在存储器上预先设置第一存储区域和第二存储区域,其中,存储器用于存储嵌入式数据库的数据;更新模块,用于对嵌入式数据库的多组数据进行更新操作,并且,对于完成更新的每组数据,分别存储到第一存储区域;处理模块,用于完成更新的多组数据都成功存储到第一存储区域时,将第一存储区域中存储的多组数据拷贝到第二存储区域中。
进一步地,该装置还包括:第二设置模块,用于设置指示将修改的多组数据存储到第一存储区域下的第一标识,及指示将第一存储区域中的修改后的多组数据存储到第二存储区域下的第二标识;写入模块,用于在内存中写入第一标识和/或第二标识;相应地,处理模块用于将嵌入式数据库中修改的多组数据存储到第一存储区域中,和/或将第一存储区域中存储的多组数据拷贝到第二存储区域中。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中兴通讯股份有限公司,未经中兴通讯股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200810179539.2/2.html,转载请声明来源钻瓜专利网。