机顶盒+linux服务,应用于低端Linux电视机顶盒内进程通信的系统及方法与流程
本发明涉及低端电视机顶盒通信技术领域,具体涉及一种应用于低端linux电视机顶盒内进程通信的系统及方法。
背景技术:
现有的低端电视机顶盒因内存、flash的限制,一般采用linux操作系统,而linux现有方式的ipc机制存在以下缺点:
管道:需在创建时分配一个page大小的内存,缓存区大小比较有限;
消息队列:信息复制两次,占用额外的cpu消耗;不合适频繁或信息量大的通信;
共享内存:控制机制复杂,进程同步困难;
socket:传输效率低。
技术实现要素:
为解决上述技术问题,本发明提出了一种应用于低端linux电视机顶盒内进程通信的系统及方法,以达到在内存、flash配置较低的环境下使进程间高效、稳定、大吞吐量传递数据的目的。
为达到上述目的,本发明的技术方案如下:一种应用于低端linux电视机顶盒内进程通信的系统,所述系统包括:终端内核、服务管理模块和dvb中间件,所述终端内核里集成有binder驱动以及binder类的相关接口,所述终端内核用于对数字信号进行转换;所述服务管理模块用于注册服务进行管理;所述dvb中间件用于前端平台系统与终端机顶盒之间的业务融合,所述终端内核与服务管理模块之间通过i/o通道进行数据传输,所述终端内核与dvb中间件之间通过i/o通道进行数据传输。
进一步地,所述binder驱动中设置有用于管理i/o通道的ioctl函数。
进一步地,所述dvb中间件向服务管理模块请求注册服务。
进一步地,所述方法包括在电视机顶盒的linux系统中增加binder驱动并封装binder类的相关接口;设置服务管理模块;设置dvb中间件并使dvb中间件继承bbinder类的相关接口。
进一步地,所述方法还包括在电视机顶盒的linux系统中的init.rc文件中添加configservice,所述configservice用于对dvb中间件中各后台服务模统一管理与监控。
本发明具有如下优点:
本发明通过在低端linux电视机顶盒内集成binder驱动,可以有效的在内存、flash配置较低的环境下使进程间高效、稳定、大吞吐量传递数据。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。
图1为本发明实施例公开的应用于低端linux电视机顶盒内进程通信的系统结构示意图;
图2为本发明实施例公开的低端linux电视机顶盒开机流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。
本发明提供了一种应用于低端linux电视机顶盒内进程通信的系统及方法,其工作原理是通过在低端linux电视机顶盒内集成binder驱动,以达到在内存、flash配置较低的环境下使进程间高效、稳定、大吞吐量传递数据的目的。
下面结合实施例和具体实施方式对本发明作进一步详细的说明。
如图1所示一种应用于低端linux电视机顶盒内进程通信的系统,所述系统包括:终端内核、服务管理模块(servicemanager)和dvb中间件,所述终端内核里集成有binder驱动以及binder类的相关接口,所述终端内核用于对数字信号进行转换;所述服务管理模块(servicemanager)用于注册服务进行管理;所述dvb中间件用于前端平台系统与终端机顶盒之间的业务融合,所述终端内核与服务管理模块(servicemanager)之间通过i/o通道进行数据传输,所述终端内核与dvb中间件之间通过i/o通道进行数据传输。
其中,所述binder驱动中设置有用于管理i/o通道的ioctl函数。
其中,所述dvb中间件向服务管理模块(servicemanager)请求注册服务。
其中,所述方法包括在电视机顶盒的linux系统中增加binder驱动并封装binder类的相关接口;设置服务管理模块(servicemanager);设置dvb中间件并使dvb中间件继承bbinder类的相关接口。
其中,所述方法还包括在电视机顶盒的linux系统中的init.rc文件中添加configservice,所述configservice用于对dvb中间件中各后台服务模统一管理与监控。
其中,dvb中间件实现继承于bbinder类的相关dvb接口,例如:demux、tuner、dvbplay等模块接口,应用程序实现继承于bpbinder类相关dvb接口。
其中,应用程序通过servicemanager模块查询所需服务,调用中间件后台服务模块(servicemanager)接口函数,应用程序可以是多个应用并行工作。
如图2所示,为低端linux电视机顶盒的开机流程,包括:
1、启动linux系统,加载binder驱动。
2、启动servicemanager服务管理模块。
3、读取config.yaml配置文件,根据配置内容向servicemanager服务管理模块注册dvb服务模块。
4、各dvb服务模块初始化中间件接口,监听消息。
5、客户端应用程序查询调用dvb服务模块接口函数。
6、当dvb服务模块监听到客户端调用请求后,响应处理,并将处理结果反馈给发出调用请求的客户端。
通过以上的方式,一种应用于低端linux电视机顶盒内进程通信的系统及方法,通过在低端linux电视机顶盒内集成binder驱动,以达到在内存、flash配置较低的环境下使进程间高效、稳定、大吞吐量传递数据的目的。
以上所述的仅是本发明所公开的一种应用于低端linux电视机顶盒内进程通信的系统及方法的优选实施方式,应当指出,对于本领域的普通技术人员来说,在不脱离本发明创造构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。
机顶盒+linux服务,应用于低端Linux电视机顶盒内进程通信的系统及方法与流程相关推荐
- 应用linux系统的机器人,一种基于linux的机器人系统及方法与流程
技术特征: 1.一种基于linux的ros+android+移动底盘rtos深度融合的机器人系统,其特征在于,包括器人主板.移动底盘以及云端,所述机器人主板为linux系统.ros系统以及androi ...
- Linux下进程通信的八种方法
Linux下进程通信的八种方法:管道(pipe),命名管道(FIFO),内存映射(mapped memeory),消息队列(message queue),共享内存(shared memory),信号量 ...
- java linux 服务_java项目部署Linux服务器几种启动方式总结经验
一:两种部署包: 部署之前先说下两种包,java项目部署到服务器一般有用war包的,也有用jar包的,微服务spring-cloud普及后大部分打包都是jar,部署之前先搞清楚自己要打war包还是ja ...
- linux的双核浏览器,一种Linux浏览器实现WebKit/IE双核无缝浏览系统及方法与流程...
技术特征: 1.一种Linux浏览器实现WebKit/IE双核无缝浏览系统,其特征在于,所述系统,包括,Linux端以及Windows端,其中, 所述Linux端,其访问远程网页,对所述远程网页进行识 ...
- linux 内核 死锁 检查,一种linux内核自旋锁死锁检测报告系统和方法与流程
本发明涉及内核死锁检测领域,具体的说是一种linux内核自旋锁死锁检测报告系统和方法. 背景技术: linux内核死锁是长期困扰内核开发人员的问题之一,但自内核引入lockdep调试模块之后,内核死锁 ...
- linux PTU 测试命令,一种自动运行PTU进行CPU测试的系统及方法与流程
本发明属于自动化测试CPU领域,具体涉及一种自动运行PTU进行CPU测试的系统及方法. 背景技术: PTU,是Intel® Performance Tuning Utility的缩写,是intel推出 ...
- python linux服务_Python脚本作为Linux服务/守护程序
哈o 我试图让python脚本在(ubuntu)linux上作为服务(守护程序)运行. 在网络上,存在几种解决方案,例如: 行为规范的Unix守护进程很难正确执行,但是每个守护程序所需的步骤几乎相同. ...
- linux服务开机启动chkconfig,Linux开机服务自启动之chkconfig命令详解
1. 了解chkconfig chkconfig是用于管理应用程序是否随系统自启动. chkconfig仅仅是高效管理工具,包括设置和查询,但并不必要.没有它,也有很多方法可以使程序开机自启动. ch ...
- linux服务 运维案例,linux运维实战练习案例-2015年12月20日-12月31日
1.创建一个10G的文件系统,类型为ext4,要求开机可自动挂载至单独数据/data目录: [[email protected] /]# cat /proc/partitions major mino ...
最新文章
- 聊一聊 SpringBoot 自动配置的原理
- python循环语句-python循环语句(第十节)
- 空客fctm避免已识别风险_最远可航行15000公里,南航首架空客A350飞机首航,将先飞广州-上海航线再飞国际...
- 玩转Google开源C++单元测试框架Google Test系列(gtest)之五 - 死亡测试
- ActiveMQ入门实例
- springboot redis shiro 实现 单点登录
- 小程序开发(12)-之分页封装
- 移动端的推拉效果导航菜单-支持响应式及其多层菜单
- linux如何查询一个文件夹大小,Linux下如何查看某个文件夹所占空间大小
- Matlab简单图像运算实例
- 国际会议关于Poster的一个网站
- vue的json格式化工具json-viewer
- 蓝牙小钢炮 - Bose 博士 Revolve 蓝牙音箱使用感受
- Android 标题栏阴影大小,主题-XUI - Android 原生 UI 框架-面试哥
- win10无法复制文件到system32,提示需要权限操作
- 迪文屏CRC16校验
- uniapp中输入框禁用表情与特殊符号
- DeepSpeed Chat: 一键式RLHF训练,让你的类ChatGPT千亿大模型提速省钱15倍
- python中字典的循环遍历的方式
- UE4打包项目部署到Quest遇到的问题