一种数据存储方法技术

技术编号:2911752 阅读:198 留言:0更新日期:2012-04-11 18:40
本发明专利技术提供了一种数据存储方法,该方法包括以下步骤:(a)将待存储的数据分割成多个分割数据;(b)生成与所述多个分割数据相对应的校验数据,该校验数据包括所述多个分割数据的校验和以及所述多个分割数据与所述校验和的按位异或结果;以及(c)将所述多个分割数据与所生成的校验数据存储到存储区中。使用本发明专利技术提供的数据存储方法进行数据存储时,由于本发明专利技术的方法所使用的校验数据比现有技术中的校验数据多一层校验,从而更能确保数据被准确无误地存储到存储区中。

【技术实现步骤摘要】

本专利技术涉及一种数据存储方法
技术介绍
数据存储在各个领域都有着广泛的应用,一般都是将需要存储的数据根据存储单元的大小来分割成多个分割数据,然后将所述多个分割数据存储在存储器中。然而,对于某些需要较高的安全性和可靠性的数据,则需要根据所述多个分割数据来计算一个校验数据,并将该校验数据与所述多个分割数据一起存储到存储器中,从而当某个分割数据损坏时,可以根据所述校验数据和其他未损坏的分割数据来恢复所述损坏的分割数据。现有技术中的校验数据通常为所述多个分割数据的按位异或结果或者校验和,此种校验数据虽然能够在某个分割数据损坏时恢复该损坏的分割数据,但当多个分割数据均发生损坏时,该校验数据则显得无能为力。因此,此种数据存储方法安全性较低。
技术实现思路
本专利技术的目的是为了克服现有技术中的数据存储方法安全性较低的缺陷,提供了一种存储方法简单、数据可靠性高的数据存储方法。本专利技术提供的数据存储方法包括以下步骤:(a)将待存储的数据分割成多个分割数据;(b)生成与所述多个分割数据相对应的校验数据,该校验数据包括所述多个分割数据的校验和以及所述多个分割数据与所述校验和的按位异或结果;以及(c)将所述多个分割数据与所生成的校验数据存储到-->存储区中。使用本专利技术提供的数据存储方法进行数据存储时,由于所生成的校验数据包括了多个分割数据的校验和以及所述多个分割数据与所述校验和的按位异或结果,因此,当所述多个分割数据中的某两个分割数据被损坏时,可以根据其他正确的数据、所述校验和以及按位异或结果来恢复所述被损坏的两个分割数据,相比于现有技术中只能恢复一个分割数据,本专利技术可以恢复两个分割数据,数据安全性和可靠性得到了很大的提高。附图说明图1为本专利技术的数据存储方法的流程图;图2为本专利技术的实施方式中的数据存储方法的流程图;图3为本专利技术的数据更新方法的流程图;图4为本专利技术的数据更新方法中的一个步骤的流程图。具体实施方式下面结合附图详细描述本专利技术。如图1所示,本专利技术提供了一种数据存储方法,该方法包括以下步骤:(a)将待存储的数据分割成多个分割数据;(b)生成与所述多个分割数据相对应的校验数据,该校验数据包括所述多个分割数据的校验和、以及所述多个分割数据与所述校验和的按位异或结果;以及(c)将所述多个分割数据与所生成的校验数据存储到存储区中。其中,可以根据存储单元的大小来分割需要存储的数据。例如,一般情况下,存储单元的大小为8个比特,即一个字节,因此可以将数据以字节为单位来进行分割。其中所述步骤(c)中的存储区的个数为多个,将所述多个分割数据与-->所生成的校验数据分别存储到每个存储区中。这样相同的数据被存储到多个存储区中,即使某一个存储区中的数据损坏,还可以使用其他存储区中的数据进行恢复,从而提高了数据的安全性。如图2所示,在将所述分割数据和校验数据存储到多个存储区之后,所述方法还包括:(d)在步骤(c)后,从所述多个存储区中读取数据,并对所读取的数据进行解校验,比较解校验通过的存储区中的数据,确定在解校验通过的存储区中的数据中单独占有最大比例的一类数据作为可信数据,并使用该可信数据覆盖其他存储区中与该可信数据不相同的数据。其中,在步骤(d)中,如果存在至少两类占有最大比例的数据,则显示存取失败的信息。下面详细描述该步骤的具体实施方式。从所述多个存储区中读取数据,并对所读取的数据进行解校验,(1)如果所述多个存储区中的数据均通过解校验,则比较所述多个存储区中的数据并使用在所述多个存储区中单独占有最大比例的一类数据作为可信数据,并使用该可信数据覆盖其他存储区中与该可信数据不相同的数据,若无法得出所述可信数据,则将所述多个存储区中的数据都丢弃,并显示存取失败的信息;(2)如果所述多个存储区中的部分存储区中的数据未通过解校验,则将该部分存储区中的数据丢弃,比较校验通过的各个存储区中的数据并使用在该解校验通过的存储区中单独占有最大比例的一类数据作为可信数据,并使用该可信数据覆盖其他存储区中与该可信数据不相同的数据,若无法得出所述可信数据,则将所述多个存储区中的数据都丢弃,并显示存取失败的信息;(3)如果所有存储区的数据均未通过解校验,则将所述多个存储区的数据都丢弃,并显示存取失败的信息。-->所述解校验的过程实际上就是根据所存储的多个分割数据来重新计算校验数据,并将计算得到的校验数据与所存储的校验数据进行比较,如果两者相同,则表示所存储的数据通过解校验。下面通过所述存储区的个数为3个的例子来对上述存储完数据后进行解校验、比较解校验通过的存储区中的数据、并根据比较结果来更正存储数据的步骤进行示例性说明。分别从3个存储区中读取数据,并对所读取的数据进行解校验,(1)三个存储区中的数据均通过解校验,A、如果三个存储区中的数据均相同,则不进行任何操作;B、如果三个存储区中有两个存储区中的数据相同,则丢弃不相同的那个存储区中的数据,在所述两个相同数据中任取一个来覆盖所述被丢弃的数据;C、如果三个存储区中的数据均不相同,则全部丢弃,并显示存取失败的信息。(2)如果三个存储区中仅有两个存储区中的数据通过解校验,则将未通过解校验的数据丢弃,再分以下两种情况进行处理,A、如果所述解校验通过的两个存储区中的数据相同,则在该相同的两个数据中任取一个来覆盖所述被丢弃的数据;B、如果所述解校验通过的两个存储区中的数据不相同,则将该两个存储区中的数据都丢弃,并显示存取失败的信息。(3)如果三个存储区中仅有一个存储区中的数据通过解校验,则以该存储区中的数据来覆盖其他两个未通过解校验的存储区中的数据。(4)如果三个存储区中的数据均未通过解校验,则将他们全部丢弃,并显示存取失败的信息。其中,如图3所示,所述方法还包括:(e)在步骤(d)后,当对存储-->在所述多个存储区中的数据以新数据进行更新时,从所述多个存储区中读取数据,并对所读取的数据进行解校验,比较解校验通过的存储区中的数据,确定在解校验通过的存储区中单独占有最大比例的一类可信数据,判断该可信数据与将更新成的新数据之间是否满足更新条件,如果满足,则将新数据覆盖所述多个存储区中的数据;否则,显示更新失败的信息。其中,在步骤(e)中,如果存在至少两类占有最大比例的数据,则显示更新失败的信息。下面以存储区的个数为3个、可信数据为G、将更新的新数据为K、更新条件为K=G+1的例子对数据更新步骤进行详细说明。分别从3个存储区中读取数据,并对所读取的数据进行解校验,(1)三个存储区中的数据均通过解校验,A、如果三个存储区中的数据均相同,则从该三个存储区中任取一个数据作为可信数据G;B、如果三个存储区中有两个存储区中的数据相同,则在所述两个相同数据中任取一个作为可信数据G;C、如果三个存储区中的数据均不相同,则显示更新失败的信息。(2)如果三个存储区中仅有两个存储区中的数据通过解校验,则分以下两种情况进行处理,A、如果所述解校验通过的两个存储区中的数据相同,则在该相同的两个数据中任取一个作为可信数据G;B、如果所述通过解校验的两个存储区中的数据不相同,则将显示更新失败的信息。(3)如果三个存储区中仅有一个存储区中的数据通过解校验,则以该存储区中的数据作为可信数据G。(4)如果三个存储区中的数据均未解校验,则显示更新失败的信息。本文档来自技高网...

【技术保护点】
一种数据存储方法,该方法包括以下步骤: (a)将待存储的数据分割成多个分割数据; (b)生成与所述多个分割数据相对应的校验数据,该校验数据包括所述多个分割数据的校验和以及所述多个分割数据与所述校验和的按位异或结果;以及 (c)将所述多个分割数据与所生成的校验数据存储到存储区中。

【技术特征摘要】
1、一种数据存储方法,该方法包括以下步骤:(a)将待存储的数据分割成多个分割数据;(b)生成与所述多个分割数据相对应的校验数据,该校验数据包括所述多个分割数据的校验和以及所述多个分割数据与所述校验和的按位异或结果;以及(c)将所述多个分割数据与所生成的校验数据存储到存储区中。2、根据权利要求1所述的方法,其中所述步骤(c)中的存储区的个数为多个,将所述多个分割数据与所生成的校验数据分别存储到每个存储区中。3、根据权利要求2所述的方法,其中,该方法还包括:(d)在步骤(c)后,从所述多个存储区中读取数据,并对所读取的数据进行解校验,比较解校验通过的存储区中的数据,确定在解校验通过的存储区中的数据中单独占有最大比例的一类数据作为可信数据,并使用该可信数据覆盖其他存储区中与该可信数据不相同的数据。4、根据权利要求3所述的方法,其中,在步骤(d)中,如果存在至少两类占有最大比例的数据,则显示存取失败的信息。5、根据权利要求3所述的方法,其中,该方法还包括:(e)在步骤(d)后,当对存储在所述多个存储区中的数据以新数据进行更新时,从所述多个存储区中读取数据,...

【专利技术属性】
技术研发人员:周波祖波徐循进
申请(专利权)人:比亚迪股份有限公司
类型:发明
国别省市:94[中国|深圳]

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

1