一種應(yīng)用于SCSI目標(biāo)器的QoS調(diào)度器及調(diào)度方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及存儲(chǔ)技術(shù)領(lǐng)域,特別涉及一種應(yīng)用于SCSI目標(biāo)器的QoS調(diào)度器及調(diào)度方法。
【背景技術(shù)】
[0002]目前,SAN(SAN,即Storage Area Network,存儲(chǔ)區(qū)域網(wǎng)絡(luò))是一種高速存儲(chǔ)網(wǎng)絡(luò),通常以SCSI協(xié)議(SCSI,即Small Computer System Interface,小型計(jì)算機(jī)系統(tǒng)接口)作為存儲(chǔ)訪問協(xié)議,支持服務(wù)器與存儲(chǔ)設(shè)備之間的直接高速數(shù)據(jù)傳輸。然而,目前的SCSI目標(biāo)器只支持采用“先來先服務(wù)”的方式,對(duì)服務(wù)器發(fā)送的10(10,即Input/Output,輸入輸出)請(qǐng)求進(jìn)行處理。這樣,如果存在兩個(gè)或兩個(gè)以上的服務(wù)器在同一時(shí)段內(nèi),向SCSI目標(biāo)器發(fā)起10請(qǐng)求,則會(huì)導(dǎo)致服務(wù)器之間發(fā)生對(duì)系統(tǒng)處理能力資源的自然爭搶,導(dǎo)致了 10請(qǐng)求處理進(jìn)程的混亂。
[0003]綜上所述可以看出,如何避免服務(wù)器之間發(fā)生對(duì)系統(tǒng)處理能力資源的自然爭搶是目前亟待解決的問題。
【發(fā)明內(nèi)容】
[0004]有鑒于此,本發(fā)明的目的在于提供一種應(yīng)用于SCSI目標(biāo)器的QoS調(diào)度器及調(diào)度方法,避免了服務(wù)器之間發(fā)生對(duì)系統(tǒng)處理能力資源的自然爭搶。其具體方案如下:
[0005]—種應(yīng)用于SCSI目標(biāo)器的QoS調(diào)度器,所述SCSI目標(biāo)器包括接口模塊、SCSI指令處理模塊和存儲(chǔ)模塊;所述QoS調(diào)度器包括:
[0006]10存儲(chǔ)隊(duì)列集,用于與所述接口模塊連接,包括N個(gè)10存儲(chǔ)隊(duì)列,N為正整數(shù),當(dāng)所述接口模塊接收到服務(wù)器發(fā)送的10數(shù)據(jù)時(shí),將該10數(shù)據(jù)保存至相應(yīng)的10存儲(chǔ)隊(duì)列,其中,服務(wù)器與10存儲(chǔ)隊(duì)列之間呈一一對(duì)應(yīng)關(guān)系;
[0007]監(jiān)視單元,用于對(duì)當(dāng)前所述10存儲(chǔ)隊(duì)列集和存儲(chǔ)系統(tǒng)的運(yùn)行狀態(tài)進(jìn)行實(shí)時(shí)監(jiān)視,根據(jù)實(shí)時(shí)監(jiān)視結(jié)果,對(duì)所述10存儲(chǔ)隊(duì)列集中每一個(gè)10存儲(chǔ)隊(duì)列的調(diào)度優(yōu)先級(jí)進(jìn)行相應(yīng)的調(diào)整,得到相應(yīng)的QoS調(diào)度策略;
[0008]QoS調(diào)度單元,用于根據(jù)所述QoS調(diào)度策略中記錄的每一個(gè)10存儲(chǔ)隊(duì)列的調(diào)度優(yōu)先級(jí)的高低順序,依次從所述10存儲(chǔ)隊(duì)列集的各個(gè)10存儲(chǔ)隊(duì)列中取出相應(yīng)的10數(shù)據(jù),并將該10數(shù)據(jù)下發(fā)至所述SCSI指令處理模塊,以使所述SCSI指令處理模塊對(duì)該10數(shù)據(jù)進(jìn)行相應(yīng)的處理并將處理結(jié)果發(fā)送至所述存儲(chǔ)模塊。
[0009]優(yōu)選的,所述SCSI目標(biāo)器為L10、SCST或TGT。
[0010]優(yōu)選的,所述接口模塊為ISCSI接口或FC接口。
[0011]優(yōu)選的,所述QoS調(diào)度器還包括:
[0012]控制器,用于為用戶提供QoS管理接口,通過所述QoS管理接口獲取用戶根據(jù)自身需要發(fā)送的QoS調(diào)整命令,并利用所述QoS調(diào)整命令,對(duì)所述10存儲(chǔ)隊(duì)列集中每一個(gè)10存儲(chǔ)隊(duì)列的調(diào)度優(yōu)先級(jí)進(jìn)行相應(yīng)的調(diào)整,相應(yīng)地得到符合用戶需求的QoS調(diào)度策略。
[0013]優(yōu)選的,所述QoS調(diào)度單元,還用于根據(jù)所述符合用戶需求的QoS調(diào)度策略中記錄的每一個(gè)10存儲(chǔ)隊(duì)列的調(diào)度優(yōu)先級(jí)的高低順序,依次從所述10存儲(chǔ)隊(duì)列集的各個(gè)10存儲(chǔ)隊(duì)列中取出相應(yīng)的10數(shù)據(jù),并將該10數(shù)據(jù)下發(fā)至所述SCSI指令處理模塊,以使所述SCSI指令處理模塊對(duì)該10數(shù)據(jù)進(jìn)行相應(yīng)的處理并將處理結(jié)果發(fā)送至所述存儲(chǔ)模塊。
[0014]本發(fā)明還公開了一種應(yīng)用于SCSI目標(biāo)器的QoS調(diào)度方法,所述SCSI目標(biāo)器包括接口模塊、SCSI指令處理模塊和存儲(chǔ)模塊;所述QoS調(diào)度方法包括:
[0015]當(dāng)所述接口模塊接收到服務(wù)器發(fā)送的10數(shù)據(jù)時(shí),將該10數(shù)據(jù)保存至10存儲(chǔ)隊(duì)列集中相應(yīng)的10存儲(chǔ)隊(duì)列,所述10存儲(chǔ)隊(duì)列集包括N個(gè)10存儲(chǔ)隊(duì)列,N為正整數(shù);其中,月艮務(wù)器與10存儲(chǔ)隊(duì)列之間呈一一對(duì)應(yīng)關(guān)系;
[0016]對(duì)當(dāng)前所述10存儲(chǔ)隊(duì)列集和存儲(chǔ)系統(tǒng)的運(yùn)行狀態(tài)進(jìn)行實(shí)時(shí)監(jiān)視,根據(jù)實(shí)時(shí)監(jiān)視結(jié)果,對(duì)所述10存儲(chǔ)隊(duì)列集中每一個(gè)10存儲(chǔ)隊(duì)列的調(diào)度優(yōu)先級(jí)進(jìn)行相應(yīng)的調(diào)整,得到相應(yīng)的QoS調(diào)度策略;
[0017]根據(jù)所述QoS調(diào)度策略中記錄的每一個(gè)10存儲(chǔ)隊(duì)列的調(diào)度優(yōu)先級(jí)的高低順序,依次從所述10存儲(chǔ)隊(duì)列集的各個(gè)10存儲(chǔ)隊(duì)列中取出相應(yīng)的10數(shù)據(jù),并將該10數(shù)據(jù)下發(fā)至所述SCSI指令處理模塊,以使所述SCSI指令處理模塊對(duì)該10數(shù)據(jù)進(jìn)行相應(yīng)的處理并將處理結(jié)果發(fā)送至所述存儲(chǔ)模塊。
[0018]優(yōu)選的,所述SCSI目標(biāo)器為L10、SCST或TGT。
[0019]優(yōu)選的,所述接口模塊為ISCSI接口或FC接口。
[0020]優(yōu)選的,所述QoS調(diào)度方法還包括:
[0021 ] 為用戶提供QoS管理接口,通過所述QoS管理接口獲取用戶根據(jù)自身需要發(fā)送的QoS調(diào)整命令,并利用所述QoS調(diào)整命令,對(duì)所述10存儲(chǔ)隊(duì)列集中每一個(gè)10存儲(chǔ)隊(duì)列的調(diào)度優(yōu)先級(jí)進(jìn)行相應(yīng)的調(diào)整,相應(yīng)地得到符合用戶需求的QoS調(diào)度策略。
[0022]優(yōu)選的,所述QoS調(diào)度方法還包括:
[0023]根據(jù)所述符合用戶需求的QoS調(diào)度策略中記錄的每一個(gè)10存儲(chǔ)隊(duì)列的調(diào)度優(yōu)先級(jí)的高低順序,依次從所述10存儲(chǔ)隊(duì)列集的各個(gè)10存儲(chǔ)隊(duì)列中取出相應(yīng)的10數(shù)據(jù),并將該10數(shù)據(jù)下發(fā)至所述SCSI指令處理模塊,以使所述SCSI指令處理模塊對(duì)該10數(shù)據(jù)進(jìn)行相應(yīng)的處理并將處理結(jié)果發(fā)送至所述存儲(chǔ)模塊。
[0024]本發(fā)明中,QoS調(diào)度器包括10存儲(chǔ)隊(duì)列集、監(jiān)視單元和QoS調(diào)度單元;其中,10存儲(chǔ)隊(duì)列集用于與接口模塊連接,包括N個(gè)10存儲(chǔ)隊(duì)列,當(dāng)接口模塊接收到服務(wù)器發(fā)送的10數(shù)據(jù)時(shí),將該10數(shù)據(jù)保存至相應(yīng)的10存儲(chǔ)隊(duì)列,其中,服務(wù)器與10存儲(chǔ)隊(duì)列之間呈一一對(duì)應(yīng)關(guān)系;監(jiān)視單元用于對(duì)當(dāng)前10存儲(chǔ)隊(duì)列集和存儲(chǔ)系統(tǒng)的運(yùn)行狀態(tài)進(jìn)行實(shí)時(shí)監(jiān)視,根據(jù)實(shí)時(shí)監(jiān)視結(jié)果,對(duì)10存儲(chǔ)隊(duì)列集中每一個(gè)10存儲(chǔ)隊(duì)列的調(diào)度優(yōu)先級(jí)進(jìn)行相應(yīng)的調(diào)整,得到相應(yīng)的QoS調(diào)度策略;QoS調(diào)度單元用于根據(jù)QoS調(diào)度策略中記錄的每一個(gè)10存儲(chǔ)隊(duì)列的調(diào)度優(yōu)先級(jí)的高低順序,依次從10存儲(chǔ)隊(duì)列集的各個(gè)10存儲(chǔ)隊(duì)列中取出相應(yīng)的10數(shù)據(jù),并將該10數(shù)據(jù)下發(fā)至SCSI指令處理模塊,以使SCSI指令處理模塊對(duì)該10數(shù)據(jù)進(jìn)行相應(yīng)的處理并將處理結(jié)果發(fā)送至存儲(chǔ)模塊。可見,本發(fā)明中,QoS調(diào)度器中的10存儲(chǔ)隊(duì)列集包括N個(gè)10存儲(chǔ)隊(duì)列,并且每一個(gè)10存儲(chǔ)隊(duì)列與每臺(tái)服務(wù)器之間一一對(duì)應(yīng),每一個(gè)10存儲(chǔ)隊(duì)列存儲(chǔ)與其對(duì)應(yīng)的服務(wù)器發(fā)送過來的10數(shù)據(jù),而監(jiān)視單元?jiǎng)t可以對(duì)10存儲(chǔ)隊(duì)列集中每一個(gè)10存儲(chǔ)隊(duì)列的調(diào)度優(yōu)先級(jí)進(jìn)行調(diào)整,得到相應(yīng)的QoS調(diào)度策略,后續(xù)便可根據(jù)上述QoS調(diào)度策略,依次對(duì)各個(gè)10存儲(chǔ)隊(duì)列中存儲(chǔ)的10數(shù)據(jù)進(jìn)行處理,從而避免了服務(wù)器之間發(fā)生對(duì)系統(tǒng)處理能力資源的自然爭搶,消除了原先10請(qǐng)求處理進(jìn)程的混亂局面。
【附圖說明】
[0025]為了更清楚地說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)提供的附圖獲得其他的附圖。
[0026]圖1為本發(fā)明實(shí)施例公開的一種QoS調(diào)度器的應(yīng)用結(jié)構(gòu)示意圖;
[0027]圖2為本發(fā)明實(shí)施例公開的一種具體的QoS調(diào)度器的應(yīng)用結(jié)構(gòu)示意圖;
[0028]圖3為本發(fā)明實(shí)施例公開的一種應(yīng)用于SCSI目標(biāo)器的QoS調(diào)度方法流程圖。
【具體實(shí)施方式】
[0029]下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
[0030]本發(fā)明實(shí)施例公開了一種應(yīng)用于SCSI目標(biāo)器的QoS調(diào)度器,SCSI目標(biāo)器包括接口模塊、SCSI指令處理模塊和存儲(chǔ)模塊;具體的,上述SCSI目標(biāo)器為L10(即Linux-10Target)、SCST (即 Generic SCSI Target Subsystem For Linux)或 TGT (即 Linux SCSITarget Framework)。另外,上述接口模塊具體可以是 ISCSI 接口(ISCSI,即 Internet SmallComputer System Interface)或 FC 接口(FC,即 Fibre Channel)。需要說明的是,上述 QoS指的是Quality of Service,即服務(wù)質(zhì)量。
[0031]參見圖1所示,本實(shí)施例中公開的QoS調(diào)度器包括:
[0032]10存儲(chǔ)隊(duì)列集11,用于與接口模塊連接,包括N個(gè)10存儲(chǔ)隊(duì)列,N為正整數(shù),當(dāng)接口模塊接收到服務(wù)器發(fā)送的10數(shù)據(jù)時(shí),將該10數(shù)據(jù)保存至相應(yīng)的10存儲(chǔ)隊(duì)列;
[0033]其中,服務(wù)器與10存儲(chǔ)隊(duì)列之間呈一一對(duì)應(yīng)關(guān)系,本實(shí)施例中,服務(wù)器的個(gè)數(shù)小于或等于N,并且每一臺(tái)服務(wù)器均有一個(gè)10存儲(chǔ)隊(duì)列與其對(duì)應(yīng);
[0034]監(jiān)視單元12,用于對(duì)當(dāng)前10存儲(chǔ)隊(duì)列集11和存儲(chǔ)系統(tǒng)的運(yùn)行狀態(tài)進(jìn)行實(shí)時(shí)監(jiān)視,根據(jù)實(shí)時(shí)監(jiān)視結(jié)果,對(duì)10存儲(chǔ)隊(duì)列集11中每一個(gè)10存儲(chǔ)隊(duì)列的調(diào)度優(yōu)先級(jí)進(jìn)行相應(yīng)的調(diào)整,得到相應(yīng)的QoS調(diào)度策略。
[0035]例如,可以根據(jù)上述實(shí)時(shí)監(jiān)視結(jié)果,并結(jié)合10請(qǐng)求的緊急程度或終端用戶的重要性等因素,對(duì)10存儲(chǔ)隊(duì)列集11中每一個(gè)10存儲(chǔ)隊(duì)列的調(diào)度優(yōu)先級(jí)進(jìn)行相應(yīng)的調(diào)整,得到相應(yīng)的QoS調(diào)度策略。
[0036]QoS調(diào)度單元13,用于根據(jù)QoS調(diào)度策略中記錄的每一個(gè)10存儲(chǔ)隊(duì)列的調(diào)度優(yōu)先級(jí)的高低順序,依次從10存儲(chǔ)隊(duì)列集11的各個(gè)10存儲(chǔ)隊(duì)列中取出相應(yīng)的10數(shù)據(jù),并將該10數(shù)據(jù)下發(fā)至SCSI指令處理模塊,以使SCSI指令處理模塊對(duì)該10數(shù)據(jù)進(jìn)行相應(yīng)的處理并將處理結(jié)果發(fā)送至存儲(chǔ)模塊。
[0037]本發(fā)明實(shí)施例中,QoS調(diào)度器包括10存儲(chǔ)隊(duì)列集、監(jiān)視單元和QoS調(diào)度單元;其中,10存儲(chǔ)隊(duì)列集用于與接口模塊連接,包括N個(gè)10存儲(chǔ)隊(duì)列,當(dāng)接口模塊接收到服務(wù)器發(fā)送的10數(shù)據(jù)時(shí),將該10數(shù)據(jù)保存至相應(yīng)的10存儲(chǔ)隊(duì)列,其中,服務(wù)器與10存儲(chǔ)隊(duì)列之間呈一一對(duì)應(yīng)關(guān)系;監(jiān)視單元用于對(duì)當(dāng)前10存儲(chǔ)隊(duì)列集和存儲(chǔ)系統(tǒng)的運(yùn)行狀態(tài)進(jìn)行實(shí)時(shí)監(jiān)視,根據(jù)實(shí)時(shí)監(jiān)視結(jié)果,對(duì)10存儲(chǔ)隊(duì)列集中每一個(gè)10存儲(chǔ)隊(duì)列的調(diào)度優(yōu)先級(jí)進(jìn)行相應(yīng)的調(diào)整,得到相應(yīng)的QoS調(diào)度策略;QoS調(diào)度單元用于根據(jù)QoS調(diào)度策略中記錄的每一個(gè)10存儲(chǔ)隊(duì)列的調(diào)度優(yōu)先級(jí)的高低順序,依次從10存儲(chǔ)隊(duì)列集的各個(gè)10存儲(chǔ)隊(duì)列中取出相應(yīng)的10數(shù)據(jù),并將該10數(shù)據(jù)下發(fā)至SCSI指令處理模塊,以使SCSI指令處理模塊對(duì)該10數(shù)據(jù)進(jìn)行相應(yīng)的處理并將處理結(jié)果發(fā)送至存儲(chǔ)模塊。
[0038]可見,本發(fā)明實(shí)施例中,QoS調(diào)度器中的10存儲(chǔ)隊(duì)列集包括N個(gè)10存儲(chǔ)