存儲系統(tǒng)、集中控制設(shè)備、服務(wù)質(zhì)量控制方法及裝置的制造方法
【技術(shù)領(lǐng)域】
[0001]本公開涉及存儲領(lǐng)域,具體涉及用于存儲系統(tǒng)的服務(wù)質(zhì)量控制方法和裝置、用于存儲系統(tǒng)的集中控制設(shè)備以及包括上述裝置和設(shè)備的存儲系統(tǒng)。
【背景技術(shù)】
[0002]隨著云計算的發(fā)展,現(xiàn)在以及未來的數(shù)據(jù)中心將向成千上萬的客戶端提供服務(wù)。
[0003]在當(dāng)前數(shù)據(jù)中心共享存儲架構(gòu)中,多個客戶端(client)共享后端存儲集群(storage cluster)。不同的客戶端對存儲性能(1PS,Bandwidth,latency)的要求不同。例如,為數(shù)據(jù)庫應(yīng)用提供服務(wù)的客戶端和為虛擬機啟動盤提供服務(wù)的客戶端對1PS(每秒讀寫次數(shù))的要求就不一樣。同時對于聯(lián)機事務(wù)處理(OLTP)的應(yīng)用,要求存儲集群能夠提供穩(wěn)定、一致的1PS性能。共享存儲集群還有擾鄰噪聲(noisy neighbors),即某個客戶端可能會發(fā)送大量的讀寫請求,堵塞了共享路徑,影響其他客戶端。
[0004]一種服務(wù)質(zhì)量控制的方法是通過限制每個客戶端最大1PS性能來控制整個存儲集群對每個客戶端提供的1PS能力。這種服務(wù)質(zhì)量控制方法不能夠完全有效的發(fā)揮整個存儲集群的1PS性能。例如,在客戶端A、客戶端B、客戶端C和客戶端D共享存儲集群的應(yīng)用場景中,在某一個時間段內(nèi)只有客戶端A有大量的訪問請求,達(dá)到了預(yù)先分配的10PS,而客戶端B、客戶端C和客戶端D只有少量的訪問請求。對于此場景,上述服務(wù)質(zhì)量控制的結(jié)果就是存儲集群在滿足客戶端A、客戶端B、客戶端C和客戶端D的訪問請求時,并沒有達(dá)到滿負(fù)荷工作狀態(tài),浪費了存儲集群的性能。
[0005]另一種服務(wù)質(zhì)量控制方法在限制每個客戶端最大1PS性能之外,還為每個客戶端分配一個突發(fā)1PS性能參數(shù),即對應(yīng)的客戶端在累計信用(credit)為正值的情況下,可以突破最大1PS性能,獲得突發(fā)1PS參數(shù)對應(yīng)的1PS性能。但這種方法仍然沒有解決多個客戶端之間1PS共享的問題。
[0006]在所述【背景技術(shù)】部分公開的上述信息僅用于加強對本公開的背景的理解,因此它可以包括不構(gòu)成對本領(lǐng)域普通技術(shù)人員已知的現(xiàn)有技術(shù)的信息。
【發(fā)明內(nèi)容】
[0007]本申請?zhí)峁┮环N用于存儲系統(tǒng)的服務(wù)質(zhì)量控制方法和裝置、用于存儲系統(tǒng)的集中控制設(shè)備以及包括上述裝置和設(shè)備的存儲系統(tǒng)。
[0008]本公開的其他特性和優(yōu)點將通過下面的詳細(xì)描述變得顯然,或部分地通過本公開的實踐而習(xí)得。
[0009]根據(jù)本公開的一個方面,提供一種用于存儲系統(tǒng)的集中控制設(shè)備,包括:前端服務(wù)請求處理模塊,用于處理來自客戶端的存儲服務(wù)請求;服務(wù)質(zhì)量控制模塊,與前端服務(wù)請求處理模塊耦接,用于根據(jù)與存儲服務(wù)請求相對應(yīng)的客戶端的QoS可用額度以及客戶端所在的共享組的QoS可用額度,響應(yīng)存儲服務(wù)請求。
[0010]根據(jù)本公開的一些實施例,服務(wù)質(zhì)量控制模塊包括額度控制模塊,額度控制模塊配置為:如果判斷客戶端的QoS可用額度大于零,則接受存儲服務(wù)請求;如果判斷客戶端的QoS可用額度等于或小于零,則判斷共享組的QoS可用額度:如果共享組的QoS可用額度大于零,則接受存儲服務(wù)請求,否則,拒絕存儲服務(wù)請求。
[0011]根據(jù)本公開的一些實施例,額度控制模塊包括:QoS額度緩存模塊,用于存儲客戶端及共享組的QoS額度信息;QoS額度查詢模塊,與QoS額度緩存模塊通信耦接,用于從存儲服務(wù)請求中提取客戶端的信息,并根據(jù)客戶端的信息從QoS額度緩存模塊查詢客戶端的QoS可用額度及客戶端所在的共享組的QoS可用額度;過濾模塊,與QoS額度查詢模塊耦接,用于根據(jù)QoS額度查詢模塊的反饋結(jié)果,使存儲服務(wù)請求通過或拒絕存儲服務(wù)請求。
[0012]根據(jù)本公開的一些實施例,額度控制模塊還配置為在不拒絕存儲服務(wù)請求時,向存儲服務(wù)請求添加附加信息,附加信息包括服務(wù)等級。
[0013]根據(jù)本公開的一些實施例,額度控制模塊配置為:如果客戶端的QoS可用額度大于零,則將服務(wù)等級設(shè)置為第一服務(wù)等級;如果客戶端的QoS可用額度等于或小于零且共享組的QoS可用額度大于零,則將服務(wù)等級設(shè)置為第二服務(wù)等級。
[0014]根據(jù)本公開的一些實施例,服務(wù)質(zhì)量控制模塊還包括隊列分配模塊和隊列模塊,其中:隊列模塊包括至少一個隊列,用于存儲存儲服務(wù)請求;隊列分配模塊用于根據(jù)存儲服務(wù)請求中的服務(wù)等級和/或存儲服務(wù)請求攜帶的配置參數(shù)將存儲服務(wù)請求送往相應(yīng)的隊列。
[0015]根據(jù)本公開的一些實施例,服務(wù)質(zhì)量控制模塊還包括仲裁模塊,仲裁模塊用于根據(jù)預(yù)定的仲裁策略選通至少一個隊列其中之一。
[0016]根據(jù)本公開的一些實施例,隊列分配模塊配置為:如果配置參數(shù)不滿足預(yù)定閾值,則將存儲服務(wù)請求送往用于最低的服務(wù)等級的服務(wù)請求的隊列。
[0017]根據(jù)本公開的一些實施例,至少一個多列至少其中之一還包括子隊列,隊列分配模塊配置為根據(jù)存儲服務(wù)請求中的服務(wù)等級和/或配置參數(shù)將存儲服務(wù)請求送往相應(yīng)的子隊列。
[0018]根據(jù)本公開的一些實施例,集中控制設(shè)備還包括存儲器。
[0019]根據(jù)本公開的一些實施例,服務(wù)質(zhì)量控制模塊還包括緩存控制模塊,用于控制不同客戶端的數(shù)據(jù)在存儲器中的保存時間。
[0020]根據(jù)本公開的一些實施例,緩存控制模塊包括緩存狀態(tài)查詢更新模塊及緩存狀態(tài)存儲器,緩存狀態(tài)查詢更新模塊用于根據(jù)存儲服務(wù)請求中的配置參數(shù)更新緩存狀態(tài)。
[0021]根據(jù)本公開的一些實施例,共享組包括多級。
[0022]根據(jù)本公開的一些實施例,QoS可用額度包括1PS可用額度。
[0023]根據(jù)本公開的一些實施例,配置參數(shù)包括1PS密度。
[0024]根據(jù)本公開的另一方面,提供一種存儲系統(tǒng),包括前述的任一種集中控制設(shè)備。
[0025]根據(jù)本公開的一些實施例,存儲系統(tǒng)還包括:存儲服務(wù)配置單元,用于產(chǎn)生關(guān)于客戶端的存儲服務(wù)的至少一個配置參數(shù);后端存儲集群,與集中控制設(shè)備耦接。
[0026]根據(jù)本公開的另一方面,提供一種用于存儲系統(tǒng)的服務(wù)質(zhì)量控制方法,包括:接收來自客戶端的存儲服務(wù)請求;根據(jù)與存儲服務(wù)請求相對應(yīng)的客戶端的QoS可用額度以及客戶端所在的共享組的QoS可用額度響應(yīng)存儲服務(wù)請求。
[0027]根據(jù)本公開的一些實施例,根據(jù)與存儲服務(wù)請求相對應(yīng)的客戶端的QoS可用額度以及客戶端所在的共享組的QoS可用額度響應(yīng)存儲服務(wù)請求包括:如果客戶端的QoS可用額度大于零,則接受存儲服務(wù)請求;如果客戶端的QoS可用額度等于或小于零,則判斷共享組的QoS可用額度:如果共享組的QoS可用額度大于零,則接受存儲服務(wù)請求,否則,拒絕存儲服務(wù)請求。
[0028]根據(jù)本公開的一些實施例,根據(jù)與存儲服務(wù)請求相對應(yīng)的客戶端的QoS可用額度以及客戶端所在的共享組的QoS可用額度響應(yīng)存儲服務(wù)請求還包括:在不拒絕存儲服務(wù)請求時,向存儲服務(wù)請求添加附加信息,附加信息包括服務(wù)等級。
[0029]根據(jù)本公開的一些實施例,根據(jù)與存儲服務(wù)請求相對應(yīng)的客戶端的QoS可用額度以及客戶端所在的共享組的QoS可用額度響應(yīng)存儲服務(wù)請求還包括:如果客戶端的QoS可用額度大于零,則將服務(wù)等級設(shè)置為第一服務(wù)等級;如果客戶端的QoS可用額度等于或小于零且共享組的Q0S可用額度大于零,則將服務(wù)等級設(shè)置為第二服務(wù)等級。
[0030]根據(jù)本公開的一些實施例,服務(wù)質(zhì)量控制方法還包括:根據(jù)存儲服務(wù)請求中的服務(wù)等級和/或存儲服務(wù)請求攜帶的配置參數(shù)將存儲服務(wù)請求送往至少一個隊列中的相應(yīng)隊列,至少一個隊列用于存儲存儲服務(wù)請求。
[0031]根據(jù)本公開的一些實施例,服務(wù)質(zhì)量控制方法還包括:根據(jù)預(yù)定的仲裁策略選通至少一個隊列其中之一。
[0032]根據(jù)本公開的一些實施例,如果配置參數(shù)不滿足預(yù)定閾值,則將存儲服務(wù)請求送往用于最低服務(wù)等級的服務(wù)請求的隊列。
[0033]根據(jù)本公開的一些實施例,至少一個隊列至少其中之一包括子隊列,根據(jù)存儲服務(wù)請求中的服務(wù)等級和/或配置參數(shù)將存儲服務(wù)請求送往相應(yīng)的子隊列。
[0034]根據(jù)本公開的一些實施例,服務(wù)質(zhì)量控制方法還包括:根據(jù)存儲服務(wù)請求中的配置參數(shù),控制不同客戶端的數(shù)據(jù)的緩存時間。
[0035]根據(jù)本公開的另一方面,提供一種用于存儲系統(tǒng)的服務(wù)質(zhì)量控制裝置,包括:服務(wù)請求接收模塊,接收來自客戶端的存儲服務(wù)