基于对象存储控制器的软件设计与实现
发布时间:2020-06-15 23:25
【摘要】: 作为下一代互联网信息存储的核心技术,基于对象的存储系统结合了SAN(Storage Area Network)基于块存储和NAS(Network Attached Storage)基于文件存储的优势,提供了功能更加丰富的对象接口,在数据共享、安全性及智能化方面得到突破,具有多层次、可扩展、高性能、高安全性的特点。 基于对象的存储设备作为系统中的存储实体,一方面需要承担对象的存储管理、设备安全管理、设备与外界的网络通讯等功能;另外一方面需要实现设备的智能化,能够分析负载特征和对象属性,进行数据对象的预取和缓存。 基于对象的存储设备在数据传输方面,采用Intel的微处理器80314,它内部采用64位的交换结构网络;在数据处理方面,采用Intel的微处理器80200双CPU。对外接口采用2个31244 SATA(Serial ATA)控制器和1个千兆物理层网络控制器。基于对象的存储设备整个控制软件构建在实时操作系统TimeSys Linux之上,完成iSCSI(Internet SCSI)的命令解析以及OSD(Objected-based Storage Device)命令解析。由基于对象文件系统负责对象数据及其属性在磁盘上的存放、空闲磁盘的空间管理,其中索引区的搜索,采用B+树技术,可以提高磁盘位置的索引速度;数据区的管理,采用Buddy算法技术,可以提高磁盘空间的利用率;数据的动态预取算法,可以提高数据的读取速度。由Intel GD 31244驱动程序完成对该芯片的控制,实现了DPA(Direct Port Access)的数据传输模式,使多个磁盘设备可以同时访问,从而提供了更好的传输性能。 最后分别在开发板Intel 80314实现驱动程序的数据测试和在软件平台上实现OBFS(Object-based File System)文件系统的数据测试。驱动程序满足磁盘的读写,文件系统在32KB缓存的性能优化下和网络文件系统性能相当。
【学位授予单位】:华中科技大学
【学位级别】:硕士
【学位授予年份】:2006
【分类号】:TP311.52;TP333
【图文】:
图 4.4 Item 结构图在枝节点中,指向 Extent 的指针与指向普通 Leaf node 结构的指针是不同的。Extent 是一个连续的相邻的数据块,它属于同一个对象。Extent 指针中仅包含这个连续块的起始块号和长度信息。由于一个 Extent 属于一个对象,它在树中仅需要一个 key 便可以表示。所有的节点都是用 item 的形式进行存储的。每一个 item 包含以下内容:key,指向这个 item body 的起始偏移,item body 的长度,一个表明此 item 类型的 ID号。所有节点的结构图见图 4.4。采用 B+树的索引检索方法,实现了多路平衡查找的特点,提高了检索效率,减少了访问 OSD 设备的次数。2.数据区 Buddy 管理算法数据区的分布图如图 4.5 所示。Buddy数组 Map大小 Map Segment1 Segment2 ... Segmentn图 4.5 数据区分布图
B B+1 B+2 B+3图 4.6 Map 中的映射字节图p 中 MaB 与 Segment 的映射示意图如图 4.7 所示,炓色表示已分配 Buddy 算法,分配一个类型为 t 的 Segment 则相当迅速:首先在 B查找下标为 t 的元素,看看是否有空闲 Segment,如果没有,则从类Segment 中分割一块。如果有,则按如下方式扫描 Map:先检查第 看 是 否 是 类 型 为 t 的 Segment , 如 果 是 , 则 返 回 , 否 则AX(t,TYPE(MaB)),前进 Step 个 MaB 后再检查该 MaB 是否为类型下去直至找到。00000000 00000000 00000000000000000000011000~3 4~7 8~1112~1516~192应块号字节ment
【学位授予单位】:华中科技大学
【学位级别】:硕士
【学位授予年份】:2006
【分类号】:TP311.52;TP333
【图文】:
图 4.4 Item 结构图在枝节点中,指向 Extent 的指针与指向普通 Leaf node 结构的指针是不同的。Extent 是一个连续的相邻的数据块,它属于同一个对象。Extent 指针中仅包含这个连续块的起始块号和长度信息。由于一个 Extent 属于一个对象,它在树中仅需要一个 key 便可以表示。所有的节点都是用 item 的形式进行存储的。每一个 item 包含以下内容:key,指向这个 item body 的起始偏移,item body 的长度,一个表明此 item 类型的 ID号。所有节点的结构图见图 4.4。采用 B+树的索引检索方法,实现了多路平衡查找的特点,提高了检索效率,减少了访问 OSD 设备的次数。2.数据区 Buddy 管理算法数据区的分布图如图 4.5 所示。Buddy数组 Map大小 Map Segment1 Segment2 ... Segmentn图 4.5 数据区分布图
B B+1 B+2 B+3图 4.6 Map 中的映射字节图p 中 MaB 与 Segment 的映射示意图如图 4.7 所示,炓色表示已分配 Buddy 算法,分配一个类型为 t 的 Segment 则相当迅速:首先在 B查找下标为 t 的元素,看看是否有空闲 Segment,如果没有,则从类Segment 中分割一块。如果有,则按如下方式扫描 Map:先检查第 看 是 否 是 类 型 为 t 的 Segment , 如 果 是 , 则 返 回 , 否 则AX(t,TYPE(MaB)),前进 Step 个 MaB 后再检查该 MaB 是否为类型下去直至找到。00000000 00000000 00000000000000000000011000~3 4~7 8~1112~1516~192应块号字节ment
【参考文献】
相关期刊论文 前8条
1 陈莉君;Linux中PCI设备驱动程序的开发[J];计算机应用研究;2003年01期
2 李晓钰,刘小龙,谢长生;PCI中断机制初探[J];计算机应用研究;2004年03期
3 陈海华,杨晨晖,晏松;基于TriMedia处理器的嵌入式PCI网卡的设计与分析[J];计算机应用研究;2004年03期
4 谌勇辉,卢德良,陈泽文,彭澄廉;基于IP的Linux外设驱动生成[J];计算机工程与应用;2005年20期
5 吴娴;嵌入式Linux文件系统的设计和实现[J];计算机工程与应用;2005年09期
6 周庆喜,刘强;基于嵌入式Linux系统的DVB-CI设备驱动程序开发[J];计算机应用;2005年07期
7 李娟,胡和平,郭耀辉,詹骞;PCI设备卡的Linux驱动程序设计[J];计算机工程;2003年04期
8 崔涛;刘庆文;胡s
本文编号:2715154
本文链接:https://www.wllwen.com/kejilunwen/jisuanjikexuelunwen/2715154.html