缓存数据处理方法及服务器、配置设备的制造方法

文档序号:10654483阅读:278来源:国知局
缓存数据处理方法及服务器、配置设备的制造方法
【专利摘要】本发明实施例公开了一种缓存数据处理方法,包括:服务器获取历史缓存数据的使用特征信息;其中,所述使用特征信息至少包括有历史缓存数据的使用频率;所述服务器根据所述历史缓存数据的使用特征信息确定针对所述历史缓存数据的目标缓存处理策略;其中,所述目标缓存处理策略至少用于对所述历史缓存数据中的至少部分缓存数据进行更新处理;至少利用针对所述历史缓存数据的目标缓存处理策略对所述历史缓存数据进行处理,以更新所述服务器对应的历史缓存数据。本发明实施例还公开了一种服务器和配置设备。
【专利说明】
缓存数据处理方法及服务器、配置设备
技术领域
[0001]本发明涉及缓存技术,尤其涉及一种缓存数据处理方法及服务器、配置设备。
【背景技术】
[0002]目前在互联网应用场景中,对于读多写少场景,常常会通过缓存和后端服务的方式,来提升服务器系统的响应性能和吞吐率,同时也能够在一定程度上通过缓存来保护后端的服务单元。但是局限于内存资源的瓶颈,对于本地缓存常常会借助于近期最少使用(LRU,Least Recently Used)淘汰算法来保证缓存数据的数据量不会无限增长,而且,采用LRU淘汰算法能够保证访冋频率最大的请求尽最大可能的缓存在内存中。但是,现有LRU淘汰算法是以固定形式存在于代码中的,无法实时地动态地调整缓存的淘汰算法;也就是说,现有缓存处理策略对所有的缓存数据均采用固定的相同的淘汰策略,因此,无法满足动态调整缓存处理策略的需求,降低了服务器系统的性能。

【发明内容】

[0003]为解决现有存在的技术问题,本发明实施例提供了一种缓存数据处理方法及服务器、配置设备,能至少解决现有技术中存在的上述问题。
[0004]本发明实施例的技术方案是这样实现的:
[0005]本发明实施例第一方面提供了一种缓存数据处理方法,包括:
[0006]服务器获取历史缓存数据的使用特征信息;其中,所述使用特征信息至少包括有历史缓存数据的使用频率;
[0007]所述服务器根据所述历史缓存数据的使用特征信息确定针对所述历史缓存数据的目标缓存处理策略;其中,所述目标缓存处理策略至少用于对所述历史缓存数据中的至少部分缓存数据进行更新处理;
[0008]至少利用针对所述历史缓存数据的目标缓存处理策略对所述历史缓存数据进行处理,以更新所述服务器对应的历史缓存数据。
[0009]本发明实施例第二方面提供了一种缓存数据处理方法,包括:
[0010]服务器获取历史缓存数据的使用特征信息;其中,所述使用特征信息至少包括有历史缓存数据的使用频率;
[0011 ]所述服务器将所述历史缓存数据的使用特征信息发送至配置设备,以使所述配置设备根据所述历史缓存数据的使用特征信息生成目标缓存处理策略;
[0012]接收所述配置设备发送的目标缓存处理策略;其中,所述目标缓存处理策略至少用于对所述历史缓存数据中的至少部分缓存数据进行更新处理;
[0013]至少利用所述目标缓存处理策略对所历史缓存数据中的至少部分缓存数据进行处理。
[0014]本发明实施例第三方面提供了一种缓存数据处理方法,包括:
[0015]配置设备获取到服务器发来的目标缓存数据的使用特征信息;
[0016]根据所述历史缓存数据的使用特征信息确定针对所述历史缓存数据的目标缓存处理策略;其中,所述目标缓存处理策略至少用于对所述历史缓存数据中的至少部分缓存数据进行更新处理;
[0017]将目标缓存处理策略发送至所述服务器,以使得所述服务器根据所述目标缓存处理策略至少针对所述历史缓存数据进行处理
[0018]本发明实施例第四方面提供了一种服务器,包括:
[0019]第一信息获取单元,用于获取历史缓存数据的使用特征信息;其中,所述使用特征信息至少包括有历史缓存数据的使用频率;
[0020]第一策略确定单元,用于根据所述历史缓存数据的使用特征信息确定针对所述历史缓存数据的目标缓存处理策略;其中,所述目标缓存处理策略至少用于对所述历史缓存数据中的至少部分缓存数据进行更新处理;
[0021]第一数据处理单元,用于至少利用针对所述历史缓存数据的目标缓存处理策略对所述历史缓存数据进行处理,以更新所述服务器对应的历史缓存数据。
[0022 ]本发明实施例第五方面提供了一种服务器,包括:
[0023]第二信息获取单元,用于获取历史缓存数据的使用特征信息;其中,所述使用特征信息至少包括有历史缓存数据的使用频率;
[0024]第一发送单元,用于将所述历史缓存数据的使用特征信息发送至配置设备,以使所述配置设备根据所述历史缓存数据的使用特征信息生成目标缓存处理策略;
[0025]第一接收单元,用于接收所述配置设备发送的目标缓存处理策略;其中,所述目标缓存处理策略至少用于对所述历史缓存数据中的至少部分缓存数据进行更新处理;
[0026]第二数据处理单元,用于至少利用所述目标缓存处理策略对所历史缓存数据中的至少部分缓存数据进行处理。
[0027]本发明实施例第六方面提供了配置设备,包括:
[0028]第三信息获取单元,用于获取到服务器发来的目标缓存数据的使用特征信息;
[0029]第三数据处理单元,用于根据所述历史缓存数据的使用特征信息确定针对所述历史缓存数据的目标缓存处理策略;其中,所述目标缓存处理策略至少用于对所述历史缓存数据中的至少部分缓存数据进行更新处理;
[0030]第二发送单元,用于将目标缓存处理策略发送至所述服务器,以使得所述服务器根据所述目标缓存处理策略至少针对所述历史缓存数据进行处理。
[0031]本发明实施例所述的缓存数据处理方法及服务器、配置设备,通过服务器获取历史缓存数据的使用特征信息,根据历史缓存数据的使用特征信息确定目标缓存处理策略,进而至少基于目标缓存处理策略对所述历史缓存数据进行处理。可见,采用本实施例使得目标缓存处理策略是基于历史缓存数据的使用特征信息而生成的,也就是说,所述目标缓存处理策略是根据历史缓存数据的使用特征而动态生成的,如此,本发明实施例能够动态调整服务器中的缓存处理策略,进而实现有针对性地动态地调整针对于历史缓存数据的缓存处理策略的目的。
【附图说明】
[0032]图1为本发明实施例缓存数据处理方法的实现流程示意图一;
[0033]图2为本发明实施例缓存数据处理方法的实现流程示意图二;
[0034]图3a为本发明实施例历史缓存数据分类示意图一;
[0035]图3b为本发明实施例分类的历史缓存数据进行策略生成的场景示意图一;
[0036]图4为本发明实施例分类的历史缓存数据进行策略生成的场景示意图二;
[0037]图5为本发明实施例缓存数据处理方法的实现流程示意图三;
[0038]图6a为本发明实施例历史缓存数据分类示意图二;
[0039]图6b为本发明实施例分类的历史缓存数据进行策略生成的场景示意图三;
[0040]图7为本发明实施例分类的历史缓存数据进行策略生成的场景示意图四;
[0041 ]图8为现有服务器的基本框架示意图;
[0042]图9为本发明实施例具体应用中服务器的基本框架示意图;
[0043]图10为本发明实施例服务器的具体结构示意图;
[0044]图11为本发明实施例服务器与配置设备信息交互的具体结构示意图。
【具体实施方式】
[0045]为了能够更加详尽地了解本发明的特点与技术内容,下面结合附图对本发明的实现进行详细阐述,所附附图仅供参考说明之用,并非用来限定本发明。
[0046]实施例一
[0047]图1为本发明实施例缓存数据处理方法的实现流程示意图一;如图1所示,所述方法包括:
[0048]步骤101:服务器获取历史缓存数据的使用特征信息;
[0049]本实施例中,所述使用特征信息至少包括有历史缓存数据的使用频率;进一步地,所述使用特征信息还可以包括有设置的针对于历史缓存数据的优先级。当然,本领域技术人员应该知晓,在实际应用中,所述使用特征信息可以根据实际需求而任意设置。
[0050]在实际应用中,所述获取历史缓存数据的使用特征信息的步骤可以具体为:
[0051]服务器接收终端发送的业务请求,统计所述业务请求所调用所述历史缓存数据的调用特征信息;基于调用特征信息确定所述历史缓存数据的使用特征信息。
[0052]步骤102:所述服务器根据所述历史缓存数据的使用特征信息确定针对所述历史缓存数据的目标缓存处理策略;
[0053]本实施例中,所述目标缓存处理策略至少用于对所述历史缓存数据中的至少部分缓存数据进行更新处理;也就是说,所述目标缓存处理策略可以具体为针对于所述历史缓存数据中的至少部分缓存数据的处理策略。例如,所述目标缓存处理策略可以为仅针对于满足一定条件的历史缓存数据的处理策略,具体地,所述目标缓存处理策略为仅针对于使用频率大于预设频率的历史缓存数据的处理策略。这样,便于所述服务器仅调整部分历史缓存数据的处理策略,而不满足条件的历史缓存数据维持原有处理策略,因此,满足了动态调整缓存处理策略的需求,提升了服务器的性能;而且,由于可以仅改变部分历史缓存数据的处理策略,所以,能够尽可能地降低服务器的处理负荷,进而实现综合提升服务器的性能的目的。
[0054]在一实施例中,如图2所示,步骤102可以具体包括:
[0055]步骤1021:基于所述历史缓存数据的使用特征信息中的使用频率,将所述历史缓存数据进行分类得到至少两类缓存数据;
[0056]步骤1022:生成针对所述至少两类缓存数据的至少两个缓存处理子策略;
[0057]步骤1023:将所述至少两个缓存处理子策略作为所述目标缓存处理策略;
[0058]对应地,步骤103具体包括:利用所述目标缓存处理策略中包含的至少两个缓存处理子策略,分别对所述至少两类缓存数据进行处理。
[0059]也就是说,所述服务器基于使用特征信息中的使用频率将历史缓存数据进行分类,进而针对每一类缓存数据生成缓存处理子策略。
[0000]下面结合图3a和图3b进行进一步处理说明:
[0061]首先参见图3a,本实施例基于使用特征信息中的使用频率将历史缓存数据进行分类,分为N类,分别为第一类缓存数据、第二类缓存数据以及第N类缓存数据;其中N为大于等于2的正整数。
[0062]进一步地,结合图3b,所述服务器对应生成针对N类缓存数据的缓存处理子策略,分别为针对于所述第一类缓存数据的第一缓存处理子策略,针对于所述第二类缓存数据的第二缓存处理子策略,以及针对于所述第N类缓存数据的第N缓存处理子策略;进而将所述第一缓存处理子策略、第二缓存处理子策略以及所述第N缓存处理子策略作为目标缓存处理策略;这样,使得服务器能够对不同使用频率的历史缓存数据进行分级处理,在满足动态调整缓存处理策略需求的同时,进一步细化了针对于不同类的历史缓存处理的缓存处理子策略,满足了服务器对历史缓存处理策略进行多极化处理的需求,进而为满足互联网中多类型应用场景的需求奠定了实践基础。
[0063]步骤103:至少利用针对所述历史缓存数据的目标缓存处理策略对所述历史缓存数据进行处理,以更新所述服务器对应的历史缓存数据。
[0064]具体地,所述服务器至少利用针对所述历史缓存数据的目标缓存处理策略对所述历史缓存数据中的至少部分缓存数据进行处理。这里,在实际应用中,所述服务器不仅可以利用确定出的目标缓存处理策略对所述服务器的历史缓存数据中的至少部分缓存数据进行处理,还可以对服务器更新后的缓存数据进行处理;具体地,检测所述服务器是否存在更新的缓存数据;当存在更新的缓存数据时,利用所述目标缓存处理策略对更新后的缓存数据进行处理。也就是说,当服务器存在更新的缓存数据时,且针对于更新的缓存数据尚未生成处理策略,或者针对于更新的缓存数据仅有预设缓存处理策略,此时,所述服务器还可以利用已经生成的目标缓存处理策略对更新后的缓存数据进行处理,这样,对于更新后的缓存数据,增加了供服务器选取的处理方式。
[0065]这里,所述预设缓存处理策略可以具体为LRU淘汰算法。
[0066]在另一实施例中,为确保服务器对缓存数据进行更新时依然能够响应终端的业务请求,本实施例中,所述服务器还需要判断自身是否处于目标工作状态;其中,所述目标工作状态表征所述服务器处于至少利用所述目标缓存处理策略对所述目标缓存数据进行处理以更新所述服务器的历史缓存数据所对应的状态;进而确定处于所述目标工作状态时,在更新前的所述服务器对应的历史缓存数据中查找是否存在有与接收到的终端发送的业务请求所对应的目标数据,以对所述业务请求进行响应。
[0067]这样,本发明实施例所述的方法,通过服务器获取历史缓存数据的使用特征信息,根据历史缓存数据的使用特征信息确定目标缓存处理策略,进而至少基于目标缓存处理策略对所述历史缓存数据进行处理,如此,实现更新所述服务器对应的历史缓存数据的目的。这里,由于本发明实施例所述的目标缓存处理策略是基于历史缓存数据的使用特征信息而生成的,也就是说,所述目标缓存处理策略是根据历史缓存数据的使用特征而动态生成的,因此,本发明实施例能够满足服务器动态调整缓存处理策略的需求,进而实现有针对性地动态地调整针对于历史缓存数据的缓存处理策略的目的。
[0068]另外,在本实施例中针对全部的历史缓存数据进行了分类,并且对全部的分类历史缓存数据进行了子处理策略的生成,从而保证了针对全部历史缓存处理策略都能够进行动态调整,对全部历史缓存数据都能够有效管理。
[0069]实施例二
[0070]基于实施例一所述的方法,本实施例中,为避免服务器确定目标缓存处理策略的过程为自身带来过重负荷,所述服务器可以有选择地仅为部分缓存数据制定缓存处理策略;具体地,如图4所示,所述服务器基于所述历史缓存数据的使用特征信息中的使用频率,将所述历史缓存数据分为第一类缓存数据以及第二类缓存数据,其中,所述第一类缓存数据的使用频率高于所述第二类缓存数据的使用频率;例如,所述第一类缓存数据的使用频率高于预设频率,所述第二类缓存数据的使用频率低于预设频率;进而所述服务器针对使用频率较高的所述第一类缓存数据生成目标缓存处理策略,并利用所述目标缓存处理策略对所述第一类缓存数据进行处理。至于使用频率较低的第二类缓存数据,服务器可以利用预设缓存处理策略对所述第二类缓存数据进行处理,以实现对服务器对应的历史缓存数据进行更新的目的。
[0071]这里,值得注意的是,服务器通常以哈希表的形式存储缓存数据,即哈希表表征历史缓存数据对应的关键字,与历史缓存数据所在的地址(也即键值)之间的映射关系。此时,所述服务器可以通过确定历史缓存数据的键值的使用特征信息的方式来确定历史缓存数据的使用特征信息。同理,所述服务器也可以通过对键值进行分类来实现对历史缓存数据的分类的目的。
[0072]这样,本发明实施例所述的方法,通过服务器基于历史缓存数据的使用特征信息,确定针对于所述历史缓存数据的目标缓存处理策略,进而利用所述目标缓存处理策略至少对所述历史缓存数据中的部分缓存数据进行处理,解决了现有无法实时动态调整缓存的淘汰算法冋题。
[0073]进一步地,由于本发明实施例所述的方法能够实时根据历史缓存数据的使用特征信息确定与历史缓存数据对应的目标缓存处理策略,所以,本发明实施例能够应用于启动预热的场景,即根据历史缓存数据的使用频率动态调整处理策略,而无需将配置文件固定于代码中,解决了现有针对于启动预热的场景中无法动态调整缓存处理策略的问题。
[0074]而且,本发明实施例所述的方法,还能够即时对尚未进行预设淘汰算法的历史缓存数据进行处理,例如,当现有历史缓存数据处于生命周期中,且尚未利用预设淘汰算法对其进行处理前,可以利用本发明实施例所述的方法即时调整该情况下的历史缓存数据的处理策略,进而实现即时更新该历史缓存数据的目的。
[0075]实施例三
[0076]图5为本发明实施例缓存数据处理方法的实现流程示意图三;如图5所示,所述方法包括:
[0077]步骤501:服务器获取历史缓存数据的使用特征信息;
[0078]本实施例中,所述使用特征信息至少包括有历史缓存数据的使用频率;进一步地,所述使用特征信息还可以包括有设置的针对于历史缓存数据的优先级。当然,本领域技术人员应该知晓,在实际应用中,所述使用特征信息可以根据实际需求而任意设置。
[0079]在实际应用中,所述获取历史缓存数据的使用特征信息的步骤可以具体为:
[0080]服务器接收终端发送的业务请求,统计所述业务请求所调用所述历史缓存数据的调用特征信息;基于调用特征信息确定所述历史缓存数据的使用特征信息。
[0081]步骤502:所述服务器将所述历史缓存数据的使用特征信息发送至配置设备;
[0082]步骤503:配置设备获取到服务器发来的目标缓存数据的使用特征信息,根据所述历史缓存数据的使用特征信息确定针对所述历史缓存数据的目标缓存处理策略;
[0083]本实施例中,所述目标缓存处理策略至少用于对所述历史缓存数据中的至少部分缓存数据进行更新处理;也就是说,所述目标缓存处理策略可以具体为针对于所述历史缓存数据中的至少部分缓存数据的处理策略。例如,所述目标缓存处理策略可以为仅针对于满足一定条件的历史缓存数据的处理策略,具体地,所述目标缓存处理策略为配置设备确定的仅针对于使用频率大于预设频率的历史缓存数据的处理策略。进而,当所述配置设备将仅针对于使用频率大于预设频率的历史缓存数据的处理策略发送至服务器后,所述服务器可以实现仅针对于使用频率大于预设频率的历史缓存数据进行处理,这样,便于所述服务器仅调整部分历史缓存数据的处理策略,而不满足条件的历史缓存数据维持原有处理策略,因此,满足了动态调整缓存处理策略的需求,提升了服务器的性能。
[0084]步骤504:配置设备将目标缓存处理策略发送至所述服务器;
[0085]本实施例中,所述目标缓存处理策略至少用于对所述历史缓存数据中的至少部分缓存数据进行更新处理;
[0086]步骤505:所述服务器接收所述配置设备发送的目标缓存处理策略,并至少利用所述目标缓存处理策略对所历史缓存数据中的至少部分缓存数据进行处理。
[0087]在一实施例中,所述配置设备基于所述历史缓存数据的使用特征信息中的使用频率,将所述历史缓存数据进行分类得到至少两类缓存数据,并生成针对所述至少两类缓存数据的至少两个缓存处理子策略,将所述至少两个缓存处理子策略作为所述目标缓存处理策略。
[0088]下面结合图6a和图6b进行进一步处理说明:
[0089]首先参见图6a,本实施例通过所述配置设备基于所述服务器发送的使用特征信息中的使用频率将历史缓存数据进行分类,分为N类,分别为第一类缓存数据、第二类缓存数据以及第N类缓存数据;其中N为大于等于2的正整数。
[0090]进一步地,参见图6b,所述配置设备对应生成针对N类缓存数据的缓存处理子策略,分别为针对于所述第一类缓存数据的第一缓存处理子策略,针对于所述第二类缓存数据的第二缓存处理子策略,以及针对于所述第N类缓存数据的第N缓存处理子策略;进而所述配置设备将所述第一缓存处理子策略、第二缓存处理子策略以及所述第N缓存处理子策略作为目标缓存处理策略,并发送至所述服务器。对应的,所述服务器基于目标缓存处理策略所对应的至少两个缓存处理子策略,对所述历史缓存数据进行分类得到至少两类缓存数据,进而利用所述目标缓存处理策略中包含的至少两个缓存处理子策略,分别对所述至少两类缓存数据进行处理。
[0091]在实际应用中,所述服务器不仅可以利用配置设备确定出的目标缓存处理策略对所述服务器的历史缓存数据中的至少部分缓存数据进行处理,还可以对服务器更新后的缓存数据进行处理;具体地,所述服务器检测自身是否存在更新的缓存数据;当存在更新的缓存数据时,利用所述目标缓存处理策略对更新后的缓存数据进行处理。也就是说,当服务器存在更新的缓存数据时,且针对于更新的缓存数据尚未生成处理策略,或者针对于更新的缓存数据仅有预设缓存处理策略,此时,所述服务器还可以利用已经生成的目标缓存处理策略对更新后的缓存数据进行处理,这样,对于更新后的缓存数据,增加了供服务器选取的处理方式。
[0092]这里,所述预设缓存处理策略可以具体为LRU淘汰算法。
[0093]在另一实施例中,为确保服务器对缓存数据进行更新时依然能够响应终端的业务请求,本实施例中,所述服务器还需要判断自身是否处于目标工作状态;其中,所述目标工作状态表征所述服务器处于至少利用所述目标缓存处理策略对所述目标缓存数据进行处理以更新所述服务器的历史缓存数据所对应的状态;进而确定处于所述目标工作状态时,在更新前的所述服务器对应的历史缓存数据中查找是否存在有与接收到的终端发送的业务请求所对应的目标数据,以对所述业务请求进行响应。
[0094]在一实施例中,为有针对性的调整服务器的历史缓存数据的处理策略,如图7所示,所述配置设备可以具体基于所述历史缓存数据的使用特征信息中的使用频率,将所述历史缓存数据分为第一类缓存数据以及第二类缓存数据,其中,所述第一类缓存数据的使用频率高于所述第二类缓存数据的使用频率;例如,所述第一类缓存数据的使用频率高于预设频率,所述第二类缓存数据的使用频率低于预设频率;进而所述配置设备针对所述第一类缓存数据生成目标缓存处理策略,并将所述目标缓存处理策略发送至服务器。对应的,所述服务器基于所述历史缓存数据的使用特征信息中的使用频率,也即基于所述配置设备生成的目标缓存处理策略,将所述历史缓存数据分为第一类缓存数据以及第二类缓存数据,以使所述第一类缓存数据的使用频率高于所述第二类缓存数据的使用频率;进而所述服务器利用接收到的所述配置设备生成的所述目标缓存处理策略对所述第一类缓存数据进行处理,以实现对服务器对应的历史缓存数据进行更新的目的。这里,至于使用频率较低的第二类缓存数据,所述服务器可以利用预设缓存处理策略对所述第二类缓存数据进行处理。
[0095]在实际应用中,所述配置设备还可以根据用户需求有针对性地获取用户设置的所述服务器对应的历史缓存数据以外的其他缓存数据,进而获取用户设置的针对于该其他缓存数据的目标缓存处理策略,并将该其他缓存数据以及对应于该其他缓存数据的目标缓存处理策略告知服务器,以使服务器新增该其他缓存数据,并利用针对于该其他缓存数据的目标缓存处理策略处理该其他缓存数据。
[0096]这里,值得注意的是,服务器通常以哈希表的形式存储缓存数据,即哈希表表征历史缓存数据对应的关键字,与历史缓存数据所在的地址(也即键值)之间的映射关系。此时,所述服务器可以通过确定历史缓存数据的键值的使用特征信息的方式来确定历史缓存数据的使用特征信息。同理,所述服务器也可以将键值发送至配置设备,进而使得所述配置设备对键值进行分类来实现对历史缓存数据的分类的目的。
[0097]这样,本发明实施例所述的方法,通过服务器获取历史缓存数据的使用特征信息,将所述历史缓存数据的使用特征信息发送至配置设备,进而通过所述配置设备根据所述历史缓存数据的使用特征信息确定针对所述历史缓存数据的目标缓存处理策略,并将确定出的所述目标缓存处理策略反馈至所述服务器,以使得所述服务器根据所述目标缓存处理策略至少针对所述历史缓存数据进行处理。这里,由于本发明实施例所述的目标缓存处理策略是基于历史缓存数据的使用特征信息而生成的,也就是说,所述目标缓存处理策略是根据历史缓存数据的使用特征而动态生成的,因此,本发明实施例能够满足服务器动态调整缓存处理策略的需求,进而实现有针对性地动态地调整针对于历史缓存数据的缓存处理策略的目的。进一步,由于本发明实施例所述的目标缓存处理策略是服务器以外的其他设备,即配置设备生成的,所以,本发明实施例所述的方法能够在不改变服务器负荷的前提下,实现动态调整历史缓存数据的缓存处理策略的目的。
[0098]进一步地,由于本发明实施例所述的方法能够实时根据历史缓存数据的使用特征信息确定与历史缓存数据对应的目标缓存处理策略,所以,本发明实施例能够应用于启动预热的场景,即根据历史缓存数据的使用频率动态调整处理策略,而无需将配置文件固定于代码中,解决了现有针对于启动预热的场景中无法动态调整缓存处理策略的问题。
[0099]而且,本发明实施例所述的方法,还能够即时对尚未进行预设淘汰算法的历史缓存数据进行处理,例如,当现有历史缓存数据处于生命周期中,且尚未利用预设淘汰算法对其进行处理前,可以利用本发明实施例所述的方法即时调整该情况下的历史缓存数据的处理策略,进而实现即时更新该历史缓存数据的目的。
[0100]这里,由于内存空间有限,对于一些场景,可能存在高频的键值,即使用频率较高的历史缓存数据对应的键值,且当该类键值对应的数据量较大、在内存空间中不存在对应的数据(此类键值称为高频穿透键值)时,如果使用现有方式穿透服务器对应的数据层去获取数据,则会为服务器带来压力;而使用本发明实施例所述的方法,可以使服务器向配置设备去获取该类键值对应的数据,进而避免了穿透服务器对应的数据层去获取数据而为服务器带来负荷的问题,减少了高频穿透键值对后台数据服务器的请求,减少了服务器的负载。
[0101]以下通过具体对比场景,对本发明实施例做进一步详细说明:
[0102]场景一:现有服务器的基本架构,如图8所示,用户通过Web浏览器或者终端后台通过传输控制协议(TCP,Transmiss1n Control Protocol)/用户数据报协议(UDP,UserDatagram Protocol)的方式向服务器发送业务请求;所述服务器后台判断与业务请求对应的缓存是否命中,如果命中,则所述服务器中的缓存层直接响应;否则,所述服务器中的缓存层穿透到数据层,由数据层对请求进行响应,响应后,缓存层会对响应内容进行缓存,同时返回给请求端,即终端。
[0103]场景二:基于上述应用场景下的服务器,本发明实施例通过在缓存层设置缓存动态调整装置以及缓存配置装置(也即本发明实施例所述的配置设备)的方式,实现动态调整缓存处理策略的目的;这里,所述缓存动态调整装置植入缓存层,用于实时或者定时收集历史缓存数据的缓存键值的使用情况;所述缓存配置装置植入所述缓存层,或者置于服务器外部;具体地,如图9所示,以缓存配置装置设置于服务器外部为例;所述缓存动态调整装置将收集到的缓存键值的使用情况上报给所述缓存配置装置,例如,将缓存键值命中率与未命中率上报至所述缓存配置装置;对应地,所述缓存配置装置存储所述缓存动态调整装置上报的针对于缓存键值命中率与未命中率的数据,同时离线计算(离线计算的频率可以自主设置)针对于缓存键值命中率与未命中率的缓存数据的目标缓存处理策略,并将计算出的针对于高频缓存键值的目标缓存处理策略推送至所述缓存动态调整装置,以使服务器基于高频缓存键值的目标缓存处理策略,对高频缓存键值对应的缓存数据进行处理。这里,所述缓存配置装置还可以获取管理员配置的增/删的缓存键值,并将增/删的缓存键值推送至服务器,实现动态推送高频缓存键值、动态推送强制更新或者删除的缓存键值的目的。
[0104]这里,在服务器利用缓存配置装置推送的目标缓存处理策略更新缓存的过程中,当存在终端发送的业务请求时,所述服务器利用内存中缓存的更新前的缓存键值响应业务请求,以确保业务请求不间断。进一步地,当缓存数据更新完毕后,所述服务器进行缓存键值的更新替换。同时,同时为防止缓存层的缓存键值无限增长,对于高频缓存键值和管理员配置的缓存键值之外的其他缓存键值以LRU淘汰算法进行更新处理。
[0105]在实际应用中,所述缓存配置装置的离线计算可以针对一天/一小时的数据进行统计,并通过自主研发的缓存淘汰算法或者开源淘汰算法进行计算,进而输出高频和高穿透(如缓存无数据,存储也无数据)的缓存键值。所述缓存配置装置向所述缓存动态调整装置进行推送的过程可以通过分布式应用程序zookeeper,实时推送离线分析出的和后台手工配置的缓存键值。所述缓存动态调整装置可以基于guava cache将普通缓存键值(也即低频缓存键值)与高频缓存键值和管理员配置的增/删的缓存键值进行隔离;利用LRU淘汰算法对普通缓存键值进行处理,利用缓存配置装置推送的目标缓存处理策略对高频缓存键值和管理员配置的增/删的缓存键值进行处理。
[0106]这样,对于交友平台热门房间的场景,利用本发明实施例能够定时计算出热门房间,且由于热门房间量级不大,所以可以将热门房间对应的数据缓存在服务器本地,基于热门房间的时效性,通过缓存动态调整装置定期失效热门房间的键值,进而通过主动刷新热门房间的键值来实现动态管理热门房间的目的。
[0107]实施例四
[0108]本发明实施例提供了一种服务器,如图10所示,所述服务器包括:
[0109]第一信息获取单元1001,用于获取历史缓存数据的使用特征信息;其中,所述使用特征信息至少包括有历史缓存数据的使用频率;
[0110]第一策略确定单元1002,用于根据所述历史缓存数据的使用特征信息确定针对所述历史缓存数据的目标缓存处理策略;其中,所述目标缓存处理策略至少用于对所述历史缓存数据中的至少部分缓存数据进行更新处理;
[0111]第一数据处理单元1003,用于至少利用针对所述历史缓存数据的目标缓存处理策略对所述历史缓存数据进行处理,以更新所述服务器对应的历史缓存数据。
[0112]在一实施例中,所述第一策略确定单元1002,还用于基于所述历史缓存数据的使用特征信息中的使用频率,将所述历史缓存数据进行分类得到至少两类缓存数据;生成针对所述至少两类缓存数据的至少两个缓存处理子策略;将所述至少两个缓存处理子策略作为所述目标缓存处理策略;
[0113]对应地,所述第一数据处理单元1003,还用于利用所述目标缓存处理策略中包含的至少两个缓存处理子策略,分别对所述至少两类缓存数据进行处理。
[0114]在一实施例中,所述第一策略确定单元1002,还用于基于所述历史缓存数据的使用特征信息中的使用频率,将所述历史缓存数据分为第一类缓存数据以及第二类缓存数据,针对所述第一类缓存数据生成目标缓存处理策略;其中,所述第一类缓存数据的使用频率高于所述第二类缓存数据的使用频率;
[0115]对应地,所述第一数据处理单元1003,还用于利用所述目标缓存处理策略对所述第一类缓存数据进行处理。
[0116]在一实施例中,所述第一数据处理单元1003,还用于利用预设缓存处理策略对所述第二类缓存数据进行处理。
[0117]在另一实施例中,所述第一数据处理单元1003,还用于检测所述服务器是否存在更新的缓存数据;当存在更新的缓存数据时,利用所述目标缓存处理策略对更新后的缓存数据进行处理。
[0118]这里需要指出的是:以上服务器实施例项的描述,与上述实施例一或实施例二所述的方法描述是类似的,具有同方法实施例相同的有益效果,因此不做赘述。对于本发明服务器实施例中未披露的技术细节,本领域的技术人员请参照本发明方法实施例一或实施例二的描述而理解,为节约篇幅,这里不再赘述。
[0119]实施例五
[0120]本发明实施例还提供了一种服务器以及配置设备,如图11所示,所述服务器包括:[0121 ]第二信息获取单元1101,用于获取历史缓存数据的使用特征信息;其中,所述使用特征信息至少包括有历史缓存数据的使用频率;
[0122]第一发送单元1102,用于将所述历史缓存数据的使用特征信息发送至配置设备,以使所述配置设备根据所述历史缓存数据的使用特征信息生成目标缓存处理策略;
[0123]第一接收单元1103,用于接收所述配置设备发送的目标缓存处理策略;其中,所述目标缓存处理策略至少用于对所述历史缓存数据中的至少部分缓存数据进行更新处理;
[0124]第二数据处理单元1104,用于至少利用所述目标缓存处理策略对所历史缓存数据中的至少部分缓存数据进行处理。
[0125]在一实施例中,所述第二数据处理单元1104,还用于将所述历史缓存数据进行分类得到至少两类缓存数据;利用所述目标缓存处理策略中包含的至少两个缓存处理子策略,分别对所述至少两类缓存数据进行处理。
[0126]在一实施例中,所述第二数据处理单元1104,还用于基于所述历史缓存数据的使用特征信息中的使用频率,将所述历史缓存数据分为第一类缓存数据以及第二类缓存数据;利用所述目标缓存处理策略对所述第一类缓存数据进行处理;其中,所述第一类缓存数据的使用频率高于所述第二类缓存数据的使用频率。
[0127]在一实施例中,所述第二数据处理单元1104,还用于利用预设缓存处理策略对所述第一类缓存数据进行处理。
[0128]在一实施例中,所述第二数据处理单元1104,还用于检测所述服务器是否存在更新的缓存数据;当存在更新的缓存数据时,利用所述目标缓存处理策略对更新后的缓存数据进行处理。
[0129]进一步地,如图11所示,所述配置设备包括:
[0130]第三信息获取单元1201,用于获取到服务器发来的目标缓存数据的使用特征信息;
[0131]第三数据处理单元1202,用于根据所述历史缓存数据的使用特征信息确定针对所述历史缓存数据的目标缓存处理策略;其中,所述目标缓存处理策略至少用于对所述历史缓存数据中的至少部分缓存数据进行更新处理;
[0132]第二发送单元1203,用于将目标缓存处理策略发送至所述服务器,以使得所述服务器根据所述目标缓存处理策略至少针对所述历史缓存数据进行处理。
[0133]在一实施例中,所述第三数据处理单元1202,还用于基于所述历史缓存数据的使用特征信息中的使用频率,将所述历史缓存数据进行分类得到至少两类缓存数据;生成针对所述至少两类缓存数据的至少两个缓存处理子策略;将所述至少两个缓存处理子策略作为所述目标缓存处理策略。
[0134]在一实施例中,所述第三数据处理单元1202,还用于基于所述历史缓存数据的使用特征信息中的使用频率,将所述历史缓存数据分为第一类缓存数据以及第二类缓存数据,针对所述第一类缓存数据生成目标缓存处理策略;其中,所述第一类缓存数据的使用频率高于所述第二类缓存数据的使用频率。
[0135]这里需要指出的是:以上服务器以及配置设备实施例项的描述,与上述实施例三所述的方法描述是类似的,具有同方法实施例相同的有益效果,因此不做赘述。对于本发明服务器实施例中未披露的技术细节,本领域的技术人员请参照本发明方法实施例三的描述而理解,为节约篇幅,这里不再赘述。
[0136]在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。
[0137]上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元,即可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。
[0138]另外,在本发明各实施例中的各功能单元可以全部集成在一个处理单元中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
[0139]本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、只读存储器(R0M,Read Only Memory)、随机存取存储器(RAM ,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
[0140]或者,本发明上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本发明各个实施例所述方法的全部或部分。而前述的存储介质包括:移动存储设备、只读存储器(ROM,Read Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
[0141]以上所述,仅为本发明的【具体实施方式】,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
【主权项】
1.一种缓存数据处理方法,其特征在于,所述方法包括: 服务器获取历史缓存数据的使用特征信息;其中,所述使用特征信息至少包括有历史缓存数据的使用频率; 所述服务器根据所述历史缓存数据的使用特征信息确定针对所述历史缓存数据的目标缓存处理策略;其中,所述目标缓存处理策略至少用于对所述历史缓存数据中的至少部分缓存数据进行更新处理; 至少利用针对所述历史缓存数据的目标缓存处理策略对所述历史缓存数据进行处理,以更新所述服务器对应的历史缓存数据。2.根据权利要求1所述的方法,其特征在于,所述服务器根据所述历史缓存数据的使用特征信息确定针对所述历史缓存数据的目标缓存处理策略,包括: 基于所述历史缓存数据的使用特征信息中的使用频率,将所述历史缓存数据进行分类得到至少两类缓存数据; 生成针对所述至少两类缓存数据的至少两个缓存处理子策略; 将所述至少两个缓存处理子策略作为所述目标缓存处理策略; 对应地,所述至少利用针对所述历史缓存数据的目标缓存处理策略对所述历史缓存数据进行处理,包括: 利用所述目标缓存处理策略中包含的至少两个缓存处理子策略,分别对所述至少两类缓存数据进行处理。3.根据权利要求1所述的方法,其特征在于,所述服务器根据所述历史缓存数据的使用特征信息确定针对所述历史缓存数据的目标缓存处理策略,包括: 基于所述历史缓存数据的使用特征信息中的使用频率,将所述历史缓存数据分为第一类缓存数据以及第二类缓存数据,其中,所述第一类缓存数据的使用频率高于所述第二类缓存数据的使用频率; 针对所述第一类缓存数据生成目标缓存处理策略; 对应地,所述至少利用针对所述历史缓存数据的目标缓存处理策略对所述历史缓存数据进行处理,包括: 利用所述目标缓存处理策略对所述第一类缓存数据进行处理。4.根据权利要求3所述的方法,其特征在于,所述方法包括: 利用预设缓存处理策略对所述第二类缓存数据进行处理。5.根据权利要求1所述的方法,其特征在于,所述方法还包括: 检测所述服务器是否存在更新的缓存数据; 当存在更新的缓存数据时,利用所述目标缓存处理策略对更新后的缓存数据进行处理。6.一种缓存数据处理方法,其特征在于,所述方法包括: 服务器获取历史缓存数据的使用特征信息;其中,所述使用特征信息至少包括有历史缓存数据的使用频率; 所述服务器将所述历史缓存数据的使用特征信息发送至配置设备,以使所述配置设备根据所述历史缓存数据的使用特征信息生成目标缓存处理策略; 接收所述配置设备发送的目标缓存处理策略;其中,所述目标缓存处理策略至少用于对所述历史缓存数据中的至少部分缓存数据进行更新处理; 至少利用所述目标缓存处理策略对所历史缓存数据中的至少部分缓存数据进行处理。7.根据权利要求6所述的方法,其特征在于,所述方法还包括:将所述历史缓存数据进行分类得到至少两类缓存数据; 对应地,所述至少利用针对所述历史缓存数据的目标缓存处理策略对所述历史缓存数据进行处理,包括: 利用所述目标缓存处理策略中包含的至少两个缓存处理子策略,分别对所述至少两类缓存数据进行处理。8.根据权利要求6所述的方法,其特征在于,所述方法还包括:基于所述历史缓存数据的使用特征信息中的使用频率,将所述历史缓存数据分为第一类缓存数据以及第二类缓存数据,其中,所述第一类缓存数据的使用频率高于所述第二类缓存数据的使用频率; 对应地,所述至少利用针对所述历史缓存数据的目标缓存处理策略对所述历史缓存数据进行处理,包括: 利用所述目标缓存处理策略对所述第一类缓存数据进行处理。9.根据权利要求8所述的方法,其特征在于,所述方法还包括: 利用预设缓存处理策略对所述第一类缓存数据进行处理。10.根据权利要求6所述的方法,其特征在于,所述方法还包括: 检测所述服务器是否存在更新的缓存数据; 当存在更新的缓存数据时,利用所述目标缓存处理策略对更新后的缓存数据进行处理。11.一种缓存数据处理方法,其特征在于,所述方法包括: 配置设备获取到服务器发来的目标缓存数据的使用特征信息; 根据所述历史缓存数据的使用特征信息确定针对所述历史缓存数据的目标缓存处理策略;其中,所述目标缓存处理策略至少用于对所述历史缓存数据中的至少部分缓存数据进行更新处理; 将目标缓存处理策略发送至所述服务器,以使得所述服务器根据所述目标缓存处理策略至少针对所述历史缓存数据进行处理。12.根据权利要求11所述的方法,其特征在于,所述根据所述历史缓存数据的使用特征信息确定针对所述历史缓存数据的目标缓存处理策略,包括: 基于所述历史缓存数据的使用特征信息中的使用频率,将所述历史缓存数据进行分类得到至少两类缓存数据; 生成针对所述至少两类缓存数据的至少两个缓存处理子策略; 将所述至少两个缓存处理子策略作为所述目标缓存处理策略。13.根据权利要求11或12所述的方法,其特征在于,所述根据所述历史缓存数据的使用特征信息确定针对所述历史缓存数据的目标缓存处理策略,包括: 基于所述历史缓存数据的使用特征信息中的使用频率,将所述历史缓存数据分为第一类缓存数据以及第二类缓存数据,其中,所述第一类缓存数据的使用频率高于所述第二类缓存数据的使用频率; 针对所述第一类缓存数据生成目标缓存处理策略。14.一种服务器,其特征在于,所述服务器包括: 第一信息获取单元,用于获取历史缓存数据的使用特征信息;其中,所述使用特征信息至少包括有历史缓存数据的使用频率; 第一策略确定单元,用于根据所述历史缓存数据的使用特征信息确定针对所述历史缓存数据的目标缓存处理策略;其中,所述目标缓存处理策略至少用于对所述历史缓存数据中的至少部分缓存数据进行更新处理; 第一数据处理单元,用于至少利用针对所述历史缓存数据的目标缓存处理策略对所述历史缓存数据进行处理,以更新所述服务器对应的历史缓存数据。15.根据权利要求14所述的服务器,其特征在于,所述第一策略确定单元,还用于基于所述历史缓存数据的使用特征信息中的使用频率,将所述历史缓存数据进行分类得到至少两类缓存数据;生成针对所述至少两类缓存数据的至少两个缓存处理子策略;将所述至少两个缓存处理子策略作为所述目标缓存处理策略; 对应地,所述第一数据处理单元,还用于利用所述目标缓存处理策略中包含的至少两个缓存处理子策略,分别对所述至少两类缓存数据进行处理。16.根据权利要求14所述的服务器,其特征在于,所述第一策略确定单元,还用于基于所述历史缓存数据的使用特征信息中的使用频率,将所述历史缓存数据分为第一类缓存数据以及第二类缓存数据,针对所述第一类缓存数据生成目标缓存处理策略;其中,所述第一类缓存数据的使用频率高于所述第二类缓存数据的使用频率; 对应地,所述第一数据处理单元,还用于利用所述目标缓存处理策略对所述第一类缓存数据进行处理。17.根据权利要求16所述的服务器,其特征在于,所述第一数据处理单元,还用于利用预设缓存处理策略对所述第二类缓存数据进行处理。18.根据权利要求14所述的服务器,其特征在于,所述第一数据处理单元,还用于检测所述服务器是否存在更新的缓存数据;当存在更新的缓存数据时,利用所述目标缓存处理策略对更新后的缓存数据进行处理。19.一种服务器,其特征在于,所述服务器包括: 第二信息获取单元,用于获取历史缓存数据的使用特征信息;其中,所述使用特征信息至少包括有历史缓存数据的使用频率; 第一发送单元,用于将所述历史缓存数据的使用特征信息发送至配置设备,以使所述配置设备根据所述历史缓存数据的使用特征信息生成目标缓存处理策略; 第一接收单元,用于接收所述配置设备发送的目标缓存处理策略;其中,所述目标缓存处理策略至少用于对所述历史缓存数据中的至少部分缓存数据进行更新处理; 第二数据处理单元,用于至少利用所述目标缓存处理策略对所历史缓存数据中的至少部分缓存数据进行处理。20.根据权利要求19所述的服务器,其特征在于,所述第二数据处理单元,还用于将所述历史缓存数据进行分类得到至少两类缓存数据;利用所述目标缓存处理策略中包含的至少两个缓存处理子策略,分别对所述至少两类缓存数据进行处理。21.根据权利要求19所述的服务器,其特征在于,所述第二数据处理单元,还用于基于所述历史缓存数据的使用特征信息中的使用频率,将所述历史缓存数据分为第一类缓存数据以及第二类缓存数据;利用所述目标缓存处理策略对所述第一类缓存数据进行处理;其中,所述第一类缓存数据的使用频率高于所述第二类缓存数据的使用频率。22.根据权利要求21所述的服务器,其特征在于,所述第二数据处理单元,还用于利用预设缓存处理策略对所述第一类缓存数据进行处理。23.根据权利要求19所述的服务器,其特征在于,所述第二数据处理单元,还用于检测所述服务器是否存在更新的缓存数据;当存在更新的缓存数据时,利用所述目标缓存处理策略对更新后的缓存数据进行处理。24.一种配置设备,其特征在于,所述配置设备包括: 第三信息获取单元,用于获取到服务器发来的目标缓存数据的使用特征信息; 第三数据处理单元,用于根据所述历史缓存数据的使用特征信息确定针对所述历史缓存数据的目标缓存处理策略;其中,所述目标缓存处理策略至少用于对所述历史缓存数据中的至少部分缓存数据进行更新处理; 第二发送单元,用于将目标缓存处理策略发送至所述服务器,以使得所述服务器根据所述目标缓存处理策略至少针对所述历史缓存数据进行处理。25.根据权利要求24所述的配置设备,其特征在于,所述第三数据处理单元,还用于基于所述历史缓存数据的使用特征信息中的使用频率,将所述历史缓存数据进行分类得到至少两类缓存数据;生成针对所述至少两类缓存数据的至少两个缓存处理子策略;将所述至少两个缓存处理子策略作为所述目标缓存处理策略。26.根据权利要求23或24所述的配置设备,其特征在于,所述第三数据处理单元,还用于基于所述历史缓存数据的使用特征信息中的使用频率,将所述历史缓存数据分为第一类缓存数据以及第二类缓存数据,针对所述第一类缓存数据生成目标缓存处理策略;其中,所述第一类缓存数据的使用频率高于所述第二类缓存数据的使用频率。
【文档编号】G06F12/08GK106021126SQ201610378372
【公开日】2016年10月12日
【申请日】2016年5月31日
【发明人】王佳
【申请人】腾讯科技(深圳)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1