CN101201755A - 一种数字接收终端的软件模块管理方法、***及设备 - Google Patents
一种数字接收终端的软件模块管理方法、***及设备 Download PDFInfo
- Publication number
- CN101201755A CN101201755A CNA2007100744064A CN200710074406A CN101201755A CN 101201755 A CN101201755 A CN 101201755A CN A2007100744064 A CNA2007100744064 A CN A2007100744064A CN 200710074406 A CN200710074406 A CN 200710074406A CN 101201755 A CN101201755 A CN 101201755A
- Authority
- CN
- China
- Prior art keywords
- plug
- message
- unit
- registration
- module
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Stored Programmes (AREA)
Abstract
本发明适用于数字通讯领域,提供了一种数字接收终端的软件模块管理方法、***及设备,所述方法包括下述步骤:注册***插件;接收插件的注册消息;接收操作需求消息,并将所述需求消息转发给注册相应消息的插件;所述插件处理所述需求消息。在本发明实施例中,各功能子模块通过插件的方式向主控模块注册消息,主控模块管理插件和转发消息,从而实现新增功能不影响原有的数字接收终端的***构架,减少各功能子模块之间的关联耦合以及支持多个相同模块。
Description
技术领域
本发明属于数字通讯领域,尤其涉及一种数字接收终端的软件模块管理方法、***及设备。
背景技术
现有技术中,数字接收终端(包括指机顶盒)包括主控模块和各功能子模块,其中主控模块包括各功能子模块,并负责管理各模块,例如***资源、输入输出模块、网络模块、浏览器以及媒体播放器等。开机后,主控模块控制各功能子模块进行初始化,各功能子模块向主控模块发送需求消息,根据各功能子模块的需求消息,状态机控制将该消息转发给需要该消息的各功能子模块。当各功能子模块根据接收到主控模块的消息操作完毕后,主控模块控制关闭各功能子模块,并释放***资源。在现有技术中各功能子模块之间直接以消息或函数调用方式进行通信。
这种数字接收终端的软件构架存在很大的缺陷,每次增加新功能,都需修改原有***架构,各功能子模块关系耦合,相互关联较多,不能支持多个相同模块,如图形用户接口(Graphical User Interface,GUI)播放器等,与底层硬件平台功能绑定太紧;以及调试和定位问题比较困难。
发明内容
本发明实施例的目的在于提供一种数字接收终端的软件模块管理方法,旨在解决现有技术中修改原有***构架难、耦合关联较多以及不支持相同模块的问题。
本发明实施例是这样实现的,一种数字接收终端的软件模块管理方法,所述方法包括下述步骤:
注册***插件;
接收插件的注册消息;
接收操作需求消息,并将所述需求消息转发给注册相应消息的插件;
所述插件处理所述需求消息。
本发明实施例的另一目的在于提供一种数字接收终端的软件模块的管理***,所述***包括:
插件注册模块,用于注册***插件;
注册消息接收模块,用于接收插件的注册消息;
需求消息接收转发模块,用于接收操作需求消息,并将所述需求消息转发给注册所述消息的相应插件;以及
需求消息处理模块,用于处理所述需求消息。
本发明实施例的另一目的在于提供一种数字接收终端,包括主控模块以及各功能子模块,所述数字接收终端还包括一数字接收终端的软件模块的管理***,所述***包括:
插件注册模块,置于主控模块端,用于注册***插件;
注册消息接收模块,置于主控模块端,用于接收插件的注册消息;
需求消息接收转发模块,置于主控模块端,用于接收操作需求消息,并将所述需求消息转发给注册所述消息的相应插件;以及
需求消息处理模块,置于各功能子模块端,用于处理所述需求消息。
在本发明实施例中,各功能子模块通过插件的方式向主控模块注册消息,主控模块管理插件和转发消息,从而实现新增功能不影响原有的数字接收终端的***构架,减少各功能子模块之间的关联耦合以及支持多个相同模块。
附图说明
图1是本发明实施例提供的数字接收终端的软件模块管理流程图;
图2是本发明实施例提供的人机交互界面的管理不同业务的示意图;
图3是本发明实施例提供的数字接收终端的软件模块管理***结构图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
在本发明实施例中,主控模块注册不同需求的功能插件,各功能子模块通过插件的方式向主控模块注册消息,主控模块管理插件和转发消息。
如图1所示,本实施例的数字接收终端软件模块管理方法的详细步骤如下:
在步骤S101中,操作***启动,启动所有公共资源,如各硬件设备。
在步骤S102中,注册及启动***所需的插件。
在本发明实施例中,插件的注册结构约定如下:
typedef struct CSDO_Module_t
{
void*pComponent;//模块全局变量
s_int32nModuleID;//模块ID
cs_int32nType;//模块类型
cs_int32nLevel;//级别
cs_int32nOption[MaxOptionLen];//能力属性
cs_int32IsNeedStartup;//是否需要启动
cs_int32(*fnOpen)(void**,void*);//启动函数
void(*fnClose)(void*);//关闭函数
}CSDO_Module_t
其中:
pComponet为插件自身需要传递的数据指针;
nModuleID为***分配给插件的ID号;
nType和nLevel为插件的类型和级别,由插件本身提供;
nOption为插件的属性,由插件本身提供;
IsNeedStart为插件注册后是否需要启动;
fnOpen和fnClose为插件启动和关闭回调函数,由主控模块调用。
在本发明的实施例中,根据配置参数自动注册插件,并分配nModuleID给插件,把CSDO_Module_t数据加入插件管理链表中,并将该插件标识为初始状态。如果插件的IsNeedStart属性为真,则调用插件的fnOpen函数,来初始化插件。初始化插件后状态置为启动状态。
当主控模块接收到插件注册消息时,分配nModuleID给插件,把CSDO_Module_t数据加入插件管理链表,标识为初始状态;如果IsNeedStart属性为真,则启动此插件,并把插件状态置为启动状态。
在步骤S103中,启动消息转发机制,接收该插件注册的需要处理的信息。
在本发明实施例中,插件调用CSDO_RegisterEvent向主控注册需要接收处理的消息,注册消息的结构如下:
typedef struct CSDO_RegisterEvent_t
{
cs_int32nMsg;/*消息的类型*/
CS_int32nModuleID;/*注册的插件ID*/
CSIP_EventCallback_fn fnControl;/*消息处理函数*/
}CSDO_RegisterEvent_t
注册数据内容为注册的消息类型(nMsg)、注册的插件ID(nModuleID)以及消息处理函数(fnEventCall),主控查询是否***定义了类型为nMsg的消息,如果有,则在消息类型为nMsg 的注册表项链表CSDO_RegisterEventEntry_t中增加一个节点CSDO_RegisterEventNode_t。
在本发明实施例中,主控模块本身也注册需要处理的消息。其中,每个消息可以注册多个插件,不同的的插件可以注册相同的处理请求消息。
在步骤S104中,主控模块接收用户的操作处理请求消息,该操作处理请求包括按键操作、打开或关闭某个插件等。
在步骤S105中,主控模块根据存储在注册消息队列中的注册消息将操作处理请求消息转发给注册该消息的插件。
主控模块收到非本身的注册消息,则调用CSDO_ProcessEvent来转发消息。主控根据消息类型找到对应的注册表项链表CSDO_RegisterEventEntry_t,依次调用此链表中所有节点处理函数fnControl,来进行消息转发。
在步骤S106中,各插件根据需要处理该消息,并将处理结果发送给主控模块。
在步骤S107中,主控模块将该处理结果反馈给等待处理的插件。
在步骤S108中,关闭所有注册插件。其中关闭插件与注册插件的方式一样,此处不再赘述。
作为本发明的一个实施例,当用户的所有操作结束后,主控模块给各插件发送消息,各插件向主控模块进行反注册,该反注册的过程也就是关闭所有注册插件的过程;当主控模块接收到反注册插件消息,表示有插件反注册,如果此插件状态为启动状态,则根据nModuleID调用此插件的fnClose函数关闭此插件运行的任务(或线程),并标识为初始状态,最后把此插件数据从插件管理链表中删除,当主控模块接收到关闭插件或者关机的消息时,如果插件启动则把插件状态设置为关闭状态,关闭插件。
作为本发明的一个优选实施例,图2示出了本发明实施例提供的人机交互界面的管理不同业务的示意图,在***启动过程中,主控模块注册了两个类型相同但是功能不同的用户接口(User Interface,UI)插件,分别是普通GUI插件以及浏览器插件;另外还注册了媒体播放器插件。其详细步骤如下:
1.1用户开机,启动所有公共资源。
1.2主控模块注册普通GUI插件。
1.3主控模块注册浏览器插件。
1.4主控模块注册媒体播放器插件。
1.5普通GUI插件向主控模块注册消息。
1.6浏览器插件向主控模块注册消息。
1.7媒体播放器插件向主控模块注册消息。
1.8主控模块本身也注册消息。
如上述步骤1.5、1.6、1.7、1.8中所描述的消息是指各插件需要处理的操作消息,例如按键操作消息等。
1.9用户通过按键操作向主控模块发出请求。
2.0主控模块将该按键消息发送给普通GUI插件。
2.1普通GUI插件接收到主控模块的按键消息后,发现当前页面是浏览器,因此抛弃此消息。
2.2主控模块将该按键消息发送给浏览器插件。
2.3浏览器插件接收到按键消息后,进行处理并发出“播放请求”消息给主控模块。
2.4主控模块根据消息转发机制,将浏览器插件发送的“播放请求”消息转发给媒体播放器插件。
2.5媒体播放器插件自行播放节目。
2.6当播放结束,用户向主控模块发送“关机键”消息。
2.7由步骤1.8知,主控模块也注册“关机键”消息,因此,主控模块将“结束”消息发送给普通GUI插件。
2.8普通GUI插件接收到结束消息后,向主控模块反注册插件。
2.9主控模块将结束消息发送给浏览器插件。
3.0浏览器插件接收到结束消息后,向主控模块发注册插件。
3.1主控模块将结束消息发送给媒体播放器插件。
3.2媒体播放器插件接收到“结束”消息后,向主控模块发注册插件。
在本发明实施例中,相同功能的模块以不同的插件向主控注册,但插件结构中nType相同,主控根据外部要求,通过插件结构中的nLevel级别标志和nOption能力属性数组,查询符合要求的插件来处理消息。
如图3所示,为了便于说明,仅示出了与本发明实施例相关的部分。本实施例的软件模块管理***内置于数字接收终端的软件单元、硬件单元或者软硬结合的单元。在本发明实施例中,数字接收终端包括指机顶盒。
主控模块11包括插件注册模块111、注册消息接收模块112、需求消息接收转发模块113以及插件反注册模块114。
插件注册模块111注册***插件,插件注册模块111,可以根据配置参数自动注册插件或者各插件发送的注册消息进行插件注册,该插件的注册方式有自动注册和通过消息机制注册两种方式;当***插件注册完成并且状态为启动状态时,注册消息接收模块112接收插件的注册消息,并将该注册消息存储在注册消息队列中,其中,主控模块11自身也注册需要处理的消息,并且不同的插件可以注册相同的处理消息;需求消息接收转发模块113接收用户的操作需求消息,例如用户对按键的相关操作;并将该需求消息转发给注册相应注册消息的插件;需求消息处理模块12处理所述需求消息,在本发明实施例中,当插件注册的消息类型与用户的操作需求消息不一致时,则需求消息处理模块12抛弃该主控模块转发的消息;若一致则处理该消息。
作为本发明的是一个实施例,当接收到反注册插件消息,如果此插件状态为启动状态,则插件反注册模块114根据nModuleID调用此插件的fnClose函数关闭此插件运行的任务(或线程),并标识为初始状态,最后把此插件数据从插件管理链表中删除。
在本发明实施例中,各功能子模块通过插件的方式向主控模块注册消息,主控模块管理插件和转发消息,从而实现新增功能不影响原有的数字接收终端的***构架,减少各功能子模块之间的关联耦合以及支持多个相同模块。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (9)
1.一种数字接收终端的软件模块管理方法,其特征在于,所述方法包括下述步骤:
注册***插件;
接收插件的注册消息;
接收操作需求消息,并将所述需求消息转发给注册所述消息的相应插件;
所述插件处理所述需求消息。
2.如权利要求1所述的数字接收终端的软件模块管理方法,其特征在于,所述方法还包括反注册插件的步骤。
3.如权利要求1或2所述的数字接收终端的软件模块管理方法,其特征在于,所述注册插件包括自动注册和通过消息机制注册两种方式。
4.一种数字接收终端的软件模块的管理***,其特征在于,所述***包括:
插件注册模块,用于注册***插件;
注册消息接收模块,用于接收插件的注册消息;
需求消息接收转发模块,用于接收操作需求消息,并将所述需求消息转发给注册所述消息的相应插件;以及
需求消息处理模块,用于处理所述需求消息。
5.如权利要求4所述的数字接收终端的软件模块的管理***,其特征在于,所述***还包括:
插件反注册模块,用于反注册插件。
6.如权利要求4或5所述的数字接收终端的软件模块的管理***,其特征在于,所述注册插件包括自动注册和通过消息机制注册两种方式。
7.一种数字接收终端,包括主控模块以及各功能子模块,其特征在于,所述数字接收终端还包括一数字接收终端的软件模块的管理***,所述***包括:
插件注册模块,置于主控模块端,用于注册***插件;
注册消息接收模块,置于主控模块端,用于接收插件的注册消息;
需求消息接收转发模块,置于主控模块端,用于接收操作需求消息,并将所述需求消息转发给注册所述消息的相应插件;以及
需求消息处理模块,置于各功能子模块端,用于处理所述需求消息。
8.如权利要求7所述的数字接收终端,其特征在于,所述***还包括:
插件反注册模块,用于反注册插件。
9.如权利要求7或8所述的数字接收终端,其特征在于,所述注册插件包括自动注册和通过消息机制注册两种方式。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNA2007100744064A CN101201755A (zh) | 2007-05-10 | 2007-05-10 | 一种数字接收终端的软件模块管理方法、***及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNA2007100744064A CN101201755A (zh) | 2007-05-10 | 2007-05-10 | 一种数字接收终端的软件模块管理方法、***及设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101201755A true CN101201755A (zh) | 2008-06-18 |
Family
ID=39516929
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA2007100744064A Pending CN101201755A (zh) | 2007-05-10 | 2007-05-10 | 一种数字接收终端的软件模块管理方法、***及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101201755A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101907991A (zh) * | 2010-06-30 | 2010-12-08 | 天津大学 | 一种基于插件技术的电力***分析软件接口实现方法 |
CN102413115A (zh) * | 2011-08-12 | 2012-04-11 | 乐视网信息技术(北京)股份有限公司 | 一种客户端插件*** |
CN103001800A (zh) * | 2012-11-28 | 2013-03-27 | 华为技术有限公司 | 软件实体自动发现方法、服务节点及设备 |
CN104636190A (zh) * | 2013-11-06 | 2015-05-20 | 中国石油天然气集团公司 | 软件***及插件间消息传递方法 |
CN107783849A (zh) * | 2017-09-27 | 2018-03-09 | 武汉斗鱼网络科技有限公司 | 事件处理方法及客户端 |
CN109901885A (zh) * | 2019-01-22 | 2019-06-18 | 中电和瑞科技有限公司 | 一种数据交互方法、插件管理器与计算机可读存储介质 |
-
2007
- 2007-05-10 CN CNA2007100744064A patent/CN101201755A/zh active Pending
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101907991A (zh) * | 2010-06-30 | 2010-12-08 | 天津大学 | 一种基于插件技术的电力***分析软件接口实现方法 |
CN102413115A (zh) * | 2011-08-12 | 2012-04-11 | 乐视网信息技术(北京)股份有限公司 | 一种客户端插件*** |
CN102413115B (zh) * | 2011-08-12 | 2015-05-13 | 乐视网信息技术(北京)股份有限公司 | 一种客户端插件*** |
CN103001800A (zh) * | 2012-11-28 | 2013-03-27 | 华为技术有限公司 | 软件实体自动发现方法、服务节点及设备 |
CN103001800B (zh) * | 2012-11-28 | 2016-03-30 | 华为技术有限公司 | 软件实体自动发现方法、服务节点及设备 |
CN104636190A (zh) * | 2013-11-06 | 2015-05-20 | 中国石油天然气集团公司 | 软件***及插件间消息传递方法 |
CN104636190B (zh) * | 2013-11-06 | 2018-03-13 | 中国石油天然气集团公司 | 软件***及插件间消息传递方法 |
CN107783849A (zh) * | 2017-09-27 | 2018-03-09 | 武汉斗鱼网络科技有限公司 | 事件处理方法及客户端 |
CN107783849B (zh) * | 2017-09-27 | 2021-01-01 | 武汉斗鱼网络科技有限公司 | 事件处理方法及客户端 |
CN109901885A (zh) * | 2019-01-22 | 2019-06-18 | 中电和瑞科技有限公司 | 一种数据交互方法、插件管理器与计算机可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102202289B (zh) | 一种通过移动终端远程调用软硬件资源的方法和*** | |
CN102510392B (zh) | 一种设备间共享应用的方法、***、电视及移动终端 | |
CN103024504B (zh) | 基于数字电视机顶盒的智能遥控*** | |
CN102421028B (zh) | 智能电视的控制方法、智能电视、遥控装置及控制*** | |
US20110302274A1 (en) | Architecture of a network device for processing applications, and control method for the network device | |
CN101227428B (zh) | 一种应用服务器及其远程控制方法 | |
CN101201755A (zh) | 一种数字接收终端的软件模块管理方法、***及设备 | |
CN102130900A (zh) | 一种三屏互动的实现方法及装置 | |
CN101350813A (zh) | 一种为数字家电提供WiFi接入互联网的方法和装置 | |
CN103516882B (zh) | 一种基于多屏互动场景图片播放方法及*** | |
US10521240B2 (en) | Digital device and method of processing screensaver thereof | |
CN108737529A (zh) | Sca波形控制方法、装置、计算机设备和存储介质 | |
CN108536492A (zh) | 一种直播间属性信息获取方法、装置、设备及存储介质 | |
CN104410875A (zh) | 实现iptv盒端业务零配置自动开通的***及方法 | |
CN1973282A (zh) | 用于管理针对集群配置的改变的***和方法 | |
CN102866925A (zh) | 一种中间件与用户界面的通信方法和*** | |
CN101854401A (zh) | 数据传输设备、方法及数据同步方法 | |
US8176343B2 (en) | Method for providing information for power management of devices on a network | |
CN101115180A (zh) | 一种电子节目菜单***及其功能模块动态加载运行方法 | |
CN104363486A (zh) | 一种组合电视的usb共享方法及组合电视 | |
CN103648047A (zh) | 智能电视资源搜索方法及*** | |
CN100518198C (zh) | 加快手机启动响应速度的方法 | |
CN101068351B (zh) | 一种移动终端数字电视数据的传输方法 | |
CN105427149A (zh) | 一种基于soa扩展框架的跨境电子商务bpo服务方法及装置 | |
CN101431659A (zh) | 一种交互式网络电视***及其处理方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |
Open date: 20080618 |