一种数据存储方法和系统技术方案

技术编号:30067705 阅读:11 留言:0更新日期:2021-09-18 08:18
本发明专利技术公开了一种数据存储方法和系统,涉及计算机技术领域。该方法的实施方式包括:将多个服务器进行分组,得到多个服务器组,将待存储的数据进行分组,得到多个待存储数据组;确定待存储数据组与服务器组之间的存储映射关系,并根据存储映射关系进行存储;根据各服务器组的负载值确定第一服务器组和第二服务器组;确定存储在第一服务器组上的第一目标数据,以及确定存储在第二服务器组上的第二目标数据;更新存储映射关系,将第一目标数据迁移到第二服务器组、将第二目标存储数据迁移到在第一服务器组。该实施方式能够有效缓解存储压力,节省服务器资源,同时能够动态调整数据的存储位置,自动分散热点数据和访问压力,实现负载均衡化。负载均衡化。负载均衡化。

【技术实现步骤摘要】
一种数据存储方法和系统


[0001]本专利技术涉及计算机
,尤其涉及一种数据存储方法和系统。

技术介绍

[0002]随着互联网技术的发展,数据呈现爆炸式增长,数据的存储技术对于应对海量数据的情况变得尤为重要,具体来说,对数据存储具有访问量大、数据量大、高并发等要求。目前,常用的数据存储系统为集中式数据系统,即将数据存储在每台服务器上。这种存储系统对服务器的内存资源消耗很大,并且每台服务器存储相同的数据也是对存储资源的浪费,总而言之这种存储系统已经无法满足大规模数据存储的需求。

技术实现思路

[0003]有鉴于此,本专利技术实施例提供一种数据存储方法和系统,能够解决在大数据量的情况下,服务器内存不能全量存储数据的问题,有效缓解服务器内存压力,节省服务器资源,并保证确保数据存储的可靠性、安全性和存取效率;同时能够自动调整数据存储位置,自动分散热点数据和访问压力,实现负载均衡化。
[0004]为实现上述目的,根据本专利技术实施例的一个方面,提供了一种数据存储方法,该方法包括多个服务器,该方法还包括:
[0005]将所述多个服务器进行分组,得到多个服务器组,按照预设的规则将待存储的数据进行分组,得到多个待存储数据组;
[0006]确定所述待存储数据组与所述服务器组之间的存储映射关系,并根据所述存储映射关系将待存储数据组存储在对应的服务器组上;
[0007]确定各服务器组的负载值,并根据所述负载值从所有服务器组中确定第一服务器组和第二服务器组;
[0008]根据预设的第一条件,确定存储在第一服务器组上的第一目标数据,以及根据预设的第二条件,确定存储在第二服务器组上的第二目标数据;
[0009]更新所述存储映射关系,将第一目标数据迁移到第二服务器组以及将第二目标存储数据迁移到第一服务器组。
[0010]可选地,确定各服务器组的负载值包括:对于每一服务器组,确定所述服务器组中每个服务器的负载指标值;根据所述负载指标值以及其对应的权重,确定每个服务器的负载值;根据所述每个服务器的负载值,确定所述服务器组的负载值。
[0011]可选地,所述负载指标值包括以下一种或多种:cpu使用率、内存使用率和接口响应时间。
[0012]可选地,根据所述负载值从所有服务器组中确定第一服务器组和第二服务器组包括:将所有服务器组中负载值大于或等于预设阈值的服务器组作为第一服务器组;根据各服务器组的负载值,确定负载平均值;将所有服务器组中负载值小于所述负载平均值的服务器组作为第二服务器组。
[0013]可选地,根据预设的第一条件,确定存储在第一服务器组上的第一目标数据包括:
[0014]确定第一目标数据的数量;
[0015]当第一服务器组的数量为1时,从所述第一服务器组上获取第一数据,所述第一数据的数量等于所述第一目标数据的数量;
[0016]当第一服务器组的数量大于1时,根据各第一服务器组的负载值与所述负载平均值的差值,确定各第一服务器组之间的差值比;根据所述差值比,从各第一服务器组上获取第一数据,将所述第一数据作为第一目标数据,其中,所述第一数据之间的数量比等于所述差值比,且所述第一数据的数量之和等于所述第一目标数据的数量;
[0017]根据预设的第二条件,确定存储在第二服务器组上的第二目标数据包括:
[0018]确定第二目标数据的数量,其中,所述第二目标数据的数量等于第一目标数据的数量;
[0019]当第二服务器组的数量为1时,从所述第二服务器组上获取第二数据,所述第二数据的数量等于所述第二目标数据的数量;
[0020]当第二服务器组的数量大于1时,根据各第二服务器组的负载值与所述负载平均值的差值,确定各第二服务器组之间的差值比;根据所述差值比,从各第二服务器组上获取第二数据,将所述第二数据作为第二目标数据,其中,所述第二数据之间的数量比等于所述差值比,且所述第二数据的数量之和等于第二目标数据的数量。
[0021]可选地,根据如下过程确定第一数据:
[0022]确定存储在第一服务器组上的数据的访问次数;
[0023]根据所述访问次数对所述存储在第一服务器组上的数据进行排序,其中,访问次数越大相应的数据的排序越靠前;
[0024]将所述存储在第一服务器组上的数据中排序靠前的至少一个数据作为第一数据;
[0025]根据如下过程确定第二数据:
[0026]确定存储在第二服务器组上的数据的访问次数;
[0027]根据所述访问次数对所述存储在第二服务器组上的数据进行排序,其中,访问次数越小相应的数据的排序越靠前;
[0028]将所述存储在第二服务器组上的数据中排序靠前的至少一个数据作为第二数据。
[0029]可选地,更新所述存储映射关系,将第一目标数据迁移到第二服务器组,以及将第二目标存储数据迁移到第一服务器组包括:
[0030]将访问次数最高的第一目标数据迁移到负载值最低的第二服务器组以及将访问次数最低的第二目标数据迁移到负载值最高的第一服务器组。
[0031]为实现上述目的,根据本专利技术实施例的另一个方面,提供了一种数据存储系统,所述系统包括多个服务器,所述系统还包括:
[0032]分组模块,用于将所述多个服务器进行分组,得到多个服务器组,按照预设的规则将待存储的数据进行分组,得到多个待存储数据组;
[0033]存储模块,用于确定所述待存储数据组与所述服务器组之间的存储映射关系,并根据所述存储映射关系将待存储数据组存储在对应的服务器组上;
[0034]服务器组确定模块,用于确定各服务器组的负载值,并根据所述负载值从所有服务器组中确定第一服务器组和第二服务器组;
[0035]目标数据确定模块,用于根据预设的第一条件,确定存储在第一服务器组上的第一目标数据,以及根据预设的第二条件,确定存储在第二服务器组上的第二目标数据;
[0036]更新模块,用于更新所述存储映射关系,将第一目标数据迁移到第二服务器组以及将第二目标存储数据迁移到第一服务器组。
[0037]可选地,所述服务器组确定模块还用于:对于每一服务器组,确定所述服务器组中每个服务器的负载指标值;根据所述负载指标值以及其对应的权重,确定每个服务器的负载值;根据所述每个服务器的负载值,确定所述服务器组的负载值。
[0038]可选地,所述负载指标值包括以下一种或多种:cpu使用率、内存使用率和接口响应时间。
[0039]可选地,所述服务器组确定模块还用于:将所有服务器组中负载值大于或等于预设阈值的服务器组作为第一服务器组;根据各服务器组的负载值,确定负载平均值;将所有服务器组中负载值小于所述负载平均值的服务器组作为第二服务器组。
[0040]可选地,所述目标数据确定模块还用于:
[0041]确定第一目标数据的数量;
[0042]当第一服务器组的数量为1时,从所述第一服务器组上获取第一数据,所述第一数据的数量等于所述第一目标数据的本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据存储方法,其特征在于,所述方法包括多个服务器,所述方法还包括:将所述多个服务器进行分组,得到多个服务器组,按照预设的规则将待存储的数据进行分组,得到多个待存储数据组;确定所述待存储数据组与所述服务器组之间的存储映射关系,并根据所述存储映射关系将待存储数据组存储在对应的服务器组上;确定各服务器组的负载值,并根据所述负载值从所有服务器组中确定第一服务器组和第二服务器组;根据预设的第一条件,确定存储在第一服务器组上的第一目标数据,以及根据预设的第二条件,确定存储在第二服务器组上的第二目标数据;更新所述存储映射关系,将第一目标数据迁移到第二服务器组以及将第二目标存储数据迁移到第一服务器组。2.根据权利要求1所述的方法,其特征在于,确定各服务器组的负载值包括:对于每一服务器组,确定所述服务器组中每个服务器的负载指标值;根据所述负载指标值以及其对应的权重,确定每个服务器的负载值;根据所述每个服务器的负载值,确定所述服务器组的负载值。3.根据权利要求2所述的方法,其特征在于,所述负载指标值包括以下一种或多种:cpu使用率、内存使用率和接口响应时间。4.根据权利要求2所述的方法,其特征在于,根据所述负载值从所有服务器组中确定第一服务器组和第二服务器组包括:将所有服务器组中负载值大于或等于预设阈值的服务器组作为第一服务器组;根据各服务器组的负载值,确定负载平均值;将所有服务器组中负载值小于所述负载平均值的服务器组作为第二服务器组。5.根据权利要求4所述的方法,其特征在于,根据预设的第一条件,确定存储在第一服务器组上的第一目标数据包括:确定第一目标数据的数量;当第一服务器组的数量为1时,从所述第一服务器组上获取第一数据,所述第一数据的数量等于所述第一目标数据的数量;当第一服务器组的数量大于1时,根据各第一服务器组的负载值与所述负载平均值的差值,确定各第一服务器组之间的差值比;根据所述差值比,从各第一服务器组上获取第一数据,将所述第一数据作为第一目标数据,其中,所述第一数据之间的数量比等于所述差值比,且所述第一数据的数量之和等于所述第一目标数据的数量;根据预设的第二条件,确定存储在第二服务器组上的第二目标数据包括:确定第二目标数据的数量,其中,所述第二目标数据的数量等于第一目标数据的数量;当第二服务器组的数量为1时,从所述第二服务器组上获取第二数据,所述第二数据的数量等于所述第二目标数据的数量;当第二服务器组的数量大于1时,根据各第二...

【专利技术属性】
技术研发人员:袁帅
申请(专利权)人:北京京东世纪贸易有限公司
类型:发明
国别省市:

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

1