一种数据存储方法、服务器及存储介质技术

技术编号:19820648 阅读:29 留言:0更新日期:2018-12-19 14:18
本发明专利技术公开了一种数据存储方法、服务器及存储介质,适用于计算机领域。本发明专利技术提供的方法包括:分别设定redis实例写入与查询的权重系数、数据类别的影响因子、redis实例读写影响因子;获取已创建的redis实例,计算每个redis实例的负载能力;根据每个redis实例的负载能力,将预存储数据存入对应的redis实例中。本发明专利技术中在不影响已创建的redis实例基础上,提升了数据读写速度,保证资源的合理分配,并实现redis实例与数据操作之间的负载均衡,从而大大提升服务器性能。

【技术实现步骤摘要】
一种数据存储方法、服务器及存储介质
本专利技术涉及计算机
,尤其涉及一种数据存储方法、服务器及存储介质。
技术介绍
在互联网时代,数据流量往往能体现网络平台的影响,但庞大流量为数据的存储处理提出了更高的要求,而且众多数据之间存在着关联关系,如何在方便大容量数据存储的同时,保障数据的读写速度及查询速度是亟待解决的问题。目前,较常采用的方法是通过将数据分片存储到不同redis实例中,即根据数据内容的不同,分别存储到不同的redis实例,如当需要展示主播礼物的日榜、周榜、年榜及用户贡献榜时,由于数据量大,就将不同榜单用不同的redis实例存储。然而,实际中每个redis实例的存储容量、读写速度、查询及更新频率等不尽相同,例如日榜数据量较小但更新频率高、而年榜存储量大,但查询更新率较低。这样,如果随意进行数据分片到redis实例,会出现redis实例与数据利用的负载不平衡,致使redis实例中数据读写速度慢,进而影响服务器性能。
技术实现思路
有鉴于此,本专利技术实施例提供了一种数据存储方法、服务器及存储介质,以解决现有redis实例存储数据负载不均衡问题。本专利技术实施例的第一方面,提供了一种数据存储方法,包括:根据用户对数据类别及数据读写速度的关注度,通过重复实验,分别设定redis实例写入与查询的权重系数、数据类别的影响因子、redis实例读写影响因子;获取已创建的redis实例,并根据所述redis实例写入与查询的权重系数、所述数据类别的影响因子、所述redis实例读写影响因子,计算每个redis实例的负载能力;根据每个redis实例的负载能力,将预存储数据存入对应的redis实例中。本专利技术实施例的第二方面,提供了一种数据存储服务器,包括:设定模块:用于根据用户对数据类别及数据读写速度的关注度,通过重复实验,分别设定redis实例写入与查询的权重系数、数据类别的影响因子、redis实例读写影响因子;计算模块:用于获取已创建的redis实例,并根据所述redis实例写入与查询的权重系数、所述数据类别的影响因子、所述redis实例读写影响因子,计算每个redis实例的负载能力;存储模块:用于根据每个redis实例的负载能力,将预存储数据存入对应的redis实例中。本专利技术实施例的第三方面,提供了一种服务器,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如本专利技术实施例第一方面所述方法的步骤。本专利技术实施例的第四方面,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现本专利技术实施例第一方面提供的所述方法的步骤。本专利技术实施例的第五方面,提供了一种计算机程序产品,所述计算机程序产品包括计算机程序,所述计算机程序被一个或多个处理器执行时实现本专利技术实施例第一方面提供的所述方法的步骤。本专利技术实施例中,根据用户关注度,设定数据类别与redis实例读写速度的影响因子,再通过公式计算每个redis实例的负载能力,根据负载能力分配数据的存储,在不影响原有redis实例基础上,提升了数据读写速度,保证数据分片的合理,实现redis实例与数据操作之间的负载均衡,从而大大提升服务器性能。附图说明为了更清楚地说明本专利技术实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1为本专利技术实施例提供的数据存储方法的一个实施例流程图;图2为本专利技术实施例提供的数据存储方法的另一个实施例流程图;图3为本专利技术实施例提供的数据存储服务器的结构示意图;图4为本专利技术实施例提供的服务器的结构示意图;具体实施方式本专利技术实施例提供了一种数据存储方法、服务器及存储介质,用于选择redis实例存储不同类别数据。为使得本专利技术的专利技术目的、特征、优点能够更加的明显和易懂,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,下面所描述的实施例仅仅是本专利技术一部分实施例,而非全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本专利技术保护的范围。实施例一:请参阅图1,本专利技术实施例提供的数据存储方法的流程示意图,包括以下步骤:S101、根据用户对数据类别及数据读写速度的关注度,通过重复实验,分别设定redis实例写入与查询的权重系数、数据类别的影响因子、redis实例读写影响因子;所述数据类别一般指服务器存储的用户数据,这些数据经整理后可用于展示,例如可分为主播数据、观众数据等,还可以对这些数据进行整理,例如排名、计数等。不同类别的数据展示给用户后,由于这些数据会实时改变,就需要进行更新操作,更新即需要对已存在的数据进行读写,读写速度决定更新的快慢。不同类别数据由于数据量不同,对读写的速度及更新的速度要求不同。例如每日排行榜数据量较小,但更新速度要求较快,而每月排行榜数据量大,速度要求不会太高。所述不同类别数据、不同Redis实例读写速度会影响Redis实例的负载能力,通过所述数据类别影响因子反映数据类别对Redis实例负载的影响,通过所述Redis实例读写影响因子反映读写速度对Redis负载能力的影响。预先设定系数及因子值,通过数据最终展示效果及用户反馈结果,反复试验,获得最优的redis实例写入与查询的权重系数、数据类别的影响因子、redis实例读写影响因子设定值。redis存储架构由多个redis实例构成,每个redis实例中包含一个主库和多个从库。其中,RedisMaster负责数据的写入和修改,RedisSlave负责数据的查询。Redis实例中的写入功能与查询功能相互独立,所述redis实例写入量与查询量的操作会影响redis的读写能力,基于写入和查询的影响程度不同,可以通过量化实验,确定redis实例写入与查询的权重系数。可选的,分别量化所述数据类别和所述数据读写速度,根据用户对所述数据类别和所述数据读写速度的需求反馈,设定所述数据类别和所述数据读写速度的比例。权重系数及影响因子值的设定,可通过比例反应,基于所述比例下具体的值不会对最终性能计算产生影响S102、获取已创建的redis实例,并根据所述redis实例写入与查询的权重系数、所述数据类别的影响因子、所述redis实例读写影响因子,计算每个redis实例的负载能力;可选的,获取已创建的redis实例包括:获取所述redis实例的存储容量、所述redis实例的写入请求量和所述redis实例的查询请求量。可选的,根据公式(1)计算每个redis实例的负载能力;其中,Rx为负载评分,Ti表示数据类别,Q表示查询请求量,W表示写入请求量,S表示redis实例存储容量,Cq表示查询权重,Cw表示写入权重,α表示数据类别影响因子,β表示读写影响因子,i、n表示编号。上述权重及影响因子的值会受到用户关注层面及反馈的影响,最终会体现在redis实例的负载评分上,即根据用户兴趣导向,在保障基本读写速度上,选择redis实例存放对应数据,能够满足用户需求,提本文档来自技高网...

【技术保护点】
1.一种数据存储方法,其特征在于,包括:根据用户对数据类别及数据读写速度的关注度,分别设定redis实例写入与查询的权重系数、数据类别的影响因子、redis实例读写影响因子;获取已创建的redis实例,并根据所述redis实例写入与查询的权重系数、所述数据类别的影响因子、所述redis实例读写影响因子,计算每个redis实例的负载能力;根据每个redis实例的负载能力,将预存储数据存入对应的redis实例中。

【技术特征摘要】
1.一种数据存储方法,其特征在于,包括:根据用户对数据类别及数据读写速度的关注度,分别设定redis实例写入与查询的权重系数、数据类别的影响因子、redis实例读写影响因子;获取已创建的redis实例,并根据所述redis实例写入与查询的权重系数、所述数据类别的影响因子、所述redis实例读写影响因子,计算每个redis实例的负载能力;根据每个redis实例的负载能力,将预存储数据存入对应的redis实例中。2.根据权利要求1所述的方法,其特征在于,所述根据用户对数据类别及数据读写速度的关注度具体为:分别量化所述数据类别和所述数据读写速度对Redis实例负载的影响,根据用户对所述数据类别和所述数据读写速度的需求反馈,设定所述数据类别和所述数据读写速度的比例。3.根据权利要求1所述的方法,其特征在于,所述获取已创建的redis实例还包括:获取所述redis实例的存储容量、所述redis实例的写入请求量和所述redis实例的查询请求量。4.根据权利要求1所述的方法,其特征在于,所述根据所述redis实例写入与查询的权重系数、所述数据类别的影响因子、所述redis实例读写影响因子,计算每个redis实例的负载能力具体为;根据公式(1)计算每个redis实例的负载能力;其中,Rx为负载评分,Ti表示数据类别,Q表示查询请求量,W表示写入请求量,S表示redis实例存储容量,Cq表示查询权重,Cw表示写入权重,α表示数据类别影响因子,β表示读写影响因子,i、n表示编号。5.根据权利要求1的方法,其特征在于,所述根据每个redis实例的负载能力,将预存储数据存入对应的...

【专利技术属性】
技术研发人员:张李攀张文明陈少杰
申请(专利权)人:武汉斗鱼网络科技有限公司
类型:发明
国别省市:湖北,42

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

1