欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種超級塊信息的處理方法、裝置及服務(wù)器的制造方法

文檔序號:6520394閱讀:222來源:國知局
一種超級塊信息的處理方法、裝置及服務(wù)器的制造方法
【專利摘要】本發(fā)明實施例公開了一種超級塊信息的處理方法、裝置及服務(wù)器,其中所述方法包括:獲取磁頭的目標訪問邏輯區(qū)塊地址;獲取磁盤空間中所有超級塊空間的地址,磁盤空間包括至少三個超級塊空間;根據(jù)磁盤空間中所有超級塊空間的地址確定與磁頭的目標訪問邏輯區(qū)塊地址距離最近的超級塊空間,得到目標超級塊空間;將超級塊信息寫入目標超級塊空間。本發(fā)明實施例中,磁盤空間包括至少三個超級塊空間,可將磁盤空間中所有超級塊空間的地址與磁頭的目標訪問邏輯區(qū)塊地址距離最近的超級塊空間確定為目標超級塊空間,并將超級塊信息寫入目標超級塊空間,減少了尋道時間和旋轉(zhuǎn)延遲,提高了文件系統(tǒng)的性能和確保了文件系統(tǒng)的可靠性。
【專利說明】一種超級塊信息的處理方法、裝置及服務(wù)器
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及計算機領(lǐng)域,尤其涉及一種超級塊信息的處理方法、裝置及服務(wù)器。
【背景技術(shù)】
[0002]超級塊是文件系統(tǒng)的心臟,超級塊中保存了文件系統(tǒng)全局信息,例如硬盤已用空間、數(shù)據(jù)塊可用空間、索引節(jié)點(inode)信息等。當操作系統(tǒng)啟動后,系統(tǒng)內(nèi)核會把超級塊信息復制到內(nèi)存中,并周期性利用內(nèi)存里的最新內(nèi)容區(qū)更新磁盤上的超級塊塊信息。而每次更新磁盤中的超級塊信息時,都需經(jīng)過步驟:尋道,將磁頭移動定位到指定磁道;旋轉(zhuǎn)延遲,等到指定磁道的扇區(qū)從磁頭下旋轉(zhuǎn)經(jīng)過;數(shù)據(jù)傳輸,在磁盤與內(nèi)存知己傳輸數(shù)據(jù)。
[0003]現(xiàn)有技術(shù)中,將超級塊區(qū)域設(shè)置在磁盤的頭部或尾部,可在磁帶頭部的超級塊區(qū)域或磁帶尾部的超級塊區(qū)域存放多個超級塊信息,以確??傆幸粋€超級塊信息是可用的,保證文件系統(tǒng)的可靠性。但系統(tǒng)更新超級塊信息的頻率很高,由于超級塊區(qū)域設(shè)置在頭部或尾部,尋道時,磁頭每次需定位到磁頭頭部或尾部,尋道時間長,且旋轉(zhuǎn)延遲久,影響了文件系統(tǒng)的性能,且磁頭擺動幅度大,易劃傷磁盤。

【發(fā)明內(nèi)容】

[0004]本發(fā)明實施例提供一種超級塊信息的處理方法、裝置及服務(wù)器,可減少尋道時間和旋轉(zhuǎn)延遲,提高文件系統(tǒng)的性能和確保了文件系統(tǒng)的可靠性。
[0005]本發(fā)明實施例第一方面提供了一種超級塊信息的處理方法,包括:
[0006]獲取磁頭的目標訪問邏輯區(qū)塊地址;
[0007]獲取磁盤空間中所有超級塊空間的地址,所述磁盤空間包括至少三個超級塊空間;
[0008]根據(jù)所述磁盤空間中所有超級塊空間的地址確定與所述磁頭的目標訪問邏輯區(qū)塊地址距離最近的超級塊空間,得到目標超級塊空間;
[0009]將超級塊信息寫入所述目標超級塊空間。
[0010]在第一方面的第一種可能的實現(xiàn)方式中,所述獲取磁頭的目標訪問邏輯區(qū)塊地址之前,包括:
[0011]在所述磁盤空間按預設(shè)的磁盤空間間隔設(shè)置至少三個所述超級塊空間;
[0012]生成所述超級塊空間的地址。
[0013]結(jié)合第一方面的第一種可能實現(xiàn)方式,在第一方面的第二種可能的實現(xiàn)方式中,所述生成所述超級塊空間的地址包括:
[0014]根據(jù)所述磁盤空間的大小和所述預設(shè)的磁盤空間間隔,計算得到每一個超級塊空間的偏移地址。
[0015]在第一方面的第三種可能的實現(xiàn)方式中,所述根據(jù)所述磁盤空間中所有超級塊空間的地址確定與所述磁頭的目標訪問邏輯區(qū)塊地址距離最近的超級塊空間,得到目標超級塊空間,包括:[0016]若檢測到存在保電內(nèi)存,分別計算所述磁頭的目標訪問邏輯區(qū)塊地址與所述磁盤空間中所有超級塊空間的地址的差值絕對值,將所述計算得到的差值絕對值中最小的差值絕對值對應(yīng)的一個超級塊空間確定為目標超級塊空間;或
[0017]若檢測到不存在所述保電內(nèi)存,分別計算所述磁頭的目標訪問邏輯區(qū)塊地址與所述磁盤空間中所有超級塊空間的地址的差值,將所述計算得到的差值中最小的正差值和最大的負差值對應(yīng)的兩個超級塊空間確定為目標超級塊空間。
[0018]在第一方面的第四種可能的實現(xiàn)方式中,所述將超級塊信息寫入所述目標超級塊空間,包括:
[0019]若檢測到所述目標超級塊空間為空值,則將所述超級塊信息寫入所述目標超級塊空間,根據(jù)所述超級塊信息生成所述超級塊信息的更新標識;
[0020]若檢測到所述目標超級塊空間中不為空值,則將所述超級塊信息更新寫入所述目標超級塊空間,并更新所述超級塊信息的更新標識;
[0021]所述將超級塊信息寫入所述目標超級塊空間之后,包括:
[0022]當接收到讀取指令時,根據(jù)所述超級塊信息的更新標識確定最新的超級塊信息,讀取所述確定的最新的超級塊信息。
[0023]本發(fā)明實施例第二方面提供了 一種超級塊信息的處理裝置,所述裝置包括:
[0024]第一地址獲取模塊,用于獲取磁頭的目標訪問邏輯區(qū)塊地址;
[0025]第二地址獲取模塊,用于獲取磁盤空間中所有超級塊空間的地址,所述磁盤空間包括至少三個超級塊空間;
[0026]確定模塊,用于根據(jù)所述第二地址獲取模塊獲取到的磁盤空間中所有超級塊空間的地址確定與所述第一地址獲取模塊獲取到的磁頭的目標訪問邏輯區(qū)塊地址距離最近的超級塊空間,得到目標超級塊空間;
[0027]寫入模塊,用于將超級塊信息寫入所述確定模塊確定的目標超級塊空間。
[0028]在第二方面的第一種可能的實現(xiàn)方式中,所述裝置還包括:
[0029]設(shè)置模塊,用于在所述磁盤空間按預設(shè)的磁盤空間間隔設(shè)置至少三個所述超級塊空間;
[0030]生成模塊,用于生成所述超級塊空間的地址。
[0031]結(jié)合第二方面的第一種可能實現(xiàn)方式,在第二方面的第二種可能的實現(xiàn)方式中,所述生成模塊具體用于:
[0032]根據(jù)所述磁盤空間的大小和所述預設(shè)的磁盤空間間隔,計算得到每一個超級塊空間的偏移地址。
[0033]在第二方面的第三種可能的實現(xiàn)方式中,所述確定模塊包括:第一處理單元或第二處理單元;
[0034]所述第一處理單元,用于當檢測到存在保電內(nèi)存時,分別計算所述磁頭的目標訪問邏輯區(qū)塊地址與所述磁盤空間中所有超級塊空間的地址的差值絕對值,將所述計算得到的差值絕對值中最小的差值絕對值對應(yīng)的一個超級塊空間確定為目標超級塊空間;
[0035]所述第二處理單元,用于當檢測到不存在所述保電內(nèi)存時,分別計算所述磁頭的目標訪問邏輯區(qū)塊地址與所述磁盤空間中所有超級塊空間的地址的差值,將所述計算得到的差值中最小的正差值和最大的負差值對應(yīng)的兩個超級塊空間確定為目標超級塊空間。[0036]在第二方面的第四種可能的實現(xiàn)方式中,所述寫入模塊,包括:寫入單元或更新單元;
[0037]所述寫入單元,用于當檢測到所述目標超級塊空間為空值時,則將所述超級塊信息寫入所述目標超級塊空間,根據(jù)所述超級塊信息生成所述超級塊信息的更新標識;
[0038]所述更新單元,用于當檢測到所述目標超級塊空間中不為空值時,則將所述超級塊信息更新寫入所述目標超級塊空間,并更新所述超級塊信息的更新標識;
[0039]所述裝置還包括:
[0040]讀取模塊,用于當接收到讀取指令時,根據(jù)所述超級塊信息的更新標識確定最新的超級塊信息,讀取所述確定的最新的超級塊信息。
[0041]在第二方面的第五種可能的實現(xiàn)方式中,所述寫入模塊還用于:
[0042]將所述超級塊信息寫入所述保電內(nèi)存;
[0043]所述裝置還包括:讀取模塊;所述讀取模塊包括:第一讀取單元或第二讀取單元;
[0044]所述第一讀取單元,用于若檢測到存在所述保電內(nèi)存,當接收到讀取指令時,從所述保電內(nèi)存中讀取所述超級塊信息;
[0045]所述第二讀取單元,用于若檢測到存在所述保電內(nèi)存,當接收到讀取指令時,且檢測到從所述保電內(nèi)存中讀取所述超級塊信息失敗,則從所述超級塊空間中讀取所述超級塊信息。
[0046]本發(fā)明實施例第三方面提供了 一種服務(wù)器,包括上述的裝置。
[0047]實施本發(fā)明實施例,可獲取磁頭的目標訪問邏輯區(qū)塊地址和磁盤空間中所有超級塊空間的地址,其中,磁盤空間包括至少三個超級塊空間,可將磁盤空間中所有超級塊空間的地址與磁頭的目標訪問邏輯區(qū)塊地址距離最近的超級塊空間確定為目標超級塊空間,并將超級塊信息寫入目標超級塊空間,實現(xiàn)可將超級塊信息寫入距離磁頭最近的超級塊空間,解決了現(xiàn)有技術(shù)中每次尋道時都需定位到磁頭頭部或尾部,導致尋道時間長,旋轉(zhuǎn)延遲久,文件系統(tǒng)的性能差,磁頭擺動幅度大,劃傷磁盤可能性增大的技術(shù)問題,采用本發(fā)明,可有效減少尋道時間和旋轉(zhuǎn)延遲,提高了文件系統(tǒng)的性能和確保了文件系統(tǒng)的可靠性。
【專利附圖】

【附圖說明】
[0048]為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0049]圖1為本發(fā)明實施例提供的一種超級塊信息的處理方法的流程圖;
[0050]圖2為本發(fā)明實施例提供的另一種超級塊信息的處理方法的流程圖;
[0051]圖3為本發(fā)明實施例提供的又一種超級塊信息的處理方法的流程圖;
[0052]圖4為本發(fā)明實施例提供的一種超級塊信息的處理裝置的結(jié)構(gòu)示意圖;
[0053]圖5為本發(fā)明實施例提供的一種服務(wù)器的結(jié)構(gòu)示意圖。
【具體實施方式】
[0054]下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。
[0055]本發(fā)明實施例提供一種超級塊信息的處理方法、裝置及服務(wù)器,其中,超級塊信息的處理方法可以包括:獲取磁頭的目標訪問邏輯區(qū)塊地址;獲取磁盤空間中所有超級塊空間的地址,所述磁盤空間包括至少三個超級塊空間;根據(jù)所述磁盤空間中所有超級塊空間的地址確定與所述磁頭的目標訪問邏輯區(qū)塊地址距離最近的超級塊空間,得到目標超級塊空間;將超級塊信息寫入所述目標超級塊空間。
[0056]作為一種可選的實施方式,本發(fā)明實施例中超級塊(super block)信息可以包括:保存在超級塊中的文件系統(tǒng)全局信息,例如硬盤已用空間、數(shù)據(jù)塊可用空間、索引節(jié)點(inode)信息等。超級塊信息在磁盤空間中占用的磁盤空間很小,因此,磁盤空間包括至少三個超級塊空間,不會破壞磁盤的連續(xù)性。
[0057]作為一種可選的實施方式,本發(fā)明實施例中的一種超級塊信息的處理裝置可以為服務(wù)器。進一步可選的,本發(fā)明實施例中的一種超級塊信息的處理裝置還可以為服務(wù)器中的一個磁盤讀寫客戶端。
[0058]本發(fā)明實施例中,磁盤空間包括至少三個超級塊空間,可將磁盤空間中所有超級塊空間的地址與磁頭的目標訪問邏輯區(qū)塊地址距離最近的超級塊空間確定為目標超級塊空間,并將超級塊信息寫入目標超級塊空間,減少了尋道時間和旋轉(zhuǎn)延遲,提高了文件系統(tǒng)的性能和確保了文件系統(tǒng)的可靠性。下面通過具體實施例進行說明。
[0059]圖1為本發(fā)明實施例提供的一種超級塊信息的處理方法的流程圖,圖1所示的超級塊信息的處理方法是以服務(wù)器作為執(zhí)行主體進行描述的,如圖所示本實施例中的流程包括步驟SlOl?S104。
[0060]S101,獲取磁頭的目標訪問邏輯區(qū)塊地址。
[0061]S102,獲取磁盤空間中所有超級塊空間的地址,磁盤空間包括至少三個超級塊空間。
[0062]S103,根據(jù)磁盤空間中所有超級塊空間的地址確定與磁頭的目標訪問邏輯區(qū)塊地址距離最近的超級塊空間,得到目標超級塊空間。
[0063]S104,將超級塊信息寫入目標超級塊空間。
[0064]作為一種可選的實施方式,步驟SlOl中,服務(wù)器獲取磁頭的目標訪問邏輯區(qū)塊地址,具體的,可以為獲取當前磁頭要訪問磁盤的LBA (Logical Block Address,邏輯區(qū)塊地址),即磁頭的目標訪問邏輯區(qū)塊地址,目標訪問邏輯區(qū)塊地址例如0xF99,其中,Ox表示十六進制。
[0065]作為一種可選的實施方式,步驟S102中,獲取磁盤空間中所有超級塊空間的地址,其中,磁盤空間包括至少三個超級塊空間。具體的,服務(wù)器預先在磁盤空間按預設(shè)的磁盤空間間隔設(shè)置至少三個超級塊空間。超級塊空間的地址可以為根據(jù)磁盤空間的大小和預設(shè)的磁盤空間間隔,計算得到的超級塊空間的偏移地址。獲取磁盤空間中所有超級塊空間的地址,例如,預設(shè)的磁盤空間間隔為2M,磁盤空間大小為10M,則在磁盤空間設(shè)置5個超級塊空間,則每個超級塊空間的偏移地址分別為:0、0x800、0xl000、0xl800和0x2000,則服務(wù)器獲取到5個超級塊空間的地址。[0066]其中,偏移地址可以為計算機里的內(nèi)存分段后,在段內(nèi)某一地址相對于段首地址(段地址)的偏移量,本發(fā)明實施例中,超級塊的偏移地址為相對于磁盤首地址的偏移量。進一步可選的,在其他實施例中,超級塊空間的地址的實現(xiàn)方法是多種多樣的,可以為超級塊空間的偏移地址,也可以是其他的實現(xiàn)形式,具體不受本實施例的限制。
[0067]作為一種可選的實施方式,步驟S103中,根據(jù)磁盤空間中所有超級塊空間的地址確定與磁頭的目標訪問邏輯區(qū)塊地址距離最近的超級塊空間,得到目標超級塊空間。具體的,可分別將磁頭的目標訪問邏輯區(qū)塊地址與磁盤空間中所有超級塊空間的地址作差,根據(jù)差值來確定磁盤空間中所有超級塊空間的地址與磁頭的目標訪問邏輯區(qū)塊地址距離最近的超級塊空間。
[0068]其中,目標超級塊空間可以為I個或2個,具體的,若檢測到服務(wù)器中存在保電內(nèi)存,則目標超級塊空間可以為I個,若檢測到服務(wù)器中不存在保電內(nèi)存,則目標超級塊空間可以設(shè)為2個。其中,保電內(nèi)存可以為設(shè)置在服務(wù)器中的一種內(nèi)存芯片,該內(nèi)存芯片能夠在完全斷電的情況下還還可保存完整內(nèi)存數(shù)據(jù),保電內(nèi)存的讀寫效率很高。
[0069]進一步可選的,若檢測到存在保電內(nèi)存,則分別計算磁頭的目標訪問邏輯區(qū)塊地址與磁盤空間中所有超級塊空間的地址的差值絕對值,將計算得到的差值絕對值中最小的差值絕對值對應(yīng)的一個超級塊空間確定為目標超級塊空間。具體的,分別計算磁頭的目標訪問邏輯區(qū)塊地址與磁盤空間中所有超級塊空間的地址的差值絕對值,例如,分別計算磁頭的目標訪問邏輯區(qū)塊地址0xF99與每個超級塊空間的偏移地址(0、0x800、0xl000、0x1800和0x2000)的差值,其中,0xF99-0xl000的絕對值最小,則將0x1000對應(yīng)的超級塊空間確定為目標超級塊空間。
[0070]進一步可選的,若檢測到不存在保電內(nèi)存,分別計算磁頭的目標訪問邏輯區(qū)塊地址與磁盤空間中所有超級塊空間的地址的差值,將計算得到的差值中最小的正差值和最大的負差值對應(yīng)的兩個超級塊空間確定為目標超級塊空間。具體的,分別計算磁頭的目標訪問邏輯區(qū)塊地址與磁盤空間中所有超級塊空間的地址的差值,例如,分別計算磁頭的目標訪問邏輯區(qū)塊地址0xF99與每個超級塊空間的偏移地址(0、0x800、Ox 1000、Ox 1800和0x2000)的差值,其中,0xF99-0x800的正差值最小,0xF99_0xl800的負差值最小,則將0x800,0x1800對應(yīng)的2個超級塊空間確定為目標超級塊空間。
[0071]進一步可選的,還可以將磁頭的目標訪問邏輯區(qū)塊地址與磁盤空間中第一個超級塊空間的地址?第N個超級塊空間地址作差,N為大于3的正整數(shù),N為磁盤空間中超級塊空間的總數(shù)量。若檢測到服務(wù)器中不存在保電內(nèi)存,則將磁頭的目標訪問邏輯區(qū)塊地址依次與磁盤空間中第一個超級塊空間的地址?第N個超級塊空間地址作差,其中,磁盤空間中第一個超級塊空間的地址?第N個超級塊空間地址為按次序從小到大排序的地址,若檢測到第一個負的差值,例如磁頭的目標訪問邏輯區(qū)塊地址與磁盤空間中第n個超級塊空間地址為第一個負值,則將第n個超級塊空間地址對應(yīng)的第n超級塊空間和第n-1個超級塊空間地址對應(yīng)的第n-1超級塊空間確定為目標超級塊空間,其中,n為大于I小于N的正整數(shù),可不再計算磁頭的目標訪問邏輯區(qū)塊地址與磁盤空間中第n+1個超級塊空間的地址?第N個超級塊空間地址的差值。
[0072]進一步可選的,若檢測到不存在保電內(nèi)存,分別計算磁頭的目標訪問邏輯區(qū)塊地址與磁盤空間中所有超級塊空間的地址的差值,若出現(xiàn)差值為零,則目標超級塊空間為2個,一個為差值為零對應(yīng)的超級塊空間,另一個為該差值為零對應(yīng)的超級塊空間相鄰的兩個超級塊空間中任意一個超級塊空間。
[0073]作為一種可選的實施方式,步驟S104,將超級塊信息寫入目標超級塊空間。進一步可選的,若檢測到目標超級塊空間為空值,則將超級塊信息寫入目標超級塊空間,根據(jù)超級塊信息生成所述超級塊信息的更新標識。進一步可選的,若檢測到目標超級塊空間中不為空值,則將超級塊信息更新寫入目標超級塊空間,并更新超級塊信息的更新標識。其中,超級塊信息的更新標識可以為記錄超級塊信息更新的序列號或者更新時間信息,通過比較該更新標識可確定磁盤空間中哪一個超級塊信息為最新的超級塊信息。
[0074]進一步可選的,本發(fā)明實施例在步驟S104之后,還可以包括步驟:
[0075]當接收到讀取指令時,根據(jù)超級塊信息的更新標識確定最新的超級塊信息,讀取確定的最新的超級塊彳目息。
[0076]作為一種可選的實施方式,當接收到讀取指令時,遍歷磁盤空間中所有超級塊信息,根據(jù)超級塊信息的更新標識從所有超級塊信息中確定最新的超級塊信息,讀取該最新的超級塊信息。例如,更新標識為一序列號,每次在該超級塊空間寫入超級塊信息后,該序列號遞增1,則查找到磁盤空間中最大的序列號,該最大的序列號對應(yīng)的超級塊信息為最新的超級塊信息。
[0077]進一步可選的,本發(fā)明實施例在步驟S104之后,還可以包括步驟:
[0078]將超級塊信息寫入保電內(nèi)存。
[0079]作為一種可選的實施方式,若存在保電內(nèi)存,則將超級塊信息寫入保電內(nèi)存中,具體的,在保電內(nèi)存中預先設(shè)置超級塊空間,用于存儲超級塊信息。將超級塊信息同時寫入磁盤空間中的目標超級塊空間和保電內(nèi)存中的超級塊空間,保證磁盤空間和保電內(nèi)存中的超級塊信息一致為最新的超級塊信息,提高了系統(tǒng)的可靠性。
[0080]本發(fā)明實施例提供一種超級塊信息的處理方法,可獲取磁頭的目標訪問邏輯區(qū)塊地址和磁盤空間中所有超級塊空間的地址,其中,磁盤空間包括至少三個超級塊空間,可將磁盤空間中所有超級塊空間的地址與磁頭的目標訪問邏輯區(qū)塊地址距離最近的超級塊空間確定為目標超級塊空間,并將超級塊信息寫入目標超級塊空間,實現(xiàn)可將超級塊信息寫入距離磁頭最近的超級塊空間,解決了現(xiàn)有技術(shù)中每次尋道時都需定位到磁頭頭部或尾部,導致尋道時間長,旋轉(zhuǎn)延遲久,文件系統(tǒng)的性能差,磁頭擺動幅度大,劃傷磁盤可能性增大的技術(shù)問題,采用本發(fā)明,可有效減少尋道時間和旋轉(zhuǎn)延遲,提高了文件系統(tǒng)的性能和確保了文件系統(tǒng)的可靠性。
[0081]圖2為本發(fā)明實施例提供的另一種超級塊信息的處理方法的流程圖,圖2所示的超級塊信息的處理方法是以服務(wù)器作為執(zhí)行主體進行描述的,本發(fā)明實施例中存在保電內(nèi)存,如圖所示本實施例中的流程包括步驟S201?S210。
[0082]S201,在磁盤空間按預設(shè)的磁盤空間間隔設(shè)置至少三個超級塊空間。
[0083]作為一種可選的實施方式,在磁盤空間按預設(shè)的磁盤空間間隔設(shè)置至少三個超級塊空間,例如,預設(shè)的磁盤空間間隔為2M,磁盤空間大小為10M,則在磁盤空間設(shè)置5個超級塊空間。
[0084]S202,根據(jù)磁盤空間的大小和預設(shè)的磁盤空間間隔,計算得到每一個超級塊空間的地址。[0085]作為一種可選的實施方式,根據(jù)磁盤空間的大小和預設(shè)的磁盤空間間隔,計算得到每一個超級塊空間的地址,具體的,可計算得到每一個超級塊空間的偏移地址,例如,磁盤空間大小為10M,預設(shè)的磁盤空間間隔為2M,則在磁盤空間設(shè)置5個超級塊空間,則計算得到每個超級塊空間的偏移地址分別為:0、0x800、0xl000、0xl800和0x2000。
[0086]S203,獲取磁頭的目標訪問邏輯區(qū)塊地址。
[0087]作為一種可選的實施方式,步驟SlOl中,服務(wù)器獲取磁頭的目標訪問邏輯區(qū)塊地址,具體的,可以為獲取當前磁頭要訪問磁盤的LBA,即磁頭的目標訪問邏輯區(qū)塊地址,目標訪問邏輯區(qū)塊地址例如0xF99,其中,Ox表示十六進制。
[0088]S204,獲取磁盤空間中所有超級塊空間的地址。
[0089]進一步可選的,步驟S203與步驟204無執(zhí)行先后之分,可以先執(zhí)行其中一個再執(zhí)行另一個,也可以同時執(zhí)行。
[0090]S205,分別計算磁頭的目標訪問邏輯區(qū)塊地址與磁盤空間中所有超級塊空間的地址的差值絕對值。
[0091]S206,將計算得到的差值絕對值中最小的差值絕對值對應(yīng)的一個超級塊空間確定為目標超級塊空間。
[0092]作為一種可選的實施方式,步驟S205中計算得到磁頭的目標訪問邏輯區(qū)塊地址與磁盤空間中所有超級塊空間的地址的差值絕對值,例如,磁頭的目標訪問邏輯區(qū)塊地址為0xF99,每個超級塊空間的偏移地址為:0、0x800、0xl000、0xl800和0x2000,其中,0xF99-0xl000的絕對值最小,則將0x1000對應(yīng)的超級塊空間確定為目標超級塊空間。
[0093]S207,將超級塊信息寫入目標超級塊空間。
[0094]作為一種可選的實施方式,將超級塊信息寫入目標超級塊空間。進一步可選的,若檢測到目標超級塊空間為空值,則將超級塊信息寫入目標超級塊空間,根據(jù)超級塊信息生成所述超級塊信息的更新標識。進一步可選的,若檢測到目標超級塊空間中不為空值,則將超級塊信息更新寫入目標超級塊空間,并更新超級塊信息的更新標識。其中,超級塊信息的更新標識可以為記錄超級塊信息更新的序列號或者更新時間信息,通過比較該更新標識可確定磁盤空間中哪一個超級塊信息為最新的超級塊信息。
[0095]S208,將超級塊信息寫入保電內(nèi)存。
[0096]作為一種可選的實施方式,將超級塊信息寫入保電內(nèi)存,其中,保電內(nèi)存可以為設(shè)置在服務(wù)器中的一種內(nèi)存芯片,該內(nèi)存芯片能夠在完全斷電的情況下還還可保存完整內(nèi)存數(shù)據(jù),保電內(nèi)存的讀寫效率很高。
[0097]進一步可選的,步驟S207與步驟208無執(zhí)行先后之分,可以先執(zhí)行其中一個再執(zhí)行另一個,也可以同時執(zhí)行。
[0098]S209,當接收到讀取指令時,從保電內(nèi)存中讀取超級塊信息。
[0099]作為一種可選的實施方式,當接收到讀取指令時,從保電內(nèi)存中讀取超級塊信息,服務(wù)器成功從保電內(nèi)存中讀取到超級塊信息。
[0100]S210,當接收到讀取指令時,若檢測到從保電內(nèi)存中讀取超級塊信息失敗,則從超級塊空間中讀取超級塊信息。
[0101]作為一種可選的實施方式,當接收到讀取指令時,從保電內(nèi)存中讀取超級塊信息,若檢測到從保電內(nèi)存中讀取超級塊信息失敗,則從超級塊空間中讀取超級塊信息。進一步可選的,遍歷磁盤空間中所有超級塊信息,根據(jù)超級塊信息的更新標識從所有超級塊信息中確定最新的超級塊信息,讀取該最新的超級塊信息。
[0102]本發(fā)明實施例提供一種超級塊信息的處理方法,可將超級塊信息寫入磁盤空間中的目標超級塊和保電內(nèi)存中。本發(fā)明實施例中,可獲取磁頭的目標訪問邏輯區(qū)塊地址和磁盤空間中所有超級塊空間的地址,其中,磁盤空間包括至少三個超級塊空間,分別計算磁頭的目標訪問邏輯區(qū)塊地址與磁盤空間中所有超級塊空間的地址的差值絕對值,將計算得到的差值絕對值中最小的差值絕對值對應(yīng)的一個超級塊空間確定為目標超級塊空間,將超級塊信息寫入目標超級塊空間,實現(xiàn)可將超級塊信息寫入距離磁頭最近的超級塊空間,且將超級塊信息寫入保電內(nèi)存中,提高了文件系統(tǒng)的可靠性,解決了現(xiàn)有技術(shù)中每次尋道時都需定位到磁頭頭部或尾部,導致尋道時間長,旋轉(zhuǎn)延遲久,文件系統(tǒng)的性能差,磁頭擺動幅度大,劃傷磁盤可能性增大的技術(shù)問題,采用本發(fā)明,可有效減少尋道時間和旋轉(zhuǎn)延遲,提高了文件系統(tǒng)的性能和確保了文件系統(tǒng)的可靠性。
[0103]圖3為本發(fā)明實施例提供的又一種超級塊信息的處理方法的流程圖,圖3所示的超級塊信息的處理方法是以服務(wù)器作為執(zhí)行主體進行描述的,本發(fā)明實施例中不存在保電內(nèi)存,如圖所示本實施例中的流程包括步驟S301?S309。
[0104]S301,在磁盤空間按預設(shè)的磁盤空間間隔設(shè)置至少三個所述超級塊空間。
[0105]作為一種可選的實施方式,在磁盤空間按預設(shè)的磁盤空間間隔設(shè)置至少三個超級塊空間,例如,預設(shè)的磁盤空間間隔為2M,磁盤空間大小為10M,則在磁盤空間設(shè)置5個超級塊空間。
[0106]S302,根據(jù)所述磁盤空間的大小和所述預設(shè)的磁盤空間間隔,計算得到每一個超級塊空間的地址。
[0107]作為一種可選的實施方式,根據(jù)磁盤空間的大小和預設(shè)的磁盤空間間隔,計算得到每一個超級塊空間的地址,具體的,可計算得到每一個超級塊空間的偏移地址,例如,磁盤空間大小為10M,預設(shè)的磁盤空間間隔為2M,則在磁盤空間設(shè)置5個超級塊空間,則計算得到每個超級塊空間的偏移地址分別為:0、0x800、0xl000、0xl800和0x2000。
[0108]S303,獲取磁頭的目標訪問邏輯區(qū)塊地址。
[0109]作為一種可選的實施方式,服務(wù)器獲取磁頭的目標訪問邏輯區(qū)塊地址,具體的,可以為獲取當前磁頭要訪問磁盤的LBA,即磁頭的目標訪問邏輯區(qū)塊地址,目標訪問邏輯區(qū)塊地址例如0xF99,其中,Ox表示十六進制。
[0110]S304,獲取磁盤空間中所有超級塊空間的地址。
[0111]進一步可選的,步驟S303與步驟304無執(zhí)行先后之分,可以先執(zhí)行其中一個再執(zhí)行另一個,也可以同時執(zhí)行。
[0112]S305,分別計算磁頭的目標訪問邏輯區(qū)塊地址與磁盤空間中所有超級塊空間的地址的差值。
[0113]S306,將計算得到的差值中最小的正差值和最大的負差值對應(yīng)的兩個超級塊空間確定為目標超級塊空間。
[0114]作為一種可選的實施方式,步驟S305中計算得到磁頭的目標訪問邏輯區(qū)塊地址與磁盤空間中所有超級塊空間的地址的差值,例如,磁頭的目標訪問邏輯區(qū)塊地址為0xF99,每個超級塊空間的偏移地址為=0,0x800,0x1000,0x1800和0x2000,其中,0xF99-0x800的正差值最小,0xF99_0xl800的負差值最小,則將0x800、0xl800對應(yīng)的2個
超級塊空間確定為目標超級塊空間。
[0115]進一步可選的,還可以將磁頭的目標訪問邏輯區(qū)塊地址與磁盤空間中第一個超級塊空間的地址?第N個超級塊空間地址作差,N為大于3的正整數(shù),N為磁盤空間中超級塊空間的總數(shù)量。
[0116]若檢測到服務(wù)器中不存在保電內(nèi)存,則將磁頭的目標訪問邏輯區(qū)塊地址依次與磁盤空間中第一個超級塊空間的地址?第N個超級塊空間地址作差,其中,磁盤空間中第一個超級塊空間的地址?第N個超級塊空間地址為按次序從小到大排序的地址,若檢測到第一個負的差值,例如磁頭的目標訪問邏輯區(qū)塊地址與磁盤空間中第n個超級塊空間地址為第一個負值,則將第n個超級塊空間地址對應(yīng)的第n超級塊空間和第n-1個超級塊空間地址對應(yīng)的第n-1超級塊空間確定為目標超級塊空間,其中,n為大于I小于N的正整數(shù),可不再計算磁頭的目標訪問邏輯區(qū)塊地址與磁盤空間中第n+1個超級塊空間的地址?第N個超級塊空間地址的差值。
[0117]進一步可選的,若步驟S305中計算得到磁頭的目標訪問邏輯區(qū)塊地址與磁盤空間中所有超級塊空間的地址的差值為零,則目標超級塊空間為2個,一個為差值為零對應(yīng)的超級塊空間,另一個為該差值為零對應(yīng)的超級塊空間相鄰的兩個超級塊空間中任意一個超級塊空間。
[0118]S307,若檢測到目標超級塊空間為空值,則將超級塊信息寫入目標超級塊空間,根據(jù)超級塊信息生成超級塊信息的更新標識。
[0119]作為一種可選的實施方式,若檢測到目標超級塊空間為空值,即目標超級塊空間從未寫入任何值,則該目標超級塊空間為為首次寫入超級塊信息,根據(jù)超級塊信息生成超級塊信息的更新標識,其中,超級塊信息的更新標識可以為記錄超級塊信息更新的序列號或者更新時間信息,通過比較該更新標識可確定磁盤空間中哪一個超級塊信息為最新的超級塊信息
[0120]S308,若檢測到目標超級塊空間中不為空值,則將超級塊信息更新寫入目標超級塊空間,并更新超級塊信息的更新標識。
[0121]作為一種可選的實施方式,若檢測到目標超級塊空間不為空值,即目標超級塊空間已存在超級塊信息,將超級塊信息更新寫入目標超級塊空間,并更新超級塊信息的更新標識。具體的,更新超級塊信息的更新標識例如,若更新標識為一序列號,每次在該超級塊空間寫入超級塊信息后,該序列號遞增I。
[0122]S309,當接收到讀取指令時,根據(jù)超級塊信息的更新標識確定最新的超級塊信息,讀取確定的最新的超級塊信息。
[0123]作為一種可選的實施方式,當接收到讀取指令時,遍歷磁盤空間中所有超級塊信息,根據(jù)超級塊信息的更新標識從所有超級塊信息中確定最新的超級塊信息,讀取該最新的超級塊信息。例如,更新標識為一序列號,每次在該超級塊空間寫入超級塊信息后,該序列號遞增1,則查找到磁盤空間中最大的序列號,該最大的序列號對應(yīng)的超級塊信息為最新的超級塊信息。
[0124]本發(fā)明實施例提供一種超級塊信息的處理方法,可將超級塊信息寫入磁盤空間中的目標超級塊空間。本發(fā)明實施例中,可獲取磁頭的目標訪問邏輯區(qū)塊地址和磁盤空間中所有超級塊空間的地址,其中,磁盤空間包括至少三個超級塊空間,分別計算磁頭的目標訪問邏輯區(qū)塊地址與磁盤空間中所有超級塊空間的地址的差值,將計算得到的差值中最小的正差值和最大的負差值對應(yīng)的兩個超級塊空間確定為目標超級塊空間,將超級塊信息寫入目標超級塊空間,且確保了從磁盤空間中讀取到最新的超級塊信息,實現(xiàn)可將超級塊信息寫入距離磁頭最近的超級塊空間,解決了現(xiàn)有技術(shù)中每次尋道時都需定位到磁頭頭部或尾部,導致尋道時間長,旋轉(zhuǎn)延遲久,文件系統(tǒng)的性能差,磁頭擺動幅度大,劃傷磁盤可能性增大的技術(shù)問題,采用本發(fā)明,可有效減少尋道時間和旋轉(zhuǎn)延遲,提高了文件系統(tǒng)的性能和確保了文件系統(tǒng)的可靠性。
[0125]下面將結(jié)合附圖4,分別對本發(fā)明實施例提供的超級塊信息的處理裝置進行詳細介紹。需要說明的是,附圖4所示的超級塊信息的處理裝置,用于執(zhí)行本發(fā)明圖1?3所示實施例的方法,為基于圖1?3任一所述的超級塊信息的處理方法的執(zhí)行主體。為了便于說明,僅示出了與本發(fā)明實施例相關(guān)的部分,具體技術(shù)細節(jié)未揭示的,請參照本發(fā)明圖1?圖3所示的實施例。
[0126]如圖4所示,本發(fā)明實施例提供的超級塊信息的處理裝置可以包括:第一地址獲取模塊401、第二地址獲取模塊402、確定模塊403和寫入模塊404。
[0127]第一地址獲取模塊401,用于獲取磁頭的目標訪問邏輯區(qū)塊地址。
[0128]作為一種可選的實施方式,第一地址獲取模塊401獲取磁頭的目標訪問邏輯區(qū)塊地址,具體的,可以為獲取當前磁頭要訪問磁盤的LBA,即磁頭的目標訪問邏輯區(qū)塊地址,目標訪問邏輯區(qū)塊地址例如0xF99,其中,Ox表示十六進制。
[0129]第二地址獲取模塊402,用于獲取磁盤空間中所有超級塊空間的地址,所述磁盤空間包括至少三個超級塊空間。
[0130]作為一種可選的實施方式,第二地址獲取模塊402獲取磁盤空間中所有超級塊空間的地址,其中,磁盤空間包括至少三個超級塊空間。具體的,服務(wù)器預先在磁盤空間按預設(shè)的磁盤空間間隔設(shè)置至少三個超級塊空間。超級塊空間的地址可以為根據(jù)磁盤空間的大小和預設(shè)的磁盤空間間隔,計算得到的超級塊空間的偏移地址。本發(fā)明實施例中,超級塊的偏移地址為相對于磁盤首地址的偏移量。獲取磁盤空間中所有超級塊空間的地址,例如,預設(shè)的磁盤空間間隔為2M,磁盤空間大小為10M,則在磁盤空間設(shè)置5個超級塊空間,則每個超級塊空間的偏移地址分別為:O、0x800、0x1000、0x1800和0x2000,則服務(wù)器獲取到5個超級塊空間的地址。
[0131]確定模塊403,用于根據(jù)第二地址獲取模塊402獲取到的磁盤空間中所有超級塊空間的地址確定與第一地址獲取模塊401獲取到的磁頭的目標訪問邏輯區(qū)塊地址距離最近的超級塊空間,得到目標超級塊空間。
[0132]作為一種可選的實施方式,確定模塊403可分別將磁頭的目標訪問邏輯區(qū)塊地址與磁盤空間中所有超級塊空間的地址作差,根據(jù)差值來確定磁盤空間中所有超級塊空間的地址與磁頭的目標訪問邏輯區(qū)塊地址距離最近的超級塊空間。
[0133]其中,目標超級塊空間可以為I個或2個,具體的,若檢測到服務(wù)器中存在保電內(nèi)存,則目標超級塊空間可以為I個,若檢測到服務(wù)器中不存在保電內(nèi)存,則目標超級塊空間可以設(shè)為2個。其中,保電內(nèi)存可以為設(shè)置在服務(wù)器中的一種內(nèi)存芯片,該內(nèi)存芯片能夠在完全斷電的情況下還還可保存完整內(nèi)存數(shù)據(jù),保電內(nèi)存的讀寫效率很高。[0134]作為一種可選的實施方式,確定模塊403可以包括:第一處理單元或第二處理單元,其中:
[0135]第一處理單元,用于當檢測到存在保電內(nèi)存時,分別計算所述磁頭的目標訪問邏輯區(qū)塊地址與所述磁盤空間中所有超級塊空間的地址的差值絕對值,將所述計算得到的差值絕對值中最小的差值絕對值對應(yīng)的一個超級塊空間確定為目標超級塊空間。具體的,分別計算磁頭的目標訪問邏輯區(qū)塊地址與磁盤空間中所有超級塊空間的地址的差值絕對值,例如,分別計算磁頭的目標訪問邏輯區(qū)塊地址0xF99與每個超級塊空間的偏移地址(O、0x800,0x1000,0x1800 和 0x2000)的差值,其中,0xF99_0xl000 的絕對值最小,則將 0x1000對應(yīng)的超級塊空間確定為目標超級塊空間。
[0136]第二處理單元,用于當檢測到不存在所述保電內(nèi)存時,分別計算所述磁頭的目標訪問邏輯區(qū)塊地址與所述磁盤空間中所有超級塊空間的地址的差值,將所述計算得到的差值中最小的正差值和最大的負差值對應(yīng)的兩個超級塊空間確定為目標超級塊空間。具體的,分別計算磁頭的目標訪問邏輯區(qū)塊地址與磁盤空間中所有超級塊空間的地址的差值,例如,分別計算磁頭的目標訪問邏輯區(qū)塊地址0xF99與每個超級塊空間的偏移地址(O、0x800,0x1000,0x1800 和 0x2000)的差值,其中,0xF99_0x800 的正差值最小,0xF99_0xl800的負差值最小,則將0x800、0xl800對應(yīng)的2個超級塊空間確定為目標超級塊空間。
[0137]進一步可選的,還可以將磁頭的目標訪問邏輯區(qū)塊地址與磁盤空間中第一個超級塊空間的地址?第N個超級塊空間地址作差,N為大于3的正整數(shù),N為磁盤空間中超級塊空間的總數(shù)量。若檢測到服務(wù)器中不存在保電內(nèi)存,則將磁頭的目標訪問邏輯區(qū)塊地址依次與磁盤空間中第一個超級塊空間的地址?第N個超級塊空間地址作差,其中,磁盤空間中第一個超級塊空間的地址?第N個超級塊空間地址為按次序從小到大排序的地址,若檢測到第一個負的差值,例如磁頭的目標訪問邏輯區(qū)塊地址與磁盤空間中第n個超級塊空間地址為第一個負值,則將第n個超級塊空間地址對應(yīng)的第n超級塊空間和第n-1個超級塊空間地址對應(yīng)的第n-1超級塊空間確定為目標超級塊空間,其中,n為大于I小于N的正整數(shù),可不再計算磁頭的目標訪問邏輯區(qū)塊地址與磁盤空間中第n+1個超級塊空間的地址?第N個超級塊空間地址的差值。
[0138]進一步可選的,若檢測到不存在保電內(nèi)存,分別計算磁頭的目標訪問邏輯區(qū)塊地址與磁盤空間中所有超級塊空間的地址的差值,若出現(xiàn)差值為零,則目標超級塊空間為2個,一個為差值為零對應(yīng)的超級塊空間,另一個為該差值為零對應(yīng)的超級塊空間相鄰的兩個超級塊空間中任意一個超級塊空間。
[0139]寫入模塊404,用于將超級塊信息寫入所述確定模塊403確定的目標超級塊空間。
[0140]作為一種可選的實施方式,寫入模塊404將超級塊信息寫入目標超級塊空間。進一步可選的,寫入模塊404可以包括:寫入單元或更新單元,其中:寫入單元,用于當檢測到所述目標超級塊空間為空值時,則將所述超級塊信息寫入所述目標超級塊空間,根據(jù)所述超級塊信息生成所述超級塊信息的更新標識。更新單元,用于當檢測到所述目標超級塊空間中不為空值時,則將所述超級塊信息更新寫入所述目標超級塊空間,并更新所述超級塊信息的更新標識。具體的,超級塊信息的更新標識可以為記錄超級塊信息更新的序列號或者更新時間信息,通過比較該更新標識可確定磁盤空間中哪一個超級塊信息為最新的超級塊信息。[0141]進一步可選的,本發(fā)明實施例提供的超級塊信息的處理裝置還可以包括:讀取模塊 405。
[0142]讀取模塊405,用于當接收到讀取指令時,根據(jù)超級塊信息的更新標識確定最新的超級塊信息,讀取確定的最新的超級塊信息。
[0143]作為一種可選的實施方式,當接收到讀取指令時,讀取模塊405遍歷磁盤空間中所有超級塊信息,根據(jù)超級塊信息的更新標識從所有超級塊信息中確定最新的超級塊信息,讀取該最新的超級塊信息。例如,更新標識為一序列號,每次在該超級塊空間寫入超級塊信息后,該序列號遞增1,則查找到磁盤空間中最大的序列號,該最大的序列號對應(yīng)的超級塊信息為最新的超級塊信息。
[0144]進一步可選的,寫入模塊404還用于將所述超級塊信息寫入保電內(nèi)存。
[0145]作為一種可選的實施方式,若存在保電內(nèi)存,則將超級塊信息寫入保電內(nèi)存中,具體的,在保電內(nèi)存中預先設(shè)置超級塊空間,用于存儲超級塊信息。將超級塊信息同時寫入磁盤空間中的目標超級塊空間和保電內(nèi)存中的超級塊空間,保證磁盤空間和保電內(nèi)存中的超級塊信息一致為最新的超級塊信息,提高了系統(tǒng)的可靠性。
[0146]進一步可選的,讀取模塊405還可以包括:第一讀取單元或第二讀取單元。其中:第一讀取單元,用于若檢測到存在所述保電內(nèi)存,當接收到讀取指令時,從所述保電內(nèi)存中讀取所述超級塊信息,所述超級塊信息為預先寫入所述保電內(nèi)存的超級塊信息;第二讀取單元,用于若檢測到存在所述保電內(nèi)存,當接收到讀取指令時,且檢測到從所述保電內(nèi)存中讀取所述超級塊信息失敗,則從所述超級塊空間中讀取所述超級塊信息。
[0147]進一步可選的,本發(fā)明實施例提供的超級塊信息的處理裝置還可以包括:設(shè)置模塊406和生成模塊407。
[0148]設(shè)置模塊406,用于在所述磁盤空間按預設(shè)的磁盤空間間隔設(shè)置至少三個所述超級塊空間。
[0149]作為一種可選的實施方式,在磁盤空間按預設(shè)的磁盤空間間隔設(shè)置至少三個超級塊空間,例如,預設(shè)的磁盤空間間隔為2M,磁盤空間大小為10M,則在磁盤空間設(shè)置5個超級塊空間。
[0150]生成模塊407,用于生成所述超級塊空間的地址。
[0151]作為一種可選的實施方式,生成模塊407可以具體用于:根據(jù)磁盤空間的大小和預設(shè)的磁盤空間間隔,計算得到每一個超級塊空間的偏移地址。根據(jù)磁盤空間的大小和預設(shè)的磁盤空間間隔,計算得到每一個超級塊空間的偏移地址,例如,磁盤空間大小為10M,預設(shè)的磁盤空間間隔為2M,則在磁盤空間設(shè)置5個超級塊空間,則計算得到每個超級塊空間的偏移地址分別為:O、0x800、0x1000、0x1800和0x2000。其中,偏移地址可以為計算機里的內(nèi)存分段后,在段內(nèi)某一地址相對于段首地址(段地址)的偏移量,本發(fā)明實施例中,超級塊的偏移地址為相對于磁盤首地址的偏移量。進一步可選的,在其他實施例中,超級塊空間的地址的實現(xiàn)方法是多種多樣的,可以為超級塊空間的偏移地址,也可以是其他的實現(xiàn)形式,具體不受本實施例的限制。
[0152]本發(fā)明實施例提供一種超級塊信息的處理裝置,第一地址獲取模塊可獲取磁頭的目標訪問邏輯區(qū)塊地址,第二地址獲取模塊可獲取到磁盤空間中所有超級塊空間的地址,其中,磁盤空間包括至少三個超級塊空間,確定模塊可將磁盤空間中所有超級塊空間的地址與磁頭的目標訪問邏輯區(qū)塊地址距離最近的超級塊空間確定為目標超級塊空間,寫入模塊可將超級塊信息寫入目標超級塊空間,實現(xiàn)可將超級塊信息寫入距離磁頭最近的超級塊空間,解決了現(xiàn)有技術(shù)中每次尋道時都需定位到磁頭頭部或尾部,導致尋道時間長,旋轉(zhuǎn)延遲久,文件系統(tǒng)的性能差,磁頭擺動幅度大,劃傷磁盤可能性增大的技術(shù)問題,采用本發(fā)明,可有效減少尋道時間和旋轉(zhuǎn)延遲,提高了文件系統(tǒng)的性能和確保了文件系統(tǒng)的可靠性。
[0153]圖5為本發(fā)明實施例提供的一種服務(wù)器的結(jié)構(gòu)示意圖,其中,本實施例提供的服務(wù)器與圖1?3任一所示的超級塊信息的處理方法相對應(yīng),為基于圖1?3任一所示的超級塊信息的處理方法的執(zhí)行主體。具體的實現(xiàn)形式如圖5所示,包括:處理器501、存儲器502、發(fā)送器503和接收器504,存儲器502用于存儲程序代碼。處理器501用于執(zhí)行存儲器502中存儲的程序代碼。本發(fā)明實施例中,存儲器502存儲有第一程序代碼,處理器501用于執(zhí)行該第一程序代碼:
[0154]獲取磁頭的目標訪問邏輯區(qū)塊地址;
[0155]獲取磁盤空間中所有超級塊空間的地址,所述磁盤空間包括至少三個超級塊空間;
[0156]根據(jù)所述磁盤空間中所有超級塊空間的地址確定與所述磁頭的目標訪問邏輯區(qū)塊地址距離最近的超級塊空間,得到目標超級塊空間;
[0157]將超級塊信息寫入所述目標超級塊空間。
[0158]作為一種可選的實施方式,處理器501獲取磁頭的目標訪問邏輯區(qū)塊地址之前,還用于:
[0159]在所述磁盤空間按預設(shè)的磁盤空間間隔設(shè)置至少三個所述超級塊空間;
[0160]生成所述超級塊空間的地址。
[0161]作為一種可選的實施方式,處理器501生成所述超級塊空間的地址具體包括:
[0162]根據(jù)所述磁盤空間的大小和所述預設(shè)的磁盤空間間隔,計算得到每一個超級塊空間的偏移地址。
[0163]作為一種可選的實施方式,處理器501根據(jù)所述磁盤空間中所有超級塊空間的地址確定與所述磁頭的目標訪問邏輯區(qū)塊地址距離最近的超級塊空間,得到目標超級塊空間,具體包括:
[0164]若檢測到存在保電內(nèi)存,分別計算所述磁頭的目標訪問邏輯區(qū)塊地址與所述磁盤空間中所有超級塊空間的地址的差值絕對值,將所述計算得到的差值絕對值中最小的差值絕對值對應(yīng)的一個超級塊空間確定為目標超級塊空間;或
[0165]若檢測到不存在所述保電內(nèi)存,分別計算所述磁頭的目標訪問邏輯區(qū)塊地址與所述磁盤空間中所有超級塊空間的地址的差值,將所述計算得到的差值中最小的正差值和最大的負差值對應(yīng)的兩個超級塊空間確定為目標超級塊空間。
[0166]作為一種可選的實施方式,處理器501將超級塊信息寫入所述目標超級塊空間具體包括:
[0167]若檢測到所述目標超級塊空間為空值,則將所述超級塊信息寫入所述目標超級塊空間,根據(jù)所述超級塊信息生成所述超級塊信息的更新標識;
[0168]若檢測到所述目標超級塊空間中不為空值,則將所述超級塊信息更新寫入所述目標超級塊空間,并更新所述超級塊信息的更新標識。[0169]所述將超級塊信息寫入所述目標超級塊空間之后,包括:
[0170]當接收到讀取指令時,根據(jù)所述超級塊信息的更新標識確定最新的超級塊信息,讀取所述確定的最新的超級塊信息。
[0171]作為一種可選的實施方式,處理器501若檢測到存在所述保電內(nèi)存,將超級塊信息寫入所述目標超級塊空間之后,處理器501還用于:
[0172]將所述超級塊信息寫入所述保電內(nèi)存;
[0173]當接收到讀取指令時,從所述保電內(nèi)存中讀取所述超級塊信息;或
[0174]當接收到讀取指令時,若檢測到從所述保電內(nèi)存中讀取所述超級塊信息失敗,則從所述超級塊空間中讀取所述超級塊信息。
[0175]其中,處理器501可以是中央處理器(central processing unit, CPU)、專用集成電路(application-specific integrated circuit,ASIC)等。其中,本實施例中的節(jié)點可以包括總線505。處理器501、存儲器502、發(fā)送器503和接收器504之間可通過總線505連接并通信。其中,存儲器502可以包括:隨機存取存儲器(random access memory, RAM),只讀存儲器(read-only memory, ROM),磁盤等具有存儲功能的實體。
[0176]本發(fā)明實施例的服務(wù)器,包括:處理器、存儲器、發(fā)送器和接收器,處理器可獲取磁頭的目標訪問邏輯區(qū)塊地址和磁盤空間中所有超級塊空間的地址,其中,磁盤空間包括至少三個超級塊空間,可將磁盤空間中所有超級塊空間的地址與磁頭的目標訪問邏輯區(qū)塊地址距離最近的超級塊空間確定為目標超級塊空間,并將超級塊信息寫入目標超級塊空間,實現(xiàn)可將超級塊信息寫入距離磁頭最近的超級塊空間,解決了現(xiàn)有技術(shù)中每次尋道時都需定位到磁頭頭部或尾部,導致尋道時間長,旋轉(zhuǎn)延遲久,文件系統(tǒng)的性能差,磁頭擺動幅度大,劃傷磁盤可能性增大的技術(shù)問題,采用本發(fā)明,可有效減少尋道時間和旋轉(zhuǎn)延遲,提高了文件系統(tǒng)的性能和確保了文件系統(tǒng)的可靠性。
[0177]在本申請所提供的幾個實施例中,應(yīng)該理解到,所揭露的裝置和方法,可以通過其它的方式實現(xiàn)。例如,以上所描述的裝置實施例僅是示意性的,例如,模塊或單元的劃分,僅僅為一種邏輯功能劃分,實際實現(xiàn)時可以有另外的劃分方式,例如多個單元或模塊可以結(jié)合或者可以集成到另一個系統(tǒng),或一些特征可以忽略,或不執(zhí)行。另外,所顯示或討論的相互之間的耦合或直接耦合或通信連接可以是通過一些接口、裝置、模塊或單元的間接耦合或通信連接,也可以是電的,機械的或其它的形式連接。
[0178]作為分離部件說明的模塊或單元可以是或者也可以不是物理上分開的,作為模塊或單元顯示的部件可以是或者也可以不是物理模塊或單元,即可以位于一個地方,或者也可以分布到多個網(wǎng)絡(luò)模塊或單元上??梢愿鶕?jù)實際的需要選擇其中的部分或者全部模塊或單元來實現(xiàn)本申請實施例方案的目的。
[0179]另外,在本申請各個實施例中的各功能模塊或單元可以集成在一個處理模塊或單元中,也可以是各個模塊或單元單獨物理存在,也可以是兩個或兩個以上模塊或單元集成在一個模塊或單元中。上述集成的模塊或單元既可以采用硬件的形式實現(xiàn),也可以采用軟件功能單元的形式實現(xiàn)。
[0180]集成的模塊或單元如果以軟件功能模塊或單元的形式實現(xiàn)并作為獨立的產(chǎn)品銷售或使用時,可以存儲在一個計算機可讀取存儲介質(zhì)中?;谶@樣的理解,本申請的技術(shù)方案本質(zhì)上或者說對現(xiàn)有技術(shù)做出貢獻的部分,或者該技術(shù)方案的全部或部分可以軟件產(chǎn)品的形式體現(xiàn)出來,該計算機軟件產(chǎn)品存儲在一個存儲介質(zhì)中,包括若干指令用以使得一臺計算機設(shè)備(可以是個人計算機,服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本申請各個實施例方法的全部或部分步驟。而前述的存儲介質(zhì)包括:U盤、移動硬盤、只讀存儲器(ROM,Read-OnlyMemory)、隨機存取存儲器(RAM, Random Access Memory)、磁碟或者光盤等各種可以存儲程序代碼的介質(zhì)。
[0181] 以上,僅為本申請的【具體實施方式】,但本申請的保護范圍并不局限于此,任何熟悉本【技術(shù)領(lǐng)域】的技術(shù)人員在本申請揭露的技術(shù)范圍內(nèi),可輕易想到各種等效的修改或替換,這些修改或替換都應(yīng)涵蓋在本申請的保護范圍之內(nèi)。因此,本申請的保護范圍應(yīng)以權(quán)利要求的保護范圍為準。
【權(quán)利要求】
1.一種超級塊信息的處理方法,其特征在于,所述方法包括: 獲取磁頭的目標訪問邏輯區(qū)塊地址; 獲取磁盤空間中所有超級塊空間的地址,所述磁盤空間包括至少三個超級塊空間;根據(jù)所述磁盤空間中所有超級塊空間的地址確定與所述磁頭的目標訪問邏輯區(qū)塊地址距離最近的超級塊空間,得到目標超級塊空間; 將超級塊信息寫入所述目標超級塊空間。
2.如權(quán)利要求1所述的方法,其特征在于,所述獲取磁頭的目標訪問邏輯區(qū)塊地址之前,包括: 在所述磁盤空間按預設(shè)的磁盤空間間隔設(shè)置至少三個所述超級塊空間; 生成所述超級塊空間的地址。
3.如權(quán)利要求2所述的方法,其特征在于,所述生成所述超級塊空間的地址包括: 根據(jù)所述磁盤空間的大小和所述預設(shè)的磁盤空間間隔,計算得到每一個超級塊空間的偏移地址。
4.如權(quán)利要求1所述的方法,其特征在于,所述根據(jù)所述磁盤空間中所有超級塊空間的地址確定與所述磁頭的目標訪問邏輯區(qū)塊地址距離最近的超級塊空間,得到目標超級塊空間,包括: 若檢測到存在保電內(nèi)存,分別計算所述磁頭的目標訪問邏輯區(qū)塊地址與所述磁盤空間中所有超級塊空間的地址的差值絕對值,將所述計算得到的差值絕對值中最小的差值絕對值對應(yīng)的一個超級塊空間確定為目標超級塊空間;或 若檢測到不存在所述保電內(nèi)存,分別計算所述磁頭的目標訪問邏輯區(qū)塊地址與所述磁盤空間中所有超級塊空間的地址的差值,將所述計算得到的差值中最小的正差值和最大的負差值對應(yīng)的兩個超級塊空間確定為目標超級塊空間。
5.如權(quán)利要求1所述的方法,其特征在于,所述將超級塊信息寫入所述目標超級塊空間,包括: 若檢測到所述目標超級塊空間為空值,則將所述超級塊信息寫入所述目標超級塊空間,根據(jù)所述超級塊信息生成所述超級塊信息的更新標識; 若檢測到所述目標超級塊空間中不為空值,則將所述超級塊信息更新寫入所述目標超級塊空間,并更新所述超級塊信息的更新標識; 所述將超級塊信息寫入所述目標超級塊空間之后,包括: 當接收到讀取指令時,根據(jù)所述超級塊信息的更新標識確定最新的超級塊信息,讀取所述確定的最新的超級塊信息。
6.如權(quán)利要求4所述的方法,其特征在于,若檢測到存在所述保電內(nèi)存,所述將超級塊信息寫入所述目標超級塊空間之后,包括: 將所述超級塊信息寫入所述保電內(nèi)存; 當接收到讀取指令時,從所述保電內(nèi)存中讀取所述超級塊信息;或當接收到讀取指令時,若檢測到從所述保電內(nèi)存中讀取所述超級塊信息失敗,則從所述超級塊空間中讀取所述超級塊信息。
7.一種超級塊信息的處理裝置,其特征在于,所述裝置包括: 第一地址獲取模塊,用于獲取磁頭的目標訪問邏輯區(qū)塊地址;第二地址獲取模塊,用于獲取磁盤空間中所有超級塊空間的地址,所述磁盤空間包括至少三個超級塊空間; 確定模塊,用于根據(jù)所述第二地址獲取模塊獲取到的磁盤空間中所有超級塊空間的地址確定與所述第一地址獲取模塊獲取到的磁頭的目標訪問邏輯區(qū)塊地址距離最近的超級塊空間,得到目標超級塊空間; 寫入模塊,用于將超級塊信息寫入所述確定模塊確定的目標超級塊空間。
8.如權(quán)利要求7所述的裝置,其特征在于,所述裝置還包括: 設(shè)置模塊,用于在所述磁盤空間按預設(shè)的磁盤空間間隔設(shè)置至少三個所述超級塊空間; 生成模塊,用于生成所述超級塊空間的地址。
9.如權(quán)利要求8所述的裝置,其特征在于,所述生成模塊具體用于: 根據(jù)所述磁盤空間的大小和所述預設(shè)的磁盤空間間隔,計算得到每一個超級塊空間的偏移地址。
10.如權(quán)利要求7所述的裝置,其特征在于,所述確定模塊包括:第一處理單元或第二處理單元; 所述第一處理單元,用于當檢測到存在保電內(nèi)存時,分別計算所述磁頭的目標訪問邏輯區(qū)塊地址與所述磁盤空間中所有超級塊空間的地址的差值絕對值,將所述計算得到的差值絕對值中最小的差值絕對值對應(yīng)的一個超級塊空間確定為目標超級塊空間; 所述第二處理單元,用于當檢測到不存在所述保電內(nèi)存時,分別計算所述磁頭的目標訪問邏輯區(qū)塊地址與所述磁盤空間中所有超級塊空間的地址的差值,將所述計算得到的差值中最小的正差值和最大的負差值對應(yīng)的兩個超級塊空間確定為目標超級塊空間。
11.如權(quán)利要求7所述的裝置,其特征在于,所述寫入模塊,包括:寫入單元或更新單元; 所述寫入單元,用于當檢測到所述目標超級塊空間為空值時,則將所述超級塊信息寫入所述目標超級塊空間,根據(jù)所述超級塊信息生成所述超級塊信息的更新標識; 所述更新單元,用于當檢測到所述目標超級塊空間中不為空值時,則將所述超級塊信息更新寫入所述目標超級塊空間,并更新所述超級塊信息的更新標識; 所述裝置還包括: 讀取模塊,用于當接收到讀取指令時,根據(jù)所述超級塊信息的更新標識確定最新的超級塊信息,讀取所述確定的最新的超級塊信息。
12.如權(quán)利要求10所述的裝置,其特征在于,所述寫入模塊還用于: 將所述超級塊信息寫入所述保電內(nèi)存; 所述裝置還包括:讀取模塊;所述讀取模塊包括:第一讀取單元或第二讀取單元; 所述第一讀取單元,用于若檢測到存在所述保電內(nèi)存,當接收到讀取指令時,從所述保電內(nèi)存中讀取所述超級塊信息; 所述第二讀取單元,用于若檢測到存在所述保電內(nèi)存,當接收到讀取指令時,且檢測到從所述保電內(nèi)存中讀取所述超級塊信息失敗,則從所述超級塊空間中讀取所述超級塊信息
13.一種服務(wù)器,其特征在于,包括如權(quán)利要求7~12任一所述的裝置。
【文檔編號】G06F3/06GK103593302SQ201310601419
【公開日】2014年2月19日 申請日期:2013年11月22日 優(yōu)先權(quán)日:2013年11月22日
【發(fā)明者】劉浩 申請人:華為技術(shù)有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
巴林左旗| 龙胜| 松阳县| 衡水市| 耿马| 青海省| 册亨县| 浮梁县| 镇安县| 灵宝市| 南京市| 梁平县| 蓝山县| 綦江县| 灵川县| 丰城市| 满洲里市| 通州市| 淳安县| 沁水县| 宜章县| 阜平县| 崇州市| 娄烦县| 绥宁县| 巧家县| 古浪县| 航空| 台州市| 东阿县| 县级市| 峨山| 桐乡市| 张家口市| 湟源县| 武穴市| 温宿县| 香港| 洪江市| 万宁市| 虞城县|