程序聚合 软件案例 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%
相似推荐
ErrorDetecting Hadoop 故障诊断系统-Hadoop 故障诊断系统
该项目是一个面向 Hadoop 集群故障诊断与运维管理场景的 Web 管理系统,目标是为集群管理、节点监控、日志查看和智能诊断提供统一的前端操作界面。 我独立负责项目全部前端开发,围绕登录注册、集群列表、节点监控、日志查看、用户管理、个人中心、AI 诊断等模块进行设计与实现。用户可在系统内完成集群与节点信息查看、日志检索、资源监控、用户管理以及智能诊断交互等操作。 项目采用前后端分离方式,前端负责页面展示、交互逻辑和状态切换,后端提供认证鉴权、集群管理、日志查询和 AI 诊断接口支持。其中 AI 诊断模块支持日志预览、节点选择、上下文透传与流式输出展示,提升了故障分析场景下的交互体验。项目同时兼顾 PC 端与移动端浏览体验,对主要页面进行了较完整的响应式适配,保证不同尺寸设备下界面稳定可用。
Glow-Scribble 多巴胺风格生活记录小站-个人日记与待办管理系统
该项目是一个面向个人生活记录与自我管理场景的轻量 Web 应用,目标是提供集日记记录、待办清单、习惯打卡、专注计时和个人资料管理于一体的使用体验。 我独立完成了项目的功能规划与页面拆分,围绕登录注册、首页导航、日记、待办、习惯打卡、专注计时、个人中心等模块进行设计与实现。用户可通过账号登录进入系统,完成日记记录、事项管理、习惯打卡、资料编辑等常用操作。 项目采用前后端分离思路,前端负责页面展示、交互和状态切换,后端提供注册登录、数据读写等接口支持,能够满足轻量生活记录类产品的基本功能需求,也适合作为小型 Web 或功能原型的实现案例。项目同时兼顾 PC 端与常见移动端浏览体验,对主要页面进行了基础响应式适配。
20年jsp-web开发
工作流审批系统 人事考勤排班管理系统 绩效管理系统 病历质控管理 自定义问卷系统 学习考试系统 进销存管理系统 企业官网内容管理系统 设备管理系统 内账管理系统 文档管理系统 宿舍管理系统 医养中心收费系统 医务人员档案管理系统 患者手机订餐系统 医保对码管理系统 云胶片系统 影像中心阅片报告书写系统 钉钉组织架构人员接口对接 企业微信人员接口对接 支付宝、微信支付接口对接 yolo目标识别,数据集训练 ESP32传感器数据采集等等 医保违规检测系统 CSDN博客账号:jun_bai
宜昌慈善网络募捐平台采购项目
作为宜昌慈善总会官网 的移 动端延伸载体, 以 “ 引流赋 能 、 服务协同 ” 为核心理念,着力构建开放协同的移动慈善服务体系,全面拓展官网服务半径,推 动慈善事业数字化 转型。 一是扩大慈善项目社会影响力, 助力公众合规参 与慈善捐赠 ; 二是 以轻量化服务提升用户参 与体验,增强 官网 品牌感知度 与公众信任度 ; 三是 强化 官网服务 的精准性与公信力; 四是支撑官网运营优化与可持续发展。
宜昌市公办福利机构智能监管平台
当前,我市公办养老机构及其他公办福利机构,在“人、财、物”监管、食品安全及整体安全管理方面存在数据孤岛、监管手段滞后、风险预警不足等问题。面对“突击战”严峻形势,亟需通过定制化开发构建一个覆盖全市、统一高效的智慧监管平台,实现对公办福利机构(特别是农村福利院)的规范化、透明化、智能化监管。
帮助文档   Copyright @ 2021-2024 程聚宝 | 浙ICP备2021014372号
人工客服