一种防止异常断电导致配置丢失的方法及系统技术方案

技术编号:19341518 阅读:738 留言:0更新日期:2018-11-07 13:40
本发明专利技术公开了防止异常断电导致配置丢失的方法及系统,应用于采用Linux系统为内核的终端设备中,包括步骤:S11.启动内核inotify机制;S12.利用所述内核inotify机制监控文件或者目录;S13.判断所述文件或者目录是否发生变化,若是,则跳到步骤S14;S14.将缓存中的数据写入磁盘。本发明专利技术通过在Linux系统的设备内核中设置inotify机制,设备一旦发生异常断电时就可将缓存写入到磁盘中,使配置不会因为异常断电而丢失,并且整个过程无需繁琐的手动操作,自动化程度高。

Method and system for preventing configuration loss caused by abnormal power failure

The invention discloses a method and system for preventing configuration loss caused by abnormal power outage, which is applied to terminal devices using Linux system as the core, including steps: S11. Starting the inotify mechanism of the kernel; S12. Monitoring files or directories by using the inotify mechanism of the kernel; S13. Judging whether the files or directories have changed, if any. Yes, skip to step S14; S14. writes data in the cache to disk. By setting the inotify mechanism in the device kernel of the Linux system, the device can write the cache to the disk once an abnormal power failure occurs, so that the configuration will not be lost due to abnormal power failure, and the whole process does not require tedious manual operation, and has a high degree of automation.

【技术实现步骤摘要】
一种防止异常断电导致配置丢失的方法及系统
本专利技术涉及控制领域,尤其涉及一种防止异常断电导致配置丢失的方法及系统。
技术介绍
Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的UNIX工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、视频游戏控制台、台式计算机、大型机和超级计算机。现有的Linux系统为了提高读写磁盘的效率,一般在文件或者数据处理过程中一般先将数据放在一个内存的缓存区(buffer),在写磁盘时并不是立即将数据写到磁盘中,而是先写入这块内存的缓存区(buffer),等到适当的机会再将这些数据写入磁盘,以提高系统的运行效率,但是此时如果重启系统,就会造成数据丢失,目前已有的解决方案主要有两种:(1)异常断电导致配置文件丢失而导致系统异常并且重启不能回复的情况下只能通过恢复出厂设置来恢复系统的正常工作;(2)提前备份重要的配置文件,一旦发生异常使用简单文件传输协议(tftp)传入正常的配置文件,重启可恢复系统的正常工作。但是上述两者方法都需要手动来回复,并且恢复出厂设置之前的配置就会丢失而需要进行重新配置,手动传入之前备份的配置文件操作繁琐。公开号为CN101477482A的专利公开了一种嵌入式Linux系统中的断电时恢复闪存数据的方法,解决了闪存读写数据时突然掉电,数据就丢失或文件系统损坏的缺点,采用的技术方案是:将闪存中根文件系统定义分为固定区、修改区和备份区,通过系统文件JFFS2对分区赋予不同的加载方式,将根文件系统中配置信息分配到固定区中的目录下,根文件系统中系统运行时产生的临时文件被存储在内存中,当文件系统由于意外断电造成数据丢失时,Linux系统调用备份分区中的文件系统对其进行恢复默认配置,并判断当前文件系统是否被损坏,针对系统设置的重要参数的系统文件进行检查,决定是否对文件系统继续进行加载文件。本专利技术的有益效果是:解决了实现断电时对闪存进行数据恢复,避免闪存中的数据丢失。虽然该方法可以防止断电时闪存中的数据丢失,但是该方法是利用先对配置文件进行缓存的方式来避免闪存中数据丢失,并且备份区设置在闪存中根文件系统中,增加了系统的负担,影响系统的运行效率。
技术实现思路
本专利技术的目的是针对现有技术的缺陷,用于解决Linux系统的设备在启动过程中由于异常断电导致重要配置文件丢失而导致启动异常的问题,提供了一种防止异常断电导致配置丢失的方法及系统,防止Linux系统的设备由于异常断电而导致配置文件的丢失。为了实现以上目的,本专利技术采用以下技术方案:一种防止异常断电导致配置丢失的方法,应用于采用Linux系统为内核的终端设备中,包括步骤:S1.启动内核inotify机制;S2.利用所述内核inotify机制监控文件或者目录;S3.判断所述文件或者目录是否发生变化,若是,则跳到步骤S4;S4.将缓存中的数据写入磁盘。进一步的,所述内核inotify机制是通过into_sync源代码包通过编译成链接生成into_sync模块集成到Linux系统内核中。进一步的,所述内核inotify机制是在对应的重要服务启动之前启动的。进一步的,所述文件或者目录是预先设定的需要监控的重要文件或者目录。进一步的,所述文件或者目录是否发生变化包括对所述文件或者目录是否有创建、删除、更新操作。相应的,还提供一种防止异常断电导致配置丢失的系统,应用于采用Linux系统为内核的终端设备中,包括:启动模块,用于启动内核inotify机制;监控模块,用于利用所述内核inotify机制监控文件或者目录;判断模块,用于判断所述文件或者目录是否发生变化;写入模块,用于在所述文件或者目录发生变化时将缓存中的数据写入磁盘。进一步的,所述内核inotify机制是通过into_sync源代码包通过编译成链接生成into_sync模块集成到Linux系统内核中。进一步的,所述内核inotify机制是在对应的重要服务启动之前启动的。进一步的,所述文件或者目录是预先设定的需要监控的重要文件或者目录。进一步的,所述文件或者目录是否发生变化包括对所述文件或者目录是否有创建、删除、更新操作。与现有技术相比,本专利技术通过在Linux系统的设备内核中设置inotify机制,设备一旦发生异常断电时就可将缓存写入到磁盘中,使配置不会因为异常断电而丢失,并且整个过程无需繁琐的手动操作,自动化程度高。附图说明图1是实施例一提供的一种防止异常断电导致配置丢失的方法流程图;图2是实施例二提供的一种防止异常断电导致配置丢失的系统结构图。具体实施方式以下通过特定的具体实例说明本专利技术的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本专利技术的其他优点与功效。本专利技术还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本专利技术的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。需要说明的是,以下实施例中所提供的图示仅以示意方式说明本专利技术的基本构想,遂图式中仅显示与本专利技术中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。本专利技术是以采用Linux内核的终端设备为研究对象,用于优化Linux内核终端设备的配置文件存储方法。本专利技术就是针对现有Linux内核终端设备在异常断电时就会丢失配置文件的技术缺陷,提供了一种防止异常断电导致配置丢失的方法及系统,防止Linux系统的设备由于异常断电而导致配置文件的丢失。实施例一本实施例提供一种防止异常断电导致配置丢失的方法,应用于采用Linux系统为内核的终端设备中,如图1所示,其特征在于,包括步骤:S11.启动内核inotify机制;S12.利用所述内核inotify机制监控文件或者目录;S13.判断所述文件或者目录是否发生变化,若是,则跳到步骤S14;S14.将缓存中的数据写入磁盘。可选的,所述终端设备可为手机、平板电脑、路由器、视频游戏控制台、台式计算机、大型机和超级计算机等以Linux系统为内核的终端设备。本实施例的防止异常断电导致配置丢失的方法的执行主体为采用Linux系统为内核的终端设备。可选的,本实施例可以应用在所述终端设备在启动过程中出现的异常断电的场景下,但不限于这些场景。需要说明的是,以Linux系统为内核的终端设备在异常断电情况下,可能就会出现Linux系统的设备无法正常启动,通常是由于异常断电造成配置文件丢失,部分功能无法配置导致无法正常启动,以路由器为例,在异常断电以后,可能会损坏配网的配置文件,导致异常断电以后无法正常上网。本实施例主要通过inotify机制来防止异常断电导致配置文件的丢失。具体的,首先,以Linux系统为内核的终端设备要启动内核中的inotify机制。可选的,所述内核inotify机制是通过into_sync源代码包通过编译成链接生成into_本文档来自技高网
...

【技术保护点】
1.一种防止异常断电导致配置丢失的方法,应用于采用Linux系统为内核的终端设备中,其特征在于,包括步骤:S1.启动内核inotify机制;S2.利用所述内核inotify机制监控文件或者目录;S3.判断所述文件或者目录是否发生变化,若是,则跳到步骤S4;S4.将缓存中的数据写入磁盘。

【技术特征摘要】
1.一种防止异常断电导致配置丢失的方法,应用于采用Linux系统为内核的终端设备中,其特征在于,包括步骤:S1.启动内核inotify机制;S2.利用所述内核inotify机制监控文件或者目录;S3.判断所述文件或者目录是否发生变化,若是,则跳到步骤S4;S4.将缓存中的数据写入磁盘。2.根据权利要求1所述的一种防止异常断电导致配置丢失的方法,其特征在于,所述内核inotify机制是通过into_sync源代码包通过编译成链接生成into_sync模块集成到Linux系统内核中。3.根据权利要求1所述的一种防止异常断电导致配置丢失的方法,其特征在于,所述内核inotify机制是在对应的重要服务启动之前启动的。4.根据权利要求1所述的一种防止异常断电导致配置丢失的方法,其特征在于,所述文件或者目录是预先设定的需要监控的重要文件或者目录。5.根据权利要求1所述的一种防止异常断电导致配置丢失的方法,其特征在于,所述文件或者目录是否发生变化包括对所述文件或者目录是否有创建、删除、更新操作。6.一种防止异常断...

【专利技术属性】
技术研发人员:孙永兴
申请(专利权)人:四川斐讯信息技术有限公司
类型:发明
国别省市:四川,51

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1