[发明专利]实现在ZIP存档中的对象内的随机访问有效
申请号: | 201110423067.2 | 申请日: | 2011-12-16 |
公开(公告)号: | CN102542013A | 公开(公告)日: | 2012-07-04 |
发明(设计)人: | T.A.布尔丁 | 申请(专利权)人: | 微软公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 中国专利代理(香港)有限公司 72001 | 代理人: | 黄维;刘鹏 |
地址: | 美国华*** | 国省代码: | 美国;US |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 实现 zip 存档 中的 对象 随机 访问 | ||
背景技术
在计算领域内,许多场景涉及对使用压缩技术在zip存档内压缩的对象的存储。zip存档包括对象的压缩版本(在每个版本之前为描述对象的局部标头(例如文件名、为对象选择的压缩技术和压缩大小))的级联并且以包括一组如下集中标头的中心目录为结束,这些集中标头标识局部标头的地址。为了从zip存档提取对象,zip存档提取器可以读取中心目录、标识对象的局部标头在zip存档内的地址、在zip存档内寻找经压缩的数据的地址并且应用压缩技术以展开压缩对象。以这一方式,zip存档提取器能够提供对存储于zip存档内的对象的随机访问;例如访问zip存档中的特定对象未涉及zip存档中的其它对象。
发明内容
提供这一发明内容以简化形式介绍下文在具体实施方式中进一步描述的概念的选择。这一发明内容并非为了标识要求保护的主题内容的关键因素或者实质特征、也并非用来限制要求保护的主题内容的范围。
zip存档的格式促进对特定zip存档内的特定对象的随机访问。然而zip存档的格式未实现在存储于zip存档中的特定对象内的随机访问而是仅允许在压缩数据内的依次访问。例如zip存档提取器可以能够提取特定对象而未提取其它对象、但是经常不能访问对象的未在对象的开头开始的特定部分。这一缺陷可能在一些场景中不利。例如媒体对象可以用压缩方式存储于zip存档中,并且媒体再现应用(比如流媒体应用)可以努力在zip存档内寻找媒体对象内的特定位置(例如视频记录的特定时间码或者帧或者记录为单个对象的唱片特定轨道)。然而由于用可变压缩比压缩对象的不同部分(基于在该部分中包括的数据的规律),zip存档提取器可能不能标识对象的压缩版本内的所选部分在zip存档中的位置。实际上,zip存档提取器可能不得不依次展开对象的压缩数据直至到达所选部分。缺乏关于对象压缩的信息因此包括在调用zip存档提取器以访问存储于zip存档中的对象的随机选择的部分时的低效率。
这里呈现用于实现在存储于zip存档中的对象内的随机访问的技术。根据这些技术,针对将压缩到zip存档中的对象,这些技术的一个实施例可以首先选择如下分节(section)大小,该分节大小在对象的未压缩版本内限定可以随机寻找的周期位置。例如,如果分节大小限定为64千字节,则zip存档提取器可以能够随机寻找对象内的任何64千字节边界而对象保持压缩。这一选择因此在概念上将对象分割成固定大小的分节的序列。zip存档生成器可以在调用压缩技术以压缩对象之时记录与每个分节对应的压缩数据块的大小。zip存档生成器然后可以在zip存档内存储如下块表(block table),该块表针对相应对象表明包括对象压缩版本的块的块大小序列。
当接收对访问对象的所选部分的请求时,zip存档提取器可以标识对象的其中所选部分开始的未压缩分节。zip存档提取器然后可以检查块表以标识如下块的块大小,这些块直至与所选部分对应的块。zip存档提取器然后可以读取这个块(以及与压缩对象的也包括该部分的其它分节对应的任何后续块)并且可以调用压缩技术以展开这些块。可以修整以这一方式提取的分节以匹配于对象的指定部分,并且可以响应于请求来提供未压缩的数据。以这一方式可以实现对该对象的任意所选部分的随机访问。另外可以添加这一功能而通过在zip存档的zip扩展中存储块表来保存zip存档的向后兼容性(例如zip存档能够由不支持这一特征的zip存档生成器和zip存档提取器恰当解译)。例如,如果在zip存档的中心目录的zip扩展中包括块表,则支持这一特征的zip存档提取器可以读取和利用块表以提供对包含于其中的对象的随机访问,而不支持这一特征的zip存档提取器可以忽略不可用的zip扩展并且可以用别的方式能够利用zip存档。以这一方式,可以提供对存储于zip存档中的对象的内容随机访问的能力而未削弱zip存档的向后兼容性。
为了实现前述和有关目的,以下描述和附图阐述某些示例方面和实施方式。这些表明可以对一个或者多个方面进行实施的各种方式中的仅少数方式。本公开内容的其它方面、优点和新颖特征从在与附图结合考虑时的下文具体描述中将变得清楚。
附图说明
图1是以存储于zip存档中和/或从该zip存档提取的一组对象为特征的示例场景的图示。
图2是根据这里给出的技术的以存储于具有块表的zip存档中和/或从该zip存档提取的一组对象为特征的示例场景的图示。
图3是图示根据这里给出的技术的生成包括至少一个对象的zip存档的示例方法的流程图。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于微软公司,未经微软公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201110423067.2/2.html,转载请声明来源钻瓜专利网。
- 上一篇:喇叭接地短路保护系统
- 下一篇:一种耳机