一种缓存过期时间调整方法、装置、电子设备及存储介质与流程

文档序号:20679897发布日期:2020-05-08 18:17阅读:184来源:国知局
一种缓存过期时间调整方法、装置、电子设备及存储介质与流程
本申请涉及计算机
技术领域
,尤其涉及一种缓存过期时间调整方法、装置、电子设备及存储介质。
背景技术
:app后台系统,为了提高系统并发量、降低接口响应时间,经常会用到缓存技术。缓存技术是基于服务器设计的,而服务器的资源都比较珍贵。常规设置是设置相对的缓存过期时间,即系统当前时间之后多少s(秒)过期。这是一种常用的设置方式,实际系统中,大多采用这种方式来设置缓存过期时间。视频播放区域的圈子模块,针对不用的视频,展示的圈子列表数据是不同的,由于播放量很高,该部分数据获取的接口,每秒查询率qps高达2w+。接口在实现的时候,使用了缓存技术。初期的版本,缓存的过期时间,使用的是第一种方式,不同视频关联的圈子列表数据,在往缓存更新数据的时候,设置为固定的值(比如:300s)。这种方式,对于热点的视频数据,并不能充分的发挥缓存数据的优势。比如:某电视剧热播的时候,晚上到了更新视频的时间,大量用户蜂拥而至,观看视频。后台接口的请求量暴涨,在用户观看视频的过程中不可避免会遇到缓存数据过期,一旦缓存数据过期,将只能从服务器端的持久化存储(如:mysql数据库或者是hbase数据库)中获取资源,对持久化存储资源的访问量就会暴增,这对持久化存储资源带来巨大的压力,从而影响整体系统的性能。技术实现要素:为了解决上述技术问题或者至少部分地解决上述技术问题,本申请提供了一种缓存过期时间调整方法、装置、电子设备及存储介质。第一方面,本申请提供了一种缓存过期时间调整方法,包括:获取热点视频当前在缓存中对应的缓存内容的访问频次;在预设的频次时间段对应关系中,确定所述访问频次所在的频次区间及与所述频次区间对应的频次过期时间段;基于缓存更新数据时设置的固定的基础过期时间段和所述频次过期时间段,计算所述缓存内容的目标过期时间;将所述缓存内容的原始过期时间调整为所述目标过期时间。可选地,获取热点视频的热播时间段;判断当前时刻是否位于所述热播时间段内;若所述当前时刻位于所述热播时间段内,获取与所述热播时间段对应的附加时间段;基于缓存更新数据时设置的固定的基础过期时间段和所述频次过期时间段,计算所述缓存内容的目标过期时间的步骤,包括:将所述附加时间段、所述频次过期时间段及缓存更新数据时设置的固定的基础过期时间段的和,确定为所述缓存内容的目标过期时间。可选地,在到达所述热点视频的目标过期时间之前,若接收到提前更新通知,对缓存中与所述热点视频对应的缓存内容进行更新。可选地,所述获取热点视频当前在缓存中对应的缓存内容的访问频次的步骤,包括:每间隔预设时间段,获取热点视频当前在缓存中对应的缓存内容的访问频次。第二方面,本申请提供了一种缓存过期时间调整装置,包括:第一获取模块,用于获取热点视频当前在缓存中对应的缓存内容的访问频次;确定模块,用于在预设的频次时间段对应关系中,确定所述访问频次所在的频次区间及与所述频次区间对应的频次过期时间段;计算模块,用于基于缓存更新数据时设置的固定的基础过期时间段和所述频次过期时间段,计算所述缓存内容的目标过期时间;调整模块,用于将所述缓存内容的原始过期时间调整为所述目标过期时间。可选地,所述装置还包括:第二获取模块,用于获取热点视频的热播时间段;判断模块,用于判断当前时刻是否位于所述热播时间段内;第三获取模块,用于若所述当前时刻位于所述热播时间段内,获取与所述热播时间段对应的附加时间段;所述计算模块,包括:第一计算单元,用于将所述附加时间段、所述频次过期时间段及缓存更新数据时设置的固定的基础过期时间段的和,确定为所述缓存内容的目标过期时间。可选地,所述装置还包括:提前更新模块,用于在到达所述热点视频的目标过期时间之前,若接收到提前更新通知,对缓存中与所述热点视频对应的缓存内容进行更新。可选地,所述第一获取模块,还用于:每间隔预设时间段,获取热点视频当前在缓存中对应的缓存内容的访问频次。第三方面,本申请提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;存储器,用于存放计算机程序;处理器,用于执行存储器上所存放的程序时,实现第一方面任一所述的一种缓存过期时间调整方法。第四方面,本申请提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有一种缓存过期时间调整方法的程序,所述一种缓存过期时间调整方法的程序被处理器执行时实现第一方面任一所述的一种缓存过期时间调整方法的步骤。本申请实施例提供的上述技术方案与现有技术相比具有如下优点:本发明实施例通过获取热点视频当前在缓存中对应的缓存内容的访问频次,在预设的频次时间段对应关系中,确定所述访问频次所在的频次区间及与所述频次区间对应的频次过期时间段,基于缓存更新数据时设置的固定的基础过期时间段和所述频次过期时间段,计算所述缓存内容的目标过期时间,可以将所述缓存内容的原始过期时间调整为所述目标过期时间。本发明实施例能够自动根据访问频次计算缓存内容的目标过期时间,再将缓存内容的原始过期时间调整为目标过期时间,实现根据热点视频的访问频次动态调整缓存过期时间,充分发挥缓存的功能,同时减轻持久化存储的压力,提升系统稳定性,避免一直保持静态的默认过期时间不变,导致的热点视频的热播时间段内出现缓存内容过期的情况,对持久化存储资源带来巨大的压力,从而影响整体系统的性能。附图说明此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1为本申请实施例提供的一种缓存过期时间调整方法的流程图;图2为本申请实施例提供的一种缓存过期时间调整装置的结构图;图3为本申请实施例提供的一种电子设备的结构示意图。具体实施方式为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。现有技术中,比如:某电视剧热播的时候,晚上到了更新视频的时间,大量用户蜂拥而至,观看视频。后台接口的请求量暴涨,在用户观看视频的过程中不可避免会遇到缓存数据过期,一旦缓存数据过期,将只能从服务器中获取资源,这对持久化存储资源带来巨大的压力,从而影响整体系统的性能,本申请实施例提供了一种缓存过期时间调整方法、装置、电子设备及存储介质,如图1所示,所述缓存过期时间调整方法可以应用于服务器,客户端发http请求到后端服务器,后端服务器接收到请求之后,会去缓存查询数据,统计去缓存查询的次数就是访问频次。所述方法包括以下步骤:步骤s101,获取热点视频当前在缓存中对应的缓存内容的访问频次;在本发明实施例中,热点视频可以指热度值超过预设阈值的视频,热度值是确定视频是否是热点视频的关键指标。示例性的,热度值具体计分方式:热度值包括观看行为指标、互动行为指标和分享行为指标,并且根据时间段将数据的权重做出区分。以内容热度为例,在计算时,该网站参考两个时间段的数值:一个是近24小时的观看、互动、分享数据;一个是近30天的观看、互动、分享数据,并以近24小时的多维度数据权重更高。而观看数据,也不是简单的播放量累加,而是在计算用户观看视频的整体时长和完成度的基础上,综合用户数等数据得出的,甚至还要对正片观看数据和片花观看数据进行加权计算,让观看数据更能体现“观看质量”。至于“互动行为”和“分享行为”,则是对用户评论、点赞、转发、弹幕等交互行为的综合计算,试图通过算法来增加评判的客观性和反作弊能力。在该步骤之前,可以首先计算视频的热度值,若热度值超过预设阈值,则可以将该视频确定为热点视频;也可以根据实际情况需要,人工设置某个视频为热点视频。在该步骤中,可以获取预先确定的热点视频在缓存中获取与该热点视频对应的缓存内容的访问频次,缓存内容可以指该热点视频的键(key);还可以指该热点视频的名称,如:“西游记”;还可以指该热点视频的视频内容等。在实际应用中,访问频次的数值可以由任务中心对应的服务器维护,业务系统对应的服务器的缓存中的某视频每接受到一次访问,可以向任务中心对应的服务器发送一次通知,进而由任务中心对应的服务器来统计该视频对应的缓存内容的访问频次。在实际应用中,为了能够不断的延长缓存内容的过期时间,可以每间隔预设时间段,即重新执行步骤s101,预设时间段可以根据实际需求设置为1分钟或者5分钟等等。步骤s102,在预设的频次时间段对应关系中,确定所述访问频次所在的频次区间及与所述频次区间对应的频次过期时间段;本发明实施例中,由于不同访问频次的热点视频对接口缓存的请求次数会有差别,所以可以使用访问频次来作为确定目标过期时间的依据。在本发明实施例中,可以预先根据缓存内容的访问频次,划分不同的频次区间,不同的频次区间对应不同的频次过期时间段,例如下表1:表1频次区间频次过期时间段(单位:s)1000以上1200500-1000600500以内300在该步骤中,可以在表1中查询访问频次所在的时间区间,例如,某电视剧在热播时间段内的访问频次1200次,则1200次所在的时间区间为500-1000,频次区间500-1000对应的频次过期时间段为600秒。步骤s103,基于缓存更新数据时设置的固定的基础过期时间段和所述频次过期时间段,计算所述缓存内容的目标过期时间;步骤s104,将所述缓存内容的原始过期时间调整为所述目标过期时间。在本发明实施例中,目标过期时间应当大于原始过期时间,由于将缓存内容的过期时间由较短的原始过期时间调整为较大的目标过期时间,这样,将延长缓存内容的过期时间,使得在目标过期时间之前的较长时间段内(相对于原始过期时间来说更长),均可以从缓存获取热点视频对应的缓存内容,减少对服务器端持久化存储资源的访问,避免缓存内容在较短的时间内过期导致的对服务器端持久化存储资源的访问暴增的情况。在该步骤中,任务中心对应的服务器可以进行缓存过期时间更新,即将缓存内容的默认过期时间调整为目标过期时间。本发明实施例通过获取热点视频当前在缓存中对应的缓存内容的访问频次,在预设的频次时间段对应关系中,确定所述访问频次所在的频次区间及与所述频次区间对应的频次过期时间段,基于缓存更新数据时设置的固定的基础过期时间段和所述频次过期时间段,计算所述缓存内容的目标过期时间,可以将所述缓存内容的原始过期时间调整为所述目标过期时间。本发明实施例能够自动根据访问频次计算缓存内容的目标过期时间,再将缓存内容的原始过期时间调整为目标过期时间,实现根据热点视频的访问频次动态调整缓存过期时间,充分发挥缓存的功能,同时减轻持久化存储的压力,提升系统稳定性,避免一直保持静态的默认过期时间不变,导致的热点视频的热播时间段内出现缓存内容过期的情况,对持久化存储资源带来巨大的压力,从而影响整体系统的性能。在本发明的又一实施例中,在步骤s103之前,所述方法还包括:获取所述热点视频的热播时间段;在本发明实施例中,热点视频的热播时间段可以参考视频更新时间来计算,例如:《西游记》的更新时间段为20:00,每集时长1小时,则可以将视频的播出时间段20:00-21:00确定为热播时间段。由于热点视频在热播时间段与非热播时间段访问量差异很大,热点视频在热播时间段对接口缓存的请求次数会暴涨,在非热播时间段可能对接口缓存的请求次数将会处于正常范围内,所以还可以使用热播时间段和来作为确定目标过期时间的依据。判断当前时刻是否位于所述热播时间段内;在实际应用中,可以每间隔0.5秒、5秒、10秒或者1分钟等等判断当前时刻是否位于所述热播时间段内,可以为了节省资源,间隔稍长一点,但间隔应当小于目标过期时间与默认过期时间的间隔。在该步骤中,可以将当前时刻分别与热播时间段的较小边界和较大边界比较,若当前时刻大于较小边界并小于较大边界,则可以确定当前时刻位于热播时间段内,若当前时刻小于较小边界或者大于较大边界,则可以确定当前时刻位于热播时间段外。若所述当前时刻位于所述热播时间段内,获取与所述热播时间段对应的附加时间段;在本发明实施例中,可以预先设置附加时间段,例如:附加时间段300s(秒)等等。基于前述内容,所述步骤s103,包括:将所述附加时间段、所述频次过期时间段及缓存更新数据时设置的固定的基础过期时间段的和,确定为所述缓存内容的目标过期时间。在本发明实施例中,可以预先设置缓存更新数据时设置的固定的基础过期时间段,例如:基础过期时间段为300s(秒)等。在该步骤中,可以将300+300+1200=1800s(秒)确定为目标过期时间,也就是说,缓存内容从当前时刻开始,在第1800s(秒)时过期。本发明实施例,能够在当前时刻位于热播时间段内时,根据基础过期时间段、所述附加时间段及所述频次过期时间段的和计算目标过期时间,通过引入当前时刻与所述热播时间段之间的关系这个变量,并在当前时刻位于热播时间段内时,考虑到计算过程的影响,在计算基础过期时间段和频次过期时间段的和之后,再加上热播过期附加时间段,以使最终计算得到的目标过期时间更加准确、恰当。基于前述实施例,在本发明的又一实施例中,步骤s103,还可以包括以下步骤:若所述当前时刻位于所述热播时间段外,将所述基础过期时间段及所述频次过期时间段的和确定为所述目标过期时间;在该步骤中,可以将300+1200=1500s(秒)确定为目标过期时间,也就是说,缓存内容从当前时刻开始,在第1500s(秒)时过期。本发明实施例,能够在当前时刻位于热播时间段外时,根据基础过期时间段及所述频次过期时间段的和计算目标过期时间,通过引入当前时刻与所述热播时间段之间的关系这个变量,并在当前时刻位于热播时间段外时,不考虑计算过程的影响,在计算基础过期时间段和频次过期时间段的和之后,不再加上附加时间段,以使最终计算得到的目标过期时间更加准确、恰当。由于前述实施例将原始过期时间调整为目标过期时间,缓存内容的过期时间已经被延长,但是在实际应用中,可能会存在某些特殊的缓存内容,例如:对某明星的直播信息做预告,需要很快就展示出来,无法等到之前的缓存内容到达目标过期时间时才更新为新的缓存内容(即预告信息),为此,在本发明的又一实施例中,所述方法还包括:在到达所述热点视频的目标过期时间之前,若接收到提前更新通知,对缓存中与所述热点视频对应的缓存内容进行更新。在本发明实施例中,提前更新通知中可以包括更新内容,也可以通过其它方式将更新内容发送至任务中心对应的服务器,任务中心对应的服务器可以在接收到提前更新通知时,按照更新内容进行缓存内容的更新,即:将缓存中原来的缓存内容更新为更新内容。本发明实施例可以通过异步通知的形式通知服务器及时进行缓存内容的更新,以便于某些需要尽快更新缓存内容的场景使用。在本发明的又一实施例中,还提供一种缓存过期时间调整装置,如图2所示,所述装置包括:第一获取模块11,用于获取热点视频当前在缓存中对应的缓存内容的访问频次;确定模块12,用于在预设的频次时间段对应关系中,确定所述访问频次所在的频次区间及与所述频次区间对应的频次过期时间段;计算模块13,用于基于缓存更新数据时设置的固定的基础过期时间段和所述频次过期时间段,计算所述缓存内容的目标过期时间;调整模块14,用于将所述缓存内容的原始过期时间调整为所述目标过期时间。在本发明的又一实施例中,所述装置还包括:第二获取模块,用于获取热点视频的热播时间段;判断模块,用于判断当前时刻是否位于所述热播时间段内;第三获取模块,用于若所述当前时刻位于所述热播时间段内,获取与所述热播时间段对应的附加时间段;所述计算模块,包括:第一计算单元,用于将所述附加时间段、所述频次过期时间段及缓存更新数据时设置的固定的基础过期时间段的和,确定为所述缓存内容的目标过期时间。在本发明的又一实施例中,所述装置还包括:提前更新模块,用于在到达所述热点视频的目标过期时间之前,若接收到提前更新通知,对缓存中与所述热点视频对应的缓存内容进行更新。在本发明的又一实施例中,所述第一获取模块,还用于:每间隔预设时间段,获取热点视频当前在缓存中对应的缓存内容的访问频次。在本发明的又一实施例中,还提供一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;存储器,用于存放计算机程序;处理器,用于执行存储器上所存放的程序时,实现前述方法实施例所述的一种缓存过期时间调整方法。在本发明的又一实施例中,还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有一种缓存过期时间调整方法的程序,所述一种缓存过期时间调整方法的程序被处理器执行时实现前述方法实施例所述的一种缓存过期时间调整方法的步骤。本发明实施例提供的电子设备,处理器通过执行存储器上所存放的程序实现了通过获取热点视频当前在缓存中对应的缓存内容的访问频次,在预设的频次时间段对应关系中,确定所述访问频次所在的频次区间及与所述频次区间对应的频次过期时间段,基于缓存更新数据时设置的固定的基础过期时间段和所述频次过期时间段,计算所述缓存内容的目标过期时间,可以将所述缓存内容的原始过期时间调整为所述目标过期时间。实现自动根据访问频次计算缓存内容的目标过期时间,再将缓存内容的原始过期时间调整为目标过期时间,实现根据热点视频的访问频次动态调整缓存过期时间,充分发挥缓存的功能,同时减轻持久化存储的压力,提升系统稳定性,避免一直保持静态的默认过期时间不变,导致的热点视频的热播时间段内出现缓存内容过期的情况,对持久化存储资源带来巨大的压力,从而影响整体系统的性能。上述电子设备提到的通信总线1140可以是外设部件互连标准(peripheralcomponentinterconnect,简称pci)总线或扩展工业标准结构(extendedindustrystandardarchitecture,简称eisa)总线等。该通信总线1140可以分为地址总线、数据总线、控制总线等。为便于表示,图3中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。通信接口1120用于上述电子设备与其他设备之间的通信。存储器1130可以包括随机存取存储器(randomaccessmemory,简称ram),也可以包括非易失性存储器(non-volatilememory),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。上述的处理器1110可以是通用处理器,包括中央处理器(centralprocessingunit,简称cpu)、网络处理器(networkprocessor,简称np)等;还可以是数字信号处理器(digitalsignalprocessing,简称dsp)、专用集成电路(applicationspecificintegratedcircuit,简称asic)、现场可编程门阵列(field-programmablegatearray,简称fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。以上所述仅是本发明的具体实施方式,使本领域技术人员能够理解或实现本发明。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所申请的原理和新颖特点相一致的最宽的范围。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1