[发明专利]一种基于Android智能机顶盒的Loader方法有效
申请号: | 201210594801.6 | 申请日: | 2012-12-31 |
公开(公告)号: | CN103077057A | 公开(公告)日: | 2013-05-01 |
发明(设计)人: | 高志平 | 申请(专利权)人: | 浙江创佳数字技术有限公司 |
主分类号: | G06F9/445 | 分类号: | G06F9/445;H04N21/443 |
代理公司: | 杭州裕阳专利事务所(普通合伙) 33221 | 代理人: | 江助菊 |
地址: | 324300 浙江*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 android 智能 机顶盒 loader 方法 | ||
技术领域
本发明涉及一种基于Android智能机顶盒的Loader方法。
背景技术
Android是Google开发的基于Linux平台的开源手机操作系统的名称,该平台由操作系统、中间件、用户界面和应用软件组成,是首个为移动终端打造的真正开放的移动软件。由于其免费、开源、开放的特性,使得它在短短的几年内已经成为第一大智能手机操作系统。与此同时,很多数字电视及机顶盒厂商对Android趋之若鹜,纷纷把Android系统移植到数字电视及机顶盒上。基于DVB的机顶盒在软件升级上不仅要支持android的apk软件包升级方式,还需要支持在线升级整个机顶盒软件(即Loader)。
传统的Loader在得到升级信息后,即设置demux收数据,收到一个数据后马上分析数据并且写入flash或者缓存。在码率稍大(2Mbps以上)时,经常会丢包,一个下载周期不能下载完成,需要2个或者更多个周期才能完成下载任务。当遇到image文件经常比较大,经常需要半个多小时甚至更长时间才能下完,这是很难以忍受的。
发明内容
针对上述技术缺陷,本发明提出一种基于Android智能机顶盒的Loader方法。
为了解决上述技术问题,本发明的技术方案如下:
一种基于Android智能机顶盒的Loader方法,机顶盒将下载任务分为两个线程,第一个线程为收数据线程,所述第一个线程收集demux接收到的数据;第二个线程为section数据处理线程,根据第一个线程接收到的数据中的分区信息计算得出对应section数据块应该存放的正确位置并保存进文件或缓存,所述第一线程和所述第二线程同时操作一个双向循环链表,每个item存放一个section数据块,并有标志位标识此item是否已被占用,所述双向循环链表在所述第一线程和所述第二线程启动前初始化完毕,并开辟好2048个section数据块的缓存空间。
进一步的,两个线程启动后,收数据线程不停将收到的section数据块存入开辟的空间中,并置标志位,如果预先开辟的缓存用完,则申请新的空间,大小为取section数据块占空间和1024字节中大者,并将section数据块存入,section数据处理线程则不停检查当前指向的item是否已经置位,如是,则处理当前item存放的section数据块,并指向下一个item存放的section数据块,如果item没有置位,说明暂时没有数据,暂停此线程10ms,然后继续检查处理过程。
进一步的,当收数据线程不再接受数据,且section数据处理线程也停止处理数据后,进行flash烧写过程,通过对flash置位升级标志来判断flash是否烧录完成。
本发明的有益效果在于:在Android上实现符合DVB标准的Loader方法,为达到快速稳定下载升级文件的目的,本发明利用多线程,无锁双向循环链表等技术在(0-12)Mbps的码率范围内能在一个周期下载完升级文件,用以支持大数据量升级文件(可能超过200M)的稳定快速下载及升级。
附图说明
图1为打包后的TS流数据结构图;
图2为Download_Control_Section数据中Download Info表结构图;
图3为Download_Control_Section数据中partition control表结构图;
图4为Download_Control_Section数据中datagram表;
图5为双向循环链表的结构代码标示图。
具体实施方式
下面将结合附图和具体实施例对本发明做进一步的说明。
本发明中,其Loader流程跟现有技术不变,为:局端制作将制作好的升级文件分成一个个分区文件,打包成TS流,通过QAM(数字调制器)下发出去。机顶盒端通过分析NIT中描述符来判断是否有合适升级流,是否需要升级,如果需要升级则开始通过demux收数据并将数据整理合并成升级文件并开始flash数据的更新。
升级文件划分成分区文件的方法有2种。
第一种,按功能划分。每个分区文件都有特定功能,会对应到硬件nor-flash或者nand-flash上一个分区。例如,将升级文件划分为4个分区:启动画面(bootlogo.img),内核(kernel.img),root文件系统(root.img)system文件系统(system.img)。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浙江创佳数字技术有限公司,未经浙江创佳数字技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210594801.6/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种回转工作台
- 下一篇:一种处理移动终端运行卡顿问题的方法及装置