基于對象存儲控制器的軟件設計與實現(xiàn)
發(fā)布時間:2020-06-15 23:25
【摘要】: 作為下一代互聯(lián)網(wǎng)信息存儲的核心技術(shù),基于對象的存儲系統(tǒng)結(jié)合了SAN(Storage Area Network)基于塊存儲和NAS(Network Attached Storage)基于文件存儲的優(yōu)勢,提供了功能更加豐富的對象接口,在數(shù)據(jù)共享、安全性及智能化方面得到突破,具有多層次、可擴展、高性能、高安全性的特點。 基于對象的存儲設備作為系統(tǒng)中的存儲實體,一方面需要承擔對象的存儲管理、設備安全管理、設備與外界的網(wǎng)絡通訊等功能;另外一方面需要實現(xiàn)設備的智能化,能夠分析負載特征和對象屬性,進行數(shù)據(jù)對象的預取和緩存。 基于對象的存儲設備在數(shù)據(jù)傳輸方面,采用Intel的微處理器80314,它內(nèi)部采用64位的交換結(jié)構(gòu)網(wǎng)絡;在數(shù)據(jù)處理方面,采用Intel的微處理器80200雙CPU。對外接口采用2個31244 SATA(Serial ATA)控制器和1個千兆物理層網(wǎng)絡控制器;趯ο蟮拇鎯υO備整個控制軟件構(gòu)建在實時操作系統(tǒng)TimeSys Linux之上,完成iSCSI(Internet SCSI)的命令解析以及OSD(Objected-based Storage Device)命令解析。由基于對象文件系統(tǒng)負責對象數(shù)據(jù)及其屬性在磁盤上的存放、空閑磁盤的空間管理,其中索引區(qū)的搜索,采用B+樹技術(shù),可以提高磁盤位置的索引速度;數(shù)據(jù)區(qū)的管理,采用Buddy算法技術(shù),可以提高磁盤空間的利用率;數(shù)據(jù)的動態(tài)預取算法,可以提高數(shù)據(jù)的讀取速度。由Intel GD 31244驅(qū)動程序完成對該芯片的控制,實現(xiàn)了DPA(Direct Port Access)的數(shù)據(jù)傳輸模式,使多個磁盤設備可以同時訪問,從而提供了更好的傳輸性能。 最后分別在開發(fā)板Intel 80314實現(xiàn)驅(qū)動程序的數(shù)據(jù)測試和在軟件平臺上實現(xiàn)OBFS(Object-based File System)文件系統(tǒng)的數(shù)據(jù)測試。驅(qū)動程序滿足磁盤的讀寫,文件系統(tǒng)在32KB緩存的性能優(yōu)化下和網(wǎng)絡文件系統(tǒng)性能相當。
【學位授予單位】:華中科技大學
【學位級別】:碩士
【學位授予年份】:2006
【分類號】:TP311.52;TP333
【圖文】:
圖 4.4 Item 結(jié)構(gòu)圖在枝節(jié)點中,指向 Extent 的指針與指向普通 Leaf node 結(jié)構(gòu)的指針是不同的。Extent 是一個連續(xù)的相鄰的數(shù)據(jù)塊,它屬于同一個對象。Extent 指針中僅包含這個連續(xù)塊的起始塊號和長度信息。由于一個 Extent 屬于一個對象,它在樹中僅需要一個 key 便可以表示。所有的節(jié)點都是用 item 的形式進行存儲的。每一個 item 包含以下內(nèi)容:key,指向這個 item body 的起始偏移,item body 的長度,一個表明此 item 類型的 ID號。所有節(jié)點的結(jié)構(gòu)圖見圖 4.4。采用 B+樹的索引檢索方法,實現(xiàn)了多路平衡查找的特點,提高了檢索效率,減少了訪問 OSD 設備的次數(shù)。2.數(shù)據(jù)區(qū) Buddy 管理算法數(shù)據(jù)區(qū)的分布圖如圖 4.5 所示。Buddy數(shù)組 Map大小 Map Segment1 Segment2 ... Segmentn圖 4.5 數(shù)據(jù)區(qū)分布圖
B B+1 B+2 B+3圖 4.6 Map 中的映射字節(jié)圖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應塊號字節(jié)ment
【學位授予單位】:華中科技大學
【學位級別】:碩士
【學位授予年份】:2006
【分類號】:TP311.52;TP333
【圖文】:
圖 4.4 Item 結(jié)構(gòu)圖在枝節(jié)點中,指向 Extent 的指針與指向普通 Leaf node 結(jié)構(gòu)的指針是不同的。Extent 是一個連續(xù)的相鄰的數(shù)據(jù)塊,它屬于同一個對象。Extent 指針中僅包含這個連續(xù)塊的起始塊號和長度信息。由于一個 Extent 屬于一個對象,它在樹中僅需要一個 key 便可以表示。所有的節(jié)點都是用 item 的形式進行存儲的。每一個 item 包含以下內(nèi)容:key,指向這個 item body 的起始偏移,item body 的長度,一個表明此 item 類型的 ID號。所有節(jié)點的結(jié)構(gòu)圖見圖 4.4。采用 B+樹的索引檢索方法,實現(xiàn)了多路平衡查找的特點,提高了檢索效率,減少了訪問 OSD 設備的次數(shù)。2.數(shù)據(jù)區(qū) Buddy 管理算法數(shù)據(jù)區(qū)的分布圖如圖 4.5 所示。Buddy數(shù)組 Map大小 Map Segment1 Segment2 ... Segmentn圖 4.5 數(shù)據(jù)區(qū)分布圖
B B+1 B+2 B+3圖 4.6 Map 中的映射字節(jié)圖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應塊號字節(jié)ment
【參考文獻】
相關(guān)期刊論文 前8條
1 陳莉君;Linux中PCI設備驅(qū)動程序的開發(fā)[J];計算機應用研究;2003年01期
2 李曉鈺,劉小龍,謝長生;PCI中斷機制初探[J];計算機應用研究;2004年03期
3 陳海華,楊晨暉,晏松;基于TriMedia處理器的嵌入式PCI網(wǎng)卡的設計與分析[J];計算機應用研究;2004年03期
4 諶勇輝,盧德良,陳澤文,彭澄廉;基于IP的Linux外設驅(qū)動生成[J];計算機工程與應用;2005年20期
5 吳嫻;嵌入式Linux文件系統(tǒng)的設計和實現(xiàn)[J];計算機工程與應用;2005年09期
6 周慶喜,劉強;基于嵌入式Linux系統(tǒng)的DVB-CI設備驅(qū)動程序開發(fā)[J];計算機應用;2005年07期
7 李娟,胡和平,郭耀輝,詹騫;PCI設備卡的Linux驅(qū)動程序設計[J];計算機工程;2003年04期
8 崔濤;劉慶文;胡s
本文編號:2715154
本文鏈接:http://sikaile.net/kejilunwen/jisuanjikexuelunwen/2715154.html
最近更新
教材專著