亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

一種數(shù)據(jù)固化存儲的方法、裝置和系統(tǒng)的制作方法

文檔序號:10724827閱讀:471來源:國知局
一種數(shù)據(jù)固化存儲的方法、裝置和系統(tǒng)的制作方法
【專利摘要】一種數(shù)據(jù)固化存儲的方法、裝置和系統(tǒng),其中,存儲設備在接收到存儲控制設備發(fā)送的預先固化存儲操作指令時,確定緩存空間中需要預先固化存儲的空間范圍,將所述確定的空間范圍中包括的數(shù)據(jù)進行固化存儲,并鎖定所述緩存空間中確定的空間范圍,以使得所述鎖定的空間范圍不再對新寫入的數(shù)據(jù)提供緩存服務,降低了使用中的緩存空間的大小。當由于存儲系統(tǒng)升級等原因?qū)е滦枰獙⒕彺婵臻g中的數(shù)據(jù)寫回磁盤時,由于使用中的緩存空間已經(jīng)被縮小,從而減少了將數(shù)據(jù)從緩存空間寫回磁盤的時間,提高了用戶的使用體驗。
【專利說明】
一種數(shù)據(jù)固化存儲的方法、裝置和系統(tǒng)
技術領域
[0001]本發(fā)明涉及數(shù)據(jù)存儲技術領域,尤其涉及一種數(shù)據(jù)固化存儲的方法、裝置和系統(tǒng)。
【背景技術】
[0002]在存儲軟件中,為了獲得更短的時延和更高的每秒輸入或輸出操作次數(shù)(英文:10PS,Input/Output Operat1ns Per Second),通常會使用訪問速度更快的存儲介質(zhì)做高速緩沖存儲(英文:cache)。在cache技術中,cache中會保存存儲軟件的元數(shù)據(jù)和用戶數(shù)據(jù)。當存儲軟件版本升級且兩個版本間的元數(shù)據(jù)格式發(fā)生變化時,會導致在升級過程中對cache中保存的元數(shù)據(jù)格式進行升級,同時由于元數(shù)據(jù)格式的變化,也會導致用戶數(shù)據(jù)的存儲格式相應的發(fā)生改變。
[0003]在當前技術條件下,存儲軟件對保存在主存中的數(shù)據(jù)格式做兼容處理,當cache中的元數(shù)據(jù)格式在不同版本間發(fā)生變化并進行版本升級時,先是在老版本上將cache中的元數(shù)據(jù)和用戶數(shù)據(jù)全部寫回到主存,然后將存儲軟件從老版本升級到新版本,升級完成后,再由新版本的存儲軟件將保存在主存上的元數(shù)據(jù)和用戶數(shù)據(jù)按新的格式讀出到cache,從而完成元數(shù)據(jù)格式和用戶數(shù)據(jù)格式從老版本到新版本的轉(zhuǎn)換。如果是進行軟件版本回退,則執(zhí)行上述過程的逆過程即可完成元數(shù)據(jù)格式和用戶數(shù)據(jù)格式從新版本到老版本的轉(zhuǎn)換。
[0004]在當前的這種處理方式下,如果cache容量很小,cache中數(shù)據(jù)寫回磁盤的時間很短,則對升級基本沒什么影響。但當cache容量變大同時主存I/O速率又不能同步快速增長時,現(xiàn)有技術在將cache中的數(shù)據(jù)寫回磁盤時將會耗費大量時間。特別是在分布式存儲系統(tǒng)的在線升級時,為確保在升級過程中存儲系統(tǒng)能持續(xù)提供服務,往往將系統(tǒng)中的所有存儲節(jié)點按某種策略采用串行方式逐步升級。這種情況下,存儲系統(tǒng)的升級時間將極大的延長,有時甚至變得不可接受。

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

[0005]本發(fā)明實施例提供了一種數(shù)據(jù)固化存儲的方法、裝置和系統(tǒng)。以解決將緩存中的數(shù)據(jù)寫回到磁盤所帶來的耗時過長的問題。
[0006]—方面,本發(fā)明具體實施例提供一種數(shù)據(jù)固化存儲的方法。所述方法中,存儲設備在接收到存儲控制設備發(fā)送的預先固化存儲操作指令時,確定緩存空間中需要預先固化存儲的空間范圍,將所述確定的空間范圍中包括的數(shù)據(jù)進行固化存儲,并鎖定所述緩存空間中確定的空間范圍,以使得所述鎖定的空間范圍不再對新寫入的數(shù)據(jù)提供緩存服務,降低了使用中的緩存空間的大小。當由于存儲系統(tǒng)升級等原因?qū)е滦枰獙⒕彺婵臻g中的數(shù)據(jù)寫回磁盤時,由于使用中的緩存空間已經(jīng)被縮小,從而減少了將數(shù)據(jù)從緩存空間寫回磁盤的時間,提高了用戶的使用體驗。
[0007]在一個可能的設計中,存儲控制設備發(fā)送的預先固化存儲操作指令中包括需要進行預先固化存儲的存儲設備的標識信息,根據(jù)所述標識信息確定需要進行預先固化存儲的存儲設備。存儲控制設備根據(jù)標識信息確定進行預先固化存儲,從而使預先固化存儲的確定更加方便。
[0008]在一個可能的設計中,所述對確定的所述空間范圍中包括的數(shù)據(jù)進行固化存儲,鎖定所述確定的空間范圍具體包括,在確定的空間范圍中選定一個區(qū)域作為第一區(qū)域,對第一區(qū)域鎖定,使第一區(qū)域不再對新寫入的數(shù)據(jù)提供緩存服務。在鎖定第一區(qū)域的一個周期后,再選定一個區(qū)域作為第二區(qū)域。對第二區(qū)域鎖定,使第一區(qū)域和第二區(qū)域不再對新寫入的數(shù)據(jù)提供緩存服務。重復上述步驟直至鎖定的區(qū)域與確定的空間范圍相同時,不再對新的區(qū)域進行鎖定。通過依次對緩存空間中確定的空間范圍進行鎖定和固化存儲,從而逐漸的減小當前可用的緩存空間,減小對存儲設備性能的影響。
[0009]在一個可能的設計中,根據(jù)預先固化存儲操作指令確定緩存空間中需要固化存儲的空間范圍時,根據(jù)預先固化存儲操作指令,確定存儲設備中配置的執(zhí)行預先固化存儲操作指令時需要固化存儲的緩存空間的空間范圍。根據(jù)存儲設備中配置的參數(shù)確定預先固化存儲時固化存儲的空間范圍,從而使配置的參數(shù)可以根據(jù)不同的存儲設備區(qū)別設置。
[0010]在一個可能的設計中,該方法用于元數(shù)據(jù)格式的轉(zhuǎn)換時,對確定的空間范圍進行固化存儲并鎖定確定的空間范圍后,將緩存空間的數(shù)據(jù)完全固化存儲至磁盤,緩存空間的數(shù)據(jù)中包括元數(shù)據(jù)。存儲系統(tǒng)升級完成后,將元數(shù)據(jù)采用升級后的格式重新讀取到緩存空間,從而完成元數(shù)據(jù)格式的轉(zhuǎn)換。通過所述固化存儲的方法,減少了元數(shù)據(jù)格式轉(zhuǎn)換時將緩存空間中的數(shù)據(jù)固化存儲至磁盤的時間,提高了用戶的使用體驗。
[0011]另一方面,本發(fā)明具體實施例提供了一種數(shù)據(jù)固化存儲的方法。存儲控制設備接收到界面設備發(fā)送的預先固化存儲指令時,對預先固化存儲指令進行解析,獲取指令中包括的標識信息。根據(jù)標識信息建立預先固化存儲任務。預先固化存儲任務建立完成后,向存儲設備發(fā)送預先固化存儲操作指令。使存儲設備對緩存空間的部分空間范圍鎖定,并對鎖定的所述空間范圍中包括的數(shù)據(jù)進行固化存儲。當存儲系統(tǒng)升級等原因?qū)е滦枰獙⒕彺婵臻g中的數(shù)據(jù)寫回到磁盤中時,由于使用中的緩存空間已經(jīng)被縮小,從而減少了將數(shù)據(jù)從緩存空間寫回至磁盤的時間,提高了用戶的使用體驗。
[0012]在一個可能的設計中,所述存儲控制設備向所述存儲設備發(fā)送執(zhí)行預先固化存儲任務的指令時,存儲控制設備周期性的向存儲設備發(fā)送預先固化存儲操作指令,以及接收存儲設備返回的當前存儲設備的預先固化存儲的進度。從而確保存儲設備中鎖定的空間范圍一直保持鎖定。并且對存儲設備固化存儲的進度進行更新。
[0013]再一方面,本發(fā)明具體實施例提供一種數(shù)據(jù)固化存儲的方法。存儲控制設備接收界面設備發(fā)送的預先固化存儲指令,對預先固化存儲指令進行解析,獲取指令中包括的標識信息。根據(jù)標識信息建立預先固化存儲任務。向存儲設備發(fā)送預先固化存儲操作指令,使存儲設備對緩存空間的部分空間范圍鎖定,并對鎖定的空間范圍中包括的數(shù)據(jù)進行固化存儲。存儲設備在接收到存儲控制設備發(fā)送的預先固化存儲操作指令時,確定緩存空間中需要預先固化存儲的空間范圍,將所述確定的空間范圍中包括的數(shù)據(jù)進行固化存儲,并鎖定所述緩存空間中確定的空間范圍,以使得所述鎖定的空間范圍不再對新寫入的數(shù)據(jù)提供緩存服務,降低了使用中的緩存空間的大小。當由于存儲系統(tǒng)升級等原因?qū)е滦枰獙⒕彺婵臻g中的數(shù)據(jù)寫回磁盤時,由于使用中的緩存空間已經(jīng)被縮小,從而減少了將數(shù)據(jù)從緩存空間寫回磁盤的時間,提高了用戶的使用體驗。
[0014]又一方面,本發(fā)明具體實施例提供一種存儲設備,包括接收單元和處理單元。接收單元,用于接收存儲控制設備發(fā)送的預先固化存儲操作指令。處理單元,用于根據(jù)所述預先固化存儲操作指令確定緩存空間中需要固化存儲的空間范圍。對確定的所述空間范圍中包括的數(shù)據(jù)進行固化存儲,鎖定所述確定的空間范圍,以使得所述鎖定的空間范圍不再對新寫入的數(shù)據(jù)提供緩存服務。當存儲系統(tǒng)升級等原因?qū)е滦枰獙⒕彺婵臻g中的數(shù)據(jù)寫回磁盤時,由于使用中的緩存空間已經(jīng)被縮小,從而減少了將數(shù)據(jù)從緩存空間寫回磁盤的時間,提高了用戶的使用體驗。
[0015]在一個可能的設計中,處理單元用于根據(jù)預先固化存儲操作指令確定緩存空間中需要固化存儲的空間范圍前,預先固化存儲操作指令中包括需要進行預先固化存儲的存儲設備的標識信息,處理單元用于根據(jù)所述標識信息,確定對存儲設備的緩存空間進行預先固化存儲。存儲控制設備根據(jù)標識信息確定進行預先固化存儲,從而使預先固化存儲的確定更加方便。
[0016]在一個可能的設計中,處理單用于元對確定的所述空間范圍中包括的數(shù)據(jù)進行固化存儲,鎖定確定的空間范圍具體包括,在確定的空間范圍中選定一個區(qū)域作為第一區(qū)域,處理單元對第一區(qū)域鎖定,使第一區(qū)域不再對新寫入的數(shù)據(jù)提供緩存服務。在鎖定第一區(qū)域的一個周期后,在確定的空間范圍中選定一個第二區(qū)域,所述處理單元對第二區(qū)域鎖定,使所述第一區(qū)域和第二區(qū)域不再對新寫入的據(jù)提供緩存服務。重復上述步驟直至鎖定的區(qū)域與所述確定的空間范圍相同時,不再對新的區(qū)域進行鎖定。通過依次對緩存空間中確定的空間范圍進行鎖定和固化存儲,從而逐漸的減小當前可用的緩存空間,減小對存儲設備性能的影響。
[0017]在一個可能的設計中,所述處理單元用于根據(jù)所述預先固化存儲操作指令確定緩存空間中需要固化存儲的空間范圍時,根據(jù)預先固化存儲操作指令,確定存儲設備中配置的執(zhí)行預先固化存儲操作指令時需要固化存儲的緩存空間的空間范圍。根據(jù)存儲設備中配置的參數(shù)確定預先固化存儲時固化存儲的空間范圍,從而使配置的參數(shù)可以根據(jù)不同的存儲設備區(qū)別設置。
[0018]在一個可能的設計中,存儲設備用于存儲系統(tǒng)中,存儲系統(tǒng)可用于元數(shù)據(jù)格式的轉(zhuǎn)換。元數(shù)據(jù)格式轉(zhuǎn)換時,處理單元對確定的空間范圍進行固化存儲,鎖定確定的空間范圍后,將緩存空間的數(shù)據(jù)完全固化存儲至磁盤,緩存空間的數(shù)據(jù)包括元數(shù)據(jù)。存儲系統(tǒng)升級完成后,將元數(shù)據(jù)采用升級后的格式重新讀取到緩存空間。在元數(shù)據(jù)格式轉(zhuǎn)換前,通過減少元數(shù)據(jù)格式轉(zhuǎn)換時緩存空間中的數(shù)據(jù)固化存儲至磁盤的時間,提高了用戶的使用體驗。
[0019]再另一方面,本發(fā)明具體實施例提供一種存儲系統(tǒng),所述存儲系統(tǒng)包括存儲控制設備和存儲設備。當所述存儲系統(tǒng)進行預先固化存儲時,存儲控制設備用于接收到界面設備發(fā)送的預先固化存儲指令時,對預先固化存儲指令進行解析,獲取指令中包括的標識信息。所述存儲控制設備還用于根據(jù)標識信息建立預先固化存儲任務。預先固化存儲任務建立完成后,向存儲設備發(fā)送預先固化存儲操作指令。使存儲設備對緩存空間的部分空間范圍鎖定,并對鎖定的空間范圍中包括的數(shù)據(jù)進行固化存儲。存儲設備用于接收到存儲控制設備發(fā)送的預先固化存儲操作指令,確定緩存空間中需要預先固化存儲的空間范圍,將所述確定的空間范圍中包括的數(shù)據(jù)進行固化存儲,并鎖定所述緩存空間中確定的空間范圍。以使得所述鎖定的空間范圍不再對新寫入的數(shù)據(jù)提供緩存服務,降低了使用中的緩存空間的大小。當由于存儲系統(tǒng)升級等原因?qū)е滦枰獙⒕彺婵臻g中的數(shù)據(jù)寫回磁盤時,由于使用中的緩存空間已經(jīng)被縮小,從而減少了將數(shù)據(jù)從緩存空間寫回磁盤的時間,提高了用戶的使用體驗。
[0020]本發(fā)明實施例的一種數(shù)據(jù)固化存儲的方法、裝置和系統(tǒng)。通過執(zhí)行所述數(shù)據(jù)固化存儲的方法,減少了存儲設備可用的緩存空間,當由于存儲系統(tǒng)升級等原因?qū)е滦枰獙⒕彺婵臻g中的數(shù)據(jù)寫回磁盤時,減少緩存空間中數(shù)據(jù)寫回至磁盤的時間,提高了用戶的使用體驗。
【附圖說明】
[0021]圖1為本發(fā)明實施例提供的一種存儲系統(tǒng)結(jié)構(gòu)圖;
[0022]圖2為本發(fā)明具體實施例提供的一種存儲控制設備;
[0023]圖3為本發(fā)明具體實施例提供的一種存儲控制設備創(chuàng)建的預先固化存儲任務;
[0024]圖4為本發(fā)明具體實施例提供的一種存儲設備;
[0025]圖5-1至5-3為本發(fā)明具體實施例提供的一種數(shù)據(jù)預先固化存儲的過程;
[0026]圖6為本發(fā)明具體實施例提供的一種數(shù)據(jù)固化存儲的方法流程圖;
[0027]圖7為本發(fā)明具體實施例提供的一種存儲控制設備;
[0028]圖8為本發(fā)明具體實施例提供的一種存儲設備;
[0029]圖9為本發(fā)明實施例提供的一種存儲控制設備示意圖;
[0030]圖10為本發(fā)明實施例提供的一種存儲設備示意圖。
【具體實施方式】
[0031]下面通過附圖和實施例,對本發(fā)明實施例的技術方案做進一步的詳細描述。
[0032]圖1為本發(fā)明實施例提供的一種存儲系統(tǒng)結(jié)構(gòu)圖。如圖1所示,包括界面設備、存儲控制設備和多個存儲設備。所述界面設備與存儲控制設備連接,接收所述界面設備發(fā)送的控制指令,并向所述界面設備反饋所述控制指令的執(zhí)行結(jié)果。所述存儲控制設備與多個存儲設備連接,通過所述存儲控制設備管理所述存儲設備。
[0033]在本發(fā)明的具體實施例中,所述存儲設備僅為本發(fā)明具體實施例的一種舉例,所述存儲設備還可以是存儲陣列等其他存儲形式。在一個例子中,所述存儲設備為X86服務器,所述存儲系統(tǒng)中包括多個X86服務器。所述存儲設備為X86服務器只是本發(fā)明具體實施例的一種舉例,而不能用于對本發(fā)明的限定。
[0034]所述存儲系統(tǒng)對存儲設備中的元數(shù)據(jù)進行格式轉(zhuǎn)換時,所述界面設備將所述預先固化存儲指令向存儲控制設備發(fā)送,以使所述存儲控制設備建立預先固化存儲任務。所述界面設備發(fā)送的預先固化存儲指令中包括需要進行預先固化存儲的存儲設備的標識,所述需要進行預先固化存儲的設備的標識通過所述界面設備確定。
[0035]所述存儲控制設備在建立預先固化存儲任務后,向多個存儲設備發(fā)送預先固化存儲操作指令。所述存儲設備接收存儲控制設備發(fā)送的預先固化存儲操作指令。在一個例子中,一個存儲設備根據(jù)接收的所述預先固化存儲操作指令中是否包括該存儲設備的標識信息,從而確定是否進行預先固化存儲。所述存儲設備通過執(zhí)行預先固化存儲操作指令,對所述存儲設備的緩存空間中部分的空間范圍進行固化存儲,鎖定固化存儲后的空間范圍,以使得所述鎖定的空間范圍不再對新寫入的數(shù)據(jù)提供緩存服務或以使得所述鎖定的空間范圍不被后續(xù)的10( Input/Output)操作所使用。
[0036]在本發(fā)明的具體實施例中,所述存儲設備的標識信息可以是存儲設備所在節(jié)點的節(jié)點信息。對所述存儲設備的緩存空間中部分的空間范圍進行固化存儲是將緩存空間的元數(shù)據(jù)塊和所述元數(shù)據(jù)塊對應的數(shù)據(jù)區(qū)中的數(shù)據(jù)存儲至存儲設備的持久化存儲硬件中。
[0037]在本發(fā)明的具體實施例中,所述持久化存儲硬件可以為磁盤、硬盤、固態(tài)硬盤(solid-state drive,SSD)等多種持久化存儲器件中的任意一種。為了描述的方便,在本申請中僅以磁盤為例說明。
[0038]圖2為本發(fā)明具體實施例提供的一種存儲控制設備。如圖2所示的存儲控制設備包括處理器、磁盤和內(nèi)存。所述磁盤中包括存儲存儲設備的信息。例如,所述磁盤中包括存儲存儲設備的節(jié)點、每個存儲設備的節(jié)點對應的存儲設備的信息。所述每個存儲設備的節(jié)點對應的存儲設備的信息包括存儲空間以及緩存空間等。
[0039]所述存儲控制設備接收界面設備發(fā)送的預先固化存儲指令,所述預先固化存儲指令中包括需要進行預先固化存儲的存儲設備的標識信息。通過處理器對所述預先固化存儲指令進行解析,確定所述指令為預先固化存儲指令,以及獲取所述預先固化存儲指令中包括的存儲設備的標識信息,所述標識信息還可以是與存儲設備所對應的節(jié)點信息。所述處理器根據(jù)所述標識信息或節(jié)點信息確定需要執(zhí)行預先固化存儲操作的存儲設備。
[0040]在一個例子中,若終端設備發(fā)送的預先固化存儲指令中不包括標識信息或節(jié)點信息,則用于對存儲系統(tǒng)中的所有存儲設備進行預先固化存儲。所述存儲控制設備在接收到不包括標識信息的預先固化存儲指令后,將啟動對存儲控制設備連接的所有存儲設備的預先固化存儲操作。
[0041]所述處理器根據(jù)所述預先固化存儲指令中包括的標識信息創(chuàng)建預先固化存儲任務。并根據(jù)預先固化存儲指令中的參數(shù)和磁盤中存儲的各個存儲設備的信息對創(chuàng)建的預先固化存儲任務進行初始化,將所創(chuàng)建的預先固化存儲任務保存在存儲控制設備的內(nèi)存中。圖3為本發(fā)明具體實施例提供的一種存儲控制設備創(chuàng)建的預先固化存儲任務。如圖3所示,存儲控制設備創(chuàng)建的預先固化存儲任務包括需要進行預先固化存儲的存儲設備的標識信息、是否對該節(jié)點通知進行預先固化存儲以及通知的次數(shù)、節(jié)點所對應的存儲設備是否返回進度信息、節(jié)點未返回信息的原因和節(jié)點返回的固化存儲的進度。
[0042]在本發(fā)明的具體實施例中,所述存儲控制設備在預先固化存儲任務創(chuàng)建成功后向所有的存儲設備發(fā)送預先固化存儲操作指令。所述預先固化存儲操作指令中包括預先固化存儲任務中包括的存儲設備的標識信息,以使一個存儲設備在接收預先固化存儲操作指令后確定該存儲設備執(zhí)行預先固化存儲操作指令。例如,存儲控制設備所創(chuàng)建的預先固化存儲任務中包括的標識信息為“A1001、A1002、A1003、A1004”,則標識信息為A1001、A1002、A1003、A1004的存儲設備在接收存儲控制設備發(fā)送的預先固化存儲操作指令后,執(zhí)行預先固化存儲操作指令。
[0043]所述存儲設備在確定執(zhí)行預先固化存儲操作指令后將在存儲設備的緩存空間中確定固化存儲的空間范圍。對確定的空間范圍進行鎖定,以使得所述鎖定的空間范圍不再提供緩存服務或以使得所述鎖定的空間范圍不被后續(xù)的1操作所使用。將鎖定的空間范圍中包括的數(shù)據(jù)進行固化存儲。所述存儲控制設備還接收存儲設備返回的執(zhí)行預先固化存儲操作指令的結(jié)果。在一個例子中,所述存儲控制設備接收的所述存儲設備返回的執(zhí)行預先固化存儲操作指令的結(jié)果,所述結(jié)果可以包括存儲設備的標識信息和對確定的空間范圍執(zhí)行預先固化存儲操作指令完成的進度信息。所述存儲控制設備根據(jù)接收的預先固化存儲操作指令完成的進度信息對預先固化存儲任務進行更新。
[0044]圖4為本發(fā)明具體實施例提供的一種存儲設備。如圖4所示,包括處理器、磁盤和內(nèi)存。存儲設備接收存儲控制設備發(fā)送的預先固化存儲操作指令,所述處理器根據(jù)所述預先固化存儲操作指令對存儲設備的緩存空間進行預先固化存儲。
[0045]在本發(fā)明的具體實施例中,當所述存儲設備開始預先固化存儲后,所述存儲控制設備周期性的向所述存儲設備發(fā)送預先固化存儲指令。所述存儲設備在收到預先固化存儲指令后,繼續(xù)向所述存儲控制設備發(fā)送當前固化存儲的進度信息。以使所述存儲控制設備的固化存儲任務對存儲設備的固化存儲進度進行更新。
[0046]所述緩存空間用于暫時存儲處理器處理后的數(shù)據(jù)。如圖4所示,在本發(fā)明的具體實施例中,所述緩存空間中包括元數(shù)據(jù)區(qū)和數(shù)據(jù)區(qū)。所述元數(shù)據(jù)用于表示緩存空間中各個物理地址的數(shù)據(jù)信息,所述數(shù)據(jù)區(qū)用于存儲處理器處理后需要固化存儲至磁盤的數(shù)據(jù)。在對緩存空間中的數(shù)據(jù)區(qū)中的數(shù)據(jù)進行固化存儲時,通過查找元數(shù)據(jù),獲取數(shù)據(jù)區(qū)中數(shù)據(jù)在磁盤中的存儲地址,將該條數(shù)據(jù)固化存儲到所述存儲設備的地址,并刪除該條數(shù)據(jù)所對應的元數(shù)據(jù)。
[0047]所述存儲設備的處理器在獲取預先固化存儲操作指令后,對所述預先固化存儲操作指令進行解析,獲取所述預先固化存儲操作指令中包括的標識信息,根據(jù)所述標識信息確定該存儲設備是否執(zhí)行預先固化存儲操作指令。在一個例子中,所述存儲設備的標識信息為“A1001”,若存儲設備A接收的預先固化存儲操作指令中的標識信息包括“A1001”,則存儲設備A需要執(zhí)行預先固化存儲操作指令,反之則不執(zhí)行預先固化存儲操作指令。
[0048]在一個例子中,所述存儲設備中還配置了預先固化存儲時緩存空間中固化存儲的空間范圍。當所述存儲設備確定需要執(zhí)行預先固化存儲操作指令后,存儲設備將根據(jù)配置的預先固化存儲時固化存儲的空間范圍進行固化存儲。例如,存儲設備中包括了第一數(shù)據(jù)區(qū)、第二數(shù)據(jù)區(qū)、第三數(shù)據(jù)區(qū)、第四數(shù)據(jù)區(qū)和第五數(shù)據(jù)區(qū),以及元數(shù)據(jù)塊一、元數(shù)據(jù)塊二、元數(shù)據(jù)塊三、元數(shù)據(jù)塊四和元數(shù)據(jù)塊五。所述存儲設備中配置了預先固化存儲時緩存空間中固化存儲的空間范圍,其中,第一數(shù)據(jù)區(qū)、第二數(shù)據(jù)區(qū)、第三數(shù)據(jù)區(qū)和第四數(shù)據(jù)區(qū),以及,元數(shù)據(jù)塊一、元數(shù)據(jù)塊二、元數(shù)據(jù)塊三和元數(shù)據(jù)塊四需要進行固化存儲。
[0049]將確定緩存空間中需要固化存儲的空間范圍后,對確定的空間范圍鎖定。首先將一個空間范圍鎖定,使鎖定的緩存空間不再提供緩存服務或以使得所述鎖定的緩存空間不被后續(xù)的1操作所使用。新寫入的數(shù)據(jù)存儲至沒有鎖定的緩存空間。根據(jù)緩存空間的刷盤規(guī)則進行固化存儲。在一個周期后,再將另一個空間范圍鎖定,根據(jù)緩存空間的刷盤規(guī)則進行固化存儲。直至將確定的空間范圍全部鎖定。例如,所述根據(jù)緩存空間的刷盤規(guī)則進行固化存儲是根據(jù)緩存空間中數(shù)據(jù)的命中數(shù)和寫入緩存空間的時間確定數(shù)據(jù)刷盤的優(yōu)先順序。本發(fā)明具體實施例中,還可以在緩存空間的刷盤規(guī)則之上,對鎖定的空間范圍增加寫入緩存時間的權重,從而使鎖定的空間范圍中的數(shù)據(jù)能夠更加優(yōu)先的進行固化存儲。
[0050]磁盤在一個例子中,需要保留的Cache空間也可以通過所述界面設備確定。所述界面設備向存儲控制設備發(fā)送的預先固化存儲指令中包括需要固化存儲的緩存空間的大小,所述緩存空間的大小可以是整個緩存空間的比例。所述存儲控制設備在創(chuàng)建預先固化存儲任務時還將需要固化存儲的緩存空間的大小添加到預先固化存儲任務中。所述存儲控制設備在向存儲設備發(fā)送的預先固化存儲操作指令時,所述指令中包括需要固化存儲的緩存空間的大小。
[0051]在本發(fā)明的具體實施例中,所述存儲控制設備還用于向存儲設備發(fā)送停止預先固化存儲操作指令,使所述存儲設備停止執(zhí)行所述預先固化存儲操作指令。所述存儲設置停止執(zhí)行所述預先固化存儲操作指令后,不再對緩存空間進行鎖定,使新寫入的數(shù)據(jù)可以寫入任意空間范圍。
[0052]在本發(fā)明的具體實施例中,所述存儲控制設備周期性的向所述存儲設備發(fā)送預先固化存儲操作指令。所述存儲設備在接收存儲控制設備發(fā)送的預先固化存儲操作指令,并確定所述存儲設備執(zhí)行所述預先固化存儲操作指令后,向所述存儲控制設備返回當前鎖定的空間范圍。例如,存儲控制設備向存儲設備發(fā)送預先固化存儲操作指令的周期為一分鐘,當存儲設備幾個周期(例如3個周期)不能接收存儲控制設備發(fā)送的預先固化存儲操作指令后,將放棄預先固化存儲操作指令的執(zhí)行,并不再對緩存空間進行鎖定,使新寫入的數(shù)據(jù)可以寫入任意空間范圍。
[0053]在一個例子中,所述預先固化存儲可以用于元數(shù)據(jù)格式的轉(zhuǎn)換。所述存儲系統(tǒng)在進行元數(shù)據(jù)格式轉(zhuǎn)換前,將所述存儲系統(tǒng)中的存儲設備的緩存空間中的部分空間范圍鎖定并對鎖定空間范圍中包括的數(shù)據(jù)進行固化存儲。從而減小了存儲設備緩存空間的大小。使存儲設備在進行元數(shù)據(jù)格式轉(zhuǎn)換時,能夠快速的將存儲設備中剩下的緩存空間中包括的元數(shù)據(jù)快速的進行固化存儲。存儲系統(tǒng)升級完成后,將元數(shù)據(jù)采用升級后的格式重新讀取到緩存空間中。從而減小了元數(shù)據(jù)格式轉(zhuǎn)換時將元數(shù)據(jù)固化存儲至磁盤的時間,提高了效率和用戶體驗。當存儲設備的緩存空間的元數(shù)據(jù)固化存儲至存儲設備的磁盤后,將元數(shù)據(jù)讀取至新的磁盤。
[0054]圖5-1至5-3為本發(fā)明具體實施例提供的一種數(shù)據(jù)預先固化存儲的過程。圖5-1所示為預先固化存儲開始階段,5-2所示為預先固化存儲過程階段,5-3所示為預先固化存儲完成階段。
[0055]如圖5-1所示,在預先固化存儲開始階段,所述存儲設備中的緩存空間按照存儲設備的緩存空間的固化存儲規(guī)則進行固化存儲。在一個例子中,所述緩存空間固化存儲的規(guī)則為對一個數(shù)據(jù)的命中次數(shù)和寫入緩存空間的時間進行加權計算,根據(jù)加權計算的結(jié)果按照從大到小的順序?qū)彺婵臻g中的數(shù)據(jù)進行固化存儲。緩存空間包括緩存數(shù)據(jù)區(qū)和緩存元數(shù)據(jù)區(qū)。其中緩存數(shù)據(jù)區(qū)具體包括第一數(shù)據(jù)區(qū)、第二數(shù)據(jù)區(qū)、第三數(shù)據(jù)區(qū)、第四數(shù)據(jù)區(qū)和第五數(shù)據(jù)區(qū)。緩存元數(shù)據(jù)區(qū)包括元數(shù)據(jù)塊一、元數(shù)據(jù)塊二、元數(shù)據(jù)塊三、元數(shù)據(jù)塊四和元數(shù)據(jù)塊五。
[0056]圖5-2所示,在存儲設備接收存儲控制設備發(fā)送的預先固化存儲操作指令后,所述存儲設備根據(jù)所述預先固化存儲操作指令中包括的標識信息確定存儲設備執(zhí)行所述預先固化存儲操作指令。所述存儲設備確定執(zhí)行所述預先固化存儲操作指令后,確定緩存空間中固化存儲的空間范圍,所述空間范圍包括數(shù)據(jù)區(qū)和元數(shù)據(jù)塊。在一個例子中,根據(jù)所述緩存空間配置的固化存儲規(guī)則規(guī)定,預先固化存儲將對四個數(shù)據(jù)區(qū)和四個元數(shù)據(jù)塊鎖定。所述緩存空間固化存儲規(guī)則還規(guī)定,對存儲容量最小的四個數(shù)據(jù)區(qū)和元數(shù)據(jù)塊進行固化存儲并鎖定。在一個例子中,若選定固化存儲并鎖定的是第一數(shù)據(jù)區(qū)、第二數(shù)據(jù)區(qū)、第三數(shù)據(jù)區(qū)和第四數(shù)據(jù)區(qū)以及元數(shù)據(jù)塊一、元數(shù)據(jù)塊二、元數(shù)據(jù)塊三和元數(shù)據(jù)塊四。
[0057]所述存儲設備執(zhí)行預先固化存儲時,選定一個數(shù)據(jù)區(qū),對該數(shù)據(jù)區(qū)鎖定。以使該數(shù)據(jù)區(qū)不會有新的數(shù)據(jù)命中,對于鎖定數(shù)據(jù)區(qū)中的數(shù)據(jù)將優(yōu)先被固化存儲。例如,優(yōu)先對數(shù)據(jù)區(qū)固化存儲,再對元數(shù)據(jù)塊固化存儲。對數(shù)據(jù)區(qū)固化存儲時,例如首先對第一數(shù)據(jù)區(qū)鎖定,在對第一數(shù)據(jù)區(qū)鎖定后,第一數(shù)據(jù)區(qū)中將不會有新寫入的數(shù)據(jù)被命中。由于緩存空間固化存儲的規(guī)則為對一個數(shù)據(jù)的命中次數(shù)和寫入緩存空間的時間進行加權計算,根據(jù)加權計算的結(jié)果按照從大到小的順序?qū)彺婵臻g中的數(shù)據(jù)進行固化存儲。在一個例子中,在對第一數(shù)據(jù)區(qū)鎖定后,對第一數(shù)據(jù)區(qū)中包括的數(shù)據(jù)進行加權計算時,增加寫入緩存空間的時間的權重,從而增大第一數(shù)據(jù)區(qū)中的數(shù)據(jù)加權計算的結(jié)果,使第一數(shù)據(jù)區(qū)中的數(shù)據(jù)能夠更優(yōu)先的固化存儲。
[0058]對第一數(shù)據(jù)區(qū)鎖定一個周期后,再對另一個數(shù)據(jù)區(qū)固化存儲。例如對第二數(shù)據(jù)區(qū)進行固化存儲并鎖定,對第二數(shù)據(jù)區(qū)固化存儲的方式與第一數(shù)據(jù)區(qū)的固化存儲方式相同。
[0059]按照上述方式,直至完全將第一數(shù)據(jù)區(qū)、第二數(shù)據(jù)區(qū)、第三數(shù)據(jù)區(qū)和第四數(shù)據(jù)區(qū)以及元數(shù)據(jù)塊一、元數(shù)據(jù)塊二、元數(shù)據(jù)塊三和元數(shù)據(jù)塊四固化存儲。由于所有數(shù)據(jù)區(qū)和元數(shù)據(jù)塊區(qū)的固化存儲方式相同,本發(fā)明對此不復敖述。需要說明的是,在本發(fā)明的具體實施例中,上述緩存空間固化存儲規(guī)則、所選定的固化存儲順序僅為本發(fā)明的舉例,不用于對本發(fā)明的具體限定,例如也可以先對元數(shù)據(jù)塊固化存儲,再對數(shù)據(jù)區(qū)固化存儲。
[0060]如圖5-3所示,在對第一數(shù)據(jù)區(qū)、第二數(shù)據(jù)區(qū)、第三數(shù)據(jù)區(qū)、第四數(shù)據(jù)區(qū)以及元數(shù)據(jù)塊一、元數(shù)據(jù)塊二、元數(shù)據(jù)塊三和元數(shù)據(jù)塊四鎖定并固化存儲后,上述相應的存儲空間在新的數(shù)據(jù)塊存儲時,將不被命中。
[0061]在一個例子中,所述存儲設備在一定周期沒有收到存儲控制設備發(fā)送的預先固化存儲操作指令時,將自動取消對存儲設備中緩存空間的鎖定。此時,新寫入的數(shù)據(jù)將能夠被命中在任意數(shù)據(jù)區(qū)中。新寫入的需要讀寫的數(shù)據(jù)的元數(shù)據(jù)將能夠被命中在緩存空間中的任意元數(shù)據(jù)塊中。例如,所述存儲設備設定,在三個周期沒有收到存儲控制設備發(fā)送的預先固化存儲操作指令后,將自動對第一數(shù)據(jù)區(qū)、第二數(shù)據(jù)區(qū)、第三數(shù)據(jù)區(qū)、第四數(shù)據(jù)區(qū)以及元數(shù)據(jù)塊一、元數(shù)據(jù)塊二、元數(shù)據(jù)塊三和元數(shù)據(jù)塊四解除鎖定。
[0062]在一個例子中,所述存儲控制設備在預先固化存儲過程中接收界面設備發(fā)送的預先固化存儲指令時,所述存儲控制設備將對接收的預先固化存儲指令中包括的標識信息與預先固化存儲任務中包括的標識信息進行對比,以判斷所述預先固化存儲任務中的標識信息是否完全包括預先固化存儲指令中包括的標識信息。當預先固化存儲任務中包括的標識信息完全包括預先固化存儲指令中包括的標識信息,則直接向界面設備返回任務創(chuàng)建成功。當預先固化存儲指令中包括的標識信息與所述預先固化存儲任務中包括的標識信息不完全相同或完全不相同時,所述存儲控制設備將預先固化存儲任務中不包括的標識信息加入預先固化存儲任務中,再向界面設備返回任務創(chuàng)建成功。例如,所述存儲控制設備在預先固化存儲過程中收到界面設備發(fā)送的預先固化存儲指令,所述預先固化存儲指令包括對標識信息為“A0001”、“A0008”。所述存儲控制設備的預先固化存儲任務中包括的標識信息如圖3所示。所述存儲控制設備將預先固化存儲任務中包括的標識信息與界面設備發(fā)送的預先固化存儲指令中包括的標識信息進行比較,于是,存儲控制設備將“A0008”加入到預先固化存儲任務中,并向界面設備返回任務創(chuàng)建成功。
[0063]在本發(fā)明的具體實施例中,所述存儲控制設備在將預先固化存儲任務更新后,繼續(xù)向存儲設備發(fā)送預先固化存儲操作指令。所述繼續(xù)發(fā)送的預先固化存儲操作指令包括預先固化存儲任務中包括的所有標識信息,以使相應的存儲設備繼續(xù)根據(jù)所述操作指令執(zhí)行所述預先固化存儲操作指令。例如,所述存儲控制設備在向存儲設備發(fā)送的預先固化存儲操作指令中包括標識信息“A0008”。
[0064]在本發(fā)明的具體實施例中,界面設備還發(fā)出停止預先固化存儲的指令。所述界面設備需要停止預先固化存儲時,通過確定停止預先固化存儲的存儲設備的標識信息,并將包括標識信息的停止預先固化存儲指令向存儲控制設備發(fā)送。所述存儲控制設備在收到停止預先固化存儲指令后,將根據(jù)所述指令中攜帶的標識信息對相應的存儲設備發(fā)送停止預先固化存儲操作指令。在一個例子中,當所述界面設備發(fā)送的停止預先固化存儲指令為對所有存儲設備停止預先固化存儲時,則所述指令中不包括標識信息。所述存儲控制設備在確定所述界面設備發(fā)送的停止預先固化存儲指令中不包括任何標識信息時,所述存儲控制設備將對預先固化存儲指令中的所有存儲設備停止預先固化存儲。
[0065]所述存儲控制設備在確定停止預先固化存儲指令后,將根據(jù)指令中包括的停止預先固化存儲的存儲設備的標識信息,與預先固化存儲任務中包括的標識信息進行對比,若存儲設備中沒有預先固化存儲任務的存在,則向界面設備返回停止成功。
[0066]若停止預先固化存儲指令中包括的標識信息與固化存儲任務中的標識信息相符或存在,則向停止預先固化存儲指令中包括的標識信息相對應的存儲設備發(fā)送停止預先固化存儲操作指令。在一個例子中,所述存儲控制設備僅向所述存儲設備發(fā)送一次停止預先固化存儲操作指令。在本發(fā)明的一個例子中,對緩存空間鎖定并進行預先固化存儲后,余下的緩存空間不夠使用時,則會觸發(fā)緩存空間的替換機制。讀取緩存空間中所能存儲的數(shù)據(jù),對讀取的數(shù)據(jù)固化存儲后再讀取下一部分的數(shù)據(jù),直至完成整個數(shù)據(jù)的讀取。
[0067]圖6為本發(fā)明具體實施例提供的一種數(shù)據(jù)固化存儲的方法流程圖。如圖6所示,所述方法具體包括:
[0068]S601、存儲控制設備接收界面設備發(fā)送的預先固化存儲指令,所述預先固化存儲指令中包括需要執(zhí)行預先固化存儲的存儲設備的標識信息。
[0069]所述界面設備確定需要進行預先固化存儲的存儲設備的標識信息,向存儲控制設備發(fā)送預先固化存儲指令。在預先固化存儲指令中,包括確定的需要進行預先固化存儲的存儲設備的標識信息。
[0070]在本發(fā)明的具體實施例中,當界面設備確定對全部的存儲設備進行預先固化存儲時,向所述存儲控制設備發(fā)送的預先固化存儲的指令中不包括所述標識信息。
[0071]在一個例子中,所述界面設備還可以選擇需要進行預先固化存儲的比例。所述界面設備向存儲控制設備發(fā)送的預先固化存儲指令中包括所述預先固化存儲的比例。所述存儲設備根據(jù)所述比例對存儲設備進行預先固化存儲
[0072]S602、對所述預先固化存儲指令進行解析,以獲取標識信息。
[0073]所述存儲控制設備接收界面設備發(fā)送的命令,通過處理器對所述命令解析,確定所述命令為預先固化存儲命令。所述處理器解析的預先固化存儲命令中還包需要固化存儲的存儲設備的標識信息。所述存儲設備的標識信息可以是存儲設備所對應的節(jié)點,所述處理器根據(jù)標識信息確定所對應的存儲設備。
[0074]在一個例子中,所述界面設備發(fā)送的預先固化存儲指令中不包括存儲設備標識,從而用于對存儲系統(tǒng)中的所有存儲設備進行預先固化存儲。所述存儲控制設備在接收到不包括節(jié)點信息的固化存儲指令后,將啟動對存儲控制設備相連接的所有節(jié)點的預先固化存儲操作。
[0075]S603、根據(jù)所述標識信息建立預先固化存儲任務;所述建立的預先固化存儲任務中包括需要執(zhí)行預先固化存儲任務的存儲設備的標識信息。
[0076]所述處理器在確定所述指令為預先固化存儲指令后,根據(jù)預先固化存儲命令的信息創(chuàng)建預先固化存儲任務。并根據(jù)預先固化存儲命令中的參數(shù)和磁盤中存儲的各個存儲設備的信息對預先固化存儲任務進行初始化,將所創(chuàng)建的預先固化存儲任務保存在內(nèi)存中。
[0077]S604、向存儲設備發(fā)送預先固化存儲操作指令;以使所述存儲設備對緩存空間的部分空間范圍鎖定,并對鎖定的空間范圍中包括的數(shù)據(jù)進行固化存儲,從而減小當前可用的緩存空間。
[0078]所述存儲控制設備在預先固化存儲任務創(chuàng)建成功后向存儲設備發(fā)送預先固化存儲操作指令,以使相應的存儲設備在收到所述預先固化存儲操作指令后對存儲設備的部分緩存空間鎖定,并對鎖定的緩存空間中包括的數(shù)據(jù)進行固化存儲,直至存儲設備的緩存空間的大小滿足設定值。所述存儲設備在收到相應的固化存儲指令后,還向存儲控制設備返回信息。在一個例子中,所述存儲設備向所述存儲控制設備返回的結(jié)果包括存儲設備的標識信息和固化存儲的進度信息。所述存儲控制設備根據(jù)存儲設備的標識信息確定所接收的消息來自哪個存儲設備。所述存儲控制設備還根據(jù)當前固化存儲的進度信息對存儲控制設備創(chuàng)建的預先固化存儲任務進行更新。
[0079]在一個例子中,所述存儲控制設備周期性的向存儲設備發(fā)送預先固化存儲操作指令,所述存儲控制設備在發(fā)送預先固化存儲操作指令后還接收存儲設備返回的預先固化存儲的結(jié)果。
[0080]S605、存儲設備接收存儲控制設備發(fā)送的預先固化存儲操作指令。
[0081]存儲設備接收存儲控制設備發(fā)送的預先固化存儲操作指令,所述存儲設備根據(jù)所述預先固化存儲操作指令對存儲設備的部分緩存空間進行固化存儲。
[0082]S606、根據(jù)所述預先固化存儲操作指令確定緩存空間中需要固化存儲的空間范圍;
[0083]在獲取預先固化存儲指令后,根據(jù)所述存儲設備中配置的執(zhí)行預先固化存儲操作指令時需要進行預先固化存儲的空間范圍,確定需要固化存儲的空間范圍。根據(jù)磁盤中的緩存空間固化存儲規(guī)則對Cache進行固化存儲。
[0084]在一個例子中,當所述存儲控制設備發(fā)送的預先固化存儲操作指令中包括固化存儲的比例時,所述存儲設備根據(jù)指令中包括的時間對存儲設備進行固化存儲,以及根據(jù)指令中的固化存儲比例選定需要固化存儲的存儲空間。
[0085]S607、對確定的所述空間范圍中包括的數(shù)據(jù)進行固化存儲,鎖定所述確定的空間范圍,以使得所述鎖定的空間范圍不再對新寫入的數(shù)據(jù)提供緩存服務。
[0086]根據(jù)存儲設備中的緩存空間中固化存儲的規(guī)則,將緩存空間中的數(shù)據(jù)向磁盤進行固化存儲,以使相應的數(shù)據(jù)在存儲設備中實現(xiàn)永久保存。在本發(fā)明的具體實施例中,所述數(shù)據(jù)包括元數(shù)據(jù)區(qū)和數(shù)據(jù)區(qū)。所述元數(shù)據(jù)用于表示持久化存儲介質(zhì)中各個物理地址的數(shù)據(jù)信息,所述數(shù)據(jù)區(qū)用于存儲處理器處理后需要固化存儲至磁盤的數(shù)據(jù)。對所述確定的空間范圍中包括的數(shù)據(jù)進行固化存儲時,通過查找元數(shù)據(jù),獲取元數(shù)據(jù)中各個數(shù)據(jù)塊中各條數(shù)據(jù)的存儲地址。
[0087]在對選定的一個數(shù)據(jù)塊或元數(shù)據(jù)塊鎖定,對鎖定的數(shù)據(jù)區(qū)或元數(shù)據(jù)進行固化存儲,在對一個數(shù)據(jù)區(qū)或元數(shù)據(jù)塊鎖定后的一個周期,再對另一個數(shù)據(jù)塊或元數(shù)據(jù)塊進行鎖定,將該數(shù)據(jù)塊或元數(shù)據(jù)區(qū)中包括的數(shù)據(jù)進行固化存儲。直至將確定的空間范圍完全鎖定并固化存儲。
[0088]在確定對一個數(shù)據(jù)塊或元數(shù)據(jù)區(qū)固化存儲后,將該數(shù)據(jù)塊或元數(shù)據(jù)區(qū)鎖定,以避免新寫入的數(shù)據(jù)被命中到鎖定后的數(shù)據(jù)塊或元數(shù)據(jù)區(qū)中。而其它的數(shù)據(jù)塊將按照正常的緩存空間固化存儲規(guī)則進行固化存儲。新的數(shù)據(jù)將被命中到還沒有被鎖定的數(shù)據(jù)塊或元數(shù)據(jù)區(qū)中。在一個例子中,在確定對一個數(shù)據(jù)塊或元數(shù)據(jù)區(qū)固化存儲后,優(yōu)先將該數(shù)據(jù)塊或元數(shù)據(jù)區(qū)中的數(shù)據(jù)固化存儲,該數(shù)據(jù)塊或元數(shù)據(jù)區(qū)中正在使用的數(shù)據(jù)塊或元數(shù)據(jù)區(qū)會優(yōu)先將其固化存儲。
[0089]在一個例子中,所示存儲設備中固定的設定了需要保留的緩存空間,從而根據(jù)需要保留的緩存空間的大小確定被固化存儲和鎖定的緩存空間。
[0090]在本發(fā)明的具體實施例中,當所述存儲設備開始執(zhí)行預先固化存儲操作指令后,所述存儲控制設備周期性的向所述存儲設備發(fā)送預先固化存儲操作指令。所述存儲設備在收到預先固化存儲操作指令后,繼續(xù)向所述存儲控制設備發(fā)送當前固化存儲的進度信息。以使所述存儲控制設備對創(chuàng)建預先固化存儲任務進行更新。
[0091]所述存儲設備在一定周期不收到存儲控制設備發(fā)送的預先固化存儲指令時,將自動取消對存儲設備的緩存空間中確定的空間范圍的鎖定。此時,新的數(shù)據(jù)將能夠被命中在任意數(shù)據(jù)塊中。被命中的數(shù)據(jù)的元數(shù)據(jù)將能夠被命中在任意元數(shù)據(jù)區(qū)中。
[0092]界面設備還發(fā)出停止預先固化存儲的指令。所述界面設備需要停止預先固化存儲時,通過確定停止預先固化存儲的存儲設備,并將包括存儲設備的標識信息的停止預先固化存儲指令向存儲控制設備發(fā)送。所述存儲控制設備在收到停止預先固化存儲指令后,將根據(jù)命令中攜帶的存儲設備的標識信息對相應的存儲設備發(fā)送停止預先固化存儲操作指令。在一個例子中,當所述界面設備發(fā)送的停止預先固化存儲指令為對所有存儲設備停止預先固化存儲時,所述指令中不包括存儲設備的標識信息。所述存儲控制設備將對預先固化存儲任務中包括的所有標識信息所對應的存儲設備發(fā)送停止預先固化存儲操作指令。
[0093]所述存儲控制設備根據(jù)停止預先固化存儲指令中包括的存儲設備的標識信息,與固化存儲任務中包括的存儲設備的標識信息進行對比,若存儲設備中沒有預先固化存儲操作指令的存在,則向界面設備返回停止成功。
[0094]若停止預先固化存儲指令中包括的標識信息與預先固化存儲任務中包括的存儲設備標識信息相符或存在,則逐一向命令中存在的存儲設備發(fā)送停止預先固化存儲操作指令。
[0095]圖7為本發(fā)明具體實施例提供的一種存儲控制設備。
[0096]接收單元701,用于接收界面設備發(fā)送的預先固化存儲指令,所述預先固化存儲指令中包括需要執(zhí)行預先固化存儲的存儲設備的標識信息。
[0097]處理單元702,用于對所述預先固化存儲指令進行解析,以獲取標識信息。以及用于,根據(jù)所述標識信息建立預先固化存儲任務,所述建立的預先固化存儲任務中包括需要進行預先固化存儲的存儲設備的標識。
[0098]發(fā)送單元703,用于向存儲設備發(fā)送預先固化存儲操作指令;以使所述存儲設備對緩存空間的部分空間范圍鎖定,并對鎖定的空間范圍中包括的數(shù)據(jù)進行固化存儲,從而減小當前可用的緩存空間。
[0099]圖8為本發(fā)明具體實施例提供的一種存儲設備。
[0100]接收單元801,用于接收存儲控制設備發(fā)送的預先固化存儲操作指令。
[0101]處理單元802,用于根據(jù)所述預先固化存儲操作指令確定緩存空間中需要固化存儲的空間范圍,以及用于,對確定的所述空間范圍中包括的數(shù)據(jù)進行固化存儲,鎖定所述確定的空間范圍,以使得所述鎖定的空間范圍不再對新寫入的數(shù)據(jù)提供緩存服務或以使得所述鎖定的空間范圍不被后續(xù)的1操作所使用。
[0102]圖9為本發(fā)明實施例提供的一種存儲控制設備示意圖。
[0103]如圖9所示,所述存儲控制設備包括:處理器901、存儲器902、通信接口 903和總線904。其中,處理器901、存儲器902和通信接口 903通過總線904實現(xiàn)彼此之間的通信連接。
[0104]處理器901可以采用通用的中央處理器(Central Processing Unit,CPU),微處理器,用于執(zhí)行相關程序,以實現(xiàn)前述本發(fā)明方法實施例所提供的技術方案。處理器實現(xiàn)上的功能也可以通過應用專用集成電路(Applicat1n Specific Integrated Circuit,ASIC),或者一個或多個集成電路,
[0105]存儲器902可以是只讀存儲器(Read Only Memory,ROM),靜態(tài)存儲設備,動態(tài)存儲設備或者隨機存取存儲器(Random Access Memory,RAM)。存儲器902可以存儲操作系統(tǒng)和其他應用程序。在通過軟件或者固件來實現(xiàn)本發(fā)明實施例提供的技術方案時,用于實現(xiàn)本發(fā)明前述方法實施例提供的任一可選技術方案的程序代碼保存在存儲器902中,并由處理器901來執(zhí)行。通信接口 903用以與其他交換機或控制控制設備通信。
[0106]總線904可包括一通路,在設備各個部件(例如處理器901、存儲器902和通信接口903)之間傳送信息。
[0107]圖10為本發(fā)明實施例提供的一種存儲設備示意圖。
[0108]如圖10所示,所述存儲設備設備包括:處理器1001、存儲器1002、通信接口 1003和總線1004。其中,處理器1001、存儲器1002和通信接口 1003通過總線1004實現(xiàn)彼此之間的通信連接。
[0109]處理器1001可以采用通用的中央處理器(Central Processing Unii^CF1U),微處理器,用于執(zhí)行存儲器中存儲的相關程序,以實現(xiàn)前述本發(fā)明方法實施例所提供的技術方案。處理器實現(xiàn)上的功能也可以通過專用集成電路(Applicat1n Specific IntegratedCircuit,ASIC),或者一個或多個集成電路來實現(xiàn)。
[0110]存儲器1002可以是只讀存儲器(Read Only Memory,ROM),靜態(tài)存儲設備,動態(tài)存儲設備或者隨機存取存儲器(Random Access Memory,RAM)。存儲器1002可以存儲操作系統(tǒng)和其他應用程序。在通過軟件或者固件來實現(xiàn)本發(fā)明實施例提供的技術方案時,用于實現(xiàn)本發(fā)明前述方法實施例提供的任一可選技術方案的程序代碼保存在存儲器1002中,并由處理器1001來執(zhí)行。通信接口 1003用以與其他交換機或控制控制設備通信。
[0111]總線1004可包括一通路,在設備各個部件(例如處理器1001、存儲器1002和通信接口 1003)之間傳送信息。
[0112]專業(yè)人員應該還可以進一步意識到,結(jié)合本文中所公開的實施例描述的各示例的單元及算法步驟,能夠以電子硬件、計算機軟件或者二者的結(jié)合來實現(xiàn),為了清楚地說明硬件和軟件的可互換性,在上述說明中已經(jīng)按照功能一般性地描述了各示例的組成及步驟。這些功能究竟以硬件還是軟件方式來執(zhí)行,取決于技術方案的特定應用和設計約束條件。專業(yè)技術人員可以對每個特定的應用來使用不同方法來實現(xiàn)所描述的功能,但是這種實現(xiàn)不應認為超出本發(fā)明的范圍。
[0113]結(jié)合本文中所公開的實施例描述的方法或算法的步驟可以用硬件、處理器執(zhí)行的軟件模塊,或者二者的結(jié)合來實施。軟件模塊可以置于隨機磁盤(RAM)、內(nèi)存、只讀磁盤(ROM)、電可編程ROM、電可擦除可編程ROM、寄存器、硬盤、可移動磁盤、CD-ROM、或技術領域內(nèi)所公知的任意其它形式的存儲介質(zhì)中。
[0114]以上所述的【具體實施方式】,對本發(fā)明的目的、技術方案和有益效果進行了進一步詳細說明,所應理解的是,以上所述僅為本發(fā)明的【具體實施方式】而已,并不用于限定本發(fā)明的保護范圍,凡在本發(fā)明的精神和原則之內(nèi),所做的任何修改、等同替換、改進等,均應包含在本發(fā)明的保護范圍之內(nèi)。
【主權項】
1.一種數(shù)據(jù)固化存儲的方法,其特征在于,所述方法具體包括: 存儲設備接收存儲控制設備發(fā)送的預先固化存儲操作指令; 根據(jù)所述預先固化存儲操作指令確定緩存空間中需要固化存儲的空間范圍; 對確定的所述空間范圍中的數(shù)據(jù)進行固化存儲,鎖定所述確定的空間范圍,以使得所述鎖定的空間范圍不再對新寫入的數(shù)據(jù)提供緩存服務。2.根據(jù)權利要求1所述的方法,其特征在于,所述根據(jù)所述預先固化存儲操作指令確定緩存空間中需要固化存儲的空間范圍前,所述方法還包括: 所述預先固化存儲操作指令中包括需要進行預先固化存儲的存儲設備的標識信息,根據(jù)所述標識信息確定對所述存儲設備的緩存空間進行預先固化存儲。3.根據(jù)權利要求1所述的方法,其特征在于,所述對確定的所示空間范圍中的數(shù)據(jù)進行固化存儲,鎖定所述確定的空間范圍具體包括: 在所述確定的空間范圍中選定一個第一區(qū)域; 對所述第一區(qū)域鎖定,以使所述第一區(qū)域不再對新寫入的數(shù)據(jù)提供緩存服務; 在鎖定第一區(qū)域的一個周期后,在確定的空間范圍中選定一個第二區(qū)域,對所述第二區(qū)域鎖定,以使所述第一區(qū)域和第二區(qū)域不再對新寫入的數(shù)據(jù)提供緩存服務; 直至鎖定的區(qū)域與所述確定的空間范圍相同時,不再對新的區(qū)域進行鎖定。4.根據(jù)權利要求1所述的方法,其特征在于,所述根據(jù)所述預先固化存儲操作指令確定緩存空間中需要固化存儲的空間范圍具體包括: 根據(jù)所述預先固化存儲操作指令,確定所述存儲設備中配置的執(zhí)行預先固化存儲操作指令時需要固化存儲的緩存空間的空間范圍。5.根據(jù)權利要求1所述的方法,其特征在于,所述方法用于元數(shù)據(jù)格式的轉(zhuǎn)換;所述空間范圍中的數(shù)據(jù)包括元數(shù)據(jù); 所述方法還包括: 存儲系統(tǒng)升級完成后,將元數(shù)據(jù)采用升級后的格式重新讀取到緩存空間中。6.一種數(shù)據(jù)固化存儲的方法,其特征在于,所述方法具體包括: 存儲控制設備接收界面設備發(fā)送的預先固化存儲指令,所述預先固化存儲指令中包括需要進行預先固化存儲的存儲設備的標識信息; 所述存儲控制設備對所述預先固化存儲指令進行解析,以獲取標識信息; 所述存儲控制設備根據(jù)所述標識信息建立預先固化存儲任務,所述建立的預先固化存儲任務中包括需要執(zhí)行預先固化存儲任務的存儲設備的標識信息; 所述存儲控制設備向存儲設備發(fā)送預先固化存儲操作指令,以使所述存儲設備鎖定緩存空間中待固化存儲的空間范圍,并對鎖定的空間范圍中包括的數(shù)據(jù)進行固化存儲; 存儲設備接收存儲控制設備發(fā)送的預先固化存儲操作指令; 所述存儲設備根據(jù)所述預先固化存儲操作指令確定緩存空間中需要固化存儲的所述空間范圍; 所述存儲設備對確定的所述空間范圍中的數(shù)據(jù)進行固化存儲,鎖定所述確定的空間范圍,以使得所述鎖定的空間范圍不再對新寫入的數(shù)據(jù)提供緩存服務。7.一種存儲設備,其特征在于,包括: 接收單元,用于接收存儲控制設備發(fā)送的預先固化存儲操作指令; 處理單元,用于根據(jù)所述預先固化存儲操作指令確定緩存空間中需要固化存儲的空間范圍;對確定的所述空間范圍中的數(shù)據(jù)進行固化存儲,鎖定所述確定的空間范圍,以使得所述鎖定的空間范圍不再對新寫入的數(shù)據(jù)提供緩存服務。8.根據(jù)權利要求7所述的存儲設備,其特征在于,所述處理單元根據(jù)所述預先固化存儲操作指令確定緩存空間中需要固化存儲的空間范圍前,還包括: 所述預先固化存儲操作指令中包括需要進行預先固化存儲的存儲設備的標識信息,所述處理單元根據(jù)所述標識信息,確定對存儲設備的緩存空間進行預先固化存儲。9.根據(jù)權利要求7所述的一種存儲設備,其特征在于,所述處理單元對確定的所述空間范圍中包括的數(shù)據(jù)進行固化存儲,鎖定所述確定的空間范圍具體包括: 所述處理單元在所述確定的空間范圍中選定一個第一區(qū)域; 對所述第一區(qū)域鎖定,以使所述第一區(qū)域不再對新寫入的數(shù)據(jù)提供緩存服務; 在鎖定第一區(qū)域的一個周期后,在確定的空間范圍中選定一個第二區(qū)域,對所述第二區(qū)域鎖定,以使所述第一區(qū)域和第二區(qū)域不再對新寫入的數(shù)據(jù)提供緩存服務; 直至鎖定的區(qū)域與所述確定的空間范圍相同時,不再對新的區(qū)域進行鎖定。10.根據(jù)權利要求7所述的存儲設備,其特征在于,所述處理單元根據(jù)所述預先固化存儲操作指令確定緩存空間中需要固化存儲的空間范圍具體包括: 根據(jù)所述預先固化存儲操作指令,確定所述存儲設備中配置的執(zhí)行預先固化存儲操作指令時需要固化存儲的緩存空間的空間范圍。11.根據(jù)權利要求7所述的存儲設備,其特征在于,所述存儲設備用于存儲系統(tǒng)中,所述存儲系統(tǒng)可用于元數(shù)據(jù)格式的轉(zhuǎn)換;所述空間范圍中的數(shù)據(jù)包括元數(shù)據(jù); 所述方法還包括: 存儲系統(tǒng)升級完成后,將元數(shù)據(jù)采用升級后的格式重新讀取到緩存空間中。12.一種存儲設備,其特征在于,所述存儲設備包括: 處理器、存儲器、通信接口和總線,其中,所述處理器、所述存儲器和所述通信接口通過所述總線通信; 所述通信接口用于與所述存儲控制設備連接; 所述存儲器用于存儲程序; 當所述裝置運行時,所述處理器用于執(zhí)行所述存儲器存儲的所述程序,以執(zhí)行權利要求I至5任一項所述的方法。13.一種存儲系統(tǒng),其特征在于,所述存儲系統(tǒng)包括存儲控制設備和存儲設備; 所述存儲控制設備,用于接收界面設備發(fā)送的預先固化存儲指令,所述預先固化存儲指令中包括需要進行預先固化存儲的存儲設備的標識信息; 所述存儲控制設備,用于對所述預先固化存儲指令進行解析,以獲取標識信息; 所述存儲控制設備,用于根據(jù)所述標識信息建立預先固化存儲任務,所述建立的預先固化存儲任務中包括需要執(zhí)行預先固化存儲任務的存儲設備的標識信息; 所述存儲控制設備,用于向存儲設備發(fā)送預先固化存儲操作指令,以使所述存儲設備鎖定緩存空間中待固化存儲的空間范圍,并對鎖定的空間范圍中包括的數(shù)據(jù)進行固化存儲; 存儲設備,用于接收存儲控制設備發(fā)送的預先固化存儲操作指令; 所述存儲設備,用于根據(jù)所述預先固化存儲操作指令確定緩存空間中需要固化存儲的所述空間范圍; 所述存儲設備,用于對確定的所述空間范圍中包括的數(shù)據(jù)進行固化存儲,鎖定所述確定的空間范圍,以使得所述鎖定的空間范圍不再對新寫入的數(shù)據(jù)提供緩存服務。
【文檔編號】G06F12/0866GK106095697SQ201610399434
【公開日】2016年11月9日
【申請日】2016年6月7日
【發(fā)明人】蔣立新, 陳健
【申請人】華為技術有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1