[发明专利]动态网页的分块方法无效
申请号: | 200710110675.1 | 申请日: | 2007-06-08 |
公开(公告)号: | CN101127044A | 公开(公告)日: | 2008-02-20 |
发明(设计)人: | 梅宏;周明辉;曹东刚;林泊;文沛 | 申请(专利权)人: | 北京大学 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 北京君尚知识产权代理事务所 | 代理人: | 余长江 |
地址: | 100871*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 动态 网页 分块 方法 | ||
技术领域:
本发明涉及计算机网络的动态网页技术领域,尤其涉及一种动态网页的分块方法。
背景技术:
从上世纪90年代以来,随着网络相关技术的逐渐成熟,广域网(WWW)上的信息资源经历了爆炸性的增长,网页的数量极大丰富。网页可按其生成方式分为两种:其内容全部以文件的形式存储在硬盘上,服务器响应用户请求时不加修改地传给客户端浏览器的网页称为静态网页;而其内容在服务器响应客户端请求期间通过运行某种程序逻辑生成的则称为动态网页。
在互联网发展的早期,静态网页是网页存在的主要形式;而从上世纪九十年代末开始,随着各种网页脚本技术的日渐成熟,动态网页的应用范围则越来越广。今天,绝大多数网站(如新闻门户站,blog,论坛等)的页面都是通过动态网页技术生成。这些大量的动态网页通常在一段时间内,或者多个不同网页之间,其生成的内容是一样的,但是对于每个用户请求这些生成同样网页内容的程序逻辑都会被执行,造成了计算资源的大量浪费。网页缓存技术可以从一定程度上缓解这种浪费,在一定程度上提高网络服务器的用户请求服务能力。
现有大多数缓存技术在处理静态网页上已经非常成熟和有效,但是,针对动态网页本身的特性(随时间、用户等因素发生改变,用户对于不同动态网页的时效性需求不同),这些技术并没有提供非常好的解决方案。
为了解决这个问题,IT界尝试了若干种不同的途径,其中,基于分块的网页发布和缓存技术应用最为广泛,并成功地实现了商业化,比如XCache(参考http://www.xcache.com)、OSCache(参考http://www.opensymphony.com/oscache/)等。所谓分块,是指网页中具有特定主体或功能并且同网页其他内容有一定区别的部分(见图1)。从概念上来讲,一个web页面可以看作具有不同生命周期、功能和特性的分块的集合。web页面仅仅维护对这些分块的引用,这些分块可以被存储在物理上相互分离的主机中。
基于分块来进行web页面的缓存可以将缓存的粒度进行细化,并且可以对易于变化的部分和变化相对较不频繁的部分分别进行特别处理,从而提高整个页面内容的可缓存性,同时,由于web页面仅仅维护对独立存储分块的引用,利于提高磁盘使用效率。
但是,基于分块的web缓存技术依赖于管理员或网页设计人员手动地对页面进行划分,并采用各种各样的标记在web页面中显式地指定。这种方法不仅耗费人力,容易出错,维护起来相当困难,并且欠缺可分布性。
发明内容:
本发明的目的是提供一种动态网页的分块方法,以自动的方式完成,避免管理员或网页设计人员手动地对页面进行分块的划分。
本发明的动态网页的分块方法,其步骤包括:
1.将应用户请求生成的动态网页内容流分别生成相应的不包含格式化结点的扩展DOM树;其中扩展DOM树的节点包括下列信息:
节点值:叶节点的值即该节点所包含的网页文本的内容;内部节点的节点值为空;
子树值:叶节点的子树值即该节点的节点值;内部节点的子树值为该节点所有儿子的子树值的以及节点本身的节点值的串接;
2.对上述节点进行特征编码:
对长度为N的DOM树节点,取其所有长为W的子串;
对每个子串进行哈西运算,得到该子串的哈西运算值;
对(N-W+1)个上述哈西运算值,取S个最小的值构成的向量作为该节点的特征编码;
3.遍历各DOM树节点,比较各DOM树对应节点的特征编码值;
4.将超过设定个数的相同或相似节点对应的网页内容设定为共享分块。
上述节点的比较过程为:
1.将上述DOM树的节点序列按照其字节大小分放到具有不同大小范围的一系列桶(桶为一种数据结构,可以用链表或数组实现)当中。
所有节点在这些桶当中呈平均分配,即每个桶中节点的数量大致相同。由于共享分块的大小必定相同,大小差别较大的节点完全没有必要进行比较,所以先用桶对节点进行一次分类,使得下一步中的比较操作尽可能减少。
2.比较各桶中对应节点的特征编码,将相同或相似的节点放到一个组(组就是数学上的集合,其实现实际上跟桶是一样的,既可以用链表,也可以用数组,只是因其使用目的不同,所以用不同的名字)当中;
3.当组中的节点个数大于设定值时,设定该节点对应动态网页的内容为共享分块。
将放到组中的节点的子节点从桶中移除。
所述相似节点为:一节点与另一节点的特征编码值的交集与并集的比值大于设定的阈值,则两节点为相似节点。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京大学,未经北京大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200710110675.1/2.html,转载请声明来源钻瓜专利网。