• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    基于NGAS的多點觀測數(shù)據(jù)存儲與同步方法*

    2019-04-19 08:56:10石聰明衛(wèi)守林鋒1
    天文研究與技術(shù) 2019年2期
    關(guān)鍵詞:客服線程消息

    石聰明,鄧 輝,戴 偉,衛(wèi)守林,王 鋒1,,4

    (1. 昆明理工大學(xué)管理與經(jīng)濟學(xué)院,云南 昆明 650093;2. 廣州大學(xué)天體物理中心/物理與電子工程學(xué)院,廣東 廣州 510006;3. 昆明理工大學(xué)云南省計算機技術(shù)應(yīng)用重點實驗室,云南 昆明 650500;4. 中國科學(xué)院云南天文臺,云南 昆明 650011)

    由中國、澳大利亞、南非、英國等國家共同參與建設(shè)的平方千米陣列望遠鏡是目前最大的天文實驗裝置,具有前所未有的靈敏度、巡天速度和視場[1-3]。SKA望遠鏡由分布在澳大利亞西部沙漠上的工作頻率為50~350 MHz的低頻螺旋對數(shù)天線和南非及南部非洲8個國家的工作頻率為350 MHz~15 GHz的高頻蝶形天線構(gòu)成,總接收面積達1平方千米[4-5]。SKA將產(chǎn)生超海量的觀測數(shù)據(jù),在SKA-1階段,每秒產(chǎn)生高達數(shù)十TB的原始數(shù)據(jù),需要長期保存的科學(xué)數(shù)據(jù)每年新增50~300 PB;在SKA-2階段,每年新增的科學(xué)數(shù)據(jù)將達到SKA-1階段的100倍[3,6]。

    為了應(yīng)對當前面臨的預(yù)算和數(shù)據(jù)量處理的限制等相關(guān)問題,SKA提出建設(shè)區(qū)域數(shù)據(jù)中心,實現(xiàn)數(shù)據(jù)的異地存儲與歸檔,通過各國科學(xué)中心的建設(shè)推動科學(xué)研究工作的方案。這一目標的達成要求海量觀測數(shù)據(jù)能夠高速地從觀測地(南非和澳大利亞)的數(shù)據(jù)中心同步傳輸、存儲到區(qū)域數(shù)據(jù)中心,從當前的技術(shù)水平來看,這一需求具有非常大的挑戰(zhàn)。

    下一代歸檔存儲系統(tǒng)是當前射電天文領(lǐng)域最為常用的一套成熟的觀測結(jié)果歸檔軟件,系統(tǒng)采用Python開發(fā),功能豐富,具有高度的移植性。NGAS設(shè)計之初是為了解決歐洲南方天文臺在20世紀末期面臨的每天新增55 GB觀測數(shù)據(jù)進行高效且低成本的數(shù)據(jù)歸檔、處理、檢索及同步的問題[7]。在SKA先導(dǎo)默奇森寬場陣列(Murchison Widefield Array, MWA)中,NGAS被用于默奇森寬場陣列與美國麻省理工學(xué)院和新西蘭惠靈頓維多利亞大學(xué)[8]間的數(shù)據(jù)同步,也被歐洲南方天文臺用來歸檔管理產(chǎn)生的海量觀測數(shù)據(jù)及同步存儲到不同的站點[9-12];阿塔卡馬大型毫米波/亞毫米波陣列(ALMA)使用NGAS將收集的觀測數(shù)據(jù)同步到美國、日本和德國的區(qū)域數(shù)據(jù)中心[11-12]。

    然而,在面對SKA這一類具有更高時效性要求的數(shù)據(jù)同步與歸檔需求時,NGAS仍然面臨著一些問題。遠程數(shù)據(jù)同步效率是其中一個重要方面,根本原因在于NGAS在同步傳輸數(shù)據(jù)的過程中使用基于HTTP的方式,由于HTTP協(xié)議封裝效率較低,導(dǎo)致整個數(shù)據(jù)傳輸性能較差。SKA-1的數(shù)據(jù)同步量相對較少,采用HTTP協(xié)議封裝可以滿足要求。隨著SKA-2的建設(shè),數(shù)據(jù)量呈指數(shù)增長,研究新的封裝方法,提高效率就成為一種必然。

    由于當前SKA正在設(shè)計評估階段,部分需求還沒有最終確定。因此,對于SKA數(shù)據(jù)歸檔和遠程同步工作均在預(yù)研與測試階段,本文正是在這方面開展的基礎(chǔ)性工作。為提高遠程數(shù)據(jù)同步性能,針對我國建設(shè)區(qū)域數(shù)據(jù)中心的需要,進一步研究了基于ZeroMQ的多點觀測數(shù)據(jù)存儲與同步方法。

    1 NGAS的底層實現(xiàn)分析

    NGAS的核心是一個多線程并發(fā)HTTP服務(wù)器,NGAS通過關(guān)系型數(shù)據(jù)庫(RDBMS)管理歸檔文件的元數(shù)據(jù)、訂閱者信息、磁盤信息等。NGAS[注]https://ngas.readthedocs.io/en/latest/index.html實現(xiàn)了STATUS,ONLINE,OFFLINE,ARCHIVE,SUBSCRIBE,UNSUBSCRIBE等20多個自定義命令,這些命令的主要功能是實現(xiàn)基本的數(shù)據(jù)歸檔與檢索、服務(wù)器端數(shù)據(jù)壓縮和過濾、自動鏡像數(shù)據(jù)、磁盤跟蹤、離線數(shù)據(jù)傳輸、數(shù)據(jù)一致性校驗、數(shù)據(jù)訂閱(數(shù)據(jù)存儲與同步)等功能。

    NGAS的數(shù)據(jù)同步傳輸功能是通過NGAS的數(shù)據(jù)訂閱線程調(diào)度訂閱者對應(yīng)的數(shù)據(jù)發(fā)送線程,實現(xiàn)將數(shù)據(jù)從數(shù)據(jù)發(fā)布者同步傳輸給數(shù)據(jù)訂閱者。數(shù)據(jù)發(fā)送線程的流程如圖1。

    圖1 NGAS數(shù)據(jù)發(fā)送線程執(zhí)行流程圖Fig.1 A flowchart of data delivery

    NGAS數(shù)據(jù)發(fā)布方將一個數(shù)據(jù)文件傳輸給數(shù)據(jù)訂閱方需要經(jīng)歷如下過程:用HTTP協(xié)議封裝數(shù)據(jù)文件,將封裝好的數(shù)據(jù)文件發(fā)送出去,等待接收數(shù)據(jù)訂閱方響應(yīng)的成功存儲數(shù)據(jù)文件的消息,處理下一數(shù)據(jù)文件。NGAS在同步傳輸數(shù)據(jù)過程中需要數(shù)據(jù)發(fā)布方等待接收數(shù)據(jù)訂閱方反饋消息而導(dǎo)致整個數(shù)據(jù)傳輸性能較差,同時由于HTTP協(xié)議封裝效率較低,也導(dǎo)致整個數(shù)據(jù)傳輸性能較差。

    2 多點觀測數(shù)據(jù)存儲與同步方法的改進

    針對NGAS中數(shù)據(jù)同步傳輸功能是基于HTTP實現(xiàn)的,本文提出一種基于零消息隊列(ZeroMQ[13])改進NGAS中多點觀測數(shù)據(jù)存儲與同步的方法。該方法使用ZeroMQ中的PUB-SUB套接字組合實現(xiàn)高效快速的數(shù)據(jù)同步傳輸與存儲。然而,PUB-SUB套接字的組合存在這些問題[注]http://zguide.zeromq.org/page:all:(1)訂閱方崩潰導(dǎo)致訂閱數(shù)據(jù)丟失;(2)訂閱者取回消息很慢導(dǎo)致發(fā)布方的發(fā)布隊列溢出而造成數(shù)據(jù)丟失;(3)網(wǎng)絡(luò)超載導(dǎo)致數(shù)據(jù)丟失;(4)訂閱方加入太遲錯失了發(fā)布方已經(jīng)發(fā)布的數(shù)據(jù)。

    為了在改進方法實現(xiàn)的系統(tǒng)中解決PUB-SUB套接字組合帶來的問題,加入近實時感知端口連接狀態(tài)的機制規(guī)避發(fā)布方在沒有訂閱方連接的情況下發(fā)布數(shù)據(jù),同時加入數(shù)據(jù)重發(fā)機制克服因為網(wǎng)絡(luò)超載、訂閱方崩潰等導(dǎo)致的數(shù)據(jù)丟失造成訂閱方無法完全同步數(shù)據(jù)的問題。為了使基于改進方法實現(xiàn)的數(shù)據(jù)同步傳輸與存儲子系統(tǒng)能夠獨立于NGAS運行,在子系統(tǒng)中加入了使用ZeroMQ中的DEALER與ROUTER實現(xiàn)的訂閱與退訂功能模塊。

    基于改進方法實現(xiàn)的系統(tǒng)主要包括如下子系統(tǒng)模塊:數(shù)據(jù)發(fā)布端服務(wù)器(Pub-Server)、數(shù)據(jù)訂閱端服務(wù)器(Sub-Server)、訂閱者服務(wù)器(Subscriber-Server)、訂閱者客服端(Subscriber-Client)。數(shù)據(jù)發(fā)布端服務(wù)器和數(shù)據(jù)訂閱端服務(wù)器負責數(shù)據(jù)發(fā)布方與訂閱方之間的數(shù)據(jù)同步傳輸與存儲,如圖2;訂閱者服務(wù)器和訂閱者客服端負責發(fā)布方與訂閱方之間的消息訂閱與退訂,如圖3。

    2.1 數(shù)據(jù)發(fā)布端服務(wù)器與數(shù)據(jù)訂閱端服務(wù)器設(shè)計與實現(xiàn)

    數(shù)據(jù)發(fā)布端服務(wù)器主要負責啟動數(shù)據(jù)發(fā)布端、數(shù)據(jù)同步傳輸、存儲相關(guān)的守護線程,其執(zhí)行流程如圖4。數(shù)據(jù)發(fā)布端服務(wù)器主要包含如下功能模塊:啟動訂閱者對應(yīng)的發(fā)布數(shù)據(jù)守護線程、啟動接收反饋消息的守護線程、啟動處理反饋消息的守護線程、啟動更新積壓文件的守護線程、啟動更新發(fā)布隊列的守護線程、啟動處理新增訂閱者的守護線程、啟動處理新增退訂者的守護線程。數(shù)據(jù)訂閱端服務(wù)器的功能與數(shù)據(jù)發(fā)布端服務(wù)器類似,只是處理對象不同。

    數(shù)據(jù)發(fā)布端服務(wù)器與數(shù)據(jù)訂閱端服務(wù)器之間的數(shù)據(jù)同步傳輸與存儲中涉及兩種消息:Pub_msg和Sub_msg,如圖2。Pub_msg是數(shù)據(jù)發(fā)布方(Publisher)發(fā)布的消息,格式為SI_SP, PI_PP, BFR, BFD;Sub_msg是數(shù)據(jù)訂閱方(Subscriber)發(fā)布的已成功接收與存儲的反饋信息,格式為SI_SP, PI_PP, BFR。SI表示數(shù)據(jù)訂閱方的IP;SP表示數(shù)據(jù)訂閱方為某個數(shù)據(jù)發(fā)布方申請的用于發(fā)布反饋消息的固定端口;PI表示數(shù)據(jù)發(fā)布方的IP;PP表示數(shù)據(jù)發(fā)布方為某個數(shù)據(jù)訂閱方申請預(yù)留的用于發(fā)布數(shù)據(jù)的固定端口;BFR由文件名、文件ID、文件版本、文件類型組成;BFD表示BFR對應(yīng)的積壓文件數(shù)據(jù)。

    當數(shù)據(jù)發(fā)布端服務(wù)器上的近實時端口連接狀態(tài)守護線程能檢測到某個數(shù)據(jù)發(fā)布方的數(shù)據(jù)發(fā)布端口被數(shù)據(jù)訂閱方連接時,觸發(fā)該數(shù)據(jù)發(fā)布方對應(yīng)的數(shù)據(jù)發(fā)布線程開始產(chǎn)生并發(fā)布Pub_msg;否則觸發(fā)停止數(shù)據(jù)發(fā)布線程。同時,數(shù)據(jù)重發(fā)機制會在某個數(shù)據(jù)發(fā)布方發(fā)布某個數(shù)據(jù)文件超過一段時間仍未收到數(shù)據(jù)訂閱方發(fā)布的已成功接收和存儲的反饋信息時,將讓數(shù)據(jù)發(fā)布方重新向數(shù)據(jù)訂閱方發(fā)布該數(shù)據(jù)文件。

    2.2 訂閱者服務(wù)器與訂閱者客服端設(shè)計與實現(xiàn)

    訂閱者服務(wù)器與訂閱者客服端之間的異步通信模式如圖3。訂閱者服務(wù)器負責接收處理訂閱消息(Sub-Msg)和退訂消息(Unsub-Msg),并將訂閱成功消息(Sub-Msg-S)、訂閱失敗消息(Sub-Msg-F)或退訂成功消息(Unsub-Msg-S)回復(fù)給對應(yīng)的請求者,同時更新數(shù)據(jù)庫中的相應(yīng)訂閱者記錄。訂閱者客服端負責向訂閱者服務(wù)器發(fā)送訂閱消息和退訂消息,根據(jù)接收到的響應(yīng)消息更新數(shù)據(jù)庫中的相應(yīng)發(fā)布者記錄。其中訂閱消息、退訂消息、訂閱成功消息、訂閱失敗消息、退訂成功消息這5種消息的格式分別為:S_SI_SP_Datetime,U_SI_SP,SS_SI_SP_PI_PP,SF_SI_SP,US_SI_SP。同時,在訂閱者客服端加入消息重發(fā)機制確保訂閱者客服端能夠成功訂閱或者退訂相應(yīng)的數(shù)據(jù)發(fā)布者。

    圖2 數(shù)據(jù)發(fā)布端服務(wù)器與數(shù)據(jù)訂閱端服務(wù)器之間的通信模式

    Fig.2 Communication mode between Pub-Server and Sub-Server

    圖3 訂閱者服務(wù)器與訂閱者客服端之間的通信模式

    Fig.3 Communication mode between Subscriber-Server and Subscriber-Client

    圖4 數(shù)據(jù)發(fā)布端服務(wù)器執(zhí)行流程圖
    Fig.4 A flowchart of Pub-Server

    3 實 驗

    3.1 實驗環(huán)境

    本文測試性能所用的硬件環(huán)境是1臺型號為IW4200-10G的思騰合力GPU服務(wù)器,該服務(wù)器具有16個雙核Intel?Xeon(R) CPU E5-2620 v4 @ 2.10 GHz處理器、256 GB R-ECC DDR4 內(nèi)存、2個Intel?I350千兆網(wǎng)卡。軟件環(huán)境為64位的Ubuntu 14.04 LTS,Python 2.7.6,MySQLdb 1.2.5,libzmq 4.2.5,pyzmq 17.1.2,MySQL 5.5.61。

    由于NGAS能夠處理的標準FITS文件必須包含自定義的關(guān)鍵字ARCFILE (ARCFILE=′NCU.2003-11-11T11: 11: 11.111′),實驗數(shù)據(jù)為MUSER-I的40萬個已添加ARCFILE關(guān)鍵字的FITS文件,數(shù)據(jù)量約為75.102 GB(400 000 × 201 600 B),存放在分配了250 GB內(nèi)存的tmpfs(臨時文件系統(tǒng))中。

    3.2 實驗結(jié)果

    基于ZeroMQ改進的多點觀測數(shù)據(jù)存儲與同步方法與NGAS中的數(shù)據(jù)存儲與同步方法的實驗結(jié)果性能對比如圖5。訂閱者使用基于ZeroMQ改進的數(shù)據(jù)存儲與同步方法將40萬個FITS文件完全同步傳輸與存儲下來所耗費的時間約為333.834 s(約5.6 min),使用NGAS中的數(shù)據(jù)存儲與同步方法所耗費的時間約為13 330.998 s(約222.2 min)。NGAS中的數(shù)據(jù)存儲與同步方法用時是基于ZeroMQ實現(xiàn)的數(shù)據(jù)存儲與同步方法用時的39.933倍。

    圖5 同步性能對比
    Fig.5 Synchronization performance comparison

    3.3 討 論

    實驗結(jié)果表明,基于ZeroMQ改進的NGAS的數(shù)據(jù)存儲與同步方法在數(shù)據(jù)存儲和同步方面性能明顯優(yōu)于NGAS的數(shù)據(jù)存儲與同步方法,但是該方法也存在一些不足:

    (1)由于基于ZeroMQ實現(xiàn)的NGAS數(shù)據(jù)發(fā)布端服務(wù)器要為每一個數(shù)據(jù)訂閱者分配一個固定的端口和每個IP地址端口數(shù)為65 536的限制,造成其只能為有限數(shù)量的訂閱者提供服務(wù);

    (2)基于ZeroMQ的NGAS多點觀測數(shù)據(jù)存儲與同步方法的系統(tǒng)存在訂閱端服務(wù)器因為無法及時存儲高速接收的訂閱數(shù)據(jù)而導(dǎo)致內(nèi)存不足,進而導(dǎo)致訂閱端服務(wù)器被殺掉。在未來的工作中,將加入動態(tài)調(diào)整數(shù)據(jù)發(fā)布的機制優(yōu)化數(shù)據(jù)的同步傳輸效率。

    4 結(jié)束語

    本文詳細介紹了NGAS中的數(shù)據(jù)同步功能,討論了基于ZeroMQ改進的NGAS多點觀測數(shù)據(jù)存儲與同步方法及基于該方法實現(xiàn)的系統(tǒng),通過實驗驗證了基于ZeroMQ改進的NGAS多點觀測數(shù)據(jù)存儲與同步方法實現(xiàn)的系統(tǒng)在數(shù)據(jù)同步傳輸和存儲效率方面性能明顯優(yōu)于NGAS中的數(shù)據(jù)存儲與同步。下一步工作將在更加真實的實驗環(huán)境中測試新方法的遠程數(shù)據(jù)同步性能并進一步優(yōu)化其性能。本文的工作對SKA區(qū)域數(shù)據(jù)中心與SKA天文臺數(shù)據(jù)中心之間的數(shù)據(jù)同步傳輸和存儲有較好的參考價值。

    致謝:感謝國家天文臺-阿里云天文大數(shù)據(jù)聯(lián)合研究中心對本文工作的支持。

    猜你喜歡
    客服線程消息
    語音推銷
    一張圖看5G消息
    敬業(yè)的客服
    淺談linux多線程協(xié)作
    基于廣東“一張網(wǎng)”對內(nèi)客服模式的探討
    消息
    消息
    消息
    Linux線程實現(xiàn)技術(shù)研究
    一次深刻的淘寶經(jīng)歷
    意林(2012年20期)2012-05-31 02:56:35
    宁武县| 元江| 绥芬河市| 淳安县| 平塘县| 广宗县| 仁化县| 龙岩市| 名山县| 涿鹿县| 马尔康县| 深水埗区| 榆社县| 莒南县| 海林市| 新建县| 无棣县| 乐安县| 枝江市| 长汀县| 防城港市| 新安县| 克东县| 灌云县| 肥东县| 长泰县| 五大连池市| 隆昌县| 武汉市| 永吉县| 通州区| 买车| 嵩明县| 三台县| 塔河县| 五原县| 桓仁| 汽车| 垫江县| 岳西县| 崇文区|