棋牌游戏服务器架构: 详细设计(三) 数据库设计
? ? 主要有3類Database: ServerInfoDB,UserInfoDB和GameDB。 ServerInfoDB主要存儲(chǔ)的是游戲列表的信息,UserInfoDB存儲(chǔ)玩家的全局信息,而GameDB就是積分以及積分變化情況。下面分別加以描述。
1. ServerInfoDB
? ? ? ServerInfoDB主要存儲(chǔ)游戲列表信息。主要有以下幾個(gè)表:
? ? ? 1. GameTypeInfo,其主要字段為:
? ? ? ? ? TypeID:類型標(biāo)識(shí) ID?
? ? ? ? ? TypeName:類型名字,例如棋牌類,休閑類
? ? ? ? ? Enable:控制游戲大廳是否顯示該類型,默認(rèn)為 1,即為默認(rèn)顯示
? ? ? 2. GameKindInfo,其主要字段為:
? ? ? ? ? KindID: 游戲的唯一標(biāo)識(shí)
? ? ? ? ? TypeID: 外鍵(GameTypeInfo的主鍵),該游戲所屬類型
? ? ? ? ? KindName: 游戲名稱, 比如德州撲克,斗地主等。
? ? ? ? ? ProcessName: 客戶端進(jìn)程名稱
? ? ? ? ? MaxVersion: 客戶端進(jìn)程的最低版本,若是登錄時(shí)發(fā)現(xiàn)客戶端版本低于這個(gè)值,要求其更新。
? ? ? ? ? Enable: 控制游戲大廳是否顯示該游戲,默認(rèn)為1。
? ? ? 3. GameStationInfo 站點(diǎn)信息表:
? ? ? ? ? StationID:? 站點(diǎn)標(biāo)識(shí)
? ? ? ? ? StationName: 站點(diǎn)名稱
? ? ? ? ? Enable: 這個(gè)站點(diǎn)是玩家可以選擇的,這個(gè)標(biāo)識(shí)控制是否顯示給玩家,默認(rèn)為1
2 UserInfoDB
? ? ? 這個(gè)數(shù)據(jù)庫主要存儲(chǔ)玩家的全局信息,有兩個(gè)表: UserAccounts和ClubList:
? ? ? 1. UserAccounts的主要字段:
? ? ? ? ? UserID:玩家的唯一標(biāo)識(shí),注冊(cè)的時(shí)候自動(dòng)生成,不能修改
? ? ? ? ? Accounts:帳戶名字,具有唯一性,不能重復(fù),能修改
? ? ? ? ? LogonPass:玩家?guī)舻拿艽a,采用通用加密算法 MD5 加密記錄
? ? ? ? ? Gender:性別
? ? ? ? ? LogonNullity:帳戶禁止標(biāo)志,影響玩家登錄廣場和登錄游戲房間
? ? ? ? ? ServiceNullity:服務(wù)禁止標(biāo)志,保留供網(wǎng)站系統(tǒng)使用或者將來系統(tǒng)擴(kuò)展使用
? ? ? ? ? UserRight:玩家權(quán)限標(biāo)志,每一位代表一種權(quán)限, 比如旁觀權(quán)限,大廳公聊權(quán)限,私聊權(quán)限等。
? ? ? ? ? ManageRight:管理權(quán)限標(biāo)志,第一位代表一種管理權(quán)限,比如踢出玩家,發(fā)布消息等。
? ? ? ? ? FaceID:玩家頭像索引號(hào)碼
? ? ? ? ? ClubID:外鍵(ClubList的主鍵),玩家社團(tuán) ID 號(hào)碼
? ? ? ? ? MemberOrder:會(huì)員等級(jí)標(biāo)識(shí)
? ? ? ? ? Experience:玩家經(jīng)驗(yàn)數(shù)值,表示玩家游戲的總局?jǐn)?shù),可以通過修改每個(gè)游戲的經(jīng)驗(yàn)數(shù)值增加方案得到策略的改變
? ? ? ? ? AllLogonTimes:玩家成功登陸的總次數(shù)
? ? ? ? ? RegisterDate:玩家的注冊(cè)日期
? ? ? ? ? LastLogonDate:玩家最后登陸的日期
? ? ? ? ? RegisterIP:玩家?guī)舻淖?cè)所在的 IP 地址
? ? ? ? ? LastLogonIP:玩家最后使用此帳戶登陸的 IP 地址
? ? ? ? ? Question:密碼找回提示問題
? ? ? ? ? Answer:密碼找回回答問題
? ? ? ? ? QQ:玩家注冊(cè)QQ號(hào)碼
? ? ? ? ? ConnectPerson:聯(lián)系人姓名
? ? ? ? ? PhoneNO:電話號(hào)碼
? ? ? ? ? Address:家庭住址
? ? ? ? ? Email:電子郵箱
? ? ? 2.?ClubList是用來存儲(chǔ)社團(tuán)列表的,主要字段包括:
? ? ? ? ? ClubID:社團(tuán)的唯一標(biāo)識(shí)號(hào)碼,注冊(cè)的時(shí)候自動(dòng)生成,不能修改
? ? ? ? ? ClubName:社團(tuán)名字
? ? ? ? ? ClubQQ:與社團(tuán)對(duì)應(yīng)的QQ群號(hào)碼
? ? ? ? ? ClubAdmin:社團(tuán)管理員(外鍵)
? ? ? ? ? ClubNotice:社團(tuán)公告,預(yù)留字段
3 GameDB
? ? ? 這個(gè)DB主要存儲(chǔ)玩家的游戲相關(guān)信息,例如游戲積分,勝局,和局,逃局,登陸時(shí)間等信息。
? ? ? 1. GameScore
? ? ? ? ? UserID:玩家標(biāo)識(shí)號(hào)碼
? ? ? ? ? Score:玩家的積分?jǐn)?shù)值
? ? ? ? ? WinCount:游戲勝利局?jǐn)?shù)
? ? ? ? ? LostCount:游戲輸局局?jǐn)?shù)
? ? ? ? ? DrawCount: 游戲和局局?jǐn)?shù)
? ? ? ? ? FleeCount: 游戲逃跑局?jǐn)?shù)
? ? ? ? ? UserRight:玩家在此游戲中的普通權(quán)限數(shù)值,在登陸房間的時(shí)候與玩家房間權(quán)限進(jìn)行或操作
? ? ? ? ? ManageRight:玩家在此游戲中的管理權(quán)限數(shù)值,在登陸房間的時(shí)候與玩家房間權(quán)限進(jìn)行或操作
? ? ? ? ? PlayTimeCount:玩家在此類游戲中的游戲時(shí)間
? ? ? ? ? AllLogonTimes:玩家進(jìn)入此類游戲的總次數(shù)
? ? ? ? ? RegisterDate:玩家首次進(jìn)入此類游戲的時(shí)間
? ? ? ? ? LastLogonDate:玩家最后一次進(jìn)入此類游戲的時(shí)間
? ? ? ? ? RegisterIP:玩家首次進(jìn)入此類游戲的 IP 地址
? ? ? ? ? LastLogonIP:玩家最后一次進(jìn)入此類游戲的IP 地址
? ? ? ?2.?GameLogonLog:
? ? ? ? ? ID:Log的索引ID,自增長。
? ? ? ? ? UserID:外鍵,玩家 ID 號(hào)碼
? ? ? ? ? Score:玩家進(jìn)入房間時(shí)刻的積分?jǐn)?shù)值
? ? ? ? ? WinCount:玩家進(jìn)入房間時(shí)刻的游戲勝利局?jǐn)?shù)
? ? ? ? ? LostCount:玩家進(jìn)入房間時(shí)刻的游戲輸局局?jǐn)?shù)
? ? ? ? ? DrawCount:玩家進(jìn)入房間時(shí)刻的游戲和局局?jǐn)?shù)
? ? ? ? ? FleeCount:玩家進(jìn)入房間時(shí)刻的游戲逃跑局?jǐn)?shù)
? ? ? ? ? KindID:玩家進(jìn)入的房間的類型標(biāo)識(shí)號(hào)碼?
? ? ? ? ? ServerID:玩家進(jìn)入房間的房間標(biāo)識(shí)號(hào)碼
? ? ? ? ? ClientIP:玩家進(jìn)入房間的連接IP地址
? ? ? ? ? LogonTime:玩家進(jìn)入房間的時(shí)間
? ? ? ?3.?GameScorelog:
? ? ? ? ? ID:LogID,自增長
? ? ? ? ? UserID:外鍵,玩家 ID 號(hào)碼
? ? ? ? ? LeftTime:玩家離開房間的時(shí)間
? ? ? ? ? Score:玩家在游戲房間游戲所產(chǎn)生的積分改變的數(shù)值
? ? ? ? ? WinCount:玩家在游戲房間游戲所產(chǎn)生的勝利局?jǐn)?shù)改變的數(shù)值
? ? ? ? ? LostCount:玩家在游戲房間游戲所產(chǎn)生的輸局局?jǐn)?shù)改變的數(shù)值
? ? ? ? ? DrawCount:玩家在游戲房間游戲所產(chǎn)生的和局局?jǐn)?shù)改變的數(shù)值
? ? ? ? ? FleeCount:玩家在游戲房間游戲所產(chǎn)生的逃跑局?jǐn)?shù)改變的數(shù)值
? ? ? ? ? Experience:玩家在游戲房間游戲所產(chǎn)生的經(jīng)驗(yàn)數(shù)值改變的數(shù)值
? ? ? ? ? PlayTimeCount:玩家在游戲房間游戲所產(chǎn)生的游戲時(shí)間的數(shù)值
? ? ? ? ? OnLineTimeCount:玩家在游戲房間游戲所產(chǎn)生的在線時(shí)間的數(shù)值
? ? ? ? ? KindID:玩家進(jìn)入的房間的類型標(biāo)識(shí)號(hào)碼
? ? ? ? ? ServerID:玩家進(jìn)入房間的房間標(biāo)識(shí)號(hào)碼
? ? ? ? ? ClientIP:玩家進(jìn)入房間的連接IP地址
轉(zhuǎn)載于:https://www.cnblogs.com/li_shugan/archive/2012/09/16/2687155.html
總結(jié)
以上是生活随笔為你收集整理的棋牌游戏服务器架构: 详细设计(三) 数据库设计的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 一个很不错的wp企业站模板
- 下一篇: 怎么检查男人不孕不育比较好?