一种EPG引擎及页面解析方法与流程

文档序号:12747784阅读:1187来源:国知局
一种EPG引擎及页面解析方法与流程

本发明涉及浏览器页面解析领域,更具体的说是涉及一种EPG引擎及页面解析方法。



背景技术:

传统的浏览器客户端当中,需要消耗相当大的资源和文档对象模型接口进行交互,通常是用JS库。参照图1,浏览器解析页面首先是用户访问网页,DNS服务器即域名解析系统会根据用户提供的域名查找对应的IP地址,找到后,系统会向对应IP地址的网络服务器发送一个http请求。网络服务器解析请求,并发送请求给数据库服务器。数据库服务器将请求的资源返回给网络服务器,网络服务器解析数据,并生成html文件,放入http response中,返回给浏览器,浏览器解析http response。如果网络服务器无法获取数据库服务器返回的资源文件,或者由于并发原因暂时无法处理用户的http请求,浏览器解析 http response后,需要下载html文件,以及html文件内包含的外部引用文件,及文件内涉及的图片或者多媒体文件,由浏览器渲染引擎显示页面的效果。

采用上述方式,存在以下缺点:

1、浏览器页面的每一个节点数据需要频繁的操作文档对象模型接口,对渲染引擎造成极大的性能负担;

2、浏览器内核千差万别,对页面展现有很多兼容性问题;

3、需要在智能机顶盒端安装相应的浏览器客户端,系统庞大臃肿,效率低下;

4、浏览器解析页面有很多漏洞和非安全机制,有安全风险。



技术实现要素:

本发明为了解决上述技术问题提供一种EPG引擎及页面解析方法,其解析页面数据效率高,页面展现兼容性好,安全性高且不需在机顶盒端安装浏览器客户端。

本发明通过下述技术方案实现:

一种EPG引擎,包括:

解析引擎,根据注入的组件解析注入的JS数据,对JS数据进行格式化以成为EPG引擎的数据流;

差分系统,将缓存内的数据流和解析引擎格式化后的数据流进行二进制算法的差异化比较,以形成差分数据,此差分数据相对格式化后的数据流的数据量大为减少,其仅体现之前缓存数据与格式化后的数据流的差异化;

渲染引擎,在已有的显示缓存上进行二进制的差分数据显示合成,并对合成后的数据格式化以形成需要显示的显示数据。

采用本EPG引擎,其不依赖于系统方法的限制,在标准的Android和IOS系统都可以跨平台运行。本引擎的差分系统对缓存内的数据流和解析引擎格式化后的数据流进行二进制算法的差异化比较,渲染引擎仅对差分数据进行显示合成,其数据量小,处理效果高。实现了在不需要浏览器的情况下,采取更加轻量级的解析引擎来解析JS数据,有更好的兼容性、安全性、性能和渲染效果。

文档对象模型是表示文档和访问、操作构成文档的各种元素的应用程序接口。一般的,支持Javascript的所有浏览器都支持DOM。本文所涉及的DOM,是指W3C定义的标准的文档对象模型,它以树形结构表示HTML和XML文档,定义了遍历这个树和检查、修改树的节点的方法和属性。页面含有很多的节点,每一个节点都调用一次文档对象模型会造成极大的性能消耗。而EPG引擎解析仅仅解析JS文件,不同复杂的浏览器解析数据文档的方式,采取差分方式显示图形变化效果,更加高效简洁。

目前市面上流行的浏览器有多种,这些浏览器在处理一个相同的页面时,表现或行为有时会有差异。这种差异可能很小,甚至不会被注意到;也可能很大,甚至造成在某个浏览器下无法正常浏览。我们把引起这些差异的问题统称为“浏览器兼容性问题”。浏览器的工作模式常被称为“渲染模式”。实际上浏览器不同的工作模式不仅对渲染有影响,对代码的解析以及脚本的行为也同样有影响。从更广泛的角度来看,浏览器的工作模式的差异还体现在处理 HTML 页面的时候,处理 XML 及一些非 WEB 内容时也有模式上的差异。EPG引擎采取独立的JS解析引擎,不依赖于系统的浏览器组件和系统显示模式,采取独立的渲染方式,兼容性好。只与系统的通用模块进行交互,能够保证效果的一致性。

浏览器体积庞大,安装客户端需要大量的存储空间,而采取系统内核的浏览器依赖于系统组件本身,启动需要同时启动很多的系统组件,造成系统的资源巨大耗费,整个体系臃肿而难以维护。EPG引擎只解析JS文件本身文本数据,架构轻量化,加载过程可进行定制,适应性更强。

常见的漏洞和安全机制有:第一类是网页欺骗,第二类是拒绝服务,第三类是规则匹配不完善,第四类是未预期的用户行为,第五类是自有协议下的问题。EPG引擎解析JS页面的方法为定制组件的定义来组织界面呈现和逻辑关系,定制组件的属性为全面满足UI的动态布局,业务接口高度定制化定义,避免了通用漏洞的安全问题。

作为优选,所述组件为业务组件。

作为优选,所述组件包括图片组件、播放组件、列表组件、进度组件、下拉组件、单选框组件、滚动条组件、鉴权组件中的一种或多种。例如图片组件封装了图片资源的获取,图片资源的展示,图片资源的容错,焦点的聚焦,移动动画的效果,入口参数的定义等一系列功能。播放组件封装了解码模块,播控模块,快进快退模块,视频切换功能,缩放功能等接口功能,鉴权组件封装了加密解密,字符拼接,数据存取,信息发布等功能。组件高度封装,界面开发者只需要了解组件的功能而不用去开发具体组件具体功能,实现UI布局的快速部署和便捷的功能模块调用方式。

作为优选,所述差分数据为二维数组数据。

一种页面解析方法,包括以下步骤:

定义具有EPG格式的JS数据页面,将业务封装为组件,定义到页面数据上;

根据组件对注入的JS数据进行解析操作;

将格式化的数据流与缓存内的数据流进行二进制算法的差异化比较,形成差分数据;

在已有的显示缓存上进行二进制的差分数据显示合成,再对合成后的数据格式化。

上述页面解析方法对JS调用的业务显示和方法封装定义,抽象最常用的业务组件,使页面的开发工作大幅度降低,所有业务的实现都封装为组件进行业务组合,解决了C/S客户端无法像页面浏览一样进行业务的快速部署,也解决了浏览器客户端解析页面数据的效率低下,效果差等一系列问题。

所述组件包括图片组件、播放组件、列表组件、进度组件、下拉组件、单选框组件、滚动条组件、鉴权组件中的一种或多种。

本发明与现有技术相比,至少具有如下的优点和有益效果:

1、本发明的方法和EPG引擎对缓存内的数据流和格式化后的数据流进行二进制算法的差异化比较,渲染引擎仅对差分数据进行显示合成,其数据量小,处理效果高。

2、本发明对JS调用的业务显示和方法封装定义,将业务抽象为组件,使页面的开发工作大幅度降低,所有的实现都封装为组件进行业务组合,解决了C/S客户端无法像页面浏览一样进行业务的快速部署也解决了浏览器客户端解析页面数据的效率低下,效果差等问题。

附图说明

此处所说明的附图用来提供对本发明实施例的进一步理解,构成本申请的一部分,并不构成对本发明实施例的限定。在附图中:

图1为现有浏览器客户端的原理框图。

图2为本发明的EPG引擎的原理框图。

具体实施方式

本发明涉及手机与网络电视,智能机顶盒等领域。为使本发明的目的、技术方案和优点更加清楚明白,下面结合实施例和附图,对本发明作进一步的详细说明,本发明的示意性实施方式及其说明仅用于解释本发明,并不作为对本发明的限定。

实施例1

如图2所示一种EPG引擎,包括解析引擎、差分系统和渲染引擎,

解析引擎,根据注入的组件解析注入的JS数据;

差分系统,将缓存内的数据流和解析引擎格式化后的数据流进行二进制算法的差异化比较,以形成差分数据,差分数据以二维数组数据的形式体现;

渲染引擎,在已有的显示缓存上进行二进制的差分数据显示合成,并对合成后的数据格式化。

格式化后的合成数据即需要显示的数据,页面显示调用本地系统方法接口,将页面效果最终显示在系统窗口资源上,完成智能引擎的运行过程。

EPG引擎需事先下载注入按EPG格式解析规范封装好的业务组件并定义到页面数据上,页面数据采用JS数据,简化了页面的数据格式,封装了EPG的组件,简化了JS的开发过程。

组件为业务组件,具体可包括图片组件、播放组件、列表组件、进度组件、下拉组件、单选框组件、滚动条组件、鉴权组件中的一种或多种。

实施例2

一种页面解析方法,包括以下步骤:

定义具有EPG格式的JS数据页面,将业务封装为组件,定义到页面数据上;

根据组件对注入的JS数据进行解析操作,对JS数据进行格式化以成为EPG引擎的数据流;

将格式化的数据流与缓存内的数据流进行二进制算法的差异化比较,形成差分数据,此差分数据相对格式化后的数据流的数据量大为减少,其仅体现之前缓存数据与格式化后的数据流的差异化,差分数据可以以二维数组数据的形式体现;

在已有的显示缓存上进行二进制差分数据显示合成,再对合成后的数据格式化。

组件包括图片组件、播放组件、列表组件、进度组件、下拉组件、单选框组件、滚动条组件、鉴权组件中的一种或多种。

以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1