亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于SciCat的合肥光源實(shí)驗(yàn)數(shù)據(jù)管理系統(tǒng)開發(fā)

        2022-02-28 16:40:26張大地孫曉康劉功發(fā)
        核技術(shù) 2022年2期
        關(guān)鍵詞:實(shí)驗(yàn)站存儲(chǔ)系統(tǒng)合肥

        林 廣 張大地 張 震 賀 博 孫曉康 劉功發(fā)

        (中國科學(xué)技術(shù)大學(xué)國家同步輻射實(shí)驗(yàn)室 合肥 230029)

        大科學(xué)裝置為多學(xué)科前沿課題研究提供了良好的基礎(chǔ)研究平臺(tái),對(duì)于解決國家需求中的戰(zhàn)略性、基礎(chǔ)性和前瞻性科技問題具有重要意義[1?3]。大科學(xué)裝置的實(shí)驗(yàn)研究過程比較復(fù)雜:用戶進(jìn)行科學(xué)實(shí)驗(yàn)前,首先需要在用戶服務(wù)系統(tǒng)提交實(shí)驗(yàn)課題申請(qǐng)書;待實(shí)驗(yàn)課題申請(qǐng)書獲批后,再從實(shí)驗(yàn)站獲得機(jī)時(shí)分配后才能開展實(shí)驗(yàn);實(shí)驗(yàn)期間及完成后,一般通過人工方式從實(shí)驗(yàn)站拷貝數(shù)據(jù),搭建環(huán)境分析數(shù)據(jù),得出實(shí)驗(yàn)結(jié)果。這種由人工管理實(shí)驗(yàn)數(shù)據(jù)的方式導(dǎo)致實(shí)驗(yàn)與數(shù)據(jù)處理效率較低。通過建設(shè)大科學(xué)裝置實(shí)驗(yàn)數(shù)據(jù)全生命周期統(tǒng)一管理平臺(tái),以有效提高用戶的實(shí)驗(yàn)效率和數(shù)據(jù)處理效率,進(jìn)而提高大科學(xué)裝置的科學(xué)產(chǎn)出,是國內(nèi)外大科學(xué)裝置信息化建設(shè)的一個(gè)重要趨勢[4?5]。實(shí)驗(yàn)數(shù)據(jù)統(tǒng)一管理平臺(tái)的建設(shè)方案可分為兩類:通過相對(duì)獨(dú)立開發(fā)的方式實(shí)現(xiàn)和基于合作開發(fā)的元數(shù)據(jù)目錄框架實(shí)現(xiàn)。采用前一種方案的有德國ANKA光源[6]、美國NSLS-II光源[7]以及日本J-PARC中子源[8]。后者例如英國DIAMOND光源[9]、ISIS中子源[10]以及中國散裂中子源(China Spallation Neutron Source,CSNS)[11?12]以元數(shù)據(jù)目錄框架ICAT[13]為核心建成了實(shí)驗(yàn)數(shù)據(jù)統(tǒng)一管理平臺(tái);瑞 典MAX IV光 源[14?15]、上 海 同 步 輻 射 光 源(Shanghai Synchrotron Radiation Facility,SSRF)[16]、高能同步輻射光源(High Energy Photon Source,HEPS)[17]與硬X射線自由電子激光裝置(Shanghai HIgh repetitioN rate XFEL and Extreme light facility,SHINE)[18]目前也正在規(guī)劃設(shè)計(jì)基于元數(shù)據(jù)目錄框架SciCat[19]的實(shí)驗(yàn)數(shù)據(jù)綜合管理服務(wù)平臺(tái)。

        合肥光源(Hefei Light Source II,HLS-II)是以真空紫外和軟X射線為主的專用同步輻射光源,目前擁有11條光束線及實(shí)驗(yàn)站[20]。作為面向國內(nèi)外用戶的大科學(xué)裝置,合肥光源現(xiàn)有的用戶服務(wù)系統(tǒng)僅針對(duì)實(shí)驗(yàn)課題審批、機(jī)時(shí)分配等,而在海量實(shí)驗(yàn)數(shù)據(jù)的管理上,存在著數(shù)據(jù)資源分散、缺乏數(shù)據(jù)分析環(huán)境、無方便有效的交流共享途徑等問題,難以滿足國內(nèi)外科研人員多樣化訪問實(shí)驗(yàn)數(shù)據(jù)的需要。針對(duì)以上問題和需求,我們基于開源元數(shù)據(jù)目錄框架SciCat開發(fā)了合肥光源實(shí)驗(yàn)數(shù)據(jù)管理系統(tǒng)。該系統(tǒng)結(jié)合現(xiàn)有的用戶服務(wù)系統(tǒng),可實(shí)現(xiàn)從用戶認(rèn)證、課題申請(qǐng)、專家審批、機(jī)時(shí)分配、數(shù)據(jù)采集、數(shù)據(jù)存儲(chǔ)、數(shù)據(jù)分析到論文發(fā)表時(shí)引用發(fā)布的數(shù)據(jù)等實(shí)驗(yàn)及數(shù)據(jù)全生命周期的統(tǒng)一管理。

        1 系統(tǒng)架構(gòu)

        合肥光源實(shí)驗(yàn)數(shù)據(jù)管理系統(tǒng)的總體架構(gòu)如圖1所示,由數(shù)據(jù)采集服務(wù)、元數(shù)據(jù)系統(tǒng)、文件存儲(chǔ)系統(tǒng)和數(shù)據(jù)分析平臺(tái)組成。

        圖1 基于SciCat的合肥光源實(shí)驗(yàn)數(shù)據(jù)管理系統(tǒng)架構(gòu)圖Fig.1 Architectureof experimental datamanagement system for HLS-IIbased on SciCat

        根據(jù)合肥光源不同實(shí)驗(yàn)站的實(shí)際情況進(jìn)行定制開發(fā)的數(shù)據(jù)采集服務(wù)(Data Acquisition Service,DAQ Service)部署在相應(yīng)實(shí)驗(yàn)站的本地服務(wù)器上,負(fù)責(zé)獲取實(shí)驗(yàn)原始數(shù)據(jù)和收集相關(guān)的元數(shù)據(jù)。元數(shù)據(jù)系統(tǒng)由元數(shù)據(jù)攝入服務(wù)(Metadata Ingestion Service)、消息隊(duì)列集群、Web后端、元數(shù)據(jù)目錄數(shù)據(jù)庫和Web前端構(gòu)成,用于將元數(shù)據(jù)信息統(tǒng)一編排成元數(shù)據(jù)目錄,并提供標(biāo)準(zhǔn)化數(shù)據(jù)訪問接口和可視化操作界面。文件存儲(chǔ)系統(tǒng)負(fù)責(zé)實(shí)現(xiàn)實(shí)驗(yàn)數(shù)據(jù)文件的傳輸校驗(yàn)、持久存儲(chǔ)、遠(yuǎn)程下載等功能。基于Web的交互式離線數(shù)據(jù)分析平臺(tái)由前端用戶界面、后端服務(wù)軟件與底層資源調(diào)度軟件組成,為用戶在實(shí)驗(yàn)結(jié)束后提供了靈活快捷、功能強(qiáng)大、資源豐富的離線實(shí)驗(yàn)數(shù)據(jù)分析環(huán)境。

        2 元數(shù)據(jù)系統(tǒng)

        元數(shù)據(jù)系統(tǒng)是合肥光源實(shí)驗(yàn)數(shù)據(jù)管理系統(tǒng)的核心組成部分,也是實(shí)現(xiàn)大科學(xué)裝置實(shí)驗(yàn)數(shù)據(jù)全生命周期統(tǒng)一管理的基礎(chǔ)。

        2.1 元數(shù)據(jù)目錄框架SciCat

        SciCat是一個(gè)用于實(shí)現(xiàn)大科學(xué)裝置實(shí)驗(yàn)數(shù)據(jù)全生命周期統(tǒng)一管理的開源元數(shù)據(jù)目錄框架,由瑞典MAX IV光源、歐洲散裂中子源(European Spallation Source,ESS)與瑞士保羅謝爾研究所(Paul Scherrer Institute,PSI)合作研發(fā)。SciCat的設(shè)計(jì)采用了流行的微服務(wù)架構(gòu)(圖2),具有耦合度低、擴(kuò)展性高、可靠性強(qiáng)等特點(diǎn)。Web后端(Catamel API Server)采用Node.js框架LoopBack開發(fā)。LoopBack支持通過輕量級(jí)的數(shù)據(jù)交換格式JSON(JavaScript Object Notation)定義元數(shù)據(jù)模型,可以輕松擴(kuò)展元數(shù)據(jù)的類型和數(shù)量,并且能夠根據(jù)元數(shù)據(jù)模型自動(dòng)生成具有表現(xiàn)層狀態(tài)轉(zhuǎn)換風(fēng)格的應(yīng)用程序接口(RESTful API),提供給其他子系統(tǒng)或外部程序調(diào)用以對(duì)元數(shù)據(jù)進(jìn)行增刪改查操作。采用基于文檔的分布式數(shù)據(jù)庫系統(tǒng)MongoDB作為元數(shù)據(jù)目錄數(shù)據(jù)庫。MongoDB面向集合存儲(chǔ),不需要定義任何模式,因而可以存儲(chǔ)比較復(fù)雜的數(shù)據(jù)類型,滿足統(tǒng)一管理不同實(shí)驗(yàn)站的異構(gòu)元數(shù)據(jù)的實(shí)際需求。Web前端(Catanie GUI Server)基于JavaScript前端框架Angular進(jìn)行開發(fā),提供了基本的數(shù)據(jù)檢索與展示功能,并在設(shè)計(jì)上預(yù)留了數(shù)據(jù)下載、數(shù)據(jù)分析、數(shù)據(jù)發(fā)布等有待進(jìn)一步開發(fā)功能的頁面。

        圖2 元數(shù)據(jù)目錄框架SciCat架構(gòu)圖Fig.2 Architectureof SciCat metadatacatalogueframework

        在SciCat框架中,元數(shù)據(jù)攝入服務(wù)可以基于命令行界面或基于消息隊(duì)列實(shí)現(xiàn)。元數(shù)據(jù)攝入服務(wù)負(fù)責(zé)匯集從大科學(xué)裝置實(shí)驗(yàn)站和用戶服務(wù)系統(tǒng)獲取的元數(shù)據(jù),再利用Web后端提供的RESTful API,將元數(shù)據(jù)編排成目錄存儲(chǔ)到MongoDB數(shù)據(jù)庫。Web前端為用戶提供了可視化界面進(jìn)行數(shù)據(jù)檢索、數(shù)據(jù)存檔、數(shù)據(jù)下載、數(shù)據(jù)分析和數(shù)據(jù)發(fā)布等操作,并保存用戶操作過程中產(chǎn)生的元數(shù)據(jù)信息。SciCat框架全面記錄了實(shí)驗(yàn)數(shù)據(jù)從開始的課題申請(qǐng)到最終的論文發(fā)表時(shí)引用發(fā)布的數(shù)據(jù)整個(gè)生命周期。

        相對(duì)于元數(shù)據(jù)目錄框架ICAT,SciCat的數(shù)據(jù)結(jié)構(gòu)靈活,可擴(kuò)展性強(qiáng),因此我們基于SciCat框架實(shí)現(xiàn)元數(shù)據(jù)系統(tǒng)。需要指出的是,SciCat僅開源了Web前端與Web后端的服務(wù)程序,對(duì)于元數(shù)據(jù)攝入、實(shí)驗(yàn)文件存儲(chǔ)、數(shù)據(jù)發(fā)布、對(duì)接現(xiàn)有用戶服務(wù)系統(tǒng)等服務(wù)模塊的開發(fā),以及元數(shù)據(jù)條目的擴(kuò)展,則需要根據(jù)大科學(xué)裝置實(shí)際需求自行設(shè)計(jì)實(shí)現(xiàn)。

        2.2 元數(shù)據(jù)攝入

        元數(shù)據(jù)目錄是一個(gè)被動(dòng)的系統(tǒng),需要數(shù)據(jù)采集服務(wù)從不同的數(shù)據(jù)源提取元數(shù)據(jù),再由元數(shù)據(jù)攝入服務(wù)將匯集的元數(shù)據(jù)編排成元數(shù)據(jù)目錄寫入數(shù)據(jù)庫,元數(shù)據(jù)攝入流程如圖3所示。元數(shù)據(jù)攝入服務(wù)是元數(shù)據(jù)攝入流程中的關(guān)鍵部件,我們?cè)贜ode.js環(huán)境下開發(fā)的元數(shù)據(jù)攝入服務(wù)由HTTP模塊、消息隊(duì)列生產(chǎn)者模塊、消息隊(duì)列消費(fèi)者模塊、元數(shù)據(jù)映射模塊和元數(shù)據(jù)攝入器模塊組成。

        圖3 元數(shù)據(jù)攝入流程Fig.3 Processof metadataingestion

        數(shù)據(jù)采集服務(wù)分別從用戶服務(wù)系統(tǒng)獲取用戶信息元數(shù)據(jù)、樣品信息元數(shù)據(jù)以及實(shí)驗(yàn)課題信息元數(shù)據(jù),從實(shí)驗(yàn)站本地服務(wù)器的文件系統(tǒng)或數(shù)據(jù)庫提取實(shí)驗(yàn)結(jié)果信息元數(shù)據(jù),從控制系統(tǒng)獲取實(shí)驗(yàn)條件信息元數(shù)據(jù)。數(shù)據(jù)采集服務(wù)采用基于TCP(Transmission Control Protocol)的通訊協(xié)議將收集的元數(shù)據(jù)發(fā)送到消息隊(duì)列Kafka集群。Kafka是Apache軟件基金會(huì)開發(fā)的一種高吞吐量的分布式發(fā)布訂閱消息系統(tǒng)。引入消息隊(duì)列Kafka作為中間件有以下作用:1)元數(shù)據(jù)攝入服務(wù)與數(shù)據(jù)采集服務(wù)通過遵守Kafka的接口約束來傳輸數(shù)據(jù),從而降低元數(shù)據(jù)攝入服務(wù)與多個(gè)不同的數(shù)據(jù)采集服務(wù)之間的耦合性;2)元數(shù)據(jù)攝入服務(wù)需要間接讀寫數(shù)據(jù)庫,數(shù)據(jù)處理速度相對(duì)單個(gè)數(shù)據(jù)采集服務(wù)的數(shù)據(jù)傳輸速度較慢,且數(shù)據(jù)采集服務(wù)傳輸數(shù)據(jù)是突發(fā)性的,Kafka可以起到數(shù)據(jù)緩沖的作用;3)Kafka能夠?qū)?shù)據(jù)持久化,直到數(shù)據(jù)已被完全處理,避免了元數(shù)據(jù)攝入過程出錯(cuò),導(dǎo)致數(shù)據(jù)丟失。此外,考慮到某些實(shí)驗(yàn)站的數(shù)據(jù)采集服務(wù)可能無法集成Kafka,我們?cè)谠獢?shù)據(jù)攝入服務(wù)的開發(fā)中提供了基于HTTP協(xié)議的轉(zhuǎn)發(fā)元數(shù)據(jù)API。數(shù)據(jù)采集服務(wù)可以使用轉(zhuǎn)發(fā)元數(shù)據(jù)API傳輸元數(shù)據(jù)至元數(shù)據(jù)攝入服務(wù),再由元數(shù)據(jù)攝入服務(wù)的Kafka生產(chǎn)者模塊轉(zhuǎn)發(fā)到Kafka集群進(jìn)行緩存。元數(shù)據(jù)攝入服務(wù)的Kafka消費(fèi)者模塊負(fù)責(zé)從Kafka集群讀取元數(shù)據(jù)信息。元數(shù)據(jù)映射模塊提取元數(shù)據(jù)信息中的實(shí)驗(yàn)站類型字段,依據(jù)描述實(shí)驗(yàn)站元數(shù)據(jù)類型與SciCat元數(shù)據(jù)類型對(duì)應(yīng)關(guān)系的配置文件,將實(shí)驗(yàn)站的異構(gòu)元數(shù)據(jù)統(tǒng)一標(biāo)準(zhǔn)化為SciCat規(guī)范的元數(shù)據(jù)。元數(shù)據(jù)攝入器模塊從文件存儲(chǔ)系統(tǒng)獲取文件存儲(chǔ)信息元數(shù)據(jù)后,通過Web后端提供的RESTful API將標(biāo)準(zhǔn)化的元數(shù)據(jù)進(jìn)行元數(shù)據(jù)目錄編排,即按順序更新MongoDB數(shù)據(jù)庫中的User、Proposal、Sample、Dataset等元數(shù)據(jù)模型。

        2.3 現(xiàn)有用戶服務(wù)系統(tǒng)接入

        用戶正式開始科學(xué)實(shí)驗(yàn)之前,需要在中國科學(xué)院重大科技基礎(chǔ)設(shè)施共享服務(wù)平臺(tái)(Chinese Academy of Sciences,Large Research Infrastructures User Service Platform,CASLSSF)注冊(cè)賬號(hào)、提交實(shí)驗(yàn)課題申請(qǐng),審核通過后在合肥光源用戶實(shí)驗(yàn)管理系統(tǒng)(HLS-IIUEMS)申請(qǐng)實(shí)驗(yàn)機(jī)時(shí)。合肥光源實(shí)驗(yàn)數(shù)據(jù)管理系統(tǒng)的開發(fā),需要對(duì)接上述兩個(gè)現(xiàn)有的用戶服務(wù)系統(tǒng),實(shí)現(xiàn)用戶共享與單點(diǎn)登錄。由于SciCat默認(rèn)除本地賬戶外僅支持基于輕量目錄訪問協(xié)議(Lightweight Directory Access Protocol,LDAP)進(jìn)行用戶認(rèn)證與授權(quán)訪問,而目前中國科學(xué)院重大科技基礎(chǔ)設(shè)施共享服務(wù)平臺(tái)尚未提供基于LDAP的認(rèn)證服務(wù),因此我們對(duì)SciCat的Web前后端進(jìn)行二次開發(fā),以實(shí)現(xiàn)用戶共享與單點(diǎn)登錄(圖4)。

        圖4 接入現(xiàn)有用戶服務(wù)系統(tǒng)示意圖Fig.4 Schematic diagram of interfacebetween existing user servicesystem and SciCat

        用戶的個(gè)人賬戶信息與實(shí)驗(yàn)課題信息存儲(chǔ)在中國科學(xué)院重大科技基礎(chǔ)設(shè)施共享服務(wù)平臺(tái)的數(shù)據(jù)庫,合肥光源用戶實(shí)驗(yàn)管理系統(tǒng)會(huì)定期將信息同步到本地?cái)?shù)據(jù)庫。用戶在合肥光源實(shí)驗(yàn)站正式開展科學(xué)實(shí)驗(yàn)時(shí),數(shù)據(jù)采集服務(wù)通過合肥光源用戶實(shí)驗(yàn)管理系統(tǒng)后端API獲取用戶信息元數(shù)據(jù)與實(shí)驗(yàn)課題信息元數(shù)據(jù)。元數(shù)據(jù)攝入服務(wù)調(diào)用二次開發(fā)的API將用戶信息與實(shí)驗(yàn)課題信息傳輸至合肥光源實(shí)驗(yàn)數(shù)據(jù)管理系統(tǒng)的Web后端。Web后端根據(jù)用戶信息元數(shù)據(jù)創(chuàng)建User模型實(shí)例,寫入MongoDB數(shù)據(jù)庫,實(shí)現(xiàn)了用戶共享。同時(shí),Web后端依據(jù)實(shí)驗(yàn)課題編號(hào)劃分用戶組,建立基于用戶角色的數(shù)據(jù)訪問授權(quán)機(jī)制。我們將用戶登錄SciCat的認(rèn)證方式由基于LDAP認(rèn)證修改為基于MongoDB數(shù)據(jù)庫與現(xiàn)有用戶服務(wù)系統(tǒng)的認(rèn)證,使得用戶可以在中國科學(xué)院重大科技基礎(chǔ)設(shè)施共享服務(wù)平臺(tái)成功登錄后,通過網(wǎng)頁重定向的方式登錄到合肥光源實(shí)驗(yàn)數(shù)據(jù)管理系統(tǒng),實(shí)現(xiàn)了不同系統(tǒng)之間的單點(diǎn)登錄。

        3 文件存儲(chǔ)系統(tǒng)

        文件存儲(chǔ)系統(tǒng)負(fù)責(zé)承載海量的異構(gòu)實(shí)驗(yàn)數(shù)據(jù)資源,需要統(tǒng)一數(shù)據(jù)保存格式,設(shè)計(jì)存儲(chǔ)結(jié)構(gòu),以提供實(shí)驗(yàn)數(shù)據(jù)文件的長期存儲(chǔ)、跨域遠(yuǎn)程文件下載、接入離線數(shù)據(jù)分析環(huán)境等服務(wù)。

        3.1 文件格式標(biāo)準(zhǔn)化

        合肥光源是一個(gè)涉及多學(xué)科交叉的大科學(xué)裝置,其科學(xué)實(shí)驗(yàn)所產(chǎn)生的數(shù)據(jù)具有多源、異構(gòu)、分散、海量的特點(diǎn),需要將這些異構(gòu)的實(shí)驗(yàn)數(shù)據(jù)文件格式標(biāo)準(zhǔn)化,以便統(tǒng)一存儲(chǔ)管理。HDF5(Hierarchical Data Format 5)是一種設(shè)計(jì)用于存儲(chǔ)和管理數(shù)據(jù)的數(shù)據(jù)文件格式。它支持層次式數(shù)據(jù)類型,可以存儲(chǔ)復(fù)雜的異構(gòu)數(shù)據(jù);數(shù)據(jù)對(duì)象的數(shù)量和大小沒有限制,為大數(shù)據(jù)提供了很大的靈活性;支持跨平臺(tái)分享數(shù)據(jù),擁有完善的生態(tài)系統(tǒng)。這些特點(diǎn)使HDF5在記錄和存儲(chǔ)實(shí)驗(yàn)數(shù)據(jù)時(shí)具有很大的優(yōu)越性,因此,我們采用HDF5作為合肥光源實(shí)驗(yàn)數(shù)據(jù)管理系統(tǒng)的標(biāo)準(zhǔn)實(shí)驗(yàn)數(shù)據(jù)格式。數(shù)據(jù)采集服務(wù)負(fù)責(zé)將實(shí)驗(yàn)原始數(shù)據(jù)與元數(shù)據(jù)封裝成標(biāo)準(zhǔn)的HDF5格式文件,使用FTP協(xié)議上傳至文件存儲(chǔ)系統(tǒng)指定目錄。

        3.2 存儲(chǔ)目錄結(jié)構(gòu)設(shè)計(jì)

        標(biāo)準(zhǔn)化后的實(shí)驗(yàn)原始數(shù)據(jù)、在線分析的處理數(shù)據(jù)以及離線分析的結(jié)果數(shù)據(jù)等實(shí)驗(yàn)數(shù)據(jù)資源都將保存至文件存儲(chǔ)系統(tǒng)的中心磁盤。為了更高效地組織存儲(chǔ)中的所有類型的數(shù)據(jù)文件,我們?cè)诤戏使庠磳?shí)際需求的基礎(chǔ)上,參考高能同步輻射光源與保羅謝爾研究所的解決方案[21?22],設(shè)計(jì)了文件存儲(chǔ)系統(tǒng)的存儲(chǔ)目錄結(jié)構(gòu)(圖5)。通過實(shí)驗(yàn)站、用戶組、日期與樣品編號(hào)共同標(biāo)記每次科學(xué)實(shí)驗(yàn)產(chǎn)生的數(shù)據(jù),能夠方便有效地管理海量實(shí)驗(yàn)數(shù)據(jù)資源。

        圖5 存儲(chǔ)目錄結(jié)構(gòu)示意圖Fig.5 Schematic of thestoragedirectory structure

        3.3 文件下載

        為了滿足國內(nèi)外科研人員跨越時(shí)間及地理限制訪問實(shí)驗(yàn)數(shù)據(jù)的需要,我們開發(fā)了文件下載功能,實(shí)現(xiàn)過程如圖6所示。用戶在Web前端數(shù)據(jù)下載功能頁面選擇要下載的文件,Web前端調(diào)用后端提供的文件下載API提交待下載的文件信息;Web后端對(duì)前端提交的文件下載信息進(jìn)行封裝后,發(fā)送至文件存儲(chǔ)系統(tǒng);文件存儲(chǔ)系統(tǒng)開始打包待下載的文件,同時(shí)返回文件打包作業(yè)編號(hào);Web前端依據(jù)文件打包作業(yè)編號(hào)輪詢作業(yè)狀態(tài),直至文件存儲(chǔ)系統(tǒng)完成文件打包返回下載鏈接;Web前端在下載鏈接末尾附加攜帶有身份信息和過期時(shí)間的JWT(JSON Web Token)作為參數(shù),直接向文件存儲(chǔ)系統(tǒng)發(fā)起下載請(qǐng)求;文件存儲(chǔ)系統(tǒng)向Web后端請(qǐng)求檢驗(yàn)JWT的有效性,驗(yàn)證通過后響應(yīng)Web前端的下載請(qǐng)求;Web前端開始下載文件到用戶本地設(shè)備。JWT是一種開放標(biāo)準(zhǔn)(RFC 7519),用于在網(wǎng)絡(luò)應(yīng)用環(huán)境間以JSON對(duì)象的形式安全地傳輸信息。使用JWT對(duì)文件下載的有效性進(jìn)行驗(yàn)證,能夠提升數(shù)據(jù)訪問的安全性。

        圖6 文件下載序列圖Fig.6 Sequencediagram of filedownloading

        4 數(shù)據(jù)分析平臺(tái)

        在實(shí)驗(yàn)完成后,用戶需要根據(jù)實(shí)驗(yàn)原始數(shù)據(jù),以及探測器刻度、數(shù)據(jù)采集時(shí)探測器的狀態(tài)、樣品特征信息、控制系統(tǒng)參數(shù)等元數(shù)據(jù),搭建專用的數(shù)據(jù)處理環(huán)境,依托大規(guī)模計(jì)算資源進(jìn)行離線分析,以得到精度更高、效果更好的結(jié)果數(shù)據(jù)。為了實(shí)現(xiàn)用戶對(duì)實(shí)驗(yàn)數(shù)據(jù)的分析、識(shí)別、挖掘、分類等多方面的應(yīng)用需求,我們開發(fā)了基于Web的交互式離線數(shù)據(jù)分析平臺(tái),由前端用戶界面、后端服務(wù)軟件、底層資源調(diào)度軟件三部分組成(圖7)。

        圖7 交互式數(shù)據(jù)分析平臺(tái)架構(gòu)圖Fig.7 Architectureof interactivedataanalysisplatform

        前端用戶界面基于JupyterLab實(shí)現(xiàn)。JupyterLab是一個(gè)基于Web的交互式集成開發(fā)環(huán)境,支持多種流行編程語言、集成度高、擴(kuò)展性強(qiáng)、具有靈活而友好的用戶界面,可以定制化配置以支持?jǐn)?shù)據(jù)科學(xué)、科學(xué)計(jì)算和機(jī)器學(xué)習(xí)中的各種工作流程。我們?cè)贘upyterLab的基礎(chǔ)版本上進(jìn)行二次開發(fā),集成了Python、Julia與R語言編程環(huán)境,TensorFlow、PyTorch等主流深度學(xué)習(xí)框架,以及容器化條件下的基于CUDA(Compute Unified Device Architecture)深度學(xué)習(xí)的GPU加速庫cuDNN。此外,我們將前端用戶界面JupyterLab的訪問入口集成到Web前端,方便用戶使用。

        后端服務(wù)軟件基于JupyterHub實(shí)現(xiàn)。JupyterHub用于為多用戶使用JupyterLab環(huán)境提供服務(wù),負(fù)責(zé)創(chuàng)建、管理、代理多個(gè)JupyterLab實(shí)例。JupyterHub默認(rèn)支持使用基于PAM或基于Oauth的認(rèn)證器為用戶登錄提供身份認(rèn)證服務(wù)。我們開發(fā)了基于MongoDB數(shù)據(jù)庫的JupyterHub認(rèn)證器,使得用戶無需輸入賬號(hào)密碼即可從Web前端通過網(wǎng)頁重定向登錄到JupyterLab的使用界面,實(shí)現(xiàn)了與元數(shù)據(jù)系統(tǒng)的統(tǒng)一用戶認(rèn)證。用戶首次登錄時(shí),JupyterHub根據(jù)配置文件自動(dòng)創(chuàng)建JupyterLab實(shí)例,并將用戶保存在文件存儲(chǔ)系統(tǒng)的實(shí)驗(yàn)數(shù)據(jù)目錄掛載到JupyterLab實(shí)例。

        底層資源調(diào)度軟件基于Docker Swarm[23]實(shí)現(xiàn)。Docker Swarm是Docker官方提供的集群管理工具,負(fù)責(zé)將Docker主機(jī)池抽象為單個(gè)虛擬Docker主機(jī),統(tǒng)一管理主機(jī)上的各種資源。我們將JupyterLab與JupyterHub制作成Docker鏡像,通過SwarmSpawner建立關(guān)聯(lián),以容器的形式運(yùn)行在數(shù)據(jù)分析平臺(tái)集群上。Docker Swarm負(fù)責(zé)管理調(diào)度數(shù)據(jù)分析平臺(tái)集群的CPU、GPU、內(nèi)存與磁盤等計(jì)算資源,根據(jù)后端服務(wù)軟件的需求進(jìn)行資源分配、資源約束以及資源回收處理。

        5 系統(tǒng)測試

        合肥光源的軟X射線成像實(shí)驗(yàn)站(BL07W)是一個(gè)用于研究高分辨三維結(jié)構(gòu)、元素吸收邊和譜學(xué)成像的科學(xué)實(shí)驗(yàn)平臺(tái)。我們以軟X射線成像實(shí)驗(yàn)站作為系統(tǒng)測試平臺(tái),對(duì)開發(fā)的合肥光源實(shí)驗(yàn)數(shù)據(jù)管理原型系統(tǒng)進(jìn)行了數(shù)據(jù)采集、傳輸、存儲(chǔ)、下載、分析與發(fā)布等功能測試。

        基于Python開發(fā)的數(shù)據(jù)采集服務(wù)部署在軟X射線成像實(shí)驗(yàn)站本地服務(wù)器,通過控制系統(tǒng)局域網(wǎng)與文件存儲(chǔ)系統(tǒng)、元數(shù)據(jù)系統(tǒng)進(jìn)行數(shù)據(jù)傳輸;標(biāo)準(zhǔn)化的實(shí)驗(yàn)數(shù)據(jù)保存至文件存儲(chǔ)系統(tǒng);元數(shù)據(jù)攝入服務(wù)利用Web后端的RESTful API,將數(shù)據(jù)集(dataset)與實(shí)驗(yàn)課題、實(shí)驗(yàn)樣品、用戶角色、數(shù)據(jù)文件、管理策略等元數(shù)據(jù)建立關(guān)聯(lián),并為數(shù)據(jù)集分配用于數(shù)據(jù)發(fā)布的唯一持久標(biāo)識(shí)符(Persistent Identifier,PID)寫入MongoDB數(shù)據(jù)庫。通過認(rèn)證的用戶和管理員可以從Web界面訪問元數(shù)據(jù)目錄(圖8)。

        圖8 合肥光源實(shí)驗(yàn)數(shù)據(jù)管理系統(tǒng)Web界面Fig.8 Web interfaceof HLS-IIexperimental datamanagement system

        用戶在基于Web的交互式離線數(shù)據(jù)分析平臺(tái)上,利用提供的數(shù)據(jù)分析環(huán)境與計(jì)算資源,對(duì)實(shí)驗(yàn)數(shù)據(jù)進(jìn)行了電子計(jì)算機(jī)斷層掃描(Computed Tomography,CT)圖像三維重建處理,重建結(jié)果如圖9所示。

        圖9 CT圖像三維重建的結(jié)果展示Fig.9 Display of 3D reconstruction resultsof CTimages

        測試表明,基于SciCat的合肥光源實(shí)驗(yàn)數(shù)據(jù)管理系統(tǒng)的各項(xiàng)功能符合設(shè)計(jì)預(yù)期,具有工程可用性。

        6 結(jié)語

        本文描述了基于開源元數(shù)據(jù)目錄框架SciCat的合肥光源實(shí)驗(yàn)數(shù)據(jù)管理系統(tǒng)的設(shè)計(jì)、開發(fā)與測試過程。通過設(shè)計(jì)開發(fā)數(shù)據(jù)采集服務(wù)、元數(shù)據(jù)系統(tǒng)、文件存儲(chǔ)系統(tǒng)與數(shù)據(jù)分析平臺(tái),以及接入現(xiàn)有的用戶服務(wù)系統(tǒng),展示了涵蓋用戶認(rèn)證、課題申請(qǐng)、專家審批、機(jī)時(shí)分配、數(shù)據(jù)采集、數(shù)據(jù)存儲(chǔ)、數(shù)據(jù)分析、數(shù)據(jù)發(fā)布的實(shí)驗(yàn)及數(shù)據(jù)全生命周期的流程管理和遠(yuǎn)程數(shù)據(jù)服務(wù)功能,并在合肥光源的軟X射線成像實(shí)驗(yàn)站進(jìn)行部署和功能測試,達(dá)到了設(shè)計(jì)要求。目前系統(tǒng)的數(shù)據(jù)發(fā)布功能還處在內(nèi)部測試階段,下一步我們將與數(shù)據(jù)對(duì)象識(shí)別碼(Digital Object Identifier,DOI)注冊(cè)機(jī)構(gòu)合作以實(shí)現(xiàn)實(shí)驗(yàn)數(shù)據(jù)的全球網(wǎng)絡(luò)發(fā)布與共享,并針對(duì)數(shù)據(jù)下載服務(wù)性能、數(shù)據(jù)處理效率等軟件性能開展測試和優(yōu)化工作。

        致謝感謝合肥光源軟X射線成像實(shí)驗(yàn)站的劉剛研究員、陶夏禹同學(xué)在系統(tǒng)測試方面提供的幫助。

        作者貢獻(xiàn)說明林廣負(fù)責(zé)文章起草和最終版本的修訂;張大地負(fù)責(zé)文件存儲(chǔ)系統(tǒng)開發(fā)與網(wǎng)絡(luò)技術(shù)支持;張震負(fù)責(zé)數(shù)據(jù)采集系統(tǒng)開發(fā);賀博負(fù)責(zé)用戶服務(wù)系統(tǒng)對(duì)接;孫曉康負(fù)責(zé)資料收集整理及文章結(jié)構(gòu)設(shè)計(jì);劉功發(fā)負(fù)責(zé)研究提出及設(shè)計(jì)。

        猜你喜歡
        實(shí)驗(yàn)站存儲(chǔ)系統(tǒng)合肥
        勘誤
        我國“海底實(shí)驗(yàn)站”將實(shí)現(xiàn)深海長周期無人科考
        航海(2022年6期)2022-11-28 06:47:38
        合肥的春節(jié)
        分布式存儲(chǔ)系統(tǒng)在企業(yè)檔案管理中的應(yīng)用
        哈爾濱軸承(2020年2期)2020-11-06 09:22:36
        天河超算存儲(chǔ)系統(tǒng)在美創(chuàng)佳績
        合肥:打造『中國IC之都』
        華為震撼發(fā)布新一代OceanStor 18000 V3系列高端存儲(chǔ)系統(tǒng)
        一種基于STM32的具有斷電保護(hù)機(jī)制的采集存儲(chǔ)系統(tǒng)設(shè)計(jì)
        生態(tài)合肥
        旱情實(shí)驗(yàn)站研究方法
        人妻丰满熟妇一二三区| 欧美日韩亚洲精品瑜伽裤| 久久男人av资源网站无码| 91青青草视频在线播放| 一本久道高清视频在线观看| 中文字幕一区二区三区四区| 国产美女精品视频线免费播放软件| 国产超碰人人做人人爱ⅴa| 亚洲精品成人av观看| 日韩国产一区二区三区在线观看| 综合图区亚洲另类偷窥| 熟女人妇交换俱乐部| 久久精品国产亚洲婷婷| 女同另类一区二区三区| 午夜无码一区二区三区在线观看| 男受被做哭激烈娇喘gv视频| 国产目拍亚洲精品一区二区| 久久精品国产亚洲av成人擦边 | 国产伦精品免编号公布| 亚洲日本va中文字幕久久| 日韩有码中文字幕第一页| av日韩高清一区二区| 帮老师解开蕾丝奶罩吸乳视频 | 日韩AV无码一区二区三区不卡毛片| 国产内射视频在线观看| 久久国产精品色av免费看| 99久久婷婷国产亚洲终合精品| 狠狠综合久久av一区二区| 日韩在线不卡免费视频| av网站在线观看二区| 亚洲综合网国产精品一区| 免费观看又色又爽又黄的韩国| 丁香九月综合激情| 国产91九色免费视频| 亚洲av成人片色在线观看高潮| 四虎影视4hu4虎成人| 国产精品video| 黑人一区二区三区啪啪网站| 国产在线播放一区二区不卡| 亚洲av成人无码网站…| 国产亚洲欧洲三级片A级|