本發(fā)明涉及計算機技術(shù)領(lǐng)域,尤其涉及一種存儲系統(tǒng)的服務(wù)質(zhì)量控制方法和裝置。
背景技術(shù):
隨著存儲區(qū)域網(wǎng)絡(luò)(storageareanetwork,san)存儲技術(shù)的發(fā)展,對同一個存儲系統(tǒng)的使用,出現(xiàn)了更復(fù)雜的需求和應(yīng)用場景,例如,多種類型的磁盤混插使用的需求,傳統(tǒng)卷和精簡卷混合使用的應(yīng)用場景,以及多個激活快照同時使用的應(yīng)用場景等。
在以上這些場景中,存在共性的問題,不同類的對象的處理能力不盡相同,不同類的對象的請求指令流程也不盡相同,最終對請求指令的響應(yīng)時間差異很大,這樣就會導(dǎo)致一個相同的結(jié)果:請求指令的響應(yīng)速度慢的那些對象,由于需要更長的處理時間,會更長時間的占用系統(tǒng)資源;而請求指令響應(yīng)速度快的那些對象,雖然在更短的時間內(nèi)處理完成了請求,但是接下來接收到的對象請求會等待更慢的請求釋放出占用的系統(tǒng)資源,最終的結(jié)果就是所有對象的請求的時延都成為性能最低對象的時延,導(dǎo)致系統(tǒng)的運行性能降低,從而降低了存儲系統(tǒng)的服務(wù)質(zhì)量。
技術(shù)實現(xiàn)要素:
本發(fā)明的主要目的在于提供一種存儲系統(tǒng)的服務(wù)質(zhì)量控制方法和裝置,旨在提高存儲系統(tǒng)的服務(wù)質(zhì)量。
為實現(xiàn)上述目的,本發(fā)明提供了一種存儲系統(tǒng)的服務(wù)質(zhì)量控制方法,包括:
在存儲系統(tǒng)的各個監(jiān)控點根據(jù)各類對象的唯一標示,統(tǒng)計各類對象的性能數(shù)據(jù);
每隔預(yù)設(shè)時間根據(jù)各類對象的性能數(shù)據(jù),設(shè)定各類對象的調(diào)度優(yōu)先級和系統(tǒng)資源量;
在接收到對對象操作的請求指令后,根據(jù)請求指令的標記與對象的唯一標示之間的對應(yīng)關(guān)系,獲取與所述請求指令對應(yīng)的對象,并根據(jù)所述對象的調(diào)度優(yōu)先級及系統(tǒng)資源量,為所述請求指令分配系統(tǒng)資源。
可選地,所述在接收到對對象操作的請求指令后,根據(jù)請求指令的標記與對象的唯一標示之間的對應(yīng)關(guān)系,獲取與所述請求指令對應(yīng)的對象,并根據(jù)所述對象的調(diào)度優(yōu)先級及系統(tǒng)資源量,為所述請求指令分配系統(tǒng)資源包括:
在接收到對對象操作的請求指令后,根據(jù)所述請求指令對應(yīng)對象的調(diào)度優(yōu)先級,判斷所述對象是否存在空閑的系統(tǒng)資源;
當所述對象存在空閑的系統(tǒng)資源,則分配系統(tǒng)資源給所述請求指令;
當所述對象不存在空閑的系統(tǒng)資源,則所述請求指令等待所述對象的其他請求指令釋放出系統(tǒng)資源,直到存在空閑的系統(tǒng)資源后,為所述請求指令分配系統(tǒng)資源。
可選地,所述性能數(shù)據(jù)包括時延、流量及并發(fā),所述每隔預(yù)設(shè)時間根據(jù)各類對象的性能數(shù)據(jù)設(shè)定各類對象的調(diào)度優(yōu)先級和系統(tǒng)資源量包括:
每隔預(yù)設(shè)時間將性能數(shù)據(jù)中的時延、流量及并發(fā)進行加權(quán)計算,并根據(jù)加權(quán)計算的結(jié)果設(shè)定各類對象對應(yīng)的優(yōu)先級及對應(yīng)的系統(tǒng)資源量占總系統(tǒng)資源量的比例。
可選地,所述性能數(shù)據(jù)與所述優(yōu)先級及所述系統(tǒng)資源量均成正比關(guān)系,對象的性能越好,獲得的系統(tǒng)資源量越多,優(yōu)先級越高。
可選地,所述系統(tǒng)資源量包括cpu調(diào)度資源、內(nèi)存資源及鏈路資源。
此外,為實現(xiàn)上述目的,本發(fā)明還提供了一種存儲系統(tǒng)的服務(wù)質(zhì)量控制裝置,包括:
統(tǒng)計模塊,用于在存儲系統(tǒng)的各個監(jiān)控點根據(jù)各類對象的唯一標示,統(tǒng)計各類對象的性能數(shù)據(jù);
設(shè)定模塊,用于每隔預(yù)設(shè)時間根據(jù)各類對象的性能數(shù)據(jù),設(shè)定各類對象的調(diào)度優(yōu)先級和系統(tǒng)資源量;
處理模塊,用于在接收到對對象操作的請求指令后,根據(jù)請求指令的標記與對象的唯一標示之間的對應(yīng)關(guān)系,獲取與所述請求指令對應(yīng)的對象,并根據(jù)所述對象的調(diào)度優(yōu)先級及系統(tǒng)資源量,為所述請求指令分配系統(tǒng)資源。
可選地,所述處理模塊包括:
判斷單元,用于在接收到對對象操作的請求指令后,根據(jù)所述請求指令對應(yīng)對象的調(diào)度優(yōu)先級,判斷所述對象是否存在空閑的系統(tǒng)資源;
分配單元,用于當所述對象存在空閑的系統(tǒng)資源,則分配系統(tǒng)資源給所述請求指令;當所述對象不存在空閑的系統(tǒng)資源,則所述請求指令等待所述對象的其他請求指令釋放出系統(tǒng)資源,直到存在空閑的系統(tǒng)資源后,為所述請求指令分配系統(tǒng)資源。
可選地,所述性能數(shù)據(jù)包括時延、流量及并發(fā),所述設(shè)定模塊還用于,每隔預(yù)設(shè)時間將性能數(shù)據(jù)中的時延、流量及并發(fā)進行加權(quán)計算,并根據(jù)加權(quán)計算的結(jié)果設(shè)定各類對象對應(yīng)的優(yōu)先級及對應(yīng)的系統(tǒng)資源量占總系統(tǒng)資源量的比例。
可選地,所述性能數(shù)據(jù)與所述優(yōu)先級及所述系統(tǒng)資源量均成正比關(guān)系,對象的性能越好,獲得的系統(tǒng)資源量越多,優(yōu)先級越高。
可選地,所述系統(tǒng)資源量包括cpu調(diào)度資源、內(nèi)存資源及鏈路資源。
本發(fā)明實施例通過對存儲系統(tǒng)不同類的對象進行性能數(shù)據(jù)的統(tǒng)計,并根據(jù)各類對象的性能數(shù)據(jù)設(shè)定各類對象的調(diào)度優(yōu)先級和系統(tǒng)資源量。在接收到對對象操作的請求指令后,根據(jù)對象的調(diào)度優(yōu)先級及系統(tǒng)資源量,為請求指令分配相應(yīng)的系統(tǒng)資源。實現(xiàn)了為不同性能的對象分配合理的系統(tǒng)資源,提高了存儲系統(tǒng)的服務(wù)質(zhì)量。
附圖說明
圖1為本發(fā)明存儲系統(tǒng)的服務(wù)質(zhì)量控制方法第一實施例的流程示意圖;
圖2為多個請求指令分配得到系統(tǒng)資源的示意圖;
圖3為本發(fā)明存儲系統(tǒng)的服務(wù)質(zhì)量控制方法中,根據(jù)對象的調(diào)度優(yōu)先級及系統(tǒng)資源量,為請求指令分配系統(tǒng)資源的細化流程示意圖;
圖4為本發(fā)明存儲系統(tǒng)的服務(wù)質(zhì)量控制裝置第一實施例的功能模塊示意圖;
圖5為本發(fā)明存儲系統(tǒng)的服務(wù)質(zhì)量控制裝置中處理模塊的細化功能模塊示意圖。
本發(fā)明目的的實現(xiàn)、功能特點及優(yōu)點將結(jié)合實施例,參照附圖做進一步說明。
具體實施方式
應(yīng)當理解,此處所描述的具體實施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
如圖1所示,示出了本發(fā)明一種存儲系統(tǒng)的服務(wù)質(zhì)量控制方法第一實施例。該實施例的存儲系統(tǒng)的服務(wù)質(zhì)量控制方法包括:
步驟s10、在存儲系統(tǒng)的各個監(jiān)控點根據(jù)各類對象的唯一標示,統(tǒng)計各類對象的性能數(shù)據(jù);
本實施例中,存儲系統(tǒng)可包括多種類型的磁盤混插使用的存儲系統(tǒng)、傳統(tǒng)卷和精簡卷混合使用的存儲系統(tǒng)、多個激活快照同時使用的存儲系統(tǒng)等。以多種類型的磁盤混插使用的存儲系統(tǒng)為例,將同一種類型的磁盤劃分為同一類對象,即不同類型的磁盤為不同類的對象。為了使得控制更加清晰,存儲系統(tǒng)中布滿性能數(shù)據(jù)的監(jiān)控點,例如,在存儲系統(tǒng)的指令請求入口、收到響應(yīng)、處理響應(yīng)等不同的地方共設(shè)置有多個監(jiān)控點,以便對不同類的對象進行監(jiān)控,主要統(tǒng)計請求指令的時延,流量和并發(fā)等性能數(shù)據(jù)。為了區(qū)分不同類的對象,為各類對象設(shè)置唯一標示,并對各類對象進行操作的每個請求指令都會打上與各自對象對應(yīng)的標記,以便通過請求指令的標記即可獲知該請求指令對應(yīng)的對象。
在上述設(shè)置好監(jiān)控點后,在各個監(jiān)控點將根據(jù)各類對象的唯一標示實時統(tǒng)計各類對象的性能數(shù)據(jù)。該性能數(shù)據(jù)包括時延、流量及并發(fā)等,其中,時延為接收到請求指令到處理完成該請求指令的時間,流量為在單位時間內(nèi)處理的數(shù)據(jù)量,并發(fā)為在平均的同一時刻收到的請求數(shù)量。在系統(tǒng)的性能監(jiān)控點為對象統(tǒng)計請求指令的平均時延,再計算周期內(nèi)的流量及并發(fā),以便后續(xù)根據(jù)各類對象的性能數(shù)據(jù)為每個對象設(shè)定其能使用的系統(tǒng)資源量和調(diào)度處理的優(yōu)先級。
可以理解的是,該時延的獲取方式可以是:方式一,當接收到請求指令時,將觸發(fā)系統(tǒng)預(yù)置的記錄模塊記錄此時的時間,并當處理完成該請求指令 時記錄該時刻的時間,然后將所記錄的接收到請求指令的時間與處理完成該請求指令的時間進行作差,以獲取請求指令的時延。方式二,當接收到請求指令時,將觸發(fā)系統(tǒng)預(yù)置的記錄模塊開始計時,直到處理完成該請求指令后停止計時,以得到請求指令的時延。上述獲取時延的方式僅為具體實施方式的枚舉,本領(lǐng)域技術(shù)人員提出的其它獲取時延的方式,均在本發(fā)明的保護范圍內(nèi)。
步驟s20、每隔預(yù)設(shè)時間根據(jù)各類對象的性能數(shù)據(jù),設(shè)定各類對象的調(diào)度優(yōu)先級和系統(tǒng)資源量;
在得到各類對象的性能數(shù)據(jù)后,需要給性能不同類的對象分配合理的系統(tǒng)資源,即每隔預(yù)設(shè)時間根據(jù)各類對象的性能數(shù)據(jù),設(shè)定各類對象的調(diào)度優(yōu)先級和系統(tǒng)資源量,該預(yù)設(shè)時間可根據(jù)具體情況而靈活設(shè)置,例如,該預(yù)設(shè)時間可設(shè)置為1秒或2秒等。在每個統(tǒng)計周期結(jié)束時,根據(jù)加權(quán)計算的結(jié)果刷新各類對象的優(yōu)先級及其可使用的系統(tǒng)資源,以下實施例將進行詳細說明。
系統(tǒng)資源量可包括cpu調(diào)度資源、內(nèi)存資源及鏈路資源等。性能數(shù)據(jù)與優(yōu)先級成正比關(guān)系,性能數(shù)據(jù)與統(tǒng)資源量也成正比關(guān)系。即性能更差的對象,其調(diào)度的優(yōu)先級更低,可獲取的系統(tǒng)資源更少;性能更好的對象,其調(diào)度的優(yōu)先級更高,可獲取的系統(tǒng)資源更多。從而實現(xiàn)了為性能更好的對象分配更多的資源,為性能更差的對象分配較少的資源,合理分配系統(tǒng)資源,以使存儲系統(tǒng)達到最佳的運行性能,例如,讓高性能的卷依然保持其高性能的特性。
步驟s30、在接收到對對象操作的請求指令后,根據(jù)請求指令的標記與對象的唯一標示之間的對應(yīng)關(guān)系,獲取與所述請求指令對應(yīng)的對象,并根據(jù)所述對象的調(diào)度優(yōu)先級及系統(tǒng)資源量,為所述請求指令分配系統(tǒng)資源。
在接收到對對象操作的請求指令,系統(tǒng)中所有請求指令需要獲取系統(tǒng)資源時,例如,內(nèi)存申請、或cpu調(diào)度或鏈路等系統(tǒng)資源,可根據(jù)請求指令的標記與對象的唯一標示之間的對應(yīng)關(guān)系,獲取該請求指令對應(yīng)的對象,并根據(jù)請求指令對應(yīng)的對象來確定何時調(diào)度。即根據(jù)對象的調(diào)度優(yōu)先級及系統(tǒng)資源量,為請求指令分配系統(tǒng)資源。即判斷該請求指令是否可獲取到相應(yīng)的系統(tǒng)資源,若該請求指令可獲取到相應(yīng)的系統(tǒng)資源,則分配系統(tǒng)資源給該請求指令執(zhí)行。若請求指令獲取不到相應(yīng)的系統(tǒng)資源,則加入等待隊列中進行等待。
以下進行舉例說明,如圖2所示,圖2中的橫軸方向表示時刻,縱軸方向表示系統(tǒng)資源,假設(shè)同一類的系統(tǒng)資源總數(shù)為4,t1時刻收到1~4請求指令,都分別獲取到資源執(zhí)行,現(xiàn)有技術(shù)中,在t2時刻時,3和4請求指令已完成,同時系統(tǒng)又收到5~8請求指令,依據(jù)先來先服務(wù)的原則,5和6請求指令獲取到資源得到執(zhí)行,此時,后續(xù)收到的所有請求指令,在整個系統(tǒng)中的處理時間都等于最慢請求的時延,該請求的時延為等待時延加處理時延。
而采用本發(fā)明實施例的方案,在t2時刻時,可根據(jù)5~8請求指令時延、流量及并發(fā)等性能參數(shù)來確定7和8請求指令的優(yōu)先級比5和6請求指令的優(yōu)先級高,因此,可在3和4請求指令已完成后,優(yōu)先讓7和8請求指令獲取到資源執(zhí)行。在t3時刻時,7和8請求指令已完成,同時系統(tǒng)又收到9~12請求指令,根據(jù)5、6、9~12請求指令時延、流量及并發(fā)等性能參數(shù)來確定11和12請求指令的優(yōu)先級比其他請求指令的優(yōu)先級高,因此,可在7和8請求指令已完成后,優(yōu)先讓11和12請求指令獲取到資源執(zhí)行。在t4時刻時,11和12請求指令完成后,讓5和6請求指令獲取到資源執(zhí)行。在t6時刻時,1和2請求指令完成后,讓9和10請求指令獲取到資源執(zhí)行。從而實現(xiàn)合理分配系統(tǒng)資源,使得存儲系統(tǒng)達到最佳的運行性能。
本發(fā)明實施例通過對存儲系統(tǒng)不同類的對象進行性能數(shù)據(jù)的統(tǒng)計,并根據(jù)各類對象的性能數(shù)據(jù)設(shè)定各類對象的調(diào)度優(yōu)先級和系統(tǒng)資源量。在接收到對對象操作的請求指令后,根據(jù)對象的調(diào)度優(yōu)先級及系統(tǒng)資源量,為請求指令分配相應(yīng)的系統(tǒng)資源。實現(xiàn)了為不同性能的對象分配合理的系統(tǒng)資源,提高了存儲系統(tǒng)的運行性能及服務(wù)質(zhì)量。
進一步地,如圖3所示,基于上述存儲系統(tǒng)的服務(wù)質(zhì)量控制方法的第一實施例,提出了本發(fā)明存儲系統(tǒng)的服務(wù)質(zhì)量控制方法第二實施例,該實施例中上述步驟s30可包括:
步驟s31、在接收到對對象操作的請求指令后,根據(jù)所述請求指令對應(yīng)對象的調(diào)度優(yōu)先級,判斷所述對象是否存在空閑的系統(tǒng)資源;
步驟s32、當所述對象存在空閑的系統(tǒng)資源,則分配系統(tǒng)資源給所述請求指令;
步驟s33、當所述對象不存在空閑的系統(tǒng)資源,則所述請求指令等待所述 對象的其他請求指令釋放出系統(tǒng)資源,直到存在空閑的系統(tǒng)資源后,為所述請求指令分配系統(tǒng)資源。
本實施例中,存儲系統(tǒng)在接收到對對象操作的請求指令后,將會申請其所需的系統(tǒng)資源,可根據(jù)請求指令的標記與對象的唯一標示的對應(yīng)關(guān)系,根據(jù)請求指令對應(yīng)對象的調(diào)度優(yōu)先級,判斷該對象是否存在空閑的系統(tǒng)資源。如果該對象的仍有空閑的資源,則分配資源給該請求指令;如果該對象已不存在空閑的資源,則將該請求指令加入到等待隊列,等待該對象的其他請求指令釋放出系統(tǒng)資源。當該對象釋放出系統(tǒng)資源后,則可開始處理等待隊列中的請求指令,按照先入隊先服務(wù)的原則分配系統(tǒng)資源。
以下將以cpu調(diào)度資源為例進行詳細說明,存儲系統(tǒng)在接收到對對象操作的請求指令后,需要得到cpu調(diào)度才能處理其業(yè)務(wù)邏輯,即請求獲取cpu調(diào)度資源。系統(tǒng)將會判斷是否有空閑的cpu調(diào)度資源,如果有空閑的cpu調(diào)度資源,則直接分配cpu調(diào)度資源,調(diào)度該請求指令執(zhí)行;如果無空閑的cpu調(diào)度資源,則按請求指令對應(yīng)的對象將請求指令加入到相應(yīng)優(yōu)先級的等待調(diào)度隊列。當執(zhí)行完的請求指令釋放出cpu調(diào)度資源后,則按照優(yōu)先級先高后低和先入隊先服務(wù)的原則處理待調(diào)度隊列,將得到調(diào)度的請求指令出隊執(zhí)行。根據(jù)得到cpu調(diào)度資源后,按照請求指令對應(yīng)的邏輯處理完成該請求指令。
本實施例可根據(jù)對象的調(diào)度優(yōu)先級及系統(tǒng)資源量,判斷請求指令是否可獲取到相應(yīng)的系統(tǒng)資源,為不同性能的對象分配合理的系統(tǒng)資源,提高了存儲系統(tǒng)的服務(wù)質(zhì)量。
進一步地,基于上述存儲系統(tǒng)的服務(wù)質(zhì)量控制方法第二實施例,提出了本發(fā)明存儲系統(tǒng)的服務(wù)質(zhì)量控制方法第三實施例,該實施例中上述步驟s20可包括:每隔預(yù)設(shè)時間將性能數(shù)據(jù)中的時延、流量及并發(fā)進行加權(quán)計算,并根據(jù)加權(quán)計算的結(jié)果設(shè)定各類對象對應(yīng)的優(yōu)先級及對應(yīng)的系統(tǒng)資源量占總系統(tǒng)資源量的比例。
本實施例中,該預(yù)設(shè)時間可根據(jù)具體情況而靈活設(shè)置,在每個統(tǒng)計周期結(jié)束,在得到各類對象的性能數(shù)據(jù)后,可依據(jù)加權(quán)的算法對時延、流量和并發(fā)等進行加權(quán)計算,根據(jù)加權(quán)計算的結(jié)果,得出每個對象其對應(yīng)的優(yōu)先級,及其對應(yīng)的系統(tǒng)資源量占總系統(tǒng)資源量的比例,以更新各類對象的優(yōu)先級及 其可使用的系統(tǒng)資源。具體地,每隔預(yù)設(shè)時間根據(jù)加權(quán)計算的結(jié)果設(shè)定各類對象對應(yīng)的優(yōu)先級及對應(yīng)的系統(tǒng)資源量占總系統(tǒng)資源量的比例可包括:假設(shè)某一對象的時延、流量和并發(fā)的權(quán)重分別為0.5、0.3、0.2,則加權(quán)計算的結(jié)果r=時延*0.5+流量*0.3+并發(fā)*0.2,分別得到各類對象的加權(quán)計算的結(jié)果r1~rn,根據(jù)r1~rn設(shè)定各類對象對應(yīng)的優(yōu)先級及對應(yīng)的系統(tǒng)資源量占總系統(tǒng)資源量的比例。例如,得到對象1的r1為5,得到對象2的r2為15,則對象2的優(yōu)先級高于對象1的優(yōu)先級,并按1:3的關(guān)系分配對象1和對象2的系統(tǒng)資源量。需要說明的是,將性能數(shù)據(jù)中的時延、流量及并發(fā)進行加權(quán)計算的方式可根據(jù)具體情況而靈活設(shè)置,并不限定本發(fā)明。
本實施例根據(jù)時延、流量及并發(fā)等性能數(shù)據(jù)進行加權(quán)計算,根據(jù)加權(quán)計算結(jié)果為不同性能的對象分配合理的系統(tǒng)資源,提高了存儲系統(tǒng)的服務(wù)質(zhì)量。
對應(yīng)地,如圖4所示,提出本發(fā)明一種存儲系統(tǒng)的服務(wù)質(zhì)量控制裝置第一實施例。該實施例的存儲系統(tǒng)的服務(wù)質(zhì)量控制裝置包括:
統(tǒng)計模塊100,用于在存儲系統(tǒng)的各個監(jiān)控點根據(jù)各類對象的唯一標示,統(tǒng)計各類對象的性能數(shù)據(jù);
本實施例中,存儲系統(tǒng)可包括多種類型的磁盤混插使用的存儲系統(tǒng)、傳統(tǒng)卷和精簡卷混合使用的存儲系統(tǒng)、多個激活快照同時使用的存儲系統(tǒng)等。以多種類型的磁盤混插使用的存儲系統(tǒng)為例,將同一種類型的磁盤劃分為同一類對象,即不同類型的磁盤為不同類的對象。為了使得控制更加清晰,存儲系統(tǒng)中布滿性能數(shù)據(jù)的監(jiān)控點,例如,在存儲系統(tǒng)的指令請求入口、收到響應(yīng)、處理響應(yīng)等不同的地方共設(shè)置有多個監(jiān)控點,以便對不同類的對象進行監(jiān)控,主要統(tǒng)計請求指令的時延,流量和并發(fā)等性能數(shù)據(jù)。為了區(qū)分不同類的對象,為各類對象設(shè)置唯一標示,并對各類對象進行操作的每個請求指令都會打上與各自對象對應(yīng)的標記,以便通過請求指令的標記即可獲知該請求指令對應(yīng)的對象。
在上述設(shè)置好監(jiān)控點后,統(tǒng)計模塊100在各個監(jiān)控點將根據(jù)各類對象的唯一標示實時統(tǒng)計各類對象的性能數(shù)據(jù)。該性能數(shù)據(jù)包括時延、流量及并發(fā)等,其中,時延為接收到請求指令到處理完成該請求指令的時間,流量為在單位時間內(nèi)處理的數(shù)據(jù)量,并發(fā)為在平均的同一時刻收到的請求數(shù)量。在系 統(tǒng)的性能監(jiān)控點統(tǒng)計模塊100為對象統(tǒng)計請求指令的平均時延,再計算周期內(nèi)的流量及并發(fā),以便后續(xù)根據(jù)各類對象的性能數(shù)據(jù)為每個對象設(shè)定其能使用的系統(tǒng)資源量和調(diào)度處理的優(yōu)先級。
可以理解的是,該時延的獲取方式可以是:方式一,當接收到請求指令時,將觸發(fā)系統(tǒng)預(yù)置的記錄模塊記錄此時的時間,并當處理完成該請求指令時記錄該時刻的時間,然后將所記錄的接收到請求指令的時間與處理完成該請求指令的時間進行作差,以獲取請求指令的時延。方式二,當接收到請求指令時,將觸發(fā)系統(tǒng)預(yù)置的記錄模塊開始計時,直到處理完成該請求指令后停止計時,以得到請求指令的時延。上述獲取時延的方式僅為具體實施方式的枚舉,本領(lǐng)域技術(shù)人員提出的其它獲取時延的方式,均在本發(fā)明的保護范圍內(nèi)。
設(shè)定模塊200,用于每隔預(yù)設(shè)時間根據(jù)各類對象的性能數(shù)據(jù),設(shè)定各類對象的調(diào)度優(yōu)先級和系統(tǒng)資源量;
在得到各類對象的性能數(shù)據(jù)后,設(shè)定模塊200需要給性能不同類的對象分配合理的系統(tǒng)資源,即設(shè)定模塊200每隔預(yù)設(shè)時間根據(jù)各類對象的性能數(shù)據(jù),設(shè)定各類對象的調(diào)度優(yōu)先級和系統(tǒng)資源量,該預(yù)設(shè)時間可根據(jù)具體情況而靈活設(shè)置,例如,該預(yù)設(shè)時間可設(shè)置為1秒或2秒等。在每個統(tǒng)計周期結(jié)束時,設(shè)定模塊200根據(jù)加權(quán)計算的結(jié)果刷新各類對象的優(yōu)先級及其可使用的系統(tǒng)資源,以下實施例將進行詳細說明。
系統(tǒng)資源量可包括cpu調(diào)度資源、內(nèi)存資源及鏈路資源等。性能數(shù)據(jù)與優(yōu)先級成正比關(guān)系,性能數(shù)據(jù)與統(tǒng)資源量也成正比關(guān)系。即性能更差的對象,其調(diào)度的優(yōu)先級更低,可獲取的系統(tǒng)資源更少;性能更好的對象,其調(diào)度的優(yōu)先級更高,可獲取的系統(tǒng)資源更多。從而實現(xiàn)了為性能更好的對象分配更多的資源,為性能更差的對象分配較少的資源,合理分配系統(tǒng)資源,以使存儲系統(tǒng)達到最佳的運行性能,例如,讓高性能的卷依然保持其高性能的特性。
處理模塊300,用于在接收到對對象操作的請求指令后,根據(jù)請求指令的標記與對象的唯一標示之間的對應(yīng)關(guān)系,獲取與所述請求指令對應(yīng)的對象,并根據(jù)所述對象的調(diào)度優(yōu)先級及系統(tǒng)資源量,為所述請求指令分配系統(tǒng)資源。
在接收到對對象操作的請求指令,系統(tǒng)中所有請求指令需要獲取系統(tǒng)資源時,例如,內(nèi)存申請、或cpu調(diào)度或鏈路等系統(tǒng)資源,處理模塊300可根 據(jù)請求指令的標記與對象的唯一標示之間的對應(yīng)關(guān)系,獲取該請求指令對應(yīng)的對象,并根據(jù)請求指令對應(yīng)的對象來確定何時調(diào)度。即處理模塊300根據(jù)對象的調(diào)度優(yōu)先級及系統(tǒng)資源量,為請求指令分配系統(tǒng)資源。即判斷該請求指令是否可獲取到相應(yīng)的系統(tǒng)資源,若該請求指令可獲取到相應(yīng)的系統(tǒng)資源,則分配系統(tǒng)資源給該請求指令執(zhí)行。若請求指令獲取不到相應(yīng)的系統(tǒng)資源,則加入等待隊列中進行等待。
以下進行舉例說明,如圖2所示,圖2中的橫軸方向表示時刻,縱軸方向表示系統(tǒng)資源,假設(shè)同一類的系統(tǒng)資源總數(shù)為4,t1時刻收到1~4請求指令,都分別獲取到資源執(zhí)行,現(xiàn)有技術(shù)中,在t2時刻時,3和4請求指令已完成,同時系統(tǒng)又收到5~8請求指令,依據(jù)先來先服務(wù)的原則,5和6請求指令獲取到資源得到執(zhí)行,此時,后續(xù)收到的所有請求指令,在整個系統(tǒng)中的處理時間都等于最慢請求的時延,該請求的時延為等待時延加處理時延。
而采用本發(fā)明實施例的方案,在t2時刻時,可根據(jù)5~8請求指令時延、流量及并發(fā)等性能參數(shù)來確定7和8請求指令的優(yōu)先級比5和6請求指令的優(yōu)先級高,因此,可在3和4請求指令已完成后,優(yōu)先讓7和8請求指令獲取到資源執(zhí)行。在t3時刻時,7和8請求指令已完成,同時系統(tǒng)又收到9~12請求指令,根據(jù)5、6、9~12請求指令時延、流量及并發(fā)等性能參數(shù)來確定11和12請求指令的優(yōu)先級比其他請求指令的優(yōu)先級高,因此,可在7和8請求指令已完成后,優(yōu)先讓11和12請求指令獲取到資源執(zhí)行。在t4時刻時,11和12請求指令完成后,讓5和6請求指令獲取到資源執(zhí)行。在t6時刻時,1和2請求指令完成后,讓9和10請求指令獲取到資源執(zhí)行。從而實現(xiàn)合理分配系統(tǒng)資源,使得存儲系統(tǒng)達到最佳的運行性能。
本發(fā)明實施例通過對存儲系統(tǒng)不同類的對象進行性能數(shù)據(jù)的統(tǒng)計,并根據(jù)各類對象的性能數(shù)據(jù)設(shè)定各類對象的調(diào)度優(yōu)先級和系統(tǒng)資源量。在接收到對對象操作的請求指令后,根據(jù)對象的調(diào)度優(yōu)先級及系統(tǒng)資源量,為請求指令分配相應(yīng)的系統(tǒng)資源。實現(xiàn)了為不同性能的對象分配合理的系統(tǒng)資源,提高了存儲系統(tǒng)的運行性能及服務(wù)質(zhì)量。
進一步地,如圖5所示,基于上述存儲系統(tǒng)的服務(wù)質(zhì)量控制裝置第一實施例,提出了本發(fā)明存儲系統(tǒng)的服務(wù)質(zhì)量控制裝置第二實施例,該實施例中 上述處理模塊300包括可包括:
判斷單元310,用于在接收到對對象操作的請求指令后,根據(jù)所述請求指令對應(yīng)對象的調(diào)度優(yōu)先級,判斷所述對象是否存在空閑的系統(tǒng)資源;
分配單元320,用于當所述對象存在空閑的系統(tǒng)資源,則分配系統(tǒng)資源給所述請求指令;當所述對象不存在空閑的系統(tǒng)資源,則所述請求指令等待所述對象的其他請求指令釋放出系統(tǒng)資源,直到存在空閑的系統(tǒng)資源后,為所述請求指令分配系統(tǒng)資源。
本實施例中,存儲系統(tǒng)在接收到對對象操作的請求指令后,將會申請其所需的系統(tǒng)資源,判斷單元310可根據(jù)請求指令的標記與對象的唯一標示的對應(yīng)關(guān)系,根據(jù)請求指令對應(yīng)對象的調(diào)度優(yōu)先級,判斷該對象是否存在空閑的系統(tǒng)資源。如果該對象的仍有空閑的資源,則分配單元320分配資源給該請求指令;如果該對象已不存在空閑的資源,則分配單元320將該請求指令加入到等待隊列,等待該對象的其他請求指令釋放出系統(tǒng)資源。當該對象釋放出系統(tǒng)資源后,則可開始處理等待隊列中的請求指令,按照先入隊先服務(wù)的原則分配系統(tǒng)資源。
以下將以cpu調(diào)度資源為例進行詳細說明,存儲系統(tǒng)在接收到對對象操作的請求指令后,需要得到cpu調(diào)度才能處理其業(yè)務(wù)邏輯,即請求獲取cpu調(diào)度資源。系統(tǒng)將會判斷是否有空閑的cpu調(diào)度資源,如果有空閑的cpu調(diào)度資源,則直接分配cpu調(diào)度資源,調(diào)度該請求指令執(zhí)行;如果無空閑的cpu調(diào)度資源,則按請求指令對應(yīng)的對象將請求指令加入到相應(yīng)優(yōu)先級的等待調(diào)度隊列。當執(zhí)行完的請求指令釋放出cpu調(diào)度資源后,則按照優(yōu)先級先高后低和先入隊先服務(wù)的原則處理待調(diào)度隊列,將得到調(diào)度的請求指令出隊執(zhí)行。根據(jù)得到cpu調(diào)度資源后,按照請求指令對應(yīng)的邏輯處理完成該請求指令。
本實施例可根據(jù)對象的調(diào)度優(yōu)先級及系統(tǒng)資源量,判斷請求指令是否可獲取到相應(yīng)的系統(tǒng)資源,為不同性能的對象分配合理的系統(tǒng)資源,提高了存儲系統(tǒng)的服務(wù)質(zhì)量。
進一步地,基于上述存儲系統(tǒng)的服務(wù)質(zhì)量控制裝置第二實施例,提出了本發(fā)明存儲系統(tǒng)的服務(wù)質(zhì)量控制裝置第三實施例,該實施例中上述設(shè)定模塊200還用于,每隔預(yù)設(shè)時間將性能數(shù)據(jù)中的時延、流量及并發(fā)進行加權(quán)計算, 并根據(jù)加權(quán)計算的結(jié)果設(shè)定各類對象對應(yīng)的優(yōu)先級及對應(yīng)的系統(tǒng)資源量占總系統(tǒng)資源量的比例。
本實施例中,該預(yù)設(shè)時間可根據(jù)具體情況而靈活設(shè)置,在每個統(tǒng)計周期結(jié)束,在得到各類對象的性能數(shù)據(jù)后,設(shè)定模塊200可依據(jù)加權(quán)的算法對時延、流量和并發(fā)等進行加權(quán)計算,根據(jù)加權(quán)計算的結(jié)果,得出每個對象其對應(yīng)的優(yōu)先級,及其對應(yīng)的系統(tǒng)資源量占總系統(tǒng)資源量的比例,以更新各類對象的優(yōu)先級及其可使用的系統(tǒng)資源。具體地,設(shè)定模塊200每隔預(yù)設(shè)時間根據(jù)加權(quán)計算的結(jié)果設(shè)定各類對象對應(yīng)的優(yōu)先級及對應(yīng)的系統(tǒng)資源量占總系統(tǒng)資源量的比例可包括:假設(shè)某一對象的時延、流量和并發(fā)的權(quán)重分別為0.5、0.3、0.2,則加權(quán)計算的結(jié)果r=時延*0.5+流量*0.3+并發(fā)*0.2,分別得到各類對象的加權(quán)計算的結(jié)果r1~rn,根據(jù)r1~rn設(shè)定各類對象對應(yīng)的優(yōu)先級及對應(yīng)的系統(tǒng)資源量占總系統(tǒng)資源量的比例。例如,得到對象1的r1為5,得到對象2的r2為15,則對象2的優(yōu)先級高于對象1的優(yōu)先級,并按1:3的關(guān)系分配對象1和對象2的系統(tǒng)資源量。需要說明的是,將性能數(shù)據(jù)中的時延、流量及并發(fā)進行加權(quán)計算的方式可根據(jù)具體情況而靈活設(shè)置,并不限定本發(fā)明。
本實施例根據(jù)時延、流量及并發(fā)等性能數(shù)據(jù)進行加權(quán)計算,根據(jù)加權(quán)計算結(jié)果為不同性能的對象分配合理的系統(tǒng)資源,提高了存儲系統(tǒng)的服務(wù)質(zhì)量。
以上僅為本發(fā)明的優(yōu)選實施例,并非因此限制本發(fā)明的專利范圍,凡是利用本發(fā)明說明書及附圖內(nèi)容所作的等效結(jié)構(gòu)或等效流程變換,或直接或間接運用在其他相關(guān)的技術(shù)領(lǐng)域,均同理包括在本發(fā)明的專利保護范圍內(nèi)。