缓存更新方法及装置制造方法及图纸

技术编号:28988484 阅读:24 留言:0更新日期:2021-06-23 09:40
本申请提供缓存更新方法及装置,其中所述缓存更新方法包括:接收针对离散缓存中缓存单元的更新请求;基于所述更新请求中携带的针对待用于更新的第一数据在目标对象中对应的推移时间,对所述更新请求进行合理性检测;在基于所述合理性检测的检测结果确定执行所述更新请求,且在所述离散缓存中存在缓存状态为第一状态的目标缓存单元的情况下,将所述第一数据填充至所述目标缓存单元;在请求使用所述目标缓存单元中的所述第一数据时,对所述目标缓存单元中的所述第一数据进行交付。

【技术实现步骤摘要】
缓存更新方法及装置
本申请涉及数据处理
,特别涉及一种缓存更新方法。本申请同时涉及一种缓存更新装置,一种计算设备,以及一种计算机可读存储介质。
技术介绍
随着视频产业的发展,用户对视频的播放质量要求越来越高,而提高视频的播放质量,不仅需要对视频进行复杂的渲染,还需要提高视频的刷新率,然而目前若满足上述需求,通常采用三级缓存的机构对视频进行播放处理,在这个过程中,所占用的缓存是非常大并且存在冗余的,而若不采用三级缓存结构,则在视频播放过程中不仅可能出现大量丢帧的情况,还会降低对GPU的使用率。
技术实现思路
有鉴于此,本申请实施例提供了一种缓存更新方法。本申请同时涉及一种缓存更新装置,一种计算设备,以及一种计算机可读存储介质,以解决现有技术中存在的播放大量掉帧或视频播放处理中占用大量缓存的技术问题。根据本申请实施例的第一方面,提供了一种缓存更新方法,包括:接收针对离散缓存中缓存单元的更新请求;基于所述更新请求中携带的针对待用于更新的第一数据在目标对象中对应的推移时间,对所述更新请求进行合理性检测;在基于所述合理性检测的检测结果确定执行所述更新请求,且在所述离散缓存中存在缓存状态为第一状态的目标缓存单元的情况下,将所述第一数据填充至所述目标缓存单元;在请求使用所述目标缓存单元中的所述第一数据时,对所述目标缓存单元中的所述第一数据进行交付。根据本申请实施例的第二方面,提供了一种缓存更新装置,包括:接收模块,被配置为接收针对离散缓存中缓存单元的更新请求;检测模块,被配置为基于所述更新请求中携带的针对待用于更新的第一数据在目标对象中对应的推移时间,对所述更新请求进行合理性检测;填充模块,被配置为在基于所述合理性检测的检测结果确定执行所述更新请求,且在所述离散缓存中存在缓存状态为第一状态的目标缓存单元的情况下,将所述第一数据填充至所述目标缓存单元;交付模块,被配置为在请求使用所述目标缓存单元中的所述第一数据时,对所述目标缓存单元中的所述第一数据进行交付。根据本申请实施例的第三方面,提供了一种计算设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机指令,所述处理器执行所述计算机指令时实现所述缓存更新方法的步骤。根据本申请实施例的第四方面,提供了一种计算机可读存储介质,其存储有计算机指令,所述计算机指令被处理器执行时实现所述缓存更新方法的步骤。本申请提供的缓存更新方法,通过接收针对离散缓存中缓存单元的更新请求;基于所述更新请求中携带的针对待用于更新的第一数据在目标对象中对应的推移时间,对所述更新请求进行合理性检测;在基于所述合理性检测的检测结果确定执行所述更新请求,且在所述离散缓存中存在缓存状态为第一状态的目标缓存单元的情况下,将所述第一数据填充至所述目标缓存单元;在请求使用所述目标缓存单元中的所述第一数据时,对所述目标缓存单元中的所述第一数据进行交付,实现了基于数据的合理性检测,从由至少一个缓存单元组成的离散缓存中选取第一状态的目标缓存单元进行更新,即通过时间的合理性以及对离散缓存中缓存单元的状态控制,实现对缓存单元的轮替更新,则无需完成前一帧第一数据的处理之后,再对下一第一数据进行处理,减少了各个第一数据之间进行处理的等待时间,还实现了较低的缓存的占用。附图说明图1是本申请一实施例提供的第一种缓存更新方法中的视频播放策略的示意图;图2是本申请一实施例提供的第二种缓存更新方法中的视频播放策略的示意图;图3是本申请一实施例提供的一种缓存更新方法的流程图;图4是本申请一实施例提供的一种应用于视频播放场景中的缓存更新方法的处理流程图;图5是本申请一实施例提供的一种缓存更新装置的结构示意图;图6是本申请一实施例提供的一种计算设备的结构框图。具体实施方式在下面的描述中阐述了很多具体细节以便于充分理解本申请。但是本申请能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本申请内涵的情况下做类似推广,因此本申请不受下面公开的具体实施的限制。在本申请一个或多个实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请一个或多个实施例。在本申请一个或多个实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本申请一个或多个实施例中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。应当理解,尽管在本申请一个或多个实施例中可能采用术语第一、第二等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请一个或多个实施例范围的情况下,第一也可以被称为第二,类似地,第二也可以被称为第一。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。首先,对本申请一个或多个实施例涉及的名词术语进行解释。纹理(Texture):纹理是一种图形数据,主要用于在屏幕上包装不同的物体。纹理标识(Textureid):用于唯一指定表示一个纹理。GL环境(OpenGLEnvironment):用于代指当前提供GPU通信信道及相关临界资源的闭包集合。音频切片(AudioChunk):具有一段时长的音频片段,比如3毫秒的音频切片、5毫秒的音频切片等。每秒传输帧数(FramesPerSecond,FPS):也可以理解为刷新率,是指视频中每秒播放的视频帧的个数,也是指视频的画面数,每秒钟帧数愈多,视频中所显示的动作就会越流畅。展示界面(DisplayWindow):对视频进行播放的界面。数据通道(Data-Pipeline):是指进行数据通信的通道。实际应用中,一种视频在播放过程中所采取的视频播放策略,具体如图1所示,图1示出了根据本申请一实施例提供的第一种缓存更新方法中的视频播放策略的示意图。以视频播放场景为例,在获取原始音视频数据(可以理解为下述实施例中的目标视频)后,建立一个数据缓冲池(可以理解为下述方法实施例中的视频缓存队列,用于存储解码后的视频数据)。再由生产者消费者模型配合PTS(PresentationTimeStamp,显示时间戳)同步策略,来满足其他模块对视频数据的消费。不过这样渲染到展示的过程,就变成了一个同步处理的过程。这样的处理过程即是同步无储刷新策略(refreshwithuncache-syncstrategy)。具体的,如图1所示,当解码器完成对音视频数据的解码后,会将当前完成解码处理的视频帧放入到数据缓冲池,其中,数据缓冲池中包括已经解码完成的视频帧:Frame_0毫秒、Frame_40毫秒、Frame_80毫秒、Frame_120毫秒、Frame_160毫秒等,这些解码出的视频帧等待数据消耗(即视频帧渲染),该数据缓冲池中的视频帧在解码过本文档来自技高网...

【技术保护点】
1.一种缓存更新方法,其特征在于,包括:/n接收针对离散缓存中缓存单元的更新请求;/n基于所述更新请求中携带的针对待用于更新的第一数据在目标对象中对应的推移时间,对所述更新请求进行合理性检测;/n在基于所述合理性检测的检测结果确定执行所述更新请求,且在所述离散缓存中存在缓存状态为第一状态的目标缓存单元的情况下,将所述第一数据填充至所述目标缓存单元;/n在请求使用所述目标缓存单元中的所述第一数据时,对所述目标缓存单元中的所述第一数据进行交付。/n

【技术特征摘要】
1.一种缓存更新方法,其特征在于,包括:
接收针对离散缓存中缓存单元的更新请求;
基于所述更新请求中携带的针对待用于更新的第一数据在目标对象中对应的推移时间,对所述更新请求进行合理性检测;
在基于所述合理性检测的检测结果确定执行所述更新请求,且在所述离散缓存中存在缓存状态为第一状态的目标缓存单元的情况下,将所述第一数据填充至所述目标缓存单元;
在请求使用所述目标缓存单元中的所述第一数据时,对所述目标缓存单元中的所述第一数据进行交付。


2.根据权利要求1所述的缓存更新方法,其特征在于,所述基于所述更新请求中携带的针对待用于更新的第一数据在目标对象中对应的推移时间,对所述更新请求进行合理性检测,包括:
确定所述目标对象中第二数据的缓存队列中存储的第二数据在所述目标对象中对应的推移时间区间;
基于所述更新请求中携带的所述推移时间,判断所述推移时间是否位于所述推移时间区间;
若是,确定所述合理性检测的检测结果为通过;
若否,确定所述合理性检测的检测结果为不通过。


3.根据权利要求1所述的缓存更新方法,其特征在于,所述离散缓存中存在缓存状态为第一状态的目标缓存单元,包括:
在所述离散缓存中筛选出缓存状态为所述第一状态的至少一个缓存单元;
基于预设选取规则,确定所述至少一个缓存单元中的所述目标缓存单元。


4.根据权利要求1所述的缓存更新方法,其特征在于,所述将所述第一数据填充至所述目标缓存单元,包括:
确定所述目标缓存单元对应的缓存标识;
基于所述缓存标识,将所述第一数据填充至所述目标缓存单元。


5.根据权利要求3所述的缓存更新方法,其特征在于,所述将所述第一数据填充至所述目标缓存单元之前,还包括:
将所述目标缓存单元的缓存状态从所述第一状态更新为第二状态;
相应的,所述对所述目标缓存单元中的所述第一数据进行交付之后,还包括:
将所述目标缓存单元的缓存状态从所述第二状态更新为所述第一状态。


6.根据权利要求1-5任意一项所述的缓存更新方法,其特征在于,所述第一数据包括:视频帧,所述目标对象包括:目标视频。


7.根据权利要求6所述的缓存更新方法,其特征在于,所述在请求使用所述目标缓存单元中的所述第一数据时,对所述目标缓存单元中的所述第一数据进行交付,还包括:
接收针对视频帧的使用请求;
响应于所述使用请求,确定所述离散缓存的缓存单元中的视频帧在所述目标视频中对应的推移时间;
根据所述离散缓存的缓存单元中的视...

【专利技术属性】
技术研发人员:李述博杨智慧王孟灰王玉伟朱思振龙春宇
申请(专利权)人:上海哔哩哔哩科技有限公司
类型:发明
国别省市:上海;31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1