梁婉瑩 朱佳 馬曉東 湯庸 梁熙龍 陳善軒
摘 要:為了改善原有碎片分配方案僅以節(jié)點(diǎn)響應(yīng)效率為主而對節(jié)點(diǎn)分配次數(shù)、節(jié)點(diǎn)空間利用率、安全性能欠缺考慮的現(xiàn)狀,提出分布式文件存儲(chǔ)系統(tǒng)的碎片分配優(yōu)化模型。優(yōu)化模型由節(jié)點(diǎn)響應(yīng)狀況檢測、大范圍節(jié)點(diǎn)數(shù)據(jù)完整性審計(jì)和包含剩余存儲(chǔ)空間大小、最近存儲(chǔ)碎片時(shí)間戳以及響應(yīng)時(shí)間長短的綜合評估3方面構(gòu)成。對其進(jìn)行仿真實(shí)驗(yàn),對比原有方案,優(yōu)化方案沒有出現(xiàn)節(jié)點(diǎn)傾斜現(xiàn)象,選取次數(shù)最大落差不超過95;節(jié)點(diǎn)效率得到了均衡,最大落差縮減至15%。優(yōu)化方案提高了碎片分配的公平性、安全性和可靠性,實(shí)現(xiàn)了最優(yōu)節(jié)點(diǎn)的自動(dòng)化選擇。
關(guān)鍵詞:區(qū)塊鏈;文件存儲(chǔ);碎片分配;數(shù)據(jù)完整性審計(jì);聲譽(yù)評估
DOI: 10. 11907/rjdk.192543
開放科學(xué)(資源服務(wù))標(biāo)識(shí)碼(OSID):
中圖分類號:TP399
文獻(xiàn)標(biāo)識(shí)碼:A
文章編號:1672-7800(2020)001-0216-05
0 引言
隨著現(xiàn)代計(jì)算機(jī)科學(xué)的發(fā)展,人們每天使用各種應(yīng)用所產(chǎn)生的數(shù)據(jù)不斷增加。互聯(lián)網(wǎng)數(shù)據(jù)中心( Internet D ataC enter,IDC)報(bào)告指出,2020年全球數(shù)據(jù)總量將達(dá)到440億TB,并以極快的速度持續(xù)增長[1]。在此背景下,數(shù)據(jù)存儲(chǔ)成本逐步提升,數(shù)據(jù)安全性也得不到有效保障。
為了更好地應(yīng)對海量數(shù)據(jù)及文件存儲(chǔ)問題,人們提出了分布式存儲(chǔ)概念[2]。分布式存儲(chǔ)系統(tǒng)可將數(shù)據(jù)分散存儲(chǔ)在多臺(tái)獨(dú)立的設(shè)備上。它基于標(biāo)準(zhǔn)硬件和分布式架構(gòu),可進(jìn)行EB級擴(kuò)展,利用多臺(tái)服務(wù)器減輕單獨(dú)存儲(chǔ)負(fù)荷。如今,區(qū)塊鏈作為一種分布式數(shù)據(jù)結(jié)構(gòu),在文件存儲(chǔ)領(lǐng)域發(fā)展最為成熟[3]。在學(xué)術(shù)嘗試中,AFS( Andrew File System)[4]較為成功且仍在使用;在商業(yè)嘗試中,部分分布式存儲(chǔ)系統(tǒng)依靠區(qū)塊鏈作為底層技術(shù),搭建P2P[5]節(jié)點(diǎn)網(wǎng)絡(luò),將已上傳的文件加密并根據(jù)文件分片規(guī)則切分成碎片,依靠bit-Torrent比特流文件分發(fā)協(xié)議[6]、Kademlia分布式哈希表DHT( Disturbed Hash Table)[7]等規(guī)則,將碎片協(xié)調(diào)和分配到其它對等點(diǎn)上,以應(yīng)對超大數(shù)量的文件存儲(chǔ)需求。
原有的分布式文件存儲(chǔ)系統(tǒng)以響應(yīng)效率為主,可能導(dǎo)致不同碎片均存儲(chǔ)或大部分存儲(chǔ)在同一個(gè)節(jié)點(diǎn)內(nèi),信息極易被竊取,且用戶享用的存儲(chǔ)效率不一致;對空間分配問題考慮欠缺,利用率未達(dá)最優(yōu)化;存儲(chǔ)節(jié)點(diǎn)的信用度模糊,降低了安全性能。
為解決原有碎片分配模型問題,本文在已有分布式文件存儲(chǔ)系統(tǒng)基礎(chǔ)上提出優(yōu)化模型。模型包含響應(yīng)狀況檢測、節(jié)點(diǎn)數(shù)據(jù)審計(jì)和綜合評估3方面,對存儲(chǔ)節(jié)點(diǎn)進(jìn)行綜合測評,自動(dòng)化選擇最適合的節(jié)點(diǎn)對碎片進(jìn)行存儲(chǔ)。本文貢獻(xiàn)如下:①在節(jié)點(diǎn)綜合評估之前添加數(shù)據(jù)完整性審計(jì),確保存儲(chǔ)范圍內(nèi)節(jié)點(diǎn)的高信用度,優(yōu)化模型在保證節(jié)點(diǎn)響應(yīng)效率的同時(shí),降低了數(shù)據(jù)被篡改的幾率;②在綜合評估中添加節(jié)點(diǎn)剩余存儲(chǔ)空間大小標(biāo)準(zhǔn),以最壞分配算法提升了存儲(chǔ)空間利用率,降低了碎片空間出現(xiàn)幾率;③在綜合評估中添加最近存儲(chǔ)碎片時(shí)間戳,降低了碎片分配過分傾斜的可能性,使節(jié)點(diǎn)獲得存儲(chǔ)資格幾率相對均等。
1 區(qū)塊鏈綜述
區(qū)塊鏈最早于2008年在比特幣創(chuàng)始人中本聰( Sa-toshi Nakamoto)[8]著作《比特幣:一種點(diǎn)對點(diǎn)式的電子現(xiàn)金系統(tǒng)》一文中以加密貨幣底層技術(shù)的身份面世。它實(shí)際上是一個(gè)由多方共同維護(hù)、去中心化的分布式數(shù)據(jù)庫,通過P2P網(wǎng)絡(luò)協(xié)議、非對稱加密[9]、共識(shí)機(jī)制等解決了交易雙方往來的信任問題。區(qū)塊鏈以鏈?zhǔn)綌?shù)據(jù)結(jié)構(gòu)為基礎(chǔ),區(qū)塊為單位,根據(jù)時(shí)間順序?qū)y帶信息的新區(qū)塊插入到鏈的末尾。每個(gè)區(qū)塊包含哈希值、時(shí)間戳、隨機(jī)數(shù)、Merkle根等。
區(qū)塊鏈系統(tǒng)有6層結(jié)構(gòu),分別是數(shù)據(jù)層、網(wǎng)絡(luò)層、共識(shí)層、激勵(lì)層、合約層和應(yīng)用層。數(shù)據(jù)層封裝相關(guān)數(shù)據(jù)加密技術(shù)(如SHA-1[10]、RSA[11])以及底層數(shù)據(jù)區(qū)塊;網(wǎng)絡(luò)層包含分布式組網(wǎng)機(jī)制、數(shù)據(jù)傳播機(jī)制等;共識(shí)層主要包含各種共識(shí)算法[12];激勵(lì)層將經(jīng)濟(jì)學(xué)知識(shí)融合到體系之中,包括發(fā)行和分配機(jī)制;合約層包含各類腳本或智能合約;應(yīng)用層是面對實(shí)際的各種案例和應(yīng)用場景[13]。
區(qū)塊鏈有3種模型,包括公有鏈、私有鏈以及聯(lián)盟鏈。公有鏈?zhǔn)侵笩o用戶授權(quán)機(jī)制、全網(wǎng)公開的區(qū)塊鏈,任意節(jié)點(diǎn)均可查看完整的區(qū)塊數(shù)據(jù);私有鏈?zhǔn)侵讣杏谝患覚C(jī)構(gòu)的網(wǎng)絡(luò)節(jié)點(diǎn);聯(lián)盟鏈?zhǔn)侵冈试S經(jīng)過授權(quán)的節(jié)點(diǎn)加入網(wǎng)絡(luò),可根據(jù)權(quán)限查看信息,常用于公司或機(jī)構(gòu)的區(qū)塊鏈。公有鏈稱為非許可鏈,聯(lián)盟鏈和私有鏈統(tǒng)稱為許可鏈[14]。
2 預(yù)備知識(shí)
2.1 分布式哈希表技術(shù)
分布式哈希表技術(shù)(Distributed Hash Table,簡稱DHT)是一種分布式存儲(chǔ)方法。它將鍵( kev)分散在不同節(jié)點(diǎn)上,并紀(jì)錄相應(yīng)的查找方法。DHT不需要服務(wù)器,每個(gè)節(jié)點(diǎn)只需與其它部分節(jié)點(diǎn)相連,存儲(chǔ)一部分?jǐn)?shù)據(jù)和路由信息,從而實(shí)現(xiàn)系統(tǒng)的尋址和存儲(chǔ)功能。它被廣泛應(yīng)用于協(xié)調(diào)和維護(hù)元數(shù)據(jù)。分布式哈希表技術(shù)有Kademlia、Coral、S/Kademlia[15]等。
3.2 文件分片
文件分片是指將現(xiàn)有大文件分成一定大小的碎片,分別存放于P2P網(wǎng)絡(luò)的不同節(jié)點(diǎn)中,以達(dá)到更高效更安全的存儲(chǔ)效果[16]。當(dāng)節(jié)點(diǎn)失效時(shí),系統(tǒng)將利用數(shù)據(jù)冗余,即復(fù)制信息到多個(gè)節(jié)點(diǎn)的方法以提高數(shù)據(jù)訪問效率,增強(qiáng)容錯(cuò)性[17]。
3.3 數(shù)據(jù)完整性審計(jì)
為了保證碎片不被篡改,在節(jié)點(diǎn)對碎片進(jìn)行存儲(chǔ)的過程中,系統(tǒng)會(huì)對節(jié)點(diǎn)上的碎片進(jìn)行數(shù)據(jù)完整性審計(jì)。數(shù)據(jù)完整性審計(jì)是指對已存儲(chǔ)的信息進(jìn)行核對和驗(yàn)證,包括碎片內(nèi)容、簽名信息等。現(xiàn)有的數(shù)據(jù)完整性審計(jì)模型分別是基于Jules等[18]提出的數(shù)據(jù)可恢復(fù)性證明(Proofs Of Re-trievability,POR)模型和Atenises等[19]提出的數(shù)據(jù)持有性證明( Provable Data Possession,PDP)模型。
3 問題描述
本文以Storj v3[20]為基礎(chǔ),對其系統(tǒng)內(nèi)部由工作身份證明、數(shù)據(jù)完整性審計(jì)系統(tǒng)、篩選以及偏好這4個(gè)子系統(tǒng)所組成的聲譽(yù)評估體系進(jìn)行修補(bǔ)改進(jìn)。
原有系統(tǒng)碎片分配流程如圖1所示。用戶節(jié)點(diǎn)puse,∈G在本地加密所需存儲(chǔ)文件,并將其上傳。上傳成功后,系統(tǒng)根據(jù)文件分片規(guī)則將文件切分為碎片,并使用Kademlia DHT對碎片進(jìn)行分配。系統(tǒng)會(huì)對兩個(gè)節(jié)點(diǎn)pi、pj的160bit唯- ID值進(jìn)行二進(jìn)制異或運(yùn)算(XOR),運(yùn)算結(jié)果作為判斷節(jié)點(diǎn)之間距離d i,j的標(biāo)準(zhǔn),以此找出距離用戶節(jié)點(diǎn)puse,最近的45個(gè)節(jié)點(diǎn)K={p1,p2,…,p45)并對其進(jìn)行聲譽(yù)評估。
系統(tǒng)原有聲譽(yù)評估體系如下:Bridge要求附近的45個(gè)節(jié)點(diǎn)pn∈K均出示工作證明,并對額外少量未經(jīng)審核的節(jié)點(diǎn)進(jìn)行數(shù)據(jù)完整性審計(jì)。上述兩項(xiàng)評估有其中一項(xiàng)無法通過的節(jié)點(diǎn)則被淘汰,剩余節(jié)點(diǎn)p?!蔏i將接受綜合評估。綜合評估包括節(jié)點(diǎn)響應(yīng)時(shí)間(吞吐量和延遲)、地理位置等。而后,剩余節(jié)點(diǎn)pn∈K1將按照聲譽(yù)評估標(biāo)準(zhǔn)(Reputa-tion)的分?jǐn)?shù)高低進(jìn)行排序,聲譽(yù)最高的節(jié)點(diǎn)將獲得碎片存放資格。
在上述方案中,可能出現(xiàn)如下問題:
(1)碎片多次存儲(chǔ)在同一個(gè)節(jié)點(diǎn)中,易出現(xiàn)信息泄露。來自同一文件的不同碎片均存儲(chǔ)或大部分存儲(chǔ)在同一個(gè)節(jié)點(diǎn)內(nèi),信息極易被節(jié)點(diǎn)擁有者所竊取,安全性能大大降低。此外,它還將導(dǎo)致各用戶節(jié)點(diǎn)存儲(chǔ)速率體驗(yàn)感不一致,落差較大。
(2)存儲(chǔ)范圍內(nèi)節(jié)點(diǎn)空間利用率未達(dá)最優(yōu)化。存儲(chǔ)節(jié)點(diǎn)空間大小均由節(jié)點(diǎn)所有者決定,故并不一致。若使用原有方案進(jìn)行碎片分配,可能導(dǎo)致節(jié)點(diǎn)最后剩余的空閑分區(qū)總和較大,造成資源浪費(fèi)。這些不連續(xù)的空余分區(qū),無法滿足對新碎片的存儲(chǔ)需要,使得存儲(chǔ)空間利用率無法達(dá)到最優(yōu)。
(3)節(jié)點(diǎn)分配和數(shù)據(jù)審計(jì)分開工作,對節(jié)點(diǎn)的信用評價(jià)缺失。原有模型中的審計(jì)僅針對少量節(jié)點(diǎn)而并非全部。若節(jié)點(diǎn)在存儲(chǔ)過程中(下一次審計(jì)之前)破壞或篡改了碎片,系統(tǒng)仍舊可能會(huì)因?yàn)槠錁O高的響應(yīng)速率,大幾率地將碎片分配至該節(jié)點(diǎn)。方案保證了存儲(chǔ)效率和應(yīng)答速度,卻喪失了碎片存儲(chǔ)安全保障。
4 碎片分配優(yōu)化模型
為提升其安全性、公平性及統(tǒng)一性,本文提出區(qū)塊鏈文件存儲(chǔ)系統(tǒng)碎片分配優(yōu)化模型。優(yōu)化模型包括前期工作和3項(xiàng)評估工作,流程如圖2所示。
碎片分配優(yōu)化模型前期工作包括用戶上傳加密文件并分片、尋找用戶節(jié)點(diǎn)附近的45個(gè)存儲(chǔ)節(jié)點(diǎn)兩項(xiàng)。由于前期工作與原有方案相同,在此不加以闡述。在前期工作完成后,系統(tǒng)將會(huì)對存儲(chǔ)范圍節(jié)點(diǎn)pn∈K進(jìn)行以下3部分的檢測和評估,包括:響應(yīng)狀況檢測、節(jié)點(diǎn)數(shù)據(jù)審計(jì)以及由節(jié)點(diǎn)剩余存儲(chǔ)空間大小、最近存儲(chǔ)碎片時(shí)間戳比較、響應(yīng)時(shí)間長短3方面構(gòu)成的綜合評估。
4.1 響應(yīng)請求
在用戶上傳文件與文件分片等前期工作完成后,系統(tǒng)將對存儲(chǔ)范圍K={p1,p2,…,p45)內(nèi)的45個(gè)節(jié)點(diǎn)發(fā)送響應(yīng)回復(fù)請求,對節(jié)點(diǎn)的響應(yīng)狀態(tài)進(jìn)行檢查并紀(jì)錄每個(gè)節(jié)點(diǎn)的響應(yīng)時(shí)間長短用以進(jìn)行后續(xù)綜合評估。其中,節(jié)點(diǎn)響應(yīng)時(shí)間,即節(jié)點(diǎn)響應(yīng)1 000個(gè)此類請求所花費(fèi)時(shí)間的平均值。響應(yīng)狀態(tài)正常且響應(yīng)時(shí)間小于9 000ms的節(jié)點(diǎn)則保留,其余節(jié)點(diǎn)淘汰。響應(yīng)檢測后節(jié)點(diǎn)數(shù)目必定小于或等于響應(yīng)檢測前的節(jié)點(diǎn)數(shù)目,故通過響應(yīng)檢測的節(jié)點(diǎn)集為pn∈K1,K1( K。
4.2 數(shù)據(jù)完整性審計(jì)
在響應(yīng)檢測后,系統(tǒng)將進(jìn)行針對大范圍節(jié)點(diǎn)的數(shù)據(jù)完整性審計(jì),以確保每個(gè)存儲(chǔ)節(jié)點(diǎn)的信用度。系統(tǒng)對通過響應(yīng)請求的節(jié)點(diǎn)pn∈K1進(jìn)行數(shù)據(jù)完整性審計(jì)。審計(jì)結(jié)果包括正常和異常兩種情況。審計(jì)正常,即隨機(jī)抽取一段密文對其添加后綴,二次加密后得出的新密文之間無錯(cuò)漏。這類正常節(jié)點(diǎn)pn∈K2將進(jìn)入下一部分的節(jié)點(diǎn)質(zhì)量綜合評估。審計(jì)異常包括審計(jì)不響應(yīng)和審計(jì)錯(cuò)誤兩種情況,不響應(yīng)審計(jì)的節(jié)點(diǎn)將被放置在容器( Containment)中,其后續(xù)只能對當(dāng)前審計(jì)作出響應(yīng),直到審計(jì)通過或被取消存儲(chǔ)資格;審計(jì)錯(cuò)誤的節(jié)點(diǎn)則將直接取消本次存儲(chǔ)資格,不參與后續(xù)綜合評估。
4.3 綜合評估
在數(shù)據(jù)審計(jì)后,系統(tǒng)將對剩余節(jié)點(diǎn)pn∈K2進(jìn)行綜合評估。綜合評估包含節(jié)點(diǎn)剩余存儲(chǔ)空間大小、最近存儲(chǔ)碎片時(shí)間戳比較、響應(yīng)時(shí)間長短3項(xiàng)標(biāo)準(zhǔn),評估中3項(xiàng)標(biāo)準(zhǔn)權(quán)重依次為1:1:1,評估得分最高者將獲得存儲(chǔ)資格。
(1)節(jié)點(diǎn)剩余存儲(chǔ)空間大小。優(yōu)化模型將使用最壞適應(yīng)分配算法(Worst Fit)。最壞適應(yīng)分配方法總是挑選一個(gè)最大的空閑區(qū)分割給碎片進(jìn)行存儲(chǔ),這樣可使剩下的空閑分區(qū)不至于太小,產(chǎn)生碎片的幾率最小。評分標(biāo)準(zhǔn):對參與綜合評價(jià)的節(jié)點(diǎn)pn∈K2進(jìn)行存儲(chǔ)空間從大到小的排序,剩余節(jié)點(diǎn)中存儲(chǔ)空間最大的節(jié)點(diǎn)評價(jià)分?jǐn)?shù)為cardK2,中間節(jié)點(diǎn)依次降低,直至剩余存儲(chǔ)空間最小的節(jié)點(diǎn)評價(jià)分?jǐn)?shù)為1。
(2)最近存儲(chǔ)碎片時(shí)間戳比較。系統(tǒng)將對每個(gè)節(jié)點(diǎn)添加時(shí)間戳( Timestamp)紀(jì)錄,保存該節(jié)點(diǎn)最近一次存儲(chǔ)碎片的時(shí)間戳,可使最長時(shí)間沒進(jìn)行碎片存儲(chǔ)的節(jié)點(diǎn)擁有優(yōu)先權(quán),令其不至于因?yàn)轫憫?yīng)速度稍慢而降低搶奪存儲(chǔ)資格的能力,使得碎片分配能夠公平平均,各節(jié)點(diǎn)進(jìn)行碎片存儲(chǔ)的機(jī)會(huì)保持相對公平均等。評分標(biāo)準(zhǔn):對參與綜合評價(jià)的節(jié)點(diǎn)pn∈K2進(jìn)行時(shí)間戳從小到大的排序,時(shí)間戳最小,即距離上一次進(jìn)行碎片存儲(chǔ)時(shí)間最長的節(jié)點(diǎn)評價(jià)分?jǐn)?shù)為cardK2,中間節(jié)點(diǎn)依次降低,時(shí)間戳最大,即距離上一次進(jìn)行碎片存儲(chǔ)時(shí)間最短的節(jié)點(diǎn)評價(jià)分?jǐn)?shù)為1。
(3)響應(yīng)時(shí)間長短。系統(tǒng)將對每個(gè)節(jié)點(diǎn)的響應(yīng)時(shí)間進(jìn)行紀(jì)錄,以確保碎片存儲(chǔ)的速度和效率,為用戶提供優(yōu)質(zhì)網(wǎng)絡(luò)環(huán)境。評分標(biāo)準(zhǔn):對參與綜合評價(jià)的節(jié)點(diǎn)p?!蔏2進(jìn)行響應(yīng)時(shí)間從短到長的排序,響應(yīng)時(shí)間長于9 000ms的節(jié)點(diǎn)可視為無效,將舍棄。響應(yīng)時(shí)間最小的節(jié)點(diǎn)評價(jià)分?jǐn)?shù)為cardK2,中間節(jié)點(diǎn)依次降低,響應(yīng)時(shí)間最長的節(jié)點(diǎn)評價(jià)分?jǐn)?shù)為1。
5 實(shí)驗(yàn)
本文對碎片分配優(yōu)化模型進(jìn)行了仿真實(shí)驗(yàn),實(shí)驗(yàn)算法均采用Java編程語言進(jìn)行程序編寫,實(shí)驗(yàn)環(huán)境為2.60CHzIntel( R) Core i5-3230M CPU, 8.OOCB RAM,硬盤890GB,操作系統(tǒng)為Windows 10家庭版。
本文對原有方案進(jìn)行如下實(shí)驗(yàn):新建節(jié)點(diǎn)類用模擬45個(gè)存儲(chǔ)范圍內(nèi)的非新加入網(wǎng)絡(luò)節(jié)點(diǎn),并為每個(gè)節(jié)點(diǎn)分配編號。其中,44個(gè)節(jié)點(diǎn)的響應(yīng)狀態(tài)(正常/異常)和響應(yīng)時(shí)間(ms)均隨機(jī)生成,其中一個(gè)節(jié)點(diǎn)情況交由人為調(diào)控,響應(yīng)狀態(tài)控制為正常,響應(yīng)時(shí)間維持在較快程度。本次實(shí)驗(yàn)人工節(jié)點(diǎn)編號為26。實(shí)驗(yàn)根據(jù)上述流程生成45個(gè)節(jié)點(diǎn)并置其于并行狀態(tài),而后按原有聲譽(yù)評估標(biāo)準(zhǔn)進(jìn)行1 000次最優(yōu)節(jié)點(diǎn)選擇。實(shí)驗(yàn)?zāi)J(rèn)在每一次選擇中節(jié)點(diǎn)狀態(tài)均在小范圍內(nèi)變化,可忽略不計(jì),故狀態(tài)不再重新生成。實(shí)驗(yàn)得出結(jié)果如表1所示。
同樣地,本文對優(yōu)化方案也進(jìn)行類似實(shí)驗(yàn)。為了作出更好對比,節(jié)點(diǎn)編號及其響應(yīng)時(shí)間不作更改,而最近一次存儲(chǔ)碎片時(shí)間戳(格林尼治時(shí)間)和存儲(chǔ)空間大小均由隨機(jī)數(shù)種子生成;人工節(jié)點(diǎn)的存儲(chǔ)空間維持在較大程度,時(shí)間戳隨機(jī)生成;人工節(jié)點(diǎn)編號仍為26。實(shí)驗(yàn)生成上述45個(gè)節(jié)點(diǎn)并置其于并行狀態(tài),而后按優(yōu)化方案進(jìn)行1 000次最優(yōu)節(jié)點(diǎn)選擇。實(shí)驗(yàn)?zāi)J(rèn)在每一次選擇中節(jié)點(diǎn)狀態(tài)均在小范圍內(nèi)變化,可忽略不計(jì),故狀態(tài)不再重新生成。實(shí)驗(yàn)得出結(jié)果如表2所示。
根據(jù)表1可知,人工節(jié)點(diǎn)p26被選擇次數(shù)最多,高達(dá)586次,被抽取的幾率高達(dá)58.6%;節(jié)點(diǎn)p21被選擇次數(shù)是隨機(jī)節(jié)點(diǎn)之首,但僅為29次,低于人工節(jié)點(diǎn)被選擇次數(shù)的20。當(dāng)響應(yīng)時(shí)間由200ms延長至2 700ms時(shí),被選擇次數(shù)從586次降低到29次。由此可知,假設(shè)存儲(chǔ)范圍pn∈K內(nèi)總有一個(gè)節(jié)點(diǎn)pnrtificial= pbes,維持在最優(yōu)狀態(tài),則每次分配的碎片都極大可能存儲(chǔ)在partificial上。
由表2可以看出,即使最優(yōu)節(jié)點(diǎn)總是不更換,按照優(yōu)化模型實(shí)施碎片分配也不會(huì)出現(xiàn)節(jié)點(diǎn)傾斜情況,即最優(yōu)節(jié)點(diǎn)被選擇次數(shù)遠(yuǎn)遠(yuǎn)高出隨機(jī)節(jié)點(diǎn)的情況。相比之下,優(yōu)化模型中各節(jié)點(diǎn)存儲(chǔ)碎片機(jī)會(huì)相對均等公平,落差較小,如圖7所示。各效率梯度節(jié)點(diǎn)的使用率相對平均,降低了用戶體驗(yàn)的不一致性,如圖8所示。存儲(chǔ)節(jié)點(diǎn)所剩余空間較大,產(chǎn)生小碎片幾率降低。方案確保每次分配的節(jié)點(diǎn)都通過數(shù)據(jù)完整性審計(jì),是完全高信用度的。方案綜合了多方面去評估存儲(chǔ)節(jié)點(diǎn),力求得出該次分配的最適合節(jié)點(diǎn)。
區(qū)塊鏈文件存儲(chǔ)系統(tǒng)碎片分配優(yōu)化模型既保留了對節(jié)點(diǎn)響應(yīng)效率的高要求,同時(shí)還提升了安全性、公平性以及統(tǒng)一性。將針對大范圍節(jié)點(diǎn)的數(shù)據(jù)完整性審計(jì)加入到存儲(chǔ)節(jié)點(diǎn)選取流程中,確保了節(jié)點(diǎn)的高信用度。在綜合評估中添加節(jié)點(diǎn)剩余空間大小標(biāo)準(zhǔn),使用最壞適應(yīng)分配算法,減少碎片產(chǎn)生幾率,提升存儲(chǔ)空間利用率;添加最近存儲(chǔ)碎片時(shí)間戳比較,使得響應(yīng)速度稍慢的節(jié)點(diǎn)也能擁有均等的碎片存儲(chǔ)機(jī)會(huì),消除了碎片堆積同一節(jié)點(diǎn)現(xiàn)象,提高了數(shù)據(jù)安全性。由圖3、圖4可知,使用優(yōu)化方案以后,節(jié)點(diǎn)之間被選擇次數(shù)維持在相對平均狀態(tài),避免了兩極分化現(xiàn)象;各效率梯度節(jié)點(diǎn)的使用率相對平均,用戶的使用感得到大體上的統(tǒng)一。
6 結(jié)語
本文基于Storj區(qū)塊鏈文件存儲(chǔ)系統(tǒng)的聲譽(yù)評價(jià)體系,提出了碎片分配優(yōu)化模型。該模型包括響應(yīng)狀態(tài)測試和時(shí)間控制、數(shù)據(jù)完整性審計(jì)、存儲(chǔ)節(jié)點(diǎn)空間大小和最近存儲(chǔ)碎片時(shí)間戳等節(jié)點(diǎn)選擇標(biāo)準(zhǔn),綜合多方面對存儲(chǔ)范圍內(nèi)的節(jié)點(diǎn)進(jìn)行評估,為碎片分配最合適的存儲(chǔ)節(jié)點(diǎn)。本文分別對原方案和優(yōu)化方案進(jìn)行仿真測試并對比,證實(shí)了優(yōu)化方案在保證響應(yīng)效率的同時(shí),提高了數(shù)據(jù)安全性和可靠性,降低了碎片分配過分傾斜的可能性,最大程度上提升了存儲(chǔ)空間利用率。
參考文獻(xiàn):
[1]
Cctime[ EB/OL]. http: //,vww.cctime.com, 2018.
[2] 朱琨.基于P2P的分布式存儲(chǔ)系統(tǒng)的研究與實(shí)現(xiàn)[D].成都:電子科技大學(xué),2010.
[3]殷龍,王宏偉.基于IPFS的分布式數(shù)據(jù)共享系統(tǒng)的研究[J].物聯(lián)網(wǎng)技術(shù),2016,6(6):60-62.
[4]
HOWARD J H,KAZAR M L,MENEES S G,et al.Scale andperfor-mance in a distributed file system[ J]. ACM Transactions on ComputerSvstem(TOCS), 1988,6(1):51-81.
[5]周文莉,吳曉非.P2P技術(shù)綜述[J].計(jì)算機(jī)工程與設(shè)計(jì),2006. 27(1):76-79.
[6] 孔彬,徐良賢.BitTorrent原理分析及改進(jìn)[J].計(jì)算機(jī)工程,2004,30( sl):257-259.
[7] 周皓,何克右,邵紅梅.基于Kademlia的P2P搜索技術(shù)的研究[J].電腦知識(shí)與技術(shù),2009,5(1):189-191.
[8]
NAKAMOTO S.Bitcoin:a peer-to-peer electronic cash system[ EB/OL]. https: //bitcoin.org/bitcoin.pdf.
[9]卓先德,趙菲,曾德明.非對稱加密技術(shù)研究[J].四川理工學(xué)院學(xué)報(bào)(自然科學(xué)版),2010.23(5):562-569
[10] 張松敏,陶榮,于國華.安全散列算法SHA-l的研究[J].計(jì)算機(jī)安全,2010( 10):3-5.
[11] 陳傳波,祝中濤.RSA算法應(yīng)用及實(shí)現(xiàn)細(xì)節(jié)[J].計(jì)算機(jī)工程與科學(xué),2006.28(9):13-15.
[12] 袁勇,倪曉春,曾帥,等,區(qū)塊鏈共識(shí)算法的發(fā)展現(xiàn)狀與展望[J].自動(dòng)化學(xué)報(bào),2018,44( 11):2011-2022.
[13] 袁勇,王1躍.區(qū)塊鏈技術(shù)發(fā)展現(xiàn)狀與展望[J].自動(dòng)化學(xué)報(bào),2016. 42( 4):481-494.
[14] 沈鑫,裴慶祺,劉雪峰.區(qū)塊鏈技術(shù)綜述[J].網(wǎng)絡(luò)與信息安全學(xué)報(bào).2016(5):1-12.
[15] BAUMGART I, MIES S. S/Kademlia:a practicable approach towardssecure kev-based routing [C]. International Conference on Parallel&Distributed Systems. 2007: 1-8.
[16] 張洪,路松峰,趙友橋,等.數(shù)據(jù)安全存儲(chǔ)的分片策略模型研究[J].計(jì)算機(jī)工程與應(yīng)用,2012.48(18):66-70.
[17]
JUELS A, JR B S K.PORs: proofs of retrievability for large files[C]. Acm Conference on Computer&Communications Security, 2007.
[18]
ATENIESE G,BURNS R. CURTMOLA R, et al.Provahle data pos-session at untrusted stores[C].Proceedings of the 2007 ACM Confer-ence on Computer and Communications Securitv, 2007: 598.
[19] 蘇迪,劉竹松.一種新型的Merkle哈希樹運(yùn)輸局完整性審計(jì)方案[J].計(jì)算機(jī)工程與應(yīng)用,2018.54(1):70-76.
[20]
STORJ LABS.A decentralized cloud storage network framework [EB/OL]. https: //storj.io/, 2018.
(責(zé)任編輯:孫娟)
基金項(xiàng)目:國家自然科學(xué)基金廣東大數(shù)據(jù)中心項(xiàng)目重點(diǎn)項(xiàng)目( U1811263);國家自然科學(xué)基金面上項(xiàng)目(61772211)
作者簡介:梁婉瑩(1998-),女,華南師范大學(xué)計(jì)算機(jī)學(xué)院學(xué)生,研究方向?yàn)閰^(qū)塊鏈、人工智能;朱佳(1982-),男,華南師范大學(xué)計(jì)算機(jī)學(xué)院研究員、博士生導(dǎo)師,研究方向?yàn)闄C(jī)器學(xué)習(xí)、區(qū)塊鏈、數(shù)據(jù)分析、人工智能;馬曉東(1995-),女,華南師范大學(xué)計(jì)算機(jī)學(xué)院碩士研究生,研究方向?yàn)閰^(qū)塊鏈、人工智能;湯庸(1964-),男,華南師范大學(xué)計(jì)算機(jī)學(xué)院教授、博士生導(dǎo)師,研究方向?yàn)閿?shù)據(jù)智能、人本計(jì)算與社交軟件、學(xué)者知識(shí)圖譜與教育大數(shù)據(jù)分析;梁熙龍(1995-),男,博士,中國科學(xué)院光學(xué)天文重點(diǎn)實(shí)驗(yàn)室國家天文臺(tái)博士后,研究方向?yàn)榇髷?shù)據(jù);陳善軒(1995-),男,華南師范大學(xué)計(jì)算機(jī)學(xué)院碩士研究生,研究方向?yàn)閰^(qū)塊鏈、人工智能、數(shù)據(jù)分析。