CN107748650B - 一种网络编码集群存储系统中基于锁机制的数据重建策略 - Google Patents

一种网络编码集群存储系统中基于锁机制的数据重建策略 Download PDF

Info

Publication number
CN107748650B
CN107748650B CN201710928159.3A CN201710928159A CN107748650B CN 107748650 B CN107748650 B CN 107748650B CN 201710928159 A CN201710928159 A CN 201710928159A CN 107748650 B CN107748650 B CN 107748650B
Authority
CN
China
Prior art keywords
data
access
reconstruction
disk
replacement
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.)
Active
Application number
CN201710928159.3A
Other languages
English (en)
Other versions
CN107748650A (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.)
Guangzhou bailuo Technology Co., Ltd
Guangzhou Jinan University Science Park Management Co.,Ltd.
Original Assignee
Jinan University
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 Jinan University filed Critical Jinan University
Priority to CN201710928159.3A priority Critical patent/CN107748650B/zh
Publication of CN107748650A publication Critical patent/CN107748650A/zh
Application granted granted Critical
Publication of CN107748650B publication Critical patent/CN107748650B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/061Improving I/O performance
    • 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/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]
    • 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/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0674Disk device

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种网络编码集群存储系统中基于锁机制的数据重建策略,应用于采用AOE网络通信协议的NCFS网络编码分布式文件系统的节点失效场景中。该场景包括了数据重建和用户访问进程。本发明基于AOE协议中读性能优于写性能、网络编码系统中重建产生数倍网络带宽以及热区重建策略中用户流与重建数据流的I/O争用问题,设计了综合考虑用户访问特征和替换节点I/O性能的数据重建策略,实现了重建数据流持排它锁对替换节点进行写操作,写操作结束后释放排它锁由用户持有读锁对替换节点中已重建数据进行访问,避免了重建数据流在替换节点发生读写I/O争用,优化了热区重建策略中的数据重建性能和系统响应性能。

Description

一种网络编码集群存储系统中基于锁机制的数据重建策略
技术领域
本发明涉及存储系统技术领域,具体涉及一种网络编码集群存储系统中基于锁机制的数据重建策略。
背景技术
在数据规模与日俱增的背景下,为了减少数据储存的成本,网络编码成为了替代传统三副本的数据冗余机制。网络编码通过计算原始数据块的校验块来减少存储成本,然而当发生节点失效系统进行数据重建时,网络编码的文件系统需要牺牲数倍于副本机制的网络带宽。这既大大增加了数据重建时间,又增加了节点失效时的系统响应时间。缩小重建窗口对于保障系统数据可靠性和可用性很有必要。基于热区的分布式文件系统重建策略根据用户I/O负载优先重建热数据,一定程度地使数据重建性能和系统响应性能得到了优化。在热区重建策略中,替换磁盘同时服务于重建数据流和用户访问数据流,因此写和读操作在替换磁盘中交替进行。由于分布式存储系统中的I/O性能跟本地文件系统的I/O性能存在差异,如本发明实施阶段采用了ATA Over Ethernet(AOE)这种相对于iSCSI协议更加轻量、更加安全且性能更优越的网络通信协议来连接分布式的物理磁盘,在AOE中系统的写性能比读性能差。因此上述热区重建策略将导致以下问题:
(1)在发生磁盘失效的存储系统中,数据重建进程从存活磁盘中读取相关数据进行解码,计算出失效数据,再降失效数据写入替换磁盘,因此替换磁盘的I/O负载特征呈现为写密集型,加之写性能比读性能差,所以它同时服务于用户访问将因为较长的I/O等待队列和较长的I/O等待时间导致读性能降低;
(2)因为替换磁盘提供用户访问所以使替换磁盘中的I/O等待队列变长,这会导致磁盘的写性能降低;
(3)替换磁盘的写性能降低,意味着重建性能下降,也就是说系统的重建窗口变大,这会导致系统发生磁盘二次失效可能性的增加。
当分布式存储系统发生节点失效,仍要同时服务于重建数据流和用户访问数据流时,如何在系统处于退化模式下仍保证较好的访问性能,如何缩小数据重建窗口以保障系统的可靠性和可用性是亟待解决的问题。这个问题中磁盘I/O仍然是影响系统响应性能和重建性能的瓶颈。
因此亟须设计一种综合考虑磁盘I/O性能以及用户访问特征的数据重建策略来应对AOE中较差的写性能,避免替换节点中的磁盘读写争用导致的重建性能和响应性能的双重下降。
发明内容
本发明的目的是为了解决现有技术中的上述缺陷,公开了一种网络编码集群存储系统中基于锁机制的数据重建策略。
本发明的目的可以通过采取如下技术方案达到:
一种网络编码集群存储系统中基于锁机制的数据重建策略,所述的数据重建策略包括以下步骤:
S1、初始化网络编码集群存储系统参数,所述的系统参数包括节点数目、节点大小、所应用的网络编码类型、默认数据块大小;
S2、初始化数据重建进程,包括指定失效节点数目和替换设备名称,初始化后的数据重建进程等待跟踪进程发送当前访问最热区域;
S3、启动跟踪进程跟踪用户访问特征情况,对不同访问区域的访问次数进行统计;
S4、启动用户访问进程对网络编码集群存储系统发起访问,用户访问进程根据齐夫定律生成对网络编码集群存储系统的访问,若访问到存活节点的数据则直接访问,若访问的数据为失效数据则查看是否其所处区域已完成重建,若已完成重建则尝试获取替换设备的读锁,否则一律采取解码操作;
S5、数据重建进程接收跟踪进程发送来的当前最热访问区域,并对该区域内常数个数据块进行解码操作,之后优先获取替换设备写锁,对替换设备进行写操作。
进一步地,所述的步骤S4中的用户访问进程所发起的访问的实现步骤如下:
S401、随机生成本次访问的请求磁盘号,根据齐夫定律生成N个热区中要访问的热区号i,再随机生成热区i内的访问偏移地址并将其映射到请求磁盘的逻辑地址中;
S402、判断用户此次访问的磁盘是否已经失效;
S403、若用户此次访问磁盘未失效,则直接访问存活磁盘中指定数据块,之后跳转到步骤S401进行下一次访问;
S404、若用户此次访问磁盘已失效,则判断替换磁盘中请求访问的区域是否已经修复;
S405、请求访问区域已经重建完成,则判断获取替换磁盘的读锁是否成功;
S406、请求访问区域未重建完成,则执行解码操作,之后跳转到步骤S401进行下一次访问;
S407、获取替换磁盘读锁成功,则直接在替换磁盘中访问数据块,访问结束后释放对替换磁盘的读锁,之后跳转到步骤S401进行下一次访问;
S408、获取替换磁盘读锁失败,则跳转到步骤S406执行解码操作。
进一步地,所述的步骤S401中用户访问进程根据齐夫定律生成对网络编码集群存储系统的访问,使用户I/O符合80/20规则。
进一步地,所述的步骤S401中将磁盘划分为不同热区并进行访问的处理具体如下:
将所有磁盘横向均分为N个热区,根据齐夫定律选择每次需要访问的热区号i,由该定律产生的数据访问趋势为:热区0访问次数最多,其次是热区1,也就是访问次数随热区号的递增而递减。最终该趋势大致符合用户访问所遵循的80/20规则;
将N个热区同磁盘的逻辑地址做一个反向的映射,将热区0映射到了磁盘空间最后的区域,其次是热区1,最后一个热区N-1位于磁盘空间的首位;
确定访问热区号之后,根据该热区大小,随机生成此次访问的热区内偏移地址,之后根据上述映射机制计算出此次访问的磁盘逻辑地址,然后执行之后的访问步骤。
进一步地,所述的步骤S5中的数据重建进程包括下列步骤:
S501、判断跟踪进程是否发送当前访问最热区号i;
S502、若跟踪进程未发送则跳转到步骤S509结束;
S503、若跟踪进程发送最热区号i,根据最热区号i的重建偏移地址,即此次重建的起始地址,和最热区号i的大小计算出重建大小,默认为m个数据块直到到达热区i的末尾;
S504、顺序解码出所有失效磁盘中位于热区i中的从上述的重建偏移地址起始的m个数据块,并将解码数据存入缓存中;
S505、获取所有替换磁盘的写锁,准备对替换磁盘进行排他写,期间不允许用户对替换磁盘发起访问;
S506、将步骤S504中解码出的数据块从缓存中写入对应的替换节点中;
S507、写操作完成后,释放替换磁盘的写锁,即开放对用户的直接访问;
S508、更新热区i的重建偏移地址,即偏移地址加m个数据块的大小,之后跳转到步骤S501继续下一个热区的重建;
S509、热区重建结束。
进一步地,所述的步骤S505对替换节点的写操作处理具体如下:
当重建数据流对替换磁盘进行排他写操作前,可以优先获取替换磁盘的写锁,然后再对替换磁盘进行写操作,此期间用户无法对替换磁盘发起访问。
进一步地,所述的步骤S504中的解码操作处理具体如下:
针对RAID5、RAID6和Reed-Solomon三种网络编码,分别能容忍单节点失效、双节点失效和多节点失效,上述网络编码将原始数据按块存储,并计算出若干校验数据存储在不同节点中,当发生磁盘失效时,根据空间局部性原理和上述RAID5、RAID6和Reed-Solomon编码的条带式分布策略,相邻的数据块倾向于放置在相同或者相邻条带中,所以在重建过程中,采用按条带为单元的方式横向重建所有失效磁盘。
本发明相对于现有技术具有如下的优点及效果:
(1)本发明主要用于优化网络编码分布式存储系统在数据重建过程中的重建性能和系统响应性能,与传统数据重建策略和热区重建策略相比,本发明提出的基于锁机制的数据重建策略可以大幅优化重建性能和系统响应性能。
(2)本发明避免了热区重建策略中的数据重建流和用户数据流在替换磁盘中的读写争用导致的重建性能和响应性能的双重下降。
(3)本发明除了考虑锁机制来避免读写争用的同时也兼顾了减少用户访问失效节点热数据产生的数倍的网络带宽,即在写锁释放后用户可以持有读锁对替换节点中已重建好的热数据进行访问,从而进一步提升了系统响应性能,这也减少了用户数据流和重建数据流在存活节点的争用,从而提升了数据重建性能。
附图说明
图1是本发明公开的一种网络编码集群存储系统中基于锁机制的数据重建策略实施的步骤流程图;
图2是本发明公开的一种网络编码集群存储系统中基于锁机制的数据重建策略中的基于用户访问特征的数据重建示例;
图3是本发明公开的一种网络编码集群存储系统中基于锁机制的数据重建策略的应用于多节点失效场景的策略说明。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例
本发明实施例实现了一种网络编码集群存储系统中基于锁机制的数据重建策略,并对其中的数据重建性能和系统响应性能进行优化。传统的顺序数据重建策略会使用户访问产生大量的网络带宽从而降低系统响应性能;基于用户访问特征的热区重建策略中替换磁盘同时服务于重建数据流和用户数据流,由于替换磁盘是I/O负载为写密集型的设备并且写性能比读性能差,所以这两种数据流之间的争用又进一步导致重建性能和系统响应性能的双重下降。本发明实施例通过在重建过程和用户访问过程中加入锁机制,避免了替换磁盘中的数据流争用,减少了由此增加的I/O等待队列,从而优化了重建性能和响应性能,缩小了系统重建窗口,增加了系统的可靠性和可用性。
根据附图1所示,一种基于网络编码集群存储系统中基于锁机制的数据重建策略,包括下列步骤:
S1、初始化网络编码集群存储系统参数,所述的系统参数包括节点数目、节点大小、所应用的网络编码类型、默认数据块大小。
S2、初始化数据重建进程,包括指定失效节点数目和替换设备名称,初始化后的数据重建进程等待跟踪进程发送当前访问最热区域。
S3、启动跟踪进程跟踪用户访问特征情况,对不同访问区域的访问次数进行统计。
S4、启动用户访问进程对网络编码集群存储系统发起访问,用户访问进程根据齐夫定律生成对系统的访问,使用户I/O大致符合80/20规则。若访问到存活节点的数据则直接访问,若访问的数据为失效数据则查看是否其所处区域已完成重建,若已完成重建则尝试获取替换设备的读锁,否则一律采取解码操作。
所述的步骤S4中的用户访问进程所发起的每次访问的具体实现步骤如下:
S401、随机生成本次访问的请求磁盘号,根据齐夫定律生成N个热区中要访问的热区号i,再随机生成热区i内的访问偏移地址并将其映射到请求磁盘的逻辑地址中;
该步骤中将磁盘划分为不同热区并进行访问的处理具体如下:
将所有磁盘横向均分为N个热区。根据齐夫定律选择每次需要访问的热区号i。由该定律产生的数据访问趋势为:热区0访问次数最多,其次是热区1,也就是访问次数随热区号的递增而递减,最终该趋势大致符合用户访问所遵循的80/20规则。为了更加贴合实际情况,将这个热区同磁盘的逻辑地址做了一个反向的映射,将热区0映射到了磁盘空间最后的区域,其次是热区1,最后一个热区N-1位于磁盘空间的首位。这样的映射机制,使基于用户访问的数据重建和基于锁机制的数据重建策略同传统的顺序重建策略加以区分;
确定好访问热区号之后,根据该热区大小,随机生成此次访问的热区内偏移地址,之后根据上述映射机制计算出此次访问的磁盘逻辑地址,然后执行之后的访问步骤。
S402、判断用户此次访问的磁盘是否已经失效;
S403、若用户此次访问磁盘未失效,则直接访问存活磁盘中指定数据块,之后跳转到S401进行下一次访问;
S404、若用户此次访问磁盘已失效,则判断替换磁盘中请求访问的区域是否已经修复;
S405、请求访问区域已经重建完成,则判断获取替换磁盘的读锁是否成功;
S406、请求访问区域未重建完成,则执行解码操作,之后跳转到步骤S401进行下一次访问;
S407、获取替换磁盘读锁成功,则直接在替换磁盘中访问已完成重建的失效数据块,访问结束后释放对替换磁盘的读锁,之后跳转到S401进行下一次访问;
该步骤S407中对已完成重建的失效数据的访问处理具体如下:
当用户对在替换磁盘中已经重建完成的访问区域发起访问前,首先尝试获取替换磁盘的读锁。如果此时数据重建进程正在持有替换磁盘的写锁,那么用户进程将不能获取替换磁盘的读锁。
S408、获取替换磁盘读锁失败,则跳转到S406执行解码操作。
S5、数据重建进程接收跟踪进程发送来的当前最热访问区域,并对该区域内常数个数据块进行解码操作,之后优先获取替换设备写锁,对替换设备进行写操作。
上述的步骤S5中的数据重建进程具体包括下列步骤:
S501、判断跟踪进程是否发送当前访问最热区号i;
S502、若跟踪进程未发送则跳转到S509结束;
S503、若跟踪进程发送最热区号i,根据最热区号i的重建偏移地址,即此次重建的起始地址,和最热区号i的大小计算出重建大小,默认为m个数据块直到到达热区i的末尾;
S504、顺序解码出所有失效磁盘中位于热区i中的从上述的重建偏移地址起始的m个数据块,并将解码数据存入缓存中;
数据重建进程中的步骤S504中的解码操作处理具体如下:
本发明在实施阶段应用了RAID5、RAID6和Reed-Solomon三种网络编码,分别能容忍单节点失效、双节点失效和多节点失效。这些网络编码将原始数据按块存储,并计算出若干校验数据存储在不同节点中。当发生节点(磁盘)失效时,根据存活节点中的原始数据块和校验数据块计算出失效节点中的数据。这样的编码方式决定了,当重建一个节点的数据时,需要访问数倍的数据来重建失效数据。如RAID5编码的系统中,如果一个节点失效,则需要访问其他所有存活节点的数据来重建失效数据。根据空间局部性原理和常见网络编码如RAID5、RAID6和Reed-Solomon编码的条带式分布策略,相邻的数据块倾向于放置在相同或者相邻条带中,所以在重建过程中,采用按条带为单元的方式横向重建所有失效磁盘。
S505、获取所有替换磁盘的写锁,准备对替换磁盘进行排他写,期间不允许用户对替换磁盘发起访问;
所述的步骤S505对替换节点的写操作处理具体如下:
当重建数据流对替换磁盘进行排他写操作前,可以优先获取替换磁盘的写锁,然后再对替换磁盘进行写操作,这期间用户无法对替换磁盘发起访问。
重建数据流对替换磁盘持有的写锁比用户访问对替换磁盘持有的读锁具有更高的优先级,但这两种锁为互斥关系。该写锁优先级体现在,当一个用户访问释放替换磁盘读锁时,重建数据流若正好需要对替换磁盘进行写操作,则可以立马持有写锁,对替换磁盘进行排他写,从而避免两种数据流的相互影响。
S506、将S504中解码出的数据块从缓存中写入对应的替换节点中;
S507、写操作完成后,释放替换磁盘的写锁,即开放对用户的直接访问;
S508、更新热区i的重建偏移地址,即偏移地址加m个数据块的大小,之后跳转到S501继续下一个热区的重建;
S509、热区重建结束。
其中,图2展示了热区重建的示例。该图中显示了0、1、2三个热区。由上述数据重建进程包括步骤可知,由跟踪进程选择当前未完成重建且访问次数最多的热区1发送给数据重建进程。数据重建进程从热区1中的重建偏移地址7开始执行本次重建,重建m个数据块直至到达热区结束块。重建完成后接收下一个重建热区号。
其中,图3展示了本发明中将基于用户访问特征的热数据重建策略应用于多节点失效场景的方法。该图中,根据空间局部性原理,相邻数据块被访问到的比例大致相同,所以数据流中0~4为高频访问数据块,其次是5~9,再次是10~14。该示例中,采用了E-MBR编码来说明,其中以个条带表示编码的基本单元。以条带1为例,其中的校验块c1是由0~4线性组合构成的。从该图可以发现,由于编码的条带是分布策略,热度相同的数据块分布在相同的条带中,更普遍的情况是,热度相近的数据块会分布在相同或者邻近的条带中,因为大多数流行的网络编码也采用了E-MBR编码这种条带式分布策略,如本实施例中的RAID5、RAID6和Reed-Solomon编码。因此本发明的实施例中,采用按条带为单位的重建策略来应用热数据重建。如图所示,先重建热区1中的条带1,然后重建热区2中的条带2。
综上所述,本发明利用ATA Over Ethernet(AOE)协议写性能比读性能差的特点以及基于用户访问特征的热数据重建策略在替换磁盘中频繁地产生两种数据流之间的读写争用,将锁机制加入用户访问进程和数据重建进程,避免了重建数据流和用户数据流在同时访问替换磁盘时产生的数据流争用,同时兼顾了用户访问替换磁盘中已重建好的热数据,从而减少了用户访问产生的磁盘I/O和网络带宽,优化了系统重建性能和系统响应性能,缩小了系统重建窗口,增加了系统的可靠性和可用性。
上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。

Claims (7)

1.一种网络编码集群存储系统中基于锁机制的数据重建策略,其特征在于,所述的数据重建策略包括以下步骤:
S1、初始化网络编码集群存储系统参数,所述的系统参数包括节点数目、节点大小、所应用的网络编码类型、默认数据块大小;
S2、初始化数据重建进程,包括指定失效节点数目和替换设备名称,初始化后的数据重建进程等待跟踪进程发送当前访问最热区域;
S3、启动跟踪进程跟踪用户访问特征情况,对不同访问区域的访问次数进行统计;
S4、启动用户访问进程对网络编码集群存储系统发起访问,用户访问进程根据齐夫定律生成对网络编码集群存储系统的访问,若访问到存活节点的数据则直接访问,若访问的数据为失效节点数据则查看其所处区域是否已完成重建,若已完成重建则尝试获取替换设备的读锁,否则一律采取解码操作;
S5、数据重建进程接收跟踪进程发送来的当前最热访问区域,并对该区域内常数个数据块进行解码操作,之后优先获取替换设备写锁,对替换设备进行写操作。
2.根据权利要求1所述的一种网络编码集群存储系统中基于锁机制的数据重建策略,其特征在于,所述的步骤S4中的用户访问进程所发起的访问的实现步骤如下:
S401、随机生成本次访问的请求磁盘号,根据齐夫定律生成N个热区中要访问的热区号i,再随机生成热区i内的访问偏移地址并将其映射到请求磁盘的逻辑地址中;
S402、判断用户此次访问的磁盘是否已经失效;
S403、若用户此次访问磁盘未失效,则直接访问存活磁盘中指定数据块,之后跳转到步骤S401进行下一次访问;
S404、若用户此次访问磁盘已失效,则判断替换磁盘中请求访问的区域是否已经修复;
S405、请求访问区域已经重建完成,则判断获取替换磁盘的读锁是否成功;
S406、请求访问区域未重建完成,则执行解码操作,之后跳转到步骤S401进行下一次访问;
S407、获取替换磁盘读锁成功,则直接在替换磁盘中访问数据块,访问结束后释放对替换磁盘的读锁,之后跳转到步骤S401进行下一次访问;
S408、获取替换磁盘读锁失败,则跳转到步骤S406执行解码操作。
3.根据权利要求2所述的一种网络编码集群存储系统中基于锁机制的数据重建策略,其特征在于,所述的步骤S401中用户访问进程根据齐夫定律生成对网络编码集群存储系统的访问,使用户I/O符合80/20规则。
4.根据权利要求3所述的一种网络编码集群存储系统中基于锁机制的数据重建策略,其特征在于,所述的步骤S401中将磁盘划分为不同热区并进行访问的处理具体如下:
将所有磁盘横向均分为N个热区,根据齐夫定律选择每次需要访问的热区号i,由该定律产生的数据访问趋势为:热区0访问次数最多,其次是热区1,也就是访问次数随热区号的递增而递减,最终该趋势符合用户访问所遵循的80/20规则;
将N个热区同磁盘的逻辑地址做一个反向的映射,将热区0映射到了磁盘空间最后的区域,其次是热区1,最后一个热区N-1位于磁盘空间的首位;
确定访问热区号之后,根据该热区大小,随机生成此次访问的热区内偏移地址,之后根据上述映射机制计算出此次访问的磁盘逻辑地址,然后执行之后的访问步骤。
5.根据权利要求1所述的一种网络编码集群存储系统中基于锁机制的数据重建策略,其特征在于,所述的步骤S5中的数据重建进程包括下列步骤:
S501、判断跟踪进程是否发送当前访问最热区号i;
S502、若跟踪进程未发送则跳转到步骤S509结束;
S503、若跟踪进程发送最热区号i,根据最热区号i的重建偏移地址,即此次重建的起始地址,和最热区号i的大小计算出重建大小,默认为m个数据块直到到达热区i的末尾;
S504、顺序解码出所有失效磁盘中位于热区i中的从上述的重建偏移地址起始的m个数据块,并将解码数据存入缓存中;
S505、获取所有替换磁盘的写锁,准备对替换磁盘进行排他写,期间不允许用户对替换磁盘发起访问;
S506、将步骤S504中解码出的数据块从缓存中写入对应的替换节点中;
S507、写操作完成后,释放替换磁盘的写锁,即开放对用户的直接访问;
S508、更新热区i的重建偏移地址,即偏移地址加m个数据块的大小,之后跳转到步骤S501继续下一个热区的重建;
S509、热区重建结束。
6.根据权利要求5所述的一种网络编码集群存储系统中基于锁机制的数据重建策略,其特征在于,所述的步骤S505对替换节点的写操作处理具体如下:
当重建数据流对替换磁盘进行排他写操作前,可以优先获取替换磁盘的写锁,然后再对替换磁盘进行写操作,此期间用户无法对替换磁盘发起访问。
7.根据权利要求5所述的一种网络编码集群存储系统中基于锁机制的数据重建策略,其特征在于,所述的步骤S504中的解码操作处理具体如下:
针对RAID5、RAID6和Reed-Solomon三种网络编码,分别能容忍单节点失效、双节点失效和多节点失效,上述网络编码将原始数据按块存储,并计算出若干校验数据存储在不同节点中,当发生磁盘失效时,根据空间局部性原理和上述RAID5、RAID6和Reed-Solomon编码的条带式分布策略,相邻的数据块倾向于放置在相同或者相邻条带中,所以在重建过程中,采用按条带为单元的方式横向重建所有失效磁盘。
CN201710928159.3A 2017-10-09 2017-10-09 一种网络编码集群存储系统中基于锁机制的数据重建策略 Active CN107748650B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710928159.3A CN107748650B (zh) 2017-10-09 2017-10-09 一种网络编码集群存储系统中基于锁机制的数据重建策略

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710928159.3A CN107748650B (zh) 2017-10-09 2017-10-09 一种网络编码集群存储系统中基于锁机制的数据重建策略

Publications (2)

Publication Number Publication Date
CN107748650A CN107748650A (zh) 2018-03-02
CN107748650B true CN107748650B (zh) 2020-07-03

Family

ID=61255197

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710928159.3A Active CN107748650B (zh) 2017-10-09 2017-10-09 一种网络编码集群存储系统中基于锁机制的数据重建策略

Country Status (1)

Country Link
CN (1) CN107748650B (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101329641A (zh) * 2008-06-11 2008-12-24 华中科技大学 一种磁盘阵列的数据重建方法
EP2673885A1 (en) * 2011-02-11 2013-12-18 Qualcomm Incorporated Encoding and decoding using elastic codes with flexible source block mapping
CN104598336A (zh) * 2015-02-04 2015-05-06 北京神州云科数据技术有限公司 基于raid算法的重建方法及装置
CN106802895A (zh) * 2015-11-26 2017-06-06 阿里巴巴集团控股有限公司 用于修复数据库备库数据的方法和设备
CN107196991A (zh) * 2017-04-06 2017-09-22 暨南大学 一种面向网络编码集群系统的数据更新方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101329641A (zh) * 2008-06-11 2008-12-24 华中科技大学 一种磁盘阵列的数据重建方法
EP2673885A1 (en) * 2011-02-11 2013-12-18 Qualcomm Incorporated Encoding and decoding using elastic codes with flexible source block mapping
CN104598336A (zh) * 2015-02-04 2015-05-06 北京神州云科数据技术有限公司 基于raid算法的重建方法及装置
CN106802895A (zh) * 2015-11-26 2017-06-06 阿里巴巴集团控股有限公司 用于修复数据库备库数据的方法和设备
CN107196991A (zh) * 2017-04-06 2017-09-22 暨南大学 一种面向网络编码集群系统的数据更新方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
PRO: A Popularity-based Multi-threaded Reconstruction Optimization for RAID-Structured Storage Systems;Lei Tian,et al.;《FAST ’07: 5th USENIX Conference on File and Storage Technologies》;20071231;第277-290页 *
一种网络编码分布式存储系统中的数据更新策略;刘冰星,等.;《小型微型计算机系统》;20170331(第3期);第645-650页 *
网络编码系统中基于访问频度的数据重建方法;李凯.;《微型机与应用》;20141231;第33卷(第6期);第7-9页 *

Also Published As

Publication number Publication date
CN107748650A (zh) 2018-03-02

Similar Documents

Publication Publication Date Title
US9927976B2 (en) Storing data in a directory-less dispersed storage network
US9933973B2 (en) Systems and methods for data organization in storage systems using large erasure codes
US8554994B2 (en) Distributed storage network utilizing memory stripes
US10334046B2 (en) Utilizing data object storage tracking in a dispersed storage network
US9891829B2 (en) Storage of data with verification in a dispersed storage network
US10191808B2 (en) Systems and methods for storing, maintaining, and accessing objects in storage system clusters
US20150067421A1 (en) Dispersed storage with variable slice length and methods for use therewith
CN109164981B (zh) 磁盘管理方法、装置、存储介质和设备
CN110651246B (zh) 一种数据读写方法、装置和存储服务器
WO2014194188A1 (en) Adjusting dispersed storage network traffic due to rebuilding
CN103914402B (zh) 一种基于纠删码缓存的重构优化方法
WO2010133080A1 (zh) 基于(d,k)摩尔图的网络存储结构的数据存储方法
WO2024001126A1 (zh) 一种纠删码融合方法、系统、电子设备及非易失性可读存储介质
CN107787485B (zh) 多读取和写入端口存储器
CN103605582A (zh) 一种基于写重定向的纠删码存储重构优化方法
US20140289489A1 (en) Information processing apparatus, information processing method, storage system and non-transitory computer readable storage media
CN111008181A (zh) 一种分布式文件系统存储策略切换方法、系统、终端及存储介质
CN107748650B (zh) 一种网络编码集群存储系统中基于锁机制的数据重建策略
WO2022007225A1 (zh) 数据存储方法、存储系统、存储设备及存储介质
CN112000278B (zh) 一种热数据存储的自适应局部重构码设计方法及云存储系统
US11625300B2 (en) Recovering missing data in a storage network via locally decodable redundancy data
US20160224403A1 (en) Storing data using a dual path storage approach
CN110121874B (zh) 一种存储器数据替换方法、服务器节点和数据存储系统
CN109960588B (zh) 一种针对异构内存集群的读请求调度方法及系统
US11836369B1 (en) Storing data in an expanded storage pool of a vast storage network

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

Effective date of registration: 20201216

Address after: 510632 No. 601, Whampoa Avenue, Tianhe District, Guangdong, Guangzhou

Patentee after: Guangzhou Jinan University Science Park Management Co.,Ltd.

Address before: 510632 No. 601, Whampoa Avenue, Tianhe District, Guangdong, Guangzhou

Patentee before: Jinan University

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20210113

Address after: 708, 7th floor, 37 Huajing Road, Huajing new town, 105 Zhongshan Avenue, Tianhe District, Guangzhou City, Guangdong Province, 510630

Patentee after: Guangzhou bailuo Technology Co., Ltd

Patentee after: Guangzhou Jinan University Science Park Management Co.,Ltd.

Address before: 510632 No. 601, Whampoa Avenue, Tianhe District, Guangdong, Guangzhou

Patentee before: Guangzhou Jinan University Science Park Management Co.,Ltd.

TR01 Transfer of patent right