一种基于智能电视的widget中间件系统的制作方法

文档序号:6386538阅读:170来源:国知局
专利名称:一种基于智能电视的widget中间件系统的制作方法
技术领域
本发明涉及智能电视领域,尤其涉及一种基于智能电视的widget中间件系统。
背景技术
智能电视,是具有全开放式平台,搭载了操作系统,顾客在欣赏普通电视内容的同时,可自行安装和卸载各类应用软件,持续对功能进行扩充和升级的新电视产品。智能电视能够不断给顾客带来丰富的个性化体验。当前在智能电视等嵌入式系统上桌面应用变得越来越丰富,其显示效果也越来越符合用户习惯。由于智能电视的硬件架构还是采用嵌入式架构,在资源方面还相对紧缺,需要工程师能够严谨和节省的去利用资源开发程序。Widget是越来越得到认可的一项组件技术,它的特点在于身材微、形式多、功能强、外观绚丽、支持个性化定制等。Widget的桌面、widget应用变得越来越受欢迎,如天气预报、股票行情、出行计划、时钟、日历等应用。Widget应用是基于widget引擎之上的,所以一个widget的引擎对于上层的widget的应用是十分重要的。采用widget的设计的⑶I(Graphic User Interface,用户图形界面)一般应用在手机和PC上的比较多,在智能电视方面比较欠缺,没有特殊的定制。现有的widget —般是面向手机等移动设备或者是传统的PC应用的,它们在webwidget和移动widget方面都取得了非常大的进步。但现有的系统⑶I不能像widget的GUI那样灵活和轻便,应用开发的速度大大收到制约。目前在智能电视方面虽然已经有了widget技术,但是依然是Android系统提供的,不是面向智能电视定制的,在现有widget基础上完全可以在3D方面取得优化,提升widget在智能电视平台上的显示效果和提升widget应用程序的开发效率。因此,有必要提供一种基于智能电视的widget中间件系统来解决上述需求。

发明内容
本发明提供一种基于智能电视的widget中间件系统,通过widget中间件能够实现在智能电视上3D widget电视应用的便捷开发。在本发明的实施例中,提供了 一种基于智能电视的widget中间件系统,包括widget中间件、widget应用层和操作系统,所述widget中间件位于widget应用层和操作系统之间,所述widget中间件包括三维图形引擎、XML解析引擎、消息引擎、网络传输引擎和文件操作接口,所述三维图形引擎用于图形及界面显示;所述XML解析引擎用于解析XML文件;所述消息引擎用于协调任务和进程间通信的消息处理;所述网络传输引擎用于支持文件传输协议,建立网络连接实现信息传输;所述文件操作接口,用于提供Widget应用程序进行文件操作的编程接口 ;所述widget应用层包括主控模块和下载模块,所述主控模块和所述下载模块分别调用widget中间件的消息引擎、三维图形引擎、网络传输引擎、XML解析引擎及文件操作接口,被调用的widget引擎分别对应地将结果返回给widget应用层的主控模块或下载模块;所述主控模块用于完成界面显示、操作逻辑以及定时请求下载数据及定时刷新界面;所述下载模块用于响应下载请求、下载文件并进行结构解析。较佳地,所述主控模块用于完成的界面显示包括界面元素的布局,所述操作逻辑包括按键事件、焦点事件。较佳地,所述三维图形引擎采用Clutter图形库创建图形用户界面,从而使Widget应用层的界面具有三维动画效果。较佳地,所述XML解析引擎采用基于Expat的SCEW库为Widget应用层提供XML文档的解析服务。较佳地,所述消息弓I擎采用基于D-Bus的消息引擎。较佳地,所述网络传输引擎采用Iibcurl进行网络传输及widget应用层的开发。较佳地,所述widget中间件的文件操作接口采用操作系统的文件接口进行操作。上述技术方案可以看出,本发明提供的基于智能电视的widget中间件系统采用widget技术在智能电视上构建widget应用,能够发挥widget的灵活、轻便和占用系统资源少,接口标准等优点,同时采用中间件的形式将图形显示、XML解析、网络传输等常用功能集成widget中间件,利于上层应用开发。


为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。图1是本发明实施例的基于智能电视的widget中间件系统的结构示意图;图2是本发明实施例的widget应用层和widget中间件之间的调用关系图;图3是本发明实施例的三维图形引擎采用clutter制作3D动画的流程示意图;图4是本发明实施例的XML解析弓I擎采用SCEW遍历XML文档的流程示意图;图5是本发明实施例的网络传输引擎使用Iibcurl完成传输任务的流程示意图;图6是本发明实施例的基于智能电视的widget中间件系统的开发应用的流程示意图。
具体实施例方式下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。本发明的目的是在智能电视系统上,提出一种基于widget技术的3D⑶I引擎中间件系统设计,通过该引擎中间件能够实现在智能电视上3D widget电视应用的便捷开发。现有的智能电视系统都不止一个应用,widget应用也是如此,一般会同时存在多个不同的widget应用,它们的类别还会不一样。所以设计widget应用应该做到将业务逻辑和功能需求相分离,即做到界面和后台是松耦合的,这样也能够加快程序的开发速度。而widget引擎就是将常用的widget应用的通用功能模块进行抽象,变成通用平台,使得不同的应用只需要通过接口调用就可以实现,而不需要进行重复的开发。如图1所示,是widget中间件系统的结构和层次关系,包括widget中间件、widget应用层和操作系统。widget中间件处于widget应用层和作为系统资源的操作系统之间,为widget访问系统资源提供一个接口,和一般的中间件一样,widget中间件也是面向特定业务的。需要完成3D用户图形界面的widget中间件包括有三维图形引擎、XML解析引擎、消息引擎、网络传输引擎和文件操作接口。三维图形引擎是用于图形显示的,界面显不,在 Linux 下常用的 GUI 系统有 GTK+、QT 以及 Clutter ;XML (Extensible MarkupLanguage,扩展标记语言)解析引擎是完成XML文件的解析工作的,因为当前widget应用一般采用XML来描述其数据,所以XML引擎非常必要,作为本发明实施例的XML解析器,其解析方式有两种:D0M(全称是Document Object Model,即文档对象模型)和SAX (SimpleAPIfor XML,即用于XML的简单API);消息引擎,在多任务环境下,消息处理主要用于任务的协调和通信中。目前有很多不同的IPC (Inter-Process Communication,进程间通信)实现。例如SOAP和XML-PRC用于Web服务,因而使用HTTP传输协议。此外现行的消息处理引擎还有COBRA、DCOP, D-Bus等;网络传输引擎,Widget应用程序需要通过网络进行信息转输。常用的文件传输协议包括HTTP、FTP、SCP等,而在本发明的实施例中,网络平台提供HTTP文件传输协议的支持。网络传输引擎的设计原则是简单易用,代码量小、可移植性好,尽量支持当前大多数文件传输协议;文件操作接口,Widget应用程序可能在启动时需要读取配置文件,在程序运行结束前要保存用户数据。本发明采用目前大多数系统中经常使用的INI (Initialization File,初始化文件)文件格式保存这些配置和数据。文件读写API(Application Programming Interface,应用程序编程接口)实现了对INI文件的读、写等常用操作的编程接口。不同的Widget应用,其应用层也是不尽相同的,例如天气预报和旅游软件,它们各自的用户界面要求可以不同,下载的文件内容也可以不相同。Widget应用层软件一般可分为两个模块:主控模块和下载模块。如图2所示,是widget应用层和widget中间件之间的调用关系。灰色模块表示的是widget应用层,分别是主控模块和下载模块,它们调用widget中间件的消息引擎、三维图形引擎、文件操作、网络传输引擎、XML解析引擎;而widget中间件相应的模块则将结果返回给widget应用层的调用模块。主控模块负责完成界面显示和操作逻辑。界面显示的方面主要包括主要是界面元素的布局。操作逻辑的方面主要是按键事件、焦点事件等。另外,主控模块还负责定时请求下载数据及定时刷新界面;下载模块主要负责响应下载请求,下载文件并解析成某种结构。其中,三维图形引擎为Widget应用层提供图形接口,使应用程序界面具有三维动画效果。本发明实施例采用Clutter图形库作为三维图形引擎的设计方案。Clutter用于创建速度快、视觉效果丰富、支持三维场景和动画的图形用户界面。Clutter使用OpenGL进行渲染,Clutter的API对OpenGL进行了封装,从而对使用者隐藏OpenGL的复杂性。在Clutter上,所有可视界面元素叫做Actor (表演者),Actor被置在一个特殊的容器Stage (舞台)上,Actor可以有父节点和子节点,形成表演者树,表演者可以通过事件和动画直接操作。Actor可以应用的效果有三维空间位移、旋转、缩放、透明度和深度变化等等。Clutter的事件机制=Actor可以接受输入事件,比如键盘按键、鼠标移动等事件,并且可以通过回调函数对事件进行处理。由于这一套机制是通过glib的signal来实现的。Clutter除了可以使界面元素布局在三维空间中,还可以在界面元素上加入动画特效,使它们在三维空间中动起来。Clutter的动画主要包含三个元素:时间轴Timeline、Alpha和BehaViour (动作)。Timeline即时间轴,用来定义一段时间,它是动画的基础和控制端。程序开发者可以控制Timeline的播放、停止、暂停、跳帧、回放、循环。它有四种信号触发机制:start (开始)、completed (结束)、newframe (用于新的一巾贞时)和 marker-reached (在用户自定义的marker处触发)。Alpha指明了动画的变化速率,用户可以自己定义alpha函数,计算每帧在路径上的位置。有了时间和变化速率的设定之后,还需要规定Actor的具体行为属性(BehaViour)才算完成了动画的制作。采用Clutter制作3D动画的过程如图3所示,具体如下:Stepl:创建一个时间轴对象,设置它的属性,例如是否循环,设置指定帧触发等;Step2:仓ll建Alpha对象。通常可以使用Clutter内建的alpha模式,例如想定义一个线性变化速率的模式;Step3:创建Clutter Behaviour动作对象。用户根据实际需要可以使用Clutter提供的多种行为属性;Step4:将指定的Behaviour行为应用到某个Actor表演者对象上;St印5:启动时间轴,Actor表演者就在Stage舞台上动起来了,即3D动画开始运行。对于Widget中间件的XML解析引擎,系统从网络平台获取的信息采用了 XML格式,XML解析引擎为Widget应用层提供XML文档的解析服务。XML文档采用类似于树状结构的表示方法=XML文档有且只有一个根结点,子结点只有一个双亲结点。XML标记严格区分大小写,且须有对应的结束标记,标记之间不能交叉出现,标记属性的值要加引号。目前XML解析器有很多种,但基本的解析方式有两种:D0M(全称是Document Object Model,即文档对象模型)和SAX (Simple APIfor XML,即用于XML的简单API)。本系统将采用基于Expat的SCEW库作为XML解析引擎,它属于SAX的一种实现。其遍历XML文档的流程如图4所示,具体流程如下。Stepl:创建Scew解析器。解析器用于初始化工作,完成平台的初始化;Step2:载入XML文档。将XML文档载入内存;Step3:创建解析树。XML的元素是以一种树形结构来呈现的,包含一个根节点和其他的子节点;Step4:获取解析树的根元素。根元素是整棵解析树的根节点;Step5:遍历整棵解析树。当用户需要对特定某个元素进行修改、查找和删除等操作时,需要遍历这棵树;Step6:当任务完成时,释放解析树和解析树,内存清空。本发明实施例的消息引擎模块采用基于D-Bus的消息引擎,为Widget应用层设计了两种简便的提供进程间通信的接口。D-Bus 是进程间通信(inter-process communication) (IPC)的一个实现,它是一个消息总线系统,有三层架构:接口层:接口层由函数库Iibdbus提供,进程可通过该库使用D-Bus的能力。总线层:它在Iibdbus的基础上创建,总线层实际上是由D-Bus总线守护进程提供的。它在系统启动时运行,负责进程间的消息路由和传递,其中包括内核和桌面环境的消息传递。每个应用程序都和总线守护进程建立连接,然后由总线守护进程进行消息的分派。包装层:包装层是一系列基于特定应用程序框架的Wrapper库,有libdbus-glib,libdbus-qt等等,目的是对D-Bus底层API进行封装。对于网络传输引擎模块,当前有比较多的网络传输客户端可以选用,例如GNUWget、Libwww、cURL、Iibcurl0它们各有优缺点,本发明实施例采用Iibcurl库。采用Iibcurl进行widget应用开发的流程如图5所示,具体如下:Stepl:初始化libcurl。完成平台初始化;St印2:初始化easy接口。完成接口初始化;Step3:设置传输选项。根据不同的应用具体而定;St印4:启动传输任务。开始传输任务,采用的协议可以是HTTP ;St印5:任务完成后释放资源。本发明实施例的widget中间件采用操作系统的文件接口操作,该部分内容为本领域技术人员所熟知,因此不再展开阐述。在本发明系统上一个完整的基于widget中间件的智能电视应用的流程如图6所示,具体如下:Stepl:应用程序,例如S,启动它的widget主控模块;转Step2 ;St印2:图形系统初始化,转St印3 ;St印3:注册主控模块消息接收处理回调;注册成功则转St印4,否则退出;Step4:启动程序S的widget下载模块,转Step5 ;Step5:读取配置文件,如果读取成功则转Step7,否则转Step6 ;St印6:读取失败则用缺省配置,转St印7 ;St印7:程序配置数据初始化,转St印8 ;Step8:生成用户桌面;该部分采用图形引擎系统绘制;转Step9 ;Step9:启动定时更新器,用于每个几秒更形应用的⑶I显示;转SteplO ;SteplO:进入图形引擎的事件循环,例如定时更新,事件响应等;当发生文件操作或者退出请求时,转Stepll ;Stepll:写配置文件,保存用户数据然后退出。与现有技术相比,本发明实施例的基于智能电视的widget中间件系统,采用widget技术在智能电视上构建widget应用,能够发挥widget的灵活、轻便和占用系统资源少,接口标准等优点,同时采用中间件将图形显示、XML解析、网络传输等常用功能集成中间件,利于上层应用开发。其三维图形引擎采用clutter库,隔离了 OpenGL的复杂度,达到了适配模式的效果,大大缩减了上层应用开发的复杂度;在XML解析方面采用基于SAX的SCEW能够有效完成XML的文档解析任务;在传输模块上采用Iibcurl,方便移植、代码量少,并且是线程安全的,而且支持更多的网络协议。以上对本发明实施例所提供的一种基于智能电视的widget中间件系统,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式
及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
权利要求
1.一种基于智能电视的widget中间件系统,其特征在于,包括widget中间件、widget应用层和操作系统,所述widget中间件位于widget应用层和操作系统之间,所述widget中间件包括三维图形引擎、XML解析引擎、消息引擎、网络传输引擎和文件操作接口,所述三维图形引擎用于图形及界面显示;所述XML解析引擎用于解析XML文件;所述消息引擎用于协调任务和进程间通信的消息处理;所述网络传输引擎用于支持文件传输协议,建立网络连接实现信息传输;所述文件操作接口,用于提供Widget应用程序进行文件操作的编程接口 ;所述widget应用层包括主控模块和下载模块,所述主控模块和所述下载模块分别调用widget中间件的消息引擎、三维图形引擎、网络传输引擎、XML解析引擎及文件操作接口,被调用的widget引擎分别对应地将结果返回给widget应用层的主控模块或下载模块;所述主控模块用于完成界面显示、操作逻辑以及定时请求下载数据及定时刷新界面;所述下载模块用于响应下载请求、下载文件并进行结构解析。
2.按权利要求1所述的基于智能电视的widget中间件系统,其特征在于,所述主控模块用于完成的界面显示包括界面元素的布局,所述操作逻辑包括按键事件、焦点事件。
3.按权利要求1所述的基于智能电视的widget中间件系统,其特征在于,所述三维图形引擎采用Clutter图形库创建图形用户界面,从而使Widget应用层的界面具有三维动画效果。
4.按权利要求1所述的基于智能电视的widget中间件系统,其特征在于,所述XML解析引擎采用基于Expat的SCEW库为Widget应用层提供XML文档的解析服务。
5.按权利要求1所述的基于智能电视的widget中间件系统,其特征在于,所述消息引擎采用基于D-Bus的消息引擎。
6.按权利要求1所述的基于智能电视的widget中间件系统,其特征在于,所述网络传输引擎采用Iibcurl进行网络传输及widget应用层的开发。
7.按权利要求1所述的基于智能电视的widget中间件系统,其特征在于,所述widget中间件的文件操作接口采用操作系统的文件接口进行操作。
全文摘要
本发明公开了一种基于智能电视的widget中间件系统,包括widget中间件、widget应用层和操作系统,widget中间件包括三维图形引擎、XML解析引擎、消息引擎、网络传输引擎和文件操作接口,三维图形引擎用于图形及界面显示;XML解析引擎用于解析XML文件;消息引擎用于协调任务和进程间通信的消息处理;网络传输引擎用于支持文件传输协议,建立网络连接实现信息传输;文件操作接口,用于提供Widget应用程序进行文件操作的编程接口;所述widget应用层包括主控模块和下载模块。本发明的widget中间件系统采用widget技术在智能电视上构建widget应用,能够发挥widget的灵活、轻便和占用系统资源少,接口标准等优点,同时将图形显示、XML解析、网络传输等常用功能集成widget中间件,有利于应用层的应用开发。
文档编号G06F9/44GK103092613SQ20121059375
公开日2013年5月8日 申请日期2012年12月31日 优先权日2012年12月31日
发明者刘海亮, 曾金龙, 林格 申请人:中山大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1