基于配置參數和客戶端統計的存儲請求控制的制作方法
【技術領域】
[0001]本發明屬于存儲技術領域,具體說涉及一種基于配置參數和客戶端統計的存儲請求控制方法和裝置。
【背景技術】
[0002]隨著云計算相關技術的發展,數據中心將向成千上萬用戶提供服務。相應的,數據中心的存儲架構設計,將由多個客戶端共享存儲服務系統。與向單個客戶端提供存儲服務相比,多個客戶端對存儲性能的要求往往是不同的,另外多個客戶端共享存儲服務系統還存在相互干擾問題,如果某個客戶端在短時間內發送大量的存儲服務請求,很可能堵塞共享路徑,影響其他客戶端。這些因素都可能影響存儲服務系統的存儲服務質量或運行穩定性。
[0003]為解決上述問題,一些新型的存儲服務系統和存儲服務質量控制方法已經被公開。與此同時,也要求客戶端能夠根據存儲服務系統的情況來控制、調整自身發出的存儲服務請求。客戶端與存儲服務系統相互配合以控制存儲服務請求、提高存儲服務質量的技術方法與裝置,目前報道尚不多。
[0004]在說明書“【背景技術】”部分公開的內容,有助于本領域技術人員理解本發明的技術方案,但不應據此認為這些內容一定屬于現有技術或公知常識。
【發明內容】
[0005]本發明提供一種基于配置參數和客戶端統計的存儲請求控制方法,該方法與客戶端及存儲服務系統相關。
[0006]本發明所述的客戶端,泛指能夠向存儲服務系統發送用戶的存儲服務請求的設備或裝置。客戶端常見的功能包括向存儲服務系統發送用戶的存儲服務請求,接收存儲服務系統對存儲服務請求的反饋等。根據不同的技術方案或技術需求,客戶端還可以具有其他功能。客戶端可以通過軟件、硬件或軟硬件結合的方式實現。
[0007]本發明所述的存儲服務系統,泛指能夠為用戶提供存儲服務的設備或裝置。存儲服務系統常見的功能包括接收存儲服務請求、處理存儲服務請求、實施存儲(即直接存儲數據)、反饋存儲服務結果等。根據不同的技術方案或技術需求,存儲服務系統還可以具有其他功能。以上功能中,直接存儲數據的功能只能通過半導體器件等物理介質即硬件的方式實現,其他功能可以通過軟件、硬件或軟硬件結合的方式實現。
[0008]本發明所述的存儲服務請求,泛指一切與數據存儲有關的服務請求,最常見的存儲服務請求是數據讀寫操作請求(10請求)。
[0009]基于配置參數和客戶端統計的存儲請求控制方法,包括:客戶端獲取原始配置參數,發送調整后的配置參數。調整后的配置參數與原始配置參數及統計信息有關。
[0010]本發明所述的配置參數,泛指與存儲服務系統提供存儲服務相關的技術參數。一些已經公開的能夠為多個客戶端提供存儲服務的存儲服務系統,其技術方案以配置參數作為特征指標,“區別對待”不同客戶端的存儲服務請求。比較常見的配置參數包括1PS(每秒讀寫操作次數,Input/Output Operat1ns Per Second)以及1PS密度。1PS密度是衡量客戶端在單位容量的物理存儲介質上要求的最低1PS性能的參數。例如,某個客戶端在存儲服務系統中可用存儲卷的大小為500GB,該客戶端要求的最低1PS性能為15K,則該存儲卷的 1PS 密度為 15K/500GB = 30/GB,即 30 每 GB0
[0011]原始配置參數一般由運營存儲服務系統的服務商為不同客戶端(代表不同身份的用戶)設置。原始配置參數一般保存在系統配置服務器中。系統配置服務器可以集成在存儲服務系統上,也可以獨立于存儲服務系統。
[0012]本發明技術方案,允許客戶端在原始配置參數的基礎上對配置參數進行一定的調整,將調整后的參數發送給存儲服務系統。對原始配置參數的調整,要根據統計信息。本發明所述的統計信息,指客戶端在向存儲服務系統請求存儲服務的過程中,對存儲服務系統處理存儲服務請求的情況進行統計獲得的信息。常見的統計信息包括當前客戶端獲得的10PS,讀寫延時(I/O Latency),帶寬(bandwidth)等。所述的當前客戶端獲得的1PSdg當前客戶端在單位時間(一般是I秒)內被存儲服務系統處理的讀寫申請的總和。所述的讀寫延時,指客戶端的有效讀寫請求從發出到有效數據返回的時間。所述的帶寬,指單位時間(一般是I秒)內寫請求發出的數據量加上讀請求返回的數據量。
[0013]作為一種可選擇的實施方式,原始配置參數和調整后的配置參數包括1PS密度,調整后的配置參數的計算方法包括:
[0014]1ps_density_real = 1ps_density_initial+1ps_density_modify
[0015]其中1ps_density_initial表示原始配置參數(即原始1PS密度);1ps_density_real表示調整后的配置參數(即調整后的1PS密度);1ps_density_modify表示客戶端根據統計信息對1ps_density_initial的動態調整量。
[0016]作為一種可選擇的實施方式,1ps_density_modify的計算方法包括:
[0017]1ps_density_modify = a*pending_1_num - b*recv_latency
[0018]其中pending_1_num表示在客戶端等待發送的1請求的數量;recv_latency表示1請求從客戶端發送到存儲服務系統,存儲服務系統成功處理后再反饋消息給客戶端,這之間的延時。a和b表示權重參數,a和b均為正數,可以根據客戶端的實際情況進行設置和調整。
[0019]基于配置參數和客戶端統計的存儲請求控制方法,包括:客戶端根據統計信息,調整存儲服務請求的發送速度。
[0020]一般情況下,為了最大程度利用存儲服務系統,客戶端會在不超過存儲服務系統限制的前提下,以自身能達到的最快速度發送存儲服務請求,但這很可能浪費存儲服務系統的資源,影響存儲服務系統為其他客戶端提供服務。本發明技術方案中,客戶端會根據統計信息調整(一般是降低)存儲服務請求的發送速度,以降低對存儲服務系統和其他客戶端的不利影響。
[0021]作為一種可選擇的實施方式,客戶端調整存儲服務請求的發送速度時所依據的統計信息包括單位容量的讀寫延時。單位容量,指客戶端可用的存儲卷中單位存儲容量(可以根據需要設置,例如IGB的存儲卷中以4MB為單位容量)。單位容量的讀寫延時,既可以是單個單位容量的最大讀寫延時,也可以是多個有關聯的單位容量的讀寫延時經過某種方法(如加權平均)處理后得到的數值。
[0022]調整存儲服務請求的發送速度,包括客戶端將單位容量的讀寫延時與預先設定的閾值進行比較,單位容量的讀寫延時不滿足設定的閾值條件時,客戶端降低相關單位容量對應的存儲服務請求的發送速度。當然,將單位容量的讀寫延時與預先設定的閾值進行比較在客戶端發送存儲服務請求的過程中會持續進行,如果某單位容量的讀寫延時先不滿足設定的閾值條件但后來又滿足了設定的閾值條件,相關單位容量對應的存儲服務請求