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

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

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%
相似推荐
鲜果运营小程序
用于鲜果公司内部的,主页提供市场服务、物业系统、经营工具,每项目点进去实现具体信息的记录和查询,关联相应的审批流。市场服务主要用于车辆、活动和账户信息,物业用于公司日常的登记、过磅、台账和流水,经营工具是做一些数据的整体管理和统计。
粮食收购点出入口系统-粮食收购点出入口系统
1.为了乡镇粮食收购点的业务功能如:出入库、记录库存、统计查询使用方便 2.满足多个收购点多租户登录使用 3.满足多个品种地磅进行系统适配使用 4.满足多个品牌摄像头接入 5.能够进行实时小票打印,包含销售模块、收购模块,能够根据小票的二维码快速查询信息
江西省人民医院医疗廉洁防控平台
对接医院信息系统,自动归集:处方、医嘱、药品耗材使用、检查检验申请、收费结算、耗材采购、设备采购、患者就诊、医保结算等全量业务数据,形成医疗行为大数据池。 内置风控规则模型,自动筛查异常行为并预警:大处方、重复开药、高频开同类检查、耗材异常使用、同一医生高频开具特定药品 / 耗材、超适应症检查、医保违规结算等;按风险等级分为红 / 黄预警,自动推送至医务、医德医风办、纪检部门。
课表查询(正方教务系统多校适配版)
高校教务系统(正方 jwglxt 等)是学生查询课表、成绩、考试安排的唯一官方入口, 但普遍存在四个现实问题:一是登录需 RSA 加密加密并对接 CSRF 令牌,页面为服务端 渲染的复杂表格,手机浏览器打开体验极差;二是课表的单双周、分段奇偶、调休与临时 停课信息只能靠学生自己推算,极易看错;三是成绩与绩点口径混乱,挂科课程常被错误 计入"已获得学分",导致学生无法与学校数字对账;四是空教室只能逐节次手工查询, 效率极低。学生每周都要反复核对课表与空教室,却缺少一个能在手机上清晰查看、并可 一键导入系统日历的工具。本项目立项,即为解决高校学生在课表、成绩、考试、空教室 四类高频信息上的查询成本问题。
WPF上位机-上位机SCADA/HMI
🌟 核心架构与技术亮点 (Architecture Highlights) 🔄 内存级环形缓冲区 :采用手搓环形队列实现高频采集与消费解耦,极大地降低 C# 垃圾回收 (GC) 压力支撑界面流畅渲染。 ⚡ 自研轻量级数据核心 :轻量级内存数据核心,高性能内存状态机,实时采集点位高速路由,实时状态响应与事件报警分发。 ⏱️ 自适应时间补偿 :基于高精度 Stopwatch 计时,动态修正采集调度周期,抑制高频采集任务的时间漂移与时序抖动 🔒 无饥饿并发控制 :基于轻量级异步锁+线程池隔离策略,PLC通信负载与UI线程解耦。
帮助文档   Copyright @ 2021-2024 程聚宝 | 浙ICP备2021014372号
人工客服