欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種用于網(wǎng)絡存儲的協(xié)議及其系統(tǒng)的制作方法

文檔序號:7974638閱讀:263來源:國知局
專利名稱:一種用于網(wǎng)絡存儲的協(xié)議及其系統(tǒng)的制作方法
技術領域
本發(fā)明屬于計算機信息存儲技術領域,具體涉及一種用于網(wǎng)絡存儲的協(xié)議及其系統(tǒng)。
背景技術
隨著網(wǎng)絡的普及和現(xiàn)代信息數(shù)據(jù)量的激增,很多重要的計算機應用領域,特別是存儲密集型應用,對信息存儲系統(tǒng)的容量、帶寬、I/O響應時間、可擴展性等性能技術指標提出了更高的要求。為此,人們提出并實現(xiàn)了附網(wǎng)存儲系統(tǒng)(NAS)、存儲區(qū)域網(wǎng)(SAN)等各種網(wǎng)絡存儲體系結構,從存儲體系的角度提高了存儲系統(tǒng)的性能。
而組建一個網(wǎng)絡存儲系統(tǒng)的基礎——存儲協(xié)議,直接影響到了這個存儲系統(tǒng)的性能。當今有眾多存儲協(xié)議可以選擇,包括SCSI Serial協(xié)議,F(xiàn)ibre Channel協(xié)議以及iSCSI協(xié)議等。在當今工業(yè)界,F(xiàn)irbre Channel是構建高性能存儲區(qū)域網(wǎng)(SAN)的首要選擇,但其高昂的價格和部署復雜性卻并不適合于中低端用戶。另一方面,對于普及型網(wǎng)絡以太網(wǎng)而言,隨著近來千兆甚至萬兆等技術的發(fā)展,構建基于以太網(wǎng)的大型存儲系統(tǒng)顯得愈來愈誘人和可行。傳統(tǒng)構建以太網(wǎng)網(wǎng)絡存儲系統(tǒng)的方法,是使用基于TCP/IP的存儲協(xié)議,如iSCSI協(xié)議,將SCSI命令以及數(shù)據(jù)封裝進TCP/IP包進行傳輸而實現(xiàn)。雖然TCP/IP技術已經相當成熟,其流控制和擁塞控制等功能也為數(shù)據(jù)傳輸帶來了極大的便利,但在局域網(wǎng)環(huán)境下,當想獲得更高的傳輸性能時,TCP/IP協(xié)議的復雜性成為了絆腳石。
因此,有必要設計一種基于以太網(wǎng)的全新的存儲協(xié)議,充分利用以太網(wǎng)的廉價和普及優(yōu)勢,同時繞開復雜的TCP/IP協(xié)議,使構建在以太網(wǎng)上的存儲系統(tǒng)在保持價格優(yōu)勢的同時,具有更高的帶寬和更快的I/O響應速度。虛擬接口(VI)是用于集群系統(tǒng)的高帶寬低延遲通信機制,主要思想是給每個用戶進程提供一個受保護的、直接可訪問的虛擬接口,以節(jié)約傳統(tǒng)網(wǎng)絡模式中系統(tǒng)處理的開銷。每個虛擬接口代表一個通信端點,兩個虛擬接口可邏輯上連接起來實現(xiàn)點到點雙向數(shù)據(jù)傳輸。使用VI代替TCP/IP作為通信協(xié)議,可以獲得更高的吞吐率,并且保持低開銷,在此基礎上設計實現(xiàn)的新型存儲協(xié)議vSCSI能使存儲系統(tǒng)獲得更好的性能。

發(fā)明內容
本發(fā)明提供一種用于網(wǎng)絡存儲的協(xié)議及其系統(tǒng),目的在于克服現(xiàn)有網(wǎng)絡存儲協(xié)議在部署網(wǎng)絡存儲系統(tǒng)時價格和性能的不足,構造一種可滿足價格、帶寬、部署復雜性等需求的基于虛擬接口的網(wǎng)絡存儲協(xié)議,并減少服務器負載、提高I/O服務性能。
本發(fā)明的一種用于網(wǎng)絡存儲的協(xié)議,包括啟動器進程和目標器進程,(1)啟動器進程順序包括(1.1)啟動器初始化步驟,啟動器根據(jù)用戶指定模式選擇加載SCSI適配器驅動模塊或vSCSI API模塊,完成相關初始化;(1.2)啟動器發(fā)起登入步驟,啟動器調用連接管理模塊向用戶指定的一個或多個目標器發(fā)送認證信息,請求登入;(1.3)啟動器等待認證步驟,啟動器等待來自目標器的認證響應,若在時間閾值內等到認證響應,順序進行,否則轉入認證超時處理步驟;(1.4)VI連接通道建立步驟,啟動器和一個或多個目標器間建立一個或多個VI連接通道,注冊對應VI發(fā)送/接收緩沖區(qū)、關聯(lián)發(fā)送/接收描述符;(1.5)啟動器等待命令步驟,連接建立完畢后,啟動器等待接收來自系統(tǒng)或上層應用的SCSI命令,接收到命令,順序進行;(1.6)啟動器解析命令步驟,啟動器解析當前SCSI命令,根據(jù)用戶指定的數(shù)據(jù)分布規(guī)則或策略,以及當前SCSI命令的類型生成一個或多個vSCSI請求;若是SCSI讀命令,進行步驟(1.7),否則轉步驟(1.8);(1.7)啟動器讀命令預處理步驟,啟動器根據(jù)用戶指定的數(shù)據(jù)分布規(guī)則或策略中使用到的一個或多個目標器,根據(jù)步驟(1.6)中生成的各vSCSI讀請求中數(shù)據(jù)量大小,對各目標器對應的VI接收緩沖區(qū)執(zhí)行PostRecv操作,準備好各VI接收隊列,順序進行;(1.8)啟動器發(fā)送請求步驟,啟動器將步驟(1.6)生成的針對目標器的一個或多個vSCSI請求并發(fā)執(zhí)行PostSend操作,向目標器發(fā)送vSCSI請求;若發(fā)送的是寫請求,進行步驟(1.9),否則轉步驟(1.10);(1.9)啟動器寫命令預處理步驟,啟動器按照使用的規(guī)則或策略對SCSI命令request_buffer中待寫數(shù)據(jù)進行運算定位,確定待寫數(shù)據(jù)與各目標器的對應關系,然后按照用戶指定的數(shù)據(jù)加密級別對以上確定的各目標器對應數(shù)據(jù)分別進行加密運算處理,最后將加密處理后的數(shù)據(jù)并行拷貝到各自對應的VI發(fā)送緩沖區(qū)隊列,等待發(fā)送,順序進行;(1.10)啟動器等待響應步驟,啟動器等待來自目標器的響應,接收到響應,則根據(jù)不同的響應類型,進入不同處理例程讀命令的響應進入步驟(1.11),寫命令的響應進入步驟(1.12),狀態(tài)查詢類命令的響應進入步驟(1.13);若在時間閾值內未接收到響應,則轉入響應超時處理步驟;(1.11)啟動器讀命令處理步驟,啟動器接收來自一個或多個目標器的數(shù)據(jù),并按照用戶指定的數(shù)據(jù)加密級別對各VI接收緩沖區(qū)中數(shù)據(jù)進行解密運算處理,然后按照使用的規(guī)則或策略對SCSI命令request_buffer中待回填空間進行運算定位,確定來自各目標器的數(shù)據(jù)與其對應關系,最后將解密處理后的數(shù)據(jù)拷貝到以上計算出的SCSI命令的request_buffer對應位置中;回填完畢,轉步驟(1.14);(1.12)啟動器寫命令處理步驟,啟動器接收到來自一個或多個目標器的響應,對各待寫數(shù)據(jù)隊列并發(fā)執(zhí)行PostSend操作,將待寫數(shù)據(jù)發(fā)送到對應的目標器;數(shù)據(jù)發(fā)送完畢,轉步驟(1.14);(1.13)啟動器狀態(tài)查詢類命令處理步驟,啟動器接收到對應一個或多個目標器的一個或多個vSCSI狀態(tài)查詢響應,提取并向系統(tǒng)或上層應用返回SCSI響應信息;反饋完畢,轉步驟(1.14);(1.14)啟動器請求處理完畢步驟,啟動器執(zhí)行完畢當前SCSI命令,轉步驟(1.5),等待執(zhí)行下一個SCSI命令。
(2)目標器進程順序包括(2.1)目標器初始化步驟,目標器啟動設備服務線程初始化,初始化完畢后連接管理模塊;(2.2)目標器等待登入步驟,目標器等待接收來自啟動器的登入認證請求;(2.3)目標器接收登入步驟,目標器接收到登入請求,對其進行身份驗證,非法登入請求轉入非法處理步驟,通過驗證的合法請求接受其登入,向啟動器發(fā)送認證響應;(2.4)目標器等待命令步驟,目標器等待接收來自啟動器的vSCSI命令;(2.5)目標器解析命令步驟,目標器接收到vSCSI命令,對其進行解析,根據(jù)當前vSCSI命令類型的不同,進行不同處理vSCSI讀命令轉步驟(2.6),寫命令轉步驟(2.7),狀態(tài)查詢類命令轉步驟(2.10);(2.6)目標器讀命令處理步驟,目標器在讀寫增速模塊控制下,將數(shù)據(jù)從物理存儲設備或Cache拷貝到VI發(fā)送緩沖區(qū)隊列,并對其執(zhí)行PostSend操作,將數(shù)據(jù)發(fā)送至啟動器;數(shù)據(jù)全部發(fā)送完畢,轉步驟(2.11);(2.7)目標器寫命令預處理步驟,目標器根據(jù)請求大小執(zhí)行PostRecv操作,準備好VI接收隊列,生成并調用PostSend操作向啟動器發(fā)出ready(寫準備好)響應,順序進行;(2.8)目標器等待數(shù)據(jù)步驟,目標器等待來自啟動器的數(shù)據(jù),若在時間閾值內接收到數(shù)據(jù),順序進行;否則轉入接收超時處理步驟,(2.9)目標器寫命令處理步驟,目標器接收來自啟動器的數(shù)據(jù),在讀寫增速模塊控制下,將數(shù)據(jù)從VI接收緩沖區(qū)直接寫到物理存儲設備或Cache;數(shù)據(jù)全部接收完畢,轉步驟(2.11);(2.10)目標器狀態(tài)查詢類命令處理步驟,目標器提取vSCSI命令中封裝的SCSI查詢命令,按照SCSI協(xié)議規(guī)范執(zhí)行查詢操作,并將查詢所得的反饋信息封裝進vSCSI查詢響應中,調用PostSend操作發(fā)送至啟動器;查詢響應發(fā)送完畢,轉步驟(2.11);(2.11)目標器請求處理完畢步驟,目標器將當前vSCSI命令成功執(zhí)行完畢,轉入步驟(2.4),等待執(zhí)行下一個vSCSI命令;所述的一種用于網(wǎng)絡存儲的協(xié)議,其特征在于(1)所述認證超時處理步驟,負責向系統(tǒng)或上層應用返回錯誤狀態(tài),并終止啟動器進程;(2)所述響應超時處理步驟,負責向系統(tǒng)或上層應用報告當前SCSI命令執(zhí)行出錯,并終止當前SCSI命令的執(zhí)行,轉入啟動器等待命令步驟,等待執(zhí)行下一個SCSI命令;(3)所述接收超時處理步驟,負責向啟動器報告當前vSCSI命令執(zhí)行出錯,并終止當前vSCSI命令的執(zhí)行,轉入目標器等待命令步驟,等待執(zhí)行下一個vSCSI命令;(4)所述非法處理步驟,負責對該非法登入的拒絕,并轉入目標器等待登入步驟,繼續(xù)等待下一個啟動器登入。
用于本發(fā)明所述的網(wǎng)絡存儲協(xié)議的一種系統(tǒng),包括一個啟動器和N個目標器,啟動器通過VI網(wǎng)絡接口、VI連接通道連入網(wǎng)絡;目標器通過VI網(wǎng)絡接口、VI連接通道連入網(wǎng)絡;啟動器和目標器間通過一個或多個VI連接通道傳輸數(shù)據(jù),N為自然數(shù);(1)啟動器中包括SCSI適配器驅動模塊、vSCSI API模塊、連接管理模塊、命令處理模塊和數(shù)據(jù)加解密模塊;(1.1)SCSI適配器驅動模塊向操作系統(tǒng)注冊一個或多個虛擬SCSI磁盤設備,接收來自操作系統(tǒng)SCSI中間層的標準SCSI命令并返回執(zhí)行狀態(tài),向用戶空間提供傳統(tǒng)磁盤設備并接受訪問;(1.2)vSCSI API模塊向上層開發(fā)人員提供直接調用接口,繞過操作系統(tǒng)SCSI分層體系直接接收上層命令并返回執(zhí)行狀態(tài);(1.3)啟動器中的連接管理模塊向一個或多個目標器發(fā)起一個或多個VI連接認證請求,完成建立連接、參數(shù)協(xié)商、內存注冊等初始化工作和友好登出工作,在VI連接意外斷開的情況下重新建立連接,并將服務轉移到新的VI連接;(1.4)命令處理模塊負責將從SCSI適配器驅動模塊或vSCSI API模塊接收的命令轉換成vSCSI命令,調用PostSend執(zhí)行VI發(fā)送緩沖區(qū)隊列中數(shù)據(jù)的投遞工作,調用PostRecv執(zhí)行VI接收緩沖區(qū)的準備工作,發(fā)送及接收vSCSI命令,并生成相應命令或狀態(tài),返回上層SCSI適配器驅動模塊或vSCSI API模塊;(1.5)數(shù)據(jù)加解密模塊負責對待傳輸數(shù)據(jù)的加密處理和對已接收數(shù)據(jù)的解密處理;寫請求時,根據(jù)加解密級別對數(shù)據(jù)進行加密運算后從系統(tǒng)緩沖區(qū)拷貝到VI注冊緩沖區(qū);讀請求時,對數(shù)據(jù)進行解密運算后從VI注冊緩沖區(qū)拷貝到系統(tǒng)緩沖區(qū);(2)目標器中包括設備管理模塊、連接管理模塊、請求處理模塊和讀寫增速模塊;(2.1)設備管理模塊負責建立設備服務線程,收集物理存儲設備信息,完成本地設備服務狀態(tài)與控制數(shù)據(jù)的初始化,與設備進行實時信息交互;(2.2)目標器中的連接管理模塊監(jiān)聽校驗來自啟動器節(jié)點的連接認證請求,與合法啟動器建立起一個或多個VI連接,完成參數(shù)協(xié)商、內存注冊等初始化工作;(2.3)請求處理模塊負責接收并處理啟動器發(fā)送的vSCSI請求,包括讀寫請求、設備狀態(tài)查詢請求等,根據(jù)到達請求的種類啟動相應處理進程,其中讀寫請求與物理存儲設備的數(shù)據(jù)交互將由讀寫增速模塊進行控制;(2.4)讀寫增速模塊控制讀寫請求處理過程中VI注冊緩沖區(qū)中數(shù)據(jù)是讀自或寫到Cache還是物理存儲設備,以及處理Cache中數(shù)據(jù)與物理存儲設備中數(shù)據(jù)的一致性問題。
所述的系統(tǒng),其特征在于,所述運行vSCSI的啟動器和目標器均配備了支持VI傳輸?shù)木W(wǎng)絡適配器;所述VI網(wǎng)絡適配器至少提供可靠發(fā)送或可靠接收兩種可靠性級別中的一種;所述啟動器和目標器均能運行于同一或分布于不同計算機主機節(jié)點之中;所述啟動器所在節(jié)點中虛擬SCSI設備與操作系統(tǒng)間,以及vSCSI API均采用SCSI接口;所述目標器所在節(jié)點中的物理存儲設備為采用SCSI、FC、IDE或SATA接口的磁盤驅動器或磁盤陣列;所述網(wǎng)絡為以太介質的局域網(wǎng)。
上文中,本發(fā)明的網(wǎng)絡存儲協(xié)議vSCSI,全稱是VI-attached SCSI,其中VI指虛擬接口,SCSI指小型計算機系統(tǒng)接口;vSCSI向上層應用提供的應用程序編程接口vSCSI API;虛擬接口(VI)向上層應用提供的可調用函數(shù)PostRecv,實現(xiàn)準備VI接收緩沖區(qū)的功能;虛擬接口(VI)向上層應用提供的可調用函數(shù)PostSend,實現(xiàn)投遞VI發(fā)送緩沖區(qū)中數(shù)據(jù)的功能;Cache是一片內存緩沖區(qū),用于緩存物理存儲設備上的數(shù)據(jù);request_buffer是SCSI命令結構中用于存放待讀寫數(shù)據(jù)的區(qū)域。
本發(fā)明利用VI取代傳統(tǒng)TCP/IP協(xié)議作為構建存儲協(xié)議的通信基礎,縮短了網(wǎng)絡存儲數(shù)據(jù)的關鍵路徑,提高了物理網(wǎng)絡帶寬的利用率和網(wǎng)絡I/O的響應速度,有效的解決了網(wǎng)絡帶寬、存儲訪問速度、互操作性等主要的網(wǎng)絡存儲問題。
具體而言,本發(fā)明具有以下優(yōu)點1.利用VI高帶寬、低延遲特性,獲得比傳統(tǒng)基于TCP/IP的存儲協(xié)議更高的傳輸性能;實測數(shù)據(jù)表明,同等條件下vSCSI比iSCSI(intel實現(xiàn)版本)順序寫性能提高達115%,順序讀性能提高達35%。
2.利用VI多級別的可靠性傳輸,將傳輸可靠性保證這一重要功能下移到VI內部實現(xiàn),從而大大避免了上層存儲協(xié)議在實現(xiàn)存儲可靠性時的復雜性,減少存儲協(xié)議開銷,提高存儲協(xié)議效率。
3.利用VI在數(shù)據(jù)傳輸行為上的表現(xiàn)特征,實現(xiàn)數(shù)據(jù)存儲過程中無損傳輸性能的數(shù)據(jù)加密;反之亦可實現(xiàn)無損傳輸性能的數(shù)據(jù)解密。即數(shù)據(jù)包投遞(執(zhí)行PostSend操作)給VI所需耗費的時間與VI連續(xù)傳輸數(shù)據(jù)量成階躍函數(shù),當連續(xù)量超過第二個臨界值后投遞時間將穩(wěn)定在一個相對較高值,利用上一個數(shù)據(jù)包的投遞時間對下一個數(shù)據(jù)包進行加密即可;反之亦可同理實現(xiàn)解密。
4.協(xié)議內部支持啟動器與多個目標器建立多個VI連接,這些VI連接具有高度并行性,除了可以實現(xiàn)并行存取操作外,還可以實現(xiàn)數(shù)據(jù)的并行網(wǎng)絡傳輸,保證了存儲協(xié)議的高效率和高性能。
5.協(xié)議內部支持多目標器環(huán)境下多種數(shù)據(jù)分布規(guī)則(rules)或策略(policy),實現(xiàn)諸如目標器間負載平衡、數(shù)據(jù)備份等功能。
6.本發(fā)明能夠靈活地針對不同類型地應用環(huán)境和要求,提供多種存儲服務標準SCSI設備服務、API調用服務。


圖1為本發(fā)明的系統(tǒng)組成結構示意圖;圖2為本發(fā)明啟動器和目標器中的模塊及其關系示意圖;圖3為本發(fā)明協(xié)議的示意圖。
具體實施例方式
圖1為本發(fā)明的系統(tǒng)組成結構示意圖。本發(fā)明包括一個啟動器100和n個目標器200.1、200.2、…、200.n,它們通過VI通信網(wǎng)絡300互連,n為自然數(shù)。啟動器100通過VI網(wǎng)絡接口121.1~121.m(m為自然數(shù))連入網(wǎng)絡300,目標器200.1、200.2、…、200.n分別通過各自的VI網(wǎng)絡接口221.1、221.2、…、221.n連入網(wǎng)絡300。啟動器100通過m個VI網(wǎng)絡接口121.1~121.m建立起k(k為自然數(shù))個VI連接通道120.1~120.k,目標器200.1、200.2、…、200.n分別通過各自的VI網(wǎng)絡接口221.1、221.2、…、221.n建立總共k個VI連接通道220.1~220.k;其中,啟動器100的VI連接通道120.1~120.k1與目標器200.1的VI連接通道220.1~220.k1建立起k1個VI連接,負責啟動器100與目標器200.1之間的請求響應和數(shù)據(jù)傳輸;啟動器100的VI連接通道120.k1+1~120.k2與目標器200.2的VI連接通道220.k1+1~220.k2建立起k2-k1個VI連接,負責啟動器100與目標器200.2之間的請求響應和數(shù)據(jù)傳輸;以此類推,啟動器100的VI連接通道120.kn-1+1~120.k與目標器200.2的VI連接通道220.kn-1+1~220.k建立起k-kn-1個VI連接,負責啟動器100與目標器200.2之間的請求響應和數(shù)據(jù)傳輸;啟動器100中k的大小不受限于m的大小,但k≥m,使用m個VI網(wǎng)絡接口可以增加啟動器接入網(wǎng)絡的物理帶寬,但不影響邏輯實現(xiàn),目標器亦同理。
圖2表示了本發(fā)明啟動器和目標器中的模塊以及模塊間的關系圖。SCSI適配器驅動模塊150、vSCSI API模塊160、連接管理模塊110、命令處理模塊130和數(shù)據(jù)加解密模塊140運行于啟動器100中。SCSI適配器驅動模塊150對內與命令處理模塊130交互,對外與啟動器所在節(jié)點主機操作系統(tǒng)(SCSI中間層)交互;vSCSI API模塊160對內與命令處理模塊130交互,對外與啟動器所在節(jié)點主機中運行的第三方程序交互;SCSI適配器驅動模塊150和vSCSI API模塊160是兩個并行功能模塊,為外界使用本發(fā)明提供程序接口,一般情況下對同一啟動器在同一時刻只使用其中一個模塊與外界交互。
設備管理模塊250、連接管理模塊210、請求處理模塊230和讀寫增速模塊240運行于目標器200中。設備管理模塊250對內與請求處理模塊230交互,對外與目標器所在節(jié)點主機中掛載的物理存儲設備交互;讀寫增速模塊240對內與請求處理模塊230以及連接管理模塊210交互,對外與目標器所在節(jié)點主機中掛載的物理存儲設備交互;設備管理模塊250與物理存儲設備主要進行狀態(tài)查詢等控制信息的交互,而讀寫增速模塊240與物理存儲設備主要進行數(shù)據(jù)存取操作。
圖3為本發(fā)明的協(xié)議的示意圖,主要表示安全登入和三大類命令(查詢、讀、寫)的處理過程。
權利要求
1.一種用于網(wǎng)絡存儲的協(xié)議,包括啟動器進程和目標器進程,(1)啟動器進程順序包括(1.1)啟動器初始化步驟,啟動器根據(jù)用戶指定模式選擇加載SCSI適配器驅動模塊或vSCSI API模塊,完成相關初始化;(1.2)啟動器發(fā)起登入步驟,啟動器調用連接管理模塊向用戶指定的一個或多個目標器發(fā)送認證信息,請求登入;(1.3)啟動器等待認證步驟,啟動器等待來自目標器的認證響應,若在時間閾值內等到認證響應,順序進行,否則轉入認證超時處理步驟;(1.4)VI連接通道建立步驟,啟動器和一個或多個目標器間建立一個或多個VI連接通道,注冊對應VI發(fā)送/接收緩沖區(qū)、關聯(lián)發(fā)送/接收描述符;(1.5)啟動器等待命令步驟,連接建立完畢后,啟動器等待接收來自系統(tǒng)或上層應用的SCSI命令,接收到命令,順序進行;(1.6)啟動器解析命令步驟,啟動器解析當前SCSI命令,根據(jù)用戶指定的數(shù)據(jù)分布規(guī)則或策略,以及當前SCSI命令的類型生成一個或多個vSCSI請求;若是SCSI讀命令,進行步驟(1.7),否則轉步驟(1.8);(1.7)啟動器讀命令預處理步驟,啟動器根據(jù)用戶指定的數(shù)據(jù)分布規(guī)則或策略中使用到的一個或多個目標器,根據(jù)步驟(1.6)中生成的各vSCSI讀請求中數(shù)據(jù)量大小,對各目標器對應的VI接收緩沖區(qū)執(zhí)行PostRecv操作,準備好各VI接收隊列,順序進行;(1.8)啟動器發(fā)送請求步驟,啟動器將步驟(1.6)生成的針對目標器的一個或多個vSCSI請求并發(fā)執(zhí)行PostSend操作,向目標器發(fā)送vSCSI請求;若發(fā)送的是寫請求,進行步驟(1.9),否則轉步驟(1.10);(1.9)啟動器寫命令預處理步驟,啟動器按照使用的規(guī)則或策略對SCSI命令request_buffer中待寫數(shù)據(jù)進行運算定位,確定待寫數(shù)據(jù)與各目標器的對應關系,然后按照用戶指定的數(shù)據(jù)加密級別對以上確定的各目標器對應數(shù)據(jù)分別進行加密運算處理,最后將加密處理后的數(shù)據(jù)并行拷貝到各自對應的VI發(fā)送緩沖區(qū)隊列,等待發(fā)送,順序進行;(1.10)啟動器等待響應步驟,啟動器等待來自目標器的響應,接收到響應,則根據(jù)不同的響應類型,進入不同處理例程讀命令的響應進入步驟(1.11),寫命令的響應進入步驟(1.12),狀態(tài)查詢類命令的響應進入步驟(1.13);若在時間閾值內未接收到響應,則轉入響應超時處理步驟;(1.11)啟動器讀命令處理步驟,啟動器接收來自一個或多個目標器的數(shù)據(jù),并按照用戶指定的數(shù)據(jù)加密級別對各VI接收緩沖區(qū)中數(shù)據(jù)進行解密運算處理,然后按照使用的規(guī)則或策略對SCSI命令request_buffer中待回填空間進行運算定位,確定來自各目標器的數(shù)據(jù)與其對應關系,最后將解密處理后的數(shù)據(jù)拷貝到以上計算出的SCSI命令的request_buffer對應位置中;回填完畢,轉步驟(1.14);(1.12)啟動器寫命令處理步驟,啟動器接收到來自一個或多個目標器的響應,對各待寫數(shù)據(jù)隊列并發(fā)執(zhí)行PostSend操作,將待寫數(shù)據(jù)發(fā)送到對應的目標器;數(shù)據(jù)發(fā)送完畢,轉步驟(1.14);(1.13)啟動器狀態(tài)查詢類命令處理步驟,啟動器接收到對應一個或多個目標器的一個或多個vSCSI狀態(tài)查詢響應,提取并向系統(tǒng)或上層應用返回SCSI響應信息;反饋完畢,轉步驟(1.14);(1.14)啟動器請求處理完畢步驟,啟動器執(zhí)行完畢當前SCSI命令,轉步驟(1.5),等待執(zhí)行下一個SCSI命令。(2)目標器進程順序包括(2.1)目標器初始化步驟,目標器啟動設備服務線程初始化,初始化完畢后連接管理模塊;(2.2)目標器等待登入步驟,目標器等待接收來自啟動器的登入認證請求;(2.3)目標器接收登入步驟,目標器接收到登入請求,對其進行身份驗證,非法登入請求轉入非法處理步驟,通過驗證的合法請求接受其登入,向啟動器發(fā)送認證響應;(2.4)目標器等待命令步驟,目標器等待接收來自啟動器的vSCSI命令;(2.5)目標器解析命令步驟,目標器接收到vSCSI命令,對其進行解析,根據(jù)當前vSCSI命令類型的不同,進行不同處理vSCSI讀命令轉步驟(2.6),寫命令轉步驟(2.7),狀態(tài)查詢類命令轉步驟(2.10);(2.6)目標器讀命令處理步驟,目標器在讀寫增速模塊控制下,將數(shù)據(jù)從物理存儲設備或Cache拷貝到VI發(fā)送緩沖區(qū)隊列,并對其執(zhí)行PostSend操作,將數(shù)據(jù)發(fā)送至啟動器;數(shù)據(jù)全部發(fā)送完畢,轉步驟(2.11);(2.7)目標器寫命令預處理步驟,目標器根據(jù)請求大小執(zhí)行PostRecv操作,準備好VI接收隊列,生成并調用PostSend操作向啟動器發(fā)出ready(寫準備好)響應,順序進行;(2.8)目標器等待數(shù)據(jù)步驟,目標器等待來自啟動器的數(shù)據(jù),若在時間閾值內接收到數(shù)據(jù),順序進行;否則轉入接收超時處理步驟,(2.9)目標器寫命令處理步驟,目標器接收來自啟動器的數(shù)據(jù),在讀寫增速模塊控制下,將數(shù)據(jù)從VI接收緩沖區(qū)直接寫到物理存儲設備或Cache;數(shù)據(jù)全部接收完畢,轉步驟(2.11);(2.10)目標器狀態(tài)查詢類命令處理步驟,目標器提取vSCSI命令中封裝的SCSI查詢命令,按照SCSI協(xié)議規(guī)范執(zhí)行查詢操作,并將查詢所得的反饋信息封裝進vSCSI查詢響應中,調用PostSend操作發(fā)送至啟動器;查詢響應發(fā)送完畢,轉步驟(2.11);(2.11)目標器請求處理完畢步驟,目標器將當前vSCSI命令成功執(zhí)行完畢,轉入步驟(2.4),等待執(zhí)行下一個vSCSI命令;
2.如權利要求1所述的一種用于網(wǎng)絡存儲的協(xié)議,其特征在于(1)所述認證超時處理步驟,負責向系統(tǒng)或上層應用返回錯誤狀態(tài),并終止啟動器進程;(2)所述響應超時處理步驟,負責向系統(tǒng)或上層應用報告當前SCSI命令執(zhí)行出錯,并終止當前SCSI命令的執(zhí)行,轉入啟動器等待命令步驟,等待執(zhí)行下一個SCSI命令;(3)所述接收超時處理步驟,負責向啟動器報告當前vSCSI命令執(zhí)行出錯,并終止當前vSCSI命令的執(zhí)行,轉入目標器等待命令步驟,等待執(zhí)行下一個vSCSI命令;(4)所述非法處理步驟,負責對該非法登入的拒絕,并轉入目標器等待登入步驟,繼續(xù)等待下一個啟動器登入。
3.一種用于權利要求1或2所述的網(wǎng)絡存儲協(xié)議的系統(tǒng),包括一個啟動器和N個目標器,啟動器通過VI網(wǎng)絡接口、VI連接通道連入網(wǎng)絡;目標器通過VI網(wǎng)絡接口、VI連接通道連入網(wǎng)絡;啟動器和目標器間通過一個或多個VI連接通道傳輸數(shù)據(jù),N為自然數(shù);(1)啟動器中包括SCSI適配器驅動模塊、vSCSI API模塊、連接管理模塊、命令處理模塊和數(shù)據(jù)加解密模塊;(1.1)SCSI適配器驅動模塊向操作系統(tǒng)注冊一個或多個虛擬SCSI磁盤設備,接收來自操作系統(tǒng)SCSI中間層的標準SCSI命令并返回執(zhí)行狀態(tài),向用戶空間提供傳統(tǒng)磁盤設備并接受訪問;(1.2)vSCSI API模塊向上層開發(fā)人員提供直接調用接口,繞過操作系統(tǒng)SCSI分層體系直接接收上層命令并返回執(zhí)行狀態(tài);(1.3)啟動器中的連接管理模塊向一個或多個目標器發(fā)起一個或多個VI連接認證請求,完成建立連接、參數(shù)協(xié)商、內存注冊等初始化工作和友好登出工作,在VI連接意外斷開的情況下重新建立連接,并將服務轉移到新的VI連接;(1.4)命令處理模塊負責將從SCSI適配器驅動模塊或vSCSI API模塊接收的命令轉換成vSCSI命令,調用PostSend執(zhí)行VI發(fā)送緩沖區(qū)隊列中數(shù)據(jù)的投遞工作,調用PostRecv執(zhí)行VI接收緩沖區(qū)的準備工作,發(fā)送及接收vSCSI命令,并生成相應命令或狀態(tài),返回上層SCSI適配器驅動模塊或vSCSI API模塊;(1.5)數(shù)據(jù)加解密模塊負責對待傳輸數(shù)據(jù)的加密處理和對已接收數(shù)據(jù)的解密處理;寫請求時,根據(jù)加解密級別對數(shù)據(jù)進行加密運算后從系統(tǒng)緩沖區(qū)拷貝到VI注冊緩沖區(qū);讀請求時,對數(shù)據(jù)進行解密運算后從VI注冊緩沖區(qū)拷貝到系統(tǒng)緩沖區(qū);(2)目標器中包括設備管理模塊、連接管理模塊、請求處理模塊和讀寫增速模塊;(2.1)設備管理模塊負責建立設備服務線程,收集物理存儲設備信息,完成本地設備服務狀態(tài)與控制數(shù)據(jù)的初始化,與設備進行實時信息交互;(2.2)目標器中的連接管理模塊監(jiān)聽校驗來自啟動器節(jié)點的連接認證請求,與合法啟動器建立起一個或多個VI連接,完成參數(shù)協(xié)商、內存注冊等初始化工作;(2.3)請求處理模塊負責接收并處理啟動器發(fā)送的vSCSI請求,包括讀寫請求、設備狀態(tài)查詢請求等,根據(jù)到達請求的種類啟動相應處理進程,其中讀寫請求與物理存儲設備的數(shù)據(jù)交互將由讀寫增速模塊進行控制;(2.4)讀寫增速模塊控制讀寫請求處理過程中VI注冊緩沖區(qū)中數(shù)據(jù)是讀自或寫到Cache還是物理存儲設備,以及處理Cache中數(shù)據(jù)與物理存儲設備中數(shù)據(jù)的一致性問題。
4.如權利要求3所述的系統(tǒng),其特征在于,所述運行vSCSI的啟動器和目標器均配備支持VI傳輸?shù)木W(wǎng)絡適配器;所述VI網(wǎng)絡適配器至少提供可靠發(fā)送或可靠接收兩種可靠性級別中的一種;所述啟動器和目標器均能運行于同一或分布于不同計算機主機節(jié)點之中;所述啟動器所在節(jié)點中虛擬SCSI設備與操作系統(tǒng)間,以及vSCSI API均采用SCSI接口;所述目標器所在節(jié)點中的物理存儲設備為采用SCSI、FC、IDE或SATA接口的磁盤驅動器或磁盤陣列;所述網(wǎng)絡為以太介質的局域網(wǎng)。
全文摘要
一種用于網(wǎng)絡存儲的協(xié)議及其系統(tǒng),屬于計算機信息存儲技術領域,目的在于克服現(xiàn)有網(wǎng)絡存儲協(xié)議的不足,構造一種可滿足價格、帶寬、部署復雜性等需求的網(wǎng)絡存儲協(xié)議,并減少服務器負載、提高I/O服務性能。本發(fā)明的協(xié)議以VI為基礎,包括啟動器進程和目標器進程;本發(fā)明的系統(tǒng),包括一個啟動器和N個目標器,啟動器、目標器通過VI網(wǎng)絡接口、VI連接通道連入網(wǎng)絡;啟動器和目標器間通過一個或多個VI連接通道傳輸數(shù)據(jù)。本發(fā)明利用VI取代傳統(tǒng)TCP/IP協(xié)議作為構建存儲協(xié)議的通信基礎,縮短了網(wǎng)絡存儲數(shù)據(jù)的關鍵路徑,提高了物理網(wǎng)絡帶寬的利用率和網(wǎng)絡I/O的響應速度,有效解決了網(wǎng)絡帶寬、存儲訪問速度、互操作性等網(wǎng)絡存儲問題。
文檔編號H04L29/08GK1997033SQ20061016658
公開日2007年7月11日 申請日期2006年12月28日 優(yōu)先權日2006年12月28日
發(fā)明者馮丹, 王芳, 葉俊, 施展, 周可, 龐麗萍 申請人:華中科技大學
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
东平县| 泰兴市| 洪洞县| 通城县| 芦山县| 大余县| 白城市| 罗田县| 宜昌市| 元江| 松滋市| 湘潭县| 海口市| 英吉沙县| 琼结县| 萍乡市| 石狮市| 宣武区| 扎囊县| 广宗县| 崇左市| 潞城市| 温泉县| 凤阳县| 墨玉县| 扬中市| 开化县| 汉寿县| 永新县| 启东市| 湄潭县| 富宁县| 司法| 涿鹿县| 枞阳县| 迁西县| 剑阁县| 斗六市| 嘉禾县| 潼南县| 米脂县|