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

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

Jul 21, 2016 pm 04:03 PM
bbs mysql 使用 基於 儲存 思想 數據 架構 模組化 系統 設計 採用

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的所有數據,包括使用者訊息,文章數據,使用者信件,使用者訊息...
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

熱門話題

Java教學
1664
14
CakePHP 教程
1423
52
Laravel 教程
1318
25
PHP教程
1268
29
C# 教程
1248
24
Linux體系結構:揭示5個基本組件 Linux體系結構:揭示5個基本組件 Apr 20, 2025 am 12:04 AM

Linux系統的五個基本組件是:1.內核,2.系統庫,3.系統實用程序,4.圖形用戶界面,5.應用程序。內核管理硬件資源,系統庫提供預編譯函數,系統實用程序用於系統管理,GUI提供可視化交互,應用程序利用這些組件實現功能。

laravel入門實例 laravel入門實例 Apr 18, 2025 pm 12:45 PM

Laravel 是一款 PHP 框架,用於輕鬆構建 Web 應用程序。它提供一系列強大的功能,包括:安裝: 使用 Composer 全局安裝 Laravel CLI,並在項目目錄中創建應用程序。路由: 在 routes/web.php 中定義 URL 和處理函數之間的關係。視圖: 在 resources/views 中創建視圖以呈現應用程序的界面。數據庫集成: 提供與 MySQL 等數據庫的開箱即用集成,並使用遷移來創建和修改表。模型和控制器: 模型表示數據庫實體,控制器處理 HTTP 請求。

MySQL和PhpMyAdmin:核心功能和功能 MySQL和PhpMyAdmin:核心功能和功能 Apr 22, 2025 am 12:12 AM

MySQL和phpMyAdmin是強大的數據庫管理工具。 1)MySQL用於創建數據庫和表、執行DML和SQL查詢。 2)phpMyAdmin提供直觀界面進行數據庫管理、表結構管理、數據操作和用戶權限管理。

MySQL與其他編程語言:一種比較 MySQL與其他編程語言:一種比較 Apr 19, 2025 am 12:22 AM

MySQL与其他编程语言相比,主要用于存储和管理数据,而其他语言如Python、Java、C 则用于逻辑处理和应用开发。MySQL以其高性能、可扩展性和跨平台支持著称,适合数据管理需求,而其他语言在各自领域如数据分析、企业应用和系统编程中各有优势。

解決數據庫連接問題:使用minii/db庫的實際案例 解決數據庫連接問題:使用minii/db庫的實際案例 Apr 18, 2025 am 07:09 AM

在開發一個小型應用時,我遇到了一個棘手的問題:需要快速集成一個輕量級的數據庫操作庫。嘗試了多個庫後,我發現它們要么功能過多,要么兼容性不佳。最終,我找到了minii/db,這是一個基於Yii2的簡化版本,完美地解決了我的問題。

laravel框架安裝方法 laravel框架安裝方法 Apr 18, 2025 pm 12:54 PM

文章摘要:本文提供了詳細分步說明,指導讀者如何輕鬆安裝 Laravel 框架。 Laravel 是一個功能強大的 PHP 框架,它 упростил 和加快了 web 應用程序的開發過程。本教程涵蓋了從系統要求到配置數據庫和設置路由等各個方面的安裝過程。通過遵循這些步驟,讀者可以快速高效地為他們的 Laravel 項目打下堅實的基礎。

初學者的MySQL:開始數據庫管理 初學者的MySQL:開始數據庫管理 Apr 18, 2025 am 12:10 AM

MySQL的基本操作包括創建數據庫、表格,及使用SQL進行數據的CRUD操作。 1.創建數據庫:CREATEDATABASEmy_first_db;2.創建表格:CREATETABLEbooks(idINTAUTO_INCREMENTPRIMARYKEY,titleVARCHAR(100)NOTNULL,authorVARCHAR(100)NOTNULL,published_yearINT);3.插入數據:INSERTINTObooks(title,author,published_year)VA

解決MySQL模式問題:TheliaMySQLModesChecker模塊的使用體驗 解決MySQL模式問題:TheliaMySQLModesChecker模塊的使用體驗 Apr 18, 2025 am 08:42 AM

在使用Thelia開發電商網站時,我遇到了一個棘手的問題:MySQL模式設置不當,導致某些功能無法正常運行。經過一番探索,我找到了一個名為TheliaMySQLModesChecker的模塊,它能夠自動修復Thelia所需的MySQL模式,徹底解決了我的困擾。

See all articles