背景技术
手机浏览器是指运行在手机这种嵌入式环境当中的互联网浏览器。手机与传统的个人电脑环境相比,具有运算能力有限,内存相对较小,电源续航能力低,用户操作方式特殊等特点。因此,运行在手机上的互联网浏览器需要经过特别的设计才能够适应嵌入式环境下的资源限制,提供较好的用户体验。
目前互联网上的大多数网页都是为普通的计算机屏幕设计的,网页体积庞大,内容繁多。手机的屏幕及其分辨率相对普通计算机而言是很小的,因此对于这些网页很难有较好的呈现效果。而且,网页中还往往包含了大量的无用信息(例如广告链接,标识图片等等),这些内容与网页的实际主题并不相关,但是仍然被下载到客户端,占用了运算和存储资源,并且由于手机屏幕比较小,这些无关内容会严重影响用户的浏览体验。因此,为了增强手机终端的网页浏览体验,手机终端需要对终端上浏览器下载的网页进行分析,过滤,尽量去除无关内容,减少主题不相关的链接资源的下载。
目前已经有许多商用的手机浏览器实现了对网页进行压缩,但是基本都是以C-S(Client Server)的结构实现,一般都包括以下几个步骤:
手机的浏览器不直接访问互联网上的网站,而是通过浏览器厂商的服务器间接浏览网页;
浏览器厂商的服务器对原始网页进行网页架构上的调整,图片的压缩等工作;
浏览器厂商的服务器将处理过的网页发往手机上的浏览器进行呈现;
可以看出,这种类型的压缩技术,需要维护庞大的服务器群,消耗在带宽以及硬件上的成本都是很高的,而且浏览器还会受第三方厂商的控制,与许多手机终端厂商的商业模式也可能发生冲突。本文提出的网页压缩技术,完全依赖客户端的运算能力,对原始网页进行压缩,在成本控制和产品集成上都有着较大的优势。
现在除了在手机上,在其他手持移动终端上,由于屏幕及内存等原因,上网也存在同样的问题。
发明内容
针对上述问题,本发明提供一种应用于移动终端的网页压缩方法,有效增强了移动终端浏览器的网页浏览速度。
为达到上述目的,本发明提供如下技术方案:
一种应用于移动终端的网页压缩方法,该方法首先分别对html文档和css文档进行解析,生成文档对象模型树以及渲染树,根据html文档中的链接下载所需的资源,最后将资源嵌入在网页文档中进行渲染并呈现网页;在生成文档对象模型树之后进行网页压缩,并在网页压缩后再根据html文档中的连接下载所需资源。
所述网页压缩包括如下步骤:
步骤一、将网页划分为不同的内容块;
步骤二、将不同的内容块根据与网页主题的相关度划分为主题内容集合以及非主题内容集合;
步骤三、将非主题内容集合中的元素与主题内容集合中元素进行相似度比较,相似度低于设定阈值的,则过滤非主题内容集合中的元素,如果相似度高于设定阈值的,则保留该主题内容集合中的元素。
本发明采用将网页划分为主题内容和非主题内容对网页进行分析,过滤掉与网页主题相似度不高的非主题内容,从而达到了网页压缩的目的,其具有以下几点优点:
1、对网页的内容进行分析,与网页的主题不相关的非主题内容将被作为噪声被过滤,增强了浏览体验;
2、过滤基于主题内容和非主题内容的相似度比较,运算复杂度低,消耗资源少,适用于运算资源有限的移动终端;
3、过滤可以去除大量的无用资源链接,如广告图片,标识等,减少了移动终端流量消耗。
具体实施方式
下面结合说明书附图对本发明的具体实施方式做详细描述。
请参阅图1,是移动终端对已下载的网页进行解析渲染流程图:首先分别对html文档和css文档进行解析,生成文档对象模型树(DOM Tree)以及渲染树(Rendering Tree),然后利用本发明提供的网页压缩方法压缩网页,根据html文档中的链接下载所需的资源(图片,音频视频等多媒体元素);下载完成之后,浏览器就可以将资源嵌入在网页文档中进行渲染并呈现网页。
请参阅图2,是本发明提供的应用于移动终端的网页压缩方法的原理流程图。
步骤201,将网页划分为N个不同的内容块;
步骤202,将N个不同的内容块根据与网页主题的相关度划分为x个主题内容以及y个非主题内容(x≥1,y≥1,x+y=N);
步骤203,将y个非主题内容分别和x个主题内容进行相似度比较;
步骤204,如果两者的相似度低于用户设定的阈值,则执行步骤205,如果相似度高于用户设定的阈值,则保留该非主题内容;在相似度的对比过程中,可设定y个非主题内容逐一与x个主题内容中其中一个主题内容比较时相似度低于用户设定的阈值,则执行步骤205;
步骤205,过滤该非主题内容,并执行步骤207;
步骤206,保留该非主题内容,并执行步骤207;
步骤207,判断非主题内容是否已经比较完毕,如果已比较完毕,则返回执行步骤203,继续进行下一非主题内容的比较,如果是,则结束该流程。
在上述步骤201中,将网页内容划分N个内容,具体包括如下步骤:
步骤2011,遍历DOM树,根据DOM树中不同的标签,将整个网页划分成为N个内容块。内容块划分的粒度越细,网页的压缩效果越好,但是相应也会增加运算量。故内容块划分的粒度可以根据不同移动终端的硬件配置进行适配,比如,处理器主频低于200M,用户可支配内存低于20M byte的移动终端,划分的粒度可以局限于DOM树的第三层;更高配置的手机终端可以采用更细的粒度划分。
在上述步骤202中,将内容块划分为主题模块集合和非主题模块集合,具体包括如下步骤:
步骤2021,获取内容块j的权重CWj,即内容块j权值在网页划分的所有内容块中占据的比重,Wj代表内容块j的权值,:
公式1
权值Wj主要根据内容块j位于网页的位置以及该内容块j内链接的MIMETYPE(资源的媒体类型)进行衡量:如果该内容块j位于网页的中部或者中上部,则增加该内容块j的权值;如果内容块j内链接的MIME TYPE与当前浏览的网页内容相关度高,则增加权值,例如,当前的网页属于视频网站,则该内容块j的flv类型的链接可以增加该内容块j的权值。
例如,如果一个网页包括多个文本块和多个视频块,而该网页属于新闻网站,则将网页中间区域及中间区域以上的文本的权值设置为10,非中间区域的文本块根据距离中间区域的远近可在【1,6】的范围内取值;此外,文本块内链接的MIME TYPE因为和网页类型相同,则权值可在【7,9】的范围内取值,按照如上标准可以得到内容块j的权值Wj,根据公式1可以计算得到内容块j的权值CWj。
步骤2022,根据权重将N个内容块划分为主题内容集合C(C1,C2,…Ck,…CK),和非主题内容集合θ(θ1,θ2,…θk,…θN-K),其中K<N。
当内容块j的权重CWj大于设定阈值时,该内容块j就可以被认为是主题内容集合,反之,则该内容块j被划分为非主题内容集合。
上述设定阈值的选取可由用户自定义,在具体移动终端浏览器设置中,可为用户提供一配置界面,用户可在该配置界面内调节所述阈值大小。
在上述步骤203中,为了进行相似度的比较,进一步包括如下步骤:
步骤2031,遍历网页中的文字,提取网页中出现过的词组,组成该网页的关键词集合。设词组的总数为n,则该网页的关键词组合为T(T1,T2,…Ti,…Tn);
步骤2032,为每个内容块构建特征向量W(w1,w2,…wi,…wn)。该特征向量包含n个分量(n为该网页中词组的总数),每个分量由关键词集合T(T1,T2,…Ti,…Tn)中的每个元素在该内容块中的词频计算得到,计算公式描述如下:
公式2
其中,Tfij为关键词Ti在内容块j中的词频,CWj为内容块j的权重。
步骤2033,计算非主题内容集合θ(θ1,θ2,…θk,…θN-K)内元素的特征向量与主题内容集合C(C1,C2,…Ck,…CK)内元素的特征向量的余弦距离,该余弦距离可以作为非主题内容模块与主题内容模块的相似度的衡量标准。相似度低于某个阈值的非主题内容模块将被认为是需要被过滤的内容,这些模块可以从DOM树中移除。所述阈值的选取根据用户的个人设定有关,一般终端产品中,浏览器可提供一个配置界面,用户可根据实际应用调整该阈值。
相似度的计算公式如下,其中Xi和Yi分别代表了进行相似度运算的特征向量的第i个分量:
公式3
以上,仅为本发明的较佳实施例,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求所界定的保护范围为准。