CN105306525A - 一种数据布局的方法、装置和系统 - Google Patents

一种数据布局的方法、装置和系统 Download PDF

Info

Publication number
CN105306525A
CN105306525A CN201510575760.XA CN201510575760A CN105306525A CN 105306525 A CN105306525 A CN 105306525A CN 201510575760 A CN201510575760 A CN 201510575760A CN 105306525 A CN105306525 A CN 105306525A
Authority
CN
China
Prior art keywords
node
memory
memory node
weight value
relative weight
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.)
Pending
Application number
CN201510575760.XA
Other languages
English (en)
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.)
Inspur Group Co Ltd
Original Assignee
Inspur Group Co 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 Inspur Group Co Ltd filed Critical Inspur Group Co Ltd
Priority to CN201510575760.XA priority Critical patent/CN105306525A/zh
Publication of CN105306525A publication Critical patent/CN105306525A/zh
Pending legal-status Critical Current

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/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • 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

Landscapes

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

Abstract

本发明提供一种数据布局的方法、装置和系统,该方法包括:确定各个存储节点的相对权重值,并设置相对权重阈值,根据相对权重值,将各个存储节点分配到至少两个存储集合中,所述至少两个存储集合中,根据所有存储集合的集合特征,确定所有存储集合的集合特征区间;根据每一个存储集合中各个存储节点的节点特征,确定各个存储节点的节点特征区间;当接收到存储目标数据请求时,根据目标数据的特征、各个存储集合的集合特征区间以及目标存储集合中各个存储节点的节点特征区间,确定目标存储集合中与该目标数据特征对应的目标存储节点,将目标数据存储到目标存储节点,提高了云存储平台中的存储节点负载均衡。

Description

一种数据布局的方法、装置和系统
技术领域
本发明涉及云存储技术领域,特别涉及一种数据布局的方法、装置和系统。
背景技术
云存储平台由大量异构的存储节点构成,数据在这些存储节点中的布局是影响云存储平台中的存储节点的充分利用的关键技术。目前,为了实现数据存储,数据布局的方式主要是:为每一个存储节点分配一个哈希区间,并按照数据的某一特征如文件名、用户ID等计算得到多个哈希值,每一个哈希值对应数据中的一个片段,当这多个哈希值落在同一个哈希区间时,这数据将被存储在该哈希区间对应的存储节点上,而不是将数据的各个片段分别存储在多个存储节点上,导致上述存储了数据的存储节点的存储量过大,而其他存储节点有很多剩余存储空间,造成存储节点负载不均衡。
发明内容
本发明提供一种数据布局的方法、装置和系统,提高了云存储平台中的存储节点负载均衡。
一种数据布局的方法,确定各个存储节点的相对权重值,并设置相对权重阈值,还包括:
根据所述相对权重值,将所述各个存储节点分配到至少两个存储集合中,所述至少两个存储集合中,每一个存储集合中任意两个存储节点的相对权重值的差值的绝对值均小于等于相对权重阈值,任意两个存储集合中的存储节点不同;
根据所有存储集合的集合特征,确定所述所有存储集合的集合特征区间;
根据所述每一个存储集合中各个存储节点的节点特征,确定所述各个存储节点的节点特征区间;
当接收到存储目标数据请求时,根据目标数据的特征以及各个存储集合的集合特征区间,确定该目标数据对应的目标存储集合;
根据所述目标数据特征以及目标存储集合中各个存储节点的节点特征区间,确定目标存储集合中与该目标数据特征对应的目标存储节点,将所述目标数据存储到所述目标存储节点。
优选地,所述确定各个存储节点的相对权重值,包括:通过相对权重计算公式:计算各个存储节点的相对权重值,其中,ωa表征存储节点a的相对权重值,va表征存储节点a的存储容量,表征所有存储节点的存储容量之和。
优选地,所述根据所述相对权重值,将所述各个存储节点分配到至少两个存储集合中,包括:
按照相对权重值的大小,为所述相对权重值排序;
循环执行N1至N3,直至为所有存储节点均分配一个对应的存储集合:
N1:按照排序的顺序,对于第一个相对权重值,从第二个相对权重值开始直至最后一个相对权重值中的每一个当前相对权重值,依次计算当前相对权重值与第一个相对权重值的差值的绝对值,判断该绝对值是否小于等于所述相对权重阈值,如果是,则执行N2;否则执行N3;
N2:当前相对权重值对应的存储节点属于第一个相对权重值对应的存储节点所在的当前存储集合,结束;
N3:为所述当前相对权重值对应的存储节点重新分配一个存储集合,并将该当前相对权重值作为第一个相对权重值,执行N1。
优选地,所述根据所述每一个存储集合中各个存储节点的节点特征,确定所述各个存储节点的节点特征区间,包括:
根据每一个存储节点的相对权重值,为所述每一个存储节点生成对应的节点特征字符串;
针对每一个存储集合,利用该存储集合中的所有存储节点构建对应于该存储集合的节点虚拟环,每一个存储节点在对应的节点虚拟环中的位置由特征值计算公式:H2:Dc→Pc获得,其中,H2表征预先设定的节点特征常数;Dc表征存储节点c的节点特征字符串,Pc表征存储节点c在所述节点虚拟环中的位置的特征值;
对于每一个存储集合中的每一个当前存储节点,将当前存储节点在节点虚拟环中逆时针相邻的存储节点对应的P值作为当前存储节点的节点特征区间的起点,当前存储节点对应的P值作为当前存储节点的节点特征区间的终点,所述节点特征区间为左开右闭区间。
优选地,在所述将所述各个存储节点分配到至少两个存储集合中之后,在所述为所述所有存储集合配置对应的集合特征区间之前,进一步包括:确定每一个存储集合对应的虚拟存储集合的个数:其中,Nx表征存储集合x对应的虚拟集合个数;表征存储集合x的平均相对权重值;表征所有存储集合对应的各个平均相对权重值中的最小平均相对权重值;k表征虚拟存储集合计算常数;n表征所有存储节点的个数;当Nx小于1时,取Nx为1;
所述根据所有存储集合的集合特征,确定所述所有存储集合的集合特征区间,包括:根据所有存储集合和所有虚拟存储集合的集合特征,分别为所述所有存储集合和所有虚拟存储集合确定对应的集合特征区间。
优选地,所述根据所有存储集合和所有虚拟存储集合的集合特征,分别为所述所有存储集合和所有虚拟存储集合确定对应的集合特征区间,包括:
根据所述所有存储集合和所有虚拟存储集合中每一个集合的平均相对权重值,为所述所有存储集合和所有虚拟存储集合中每一个集合确定对应的集合特征字符串;
将所述所有存储集合和所有虚拟存储集合构成一个集合虚拟环,在该集合虚拟环中每一个集合是该集合虚拟环中的一个虚拟节点,每一个集合在所述集合虚拟环中的位置由特征值计算公式:H1:BDi→BPi获得,其中,H1表征集合特征常数;BDi表征集合i的集合特征字符串,BPi表征集合i在所述集合虚拟环中的位置的特征值;
对于每一个集合,将当前集合逆时针相邻的集合对应的BP值作为当前集合的集合特征区间的起点,当前集合对应的BP值作为当前集合的集合特征区间的终点,所述集合特征区间为左开右闭区间。
优选地,进一步包括:增加存储节点;所述增加存储节点包括:
确定所述增加的存储节点对应的相对权重值;
根据所述增加的存储节点对应的相对权重值和所述相对权重阈值,判断该增加的存储节点是否属于已有的任意一个存储集合,如果是,则将该增加的存储节点添加到对应的存储集合,并将与该增加的存储节点相邻的存储节点中的部分数据迁移到该增加的存储节点;否则,为该增加的存储节点构建新的存储集合,并将与该新的存储集合相邻的存储集合中的部分数据迁移到该新的存储集合中。
优选地,进一步包括:移除存储节点;所述移除存储节点包括:
将该移除的存储节点中的数据迁移到与该移除的存储节点相邻的存储节点上。
优选地,进一步包括:如果将任意一个或多个存储集合中所有存储节点移除,则将该任意一个或多个存储集合中的数据迁移到与该任意一个或多个存储集合相邻的存储集合中。
一种数据布局装置,包括:
设置单元,用于设置相对权重阈值;
相对权重确定单元,用于确定外设的各个存储节点的相对权重值;
集合确定单元,用于根据所述相对权重确定单元确定的外设的各个存储节点的相对权重值,将所述外设的各个存储节点分配到至少两个存储集合中,所述至少两个存储集合中,每一个存储集合中任意两个存储节点的相对权重值的差值的绝对值均小于等于所述设置单元设置的相对权重阈值,任意两个存储集合中的存储节点不同;
分配特征区间单元,用于根据所述集合确定单元分配的所有存储集合的集合特征,确定所述所有存储集合的集合特征区间;并根据所述每一个存储集合中各个存储节点的节点特征,确定所述各个存储节点配置对应的节点特征区间;
数据存储单元,用于当接收到存储目标数据请求时,根据目标数据的特征以及各个存储集合的集合特征区间,确定该目标数据对应的目标存储集合;并根据所述目标数据特征以及目标存储集合中各个存储节点的节点特征区间,确定目标存储集合中与该目标数据特征对应的目标存储节点,将所述目标数据存储到所述目标存储节点。
优选地,所述相对权重确定单元,用于通过相对权重计算公式:计算各个存储节点的相对权重值,其中,ωa表征存储节点a的相对权重值,va表征存储节点a的存储容量,表征所有存储节点的存储容量之和。
优选地,所述集合确定单元,用于按照相对权重值的大小,为所述相对权重值排序;
循环执行N1至N3,直至为所有存储节点均分配一个对应的存储集合:
N1:按照排序的顺序,对于第一个相对权重值,从第二个相对权重值开始直至最后一个相对权重值中的每一个当前相对权重值,依次计算当前相对权重值与第一个相对权重值的差的绝对值,判断该绝对值是否小于等于所述相对权重阈值,如果是,则执行N2;否则执行N3;
N2:当前相对权重值对应的存储节点属于第一个相对权重值对应的存储节点所在的当前存储集合,结束;
N3:为所述当前相对权重值对应的存储节点重新分配一个存储集合,并将该当前相对权重值作为第一个相对权重值,执行N1。
优选地,所述分配特征区间单元,用于根据外设的每一个节点的相对权重值,为所述外设的每一个节点生成对应的节点特征字符串;针对每一个存储集合,利用该存储集合中的所有存储节点构建对应于该存储集合的节点虚拟环,每一个存储节点在对应的节点虚拟环中的位置由特征值计算公式:H2:Dc→Pc获得,其中,H2表征预先设定的节点特征常数;Dc表征存储节点c的节点特征字符串,Pc表征存储节点c在所述节点虚拟环中的位置的特征值;对于每一个存储集合中的每一个当前存储节点,将当前存储节点在节点虚拟环中逆时针相邻的存储节点对应的P值作为当前存储节点的节点特征区间的起点,当前存储节点对应的P值作为当前存储节点的节点特征区间的终点,所述节点特征区间为左开右闭区间。
优选地,进一步包括:配置虚拟集合单元,其中,
所述配置虚拟集合单元,用于确定每一个存储集合对应的虚拟存储集合的个数:其中,Nx表征存储集合x对应的虚拟集合个数;表征存储集合x的平均相对权重值;表征所有存储集合对应的各个平均相对权重值中的最小平均相对权重值;k表征虚拟存储集合计算常数;n表征所有存储节点的个数;当Nx小于1时,取Nx为1;
所述分配特征区间单元,进一步用于根据所有存储集合和所有虚拟存储集合的集合特征,分别为所述所有存储集合和所有虚拟存储集合确定对应的集合特征区间。
优选地,所述分配特征区间单元,进一步用于:
根据所述所有存储集合和所有虚拟存储集合中每一个集合的平均相对权重值,为所述所有存储集合和所有虚拟存储集合中每一个集合确定对应的集合特征字符串;
将所述所有存储集合和所有虚拟存储集合构成一个集合虚拟环,在该集合虚拟环中每一个集合是该集合虚拟环中的一个虚拟节点,每一个集合在所述集合虚拟环中的位置由特征值计算公式:H1:BDi→BPi获得,其中,H1表征集合特征常数;BDi表征集合i的集合特征字符串,BPi表征集合i在所述集合虚拟环中的位置的特征值;
对于每一个集合,将当前集合逆时针相邻的集合对应的BP值作为当前集合的集合特征区间的起点,当前集合对应的BP值作为当前集合的集合特征区间的终点,所述集合特征区间为左开右闭区间。
一种数据分布系统,包括:上述任意一种数据分布装置和至少两个存储节点;
所述至少两个存储节点,用于根据所述数据分布装置对数据的分配,存储所述数据。
优选地,所述数据分布装置,进一步用于确定预增加的存储节点对应的相对权重值;根据所述预增加的存储节点对应的相对权重值和所述相对权重阈值,判断该预增加的存储节点是否属于已有的任意一个存储集合,如果是,则将该预增加的存储节点添加到对应的存储集合,并将与该预增加的存储节点相邻的存储节点中的部分数据迁移到该增加的存储节点;否则,为该预增加的存储节点构建新的存储集合,并将与该新的存储集合相邻的存储集合中的部分数据迁移到该新的存储集合中。
优选地,所述数据分布装置,进一步用于将预移除的存储节点中的数据迁移到与该预移除的存储节点相邻的存储节点上。
优选地,所述数据分布装置,进一步用于将预移除任意一个或多个存储集合中的数据迁移到与该预移除的任意一个或多个存储集合相邻的存储集合中。
本发明实施例提供了一种数据布局的方法、装置和系统,该数据布局方法,包括:确定各个存储节点的相对权重值,并设置相对权重阈值;根据所述相对权重值,将所述各个存储节点分配到至少两个存储集合中,所述至少两个存储集合中,每一个存储集合中任意两个存储节点的相对权重值的差值的绝对值均小于等于相对权重阈值,任意两个存储集合中的存储节点不同;根据所有存储集合的集合特征,确定所述所有存储集合的集合特征区间;根据所述每一个存储集合中各个存储节点的节点特征,确定所述各个存储节点的节点特征区间;当接收到存储目标数据请求时,根据目标数据的特征以及各个存储集合的集合特征区间,确定该目标数据对应的目标存储集合;根据所述目标数据特征以及目标存储集合中各个存储节点的节点特征区间,确定目标存储集合中与该目标数据特征对应的目标存储节点,将所述目标数据存储到所述目标存储节点。与现有技术相比,在该方法中由于一个存储集合包含有多个存储节点,而这多个存储节点由于相对权重值相近,那么,这多个存储节点对应的区间范围更加窄,使得数据在确定了存储集合之后,能够存储于存储集合中的多个存储节点上,有效地提高了云存储平台中的存储节点负载均衡。
附图说明
图1为本文发明实施例提供的一种数据布局方法的流程图;
图2为本文发明另一实施例提供的一种数据布局方法的流程图;
图3为本文发明实施例提供的一种存储集合、虚拟存储集合以及存储节点构建的虚拟环的结构示意图;
图4为本文发明实施例提供的一种数据布局装置的结构示意图;
图5为本文发明实施例提供的一种数据布局系统的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,本发明实施例提供一种数据布局的方法,该方法包括如下步骤:
步骤101:确定各个存储节点的相对权重值,并设置相对权重阈值;
步骤102:根据相对权重值,将各个存储节点分配到至少两个存储集合中,至少两个存储集合中,每一个存储集合中任意两个存储节点的相对权重值的差值的绝对值均小于等于相对权重阈值,任意两个存储集合中的存储节点不同;
步骤103:根据所有存储集合的集合特征,确定所有存储集合的集合特征区间;
步骤104:根据每一个存储集合中各个存储节点的节点特征,确定各个存储节点的节点特征区间;
步骤105:当接收到存储目标数据请求时,根据目标数据的特征以及各个存储集合的集合特征区间,确定该目标数据对应的目标存储集合;
步骤106:根据目标数据特征以及目标存储集合中各个存储节点的节点特征区间,确定目标存储集合中与该目标数据特征对应的目标存储节点,将目标数据存储到目标存储节点。
在本发明一个实施例中,为了能够使存储节点的相对权重值与存储节点的存储容量相关,以根据存储节点的存储容量合理安排存储节点,步骤101的具体实施方式:通过相对权重计算公式:计算各个存储节点的相对权重值,其中,ωa表征存储节点a的相对权重值,va表征存储节点a的存储容量,表征所有存储节点的存储容量之和。
在本发明一个实施例中,为了能够合理的为各个存储节点分配存储集合,步骤102的具体实施方式:按照相对权重值的大小,为所述相对权重值排序;循环执行N1至N3,直至为所有存储节点均分配一个对应的存储集合:N1:按照排序的顺序,对于第一个相对权重值,从第二个相对权重值开始直至最后一个相对权重值中的每一个当前相对权重值,依次计算当前相对权重值与第一个相对权重值的差值的绝对值,判断该绝对值是否小于等于所述相对权重阈值,如果是,则执行N2;否则执行N3;N2:当前相对权重值对应的存储节点属于第一个相对权重值对应的存储节点所在的当前存储集合,结束;N3:为所述当前相对权重值对应的存储节点重新分配一个存储集合,并将该当前相对权重值作为第一个相对权重值,执行N1。
在本发明一个实施例中,为了能够使节点特征区间与对应的存储节点的性能相关,以为性能强的存储节点分配较宽的存储区间,为性能较弱的存储节点分配较窄的存储区间,步骤104的具体实施方式:根据每一个存储节点的相对权重值,为所述每一个存储节点生成对应的节点特征字符串;针对每一个存储集合,利用该存储集合中的所有存储节点构建对应于该存储集合的节点虚拟环,每一个存储节点在对应的节点虚拟环中的位置由特征值计算公式:H2:Dc→Pc获得,其中,H2表征预先设定的节点特征常数;Dc表征存储节点c的节点特征字符串,Pc表征存储节点c在所述节点虚拟环中的位置的特征值;对于每一个存储集合中的每一个当前存储节点,将当前存储节点在节点虚拟环中逆时针相邻的存储节点对应的P值作为当前存储节点的节点特征区间的起点,当前存储节点对应的P值作为当前存储节点的节点特征区间的终点,所述节点特征区间为左开右闭区间。
在本发明一个实施例中,为了进一步能够使性能强的存储节点获得较多的数据,以进一步为实现云存储平台的各个存储节点负载均衡,在步骤102之后,在步骤103之前,进一步包括:确定每一个存储集合对应的虚拟存储集合的个数:其中,Nx表征存储集合x对应的虚拟集合个数;表征存储集合x的平均相对权重值;表征所有存储集合对应的各个平均相对权重值中的最小平均相对权重值;k表征虚拟存储集合计算常数;n表征所有存储节点的个数;当Nx小于1时,取Nx为1;则,步骤103的具体实施方式:根据所有存储集合和所有虚拟存储集合的集合特征,分别为所述所有存储集合和所有虚拟存储集合确定对应的集合特征区间。
在本发明一个实施例中,为了能够使集合特征区间与集合的整体性能相关,步骤103的具体实施方式:根据所述所有存储集合和所有虚拟存储集合中每一个集合的平均相对权重值,为所述所有存储集合和所有虚拟存储集合中每一个集合确定对应的集合特征字符串;将所述所有存储集合和所有虚拟存储集合构成一个集合虚拟环,在该集合虚拟环中每一个集合是该集合虚拟环中的一个虚拟节点,每一个集合在所述集合虚拟环中的位置由特征值计算公式:H1:BDi→BPi获得,其中,H1表征集合特征常数;BDi表征集合i的集合特征字符串,BPi表征集合i在所述集合虚拟环中的位置的特征值;对于每一个集合,将当前集合逆时针相邻的集合对应的BP值作为当前集合的集合特征区间的起点,当前集合对应的BP值作为当前集合的集合特征区间的终点,所述集合特征区间为左开右闭区间。
在本发明一个实施例中,为了能够提高云存储平台的存储容量,该方法进一步包括:增加存储节点;所述增加存储节点包括:确定所述增加的存储节点对应的相对权重值;根据所述增加的存储节点对应的相对权重值和所述相对权重阈值,判断该增加的存储节点是否属于已有的任意一个存储集合,如果是,则将该增加的存储节点添加到对应的存储集合,并将与该增加的存储节点相邻的存储节点中的部分数据迁移到该增加的存储节点;否则,为该增加的存储节点构建新的存储集合,并将与该新的存储集合相邻的存储集合中的部分数据迁移到该新的存储集合中。
在本发明一个实施例中,为了能够提高云存储平台的利用率,该方法进一步包括:移除存储节点;所述移除存储节点包括:将该移除的存储节点中的数据迁移到与该移除的存储节点相邻的存储节点上。
在本发明一个实施例中,该方法进一步包括:如果将任意一个或多个存储集合中所有存储节点移除,则将该任意一个或多个存储集合中的数据迁移到与该任意一个或多个存储集合相邻的存储集合中。
如图2所示,本发明另一实施例提供一种数据布局的方法,该方法包括如下步骤:
步骤200:设置相对权重阈值;
该相对权重阈值可以根据云存储平台所有存储节点的性能进行设定,以保证性能相近的存储节点可以分布在同一个存储集合中,例如,在该步骤中设定相对阈值为f。
步骤201:通过相对权重计算公式,计算各个存储节点的相对权重值;
在该步骤中,主要根据存储节点的存储容量来计算存储节点的相对权重值,该相对权重值的计算公式为其中,ωa表征存储节点a的相对权重值,va表征存储节点a的存储容量,表征所有存储节点的存储容量之和。通过该公式可知,存储容量越大的存储节点其相对权重值越大,存储容量即性能相近的存储节点的相对权重值相近。
步骤202:根据相对权重值,将各个存储节点分配到至少两个存储集合中;
该步骤的具体实施过程:
按照相对权重值的大小,为所有存储节点的相对权重值排序;
循环执行N1至N3,直至为所有存储节点均分配一个对应的存储集合:
N1:按照排序的顺序,对于第一个相对权重值,从第二个相对权重值开始直至最后一个相对权重值中的每一个当前相对权重值,依次计算当前相对权重值与第一个相对权重值的差值的绝对值,判断该绝对值是否小于等于所述相对权重阈值,如果是,则执行N2;否则执行N3;
N2:当前相对权重值对应的存储节点属于第一个相对权重值对应的存储节点所在的当前存储集合,结束;
N3:为所述当前相对权重值对应的存储节点重新分配一个存储集合,并将该当前相对权重值作为第一个相对权重值,执行N1;
例如:按照相对权重值从小到大的顺序,排序的结果为{ω12,…,ωn};利用步骤200给定的阈值f,从ω2开始直至ωn分别计算其与第一个权重值之差dm
dm=|ωm1|,其中,m为2,3,…,n
如果dm≤f,则ωm对应的存储节点属于当前ω1的存储集合BDj,当出现dg>f时,则dg对应的第g个存储节点作为第一个存储节点,第g+1个存储节点作为第二个存储节点,依次排序下去。再利用上述dm的计算公式,构建一个新的第g个存储节点作为第一个存储节点的存储集合。依次类推下去,直至所有存储节点都在存储集合中,并保证每一个存储集合中任意两个存储节点的相对权重值的差值的绝对值均小于等于相对权重阈值,任意两个存储集合中的存储节点不同。
步骤203:确定每一个存储集合对应的虚拟存储集合的个数;
为了提高存储集合的存储效率和存储集合的存储均衡,在本步骤中,为存储集合构建不同数目的虚拟存储集合。
首先,计算每个归并后集合的平均相对权重值:
其中,ni表征集合i中存储节点的个数;
利用上述公式计算得到的平均相对权重值,计算虚拟存储集合的个数:其中,Nx表征存储集合x对应的虚拟集合个数;表征存储集合x的平均相对权重值;表征所有存储集合对应的各个平均相对权重值中的最小平均相对权重值;k表征虚拟存储集合计算常数;n表征所有存储节点的个数;当Nx小于1时,取Nx为1。
步骤204:为所有存储集合和所有虚拟存储集合中每一个集合确定对应的集合特征字符串;
根据所有存储集合和所有虚拟存储集合中每一个集合的平均相对权重值,该步骤可根据用户需求进行设定,例如:对于一个存储集合,根据相对权重值为其确定一个字符串为abcdef123;如果该存储集合有3个虚拟存储集合,则对于该存储集合对应的虚拟集合,确定的字符串可以依次为abcdef1231,abcdef1232,abcdef1233。
步骤205:将所有存储集合和所有虚拟存储集合构成一个集合虚拟环,在该集合虚拟环中每一个集合是该集合虚拟环中的一个虚拟节点,计算每一个虚拟节点在集合虚拟环中的位置的特征值;
该位置的特征值的计算公式:H1:BDi→BPi获得,其中,H1表征集合特征常数;BDi表征集合i的集合特征字符串,BPi表征集合i在所述集合虚拟环中的位置的特征值;该特征值表征集合在存储节点中的位置,如:集合BD1和集合BD2相邻,并且,集合BD2位于集合BD1的逆时针方向,其中,集合BD1的特征值为0.8,集合BD2的特征值为0.5,该处0.8和0.5表示存储集合的位置,并不表示具体实数。
步骤206:确定各个虚拟节点对应的集合特征区间;
根据各个虚拟节点在集合虚拟环中的位置的特征值,对于每一个集合,将当前集合逆时针相邻的集合对应的BP值作为当前集合的集合特征区间的起点,当前集合对应的BP值作为当前集合的集合特征区间的终点,所述集合特征区间为左开右闭区间。如:步骤205所提到的集合BD1的集合特征区间为(0.5,0.8]。
步骤207:为每一个存储节点生成对应的节点特征字符串;
根据每一个存储节点的相对权重值,该步骤可根据用户需求进行设定,例如:对于一个存储集合中的一个存储节点,可以设定字符串为a,另一个存储节点可以设定字符串为b,等等;如果该存储集合有3个虚拟存储集合,则对于一个虚拟存储集合中对应的虚拟节点的字符串可以依次为a1,b1等等;另一个虚拟存储集合中对应的虚拟节点的字符串可以依次为a2,b2等等;还有一个虚拟存储集合中对应的虚拟节点的字符串可以依次为a3,b3等等,另外,该处1,2,3也可以为节点的IP地址等特征信息。
步骤208:针对每一个存储集合,利用该存储集合中的所有存储节点构建对应于该存储集合的节点虚拟环,计算每一个存储节点在对应的节点虚拟环中的位置的特征值;
特征值计算公式:H2:Dc→Pc获得,其中,H2表征预先设定的节点特征常数;Dc表征存储节点c的节点特征字符串,Pc表征存储节点c在所述节点虚拟环中的位置的特征值;如:集合BD1中,存储节点D1和存储节点D2相邻,其中,存储节点D2位于存储节点D1的逆时针方向,其中,存储节点D1的特征值为0.75,存储节点D2的特征值为0.60,该处0.75和0.60表示存储节点在集合中的位置,并不表示具体实数。
步骤209:确定各个存储节点对应的节点特征区间;
根据各个存储节点在节点虚拟环中的位置的特征值,对于每一个存储集合中的每一个当前存储节点,将当前存储节点在节点虚拟环中逆时针相邻的存储节点对应的P值作为当前存储节点的节点特征区间的起点,当前存储节点对应的P值作为当前存储节点的节点特征区间的终点,所述节点特征区间为左开右闭区间。例如:步骤208所提到的集合BD1中,D1的特征区间为(0.60,0.75],每一个集合中各个存储节点的特征区间是对该集合的特征区间的更详细的划分。
如图3所示,步骤205至步骤209中,存储集合、虚拟存储集合以及存储节点构建出来的虚拟环,图中的两个W1、W2和W3为集合,在两个W1中,包含有V11、V12、V13、V14、V15、V16和V17存储节点的W1为实际存储集合,其中,V12的特征区间为(V11特征值,V12特征值];包含有VV11、VV12、VV13、VV14、VV15、VV16和VV17虚拟存储节点的W1为虚拟存储集合,其中,VV12的特征区间为(VV11特征值,VV12特征值];存储集合W2包含V21、V22、V23、V24、V25以及V26存储节点;存储集合W3包含V31、V32、V33、V34以及V35存储节点;从图中可以直观的看出,每个集合作为一个虚拟节点,构成一个虚拟大环;每个集合中的各个存储节点各自构成虚拟小环。
步骤210:当接收到存储目标数据请求时,根据目标数据的特征以及各个存储集合的集合特征区间,确定该目标数据对应的目标存储集合;
例如:通过计算得到数据有5个特征值,依次为0.65、0.3、0.7、0.75、0.8;则根据这特征值可以确定其所对应的集合特征区间,0.65、0.7、0.75和0.8均在(0.5,0.8]区间,则这些特征值对应的数据存储在(0.5,0.8]对应的集合BD1中。
步骤211:确定目标存储集合中与该目标数据特征对应的目标存储节点,将目标数据存储到目标存储节点;
进一步地,根据目标数据特征以及目标存储集合中各个存储节点的节点特征区间,确定目标存储集合中与该目标数据特征对应的目标存储节点,例如:0.65、0.7、0.75均在(0.60,0.75]区间内,则这些特征值对应的数据存储在(0.60,0.75]对应的存储节点D1中。
步骤212:判断现有存储节点是冗余还是不足,如果存储节点冗余则执行步骤213;如果存储节点不足,则执行步骤214;
当存储平台的存储空间不足时,将导致数据不能继续存储,而且影响存储平台的运行速率,而当存储平台存储节点过多时,需要移出存储节点,以提高平台的利用率。
步骤213:移除存储节点,并将该移除的存储节点中的数据迁移到与该移除的存储节点相邻的存储节点上,并结束当前流程;
例如:存储节点D1和存储节点D2相邻,其中,在虚拟环中,存储节点D2位于存储节点D1的逆时针方向,则当移除存储节点D2时,该存储节点中的数据将迁移给存储节点D1,以保证数据存在的完整性。
另外,值得说明的是,如果将任意一个或多个存储集合中所有存储节点移除,则将该任意一个或多个存储集合中的数据迁移到与该任意一个或多个存储集合相邻的存储集合中。
步骤214:增加存储节点,并确定增加的存储节点对应的相对权重值;
步骤215:判断该增加的存储节点是否属于已有的任意一个存储集合,如果是,则执行步骤216;否则,执行步骤217;
步骤216:将该增加的存储节点添加到对应的存储集合,并将与该增加的存储节点相邻的存储节点中的部分数据迁移到该增加的存储节点,并结束当前流程;
步骤217:为该增加的存储节点构建新的存储集合,并将与该新的存储集合相邻的存储集合中的部分数据迁移到该新的存储集合中。
根据增加的存储节点对应的相对权重值和所述相对权重阈值,判断该增加的存储节点是否属于已有的任意一个存储集合;例如:要增加的存储节点的特征值为0.7,这0.7在(0.5,0.8]区间,则该存储节点属于集合BD1,同时,在该集合BD1所对应的虚拟集合中,为该存储节点也设置对应的虚拟存储节点。如果要增加的存储节点的特征值为0.9,这0.9不属于任何一个现有的区间,则为该存储节点建立一个新的存储集合,同时,将与该新的存储集合相邻的存储集合中的部分数据迁移到该新的存储集合中,以保证数据分布的均衡。
如图4所示,本发明实施例提供一种数据布局装置,该装置包括:
设置单元401,用于设置相对权重阈值;
相对权重确定单元402,用于确定外设的各个存储节点的相对权重值;
集合确定单元403,用于根据所述相对权重确定单元确定的外设的各个存储节点的相对权重值,将所述外设的各个存储节点分配到至少两个存储集合中,所述至少两个存储集合中,每一个存储集合中任意两个存储节点的相对权重值的差值的绝对值均小于等于所述设置单元设置的相对权重阈值,任意两个存储集合中的存储节点不同;
分配特征区间单元404,用于根据所述集合确定单元分配的所有存储集合的集合特征,确定所述所有存储集合的集合特征区间;并根据所述每一个存储集合中各个存储节点的节点特征,确定所述各个存储节点配置对应的节点特征区间;
数据存储单元405,用于当接收到存储目标数据请求时,根据目标数据的特征以及各个存储集合的集合特征区间,确定该目标数据对应的目标存储集合;并根据所述目标数据特征以及目标存储集合中各个存储节点的节点特征区间,确定目标存储集合中与该目标数据特征对应的目标存储节点,将所述目标数据存储到所述目标存储节点。
在本发明又一实施例中,相对权重确定单元402,用于通过相对权重计算公式:计算各个存储节点的相对权重值,其中,ωa表征存储节点a的相对权重值,va表征存储节点a的存储容量,表征所有存储节点的存储容量之和。
在本发明另一实施例中,集合确定单元403,用于按照相对权重值的大小,为相对权重值排序;
循环执行N1至N3,直至为所有存储节点均分配一个对应的存储集合:
N1:按照排序的顺序,对于第一个相对权重值,从第二个相对权重值开始直至最后一个相对权重值中的每一个当前相对权重值,依次计算当前相对权重值与第一个相对权重值的差的绝对值,判断该绝对值是否小于等于所述相对权重阈值,如果是,则执行N2;否则执行N3;
N2:当前相对权重值对应的存储节点属于第一个相对权重值对应的存储节点所在的当前存储集合,结束;
N3:为所述当前相对权重值对应的存储节点重新分配一个存储集合,并将该当前相对权重值作为第一个相对权重值,执行N1。
在本发明另一实施例中,分配特征区间单元404,用于根据外设的每一个节点的相对权重值,为所述外设的每一个节点生成对应的节点特征字符串;针对每一个存储集合,利用该存储集合中的所有存储节点构建对应于该存储集合的节点虚拟环,每一个存储节点在对应的节点虚拟环中的位置由特征值计算公式:H2:Dc→Pc获得,其中,H2表征预先设定的节点特征常数;Dc表征存储节点c的节点特征字符串,Pc表征存储节点c在所述节点虚拟环中的位置的特征值;对于每一个存储集合中的每一个当前存储节点,将当前存储节点在节点虚拟环中逆时针相邻的存储节点对应的P值作为当前存储节点的节点特征区间的起点,当前存储节点对应的P值作为当前存储节点的节点特征区间的终点,所述节点特征区间为左开右闭区间。
在本发明又一实施例中,上述装置进一步包括:配置虚拟集合单元(图中未示出),其中,
所述配置虚拟集合单元,用于确定每一个存储集合对应的虚拟存储集合的个数:其中,Nx表征存储集合x对应的虚拟集合个数;表征存储集合x的平均相对权重值;表征所有存储集合对应的各个平均相对权重值中的最小平均相对权重值;k表征虚拟存储集合计算常数;n表征所有存储节点的个数;当Nx小于1时,取Nx为1;
分配特征区间单元404,进一步用于根据所有存储集合和所有虚拟存储集合的集合特征,分别为所述所有存储集合和所有虚拟存储集合确定对应的集合特征区间。
在本发明另一实施例中,分配特征区间单元404,进一步用于:
根据所述所有存储集合和所有虚拟存储集合中每一个集合的平均相对权重值,为所述所有存储集合和所有虚拟存储集合中每一个集合确定对应的集合特征字符串;
将所述所有存储集合和所有虚拟存储集合构成一个集合虚拟环,在该集合虚拟环中每一个集合是该集合虚拟环中的一个虚拟节点,每一个集合在所述集合虚拟环中的位置由特征值计算公式:H1:BDi→BPi获得,其中,H1表征集合特征常数;BDi表征集合i的集合特征字符串,BPi表征集合i在所述集合虚拟环中的位置的特征值;
对于每一个集合,将当前集合逆时针相邻的集合对应的BP值作为当前集合的集合特征区间的起点,当前集合对应的BP值作为当前集合的集合特征区间的终点,所述集合特征区间为左开右闭区间。
如图5所示,本发明实施例提供一种数据分布系统,该系统包括:上述任意一种数据分布装置501和至少两个存储节点502;
所述至少两个存储节点502,用于根据所述数据分布装置对数据的分配,存储所述数据。
在本发明一个实施例中,数据分布装置501,进一步用于确定预增加的存储节点对应的相对权重值;根据所述预增加的存储节点对应的相对权重值和所述相对权重阈值,判断该预增加的存储节点是否属于已有的任意一个存储集合,如果是,则将该预增加的存储节点添加到对应的存储集合,并将与该预增加的存储节点相邻的存储节点中的部分数据迁移到该增加的存储节点;否则,为该预增加的存储节点构建新的存储集合,并将与该新的存储集合相邻的存储集合中的部分数据迁移到该新的存储集合中。
在本发明又一个实施例中,数据分布装置501,进一步用于将预移除的存储节点中的数据迁移到与该预移除的存储节点相邻的存储节点上。
在本发明又一个实施例中,数据分布装置501,进一步用于将预移除任意一个或多个存储集合中的数据迁移到与该预移除的任意一个或多个存储集合相邻的存储集合中。
本发明实施例所述方案,至少能够达到如下有益效果:
1.通过确定各个存储节点的相对权重值,并设置相对权重阈值;根据所述相对权重值,将所述各个存储节点分配到至少两个存储集合中,所述至少两个存储集合中,每一个存储集合中任意两个存储节点的相对权重值的差值的绝对值均小于等于相对权重阈值,任意两个存储集合中的存储节点不同;根据所有存储集合的集合特征,确定所述所有存储集合的集合特征区间;根据所述每一个存储集合中各个存储节点的节点特征,确定所述各个存储节点的节点特征区间;当接收到存储目标数据请求时,根据目标数据的特征以及各个存储集合的集合特征区间,确定该目标数据对应的目标存储集合;根据所述目标数据特征以及目标存储集合中各个存储节点的节点特征区间,确定目标存储集合中与该目标数据特征对应的目标存储节点,将所述目标数据存储到所述目标存储节点。与现有技术相比,在该方法中由于一个存储集合包含有多个存储节点,而这多个存储节点由于相对权重值相近,那么,这多个存储节点对应的区间范围更加窄,使得数据在确定了存储集合之后,能够存储于存储集合中的多个存储节点上,有效地提高了云存储平台中的存储节点负载均衡。
2.通过根据各个存储集合的平均相对权重值,为各个存储集合分配一定个数的虚拟存储集合,使得存储性能好即存储容量大的存储集合能够获得较多的虚拟存储集合,并为存储集合和虚拟存储集合分配特征区间,那么对于存储集合来说,其性能越强,对应的虚拟存储集合越多的话,其实际对应的特征区间也越多,按照概率来说,对应的虚拟存储集合多的存储集合能够获得较多的数据,而对应的虚拟存储集合少的存储集合获得较少的数据,一方面,进一步实现了存储节点的负载均衡;另一方面,当存储集合的特征区间被占用时,其他数据可通过虚拟存储集合的特征区间实现存储,避免了排队等待,可以提高数据的存储效率。
3.当一个存储节点发生变化时,其只影响到该存储节点所在的存储集合,而不会对所有存储节点产生影响,无须对所有存储节点的数据分布进行重新布局,仅在存储集合内部进行数据迁移即可,有效地降低了存储节点布置和数据分布的复杂度。
4.当增加存储节点时,会有与该增加的存储节点相邻的存储节点中的数据向该增加的存储节点迁移,当移除存储节点时,会有与该移除的存储节点相邻的存储节点接收该移除的存储节点中的数据,使得云存储平台具有自适应性。
5.本发明实施例中的存储集合的个数远远小于存储节点的个数,如果将存储集合看作虚拟节点,该虚拟节点个数远远小于存储节点的个数,那么,与管理所有的存储节点相比,云存储平台将更容易对存储集合进行容易管理,而且当存储节点出现问题时,仅需要检查该存储节点所在的存储集合,使得管理更加便捷。
需要说明的是,在本文中,诸如第一和第二之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个〃〃〃〃〃〃”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同因素。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。

Claims (10)

1.一种数据布局的方法,其特征在于,确定各个存储节点的相对权重值,并设置相对权重阈值,还包括:
根据所述相对权重值,将所述各个存储节点分配到至少两个存储集合中,所述至少两个存储集合中,每一个存储集合中任意两个存储节点的相对权重值的差值的绝对值均小于等于相对权重阈值,任意两个存储集合中的存储节点不同;
根据所有存储集合的集合特征,确定所述所有存储集合的集合特征区间;
根据所述每一个存储集合中各个存储节点的节点特征,确定所述各个存储节点的节点特征区间;
当接收到存储目标数据请求时,根据目标数据的特征以及各个存储集合的集合特征区间,确定该目标数据对应的目标存储集合;
根据所述目标数据特征以及目标存储集合中各个存储节点的节点特征区间,确定目标存储集合中与该目标数据特征对应的目标存储节点,将所述目标数据存储到所述目标存储节点。
2.根据权利要求1所述的方法,其特征在于,
所述确定各个存储节点的相对权重值,包括:通过相对权重计算公式:计算各个存储节点的相对权重值,其中,ωa表征存储节点a的相对权重值,va表征存储节点a的存储容量,表征所有存储节点的存储容量之和;
和/或,
所述根据所述相对权重值,将所述各个存储节点分配到至少两个存储集合中,包括:
按照相对权重值的大小,为所述相对权重值排序;
循环执行N1至N3,直至为所有存储节点均分配一个对应的存储集合:
N1:按照排序的顺序,对于第一个相对权重值,从第二个相对权重值开始直至最后一个相对权重值中的每一个当前相对权重值,依次计算当前相对权重值与第一个相对权重值的差值的绝对值,判断该绝对值是否小于等于所述相对权重阈值,如果是,则执行N2;否则执行N3;
N2:当前相对权重值对应的存储节点属于第一个相对权重值对应的存储节点所在的当前存储集合,结束;
N3:为所述当前相对权重值对应的存储节点重新分配一个存储集合,并将该当前相对权重值作为第一个相对权重值,执行N1;
和/或,
所述根据所述每一个存储集合中各个存储节点的节点特征,确定所述各个存储节点的节点特征区间,包括:
根据每一个存储节点的相对权重值,为所述每一个存储节点生成对应的节点特征字符串;
针对每一个存储集合,利用该存储集合中的所有存储节点构建对应于该存储集合的节点虚拟环,每一个存储节点在对应的节点虚拟环中的位置由特征值计算公式:H2:Dc→Pc获得,其中,H2表征预先设定的节点特征常数;Dc表征存储节点c的节点特征字符串,Pc表征存储节点c在所述节点虚拟环中的位置的特征值;
对于每一个存储集合中的每一个当前存储节点,将当前存储节点在节点虚拟环中逆时针相邻的存储节点对应的P值作为当前存储节点的节点特征区间的起点,当前存储节点对应的P值作为当前存储节点的节点特征区间的终点,所述节点特征区间为左开右闭区间。
3.根据权利要求1所述的方法,其特征在于,
在所述将所述各个存储节点分配到至少两个存储集合中之后,在所述为所述所有存储集合配置对应的集合特征区间之前,进一步包括:确定每一个存储集合对应的虚拟存储集合的个数:其中,Nx表征存储集合x对应的虚拟集合个数;表征存储集合x的平均相对权重值;表征所有存储集合对应的各个平均相对权重值中的最小平均相对权重值;k表征虚拟存储集合计算常数;n表征所有存储节点的个数;当Nx小于1时,取Nx为1;
所述根据所有存储集合的集合特征,确定所述所有存储集合的集合特征区间,包括:根据所有存储集合和所有虚拟存储集合的集合特征,分别为所述所有存储集合和所有虚拟存储集合确定对应的集合特征区间。
4.根据权利要求3所述的方法,其特征在于,所述根据所有存储集合和所有虚拟存储集合的集合特征,分别为所述所有存储集合和所有虚拟存储集合确定对应的集合特征区间,包括:
根据所述所有存储集合和所有虚拟存储集合中每一个集合的平均相对权重值,为所述所有存储集合和所有虚拟存储集合中每一个集合确定对应的集合特征字符串;
将所述所有存储集合和所有虚拟存储集合构成一个集合虚拟环,在该集合虚拟环中每一个集合是该集合虚拟环中的一个虚拟节点,每一个集合在所述集合虚拟环中的位置由特征值计算公式:H1:BDi→BPi获得,其中,H1表征集合特征常数;BDi表征集合i的集合特征字符串,BPi表征集合i在所述集合虚拟环中的位置的特征值;
对于每一个集合,将当前集合逆时针相邻的集合对应的BP值作为当前集合的集合特征区间的起点,当前集合对应的BP值作为当前集合的集合特征区间的终点,所述集合特征区间为左开右闭区间。
5.根据权利要求1所述的方法,其特征在于,
进一步包括:增加存储节点;所述增加存储节点包括:
确定所述增加的存储节点对应的相对权重值;
根据所述增加的存储节点对应的相对权重值和所述相对权重阈值,判断该增加的存储节点是否属于已有的任意一个存储集合,如果是,则将该增加的存储节点添加到对应的存储集合,并将与该增加的存储节点相邻的存储节点中的部分数据迁移到该增加的存储节点;否则,为该增加的存储节点构建新的存储集合,并将与该新的存储集合相邻的存储集合中的部分数据迁移到该新的存储集合中;
和/或,
进一步包括:移除存储节点;所述移除存储节点包括:
将该移除的存储节点中的数据迁移到与该移除的存储节点相邻的存储节点上;
和/或,
进一步包括:如果将任意一个或多个存储集合中所有存储节点移除,则将该任意一个或多个存储集合中的数据迁移到与该任意一个或多个存储集合相邻的存储集合中。
6.一种数据布局装置,其特征在于,包括:
设置单元,用于设置相对权重阈值;
相对权重确定单元,用于确定外设的各个存储节点的相对权重值;
集合确定单元,用于根据所述相对权重确定单元确定的外设的各个存储节点的相对权重值,将所述外设的各个存储节点分配到至少两个存储集合中,所述至少两个存储集合中,每一个存储集合中任意两个存储节点的相对权重值的差值的绝对值均小于等于所述设置单元设置的相对权重阈值,任意两个存储集合中的存储节点不同;
分配特征区间单元,用于根据所述集合确定单元分配的所有存储集合的集合特征,确定所述所有存储集合的集合特征区间;并根据所述每一个存储集合中各个存储节点的节点特征,确定所述各个存储节点配置对应的节点特征区间;
数据存储单元,用于当接收到存储目标数据请求时,根据目标数据的特征以及各个存储集合的集合特征区间,确定该目标数据对应的目标存储集合;并根据所述目标数据特征以及目标存储集合中各个存储节点的节点特征区间,确定目标存储集合中与该目标数据特征对应的目标存储节点,将所述目标数据存储到所述目标存储节点。
7.根据权利要求6所述的装置,其特征在于,
所述相对权重确定单元,用于通过相对权重计算公式:计算各个存储节点的相对权重值,其中,ωa表征存储节点a的相对权重值,va表征存储节点a的存储容量,表征所有存储节点的存储容量之和;
和/或,
所述集合确定单元,用于按照相对权重值的大小,为所述相对权重值排序;
循环执行N1至N3,直至为所有存储节点均分配一个对应的存储集合:
N1:按照排序的顺序,对于第一个相对权重值,从第二个相对权重值开始直至最后一个相对权重值中的每一个当前相对权重值,依次计算当前相对权重值与第一个相对权重值的差的绝对值,判断该绝对值是否小于等于所述相对权重阈值,如果是,则执行N2;否则执行N3;
N2:当前相对权重值对应的存储节点属于第一个相对权重值对应的存储节点所在的当前存储集合,结束;
N3:为所述当前相对权重值对应的存储节点重新分配一个存储集合,并将该当前相对权重值作为第一个相对权重值,执行N1;
和/或,
所述分配特征区间单元,用于根据外设的每一个节点的相对权重值,为所述外设的每一个节点生成对应的节点特征字符串;针对每一个存储集合,利用该存储集合中的所有存储节点构建对应于该存储集合的节点虚拟环,每一个存储节点在对应的节点虚拟环中的位置由特征值计算公式:H2:Dc→Pc获得,其中,H2表征预先设定的节点特征常数;Dc表征存储节点c的节点特征字符串,Pc表征存储节点c在所述节点虚拟环中的位置的特征值;对于每一个存储集合中的每一个当前存储节点,将当前存储节点在节点虚拟环中逆时针相邻的存储节点对应的P值作为当前存储节点的节点特征区间的起点,当前存储节点对应的P值作为当前存储节点的节点特征区间的终点,所述节点特征区间为左开右闭区间;
和/或,
进一步包括:配置虚拟集合单元,其中,
所述配置虚拟集合单元,用于确定每一个存储集合对应的虚拟存储集合的个数:其中,Nx表征存储集合x对应的虚拟集合个数;表征存储集合x的平均相对权重值;表征所有存储集合对应的各个平均相对权重值中的最小平均相对权重值;k表征虚拟存储集合计算常数;n表征所有存储节点的个数;当Nx小于1时,取Nx为1;
所述分配特征区间单元,进一步用于根据所有存储集合和所有虚拟存储集合的集合特征,分别为所述所有存储集合和所有虚拟存储集合确定对应的集合特征区间。
8.根据权利要求7所述的装置,其特征在于,所述分配特征区间单元,进一步用于:
根据所述所有存储集合和所有虚拟存储集合中每一个集合的平均相对权重值,为所述所有存储集合和所有虚拟存储集合中每一个集合确定对应的集合特征字符串;
将所述所有存储集合和所有虚拟存储集合构成一个集合虚拟环,在该集合虚拟环中每一个集合是该集合虚拟环中的一个虚拟节点,每一个集合在所述集合虚拟环中的位置由特征值计算公式:H1:BDi→BPi获得,其中,H1表征集合特征常数;BDi表征集合i的集合特征字符串,BPi表征集合i在所述集合虚拟环中的位置的特征值;
对于每一个集合,将当前集合逆时针相邻的集合对应的BP值作为当前集合的集合特征区间的起点,当前集合对应的BP值作为当前集合的集合特征区间的终点,所述集合特征区间为左开右闭区间。
9.一种数据分布系统,其特征在于,包括:权利要求7或8所述的数据分布装置和至少两个存储节点;
所述至少两个存储节点,用于根据所述数据分布装置对数据的分配,存储所述数据。
10.根据权利要求9所述的系统,其特征在于,
所述数据分布装置,进一步用于确定预增加的存储节点对应的相对权重值;根据所述预增加的存储节点对应的相对权重值和所述相对权重阈值,判断该预增加的存储节点是否属于已有的任意一个存储集合,如果是,则将该预增加的存储节点添加到对应的存储集合,并将与该预增加的存储节点相邻的存储节点中的部分数据迁移到该增加的存储节点;否则,为该预增加的存储节点构建新的存储集合,并将与该新的存储集合相邻的存储集合中的部分数据迁移到该新的存储集合中;
和/或,
所述数据分布装置,进一步用于将预移除的存储节点中的数据迁移到与该预移除的存储节点相邻的存储节点上;
和/或,
所述数据分布装置,进一步用于将预移除任意一个或多个存储集合中的数据迁移到与该预移除的任意一个或多个存储集合相邻的存储集合中。
CN201510575760.XA 2015-09-11 2015-09-11 一种数据布局的方法、装置和系统 Pending CN105306525A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510575760.XA CN105306525A (zh) 2015-09-11 2015-09-11 一种数据布局的方法、装置和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510575760.XA CN105306525A (zh) 2015-09-11 2015-09-11 一种数据布局的方法、装置和系统

Publications (1)

Publication Number Publication Date
CN105306525A true CN105306525A (zh) 2016-02-03

Family

ID=55203268

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510575760.XA Pending CN105306525A (zh) 2015-09-11 2015-09-11 一种数据布局的方法、装置和系统

Country Status (1)

Country Link
CN (1) CN105306525A (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106951338A (zh) * 2017-03-31 2017-07-14 长沙智擎信息技术有限公司 一种基于GlusterFS的高容错分布式存储方法
CN107154957A (zh) * 2016-12-29 2017-09-12 贵州电网有限责任公司铜仁供电局 基于虚拟环负载均衡算法的分布式存储控制方法
WO2019000535A1 (zh) * 2017-06-26 2019-01-03 网宿科技股份有限公司 云平台的构建方法及云平台
CN109379298A (zh) * 2018-12-06 2019-02-22 江苏华生基因数据科技股份有限公司 一种大数据系统的负载均衡方法
CN114185485A (zh) * 2021-11-04 2022-03-15 浙江大华存储科技有限公司 静态电压表的节点处理方法、装置、计算机设备和存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1902586A (zh) * 2003-12-29 2007-01-24 英特尔公司 用于减少硬件资源冲突的数据布局机制
US20110072206A1 (en) * 2009-09-21 2011-03-24 Translattice, Inc. Distributed content storage and retrieval
CN102456050A (zh) * 2010-10-27 2012-05-16 中国移动通信集团四川有限公司 从网页中抽取数据的方法和装置
CN102857560A (zh) * 2012-08-15 2013-01-02 华数传媒网络有限公司 一种面向多业务应用的云存储数据分布方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1902586A (zh) * 2003-12-29 2007-01-24 英特尔公司 用于减少硬件资源冲突的数据布局机制
US20110072206A1 (en) * 2009-09-21 2011-03-24 Translattice, Inc. Distributed content storage and retrieval
CN102456050A (zh) * 2010-10-27 2012-05-16 中国移动通信集团四川有限公司 从网页中抽取数据的方法和装置
CN102857560A (zh) * 2012-08-15 2013-01-02 华数传媒网络有限公司 一种面向多业务应用的云存储数据分布方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
张兰英: "基于云存储的教育管理系统研究与设计", 《中国优秀硕士学位论文全文数据库》 *
陈涛等: "基于聚类和一致Hash的数据布局算法", 《软件学报》 *
陈涛等: "大规模网络存储系统的数据布局算法研究", 《计算机工程与科学》 *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107154957A (zh) * 2016-12-29 2017-09-12 贵州电网有限责任公司铜仁供电局 基于虚拟环负载均衡算法的分布式存储控制方法
CN106951338A (zh) * 2017-03-31 2017-07-14 长沙智擎信息技术有限公司 一种基于GlusterFS的高容错分布式存储方法
WO2019000535A1 (zh) * 2017-06-26 2019-01-03 网宿科技股份有限公司 云平台的构建方法及云平台
CN109379298A (zh) * 2018-12-06 2019-02-22 江苏华生基因数据科技股份有限公司 一种大数据系统的负载均衡方法
CN114185485A (zh) * 2021-11-04 2022-03-15 浙江大华存储科技有限公司 静态电压表的节点处理方法、装置、计算机设备和存储介质

Similar Documents

Publication Publication Date Title
CN105306525A (zh) 一种数据布局的方法、装置和系统
CN104468803B (zh) 一种虚拟数据中心资源映射方法和设备
US9665284B2 (en) Partition extension method and apparatus
CN103095804B (zh) 用于在集群存储系统中进行负载平衡的方法和系统
CN102457571B (zh) 一种云存储中数据均衡分布方法
CN105446979A (zh) 数据挖掘方法和节点
CN106325756B (zh) 一种数据存储、数据计算方法和设备
CN104298541A (zh) 云存储系统的数据分布算法及其装置
CN104484233B (zh) 一种资源分配方法
CN111290699B (zh) 数据迁移方法、装置及系统
US9733835B2 (en) Data storage method and storage server
CN103246484B (zh) 一种数据存储方法、装置及系统
CN114841374A (zh) 一种基于随机贪心算法的横向联邦梯度提升树优化方法
JP2019121334A (ja) データストレージとダイナミックマイグレーション方法及びデータストレージとダイナミックマイグレーション装置
CN103918239A (zh) 负载均衡方法、装置、系统及计算机可读介质
JP6499388B2 (ja) 並列計算機システム、管理装置の制御プログラムおよび並列計算機システムの制御方法
CN109710542A (zh) 一种满n叉树构建方法及装置
Dai et al. Improving load balance for data-intensive computing on cloud platforms
CN105302838A (zh) 分类方法、查找方法和设备
CN109802859A (zh) 一种网络图中的节点推荐方法和服务器
CN114281256A (zh) 基于分布式存储系统的数据同步方法、装置、设备及介质
CN110380906B (zh) 一种大规模多维融合的虚拟网络映射方法
CN110413226B (zh) 一种存储池化容量利用方法,系统,电子设备及存储介质
CN105049315A (zh) 一种基于虚拟网络分割的虚拟网络改进映射方法
CN104270299A (zh) 一种虚拟网络映射的方法及系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
WD01 Invention patent application deemed withdrawn after publication
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20160203