网页渲染方法及装置的制造方法

文档序号:9235280阅读:232来源:国知局
网页渲染方法及装置的制造方法【
技术领域
】[0001]本发明涉及网页,尤其涉及网页渲染方法及装置。【
背景技术
】[0002]近年来,随着网络技术的迅猛发展,互联网上的信息也越来越多。如何从海量的互联网信息中有效地提取、利用并呈现这些信息成为挑战。在这样的背景下,发展出了用于网页搜索和网页转码的大型系统。[0003]在这些网页搜索和转码系统中,需要网页分析作为基本的计算手段。网页分析例如可以用于提取网页主体,去除网页杂质信息,或是识别网页结构。一般而言,根据视觉位置可将网页分为若干结构块(即,网页块),例如位于网页顶部的导航块、位于网页左或右侧的推荐列表块、以及位于网页中心的正文块等。进行上述网页分析都需要对各网页块的视觉信息进行识别,即,对各网页块在整个网页中的绝对坐标、大小及可见性等特征进行确定和识别。[0004]由上可知,网页视觉信息分析是进行上述网页搜索和网页转码等所必须进行的处理。现今的浏览器内核提供了强大的网页视觉信息渲染功能。但强大渲染功能的实现是以牺牲处理速度为代价的。例如,对于主流的火狐(firefox)浏览器,其浏览器内核的渲染速度经测试只能达到每秒10?20个页面。这样的渲染速度对于每日都需要处理上亿级别网页的搜索/转码服务的网页分析而言显然是不可接受的。[0005]从搜索/转码网页分析的功能需求来讲,网页视觉信息的渲染并不需要像浏览器要求的那么精确。比如说,对于供用户浏览的网页渲染而言,哪怕只是一个字符的视觉错位都会是难以接受的。但用于网页分析的网页渲染则可以容忍字符级别的视觉错位,仅要求网页块视觉布局的准确性。[0006]因此,需要一种在功能上能够保证网页块视觉显示的准确性,同时在性能上能够满足搜索/转码网页分析批量处理的速度要求的网页渲染方法和装置。【
发明内容】[0007]本发明所要解决的一个技术问题是提供一种网页渲染方法和装置,其能够在保证网页块视觉显示的准确性的同时实现能够满足搜索/转码网页分析批量处理的速度要求的网页渲染。[0008]根据本发明的一个方面,公开了一种网页渲染方法,包括:将网页中的超文本标记语言(html)标签作为节点并引入层叠样式表(CSS)信息,以创建包含视觉信息的网页树状结构(VisualTree),其中CSS信息包括节点的显示属性;计算所述VisualTree中节点的大小和绝对坐标;以及根据节点的大小、坐标和显示属性来计算节点的可见性,以完成对网页的渲染。[0009]由此,通过使用本发明定义的VisualTree,实现对组成网页的各个网页块的大小、绝对坐标进而对可见性的计算,由此完成对网页的快速渲染。[0010]优选地,VisualTree上的节点是与渲染布局有关的节点。[0011]这样就将需要处理的节点进一步限定为那些涉及渲染布局的节点,从而排除对例如无需显示的节点的相关计算,由此进一步提高计算效率。[0012]优选地,步骤计算所述VisualTree中节点的大小和绝对坐标包括:对VisualTree进行后根遍历以计算节点的大小和相对坐标;以及根据节点的所述大小和相对坐标,对VisualTree进行先根遍历以计算节点的绝对坐标。[0013]这样就进一步明确了是使用自下而上的方式计算节点的大小和相对坐标,并使用自上而下的方式计算节点的绝对坐标,由此进一步提高了对各网页块大小和坐标的计算速度。[0014]优选地,所述方法在计算所述VisualTree中节点的大小和绝对坐标之前还包括:将VisualTree上的所有节点分类为表格(table)节点或非table节点。[0015]这样,通过分类节点来优化计算,从而提高网页渲染的效率。[0016]优选地,非table节点包括块级节点、内联节点和浮动节点,并且对VisualTree进行后根遍历以计算节点的大小和相对坐标进一步包括:使用棋盘布局算法计算table节点的大小;并且/或者使用画布布局算法计算块级节点和浮动节点的大小,并根据CSS信息算出算出内联节点的大小;以及使用画布布局算法计算上述table节点、块级节点、浮动节点和内联节点的父节点的大小并得出上述节点的相对坐标。[0017]这样,通过对不同的节点是要不同的算法来明确和优化对节点大小和相对坐标的具体计算,能够进一步加快计算速度,从而提高网页渲染的效率。[0018]优选地,根据节点的所述大小和相对坐标对VisualTree进行先根遍历以计算节点的绝对坐标包括:将根节点的绝对坐标初始化为(0,O),使用如下公式计算每个节点的绝对坐标,直到最末梢的节点为止:绝对坐标=父节点的绝对坐标+相对坐标。[0019]这样,通过首先将根节点的绝对坐标定为原点,再根据已知的各下层节点的相对坐标求取绝对坐标,就能够进一步改善对网页块所处位置的计算,从而提高网页渲染的效率。[0020]优选地,计算节点的可见性包括:根据根节点的大小、绝对坐标以及显示属性来计算根节点的可见性;以及从根节点向下遍历计算各子孙节点的可见性。[0021]这样就进一步明确了可见性的计算是从根节点开始使用自下而上的方式进行的,由此进一步提高了对各网页块可见性的计算速度,并最终提高网页渲染速度。[0022]优选地,各子孙节点的可见性与其祖先节点的可见性相关。[0023]这样就进一步明确了可见性自上而下的决定方式,进一步方便对网页的渲染。[0024]根据本发明的另一个方面,公开了一种网页渲染装置,包括:创建单元,用于将网页中的html标签作为节点并引入CSS信息以创建包含视觉信息的网页树状结构(VisualTree),其中CSS信息包括节点的显示属性;大小及绝对坐标计算单元,用于计算所述VisualTree中节点的大小和绝对坐标;以及可见性计算单元,用于根据节点的大小、绝对坐标和显示属性来计算节点的可见性以完成对网页的渲染。[0025]优选地,大小及绝对坐标计算单元包括:大小及相对坐标计算单元,用于对VisualTree进行后根遍历以计算节点的大小和相对坐标;以及绝对坐标计算单元,用于根据节点的所述大小和相对坐标来对VisualTree进行先根遍历以计算节点的绝对坐标。[0026]优选地,网页渲染装置还包括:分类单元,用于将VisualTree上的所有节点分类为table节点或非table节点。[0027]优选地,非table节点包括块级节点、内联节点和浮动节点,并且所述大小及相对坐标计算单元还包括:table节点大小计算单元,用于使用棋盘布局算法计算table节点的大小;和/或非table节点大小计算单元,用于使用画布布局算法计算块级节点和浮动节点的大小,根据CSS信息算出内联节点的大小;以及相对坐标计算单元,用于使用画布布局算法计算上述table节点、块级节点、浮动节点和内联节点的父节点的大小并得出上述节点的相对坐标。[0028]由此,就为实现依据本发明的快速网页渲染提供了装置上的支持。【附图说明】[0029]通过结合附图对本公开示例性实施方式进行更详细的描述,本公开的上述以及其它目的、特征和优势将变得更加明显,其中,在本公开示例性实施方式中,相同的参考标号通常代表相同部件。[0030]图1是根据本发明的一个实施例的网页渲染方法的示意性流程图。[0031]图2是图1所示步骤S200可以包括的子步骤的流程图。[0032]图3是图1所示方法的一个可选步骤S150的流程图。[0033]图4是图2所示步骤S210可以包括的子步骤的流程图。[0034]图5是棋盘布局算法的一个例子的示意图。[0035]图6是画布布局算法的一个例子的示意图。[0036]图7是根据本发明的一个实施例的网页渲染装置的示意性方框图。[0037]图8是图7所示大小及绝对坐标计算单元200的可选内部结构的示意性方框图。[0038]图9是图7所示网页渲染装置中可选包括的分类单元的示意图当前第1页1 2 3 4 
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1