季向遠(yuǎn),楊 濤,馮少敏,李巧紅
(北京神舟航天軟件技術(shù)有限公司,北京 100094)
經(jīng)過多年發(fā)展,企業(yè)積累了大量的數(shù)據(jù)文件,涉及到企業(yè)產(chǎn)品的研發(fā)、生產(chǎn)、銷售等各個(gè)運(yùn)營環(huán)節(jié)的方方面面,對(duì)于企業(yè)來說這是一筆寶貴的財(cái)富。但由于沒有很好的工具和手段,很多企業(yè)沒能讓這些文件所承載的數(shù)據(jù)和知識(shí)發(fā)揮出應(yīng)有的作用,體現(xiàn)其價(jià)值。企業(yè)每天產(chǎn)生的大量數(shù)據(jù)文件,需要具備一定的手段來保障文件存儲(chǔ)的安全,防止由于意外情況導(dǎo)致數(shù)據(jù)丟失;由于業(yè)務(wù)需要,文件所有者會(huì)將文件主動(dòng)分享給相關(guān)的人員,或相關(guān)人員通過某種方式快速獲取自己所需的文件;另外,對(duì)于由類似于CATIA、Creo等CAD工具生成的文件,沒有專業(yè)工具就無法查看,而這些專業(yè)工具都比較昂貴。對(duì)于企業(yè)在數(shù)據(jù)文件等非結(jié)構(gòu)化數(shù)據(jù)的管理中遇到的上述問題和挑戰(zhàn),采用網(wǎng)盤進(jìn)行數(shù)據(jù)管理是一個(gè)比較不錯(cuò)的解決方案。
目前市場上的網(wǎng)盤產(chǎn)品主要有谷歌公司的Google Drive、百度公司的云網(wǎng)盤、金山公司的快盤以及Dropbox的Dropbox Pro和Dropbox for Business等。2012年4月24日谷歌公司正式推出了Google Drive,它是谷歌提供的一項(xiàng)基于云存儲(chǔ)的網(wǎng)盤服務(wù),可以向用戶提供15GB的免費(fèi)存儲(chǔ)空間,同時(shí)還可以付費(fèi)擴(kuò)容。Google Drive有本地客戶端版本、移動(dòng)端版本和網(wǎng)絡(luò)界面版本,另外,Google還向第三方提供API接口,允許用戶將其他程序上的內(nèi)容存儲(chǔ)到Google Drive。Dropbox成立于2007年,用戶可以在線存儲(chǔ)并共享文件和文件夾。Dropbox提供免費(fèi)和收費(fèi)服務(wù),Dropbox的收費(fèi)服務(wù)包括Dropbox Pro和Dropbox for Business,有本地客戶端版本、移動(dòng)端版本和網(wǎng)頁客戶端版本。百度云網(wǎng)盤是百度推出的一項(xiàng)云存儲(chǔ)服務(wù),首次注冊(cè)即有機(jī)會(huì)獲得15GB的存儲(chǔ)空間,目前有Web版、Windows客戶端版、Android版、iPhone版、iPad版、WinPhone版等版本,用戶可以輕松把自己的文件上傳到網(wǎng)盤,并可以跨終端隨時(shí)隨地查看和分享。金山快盤提供個(gè)人版和商業(yè)版,快盤具備文件同步、文件備份和文件共享功能,只要安裝快盤客戶端,電腦、手機(jī)、平板電腦、網(wǎng)站之間就能夠直接跨平臺(tái)互通互聯(lián),存儲(chǔ)的文件在傳輸過程中全程加密,分塊存儲(chǔ),并在服務(wù)器上有多重加密備份[1-2]。
通過對(duì)市場中現(xiàn)有網(wǎng)盤產(chǎn)品的了解和分析,發(fā)現(xiàn)這些產(chǎn)品都具備文件創(chuàng)建、存儲(chǔ)、分享、檢索和預(yù)覽的功能,并都提供了電腦版、移動(dòng)版和Web版的客戶端,在協(xié)同工作方面也有所涉及,但能力有待提升。分析得出,網(wǎng)盤能夠有效地解決企業(yè)非結(jié)構(gòu)性數(shù)據(jù)方面存在的存儲(chǔ)、分享、檢索和預(yù)覽等問題,但對(duì)企業(yè)來說,基于私有云的網(wǎng)盤會(huì)更安全、更適合。同時(shí),為了滿足企業(yè)級(jí)協(xié)同的要求,網(wǎng)盤應(yīng)具備支持團(tuán)隊(duì)協(xié)同工作的能力。
為了幫助企業(yè)解決文件等非結(jié)構(gòu)化數(shù)據(jù)處理等問題,企業(yè)網(wǎng)盤需要提供一套完整的解決方案,該方案需具備對(duì)文件等非結(jié)構(gòu)化數(shù)據(jù)的協(xié)同創(chuàng)建、存儲(chǔ)、分享、檢索和預(yù)覽的能力?;谏鲜鏊悸?,確定企業(yè)網(wǎng)盤的整體框架如圖1所示,其由底層云存儲(chǔ)技術(shù)、網(wǎng)盤服務(wù)和安全防護(hù)等3部分組成。
圖1 企業(yè)網(wǎng)盤整體架構(gòu)
a.網(wǎng)盤服務(wù)。
網(wǎng)盤服務(wù)是企業(yè)網(wǎng)盤的核心,其由文件夾管理、文件管理、回收站、我的分享、分享中心、協(xié)同工作群和系統(tǒng)管控所組成?!拔募A管理”為用戶進(jìn)行文件分類管理;“文件管理”用于提供對(duì)文件進(jìn)行處理的基礎(chǔ)功能;“回收站”用于恢復(fù)用戶誤刪的文件;“我的分享”用于維護(hù)當(dāng)前用戶對(duì)外分享的文件;“分享中心”用于進(jìn)行文件分享;“協(xié)同工作群”用于支持工作團(tuán)隊(duì)基于網(wǎng)盤進(jìn)行文件的協(xié)同編制工作;“系統(tǒng)管控”主要用于對(duì)用戶進(jìn)行維護(hù),并為用戶和共享群分配容量。
b.云存儲(chǔ)平臺(tái)。
云存儲(chǔ)平臺(tái)為網(wǎng)盤服務(wù)提供底層的技術(shù)支持,其由云存儲(chǔ)內(nèi)核、云存儲(chǔ)服務(wù)、擴(kuò)展服務(wù)和系統(tǒng)監(jiān)控所組成?!霸拼鎯?chǔ)內(nèi)核”負(fù)責(zé)提供發(fā)布式文件系統(tǒng)、分布式數(shù)據(jù)庫、安全管理、負(fù)載均衡和高可用;“云存儲(chǔ)服務(wù)”負(fù)責(zé)提供對(duì)文件進(jìn)行上傳、下載、斷點(diǎn)續(xù)傳等核心能力;“擴(kuò)展服務(wù)”在云存儲(chǔ)服務(wù)的基礎(chǔ)上提供在線預(yù)覽和檢索等功能;“系統(tǒng)監(jiān)控”負(fù)責(zé)對(duì)云存儲(chǔ)的各項(xiàng)性能進(jìn)行監(jiān)控,并對(duì)異常情況進(jìn)行通知和提示[3]。
c.安全防護(hù)。
為了保證數(shù)據(jù)的安全,網(wǎng)盤需要進(jìn)行全面的安全防護(hù),包括對(duì)登錄用戶進(jìn)行身份認(rèn)證、對(duì)數(shù)據(jù)進(jìn)行訪問權(quán)限控制,確保數(shù)據(jù)在傳輸與存儲(chǔ)過程中的安全,防止低密級(jí)用戶訪問高密級(jí)數(shù)據(jù),支持對(duì)用戶行為的事后審計(jì)以及對(duì)數(shù)據(jù)進(jìn)行異地容災(zāi)備份等。
a.支持海量數(shù)據(jù)處理的云存儲(chǔ)平臺(tái)。為了滿足企業(yè)進(jìn)行文件管理的需求,面對(duì)大規(guī)模數(shù)據(jù)文件以及大量用戶,在文件格式多樣、文件大小差異懸殊的情況下,如何進(jìn)行高效的文件管理是首先要解決的問題。同時(shí)隨著應(yīng)用規(guī)模的擴(kuò)大,要求系統(tǒng)能夠平滑地進(jìn)行擴(kuò)容。整個(gè)系統(tǒng)需要解決兩方面擴(kuò)容問題:第一,支持更多的文件存儲(chǔ),即總存儲(chǔ)容量的擴(kuò)充;第二,支持更多的并發(fā)訪問,即并發(fā)支持能力擴(kuò)充。兩方面的擴(kuò)容需要多個(gè)層面的集群技術(shù)支撐。最后,文件管理必須保證文件存儲(chǔ)的安全性和可靠性,以及在存在冗余的情況下保證文件訪問的一致性。云存儲(chǔ)服務(wù)的基礎(chǔ)是分布式文件系統(tǒng)HDFS 和 FastDFS[3]。
b.支持多種格式文件的在線預(yù)覽。企業(yè)所保存的產(chǎn)品研發(fā)、財(cái)務(wù)和市場營銷等數(shù)據(jù)文件,可能是由不同的工具所生成的,因此具有不同的文件格式。為了閱讀不同類型的文件,需要購買和安裝各種對(duì)應(yīng)的閱讀工具。為了解決此問題,首先網(wǎng)盤需在后臺(tái)提供統(tǒng)一的文件格式轉(zhuǎn)換服務(wù),此服務(wù)支持將.doc、.txt、.excl等各種格式的文件轉(zhuǎn)換為統(tǒng)一的可預(yù)覽文件;其次網(wǎng)盤需提供在線預(yù)覽文件的工具,以支持用戶能夠在線預(yù)覽這些文件。對(duì)于網(wǎng)盤不支持的數(shù)據(jù)格式,網(wǎng)盤將預(yù)留擴(kuò)展點(diǎn),以處理這些特殊的文件格式。
c.支持團(tuán)隊(duì)協(xié)同工作的群管理。在企業(yè)的實(shí)際工作中,不可避免地會(huì)涉及到多人之間協(xié)同工作的情況。比如,在進(jìn)行產(chǎn)品研制過程中,編寫產(chǎn)品設(shè)計(jì)說明書時(shí),可能會(huì)涉及到產(chǎn)品經(jīng)理、設(shè)計(jì)工程師和工藝工程師等多個(gè)人員,這些人員需要協(xié)同工作以完成產(chǎn)品設(shè)計(jì)說明書的編寫。為了支持基于文件的協(xié)同工作,企業(yè)網(wǎng)盤需具備如下的能力:一個(gè)獨(dú)立的協(xié)同工作群空間,在此空間能夠?qū)θ旱挠脩暨M(jìn)行管理;用戶能在此空間對(duì)文件進(jìn)行維護(hù);能夠在線預(yù)覽文件,而不需要安裝額外的軟件;用戶能夠就文件進(jìn)行溝通和交流;支持對(duì)文件進(jìn)行版本化管理,做到文件的歷史可追溯。
d.遵循行業(yè)要求的安全防護(hù)。運(yùn)營過程中產(chǎn)生的文件是企業(yè)非常重要的資產(chǎn),因此需要一套完整的安全防護(hù)體系,以保證這些數(shù)據(jù)的安全性。網(wǎng)盤將從下面幾個(gè)方面進(jìn)行考慮:對(duì)用戶進(jìn)行驗(yàn)證,保證只有合法的用戶才能進(jìn)入系統(tǒng);對(duì)用戶的權(quán)限進(jìn)行校驗(yàn),確保只有擁有對(duì)應(yīng)權(quán)限的用戶才能對(duì)文件進(jìn)行操作;對(duì)文件的密級(jí)進(jìn)行控制,防止低密級(jí)的用戶訪問高密級(jí)的文件;對(duì)文件的傳輸過程進(jìn)行加密,防止文件在傳輸過程中被截取;對(duì)存儲(chǔ)在文件服務(wù)器中的數(shù)據(jù)進(jìn)行加密,防止文件被非法獲取;能夠?qū)τ脩粼诰W(wǎng)盤中的行為進(jìn)行記錄,以便進(jìn)行事后的審計(jì);支持對(duì)文件進(jìn)行異地備份,防止發(fā)生單點(diǎn)故障時(shí)造成數(shù)據(jù)丟失。
企業(yè)網(wǎng)盤的部署結(jié)構(gòu)如圖2所示。企業(yè)網(wǎng)盤從部署的角度分為分布式數(shù)據(jù)庫、分布式文件系統(tǒng)、云存儲(chǔ)服務(wù)器引擎、網(wǎng)盤服務(wù)和客戶端,其中分布式數(shù)據(jù)庫、分布式文件系統(tǒng)和云存儲(chǔ)服務(wù)器引擎3部分構(gòu)造底層的云存儲(chǔ)服務(wù)。分布式數(shù)據(jù)庫采用MongoDB的NoSQL數(shù)據(jù)庫,MongoDB為云存儲(chǔ)服務(wù)提供可擴(kuò)展和高性能的元數(shù)據(jù)存儲(chǔ)支持;分布式文件系統(tǒng)采用FastDFS,F(xiàn)astDFS為云存儲(chǔ)服務(wù)提供可擴(kuò)展和可靠的文件存儲(chǔ)支持。基于分布式文件系統(tǒng)和數(shù)據(jù)庫,云存儲(chǔ)服務(wù)引擎為上層應(yīng)用提供海量、安全、高可靠的云存儲(chǔ)服務(wù),通過調(diào)用云存儲(chǔ)服務(wù)器引擎提供的RESTful接口,上層應(yīng)用能夠在任何時(shí)間、任何地點(diǎn)實(shí)現(xiàn)文件的上傳、下載等業(yè)務(wù)的處理。云存儲(chǔ)服務(wù)引擎使用Nginx進(jìn)行負(fù)載均衡控制,以負(fù)責(zé)對(duì)請(qǐng)求服務(wù)進(jìn)行處理和轉(zhuǎn)發(fā),保證云存儲(chǔ)服務(wù)的高可用性和容錯(cuò)能力。云存儲(chǔ)服務(wù)引擎的緩存服務(wù)器用以緩存上層應(yīng)用以往調(diào)用的數(shù)據(jù),以提高響應(yīng)能力;云存儲(chǔ)引擎服務(wù)器負(fù)責(zé)提供實(shí)際的文件上傳、下載等服務(wù)。
網(wǎng)盤服務(wù)為客戶端提供文件存取等服務(wù)。為了應(yīng)對(duì)大規(guī)模的數(shù)據(jù)請(qǐng)求和數(shù)據(jù)處理,網(wǎng)盤服務(wù)也采用Nginx進(jìn)行負(fù)載均衡控制、代理和緩存處理。同時(shí),為了更好地提升對(duì)用戶的請(qǐng)求響應(yīng),將網(wǎng)盤的服務(wù)器分為動(dòng)態(tài)服務(wù)器和靜態(tài)服務(wù)器,動(dòng)態(tài)服務(wù)器用于負(fù)責(zé)動(dòng)態(tài)頁面生成、操作響應(yīng)等,靜態(tài)服務(wù)器負(fù)責(zé)提供靜態(tài)資源以及普通文件下載。
圖2 企業(yè)網(wǎng)盤的部署結(jié)構(gòu)
在實(shí)施企業(yè)網(wǎng)盤之前企業(yè)需要就下面的重要事項(xiàng)進(jìn)行評(píng)估:(1)是否需要在網(wǎng)盤中放置保密性要求高的文件;(2)構(gòu)建網(wǎng)盤的費(fèi)用預(yù)算有多少;(3)有多少數(shù)據(jù)文件在網(wǎng)盤中存儲(chǔ);(4)預(yù)計(jì)有多少用戶使用網(wǎng)盤。如果經(jīng)費(fèi)預(yù)算有限,同時(shí)文件的保密性要求不高,企業(yè)可以考慮租用公有云模式的網(wǎng)盤。如果有充足的預(yù)算,且文件的保密性要求高,則可以考慮搭建企業(yè)自己的私有云模式的網(wǎng)盤應(yīng)用。搭建此模式的網(wǎng)盤應(yīng)用時(shí),需要根據(jù)用戶數(shù)和文件數(shù)量購買合適的服務(wù)器,并根據(jù)實(shí)際情況確定是否需要進(jìn)行集群。
[1] 朱近之.智慧的云計(jì)算:物聯(lián)網(wǎng)的平臺(tái)[M].北京:電子工業(yè)出版社,2011.
[2] 張繼平.云存儲(chǔ)解析[M].北京:人民郵電出版社,2013.
[3] 季向遠(yuǎn),楊濤,李巧紅,等.構(gòu)建安全的私有云存儲(chǔ)平臺(tái)[J].機(jī)械設(shè)計(jì)與制造工程,2014,43(10):51-53.