简介
采用标准 C++ 开发一套插件化多线程通用数据采集框架 。框架本身负责底层通信、多线程调度、文件传输、数据库持久化、日志与异常重试;各类业务逻辑拆分为独立插件模块,按需嵌入框架。 本框架在广东省江门市新会区公安分局智能卡口、电子警察项目 投入现场运行十余年,长期稳定无故障。不仅可以用于道路卡口、电子警察车牌识别数据采集,任何数据采集场景,只要开发对应的业务插件,即可接入这套框架。结构化数据支持写入 Oracle / MySQL,抓拍文件通过 FTP 协议上传图片服务器;服务可部署为 Windows 系统服务或 Linux 守护进程,单服务器可承载多路采集点位,适配机房、现场工控环境无人值守运行。
一、项目设计思路
将底层通用能力 和上层业务逻辑解耦:
-
框架底座(固定不变) :多线程调度引擎、网络IO、数据库适配层、FTP文件上传、日志系统、异常重试、进程保活。这一层是通用基础设施,一次性开发完成。
-
业务插件(按需开发)
:不同业务场景单独编写独立业务模块,以插件形式接入框架。
举例:
- 插件A:卡口电子警察业务 → 解析车牌号码、车牌颜色、卡口点位信息
- 插件B:传感器环境采集业务 → 温湿度、压力、设备状态采集
- 插件C:工业设备工控采集业务 → 产线设备参数采集
新增采集场景,不需要改动底层框架代码,只开发对应业务插件即可接入使用,复用底层多线程、入库、FTP上传全部能力。
二、技术要点
-
开发语言:标准C++,无重型第三方框架依赖,跨平台兼容性强
-
并发架构:多线程模型,单台服务器可同时管理多路采集点位,承载点位数量可根据服务器硬件配置弹性调整
-
数据存储适配层
- 接收插件输出的结构化采集数据;
- 兼容 Oracle数据库 / MySQL数据库,实现数据持久化写入、查询;
-
文件传输模块 :采集图片/附件,采用 FTP协议 上传至远端图片/文件服务器,自带网络异常重试机制;
-
部署形态 ✅ Windows:编译注册为系统后台服务,机房、现场工控机无人值守运行 ✅ Linux:部署为daemon守护进程,长期稳定后台运行
-
容错机制:网络中断、数据库连接失败、FTP上传失败自动重试,完整日志记录,最大程度防止采集数据丢失。
三、系统数据流

四、个人职责
- 整体架构设计,实现框架与业务插件解耦,做到底层框架复用,业务逻辑模块化插拔;
- 基于标准C++开发多线程调度引擎,实现多路采集点位并发处理;
- 封装数据库适配层,兼容Oracle、MySQL,支持结构化采集数据写入;
- 开发FTP文件上传模块,处理网络抖动场景下的断点重试;
- 完成跨平台适配:支持打包为Windows系统服务、Linux守护进程;
- 稳定性测试,调优多线程调度策略,评估单服务器最大承载点位;
- 编写部署文档、插件开发规范、运维手册,方便后续扩展新业务采集场景。
五、项目亮点
- 插件化通用框架:不是单一业务项目,是一套可复用的数据采集底座。新增采集场景只需要开发业务插件,底层能力全部复用,极大降低后续项目开发成本;
- 软硬工程落地属性:不是纯Demo代码,可直接部署在现场工控机、机房服务器,兼顾开发+现场运维能力;
- 双数据库兼容:同时支持Oracle、MySQL,高度契合政企、电力、工厂传统信息化项目的数据库环境;
- 跨平台部署:Windows/Linux双环境支持,适配老旧机房Windows服务器,也可以部署Linux环境;
- 自带运维能力:内置异常重试、日志记录,适合7×24小时无人值守的采集类项目。