当前位置: 首页 > 专利查询>微软公司专利>正文

对顺序存取存储介质上变长度数据的有效存取制造技术

技术编号:2866600 阅读:168 留言:0更新日期:2012-04-11 18:40
提供一种将可变长度数据段结合到顺序存取存储介质上、实现对顺序存取存储介质上可变长度数据的有效存取的方法和系统,包括根据估计介质偏移量,使用迭代查找特定数据偏移量,在顺序存取存储介质上对于可变长度数据段的存取。以可变长度数据段记录的数据按预设排列间隔排列。每个数据段包含一个预设标志字段,用来识别每个数据段的首部。记录在介质上的会话数据,用来防止与标志字段匹配的会话数据按预设排列间隔排列。数据段长度的大约或缺省参数用于每一个估计,并根据从介质上数据段首部得到的实际数据,在每次叠代中刷新。(*该技术在2020年保护过期,可自由使用*)

【技术实现步骤摘要】

一般地,本专利技术是关于顺序存取存储介质的,特别是关于在顺序存取存储介质上,存取可变长度数据段。
技术介绍
顺序存取存储介质,如磁带和WORM(一次写入、多次读取)光盘,典型地用于存储大量数据。相对于其它存储方法的选择,如磁盘、磁盘阵列或随机存取存储器(RAM),顺序存取存储介质提供了一种低成本存储的选择。但是,顺序存取存储介质的缺点是,对介质上特定位置的定位过程相对慢。对磁带来说,这种定位一般包括介质的机械前绕和/或后绕以便在磁带上定位于所需数据的适当位置。这样,对磁带上特定数据偏移量的定位,会导致顺序存取存储介质上,检索记录数据的整个进程产生大量的操作。将大量的数据流写到顺序存取存储介质时,最好将数据流分成较小的数据段,因为有几个原因第一,数据分段分配提高了错误恢复性。一个数据段含有一个首部和错误恢复参数,如校验和参数。如果一个很大的数据流包含一个数据段,在该数据段被确认前,整个数据流必须被读取。整个一个数据段的数据流还可能因为一个较小的错误而不可恢复。因此,如果数据流被分配成多个较小的数据段,单一数据段中的错误不会使整个数据流不可恢复。第二,最好使用较小的数据段,是因为数据段可以作为界线,以适应系统缓存的数据自动清空。一般地,在数据被实际存储到顺序存取存储介质前,应用程序将一块会话数据“写”到系统缓存。一些系统使用数据段界线来定义数据,使系统自动将缓存的数据清空,并记录到介质上。这里,“会话”是指一组数据记录到顺序存取介质上的完整进程。第三,最好使用较小的数据段,因为当“写”操作被初始化时,对应用程序来说,整个数据流的长度未知,这样就不能在数据段首部中存储数据段长度了。可选地,如果数据流被分成多个数据段,甚至当整个数据流的长度还未知时,应用程序也可以指定数据段的长度。一项减少在顺序存取存储介质上定位的操作耗费的技术,是使用固定长度数据段。即记录在顺序存取存储介质上的数据,被分配成存储在介质上的固定长度数据段。每个数据段典型地含有一个固定长度首部,连接在每个数据段的开始部分,例如,数据段索引,用来指定数据段内的数据开始部分、段内的数据长度和填充符的量。如果记录在段内的数据比整个固定长度数据段短,段内剩余部分被填充(也就是,后续会话数据被记录在下一个数据段,而不是当前数据段的其余部分)。应理解介质偏移量代表沿介质方向的顺序偏移量,包括首部、数据、校验和、和填充符;而数据偏移量只代表数据的顺序偏移量,不包括首部、数据、校验和、和填充符。为了定位特定的数据偏移量Od,程序(例如,操作系统,应用程序,系统驱动,或嵌入程序)使用简单的确定算术方法,计算出对于包含特定数据偏移量Od的数据段的介质偏移量。固定长度数据段的一个缺点是,数据段倾向于固定在大的值上(例如64KB(千字节)),这样,需要大量填充符,通过在介质上引入必要的浪费空间,减小了存储效率。为减少固定长度数据段引入的浪费空间,现有的一种途径使用可变长度数据段以减少固定长度数据段方法中过多的填充符。可变长度数据段意味着,数据段不必遵从预设固定长度,甚至在一些或多数数据段都具有相同长度时也是如此。但是,在固定长度数据段的方法中使用的简单确定位置的方法,在可变长度数据段中不起作用。因而,可变长度数据段方法包括,使每个读取头沿介质方向移动,将读取头按一个特定数据偏移量定位。沿介质上的每个首部的数据偏移量,和数据长度信息被顺序估算,直到到达包含特定数据偏移量Od的数据段。这一移动机制是费时的,特别是特定数据偏移量位于介质的尾部时更是如此。
技术实现思路
根据本专利技术,上述的和其它问题,通过将可变长度数据段结合到顺序存取存储介质上解决,而不需要在顺序存取存储介质顺序移动读取头。提供在顺序存取存储介质上,存取具有可变长度数据段数据的方法和程序产品。每个可变长度数据段包括一个具有预设标志字段的首部。在顺序存取存储介质上存储数据时,数据段按预设排列间隔排列。数据段被记录在顺序存取存储介质上,不使得与预设标志字段匹配的会话数据按预设排列间隔排列。从特定数据偏移量检索会话数据时,一个或多个估计介质偏移量被迭代估计以便在顺序存取存储介质上定位特定数据偏移量,每次估计从介质的上次估计向前或向后移动。定位在估计介质偏移量的每个数据段被估算以便确定它是否包含特定数据偏移量。当特定数据偏移量被找到,读写头定位在相应数据段并且记录在相应数据段中的所需数据被检索到。还提供在顺序存取存储介质上存取会话数据的系统。将会话数据存储到顺序存储介质上时,缓存接收并存储会话数据。分配模块在缓存中可变长度数据段分配会话数据。每个可变长度数据段,包括一个含有预设标志字段的首部。排列模块按预设排列间隔,将每个首部排列在顺序存取存储介质上。记录模块将每个可变长数据段记录到顺序存取存储介质上,从而不使与预设标志字段匹配的会话数据按预设排列间隔排列。在含有可变长度数据段的顺序存取存储介质上,从特定数据偏移量检索记录数据时,估算模块迭代估计一个或多个与数据段相联系的数据偏移量。读取头被设定,从顺序存取存储介质上,根据给出的介质偏移量读取数据。估算模块估算顺序存取存储介质上的估计介质偏移量,确定定位在每个估计介质偏移量的数据段,是否包含特定的数据偏移量。定位模块将读取头定位在顺序存取存储介质,包含特定数据偏移量的数据段上。输入模块从读取头输入,定位在特定数据偏移量数据段上的记录数据。附图说明图1示出了本专利技术一项具体实施例可以实现在其上的适当计算环境的方框图;图2A和图2B示出了本专利技术一项实施例中,含有可变长度数据段的顺序存取存储介质; 图3示出了本专利技术一项实施例中对于顺序存储介质存取以可变长度数据段记录的会话数据的操作的流程图;图4示出了本专利技术一项实施例中在顺序存储介质上存储会话数据的操作的流程图;图5A和图5B示出了本专利技术一项实施例中从顺序存储介质上按指定数据偏移量,检索数据的操作的流程图。具体实施例方式本专利技术一项实施例提供了在含有可变长度数据段的顺序存储介质上会话数据的存取。会话数据以可变长度数据段记录,按预设排列间隔排列。每个数据段含有一个预设标记域,用来识别数据段的首部。会话数据记录在介质上,防止与标记域匹配的会话数据以预设排列间隔排列。在顺序存取存储介质上检索会话数据,是根据估计介质偏移量,迭代查找特定数据偏移量。图1和随后的讨论用来对一个合适的计算环境提供一个简略和普遍的描述,本专利技术一项实施例运行其上。尽管不是必须的,本专利技术的实施例将用计算机可执行的指令,以普通文本描述,例如程序模块、对象、组件、数据结构等等,它们实现特定任务,或使用特定的抽象数据类型。而且那些本
的专业人士会意识到,本专利技术可以在其它设置的计算机系统上实现,如手持设备、多处理器系统、基于微处理器的或可编程的消费电子产品、网络PC、微型计算机、巨型计算机及类似系统。本专利技术同样可以在分布式计算环境上实现,在那种系统中,任务由通讯网络连接的远程处理设备完成。在分布式计算环境中,程序模块可以同时驻留本地和远程的记忆存储设备。而且,程序模块可以嵌入固件,并且可以由存储控制器的微处理器执行。参考图1,本专利技术一项实施例的操作环境是计算机系统100,包括计算机102,带有至少一个高速处理单元(CPU)104;连接一个存储系统106;本文档来自技高网
...

【技术保护点】
一种在包括一组可变长度数据段的顺序存取存储介质上按特定数据偏移量,检索记录数据的方法,该方法包括:叠代估计一个或多个与数据段相联系的估计介质偏移量;估算顺序存取存储介质上的每个估计介质偏移量,确定定位在每个估计介质偏移量的数 据段是否包含特定数据偏移量;在顺序存取存储介质上,定位包含指定数据偏移量的数据段;并且在数据段中以特定数据偏移量检索记录数据。

【技术特征摘要】
...

【专利技术属性】
技术研发人员:LF卡布拉AS克哈利得SR斯特纳
申请(专利权)人:微软公司
类型:发明
国别省市:US[美国]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1