專(zhuān)利名稱:對(duì)訪問(wèn)重新排序以減少對(duì)磁帶介質(zhì)的總查找時(shí)間的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及管理對(duì)保存在磁帶介質(zhì)上的數(shù)據(jù)的訪問(wèn),更具體地說(shuō),涉及對(duì)列表中的用戶數(shù)據(jù)段(UDS, User Data Segment)重新排序以減少UDS查找時(shí)間。
背景技術(shù):
對(duì)于相應(yīng)的波形系數(shù),用于數(shù)據(jù)存儲(chǔ)的磁帶介質(zhì)的容量不斷增大。例如,線性磁帶開(kāi)放(LTO,Linear Tape-Open)第5代介質(zhì)的固有容量為1. 5太字節(jié)(TB)。由于磁帶介質(zhì)的容量已增大,因此其應(yīng)用已發(fā)生變化。在過(guò)去,磁帶介質(zhì)主要用于數(shù)據(jù)備份和歸檔。目前,磁帶介質(zhì)還被用于虛擬磁帶服務(wù)器(VTS)、分級(jí)存儲(chǔ)管理(HSM)、和諸如長(zhǎng)期文件系統(tǒng)(LTFS)的文件系統(tǒng)。磁帶介質(zhì)的數(shù)據(jù)傳輸速率也一直不斷增大。例如,前述LTO第5代磁帶驅(qū)動(dòng)器的固有讀寫(xiě)傳輸速率為140MB/秒。數(shù)據(jù)傳輸速率的增大是通過(guò)使用數(shù)據(jù)壓縮方法來(lái)實(shí)現(xiàn)的。然而,對(duì)于LTO第5代磁帶驅(qū)動(dòng)器上的單條記錄的數(shù)據(jù)查找時(shí)間平均為I分鐘。查找時(shí)間較長(zhǎng)的一個(gè)原因是LTO第5代磁帶介質(zhì)的長(zhǎng)度(800米)及其大約10米/秒的相應(yīng)重定位速度的組合。另一個(gè)原因是磁帶驅(qū)動(dòng)器一般并不確實(shí)地知道目標(biāo)記錄在磁帶介質(zhì)上的實(shí)際物理位置。雖然較長(zhǎng)的查找時(shí)間通常被認(rèn)為是磁帶介質(zhì)的弱點(diǎn)之一,然而當(dāng)訪問(wèn)單條記錄或者其物理位置連續(xù)地位于磁帶介質(zhì)上的記錄序列時(shí),較長(zhǎng)的查找時(shí)間并不會(huì)呈現(xiàn)出過(guò)多的不利。然而,當(dāng)讀取并不連續(xù)地位于磁帶介質(zhì)上的目標(biāo)記錄序列時(shí),較長(zhǎng)的查找時(shí)間會(huì)呈現(xiàn)出額外的等待時(shí)間。在這些情況下,需要磁帶驅(qū)動(dòng)器卷繞和退卷磁帶介質(zhì),以搜索目標(biāo)記錄的位置。結(jié)果,讀取非連續(xù)記錄序列所用的時(shí)間總量會(huì)隨著目標(biāo)記錄的數(shù)目的增長(zhǎng)而顯著增大。
發(fā)明內(nèi)容
因而在第一方面,本發(fā)明提供一種管理對(duì)保存在磁帶介質(zhì)上的數(shù)據(jù)的訪問(wèn)的方法,所述方法包括接收從目標(biāo)磁帶介質(zhì)檢索用戶數(shù)據(jù)段的排序列表的請(qǐng)求;確定每個(gè)用戶數(shù)據(jù)段在目標(biāo)磁帶介質(zhì)上的物理位置;進(jìn)行重新排序操作以生成用戶數(shù)據(jù)段的重新排序列表,其中,按照用戶數(shù)據(jù)段在目標(biāo)磁帶介質(zhì)上的物理位置,對(duì)用戶數(shù)據(jù)段的順序重新排序;以及啟動(dòng)按照用戶數(shù)據(jù)段在重新排序列表上的順序從目標(biāo)磁帶介質(zhì)檢索用戶數(shù)據(jù)段。優(yōu)選地,重新排序操作由包含用于生成用戶數(shù)據(jù)段的重新排序列表的處理邏輯的磁帶驅(qū)動(dòng)器來(lái)處理。優(yōu)選地,重新排序操作由包含用于生成用戶數(shù)據(jù)段的重新排序列表的處理邏輯的磁帶庫(kù)來(lái)處理。優(yōu)選地,重新排序操作由包含用于生成用戶數(shù)據(jù)段的重新排序列表的處理邏輯的主機(jī)來(lái)處理。優(yōu)選地,各個(gè)用戶數(shù)據(jù)段包含多條數(shù)據(jù)記錄。優(yōu)選地,通過(guò)處理保存在以下之一中的用戶數(shù)據(jù)段磁帶介質(zhì)位置數(shù)據(jù)來(lái)確定用戶數(shù)據(jù)段在目標(biāo)磁帶介質(zhì)上的物理位置磁帶目錄(TD);文件標(biāo)志圖;高分辨率磁帶目錄(HRTD);或者虛擬HRTD。在第二方面,提供一種用于管理對(duì)保存在磁帶介質(zhì)上的數(shù)據(jù)的訪問(wèn)的系統(tǒng),所述系統(tǒng)包括處理器、耦接到處理器的數(shù)據(jù)總線、和裝置,所述裝置用于接收從目標(biāo)磁帶介質(zhì)檢索用戶數(shù)據(jù)段的排序列表的請(qǐng)求;確定每個(gè)用戶數(shù)據(jù)段在目標(biāo)磁帶介質(zhì)上的物理位置;進(jìn)行重新排序操作以生成用戶數(shù)據(jù)段的重新排序列表,其中,按照用戶數(shù)據(jù)段在目標(biāo)磁帶介質(zhì)上的物理位置,對(duì)用戶數(shù)據(jù)段的順序重新排序;以及啟動(dòng)按照用戶數(shù)據(jù)段在重新排序列表上的順序從目標(biāo)磁帶介質(zhì)檢索用戶數(shù)據(jù)段。優(yōu)選地,重新排序操作由包含用于生成用戶數(shù)據(jù)段的重新排序列表的處理邏輯的磁帶驅(qū)動(dòng)器來(lái)處理。優(yōu)選地,重新排序操作由包含用于生成用戶數(shù)據(jù)段的重新排序列表的處理邏輯的磁帶庫(kù)來(lái)處理。優(yōu)選地,重新排序操作由包含用于生成用戶數(shù)據(jù)段的重新排序列表的處理邏輯的主機(jī)來(lái)處理。優(yōu)選地,各個(gè)用戶數(shù)據(jù)段包含多條數(shù)據(jù)記錄。優(yōu)選地,通過(guò)處理保存在以下之一中的用戶數(shù)據(jù)段磁帶介質(zhì)位置數(shù)據(jù)來(lái)確定用戶數(shù)據(jù)段在目標(biāo)磁帶介質(zhì)上的物理位置磁帶目錄(TD);文件標(biāo)志圖;高分辨率磁帶目錄(HRTD);或者虛擬HRTD。在第三方面,提供一種包含保存在計(jì)算機(jī)可讀介質(zhì)上的計(jì)算機(jī)程序代碼的計(jì)算機(jī)程序,當(dāng)被載入計(jì)算機(jī)系統(tǒng)并在計(jì)算機(jī)系統(tǒng)上執(zhí)行時(shí),使所述計(jì)算機(jī)系統(tǒng)進(jìn)行按照第一方面的方法的所有步驟。第三方面的計(jì)算機(jī)程序可以計(jì)算機(jī)可用介質(zhì)的形式來(lái)提供,所述計(jì)算機(jī)可用介質(zhì)包含計(jì)算機(jī)程序代碼,所述計(jì)算機(jī)程序代碼包括計(jì)算機(jī)可執(zhí)行指令,所述計(jì)算機(jī)可執(zhí)行指令被配置成接收從目標(biāo)磁帶介質(zhì)檢索用戶數(shù)據(jù)段的排序列表的請(qǐng)求;確定每個(gè)用戶數(shù)據(jù)段在目標(biāo)磁帶介質(zhì)上的物理位置;進(jìn)行重新排序操作以生成用戶數(shù)據(jù)段的重新排序列表,其中,按照用戶數(shù)據(jù)段在目標(biāo)磁帶介質(zhì)上的物理位置,對(duì)用戶數(shù)據(jù)段的順序重新排序;以及啟動(dòng)按照用戶數(shù)據(jù)段在重新排序列表上的順序從目標(biāo)磁帶介質(zhì)檢索用戶數(shù)據(jù)段。第三方面的優(yōu)選計(jì)算機(jī)程序元件對(duì)應(yīng)于第一方面的優(yōu)選方法步驟特征。計(jì)算機(jī)可用介質(zhì)可包括可從位于遠(yuǎn)程位置的服務(wù)器部署到客戶端計(jì)算機(jī)的計(jì)算機(jī)可執(zhí)行指令。優(yōu)選地,計(jì)算機(jī)可執(zhí)行指令由服務(wù)提供者在按需基礎(chǔ)上提供給消費(fèi)者。因此公開(kāi)了對(duì)列表中的用戶數(shù)據(jù)段(UDS)重新排序以減少訪問(wèn)保存在磁帶介質(zhì)上的數(shù)據(jù)時(shí)的查找時(shí)間的方法、系統(tǒng)和計(jì)算機(jī)可用介質(zhì)。在各個(gè)實(shí)施例中,在磁帶驅(qū)動(dòng)器上、在磁帶庫(kù)上或者在主機(jī)中實(shí)現(xiàn)用戶數(shù)據(jù)段(UDS)列表重新排序模塊。在這些和其它實(shí)施例中,UDS列表重新排序模塊接收要從磁帶介質(zhì)檢索的目標(biāo)用戶數(shù)據(jù)段的排序列表。UDS列表重新排序模塊然后與目標(biāo)磁帶介質(zhì)進(jìn)行交互,所述目標(biāo)磁帶介質(zhì)一般包含磁帶目錄或者與各個(gè)記錄編號(hào)和其在磁帶介質(zhì)上的相應(yīng)物理位置之間的關(guān)系有關(guān)的其它信息。磁帶介質(zhì)再被磁帶驅(qū)動(dòng)器讀取,所述磁帶驅(qū)動(dòng)器能夠利用磁帶目錄或者其它信息來(lái)進(jìn)行查找操作,然后讀取相應(yīng)的數(shù)據(jù)記錄。在各個(gè)實(shí)施例中,磁帶驅(qū)動(dòng)器實(shí)現(xiàn)有知道哪個(gè)磁帶介質(zhì)包含目標(biāo)用戶數(shù)據(jù)段的磁帶庫(kù)。UDS列表重新排序模塊然后利用磁帶目錄或其它信息來(lái)處理目標(biāo)用戶數(shù)據(jù)段的排序列表,以確定每個(gè)用戶數(shù)據(jù)段在磁帶介質(zhì)上的物理位置。UDS列表重新排序模塊然后處理作為結(jié)果的物理位置以生成用戶數(shù)據(jù)段的重新排序列表,其中,用戶數(shù)據(jù)段的順序按照它們?cè)谀繕?biāo)磁帶介質(zhì)上的物理位置被重新排序。UDS列表重新排序模塊然后把用戶數(shù)據(jù)段的重新排序列表提供給在主機(jī)上實(shí)現(xiàn)的應(yīng)用程序,該應(yīng)用程序能夠進(jìn)行查找、重定位和讀取操作,以從磁帶介質(zhì)讀取用戶數(shù)據(jù)段。
下面參考附圖,舉例說(shuō)明本發(fā)明的優(yōu)選實(shí)施例,附圖中圖1描述了其中可實(shí)現(xiàn)本發(fā)明的例證客戶端計(jì)算機(jī);圖2是在磁帶驅(qū)動(dòng)器上實(shí)現(xiàn)的用戶數(shù)據(jù)段(UDS)列表重新排序模塊的簡(jiǎn)化方框圖;圖3是在磁帶庫(kù)上實(shí)現(xiàn)的UDS列表重新排序模塊的簡(jiǎn)化方框圖;圖4是在主機(jī)上實(shí)現(xiàn)的UDS列表重新排序模塊的簡(jiǎn)化方框圖;圖5是UDS列表重新排序模塊的操作的概括流程圖。
具體實(shí)施例方式公開(kāi)了用于對(duì)用戶數(shù)據(jù)段(UDS)列表重新排序以減少訪問(wèn)保存在磁帶介質(zhì)上的數(shù)據(jù)時(shí)的查找時(shí)間的方法、系統(tǒng)和計(jì)算機(jī)可用介質(zhì)。本領(lǐng)域的技術(shù)人員會(huì)理解,本發(fā)明可被實(shí)現(xiàn)成方法、系統(tǒng)或計(jì)算機(jī)程序產(chǎn)品。因而,本發(fā)明的實(shí)施例可以完全用硬件,完全用軟件(包括固件、駐留軟件、微代碼等),或者用結(jié)合軟件和硬件的實(shí)施例實(shí)現(xiàn)。這里,這些各個(gè)實(shí)施例一般都可被稱為“電路”、“模塊”或“系統(tǒng)”。此外,本發(fā)明可以采取計(jì)算機(jī)可用存儲(chǔ)介質(zhì)上的計(jì)算機(jī)程序產(chǎn)品的形式,所述計(jì)算機(jī)可用存儲(chǔ)介質(zhì)具有包含在所述介質(zhì)中的計(jì)算機(jī)可用程序代碼。可以利用任何適當(dāng)?shù)挠?jì)算機(jī)可用或計(jì)算機(jī)可讀介質(zhì)。計(jì)算機(jī)可用或計(jì)算機(jī)可讀介質(zhì)可以是例如(但不限于)電、磁、光、電磁、紅外或半導(dǎo)體系統(tǒng)、設(shè)備或裝置。計(jì)算機(jī)可讀介質(zhì)的更具體例子(非窮舉列表)可包括可移植計(jì)算機(jī)磁盤(pán)、硬盤(pán)、隨機(jī)存取存儲(chǔ)器(RAM)、只讀存儲(chǔ)器(ROM)、可擦可編程只讀存儲(chǔ)器(EPR0M或閃速存儲(chǔ)器)、可移植光盤(pán)只讀存儲(chǔ)器(CD-ROM)、光存儲(chǔ)裝置、或者磁存儲(chǔ)裝置。在本文的上下文中,計(jì)算機(jī)可用或計(jì)算機(jī)可讀介質(zhì)可以是能夠包含、保存、傳遞或傳送供指令執(zhí)行系統(tǒng)、設(shè)備或裝置使用的,或者結(jié)合指令執(zhí)行系統(tǒng)、設(shè)備或裝置使用的程序的任何介質(zhì)。可用諸如Java、Smalltalk、C++之類(lèi)的面向?qū)ο缶幊陶Z(yǔ)目,編寫(xiě)執(zhí)行本發(fā)明的操作的計(jì)算機(jī)程序代碼。然而,也可用諸如“C”編程語(yǔ)言或類(lèi)似編程語(yǔ)言之類(lèi)的常規(guī)過(guò)程編程語(yǔ)言,編寫(xiě)執(zhí)行本發(fā)明的操作的計(jì)算機(jī)程序代碼。程序代碼可完全在用戶的計(jì)算機(jī)上運(yùn)行,部分在用戶的計(jì)算機(jī)上運(yùn)行,作為獨(dú)立的軟件包,部分在用戶的計(jì)算機(jī)上運(yùn)行并且部分在遠(yuǎn)程計(jì)算機(jī)上運(yùn)行,或者完全在遠(yuǎn)程計(jì)算機(jī)或服務(wù)器上運(yùn)行。在后一情況下,遠(yuǎn)程計(jì)算機(jī)可通過(guò)局域網(wǎng)(LAN)或廣域網(wǎng)(WAN),連接到用戶的計(jì)算機(jī),或者可實(shí)現(xiàn)與外部計(jì)算機(jī)的連接(例如,利用因特網(wǎng)服務(wù)提供商,經(jīng)因特網(wǎng)實(shí)現(xiàn)與外部計(jì)算機(jī)的連接)。下面參考按照本發(fā)明的實(shí)施例的方法、設(shè)備(系統(tǒng))和計(jì)算機(jī)程序產(chǎn)品的流程圖和/或方框圖,說(shuō)明本發(fā)明的實(shí)施例。要明白流程圖和/或方框圖的每個(gè)方框,以及流程圖和/或方框圖中的各個(gè)方框的組合可用計(jì)算機(jī)程序指令實(shí)現(xiàn)。這些計(jì)算機(jī)程序指令可被提供給通用計(jì)算機(jī),專(zhuān)用計(jì)算機(jī)或者其它可編程數(shù)據(jù)處理設(shè)備的處理器,從而產(chǎn)生機(jī)器,使得借助計(jì)算機(jī)或其它可編程數(shù)據(jù)處理設(shè)備的處理器運(yùn)行的指令產(chǎn)生實(shí)現(xiàn)在流程圖和/或方框圖的一個(gè)或多個(gè)方框中指定的功能/動(dòng)作的裝置。這些計(jì)算機(jī)程序指令也可被保存在計(jì)算機(jī)可讀存儲(chǔ)器中,所述計(jì)算機(jī)可讀存儲(chǔ)器可指令計(jì)算機(jī)或其它可編程數(shù)據(jù)處理設(shè)備按特定方式運(yùn)行,使得保存在計(jì)算機(jī)可讀存儲(chǔ)器中的指令產(chǎn)生制成品,所述制成品包括實(shí)現(xiàn)在示意流程圖和/或示意方框圖的一個(gè)或多個(gè)方框中指定的功能/動(dòng)作的指令裝置。計(jì)算機(jī)程序指令也可被加載到計(jì)算機(jī)或其它可編程數(shù)據(jù)處理設(shè)備上,使得在所述計(jì)算機(jī)或其它可編程設(shè)備上執(zhí)行一系列的操作步驟,從而產(chǎn)生計(jì)算機(jī)實(shí)現(xiàn)的處理,使得在所述計(jì)算機(jī)或其它可編程設(shè)備上執(zhí)行的指令提供實(shí)現(xiàn)在流程圖和/或方框圖的一個(gè)或多個(gè)方框中指定的功能/動(dòng)作的步驟。圖1是其中可以利用本發(fā)明的例證客戶端計(jì)算機(jī)102的方框圖??蛻舳擞?jì)算機(jī)102包括耦接到系統(tǒng)總線106的處理器104??刂骑@示器110的視頻適配器108也耦接到系統(tǒng)總線106。系統(tǒng)總線106經(jīng)總線橋接器112耦接到輸入/輸出(I/O)總線114。I/O接口 116耦接到I/O總線114。I/O接口 116提供與各個(gè)I/O裝置的通信,所述各個(gè)I/O裝置包括鍵盤(pán)118、鼠標(biāo)120、光盤(pán)-只讀存儲(chǔ)器(CD-ROM)驅(qū)動(dòng)器122、磁帶驅(qū)動(dòng)器124(它可包括一個(gè)或多個(gè)磁帶,以形成磁帶庫(kù))、和閃存驅(qū)動(dòng)器126。連接到I/O接口 116的端口的格式可以是計(jì)算機(jī)體系結(jié)構(gòu)領(lǐng)域的技術(shù)人員已知的任意格式,包括(但不限于)通用串行總線(USB)端 口??蛻舳擞?jì)算機(jī)102能夠利用網(wǎng)絡(luò)接口 130,通過(guò)網(wǎng)絡(luò)128與服務(wù)提供者服務(wù)器152通信,網(wǎng)絡(luò)接口 130耦接到系統(tǒng)總線106。網(wǎng)絡(luò)128可以是諸如因特網(wǎng)的外部網(wǎng)絡(luò),或者諸如以太網(wǎng)網(wǎng)絡(luò)或者虛擬專(zhuān)用網(wǎng)絡(luò)(VPN)的內(nèi)部網(wǎng)絡(luò)。硬盤(pán)驅(qū)動(dòng)器接口 132也耦接到系統(tǒng)總線106。硬盤(pán)驅(qū)動(dòng)器接口 132與硬盤(pán)驅(qū)動(dòng)器134連接。在優(yōu)選實(shí)施例中,硬盤(pán)驅(qū)動(dòng)器134填充系統(tǒng)存儲(chǔ)器136,系統(tǒng)存儲(chǔ)器136也耦接到系統(tǒng)總線106。填充系統(tǒng)存儲(chǔ)器136的數(shù)據(jù)包括客戶端計(jì)算機(jī)102的操作系統(tǒng)(OS) 138和軟件程序144。0S138包括用于提供對(duì)諸如軟件程序144的資源的透明用戶訪問(wèn)的外殼140。通常,外殼140是提供解釋器以及用戶和操作系統(tǒng)之間的接口的程序。更具體地說(shuō),外殼140執(zhí)行被輸入命令行用戶接口中或者來(lái)自文件的命令。因此,外殼140 (在UNIX 中的稱謂)在Windows 中也被稱為命令處理器,通常是操作系統(tǒng)軟件層次的最高層級(jí),并且起命令解釋器的作用。外殼提供系統(tǒng)提示,解釋利用鍵盤(pán)、鼠標(biāo)或其它用戶輸入媒介輸入的命令,以及把解釋后的命令發(fā)送給操作系統(tǒng)的適當(dāng)較低層級(jí)(例如,內(nèi)核142)以便處理。雖然外殼140通常是基于文本的面向行的用戶接口,然而本發(fā)明也可支持其它用戶接口模式,比如圖形、語(yǔ)音、手勢(shì)等。如上所述,0S138還包括內(nèi)核142,內(nèi)核142可包括0S138的低級(jí)功能,包括0S138的其它部分和軟件程序144所需的基本服務(wù),包括內(nèi)存管理、進(jìn)程和任務(wù)管理、磁盤(pán)管理、以及鼠標(biāo)和鍵盤(pán)管理。軟件程序144可包括瀏覽器146和電子郵件客戶端148。瀏覽器146包括使萬(wàn)維網(wǎng)(WWW)客戶端(即,客戶端計(jì)算機(jī)102)能夠利用超文本傳輸協(xié)議(HTTP)消息傳送相對(duì)于因特網(wǎng)發(fā)送和接收網(wǎng)絡(luò)消息,從而能夠?qū)崿F(xiàn)與服務(wù)提供者服務(wù)器152的通信的程序模塊和指令。軟件程序144還包括用戶數(shù)據(jù)段(UDS)列表重新排序模塊150。UDS列表重新排序模塊150包括用于實(shí)現(xiàn)在下面說(shuō)明的圖2-4中描述的處理的代碼。在一個(gè)實(shí)施例中,客戶端計(jì)算機(jī)102能夠從服務(wù)提供者服務(wù)器152下載UDS列表重新排序模塊150。在客戶端計(jì)算機(jī)102中描述的硬件元件并不意圖是詳盡的,相反僅僅是代表性的,以突出本發(fā)明所使用的組件。例如,客戶端計(jì)算機(jī)102可包括另外的存儲(chǔ)裝置,比如盒式磁帶、數(shù)字通用光盤(pán)(DVD)、伯努利盒等。這些和其它變化都在本發(fā)明的精神和范圍之內(nèi)。這里使用的數(shù)據(jù)記錄被定義為(例如從主機(jī))提供的供磁帶驅(qū)動(dòng)器系統(tǒng)等處理和記錄的最小不同數(shù)據(jù)集,以及同樣的,可由磁帶驅(qū)動(dòng)器系統(tǒng)從磁帶讀取、重新處理和使其可用于例如主機(jī)的最小不同數(shù)據(jù)集。在各個(gè)實(shí)施例中,在主機(jī)上運(yùn)行的應(yīng)用程序通常一次寫(xiě)入或者讀取一組多條數(shù)據(jù)記錄(在這里被稱為用戶數(shù)據(jù)段)。在這些和其它實(shí)施例中,應(yīng)用程序一般調(diào)用加載命令來(lái)加載包含多個(gè)用戶數(shù)據(jù)段的磁帶介質(zhì)。一旦磁帶介質(zhì)被加載,應(yīng)用程序就調(diào)用重定位命令來(lái)查找目標(biāo)用戶數(shù)據(jù)段,接著調(diào)用讀取命令來(lái)讀取目標(biāo)用戶數(shù)據(jù)段。然后重復(fù)這些步驟,直到讀取了所有目標(biāo)用戶數(shù)據(jù)段。然而,在能夠進(jìn)行查找操作之前,磁帶驅(qū)動(dòng)器首先需要估計(jì)目標(biāo)數(shù)據(jù)記錄的物理位置。由于磁帶介質(zhì)可能包含數(shù)百萬(wàn)條數(shù)據(jù)記錄,把每條記錄的物理位置保存在磁帶介質(zhì)本身上并不總是可行。同樣地,估計(jì)數(shù)據(jù)記錄的物理位置也是困難的,因?yàn)槊織l數(shù)據(jù)記錄可能大小不同。結(jié)果,如果估計(jì)的數(shù)據(jù)記錄的物理位置遠(yuǎn)離其實(shí)際位置,那么數(shù)據(jù)記錄查找時(shí)間會(huì)增大。在各個(gè)實(shí)施例中,通過(guò)處理數(shù)據(jù)記錄編號(hào)和被索引到磁帶介質(zhì)上的預(yù)定物理范圍或區(qū)域的其它有關(guān)信息,來(lái)確定目標(biāo)用戶數(shù)據(jù)段的物理位置以及目標(biāo)用戶數(shù)據(jù)段的相關(guān)聯(lián)數(shù)據(jù)記錄。在這些和其它實(shí)施例中,數(shù)據(jù)記錄位置信息被保存在磁帶目錄(TD)、文件標(biāo)志圖、高分辨率磁帶目錄(HRTD)、或者虛擬HRTD中,或者本領(lǐng)域的技術(shù)人員熟悉的其它數(shù)據(jù)記錄索引方法。當(dāng)磁帶介質(zhì)被用于數(shù)據(jù)備份或歸檔時(shí),較長(zhǎng)的查找時(shí)間一般不成問(wèn)題。在一些情況下,僅讀取一個(gè)或幾個(gè)用戶數(shù)據(jù)段。在其它情況下,讀取更多的用戶數(shù)據(jù)段,但它們一般在磁帶介質(zhì)上是順序排列的,因此通常招致查找時(shí)間以定位第一個(gè)用戶數(shù)據(jù)段。然而,當(dāng)磁帶介質(zhì)被用于虛擬磁帶倉(cāng)庫(kù)(VTS)或者文件系統(tǒng)時(shí),通常會(huì)讀取磁帶介質(zhì)上的許多用戶數(shù)據(jù)段。例如,對(duì)VTS進(jìn)行的回收操作和對(duì)文件系統(tǒng)進(jìn)行的碎片整理操作會(huì)招致許多用戶數(shù)據(jù)段的讀取。在這些情況下,與各個(gè)查找操作相關(guān)聯(lián)的累積查找時(shí)間加在一起,導(dǎo)致性能降低。在各個(gè)實(shí)施例中,在磁帶驅(qū)動(dòng)器上、在磁帶庫(kù)上或者在主機(jī)中實(shí)現(xiàn)用戶數(shù)據(jù)段(UDS)列表重新排序模塊。在這些和其它實(shí)施例中,UDS列表重新排序模塊接收要從磁帶介質(zhì)檢索的目標(biāo)用戶數(shù)據(jù)段的排序列表。UDS列表重新排序模塊然后與目標(biāo)磁帶介質(zhì)進(jìn)行交互,所述目標(biāo)磁帶介質(zhì)一般包含磁帶目錄或者與各個(gè)記錄編號(hào)和其在磁帶介質(zhì)上的相應(yīng)物理位置之間的關(guān)系有關(guān)的其它信息。磁帶介質(zhì)再被磁帶驅(qū)動(dòng)器讀取,所述磁帶驅(qū)動(dòng)器能夠利用磁帶目錄或者其它信息來(lái)進(jìn)行查找操作,然后讀取相應(yīng)的數(shù)據(jù)記錄。在各個(gè)實(shí)施例中,磁帶驅(qū)動(dòng)器實(shí)現(xiàn)有知道哪個(gè)磁帶介質(zhì)包含目標(biāo)用戶數(shù)據(jù)段的磁帶庫(kù)。在各個(gè)實(shí)施例中,通過(guò)利用以下算法來(lái)確定第一用戶數(shù)據(jù)段’A’和第二用戶數(shù)據(jù)段,B,之間的距離CD')D= IE ⑷-S ⑶ I /V在該算法中,D是用戶數(shù)據(jù)段’A’和用戶數(shù)據(jù)段’B’之間的距離,E(X)是從磁帶的開(kāi)始到用戶數(shù)據(jù)段X的結(jié)尾的長(zhǎng)度,S(X)是從磁帶的開(kāi)始到用戶數(shù)據(jù)段X的起點(diǎn)的長(zhǎng)度,以及V是磁帶介質(zhì)查找用戶數(shù)據(jù)段的速度。UDS列表重新排序模塊然后利用計(jì)算的距離(,D’)信息來(lái)處理目標(biāo)用戶數(shù)據(jù)段的排序列表,以確定每個(gè)用戶數(shù)據(jù)段在磁帶介質(zhì)上的物理位置。UDS列表重新排序模塊然后處理作為結(jié)果的物理位置,以生成用戶數(shù)據(jù)段的重新排序列表,其中,用戶數(shù)據(jù)段的順序按照它們?cè)谀繕?biāo)磁帶介質(zhì)上的物理位置被重新排序。UDS列表重新排序模塊然后把用戶數(shù)據(jù)段的重新排序列表提供給在主機(jī)上實(shí)現(xiàn)的應(yīng)用程序,該應(yīng)用程序能夠進(jìn)行查找、重定位和讀取操作,以從磁帶介質(zhì)讀取用戶數(shù)據(jù)段。圖2是按照本發(fā)明的實(shí)施例,在磁帶驅(qū)動(dòng)器上實(shí)現(xiàn)的用戶數(shù)據(jù)段(UDS)列表重新排序模塊的簡(jiǎn)化方框圖。在本實(shí)施例中,磁帶庫(kù)206包括磁帶介質(zhì)210和磁帶驅(qū)動(dòng)器208,磁帶驅(qū)動(dòng)器208又包括用戶數(shù)據(jù)段(UDS)列表重新排序模塊250。主機(jī)202包括應(yīng)用程序204,應(yīng)用程序204能夠進(jìn)行與磁帶庫(kù)206、磁帶驅(qū)動(dòng)器208、UDS列表重新排序模塊250和磁帶介質(zhì)210相關(guān)聯(lián)的查找、重定位和讀取操作。如這里更詳細(xì)所述,應(yīng)用程序204把用戶數(shù)據(jù)段列表212提供給UDS列表重新排序模塊250,UDS列表重新排序模塊250確定每個(gè)用戶數(shù)據(jù)段在磁帶介質(zhì)210上的物理位置。一旦確定了物理位置,UDS列表重新排序模塊250就生成重新排序的用戶數(shù)據(jù)段列表216,所述重新排序的用戶數(shù)據(jù)段列表216然后被提供給應(yīng)用程序204。應(yīng)用程序然后利用重新排序的用戶數(shù)據(jù)段列表216來(lái)進(jìn)行重定位操作,以把磁帶介質(zhì)210重定位218到重新排序的用戶數(shù)據(jù)段列表216中的第一個(gè)用戶數(shù)據(jù)段。之后,應(yīng)用程序進(jìn)行讀取操作,以讀取220重新排序的用戶數(shù)據(jù)段列表216中的第一個(gè)用戶數(shù)據(jù)段。一旦讀取了第一個(gè)用戶數(shù)據(jù)段,應(yīng)用程序204就繼續(xù)利用重新排序的用戶數(shù)據(jù)段列表216來(lái)進(jìn)行重定位和讀取操作,以讀取重新排序的用戶數(shù)據(jù)面列表216中的剩余用戶數(shù)據(jù)段。本領(lǐng)域的技術(shù)人員會(huì)理解,如果磁帶驅(qū)動(dòng)器208在將來(lái)被新型磁帶驅(qū)動(dòng)器208替換,那么不需要對(duì)磁帶庫(kù)206或應(yīng)用程序204作出任何改變。圖3是按照本發(fā)明的實(shí)施例,在磁帶庫(kù)上實(shí)現(xiàn)的用戶數(shù)據(jù)段(UDS)列表重新排序模塊的簡(jiǎn)化方框圖。在本實(shí)施例中,磁帶庫(kù)206包括磁帶介質(zhì)210、磁帶驅(qū)動(dòng)器208、用戶數(shù)據(jù)段(UDS)列表重新排序模塊350、和磁帶目錄或者其它用戶數(shù)據(jù)段位置信息314。主機(jī)202包括應(yīng)用程序204,應(yīng)用程序204能夠進(jìn)行與磁帶庫(kù)206、磁帶驅(qū)動(dòng)器208、UDS列表重新排序模塊250和磁帶介質(zhì)210相關(guān)聯(lián)的查找、重定位和讀取操作。如這里更詳細(xì)所述,應(yīng)用程序204把用戶數(shù)據(jù)段列表212提供給UDS列表重新排序模塊350,UDS列表重新排序模塊350確定每個(gè)用戶數(shù)據(jù)段在磁帶介質(zhì)210上的物理位置。一旦確定了物理位置,UDS列表重新排序模塊350就生成重新排序的用戶數(shù)據(jù)段列表216,重新排序的用戶數(shù)據(jù)段列表216然后被提供給應(yīng)用程序204。應(yīng)用程序204然后利用重新排序的用戶數(shù)據(jù)段列表216來(lái)進(jìn)行重定位操作,以把磁帶介質(zhì)210重定位218到重新排序的用戶數(shù)據(jù)段列表216中的第一個(gè)用戶數(shù)據(jù)段。之后,應(yīng)用程序進(jìn)行讀取操作,以讀取220重新排序的用戶數(shù)據(jù)段列表216中的第一個(gè)用戶數(shù)據(jù)段。一旦讀取了第一個(gè)用戶數(shù)據(jù)段,應(yīng)用程序204就繼續(xù)利用重新排序的用戶數(shù)據(jù)段列表216來(lái)進(jìn)行重定位和讀取操作,以讀取重新排序的用戶數(shù)據(jù)段列表216中的剩余用戶數(shù)據(jù)段。本領(lǐng)域的技術(shù)人員會(huì)理解,如果期望的用戶數(shù)據(jù)段被記錄在多個(gè)磁帶介質(zhì)210盒中,那么本實(shí)施例允許磁帶庫(kù)206選擇目標(biāo)磁帶介質(zhì)210。
圖4是按照本發(fā)明的實(shí)施例,在主機(jī)上實(shí)現(xiàn)的UDS列表重新排序模塊的簡(jiǎn)化方框圖。在本實(shí)施例中,磁帶庫(kù)206包括磁帶介質(zhì)210和磁帶驅(qū)動(dòng)器208。主機(jī)202包括用戶數(shù)據(jù)段(UDS)列表重新排序模塊450、用戶數(shù)據(jù)段列表412和應(yīng)用程序204,應(yīng)用程序204能夠進(jìn)行與磁帶庫(kù)206、磁帶驅(qū)動(dòng)器208、UDS列表重新排序模塊250和磁帶介質(zhì)210相關(guān)聯(lián)的查找、重定位和讀取操作。在本實(shí)施例中,應(yīng)用程序204從磁帶庫(kù)206或者磁帶驅(qū)動(dòng)器208接收磁帶目錄、磁帶驅(qū)動(dòng)器和磁帶介質(zhì)信息412。UDS列表重新排序模塊450然后利用磁帶目錄、磁帶驅(qū)動(dòng)器和磁帶介質(zhì)信息412來(lái)確定每個(gè)用戶數(shù)據(jù)段在磁帶介質(zhì)210上的物理位置。一旦確定了物理位置,UDS列表重新排序模塊450然后處理用戶數(shù)據(jù)段列表412,以生成重新排序的用戶數(shù)據(jù)段列表416,重新排序的用戶數(shù)據(jù)段列表416然后被提供給應(yīng)用程序204。應(yīng)用程序然后利用重新排序的用戶數(shù)據(jù)段列表416來(lái)進(jìn)行重定位操作,以把磁帶介質(zhì)210重定位218到重新排序的用戶數(shù)據(jù)段列表216中的第一個(gè)用戶數(shù)據(jù)段。之后,應(yīng)用程序進(jìn)行讀取操作,以讀取220重新排序的用戶數(shù)據(jù)段列表216中的第一個(gè)用戶數(shù)據(jù)段。一旦讀取了第一個(gè)用戶數(shù)據(jù)段,應(yīng)用程序204就繼續(xù)利用重新排序的用戶數(shù)據(jù)段列表216來(lái)進(jìn)行重定位和讀取操作,以讀取重新排序的用戶數(shù)據(jù)段列表216中的剩余用戶數(shù)據(jù)段。圖5是按照本發(fā)明的實(shí)施例實(shí)現(xiàn)的用戶數(shù)據(jù)段(UDS)列表重新排序模塊的操作的概括流程圖。在本實(shí)施例中,在步驟502中開(kāi)始UDS列表重新排序操作,之后在步驟504中,確定是否在目標(biāo)磁帶驅(qū)動(dòng)器上實(shí)現(xiàn)了 UDS列表重新排序模塊。如果是,那么如這里更詳細(xì)所述,在步驟506,應(yīng)用程序把目標(biāo)UDS列表提交給磁帶驅(qū)動(dòng)器上的UDS列表重新排序模塊。否則,在步驟508,判定是否在目標(biāo)磁帶庫(kù)上實(shí)現(xiàn)了 UDS列表重新排序模塊。如果是,那么如這里更詳細(xì)所述,在步驟510,應(yīng)用程序把目標(biāo)UDS列表提供給磁帶庫(kù)上的UDS列表重新排序模塊。一旦UDS已分別在步驟506或步驟510中被提交給UDS列表重新排序模塊,UDS列表重新排序模塊就在步驟512讀取目標(biāo)介質(zhì)的磁帶目錄。然而,如果在步驟508中確定未在磁帶庫(kù)上實(shí)現(xiàn)UDS列表重新排序模塊,那么在步驟514中確定是否在主機(jī)上實(shí)現(xiàn)了 UDS列表重新排序模塊。如果否,那么在步驟532結(jié)束UDS列表重新排序操作。否則,UDS列表重新排序模塊從目標(biāo)磁帶驅(qū)動(dòng)器或者從目標(biāo)磁帶庫(kù)檢索磁帶目錄、磁帶驅(qū)動(dòng)器和磁帶介質(zhì)信息。之后,或者一旦UDS列表重新排序模塊在步驟512中讀取了目標(biāo)介質(zhì)的磁帶目錄,UDS列表重新排序模塊就在步驟518確定與磁帶介質(zhì)上的每個(gè)UDS相關(guān)聯(lián)的物理位置信息。之后,UDS列表重新排序模塊在步驟520,處理物理位置信息以生成重新排序的UDS列表,然后在步驟522,重新排序的UDS列表被提交給應(yīng)用程序。應(yīng)用程序再在步驟524中進(jìn)行查找操作,以把目標(biāo)介質(zhì)定位在重新排序的UDS列表上的第一個(gè)UDS的位置。之后,應(yīng)用程序進(jìn)行讀取操作以讀取目標(biāo)UDS。然后在步驟528確定是否讀取了重新排序的UDS列表上的最后一個(gè)M)S。如果是,那么在步驟532中結(jié)束UDS列表重新排序操作。否則,在步驟530,應(yīng)用程序進(jìn)行查找操作,以把磁帶介質(zhì)定位在重新排序的UDS列表上的下一個(gè)UDS的物理位置。然后通過(guò)繼續(xù)進(jìn)行步驟526,繼續(xù)該處理。雖然詳細(xì)說(shuō)明了本發(fā)明,然而對(duì)本領(lǐng)域的技術(shù)人員來(lái)說(shuō),顯然可對(duì)其作出各種變化、替換和改造,而不脫離由附加權(quán)利要求限定的本發(fā)明的范圍。
權(quán)利要求
1.一種用于管理對(duì)保存在磁帶介質(zhì)上的數(shù)據(jù)的訪問(wèn)的方法,所述方法包括: 接收從目標(biāo)磁帶介質(zhì)檢索用戶數(shù)據(jù)段的排序列表的請(qǐng)求; 確定每個(gè)用戶數(shù)據(jù)段在目標(biāo)磁帶介質(zhì)上的物理位置; 進(jìn)行重新排序操作以生成用戶數(shù)據(jù)段的重新排序列表,其中,按照用戶數(shù)據(jù)段在目標(biāo)磁帶介質(zhì)上的物理位置,對(duì)用戶數(shù)據(jù)段的順序重新排序;以及 啟動(dòng)按照用戶數(shù)據(jù)段在重新排序列表上的順序從目標(biāo)磁帶介質(zhì)檢索用戶數(shù)據(jù)段。
2.按照權(quán)利要求1所述的方法,其中,重新排序操作由包含用于生成用戶數(shù)據(jù)段的重新排序列表的處理邏輯的磁帶驅(qū)動(dòng)器來(lái)處理。
3.按照權(quán)利要求1或2所述的方法,其中,重新排序操作由包含用于生成用戶數(shù)據(jù)段的重新排序列表的處理邏輯的磁帶庫(kù)來(lái)處理。
4.按照任意前述權(quán)利要求所述的方法,其中,重新排序操作由包含用于生成用戶數(shù)據(jù)段的重新排序列表的處理邏輯的主機(jī)來(lái)處理。
5.按照任意前述權(quán)利要求所述的方法,其中,各個(gè)用戶數(shù)據(jù)段包含多條數(shù)據(jù)記錄。
6.按照任意前述權(quán)利要求所述的方法,其中,通過(guò)處理保存在以下之一中的用戶數(shù)據(jù)段磁帶介質(zhì)位置數(shù)據(jù)來(lái)確定用戶數(shù)據(jù)段在目標(biāo)磁帶介質(zhì)上的物理位置: 磁帶目錄(TD); 文件標(biāo)志圖; 高分辨率磁帶目錄(HRTD);或者 虛擬HRTD。
7.一種用于管理對(duì)保存在磁帶介質(zhì)上的數(shù)據(jù)的訪問(wèn)的系統(tǒng),所述系統(tǒng)包括: 處理器; 耦接到處理器的數(shù)據(jù)總線;和裝置,所述裝置用于: 接收從目標(biāo)磁帶介質(zhì)檢索用戶數(shù)據(jù)段的排序列表的請(qǐng)求; 確定每個(gè)用戶數(shù)據(jù)段在目標(biāo)磁帶介質(zhì)上的物理位置; 進(jìn)行重新排序操作以生成用戶數(shù)據(jù)段的重新排序列表,其中,按照用戶數(shù)據(jù)段在目標(biāo)磁帶介質(zhì)上的物理位置,對(duì)用戶數(shù)據(jù)段的順序重新排序;以及 啟動(dòng)按照用戶數(shù)據(jù)段在重新排序列表上的順序從目標(biāo)磁帶介質(zhì)檢索用戶數(shù)據(jù)段。
8.按照權(quán)利要求7所述的系統(tǒng),其中,重新排序操作由包含用于生成用戶數(shù)據(jù)段的重新排序列表的處理邏輯的磁帶驅(qū)動(dòng)器來(lái)處理。
9.按照權(quán)利要求7或8所述的系統(tǒng),其中,重新排序操作由包含用于生成用戶數(shù)據(jù)段的重新排序列表的處理邏輯的磁帶庫(kù)來(lái)處理。
10.按照權(quán)利要求7-9任意之一所述的系統(tǒng),其中,重新排序操作由包含用于生成用戶數(shù)據(jù)段的重新排序列表的處理邏輯的主機(jī)來(lái)處理。
11.按照權(quán)利要求7-10任意之一所述的系統(tǒng),其中,各個(gè)用戶數(shù)據(jù)段包含多條數(shù)據(jù)記錄。
12.按照權(quán)利要求7-11任意之一所述的系統(tǒng),其中,通過(guò)處理保存在以下之一中的用戶數(shù)據(jù)段磁帶介質(zhì)位置數(shù)據(jù)來(lái)確定用戶數(shù)據(jù)段在目標(biāo)磁帶介質(zhì)上的物理位置: 磁帶目錄(TD); 文件標(biāo)志圖;高分辨率磁帶目錄(HRTD);或者 虛擬HRTD。
13.一種包含保存在計(jì)算機(jī)可讀介質(zhì)上的計(jì)算機(jī)程序代碼的計(jì)算機(jī)程序,當(dāng)被載入計(jì)算機(jī)系統(tǒng)并在計(jì)算機(jī)系統(tǒng)上執(zhí)行時(shí),使所述計(jì)算機(jī)系統(tǒng)進(jìn)行按照權(quán)利要求1-6任意之一所述的方法的所有步驟。
全文摘要
公開(kāi)了對(duì)用戶數(shù)據(jù)段(UDS)列表重新排序以減少訪問(wèn)保存在磁帶介質(zhì)上的數(shù)據(jù)時(shí)的查找時(shí)間的方法、系統(tǒng)和程序。主機(jī)應(yīng)用程序把UDS的列表發(fā)送給目標(biāo)磁帶驅(qū)動(dòng)器,并請(qǐng)求磁帶驅(qū)動(dòng)器對(duì)所述列表重新排序以改善性能。接收要從目標(biāo)磁帶介質(zhì)檢索的目標(biāo)用戶數(shù)據(jù)段的排序列表。處理關(guān)于每個(gè)UDS在目標(biāo)介質(zhì)上的位置的信息,以確定每個(gè)UDS在磁帶介質(zhì)上的相應(yīng)物理位置。然后處理作為結(jié)果的物理位置以生成重新排序的UDS列表,其中,按照用戶數(shù)據(jù)段在目標(biāo)磁帶介質(zhì)上的物理位置對(duì)用戶數(shù)據(jù)段的順序重新排序。用戶數(shù)據(jù)段的重新排序列表然后被用于進(jìn)行查找、重定位和讀取操作,以從磁帶介質(zhì)讀取用戶數(shù)據(jù)段。
文檔編號(hào)G06F3/06GK103080896SQ201180040617
公開(kāi)日2013年5月1日 申請(qǐng)日期2011年8月22日 優(yōu)先權(quán)日2010年8月24日
發(fā)明者凱文·戴爾·巴特, 保羅·M.·格雷科, 斯科特·米爾頓·弗賴, 片桐隆司, 大石豐 申請(qǐng)人:國(guó)際商業(yè)機(jī)器公司