【技术实现步骤摘要】
对分布式存储系统中慢节点的检测
本专利技术涉及分布式存储系统
,尤其涉及一种检测分布式存储系统中的慢节点的技术。
技术介绍
在当前的分布式存储系统中,随着集群节点数的线性增加,出现慢节点的概率也会随之增加。例如,当出现以下情形时,分布式存储系统可能出现慢节点:由于机器硬件资源达到瓶颈,导致对应的处理程序资源不足从而处理请求变慢,出现的场景如:机器出现故障;机器本身硬件条件不统一;机器上混布的其它业务占用资源增多。软件的单机实例自己本身达到了瓶颈,从而导致处理能力不足,出现的场景如:分布到单实例的请求数目不均;软件bug等。集群的节点之间网络出现割裂或者阻塞的情况。对应到分布式存储系统,在基于复制(Replication)的副本模式下,单个文件的数据在N个副本组成的管道(pipeline)中流动时,如果其中某个节点是慢节点,整个数据的写入流程必然会受到影响。当用户从分布式存储读取数据的时候,如果读取的副本是慢节点或者客户端到读取副本之间网络有问题,数据的读取流程也会受到影响。
技术实现思路
本专利技术的目的是提供一种检测分布式存储系统中的慢节点的方法、设备、系统以及计算机程序产品。根据本专利技术的一个方面,提供了一种检测分布式存储系统中的慢节点的方法,其中,所述分布式存储系统包括主节点、多个存储节点和一个或多个客户端,其中,在所述客户端,该方法包括以下步骤:-当根据从所述主节点获取的一文件的副本节点列表对其中一个副本节点中所述文件的副本执行数据写入操作时检测到慢节点事件,向所述文件的各副本节点发送异步请求,所述副本节点为存储有所述文件的副本的存储节点;-根 ...
【技术保护点】
一种检测分布式存储系统中的慢节点的方法,其中,所述分布式存储系统包括主节点、多个存储节点和一个或多个客户端,其中,在所述客户端,该方法包括以下步骤:‑当根据从所述主节点获取的一文件的副本节点列表对其中一个副本节点中所述文件的副本执行数据写入操作时检测到慢节点事件,向所述文件的各副本节点发送异步请求,所述副本节点为存储有所述文件的副本的存储节点;‑根据所述各副本节点的响应信息,从所述各副本节点中确定慢节点;‑向所述主节点通知所述慢节点,以由所述主节点将所述慢节点从所述副本节点列表中删除;‑刷新所述文件的副本节点列表,以重新对其中一个副本节点中的文件副本执行数据写入操作。
【技术特征摘要】
1.一种检测分布式存储系统中的慢节点的方法,其中,所述分布式存储系统包括主节点、多个存储节点和一个或多个客户端,其中,在所述客户端,该方法包括以下步骤:-当根据从所述主节点获取的一文件的副本节点列表对其中一个副本节点中所述文件的副本执行数据写入操作时检测到慢节点事件,向所述文件的各副本节点发送异步请求,所述副本节点为存储有所述文件的副本的存储节点;-根据所述各副本节点的响应信息,从所述各副本节点中确定慢节点;-向所述主节点通知所述慢节点,以由所述主节点将所述慢节点从所述副本节点列表中删除;-刷新所述文件的副本节点列表,以重新对其中一个副本节点中的文件副本执行数据写入操作。2.根据权利要求1所述的方法,其中,所述响应信息至少包括以下信息:-所述副本节点的状态信息;-所述副本节点中所述文件的副本的数据写入状态信息;-所述副本节点的响应时间信息。3.根据权利要求1或2所述的方法,其中,如果根据所述各副本节点的响应信息未能确定慢节点,在所述客户端,该方法还包括以下步骤:-模拟一个探测写请求并发送至其中一个副本节点,所述探测写请求将经过每个副本节点并要求每个副本节点收到所述探测写请求时返回确认信息;-根据所述每个副本节点返回的确认信息,从所述每个副本节点中确定慢节点。4.根据权利要求3所述的方法,其中,所述确认信息包括所述副本节点收到所述探测写请求的时间信息。5.根据权利要求1至4中任一项所述的方法,其中,在所述主节点,该方法还包括以下步骤:-在接收到所述客户端关于所述慢节点的通知后,更新所述文件的副本的版本号;-将更新后的版本号通知至所述文件的其他副本节点,以由所述其他副本节点同步已执行的写入数据;-更新所述文件的副本节点列表。6.根据权利要求5所述的方法,其中,在所述主节点,该方法还包括以下步骤:-根据各存储节点上报的状态信息,从所述各存储节点中确定慢节点,以用于之后的副本创建决策。7.根据权利要求1至6中任一项所述的方法,其中,在所述主节点,该方法还包括以下步骤:-将被作为慢节点的次数超过阈值的存储节点加入故障节点列表。8.根据权利要求1至7中任一项所述的方法,其中,在所述客户端,该方法还包括以下步骤:-根据从所述主节点获取的一文件的副本节点列表,按照其中各副本节点的访问耗时信息,从中选择执行对所述文件的副本的数据读取操作的副本节点;-从所选择的副本节点获取所述文件的副本。9.根据权利要求8所述的方法,其中,在所述客户端,该方法还包括以下步骤:-当在获取所述文件的副本时检测到慢节点事件,重新选择副本节点来获取所述文件的副本。10.一种检测分布式存储系统中的慢节点的客户端,其中,所述分布式存储系统包括主节点、多个存储节点和一个或多个所述客户端,其中,所述客户端包括:用于当根据从所述主节点获取的一文件的副本节点列表对其中一个副本节点中所述文件的副本执行数据写入操作时检测到慢节点事件,向所述文件的各副本节点发送异步请求的装置,所述副本节点为存储有所述文件的副本的存储节点;用于根据所述各副本节点的响应信息,从所述各副本节点中确定慢节点的装置;用于向所述主节点通知所述慢节点的装置,以由所述主节点将所述慢节点从所述副本节点列表中删除;用于刷新所述文件的副本节点列表的装置,以重新对其中一个副本节点中的文件副本执行数据写入操作。11.根据权利要求10所述的客户端,其中,所述响应信息至少包括以下信息:...
【专利技术属性】
技术研发人员:李志文,郭波,
申请(专利权)人:北京百度网讯科技有限公司,
类型:发明
国别省市:北京,11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。