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

        ?

        基于Docker 的在線虛擬仿真實驗容器系統(tǒng)設(shè)計與應(yīng)用實踐

        2019-07-25 08:03:30陶銘曲超
        現(xiàn)代計算機 2019年17期
        關(guān)鍵詞:用戶功能實驗

        陶銘,曲超

        (東莞理工學院計算機科學與技術(shù)學院,東莞523808)

        0 引言

        “新工科”建設(shè)背景下,需要培養(yǎng)復合型人才和創(chuàng)新性人才,這就需要培養(yǎng)學生將所學理論知識應(yīng)用于實踐的能力,以及將所學的專業(yè)知識創(chuàng)造性地應(yīng)用于新的領(lǐng)域或跨多重領(lǐng)域,進行研發(fā)或創(chuàng)新的能力[1]。因此,實驗教學成為培養(yǎng)學生這些能力的重要環(huán)節(jié)。然而,現(xiàn)有的實驗教學模式受到場地、設(shè)備及師資等多方面的影響,嚴重制約著實驗教學水平的提升以及學生實踐能力的培養(yǎng)。

        近年來,逐步發(fā)展起來的虛擬仿真實驗作為物理實驗的一種替代技術(shù),以其低成本等特點,已被廣泛應(yīng)用于實驗教學,且被證明是應(yīng)用信息技術(shù)解決高校實驗教學環(huán)節(jié)中存在問題的可行途徑。然而,目前虛擬仿真實驗的開發(fā)利用相對比較初步,研究重點主要集中于實驗功能的實現(xiàn),往往僅局限于物理實驗的替代,而極少地進一步發(fā)揮其信息處理能力,并且在擴展能力和集成能力等方面存在嚴重的不足,如:缺乏遠程訪問和并發(fā)服務(wù)能力。虛擬仿真軟件往往是一個純客戶端軟件,可以在單機上運行,實驗人員往往需要分別下載并各自運行。既不能運程訪問,也不具備并發(fā)服務(wù)能力,難以同其他軟件進行直接交互,無法直接進行在線實驗[2]。

        為此,為更充分地發(fā)揮虛擬仿真實驗的優(yōu)勢,更好地培養(yǎng)學生實踐創(chuàng)新的能力,以及提升學生“學以致用”的水平,本文基于輕量級的操作系統(tǒng)虛擬化解決方案Docker[3],設(shè)計并實現(xiàn)了一種在線虛擬仿真實驗容器系統(tǒng)。系統(tǒng)實現(xiàn)了后臺服務(wù)器系統(tǒng)、資源服務(wù)器、客戶端、管理員等功能模塊,旨在通過圖形化界面,結(jié)合Docker 的相關(guān)指令以及其他輔助功能,降低用戶使用容器過程中的門檻,提高用戶進行在線虛擬仿真實驗的便捷性。

        1 系統(tǒng)功能需求分析

        本系統(tǒng)的用戶有兩種:普通用戶和管理員。普通用戶的主要功能包括兩大模塊:容器和工單。容器模塊包括申請、管理及使用,用例圖如圖1 所示。用戶申請容器通過填寫并提交表單來執(zhí)行。用戶對容器的管理包括開啟、關(guān)閉及刪除。用戶對容器的使用分為容器內(nèi)的文件操作、服務(wù)管理。容器內(nèi)的文件操作包括在容器中上傳、創(chuàng)建、刪除、重命名、移動、復制文件以及新建、刪除文件夾;服務(wù)管理中的“服務(wù)”指的是Linux 命令,Linux 命令保存為服務(wù)后,點擊執(zhí)行可以在容器內(nèi)執(zhí)行該命令,對容器外的環(huán)境沒有影響。服務(wù)管理還包括修改服務(wù)、刪除服務(wù)、添加默認服務(wù)。

        圖1 容器模塊用例圖

        工單模塊包括了創(chuàng)建、回復、查看、搜索、關(guān)閉,用例圖如圖2 所示。工單是作為用戶和管理員交流溝通的重要途徑。用戶填寫工單后,管理員能夠接收到用戶發(fā)出的消息,進而回復并跟進用戶提出的問題,用戶也能在工單中與管理員繼續(xù)反饋。關(guān)閉工單功能是給用戶在認為已經(jīng)解決問題后,手動將工單狀態(tài)設(shè)置為關(guān)閉。

        圖2 (普通用戶)工單模塊用例圖

        管理員的主要功能包括以下模塊:用戶、控制臺、容器、工單。用戶模塊包括顯示用戶信息列表、顯示用戶操作記錄,用例圖如圖3 所示。用戶信息列表中是用戶的基本信息,包括其學號、用戶名等。用戶操作記錄指用戶登錄、申請容器、使用容器、創(chuàng)建工單、回復工單等操作。用戶在進行這些操作時會被系統(tǒng)記錄,并形成日志文件便于分析。

        圖3 管理員端用戶模塊用例圖

        控制臺模塊包括顯示當前用戶數(shù)、顯示當前容器數(shù)、顯示當前未讀消息數(shù)、顯示當前資源服務(wù)器的CPU及內(nèi)存占用情況、定時處理過期容器,用例圖如圖4 所示。未讀消息指的是未查看的工單回復,若是剛創(chuàng)建的工單,工單內(nèi)的第一條消息也被認為是未讀消息。

        圖4 控制臺模塊用例圖

        管理員端容器模塊包括顯示容器列表、顯示容器詳情、容器管理、容器信息統(tǒng)計,用例圖如圖5 所示。容器管理包括開啟、關(guān)閉、刪除。容器信息統(tǒng)計是從容器創(chuàng)建日期分布、已開啟容器數(shù)量、鏡像使用分布這些角度進行統(tǒng)計。

        圖5 管理員端容器模塊用例圖

        管理員端工單模塊包括查看工單列表、新建工單、查看工單詳情、回復工單,用例圖如圖6 所示。工單列表能夠突出顯示有未讀消息的工單,表現(xiàn)為該工單標題后有個帶數(shù)字的徽章,徽章內(nèi)數(shù)字表示當前未讀消息的數(shù)量。

        圖6 管理員端工單模塊用例圖

        2 系統(tǒng)設(shè)計

        2.1 系統(tǒng)體系結(jié)構(gòu)設(shè)計

        本系統(tǒng)在體系結(jié)構(gòu)上分為三部分:界面表示層、業(yè)務(wù)邏輯層以及數(shù)據(jù)與資源層[4],如圖7 所示。客戶端和管理員端為界面表示層,為普通用戶和管理員展示所需要的界面,并顯示從后臺獲取的數(shù)據(jù);后臺服務(wù)器系統(tǒng)屬于業(yè)務(wù)邏輯層,作為一個中間層,既負責為客戶端和管理員端提供必要數(shù)據(jù)和業(yè)務(wù)邏輯,又負責管理數(shù)據(jù)與資源層;數(shù)據(jù)與資源層有資源服務(wù)器和數(shù)據(jù)庫,其中,資源服務(wù)器是安裝有Docker 的Linux 宿主機。

        圖7 系統(tǒng)體系結(jié)構(gòu)示意圖

        2.2 系統(tǒng)功能設(shè)計

        基于上述對普通用戶及管理員的功能需求分析,將分別展示申請容器、開啟容器、上傳文件、復制文件及添加自定義服務(wù)的功能時序圖。其他的功能在流程上與上述功能有相似之處。

        申請容器是根據(jù)收集填寫的信息并創(chuàng)建容器,其功能時序圖如圖8 所示。

        開啟容器操作除了在資源服務(wù)器中開啟容器外,還會收集容器的相關(guān)信息,其功能時序圖如圖9 所示,操作流程如圖10 所示。關(guān)閉容器和刪除容器與其類似,只是少了向資源服務(wù)器查詢?nèi)萜餍畔⒌牟襟E。

        圖8 申請容器功能時序圖

        圖9 開啟容器功能時序圖

        圖10 開啟容器的流程圖

        添加自定義服務(wù)的功能時序圖如圖11 所示。編輯服務(wù)、刪除服務(wù)在流程上與其類似。而添加默認服務(wù)與其不同點在于服務(wù)的信息是通過檢索數(shù)據(jù)庫獲得。

        圖11 添加自定義服務(wù)功能時序圖

        3 系統(tǒng)實現(xiàn)及應(yīng)用

        本系統(tǒng)的實現(xiàn)基于ThinkPHP 框架,遵循MVC 架構(gòu),采用HTML、CSS、jQuery、PHP 等進行開發(fā)[5],如圖12 所示。具體地,前端采用HTML 語言顯示基本內(nèi)容,使用CSS 對頁面進行格式排版,使用ThinkPHP 框架的View 視圖層進行封裝;業(yè)務(wù)處理采用ThinkPHP框架的Controller 控制器,在對客戶請求進行處理時,調(diào)用相應(yīng)的業(yè)務(wù)邏輯層函數(shù)完成相應(yīng)的功能;采用ThinkPHP 框架的數(shù)據(jù)庫擴展功能實現(xiàn)MySQL 數(shù)據(jù)庫的連接,并采用ThinkPHP 框架的Model 數(shù)據(jù)模型層實現(xiàn)PHP 代碼與MySQL 數(shù)據(jù)庫表連接,以面向?qū)ο蟮姆绞教幚頂?shù)據(jù)庫。本文以《Web 前端開發(fā)實踐》課程中搭建一個基于Apache 的Web 服務(wù)器為例,介紹Docker容器的應(yīng)用效果。

        圖12 系統(tǒng)實現(xiàn)架構(gòu)示意圖

        3.1 申請容器

        用戶填寫相應(yīng)信息,選擇鏡像、資源文件夾大小、開放端口,程序判斷無誤后即可創(chuàng)建容器。用戶可選擇的連接容器使用AJAX 異步查詢并顯示。收到用戶的申請后,后臺先根據(jù)用戶填寫的需求拼接Docker 操作命令,然后再交由DockerHelper 類執(zhí)行[6]。若在創(chuàng)建容器時選擇了需要資源文件夾,則需要在資源服務(wù)器上分配所選容量的文件夾給用戶使用。本系統(tǒng)使用磁盤配額技術(shù)限制該文件夾的大小。申請容器的功能界面如圖13 所示,主要代碼實現(xiàn)如下所示。

        圖13 申請容器

        //通過數(shù)據(jù)庫,生成一個資源文件夾id

        if(isset($resSize)&&$resSize!==""&&$resSize!==0){

        $res=new Res();

        ……

        $res->data($info);

        $res->save();

        $res=Res::get($info);

        $resId=$res->id;

        }else{

        $resSize=0;

        $resId=-1;

        }

        //解析要連接容器,并產(chǎn)生真正的容器名

        if($linkChoice!==""&&$linkChoice!=="(無)"&&$link-Choice!=="(無)"){

        $linkChoice=$account.'-'.$linkChoice;

        }else{

        $linkChoice="";

        }

        $helper=$this->getDockerHelper();

        //執(zhí)行Docker 中的創(chuàng)建容器命令

        $result=$helper->createContainer($account,$imageName,

        $cname,$linkChoice,$resSize,$resId,$cportList)->getData();

        3.2 容器管理

        容器開啟時將連接資源服務(wù)器并作如下操作:①查看其端口映射情況,更新數(shù)據(jù)并顯示;②查看硬盤占用情況;③獲取容器默認目錄下的文件。容器管理功能界面如圖14 所示。

        圖14 容器管理

        4 結(jié)語

        本文應(yīng)對在線虛擬仿真實驗在提升學生實踐創(chuàng)新能力方面存在的不足,設(shè)計并實現(xiàn)了一種基于Docker的在線虛擬仿真實驗容器系統(tǒng)。該系統(tǒng)實現(xiàn)了后臺服務(wù)器系統(tǒng)、資源服務(wù)器、客戶端、管理員等功能模塊。在實際的實踐教學環(huán)節(jié)應(yīng)用過程中,該系統(tǒng)通過圖形化界面,結(jié)合Docker 的相關(guān)指令及其他輔助功能,可降低用戶使用容器過程中的門檻,提高用戶進行在線虛擬仿真實驗的便捷性,體現(xiàn)出良好的應(yīng)用效果,在深化信息技術(shù)與教育教學的融合發(fā)展中具有明顯的積極意義。

        猜你喜歡
        用戶功能實驗
        也談詩的“功能”
        中華詩詞(2022年6期)2022-12-31 06:41:24
        記一次有趣的實驗
        做個怪怪長實驗
        關(guān)于非首都功能疏解的幾點思考
        關(guān)注用戶
        商用汽車(2016年11期)2016-12-19 01:20:16
        NO與NO2相互轉(zhuǎn)化實驗的改進
        實踐十號上的19項實驗
        太空探索(2016年5期)2016-07-12 15:17:55
        關(guān)注用戶
        商用汽車(2016年6期)2016-06-29 09:18:54
        關(guān)注用戶
        商用汽車(2016年4期)2016-05-09 01:23:12
        如何獲取一億海外用戶
        国产欧美综合一区二区三区| 日本精品久久久久中文字幕1| 一本大道综合久久丝袜精品| 日本一区二区三区亚洲| 免费看又色又爽又黄的国产软件| 亚洲狠狠婷婷综合久久| av无码一区二区三| 国产亚洲3p一区二区| 成人麻豆日韩在无码视频| 亚洲国产精品嫩草影院久久| 一区二区三区婷婷在线| 99亚洲女人私处高清视频| 中国杭州少妇xxxx做受| 男女啪啪免费体验区| 国产午夜视频免费观看| 国产视频一区2区三区| 亚洲情综合五月天| 色窝窝免费播放视频在线| 欧洲AV秘 无码一区二区三| 国产成人亚洲精品91专区高清| 无码一区二区三区免费视频| 国产a三级久久精品| 水蜜桃一二二视频在线观看免费| 蜜桃视频第一区免费观看| 男女啪动最猛动态图| 亚洲成人电影在线观看精品国产| 国产av普通话对白国语| 99久久婷婷国产亚洲终合精品| 无码福利写真片视频在线播放| 国产福利片无码区在线观看| 中文字幕一区二区三区亚洲| 久久久99精品成人片| 18禁超污无遮挡无码免费游戏 | 日韩少妇无码一区二区免费视频| 日本视频在线观看一区二区| 狠狠色综合7777久夜色撩人ⅰ| 水蜜桃久久| 国产av大片久久中文字幕| 亚洲精品一区二区国产精华液 | 国产成人亚洲综合无码品善网| 亚洲国产成人91|