h5熟人棋牌系统架设平台服务器架构设计分析

Posted demoweb

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了h5熟人棋牌系统架设平台服务器架构设计分析相关的知识,希望对你有一定的参考价值。

h5熟人棋牌系统架设(aqiulian.com/h5),QQ咨询212303635模仿COM组件接口模式,利用面向对象思想多态性polymorphism,调用方保存着被调用方的基础接口指针(interface or sink钩子)(Pure Virtual Function),调用方直接调用接口指针内声明的纯虚方法,而此纯虚函数的具体逻辑由该接口的派生类实现。

示意图:

技术分享图片

 

基于事件驱动的数据处理模型

在系统功能设计中,针对网络事件SocketEvent、数据库事件DatabaseEvent、定时器事件TimerEvent……的数据处理,建立数据队列服务QueueService,为每一队列建立多个子线程QueueServiceThread处理。数据队列服务提供添加事件数据的方法AddToQueue,设置数据队列服务钩子SetQueueServiceSink,由数据队列服务钩子QueueServiceSink执行具体逻辑事件的数据处理。
示意图:

技术分享图片
再者,根据网络、数据库等特定功能,构建网络、数据库等管理服务,实现数据队列服务钩子QueueServiceSink方法,调度事件数据执行外部处理接口,外部处理接口具体由二次开发用户实现。

示意图:

技术分享图片

 

事件数据设计

技术分享图片

 

软件体系结构(架构 Architecture)设计

技术分享图片

 

功能模块划分

技术分享图片

 

数据队列服务QueueService模块设计

    基本设计概念

    建立一个内存链表,保存事件数据,对外部提供方法(向链表添加事件数据并通知线程,同时启动多个处理线程,从数据链表里获取事件数据,执行外部钩子方法进行处理。线程事件通知采用完成端口技术。

    类与接口设计

技术分享图片

技术分享图片

 

内部类:

技术分享图片

 

中心服务器 名字 类名 继承 类型
  调度引擎钩子 CAttemperEngineSink : public IAttemperEngineSink 接口实现
  数据库引擎钩子 CDataBaseSink : public IDataBaseSink 接口实现
         
  中心服务类 CCenterService   核心类
  配置参数 CInitParamter   核心类
         
  连接信息结构 CConnectItem   数据管理
  连接信息管理 CConnectInfoManager   数据管理
  房间连接信息 CConnectItem_GameServer : public CConnectItem 数据管理
  广场连接信息 CConnectItem_Plaza : public CConnectItem 数据管理
         
  应用程序对象 CCenterServerApp : public CWinApp MFC
  主对话框 CCenterServerDlg : public CDialog MFC
  配置对话框 CSystemOptionDlg : public CDialog MFC
         
登陆、大厅 名字 类名 继承 类型
  调度引擎钩子 CAttemperEngineSink : public IAttemperEngineSink 接口实现
  数据库引擎钩子 CDataBaseSink : public IDataBaseSink 接口实现
  中心连接类 CCenterSocket : public IAsynchronismEngineSink,
 public IClientSocketSink
接口实现
         
  登录服务类 CLogonService   核心类
  配置参数 CInitParamter   核心类
         
  列表管理 CServerList   数据管理
  列表信息 CServerListInfo   数据管理
         
  应用程序对象 CLogonServerApp : public CWinApp MFC
  主对话框 CLogonServerDlg : public CDialog MFC
  配置对话框 CSystemOptionDlg : public CDialog MFC
         
游戏装载器 名字 类名 继承 类型
  服务参数类 CServiceParameter : public CDialog MFC/核心类
  配置参数 CInitParamter   核心类
         
  应用程序对象 CServiceLoaderApp : public CWinApp MFC
  主对话框 CServiceLoaderDlg : public CDialog MFC
  配置对话框 CSystemOptionDlg : public CDialog MFC
         
游戏服务框架 名字 类名 继承 类型
  调度引擎钩子 CAttemperEngineSink : public IAttemperEngineSink
public IGameServiceFrame
接口实现
  数据库引擎钩子 CDataBaseSink : public IDataBaseSink 接口实现
  中心连接类 CCenterSocket : public IAsynchronismEngineSink,
 public IClientSocketSink
接口实现






以上是关于h5熟人棋牌系统架设平台服务器架构设计分析的主要内容,如果未能解决你的问题,请参考以下文章

棋牌游戏服务器架构: 总体设计

微信房卡麻将棋牌架设之游戏服务器架构的详细设计 内核设计

分析h5牛牛制作服务器的架构(总体设计篇)

h5小游戏构建架设h5棋牌平台开发制作

2018年值H5二八杠棋牌架设框架和工具

H5十人牛牛架设游戏服务器架构: 内核设计