一种数字电视交互服务标记语言解析系统及方法

文档序号:6435879阅读:137来源:国知局
专利名称:一种数字电视交互服务标记语言解析系统及方法
技术领域
本发明涉及数字电视技术领域,尤其涉及一种数字电视交互服务标记语言解析系统及方法。
背景技术
在数字家庭领域,用户对于数字电视互动应用和服务有着非常巨大的市场需求。 然而目前对于数字电视互动应用的页面呈现并没有统一的标准,各个厂商在页面渲染、页面标记元素解析、页面信息交换和传输等方面有着非常大的差异,同时页面呈现的实现方式也与各个厂商具体的设备和硬件紧密耦合。由于页面标记技术和实现方式的不统一,导致了同一个服务和应用不能在不同厂商的终端设备上面运行,并且不同的应用和服务之间也难以进行信息的共享和数据的交换,这极大的阻碍了数字电视互动应用和服务的发展和普及。目前大部分浏览器大部分都是基于个人电脑或者手机上的应用,致使其核心的解析引擎不能很好的应用到我们数字电视交互服务标记语言上,这些浏览器的核心对数字电视交互服务标记语言支持不完备,同时这些引擎大部分都要占用大量的计算机资源,不适合嵌入式资源较少这一特性,现有的软件优化方法在很大一定程度上并不适合所有的嵌入式系统,随着其应用的不断深入,软件优化方法不能很好的满足应用的需求,仅仅对应用程序的裁剪和优化是不够的。并且在数字电视的应用环境中,数字电视机顶盒更多地只是作为一种提供简单处理能力的终端,并不需要处理复杂的运算和业务逻辑,再加上考虑到数字电视机顶盒的普及性和成本因素,机顶盒一般只是作为一种弱终端设备。这导致了针对某个中间件产品开发的应用并不能平滑地移植到其它的中间件平台上。因此设计和实现一个能够支持数字电视交互服务标记语言解析模型显得尤为重要。在对此方法的研究和实践过程中,本发明的发明人发明了一种数字电视交互服务标记语言解析系统及方法。

发明内容
针对现有技术存在的问题,本发明提出了一种数字电视交互服务标记语言解析系统及方法。一种数字电视交互服务标记语言(HSML)解析系统,包括主要包括通信管理模块、标签解析模块、Dom模块、Render模块和布局管理模块。通信管理模块用于获取网页,CSS, XML,图片等网络资源,包括缓存管理、预取处理,网络传输和底层协议等子模块。标签解析模块用于识别标签,将网页解析成标签流,对属于数字电视交互标记语言特用的标签进行标记。DOM树生成模块用于构建DOM树,首先根据标签流生成本节点,然后获取父节点并将其加入到父节点的子几点当中,接下还要连接到其兄弟节点。Render树生成模块是在DOM树的基础上实现网页的渲染,但并不是在DOM树上直接改写,而是另外生成一棵树,生成过程与DOM类似,首先要生成本节点,然后获取父节点并将其加入到父节点的子几点当中,同时要连接到其兄弟节点,另外还应连接到对应的DOM 树节点;接着在加上节点的位置坐标,颜色等排版信息。布局管理模块对解析的结果,即不包含位置信息的DOM树进行位置计算、元素排列等方面的处理。可选的,DOM树生成模块还要实现与Render树模块的协作,对于网页中含有JS的情况,其还要调用JS引擎,并利用其解析结果来完善DOM树。可选的,布局管理模块需要计算出页面中需要显示的各个对象的位置和排列方式;布局管理模块的结果是根据DOM树生成Render树,并使Render树中的所有节点都被填充了位置信息,然后将其将其显示在屏幕上。可选的,数字电视交互服务标记语言的解析主要包括词法分析、语法分析和语义分析三个阶段,所以HSML解析器的核心是词法分析模块、语法分析模块和语义分析模块。可选的,HSML要求HSML文档必须是有效文档,所以在开始词法分析之前还需要根据HSMLDTD文档中定义的规则对文档进行有效性检查。可选的,HSML解析器在语义分析和处理阶段可以调用其他的解析模块和其它中间件或应用接口对HSML标记元素进行解析和处理。可选的,在HSML解析的过程中,对于输入的任何一个符号,最多只有一个转换,并且对于任何一个读入的确定的字符串,最多只能指向一个确定的状态,因此整个解析过程采用一个确定型有限自动机(DFA)模型来描述。一种数字电视交互服务标记语言(HSML)解析方法,包括以下步骤SOl 获取相应网站资源信息流;S02:识别网络资源信息中的标签信息,将获取的网络资源信息解析成标签流,对属于数字电视交互标记语言特用的标签进行标记,通过Dom Builder按合法的html规范生成Dom树;S03 把Dom传给LayoutEngine,进行布局,如果有CSS样式,就通过CSSParser解析;S04 在构建的DOM树上构建Render树,实现网页的渲染,加上节点位置坐标和颜色排版信息;每次创建一个DOM树节点就触发创建一个对应的Render节点,实现DOM树与 Render树的同步增长。其中,步骤SOl中网站资源信息包括获取网页,CSS, XML,图片等网络资源,获取过程和解析过程同时进行,每次从网络缓冲中读取一次数据,便会触发解析引擎进行一次解析。其中,步骤S02中对于网页中含有JS的情况,其还要调用JS引擎,并利用其解析结果来完善DOM树。本发明实施提供了一种数字电视交互服务标记语言解析系统及方法,不仅能够有效提高机顶盒浏览器的解析效率,而且能够完全支持数字电视交互服务标记语言。


为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。图1是本发明中数字电视交互服务标记语言解析流程图;图2是本发明中数字电视交互服务标记语言解析系统结构图;图3是本发明HSML解析器架构及HSML解析器与其它解析模块之间的关系图。
具体实施例方式下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。本文在可扩展超文本标记语言(XHTML1.0)的基础上对数字电视交互服务标记语言(HSML)所支持的标签和接口进行了研究和设计。通过研究HSML应用的信息交换方式和解析原理,将HSML的解析过程抽象为一个确定型有限自动机模型。本发明的方法包括网络资源管理,针对数字电视交互服务标记语言网页标签的解析,简化的DOM树与Render树的生成。本发明技术方案能够实现对数字电视交互服务标记语言的完全支持以及高效解析。本发明的数字电视交互服务标记语言解析流程如图1所示,包括如下步骤SOl 获取相应网站资源信息流;这里主要是获取网页,CSS, XML,图片等网络资源。获取过程和解析过程同时进行。每次从网络缓冲中读取一次数据,便会触发解析引擎进行一次解析。S02 识别网络资源信息中的标签信息,将获取的网络资源信息解析成标签流,对属于数字电视交互标记语言特用的标签进行标记,通过Dom Builder按合法的html规范生成Dom树;其中,对于网页中含有JS的情况,其还要调用JS引擎,并利用其解析结果来完善 DOM 树。S03 把Dom传给LayoutEngine,进行布局,如果有CSS样式,就通过CSSParser解析。S04 在构建的DOM树上构建Render树,实现网页的渲染,加上节点位置坐标和颜色排版信息。每次创建一个DOM树节点就触发创建一个对应的Render节点,实现DOM树与 Render树的同步增长。数字电视标记语言解析模型与普通嵌入式浏览器的架构类似,如图2所示,主要包括通信管理模块、标签解析模块、Dom模块、Render模块和布局管理模块。通信管理模块主要用于获取网页,CSS, XML,图片等网络资源.包括缓存管理、预取处理,网络传输和底层协议等子模块。为了达到更好的效果,不需要全部的网络资源都下载完毕才开始解析,而是边下载边解析的动态过程。因而需要一个缓冲区来实现网络部分与其他部分的同步。标签解析模块主要用于识别标签,将网页解析成标签流,对属于数字电视交互标记语言特用的标签进行标记。
DOM树生成模块主要用于构建DOM树,首先根据标签流生成本节点,然后获取父节点并将其加入到父节点的子几点当中,接下还要连接到其兄弟节点。除此之外DOM树生成模块还要实现与Render树模块的协作,对于网页中含有JS的情况,其还要调用JS引擎,并利用其解析结果来完善DOM树。Render树生成模块主要是在DOM树的基础上实现网页的渲染,但并不是在DOM树上直接改写,而是另外生成一棵树,生成过程与DOM类似,首先要生成本节点,然后获取父节点并将其加入到父节点的子几点当中,同时要连接到其兄弟节点,另外还应连接到对应的DOM树节点。接着在加上节点的位置坐标,颜色等排版信息。布局管理模块主要对解析的结果(即不包含位置信息的DOM树)进行位置计算、 元素排列等方面的处理。布局管理需要计算出页面中需要显示的各个对象的位置和排列方式。布局管理模块的结果是根据DOM树生成Render树,并使Render树中的所有节点都被填充了位置信息,然后将其将其显示在屏幕上。HSML的解析主要包括词法分析、语法分析和语义分析三个阶段,所以HSML解析器的核心是词法分析模块、语法分析模块和语义分析模块。此外HSML要求HSML文档必须是有效文档(valid document),所以在开始词法分析之前还需要根据HSML DTD文档中定义的规则对文档进行有效性检查。HSML解析器架构及HSML解析器与其它解析模块之间的关系如图3所示,HSML解析器在语义分析和处理阶段可以调用其他的解析模块和其它中间件或应用接口对HSML标记元素进行解析和处理。在HSML解析的过程中,对于输入的任何一个符号,最多只有一个转换,并且对于任何一个读入的确定的字符串,最多只能指向一个确定的状态。因此整个解析过程可以采用一个确定型有限自动机(DFA)模型来描述。一个确定型有限状态自动机(deterministic finite automation,DFA)是一个能实现状态转移的自动机。对于一个给定的属于该自动机的状态和一个属于该自动机字母表 Σ的字符,它都能根据事先给定的转移函数转移到下一个状态(这个状态有可能就是先前那个状态)。一个DFA可以采用一个五元组的形式来表示A= (Q,E, S,s,F),其中Q为一个非空有限状态集合,Σ为一个输入字母表(或者说非空有限字符集合),δ :QX Σ-Q 为状态转移函数,s e Q为一个开始状态,0为接收状态集合。HSML解析的DFA模型可用五元组A = (Q,Σ,δ,s,F)表示为Q = {S_Start, S_0ther, S_XMLDeclare, S_Doctype, S_HTMLRootStartTag, S_ Error, S_HSMLStartTag, S_HSMLContent,…,S_End};Σ = {“< xml”,“〈! 一”,“<! DOCTYPE”,“〈html”,“〈html”,“<hsml”,“</,,, “/”,“</html”};δ Jf(Condition)S1 — S2,其中S1, & e Q,当输入的字符串q G Σ与状态转移箭头上的字符串相匹配时condition为true ;s :S_Start ;F = {S_Start,S_End,S_Error};当读入的字符串与箭头上所标明的字符串相匹配时就根据箭头指向转到下一个状态,其中otherwise表示的是不满足其它条件时转向的状态。在该DFA模型中分别对XML 声明、Doctype文档类型声明、HSML标签元素和HTML标签元素进行解析和处理,其中遇到注释部分(即“〈! 一”开头的部分)将直接跳过不做处理。HSML解析的DFA模型可以用算
法表示为
s = s。; Il S。表示初始状态,s。=S_Start c = nextstring; Il c表示每次读入的字符串
权利要求
1.一种数字电视交互服务标记语言(HSML)解析系统,其特征在于,包括主要包括通信管理模块、标签解析模块、Dom模块、Render模块和布局管理模块;通信管理模块用于获取网页,CSS, XML,图片等网络资源,包括缓存管理、预取处理,网络传输和底层协议等子模块;标签解析模块用于识别标签,将网页解析成标签流,对属于数字电视交互标记语言特用的标签进行标记;DOM树生成模块用于构建DOM树,首先根据标签流生成本节点,然后获取父节点并将其加入到父节点的子几点当中,接下还要连接到其兄弟节点;Render树生成模块是在DOM树的基础上实现网页的渲染,但并不是在DOM树上直接改写,而是另外生成一棵树,生成过程与DOM类似,首先要生成本节点,然后获取父节点并将其加入到父节点的子几点当中,同时要连接到其兄弟节点,另外还应连接到对应的DOM树节点;接着在加上节点的位置坐标,颜色等排版信息;布局管理模块对解析的结果,即不包含位置信息的DOM树进行位置计算、元素排列等方面的处理。
2.如权利要求1所述的系统,其特征在于,除此之外DOM树生成模块还要实现与 Render树模块的协作,对于网页中含有JS的情况,其还要调用JS引擎,并利用其解析结果来完善DOM树。
3.如权利要求1所述的系统,其特征在于,布局管理模块需要计算出页面中需要显示的各个对象的位置和排列方式;布局管理模块的结果是根据DOM树生成Render树,并使 Render树中的所有节点都被填充了位置信息,然后将其将其显示在屏幕上。
4.如权利要求1所述的系统,其特征在于,数字电视交互服务标记语言的解析主要包括词法分析、语法分析和语义分析三个阶段,所以HSML解析器的核心是词法分析模块、语法分析模块和语义分析模块。
5.如权利要求1所述的系统,其特征在于,HSML要求HSML文档必须是有效文档,所以在开始词法分析之前还需要根据HSML DTD文档中定义的规则对文档进行有效性检查。
6.如权利要求1或4所述的系统,其特征在于,HSML解析器在语义分析和处理阶段可以调用其他的解析模块和其它中间件或应用接口对HSML标记元素进行解析和处理。
7.如权利要求1所述的系统,其特征在于,在HSML解析的过程中,对于输入的任何一个符号,最多只有一个转换,并且对于任何一个读入的确定的字符串,最多只能指向一个确定的状态,因此整个解析过程采用一个确定型有限自动机(DFA)模型来描述。
8.一种数字电视交互服务标记语言(HSML)解析方法,其特征在于,包括以下步骤SOl 获取相应网站资源信息流;S02:识别网络资源信息中的标签信息,将获取的网络资源信息解析成标签流,对属于数字电视交互标记语言特用的标签进行标记,通过Dom Builder按合法的html规范生成 Dom 树;503把Dom传给LayoutEngine,进行布局,如果有CSS样式,就通过CSSParser解析;504在构建的DOM树上构建Render树,实现网页的渲染,加上节点位置坐标和颜色排版信息;每次创建一个DOM树节点就触发创建一个对应的Render节点,实现DOM树与 Render树的同步增长。
9.如权利要求8所述的方法,其特征在于,步骤SOl中网站资源信息包括获取网页, CSS, XML,图片等网络资源,获取过程和解析过程同时进行,每次从网络缓冲中读取一次数据,便会触发解析引擎进行一次解析。
10.如权利要求8所述的方法,其特征在于,步骤S02中对于网页中含有JS的情况,其还要调用JS引擎,并利用其解析结果来完善DOM树。
全文摘要
本发明公开了一种数字电视交互服务标记语言解析系统及方法。该系统主要包括通信管理模块、标签解析模块、Dom模块、Render模块和布局管理模块。同时还公布了一种数字电视交互服务标记语言解析方法。主要包括获取相应网站资源信息流;识别网络资源信息中的标签信息,将获取的网络资源信息解析成标签流,对属于数字电视交互标记语言特用的标签进行标记,通过Dom Builder按合法的html规范生成Dom树;把Dom传给LayoutEngine,进行布局,在构建的DOM树上构建Render树,实现网页的渲染,加上节点位置坐标和颜色排版信息。通过本发明不仅能够有效提高机顶盒浏览器的解析效率,而且能够完全支持数字电视交互服务标记语言。
文档编号G06F17/30GK102508887SQ20111031906
公开日2012年6月20日 申请日期2011年10月19日 优先权日2011年10月19日
发明者罗春耕, 罗晴明 申请人:江西省南城县网信电子有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1