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

基于Node.js的學(xué)習(xí)平臺(tái)后端系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)

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

朱曉陽 劉苑如 范仲言

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

關(guān)鍵詞:Node.js;學(xué)習(xí)平臺(tái);后端系統(tǒng);MySQL;JSON

中圖分類號(hào):TP311.52 ? ? ?文獻(xiàn)標(biāo)識(shí)碼:A

文章編號(hào):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)絡(luò)的普及,學(xué)生的學(xué)習(xí)途徑不僅僅局限于課堂上。學(xué)生通過互聯(lián)網(wǎng)可以在電腦端、手機(jī)端來實(shí)現(xiàn)學(xué)習(xí)資源的獲取。針對(duì)多平臺(tái)學(xué)習(xí)的需求,同時(shí)保持各個(gè)平臺(tái)之間學(xué)習(xí)進(jìn)度的統(tǒng)一性,需要開發(fā)一項(xiàng)可以多個(gè)前端平臺(tái)可以共用的后端系統(tǒng)[1],提供全新的學(xué)習(xí)平臺(tái)服務(wù)。

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

2 在線學(xué)習(xí)平臺(tái)的主要技術(shù)

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

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

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

3 系統(tǒng)總體設(shè)計(jì)

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

3.1 角色模塊設(shè)計(jì)

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

3.2 業(yè)務(wù)邏輯設(shè)計(jì)

學(xué)生客戶端,作為登錄本學(xué)習(xí)平臺(tái)的重要入口,界面設(shè)計(jì)簡潔為主,擁有基礎(chǔ)的用戶名密碼輸入框和登陸與注冊的按鈕,充分考慮到用戶注冊的便利性。

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

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

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

4.1 系統(tǒng)整體架構(gòu)與Node.js服務(wù)配置實(shí)現(xiàn)

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

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

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

為了保證數(shù)據(jù)的安全性,對(duì)外開放的Node.js服務(wù)器僅通過內(nèi)網(wǎng)鏈接數(shù)據(jù)庫服務(wù)器,在內(nèi)網(wǎng)服務(wù)器中安裝CentOS7,并在安裝MySQL組件之后,完成MySQL初始化任務(wù),最后通過進(jìn)入到MySQL的命令行界面輸入SQL語句創(chuàng)建后端系統(tǒng)相關(guān)數(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ù)庫服務(wù)器連接實(shí)現(xiàn)

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

module.exports = {

mysql: {

host: '192.168.80.124',

user: 'remote',

password: '$#%!.coM',

database:'leandb',

port: 3306

}

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

利用Node.js中的Express框架實(shí)現(xiàn)API接口[7],在接口中需求可以get與post數(shù)據(jù),并且多平臺(tái)直接以JSON[8]數(shù)據(jù)格式進(jìn)行交互,添加用戶數(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服務(wù)器的IP地址為192.168.80.88,在瀏覽器中進(jìn)行測試如圖4所示,通過get方法傳遞name與age的值成功把值添加到數(shù)據(jù)庫服務(wù)器。

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

5 結(jié)論

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

參考文獻(xiàn):

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

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

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

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

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

[6] 王伶俐, 張傳國. 基于NodeJS+Express框架的輕應(yīng)用定制平臺(tái)的設(shè)計(jì)與實(shí)現(xiàn)[J]. 計(jì)算機(jī)科學(xué), 2017, 44(S2): 606-609.

[7] 潘從祥, 蔣樂天. 基于Node.js的TurtleBot機(jī)器人JavaScript API設(shè)計(jì)[J]. 信息技術(shù), 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)編輯:謝媛媛】

主站蜘蛛池模板: 黑色丝袜高跟国产在线91| 高清欧美性猛交XXXX黑人猛交 | 国产成人精品男人的天堂| 丰满的熟女一区二区三区l| 亚洲视频在线青青| 福利小视频在线播放| 亚洲欧美国产五月天综合| 亚洲性影院| 欧美激情综合一区二区| 成人夜夜嗨| 欧美午夜小视频| 手机在线看片不卡中文字幕| 99久久国产综合精品2020| 久久香蕉国产线看观看精品蕉| 2021天堂在线亚洲精品专区 | 欧洲亚洲一区| 国产成人AV男人的天堂| 精品撒尿视频一区二区三区| 国产玖玖视频| 久久精品aⅴ无码中文字幕| 欧美97欧美综合色伦图| 国产亚洲男人的天堂在线观看 | 亚洲精品无码av中文字幕| 91丨九色丨首页在线播放| 中文国产成人精品久久| 精品福利视频导航| 久久久久人妻精品一区三寸蜜桃| 国产AV无码专区亚洲精品网站| 67194亚洲无码| 狠狠躁天天躁夜夜躁婷婷| 欧美日韩国产成人在线观看| 狠狠色丁香婷婷| 亚洲国产天堂久久综合226114| 国产成人91精品| 欧美精品在线观看视频| 国产性生交xxxxx免费| 国产麻豆精品在线观看| 在线人成精品免费视频| 丁香婷婷激情综合激情| 国产精品久久久久久久久| 久久精品午夜视频| 久久国产亚洲偷自| 国产三级国产精品国产普男人| 亚洲欧美综合另类图片小说区| 久久综合亚洲色一区二区三区| 丝袜久久剧情精品国产| 99热线精品大全在线观看| 国产情精品嫩草影院88av| 无码网站免费观看| 欧美视频免费一区二区三区| 久久国产乱子| 女人18一级毛片免费观看| 日韩欧美一区在线观看| 午夜免费视频网站| 爽爽影院十八禁在线观看| 色悠久久久久久久综合网伊人| 22sihu国产精品视频影视资讯| 久久青青草原亚洲av无码| 亚洲一道AV无码午夜福利| 91在线一9|永久视频在线| 国产日本欧美亚洲精品视| 亚洲视频免费在线| 日韩a在线观看免费观看| 无码久看视频| 亚洲丝袜第一页| 国产精品一区在线观看你懂的| 伊人成色综合网| 国产黑丝一区| 日本一区二区三区精品国产| 国产麻豆永久视频| 亚洲色图另类| 熟妇丰满人妻| 亚洲精品第1页| 色综合天天娱乐综合网| 亚洲人成网18禁| 天天躁日日躁狠狠躁中文字幕| 国产日产欧美精品| 69视频国产| 伊人精品视频免费在线| 一本久道久综合久久鬼色| 色播五月婷婷| 思思99热精品在线|