[发明专利]一种移动富媒体应用中大数据量压缩包的解压方法无效
申请号: | 201010540552.3 | 申请日: | 2010-11-12 |
公开(公告)号: | CN102024025A | 公开(公告)日: | 2011-04-20 |
发明(设计)人: | 丘志杰;俸志刚;罗建超 | 申请(专利权)人: | 电子科技大学 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 成都行之专利代理事务所(普通合伙) 51220 | 代理人: | 温利平 |
地址: | 611731 四川省成*** | 国省代码: | 四川;51 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 移动 媒体 应用 数据量 压缩 解压 方法 | ||
技术领域
本发明属于数据压缩包解压技术领域,更为具体地讲,涉及一种移动富媒体应用中大数据量压缩包的解压方法。
背景技术
随着智能手机的普及、3G及超3G时代的到来,各种应用的不断推出。在产业链各方面的推动下,互联网已经从电脑走向手机及其他移动终端。移动互联网不再局限于WAP上的图片、铃声、新闻和资讯等应用,博客、搜索、社区等早已延伸到移动互联网业务,同时游戏、音乐、影视、动画、位置服务、商务等服务,大众也将随时、随地体验到。
可见,移动互联网的内容也将步入海量化,而移动富媒体应用正是移动互联网中海量信息的一个最为典型的服务和展现形式,压缩和解压技术必然在移动富媒体应用中得到广泛地应用。然而作为移动终端的智能手机等嵌入式设备,其处理能力极其有限,并且这些移动终端系统平台种类繁多,不同的系统平台具有不同的特性,一套适应不同移动终端系统平台的压缩和解压的方案,是当前快速发展的移动互联网所必需的。
1、解压硬件软件的需求
移动终端平台不仅硬件性能比较低,而且其嵌入式操作系统也具有多样化和差异大的特点。众多移动终端系统平台其独特的特点,给大数据量压缩包的解压过程带来的特殊要求,例如:
(1)Symbian操作系统:虽然Symbian OS支持在进程内有多线程,但实际上并不鼓励使用多线程,应尽量避免使用多线程,而是使用一个“事件驱动的协作式多任务处理模型”——“活动对象”来代替。原因之一就是,运行大量的线程可能会由于上下文切换而使系统停顿下来。另外,线程之间的调度切换也需要系统的额外开销作为代价。活动对象在单个进程中模拟多个线程,但实际上,却只在单线程下执行,是通过活动调度器依次处理各个被激活的活动对象来模拟多个线程的。富媒体应用程序必定包含图形用户界面,用户界面(UserInterface,简称UI)事件也是由活动调度器来调度和处理的,则必然要求每个活动对象中进行的操作必须能够快速的完成,否则会造成UI事件的阻塞,影响用户体验。所以大数据量压缩包的解压过程要在Symbian平台上实现的话,最好不使用新的线程来完成解压操作,以避免影响用户操作的响应。
(2)brew平台:brew平台支持多线程,但是它的线程不是抢占式的,当前正在运行的线程必须主动放弃它的执行权,即当前线程要主动将自己挂起,然后其它线程才会得以调度。那么,大数据量压缩包的解压过程要在brew平台上实现的话,同样会造成UI事件的阻塞,影响用户体验。
所以,能够适应移动终端平台多样化的特点的解压方案,应该是在不使用多线程技术来完成解压操作的情况下也能够使UI事件得到很好的处理,不造成较长时间的UI事件的阻塞,使移动终端上的富媒体应用程序对于用户操作的响应和UI图像显示能够在用户可接受的时延范围内畅通的进行。
2、解压效率需求
对于一个数据量较大的压缩包,应用程序可能需要先检查压缩包中某个文件,例如证书、配置文件等,然后根据检查结果再决定是否获取压缩包中的其它文件,或者只需要压缩包中的一部分文件而并不需要将全部文件都解压出来。要支持部分文件解压,那么必须要能够解压压缩包中的任意一个指定文件。要解压指定文件则必须要能够遍历压缩包中所有文件的入口信息,同时匹配各项信息,以确定指定文件是否在压缩包中,并获取指定文件的入口信息。获取文件的相关信息(如文件入口信息、文件名等)与获取文件数据两个过程应该是可以分离的,即解压文件数据的操作不需要紧随获取文件入口信息的操作之后,这样解压操作可以使用之前获取过并缓存下来的文件入口信息,避免对同一文件重复进行获取文件入口信息的操作,开源项目LiteUnzip的解压方式就有这种弊端。
图1是现有技术中LiteUnzip的解压流程图。
以ZIP/GZIP格式的压缩包的解压为例,对功能比较完善的开源项目LiteUnzip的解压流程进行说明,其解压步骤包括:
(1)、创建压缩句柄;
(2)、判断操作类型
可选操作类型包括:获取压缩包中的指定文件的入口信息和解压压缩包中的指定文件,是对压缩包中指定文件所进行的操作,在此步骤开始之前,必定是已经指定了要对压缩包中的哪个文件进行操作;如果是获取压缩包中的指定文件的入口信息,则进入步骤(3),如果是解压压缩包中的指定文件,则进入步骤(5),
(3)、从压缩包中获取指定文件的入口信息;
(4)、将指定文件的入口信息返回给函数调用者,进入步骤(8);
(5)、从压缩包中获取指定文件的入口信息;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于电子科技大学,未经电子科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201010540552.3/2.html,转载请声明来源钻瓜专利网。