999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于Docker技術的高校在線編程平臺設計與實現

2022-09-20 02:57:38林志煌張菽妍趙蓮芬
現代計算機 2022年14期
關鍵詞:環境用戶實驗

林志煌,張菽妍,趙蓮芬

(廣州軟件學院網絡技術系,廣州 510990)

0 引言

21世紀人類面臨的最大機遇是計算機語言,計算機語言將成為科技創新的核心動力,因此就需要結合新教改的要求創新教學模式,加強高校學生的編程實踐能力,提高學生編程興趣。在如今的計算機課程實驗教學中,大部分老師都是使用PaaS平臺進行教學,雖然PaaS平臺提供了比較完善的開發環境,但由于PaaS的很多基礎構建都是基于虛擬機運行的,導致計算機資源大量消耗,出現資源利用率低下等問題。同時高校學生在開發應用、編程等課程中需要更為穩定的開發環境來進行相關實驗。對于初學者而言,需要在電腦本地部署好計算機語言需要的編譯環境,安裝相關的開發工具,安裝開發插件等。在這個過程中,由于電腦硬件環境不同以及安裝過程的某些特殊原因導致的安裝失敗等問題頻繁發生,難以找到合適的解決方式,嚴重地打擊了編程初學者的學習熱情,高校內的學生更有可能因為配置環境問題無法在非上課時間進行課程實踐。本平臺通過docker容器技術結合瀏覽器遠程訪問服務器內統一配置好的容器,無需考慮硬件環境及電腦配置,可以做到所有學生統一環境進行實驗,這將有效提升學生的編程課程效率及穩定性。

1 開源容器引擎Docker

1.1 Docker概述

Docker是Docker.Lnc公司開源的一個基于LXC技術搭建的Container容器引擎,該引擎的源代碼托管在Github上。Docker使用Google公司推出的Go語言進行開發實現,基于Linux內核的cgroup,namespace以 及OverlayFS類的Union FS等技術,對進程進行封裝隔離,屬于操作系統層面的虛擬化技術。傳統虛擬機攜帶有操作系統,很小的應用程序卻因為攜帶了操作系統而變得十分笨重,而docker容器內的應用程序是直接調用宿主機的cpu、磁盤等,容器沒有自己的內核,也沒有虛擬硬件,因此比較輕便。每個容器間是相互隔離的,每個容器內部都有一個屬于自己的文件系統,通過隔離機制可以將服務器利用到極致。由于Docker底層使用LXC來實現,LXC將linux進程沙盒化,使得進程之間彼此隔離,并且能夠控制各進程的資源分配。

Docker中包含三個基本的概念:鏡像(image)、容器(container)和倉庫(repository)。鏡像通常是一個只讀文件,它的功能是用于創建容器,且創建出來的容器與鏡像文件完全相同,唯一的區別在于容器是可讀寫的。只有容器才能用于運行程序,每一個容器之間是相互隔離的,可以理解為一臺輕量化的虛擬機。在此基礎上,容器也可以反過來用于構建鏡像。倉庫即集中存放鏡像文件的場所。

1.2 Docker與傳統虛擬化技術的不同

傳統虛擬機是虛擬出一套硬件,運行一個完整的操作系統,其本質是一臺物理機上模擬出多臺虛擬服務器,可以在這個虛擬服務器上安裝與運行軟件,因而其占用的硬件資源較多,啟動較慢。而Docker容器不封裝整個操作系統,基于主機內核通過Docker守護程序主機進程執行,是內核級別的虛擬化,可以在一個物理機上運行多個容器實例。具有輕量化、啟動快、占用資源少等特點。

當容器需要回滾時,新容器替代容器的整個過程秒級完成,而傳統虛擬化技術由于依賴項可能不同,更有可能產生沖突,因此傳統虛擬化技術做回滾時比較困難。

2 基于Docker的在線編程平臺的設計

本編程平臺基于混合云環境,發揮了公有云和私有云兩類云平臺的優勢,擴展了本編程平臺的技術基礎,提高平臺的可用性與便捷性,降低了信息化投入成本的同時保障了數據的安全性。利用Docker容器技術和Web技術,將傳統的實驗室機房環境轉移至云環境中,學生通過瀏覽器就能使用云主機進行課程的實驗。在實驗過程中,學生不僅可以根據教師上傳的實驗指導書和建立的云實驗環境進行實驗,而且可以編輯實驗筆記,保存或上傳實驗結果。該平臺還提供實驗社區、綜合協作實驗、實驗資源和系統資源的監控管理等。

2.1 角色設計

本編程平臺服務者主要由學生和教師組成。學生在本平臺上通過用戶鑒權登錄后,查看實驗列表,選擇自己所要學習的課程,連接遠程主機就可以開始學習,并且同時可以查看實驗文檔,實驗完成后,通過實驗完成檢查退出、斷開遠程主機,上傳或下載文件,即可完成本次實驗。教師通過用戶鑒權登錄后,可以進行實驗文檔編輯,選擇本次實驗所需要的環境,便可以發布實驗,同時可以管理實驗,對實驗再次編輯。管理員主要管理用戶、實驗內容、服務器主機、環境鏡像等。角色設計如圖1所示。

圖1 角色設計

2.2 性能設計

該平臺在面對大量實驗參與者連接遠程主機的情況下,每一個參與者平均需要近300 MB的主機內存及根據參與者主機運行程序決定的cpu消耗。為了防止容器中的性能占用過高,在創建容器時需要提前設置相關參數限制容器性能消耗,在出現過高消耗時docker會殺死當前容器。同時在每一次創建容器時對當前剩余內存及cpu進行查詢,若不滿足新容器的創建就將連接放入隊列中,等待其他容器銷毀后再進行連接。若大量實驗參與者同時進入導致部分容器創建失敗則會觸發事務回滾,避免了數據庫數據與服務器中實際狀況不同步。

使用Docker容器化技術搭建分布式服務器集群為用戶提供穩定、可靠的在線虛擬操作環境。在云服務器中搭建各個實驗環境的Docker鏡像,在鏡像中配置noVNC實現瀏覽器訪問。在云服務器中基于鏡像生成容器,各個容器的端口地址使用動態分配算法。容器具有隔離性,某個用戶的容器發生問題不會影響其他用戶的容器,也不會對服務器集群產生問題,具備較高的安全性。

3 基于Docker的在線編程平臺的實現

3.1 實驗環境

本平臺在Windows10環境中使用visual studio code(簡稱VS code)的源代碼編輯器進行前后端開發。使用Navicat進行可視化的數據庫管理,使用postman接口測試工具進行后端接口測試。使用Google Chrome瀏覽器進行前端頁面開發調試。通過apidoc生成后端的接口文檔。

3.2 用戶端功能

用戶端主要功能有:用戶通過鑒權登錄編程平臺,查看實驗列表、連接遠程主機、斷開主機連接、上傳下載文件、實驗完成檢查、刷新實驗主機、查看實驗文檔。

3.2.1 用戶鑒權功能實現

用戶鑒權模塊用于用戶登陸功能,用戶在登陸時需要輸入手機號碼,點擊發送驗證碼按鈕,前端將用戶請求發送至后端,后端發送調用騰訊云接口,將驗證碼短信發送至用戶手機中。用戶獲取驗證碼后,需要輸入驗證碼,并點擊登陸按鈕。

3.2.2 用戶連接遠程主機功能實現

當用戶請求連接主機時,遠程主機先查詢實現環境的鏡像id,再根據鏡像信息生成容器并運行,并根據端口分配算法為容器映射一個端口,將端口與服務器域名拼接生成一個完整地址后返回給用戶,用戶即可在瀏覽器中進入服務器的編程環境。連接過程架構圖如圖2所示,流程圖如圖3所示,連接成功后的頁面如圖4所示。

圖2 用戶連接遠程主機過程圖

圖3 用戶連接主機流程圖

圖4 用戶連接主機成功后的初始頁面

3.3 教師端功能

教師通過鑒權登錄到教師端,可查看實驗列表、連接遠程主機、斷開主機連接、上傳下載文件、實驗發布、實驗管理、實驗文檔查看、刷新實驗主機、查看實驗文檔。

3.3.1 實驗發布功能的實現

實驗的發布需要教師填寫發布表單,表單中包含有實驗的標題、簡介、實驗環境等內容。在用戶正確填寫表單并點擊發布后,后端將表單數據插入數據庫并為用戶生成一臺根據用戶表單中信息所選擇的實驗環境的容器,教師在實驗管理頁面可以查看到自己發布后暫未編輯章節的實驗。

教師點擊完善實驗章節按鈕向后端發送請求,后端響應后將測試環境的網址返回至前端,前端收到網址后將數據渲染至頁面,教師進入測試實驗環境中,即可以開始實驗并編輯章節,編輯章節完成后用戶點擊編輯完成按鈕,將章節數據發送至后端,后端將章節數據插入章節表中,實驗發布完成。

圖5 編輯實驗文檔頁面

3.3.2 實驗文檔上傳下載功能的實現

實驗文檔上傳功能是前端通過http庫axios中的post方法向后端發送文件數據,后端接收到數據后存儲于指定主機隨機碼位置的靜態文件夾,上傳后可以通過遠程主機的目錄直接查看。文件上傳成功后會在數據庫文件表中插入一條新數據用于存儲文件名及文件的外部訪問路徑。文件的下載功能通過瀏覽器直接訪問文件的外部訪問路徑來實現。實驗上傳下載功能實現界面如圖6所示。

圖6 上傳下載功能

3.4 管理員端功能

管理員可進行連接管理、主機管理、實驗管理、環境管理、新建實驗環境、用戶管理。后臺界面如圖7所示。

圖7 后臺界面

4 結語

該編程平臺基于混合云環境,利用Docker容器技術結合Web技術構建基于瀏覽器的多用戶同時在線且彼此間互不干擾的在線實現平臺。相對于傳統的編程平臺,在線虛擬編程平臺不僅能夠打破時間和地點的限制,讓學生能有更多的機會來接觸和研究所做的實驗,而且還能培養他們以理論聯系實際的思維方式以及自主創新的能力。在線編程平臺可以同時提供實驗和資源的共享,這種共享可以基于校內或者校外,提供隨時隨地在線學習和實踐資源。基于Docker容器技術的在線編程平臺具備靈活性和共享性等優勢,能夠極大地節約資源,提高學習者的學習興趣以及綜合實踐能力,具有廣闊的應用前景。

猜你喜歡
環境用戶實驗
記一次有趣的實驗
長期鍛煉創造體內抑癌環境
一種用于自主學習的虛擬仿真環境
孕期遠離容易致畸的環境
做個怪怪長實驗
環境
關注用戶
商用汽車(2016年11期)2016-12-19 01:20:16
NO與NO2相互轉化實驗的改進
實踐十號上的19項實驗
太空探索(2016年5期)2016-07-12 15:17:55
關注用戶
商用汽車(2016年6期)2016-06-29 09:18:54
主站蜘蛛池模板: 伊人色在线视频| 国产精品成人免费视频99| 中文字幕在线视频免费| 国产在线观看成人91| 亚洲色偷偷偷鲁综合| 婷婷亚洲天堂| 色有码无码视频| 欧美精品v| 中文字幕人妻无码系列第三区| 亚洲男人在线| 国产美女在线观看| 99热亚洲精品6码| 免费高清毛片| 91色爱欧美精品www| 欧美人与牲动交a欧美精品 | 欧美色伊人| 在线精品视频成人网| 久久久国产精品免费视频| 国产在线精品香蕉麻豆| 国产日韩丝袜一二三区| 在线观看免费人成视频色快速| 91人妻在线视频| 国产啪在线91| m男亚洲一区中文字幕| 色男人的天堂久久综合| 中文字幕亚洲第一| 亚洲成a∧人片在线观看无码| 亚洲成aⅴ人片在线影院八| 欧洲熟妇精品视频| 国产精品无码AⅤ在线观看播放| 亚洲欧美精品日韩欧美| 成人福利在线看| 无遮挡一级毛片呦女视频| 欧美精品一区在线看| www.狠狠| 亚洲最大情网站在线观看 | 久久天天躁狠狠躁夜夜躁| 国产精品hd在线播放| 欧美日韩激情| 亚亚洲乱码一二三四区| 国产极品美女在线播放| 一级毛片免费的| 国产区免费| 在线一级毛片| 国产精品va| 午夜视频www| 99久久精品国产自免费| 久久人人妻人人爽人人卡片av| 成人日韩欧美| 欧美一级高清片久久99| 亚洲日本精品一区二区| 香蕉国产精品视频| 国产丝袜无码一区二区视频| 日本精品视频| 国产精品观看视频免费完整版| 日韩欧美中文在线| 高清无码一本到东京热| 成人福利在线观看| 激情乱人伦| 国产无遮挡裸体免费视频| 欧美国产精品拍自| 全部毛片免费看| 久久亚洲中文字幕精品一区| 九色在线观看视频| 欧美性色综合网| 欧美区一区| 永久免费无码成人网站| 午夜爽爽视频| 99在线观看国产| 丰满人妻一区二区三区视频| 日韩欧美国产成人| 亚洲国语自产一区第二页| 亚洲人成人无码www| 国产va免费精品观看| 热99精品视频| 日韩无码视频播放| 欧美伊人色综合久久天天| 免费无码AV片在线观看中文| 嫩草国产在线| 中文字幕自拍偷拍| 国产精品人成在线播放| 99精品视频九九精品|