一种分布式存储系统中重构热点消除方法和装置制造方法及图纸

技术编号:15297507 阅读:41 留言:0更新日期:2017-05-11 19:58
本发明专利技术提供了一种分布式存储系统中重构热点消除方法和装置,分布式存储系统中的一节点上线后触发针对该节点中需要进行数据更新的所有存储区域的重构过程,该方法用于执行针对该节点需要进行数据更新的中任一存储区域的重构过程,包括:步骤A、下发指向该节点中该存储区域的重构IO到该节点;步骤B、检测是否发生重构热点事件,如果发生重构热点事件,则执行步骤C,否则,返回执行步骤A;步骤C、按照预设算法确定是否需要结束重构过程,如果需要结束重构过程,则执行步骤D,否则,返回执行步骤A。步骤D、结束针对该节点中该存储区域的重构过程。

Method and device for eliminating reconstruction hotspot in distributed storage system

The present invention provides a method and apparatus for eliminating hot reconstruction of a distributed storage system, a node in the distributed storage system after the on-line trigger for the reconstruction process of all storage areas need updates in the node, the method used to perform the reconstruction process, any storage area to the node of data update including: step A, issued to the reconstruction of IO storage area in the node to the node; step B, detect the occurrence of reconstruction of hot events, if the reconstruction of hot events, otherwise executing step C, and return to step A; step C, according to the preset algorithm to determine whether the need to end the reconstruction process, if needed the end of the reconstruction process, otherwise executing step D, and return to step A. Step D, the end of the storage area for the reconstruction process.

【技术实现步骤摘要】

本专利技术涉及存储
,特别涉及一种分布式存储系统中重构热点消除方法和装置
技术介绍
分布式存储系统是将数据分散存储在多台服务器上,利用多机的并行处理能力,提高稳定性和线性扩展能力的一种形式。它相对于以往的集中存储系统,更加注重并发处理、避免单点故障和性能瓶颈。分布式存储系统对外是单一的IO接口,对内会包括分散的存储节点、节点间的通讯线路和各节点协同工作的管控机制。数据的存储格式虽然多样,但是原则都是增加其冗余性,典型的如RAID。通过对各个节点上直连的存储进行切片。外部数据在存储时会分散到各个节点的各个存储上,同时会依据数学公式计算出冗余性的校验数据parity,parity也会分散在各个节点。这样,针对写请求,系统能够充分利用多节点、多磁盘同时写入的优势,缩短写入所需要的时间。针对读请求,可以并发读取,并且如果部分原始数据无法访问(物理介质损坏或者所在节点不可访问),系统可以利用冗余数据来得到并修复原始数据。当损坏的物理介质被更换或者掉线的节点重新上线之后,系统再将需要更新的数据重新写到其物理介质上,保证存储数据的正确性,也保证用户数据和校验数据的一致性。这个写入的过程叫做重构。实际经常发生的情况是网络故障或者维护行为造成的节点短暂离线。节点上线后该节点上就会集中大量的重构IO。过量的IO请求会造成底层磁盘的负载加大,拖慢其处理速度,延长请求的响应时间,也会造成系统自身资源,尤其是缓冲区的浪费。因为系统缓冲区是有限制的,被单个节点拖慢后,其他节点虽然空闲,但是没法执行进一步的处理。如此,原本的高并发就被串行化了,极大削弱了分布式系统的并发能力。
技术实现思路
有鉴于此,本专利技术的目的在于提供一种分布式存储系统中重构热点消除方法和装置,能够对重构过程进行管控,保证分布式系统的并发处理能力。为了达到上述目的,本专利技术提供了如下技术方案:一种分布式存储系统中重构热点消除方法,分布式存储系统中的一节点上线后触发针对该节点中需要进行数据更新的所有存储区域的重构过程,该方法用于执行针对该节点中需要进行数据更新的任一存储区域的重构过程,包括:步骤A、下发指向该节点中该存储区域的重构IO到该节点;步骤B、检测是否发生重构热点事件,如果发生重构热点事件,则执行步骤C,否则,返回执行步骤A;步骤C、按照预设算法确定是否需要结束重构过程,如果需要结束重构过程,则执行步骤D,否则,返回执行步骤A。步骤D、结束针对该节点中该存储区域的重构过程。一种分布式存储系统中重构热点消除装置,分布式存储系统中的一节点上线后触发针对该节点中需要进行数据更新的所有存储区域的重构过程,该装置用于执行针对该节点中需要进行数据更新的任一存储区域的重构过程,包括:下发单元、检测单元、处理单元;所述下发单元,用于下发指向该节点中该存储区域的重构IO到该节点;所述检测单元,用于下发单元下发指向该节点中该存储区域的重构IO到该节点后,检测是否发生重构热点事件;所述处理单元,用于如果检测单元检测确定未发生重构热点事件,则指示下发单元继续下发指向该节点中该存储区域的重构IO到该节点;如果检测单元检测确定发生重构热点事件,则按照预设算法确定是否需要结束重构过程,若需要结束重构过程,则结束针对该节点中该存储区域的重构过程,若不需要结束重构过程,则指示下发单元继续下发指向该节点中该存储区域的重构IO到该节点。由上面的技术方案可知,本专利技术中,在执行重构的过程中,每次下发指向该节点中该存储区域的一个重构IO到该节点后,就检测是否发生重构热点事件,当发生重构热点事件,按照预设算法确定是否需要结束重构过程,从而可以结束部分重构过程,同时保留另一部分重构过程继续正常执行,实现对重构过程进行管控,保证分布式系统的并发处理能力。附图说明图1是本专利技术实施例分布式存储系统中重构热点消除方法流程图;图2是本专利技术实施例分布式存储系统中重构热点消除装置的结构示意图。具体实施方式为了使本专利技术的目的、技术方案及优点更加清楚明白,下面结合附图并据实施例,对本专利技术的技术方案进行详细说明。在分布式存储系统中,当因损坏的物理介质被更换或节点掉线再上线的时段内,如果用户写入新的数据,则会造成该节点中的部分存储区域上所存的原始的用户数据或者系统生成的冗余校验数据需要更新。当节点重新上线后,为保证存储数据的正确性,保证用户数据和校验数据的一致性,需要针对该节点中的需要进行数据更新的所有存储区域启动重构过程,其中,对于每个需要进行数据更新的存储区域,均启动一个对应的重构过程(也即重构进程)。为了避免多个重构过程因争夺资源而导致分布式系统的并发能力的削弱,本专利技术中,在每个重构过程中引入重构热点事件的概念,当重构速度过慢,和,磁盘响应时间(wait)值过大时,确定发生重构热点事件。一般情况下,在一个重构过程中检测到重构热点事件时,其它重构过程检测到重构热点事件的概率也很大,如果此时都结束重构过程,并都在此后选择其他时间进行重构的话,则还会造成拥塞。因此,本专利技术中,在检测确定发生重构热点事件时,按照预设算法确定是继续执行重构过程或暂时结束重构过程,从而可以避免同时结束过多重构过程。参见图1,图1是本专利技术实施例分布式存储系统中重构热点消除方法流程图,其特征在于,分布式存储系统中的一节点上线后触发针对该节点中需要进行数据更新的所有存储区域的重构过程,该方法用于执行针对该节点中需要进行数据更新的任一存储区域的重构过程,包括:步骤101、下发指向该节点中该存储区域的重构IO到该节点;步骤102、检测是否发生重构热点事件,如果发生重构热点事件,则执行步骤103,否则,返回执行步骤101;步骤103、按照预设算法确定是否需要结束重构过程,如果需要结束重构过程,则执行步骤104,否则,返回执行步骤101。步骤104、结束针对该节点中该存储区域的重构过程。结束针对该节点中该存储区域的重构过程之后,还可以等待一段时间后,再次重启重构过程,也即再次执行上述下发重构步骤101-104,而且再次重启的重构过程只针对尚未下发的指向该节点中该存储区域的重构IO即可,因此,本实施例还包括以下步骤105:步骤105、在预设时长后,基于尚未下发的指向该节点中该存储区域的重构IO,重启针对该节点中该存储区域的重构过程。在实际应用中,过量的IO请求会导致底层磁盘的负载加大,拖慢其处理速度,延长请求的响应时间,此时该存储区域的重构速度必然会变慢,而该存储区域所属磁盘的响应时间(wait)值也会变大,因此,将该存储区域的重构速度和/或该存储区域所属磁盘的wait值作为衡量是否出现重构热点事件的衡量因素。检测是否发生重构热点事件的方法至少有以下三种:1)计算该节点中该存储区域的重构速度,如果该存储区域的重构速度低于预设重构速度,则确定发生重构热点事件,否则,确定未发生重构热点事件;2)获取该节点中该存储区域所属磁盘的wait值,如果该磁盘wait值大于预设响应时间阈值,则确定发生重构热点事件,否则,确定未发生重构热点事件;3)计算该节点中该存储区域的重构速度,并获取该节点中该存储区域所属磁盘的响应时间wait值,如果该存储区域的重构速度低于预设重构速度且该磁盘wait值大于预设响应时间阈值,则确定发生重构热点事件,否则,确定未发生重构热点事件本文档来自技高网
...
一种分布式存储系统中重构热点消除方法和装置

【技术保护点】
一种分布式存储系统中重构热点消除方法,其特征在于,分布式存储系统中的一节点上线后触发针对该节点中需要进行数据更新的所有存储区域的重构过程,该方法用于执行针对该节点中需要进行数据更新的任一存储区域的重构过程,包括:步骤A、下发指向该节点中该存储区域的重构IO到该节点;步骤B、检测是否发生重构热点事件,如果发生重构热点事件,则执行步骤C,否则,返回执行步骤A;步骤C、按照预设算法确定是否需要结束重构过程,如果需要结束重构过程,则执行步骤D,否则,返回执行步骤A。步骤D、结束针对该节点中该存储区域的重构过程。

【技术特征摘要】
1.一种分布式存储系统中重构热点消除方法,其特征在于,分布式存储系统中的一节点上线后触发针对该节点中需要进行数据更新的所有存储区域的重构过程,该方法用于执行针对该节点中需要进行数据更新的任一存储区域的重构过程,包括:步骤A、下发指向该节点中该存储区域的重构IO到该节点;步骤B、检测是否发生重构热点事件,如果发生重构热点事件,则执行步骤C,否则,返回执行步骤A;步骤C、按照预设算法确定是否需要结束重构过程,如果需要结束重构过程,则执行步骤D,否则,返回执行步骤A。步骤D、结束针对该节点中该存储区域的重构过程。2.根据权利要求1所述的方法,其特征在于,结束针对该节点中该存储区域的重构过程之后,进一步包括:在预设时长后,基于尚未下发的指向该节点中该存储区域的重构IO,重启针对该节点中该存储区域的重构过程。3.根据权利要求2所述的方法,其特征在于,检测是否发生重构热点事件的方法为:计算该节点中该存储区域的重构速度,如果该存储区域的重构速度低于预设重构速度,则确定发生重构热点事件,否则,确定未发生重构热点事件;或者,检测是否发生重构热点事件的方法为:获取该节点中该存储区域所属磁盘的响应时间wait值,如果该磁盘wait值大于预设响应时间阈值,则确定发生重构热点事件,否则,确定未发生重构热点事件;或者,检测是否发生重构热点事件的方法为:计算该节点中该存储区域的重构速度,并获取该节点中该存储区域所属磁盘的响应时间wait值,如果该存储区域的重构速度低于预设重构速度且该磁盘wait值大于预设响应时间阈值,则确定发生重构热点事件,否则,确定未发生重构热点事件。4.根据权利要求2所述的方法,其特征在于,首次检测到重构热点事件时,进一步将该节点中该存储区域ID除以第一预设值的余数设置为第一衡量值x,同时还获取检测到重构热点事件的时间T,将T除以第一预设值的余数作为第二衡量值y;按照预设算法确定是否需要结束重构过程,包括:如果不是首次检测到重构热点事件,则将x赋值为x与第二预设值的商;比较x与y的大小,如果x小于y,则确定需要结束重构过程,否则,确定不需要结束重构过程。5.根据权利要求4所述的方法,其特征在于,检测确定发生重构热点事件之后,进一步包括:将重构冲突次数增1,将重构未冲突次数清零;检测确定未发生重构热点事件之后,进一步包括:将重构未冲突次数增1,如果重构未冲突次数大于第三预设值,则将重构冲突次数清零;判断是否为首次检测到重构热点事件的方法为:如果重构冲突次数为1,则确定是首次检测到重构热点事件,否则,确定不是首次检测到重构热点事件。6.一种分布式存储系统中重构热点消除装置,其特征在于,分布式存储系统中的一节点上线后触发针对该节点中需要进行数据更新的所有存储区域的重构过程,该装置用于执行针对该节点中需要进行数据更新的任一存储区域的...

【专利技术属性】
技术研发人员:曹锡韬
申请(专利权)人:创新科存储技术深圳有限公司创新科软件技术深圳有限公司
类型:发明
国别省市:广东;44

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

1