CN110083313B - 一种数据缓存方法及装置 - Google Patents

一种数据缓存方法及装置 Download PDF

Info

Publication number
CN110083313B
CN110083313B CN201910371052.2A CN201910371052A CN110083313B CN 110083313 B CN110083313 B CN 110083313B CN 201910371052 A CN201910371052 A CN 201910371052A CN 110083313 B CN110083313 B CN 110083313B
Authority
CN
China
Prior art keywords
cache server
virtual
cached
data
cache
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.)
Active
Application number
CN201910371052.2A
Other languages
English (en)
Other versions
CN110083313A (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.)
Beijing QIYI Century Science and Technology Co Ltd
Original Assignee
Beijing QIYI Century Science and Technology Co Ltd
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 Beijing QIYI Century Science and Technology Co Ltd filed Critical Beijing QIYI Century Science and Technology Co Ltd
Priority to CN201910371052.2A priority Critical patent/CN110083313B/zh
Publication of CN110083313A publication Critical patent/CN110083313A/zh
Application granted granted Critical
Publication of CN110083313B publication Critical patent/CN110083313B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0656Data buffering arrangements
    • 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 Transfer Between Computers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请提供了一种数据缓存方法及装置,获取缓存服务器的性能参数,依据性能参数,计算缓存服务器在虚拟哈希环上的作用域,以及待缓存数据的哈希值,根据作用域和哈希值,确定用于存储待缓存数据的缓存服务器。因为性能参数与作用域呈正相关性,所以,性能越优的缓存服务器的作用域的范围越大,因此,性能越优的缓存服务器被作为待缓存数据的存储服务器的可能性越大,所以,能够降低缓存设备的性能与缓存的数据量不匹配的可能性。

Description

一种数据缓存方法及装置
技术领域
本申请涉及电子信息领域,尤其涉及一种数据缓存方法及装置。
背景技术
目前,大部分视频提供商使用分布式视频缓存系统,提升视频的访问速度。通常使用一致性哈希算法,将视频平均分配存储到分布式视频缓存系统中的各个缓存设备中。
在现有的分布式视频缓存系统中,缓存设备通常由不同的供应商提供,因此,缓存设备的硬件配置不同,所以,将视频平均分配存储到各个缓存设备中的方式,使得缓存设备的性能与缓存的视频量不匹配,进一步导致资源浪费或者缓存设备过载。例如:磁盘容量小的缓存服务器存不下相应的视频文件;或者一些磁盘大、带宽高的缓存服务器不能被充分利用;再者,一些带宽比较小的服务器,缓存的内容过多或者过热,使得带宽被占满,从而导致一些请求被拒绝服务。
发明内容
本申请提供了一种数据缓存方法及装置,目的在于解决缓存设备的性能与缓存的数据量不匹配的问题。
为了实现上述目的,本申请提供了以下技术方案:
一种数据缓存方法,包括:
获取缓存服务器的性能参数;
依据所述性能参数,计算所述缓存服务器在虚拟哈希环上的作用域,所述性能参数与所述作用域呈正相关性;
计算待缓存数据的哈希值;
根据所述作用域和所述哈希值,确定用于存储所述待缓存数据的缓存服务器。
可选的,所述性能参数包括:
磁盘总容量和/或网络总带宽。
可选的,所述性能参数包括:所述磁盘总容量和所述网络总带宽;
所述依据所述性能参数,计算所述缓存服务器在虚拟哈希环上的作用域包括:
按照公式
Figure BDA0002049954700000021
得到待选缓存服务器在虚拟哈希环上的作用域的大小,其中,所述待选缓存服务器为所述缓存服务器中的任意一个,所述磁盘总容量为所述待选缓存服务器的磁盘总容量,所述网络总带宽为所述待选缓存服务器的网络总带宽。
可选的,所述待选缓存服务器的作用域由所述待选缓存服务器对应的虚拟节点在所述虚拟哈希环上的映射位置的集合构成;
所述待选缓存服务器对应的虚拟节点的个数为
Figure BDA0002049954700000022
可选的,所述根据所述作用域和所述哈希值,确定用于存储所述待缓存数据的缓存服务器,包括:
按照所述待缓存数据的哈希值,确定所述待缓存数据在所述虚拟哈希环上的映射位置;
建立各个缓存服务器与目标个数的虚拟节点的对应关系,待选缓存服务器对应的所述虚拟节点的目标个数依据所述待选缓存服务器的性能参数计算得到,所述待选缓存服务器为所述缓存服务器中的任意一个;
将与所述待缓存数据的所述映射位置距离最近的虚拟节点,作为目标虚拟节点;
将所述目标虚拟节点对应的缓存服务器,作为用于存储所述待缓存数据的缓存服务器。
可选的,所述获取缓存服务器的性能参数包括:
在满足预设条件的情况下,获取缓存服务器的性能参数,所述预设条件包括:接收到待缓存数据、新增缓存服务器、下线缓存服务器中的至少一种。
一种缓存分配装置,包括:
获取模块,用于获取缓存服务器的性能参数;
第一计算模块,用于依据所述性能参数,计算所述缓存服务器在虚拟哈希环上的作用域,所述性能参数与所述作用域呈正相关性;
第二计算模块,用于计算待缓存数据的哈希值;
缓存模块,用于根据所述作用域和所述哈希值,确定用于存储所述待缓存数据的缓存服务器。
可选的,所述性能参数包括:
磁盘总容量和/或网络总带宽。
可选的,所述性能参数包括:所述磁盘总容量和所述网络总带宽;
所述第一计算模块用于依据所述性能参数,计算所述缓存服务器在虚拟哈希环上的作用域包括:
所述第一计算模块具体用于,按照公式
Figure BDA0002049954700000031
得到待选缓存服务器在虚拟哈希环上的作用域的大小,其中,所述待选缓存服务器为所述缓存服务器中的任意一个,所述磁盘总容量为所述待选缓存服务器的磁盘总容量,所述网络总带宽为所述待选缓存服务器的网络总带宽。
可选的,所述待选缓存服务器的作用域由所述待选缓存服务器对应的虚拟节点在所述虚拟哈希环上的映射位置的集合构成;
所述待选缓存服务器对应的虚拟节点的个数为
Figure BDA0002049954700000032
可选的,所述缓存模块用于根据所述作用域和所述哈希值,确定用于存储所述待缓存数据的缓存服务器包括:
所述缓存模块具体用于,按照所述待缓存数据的哈希值,确定所述待缓存数据在所述虚拟哈希环上的映射位置;
建立各个缓存服务器与目标个数的虚拟节点的对应关系,待选缓存服务器对应的所述虚拟节点的目标个数依据所述待选缓存服务器的性能参数计算得到,所述待选缓存服务器为所述缓存服务器中的任意一个;
将与所述待缓存数据的所述映射位置距离最近的虚拟节点,作为目标虚拟节点;
将所述目标虚拟节点对应的缓存服务器,作为用于存储所述待缓存数据的缓存服务器。
可选的,所述获取模块用于获取缓存服务器的性能参数,包括:
所述获取模块具体用于,在满足预设条件的情况下,获取缓存服务器的性能参数,所述预设条件包括:接收到待缓存数据、新增缓存服务器、下线缓存服务器中的至少一种。
本申请所述的数据缓存方法及装置,获取缓存服务器的性能参数,依据所述性能参数,计算缓存服务器在虚拟哈希环上的作用域,计算待缓存数据的哈希值,根据作用域和哈希值,确定用于存储待缓存数据的缓存服务器。因为性能参数与作用域呈正相关性,所以,性能越优的缓存服务器的作用域的范围越大,因此,性能越优的缓存服务器被作为待缓存数据的存储服务器的可能性越大,所以,能够降低缓存设备的性能与缓存的数据量不匹配的可能性。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例公开的一种数据缓存方法的流程图;
图2为虚拟哈希环以及虚拟节点的示例图;
图3(a)和(b)为在虚拟哈希环上设置的实节点的示例图;
图4为本申请实施例公开的又一种数据缓存方法的流程图;
图5为在虚拟哈希环上为待缓存视频分配虚拟节点的示例图;
图6为本申请实施例公开的一种数据缓存装置的结构示意图。
具体实施方式
本申请实施例公开的缓存分配方法及装置,可以应用在分布式缓存系统中,目的在于,按照缓存服务器的性能,分配存储到缓存服务器中的数据的量,以降低资源浪费或者缓存设备过载的可能性。
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
图1为本申请实施例公开的一种数据缓存方法,包括以下步骤:
S101:获取各个缓存服务器的性能参数。
本实施例中,性能参数包括磁盘总容量和网络总带宽。
通常,缓存服务器的带宽范围为[1Gb/s,10Gb/s],带宽越高,设备的服务性能越强。磁盘容量范围浮动比较大,由于过大的磁盘会存储过多的热度资源,而服务器又无法提供相应的上传能力,即影响其他服务器对热度资源的获取,又浪费系统热度资源,故磁盘总容量范围设定为[0TB,3TB]。
S102:依据各个缓存服务器的性能参数,计算各个缓存服务器在虚拟哈希环上的作用域。
虚拟哈希环为由整个哈希值空间组织成的一个虚拟的圆环,如假设某哈希函数H的值空间为0-2^32-1(即哈希值是一个32位无符号整型数值),虚拟哈希环如图2所示。
作用域为缓存服务器在虚拟哈希环上的作用范围,对于任意一个缓存服务器而言,在虚拟哈希环上,落在其作用域范围内的数据,被缓存到该缓存服务器。可见,一个缓存服务器的作用域越大,被分配到该缓存服务器缓存的数据越多,数据被缓存至该缓存服务器的可能性就越大。
具体的,可以将各个缓存服务器的标识(例如设备ID)作为虚拟哈希环上的实节点,分布在虚拟哈希环上。实节点在虚拟哈希环上的位置,由分配给该实节点的作用域的大小决定。例如,如图3(b)所示,缓存服务器的数量为四个,在将全部作用域均分给四个缓存服务器的情况下,各个缓存服务器的ID:N1、N2、N3和N4,等间距地分布在图2所示的虚拟哈希环上。对于任意一个缓存服务器,其作用域为:按照顺时针方向,以该缓存服务器对应的实节点的上一个实节点为起点、以该实节点为终点,位于起点和终点之间的范围。例如,图3(b)中,按照顺时针方向,N1的上一个实节点为N2,则N1的作用域为N2和N1之间的范围。
本实施例中,任意一个缓存服务器在虚拟哈希环上的作用域的大小为:
Figure BDA0002049954700000061
其中,磁盘总容量为该缓存服务器的磁盘总容量,单位为GB,网络总带宽为该缓存服务器的网络总带宽,单位为Gb/s。
从上述公式可以看出,对于每一个缓存服务器而言,其性能参数与作用域的大小呈正相关性。图3(a)为按照缓存服务器的性能参数,计算得到的作为实节点的缓存服务器的标识在虚拟哈希环上的位置。与图3(b)相比,因为各个缓存服务器的性能不同,所以,被分配的作用域也不同,因此,不再是等间隔地分布在虚拟哈希环上。性能越优的缓存服务器,被分配的作用域的范围越大。
需要说明的是,图3中实节点分布在虚拟哈希环上的示例,仅为了更形象地说明缓存服务器与作用域之间的对应关系,实际中,虚拟哈希环上不是必须设置实节点,而只需建立缓存服务器与作用域的对应关系即可。并且,图3的示例所示,为缓存服务器分配的作用域均为连续的作用域,在为缓存服务器分配不连续的作用域的情况下,实节点与作用域的对应关系,并不能通过图3示例。
S103:计算各个待缓存数据的哈希值。
本步骤的具体实现方式可参见现有技术,这里不再赘述。
S104:根据作用域和哈希值,确定用于存储待缓存数据的目标缓存服务器。
具体的,在得到待缓存数据的哈希值后,即可确定待缓存数据在虚拟哈希环上的映射位置,待缓存数据在虚拟哈希环上的映射位置落在哪个缓存服务器的作用域内,哪个缓存服务器即为用于存储待缓存数据的缓存服务器,即目标缓存服务器。
以图3(a)为例,实心点表示待缓存数据,其落入N2至N1之间,即落入N1的作用域中,所以,其目标缓存服务器为N1。
S105:将待缓存数据存储至目标缓存服务器。
从图1所示的流程可以看出,本实施例中,按照缓存服务器的性能,划分缓存服务器在虚拟哈希环上的作用域,性能越优的缓存服务器,被分配的作用域的范围越大,因此,在为分布在虚拟哈希环上的待缓存数据分配缓存服务器时,选中性能较优的缓存服务器的可能性越大。
举例说明:图3(b)为现有技术中为缓存服务器分配作用域的方式,即均分作用域,在此情况下,待缓存数据仅依据自身的哈希值,确定目标缓存服务器,因此,很可能出现磁盘容量小的缓存服务器存不下待缓存数据,或者一些磁盘大、带宽高的缓存服务器不能被充分利用的问题。
而按照图3(a)分配作用域后,性能较优的缓存服务器被分配了较多的作用域,性能较差的缓存服务器被分配了较少的作用域,因此,作用域越多的缓存服务器,被存入待缓存数据的可能性越大,从而避免出现磁盘容量小的缓存服务器存不下待缓存数据,或者一些磁盘大、带宽高的缓存服务器不能被充分利用的问题。
需要说明的是,任意一个缓存服务器的作用域可以为连续的,也可以为离散的。为了计算的便捷性,通常使用离散作用域。
具体的,离散作用域可以为虚拟节点在虚拟哈希环上的映射位置的集合。以下以离散作用域为虚拟节点在虚拟哈希环上的映射位置的集合、以及分布式视频缓存机制为例,对图1所示的方法进行更为具体的说明。
图4为本申请实施例公开的又一种数据缓存方法,包括以下步骤:
S401:在满足预设条件的情况下,获取各个缓存服务器的磁盘总容量和网络总带宽。
具体的,预设条件可以包括:分布式视频缓存系统接收到新的待缓存视频,以及,分布式视频缓存系统有新增的缓存服务器或者下线的缓存服务器(例如故障下线)中的至少一种。
S402:计算各个缓存服务器在虚拟哈希环上对应的虚拟节点的数量。
虚拟节点为等间距分布在虚拟哈希环上的多个点。因此,本实施例中,作用域为虚拟节点在虚拟哈希环上的映射位置的集合。本申请的实施例中,所述映射位置,即为在虚拟哈希环上所处的位置。
本实施例中,任意一个缓存服务器在虚拟哈希环上的虚拟节点的个数为:
Figure BDA0002049954700000081
该个数的虚拟节点的在虚拟哈希环上的映射位置的集合,为该待选缓存服务器的作用域。
因为虚拟节点等间距分布,所以,虚拟节点的个数越多,则表示作用域越大,虚拟节点的个数越少,则表示作用域越小。
S403:建立各个缓存服务器与目标个数的虚拟节点的对应关系,其中,任意一个缓存服务器的目标个数为依据该缓存服务器的性能参数计算得到的个数。
可选的,为任意一个缓存服务器分配的具有对应关系的多个虚拟节点,在虚拟哈希环上可以连续分布;也可以分散部分,即相邻的虚拟节点被与其它缓存服务器对应的虚拟节点间隔开。
从上述计算公式可以看出,磁盘总容量越大和/或网络总带宽越大,则计算得到的个数越多,也就是说,性能参数指示的缓存服务器的性能越高,则缓存服务器对应的虚拟节点越多,即性能高的缓存服务器被分配的虚拟节点多,性能低的缓存服务器被分配的虚拟节点少。
S404:计算各个待缓存视频的哈希值。
本步骤的具体实现方式可参见现有技术,这里不再赘述。S403和S404的位置可以交换,本实施例不做限定。
S405:依据待缓存视频的哈希值,确定待缓存视频对应的目标虚拟节点。
具体的,依据待缓存视频的哈希值,可以确定待缓存视频在虚拟哈希环上的映射位置,如图5所示,各个待缓存视频(三角形表示)以各自的哈希值为坐标,分布在图2所示的虚拟哈希环上。
本实施例中,按照以下方式,将各个待缓存视频对应到虚拟节点:在虚拟哈希环上,按照顺时针方向,将任意一个待缓存视频对应到最近的虚拟节点,即目标虚拟节点。例如,图5中,任意一个带箭头的曲线,表示位于该曲线的起点的三角形(即一个待缓存视频)对应到位于该曲线的指向的圆形(即一个虚拟节点)。
S406:将目标虚拟节点对应的缓存服务器,作为用于存储待缓存视频的缓存服务器,即目标缓存服务器。
S407:将待缓存视频存储至目标缓存服务器。
因为S403中已经建立了缓存服务器与虚拟节点的对应关系,所以,本步骤中,能够确定出目标虚拟节点对应的是哪个缓存服务器。
从图4所示的流程可以看出,本实施例中,对一致性哈希算法中为缓存服务器分配虚拟节点的方式进行改进,即依据缓存服务器的性能参数,确定为缓存服务器分配的虚拟节点的个数,使得性能越高的缓存服务器分配到的虚拟节点越多,也就是说,以缓存服务器的性能参数为依据,分配缓存服务器在虚拟哈希环上的占用比例。
基于虚拟节点在虚拟哈希环上等间距分布的特性,虚拟节点越多的缓存服务器,被存入待缓存视频的可能性越大。因此,提高了高性能缓存服务器被存入视频的可能性,同时,降低了低性能缓存服务器被存入视频的可能性。
与现有的一致性哈希算法相比,本实施例所述的方法,能够提高缓存服务器的性能与缓存的视频量的匹配程度,因此可以大大降低磁盘容量小的缓存服务器存不下相应的视频文件;或者一些磁盘大、带宽高的缓存服务器不能被充分利用;再者一些带宽比较小的服务器,缓存的内容过多或者过热,使得带宽被占满,从而导致一些请求被拒绝服务的可能性。
需要说明的是,作用域的大小以及虚拟节点的个数的计算公式仅为一种示例,可选的,性能参数可以为磁盘总容量和网络总带宽的至少一项。
本实施例仅以视频作为数据的一个示例进行说明,除了视频之外,数据还可以包括但不限于:音频、图文等。
图6为本申请实施例公开的一种数据缓存装置,包括:获取模块、第一计算模块、第二计算模块和缓存模块。
其中,获取模块用于获取缓存服务器的性能参数。第一计算模块用于依据性能参数,计算缓存服务器在虚拟哈希环上的作用域。第二计算模块用于计算待缓存数据的哈希值。缓存模块用于根据所述作用域和所述哈希值,确定用于存储所述待缓存数据的缓存服务器。
上述各个模块的功能具体实现方式,可以参见上述方法实施例,这里不再赘述。
图6所示的装置,可以为分布式视频缓存系统中的一部分,可以设置在云端。在分布式视频缓存系统在启动时,可以收集各个缓存服务器的性能参数,在满足触发条件后,所述装置从系统获取性能参数。
图6所示的装置,按照各个缓存服务器的性能,分配虚拟哈希环上的作用域,因此,性能越高的缓存服务器对应的作用域越多,所以,待缓存的视频被存储到性能较高的缓存服务器的可能性高于被存储到性能较低的缓存服务器,从而实现缓存量与缓存服务器的性能匹配的目的。
本申请实施例方法所述的功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算设备可读取存储介质中。基于这样的理解,本申请实施例对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得一台计算设备(可以是个人计算机,服务器,移动计算设备或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,RandomAccess Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (8)

1.一种数据缓存方法,其特征在于,包括:
获取缓存服务器的性能参数;
依据所述性能参数,计算所述缓存服务器在虚拟哈希环上的作用域,所述性能参数与所述作用域呈正相关性;
计算待缓存数据的哈希值;
根据所述作用域和所述哈希值,确定用于存储所述待缓存数据的缓存服务器;
所述性能参数包括:磁盘总容量和网络总带宽;
所述依据所述性能参数,计算所述缓存服务器在虚拟哈希环上的作用域包括:
按照公式
Figure FDA0003598193130000011
得到待选缓存服务器在虚拟哈希环上的作用域的大小,其中,所述待选缓存服务器为所述缓存服务器中的任意一个,所述磁盘总容量为所述待选缓存服务器的磁盘总容量,所述网络总带宽为所述待选缓存服务器的网络总带宽。
2.根据权利要求1所述的方法,其特征在于,所述待选缓存服务器的作用域由所述待选缓存服务器对应的虚拟节点在所述虚拟哈希环上的映射位置的集合构成;
所述待选缓存服务器对应的虚拟节点的个数为
Figure FDA0003598193130000012
3.根据权利要求1所述的方法,其特征在于,所述根据所述作用域和所述哈希值,确定用于存储所述待缓存数据的缓存服务器,包括:
按照所述待缓存数据的哈希值,确定所述待缓存数据在所述虚拟哈希环上的映射位置;
建立各个缓存服务器与目标个数的虚拟节点的对应关系,待选缓存服务器对应的所述虚拟节点的目标个数依据所述待选缓存服务器的性能参数计算得到,所述待选缓存服务器为所述缓存服务器中的任意一个;
将与所述待缓存数据的所述映射位置距离最近的虚拟节点,作为目标虚拟节点;
将所述目标虚拟节点对应的缓存服务器,作为用于存储所述待缓存数据的缓存服务器。
4.根据权利要求1所述的方法,其特征在于,所述获取缓存服务器的性能参数包括:
在满足预设条件的情况下,获取缓存服务器的性能参数,所述预设条件包括:接收到待缓存数据、新增缓存服务器、下线缓存服务器中的至少一种。
5.一种缓存分配装置,其特征在于,包括:
获取模块,用于获取缓存服务器的性能参数;
第一计算模块,用于依据所述性能参数,计算所述缓存服务器在虚拟哈希环上的作用域,所述性能参数与所述作用域呈正相关性;
第二计算模块,用于计算待缓存数据的哈希值;
缓存模块,用于根据所述作用域和所述哈希值,确定用于存储所述待缓存数据的缓存服务器;
所述性能参数包括:磁盘总容量和网络总带宽;
所述第一计算模块用于依据所述性能参数,计算所述缓存服务器在虚拟哈希环上的作用域包括:
所述第一计算模块具体用于,按照公式
Figure FDA0003598193130000021
得到待选缓存服务器在虚拟哈希环上的作用域的大小,其中,所述待选缓存服务器为所述缓存服务器中的任意一个,所述磁盘总容量为所述待选缓存服务器的磁盘总容量,所述网络总带宽为所述待选缓存服务器的网络总带宽。
6.根据权利要求5所述的装置,其特征在于,
所述待选缓存服务器的作用域由所述待选缓存服务器对应的虚拟节点在所述虚拟哈希环上的映射位置的集合构成;
所述待选缓存服务器对应的虚拟节点的个数为
Figure FDA0003598193130000022
7.根据权利要求5所述的装置,其特征在于,所述缓存模块用于根据所述作用域和所述哈希值,确定用于存储所述待缓存数据的缓存服务器包括:
所述缓存模块具体用于,按照所述待缓存数据的哈希值,确定所述待缓存数据在所述虚拟哈希环上的映射位置;建立各个缓存服务器与目标个数的虚拟节点的对应关系,待选缓存服务器对应的所述虚拟节点的目标个数依据所述待选缓存服务器的性能参数计算得到,所述待选缓存服务器为所述缓存服务器中的任意一个;
将与所述待缓存数据的所述映射位置距离最近的虚拟节点,作为目标虚拟节点;
将所述目标虚拟节点对应的缓存服务器,作为用于存储所述待缓存数据的缓存服务器。
8.根据权利要求5所述的装置,其特征在于,所述获取模块用于获取缓存服务器的性能参数,包括:
所述获取模块具体用于,在满足预设条件的情况下,获取缓存服务器的性能参数,所述预设条件包括:接收到待缓存数据、新增缓存服务器、下线缓存服务器中的至少一种。
CN201910371052.2A 2019-05-06 2019-05-06 一种数据缓存方法及装置 Active CN110083313B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910371052.2A CN110083313B (zh) 2019-05-06 2019-05-06 一种数据缓存方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910371052.2A CN110083313B (zh) 2019-05-06 2019-05-06 一种数据缓存方法及装置

Publications (2)

Publication Number Publication Date
CN110083313A CN110083313A (zh) 2019-08-02
CN110083313B true CN110083313B (zh) 2022-08-02

Family

ID=67418737

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910371052.2A Active CN110083313B (zh) 2019-05-06 2019-05-06 一种数据缓存方法及装置

Country Status (1)

Country Link
CN (1) CN110083313B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110688523A (zh) * 2019-09-29 2020-01-14 深圳市网心科技有限公司 视频服务提供方法、装置、电子设备及存储介质
CN112948120A (zh) * 2021-03-18 2021-06-11 广东好太太智能家居有限公司 负载均衡方法、系统、装置和存储介质

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103905503B (zh) * 2012-12-27 2017-09-26 中国移动通信集团公司 数据存取方法、调度方法、设备及系统
CN106126356A (zh) * 2016-06-24 2016-11-16 努比亚技术有限公司 一种服务器缓存的实现、生成方法及系统
CN108810041B (zh) * 2017-04-27 2021-03-05 华为技术有限公司 一种分布式缓存系统的数据写入及扩容方法、装置
CN108769111B (zh) * 2018-04-17 2020-01-24 平安科技(深圳)有限公司 一种服务器连接方法、计算机可读存储介质及终端设备
CN109218438A (zh) * 2018-10-12 2019-01-15 山东科技大学 一种分布式缓存服务器集群的性能优化方法

Also Published As

Publication number Publication date
CN110083313A (zh) 2019-08-02

Similar Documents

Publication Publication Date Title
CN107026907B (zh) 一种负载均衡方法、负载均衡器及负载均衡系统
CN109617986B (zh) 一种负载均衡方法及网络设备
US10637916B2 (en) Method and device for storage resource allocation for video cloud storage
JP6886964B2 (ja) 負荷平衡方法及び装置
CN110519183B (zh) 一种节点限速的方法、装置、电子设备及存储介质
CN110083313B (zh) 一种数据缓存方法及装置
JP6972714B2 (ja) データ取得プログラム、装置、及び方法
CN108259603B (zh) 一种负载均衡方法及装置
US20150196841A1 (en) Load balancing system and method for rendering service in cloud gaming environment
CN110244901B (zh) 任务分配方法及装置、分布式存储系统
CN103116552A (zh) 用于在分布式存储系统中分配存储空间的方法和装置
CN111683144B (zh) 一种访问请求处理的方法、装置、计算机设备及存储介质
EP3958122A1 (en) Memory management method, apparatus, and system
US20120233313A1 (en) Shared scaling server system
CN112948120A (zh) 负载均衡方法、系统、装置和存储介质
CN112422610A (zh) 一种基于分布式对象存储的智能网关方法和系统
CN111444018A (zh) 请求处理方法以及装置
US9563532B1 (en) Allocation of tasks in large scale computing systems
CN112422611B (zh) 基于分布式对象存储的虚拟桶存储处理方法和系统
US10254973B2 (en) Data management system and method for processing distributed data
CN112398892B (zh) 服务分配方法、装置及设备
CN110784534B (zh) 数据服务方法、装置、系统及电子设备
CN106021026B (zh) 一种备份方法及装置
CN114253456A (zh) 一种缓存负载均衡方法和装置
CN108628551B (zh) 一种数据处理方法及装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant