发明内容
鉴于上述,本发明提出了一种用于提高二次加载效率的网页资源缓存方法及装置,该方法通过在将网页资源缓存到磁盘上时,对网页资源进行优化处理,去除网页资源中的冗余部分,从而减少缓存到磁盘上的网页资源的数据量,由此提高二次加载时的加载效率。
根据本发明的一个方面,提供了一种用于提高二次加载效率的网页资源缓存方法,包括:在完成网页加载后需要将网页资源缓存到磁盘且该网页资源被确定为是网页源代码时,对所述网页源代码进行精简处理;以及将经过精简处理后的网页源代码缓存到磁盘中,以供在二次网页加载时使用。
在上述方面的一个或多个示例中,对所述网页源代码进行精简处理可以包括从所述网页源代码中去除冗余代码。所述冗余代码可以包括空格、换行符和注释。
在上述方面的一个或多个示例中,对所述网页源代码进行精简处理可以包括对所述源代码中的局部变量名进行精简处理。
在上述方面的一个或多个示例中,对所述网页源代码进行精简处理可以包括从所述网页源代码中删除没有使用的局部变量。
在上述方面的一个或多个示例中,所述源代码可以是HTML源代码、Java Script源代码和CSS样式源代码。
根据本发明的另一方面,提供了一种用于提高二次加载效率的网页资源缓存装置,包括:判断单元,用于在完成网页加载后需要将网页资源缓存到磁盘时,判断该网页资源是否为网页源代码,精简处理单元,用于在所述网页资源被判断为是网页源代码时,对所述网页源代码进行优化精简处理;以及缓存单元,用于将经过精简处理后的网页源代码缓存到磁盘中,以供在二次网页加载时使用。
在上述方面的一个或多个示例中,所述精简处理单元被配置为从所述网页源代码中去除冗余代码。
在上述方面的一个或多个示例中,所述精简处理单元被配置为对所述源代码中的局部变量名进行精简处理。
在上述方面的一个或多个示例中,所述精简处理单元被配置为从所述网页源代码中删除没有使用的局部变量。
利用上述方法及装置,通过在将网页资源缓存到磁盘上时,对网页资源进行优化处理,去除网页资源中的冗余部分,从而减少缓存到磁盘上的网页资源的数据量,由此提高二次加载时的加载效率。
为了实现上述以及相关目的,本发明的一个或多个方面包括后面将详细说明并在权利要求中特别指出的特征。下面的说明以及附图详细说明了本发明的某些示例性方面。然而,这些方面指示的仅仅是可使用本发明的原理的各种方式中的一些方式。此外,本发明旨在包括所有这些方面以及它们的等同物。
具体实施方式
下面描述本公开的各个方面。应该明白的是,本文的教导可以以多种多样形式具体体现,并且在本文中公开的任何具体结构、功能或两者仅仅是代表性的。基于本文的教导,本领域技术人员应该明白的是,本文所公开的一个方面可以独立于任何其它方面实现,并且这些方面中的两个或多个方面可以按照各种方式组合。例如,可以使用本文所阐述的任何数目的方面,实现装置或实践方法。另外,可以使用其它结构、功能、或除了本文所阐述的一个或多个方面之外或不是本文所阐述的一个或多个方面的结构和功能,实现这种装置或实践这种方法。此外,本文所描述的任何方面可以包括权利要求的至少一个元素。
下面将参照附图描述本发明的各个实施例。
图1示出了根据本发明的用于提高二次加载效率的网页资源缓存方法的流程图。
如图1所示,首先,在步骤S110,在首次完成网页加载后,如果需要将网页资源缓存到磁盘,则进行到步骤S120。这里,虽然示出的是首次完成网页加载,但是在本发明的其它示例中,也可以是首次之外的其它次完成网页加载。
在步骤S120,判断要被缓存的网页资源是否为网页源代码。所述源代码可以是HTML源代码、Java Script源代码和CSS样式源代码等。如果确定为不是网页源代码,则进行到步骤S150,依其原样将网页资源缓存到磁盘中。如果确定为是网页源代码,则进行到步骤S130。在步骤S130,对所述网页源代码进行精简处理。
在本发明的一个示例中,对所述网页源代码进行精简处理可以包括:从所述网页源代码中去除冗余代码。这里,所述冗余代码包括空格、换行符和注释。换言之,对所述网页源代码进行精简优化处理可以包括去掉源代码行中多余的空格,去掉源代码行中多余的换行符和/或去掉源代码中的注释。
在本发明的另一示例中,对所述网页源代码进行精简处理也可以包括:对所述源代码中的局部变量名进行精简处理。通过将源代码中局部变量的名字尽量精简,可以使得源代码文件的大小更小,并且由于字符串更短,由此可以提高解析源代码时的速度。
在本发明的另一示例中,对所述网页源代码进行精简处理可以包括:从所述网页源代码中删除没有使用的局部变量。例如,假设存在如下代码:
function hello(longName) {
var foo = 1;
alert('Hello, ' + longName);
}
通过分析可以知道,在执行上述函数的代码时,局部变量foo未被使用,因此与该局部变量foo相关的代码“var foo=1;”是冗余的,所以可以将其删掉。从而优化如下:
function hello(longName) {
alert('Hello, ' + longName);
}
在进行上述优化后,该函数的代码量变小,从而执行效率更高。
此外,在本发明的其它示例中,还可以对上述精简处理的方式进行各种组合。
在如上进行精简处理后,在步骤S140中,将经过精简处理后的网页源代码缓存到磁盘中,以供在二次网页加载时使用。在如上处理后,当浏览器第二次需要加载被缓存的网页资源时,可以直接加载经过上述精简处理后的缓存网页资源,由于缓存的网页资源的数据量减少了,从而提高了二次加载的加载速度。
如上参照图1描述了根据本发明的用于提高二次加载效率的网页资源缓存方法。本发明的上述网页资源缓存方法,可以采用软件实现,也可以采用硬件实现,或采用软件和硬件组合的方式实现。
图2示出了根据本发明的实施例的用于提高二次加载效率的网页资源缓存装置200的方框示意图。如图2所示,网页资源缓存装置200包括判断单元210、精简处理单元220和缓存单元230。
判断单元210用于在首次完成网页加载后需要将网页资源缓存到磁盘时,判断该网页资源是否为网页源代码。所述源代码可以是HTML源代码、Java Script源代码和CSS样式源代码等。
精简处理单元220用于在所述网页资源被判断为是网页源代码时,对所述网页源代码进行优化精简处理。
缓存单元230用于在所述网页资源是网页源代码时,将经过精简处理后的网页源代码缓存到磁盘中,以供在二次网页加载时使用。此外,在所述网页资源不是网页源代码时,缓存单元230被配置为将所述网页资源依其原样缓存在磁盘中。
在本发明的一个示例中,所述精简处理单元220被配置为从所述网页源代码中去除冗余代码。这里,所述冗余代码包括空格、换行符和注释。或者,所述精简处理单元220被配置为对所述源代码中的局部变量名进行精简处理。或者,所述精简处理单元被配置为从所述网页源代码中删除没有使用的局部变量。
利用上述方法及装置,通过在将网页资源缓存到磁盘上时,对网页资源进行优化处理,去除网页资源中的冗余部分,从而减少缓存到磁盘上的网页资源的数据量,由此提高二次加载时的加载效率。
下面的表1示出了利用根据本发明的方法执行前后的文件大小的对比。
网站 |
优化前文件大小(字节) |
优化后文件大小(字节) |
提升比率 |
163.com |
566952 |
476057 |
16% |
qq.com |
501849 |
404451 |
19% |
sohu.com |
421556 |
388380 |
8% |
3g.163.com |
87622 |
66217 |
24% |
m.sohu.com |
54825 |
49743 |
9% |
表1
从上表可以看出,在利用根据本发明的方法进行优化后,文件大小减小了。由于文件大小减小而且网页源代码有效内容不变,所以当浏览器从磁盘对其加载时,可以减少磁盘读写和源代码分析的时间,从而提高效率。
图3示出了具有根据本发明的网页资源缓存装置200的移动终端10的方框示意图。如图3所示,所述移动终端10包括如图2所示的网页资源缓存装置200。这里要说明的是,图3中包含的网页资源缓存装置还可以包括图2中所示的网页资源缓存装置200的各种变型。
此外,典型地,本发明所述的移动终端可为各种具有蓝牙功能的手持终端设备,例如具有蓝牙功能的手机、个人数字助理(PDA)。
此外,根据本发明的方法还可以被实现为由移动终端中的处理器(比如CPU)执行的计算机程序,并且存储在移动终端的存储器中。在该计算机程序被处理器执行时,执行本发明的方法中限定的上述功能。
此外,根据本发明的方法还可以实现为一种计算机程序产品,该计算机程序产品包括计算机可读介质,在该计算机可读介质上存储有用于执行本发明的方法中限定的上述功能的计算机程序。
此外,上述方法步骤以及系统单元也可以利用控制器以及用于存储使得控制器实现上述步骤或单元功能的计算机程序的计算机可读存储设备实现。
本领域技术人员还将明白的是,结合这里的公开所描述的各种示例性逻辑块、模块、电路和算法步骤可以被实现为电子硬件、计算机软件或两者的组合。为了清楚地说明硬件和软件的这种可互换性,已经就各种示意性组件、方块、模块、电路和步骤的功能对其进行了一般性的描述。这种功能是被实现为软件还是被实现为硬件取决于具体应用以及施加给整个系统的设计约束。本领域技术人员可以针对每种具体应用以各种方式来实现所述的功能,但是这种实现决定不应被解释为导致脱离本发明的范围。
尽管前面公开的内容示出了本发明的示例性实施例,但是应当注意,在不背离权利要求限定的本发明的范围的前提下,可以进行多种改变和修改。根据这里描述的发明实施例的方法权利要求的功能、步骤和/或动作不需以任何特定顺序执行。此外,尽管本发明的元素可以以个体形式描述或要求,但是也可以设想多个,除非明确限制为单数。
虽然如上参照图描述了根据本发明的各个实施例进行了描述,但是本领域技术人员应当理解,对上述本发明所提出的各个实施例,还可以在不脱离本发明内容的基础上做出各种改进。因此,本发明的保护范围应当由所附的权利要求书的内容确定。