網狐棋牌遊戲服務端架構設計原理

2021-05-23 09:34:06 字數 801 閱讀 6482

本文** http://blog.csdn.net/dotnet90/archive/2009/05/05/4152401.aspx

基本設計概念和處理流程

呼叫模型

利用物件導向思想多型性,呼叫方儲存著被呼叫方的基礎介面指標(一般稱呼為 鉤子),呼叫方直接呼叫介面指標裡面方法,方法具體實現邏輯由

該介面的派生類實現.示意圖:

基於事件驅動的資料處理模型

為系統功能設計,需要處理網路事件資料socketevent,資料庫事件資料databaseevent,定時器事件資料timerevent等,為此建立資料佇列服

務queueservice,為每一佇列建立多個子執行緒queueservicethread處理。資料佇列服務提供新增事件資料方法addtoqueue,設定資料佇列服務鉤

子setqueueservicesink,讓資料佇列服務鉤子queueservicesink做具體邏輯事件資料處理。

示意圖:

再者,根據網路,資料庫等特定功能,構建網路,資料庫等管理服務,實現資料佇列服務鉤子queueservicesink方法,排程事件資料執行外部處

理介面,外部處理介面具體由二次開發使用者實現。示意圖:

事件資料設計

框架體系設計

功能模組劃分

資料佇列服務queueservice模組設計

基本設計概念

建立乙個記憶體鍊錶,儲存事件資料,對外部提供方法往鍊錶新增事件資料並通知執行緒,同時啟動多個處理執行緒,從資料鏈表裡獲取事件資料,執行外部鉤子方法進行處理.執行緒事件通知採用完成端**術.

類與介面設計

介面設計

網狐棋牌遊戲服務端架構設計原理

基本設計概念和處理流程 呼叫模型 利用物件導向思想多型性,呼叫方儲存著被呼叫方的基礎介面指標 一般稱呼為 鉤子 呼叫方直接呼叫介面指標裡面方法,方法具體實現邏輯由 該介面的派生類實現.示意圖 基於事件驅動的資料處理模型 為系統功能設計,需要處理網路事件資料socketevent,資料庫事件資料dat...

棋牌遊戲伺服器架構設計

一,棋牌類伺服器的特點 1,棋牌類不分割槽不分服 一般來說,棋牌遊戲都是不分割槽不分服的。所以棋牌類伺服器要滿足隨著使用者量的增加而擴充套件的需要。2,房間模式 即在同一局遊戲中就是在同乙個房間中,同乙個房間中的人可以接收到其他人的訊息。3,每個房間的操作必須是順序性 這個特性類似與一般遊戲的回合制...

遊戲伺服器架構設計

一 棋牌類伺服器的特點 1,棋牌類不分割槽不分服 一般來說,棋牌遊戲都是不分割槽不分服的。所以棋牌類伺服器要滿足隨著使用者量的增加而擴充套件的需要。2,房間模式 即在同一局遊戲中就是在同乙個房間中,同乙個房間中的人可以接收到其他人的訊息。3,每個房間的操作必須是順 序性 這個特性類似與一般遊戲的回合...