一种数字电视的浏览器系统的制作方法

文档序号:7894398阅读:110来源:国知局

专利名称::一种数字电视的浏览器系统的制作方法
技术领域
:本发明涉及数字电视
技术领域
,尤其涉及ー种数字电视的浏览器系统。
背景技术
:在数字信息技术和网络技术高速发展的今天,嵌入式技术和人们生活的关系越来越密切。嵌入式操作系统广泛应用于高端嵌入式产品(如机顶盒、PDA、移动电话等)以及实时控制领域(如エ控、数据采集、仿真等)。目前的重点在高端嵌入式产品,在其上开发的应用程序主要有嵌入式浏览器。随着嵌入式硬件设备,尤其是移动设备的发展,嵌入式设备上网成为趋势。目前数字电视可以通过有线上网,随着3G时代的来临,移动上网也将越来越方便。浏览器,作为PC机上访问网络的主要工具,也将作为主要的应用软件存在于各种各样的嵌入式设备上。目前嵌入式浏览器开发面临的是操作系统、硬件设备多祥化的复杂软硬件环境,如果嵌入式浏览器可以减少对平台的依赖,将有利于其应用和发展。虽然目前嵌入式设备上网访问内容有限,对浏览器的功能要求相对于通用浏览器来说不是很高。然而根据摩尔定律,嵌入式设备也将飞速发展,浏览器应该具有一定的扩展性适应这种发展。因此,嵌入式平台需要的是可以满足基本功能,平台依赖性小,而且扩展性好的浏览器。嵌入式浏览器首先必须是一个网络信息浏览器,支持HTTP或者WAP等其它传输协议,支持HTMUJavaScript或扩展XML等标记语言,可以完成网页的浏览功能;其次,这个浏览器必须适合在非PC的嵌入式信息设备中存在、运行并完整实现通信传输协议、标记语言所规定的功能,必须能够根据嵌入式设备的多祥性需要而方便地进行裁减和修改,并满足信息设备使用者对获取文字、图像、声音、视频等多媒体信息的需求。现有的面向数字电视的嵌入式浏览器系统,图I示出了本发明实施例中的浏览器系统流程示意图,其主要实现的是在数字电视机顶盒内上网浏览互联网资源信息的这个功能,为机顶盒提供ー个能够浏览网页的浏览器,普通用户通过机顶盒就能够浏览天气预报、股票信息、网上商品、三农信息、远程教育等广播数据,它的主要模块包括文件获取模块(包括协议请求模块、预取模块)、缓存管理模块、解析模块(包括HTML解析器、CSS解析器、JavaScript解析器和DOM模块)、布局模块和显示模块(包括⑶I和视窗管理模块)。文件获取主要作用就是采用HTTP协议下载HTML网页;缓存功能,在毎次有网页请求的时候,浏览器先要查找缓存。如果找到了,就直接返回请求函数,否则调用底层协议建立新连接;页面解析模块主要是对页面的HTML、JavaScript,CSS进行分析,然后进行解析;布局模块就是对解析的结果(不包含位置信息的DOM树)进行位置计算、元素排列等处理的模块;显示模块负责将布局之后的页面进行显示。该嵌入式浏览器系统具有体积较大、显示效果差、难以移植以及对不能有效处理图像等缺点。随着数字电视机顶盒终端的发展,机顶盒硬件性能得到了较大的提升,可以有效的对图像等不易处理的元素进行高效处理,显示效果也越来越好,因而可以对该嵌入式浏览器进行有效的改迸。该嵌入式浏览器的功能比较简单,不具备复杂的数据交互功能,用户只能被动的去接收网络上广播的数据。随着数字家庭技术的发展,用户希望能与数字电视进行动态的交互,这就需要数字电视机顶盒终端提供ー个可以上网、收发邮件、视频点播以及玩在线游戏等功能強大具有复杂交互功能的机顶盒嵌入式浏览器。
发明内容基于现有技术存在的问题,本发明设计了ー种数字电视的浏览器系统,能够实现在数字电视机顶盒内上网浏览互联网资源信息、收发邮件、视频点播以及玩在线游戏的功能,具备复杂的用户与网络交互功能。该系统在減少平台的依赖性、浏览器行为的定制、良好的模块化和可扩展性方面有较大的优势,为嵌入式浏览器开发提供了一定的理论基础。基于上述问题,本发明实施例提供了一种基于数字电视的浏览器系统,包括文件传输模块,用于从网络上下载网页,并将网页传送到本地缓存供浏览器系统调用;缓存管理模块,用于缓存文件传输模块从网络下载的资源;页面解析模块,用于对缓存管理模块中缓存的网页进行解析;页面布局模块,用于计算标签标示内容在网页上占据的区域块的大小;人机交互模块,用于负责提供与用户间的交互接ロ;页面显示模块,用于将解析的页面在数字电视终端上显示。所述文件传输模块用于接收人机交互模块的消息,或者提取页面解析模块中的消ο所述浏览器系统通过HTTP协议连接远程服务器,或者通过本地文件协议打开本地存储网页文件,或者通过对象轮播OC数据广播的方式截取网页数据。所述缓存管理模块用于负责网页缓存、图像数据的保存和淘汰。所述页面解析模块用于将网页解析成ー个个的标记,再将标记分解成ー个个的标签以及标签的属性信息,并采用DOM对象树模型构建网页内容。所述页面布局模块用于读取页面解析模块传来的布局链,从根节点开始遍历布局链,根据每个节点的对象类型调用不同对象的处理函数读取节点的属性,并计算出对象的大小,并在页面的相应位置上把对象的大小和位置填入显示信息域中。所述人机交互模块用于负责接收和处理用户明了井向其他功能模块发出控制信息,并将程序内部出错信息以及友好的形式提交给用户。综上,通过实施本发明实施例,该嵌入式浏览器系统设计包括了了浏览器的基本功能,能够较良好地显示网页、图片,有一定的网页容错能力,用户操作也非常简单,浏览速度较快,具有较好地可移植性,具有良好的性能,也极大降低了数字电视节目和服务提供商和数字电视生产商的开发成本。为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。图I是现有技术中的数字电视的浏览器系统的方法流程图;图2是本发明实施例中的基于数字电视的浏览器系统结构图;图3是本发明实施例中的文件传输模块的工作流程;图4是本发明实施例中的DOM对象树结构示意图。具体实施方式下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。本发明实施例中的基于数字电视的嵌入式浏览器系统如图2所示,嵌入式浏览器与普通的浏览器具有相同的功能,他们都安装在客户端,是用户使用网络资源的有力手段。不同之处在于,嵌入式浏览器运行在嵌入式系统中,而嵌入式系统软硬件资源有限,因而嵌入式浏览器代码大小,运行速度就成为了重要參数。这就要求嵌入式浏览器必须尽量減少代码所占空间,运行时所占空间,提高效率。由于嵌入式硬件平台的多祥性,因而希望嵌入式浏览器能够多支持一些硬件平台,具有较好的可移植性。嵌入式浏览器从两个方面进行描述。第一,它必须是ー个网络信息浏览器,必须支持HTTP或者WAP等其它传输协议、支持ー种或几种标记语言,如HTML、XHTML、WML或扩展XML,可以完成网页的浏览功能;第二,这个浏览器必须适合在非PC的嵌入式信息设备中存在、运行并完整实现通讯传输协议、标记语言所规定的功能,必须能够根据嵌入式设备的多样性需要而方便地进行裁减和修改,同时满足信息设备使用者对获取文字、图像、声音、视频等信息地要求。本发明实施例中的浏览器系统先在缓存中查找所需要的网页,如果存在,则直接使用,否则再从网络上获取网页,然后分析出文档中具有独立意义的片段,如HTML标记、JavaScript标记、CSS标记等,分别对这些标记中的内容进行解析,形成DOM对象树模型,最后由页面布局显示模块对解析模块生成的网页对象进行渲染呈现。一种面向数字电视的嵌入式浏览器系统如图2。本发明实施例中的浏览器系统主要包括以下几个模块文件传输模块、缓存管理模块、页面解析模块、人机交互模块、页面布局模块、页面显示模块,其中文件传输模块是用来传输文件的,主要负责从网络上下载网页,并将这些网页传送到本地缓存起来共嵌入式浏览器系统调用;缓存管理模块主要负责暂时存储嵌入式浏览器系统从网络上下载的资源,如网页以及网页中的图片、视频、音频等,当嵌入式浏览器需要数据时,先从缓存中进行查找,如果数据在缓存中,则直接调用,否则由文件传输模块到网络上下载该数据,再将该数据传送到缓存中;页面解析模块是嵌入式浏览器系统的核心模块,主要负责对网页进行解析,网页在结构上是由ー个个标签嵌套而成的,在逻辑上是ー个树型结构,嵌入式浏览器根据网页的标签内容以及结构将网页解析成ー个个标记,这些标记根据它们在页面上的逻辑关系构建ー个树状结构,这个树状结构就是DOM树,DOM树中的姆ー个节点保存了其对应标签的详细信息,例如该标签表示的内容以及这些内容的颜色、所占区域的长与宽等等;页面布局模块主要负责计算标签表示内容在页面上占据的区域块的大小,用矩形来表示,该矩形的位置以及大小用其左上角的坐标以及其长度与宽度来表示;人机交互模块主要负责用户与网页之间的交互,如密码的正确性检验等等,用户与网页所在的服务器有着大量的数据请求与响应,因为用户在交互时都需要请求网页数据;页面显示模块主要负责网页在数字电视终端上渲染与显示。基于图2中的浏览器系统,其具体实现过程如下Stepl:当用户打开嵌入式浏览器向网页服务器请求数据时,嵌入式浏览器的文件传输模块首先从网络上访问该服务器并下载网页资源;St印2:网页资源经下载后由缓存管理模块存储在本地缓存,嵌入式浏览器的缓存模块主要存储文件传输模块下载的网页资源,如HTML网页、图片、多媒体文件等等,浏览器每次请求网页数据时,文件传输模块首先要查找缓存中是否已有该网页数据,如果有,则从缓存中读取数据,如果没有,再向服务器请求数据;Step3:页面解析模块对从服务器上获取的网页进行解析,形成文档对象树,即DOM树;St印4:在形成DOM-Tree后,页面布局模块根据每个可显示DOM树结点形成ー个Render结点(图形渲染结点),为所有Render结点形成ー棵Render树并对其进行排版;St印5:最后由页面显示模块根据Render树进行页面绘画;Step6:页面显示之后,如果有用户要与网页服务器进行交互,人机交互模块则获取用户的操作,并响应,回到stepl,否则跳到Step7;Step7:结束。文件传输模块可以看作是ー个相对较为独立的模块,该模块在两种情况下可能会被触发运行,一是来自人机交互模块的消息,当用户用遥控按下ー个新的链接焦点,则人机交互模块将会调用文件传输模块;ニ是来自解析模块,当解析模块解析得到如<img>等标记中有图片地址时,也可能调用文件传输模块从指定的地址取得数据。网络接ロ的操作依赖于ー些标准的协议族,本文中的浏览器支持对象轮播协议,为扩展功能,也预留了HTTP、WAP等其它传输协议的接ロ。其核心部分是协议请求,负责向服务器端请求网页数据。另夕卜,浏览器还支持网页预取和缓存功能,浏览器每次请求网页数据时,文件传输模块首先要查找缓存中是否已有该网页数据,如果有,则从缓存中读取数据,如果没有,再向服务器请求数据。数据到来后,就对其进行协议解析,生成浏览器内部可以理解的数据结构。文件传输模块的工作流程图如图3所示,其具体步骤如下Stepl:判断用户输入的URL是否合法,如果合法则跳到St印2,否则跳到St印8Step2:判断协议类型,如果是文件传输协议,则跳到Step3,如果是http协议,则跳到Step4,如果是OC协议,则跳到Step5;St印3:通过文件系统打开本地网页;Step4:以Socket通信的方式连接到服务器,请求数据;St印5以OC数据广播的形式截取网页;St印6:判断获取网页是否成功,如果成功,则跳到St印7,否则跳到St印8;St印7:返回网页数据,并将网页下载到本地缓存存储起来;Step8:网页请求失败,返回失败类型;St印9:文件传输结束。在图3中,浏览器可采用三种方式请求网页通过HTTP协议链接远程web服务器、通过本地文件协议打开本地存储网页文件、或通过对象轮播(ObjectCarousel,0C)数据广播的方式截取网页数据。支持OC数据广播的方式获取网页数据是基于数字机顶盒的浏览器具有的独特之处。缓存管理模块主要负责网页、图像数据的保存、淘汰等操作,用户或解析模块的每次请求,由缓存管理模块根据缓存数据决定是否调用传输模块。网页缓存的作用主要有节省网络带宽、増加网络的可靠性、减轻服务器的负担、减少网络延迟,提高浏览速度。但是,这种被动的缓存机制只是利用了访问模式的时间局部性,对于未曾访问过的文档内容无法缓存,必须在浏览器发出请求之后,从源服务器获取,响应性能得不到改善。研究表明,缓冲的命中率在24%到45%之间,一般不会超过50%。所以,我们在缓存的基础上增加了ー个网页预取模块,在缓存空间有限和替换算法一定的条件下,预取技术是缓存技术的有效补充手段。解析模块是嵌入式浏览器的ー个核心组成部分。解析的好坏直接影响着布局显示,所以解析模块在整个浏览器中具有重要的地位。解析的主要功能将网页解析成ー个个的标记,再将这些标记分解成一个个的标签,还有标签的属性信息,为DOM树的构建提供前提条件。网页解析主要分为词法分析和语法分析,词法分析的任务主要是对输入的字节流进行逐字扫描,根据HTML标准定义的构词规则识别网页标记、、,语法解析负责对分离出的标记进行语法检测,根据HTML标准指定的标签类型,对网页进行进一歩的解析,分离出ー个个标签以及标签的属性。但词法分析与语法分析并没有严格的区别开来,一般为了节省内存空间而将词法解析与语法解析合并在一起进行处理。本文主要采用DOM对象树模型在内存中存储网页。在对象树模型中,文件的每ー节点都被称为属性。而且它是完整的,对文件最小细节它都允许进行模型化而且可以访问。它对修改也是最不敏感的ー种模型。因此在高端嵌入式设备中,有较大的内存和较高的运行速度,要提供对HTML语言扩展,最合适的方式是采用HTMLDOM对象树来实现。如图4D0M对象树所示。任何一个网页都是以图4的树型结构存储在内存之中。DOM对象树的根节点是网页的根标签html对应的对象节点,它有2个子节点head与body。head是网页头信息,一般包括两个节点meta与title,meta节点存储的是一些说明性信息,title节点存储的是网页名信息。body节点是文档体信息,它的子节点个数不定,根据文档的内容与结构而定,像table、button等一般都是body的子节点,table节点的子节点有行节点tr。DOM对象树是HTML解析的核心结构,人机交互的操作都是基于DOM对象树。页面布局与页面显示模块负责对解析模块生成的网页对象(文本、图片、图形控件等)确定其显示位置并在视频终端显示。其工作流程是这样的布局器首先读取由解析器传来的布局链,布局从根节点开始遍历布局链。根据每个节点的对象类型,调用不同对象的处理函数,相应的处理函数会读取该节点的属性,并计算出这个对象的大小,在页面中的位置,然后再把该对象的大小和位置填入显示信息域中。人机交互模块负责接收和处理用户命令并向其它功能模块发出控制信息,以及将程序内部出错信息以友好的形式提交给用户,用户的命令都是通过点击屏幕上的焦点来实现的。综上,通过实施本发明实施例,该嵌入式浏览器系统设计包括了了浏览器的基本功能,能够较良好地显示网页、图片,有一定的网页容错能力,用户操作也非常简单,浏览速度较快,具有较好地可移植性,具有良好的性能,也极大降低了数字电视节目和服务提供商和数字电视生产商的开发成本。以上对本发明实施例所提供的基于数字电视的浏览器系统进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。权利要求1.一种基于数字电视的浏览器系统,其特征在于,包括文件传输模块,用于从网络上下载网页,并将网页传送到本地缓存供浏览器系统调用;缓存管理模块,用于缓存文件传输模块从网络下载的资源;页面解析模块,用于对缓存管理模块中缓存的网页进行解析;页面布局模块,用于计算标签标示内容在网页上占据的区域块的大小;人机交互模块,用于负责提供与用户间的交互接口;页面显示模块,用于将解析的页面在数字电视终端上显示。2.如权利要求I所述的基于数字电视的浏览器系统,其特征在于,所述文件传输模块用于接收人机交互模块的消息,或者提取页面解析模块中的消息。3.如权利要求I所述的基于数字电视的浏览器系统,其特征在于,所述浏览器系统通过HTTP协议连接远程服务器,或者通过本地文件协议打开本地存储网页文件,或者通过对象轮播OC数据广播的方式截取网页数据。4.如权利要求I所述的基于数字电视的浏览器系统,其特征在于,所述缓存管理模块用于负责网页缓存、图像数据的保存和淘汰。5.如权利要求I所述的基于数字电视的浏览器系统,其特征在于,所述页面解析模块用于将网页解析成一个个的标记,再将标记分解成一个个的标签以及标签的属性信息,并采用DOM对象树模型构建网页内容。6.如权利要求I所述的基于数字电视的浏览器系统,其特征在于,所述页面布局模块用于读取页面解析模块传来的布局链,从根节点开始遍历布局链,根据每个节点的对象类型调用不同对象的处理函数读取节点的属性,并计算出对象的大小,并在页面的相应位置上把对象的大小和位置填入显示信息域中。7.如权利要求I所述的基于数字电视的浏览器系统,其特征在于,所述人机交互模块用于负责接收和处理用户明了并向其他功能模块发出控制信息,并将程序内部出错信息以及友好的形式提交给用户。全文摘要本发明实施例公开了一种基于数字电视的浏览器系统,包括文件传输模块,用于从网络上下载网页,并将网页传送到本地缓存供浏览器系统调用;缓存管理模块,用于缓存文件传输模块从网络下载的资源;页面解析模块,用于对缓存管理模块中缓存的网页进行解析;页面布局模块,用于计算标签标示内容在网页上占据的区域块的大小;人机交互模块,用于负责提供与用户间的交互接口;页面显示模块,用于将解析的页面在数字电视终端上显示。通过实施本发明实施例,该嵌入式浏览器系统设计包括了了浏览器的基本功能,能够较良好地显示网页、图片,有一定的网页容错能力,极大降低了数字电视节目和服务提供商和数字电视生产商的开发成本。文档编号H04N21/438GK102665127SQ201210122968公开日2012年9月12日申请日期2012年4月23日优先权日2012年4月23日发明者林谋广,罗笑南,詹勇申请人:中山大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1