CN110020290A - 网页资源缓存方法、装置、存储介质及电子装置 - Google Patents
网页资源缓存方法、装置、存储介质及电子装置 Download PDFInfo
- Publication number
- CN110020290A CN110020290A CN201710927182.0A CN201710927182A CN110020290A CN 110020290 A CN110020290 A CN 110020290A CN 201710927182 A CN201710927182 A CN 201710927182A CN 110020290 A CN110020290 A CN 110020290A
- Authority
- CN
- China
- Prior art keywords
- cache
- target
- caching
- resource
- web page
- 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.)
- Granted
Links
Classifications
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明公开了一种网页资源缓存方法、装置、存储介质及电子装置。其中,该方法包括:发送网页资源请求至服务器,其中,网页资源请求用于向服务器请求目标网页资源;接收服务器响应于网页资源请求发送的目标网页资源和缓存指示信息,其中,缓存指示信息用于指示目标网页资源在终端中的目标缓存位置,终端中预先分配了多个缓存位置,多个缓存位置包括目标缓存位置;将目标网页资源缓存至缓存指示信息指示的目标缓存位置。本发明解决了现有技术中网页资源缓存效率低的技术问题。
Description
技术领域
本发明涉及计算机领域,具体而言,涉及一种网页资源缓存方法、装置、存储介质及电子装置。
背景技术
随着互联网技术的发展和进步,越来越多的网页、应用被开发出来,人们可以使用终端等设备对其进行访问。为了提高对网页资源的访问效率,终端会对部分网页资源进行缓存。目前对网页资源进行缓存的标准是单缓存模式,即将需要缓存的网页资源缓存到终端上的一个固定大小的存储空间中。然而这种缓存的机制过于粗暴,这样的处理方法无法发挥网页资源缓存的最好效果。
网页资源缓存存放在终端中的存储空间非常有限,在标准设计之初,当时互联网刚刚起步,远没有现在丰富的资源内容,所以20M的大小还是绰绰有余的,时至今日,移动互联网井喷发展,用户的交互的网页资源越来越大,这个大小已经远远不够了,20M的空间过小,会导致缓存资源换入换出频繁,增加了I/O操作,降低网页访问速度。此外,这种缓存方式对资源的重要性无法界定,也就是说,一些请求非常频繁的资源,但是并不能保证一定被缓存下来,也不能保证在缓存空间不足时此资源不能被淘汰出去。
针对上述的问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种网页资源缓存方法、装置、存储介质及电子装置,以至少解决现有技术中网页资源缓存效率低的技术问题。
根据本发明实施例的一个方面,提供了一种网页资源缓存方法,包括:发送网页资源请求至服务器,其中,所述网页资源请求用于向所述服务器请求目标网页资源;接收所述服务器响应于所述网页资源请求发送的所述目标网页资源和缓存指示信息,其中,所述缓存指示信息用于指示所述目标网页资源在终端中的目标缓存位置,所述终端中预先分配了多个缓存位置,所述多个缓存位置包括所述目标缓存位置;将所述目标网页资源缓存至所述缓存指示信息指示的所述目标缓存位置。
根据本发明实施例的另一方面,还提供了一种网页资源缓存装置,包括:发送模块,用于发送网页资源请求至服务器,其中,所述网页资源请求用于向所述服务器请求目标网页资源;接收模块,用于接收所述服务器响应于所述网页资源请求发送的所述目标网页资源和缓存指示信息,其中,所述缓存指示信息用于指示所述目标网页资源在终端中的目标缓存位置,所述终端中预先分配了多个缓存位置,所述多个缓存位置包括所述目标缓存位置;缓存模块,用于将所述目标网页资源缓存至所述缓存指示信息指示的所述目标缓存位置。
根据本发明实施例的另一方面,还提供了一种存储介质,所述存储介质包括存储的程序,其中,所述程序运行时执行上述任一项中所述的方法。
根据本发明实施例的另一方面,还提供了一种电子装置,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器通过所述计算机程序执行上述任一项中所述的方法。
在本发明实施例中,发送网页资源请求至服务器,其中,网页资源请求用于向服务器请求目标网页资源;接收服务器响应于网页资源请求发送的目标网页资源和缓存指示信息,其中,缓存指示信息用于指示目标网页资源在终端中的目标缓存位置,终端中预先分配了多个缓存位置,多个缓存位置包括目标缓存位置;将目标网页资源缓存至缓存指示信息指示的目标缓存位置。也就是说,终端中预先分配了多个缓存位置,向服务器发送网页资源请求以获取目标网页资源,服务器返回的缓存指示信息指示了目标网页资源在终端中的多个缓存位置中的目标缓存位置,将获取到的目标网页资源缓存至目标缓存位置,终端中分配了多个缓存位置,由从服务器获取的缓存指示信息指示目标网页资源对应的目标缓存位置,扩大了网页资源的缓存空间,避免了单一的缓存位置导致的缓存的网页资源的吞吐操作过于频繁使得网页资源的缓存延迟的问题,从而提高了网页资源的缓存效率,进而克服现有技术中网页资源的缓存效率低的问题。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的一种可选的网页资源缓存方法的应用环境示意图;
图2是根据本发明实施例的一种可选的网页资源缓存方法的示意图;
图3是根据本发明可选实施例的一种网页资源缓存方法的示意图;
图4是根据本发明实施例的一种可选的网页资源缓存装置的示意图;
图5是根据本发明实施例的一种可选的网页资源缓存方法的应用场景示意图;以及
图6是根据本发明实施例的一种可选的电子设备的示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
实施例1
在本发明实施例中,提供了一种上述网页资源缓存方法的实施例。作为一种可选的实施方式,该网页资源缓存方法可以但不限于应用于如图1所示的应用环境中,终端102通过网络106与服务器104连接,终端102用于发送网页资源请求至服务器104,其中,网页资源请求用于向服务器104请求目标网页资源;接收服务器104响应于网页资源请求发送的目标网页资源和缓存指示信息,其中,缓存指示信息用于指示目标网页资源在终端102中的目标缓存位置,终端102中预先分配了多个缓存位置,多个缓存位置包括目标缓存位置;将目标网页资源缓存至缓存指示信息指示的目标缓存位置。
在本实施例中,终端102中预先分配了多个缓存位置,向服务器发送网页资源请求以获取目标网页资源,服务器返回的缓存指示信息指示了目标网页资源在终端中的多个缓存位置中的目标缓存位置,将获取到的目标网页资源缓存至目标缓存位置,终端中分配了多个缓存位置,由从服务器获取的缓存指示信息指示目标网页资源对应的目标缓存位置,扩大了网页资源的缓存空间,避免了单一的缓存位置导致的缓存的网页资源的吞吐操作过于频繁使得网页资源的缓存延迟的问题,从而提高了网页资源的缓存效率,进而克服现有技术中网页资源的缓存效率低的问题。
可选地,在本实施例中,上述终端可以包括但不限于以下至少之一:手机、平板电脑、笔记本电脑、台式PC机、数字电视及其他进行区域共享的硬件设备。上述网络可以包括但不限于以下至少之一:广域网、城域网、局域网。上述只是一种示例,本实施例对此不做任何限定。
根据本发明实施例,提供了一种网页资源缓存方法,如图2所示,该方法包括:
S202,发送网页资源请求至服务器,其中,网页资源请求用于向服务器请求目标网页资源;
S204,接收服务器响应于网页资源请求发送的目标网页资源和缓存指示信息,其中,缓存指示信息用于指示目标网页资源在终端中的目标缓存位置,终端中预先分配了多个缓存位置,多个缓存位置包括目标缓存位置;
S206,将目标网页资源缓存至缓存指示信息指示的目标缓存位置。
可选地,在本实施例中,上述网页资源缓存方法可以但不限于应用于对网页资源进行缓存的场景中。其中,上述终端可以安装有软件的客户端,上述客户端可以但不限于包括应用下载客户端、搜索引擎客户端、即时通讯客户端、社区空间客户端、游戏客户端、浏览器客户端、购物类客户端等。具体的,可以但不限于应用于在上述应用下载客户端中对网页资源进行缓存的场景中,或还可以但不限于应用于在上述即时通讯客户端中对网页资源进行缓存的场景中,以实现提高网页资源的缓存效率的目的。上述仅是一种示例,本实施例中对此不做任何限定。
可选地,在本实施例中,上述网页资源缓存方法可以但不限于应用于终端设备,例如:手机、笔记本电脑、PC计算机、平板电脑、智能穿戴设备、智能家居设备等等。
可选地,在本实施例中,上述网页资源缓存方法可以但不限于应用于各类当前使用单缓存机制对网页资源进行的缓存模式中。例如:http缓存等等。
可选地,在本实施例中,上述网页资源可以但不限于包括视频资源、音频资源、文本资源、图片资源等等。
可选地,在本实施例中,上述缓存指示信息中还可以但不限于携带用于指示是否对网页资源进行缓存的信息、用于指示缓存时长的信息、用于对网页资源以及缓存指示信息进行校验的信息等等。
对于需要缓存很多资源和大资源的应用程序或者客户端,传统的webview能提供的缓存空间很少,无法满足缓存需求,如果不能缓存这么多资源,那么每次打开网页都要重新请求,网络耗时严重。
可选地,在本实施例中,在客户端的开发过程中,在sdk中提供接口给应用开发者调用,应用开发者调用此功能接口,可以设置需要缓存的网页资源与缓存位置的对应关系,在安装客户端时,根据这种对应关系在终端中预先分配多个缓存位置,使得终端能缓存多种资源和大资源,同时对一些用户相关的敏感信息(例如用户个人信息等资源)可以采用缓存在根目录下的文件夹中的方式,以保证网页资源的安全性。
可选地,在本实施例中,在客户端的开发过程中,客户端的开发者可以设定有哪些资源需要进行缓存以及这些需要进行缓存的资源对应的缓存位置,可以由客户端的开发者进行设定,开发者可以根据资源对安全级别的要求或其他方式将需要缓存的资源划分为多个级别,并使用相应的标识来指示资源的级别,每一种资源的级别被设置为对应了一个终端中的缓存位置。这样终端在对资源进行缓存的时候,就可以将对安全级别要求较高的资源缓存在相对较安全的缓存位置。
比如:在一个可选的实施方式中,在客户端的开发过程中,客户端的开发者可以设定该客户端中的网页资源中需要缓存的资源包括帐号登录的信息(登录帐号、登录密码等)和多媒体资源,其中,帐号登录的信息可以被设置为安全级别高于多媒体资源,资源的安全级别可以用url后缀:_ck_offline=1和ck_offline=2进行标识,其中,_ck_offline=1指示的安全级别高于ck_offline=2指示的安全级别,开发过程中设定url后缀为ck_offline=1的资源存储在终端的内部存储设备的目录下,url后缀为ck_offline=2的资源存储在终端的外部存储设备的目录下。该对应关系可以被上传到云服务平台中进行存储,也可以存储在客户端的安装包中。
可选地,在本实施例中,需要缓存的网页资源与缓存位置的对应关系可以存储在云服务平台中,终端在安装客户端时,可以从云服务平台拉取需要缓存的网页资源与缓存位置的对应关系,并根据该对应关系为网页资源分配缓存位置,从而根据该对应关系缓存获取的需要缓存的网页资源。
在上述可选的实施方式中,云服务平台中可以存储的需要缓存的网页资源与缓存位置的对应关系为url后缀为ck_offline=1对应存储位置为/data/data/packagename/cache/,url后缀为ck_offline=2对应存储位置为/sdcard/,终端在安装客户端时,可以从云服务平台拉取并存储上述对应关系,并根据该对应关系为网页资源分配缓存位置。
可选地,在本实施例中,终端中预先分配的多个缓存位置可以但不限于包括终端的内部存储设备中的缓存位置(例如:终端的内存条、手机内自带的闪存等等)、终端的外部存储设备中的缓存位置(例如:终端上安装的存储卡、终端连接的移动硬盘等等)。
可选地,在本实施例中,终端的外部存储设备中也可以设置有多个存储位置。例如:在终端的外部存储设备中建立多个文件夹用于存储不同类型的需要缓存的网页资源。
可选地,在本实施例中,上述服务器可以但不限于是请求网页资源的客户端对应的服务端设备。
在上述可选的实施方式中,用户启动客户端浏览网页,用户首先打开网页的登录界面,输入帐号和密码等登录信息进行网页的登录,终端向服务器认证该登录信息,并发送网页资源请求至服务器以向服务器请求是否缓存该登录信息,服务器返回确认信息确认该登录信息的合法性并返回携带有url后缀ck_offline=1的该登录信息,终端根据该url后缀ck_offline=1将登录信息存储在/data/data/packagename/cache/目录下,用户登录后打开网页中的视频资源,终端向服务器发送网页资源请求,服务器响应于网页资源请求发送携带有url后缀ck_offline=2的该视频资源至终端,终端根据url后缀ck_offline=2将该视频资源缓存至/sdcard/目录下。
可见,通过上述步骤,终端中预先分配了多个缓存位置,向服务器发送网页资源请求以获取目标网页资源,服务器返回的缓存指示信息指示了目标网页资源在终端中的多个缓存位置中的目标缓存位置,将获取到的目标网页资源缓存至目标缓存位置,终端中分配了多个缓存位置,由从服务器获取的缓存指示信息指示目标网页资源对应的目标缓存位置,扩大了网页资源的缓存空间,避免了单一的缓存位置导致的缓存的网页资源的吞吐操作过于频繁使得网页资源的缓存延迟的问题,从而提高了网页资源的缓存效率,进而克服现有技术中网页资源的缓存效率低的问题。
作为一种可选的方案,将目标网页资源缓存至缓存指示信息指示的目标缓存位置包括:
S1,获取缓存指示信息中携带的目标缓存标识,其中,目标缓存标识用于指示目标网页资源的类型;
S2,从预设的缓存标识与缓存位置的对应关系中确定目标缓存标识对应的目标缓存位置;
S3,将目标网页资源缓存至目标缓存位置。
可选地,在本实施例中,可以预先设置缓存标识与缓存位置的对应关系,客户端的开发前端和终端可以预先协商好不同类型的网页资源在终端中的缓存位置,网页资源的类型可以但不限于按照网页资源的重要程度、网页资源种类、网页资源的缓存时间等等标准来划分。为不同类型的网页资源设置不同的缓存标识,在终端中可以为不同的缓存标识分配缓存位置,并记录它们之间的对应关系,以便根据获取到的目标缓存标识确定目标网页资源的目标存储位置。
可选地,在本实施例中,在终端上安装客户端时,可以从客户端的安装包中获取缓存标识与缓存位置的对应关系,或者可以从云服务平台拉取缓存标识与缓存位置的对应关系,根据该对应关系在终端上为不同的缓存标识分配不同的存储位置。在用户使用该客户端浏览网页时,客户端可以从服务器获取网页资源和该网页资源对应的缓存标识信息,缓存标识信息中携带了目标缓存标识,客户端确定该目标缓存标识对应的目标缓存位置,将获取到的网页资源缓存在该目标缓存位置。
可选地,在本实施例中,以按照网页资源的重要程度的标准划分缓存位置为例,目标缓存标识可以但不限于用于指示目标网页资源的目标缓存等级,终端中的缓存位置可以分为终端的内置存储设备中的缓存位置和终端的外置存储设备中的缓存位置,可以将网页资源中较为重要的网页资源缓存在终端的内置存储设备中的缓存位置,其余的网页资源缓存在终端的外置存储设备中的缓存位置。
例如:可以但不限于通过以下方式从对应关系中确定目标缓存标识对应的目标缓存位置:在目标缓存标识为第一标识的情况下,从对应关系中确定第一标识对应的目标缓存位置为第一位置,其中,第一位置为终端的内置存储设备中的缓存位置;在目标缓存标识为第二标识的情况下,从对应关系中确定第二标识对应的目标缓存位置为第二位置,其中,第二位置为终端的外置存储设备中的缓存位置;其中,第一标识指示的目标缓存等级高于第二标识指示的目标缓存等级。
可选地,在本实施例中,上述终端的外置存储设备中的缓存位置也可以包括多个缓存位置,按照网页资源的重要程度来进行缓存位置的确定。
可选地,在本实施例中,终端的内置存储设备可以但不限于包括终端的内存条、终端的CPU中的运行存储空间等等。
可选地,在本实施例中,终端的外置存储设备可以但不限于包括存储卡、移动硬盘、U盘等等。
可选地,在本实施例中,在从对应关系中确定目标缓存标识对应的目标缓存位置之前,终端可以与前端协商确定缓存标识与缓存位置之间的对应关系,得到上述对应关系。终端可以从前端获取前端根据网页资源的类型规定的缓存标识,并为缓存标识分配对应的缓存位置,从而建立缓存标识与缓存位置之间的对应关系,得到对应关系。
在一个可选的实施方式中,前端对请求的网页资源进行分级,对网页资源进行标识得到缓存标识。前端开发标识优先级的方法有多种,在本可选的实施方式中以使用url来标识网页资源级别为例,该方式便于控制而且灵活。例如:前端在url中使用某个后缀:_ck_offline=1、_ck_offline=2、_ck_offline=3等来标明网页资源的级别,不同级别的网页资源放在不同缓存位置中。终端在请求网页的时候,拉取的网页资源中携带有网页资源级别的标识,即缓存标识,然后根据缓存标识,将相应的资源放在相应的缓存位置中。
作为一种可选的方案,将目标网页资源缓存至缓存指示信息指示的目标缓存位置包括:
S1,获取缓存指示信息中携带的目标缓存位置标识,其中,目标缓存位置标识用于唯一标识目标缓存位置;
S2,将目标网页资源缓存至目标缓存位置指示的目标缓存位置。
可选地,在本实施例中,终端和客户端的开发前端可以直接对网页资源的缓存位置进行设置以及标识,例如:前端可以对网页资源进行分级,规定不同级别的网页资源在终端中的缓存位置,并与终端协商不同缓存位置的缓存位置标识,在接收到请求的时候使用缓存位置标识标明此网页资源使用哪一个缓存位置。终端在请求网页的时候,拉取的网络资源中携带有目标网页资源对应的目标缓存位置标识,然后根据目标缓存位置标识,将相应的目标网页资源缓存在相应的目标缓存位置中。
可选地,在本实施例中,在获取缓存指示信息中携带的目标缓存位置标识之前,终端与客户端的开发前端可以通过以下方式对缓存位置标识与缓存位置的对应关系进行协商:获取为网页资源的缓存位置预设的缓存位置标识,其中,缓存位置标识用于唯一标识网页资源的缓存位置,为缓存位置标识指示的缓存位置分配缓存空间。
可选地,在本实施例中,在终端上安装客户端时,可以从客户端的安装包中获取缓存位置与缓存位置标识的配置信息,或者可以从云服务平台拉取缓存位置与缓存位置标识的配置信息,根据该对应关系在终端上分配不同的存储位置,并为存储位置标记对应的缓存位置标识。在用户使用该客户端浏览网页时,客户端可以从服务器获取网页资源和该网页资源对应的缓存位置标识,客户端将网页资源缓存到该缓存位置标识对应的目标缓存位置。
作为一种可选的方案,将目标网页资源缓存至目标缓存位置包括:
S1,在目标缓存位置对应的缓存空间中剩余的缓存空间的大小大于或者等于目标网页资源的大小的情况下,将目标网页资源缓存至剩余的缓存空间中;
S2,在目标缓存位置对应的缓存空间中剩余的缓存空间的大小小于目标网页资源的大小的情况下,删除目标缓存位置对应的缓存空间中缓存的信息,使得目标缓存位置对应的缓存空间中剩余的缓存空间的大小大于或者等于目标网页资源的大小,并将目标网页资源缓存至剩余的缓存空间中。
可选地,在本实施例中,在上述步骤S206中,可以但不限于首先对目标缓存位置对应的缓存空间中剩余的缓存空间是否足够缓存目标网页资源进行判断,如果空间足够,则将目标网页资源缓存至目标缓存位置,如果空间不足,则删除其中的部分缓存的信息以使得剩余的缓存空间足够缓存目标网页资源。
可选地,在本实施例中,也可以通过判断目标缓存位置对应的缓存空间是否已满来判断是否需要删除部分缓存的信息。
可选地,在本实施例中,可以但不限于通过以下方式对目标缓存位置对应的缓存空间中缓存的信息进行删除,以使得目标缓存位置对应的缓存空间中剩余的缓存空间的大小大于或者等于目标网页资源的大小:删除目标缓存位置对应的缓存空间中缓存的信息中被访问时间早于预设时间的信息和/或删除目标缓存位置对应的缓存空间中缓存的信息中被访问次数低于预设次数的信息,使得目标缓存位置对应的缓存空间中剩余的缓存空间的大小大于或者等于目标网页资源的大小;或者删除目标缓存位置对应的缓存空间中缓存的信息中访问优先级低于预设优先级的信息,使得目标缓存位置对应的缓存空间中剩余的缓存空间的大小大于或者等于目标网页资源的大小。
可选地,在本实施例中,删除缓存的信息方法可以但不限于包括:LRU算法(最近最少使用算法)、LRU-K算法(改进的LRU算法)、Two queues算法(双队列算法)、Multi Queue算法(多个队列算法)等等。
在一个可选示例中提供了一种同webview下多HTTP缓存技术,具体结合图3对同webview下多HTTP缓存过程进行说明,该方法包括如下步骤:
HTTP缓存是web技术开发中使用的重要功能,使用HTTP缓存可以控制哪些资源需要缓存在本地,缓存多长时间等等,在一定时间内重复请求可以不必要重新拉取资源,直接读取缓存,给用户更快的体验。同一WebView下多HTTP缓存技术突破了原有的单一HTTP缓存技术,在X5内核中创建多个HTTP缓存控制,将网页资源缓存按照优先级分等级分别放在不同的HTTP缓存中,这些HTTP缓存突破了原有的存储大小限制(原有的存储限制为20M),原则上可以实现无限大(在终端空间允许的情况下),同时可以兼顾缓存资源的安全性,将安全级别较高的资源放在第一位置:/data/data/packagename/cache/目录下,将安全级别较低的资源放在第二位置:/sdcard/目录下。开发者可以定义请求资源的HTTP缓存的地址和优先级,便于X5内核判断使用哪一个HTTP缓存。
在客户端的X5内核中创建多个HTTP缓存管理模块,内核原有的HTTP缓存模块在/data/data中,这部分大小固定是20M;新创建的HTTP缓存模块可以将缓存大小扩大到无限(终端空间允许的范围内),而且这部分空间是虚拟的,在没有缓存资源的情况下这部分空间也是可以被分配给其他应用,所以避免了空间的浪费;
对请求的网页资源的重要性设置一个衡量标准,这个标准可以由前端开发者在开发网页的时候对各个资源的重要性进行标识,例如:安全性要求高的资源存储在/data/data/中,请求频繁的资源放在另一个HTTP缓存中,请求的资源较大放在其他的HTTP缓存中。这样对请求资源进行标准量化,可以有效提升HTTP缓存的效率,更好地发挥缓存的作用。
如图3所示,用户在终端上浏览网页或者使用客户端,终端箱服务器发送网页资源请求,服务器返回响应数据,返回的响应头中包括CacheControl等字段,根据这些字段判断目标网页资源是否符合HTTP缓存条件,不满足缓存条件则不进行HTTP缓存,如果满足缓存条件,则计算出请求的目标网页资源的重要程度,例如:根据缓存标识判断其重要程度。从而得到其在多个缓存位置(HTTP缓存1、HTTP缓存2……HTTP缓存n)中对应的目标缓存位置,判断目标缓存位置的缓存空间是否已满,如果已满,则将本地的HTTP缓存按照LRU算法淘汰一批,然后缓存。如果未满,则直接将目标网页资源HTTP缓存到本地。
该方案继承了原有HTTP缓存安全性的优点,提出的多HTTP缓存模式,制定了资源请求重要性的衡量标准,对多资源和大资源的网页请求的缓存效率的提高有非常明显的效果。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例的方法。
实施例2
根据本发明实施例,还提供了一种用于实施上述网页资源缓存方法的网页资源缓存装置,如图4所示,该装置包括:
1)发送模块42,用于发送网页资源请求至服务器,其中,网页资源请求用于向服务器请求目标网页资源;
2)接收模块44,用于接收服务器响应于网页资源请求发送的目标网页资源和缓存指示信息,其中,缓存指示信息用于指示目标网页资源在终端中的目标缓存位置,终端中预先分配了多个缓存位置,多个缓存位置包括目标缓存位置;
3)缓存模块46,用于将目标网页资源缓存至缓存指示信息指示的目标缓存位置。
可选地,在本实施例中,上述网页资源缓存装置可以但不限于应用于对网页资源进行缓存的场景中。其中,上述终端可以安装有软件的客户端,上述客户端可以但不限于包括应用下载客户端、搜索引擎客户端、即时通讯客户端、社区空间客户端、游戏客户端、浏览器客户端、购物类客户端等。具体的,可以但不限于应用于在上述应用下载客户端中对网页资源进行缓存的场景中,或还可以但不限于应用于在上述即时通讯客户端中对网页资源进行缓存的场景中,以实现提高网页资源的缓存效率的目的。上述仅是一种示例,本实施例中对此不做任何限定。
可选地,在本实施例中,上述网页资源缓存装置可以但不限于应用于终端设备,例如:手机、笔记本电脑、PC计算机、平板电脑、智能穿戴设备、智能家居设备等等。
可选地,在本实施例中,上述网页资源缓存装置可以但不限于应用于各类当前使用单缓存机制对网页资源进行的缓存模式中。例如:http缓存等等。
可选地,在本实施例中,上述网页资源可以但不限于包括视频资源、音频资源、文本资源、图片资源等等。
可选地,在本实施例中,上述缓存指示信息中还可以但不限于携带用于指示是否对网页资源进行缓存的信息、用于指示缓存时长的信息、用于对网页资源以及缓存指示信息进行校验的信息等等。
对于需要缓存很多资源和大资源的应用程序或者客户端,传统的webview能提供的缓存空间很少,无法满足缓存需求,如果不能缓存这么多资源,那么每次打开网页都要重新请求,网络耗时严重。
可选地,在本实施例中,在客户端的开发过程中,在sdk中提供接口给应用开发者调用,应用开发者调用此功能接口,可以设置需要缓存的网页资源与缓存位置的对应关系,在安装客户端时,根据这种对应关系在终端中预先分配多个缓存位置,使得终端能缓存多种资源和大资源,同时对一些用户相关的敏感信息(例如用户个人信息等资源)可以采用缓存在根目录下的文件夹中的方式,以保证网页资源的安全性。
可选地,在本实施例中,在客户端的开发过程中,客户端的开发者可以设定有哪些资源需要进行缓存以及这些需要进行缓存的资源对应的缓存位置,可以由客户端的开发者进行设定,开发者可以根据资源对安全级别的要求或其他方式将需要缓存的资源划分为多个级别,并使用相应的标识来指示资源的级别,每一种资源的级别被设置为对应了一个终端中的缓存位置。这样终端在对资源进行缓存的时候,就可以将对安全级别要求较高的资源缓存在相对较安全的缓存位置。
比如:在一个可选的实施方式中,在客户端的开发过程中,客户端的开发者可以设定该客户端中的网页资源中需要缓存的资源包括帐号登录的信息(登录帐号、登录密码等)和多媒体资源,其中,帐号登录的信息可以被设置为安全级别高于多媒体资源,资源的安全级别可以用url后缀:_ck_offline=1和ck_offline=2进行标识,其中,_ck_offline=1指示的安全级别高于ck_offline=2指示的安全级别,开发过程中设定url后缀为ck_offline=1的资源存储在终端的内部存储设备的目录下,url后缀为ck_offline=2的资源存储在终端的外部存储设备的目录下。该对应关系可以被上传到云服务平台中进行存储,也可以存储在客户端的安装包中。
可选地,在本实施例中,需要缓存的网页资源与缓存位置的对应关系可以存储在云服务平台中,终端在安装客户端时,可以从云服务平台拉取需要缓存的网页资源与缓存位置的对应关系,并根据该对应关系为网页资源分配缓存位置,从而根据该对应关系缓存获取的需要缓存的网页资源。
在上述可选的实施方式中,云服务平台中可以存储的需要缓存的网页资源与缓存位置的对应关系为url后缀为ck_offline=1对应存储位置为/data/data/packagename/cache/,url后缀为ck_offline=2对应存储位置为/sdcard/,终端在安装客户端时,可以从云服务平台拉取并存储上述对应关系,并根据该对应关系为网页资源分配缓存位置。
可选地,在本实施例中,终端中预先分配的多个缓存位置可以但不限于包括终端的内部存储设备中的缓存位置(例如:终端的内存条、手机内自带的闪存等等)、终端的外部存储设备中的缓存位置(例如:终端上安装的存储卡、终端连接的移动硬盘等等)。
可选地,在本实施例中,终端的外部存储设备中也可以设置有多个存储位置。例如:在终端的外部存储设备中建立多个文件夹用于存储不同类型的需要缓存的网页资源。
可选地,在本实施例中,上述服务器可以但不限于是请求网页资源的客户端对应的服务器。
在上述可选的实施方式中,用户启动客户端浏览网页,用户首先打开网页的登录界面,输入帐号和密码等登录信息进行网页的登录,终端向服务器认证该登录信息,并发送网页资源请求至服务器以向服务器请求是否缓存该登录信息,服务器返回确认信息确认该登录信息的合法性并返回携带有url后缀ck_offline=1的该登录信息,终端根据该url后缀ck_offline=1将登录信息存储在/data/data/packagename/cache/目录下,用户登录后打开网页中的视频资源,终端向服务器发送网页资源请求,服务器响应于网页资源请求发送携带有url后缀ck_offline=2的该视频资源至终端,终端根据url后缀ck_offline=2将该视频资源缓存至/sdcard/目录下。
可见,通过上述装置,终端中预先分配了多个缓存位置,向服务器发送网页资源请求以获取目标网页资源,服务器返回的缓存指示信息指示了目标网页资源在终端中的多个缓存位置中的目标缓存位置,将获取到的目标网页资源缓存至目标缓存位置,终端中分配了多个缓存位置,由从服务器获取的缓存指示信息指示目标网页资源对应的目标缓存位置,扩大了网页资源的缓存空间,避免了单一的缓存位置导致的缓存的网页资源的吞吐操作过于频繁使得网页资源的缓存延迟的问题,从而提高了网页资源的缓存效率,进而克服现有技术中网页资源的缓存效率低的问题。
作为一种可选的方案,缓存模块46包括:
1)第一获取单元,用于获取缓存指示信息中携带的目标缓存标识,其中,目标缓存标识用于指示目标网页资源的类型;
2)确定单元,用于从预设的缓存标识与缓存位置的对应关系中确定目标缓存标识对应的目标缓存位置;
3)第一缓存单元,用于将目标网页资源缓存至目标缓存位置。
可选地,在本实施例中,可以预先设置缓存标识与缓存位置的对应关系,客户端的开发前端和终端可以预先协商好不同类型的网页资源在终端中的缓存位置,网页资源的类型可以但不限于按照网页资源的重要程度、网页资源种类、网页资源的缓存时间等等标准来划分,并为不同类型的网页资源设置不同的缓存标识,在终端中可以为不同的缓存标识分配缓存位置,并记录它们之间的对应关系,以便根据获取到的目标缓存标识确定目标网页资源的目标存储位置。
可选地,在本实施例中,在终端上安装客户端时,可以从客户端的安装包中获取缓存标识与缓存位置的对应关系,或者可以从云服务平台拉取缓存标识与缓存位置的对应关系,根据该对应关系在终端上为不同的缓存标识分配不同的存储位置。在用户使用该客户端浏览网页时,客户端可以从服务器获取网页资源和该网页资源对应的缓存标识信息,缓存标识信息中携带了目标缓存标识,客户端确定该目标缓存标识对应的目标缓存位置,将获取到的网页资源缓存在该目标缓存位置。
可选地,在本实施例中,以按照网页资源的重要程度的标准划分缓存位置为例,目标缓存标识可以但不限于用于指示目标网页资源的目标缓存等级,终端中的缓存位置可以分为终端的内置存储设备中的缓存位置和终端的外置存储设备中的缓存位置,可以将网页资源中较为重要的网页资源缓存在终端的内置存储设备中的缓存位置,其余的网页资源缓存在终端的外置存储设备中的缓存位置。
可选地,目标缓存标识用于指示目标网页资源的目标缓存等级,确定单元用于:在目标缓存标识为第一标识的情况下,从对应关系中确定第一标识对应的目标缓存位置为第一位置,其中,第一位置为终端的内置存储设备中的缓存位置;在目标缓存标识为第二标识的情况下,从对应关系中确定第二标识对应的目标缓存位置为第二位置,其中,第二位置为终端的外置存储设备中的缓存位置;其中,第一标识指示的目标缓存等级高于第二标识指示的目标缓存等级。
可选地,在本实施例中,上述终端的外置存储设备中的缓存位置也可以包括多个缓存位置,按照网页资源的重要程度来进行缓存位置的确定。
可选地,在本实施例中,终端的内置存储设备可以但不限于包括终端的内存条、终端的CPU中的运行存储空间等等。
可选地,在本实施例中,终端的外置存储设备可以但不限于包括存储卡、移动硬盘、U盘等等。
可选地,上述装置还包括:第一获取模块,用于获取根据网页资源的类型预设的缓存标识;第一分配模块,用于为缓存标识分配对应的缓存位置;建立模块,用于建立缓存标识与缓存位置之间的对应关系,得到对应关系。
可选地,在本实施例中,在从对应关系中确定目标缓存标识对应的目标缓存位置之前,终端可以与客户端的开发前端协商确定缓存标识与缓存位置之间的对应关系,得到上述对应关系。终端可以从前端获取前端根据网页资源的类型规定的缓存标识,并为缓存标识分配对应的缓存位置,从而建立缓存标识与缓存位置之间的对应关系,得到对应关系。
在一个可选的实施方式中,客户端的开发前端对请求的网页资源进行分级,对网页资源进行标识得到缓存标识。前端开发标识优先级的方法有多种,在本可选的实施方式中以使用url来标识网页资源级别为例,该方式便于控制而且灵活。例如:前端在url中使用某个后缀:_ck_offline=1/_ck_offline=2/_ck_offline=3等来标明网页资源的级别,不同级别的网页资源放在不同缓存位置中。终端在请求网页的时候,拉取的网页资源中携带有网页资源级别的标识,即缓存标识,然后根据缓存标识,将相应的资源放在相应的缓存位置中。
作为一种可选的方案,缓存模块46包括:
1)第二获取单元,用于获取缓存指示信息中携带的目标缓存位置标识,其中,目标缓存位置标识用于唯一标识目标缓存位置;
2)第二缓存单元,用于将目标网页资源缓存至目标缓存位置指示的目标缓存位置。
可选地,在本实施例中,终端和客户端的开发前端可以直接对网页资源的缓存位置进行设置以及标识,例如:前端可以对网页资源进行分级,规定不同级别的网页资源在终端中的缓存位置,并与终端协商不同缓存位置的缓存位置标识,在接收到请求的时候使用缓存位置标识标明此网页资源使用哪一个缓存位置。终端在请求网页的时候,拉取的网络资源中携带有目标网页资源对应的目标缓存位置标识,然后根据目标缓存位置标识,将相应的目标网页资源缓存在相应的目标缓存位置中。
可选地,上述装置还包括:第二获取模块,用于获取为网页资源的缓存位置预设的缓存位置标识,其中,缓存位置标识用于唯一标识网页资源的缓存位置;第二分配模块,用于为缓存位置标识指示的缓存位置分配缓存空间。
可选地,在本实施例中,在终端上安装客户端时,可以从客户端的安装包中获取缓存位置与缓存位置标识的配置信息,或者可以从云服务平台拉取缓存位置与缓存位置标识的配置信息,根据该对应关系在终端上分配不同的存储位置,并为存储位置标记对应的缓存位置标识。在用户使用该客户端浏览网页时,客户端可以从服务器获取网页资源和该网页资源对应的缓存位置标识,客户端将网页资源缓存到该缓存位置标识对应的目标缓存位置。
可选地,在本实施例中,在获取缓存指示信息中携带的目标缓存位置标识之前,终端与前端可以通过以下方式对缓存位置标识与缓存位置的对应关系进行协商:获取为网页资源的缓存位置预设的缓存位置标识,其中,缓存位置标识用于唯一标识网页资源的缓存位置,为缓存位置标识指示的缓存位置分配缓存空间。
作为一种可选的方案,缓存模块46包括:
1)第三缓存模块,用于在目标缓存位置对应的缓存空间中剩余的缓存空间的大小大于或者等于目标网页资源的大小的情况下,将目标网页资源缓存至剩余的缓存空间中;
2)第四缓存模块,用于在目标缓存位置对应的缓存空间中剩余的缓存空间的大小小于目标网页资源的大小的情况下,删除目标缓存位置对应的缓存空间中缓存的信息,使得目标缓存位置对应的缓存空间中剩余的缓存空间的大小大于或者等于目标网页资源的大小,并将目标网页资源缓存至剩余的缓存空间中。
可选地,在本实施例中,在上述步骤S206中,可以但不限于首先对目标缓存位置对应的缓存空间中剩余的缓存空间是否足够缓存目标网页资源进行判断,如果空间足够,则将目标网页资源缓存至目标缓存位置,如果空间不足,则删除其中的部分缓存的信息以使得剩余的缓存空间足够缓存目标网页资源。
可选地,在本实施例中,也可以通过判断目标缓存位置对应的缓存空间是否已满来判断是否需要删除部分缓存的信息。
可选地,第四缓存模块用于:删除目标缓存位置对应的缓存空间中缓存的信息中被访问时间早于预设时间的信息和/或删除目标缓存位置对应的缓存空间中缓存的信息中被访问次数低于预设次数的信息,使得目标缓存位置对应的缓存空间中剩余的缓存空间的大小大于或者等于目标网页资源的大小;或者删除目标缓存位置对应的缓存空间中缓存的信息中访问优先级低于预设优先级的信息,使得目标缓存位置对应的缓存空间中剩余的缓存空间的大小大于或者等于目标网页资源的大小。
可选地,在本实施例中,删除缓存的信息方法可以但不限于包括:LRU算法(最近最少使用算法)、LRU-K算法(改进的LRU算法)、Two queues算法(双队列算法)、Multi Queue算法(多个队列算法)等等。
在一个可选示例中提供了一种同webview下多HTTP缓存技术,具体结合图3对同webview下多HTTP缓存过程进行说明,该方法包括如下步骤:
HTTP缓存是web技术开发中使用的重要功能,使用HTTP缓存可以控制哪些资源需要缓存在本地,缓存多长时间等等,在一定时间内重复请求可以不必要重新拉取资源,直接读取缓存,给用户更快的体验。同一WebView下多HTTP缓存技术突破了原有的单一HTTP缓存技术,在X5内核中创建多个HTTP缓存控制,将网页资源缓存按照优先级分等级分别放在不同的HTTP缓存中,这些HTTP缓存突破了原有的存储大小限制(原有的存储限制为20M),原则上可以实现无限大(在终端空间允许的情况下),同时可以兼顾缓存资源的安全性,将安全级别较高的资源放在第一位置:/data/data/packagename/cache/目录下,将安全级别较低的资源放在第二位置:/sdcard/目录下。开发者可以定义请求资源的HTTP缓存的地址和优先级,便于X5内核判断使用哪一个HTTP缓存。
在客户端的X5内核中创建多个HTTP缓存管理模块,内核原有的HTTP缓存模块在/data/data中,这部分大小固定是20M;新创建的HTTP缓存模块可以将缓存大小扩大到无限(终端空间允许的范围内),而且这部分空间是虚拟的,在没有缓存资源的情况下这部分空间也是可以被分配给其他应用,所以避免了空间的浪费;
对请求的网页资源的重要性设置一个衡量标准,这个标准可以由前端开发者在开发网页的时候对各个资源的重要性进行标识,例如:安全性要求高的资源存储在/data/data/中,请求频繁的资源放在另一个HTTP缓存中,请求的资源较大放在其他的HTTP缓存中。这样对请求资源进行标准量化,可以有效提升HTTP缓存的效率,更好地发挥缓存的作用。
如图3所示,用户在终端上浏览网页或者使用客户端,终端箱服务器发送网页资源请求,服务器返回响应数据,返回的响应头中包括CacheControl等字段,根据这些字段判断目标网页资源是否符合HTTP缓存条件,不满足缓存条件则不进行HTTP缓存,如果满足缓存条件,则计算出请求的目标网页资源的重要程度,例如:根据缓存标识判断其重要程度。从而得到其在多个缓存位置(HTTP缓存1、HTTP缓存2……HTTP缓存n)中对应的目标缓存位置,判断目标缓存位置的缓存空间是否已满,如果已满,则将本地的HTTP缓存按照LRU算法淘汰一批,然后缓存。如果未满,则直接将目标网页资源HTTP缓存到本地。
该方案继承了原有HTTP缓存安全性的优点,提出的多HTTP缓存模式,制定了资源请求重要性的衡量标准,对多资源和大资源的网页请求的缓存效率的提高有非常明显的效果。
实施例3
本发明实施例的应用环境可以但不限于参照实施例1中的应用环境,本实施例中对此不再赘述。本发明实施例提供了用于实施上述网页资源缓存方法的一种可选的具体应用示例。
作为一种可选的实施例,上述网页资源缓存方法可以但不限于应用于如图5所示的对网页资源进行HTTP缓存的场景中。前端对网页资源的url进行特别的定义,这种定义实际上是灵活的,前端可以随意控制,但是要和终端(内核)对齐就可以了;前端对网页资源url的级别进行定义之后,正常的向网络服务器进行请求,网络服务器返回响应Respnse,这些Respone的头部包含CacheControl信息,CacheControl标识是否缓存,缓存多久等等,还可以包括ETag头部,用于校验使用,内核接收到响应信息,然后根据响应的网页资源级别分别选择相应的HTTP缓存模式(内核在启动时就会创建多个HTTP缓存模式,这些HTTP缓存模式用于缓存相应的网页资源),然后在对应的HTTP缓存中判断当前的缓存空间是否已满,如果已满,则要使用LRU算法(Last Recently Used,最近最久未使用算法)进行淘汰,然后将此网页资源缓存。
表1记录了使用原方案和使用上述方案进行网页资源缓存的缓存时间,如表1所示,原方案和上述方案在同样的环境下进行,缓存的资源大小是累计大小,而不是实际缓存大小,原方案的缓存限制是20M,上述方案的缓存限制是1024M。缓存5M资源是指在缓存5M资源的时候请求所耗费的时间。从表1中可以看出,在客户端上访问同一请求时,采用上述方案比采用原方案可以平均节省350.625ms,降低了公司网络的访问带宽和请求频率,同时打开网页速度更快了。
表1
实施例4
根据本发明实施例,还提供了一种用于实施上述网页资源缓存方法的电子装置,如图6所示,该设备包括:
1)通讯接口602,设置为发送网页资源请求至服务器,其中,网页资源请求用于向服务器请求目标网页资源;
接收服务器响应于网页资源请求发送的目标网页资源和缓存指示信息,其中,缓存指示信息用于指示目标网页资源在终端中的目标缓存位置,终端中预先分配了多个缓存位置,多个缓存位置包括目标缓存位置;
2)处理器604,与通讯接口602连接,设置为将目标网页资源缓存至缓存指示信息指示的目标缓存位置。
3)存储器606,与通讯接口602及处理器604连接,设置为在目标缓存位置存储目标网页资源。
可选地,本实施例中的具体示例可以参考上述实施例1和实施例2中所描述的示例,本实施例在此不再赘述。
实施例5
本发明的实施例还提供了一种存储介质。可选地,在本实施例中,上述存储介质可以位于网络中的多个网络设备中的至少一个网络设备。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:
S1,发送网页资源请求至服务器,其中,网页资源请求用于向服务器请求目标网页资源;
S2,接收服务器响应于网页资源请求发送的目标网页资源和缓存指示信息,其中,缓存指示信息用于指示目标网页资源在终端中的目标缓存位置,终端中预先分配了多个缓存位置,多个缓存位置包括目标缓存位置;
S3,将目标网页资源缓存至缓存指示信息指示的目标缓存位置。
可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
可选地,本实施例中的具体示例可以参考上述实施例1和实施例2中所描述的示例,本实施例在此不再赘述。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
上述实施例中的集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在上述计算机可读取的存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在存储介质中,包括若干指令用以使得一台或多台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的客户端,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (14)
1.一种网页资源缓存方法,其特征在于,包括:
发送网页资源请求至服务器,其中,所述网页资源请求用于向所述服务器请求目标网页资源;
接收所述服务器响应于所述网页资源请求发送的所述目标网页资源和缓存指示信息,其中,所述缓存指示信息用于指示所述目标网页资源在终端中的目标缓存位置,所述终端中预先分配了多个缓存位置,所述多个缓存位置包括所述目标缓存位置;
将所述目标网页资源缓存至所述缓存指示信息指示的所述目标缓存位置。
2.根据权利要求1所述的方法,其特征在于,将所述目标网页资源缓存至所述缓存指示信息指示的所述目标缓存位置包括:
获取所述缓存指示信息中携带的目标缓存标识,其中,所述目标缓存标识用于指示所述目标网页资源的类型;
从预设的缓存标识与缓存位置的对应关系中确定所述目标缓存标识对应的所述目标缓存位置;
将所述目标网页资源缓存至所述目标缓存位置。
3.根据权利要求2所述的方法,其特征在于,所述目标缓存标识用于指示所述目标网页资源的目标缓存等级,从所述对应关系中确定所述目标缓存标识对应的所述目标缓存位置包括:
在所述目标缓存标识为第一标识的情况下,从所述对应关系中确定所述第一标识对应的所述目标缓存位置为第一位置,其中,所述第一位置为所述终端的内置存储设备中的缓存位置;
在所述目标缓存标识为第二标识的情况下,从所述对应关系中确定所述第二标识对应的所述目标缓存位置为第二位置,其中,所述第二位置为所述终端的外置存储设备中的缓存位置;
其中,所述第一标识指示的目标缓存等级高于所述第二标识指示的目标缓存等级。
4.根据权利要求2所述的方法,其特征在于,在从所述对应关系中确定所述目标缓存标识对应的所述目标缓存位置之前,所述方法还包括:
获取根据网页资源的类型预设的缓存标识;
为所述缓存标识分配对应的缓存位置;
建立所述缓存标识与所述缓存位置之间的对应关系,得到所述对应关系。
5.根据权利要求1所述的方法,其特征在于,将所述目标网页资源缓存至所述缓存指示信息指示的所述目标缓存位置包括:
获取所述缓存指示信息中携带的目标缓存位置标识,其中,所述目标缓存位置标识用于唯一标识所述目标缓存位置;
将所述目标网页资源缓存至所述目标缓存位置指示的所述目标缓存位置。
6.根据权利要求5所述的方法,其特征在于,在获取所述缓存指示信息中携带的目标缓存位置标识之前,所述方法还包括:
获取为网页资源的缓存位置预设的缓存位置标识,其中,所述缓存位置标识用于唯一标识所述网页资源的缓存位置;
为所述缓存位置标识指示的所述缓存位置分配缓存空间。
7.根据权利要求1至6中任一项所述的方法,其特征在于,将所述目标网页资源缓存至所述目标缓存位置包括:
在所述目标缓存位置对应的缓存空间中剩余的缓存空间的大小大于或者等于所述目标网页资源的大小的情况下,将所述目标网页资源缓存至所述剩余的缓存空间中;
在所述目标缓存位置对应的缓存空间中剩余的缓存空间的大小小于所述目标网页资源的大小的情况下,删除所述目标缓存位置对应的缓存空间中缓存的信息,使得所述目标缓存位置对应的缓存空间中剩余的缓存空间的大小大于或者等于所述目标网页资源的大小,并将所述目标网页资源缓存至所述剩余的缓存空间中。
8.根据权利要求7所述的方法,其特征在于,删除所述目标缓存位置对应的缓存空间中缓存的信息,使得所述目标缓存位置对应的缓存空间中剩余的缓存空间的大小大于或者等于所述目标网页资源的大小包括:
删除所述目标缓存位置对应的缓存空间中缓存的信息中被访问时间早于预设时间的信息和/或删除所述目标缓存位置对应的缓存空间中缓存的信息中被访问次数低于预设次数的信息,使得所述目标缓存位置对应的缓存空间中剩余的缓存空间的大小大于或者等于所述目标网页资源的大小;或者
删除所述目标缓存位置对应的缓存空间中缓存的信息中访问优先级低于预设优先级的信息,使得所述目标缓存位置对应的缓存空间中剩余的缓存空间的大小大于或者等于所述目标网页资源的大小。
9.一种网页资源缓存装置,其特征在于,包括:
发送模块,用于发送网页资源请求至服务器,其中,所述网页资源请求用于向所述服务器请求目标网页资源;
接收模块,用于接收所述服务器响应于所述网页资源请求发送的所述目标网页资源和缓存指示信息,其中,所述缓存指示信息用于指示所述目标网页资源在终端中的目标缓存位置,所述终端中预先分配了多个缓存位置,所述多个缓存位置包括所述目标缓存位置;
缓存模块,用于将所述目标网页资源缓存至所述缓存指示信息指示的所述目标缓存位置。
10.根据权利要求9所述的装置,其特征在于,所述缓存模块包括:
第一获取单元,用于获取所述缓存指示信息中携带的目标缓存标识,其中,所述目标缓存标识用于指示所述目标网页资源的类型;
确定单元,用于从预设的缓存标识与缓存位置的对应关系中确定所述目标缓存标识对应的所述目标缓存位置;
第一缓存单元,用于将所述目标网页资源缓存至所述目标缓存位置。
11.根据权利要求9所述的装置,其特征在于,所述缓存模块包括:
第二获取单元,用于获取所述缓存指示信息中携带的目标缓存位置标识,其中,所述目标缓存位置标识用于唯一标识所述目标缓存位置;
第二缓存单元,用于将所述目标网页资源缓存至所述目标缓存位置指示的所述目标缓存位置。
12.根据权利要求9至11中任一项所述的装置,其特征在于,所述缓存模块包括:
第三缓存模块,用于在所述目标缓存位置对应的缓存空间中剩余的缓存空间的大小大于或者等于所述目标网页资源的大小的情况下,将所述目标网页资源缓存至所述剩余的缓存空间中;
第四缓存模块,用于在所述目标缓存位置对应的缓存空间中剩余的缓存空间的大小小于所述目标网页资源的大小的情况下,删除所述目标缓存位置对应的缓存空间中缓存的信息,使得所述目标缓存位置对应的缓存空间中剩余的缓存空间的大小大于或者等于所述目标网页资源的大小,并将所述目标网页资源缓存至所述剩余的缓存空间中。
13.一种存储介质,其特征在于,所述存储介质包括存储的程序,其中,所述程序运行时执行上述权利要求1至8任一项中所述的方法。
14.一种电子装置,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器通过所述计算机程序执行上述权利要求1至8任一项中所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710927182.0A CN110020290B (zh) | 2017-09-29 | 2017-09-29 | 网页资源缓存方法、装置、存储介质及电子装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710927182.0A CN110020290B (zh) | 2017-09-29 | 2017-09-29 | 网页资源缓存方法、装置、存储介质及电子装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110020290A true CN110020290A (zh) | 2019-07-16 |
CN110020290B CN110020290B (zh) | 2022-12-13 |
Family
ID=67186407
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710927182.0A Active CN110020290B (zh) | 2017-09-29 | 2017-09-29 | 网页资源缓存方法、装置、存储介质及电子装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110020290B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110665223A (zh) * | 2019-11-01 | 2020-01-10 | 网易(杭州)网络有限公司 | 游戏资源的缓存方法、决策网络的训练方法及装置 |
CN111191158A (zh) * | 2019-12-27 | 2020-05-22 | 北京达佳互联信息技术有限公司 | 网页资源缓存方法、装置、计算机设备和存储介质 |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101313286A (zh) * | 2005-12-22 | 2008-11-26 | 英特尔公司 | 多线程处理器中的性能优先化 |
CN102439934A (zh) * | 2011-01-24 | 2012-05-02 | 华为技术有限公司 | 一种cdn中边缘服务器的多级缓存管理方法与系统 |
CN102656570A (zh) * | 2009-12-16 | 2012-09-05 | 瑞典爱立信有限公司 | 用于缓存的方法、服务器、计算机程序和计算机程序产品 |
CN103294718A (zh) * | 2012-02-29 | 2013-09-11 | 腾讯科技(深圳)有限公司 | 网页缓存管理方法和装置 |
CN104092670A (zh) * | 2014-06-25 | 2014-10-08 | 北京蓝汛通信技术有限责任公司 | 网络缓存服务器处理文件的方法及处理缓存文件的设备 |
WO2014166265A1 (en) * | 2013-04-12 | 2014-10-16 | Tencent Technology (Shenzhen) Company Limited | Method, terminal, cache server and system for updating webpage data |
US20150143224A1 (en) * | 2013-11-15 | 2015-05-21 | Instart Logic, Inc. | Partial website optimization for a web publisher |
CN105930528A (zh) * | 2016-06-03 | 2016-09-07 | 腾讯科技(深圳)有限公司 | 一种网页缓存的方法及服务器 |
CN106055706A (zh) * | 2016-06-23 | 2016-10-26 | 杭州迪普科技有限公司 | 一种缓存资源存储方法及装置 |
US20160321176A1 (en) * | 2015-04-29 | 2016-11-03 | Google Inc. | Data caching |
US20160373545A1 (en) * | 2015-06-16 | 2016-12-22 | Guangzhou Ucweb Computer Technology Co., Ltd | Method and apparatus for webpage resource acquisition |
CN106528761A (zh) * | 2016-11-04 | 2017-03-22 | 郑州云海信息技术有限公司 | 一种文件缓存方法及装置 |
-
2017
- 2017-09-29 CN CN201710927182.0A patent/CN110020290B/zh active Active
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101313286A (zh) * | 2005-12-22 | 2008-11-26 | 英特尔公司 | 多线程处理器中的性能优先化 |
CN102656570A (zh) * | 2009-12-16 | 2012-09-05 | 瑞典爱立信有限公司 | 用于缓存的方法、服务器、计算机程序和计算机程序产品 |
CN102439934A (zh) * | 2011-01-24 | 2012-05-02 | 华为技术有限公司 | 一种cdn中边缘服务器的多级缓存管理方法与系统 |
CN103294718A (zh) * | 2012-02-29 | 2013-09-11 | 腾讯科技(深圳)有限公司 | 网页缓存管理方法和装置 |
WO2014166265A1 (en) * | 2013-04-12 | 2014-10-16 | Tencent Technology (Shenzhen) Company Limited | Method, terminal, cache server and system for updating webpage data |
US20150143224A1 (en) * | 2013-11-15 | 2015-05-21 | Instart Logic, Inc. | Partial website optimization for a web publisher |
CN104092670A (zh) * | 2014-06-25 | 2014-10-08 | 北京蓝汛通信技术有限责任公司 | 网络缓存服务器处理文件的方法及处理缓存文件的设备 |
US20160321176A1 (en) * | 2015-04-29 | 2016-11-03 | Google Inc. | Data caching |
US20160373545A1 (en) * | 2015-06-16 | 2016-12-22 | Guangzhou Ucweb Computer Technology Co., Ltd | Method and apparatus for webpage resource acquisition |
CN105930528A (zh) * | 2016-06-03 | 2016-09-07 | 腾讯科技(深圳)有限公司 | 一种网页缓存的方法及服务器 |
CN106055706A (zh) * | 2016-06-23 | 2016-10-26 | 杭州迪普科技有限公司 | 一种缓存资源存储方法及装置 |
CN106528761A (zh) * | 2016-11-04 | 2017-03-22 | 郑州云海信息技术有限公司 | 一种文件缓存方法及装置 |
Non-Patent Citations (2)
Title |
---|
AGARWAL,D.: "Memory Hierarchy Aware Parallel Priority Based Data Structures", 《2011 IEEE INTERNATIONAL SYMPOSIUM ON PARALLEL & DISTRIBUTED PROCESSING, WORKSHOPS AND PHD FORUM》 * |
张天魁等: "信息中心网络缓存技术研究综述", 《北京邮电大学学报》 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110665223A (zh) * | 2019-11-01 | 2020-01-10 | 网易(杭州)网络有限公司 | 游戏资源的缓存方法、决策网络的训练方法及装置 |
CN110665223B (zh) * | 2019-11-01 | 2023-04-21 | 网易(杭州)网络有限公司 | 游戏资源的缓存方法、决策网络的训练方法及装置 |
CN111191158A (zh) * | 2019-12-27 | 2020-05-22 | 北京达佳互联信息技术有限公司 | 网页资源缓存方法、装置、计算机设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN110020290B (zh) | 2022-12-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6779119B1 (en) | Actual and perceived response time, user interface, and security via usage patterns | |
CN109446457A (zh) | 页面数据的更新方法、终端设备及介质 | |
CN110096660A (zh) | 用于加载页面图片的方法、装置和电子设备 | |
KR20160030381A (ko) | 웹 페이지 액세스 방법, 장치, 라우터, 프로그램 및 기록매체 | |
CN105450579B (zh) | 网络资源预加载方法、客户端及中间件服务器 | |
CN105488205B (zh) | 页面生成方法和装置 | |
CN106681990B (zh) | 一种移动云存储环境下缓存数据的预取方法 | |
EP2745219A2 (en) | Managing information associated with network resources | |
CN106649446B (zh) | 信息推送方法和装置 | |
CN109165050A (zh) | 程序的运行方法、装置、计算设备以及存储介质 | |
CN107197359B (zh) | 视频文件缓存方法及装置 | |
CN106817388B (zh) | 虚拟机、宿主机获取数据的方法、装置及访问数据的系统 | |
CN107870920A (zh) | 浏览器资源预拉取方法及装置 | |
CN107105336A (zh) | 数据处理方法及数据处理装置 | |
CN109558378A (zh) | 文件管理方法、装置、设备及存储介质 | |
CN109634916A (zh) | 文件存储及下载方法、装置及存储介质 | |
WO2014015787A1 (en) | Method, server, and client for pushing and displaying splash screen | |
US10242102B2 (en) | Network crawling prioritization | |
CN107291826A (zh) | 文件搜索处理方法及装置 | |
CN111966967A (zh) | 一种基于区块链技术和cdn的版权存证方法及系统 | |
US20090327303A1 (en) | Intelligent allocation of file server resources | |
CN110020290A (zh) | 网页资源缓存方法、装置、存储介质及电子装置 | |
US20090228549A1 (en) | Method of tracking usage of client computer and system for same | |
CN105281987B (zh) | 路由器及数据上传方法、装置、系统 | |
CN103412898B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |