程序聚合 软件案例 一点通服务器:分接入服务器和业务服务器两大模块

一点通服务器:分接入服务器和业务服务器两大模块

2025-05-04 22:25:20
行业:生活服务、社交
载体:Windows应用
技术:C++、PHP

业务和功能介绍

负责一点通接入服务器和业务服务器全部代码编写, 负责确保服务器的稳定性和正确性
的前提下, 不断地优化服务器的性能, 负责测试客户端代码的编写(采用MFC编写), 负责与测试人员的沟通和交流, 负责维护服务器运维过程中出现的BUG
负责公司整个服务器代码的编写, 服务器用Linux c++开发, 该服务器目前正在联通上线(服务器分接入服务器和业务服务器两种), 负责测试客户端的编写, 客户端使用MFC来开发, 目前该服务器能够达到稳定运行, 无明显的内存泄漏, 对客户端的连接和服务器的业务处理可以做到负载均衡, 对服务器的架构和整个服务器的业务流程非常了解(包括客户端的连接, 接入服务器消息的分发, 业务服务器业务的处理), 目前和联通合作的推送服务器已经做到了二期的版本, 即将开发做第三期的开发, 接入服务器和业务服务器通过部署多个实例来达到缓解服务器压力的目的, 业务服务器的推送任务包括任务的翻译和推送两个流程, 为了减缓数据库查询的压力, 发送给客户端的推送消息又分为主动推送和被动推送两种, 主动推送即业务服务器通过接入服务器序号和客户端连接socket主动地把消息推送给客户端, 而被动推送即客户端来一个请求才发送一个任务推送给客户端

项目实现

1、【接入服务器】
1.1、接入模块: 采用epoll模式来支持客户端的大并发连接
1.2、消息接收模块: 使用链式队列来保存epoll触发所返回的socket id, 采用哈希表来保证线程池中线程接收消息的唯一性, 使用消息缓存来保证一次接收客户端消息的完整性, 使用顺序队列来保存接收到完整的客户端消息
1.3、业务服务器路由模块: 根据业务服务器配置文件来连接所有的业务服务器, 并产生相应的接收线程来接收业务服务器的消息
1.4、超时检测模块: 此模块可以检测业务服务器忙碌与否(通过客户端发包的时间与当前的时间做比较, 如果业务服务器返回数据包, 会删掉此对应的消息包)
1.5、接入服务器重连机制: 此模块使得接入服务器与业务服务器断开时避免重启接入服务器, 并通过轮询业务服务器配置文件来连接新的业务服务器
1.6、消息分发模块: 采用线程池的方式, 负责客户端消息的分发(通过消息类型, 主业务码和子业务码来路由到相应的业务服务器中), 此模块采用负载均衡的方式, 如果当前业务量很大的话, 可以加大业务服务器(软)的数量
1.7、客户端消息分发模块: 取出接收到的业务服务器消息包中的接入服务器序号和消息计数器信息, 从哈希表中找到相对应的socket id, 并且分发到对应的客户端中
1.8、心跳检测模块: 通过客户端连接时间和当前时间做比较(如果客户端发送了数据包, 会修改对应的客户端连接时间), 如果超过一定的时间, 会主动把客户端断开
备注: 如果当前接入服务器的连接数量过大的话, 可以适量添加接入服务器(软)的数量

2、【业务服务器】
2.1 【通用业务服务器】(与接入服务器的交流是双向的)
2.1.1、接入模块: 负责与接入服务器的连接, 每一个接入服务器连接都会产生接收线程(对应queue_in消息队列), 发送线程(对应queue_out消息队列)和处理

示例图片视频


程序员
30天前活跃
方向: 后端-C++、爬虫/脚本-爬虫/脚本、
交付率:100.00%
相似推荐
益智游戏类 App-Dexter Memory
1、立项背景和目标 背景: 不同人群均面临记忆与认知挑战,缺乏综合性训练工具。 目标: 开发一款适用于多年龄段的智能记忆助手,通过科学训练提升用户的记忆力、创造力及沟通效率。 2、软件功能、核心功能模块的介绍 记忆训练场: 核心模块,运用记忆宫殿法等技巧,专项训练单词、人名记忆。 创意思维工坊: 提供联想游戏等,激发用户(尤其是儿童)的创造性思维。 家庭协作中心: 内置共享日历与亲子任务,帮助家庭管理日程并改善沟通。 3、业务流程、功能路径描述 用户路径(以专业人士为例): 选择训练目标(如记人名) → 进入“记忆训练场”进行联想与练习 → 系统根据算法推送复习 → 在档案中查看能力成长报告。 家庭用户路径: 父母创建家庭组并分享日程 → 孩子接收提醒并查看 → 共同完成创意挑战任务,在互动中加强联系。
英雄联盟赛事直转播支持系统-实时胜率预测
项目概览: 作为全栈开发者及项目负责人,我主导设计了英雄联盟赛事直播数据中台系统。该系统通过高频采集比赛数据,结合实时计算与机器学习模型,生成胜率预测等关键数据,为直播提供动态数据面板,成功支撑顶级赛事直播。 一、 业务价值 提升观赛体验:通过动态数据可视化增强比赛悬念与观众参与感 赋能专业解说:为解说席提供实时数据支撑,提升内容专业性 树立技术标杆:以前沿的数据能力提升赛事品牌形象 二、 核心功能实现 1. 实时胜率预测 构建多维度特征模型,涵盖经济差、资源控制、阵容强度等关键因素 基于历史比赛数据训练,采用混合模型平衡准确率与实时性 实现毫秒级响应,满足直播低延迟要求 2. 经济与装备对比 利用Redis实现毫秒级数据聚合与同步 基于事件驱动架构,实时追踪装备更新与关键道具成型 三、 技术方案 技术栈: 后端:PHP(Laravel) 实时通信:WebSocket/SSE 数据层:Redis、Python(Pandas/NumPy) 部署:Docker容器化 工程难点攻克: 通过微服务架构与Redis Pub/Sub应对高并发场景 设计数据校验与自修复机制保障数据可靠性 建立故障自动转移与降级方案确保系统永续运行
看图猜成语-微信小程序
本项目是一款基于微信小程序的成语学习与竞猜应用,通过图像提示引导用户猜测对应成语,兼具趣味性与知识性,帮助用户在游戏中学习成语、提升文化素养。 核心功能模块包括: 微信一键登录:用户授权后快速进入游戏。 闯关答题:每关展示一张图像,用户从汉字选项区选择4个字组成成语。 实时反馈:答案正确自动进入下一关,错误则提示并允许重新选择。 进度保存:记录用户通关进度,支持中途退出后继续挑战。 分享功能:通关后可分享成绩给微信好友,增强社交传播。 排行榜:展示用户闯关排名,激发竞争意识。
传奇手游
这款 3D 传奇手游深度还原经典核心玩法,以高清 3D 画质重塑热血玛法大陆。复刻战法道铁三角职业,技能特效炫酷炸裂,野外自由 PK、热血攻沙战一触即发。支持装备自由交易、打怪爆装无绑定,更有经典 BOSS 挑战、行会抱团、师徒组队等玩法。沉浸式 3D 场景搭配怀旧音效,让你重拾当年刷怪升级、兄弟并肩的传奇热血,随时随地畅享酣畅战斗!
3dmigoto_Automatic
业务和功能介绍 立项背景和目标 该项目源于3dmigoto框架在游戏Mod管理中的复杂配置流程。传统方式需要用户手动配置路径、版本和参数,操作门槛高且容易出错。本项目旨在开发一个轻量化、绿色化、自动化的智能工具,简化3dmigoto的使用流程,让普通玩家也能轻松管理游戏Mod。 核心功能模块 1.多版本支持系统 - 内置3dmigoto-GIMI、SRMI、WWMI、ZZMI等多个版本的开发版和游玩版 2. 智能路径搜索 - 快速搜索(0-10秒)和全局搜索两种模式,自动定位游戏文件 3. 自动化配置引擎 - 自动配置d3dx.ini等必要文件,无需手动操作 4. 稳定性保障机制 - 防闪退设计、分段加载、网络调控等系统优化 5. 实用工具集 - 运行库安装、脚本支持、一键修复、Mod自动分类等功能 业务流程 用户下载工具 → 自动检测系统环境 → 智能搜索游戏路径 → 选择对应版本 → 自动化配置 → 一键启动使用 → Mod文件自动分类管理
帮助文档   Copyright @ 2021-2024 程聚宝 | 浙ICP备2021014372号
人工客服