曾 丹,許小龍,薛勝軍
(1.武漢理工大學(xué) 圖書館,湖北 武漢430070;2.南京大學(xué) 計(jì)算機(jī)科學(xué)與技術(shù)系,江蘇 南京210093;3.南京信息工程大學(xué) 計(jì)算機(jī)與軟件學(xué)院,江蘇 南京210044)
隨著全球信息化的不斷發(fā)展,近幾年全球數(shù)字化信息量增長(zhǎng)了近10 倍,企業(yè)級(jí)數(shù)據(jù)中心存儲(chǔ)需求量從TB 級(jí)上升到PB 級(jí)甚至EB 級(jí),大數(shù)據(jù)的時(shí)代已經(jīng)到來(lái)[1-2]。Google 提出“云計(jì)算”概念后,這一新技術(shù)得到了業(yè)界和學(xué)術(shù)界的廣泛關(guān)注。美國(guó)國(guó)家標(biāo)準(zhǔn)與技術(shù)研究院(national institute of standards and technology,NIST)將云計(jì)算定義為:“云計(jì)算是一種能夠通過(guò)網(wǎng)絡(luò)以便利的、按需的方式獲取計(jì)算資源(網(wǎng)絡(luò)、服務(wù)器、存儲(chǔ)、應(yīng)用和服務(wù))的模式,這些資源來(lái)自一個(gè)共享的、可配置的資源池,并能夠快速獲取和釋放”[3]。云計(jì)算技術(shù)的出現(xiàn)給大數(shù)據(jù)時(shí)代的互聯(lián)網(wǎng)企業(yè)帶來(lái)了新的發(fā)展格局,信息共享中心作為企業(yè)和個(gè)人的信息傳播媒介也面臨著空前的機(jī)遇和挑戰(zhàn)[4]。
信息共享中心已經(jīng)在多個(gè)行業(yè)領(lǐng)域得到應(yīng)用,如教育、交通、醫(yī)療等,同時(shí)也帶來(lái)相應(yīng)的挑戰(zhàn)和機(jī)遇。教育行業(yè)信息共享系統(tǒng)構(gòu)建,以高校圖書館建設(shè)為例,應(yīng)對(duì)讀者不斷增長(zhǎng)的信息服務(wù)需求,構(gòu)建學(xué)科信息共享中心已成為高校圖書館亟待拓展的服務(wù)功能[5]。交通行業(yè)信息共享中心構(gòu)建過(guò)程,以鐵路運(yùn)輸企業(yè)的信息共享中心構(gòu)建為例,網(wǎng)絡(luò)虛擬集中造成企業(yè)內(nèi)部財(cái)務(wù)信息失真、傳遞滯后等問(wèn)題,同時(shí)給管理層決策帶來(lái)不利影響[6]。而對(duì)于醫(yī)療行業(yè)而言,區(qū)域醫(yī)療信息共享和協(xié)同是醫(yī)療信息化和自主診斷系統(tǒng)發(fā)展的必然趨勢(shì),同時(shí)信息共享和交換是醫(yī)療信息資源價(jià)值最大化的重要途徑[7]。隨著信息化進(jìn)程和大數(shù)據(jù)時(shí)代的到來(lái),信息共享中心將面對(duì)龐大的數(shù)據(jù)存儲(chǔ)與數(shù)據(jù)檢索挑戰(zhàn),傳統(tǒng)的數(shù)據(jù)庫(kù)已經(jīng)無(wú)法應(yīng)對(duì)日益增長(zhǎng)的數(shù)據(jù)記錄和用戶信息化需求。
云計(jì)算是一個(gè)理想的網(wǎng)絡(luò)應(yīng)用模式,自從提出了云計(jì)算的概念后,陸續(xù)就有很多IT 廠商推出了自家的云計(jì)算平臺(tái)。如IBM 的藍(lán)云、微軟的Azure和亞馬遜的AWS 等是比較典型的代表。但遺憾的是這些平臺(tái)無(wú)一例外都是商業(yè)性平臺(tái),從而限制了他們的推廣和應(yīng)用。而Hadoop 平臺(tái)則是根據(jù)Google 的MapReduce 技術(shù)設(shè)計(jì)的一款可以更容易開發(fā)和并行處理大規(guī)模數(shù)據(jù)的云計(jì)算開源系統(tǒng)[8],可以最大限度地滿足用戶對(duì)云計(jì)算的需求。
Hadoop 最重要的兩個(gè)模塊是分布式文件系統(tǒng)HDFS[9]和調(diào)度作業(yè)的MapReduce 模型[10],圍繞這兩個(gè)核心模塊的還有支持查詢語(yǔ)言的數(shù)據(jù)倉(cāng)庫(kù)Hive[11]以及可以與分布式數(shù)據(jù)庫(kù)進(jìn)行互操作的HBase[12]。Hadoop 具有高效率、高可靠性、低成本和擴(kuò)容能力強(qiáng)等特點(diǎn)[13],在國(guó)內(nèi)已被淘寶、中國(guó)移動(dòng)大云、中興、華為等公司作為云平臺(tái)廣泛使用。
HDFS 是Hadoop 分布式文件系統(tǒng)(hadoop distributed file system)的縮寫,用于存儲(chǔ)海量數(shù)據(jù)的開源分布式文件系統(tǒng),也是Google GFS 基于列存儲(chǔ)模型的分布式數(shù)據(jù)庫(kù)的開源實(shí)現(xiàn)。它是分布式計(jì)算的存儲(chǔ)數(shù)據(jù)基礎(chǔ),提供高吞吐量的海量數(shù)據(jù)訪問(wèn)。HDFS 具有很高的容錯(cuò)性,可以方便地部署在廉價(jià)的硬件設(shè)備上,特別是用于處理海量數(shù)據(jù)應(yīng)用,并且支持高吞吐率的數(shù)據(jù)讀寫功能。HDFS 也能支持對(duì)大數(shù)據(jù)訪問(wèn)的可擴(kuò)展性,只是簡(jiǎn)單地向集群里增加節(jié)點(diǎn)就能解決大量客戶端同時(shí)訪問(wèn)節(jié)點(diǎn)的問(wèn)題。HDFS 同時(shí)也支持傳統(tǒng)的層次式文件組織結(jié)構(gòu),與現(xiàn)有的一些文件系統(tǒng)的操作功能類似,也支持對(duì)文件進(jìn)行相應(yīng)的增刪改查等操作。
MapReduce 是處理海量數(shù)據(jù)的分布式處理模型,也是Google 的MapReduce 模型的開源實(shí)現(xiàn),它可以在大型的數(shù)據(jù)集群上運(yùn)行分布式應(yīng)用,并且以其簡(jiǎn)單性和可用性而著稱。MapReduce 是一種簡(jiǎn)化了的并行計(jì)算模型,抽象出了兩個(gè)簡(jiǎn)單且強(qiáng)大的接口,分別是Map 和Reduce。這兩個(gè)接口分別對(duì)任務(wù)進(jìn)行分解和對(duì)結(jié)果進(jìn)行匯總輸出?;谶@種模型,大大簡(jiǎn)化了分布式程序編寫的難度,用戶甚至不需要多少并行計(jì)算的開發(fā)經(jīng)驗(yàn),就可以非常方便地開發(fā)出高質(zhì)量的分布式程序,實(shí)現(xiàn)大數(shù)據(jù)的計(jì)算。
云計(jì)算技術(shù)在數(shù)據(jù)存儲(chǔ)、資源共享、可靠性和分布式數(shù)據(jù)庫(kù)檢索方面具有較大的優(yōu)勢(shì)。隨著社會(huì)的發(fā)展,未來(lái)行業(yè)內(nèi)部的信息資源將會(huì)向共享方面發(fā)展?;谠品?wù)的信息共享平臺(tái)CBISP可以為行業(yè)內(nèi)部的各個(gè)下級(jí)部門提供資源存儲(chǔ)和檢索功能。圖1 顯示了CBISP 應(yīng)用場(chǎng)景,主要由以下3 類角色組成:
(1)平臺(tái)支持個(gè)體。平臺(tái)支持個(gè)體指提供共享資源的部門,如行業(yè)內(nèi)部各個(gè)下級(jí)單位。平臺(tái)支持個(gè)體是CBISP 的最基本組成部分,也是平臺(tái)信息的基本提供者。CBISP 自身?yè)碛蟹植际娇蓴U(kuò)展的數(shù)據(jù)庫(kù),數(shù)據(jù)庫(kù)中存放的主要數(shù)據(jù)由平臺(tái)支持個(gè)體提供。平臺(tái)支持個(gè)體將自身的信息分為可共享信息和不可共享信息。不可共享信息由平臺(tái)支持個(gè)體內(nèi)部使用,不對(duì)外開放;共享信息將提交給CBISP 以提供共享服務(wù)。不同平臺(tái)支持個(gè)體提供的數(shù)據(jù)結(jié)構(gòu)是不同的,CBISP 開發(fā)過(guò)程中需要建立統(tǒng)一標(biāo)準(zhǔn)的數(shù)據(jù)結(jié)構(gòu)。圖1 中包含n個(gè)平臺(tái)支持個(gè)體{部門1,部門2,…,部門n}。
(2)用戶。用戶是與CBISP 交互的基本個(gè)體,如外部用戶、部門內(nèi)部用戶,以及管理員等。CBISP 為廣大用戶提供了不同的外部接口。外部用戶是CBISP 最廣泛的用戶群體,此類用戶可以通過(guò)接口向CBISP 發(fā)送信息檢索、信息預(yù)訂(申請(qǐng)平臺(tái)中沒(méi)有的資源),以及個(gè)人資源請(qǐng)求記錄查詢等請(qǐng)求。平臺(tái)管理員是CBISP 的管理用戶,主要工作是進(jìn)行平臺(tái)用戶權(quán)限的設(shè)定、接受并匯編支持個(gè)體的數(shù)據(jù)記錄,以及數(shù)據(jù)庫(kù)管理等功能。部門內(nèi)部用戶可以根據(jù)權(quán)限獲取更高級(jí)別的信息檢索能力。集群管理員是管理CBISP 底層數(shù)據(jù)中心的用戶,主要操作包括:節(jié)點(diǎn)管理(動(dòng)態(tài)增加和刪除)、狀態(tài)監(jiān)控,以及節(jié)點(diǎn)信息管理。圖1 中將用戶表示為{用戶1,用戶2,…,用戶m}。
(3)信息共享個(gè)體。信息共享個(gè)體是與CBISP 交互的個(gè)體,接受來(lái)自CBISP 的資源預(yù)定請(qǐng)求,同時(shí)為其提供整編后的信息資源。圖1 中信息共享個(gè)體包括資源提供用戶和資源提供部門。對(duì)于專有行業(yè)而言,信息共享個(gè)體為資源提供部門,它不向外部提供所有的資源共享接口,也不接受來(lái)自外部個(gè)體的共享資源。對(duì)于公共信息共享中心而言,信息共享個(gè)體為資源提供個(gè)體,資源提供者可以來(lái)自信息共享中心的外部。信息共享個(gè)體是CBISP 不可或缺的一部分,其可輔助完善CBISP 共享信息數(shù)據(jù)庫(kù),更好地為用戶提供服務(wù),進(jìn)而提升整體的信息化服務(wù)水平。
圖1 基于云服務(wù)的信息共享平臺(tái)應(yīng)用場(chǎng)景
云服務(wù)供應(yīng)商所提供的解決方案中,根據(jù)云服務(wù)的特征通常將其分為:基礎(chǔ)設(shè)施即服務(wù)(infrastructure as a service,IAAS)、平臺(tái)即服務(wù)(platform as a service,PAAS)和軟件即服務(wù)(software as a service,SAAS)。筆者提出的CBISP 是基于Hadoop 開源云計(jì)算技術(shù)構(gòu)建,其體系結(jié)構(gòu)從下至上可分為4 層,如圖2 所示。
圖2 CBISP 體系結(jié)構(gòu)圖
(1)硬件層。硬件層中的基礎(chǔ)設(shè)施由計(jì)算資源、存儲(chǔ)資源和網(wǎng)絡(luò)資源組成。CBISP 數(shù)據(jù)中心可以由現(xiàn)有的服務(wù)器構(gòu)建,可以由平臺(tái)支持個(gè)體的閑置機(jī)器組成,也可以由高校和企事業(yè)單位現(xiàn)有的服務(wù)器組合而成。數(shù)據(jù)中心的硬件可以有不同型號(hào)和配置,當(dāng)數(shù)據(jù)中心無(wú)法滿足用戶需求時(shí),硬件可以動(dòng)態(tài)地?cái)U(kuò)充。硬件層可以實(shí)現(xiàn)現(xiàn)有行業(yè)內(nèi)部軟硬件資源的整合以及資源共享。
(2)平臺(tái)層。平臺(tái)層主要由分布式文件系統(tǒng)HDFS、分布式數(shù)據(jù)庫(kù)HBase、數(shù)據(jù)倉(cāng)庫(kù)Hive,以及計(jì)算模型MapReduce 組成。HDFS 作為底層的分布式文件系統(tǒng),采用副本策略,具有高可靠性。HBase 是典型的分布式數(shù)據(jù)庫(kù),適用于非結(jié)構(gòu)化數(shù)據(jù)存儲(chǔ),是Google BigTable 的開源產(chǎn)品。Big-Table 已經(jīng)應(yīng)用于Google 地球,證明其對(duì)于圖像檢索是高效的。信息共享中心管理系統(tǒng)中保存了海量的圖像信息,可以選擇使用HBase 進(jìn)行存儲(chǔ),便于用戶檢索。Hive 適用于靜態(tài)結(jié)構(gòu)化數(shù)據(jù)檢索,可以用于構(gòu)建歷史資料數(shù)據(jù)庫(kù)、用戶信息庫(kù),以及共享個(gè)體庫(kù)等。MapReduce 分布式計(jì)算架構(gòu)可以進(jìn)行高效的數(shù)據(jù)處理,使用MapReduce中的Map 函數(shù)和Reduce 函數(shù)可以統(tǒng)計(jì)、分析CBISP 信息處理的整體狀態(tài)。
(3)應(yīng)用層。應(yīng)用層主要包括共享資料管理、資料信息檢索、資料整合、節(jié)點(diǎn)管理和狀態(tài)監(jiān)控等功能。共享資料管理主要是平臺(tái)管理員對(duì)數(shù)據(jù)庫(kù)中資料信息進(jìn)行管理,包括增加、刪除和修改等操作。資料整合供平臺(tái)管理員根據(jù)不同平臺(tái)支持個(gè)體提供的信息進(jìn)行數(shù)據(jù)整合入庫(kù)。資料信息檢索主要是針對(duì)外部用戶設(shè)計(jì)的,外部用戶根據(jù)搜索條件從數(shù)據(jù)庫(kù)中檢索自己所需要的資料清單。節(jié)點(diǎn)管理和狀態(tài)監(jiān)控均由集群管理員操作,節(jié)點(diǎn)管理主要用于數(shù)據(jù)中心增加、刪除數(shù)據(jù)節(jié)點(diǎn)。狀態(tài)監(jiān)控主要用于查看整個(gè)數(shù)據(jù)中心的運(yùn)行狀態(tài)。上述功能是CBISP 的基本功能,除此之外,還可以根據(jù)不同用戶需求設(shè)計(jì)相應(yīng)的功能模塊。
(4)用戶層。用戶層包含可以與CBISP 進(jìn)行交互的所有用戶,如所提到的平臺(tái)用戶、平臺(tái)支持個(gè)體、信息共享個(gè)體、平臺(tái)管理員和集群管理員。用戶層處于架構(gòu)的頂層,集群管理員具有底層數(shù)據(jù)中心管理權(quán)限,對(duì)于其他用戶而言硬件層是透明的。根據(jù)用戶層不同需求,CBISP 可以利用平臺(tái)層提供的接口開發(fā)相應(yīng)的應(yīng)用,以提供信息共享服務(wù)。
云計(jì)算在信息共享中心中的應(yīng)用,不僅是技術(shù)上的革新,而且也是對(duì)生存和發(fā)展環(huán)境的深刻變革。因而,筆者提出了在開源云平臺(tái)Hadoop 構(gòu)建基于云的信息共享平臺(tái)CBISP,從而解決目前區(qū)域范圍內(nèi)存儲(chǔ)和計(jì)算資源利用率低下、信息共享能力不強(qiáng),以及信息化進(jìn)程緩慢等問(wèn)題。CBISP 對(duì)于提升信息共享中心服務(wù)水平和信息共享能力具有積極的支持和推動(dòng)作用。
[1]JOHN P D,GANTZ F,CHUTE C,et al. The diverse and exploding digital universe:an updated forecast of worldwide information growth through 2011 [R].[S.l.]:[s.n.],2008.
[2]孟小峰,慈祥. 大數(shù)據(jù)管理:概念,技術(shù)與挑戰(zhàn)[J].計(jì)算機(jī)研究與發(fā)展,2013,50(1):146 -169.
[3]潘文字,段勇.云計(jì)算在電信行業(yè)的應(yīng)用研究[J].電信科學(xué),2010(6):25 -29.
[4]潘天怡. 公共信息共享初探[J]. 中國(guó)科技資源導(dǎo)刊,2010(3):87 -89.
[5]李蓉芳.高校圖書館應(yīng)建設(shè)學(xué)科信息共享中心[J].天津市經(jīng)理學(xué)院學(xué)報(bào),2012(1):44 -45.
[6]王啟東.鐵路運(yùn)輸企業(yè)財(cái)務(wù)信息共享中心診斷及改進(jìn)研究[J].財(cái)經(jīng)界,2013(18):188 -189.
[7]萬(wàn)瑩.區(qū)域醫(yī)療信息共享協(xié)同平臺(tái)技術(shù)研究及應(yīng)用[D].長(zhǎng)沙:中南大學(xué)圖書館,2012.
[8]苗秀,俞俊生,劉紹華,等.基于云計(jì)算平臺(tái)的移動(dòng)IPTV 系統(tǒng)設(shè)計(jì)及負(fù)載均衡技術(shù)研究[J]. 軟件,2011,32(1):46 -53.
[9]佚名.HDFS[EB/OL]. [2014 -04 -16].http://hadoop.apache.org/docs/r1.0.4/hdfs_design.htm.
[10]佚名.MapReduce[EB/OL]. [2014 -04 -16].http://wiki.apache.org/hadoop/MapReduc.
[11]佚名.Apache Hive[EB/OL]. [2014 -04 -16].http://hive.apache.org/.
[12]佚名.Apache HBase[EB/OL]. [2014 -04 -16].http://hbase.apache.org/.
[13]孫牧. 云端的小飛象:Hadoop[J]. 程序員,2008(2):100 -102.