CN108664554A - 一种应用程序中加载网页视图的方法及装置 - Google Patents
一种应用程序中加载网页视图的方法及装置 Download PDFInfo
- Publication number
- CN108664554A CN108664554A CN201810288098.3A CN201810288098A CN108664554A CN 108664554 A CN108664554 A CN 108664554A CN 201810288098 A CN201810288098 A CN 201810288098A CN 108664554 A CN108664554 A CN 108664554A
- Authority
- CN
- China
- Prior art keywords
- line files
- file
- application program
- server
- stored
- 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
Landscapes
- Information Transfer Between Computers (AREA)
Abstract
本发明实施例提供了一种应用程序中加载网页视图的方法及装置,包括:当监测到应用程序启动时,针对终端设备中缓存的所述应用程序的每一个离线文件,判断当前离线文件的版本号是否低于服务器中存储的对应的离线文件的版本号,若低于,获取服务器中存储的对应的离线文件,并根据获取到的离线文件,更新缓存的当前离线文件;在所述应用程序加载网页视图时,劫持所述应用程序加载网页视图的网络请求,并根据所述网络请求中请求文件的信息,判断终端设备缓存的离线文件中是否包含所述请求文件;若包含,关闭所述网络请求,将终端设备缓存的所述请求文件返回至所述应用程序。通过本发明,实现了快速地加载应用程序的网页视图。
Description
技术领域
本发明涉及计算机网络技术领域,尤其涉及一种应用程序中加载网页视图的方法及装置。
背景技术
随着计算机技术的不断发展,人们的生活离不开各种应用程序,随之,对应用程序的性能要求也越来越高,缓存技术是应用程序运行过程中的重要技术,客户端侧缓存一般指的是浏览器缓存,目的就是加速各种静态资源的访问,现有的大型网站,绝大多数页面都是上百个请求,每天的页面浏览量都是亿级别,如果没有缓存,用户体验会急剧下降,同时服务器压力和网络带宽都将面临严重的考验。
现有技术中,通过浏览器缓存机制实现网页资源的缓存,浏览器缓存机制,其实主要就是HTTP(HyperText Transfer Protocol,超文本传输协议)协议定义的缓存机制,如:Expires(和网页缓存相关字段);Cache-control(指定所有缓存机制在整个请求/响应链中必须服从的指令)等,但是也有非HTTP协议定义的缓存机制,如使用HTML Meta(描述一个HTML网页文档的属性)标签,Web(World Wide Web,全球广域网或万维网)开发者可以在HTML页面的<head>节点中加入<meta>标签,通过浏览器缓存机制减少了冗余的数据传输,节省了网费,同时,减少了服务器的负担,大大提升了网站的性能,从而加快了客户端加载网页的速度。
在实现本发明过程中,发明人发现现有技术中至少存在如下问题:
1、浏览器的缓存必须在首次打开并加载后才能写入缓存,并且仅能提升首次打开的速度;
2、代码更新到线上后用户浏览器不能自行更新,无法要求所有客户在系统更新后都执行一次缓存清理的操作;
3、通过缓存内容无法判断是否存在缓存,很容易会导致缓存占用空间过大的问题;
4、缓存容易被手动清理,缓存被清理后,页面就无法使用缓存内容,不能保证网页的稳定。
发明内容
本发明实施例提供一种应用程序中加载网页视图的方法及装置,以实现快速地加载应用程序的网页视图。
一方面,本发明实施例提供了一种应用程序中加载网页视图的方法,包括:
当监测到应用程序启动时,获取应用程序在终端设备中缓存的各个离线文件的版本信息,并获取服务器中存储的所述应用程序的各个离线文件的版本信息,所述版本信息包括版本号;
针对终端设备中缓存的所述应用程序的每一个离线文件,判断当前离线文件的版本号是否低于服务器中存储的对应的离线文件的版本号,若低于,获取服务器中存储的对应的离线文件,并根据获取到的离线文件,更新缓存的当前离线文件;
在所述应用程序加载网页视图时,劫持所述应用程序加载网页视图的网络请求,并根据所述网络请求中请求文件的信息,判断终端设备缓存的离线文件中是否包含所述请求文件;
若包含,关闭所述网络请求,将终端设备缓存的所述请求文件返回至所述应用程序,以用于所述应用程序加载网页视图。
另一方面,本发明实施例提供了一种应用程序中加载网页视图的装置,包括:
获取单元,用于当监测到应用程序启动时,获取应用程序在终端设备中缓存的各个离线文件的版本信息,并获取服务器中存储的所述应用程序的各个离线文件的版本信息,所述版本信息包括版本号;
判断单元,用于针对终端设备中缓存的所述应用程序的每一个离线文件,判断当前离线文件的版本号是否低于服务器中存储的对应的离线文件的版本号,若低于,获取服务器中存储的对应的离线文件,并根据获取到的离线文件,更新缓存的当前离线文件;
劫持及判断单元,用于在所述应用程序加载网页视图时,劫持所述应用程序加载网页视图的网络请求,并根据所述网络请求中请求文件的信息,判断终端设备缓存的离线文件中是否包含所述请求文件;
关闭及返回单元,用于若包含,关闭所述网络请求,将终端设备缓存的所述请求文件返回至所述应用程序,以用于所述应用程序加载网页视图。
上述技术方案具有如下有益效果:基于应用程序将缓存的内容存储到终端设备中,并劫持网络请求,实现了及时准确地更新过期的缓存内容;同时,若终端设备缓存的离线文件中包含网络请求的请求文件时,关闭所述网络请求,将终端设备缓存的所述请求文件返回至所述应用程序,以用于所述应用程序加载网页视图,实现了快速地加载应用程序的网页视图,从而快速地完成应用程序的渲染展示,避免了因HTTP协议不稳定,以及HTTP建立链接耗时等原因造成的网络请求响应缓慢的情况发生,进一步地,提高了用户的使用体验。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明一个实施例中一种应用程序中加载网页视图的方法流程图;
图2为本发明另一实施例中一种应用程序中加载网页视图的装置结构示意图;
图3为本发明一优选实施例中的系统模块示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,为本发明实施例中一种应用程序中加载网页视图的方法,包括:
101、当监测到应用程序启动时,获取应用程序在终端设备中缓存的各个离线文件的版本信息,并获取服务器中存储的所述应用程序的各个离线文件的版本信息,所述版本信息包括版本号;
102、针对终端设备中缓存的所述应用程序的每一个离线文件,判断当前离线文件的版本号是否低于服务器中存储的对应的离线文件的版本号,若低于,获取服务器中存储的对应的离线文件,并根据获取到的离线文件,更新缓存的当前离线文件;
103、在所述应用程序加载网页视图时,劫持所述应用程序加载网页视图的网络请求,并根据所述网络请求中请求文件的信息,判断终端设备缓存的离线文件中是否包含所述请求文件;
104、若包含,关闭所述网络请求,将终端设备缓存的所述请求文件返回至所述应用程序,以用于所述应用程序加载网页视图。
可选地,还包括:
在所述应用程序首次发布或者发布新版本时,将所述应用程序的各个离线文件存储至服务器;
其中,所述将所述应用程序的各个离线文件存储至服务器,具体包括:
针对每一个离线文件,判断服务器中是否已存储当前离线文件;
若未存储,生成当前离线文件的版本号,将当前离线文件和所述版本号存储至服务器中;
若已存储,更新服务器中已存储的当前离线文件,并更新服务器中当前离线文件的版本号。
优选地,所述获取服务器中存储的所述应用程序的各个离线文件的版本信息,具体包括:
当监测到应用程序启动时,获取服务器中存储的所述应用程序的至少一个离线文件表;其中,每一个离线文件表中包含本离线文件表对应的若干离线文件的版本信息;
根据获取到的各个离线文件表,确定所述应用程序的各个离线文件的版本信息。
优选地,所述获取服务器中存储的对应的离线文件,并根据获取到的离线文件,更新缓存的当前离线文件,具体包括:
获取服务器中存储的对应的离线文件,根据获取到的离线文件中的安全信息判断所述离线文件的内容是否合法;
若合法,更新终端设备中缓存的当前离线文件;
其中,所述获取服务器中存储的对应的离线文件,具体包括:
根据服务器中存储的各个离线文件的获取规则,执行与待获取离线文件的获取规则相匹配的操作。
可选地,所述针对终端设备中缓存的所述应用程序的每一个离线文件,判断当前离线文件的版本号是否低于服务器中存储的对应的离线文件的版本号的步骤之前,还包括:
确认服务器中存储的对应的离线文件的版本号中存在当前离线文件的版本号;
以及,所述方法还包括:
若服务器中存储的对应的离线文件的版本号中不存在当前离线文件的版本号,删除终端设备中缓存的当前离线文件。
可选地,还包括:
在终端设备中存储用于设置离线文件缓存规则的配置文件;
其中,所述根据所述网络请求中请求文件的信息,判断终端设备缓存的离线文件中是否包含所述请求文件,具体包括:
根据所述网络请求中请求文件的信息,判断在所述配置文件中是否包含所述请求文件的信息;
若包含,判断获取到的各个离线文件表中是否存在所述请求文件对应的离线文件;
若存在,确定终端设备缓存的离线文件中包含所述请求文件;否则,确定终端设备缓存的离线文件中不包含所述请求文件;
其中,所述请求文件的信息包括请求文件的地址前缀信息、请求文件的版本号和请求文件的文件名。
如图2所示,为本发明实施例中一种应用程序中加载网页视图的装置,包括:
获取单元21,用于当监测到应用程序启动时,获取应用程序在终端设备中缓存的各个离线文件的版本信息,并获取服务器中存储的所述应用程序的各个离线文件的版本信息,所述版本信息包括版本号;
判断单元22,用于针对终端设备中缓存的所述应用程序的每一个离线文件,判断当前离线文件的版本号是否低于服务器中存储的对应的离线文件的版本号,若低于,获取服务器中存储的对应的离线文件,并根据获取到的离线文件,更新缓存的当前离线文件;
劫持及判断单元23,用于在所述应用程序加载网页视图时,劫持所述应用程序加载网页视图的网络请求,并根据所述网络请求中请求文件的信息,判断终端设备缓存的离线文件中是否包含所述请求文件;
关闭及返回单元24,用于若包含,关闭所述网络请求,将终端设备缓存的所述请求文件返回至所述应用程序,以用于所述应用程序加载网页视图。
可选地,还包括:
第一存储单元,用于在所述应用程序首次发布或者发布新版本时,将所述应用程序的各个离线文件存储至服务器;
其中,所述第一存储单元具体用于
针对每一个离线文件,判断服务器中是否已存储当前离线文件;
若未存储,生成当前离线文件的版本号,将当前离线文件和所述版本号存储至服务器中;
若已存储,更新服务器中已存储的当前离线文件,并更新服务器中当前离线文件的版本号。
优选地,所述获取单元,包括:
获取模块,用于当监测到应用程序启动时,获取服务器中存储的所述应用程序的至少一个离线文件表;其中,每一个离线文件表中包含本离线文件表对应的若干离线文件的版本信息;
确定模块,用于根据获取到的各个离线文件表,确定所述应用程序的各个离线文件的版本信息。
优选地,所述判断单元,包括:
判断模块,用于获取服务器中存储的对应的离线文件,根据获取到的离线文件中的安全信息判断所述离线文件的内容是否合法;
更新模块,用于若合法,更新终端设备中缓存的当前离线文件;
其中,所述判断模块,具体用于
根据服务器中存储的各个离线文件的获取规则,执行与待获取离线文件的获取规则相匹配的操作。
可选地,还包括:
确认单元,用于确认服务器中存储的对应的离线文件的版本号中存在当前离线文件的版本号时触发所述判断单元;
以及,所述装置还包括:
删除单元,用于若所述确认单元判断出服务器中存储的对应的离线文件的版本号中不存在当前离线文件的版本号,删除终端设备中缓存的当前离线文件。
可选地,还包括:
第二存储单元,用于在终端设备中存储用于设置离线文件缓存规则的配置文件;
其中,所述劫持及判断单元,具体用于
根据所述网络请求中请求文件的信息,判断在所述配置文件中是否包含所述请求文件的信息;
若包含,判断获取到的各个离线文件表中是否存在所述请求文件对应的离线文件;
若存在,确定终端设备缓存的离线文件中包含所述请求文件;否则,确定终端设备缓存的离线文件中不包含所述请求文件;
其中,所述请求文件的信息包括请求文件的地址前缀信息、请求文件的版本号和请求文件的文件名。
本发明实施例上述技术方案具有如下有益效果:基于应用程序将缓存的内容存储到终端设备中,并劫持网络请求,实现了及时准确地更新过期的缓存内容;同时,若终端设备缓存的离线文件中包含网络请求的请求文件时,关闭所述网络请求,将终端设备缓存的所述请求文件返回至所述应用程序,以用于所述应用程序加载网页视图,实现了快速地加载应用程序的网页视图,从而快速地完成应用程序的渲染展示,避免了因HTTP协议不稳定,以及HTTP建立链接耗时等原因造成的网络请求响应缓慢的情况发生,进一步地,提高了用户的使用体验。
以下结合应用实例对本发明实施例上述技术方案进行详细说明:
本发明应用实例旨在快速地加载应用程序的网页视图。
如图1所示,例如,在应用程序,如应用程序APP1,当用户首次运行应用程序APP1时,会将应用程序APP1运行时加载网页视图的各个资源文件缓存至终端设备,随后,在后续用户再次启动应用程序APP1时,当监测到应用程序APP1启动时,获取应用程序APP1在终端设备中缓存的各个离线文件的版本信息,并获取服务器中存储的应用程序APP1的各个离线文件的版本信息,版本信息包括版本号;针对终端设备中缓存的应用程序APP1的每一个离线文件,判断当前离线文件,如离线文件File1,的版本号是否低于服务器中存储的离线文件File1的版本号,若低于,获取服务器中存储的离线文件File1,并根据获取到的离线文件File1,更新缓存的当前离线文件File1;在应用程序APP1加载网页视图时,劫持应用程序加载网页视图的网络请求,并根据该网络请求中请求文件的信息,判断终端设备缓存的离线文件中是否包含所述请求文件;若包含,关闭该网络请求,将终端设备缓存的该请求文件返回至应用程序APP1,以用于应用程序APP1加载网页视图。
在一优选实施例中,该方法还包括:在所述应用程序首次发布或者发布新版本时,将所述应用程序的各个离线文件存储至服务器。
其中,所述将所述应用程序的各个离线文件存储至服务器,具体包括:针对每一个离线文件,判断服务器中是否已存储当前离线文件;若未存储,生成当前离线文件的版本号,将当前离线文件和所述版本号存储至服务器中;若已存储,更新服务器中已存储的当前离线文件,并更新服务器中当前离线文件的版本号。
例如,在应用程序,如应用程序APP1,首次发布或者发布新版本时,将应用程序APP1的各个离线文件存储至服务器Server,如将离线文件a存储至服务器Server时,判断服务器Server中是否已存储离线文件a,若服务器Server中未存储离线文件a,通过MD5(Message Digest Algorithm,消息摘要算法第五版)算法生成离线文件a的版本号,如“asjdglkasasgsdgjgg”,并将离线文件a和生成的版本号“asjdglkasasgsdgjgg”存储至服务器Server中;服务器Server中已存储离线文件a,更新服务器Server中已存储的离线文件a,并更新服务器Server中离线文件a的版本号为“asjdglkasasgsdgjgg”。
需要说明的是,将应用程序的各个离线文件存储至服务器,可以通过资源管理工具的方式来实现,当有资源需要更新时,或应用程序首次上线时,通过资源管理工具将应用程序的各个离线文件存储至服务器。
在一优选实施例中,步骤101中获取服务器中存储的所述应用程序的各个离线文件的版本信息,具体包括:当监测到应用程序启动时,获取服务器中存储的所述应用程序的各至少一个离线文件表;其中,每一个离线文件表中包含本离线文件表对应的若干离线文件的版本信息;根据获取到的各个离线文件表,确定所述应用程序的各个离线文件的版本信息。
例如,在终端设备A中当监测到应用程序APP1启动时,获取应用程序APP1在终端设备A中缓存的各个离线文件的版本信息,并获取服务器Server中存储的应用程序APP1的各个离线文件表,其中,每一个离线文件表中包含本离线文件表对应的各个离线文件的版本信息,如离线文件表List1中包含对应的离线文件a的版本信息和离线文件b的版本信息,根据获取到的各个离线文件表,确定应用程序APP1的各个离线文件的版本信息,如根据获取到的离线文件表List1,确定应用程序APP1的离线文件a的版本信息和离线文件b的版本信息。
在一优选实施例中,步骤102中所述获取服务器中存储的对应的离线文件,并根据获取到的离线文件,更新当前离线文件的步骤,包括:获取服务器中存储的对应的离线文件,根据获取到的离线文件中的安全信息判断所述离线文件的内容是否合法;若合法,更新终端设备中缓存的当前离线文件。
其中,所述获取服务器中存储的对应的离线文件,具体包括:根据服务器中存储的各个离线文件的获取规则,执行与待获取离线文件的获取规则相匹配的操作。
例如,在终端设备A中当监测到应用程序APP1启动时,获取应用程序APP1在终端设备A中缓存的各个离线文件的版本信息,并获取服务器Server中存储的应用程序APP1的各个离线文件表,针对终端设备中缓存的所述应用程序的每一个离线文件,如离线文件a,判断离线文件a的版本号是否低于服务器Server中存储的应用程序APP1的离线文件a的版本号,若低于,根据服务器中存储的离线文件a的获取规则,如针对离线文件a设置在预定时段,如每天12:00至13:00时段内可下载预定MD5版本号,如“asjdglkasasgsdgjgg”,的离线文件,若当前时间为12:20,则执行下载服务器Server中存储的版本号为“asjdglkasasgsdgjgg”的离线文件a,随后根据获取到的离线文件a中的安全信息,如MD5处理后的版本号的信息,判断离线文件a的内容是否合法;若合法,将终端设备A中缓存的离线文件a更新为从服务器Server下载的版本号为“asjdglkasasgsdgjgg”的离线文件a。
通过本实施例,能够极大地根据用户的使用情况自定义获取离线文件的规则,从而实现了达到合理充分地利用缓存的内容,避免了现有技术中浏览器自带的缓存方案不能有效利用缓存内容的情况发生;同时,通过合法性验证,不但保证了应用程序的运行安全,而且避免了更新不匹配的离线文件的情况发生,进一步地,提高了应用程序网页视图的加载速度。
在一优选实施例中,步骤102中所述针对终端设备中缓存的所述应用程序的每一个离线文件,判断当前离线文件的版本号是否低于服务器中存储的对应的离线文件的版本号的步骤之前还包括:确认服务器中存储的对应的离线文件的版本号中存在当前离线文件的版本号;以及,所述方法还包括:若服务器中存储的对应的离线文件的版本号中不存在当前离线文件的版本号,删除终端设备中缓存的当前离线文件。
例如,在终端设备A中当监测到应用程序APP1启动时,获取应用程序APP1在终端设备A中缓存的各个离线文件的版本信息,并获取服务器Server中存储的应用程序APP1的各个离线文件表,针对终端设备中缓存的应用程序APP1的每一个离线文件,如离线文件a,确认服务器Server中存储的离线文件a的版本号中存在当前离线文件a的版本号;若服务器Server中存储的应用程序APP1的各个离线文件的版本号中不存在离线文件a的版本号,删除终端设备中缓存的离线文件a。
在一优选实施例中,该方法还包括:在终端设备中存储用于设置离线文件缓存规则的配置文件。
其中,所述根据所述网络请求中请求文件的信息,判断终端设备缓存的离线文件中是否包含所述请求文件,具体包括:在所述应用程序加载网页视图时,通过浏览器的网络链接代理劫持所述应用程序加载网页视图的网络请求,并根据所述网络请求中请求文件的信息,判断在所述配置文件中是否包含所述请求文件的信息;若包含,判断获取到的各个离线文件表中是否存在所述请求文件对应的离线文件;若存在,确定终端设备缓存的离线文件中包含所述请求文件;否则,确定终端设备缓存的离线文件中不包含所述请求文件。
其中,所述请求文件的信息包括请求文件的地址前缀信息、请求文件的版本号和请求文件的文件名。
例如,在终端设备A中存储用于设置各个离线文件缓存规则的配置文件M,在应用程序APP1加载网页视图时,劫持应用程序APP1加载网页视图的网络请求,并根据该网络请求中请求文件的信息,判断在配置文件M中是否包含该请求文件的信息;若包含,判断获取到的各个离线文件表中是否存在该请求文件对应的离线文件;若存在,确定终端设备A缓存的离线文件中包含该请求文件;若不存在,确定终端设备缓存的离线文件中不包含该请求文件。
需要说明的是,本领域技术人员可以了解到,本发明中劫持所述应用程序加载网页视图的网络请求的劫持方式有多种,本发明虽会以特定方式为例说明,但在此不做限定。
在一具体应用场景中,系统A设计及各个模块的功能参考图3,系统A分成三大部分:
1、资源管理,资源管理部分是将现有的资源文件进行打包,并且推送到服务器,包括更新同步最新离线文件,更新各个离线文件表,生成各个离线文件的MD5版本号;其中,离线文件表可以使用哈希表的方式存储;
2、资源更新,资源更新会在APP唤醒时,获得当前离线文件表的版本,对比本地版本号判断是否更新离线文件内容,通过分析每个离线文件表中的离线包资源MD5版本,来进行更新、替换和删除;
3、网络加载,网页在应用程序的网页视图加载时,会对所有网络请求进行筛选,判断网络请求的内容是否在离线文件包中,如果请求文件在离线文件包中,且文件是最新版本内容,则不发起网络请求,直接返回离线包内容文件。
具体地,为了加速应用程序网页视图的展示时间,首先将需要在网页展示时加载的内容统一压缩到一个压缩包中,压缩包包含离线文件以及离线文件对应的网络URL(Uniform Resource Locator,统一资源定位符)地址的对应表,离线文件将会以静态文件上线方式提交到网络中,供客户端应用程序下载使用。当打开客户端应用程序或应用程序唤醒时,客户端会请求获得各个离线文件的版本和配置文件,针对每一个离线文件,对比客户端本地版本号判断是否更新离线文件内容,如果版本与本地版本不一致,应用程序会请求离线文件表,并对比表中所有离线包版本,如果版本有更新,根据各个离线包的下载规则,将更新的离线包进行下载,并在离线包下载完成后解压并对比离线文件的合法性;当网页在应用程序中加载时,会对所有网络请求进行筛选,当前请求的URL是否在配置文件中设置的文件前缀中,如果在则判断离线包中的文件列表,是否有此URL对应的本地离线文件,如果存在,则判断当前离线包是否为最新的离线版本,如果是最新版本则不发起网络请求,直接返回离线包的内容文件。
本发明实施例提供了一种应用程序中加载网页视图的装置,可以实现上述提供的方法实施例,具体功能实现请参见方法实施例中的说明,在此不再赘述。
应该明白,公开的过程中的步骤的特定顺序或层次是示例性方法的实例。基于设计偏好,应该理解,过程中的步骤的特定顺序或层次可以在不脱离本公开的保护范围的情况下得到重新安排。所附的方法权利要求以示例性的顺序给出了各种步骤的要素,并且不是要限于所述的特定顺序或层次。
在上述的详细描述中,各种特征一起组合在单个的实施方案中,以简化本公开。不应该将这种公开方法解释为反映了这样的意图,即,所要求保护的主题的实施方案需要比清楚地在每个权利要求中所陈述的特征更多的特征。相反,如所附的权利要求书所反映的那样,本发明处于比所公开的单个实施方案的全部特征少的状态。因此,所附的权利要求书特此清楚地被并入详细描述中,其中每项权利要求独自作为本发明单独的优选实施方案。
为使本领域内的任何技术人员能够实现或者使用本发明,上面对所公开实施例进行了描述。对于本领域技术人员来说;这些实施例的各种修改方式都是显而易见的,并且本文定义的一般原理也可以在不脱离本公开的精神和保护范围的基础上适用于其它实施例。因此,本公开并不限于本文给出的实施例,而是与本申请公开的原理和新颖性特征的最广范围相一致。
上文的描述包括一个或多个实施例的举例。当然,为了描述上述实施例而描述部件或方法的所有可能的结合是不可能的,但是本领域普通技术人员应该认识到,各个实施例可以做进一步的组合和排列。因此,本文中描述的实施例旨在涵盖落入所附权利要求书的保护范围内的所有这样的改变、修改和变型。此外,就说明书或权利要求书中使用的术语“包含”,该词的涵盖方式类似于术语“包括”,就如同“包括,”在权利要求中用作衔接词所解释的那样。此外,使用在权利要求书的说明书中的任何一个术语“或者”是要表示“非排它性的或者”。
本领域技术人员还可以了解到本发明实施例列出的各种说明性逻辑块(illustrative logical block),单元,和步骤可以通过电子硬件、电脑软件,或两者的结合进行实现。为清楚展示硬件和软件的可替换性(interchangeability),上述的各种说明性部件(illustrative components),单元和步骤已经通用地描述了它们的功能。这样的功能是通过硬件还是软件来实现取决于特定的应用和整个系统的设计要求。本领域技术人员可以对于每种特定的应用,可以使用各种方法实现所述的功能,但这种实现不应被理解为超出本发明实施例保护的范围。
本发明实施例中所描述的各种说明性的逻辑块,或单元都可以通过通用处理器,数字信号处理器,专用集成电路(ASIC),现场可编程门阵列或其它可编程逻辑装置,离散门或晶体管逻辑,离散硬件部件,或上述任何组合的设计来实现或操作所描述的功能。通用处理器可以为微处理器,可选地,该通用处理器也可以为任何传统的处理器、控制器、微控制器或状态机。处理器也可以通过计算装置的组合来实现,例如数字信号处理器和微处理器,多个微处理器,一个或多个微处理器联合一个数字信号处理器核,或任何其它类似的配置来实现。
本发明实施例中所描述的方法或算法的步骤可以直接嵌入硬件、处理器执行的软件模块、或者这两者的结合。软件模块可以存储于RAM存储器、闪存、ROM存储器、EPROM存储器、EEPROM存储器、寄存器、硬盘、可移动磁盘、CD-ROM或本领域中其它任意形式的存储媒介中。示例性地,存储媒介可以与处理器连接,以使得处理器可以从存储媒介中读取信息,并可以向存储媒介存写信息。可选地,存储媒介还可以集成到处理器中。处理器和存储媒介可以设置于ASIC中,ASIC可以设置于用户终端中。可选地,处理器和存储媒介也可以设置于用户终端中的不同的部件中。
在一个或多个示例性的设计中,本发明实施例所描述的上述功能可以在硬件、软件、固件或这三者的任意组合来实现。如果在软件中实现,这些功能可以存储与电脑可读的媒介上,或以一个或多个指令或代码形式传输于电脑可读的媒介上。电脑可读媒介包括电脑存储媒介和便于使得让电脑程序从一个地方转移到其它地方的通信媒介。存储媒介可以是任何通用或特殊电脑可以接入访问的可用媒体。例如,这样的电脑可读媒体可以包括但不限于RAM、ROM、EEPROM、CD-ROM或其它光盘存储、磁盘存储或其它磁性存储装置,或其它任何可以用于承载或存储以指令或数据结构和其它可被通用或特殊电脑、或通用或特殊处理器读取形式的程序代码的媒介。此外,任何连接都可以被适当地定义为电脑可读媒介,例如,如果软件是从一个网站站点、服务器或其它远程资源通过一个同轴电缆、光纤电缆、双绞线、数字用户线(DSL)或以例如红外、无线和微波等无线方式传输的也被包含在所定义的电脑可读媒介中。所述的碟片(disk)和磁盘(disc)包括压缩磁盘、镭射盘、光盘、DVD、软盘和蓝光光盘,磁盘通常以磁性复制数据,而碟片通常以激光进行光学复制数据。上述的组合也可以包含在电脑可读媒介中。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (12)
1.一种应用程序中加载网页视图的方法,其特征在于,包括:
当监测到应用程序启动时,获取应用程序在终端设备中缓存的各个离线文件的版本信息,并获取服务器中存储的所述应用程序的各个离线文件的版本信息,所述版本信息包括版本号;
针对终端设备中缓存的所述应用程序的每一个离线文件,判断当前离线文件的版本号是否低于服务器中存储的对应的离线文件的版本号,若低于,获取服务器中存储的对应的离线文件,并根据获取到的离线文件,更新缓存的当前离线文件;
在所述应用程序加载网页视图时,劫持所述应用程序加载网页视图的网络请求,并根据所述网络请求中请求文件的信息,判断终端设备缓存的离线文件中是否包含所述请求文件;
若包含,关闭所述网络请求,将终端设备缓存的所述请求文件返回至所述应用程序,以用于所述应用程序加载网页视图。
2.根据权利要求1所述的方法,其特征在于,还包括:
在所述应用程序首次发布或者发布新版本时,将所述应用程序的各个离线文件存储至服务器;
其中,所述将所述应用程序的各个离线文件存储至服务器,具体包括:
针对每一个离线文件,判断服务器中是否已存储当前离线文件;
若未存储,生成当前离线文件的版本号,将当前离线文件和所述版本号存储至服务器中;
若已存储,更新服务器中已存储的当前离线文件,并更新服务器中当前离线文件的版本号。
3.根据权利要求1或2所述的方法,其特征在于,所述获取服务器中存储的所述应用程序的各个离线文件的版本信息,具体包括:
当监测到应用程序启动时,获取服务器中存储的所述应用程序的至少一个离线文件表;其中,每一个离线文件表中包含本离线文件表对应的若干离线文件的版本信息;
根据获取到的各个离线文件表,确定所述应用程序的各个离线文件的版本信息。
4.根据权利要求1或2所述的方法,其特征在于,所述获取服务器中存储的对应的离线文件,并根据获取到的离线文件,更新缓存的当前离线文件,具体包括:
获取服务器中存储的对应的离线文件,根据获取到的离线文件中的安全信息判断所述离线文件的内容是否合法;
若合法,更新终端设备中缓存的当前离线文件;
其中,所述获取服务器中存储的对应的离线文件,具体包括:
根据服务器中存储的各个离线文件的获取规则,执行与待获取离线文件的获取规则相匹配的操作。
5.根据权利要求1所述的方法,其特征在于,所述针对终端设备中缓存的所述应用程序的每一个离线文件,判断当前离线文件的版本号是否低于服务器中存储的对应的离线文件的版本号的步骤之前,还包括:
确认服务器中存储的对应的离线文件的版本号中存在当前离线文件的版本号;
以及,所述方法还包括:
若服务器中存储的对应的离线文件的版本号中不存在当前离线文件的版本号,删除终端设备中缓存的当前离线文件。
6.根据权利要求3所述的方法,其特征在于,还包括:
在终端设备中存储用于设置离线文件缓存规则的配置文件;
其中,所述根据所述网络请求中请求文件的信息,判断终端设备缓存的离线文件中是否包含所述请求文件,具体包括:
根据所述网络请求中请求文件的信息,判断在所述配置文件中是否包含所述请求文件的信息;
若包含,判断获取到的各个离线文件表中是否存在所述请求文件对应的离线文件;
若存在,确定终端设备缓存的离线文件中包含所述请求文件;否则,确定终端设备缓存的离线文件中不包含所述请求文件;
其中,所述请求文件的信息包括请求文件的地址前缀信息、请求文件的版本号和请求文件的文件名。
7.一种应用程序中加载网页视图的装置,其特征在于,包括:
获取单元,用于当监测到应用程序启动时,获取应用程序在终端设备中缓存的各个离线文件的版本信息,并获取服务器中存储的所述应用程序的各个离线文件的版本信息,所述版本信息包括版本号;
判断单元,用于针对终端设备中缓存的所述应用程序的每一个离线文件,判断当前离线文件的版本号是否低于服务器中存储的对应的离线文件的版本号,若低于,获取服务器中存储的对应的离线文件,并根据获取到的离线文件,更新缓存的当前离线文件;
劫持及判断单元,用于在所述应用程序加载网页视图时,劫持所述应用程序加载网页视图的网络请求,并根据所述网络请求中请求文件的信息,判断终端设备缓存的离线文件中是否包含所述请求文件;
关闭及返回单元,用于若包含,关闭所述网络请求,将终端设备缓存的所述请求文件返回至所述应用程序,以用于所述应用程序加载网页视图。
8.根据权利要求7所述的装置,其特征在于,还包括:
第一存储单元,用于在所述应用程序首次发布或者发布新版本时,将所述应用程序的各个离线文件存储至服务器;
其中,所述第一存储单元具体用于
针对每一个离线文件,判断服务器中是否已存储当前离线文件;
若未存储,生成当前离线文件的版本号,将当前离线文件和所述版本号存储至服务器中;
若已存储,更新服务器中已存储的当前离线文件,并更新服务器中当前离线文件的版本号。
9.根据权利要求7或8所述的装置,其特征在于,所述获取单元,包括:
获取模块,用于当监测到应用程序启动时,获取服务器中存储的所述应用程序的至少一个离线文件表;其中,每一个离线文件表中包含本离线文件表对应的若干离线文件的版本信息;
确定模块,用于根据获取到的各个离线文件表,确定所述应用程序的各个离线文件的版本信息。
10.根据权利要求7或8所述的装置,其特征在于,所述判断单元,包括:
判断模块,用于获取服务器中存储的对应的离线文件,根据获取到的离线文件中的安全信息判断所述离线文件的内容是否合法;
更新模块,用于若合法,更新终端设备中缓存的当前离线文件;
其中,所述判断模块,具体用于
根据服务器中存储的各个离线文件的获取规则,执行与待获取离线文件的获取规则相匹配的操作。
11.根据权利要求7所述的装置,其特征在于,还包括:
确认单元,用于确认服务器中存储的对应的离线文件的版本号中存在当前离线文件的版本号时触发所述判断单元;
以及,所述装置还包括:
删除单元,用于若所述确认单元判断出服务器中存储的对应的离线文件的版本号中不存在当前离线文件的版本号,删除终端设备中缓存的当前离线文件。
12.根据权利要求9所述的装置,其特征在于,还包括:
第二存储单元,用于在终端设备中存储用于设置离线文件缓存规则的配置文件;
其中,所述劫持及判断单元,具体用于
根据所述网络请求中请求文件的信息,判断在所述配置文件中是否包含所述请求文件的信息;
若包含,判断获取到的各个离线文件表中是否存在所述请求文件对应的离线文件;
若存在,确定终端设备缓存的离线文件中包含所述请求文件;否则,确定终端设备缓存的离线文件中不包含所述请求文件;
其中,所述请求文件的信息包括请求文件的地址前缀信息、请求文件的版本号和请求文件的文件名。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810288098.3A CN108664554A (zh) | 2018-04-03 | 2018-04-03 | 一种应用程序中加载网页视图的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810288098.3A CN108664554A (zh) | 2018-04-03 | 2018-04-03 | 一种应用程序中加载网页视图的方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108664554A true CN108664554A (zh) | 2018-10-16 |
Family
ID=63782975
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810288098.3A Pending CN108664554A (zh) | 2018-04-03 | 2018-04-03 | 一种应用程序中加载网页视图的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108664554A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110377360A (zh) * | 2019-07-12 | 2019-10-25 | 深圳市酷开网络科技有限公司 | webview快速加载的方法、显示终端及计算机可读存储介质 |
CN111045747A (zh) * | 2019-11-06 | 2020-04-21 | 用友网络科技股份有限公司 | 一种h5移动应用快速加载方法、系统、终端及存储介质 |
CN112131504A (zh) * | 2020-08-28 | 2020-12-25 | 长沙市到家悠享网络科技有限公司 | 一种网页编辑、展示方法、装置、设备以及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103023941A (zh) * | 2011-09-26 | 2013-04-03 | 腾讯科技(深圳)有限公司 | 基于Web页面的终端应用程序的更新方法及更新系统 |
CN103092665A (zh) * | 2013-03-01 | 2013-05-08 | 畅捷通信息技术股份有限公司 | 即时更新装置和即时更新方法 |
CN105389182A (zh) * | 2015-11-02 | 2016-03-09 | 广州华多网络科技有限公司 | 一种软件升级方法及装置 |
CN106682176A (zh) * | 2016-12-29 | 2017-05-17 | 北京五八信息技术有限公司 | 页面的加载方法、装置和设备 |
CN107491320A (zh) * | 2017-06-26 | 2017-12-19 | 北京五八信息技术有限公司 | 基于混合模式移动应用的载入方法和装置 |
-
2018
- 2018-04-03 CN CN201810288098.3A patent/CN108664554A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103023941A (zh) * | 2011-09-26 | 2013-04-03 | 腾讯科技(深圳)有限公司 | 基于Web页面的终端应用程序的更新方法及更新系统 |
CN103092665A (zh) * | 2013-03-01 | 2013-05-08 | 畅捷通信息技术股份有限公司 | 即时更新装置和即时更新方法 |
CN105389182A (zh) * | 2015-11-02 | 2016-03-09 | 广州华多网络科技有限公司 | 一种软件升级方法及装置 |
CN106682176A (zh) * | 2016-12-29 | 2017-05-17 | 北京五八信息技术有限公司 | 页面的加载方法、装置和设备 |
CN107491320A (zh) * | 2017-06-26 | 2017-12-19 | 北京五八信息技术有限公司 | 基于混合模式移动应用的载入方法和装置 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110377360A (zh) * | 2019-07-12 | 2019-10-25 | 深圳市酷开网络科技有限公司 | webview快速加载的方法、显示终端及计算机可读存储介质 |
CN111045747A (zh) * | 2019-11-06 | 2020-04-21 | 用友网络科技股份有限公司 | 一种h5移动应用快速加载方法、系统、终端及存储介质 |
CN112131504A (zh) * | 2020-08-28 | 2020-12-25 | 长沙市到家悠享网络科技有限公司 | 一种网页编辑、展示方法、装置、设备以及存储介质 |
CN112131504B (zh) * | 2020-08-28 | 2024-03-26 | 长沙市到家悠享网络科技有限公司 | 一种网页编辑、展示方法、装置、设备以及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
AU2007313956B2 (en) | Offline execution of Web based applications | |
CN104063460B (zh) | 一种在浏览器中加载网页的方法和装置 | |
US7523173B2 (en) | System and method for web page acquisition | |
US9077681B2 (en) | Page loading optimization using page-maintained cache | |
CN102930034B (zh) | 页面加载系统和方法 | |
US20140189073A1 (en) | Efficient Storage and Retrieval of Resources for Rendering Structured Documents | |
CN110519401A (zh) | 提高网络访问成功率的方法、装置、设备及存储介质 | |
CN102930037B (zh) | 页面加载方法和装置 | |
US20100131617A1 (en) | Method and system for differential transmission of web page structures | |
CN106446174A (zh) | 应用中页面加载的方法 | |
US20190222667A1 (en) | Speculative prefetch of resources across page loads | |
CN105959179B (zh) | 一种反向代理nginx测试系统及方法 | |
CN107181779B (zh) | 访问请求的处理方法、装置和系统 | |
CN108664554A (zh) | 一种应用程序中加载网页视图的方法及装置 | |
CN104714965A (zh) | 静态资源去重方法、静态资源管理方法及装置 | |
US9363335B2 (en) | Method and apparatus that enables a web-based client-server application to be used offline | |
US20110238924A1 (en) | Webpage request handling | |
CN103634406A (zh) | 文件同步方法及其终端 | |
Netravali et al. | Remote-control caching: Proxy-based url rewriting to decrease mobile browsing bandwidth | |
Mickens | Silo: Exploiting {JavaScript} and {DOM} Storage for Faster Page Loads | |
CN105282238B (zh) | 一种资源管理方法 | |
CN109672534B (zh) | 网络资源的处理方法、装置、存储介质和电子装置 | |
JPH1153244A (ja) | 情報提供システム | |
US20130275542A1 (en) | Online Game System and Method | |
Tolvanen et al. | Remote storage for mobile devices |
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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20181016 |