一种资源缓存方法及装置制造方法及图纸

技术编号:28978447 阅读:20 留言:0更新日期:2021-06-23 09:24
本说明书公开了一种资源缓存方法及装置,服务器根据接收到的目标资源获取请求,确定对应的目标子存储空间。当未命中缓存时,确定该目标子存储空间的期望容量。并当该目标子存储空间中已存储的容量不大于该期望容量时,将该目标资源缓存至该目标子存储空间中。否则,根据该目标子存储空间中已存储的各资源的热度排序,进行资源清除,直至已存储的容量不大于该期望容量为止。其中,在服务器本地设置不同的子存储空间用于存储不同类型的资源,且各子存储空间设置的容量之和大于该服务器本地的存储空间总容量。通过设置对应于不同类型资源的子存储空间,减少了由于资源类型不同对缓存清理机制的影响,使得缓存清理机制更加准确,提高了缓存命中率。

【技术实现步骤摘要】
一种资源缓存方法及装置
本申请涉及数据缓存
,尤其涉及一种资源缓存方法及装置。
技术介绍
一般的,数据处理系统的服务器在进行数据处理时,通常需要从该系统的数据库中获取待处理的业务数据,以对获取到的业务数据进行数据处理。为了降低服务器从数据库拉取数据的频次,以及节省数据拉取的时间,服务器通常将待处理的业务数据缓存至本地,以当需要进行数据处理时,可直接从本地存储空间拉取业务数据进行处理。进一步的,由于本地存储空间有限,无法将数据库中的所有业务数据都缓存至本地,且随着数据处理任务的不断执行,该服务器本地存储的业务数据不断增多,使得本地剩余空间不足。因此常采用最近最少使用算法(Leastrecentlyused,LRU)对本地存储空间中缓存的业务数据进行更新。具体的,当服务器本地存储的业务数据的大小超出本地存储空间的容量时,可通过LRU算法确定用户最近最少使用的业务数据,并进行删除,以释放本地存储空间。但是,由于待处理的业务数据中包含不同类型的数据,且不同类型数据的访问频次以及访问时间存在差异,因此仅通过上述LRU算法确定用户最近最少使用的业务数据,并对其进行清除的数据清理机制不够准确,使得本地存储空间的利用率较低,进一步导致缓存命中率较低。
技术实现思路
本说明书实施例提供一种资源缓存方法及装置,用于部分解决现有技术中存在的问题。本说明书实施例采用下述技术方案:本说明书提供的一种资源缓存方法,服务器本地设置不同的子存储空间用于存储不同类型的资源,各子存储空间设置的容量之和大于所述服务器本地的存储空间总容量;所述方法包括:所述服务器,接收目标资源获取请求,并根据所述目标资源获取请求中包含的目标资源的类型,确定所述目标资源对应的目标子存储空间;当所述目标资源未命中所述目标子存储空间中已存储的资源时,根据所述目标资源的大小、所述服务器本地的剩余容量、预设的程序运行所需的运行容量以及所述目标子存储空间设置的容量在各子存储空间设置的总容量中的占比,确定所述目标子存储空间中预留的程序运行所需的运行容量;根据所述目标子存储空间设置的容量、所述服务器本地的剩余容量、所述目标资源的大小、所述目标子存储空间中已存储的资源的容量以及所述目标子存储空间中的运行容量,确定所述目标子存储空间的期望容量;判断所述目标子存储空间中已存储的资源的容量是否不大于所述目标子存储空间的期望容量;若是,从数据库中获取所述目标资源,并将所述目标资源缓存至所述目标子存储空间中,更新所述目标子存储空间中所述目标资源的热度;若否,根据所述目标子存储空间中已存储的各资源的热度排序,清除所述目标子存储空间存储的资源,直至所述目标子存储空间中已存储的资源的容量不大于所述目标子存储空间的期望容量为止。可选地,根据所述目标资源的大小、所述服务器本地的剩余容量、预设的程序运行所需的运行容量以及所述目标子存储空间设置的容量在各子存储空间设置的总容量中的占比,确定所述目标子存储空间中预留的程序运行所需的运行容量,具体包括:根据所述目标资源的大小、所述服务器本地的剩余容量以及预设的程序运行所需的运行容量,判断所述服务器本地是否足够程序运行以及缓存所述目标资源;若是,则所述目标子存储空间中无需预留程序运行所需的运行容量;若否,则根据所述目标子存储空间设置的容量在各子存储空间设置的总容量中的占比以及预设的程序运行所需的运行容量,确定所述目标子存储空间中预留的程序运行所需的运行容量。可选地,根据所述目标子存储空间设置的容量、所述服务器本地的剩余容量、所述目标资源的大小、所述目标子存储空间中已存储的资源的容量以及所述目标子存储空间中的运行容量,确定所述目标子存储空间的期望容量,具体包括:根据所述目标资源的大小以及所述服务器本地的剩余容量,判断所述服务器本地是否足够缓存所述目标资源;若是,根据所述目标子存储空间中已存储的资源的容量、所述目标子存储空间设置的容量以及所述目标资源的大小,确定所述目标子存储空间的预计存储容量;若否,根据所述目标子存储空间中已存储的资源的容量、所述服务器本地的剩余容量、所述目标子存储空间设置的容量以及所述目标资源的大小,确定所述目标子存储空间的预计存储容量;根据所述目标子存储空间的预计存储容量以及所述目标子存储空间中预留的程序运行所需的运行容量,确定所述目标子存储空间的期望容量。可选地,根据所述目标子存储空间中已存储的资源的容量、所述目标子存储空间设置的容量以及所述目标资源的大小,确定所述目标子存储空间的预计存储容量,具体包括:根据所述目标子存储空间设置的容量以及所述目标资源的大小,确定所述目标子存储空间缓存所述目标资源的最大容量上限;根据所述目标子存储空间中已存储的资源的容量以及确定出的最大容量上限,从中确定数值最小的容量,作为所述目标子存储空间的预计存储容量。可选地,根据所述目标子存储空间中已存储的资源的容量、所述服务器本地的剩余容量、所述目标子存储空间设置的容量以及所述目标资源的大小,确定所述目标子存储空间的预计存储容量,具体包括:根据所述目标子存储空间中已存储的资源的容量、所述服务器本地的剩余容量以及所述目标资源的大小,确定缓存所述目标资源的第一容量上限;根据所述目标子存储空间设置的容量以及所述目标资源的大小,确定缓存所述目标资源的第二容量上限;根据所述第一容量上限以及所述第二容量上限,从中确定数值最小的容量上限,作为所述目标子存储空间的预计存储容量。可选地,根据所述目标子存储空间中已存储的各资源的热度排序,清除所述目标子存储空间存储的资源,直至所述目标子存储空间中已存储的资源的容量不大于所述目标子存储空间的期望容量为止,具体包括:根据所述目标子存储空间中已存储的各资源的热度排序,从所述目标子存储空间中删除所述热度最低的资源;重新确定删除后的目标子存储空间中已存储的各资源的容量,并判断删除后的所述目标子存储空间中已存储的资源的容量是否不大于所述目标子存储空间的期望容量;若否,则继续根据所述目标子存储空间中已存储的各资源的热度排序,从所述目标子存储空间中删除所述热度最低的资源,直至所述目标子存储空间中已存储的资源的容量不大于所述目标子存储空间的期望容量为止。可选地,所述方法还包括:当更新所述目标子存储空间中所述目标资源的热度时,根据所述目标子存储空间中已存储的各资源的版本信息以及所述目标资源的版本信息,从所述目标子存储空间中已存储的各资源中确定属于旧版本的资源;针对确定出的属于旧版本的每个资源,判断在预设时长内是否使用该资源进行过处理;若是,则不从所述目标子存储空间中删除该资源;若否,则从所述目标子存储空间中删除该资源。可选地,根据所述目标子存储空间中已存储的各资源的热度排序,清除所述目标子存储空间存储的资源,具体包括:确定当前执行的处理任务;根据所述目标子存本文档来自技高网...

【技术保护点】
1.一种资源缓存方法,其特征在于,服务器本地设置不同的子存储空间用于存储不同类型的资源,各子存储空间设置的容量之和大于所述服务器本地的存储空间总容量;所述方法包括:/n所述服务器,接收目标资源获取请求,并根据所述目标资源获取请求中包含的目标资源的类型,确定所述目标资源对应的目标子存储空间;/n当所述目标资源未命中所述目标子存储空间中已存储的资源时,根据所述目标资源的大小、所述服务器本地的剩余容量、预设的程序运行所需的运行容量以及所述目标子存储空间设置的容量在各子存储空间设置的总容量中的占比,确定所述目标子存储空间中预留的程序运行所需的运行容量;/n根据所述目标子存储空间设置的容量、所述服务器本地的剩余容量、所述目标资源的大小、所述目标子存储空间中已存储的资源的容量以及所述目标子存储空间中的运行容量,确定所述目标子存储空间的期望容量;/n判断所述目标子存储空间中已存储的资源的容量是否不大于所述目标子存储空间的期望容量;/n若是,从数据库中获取所述目标资源,并将所述目标资源缓存至所述目标子存储空间中,更新所述目标子存储空间中所述目标资源的热度;/n若否,根据所述目标子存储空间中已存储的各资源的热度排序,清除所述目标子存储空间存储的资源,直至所述目标子存储空间中已存储的资源的容量不大于所述目标子存储空间的期望容量为止。/n...

【技术特征摘要】
1.一种资源缓存方法,其特征在于,服务器本地设置不同的子存储空间用于存储不同类型的资源,各子存储空间设置的容量之和大于所述服务器本地的存储空间总容量;所述方法包括:
所述服务器,接收目标资源获取请求,并根据所述目标资源获取请求中包含的目标资源的类型,确定所述目标资源对应的目标子存储空间;
当所述目标资源未命中所述目标子存储空间中已存储的资源时,根据所述目标资源的大小、所述服务器本地的剩余容量、预设的程序运行所需的运行容量以及所述目标子存储空间设置的容量在各子存储空间设置的总容量中的占比,确定所述目标子存储空间中预留的程序运行所需的运行容量;
根据所述目标子存储空间设置的容量、所述服务器本地的剩余容量、所述目标资源的大小、所述目标子存储空间中已存储的资源的容量以及所述目标子存储空间中的运行容量,确定所述目标子存储空间的期望容量;
判断所述目标子存储空间中已存储的资源的容量是否不大于所述目标子存储空间的期望容量;
若是,从数据库中获取所述目标资源,并将所述目标资源缓存至所述目标子存储空间中,更新所述目标子存储空间中所述目标资源的热度;
若否,根据所述目标子存储空间中已存储的各资源的热度排序,清除所述目标子存储空间存储的资源,直至所述目标子存储空间中已存储的资源的容量不大于所述目标子存储空间的期望容量为止。


2.如权利要求1所述的方法,其特征在于,根据所述目标资源的大小、所述服务器本地的剩余容量、预设的程序运行所需的运行容量以及所述目标子存储空间设置的容量在各子存储空间设置的总容量中的占比,确定所述目标子存储空间中预留的程序运行所需的运行容量,具体包括:
根据所述目标资源的大小、所述服务器本地的剩余容量以及预设的程序运行所需的运行容量,判断所述服务器本地是否足够程序运行以及缓存所述目标资源;
若是,则所述目标子存储空间中无需预留程序运行所需的运行容量;
若否,则根据所述目标子存储空间设置的容量在各子存储空间设置的总容量中的占比以及预设的程序运行所需的运行容量,确定所述目标子存储空间中预留的程序运行所需的运行容量。


3.如权利要求1所述的方法,其特征在于,根据所述目标子存储空间设置的容量、所述服务器本地的剩余容量、所述目标资源的大小、所述目标子存储空间中已存储的资源的容量以及所述目标子存储空间中的运行容量,确定所述目标子存储空间的期望容量,具体包括:
根据所述目标资源的大小以及所述服务器本地的剩余容量,判断所述服务器本地是否足够缓存所述目标资源;
若是,根据所述目标子存储空间中已存储的资源的容量、所述目标子存储空间设置的容量以及所述目标资源的大小,确定所述目标子存储空间的预计存储容量;
若否,根据所述目标子存储空间中已存储的资源的容量、所述服务器本地的剩余容量、所述目标子存储空间设置的容量以及所述目标资源的大小,确定所述目标子存储空间的预计存储容量;
根据所述目标子存储空间的预计存储容量以及所述目标子存储空间中预留的程序运行所需的运行容量,确定所述目标子存储空间的期望容量。


4.如权利要求3所述的方法,其特征在于,根据所述目标子存储空间中已存储的资源的容量、所述目标子存储空间设置的容量以及所述目标资源的大小,确定所述目标子存储空间的预计存储容量,具体包括:
根据所述目标子存储空间设置的容量以及所述目标资源的大小,确定所述目标子存储空间缓存所述目标资源的最大容量上限;
根据所述目标子存储空间中已存储的资源的容量以及确定出的最大容量上限,从中确定数值最小的容量,作为所述目标子存储空间的预计存储容量。


5.如权利要求3所述的方法,其特征在于,根据所述目标子存储空间中已存储的资源的容量、所述服务器本地的剩余容量、所述目标子存储空间设置的容量以及所述目标资源的大小,确定所述目标子存储空间的...

【专利技术属性】
技术研发人员:薛培鑫
申请(专利权)人:北京三快在线科技有限公司
类型:发明
国别省市:北京;11

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

1