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