[发明专利]一种Linux系统中使用闪存保存系统配置的方法有效
申请号: | 201010171231.0 | 申请日: | 2010-05-11 |
公开(公告)号: | CN102243602A | 公开(公告)日: | 2011-11-16 |
发明(设计)人: | 张志同 | 申请(专利权)人: | 西安龙飞软件有限公司 |
主分类号: | G06F11/14 | 分类号: | G06F11/14 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 710000 陕西省西安市高新区科*** | 国省代码: | 陕西;61 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 linux 系统 使用 闪存 保存 系统配置 方法 | ||
技术领域
本发明涉及计算机系统领域,尤其涉及一种在Linux系统中基于建立在闪存上可读写文件系统的可靠保存系统配置的方法。
背景技术
目前以闪存作为存储介质的嵌入式系统保存系统配置的方法基本上有两种,一种是通过MTD接口直接操作闪存分区,将系统配置保存在固定的MTD分区中;另一种是将系统配置保存在可读写的文件系统中,使用已有的数据库保存系统配置。第一种方法需要自行设计配置项的结构以及查询方法,并且很难实现闪存的磨损均衡处理,尤其对于NAND类型的闪存,如果保存系统配置的分区出现坏块将导致整个系统配置损坏,另外,闪存一般是按块擦写的,如果在擦写过程中设备断电将导致系统配置需要全部恢复;第二种方法利用了闪存文件系统的磨损均衡功能,但仍面临擦写过程中断电使全部系统配置需要恢复的问题。
发明内容
为了解决现有系统配置管理方式的不足,本发明提出了一种在Linux系统下基于建立在闪存上的可读写文件系统的可靠保存系统配置的方法。此方法主要利用了文件系统自身的文件查找、对闪存的磨损均衡处理的特性,以两个不同的目录保存系统当前配置和系统配置备份,并且将每个配置项保存到一个单独的文件来实现的,保证了单个配置项文件的损坏不会影响到其他配置项。这种方法的具体实现步骤如下:
(1)系统配置的配置项和配置项的默认值以文本文件的方式保存在系统中,将此文件保存在一个固定位置,管理配置项时只从此文件读取数据而不会对此文件进行写操作,以保证在个别配置项损坏时进行恢复。
(2)设备启动时对系统配置进行初始化,初始化的过程包括:首先检查系统当前配置和系统配置备份目录是否存在,如果不存在则创建;然后遍历系统默认配置文件中的所有配置项,用open函数打开系统当前配置目录和系统配置备份目录中的配置项文件,用此函数的返回值判断配置项文件是否存在或是否正常,如果两个目录中文件都正常且相同则继续判断下一个配置项;如果两个目录中文件都正常但不相同,则用系统当前配置目录中的配置项恢复系统配置备份目录中的配置项;如果一个目录中的文件不存在或出现异常,则用另一个目录中的文件进行恢复;如果两个目录中的文件都不存在或出现异常,在用系统默认配置文件中的默认配置恢复这两个目录中的配置项。
(3)系统运行过程中需要读取一个配置项的当前值时,只需要读取系统当前配置目录中的配置项文件;如果此文件出现异常,则读取系统配置备份目录中的配置项文件;如果这两个文件都存在问题,则读取系统默认配置文件中的默认值。
(4)系统运行过程中需要设置一个配置项的值时,需要先设置系统当前配置目录中的配置项,再设置系统配置备份目录中的配置项,这样可以保证如果在设置两个文件的过渡时刻发生断电时,系统初始化时可以恢复到最新配置。
本发明的有益效果是:实现了利用闪存保存配置信息时,对闪存操作的磨损均衡处理,解决了坏块及闪存擦写过程中系统断电导致的系统配置损坏的问题。
本发明的优点是:和具体闪存类型无关,NOR和NAND闪存都适用;便于移植,可以应用于YAFFS2和JFFS2等建立在闪存上的文件系统。
附图说明
图1是本发明系统配置结构示意图;
图2是本发明初始化系统配置的流程图。
实施方法
下面结合附图进一步说明本发明是如何实现的:
实现一个配置管理函数库,通过此函数库操作默认配置文件、当前配置和备份配置。
系统的初始化进程需要对系统配置进行初始化,初始化流程如图2所示。首先枚举默认配置文件中的配置项,通过配置项的名称打开当前配置下对应文件并进行检查,如果文件正常则对备份配置中的配置项进行检查,如果备份配置项正常则比较两个配置项的值,如果值相同则继续处理下一个配置项,如果备份配置项异常或值不同在用当前配置项覆盖备份配置项;如果当前配置项异常在检查备份配置项,如果备份配置项正常则用备份配置项恢复当前配置项;如果两个配置项均异常则根据默认配置创建配置项。
其他进程必须等待系统配置初始化完成后才能对配置信息进行读写。对于同一个配置项,如果同时存在超过一个读写请求则通过文件读写锁来保证文件内容的完整性。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于西安龙飞软件有限公司,未经西安龙飞软件有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201010171231.0/2.html,转载请声明来源钻瓜专利网。
- 上一篇:电动盘式制动器
- 下一篇:一种增氧机的注塑叶轮及模具