NV参数的备份恢复方法和装置
技术领域
本发明涉及通信技术领域,尤其是涉及一种基于高通平台的NV参数的备份恢复方法和装置。
背景技术
在传统的高通模块应用中,通常需要将校准、综测和基本配置等参数采用NV(NVRAM的简称,全称Nonvolatile random access memory,非易失性随机访问存储器)保存在文件系统(EFS)中,并以单个文件的形式存在。由于模块产品较手机产品软件更新频繁,另外由于高通工具的广泛应用,存在着文件系统数据丢失或者被破坏的风险。一旦出现此类情况,模块将无法使用。NV参数的备份与恢复最主要目的是能够让这些重要数据可以被恢复到出厂状态,保证模块正常运行。因此NV参数的及时备份和恢复非常重要。
传统的NV参数的备份机制为:首先确定需要备份的NV参数信息,一旦检测到这些NV参数被修改,则在文件系统中创建一个备份标志文件;在每次开机时都要判断这个备份标志文件是否存在而执行是否备份。传统的NV参数的恢复机制为:在每次开机的时候判断文件系统是否存在恢复标志文件,如果不存在则恢复NV参数文件,然后再创建恢复标志文件。
传统的NV参数的备份恢复方法,在文件丢失或者数据被破坏,能够自动恢复。但是,如果在正常工作过程中出现其他致命错误导致文件系统不能工作时,则无法使系统重新恢复正常。而且,由于每次开机时都需要执行备份流程,导致运行效率低下。
发明内容
本发明的主要目的在于提供一种NV参数的备份恢复方法和装置,旨在应对正常工作过程中文件系统发生的致命错误,并提高系统运行效率。
为达以上目的,本发明提出一种NV参数的备份恢复方法,包括步骤:
系统初始化,定义一区别于文件系统的备份分区,并生成NV参数文件;
开机时,执行NV参数文件检测恢复流程,随后开始正常工作;
在正常工作过程中,检测到所述文件系统发生不可恢复的错误时,启动备份,将所述NV参数文件中的NV参数导入到所述备份分区;
备份结束后,读取所述备份分区的NV参数,恢复生成NV参数文件。
优选地,所述不可恢复的错误为:所述文件系统在读、擦或写过程中出现EFS_FATAL错误。
优选地,所述方法还包括:启动备份时,向所述文件系统TASK发送启动备份的消息,置开始备份标志;备份结束后,置结束备份标志。
优选地,所述将所述NV参数文件中的NV参数导入到所述备份分区的步骤的同时还包括:
保存发生所述不可恢复的错误的时间戳和位置信息。
优选地,其特征在于,所述执行NV参数文件恢复流程包括:
检测所述NV参数文件是否存在;
若不存在,则重新生成所述NV参数文件。
本发明同时提出一种NV参数的备份恢复装置,包括初始化单元、开机检测单元、备份单元和恢复单元,其中:
初始化单元,用于在首次开机时执行系统初始化,定义一区别于文件系统的备份分区,并生成NV参数文件;
开机检测单元,用于在开机时执行NV参数文件检测恢复流程;
备份单元,用于在正常工作过程中,检测到所述文件系统发生不可恢复的错误时,启动备份,将所述NV参数文件中的NV参数导入到所述备份分区;
恢复单元,用于在备份结束后,读取所述备份分区的NV参数,恢复生成NV参数文件。
优选地,所述不可恢复的错误为:所述文件系统在读、擦或写过程中出现EFS_FATAL错误。
优选地,所述备份单元还用于:在启动备份时,向所述文件系统TASK发送启动备份的消息,置开始备份标志;备份结束后,置结束备份标志。
优选地,所述备份单元还用于:保存发生所述不可恢复的错误的时间戳和位置信息。
优选地,所述开机检测单元用于:检测所述NV参数文件是否存在,若不存在,则重新生成所述NV参数文件。
本发明所提供的一种NV参数的备份恢复方法,通过定义一备份分区,在正常工作过程中检测到文件系统发生不可恢复的错误时,将NV参数文件中的NV参数导入到备份分区中,备份结束后再读取备份分区中的NV参数恢复生成NV参数文件,使得系统恢复正常工作。因此,本发明NV参数的备份恢复方法,能够应对正常工作过程中文件系统发生的致命错误并及时予以恢复,提升了系统的稳定性和安全性。同时,无需在终端每次开机时都执行备份流程,提高了运行效率。
附图说明
图1是本发明NV参数的备份恢复方法第一实施例的流程图;
图2是本发明NV参数的备份恢复方法第二实施例的流程图;
图3是本发明NV参数的备份恢复装置第一实施例的模块示意图;
图4是本发明NV参数的备份恢复装置第二实施例的模块示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
参见图1,提出本发明NV参数的备份恢复方法第一实施例,所述方法包括以下步骤:
步骤S10:首次开机时执行系统初始化,定义一区别于文件系统的备份分区,并生成NV参数文件
本发明中,当终端首次开机时,则执行系统初始化,在区别于文件系统的存储区域开辟一块非易丢失性备份分区,该备份分区无法被用户或者其他系统任务所访问。同时生成NV参数文件。
步骤S11:开机后开始正常工作
系统初始化后,此后每次开机后则开始正常工作。
步骤S12:检测文件系统是否发生不可恢复的错误
在正常工作过程中,实时或定时的检测文件系统是否发生了不可恢复的错误,即文件系统在读、擦或写过程中是否出现EFS_FATAL错误。当检测到文件系统发生了不可恢复的错误时,则进入步骤S13;否则,继续进行检测。
步骤S13:启动备份,将NV参数文件中的NV参数导入到备份分区
具体的,启动备份时,向文件系统任务(TASK)发送启动备份的消息,置开始备份标志。随后进入备份模式,在备份模式下将NV参数文件中的NV参数拷贝备份分区中,为增加错误信息的回溯机制,备份区还可以同时保存发生不可恢复错误(EFS_FATAL错误)的时间戳与位置信息,以便于统计错误信息及发生EFS_FATAL错误的回溯与分析。
步骤S14:备份结束,读取备份分区的NV参数,恢复生成NV参数文件
备份结束后,置结束备份标志,开始重构文件系统,具体为:读取备份分区的NV参数,恢复生成NV参数文件。
步骤S15:恢复正常工作
重构文件系统结束后,恢复正常工作。
参见图2,提出本发明NV参数的备份恢复方法第二实施例,所述方法包括以下步骤:
步骤S20:首次开机时执行系统初始化,定义一区别于文件系统的备份分区,并生成NV参数文件
步骤S21:开机
本实施例中,系统初始化后,此后每次开机时都首先执行NV参数文件检测恢复流程,以防止NV参数文件意外丢失,具体如步骤S22~S24所示。
步骤S22:检测NV参数文件是否存在
当检测到NV参数文件不存在时,则进入步骤S23;若检测到NV参数文件存在时,则进入步骤S24,开始正常工作。
步骤S23:重新生成NV参数文件
当检测到NV参数文件不存在时,则重新生成NV参数文件,然后进入步骤S24,开始正常工作。
步骤S24:正常工作
步骤S25:检测文件系统是否发生不可恢复的错误
步骤S26:启动备份,将NV参数文件中的NV参数导入到备份分区
步骤S27:备份结束,读取备份分区的NV参数,恢复生成NV参数文件
步骤S28:恢复正常工作
从而,本发明NV参数的备份恢复方法,通过定义一备份分区,在正常工作过程中检测到文件系统发生不可恢复的错误时,将NV参数文件中的NV参数导入到备份分区中,备份结束后再读取备份分区中的NV参数恢复生成NV参数文件,使得系统恢复正常工作。因此,本发明NV参数的备份恢复方法,能够应对正常工作过程中文件系统发生的致命错误并及时予以恢复,提升了系统的稳定性和安全性。同时,无需在终端每次开机时都执行备份流程,提高了运行效率。
参见图3,提出本发明的NV参数的备份恢复装置第一实施例,所述装置包括初始化单元、备份单元和恢复单元。
初始化单元:用于在首次开机时执行系统初始化,定义一区别于文件系统的备份分区,并生成NV参数文件。
具体的,当终端首次开机时,初始化单元则执行系统初始化,在区别于文件系统的存储区域开辟一块非易丢失性备份分区,该备份分区无法被用户或者其他系统任务所访问。同时,初始化单元还生成NV参数文件。
备份单元:用于在正常工作过程中,检测到文件系统发生不可恢复的错误时,启动备份,将NV参数文件中的NV参数导入到备份分区。
具体的,在正常工作过程中,备份单元实时或定时的检测文件系统是否发生了不可恢复的错误,即文件系统在读、擦或写过程中是否出现EFS_FATAL错误。当备份单元检测到文件系统发生了不可恢复的错误时,则启动备份。启动备份时,向文件系统任务(TASK)发送启动备份的消息,置开始备份标志。进入备份模式,备份单元将NV参数文件中的NV参数拷贝到备份分区中,为增加错误信息的回溯机制,备份区还可以同时保存发生不可恢复错误(EFS_FATAL错误)的时间戳与位置信息,以便于统计错误信息及发生EFS_FATAL错误的回溯与分析。
恢复单元:用于在备份结束后,读取备份分区的NV参数,恢复生成NV参数文件。
参见图4,提出本发明NV参数的备份恢复装置第二实施例,本实施例与第一实施例的区别是增加了一开机检测单元,该开机检测单元用于:系统初始化后,此后每次开机时均执行NV参数文件检测恢复流程,以防止NV参数文件意外丢失。具体的,开机检测单元检测NV参数文件是否存在,当检测到NV参数文件不存在时,则重新生成NV参数文件,然后终端开始正常工作;当检测到NV参数文件存在时,则终端直接开始正常工作。
从而,本发明NV参数的备份恢复装置,通过定义一备份分区,在正常工作过程中检测到文件系统发生不可恢复的错误时,将NV参数文件中的NV参数导入到备份分区中,备份结束后再读取备份分区中的NV参数恢复生成NV参数文件,使得系统恢复正常工作。因此,本发明NV参数的备份恢复装置,能够应对正常工作过程中文件系统发生的致命错误并及时予以恢复,提升了系统的稳定性和安全性。同时,无需在终端每次开机时都执行备份流程,提高了运行效率。
需要说明的是:上述实施例提供的NV参数的备份恢复装置在进行NV参数的备份恢复时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成。另外,上述实施例提供的NV参数的备份恢复装置与NV参数的备份恢复方法实施例属于同一构思,其具体实现过程详见方法实施例,且方法实施例中的技术特征在装置实施例中均对应适用,这里不再赘述。
本领域普通技术人员可以理解,实现上述实施例方法中的全部或部分步骤可以通过程序来控制相关的硬件完成,所述的程序可以存储于一计算机可读取存储介质中,所述的存储介质可以是ROM/RAM、磁盘、光盘等。
应当理解的是,以上仅为本发明的优选实施例,不能因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。