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