CN104407888B - 一种嵌入式设备启动方法及系统 - Google Patents
一种嵌入式设备启动方法及系统 Download PDFInfo
- Publication number
- CN104407888B CN104407888B CN201410635730.9A CN201410635730A CN104407888B CN 104407888 B CN104407888 B CN 104407888B CN 201410635730 A CN201410635730 A CN 201410635730A CN 104407888 B CN104407888 B CN 104407888B
- Authority
- CN
- China
- Prior art keywords
- configuration file
- backup
- embedded device
- starting
- module
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种嵌入式设备启动方法及系统,其中所述方法包括:存储步骤,预先存储配置文件及配置文件备份;启动步骤,读取所述配置文件,对所述配置文件的内容进行校验,如果校验通过,则正常启动,否则执行备份启动步骤;备份启动步骤,读取配置文件备份,对所述配置文件备份的内容进行校验,如果校验通过,则正常启动,否则执行默认启动步骤;默认启动步骤,按照默认配置文件启动;同步步骤,启动后分别将所述配置文件和配置文件备份与预先存储的数据内容完好的配置文件进行同步。本发明的一种嵌入式设备启动方法解决了现有技术嵌入式设备启动过程中经常因配置文件出错而导致启动失败或者启动不正常的技术问题。
Description
技术领域
本发明涉及嵌入式设备技术领域,具体涉及一种嵌入式设备启动方法及系统。
背景技术
随着计算机网络技术和摄像机技术的迅速发展,网络摄像机广泛应用到多个领域,如教育、商业、医疗、公共事业等,同时,对网络摄像机的可靠性要求也越来越高。网络摄像机一般都为嵌入式设备,其通常内置一个嵌入式芯片,采用实时操作系统,内有用于存储用户数据的flash存储器。设备的部分特性可以由用户进行配置,这些配置一般采用配置文件方式保存flash存储器中,设备启动时从flash存储器中读取配置文件,根据这些配置进行启动。配置文件不正确时将无法启动或者导致启动不正常,其原因主要是配置文件遭受破坏,但是嵌入式设备在启动时无法知晓,并按照破坏的配置文件进行启动,从而导致一系列错误的发生。
申请日为2008年1月25日,公开号为CN101222527A的中国发明专利说明书,公开了一种保护终端关键配置的方法,包括将终端的关键配置、普通配置保存为常用配置文件的步骤;当终端修改关键配置时,获取常用配置文件中预先设定的关键配置,对预先设定的关键配置进行备份,生成关键配置的备份文件的步骤;以及当终端恢复出厂值或解析常用配置文件出错时,获取关键配置的备份文件,并用关键配置的备份文件覆盖常用配置文件的步骤。从而使得在终端用户恢复出厂设置之后或当常用配置文件损坏的情况下,终端用户仍然可以继续正常的使用终端。
但是,上述保护终端关键配置的方法只能使关键配置文件出错时,终端能够正常启动,如果普通配置文件出错,则不能使终端完全正常启动。
发明内容
为此,本发明要解决的技术问题在于现有技术的嵌入式设备启动过程中经常因配置文件出错而导致启动失败或者启动不正常,从而提出一种嵌入式设备启动方法及系统来解决该问题。
为解决上述技术问题,本发明采用以下技术方案:
一种嵌入式设备启动方法,包括:存储步骤,预先存储配置文件及配置文件备份;启动步骤,读取所述配置文件,对所述配置文件的内容进行校验,如果校验通过,则正常启动,否则执行备份启动步骤;备份启动步骤,读取配置文件备份,对所述配置文件备份的内容进行校验,如果校验通过,则正常启动,否则执行默认启动步骤;默认启动步骤,按照默认配置文件启动;同步步骤,启动后分别将所述配置文件和配置文件备份与预先存储的数据内容完好的配置文件进行同步。
优选地,所述校验都为循环冗余校验码(CRC)校验。
优选地,所述配置文件和配置文件备份采用java script对象标识(JSON)数据格式存储。
优选地,在所述默认启动步骤之前包括以下步骤:临时生成默认配置文件。
优选地,在所述默认启动步骤之前包括以下步骤:读取外部存储设备中的默认配置文件。
基于相同的发明构思,本发明还提供一种嵌入式设备启动系统,包括:存储模块,用于预先存储配置文件及配置文件备份;启动模块,用于读取所述配置文件,对所述配置文件的内容进行校验,如果校验通过,则正常启动,否则执行备份启动模块;备份启动模块,用于读取配置文件备份,对所述配置文件备份的内容进行校验,如果校验通过,则正常启动,否则执行默认启动模块;默认启动模块,用于按照默认配置文件启动;同步模块,用于启动后分别将所述配置文件和配置文件备份与预先存储的数据内容完好的配置文件进行同步。
优选地,所述校验都为循环冗余校验码(CRC)校验。
优选地,所述配置文件和配置文件备份采用java script对象标识(JSON)数据格式存储。
优选地,所述系统还包括:生成模块,用于临时生成默认配置文件。
优选地,所述系统还包括:读取模块,用于读取外部存储设备中的默认配置文件。
本发明的嵌入式设备启动方法及系统的有益效果为:
本发明的嵌入式设备启动方法及系统,由于其中所述方法包括:存储步骤,预先存储配置文件及配置文件备份;启动步骤,读取所述配置文件,对所述配置文件的内容进行校验,如果校验通过,则正常启动,否则执行备份启动步骤;备份启动步骤,读取配置文件备份,对所述配置文件备份的内容进行校验,如果校验通过,则正常启动,否则执行默认启动步骤;默认启动步骤,按照默认配置文件启动;同步步骤,启动后分别将所述配置文件和配置文件备份与预先存储的数据内容完好的配置文件进行同步。这样可以避免嵌入式设备启动过程中因为配置文件出错或者遭受破坏而导致的启动失败、启动不正常等现象,有效提高嵌入式设备启动过程的稳定性。
附图说明
为了使本发明的内容更容易被清楚的理解,下面根据本发明的具体实施例并结合附图,对本发明作进一步详细的说明,其中
图1是本发明实施例1的一种嵌入式设备启动方法的流程图;
图2是本发明实施例2的一种嵌入式设备启动系统的结构示意图。
具体实施方式
实施例1
图1示出了本发明实施例的一种嵌入式设备启动方法,所述方法包括:
存储步骤S101,预先存储配置文件及配置文件备份。具体地,是将配置文件及其所述配置文件的备份预先存储到flash存储器中。
启动步骤S102,读取所述配置文件,对所述配置文件的内容进行校验,如果校验通过,则正常启动,否则执行备份启动步骤S103。具体地,从flash存储器重读取预先存储的配置文件,并对所述配置文件的内容进行CRC(Cyclic Redundancy Check,即循环冗余校验码,简称CRC)校验。如果CRC校验通过,则按照所述配置文件正常启动所述嵌入式设备,并且将所述配置文件与数据内容保存完好的配置文件进行同步,否则执行备份启动步骤S103。
备份启动步骤S103,读取配置文件备份,对所述配置文件备份的内容进行校验,如果校验通过,则正常启动,否则执行默认启动步骤S104。具体地,从flash存储器重读取预先存储的配置文件备份,并对所述配置文件备份的内容进行CRC(Cyclic Redundancy Check,即循环冗余校验码,简称CRC)校验。如果CRC校验通过,则按照所述配置文件备份正常启动所述嵌入式设备,并且将所述配置文件备份与数据内容保存完好的配置文件进行同步,否则执行备份启动步骤S104。
默认启动步骤S104,按照默认配置文件启动。默认配置是所述嵌入式设备出厂时配置的普适于各种应用环境的最佳配置。所述默认配置文件就是保存所述最佳配置的内容的配置文件。所述默认配置文件可以是临时生成默认配置文件,也可以是从外部存储设备中读取的默认配置文件。因此,优选地,在所述默认启动步骤之前还包括临时生成默认配置文件的步骤,或者读取外部存储设备中的默认配置文件的步骤。临时生成默认配置文件通过本领域常规技术手段实现,即当设备启动时,首先读取EEPROM(Electrically ErasableProgrammable Read-Only Memory,即带电可擦可编程只读存储器,简称EEPROM)中的信息,根据所述EEPROM中的信息找到所述设备的类型,根据所述设备的类型创建默认配置文件,默认配置文件的内容固化在可执行程序中,其内容是厂家默认的可适合多场景下应用的最佳参数。
同步步骤S105,启动后分别将所述配置文件和配置文件备份与预先存储的数据内容完好的配置文件进行同步。即当在启动步骤S102或者备份启动步骤S103中,所述嵌入式设备按照所述配置文件或者所述配置文件备份正常启动后,或者在默认启动步骤S104中,按照默认配置文件启动后,分别将所述配置文件和配置文件备份与数据内容保存完好的配置文件进行同步。
通过上述步骤,可以避免嵌入式设备启动过程中因为配置文件出错或者遭受破坏而导致的启动失败、启动不正常等现象,有效提高嵌入式设备启动过程的稳定性。
优选地,在存储步骤S101中,所述配置文件和配置文件备份采用java script对象标识(JSON)数据格式存储。采用常规的配置文件的数据存储格式,由于将配置文件内容读入内存后,其数据是分散管理的,进行CRC校验非常不方便;而采用JSON数据格式对所述配置文件和配置文件备份进行存储,配置文件或者配置文件备份实际上只有一个节点数据,进行CRC校验非常方便,并且校验速度非常快。本实施例中采用CRC校验约70k比特的数据,耗时只需10ms左右。这样可以有效降低嵌入式设备启动的时间。
实施例2
图2示出了本发明实施例的一种嵌入式设备启动系统,所述系统包括存储模块201、启动模块202、备份启动模块203、默认启动模块204、同步模块205。
存储模块201用于预先存储配置文件及配置文件备份。具体地,是将配置文件及其所述配置文件的备份预先存储到flash存储器中。
启动模块202用于读取所述配置文件,对所述配置文件的内容进行校验,如果校验通过,则正常启动,否则执行备份启动模块203。具体地,从flash存储器重读取预先存储的配置文件,并对所述配置文件的内容进行CRC(Cyclic Redundancy Check,即循环冗余校验码,简称CRC)校验。如果CRC校验通过,则按照所述配置文件正常启动所述嵌入式设备,并且将所述配置文件与数据内容保存完好的配置文件进行同步,否则执行备份启动模块203。
备份启动模块203用于读取配置文件备份,对所述配置文件备份的内容进行校验,如果校验通过,则正常启动,否则执行默认启动模块204。具体地,从flash存储器重读取预先存储的配置文件备份,并对所述配置文件备份的内容进行CRC(Cyclic RedundancyCheck,即循环冗余校验码,简称CRC)校验。如果CRC校验通过,则按照所述配置文件备份正常启动所述嵌入式设备,并且将所述配置文件备份与数据内容保存完好的配置文件进行同步,否则执行默认启动模块204。
默认启动模块204用于按照默认配置文件启动。所述默认配置文件可以是临时生成默认配置文件,也可以是从外部存储设备中读取的默认配置文件。因此,优选地,所述系统还包括生成模块或者读取模块,所述生成模块用于临时生成默认配置文件,所述读取模块用于读取外部存储设备中的默认配置文件。
同步模块205用于启动后分别将所述配置文件和配置文件备份与预先存储的数据内容完好的配置文件进行同步。即执行启动模块202或者备份启动模块203时,所述嵌入式设备按照所述配置文件或者所述配置文件备份正常启动后,或者执行默认启动模块204,按照默认配置文件启动后,分别将所述配置文件和配置文件备份与数据内容保存完好的配置文件进行同步。
通过上述模块,可以避免嵌入式设备启动过程中因为配置文件出错或者遭受破坏而导致的启动失败、启动不正常等现象,有效提高嵌入式设备启动过程的稳定性。
优选地,在存储模块201中,所述配置文件和配置文件备份采用java script对象标识(JSON)数据格式存储。采用常规的配置文件的数据存储格式,由于将配置文件内容读入内存后,其数据是分散管理的,进行CRC校验非常不方便;而采用JSON数据格式对所述配置文件和配置文件备份进行存储,配置文件或者配置文件备份实际上只有一个节点数据,进行CRC校验非常方便,并且校验速度非常快。本实施例中采用CRC校验约70k比特的数据,耗时只需10ms左右。这样可以有效降低嵌入式设备启动的时间。
显然,上述实施例仅仅是为清楚地说明所作的举例,而并非对实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。而由此所引伸出的显而易见的变化或变动仍处于本发明创造的保护范围之中。
Claims (10)
1.一种嵌入式设备启动方法,其特征在于,包括:
存储步骤,预先存储配置文件及配置文件备份;
启动步骤,读取所述配置文件,对所述配置文件的内容进行校验,如果校验通过,则按照所述配置文件正常启动,否则执行备份启动步骤;
备份启动步骤,读取配置文件备份,对所述配置文件备份的内容进行校验,如果校验通过,则按照所述配置文件备份正常启动,否则执行默认启动步骤;
默认启动步骤,按照默认配置文件启动;
同步步骤,在所述启动步骤、备份启动步骤或者默认启动步骤后分别将所述配置文件和配置文件备份与预先存储的数据内容完好的配置文件进行同步。
2.根据权利要求1所述的嵌入式设备启动方法,其特征在于,所述校验都为循环冗余校验码(CRC)校验。
3.根据权利要求1或2所述的嵌入式设备启动方法,其特征在于,所述配置文件和配置文件备份采用java script对象标识(JSON)数据格式存储。
4.根据权利要求1或2所述的嵌入式设备启动方法,其特征在于,在所述默认启动步骤之前包括以下步骤:
临时生成默认配置文件。
5.根据权利要求1或2所述的嵌入式设备启动方法,其特征在于,在所述默认启动步骤之前包括以下步骤:
读取外部存储设备中的默认配置文件。
6.一种嵌入式设备启动系统,其特征在于,包括:
存储模块,用于预先存储配置文件及配置文件备份;
启动模块,用于读取所述配置文件,对所述配置文件的内容进行校验,如果校验通过,则按照所述配置文件正常启动所述嵌入式设备,否则执行备份启动模块;
备份启动模块,用于读取配置文件备份,对所述配置文件备份的内容进行校验,如果校验通过,则按照所述配置文件备份正常启动所述嵌入式设备,否则执行默认启动模块;
默认启动模块,用于按照默认配置文件启动;
同步模块,用于在所述启动模块、备份启动模块或者默认启动模块执行启动操作之后,分别将所述配置文件和配置文件备份与预先存储的数据内容完好的配置文件进行同步。
7.根据权利要求6所述的一种嵌入式设备启动系统,其特征在于,所述校验都为循环冗余校验码(CRC)校验。
8.根据权利要求6或7所述的一种嵌入式设备启动系统,其特征在于,所述配置文件和配置文件备份采用java script对象标识(JSON)数据格式存储。
9.根据权利要求6或7所述的一种嵌入式设备启动系统,其特征在于,所述系统还包括:
生成模块,用于临时生成默认配置文件。
10.根据权利要求6或7所述的一种嵌入式设备启动系统,其特征在于,所述系统还包括:
读取模块,用于读取外部存储设备中的默认配置文件。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410635730.9A CN104407888B (zh) | 2014-11-12 | 2014-11-12 | 一种嵌入式设备启动方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410635730.9A CN104407888B (zh) | 2014-11-12 | 2014-11-12 | 一种嵌入式设备启动方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104407888A CN104407888A (zh) | 2015-03-11 |
CN104407888B true CN104407888B (zh) | 2017-12-15 |
Family
ID=52645521
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410635730.9A Active CN104407888B (zh) | 2014-11-12 | 2014-11-12 | 一种嵌入式设备启动方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104407888B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105429788A (zh) * | 2015-11-03 | 2016-03-23 | 上海斐讯数据通信技术有限公司 | 一种配置加载方法、系统、及一种路由器 |
CN105955840A (zh) * | 2016-01-27 | 2016-09-21 | 上海华测导航技术股份有限公司 | 一种接收配置文件管理方法 |
CN105740022A (zh) * | 2016-02-02 | 2016-07-06 | 惠州Tcl移动通信有限公司 | 一种移动终端modem软件动态适配的方法及系统 |
WO2018120100A1 (zh) * | 2016-12-30 | 2018-07-05 | 深圳配天智能技术研究院有限公司 | 一种掉电保护方法、装置及计算机 |
CN106919424A (zh) * | 2017-02-27 | 2017-07-04 | 烽火通信科技股份有限公司 | 一种pon网络的onu中配置文件管理系统及管理方法 |
CN109683980B (zh) * | 2018-11-28 | 2021-11-19 | 卡斯柯信号有限公司 | 实现轨旁安全平台u盘配置文件可靠装载的方法 |
CN111552592A (zh) * | 2020-04-24 | 2020-08-18 | 青岛矽昌通信技术有限公司 | 一种双备份启动方法及系统 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102314354A (zh) * | 2010-06-30 | 2012-01-11 | 无锡中星微电子有限公司 | 一种嵌入式系统启动方法及嵌入式装置 |
-
2014
- 2014-11-12 CN CN201410635730.9A patent/CN104407888B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102314354A (zh) * | 2010-06-30 | 2012-01-11 | 无锡中星微电子有限公司 | 一种嵌入式系统启动方法及嵌入式装置 |
Also Published As
Publication number | Publication date |
---|---|
CN104407888A (zh) | 2015-03-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104407888B (zh) | 一种嵌入式设备启动方法及系统 | |
EP1738256B1 (en) | Method and apparatus for reliably updating a stored version of content | |
CN104834542B (zh) | 一种基于嵌入式Linux设备双系统的启动方法 | |
CN104216800A (zh) | 一种基于数据冗余的系统故障自动恢复方法及装置 | |
CN106897166B (zh) | 一种移动终端及其修复方法 | |
CN106775610A (zh) | 一种电子设备启动方法及一种电子设备 | |
CN104427119A (zh) | 通信终端及其非易失性数据的处理方法 | |
CN108509215A (zh) | 一种系统软件的更换方法、装置、终端设备及存储介质 | |
CN108322540A (zh) | 客制化数据导入方法、终端及计算机可读存储介质 | |
CN107315659A (zh) | 一种元数据的冗余备份方法及装置 | |
CN105550071B (zh) | 系统文件升级及检测方法、通信设备 | |
CN114138549A (zh) | 基于kubernetes系统的数据备份和恢复方法 | |
CN104298933A (zh) | 一种配置信息安全处理方法及系统 | |
WO2015117356A1 (zh) | 一种开机方法及通信终端 | |
CN107239358A (zh) | 安卓系统的启动方法、移动终端及具有存储功能的装置 | |
CN108572888A (zh) | 磁盘快照创建方法和磁盘快照创建装置 | |
CN104796967B (zh) | 无线网络数据还原方法及装置 | |
CN107995033B (zh) | 一种onu配置文件升级方法及装置 | |
CN104184614B (zh) | 一种配置回滚方法及装置 | |
CN104427120A (zh) | 通信终端及其非易失性数据的处理方法 | |
CN106301967B (zh) | 一种数据同步方法及带外管理设备 | |
CN111290859B (zh) | 一种双系统终端初始化属性同步的方法和终端 | |
CN108418720A (zh) | 一种路由设备配置信息的恢复方法、装置以及路由设备 | |
CN116244111A (zh) | 数据恢复方法、存储方法、医疗设备、装置及电子设备 | |
CN111124763B (zh) | 一种通讯设备启动配置数据备份同步方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |