CN107203345B - 一种多副本存储快速校验一致性方法及其装置 - Google Patents

一种多副本存储快速校验一致性方法及其装置 Download PDF

Info

Publication number
CN107203345B
CN107203345B CN201710403658.0A CN201710403658A CN107203345B CN 107203345 B CN107203345 B CN 107203345B CN 201710403658 A CN201710403658 A CN 201710403658A CN 107203345 B CN107203345 B CN 107203345B
Authority
CN
China
Prior art keywords
data
file
head file
cryptographic hash
storage
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.)
Expired - Fee Related
Application number
CN201710403658.0A
Other languages
English (en)
Other versions
CN107203345A (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.)
Shenzhen Lianyungang Technology Co., Ltd
Original Assignee
SHENZHEN YUNSHU NETWORK TECHNOLOGY Co Ltd
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 SHENZHEN YUNSHU NETWORK TECHNOLOGY Co Ltd filed Critical SHENZHEN YUNSHU NETWORK TECHNOLOGY Co Ltd
Priority to CN201710403658.0A priority Critical patent/CN107203345B/zh
Publication of CN107203345A publication Critical patent/CN107203345A/zh
Application granted granted Critical
Publication of CN107203345B publication Critical patent/CN107203345B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0662Virtualisation aspects
    • G06F3/0664Virtualisation aspects at device level, e.g. emulation of a storage device or system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Quality & Reliability (AREA)
  • Computer Security & Cryptography (AREA)
  • Storage Device Security (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明提供了一种多副本存储快速校验一致性方法及其装置,所述方法包括:S1、在系统空闲状态时,判断head文件的数据写入量,当head文件的数据写入数据达到存储组件容量的30%以上时,采用I/O重定向技术创建快照文件,继续写入数据的新的head文件作为空白对照的稀疏文件,计算快照文件哈希值并其作为扩展属性保存起来;S2、每隔预定时间对head文件进行一次快照操作,需要及时验证多副本数据的一致性时,将新的head文件的哈希值与快照文件的哈希值对比即可。本发明结合分布式块存储的特点,提出了一种基于快照技术的多副本一致性快速检测方法,将哈希值计算的任务分成多个时间段进行,避免影响系统正常的读写业务,提升了多副本存储校验一致性速度。

Description

一种多副本存储快速校验一致性方法及其装置
技术领域
本发明涉及分布式数据存储和数据校验技术领域,尤其涉及多副本存储快速校验一致性方法及其装置。
背景技术
现有的分布式存储系统中,绝大多数是通过多副本技术来提升系统可靠性、可用性、性能以及可扩展性。
多副本技术可以保证分布式存储系统中个别主机和磁盘发生故障时,系统还能提供正常的读写服务,提高系统的可靠性,多个副本可以用于分流和加快响应时间。但分布式存储系统都是通过网络通信,网络的不稳定性容易造成后端数据不一致,并且分布式存储系统一般包含较多的服务器主机和磁盘数量,硬件损坏的概率也比较高。如果不能快速检测副本的一致性,分布式存储系统的数据完整性和高可用性就大大降低。
现有校验一致性方法主要是计算文件的哈希值,并对比多个副本文件的哈希值是否一致来判断文件是否数据一致。但如果对于大型文件,计算哈希值将消耗大量的CPU和磁盘带宽,严重影响系统的性能。文件不一致的位置往往比较少,但计算文件哈希值需要读取整个文件的内容,造成巨大资源的浪费。
发明内容
为解决以上问题,本发明提供了一种基于稀疏文件的快速文件哈希计算方法和基于快照技术的多副本一致性快速检测方法。
本发明提供了一种多副本存储快速校验一致性方法,包含以下步骤:
S1:在系统处于空闲状态时,判断head文件的数据写入量,当head文件的数据写入量达到存储组件容量的30%以上时,采用I/O重定向技术创建一次快照文件,继续写入数据的新的head文件作为空白对照的稀疏文件,计算快照文件的哈希值,把哈希值作为快照文件的扩展属性保存起来;
S2:每隔预定时间对head文件进行一次快照操作,如果发生异常情况,需要及时验证数据的一致性时,只需计算新的head文件的哈希值,并将新的head 文件的哈希值与快照文件的哈希值对比,以此校验多副本存储时数据的一致性。
优选地,所述方法还包括:
S3:对多个快照文件进行合并,并重新计算合并后的快照文件的哈希值,把哈希值作为合并后的快照文件的扩展属性保存起来。
优选地,所述存储组件包括head文件和对应的快照文件,head文件和快照文件都是大小相等的稀疏文件。
优选地,所述哈希值计算方法包括以下步骤:
SS1,利用lseek函数调用,获取整个head文件数据段信息;
SS2,把每个数据块的偏移量和数据长度结合起来作为head文件信息和head 文件数据一起作为哈希函数的输入,输出得到head文件的哈希值。
优选地,所述存储组件的读写方法包括:
写I/O写入到head文件,读I/O先判断head文件是否存在数据,如果存在,进入S01,如果不存在,进入S02,直至读到数据或者到最底层快照文件;
S01,读取数据并返回,
S02,判断下一级快照文件是否存在数据;
优选地,创建稀疏文件时,文件索引节点记录head文件的大小,没有数据写入时不给head文件分配磁盘空间,当有数据写入时才给head文件分配磁盘空间。
优选地,所述快照方法采用I/O重定向方法。
本发明还提供了一种多副本存储快速校验一致性装置,包括控制主机和存储主机,所述控制主机生成虚拟磁盘,作为存储数据路径的前端主机,完成数据接收、转发功能;存储主机作为数据最终的存放地点,将存储资源抽象成多个由稀疏文件链组成存储组件。
本发明提供一种多副本存储快速校验一致性方法,结合分布式块存储的特点,提出了一种基于快照技术的多副本一致性快速检测方法,哈希值计算的任务分成多个时间段进行,在系统比较空闲的时候计算文件的哈希值,避免影响系统正常的读写业务。
附图说明
下面结合附图,通过对本发明的具体实施方式详细描述,将使本发明 的技术方案及其它有益效果显而易见。
图1为一种多副本存储快速校验一致性方法流程图;
图2为存储组件结构示意图;
图3为哈希值计算方法方框图;
图4为储存组件读写方法方框图;
图5为一种多副本存储快速校验一致性装置方框图。
具体实施方式
为更进一步阐述本发明所采取的技术手段及其效果,以下结合本发明的优选实施例及其附图进行详细描述。
为解决以上问题,本发明提供了一种基于稀疏文件的快速文件哈希计算方法和基于快照技术的多副本一致性快速检测方法。
请参考图1,本发明提供了一种多副本存储快速校验一致性方法,包含以下步骤:
S1:在系统处于空闲状态时,判断head文件的数据写入量,当head文件的数据写入量达到存储组件容量的30%以上时,采用I/O重定向技术创建一次快照文件,继续写入数据的新的head文件作为空白对照的稀疏文件,计算快照文件的哈希值,把哈希值作为快照文件的扩展属性保存起来;
S2:每隔预定时间对head文件进行一次快照操作,如果发生异常情况,需要及时验证数据的一致性时,只需计算新的head文件的哈希值,并将新的head 文件的哈希值与快照文件的哈希值对比,以此校验多副本存储时数据的一致性。
如果发生异常情况,需要及时验证数据的一致性,只需计算head文件的哈希值,此时虽然前段还有写I/O造成的head文件修改,由于在进行副本一致性判断之间,由于是采用I/O重定向技术对数据进行了一次快照操作创建了快照文件,所有写I/O操作都会写入head文件中,快照文件不会被写I/O修改,在进行文件一致性判断的过程中,前端虚拟块设备不用暂停读写I/O的操作。
本发明提供一种多副本存储快速校验一致性方法,结合分布式块存储的特点,提出了一种基于快照技术的多副本一致性快速检测方法,哈希值计算的任务分成多个时间段进行,在系统比较空闲的时候计算文件的哈希值,避免影响系统正常的读写业务。
优选地,所述方法还包括:
S3:对多个快照文件进行合并,以在快照文件过多、系统负载比较低时,减少文件数量和磁盘空间的使用量,降低磁盘带宽消耗,并重新计算合并后的快照文件的哈希值,把哈希值作为合并后的快照文件的扩展属性保存起来。
如图2所示,为本发明存储组件结构图。存储组件包括head文件和对应的快照文件,head文件和快照文件都是大小相等的稀疏文件。稀疏文件的大小就是存储组件的大小,在创建虚拟磁盘时就指定了存储组件的大小,大小为1G-128G。
请参考图3,优选地,所述哈希值计算方法包括以下步骤:
SS1,利用lseek函数调用,获取整个head文件数据段信息;
SS2,把每个数据块的偏移量和数据长度结合起来作为head文件信息和head 文件数据一起作为哈希函数的输入,输出得到head文件的哈希值。避免计算head 文件空洞部分的哈希值,大大加快head文件的哈希值的计算速度,提高一致性检测速度。
请参考图4,优选地,所述存储组件的读写方法包括:
写I/O写入到head文件,读I/O先判断head文件是否存在数据,如果存在,进入S01,如果不存在,进入S02,直至读到数据或者到最底层快照文件;
S01,读取数据并返回,
S02,判断下一级快照文件是否存在数据;
优选地,创建稀疏文件时,文件索引节点记录head文件的大小,没有数据写入时不给head文件分配磁盘空间,当有数据写入时才给head文件分配磁盘空间。
请参考图5,本发明还提供了一种多副本存储快速校验一致性装置,包括控制主机和存储主机,所述控制主机生成虚拟磁盘,作为存储数据路径的前端主机,完成数据接收、转发功能;存储主机作为数据最终的存放地点,将存储资源抽象成多个由稀疏文件链组成存储组件。
本发明提出一种高速度,低磁盘带宽消耗的多副本存储快速校验一致性方法,使用一种改进的计算稀疏文件哈希值的方法来校验副本之间的一致性,并基于快照技术把一个组件的数据分成多个快照文件存储。可以在系统空闲的时候计算快照文件的哈希值,充分利用系统的资源。当需要校验多个副本的一致性时,只需校验head文件,由于head文件的数据量比较小,所以可以及时计算出文件的哈希值,并且消耗很低的磁盘带宽,对集群资源消耗低,避免影响系统正常的读写业务,大大降低了对集群业务的影响。
以上所述,对于本领域的普通技术人员来说,可以根据本发明的技术方案和技术构思作出其他各种相应的改变和变形,而所有这些改变和变形都应属于本发明权利要求的保护范围。

Claims (7)

1.一种多副本存储快速校验一致性方法,其特征在于,包含以下步骤:
S1:在系统处于空闲状态时,判断head文件的数据写入量,当head文件的数据写入数据达到存储组件容量的30%以上时,采用I/O重定向技术创建一次快照文件,继续写入数据的新的head文件作为空白对照的稀疏文件,计算快照文件的哈希值,把哈希值作为快照文件的扩展属性保存起来;
S2:每隔预定时间对head文件进行一次快照操作,如果发生异常情况,需要及时验证数据的一致性时,只需计算新的head文件的哈希值,并将新的head文件的哈希值与快照文件的哈希值对比,以此校验多副本存储时数据的一致性;
其中,所述存储组件为存储主机将存储资源抽象成多个由稀疏文件链组成的存储组件,存储主机作为数据最终的存放地点。
2.根据权利要求1所述的多副本存储快速校验一致性方法,其特征在于,所述方法还包括:
S3:对多个快照文件进行合并,并重新计算合并后的快照文件的哈希值,把哈希值作为合并后的快照文件的扩展属性保存起来。
3.根据权利要求1所述的多副本存储快速校验一致性方法,其特征在于,所述存储组件包括head文件和对应的快照文件,head文件和快照文件都是大小相等的稀疏文件。
4.根据权利要求1或2所述的多副本存储快速校验一致性方法,其特征在于,所述哈希值计算方法包括以下步骤:
SS1,利用lseek函数调用,获取整个head文件数据段信息;
SS2,把每个数据块的偏移量和数据长度结合起来作为head文件信息和head文件数据一起作为哈希函数的输入,输出得到head文件的哈希值。
5.根据权利要求1所述的多副本存储快速校验一致性方法,其特征在于,所述存储组件的读写方法包括:
写I/O写入到head文件,读I/O先判断head文件是否存在数据,如果存在,进入S01,如果不存在,进入S02,直至读到数据或者到最底层快照文件;
S01,读取数据并返回,
S02,判断下一级快照文件是否存在数据。
6.根据权利要求1所述的多副本存储快速校验一致性方法,其特征在于,创建稀疏文件时,文件索引节点记录head文件的大小,没有数据写入时不给head文件分配磁盘空间,当有数据写入时才给head文件分配磁盘空间。
7.应用如权利要求1-6任一所述的多副本存储快速校验一致性方法的装置,其特征在于,包括控制主机和存储主机,所述控制主机生成虚拟磁盘,作为存储数据路径的前端主机,完成数据接收、转发功能;存储主机作为数据最终的存放地点,将存储资源抽象成多个由稀疏文件链组成存储组件。
CN201710403658.0A 2017-06-01 2017-06-01 一种多副本存储快速校验一致性方法及其装置 Expired - Fee Related CN107203345B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710403658.0A CN107203345B (zh) 2017-06-01 2017-06-01 一种多副本存储快速校验一致性方法及其装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710403658.0A CN107203345B (zh) 2017-06-01 2017-06-01 一种多副本存储快速校验一致性方法及其装置

Publications (2)

Publication Number Publication Date
CN107203345A CN107203345A (zh) 2017-09-26
CN107203345B true CN107203345B (zh) 2019-10-01

Family

ID=59907235

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710403658.0A Expired - Fee Related CN107203345B (zh) 2017-06-01 2017-06-01 一种多副本存储快速校验一致性方法及其装置

Country Status (1)

Country Link
CN (1) CN107203345B (zh)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108052413A (zh) * 2017-11-21 2018-05-18 深信服科技股份有限公司 基于多次验证的数据处理方法、装置及存储介质
CN107871089B (zh) * 2017-12-04 2020-11-24 杭州安恒信息技术股份有限公司 文件防护方法及装置
CN108733788B (zh) * 2018-05-11 2021-06-04 北京奇虎科技有限公司 一种闲置存储空间确认方法、装置及计算机存储介质
CN110955381B (zh) * 2018-09-26 2023-12-26 山东华软金盾软件股份有限公司 一种压缩文件外发包的装置及方法
CN109598156B (zh) * 2018-11-19 2023-04-11 杭州信核数据科技股份有限公司 一种写时重定向引擎快照流方法
CN111435323B (zh) * 2019-01-15 2023-06-20 阿里巴巴集团控股有限公司 信息的传输方法、装置、终端、服务器及存储介质
CN110209634A (zh) * 2019-06-10 2019-09-06 上海数腾软件科技股份有限公司 保证数据一致性的快照系统及其控制方法
CN110351362A (zh) * 2019-07-12 2019-10-18 全链通有限公司 数据验证方法、设备及计算机可读存储介质
CN111158602A (zh) * 2019-12-30 2020-05-15 北京天融信网络安全技术有限公司 数据分层存储方法、读取方法、存储主机及存储系统
CN112559547B (zh) * 2020-12-24 2023-09-19 北京百度网讯科技有限公司 确定多存储对象副本之间一致性的方法及装置
CN112887295B (zh) * 2021-01-22 2022-08-05 湖北宸威玺链信息技术有限公司 基于区块链的数据传输安全检测方法及系统及装置及介质

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE602004026422D1 (de) * 2004-02-25 2010-05-20 Microsoft Corp Datenbank-datenwiederherstellungssystem und -verfahren
US9158630B1 (en) * 2013-12-19 2015-10-13 Emc Corporation Testing integrity of replicated storage
CN105022656B (zh) * 2014-04-21 2018-09-14 中国电信股份有限公司 虚拟机快照管理方法和装置
CN104239444B (zh) * 2014-09-01 2017-11-03 上海爱数信息技术股份有限公司 Oracle数据库用的一致性数据保护与捕获一致性状态的方法

Also Published As

Publication number Publication date
CN107203345A (zh) 2017-09-26

Similar Documents

Publication Publication Date Title
CN107203345B (zh) 一种多副本存储快速校验一致性方法及其装置
CN103136243B (zh) 基于云存储的文件系统去重方法及装置
Park et al. Characterizing datasets for data deduplication in backup applications
US11093387B1 (en) Garbage collection based on transmission object models
CN103929500A (zh) 一种分布式存储系统的数据分片方法
WO2019001521A1 (zh) 数据存储方法、存储设备、客户端及系统
CN109995813A (zh) 一种分区扩展方法、数据存储方法及装置
CN104679665A (zh) 一种实现分布式文件系统块存储的方法及系统
CN103559027A (zh) 一种key与value分开存储的key-value存储系统设计方法
US20210216231A1 (en) Method, electronic device and computer program product for rebuilding disk array
CN108733326B (zh) 一种磁盘处理方法及装置
CN106445409A (zh) 一种分布式块存储的数据写入方法及装置
CN103501319A (zh) 一种低延迟的面向小文件的分布式存储系统
CN103516549A (zh) 一种基于共享对象存储的文件系统元数据日志机制
CN101783740A (zh) 消息文件管理方法及装置
CN103412929A (zh) 一种海量数据的存储方法
CN111736764B (zh) 一种数据库一体机的存储系统及数据请求处理方法、装置
CN112749039A (zh) 用于数据写入和数据恢复的方法、设备和程序产品
CN108205482B (zh) 文件挂载恢复方法
CN107632781B (zh) 一种分布式存储多副本快速校验一致性的方法及存储结构
CN114442937B (zh) 文件缓存方法、装置、计算机设备及存储介质
CN113885809B (zh) 数据管理系统及方法
CN107122140A (zh) 一种基于元数据信息的文件智能存储方法
CN104484135A (zh) 一种快速数据读取方法及装置
EP4170499A1 (en) Data storage method, storage system, storage device, and storage medium

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20200512

Address after: 812, block B, phase I, Tianan Innovation Technology Plaza, No. 25, Tairan 4th Road, Tianan community, Shatou street, Futian District, Shenzhen City, Guangdong Province

Patentee after: Shenzhen Lianyungang Technology Co., Ltd

Address before: 518000, A902, room nine, building A, building 006, Industrial Research Institute, Nanshan New South Road, Nanshan District, Shenzhen, Guangdong

Patentee before: CLOUDSOAR NETWORKS Inc.

CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20191001

Termination date: 20200601