首頁 > 後端開發 > php教程 > 基於mysql的bbs設計(一)_PHP教程

基於mysql的bbs設計(一)_PHP教程

WBOY
發布: 2016-07-21 16:03:29
原創
1201 人瀏覽過

1。系統架構:
  採用模組化思想,分為3層:
  a。資料儲存層:使用mysql來存放bbs的所有數據,包括使用者信息,
    文章數據,使用者信件,使用者訊息,系統資料(?),關鍵問題:
    資料庫的規劃,是否用檔案來輔助。
  b。系統功能層:完成bbs的基本功能,由多個並列模組組成,向下
    調用mysql的函數存取資料庫,向上,接受處理請求,將處理的
    結果返回上層,根據請求類型,返回成敗結果和其他數據。而且
    模組高度靈活,可方便的修改增加。包括:
    ** 使用者模組,處理使用者的註冊,基本資料的修改,權限的變化,
     網友資訊的查詢。
    ** 版面模組,完成文章發表,文章的讀取,文章的刪除,文章
     的加標記,讀取已刪除權限檢查,此模組對資料庫的要求最高。
    ** 精華區模組,包括精華區的文章,目錄的增加,刪除,上下移     動
(?)讀改刪權限檢查,目錄結構是其中的困難點。
    ** 信件模組,包括發新信件,讀刪信件,信箋標記,新信件的通
     知
    ** 訊息模組,包括傳送訊息,接受訊息,新訊息通知,訊息回顧,訊息
     訊息存函。
    ** 系統動態模組,包括目前上站人數,目前動態,由於變動頻繁,
     此類資料以共享記憶體實現可能會更好。
    ** 聊天模組,雙人聊天是否能藉用icq的做法,由雙方直接通話,
     但聊天結果存信件可能較麻煩,同時,為兼容telnet功能,當    ** 聊天室模組,利用共享記憶體還是資料庫?開房間,裡面的權限
     問題。
     依需要,也能增加新的功能。例如:活動看板模組,但對於非
    telnet終端,意義好像不大。 。 。 。 。
  c。服務層:直接和客戶機對話,根據客戶機的請求,調用功能模組取得
    數據,然後將數據發送回客戶端,根據客戶端的類型,分別開發不同
    的服務模組,並且盡可能合理進行抽象,使不同的服務層,能共用
    系統功能層的模組。具體包括:
     cq66服務端,採取原cq66的方式,並重新規劃協議,支援系統功能
     層的所有功能,但要用專門的客戶端程序(cq66),如果能做到向
     下相容則較好,客戶端程式要隨服務端的升級而升級,使用者可能有
     點不便。有需要可以在傳輸過程中加入加密功能,類似ssh。
     telnet服務端,採用舊bbs的方式,有些功能不支持,客戶端無須
     升級,伺服器端要保存客戶方的狀態,並根據客戶端的按鍵來判斷
   由此得出所需的數據,(例如閱讀某篇文章),然
     後再向系統功能層請求數據,然後將數據加以處理(例如加上頂行,
     尾行)然後返回數據,可以在現有的bbsd上修改,可以省去io模組
     的設計但難度較大,除文章方面好一點外,其他比較難改,但從頭
     寫太費力。
     httpd服務端,所需的功能較少,相對較簡單,本來直接呼叫mysql
     資料庫也行,直接可用php,但考慮到分層的原則,建議仍使用c編
cgi的方式實現不知能不能在原來的基礎上修改呢?估計不行。
  系統的關鍵與困難:
  a。資料庫的設計,mysql支援大量的table嗎?例如幾萬?每個
    使用者至少一個表,然後每個版一個表,精華區的表結構可能更複雜。
    但總是會比現在bbs的檔案結構清晰一些,效率也高一點吧,排序
    和cache的功能可以信賴mysql吧。
  b。 mysql中文字欄位的大小限制,限制一篇文章不得大於64k不過分吧,
    而且從效率的角度,將一篇文章以最大2k的區塊為單位存放可能更好,
    這樣,當telnet用戶看文章時,telnet伺服器不用每次都查詢資料庫
    讀取幾十k的數據,再將其中的某2k傳給用戶,可局部補償資料庫欄位
    不能像檔案從中間讀取取一部分。不過這樣文章字段資料的管理
    比較複雜。
2。系統開發計畫:
  先考慮使用者模組和版面模組,規劃好資料結構,應該很容易和現有bbsd結合
起來的。然後再考慮其他模組? 。 。 。 。 。 。 。
(//以下有空再寫。。。。。先睡去。。hmm.........)
3。資料庫設計
4。使用者模組設計
5。版面模組設計
6。 bbsd和cq66伺服器端改造
7。初步測試計劃 。

www.bkjia.comtruehttp: //www.bkjia.com/PHPjc/316248.htmlTechArticle1。系統架構: 採用模組化思想,分為3層: a。資料儲存層:使用mysql來存放bbs的所有數據,包括使用者訊息,文章數據,使用者信件,使用者訊息...
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板