CN104717558A - 一种机顶盒数据的备份及还原方法 - Google Patents
一种机顶盒数据的备份及还原方法 Download PDFInfo
- Publication number
- CN104717558A CN104717558A CN201510097859.3A CN201510097859A CN104717558A CN 104717558 A CN104717558 A CN 104717558A CN 201510097859 A CN201510097859 A CN 201510097859A CN 104717558 A CN104717558 A CN 104717558A
- Authority
- CN
- China
- Prior art keywords
- data
- value
- subregion
- taga
- tagb
- 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.)
- Pending
Links
Landscapes
- Techniques For Improving Reliability Of Storages (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供一种机顶盒数据的备份及还原方法,在闪存flash中多开一个与需要备份数据所需最大分区同等大小的分区,数据的备份方法为:当需要备份的数据写入时,在这两个分区中分别交替存储,且每次将数据写入其中一个分区的同时,将该写入分区的最后一个字节的标志位设置为另一分区最后一个字节的标志位加1;数据的还原方法为:通过判断所述两个分区中的最后一个字节的标志位进行数据还原。本发明将两个分区的标志位及标志位的递增规则运用于数据备份的处理过程,并在数据还原时,仅需通过判断标志位的值即可得到上一次保存的数据,避免了数据的大量丢失,该方法简单有效、读写数据速度快。
Description
【技术领域】
本发明涉及一种机顶盒数据的备份及还原方法。
【背景技术】
在现阶段,机顶盒等一些终端设备存储介质是闪存flash且其主芯片不支持linux或unix或android等操作***,所以现有机顶盒就没有文件***,也就不能通过文件名来进行增删改查等操作,因此,在机顶盒中存储数据都是用的二进制的bin数据直接存储在闪存flash中,首先先在闪存flash中分配好每个块block给哪些数据用来存储,然后再通过这个block地址进行数据的增删改查等操作。对于一些常变的数据或者是一些重要的敏感的数据的存储,就要考虑可能出现数据丢失的情况,特别是在当数据正在写入闪存flash,突然断电的情况下。因此,对于需要备份的数据就必须在写入数据的时候进行备份,在数据丢失的时候能够实现数据还原。关于在闪存flash中数据存储备份的方法就是数据块存储交替进行,其具体实现方式有多种,但都存在算法复杂,数据读写操作慢等问题。
【发明内容】
本发明要解决的技术问题,在于提供一种机顶盒数据的备份及还原方法,其通过简单有效的方法避免数据的大量丢失,特别是一些重要的敏感数据,且运行速度快,读写数据速度快,简单明了,易于实现。
本发明是这样实现的:
一种机顶盒数据的备份及还原方法,在闪存flash中多开一个与需要备份数据所需最大分区同等大小的分区,数据的备份方法为:当需要备份的数据写入时,在这两个分区中分别交替存储,且每次将数据写入其中一个分区的同时,将该写入分区的最后一个字节的标志位设置为另一分区最后一个字节的标志位加1,标志位的值从0X01到0XFE递增循环,超过0XFE时,从0X01重新开始递增;数据的还原方法为:通过判断所述两个分区中的最后一个字节的标志位进行数据还原。
进一步地,所述数据的备份方法具体为:
步骤10、将所述两个分区分别标记为A分区和B分区,且将A分区和B分区对应的最后一个字节的标志位分别标记为TAGA和TAGB,当标志位的值为0X00或0XFF,则对应的分区数据是无效的,当标志位的值属于0X01到0XFE范围内,则对应的分区数据是有效的;
步骤11、读取TAGA和TAGB,然后判断标志位的值:
若TAGA和TAGB的值表明A分区和B分区的数据均为无效时,则表明是出厂第一次使用,将数据写入A分区,且将TAGA的值设为0X01;
若TAGA的值表明A分区的数据为无效,TAGB的值表明B分区的数据为有效时,将数据写入A分区,且将TAGA的值设置为TAGB+1,若TAGB+1的值超过0XFE,则设置TAGA的值为0X01,重新开始递增;
若TAGA的值表明A分区的数据为有效,TAGB的值表明B分区的数据为无效时,将数据写入B分区,且将TAGB的值设置为TAGA+1,若TAGA+1的值超过0XFE,则设置TAGB的值为0X01,重新开始递增;
若TAGA和TAGB对应的值是0X01和0XFE的组合或0XFE和0X01的组合时,将数据写入标志位为0XFE对应的分区,且将该分区的标志位的值设为0X02;
若TAGA和TAGB的值均不属于上述情况,则:若TAGA大于TAGB,将数据写入B分区,并将TAGB的值设置为TAGA+1,若TAGA小于TAGB,将数据写入A分区,并将TAGA的值设置为TAGB+1;
若TAGA和TAGB的值相等,将数据写入A分区,且将TAGA的值设置为TAGB+1,若TAGB+1的值超过0XFE,则设置TAGA的值为0X01,重新开始递增。
进一步地,所述数据的还原方法具体为:读取TAGA和TAGB的值,然后做如下判断:
若TAGA和TAGB的值表明A分区和B分区的数据同时是无效的,则表明是出厂第一次使用,将读出的数据置为0;
若TAGA的值表明A分区的数据为无效,TAGB的值表明B分区的数据为有效时,读取B分区的数据进行还原;
若TAGA的值表明A分区的数据为有效,TAGB的值表明B分区的数据为无效时,读取A分区的数据进行还原;
若TAGA和TAGB对应的值是0X01和0XFE的组合或0XFE和0X01的组合时,则读取标志位的值为0X01对应的分区内的数据进行还原;
若TAGA的值大于TAGB的值,则读取A分区的数据进行还原,否则读取B分区的数据进行还原;
若TAGA和TAGB的值相等,这是异常的情况,将读出的数据置位0。
本发明具有如下优点:
本发明将两个分区的标志位及标志位的递增规则运用于数据备份的处理过程,并在需要数据还原时,仅需通过判断标志位的值即可得到上一次保存的数据,避免了数据的大量丢失。该方法简单有效、运行速度快,读写数据速度快,易于实现。
【附图说明】
图1为本发明数据备份方法流程图。
图2为本发明数据还原方法流程图。
【具体实施方式】
下面请参照图1和图2,结合本发明一较佳实施例对本发明作进一步的说明。
一种机顶盒数据的备份及还原方法,在闪存flash中多开一个与需要备份数据所需最大分区同等大小的分区,数据的备份方法为:当需要备份的数据写入时,在这两个分区中分别交替存储,且每次将数据写入其中一个分区的同时,将该写入分区的最后一个字节的标志位设置为另一分区最后一个字节的标志位加1,标志位的值从0X01到0XFE递增循环,超过0XFE时,从0X01重新开始递增;数据的还原方法为:通过判断所述两个分区中的最后一个字节的标志位进行数据还原。由于机顶盒闪存flash容量有限,一般要对要存储的各类数据进行估算,然后合理的分配大小给这些数据。所述需要备份数据所需最大分区的大小也是根据上述原理得到的,比如分配给机顶盒节目库存储的最大空间大小为1M字节,然后再多开一个1M字节来备份这个节目库数据,这个1M字节是人为设定的一个值。
所述数据的备份方法具体为:
步骤10、将所述两个分区分别标记为A分区和B分区,且将A分区和B分区对应的最后一个字节的标志位分别标记为TAGA和TAGB,当标志位的值为0X00或0XFF,则对应的分区数据是无效的,当标志位的值属于0X01到0XFE范围内,则对应的分区数据是有效的;
步骤11、读取TAGA和TAGB,然后判断标志位的值:
若TAGA和TAGB的值表明A分区和B分区的数据均为无效时,则表明是出厂第一次使用,将数据写入A分区,且将TAGA的值设为0X01;
若TAGA的值表明A分区的数据为无效,TAGB的值表明B分区的数据为有效时,将数据写入A分区,且将TAGA的值设置为TAGB+1,若TAGB+1的值超过0XFE,则设置TAGA的值为0X01,重新开始递增;
若TAGA的值表明A分区的数据为有效,TAGB的值表明B分区的数据为无效时,将数据写入B分区,且将TAGB的值设置为TAGA+1,若TAGA+1的值超过0XFE,则设置TAGB的值为0X01,重新开始递增;
若TAGA和TAGB对应的值是0X01和0XFE的组合或0XFE和0X01的组合时,将数据写入标志位为0XFE对应的分区,且将该分区的标志位的值设为0X02;
若TAGA和TAGB的值均不属于上述情况,则:若TAGA大于TAGB,将数据写入B分区,并将TAGB的值设置为TAGA+1,若TAGA小于TAGB,将数据写入A分区,并将TAGA的值设置为TAGB+1;
若TAGA和TAGB的值相等,将数据写入A分区,且将TAGA的值设置为TAGB+1,若TAGB+1的值超过0XFE,则设置TAGA的值为0X01,重新开始递增。另一种方式是:将数据写入B分区,且将TAGB的值设置为TAGA+1,若TAGA+1的值超过0XFE,则设置TAGB的值为0X01,重新开始递增。
在数据写入分区时,将该写入分区的标志位的值设于另一分区(未执行写入操作的分区)的标志位值加1,这样操作的目的就是当要还原数据的时候,可以通过判断这两个分区的标志位,当一个分区的标志位大于另一个分区,就采用这个分区的数据,因为这个数据是最新的。该方法摒弃了复杂算法的弊端,其数据备份过程简单有效,且能快速处理数据。
所述数据的还原方法具体为:读取TAGA和TAGB的值,然后做如下判断:
若TAGA和TAGB的值表明A分区和B分区的数据同时是无效的,则表明是出厂第一次使用,将读出的数据置为0;
若TAGA的值表明A分区的数据为无效,TAGB的值表明B分区的数据为有效时,读取B分区的数据进行还原;
若TAGA的值表明A分区的数据为有效,TAGB的值表明B分区的数据为无效时,读取A分区的数据进行还原;
若TAGA和TAGB对应的值是0X01和0XFE的组合或0XFE和0X01的组合时,则读取标志位的值为0X01对应的分区内的数据进行还原;
若TAGA的值大于TAGB的值,则读取A分区的数据进行还原,否则读取B分区的数据进行还原;
若TAGA和TAGB的值相等,这是异常的情况,将读出的数据置位0。
本发明在数据备份时,递增该写入分区的最后一个字节的标志位,在数据还原时,判断标志位的值还原上一次保存的数据,避免了数据的大量丢失。该方法简单有效、运行速度快,读写数据速度快,易于实现。
虽然以上描述了本发明的具体实施方式,但是熟悉本技术领域的技术人员应当理解,我们所描述的具体的实施例只是说明性的,而不是用于对本发明的范围的限定,熟悉本领域的技术人员在依照本发明的精神所作的等效的修饰以及变化,都应当涵盖在本发明的权利要求所保护的范围内。
Claims (3)
1.一种机顶盒数据的备份及还原方法,在闪存flash中多开一个与需要备份数据所需最大分区同等大小的分区,其特征在于,数据的备份方法为:当需要备份的数据写入时,在这两个分区中分别交替存储,且每次将数据写入其中一个分区的同时,将该写入分区的最后一个字节的标志位设置为另一分区最后一个字节的标志位加1,标志位的值从0X01到0XFE递增循环,超过0XFE时,从0X01重新开始递增;数据的还原方法为:通过判断所述两个分区中的最后一个字节的标志位进行数据还原。
2.根据权利要求1所述的一种机顶盒数据的备份及还原方法,其特征在于,所述数据的备份方法具体为:
步骤10、将所述两个分区分别标记为A分区和B分区,且将A分区和B分区对应的最后一个字节的标志位分别标记为TAGA和TAGB,当标志位的值为0X00或0XFF,则对应的分区数据是无效的,当标志位的值属于0X01到0XFE范围内,则对应的分区数据是有效的;
步骤11、读取TAGA和TAGB,然后判断标志位的值:
若TAGA和TAGB的值表明A分区和B分区的数据均为无效时,则表明是出厂第一次使用,将数据写入A分区,且将TAGA的值设为0X01;
若TAGA的值表明A分区的数据为无效,TAGB的值表明B分区的数据为有效时,将数据写入A分区,且将TAGA的值设置为TAGB+1,若TAGB+1的值超过0XFE,则设置TAGA的值为0X01,重新开始递增;
若TAGA的值表明A分区的数据为有效,TAGB的值表明B分区的数据为无效时,将数据写入B分区,且将TAGB的值设置为TAGA+1,若TAGA+1的值超过0XFE,则设置TAGB的值为0X01,重新开始递增;
若TAGA和TAGB对应的值是0X01和0XFE的组合或0XFE和0X01的组合时,将数据写入标志位为0XFE对应的分区,且将该分区的标志位的值设为0X02;
若TAGA和TAGB的值均不属于上述情况,则:若TAGA大于TAGB,将数据写入B分区,并将TAGB的值设置为TAGA+1,若TAGA小于TAGB,将数据写入A分区,并将TAGA的值设置为TAGB+1;
若TAGA和TAGB的值相等,将数据写入A分区,且将TAGA的值设置为TAGB+1,若TAGB+1的值超过0XFE,则设置TAGA的值为0X01,重新开始递增。
3.根据权利要求2所述的一种机顶盒数据的备份及还原方法,其特征在于,所述数据的还原方法具体为:读取TAGA和TAGB的值,然后做如下判断:
若TAGA和TAGB的值表明A分区和B分区的数据同时是无效的,则表明是出厂第一次使用,将读出的数据置为0;
若TAGA的值表明A分区的数据为无效,TAGB的值表明B分区的数据为有效时,读取B分区的数据进行还原;
若TAGA的值表明A分区的数据为有效,TAGB的值表明B分区的数据为无效时,读取A分区的数据进行还原;
若TAGA和TAGB对应的值是0X01和0XFE的组合或0XFE和0X01的组合时,则读取标志位的值为0X01对应的分区内的数据进行还原;
若TAGA的值大于TAGB的值,则读取A分区的数据进行还原,否则读取B分区的数据进行还原;
若TAGA和TAGB的值相等,这是异常的情况,将读出的数据置位0。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510097859.3A CN104717558A (zh) | 2015-03-05 | 2015-03-05 | 一种机顶盒数据的备份及还原方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510097859.3A CN104717558A (zh) | 2015-03-05 | 2015-03-05 | 一种机顶盒数据的备份及还原方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104717558A true CN104717558A (zh) | 2015-06-17 |
Family
ID=53416437
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510097859.3A Pending CN104717558A (zh) | 2015-03-05 | 2015-03-05 | 一种机顶盒数据的备份及还原方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104717558A (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106816175A (zh) * | 2015-12-01 | 2017-06-09 | 中芯国际集成电路制造(上海)有限公司 | 存储器的控制方法及装置 |
CN110287059A (zh) * | 2019-05-21 | 2019-09-27 | 广东九联科技股份有限公司 | 一种spi flash的多备份方法 |
CN110471860A (zh) * | 2019-07-03 | 2019-11-19 | 深圳市九洲电器有限公司 | 数据存储方法、机顶盒及相关产品 |
CN110619918A (zh) * | 2019-08-02 | 2019-12-27 | 广州妙存科技有限公司 | 一种ftl掉电测试方法、***、装置及存储介质 |
CN111859458A (zh) * | 2020-07-31 | 2020-10-30 | 北京无线电测量研究所 | 一种数据更新记录方法、***、介质及设备 |
CN112053652A (zh) * | 2019-06-05 | 2020-12-08 | 联咏科技股份有限公司 | 时序控制器装置及数据读写方法 |
CN113126883A (zh) * | 2019-12-30 | 2021-07-16 | 深圳Tcl新技术有限公司 | 一种数据处理方法、***及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1204027A2 (en) * | 2000-11-02 | 2002-05-08 | Matsushita Electric Industrial Co., Ltd. | On-line reconstruction processing method and on-line reconstruction processing apparatus |
CN101739313A (zh) * | 2009-11-27 | 2010-06-16 | 华中科技大学 | 一种连续数据保护和恢复方法 |
CN103064274A (zh) * | 2012-12-03 | 2013-04-24 | 珠海艾派克微电子有限公司 | 成像盒芯片、数据处理方法和成像盒 |
CN103440205A (zh) * | 2013-08-21 | 2013-12-11 | 深圳市九洲电器有限公司 | 一种机顶盒数据存储方法及装置 |
CN103514063A (zh) * | 2012-06-21 | 2014-01-15 | 浙江大华技术股份有限公司 | 一种flash数据处理方法以及装置 |
-
2015
- 2015-03-05 CN CN201510097859.3A patent/CN104717558A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1204027A2 (en) * | 2000-11-02 | 2002-05-08 | Matsushita Electric Industrial Co., Ltd. | On-line reconstruction processing method and on-line reconstruction processing apparatus |
CN101739313A (zh) * | 2009-11-27 | 2010-06-16 | 华中科技大学 | 一种连续数据保护和恢复方法 |
CN103514063A (zh) * | 2012-06-21 | 2014-01-15 | 浙江大华技术股份有限公司 | 一种flash数据处理方法以及装置 |
CN103064274A (zh) * | 2012-12-03 | 2013-04-24 | 珠海艾派克微电子有限公司 | 成像盒芯片、数据处理方法和成像盒 |
CN103440205A (zh) * | 2013-08-21 | 2013-12-11 | 深圳市九洲电器有限公司 | 一种机顶盒数据存储方法及装置 |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106816175A (zh) * | 2015-12-01 | 2017-06-09 | 中芯国际集成电路制造(上海)有限公司 | 存储器的控制方法及装置 |
CN110287059A (zh) * | 2019-05-21 | 2019-09-27 | 广东九联科技股份有限公司 | 一种spi flash的多备份方法 |
CN110287059B (zh) * | 2019-05-21 | 2023-12-15 | 广东九联科技股份有限公司 | 一种spi flash的多备份方法 |
CN112053652A (zh) * | 2019-06-05 | 2020-12-08 | 联咏科技股份有限公司 | 时序控制器装置及数据读写方法 |
CN110471860A (zh) * | 2019-07-03 | 2019-11-19 | 深圳市九洲电器有限公司 | 数据存储方法、机顶盒及相关产品 |
CN110619918A (zh) * | 2019-08-02 | 2019-12-27 | 广州妙存科技有限公司 | 一种ftl掉电测试方法、***、装置及存储介质 |
CN110619918B (zh) * | 2019-08-02 | 2021-05-04 | 广州匠芯创科技有限公司 | 一种ftl掉电测试方法、***、装置及存储介质 |
CN113126883A (zh) * | 2019-12-30 | 2021-07-16 | 深圳Tcl新技术有限公司 | 一种数据处理方法、***及存储介质 |
CN111859458A (zh) * | 2020-07-31 | 2020-10-30 | 北京无线电测量研究所 | 一种数据更新记录方法、***、介质及设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104717558A (zh) | 一种机顶盒数据的备份及还原方法 | |
US20140317369A1 (en) | Snapshot creation from block lists | |
CN107807839B (zh) | 一种修改虚拟机内存数据的方法、装置及电子设备 | |
US20100064127A1 (en) | Method for updating basic input/output system and method for repairing thereof | |
CN102667703A (zh) | 用于虚拟磁带库***中的优化回收处理的***和方法 | |
US20130346713A1 (en) | Source cleaning cascaded volumes | |
US7900003B2 (en) | System, method and computer program product for storing an information block | |
CN111124288B (zh) | 一种vpd存储管理方法、装置、设备及可读存储介质 | |
CN104484240A (zh) | 一种终端数据存储的方法及装置 | |
US20210247921A1 (en) | Systems and methods for booting from nand flash using squashfs to maximize memory | |
CN102141926A (zh) | 一种应用程序管理方法、装置以及数字电视机顶盒 | |
CN104932933A (zh) | 一种获取自旋锁的方法及装置 | |
US9239742B2 (en) | Embedded systems and methods for threads and buffer management thereof | |
CN103229150B (zh) | 数据控制方法及*** | |
CN104407990A (zh) | 一种磁盘访问方法及装置 | |
EP2998903A1 (en) | System and method for robust full-drive encryption | |
CN104408126A (zh) | 一种数据库的持久化写入方法、装置和*** | |
US8595271B1 (en) | Systems and methods for performing file system checks | |
US11176089B2 (en) | Systems and methods for implementing dynamic file systems | |
CN102855162B (zh) | 一种数据更新方法、数据更新***及存储器 | |
CN103092955B (zh) | 检查点操作方法、装置及*** | |
CN111522598A (zh) | 嵌入式设备的重启信息记录方法及装置 | |
CN101908009B (zh) | 文件备份与使用方法 | |
US20120144136A1 (en) | Restoration of data from a backup storage volume | |
CN102495838A (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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20150617 |