国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于RuoYi-Cloud 的勞動(dòng)教育平臺(tái)建設(shè)*

2024-04-18 05:08:48張家銘周北平
電子技術(shù)應(yīng)用 2024年3期
關(guān)鍵詞:框架界面勞動(dòng)

張家銘,周 杰,2,周北平

(1.南京信息工程大學(xué) 電子與信息工程學(xué)院,江蘇 南京 210044;2.日本國立新瀉大學(xué) 電氣電子工學(xué)科,日本 新瀉 950-2181;3.南京信息工程大學(xué) 圖書館,江蘇 南京 210044)

0 引言

近年來,中國高度重視勞動(dòng)教育的發(fā)展,并指出“把勞動(dòng)教育納入人才培養(yǎng)的全過程,貫通大中小學(xué)各學(xué)段”[1]。教育部明確提出要整體優(yōu)化學(xué)校課程設(shè)置,將勞動(dòng)教育納入普通高等學(xué)校人才培養(yǎng)方案[2]。普通高等學(xué)校要明確勞動(dòng)教育主要依托課程,其中本科階段不少于32 學(xué)時(shí)[3]。除勞動(dòng)教育必修課程外,其他課程結(jié)合學(xué)科、專業(yè)特點(diǎn),有機(jī)融入勞動(dòng)教育內(nèi)容[4]。根據(jù)以上,勞動(dòng)教育平臺(tái)被設(shè)計(jì)并實(shí)現(xiàn),主要目的是提高學(xué)校對(duì)學(xué)生勞動(dòng)實(shí)踐、勞動(dòng)文化學(xué)習(xí)的管理質(zhì)量,方便學(xué)生學(xué)習(xí)勞動(dòng)教育。

隨著高校信息化平臺(tái)建設(shè)快速發(fā)展,部分平臺(tái)為高校信息化進(jìn)程做出了一定貢獻(xiàn)。苗陽[5]等人給出系統(tǒng)的基本架構(gòu)并提出系統(tǒng)與相關(guān)服務(wù)體系數(shù)據(jù)共享、在線互聯(lián),但是系統(tǒng)采用傳統(tǒng)的單體版結(jié)構(gòu),可擴(kuò)展性受到一定限制,可靠性和容錯(cuò)性比較低,若引用新技術(shù)棧需要對(duì)整個(gè)系統(tǒng)進(jìn)行重構(gòu),而且團(tuán)隊(duì)開發(fā)協(xié)調(diào)困難,部署較為復(fù)雜。李永成[6]等人提出包含多種推薦引擎的智能微服務(wù)為底層的高校隱性教育資源云共享系統(tǒng),通過智能推薦算法來建立推薦模型,結(jié)合AI、大數(shù)據(jù)等技術(shù)實(shí)現(xiàn)以海量數(shù)據(jù)支持為特點(diǎn)的云共享系統(tǒng)。這種設(shè)計(jì)貼合實(shí)際,但是實(shí)現(xiàn)起來比較繁瑣,需要耗費(fèi)大量的開發(fā)成本,且后期維護(hù)成本較高。

為避免單體版的缺點(diǎn),并簡化開發(fā)成本,加快開發(fā)速度,本文設(shè)計(jì)了基于RuoYi-Cloud 快速開發(fā)平臺(tái)的勞動(dòng)教育系統(tǒng)。本系統(tǒng)通過使用RuoYi-Cloud 框架,實(shí)現(xiàn)勞動(dòng)教育系統(tǒng)的高度集成和模塊化,降低了開發(fā)難度和維護(hù)成本。同時(shí),模塊化設(shè)計(jì)使得系統(tǒng)具有更好的可擴(kuò)展性和靈活性。此外,利用平臺(tái)的可視化設(shè)計(jì)工具,為勞動(dòng)教育系統(tǒng)打造了直觀、易用的用戶界面,給用戶帶來良好體驗(yàn)。

1 RuoYi-Cloud 開發(fā)框架

1.1 RuoYi-Cloud 開發(fā)框架特點(diǎn)

RuoYi 是一個(gè)企業(yè)級(jí)快速開發(fā)框架,基于經(jīng)典技術(shù)組合,主要目的是讓開發(fā)者專注業(yè)務(wù),縮短項(xiàng)目周期,提高軟件安全質(zhì)量[7]。RuoYi 開發(fā)框架包含單體版、前后分離版RuoYi-Vue、微服務(wù)版RuoYi-Cloud,本平臺(tái)使用的是微服務(wù)版本。

框架主要的特性包括完全響應(yīng)式布局,支持多端移動(dòng)設(shè)備;支持多數(shù)據(jù)源,比如MySQL、Oracle 等,簡單配置即可切換;二次封裝JS,簡化JS 代碼,方便后期維護(hù);提供了SQL 注入、XSS 攻擊等安全防護(hù)機(jī)制,保證了系統(tǒng)的安全性;Maven 多項(xiàng)目依賴,模塊及插件分項(xiàng)目,盡量松耦合,方便模塊升級(jí)、增減模塊[8];支持操作日志和異常日志的記錄,方便開發(fā)者進(jìn)行問題定位和系統(tǒng)優(yōu)化;支持內(nèi)存監(jiān)控、CPU 監(jiān)控、磁盤監(jiān)控等功能。

1.2 RuoYi-Cloud 開發(fā)框架技術(shù)選型

RuoYi-Cloud 微服務(wù)框架的技術(shù)架構(gòu)如圖1 所示,微服務(wù)框架代替?zhèn)鹘y(tǒng)單體結(jié)構(gòu),主要面向內(nèi)在服務(wù),模塊間邊緣結(jié)構(gòu)清晰[9],通過輕量API 接口互相調(diào)用,前端通過微服務(wù)網(wǎng)關(guān)調(diào)用后端,實(shí)現(xiàn)集群的負(fù)載。

圖1 RuoYi 框架架構(gòu)

2 勞動(dòng)教育系統(tǒng)設(shè)計(jì)

2.1 系統(tǒng)架構(gòu)設(shè)計(jì)

平臺(tái)使用微服務(wù)分布式系統(tǒng)架構(gòu),將選課、在線學(xué)習(xí)、成績統(tǒng)計(jì)等功能細(xì)化到離散的服務(wù)中,減少系統(tǒng)間的耦合性,系統(tǒng)架構(gòu)如圖2 所示。分離的微服務(wù)減少各層之間的依賴,可以獨(dú)立部署,服務(wù)之間可以通過標(biāo)準(zhǔn)化的輕量級(jí)互聯(lián)網(wǎng)協(xié)議(如HTTP)或者消息傳遞協(xié)議(如RabbitMQ)通信,每個(gè)微服務(wù)都包含各自的用戶處理功能、業(yè)務(wù)邏輯和后端功能,微服務(wù)架構(gòu)極大地提升了系統(tǒng)的擴(kuò)展性,降低了系統(tǒng)的維護(hù)成本。微服務(wù)具有一定的容錯(cuò)性,松耦合的架構(gòu)決定某一組件的故障不一定會(huì)導(dǎo)致整個(gè)系統(tǒng)的癱瘓,其正常運(yùn)行的服務(wù)還可以滿足用戶的請(qǐng)求[10]。

圖2 微服務(wù)分布式系統(tǒng)架構(gòu)

API 網(wǎng)關(guān)層是微服務(wù)結(jié)構(gòu)中的入口,可以提供身份驗(yàn)證、授權(quán)、請(qǐng)求轉(zhuǎn)換、緩存等功能。服務(wù)應(yīng)用層是整個(gè)架構(gòu)的核心,包含一組獨(dú)立、自治的微服務(wù)[11]。每個(gè)微服務(wù)負(fù)責(zé)特定的業(yè)務(wù)功能,可以獨(dú)立開發(fā)、部署和擴(kuò)展,微服務(wù)之間通過輕量級(jí)的通信機(jī)制進(jìn)行交互?;A(chǔ)服務(wù)層包括服務(wù)注冊(cè)與發(fā)現(xiàn),負(fù)載均衡、故障恢復(fù)、監(jiān)控和日志等基礎(chǔ)設(shè)施組件,這些組件支持微服務(wù)的運(yùn)行和管理。存儲(chǔ)技術(shù)層中使用存儲(chǔ)數(shù)據(jù)庫MySQL 和緩存數(shù)據(jù)庫Redis,每個(gè)微服務(wù)都有獨(dú)立的數(shù)據(jù)存儲(chǔ),主要負(fù)責(zé)存儲(chǔ)和管理微服務(wù)所需要的數(shù)據(jù)。支持服務(wù)層提供了一些基礎(chǔ)設(shè)施和支持服務(wù),幫助微服務(wù)的開發(fā)、部署和運(yùn)行[12],包括服務(wù)注冊(cè)與發(fā)現(xiàn)、配置管理、負(fù)載均衡、故障恢復(fù)等。運(yùn)行資源層提供了運(yùn)行微服務(wù)的服務(wù)器和網(wǎng)絡(luò)基礎(chǔ)設(shè)施,包括交換機(jī)和路由器。CI/CD 層提供了自動(dòng)化構(gòu)建、測試、部署和交付流程,以支持微服務(wù)的快速迭代。

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

2.2.1 角色和用戶的設(shè)計(jì)

勞動(dòng)教育系統(tǒng)為滿足學(xué)校、教師對(duì)學(xué)生的勞動(dòng)教育管理,以及學(xué)生使用勞動(dòng)教育系統(tǒng)的需求,設(shè)定分層登錄用戶,分別是系統(tǒng)管理員、學(xué)校管理員、學(xué)院管理員、教師、學(xué)生5 種角色??紤]到用戶的角色定位不同,需要給用戶授權(quán)自己職責(zé)范圍內(nèi)的功能,角色功能如圖3所示。其中系統(tǒng)管理員的權(quán)限最高,可以對(duì)登錄的用戶進(jìn)行操作,并且授權(quán)一定的數(shù)據(jù)權(quán)限給教師和學(xué)生。

圖3 角色功能

2.2.2 模塊功能的設(shè)計(jì)

系統(tǒng)包括三大模塊:課程管理模塊、成績管理模塊、系統(tǒng)管理模塊,課程管理模塊如圖4 所示。課程管理模塊包括學(xué)習(xí)功能、選課功能、已選課程管理功能等;成績管理模塊包括成績統(tǒng)計(jì)功能、成績考核功能、課程預(yù)警功能等;系統(tǒng)管理模塊主要分為用戶和角色管理功能、部門和崗位管理功能、登錄日志管理功能、系統(tǒng)監(jiān)控和系統(tǒng)工具、通知公告、校園地圖以及數(shù)據(jù)分析。

圖4 課程管理模塊流程圖

2.3 持久層與存儲(chǔ)設(shè)計(jì)

RuoYi 框架的持久層基于MyBatis,支持定制化SQL、存儲(chǔ)過程以及高級(jí)映射。MyBatis 高度自動(dòng)化,幾乎避免所有的JDBC 代碼和手動(dòng)參數(shù)設(shè)置以及獲取結(jié)果集的過程[13]。MyBatis 只需簡單注解,實(shí)現(xiàn)類即可調(diào)用Mapper,Mapper 再映射到XML 文件中的SQL 語句與數(shù)據(jù)庫交互。

數(shù)據(jù)庫由52 張表構(gòu)成,分為RuoYi-Cloud 框架基本表、業(yè)務(wù)模塊表以及中間表,52 個(gè)數(shù)據(jù)庫表如圖5所示。

圖5 數(shù)據(jù)庫表

3 勞動(dòng)教育系統(tǒng)實(shí)現(xiàn)

3.1 技術(shù)選型

系統(tǒng)采用RuoYi-Cloud 企業(yè)級(jí)開發(fā)框架開發(fā),使用Java 語言編寫,系統(tǒng)環(huán)境是Java EE、Servlet、Apache Maven。后端框架使用SpringBoot、SpringMVC 以及Apache Shrio,SpringBoot 技術(shù)相對(duì)于Spring 極大簡化配置,方便開發(fā)[14]。持久層框架是Apache MyBatis、Hibernate Validation 以及Alibaba Druid,前端使用Thymeleaf引擎模板、Bootstrap 框架和Vue3,存儲(chǔ)數(shù)據(jù)庫采用MySQL,緩存數(shù)據(jù)庫使用Redis,開發(fā)工具主要使用IDEA 和Navicat。

3.2 模塊實(shí)現(xiàn)

以學(xué)習(xí)管理模塊為例,模塊主要從下面幾個(gè)層面來實(shí)現(xiàn)上述功能。

控制層:SysPracticeController 類上標(biāo)有注解@Controller 表示此類是控制層,注解@RequestMapping(“/system/prac”)表示請(qǐng)求映射路徑。方法上也標(biāo)有注解 @Post-Mapping、@GetMapping、@PutMapping、@DeleteMapping是RESTFUL 風(fēng)格[15],表示不同的請(qǐng)求方法。

Domain 層:對(duì)應(yīng)數(shù)據(jù)庫字段的JavaBean 類。包括屬性、get 和set 方法以及toString 方法。

業(yè)務(wù)層:業(yè)務(wù)層包括接口和實(shí)現(xiàn)類,主要處理模塊的功能邏輯和具體業(yè)務(wù),以實(shí)現(xiàn)完整的功能結(jié)構(gòu)。

Mapper 接口:Mapper 接口可以實(shí)現(xiàn)業(yè)務(wù)與數(shù)據(jù)庫的交互。Mapper 接口方法對(duì)應(yīng)的XML 文件中SQL語句。

3.3 選課系統(tǒng)

學(xué)生選課一般集中在同一時(shí)間,這種高并發(fā)場景下,系統(tǒng)會(huì)瞬時(shí)增加大量的請(qǐng)求給數(shù)據(jù)持久層造成較大壓力。如果直接響應(yīng)這些請(qǐng)求,取出數(shù)據(jù)庫中的數(shù)據(jù),很容易造成持久層崩潰。為緩解數(shù)據(jù)持久層的壓力,在數(shù)據(jù)庫上層增加一層緩存Biz Cache,使用Redis 緩存提高數(shù)據(jù)訪問效率和性能。

Redis 存儲(chǔ)方案有兩種。第一種是緩存局部數(shù)據(jù)[16],如圖6 所示,只壓縮存儲(chǔ)關(guān)鍵字段的信息。優(yōu)點(diǎn)是節(jié)省Redis 的存儲(chǔ)空間。缺點(diǎn)是需要二次回查獲取更細(xì)致的信息。

圖6 緩存局部數(shù)據(jù)邏輯

第二種是緩存完整數(shù)據(jù),如圖7 所示,壓縮存儲(chǔ)所有字段信息。優(yōu)點(diǎn)是數(shù)據(jù)交互和redis 有關(guān)系,持久層只具備數(shù)據(jù)備份的功能,持久層緩存失效。缺點(diǎn)是所需要的存儲(chǔ)成本和設(shè)備成本要求更高。

圖7 緩存完整數(shù)據(jù)邏輯

一般查詢情況下,除選課等查詢量較大情形之外,可以不加入Biz Cache,只需要數(shù)據(jù)庫負(fù)責(zé)數(shù)據(jù)交互。當(dāng)選課人數(shù)較多時(shí),開發(fā)人員可以利用服務(wù)監(jiān)控判斷是否加入Biz Cache,以此提高系統(tǒng)性能。

3.4 在線學(xué)習(xí)模塊

在線學(xué)習(xí)功能需要提供技術(shù)支持,要滿足包括平臺(tái)的穩(wěn)定性、學(xué)習(xí)資源的可靠性、學(xué)習(xí)過程的流暢性等方面的要求。實(shí)現(xiàn)在線視頻學(xué)習(xí)功能主要有下面幾個(gè)流程。

(1)在Controller 層調(diào)用方法Video,最后返回Thymeleaf 模板的Video 頁面,Video 方法時(shí)序邏輯如圖8所示。請(qǐng)求參數(shù)是課程ID,根據(jù)課程ID 可以獲取到課程信息和騰訊云中的AppID,將得到的課程信息和AppID分別放入Map 集合。

圖8 Video 方法時(shí)序邏輯圖

(2)課程信息得到的過程是:接口實(shí)現(xiàn)類中的方法先調(diào)用Mapper 方法,Mapper 方法在XML 文件中根據(jù)ID找到對(duì)應(yīng)的SQL 語句在數(shù)據(jù)庫執(zhí)行。

(3)返回記錄包括的字段有課時(shí)ID、課程ID、課時(shí)序號(hào)、課時(shí)名稱、課時(shí)簡介、文件路徑、封面路徑、在線播放URL 等。前端根據(jù)收到的文件路徑、封面路徑、在線播放URL 等找到學(xué)習(xí)視頻開始播放學(xué)習(xí)。

4 前端實(shí)現(xiàn)

4.1 模塊界面

校園地圖模塊中支持校園3D 地圖和2D 地圖,如圖9 所示,3D 地圖具有查看建筑的細(xì)節(jié)及形狀的功能,2D地圖具有總攬學(xué)校建筑分布情況的功能,兩種類型地圖都可以點(diǎn)擊建筑、區(qū)域等查看具體的建筑信息。模塊還加入交通導(dǎo)航、街景、360 實(shí)景等功能。

圖9 校園地圖界面

數(shù)據(jù)分析界面中直觀展示學(xué)生的學(xué)習(xí)數(shù)據(jù),如圖10所示。根據(jù)界面上的數(shù)據(jù)可以有效分析學(xué)生的學(xué)習(xí)情況,方便教師及時(shí)掌握學(xué)生的學(xué)習(xí)狀態(tài)。

圖10 學(xué)習(xí)情況分析界面

4.2 學(xué)生端界面

學(xué)生選課界面如圖11 所示。

圖11 學(xué)生端選課界面

學(xué)生在線學(xué)習(xí)界面如圖12 所示。

圖12 學(xué)生端在線學(xué)習(xí)界面

4.3 教師端界面

教師查看學(xué)生選課情況的界面如圖13 所示。

圖13 教師端查看學(xué)生選課情況界面

教師查看學(xué)生所選課程成績的界面如圖14 所示。

圖14 教師端查看學(xué)生課程成績界面

教師查看學(xué)生所選課程完成情況的界面如圖15所示。

圖15 教師端查看學(xué)生課程完成情況界面

5 系統(tǒng)效果

本文設(shè)計(jì)的勞動(dòng)教育管理系統(tǒng)已經(jīng)通過測試。本系統(tǒng)通過Docker 部署運(yùn)行,學(xué)生和教師通過瀏覽器端登錄系統(tǒng)。學(xué)生可以使用本系統(tǒng)進(jìn)行選課、在線學(xué)習(xí),教師可以發(fā)布選課信息、發(fā)布成績信息、管理選課信息,系統(tǒng)實(shí)現(xiàn)的功能達(dá)到預(yù)期目標(biāo)。基于RuoYi-Cloud 開發(fā)平臺(tái)的勞動(dòng)教育管理系統(tǒng)具有適用范圍廣、可擴(kuò)展性強(qiáng)、穩(wěn)定性高、開發(fā)成本低等特點(diǎn),為高校信息化建設(shè)和學(xué)生勞動(dòng)教育的推廣提供有益的探索。

6 結(jié)論

本系統(tǒng)使用RuoYi-Cloud 企業(yè)級(jí)開發(fā)平臺(tái),相較于傳統(tǒng)的開發(fā)方式,平臺(tái)有簡化開發(fā)步驟、節(jié)省開發(fā)成本等優(yōu)點(diǎn),開發(fā)者使用本平臺(tái)可以達(dá)到快速開發(fā)的目的。系統(tǒng)具有良好的用戶體驗(yàn)和功能完善性,滿足日常勞動(dòng)教育管理的需求。勞動(dòng)教育系統(tǒng)能夠提高勞動(dòng)教育的管理效率,促進(jìn)學(xué)生勞動(dòng)教育的全面發(fā)展。理論意義上,本研究為RouYi 開發(fā)平臺(tái)在勞動(dòng)教育領(lǐng)域的應(yīng)用提供了實(shí)踐經(jīng)驗(yàn)。總之,基于RuoYi-Cloud 開發(fā)平臺(tái)設(shè)計(jì)的勞動(dòng)教育系統(tǒng)為勞動(dòng)教育管理提供了一種有效的解決方案,有望推動(dòng)勞動(dòng)教育事業(yè)的持續(xù)發(fā)展。

猜你喜歡
框架界面勞動(dòng)
勞動(dòng)創(chuàng)造美好生活
框架
快樂勞動(dòng) 幸福成長
國企黨委前置研究的“四個(gè)界面”
廣義框架的不相交性
熱愛勞動(dòng)
基于FANUC PICTURE的虛擬軸坐標(biāo)顯示界面開發(fā)方法研究
WTO框架下
法大研究生(2017年1期)2017-04-10 08:55:06
拍下自己勞動(dòng)的美(續(xù))
人機(jī)交互界面發(fā)展趨勢研究
英德市| 柘荣县| 林周县| 金平| 巴马| 思南县| 湖北省| 乐至县| 卢氏县| 安新县| 甘谷县| 周宁县| 兴山县| 察隅县| 墨玉县| 龙井市| 肇庆市| 兴安县| 喜德县| 大新县| 潞西市| 昌宁县| 佛冈县| 全椒县| 吐鲁番市| 莎车县| 长沙市| 鸡西市| 道真| 巴中市| 怀远县| 白朗县| 霍山县| 昭苏县| 安乡县| 宣汉县| 阿拉善盟| 邹平县| 秭归县| 苍溪县| 仁化县|