中间件_设计文档

中间件_设计文档

ID:43079540

大小:1.96 MB

页数:46页

时间:2019-09-26

中间件_设计文档_第1页
中间件_设计文档_第2页
中间件_设计文档_第3页
中间件_设计文档_第4页
中间件_设计文档_第5页
资源描述:

《中间件_设计文档》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、中间件一设计文档33.1引言21・1编写目的21.2背景233.2总体设计2需求规定2运行环境223开发环境22.4.1基本设计概念和处理流程2调用模型2基于云服务器的数据处理模型3事件数据设计3框架体系设计42.4.2功能模块划分433.3模块详细设计53.1数据队列服务QueueService模块设计51.基本设计概念52.类与接口设计51运行流程93・2网络引擎TCPSocketEngine模块设计9网络重叠完成端口IOCP简介9基本设计概念10网络数据命令包结构设计11网络数据加密设计11类与接口设计12数据库引擎DataBase

2、Engine模块设计12基本设计概念12类与接口设计123.3.3运行流程24定时器引擎TimerEngine模块设计24基本设计概念24类与接口设计24运行流程27调度引擎AttemperEngine模块设计28基本设计概念28类与接口设计28运行流程32异步引擎AsynchronismEngine模块设计32基本设计概念33362类与接口设计333.6.3运彳丁流程363.7服务引擎ServiceEngine模块设计373.7.1基本设计概念373.7.1类与接口设计373.7.3运行流程42引言编写目的方便二次开发人员理解服务器核心

3、技术背景为一般游戏服务器设计的核心模块本项H的任务开发者:Godzilar系统使用用户:游戏服务器二次开发人员总体设计需求规定3.4.1系统功能提供网络服务接口擞据库访问接口,定时器接口,并提供调度钩了接口,让二次开发人员调甩更多精力处理游戏逻辑3.4.2系统性能网络负载支持2000同时在线连接以上数据库访问支持100并发访间定时器时间粕:度达25msZ内2.5运行环境硕件平台:x86体系结构软件平台:Window2003操作系统2.6开发环境开发工具:VisualC++2003开发语言:C++2.7基本设计概念和处理流程2.4.1调用模

4、型利用面向对象思想多态性,调用方保存着被调用方的基础接口指针(一般称呼为钩子),调用方直接调用接口指针里而方法,方法具体实现逻辑由该接口的派生类实现.示意图:2.4.2基于云服务器的数据处理模型为系统功能设计,需要处理网络事件数据SockctEvcnt,数据库事件数据DatabascEvcnt,定时器事件数据TimerEvent等,为此建立数据队列服务QueueService,为每一队列建立多个子线程QueueServiceThread处理。数据队列服务提供添加事件数据方法AddToQueue,设置数据队列服务钩了SeiQueueServ

5、iceSink,让数据队列服务钩了QueueServiceSink做具体逻辑事件数据处理。示意图:再者,根据网络,数据库等特定功能,构建网络,数据库等管理服务,实现数据队列服务钩子QueueServiceSink方法,调度事件数据执行外部处理接口,外部处理接口具体由二次开发用户实现。示意图:2.4.3事件数据设计名称描述类型定时器事件TimerEvent根据时间间隔,定期产生自发,被动数据库事件DalabaseEveni请求访问数据库用户白定义,主动网络应答事件SocketAcceptEvent客户端连接网络服务,成功连接口发,被动网络读

6、取事件SocketReadEvent客户端发送数据,网络服务成功读取自发,被动网络关闭事件SocketControIEvent客户端失去连接自发,被动控制事件ControlEvent用户自定义控制服务用户自定义,主动2-4.4框架体系设计2.5功能模块划分名称描述开发优先数据队列服务QueueService外部接受输入事件数据,内部实现事件数据链表保存与管理,处理子线程从链表获取事件数据调用数据队列钩子方法处理事件数据1网络引擎TCPSocketEngine实现数据队列服务钩子方法,管理网络事件数据,内部启动网络服务器监听服务,接收与发送

7、网络数据,并调用网络处理钩子进行逻辑处理9数据库引擎DataBaseEngine实现数据队列服务钩子方法,管理数据库事件数据,并调用数据库处理钩子进行逻辑处理,还提供数据库访问的帮助类2定时器引擎TimerEngine实现设置定时,删除定时请求,发生定时事件2调度引擎接收,调度与管理网络聊件数据,数据库事件数据,定时2AttemperEngine器事件数据,自定义调度事件数据异步引擎AsynchronismEngine设置多个数据处理钩子,异步接收请求并处理2服务引擎ServiceEnginc管理网络引擎,数据库引擎,定时器引擎,调度引擎

8、,异步引擎33模块详细设计3.1数据队列服务QueueService模块设计3.1.1基本设计概念建立一个内存链表,保存事件数据,对外部提供方法往链表添加事件数据并通知线程,同时启动多个处理线

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。