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