[发明专利]一种实现数据一致性的方法在审
申请号: | 201410380029.7 | 申请日: | 2014-08-04 |
公开(公告)号: | CN104156326A | 公开(公告)日: | 2014-11-19 |
发明(设计)人: | 张道伟;穆裕;张在理 | 申请(专利权)人: | 浪潮(北京)电子信息产业有限公司 |
主分类号: | G06F12/16 | 分类号: | G06F12/16 |
代理公司: | 北京安信方达知识产权代理有限公司 11262 | 代理人: | 王丹;李丹 |
地址: | 100085 北京市海*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 实现 数据一致性 方法 | ||
技术领域
本发明涉及计算机存储技术,尤指一种实现数据一致性的方法。
背景技术
数据持久化存储是在计算机存储领域必须研究的基础内容,其关注点是数据读写的性能(包括每秒进行读写操作的次数(IOPS,Input/Output Operations Per Second)、数据传输速率(MBPS))、数据存储介质的有效性、数据容错能力、数据一致性及数据安全性保证等。以上对于数据持久化存储的关注点是循序渐进形成的。在最初阶段,只关注数据存储的性能、容量等指标;但随着数据存储的规模越来越大,存储的数据时间越来越长,越来越需要关注数据存储介质的有效性;随着对于存储介质有效性追求逐渐达到瓶颈,又从另一个思路来关注数据的可靠性,即通过增加一定的数据冗余来提高数据的容错能力(如raid机制);当最坏的情况下,数据发生损坏或是丢失时,应提供一种实现数据一致性的方法,以找回部分或是全部数据;而在保证数据存储可靠性、一致性的基础上,进一步关注数据的安全性,即数据是否会被窃取等问题。
现有的实现数据一致性的方法是多副本技术,即磁盘包括一个用于存储元数据的关键信息的超级块和多个用于存储数据和元数据的分数据块,其中,元数据的关键信息是指对元数据的描述信息,根据元数据的关键信息就能够查找到其所描述的元数据;元数据是用于描述数据的信息,根据元数据就能够查找到其所描述的数据。当用户对磁盘中存储的数据进行修改时,为新的数据创建一个新的副本,将新的数据及其对应的元数据写入到新的副本中,然后将新的数据对应的元数据的关键信息保存到超级块中覆盖原来的元数据的关键信息。
现有的实现数据一致性的方法中,每次进行数据修改时都将超级块中原来的数据覆盖,如果在修改过程中发生意外导致没有将超级块中的数据更新完成,则会导致新的数据的丢失,从而无法保证数据修改过程中数据存储的一致性。
发明内容
为了解决上述问题,本发明提出了一种实现数据一致性的方法,能够保证数据修改过程中数据存储的一致性。
为了达到上述目的,本发明提出了一种实现数据一致性的方法,应用于磁盘,磁盘包括一个或一个以上用于存储元数据或数据的数据块,和一个或一个以上用于存储磁盘中存储的所有数据对应的元数据的关键信息的提交块;
该方法包括:
当需要对其中一数据块中的数据进行修改时,对新的提交块设置其时序号,在新的提交块中创建新的副本,该新的副本包括修改后磁盘中存储的所有数据对应的元数据的关键信息;其中,新的提交块为未存储数据的提交块中的任意一个;
对该其中一数据块进行修改。
优选地,所述多个提交块位于所述磁盘中连续的存储空间,或者离散的存储空间,或者周期性分布的存储空间。
优选地,所述对该其中一数据块进行修改包括:
判断出修改的数据的大小小于所述其中一数据块的50%时,采用写时复制的方法对所述其中一数据块进行修改;判断出所述修改的数据的大小大于或等于所述其中一数据块的50%时,采用写时重定向的方法对所述其中一数据块进行修改。
优选地,所述采用写时复制的方法对其中一数据块进行修改包括:
将所述其中一数据块中的数据复制到未写入数据的数据块中,并相应修改原提交块中的元数据的关键信息,将待写入的数据写入到所述其中一数据块中。
优选地,所述采用写时重定向的方法对其中一数据块进行修改包括:
将待写入的数据直接写入未写入数据的数据块。
优选地,当需要对所述磁盘中的数据进行访问时,该方法还包括:
获取所述磁盘中的所有提交块,对所有提交块按照其时序号进行排序;
对最新的提交块进行完整性验证,若最新的提交块是完整的,则使用最新的提交块中的元数据的关键信息获取待访问的数据;
若最新的提交块不是完整的,则根据前一个提交块中的元数据的关键信息获取所述待访问的数据。
与现有技术相比,本发明包括:当需要对其中一数据块中的数据进行修改时,对新的提交块设置其时序号,在新的提交块中创建新的副本,该新的副本包括修改后磁盘中存储的所有数据对应的元数据的关键信息;其中,新的提交块为未存储数据的提交块中的任意一个;对该其中一数据块进行修改。通过本发明的方案,在新的提交块中创建新的副本,当磁盘中最新的一次修改不完整时,可以从磁盘中获取上一次修改完整的数据,从而保证数据修改过程中数据存储的一致性。
附图说明
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浪潮(北京)电子信息产业有限公司,未经浪潮(北京)电子信息产业有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410380029.7/2.html,转载请声明来源钻瓜专利网。