(廈門海洋學院 信息技術系,福建 廈門 361000)
網絡發展越發成熟,數據信息的存儲也越來越重要[1]。因此,從數據安全方面考慮,多媒體網絡、電子商務等在線網絡服務領域,都離不開磁盤數據在線存儲系統的技術支持,測試數據存儲的完整性,可有效處理存儲性能缺陷。當前很多大型網絡企業和企業集團都紛紛構建自己的在線數據存儲中心、數據庫及存儲服務器,以保證數據服務的連續性。由此可見,數據在線存儲系統及存儲緩存是大數據及云計算的核心架構,能夠有效提高對在線用戶的服務體驗。目前,主流大型網絡的存儲緩存系統多基于磁盤陣列技術,組成部分包括控制器和存儲磁盤陣列,并基于RAID方式對冗余數據進行存儲[2]。控制元件自帶以太網數據接口,該種連接方式可以直接接收上位機的要求,控制磁盤陣列的存儲速度和存儲方式。計算機處理器的主頻逐年升高,數據處理能力不斷增強,要求磁盤的兼容度和數據讀寫速度與之相匹配。為實現這一目的中高端的磁盤控制裝置大都帶有較大的內存,造成了大量成本的浪費和閑置。ISCSI協議的啟用實現了局域網用于與互聯網的對接,是以太網的數據存儲與傳輸變得更為迅速和便捷。各大學者對數據存儲的完整性作出了相關研究。文獻[3]提出一種本地無數據的ISCSI磁盤數據保護機制,通過對本地數據的預處理減少存儲數據的響應時間,提高磁盤數據的讀寫效率,同時增加了自主保護機制,但由于未考慮存儲數據的丟幀情況,使得數據的完整性過差。文獻[4]提出了一種采用閃存的iSCSI存儲端融合緩存機制研究,能夠有效的完成將存儲數據動態存儲,有效減少內存的占用,但為考慮讀寫響應時間問題,會造成服務器處理時間過長,沒有效率。文獻[5]提出一種大數據存儲中數據完整性驗證結果的檢測算法研究,能夠在海量數據中提取有效信息,并對存儲數據進行智能提出,檢測獲取數據的完整性,但這種算法十分復雜,系統資金損耗過大,響應時間上優勢不明顯,故而效果不佳。為了解決存儲過程中經常會出現讀寫響應時間過長、數據丟幀等問題。提出了ISCSI磁盤數據雙控制器存儲完整性測試技術,能夠有效改善系統出現故障時的在線數據丟失現象。
ISCSI磁盤數據雙控制器存儲系統分為六大模塊,分別是為電源模塊,預警模塊,網絡接口模塊,控制模塊,數據采集模塊,動態存儲模塊。電源模塊為整個ISCSI磁盤數據雙控制存儲系統提供電量,預警模塊能夠在存儲控制系統內存量不足之前就發出警報,通過數據采集模塊進行數據采集,然后將采集到的數據經由控制中心進行預處理,對采集到的數據進行去噪,然后經由動態存儲模塊完成數據的周期性存儲,在控制中心模塊存在網絡接口,能夠獲得實時數據,保障數據的及時性,采集到的數據通過上述模塊的處理,然后通過預警模塊輸出,完成整個ISCSI磁盤數據雙控控制存儲系統對數據的動態存儲。其存儲系統的結構如圖1所示。
圖1 ISCSI磁盤數據雙控制器存儲系統結果圖
其中,動態存儲模塊主要為網絡用戶提供在線的存儲服務,內部功能單元包含接收接口命令、程序功能設定及工具配置參數設定。系統用戶層模塊接收的在線存儲命令為上位機的ISCSI指令,該模塊還負責對指令的解析、傳遞、發送及接收等,動態存儲模塊將處理完的數據返回給中心控制模塊。雙控制器存儲系統中心控制模塊是基于ISCSI控制器的核心模塊,在功能性方面中心控制模塊統籌全局,實現對現有網絡資源的協調與優化配置,加快用戶的訪問速度,中心控制模塊還加速了系統資源共享的速率,快速、高效實現對ISCSI磁盤數據的交互與存儲。在市場商業化的趨勢下,基于ISCSI協議雙控制器存儲系統緩存,還可以實現對網絡產品的良性封裝,滿足不同類型客戶的差異化需求[6]。
基于ISCSI協議設計的雙控制器存儲系統中心控制模塊,遵循層次化的設計理念每一個具體的組成部分都具有獨立的功能,各個部分之間也存在緊密的聯系,中心控制模塊中具體包括網絡單元組成部分、命令解析功能、異常問題處理、緩存處理、緩存數據讀寫、同步及寫回等具體的功能。雙控制器存儲系統中心控制模塊設計的優勢在于,采用了嵌入式的緩存結構與系統軟件的功能性實現統一[7-8],基于Windows系統實現對塊數據、流數據及其他文件的梳理和管控。ISCSI磁盤數據讀寫環境下,雙控系統緩存縮短了I/O的執行路徑,在文件系統與應用路徑之間搭建了一個橋梁,釋放出軟件操作系統的功能。系統緩存數據處理模式有助釋放硬件的多線程性能,降低數據存儲中丟失的風險,還能夠抵御惡意數據的網絡攻擊。
雙控制器動態存儲設計對于軟硬件冗余的處理,使用了兩個配置相同的控制元件,可以連續不斷地提供持續服務。如果一個控制部分發生故障時,備用元件可以持續提供服務,避免客戶讀寫數據的丟失。在數的更新與交換時,兩個控制器同時進行,以保證原始數據采集的同步性和一致性,兩個部分也可以同時實現對冗余數據的刪減與備份。ISCSI協議中也包括了IP協議,以太網數據同步協議等,以實現系統功能的完整性[9]。
為提高整體緩存設計的命中率,雙控制器存儲系統的內存需要預留出更大的空間,在上位機系統啟動時可以確保系統資源的連續分配,而不會受到其他模塊占用資源的影響,緩存的獨立空間設計組織結構,如圖2所示。
圖2 ISCSI磁盤數據雙控制存儲緩存空間組織結構
圖2中的陰影部分為獨立的緩存結構,其中一部分用于數據的保存,另一部分為磁盤序列提供足夠的數據空間。緩存模塊的工作流程按照windows系統的要求,保證數據存儲中的整數倍[10]。系統緩存中包括海量的數據存儲塊,為了便于數據的管理與控制,將這些塊狀數據納入總體的結構當中,并通過ISCSI磁盤數據讀寫協議隨時進行數據的交互與存儲。數據體中包含了大量的結構信息,可以判斷出是否存在臟數據、磁盤的邏輯性是否合理。基于ISCSI協議下雙控制器存儲系統的框架結構設定緩存控制系統的完整性測試總體流程和算法實現流程成,為網絡客戶提供快速、穩定的數據存儲和數據交互[11-12]。
設計一個具有穩定功能性的雙控制器存儲系統測試模塊,可以穩定提高系統的工作效率。首先,對系統參數進行設定,然后系統初始化,通過獲取采集模塊識別出用戶的網絡需求,獲取數據信息,緩存中的內容會被迅速地壓縮傳遞到主機系統,不需要往復地進行數據庫存儲,以減少資源的占用和系統耗時。ISCSI磁盤數據交互路徑下,降低了數據交互與傳輸的成本,這時從雙控制器存儲系統中采集的用戶數據,成功率和準確率都較高;如果請求的數據系統數據庫緩存中不存在,那么應用程序的識別與對接中就需要在額外拷貝一份數據之后,在釋放系統緩存。ISCSI雙控制器存儲系統緩存控制流程,如圖3所示。
圖3 雙控制器存儲系統完整性測試流程圖
雙控制器存儲系統完整性測試模塊中,不但需要檢查采集到的數據是否為冗余數據,進行去噪處理,還需要檢測系統緩存是否足夠,同時擁有數據處理與恢復的能力,當系統緩存與數據配置文件存在不一致的情形時,應選擇在ISCSI網絡磁盤中自動清除該數據,并可以依據用戶的要求進行恢復或徹底刪除。當MIS網絡系統關閉時,雙控制器存儲系統緩存中的數據對象,會被上位機系統做序列化處理。當網絡系統重新啟動或被強制啟動時,網絡化的存儲功能就可以降低來自與系統內存的壓力,將一些不變的數據對象直接上傳的網絡系統,供客戶直接的篩選和使用。而另一部關鍵數據就會暫時地停留在系統緩存之中,用于臨時的數據提取與交互。ISCSI協議在此過程中,可以為客戶和主機系統提供較為廉價的數據云存儲服務,實現本地以太網與因特網的實時對接,在網絡的功能性和安全性方面也可以滿足用戶的要求。但一些Java虛擬機可能會存儲與同一臺主機或同一個局域網絡,ISCSI磁盤數據保證了數據之間的共享性,雙控制器存儲系統緩存模塊基于Java語言實現,在與系統、用戶之間的兼容性和適配性方面更具有優勢。
在具體的ISCSI磁盤數據雙控制器存儲系統完整性測試算法方面,考慮到總體業務流程中都具有自相似的特點,系統緩存的這一特征可能會引起數據動態分配方式的改變,雙控制器存儲系統緩存預留了足夠的資源和數據存儲空間,緩存大小變化具有動態性和智能性的特點,從很大程度上節省了網絡用戶和上位機系統數據提取時間,及資源占用的空間。同時也使緩存的變化過程調整為一個動態變化的過程,具有良好的彈性和延展性,與ISCSI協議下磁盤數據的讀寫過程相一致,提高了網絡資源的利用率和流媒體資源的共享特性。網絡用戶在數據提取與資源使用中,會遇到一些突發性的狀況進行大量占用系統的緩存資源,雙控制器存儲系統完整性測試設計從一定程度上提高了系統的穩定性,即使過多的用戶使用網絡資源而造成信道的擁塞,雙控制器存儲系統完整性測試也可以保證系統的穩定性和數據讀寫的流暢性,保證數據完整且不會丟失。
在完整性測試算法設計方面,本文在ISCSI磁盤數據讀寫環境下,設計的雙控制器存儲系統完整性測試算法采用了一種更為靈活的方式,可以在各種不同的情況下降低數據傳輸中的丟幀率。在網絡客戶系統的接收端,存在大量的緩存數據資源,基于塊數據的方式進行存儲行為的緩沖,并在緩沖區設定了安全閾值,保留了足夠的緩存空間。在對ISCSI磁盤數據緩存控制時,需要分別對緩存隊列的長度和數據達到時間進行估算,并通過對數據緩存資源的配置與釋放達到控制數據傳輸針對和縮短數據存儲相應時間的目的。如果設雙控制器存儲系統中緩存數據隊列長度為d1,這種緩存狀態會決定數據上溢的程度:
d1=t[v(t+1)-Fmax]+n
(1)
其中:t為數據采集模塊采樣的間隔時間、v網絡數據流到達緩存的速度、Fmax為緩存數據的最大溢出量、n緩存最大的容忍幀數。如果設定緩存區中數據長度的安全閾值為d2,如果d1 圖4 雙控制器存儲動態緩存示意圖 ISCSI磁盤數據緩存控制業務數據在網絡傳輸和交互中呈現出自相似模式,要分別對緩存區和非緩存區數據的隊列的到達速度進行準確估計,基于冪率滑動平均算法估算的數據緩存速度v可以表示為: (2) 其中:參數β是與自相關系數ξ相關的變量,如果β不斷增大,表明數據緩存的速度增加;如果參數β不斷縮小,則證明數據緩存的速率不斷地降低。測試完整性的過程中,如果兩者的比例關系為3:2時,為最優狀態:此時公式(2)可以轉化為: (3) 由此完成了ISCSI磁盤雙控制器存儲系統的完整性測試,確保數據存儲的高響應時間以及高精度。 ISCSI磁盤雙控制器存儲系統緩存模塊的測試仿真在windows10環境下運行,存儲器的詳細配置參數如下:處理器Intel Core i7、RAM16G、Windows ISCSI發起程序。為保證系統緩存的服務性能,將產生的虛擬用戶訪問量,在另外一臺獨立的計算機上運行和監控。首先使用Lasdrunner中的VUG錄制系統腳本并構建虛擬網絡用戶。 對緩存的運行場景設置,要與用戶的網絡使用習慣向匹配,采用特定時間段相繼登錄的模式,虛擬用戶使用量的設定為120。在相同的測試環境下采用相同測試工具對比了所提應用完整性測試技術的存儲系統與傳統基于預留資源的ISCSI磁盤數據雙控制器存儲系統在響應時間和丟幀率方面的表現。 對于網絡用戶而言,系統存儲的響應速度具有決定性的意義,本文從數據讀寫響應時間研究上述兩種不同存儲控制設計的性能表現,進行了十組仿真實驗,采用的實驗數據如圖5所示。 圖5 系統存儲讀寫響應速度 由圖5分析可知,傳統方法的響應時間明顯高于本文存儲系統,同時本文存儲系統響應時間一直很穩定,沒有常出現傳統系統。由此可以看出,加入完整性測試的所提系統提高了整體的讀寫效率,降低了系統采樣時間。 磁盤數據傳輸和使用中,用戶關注的另一個重點問題是數據的丟幀率,這也是保證用戶流暢使用存儲功能的前提條件之一。因此本文比較存儲設計與傳統設計在數據丟幀率方面的對比結果,總體的變化趨勢如圖6所示。 圖6 兩種控制系統設計的丟幀率對比 由于數據突發而占用了系統中的一部分內存,進而導致數據丟幀率增加,而文中的雙控存儲控制設計能夠起到有效的緩解作用。傳統單控控制算法在數據長度和速度控制上不具備優勢,增加了用戶數據的丟幀現象,如圖6所示,在相同的ISCSI磁盤數據讀寫時間點,文中算法的丟幀率0.05%之內;而反觀傳統控制設計,最高的丟幀率出現在1.0s時間點,數據丟幀率達到了0.20%。由于網絡持續突發中,對于隊列的長度和數據的讀寫速度都會有很高的要求,如果存儲系統的性能無法滿足具體的要求,就會出現較大的丟幀率。實驗結果表明,所提控制系統在加入了完整性測試技術后,系統響應時間和數據丟幀率控制方面都具有一定優勢,得到了更好的控制結果。 為改善當前測試ISCSI磁盤數據雙控制器存儲時存在的響應速度慢、測試誤差較大等缺陷,在磁盤數據雙控制器系統設計中,加入了完整性測試技術,確保數據存儲的準確性。本文設計了整體的ISCSI磁盤數據雙控制器存儲完整性測試系統框架,提出磁盤數據雙控存儲系統具體控制算法。實驗數據結果表明,所提控制算法存儲系統響應時間降低,能夠有效測試數據存儲完整性,并降低存儲系統數據的整體丟幀率。3 實驗結果與分析
3.1 測試環境搭建
3.2 系統存儲的響應時間
3.3 丟幀率對比
4 結束語