CN107911456A - 图片加载的流量优化方法、装置、终端设备及存储介质 - Google Patents
图片加载的流量优化方法、装置、终端设备及存储介质 Download PDFInfo
- Publication number
- CN107911456A CN107911456A CN201711142248.1A CN201711142248A CN107911456A CN 107911456 A CN107911456 A CN 107911456A CN 201711142248 A CN201711142248 A CN 201711142248A CN 107911456 A CN107911456 A CN 107911456A
- Authority
- CN
- China
- Prior art keywords
- picture
- request
- loading
- load request
- webp
- 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
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/565—Conversion or adaptation of application format or content
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/957—Browsing optimisation, e.g. caching or content distillation
- G06F16/9574—Browsing optimisation, e.g. caching or content distillation of access to content, e.g. by caching
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/26—Special purpose or proprietary protocols or architectures
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Computer Security & Cryptography (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明公开了一种图片加载的流量优化方法、装置、终端设备及存储介质,方法包括:拦截并获取终端内的应用程序向服务器发送的第一图片加载请求,基于第一图片加载请求确定请求加载的图片是否支持WebP格式,若支持,则利用NSURL协议将请求加载的图片的格式转换成WebP格式,得到包含请求加载WebP格式的图片的第二图片加载请求,将第二图片加载请求发送给服务器,以便服务器反馈WebP格式的图片,完成图片加载,利用NSURL协议将请求加载的图片的格式转换成WebP格式,使得服务器反馈WebP格式的图片,因WebP格式图片比PNG等格式图片少了28%~45%的文件大小,所以减少了图片加载时所需的流量。
Description
技术领域
本发明涉及通信技术领域,尤其涉及一种图片加载的流量优化方法、装置、终端设备及存储介质。
背景技术
混合模式移动应用(Hybrid App)兼具了本地化应用(Native App)的良好用户交互体验的优势和网络应用(WEB App)的跨平台开发的优势,得到了广泛的应用,在HybridApp 中,最耗流量的部分当属于图片的加载,占整个Hybrid App流量消耗80%以上。
因此,现有技术中存在着图片加载会消耗大部分流量的技术问题。
发明内容
本发明的主要目的在于提出一种图片加载的流量优化方法及装置,旨在解决现有技术中存在的图片加载会消耗大部分流量的技术问题。
为实现上述目的,本发明实施例第一方面提供一种图片加载的流量优化方法,所述方法包括:
拦截并获取终端内的应用程序向服务器发送的第一图片加载请求,所述第一图片加载请求中至少包含请求加载的图片的格式;
基于所述第一图片加载请求确定请求加载的图片是否支持WebP格式;
若所述请求加载的图片支持WebP格式,则利用预置的NSURL协议将所述请求加载的图片的格式转换成WebP格式,得到包含请求加载WebP格式的图片的第二图片加载请求;
将所述第二图片加载请求发送给所述服务器,以便所述服务器反馈WebP格式的图片,以完成图片加载。
为实现上述目的,本发明实施例第二方面提供一种图片加载的流量优化装置,所述装置包括:
拦截获取模块,用于拦截并获取终端内的应用程序向服务器发送的第一图片加载请求,所述第一图片加载请求中至少包含请求加载的图片的格式;
第一确定模块,用于基于所述第一图片加载请求确定请求加载的图片是否支持WebP格式;
格式转换模块,用于若所述请求加载的图片支持WebP格式,则利用预置的NSURL协议将所述请求加载的图片的格式转换成WebP格式,得到包含请求加载WebP格式的图片的第二图片加载请求;
第一发送模块,用于将所述第二图片加载请求发送给所述服务器,以便所述服务器反馈WebP格式的图片,以完成图片加载。
为实现上述目的,本发明实施例第三方面提供一种终端设备,所述终端设备包括:存储器,处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时,实现本发明实施例第一方面所述的图片加载的流量优化方法中的各个步骤。
为实现上述目的,本发明实施例第四方面提供一种存储介质,所述存储介质为计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时,实现本发明实施例第一方面所述的图片加载的流量优化方法中的各个步骤。
本发明提出的图片加载的流量优化方法,拦截并获取终端内的应用程序向服务器发送的第一图片加载请求,第一图片加载请求中至少包含请求加载的图片的格式,基于第一图片加载请求确定请求加载的图片是否支持WebP格式,若请求加载的图片支持WebP格式,则利用预置的NSURL协议将请求加载的图片的格式转换成WebP格式,得到包含请求加载WebP格式的图片的第二图片加载请求,将第二图片加载请求发送给服务器,以便服务器反馈WebP格式的图片,以完成图片加载。与现有技术相比,本发明利用NSURL协议将请求加载的图片的格式转换成WebP格式,使得服务器反馈WebP格式的图片,因WebP格式图片比PNG等格式图片少了28%~45%的文件大小,所以减少了图片加载时所需的流量。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明第一实施例提供的一种图片加载的流量优化方法的流程示意图;
图2为本发明第二实施例提供的一种图片加载的流量优化方法的流程示意图;
图3为本发明第三实施例提供的一种图片加载的流量优化装置的功能模块的示意图;
图4为本发明第四实施例提供的一种图片加载的流量优化装置的功能模块的示意图。
具体实施方式
为使得本发明的发明目的、特征、优点能够更加的明显和易懂,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而非全部实施例。基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明所述技术方案主要运用在苹果操作系统IOS中,本发明实施例中的流量优化装置可以以各种形式来实施。例如,本发明中描述的流量优化装置可以包括诸如移动电话、智能电话、笔记本电脑、PAD(平板电脑)等等的移动终端以及诸如数字TV、台式计算机等等的固定终端。
为了说明本发明所述的技术方案,下面通过具体实施例来进行说明,。
请参阅图1,图1为本发明第一实施例提供的一种图片加载的流量优化方法的流程示意图,包括:
步骤101、拦截并获取终端内的应用程序向服务器发送的第一图片加载请求,所述第一图片加载请求中至少包含请求加载的图片的格式;
在本发明实施例中,在监测到终端内的应用程序向服务器发送的网络请求时,拦截该网络请求,并判断发送网络请求的应用程序是否为网页浏览器,其中,因为网页浏览器发送的网络请求的URL地址中都会包含AppleWebKit字符串,所以可根据该网络请求的URL地址中是否包含AppleWebKit字符串判断发送网络请求的应用程序是否为网页浏览器,若该应用程序不为网页浏览器,则将上述网络请求发送给服务器,若该应用程序为网页浏览器,则判断上述网络请求是否为第一图片加载请求,若该网络请求不为第一图片加载请求,则将该网络请求发送给服务器,若该网络请求为第一图片加载请求,则获取该第一图片加载请求。
其中,由于图片加载请求的URL地址中会包含标识请求加载的图片的显示格式的字符串,该字符串可以为png、image、jpg等标识图片的字符串中的任意一种,因此,可以判断网络请求的URL地址中是否包含标识图片格式的字符串,若包含标识图片的格式的字符串,则可以确定该网络请求为第一图片加载请求,若未包含标识图片的格式的字符串,则可以确定该网络请求并非第一图片加载请求。
步骤102、基于所述第一图片加载请求确定请求加载的图片是否支持WebP格式;
在本发明实施例中,图片加载请求的URL地址中会包含标识请求加载的图片的支持格式的字符串,该支持格式的字符串可以为aliyun、upyun、qiniu等标识图片的支持格式的字符串中的任意一种,若图片加载请求的URL地址中包含aliyun、upyun、qiniu等标识图片的支持格式的字符串中的任意一种,则表示待加载的图片支持WebP格式,若图片加载请求的URL地址中不包含aliyun、upyun、qiniu等标识图片的支持格式的字符串中的任意一种,则表示待加载的图片不支持WebP格式,因此,可以通过判断上述第一图片加载请求的URL地址中,是否包含上述aliyun、upyun、qiniu等标识图片的支持格式的字符串中的任意一种,确定上述请求加载的图片是否支持WebP格式。
步骤103、若所述请求加载的图片支持WebP格式,则利用预置的NSURL协议将所述请求加载的图片的格式转换成WebP格式,得到包含请求加载WebP格式的图片的第二图片加载请求;在本发明实施例中,若请求加载的图片支持WebP格式,则利用预置的NSURL协议(NSURLProtocol)将请求加载的图片的格式转换成WebP格式,其中,将请求加载的图片的格式转换成WebP格式具体是将第一图片加载请求的URL地址中的有关于图片的显示格式的字符串转换成WebP字符串,例如,将第一图片加载请求的URL地址http:AppleWebKit.aliyun.png转换成http:AppleWebKit.aliyun.WebP,其中,http:AppleWebKit.aliyun.WebP即为包含请求加载WebP格式的图片的第二图片加载请求。
其中,NSURL Protocol可以重定义整个URL加载系统(URL Loading System),注册自定义NSURL Protocol后,可以对所有的网络请求进行统一的处理,例如,自定义请求和响应、提供自定义的全局缓存支持、重定向网络请求、提供前期测试(HTTP Mocking )以及其他一些全局的网络请求修改需求,本发明实施例中将请求加载的图片格式转换为WebP格式,得到第二图片加载请求即为重定向网络请求。
其中,若请求加载的图片不支持WebP格式,则直接将第一图片加载请求发送给服务器。
步骤104、将所述第二图片加载请求发送给所述服务器,以便所述服务器反馈WebP格式的图片,以完成图片加载。
在本发明实施例中,利用第三方图片库将第二图片加载请求发送给对应的服务器,服务器反馈WebP格式的图片至应用程序,然后再次利用该第三方图片库将反馈的WebP格式的图片进行加载显示。
其中,第三方图片库是SDWebImageManager,是一个开源第三方库,是一段具有图片加载功能的共享代码。
在本发明实施例中,提出了一种图片加载的流量优化方法,拦截并获取终端内的应用程序向服务器发送的第一图片加载请求,第一图片加载请求中至少包含请求加载的图片的格式,基于第一图片加载请求确定请求加载的图片是否支持WebP格式,若请求加载的图片支持WebP格式,则利用预置的NSURL协议将请求加载的图片的格式转换成WebP格式,得到包含请求加载WebP格式的图片的第二图片加载请求,将第二图片加载请求发送给服务器,以便服务器反馈WebP格式的图片,以完成图片加载。与现有技术相比,本发明利用NSURLProtocol将请求加载的图片的格式转换成WebP格式,使得服务器反馈WebP格式的图片,因WebP格式图片比PNG等格式图片少了28%~45%的文件大小,所以减少了图片加载时所需的流量。
请参阅图2,图2为本发明第二实施例提供的一种图片加载的流量优化方法的流程示意图,包括:步骤201、拦截并获取终端内的应用程序向服务器发送的第一图片加载请求,所述第一图片加载请求中至少包含请求加载的图片的格式;在本发明实施例中,上述步骤201描述的内容与第一实施例中的步骤101描述的内容一致,此处不再加以赘述。
步骤202、利用消息摘要MD5算法确定所述第一图片加载请求的MD5值;
在本发明实施例中,在拦截并获取到第一图片加载请求后,利用消息摘要(MessageDigest Algorithm MD5)算法对第一图片加载请求的URL地址进行加密计算,会得到第一图片加载请求的MD5值,且该第一图片加载请求的MD5值是一串具有唯一性的字符串。
步骤203、利用所述第一图片加载请求的MD5值查找已保存的MD5值与缓存的图片之间的对应关系,所述对应关系为基于图片加载历史记录得到的;在本发明实施例中,每一次获取到图片加载请求后,都会利用MD5算法计算该图片加载请求的URL地址的MD5值,并查找本地缓存库中是否存在与该图片加载请求的MD5值相匹配的MD5值,若不存在,则表示该图片没有加载过,若存在,则表示该图片已经加载过并保存在本地缓存中。
其中,对应关系为基于图片加载历史记录得到的,若已加载过该图片,则在本地缓存中会保存着该图片的MD5值、该图片以及该图片的MD5值与该图片的对应关系,若没有加载过该图片,则在本地缓存中没有该图片的MD5值、该图片以及该图片的MD5值与该图片的对应关系。
步骤204、若查找到与所述第一图片加载请求的MD5值对应的图片,则显示所述对应的图片;在本发明实施例中,若查找到与第一图片加载请求的MD5值对应的图片,则不需要再向服务器发送图片请求,直接从本地缓存调用并显示图片,进一步达到流量优化的目的。
步骤205、若未查找到与所述第一图片加载请求的MD5值对应的图片,则基于所述第一图片加载请求确定请求加载的图片是否支持WebP格式;在本发明实施例中,若未查找到与第一图片加载请求的MD5值对应的图片,则表示该第一图片加载请求对应的图片没有被加载过,为了加载出该第一图片加载请求对应的图片,需要将该第一图片加载请求发送至服务器,然而在将该第一图片加载请求发送至服务器之前,需要确定请求加载的图片是否支持WebP格式,若请求加载的图片支持WebP格式,则将请求加载的图片的格式转换成WebP格式,因为,WebP格式的图片的文件大小比其他格式的图片的文件大小要小,所以加载WebP格式的图片比加载其他格式的图片会更加节省加载流量。
步骤206、若所述请求加载的图片支持WebP格式,则利用预置的NSURL协议将所述请求加载的图片的格式转换成WebP格式,得到包含请求加载WebP格式的图片的第二图片加载请求;在本发明实施例中,若请求加载的图片支持WebP格式,则利用NSURL Protocol将请求加载的图片的格式转换成WebP格式,其中,将请求加载的图片的格式转换成WebP格式仅仅是将第一图片加载请求的URL地址中的有关于图片格式的字符串转换成WebP字符串,例如,将第一图片加载请求的URL地址http:AppleWebKit.aliyun.png转换成http:AppleWebKit.aliyun.WebP,http:AppleWebKit.aliyun.WebP即为包含请求加载WebP格式的图片的第二图片加载请求。
其中,若请求加载的图片不支持WebP格式,则直接将第一图片加载请求发送给服务器,服务器反馈待加载的图片,利用SDWebImageManager将反馈的图片进行加载显示,并将图片缓存在本地,在下一次接收到同一个图片加载请求后,不需要再向服务器发送图片请求,直接从本地缓存中调用该图片,节省了图片加载时的流量。
步骤207、将所述第二图片加载请求发送给所述服务器,以便所述服务器反馈WebP格式的图片,以完成图片加载。
在本发明实施例中,在拦截获取到第一图片加载请求后,利用MD5算法确定第一图片加载请求的MD5值,并查找已保存的MD5值与缓存的图片之间的对应关系,若查找到与第一图片加载请求的MD5值对应的图片,则不需要再向服务器发送第一图片加载请求,直接从本地缓存调用并显示对应的图片,达到流量优化的目的;若未查找到与第一图片加载请求的MD5值对应的图片,则表示该图片没有被加载过,进一步确定上述请求加载的图片是否支持WebP格式,若请求加载的图片不支持WebP格式,则直接将第一图片加载请求发送给服务器,服务器反馈待加载的图片,以完成图片加载与缓存,若上述请求加载的图片支持WebP格式,则对格式转换后的图片进行加载与缓存,缓存的目的是为了在下一次接收到同一个图片加载请求后,不需要再向服务器发送图片请求,直接从本地缓存中调用该图片,节省了图片加载时的流量。
请参阅图3,图3为本发明第三实施例提供的一种图片加载的流量优化装置的功能模块的示意图,包括:拦截获取模块301、第一确定模块302、格式转换模块303及第一发送模块304,其中,拦截获取模块301包括:拦截模块3011、第一判断模块3012、获取模块3013、第二判断模块3014、第一执行模块3015以及第二发送模块3016,具体的:
拦截获取模块301,用于拦截并获取终端内的应用程序向服务器发送的第一图片加载请求,所述第一图片加载请求中至少包含请求加载的图片的格式;在本发明实施例中,在监测到终端内的应用程序向服务器发送的网络请求时,拦截模块3011拦截该网络请求,第二判断模块3014判断发送网络请求的应用程序是否为网页浏览器,其中,因为网页浏览器发送的网络请求的URL地址中都会包含AppleWebKit字符串,所以可根据该网络请求的URL地址中是否包含AppleWebKit字符串判断发送网络请求的应用程序是否为网页浏览器,若该应用程序不为网页浏览器,则将上述网络请求发送给服务器,若该应用程序为网页浏览器,则第一判断模块3012判断上述网络请求是否为第一图片加载请求,若该网络请求不为第一图片加载请求,则将该网络请求发送给服务器,若该网络请求为第一图片加载请求,则获取模块3013获取该第一图片加载请求。
其中,由于图片加载请求的URL地址中会包含标识请求加载的图片的显示格式的字符串,该字符串可以为png、image、jpg等标识图片的字符串中的任意一种,因此,可以判断网络请求的URL地址中是否包含标识图片格式的字符串,若包含标识图片的格式的字符串,则可以确定该网络请求为第一图片加载请求,若未包含标识图片的格式的字符串,则可以确定该网络请求并非第一图片加载请求。
第一确定模块302,用于基于所述第一图片加载请求确定请求加载的图片是否支持WebP格式;在本发明实施例中,图片加载请求的URL地址中会包含标识请求加载的图片的支持格式的字符串,该支持格式的字符串可以为aliyun、upyun、qiniu等标识图片的支持格式的字符串中的任意一种,若图片加载请求的URL地址中包含aliyun、upyun、qiniu等标识图片的支持格式的字符串中的任意一种,则表示待加载的图片支持WebP格式,若图片加载请求的URL地址中不包含aliyun、upyun、qiniu等标识图片的支持格式的字符串中的任意一种,则表示待加载的图片不支持WebP格式,因此,第一确定模块302可以通过判断上述第一图片加载请求的URL地址中,是否包含上述aliyun、upyun、qiniu等标识图片的支持格式的字符串中的任意一种,确定上述请求加载的图片是否支持WebP格式。
格式转换模块303,用于若所述请求加载的图片支持WebP格式,则利用预置的NSURL协议将所述请求加载的图片的格式转换成WebP格式,得到包含请求加载WebP格式的图片的第二图片加载请求;在本发明实施例中,若请求加载的图片支持WebP格式,则格式转换模块303利用预置的NSURL协议(NSURLProtocol)将请求加载的图片的格式转换成WebP格式,其中,将请求加载的图片的格式转换成WebP格式具体是将第一图片加载请求的URL地址中的有关于图片格式的字符串转换成WebP字符串,例如,将第一图片加载请求的URL地址http:AppleWebKit.aliyun.png转换成http:AppleWebKit.aliyun.WebP,http:AppleWebKit.aliyun.WebP即为包含请求加载WebP格式的图片的第二图片加载请求。
其中,NSURL Protocol可以重定义整个URL加载系统(URL Loading System),注册自定义NSURL Protocol后,可以对所有的网络请求进行统一的处理,例如,自定义请求和响应、提供自定义的全局缓存支持、重定向网络请求、提供前期测试(HTTP Mocking )以及其他一些全局的网络请求修改需求,本发明实施例中将请求加载的图片格式转换为WebP格式,得到第二图片加载请求即为重定向网络请求。
其中,若请求加载的图片不支持WebP格式,则直接将第一图片加载请求发送给服务器。
第一发送模块304,用于将所述第二图片加载请求发送给所述服务器,以便所述服务器反馈WebP格式的图片,以完成图片加载。
在本发明实施例中,第一发送模块304将第二图片加载请求发送给对应的服务器,服务器反馈WebP格式的图片至应用程序,然后利用第三方图片库将反馈的WebP格式的图片进行加载显示。
其中,第三方图片库是SDWebImageManager,是一个开源第三方库,是一段具有图片加载功能的共享代码。
在本发明实施例中,提出了一种图片加载的流量优化方法,拦截获取模块301拦截并获取终端内的应用程序向服务器发送的第一图片加载请求,第一图片加载请求中至少包含请求加载的图片的格式,第一确定模块302基于第一图片加载请求确定请求加载的图片是否支持WebP格式,若请求加载的图片支持WebP格式,则格式转换模块303利用预置的NSURL协议将请求加载的图片的格式转换成WebP格式,得到包含请求加载WebP格式的图片的第二图片加载请求,第一发送模块304将第二图片加载请求发送给服务器,以便服务器反馈WebP格式的图片,以完成图片加载。与现有技术相比,本发明利用NSURL Protocol将请求加载的图片的格式转换成WebP格式,使得服务器反馈WebP格式的图片,因WebP格式图片比PNG等格式图片少了28%~45%的文件大小,所以减少了图片加载时所需的流量。
请参阅图4,图4为本发明第四实施例提供的一种图片加载的流量优化装置的功能模块的示意图,包括图3中的拦截获取模块301、第一确定模块302、格式转换模块303、第一发送模块304、拦截模块3011、第一判断模块3012、获取模块3013、第二判断模块3014、第一执行模块3015以及第二发送模块3016,还包括:第二确定模块401、查找模块402、显示模块403及第二执行模块404,具体的:
拦截获取模块301,用于拦截并获取终端内的应用程序向服务器发送的第一图片加载请求,所述第一图片加载请求中至少包含请求加载的图片的格式;
在本发明实施例中,上述拦截获取模块301描述的内容与第三实施例中的拦截获取模块301描述的内容一致,此处不再加以赘述。
第二确定模块401,用于利用消息摘要MD5算法确定所述第一图片加载请求的MD5值;在本发明实施例中,在拦截并获取到第一图片加载请求后,第二确定模块401利用消息摘要(Message Digest Algorithm MD5)算法对第一图片加载请求的URL地址进行加密计算,会得到第一图片加载请求的MD5值,且该第一图片加载请求的MD5值是一串具有唯一性的字符串。
查找模块402,用于利用所述第一图片加载请求的MD5值查找已保存的MD5值与缓存的图片之间的对应关系,所述对应关系为基于图片加载历史记录得到的;
在本发明实施例中,每一次获取到图片加载请求后,查找模块402都会利用MD5算法计算该图片加载请求的URL地址的MD5值,并查找本地缓存库中是否存在与该图片加载请求的MD5值相匹配的MD5值,若不存在,则表示该图片没有加载过,若存在,则表示该图片已经加载过并保存在本地缓存中。
其中,对应关系为基于图片加载历史记录得到的,若已加载过该图片,则在本地缓存中会保存着该图片的MD5值、该图片以及该图片的MD5值与该图片的对应关系,若没有加载过该图片,则在本地缓存中没有该图片的MD5值、该图片以及该图片的MD5值与该图片的对应关系。
显示模块403,用于若查找到与所述第一图片加载请求的MD5值对应的图片,则显示所述对应的图片;在本发明实施例中,若查找到与第一图片加载请求的MD5值对应的图片,则不需要再向服务器发送图片请求,显示模块403直接从本地缓存调用并显示图片,进一步达到流量优化的目的。
第二执行模块404,用于若未查找到与所述第一图片加载请求的MD5值对应的图片,则执行第一确定模块302的内容。
第一确定模块302,用于基于所述第一图片加载请求确定请求加载的图片是否支持WebP格式;在本发明实施例中,若未查找到与第一图片加载请求的MD5值对应的图片,则表示该第一图片加载请求对应的图片没有被加载过,为了加载出该第一图片加载请求对应的图片,需要将该第一图片加载请求发送至服务器,然而在将该第一图片加载请求发送至服务器之前,需要利用第一确定模块302确定请求加载的图片是否支持WebP格式,若请求加载的图片支持WebP格式,则将请求加载的图片的格式转换成WebP格式,因为,WebP格式的图片的文件大小比其他格式的图片的文件大小要小,所以加载WebP格式的图片比加载其他格式的图片会更加节省加载流量。
格式转换模块303,用于若所述请求加载的图片支持WebP格式,则利用预置的NSURL协议将所述请求加载的图片的格式转换成WebP格式,得到包含请求加载WebP格式的图片的第二图片加载请求;在本发明实施例中,若请求加载的图片支持WebP格式,则格式转换模块303利用NSURL Protocol将请求加载的图片的格式转换成WebP格式,其中,将请求加载的图片的格式转换成WebP格式仅仅是将第一图片加载请求的URL地址中的有关于图片格式的字符串转换成WebP字符串,例如,将第一图片加载请求的URL地址http:AppleWebKit.aliyun.png转换成http:AppleWebKit.aliyun.WebP,http:AppleWebKit.aliyun.WebP即为包含请求加载WebP格式的图片的第二图片加载请求。
其中,若请求加载的图片不支持WebP格式,则直接将第一图片加载请求发送给服务器,服务器反馈待加载的图片,利用SDWebImageManager将反馈的图片进行加载显示,并将图片缓存在本地,在下一次接收到同一个图片加载请求后,不需要再向服务器发送图片请求,直接从本地缓存中调用该图片,节省了图片加载时的流量。
第一发送模块304,用于将所述第二图片加载请求发送给所述服务器,以便所述服务器反馈WebP格式的图片,以完成图片加载。
在本发明实施例中,在拦截获取到第一图片加载请求后,利用MD5算法确定第一图片加载请求的MD5值,并查找已保存的MD5值与缓存的图片之间的对应关系,若查找到与第一图片加载请求的MD5值对应的图片,则不需要再向服务器发送第一图片加载请求,直接从本地缓存调用并显示对应的图片,达到流量优化的目的;若未查找到与所述第一图片加载请求的MD5值对应的图片,则表示该图片没有被加载过,进一步确定上述请求加载的图片是否支持WebP格式,若请求加载的图片不支持WebP格式,则直接将第一图片加载请求发送给服务器,服务器反馈待加载的图片,以完成图片加载与缓存,若上述请求加载的图片支持WebP格式,则第一发送模块304将格式转换后的图片请求发送至服务器,并对格式转换后的图片进行加载与缓存,缓存的目的是为了在下一次接收到同一个图片加载请求后,不需要再向服务器发送图片请求,直接从本地缓存中调用该图片,节省了图片加载时的流量。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
需要说明的是,对于前述的各方法实施例,为了简便描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定都是本发明所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。
以上为对本发明所提供的一种图片加载的流量优化方法、装置、终端设备及存储介质的描述,对于本领域的技术人员,依据本发明实施例的思想,在具体实施方式及应用范围上均会有改变之处,综上,本说明书内容不应理解为对本发明的限制。
Claims (10)
1.一种图片加载的流量优化方法,其特征在于,所述方法包括:
拦截并获取终端内的应用程序向服务器发送的第一图片加载请求,所述第一图片加载请求中至少包含请求加载的图片的格式;
基于所述第一图片加载请求确定请求加载的图片是否支持WebP格式;
若所述请求加载的图片支持WebP格式,则利用预置的NSURL协议将所述请求加载的图片的格式转换成WebP格式,得到包含请求加载WebP格式的图片的第二图片加载请求;
将所述第二图片加载请求发送给所述服务器,以便所述服务器反馈WebP格式的图片,以完成图片加载。
2.根据权利要求1所述的方法,其特征在于,所述拦截并获取终端内的应用程序向服务器发送的第一图片加载请求,包括:
拦截所述终端内的应用程序向所述服务器发送的网络请求;
判断所述网络请求是否为第一图片加载请求;
若所述网络请求为第一图片加载请求,则获取所述第一图片加载请求。
3.根据权利要求2所述的方法,其特征在于,所述判断所述网络请求是否为第一图片加载请求,之前还包括:
判断发送所述网络请求的应用程序是否为网页浏览器;
若所述应用程序为网页浏览器,则执行所述判断所述网络请求是否为第一图片加载请求的步骤;
若所述应用程序为非网页浏览器,则将所述网络请求发送给服务器。
4.根据权利要求1至3任意一项所述的方法,其特征在于,所述基于所述第一图片加载请求确定请求加载的图片是否支持WebP格式,之前还包括:
利用消息摘要MD5算法确定所述第一图片加载请求的MD5值;
利用所述第一图片加载请求的MD5值查找已保存的MD5值与缓存的图片之间的对应关系,所述对应关系为基于图片加载历史记录得到的;
若查找到与所述第一图片加载请求的MD5值对应的图片,则显示所述对应的图片;
若未查找到与所述第一图片加载请求的MD5值对应的图片,则执行所述基于所述第一图片加载请求确定请求加载的图片是否支持WebP格式的步骤。
5.一种图片加载的流量优化装置,其特征在于,所述装置包括:
拦截获取模块,用于拦截并获取终端内的应用程序向服务器发送的第一图片加载请求,所述第一图片加载请求中至少包含请求加载的图片的格式;
第一确定模块,用于基于所述第一图片加载请求确定请求加载的图片是否支持WebP格式;
格式转换模块,用于若所述请求加载的图片支持WebP格式,则利用预置的NSURL协议将所述请求加载的图片的格式转换成WebP格式,得到包含请求加载WebP格式的图片的第二图片加载请求;
第一发送模块,用于将所述第二图片加载请求发送给所述服务器,以便所述服务器反馈WebP格式的图片,以完成图片加载。
6.根据权利要求5所述的装置,其特征在于,所述拦截获取模块包括:
拦截模块,用于拦截所述终端内的应用程序向所述服务器发送的网络请求;
第一判断模块,用于判断所述网络请求是否为第一图片加载请求;
获取模块,用于若所述网络请求为第一图片加载请求,则获取所述第一图片加载请求。
7.根据权利要求6所述的装置,其特征在于,所述拦截获取模块还包括:
第二判断模块,用于判断发送所述网络请求的应用程序是否为网页浏览器;
第一执行模块,用于若所述应用程序为网页浏览器,则执行所述判断所述网络请求是否为第一图片加载请求的步骤;
第二发送模块,用于若所述应用程序为非网页浏览器,则将所述网络请求发送给服务器。
8.根据权利要求5至7任意一项所述的装置,其特征在于,所述装置还包括:
第二确定模块,用于利用消息摘要MD5算法确定所述第一图片加载请求的MD5值;
查找模块,用于利用所述第一图片加载请求的MD5值查找已保存的MD5值与缓存的图片之间的对应关系,所述对应关系为基于图片加载历史记录得到的;
显示模块,用于若查找到与所述第一图片加载请求的MD5值对应的图片,则显示所述对应的图片;
第二执行模块,用于若未查找到与所述第一图片加载请求的MD5值对应的图片,则执行所述基于所述第一图片加载请求确定请求加载的图片是否支持WebP格式的步骤。
9.一种终端设备,包括:存储器,处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时,实现权利要求1至4任意一项所述的图片加载的流量优化方法中的各个步骤。
10.一种存储介质,所述存储介质为计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时,实现权利要求1至4任意一项所述的图片加载的流量优化方法中的各个步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711142248.1A CN107911456A (zh) | 2017-11-17 | 2017-11-17 | 图片加载的流量优化方法、装置、终端设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711142248.1A CN107911456A (zh) | 2017-11-17 | 2017-11-17 | 图片加载的流量优化方法、装置、终端设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107911456A true CN107911456A (zh) | 2018-04-13 |
Family
ID=61846066
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711142248.1A Pending CN107911456A (zh) | 2017-11-17 | 2017-11-17 | 图片加载的流量优化方法、装置、终端设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107911456A (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108965430A (zh) * | 2018-07-16 | 2018-12-07 | 深圳鼎盛电脑科技有限公司 | 图片获取方法、装置、计算机设备及存储介质 |
CN109525796A (zh) * | 2018-12-12 | 2019-03-26 | 四川商通实业有限公司 | 一种Webp图片格式转换方法 |
CN109582889A (zh) * | 2018-10-17 | 2019-04-05 | 平安普惠企业管理有限公司 | 图片加载方法、装置、计算机设备及存储介质 |
CN110933017A (zh) * | 2018-09-20 | 2020-03-27 | 广州优视网络科技有限公司 | 访问请求的处理方法、终端、服务器及可读存储介质 |
CN112612964A (zh) * | 2020-12-31 | 2021-04-06 | 武汉悦学帮网络技术有限公司 | 一种图片展示方法、装置、计算机设备和存储介质 |
CN113382180A (zh) * | 2021-06-01 | 2021-09-10 | 海南车智易通信息技术有限公司 | 一种图片处理的方法、计算设备及可读存储介质 |
CN113836452A (zh) * | 2021-07-12 | 2021-12-24 | 上海一谈网络科技有限公司 | 图片显示优化方法、系统、设备及存储介质 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102905045A (zh) * | 2012-10-26 | 2013-01-30 | 北京奇虎科技有限公司 | 向计算终端提供图片数据的方法及服务器 |
CN102984151A (zh) * | 2012-11-26 | 2013-03-20 | 北京奇虎科技有限公司 | 向计算终端提供图片数据的方法及服务器 |
CN103248627A (zh) * | 2013-05-06 | 2013-08-14 | 北京奇虎科技有限公司 | 实现访问网站资源的方法、正向代理服务器和系统 |
US20140272869A1 (en) * | 2013-03-15 | 2014-09-18 | Health & Safety Institute | Platforms, systems, software, and methods for online cpr training and certification |
CN106210135A (zh) * | 2016-08-25 | 2016-12-07 | 乐视控股(北京)有限公司 | 图片资源下载处理方法、终端和资源服务器 |
CN107066609A (zh) * | 2017-04-27 | 2017-08-18 | 北京京东尚科信息技术有限公司 | 图片显示方法和装置 |
CN107203555A (zh) * | 2016-03-17 | 2017-09-26 | 阿里巴巴集团控股有限公司 | 页面加载处理方法及装置 |
CN107291519A (zh) * | 2017-08-09 | 2017-10-24 | 四川长虹电器股份有限公司 | 一种基于移动终端的webview的跨平台图片缓存实现方法 |
-
2017
- 2017-11-17 CN CN201711142248.1A patent/CN107911456A/zh active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102905045A (zh) * | 2012-10-26 | 2013-01-30 | 北京奇虎科技有限公司 | 向计算终端提供图片数据的方法及服务器 |
CN102984151A (zh) * | 2012-11-26 | 2013-03-20 | 北京奇虎科技有限公司 | 向计算终端提供图片数据的方法及服务器 |
US20140272869A1 (en) * | 2013-03-15 | 2014-09-18 | Health & Safety Institute | Platforms, systems, software, and methods for online cpr training and certification |
CN103248627A (zh) * | 2013-05-06 | 2013-08-14 | 北京奇虎科技有限公司 | 实现访问网站资源的方法、正向代理服务器和系统 |
CN107203555A (zh) * | 2016-03-17 | 2017-09-26 | 阿里巴巴集团控股有限公司 | 页面加载处理方法及装置 |
CN106210135A (zh) * | 2016-08-25 | 2016-12-07 | 乐视控股(北京)有限公司 | 图片资源下载处理方法、终端和资源服务器 |
CN107066609A (zh) * | 2017-04-27 | 2017-08-18 | 北京京东尚科信息技术有限公司 | 图片显示方法和装置 |
CN107291519A (zh) * | 2017-08-09 | 2017-10-24 | 四川长虹电器股份有限公司 | 一种基于移动终端的webview的跨平台图片缓存实现方法 |
Non-Patent Citations (2)
Title |
---|
CURIOSITY: "iOS客户端基于WebP图片格式的流量优化(上)", 《HTTPS://SEGMENTFAULT.COM/A/1190000006266276》 * |
郑宇航: "移动图片社交Web前端性能优化及应用", 《中国优秀硕士论文全文数据信息科技辑》 * |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108965430A (zh) * | 2018-07-16 | 2018-12-07 | 深圳鼎盛电脑科技有限公司 | 图片获取方法、装置、计算机设备及存储介质 |
CN110933017A (zh) * | 2018-09-20 | 2020-03-27 | 广州优视网络科技有限公司 | 访问请求的处理方法、终端、服务器及可读存储介质 |
CN110933017B (zh) * | 2018-09-20 | 2022-05-20 | 阿里巴巴(中国)有限公司 | 访问请求的处理方法、终端、服务器及可读存储介质 |
CN109582889A (zh) * | 2018-10-17 | 2019-04-05 | 平安普惠企业管理有限公司 | 图片加载方法、装置、计算机设备及存储介质 |
CN109525796A (zh) * | 2018-12-12 | 2019-03-26 | 四川商通实业有限公司 | 一种Webp图片格式转换方法 |
CN112612964A (zh) * | 2020-12-31 | 2021-04-06 | 武汉悦学帮网络技术有限公司 | 一种图片展示方法、装置、计算机设备和存储介质 |
CN113382180A (zh) * | 2021-06-01 | 2021-09-10 | 海南车智易通信息技术有限公司 | 一种图片处理的方法、计算设备及可读存储介质 |
CN113382180B (zh) * | 2021-06-01 | 2023-02-28 | 海南车智易通信息技术有限公司 | 一种图片处理的方法、计算设备及可读存储介质 |
CN113836452A (zh) * | 2021-07-12 | 2021-12-24 | 上海一谈网络科技有限公司 | 图片显示优化方法、系统、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107911456A (zh) | 图片加载的流量优化方法、装置、终端设备及存储介质 | |
CN109684358B (zh) | 数据查询的方法和装置 | |
CN105205014B (zh) | 一种数据存储方法和装置 | |
CN101741986B (zh) | 一种用于移动通讯设备终端的页面缓存方法 | |
CN102656570B (zh) | 用于缓存的方法和服务器 | |
CN104077310B (zh) | 加载资源文件的方法、设备和系统 | |
US20100180208A1 (en) | Server side data cache system | |
CN103067297B (zh) | 一种基于资源消耗预测的动态负载均衡方法及装置 | |
MX2014007165A (es) | Pre-guardado en memoria cache de red de suministro de contenido (cdn) impulsado por aplicacion. | |
CN113010818A (zh) | 访问限流方法、装置、电子设备及存储介质 | |
CN108494860A (zh) | Web访问系统、用于客户端的web访问方法和装置 | |
CN107465722A (zh) | Web访问的实现方法和装置 | |
CN109657174A (zh) | 用于更新数据的方法和装置 | |
CN105721538A (zh) | 数据访问的方法和装置 | |
CN104657435A (zh) | 一种应用数据的存储管理方法和网络管理系统 | |
CN108733317A (zh) | 数据存储方法和装置 | |
CN106951323A (zh) | 应用程序本地缓存方法和装置 | |
CN109871354B (zh) | 一种文件处理的方法及装置 | |
CN106161573A (zh) | 服务器缓存处理方法、装置及系统 | |
CN107623732A (zh) | 一种基于云平台的数据存储方法、装置、设备及存储介质 | |
CN108566411A (zh) | 静态资源获取方法、电子设备和存储介质 | |
CN103858121A (zh) | 使Web应用获取数据库变化的方法和系统 | |
CN108536617A (zh) | 缓存管理方法、介质、系统和电子设备 | |
CN109254804A (zh) | 一种静态资源加载方法、装置、设备及可读存储介质 | |
CN109885593A (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 | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20180413 |