CN106878388A - 对分布式存储系统中慢节点的检测 - Google Patents
对分布式存储系统中慢节点的检测 Download PDFInfo
- Publication number
- CN106878388A CN106878388A CN201710005058.9A CN201710005058A CN106878388A CN 106878388 A CN106878388 A CN 106878388A CN 201710005058 A CN201710005058 A CN 201710005058A CN 106878388 A CN106878388 A CN 106878388A
- Authority
- CN
- China
- Prior art keywords
- node
- replica
- slow
- file
- copy
- 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.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/06—Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
- G06F3/0611—Improving I/O performance in relation to response time
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0653—Monitoring storage devices or systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/067—Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1095—Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
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)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Debugging And Monitoring (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明的目的是提供一种检测分布式存储系统中的慢节点的方法、设备、系统以及计算机程序产品。其中,当检测到慢节点事件,客户端向所述文件的各副本节点发送异步请求,所述副本节点为存储有所述文件的副本的存储节点;根据所述各副本节点的响应信息,从所述各副本节点中确定慢节点;向所述主节点通知所述慢节点,以由所述主节点将所述慢节点从所述副本节点列表中删除;刷新所述文件的副本节点列表,以重新对其中一个副本节点中的文件副本执行数据写入操作。与现有技术相比,本发明通过对分布式存储系统中慢节点的探测及规避策略,使得分布式存储系统在用户的读写请求的耗时长尾显著减少。
Description
技术领域
本发明涉及分布式存储系统技术领域,尤其涉及一种检测分布式存储系统中的慢节点的技术。
背景技术
在当前的分布式存储系统中,随着集群节点数的线性增加,出现慢节点的概率也会随之增加。
例如,当出现以下情形时,分布式存储系统可能出现慢节点:
由于机器硬件资源达到瓶颈,导致对应的处理程序资源不足从而处理请求变慢,出现的场景如:机器出现故障;机器本身硬件条件不统一;机器上混布的其它业务占用资源增多。
软件的单机实例自己本身达到了瓶颈,从而导致处理能力不足,出现的场景如:分布到单实例的请求数目不均;软件bug等。
集群的节点之间网络出现割裂或者阻塞的情况。
对应到分布式存储系统,在基于复制(Replication)的副本模式下,单个文件的数据在N个副本组成的管道(pipeline)中流动时,如果其中某个节点是慢节点,整个数据的写入流程必然会受到影响。当用户从分布式存储读取数据的时候,如果读取的副本是慢节点或者客户端到读取副本之间网络有问题,数据的读取流程也会受到影响。
发明内容
本发明的目的是提供一种检测分布式存储系统中的慢节点的方法、设备、系统以及计算机程序产品。
根据本发明的一个方面,提供了一种检测分布式存储系统中的慢节点的方法,其中,所述分布式存储系统包括主节点、多个存储节点和一个或多个客户端,其中,在所述客户端,该方法包括以下步骤:
-当根据从所述主节点获取的一文件的副本节点列表对其中一个副本节点中所述文件的副本执行数据写入操作时检测到慢节点事件,向所述文件的各副本节点发送异步请求,所述副本节点为存储有所述文件的副本的存储节点;
-根据所述各副本节点的响应信息,从所述各副本节点中确定慢节点;
-向所述主节点通知所述慢节点,以由所述主节点将所述慢节点从所述副本节点列表中删除;
-刷新所述文件的副本节点列表,以重新对其中一个副本节点中的文件副本执行数据写入操作。
根据本发明的一个方面,还提供了一种检测分布式存储系统中的慢节点的客户端,其中,所述分布式存储系统包括主节点、多个存储节点和一个或多个所述客户端,其中,所述客户端包括:
用于当根据从所述主节点获取的一文件的副本节点列表对其中一个副本节点中所述文件的副本执行数据写入操作时检测到慢节点事件,向所述文件的各副本节点发送异步请求的装置,所述副本节点为存储有所述文件的副本的存储节点;
用于根据所述各副本节点的响应信息,从所述各副本节点中确定慢节点的装置;
用于向所述主节点通知所述慢节点的装置,以由所述主节点将所述慢节点从所述副本节点列表中删除;
用于刷新所述文件的副本节点列表的装置,以重新对其中一个副本节点中的文件副本执行数据写入操作。
根据本发明的一个方面,还提供了一种检测分布式存储系统中的慢节点的主节点,其中,所述分布式存储系统包括所述主节点、多个存储节点和一个或多个客户端,其中,所述主节点包括:
用于在接收到所述客户端关于所述慢节点的通知后,更新所述文件的副本的版本号的装置;
用于将更新后的版本号通知至所述文件的其他副本节点的装置,以由所述其他副本节点同步已执行的写入数据;
用于更新所述文件的副本节点列表的装置。
根据本发明的一个方面,还提供了一种分布式存储系统,其中,所述分布式存储系统包括所述主节点、多个存储节点和一个或多个客户端,其中,所述主节点包括如上所述的一种检测分布式存储系统中的慢节点的主节点,所述客户端包括如上所述的一种检测分布式存储系统中的慢节点的客户端。
根据本发明的一个方面,还提供了一种计算机程序产品,其中,所述计算机程序产品运行于分布式存储系统的客户端中,所述分布式存储系统包括所述主节点、多个存储节点和一个或多个客户端,其中,所述计算机程序产品被运行来执行如上所述的一种检测分布式存储系统中的慢节点的方法。
根据本发明的一个方面,还提供了一种计算机程序产品,其中,所述计算机程序产品运行于分布式存储系统的主节点中,所述分布式存储系统包括所述主节点、多个存储节点和一个或多个客户端,其中,所述计算机程序产品被运行来执行以下步骤:
-在接收到所述客户端关于所述慢节点的通知后,更新所述文件的副本的版本号;
-将更新后的版本号通知至所述文件的其他副本节点,以由所述其他副本节点同步已执行的写入数据;
-更新所述文件的副本节点列表。
根据本发明的一个方面,还提供了一种计算机设备,其中,所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,当所述处理器运行所述计算机程序时,所述计算机设备被作为分布式存储系统中的客户端来执行如上所述的一种检测分布式存储系统中的慢节点的方法,其中,所述分布式存储系统包括主节点、多个存储节点和一个或多个所述客户端。
根据本发明的一个方面,还提供了一种计算机设备,其中,所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,当所述处理器运行所述计算机程序时,所述计算机设备被作为分布式存储系统中的主节点来执行以下步骤:
-在接收到所述客户端关于所述慢节点的通知后,更新所述文件的副本的版本号;
-将更新后的版本号通知至所述文件的其他副本节点,以由所述其他副本节点同步已执行的写入数据;
-更新所述文件的副本节点列表;
其中,所述分布式存储系统包括所述主节点、多个存储节点和一个或多个客户端。
与现有技术相比,本发明通过对分布式存储系统中慢节点的探测及规避策略,使得分布式存储系统在用户的读写请求的耗时长尾显著减少。例如,线上统计数据显示:慢节点探测准确率99%;读写长尾请求减少了95%以上;从用户角度看,后端集群的慢节点影响降到了最低。并且,本发明中,慢节点探测与规避流程不阻塞正在进行的数据写入流程,两者完全并行。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
图1示出根据本发明一个实施例的分布式存储系统的示意图;
图2示出根据本发明一个实施例的主节点检测慢节点的方法流程图;
图3示出根据本发明一个示例的存储节点向主节点上报状态信息的示意图;
图4示出根据本发明一个优选实施例的客户端在数据读取过程执行慢节点检测的方法流程图;
图5示出根据本发明一个实施例的客户端在数据写入过程执行慢节点检测的方法流程图;
图6示出根据本发明一个示例的客户端通过并发异步ping请求来检测慢节点的示意图;
图7示出根据本发明一个优选实施例的主节点基于客户端的慢节点通知剔除慢节点的方法流程图;
图8示出根据本发明一个优选实施例的客户端在数据写入过程执行慢节点检测的流程图;
图9示出根据本发明一个示例的客户端通过模拟一个探测写请求(链式ping请求)来检测慢节点的示意图;
图10示出根据本发明一个实施例的检测慢节点的主节点的装置示意图;
图11示出根据本发明一个优选实施例的在数据读取过程执行慢节点检测的客户端的装置示意图;
图12示出根据本发明一个优选实施例的在数据写入过程检测慢节点的客户端和主节点的装置示意图。
附图中相同或相似的附图标记代表相同或相似的部件。
具体实施方式
在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各项操作描述成顺序的处理,但是其中的许多操作可以被并行地、并发地或者同时实施。此外,各项操作的顺序可以被重新安排。当其操作完成时所述处理可以被终止,但是还可以具有未包括在附图中的附加步骤。所述处理可以对应于方法、函数、规程、子例程、子程序等等。
在上下文中所称“计算机设备”,也称为“电脑”,是指可以通过运行预定程序或指令来执行数值计算和/或逻辑计算等预定处理过程的智能电子设备,其可以包括处理器与存储器,由处理器执行在存储器中预存的程序指令来执行预定处理过程,或是由ASIC、FPGA、DSP等硬件执行预定处理过程,或是由上述二者组合来实现。计算机设备包括但不限于服务器、个人电脑(PC)、笔记本电脑、平板电脑、智能手机等。
所述计算机设备例如包括用户设备与网络设备。其中,所述用户设备包括但不限于个人电脑(PC)、笔记本电脑、移动终端等,所述移动终端包括但不限于智能手机、PDA等;所述网络设备包括但不限于单个网络服务器、多个网络服务器组成的服务器组或基于云计算(Cloud Computing)的由大量计算机或网络服务器构成的云,其中,云计算是分布式计算的一种,由一群松散耦合的计算机集组成的一个超级虚拟计算机。其中,所述计算机设备可单独运行来实现本发明,也可接入网络并通过与网络中的其他计算机设备的交互操作来实现本发明。其中,所述计算机设备所处的网络包括但不限于互联网、广域网、城域网、局域网、VPN网络等。
需要说明的是,所述用户设备、网络设备和网络等仅为举例,其他现有的或今后可能出现的计算机设备或网络如可适用于本发明,也应包含在本发明保护范围以内,并以引用方式包含于此。
本文后面所讨论的方法(其中一些通过流程图示出)可以通过硬件、软件、固件、中间件、微代码、硬件描述语言或者其任意组合来实施。当用软件、固件、中间件或微代码来实施时,用以实施必要任务的程序代码或代码段可以被存储在机器或计算机可读介质(比如存储介质)中。(一个或多个)处理器可以实施必要的任务。
这里所公开的具体结构和功能细节仅仅是代表性的,并且是用于描述本发明的示例性实施例的目的。但是本发明可以通过许多替换形式来具体实现,并且不应当被解释成仅仅受限于这里所阐述的实施例。
应当理解的是,虽然在这里可能使用了术语“第一”、“第二”等等来描述各个单元,但是这些单元不应当受这些术语限制。使用这些术语仅仅是为了将一个单元与另一个单元进行区分。举例来说,在不背离示例性实施例的范围的情况下,第一单元可以被称为第二单元,并且类似地第二单元可以被称为第一单元。这里所使用的术语“和/或”包括其中一个或更多所列出的相关联项目的任意和所有组合。
应当理解的是,当一个单元被称为“连接”或“耦合”到另一单元时,其可以直接连接或耦合到所述另一单元,或者可以存在中间单元。与此相对,当一个单元被称为“直接连接”或“直接耦合”到另一单元时,则不存在中间单元。应当按照类似的方式来解释被用于描述单元之间的关系的其他词语(例如“处于...之间”相比于“直接处于...之间”,“与...邻近”相比于“与...直接邻近”等等)。
这里所使用的术语仅仅是为了描述具体实施例而不意图限制示例性实施例。除非上下文明确地另有所指,否则这里所使用的单数形式“一个”、“一项”还意图包括复数。还应当理解的是,这里所使用的术语“包括”和/或“包含”规定所陈述的特征、整数、步骤、操作、单元和/或组件的存在,而不排除存在或添加一个或更多其他特征、整数、步骤、操作、单元、组件和/或其组合。
还应当提到的是,在一些替换实现方式中,所提到的功能/动作可以按照不同于附图中标示的顺序发生。举例来说,取决于所涉及的功能/动作,相继示出的两幅图实际上可以基本上同时执行或者有时可以按照相反的顺序来执行。
本发明可由计算机设备实现。典型地,本发明可由网络设备实现,但本领域技术人员应能理解,本发明的方案同样可由用户设备实现,只要其具备本发明所要求的计算/处理能力。为便于说明,本说明书中以下多用网络设备的实现进行举例,但本领域技术人员应能理解,此等举例仅用于解释说明本发明之目的,而不应被理解为对本发明的任何限制。
下面结合附图对本发明作进一步详细描述。
图1示出根据本发明的一个实施例的分布式存储系统的示意图。
参阅图1,分布式存储系统100包括主节点11、多个存储节点121~12n以及一个或多个客户端131~13n。在此,主节点和存储节点典型地为服务器,客户端典型地部署于用户设备中。
其中,主节点11执行全局管理功能,例如管理及维护文件的副本节点列表、进行副本创建决策和管理各存储节点的负载均衡等。
每个存储节点121~12n存储有多个文件的副本,以供客户端进行读取和写入。
每个客户端131~13n从主节点11获取文件的副本节点列表,并据此从其中的副本节点对相应的文件副本进行数据读取操作和数据写入操作。对于一个文件而言,存储有该文件的副本的存储节点即为该文件的副本节点。
本发明中,以下均以每个文件均有3个副本进行举例说明。本领域技术人员应能理解,此种举例仅用于解释说明本发明之目的,而不应被理解为对本发明的任何限制。
通常的文件读取过程为:
1)客户端从主节点获取到一文件的副本节点列表,如三个副本节点A、B、C;
2)客户端从中选择一个副本节点(如节点A)并向其发起数据读取请求;可替代地,客户端也可以向3个副本节点并发数据读取请求;
3)客户端从副本节点A获得所请求的文件副本。
通常的文件写入过程为:
1)客户端从主节点获取到一文件的副本节点列表,如三个副本节点A、B、C;
2)客户端把数据写到副本节点A,副本节点A转发数据到副本节点B,副本节点B节点转发数据到副本节点C,副本节点C写入数据完成后通知副本节点A,副本节点A回复客户端写入成功;
3)客户端收到副本节点A返回的写入成功的消息。
在上述写入过程中,副本节点A中存储主副本,主节点通常将主副本所在的节点放在副本节点列表的首位,以由客户端对主副本进行写入操作。
然而,需要说明的是,本领域技术人员应能理解,客户端在写入过程中同样可以如读取过程一般,从副本节点列表中选择一个副本节点来进行数据写入操作,而不仅限于对主副本执行写入操作。这同样应包含在本发明的保护范围之内。
对于分布式存储系统中的慢节点检测,可以分别由主节点进行的常规检测和由客户端在数据操作过程中进行的检测。
以下首先描述由主节点执行的慢节点检测。由于主节点在检测到慢节点之后,会将其从相关文件的副本节点列表中删除,从而主节点所执行的慢节点检测可以被认为是一种事前检测/规避。
图2示出根据本发明一个实施例的主节点检测慢节点的流程图。图3示出根据本发明一个示例的存储节点向主节点上报状态信息的示意图。
配合参阅图2和图3,在步骤S201中,各存储节点向主节点上报其状态信息;在步骤S202中,主节点根据各存储节点上报的状态信息,从各存储节点中确定慢节点,以用于之后的副本创建决策。
其中,在步骤S201中,存储节点向主节点上报的状态信息包括但不限于各存储节点自身所在计算机设备的硬件资源情况和数据存储服务状态,具体如:
1)CPU、网络带宽:统计近1分钟这些数据的平均值;
2)磁盘I/O能力:根据数据存储程序近期读写磁盘的耗时,加权求出的平均值;通过对磁盘I/O状态采用实际数据读写的延迟的加权计算,本发明可以不增加额外的磁盘读写来统计磁盘延迟。
3)数据存储程序内部的流量控制令牌资源:耗费的百分比;
4)数据存储程序内部该副本的服务错误统计、网络错误统计。
在步骤S202中,主节点根据各存储节点上报的状态信息,从各存储节点中确定慢节点,以用于之后的副本创建决策。
例如,各存储节点会周期性上报各自的状态信息给主节点,主节点汇总这些状态信息并决策哪些存储节点可能成为慢节点。
在接下来的副本创建决策过程中,主节点会参考这些慢节点决策,短期内尽量避免放置副本到这些慢节点上。在此,副本创建决策例如包括文件创建副本选择、缺失副本补建、节点间的负载均衡等。
优选地,主节点进一步将被作为慢节点的次数超过阈值的存储节点加入故障节点列表。例如,主节点会根据近期各存储节点被当作慢节点剔除的次数来决策,如果某个存储节点被剔除的次数较多,会把该存储节点临时放入故障节点列表,并在达到一预定时间期间后,如超过2小时,以小流量开始将其加回集群。
此外,客户端在数据操作过程中也会执行对慢节点的检测。由于当客户端检测到慢节点时,数据读写流程已被慢节点影响,从而客户端所执行的慢节点检测可以被认为是一种事后检测。例如,客户端可以按照一定的策略绕开慢节点造成的影响,如在数据读取时,重新选取获取文件副本的目标节点,在数据写入时,探测出慢节点,并通知主节点以从副本节点列表中剔除该慢的副本。
图4示出根据本发明一个优选实施例的客户端在数据读取过程执行慢节点检测的流程图。
如图4所示,在步骤S401中,对于拟读取的文件,客户端从主节点获取该文件的副本节点列表;在步骤S402中,客户端按照其中各副本节点的本地访问耗时信息,从中选择执行对该文件的副本的数据读取操作的副本节点;在步骤S403中,客户端从所选择的副本节点获取该文件的副本。
其中,在步骤S402中,客户端按照副本节点列表中各副本节点的本地访问耗时信息,从这些副本节点中选择用于获取文件副本的目标节点。例如,客户端会统计一段时间内其发向各存储节点的数据读取请求的耗时情况,从文件的副本节点列表中选取目标节点时会首先参考该耗时表现,从而选择耗时较少的副本节点来执行对该文件的副本的数据读取操作。
优选地,当在步骤S403获取该文件的副本时发生慢节点事件,客户端可以重新执行步骤S402来选择新的副本节点以获取该文件的副本。其中,慢节点事件意指在副本节点侧造成数据操作缓慢或失败的事件,具体如副本节点响应超时、副本节点返回了错误等参考本地的历史访问数据可确定的慢节点事件。在此,如果数据读取的过程中受到了慢的副本影响,客户端会发起重新选取目标副本动作,绕开慢的副本继续读取。
图5示出根据本发明一个优选实施例的客户端在数据写入过程执行慢节点检测的流程图。图6示出根据本发明一个示例的客户端通过并发异步请求来检测慢节点的示意图。
如图5所示,在步骤S501中,对于拟执行数据写入的文件,客户端从主节点获取该文件的副本节点列表;在步骤S502中,当对其中一个副本节点中该文件的副本执行数据写入操作时检测到慢节点事件,客户端向该文件的各副本节点发送异步请求;在步骤S503中,客户端根据各副本节点的响应信息,从各副本节点中确定慢节点;在步骤S504中,客户端向主节点通知该慢节点,以由主节点将该慢节点从副本节点列表中删除;在步骤S505中,客户端刷新该文件的副本节点列表,以重新对其中一个副本节点中的文件副本执行数据写入操作。
其中,在步骤S502中,当对副本节点列表的一个副本节点中该文件的副本执行数据写入操作时检测到慢节点事件,客户端向该文件的各副本节点发送异步请求。
在此,慢节点事件意指在副本节点侧造成数据操作缓慢或失败的事件,具体如写入延迟超过一定的阈值、副本节点返回了错误、发生网络错误等。
优选地,客户端可以在后台周期性地针对正在写入的文件做慢节点探测触发,以保证在慢节点在影响到写入流程前,尽早被探测发现并规避掉。
配合参阅图6,客户端在向文件的副本列表(节点A、B、C)写入数据过程中,如果写入流程受到了某个慢节点的影响,客户端会异步的向这三个副本节点并行的发送ping请求,对应的各副本节点会分别向客户端返回响应信息,包括诸如各节点近期统计的状态信息及其本地副本的数据写入状态信息等。
在步骤S503中,客户端根据各副本节点的响应信息,从各副本节点中确定慢节点。
在此,副本节点的响应信息至少包括以下信息:
1)副本节点的状态信息,包括例如I/O读写耗时、一定时间内的流量控制占比、内存池使用量等。
2)副本节点中该文件的副本的数据写入状态信息,包括例如副本的打开状态是否正确;
3)副本节点的响应时间信息,包括例如ping请求的来回响应周期、超时未响应等。
配合参阅图6,其中,副本节点C超时未响应,则客户端确定该节点为慢节点,并通知主节点删除该节点的副本。
具体地,步骤S504和S505所描述的慢节点删除及副本节点列表刷新过程可以被进一步分为多个子步骤,以下进一步配合参阅图7来描述。
如图7所示,在步骤S701中,客户端向主节点通知其所检测到的慢节点;在步骤S702中,主节点在接收到客户端关于慢节点的通知后,更新该文件的副本的版本号;在步骤S703中,主节点将更新后的版本号通知至该文件的其他副本节点,以由这些其他副本节点之间同步已执行的写入数据;在步骤S704中,主节点更新该文件的副本节点列表,将该慢节点从该副本节点列表中删除。
其中,在步骤S702中,主节点在接收到慢节点通知后,如慢节点为节点A,更新该文件的副本的版本号,如将版本号从1.1提升至1.2。随后,在步骤S703中,主节点将更新后的版本号通知至该文件的其他副本节点,如节点B和C,从而在副本节点B和C之间重发增量的写入数据。在此,客户端的写请求在副本节点A、B、C都成功后才会向客户端返回成功通知,否则客户端会在一定时间后重试写请求包,因此,副本节点B和C之间需要重发该增量的写入数据。
进而,在步骤S704中,主节点更新该文件的副本节点列表。在此,该更新包括主节点的本地更新以及向客户端通知该更新。例如,主节点将该慢节点从该文件的副本节点列表中删除,从而完成其本地更新,并通知客户端“删除副本”操作已完成,再基于客户端对副本节点列表的刷新请求,向客户端发送更新后的副本节点列表。
关于从副本节点中删除的慢节点,其中的副本是通过定期的垃圾回收操作完成的,主节点不需要通知副本节点清理垃圾数据。在删除一个副本节点后,还需要为文件补建一个副本。重建一个副本节点是由主节点调度的,在后台异步补建,而且被补建的副本是第三副本,客户端不需要感知。
优选地,主节点将被作为慢节点的次数超过阈值的存储节点加入故障节点列表。例如,主节点会根据近期各存储节点被当作慢节点剔除的次数来决策,如果某个存储节点被剔除的次数较多,会把该存储节点临时放入故障节点列表,并在达到一预定时间期间后,如超过2小时,以小流量开始将其加回集群。
返回继续参阅图5,在步骤S505中,客户端刷新该文件的副本节点列表,以重新对其中一个副本节点中的文件副本执行数据写入操作。例如,在刷新副本节点列表后,客户端重新对其中的主副本进行数据写入操作。
图8示出根据本发明一个优选实施例的客户端在数据写入过程执行慢节点检测的流程图。图9示出根据本发明一个示例的客户端通过模拟一个探测写请求来检测慢节点的示意图。
如图8所示,在步骤S801中,对于拟执行数据写入的文件,客户端从主节点获取该文件的副本节点列表;在步骤S802中,当对其中一个副本节点中该文件的副本执行数据写入操作时检测到慢节点事件,客户端向该文件的各副本节点发送异步请求;在步骤S803中,客户端根据各副本节点的响应信息,从各副本节点中确定慢节点;如果步骤803中客户端未能确定慢节点,在步骤S804中,客户端模拟一个探测写请求并发送至其中一个副本节点;在步骤S805中,客户端根据每个副本节点返回的确认信息,从这些副本节点中确定慢节点;在步骤S806中,客户端向主节点通知该慢节点,以由主节点将该慢节点从副本节点列表中删除;在步骤S807中,客户端刷新该文件的副本节点列表,以重新对其中一个副本节点中的文件副本执行数据写入操作。
其中,在步骤S803和S804中,客户端分别执行了两次慢节点检测操作。具体地,在步骤S803中,客户端对副本节点的状态进行检测,并当未能检测到慢节点时,进一步执行步骤S804。在步骤S804中,客户端对副本节点之间的网络状况进行检测,如探测网络阻塞或者分裂,以确定网络连接存在问题的慢节点。
具体而言,在步骤S804中,客户端模拟一个探测写请求并发送至其中一个副本节点,探测写请求将经过每个副本节点并要求每个副本节点收到所述探测写请求时返回确认信息。所述确认信息包括所述副本节点收到所述探测写请求的时间信息。
配合参阅图9,客户端模拟一个探测写请求,该写请求按照正常的写入流程经过副本A→B→C→A。每当该写请求经过一个副本节点的时候,该副本节点回复客户端一个确认信息,典型地如ACK信息,其中标注该副本节点收到写请求的时间。客户端会根据各副本节点返回确认信息的情况来决策某两个副本节点之间网络可能有问题,从而通知主节点剔除该副本。模拟写请求流程的链式ping可以解决副本节点之间的网络问题。
图10示出根据本发明一个实施例的检测慢节点的主节点的装置示意图。如图10所示,主节点11进一步包括状态接收装置111和慢节点决策装置112。
配合参阅图10和图3,状态接收装置111接收各存储节点上报的其各自的状态信息;随后,慢节点决策装置112根据各存储节点上报的状态信息,从各存储节点中确定慢节点,以用于之后的副本创建决策。
其中,存储节点向状态接收装置111上报的状态信息包括但不限于各存储节点自身所在计算机设备的硬件资源情况和数据存储服务状态,具体如:
1)CPU、网络带宽:统计近1分钟这些数据的平均值;
2)磁盘I/O能力:根据数据存储程序近期读写磁盘的耗时,加权求出的平均值;
3)数据存储程序内部的流量控制令牌资源:耗费的百分比;
4)数据存储程序内部该副本的服务错误统计、网络错误统计。
随后,慢节点决策装置112根据各存储节点上报的状态信息,从各存储节点中确定慢节点,以用于之后的副本创建决策。
例如,各存储节点会周期性上报各自的状态信息给主节点,慢节点决策装置112汇总这些状态信息并决策哪些存储节点可能成为慢节点。
在接下来的副本创建决策过程中,主节点会参考这些慢节点决策,短期内尽量避免放置副本到这些慢节点上。在此,副本创建决策例如包括文件创建副本选择、缺失副本补建、节点间的负载均衡等。
优选地,主节点11进一步包括故障判定装置(未示出),故障判定装置将被作为慢节点的次数超过阈值的存储节点加入故障节点列表。例如,故障判定装置会根据近期各存储节点被当作慢节点剔除的次数来决策,如果某个存储节点被剔除的次数较多,会把该存储节点临时放入故障节点列表,并在达到一预定时间期间后,如超过2小时,以小流量开始将其加回集群。
图11示出根据本发明一个优选实施例的在数据读取过程执行慢节点检测的客户端的装置示意图。如图11所示,客户端13进一步包括列表获取装置131、节点选择装置132和副本获取装置133。
参阅图11,对于拟读取的文件,列表获取装置131从主节点获取该文件的副本节点列表;随后,节点选择装置132按照其中各副本节点的本地访问耗时信息,从中选择执行对该文件的副本的数据读取操作的副本节点;接着,副本获取装置133从所选择的副本节点获取该文件的副本。
其中,节点选择装置132按照副本节点列表中各副本节点的本地访问耗时信息,从这些副本节点中选择用于获取文件副本的目标节点。例如,节点选择装置132会统计一段时间内其发向各存储节点的数据读取请求的耗时情况,从文件的副本节点列表中选取目标节点时会首先参考该耗时表现,从而选择耗时较少的副本节点来执行对该文件的副本的数据读取操作。
优选地,当副本获取装置133在获取该文件的副本时,如果发生慢节点事件,节点选择装置132可以重新选择新的副本节点,以由副本获取装置133重新获取该文件的副本。其中,慢节点事件意指在副本节点侧造成数据操作缓慢或失败的事件,具体如副本节点响应超时、副本节点返回了错误等参考本地的历史访问数据可确定的慢节点事件。在此,如果数据读取的过程中受到了慢的副本影响,客户端会发起重新选取目标副本动作,绕开慢的副本继续读取。
图12示出根据本发明一个优选实施例的在数据写入过程检测慢节点的客户端和主节点的装置示意图。如图12所示,客户端13进一步包括列表获取装置131、慢节点探测装置134、慢节点确定装置135、慢节点通知装置136、列表刷新装置137;主节点11进一步包括通知接收装置113、版本号更新装置114、版本通知装置115和列表更新装置116。
参阅图12,对于拟执行数据写入的文件,列表获取装置131从主节点获取该文件的副本节点列表;随后,当对其中一个副本节点中该文件的副本执行数据写入操作时,如果事件检测装置(未示出)检测到慢节点事件,慢节点探测装置134向该文件的各副本节点发送异步请求;接着,慢节点确定装置135根据各副本节点的响应信息,从各副本节点中确定慢节点;随后,慢节点通知装置136向主节点通知该慢节点,以由主节点将该慢节点从副本节点列表中删除;接着,列表刷新装置137刷新该文件的副本节点列表,以重新对其中一个副本节点中的文件副本执行数据写入操作。
优选地,列表获取装置131与列表刷新装置137可以集成在一起,作为一个功能模块,从主节点请求副本节点列表。事件检测装置可以集成在慢节点探测装置134中。
其中,当对副本节点列表的一个副本节点中该文件的副本执行数据写入操作时,如果事件检测装置检测到慢节点事件,慢节点探测装置134向该文件的各副本节点发送异步请求。
在此,慢节点事件意指在副本节点侧造成数据操作缓慢或失败的事件,具体如写入延迟超过一定的阈值、副本节点返回了错误、发生网络错误等。
优选地,事件检测装置可以在后台周期性地针对正在写入的文件做慢节点探测触发,以保证在慢节点在影响到写入流程前,尽早被探测发现并规避掉。
配合参阅图6,客户端在向文件的副本列表(节点A、B、C)写入数据过程中,如果写入流程受到了某个慢节点的影响,慢节点探测装置134会异步的向这三个副本节点并行的发送ping请求,对应的各副本节点会分别向客户端返回响应信息,包括诸如各节点近期统计的状态信息及其本地副本的数据写入状态信息等。
随后,慢节点确定装置135根据各副本节点的响应信息,从各副本节点中确定慢节点。
在此,副本节点的响应信息至少包括以下信息:
1)副本节点的状态信息,包括例如I/O读写耗时、一定时间内的流量控制占比、内存池使用量等。
2)副本节点中该文件的副本的数据写入状态信息,包括例如副本的打开状态是否正确;
3)副本节点的响应时间信息,包括例如ping请求的来回响应周期、超时未响应等。
配合参阅图6,其中,副本节点C超时未响应,则慢节点确定装置135确定该节点为慢节点,慢节点通知装置136通知主节点删除该节点的副本。
具体地,慢节点通知装置136和列表刷新装置137与主节点交互来执行慢节点删除及副本节点列表刷新。
慢节点通知装置136向主节点通知其所检测到的慢节点,相应地,通知接收装置113接收该通知;随后,版本号更新装置114更新该文件的副本的版本号;接着,版本通知装置115将更新后的版本号通知至该文件的其他副本节点,以由这些其他副本节点之间同步已执行的写入数据;随后,列表更新装置116更新该文件的副本节点列表,将该慢节点从该副本节点列表中删除。
其中,在通知接收装置113接收到慢节点通知后,如慢节点为节点A,版本号更新装置114更新该文件的副本的版本号,如将版本号从1.1提升至1.2。随后,版本通知装置115将更新后的版本号通知至该文件的其他副本节点,如节点B和C,从而在副本节点B和C之间重发增量的写入数据。在此,客户端的写请求在副本节点A、B、C都成功后才会向客户端返回成功通知,否则客户端会在一定时间后重试写请求包,因此,副本节点B和C之间需要重发该增量的写入数据。
进而,列表更新装置116更新该文件的副本节点列表。在此,该更新包括主节点的本地更新以及向客户端通知该更新。例如,列表更新装置116将该慢节点从该文件的副本节点列表中删除,从而完成其本地更新,并通知客户端“删除副本”操作已完成,再基于客户端对副本节点列表的刷新请求,向客户端发送更新后的副本节点列表。
关于从副本节点中删除的慢节点,其中的副本是通过定期的垃圾回收操作完成的,主节点不需要通知副本节点清理垃圾数据。在删除一个副本节点后,还需要为文件补建一个副本。重建一个副本节点是由主节点调度的,在后台异步补建,而且被补建的副本是第三副本,客户端不需要感知。
优选地,故障判定装置(未示出)将被作为慢节点的次数超过阈值的存储节点加入故障节点列表。例如,故障判定装置(未示出)会根据近期各存储节点被当作慢节点剔除的次数来决策,如果某个存储节点被剔除的次数较多,会把该存储节点临时放入故障节点列表,并在达到一预定时间期间后,如超过2小时,以小流量开始将其加回集群。
随后,列表刷新装置137刷新该文件的副本节点列表,以由客户端重新对其中一个副本节点中的文件副本执行数据写入操作。例如,在列表刷新装置137刷新副本节点列表后,客户端重新对其中的主副本进行数据写入操作。
仍参阅图12,根据本发明的一个优选实施例,图12所示的客户端和主节点还可以提供一种在数据写入过程执行慢节点检测的优选方案。
具体地,对于拟执行数据写入的文件,列表获取装置131从主节点获取该文件的副本节点列表;随后,当对其中一个副本节点中该文件的副本执行数据写入操作时,如果事件检测装置(未示出)检测到慢节点事件,慢节点探测装置134向该文件的各副本节点发送异步请求;接着,慢节点确定装置135根据各副本节点的响应信息,从各副本节点中确定慢节点;如果慢节点确定装置135此时未能确定慢节点,慢节点探测装置134模拟一个探测写请求并发送至其中一个副本节点;随后,慢节点确定装置135根据每个副本节点返回的确认信息,从这些副本节点中确定慢节点;接着,慢节点通知装置136向主节点通知该慢节点,以由主节点将该慢节点从副本节点列表中删除;随后,列表刷新装置137刷新该文件的副本节点列表,以由客户端重新对其中一个副本节点中的文件副本执行数据写入操作。
其中,慢节点探测装置134执行了两次慢节点检测操作。具体地,慢节点探测装置134首先对副本节点的状态进行检测,并当未能检测到慢节点时,进一步对副本节点之间的网络状况进行检测,如探测网络阻塞或者分裂,以确定网络连接存在问题的慢节点。优选地,对副本节点的状态的检测与对副本节点之间的网络状况的检测可以分别由两个不同的探测装置来执行。
具体而言,慢节点探测装置134模拟一个探测写请求并发送至其中一个副本节点,探测写请求将经过每个副本节点并要求每个副本节点收到所述探测写请求时返回确认信息。所述确认信息包括所述副本节点收到所述探测写请求的时间信息。
配合参阅图9,慢节点探测装置134模拟一个探测写请求,该写请求按照正常的写入流程经过副本A→B→C→A。每当该写请求经过一个副本节点的时候,该副本节点回复客户端一个确认信息,典型地如ACK信息,其中标注该副本节点收到写请求的时间。慢节点确定装置135会根据各副本节点返回确认信息的情况来决策某两个副本节点之间网络可能有问题,从而慢节点通知装置136通知主节点剔除该副本。
此外,根据本发明的一个优选实施例,本发明还提供用于分布式存储系统中的计算机程序产品,其中,所述计算机程序产品分别运行于分布式存储系统的客户端和主节点中,以实现上述描述的各种慢节点检测。
根据本发明的一个优选实施例,本发明还提供用于分布式存储系统中的计算机设备,所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,当所述处理器运行所述计算机程序时,所述计算机设备可以被作为分布式存储系统中的客户端或主节点来实现上述描述的各种慢节点检测。
需要注意的是,本发明可在软件和/或软件与硬件的组合体中被实施,例如,本发明的各个装置可采用专用集成电路(ASIC)或任何其他类似硬件设备来实现。在一个实施例中,本发明的软件程序可以通过处理器执行以实现上文所述步骤或功能。同样地,本发明的软件程序(包括相关的数据结构)可以被存储到计算机可读记录介质中,例如,RAM存储器,磁或光驱动器或软磁盘及类似设备。另外,本发明的一些步骤或功能可采用硬件来实现,例如,作为与处理器配合从而执行各个步骤或功能的电路。
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本发明内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。系统权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。
Claims (23)
1.一种检测分布式存储系统中的慢节点的方法,其中,所述分布式存储系统包括主节点、多个存储节点和一个或多个客户端,其中,在所述客户端,该方法包括以下步骤:
-当根据从所述主节点获取的一文件的副本节点列表对其中一个副本节点中所述文件的副本执行数据写入操作时检测到慢节点事件,向所述文件的各副本节点发送异步请求,所述副本节点为存储有所述文件的副本的存储节点;
-根据所述各副本节点的响应信息,从所述各副本节点中确定慢节点;
-向所述主节点通知所述慢节点,以由所述主节点将所述慢节点从所述副本节点列表中删除;
-刷新所述文件的副本节点列表,以重新对其中一个副本节点中的文件副本执行数据写入操作。
2.根据权利要求1所述的方法,其中,所述响应信息至少包括以下信息:
-所述副本节点的状态信息;
-所述副本节点中所述文件的副本的数据写入状态信息;
-所述副本节点的响应时间信息。
3.根据权利要求1或2所述的方法,其中,如果根据所述各副本节点的响应信息未能确定慢节点,在所述客户端,该方法还包括以下步骤:
-模拟一个探测写请求并发送至其中一个副本节点,所述探测写请求将经过每个副本节点并要求每个副本节点收到所述探测写请求时返回确认信息;
-根据所述每个副本节点返回的确认信息,从所述每个副本节点中确定慢节点。
4.根据权利要求3所述的方法,其中,所述确认信息包括所述副本节点收到所述探测写请求的时间信息。
5.根据权利要求1至4中任一项所述的方法,其中,在所述主节点,该方法还包括以下步骤:
-在接收到所述客户端关于所述慢节点的通知后,更新所述文件的副本的版本号;
-将更新后的版本号通知至所述文件的其他副本节点,以由所述其他副本节点同步已执行的写入数据;
-更新所述文件的副本节点列表。
6.根据权利要求5所述的方法,其中,在所述主节点,该方法还包括以下步骤:
-根据各存储节点上报的状态信息,从所述各存储节点中确定慢节点,以用于之后的副本创建决策。
7.根据权利要求1至6中任一项所述的方法,其中,在所述主节点,该方法还包括以下步骤:
-将被作为慢节点的次数超过阈值的存储节点加入故障节点列表。
8.根据权利要求1至7中任一项所述的方法,其中,在所述客户端,该方法还包括以下步骤:
-根据从所述主节点获取的一文件的副本节点列表,按照其中各副本节点的访问耗时信息,从中选择执行对所述文件的副本的数据读取操作的副本节点;
-从所选择的副本节点获取所述文件的副本。
9.根据权利要求8所述的方法,其中,在所述客户端,该方法还包括以下步骤:
-当在获取所述文件的副本时检测到慢节点事件,重新选择副本节点来获取所述文件的副本。
10.一种检测分布式存储系统中的慢节点的客户端,其中,所述分布式存储系统包括主节点、多个存储节点和一个或多个所述客户端,其中,所述客户端包括:
用于当根据从所述主节点获取的一文件的副本节点列表对其中一个副本节点中所述文件的副本执行数据写入操作时检测到慢节点事件,向所述文件的各副本节点发送异步请求的装置,所述副本节点为存储有所述文件的副本的存储节点;
用于根据所述各副本节点的响应信息,从所述各副本节点中确定慢节点的装置;
用于向所述主节点通知所述慢节点的装置,以由所述主节点将所述慢节点从所述副本节点列表中删除;
用于刷新所述文件的副本节点列表的装置,以重新对其中一个副本节点中的文件副本执行数据写入操作。
11.根据权利要求10所述的客户端,其中,所述响应信息至少包括以下信息:
-所述副本节点的状态信息;
-所述副本节点中所述文件的副本的数据写入状态信息;
-所述副本节点的响应时间信息。
12.根据权利要求10或11所述的客户端,其中,如果根据所述各副本节点的响应信息未能确定慢节点,所述客户端还包括:
用于模拟一个探测写请求并发送至其中一个副本节点的装置,所述探测写请求将经过每个副本节点并要求每个副本节点收到所述探测写请求时返回确认信息;
用于根据所述每个副本节点返回的确认信息,从所述每个副本节点中确定慢节点的装置。
13.根据权利要求12所述的客户端,其中,所述确认信息包括所述副本节点收到所述探测写请求的时间信息。
14.根据权利要求10至13中任一项所述的客户端,其中,所述客户端还包括:
用于根据从所述主节点获取的一文件的副本节点列表,按照其中各副本节点的访问耗时信息,从中选择执行对所述文件的副本的数据读取操作的副本节点的装置;
用于从所选择的副本节点获取所述文件的副本的装置。
15.根据权利要求14所述的客户端,其中,所述客户端还包括:
用于当在获取所述文件的副本时检测到慢节点事件,重新选择副本节点来获取所述文件的副本的装置。
16.一种检测分布式存储系统中的慢节点的主节点,其中,所述分布式存储系统包括所述主节点、多个存储节点和一个或多个客户端,其中,所述主节点包括:
用于在接收到所述客户端关于所述慢节点的通知后,更新所述文件的副本的版本号的装置;
用于将更新后的版本号通知至所述文件的其他副本节点的装置,以由所述其他副本节点同步已执行的写入数据;
用于更新所述文件的副本节点列表的装置。
17.根据权利要求16所述的主节点,其中,所述主节点还包括:
用于根据各存储节点上报的状态信息,从所述各存储节点中确定慢节点的装置,以用于之后的副本创建决策。
18.根据权利要求16或17所述的主节点,其中,所述主节点还包括:
用于将被作为慢节点的次数超过阈值的存储节点加入故障节点列表的装置。
19.一种分布式存储系统,其中,所述分布式存储系统包括所述主节点、多个存储节点和一个或多个客户端,其中,所述主节点包括如权利要求16至18中任一项所述的主节点,所述客户端包括如权利要求10至15中任一项所述的客户端。
20.一种计算机程序产品,其中,所述计算机程序产品运行于分布式存储系统的客户端中,所述分布式存储系统包括所述主节点、多个存储节点和一个或多个客户端,其中,所述计算机程序产品被运行来执行如权利要求1至4、8至9中任一项所述的方法。
21.一种计算机程序产品,其中,所述计算机程序产品运行于分布式存储系统的主节点中,所述分布式存储系统包括所述主节点、多个存储节点和一个或多个客户端,其中,所述计算机程序产品被运行来执行如权利要求5至7中任一项所述的方法。
22.一种计算机设备,其中,所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,当所述处理器运行所述计算机程序时,所述计算机设备被作为分布式存储系统中的客户端来执行如权利要求1至4、8至9中任一项所述的方法,其中,所述分布式存储系统包括主节点、多个存储节点和一个或多个所述客户端。
23.一种计算机设备,其中,所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,当所述处理器运行所述计算机程序时,所述计算机设备被作为分布式存储系统中的主节点来执行如权利要求5至7中任一项所述的方法,其中,所述分布式存储系统包括所述主节点、多个存储节点和一个或多个客户端。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710005058.9A CN106878388B (zh) | 2017-01-04 | 2017-01-04 | 对分布式存储系统中慢节点的检测 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710005058.9A CN106878388B (zh) | 2017-01-04 | 2017-01-04 | 对分布式存储系统中慢节点的检测 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106878388A true CN106878388A (zh) | 2017-06-20 |
CN106878388B CN106878388B (zh) | 2019-12-03 |
Family
ID=59165541
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710005058.9A Active CN106878388B (zh) | 2017-01-04 | 2017-01-04 | 对分布式存储系统中慢节点的检测 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106878388B (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110287151A (zh) * | 2019-05-20 | 2019-09-27 | 平安科技(深圳)有限公司 | 分布式存储系统、数据写入方法、装置和存储介质 |
CN110795314A (zh) * | 2019-11-04 | 2020-02-14 | 北京小米移动软件有限公司 | 一种检测慢节点的方法、装置及计算机可读存储介质 |
CN110955382A (zh) * | 2018-09-26 | 2020-04-03 | 华为技术有限公司 | 一种在分布式系统中写入数据的方法和装置 |
CN114338725A (zh) * | 2021-12-31 | 2022-04-12 | 深圳市瑞云科技有限公司 | 一种提升大规模集群渲染上限的分布式存储调度方法 |
CN114489464A (zh) * | 2020-10-27 | 2022-05-13 | 北京金山云网络技术有限公司 | 数据写入方法、装置和电子设备 |
CN114979180A (zh) * | 2022-05-24 | 2022-08-30 | 超聚变数字技术有限公司 | 数据同步方法、系统及设备 |
WO2023115975A1 (zh) * | 2021-12-23 | 2023-06-29 | 北京百度网讯科技有限公司 | 慢节点检测方法、装置、电子设备及存储介质 |
CN117827973A (zh) * | 2023-12-29 | 2024-04-05 | 云和恩墨(北京)信息技术有限公司 | 分布式数据库的读请求调度方法、装置及电子设备 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103207867A (zh) * | 2012-01-16 | 2013-07-17 | 联想(北京)有限公司 | 处理数据块的方法、发起恢复操作的方法和节点 |
CN103294675A (zh) * | 2012-02-23 | 2013-09-11 | 上海盛霄云计算技术有限公司 | 一种分布式存储系统中的数据更新方法及装置 |
US20130290223A1 (en) * | 2012-04-27 | 2013-10-31 | Yahoo! Inc. | Method and system for distributed machine learning |
CN103856511A (zh) * | 2012-11-30 | 2014-06-11 | 腾讯科技(深圳)有限公司 | 数据包上传方法、客户端、节点、信息服务器及系统 |
US20140215257A1 (en) * | 2013-01-30 | 2014-07-31 | Ebay Inc | Daisy chain distribution in data centers |
CN105760556A (zh) * | 2016-04-19 | 2016-07-13 | 江苏物联网研究发展中心 | 低延时高吞吐量的多副本文件读写优化方法 |
CN105824934A (zh) * | 2016-03-18 | 2016-08-03 | 杭州数梦工场科技有限公司 | 查找分布式etl中慢节点的方法和装置 |
-
2017
- 2017-01-04 CN CN201710005058.9A patent/CN106878388B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103207867A (zh) * | 2012-01-16 | 2013-07-17 | 联想(北京)有限公司 | 处理数据块的方法、发起恢复操作的方法和节点 |
CN103294675A (zh) * | 2012-02-23 | 2013-09-11 | 上海盛霄云计算技术有限公司 | 一种分布式存储系统中的数据更新方法及装置 |
US20130290223A1 (en) * | 2012-04-27 | 2013-10-31 | Yahoo! Inc. | Method and system for distributed machine learning |
CN103856511A (zh) * | 2012-11-30 | 2014-06-11 | 腾讯科技(深圳)有限公司 | 数据包上传方法、客户端、节点、信息服务器及系统 |
US20140215257A1 (en) * | 2013-01-30 | 2014-07-31 | Ebay Inc | Daisy chain distribution in data centers |
CN105824934A (zh) * | 2016-03-18 | 2016-08-03 | 杭州数梦工场科技有限公司 | 查找分布式etl中慢节点的方法和装置 |
CN105760556A (zh) * | 2016-04-19 | 2016-07-13 | 江苏物联网研究发展中心 | 低延时高吞吐量的多副本文件读写优化方法 |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110955382A (zh) * | 2018-09-26 | 2020-04-03 | 华为技术有限公司 | 一种在分布式系统中写入数据的方法和装置 |
CN110287151B (zh) * | 2019-05-20 | 2023-08-22 | 平安科技(深圳)有限公司 | 分布式存储系统、数据写入方法、装置和存储介质 |
CN110287151A (zh) * | 2019-05-20 | 2019-09-27 | 平安科技(深圳)有限公司 | 分布式存储系统、数据写入方法、装置和存储介质 |
CN110795314B (zh) * | 2019-11-04 | 2023-10-03 | 北京小米移动软件有限公司 | 一种检测慢节点的方法、装置及计算机可读存储介质 |
EP3816809A1 (en) * | 2019-11-04 | 2021-05-05 | Beijing Xiaomi Mobile Software Co., Ltd. | Method and device for detecting slow node and computer-readable storage medium |
CN110795314A (zh) * | 2019-11-04 | 2020-02-14 | 北京小米移动软件有限公司 | 一种检测慢节点的方法、装置及计算机可读存储介质 |
US11797218B2 (en) | 2019-11-04 | 2023-10-24 | Beijing Xiaomi Mobile Software Co., Ltd. | Method and device for detecting slow node and computer-readable storage medium |
CN114489464A (zh) * | 2020-10-27 | 2022-05-13 | 北京金山云网络技术有限公司 | 数据写入方法、装置和电子设备 |
WO2023115975A1 (zh) * | 2021-12-23 | 2023-06-29 | 北京百度网讯科技有限公司 | 慢节点检测方法、装置、电子设备及存储介质 |
CN114338725A (zh) * | 2021-12-31 | 2022-04-12 | 深圳市瑞云科技有限公司 | 一种提升大规模集群渲染上限的分布式存储调度方法 |
CN114338725B (zh) * | 2021-12-31 | 2024-01-30 | 深圳市瑞云科技有限公司 | 一种提升大规模集群渲染上限的分布式存储调度方法 |
CN114979180A (zh) * | 2022-05-24 | 2022-08-30 | 超聚变数字技术有限公司 | 数据同步方法、系统及设备 |
CN114979180B (zh) * | 2022-05-24 | 2024-05-17 | 超聚变数字技术有限公司 | 数据同步方法、系统及设备 |
CN117827973A (zh) * | 2023-12-29 | 2024-04-05 | 云和恩墨(北京)信息技术有限公司 | 分布式数据库的读请求调度方法、装置及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN106878388B (zh) | 2019-12-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106878388B (zh) | 对分布式存储系统中慢节点的检测 | |
CN102945139B (zh) | 存储设备驱动器和集群参与 | |
CN106062717B (zh) | 一种分布式存储复制系统和方法 | |
CN106878473A (zh) | 一种消息处理方法、服务器集群及系统 | |
CN106375462A (zh) | 在分布式消息系统中实现消息持久化的方法及装置 | |
US20100153350A1 (en) | Methods and systems for validating accessibility and currency of replicated data | |
CN104750573B (zh) | 分布式数据系统数据节点的全局一致性备份和还原方法 | |
CN103069752B (zh) | 收集信息的代理的方法和存储管理系统 | |
US20190356551A1 (en) | Systems and methods for context based multi-dimensional network visualization | |
US8775859B2 (en) | Method, apparatus and system for data disaster tolerance | |
CN111338773A (zh) | 一种分布式定时任务调度方法、调度系统及服务器集群 | |
CN108197159A (zh) | 基于分布式文件系统的数据读取、写入方法及装置 | |
CN107769943A (zh) | 一种主备集群切换的方法和设备 | |
CN110334072A (zh) | 一种分布式文件系统、文件更新方法及装置 | |
CN104579765A (zh) | 一种集群系统的容灾方法和装置 | |
CN104598168A (zh) | 一种数据恢复方法及对象存储设备 | |
CN112306755B (zh) | 一种基于微前端架构的高可用性实现方法和系统 | |
CN106557371A (zh) | 一种基于边追踪的分布式系统死锁检测方法 | |
CN108471385A (zh) | 一种针对分布式系统的流量控制方法及装置 | |
CN110209526A (zh) | 一种存储层同步系统、及存储介质 | |
CN115048254A (zh) | 数据分配策略的仿真测试方法、系统、设备和可读介质 | |
CN114760240B (zh) | 数据传输的方法、装置、电子设备及计算机可读存储介质 | |
CN115150253B (zh) | 一种故障根因确定方法、装置及电子设备 | |
CN109614051A (zh) | 一种备份数据的清理方法、装置、电子设备及存储介质 | |
Shen et al. | Cost optimization in persistent virtual world design |
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 |