一种机顶盒嵌入android系统构架的方法转让专利

申请号 : CN201510859066.0

文献号 : CN105376647B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 吴太亮陈晓辉沈少阳

申请人 : 福建新大陆通信科技股份有限公司

摘要 :

本发明提供一种机顶盒嵌入android系统构架的方法,将android系统运行到linux平台的机顶盒硬件上,同时将DVB模块经过重新构建裁剪嵌入到android系统中;通过android系统控制linux平台机顶盒硬件,来实现DVB模块的各个功能。本发明将andoird系统嵌入有线数字DVB模块实现了机顶盒既满足观看网络视频,又能满足观看有线数字电视节目。

权利要求 :

1.一种机顶盒嵌入android系统构架的方法,其特征在于:

将android系统运行到linux平台的机顶盒硬件上,同时将DVB模块经过重新构建裁剪嵌入到android系统中;

所述将android系统运行到linux平台的机顶盒硬件上,同时将DVB模块经过重新构建裁剪嵌入到android系统中;具体为:

在机顶盒中设定7个so库、1个jar包以及1个可执行Bin文件,所述7个so库分别是dvb内核初始化库libdvbfyfmain.so、底层驱动接口库libdvbfyfprt.so、中间件内核库libdvbfyfmid.so、策略库libdvbfyfcfg.so、模块管理客户端库libtvmanager.so、模块管理服务库libtvmanagerservice.so、管理库jni层libtvmanager_jni.so;1个jar包为中间件java接口库DVBMidWareApi.jar;1个可执行Bin文件为:DVB服务进程TvosMainService.bin,其中中间件java接口库DVBMidWareApi.jar包用于android机顶盒上DVB模块功能应用的开发,所述libdvbfyfmain.so、libdvbfyfprt.so、libdvbfyfmid.so、libdvbfyfcfg.so四个库由linux平台上的中间件DVB模块经裁剪后嵌入到android上,负责实现DVB模块所需要的所有驱动功能;

所述libtvmanager.so、libtvmanagerservice.so库负责将底层DVB驱动功能向上封装,实现跨进程调用;所述libtvmanagerservice.so库为机顶盒binder中的服务端对接机顶盒驱动层;libtvmanager.so库为机顶盒binder的客户端对接机顶盒应用层;所述libtvmanager_jni.so库负责将libtvmanager.so封装到机顶盒java层,所述libtvmanager_jni.so库向下对接客户端的libtvmanager.so库,向上对接机顶盒Java层的DVBMidWareApi.jar包;而DVBMidWareApi.jar包向机顶盒应用层提供java接口用于DVB模块的APP开发;所述DVB服务进程TvosMainService.bin可执行文件为linux平台上的一个可执行bin文件,该文件执行开机服务并且开机服务在异常中止后能够自动重启服务而无需重新开机;该文件负责管理linux层级的所有DVB模块功能;上层应用所有对DVB模块功能的操作都最终会通过binder通信机制与该文件进行交互,从而实现对DVB模块功能的控制;

通过android系统控制linux平台机顶盒硬件,来实现DVB模块的各个功能。

2.根据权利要求1所述的一种机顶盒嵌入android系统构架的方法,其特征在于:

所述DVB模块的功能划分为如下几个模块:节目排序BAT服务管理模块、条件接收CA服务管理模块、频道服务管理模块、电子节目指南Epg服务管理模块、播放服务管理模块、预约服务管理模块、搜索服务管理模块、信号服务管理模块、定时器服务管理模块、以及服务管理总模块;所述服务管理总模块负责管理其他所有子模块,所有应用都需要通过服务管理总模块获取到各个子模块才能对相应的API接口进行调用。

说明书 :

一种机顶盒嵌入android系统构架的方法

技术领域

[0001] 本发明涉及dvb机顶盒技术领域,尤其涉及一种机顶盒嵌入android系统构架的方法。

背景技术

[0002] 随着android系统日益普及互联网机顶盒也快速发展,机顶盒运行andoird系统技术成熟,单互联网机顶盒主要用于播放网络视频,不能播放广电有线视频。如果能将andoird中嵌入有线数字dvb模块,那么既满足观看网络视频又能满足观看有线数字电视节目。
[0003] 现有技术中公开了一种“具有双系统的机顶盒及双系统通信方法”,见公开号为:CN103533435A,公开日为:2014-01-22的中国专利,该发明方法包括:S1:Android系统接收并分析控制设备发送的控制请求,得到分析结果;S2:当所述分析结果为请求Android系统功能时,执行步骤S3,当所述分析结果为请求DVB系统功能时,执行步骤S4到S6;S3:所述Android系统根据所述分析结果完成Android系统功能;S4:所述Android系统向DVB系统发送所述分析结果;S5:所述DVB系统的主模块解析所述分析结果,得到控制命令;S6:所述主模块判断所述控制命令是否符合预设规则,若是根据所述控制命令执行相应的子模块并返回执行结果,否则返回错误信息。该发明虽然在Linux系统上设计同时运行的DVB系统和Android系统,能够在机顶盒上同时实现DVB功能和Android系统功能,但是该发明的实现的技术方案跟本发明的并不相同。

发明内容

[0004] 本发明要解决的技术问题,在于提供一种机顶盒嵌入android系统构架的方法,将andoird系统嵌入有线数字DVB模块实现了机顶盒既满足观看网络视频,又能满足观看有线数字电视节目。
[0005] 本发明是这样实现的:一种机顶盒嵌入android系统构架的方法,[0006] 将android系统运行到linux平台的机顶盒硬件上,同时将DVB模块经过重新构建裁剪嵌入到android系统中;
[0007] 通过android系统控制linux平台机顶盒硬件,来实现DVB模块的各个功能。
[0008] 进一步的,所述将android系统运行到linux平台的机顶盒硬件上,同时将DVB模块经过重新构建裁剪嵌入到android系统中;具体为:
[0009] 在机顶盒中设定7个so库、1个jar包以及1个可执行Bin文件,所述7个so库分别是dvb内核初始化库libdvbfyfmain.so、底层驱动接口库libdvbfyfprt.so、中间件内核库libdvbfyfmid.so、策略库libdvbfyfcfg.so、模块管理客户端库libtvmanager.so、模块管理服务库libtvmanagerservice.so、管理库jni层libtvmanager_jni.so;1个jar包为中间件java接口库DVBMidWareApi.jar;1个可执行Bin文件为:DVB服务进程TvosMainService.bin,其中DVBMidWareApi.jar包用于android机顶盒上DVB模块功能应用的开发,所述libdvbfyfmain.so、libdvbfyfprt.so、libdvbfyfmid.so、libdvbfyfcfg.so四个库由linux平台上的中间件DVB模块经裁剪后嵌入到android上,负责实现DVB模块所需要的所有驱动功能;
[0010] 所述libtvmanager.so、libtvmanagerservice.so库负责将底层DVB驱动功能向上封装,实现跨进程调用;所述libtvmanagerservice.so库为机顶盒binder中的服务端对接机顶盒驱动层;libtvmanager.so库为机顶盒binder的客户端对接机顶盒应用层;所述libtvmanager_jni.so库负责将libtvmanager.so封装到机顶盒java层,所述libtvmanager_jni.so库向下对接客户端的libtvmanager.so库,向上对接机顶盒Java层的DVBMidWareApi.jar包;而DVBMidWareApi.jar包向机顶盒应用层提供java接口用于DVB模块的APP开发;所述TvosMainService.bin可执行文件为linux平台上的一个可执行bin文件,该文件执行开机服务并且开机服务在异常中止后能够自动重启服务而无需重新开机;该文件负责管理linux层级的所有DVB模块功能;上层应用所有对DVB模块功能的操作都最终会通过binder通信机制与该文件进行交互,从而实现对DVB模块功能的控制。
[0011] 进一步的,所述DVB模块的功能划分为如下几个模块:节目排序BAT服务管理模块、条件接收CA服务管理模块、频道服务管理模块、电子节目指南Epg服务管理模块、播放服务管理模块、预约服务管理模块、搜索服务管理模块、信号服务管理模块、定时器服务管理模块、以及服务管理总模块;所述服务管理总模块负责管理其他所有子模块,所有应用都需要通过服务管理总模块获取到各个子模块才能对相应的API接口进行调用。
[0012] 本发明具有如下优点:本发明将android系统运行到linux平台的机顶盒硬件上,同时将DVB模块经过重新构建裁剪嵌入到android系统中;通过android系统控制linux平台机顶盒硬件,来实现DVB模块的各个功能;实现了机顶盒既满足观看网络视频,又能满足观看有线数字电视节目。

附图说明

[0013] 图1为本发明方法流程示意图。
[0014] 图2为本发明方法中软件包的结构框架图。

具体实施方式

[0015] 请参阅图1所示,本发明的一种机顶盒嵌入android系统构架的方法,[0016] 将android系统运行到linux平台的机顶盒硬件上,同时将DVB模块经过重新构建裁剪嵌入到android系统中;
[0017] 通过android系统控制linux平台机顶盒硬件,来实现DVB模块的各个功能。
[0018] 其中,所述将android系统运行到linux平台的机顶盒硬件上,同时将DVB模块经过重新构建裁剪嵌入到android系统中;具体为:
[0019] 在机顶盒中设定7个so库、1个jar包以及1个可执行Bin文件,所述7个so库分别是dvb内核初始化库libdvbfyfmain.so、底层驱动接口库libdvbfyfprt.so、中间件内核库libdvbfyfmid.so、策略库libdvbfyfcfg.so、模块管理客户端库libtvmanager.so、模块管理服务库libtvmanagerservice.so、管理库jni层libtvmanager_jni.so;1个jar包为中间件java接口库DVBMidWareApi.jar;1个可执行Bin文件为:DVB服务进程TvosMainService.bin,其中DVBMidWareApi.jar包用于android机顶盒上DVB模块功能应用的开发,所述libdvbfyfmain.so、libdvbfyfprt.so、libdvbfyfmid.so、libdvbfyfcfg.so四个库由linux平台上的中间件DVB模块经裁剪后嵌入到android上,负责实现DVB模块所需要的所有驱动功能;
[0020] 所述libtvmanager.so、libtvmanagerservice.so库负责将底层DVB驱动功能向上封装,实现跨进程调用;所述libtvmanagerservice.so库为机顶盒binder中的服务端对接机顶盒驱动层;libtvmanager.so库为机顶盒binder的客户端对接机顶盒应用层;所述libtvmanager_jni.so库负责将libtvmanager.so封装到机顶盒java层,所述libtvmanager_jni.so库向下对接客户端的libtvmanager.so库,向上对接机顶盒Java层的DVBMidWareApi.jar包;而DVBMidWareApi.jar包向机顶盒应用层提供java接口用于DVB模块的APP开发;所述TvosMainService.bin可执行文件为linux平台上的一个可执行bin文件,该文件执行开机服务并且开机服务在异常中止后能够自动重启服务而无需重新开机;该文件负责管理linux层级的所有DVB模块功能;上层应用所有对DVB模块功能的操作都最终会通过binder通信机制与该文件进行交互,从而实现对DVB模块功能的控制。
[0021] 在本发明中,所述DVB模块的功能划分为如下几个模块:节目排序BAT服务管理模块、条件接收CA服务管理模块、频道服务管理模块、电子节目指南Epg服务管理模块、播放服务管理模块、预约服务管理模块、搜索服务管理模块、信号服务管理模块、定时器服务管理模块、以及服务管理总模块;所述服务管理总模块负责管理其他所有子模块,所有应用都需要通过服务管理总模块获取到各个子模块才能对相应的API接口进行调用。
[0022] 下面结合一具体实例对本发明作进一步说明:
[0023] 以搜索服务为例,机顶盒应用层的app初始化软件开发工具包sdk,然后获取dvb模块的服务管理总模块manager总服务,通过总服务找到搜索服务管理模块,然后设置搜索监听和策略监听,发生搜索参数给搜索服务管理模块,搜索服务管理模块服务获取到参数由libtvmanager.so库为机顶盒binder的客户端通过binder通信经libtvmanagerservice.so库为机顶盒binder中的服务端,调用dvb组件中mid模块启动搜索功能。
[0024] 以上所述仅为本发明的较佳实施例,凡依本发明申请专利范围所做的均等变化与修饰,皆应属本发明的涵盖范围。