国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于IPFS的分布式數(shù)據(jù)共享系統(tǒng)的研究

2016-06-30 02:51殷龍王宏偉
物聯(lián)網(wǎng)技術(shù) 2016年6期
關(guān)鍵詞:數(shù)據(jù)共享跨平臺

殷龍 王宏偉

摘 要:隨著信息技術(shù)的不斷發(fā)展,依賴數(shù)據(jù)線、U盤等傳統(tǒng)的數(shù)據(jù)傳輸方式愈加顯得繁瑣且浪費時間,簡單快捷的個人文件共享方式成為市場急需。雖然目前國內(nèi)很多社交工具,譬如人人網(wǎng)、QQ、微博等都在不同程度上實現(xiàn)了文件共享的功能,但都有其各自的不足,亦或耗費流量,亦或操作繁瑣,真正實現(xiàn)個人多種終端設(shè)備之間的文件共享功能的技術(shù)目前還不夠完善與成熟。而如何結(jié)合市場需求及現(xiàn)有技術(shù),通過對P2P技術(shù)發(fā)展現(xiàn)狀以及主流文件共享系統(tǒng)實現(xiàn)模式的分析,來解決局域網(wǎng)內(nèi)個人多設(shè)備之間數(shù)據(jù)共享的問題,是設(shè)計并實現(xiàn)跨平臺終端設(shè)備數(shù)據(jù)共享系統(tǒng)最主要的目的。文章通過對當(dāng)前國際上新生的IPFS技術(shù)的研究,以IPFS技術(shù)為核心,設(shè)計出了一種性能優(yōu)良、安全高效的數(shù)據(jù)共享系統(tǒng)。

關(guān)鍵詞:跨平臺;數(shù)據(jù)共享;P2P;IPFS

中圖分類號:TP249 文獻標(biāo)識碼:A 文章編號:2095-1302(2016)06-00-03

0 引 言

在信息社會中,智能手機、平板電腦、筆記本電腦等多種終端設(shè)備已成為人們生活的一部分,為了使自己的電子產(chǎn)品能夠及時同步,用戶常常面臨一個頭疼的問題,即如何便捷地將文件、照片、文檔、音樂、電子書等數(shù)據(jù)在手機、平板電腦、個人電腦等設(shè)備之間互相共享。在科技不斷進步發(fā)展的過程中,涌現(xiàn)出各式各樣的文件共享系統(tǒng)。

在構(gòu)建全局分布式文件系統(tǒng)方面已經(jīng)有許多嘗試,且有些系統(tǒng)可以看到顯著的效果。在學(xué)術(shù)嘗試中,AFS[1]已取得了成功且至今仍在使用,而其他一些系統(tǒng)[2]卻還未取得同樣的成功。學(xué)術(shù)界之外,最成功的系統(tǒng)一直是對等文件共享的應(yīng)用,其主要面向大型媒體(音頻和視頻)。最值得注意的是,Napster,KaZaA和BitTorrent[3]部署大型文件分發(fā)系統(tǒng)支持超過一億用戶同時使用。即使在今天,BitTorrent保持了大規(guī)模部署中數(shù)以千萬計的節(jié)點生產(chǎn)日報[4]。相比于他們的學(xué)術(shù)文件系統(tǒng)而言,這些應(yīng)用程序看到了更大數(shù)量的用戶和文件分布。然而,應(yīng)用程序并沒有設(shè)計成基礎(chǔ)性使用工具。雖然可成功的利用現(xiàn)有技術(shù)再開發(fā),但目前還未出現(xiàn)一個可以提供全球性、低延遲性和分散式分布的通用文件系統(tǒng)。

到目前為止,HTTP是有史以來最成功的“文件分布式系統(tǒng)”部署。再加上瀏覽器,HTTP有巨大的技術(shù)和社會影響力。它已成為在互聯(lián)網(wǎng)上傳輸文件的實際方式。然而, 在過去的十五年里,它未能利用許多杰出的文件分布技術(shù)發(fā)明。各行業(yè)之所以使用HTTP這么久是因為移動小文件是相對便宜的,即使對于小型組織也有大量的流量可以使用。但是,我們正面臨一個新的挑戰(zhàn),數(shù)據(jù)分布的新時代具有如下特點:

(1) 托管和分發(fā)PB級數(shù)據(jù)集;

(2) 在大數(shù)據(jù)跨組織的計算;

(3) 大容量高清點播和實時媒體流;

(4) 版本控制和連接的大規(guī)模數(shù)據(jù)集;

(5) 防止重要文件意外失蹤等。

其中許多可歸結(jié)為“大量的數(shù)據(jù),訪問無處不在?!?通過追尋關(guān)鍵特性和帶寬問題,我們已經(jīng)放棄使用HTTP協(xié)議進行不同的數(shù)據(jù)分發(fā)。下一步是使用它們在Web本身的一部分。

IPFS[5]是點對點協(xié)議(InterPlanetary File System,IPFS)的簡稱,它是一個面向全球、點對點的分布式版本文件系統(tǒng),試圖將所有具有相同文件系統(tǒng)的計算設(shè)備連接在一起。本文將介紹對IPFS的部分研究及其在新一類數(shù)據(jù)共享系統(tǒng)中的應(yīng)用。

1 IPFS技術(shù)背景

1.1 HTTP技術(shù)的缺陷

超文本傳輸協(xié)議(HTTP)[6]已經(jīng)在全球信息協(xié)議中一統(tǒng)山河,對信息的發(fā)布與傳播設(shè)置了很多規(guī)范。沒有HTTP的生活幾乎無法想象,HTTP將發(fā)布信息的成本幾乎降為零,這一創(chuàng)新粉碎了對信息至上而下的傳播渠道管控,借助信息流動與更簡單的信息發(fā)布方式,使人人都能發(fā)布與訪問包括經(jīng)濟、政治、文化領(lǐng)域(音樂、創(chuàng)意、視頻、新聞、游戲等)的信息,HTTP讓我們的文化獲得了整體提高。

可以這樣說,HTTP是史上最偉大且最重要的發(fā)明之一。

盡管HTTP成就斐然,但是在傳播與維護人類知識方面,它作為基礎(chǔ)并非差強人意,而是幾乎全無招架之力。HTTP傳播信息的方式從根本上是有缺陷的,無論進行再多的性能調(diào)整,打破CASSL或采取其他措施都難以修復(fù)這一問題。HTTP/2(超文本傳輸協(xié)議第二版)是可喜的進步,不過它只能算針對一個有年頭的技術(shù)所進行的保守更新。想要讓網(wǎng)絡(luò)獲得更好的未來,我們不止需要一個HTTP的更新版,而是一個新的基礎(chǔ)。就網(wǎng)絡(luò)空間的管理模式而言,我們需要一個新的協(xié)議。

總體而言,HTTP具有以下幾方面的缺點[7]:

(1)HTTP是脆弱的,一臺Web服務(wù)器一旦關(guān)機或無響應(yīng),連接就會中斷,站點間的聯(lián)系會被打破,訪問的內(nèi)容也隨之消失不見。

(2)HTTP鼓勵過度集中化,這樣會導(dǎo)致大量的數(shù)據(jù)對大型、更集中管理的服務(wù)器產(chǎn)生進一步的依賴。由于冗余備份較多,他們在短時間內(nèi)可用性(大多)更高。但仍沒有解決長期的可用性問題,還觸發(fā)了一系列全新的問題。

(3)HTTP效率低下,HTTP降低了發(fā)布信息的價格,但仍需要花錢,看起來低廉的成本加起來卻數(shù)目驚人。將大量數(shù)據(jù)從中央數(shù)據(jù)中心傳播出去,如果不是以規(guī)模經(jīng)濟的方式完成,花費可能相當(dāng)高昂。

(4)HTTP對互聯(lián)網(wǎng)主干過度依賴,內(nèi)容的過度集中化將會使我們高度依賴互聯(lián)網(wǎng)主干的數(shù)據(jù)中心功能。這樣除了很容易被攔截審查之外,也存在著可靠性問題。即使有冗余備份,主干網(wǎng)有時也存在被毀壞或者路由表失控的問題,結(jié)果可能十分嚴重。

為解決以上問題,IPFS應(yīng)運而生。

1.2 IPFS的解決方案

IPFS從根本上改變了查找方式,這是它最重要的特征。我們使用HTTP查找的是位置,而使用IPFS查找的是內(nèi)容[8]。

在HTTP服務(wù)器中,查找文件須遵照HTTP協(xié)議,瀏覽器首先會查找服務(wù)器的位置(IP地址),隨后向服務(wù)器索要文件路徑。這種體系下文件的位置取決于服務(wù)器管理者,而用戶只能寄希望于文件沒有被移動,并且服務(wù)器沒有關(guān)閉。

IPFS的做法則是不再關(guān)心中心服務(wù)器的位置,也不考慮文件的名字和路徑,只關(guān)注文件中可能出現(xiàn)的內(nèi)容。我們將一個文件放在IPFS的節(jié)點,它會得到一個新名字QmXGTaGWTT1uUtfSb2sBAvArMEVLK4rQEcQg5bv7wwdzwU,這是一個由文件內(nèi)容計算出的加密哈希值。哈希值直接反映文件的內(nèi)容,哪怕只修改1比特,哈希值也會完全不同。

當(dāng)IPFS被請求一個文件哈希時,它會使用一個分布式哈希表找到文件所在的節(jié)點,取回文件并驗證文件數(shù)據(jù)。雖然早期的DHT設(shè)計曾出現(xiàn)過Sybil攻擊的問題,不過現(xiàn)在已經(jīng)有了新的解決辦法。

IPFS是通用的基礎(chǔ)架構(gòu),基本沒有存儲上的限制。大文件會被切分成小的分塊,下載時可以從多個服務(wù)器同時獲取。IPFS的網(wǎng)絡(luò)是不固定的、細粒度的、分布式的網(wǎng)絡(luò),可以很好地適應(yīng)內(nèi)容分發(fā)網(wǎng)絡(luò)(CDM)的要求。這樣的設(shè)計可以很好地共享各類數(shù)據(jù),包括圖像、視頻流、分布式數(shù)據(jù)庫、整個操作系統(tǒng)、模塊鏈,還有最重要的——靜態(tài)網(wǎng)站。

IPFS文件可以抽象成特殊的IPFS目錄,從而標(biāo)注一個可讀的文件名(透明的映射到IPFS哈希),在訪問時會像HTTP一樣獲取一個目錄索引。在IPFS上建立網(wǎng)站的流程和過去一樣,而且把網(wǎng)站加入到IPFS節(jié)點只需要一條指令:ipfs add -r yoursitedirectory。網(wǎng)頁間的連接不再需要人去維護,IPFS自帶的查找可以解決問題。

IPFS不會要求每一個節(jié)點都存儲所有的內(nèi)容,節(jié)點的所有者可以自由選擇想要維持的數(shù)據(jù)。這就像書簽一樣,在備份了自己的網(wǎng)站之外,自愿為其他關(guān)注的內(nèi)容提供服務(wù),不同的是這個書簽不會像之前那樣最終失效。

IPFS節(jié)點間的拷貝、存儲和網(wǎng)站支援都很容易,如果IPFS得以普及,且節(jié)點數(shù)達到一定規(guī)模,即使每個節(jié)點只存放一點點內(nèi)容,所累計的空間、帶寬和可靠性也遠超HTTP所能提供的。隨即,分布式Web會變成地球上最快、最可靠、最大的數(shù)據(jù)倉庫。

2 IPFS設(shè)計

IPFS是一個綜合了先前的P2P系統(tǒng)[9],包括DHTs[10]、比特流、Git和SFS成功思想的分布式文件系統(tǒng)[11]。IPFS的貢獻是簡化、進化,以及連接成熟的技術(shù)到一個單一的綜合系統(tǒng),其功能大于各部分的總和。IPFS提出了一個用以編寫和部署應(yīng)用程序的新平臺,并進行版本控制以及分發(fā)大量數(shù)據(jù)的新系統(tǒng)。IPFS甚至可能進化網(wǎng)絡(luò)本身。

IPFS是對等網(wǎng)絡(luò),沒有節(jié)點擁有特權(quán)。IPFS節(jié)點倉庫在本地存儲IPFS對象。節(jié)點之間相互連接并傳輸對象。這些對象代表文件和其他數(shù)據(jù)結(jié)構(gòu)。所述IPFS協(xié)議分為一堆子協(xié)議并各自負責(zé)不同的功能:

(1)特性:管理節(jié)點的身份生成和驗證。

(2)網(wǎng)絡(luò):對連接到的其他節(jié)點進行管理,使用各種底層網(wǎng)絡(luò)協(xié)議,并且是可配置的。

(3)路由:維護信息來定位特定的節(jié)點和對象。響應(yīng)本地和遠程查詢。默認為一個DHT,但是可交換的。

(4)交換:可以使用一種新的分組交換協(xié)議(比特交換)來管理有效的塊分布。建模為一個需求,弱化數(shù)據(jù)復(fù)制的刺激??山粨Q的貿(mào)易策略。

(5)對象:內(nèi)容尋址的Merkle DAG不可變對象鏈接。用于表示任意的數(shù)據(jù)結(jié)構(gòu),例如文件層次結(jié)構(gòu)和通信系統(tǒng)。

(6)文件:靈感來自Git版本控制文件系統(tǒng)的層次結(jié)構(gòu)。

(7)命名:一個自認證的可變名稱系統(tǒng)。

這些子系統(tǒng)并不是獨立的,他們整合并利用了混合屬性,在這些功能的協(xié)作下,構(gòu)建了自上而下的協(xié)議棧。

3 系統(tǒng)設(shè)計與分析

結(jié)合IPFS的設(shè)計理念,我們可以在其基礎(chǔ)上實現(xiàn)分布式數(shù)據(jù)共享系統(tǒng)的進一步開發(fā)。分布式數(shù)據(jù)共享系統(tǒng)對我們而言并不陌生,其使用的技術(shù)多種多樣,這一類分布式文件系統(tǒng)如HDFS[12]、FastDFS[13]等,并沒有在我們的實際生活中得到廣泛推廣。在這里不能夠說本系統(tǒng)能夠取代他們,只是對分布式數(shù)據(jù)共享系統(tǒng)的一點設(shè)想與看法。

3.1 系統(tǒng)設(shè)計

首先,本系統(tǒng)將以IPFS技術(shù)作為其設(shè)計核心,因此,本系統(tǒng)具備IPFS技術(shù)的所有優(yōu)點,并可以擁有IPFS的所有功能。允許安裝此系統(tǒng)的所有設(shè)備都將作為網(wǎng)絡(luò)節(jié)點,用戶可選擇將自己的數(shù)據(jù)通過哈希加密后保存于任何節(jié)點中(只要能夠登錄此節(jié)點),并且可以隨時取回本地,即便本地數(shù)據(jù)丟失,用戶仍可憑借其哈希值從任何保存過此數(shù)據(jù)的節(jié)點中將其找到。

其次,IPFS哈希只能用來表示不可變數(shù)據(jù),因為一旦數(shù)據(jù)改變,哈希值也會改變。但從某種意義上來說,這是保持數(shù)據(jù)持續(xù)性的較好的設(shè)計。卻也需要一種方法來標(biāo)記最新更新的哈希,這個方法被稱作IPNS。由于本系統(tǒng)采用了哈希加密,相比傳統(tǒng)的加密方式其安全性更高。

本系統(tǒng)可分為PC端和Android端,二者沒有客戶端與服務(wù)器端之分。當(dāng)設(shè)備打開此程序時,用戶指定的文件或文件夾即可被任意經(jīng)過授權(quán)的節(jié)點發(fā)現(xiàn)并進行訪問。

3.2 結(jié)果分析

由于本系統(tǒng)采用IPFS技術(shù)作為其設(shè)計核心,所以與其他數(shù)據(jù)共享系統(tǒng)有很大的不同。首先,由于IPFS技術(shù)擬用來替代HTTP技術(shù),故其在網(wǎng)絡(luò)中的安全性以及傳輸協(xié)議都與HTTP技術(shù)有很大的不同,本系統(tǒng)所使用的協(xié)議是比特交換協(xié)議。其次,本系統(tǒng)采用內(nèi)容尋址方式,所有內(nèi)容都是由其多哈希校驗和唯一標(biāo)識,包括鏈接。

由于本系統(tǒng)采用了IPFS技術(shù),使得使用者加入到了全球性IPFS節(jié)點的行列中來,每一臺安裝了此系統(tǒng)的電腦都可以作為網(wǎng)絡(luò)中的一個節(jié)點,它不會要求每一個節(jié)點都存儲所有內(nèi)容,節(jié)點的所有者可以自由選擇想要維持的數(shù)據(jù)。比如兩個人在各自的節(jié)點中放入了相同的數(shù)據(jù),其中一人在自己的數(shù)據(jù)丟失后仍可借助另一人的節(jié)點取到丟失的數(shù)據(jù)。

4 結(jié) 語

IPFS背后的想法是對幾十年來在學(xué)術(shù)界和開源產(chǎn)品中成功的分布式系統(tǒng)的研究。IPFS綜合了許多最新最好的想法以及最成功的系統(tǒng)。除了比特交換,這是一種新的協(xié)議,IPFS的主要貢獻是系統(tǒng)的耦合和設(shè)計的合成。

確實,本系統(tǒng)是在其基礎(chǔ)上建立的一種新的應(yīng)用,盡管對于IPFS技術(shù)的運用還不是十分廣泛,但總的來說這也是一次對新生技術(shù)的嘗試。并且,作者認為本系統(tǒng)還不是終結(jié),經(jīng)過進一步的設(shè)計與研究,一定會得出一種新的更加優(yōu)化的系統(tǒng)。盡管對IPFS技術(shù)的了解還不全面,但該技術(shù)對于數(shù)據(jù)共享系統(tǒng)的新嘗試具有極大的指導(dǎo)意義。

參考文獻

[1] J. H. Howard, M. L. Kazar, S. G. Menees, et al. Scale and performance in a distributed file system[J]. ACM Transactions on Computer Systems (TOCS),1988,6(1):51-81.

[2] J. Kubiatowicz,D. Bindel,Y. Chen, et al.Oceanstore: An architecture for global-scale persistent storage[J].ACM Sigplan Notices, 2000,35(11):190-201.

[3] I.BitTorrent. Bittorrent and ?A?ttorrent software surpass 150 million user milestone, Jan. 2012[Z].

[4] L. Wang and J. Kangasharju.Measuring large-scale distributed systems: case of bittorrent mainline dht[C]. In Peer-to-Peer Computing (P2P), 2013 IEEE Thirteenth International Conference on, IEEE, 2013:1-10.

[5] IPFS - Content Addressed,Versioned, P2P File System[EB/OL]. http://blog.acolyer.org/2015/10/05/ipfs-content-addressed-versioned-p2p-file-system.

[6]朱永紅,張燕平,許榮斌,等.探析超文本傳輸協(xié)議[J].計算機技術(shù)與發(fā)展, 2006,16(10):65-67.

[7] https://ipfs.io/ipfs/QmNhFJjGcMPqpuYfxL62VVB9528NXqDNMFXiqN5bgFYiZ1/its-time-for-thepermanent-web.html.

[8] HTTP已過時,未來屬于分布式永久有效的Web[EB/OL].http://m.wanhuajing.com/d20039

[9] 莫樂群,姚國祥.基于Peer-to-Peer的分布式文件共享系統(tǒng)的研究與設(shè)計[J].小型微型計算機系統(tǒng),2006,27(4):618-622.

[10] Caesar M, Castro M, Nightingale E B, et al.Virtual ring routing: network routing inspired by DHTs[J].Acm Sigcomm Computer Communication Review,2006,36(4):351-362.

[11]朱亞林.基于Python的分布式文件共享系統(tǒng)的實現(xiàn)[J].智能計算機與應(yīng)用, 2015,5(4):26-29.

[12]張曉杰.基于HDFS的可信分布式文件系統(tǒng)研究與設(shè)計[D].廣州:華南理工大學(xué), 2014.

[13]韓增曦.分布式文件系統(tǒng)FastDFS的研究與應(yīng)用[D].大連:大連理工大學(xué), 2014.

猜你喜歡
數(shù)據(jù)共享跨平臺
跨平臺APEX接口組件的設(shè)計與實現(xiàn)
科學(xué)大數(shù)據(jù)的發(fā)展態(tài)勢及建議
數(shù)字化迎新系統(tǒng)宿舍分配模塊的設(shè)計與實現(xiàn)
基于QT的跨平臺輸電鐵塔監(jiān)控終端軟件設(shè)計與實現(xiàn)
基于OPC跨平臺通信的電機監(jiān)測與診斷系統(tǒng)
基于B/S的跨平臺用戶界面可配置算法研究
苏尼特右旗| 麻城市| 阳泉市| 泰兴市| 诸暨市| 余姚市| 安多县| 六安市| 乌兰县| 贵阳市| 徐汇区| 东平县| 英超| 二连浩特市| 广东省| 巴马| 南和县| 成武县| 开封县| 六安市| 任丘市| 且末县| 台湾省| 雅江县| 光山县| 中牟县| 包头市| 兴宁市| 吴桥县| 达州市| 宁波市| 玉溪市| 民和| 大悟县| 盐源县| 台东县| 香港| 耿马| 涿鹿县| 峨山| 乡宁县|