程序聚合 软件案例 APD网络协议分析与数据处理平台

APD网络协议分析与数据处理平台

2026-08-03 11:51:51
行业:工业互联网、企业内部管理
载体:H5、框架或代码包
技术:Rust、TypeScript、Vue、SQLite

业务和功能介绍

APD(Advanced Plugin-based Development Platform)是一个基于 Rust 的插件化网络协议分析与数据处理平台。立项背景是工业物联网、车联网等场景中存在大量私有二进制协议通信需求,传统方案每接入一种新协议都需从头开发通信、解析、业务三层代码,开发周期长且难以复用。平台目标是通过插件化架构将协议接入、数据转换、审查校验、转发分发等能力解耦为独立插件,实现功能灵活扩展与裁剪,无需重新编译即可动态加载或卸载插件。

核心功能模块包括:一是核心库(apd_core),提供配置管理、日志系统、消息总线、能力注册表、插件管理器等基础设施,自身不含业务逻辑;二是通信插件族,覆盖 HTTP、TCP、UDP、WebSocket、MQTT 五大协议,每个协议均实现服务端与客户端双角色,支持多实例并发;三是数据处理插件族,包含数据读取、数据生成、数据审查、数据转换、数据转发、二进制协议解析六个插件,覆盖数据全生命周期;四是工作流编排引擎,提供可视化 DAG 设计器,支持线性执行、拓扑排序并行、消息驱动三种执行模式;五是 Web 管理界面,基于 Vue 3 + Element Plus,提供仪表盘、协议配置、实例管理、工作流编排等可视化操作。

业务流程以典型 TCP 数据处理场景为例:用户在 Web 界面创建工作流工程与项目,在 DAG 画布上拖拽配置 TCP 接收节点、二进制解码节点、数据转换节点、审查节点、转发节点并连线,启动工作流后,TCP 插件接收网络数据,通过 thread_local 旁路通道传递原始字节给数据处理插件进行解码转换,审查插件校验数据质量后由转发插件路由到目标系统,全程通过仪表盘查看运行状态和执行日志。

项目实现

整体架构采用三层分层设计:客户端层(Web 前端 + CLI 工具)、服务程序(apd_server,提供 Management API 作为唯一接入入口)、核心层 + 插件层。核心库编译为 rlib + cdylib 双格式,rlib 让插件编译时获得完整类型布局,cdylib 通过 OS 动态链接器保证全局单例唯一。后端使用 Rust + Tokio 异步运行时 + Axum Web 框架 + libloading 动态加载 + serde 序列化 + SQLite 持久化,前端使用 Vue 3 + TypeScript + Element Plus + Vue Flow 工作流画布 + Vite 构建。

负责模块覆盖核心库 12 个组件(错误处理、配置管理、日志、消息总线、能力注册表、插件管理器、实例注册表等,全部 P0 完成)、5 大通信协议共 10 个能力接口、6 个数据处理插件(累计 99+ 单元测试)、工作流引擎 3 种执行模式、前端 10+ 功能面板及 5 个 E2E 测试用例、apd_server 服务程序和 apd_cli 命令行工具。

技术难点及解决方案:
第一,Windows MSVC 跨 DLL 调用 trait object vtable 索引 6 以上方法会触发访问冲突,通过设计 C ABI invoke 机制,将 extern "C" 函数指针编码到 ops_json 中,宿主侧解码后优先用 C ABI 调用,绕过 vtable 限制。
第二,多 DLL 环境下核心库单例唯一性,采用 rlib + cdylib 双格式策略,cdylib 确保进程内只有一份 OnceLock 静态变量,配合 get_or_init 延迟初始化。
第三,二进制协议数据高效传递,设计 RAW_OUTPUT thread_local 旁路通道,通信插件直接写入原始字节,工作流引擎提取后传给数据处理插件,避免不必要的 JSON 编解码,零拷贝传递。第四,跨 DLL 传递 Future 不安全,以同步 Plugin trait 为主,插件通过获取 tokio Handle 用 spawn 桥接异步任务,需要原生 async 的插件可选实现 AsyncPlugin trait,运行时通过 TypeId 检测切换。

示例图片视频


xc
30天前活跃
方向: 后端-C++、桌面端-Qt、
交付率:100.00%
相似推荐
quick_server
1、背景和目标:对企业所有服务请求进行轻量级安全和速度优化,减轻服务器的并发压力。 2、quick_server系统,不依赖外部引用,即插即用,主要用来进行极速快捷安全的http请求。大大减轻服务器的并发压力。轻松实现高并发场景下极速快捷安全的http请求。
json解析转换器
1、背景和目标:一、超级快速、安全对json的解析与对象转换;二、支持分布式超高并发 2、json解析转换器,支持分布式高并发,支持百万级别访问。用于快速进行json的解析与对象转换。原有的开源工具,要么安全性不够,要么性能不够强悍,要么不支持定制,很难满足企业日益严苛的业务需求。开发的这个json解析转换器,可以同时满足以上三种需求。
消息中心
1、背景和目标:解决高并发,对外提供统一的消息处理业务 2、功能模块介绍:六大功能模块:http通讯模块、缓存模块、消息队列模块、消息重试中心模块、消息调度模块、公共模块;对外百万级别并发项目,TPS可达1000/s。作为中间件,对外提供统一的消息处理业务。所有系统,包括电子签章平台、一照通行平台、一网通办平台,消息的请求和处理都经过消息中心。轻松实现异步、解耦、削峰。 3、功能描述:支持企业所有的内部系统接入,包括电子签章平台、一照通行平台、一网通办平台。轻松实现异步、解耦、削峰。
CRM客户管理后台
立项背景:针对中小型企业客户信息分散、销售跟进过程不透明、合同管理混乱等痛点,旨在打造一个轻量级的客户全生命周期管理后台,提升销售团队协作与转化效率。 核心功能:涵盖管理员登录鉴权、客户主表管理、联系人维护、跟进记录追踪、合同管理等六大模块。支持客户信息分页查询、关键字搜索、新增编辑与逻辑删除;客户详情页以名片形式集中展示联系人、跟进记录及关联合同。 业务流程:从潜在客户录入,到日常跟进记录,再到最终合同签订与操作日志审计,覆盖完整的销售业务闭环。
个人记账与资产管理平台
本项目是一套从零搭建的全栈个人财务管理平台,目标是替代功能单一的记账工具,把日常记账、资金账户、借贷往来、预算控制、资产盘点收敛到一个数据自主的系统中。系统由 12 个业务模块、23 个控制器、170 个 REST 接口、36 张数据表构成:记账核心支持三级分类树、商家联想、多平台支付与 CSV 批量导入导出,每笔账单自动联动账户余额并留存流水日志;借贷模块实现未结清 / 已结清 / 已放弃三态模型,支持分期还款与坏账核销;预算模块提供月度 + 年度双层体系与阶梯式执行规则;资产模块通过快照与趋势图呈现净资产变化;报表模块支持从月度 / 年度报表下钻到分类明细。系统还包含完整 RBAC 权限体系、软删除回收站、8 套主题实时切换与中英双语国际化。核心业务流程为:记一笔 → 余额幂等联动 → 报表与预算同步更新;借据从创建、关联账单凭证、分期还款到三态判定的完整生命周期;以及登录后由后端菜单树动态生成侧边菜单、路由与区块双重门控的权限链路。
帮助文档   Copyright @ 2021-2024 程聚宝 | 浙ICP备2021014372号
人工客服