本发明涉及低端电视机顶盒通信技术领域,具体涉及一种应用于低端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电视机顶盒内进程通信的系统及方法与流程相关推荐

  1. 应用linux系统的机器人,一种基于linux的机器人系统及方法与流程

    技术特征: 1.一种基于linux的ros+android+移动底盘rtos深度融合的机器人系统,其特征在于,包括器人主板.移动底盘以及云端,所述机器人主板为linux系统.ros系统以及androi ...

  2. Linux下进程通信的八种方法

    Linux下进程通信的八种方法:管道(pipe),命名管道(FIFO),内存映射(mapped memeory),消息队列(message queue),共享内存(shared memory),信号量 ...

  3. java linux 服务_java项目部署Linux服务器几种启动方式总结经验

    一:两种部署包: 部署之前先说下两种包,java项目部署到服务器一般有用war包的,也有用jar包的,微服务spring-cloud普及后大部分打包都是jar,部署之前先搞清楚自己要打war包还是ja ...

  4. linux的双核浏览器,一种Linux浏览器实现WebKit/IE双核无缝浏览系统及方法与流程...

    技术特征: 1.一种Linux浏览器实现WebKit/IE双核无缝浏览系统,其特征在于,所述系统,包括,Linux端以及Windows端,其中, 所述Linux端,其访问远程网页,对所述远程网页进行识 ...

  5. linux 内核 死锁 检查,一种linux内核自旋锁死锁检测报告系统和方法与流程

    本发明涉及内核死锁检测领域,具体的说是一种linux内核自旋锁死锁检测报告系统和方法. 背景技术: linux内核死锁是长期困扰内核开发人员的问题之一,但自内核引入lockdep调试模块之后,内核死锁 ...

  6. linux PTU 测试命令,一种自动运行PTU进行CPU测试的系统及方法与流程

    本发明属于自动化测试CPU领域,具体涉及一种自动运行PTU进行CPU测试的系统及方法. 背景技术: PTU,是Intel® Performance Tuning Utility的缩写,是intel推出 ...

  7. python linux服务_Python脚本作为Linux服务/守护程序

    哈o 我试图让python脚本在(ubuntu)linux上作为服务(守护程序)运行. 在网络上,存在几种解决方案,例如: 行为规范的Unix守护进程很难正确执行,但是每个守护程序所需的步骤几乎相同. ...

  8. linux服务开机启动chkconfig,Linux开机服务自启动之chkconfig命令详解

    1. 了解chkconfig chkconfig是用于管理应用程序是否随系统自启动. chkconfig仅仅是高效管理工具,包括设置和查询,但并不必要.没有它,也有很多方法可以使程序开机自启动. ch ...

  9. linux服务 运维案例,linux运维实战练习案例-2015年12月20日-12月31日

    1.创建一个10G的文件系统,类型为ext4,要求开机可自动挂载至单独数据/data目录: [[email protected] /]# cat /proc/partitions major mino ...

最新文章

  1. 聊一聊 SpringBoot 自动配置的原理
  2. python循环语句-python循环语句(第十节)
  3. 空客fctm避免已识别风险_最远可航行15000公里,南航首架空客A350飞机首航,将先飞广州-上海航线再飞国际...
  4. 玩转Google开源C++单元测试框架Google Test系列(gtest)之五 - 死亡测试
  5. ActiveMQ入门实例
  6. springboot redis shiro 实现 单点登录
  7. 小程序开发(12)-之分页封装
  8. 移动端的推拉效果导航菜单-支持响应式及其多层菜单
  9. linux如何查询一个文件夹大小,Linux下如何查看某个文件夹所占空间大小
  10. Matlab简单图像运算实例
  11. 国际会议关于Poster的一个网站
  12. vue的json格式化工具json-viewer
  13. 蓝牙小钢炮 - Bose 博士 Revolve 蓝牙音箱使用感受
  14. Android 标题栏阴影大小,主题-XUI - Android 原生 UI 框架-面试哥
  15. win10无法复制文件到system32,提示需要权限操作
  16. 迪文屏CRC16校验
  17. uniapp中输入框禁用表情与特殊符号
  18. DeepSpeed Chat: 一键式RLHF训练,让你的类ChatGPT千亿大模型提速省钱15倍
  19. python中字典的循环遍历的方式
  20. UE4打包项目部署到Quest遇到的问题

热门文章

  1. 关于程序员35岁失业
  2. 绩效沟通之PROGROW模型实践
  3. Word必备实用技巧11-15,每一条都令人相见恨晚
  4. Docker学习-狂神版
  5. Servlet+jdbc+jsp增删改查
  6. 高保真数字人头《High-Fidelity 3D Digital Human Head Creation from RGB-D Selfies》
  7. 第六篇 - 手写基于接口实现动态代理
  8. 嵌入式培训学校哪个好?学习嵌入式好就业吗?
  9. 在线公开课】基于MDM9206的GoKit4(G)在线公开课
  10. vim 一些快捷键(防忘记)