一种热键存储方法及装置与流程

文档序号:29852866发布日期:2022-04-30 08:24阅读:54来源:国知局
一种热键存储方法及装置与流程

1.本发明涉及热键存储技术领域,尤其是涉及一种热键存储方法及装置。


背景技术:

2.在互联网系统中,热键(key)指的是瞬间有成百上千万的请求流量访问缓存存储器的某个固定的键,这将会造成流量过于集中且流量过大,使得流量可能达到缓存存储器的网卡上限,从而导致该缓存存储器宕机。
3.现今解决上述问题的方法为根据热键生成多个新键,并将这些新键存储在不同的缓存存储器中,当热键请求到达时,对新键取哈希值并对缓存存储器的数量取模,从而在多个缓存存储器选择一个缓存存储器对热键进行存储。然而,上述方法存在以下问题:缓存存储器需维护根据热键生成的多个新键,该多个新键对系统侵入性变高,也增加了系统复杂度;存储热键的缓存存储器服务的状态好坏未知。
4.因此,亟需一种改进的方法来改善上述问题。


技术实现要素:

5.有鉴于此,本发明的目的在于提供一种热键存储方法及装置,以改善上述技术问题。
6.第一方面,本发明实施例提供了一种热键存储方法,所述方法应用于服务端,所述方法包括:
7.当接收到客户端的热键存储请求时,对读取到的热键进行哈希计算,得到所述热键的哈希值;
8.利用所述哈希值对路由进行取模,确定所述热键对应的目标路由;
9.利用所述目标路由确定缓存集群中的最优缓存存储器存储所述热键。
10.结合第一方面,本发明实施例提供了第一方面的第一种可能的实施方式,其中,所述利用所述哈希值对路由进行取模,确定所述热键对应的目标路由,包括:
11.利用所述哈希值根据以下公式对路由进行取模,确定所述热键对应的目标路由:热键对应的目标路由=热键哈希值%路由数。
12.结合第一方面,本发明实施例提供了第一方面的第二种可能的实施方式,其中,所述利用所述目标路由确定缓存集群中的最优缓存存储器存储所述热键,包括:
13.基于预先确定的路由表确定缓存集群中的所述目标路由对应的缓存存储器区块;
14.利用所述目标路由确定所述缓存存储器区块中的最优缓存存储器存储所述热键。
15.结合第一方面第二种可能的实施方式,本发明实施例提供了第一方面的第三种可能的实施方式,其中,所述方法还包括:
16.利用所述路由对所述缓存存储器区块中的每个缓存存储器的变量进行路由计算,确定最优缓存存储器存储所述热键;其中,所述变量包括缓存存储器的故障率、缓存平均耗时、缓存流量、内存使用率、cpu使用率以及io使用率。
17.结合第一方面,本发明实施例提供了第一方面的第四种可能的实施方式,其中,每个所述缓存存储器区块中的缓存存储器的数量相同。
18.第二方面,本发明实施例还提供一种热键存储装置,所述装置应用于服务端,所述装置包括:
19.哈希计算模块,用于当接收到客户端的热键存储请求时,对读取到的热键进行哈希计算,得到所述热键的哈希值;
20.路由确定模块,用于利用所述哈希值对路由进行取模,确定所述热键对应的目标路由;
21.热键存储模块,用于利用所述目标路由确定缓存集群中的最优缓存存储器存储所述热键。
22.结合第二方面,本发明实施例提供了第二方面的第一种可能的实施方式,其中,所述路由确定模块用于:
23.利用所述哈希值根据以下公式对路由进行取模,确定所述热键对应的目标路由:热键对应的目标路由=热键哈希值%路由数。
24.结合第二方面,本发明实施例提供了第二方面的第二种可能的实施方式,其中,所述热键存储模块用于:
25.基于预先确定的路由表确定缓存集群中的所述目标路由对应的缓存存储器区块;
26.利用所述目标路由确定所述缓存存储器区块中的最优缓存存储器存储所述热键。
27.结合第二方面,本发明实施例提供了第二方面的第三种可能的实施方式,其中,所述热键存储模块还用于:
28.利用所述路由对所述缓存存储器区块中的每个缓存存储器的变量进行路由计算,确定最优缓存存储器存储所述热键;其中,所述变量包括缓存存储器的故障率、缓存平均耗时、缓存流量、内存使用率、cpu使用率以及io使用率。
29.第三方面,本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令在被处理器调用和执行时,所述计算机可执行指令促使处理器实现上文所述的方法。
30.本发明实施例带来了以下有益效果:本发明实施例提供的一种热键存储方法及装置,首先当接收到客户端的热键存储请求时,对读取到的热键进行哈希计算得到热键的哈希值,然后利用哈希值对路由进行取模确定热键对应的目标路由,最后利用目标路由确定缓存集群中的最优缓存存储器存储热键。本发明实施例的热键存储方法及装置通过在服务端与缓存存储器之间增加路由层,该路由层中的与热键对应的目标路由根据缓存存储器的状态选择最优缓存存储器来存储热键,即一个热键最终对应一个缓存存储器并存储在该缓存存储器中,达到了使系统复杂度变低且能选择最优缓存存储器存储热键的技术效果。
31.本发明的其他特征和优点将在随后的说明书中阐述,并且部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点在说明书、权利要求书以及附图中所特别指出的结构中实现和获得。
32.为使本发明的上述目的、特征和优点能够更加明显易懂,下文特举优选实施例,并配合所附附图,作详细说明如下。
附图说明
33.为了更清楚地说明本发明的具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图进行简单的介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
34.图1为本发明实施例提供的一种热键存储方法的流程图;
35.图2为本发明实施例提供的另一种热键存储方法的流程图;
36.图3本发明实施例提供的一种热键存储装置的结构框图;
37.图4为本发明实施例提供的一种服务器的结构示意图。
具体实施方式
38.为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的技术方案进行清楚、完整的描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
39.在互联网系统中,热键指的是瞬间有成百上千万的请求流量访问缓存存储器的某个固定的键,这将会造成流量过于集中且流量过大,使得流量可能达到缓存存储器的网卡上限,从而导致该缓存存储器宕机。现今解决上述问题的方法为根据热键生成多个新键,并将这些新键存储在不同的缓存存储器中,当热键请求到达时,对新键取哈希值并对缓存存储器的数量取模,从而在多个缓存存储器选择一个缓存存储器对热键进行存储。然而,上述方法存在以下问题:缓存存储器需维护根据热键生成的多个新键,该多个新键对系统侵入性变高,也增加了系统复杂度;存储热键的缓存存储器服务的状态好坏未知。基于此,本发明实施例提供了一种热键存储方法及装置,以缓解上述问题。
40.为了便于对本实施例进行理解,首先对本发明实施例所公开的一种热键存储方法进行详细介绍。
41.在一种可能的实施方式中,本发明提供了一种热键存储方法,所述方法应用于服务端,如图1所示为本发明实施例提供的一种热键存储方法的流程图,该方法包括以下步骤:
42.步骤s102:当接收到客户端的热键存储请求时,对读取到的热键进行哈希计算,得到该热键的哈希值。
43.可选地,热键是指瞬间有成百上千万请求流量的某一事件。
44.步骤s104:利用上述哈希值对路由进行取模,确定上述热键对应的目标路由。
45.可选地,该目标路由为在服务端与缓存存储器间增加的路由层中的一个路由,一个热键请求到一个目标路由。
46.步骤s106:利用上述目标路由确定缓存集群中的最优缓存存储器存储上述热键。
47.可选地,一个目标路由对应于缓存集群中的多个缓存存储器,利用该目标路由确定出最优缓存存储器。
48.综上所述,本发明实施例的热键存储方法,首先当接收到客户端的热键存储请求时,对读取到的热键进行哈希计算得到热键的哈希值,然后利用哈希值对路由进行取模确
定热键对应的目标路由,最后利用目标路由确定缓存集群中的最优缓存存储器存储热键。本发明实施例的热键存储方法及装置通过在服务端与缓存存储器之间增加路由层,该路由层中的与热键对应的目标路由根据缓存存储器的状态选择最优缓存存储器来存储热键,即一个热键最终对应一个缓存存储器并存储在该缓存存储器中,达到了使系统复杂度变低且能选择最优缓存存储器存储热键的技术效果。
49.为了针对上述过程进行更详细的说明,本发明实施例在图2中示出了本发明实施例提供的另一种热键存储方法的流程图,该方法包括以下步骤:
50.步骤s202:当接收到客户端的热键存储请求时,对读取到的热键进行哈希计算,得到该热键的哈希值。
51.步骤s204:利用上述哈希值根据以下公式对路由进行取模,确定上述热键对应的目标路由:热键对应的目标路由=热键哈希值%路由数。
52.步骤s206:基于预先确定的路由表确定缓存集群中的上述目标路由对应的缓存存储器区块。
53.可选地,每个所述缓存存储器区块中的缓存存储器的数量相同,且每个缓存存储器区块中的缓存存储器的数量可根据需要动态调整,本发明实施例对该优先次序不进行限制。
54.步骤s208:利用上述目标路由对上述缓存存储器区块中的每个缓存存储器的变量进行路由计算,确定最优缓存存储器存上述热键。
55.其中,上述变量包括缓存存储器的故障率、缓存平均耗时、缓存流量、内存使用率、cpu(central processing unit,中央处理单元)使用率以及io(input/output,输入/输出)使用率。
56.可选地,这些变量的路由优先次序为故障率、缓存平均耗时、缓存流量、内存使用率、cpu使用率以及io使用率,该优先顺序也可根据需要动态调整,本发明实施例对该优先次序不进行限制。
57.综上所述,本发明的热键存储方法,首先当接收到客户端的热键存储请求时,对读取到的热键进行哈希计算得到热键的哈希值,然后利用哈希值对路由进行取模确定热键对应的目标路由,最后利用目标路由确定缓存集群中的最优缓存存储器存储热键。本发明实施例的热键存储方法及装置通过在服务端与缓存存储器之间增加路由层,该路由层中的与热键对应的目标路由根据缓存存储器的状态选择最优缓存存储器来存储热键,即一个热键最终对应一个缓存存储器并存储在该缓存存储器中,达到了使系统复杂度变低且能选择最优缓存存储器存储热键的技术效果。
58.在另一种可能的实施方式中,对应于上述实施方式提供的热键存储方法,本发明实施例还提供了一种热键存储装置,所述装置应用于服务端,图3本发明实施例提供的一种热键存储装置的结构框图。如图3示,该装置包括:
59.哈希计算模块301,用于当接收到客户端的热键存储请求时,对读取到的热键进行哈希计算,得到所述热键的哈希值;
60.路由确定模块302,用于利用所述哈希值对路由进行取模,确定所述热键对应的目标路由;
61.热键存储模块303,用于利用所述目标路由确定缓存集群中的最优缓存存储器存
signal processing,简称dsp)、专用集成电路(application specific integrated circuit,简称asic)、现成可编程门阵列(field-programmable gate array,简称fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器401,处理器400读取存储器401中的信息,结合其硬件完成上述方法的步骤。
77.在又一种可能的实施方式中,本发明实施例还提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令在被处理器调用和执行时,计算机可执行指令促使处理器实现上文所述的方法。
78.本发明实施例提供的热键存储装置,与上述实施例提供的热键存储方法具有相同的技术特征,所以也能解决相同的技术问题,达到相同的技术效果。
79.本发明实施例所提供的热键存储方法及装置的计算机程序产品,包括存储了程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行前面方法实施例中所述的方法,具体实现可参见方法实施例,在此不再赘述。
80.所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
81.另外,在本发明实施例的描述中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
82.所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
83.在本发明的描述中,需要说明的是,术语“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。
84.最后应说明的是:以上实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭
露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1