云計算伴隨著信息化技術及互聯網應用的不斷發展而衍生出來的計算策略,其延伸到互聯網應用的各個領域,能夠對通訊設備進行實時數據通信和交互式計算的全新數據應用形式[1-2]。云計算模型可以分為傳輸層、計算層以及展示層三個基本層次[3],其整個計算過程承載了海量數據的處理和存儲,因此,存儲模型的良好性能是其良好運行的保障。
分布式存儲系統作為目前應用較為廣泛的存儲系統,其在云計算方面具有良好的適用性,分布式存儲系統的核心是將服務器資源通過互聯網進行連接通信,在外界看來,其作為一個計算存儲整體提供數據服務。通過研究發現,分布式存儲系統具有以下若干特征:
1)可擴展性。分布式存儲系統的服務器數量可以是幾百臺,甚至上千臺,隨著服務器數量的增加,分布式存儲器的性能也呈線性增加[4]。
2)成本低。分布式存儲系統甚至可以通過普通PC機互聯互通實現,經濟成本較低,同時,其具備自動容錯和負載均衡等特點,隨著服務的提升,線性擴展設備也較為方便,能夠是需要一定程度的自動運維,維護成本也較低[5]。
3)性能優越。分布式存儲系統的計算機集群和服務器集群能夠提供的計算能力極強,具備較強的存儲和技術性能[6]。
4)易用性。對于分布式存儲系統而言,其能夠針對不同的數據應用,向外界提供數據接口,同時,分布式存儲系統必須具備完善的監控服務和運維工具,十分便于其與外界系統和應用的集成[7]。
本文提出的云計算數據優化存儲模型即在分布式系統的基礎上完成的。
1 云計算數據優化存儲系統設計
1.1 哈希數據分布設計
云計算系統時刻產生海量傳感器采集的用戶信息,而且各種數據分布不集中,當數據量較大時,通過采用兩種方式對數據進行拆分,一是手動拆分的方式,即通過管理員在線下對數據量大的用戶進行標記確認,根據數據量的規模將數據拆分到不同的數據庫集群中。另一種是自動拆分方式,即通過數據分布算法實現大用戶數據流的自動拆分,將拆分后的數據平均分解到若干服務器中[8]。本文設計的數據優化存儲系統采用自動拆分的方式,數據分布算法采用哈希數據分布策略。
本文采用的哈希數據分布策略是在一致性哈希算法(Dis?tributed Hash Table,DHT)的基礎上實現的。一致性哈希算法的核心思想描述為:隨機為系統的每個節點分配一個token,隨機分配token形成哈希環。當對數據進行存儲時,首先計算主鍵Key的哈希值,然后按照順時針方向將數據存放到第一個等于或者大于該哈希值的token屬于的節點中。一致性哈希算法的優勢在于當對哈希環的節點執行添加或者刪除操作時,不會對該節點的鄰節點產生影響。
將哈希空間設置為0∼2n,則一致性哈希算法的執行流程可以描述為如下步驟:
Step1:為每個服務器節點計算屬于其自身的hash值,然后將哈希值分布到0∼2n范圍內的哈希環區間內;
Step2:采用相同的方式計算出待存儲數據對象的主鍵節點的哈希值,也將其分布到哈希圓環內;
Step3:按照順時針方向從數據映射的位置開始搜索,將數據放置在第一個找到的哈希節點中。
為了方便服務器位置的查詢,需要維護服務器在哈希環中的位置信息,本文采用的位置獲取方法的計算復雜度為O(log N)。
將哈希空間設置為0∼2n(即N=2n),以Chord系統為參考對象,為了提升查詢的效率,本系統在每臺服務器中產生一個長度為n的路由表,描述如下。
其中,p表示服務器位于哈希環中的唯一ID,路由表中的第i個數據描述了ID為p+2i-1的后繼節點。
1.2 分布式協議設計
Paxos協議用于解決多個節點之間的一致性問題。多個節點之間通過操作日志同步數據,如果只有一個節點為主節點,那么,很容易確保多個節點之間操作日志的一致性。考慮到主節點可能出現故障,系統需要選舉出新的主節點。Paxos協議正是用來實現這個需求。只要保證了多個節點之間操作日志的一致性,就能夠在這些節點上構建高可用的全局服務,例如分布式鎖服務,全局命名和配置服務等。
大多數情況下,系統只有一個proposer,他的提議也總是會很快地被大多數節點接受。Paxos協議執行步驟如下:
Step1:批準(accept)過程,Proposer向所有節點發送accept消息,其他所有節點作為接受者(acceptor),接受者可以選擇接受或者選擇拒絕。
Step2:確認(acknowledge)過程,當接受的acceptor數量超過1/2時,則表示提議值可以生效,Proposer向所有的接受者發送acknowledge消息,提醒該提議已經生效。
當網絡發生異常時,存儲系統中可能會同時出現多個不同的Proposer,因此會產生多個不同的提議。提議的內容可以是修改請求,也可以是將自身提升為主節點的請求。一旦Propos?er第一次發起的accept請求沒有被多數的接受者所批準,或者與其他請求產生沖突,則必須完整地執行完成Paxos協議的整個流程。
Paxos協議需要考慮兩個問題:正確性,即只有一個提議值會生效;可終止性,即最后總會有一個提議值生效。Paxos協議中要求每個生效的提議被acceptor中的多數派接受,并且每個acceptor不會接受多個不同的提議,故而能夠確保其準確性。
2 仿真實現及分析
為了驗證本文設計的云計算數據優化存儲系統模型應用效果,作者在OPNET Modeler仿真軟件中進行仿真驗證,OPNETModeler提供了完整的通信協議、存儲器模型以及連接線路。
在OPNETModeler中構建的測試場景中,配置兩臺服務器節點,每臺服務器分別于5個數據庫存儲單元相連接,所有的數據通訊均通過有限連接完成,對數據庫的操作主要包含數據讀出和數據寫入兩種類型。讀操作即按照規定的時間將數據從數據庫中讀出,寫入操作即數據存儲過程,數據讀出和數據存儲的速率設定為10M/ms,且按照一致性哈希分布算法檢索出目標數據庫,仿真時長設定為20分鐘,然后對每臺數據庫的容量進行分析對比,查看其分布是否均勻。
測試結果表明,在本實驗中的10臺數據庫存儲單元的存儲容量基本維持平衡,且分布較為均勻,基本維持在135255M左右。因此,可以說明本文設計的云計算數據優化存儲模型具有良好的公平性和一致性,能夠將數據壓力均勻地分布到多個數據集群中去。
作者同時對吞吐量和響應延時做了統計,統計結果表明,數據讀寫的平均吞吐量及響應延時與傳統的順序存儲系統相比,性能有了較大的提升,仿真結果如圖1所示。本文設計的云計算數據優化存儲模型由于引入了哈希分布的概念,使得數據存儲的吞吐量增加了13.1%,平均響應延時減少了10.8%。性能分析可能會很復雜,因為不同情況下系統的瓶頸點不同,有的時候是網絡,有的時候是磁盤,有的時候甚至是機房的交換機或者CPU,另外,負載均衡以及其他因素的干擾也會使得性能更加難以量化。
圖1 云計算數據優化存儲模型性能比較
3 結論
通過分析云計算的數據處理特點,作者提出了基于哈希分布的云計算數據優化存儲系統模型。此模型根據云計算的海量數據的分布特性,以一致性哈希分布算法原理為基礎,在充分考慮負載均衡的前提下,完成了基于Paxos協議的系統分布式協議設計。通過在OPNETModeler仿真軟件中構建測試場景,對云計算數據優化存儲系統模型進行測試驗證及分析。測試結果表明,本文設計的云計算數據優化存儲模型相對于順序存儲系統模型在數據吞吐量方面增加了13.1%,響應延時方面減少了10.8%。總體而言,本文設計的云計算數據優化存儲系統具備可行性。
核心關注:拓步ERP系統平臺是覆蓋了眾多的業務領域、行業應用,蘊涵了豐富的ERP管理思想,集成了ERP軟件業務管理理念,功能涉及供應鏈、成本、制造、CRM、HR等眾多業務領域的管理,全面涵蓋了企業關注ERP管理系統的核心領域,是眾多中小企業信息化建設首選的ERP管理軟件信賴品牌。
轉載請注明出處:拓步ERP資訊網http://www.guhuozai8.cn/
本文標題:云計算數據優化存儲系統設計
本文網址:http://www.guhuozai8.cn/html/consultation/10839720715.html