CN101201771A - 保证嵌入式系统中数据一致性的方法 - Google Patents

保证嵌入式系统中数据一致性的方法 Download PDF

Info

Publication number
CN101201771A
CN101201771A CNA2006101658095A CN200610165809A CN101201771A CN 101201771 A CN101201771 A CN 101201771A CN A2006101658095 A CNA2006101658095 A CN A2006101658095A CN 200610165809 A CN200610165809 A CN 200610165809A CN 101201771 A CN101201771 A CN 101201771A
Authority
CN
China
Prior art keywords
data
tables
operation flag
finish
embedded system
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.)
Granted
Application number
CNA2006101658095A
Other languages
English (en)
Other versions
CN100530122C (zh
Inventor
李小伟
潘传友
刘建军
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guangdong Huabo Enterprise Management Consulting Co ltd
Electric Power Research Institute of State Grid Xinjiang Electric Power Co Ltd
Original Assignee
ZTE Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by ZTE Corp filed Critical ZTE Corp
Priority to CNB2006101658095A priority Critical patent/CN100530122C/zh
Publication of CN101201771A publication Critical patent/CN101201771A/zh
Application granted granted Critical
Publication of CN100530122C publication Critical patent/CN100530122C/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种保证嵌入式系统中数据一致性的方法,为解决现有嵌入式系统中没有保证数据一致性的机制而发明。该保证嵌入式系统中数据一致性的方法定义一个操作标志表,通过操作标志表中的关键标识来识别各个数据表的不同,通过操作标志表中的操作标志的有效和无效状态来判断数据表是否完全处理完成,在没有完全处理完成的情况下恢复数据表到操作以前的数据,若完全处理完成则使用新的配置设置。本发明保证嵌入式系统中数据一致性的方法主要用在系统资源紧缺的嵌入式系统,特别是通信领域的嵌入式系统。

Description

保证嵌入式系统中数据一致性的方法
技术领域
本发明涉及在嵌入式系统中保证数据一致性的数据保存方法。
背景技术
目前嵌入式系统应用具有非常高的可配置性,能够依据用户的需要灵活地设置系统的运行状态。通常,这些对系统进行配置的数据存储在非易失性的存储芯片中,即要求数据在掉电的情况下仍然能够保存。
一般来说,嵌入式系统中配置数据都是以多个数据表的形式保存,即对于用户的一个配置操作,系统实现过程中会保存多个数据库表。当系统接收到用户配置操作后,会逐项对这些数据表进行保存,在前一数据表保存完毕后才接着处理后一个数据表,直到所有数据表都保存完毕。这些数据表中的数据之间经常不是孤立的,而是存在较强的关联性,这些数据表间可能存在的依赖或者索引等关系。如果在操作数据表的过程中出现系统掉电或者系统异常,则可能导致保存的数据表之间的关联数据不一致,可能导致业务异常或者有些系统配置无法启动,严重的可能导致系统崩溃,因此,保证这些数据库表之间关联数据的一致性成为必要,但目前的嵌入式系统缺少这种保证机制。
发明内容
为克服上述缺陷,本发明的目的在于提供一种在系统掉电或者系统异常的情况下,能够保证嵌入式系统中数据一致性的方法。
为达到上述发明目的,本发明采用如下技术方案:该保证嵌入式系统中数据一致性的方法包括:
(1)定义并初始化数据操作标志表;
(2)利用数据操作标志表的状态进行数据表的操作。
其中,所述的步骤(1)具体为:
(11)定义数据操作标志表中的关键标识和操作标志;
(12)选取待保存的数据表集合;
(13)在操作标志表中为每一项数据表设置一个唯一的关键标识,并将操作标志设为无效状态。
其中,所述的步骤(2)具体为:
(21)保存待保存的数据表;
(22)判断对数据表的保存是否成功,若保存成功,执行步骤(23);若保存失败,执行步骤(24);
(23)进入保存成功后的数据处理;
(24)恢复处理后的数据。
其中,所述的步骤(21)具体为:
(211)获取一项待保存的数据表;
(212)对该数据表对应的上次数据表进行备份,并保存该数据表的当前数据;
(213)修改该数据表的操作标志表中的操作标志为有效。
其中,所述的步骤(23)具体为:判断待保存的数据表是否保存完毕,若没有保存完毕,返回执行步骤(211);若保存完毕,则流程结束。
其中,所述的步骤(24)具体为:
(241)获取保存后的操作标志表中操作标志为有效的一项数据表;
(242)将该操作标志为有效的数据表对应的备份数据恢复为当前数据;
(243)将该操作标志为有效的数据表对应的操作标志表中的操作标志设为无效;
(244)判断保存后的数据表是否恢复完毕,若恢复完毕,则流程结束;若没有恢复完毕,返回执行步骤(241)。
若在步骤(21)中,系统尚未彻底完成数据的处理和保存,系统断电或重启,则进入系统复位流程,具体为:
系统复位后,判断数据表的操作标志表中是否存在操作标志为无效状态的数据表,若不存在操作标志为无效状态的数据表,则流程结束;若存在操作标志为无效状态的数据表,执行如下步骤:
(701)获取保存后的操作标志表中操作标志为有效的一项数据表;
(702)将该操作标志为有效的数据表对应的备份数据恢复为当前数据;
(703)将该操作标志为有效的数据表对应的操作标志表中的操作标志设为无效;
(704)判断保存后的数据表是否恢复完毕,若恢复完毕,则流程结束;若没有恢复完毕,返回执行步骤(701)。
由上述技术方案所描述的保证嵌入式系统中数据一致性的方法,在系统进行配置的时候,只要数据配置发生错误就能够将所有的配置数据还原到上次配置的数据,若没有发生错误,则可以完整地将本次配置的数据保存下来,这样保证了系统的配置数据的一致性,不会同时存在两种不同的配置数据而导致系统无法正常运行。
附图说明
图1为本发明保证嵌入式系统中数据一致性的方法中使用的数据操作标志表;
图2为本发明保证嵌入式系统中数据一致性的方法的多数据表的处理流程;
图3为本发明保证嵌入式系统中数据一致性的方法在系统重启动后的流程。
具体实施方式
下面结合附图对本发明保证嵌入式系统中数据一致性的方法进行详细描述。
在嵌入式系统接收到用户配置操作后,会逐项对这些数据表进行保存,在前一数据表保存完毕后才接着处理后一个数据表,直到所有数据表都保存完毕。但有的时候可能会出现保存了一部分数据后就死机或断电,系统重启动后所获得的数据就是一部分是配置以前的数据,一部分是配置以后的数据,无法保证数据表的一致性,这种错误导致的后果可大可小,可能导致业务异常或者有些系统配置无法启动,严重的可能导致系统崩溃。
本发明保证嵌入式系统中数据一致性的方法在对多个数据表的处理过程中,能够保证操作前后的数据满足一致性需求,该方法对数据的处理要么全部处理成功,要么全部都不处理,这样虽然不能保证数据一定处理成功,但至少保证了数据的一致性,并且在任意数据表异常或者系统掉电的情况下,能够恢复到操作前的状态,很好的保证多数据表之间的数据一致性。这样就能够确保系统的正常运行,没有保存下来的配置可以重启动以后再进行设置。
本发明实现上述数据处理的技术方案包括以下步骤:
第一步:定义数据操作标志表,数据操作标志表包括所有数据表的操作标志,每张数据表的操作标志表含有两个部分:关键标识和操作标志(如图1所示),关键标识是识别不同的数据表,操作标志的用途是记录数据表的处理状态。
第二步:初始化数据操作标志表,在数据操作标志表中必须为操作中涉及的每一项数据表分配一个唯一的关键标识,保证每一数据表的关键标识在此数据操作标志表中的唯一性,并且将每个数据表在数据操作表中的操作标志初始化为无效状态。将上述初始化的结果保存到数据操作标志表文件。
第三步:当需要保存多个数据表的数据时,按照如下方式对每个数据表进行处理。
1)首先将当前需要处理的数据表的上次数据进行备份,然后保存本次的数据。
2)如果当前数据表保存成功,则依据当前数据表的关键标识在数据操作标志表中查找其对应的操作标志,找到操作标志后将该数据表的操作标志状态字段修改为有效,并保存数据操作标志表。
3)如果由于某种原因导致当前数据表的操作失败,包括数据配置过程中出错或数据配置无效等,则在数据操作标志表中查找操作标志状态字段为有效的所有数据表,从备份数据中将该部分数据表的恢复,直到全部数据都从备份数据中恢复,恢复成功的同时,修改数据操作标志表的对应操作标志状态字段为无效,并保存数据操作标志表。
第四步:系统重新运行时,检查数据表的操作标志表中的每一项数据的操作标志状态字段是否都为有效,如果存在数据表的操作标志字段有无效的情况,则需要将数据操作标志状态字段中的所有操作标志状态为有效的数据表恢复为备份数据。
本发明保证嵌入式系统中数据一致性的方法较好地解决了资源相对紧张的嵌入式应用在系统掉电或者系统异常的情况下,若数据表全部处理成功则不用恢复到处理前的数据,而在数据表没有全部处理成功地情况下,将已经处理并成功保存的数据恢复到数据操作前的状态,保证了多数据表之间数据的一致性。在系统重新启动以后还能够快速地恢复系统到能够运行的配置状态,防止系统无法启动。
本发明在现行的光通讯系统中会有较好的应用,传输设备时隙配置成功后保存时隙数据时可以采用本发明所述的方法。需要保存的时隙数据涉及多个文件,多个文件的保存要么全部成功,要么都不成功,才能保证时隙数据的一致,如图2所示,实现的具体步骤如下:
201、准备需要配置的时隙数据表的集合,以A表示,定义包含数据关键标识字段和数据操作标志字段的数据操作标志表,依照时隙数据表的个数申请数据操作标志表的数组;
202、将步骤201中申请的数据操作标志表的数组初始化,每一项时隙数据分配一个唯一的关键标识填入数据中的关键标识字段,并将该项数据的操作标志字段初始化为无效字段,将初始化完成的数据操作标志表保存到文件中。该无效字段可以使用二进制的0/1表示,若用0表示无效,则用1表示有效;若用0表示有效,则用1表示无效。
203、判断集合A中是否还有数据表需要处理,若集合A中还有数据表需要处理,执行步骤204;若集合A中没有数据表需要处理,执行步骤212;
204、取得当前需要保存的时隙数据表;
205、将该时隙数据表对应的上次时隙数据拷贝到备份文件中;
206、将当前需要处理的时隙数据表处理完成后写入对应的时隙文件中;
207、判断时隙数据表是否保存成功,如果数据表保存成功,执行步骤208;若数据表没有保存成功,执行步骤209;
208、修改数据操作标志表中对应时隙数据的操作标志为有效,并将数据操作标志表保存到文件,返回执行步骤203;
209、取得当前数据操作标志表中操作标志为有效数据表集合,以B表示;
210、判断集合B中是否还有数据表需要处理,若集合B中还有数据表需要处理,执行步骤211;若集合B中没有数据表需要处理,执行步骤212;
211、取下一项需要处理的数据表,从备份文件将该项数据表的恢复,将数据操作标志表对应数据的操作标志修改为无效,并将该数据操作标志表保存,返回执行步骤210;
212、本次系统配置的流程结束。
上述步骤为,本方法能够正常运行完全的步骤,若是系统尚未彻底完成数据的处理和保存,系统就断电或重启,也就是时隙配置过程中,系统断电或重启,则需要将系统进行复位操作。该复位操作的流程如图3所示,具体步骤如下:
301、系统重新启动,装载系统配置;
302、在操作标志表中查找操作标志状态字段为无效的数据表,并将与该数据表有关联的数据表列成一个集合,以C表示;
303、判断集合C中是否有数据,若集合C中有数据,执行步骤304;若集合C中没有数据,执行步骤307;
304、在操作标志表中查找操作标志为有效的数据表集合,以D表示;
305、判断集合D中是否还有数据需要处理,若集合D中还有数据需要处理,执行步骤306;若集合D中没有数据需要处理,执行步骤307;
306、取下一项需要处理的数据表,从备份文件将该项数据表的恢复,将数据操作标志表对应数据的操作标志修改为无效,并将该数据操作标志表保存,返回执行步骤305;
307、流程结束,系统进入正常运行状态。
当然,上述操作也可以变为另一种方式:系统复位后,根据数据表的操作标志表判断是否存在操作标志为无效状态的数据表:
若不存在,则流程结束;若存在,执行如下步骤:
(701)获取保存后的操作标志表中操作标志为有效的一项数据表;
(702)将该操作标志为有效的数据表对应的备份数据恢复为当前数据;
(703)将该操作标志为有效的数据表对应的操作标志表中的操作标志设为无效;
(704)判断保存后的数据表是否恢复完毕,若恢复完毕,则流程结束;若没有恢复完毕,返回执行步骤(701)。
系统复位后的流程无论采用哪种实施方式,都可以达到在系统无法正常保存好数据时,将部分修改后的数据表中的数据恢复到修改前的状态,保证所用数据的一致性,使得系统不会由于系统配置数据的不一致而无法正常运行。
以上所述仅是本发明的优选实施方式,应当指出,该具体实施方式能够对时隙配置过程中发生的一系列系统错误进行纠正,甚至对系统以为断电而引起的配置故障也能还原,保证系统的时隙配置数据表的一致性。对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进,这些改进应视为本发明的保护范围。

Claims (7)

1.一种保证嵌入式系统中数据一致性的方法,其特征在于包括:
(1)定义并初始化数据操作标志表;
(2)利用数据操作标志表的状态进行数据表的操作。
2.按照权利要求1所述的保证嵌入式系统中数据一致性的方法,其特征在于:所述的步骤(1)具体为:
(11)定义数据操作标志表中的关键标识和操作标志;
(12)选取待保存的数据表集合;
(13)在操作标志表中为每一项数据表设置一个唯一的关键标识,并将操作标志设为无效状态。
3.按照权利要求2所述的保证嵌入式系统中数据一致性的方法,其特征在于:所述的步骤(2)具体为:
(21)保存待保存的数据表;
(22)判断对数据表的保存是否成功,若保存成功,执行步骤(23);若保存失败,执行步骤(24);
(23)进入保存成功后的数据处理;
(24)恢复处理后的数据。
4.按照权利要求3所述的保证嵌入式系统中数据一致性的方法,其特征在于:所述的步骤(21)具体为:
(211)获取一项待保存的数据表;
(212)对该数据表对应的上次数据表进行备份,并保存该数据表的当前数据;
(213)修改该数据表的操作标志表中的操作标志为有效。
5.按照权利要求4所述的保证嵌入式系统中数据一致性的方法,其特征在于:所述的步骤(23)具体为:判断待保存的数据表是否保存完毕,若没有保存完毕,返回执行步骤(211);若保存完毕,则流程结束。
6.按照权利要求5所述的保证嵌入式系统中数据一致性的方法,其特征在于:所述的步骤(24)具体为:
(241)获取保存后的操作标志表中操作标志为有效的一项数据表;
(242)将该操作标志为有效的数据表对应的备份数据恢复为当前数据;
(243)将该操作标志为有效的数据表对应的操作标志表中的操作标志设为无效;
(244)判断保存后的数据表是否恢复完毕,若恢复完毕,则流程结束;若没有恢复完毕,返回执行步骤(241)。
7.按照权利要求3所述的保证嵌入式系统中数据一致性的方法,其特征在于:若系统尚未彻底完成数据的处理和保存,系统断电或重启,则进入系统复位流程,具体为:
系统复位后,判断数据表的操作标志表中是否存在操作标志为无效状态的数据表,若不存在操作标志为无效状态的数据表,则流程结束;若存在操作标志为无效状态的数据表,执行如下步骤:
(701)获取保存后的操作标志表中操作标志为有效的一项数据表;
(702)将该操作标志为有效的数据表对应的备份数据恢复为当前数据;
(703)将该操作标志为有效的数据表对应的操作标志表中的操作标志设为无效;
(704)判断保存后的数据表是否恢复完毕,若恢复完毕,则流程结束;若没有恢复完毕,返回执行步骤(701)。
CNB2006101658095A 2006-12-12 2006-12-12 保证嵌入式系统中数据一致性的方法 Active CN100530122C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNB2006101658095A CN100530122C (zh) 2006-12-12 2006-12-12 保证嵌入式系统中数据一致性的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB2006101658095A CN100530122C (zh) 2006-12-12 2006-12-12 保证嵌入式系统中数据一致性的方法

Publications (2)

Publication Number Publication Date
CN101201771A true CN101201771A (zh) 2008-06-18
CN100530122C CN100530122C (zh) 2009-08-19

Family

ID=39516946

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2006101658095A Active CN100530122C (zh) 2006-12-12 2006-12-12 保证嵌入式系统中数据一致性的方法

Country Status (1)

Country Link
CN (1) CN100530122C (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104662914A (zh) * 2012-09-24 2015-05-27 高通股份有限公司 视频译码中的位流一致性测试
CN109960472A (zh) * 2019-04-01 2019-07-02 浙江中控技术股份有限公司 基于Flash的嵌入式文件系统及文件系统操作方法

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104662914A (zh) * 2012-09-24 2015-05-27 高通股份有限公司 视频译码中的位流一致性测试
CN104662914B (zh) * 2012-09-24 2018-04-20 高通股份有限公司 视频译码中的位流一致性测试方法及装置
US10021394B2 (en) 2012-09-24 2018-07-10 Qualcomm Incorporated Hypothetical reference decoder parameters in video coding
CN109960472A (zh) * 2019-04-01 2019-07-02 浙江中控技术股份有限公司 基于Flash的嵌入式文件系统及文件系统操作方法
CN109960472B (zh) * 2019-04-01 2022-04-19 浙江中控技术股份有限公司 基于Flash的嵌入式文件系统及文件系统操作方法

Also Published As

Publication number Publication date
CN100530122C (zh) 2009-08-19

Similar Documents

Publication Publication Date Title
US7043504B1 (en) System and method for parallel primary and secondary backup reading in recovery of multiple shared database data sets
US6594676B1 (en) System and method for recovery of multiple shared database data sets using multiple change accumulation data sets as inputs
CN107545015B (zh) 一种查询故障的处理方法及处理装置
CN103345470B (zh) 一种数据库容灾方法、系统及服务器
CN1277214C (zh) 一种嵌入式系统升级的方法
WO2020107829A1 (zh) 故障处理方法、装置、分布式存储系统和存储介质
CN102360410B (zh) 一种文件系统的用户操作发现方法和装置
CN105893171B (zh) 存储设备中用于故障恢复的方法和装置
CN104572352B (zh) 一种pos终端关键数据备份恢复方法
CN102819469A (zh) 操作系统恢复方法及系统
CN101499909B (zh) 单板启动系统和方法
CN102163167A (zh) 系统拯救的方法及装置
US6526417B1 (en) System and method for change accumulation unmerged update reduction
EP3026574B1 (en) Affair processing method and device
CN100561948C (zh) 混插情形下使用配置文件进行设备配置恢复的方法
CN106469069A (zh) 一种版本升级方法及系统
CN103049343B (zh) 操作系统蓝屏恢复方法及装置
CN101751478A (zh) 一种文件备份方法及系统
CN100530122C (zh) 保证嵌入式系统中数据一致性的方法
CN111104173A (zh) 一种引导程序的保护设计方法
CN109324549B (zh) 一种双主控设备配置方法及双主控设备
CN105426544A (zh) 监控数据库状态的方法及装置
CN113064755B (zh) 数据恢复方法、装置、设备、介质及程序产品
CN104268032A (zh) 一种多控制器的快照处理方法及装置
CN105703941A (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
C14 Grant of patent or utility model
GR01 Patent grant
ASS Succession or assignment of patent right

Owner name: GUANGDONG HUABO ENTERPRISE MANAGEMENT CONSULTING C

Free format text: FORMER OWNER: ZTE CORPORATION

Effective date: 20141127

Owner name: ELECTRIC POWER RESEARCH INSTITUTE, STATE GRID XINJ

Free format text: FORMER OWNER: GUANGDONG HUABO ENTERPRISE MANAGEMENT CONSULTING CO., LTD.

Effective date: 20141127

C41 Transfer of patent application or patent right or utility model
COR Change of bibliographic data

Free format text: CORRECT: ADDRESS; FROM: 518057 SHENZHEN, GUANGDONG PROVINCE TO: 510640 GUANGZHOU, GUANGDONG PROVINCE

Free format text: CORRECT: ADDRESS; FROM: 510640 GUANGZHOU, GUANGDONG PROVINCE TO: 830011 URUMQI, XINJIANG UYGUR AUTONOMOUS REGION

TR01 Transfer of patent right

Effective date of registration: 20141127

Address after: 830011, 66, lane two, Changchun Middle Road, the Xinjiang Uygur Autonomous Region hi tech Industrial Development Zone (new urban area), Urumqi

Patentee after: ELECTRIC POWER SCIENCES RESEARCH INSTITUTE OF STATE GRID XINJIANG ELECTRIC POWER Co.

Address before: 510640 Guangdong city of Guangzhou province Tianhe District gold Yinglu No. 1 was 1106 room two

Patentee before: GUANGDONG HUABO ENTERPRISE MANAGEMENT CONSULTING Co.,Ltd.

Effective date of registration: 20141127

Address after: 510640 Guangdong city of Guangzhou province Tianhe District gold Yinglu No. 1 was 1106 room two

Patentee after: GUANGDONG HUABO ENTERPRISE MANAGEMENT CONSULTING Co.,Ltd.

Address before: 518057, Guangdong Shenzhen hi tech Industrial Park Nanshan District science and technology south road ZTE building 6 floor of the Ministry of law

Patentee before: ZTE Corp.