吳 浩 李春培 劉 鵬 曾品一
(廣西師范大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院/軟件學(xué)院 廣西桂林 541006)
隨著人們生活水平的逐漸提高,小說這一類娛樂信息在當(dāng)下受到越來越多的歡迎,對小說閱讀的體驗(yàn)也提出了更高的要求。為了方便小說的愛好者們能夠隨時(shí)隨地?fù)碛辛己玫拈喿x體驗(yàn),筆者開發(fā)了一個(gè)小說閱讀平臺(tái),包括PC端和移動(dòng)端[1]。
一個(gè)網(wǎng)站的開發(fā)中必不可少的就是后端服務(wù)器的搭建,NodeJS是最近幾年以高并發(fā)、非阻塞I/O等優(yōu)點(diǎn)在服務(wù)器開發(fā)中占據(jù)一席之地。NodeJS是一個(gè)基于Chrome V8引擎的JavaScript運(yùn)行時(shí)環(huán)境,單線程,具有一套異步處理機(jī)制及事件處理模型,整個(gè)過程不會(huì)阻塞用戶的連接,理論上來說陸續(xù)到來的用戶請求都會(huì)得到響應(yīng),因此NodeJS擁有比其他語言更高的并發(fā)量[2]。
Express是一個(gè)基于NodeJS的輕量級的Web服務(wù)器框架,它其實(shí)是對NodeJS中提供的HTTP模塊更進(jìn)一步的封裝,使得開發(fā)者可以更加簡便的創(chuàng)建Web服務(wù)。它的理念是極簡主義,利用最簡單的方式創(chuàng)建最強(qiáng)大的服務(wù)器功能。
Sequelize是當(dāng)前應(yīng)用最廣泛的基于NodeJS的輕量級ORM框架,具有強(qiáng)大的事務(wù)處理機(jī)制、預(yù)讀取以及延遲加載等功能。ORM框架實(shí)質(zhì)是數(shù)據(jù)庫的一個(gè)對象關(guān)系映射,ORM框架可以根據(jù)查詢需求為開發(fā)者生成效率最高的查詢語句,極大的減少了人力成本。
MySQL是當(dāng)前最流行的關(guān)系型數(shù)據(jù)庫之一,關(guān)系型數(shù)據(jù)庫將不同類型的數(shù)據(jù)存在不同的表中,極大的提高了查詢的效率。
該小說閱讀系統(tǒng)主要針對于青年學(xué)生,系統(tǒng)將提供登錄/注冊、小說瀏覽、小說搜索、小說推薦、小說下載、書架、閱讀歷史、個(gè)人中心等功能。
①系統(tǒng)架構(gòu)設(shè)計(jì)
本系統(tǒng)采用B/S架構(gòu),即瀏覽器-服務(wù)器架構(gòu),這種模式的優(yōu)點(diǎn)在于可以適配不同的終端,不存在操作系統(tǒng)不兼容的問題。系統(tǒng)架構(gòu)圖如圖1所示:
圖1 系統(tǒng)架構(gòu)圖
②功能模塊設(shè)計(jì)
經(jīng)過實(shí)際的需求分析之后,系統(tǒng)功能模塊如圖2所示:
圖2 系統(tǒng)功能結(jié)構(gòu)圖
讀者通過瀏覽器進(jìn)行訪問,并且讀者無需進(jìn)行任何登錄操作即可進(jìn)行相關(guān)小說的閱讀,為了提高讀者的用戶體驗(yàn),本系統(tǒng)不會(huì)強(qiáng)制進(jìn)行注冊或者登錄操作。如果用戶需要進(jìn)行評論或者獲取進(jìn)入個(gè)人中心的權(quán)限,那就得進(jìn)行登錄操作,登錄之后系統(tǒng)會(huì)自動(dòng)記錄用戶的瀏覽記錄,用戶也可以將自己心儀的書籍加入書架,以便下次閱覽[3]。
圖3 PC端首頁
圖4 小程序端首頁
本篇文章分析設(shè)計(jì)了的小說閱讀平臺(tái)旨在提高小說閱讀愛好者們的閱讀體驗(yàn),服務(wù)器端采用NodeJS和Express,主要考慮到小說服務(wù)屬于I/O密集型應(yīng)用,沒有太多的業(yè)務(wù)邏輯,因此選用該技術(shù)可以提高網(wǎng)站并發(fā)量,并利用現(xiàn)代化開發(fā)技術(shù)開發(fā)PC端和小程序端,進(jìn)行合理的界面設(shè)計(jì)和引導(dǎo),真正做到了讓眾多讀者隨時(shí)隨地享受閱讀。