程序聚合 软件案例 MixIot统计计算服务,基于工业设备的事件流消息数据,以特定的算法做实时的计算

MixIot统计计算服务,基于工业设备的事件流消息数据,以特定的算法做实时的计算

2025-11-21 11:41:40
行业:物联网
载体:网站
技术:Go、MQTT

业务和功能介绍

项目背景:

在工业物联网(IIoT)快速发展的当下,工业生产场景中设备数量激增,生产数据呈现出海量、实时、多维度的特点。企业对生产过程的精细化管控需求日益迫切,不仅需要实时获取设备运行数据,更需要对这些数据进行快速运算处理,以生成如设备用量、运行耗时、积分等具有业务价值的信息,为生产调度、质量管控、设备维护等决策提供支撑。​

功能包括:通过TCP订阅设备数据,接收数据并实时计算,计算算法实现(读数转用量,耗时统计等),数据过滤算法实现,计算结果持久化,重算队列实现

业务流程:

1. 通过 TCP 协议与消息队列(MMQ)建立连接,准备订阅设备生产数据
2. 从数据库加载计算模型并初始化计算项目
3. 从备份快照恢复数据到内存
4. 启动周期性的持久化任务协程
5. 启动重算重算协程池
6. 启动备份快照到磁盘协程
7. 发起数据订阅
8. 启动数据接收协程,并接收数据
9. 数据条件匹配和过滤
10. 调用计算算法,并将结果实时更新到内存
11. 周期性的任务协程从内存加载结果持久化到数据库
12. 客户端通过API请求相对应的结果数据

项目实现

架构风格:事件驱动 + 采用分层设计 核心模块解耦,通过消息队列和协程池实现异步处理。

模块划分及技术栈
1. 通信接入层
职责:负责与外部系统建立连接和数据接收

TCP客户端连接管理

数据订阅和接收

协议解析和数据校验

技术栈:

net (Golang标准库) - TCP连接

context - 连接生命周期管理

自定义协议解析器

2. 数据过滤层
职责:对接收到的原始数据进行清洗和过滤

数据条件匹配

异常数据检测和过滤

数据格式标准化

技术栈:

正则表达式 (regexp)

条件表达式解析执行(exprgo)

自定义过滤规则引擎

3. 计算引擎层
职责:核心业务计算逻辑执行

技术栈:

自定义计算算法实现

内存数据结构管理

实时计算协程

4. 内存管理层

职责:内存数据的管理和维护

内存快照维护

数据恢复机制

内存数据序列化

技术栈:

sync - 并发安全控制

序列化库 (boltdb)

5. 持久化层
职责:数据持久化存储

周期性数据持久化

6. 重算服务层 (Recalculation Service Layer)
职责:处理数据重算任务

重算队列管理

协程池实现

历史数据加载和重算

技术栈:

协程池实现

任务队列 (channel)

InfluxDB客户端 (用于历史数据查询)

分片查询

难点1:由升级或者服务异常停止造成的计算中断引起的计算误差

解决方案:

每5分钟备份存快照到文件

服务启动时从文件快照恢复

难点2:网络延迟造成的计算误差,也就是到了周期时间时,该周期内的数据因为网络延迟并未全部接受到

解决方案:

实时计算协程判断 数据时间>计算周期的结束时间时,自旋等待最多10s, 并发送信号到周期任务执行协程

周期任务执行协程等待实时计算协程发来的信号,最多等待10s,接受到信号就持久化到内存,并发送信号到

实时计算协程解除自旋

难点3: 重算对服务器的负载过高

解决方案:

实现了协程池,限制同一时间最大的重算协程数量

对长周期时间的数据按时间分片查询,比如月统计,一次查询2小时

示例图片视频


Rowlen
30天前活跃
方向: 后端-Go、前端-Web前端、
交付率:100.00%
相似推荐
AI 视频智能剪辑 SaaS 平台
本项目是面向内容创作者与培训机构的 AI 课程粗剪 SaaS 平台,支持上传课程音视频素材,调用大模型自动完成语音转写、字幕生成、冗余片段剔除、智能切片。系统包含用户账号管理、素材库管理、AI 剪辑任务调度、成片预览导出、账号权限分配模块。用户上传原始讲课视频后,系统自动识别无效停顿、口误片段,快速输出粗剪版本,大幅降低课程剪辑的人力成本,支持个人年费使用以及 OEM 贴牌、多账号代理模式,满足个体创作者与渠道合作的业务场景。
本地生活商家大数据排行榜-大众点评
大众点评本地生活商家大数据排行榜有热门/好评/打卡/销量等多个榜单品种,覆盖全国300+城市热门商圈,基于平台真实评价/打卡/团购消费数据,按城市-商圈-营业类目划分赛道,精选赛道下评分Top100商家聚合成榜,为大众点评打造“一站式吃喝玩乐平台”提供消费决策依据。
网络安全ctf与awd比赛平台-网络安全赛事中心
1.立项背景:高校网络安全专业与战队在组织校内外 CTF(Capture The Flag,夺旗赛)和 AWD(Attack WithDefense,攻防对抗赛)时,长期依赖开源平台或第三方在线靶场。现有方案普遍存在三类痛点:一是开源平台功能割裂,传统解题赛(Jeopardy)与攻防对抗赛需要两套系统分别部署,数据与选手账号无法打通;二是容器靶场编排能力弱,题目环境需人工搭建,动态Flag、按队伍隔离、过期回收等能力缺失或需要大量二次开发;三是缺少面向国内高校赛事的定制化能力,如队伍审核、报名审批、真实身份核验、邮箱验证码注册、作弊检测等。本项目立项目标即自研一套统一支持 CTF 与 AWD 双赛制、全流程线上化的网络安全竞赛平台。 2.建设目标。 (1)覆盖竞赛全生命周期:建赛、出题、报名审核、选手参赛、答题计分、容器下发、排行榜、作弊检测、Writeup评审、日志审计;(2)支持三种 CTF 题型(静态题、动态附件题、容器题)与完整的 AWD 攻防对抗机制(OpenVPN靶场接入、双网络隔离、自动 Check、分池计分、靶机重置);(3)工程上做到高可用、可运维:容器/附件/轮次全自动调度与过期回收、多级日志与审计、滑动窗口限流、启动自愈清理脏数据。目前平台已完成主体功能开发并在真实比赛环境中投入使用。
Ai自动化办公-自动化
AI自动化融合大模型、视觉识别与流程引擎,突破传统固定规则限制,自主感知、判断、执行复杂业务,替代重复人力,实现全链路智能提效与流程闭环运转。 AI自动化依托人工智能技术搭建数字工作体,自主处理非标准化任务,打通多系统数据链路,降低人工成本,
基于麒麟操作系统的运维agent
1. 立项背景与目标 背景:传统运维工具(Zabbix、Nagios等)架构重、门槛高,难以覆盖边缘节点;故障排查依赖人工经验,效率低;变更操作缺乏AI辅助和细粒度审批审计。ops-agent将系统巡检、AI问诊、安全审批和可视化看板整合为统一单机程序,填补市场空白。 目标:交付v0.1.0版本,提供TUI/Daemon/Dashboard三种运行模式;以LLM实现自然语言驱动的智能运维;建立本地审查+LLM评估+人工审批三层安全机制;发行包一键部署,开箱即用。 2. 软件功能与核心模块 智能对话引擎:集成LLM,支持自然语言交互,内置ReAct和Plan-and-Execute双策略自动适配任务复杂度,自主调用系统工具,实现“对话即运维”。 安全管控中心:本地规则硬拦截+LLM辅助风险评估+人工风险队列审批三层防线,五级风险分级(只读到关键变更),全程审计可追溯。 自动化巡检与调度:后台守护进程支持Cron定时采集CPU/内存/磁盘/网络等指标,扩展至K8s/容器/Prometheus巡检,阈值告警推送钉钉/企微,告警归并为Incident故障事件。 用户交互层:TUI终端界面(ratatui,六Tab页,键盘导航)+ Web Dashboard(React,可视化看板)。 3. 核心业务流程 故障诊断修复流程:SSH登录→TUI对话页输入自然语言(如“nginx起不来”)→Agent经LLM意图分析,调用check_service/journalctl等诊断工具(安全审查保障只读)→流式呈现诊断结果→修复操作识别为高风险→进入风险队列待人工审批(a键批准/x键拒绝)→执行并反馈结果。 无人值守巡检与干预流程:Daemon systemd开机自启→按Cron定时执行巡检(指标每分钟,深度每30分钟)→数据写入SQLite→超阈值生成告警并推送钉钉/企微→运维人员通过Dashboard/TUI介入查看→查阅Incident时间线和处置计划→高风险操作仍经人工审批后执行。 4. 项目范围与约束 包含:v0.1.0全部功能开发(24个功能点)、测试、文档、发行包及安装脚本。 不包含:第三方监控系统迁移工具、SaaS云服务、移动端APP、高可用集群部署。 技术约束:Rust 2024 + tokio;前端React+TypeScript+Bun;SQLite。 环境约束:兼容麒麟/Linux(x86_64/aarch64),依赖systemd和Python 3.8+,可选kubectl/Docker。
帮助文档   Copyright @ 2021-2024 程聚宝 | 浙ICP备2021014372号
人工客服