一种基于服务器节点硬件资源密度的数据分片方法技术

技术编号:33837796 阅读:10 留言:0更新日期:2022-06-16 11:57
本发明专利技术公开了一种基于服务器节点硬件资源密度的数据分片方法。该方法主要分为五个部分:服务器节点硬件资源密度的定义、散列环的定义、服务器节点负责的数据分片规则、服务器节点加入集群后的数据分片变更与服务器节点离开集群后的数据分片变更。该方法实现了相对平均的数据分片,提高集群横向扩展能力,并考虑到服务器节点硬件资源的影响,使得硬件资源多的节点分配到更多的数据分片,同时硬件资源少的节点分配到较少的数据分片,充分利用集群内服务器的硬件资源。此外,该方法在集群内服务器节点增加或删除时,调整数据分片时传输数据量较小,能更快速的调整数据分片的分布。能更快速的调整数据分片的分布。能更快速的调整数据分片的分布。

【技术实现步骤摘要】
一种基于服务器节点硬件资源密度的数据分片方法


[0001]本专利技术涉及风控、反欺诈等需要进行高频实时信息处理和存储的金融大数据领域,涉及一种基于服务器节点硬件资源密度的数据分片方法。

技术介绍

[0002]在风控、反欺诈等需要进行高频实时信息处理和存储的金融大数据领域,存在大量金融指标数据存储的需求,而单个服务器节点无法存储和处理金融大数据场景下的庞大数据量,因此需要使用多个服务器节点存储数据。多个不同的服务器节点会构建成服务器集群。完整的数据会被分布到集群内不同的服务器节点上,同时数据的读写负载会被分摊到不同的服务器节点上,这就是数据分片。
[0003]数据分片可用于实现服务器集群的横向扩展,即添加服务器节点后,集群的性能也可以得到一定比例的提升。数据分片的目标在于将完整的数据平均分布到不同的服务器节点上,每个服务器节点能够公平地分配到数据以及对应的数据访问负载,从而提供良好的横向扩展能力。假如不同服务器节点分布的数据量不均匀,那么某些服务器节点的数据量和读写负载会明显高于其它服务器节点,造成了负载偏移的现象,导致横向扩展能力不足。
[0004]现有的数据分片方法主要分为下列3类:
[0005](1)基于数据范围的数据分片:每个分片会指定一个范围,即指定分片的最小值和最大值,落入该范围的数据归属于该分片。
[0006](2)基于散列值的数据分片:每个分片同样指定一个散列值范围,假如数据的散列值在该范围内,则属于该分片。
[0007](3)基于一致性散列的数据分片:整个散列值范围形成一个环,然后计算服务器节点的散列值并将其添加到环中,之后计算数据的散列值,并在环上顺时针寻找服务器节点,遇到的第一个服务器节点存储该数据。如图1所示的一致性散列分片的样例展示了数据被存储在节点#B中。
[0008]然而上述的数据分片方法存在下列缺陷:
[0009](1)对于基于数据范围的数据分片,每个分片的数据量很难控制的很均匀,极易容易造成负载偏移的现象,影响横向扩展能力;
[0010](2)对于基于散列值的数据分片,其缓解了分片数据量不均匀的问题,但是当服务器集群增加或删除节点时,通常会造成服务器集群内多个节点的数据分片变化,调整数据分片时会传输大量的数据;
[0011](3)对于基于一致性散列的数据分片,因为在服务器节点增删时,该方法只变更散列环上的一段弧,其缓解了调整数据分片时会传输数据量大的问题,但服务器节点在散列环上的分布极易变得不均匀,同样造成负载偏移的现象,影响横向扩展能力。
[0012]此外,上述数据分配方法中,均未考虑到服务器节点硬件资源对数据分片的影响。集群内,服务器拥有的硬件资源可能有所不同,硬件资源少的服务器节点应分配到更小的
数据分片,硬件资源多的服务器节点应分配到更大的数据分片,从而充分利用硬件资源,提升横向扩展的能力,但是现有的数据分片方法无法做到这一点。
[0013]综上所述,上述已有数据分片方法无法满足风控、反欺诈等金融大数据领域的大量金融指标数据存储和分片的需求。

技术实现思路

[0014]针对上述已有数据分片方法所产生的问题和缺陷,本专利技术提出了一种基于服务器节点硬件资源密度的数据分片方法,实现数据分片相对平均地分配到集群内各服务器节点的同时,同时考虑到服务器节点硬件资源的影响,从而满足风控、反欺诈等金融大数据领域的大量金融指标数据存储和分片的需求。
[0015]本专利技术的目的是通过以下技术方案来实现的:一种基于服务器节点硬件资源密度的数据分片方法,该方法包括以下步骤:
[0016](1)获取服务器节点的CPU核心数、内存大小以及网络带宽,根据这三个参数分别乘以权重并求和得到服务器节点硬件资源密度;
[0017](2)将整体服务器全局数据分为P个分片,并形成一个散列环,最后一个分片和第一个分片首位相连,第一个分片标记为分片0,最后一个分片标记为分片P

1;
[0018](3)将服务器节点添加到散列环上,每个节点负责散列环上一段弧的数据分片,这段弧从当前服务器节点开始,然后逆时针走到第一个服务器节点结束。
[0019](4)当服务器集群中新添加服务器节点S
new
时,将S
new
插入到散列环最长的一段弧中,进行数据分片变更,
[0020](5)当服务器集群中有服务器节点S离开时,寻找S在散列环上顺时针和逆时针的第一个节点,进行逆时针和顺时针延长,数据分片进行变更。
[0021]进一步地,步骤(3)中,数据首先计算其散列值,然后对分片数P取余,得到数据所处的分片,并获得该分片所在散列环上的弧,从而确定存储该数据的服务器节点。
[0022]进一步地,步骤(4)中服务器集群中新添加服务器节点S
new
时,数据分片变更的具体步骤如下:
[0023](4.1)若集群中没有服务器节点,则S
new
拥有全部的数据分片,并且S
new
位于散列环的起始位置;否则,选取散列环上最长的一段弧,获取存储该弧的数据分片对应的服务器节点,记为S
old

[0024](4.2)计算S
new
和S
old
的服务器节点硬件资源密度,分别记为d
new
和d
old

[0025](4.3)将该弧拆分成两段,S
new
负责的弧对应的分片数p
new
和S
old
负责的弧对应的分片数p
old
满足将S
new
插入到散列环最长的一段弧中,而S
old
在散列环上的位置保持不变。
[0026]进一步地,步骤(5)中,服务器集群中有服务器节点S离开时,数据分片进行变更的具体步骤如下:
[0027](5.1)若节点S离开后,集群只剩余1台服务器,那么剩余的1台服务器拥有全部的数据分片,并且其位于散列环的起始位置;
[0028](5.2)若节点S离开后,集群没有服务器,则散列环为空,即散列环上不包含任何服
务器节点;
[0029](5.3)否则,寻找S在散列环上顺时针和逆时针的第一个节点,分别记作S1和S2;计算S1和S2的服务器节点硬件资源密度,分别记为d1和d2;
[0030](5.4)S1负责的弧向逆时针延长,S2负责的弧向顺时针延长,延长长度对应的分片数分别为p1和p2,并满足其它服务器节点在环上的位置保持不变。
[0031]本专利技术的有益效果:
[0032](1)本专利技术方法实现了相对平均的数据分片,提高集群横向扩展能力;
[0033](2)本专利技术方法在数据分片时,考虑到服务器节点硬件资源的影响,使得硬件资源多的节点分配到更多的数据分片,同时硬件资源少的节点分配到较少的数据分片,从而充分利用集群内服务器的硬件资源,本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于服务器节点硬件资源密度的数据分片方法,其特征在于,该方法包括以下步骤:(1)获取服务器节点的CPU核心数、内存大小以及网络带宽,根据这三个参数分别乘以权重并求和得到服务器节点硬件资源密度;(2)将整体服务器全局数据分为P个分片,并形成一个散列环,最后一个分片和第一个分片首位相连,第一个分片标记为分片0,最后一个分片标记为分片P

1;(3)将服务器节点添加到散列环上,每个节点负责散列环上一段弧的数据分片,这段弧从当前服务器节点开始,然后逆时针走到第一个服务器节点结束。(4)当服务器集群中新添加服务器节点S
new
时,将S
new
插入到散列环最长的一段弧中,进行数据分片变更,(5)当服务器集群中有服务器节点S离开时,寻找S在散列环上顺时针和逆时针的第一个节点,进行逆时针和顺时针延长,数据分片进行变更。2.根据权利要求1所述的一种基于服务器节点硬件资源密度的数据分片方法,其特征在于,步骤(3)中,数据首先计算其散列值,然后对分片数P取余,得到数据所处的分片,并获得该分片所在散列环上的弧,从而确定存储该数据的服务器节点。3.根据权利要求1所述的一种基于服务器节点硬件资源密度的数据分片方法,其特征在于,步骤(4)中服务器集群中新添加服务器节点S
new
时,数据分片变更的具体步骤如下:(4.1)若集群中没有服务器节点,则S
new
拥有全部的数据分片,并且S
new
位...

【专利技术属性】
技术研发人员:鲁萍王刚陈伟杨运平黄滔金路叶金韬
申请(专利权)人:浙江邦盛科技股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1