亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于Node.JS 博客系統(tǒng)的設(shè)計與實現(xiàn)

        2022-04-20 07:23:42薛格格張玉欣
        電子設(shè)計工程 2022年7期
        關(guān)鍵詞:數(shù)據(jù)庫用戶功能

        閔 亮,薛格格,張玉欣,趙 彩

        (西安交通大學(xué)城市學(xué)院計算機系,陜西西安 710018)

        博客是一種由個人自己進(jìn)行管理、可以不定期更新文章內(nèi)容的網(wǎng)站,借助網(wǎng)絡(luò)為載體,進(jìn)而拉近人與人之間溝通的Internet 交流平臺[1-2]。一個典型的博客融合了文本信息、圖像、網(wǎng)站鏈接及其相關(guān)信息,可以讓讀者以互動的方式留下意見,是許多博客的重要要素。博客已經(jīng)是社交網(wǎng)絡(luò)的一部分,比較著名的有新浪、網(wǎng)易、CSDN 等博客[3-5]。隨著時代和技術(shù)的發(fā)展,代碼不斷地迭代更新,博客不再局限于特定的語言程序,而是從一開始的C/C++到后來Java一枝獨秀,再到PHP[6-8]強勢崛起,再往后PHP 推出了超高性價比的WordPress、joomla 等。而目前博客所應(yīng)用到的程序按語言分類主要有:ASP、PHP、CGI、JSP、Python 等[9-11]。文中系統(tǒng)基于Node.JS 開發(fā)平臺進(jìn)行博客系統(tǒng)搭建,并通過MVC 結(jié)構(gòu)管理代碼,從而對該領(lǐng)域進(jìn)行探索,并對程序的性能分析進(jìn)行評價[12-15]。與其他平臺相比,Node.JS 可以使瀏覽器端腳本語言JavaScript 通過Chrome 的V8 引擎在服務(wù)器端完美運行,大大降低了開發(fā)的成本和時間。這也是Java、GO、Python 和其他后端語言在解決高并發(fā)性問題時面臨的巨大挑戰(zhàn)。基于這兩個優(yōu)良特性,文中選擇Node.JS 來開發(fā)一個擁有更好性能、更友好的用戶體驗的博客系統(tǒng)[16]。

        1 博客系統(tǒng)的開發(fā)需求

        根據(jù)基于Node.JS 的博客系統(tǒng)的輕量化特性要求,該博客系統(tǒng)主要實現(xiàn)博客內(nèi)容的發(fā)布、刪除以及用戶登錄、注冊、查看個人中心等功能。

        1.1 系統(tǒng)功能需求

        博客系統(tǒng)的具體功能需求如下:

        1)前臺主要實現(xiàn)功能

        即用戶登錄、注冊;發(fā)表、刪除文章;分類管理;標(biāo)簽管理;友情鏈接等。

        2)后臺主要實現(xiàn)功能

        包括網(wǎng)站基本內(nèi)容管理、管理員修改密碼、輪播圖管理、管理員登錄、友情鏈接管理、圖片上傳功能、添加公告等。

        1.2 系統(tǒng)業(yè)務(wù)流程分析

        在基于Node.JS 的博客系統(tǒng)中登錄分為兩種,分別是前臺用戶登錄和后臺管理員登錄。系統(tǒng)根據(jù)用戶的類型為其提供相應(yīng)的功能,流程如圖1所示。

        圖1 用戶登錄流程分析圖

        用戶登錄系統(tǒng)時首先需要判斷所處界面為前臺還是后臺,即判斷要登錄的用戶為前臺用戶還是后臺管理員。

        2 博客系統(tǒng)的后臺管理模塊

        博客系統(tǒng)后臺管理模塊結(jié)構(gòu)框圖如圖2 所示,其主要采用HTML+CSS 對模塊頁面進(jìn)行渲染,采用AJAX 的數(shù)據(jù)傳輸方式,數(shù)據(jù)格式采用json 格式,通過數(shù)據(jù)庫MySQL 對數(shù)據(jù)信息進(jìn)行存儲,使用ejs 工具包使HTML 頁面與Node.JS 交互。

        圖2 后臺管理模塊結(jié)構(gòu)框圖

        2.1 基本設(shè)置

        基本設(shè)置模塊使用MySQL 數(shù)據(jù)庫對信息進(jìn)行處理,主要功能包括修改網(wǎng)站基本信息、修改管理員密碼以及添加公告。管理員在登陸后可以直接選擇各個功能對頁面進(jìn)行更改。

        1)修改網(wǎng)站信息功能

        修改網(wǎng)站信息功能是在MySQL 數(shù)據(jù)庫中建立infos 數(shù)據(jù)表,用來存儲網(wǎng)站基本設(shè)置信息。數(shù)據(jù)結(jié)構(gòu)為{id,title,logo,keywords,description,person,tel,address,copyright,email}。

        2)修改管理員密碼功能

        修改管理員密碼功能是在MySQL 數(shù)據(jù)庫中建立admin 數(shù)據(jù)表,用來存儲管理員信息。數(shù)據(jù)結(jié)構(gòu)為{id,username,password,image}。為了確保管理員賬戶的安全性,修改管理員密碼時將自動改為Hmac算法進(jìn)行加密。

        3)添加公告功能

        添加公告功能是在MySQL 數(shù)據(jù)庫中建立gods數(shù)據(jù)表,用來存儲公告信息。數(shù)據(jù)結(jié)構(gòu)為{id,url,image,description,sort,title}。

        2.2 欄目管理

        欄目是系統(tǒng)頻道某一類內(nèi)容的集合體,通過欄目可以將眾多文章內(nèi)容進(jìn)行分類整合,并且用戶根據(jù)自己查找的所需內(nèi)容,可以直接在不同欄目中進(jìn)行查找。欄目管理模塊使用MySQL 數(shù)據(jù)庫對信息進(jìn)行處理,主要功能包括添加欄目、查看欄目、修改或刪除欄目。

        1)查看欄目功能

        查看欄目功能與添加欄目功能共用MySQL 數(shù)據(jù)庫中建立的category 數(shù)據(jù)表。主要功能是將添加的欄目在頁面中顯示出來,便于管理員進(jìn)行觀察,同時為修改或刪除提供接口。

        2)修改或刪除欄目功能

        欄目隨著網(wǎng)站的需求會隨時做出相應(yīng)的改變,欄目的修改和刪除主要功能是方便管理員隨時更改欄目信息,所用的數(shù)據(jù)庫表是category。

        2.3 輪播管理

        輪播管理模塊使用MySQL 數(shù)據(jù)庫對信息進(jìn)行處理,主要功能包括添加輪播圖、查看輪播圖、修改或刪除輪播圖。

        1)添加輪播圖功能

        添加輪播圖功能是在MySQL 數(shù)據(jù)庫中建立wheel 數(shù)據(jù)表,用來存儲輪播圖信息。數(shù)據(jù)結(jié)構(gòu)為{id,url,image,description,sort,title}。

        2)查看輪播圖功能

        查看輪播圖功能與添加功能共用MySQL 數(shù)據(jù)庫中建立的wheel 數(shù)據(jù)表。主要功能是將添加的輪播圖在頁面中顯示出來,便于管理員進(jìn)行觀察,同時為修改或刪除提供接口。

        3)修改或刪除輪播圖功能

        輪播圖隨著網(wǎng)站的需求會隨時做出相應(yīng)的改變,輪播圖的修改和刪除主要功能是方便管理員隨時更改輪播圖信息,所用的數(shù)據(jù)庫表是wheel。

        2.4 鏈接管理

        鏈接管理模塊使用MySQL 數(shù)據(jù)庫對信息進(jìn)行處理,主要功能包括添加鏈接、查看鏈接、修改或刪除鏈接。

        1)添加鏈接功能

        添加鏈接功能在MySQL 數(shù)據(jù)庫中建立links 數(shù)據(jù)表用來存儲鏈接信息。數(shù)據(jù)結(jié)構(gòu)為{id,catename,url,sort}。

        2)查看鏈接功能

        查看鏈接功能與添加功能共用MySQL 數(shù)據(jù)庫中建立的links 數(shù)據(jù)表。主要功能是將添加的鏈接在頁面中顯示出來,便于管理員進(jìn)行觀察,同時為修改或刪除提供接口。

        3)修改或刪除鏈接功能

        鏈接隨著網(wǎng)站的需求會隨時做出相應(yīng)的改變,鏈接的修改和刪除主要功能是方便管理員隨時更改鏈接信息,所用的數(shù)據(jù)庫表是links。

        2.5 熱門標(biāo)簽管理

        熱門標(biāo)簽管理模塊使用MySQL 數(shù)據(jù)庫對信息進(jìn)行處理,主要功能包括添加標(biāo)簽、查看標(biāo)簽、修改或刪除標(biāo)簽。

        1)添加標(biāo)簽功能

        添加標(biāo)簽功能是在MySQL 數(shù)據(jù)庫中建立tags 數(shù)據(jù)表,用來存儲標(biāo)簽信息。數(shù)據(jù)結(jié)構(gòu)為{ id,title,entitle,description,sort}。

        2)查看標(biāo)簽功能

        查看標(biāo)簽功能與添加功能共用MySQL 數(shù)據(jù)庫中建立的tags 數(shù)據(jù)表。主要功能是將添加的標(biāo)簽在頁面中顯示出來,便于管理員進(jìn)行觀察,同時為修改或刪除提供接口。

        3)修改或刪除標(biāo)簽功能

        標(biāo)簽隨著網(wǎng)站的需求會隨時做出相應(yīng)的改變,標(biāo)簽的修改和刪除主要功能是方便管理員隨時更改標(biāo)簽信息,所用的數(shù)據(jù)庫表是tags。

        2.6 后臺接口的實現(xiàn)

        基于Node.JS 的博客系統(tǒng)采用MVC 開發(fā)模式,數(shù)據(jù)訪問層、業(yè)務(wù)邏輯層和表現(xiàn)層3 層可以完全分離。頁面通過HTTP 請求與后臺進(jìn)行數(shù)據(jù)的交互,即前臺頁面與后臺頁面無論是通過AJAX 與Node.JS 進(jìn)行異步交互,還是利用GET 表單提交,都要通過HTTP 請求,因而后臺只需提供足夠完成任務(wù)的接口,就可以實現(xiàn)系統(tǒng)功能。后臺接口設(shè)計如表1 所示,根據(jù)所設(shè)置的路由進(jìn)行數(shù)據(jù)訪問、請求等。

        表1 后臺接口設(shè)計表

        3 博客系統(tǒng)的前臺界面模塊

        博客系統(tǒng)前臺界面模塊結(jié)構(gòu)框圖如圖3 所示,實現(xiàn)了目前的主流功能,在主模塊app.js 中通過session 進(jìn)行數(shù)據(jù)傳輸。

        圖3 前臺界面模塊結(jié)構(gòu)框圖

        1)用戶登錄和注冊

        用戶登錄和注冊模塊均采用單獨頁面,與主頁進(jìn)行區(qū)分,在數(shù)據(jù)庫MySQL 中建立數(shù)據(jù)表users 來存儲用戶信息,數(shù)據(jù)結(jié)構(gòu)為{id,username,password,nickname,avator}。

        2)用戶退出登錄

        用戶退出登錄模塊主要是通過銷毀session 來實現(xiàn)銷毀用戶信息。

        3)用戶查看博客

        用戶查看博客模塊首先訪問詳情頁localhost:3000/show.html,并通過<%=需要展示的內(nèi)容%>對文章進(jìn)行展示。

        4)用戶搜索博客

        用戶搜索博客模塊通過在導(dǎo)航欄采用模糊查詢功能進(jìn)行搜索,在search.html 頁面展示搜索結(jié)果。

        4 博客系統(tǒng)的性能測試

        4.1 測試方法及測試范圍

        系統(tǒng)基本功能的測試方法主要采用黑盒測試和白盒測試。白盒測試主要針對系統(tǒng)的結(jié)構(gòu)和邏輯進(jìn)行測試,黑盒測試根據(jù)軟件已有功能,測試模塊是否正常工作。前臺功能測試范圍如表2 所示,后臺功能測試范圍如表3 所示。

        表2 前臺功能測試范圍

        表3 后臺功能測試范圍

        4.2 測試環(huán)境

        服務(wù)器:阿里云推出的ECS服務(wù)器Windows Server 2008 標(biāo)準(zhǔn)版SP2 32 環(huán)境。

        CPU:采用4 核Intel Xeon E5-2682 v4。

        內(nèi)存:DDR4 內(nèi)存,內(nèi)存大小為2 GB。

        硬盤容量:40 GB。

        帶寬:1 M 帶寬,VPC 專有網(wǎng)絡(luò)。

        瀏覽器:Chrome(谷歌)瀏覽器,IE9 以上運行。

        操作系統(tǒng):支持Windows10、Windows7、Windows XP。

        4.3 性能測試

        系統(tǒng)性能穩(wěn)定、用戶體驗優(yōu)劣均取決于后臺的響應(yīng)時間,而Node.JS 技術(shù)的最大特點是響應(yīng)時間快。系統(tǒng)測試響應(yīng)時間圖如圖4 所示,可以看出,系統(tǒng)單頁頁面的響應(yīng)時間大約是260 ms,即響應(yīng)時間是毫秒級的。

        圖4 系統(tǒng)測試響應(yīng)時間圖

        該系統(tǒng)采用1 M 帶寬的ECS 服務(wù)器,支持1000IP 同時進(jìn)行訪問,服務(wù)器響應(yīng)時間大約為5 s,滿足大部分網(wǎng)站的正常標(biāo)準(zhǔn)。

        5 結(jié)論

        文中基于Node.JS 的Web 框架Express 開發(fā)的中小型博客系統(tǒng),主要實現(xiàn)了用戶登錄、用戶注冊、文章發(fā)表、文章刪除、文章修改、查看文章、搜索文章、查看用戶、輪播圖管理、熱門標(biāo)簽管理、分類管理、熱門分布、友情鏈接管理、管理員賬戶登錄、密碼修改、圖片上傳等功能。主要采用黑盒測試技術(shù)對博客系統(tǒng)的性能進(jìn)行了測試,測試結(jié)果表明,該博客系統(tǒng)可以根據(jù)需求展示相應(yīng)的頁面,較流暢地執(zhí)行JavaScript 動效。該博客系統(tǒng)至少支持500 人同時在線并發(fā),兼容IE8 及IE8 以上、Chrome 瀏覽器、火狐瀏覽器、360 瀏覽器、QQ 瀏覽器等常用瀏覽器,后臺功能滿足目前博客基本功能需求。博客系統(tǒng)采用AJAX 進(jìn)行數(shù)據(jù)傳輸,具有較高的用戶信息安全保障,可以自由地更換前臺需要展示的內(nèi)容。

        猜你喜歡
        數(shù)據(jù)庫用戶功能
        也談詩的“功能”
        中華詩詞(2022年6期)2022-12-31 06:41:24
        關(guān)于非首都功能疏解的幾點思考
        數(shù)據(jù)庫
        財經(jīng)(2017年2期)2017-03-10 14:35:35
        關(guān)注用戶
        商用汽車(2016年11期)2016-12-19 01:20:16
        關(guān)注用戶
        商用汽車(2016年6期)2016-06-29 09:18:54
        數(shù)據(jù)庫
        財經(jīng)(2016年15期)2016-06-03 07:38:02
        關(guān)注用戶
        商用汽車(2016年4期)2016-05-09 01:23:12
        數(shù)據(jù)庫
        財經(jīng)(2016年3期)2016-03-07 07:44:46
        數(shù)據(jù)庫
        財經(jīng)(2016年6期)2016-02-24 07:41:51
        如何獲取一億海外用戶
        午夜无码伦费影视在线观看| 久久成人永久婷婷99精品| 五月天中文字幕日韩在线| а天堂中文最新一区二区三区| 成人做爰69片免费看网站| 亚洲欧洲一区二区三区波多野| 丰满少妇av一区二区三区| 强奸乱伦影音先锋| av香港经典三级级 在线 | 亚洲国产欧美久久香综合| 国产自拍成人在线免费视频| 奇米影视色777四色在线首页| 精品人妻人人做人人爽夜夜爽| 无码一区二区三区不卡AV| 水蜜桃在线观看一区二区国产| 少妇真实被内射视频三四区| 国精无码欧精品亚洲一区| 亚洲一区二区欧美色妞影院| 一区二区三区在线乱码| 国产在线无码不卡影视影院| 国产乱子乱人伦电影在线观看| 亚洲午夜久久久久中文字幕久| 新视觉亚洲三区二区一区理伦 | 国产亚洲精品成人无码精品网站 | 五月av综合av国产av| 久久久久亚洲精品天堂| 国产精品国产午夜免费看福利| 加勒比婷婷色综合久久| 国产精品爽爽v在线观看无码| 五月天欧美精品在线观看| av在线网站一区二区| 人妻无码第一区二区三区| 成在人线av无码免观看麻豆 | 白白白色视频在线观看播放| 成人午夜高潮a∨猛片| 国产超碰人人做人人爱ⅴa| 中国产无码一区二区三区| 中文字幕日韩有码在线| 国产精品对白刺激久久久| 日韩在线精品在线观看| 成人一区二区三区激情视频|