• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于云平臺NoSQL的海量天文圖像存儲研究

      2014-02-04 02:55:58陳慧英
      計算機與網(wǎng)絡(luò) 2014年15期
      關(guān)鍵詞:分片關(guān)鍵字海量

      陳慧英

      (昆明理工大學(xué)教育技術(shù)與網(wǎng)絡(luò)中心 云南 昆明 650500)

      基于云平臺NoSQL的海量天文圖像存儲研究

      陳慧英

      (昆明理工大學(xué)教育技術(shù)與網(wǎng)絡(luò)中心 云南 昆明 650500)

      云計算所提出的全新計算和存儲思想,對海量數(shù)據(jù)的存儲解決方案以及快速訪問有效數(shù)據(jù)資源提供了參考。以云存儲平臺NoSQL數(shù)據(jù)庫為背景,研究海量天文數(shù)據(jù)的存儲和訪問技術(shù)。首先構(gòu)建了基于MongoDB平臺的天文圖像FITS文件存儲原型,在此基礎(chǔ)上設(shè)計并分析存儲實驗。實驗結(jié)果表明,數(shù)據(jù)分片存儲以及選擇最佳的分片大小能有效提高天文數(shù)據(jù)的存儲和訪問效率。

      海量天文數(shù)據(jù)云存儲NoSQL MongoDB數(shù)據(jù)分片

      1 引言

      虛擬天文臺天文數(shù)據(jù)存儲基本采用“Linux+IDE硬盤+軟RAID技術(shù)”模式[1]。實際上,傳統(tǒng)的直接存儲技術(shù)難以滿足天文領(lǐng)域每日TB級動態(tài)增長的海量數(shù)據(jù)存儲以及數(shù)據(jù)的實時處理、同步傳輸和多點備份等一系列需求[2]。近些年來,由于微軟、蘋果、google、IBM、戴爾和Amazon等知名服務(wù)商的加入,云存儲技術(shù)發(fā)展更為迅速。iCloud、Cloud Drive、Dropbox和SkyDrive等都是典型的云存儲應(yīng)用[3]。鑒于云存儲技術(shù)所具有的安全性、性能和可擴(kuò)展性等方面的優(yōu)勢,美國加州理工大學(xué)的G.Bruce Berriman等人就將商業(yè)的云計算應(yīng)用于天文學(xué),以EC2云服務(wù)平臺為科學(xué)工作流應(yīng)用研究數(shù)據(jù)共享方案,比較了傳統(tǒng)架構(gòu)與商業(yè)云服務(wù)在成本和性能上對科學(xué)應(yīng)用的影響[4]。與此同時,NoSQL(Not Only SQL)—非關(guān)系數(shù)據(jù)管理技術(shù)開始出現(xiàn),作為云計算(存儲)的重要組成部分,NoSQL強有力地支撐了分布式存儲技術(shù)的發(fā)展[5]。至此,國際上已有將云存儲技術(shù)和NoSQL技術(shù)應(yīng)用于天文圖像存儲的先例,并取得了一定進(jìn)展[6]。

      2 面向NoSQL的海量天文數(shù)據(jù)存儲

      天文觀測采集到的原始數(shù)據(jù)一般存在數(shù)據(jù)量大、讀寫比例高和改寫率低等特征。FITS(Flexible Image Transport System)文件于1982年由國際天文學(xué)會確定為各天文臺之間用于傳輸和交換天文數(shù)據(jù)的統(tǒng)一標(biāo)準(zhǔn)格式[7]。FITS文件由

      FITS頭和二進(jìn)制的圖像數(shù)據(jù)組成,數(shù)據(jù)量極大。對天文數(shù)據(jù)進(jìn)行分析時,需要讀取大量數(shù)據(jù),而檢索數(shù)據(jù)具有局域性,需要對相鄰區(qū)域的數(shù)據(jù)進(jìn)行連續(xù)訪問。采集到的天文數(shù)據(jù)一旦存儲下來,很少有機會再對其更改?;诖?,天文數(shù)據(jù)存儲的需求可歸納為:①海量存儲;②可將FITS文件分開存儲(FITS頭部分和數(shù)據(jù)部分),并通過FITS頭文件中的特定參數(shù)進(jìn)行數(shù)據(jù)檢索;③實時高速讀寫。

      2.1 NoSQL存儲海量天文數(shù)據(jù)的優(yōu)勢

      NoSQL存儲海量天文數(shù)據(jù)的優(yōu)勢有:①海量數(shù)據(jù)存儲:同傳統(tǒng)數(shù)據(jù)庫不同的是,NoSQL將分布式系統(tǒng)、分區(qū)和集群等技術(shù)應(yīng)用于數(shù)據(jù)分布式存儲,使其具有出色的水平擴(kuò)展能力,以有效擴(kuò)大存儲規(guī)模,滿足海量數(shù)據(jù)存儲的要求;②多模式存儲自由:目前來看,未來存儲的數(shù)據(jù)不僅僅是結(jié)構(gòu)化數(shù)據(jù)(整數(shù)和浮點數(shù)等),更多的是半結(jié)構(gòu)化數(shù)據(jù)(XML、電子郵件等)和非結(jié)構(gòu)化數(shù)據(jù)(文檔、圖片和視頻等)。而NoSQL數(shù)據(jù)庫所存儲的數(shù)據(jù),不再是整數(shù)和浮點數(shù)等基本的數(shù)據(jù)類型,而是擴(kuò)展到了整個文件,為數(shù)據(jù)存儲提供了更多的自由度;③高效的讀寫性能:有實踐證明,面對每秒數(shù)萬次的讀寫請求,傳統(tǒng)數(shù)據(jù)庫難以承受,而NoSQL數(shù)據(jù)庫卻能夠從容應(yīng)對(如Google就是使用了NoSQL數(shù)據(jù)庫[8])。

      2.2 NoSQL與天文數(shù)據(jù)的融合

      2.2.1 FITS文件頭存儲

      FITS文件頭中包含一系列固定長度的標(biāo)題記錄,且每個標(biāo)題記錄由關(guān)鍵字和對應(yīng)的值組成。在NoSQL數(shù)據(jù)庫中,標(biāo)題記錄可以以“鍵/值”的形式表示,一個FITS頭作為一條“鍵/值”記錄存儲。這樣,NoSQL數(shù)據(jù)庫可以按照標(biāo)題記錄中的任何關(guān)鍵字進(jìn)行檢索。

      2.2.2 存儲二進(jìn)制數(shù)據(jù)

      存儲二進(jìn)制數(shù)據(jù)有2種方式:①采用如GridFS(一種大型文件存儲規(guī)范)等文件上傳工具,直接將整個數(shù)據(jù)文件上傳至數(shù)據(jù)庫;②采用分片的方式,將一個二進(jìn)制文件切分成多個數(shù)據(jù)片,每一個數(shù)據(jù)片作為一條記錄的一個字段存儲,并在該記錄中增加一個描述分片的信息字段,將每個分片以數(shù)據(jù)記錄的方式存儲到NoSQL數(shù)據(jù)庫中。在前期對NoSQL相關(guān)數(shù)據(jù)庫做了詳細(xì)的調(diào)研分析工作,結(jié)合研究需要,最終選取MongoDB作為平臺進(jìn)行后續(xù)的研究工作。

      3 海量天文圖像存儲

      3.1 FITS文件頭解析和提取

      3.1.1 FITS頭解析

      FITS頭包括FITS文件的標(biāo)識符,比特數(shù),圖像維數(shù)以及圖像輔助信息和說明。FITS頭總共有2 880 Bytes,每個標(biāo)題記錄均為80 Bytes,共含36個標(biāo)題記錄。每一標(biāo)題記錄存儲圖像的某一特征信息。標(biāo)題記錄的第一列開始為關(guān)鍵字,第9列一定是“=”,緊跟“=”號之后的是關(guān)鍵字的值。值最后的字符在第30列。每個FITS文件必須包含SIMPLE、BITPIX、NAXIS和END關(guān)鍵字,且必須按此順序排列。在關(guān)鍵字之間可插入其他的標(biāo)題記錄,但第一個標(biāo)題記錄的關(guān)鍵字一定是以SIMPLE開始,最后以END關(guān)鍵字作為FITS頭的結(jié)束。

      3.1.2 提取FITS文件頭

      所謂提取FITS文件頭,即按每80個字節(jié)為單位,從FITS文件中讀取標(biāo)題記錄,并將該記錄的關(guān)鍵字作為字段名,值作為字段值,END關(guān)鍵字表示提取結(jié)束。然后將整個FITS文件頭中的所有記錄按照“鍵/值”的方式組成一條數(shù)據(jù)記錄存儲到NoSQL中。

      3.2 文件頭和文件的存儲規(guī)范設(shè)計

      在對FITS文件制定存儲規(guī)范時,應(yīng)充分考慮到數(shù)據(jù)檢索的便利性。考慮到NoSQL數(shù)據(jù)庫的特點,為了方便實現(xiàn)分片存儲,把FITS頭和FITS數(shù)據(jù)文件分開存儲到不同的數(shù)據(jù)集,然后通過FITS頭中的關(guān)鍵字檢索整個FITS文件。而當(dāng)將FITS數(shù)據(jù)文件分片后,要通過FITS頭檢索到所有數(shù)據(jù)文件時,必須在FITS頭和所有分片數(shù)據(jù)之間找一個關(guān)聯(lián)關(guān)鍵字。研究中,選取FITS文件名作為此關(guān)聯(lián)關(guān)鍵字。

      文件頭作為一條記錄存儲至MongoDB的數(shù)據(jù)集中,而FITS數(shù)據(jù)文件進(jìn)行分片之后存儲在另一個數(shù)據(jù)集中。其中,每個分片文件作為一條記錄存儲起來。每條記錄由FITS文件名、分片號、FITS文件總大小、該分片大小和該分片數(shù)據(jù)組成。每條記錄都是以“鍵/值”方式存儲的。

      3.3 FITS文件分片

      FITS文件分片記錄生成規(guī)范:首先按照指定的分片大小對FITS數(shù)據(jù)文件進(jìn)行切分,然后通過FITS文件的總長度對指定分片大小取模,得到每個分片數(shù)據(jù)的分片號。將每個數(shù)據(jù)分片加上FITS文件名、總大小和分片大小等就組成了一條分片記錄。

      4 海量天文圖像存儲實驗分析

      4.1 分片存儲效率

      實驗測試數(shù)據(jù)分布式存儲時,文件分片與不分片對系統(tǒng)存儲效率的影響。實驗基于4 M大小的FITS文件。將分片大小設(shè)置為存儲文件的實際大小即為不分片。分片則是隨機選取512 K作為指定分片大小對FITS文件進(jìn)行分片。實驗中按上述描述分別將FITS文件存儲到MongoDB數(shù)據(jù)集中,連續(xù)

      寫文件400次,統(tǒng)計每次寫時間,得到2組實驗數(shù)據(jù)。2組測試數(shù)據(jù)的對比分析結(jié)果如圖1所示。

      圖1 不分片與分片時寫時間對比

      以上對比分析表明,在MongoDB平臺上,分片與不分片在數(shù)據(jù)文件存儲效率上存在顯著差異,而且文件分片能夠較大幅度提升海量數(shù)據(jù)的存儲效率。

      4.2 最佳分片大?。╟hunksize)

      分片大小,即為數(shù)據(jù)集群中分片的塊大小。shard集群中數(shù)據(jù)以塊(chunk)為存儲單位,存儲在各個shard數(shù)據(jù)節(jié)點上。為了平衡數(shù)據(jù)的分布,集群會自動根據(jù)實際情況移動chunks。如果Chunksize設(shè)置過大,可能在每個塊傳輸過程中都會造成長時間的鎖表,設(shè)置過小,又可能會導(dǎo)致節(jié)點間塊傳輸過于頻繁,降低效率。本實驗參考MongoDB的分片機制手動編程實現(xiàn)文件分片,同時,設(shè)置不同chunksize反復(fù)執(zhí)行測試。針對4 M的FITS文件,實驗選取了13組分片值分別測試,如圖2、圖3、圖4和圖5所示。

      圖2 不同分片寫文件時間對比

      圖3 不同分片寫文件時間平均值(加權(quán)平均寫時間散點圖)

      圖4 不同分片讀文件時間對比

      圖5 不同分片時讀文件時間平均值對比(加權(quán)平均讀時間散點圖)

      圖2顯示到當(dāng)分片過小時,寫效率很低,chunksize稍微增大寫效率明顯提升,當(dāng)增加到一定大小時,時間降低的幅度逐漸減小,效率有提升,但不明顯,圖3表明分片值為512 K的時候存儲效率最高。從圖4和圖5可以看出讀文件效率隨著chunksize的不斷增大而提升,只是提升幅度成遞減趨勢。當(dāng)增大到存儲文件大小的1/2時出現(xiàn)反彈。

      4.3 文件大小與最佳分片大小

      以上實驗都基于4 M大小的FITS文件展開。雖然天文圖像數(shù)據(jù)以4 M大小居多,但也存在其他大小的天文數(shù)據(jù)圖像文件。為了更好的滿足海量天文圖像的存儲要求,實驗將選取另外幾組不同大小的文件繼續(xù)做最佳分片大小的對比分析。實驗選取文件大小分別為2 M、8 M和16 M的3種文件,針對每種文件大小取7組分片。實驗二表明分片值大小越大讀效率越高,而本實驗實施過程中發(fā)現(xiàn)不同大小的文件有同樣規(guī)律,因此本文將不針對不同大小文件考慮讀效率分析。

      經(jīng)分析本實驗得出以下結(jié)論:文件為8 M或以下時,最佳分片大小參考值為文件大小的1/8,當(dāng)文件大小繼續(xù)增大時,最佳分片大小不再增加,16 M以上文件(包含16 M)的最佳分片大小參考值為1 M。

      5 結(jié)束語

      采用云存儲平臺存儲海量天文圖像數(shù)據(jù),并通過部署NoSQL環(huán)境驗證其良好性能。實驗選用標(biāo)配服務(wù)器,部署2個數(shù)據(jù)節(jié)點搭建存儲集群,采用千兆每秒的帶寬,單網(wǎng)卡操作,4 M的FITS文件的讀寫性能達(dá)到80 M/s。如需更高效地實現(xiàn)海量天文圖像存儲可通過增加節(jié)點數(shù),采用更高網(wǎng)絡(luò)帶寬以及多網(wǎng)卡。因此在實際天文研究中采用云計算和云存儲服務(wù)將大幅度地提高效率,節(jié)約成本。

      [1]李文.虛擬天文臺環(huán)境下的海量數(shù)據(jù)存儲與訪問技術(shù)研究[D].天津:天津大學(xué),2007.

      [2]陳慧英.基于NoSQL數(shù)據(jù)庫的海量天文圖像分布存儲研究[D].昆明:昆明理工大學(xué),2012.

      [3]梁彪,曹宇佶,秦中元,等.云計算下的數(shù)據(jù)存儲安全可證明性綜述[J].計算機應(yīng)用研究,2012,29(7):2416-2421.

      [4]BERRIMAN G B,JUVE G,DEELMAN E,et al.The Application of Cloud Computing to Astronomy:A Study of Cost and Performance[C]//E-Science Workshops.2010 Sixth IEEE International Conference on.2010:1-7.

      [5]STRAUCH C,SITES U L S,KRIHA W.NoSQL databases [M].German:Stuttgart Media University,2011.

      [6]ENKE H,PARTL A,REINEFELD A,et al.Handling Big Data in Astronomy and Astrophysics:Rich Structured Queries on Replicated Cloud Data with XtreemFS[J]. Datenbank-Spektrum,2012,12(3):173-181.

      [7]季凱帆,曹文達(dá).FITS,BMP和SCR圖像格式及相互轉(zhuǎn)換[J].云南天文臺臺刊,1996(2):60-64.

      [8]RAMANATHAN S,GOEL S,ALAGUMALAI S.Comparison of Cloud database:Amazon's SimpleDB and Google's Bigtable [C]//Recent Trends in Information Systems(ReTIS),2011 International Conference on,2011:165-168.

      Research on Massive Astronomical Image Storage Based on NoSQL Cloud Platform

      CHEN Hui-ying
      (Kunming University of Science and Technology,Kunming Yunnan 650500,China)

      The bran-new calculation and storage ideas proposed by cloud computing provide the

      for storage solutions of massive data and rapid access of effective data resources.This paper studies the storage and access technologies of massive astronomical data based on cloud storage platform NoSQL database.Firstly,this paper builds an astronomical image FITS file storage prototype based on MongoDB platform.On this basis,this paper designs and analyzes the storage experiments.The experimental results show that the data partition storage and selection of optimal segment size can effectively improve the effectiveness of astronomical data storage and access.

      massive astronomical data;cloud storage;NoSQL;MongoDB;data partition

      TP391

      A

      1008-1739(2014)15-60-4

      定稿日期:2014-07-12

      猜你喜歡
      分片關(guān)鍵字海量
      上下分片與詞的時空佈局
      詞學(xué)(2022年1期)2022-10-27 08:06:12
      一種傅里葉域海量數(shù)據(jù)高速譜聚類方法
      履職盡責(zé)求實效 真抓實干勇作為——十個關(guān)鍵字,盤點江蘇統(tǒng)戰(zhàn)的2021
      華人時刊(2022年1期)2022-04-26 13:39:28
      分片光滑邊值問題的再生核方法
      CDN存量MP4視頻播放優(yōu)化方法
      成功避開“關(guān)鍵字”
      海量快遞垃圾正在“圍城”——“綠色快遞”勢在必行
      基于模糊二分查找的幀分片算法設(shè)計與實現(xiàn)
      一個圖形所蘊含的“海量”巧題
      基于文件系統(tǒng)的分布式海量空間數(shù)據(jù)高效存儲與組織研究
      梅河口市| 彭水| 哈巴河县| 沐川县| 青海省| 沅陵县| 古浪县| 松滋市| 辰溪县| 佛学| 栖霞市| 修水县| 神农架林区| 枣阳市| 皋兰县| 马鞍山市| 肥乡县| 隆德县| 榕江县| 宁河县| 思南县| 广德县| 高雄县| 涿鹿县| 水富县| 南汇区| 巴中市| 苍山县| 宁阳县| 兰溪市| 介休市| 饶河县| 铜陵市| 普安县| 三台县| 财经| 长治市| 许昌市| 澄江县| 南乐县| 丹江口市|