孫祎
摘要:隨著互聯(lián)網(wǎng)的跨越式飛速發(fā)展,目前高職院校網(wǎng)站主要包括學(xué)校主門戶網(wǎng)站、各行政管理部門和教學(xué)部門建立自己的二級門戶網(wǎng)站、各類專題網(wǎng)站和應(yīng)用系統(tǒng),這些網(wǎng)站在學(xué)校的招生就業(yè)、對外宣傳、信息發(fā)布、業(yè)務(wù)交流等諸多方面提供了巨大幫助。但大量的網(wǎng)站也帶來了許多管理和維護(hù)的問題。
關(guān)鍵詞:Think HP;網(wǎng)站集群;LAMP
中圖分類號:TP311 文獻(xiàn)標(biāo)識碼:A 文章編號:1009-3044(2015)31-0073-02
1 概述
隨著互聯(lián)網(wǎng)的跨越式快速發(fā)展,網(wǎng)絡(luò)充斥著社會的每一個角落,從PC端到移動端,信息傳播速度越來越快,傳播的信息量也越來越多。網(wǎng)站作為一種互聯(lián)網(wǎng)傳媒的重要信息載體也在不斷的飛速發(fā)展,網(wǎng)站的發(fā)展也從早期的基本信息發(fā)布發(fā)展到Web2.0社交互動時代,網(wǎng)站成為與世界溝通的重要的渠道,而基于HTML5的下一代Web3.0也必將掀起互聯(lián)網(wǎng)的又一次發(fā)展浪潮。
伴隨著互聯(lián)網(wǎng)的飛速發(fā)展,高職院校對信息化建設(shè)也在不斷地提出更高的要求和更多的服務(wù),每個學(xué)校都建設(shè)了大量的門戶網(wǎng)站和應(yīng)用網(wǎng)站。目前高職院校網(wǎng)站主要包括學(xué)校主門戶網(wǎng)站、各行政管理部門和教學(xué)部門建立自己的二級門戶網(wǎng)站、各類專題網(wǎng)站和應(yīng)用系統(tǒng),這些網(wǎng)站在學(xué)校的招生就業(yè)、對外宣傳、信息發(fā)布、業(yè)務(wù)交流等諸多方面提供了巨大幫助。在帶來巨大的同時,大量的網(wǎng)站也帶來了許多問題:大量的網(wǎng)站形成了一個個“信息孤島”,各個站點之間都是封閉的,需要單獨的服務(wù)器配置,不同網(wǎng)站的開發(fā)語言及運行平臺都不同,每個網(wǎng)站建設(shè)與維護(hù)需要單獨的管理,這給管理人員帶來的很大的煩惱,不僅需要大量的人力,還需要投入大量的財力來運行這么多的獨立網(wǎng)站。目前的CMS只能解決單個站點的內(nèi)容管理,而對于文章在各網(wǎng)站中的相互調(diào)用和數(shù)量的統(tǒng)計顯得力不從心,不得不進(jìn)行著重復(fù)勞動。各部門的CMS就形成了一個個的信息孤島,各站點之間的信息不能共享。二級門戶網(wǎng)站的建設(shè)與維護(hù)要求專業(yè)人士進(jìn)行,現(xiàn)實是二級部門不可能都單獨配備一個專職的網(wǎng)站技術(shù)專業(yè)人才來管理維護(hù)網(wǎng)站,網(wǎng)絡(luò)中心在面對如此多的二級站點的管理維護(hù)也顯得焦頭爛額。這就要求網(wǎng)站必須考慮以下問題:穩(wěn)定性、操作簡單、人性化、功能完備。
2 相關(guān)概念介紹
2.1 網(wǎng)站集群
網(wǎng)站集群是指統(tǒng)一部署,統(tǒng)一標(biāo)準(zhǔn),建立在統(tǒng)一技術(shù)構(gòu)架基礎(chǔ)之上,信息可以實現(xiàn)基于特定權(quán)限共享呈送的網(wǎng)站整體。網(wǎng)站集群系統(tǒng)是一種多網(wǎng)站架構(gòu)模式,支持生成獨立網(wǎng)站、多個網(wǎng)站,完成各個網(wǎng)站橫向一體化和縱向一體化網(wǎng)站群的構(gòu)建,主站、子站、網(wǎng)站間的信息可共享和信息互聯(lián)。
網(wǎng)站集群系統(tǒng)具有統(tǒng)一的數(shù)據(jù)結(jié)構(gòu),主網(wǎng)站與子網(wǎng)站、子網(wǎng)站之間數(shù)據(jù)結(jié)構(gòu)統(tǒng)一,數(shù)據(jù)格式定義的統(tǒng)一,實現(xiàn)所有信息在資源這個層面上的整合;網(wǎng)站集群能將各站點連為一體,支持全部站點的統(tǒng)一管理,將現(xiàn)有的各部門的信息聯(lián)系起來,使得同一組織內(nèi)各個站點之間不再互相孤立,為各個站點提供統(tǒng)一的信息協(xié)同框架。網(wǎng)站集群是實現(xiàn)統(tǒng)一部門、統(tǒng)一權(quán)限、消除“信息黑洞”和“信息孤島”的基礎(chǔ),形成供各部門共享的網(wǎng)站集群的軟、硬件資源。
2.2 ThinkPHP
ThinkPHP是國內(nèi)比較著名的PHP開發(fā)框架,采用面向?qū)ο蠛蚆VC設(shè)計模式,功能強(qiáng)大,開發(fā)也很便捷,且遵循Apache2開源協(xié)議發(fā)布。早期的思想架構(gòu)來源于Struts,后來經(jīng)過不斷改進(jìn)和完善,同時也借鑒了國外很多優(yōu)秀的框架和模式,使用面向?qū)ο蟮拈_發(fā)結(jié)構(gòu)和MVC模式,融合了Struts的Action和Dao思想和JSP的TagLib(標(biāo)簽庫)、RoR的ORM映射和ActiveRecord模式,封裝了CURD和一些常用操作,單一入口模式等,在模版引擎、緩存機(jī)制、認(rèn)證機(jī)制和擴(kuò)展性方面均有獨特的表現(xiàn)。
作為一個整體開發(fā)解決方案,ThinkPHP能夠解決應(yīng)用開發(fā)中的大多數(shù)需要,因為其自身包含了底層架構(gòu)、兼容處理、基類庫、數(shù)據(jù)庫訪問層、模板引擎、緩存機(jī)制、插件機(jī)制、角色認(rèn)證、表單處理等常用的組件,并且對于跨版本、跨平臺和跨數(shù)據(jù)庫移植都比較方便。并且每個組件都是精心設(shè)計和完善的,應(yīng)用開發(fā)過程僅僅需要關(guān)注您的業(yè)務(wù)邏輯。
2.3 LAMP
目前,越來越多的企業(yè)和單位選擇PHP+MySQL來開發(fā)自己的網(wǎng)站,運行運行在安裝有Apache軟件的Linux服務(wù)器上,即服務(wù)器采用Linux操作系統(tǒng),安裝Apache web服務(wù)器,使用MySQL作為數(shù)據(jù)庫系統(tǒng),采用PHP來開發(fā)站點應(yīng)用,以上合成為LAMP組合。LAMP中各個軟件本身都是各自獨立的,分屬不同的公司,這幾個軟件都是開源、免費的,因此很多企業(yè)從成本角度考慮,經(jīng)常使用這些軟件,所以LAMP擁有了越來越高的兼容度,共同組成了一個功能非常強(qiáng)大的Web應(yīng)用程序平臺。如今開源軟件已經(jīng)是一種趨勢,更多的人開始關(guān)注到LAMP,互聯(lián)網(wǎng)中不低于70%的網(wǎng)絡(luò)訪問流量是由LAMP來提供的。LAMP組合不僅成本低、開源,而且安全性較高,足以與Sun的J2EE和微軟的.Net相媲美。
2.4MVC設(shè)計模式
MVC全名是Model View Controller,是一種軟件設(shè)計模式,它將軟件分為三個基本部分:模型Model、視圖View、控制器Controller。三者之間低耦合,代碼重用性高、擴(kuò)展能力強(qiáng)。通過此模式,可以簡化問題的復(fù)雜度,程序結(jié)構(gòu)更加直觀明了,各個部分實現(xiàn)不同的功能:控制器Controller負(fù)責(zé)轉(zhuǎn)發(fā)請求,并對請求進(jìn)行處理;模型Model負(fù)責(zé)數(shù)據(jù)的設(shè)計和管理,解決對數(shù)據(jù)庫的相關(guān)操作;視圖View是控制器處理請求后并將結(jié)果最終呈現(xiàn)在用戶面前的圖形界面。
3網(wǎng)站集群系統(tǒng)
3.1 系統(tǒng)環(huán)境
本系統(tǒng)在開發(fā)中采用PHP開發(fā)語言、Apache Web服務(wù)器、MySQL數(shù)據(jù)庫,使用功能強(qiáng)大的ThinkPHP和jQuery開源框架,在后臺UI方面使用BootStrap框架和UEditor富文本編輯器。
3.2總體設(shè)計
網(wǎng)站集群系統(tǒng)分為系統(tǒng)管理員、站點管理員和信息員三類用戶,所有用戶登錄后的界面都是后臺管理中心,不同用戶的權(quán)限和職責(zé)不同,可操作的欄目也會根據(jù)權(quán)限顯示。
系統(tǒng)管理員擁有網(wǎng)站集群系統(tǒng)的最高權(quán)限,主要功能有系統(tǒng)管理為維護(hù)、站點管理、用戶管理、信息管理;站點管理員擁有某個站點的管理權(quán)限,主要有欄目管理、信息管理、模版管理等;信息管理員則只擁有某個站點的信息起草功能。網(wǎng)站集群系統(tǒng)主要功能結(jié)構(gòu)如圖1:
圖1 網(wǎng)站集群系統(tǒng)功能結(jié)構(gòu)
系統(tǒng)除了站點管理和用戶管理外,最重要的就是信息的管理與流轉(zhuǎn),系統(tǒng)中信息流程如圖2所示:
圖2 信息流程
3.3數(shù)據(jù)庫設(shè)計
內(nèi)容創(chuàng)建后將保存在文章池中,然后發(fā)布到站點的新聞表中,便于內(nèi)容的流轉(zhuǎn)及減少數(shù)據(jù)冗余。文章池的存儲形式采用文章基礎(chǔ)信息表、文章內(nèi)容表、文章附件表3個表來維護(hù)。文章基礎(chǔ)信息表只存放文章最基礎(chǔ)的信息,減小了與其他表之間的耦合度;文章附件表的單獨設(shè)立主要考慮到不是所有的文章都會有附件,這樣設(shè)計可以減少數(shù)據(jù)空間;文章內(nèi)容的單獨設(shè)立主要考慮在顯示文章列表信息時會對數(shù)據(jù)庫的檢索有很大的資源消耗,而且文章的列表在整個網(wǎng)站集群中出現(xiàn)非常頻繁,這樣就大大減少了數(shù)據(jù)庫的壓力。
發(fā)布的內(nèi)容存在新聞表,存儲了各站點的所有信息,包括自建信息、推薦信息、轉(zhuǎn)載信息等,通過不同的標(biāo)識符來決定文章在各站點的顯示,表中只記錄文章的ID號,解決了與文章表混合在一起造成的數(shù)據(jù)冗余。
數(shù)據(jù)庫名命名為CMS_Cluster,主要數(shù)據(jù)表及功能如下:
Cc_news,新聞表,存放整個系統(tǒng)中各站點的所有新聞基本屬性,通過website字段區(qū)分站點歸屬、article_id鏈接對應(yīng)文章。
cc_article ,文章表,保存文章的基本屬性。
cc_article_content,文章內(nèi)容表,文章的內(nèi)容單獨保存,提高系統(tǒng)的性能。
Cc_article_attachment,文章附件表。
Cc_article_item,新聞欄目表,通過website字段區(qū)分站點歸屬。
Cc_user,用戶表。
Cc_website,站點表,通過slave_website_id字段允許創(chuàng)建子站點。
Cc_general,網(wǎng)站集群基礎(chǔ)數(shù)據(jù)表,數(shù)據(jù)字典。
Cc_template,網(wǎng)站模版庫表,提供全站所有的模板。
Cc_var,網(wǎng)站變量及函數(shù)表,主要為模板提供數(shù)據(jù)來源。
4 結(jié)束語
ThinkPHP采用面向?qū)ο蠛蚆VC設(shè)計模式,功能強(qiáng)大,開發(fā)也很便捷,且遵循Apache2開源協(xié)議發(fā)布。網(wǎng)站集群并不是一群網(wǎng)站的簡單鏈接,而是一個整體規(guī)劃、統(tǒng)一設(shè)計、緊密聯(lián)系的有機(jī)整體。基于ThinkPHP的網(wǎng)站集群系統(tǒng)對于整合政府信息資源、服務(wù)資源和政務(wù)應(yīng)用,消除“信息孤島”、“應(yīng)用孤島”,為社會公眾提供更多更好的政府服務(wù)將發(fā)揮重要作用。
參考文獻(xiàn):
[1] 站集群[EB/OL].[2015-11-20].http://baike.baidu.com/view/1571435.htm.
[2] ThinkPHP3.2.3完全開發(fā)手冊[EB/OL].[2015-11-20].http://www.kancloud.cn/manual/thinkphp/1678.