掌桥专利:专业的专利平台
掌桥专利
首页

动态图片缓存方法、装置、设备及存储介质

文献发布时间:2023-06-19 13:26:15


动态图片缓存方法、装置、设备及存储介质

技术领域

本发明涉及人工智能技术领域,特别是涉及一种动态图片缓存方法、装置、设备及存储介质。

背景技术

Electron是一个使用JavaScript、HTML和CSS构建桌面应用程序的框架。利用该框架可以让Web前端人员使用现有的Web框架和UI组件库等快速构建桌面程序,并且具有跨平台的优势,能运行于Windows、Mac、Linux等桌面操作系统,提高效率和复用Web端丰富的UI组件。

目前,许多产品的工作圈动态页面上展示许多类似朋友圈的动态,每条动态里有许多高清图片,所以,前端页面需要从后端获取大量大图片进行展示,由于Chrome内核的请求数限制,同域名请求的最大并发数限制6个,当由于下载后端的图片资源大,请求费时长,导致同域名请求大于6个时,后续的请求会被阻塞,导致界面卡死,并且每次刷新页面时也会重新请求图片资源,严重影响用户正常使用。一般方案需要后台把图片资源的域名和其他接口的域名分开,这样就可以请求大图片同时不阻塞其他请求,但是该方案存在需要每次刷新页面重新加载图片并且加载效率慢的问题,影响用户体验。

发明内容

本发明提供一种动态图片缓存方法、装置、设备及存储介质,能够解决每次刷新页面重新加载图片并且加载效率慢的问题。

为解决上述技术问题,本发明采用的一个技术方案是:提供一种动态图片缓存方法,应用于运行在客户端上的图片缓存器,所述图片缓存器设有资源请求接口和业务请求接口,所述方法包括:

通过所述资源请求接口接收用户发送的目标图片获取请求;

基于哈希算法计算所述目标图片获取请求的哈希值;

根据所述哈希值确定目标图片的文件名称;

根据所述文件名称判断所述图片缓存器的预设缓存文件夹中是否存在对应的目标图片;

若所述预设缓存文件夹中不存在与所述文件名称对应的目标图片,则向服务器端发送所述目标图片获取请求,获取与所述目标图片获取请求对应的目标图片,将所述目标图片存储于所述预设缓存文件夹中,生成与所述目标图片的存储位置对应的目标文件路径并发送所述目标文件路径给所述客户端;

若所述预设缓存文件夹中存在与所述文件名称对应的目标图片,则从所述哈希值中获取存储所述目标图片的目标文件路径并发送所述目标文件路径给所述客户端。

根据本发明的一个实施例,所述若所述预设缓存文件夹中不存在与所述文件名称对应的目标图片,则向服务器端发送所述目标图片获取请求,获取与所述目标图片获取请求对应的目标图片,将所述目标图片存储于所述预设缓存文件夹中,生成与所述目标图片的存储位置对应的目标文件路径并发送所述目标文件路径给所述客户端的步骤还包括:

向所述服务器端发送所述目标图片获取请求时,将所述目标图片获取请求存储于预设资源下载列表中;

当再次向所述服务器端发送新的图片获取请求时,判断新的图片获取请求是否已经存在所述预设资源下载列表中;

若是,则等待所述目标图片获取请求处理完成后,获取与所述目标图片获取请求对应的目标图片,将所述目标图片存储于所述预设缓存文件夹中,生成与所述目标图片的存储位置对应的目标文件路径并发送所述目标文件路径给所述客户端;

若否,则向所述服务器端发送新的图片获取请求并将新的图片获取请求缓存进所述预设资源下载列表中。

根据本发明的一个实施例,所述等待所述目标图片获取请求处理完成后的步骤还包括:

在等待所述目标图片获取请求处理完成过程中,记录等待时间,若所述等待时间超过预设时间阈值,则重新向所述服务器端发送所述目标图片获取请求。

根据本发明的一个实施例,所述重新向所述服务器端发送所述目标图片获取请求的步骤之后,还包括:

记录发送次数,若所述发送次数超过预设次数阈值,则停止向所述服务器端发送所述目标图片获取请求并向所述客户端反馈下载失败信息。

根据本发明的一个实施例,所述通过所述资源请求接口接收用户发送的目标图片获取请求之后,还包括:

判断所述目标图片获取请求是否已经存在预设资源调用列表中,所述预设资源调用列表中存储有正在处理中的图片获取请求;

若是,等待获取到与所述目标图片获取请求对应的目标图片后,将所述目标图片发送给所述客户端;

若否,将所述目标图片获取请求缓存进所述预设资源调用列表中,对所述目标图片获取请求进行处理以获取对应的目标图片。

根据本发明的一个实施例,所述方法还包括:

定期对所述预设缓存文件夹进行扫描并根据扫描结果按照预设策略对所述预设缓存文件夹中存储的目标图片进行相应的清理操作。

根据本发明的一个实施例,所述方法还包括:

通过所述业务请求接口接收所述用户发送的业务请求;

转发所述业务请求给服务器端以对所述业务请求进行处理;

获取所述服务器端的处理结果并发送给所述客户端。

为解决上述技术问题,本发明采用的另一个技术方案是:提供一种图片缓存器,所述图片缓存器设于客户端上,所述图片缓存器设有资源请求接口和业务请求接口,所述图片缓存器包括:

接收模块,用于通过所述资源请求接口接收用户发送的目标图片获取请求;

计算模块,用于基于哈希算法计算所述目标图片获取请求的哈希值;

确定模块,用于根据所述哈希值确定目标图片的文件名称;

判断模块,用于根据所述文件名称判断所述图片缓存器的预设缓存文件夹中是否存在对应的目标图片;

第一获取模块,用于若所述预设缓存文件夹中不存在与所述文件名称对应的目标图片,则向服务器端发送所述目标图片获取请求,获取与所述目标图片获取请求对应的目标图片,将所述目标图片存储于所述预设缓存文件夹中,生成与所述目标图片的存储位置对应的目标文件路径并发送所述目标文件路径给所述客户端;

第二获取模块,用于若所述预设缓存文件夹中存在与所述文件名称对应的目标图片,则从所述哈希值中获取存储所述目标图片的目标文件路径并发送所述目标文件路径给所述客户端。

为解决上述技术问题,本发明采用的再一个技术方案是:提供一种计算机设备,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现所述的动态图片缓存方法。

为解决上述技术问题,本发明采用的再一个技术方案是:提供一种计算机存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述动态图片缓存方法。

本发明的有益效果是:通过在客户端端将资源请求接口和业务请求接口分开,保证在从资源请求接口获取图片资源而不阻塞其他业务请求,提高了整体请求处理效率;通过在客户端部署图片缓存器缓存已下载的图片资源,利用文件路径实现目标图片获取,提高了图片调用效率,解决了刷新页面多次下载请求的问题。

附图说明

图1是本发明第一实施例的动态图片缓存方法的流程示意图;

图2是本发明第一实施例的网络架构示意图;

图3是本发明实施例的动态图片缓存方法中的步骤S105的流程示意图;

图4是本发明第二实施例的动态图片缓存方法的流程示意图;

图5是本发明第三实施例的动态图片缓存方法的流程示意图;

图6是本发明实施例的图片缓存器的结构示意图;

图7是本发明实施例的计算机设备的结构示意图;

图8是本发明实施例的计算机存储介质的结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明中的术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”、“第三”的特征可以明示或者隐含地包括至少一个该特征。本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。本发明实施例中所有方向性指示(诸如上、下、左、右、前、后……)仅用于解释在某一特定姿态(如附图所示)下各部件之间的相对位置关系、运动情况等,如果该特定姿态发生改变时,则该方向性指示也相应地随之改变。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。

在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本发明的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。

本申请实施例可以基于人工智能技术对相关的数据进行获取和处理。其中,人工智能(Artificial Intelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。

人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、机器人技术、生物识别技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。

图1是本发明第一实施例的动态图片缓存方法的流程示意图。需注意的是,若有实质上相同的结果,本发明的方法并不以图1所示的流程顺序为限。本发明的方法应用于运行在客户端上的图片缓存器,如图2所示,客户端21与服务器端23进行交互,客户端21上设置有图片缓存器210,图片缓存器210设有资源请求接口211和业务请求接口212,针对资源请求接口211,如图1所示,该方法包括步骤:

步骤S101:通过资源请求接口接收用户发送的目标图片获取请求。

在步骤S101中,目标图片获取请求为URL格式,即统一资源定位符(UniformResource Locator,URL),URL是对可以从互联网上得到的资源的位置和访问方法的一种简洁的表示,是互联网上标准资源的地址。互联网上的每个文件都有一个唯一的URL。本实施例的图片缓存器部署在客户端上,本实施例的客户端可以为Electron,图片缓存器为.NetCore。Electron是一个使用JavaScript、HTML和CSS构建桌面应用程序的框架。通过该框架可以让Web前端人员使用现有的Web框架和UI组件库等快速构建桌面程序,并且具有跨平台的优势,能运行于Windows、Mac、Linux等桌面操作系统,提高效率和复用web端丰富的UI组件。.Net Core是一个开源通用的开发框架,支持跨平台,即支持在Window,MacOS,Linux等系统上的开发和部署,并且可以在硬件设备,云服务,和嵌入式/物联网方案中进行使用。

由于Electron的Chrome内核并发数限制导致阻塞其他请求而出现卡顿的问题,现有的在后端将图片资源服务器和业务接口服务器分开接收对应的请求,但并不能完全解决客户端端的用户体验问题。本实施例无需对后端进行改造,在.Net Core上设置资源请求接口和业务请求接口,资源请求接口用于接收图片获取请求,业务请求接口用于接收业务请求,本实施在客户端将图片获取请求和业务请求分开,防止因需要从后端下载图片资源而阻塞其他业务请求的情况,从而提升用户体验。

本实施例采用.Net Core混合编程,使用.Net Core作为中间层,为Electron进行请求代理,Electron和.Net Core共享PC电脑中的文件资源,所有.Net Core下载的图片资源,Electron中可以通过文件路径直接获取到。.Net Core运行在客户端上,而不是后端上,与传统的代理服务器分布在后端上,本实施例的.Net Core便于Electron更快捷、高效获取图片资源。

步骤S102:基于哈希算法计算目标图片获取请求的哈希值。

在步骤S102中,哈希算法将任意长度的二进制值映射为固定长度的较小二进制值,其中,较小的二进制值为哈希值。哈希算法是一个单向算法,本实施例将目标图片获取请求URL转化为固定长度的输出,不同的目标图片获取请求URL拥有不同的哈希值。通过哈希值能够映射到与目标图片获取请求对应的目标图片的文件名称。

步骤S103:根据哈希值确定目标图片的文件名称。

在步骤S103中,将哈希值映射到图片缓存器的预设缓存文件夹中的目标图片的文件名称,本实施例的预设缓存文件夹用于存储.Net Core从后台下载的所有图片,便于图片管理以及调用。不同的哈希值对应映射不同的目标图片的文件名称。具体地,哈希值通过文件路径映射到预设缓存文件夹中的目标图片的文件名称。文件路径为文件存储的位置,例如:目标图片获取请求URL为:http://image.xx.cn/work/20210826/logo.jpg,根据哈希算法得到对应的哈希值为:59a24db8915f6998f55514aeddeec949049c7b39,若缓存文件目录如为:d:\imageCache,则下载保存的目标图片的文件路径为:d:\imageCache\59a24db8915f6998f55514aeddeec949049c7b39.jpg,该文件路径表示一个JPG格式的图片文件“59a24db8915f6998f55514aeddeec949049c7b39”,存储在“d”盘的文件夹“imageCache”内,则目标图片的文件名称为:59a24db8915f6998f55514aeddeec949049c7b39.jpg。若要获取文件名称为“59a24db8915f6998f55514aeddeec949049c7b39.jpg”的目标图片,则需按照该文件路径一级级找到此图片文件,即可进行相应的操作。

步骤S104:根据文件名称判断图片缓存器的预设缓存文件夹中是否存在对应的目标图片。

在步骤S104中,目标图片即为与目标图片获取请求对应的目标图片,因为在步骤S103中根据文件路径可以确定所要获取的目标图片的位置,但是不能确定缓存文件夹内是否存储有与文件名称对应的目标图片,根据哈希值仅能确定需要预获取的目标图片的文件名称,因此,继续执行根据文件名称判断图片缓存器的预设缓存文件夹中是否存在对应的目标图片。在步骤S104中,若预设缓存文件夹中不存在与文件名称对应的目标图片,则执行步骤S105,若预设缓存文件夹中存在与文件名称对应的目标图片,则执行步骤S106。

步骤S105:若预设缓存文件夹中不存在与文件名称对应的目标图片,则向服务器端发送目标图片获取请求,获取与目标图片获取请求对应的目标图片,将目标图片存储于预设缓存文件夹中,生成与目标图片的存储位置对应的目标文件路径并发送目标文件路径给客户端。

在步骤S105中,服务器端可以是独立的服务器,也可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(Content Delivery Network,CDN)、以及大数据和人工智能平台等基础云计算服务的云服务器。本实施例基于哈希算法根据目标图片的存储位置计算哈希值,将哈希值映射至保存目标图片的目标文件路径中,发送目标文件路径给客户端,客户端根据目标文件路径获取对应的目标图片。当获取用户重复刷新或再次发送的获取目标图片的图片获取请求URL时,通过在客户端部署图片缓存器缓存已下载的目标图片,利用目标文件路径实现目标图片获取,提高了图片调用效率,解决了刷新页面多次下载请求的问题。

进一步地,本实施例将目标图片存储于预设缓存文件夹中,定期对预设缓存文件夹进行扫描并根据扫描结果按照预设策略对预设缓存文件夹中存储的目标图片进行相应的清理操作。具体地,预设策略包括:1、根据扫描结果获取目标图片的最后一次访问时间,根据最后一次访问时间确定目标图片是否为过期缓存文件,当目标图片判定为过期缓存文件时,则进行相应的清理操作;2、根据扫描结果计算所有目标图片的总容量,若总容量超过预设容量阈值,则清除未访问过的目标图片以及过期缓存文件。通过上述方式既可以不影响经常访问的图片的读取速度,又可以限制占用的空间,从而提高图片获取效率。

进一步地,请参见图3,步骤S105还包括以下步骤:

步骤S301:向服务器端发送目标图片获取请求时,将目标图片获取请求存储于预设资源下载列表中。

本实施例的.Net Core设置有预设资源下载列表,预设资源下载列表中存储有正在处理的图片获取请求。

步骤S302:当再次向服务器端发送新的图片获取请求时,判断新的图片获取请求是否已经存在预设资源下载列表中。

在步骤S302中,通过比较新的图片获取请求与预设资源下载列表中图片获取请求是否相同,若相同,表示预设资源下载列表中已存在新的图片获取请求且新的图片获取请求正在处理中,则执行步骤S303,拒绝将新的图片获取请求添加进预设资源下载列表中以免造成重复请求从而延长图片加载时长的问题;若不相同,表示预设资源下载列表中不存在新的图片获取请求,则执行步骤S304,将新的图片获取请求添加进预设资源下载列表中,等待加载图片。

步骤S303:若是,则等待目标图片获取请求处理完成后,获取与目标图片获取请求对应的目标图片,将目标图片存储于预设缓存文件夹中,生成与目标图片的存储位置对应的目标文件路径并发送目标文件路径给客户端;

在步骤S303中,由于图片较大,加载图片往往需要一定时间才能完成,但网络正常的情况下,在预设时间阈值内能够保证图片加载完成。若由于网速慢也有可能导致加载时间长,.Net Core等待时长较长则可能会重新发送目标图片获取请求重新加载图片。进一步地,在等待目标图片获取请求处理完成过程中,记录等待时间,若等待时间超过预设时间阈值,则重新向服务器端发送目标图片获取请求;记录发送次数,若发送次数超过预设次数阈值,则停止向服务器端发送目标图片获取请求并向客户端反馈下载失败信息。

步骤S304:若否,则向服务器端发送新的图片获取请求并将新的图片获取请求缓存进预设资源下载列表中。

步骤S106:若预设缓存文件夹中存在与文件名称对应的目标图片,则从哈希值中获取存储目标图片的目标文件路径并发送目标文件路径给客户端。

本实施例若目标图片存储于预设缓存文件夹中,则可以直接获取,无需从服务器端下载目标图片,节约了资源获取时间,提高了请求处理效率,从而提升了用户体验。

本发明第一实施例的动态图片缓存方法通过在客户端将资源请求接口和业务请求接口分开,保证在从资源请求接口获取图片资源而不阻塞其他业务请求,提高了整体请求处理效率;通过在客户端部署图片缓存器缓存已下载的图片资源,利用文件路径实现目标图片获取,提高了图片调用效率,解决了刷新页面多次下载请求的问题。

图4是本发明第二实施例的动态图片缓存方法的流程示意图。需注意的是,若有实质上相同的结果,本发明的方法并不以图4所示的流程顺序为限。本发明的方法应用于运行在客户端上的图片缓存器,如图2所示,客户端21与服务器端23进行交互,客户端21上设置有图片缓存器210,图片缓存器210设有资源请求接口211和业务请求接口212,针对资源请求接口211,如图4所示,该方法包括步骤:

步骤S401:通过资源请求接口接收用户发送的目标图片获取请求。

在本实施例中,图4中的步骤S401和图1中的步骤S101类似,为简约起见,在此不再赘述。

步骤S402:判断目标图片获取请求是否已经存在预设资源调用列表中,预设资源调用列表中存储有正在处理中的图片获取请求。

在步骤S402中,Electron可能会多次请求获取同一个资源,如果不做任何处理,会导致同一资源多次下载和下载冲突。由于图片较大,调取图片往往需要一定时间才能完成,另外由于网速慢也有可能导致用户等待时长较长,可能会重新发送图片获取请求尝试获取图片。为解决用户刷新重新请求下载图片问题,.Net Core设置有预设资源调用列表,通过预设资源调用列表可以缓存正在处理的图片获取请求。

本实施例通过比较目标图片获取请求与预设资源调用列表中图片获取请求是否相同,若相同,则表示预设资源调用列表中已存在目标图片获取请求且目标图片获取请求正在处理中,执行步骤S403,以免造成重复请求从而延长获取时长的问题;若不相同,则表示预设资源调用列表中不存在目标图片获取请求,执行步骤S404。

步骤S403:若是,等待获取到与目标图片获取请求对应的目标图片后,将目标图片发送给客户端。

步骤S404:若否,将目标图片获取请求缓存进预设资源调用列表中,对目标图片获取请求进行处理以获取对应的目标图片。

在步骤S404中,获取对应的目标图片的方式可能从.Net Core的本地文件中直接调取也可能从服务器端下载才能调取,具体的获取方式请参见步骤S405-S408。

步骤S405:基于哈希算法计算目标图片获取请求的哈希值。

在本实施例中,图4中的步骤S405和图1中的步骤S102类似,为简约起见,在此不再赘述。

步骤S406:根据哈希值确定目标图片的文件名称。

在本实施例中,图4中的步骤S406和图1中的步骤S103类似,为简约起见,在此不再赘述。

步骤S407:根据文件名称判断图片缓存器的预设缓存文件夹中是否存在对应的目标图片。

在本实施例中,图4中的步骤S407和图1中的步骤S104类似,为简约起见,在此不再赘述。

步骤S408:若预设缓存文件夹中不存在与文件名称对应的目标图片,则向服务器端发送目标图片获取请求,获取与目标图片获取请求对应的目标图片,将目标图片存储于预设缓存文件夹中,生成与目标图片的存储位置对应的目标文件路径并发送目标文件路径给客户端。

在本实施例中,图4中的步骤S408和图1中的步骤S105类似,为简约起见,在此不再赘述。

步骤S409:若预设缓存文件夹中存在与文件名称对应的目标图片,则从哈希值中获取存储目标图片的目标文件路径并发送目标文件路径给客户端。

在本实施例中,图4中的步骤S409和图1中的步骤S106类似,为简约起见,在此不再赘述。

本发明第二实施例的动态图片缓存方法在第一实施例的基础上,通过预设资源调用列表可以缓存正在处理的目标图片获取请求,通过比较目标图片获取请求与预设资源调用列表中目标图片获取请求是否相同,对不相同的目标图片获取请求进行请求处理,对相同的目标图片获取请求进行等待处理,从而解决用户刷新重新请求下载图片问题。

图5是本发明第三实施例的动态图片缓存方法的流程示意图。需注意的是,若有实质上相同的结果,本发明的方法并不以图5所示的流程顺序为限。本发明的方法应用于运行在客户端上的图片缓存器,如图2所示,客户端21与服务器端23进行交互,客户端21上设置有图片缓存器210,图片缓存器210设有资源请求接口211和业务请求接口212,针对业务请求接口212,如图5所示,该方法包括步骤:

步骤S501:通过业务请求接口接收用户发送的业务请求。

步骤S502:转发业务请求给服务器端以对业务请求进行处理。

步骤S503:获取服务器端的处理结果并发送给客户端。

本实施例Electron的Chrome内核的请求数限制,同域名请求的最大并发数限制6个,如果.Net Core只提供图片请求的服务,没有其他业务请求处理,则6个并发能够满足使用,但是为了扩大适用范围以及兼容性,.Net Core还解决其他业务问题,所有还是有可能因为需要从服务器端下载未浏览过的图片而阻塞其他业务请求的情况,因此,.Net Core通过业务请求接口接收业务请求,通过资源请求接口接收图片获取请求,这样图片获取过程中就不会影响其他业务代理请求处理。

本发明第三实施例的动态图片缓存方法通过在客户端将资源请求接口和业务请求接口分开,保证在从资源请求接口获取图片资源而不阻塞其他业务请求,提高了整体请求处理效率。

图6是本发明实施例的图片缓存器的结构示意图。图片缓存器设于客户端上,如图6所示,该图片缓存器60包括接收模块61、计算模块62、确定模块63、判断模块64、第一获取模块65以及第二获取模块66。图片缓存器50设有资源请求接口和业务请求接口。

接收模块61用于通过资源请求接口接收用户发送的目标图片获取请求;

计算模块62用于基于哈希算法计算目标图片获取请求的哈希值;

确定模块63用于根据哈希值确定目标图片的文件名称;

判断模块64用于根据文件名称判断图片缓存器的预设缓存文件夹中是否存在对应的目标图片;

第一获取模块65用于若预设缓存文件夹中不存在与文件名称对应的目标图片,则向服务器端发送目标图片获取请求,获取与目标图片获取请求对应的目标图片,将目标图片存储于预设缓存文件夹中,生成与目标图片的存储位置对应的目标文件路径并发送目标文件路径给客户端;

进一步地,第一获取模块65基于哈希算法根据目标图片的存储位置计算哈希值,将哈希值映射至保存目标图片的目标文件路径中,发送目标文件路径给客户端,客户端根据目标文件路径获取对应的目标图片。当获取用户重复刷新或再次发送的获取目标图片的图片获取请求URL时,通过在客户端部署图片缓存器缓存已下载的目标图片,利用目标文件路径实现目标图片获取,提高了图片调用效率,解决了刷新页面多次下载请求的问题。

进一步地,本实施例将目标图片存储于预设缓存文件夹中,定期对预设缓存文件夹进行扫描并根据扫描结果按照预设策略对预设缓存文件夹中存储的目标图片进行相应的清理操作。具体地,预设策略包括:1、根据扫描结果获取目标图片的最后一次访问时间,根据最后一次访问时间确定目标图片是否为过期缓存文件,当目标图片判定为过期缓存文件时,则进行相应的清理操作;2、根据扫描结果计算所有目标图片的总容量,若总容量超过预设容量阈值,则清除未访问过的目标图片以及过期缓存文件。通过上述方式既可以不影响经常访问的图片的读取速度,又可以限制占用的空间,从而提高图片获取效率。

第二获取模块66用于若预设缓存文件夹中存在与文件名称对应的目标图片,则从哈希值中获取存储目标图片的目标文件路径并发送目标文件路径给客户端。

请参阅图7,图7为本发明实施例的计算机设备的结构示意图。如图7所示,该计算机设备70包括处理器71及和处理器71耦接的存储器72。

存储器72存储有用于实现上述任一实施例所述的动态图片缓存方法的程序指令。

处理器71用于执行存储器72存储的程序指令以缓存动态图片。

其中,处理器71还可以称为CPU(Central Processing Unit,中央处理单元)。处理器71可能是一种集成电路芯片,具有信号的处理能力。处理器71还可以是通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。

参阅图8,图8为本发明实施例的计算机存储介质的结构示意图。本发明实施例的计算机存储介质存储有能够实现上述所有方法的程序文件81,其中,该程序文件81可以以软件产品的形式存储在上述计算机存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本发明各个实施方式所述方法的全部或部分步骤。而前述的计算机存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质,或者是计算机、服务器、手机、平板等终端设备。

在本发明所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

以上仅为本发明的实施方式,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

相关技术
  • 动态图片缓存方法、装置、设备及存储介质
  • 基于缓存价值的图片缓存方法、设备、存储介质及装置
技术分类

06120113678221