CN105573838B - 缓存健康度检测方法及装置 - Google Patents

缓存健康度检测方法及装置 Download PDF

Info

Publication number
CN105573838B
CN105573838B CN201410541399.4A CN201410541399A CN105573838B CN 105573838 B CN105573838 B CN 105573838B CN 201410541399 A CN201410541399 A CN 201410541399A CN 105573838 B CN105573838 B CN 105573838B
Authority
CN
China
Prior art keywords
load
server
cache
sampling
data
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
CN201410541399.4A
Other languages
English (en)
Other versions
CN105573838A (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.)
Advanced New Technologies Co Ltd
Advantageous New Technologies Co Ltd
Original Assignee
Advanced New Technologies 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 Advanced New Technologies Co Ltd filed Critical Advanced New Technologies Co Ltd
Priority to CN201410541399.4A priority Critical patent/CN105573838B/zh
Publication of CN105573838A publication Critical patent/CN105573838A/zh
Application granted granted Critical
Publication of CN105573838B publication Critical patent/CN105573838B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Abstract

本发明提供一种缓存健康度检测方法及装置,所述方法包括:每一预设周期,若服务器未处于满负载状态,则在服务器的访问请求中抽取至少一个作为抽样请求;将抽样请求通过异步线程查询服务器的数据库和缓存中的数据,得到相对应的原始数据和缓存数据;比对上述缓存数据和原始数据,并根据比对结果判断缓存健康度。本发明的缓存健康度检测方法及装置,在高并发查询请求且不改变系统整体负载的前提下,可实时的进行抽样,并根据抽样请求获取数据库和缓存中的数据,以判断缓存的健康度,如此,即可在缓存和数据库中数据不一致时,即时发现问题。

Description

缓存健康度检测方法及装置
技术领域
本发明涉及计算机领域,尤其是涉及一种缓存健康度检测方法及装置。
背景技术
分布式缓存在当今互联网中有着广泛的运用。常见的分布式缓存,如:Redis,Memcache,Tair等,在对于并发查询压力较大的应用场景,分布式缓存发挥了极其重要的作用。但是,在一些对缓存一致性要求特别高的场合,如:用户在支付宝的账务流水交易记录等场景中,如果缓存的数据与实际不一致,会导致用户从缓存中返回的查询数据不完整或不准确,从而引起用户的疑惑或用户投诉等。
目前,通常在更新缓存和数据库时,仅仅从保存缓存和数据库的源头保证数据的一致性来保证两者更新完全一致。相应的,当缓存操作失败,采用数据库对应的本地事务回滚来解决缓存与数据库一致性的问题。然而,该种方式在出现不可预见因素时,无法保证缓存与数据库的数据一致性。例如:缓存服务器意外重启或者缓存数据被意外踢出等情况,都会使得查询请求从缓存中得到的数据不完整或与实际数据存在一定差异,此种差异的出现对缓存一致性要求很高的应用场合,是无法接受的。
然而,现有技术无法对缓存健康度做有效地实时监控,进而当出现类似上述不可预见因素发生时,无法及时解决发现问题,导致整个系统出错概率很高,严重影响用户使用。
发明内容
本发明的目的之一在于提供一种缓存健康度检测方法及装置。
为实现上述发明目的之一,本发明一实施方式提供了一种缓存健康度检测方法,其包括:
每一预设周期,若服务器未处于满负载状态,则在服务器的访问请求中抽取至少一个作为抽样请求;
将抽样请求通过异步线程查询服务器的数据库和缓存中的数据,得到相对应的原始数据和缓存数据;
比对上述缓存数据和原始数据,并根据比对结果判断缓存健康度。
作为本发明一实施方式的进一步改进,所述“每一预设周期,若服务器未处于满负载状态,则在服务器的访问请求中抽取至少一个作为抽样请求”具体包括:
每一预设周期,根据所述服务器的负载获取对应所述负载的抽样比例,并根据所述抽样比例以及访问的请求数量计算抽样请求的数量;其中,服务器负载越高,抽样比例越低;服务器负载越低,抽样比例越高。
作为本发明一实施方式的进一步改进,抽样请求的数量=所述抽样比例*访问请求的数量;
所述抽样比例=1-服务器当前负载百分比,若所述服务器当前负载百分比大于或等于1,则表示所述服务器处于满负载状态,不进行抽样。
作为本发明一实施方式的进一步改进,所述服务器的当前负载百分比=R1*CPU负载+R2*内存负载+R3*IO负载+R4*网络负载,其中,R1、R2、R3、R4为相应参数的权重值,所述R1>R2>R3。
作为本发明一实施方式的进一步改进,所述CPU负载为:服务器当前的CPU负载/(服务器的CPU核数*单核CPU的负载基准值);
所述内存负载为:服务器当前的内存负载/内存的负载基准值;
所述IO负载为:服务器当前的IO负载/IO的负载基准值;
所述网络负载为:服务器当前的网络负载/网络的负载基准值。
作为本发明一实施方式的进一步改进,所述方法还包括:
若所述缓存数据和所述原始数据相同,则表示缓存健康度良好;
若所述缓存数据和所述原始数据不相同,则依据所述原始数据更新所述缓存数据。
为实现上述发明目的之一,本发明一实施方式提供了一种缓存健康度检测装置,其包括:
抽样模块,用于在每一预设周期,若服务器未处于满负载状态,则在服务器的访问请求中抽取至少一个作为抽样请求;
查询模块,用于将抽样请求通过异步线程查询服务器的数据库和缓存中的数据,得到相对应的原始数据和缓存数据;
比对模块,用于比对上述缓存数据和原始数据,并根据比对结果判断缓存健康度。
作为本发明一实施方式的进一步改进,所述抽样模块用于:每一预设周期,根据所述服务器的负载获取对应所述负载的抽样比例,并根据所述抽样比例以及访问请求的数量计算抽样请求的数量;其中,服务器负载越高,抽样比例越低;服务器负载越低,抽样比例越高。
作为本发明一实施方式的进一步改进,抽样请求的数量=所述抽样比例*访问请求的数量;
所述抽样比例=1-服务器当前负载百分比,若所述服务器当前负载百分比大于或等于1,则表示所述服务器处于满负载状态,不进行抽样。
作为本发明一实施方式的进一步改进,所述服务器的当前负载百分比=R1*CPU负载+R2*内存负载+R3*IO负载+R4*网络负载,其中,R1、R2、R3、R4为相应参数的权重值,所述R1>R2>R3。
作为本发明一实施方式的进一步改进,所述CPU负载为:服务器当前的CPU负载/(服务器的CPU核数*单核CPU的负载基准值);
所述内存负载为:服务器当前的内存负载/内存的负载基准值;
所述IO负载为:服务器当前的IO负载/IO的负载基准值;
所述网络负载为:服务器当前的网络负载/网络的负载基准值。
作为本发明一实施方式的进一步改进,所述比对模块还用于判断所述缓存数据和所述原始数据是否相同,
若所述缓存数据和所述原始数据相同,则表示缓存健康度良好;
若所述缓存数据和所述原始数据不相同,则依据所述原始数据更新所述缓存数据。
与现有技术相比,本发明的有益效果是:本发明的缓存健康度检测方法及装置,在高并发查询请求且不改变系统整体负载的前提下,可实时的进行抽样,并根据抽样请求获取数据库和缓存中的数据,以判断缓存的健康度,如此,即可在缓存和数据库中数据不一致时,即时发现问题。
附图说明
图1是本发明一实施方式中缓存健康度检测方法的流程图;
图2是本发明一实施方式中影响服务器当前负载百分比的各种主要的参数列表;
图3是本发明一实施方式的缓存健康度检测装置的模块图。
具体实施方式
以下将结合附图所示的各实施方式对本发明进行详细描述。但这些实施方式并不限制本发明,本领域的普通技术人员根据这些实施方式所轻易做出的结构、方法、或功能上的变换均包含在本发明的保护范围内。
一般地,缓存是将数据以key-value的形式存储在相对较高访问速度存储介质的Hash表中,以便于在查询数据时,只需要从存储介质中根据Key获取对应的Value。存储于缓存中的数据具有访问速度快、数据易丢失等特点。
所述健康度指缓存中的数据与实际数据库的数据一致性的比例。当缓存中的数据与实际数据库的数据完全一致时,则健康度为百分之百,相应的,所述缓存的健康度是衡量缓存数据有效性的重要指标。
如图1所示,在本发明一实施方式中,所述缓存健康度检测方法包括:
每一预设周期,若服务器未处于满负载状态,则在服务器的访问请求中抽取至少一个作为抽样请求。
优选的,可动态获取服务器当前负载下合理的抽样比例。在服务器集群环境下,每台服务器的负载和内存占用都是各不相同的,因此,需要一种集群动态分配策略将抽样请求按照负载的不同分布到不同的服务器上。如:若某一服务器当前负载很高,则这台服务器当前可能不会分配到抽样请求,而当前负载较低的服务器就会分配到较多的抽样请求,以实现对服务器资源充分利用,且这种基于负载的抽样不会影响到服务器的整体性能,实现资源的最大化利用和功能最大化。
相应的,在本发明一实施方式中,可动态地获取服务器当前合理的抽样比例,并根据抽样比例随机抽取访问请求中特定的请求作为健康度抽样请求。
具体的,每一预设周期,根据所述服务器的负载获取对应所述负载的抽样比例,并根据所述抽样比例以及访问请求的数量计算抽样请求的数量;其中,服务器负载越高,抽样比例越低;服务器负载越低,抽样比例越高。
进一步的,抽样请求的数量=所述抽样比例*访问请求的数量;
所述抽样比例=1-服务器当前负载百分比,若所述服务器当前负载百分比大于或等于1,则表示所述服务器处于超负载或满负载状态,则不对该服务器进行抽样。
优选的,结合参照图2所示,本实施方式中,服务器是处于Linux环境下,影响服务器当前负载百分比的各种主要的资源所对应用的程序主要考虑以下几个参数。
CPU运算速度,即当前CPU的负载;内存的占有率,即内存负载;系统IO速度,即IO负载;网络传输速度,即网络负载;当然,如果出现swap,则系统的当前负载百分比也很高,在此不做详细赘述。
相应的,所述CPU负载为:服务器当前的CPU负载/(服务器的CPU核数*单核CPU的负载基准值);即:
Figure BDA0000586601390000051
所述内存负载为:服务器当前的内存负载/内存的负载基准值;即:
Figure BDA0000586601390000061
所述IO负载为:服务器当前的IO负载/IO的负载基准值;即:
Figure BDA0000586601390000062
所述网络负载为:服务器当前的网络负载/网络的负载基准值;即:
Figure BDA0000586601390000063
其中,Lcpu(i)表示第i台服务器的当前CPU负载,Ki表示第i台服务器的CPU核数,BASEcpu则为单核CPU的负载基准值;Lm(i)表示第i台服务器的当前内存负载,BASEm则为内存负载的基准值;Lio(i)表示第i台服务器的当前IO负载,BASEio则为IO负载的基准值;Lnet(i)表示第i台服务器的当前网络负载,BASEnet则为网络负载的基准值;
相应的,仅以CPU的当前负载为例做具体说明,其他不再详细赘述。
例如:通常情况下,单核CPU的负载理论最大值为1,但是在设计负载容量的时候,一般都会留有一定的buffer,即缓冲区,故,将单核CPU的负载基准值设置为0.7,即单个CPU的负载超过0.7即认为负载很高。
进一步的,给每个维度的负载情况赋予权重值后,得到所述服务器的当前负载百分比。
相应的,所述服务器的当前负载百分比=R1*CPU负载+R2*内存负载+R3*IO负载+R4*网络负载,即:
Figure BDA0000586601390000064
ΣRi=R1+R2+R3+R4
其中,Load(i)表示第i台服务器的当前负载百分比,R1、R2、R3、R4为相应参数的权重值。ΣRi用来表示相对服务器负载的整体权重,通常情况下,ΣRi=1。
优选的,在本发明一具体实施方式中,相应权重值的大小关系为:R1>R2>R3=R4,例如:所述R1、R2、R3、R4的取值依次为:0.55、0.25、0.1、0.1。
需要说明的是,在实际操作过程中,影响服务器当前负载百分比的各种主要的资源并不一定仅具有上述4个参数,其参数个数及种类会随着系统环境的变换进行增加或减少,相应的,服务器当前负载百分比的算法也会随之相应的调整,但其原理与上述原理相同,在此不做详细赘述。
将抽样请求通过异步线程查询服务器的数据库和缓存中的数据,得到相对应的原始数据和缓存数据。
具体的,将待检测的抽样请求放入异步线程池中,异步线程查询缓存中的数据,得到缓存数据Sa,以及异步线程查询数据库中的数据,得到原始数据Sb,通过与访问请求不同线程的异步线程,可不影响访问请求的实时返回和响应时间,也不会增加访问请求的线程压力。
比对上述缓存数据和原始数据,并根据比对结果判断缓存健康度。
相应的,判断所述缓存数据Sa和所述原始数据Sb是否相同,若所述缓存数据Sa和所述原始数据Sb相同,则表示缓存健康度良好,若所述缓存数据Sa和所述原始数据Sb不相同,则表示缓存健康度较差,此时,可依据所述原始数据更新所述缓存数据,即是将缓存数据Sa更新为原始数据Sb。当然,在缓存数据Sa和所述原始数据Sb不相同时,还可触发监控警报,以通过人工介入排查并处理,从而保证缓存与数据库中数据的最终一致性。
另外,在本发明一实施方式中,可形成健康度监控模型,以根据上述技术方案实时的对缓存的健康度进行监控。
如图3所示,在本发明一实施方式的缓存健康度检测装置,包括:抽样模块100,查询模块200,比对模块300。
抽样模块100用于在每一预设周期,若服务器未处于满负载状态,在服务器的访问请求中抽取至少一个作为抽样请求;
抽样模块100可动态获取服务器当前负载下合理的抽样比例。在服务器集群环境下,每台服务器的负载和内存占用都是各不相同的,因此,需要一种集群动态分配策略将抽样请求按照负载的不同分布到不同的服务器上。如:若某一服务器当前负载很高,则这台服务器当前可能不会分配到抽样请求,而当前负载较低的服务器就会分配到较多的抽样请求,以实现对服务器资源充分利用,且这种基于负载的抽样不会影响到服务器的整体性能,实现资源的最大化利用和功能最大化。
相应的,在本发明一实施方式中,抽样模块100可动态地获取服务器当前合理的抽样比例,并根据抽样比例随机抽取访问请求中特定的请求作为健康度抽样请求。
具体的,抽样模块100用于在每一预设周期,根据所述服务器的负载获取对应所述负载的抽样比例,并根据所述抽样比例以及访问请求的数量计算抽样请求的数量;其中,服务器负载越高,抽样比例越低;服务器负载越低,抽样比例越高。
进一步的,抽样请求的数量=所述抽样比例*访问请求的数量;
所述抽样比例=1-服务器当前负载百分比,若所述服务器当前负载百分比大于或等于1,则表示所述服务器处于超负载或满负载状态,则不对该服务器进行抽样。
优选的,结合参照图2所示,本实施方式中,服务器是处于Linux环境下,影响服务器当前负载百分比的各种主要的资源所对应用的程序主要考虑以下几个参数。
CPU运算速度,即当前CPU的负载;内存的占有率,即内存负载;系统IO速度,即IO负载;网络传输速度,即网络负载;当然,如果出现swap,则系统的当前负载百分比也很高,在此不做详细赘述。
相应的,所述CPU负载为:服务器当前的CPU负载/(服务器的CPU核数*单核CPU的负载基准值);即:
Figure BDA0000586601390000081
所述内存负载为:服务器当前的内存负载/内存的负载基准值;即:
Figure BDA0000586601390000082
所述IO负载为:服务器当前的IO负载/IO的负载基准值;即:
Figure BDA0000586601390000091
所述网络负载为:服务器当前的网络负载/网络的负载基准值;即:
Figure BDA0000586601390000092
其中,Lcpu(i)表示第i台服务器的当前CPU负载,Ki表示第i台服务器的CPU核数,BASEcpu则为单核CPU的负载基准值;Lm(i)表示第i台服务器的当前内存负载,BASEm则为内存负载的基准值;Lio(i)表示第i台服务器的当前IO负载,BASEio则为IO负载的基准值;Lnet(i)表示第i台服务器的当前网络负载,BASEnet则为网络负载的基准值;
相应的,仅以CPU的当前负载为例做具体说明,其他不再详细赘述。
例如:通常情况下,单核CPU的负载理论最大值为1,但是在设计负载容量的时候,一般都会留有一定的buffer,即缓冲区,故,将单核CPU的负载基准值设置为0.7,即单个CPU的负载超过0.7即认为负载很高。
进一步的,给每个维度的负载情况赋予权重值后,抽样模块100得到所述服务器的当前负载百分比。
相应的,所述服务器的当前负载百分比=R1*CPU负载+R2*内存负载+R3*IO负载+R4*网络负载,即:
Figure BDA0000586601390000093
ΣRi=R1+R2+R3+R4
其中,Load(i)表示第i台服务器的当前负载百分比,R1、R2、R3、R4为相应参数的权重值。ΣRi用来表示相对服务器负载的整体权重,通常情况下,ΣRi=1。
优选的,在本发明一具体实施方式中,相应权重值的大小关系为:R1>R2>R3=R4,例如:所述R1、R2、R3、R4的取值依次为:0.55、0.25、0.1、0.1。
需要说明的是,在实际操作过程中,影响服务器当前负载百分比的各种主要的资源并不一定仅具有上述4个参数,其参数个数及种类会随着系统环境的变换进行增加或减少,相应的,服务器当前负载百分比的算法也会随之相应的调整,但其原理与上述原理相同,在此不做详细赘述。
查询模块200用于将抽样请求通过异步线程查询服务器的数据库和缓存中的数据,得到相对应的原始数据和缓存数据。
具体的,查询模块200将待检测的抽样请求放入异步线程池中,异步线程查询缓存中的数据,得到缓存数据Sa,以及异步线程查询数据库中的数据,得到原始数据Sb,通过与访问请求不同线程的异步线程,可不影响访问请求的实时返回和响应时间,也不会增加访问请求的线程压力。
比对模块300用于比对上述缓存数据和原始数据,并根据比对结果判断缓存健康度。
具体的,比对模块300用于判断所述缓存数据Sa和所述原始数据Sb是否相同,若所述缓存数据Sa和所述原始数据Sb相同,则表示缓存健康度良好,若所述缓存数据Sa和所述原始数据Sb不相同,则表示缓存健康度较差,此时,比对模块300可依据所述原始数据更新所述缓存数据,即是将缓存数据Sa更新为原始数据Sb。当然,在缓存数据Sa和所述原始数据Sb不相同时,还可触发监控警报,以通过人工介入排查并处理,从而保证缓存与数据库中数据的最终一致性。
另外,在本发明一实施方式中,可形成健康度监控模型,以根据上述技术方案实时的对缓存的健康度进行监控。
综上所述,本发明的上述实施方式提供的缓存健康度检测方法及装置,在高并发查询请求且不改变系统整体负载的前提下,根据当前服务器的请求和负载情况,动态计算出缓存健康度抽样比例;然后,异步的将根据抽样的请求获取的数据库中的数据和缓存中的数据做健康度比较;如果出现不可预见因素导致缓存与数据库数据不一致的问题,可以通过监控模型马上发现并自动更新缓存,和/或通过人工介入排查和处理;进而动态的对缓存健康度做实时监测和预警,保证缓存和数据库完全一致性。
在本发明所提供的几个实施方式中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施方式仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施方式方案的目的。
另外,在本发明各个实施方式中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以2个或2个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机装置(可以是个人计算机,服务器,或者网络装置等)或处理器(processor)执行本发明各个实施方式所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上实施方式仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施方式对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施方式所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施方式技术方案的精神和范围。

Claims (12)

1.一种缓存健康度检测方法,其特征在于,所述方法包括:
每一预设周期,若服务器未处于满负载状态,则在服务器的访问请求中抽取至少一个作为健康度抽样请求;
将抽样请求通过异步线程查询服务器的数据库和缓存中的数据,得到相对应的原始数据和缓存数据;
比对所述抽样请求得到的上述缓存数据和原始数据,并根据比对结果判断缓存健康度,其中若所述缓存数据和所述原始数据相同,则表示缓存健康度良好。
2.根据权利要求1所述的缓存健康度检测方法,其特征在于,所述“每一预设周期,若服务器未处于满负载状态,则在服务器的访问请求中抽取至少一个作为健康度抽样请求”具体包括:
每一预设周期,根据所述服务器的负载获取对应所述负载的抽样比例,并根据所述抽样比例以及访问请求的数量计算抽样请求的数量;其中,服务器负载越高,抽样比例越低;服务器负载越低,抽样比例越高。
3.根据权利要求2所述的缓存健康度检测方法,其特征在于,抽样请求的数量=所述抽样比例*访问请求的数量;
所述抽样比例=1-服务器当前负载百分比,若所述服务器当前负载百分比大于或等于1,则表示所述服务器处于满负载状态,不进行抽样。
4.根据权利要求3所述的缓存健康度检测方法,其特征在于,所述服务器的当前负载百分比=R1*CPU负载+R2*内存负载+R3*IO负载+R4*网络负载,其中,R1、R2、R3、R4为相应参数的权重值,所述R1>R2>R3=R4。
5.根据权利要求4所述的缓存健康度检测方法,其特征在于,
所述CPU负载为:服务器当前的CPU负载/(服务器的CPU核数*单核CPU的负载基准值);
所述内存负载为:服务器当前的内存负载/内存的负载基准值;
所述IO负载为:服务器当前的IO负载/IO的负载基准值;
所述网络负载为:服务器当前的网络负载/网络的负载基准值。
6.根据权利要求1所述的缓存健康度检测方法,其特征在于,所述方法还包括:
若所述缓存数据和所述原始数据不相同,则依据所述原始数据更新所述缓存数据。
7.一种缓存健康度检测装置,其特征在于,所述装置包括:
抽样模块,用于在每一预设周期,若服务器未处于满负载状态,则在服务器的访问请求中抽取至少一个作为健康度抽样请求;
查询模块,用于将抽样请求通过异步线程查询服务器的数据库和缓存中的数据,得到相对应的原始数据和缓存数据;
比对模块,用于比对所述抽样请求得到的上述缓存数据和原始数据,并根据比对结果判断缓存健康度,其中若所述缓存数据和所述原始数据相同,则表示缓存健康度良好。
8.根据权利要求7所述的缓存健康度检测装置,其特征在于,所述抽样模块用于:
每一预设周期,根据所述服务器的负载获取对应所述负载的抽样比例,并根据所述抽样比例以及访问请求的数量计算抽样请求的数量;其中,服务器负载越高,抽样比例越低;服务器负载越低,抽样比例越高。
9.根据权利要求8所述的缓存健康度检测装置,其特征在于,抽样请求的数量=所述抽样比例*访问请求的数量;
所述抽样比例=1-服务器当前负载百分比,若所述服务器当前负载百分比大于或等于1,则表示所述服务器处于满负载状态,不进行抽样。
10.根据权利要求9所述的缓存健康度检测装置,其特征在于,所述服务器的当前负载百分比=R1*CPU负载+R2*内存负载+R3*IO负载+R4*网络负载,其中,R1、R2、R3、R4为相应参数的权重值,所述R1>R2>R3=R4。
11.根据权利要求10所述的缓存健康度检测装置,其特征在于,
所述CPU负载为:服务器当前的CPU负载/(服务器的CPU核数*单核CPU的负载基准值);
所述内存负载为:服务器当前的内存负载/内存的负载基准值;
所述IO负载为:服务器当前的IO负载/IO的负载基准值;
所述网络负载为:服务器当前的网络负载/网络的负载基准值。
12.根据权利要求7所述的缓存健康度检测装置,其特征在于,所述比对模块还用于判断所述缓存数据和所述原始数据是否相同,
若所述缓存数据和所述原始数据不相同,则依据所述原始数据更新所述缓存数据。
CN201410541399.4A 2014-10-14 2014-10-14 缓存健康度检测方法及装置 Active CN105573838B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410541399.4A CN105573838B (zh) 2014-10-14 2014-10-14 缓存健康度检测方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410541399.4A CN105573838B (zh) 2014-10-14 2014-10-14 缓存健康度检测方法及装置

Publications (2)

Publication Number Publication Date
CN105573838A CN105573838A (zh) 2016-05-11
CN105573838B true CN105573838B (zh) 2022-04-29

Family

ID=55884009

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410541399.4A Active CN105573838B (zh) 2014-10-14 2014-10-14 缓存健康度检测方法及装置

Country Status (1)

Country Link
CN (1) CN105573838B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106599721A (zh) * 2016-12-13 2017-04-26 微梦创科网络科技(中国)有限公司 一种基于缓存的数据访问方法及装置
CN109981391B (zh) * 2017-12-28 2020-12-18 中国移动通信集团公司 一种采样方法、设备及可读存储介质
CN108600330A (zh) * 2018-03-29 2018-09-28 努比亚技术有限公司 离线消息推送方法、设备及计算机可读存储介质
CN109684347B (zh) * 2018-11-27 2024-04-09 平安科技(深圳)有限公司 对账方法、装置、计算机设备和存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1551014A (zh) * 2003-03-28 2004-12-01 利用联机分析处理变型的预设高速缓存的系统和方法
CN102244685A (zh) * 2011-08-11 2011-11-16 中国科学院软件研究所 一种支持负载均衡的分布式缓存动态伸缩方法及系统
CN102508854A (zh) * 2011-09-29 2012-06-20 畅捷通信息技术股份有限公司 数据访问装置和方法
CN103177027A (zh) * 2011-12-23 2013-06-26 北京新媒传信科技有限公司 获取动态Feed索引的方法和系统
CN103605776A (zh) * 2013-11-28 2014-02-26 北京国双科技有限公司 信息数据库的数据处理方法和装置

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6578113B2 (en) * 1997-06-02 2003-06-10 At&T Corp. Method for cache validation for proxy caches
US6505230B1 (en) * 1999-05-14 2003-01-07 Pivia, Inc. Client-server independent intermediary mechanism
JP4115204B2 (ja) * 2002-08-21 2008-07-09 株式会社日立製作所 情報処理システム
US7093073B2 (en) * 2003-06-26 2006-08-15 International Business Machines Corporation Systems and methods for adjusting caching policies for web service requests
US20110161663A1 (en) * 2009-12-29 2011-06-30 General Instrument Corporation Intelligent caching for ocsp service optimization
CN103403707B (zh) * 2010-12-28 2017-11-14 思杰系统有限公司 用于数据库代理请求交换的系统和方法
CN102982037B (zh) * 2011-09-05 2016-05-25 中国移动通信集团浙江有限公司 检测数据库节点健康状况的方法及装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1551014A (zh) * 2003-03-28 2004-12-01 利用联机分析处理变型的预设高速缓存的系统和方法
CN102244685A (zh) * 2011-08-11 2011-11-16 中国科学院软件研究所 一种支持负载均衡的分布式缓存动态伸缩方法及系统
CN102508854A (zh) * 2011-09-29 2012-06-20 畅捷通信息技术股份有限公司 数据访问装置和方法
CN103177027A (zh) * 2011-12-23 2013-06-26 北京新媒传信科技有限公司 获取动态Feed索引的方法和系统
CN103605776A (zh) * 2013-11-28 2014-02-26 北京国双科技有限公司 信息数据库的数据处理方法和装置

Also Published As

Publication number Publication date
CN105573838A (zh) 2016-05-11

Similar Documents

Publication Publication Date Title
Huang et al. Research on architecture and query performance based on distributed graph database Neo4j
WO2017050014A1 (zh) 一种数据存储处理方法和装置
CN105573838B (zh) 缓存健康度检测方法及装置
US8825959B1 (en) Method and apparatus for using data access time prediction for improving data buffering policies
US9940360B2 (en) Streaming optimized data processing
CN107315694B (zh) 一种缓存一致性管理方法及节点控制器
CN109086141B (zh) 内存管理方法和装置以及计算机可读存储介质
CN112052097B (zh) 虚拟场景的渲染资源处理方法、装置、设备及存储介质
CA3057038C (en) Data filtering method, apparatus, electronic apparatus and storage medium
CN109582649B (zh) 一种元数据存储方法、装置、设备及可读存储介质
US9336110B2 (en) Identifying performance limiting internode data sharing on NUMA platforms
US20190005252A1 (en) Device for self-defense security based on system environment and user behavior analysis, and operating method therefor
Lim et al. Androtrace: framework for tracing and analyzing IOs on Android
US8990507B2 (en) Storing data in a system memory for a subsequent cache flush
CN117009389A (zh) 数据缓存方法、装置、电子设备和可读存储介质
US20120221293A1 (en) Performance logging framework
CN115878677A (zh) 分布式多级缓存的数据处理方法和装置
US9129033B1 (en) Caching efficiency using a metadata cache
CN113992689A (zh) 服务请求分发方法、装置、设备及计算机可读存储介质
US20150006832A1 (en) Vsam data set tier management
CN112445794A (zh) 一种大数据系统的缓存方法
US20140115246A1 (en) Apparatus, system and method for managing empty blocks in a cache
US11463535B1 (en) Using forensic trails to mitigate effects of a poisoned cache
CN104184629A (zh) 基于ota酒店系统的性能监控方法
CN109684235A (zh) 一种计算机系统应用高速缓存的方法、装置及设备

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
TA01 Transfer of patent application right

Effective date of registration: 20201010

Address after: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands

Applicant after: Innovative advanced technology Co.,Ltd.

Address before: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands

Applicant before: Advanced innovation technology Co.,Ltd.

Effective date of registration: 20201010

Address after: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands

Applicant after: Advanced innovation technology Co.,Ltd.

Address before: A four-storey 847 mailbox in Grand Cayman Capital Building, British Cayman Islands

Applicant before: Alibaba Group Holding Ltd.

TA01 Transfer of patent application right
GR01 Patent grant
GR01 Patent grant