CN108023967A - 一种数据平衡方法、装置及分布式存储系统中的管理设备 - Google Patents

一种数据平衡方法、装置及分布式存储系统中的管理设备 Download PDF

Info

Publication number
CN108023967A
CN108023967A CN201711382328.4A CN201711382328A CN108023967A CN 108023967 A CN108023967 A CN 108023967A CN 201711382328 A CN201711382328 A CN 201711382328A CN 108023967 A CN108023967 A CN 108023967A
Authority
CN
China
Prior art keywords
node
data
memory node
storage
target
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
Application number
CN201711382328.4A
Other languages
English (en)
Other versions
CN108023967B (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.)
Lenovo Beijing Ltd
Original Assignee
Lenovo Beijing 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 Lenovo Beijing Ltd filed Critical Lenovo Beijing Ltd
Priority to CN201711382328.4A priority Critical patent/CN108023967B/zh
Publication of CN108023967A publication Critical patent/CN108023967A/zh
Application granted granted Critical
Publication of CN108023967B publication Critical patent/CN108023967B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols 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]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1008Server selection for load balancing based on parameters of servers, e.g. available memory or workload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请提供了一种数据平衡方法、装置及分布式存储系统中的管理设备,方法包括:当接收到来自客户端的数据写请求时,从多个存储节点中确定目标存储节点,以使客户端将数据写请求对应的目标数据写入目标存储节点;基于各存储节点中的存储数据量,从多个存储节点中不同于目标存储节点的剩余存储节点中确定至少一个备份存储节点;将至少一个备份存储节点的标识信息发送至目标存储节点,以使目标存储节点将目标数据分别写入至少一个备份存储节点。本申请提供的数据平衡方法、装置及分布式存储系统中的管理设备,在数据写入的时候就考虑了数据平衡的问题,这使得数据不平衡的情况大为减少。

Description

一种数据平衡方法、装置及分布式存储系统中的管理设备
技术领域
本发明涉及数据存储技术领域,尤其涉及一种数据平衡方法、装置及分布式存储系统中的管理设备。
背景技术
目前,使用分布式存储系统进行数据存储的平台,使用一段时间后,由于热点数据、热点应用等原因,导致数据在各个服务器之间出现数据不平衡的情况,数据不平衡会导致IO出现瓶颈。
现有技术中,为了解决数据不平衡问题,运维人员需要定时去查询服务集群中各个服务器的数据情况,当服务器出现数据不平衡时,运维人员会手动执行平衡数据的操作。
然而,运维人员手动进行数据平衡的方式存在一定的问题:开始平衡操作时,运维人员无法获知服务集群的运行状况,如果服务集群有任务在进行,平衡操作经常会失败或者占用任务的IO资源;当服务器中的数据量比较大,且各个服务器之间的数据量差距比较大时,平衡的时间比较长。
发明内容
有鉴于此,本发明提供了一种数据平衡方法、装置及分布式存储系统中的管理设备,用以解决现有技术中的平衡方法会存在平衡操作失败、平衡时间比较长的问题,其技术方案如下:
一种数据平衡方法,应用于分布式存储系统中的管理节点,所述方法包括:
当接收到来自客户端的数据写请求时,从多个存储节点中确定目标存储节点,以使所述客户端将所述数据写请求对应的目标数据写入所述目标存储节点,其中,所述管理节点可与所述多个存储节点通信;
基于各存储节点中的存储数据量,从所述多个存储节点中不同于所述目标存储节点的剩余存储节点中确定至少一个备份存储节点,其中,所述存储数据量为已存储数据的数据量;
将所述至少一个备份存储节点的标识信息发送至所述目标存储节点,以使所述目标存储节点将所述目标数据分别写入所述至少一个备份存储节点。
其中,所述从多个存储节点中确定目标存储节点,包括:
从所述多个存储节点中确定存储数据量最小的存储节点;
将所述存储数据量最小的存储节点确定为所述目标存储节点。
其中,所述从多个存储节点中确定目标存储节点,包括:
判断是否存在与所述客户端处于同一服务器上的存储节点;
若存在与所述客户端处于同一服务器上的存储节点,则将与所述客户端处于同一服务器上的存储节点确定为所述目标存储节点;
若不存在与所述客户端处于同一服务器上的存储节点,则从所述多个存储节点中确定存储数据量最小的存储节点,将所述存储数据量最小的存储节点确定为所述目标存储节点。
其中,所述基于各存储节点中的存储数据量,从所述多个存储节点中不同于所述目标存储节点的剩余存储节点中确定至少一个备份存储节点,包括:
若所述剩余存储节点中存在与所述目标存储节点属于不同组的存储节点,则基于存储数据量从与所述目标存储节点属于不同组的存储节点中确定所述至少一个备份存储节点,其中,所述至少一个备份存储节点的存储数据量均小于与所述目标存储节点属于不同组的存储节点中不同于所述至少一个备份存储节点的存储节点的存储数据量;
若所述剩余存储节点与所述目标存储节点属于同一组,则基于存储数据量从所述剩余存储节点中确定所述至少一个备份存储节点,其中,所述至少一个备份存储节点的存储数据量均小于所述剩余存储节点中不同于所述至少一个备份存储节点的存储节点的存储数据量。
所述数据平衡方法还包括:
实时检测所述管理节点和所述多个存储节点的资源使用率;
若所述管理节点和所述多个存储节点的资源使用率小于设定阈值,则将存储数据量大于第一预设值的存储节点的部分数据迁移至存储数据量小于第二预设值的存储节点。
所述数据平衡方法还包括:
判断所述管理节点是否在预设时间段内未接收到数据操作请求;
若所述管理节点在所述预设时间段内未接收到所述数据操作请求,则将存储数据量大于第一预设值的存储节点的部分数据迁移至存储数据量小于第二预设值的存储节点。
一种数据平衡装置,应用于分布式存储系统中的管理节点,所述装置包括:第一确定模块、第二确定模块和发送模块;
所述第一确定模块,用于当接收到来自客户端的数据写请求时,从多个存储节点中确定目标存储节点,以使所述客户端将所述数据写请求对应的目标数据写入所述目标存储节点,其中,所述管理节点可与所述多个存储节点通信;
所述第二确定模块,用于基于各存储节点中的存储数据量,从所述多个存储节点中不同于所述目标存储节点的剩余存储节点中确定至少一个备份存储节点,其中,所述存储数据量为已存储数据的数据量;
所述发送模块,用于将所述至少一个备份存储节点的标识信息发送至所述目标存储节点,以使所述目标存储节点将所述目标数据分别写入所述至少一个备份存储节点。
其中,所述第一确定模块包括:判断子模块、第一确定子模块和第二确定子模块;
所述判断子模块,用于判断是否存在与所述客户端处于同一服务器上的存储节点;
所述第一确定子模块,用于当存在与所述客户端处于同一服务器上的存储节点时,将与所述客户端处于同一服务器上的存储节点确定为所述目标存储节点;
所述第二确定子模块,用于从所述多个存储节点中确定存储数据量最小的存储节点,将所述存储数据量最小的存储节点确定为所述目标存储节点。
所述数据平衡装置还包括:判断模块和数据迁移模块;
所述判断模块,用于判断所述管理节点是否在预设时间段内未接收到数据操作请求;
所述数据迁移模块,用于当所述管理节点在所述预设时间段内未接收到所述数据操作请求时,将存储数据量大于第一预设值的存储节点的部分数据迁移至存储数据量小于第二预设值的存储节点。
一种分布式存储系统中的管理设备,包括:通信接口和处理器;
所述通信接口,用于接收客户端的数据写请求;
所述处理器,用于在所述通信接口接收到所述客户端的数据写请求时,从多个存储节点中确定目标存储节点,以使所述客户端将所述数据写请求对应的目标数据写入所述目标存储节点;基于各存储节点中的存储数据量,从所述多个存储节点中不同于所述目标存储节点的剩余存储节点中确定至少一个备份存储节点,其中,所述管理设备可与所述多个存储节点通信,所述存储数据量为已存储数据的数据量;
所述通信接口,还用于将所述至少一个备份存储节点的标识信息发送至所述目标存储节点,以使所述目标存储节点将所述目标数据分别写入所述至少一个备份存储节点。
上述技术方案具有如下有益效果:
本发明提供的数据平衡方法、装置及分布式存储系统中的管理设备,在接收到数据写请求时,首先从多个存储节点中确定目标存储节点,接着基于各存储节点的存储数据量在剩余存储节点中确定至少一个备份存储节点,从而使客户端将数据写请求对应的目标数据写入目标存储节点,使目标存储节点将目标数据分别写入至少一个备份存储节点,由上述过程可知,本发明提供的数据平衡方法、装置及分布式存储系统中的管理设备,在数据写入的时候就考虑了数据平衡的问题,即在数据写入时,基于存储数据量确定需要写入目标数据的存储节点,这使得数据不平衡的情况大为减少,从根源上避免了后续可能出现的一些数据不平衡问题。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例提供的数据平衡方法的流程示意图;
图2为本发明实施例提供的数据平衡装置的结构示意图;
图3为本发明实施例提供的分布式存储系统中的管理设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供了一种数据平衡方法,该方法应用于分布式存储系统中的管理节点,请参阅图1,示出了该数据平衡方法的流程示意图,该方法可以包括:
步骤S101:当接收到来自客户端的数据写请求时,从多个存储节点中确定目标存储节点,以使客户端将数据写请求对应的目标数据写入目标存储节点。
其中,管理节点可与多个存储节点通信。
步骤S102:基于各存储节点中的存储数据量,从多个存储节点中不同于目标存储节点的剩余存储节点中确定至少一个备份存储节点。
其中,存储数据量为已存储数据的数据量。
步骤S103:将至少一个备份存储节点的标识信息发送至目标存储节点,以使目标存储节点将目标数据分别写入至少一个备份存储节点。
本发明实施例提供的数据平衡方法,在接收到数据写请求时,首先从多个存储节点中确定目标存储节点,接着基于各存储节点的存储数据量在剩余存储节点中确定至少一个备份存储节点,从而使客户端将数据写请求对应的目标数据写入目标存储节点,使目标存储节点将目标数据分别写入至少一个备份存储节点,由上述过程可知,本发明实施例提供的数据平衡方法,在数据写入的时候就考虑了数据平衡的问题,即在数据写入时,基于存储数据量确定需要写入目标数据的存储节点,这使得数据不平衡的情况大为减少。
以下对上述实施例提供的数据平衡方法中,步骤S101从多个存储节点中确定目标存储节点的具体实现过程进行说明。
从多个存储节点中确定目标存储节点的实现方式有多种。在一种可能的实现方式中,从多个存储节点中确定目标存储节点的过程可以包括:从多个存储节点中确定存储数据量最小的存储节点,将存储数据量最小的存储节点确定为目标存储节点。
需要说明的是,分布式存储系统存储数据的过程为:管理节点首先确定目标存储节点,然后确定备份存储节点,由客户端向目标存储节点存储数据,由目标存储节点向备份存储节点存储备份数据。
可以理解的是,如果客户端与目标存储节点处于同一服务器上,那么存储数据的速度较快,而如果客户端与目标存储节点处于不同服务器上,那么,存储数据的速度相对较慢。
在上述第一种可能的实现方式中,从多个存储节点中确定存储数据量最小的存储节点作为目标存储节点时,可能存在存储数据量最小的存储节点与客户端位于不同服务器的情况。
为了提高数据的存储速度,本发明实施例提供了另外一种可能的实现方式,在该实现方式中,从多个存储节点中确定目标存储节点的过程可以包括:判断是否存在与客户端处于同一服务器上的存储节点;若存在与客户端处于同一服务器上的存储节点,则将与客户端处于同一服务器上的存储节点确定为目标存储节点;若不存在与客户端处于同一服务器上的存储节点,则从多个存储节点中确定存储数据量最小的存储节点,将存储数据量最小的存储节点确定为目标存储节点。
需要说明的是,在上述第二种可能的实现方式中,首先需要判断是否存在与客户端处于同一服务器上的存储节点,在本实施例中,可将各个存储节点的标识与客户端的标识进行比较,如果存在存储节点的标识与客户端的标识相同,则表明该存储节点与客户端处于同一服务上,即存在与客户端处于同一服务器上的存储节点。其中,标识可以但不限为IP地址。
在确定出目标存储节点后,需要进一步确定备份存储节点。以下对基于各存储节点中的存储数据量,从多个存储节点中不同于目标存储节点的剩余存储节点中确定至少一个备份存储节点的具体实现过程进行说明。
以下分两种情况对基于各存储节点中的存储数据量,从多个存储节点中不同于目标存储节点的剩余存储节点中确定至少一个备份存储节点的具体实现过程进行说明。
第一种情况为剩余存储节点中存在与目标存储节点属于不同组的存储节点:
需要说明的是,两个存储节点属于不同组,指的是,两个存储节点部署在不同组的服务器上,可以理解的是,实际应用时,服务器集群会被分成多个组,同一组的服务器设置在一个机架上,设置在同一机架上的服务器共用一个电源和一个网络入口,可以想象的是,一旦电源故障或者网络接口故障,整个机架上的所有服务器均无法工作,即部署在这些服务器上的存储节点也就无法存取数据。为了避免上述情况的发生,本实施例优先从与目标存储节点属于不同组的存储节点中确定备份存储节点。
具体地,基于存储数据量从与目标存储节点属于不同组的存储节点中确定至少一个备份存储节点。其中,至少一个备份存储节点的存储数据量均小于与目标存储节点属于不同组的存储节点中不同于至少一个备份存储节点的存储节点的存储数据量。
示例性地,备份数量为3,即,需要确定3个备份存储节点,目标存储节点为a,剩余存储节点中与目标存储节点属于不同组的存储节点包括b、c、d和e,假设存储节点b、c、d和e中的存储数据量分别为sb、sc、sd、se,且sc<sd<sb<se,由于存储数据量前三小的存储节点为c、d和b,因此,将存储节点c、d和b确定为备份存储节点。
第二种情况为剩余存储节点与目标存储节点属于同一组:
在这种情况下,基于存储数据量从剩余存储节点中确定至少一个备份存储节点。其中,至少一个备份存储节点的存储数据量均小于剩余存储节点中不同于至少一个备份存储节点的存储节点的存储数据量。
示例性地,备份数量为3,即,需要确定3个备份存储节点,目标存储节点为a,剩余存储节点包括b、c、d、e、f、g,假设存储节点b、c、d、e、f、g中的存储数据量分别为sb、sc、sd、se、sf、sg,且sc<sd<sg<se<sf,由于存储数据量前三小的存储节点为c、d和g,因此,将存储节点c、d和g确定为备份存储节点。
上述从多个存储节点中确定目标存储节点的第二种可能的实现方式中,如果存在与客户端处于同一服务器上的存储节点,则将与客户端处于同一服务器上的存储节点确定为目标存储节点,以使客户端将目标数据存储至目标存储节点,即客户端每次需要写数据时,都会优先向与其处于同一服务器的目标存储节点中写入,这就可能导致大量的数据写入目标存储节点,从而引起数据不平衡。针对这种情况,本发明实施例进一步提供如下解决方案:当分布式存储系统的系统资源比较空闲的时候,进行数据平衡。
具体地,实时检测管理节点和多个存储节点的资源使用率,若管理节点和多个存储节点的资源使用率小于设定阈值,则将存储数据量大于第一预设值的存储节点的部分数据迁移至存储数据量小于第二预设值的存储节点。其中,资源使用率用于表征CPU、内存、IO等的使用情况。
上述实现过程中,检测管理节点和多个存储节点的资源使用率的目的在于确定系统资源是否空闲,除了这种方式外,本发明实施例还提供另外一种方式确定系统资源是否空闲,即,判断管理节点是否在预设时间段内未接收到数据操作请求,若管理节点在预设时间段内未接收到数据操作请求,则将存储数据量大于第一预设值的存储节点的部分数据迁移至存储数据量小于第二预设值的存储节点。
可以理解的是,如果管理节点长时间没有接收到数据写请求或数据读请求,则表明管理节点比较空闲,即,系统资源比较空闲。
需要说明的是,在进行数据平衡的过程中,仍会实时监测系统资源情况,一旦系统资源比较繁忙,即停止数据平衡操作。
本发明实施例提供的数据平衡方法,一方面在数据写入的时候,就考虑平衡问题,将数据写入存储数据量较小的存储节点,这使得数据不平衡的情况大大减少,另一方面,在系统资源比较空闲的时候,自动进行数据平衡,而不需要人为干预,由于系统资源比较空闲,因此,数据平衡操作不会失败,且数据平衡效率较高,即数据平衡时间较短。
与上述方法相对应,本发明实施例还提供了一种数据平衡装置,该数据平衡装置应用于分布式存储系统中的管理节点,请参阅图2,示出了该数据平衡装置的结构示意图,可以包括:第一确定模块201、第二确定模块202和发送模块203。
第一确定模块201,用于当接收到来自客户端的数据写请求时,从多个存储节点中确定目标存储节点,以使客户端将数据写请求对应的目标数据写入目标存储节点。
其中,管理节点可与多个存储节点通信。
第二确定模块202,用于基于各存储节点中的存储数据量,从多个存储节点中不同于目标存储节点的剩余存储节点中确定至少一个备份存储节点。
其中,存储数据量为已存储数据的数据量。
发送模块203,用于将至少一个备份存储节点的标识信息发送至目标存储节点,以使目标存储节点将目标数据分别写入至少一个备份存储节点。
本发明实施例提供的数据平衡装置,在接收到数据写请求时,首先从多个存储节点中确定目标存储节点,接着基于各存储节点的存储数据量在剩余存储节点中确定至少一个备份存储节点,从而使客户端将数据写请求对应的目标数据写入目标存储节点,使目标存储节点将目标数据分别写入至少一个备份存储节点,由上述过程可知,本发明实施例提供的数据平衡装置,在数据写入的时候就考虑了数据平衡的问题,即在数据写入时,基于存储数据量确定需要写入目标数据的存储节点,这使得数据不平衡的情况大为减少。
在上述实施例提供的数据平衡装置中,第一确定模块201的实现方式有多种。
在一种可能的实现方式中,第一确定模块201可以包括:第一确定子模块和第二确定子模块。
第一确定子模块,用于从多个存储节点中确定存储数据量最小的存储节点。
第二确定子模块,用于将存储数据量最小的存储节点确定为目标存储节点。
在另一种可能的实现方式中,第一确定模块201可以包括:判断子模块、第一确定子模块和第二确定子模块。
判断子模块,用于判断是否存在与客户端处于同一服务器上的存储节点。
第一确定子模块,用于当存在与客户端处于同一服务器上的存储节点时,将与客户端处于同一服务器上的存储节点确定为目标存储节点。
第二确定子模块,用于从多个存储节点中确定存储数据量最小的存储节点,将存储数据量最小的存储节点确定为目标存储节点。
在上述实施例提供的数据平衡装置中,第二确定模块202可以包括:第一确定子模块和第二确定子模块。
第一确定子模块,用于当剩余存储节点中存在与目标存储节点属于不同组的存储节点时,基于存储数据量从与目标存储节点属于不同组的存储节点中确定至少一个备份存储节点。
其中,至少一个备份存储节点的存储数据量均小于与目标存储节点属于不同组的存储节点中不同于至少一个备份存储节点的存储节点的存储数据量。
第二确定子模块,用于当剩余存储节点与目标存储节点属于同一组时,基于存储数据量从剩余存储节点中确定至少一个备份存储节点。
其中,至少一个备份存储节点的存储数据量均小于剩余存储节点中不同于至少一个备份存储节点的存储节点的存储数据量。
优选地,在一种可能的实现方式中,上述实施例提供的数据平衡装置还可以包括:检测模块和数据迁移模块。其中:
检测模块,用于实时检测所述管理节点和多个存储节点的资源使用率。
数据迁移模块,用于当管理节点和多个存储节点的资源使用率小于设定阈值时,将存储数据量大于第一预设值的存储节点的部分数据迁移至存储数据量小于第二预设值的存储节点。
优选地,在另一种可能的实现方式中,上述实施例提供的数据平衡装置还可以包括:判断模块和数据迁移模块。其中:
判断模块,用于判断管理节点是否在预设时间段内未接收到数据操作请求。
数据迁移模块,用于当管理节点在预设时间段内未接收到数据操作请求时,将存储数据量大于第一预设值的存储节点的部分数据迁移至存储数据量小于第二预设值的存储节点。
本发明实施例还提供了一种分布式存储系统中的管理设备,请参阅图3,示出了该管理设备的结构示意图,该管理设备可以包括:通信接口301和处理器302。
通信接口301,用于接收客户端的数据写请求。
处理器302,用于在通信接口301接收到客户端的数据写请求时,从多个存储节点中确定目标存储节点,以使客户端将数据写请求对应的目标数据写入目标存储节点;基于各存储节点中的存储数据量,从多个存储节点中不同于目标存储节点的剩余存储节点中确定至少一个备份存储节点,其中,管理设备可与多个存储节点通信,存储数据量为已存储数据的数据量。
通信接口301,还用于将至少一个备份存储节点的标识信息发送至目标存储节点,以使目标存储节点将目标数据分别写入至少一个备份存储节点。
本发明实施例提供的分布式存储系统中的管理设备,在接收到数据写请求时,首先从多个存储节点中确定目标存储节点,接着基于各存储节点的存储数据量在剩余存储节点中确定至少一个备份存储节点,从而使客户端将数据写请求对应的目标数据写入目标存储节点,使目标存储节点将目标数据分别写入至少一个备份存储节点,由上述过程可知,本发明实施例提供的管理设备,在数据写入的时候就考虑了数据平衡的问题,即在数据写入时,基于存储数据量确定需要写入目标数据的存储节点,这使得数据不平衡的情况大为减少。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。
在本申请所提供的几个实施例中,应该理解到,所揭露的方法、装置和设备,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (10)

1.一种数据平衡方法,其特征在于,应用于分布式存储系统中的管理节点,所述方法包括:
当接收到来自客户端的数据写请求时,从多个存储节点中确定目标存储节点,以使所述客户端将所述数据写请求对应的目标数据写入所述目标存储节点,其中,所述管理节点可与所述多个存储节点通信;
基于各存储节点中的存储数据量,从所述多个存储节点中不同于所述目标存储节点的剩余存储节点中确定至少一个备份存储节点,其中,所述存储数据量为已存储数据的数据量;
将所述至少一个备份存储节点的标识信息发送至所述目标存储节点,以使所述目标存储节点将所述目标数据分别写入所述至少一个备份存储节点。
2.根据权利要求1所述的数据平衡方法,其特征在于,所述从多个存储节点中确定目标存储节点,包括:
从所述多个存储节点中确定存储数据量最小的存储节点;
将所述存储数据量最小的存储节点确定为所述目标存储节点。
3.根据权利要求1所述的数据平衡方法,其特征在于,所述从多个存储节点中确定目标存储节点,包括:
判断是否存在与所述客户端处于同一服务器上的存储节点;
若存在与所述客户端处于同一服务器上的存储节点,则将与所述客户端处于同一服务器上的存储节点确定为所述目标存储节点;
若不存在与所述客户端处于同一服务器上的存储节点,则从所述多个存储节点中确定存储数据量最小的存储节点,将所述存储数据量最小的存储节点确定为所述目标存储节点。
4.根据权利要求1-3中任意一项所述的数据平衡方法,其特征在于,所述基于各存储节点中的存储数据量,从所述多个存储节点中不同于所述目标存储节点的剩余存储节点中确定至少一个备份存储节点,包括:
若所述剩余存储节点中存在与所述目标存储节点属于不同组的存储节点,则基于存储数据量从与所述目标存储节点属于不同组的存储节点中确定所述至少一个备份存储节点,其中,所述至少一个备份存储节点的存储数据量均小于与所述目标存储节点属于不同组的存储节点中不同于所述至少一个备份存储节点的存储节点的存储数据量;
若所述剩余存储节点与所述目标存储节点属于同一组,则基于存储数据量从所述剩余存储节点中确定所述至少一个备份存储节点,其中,所述至少一个备份存储节点的存储数据量均小于所述剩余存储节点中不同于所述至少一个备份存储节点的存储节点的存储数据量。
5.根据权利要求3所述的数据平衡方法,其特征在于,所述数据平衡方法还包括:
实时检测所述管理节点和所述多个存储节点的资源使用率;
若所述管理节点和所述多个存储节点的资源使用率小于设定阈值,则将存储数据量大于第一预设值的存储节点的部分数据迁移至存储数据量小于第二预设值的存储节点。
6.根据权利要求3所述的数据平衡方法,其特征在于,所述数据平衡方法还包括:
判断所述管理节点是否在预设时间段内未接收到数据操作请求;
若所述管理节点在所述预设时间段内未接收到所述数据操作请求,则将存储数据量大于第一预设值的存储节点的部分数据迁移至存储数据量小于第二预设值的存储节点。
7.一种数据平衡装置,其特征在于,应用于分布式存储系统中的管理节点,所述装置包括:第一确定模块、第二确定模块和发送模块;
所述第一确定模块,用于当接收到来自客户端的数据写请求时,从多个存储节点中确定目标存储节点,以使所述客户端将所述数据写请求对应的目标数据写入所述目标存储节点,其中,所述管理节点可与所述多个存储节点通信;
所述第二确定模块,用于基于各存储节点中的存储数据量,从所述多个存储节点中不同于所述目标存储节点的剩余存储节点中确定至少一个备份存储节点,其中,所述存储数据量为已存储数据的数据量;
所述发送模块,用于将所述至少一个备份存储节点的标识信息发送至所述目标存储节点,以使所述目标存储节点将所述目标数据分别写入所述至少一个备份存储节点。
8.根据权利要求7所述的数据平衡装置,其特征在于,所述第一确定模块包括:判断子模块、第一确定子模块和第二确定子模块;
所述判断子模块,用于判断是否存在与所述客户端处于同一服务器上的存储节点;
所述第一确定子模块,用于当存在与所述客户端处于同一服务器上的存储节点时,将与所述客户端处于同一服务器上的存储节点确定为所述目标存储节点;
所述第二确定子模块,用于从所述多个存储节点中确定存储数据量最小的存储节点,将所述存储数据量最小的存储节点确定为所述目标存储节点。
9.根据权利要求7所述的数据平衡装置,其特征在于,所述数据平衡装置还包括:判断模块和数据迁移模块;
所述判断模块,用于判断所述管理节点是否在预设时间段内未接收到数据操作请求;
所述数据迁移模块,用于当所述管理节点在所述预设时间段内未接收到所述数据操作请求时,将存储数据量大于第一预设值的存储节点的部分数据迁移至存储数据量小于第二预设值的存储节点。
10.一种分布式存储系统中的管理设备,其特征在于,包括:通信接口和处理器;
所述通信接口,用于接收客户端的数据写请求;
所述处理器,用于在所述通信接口接收到所述客户端的数据写请求时,从多个存储节点中确定目标存储节点,以使所述客户端将所述数据写请求对应的目标数据写入所述目标存储节点;基于各存储节点中的存储数据量,从所述多个存储节点中不同于所述目标存储节点的剩余存储节点中确定至少一个备份存储节点,其中,所述管理设备可与所述多个存储节点通信,所述存储数据量为已存储数据的数据量;
所述通信接口,还用于将所述至少一个备份存储节点的标识信息发送至所述目标存储节点,以使所述目标存储节点将所述目标数据分别写入所述至少一个备份存储节点。
CN201711382328.4A 2017-12-20 2017-12-20 一种数据平衡方法、装置及分布式存储系统中的管理设备 Active CN108023967B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711382328.4A CN108023967B (zh) 2017-12-20 2017-12-20 一种数据平衡方法、装置及分布式存储系统中的管理设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711382328.4A CN108023967B (zh) 2017-12-20 2017-12-20 一种数据平衡方法、装置及分布式存储系统中的管理设备

Publications (2)

Publication Number Publication Date
CN108023967A true CN108023967A (zh) 2018-05-11
CN108023967B CN108023967B (zh) 2021-05-18

Family

ID=62074526

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711382328.4A Active CN108023967B (zh) 2017-12-20 2017-12-20 一种数据平衡方法、装置及分布式存储系统中的管理设备

Country Status (1)

Country Link
CN (1) CN108023967B (zh)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109298837A (zh) * 2018-09-13 2019-02-01 郑州云海信息技术有限公司 一种多控制器缓存备份方法、装置、设备及可读存储介质
CN109407976A (zh) * 2018-09-21 2019-03-01 联想(北京)有限公司 一种分布式存储方法及分布式存储装置
CN109783275A (zh) * 2018-12-17 2019-05-21 北京春鸿科技有限公司 向多个wifi存储设备进行文件备份的方法及终端
CN110674099A (zh) * 2019-09-25 2020-01-10 新华三大数据技术有限公司 副本平衡方法、装置、存储介质及电子设备
CN110969458A (zh) * 2018-09-29 2020-04-07 武汉斗鱼网络科技有限公司 一种客户端集群的积分方法、客户端及系统
WO2020133734A1 (zh) * 2018-12-28 2020-07-02 深兰盛视科技(苏州)有限公司 生物信息识别方法、装置、系统及计算机可存储介质
CN112527492A (zh) * 2019-09-18 2021-03-19 华为技术有限公司 一种分布式存储系统中的数据存储方法及装置
WO2022188184A1 (zh) * 2021-03-12 2022-09-15 华为技术有限公司 数据存储方法及相关设备
CN117453149A (zh) * 2023-12-22 2024-01-26 柏科数据技术(深圳)股份有限公司 分布式存储系统的数据平衡方法、装置、终端及存储介质
CN117453148A (zh) * 2023-12-22 2024-01-26 柏科数据技术(深圳)股份有限公司 基于神经网络的数据平衡方法、装置、终端及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1410217A4 (en) * 2001-04-02 2006-09-20 Akamai Tech Inc SCALABLE, VERY EFFICIENT AND VERY AVAILABLE DISTRIBUTED STORAGE SYSTEM FOR INTERNET CONTENT
CN102158540A (zh) * 2011-02-18 2011-08-17 广州从兴电子开发有限公司 分布式数据库实现系统及方法
CN103077197A (zh) * 2012-12-26 2013-05-01 北京思特奇信息技术股份有限公司 一种数据存储方法装置
CN103778031A (zh) * 2014-01-15 2014-05-07 华中科技大学 一种云环境下的分布式系统多级故障容错方法
CN104142871A (zh) * 2013-05-10 2014-11-12 中国电信股份有限公司 用于数据备份的方法、装置和分布式文件系统

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1410217A4 (en) * 2001-04-02 2006-09-20 Akamai Tech Inc SCALABLE, VERY EFFICIENT AND VERY AVAILABLE DISTRIBUTED STORAGE SYSTEM FOR INTERNET CONTENT
CN102158540A (zh) * 2011-02-18 2011-08-17 广州从兴电子开发有限公司 分布式数据库实现系统及方法
CN103077197A (zh) * 2012-12-26 2013-05-01 北京思特奇信息技术股份有限公司 一种数据存储方法装置
CN104142871A (zh) * 2013-05-10 2014-11-12 中国电信股份有限公司 用于数据备份的方法、装置和分布式文件系统
CN103778031A (zh) * 2014-01-15 2014-05-07 华中科技大学 一种云环境下的分布式系统多级故障容错方法

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109298837A (zh) * 2018-09-13 2019-02-01 郑州云海信息技术有限公司 一种多控制器缓存备份方法、装置、设备及可读存储介质
CN109407976B (zh) * 2018-09-21 2021-09-14 联想(北京)有限公司 一种分布式存储方法及分布式存储装置
CN109407976A (zh) * 2018-09-21 2019-03-01 联想(北京)有限公司 一种分布式存储方法及分布式存储装置
CN110969458A (zh) * 2018-09-29 2020-04-07 武汉斗鱼网络科技有限公司 一种客户端集群的积分方法、客户端及系统
CN109783275A (zh) * 2018-12-17 2019-05-21 北京春鸿科技有限公司 向多个wifi存储设备进行文件备份的方法及终端
WO2020133734A1 (zh) * 2018-12-28 2020-07-02 深兰盛视科技(苏州)有限公司 生物信息识别方法、装置、系统及计算机可存储介质
CN112527492A (zh) * 2019-09-18 2021-03-19 华为技术有限公司 一种分布式存储系统中的数据存储方法及装置
CN110674099A (zh) * 2019-09-25 2020-01-10 新华三大数据技术有限公司 副本平衡方法、装置、存储介质及电子设备
WO2022188184A1 (zh) * 2021-03-12 2022-09-15 华为技术有限公司 数据存储方法及相关设备
CN117453149A (zh) * 2023-12-22 2024-01-26 柏科数据技术(深圳)股份有限公司 分布式存储系统的数据平衡方法、装置、终端及存储介质
CN117453148A (zh) * 2023-12-22 2024-01-26 柏科数据技术(深圳)股份有限公司 基于神经网络的数据平衡方法、装置、终端及存储介质
CN117453148B (zh) * 2023-12-22 2024-04-02 柏科数据技术(深圳)股份有限公司 基于神经网络的数据平衡方法、装置、终端及存储介质
CN117453149B (zh) * 2023-12-22 2024-04-09 柏科数据技术(深圳)股份有限公司 分布式存储系统的数据平衡方法、装置、终端及存储介质

Also Published As

Publication number Publication date
CN108023967B (zh) 2021-05-18

Similar Documents

Publication Publication Date Title
CN108023967A (zh) 一种数据平衡方法、装置及分布式存储系统中的管理设备
US9009542B1 (en) Automatic testing and remediation based on confidence indicators
CN109684074B (zh) 物理机资源分配方法及终端设备
CN108205541B (zh) 分布式网络爬虫任务的调度方法及装置
US8990639B1 (en) Automatic testing and remediation based on confidence indicators
CN102075556B (zh) 一种具备大规模负载能力的服务架构设计方法
CN103064927B (zh) 分布式文件系统的数据访问方法和装置
CN108463988A (zh) 负载均衡的网络文件访问
CN109218100A (zh) 分布式对象存储集群及其请求响应方法、系统和存储介质
CN113504954B (zh) 调用CSI LVM Plugin插件、动态持久卷供应的方法、系统及介质
US20120311111A1 (en) Dynamic reconfiguration of cloud resources
US9043658B1 (en) Automatic testing and remediation based on confidence indicators
CN103078965B (zh) 虚拟机的ip地址管理方法
CN105429776A (zh) 一种虚拟化网络功能管理的方法和系统
CN108039964A (zh) 基于网络功能虚拟化的故障处理方法及装置、系统
CN107590033A (zh) 一种创建docker容器的方法、装置和系统
CN109274537B (zh) 一种连续性网络虚拟化平台系统
CN103746934A (zh) 一种cdn带宽平衡的方法、cdn控制中心及系统
JP5512442B2 (ja) ディザスタリカバリシステムのための管理装置、方法及びプログラム
CN104539708A (zh) 一种云平台资源的缩容方法、装置与系统
US9979616B2 (en) Event-driven framework for filtering and processing network flows
CN109873714A (zh) 云计算节点配置更新方法及终端设备
CN108304044A (zh) 一种nvme硬盘热插拔的设置方法及系统
CN107015767A (zh) 一种nas设备、分布式处理系统和方法
CN107634849A (zh) 一种全局区块链环境构建方法

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