《一种调整数据块存储位置的方法及系统.pdf》由会员分享,可在线阅读,更多相关《一种调整数据块存储位置的方法及系统.pdf(15页珍藏版)》请在专利查询网上搜索。
1、(10)申请公布号 CN 103970879 A (43)申请公布日 2014.08.06 CN 103970879 A (21)申请号 201410208154.X (22)申请日 2014.05.16 G06F 17/30(2006.01) (71)申请人 中国人民解放军国防科学技术大学 地址 410073 湖南省长沙市开福区砚瓦池正 街 47 号 (72)发明人 杨树强 陈志坤 金松昌 尹洪 贾焰 韩伟红 周斌 李爱平 (74)专利代理机构 北京集佳知识产权代理有限 公司 11227 代理人 王宝筠 (54) 发明名称 一种调整数据块存储位置的方法及系统 (57) 摘要 本发明公开一种调。
2、整数据块存储位置的方法 及系统。 所述方法包括 : 获取分布式网络中的n个 数据块 ; 利用超图确定 n 个数据块中任意 m 个数 据块之间的相关度, m n ; 将 m 个数据块划分至 多个数据块集合, 属于同一个数据块集合的数据 块之间的相关度大于预设相关阈值 ; 对于任意一 个数据块集合, 分别计算将数据块集合中的数据 块迁移至分布式网络中的各个数据存储节点中所 对应的迁移代价值 ; 确定最小的迁移代价值对应 的目标数据存储节点 ; 将数据块集合中的数据块 存储至目标数据存储节点。采用本发明的方法或 系统, 可以将相关度较高的数据块存储到尽可能 少的数据存储节点上, 进而降低对数据进行处。
3、理 时的网络通信开销, 提高对数据进行处理的效率。 (51)Int.Cl. 权利要求书 3 页 说明书 9 页 附图 2 页 (19)中华人民共和国国家知识产权局 (12)发明专利申请 权利要求书3页 说明书9页 附图2页 (10)申请公布号 CN 103970879 A CN 103970879 A 1/3 页 2 1. 一种调整数据块存储位置的方法, 其特征在于, 包括 : 获取分布式网络中的 n 个数据块 ; 利用超图确定所述 n 个数据块中任意 m 个数据块之间的相关度, m n ; 将所述 m 个数据块划分至多个数据块集合, 所述 m 个数据块中的任意一个数据块只属 于所述多个数据块。
4、集合中的一个数据块集合, 属于同一个数据块集合的数据块之间的相关 度大于预设相关阈值 ; 对于任意一个所述数据块集合, 分别计算将所述数据块集合中的数据块迁移至所述分 布式网络中的各个数据存储节点中所对应的迁移代价值 ; 确定最小的所述迁移代价值对应的目标数据存储节点 ; 将所述数据块集合中的数据块存储至所述目标数据存储节点。 2.根据权利要求1所述的方法, 其特征在于, 所述利用超图确定所述n个数据块中任意 m 个数据块之间的相关度, 具体包括 : 确定历史操作访问过的数据块 ; 将所述历史操作访问过的数据块设定为超图的顶点 ; 根据公式计算每个顶点的权重, 其中frqj表示 的历史操作 j。
5、 的频率, wvi表示顶点 i 的权重 ; fumji 1 表示在历史操作中第 j 个操作访问 了第 i 个数据块 ; k 代表的是历史操作的总数 ; 将每个历史操作作为一条超边 ; 将与该超边对应的历史操作访问过的数据块, 作为该超边的顶点 ; 根据公式 wej frgj计算每个超边的权重, 其中 wej表示超边 j 的权重 ; 根据上述步骤构造的超图模型中, 所述超边的权重用于表示数据块之间的相关度。 3. 根据权利要求 1 所述的方法, 其特征在于, 所述计算将所述数据块集合中的数据块 迁移至所述分布式网络中的各个数据存储节点中所对应的迁移代价值之前, 还包括 : 判断所述数据块集合中的。
6、数据块个数是否位于预设个数范围内 ; 当所述数据块集合中的数据块个数小于所述预设个数范围的下限时, 将其它的数据块 集合中的数据块转移至所述数据块集合 ; 当所述数据块集合中的数据块个数大于所述预设个数范围的上限时, 将所述数据块集 合中的数据块转移至其它的数据块集合中。 4. 根据权利要求 1 所述的方法, 其特征在于, 所述计算将所述数据块集合中的数据块 迁移至所述分布式网络中的各个数据存储节点中所对应的迁移代价值, 具体包括 : 根据公式 计算将所述数据块集合中的数据块迁移至所述分布式网 络中的各个数据存储节点中所对应的迁移代价值 ; 其中,表示数据块集合 Ci中第 m 个数据块的权重,。
7、表示数据块集合 Ci中 第 m 个数据块现在所属的站点 ID, Costi j表示的是将数据块集合 i 迁移到数据存储节点 j 上的代价。 权 利 要 求 书 CN 103970879 A 2 2/3 页 3 5.根据权利要求2所述的方法, 其特征在于, 所述将所述m个数据块划分至多个数据块 集合, 具体包括 : 采用 hMetis 超图划分算法, 将所述超图模型划分为多个数据块集合, 以便确保所述多 个数据块集合为具有最小割的划分结果。 6. 一种调整数据块存储位置的系统, 其特征在于, 包括 : 数据块获取单元, 用于获取分布式网络中的 n 个数据块 ; 相关度确定单元, 用于利用超图确定。
8、所述n个数据块中任意m个数据块之间的相关度, m n ; 集合划分单元, 用于将所述m个数据块划分至多个数据块集合, 所述m个数据块中的任 意一个数据块只属于所述多个数据块集合中的一个数据块集合, 属于同一个数据块集合的 数据块之间的相关度大于预设相关阈值 ; 迁移代价值计算单元, 用于对于任意一个所述数据块集合, 分别计算将所述数据块集 合中的数据块迁移至所述分布式网络中的各个数据存储节点中所对应的迁移代价值 ; 目标数据存储节点确定单元, 用于确定最小的所述迁移代价值对应的目标数据存储节 点 ; 存储单元, 用于将所述数据块集合中的数据块存储至所述目标数据存储节点。 7. 根据权利要求 6。
9、 所述的系统, 其特征在于, 所述相关度确定单元, 具体包括 : 数据块确定子单元, 用于确定历史操作访问过的数据块 ; 超图顶点设定子单元, 用于将所述历史操作访问过的数据块设定为超图的顶点 ; 顶点权重计算子单元, 用于根据公式计算每 个顶点的权重, 其中 frqj表示的历史操作 j 的频率, wvi表示顶点 i 的权重 ; 超边确定子单元, 用于将每个历史操作作为一条超边 ; 超边顶点确定子单元, 用于将与该超边对应的历史操作访问过的数据块, 作为该超边 的顶点 ; 超边权重计算子单元, 用于根据公式 wej frqj计算每个超边的权重, 其中 wej表示超 边 j 的权重 ; 根据上述。
10、步骤构造的超图模型中, 所述超边的权重用于表示数据块之间的相关度。 8. 根据权利要求 6 所述的系统, 其特征在于, 还包括 : 数据块个数判断单元, 用于在计算将所述数据块集合中的数据块迁移至所述分布式网 络中的各个数据存储节点中所对应的迁移代价值之前, 判断所述数据块集合中的数据块个 数是否位于预设个数范围内 ; 第一转移单元, 用于当所述数据块集合中的数据块个数小于所述预设个数范围的下限 时, 将其它的数据块集合中的数据块转移至所述数据块集合 ; 第二转移单元, 用于当所述数据块集合中的数据块个数大于所述预设个数范围的上限 时, 将所述数据块集合中的数据块转移至其它的数据块集合中。 9。
11、. 根据权利要求 6 所述的系统, 其特征在于, 所述迁移代价值计算单元, 具体包括 : 迁移代价值计算子单元, 用于根据公式 计算将所述数据块集合中的数据块迁移至所述分布式网 权 利 要 求 书 CN 103970879 A 3 3/3 页 4 络中的各个数据存储节点中所对应的迁移代价值 ; 其中,表示数据块集合 Ci中第 m 个数据块的权重,表示数据块集合 Ci中 第 m 个数据块现在所属的站点 ID, Costi j表示的是将数据块集合 i 迁移到数据存储节点 j 上的代价。 10. 根据权利要求 7 所述的系统, 其特征在于, 所述集合划分单元, 具体包括 : 集合划分子单元, 用于采。
12、用 hMetis 超图划分算法, 将所述超图模型划分为多个数据块 集合, 以便确保所述多个数据块集合为具有最小割的划分结果。 权 利 要 求 书 CN 103970879 A 4 1/9 页 5 一种调整数据块存储位置的方法及系统 技术领域 0001 本发明涉及大数据存储领域, 特别是涉及一种调整数据块存储位置的方法及系 统。 背景技术 0002 随着互联网技术的不断发展, 互联网中的数据存储节点中存储的数据量也越来越 大。 在大数据环境下, 当某个操作涉及到的数据量较大时, 该操作涉及到的数据在网络中的 存储位置将直接影响该操作的效率。 0003 例如, 当某一个操作需要访问的数据 ( 或数。
13、据块 ) 如果被分散存储在多个数据存 储节点上, 则执行该操作的计算节点需要分别从多个不同的数据存储节点获取数据以便完 成该操作。此时, 将会有大量的数据通过网络进行传输 ( 即从数据存储节点传输至计算节 点 ), 带来大量的网络通信开销。 0004 由上述可知, 现有技术中的数据存储方法, 由于将数据杂乱无章的分散存储在多 个数据存储节点上, 导致计算节点在执行涉及多个数据存储节点存储的数据的操作时, 需 要从多个不同的数据存储节点获取数据。这导致了大量的网络通信开销, 同时也降低了对 数据进行处理的效率。 发明内容 0005 本发明的目的是提供一种调整数据块存储位置的方法及系统, 可以将相。
14、关度较高 的数据块存储到尽可能少的数据存储节点上, 进而降低对数据进行处理时的网络通信开 销, 提高对数据进行处理的效率。 0006 为实现上述目的, 本发明提供了如下方案 : 0007 一种调整数据块存储位置的方法, 包括 : 0008 获取分布式网络中的 n 个数据块 ; 0009 利用超图确定所述 n 个数据块中任意 m 个数据块之间的相关度, m n ; 0010 将所述 m 个数据块划分至多个数据块集合, 所述 m 个数据块中的任意一个数据块 只属于所述多个数据块集合中的一个数据块集合, 属于同一个数据块集合的数据块之间的 相关度大于预设相关阈值 ; 0011 对于任意一个所述数据块。
15、集合, 分别计算将所述数据块集合中的数据块迁移至所 述分布式网络中的各个数据存储节点中所对应的迁移代价值 ; 0012 确定最小的所述迁移代价值对应的目标数据存储节点 ; 0013 将所述数据块集合中的数据块存储至所述目标数据存储节点。 0014 可选的, 所述利用超图确定所述n个数据块中任意m个数据块之间的相关度, 具体 包括 : 0015 确定历史操作访问过的数据块 ; 0016 将所述历史操作访问过的数据块设定为超图的顶点 ; 说 明 书 CN 103970879 A 5 2/9 页 6 0017 根据公式计算每个顶点的权重, 其中frqj 表示的历史操作 j 的频率, wvi表示顶点 。
16、i 的权重 ; fumji 1 表示在历史操作中第 j 个操作 访问了第 i 个数据块 ; k 代表的是历史操作的总数 ; 0018 将每个历史操作作为一条超边 ; 0019 将与该超边对应的历史操作访问过的数据块, 作为该超边的顶点 ; 0020 根据公式 wej frqj计算每个超边的权重, 其中 wej表示超边 j 的权重 ; 0021 根据上述步骤构造的超图模型中, 所述超边的权重用于表示数据块之间的相关 度。 0022 可选的, 所述计算将所述数据块集合中的数据块迁移至所述分布式网络中的各个 数据存储节点中所对应的迁移代价值之前, 还包括 : 0023 判断所述数据块集合中的数据块个。
17、数是否位于预设个数范围内 ; 0024 当所述数据块集合中的数据块个数小于所述预设个数范围的下限时, 将其它的数 据块集合中的数据块转移至所述数据块集合 ; 0025 当所述数据块集合中的数据块个数大于所述预设个数范围的上限时, 将所述数据 块集合中的数据块转移至其它的数据块集合中。 0026 可选的, 所述计算将所述数据块集合中的数据块迁移至所述分布式网络中的各个 数据存储节点中所对应的迁移代价值, 具体包括 : 0027 根据公式 0028 计算将所述数据块集合中的数据块迁移至所述分布 式网络中的各个数据存储节点中所对应的迁移代价值 ; 0029 其中,表示数据块集合Ci中第m个数据块的权。
18、重,表示数据块集合Ci 中第 m 个数据块现在所属的站点 ID, Costi j表示的是将数据块集合 i 迁移到数据存储节 点 j 上的代价。 0030 可选的, 所述将所述 m 个数据块划分至多个数据块集合, 具体包括 : 0031 采用 hMetis 超图划分算法, 将所述超图模型划分为多个数据块集合, 以便确保所 述多个数据块集合为具有最小割的划分结果。 0032 一种调整数据块存储位置的系统, 包括 : 0033 数据块获取单元, 用于获取分布式网络中的 n 个数据块 ; 0034 相关度确定单元, 用于利用超图确定所述 n 个数据块中任意 m 个数据块之间的相 关度, m n ; 0。
19、035 集合划分单元, 用于将所述m个数据块划分至多个数据块集合, 所述m个数据块中 的任意一个数据块只属于所述多个数据块集合中的一个数据块集合, 属于同一个数据块集 合的数据块之间的相关度大于预设相关阈值 ; 0036 迁移代价值计算单元, 用于对于任意一个所述数据块集合, 分别计算将所述数据 块集合中的数据块迁移至所述分布式网络中的各个数据存储节点中所对应的迁移代价 值 ; 0037 目标数据存储节点确定单元, 用于确定最小的所述迁移代价值对应的目标数据存 说 明 书 CN 103970879 A 6 3/9 页 7 储节点 ; 0038 存储单元, 用于将所述数据块集合中的数据块存储至所。
20、述目标数据存储节点。 0039 可选的, 所述相关度确定单元, 具体包括 : 0040 数据块确定子单元, 用于确定历史操作访问过的数据块 ; 0041 超图顶点设定子单元, 用于将所述历史操作访问过的数据块设定为超图的顶点 ; 0042 顶点权重计算子单元, 用于根据公式计算 每个顶点的权重, 其中 frqj表示的历史操作 j 的频率, wvi表示顶点 i 的权重 ; 0043 超边确定子单元, 用于将每个历史操作作为一条超边 ; 0044 超边顶点确定子单元, 用于将与该超边对应的历史操作访问过的数据块, 作为该 超边的顶点 ; 0045 超边权重计算子单元, 用于根据公式 wej frq。
21、j计算每个超边的权重, 其中 wej表 示超边 j 的权重 ; 0046 根据上述步骤构造的超图模型中, 所述超边的权重用于表示数据块之间的相关 度。 0047 可选的, 还包括 : 0048 数据块个数判断单元, 用于在计算将所述数据块集合中的数据块迁移至所述分布 式网络中的各个数据存储节点中所对应的迁移代价值之前, 判断所述数据块集合中的数据 块个数是否位于预设个数范围内 ; 0049 第一转移单元, 用于当所述数据块集合中的数据块个数小于所述预设个数范围的 下限时, 将其它的数据块集合中的数据块转移至所述数据块集合 ; 0050 第二转移单元, 用于当所述数据块集合中的数据块个数大于所述。
22、预设个数范围的 上限时, 将所述数据块集合中的数据块转移至其它的数据块集合中。 0051 可选的, 所述迁移代价值计算单元, 具体包括 : 0052 迁移代价值计算子单元, 用于根据公式 0053 计算将所述数据块集合中的数据块迁移至所述分布 式网络中的各个数据存储节点中所对应的迁移代价值 ; 0054 其中,表示数据块集合 Ci中第 m 个数据块的权重,表示数据块集合 Ci 中第 m 个数据块现在所属的站点 ID, Costi j表示的是将数据块集合 i 迁移到数据存储节 点 j 上的代价。 0055 可选的, 所述集合划分单元, 具体包括 : 0056 集合划分子单元, 用于采用 hMet。
23、is 超图划分算法, 将所述超图模型划分为多个数 据块集合, 以便确保所述多个数据块集合为具有最小割的划分结果。 0057 根据本发明提供的具体实施例, 本发明公开了以下技术效果 : 0058 本发明的调整数据块存储位置的方法或系统, 通过利用超图确定所述 n 个数据块 中任意 m 个数据块之间的相关度, m n ; 将所述 m 个数据块划分至多个数据块集合 ; 对于 任意一个所述数据块集合, 分别计算将所述数据块集合中的数据块迁移至所述分布式网络 中的各个数据存储节点中所对应的迁移代价值 ; 确定最小的所述迁移代价值对应的目标数 说 明 书 CN 103970879 A 7 4/9 页 8 。
24、据存储节点 ; 将所述数据块集合中的数据块存储至所述目标数据存储节点 ; 可以将相关度 较高的数据块存储到尽可能少的数据存储节点上, 进而降低对数据进行处理时的网络通信 开销, 提高对数据进行处理的效率 ; 同时, 由于计算了迁移代价, 还可以以较小的代价实现 数据块存储位置的调整。 附图说明 0059 为了更清楚地说明本发明实施例或现有技术中的技术方案, 下面将对实施例中所 需要使用的附图作简单地介绍, 显而易见地, 下面描述中的附图仅仅是本发明的一些实施 例, 对于本领域普通技术人员来讲, 在不付出创造性劳动性的前提下, 还可以根据这些附图 获得其他的附图。 0060 图 1 为本发明的调。
25、整数据块存储位置的方法实施例 1 的流程图 ; 0061 图 2 为本发明的调整数据块存储位置的方法实施例 2 的流程图 ; 0062 图 3 为本发明的调整数据块存储位置的系统实施例的结构图。 具体实施方式 0063 下面将结合本发明实施例中的附图, 对本发明实施例中的技术方案进行清楚、 完 整地描述, 显然, 所描述的实施例仅仅是本发明一部分实施例, 而不是全部的实施例。基于 本发明中的实施例, 本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他 实施例, 都属于本发明保护的范围。 0064 为使本发明的上述目的、 特征和优点能够更加明显易懂, 下面结合附图和具体实 施方式对本发。
26、明作进一步详细的说明。 0065 图 1 为本发明的调整数据块存储位置的方法实施例 1 的流程图。如图 1 所示, 该 方法可以包括 : 0066 步骤 101 : 获取分布式网络中的 n 个数据块 ; 0067 所述分布式网络中包括多个数据存储节点, 所述 n 个数据块可以分布在所述多个 数据存储节点中。 0068 数据块是由多个数据组成的数据集合, 例如数据库中多个数据项组成的数据项集 合就可以称为数据块。 0069 所述 n 个数据块中的任意两个数据块, 可以存储在同一个数据存储节点, 也可以 存储在两个不同的数据存储节点中。当某种操作需要同时访问这两个数据时, 如果这两个 数据存储在不。
27、同的数据存储节点中, 则执行该操作的服务器需要分别从两个不同的数据存 储节点获取数据。这会带来较大的数据传输开销。 0070 步骤 102 : 利用超图确定所述 n 个数据块中任意 m 个数据块之间的相关度, m n ; 0071 超图是一种广义上的图, 它的一条边可以连接任意数量的顶点。形式上, 超图 H 是 一个集合组 H (X, E), 其中 X 是一个有限集合, 该集合的元素被称为节点或顶点, E 是 X 的 非空子集的集合, 被称为超边或连接。因此, E 是 X 的一个子集。 0072 具体的, 可以采用以下方式确定所述 n 个数据块中任意 m 个数据块之间的相关 度 : 0073 。
28、步骤 a : 确定历史操作访问过的数据块 ; 说 明 书 CN 103970879 A 8 5/9 页 9 0074 分布式网络中的计算节点在执行某个历史操作时, 访问过的数据块, 均可以采用 本发明的方法计算相关度。 0075 假设某一个历史操作, 需要访问 x 个数据块, 则这 x 个数据块之间就具有相关关 系。需要说明的是, 相关关系有强弱之分, 下面的步骤可以计算多个数据块之间的相关度。 0076 步骤 b : 将所述历史操作访问过的数据块设定为超图的顶点 ; 0077 步骤 c : 根据公式计算每个顶点的权重, 其中 frqj表示的历史操作 j 的频率, wvi表示顶点 i 的权重 。
29、; fumji 1 表示在历史操作中 第 j 个操作访问了第 i 个数据块 ; k 代表的是历史操作的总数 ; 0078 步骤 d : 将每个历史操作作为一条超边 ; 0079 步骤 e : 将与该超边对应的历史操作访问过的数据块, 作为该超边的顶点 ; 0080 步骤 f : 根据公式 wej frqj计算每个超边的权重, 其中 wej表示超边 j 的权重 ; 0081 步骤 g : 根据上述步骤构造的超图模型中, 所述超边的权重用于表示数据块之间 的相关度。 0082 采用上面的步骤, 可以计算多个数据块之间的相关度。 而现有技术中, 通常只能计 算两个数据块之间的相关度。 0083 步骤。
30、 103 : 将所述 m 个数据块划分至多个数据块集合, 所述 m 个数据块中的任意一 个数据块只属于所述多个数据块集合中的一个数据块集合, 属于同一个数据块集合的数据 块之间的相关度大于预设相关阈值 ; 0084 根据前面的步骤计算出数据块之间的相关度之后, 可以将相关度较高 ( 即大于预 设相关阈值 ) 的数据块划分至相同的数据块集合。每个数据块集合中包含的任意一个数据 块, 均不属于另外的数据块集合。 0085 对于构造好的超图模型, 可以采用 hMetis 超图划分算法, 将所述超图模型划分为 多个数据块集合, 以便确保所述多个数据块集合为具有最小割的划分结果。 0086 划分后得到的。
31、各个数据块集合中的各个数据块之间, 均具有较高的相关程度。也 就是说, 对于任意一种数据操作, 该操作需要访问的多个数据块中的一部分或者全部, 具有 较高的概率是位于同一个数据块集合中的。 0087 步骤 104 : 对于任意一个所述数据块集合, 分别计算将所述数据块集合中的数据 块迁移至所述分布式网络中的各个数据存储节点中所对应的迁移代价值 ; 0088 在采用本发明的方法之前, 相关程度较高的多个数据块往往是分散存储在多个数 据存储节点中的。本发明的实施例中, 需要将同一个数据块集合中的数据块尽量存储在同 一个数据存储节点。因此, 本发明的方法需要对数据块进行迁移。 0089 在迁移之前,。
32、 由于分布式网络中具有多个数据存储节点, 还需要确定迁移代价最 小的目标数据存储节点。假设有三个数据块分别存储在三个数据存储节点中, 那么, 通常 可以将与这三个数据存储节点的距离之和最小的数据存储节点, 作为所述目标数据存储节 点。需要说明的是, 三个数据块所在的三个数据存储节点也可以作为所述目标数据存储节 点。即, 数据块集合中的数据块所在的数据存储节点, 可以作为所述目标数据存储节点。 0090 具体的, 还可以根据公式 说 明 书 CN 103970879 A 9 6/9 页 10 0091 计算将所述数据集合中的数据迁移至所述分布式网 络中的各个数据存储节点中所对应的迁移代价值 ; 。
33、0092 其中,表示数据块集合Ci中第m个数据块的权重,表示数据块集合Ci 中第 m 个数据块现在所属的站点 ID, Costi j表示的是将数据块集合 i 迁移到数据存储节 点 j 上的代价。 0093 上面的公式主要是计算将数据块集合 Ci迁移到节点 j 上的迁移代价。迁移代价 主要是根据需要迁移的数据块数量以及数据块权重决定的。 每个数据块的大小可以是一样 的, 数据块的迁移代价跟该数据块的权重是有关的。权重越大的数据块被迁移了则其代价 越高, 所以迁移的代价也可以表示为被迁移的数据块权重之和。 0094 步骤 105 : 确定最小的所述迁移代价值对应的目标数据存储节点 ; 0095 步。
34、骤 106 : 将所述数据块集合中的数据块存储至所述目标数据存储节点。 0096 将所述数据块集合中的数据块存储至所述目标数据存储节点之后, 可以将原本存 储所述数据块集合中的数据块的数据存储节点的存储空间进行释放, 用于存储另外的数 据。 0097 综上所述, 本实施例中, 通过利用超图确定所述 n 个数据块中任意 m 个数据块之 间的相关度, m n ; 将所述 m 个数据块划分至多个数据块集合 ; 对于任意一个所述数据块 集合, 分别计算将所述数据块集合中的数据块迁移至所述分布式网络中的各个数据存储节 点中所对应的迁移代价值 ; 确定最小的所述迁移代价值对应的目标数据存储节点 ; 将所述。
35、 数据块集合中的数据块存储至所述目标数据存储节点 ; 可以将相关度较高的数据块存储到 尽可能少的数据存储节点上, 进而降低对数据进行处理时的网络通信开销, 提高对数据进 行处理的效率 ; 同时, 由于计算了迁移代价, 还可以以较小的代价实现数据块存储位置的调 整。 0098 实际应用中, 为了防止某个数据块集合中的数据块个数过多, 导致数据存储节点 无法完整的存储下该数据块集合, 本发明还提供了另一个实施例。 0099 图 2 为本发明的调整数据块存储位置的方法实施例 2 的流程图。如图 2 所示, 该 方法可以包括 : 0100 步骤 201 : 获取分布式网络中的 n 个数据块 ; 010。
36、1 步骤 202 : 利用超图确定所述 n 个数据块中任意 m 个数据块之间的相关度, m n ; 0102 步骤 203 : 将所述 m 个数据块划分至多个数据块集合, 所述 m 个数据块中的任意一 个数据块只属于所述多个数据块集合中的一个数据块集合, 属于同一个数据块集合的数据 块之间的相关度大于预设相关阈值 ; 0103 步骤 204 : 判断所述数据块集合中的数据块个数是否位于预设个数范围内 ; 0104 所述预设个数范围具有上限和下限数值。 可以根据实际需求设定上限数值和下限 数值。 0105 步骤 205 : 当所述数据块集合中的数据块个数小于所述预设个数范围的下限时, 将其它的数。
37、据块集合中的数据块转移至所述数据块集合 ; 0106 当所述数据块集合中的数据块个数小于所述预设个数范围的下限时, 可以表示该 数据块中的数据个数过少, 进一步可以表示当前划分的数据块集合的个数过多。 此时, 可以 说 明 书 CN 103970879 A 10 7/9 页 11 将其它的数据块集合中的数据块转移至所述数据块集合。 0107 可以确定与数据块个数较少的数据块集合中的数据块的相关度较高的数据块, 优 先将这些数据块转移至所述数据块集合。 0108 步骤 206 : 当所述数据块集合中的数据块个数大于所述预设个数范围的上限时, 将所述数据块集合中的数据块转移至其它的数据块集合中 ;。
38、 0109 当所述数据块集合中的数据块个数大于所述预设个数范围的上限时, 可以表示该 数据块中的数据个数过多, 可能导致数据存储节点无法完整的存储下该数据块集合。 此时, 可以将所述数据块集合中的数据块转移至其它的数据块集合中。 0110 可以确定与所述数据块集合中的数据块的相关度较高的数据块所在的数据块集 合, 优先将数据块转移至相关度较高的数据块所在的数据块集合中。 0111 步骤 207 : 对于任意一个所述数据块集合, 分别计算将所述数据块集合中的数据 块迁移至所述分布式网络中的各个数据存储节点中所对应的迁移代价值 ; 0112 步骤 208 : 确定最小的所述迁移代价值对应的目标数据。
39、存储节点 ; 0113 步骤 209 : 将所述数据块集合中的数据块存储至所述目标数据存储节点。 0114 本实施例中, 通过当所述数据块集合中的数据块个数大于所述预设个数范围的上 限时, 将所述数据块集合中的数据块转移至其它的数据块集合中, 可以防止某个数据块集 合中的数据块个数过多, 导致数据存储节点无法完整的存储下该数据块集合 ; 通过当所述 数据块集合中的数据块个数小于所述预设个数范围的下限时, 将其它的数据块集合中的数 据块转移至所述数据块集合, 可以尽量避免划分的数据块集合的数目过多。 0115 本发明还公开了一种调整数据块存储位置的系统。 0116 图 3 为本发明的调整数据块存。
40、储位置的系统实施例的结构图。如图 3 所示, 该系 统可以包括 : 0117 数据块获取单元 301, 用于获取分布式网络中的 n 个数据块 ; 0118 相关度确定单元302, 用于利用超图确定所述n个数据块中任意m个数据块之间的 相关度, m n ; 0119 集合划分单元 303, 用于将所述 m 个数据块划分至多个数据块集合, 所述 m 个数据 块中的任意一个数据块只属于所述多个数据块集合中的一个数据块集合, 属于同一个数据 块集合的数据块之间的相关度大于预设相关阈值 ; 0120 迁移代价值计算单元 304, 用于对于任意一个所述数据块集合, 分别计算将所述数 据块集合中的数据块迁移。
41、至所述分布式网络中的各个数据存储节点中所对应的迁移代价 值 ; 0121 目标数据存储节点确定单元 305, 用于确定最小的所述迁移代价值对应的目标数 据存储节点 ; 0122 存储单元 306, 用于将所述数据块集合中的数据块存储至所述目标数据存储节点。 0123 本实施例中, 通过利用超图确定所述n个数据块中任意m个数据块之间的相关度, m n ; 将所述 m 个数据块划分至多个数据块集合 ; 对于任意一个所述数据块集合, 分别计 算将所述数据块集合中的数据块迁移至所述分布式网络中的各个数据存储节点中所对应 的迁移代价值 ; 确定最小的所述迁移代价值对应的目标数据存储节点 ; 将所述数据块。
42、集合 中的数据块存储至所述目标数据存储节点 ; 可以将相关度较高的数据块存储到尽可能少的 说 明 书 CN 103970879 A 11 8/9 页 12 数据存储节点上, 进而降低对数据进行处理时的网络通信开销, 提高对数据进行处理的效 率 ; 同时, 由于计算了迁移代价, 还可以以较小的代价实现数据块存储位置的调整。 0124 实际应用中, 所述相关度确定单元 302, 具体可以包括 : 0125 数据块确定子单元, 用于确定历史操作访问过的数据块 ; 0126 超图顶点设定子单元, 用于将所述历史操作访问过的数据块设定为超图的顶点 ; 0127 顶点权重计算子单元, 用于根据公式计算 每。
43、个顶点的权重, 其中 frqj表示的历史操作 j 的频率, wvi表示顶点 i 的权重 ; fumji 1 表 示在历史操作中第 j 个操作访问了第 i 个数据块 ; k 代表的是历史操作的总数 ; 0128 超边确定子单元, 用于将每个历史操作作为一条超边 ; 0129 超边顶点确定子单元, 用于将与该超边对应的历史操作访问过的数据块, 作为该 超边的顶点 ; 0130 超边权重计算子单元, 用于根据公式 wej frqj计算每个超边的权重, 其中 wej表 示超边 j 的权重 ; 0131 根据上述步骤构造的超图模型中, 所述超边的权重用于表示数据块之间的相关 度。 0132 实际应用中,。
44、 还可以包括 : 0133 数据块个数判断单元, 用于在计算将所述数据块集合中的数据块迁移至所述分布 式网络中的各个数据存储节点中所对应的迁移代价值之前, 判断所述数据块集合中的数据 块个数是否位于预设个数范围内 ; 0134 第一转移单元, 用于当所述数据块集合中的数据块个数小于所述预设个数范围的 下限时, 将其它的数据块集合中的数据块转移至所述数据块集合 ; 0135 第二转移单元, 用于当所述数据块集合中的数据块个数大于所述预设个数范围的 上限时, 将所述数据块集合中的数据块转移至其它的数据块集合中。 0136 实际应用中, 所述迁移代价值计算单元 304, 具体可以包括 : 0137 。
45、迁移代价值计算子单元, 用于根据公式 0138 计算将所述数据块集合中的数据块迁移至所述分布 式网络中的各个数据存储节点中所对应的迁移代价值 ; 0139 其中,表示数据块集合 Ci中第 m 个数据块的权重,表示数据块集合 Ci 中第 m 个数据块现在所属的站点 ID, Costi j表示的是将数据块集合 i 迁移到数据存储节 点 j 上的代价。 0140 实际应用中, 所述集合划分单元 303, 具体可以包括 : 0141 集合划分子单元, 用于采用 hMetis 超图划分算法, 将所述超图模型划分为多个数 据块集合, 以便确保所述多个数据块集合为具有最小割的划分结果。 0142 本说明书中。
46、各个实施例采用递进的方式描述, 每个实施例重点说明的都是与其他 实施例的不同之处, 各个实施例之间相同相似部分互相参见即可。对于实施例公开的系统 而言, 由于其与实施例公开的方法相对应, 所以描述的比较简单, 相关之处参见方法部分说 明即可。 说 明 书 CN 103970879 A 12 9/9 页 13 0143 本文中应用了具体个例对本发明的原理及实施方式进行了阐述, 以上实施例的说 明只是用于帮助理解本发明的方法及其核心思想 ; 同时, 对于本领域的一般技术人员, 依据 本发明的思想, 在具体实施方式及应用范围上均会有改变之处。 综上所述, 本说明书内容不 应理解为对本发明的限制。 说 明 书 CN 103970879 A 13 1/2 页 14 图 1 说 明 书 附 图 CN 103970879 A 14 2/2 页 15 图 2 图 3 说 明 书 附 图 CN 103970879 A 15 。