本發明涉及存儲服務器技術領域,特別是涉及一種多路徑數據傳輸的控制方法及裝置。
背景技術:
現在存儲服務器前端控制器多路徑機制主要有幾種:Active/Active、Active/Passive和ALUA(Asymmetric Logic Unit Access)模式。在ALUA模式下的多路徑機制中,目前的設計模式都是把優化過的路徑專門作為數據傳輸路徑,另外沒有經過優化過的路徑作為備份路徑而處于不活躍狀態。也就是說,在某一時刻,只有一個控制器能否訪問后端的LUN(Logic Unit Number)。圖1為現有技術中主機訪問存儲服務器的數據傳輸路徑的結構圖。其中,實線表示優化過的路徑,簡稱優化路徑,虛線表示備用路徑。
基于上述訪問路徑的形式,即使當優化路徑達到飽和狀態時,只要此優化路徑處于工作狀態,就不會使用備份路徑,這樣就造成了資源的浪費,降低整個系統的數據吞吐量。
由此可見,如何降低資源的浪費,提高整個系統的數據吞吐量是本領域技術人員亟待解決的問題。
技術實現要素:
本發明的目的是提供一種多路徑數據傳輸的控制方法及裝置,用于降低資源的浪費,提高整個系統的數據吞吐量。
為解決上述技術問題,本發明提供一種多路徑數據傳輸的控制方法,包括:
當主機訪問存儲服務器時,實時檢測所述主機至所述存儲服務器的優化路徑是否達到飽和狀態;
當所述優化路徑達到飽和狀態時,啟動所述主機至所述存儲服務器的備用路徑以進行數據傳輸。
優選地,在所述啟動所述主機至所述存儲服務器的備用路徑之前還包括:
檢測所述備用路徑是否處于正常工作狀態;如果是,則啟動所述備用路徑。
優選地,還包括:
當啟動所述備用路徑時,輸出提示信息。
優選地,還包括:
當啟動所述備用路徑后,檢測所述優化路徑是否仍然處于飽和狀態,如果是則繼續啟動所述備用路徑,否則,停止啟動所述備用路徑。
一種多路徑數據傳輸的控制裝置,包括:
第一檢測單元與主機連接,用于當所述主機訪問存儲服務器時,實時檢測所述主機至所述存儲服務器的優化路徑是否達到飽和狀態;
啟動單元與所述第一檢測單元連接,用于當所述優化路徑達到飽和狀態時,啟動所述主機至所述存儲服務器的備用路徑以進行數據傳輸。
優選地,還包括:第二檢測單元,用于檢測所述備用路徑是否處于正常工作狀態;
如果是,則觸發所述啟動單元。
優選地,還包括:輸出單元與所述啟動單元連接,用于當啟動所述備用路徑時,輸出提示信息。
優選地,所述第一檢測單元還用于當啟動所述備用路徑后,檢測所述優化路徑是否仍然處于飽和狀態,如果是則繼續觸發所述啟動單元,否則,停止觸發所述啟動單元。
本發明所提供的多路徑數據傳輸的控制方法及裝置,通過主機訪問存儲服務器時,實時檢測優化路徑是否達到飽和狀態,當優化路徑達到飽和狀態時,啟動主機至存儲服務器的備用路徑以進行數據傳輸。由此可見,該方法能夠保證優化路徑正常傳輸數據的基礎上,增加備用路徑傳輸數據,總體上提高了整個系統的數據吞吐量。
附圖說明
為了更清楚地說明本發明實施例,下面將對實施例中所需要使用的附圖做簡單的介紹,顯而易見地,下面描述中的附圖僅僅是本發明的一些實施例,對于本領域普通技術人員來講,在不付出創造性勞動的前提下,還可以根據這些附圖獲得其他的附圖。
圖1為現有技術中主機訪問存儲服務器的數據傳輸路徑的結構圖;
圖2為本發明提供的一種多路徑數據傳輸的控制方法的流程圖;
圖3為本發明提供的一種多路徑數據傳輸的控制裝置的結構圖。
具體實施方式
下面將結合本發明實施例中的附圖,對本發明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發明一部分實施例,而不是全部實施例。基于本發明中的實施例,本領域普通技術人員在沒有做出創造性勞動前提下,所獲得的所有其他實施例,都屬于本發明保護范圍。
本發明的核心是提供一種多路徑數據傳輸的控制方法及裝置。
為了使本技術領域的人員更好地理解本發明方案,下面結合附圖和具體實施方式對本發明作進一步的詳細說明。
圖2為本發明提供的一種多路徑數據傳輸的控制方法的流程圖。如圖2所示,多路徑數據傳輸的控制方法包括:
S10:當主機訪問存儲服務器時,實時檢測主機至存儲服務器的優化路徑是否達到飽和狀態。
S11:當優化路徑達到飽和狀態時,啟動主機至存儲服務器的備用路徑以進行數據傳輸。
需要說明的是,本發明的方法是應用于ALUA模式下。在具體實施中,主機訪問存儲服務器有兩種操作,一種是讀操作,一種是寫操作。無論是讀操作還是寫操作都可以應用本發明提出的方法,但是為了保持緩存一致性,在具體使用過程中不對讀操作進行優化,因為頻繁的切換數據傳輸路徑,會對緩存的一致性有所影響,從而會影響讀的性能。換句話說,只在主機向存儲服務器進行寫操作時,應用上述方法,因此對于寫操作來說,無論路徑怎么切換,數據都是要寫入磁盤,所以不影響。
當主機訪問存儲服務器時,就需要進行數據傳輸,此時默認的傳輸路徑是優化路徑,備用路徑沒有處于使用狀態。因此,在數據傳輸開始時,首先實時檢測主機至存儲服務器的優化路徑是否達到飽和狀態。在具體實施中,主機訪問存儲服務器有很多種類型,不同的類型的數據傳輸量也是不同的。例如,在一種訪問操作中,對應的數據傳輸量不會造成優化路徑達到飽和狀態,即數據傳輸量較小;那么只需要使用優化路徑傳輸即可,無需啟動備用路徑傳輸;在另一種訪問操作中,對應的數據傳輸量較大,會造成優化路徑達到飽和狀態,即數據傳輸量較大;那么只使用優化路徑傳輸會造成傳輸過慢,因此需要啟動備用路徑傳輸。
本檢測飽和狀態的步驟中,可以通過優化路徑的工作狀態和IO操作這兩個參數來確定是否達到飽和狀態。
可以理解的是,優化路徑和備用路徑都是事先設定好的,本發明不再贅述。
本實施例提供的多路徑數據傳輸的控制方法,通過主機訪問存儲服務器時,實時檢測優化路徑是否達到飽和狀態,當優化路徑達到飽和狀態時,啟動主機至存儲服務器的備用路徑以進行數據傳輸。由此可見,該方法能夠保證優化路徑正常傳輸數據的基礎上,增加備用路徑傳輸數據,總體上卻提高了整個系統的數據吞吐量。
作為一種優選的實施方式,在啟動主機至存儲服務器的備用路徑之前還包括:
檢測備用路徑是否處于正常工作狀態;如果是,則啟動備用路徑。
在上述實施例中,如果優化路徑處于飽和狀態,則啟動備用路徑,因此,備用路徑的運行狀態就非常重要。在啟動備用路徑之前,需要檢測備用路徑是否處于正常工作狀態,只有在備用路徑正常工作狀態時,才能啟動備用路徑。
作為一種優選的實施方式,還包括:當啟動備用路徑時,輸出提示信息。
為了能夠及時提醒用戶當前的數據傳輸方式,當啟動備用路徑時,同時也輸出提示信息。
可以理解的是,該提示信息的內容可以包括備用路徑的名稱以及傳輸速率等信息。
作為一種優選的實施方式,還包括:
當啟動備用路徑后,檢測優化路徑是否仍然處于飽和狀態,如果是則繼續啟動備用路徑,否則,停止啟動備用路徑。
在具體實施中,數據傳輸量隨著時間的推移有可能會變化,例如,一段時間內,優化路徑處于飽和狀態,但是過一段時間后,可能優化路徑就處于非飽和狀態。而優化路徑具有簡化數據傳輸控制的有點,因此,在啟動備用路徑后,還需要檢測優化路徑的狀態,如果優化路徑處于非飽和飽和狀態,則需要停止啟動備用路徑,使數據由優化路徑傳輸。
可以理解的是,本發明提到的檢測優化路徑是否仍然處于飽和狀態可以是實時檢測,也可以是周期性檢測。
圖3為本發明提供的一種多路徑數據傳輸的控制裝置的結構圖。如圖3所示,多路徑數據傳輸的控制裝置包括:
第一檢測單元10與主機連接,用于當主機訪問存儲服務器時,實時檢測主機至存儲服務器的優化路徑是否達到飽和狀態;
啟動單元11與第一檢測單元10連接,用于當優化路徑達到飽和狀態時,啟動主機至存儲服務器的備用路徑以進行數據傳輸。
需要說明的是,本發明的裝置是應用于ALUA模式下。在具體實施中,主機訪問存儲服務器有兩種操作,一種是讀操作,一種是寫操作。無論是讀操作還是寫操作都可以應用本發明提出的方法,但是為了保持緩存一致性,在具體使用過程中不對讀操作進行優化,因為頻繁的切換數據傳輸路徑,會對緩存的一致性有所影響,從而會影響讀的性能。換句話說,只在主機向存儲服務器進行寫操作時,應用上述方法,因此對于寫操作來說,無論路徑怎么切換,數據都是要寫入磁盤,所以不影響。
當主機訪問存儲服務器時,就需要進行數據傳輸,此時默認的傳輸路徑是優化路徑,備用路徑沒有處于使用狀態。因此,在數據傳輸開始時,首先實時檢測主機至存儲服務器的優化路徑是否達到飽和狀態。在具體實施中,主機訪問存儲服務器有很多種類型,不同的類型的數據傳輸量也是不同的。例如,在一種訪問操作中,對應的數據傳輸量不會造成優化路徑達到飽和狀態,即數據傳輸量較小;那么只需要使用優化路徑傳輸即可,無需啟動備用路徑傳輸;在另一種訪問操作中,對應的數據傳輸量較大,會造成優化路徑達到飽和狀態,即數據傳輸量較大;那么只使用優化路徑傳輸會造成傳輸過慢,因此需要啟動備用路徑傳輸。
第一檢測單元10可以通過優化路徑的工作狀態和IO操作這兩個參數來確定是否達到飽和狀態。
可以理解的是,優化路徑和備用路徑都是事先設定好的,本發明不再贅述。
本實施例提供的多路徑數據傳輸的控制裝置,通過主機訪問存儲服務器時,實時檢測優化路徑是否達到飽和狀態,當優化路徑達到飽和狀態時,啟動主機至存儲服務器的備用路徑以進行數據傳輸。由此可見,該裝置能夠保證優化路徑正常傳輸數據的基礎上,增加備用路徑傳輸數據,總體上提高了整個系統的數據吞吐量。
作為一種優選的實施方式,還包括:
第二檢測單元,用于檢測備用路徑是否處于正常工作狀態;如果是,則觸發啟動單元11。
作為一種優選的實施方式,還包括:輸出單元與啟動單元11連接,用于當啟動備用路徑時,輸出提示信息。
作為一種優選的實施方式,第一檢測單元10還用于當啟動備用路徑后,檢測優化路徑是否仍然處于飽和狀態,如果是則繼續觸發啟動單元,否則,停止觸發啟動單元。
由于裝置部分的實施例與方法部分的實施例相互對應,因此裝置部分的實施例請參見方法部分的實施例的描述,這里暫不贅述。
以上對本發明所提供的多路徑數據傳輸的控制方法及裝置進行了詳細介紹。說明書中各個實施例采用遞進的方式描述,每個實施例重點說明的都是與其他實施例的不同之處,各個實施例之間相同相似部分互相參見即可。對于實施例公開的裝置而言,由于其與實施例公開的方法相對應,所以描述的比較簡單,相關之處參見方法部分說明即可。應當指出,對于本技術領域的普通技術人員來說,在不脫離本發明原理的前提下,還可以對本發明進行若干改進和修飾,這些改進和修飾也落入本發明權利要求的保護范圍內。
專業人員還可以進一步意識到,結合本文中所公開的實施例描述的各示例的單元及算法步驟,能夠以電子硬件、計算機軟件或者二者的結合來實現,為了清楚地說明硬件和軟件的可互換性,在上述說明中已經按照功能一般性地描述了各示例的組成及步驟。這些功能究竟以硬件還是軟件方式來執行,取決于技術方案的特定應用和設計約束條件。專業技術人員可以對每個特定的應用來使用不同方法來實現所描述的功能,但是這種實現不應認為超出本發明的范圍。
結合本文中所公開的實施例描述的方法或算法的步驟可以直接用硬件、處理器執行的軟件模塊,或者二者的結合來實施。軟件模塊可以置于隨機存儲器(RAM)、內存、只讀存儲器(ROM)、電可編程ROM、電可擦除可編程ROM、寄存器、硬盤、可移動磁盤、CD-ROM、或技術領域內所公知的任意其它形式的存儲介質中。