《精编》CS架构的服务器设计与实现过程

上传人:tang****xu4 文档编号:133336181 上传时间:2020-05-26 格式:PPT 页数:21 大小:336KB
返回 下载 相关 举报
《精编》CS架构的服务器设计与实现过程_第1页
第1页 / 共21页
《精编》CS架构的服务器设计与实现过程_第2页
第2页 / 共21页
《精编》CS架构的服务器设计与实现过程_第3页
第3页 / 共21页
《精编》CS架构的服务器设计与实现过程_第4页
第4页 / 共21页
《精编》CS架构的服务器设计与实现过程_第5页
第5页 / 共21页
点击查看更多>>
资源描述

《《精编》CS架构的服务器设计与实现过程》由会员分享,可在线阅读,更多相关《《精编》CS架构的服务器设计与实现过程(21页珍藏版)》请在金锄头文库上搜索。

1、姓名 孔德帅 CS架构的服务器设计与实现过程 主要内容 系统框架应用服务器设计功能服务器设计应用服务器与功能服务器之间的通信插件机制消息管理实现过程 一CS服务器系统框架 C S四层框架 功能服务器1 功能服务器2 功能服务器3 应用服务器 客户端 数据库1 数据库2 一应用服务器设计 功能定位 应用服务器 转发所有的功能请求给功能服务器 并处理所有的非功能请求 并管理终端用户 进行状态保持 日志记录等 二应用服务器结构 UI用户界面 用户管理模块 网络通讯模块 消息处理模块 消息分配模块 多连接池管理 功能服务器 功能服务器 Tcp Udp 基本消息处理器 事件记录 三应用服务器结构 UI用

2、户界面 1用于显示当前连接的用户 和每个用户正在请求的服务2用户显示当前注册的功能服务器 和每个功能服务器的当前状态 用户管理模块 用于管理所有在线用户的状态 并对用户作定时掉线检查网络通讯模块 主要作用是接收客户端来的消息 不作任何处理直接转发给消息处理模块 消息处理模块 对消息信息进行 解密 解压 验证等消息分配器 根据消息的类别 基本请求 功能请求 将基本请转发给基本消息处理器处理 而将功能请求通过连接池管理者转给功能服务器进行处理基本消息处理器 用于处理非功能请求 如登录请求 退出请求等日志记录模块 将一些重要的事件信息写入到Windows的事件日志中或日志 一功能服务器 功能服务器

3、处理并且仅处理所有的功能性请求 不参与用户管理 状态保持等 提供最纯粹的功能服务 二功能服务器结构 UI用户界面 网络通讯模块 消息分配模块 功能插件管理模块 消息处理模块 功能插件 功能插件 功能插件 事件记录 三功能服务器结构 网络通讯模块 主要作用是接收客户端来的消息 不作任何处理直接转发给消息处理模块 消息处理模块 对消息信息进行 解密 解压 验证等消息分派模块 将从通讯模块来的字节流分裂为一个或多个请求消息 然后调用对应的功能插件来处理 并将处理点结果返回给通信模块 最后由通信模块发送给客户端 UI用户界面 用于显示当前的连接 和每个连接上正在请求的服务 并控制加载的各个功能插件的相

4、关信息 功能插件管理模块 用于加载 管理所有的功能插件 日志记录模块 将一些重要的事件信息写入到Windows的事件日志中或日志 一应用服务器与功能服务器之间的通信 应用服务器和功能服务器之间的所有功能通信是通过TCP连接池进行的 在这种情况下 应用服务器是主动联系功能服务器 应用服务器和功能服务器之间的非功能通信通过Remoting的方式来完成 即当功能服务器启动时 将自己的地址信息通过应用服务器发布的远程服务接口告诉给应用服务器 然后应用服务器再根据这个地址去和功能服务器建立TCP连接池 在非功能通信中 是功能服务器主动联系应用服务器 所以功能服务器不需要发布远程服务接口 功能服务器只需要

5、知道应用服务器发布的远程服务的地址即可 服务器的配置文件中 通常这个服务地址记录在功能 二应用服务器与功能服务器之间的通信保障 第一种情况 当功能服务器正常工作一段时间后重启每次功能服务器启动 重启时都向应用服务器发送 我启动了 的消息 这样应用服务器就去主动与功能服务器建立Tcp连接池或恢复已存在的连接池 第二种情况是应用服务器重启 功能服务器通过Remoting定时给应用服务器发送心跳包 当发生Remoting异常时 功能服务器就知道应用服务器掉线了 应用服务器掉线后 功能服务器就定时给应用服务器发送 我启动了 的消息 直到应用服务器重启完毕 第三种情况是网络断开后恢复 应用服务器定时检测

6、不到功能服务器发送的心跳包 应用服务器就当功能服务器下线 功能服务器Remoting不到应用服务器 功能服务器就当应用服务器掉线了 当网络恢复的时候 功能服务器重新向应用服务器发送 我启动了 的消息 一插件机制 插件又称为扩展 是一种特殊的组件 用于增强和扩展基本框架的行为能力 插件和框架的通信协议是一组接口 插件的各种特性都可以通过该接口进行访问 插件主要有如下特点 1 一个插件是一个独立的物理单元 它可以独立的提供一项完整的服务 功能 而不需要依赖于其它插件 2 插件能自我描述 插件的所有对外的发布信息都由插件自己内部提供 而不依赖于外部文件或注册表 3 插件能自我管理 插件如果需要配置信

7、息 则插件自己能读取和修改配置信息 而不是框架来完成这些事情 4 插件自我独立 一个插件不得引用其它的插件 如果一个插件与另一个插件关系紧密 那么应该将这两个插件合成一个插件 或者重新分解为两个独立的插件 二插件机制实现 1 获取插件目录下的每个插件 DLL 2 通过Assembly LoadFrom加载一个插件3 通过反射Type IsSubclassOf查看其是否实现了某种插件类型的接口4 通过Activator CreateInstance来实例化一个插件对象通过这四个步骤就可以实现一个简单的插件系统 六消息管理 消息格式定义 消息 消息体 消息头消息拦截器 对消息进行拦截 加密 压缩等消息监视器 验证接收到的每个消息格式是否正确 消息是否合法 消息是否符合特定规格消息分派器 统一调用消息拦截器 监视器 对消息加工处理 然后将消息分配到对应的消息处理器上消息处理器 处理特定类型的消息 消息处理模块 事件记录 消息处理模块 服务器的实现过程 应用服务器 网络组件 TCP UDP 消息分配器 加密 解密 压缩 解压 日志记录 消息合法检测 消息处理器工厂 基于连接池的消息处理器 消息处理器2 功能服务器 网络组件 TCP UDP 功能插件1 功能插件2 谢谢

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号