當前位置:首頁 > 物聯(lián)網(wǎng) > 《物聯(lián)網(wǎng)技術(shù)》雜志
[導(dǎo)讀]摘 要:針對云計算多副本存儲的情況與傳統(tǒng)的全量存儲對云存儲空間消耗巨大的問題,尤其改動頻繁的大容量文件對存儲空間的消耗更大。因此文中對基于增量存儲的多副本文件版本控制方法進行研究,支持多副本文件版本控制管理。數(shù)據(jù)所有者加密數(shù)據(jù),創(chuàng)建多個副本并將其存儲在云端,當更新數(shù)據(jù)時,數(shù)據(jù)文件不會被直接更新,而是將更新保存為增量。通過實驗仿真,對比了文件版本傳遞算法在不同配置運行環(huán)境下的CSP計算開銷,驗證了本方法的高效性和可用性。

引 言

云存儲 [1,2] 中,數(shù)據(jù)所有者對 CSP 端文件的每一次動態(tài)更新操作都是DO 與CSP 之間的多次交互,而在云存儲平臺中每次發(fā)生版本更新更迭,系統(tǒng)都會將歷史版本保存下來以響應(yīng)用戶的版本恢復(fù)請求。在多副本的情況下,傳統(tǒng)的全量存儲方式對云存儲平臺存儲空間消耗巨大,尤其對改動頻繁的大容量文件會消耗更大的存儲空間,因此文件的全量存儲方式對于多副本文件是不可取的[3,4]。

為了解決上述問題,緩解云存儲平臺的存儲空間,本文采用增量存儲方式來存儲多副本文件版本的信息[5,6]。增量存儲的基本思想是僅存儲最新版本與基本版本之間的差異信息(以下稱之為增量),由基本版本和增量構(gòu)成版本信息。目前有正增量和逆增量兩種存儲模型[7,8]。

1 增量存儲模型

(1) 正增量存儲模型

在正增量存儲模型中,Vi+1=Vi+Δi│條件,i ≥ 0,當 i= 0 時為原始版本。Δi │條件是在 Vi 基礎(chǔ)上通過操作條件修改得到差異信息,即只存儲原始版本的完整數(shù)據(jù),而后繼版本只保存其與前一版本的增量[9],如圖 1 所示。

一種基于增量存儲的多副本文件版本控制方法

(2) 逆增量存儲模型

在逆增量存儲模型中,只存儲最新版本的完整數(shù)據(jù),其余歷史版本則只存儲與后繼版本之間的增量信息,即 Vi 存儲Vi+1 和 Vi 之間的增量 Δi │條件,最后一個版本存儲其完整內(nèi)容。

2 文件版本控制

數(shù)據(jù)所有者將文件劃分為多個文件塊,并為文件塊產(chǎn)生多個副本和數(shù)據(jù)標簽,且每個副本可唯一標識。文件塊的多個副本由同態(tài)概率加密方法生成,文件塊的數(shù)據(jù)標簽由BLS 簽名生成,將文件塊副本和文件塊的數(shù)據(jù)標簽發(fā)送到云端。這些文件塊的加密副本表示未加密文件塊的基本版本,對未加密文件塊當前版本的每一次修改都將產(chǎn)生新的版本,新版本的文件塊不直接存儲在云端,只存儲增量,增量為未加密文件塊的新版本與基本版本之間的差異。當需要文件塊的特定版本時, 數(shù)據(jù)所有者請求云端將增量塊與文件塊的基本版本合并,從而得到文件塊所需版本。

文件版本表由五部分組成,分別為塊號(BN)、增量塊號(DBN)、文件版本(FV)、塊版本(BV)、塊操作(BO)。

(1) BN表示文件塊的索引,描述了文件塊在數(shù)據(jù)文件中的物理位置。

(2) DBN是增量塊的索引,如果增量不存在,則該值存儲 為 - 。

(3) FV表示整個文件的版本。

(4) BV表示文件塊的版本。

(5) BO指出了對文件塊執(zhí)行操作的類型。

FV 的最大值表示文件的最新版本,并且對于特定的BN, 其BV 的最大值表示該文件塊的最新版本。如果在文件版本表中沒有找到文件塊號的條目,則意味著沒有對文件塊的基本版本進行更新操作,且文件的基本版本和最新版本的文件塊相同。當對塊號為b、文件版本為 v 和文件塊版本為 y 的文件塊進行修改時,數(shù)據(jù)所有者可以選擇將整個文件的版本更改為 v + 1 或保持原版本不變。對于這兩種情況,數(shù)據(jù)所有者在文件版本表中創(chuàng)建一個新條目。在第一種情況下,表條目將是 <b,-,v+1,0,Modify>,并且對于第二種情況,表條目將是 <b,-,v, y+1,Modify>,見表 1 所列。

一種基于增量存儲的多副本文件版本控制方法

數(shù)據(jù)所有者使用文件版本表來跟蹤記錄文件塊的版本更新情況,用來驗證 CSP 存儲的所有文件及其版本的完整性和一致性。當數(shù)據(jù)所有者對文件塊執(zhí)行更新操作時,將會生成新版本的文件塊,數(shù)據(jù)更新操作包括文件塊插入、刪除或修改, 當且僅當數(shù)據(jù)更新操作是 修改 時才會生成增量塊,一旦更新操作完成,數(shù)據(jù)所有者就會更新文件版本表,文件版本表僅在數(shù)據(jù)所有者端維護,有助于數(shù)據(jù)所有者隱藏 CSP 執(zhí)行更新操作的詳細信息。

3 算法設(shè)計

3.1 文件版本動態(tài)更新

本文的文件版本動態(tài)更新操作由更新 請求算法PrepareUpdate() 和更新執(zhí)行算法 ExecUpdate() 來執(zhí)行, 對應(yīng)的請求操作包括數(shù)據(jù)塊修改、數(shù)據(jù)塊插入和數(shù)據(jù)塊刪除。文件版本修改操作如圖 2 所示。

一種基于增量存儲的多副本文件版本控制方法

3.1.1 更新請求算法

更新請求算法:PrepareUpdate()→ Update。本算法在數(shù)據(jù)所有者端運行,對遠程 CSP 存儲的外包文件副本執(zhí)行更新操作,算法的輸出是更新請求。數(shù)據(jù)所有者將更新請求以<Idf,BlockOp,j,bi ',φ' > 的形式發(fā)送到云端,其中Idf 是文件標識符,BlockOp 對應(yīng)塊操作,j,bi ' 和φ' 分別表示文件塊的索引、更新的文件塊和更新的標簽,BlockOp 可以是數(shù)據(jù)插入、修改或刪除操作。

(1) 數(shù)據(jù)插入 :對文件 F的任一版本 v的插入操作意味著在文件中插入新的文件塊。數(shù)據(jù)所有者決定新文件塊所屬的文件版本,可以是當前文件版本v或者是下一個文件版本v+1。如果新文件塊添加到文件版本 v+1,則 v+1就是文件的新版本,在文件版本表中創(chuàng)建一個新記錄為<BN,-, v或v+1,0,Insert>。由于沒有增量塊且插入了新的文件塊, 所以 DBN值為 - ,BV值為 0。

(2) 數(shù)據(jù)修改 :對最新版本的文件塊進行修改。數(shù)據(jù)所有者識別需要修改的文件塊塊號,并在文件版本表中搜索塊號, 如果沒有找到特定塊號記錄,那么從云中下載來自基本版本的文件塊。如果找到了目標記錄,那么識別出文件塊的最新版本并從云端下載,文件塊的最新版本就是解密下載的基本版本的文件塊與增量合并得到的文件塊版本。對明文進行修改操作以獲得更新后的明文,數(shù)據(jù)所有者將計算更新的明文和基本版本明文之間的差異作為新的增量,然后將增量隨機化,并將其發(fā)送到云端。隨機化的目的在于不向云端暴露增量值。令M={bi},其中1 ≤ i≤ s 是更新操作之前的文件塊集合,M'={bi'}, 1 ≤ i≤ s是更新操作之后的文件塊, 增量? M值為{bi'-bi},1 ≤ i ≤ s。使用由PRF 密鑰 Keydata 生成的隨機數(shù)來對增量進行隨機化,因此,? M={bi '-bi+N-xi},1 ≤ i ≤ s。最后將 M 值發(fā)送到云端。

(3) 數(shù)據(jù)刪除:對文件 v的任一版本的刪除操作意味著從文件中刪除幾個文件塊。數(shù)據(jù)所有者可以從當前版本 v刪除文件塊,或者從下一版本v+1中刪除文件塊。且數(shù)據(jù)所有者在文件版本表中創(chuàng)建一條記錄 <BN,-,v或v+1,0, Delete>。刪除操作的結(jié)果只是在文件版本表中添加一條記錄, 而CSP不知道關(guān)于刪除操作的任何內(nèi)容。

3.1.2 更新執(zhí)行算法

更新執(zhí)行算法:ExecUpdate(F,φ,Update)→(F',φ')。本算法在CSP 端運行,輸入?yún)?shù)為文件副本 F、標簽φ和更新請求(由數(shù)據(jù)所有者發(fā)送)。輸出為新的文件副本 F' 以及更新的標簽 φ'。在每次塊操作之后,數(shù)據(jù)所有者運行挑戰(zhàn)協(xié)議以確保云端正確執(zhí)行了更新操作,更新請求中的操作可以是插入新的文件塊或修改文件塊,數(shù)據(jù)所有者不向云端發(fā)送任何刪除請求,因此不會刪除任何數(shù)據(jù)塊。

3.2 文件版本請求與文件版本傳遞

數(shù)據(jù)所有者創(chuàng)建文件版本表跟蹤數(shù)據(jù)更新操作,此表中的記錄數(shù)值取決于對文件塊進行動態(tài)操作的數(shù)量。文件更新作為增量存儲在云端,為了獲得文件的特定版本,數(shù)據(jù)所有者將帶有兩個參數(shù)<BN,DBN>的FileVersionRequest 發(fā)送到云端。在接收到FileVersionRequest之后,云端執(zhí)行FileVersionDeliver算法。對于DBN值為–的文件版本請求,CSP直接將塊號為BN 的文件塊傳遞給數(shù)據(jù)所有者,不涉及任何CSP計算開銷。對于具有有效DBN值的FileVersionRequest而言,云加密增量塊號為DBN的文件塊, 執(zhí)行同態(tài)加法運算。

(1)FileVersionRequest :數(shù)據(jù)所有者通過檢查文件版本表來識別所需版本的文件塊,并使用塊編號以<BN,DBN> 的形式向CSP 發(fā)送請求。此外,需要 DBN 才能訪問所需的文件版本,如果文件版本表中沒有 DBN 條目,則請求將是

<BN,->。

(2)FileVersionDeliver:對于FileVersionRequest中DBN值為-的所有文件塊號,將該文件的基本版本傳遞給數(shù)據(jù)所有者,如果具有有效的DBN值,則CSP 利用公鑰對增量進行加密,并對基本版本的文件塊進行同態(tài)加法運算, 最后得到數(shù)據(jù)所有者請求版本的文件塊。令?M={bi'-bi+N- xi},1≤i≤s是與數(shù)據(jù)所有者請求的相應(yīng)文件版本的文件塊相關(guān)聯(lián)的增量,加密的增量 E(? M)={(1+(b'-b+N-x)N(r)N},其中,r ∈ ZN* 是隨機數(shù)。最后,云端對文件基本版本上所請 求的文件塊執(zhí)行同態(tài)加法操作。同態(tài)加法之后得到的文件塊 表示數(shù)據(jù)所有者所請求版本的加密文件塊,將加密的文件塊 發(fā)送給數(shù)據(jù)所有者,數(shù)據(jù)所有者對文件塊進行解密,從而獲 得其請求的版本。

4 算法性能分析

4.1 實驗環(huán)境

本文主要驗證文件版本傳遞算法的 CSP 計算開銷,對 1 MB 文件在本地計算機、不同配置的虛擬機環(huán)境下進行實 驗。本地計算機實驗環(huán)境為 Intel(R)Core(TM)i7-6700HQ 2.60 GHz 處理器、16 GB RAM ;虛擬機實驗環(huán)境 1 具有單核 處理器,2 GB 內(nèi)存,200 GB 硬盤空間;虛擬機實驗環(huán)境 2 具有雙核虛擬處理器,8 GB 內(nèi)存,500 GB 硬盤空間。

4.2 文件版本傳遞算法 CSP 計算開銷比較

圖 3 中 FileVersionRequest 的 數(shù) 量 用文件 塊 的百分比 表示。例如,1 MB 文件具有 8 192 個大小為 128 B 的文件 塊。當數(shù)據(jù)所有者發(fā)送 81 個 FileVersionRequest 時,CSP 加 密 81 個增量塊(8 192 個文件塊的 1%),并執(zhí)行 81 次同態(tài)加 法運算。因此任何數(shù)目的 FileVersionRequest 將導(dǎo)致 CSP 對 這些文件塊執(zhí)行操作,并且 FileVersionRequest 可以用文件 塊 的 數(shù)目來 表 示。MRFVCM(Multiple Replica File Version Control Method,MRFVCM)在數(shù) 據(jù)所有者端不涉及執(zhí)行 FileVersionDeliver 算法的任何計算,數(shù)據(jù)所有者的唯一成 本是維護文件版本表。圖 3 顯示了在本地計算機和不同配置 的虛擬機環(huán)境上運行 FileVersionDeliver 算法的 CSP 計算時 間的比較。FileVersionDeliver 算法的 CSP 計算時間定義為 CSP 將所請求版本的文件塊傳遞給數(shù)據(jù)所有者所花費的時間。 FileVersionDeliver 算法在本地計算機上執(zhí)行得更好,因為它 的配置最高。

一種基于增量存儲的多副本文件版本控制方法

5 結(jié) 語

本文支持多副本文件版本管理,首先構(gòu)建了文件版本表, 該表由數(shù)據(jù)所有者運行維護;其次,詳細闡述了用戶申請?zhí)囟?版本到 CSP 執(zhí)行文件版本傳遞算法的詳細過程 ;最后通過實 驗仿真,對比了文件版本傳遞算法在不同配置運行環(huán)境下的 CSP 計算開銷,驗證了本算法的高效性和可用性。


本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險,如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉