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

基于Node.js的學習平臺后端系統設計與實現

2019-07-08 02:23:41朱曉陽劉苑如范仲言
電腦知識與技術 2019年13期

朱曉陽 劉苑如 范仲言

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

關鍵詞:Node.js;學習平臺;后端系統;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 背景

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

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

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

在線學習平臺的實現離不開服務器后端開發技術與數據庫技術。本系統設計過程中采用服務器后端開發技術是Node.js,數據庫技術采用的MySQL[4]。

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

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

3 系統總體設計

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

3.1 角色模塊設計

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

3.2 業務邏輯設計

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

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

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

4 后端系統的實現

4.1 系統整體架構與Node.js服務配置實現

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

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

4.2 數據庫服務器實現

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

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 數據庫服務器連接實現

本系統是基于Node.js和MySQL運行實現的,在Node.js服務器中需要通過內網IP地址鏈接MySQL服務器,具體的Node.js連接數據庫服務器的核心代碼如下:

module.exports = {

mysql: {

host: '192.168.80.124',

user: 'remote',

password: '$#%!.coM',

database:'leandb',

port: 3306

}

4.4 API數據接口實現

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

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的值成功把值添加到數據庫服務器。

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

5 結論

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

參考文獻:

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

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

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

[4] 基于Node.js的智慧農業數據采集平臺的設計與實現[D]. 杭州: 浙江理工大學, 2018.

[5] 基于nodejs的微博系統的設計與實現[D]. 長沙: 電子科技大學, 2014.

[6] 王伶俐, 張傳國. 基于NodeJS+Express框架的輕應用定制平臺的設計與實現[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.

【通聯編輯:謝媛媛】

主站蜘蛛池模板: 天天干伊人| 国产在线视频导航| 99这里只有精品免费视频| 亚洲欧洲日韩久久狠狠爱 | 欧美色图第一页| 久久国产亚洲偷自| 国产麻豆福利av在线播放| 国产女同自拍视频| 国产精品一线天| 免费一级无码在线网站| 大香网伊人久久综合网2020| 欧美日韩国产综合视频在线观看| 在线观看热码亚洲av每日更新| 久久久久夜色精品波多野结衣| 国产欧美精品专区一区二区| 欧美在线视频不卡第一页| 日韩性网站| 四虎免费视频网站| 欧美天天干| 国产成人精品视频一区视频二区| 国产97色在线| 欧美国产日韩另类| 国产精品自在自线免费观看| 亚洲中文字幕无码爆乳| 亚洲视频a| 国产欧美一区二区三区视频在线观看| 国产成人亚洲无码淙合青草| 亚洲天堂成人| 欧美翘臀一区二区三区| 日本午夜三级| 国产亚洲欧美日韩在线一区| 99这里只有精品6| 看国产一级毛片| 精品一区二区三区视频免费观看| jizz亚洲高清在线观看| 在线播放国产一区| 波多野结衣爽到高潮漏水大喷| 亚洲一区网站| 欧美午夜理伦三级在线观看| 久久久受www免费人成| 国产三级视频网站| 国产精品流白浆在线观看| 四虎精品免费久久| 日韩精品亚洲精品第一页| 日本91视频| 欧美国产日韩在线| 国产麻豆va精品视频| 日韩毛片在线视频| 动漫精品啪啪一区二区三区| av天堂最新版在线| 国产91特黄特色A级毛片| a毛片免费在线观看| 午夜天堂视频| 亚洲无码A视频在线| 欧美有码在线观看| 一区二区三区高清视频国产女人| 欧美一区精品| 不卡无码h在线观看| 找国产毛片看| 亚洲欧美另类色图| 强乱中文字幕在线播放不卡| 国产91丝袜在线播放动漫 | www欧美在线观看| 天天色综合4| 午夜视频日本| 国产极品嫩模在线观看91| 亚洲成人免费看| 国产丝袜91| 99久久成人国产精品免费| 中文字幕第4页| 久久久亚洲色| 色屁屁一区二区三区视频国产| 午夜不卡视频| 99这里只有精品免费视频| 日韩高清一区 | 国产97视频在线| 2021国产精品自拍| 国产xx在线观看| 最新无码专区超级碰碰碰| 欧美不卡在线视频| 色婷婷在线影院| 欧美成人精品欧美一级乱黄|