CN115334158A - 一种缓存管理方法、装置、存储介质及电子设备 - Google Patents
一种缓存管理方法、装置、存储介质及电子设备 Download PDFInfo
- Publication number
- CN115334158A CN115334158A CN202210907778.5A CN202210907778A CN115334158A CN 115334158 A CN115334158 A CN 115334158A CN 202210907778 A CN202210907778 A CN 202210907778A CN 115334158 A CN115334158 A CN 115334158A
- Authority
- CN
- China
- Prior art keywords
- data
- cache
- space
- user
- cache space
- 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.)
- Pending
Links
- 238000007726 management method Methods 0.000 title claims abstract description 88
- 238000000034 method Methods 0.000 claims abstract description 60
- 238000012544 monitoring process Methods 0.000 claims abstract description 37
- 238000012545 processing Methods 0.000 claims description 63
- 230000007246 mechanism Effects 0.000 claims description 30
- 239000000872 buffer Substances 0.000 claims description 29
- 230000008030 elimination Effects 0.000 claims description 20
- 238000003379 elimination reaction Methods 0.000 claims description 20
- 230000033228 biological regulation Effects 0.000 claims description 18
- 238000013500 data storage Methods 0.000 claims description 13
- 230000012010 growth Effects 0.000 claims description 11
- 238000004590 computer program Methods 0.000 claims description 8
- 239000012556 adjustment buffer Substances 0.000 claims 4
- 230000000875 corresponding effect Effects 0.000 description 47
- 230000008569 process Effects 0.000 description 23
- 238000010586 diagram Methods 0.000 description 11
- 238000004891 communication Methods 0.000 description 10
- 230000006870 function Effects 0.000 description 8
- 238000011156 evaluation Methods 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 5
- 238000004364 calculation method Methods 0.000 description 4
- 230000018109 developmental process Effects 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 238000011161 development Methods 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 238000013507 mapping Methods 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 239000008186 active pharmaceutical agent Substances 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 2
- 238000013523 data management Methods 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 238000009877 rendering Methods 0.000 description 2
- 230000011218 segmentation Effects 0.000 description 2
- 235000009470 Theobroma cacao Nutrition 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 244000240602 cacao Species 0.000 description 1
- 239000003795 chemical substances by application Substances 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000033001 locomotion Effects 0.000 description 1
- 238000013508 migration Methods 0.000 description 1
- 230000005012 migration Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 230000001105 regulatory effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/302—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a software system
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/90—Buffering arrangements
- H04L49/9005—Buffering arrangements using dynamic buffer space allocation
Landscapes
- Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Physics (AREA)
- Quality & Reliability (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本说明书公开了一种缓存管理方法、装置、存储介质及电子设备,其中,方法包括:通过监测针对热数据和冷数据的缓存波动状态,基于缓存波动状态获取访问用户分布信息,基于用户分布信息对存储热数据的第一数据缓存空间和/或存储冷数据的第二数据缓存空间进行缓存空间调节。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种缓存管理方法、装置、存储介质及电子设备。
背景技术
随着互联网的普及,在大批用户涌入服务平台的同时,也带来了平台访问数据量几何级的飞速增长,对于服务平台的管理带来了挑战和机遇。为了保障服务平台与客户端之间的事务正常进行,会基于服务平台采用数据缓存更新技术,以使得服务平台能具有更高的对外处理速率。
发明内容
本说明书提供了一种缓存管理方法、装置、存储介质及电子设备,所述技术方案如下:
第一方面,本说明书提供了一种缓存管理方法,所述方法包括:
监测针对热数据和冷数据的缓存波动状态,基于所述缓存波动状态获取访问用户分布信息;
基于所述访问用户分布信息,对第一数据缓存空间和/或第二数据缓存空间进行缓存空间调节,所述第一数据缓存空间为缓存所述热数据的数据存储空间,所述第二数据缓存空间为缓存所述冷数据的数据缓存空间。
第二方面,本说明书提供了一种缓存管理装置,所述装置包括:
信息获取模块,用于监测针对热数据和冷数据的缓存波动状态,基于所述缓存波动状态获取访问用户分布信息;
数据处理模块,用于基于所述访问用户分布信息,对第一数据缓存空间和/或第二数据缓存空间进行缓存空间调节,所述第一数据缓存空间为缓存所述热数据的数据存储空间,所述第二数据缓存空间为缓存所述冷数据的数据缓存空间。
第三方面,本说明书提供一种计算机存储介质,所述计算机存储介质存储有多条指令,所述指令适于由处理器加载并执行上述的方法步骤。
第四方面,本说明书提供一种电子设备,可包括:处理器和存储器;其中,所述存储器存储有计算机程序,所述计算机程序适于由所述处理器加载并执行上述的方法步骤。
本说明书一些实施例提供的技术方案带来的有益效果至少包括:
在本说明书一个或多个实施例中,服务平台通过监测针对热数据和冷数据的缓存波动状态以获取当前的访问用户分布信息,基于访问用户分布信息对第一数据缓存空间和/或第二数据缓存空间进行缓存空间动态调节。基于访问用户分布信息一定程度上可预测冷热数据的缓存量的波动,可预先对相应缓存空间进行调节,提高了请求数据时缓存命中率,降低服务平台的缓存处理压力。
附图说明
为了更清楚地说明本说明书或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本说明书提供的一种缓存管理系统的场景示意图;
图2是本说明书提供的一种缓存管理方法的流程示意图;
图3是本说明书提供的另一种缓存管理方法的流程示意图;
图4是本说明书提供的另一种缓存管理方法的流程示意图;
图5是本说明书提供的一种缓存管理装置的结构示意图;
图6是本说明书提供的一种信息获取模块的结构示意图;
图7是本说明书提供的一种数据处理模块的结构示意图;
图8是本说明书提供的另一种缓存管理装置的结构示意图;
图9是本说明书提供的一种电子设备的结构示意图;
图10是本说明书提供的操作系统和用户空间的结构示意图;
图11是图10中安卓操作系统的架构图;
图12是图10中IOS操作系统的架构图。
具体实施方式
下面将结合本说明书中的附图,对本说明书中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
在本申请的描述中,需要理解的是,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。在本申请的描述中,需要说明的是,除非另有明确的规定和限定,“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其他步骤或单元。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本申请中的具体含义。此外,在本申请的描述中,除非另有说明,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
在相关技术中,缓存管理作为提高服务平台响应速度、降低服务压力重要手段,通常由于成本因素服务平台所能提供的缓存空间有限,由于缓存空间的限制,服务平台一般在为若干类型缓存数据分别分配缓存空间之后基于设置的缓存淘汰策略进行缓存优化,然而采用这种方式在面临诸如大量用户涌入所带来的缓存压力时,无法有效缓解缓存压力。
下面结合具体的实施例对本申请进行详细说明。
请参见图1,为本说明书提供的一种缓存管理系统的场景示意图。如图1所示,所述缓存管理系统至少可以包括客户端集群和服务平台100。
所述客户端集群可以包括至少一个客户端,如图1所示,具体包括用户1对应的客户端1、用户2对应的客户端2、…、用户n对应的客户端n,n为大于0的整数。
客户端集群中的各客户端可以是具备通信功能的电子设备,该电子设备包括但不限于:可穿戴设备、手持设备、个人电脑、平板电脑、车载设备、智能手机、计算设备或连接到无线调制解调器的其它处理设备等。在不同的网络中电子设备可以叫做不同的名称,例如:用户设备、接入终端、用户单元、用户站、移动站、移动台、远方站、远程终端、移动设备、用户终端、终端、无线通信设备、用户代理或用户装置、蜂窝电话、无绳电话、个人数字处理(personal digital assistant,PDA)、5G网络或未来演进网络中的电子设备等。
所述服务平台100可以是单独的服务器设备,例如:机架式、刀片、塔式、或者机柜式的服务器设备,或采用工作站、大型计算机等具备较强计算能力硬件设备;也可以是采用多个服务器组成的服务器集群,所述服务集群中的各服务器可以是以对称方式组成的,其中每台服务器在事务链路中功能等价、地位等价,各服务器均可单独对外提供服务,所述单独提供服务可以理解为无需另外的服务器的辅助。
在本说明书的一个或多个实施例中,服务平台100与客户端集群中的至少一个客户端可建立通信连接,基于该通信连接完成服务数据的交互。服务平台100可以对客户端集群中的至少一个客户端提供相应事务服务,事务服务包括但不限于消费服务、购物服务、金融服务、授信服务等等,具体事务服务类型基于实际应用情况确定。
在服务平台100对若干客户端提供事务服务的过程,在诸如相关事务活动发布、平台热点事件等场景下,会出现大量的用户通过所持有的客户端访问服务平台100。为了更好的对外提供事务服务,服务平台100可以是预先引入分布式服务部署以及平台缓存建设,而在某些场景的突发客户访问流量下,其新老用户的访问差异较大,使得通常的缓存策略很难灵活地优化缓存,基于此服务平台100可通过执行本说明书一个或多个实施例的缓存管理方法,对服务平台100用于存储热数据的第一缓存空间以及用户存储冷数据的第二缓存空间进行优化。
在本说明书一个或多个实施例中,服务平台100会将各类型的服务数据进行存储,客户端会基于实际场景访问或查询服务平台100的相应服务数据,为避免在数据量增大、访问集中等场景下,出现服务平台100维护的数据库的负担加重,数据库响应恶化,网站显示延迟等重大影响。服务平台100可采用缓存机制进行数据访问的优化,
示意性的,一种缓存机制缓存原理可以是检查客户端对应用户请求的数据时,服务平台100维护的缓存空间中是否存在该请求数据,若存在直接返回,无需查询数据库。
若请求数据在缓存空间中查询不到,服务平台100查询数据库,返回数据,同时把数据存储到缓存中一份。
示意性的,服务平台100可以保持缓存的“新鲜性”,服务平台100每当数据发生变化的时候,同步更新缓存空间的缓存信息,确保用户不会在缓存空间取到旧的数据。
需要说明的是,服务平台100与客户端集群中的至少一个客户端通过网络建立通信连接进行交互通信,其中,网络可以是无线网络,也可以是有线网络,无线网络包括但不限于蜂窝网络、无线局域网、红外网络或蓝牙网络,有线网络包括但不限于以太网、通用串行总线(universal serial bus,USB)或控制器局域网络。在说明书一个或多个实施例中,使用包括超文本标记语言(Hyper Text Mark-up Language,HTML)、可扩展标记语言(Extensible Markup Language,XML)等的技术和/或格式来代表通过网络交换的数据(如目标压缩包)。此外还可以使用诸如安全套接字层(Secure Socket Layer,SSL)、传输层安全(Transport Layer Security,TLS)、虚拟专用网络(Virtual Private Network,VPN)、网际协议安全(Internet Protocol Security,IPsec)等常规加密技术来加密所有或者一些链路。在另一些实施例中,还可以使用定制和/或专用数据通信技术取代或者补充上述数据通信技术。
本说明书所提供的缓存管理系统实施例与一个或多个实施例中的所述缓存管理方法属于同一构思,在说明书一个或多个实施例涉及的所述缓存管理方法对应的执行主体可以是上述服务平台100;在说明书一个或多个实施例涉及的所述缓存管理方法对应的执行主体也可以其他电子设备,具体基于实际应用环境确定。缓存管理系统实施例其体现实现过程可详见下述的方法实施例,这里不再赘述。
基于图1所示的场景示意图,下面对本说明书一个或多个实施例提供的模型处理方法进行详细介绍。
请参见图2,为本说明书一个或多个实施例提供了一种缓存管理方法的流程示意图,该方法可依赖于计算机程序实现,可运行于基于冯诺依曼体系的缓存管理装置上。该计算机程序可集成在应用中,也可作为独立的工具类应用运行。所述缓存管理装置可以为服务平台。
具体的,该缓存管理方法包括:
S102:监测针对热数据和冷数据的缓存波动状态,基于所述缓存波动状态获取访问用户分布信息;
在基于服务平台的实际应用场景下,通常根据访问频率或者基于用户的访问操作收集操作日志、服务信息等服务数据,将服务数据根据数据访问热度分为冷数据和热数据,然后根据冷热数据类型将数据存储或迁移至相应的存储空间(如数据库)中。
根据一些实施例中,服务平台通常采用缓存机制进行数据访问的优化,服务平台可维护用于存储服务数据的缓存空间以及数据库,一种缓存机制缓存原理可以是在客户端发起用户请求以请求相应数据时,服务平台检查客户端对应用户请求的请求数据,服务平台首先在维护的缓存空间中查询是否存在该请求数据,若存在直接向客户端返回请求数据,无需查询数据库。若请求数据在缓存空间中查询不到,服务平台100查询数据库,返回请求数据,同时把请求数据存储到缓存空间中一份。
可以理解的,服务平台在数据处理过程中可以保持缓存的“新鲜性”,服务平台每当服务数据发生变化的时候,可以同步更新缓存空间的缓存信息,确保用户不会在缓存空间取到旧的服务数据。
可以理解的,在服务平台的实际应用场景下,服务平台通常根据数据热度将服务数据划分为冷数据以及热数据,在缓存空间中可以存储有冷数据以及热数据,在数据库中可以存储有冷数据以及热数据。
所述缓存波动状态用于表征用户访问缓存中冷数据和/或热数据的缓存波动情况。所述缓存波动状态可以是基于冷数据和/或热数据的访问波动量进行表征。
可以理解的,服务平台可以实时或周期性监测冷数据和/或热数据的缓存波动量来确定缓存波动状态,在冷热数据波动比例比较大或者平稳的状态下,服务平台能够自动监测到,并且通过执行本说明书涉及的缓存管理方法进行处理。
具体的,服务平台可以实时或周期性监测冷数据和/或热数据的缓存波动量来确定缓存波动状态,基于所述缓存波动状态获取访问用户分布信息。
所述访问用户分布信息用于反馈平台不同访问用户类型的用户其访问用户类型维度的用户类型分布情况,通过访问用户分布信息可以是诸如若干访问用户类型的用户量、用户类型分布状况、新老用户波动数据等信息中的一种或多种的拟合。
可选的,服务平台获取访问用户分布信息,可以是根据针对所述服务平台的访问用户所划分的用户类型,分别获取各用户类型在监测窗口时间内的用户访问数据,基于各用户类型的用户访问数据确定相应类型用户波动数据,将其作为访问用户分布信息。
示意性的,访问用户分布信息可以是新老用户波动数据,例如新老用户波动比例、新老用户波动数量等等。服务平台可以(在监测窗口时间内)获取针对新用户类型的第一用户访问数据,以及针对老用户类型的第二用户访问数据;
所述第一用户访问数据可以是(在监测窗口时间内)新用户类型所对应的用户访问数量、用户访问增长数量等用户访问数据;所述第二用户访问数据可以是(在监测窗口时间内)老用户类型所对应的用户访问数量、用户访问增长数量等用户访问数据。
其中,新用户类型和老用户类型为针对所述服务平台的访问用户所划分的用户类型,如将访问平台次数小于次数阈值(如1次)的访问用户划分为新用户类型,将访问平台次数大于次数阈值的访问用户划分为老用户类型,新用户类型和老用户类型的类型划分标准可基于实际应用场景进行自定义,此处不作具体限定。
然后基于第一用户访问数据以及第二用户访问数据确定新老用户波动数据,新老用户波动数据可以是新老用户波动比例参数,如新用户(增长/减少)波动比例、老用户(增长/减少)波动比例等。然后将新老用户波动数据作为访问用户分布信息;
其中,监测窗口时间可以理解为服务平台所设置的用于监测用户访问流量的窗口时间,通常针对流量平稳的情况,服务平台动态设置的是小时级别或者分钟级别的调整窗口时间,针对突发的剧增流量(如访问流量大于阈值),服务平台动态设置的调整窗口时间较小,例如调整窗口时间是以秒级别进行设置。
S104:基于所述访问用户分布信息,对第一数据缓存空间和/或第二数据缓存空间进行缓存空间调节,所述第一数据缓存空间为缓存所述热数据的数据存储空间,所述第二数据缓存空间为缓存所述冷数据的数据缓存空间。
可以理解的,在本说明书一个或多个实施例中,可动态基于实际情况对缓存热数据的第一数据存储空间或对缓存冷数据的第二数据存储空间进行缓存调整,可提高服务平台所维护缓存空间的利用效率,缓解缓存负载状况,提高缓存处理的鲁棒性,通过调整缓存空间,进而可提高用户请求访问数据时的缓存命中率,降低对后端数据库的压力。
在本说明书一个或多个实施例中,服务平台通过监测针对热数据和冷数据的缓存波动状态,基于所述缓存波动状态来动态获取当前的访问用户分布信息,基于访问用户分布信息所预测的后续冷热缓存变化情况,可预先对第一数据缓存空间和/或第二数据缓存空间进行缓存空间动态调节;可以理解的,一方面,基于访问用户分布信息一定程度上可预测热数据或冷数据的缓存量的波动情况,在实际应用中根据访问用户分布信息可指示在老用户类型的用户访问激增的情况下:热数据缓存管理后续通常处理计算量更大以及更多的热数据需要进行存储、根据访问用户分布信息可指示在新用户类型的用户访问激增的情况下,冷数据缓存管理后续通常处理计算量更大,更多的冷数据需要进行存储。基于此,可基于访问用户分布信息来实现后续热数据或冷数据的需求量提前预测,进而可以提前调整相应数据的缓存空间。另一方面,采用对相应数据的数据缓存空间进行调整的方式,可避免在一些访问波动较大场景下避免对冷数据/热数据的频繁迁移缓存位置,以避免加剧缓存管理的时间复杂度以及缓存系统的负载,采用对应调整缓存空间的方式一定程度大幅降低了缓存管理的开销量。
在一种可行的实施方式中,服务平台基于访问用户分布信息进行分析处理,可确定第一数据缓存空间和/或第二数据缓存空间中待调整的目标调节缓存空间,然后对目标调节缓存空间进行缓存空间调整。例如,对访问用户分布信息进行分析处理,若访问用户分布信息指示后续热数据管理通常处理计算量大以及更多的热数据需要进行存储,则目标调节缓存空间为第一数据缓存空间;若访问用户分布信息指示后续冷数据管理通常处理计算量大以及更多的冷数据需要进行存储,则目标调节缓存空间为第二数据缓存空间;
可选的,基于访问用户分布信息进行分析处理可以是,根据访问用户分布信息确定后续冷数据缓存管理的需求大或冷数据缓存管理的需求大,进而确定第一数据缓存空间和第二数据缓存空间中待调整的目标调节缓存空间。
示意性的,根据访问用户分布信息可确定诸如新用户类型/老用户类型的用户分布占比或用户分布波动较大,在新用户类型的用户分布占比或用户分布波动较大的情况下,可确定后续冷数据缓存管理的需求大或冷数据缓存管理的需求大,然后增加用于存储冷数据的第二数据缓存空间;在老用户类型的用户分布占比或用户分布波动较大的情况下,可确定后续热数据缓存管理的需求大或热数据缓存管理的需求大,然后增加用于存储热数据的第一数据缓存空间。
在一种可行的实施方式中,采用最近最少使用缓存机制对所述第一数据缓存空间进行缓存淘汰处理,和采用最不经常使用缓存机制对所述第二数据缓存空间进行缓存淘汰处理。可以理解的,基于监测到的冷热数据的缓存波动情况,对用于缓存热数据的第一数据缓存空间以及用于缓存冷数据的第二数据缓存空间采用不同的淘汰策略进行缓存淘汰处理,提高缓存命中率。
在本说明书一个或多个实施例中,服务平台通过监测针对热数据和冷数据的缓存波动状态以获取当前的访问用户分布信息,基于访问用户分布信息对第一数据缓存空间和/或第二数据缓存空间进行缓存空间动态调节。基于访问用户分布信息一定程度上可预测冷热数据的缓存量的波动,可预先对相应缓存空间进行调节,提高了请求数据时缓存命中率,降低服务平台的处理压力;以及避免采用对缓存数据进行缓存空间迁移的方式,可以降低缓存管理的时间复杂度以及缓存系统的负载,以及节省缓存管理的开销量。
请参见图3,图3是本说明书一个或多个实施例提出的一种缓存管理方法的另一种实施例的流程示意图。具体的:
S202:监测针对热数据和冷数据的缓存波动比例;
所述缓存波动比例可以是监测周期内热数据缓存波动(增长/减少)比例、冷数据缓存(增长/减少)波动比例、热数据缓存与冷数据缓存的波动比例等类型数据中的一种或多种的拟合。
可以理解的,服务平台可以实时或周期性监测冷数据和/或热数据的缓存波动量来确定缓存波动比例,在缓存波动比例比较大或者平稳的状态下,服务平台能够自动监测到,并且通过执行本说明书涉及的缓存管理方法进行处理。
S204:若所述缓存波动比例大于或等于波动比例阈值,则获取访问用户分布信息;
所述波动比例阈值可以理解为针对缓存波动比例所设置的门限值或临界值,不同类的缓存波动比例可以分别设置相应的波动比例阈值。波动比例阈值用于在缓存波动比例指示到达临界时,监测服务平台当前的访问用户分布状况以预测或评估冷热数据缓存变化趋势。
所述访问用户分布信息可以是诸如若干访问用户类型的用户量、用户类型分布状况、新老用户波动数据等信息中的一种或多种的拟合。
在本说明书一个或多个实施例中,所述访问用户分布信息可以为新老用户波动数据,例如新老用户波动比例、新老用户波动数量等等,服务平台可以(在监测窗口时间内)获取针对新用户类型的第一用户访问数据,以及针对老用户类型的第二用户访问数据,然后基于第一用户访问数据以及第二用户访问数据确定新老用户波动数据,该新老用户波动数据也即访问用户分布信息,其可以反馈在新用户类型和老用户类型上的用户访问量的分布变化。
可选的,若所述缓存波动比例大于或等于波动比例阈值,则服务平台可以忽略处理。
S206:基于所述访问用户分布信息,确定目标缓存调节方式;
所述目标缓存调节方式基于实际应用情况至少包括缓存动态调节方式以及缓存周期调节方式。
在本说明书一个或多个实施例中,缓存动态调节方式通常适用于波动剧烈状态下的对缓存空间进行调整的方式,在缓存动态调节方式下其在监测窗口时间内实时基于诸如新老用户波动数据等访问用户分布信息,对第一数据缓存空间和/或第二数据缓存空间进行缓存空间动态调节。
在本说明书一个或多个实施例中,缓存周期调节方式通常适用于波动平稳状态下的对缓存空间进行调整的方式。在缓存周期调节方式基于一定周期时间触发在固定周期时刻基于诸如新老用户波动数据等访问用户分布信息,对第一数据缓存空间和/或第二数据缓存空间的缓存空间调节。
在一种可行的实施方式中,以所述访问用户分布信息为新老用户波动数据为例,服务平台执行基于所述访问用户分布信息,确定目标缓存调节方式,具体可以是:
服务平台可以基于新老用户波动数据来确定针对所述服务平台的用户流量波动状态;所述用户流量波动状态可以基于实际应用情况至少设置波动剧烈状态和波动平稳状态。
示意性的,可以针对新老用户波动数据设置波动阈值数据,在新老用户波动数据满足波动阈值数据时,则认为用户流量波动状态为波动平稳状态;在新老用户波动数据不满足波动阈值数据时,则认为用户流量波动状态为波动剧烈状态。
例如,新老用户波动数据可以是新老用户波动比例参数,如新用户(增长/减少)波动比例、老用户(增长/减少)波动比例等。波动阈值数据可以是针对新用户(增长/减少)波动比例设置的新用户(增长/减少)波动阈值,波动阈值数据可以是针对老用户(增长/减少)波动比例设置的老用户(增长/减少)波动阈值。
若用户流量波动状态为波动剧烈状态,则服务平台确定目标缓存调节方式为缓存动态调节方式;
若用户流量波动状态为波动平稳状态,则服务平台确定目标缓存调节方式为缓存周期调节方式。
在一种可行的实施方式中,所述新老用户波动数据包括用户增长量以及新老用户比重;用户增长量可以理解为在监测窗口时间内新用户类型或老用户类型的增长量;新老用户比重可以理解为新用户类型或老用户类型占所有用户数量的比值数据。服务平台可以结合用户增长量以及新老用户比重联合进行用户流量波动状态的判决。
示意性的,服务平台可以比较用户增长量与增量阈值的大小,以及新老用户比重与用户比重阈值的大小。增量阈值为针对用户增长量设置的门限值,用户比重阈值为针对新老用户比重设置的门限值。
若所述用户增长量大于增量阈值,且所述新老用户比重大于用户比重阈值,则确定针对所述服务平台的用户流量波动状态为所述波动剧烈状态。反之,则确定针对所述服务平台的用户流量波动状态为波动平稳状态。
S208:采用所述目标缓存调节方式对第一数据缓存空间和/或第二数据缓存空间进行缓存空间调节。
在一种可行的实施方式中,以目标缓存调节方式为缓存周期调节方式为例,通常缓存周期调节方式适用于波动平稳状态下的对缓存空间进行调整的方式。在缓存周期调节方式下基于一定周期时间触发在固定周期时刻基于诸如新老用户波动数据等访问用户分布信息,对第一数据缓存空间和/或第二数据缓存空间的缓存空间进行空间微调。进一步的,在处于波动平稳状态下,第一数据缓存空间以及第二数据缓存空间通常高概率可以满足当前冷热数据缓存需求,服务平台仅需结合访问用户分布信息或当前冷热数据波动参数(如冷热数据波动幅度、冷热数据波动量)来适应性对第一数据缓存空间和第二数据缓存空间进行微调,所述微调的空间调整幅度小于设置的微调阈值。
示意性的,在缓存周期调节方式下,服务平台通常微调的空间调整幅度小于缓存动态调节方式的空间调整幅度。
在一种可行的实施方式中,以目标缓存调节方式为缓存动态调节方式为例,缓存动态调节方式通常适用于波动剧烈状态下的对缓存空间进行调整的方式,服务平台执行所述采用所述目标缓存调节方式对第一数据缓存空间和/或第二数据缓存空间进行缓存空间调节,可以是:
1、服务平台可以采用所述缓存动态调节方式确定滑动窗口调节区域以及目标调节缓存空间;
所述滑动窗口调节区域为向确定需要调节的缓存空间(第一数据缓存空间和第二数据缓存空间中的其一)所分配的缓存区域,可以理解为将滑动窗口调节区域分配给需要调节的缓存空间。
所述目标调节缓存空间可以理解为前述需要调节的缓存空间,目调节缓存空间为第一数据缓存空间和第二数据缓存空间中的其一,如冷数据缓存需求相对于热数据缓存需求较高,则目标调节缓存空间通常为第二数据缓存空间,也即将确定的滑动窗口调节区域分配给第二数据缓存空间;又如热数据缓存需求相对于冷数据缓存需求较高,则目标调节缓存空间通常为第一数据缓存空间,也即将确定的滑动窗口调节区域分配给第一数据缓存空间。
可选的,可以设置每次缓存动态调节方式的缓存调节比例,在缓存动态调节方式下根据该缓存调节比例确定滑动窗口调节区域,如缓存调节比例可以是10%,则从可以调配的缓存空间(如闲置缓存空间)中确定10%缓存空间作为滑动窗口调节区域,以类似滑动窗口的形式将滑动窗口调节区域分配至目标调节缓存空间,实际应用中,通常将滑动窗口调节区域与目标调节缓存空间进行关联。
示意性的,可以设置基准缓存调节比例,在每次缓存动态调节时,按照基准缓存调节比例进行调整。
示意性的,缓存动态调节方式通常会涉及到监测过程中的多轮调整,在首轮按照基准缓存调节比例确定滑动窗口调节区域并分配至目标调节缓存空间之后,可以监测新老用户波动数据或冷热数据波动参数,来衡量波动剧烈状态的程度,如可以基于新老用户波动数据或冷热数据波动参数评估波动因子,基于该波动因子对基准缓存调节比例进行调节,基于调节之后的缓存调节比例在下一轮缓存空间调节过程中,确定下一轮的滑动窗口调节区域,继而对下一轮的目标调节缓存空间进行调节。
在一种可行的实施方式中,缓存调节比例可以是动态的,服务平台可以基于实时监测到的访问用户分布信息来动态确定缓存调节比例,基于所述缓存调节比例确定滑动窗口调节区域,如基于所述缓存调节比例从可以调配的缓存空间(如闲置缓存空间)中确定滑动窗口调节区域。
示意性的,服务平台可以实时监测用户访问分布信息中的至少一个监测参数,如监测参数可以是新老用户波动比例、新老用户波动数量、若干访问用户类型的用户量、用户类型分布状况参数等一种或多种的拟合,可以通过对每类监测参数进行加权,基于加权的评估值来确定缓存调节比例,如直接将评估值作为缓存调节比例。
示意性的,可设置若干个参考评估范围,每个参考评估范围对应一个参考缓存调节比例,通过确定评估值所落入的参考评估范围,获取所落入参考评估范围所对应的参考缓存调节比例作为前述缓存调节比例。
2、基于所述滑动窗口调节区域对目标调节缓存空间进行缓存空间调节,所述目标调节缓存空间为所述第一数据缓存空间和第二数据缓存空间中的至少其一。
具体的,服务平台在从可以调配的缓存空间中确定滑动窗口调节区域之后,然后将滑动窗口调节区域与目标调节缓存空间进行关联,也即将滑动窗口调节区域分配给目标调节缓存空间。
在一种具体的实施场景中,服务平台的缓存总空间可以由第一数据缓存空间和第二数据缓存空间组成,也即服务平台预先将缓存总空间分为缓存热数据的第一数据缓存空间以及第二数据缓存空间。在缓存动态调节方式下,采用类似滑动窗口的形式,比如决策出当前需要更多第一数据缓存空间也即将第一数据缓存空间作为目标调节缓存空间,则可以从第二数据缓存空间中选取滑动窗口调节区域划分目标调节缓存空间中,整个缓存调节过程可以避免加剧缓存管理的时间复杂度以及缓存系统的负载,采用对应调整缓存空间的方式一定程度大幅降低了缓存管理的开销量,提升了缓存空间的利用效率。
进一步的,服务平台执行所述采用所述缓存动态调节方式确定滑动窗口调节区域以及目标调节缓存空间,基于所述滑动窗口调节区域对目标调节缓存空间进行缓存空间调节,可以是:
A2:服务平台可以获取新老用户波动数据和/或冷热数据波动参数,基于所述新老用户波动数据和/或所述冷热数据波动参数,从第一数据缓存空间和第二数据缓存空间中确定目标调节缓存空间;
可以理解的,根据新老用户波动数据和/或冷热数据波动参数可以确定后续冷热数据缓存管理的需求,进而基于冷热数据缓存管理的需求从第一数据缓存空间和第二数据缓存空间中待调整的目标调节缓存空间。如:根据访问用户分布信息可确定诸如新用户类型/老用户类型的用户分布占比或用户分布波动较大,示意性的在新用户类型的用户分布占比或用户分布波动较大的情况下,可确定后续冷数据缓存管理的需求大或冷数据缓存管理的需求大,然后增加用于存储冷数据的第二数据缓存空间;在老用户类型的用户分布占比或用户分布波动较大的情况下,可确定后续热数据缓存管理的需求大或热数据缓存管理的需求大,然后增加用于存储热数据的第一数据缓存空间。
A4:服务平台可以确定针对第三数据缓存空间的第一缓存调节比例;所述第三数据缓存空间为所述第一数据缓存空间和所述第二数据缓存空间中除所述目标调节缓存空间之外的数据缓存空间。
可以理解的,第三数据缓存空间作为前述可调配的缓存空间,如缓存调节比例可以是10%,则从可以调配的第三数据缓存空间中确定10%缓存空间作为滑动窗口调节区域。
可选的,第一缓存调节比例可以是设置的基准缓存调节比例,在每次缓存动态调节时,按照基准缓存调节比例进行调整。
可选的,第一缓存调节比例可以是动态的,服务平台可以基于实时监测到的访问用户分布信息来动态确定第一缓存调节比例,基于第一缓存调节比例确定滑动窗口调节区域,如基于第一缓存调节比例从可以调配的第三数据缓存空间中确定滑动窗口调节区域。具体动态确定第一缓存调节比例可参考前述动态确定缓存调节比例的释义,此处不再赘述。
A6:服务平台在确定第一缓存调节比例之后,可以基于第一缓存调节比例从第三数据缓存空间中选取第一滑动窗口调节区域,将第一滑动窗口调节区域与所述目标调节缓存空间相关联,
可以理解的,第一滑动窗口调节区域通常不为已经缓存冷/热数据的缓存区域。
在本说明书一个或多个实施例中,服务平台的总缓存空间可以针对第一缓存空间以及第二缓存空间设置一个相对于总缓存空间的下限比例,第一缓存空间以及第二缓存空间的空间比例需要大于或等于该下限比例。
可选的,针对用于缓存冷热数据的缓存空间而言,通常各类型缓存空间采用同种缓存淘汰机制进行缓存空间中冷/热数据的更新,但在波动剧烈状态下,采取前述方式难以适配当下场景,基于此,基于当前的目标缓存调节方式,对第一数据缓存空间和/或第二数据缓存空间进行缓存淘汰机制调整。
示意性的,通常各类型缓存空间采用一种缓存淘汰机制以便缓存管理,在本说明书一个或多个实施例中,若所述目标缓存调节方式为缓存动态调节方式,可对第一数据缓存空间和第二数据缓存空间采用不同的缓存淘汰机制。若目标缓存调节方式为缓存周期调节方式,可不启用不同的缓存淘汰机制进行缓存淘汰管理,可以原有缓存淘汰机制进行控制管理。
在本说明书一个或多个实施例中,考虑到新老用户类型对后续冷热数据缓存需求的影响,若所述目标缓存调节方式为缓存动态调节方式,可以采用最近最少使用缓存机制(LRU机制)对所述第一数据缓存空间进行缓存淘汰处理,和采用最不经常使用缓存机制(LFU机制)对所述第二数据缓存空间进行缓存淘汰处理,这样可结合冷热数据缓存需求进行后续冷热数据的高效更新。
在一种具体的实施场景中,服务平台的缓存总空间可以由第一数据缓存空间、第二数据缓存空间和预留缓存空间组成,通过设置预留缓存空间可以实时基于冷热数据缓存需求动态调整区域数据缓存类型以及更新相应数据缓存淘汰策略。
在缓存动态调节方式下,采用类似滑动窗口的形式从预留缓存空间中选取全部或部分作为滑动窗口调节区域,比如决策出当前需要更多第一数据缓存空间也即将第一数据缓存空间作为目标调节缓存空间,则可以从预留缓存空间中选取滑动窗口调节区域划分目标调节缓存空间中,整个缓存调节过程可以避免加剧缓存管理的时间复杂度以及缓存系统的负载,采用对应调整缓存空间的方式一定程度大幅降低了缓存管理的开销量,提升了缓存空间的利用效率。
进一步的,服务平台执行所述采用所述缓存动态调节方式确定滑动窗口调节区域以及目标调节缓存空间,基于所述滑动窗口调节区域对目标调节缓存空间进行缓存空间调节,可以是:
B2:服务平台可以获取新老用户波动数据和/或冷热数据波动参数,基于所述新老用户波动数据和/或所述冷热数据波动参数,从第一数据缓存空间和第二数据缓存空间中确定目标调节缓存空间;
B4:获取预留缓存空间,确定针对所述预留缓存空间的第二缓存调节比例;所述预留缓存空间为除所述第一数据缓存空间和第二数据缓存空间之外的数据缓存空间;
可以理解的,预留缓存空间作为前述可调配的缓存空间,如缓存调节比例可以是10%,则从可以调配的预留缓存空间中确定10%缓存空间作为滑动窗口调节区域。
可选的,第二缓存调节比例可以是设置的基准缓存调节比例,在每次缓存动态调节时,按照基准缓存调节比例进行调整。
可选的,第二缓存调节比例可以是动态的,服务平台可以基于实时监测到的访问用户分布信息来动态确定第二缓存调节比例,基于第二缓存调节比例确定滑动窗口调节区域,如基于第二缓存调节比例从可以调配的预留缓存空间中确定滑动窗口调节区域。具体动态确定第二缓存调节比例可参考前述动态确定缓存调节比例的释义,此处不再赘述。
可选的,服务平台可持续进行监测,在监测到服务平台的用户流量波动状态从波动剧烈状态更新为波动平稳状态时,服务平台可以释放前述所确定的滑动窗口调节区域,也即释放滑动窗口调节区域重新设置为预留缓存空间对应的缓存区域。
B6:基于所述第二缓存调节比例从所述预留缓存空间中选取第二滑动窗口调节区域,将所述第二滑动窗口调节区域与目标调节缓存空间相关联。
可以理解的,第二滑动窗口调节区域通常不为已经缓存冷/热数据的缓存区域。
在本说明书一个或多个实施例中,服务平台通过监测针对热数据和冷数据的缓存波动状态以获取当前的访问用户分布信息,基于访问用户分布信息对第一数据缓存空间和/或第二数据缓存空间进行缓存空间动态调节。基于访问用户分布信息一定程度上可预测冷热数据的缓存量的波动,可预先对相应缓存空间进行调节,提高了请求数据时缓存命中率,降低服务平台的处理压力;以及避免采用对缓存数据进行缓存空间迁移的方式,可以降低缓存管理的时间复杂度以及缓存系统的负载,以及节省缓存管理的开销量;以及,在波动剧烈状态下,平台能够自动精准监测,并且决策出合适的缓存淘汰机制进行缓存管理。
请参见图3,图3是本说明书一个或多个实施例提出的一种缓存管理方法的另一种实施例的流程示意图。具体的:
S302:监测针对热数据和冷数据的缓存波动状态,基于所述缓存波动状态获取访问用户分布信息;
S304:基于所述访问用户分布信息,对第一数据缓存空间和/或第二数据缓存空间进行缓存空间调节;
S306:获取针对第一数据缓存空间和/或第二数据缓存空间的待存储的第一缓存数据;
所述第一缓存数据可以理解为服务平台待存储的缓存数据,可以是待存储至第一数据缓存空间的热数据类型,也可以是待存储至第二数据缓存空间的冷数据类型。
示意性的,服务平台通常采用缓存机制进行数据访问的优化,服务平台可维护用于存储服务数据的缓存空间以及数据库,在客户端发起用户请求以请求相应数据时,服务平台检查客户端对应用户请求的请求数据,服务平台首先在维护的缓存空间(第一缓存空间、第二缓存空间)中查询是否存在该请求数据,若请求数据在缓存空间中查询不到,服务平台查询数据库,返回请求数据,可以理解的,服务平台可将该请求数据在缓存空间(第一缓存空间、第二缓存空间)中进行存储,进一步的,待存储的请求数据也即待存储至缓存空间(第一缓存空间、第二缓存空间)的第一缓存数据。
示意性的,服务平台每当服务数据发生变化的时候,可以同步更新缓存空间的缓存信息数据,以确保用户不会在缓存空间取到旧的缓存信息数据,进一步的,前述待同步更新的缓存信息数据也即待存储至缓存空间(第一缓存空间、第二缓存空间)对旧的缓存信息数据进行同步更新的第一缓存数据。
S308:对所述第一缓存数据进行目标编码处理,得到第二缓存编码数据;所述第二缓存编码数据为不含键值对中关键字元素数据的缓存编码数据。
在相关技术中,待存储的第一缓存信息在存入缓存空间时通常以键值对(key-value)等缓存编码方式进行编码存储,key是关键字,value是值,Key-value是一种以键值对存储数据的数据编码存储形式;
示意性的,第一缓存数据为用户信息为例,存入缓存空间时会存“用户索引+用户信息”,而用户信息通常以key-value编码,比如常见的json格式,用户索引为用户的id,用户信息存取{"姓名":"张三","岁数":20}。
在本说明书一个或多个实施例中,不采用前述key-value编码对第一缓存数据进行缓存处理,而是采用目标编码处理方式,使得经目标编码处理后的第二缓存编码数据不含键值对中关键字元素数据。
示意性的,以用户信息存取{"姓名":"张三","岁数":20}为例,仅目标编码处理后,仅会缓存对象的值value-"张三"以及“20”,而不会缓存对象的关键字元素key-"姓名"以及"岁数"。也即第二缓存编码数据中不含键值对中关键字元素数据key。
在一种可行的实施方式中,服务平台执行所述对所述第一缓存数据进行目标编码处理,得到第二缓存编码数据,具体可以是:
C2:确定所述第一缓存数据对应的第一缓存关键信息,所述第一缓存关键信息包括基于键值对编码方式生成的关键字元素数据以及值元素数据。
所述第一缓存关键信息可以理解为以键值对编码方式编码的缓存信息,以前述第一缓存数据为用户信息为例,第一缓存数据“用户索引+用户信息”中的“用户信息”也即第一缓存关键信息。
第一缓存关键信息基于键值对编码方式生成,其包括关键字元素数据以及值元素数据。数据{"姓名":"张三","岁数":20}中:"姓名"和"岁数"为关键字元素数据,"张三"和20为值元素数据。
C4:确定针对关键字元素数据的分隔符,基于所述值元素数据和所述分隔符进行编码处理,得到第二缓存数据。
可以理解的,可以以分隔符实现对关键字元素数据的替代,分隔符占用空间小于关键字元素数据,基于此可大幅节省缓存编码所占空间。
可选的,分割符可以仅起到区分开不同类值元素数据的作用,分割符前后指示的值元素数据为属于不同类关键字元素所对应的值。数据{"姓名":"张三","岁数":20},则可以经目标编码后输出"张三##20",其中“##”即为分割符。
可选的,分割符可以与关键字元素相关联,也即预先设置不同类别关键字元素与其对应参考分割符的映射关系,基于该映射关系可确定针对关键字元素数据的分割符。
可以理解的,在确定针对关键字元素数据的分隔符之后,基于所述值元素数据和所述分隔符进行编码处理,以采用分隔符对关键字元素数据进行替换,在基于替换后的分隔符以及值元素数据编码,可以生成第二缓存数据。示意性的,以数据{"姓名":"李四","岁数":30}为例进行编码处理,采用分割符“??”替代关键字元素"姓名"和"岁数",得到的第二缓存数据可以是“李四??30”。
S310:对所述第二缓存数据进行缓存存储。
可以理解的,基于第二缓存数据对应的数据类型将其缓存至数据类型对应的数据缓存空间中。如第二缓存数据对应的数据类型为热数据类型,则将其缓存至第一数据缓存空间中,可适用于缓存空间有限的服务场景,可有效解决服务平台负载压力大的问题。
示意性的,第二缓存数据对应的数据类型与第一缓存数据对应的数据类型相同。
S312:响应于客户端的数据查询请求,获取第二缓存数据;
所述数据查询请求为客户端向服务平台所发起的,服务平台对外提供相应事务服务,客户端的用户基于实际需求可在客户端在上向服务平台发起数据查询请求,以获取相应服务数据。
可以理解的,服务平台接收到客户端的数据查询请求,响应客户端的数据查询请求,服务平台首先在维护的缓存空间(第一缓存空间、第二缓存空间)中查询是否存在数据查询请求指示的请求数据,若存在该请求数据,则从缓存空间(第一缓存空间、第二缓存空间)中获取该请求数据并作为查询到的第二缓存数据。
示意性的,服务平台对外可以提供近端服务,通常,近端服务是一个sdk(软件开发工具包)安装到客户端中,客户端发起的数据查询请求,由近端服务与服务平台协同处理,服务平台可以基于该近端服务接收到数据查询请求,并获取第二缓存数据。
S314:对所述第二缓存数据进行目标解码处理得到第三缓存数据,将所述第三缓存数据发送至客户端;
所述目标解码处理可以理解为目标编码处理的逆过程。
在一种可行的实施方式中,所述对所述第二缓存数据进行目标解码处理,得到第三缓存数据,包括:
确定所述第二缓存数据对应的用户索引信息和第二用户信息,所述第二用户信息包括值元素数据和分隔符;
基于所述值元素数据和所述分隔符确定关键字元素数据,基于所述用户索引信息、所述值元素数据和所述关键字元素数据进行编码处理,得到第三缓存编码数据。
服务平台执行所述对所述第二缓存数据进行目标解码处理,得到第三缓存数据,可以是:
D2:确定所述第二缓存数据对应的第二缓存关键信息,所述第二缓存关键信息包括值元素数据和分隔符;
在实际应用中,第二缓存数据的数量为多个,基于实际事务需要通常缓存数据可由索引信息以及缓存关键信息构成,索引信息用于从多个缓存数据中索引到请求查询的缓存数据。基于此,可以从第二缓存数据中提取出第二缓存关键信息。第二缓存关键信息是经目标编码处理之后得到数据,第二缓存关键信息包括值元素数据和分隔符。
D4:基于所述值元素数据和/或所述分隔符确定关键字元素数据,基于所述值元素数据和所述关键字元素数据进行编码处理,得到第三缓存数据,其中,所述第三缓存编码数据为包含键值对中关键字元素数据的缓存编码数据。
可以理解的,可以确定值元素数据的数据类型,根据值元素数据的数据类型来确定关键字元素数据,值元素数据的数据类型与关键字元素数据强相关。例如值元素数据“张三”,其数据类型通常为姓名,则关键字元素数据即为姓名关键字元素。
可以理解的,可以根据分隔符来确定关键字元素数据,在目标编码处理时,若基于不同的关键字元素采用不同的分隔符,则可以基于不同分隔符与相应关键字元素的映射关系,来确定分隔符所对应的关键字元素数据。
可选的,可以同时基于值元素数据和所述分隔符确定关键字元素数据,也即对两种关键字元素数据进行数据拟合,得到最终的关键字元素数据。
进一步的,在确定关键字元素数据之后,基于所述值元素数据和所述关键字元素数据进行编码处理,一种方式可以是直接基于所述值元素数据和所述关键字元素数据组合生成第三缓存数据,一种方式可以是对第二缓存关键信息中的分隔符采用关键字元素数据进行替换,基于替换之后的数据来生成第三缓存数据。
进一步的,服务平台生成第三缓存数据之后,然后可以将第三缓存数据发送至客户端。
S316:将所述第二缓存数据发送至客户端,以使所述客户端对所述第二缓存数据进行目标解码处理得到第三缓存数据。
可以理解的,服务平台响应客户端的数据查询请求,获取第二缓存数据之后,可以不再本地进行解码,以减轻服务平台的缓存管理压力。通过直接将第二缓存数据发送至客户端,从而指示客户端对第二缓存数据进行目标解码处理,来得到第三缓存数据。
在本说明书一个或多个实施例中,客户端对所述第二缓存数据进行目标解码处理得到第三缓存数据的执行过程与服务平台对所述第二缓存数据进行目标解码处理得到第三缓存数据的执行过程相同,区别仅在于执行主体不同,此处不再进行赘述。
在一种具体的实施场景中,服务平台可以对外提供近端服务,近端服务可以用于解码,以解决服务平台压力大的现象,数据查询请求直接请求到近端服务中。缓存查询命中,近端服务再基于服务平台反馈的第二缓存数据进行目标解码处理,以第二缓存数据中的第二缓存关键信息为"张三##20"为例,则解码还原为{"姓名":"张三","岁数":20}。
在本说明书一个或多个实施例中,服务平台通过监测针对热数据和冷数据的缓存波动状态以获取当前的访问用户分布信息,基于访问用户分布信息对第一数据缓存空间和/或第二数据缓存空间进行缓存空间动态调节。基于访问用户分布信息一定程度上可预测冷热数据的缓存量的波动,可预先对相应缓存空间进行调节,提高了请求数据时缓存命中率,降低服务平台的处理压力;以及避免采用对缓存数据进行缓存空间迁移的方式,可以降低缓存管理的时间复杂度以及缓存系统的负载,以及节省缓存管理的开销量;以及,在波动剧烈状态下,平台能够自动精准监测,并且决策出合适的缓存淘汰机制进行缓存管理;以及,在缓存空间不足的情况下,利用编解码可以在有限的缓存空间里缓存更多的数据,提高缓存空间的资源利用率。
下面将结合图5,对本说明书提供的缓存管理装置进行详细介绍。需要说明的是,图5所示的缓存管理装置,用于执行本申请图1~图4所示实施例的方法,为了便于说明,仅示出了与本说明书相关的部分,具体技术细节未揭示的,请参照本申请图1~图4所示的实施例。
请参见图5,其示出本说明书的缓存管理装置的结构示意图。该缓存管理装置1可以通过软件、硬件或者两者的结合实现成为用户终端的全部或一部分。根据一些实施例,该缓存管理装置1包括信息获取模块11、数据处理模块12,具体用于:
信息获取模块11,用于监测针对热数据和冷数据的缓存波动状态,基于所述缓存波动状态获取访问用户分布信息;
数据处理模块12,用于基于所述访问用户分布信息,对第一数据缓存空间和/或第二数据缓存空间进行缓存空间调节,所述第一数据缓存空间为缓存所述热数据的数据存储空间,所述第二数据缓存空间为缓存所述冷数据的数据缓存空间。
可选的,如图6所示,所信息获取模块11,包括:
数据监测单元111,用于监测针对热数据和冷数据的缓存波动比例;
信息获取单元112,用于若所述缓存波动比例大于或等于波动比例阈值,则获取访问用户分布信息。
可选的,所述信息获取模块11,具体用于:
获取针对新用户类型的第一用户访问数据,以及针对老用户类型的第二用户访问数据;
基于所述第一用户访问数据以及第二用户访问数据确定新老用户波动数据,将所述新老用户波动数据作为访问用户分布信息;
其中,所述新用户类型和所述老用户类型为针对所述服务平台的访问用户所划分的用户类型。
可选的,如图7所示,所述数据处理模块12,包括:
方式确定单元121,用于基于所述访问用户分布信息,确定目标缓存调节方式;
空间调节单元122,用于采用所述目标缓存调节方式对第一数据缓存空间和/或第二数据缓存空间进行缓存空间调节。
可选的,所述访问用户分布信息为新老用户波动数据,所述方式确定单元121,具体用于:
基于所述新老用户波动数据确定针对所述服务平台的用户流量波动状态;
若所述用户流量波动状态为波动剧烈状态,则确定目标缓存调节方式为缓存动态调节方式;
若所述用户流量波动状态为波动平稳状态,则确定目标缓存调节方式为缓存周期调节方式。
可选的,所述方式确定单元121,具体用于:
所述新老用户波动数据包括用户增长量以及新老用户比重;
若所述用户增长量大于增量阈值,且所述新老用户比重大于用户比重阈值,则确定针对所述服务平台的用户流量波动状态为所述波动剧烈状态。
可选的,所述目标缓存调节方式为缓存动态调节方式,所述空间调节单元122,具体用于:
采用所述缓存动态调节方式确定滑动窗口调节区域以及目标调节缓存空间,基于所述滑动窗口调节区域对目标调节缓存空间进行缓存空间调节,所述目标调节缓存空间为所述第一数据缓存空间和第二数据缓存空间中的至少其一。
可选的,所述空间调节单元122,具体用于:
基于所述访问用户分布信息确定缓存调节比例,基于所述缓存调节比例确定滑动窗口调节区域。
可选的,所述空间调节单元122,具体用于:
获取新老用户波动数据和/或冷热数据波动参数,基于所述新老用户波动数据和/或所述冷热数据波动参数,从第一数据缓存空间和第二数据缓存空间中确定目标调节缓存空间;
确定针对第三数据缓存空间的第一缓存调节比例;
基于所述第一缓存调节比例从第三数据缓存空间中选取第一滑动窗口调节区域,将所述第一滑动窗口调节区域与所述目标调节缓存空间相关联,所述第三数据缓存空间为所述第一数据缓存空间和所述第二数据缓存空间中除所述目标调节缓存空间之外的数据缓存空间。
可选的,所述空间调节单元122,具体用于:
获取新老用户波动数据和/或冷热数据波动参数,基于所述新老用户波动数据和/或所述冷热数据波动参数,从第一数据缓存空间和第二数据缓存空间中确定目标调节缓存空间;
获取预留缓存空间,确定针对所述预留缓存空间的第二缓存调节比例;所述预留缓存空间为除所述第一数据缓存空间和第二数据缓存空间之外的数据缓存空间;
基于所述第二缓存调节比例从所述预留缓存空间中选取第二滑动窗口调节区域,将所述第二滑动窗口调节区域与目标调节缓存空间相关联。
可选的,所述装置1,还用于:
基于所述目标缓存调节方式,对第一数据缓存空间和/或第二数据缓存空间进行缓存淘汰机制调整。
可选的,所述装置1,还用于:
若所述目标缓存调节方式为缓存动态调节方式,则采用最近最少使用缓存机制对所述第一数据缓存空间进行缓存淘汰处理,和采用最不经常使用缓存机制对所述第二数据缓存空间进行缓存淘汰处理。
可选的,如图8所示,所述装置1,包括:
数据缓存模块13,用于获取针对第一数据缓存空间和/或第二数据缓存空间的待存储的第一缓存数据;
所述数据缓存模块13,还用于对所述第一缓存数据进行目标编码处理,得到第二缓存编码数据;所述第二缓存编码数据为不含键值对中关键字元素数据的缓存编码数据。
对所述第二缓存数据进行缓存存储。
可选的,所述数据缓存模块13,还用于:
确定所述第一缓存数据对应的第一缓存关键信息,所述第一缓存关键信息包括基于键值对编码方式生成的关键字元素数据以及值元素数据;
确定针对关键字元素数据的分隔符,基于所述值元素数据和所述分隔符进行编码处理,得到第二缓存数据。
可选的,所述数据缓存模块13,还用于:
响应于客户端的数据查询请求,获取第二缓存数据;
对所述第二缓存数据进行目标解码处理得到第三缓存数据,将所述第三缓存数据发送至客户端;或,将所述第二缓存数据发送至客户端,以使所述客户端对所述第二缓存数据进行目标解码处理得到第三缓存数据;
其中,所述第三缓存数据为包含键值对中关键字元素数据的缓存编码数据。
可选的,所述数据缓存模块13,还用于:
确定所述第二缓存数据对应的第二缓存关键信息,所述第二缓存关键信息包括值元素数据和分隔符;
基于所述值元素数据和/或所述分隔符确定关键字元素数据,基于所述值元素数据和所述关键字元素数据进行编码处理,得到第三缓存数据。
需要说明的是,上述实施例提供的缓存管理装置在执行缓存管理方法时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的缓存管理装置与缓存管理方法实施例属于同一构思,其体现实现过程详见方法实施例,这里不再赘述。
上述本说明书序号仅仅为了描述,不代表实施例的优劣。
在本说明书一个或多个实施例中,服务平台通过监测针对热数据和冷数据的缓存波动状态以获取当前的访问用户分布信息,基于访问用户分布信息对第一数据缓存空间和/或第二数据缓存空间进行缓存空间动态调节。基于访问用户分布信息一定程度上可预测冷热数据的缓存量的波动,可预先对相应缓存空间进行调节,提高了请求数据时缓存命中率,降低服务平台的处理压力。
本说明书还提供了一种计算机存储介质,所述计算机存储介质可以存储有多条指令,所述指令适于由处理器加载并执行如上述图1~图4所示实施例的所述缓存管理方法,具体执行过程可以参见图1~图4所示实施例的具体说明,在此不进行赘述。
本申请还提供了一种计算机程序产品,该计算机程序产品存储有至少一条指令,所述至少一条指令由所述处理器加载并执行如上述图1~图4所示实施例的所述缓存管理方法,具体执行过程可以参见图1~图4所示实施例的具体说明,在此不进行赘述。
请参考图9,其示出了本申请一个示例性实施例提供的电子设备的结构方框图。本申请中的电子设备可以包括一个或多个如下部件:处理器110、存储器120、输入装置130、输出装置140和总线150。处理器110、存储器120、输入装置130和输出装置140之间可以通过总线150连接。
处理器110可以包括一个或者多个处理核心。处理器110利用各种接口和线路连接整个电子设备内的各个部分,通过运行或执行存储在存储器120内的指令、程序、代码集或指令集,以及调用存储在存储器120内的数据,执行电子设备100的各种功能和处理数据。可选地,处理器110可以采用数字信号处理(digital signal processing,DSP)、现场可编程门阵列(field-programmable gate array,FPGA)、可编程逻辑阵列(programmable logicArray,PLA)中的至少一种硬件形式来实现。处理器110可集成中心处理器(centralprocessing unit,CPU)、图像处理器(graphics processing unit,GPU)和调制解调器等中的一种或几种的组合。其中,CPU主要处理操作系统、用户界面和应用程序等;GPU用于负责显示内容的渲染和绘制;调制解调器用于处理无线通信。可以理解的是,上述调制解调器也可以不集成到处理器110中,单独通过一块通信芯片进行实现。
存储器120可以包括随机存储器(random Access Memory,RAM),也可以包括只读存储器(read-only memory,ROM)。可选地,该存储器120包括非瞬时性计算机可读介质(non-transitory computer-readable storage medium)。存储器120可用于存储指令、程序、代码、代码集或指令集。存储器120可包括存储程序区和存储数据区,其中,存储程序区可存储用于实现操作系统的指令、用于实现至少一个功能的指令(比如触控功能、声音播放功能、图像播放功能等)、用于实现下述各个方法实施例的指令等,该操作系统可以是安卓(Android)系统,包括基于Android系统深度开发的系统、苹果公司开发的IOS系统,包括基于IOS系统深度开发的系统或其它系统。存储数据区还可以存储电子设备在使用中所创建的数据比如电话本、音视频数据、聊天记录数据,等。
参见图10所示,存储器120可分为操作系统空间和用户空间,操作系统即运行于操作系统空间,原生及第三方应用程序即运行于用户空间。为了保证不同第三方应用程序均能够达到较好的运行效果,操作系统针对不同第三方应用程序为其分配相应的系统资源。然而,同一第三方应用程序中不同应用场景对系统资源的需求也存在差异,比如,在本地资源加载场景下,第三方应用程序对磁盘读取速度的要求较高;在动画渲染场景下,第三方应用程序则对GPU性能的要求较高。而操作系统与第三方应用程序之间相互独立,操作系统往往不能及时感知第三方应用程序当前的应用场景,导致操作系统无法根据第三方应用程序的具体应用场景进行针对性的系统资源适配。
为了使操作系统能够区分第三方应用程序的具体应用场景,需要打通第三方应用程序与操作系统之间的数据通信,使得操作系统能够随时获取第三方应用程序当前的场景信息,进而基于当前场景进行针对性的系统资源适配。
以操作系统为Android系统为例,存储器120中存储的程序和数据如图11所示,存储器120中可存储有Linux内核层320、系统运行时库层340、应用框架层360和应用层380,其中,Linux内核层320、系统运行库层340和应用框架层360属于操作系统空间,应用层380属于用户空间。Linux内核层320为电子设备的各种硬件提供了底层的驱动,如显示驱动、音频驱动、摄像头驱动、蓝牙驱动、Wi-Fi驱动、电源管理等。系统运行库层340通过一些C/C++库来为Android系统提供了主要的特性支持。如SQLite库提供了数据库的支持,OpenGL/ES库提供了3D绘图的支持,Webkit库提供了浏览器内核的支持等。在系统运行时库层340中还提供有安卓运行时库(Android runtime),它主要提供了一些核心库,能够允许开发者使用Java语言来编写Android应用。应用框架层360提供了构建应用程序时可能用到的各种API,开发者也可以通过使用这些API来构建自己的应用程序,比如活动管理、窗口管理、视图管理、通知管理、内容提供者、包管理、通话管理、资源管理、定位管理。应用层380中运行有至少一个应用程序,这些应用程序可以是操作系统自带的原生应用程序,比如联系人程序、短信程序、时钟程序、相机应用等;也可以是第三方开发者所开发的第三方应用程序,比如游戏类应用程序、即时通信程序、相片美化程序等。
以操作系统为IOS系统为例,存储器120中存储的程序和数据如图12所示,IOS系统包括:核心操作系统层420(Core OS layer)、核心服务层440(Core Services layer)、媒体层460(Media layer)、可触摸层480(Cocoa Touch Layer)。核心操作系统层420包括了操作系统内核、驱动程序以及底层程序框架,这些底层程序框架提供更接近硬件的功能,以供位于核心服务层440的程序框架所使用。核心服务层440提供给应用程序所需要的系统服务和/或程序框架,比如基础(Foundation)框架、账户框架、广告框架、数据存储框架、网络连接框架、地理位置框架、运动框架等等。媒体层460为应用程序提供有关视听方面的接口,如图形图像相关的接口、音频技术相关的接口、视频技术相关的接口、音视频传输技术的无线播放(AirPlay)接口等。可触摸层480为应用程序开发提供了各种常用的界面相关的框架,可触摸层480负责用户在电子设备上的触摸交互操作。比如本地通知服务、远程推送服务、广告框架、游戏工具框架、消息用户界面接口(User Interface,UI)框架、用户界面UIKit框架、地图框架等等。
在图12所示出的框架中,与大部分应用程序有关的框架包括但不限于:核心服务层440中的基础框架和可触摸层480中的UIKit框架。基础框架提供许多基本的对象类和数据类型,为所有应用程序提供最基本的系统服务,和UI无关。而UIKit框架提供的类是基础的UI类库,用于创建基于触摸的用户界面,iOS应用程序可以基于UIKit框架来提供UI,所以它提供了应用程序的基础架构,用于构建用户界面,绘图、处理和用户交互事件,响应手势等等。
其中,在IOS系统中实现第三方应用程序与操作系统数据通信的方式以及原理可参考Android系统,本申请在此不再赘述。
其中,输入装置130用于接收输入的指令或数据,输入装置130包括但不限于键盘、鼠标、摄像头、麦克风或触控设备。输出装置140用于输出指令或数据,输出装置140包括但不限于显示设备和扬声器等。在一个示例中,输入装置130和输出装置140可以合设,输入装置130和输出装置140为触摸显示屏,该触摸显示屏用于接收用户使用手指、触摸笔等任何适合的物体在其上或附近的触摸操作,以及显示各个应用程序的用户界面。触摸显示屏通常设置在电子设备的前面板。触摸显示屏可被设计成为全面屏、曲面屏或异型屏。触摸显示屏还可被设计成为全面屏与曲面屏的结合,异型屏与曲面屏的结合,本说明书对此不加以限定。
除此之外,本领域技术人员可以理解,上述附图所示出的电子设备的结构并不构成对电子设备的限定,电子设备可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。比如,电子设备中还包括射频电路、输入单元、传感器、音频电路、无线保真(wireless fidelity,WiFi)模块、电源、蓝牙模块等部件,在此不再赘述。
在本说明书中,各步骤的执行主体可以是上文介绍的电子设备。可选地,各步骤的执行主体为电子设备的操作系统。操作系统可以是安卓系统,也可以是IOS系统,或者其它操作系统,本说明书对此不作限定。
本说明书的电子设备,其上还可以安装有显示设备,显示设备可以是各种能实现显示功能的设备,例如:阴极射线管显示器(cathode ray tubedisplay,简称CR)、发光二极管显示器(light-emitting diode display,简称LED)、电子墨水屏、液晶显示屏(liquidcrystal display,简称LCD)、等离子显示面板(plasma display panel,简称PDP)等。用户可以利用电子设备101上的显示设备,来查看显示的文字、图像、视频等信息。所述电子设备可以是服务器、服务平台、智能手机、平板电脑、游戏设备、AR(Augmented Reality,增强现实)设备、汽车、数据存储装置、音频播放装置、视频播放装置、笔记本、桌面计算设备等设备。
在图9所示的电子设备中,其中电子设备可以是一种服务平台,处理器110可以用于调用存储器120中存储的应用程序,并具体执行以下操作:
监测针对热数据和冷数据的缓存波动状态,基于所述缓存波动状态获取访问用户分布信息;
基于所述访问用户分布信息,对第一数据缓存空间和/或第二数据缓存空间进行缓存空间调节,所述第一数据缓存空间为缓存所述热数据的数据存储空间,所述第二数据缓存空间为缓存所述冷数据的数据缓存空间。
在一个实施例中,所述处理器110在执行所述监测针对热数据和冷数据的缓存波动状态,基于所述缓存波动状态获取访问用户分布信息时,具体执行以下操作:
监测针对热数据和冷数据的缓存波动比例;
若所述缓存波动比例大于或等于波动比例阈值,则获取访问用户分布信息。
在一个实施例中,所述处理器110在执行所述获取访问用户分布信息时,执行以下操作:
获取针对新用户类型的第一用户访问数据,以及针对老用户类型的第二用户访问数据;
基于所述第一用户访问数据以及第二用户访问数据确定新老用户波动数据,将所述新老用户波动数据作为访问用户分布信息;
其中,所述新用户类型和所述老用户类型为针对所述服务平台的访问用户所划分的用户类型。
在一个实施例中,所述处理器110在执行所述基于所述访问用户分布信息,对第一数据缓存空间和/或第二数据缓存空间进行缓存空间调节时,执行以下步骤:
基于所述访问用户分布信息,确定目标缓存调节方式;
采用所述目标缓存调节方式对第一数据缓存空间和/或第二数据缓存空间进行缓存空间调节。
在一个实施例中,所述访问用户分布信息为新老用户波动数据,所述处理器110在执行所述基于所述访问用户分布信息,确定目标缓存调节方时,执行以下步骤:
基于所述新老用户波动数据确定针对所述服务平台的用户流量波动状态;
若所述用户流量波动状态为波动剧烈状态,则确定目标缓存调节方式为缓存动态调节方式;
若所述用户流量波动状态为波动平稳状态,则确定目标缓存调节方式为缓存周期调节方式。
在一个实施例中,所述处理器110在执行所述基于所述新老用户波动数据确定针对所述服务平台的用户流量波动状态时,执行以下步骤:
所述新老用户波动数据包括用户增长量以及新老用户比重;
若所述用户增长量大于增量阈值,且所述新老用户比重大于用户比重阈值,则确定针对所述服务平台的用户流量波动状态为所述波动剧烈状态。
在一个实施例中,所述目标缓存调节方式为缓存动态调节方式,所述处理器110在执行所述采用所述目标缓存调节方式对第一数据缓存空间和/或第二数据缓存空间进行缓存空间调节时,执行以下步骤:
采用所述缓存动态调节方式确定滑动窗口调节区域以及目标调节缓存空间,基于所述滑动窗口调节区域对目标调节缓存空间进行缓存空间调节,所述目标调节缓存空间为所述第一数据缓存空间和第二数据缓存空间中的至少其一。
在一个实施例中,所述处理器110在执行所述确定滑动窗口调节区域时,执行以下步骤:
基于所述访问用户分布信息确定缓存调节比例,基于所述缓存调节比例确定滑动窗口调节区域。
在一个实施例中,所述处理器110在执行所述采用所述缓存动态调节方式确定滑动窗口调节区域以及目标调节缓存空间,基于所述滑动窗口调节区域对目标调节缓存空间进行缓存空间调节时,执行以下步骤:
获取新老用户波动数据和/或冷热数据波动参数,基于所述新老用户波动数据和/或所述冷热数据波动参数,从第一数据缓存空间和第二数据缓存空间中确定目标调节缓存空间;
确定针对第三数据缓存空间的第一缓存调节比例;
基于所述第一缓存调节比例从第三数据缓存空间中选取第一滑动窗口调节区域,将所述第一滑动窗口调节区域与所述目标调节缓存空间相关联,所述第三数据缓存空间为所述第一数据缓存空间和所述第二数据缓存空间中除所述目标调节缓存空间之外的数据缓存空间。
在一个实施例中,所述处理器110在执行所述采用所述缓存动态调节方式确定滑动窗口调节区域以及目标调节缓存空间,基于所述滑动窗口调节区域对目标调节缓存空间进行缓存空间调节时,执行以下步骤:
获取新老用户波动数据和/或冷热数据波动参数,基于所述新老用户波动数据和/或所述冷热数据波动参数,从第一数据缓存空间和第二数据缓存空间中确定目标调节缓存空间;
获取预留缓存空间,确定针对所述预留缓存空间的第二缓存调节比例;所述预留缓存空间为除所述第一数据缓存空间和第二数据缓存空间之外的数据缓存空间;
基于所述第二缓存调节比例从所述预留缓存空间中选取第二滑动窗口调节区域,将所述第二滑动窗口调节区域与目标调节缓存空间相关联。
在一个实施例中,所述处理器110在执行所述缓存管理方法时,还执行以下步骤:
基于所述目标缓存调节方式,对第一数据缓存空间和/或第二数据缓存空间进行缓存淘汰机制调整。
在一个实施例中,所述处理器110在执行所述基于所述目标缓存调节方式,对第一数据缓存空间和/或第二数据缓存空间进行缓存淘汰机制调整时,执行以下步骤:
若所述目标缓存调节方式为缓存动态调节方式,则采用最近最少使用缓存机制对所述第一数据缓存空间进行缓存淘汰处理,和采用最不经常使用缓存机制对所述第二数据缓存空间进行缓存淘汰处理。
在一个实施例中,所述处理器110在执行所述缓存管理方法时,还执行以下步骤:
获取针对第一数据缓存空间和/或第二数据缓存空间的待存储的第一缓存数据;
对所述第一缓存数据进行目标编码处理,得到第二缓存编码数据;所述第二缓存编码数据为不含键值对中关键字元素数据的缓存编码数据。
对所述第二缓存数据进行缓存存储。
在一个实施例中,所述处理器110在执行所述对所述第一缓存数据进行目标编码处理,得到第二缓存数据时,具体执行以下步骤:
确定所述第一缓存数据对应的第一缓存关键信息,所述第一缓存关键信息包括基于键值对编码方式生成的关键字元素数据以及值元素数据;
确定针对关键字元素数据的分隔符,基于所述值元素数据和所述分隔符进行编码处理,得到第二缓存数据。
在一个实施例中,所述处理器110在执行所述缓存管理方法时,还执行以下步骤:
响应于客户端的数据查询请求,获取第二缓存数据;
对所述第二缓存数据进行目标解码处理得到第三缓存数据,将所述第三缓存数据发送至客户端;或,将所述第二缓存数据发送至客户端,以使所述客户端对所述第二缓存数据进行目标解码处理得到第三缓存数据;
其中,所述第三缓存数据为包含键值对中关键字元素数据的缓存编码数据。
在一个实施例中,所述处理器110在执行所述对所述第二缓存数据进行目标解码处理,得到第三缓存数据时,具体执行以下步骤:
确定所述第二缓存数据对应的第二缓存关键信息,所述第二缓存关键信息包括值元素数据和分隔符;
基于所述值元素数据和/或所述分隔符确定关键字元素数据,基于所述值元素数据和所述关键字元素数据进行编码处理,得到第三缓存数据
在本说明书一个或多个实施例中,服务平台通过监测针对热数据和冷数据的缓存波动状态以获取当前的访问用户分布信息,基于访问用户分布信息对第一数据缓存空间和/或第二数据缓存空间进行缓存空间动态调节。基于访问用户分布信息一定程度上可预测冷热数据的缓存量的波动,可预先对相应缓存空间进行调节,提高了请求数据时缓存命中率,降低服务平台的处理压力。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体或随机存储记忆体等。
以上所揭露的仅为本申请较佳实施例而已,当然不能以此来限定本申请之权利范围,因此依本申请权利要求所作的等同变化,仍属本申请所涵盖的范围。
Claims (20)
1.一种缓存管理方法,应用于服务平台,所述方法包括:
监测针对热数据和冷数据的缓存波动状态,基于所述缓存波动状态获取访问用户分布信息;
基于所述访问用户分布信息,对第一数据缓存空间和/或第二数据缓存空间进行缓存空间调节,所述第一数据缓存空间为缓存所述热数据的数据存储空间,所述第二数据缓存空间为缓存所述冷数据的数据缓存空间。
2.根据权利要求1所述的方法,所述监测针对热数据和冷数据的缓存波动状态,基于所述缓存波动状态获取访问用户分布信息,包括:
监测针对热数据和冷数据的缓存波动比例;
若所述缓存波动比例大于或等于波动比例阈值,则获取访问用户分布信息。
3.根据权利要求1或2所述的方法,所述获取访问用户分布信息,包括:
获取针对新用户类型的第一用户访问数据,以及针对老用户类型的第二用户访问数据;
基于所述第一用户访问数据以及第二用户访问数据确定新老用户波动数据,将所述新老用户波动数据作为访问用户分布信息;
其中,所述新用户类型和所述老用户类型为针对所述服务平台的访问用户所划分的用户类型。
4.根据权利要求1所述的方法,所述基于所述访问用户分布信息,对第一数据缓存空间和/或第二数据缓存空间进行缓存空间调节,包括:
基于所述访问用户分布信息,确定目标缓存调节方式;
采用所述目标缓存调节方式对第一数据缓存空间和/或第二数据缓存空间进行缓存空间调节。
5.根据权利要求4所述的方法,所述访问用户分布信息为新老用户波动数据,
所述基于所述访问用户分布信息,确定目标缓存调节方式,包括:
基于所述新老用户波动数据确定针对所述服务平台的用户流量波动状态;
若所述用户流量波动状态为波动剧烈状态,则确定目标缓存调节方式为缓存动态调节方式;
若所述用户流量波动状态为波动平稳状态,则确定目标缓存调节方式为缓存周期调节方式。
6.根据权利要求5所述的方法,所述基于所述新老用户波动数据确定针对所述服务平台的用户流量波动状态,包括:
所述新老用户波动数据包括用户增长量以及新老用户比重;
若所述用户增长量大于增量阈值,且所述新老用户比重大于用户比重阈值,则确定针对所述服务平台的用户流量波动状态为所述波动剧烈状态。
7.根据权利要求4所述的方法,所述目标缓存调节方式为缓存动态调节方式,
所述采用所述目标缓存调节方式对第一数据缓存空间和/或第二数据缓存空间进行缓存空间调节,包括:
采用所述缓存动态调节方式确定滑动窗口调节区域以及目标调节缓存空间,基于所述滑动窗口调节区域对目标调节缓存空间进行缓存空间调节,所述目标调节缓存空间为所述第一数据缓存空间和第二数据缓存空间中的至少其一。
8.根据权利要求7所述的方法,所述确定滑动窗口调节区域,包括:
基于所述访问用户分布信息确定缓存调节比例,基于所述缓存调节比例确定滑动窗口调节区域。
9.根据权利要求7所述的方法,所述采用所述缓存动态调节方式确定滑动窗口调节区域以及目标调节缓存空间,基于所述滑动窗口调节区域对目标调节缓存空间进行缓存空间调节,包括:
获取新老用户波动数据和/或冷热数据波动参数,基于所述新老用户波动数据和/或所述冷热数据波动参数,从第一数据缓存空间和第二数据缓存空间中确定目标调节缓存空间;
确定针对第三数据缓存空间的第一缓存调节比例;
基于所述第一缓存调节比例从第三数据缓存空间中选取第一滑动窗口调节区域,将所述第一滑动窗口调节区域与所述目标调节缓存空间相关联,所述第三数据缓存空间为所述第一数据缓存空间和所述第二数据缓存空间中除所述目标调节缓存空间之外的数据缓存空间。
10.根据权利要求7所述的方法,所述采用所述缓存动态调节方式确定滑动窗口调节区域以及目标调节缓存空间,基于所述滑动窗口调节区域对目标调节缓存空间进行缓存空间调节,包括:
获取新老用户波动数据和/或冷热数据波动参数,基于所述新老用户波动数据和/或所述冷热数据波动参数,从第一数据缓存空间和第二数据缓存空间中确定目标调节缓存空间;
获取预留缓存空间,确定针对所述预留缓存空间的第二缓存调节比例;所述预留缓存空间为除所述第一数据缓存空间和第二数据缓存空间之外的数据缓存空间;
基于所述第二缓存调节比例从所述预留缓存空间中选取第二滑动窗口调节区域,将所述第二滑动窗口调节区域与目标调节缓存空间相关联。
11.根据权利要求4所述的方法,所述方法还包括:
基于所述目标缓存调节方式,对第一数据缓存空间和/或第二数据缓存空间进行缓存淘汰机制调整。
12.根据权利要求11所述的方法,所述基于所述目标缓存调节方式,对第一数据缓存空间和/或第二数据缓存空间进行缓存淘汰机制调整,包括:
若所述目标缓存调节方式为缓存动态调节方式,则采用最近最少使用缓存机制对所述第一数据缓存空间进行缓存淘汰处理,和采用最不经常使用缓存机制对所述第二数据缓存空间进行缓存淘汰处理。
13.根据权利要求1所述的方法,所述方法还包括:
获取针对第一数据缓存空间和/或第二数据缓存空间的待存储的第一缓存数据;
对所述第一缓存数据进行目标编码处理,得到第二缓存编码数据;所述第二缓存编码数据为不含键值对中关键字元素数据的缓存编码数据;
对所述第二缓存数据进行缓存存储。
14.根据权利要求13所述的方法,所述对所述第一缓存数据进行目标编码处理,得到第二缓存数据,包括:
确定所述第一缓存数据对应的第一缓存关键信息,所述第一缓存关键信息包括基于键值对编码方式生成的关键字元素数据以及值元素数据;
确定针对关键字元素数据的分隔符,基于所述值元素数据和所述分隔符进行编码处理,得到第二缓存数据。
15.根据权利要求13所述的方法,所述方法还包括:
响应于客户端的数据查询请求,获取第二缓存数据;
对所述第二缓存数据进行目标解码处理得到第三缓存数据,将所述第三缓存数据发送至客户端;或,将所述第二缓存数据发送至客户端,以使所述客户端对所述第二缓存数据进行目标解码处理得到第三缓存数据;
其中,所述第三缓存数据为包含键值对中关键字元素数据的缓存编码数据。
16.根据权利要求15所述的方法,所述对所述第二缓存数据进行目标解码处理,得到第三缓存数据,包括:
确定所述第二缓存数据对应的第二缓存关键信息,所述第二缓存关键信息包括值元素数据和分隔符;
基于所述值元素数据和/或所述分隔符确定关键字元素数据,基于所述值元素数据和所述关键字元素数据进行编码处理,得到第三缓存数据。
17.一种缓存管理装置,所述装置包括:
信息获取模块,用于监测针对热数据和冷数据的缓存波动状态,基于所述缓存波动状态获取访问用户分布信息;
数据处理模块,用于基于所述访问用户分布信息,对第一数据缓存空间和/或第二数据缓存空间进行缓存空间调节,所述第一数据缓存空间为缓存所述热数据的数据存储空间,所述第二数据缓存空间为缓存所述冷数据的数据缓存空间。
18.一种计算机存储介质,所述计算机存储介质存储有多条指令,所述指令适于由处理器加载并执行如权利要求1~16任意一项的方法步骤。
19.一种计算机程序产品,该计算机程序产品存储有至少一条指令,所述至少一条指令由所述处理器加载并执行如权利要求1~16任意一项的方法步骤。
20.一种电子设备,包括:处理器和存储器;其中,所述存储器存储有计算机程序,所述计算机程序适于由所述处理器加载并执行如权利要求1~16任意一项的方法步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210907778.5A CN115334158A (zh) | 2022-07-29 | 2022-07-29 | 一种缓存管理方法、装置、存储介质及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210907778.5A CN115334158A (zh) | 2022-07-29 | 2022-07-29 | 一种缓存管理方法、装置、存储介质及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115334158A true CN115334158A (zh) | 2022-11-11 |
Family
ID=83919121
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210907778.5A Pending CN115334158A (zh) | 2022-07-29 | 2022-07-29 | 一种缓存管理方法、装置、存储介质及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115334158A (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107426302A (zh) * | 2017-06-26 | 2017-12-01 | 腾讯科技(深圳)有限公司 | 访问调度方法、装置、系统、终端、服务器及存储介质 |
CN107562804A (zh) * | 2017-08-08 | 2018-01-09 | 上海数据交易中心有限公司 | 数据缓存服务系统及方法、终端 |
CN108459821A (zh) * | 2017-02-21 | 2018-08-28 | 中兴通讯股份有限公司 | 一种数据缓存的方法及装置 |
CN109344092A (zh) * | 2018-09-11 | 2019-02-15 | 天津易华录信息技术有限公司 | 一种提高冷存储数据读取速度的方法和系统 |
CN110442309A (zh) * | 2019-07-24 | 2019-11-12 | 广东紫晶信息存储技术股份有限公司 | 一种基于光存储的冷热数据交换方法及系统 |
CN113688160A (zh) * | 2021-09-08 | 2021-11-23 | 北京沃东天骏信息技术有限公司 | 数据处理方法、处理装置、电子设备及存储介质 |
CN113742131A (zh) * | 2020-05-29 | 2021-12-03 | 伊姆西Ip控股有限责任公司 | 用于存储管理的方法、电子设备和计算机程序产品 |
-
2022
- 2022-07-29 CN CN202210907778.5A patent/CN115334158A/zh active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108459821A (zh) * | 2017-02-21 | 2018-08-28 | 中兴通讯股份有限公司 | 一种数据缓存的方法及装置 |
US20210133103A1 (en) * | 2017-02-21 | 2021-05-06 | Zte Corporation | Data caching method and apparatus |
CN107426302A (zh) * | 2017-06-26 | 2017-12-01 | 腾讯科技(深圳)有限公司 | 访问调度方法、装置、系统、终端、服务器及存储介质 |
CN107562804A (zh) * | 2017-08-08 | 2018-01-09 | 上海数据交易中心有限公司 | 数据缓存服务系统及方法、终端 |
CN109344092A (zh) * | 2018-09-11 | 2019-02-15 | 天津易华录信息技术有限公司 | 一种提高冷存储数据读取速度的方法和系统 |
CN110442309A (zh) * | 2019-07-24 | 2019-11-12 | 广东紫晶信息存储技术股份有限公司 | 一种基于光存储的冷热数据交换方法及系统 |
CN113742131A (zh) * | 2020-05-29 | 2021-12-03 | 伊姆西Ip控股有限责任公司 | 用于存储管理的方法、电子设备和计算机程序产品 |
CN113688160A (zh) * | 2021-09-08 | 2021-11-23 | 北京沃东天骏信息技术有限公司 | 数据处理方法、处理装置、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109684358B (zh) | 数据查询的方法和装置 | |
CN111240837B (zh) | 资源配置方法、装置、终端及存储介质 | |
US10698559B2 (en) | Method and apparatus for displaying content on same screen, and terminal device | |
US9712854B2 (en) | Cost-aware cloud-based content delivery | |
US10489476B2 (en) | Methods and devices for preloading webpages | |
US20100087179A1 (en) | Device, system and method for providing distributed online services | |
US9374244B1 (en) | Remote browsing session management | |
CN113117326B (zh) | 一种帧率控制方法和装置 | |
CN112260853A (zh) | 容灾切换方法、装置、存储介质及电子设备 | |
WO2014001927A1 (en) | Incremental preparation of videos for delivery | |
Xinogalos et al. | Recent advances delivered by HTML 5 in mobile cloud computing applications: a survey | |
US9722851B1 (en) | Optimized retrieval of network resources | |
WO2019047708A1 (zh) | 资源配置方法及相关产品 | |
CN111818509B (zh) | 一种资源的转换方法、装置及设备 | |
CN115334158A (zh) | 一种缓存管理方法、装置、存储介质及电子设备 | |
CN115328725A (zh) | 状态监测方法、装置、存储介质及电子设备 | |
US9414081B1 (en) | Adaptation of digital image transcoding based on estimated mean opinion scores of digital images | |
CN107426114A (zh) | 资源分配方法及系统 | |
CN111770510A (zh) | 网络体验状态确定方法、装置、存储介质及电子设备 | |
US10693991B1 (en) | Remote browsing session management | |
CN114157710B (zh) | 通信策略配置方法、装置、存储介质及设备 | |
CN112612487B (zh) | 应用安装方法、装置、存储介质以及终端 | |
CN113315687B (zh) | 代理网络管理方法、装置、存储介质以及终端 | |
EP4060592A1 (en) | Method and system for acquiring content, user terminal, and content server | |
CN118555246A (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 |