CN103970879A - 一种调整数据块存储位置的方法及系统 - Google Patents

一种调整数据块存储位置的方法及系统 Download PDF

Info

Publication number
CN103970879A
CN103970879A CN201410208154.XA CN201410208154A CN103970879A CN 103970879 A CN103970879 A CN 103970879A CN 201410208154 A CN201410208154 A CN 201410208154A CN 103970879 A CN103970879 A CN 103970879A
Authority
CN
China
Prior art keywords
data block
data
block set
memory node
hypergraph
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
CN201410208154.XA
Other languages
English (en)
Other versions
CN103970879B (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.)
National University of Defense Technology
Original Assignee
National University of Defense Technology
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 National University of Defense Technology filed Critical National University of Defense Technology
Priority to CN201410208154.XA priority Critical patent/CN103970879B/zh
Publication of CN103970879A publication Critical patent/CN103970879A/zh
Application granted granted Critical
Publication of CN103970879B publication Critical patent/CN103970879B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], 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)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开一种调整数据块存储位置的方法及系统。所述方法包括:获取分布式网络中的n个数据块;利用超图确定n个数据块中任意m个数据块之间的相关度,m<n;将m个数据块划分至多个数据块集合,属于同一个数据块集合的数据块之间的相关度大于预设相关阈值;对于任意一个数据块集合,分别计算将数据块集合中的数据块迁移至分布式网络中的各个数据存储节点中所对应的迁移代价值;确定最小的迁移代价值对应的目标数据存储节点;将数据块集合中的数据块存储至目标数据存储节点。采用本发明的方法或系统,可以将相关度较高的数据块存储到尽可能少的数据存储节点上,进而降低对数据进行处理时的网络通信开销,提高对数据进行处理的效率。

Description

一种调整数据块存储位置的方法及系统
技术领域
本发明涉及大数据存储领域,特别是涉及一种调整数据块存储位置的方法及系统。
背景技术
随着互联网技术的不断发展,互联网中的数据存储节点中存储的数据量也越来越大。在大数据环境下,当某个操作涉及到的数据量较大时,该操作涉及到的数据在网络中的存储位置将直接影响该操作的效率。
例如,当某一个操作需要访问的数据(或数据块)如果被分散存储在多个数据存储节点上,则执行该操作的计算节点需要分别从多个不同的数据存储节点获取数据以便完成该操作。此时,将会有大量的数据通过网络进行传输(即从数据存储节点传输至计算节点),带来大量的网络通信开销。
由上述可知,现有技术中的数据存储方法,由于将数据杂乱无章的分散存储在多个数据存储节点上,导致计算节点在执行涉及多个数据存储节点存储的数据的操作时,需要从多个不同的数据存储节点获取数据。这导致了大量的网络通信开销,同时也降低了对数据进行处理的效率。
发明内容
本发明的目的是提供一种调整数据块存储位置的方法及系统,可以将相关度较高的数据块存储到尽可能少的数据存储节点上,进而降低对数据进行处理时的网络通信开销,提高对数据进行处理的效率。
为实现上述目的,本发明提供了如下方案:
一种调整数据块存储位置的方法,包括:
获取分布式网络中的n个数据块;
利用超图确定所述n个数据块中任意m个数据块之间的相关度,m<n;
将所述m个数据块划分至多个数据块集合,所述m个数据块中的任意一个数据块只属于所述多个数据块集合中的一个数据块集合,属于同一个数据块集合的数据块之间的相关度大于预设相关阈值;
对于任意一个所述数据块集合,分别计算将所述数据块集合中的数据块迁移至所述分布式网络中的各个数据存储节点中所对应的迁移代价值;
确定最小的所述迁移代价值对应的目标数据存储节点;
将所述数据块集合中的数据块存储至所述目标数据存储节点。
可选的,所述利用超图确定所述n个数据块中任意m个数据块之间的相关度,具体包括:
确定历史操作访问过的数据块;
将所述历史操作访问过的数据块设定为超图的顶点;
根据公式 wv i = Σ j | fu m ji = 1 fr q j ( 1 ≤ i ≤ n , 1 ≤ j ≤ k ) 计算每个顶点的权重,其中frqj表示的历史操作j的频率,wvi表示顶点i的权重;fumji=1表示在历史操作中第j个操作访问了第i个数据块;k代表的是历史操作的总数;
将每个历史操作作为一条超边;
将与该超边对应的历史操作访问过的数据块,作为该超边的顶点;
根据公式wej=frqj计算每个超边的权重,其中wej表示超边j的权重;
根据上述步骤构造的超图模型中,所述超边的权重用于表示数据块之间的相关度。
可选的,所述计算将所述数据块集合中的数据块迁移至所述分布式网络中的各个数据存储节点中所对应的迁移代价值之前,还包括:
判断所述数据块集合中的数据块个数是否位于预设个数范围内;
当所述数据块集合中的数据块个数小于所述预设个数范围的下限时,将其它的数据块集合中的数据块转移至所述数据块集合;
当所述数据块集合中的数据块个数大于所述预设个数范围的上限时,将所述数据块集合中的数据块转移至其它的数据块集合中。
可选的,所述计算将所述数据块集合中的数据块迁移至所述分布式网络中的各个数据存储节点中所对应的迁移代价值,具体包括:
根据公式
计算将所述数据块集合中的数据块迁移至所述分布式网络中的各个数据存储节点中所对应的迁移代价值;
其中,表示数据块集合Ci中第m个数据块的权重,表示数据块集合Ci中第m个数据块现在所属的站点ID,Costi→j表示的是将数据块集合i迁移到数据存储节点j上的代价。
可选的,所述将所述m个数据块划分至多个数据块集合,具体包括:
采用hMetis超图划分算法,将所述超图模型划分为多个数据块集合,以便确保所述多个数据块集合为具有最小割的划分结果。
一种调整数据块存储位置的系统,包括:
数据块获取单元,用于获取分布式网络中的n个数据块;
相关度确定单元,用于利用超图确定所述n个数据块中任意m个数据块之间的相关度,m<n;
集合划分单元,用于将所述m个数据块划分至多个数据块集合,所述m个数据块中的任意一个数据块只属于所述多个数据块集合中的一个数据块集合,属于同一个数据块集合的数据块之间的相关度大于预设相关阈值;
迁移代价值计算单元,用于对于任意一个所述数据块集合,分别计算将所述数据块集合中的数据块迁移至所述分布式网络中的各个数据存储节点中所对应的迁移代价值;
目标数据存储节点确定单元,用于确定最小的所述迁移代价值对应的目标数据存储节点;
存储单元,用于将所述数据块集合中的数据块存储至所述目标数据存储节点。
可选的,所述相关度确定单元,具体包括:
数据块确定子单元,用于确定历史操作访问过的数据块;
超图顶点设定子单元,用于将所述历史操作访问过的数据块设定为超图的顶点;
顶点权重计算子单元,用于根据公式 wv i = Σ j | fu m ji = 1 fr q j ( 1 ≤ i ≤ n , 1 ≤ j ≤ k ) 计算每个顶点的权重,其中frqj表示的历史操作j的频率,wvi表示顶点i的权重;
超边确定子单元,用于将每个历史操作作为一条超边;
超边顶点确定子单元,用于将与该超边对应的历史操作访问过的数据块,作为该超边的顶点;
超边权重计算子单元,用于根据公式wej=frqj计算每个超边的权重,其中wej表示超边j的权重;
根据上述步骤构造的超图模型中,所述超边的权重用于表示数据块之间的相关度。
可选的,还包括:
数据块个数判断单元,用于在计算将所述数据块集合中的数据块迁移至所述分布式网络中的各个数据存储节点中所对应的迁移代价值之前,判断所述数据块集合中的数据块个数是否位于预设个数范围内;
第一转移单元,用于当所述数据块集合中的数据块个数小于所述预设个数范围的下限时,将其它的数据块集合中的数据块转移至所述数据块集合;
第二转移单元,用于当所述数据块集合中的数据块个数大于所述预设个数范围的上限时,将所述数据块集合中的数据块转移至其它的数据块集合中。
可选的,所述迁移代价值计算单元,具体包括:
迁移代价值计算子单元,用于根据公式
计算将所述数据块集合中的数据块迁移至所述分布式网络中的各个数据存储节点中所对应的迁移代价值;
其中,表示数据块集合Ci中第m个数据块的权重,表示数据块集合Ci中第m个数据块现在所属的站点ID,Costi→j表示的是将数据块集合i迁移到数据存储节点j上的代价。
可选的,所述集合划分单元,具体包括:
集合划分子单元,用于采用hMetis超图划分算法,将所述超图模型划分为多个数据块集合,以便确保所述多个数据块集合为具有最小割的划分结果。
根据本发明提供的具体实施例,本发明公开了以下技术效果:
本发明的调整数据块存储位置的方法或系统,通过利用超图确定所述n个数据块中任意m个数据块之间的相关度,m<n;将所述m个数据块划分至多个数据块集合;对于任意一个所述数据块集合,分别计算将所述数据块集合中的数据块迁移至所述分布式网络中的各个数据存储节点中所对应的迁移代价值;确定最小的所述迁移代价值对应的目标数据存储节点;将所述数据块集合中的数据块存储至所述目标数据存储节点;可以将相关度较高的数据块存储到尽可能少的数据存储节点上,进而降低对数据进行处理时的网络通信开销,提高对数据进行处理的效率;同时,由于计算了迁移代价,还可以以较小的代价实现数据块存储位置的调整。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明的调整数据块存储位置的方法实施例1的流程图;
图2为本发明的调整数据块存储位置的方法实施例2的流程图;
图3为本发明的调整数据块存储位置的系统实施例的结构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
图1为本发明的调整数据块存储位置的方法实施例1的流程图。如图1所示,该方法可以包括:
步骤101:获取分布式网络中的n个数据块;
所述分布式网络中包括多个数据存储节点,所述n个数据块可以分布在所述多个数据存储节点中。
数据块是由多个数据组成的数据集合,例如数据库中多个数据项组成的数据项集合就可以称为数据块。
所述n个数据块中的任意两个数据块,可以存储在同一个数据存储节点,也可以存储在两个不同的数据存储节点中。当某种操作需要同时访问这两个数据时,如果这两个数据存储在不同的数据存储节点中,则执行该操作的服务器需要分别从两个不同的数据存储节点获取数据。这会带来较大的数据传输开销。
步骤102:利用超图确定所述n个数据块中任意m个数据块之间的相关度,m<n;
超图是一种广义上的图,它的一条边可以连接任意数量的顶点。形式上,超图H是一个集合组H=(X,E),其中X是一个有限集合,该集合的元素被称为节点或顶点,E是X的非空子集的集合,被称为超边或连接。因此,E是X的一个子集。
具体的,可以采用以下方式确定所述n个数据块中任意m个数据块之间的相关度:
步骤a:确定历史操作访问过的数据块;
分布式网络中的计算节点在执行某个历史操作时,访问过的数据块,均可以采用本发明的方法计算相关度。
假设某一个历史操作,需要访问x个数据块,则这x个数据块之间就具有相关关系。需要说明的是,相关关系有强弱之分,下面的步骤可以计算多个数据块之间的相关度。
步骤b:将所述历史操作访问过的数据块设定为超图的顶点;
步骤c:根据公式 wv i = Σ j | fu m ji = 1 fr q j ( 1 ≤ i ≤ n , 1 ≤ j ≤ k ) 计算每个顶点的权重,其中frqj表示的历史操作j的频率,wvi表示顶点i的权重;fumji=1表示在历史操作中第j个操作访问了第i个数据块;k代表的是历史操作的总数;
步骤d:将每个历史操作作为一条超边;
步骤e:将与该超边对应的历史操作访问过的数据块,作为该超边的顶点;
步骤f:根据公式wej=frqj计算每个超边的权重,其中wej表示超边j的权重;
步骤g:根据上述步骤构造的超图模型中,所述超边的权重用于表示数据块之间的相关度。
采用上面的步骤,可以计算多个数据块之间的相关度。而现有技术中,通常只能计算两个数据块之间的相关度。
步骤103:将所述m个数据块划分至多个数据块集合,所述m个数据块中的任意一个数据块只属于所述多个数据块集合中的一个数据块集合,属于同一个数据块集合的数据块之间的相关度大于预设相关阈值;
根据前面的步骤计算出数据块之间的相关度之后,可以将相关度较高(即大于预设相关阈值)的数据块划分至相同的数据块集合。每个数据块集合中包含的任意一个数据块,均不属于另外的数据块集合。
对于构造好的超图模型,可以采用hMetis超图划分算法,将所述超图模型划分为多个数据块集合,以便确保所述多个数据块集合为具有最小割的划分结果。
划分后得到的各个数据块集合中的各个数据块之间,均具有较高的相关程度。也就是说,对于任意一种数据操作,该操作需要访问的多个数据块中的一部分或者全部,具有较高的概率是位于同一个数据块集合中的。
步骤104:对于任意一个所述数据块集合,分别计算将所述数据块集合中的数据块迁移至所述分布式网络中的各个数据存储节点中所对应的迁移代价值;
在采用本发明的方法之前,相关程度较高的多个数据块往往是分散存储在多个数据存储节点中的。本发明的实施例中,需要将同一个数据块集合中的数据块尽量存储在同一个数据存储节点。因此,本发明的方法需要对数据块进行迁移。
在迁移之前,由于分布式网络中具有多个数据存储节点,还需要确定迁移代价最小的目标数据存储节点。假设有三个数据块分别存储在三个数据存储节点中,那么,通常可以将与这三个数据存储节点的距离之和最小的数据存储节点,作为所述目标数据存储节点。需要说明的是,三个数据块所在的三个数据存储节点也可以作为所述目标数据存储节点。即,数据块集合中的数据块所在的数据存储节点,可以作为所述目标数据存储节点。
具体的,还可以根据公式
计算将所述数据集合中的数据迁移至所述分布式网络中的各个数据存储节点中所对应的迁移代价值;
其中,表示数据块集合Ci中第m个数据块的权重,表示数据块集合Ci中第m个数据块现在所属的站点ID,Costi→j表示的是将数据块集合i迁移到数据存储节点j上的代价。
上面的公式主要是计算将数据块集合Ci迁移到节点j上的迁移代价。迁移代价主要是根据需要迁移的数据块数量以及数据块权重决定的。每个数据块的大小可以是一样的,数据块的迁移代价跟该数据块的权重是有关的。权重越大的数据块被迁移了则其代价越高,所以迁移的代价也可以表示为被迁移的数据块权重之和。
步骤105:确定最小的所述迁移代价值对应的目标数据存储节点;
步骤106:将所述数据块集合中的数据块存储至所述目标数据存储节点。
将所述数据块集合中的数据块存储至所述目标数据存储节点之后,可以将原本存储所述数据块集合中的数据块的数据存储节点的存储空间进行释放,用于存储另外的数据。
综上所述,本实施例中,通过利用超图确定所述n个数据块中任意m个数据块之间的相关度,m<n;将所述m个数据块划分至多个数据块集合;对于任意一个所述数据块集合,分别计算将所述数据块集合中的数据块迁移至所述分布式网络中的各个数据存储节点中所对应的迁移代价值;确定最小的所述迁移代价值对应的目标数据存储节点;将所述数据块集合中的数据块存储至所述目标数据存储节点;可以将相关度较高的数据块存储到尽可能少的数据存储节点上,进而降低对数据进行处理时的网络通信开销,提高对数据进行处理的效率;同时,由于计算了迁移代价,还可以以较小的代价实现数据块存储位置的调整。
实际应用中,为了防止某个数据块集合中的数据块个数过多,导致数据存储节点无法完整的存储下该数据块集合,本发明还提供了另一个实施例。
图2为本发明的调整数据块存储位置的方法实施例2的流程图。如图2所示,该方法可以包括:
步骤201:获取分布式网络中的n个数据块;
步骤202:利用超图确定所述n个数据块中任意m个数据块之间的相关度,m<n;
步骤203:将所述m个数据块划分至多个数据块集合,所述m个数据块中的任意一个数据块只属于所述多个数据块集合中的一个数据块集合,属于同一个数据块集合的数据块之间的相关度大于预设相关阈值;
步骤204:判断所述数据块集合中的数据块个数是否位于预设个数范围内;
所述预设个数范围具有上限和下限数值。可以根据实际需求设定上限数值和下限数值。
步骤205:当所述数据块集合中的数据块个数小于所述预设个数范围的下限时,将其它的数据块集合中的数据块转移至所述数据块集合;
当所述数据块集合中的数据块个数小于所述预设个数范围的下限时,可以表示该数据块中的数据个数过少,进一步可以表示当前划分的数据块集合的个数过多。此时,可以将其它的数据块集合中的数据块转移至所述数据块集合。
可以确定与数据块个数较少的数据块集合中的数据块的相关度较高的数据块,优先将这些数据块转移至所述数据块集合。
步骤206:当所述数据块集合中的数据块个数大于所述预设个数范围的上限时,将所述数据块集合中的数据块转移至其它的数据块集合中;
当所述数据块集合中的数据块个数大于所述预设个数范围的上限时,可以表示该数据块中的数据个数过多,可能导致数据存储节点无法完整的存储下该数据块集合。此时,可以将所述数据块集合中的数据块转移至其它的数据块集合中。
可以确定与所述数据块集合中的数据块的相关度较高的数据块所在的数据块集合,优先将数据块转移至相关度较高的数据块所在的数据块集合中。
步骤207:对于任意一个所述数据块集合,分别计算将所述数据块集合中的数据块迁移至所述分布式网络中的各个数据存储节点中所对应的迁移代价值;
步骤208:确定最小的所述迁移代价值对应的目标数据存储节点;
步骤209:将所述数据块集合中的数据块存储至所述目标数据存储节点。
本实施例中,通过当所述数据块集合中的数据块个数大于所述预设个数范围的上限时,将所述数据块集合中的数据块转移至其它的数据块集合中,可以防止某个数据块集合中的数据块个数过多,导致数据存储节点无法完整的存储下该数据块集合;通过当所述数据块集合中的数据块个数小于所述预设个数范围的下限时,将其它的数据块集合中的数据块转移至所述数据块集合,可以尽量避免划分的数据块集合的数目过多。
本发明还公开了一种调整数据块存储位置的系统。
图3为本发明的调整数据块存储位置的系统实施例的结构图。如图3所示,该系统可以包括:
数据块获取单元301,用于获取分布式网络中的n个数据块;
相关度确定单元302,用于利用超图确定所述n个数据块中任意m个数据块之间的相关度,m<n;
集合划分单元303,用于将所述m个数据块划分至多个数据块集合,所述m个数据块中的任意一个数据块只属于所述多个数据块集合中的一个数据块集合,属于同一个数据块集合的数据块之间的相关度大于预设相关阈值;
迁移代价值计算单元304,用于对于任意一个所述数据块集合,分别计算将所述数据块集合中的数据块迁移至所述分布式网络中的各个数据存储节点中所对应的迁移代价值;
目标数据存储节点确定单元305,用于确定最小的所述迁移代价值对应的目标数据存储节点;
存储单元306,用于将所述数据块集合中的数据块存储至所述目标数据存储节点。
本实施例中,通过利用超图确定所述n个数据块中任意m个数据块之间的相关度,m<n;将所述m个数据块划分至多个数据块集合;对于任意一个所述数据块集合,分别计算将所述数据块集合中的数据块迁移至所述分布式网络中的各个数据存储节点中所对应的迁移代价值;确定最小的所述迁移代价值对应的目标数据存储节点;将所述数据块集合中的数据块存储至所述目标数据存储节点;可以将相关度较高的数据块存储到尽可能少的数据存储节点上,进而降低对数据进行处理时的网络通信开销,提高对数据进行处理的效率;同时,由于计算了迁移代价,还可以以较小的代价实现数据块存储位置的调整。
实际应用中,所述相关度确定单元302,具体可以包括:
数据块确定子单元,用于确定历史操作访问过的数据块;
超图顶点设定子单元,用于将所述历史操作访问过的数据块设定为超图的顶点;
顶点权重计算子单元,用于根据公式 wv i = Σ j | fu m ji = 1 fr q j ( 1 ≤ i ≤ n , 1 ≤ j ≤ k ) 计算每个顶点的权重,其中frqj表示的历史操作j的频率,wvi表示顶点i的权重;fumji=1表示在历史操作中第j个操作访问了第i个数据块;k代表的是历史操作的总数;
超边确定子单元,用于将每个历史操作作为一条超边;
超边顶点确定子单元,用于将与该超边对应的历史操作访问过的数据块,作为该超边的顶点;
超边权重计算子单元,用于根据公式wej=frqj计算每个超边的权重,其中wej表示超边j的权重;
根据上述步骤构造的超图模型中,所述超边的权重用于表示数据块之间的相关度。
实际应用中,还可以包括:
数据块个数判断单元,用于在计算将所述数据块集合中的数据块迁移至所述分布式网络中的各个数据存储节点中所对应的迁移代价值之前,判断所述数据块集合中的数据块个数是否位于预设个数范围内;
第一转移单元,用于当所述数据块集合中的数据块个数小于所述预设个数范围的下限时,将其它的数据块集合中的数据块转移至所述数据块集合;
第二转移单元,用于当所述数据块集合中的数据块个数大于所述预设个数范围的上限时,将所述数据块集合中的数据块转移至其它的数据块集合中。
实际应用中,所述迁移代价值计算单元304,具体可以包括:
迁移代价值计算子单元,用于根据公式
计算将所述数据块集合中的数据块迁移至所述分布式网络中的各个数据存储节点中所对应的迁移代价值;
其中,表示数据块集合Ci中第m个数据块的权重,表示数据块集合Ci中第m个数据块现在所属的站点ID,Costi→j表示的是将数据块集合i迁移到数据存储节点j上的代价。
实际应用中,所述集合划分单元303,具体可以包括:
集合划分子单元,用于采用hMetis超图划分算法,将所述超图模型划分为多个数据块集合,以便确保所述多个数据块集合为具有最小割的划分结果。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的系统而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处。综上所述,本说明书内容不应理解为对本发明的限制。

Claims (10)

1.一种调整数据块存储位置的方法,其特征在于,包括:
获取分布式网络中的n个数据块;
利用超图确定所述n个数据块中任意m个数据块之间的相关度,m<n;
将所述m个数据块划分至多个数据块集合,所述m个数据块中的任意一个数据块只属于所述多个数据块集合中的一个数据块集合,属于同一个数据块集合的数据块之间的相关度大于预设相关阈值;
对于任意一个所述数据块集合,分别计算将所述数据块集合中的数据块迁移至所述分布式网络中的各个数据存储节点中所对应的迁移代价值;
确定最小的所述迁移代价值对应的目标数据存储节点;
将所述数据块集合中的数据块存储至所述目标数据存储节点。
2.根据权利要求1所述的方法,其特征在于,所述利用超图确定所述n个数据块中任意m个数据块之间的相关度,具体包括:
确定历史操作访问过的数据块;
将所述历史操作访问过的数据块设定为超图的顶点;
根据公式 wv i = Σ j | fu m ji = 1 fr q j ( 1 ≤ i ≤ n , 1 ≤ j ≤ k ) 计算每个顶点的权重,其中frqj表示的历史操作j的频率,wvi表示顶点i的权重;fumji=1表示在历史操作中第j个操作访问了第i个数据块;k代表的是历史操作的总数;
将每个历史操作作为一条超边;
将与该超边对应的历史操作访问过的数据块,作为该超边的顶点;
根据公式wej=frgj计算每个超边的权重,其中wej表示超边j的权重;
根据上述步骤构造的超图模型中,所述超边的权重用于表示数据块之间的相关度。
3.根据权利要求1所述的方法,其特征在于,所述计算将所述数据块集合中的数据块迁移至所述分布式网络中的各个数据存储节点中所对应的迁移代价值之前,还包括:
判断所述数据块集合中的数据块个数是否位于预设个数范围内;
当所述数据块集合中的数据块个数小于所述预设个数范围的下限时,将其它的数据块集合中的数据块转移至所述数据块集合;
当所述数据块集合中的数据块个数大于所述预设个数范围的上限时,将所述数据块集合中的数据块转移至其它的数据块集合中。
4.根据权利要求1所述的方法,其特征在于,所述计算将所述数据块集合中的数据块迁移至所述分布式网络中的各个数据存储节点中所对应的迁移代价值,具体包括:
根据公式
计算将所述数据块集合中的数据块迁移至所述分布式网络中的各个数据存储节点中所对应的迁移代价值;
其中,表示数据块集合Ci中第m个数据块的权重,表示数据块集合Ci中第m个数据块现在所属的站点ID,Costi→j表示的是将数据块集合i迁移到数据存储节点j上的代价。
5.根据权利要求2所述的方法,其特征在于,所述将所述m个数据块划分至多个数据块集合,具体包括:
采用hMetis超图划分算法,将所述超图模型划分为多个数据块集合,以便确保所述多个数据块集合为具有最小割的划分结果。
6.一种调整数据块存储位置的系统,其特征在于,包括:
数据块获取单元,用于获取分布式网络中的n个数据块;
相关度确定单元,用于利用超图确定所述n个数据块中任意m个数据块之间的相关度,m<n;
集合划分单元,用于将所述m个数据块划分至多个数据块集合,所述m个数据块中的任意一个数据块只属于所述多个数据块集合中的一个数据块集合,属于同一个数据块集合的数据块之间的相关度大于预设相关阈值;
迁移代价值计算单元,用于对于任意一个所述数据块集合,分别计算将所述数据块集合中的数据块迁移至所述分布式网络中的各个数据存储节点中所对应的迁移代价值;
目标数据存储节点确定单元,用于确定最小的所述迁移代价值对应的目标数据存储节点;
存储单元,用于将所述数据块集合中的数据块存储至所述目标数据存储节点。
7.根据权利要求6所述的系统,其特征在于,所述相关度确定单元,具体包括:
数据块确定子单元,用于确定历史操作访问过的数据块;
超图顶点设定子单元,用于将所述历史操作访问过的数据块设定为超图的顶点;
顶点权重计算子单元,用于根据公式 wv i = Σ j | fu m ji = 1 fr q j ( 1 ≤ i ≤ n , 1 ≤ j ≤ k ) 计算每个顶点的权重,其中frqj表示的历史操作j的频率,wvi表示顶点i的权重;
超边确定子单元,用于将每个历史操作作为一条超边;
超边顶点确定子单元,用于将与该超边对应的历史操作访问过的数据块,作为该超边的顶点;
超边权重计算子单元,用于根据公式wej=frqj计算每个超边的权重,其中wej表示超边j的权重;
根据上述步骤构造的超图模型中,所述超边的权重用于表示数据块之间的相关度。
8.根据权利要求6所述的系统,其特征在于,还包括:
数据块个数判断单元,用于在计算将所述数据块集合中的数据块迁移至所述分布式网络中的各个数据存储节点中所对应的迁移代价值之前,判断所述数据块集合中的数据块个数是否位于预设个数范围内;
第一转移单元,用于当所述数据块集合中的数据块个数小于所述预设个数范围的下限时,将其它的数据块集合中的数据块转移至所述数据块集合;
第二转移单元,用于当所述数据块集合中的数据块个数大于所述预设个数范围的上限时,将所述数据块集合中的数据块转移至其它的数据块集合中。
9.根据权利要求6所述的系统,其特征在于,所述迁移代价值计算单元,具体包括:
迁移代价值计算子单元,用于根据公式
计算将所述数据块集合中的数据块迁移至所述分布式网络中的各个数据存储节点中所对应的迁移代价值;
其中,表示数据块集合Ci中第m个数据块的权重,表示数据块集合Ci中第m个数据块现在所属的站点ID,Costi→j表示的是将数据块集合i迁移到数据存储节点j上的代价。
10.根据权利要求7所述的系统,其特征在于,所述集合划分单元,具体包括:
集合划分子单元,用于采用hMetis超图划分算法,将所述超图模型划分为多个数据块集合,以便确保所述多个数据块集合为具有最小割的划分结果。
CN201410208154.XA 2014-05-16 2014-05-16 一种调整数据块存储位置的方法及系统 Active CN103970879B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410208154.XA CN103970879B (zh) 2014-05-16 2014-05-16 一种调整数据块存储位置的方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410208154.XA CN103970879B (zh) 2014-05-16 2014-05-16 一种调整数据块存储位置的方法及系统

Publications (2)

Publication Number Publication Date
CN103970879A true CN103970879A (zh) 2014-08-06
CN103970879B CN103970879B (zh) 2017-05-24

Family

ID=51240376

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410208154.XA Active CN103970879B (zh) 2014-05-16 2014-05-16 一种调整数据块存储位置的方法及系统

Country Status (1)

Country Link
CN (1) CN103970879B (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105488180A (zh) * 2015-11-30 2016-04-13 中国建设银行股份有限公司 一种数据存储方法及系统
CN105677755A (zh) * 2015-12-30 2016-06-15 杭州华为数字技术有限公司 一种处理图数据的方法及装置
CN106294757A (zh) * 2016-08-11 2017-01-04 上海交通大学 一种基于超图划分的分布式数据库及其集群分区方法
WO2018177107A1 (zh) * 2017-03-29 2018-10-04 腾讯科技(深圳)有限公司 数据迁移方法、迁移服务器及存储介质
CN108984308A (zh) * 2018-07-25 2018-12-11 国网山东省电力公司信息通信公司 一种基于工作负载的云数据处理方法及系统
CN110109614A (zh) * 2019-03-22 2019-08-09 浙江工商大学 面向pram/dram混合内存的基于概率的数据迁移方法
WO2021169386A1 (zh) * 2020-02-28 2021-09-02 苏州浪潮智能科技有限公司 一种图数据处理方法、装置、设备、介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101741884A (zh) * 2008-11-25 2010-06-16 华为技术有限公司 一种分布式存储方法和装置
US20120005237A1 (en) * 2010-07-02 2012-01-05 Code Systems Corporation Method and system for building a streaming model

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101741884A (zh) * 2008-11-25 2010-06-16 华为技术有限公司 一种分布式存储方法和装置
US20120005237A1 (en) * 2010-07-02 2012-01-05 Code Systems Corporation Method and system for building a streaming model

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
ERIK G. BOMAN等: "The Zoltan and Isorropia Parallel Toolkits for Combinatorial Scientific Computing: Partitioning, Ordering and Coloring", 《SCIENTIFIC PROGRAMMING》 *
UMIT V. CATALYUREK等: "Hypergraph-based Dynamic Load Balancing for Adaptive Scientific Computations", 《IEEE》 *
赵晓南等: "一种基于块级的存储性能优化方法", 《计算机科学》 *
陈新泉: "超图的最短路径算法研究", 《中国科技论文在线》 *

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105488180A (zh) * 2015-11-30 2016-04-13 中国建设银行股份有限公司 一种数据存储方法及系统
CN105488180B (zh) * 2015-11-30 2019-04-26 中国建设银行股份有限公司 一种数据存储方法及系统
CN105677755A (zh) * 2015-12-30 2016-06-15 杭州华为数字技术有限公司 一种处理图数据的方法及装置
CN105677755B (zh) * 2015-12-30 2019-05-24 杭州华为数字技术有限公司 一种处理图数据的方法及装置
CN106294757A (zh) * 2016-08-11 2017-01-04 上海交通大学 一种基于超图划分的分布式数据库及其集群分区方法
CN106294757B (zh) * 2016-08-11 2019-09-10 上海交通大学 一种基于超图划分的分布式数据库及其集群分区方法
WO2018177107A1 (zh) * 2017-03-29 2018-10-04 腾讯科技(深圳)有限公司 数据迁移方法、迁移服务器及存储介质
CN108664496A (zh) * 2017-03-29 2018-10-16 腾讯科技(深圳)有限公司 数据迁移方法及装置
CN108984308A (zh) * 2018-07-25 2018-12-11 国网山东省电力公司信息通信公司 一种基于工作负载的云数据处理方法及系统
CN110109614A (zh) * 2019-03-22 2019-08-09 浙江工商大学 面向pram/dram混合内存的基于概率的数据迁移方法
CN110109614B (zh) * 2019-03-22 2022-02-18 浙江工商大学 面向pram/dram混合内存的基于概率的数据迁移方法
WO2021169386A1 (zh) * 2020-02-28 2021-09-02 苏州浪潮智能科技有限公司 一种图数据处理方法、装置、设备、介质

Also Published As

Publication number Publication date
CN103970879B (zh) 2017-05-24

Similar Documents

Publication Publication Date Title
CN103970879A (zh) 一种调整数据块存储位置的方法及系统
Gu et al. Small gain problem in coupled differential‐difference equations, time‐varying delays, and direct Lyapunov method
CN105446979A (zh) 数据挖掘方法和节点
CN104298541A (zh) 云存储系统的数据分布算法及其装置
Delle Monache et al. A PDE-ODE model for a junction with ramp buffer
AU2011289788B2 (en) Reservoir upscaling method with preserved transmissibility
CN108563808A (zh) 基于fpga的异构可重构图计算加速器系统的设计方法
CN104063501B (zh) 基于hdfs的副本平衡方法
CN106126334A (zh) 概率性重复数据删除感知的工作负载迁移
CN103699606A (zh) 一种基于顶点切割与社区聚集的大规模图划分方法
CN103605662A (zh) 一种分布式计算框架参数优化方法、装置及系统
WO2017054326A1 (zh) 一种加油站poi自动发现的方法、装置、存储介质和设备
CN105050130A (zh) 一种多维干扰空间模型的构建方法
US11748387B2 (en) Spatial computing for location-based services
CN105590321A (zh) 一种基于块的子图构建及分布式图处理方法
KR101641179B1 (ko) 대용량 공간데이터 분산 처리 방법 및 이를 위한 분산 처리 서버
CN103942108A (zh) Hadoop同构集群下的资源参数优化方法
CN105677755B (zh) 一种处理图数据的方法及装置
CN109587072A (zh) 分布式系统全局限速系统及方法
CN106776014B (zh) 异构计算中的并行加速方法及系统
US10345482B2 (en) Global grid building unfaulting sequence for complex fault-network topologies
JP2015525956A5 (zh)
CN106648839A (zh) 数据处理的方法和装置
CN104283966A (zh) 云存储系统的数据分布算法及其装置
CN106886674A (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
GR01 Patent grant
GR01 Patent grant