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

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

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%
相似推荐
赛尔号后端
赛尔号是一款回合制抓精灵,以及精灵养成的游戏。深受孩子们的喜欢,其中精灵的收集过程,以及战斗都比较有趣,穿插seer主角的剧情线,玩家的留存率在行业内相对很高。由于当年太过火爆,腾讯照抄了一个《洛克王国》来和公司抢市场。
娱乐管理系统
1、系统包括客户端与服务器; 2、角色有开发者与爱好者以及两者兼顾; 3、客户端面向大众,ID是唯一标识; 4、提供聊天的场所(需联网); 5、作为开放平台,开发者享有开发益智游戏的权限与AI进行结合,可在平台进行交流; 6、作为娱乐平台,爱好者享有操作益智游戏的权限与AI进行结合,可在平台进行交流; 7、平台对使用者的数据进行采集,并生成报表; 8、系统配有健康模块系统,实时监测一举一动; 9、系统配备应用商城,开发者发布和爱好者操作可在商城中浏览、下载。
数独游戏
本数独游戏提供完整的游戏功能体系:1)​​核心游戏功能​​包括手动填数、错误提示、清空重玩等基础操作,严格遵循数独规则(每行、列、宫格包含1-9不重复数字);2)​​智能辅助系统​​包含自动解题算法(采用优化回溯法)、实时输入验证(限制1-9数字输入)和答案检查功能,可标记错误位置;3)​​难度控制系统​​通过挖空算法生成35-45个空格的初盘,保证题目有唯一解;4)​​可视化界面​​采用Tkinter实现彩色棋盘,使用不同背景色区分宫格,通过字体颜色区分初始数字和用户输入;5)​​状态反馈机制​​通过底部状态栏实时显示操作结果,配合弹窗提示解题进度。特色功能包括:随机生成不重复题目、解题过程动画展示(未来可扩展)、用户操作历史记录等。所有功能均针对大学生用户优化,平衡了挑战性和易用性,既适合数独新手学习规则,也能满足高手挑战需求。
基于AI的VR/AR互动音乐app-奏乐
身体动作驱动的音乐应用 1. 主界面与摄像头启动 用户点击应用图标进入主界面,默认开启前置摄像头(支持切换至后置摄像头)。 实时预览摄像头画面,并提示用户“将身体对准镜头开始演奏”。 2. 身体骨骼关键点识别 应用通过计算机视觉算法(如MediaPipe、OpenPose)实时检测用户身体的关键骨骼点(如手肘、手腕、肩膀、头部等)。 每个关键点的运动对应架子鼓的不同乐器(如: 左手挥动 → 踩镲(Hi-Hat) 右手挥动 → 军鼓(Snare Drum) 头部点头 → 底鼓(Bass Drum) 抬腿动作 → 吊镲(Crash Cymbal) 3. 动作驱动的音乐演奏 用户通过身体动作触发乐器声音,例如: 快速挥手 → 连续击打军鼓(连奏效果)。 大幅度跳跃 → 触发重音或特殊音效。 系统实时反馈声音,确保低延迟,增强沉浸感。 4. 设置界面(双击屏幕调出) 摄像头切换:前置/后置摄像头一键切换。 乐器配置:自定义每个身体部位对应的乐器(如将“头部点头”改为触发铜鼓)。 手动演奏模式:在设置界面中,用户可直接点击屏幕上的虚拟鼓面进行手动演奏。 5. 其他功能 灵敏度调节:适应不同用户的动作幅度(如儿童/成人)。 背景音乐:支持加载用户自定义的伴奏曲目,与动作演奏同步。 录制与分享:保存演奏片段并导出为视频或音频文件。
活动运营配置平台
基于以上原因,亟待开发一套通用可视化配置系统,能支持业务多维度资源配置,实现通过定义表单描述语言或者拖拽组件即可实现新页面的创建。 活动配置中心系统具有以下优点: - 定义了一套表单描述语法,整套界面支持可拖拽,操作便捷,支持多种数据结构,通用性强 - 支持配置数据数据同步,可以与业务方数据库表数据一一对应、实现了配置的读写分离 - 高性能 配置读取本地内存缓存,利用 Zookeeper 做实时更新,实时性强 - 高可用 sdk 支持配置持久化到本地文件快照,保证即使 server 不可用时业务端也能读取文件快照对外提供服务
帮助文档   Copyright @ 2021-2024 程序聚合 | 浙ICP备2021014372号
人工客服