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

?

基于Node.js的學習平臺后端系統(tǒng)設計與實現(xiàn)

2019-07-08 02:23:41朱曉陽劉苑如范仲言
電腦知識與技術 2019年13期
關鍵詞:學習平臺

朱曉陽 劉苑如 范仲言

摘要:為了實現(xiàn)在線學習平臺的高效利用,該文設計并實現(xiàn)了可供多個前端平臺使用的后端系統(tǒng)。學習平臺采用前后端分離開發(fā)方式,其中后端系統(tǒng)的設計采用Node.js腳本語言與MySQL數(shù)據(jù)庫技術,可以與APP或者網(wǎng)頁端等前端系統(tǒng)通過JSON格式接口進行信息交互。系統(tǒng)設計包含總體設計,業(yè)務邏輯設計和數(shù)據(jù)庫等設計模塊。經(jīng)過系統(tǒng)實現(xiàn)與測試,后端系統(tǒng)可以正常提供服務,為學習平臺的搭建提供一種后端解決方案。

關鍵詞:Node.js;學習平臺;后端系統(tǒng);MySQL;JSON

中圖分類號:TP311.52 ? ? ?文獻標識碼:A

文章編號:1009-3044(2019)13-0116-03

Abstract: In order to make efficient use of online learning platform, this paper designs and implements a background system which can be used by many foreground platforms. The learning platform development uses the method of separation of front and back development. The design of background system adopts Node.js script language and MySQL database technology. It can interact with foreground platforms such as APP or web page through JSON format interface. The system design includes general design, business logic design and database design modules. After system implementation and testing, the background system can provide normal services, and provide a practical scheme of background system for the construction of learning platform.

Key words: Node.js; learning platform; background system; MySQL; JSON

1 背景

隨著信息網(wǎng)絡的普及,學生的學習途徑不僅僅局限于課堂上。學生通過互聯(lián)網(wǎng)可以在電腦端、手機端來實現(xiàn)學習資源的獲取。針對多平臺學習的需求,同時保持各個平臺之間學習進度的統(tǒng)一性,需要開發(fā)一項可以多個前端平臺可以共用的后端系統(tǒng)[1],提供全新的學習平臺服務。

本后端系統(tǒng)的實現(xiàn)是一款基于Node.js腳本語言[2]的系統(tǒng),可供多個前臺系統(tǒng)使用,在同一后臺情況下,多平臺可以使用同一賬號體系登錄系統(tǒng),同時學生的學習進度在多平臺直接保持同步,實現(xiàn)了一個后端系統(tǒng),多個前端平臺共用[3]的效果,提高了系統(tǒng)的使用率。

2 在線學習平臺的主要技術

在線學習平臺的實現(xiàn)離不開服務器后端開發(fā)技術與數(shù)據(jù)庫技術。本系統(tǒng)設計過程中采用服務器后端開發(fā)技術是Node.js,數(shù)據(jù)庫技術采用的MySQL[4]。

Node.js是用基于Chrome JavaScript的一種運行環(huán)境,由于它經(jīng)常用來構建響應快速與易于擴展的網(wǎng)絡應用程序。所以Node.js作為一個非常流行的框架,適合事件驅動和異步編程,能夠提高服務器后端系統(tǒng)的性能與優(yōu)秀的負載能力,適合作為為前端系統(tǒng)提供接口的語言。

MySQL作為數(shù)據(jù)存儲和管理的數(shù)據(jù)庫系統(tǒng),由于其速度快、體積小、總體擁有成本低,尤其是開源這一特點,一般中小型網(wǎng)站的后臺數(shù)據(jù)庫開發(fā)都選擇 MySQL。作為一種關系型數(shù)據(jù)庫,支持多線程Thread,多用戶以及支持規(guī)范的SQL數(shù)據(jù)庫語言。

3 系統(tǒng)總體設計

該學習平臺分為信息服務和后臺數(shù)據(jù)管理兩部分:信息服務部分向學生提供教學視頻同時采集學生信息和相關學習記錄;后臺數(shù)據(jù)管理系統(tǒng)實現(xiàn)用戶的權限和用戶的信息管理兩部分。系統(tǒng)具體模塊如圖 1 所示,包含顯示層、業(yè)務層和數(shù)據(jù)訪問層[5],顯示層是用戶與平臺的接口,負責頁面顯示,處理不同角色接收的信息和角色的頁面;業(yè)務層處理學生與教師的數(shù)據(jù)業(yè)務邏輯操作,包括資源管理、用戶管理和統(tǒng)計分析等;數(shù)據(jù)訪問層用于實現(xiàn)用戶信息的查詢、增加、修改和刪除等功能。

3.1 角色模塊設計

該系統(tǒng)有3大模塊,分別是學生、教師以及管理員,管理員主要負責信息管理和設置權限,對學生、教師分配不同的平臺使用權限。同時根據(jù)學號的匹配將教師與學生之間連接。學生主要使用學習中心和個人中心來完成自己的學習任務。學習中心包含教學視頻;個人中心主要用于顯示個人需要完成的學習任務和學習進度等。教師主要訪問課程和學生模塊。任課教師通過課程模塊查看代課信息,任課教師、導師通過學生管理模塊查看學生的課程學習情況以及其他相關聯(lián)的記錄,給出相應的指導或建議。系統(tǒng)管理員可以通過信息管理模塊了解師生交流互動情況同時利用數(shù)據(jù)分析結果調(diào)整服務。

3.2 業(yè)務邏輯設計

學生客戶端,作為登錄本學習平臺的重要入口,界面設計簡潔為主,擁有基礎的用戶名密碼輸入框和登陸與注冊的按鈕,充分考慮到用戶注冊的便利性。

教師端側重于教師上傳學習資料與統(tǒng)計學生的學習行為,在教師端設置了課程模塊,課程模塊中設置有上傳接口,后端系統(tǒng)的設計包含上傳學習視頻與學習步驟,學習作業(yè)的接口。

管理員的權限最高,它可以新建、修改、刪除用戶和用戶信息,授權用戶登錄系統(tǒng)。學生能查看修改個人信息,查看學習中心內(nèi)容,教師能查看和修改個人信息、查看相關學生提交的課程記錄,給出意見或建議。所有數(shù)據(jù)的更改都經(jīng)過后臺的數(shù)據(jù)庫。具體業(yè)務邏輯關系如圖 2所示。管理員位于系統(tǒng)的中心位置,學生與教師賬號登錄之后獲取不同的權限,兩者之間的數(shù)據(jù)交互通過后臺數(shù)據(jù)庫來完成,而管理員對整體數(shù)據(jù)擁有完全權限,完成分配角色權限的功能與信息交互的功能,進而三者之間可以緊密關聯(lián)業(yè)務,是此系統(tǒng)的業(yè)務邏輯關鍵部分。

4 后端系統(tǒng)的實現(xiàn)

4.1 系統(tǒng)整體架構與Node.js服務配置實現(xiàn)

該系統(tǒng)采用Node.js 語言開發(fā),采用MySQL數(shù)據(jù)庫。Node.js使用Visual Studio Code1.32作為主要開發(fā)工具來編寫腳本語言。數(shù)據(jù)庫MySQL安裝在CentOS服務器中,并且數(shù)據(jù)庫架設在單獨服務器的方式提供數(shù)據(jù)服務,這樣可以保證數(shù)據(jù)庫服務的穩(wěn)定獨立運行,同時也為未來后端服務的可擴展性提供保障,前后端的整體架構如圖3所示。

Node.js 服務利用框架來實現(xiàn)開發(fā),采用MVC 的設計模式,本后端系統(tǒng)借助 Express 框架實現(xiàn)[6]。在 Express 的作用下建立一個項目,之后對項目依賴性進行評估,并結合 MVC 架構,model 層依賴于 Modelproxy,controller 層依賴于 Express,view層依賴于 Handlebars。在package.json 中進行配置,并全面執(zhí)行npm install,自動安裝對應依賴,當項目全部配置完成后,執(zhí)行命令npm start可以啟動后端服務。

4.2 數(shù)據(jù)庫服務器實現(xiàn)

為了保證數(shù)據(jù)的安全性,對外開放的Node.js服務器僅通過內(nèi)網(wǎng)鏈接數(shù)據(jù)庫服務器,在內(nèi)網(wǎng)服務器中安裝CentOS7,并在安裝MySQL組件之后,完成MySQL初始化任務,最后通過進入到MySQL的命令行界面輸入SQL語句創(chuàng)建后端系統(tǒng)相關數(shù)據(jù)表,以用戶信息表為例的創(chuàng)建語句核心代碼如下:

CREATE TABLE `user`. ?(

`id` int(11) NOT NULL AUTO_INCREMENT,

`name` varchar(50) NULL,

`age` tinyint(4) NULL,

`class` varchar(50) NULL,

PRIMARY KEY (`id`)

);

4.3 數(shù)據(jù)庫服務器連接實現(xiàn)

本系統(tǒng)是基于Node.js和MySQL運行實現(xiàn)的,在Node.js服務器中需要通過內(nèi)網(wǎng)IP地址鏈接MySQL服務器,具體的Node.js連接數(shù)據(jù)庫服務器的核心代碼如下:

module.exports = {

mysql: {

host: '192.168.80.124',

user: 'remote',

password: '$#%!.coM',

database:'leandb',

port: 3306

}

4.4 API數(shù)據(jù)接口實現(xiàn)

利用Node.js中的Express框架實現(xiàn)API接口[7],在接口中需求可以get與post數(shù)據(jù),并且多平臺直接以JSON[8]數(shù)據(jù)格式進行交互,添加用戶數(shù)據(jù)與修改用戶數(shù)據(jù)的路由代碼如下:

router.get('/addUser', function(req, res, next) {

userDao.add(req, res, next);

});

router.post('/updateUser', function(req, res, next) {

userDao.update(req, res, next);

});

Node.js服務器的IP地址為192.168.80.88,在瀏覽器中進行測試如圖4所示,通過get方法傳遞name與age的值成功把值添加到數(shù)據(jù)庫服務器。

Node.js服務器同時實現(xiàn)了API接口的POST方法,在火狐FireFox瀏覽器中進行測試,利用的Hackbar插件進行post數(shù)據(jù)實現(xiàn)了API接口的更新功能,測試結果如圖5所示。

5 結論

為解決高校學生能夠多平臺學習教師在線教學資源,實現(xiàn)在線資源的高效利用。學習平臺的后端系統(tǒng)采用Node.js中成熟的Express框架實現(xiàn)JSON數(shù)據(jù)與多平臺客戶端交互的功能。后端系統(tǒng)設計包含總體設計,業(yè)務邏輯設計和數(shù)據(jù)庫等設計。系統(tǒng)的實現(xiàn)部分詳細闡述了后端的數(shù)據(jù)庫實現(xiàn)與API接口實現(xiàn),最后通過系統(tǒng)測試,后端系統(tǒng)可以正常運行,為在線學習平臺的搭建提供一種后端解決方案。

參考文獻:

[1] 孫娉娉, 李新, 史廣軍. 基于前后端分離的內(nèi)容管理系統(tǒng)[J]. 科研信息化技術與應用, 2016, 7(4): 70-75.

[2] 駱文亮. Node.js服務器技術初探[J]. 無線互聯(lián)科技, 2014(3): 227-227.

[3] 張艷, 吳曉翔. 基于Node.js的前端教程網(wǎng)站設計與開發(fā)[J]. 福建電腦, 2018(9): 37-38.

[4] 基于Node.js的智慧農(nóng)業(yè)數(shù)據(jù)采集平臺的設計與實現(xiàn)[D]. 杭州: 浙江理工大學, 2018.

[5] 基于nodejs的微博系統(tǒng)的設計與實現(xiàn)[D]. 長沙: 電子科技大學, 2014.

[6] 王伶俐, 張傳國. 基于NodeJS+Express框架的輕應用定制平臺的設計與實現(xiàn)[J]. 計算機科學, 2017, 44(S2): 606-609.

[7] 潘從祥, 蔣樂天. 基于Node.js的TurtleBot機器人JavaScript API設計[J]. 信息技術, 2018(3).

[8] Bonetta D, Brantner M. FAD.js: fast JSON data access using JIT-based speculative optimizations[J]. Proceedings of the Vldb Endowment, 2017, 10(12): 1778-1789.

【通聯(lián)編輯:謝媛媛】

猜你喜歡
學習平臺
泛在學習環(huán)境下微課學習平臺的設計策略研究
基于微信及微網(wǎng)站的高職院校移動學習平臺設計與實現(xiàn)
泛在背景下圖像處理課程學習平臺設計研究
成才之路(2016年23期)2016-09-22 17:17:03
基于校本微課的移動學習平臺的設計與研究
在線教育嵌入教育生態(tài)系統(tǒng)的模式研究
高教探索(2015年10期)2015-10-29 04:22:40
數(shù)字化學習方式對于學習型社區(qū)建設意義的理論研究與實踐探索
科教導刊(2015年22期)2015-10-14 16:31:58
潼南县| 普宁市| 镇雄县| 永善县| 长沙市| 崇明县| 黄陵县| 建湖县| 大理市| 逊克县| 晋江市| 桓台县| 左贡县| 张家川| 津南区| 朝阳市| 珲春市| 望江县| 额济纳旗| 长春市| 苍南县| 承德市| 简阳市| 昂仁县| 象山县| 库尔勒市| 阿克| 景洪市| 武冈市| 吉林市| 喀什市| 百色市| 凤城市| 都江堰市| 根河市| 双峰县| 米脂县| 浙江省| 博爱县| 邛崃市| 铜梁县|