本發(fā)明涉及數(shù)據(jù)傳輸技術(shù)領(lǐng)域,更具體地說,涉及一種io數(shù)據(jù)處理方法及系統(tǒng)。
背景技術(shù):
隨著計(jì)算機(jī)技術(shù)的飛速發(fā)展,很多技術(shù)都有了大幅度的提升,尤其是對后端存儲系統(tǒng)分區(qū)的成功使用,滿足了服務(wù)器主機(jī)下發(fā)數(shù)據(jù)的安全性和穩(wěn)定性的要求,并且緩存和閃存的成功使用,滿足了各個計(jì)算機(jī)領(lǐng)域?qū)τ谟?jì)算資源和計(jì)算速率的需求,這種處理方式極大地加快了數(shù)據(jù)處理的速度,然而通用的主機(jī)與存儲系統(tǒng)的io數(shù)據(jù)傳輸方式,并沒有加強(qiáng)主機(jī)與存儲系統(tǒng)之間數(shù)據(jù)傳輸?shù)男?,使得這種極速的數(shù)據(jù)處理速度陷入了瓶頸。
技術(shù)實(shí)現(xiàn)要素:
有鑒于此,本發(fā)明的目的在于提供一種io數(shù)據(jù)處理方法,能夠有效的提高主機(jī)與存儲系統(tǒng)之間的數(shù)據(jù)傳輸速率和安全性。
為實(shí)現(xiàn)上述目的,本發(fā)明提供如下技術(shù)方案:
一種io數(shù)據(jù)處理方法,應(yīng)用于存儲系統(tǒng),所述方法包括以下步驟:
接收與所述存儲系統(tǒng)相連的主機(jī)下發(fā)的命令;
將接收到的所述命令進(jìn)行分類處理;
將接收到的所述命令進(jìn)行優(yōu)化處理;
基于分類處理結(jié)果和優(yōu)化處理結(jié)果將所述主機(jī)發(fā)送的數(shù)據(jù)傳輸至所述存儲系統(tǒng)。
優(yōu)選地,所述將接收到的所述命令進(jìn)行分類處理包括:
對接收到的io讀寫命令和非io讀寫的計(jì)算機(jī)與外部設(shè)備之間的接口標(biāo)準(zhǔn)命令進(jìn)行區(qū)分;
基于中央處理器核數(shù)按比例開啟快速路徑線程和慢速路徑線程;
判斷所述主機(jī)下發(fā)所述io讀寫命令是否嚴(yán)重超時;
當(dāng)所述主機(jī)下發(fā)所述io讀寫命令嚴(yán)重超時時,由所述快速路徑轉(zhuǎn)為所述慢速路徑處理所述io讀寫命令。
優(yōu)選地,所述將接收到的所述命令進(jìn)行優(yōu)化處理包括:
組建主機(jī)命令控制塊機(jī)構(gòu),將命令區(qū)分為io標(biāo)志和非io標(biāo)志;
封裝傳輸數(shù)據(jù)地址。
一種io數(shù)據(jù)處理系統(tǒng),應(yīng)用于存儲系統(tǒng),包括:
接收模塊,用于接收與所述存儲系統(tǒng)相連的主機(jī)下發(fā)的命令;
分類處理模塊,用于將接收到的所述命令進(jìn)行分類處理;
優(yōu)化處理模塊,用于將接收到的所述命令進(jìn)行優(yōu)化處理;
傳輸模塊,用于基于分類處理結(jié)果和優(yōu)化處理結(jié)果將所述主機(jī)發(fā)送的數(shù)據(jù)傳輸至所述存儲系統(tǒng)。
優(yōu)選地,所述分類處理模塊包括:
第一區(qū)分單元,用于對接收到的io讀寫命令和非io讀寫的計(jì)算機(jī)與外部設(shè)備之間的接口標(biāo)準(zhǔn)命令進(jìn)行區(qū)分;
線程開啟單元,用于基于中央處理器核數(shù)按比例開啟快速路徑線程和慢速路徑線程;
判斷單元,用于判斷所述主機(jī)下發(fā)所述io讀寫命令是否嚴(yán)重超時;
轉(zhuǎn)換單元,用于當(dāng)所述主機(jī)下發(fā)所述io讀寫命令嚴(yán)重超時時,由所述快速路徑轉(zhuǎn)為所述慢速路徑處理所述io讀寫命令。
優(yōu)選地,所述優(yōu)化處理模塊包括:
第二區(qū)分單元,用于組建主機(jī)命令控制塊機(jī)構(gòu),將命令區(qū)分為io標(biāo)志和非io標(biāo)志;
封裝單元,用于封裝傳輸數(shù)據(jù)地址。
從上述技術(shù)方案可以看出,本發(fā)明公開了一種io數(shù)據(jù)處理方法,當(dāng)需要將主機(jī)中的數(shù)據(jù)傳輸至存儲系統(tǒng)時,首先接收與存儲系統(tǒng)相連的主機(jī)下發(fā)的命令,然后將接收到的命令進(jìn)行分類處理和優(yōu)化處理,根據(jù)分類處理結(jié)果和優(yōu)化處理結(jié)果將主機(jī)發(fā)送的數(shù)據(jù)傳輸至存儲系統(tǒng),通過將命令進(jìn)行分類和優(yōu)化有效的提高主機(jī)與存儲系統(tǒng)之間的數(shù)據(jù)傳輸速率和安全性。
附圖說明
為了更清楚地說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其它的附圖。
圖1為本發(fā)明公開的一種io數(shù)據(jù)處理方法實(shí)施例1的流程圖;
圖2為本發(fā)明公開的一種io數(shù)據(jù)處理方法實(shí)施例2的流程圖;
圖3為本發(fā)明公開的一種io數(shù)據(jù)處理系統(tǒng)實(shí)施例1的結(jié)構(gòu)示意圖;
圖4為本發(fā)明公開的一種io數(shù)據(jù)處理系統(tǒng)實(shí)施例2的結(jié)構(gòu)示意圖。
具體實(shí)施方式
下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其它實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
如圖1所示,為本發(fā)明公開的一種io數(shù)據(jù)處理方法的實(shí)施例1的流程圖,本方法應(yīng)用于存儲系統(tǒng),可以包括以下步驟:
s101、接收與存儲系統(tǒng)相連的主機(jī)下發(fā)的命令;
s102、將接收到的命令進(jìn)行分類處理;
s103、將接收到的命令進(jìn)行優(yōu)化處理;
s104、基于分類處理結(jié)果和優(yōu)化處理結(jié)果將主機(jī)發(fā)送的數(shù)據(jù)傳輸至存儲系統(tǒng)。
本實(shí)施例涉及主機(jī)對存儲系統(tǒng)進(jìn)行讀寫數(shù)據(jù)時,為了加快數(shù)據(jù)傳送速度,優(yōu)化傳輸數(shù)據(jù)安全管理,創(chuàng)造出一種新型的io數(shù)據(jù)傳輸?shù)姆椒ê图夹g(shù),目的在于改進(jìn)主機(jī)與存儲系統(tǒng)之間的數(shù)據(jù)傳輸?shù)墓芾矸椒?,由原來的主機(jī)與后端存儲系統(tǒng)的卷或者虛擬卷直接傳輸命令和數(shù)據(jù)io的模式,改善為在存儲系統(tǒng)中加入一個io處理系統(tǒng),從而使得主機(jī)向存儲系統(tǒng)發(fā)布命令并進(jìn)行數(shù)據(jù)傳輸時,io處理系統(tǒng)先將主機(jī)下發(fā)命令進(jìn)行分類,并將命令進(jìn)行封裝優(yōu)化處理,使用快速路徑和慢速路徑兩種類型的線程來處理已分類的命令;并優(yōu)化主機(jī)向后端存儲系統(tǒng)進(jìn)行數(shù)據(jù)傳輸?shù)姆绞?,將命令和?shù)據(jù)獨(dú)立區(qū)分,只進(jìn)行命令和數(shù)據(jù)地址的傳輸,以確保數(shù)據(jù)的安全性和并且在最大程度上減少系統(tǒng)資源的消耗。此發(fā)明極大地改善了存儲系統(tǒng)io的轉(zhuǎn)發(fā)能力,并且根據(jù)命令塊的優(yōu)化,只進(jìn)行數(shù)據(jù)塊地址的傳送,這就極大地提高了數(shù)據(jù)傳輸?shù)目焖傩院桶踩浴?/p>
如圖2所示,為本發(fā)明公開的一種io數(shù)據(jù)處理方法的實(shí)施例1的流程圖,本方法應(yīng)用于存儲系統(tǒng),可以包括以下步驟:
s201、接收與所述存儲系統(tǒng)相連的主機(jī)下發(fā)的命令;
s202、對接收到的io讀寫命令和非io讀寫的計(jì)算機(jī)與外部設(shè)備之間的接口標(biāo)準(zhǔn)命令進(jìn)行區(qū)分;
s203、基于中央處理器核數(shù)按比例開啟快速路徑線程和慢速路徑線程;
s204、判斷所述主機(jī)下發(fā)所述io讀寫命令是否嚴(yán)重超時;
s205、當(dāng)所述主機(jī)下發(fā)所述io讀寫命令嚴(yán)重超時時,由所述快速路徑轉(zhuǎn)為所述慢速路徑處理所述io讀寫命令;
s206、組建主機(jī)命令控制塊機(jī)構(gòu),將命令區(qū)分為io標(biāo)志和非io標(biāo)志;
s207、封裝傳輸數(shù)據(jù)地址;
s208、基于分類處理結(jié)果和優(yōu)化處理結(jié)果將所述主機(jī)發(fā)送的數(shù)據(jù)傳輸至所述存儲系統(tǒng)。
本實(shí)施例涉及主機(jī)對存儲系統(tǒng)進(jìn)行讀寫數(shù)據(jù)時,為了加快數(shù)據(jù)傳送速度,優(yōu)化傳輸數(shù)據(jù)安全管理,創(chuàng)造出一種新型的io數(shù)據(jù)傳輸?shù)姆椒ê图夹g(shù),目的在于改進(jìn)主機(jī)與存儲系統(tǒng)之間的數(shù)據(jù)傳輸?shù)墓芾矸椒?,由原來的主機(jī)與后端存儲系統(tǒng)的卷或者虛擬卷直接傳輸命令和數(shù)據(jù)io的模式,改善為在存儲系統(tǒng)中加入一個頂層處理所有scsi(smallcomputersysteminterface,計(jì)算機(jī)與外部設(shè)備之間的接口標(biāo)準(zhǔn))命令的io處理系統(tǒng),由其進(jìn)行主機(jī)所有命令的分類、轉(zhuǎn)發(fā)與回復(fù),并提供存儲系統(tǒng)的識別與認(rèn)證,確認(rèn)主機(jī)下發(fā)的數(shù)據(jù)路徑正確性。在該系統(tǒng)中,系統(tǒng)將主機(jī)下發(fā)命令進(jìn)行分類,將scsi命令中的普通命令如inquiry、reportlun等,和io讀寫命令,如write(10)、write(16)、read(10)、read(16)等進(jìn)行區(qū)分,然后根據(jù)區(qū)分開的命令,分別走基于中央處理器核數(shù)按比例調(diào)度出的多條快速路徑線程和慢速路徑線程。其中快速路徑只能處理goodio,慢速路徑可以處理普通非io命令,以及failio及超過等待時間閾值的io,以保障最大限度的提高io讀寫速度。并且在主機(jī)向存儲系統(tǒng)發(fā)布命令并進(jìn)行數(shù)據(jù)傳輸時,將主機(jī)下發(fā)的命令進(jìn)行封裝優(yōu)化處理,主要是對主機(jī)下發(fā)的命令進(jìn)行封裝,組建hccb(hostcommandcontrolblock,主機(jī)命令控制塊)結(jié)構(gòu),制定命令的旗,即io和非io標(biāo)志,并且封裝傳輸數(shù)據(jù)地址,隔離數(shù)據(jù)在此模塊的傳輸,只進(jìn)行數(shù)據(jù)地址的傳輸,完成數(shù)據(jù)由驅(qū)動層直接到高速緩存層的傳遞。本發(fā)明極大地改善了存儲系統(tǒng)io的轉(zhuǎn)發(fā)能力,并且根據(jù)命令塊的優(yōu)化,只進(jìn)行數(shù)據(jù)塊地址的傳說,極大地提高了數(shù)據(jù)傳輸?shù)目焖傩院桶踩浴?/p>
如圖3所示,為本發(fā)明公開的一種io數(shù)據(jù)處理系統(tǒng)的實(shí)施例1的結(jié)構(gòu)示意圖,本系統(tǒng)應(yīng)用于存儲系統(tǒng),可以包括:
接收模塊301,用于接收與存儲系統(tǒng)相連的主機(jī)下發(fā)的命令;
分類處理模塊302,用于將接收到的命令進(jìn)行分類處理;
優(yōu)化處理模塊303,用于將接收到的命令進(jìn)行優(yōu)化處理;
傳輸模塊304,用于基于分類處理結(jié)果和優(yōu)化處理結(jié)果將主機(jī)發(fā)送的數(shù)據(jù)傳輸至存儲系統(tǒng)。
本實(shí)施例涉及主機(jī)對存儲系統(tǒng)進(jìn)行讀寫數(shù)據(jù)時,為了加快數(shù)據(jù)傳送速度,優(yōu)化傳輸數(shù)據(jù)安全管理,創(chuàng)造出一種新型的io數(shù)據(jù)傳輸?shù)姆椒ê图夹g(shù),目的在于改進(jìn)主機(jī)與存儲系統(tǒng)之間的數(shù)據(jù)傳輸?shù)墓芾矸椒ǎ稍瓉淼闹鳈C(jī)與后端存儲系統(tǒng)的卷或者虛擬卷直接傳輸命令和數(shù)據(jù)io的模式,改善為在存儲系統(tǒng)中加入一個io處理系統(tǒng),包括接收模塊301、分類處理模塊302、優(yōu)化處理模塊303和傳輸模塊304,從而使得主機(jī)向存儲系統(tǒng)發(fā)布命令并進(jìn)行數(shù)據(jù)傳輸時,io處理系統(tǒng)先將主機(jī)下發(fā)命令進(jìn)行分類,并將命令進(jìn)行封裝優(yōu)化處理,使用快速路徑和慢速路徑兩種類型的線程來處理已分類的命令;并優(yōu)化主機(jī)向后端存儲系統(tǒng)進(jìn)行數(shù)據(jù)傳輸?shù)姆绞剑瑢⒚詈蛿?shù)據(jù)獨(dú)立區(qū)分,只進(jìn)行命令和數(shù)據(jù)地址的傳輸,以確保數(shù)據(jù)的安全性和并且在最大程度上減少系統(tǒng)資源的消耗。此發(fā)明極大地改善了存儲系統(tǒng)io的轉(zhuǎn)發(fā)能力,并且根據(jù)命令塊的優(yōu)化,只進(jìn)行數(shù)據(jù)塊地址的傳送,這就極大地提高了數(shù)據(jù)傳輸?shù)目焖傩院桶踩浴?/p>
如圖4所示,為本發(fā)明公開的一種io數(shù)據(jù)處理系統(tǒng)的實(shí)施例2的結(jié)構(gòu)示意圖,本系統(tǒng)應(yīng)用于存儲系統(tǒng),可以包括:
接收模塊401,用于接收與所述存儲系統(tǒng)相連的主機(jī)下發(fā)的命令;
第一區(qū)分單元402,用于對接收到的io讀寫命令和非io讀寫的計(jì)算機(jī)與外部設(shè)備之間的接口標(biāo)準(zhǔn)命令進(jìn)行區(qū)分;
線程開啟單元403,用于基于中央處理器核數(shù)按比例開啟快速路徑線程和慢速路徑線程;
判斷單元404,用于判斷所述主機(jī)下發(fā)所述io讀寫命令是否嚴(yán)重超時;
轉(zhuǎn)換單元405,用于當(dāng)所述主機(jī)下發(fā)所述io讀寫命令嚴(yán)重超時時,由所述快速路徑轉(zhuǎn)為所述慢速路徑處理所述io讀寫命令;
第二區(qū)分單元406,用于組建主機(jī)命令控制塊機(jī)構(gòu),將命令區(qū)分為io標(biāo)志和非io標(biāo)志;
封裝單元407,用于封裝傳輸數(shù)據(jù)地址;
傳輸模塊408,用于基于分類處理結(jié)果和優(yōu)化處理結(jié)果將所述主機(jī)發(fā)送的數(shù)據(jù)傳輸至所述存儲系統(tǒng)。
本實(shí)施例涉及主機(jī)對存儲系統(tǒng)進(jìn)行讀寫數(shù)據(jù)時,為了加快數(shù)據(jù)傳送速度,優(yōu)化傳輸數(shù)據(jù)安全管理,創(chuàng)造出一種新型的io數(shù)據(jù)傳輸?shù)姆椒ê图夹g(shù),目的在于改進(jìn)主機(jī)與存儲系統(tǒng)之間的數(shù)據(jù)傳輸?shù)墓芾矸椒?,由原來的主機(jī)與后端存儲系統(tǒng)的卷或者虛擬卷直接傳輸命令和數(shù)據(jù)io的模式,改善為在存儲系統(tǒng)中加入一個頂層處理所有scsi(smallcomputersysteminterface,計(jì)算機(jī)與外部設(shè)備之間的接口標(biāo)準(zhǔn))命令的io處理系統(tǒng),由其進(jìn)行主機(jī)所有命令的分類、轉(zhuǎn)發(fā)與回復(fù),并提供存儲系統(tǒng)的識別與認(rèn)證,確認(rèn)主機(jī)下發(fā)的數(shù)據(jù)路徑正確性。在該系統(tǒng)中,系統(tǒng)將主機(jī)下發(fā)命令進(jìn)行分類,將scsi命令中的普通命令如inquiry、reportlun等,和io讀寫命令,如write(10)、write(16)、read(10)、read(16)等進(jìn)行區(qū)分,然后根據(jù)區(qū)分開的命令,分別走基于中央處理器核數(shù)按比例調(diào)度出的多條快速路徑線程和慢速路徑線程。其中快速路徑只能處理goodio,慢速路徑可以處理普通非io命令,以及failio及超過等待時間閾值的io,以保障最大限度的提高io讀寫速度。并且在主機(jī)向存儲系統(tǒng)發(fā)布命令并進(jìn)行數(shù)據(jù)傳輸時,將主機(jī)下發(fā)的命令進(jìn)行封裝優(yōu)化處理,主要是對主機(jī)下發(fā)的命令進(jìn)行封裝,組建hccb(hostcommandcontrolblock,主機(jī)命令控制塊)結(jié)構(gòu),制定命令的旗,即io和非io標(biāo)志,并且封裝傳輸數(shù)據(jù)地址,隔離數(shù)據(jù)在此模塊的傳輸,只進(jìn)行數(shù)據(jù)地址的傳輸,完成數(shù)據(jù)由驅(qū)動層直接到高速緩存層的傳遞。本發(fā)明極大地改善了存儲系統(tǒng)io的轉(zhuǎn)發(fā)能力,并且根據(jù)命令塊的優(yōu)化,只進(jìn)行數(shù)據(jù)塊地址的傳說,極大地提高了數(shù)據(jù)傳輸?shù)目焖傩院桶踩浴?/p>
本說明書中各個實(shí)施例采用遞進(jìn)的方式描述,每個實(shí)施例重點(diǎn)說明的都是與其它實(shí)施例的不同之處,各個實(shí)施例之間相同相似部分互相參見即可。
對所公開的實(shí)施例的上述說明,使本領(lǐng)域?qū)I(yè)技術(shù)人員能夠?qū)崿F(xiàn)或使用本發(fā)明。對這些實(shí)施例的多種修改對本領(lǐng)域的專業(yè)技術(shù)人員來說將是顯而易見的,本文中所定義的一般原理可以在不脫離本發(fā)明的精神或范圍的情況下,在其它實(shí)施例中實(shí)現(xiàn)。因此,本發(fā)明將不會被限制于本文所示的這些實(shí)施例,而是要符合與本文所公開的原理和新穎特點(diǎn)相一致的最寬的范圍。