本申請涉及計算機領域,尤其涉及一種基于ubs對nvme?ssd進行管理的方法及系統(tǒng)。
背景技術:
1、在塊存儲的應用場景中,對于超高性能就要求底層讀/寫(io)盡可能快地落盤,對此,在現(xiàn)有的塊存儲中,后端存儲節(jié)點通過文件系統(tǒng)或者操作系統(tǒng)下的塊設備提供的接口,對nvmessd進行資源管理和讀寫操作。但是現(xiàn)有的這種模式下nvmessd設備管理都在內(nèi)核態(tài)到用戶態(tài)的業(yè)務層之間還有不少開銷。
2、針對相關技術中的上述問題,目前尚未存在有效的解決方案。
技術實現(xiàn)思路
1、本申請?zhí)峁┝艘环N基于ubs對nvme?ssd進行管理的方法及系統(tǒng),以解決現(xiàn)有技術中對nvmessd進行資源管理需要在內(nèi)核態(tài)和用戶態(tài)之間進行系統(tǒng)調(diào)用,導致延時較高的問題。
2、第一方面,本申請?zhí)峁┝艘环N用戶態(tài)塊管理系統(tǒng),所述用戶態(tài)塊管理系統(tǒng)ubs用于管理多個nvme?ssd,每一個所述nvme?ssd包括:頭部區(qū)域、塊元數(shù)據(jù)區(qū)域、標識區(qū)域和主體區(qū)域;其中,所述頭部區(qū)域包括塊管理系統(tǒng)靜態(tài)區(qū)域和塊管理系統(tǒng)動態(tài)區(qū)域;所述塊元數(shù)據(jù)區(qū)域包括多個塊元數(shù)據(jù),每一個所述塊元數(shù)據(jù)包括一個塊的元數(shù)據(jù);所述標識區(qū)域用于持久化簇元數(shù)據(jù),并保存簇的物理地址和邏輯地址的映射關系;所述主體區(qū)域包括多個物理地址連續(xù)的簇;所述標識區(qū)域包括多個id,且所述多個id分別與主體區(qū)域中的簇一一對應。
3、第二方面,本申請?zhí)峁┝艘环N基于第一方面中的ubs對nvme?ssd進行管理的方法,所述方法包括:接收客戶端通過同一工作線程傳遞的請求;基于所述請求對ubs所管理的多個nvme?ssd進行資源管理。
4、第三方面,本申請?zhí)峁┝艘环N電子設備,包括:至少一個通信接口;與所述至少一個通信接口相連接的至少一個總線;與所述至少一個總線相連接的至少一個處理器;與所述至少一個總線相連接的至少一個存儲器,其中,所述處理器被配置為執(zhí)行第二方面中的方法步驟。
5、第四方面,本申請還提供了一種計算機存儲介質(zhì),存儲有計算機可執(zhí)行指令,所述計算機可執(zhí)行指令用于執(zhí)行本申請上述第二方面中的方法步驟。
6、本申請實施例提供的上述技術方案與現(xiàn)有技術相比具有如下優(yōu)點:本申請實施例提供的該方法,
7、本申請實施例中的ubs中的每一個盤底層布局了盤中塊、簇的大小及其對應的id,而且保存了簇的物理地址和邏輯地址的映射關系,以及塊與簇之間的關系,基于此,上層業(yè)務基于ubs能夠對底層的nvme?ssd直接進行讀、寫、申請資源(塊或簇的申請)、釋放資源(塊或簇的釋放)等操作,實現(xiàn)了在用戶態(tài)進行nvme?ssd的讀寫和資源管理,對上層提供了簡便的讀寫接口。與現(xiàn)有技術中需要在內(nèi)核態(tài)和用戶態(tài)之間頻繁實現(xiàn)切換的資源管理方式相比,本申請實施例中提供的基于ubs對nvme?ssd進行管理的方法,對延時有明顯改善。
1.一種用戶態(tài)塊管理系統(tǒng),其特征在于,所述用戶態(tài)塊管理系統(tǒng)ubs用于管理多個nvmessd,每一個所述nvme?ssd被分割成:頭部區(qū)域、塊元數(shù)據(jù)區(qū)域、標識區(qū)域和主體區(qū)域;
2.根據(jù)權利要求1所述的系統(tǒng),其特征在于,
3.根據(jù)權利要求1所述的系統(tǒng),其特征在于,
4.根據(jù)權利要求1所述的系統(tǒng),其特征在于,所述ubs的內(nèi)存中存儲有用于記錄索引和資源信息的目標數(shù)據(jù)結構,其中,所述目標數(shù)據(jù)結構中包括用于表征所述塊元數(shù)據(jù)區(qū)域中所有空閑的塊的位置的第十六字段、用于表征所有空閑的簇的位置的第十七字段。
5.基于權利要求1至4中任一項的ubs對nvme?ssd進行管理的方法,其特征在于,所述方法包括:
6.根據(jù)權利要求5所述的方法,其特征在于,在所述請求調(diào)用用于打開盤的第一接口的情況下,所述基于所述請求對ubs所管理的多個所述nvme?ssd進行資源管理,包括:
7.根據(jù)權利要求5所述的方法,其特征在于,在所述請求調(diào)用用于關閉盤的第二接口的情況下,所述基于所述請求對ubs所管理的多個所述nvme?ssd進行資源管理,包括:
8.根據(jù)權利要求5所述的方法,其特征在于,在所述請求調(diào)用用于寫入數(shù)據(jù)的第三接口的情況下,所述基于所述請求對ubs所管理的多個所述nvme?ssd進行資源管理,包括:
9.根據(jù)權利要求5所述的方法,其特征在于,在所述請求調(diào)用用于讀取數(shù)據(jù)的第四接口的情況下,所述基于所述請求對ubs所管理的多個所述nvme?ssd進行資源管理,包括:
10.根據(jù)權利要求5所述的方法,其特征在于,在所述請求調(diào)用用于分配塊的第五接口的情況下,所述基于所述請求對ubs所管理的多個所述nvme?ssd進行資源管理,包括:
11.根據(jù)權利要求5所述的方法,其特征在于,在所述請求調(diào)用用于刪除塊的第六接口的情況下,所述基于所述請求對ubs所管理的多個所述nvme?ssd進行資源管理,包括:
12.根據(jù)權利要求5所述的方法,其特征在于,在所述請求調(diào)用用于釋放塊的第七接口的情況下,所述基于所述請求對ubs所管理的多個所述nvme?ssd進行資源管理,包括:
13.根據(jù)權利要求5所述的方法,其特征在于,在所述請求調(diào)用用于獲取塊信息的第八接口的情況下,所述基于所述請求對ubs所管理的多個所述nvme?ssd進行資源管理,包括:
14.根據(jù)權利要求5所述的方法,其特征在于,在所述請求調(diào)用用于獲取塊系統(tǒng)信息的第九接口的情況下,所述基于所述請求對ubs所管理的多個所述nvme?ssd進行資源管理,包括:
15.根據(jù)權利要求5所述的方法,其特征在于,在所述請求調(diào)用用于設置塊狀態(tài)的第十接口的情況下,所述基于所述請求對ubs所管理的多個所述nvme?ssd進行資源管理,包括:
16.根據(jù)權利要求6所述的方法,其特征在于,在對所述nvme?ssd中的簇進行管理時,所述方法包括:
17.根據(jù)權利要求5所述的方法,其特征在于,在對所述nvme?ssd中的塊進行釋放時,所述方法還包括:
18.根據(jù)權利要求5所述的方法,其特征在于,在對nvme?ssd中的塊進行申請時,所述方法還包括: