清除缓存的方法及装置的制造方法
【技术领域】
[0001] 本发明涉及移动互联网技术领域,更为具体地,涉及一种清除缓存的方法及装置。
【背景技术】
[0002] 为了提高访问网页的速度,终端浏览器会采用累积式加速的方法,将曾经访问的 网页内容(包括图片W及cookie文件等)存储在终端缓存中,W后在每次访问网站时,浏 览器首先会搜索终端缓存,如果缓存中已经有访问过的内容,郝浏览器就不必从网上下载, 而直接从缓存中调出来,从而提高了访问网站的速度。
[0003] 然而浏览器浏览产生的缓存一般都是用户主动清除,由于缓存的很多资源是不会 再次被利用到的,如果用户没有主动清除缓存,缓存的资源就会一直存留在终端,并且由于 存在很多垃圾缓存,从而造成了用户终端存储空间的浪费,也影响缓存的利用率。尤其是对 终端存储空间有限的移动终端而言,送种浪费会严重影响到移动终端的数据处理速度,从 而影响到终端用户的应用体验。
【发明内容】
[0004] 鉴于上述问题,本发明的目的是提供一种清除缓存的方法及装置,W解决缓存占 用空间过大、缓存利用率不高的问题。
[0005] 本发明提供的清除缓存的方法,包括:
[0006] 在浏览器启动加载时或加载后连续运行至第一预设时间时,浏览器清除缓存数据 库中的缓存记录,并向后台线程提供清除缓存文件的信息;其中,缓存文件与缓存记录相对 应;
[0007] 后台线程根据清除缓存文件的信息,删除与缓存记录对应的缓存文件。
[0008] 本发明提供的清除缓存的装置,包括:
[0009] 缓存记录清除单元,用于在浏览器启动加载时或加载后连续运行至第一预设时间 时,清除缓存数据库中的缓存记录;
[0010] 信息提供单元,用于向后台线程提供清除缓存文件的信息;其中,缓存文件与缓存 记录相对应;
[0011] 缓存文件删除单元,用于根据清除缓存文件的信息,删除与缓存记录对应的缓存 文件。
[0012] 本发明提供的设备终端,包括用于存储缓存文件的存储器和前述的清除缓存的装 置。
[0013] 利用上述根据本发明提供的清除缓存的方法及装置,通过在浏览器启动加载时或 加载后连续运行至第一预设时间时,浏览器自动清除缓存数据库中的缓存记录,并向后台 线程提供清除缓存文件的信息使得后台线程删除对应的缓存文件,送样就能够在浏览器加 载时或连续运行超过预设时间时自动清除浏览器产生的缓存,提高缓存利用率,节省用户 的存储空间。
[0014] 在清除缓存时,根据改进的缓存文件删除算法清除缓存,即根据预设的删除时间 比确定删除待删除缓存文件列表中每个缓存文件所间隔的时间,根据删除每个缓存文件所 间隔的时间删除所述待删除缓存文件列表中的每个缓存文件,送样能够减少占用CPU的时 间,在用户浏览网页时不会出现卡顿现象,提高用户上网体验。
[0015] 为了实现上述W及相关目的,本发明的一个或多个方面包括后面将详细说明并在 权利要求中特别指出的特征。下面的说明W及附图详细说明了本发明的某些示例性方面。 然而,送些方面指示的仅仅是可使用本发明的原理的各种方式中的一些方式。此外,本发明 旨在包括所有送些方面W及它们的等同物。
【附图说明】
[0016] 通过参考W下结合附图的说明及权利要求书的内容,并且随着对本发明的更全面 理解,本发明的其它目的及结果将更加明白及易于理解。在附图中:
[0017] 图1为根据本发明实施例的自动清除缓存的方法的流程示意图;
[0018] 图2为根据本发明实施例的自动清除缓存的方法中缓存文件删除算法的流程示 意图;
[0019] 图3a和图3b分别为根据本发明实施例的自动清除浏览器缓存后的效果图和利用 缓存文件删除算法优化后的效果图;
[0020] 图4为根据本发明实施例的主动清除缓存的方法的流程示意图;
[0021] 图5为根据本发明实施例的自动清除缓存的装置的逻辑结构框图;
[0022] 图6为根据本发明实施例的主动清除缓存的装置的逻辑结构框图;
[0023] 图7为根据本发明实施例的设备终端的逻辑结构框图;
[0024] 图8为根据本发明实施例的另一设备终端的逻辑结构框图。
[0025] 在所有附图中相同的标号指示相似或相应的特征或功能。
【具体实施方式】
[0026] 在下面的描述中,出于说明的目的,为了提供对一个或多个实施例的全面理解,阐 述了许多具体细节。然而,很明显,也可W在没有送些具体细节的情况下实现送些实施例。 在其它例子中,为了便于描述一个或多个实施例,公知的结构和设备W方框图的形式示出。
[0027] W下将结合附图对本发明的具体实施例进行详细描述。
[0028] 现有的缓存清除方法实现了用户主动清除缓存的功能,但没有为用户实现自动清 除缓存的功能,因此本发明提出一种自动清除浏览器缓存的技术方案,W解决不能为用户 自动清除浏览器缓存的问题。另外,现有技术中当终端用户主动清除缓存时,终端系统会依 次删除所有缓存文件,删除的过程是连续进行的,有可能长时间占用系统CPU,此时系统分 配给用户浏览网页的线程的CPU时间变少,在用户浏览网页时,很容易造成页面卡顿,甚至 导致应用程序无响应,降低终端用户的浏览体验。本发明进一步改进方案,使得在清除缓存 时,根据改进的缓存文件删除算法清除缓存,能够减少占用CPU的时间,在用户浏览网页时 不会出现卡顿现象,提高用户上网体验。
[0029] 首先,为了方便理解下文中的缓存清除方法,对缓存的结构进行说明,在缓存中, 一个资源包括一个url标识,每个资源在缓存数据库中对应一条缓存记录,该缓存记录记 录了资源的响应头信息,比如url、资源长度、资源类型、过期时间、上次使用时间等等。每个 资源对应于终端磁盘上的一个缓存文件,该缓存文件存储了资源的实际内容,而缓存数据 库存储在终端中。
[0030] 图1示出了根据本发明实施例的自动清除缓存的方法的流程。
[0031] 如图1所示,本发明实施例提供的自动清除缓存的方法,包括:
[0032] 步骤S101 ;在浏览器启动加载时或加载后连续运行至第一预设时间时,浏览器清 除缓存数据库中的缓存记录,并向后台线程提供清除缓存文件的信息;其中,所述缓存文件 与所述缓存记录相对应。
[0033] 在步骤S101中提到的第一预设时间优先为预设为12小时,即浏览器运行超过12 小时,自动清除一次缓存,也可W预设为其它时间。自动清除缓存用于清除无用的缓存,可 清除全部无用的缓存,也可W只清除部分无用的缓存,缓存包括两个部分,一部分为缓存记 录,另一部分为与缓存记录对应缓存文件。
[0034] 在自动清除缓存中,缓存记录包括规定时间段内没用到的资源和过期的无 ETag 和Last_Modified头部域的资源。
[0035] 由实际收集的统计数据显示,缓存的资源上次使用时间在两周内的占比为98% W 上,即缓存的资源基本上都是在两周内使用过的,而两周内未使用的资源基本上不会再次 用到,可W当做垃圾资源清理掉,因此,在上述提到的规定时间段优先规定为两周,也可W 规定为其它时间段。
[003引另外,ETag和Last_Modified是HTTP的响应头部域,有的资源有,有的资源没有, 对于过期的资源,如果没有ETag和Last_Modified头部域,该过期的资源完全不能被再次利 用,将其当做垃圾资源清除掉;如果过期的资源有ETag和Last_Modified头部域,浏览器可 W向网站服务器提供条件请求,如果网站服务器根据化ag或者last_modified头部域判断 出过期的资源没有更改,则网站服务器不会返回新资源给浏览器,浏览器可W继续利用缓 存的副本,从而节省流量。
[0037] 本发明实施例提供的自动清除缓存的方法可W在浏览器加载时自动清除缓存,而 浏览器加载后可能长期在后台运行,无法在浏览器加载时及时清除掉过期资源和长时间没 有用到的资源,所W需要在浏览器连续运行超过第一预设时间时自动清除掉过期资源和长 时间没有用到的资源。
[0038] 由于每个资源在缓存记录中都会被记录上次使用时间,因此根据缓存记录中的上 次使用时间来判断某个资源是否在两周内用到。
[0039] 由于每个资源在缓存记录中还记录有过期时间,根据缓存记录中的过期时间判断 资源是否过期,该资源在过期时间之前能够利用缓存的副本,如果资源超过记录的过期时 间,不能利用缓存的副本,需要重新从网站服务器获取资源。
[0040] 在浏览器清除缓存数据库中的缓存记录时或清除缓存记录后,后台线程提供清除 缓存记录对应的缓存文件。
[0041] 其中,清除缓存文件的信息包括清除残留缓存文件的信息和清除待删除缓存文件 的信息,由于可能存在上次清理缓存时没有清除完的缓存文件或者待删除缓存文件,所W 每次发出清除缓存文件的信息都会先提供清除残留缓存文件的信息,再提供清除待删除文 件的信息。
[0042] 步骤S102 ;后台线程根据清除缓存文件的信息,删除与缓存记录对应的缓存文 件。
[0043] 后台线程在接收到浏览器