薛巍
摘 要:近些年,隨著我國(guó)網(wǎng)民人數(shù)的不斷增長(zhǎng),網(wǎng)絡(luò)文學(xué)尤其是網(wǎng)絡(luò)小說(shuō)愛(ài)好者的基數(shù)相當(dāng)可觀,網(wǎng)絡(luò)小說(shuō)的消費(fèi)市場(chǎng)潛力巨大,這些客觀因素都給小說(shuō)類站點(diǎn)帶來(lái)了發(fā)展機(jī)遇。因此,論述基于PHP語(yǔ)言的小說(shuō)站點(diǎn)的設(shè)計(jì)及實(shí)現(xiàn)的過(guò)程,其中涉及站點(diǎn)建設(shè)中的需求分析、設(shè)計(jì)、實(shí)現(xiàn)、測(cè)試等過(guò)程,并提出相關(guān)對(duì)策建議。
關(guān)鍵詞:網(wǎng)站建設(shè);PHP;數(shù)據(jù)庫(kù)
中圖分類號(hào):F49 文獻(xiàn)標(biāo)志碼:A 文章編號(hào):1673-291X(2016)11-0178-02
站點(diǎn)建設(shè)中用到了PHP、MySQL、Apache、CentOS、Nginx、Zend Studio、MemCache、SVN等軟件,利用上述軟件在技術(shù)上的優(yōu)勢(shì),可以搭建站點(diǎn)開(kāi)發(fā)環(huán)境。對(duì)于站點(diǎn)開(kāi)發(fā)者來(lái)說(shuō),核心技術(shù)是PHP+MySQL。鑒于PHP具有開(kāi)發(fā)敏捷度高等特性,站點(diǎn)開(kāi)發(fā)者很容易上手,所以在構(gòu)建站點(diǎn)時(shí)首選PHP作為站點(diǎn)開(kāi)發(fā)語(yǔ)言。MySQL是一種關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng),它易學(xué)易用且性能穩(wěn)定。SVN可以安裝在開(kāi)發(fā)團(tuán)隊(duì)局域網(wǎng)內(nèi)的某臺(tái)服務(wù)器中,用于管理不同版本的代碼,以防代碼覆蓋。
首先是確立站點(diǎn)建設(shè)目標(biāo)。站內(nèi)以原創(chuàng)小說(shuō)為主,推行付費(fèi)閱讀制,作品的前半部分可供讀者免費(fèi)閱讀。作者上傳作品后由站內(nèi)編輯負(fù)責(zé)審核。經(jīng)分析,站點(diǎn)的主要建設(shè)目標(biāo)為:導(dǎo)航明晰,方便讀者閱讀。數(shù)據(jù)庫(kù)支持大量數(shù)據(jù)錄入,用戶可輕松管理數(shù)據(jù)庫(kù)中的數(shù)據(jù)。站點(diǎn)基于B/S架構(gòu),能夠快速查詢作者作品。讀者按不同文學(xué)體裁進(jìn)行閱讀。會(huì)員在經(jīng)付費(fèi)后升級(jí)為VIP會(huì)員,可閱讀VIP章節(jié)。站點(diǎn)模塊層次清晰,頁(yè)面間主體風(fēng)格一致。站點(diǎn)投入運(yùn)營(yíng)后應(yīng)當(dāng)穩(wěn)定、安全、可靠,方便站內(nèi)員工管理。站點(diǎn)對(duì)客戶端的要求并不高,客戶端只需擁有普通PC、IE等瀏覽器即可閱讀站內(nèi)作品。用戶需具備基本的上網(wǎng)常識(shí),憑頁(yè)面中的導(dǎo)航、分欄、鏈接、搜索工具、輔助閱讀表單等即可輕松地訪問(wèn)站內(nèi)資源,最后考慮法律可行性。法律可行性主要用來(lái)評(píng)估站點(diǎn)商業(yè)化運(yùn)營(yíng)后可能帶來(lái)的影響,包括簽約作者的作品在正式發(fā)布后的電子版權(quán)、作品防盜鏈、作品對(duì)社會(huì)公德的影響力,以及用戶能否肯定站點(diǎn)的內(nèi)容等。
站點(diǎn)按功能需求劃分,初步分為讀者、作者、站內(nèi)管理人員三大類。第一大類是讀者模塊。主要的子功能模塊有會(huì)員注冊(cè)、會(huì)員登錄身份驗(yàn)證、會(huì)員充值、會(huì)員第三方登錄、作品搜索等。第二大類為作者模塊主要為站內(nèi)作品的作者提供各類服務(wù)。作者模塊的子功能模塊包括作者登錄、作者活動(dòng)、作者排行榜、作品得票、書評(píng)等。第三大類站務(wù)管理人員模塊,它是站內(nèi)員工管理站點(diǎn)的平臺(tái)。站務(wù)管理人員模塊主要由編輯后臺(tái)、稿費(fèi)結(jié)算、站務(wù)后臺(tái)、統(tǒng)計(jì)后臺(tái)等子模塊構(gòu)成。接下來(lái)分析站點(diǎn)的總體界面需求:站點(diǎn)可交互、頁(yè)面風(fēng)格統(tǒng)一、有較快的訪問(wèn)速度、鏈接清晰易操作。主頁(yè)界面的使用需求為:主頁(yè)上方設(shè)置作品搜索工具條,方便讀者查找喜愛(ài)的作品;在主頁(yè)左上方設(shè)計(jì)站點(diǎn)LOGO,LOGO中的文字簡(jiǎn)明扼要,能夠解釋站點(diǎn)的服務(wù)主旨;主頁(yè)能提供站點(diǎn)的導(dǎo)航;頁(yè)面布局明確,欄目?jī)?nèi)的信息言簡(jiǎn)意賅,以簡(jiǎn)約的界面效果吸引讀者。
1.站點(diǎn)結(jié)構(gòu)設(shè)計(jì)。(1)站點(diǎn)使用MVC(Model View Controller)即模型-視圖-控制器。(2)使用Smarty模板技術(shù)。(3)站點(diǎn)使用B/S架構(gòu)。(4)站點(diǎn)前臺(tái)各模塊含有以下功能結(jié)構(gòu)。其一是會(huì)員管理:會(huì)員管理模塊主要負(fù)責(zé)管理會(huì)員與站點(diǎn)發(fā)生的各類業(yè)務(wù)。其二是搜索書目:會(huì)員通過(guò)搜索書目模塊可以查找站內(nèi)的作品。其三是主線流程:主線流程即用戶訪問(wèn)站點(diǎn)時(shí)的主要瀏覽方向。其四是作者活動(dòng):作者活動(dòng)模塊負(fù)責(zé)管理站點(diǎn)與作者發(fā)生的各類業(yè)務(wù)關(guān)系。站點(diǎn)的后臺(tái)需要更多地考慮站點(diǎn)內(nèi)的管理功能,方便站內(nèi)員工的使用。而站點(diǎn)后臺(tái)各模塊包含以下功能結(jié)構(gòu):站務(wù)管理、閱讀量管理、站內(nèi)廣告管理、財(cái)務(wù)管理、文字編輯、移動(dòng)終端授、數(shù)據(jù)庫(kù)邏輯結(jié)構(gòu)設(shè)計(jì)。(5)分析各個(gè)角色的基本需求為:用戶分為訪客、注冊(cè)用戶、管理員、作者、編輯、財(cái)務(wù)人員。其中注冊(cè)用戶又分為普通讀者、VIP讀者??紤]未來(lái)站點(diǎn)功能的擴(kuò)展,再將上述的功能、需求作進(jìn)一步分析,初步設(shè)計(jì)出如下數(shù)據(jù)結(jié)構(gòu)和數(shù)據(jù)項(xiàng):用戶信息類表、作者類信息表、充值表、編輯表、系統(tǒng)管理員表等。
2.用戶對(duì)數(shù)據(jù)庫(kù)的操作。通過(guò)分析站點(diǎn)的功能以及站點(diǎn)不同用戶的需求推測(cè)出訪客、普通讀者、VIP讀者、編輯、站務(wù)人員、作者、財(cái)務(wù)、系統(tǒng)管理員會(huì)操作數(shù)據(jù)庫(kù)。站務(wù)人員會(huì)調(diào)用站務(wù)公告、管理方面的數(shù)據(jù)。財(cái)務(wù)人員則要求更新收入、支出、審核等方面的數(shù)據(jù)。系統(tǒng)管理員權(quán)限最大,能夠維護(hù)庫(kù)中的數(shù)據(jù),也能更新站內(nèi)公告,可以添加、刪除與修改作品的相關(guān)信息,還可以刪除作者、讀者的賬號(hào),當(dāng)然也可以更新管理員自己的信息。通過(guò)分析,站點(diǎn)的實(shí)體有:管理員、作者、作品、普通用戶、VIP用戶、書評(píng)、財(cái)務(wù)、編輯、站務(wù)、客服等,最后繪制出各實(shí)體之間的E-R關(guān)系。
3.數(shù)據(jù)庫(kù)的物理設(shè)計(jì)??蓪⒏鲗?shí)體及相互關(guān)系轉(zhuǎn)變成數(shù)據(jù)庫(kù)中的二維表以及二維表之間的關(guān)系。例如,用戶信息表User。用戶信息表保存與用戶相關(guān)的諸多信息,包括普通用戶與VIP用戶的個(gè)人信息,如用戶ID、登錄名、密碼、閱讀幣余額等信息。依據(jù)站點(diǎn)實(shí)際情況,繪制出N個(gè)二維表。數(shù)據(jù)庫(kù)安全:為防止數(shù)據(jù)庫(kù)服務(wù)器訪問(wèn)量過(guò)大,站點(diǎn)穩(wěn)定性下降,減輕數(shù)據(jù)庫(kù)負(fù)載,站點(diǎn)采取了下列措施。措施之一:?jiǎn)⒂肕emCache減輕數(shù)據(jù)庫(kù)服務(wù)器(DB)的負(fù)載。措施二:使用session共享技術(shù),減少用戶對(duì)服務(wù)器訪問(wèn)量的額外開(kāi)支。措施三:在Web服務(wù)器前架設(shè)Nginx,采用輪詢機(jī)制分散用戶對(duì)服務(wù)器的訪問(wèn)負(fù)載,避免同一時(shí)刻用戶僅對(duì)一臺(tái)服務(wù)器進(jìn)行訪問(wèn)。措施四:采用集群架構(gòu)。一旦出現(xiàn)意外情況,主數(shù)據(jù)庫(kù)服務(wù)器立即退出工作狀態(tài)進(jìn)入維護(hù)狀態(tài),而從數(shù)據(jù)庫(kù)服務(wù)器立即轉(zhuǎn)入正常運(yùn)轉(zhuǎn)狀態(tài)。措施五:設(shè)計(jì)防SQL注入漏洞的方法。如普通用戶禁用root權(quán)限。
1.站點(diǎn)前臺(tái)的實(shí)現(xiàn)。站點(diǎn)前臺(tái)頁(yè)面是用戶與站點(diǎn)產(chǎn)生交互的重要組成部分。它使讀者能夠?yàn)g覽頁(yè)面內(nèi)容,提交表單,利用搜索工具查詢站點(diǎn)后臺(tái)的數(shù)據(jù)庫(kù)資源。其一,主線流程。主線流程的設(shè)計(jì)需要考慮用戶的訪問(wèn)習(xí)慣,包括主頁(yè)、頻道頁(yè)、封面頁(yè)、目錄頁(yè)等。其二,會(huì)員模塊。此模塊關(guān)系到用戶獲取站點(diǎn)資源,閱讀作品的權(quán)利;此模塊用到諸如上述的user表,包括新會(huì)員注冊(cè)、第三方登錄等。其三,用戶消費(fèi)模塊:站內(nèi)的電子消費(fèi)是站點(diǎn)的核心服務(wù)內(nèi)容之一,此模塊在使用時(shí)會(huì)調(diào)用與充值相關(guān)的二維表,包括充值、計(jì)費(fèi)表等。站內(nèi)文章搜索:站內(nèi)含有多部小說(shuō)作品,用戶使用站內(nèi)搜索工具按不同的查詢類型進(jìn)行搜索,可以幫助用戶迅速找到待讀作品。作者模塊主要負(fù)責(zé)管理與作者相關(guān)的行為。
2.站點(diǎn)后臺(tái)的實(shí)現(xiàn)。站點(diǎn)后臺(tái)負(fù)責(zé)管理站內(nèi)的各類信息。站點(diǎn)正式發(fā)布后,后臺(tái)管理部分可以直接在遠(yuǎn)程進(jìn)行管理。站點(diǎn)運(yùn)營(yíng)團(tuán)隊(duì)中的財(cái)務(wù)、站務(wù)、編輯等人員也可以被視作為站點(diǎn)的管理員,其中系統(tǒng)管理員的權(quán)限最大。系統(tǒng)管理員登錄后可管理后臺(tái)的各個(gè)模塊。系統(tǒng)管理員具有對(duì)所有用戶的管理權(quán)。系統(tǒng)管理員對(duì)新注冊(cè)站內(nèi)員工進(jìn)行資格審核,確認(rèn)信息無(wú)誤后,分配其相應(yīng)的權(quán)限,從而使站內(nèi)員工在登錄成功后轉(zhuǎn)入相應(yīng)的模塊,處理相關(guān)信息。站務(wù)的管理職能由系統(tǒng)管理員分配。站務(wù)管理員憑借自己的注冊(cè)信息登錄,進(jìn)入站務(wù)后臺(tái)后即可管理相關(guān)的事務(wù)。站務(wù)人員依托廣告管理模塊,可以合理地管理站內(nèi)廣告,此模塊的出現(xiàn)也能滿足各類市場(chǎng)廣告的推廣需求。財(cái)務(wù)管理模塊在站點(diǎn)中亦十分重要,涉及站點(diǎn)經(jīng)濟(jì)業(yè)務(wù)的數(shù)據(jù)。編輯模塊主要與作品、作者有關(guān),作品審核、作品管理等與此模塊有直接關(guān)系。
為了站點(diǎn)能安全、穩(wěn)定地運(yùn)行,站點(diǎn)必須進(jìn)行各種測(cè)試,而諸多測(cè)試環(huán)節(jié)的第一步即為單元測(cè)試。單元測(cè)試主要測(cè)試每個(gè)模塊的正確性,驗(yàn)證各個(gè)單元有無(wú)達(dá)到設(shè)計(jì)中的要求。另一項(xiàng)單元測(cè)試內(nèi)容是代碼測(cè)試。測(cè)試環(huán)節(jié)第二步為集成測(cè)試。在測(cè)試完各個(gè)模塊之后,需檢測(cè)模塊之間的通信和接口能否正常工作。測(cè)試環(huán)節(jié)第三步為有效性測(cè)試。例如,以普通用戶身份登錄站點(diǎn),應(yīng)當(dāng)標(biāo)識(shí)為非VIP用戶,借此判斷該用戶有無(wú)VIP章節(jié)的閱讀權(quán)限。測(cè)試環(huán)節(jié)第四步為系統(tǒng)測(cè)試。站內(nèi)的系統(tǒng)測(cè)試包括界面測(cè)試、訪問(wèn)強(qiáng)度測(cè)試、風(fēng)險(xiǎn)測(cè)試等。經(jīng)反復(fù)測(cè)試后,多數(shù)環(huán)節(jié)能夠通過(guò)且穩(wěn)定運(yùn)行,方可將站點(diǎn)投入試運(yùn)營(yíng)。
參考文獻(xiàn):
[1] 韓浩月.盛大文學(xué):以版權(quán)為核心締造文學(xué)產(chǎn)業(yè)鏈[J].中國(guó)版權(quán),2013,(4):36-37.