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

    基于天擎的容器應(yīng)用

    2023-03-14 07:55:40鐘艷雯夏正龍朱亮呂冠儒朱宏武
    現(xiàn)代計(jì)算機(jī) 2023年1期
    關(guān)鍵詞:鏡像容器氣象

    鐘艷雯,夏正龍,朱亮,呂冠儒,朱宏武

    (湖南省氣象信息中心,長(zhǎng)沙 410118)

    0 引言

    隨著氣象業(yè)務(wù)的飛速發(fā)展,對(duì)氣象系統(tǒng)的信息化、集約化、扁平化的要求越來(lái)越高,Docker容器憑借輕量級(jí)、啟動(dòng)快、資源占用少的優(yōu)點(diǎn)[1],在氣象領(lǐng)域中得到了廣泛的應(yīng)用。近年來(lái)多省氣象部門開(kāi)展了Docker技術(shù)在業(yè)務(wù)中的研究與應(yīng)用,利用相關(guān)技術(shù)搭建氣象云平臺(tái)服務(wù)、部署相關(guān)算法等[2-4]。2021年湖南省氣象大數(shù)據(jù)云平臺(tái),即“天擎·湖南”(以下簡(jiǎn)稱天擎)正式上線,提供數(shù)算一體的平臺(tái)化服務(wù),實(shí)現(xiàn)了數(shù)據(jù)管理、加工處理、應(yīng)用服務(wù)的高度集約。2022年天擎新增了鏡像資源管理與容器資源管理功能,允許用戶在天擎環(huán)境中制作鏡像,并在加工處理算法的容器云計(jì)算框架中加載運(yùn)行。本文擬對(duì)基于天擎的容器應(yīng)用進(jìn)行研究,將Docker體積小、部署快等優(yōu)點(diǎn)與天擎環(huán)境結(jié)合,在充分保證運(yùn)行環(huán)境獨(dú)立的同時(shí),減少環(huán)境部署時(shí)間,降低系統(tǒng)資源消耗。

    1 相關(guān)技術(shù)

    1.1 Docker技術(shù)

    Docker是dotCloud公司于2013年發(fā)布的輕量級(jí)容器引擎,得益于開(kāi)源、高效和標(biāo)準(zhǔn)化實(shí)現(xiàn),Docker已成為容器云平臺(tái)的事實(shí)標(biāo)準(zhǔn)[5]。Docker機(jī)制包括鏡像(image)、容器(container)和倉(cāng)庫(kù)(repository)。Docker鏡像類似于虛擬機(jī)鏡像,為只讀模板,包含了文件系統(tǒng)。容器是從鏡像創(chuàng)建的運(yùn)行實(shí)例,容器間相互隔離,獨(dú)立運(yùn)行。鏡像是創(chuàng)建容器的基礎(chǔ),倉(cāng)庫(kù)是Docker集中存放鏡像文件的場(chǎng)所。Docker容器是在操作系統(tǒng)層面上實(shí)現(xiàn)虛擬化,直接復(fù)用本地主機(jī)的操作系統(tǒng),對(duì)硬件的需求遠(yuǎn)低于傳統(tǒng)虛擬機(jī)。從資源占用上來(lái)說(shuō),更加輕量級(jí);從應(yīng)用上來(lái)說(shuō)虛擬移植性更強(qiáng),靈活性更高[6-9]。

    1.2 天擎容器云

    天擎提供鏡像資源管理與容器資源管理功能,制作并管理Docker鏡像和容器;在算法管理中提供容器云計(jì)算框架,將用戶鏡像加載后供加工流水線調(diào)度運(yùn)行。天擎提供兩類基礎(chǔ)鏡像:一類為操作系統(tǒng)基礎(chǔ)鏡像,只包含操作系統(tǒng)及常用的基礎(chǔ)軟件;另一類為語(yǔ)言包基礎(chǔ)鏡像,除操作系統(tǒng)外,包含基礎(chǔ)的語(yǔ)言環(huán)境(如Java、Python、C++等)。算法基于容器有兩種運(yùn)行模式:①算法在容器外的宿主機(jī)上,運(yùn)行時(shí)通過(guò)映射的方式在容器內(nèi)運(yùn)行;②算法裝載到容器內(nèi),直接在容器內(nèi)運(yùn)行。模式①的優(yōu)點(diǎn)是方便算法的調(diào)試,算法修改后無(wú)需重新打包鏡像,缺點(diǎn)是不利于算法的管理,且需提供額外的存儲(chǔ)空間。模式②可以實(shí)現(xiàn)對(duì)算法及資源的嚴(yán)格管理,但當(dāng)算法更改時(shí),需要重新打包鏡像。天擎在算法開(kāi)發(fā)測(cè)試階段允許使用模式①,便于進(jìn)行算法的調(diào)試。當(dāng)算法完成測(cè)試后,在業(yè)務(wù)環(huán)境中需要將算法裝載至容器內(nèi),以模式②運(yùn)行。

    2 容器應(yīng)用

    2.1 前期準(zhǔn)備

    首先需要申請(qǐng)?zhí)烨鏄I(yè)務(wù)賬戶,激活數(shù)據(jù)存儲(chǔ)、算法集成與運(yùn)行權(quán)限;其次在資源申請(qǐng)頁(yè)面中申請(qǐng)存儲(chǔ)資源、算力資源、數(shù)據(jù)訪問(wèn);最后按照天擎標(biāo)準(zhǔn)對(duì)算法輸入輸出、運(yùn)行環(huán)境、監(jiān)視告警信息等進(jìn)行研發(fā)與改造,實(shí)現(xiàn)與天擎的適配。

    2.2 鏡像制作

    用戶通過(guò)在線和離線等方式,進(jìn)行算法鏡像的制作和上傳提交申請(qǐng),在管理員審核通過(guò)后,可以在天擎業(yè)務(wù)平臺(tái)“算法注冊(cè)”頁(yè)面進(jìn)行使用。鏡像制作主要包含三種方式:

    方法一:離線鏡像制作。適用于用戶本地?zé)oDocker環(huán)境且無(wú)Docker鏡像制作基礎(chǔ),或算法環(huán)境依賴需要自定義制作時(shí)。使用該方式進(jìn)行鏡像制作時(shí)與虛擬機(jī)安裝環(huán)境類似:用戶申請(qǐng)容器資源;管理員審核通過(guò)后在指定服務(wù)器上創(chuàng)建容器并啟動(dòng)sshd服務(wù);用戶遠(yuǎn)程登錄到容器內(nèi),進(jìn)行算法依賴安裝、算法測(cè)試;測(cè)試通過(guò)后,在離線制作鏡像頁(yè)面選擇已調(diào)試后的容器,制作成鏡像。

    方法二:在線鏡像制作。適用于用戶有Docker鏡像制作基礎(chǔ),并有算法包文件,依賴環(huán)境點(diǎn)單。用戶在平臺(tái)提供的基礎(chǔ)鏡像上,通過(guò)Docker指令在線制作鏡像,包括添加算法指令包、指定執(zhí)行目錄、端口映射、掛載目錄等。

    方法三:鏡像文件上傳。用戶將通過(guò)鏡像下載頁(yè)面保存鏡像tar文件或者其他定制好的鏡像tar文件,在鏡像資源管理頁(yè)面上傳。

    2.3 湖南省水文數(shù)據(jù)同步鏡像制作

    方法一、二制作的鏡像簡(jiǎn)單、規(guī)范、安全,符合天擎審核要求。但是,在天擎提供的基礎(chǔ)鏡像無(wú)法滿足算法運(yùn)行環(huán)境需求時(shí),方法一、二中用戶無(wú)root權(quán)限,僅能以用戶申請(qǐng)的天擎業(yè)務(wù)用戶運(yùn)行,且除家目錄以外無(wú)寫權(quán)限,在需要安裝其它依賴及環(huán)境的情況下,建議采用方法三,在自建容器服務(wù)器中制作自定義鏡像,打包后上傳。下面以制作湖南省水文數(shù)據(jù)同步鏡像為例,介紹離線鏡像的制作方法。

    (1)使用自建容器服務(wù)器制作鏡像時(shí),需要修改容器內(nèi)用戶最大線程數(shù)為65535。

    修改方式為:vi/etc/security/limits.d/20-nproc.conf,如圖1所示。

    圖1 修改容器內(nèi)用戶最大線程數(shù)

    (2)編寫Dockerfile。

    天擎要求Docker容器中的進(jìn)程以業(yè)務(wù)賬戶執(zhí)行,在用戶鏡像上傳后會(huì)校驗(yàn)是否需要包含業(yè)務(wù)賬戶名稱、用戶Uid,用戶目錄是否符合規(guī)范/space/cmadaas/dpl/{業(yè)務(wù)賬戶名稱}等。因此,選擇編寫Dockerfile文件,基于DSL語(yǔ)法構(gòu)建鏡像,如圖2所示。

    圖2 Dockerfile內(nèi)容

    其中,創(chuàng)建用戶與設(shè)置工作目錄關(guān)系到能否通過(guò)天擎的鏡像校驗(yàn),是必不可少的。業(yè)務(wù)賬戶名稱與產(chǎn)品加工業(yè)務(wù)系統(tǒng)用戶名稱保持一致,用戶Uid可以在鏡像管理頁(yè)面進(jìn)行查看。

    COPY命令復(fù)制當(dāng)前目錄下的算法及相關(guān)文件或者目錄到容器指定目錄。

    “RUN pip install-r requirements.txt”命令安裝requirements.txt中指定的Python軟件包。requirements.txt文件內(nèi)容為:

    pymssql==2.2.5

    requests==2.28.1

    (3)生成Docker鏡像。

    docker build-t sqltoxg:v3-f./Dcokerfile.

    (4)運(yùn)行Docker容器。

    docker run—name sqltoxugu3-it sqltoxg:v3/bin/bash

    (5)調(diào)試成功后,將運(yùn)行中的容器保存為docker鏡像。

    docker commit a346c822d116 sqltoxg:v3.1

    (6)鏡像打包為tar文件。

    docker save-o docker_SqlToXugu_v3.tar sqltoxg:v3.1

    (7)上傳鏡像并注冊(cè)算法,將算法加載到加工流水線調(diào)度運(yùn)行,算法運(yùn)行界面如圖3所示。

    圖3 算法運(yùn)行界面

    2.4 運(yùn)行比較

    湖南省水文數(shù)據(jù)同步算法主要任務(wù)是從ms-SQL數(shù)據(jù)庫(kù)同步水文行業(yè)共享數(shù)據(jù)到天擎的虛谷數(shù)據(jù)庫(kù)中。下面選取水文降水量數(shù)據(jù),以相同的算法及參數(shù)運(yùn)行在虛擬機(jī)環(huán)境、自建容器服務(wù)器(以下簡(jiǎn)稱容器)、天擎算法容器云(以下簡(jiǎn)稱算法)中,對(duì)虛擬機(jī)、容器、算法在同步效率方面進(jìn)行測(cè)試。

    (1)不同時(shí)間段對(duì)比。

    選取2022年7月1日0時(shí)至1時(shí)、7月2日至3日,7月11日至20日的數(shù)據(jù)進(jìn)行同步,分別進(jìn)行小時(shí)、日、旬?dāng)?shù)據(jù)同步速度比較,結(jié)果見(jiàn)表1。

    表1 同步速度測(cè)試結(jié)果

    (2)不同步驟對(duì)比。

    每次同步操作的主要步驟為:①查詢SQL數(shù)據(jù)庫(kù);②去除虛谷數(shù)據(jù)庫(kù)中重復(fù)記錄;③更新虛谷數(shù)據(jù)庫(kù)。選取2022年7月21日至30日逐日數(shù)據(jù)進(jìn)行同步測(cè)試,比較3個(gè)步驟耗時(shí)情況,查詢耗時(shí)、去重耗時(shí)和更新耗時(shí)結(jié)果依次如圖4、圖5和圖6所示。

    圖4 逐日查詢耗時(shí)

    圖5 逐日去重耗時(shí)

    10天總記錄數(shù)為219501條,每條在3個(gè)步驟中的平均耗時(shí)見(jiàn)表2。

    表2 每條記錄平均耗時(shí) 單位:毫秒

    所有測(cè)試結(jié)果的不同時(shí)間段對(duì)比中,算法同步速度最快。不同步驟對(duì)比中,步驟1算法平均耗時(shí)、單日耗時(shí)稍長(zhǎng),虛擬機(jī)與容器耗時(shí)接近;步驟2算法平均耗時(shí)較短,容器耗時(shí)最長(zhǎng);步驟3算法單日和平均耗時(shí)最短,虛擬機(jī)與容器耗時(shí)接近。綜上所述,虛擬機(jī)與容器同步效率接近,算法效率最高。

    3 結(jié)語(yǔ)

    天擎是目前氣象部門的核心平臺(tái)之一,各類算法融入氣象大數(shù)據(jù)云平臺(tái)是氣象信息化、集約化發(fā)展的趨勢(shì)與要求。Docker具有體積小、啟動(dòng)快,在保證運(yùn)行環(huán)境獨(dú)立的同時(shí)減少環(huán)境部署時(shí)間、降低系統(tǒng)資源消耗等優(yōu)點(diǎn),在天擎的算法接入方面有較大的優(yōu)勢(shì)。本文以湖南省水文數(shù)據(jù)同步算法為例,介紹了從鏡像制作到算法調(diào)度運(yùn)行的全流程,并對(duì)同步效率進(jìn)行了測(cè)試。這對(duì)其他算法融入具有一定的參考、示范意義,對(duì)推進(jìn)本省“云+端”的氣象業(yè)務(wù)體系起著積極作用。

    猜你喜歡
    鏡像容器氣象
    氣象
    氣象樹(shù)
    Different Containers不同的容器
    《內(nèi)蒙古氣象》征稿簡(jiǎn)則
    鏡像
    難以置信的事情
    鏡像
    小康(2018年23期)2018-08-23 06:18:52
    大國(guó)氣象
    取米
    鏡像
    小康(2015年4期)2015-03-31 14:57:40
    昌黎县| 长春市| 呼伦贝尔市| 观塘区| 云龙县| 舞钢市| 吴旗县| 邵武市| 尚义县| 甘孜| 从江县| 宜兰市| 武威市| 河北省| 长武县| 玛沁县| 景泰县| 阳春市| 湄潭县| 崇信县| 德州市| 长兴县| 三门峡市| 于都县| 东乡县| 义马市| 两当县| 徐州市| 建湖县| 余姚市| 嫩江县| 左云县| 集安市| 阳曲县| 务川| 体育| 灵武市| 吉首市| 斗六市| 深水埗区| 忻州市|