首页> 中国专利> 一种改变多个当前服务中应用状态的方法、应用及装置

一种改变多个当前服务中应用状态的方法、应用及装置

摘要

本发明提供一种改变多个当前服务中应用状态的方法、应用及装置,其关键在于,机顶盒对要改变状态的应用进行定位。机顶盒先创建定位管理数据库和应用数据库,当接收到来自外部的状态改变命令时,机顶盒根据状态改变命令获得定位ID和应用ID,再查询定位管理数据库并确定应用数据库ID;根据应用数据库ID和应用ID查询应用数据库,获得应用信息中应用属性,根据应用属性实现应用状态的改变。应用本发明方案,机顶盒可以对需要改变状态的应用准确定位,达到实现应用状态改变的目的。另外,应用本发明方案还可以利用改变应用状态的方法,实现多个当前服务中应用的启动、暂停、重启和停止,达到对多个当前服务中应用的生命周期进行管理的目的。

著录项

  • 公开/公告号CN101094310A

    专利类型发明专利

  • 公开/公告日2007-12-26

    原文格式PDF

  • 申请/专利权人 华为技术有限公司;

    申请/专利号CN200610090412.4

  • 申请日2006-06-23

  • 分类号H04N5/00(20060101);

  • 代理机构11018 北京德琦知识产权代理有限公司;

  • 代理人王琦;王诚华

  • 地址 518129 广东省深圳市龙岗区坂田华为总部办公楼

  • 入库时间 2023-12-17 19:28:37

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2018-07-13

    未缴年费专利权终止 IPC(主分类):H04N5/00 授权公告日:20091104 终止日期:20170623 申请日:20060623

    专利权的终止

  • 2009-11-04

    授权

    授权

  • 2008-08-27

    实质审查的生效

    实质审查的生效

  • 2007-12-26

    公开

    公开

说明书

技术领域

本发明涉及机顶盒应用技术,特别是涉及一种改变多个当前服务中应用状态的方法、应用及装置。

背景技术

随着数字电视技术的发展,运营商可以通过服务器向用户提供内容丰富的服务,如电视节目等,也可以向用户提供独立的或与服务绑定的应用。这里所述的应用就是指服务器和用户之间可以交互的小程序,比如:赛事竞猜、民意调查、广告期间的小游戏等。

图1显示了实现应用的系统的基本结构图。如图1所示,该系统包括:服务器、用户输入设备、机顶盒。其中,服务器主要用于提供服务和应用;用户输入设备主要用于向机顶盒发送针对某应用的控制命令;机顶盒则主要负责应用的实现和管理。

机顶盒是实现应用的关键设备,包括:硬件、运行于硬件之上的操作系统、操作系统之上的机顶盒中间件、运行于机顶盒中间件层之上的应用程序。为了屏蔽不同硬件平台和操作系统之间的差异性,满足业务跨平台和操作系统的要求,并方便的实现新业务定制和升级的要求的情况下,产生了机顶盒中间件。本发明中的中间件上一般至少包括应用管理器、应用数据库创建管理模块、应用数据库模块。当服务器向用户提供某服务时,应用数据库在应用数据库模块中创建应用数据库,并将该服务中所有应用的应用信息保存在应用数据库中。所述的应用信息一般包括:应用标识符、应用控制符、应用属性等信息。此后,服务器或用户输入设备就可以通过状态改变命令来对某应用进行控制。这里所述的状态改变命令包括命令类型和应用ID等信息。当命令类型值为“启动”时,该状态改变命令实际上为启动命令,应用管理器将启动与应用ID对应的应用,该应用将处于运行状态,即started状态。实际应用中,命令类型值还可以为“暂停”、“重启”、“停止”等,相应的状态改变命令为暂停命令、重启命令和停止命令,而执行上述命令后应用的状态则相应为暂停(paused)状态、运行(started)状态和停止(destroyed)状态等。

一般来说,当应用被启动、停止,或在启动和停止之间反复进行暂停和重启时,应用都将从一种状态改变成另外一种状态,即实现应用状态的改变。实现应用状态改变方法的基本思想为:应用管理器根据来自服务器或用户输入设备的状态改变命令,查询应用数据库确定当前应用的应用信息,并从确定的应用信息中获得应用属性,再根据应用属性实现应用状态的改变。

现有技术中,一个机顶盒只与一台数字电视匹配,而一台数字电视一般只向用户呈现一个服务的内容。也就是说,机顶盒的应用数据库中只能存储数字电视当前服务中应用的应用信息,只能针对当前服务的应用实现对应用状态的改变。

而在实际应用中,一个机顶盒可能同时与多个数字电视匹配,或者与一台数字电视中的多个屏幕匹配,如:多画面数字电视。也就是说,服务器可能同时向一个机顶盒下发多个服务,每个服务中还可能包括多个应用。在这种情况下,由于现有技术只能针对一个服务中的应用实现应用状态的改变,显然无法实现和管理多个服务中的应用。

由此可见,如果服务器通过机顶盒向用户同时提供多个服务,现有技术还无法实现对多个当前服务中应用状态的改变。

发明内容

有鉴于此,本发明主要有三个发明目的:(1)提供一种改变应用状态的方法,可以在服务器向机顶盒同时下发多个服务的情况下,有效地对多个当前服务中应用的状态进行改变;(2)提供一种改变应用状态的应用方法,可以在服务器向机顶盒同时下发多个服务的情况下,能够有效地对多个当前服务中应用的生命周期进行管理;(3)提供一种改变应用状态的机顶盒,可以在服务器向机顶盒同时下发多个服务的情况下,有效地对多个当前服务中应用的状态进行改变。

针对本发明的第一个发明目的,本发明提出的技术方案为:

一种改变多个当前服务中应用状态的方法,设置用于定位应用的定位ID,创建用于记录定位ID和应用数据库ID之间对应关系的定位管理数据库,并创建用于记录应用信息的应用数据库,所述应用数据库包括与多个当前服务一一对应的应用子数据库,并为每一个应用子数据库设置标识自身的应用数据库ID,该方法包括以下步骤:

a、根据来自外部的状态改变命令获得定位ID和应用ID,再根据定位ID查询定位管理数据库并确定与定位ID对应的应用数据库ID;

b、根据应用数据库ID和应用ID查询应用数据库,获得与应用ID对应的应用信息中的应用属性,并根据应用属性实现应用状态的改变。

较佳地,所述来自外部的状态改变命令为来自服务器或用户输入设备的状态改变命令。

较佳地,所述状态改变命令来自用户输入设备,所述步骤a为:

a1、机顶盒的识别模块接收来自用户输入设备的状态改变命令,并根据状态改变命令产生状态改变事件,所述状态改变事件的事件属性包括定位ID和应用ID;

a2、机顶盒的应用管理器监听到所述状态改变事件,获得定位ID和应用ID;

a3、所述应用管理器根据定位ID查询定位管理数据库并确定应用数据库ID。

较佳地,所述定位ID为电视终端ID,所述定位管理数据库为电视终端管理数据库;

或者,

所述定位ID为屏幕ID,所述定位管理数据库为屏幕管理数据库。

较佳地,所述状态改变命令来自服务器,所述定位ID为服务ID,所述定位管理数据库为服务管理数据库。

较佳地,步骤a所述机顶盒根据来自服务器的状态改变命令获得服务ID和应用ID的方法为:

服务器向机顶盒发送携带有服务ID和应用ID的状态改变命令,机顶盒直接从状态改变命令中获得服务ID和应用ID。

较佳地,所述定位管理数据库还包括与定位ID对应的服务ID,

所述定位ID为电视终端ID,所述定位管理数据库为电视终端管理数据库;或者,

所述定位ID为屏幕ID,所述定位管理数据库为屏幕管理数据库;

当用户输入设备向机顶盒的识别模块发送切换服务命令时,该方法进一步包括:

z1、识别模块根据切换服务命令确定定位ID,再将定位管理数据库中与定位ID对应的服务ID更新为事先从服务器获得的服务ID,并产生事件属性包括定位ID的定位数据库更新事件;

z2、应用数据库创建管理模块监听到所述定位数据库更新事件,从定位管理数据库获得与定位ID对应的应用数据库ID和服务ID;

z3、应用数据库创建管理模块根据应用数据库ID和应用信息更新应用数据库ID所对应的应用子数据库,并产生事件属性包括应用数据库ID的应用数据库更新事件,所述应用信息为事先从服务器获得的与服务ID对应的应用信息;

z4、应用管理器监听到应用数据库更新事件,根据应用数据库ID判断更新后的应用子数据库中是否存在正在运行的应用,如果有,则不作处理;否则,根据应用属性停止正在运行的应用。

较佳地,该方法进一步包括:应用管理器监听到事件属性包括定位ID的资源缺少事件,查询定位管理数据库确定与定位ID对应的应用数据库ID,查询与应用数据库ID对应的应用子数据库,确定并停止所述应用子数据库的应用信息中优先级最低的应用。

较佳地,该方法进一步包括:

x1、机顶盒接收来自服务器的包括应用控制符为自启动的应用信息,并将应用信息记录在应用数据库中;

x2、应用管理器从应用数据库中查询到应用控制符为自启动的应用信息,根据应用信息中的应用属性启动应用信息所对应的应用。

较佳地,该方法进一步包括:

y1、机顶盒接收来自服务器的包括更改了应用控制符的应用信息,并更新应用数据库;

y2、应用数据库产生状态改变事件,所述状态改变事件的事件属性包括应用ID和应用数据库ID;

y3、应用管理器监听到步骤y2所述的状态改变事件,根据应用数据库ID和应用ID查询应用数据库,获得与应用ID对应的应用信息,并根据应用信息中的应用属性实现应用控制符所指示的应用状态的改变。

较佳地,所述状态改变命令为启动命令、暂停命令、重启命令或停止命令。

较佳地,所述定位ID为服务ID,所述定位管理数据库模块为服务管理数据库模块;或者,

所述定位ID为电视终端ID,所述定位管理数据库为电视终端管理数据库;或者,

所述定位ID为屏幕ID,所述定位管理数据库为屏幕管理数据库。

针对本发明的第二个发明目的,本发明提出的技术方案为:

一种改变多个当前服务中应用状态的应用方法,其特征在于,设置用于定位应用的定位ID,创建用于记录定位ID和应用数据库ID之间对应关系的定位管理数据库,创建用于记录应用信息的应用数据库,所述应用数据库包括与多个当前服务一一对应的应用子数据库,并为每一个应用子数据库设置标识自身的应用数据库ID,该方法包括以下步骤:

A、机顶盒根据来自外部的启动命令获得定位ID和应用ID,再根据定位ID查询定位管理数据库并确定与定位ID对应的应用数据库ID;

B、根据应用数据库ID和应用ID查询应用数据库,获得与应用ID对应的应用信息中的应用属性,并根据应用属性启动应用;

C、机顶盒再根据来自外部的停止命令获得定位ID和应用ID,根据定位ID查询定位管理数据库并确定与定位ID对应的应用数据库ID;

D、根据应用数据库ID和应用ID查询应用数据库,获得与应用ID对应的应用信息中的应用属性,并根据应用属性停止应用。

较佳地,所述来自外部的启动命令为来自用户输入设备的启动命令,所述步骤A为:

A1、机顶盒的识别模块接收来自用户输入设备的启动命令,并根据启动命令产生状态改变事件,所述状态改变事件的事件属性包括定位ID和应用ID;

A2、机顶盒的应用管理器监听到所述状态改变事件,获得定位ID和应用ID;

A3、所述应用管理器根据定位ID查询定位管理数据库并确定应用数据库ID;

步骤A1、步骤A2和步骤A3中所述定位ID为电视终端ID或屏幕ID;

或者,

所述来自外部的启动命令为来自服务器的启动命令,步骤A所述机顶盒根据来自服务器的启动命令获得定位ID和应用ID的方法为:

服务器将携带有定位ID和应用ID的启动命令发送给机顶盒,机顶盒直接从启动命令中获得定位ID和应用ID,所述定位ID为服务ID。

较佳地,所述来自外部的停止命令为来自用户输入设备的停止命令,所述步骤C为:

C1、机顶盒的识别模块接收来自用户输入设备的停止命令,并根据停止命令产生状态改变事件,所述状态改变事件的事件属性包括定位ID和应用ID;

C2、机顶盒的应用管理器监听到所述状态改变事件,获得定位ID和应用ID;

C3、所述应用管理器根据定位ID查询定位管理数据库并确定应用数据库ID;

步骤C1、步骤C2和步骤C3中所述定位ID为电视终端ID或屏幕ID;

或者,

所述来自外部的启动命令为来自服务器的停止命令,步骤C所述机顶盒根据来自服务器的停止命令获得定位ID和应用ID的方法为:

服务器将携带有定位ID和应用ID的停止命令发送给机顶盒,机顶盒直接从停止命令中获得定位ID和应用ID,所述定位ID为服务ID。

较佳地,所述的步骤B和步骤C之间进一步包括:

S1、机顶盒根据自来外部的暂停命令获得定位ID和应用ID,再根据定位ID查询定位管理数据库并确定与定位ID对应的应用数据库ID;

S2、根据应用数据库ID和应用ID查询应用数据库,获得与应用ID对应的应用信息中的应用属性,并根据应用属性暂停应用。

较佳地,所述来自外部的暂停命令为来自用户输入设备的暂停命令,所述步骤S1为:

S11、机顶盒的识别模块接收来自用户输入设备的暂停命令,并根据暂停命令产生状态改变事件,所述状态改变事件的事件属性包括定位ID和应用ID;

S12、机顶盒的应用管理器监听到所述状态改变事件,获得定位ID和应用ID;

S13、所述应用管理器根据定位ID查询定位管理数据库并确定应用数据库ID;

步骤S11、步骤S12和步骤S13中所述定位ID为电视终端ID或屏幕ID;

或者,

所述来自外部的暂停命令为来自服务器的暂停命令,步骤S1所述机顶盒根据来自服务器的暂停命令获得定位ID和应用ID的方法为:

服务器将携带有定位ID和应用ID的暂停命令发送给机顶盒,机顶盒直接从暂停命令中获得定位ID和应用ID,所述定位ID为服务ID。

较佳地,所述步骤S2和步骤D之间进一步包括:

H1、机顶盒根据自来外部的重启命令获得定位ID和应用ID,再根据定位ID查询定位管理数据库并确定与定位ID对应的应用数据库ID;

H2、根据应用数据库ID和应用ID查询应用数据库,获得与应用ID对应的应用信息中的应用属性,并根据应用属性重启应用。

较佳地,所述来自外部的重启命令为来自用户输入设备的重启命令,所述步骤H1为:

H11、机顶盒的识别模块接收来自用户输入设备的重启命令,并根据重启命令产生状态改变事件,所述状态改变事件的事件属性包括定位ID和应用ID;

H12、机顶盒的应用管理器监听到所述状态改变事件,获得定位ID和应用ID;

H13、所述应用管理器根据定位ID查询定位管理数据库并确定应用数据库ID;

步骤H11、步骤H12和步骤H1 3中所述定位ID为电视终端ID或屏幕ID;

或者,

所述来自外部的重启命令为来自服务器的重启命令,步骤H1所述机顶盒根据来自服务器的暂停命令获得定位ID和应用ID的方法为:

服务器将携带有定位ID和应用ID的重启命令发送给机顶盒,机顶盒直接从重启命令中获得定位ID和应用ID,所述定位ID为服务ID。

较佳地,当用户输入设备向机顶盒的识别模块发送切换服务命令时,该方法进一步包括:

Z1、识别模块根据切换服务命令确定定位ID,再将定位管理数据库中与定位ID对应的服务ID更新为事先从服务器获得的服务ID,并产生事件属性包括定位ID的定位数据库更新事件;

Z2、应用数据库创建管理模块监听到所述定位数据库更新事件,从定位管理数据库获得与定位ID对应的应用数据库ID;

Z3、应用数据库创建管理模块根据应用数据库ID和事先从服务器获得的应用信息更新应用数据库ID所对应的应用子数据库,并产生事件属性包括应用数据库ID的应用数据库更新事件;

Z4、应用管理器监听到应用数据库更新事件,根据应用数据库ID判断更新后的应用子数据库中是否存在正在运行的应用,如果有,则不作处理;否则,根据应用属性停止正在运行的应用。

较佳地,当应用管理器监听到事件属性包括定位ID的资源缺少事件时,该方法进一步包括:

应用管理器查询定位管理数据库确定与定位ID对应的应用数据库ID,查询与应用数据库ID对应的应用子数据库,确定并停止所述应用子数据库的应用信息中优先级最低的应用。

较佳地,该方法进一步包括:

M1、机顶盒接收来自服务器的包括应用控制符为自启动的应用信息,并将应用信息记录在应用数据库中;

M2、应用管理器从应用数据库中查询到应用控制符为自启动的应用信息,根据应用信息中的应用属性启动应用信息所对应的应用。

较佳地,该方法进一步包括:

N1、机顶盒接收来自服务器的包括更改了应用控制符的应用信息,并更新应用数据库;

N2、应用数据库产生状态改变事件,所述状态改变事件的事件属性包括应用ID和应用数据库ID;

N3、应用管理器监听到步骤N2所述的状态改变事件,根据应用数据库ID和应用ID查询应用数据库,获得与应用ID对应的应用信息,并根据应用信息中的应用属性实现应用控制符所指示的应用状态的改变。

针对本发明的第三个发明目的,本发明提出的技术方案为:

一种改变多个当前服务中应用状态的机顶盒,其特征在于,机顶盒至少包括:应用管理器、应用数据库创建管理模块、应用数据库模块,识别模块、定位管理数据库模块,其中,

应用管理器,用于接收来自服务器的状态改变命令,监听识别模块产生的状态改变事件,查询定位管理数据库模块并确定应用数据库ID,根据应用数据库ID查询应用数据库并获得应用属性,根据应用属性实现应用状态的改变;

应用数据库创建管理模块,用于创建应用数据库;

应用数据库模块,用于保存应用数据库;

识别模块,用于创建定位管理数据库,接收来自用户输入设备的状态改变命令,产生状态改变事件;

定位管理数据库模块,用于保存定位管理数据库。

较佳地,该机顶盒进一步包括:

资源管理器,用于实时检测资源使用情况,并在缺少资源时产生资源缺少事件;

所述应用管理器进一步用于监听资源缺少事件。

综上所述,本发明提出的一种改变多个当前服务中应用状态的方法、应用及装置,事先设置用于定位应用的定位ID,创建用于记录定位ID和应用数据库ID之间对应关系的定位管理数据库,并创建用于记录应用信息的应用数据库,所述应用数据库包括与多个当前服务一一对应的应用子数据库,并为每一个应用子数据库设置标识自身的应用数据库ID。当需要对多个当前服务中应用状态改变时,机顶盒可以准确地根据接收到的定位ID对该应用进行定位,获得应用数据库ID,从应用数据库ID所对应的应用子数据库确定该应用的应用属性,再根据应用属性实现对应用状态的改变。

附图说明

图1是实现应用的系统的基本结构示意图;

图2是本发明方案的流程图;

图3是应用本发明方案的方法实施例一的流程图;

图4是应用本发明方案的方法实施例二的流程图;

图5是应用本发明方案的方法实施例三的流程图;

图6是本发明实现改变应用状态的机顶盒的基本结构示意图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚,下面将结合附图及具体实施例对本发明作进一步地详细描述。

本发明的基本思想是:先对要进行状态改变的应用进行定位,并根据定位的结果从应用数据库中获得应用属性,再根据应用属性实现应用状态的改变。

本发明中,机顶盒可以同时实现多个服务,即有多个当前服务,每一个服务又可以包括多个应用。为了实现对应用状态的改变,首先就需要从多个服务中对应用进行准确定位。

实际应用中,机顶盒实现对应用状态的改变包括两种方法:第一种方法是机顶盒根据来自服务器的状态改变命令进行应用的状态改变,所述状态改变命令携带有服务ID和应用ID;第二种方法是机顶盒根据来自用户输入设备的状态改变命令进行应用状态的改变。

对于第二种方法来说,用户输入设备向机顶盒发送状态改变命令又包括两种情况:第一种情况是机顶盒同时为多个数字电视提供服务和应用,每一个数字电视都有自身的用户输入设备,可以单独向机顶盒发送状态改变命令,所述状态改变命令携带有电视终端ID和应用ID;第二种情况是机顶盒同时为一个多画面或多屏幕数字电视提供多个服务和应用,所有屏幕可以共用一个用户输入设备,该用户输入设备可以向机顶盒发送针对某个屏幕的状态改变命令,所述状态改变命令携带有屏幕ID和应用ID。当然,实际应用中,多个数字电视也可能共用同一个用户输入设备,而一个多屏幕的数字电视也可能分别为每一个屏幕配备不同的用户输入设备,只要机顶盒可以从状态改变命令中区分出该状态改变命令是针对哪个电视终端或屏幕即可。

显然,从多个服务中定位应用的方法有三种:(1)根据服务ID和应用ID进行定位;(2)根据电视终端ID和应用ID进行定位;(3)根据屏幕ID和应用ID进行定位。由于服务ID、电视终端ID和屏幕ID都可以定位应用,所以本发明将其统称为定位ID。

本发明中,机顶盒同时为多个数字电视或多屏幕数字电视提供服务和应用,每一个数字电视或屏幕都对应某个服务,或者说正在使用某个服务。本发明为每一个数字电视或屏幕创建了一个应用子数据库,用于记录该数字电视或屏幕正在使用的服务中所有应用的应用信息。所述的应用子数据库可以用应用数据库ID进行标识,所有的应用子数据库就构成了一个完整的应用数据库。另外,由于子数据库存在多个应用的应用信息,这些应用信息可以用设置的应用ID进行标识。

为了根据定位ID和应用ID对应用进行定位,本发明还需要创建一个定位管理数据库,用于记录定位ID和应用数据库ID之间的对应关系。当定位ID为服务ID时,所述的定位管理数据库为服务管理数据库,即用于记录服务ID和应用数据库ID之间的对应关系;当定位ID为电视终端ID时,所述的定位管理数据库为电视终端管理数据库,即用于记录电视终端ID和应用数据库ID之间的对应关系;当定位ID为屏幕ID时,所述的定位管理数据库为屏幕管理数据库,即用于记录屏幕ID和应用数据库ID之间的对应关系。当然,由于实际应用中,状态改变命令即可以由服务器发送,也可以由用户输入设备发送,可以将定位管理数据库设置为将服务管理数据库和电视终端管理数据库统一的定位管理数据库,或者定位管理数据库设置为将服务管理数据库和屏幕管理数据库统一的定位管理数据库。

图2显示了本发明方案的流程图。如图2所示,本发明实现应用状态改变的方法包括以下步骤:

步骤201:机顶盒根据来自外部的状态改变命令获得定位ID和应用ID。

这里所述的状态改变命令就是指来自服务器的状态改变命令,或来自用户输入设备的状态改变命令。

步骤202:根据定位ID查询定位管理数据库,并确定与定位ID对应的应用数据库ID。

步骤203:根据应用数据库ID和应用ID查询应用数据库,获得与应用ID对应的应用信息中的应用属性,并根据应用属性实现应用状态的改变。

实际应用中,应用信息一般包括:应用标识符、应用控制符、应用属性、应用优先级、应用代理的应用状态等信息。当机顶盒查询到应用属性时,可以将应用属性作为调用应用代理状态改变函数的参数,从而实现应用状态的改变。所述的应用代理是应用提供的接口,可以完成启动、暂停、重启、停止等命令。至于应用代理如何实现各种应用状态改变则属于现有技术,此处不再详细叙述。

方法实施例一

本实施例中,机顶盒同时为5个数字电视提供服务,即同时提供5个服务;每一个服务中包括3个应用;机顶盒创建了应用数据库和服务管理数据库;其中,应用数据库包括5个应用子数据库,每一个应用子数据库用应用数据库ID号进行标识,记录了每一个正在使用的服务中所有应用的应用信息;另外,服务管理数据库记录了5个服务ID与应用数据库ID之间的对应关系。本实施例中,应用数据库记录应用信息的形式可以如表一所示。

应用数据库ID    应用ID=1的    应用信息    应用ID=2的    应用信息    应用ID=3的    应用信息    1    2    ...    5

                            表一

本实施例中,服务管理数据库形式可以如表二所示。

    服务ID    应用数据库ID    10    1    11    2    12    3    13    4    14    5

             表二

图3显示了本实施例的流程图。如图3所示,本实施例实现应用状态改变的方法包括以下步骤:

步骤301:服务器向机顶盒的应用管理器发送携带有服务ID和应用ID的状态改变命令,应用管理器直接根据接收到的状态改变命令获得服务ID和应用ID。

步骤302:应用管理器根据服务ID查询服务管理数据库,获得与服务ID对应的应用数据库ID。

步骤303:应用管理器根据获得的应用数据库ID查询应用数据库,获得与应用数据库ID对应的应用信息中的应用属性。

步骤304:应用管理器根据获得的应用属性调用应用代理状态改变函数,实现应用状态的改变。

实际应用中,状态改变命令中还包括命令类型。比如:服务器将携带有命令类型为启动、服务ID值为10、应用ID值为2的状态改变命令发送给机顶盒的应用管理器时,应用管理器查询服务管理数据库,获得与服务ID值为10对应的应用数据库ID,即值为1的应用数据库ID;应用数据库再根据值为1的应用数据库ID查询应用数据库,并从应用ID值为2的应用信息中获得应用属性;之后,应用管理器根据获得的应用属性调用应用代理启动函数,即start()函数,实现启动第10个服务中第2个应用的目的。

实际应用中,状态改变命令中的命令类型还可以为暂停、重启、停止等,其实现方法与上述的启动方法相似,此处不再赘述。

当然,实际应用中,服务器可以多次向机顶盒的应用管理器发送不同的状态改变命令,比如:在向机顶盒发送启动命令之后,还可以反复暂停和重启命令,最后发送停止命令,应用管理器则按照接收到的状态改变命令依次调用pause()、resume()、destroy()函数,达到改变应用状态改变的目的。

方法实施例二

本实施例中,机顶盒同时向5个数字电视提供服务和应用,即同时提供5个服务;每一个服务中包括3个应用;机顶盒创建了应用数据库和电视终端管理数据库;其中,应用数据库包括5个应用子数据库,每一个应用子数据库用应用数据库ID号进行标识,记录了每一个正在使用的服务中所有应用的应用信息;另外,电视终端管理数据库记录了5个数字电视的电视终端ID与应用数据库ID之间的对应关系。

本实施例中,应用数据库的形式仍然如表一所示,电视终端管理数据库的形式如表三所述。

    电视终端ID    应用数据库ID    1    1    2    2    3    3    4    4    5    5

                表三

图4显示了本实施例的流程图。如图4所示,本实施例实现对应用状态改变的方法包括以下步骤:

步骤401:机顶盒的识别模块接收来自用户输入设备的状态改变命令。

实际应用中,用户输入设备向机顶盒发送状态改变命令的形式可以由应用本发明的用户自行确定,比如可以为电平信号或光信号,只要机顶盒的识别模块可以识别状态改变命令即可。

一般来说,实际应用中需要事先给每一个数字电视设置标识自身的电视终端ID。当某数字电视的用户输入设备向识别模块发送包括电视终端ID和应用ID等信息的电平信号或光信号时,识别模块就可以通过译码电路识别出电视终端ID和应用ID。当然,所述的电平信号或光信号还包括要到达的状态类型,比如:started状态、pause状态、destroy状态等,识别模块可以根据状态类型确定应用将要达到的状态。

实际应用中,电视终端和用户输入设备需要通过一个端口与机顶盒进行交互,电视终端和该端口之间是一一对应的,识别模块不但可以识别电视终端ID,也可以识别与之对应的端口ID。所以,实际应用中,既可以用电视终端ID来定位应用,也可以用端口ID来定位应用,即可以创建端口管理数据库来记录端口ID与应用数据库ID之间的对应关系。

步骤402:识别模块根据状态改变命令产生状态改变事件,所述状态改变事件的事件属性包括电视终端ID和应用ID。

实际应用中,识别模块可以包括硬件识别模块和软件识别模块。其中,硬件识别模块可以识别出来自用户输入设备的电平信号或光信号中的信息,而软件识别模块则根据硬件识别模块识别出的信息产生状态改变事件,事件的属性包括电视终端ID、将要达到的状态类型、应用ID等,将电平信号或光信号转换为机顶盒中软件程序可以识别和处理的事件。至于如何将电平信号或光信号转化为事件则与机顶盒低层的操作系统等相关,其过程比较复杂,此处不再详细叙述。

步骤403:机顶盒的应用管理器监听到所述状态改变事件,获得电视终端ID和应用ID。

实际应用中,机顶盒的应用管理器可以监听识别模块产生的状态改变事件,并可以从事件属性中获得电视终端ID和应用ID。至于应用管理器如何实现监听识别模块中产生的事件属于现有技术,此处不再赘述。

步骤404:应用管理器根据电视终端ID查询电视终端管理数据库,获得与电视终端ID对应的应用数据库ID。

步骤405:应用管理器根据获得的应用数据库ID查询应用数据库,获得与应用ID对应的应用信息中的应用属性。

步骤406:应用管理器根据应用属性调用应用代理状态改变函数,实现应用状态的改变。

本实施例中的步骤404~步骤406与实施例一中的步骤302~步骤304相似,此处不再赘述。

实际应用中,如果机顶盒为一个多屏幕数字电视提供多个服务和应用,其实现应用状态改变的方法与本实施例相似,其区别仅仅在于定位管理数据库不再是电视终端管理数据库,而是记录屏幕ID与应用数据库ID之间对应关系的屏幕管理数据库。当机顶盒接收到来自用户输入设备的状态改变命令后,应用管理器将根据获得的屏幕ID查询屏幕管理数据库,并获得与屏幕ID对应的应用数据库ID,再查询应用数据库获得应用属性,然后实现应用状态的改变。

本发明还提出一种可以改变应用状态的应用方法,即对多个当前服务中应用的生命周期进行管理。

应用的生命周期包括从启动到停止的过程,在启动和停止之间还可能存在暂停和重启。实际应用中,对应用进行启动、暂停、重启和停止可以由服务器进行控制,也可以由用户输入设备进行控制,或者分别由服务器和用户输入设备控制。

方法实施例三

本实施例中,机顶盒同时向5个数字电视提供服务和应用,即同时提供5个服务;每一个服务中包括3个应用;机顶盒创建了应用数据库和电视终端管理数据库;其中,应用数据库包括5个应用子数据库,每一个应用子数据库用应用数据库ID号进行标识,记录了每一个正在使用的服务中所有应用的应用信息;另外,定位管理数据库,即电视终端管理数据库,记录了5个数字电视的电视终端ID、服务ID、应用数据库ID之间的对应关系。

本实施例中,创建电视终端管理数据库的方法为:机顶盒的识别模块根据电视终端个数创建电视终端管理数据库,并将每一个电视终端ID号记录在该数据库中;应用数据库根据识别模块发送的电视终端个数创建应用数据库,所述应用数据库中包括应用子数据库,应用子数据库ID号与电视终端ID一一对应;应用数据库将事先获得的多个当前服务中应用的应用信息记录在相应的应用子数据库中,将事先获得的服务ID记录在相应的应用子数据库中,并将应用数据库ID和服务ID之间的对应关系记录在电视终端管理数据库中。

本实施例中,应用数据库的形式仍然如表一所示,而电视终端管理数据库如表四所示。

    电视终端ID    服务ID    应用数据库ID    ...    ...    ...

                     表四

图5显示了本实施例的流程。如图5所示,本实施例对应用的生命周期进行管理的方法为:

步骤501:机顶盒的识别模块接收来自用户输入设备的启动命令,并根据启动命令对应用进行启动。

本步骤中,机顶盒启动应用的方法为:机顶盒根据启动命令产生状态改变事件,所述状态改变事件的事件属性包括电视终端ID和应用ID;机顶盒的应用管理器监听到所述状态改变事件,获得电视终端ID和应用ID;所述应用管理器根据电视终端ID查询电视终端管理数据库并确定应用数据库ID;根据应用数据库ID和应用ID查询应用数据库,获得与应用ID对应的应用信息中的应用属性,并根据应用属性启动应用。

实际应用中,服务器也可以向机顶盒发送启动应用命令,其方法为:服务器将携带有服务ID和应用ID的启动命令发送给机顶盒,机顶盒直接从启动命令中获得服务ID和应用ID;应用管理器根据服务ID查询电视终端管理数据库并确定应用数据库ID;根据应用数据库ID和应用ID查询应用数据库,获得与应用ID对应的应用信息中的应用属性,并根据应用属性启动应用。

实际应用中,当应用启动之后,机顶盒将执行应用的过程,比如实现用户与服务器之间的交互。

步骤502:机顶盒的识别模块接收来自用户输入设备的暂停命令,并根据暂停命令对应用暂停。

本步骤中,机顶盒实现暂停应用的方法与步骤501相似,其区别仅仅在于执行的是暂停命令,此处不再赘述。

步骤503:机顶盒的识别模块接收来自用户输入设备的重启命令,并根据启动命令对应用进行重启。

本步骤与步骤501也基本相似,只是执行重启命令,此处不再赘述。

步骤504:应用管理器接收来自服务器的停止命令,并根据停止命令停止应用。

本步骤中,应用管理器停止应用的方法为:服务器将携带有服务ID和应用ID的停止命令发送给机顶盒,机顶盒直接从停止命令中获得服务ID和应用ID;应用管理器根据服务ID查询电视终端管理数据库并确定应用数据库ID;根据应用数据库ID和应用ID查询应用数据库,获得与应用ID对应的应用信息中的应用属性,并根据应用属性停止应用。

实际应用中,用户输入设备也可以向机顶盒发送停止命令,其方法与步骤501相似,此处不再详细叙述。

总之,不管服务器还是用户输入设备,都可以对应用进行启动、暂停、重启和停止,对应用的生命周期进行管理。当然,实际应用中,还可以反复对应用进行暂停和重启,即反复执行步骤502和步骤503。至于反复执行的次数则由对应用进行控制的实际情况确定。实际应用中,也可以在启动应用之后,不对应用暂停和重启,或者只对应用暂停,也就是说,可以不执行步骤503,或者步骤502和步骤503都不执行。

当然,实际应用中,机顶盒也可以向一个多屏幕的数字电视同时提供多个服务,其方法与本实施例基本相似,其区别仅仅在于定位管理数据库为记录屏幕ID、服务ID和应用数据库ID之间的对应关系,此处不再详细叙述。

应用实施例一和实施例二的方法,机顶盒可以根据服务器或用户输入设备的状态改变命令来实现对多个当前服务中应用状态的改变。

应用实施例三,机顶盒可以对多个当前服务中应用的生命周期进行管理。

实际应用中,改变应用状态的原因还包括以下三种情况:(1)服务器向机顶盒下发应用信息,所述应用信息包括更改过的应用控制符。(2)机顶盒的资源管理器产生资源缺少事件。(3)终端输入设备切换服务,向机顶盒发送切换服务命令。

对于第一种情况,服务器向用户提供服务和应用的过程中,会将服务、服务中的所有应用、应用的应用信息等下发给机顶盒,机顶盒则将应用信息记录在应用数据库中。如果机顶盒在实现某应用的过程中,比如在运行应用的过程中,服务器又向机顶盒下发该应用的新的应用信息,并且新的应用信息包括与原应用信息不同的应用控制符,则服务器可以利用更改应用控制符来改变应用的状态,其方法为:

X1、机顶盒将接收到的新的应用信息记录在应用数据库中,即更新应用数据库;

X2、应用数据库产生状态改变事件,其事件属性包括应用ID和应用数据库ID;

X3、应用管理器监听到状态改变事件,根据应用数据库ID和应用ID查询应用数据库,获得与应用ID对应的应用信息,并根据应用信息中的应用属性实现应用控制符所指示的应用状态的改变。

比如:在服务器向机顶盒下发的应用信息中,第2个服务中第1个应用的原应用信息的应用控制符的值为“自启动”,新的应用控制符值为“停止”,且第2个服务中的所有应用的应用信息保存在应用数据库ID值为2的应用子数据库中,即第2个应用子数据库。当机顶盒根据接收到的新的应用信息将应用控制符更改为“停止”时,应用数据库将产生状态改变事件,该状态改变事件的事件属性中应用ID值为1,应用数据库ID值为2。应用管理器监听到该状态改变事件,根据应用数据库ID和应用ID查询第2个应用子数据库,获得第1个应用的应用属性,再将第1个应用的应用属性作为参数调用应用代理的destroy()函数,从而实现改变应用状态的目的,即停止第2个服务中的第1个应用。

实际应用中,应用管理器还可以实时查询应用数据库。如果服务器向机顶盒下发了应用控制符为“自启动”的应用信息,机顶盒将该应用信息记录在应用数据库中。当应用管理器查询到应用控制符为自启动的应用信息时,应用管理器会根据该应用信息中的应用属性启动对应的应用,即调用应用代理start()函数

对于第二种情况,机顶盒中资源管理器会实时检测资源使用情况,当确定资源不够,影响向用户提供服务或应用的效果时,会产生资源缺少事件,该事件的事件属性包括资源ID和定位ID等。应用管理器监听到资源缺少事件,将查询定位管理数据库并确定与定位ID对应的应用数据库ID,再查询与应用数据库ID对应的应用子数据库,确定并停止所述应用子数据库的应用信息中优先级最低的应用。

至于资源管理器如何检测资源使用情况,并在资源不够时产生资源缺少事件则属于现有技术,此处不再赘述。

对于第三种情况,当用户输入设备向机顶盒发送切换服务命令,也可以引起机顶盒改变应用的状态。这里所述的切换服务命令的形式与用户输入设备向机顶盒发送状态改变命令相同,可以为电平信号或光信号。机顶盒根据用户输入设备发送的切换服务命令来改变应用状态的方法为:

Y1、机顶盒识别模块根据切换服务命令获得定位ID,再将定位管理数据库中与定位ID对应的服务ID更新为事先从服务器获得的服务ID,并产生事件属性包括定位ID的定位数据库更新事件。

这里所述的定位ID为电视终端ID或屏幕ID,所述的定位管理数据库为电视终端管理数据库或屏幕管理数据库,而且所述的电视终端管理数据库或屏幕管理数据库中还包括对应的服务ID,其数据库的形式如表五所示。

电视终端ID或屏幕ID    服务ID    应用数据库ID...    ...    ...

                        表五

实际应用中,当切换服务时,服务器会将服务、服务对应的服务ID、服务中的所有应用以及应用信息等下发给机顶盒,机顶盒将根据获得的服务ID更新电视终端管理数据库或屏幕管理数据库中的服务ID,并产生电视终端管理数据库或屏幕管理数据库更新事件。

Y2、机顶盒的应用数据库创建管理模块监听到定位数据库更新事件,从定位管理数据库获得与定位ID对应的应用数据库ID和服务ID。

Y3、应用数据库创建管理模块根据应用数据库ID和应用信息更新应用数据库ID所对应的应用子数据库,并产生事件属性包括应用数据库ID的应用数据库更新事件,所述应用信息为事先从服务器获得的与服务ID对应的应用信息。

Y4、应用管理器监听到应用数据库更新事件,根据应用数据库ID判断更新后的应用子数据库ID所对应的应用数据库中是否存在正在运行的应用,如果有,则不作处理;否则,根据应用属性停止正在运行的应用。

实际应用中,一个应用可以只存在于一个服务中,即与服务进行绑定。当服务被切换时,与服务绑定的应用也需要被停止,即该应用的状态被改变为停止状态。一个应用也可以存在与多个服务中,即不与某服务绑定。当服务被切换时,如果切换后的服务中也有该应用,则该应用可以继续执行。

针对本发明实现改变应用状态的方法,本发明还提出一种可以实现改变应用状态的机顶盒。

图6显示了本发明中机顶盒的内部基本结构图。如图6所示,机顶盒包括:应用管理器601、应用数据库创建管理模块602、应用数据库模块603,识别模块604、定位管理数据库模块605,其中,

应用管理器601,用于接收来自服务器的状态改变命令,监听识别模块604产生的状态改变事件,查询定位管理数据库模块605并确定应用数据库ID,根据应用数据库ID查询应用数据库模块603,获得应用属性,根据应用属性实现应用状态的改变;

应用数据库创建管理模块602,用于创建应用数据库;

应用数据库模块603,用于保存由应用数据库创建管理模块602创建的应用数据库;

识别模块604,用于创建定位管理数据库,接收并识别来自用户输入设备的状态改变命令,产生状态改变事件;

定位管理数据库模块605,用于保存由识别模块604创建的定位管理数据库。

机顶盒既可以接收来自服务器的状态改变命令,又可以接收来自用户输入设备的状态改变命令。如果机顶盒接收来自服务器的状态改变命令,该状态改变命令包括服务ID和应用ID,定位管理数据库模块605保存的是用于记录服务ID和应用数据库ID之间对应关系的服务管理数据库。如果机顶盒接收来自用户输入设备的状态改变命令,该状态改变命令包括电视终端ID或屏幕ID,还包括应用ID,则定位管理数据库模块605保存的是用于记录电视终端ID和应用数据库ID之间对应关系的电视终端管理数据库,或者保存用于记录屏幕ID和应用数据库ID之间对应关系的屏幕管理数据库。

当应用管理器601接收到来自服务器的携带有服务ID和应用ID的状态改变命令时,应用管理器601根据服务ID查询定位管理数据库模块605中的服务管理数据库,并确定与服务ID对应的应用数据库ID;应用管理器601再根据确定的应用数据库ID查询应用数据库模块603,获得与应用ID对应的应用属性;应用管理器601再根据获得的应用属性实现应用状态的改变。

当识别模块604接收并识别来自用户输入设备的状态改变命令,产生状态改变事件,所述状态改变事件的事件属性包括应用ID和定位ID,这里的定位ID可能为电视终端ID或屏幕ID;应用管理器601监听到识别模块604产生的状态改变事件,根据电视终端ID或屏幕ID查询定位管理数据库模块605中的电视终端管理数据库或屏幕管理数据库,确定与电视终端或屏幕ID对应的应用数据库ID;应用管理器601再根据确定的应用数据库ID查询应用数据库模块603,获得与应用ID对应的应用属性;应用管理器601再根据获得的应用属性实现应用状态的改变。

实际应用中,机顶盒中还可以包括一个资源管理器,用于实时检测资源使用情况,并在缺少资源时产生资源缺少事件;而所述应用管理器601进一步用于监听资源缺少事件。

当资源管理器产生资源缺少事件时,应用管理器601将监听到资源缺少事件,并对资源缺少事件进行处理,即查询定位管理数据库模块605,并确定应用数据库ID,根据应用数据库ID查询应用数据库模块603,获得应用属性,再根据应用属性实现应用状态的改变。

综上所述,以上仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号