程序聚合 软件案例 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
5天前活跃
方向: 后端-Go、前端-Web前端、
交付率:100.00%
相似推荐
需求自动化分析提取工具-平台
需求自动化分析提取工具 1需求自动化分析提取工具 2需求自动化分析提取工具 3需求自动化分析提取工具 4需求自动化分析提取工具 5需求自动化分析提取工具 6需求自动化分析提取工具 7需求自动化分析提取工具 8需求自动化分析提取工具
企业管理系统
一套企业内部管理系统,包含功能模块如下 1)用户、权限、角色、部门、职务、通讯录管理 2)数据字典、分类字典、系统配置管理 3)企业微信群、群消息、企业微信外部人员管理 4)在线表单、积木报表管理 5)问卷管理 6)审批流管理,支持按人员、部门、角色、职务等设置审批流程
某半导体企业物流控制塔系统-IDP
随着该企业业务发展,需要对国内保税区仓库进行统一管理,实现收发货及库存管理标准化、精益化,需对接仓库 WMS 进行数据抽取汇总,通过控制塔进行数据展示。并在过程中实现该企业数字化转型,通过系统进行供应链流程可视化监控。
政务/3D模型生成/Github开发者能力评估
3D-Generator后端仓库代码是一个集成了多种AI能力的综合应用平台,专注于构建一个根据文本或图片生成3D模型的服务系统。该平台包含Spring Boot后端应用和3D模型生成服务两个主要部分,支持通过文本描述或图片生成单个3D素材元素(如动物、物体等,非场景级别)。 用户定位与痛点分析 本项目主要面向以下几类用户: 设计人员:需要快速获取3D素材用于原型设计、概念验证的设计师 游戏开发者:需要批量生成游戏中的小型3D资产的开发团队 教育工作者:需要3D模型作为教学辅助工具的教师 普通爱好者:对3D建模感兴趣但缺乏专业技能的个人用户 这些用户面临的主要痛点包括:专业3D建模软件学习成本高、建模过程耗时、难以快速将创意转化为3D模型、专业建模人员成本高。通过本平台,用户可以通过简单的文本描述或上传图片,快速生成所需的3D模型,大大降低了3D建模的门槛和成本。 核心功能 Spring Boot后端核心功能 用户认证与授权(基于JWT) 数据管理与持久化 阿里云OSS文件存储集成 阿里云视觉智能API集成 RESTful API接口提供 统一异常处理 3D模型生成服务核心功能 通过文本描述生成3D模型 通过图片URL或base64编码生成3D模型 支持图片文件上传生成3D模型 提供任务状态查询接口 完整的API文档(Swagger UI) 3D模型效果评估功能 3D模型效果评估系统 为确保生成的3D模型质量,我们设计了一套完整的效果评估系统,通过以下关键指标验证3D模型生成效果: 准确率:模型是否准确反映了输入描述或图片的核心特征 完整性:生成的3D模型是否完整,有无缺失重要部分 细节丰富度:模型表面细节、纹理等是否丰富自然 几何合理性:模型的比例、结构是否符合物理规律 生成效率:从请求到完成生成的时间消耗 评估系统设计包括: 自动评估模块:通过算法对生成模型的各项指标进行量化评估 人工复核机制:对自动评估结果进行抽样人工复核,校准评估算法 反馈优化循环:将评估结果反馈到模型生成参数调整中,持续优化生成效果 评估报告生成:为每个生成的模型提供详细的评估报告 评估系统通three_d_effect_evaluation 模块实现,包含模型评估器、模型处理服务和评估API等组件。
企业邮箱-RichMail
该项目是一款拥有灵活权限、可配置化的 web 端企业邮箱,面向用户主要分为邮箱、网盘、通讯录、日历四大模块,面向管理者主要是管理平台以及安全平台,该项目已经在人寿,中国银行等机构内部使用。
帮助文档   Copyright @ 2021-2024 程聚宝 | 浙ICP备2021014372号
人工客服