[发明专利]一种复合文档存储、读写方法和装置有效
申请号: | 201010042692.8 | 申请日: | 2010-01-08 |
公开(公告)号: | CN102122284A | 公开(公告)日: | 2011-07-13 |
发明(设计)人: | 邓立波;陈祎 | 申请(专利权)人: | 腾讯科技(深圳)有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 广州三环专利代理有限公司 44202 | 代理人: | 郝传鑫;潘中毅 |
地址: | 518057 广东省深圳*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 复合 文档 存储 读写 方法 装置 | ||
1.一种复合文档存储方法,其特征在于,该方法包括:
为复合文档的内部控制流预分配初始存储区域,所述初始存储区域为连续的扇区或扇区簇;
在所述初始存储区域内存储所述内部控制流,并当所述内部控制流大小超出所述初始存储区域时,预分配第二存储区域以便存储超出的内部控制流,所述第二存储区域也为连续的扇区或扇区簇。
2.如权利要求1所述的方法,其特征在于,
所述内部控制流为主扇区分配表、扇区分配表、短流存放流、短扇区分配表及目录流中的一种或多种;
并当所述内部控制流为主扇区分配表、扇区分配表、短流存放流、短扇区分配表及目录流中的多种时,所述为复合文档的内部控制流预分配初始存储区域是指,分别为各种不同的内部控制流预分配不同的初始存储区域。
3.如权利要求2所述的方法,其特征在于,所述方法还包括,
当所述超出的内部控制流超过第二存储区域大小时,根据预分配空间策略预分配新的存储区域存储内部控制流;
其中,所述预分配空间策略是指,在存储内部控制流时,当已分配的存储区域不够使用时,总是预分配新的存储区域来存储内部控制流,所有预分配的存储区域都分别为连续的扇区或扇区簇。
4.如权利要求3所述的方法,其特征在于,所述扇区簇是指大小为8k字节的连续完整的扇区;所述预分配空间策略中,预分配的初始存储区域大小为8k字节,预分配新的存储区域的大小依次为80k字节、800k字节、1M字节,当前一次预分配的存储区域大小为1M字节时,其后预分配的存储区域大小均为1M字节。
5.如权利要求1至4中任一项所述的方法,其特征在于,所述方法还包括:
为当前正处于打开状态的复合文档,预留数据流存储空间;
在预留的所述数据流存储空间中存储所述复合文档的数据流;
当该复合文档关闭时,释放预留的数据流存储空间中未使用的空间。
6.如权利要求5所述的方法,其特征在于,所述方法还包括:
记录当前处于打开状态的复合文档的预留数据流存储空间的状态;
所述为当前正处于打开状态的复合文档,预留数据流存储空间包括:当需要为复合文档申请预留数据流存储空间时,在扇区分配表中查找没有被使用的扇区或扇区簇,确认该没有被使用的扇区或扇区簇不是已预留的数据流存储空间,将该没有被使用的也不是已预留的数据流存储空间的扇区或扇区簇分配为该复合文档的预留数据流存储空间;
所述当该复合文档关闭时,释放预留的数据流存储空间中未使用的空间还包括:当该复合文档关闭时,删除关于该复合文档的预留数据流存储空间的状态的信息。
7.一种复合文档读写方法,其特征在于,所述复合文档采用如权利要求1所述的方法存储内部控制流,所述复合文档读写方法包括:
在读取内部控制流的扇区或扇区簇时,判断该扇区或扇区簇的相邻的一个或多个扇区或扇区簇中是否也存储了与该内部控制流同类的内部控制流;
若判断结果为是,则将所述扇区或扇区簇以及与其相邻的一个或多个扇区或扇区簇存储的数据一次性读入。
8.如权利要求7所述的方法,其特征在于,所述内部控制流为主扇区分配表、扇区分配表、短流存放流、短扇区分配表及目录流中的一种。
9.如权利要求7所述的方法,其特征在于,所述复合文档采用预留数据流存储空间存储数据流,所述复合文档读写方法还包括:
在读取数据流时,判断该数据流中是否存在连续的数据块,当判断结果为是时,按最大连续快分批读取该数据流;
在分配和释放扇区链表时,判断相应的内部控制流项是否连续,当判断结果为连续时,对该连续的内部控制流项进行批量操作。
10.一种复合文档存储装置,其特征在于,该装置包括:
控制流初始预分配模块,用于为复合文档的内部控制流预分配初始存储区域,所述初始存储区域为连续的扇区或扇区簇;
控制流第二预分配模块,用于在所述初始存储区域内存储所述内部控制流,并当所述内部控制流大小超出所述初始存储区域时,预分配第二存储区域以便存储超出的内部控制流,所述第二存储区域也为连续的扇区或扇区簇。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于腾讯科技(深圳)有限公司,未经腾讯科技(深圳)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201010042692.8/1.html,转载请声明来源钻瓜专利网。