物联网平台

我要开发同款
Jaasdsa2023年10月13日
61阅读
所属分类mqtt、simens、opc、modbus、数据采集、物联网

作品详情

关键技术: c# , modbus , opc , simens s7 , mqtt , 消息队列 , 多线程, 设计模式 , 缓存优化 , 存储优化 等项目描述:将传统的自动化设备物联网化,需要解决水务领域市面上主流自控设备接入和上下行双向通信基础,为公司业务部门提供基础的数据支撑和设备控制能力;项目经历:● 带领团队开发的基于 .net framework 4.0 的物联网管理平台,采用 C/S 架构,主要是 winform+windows-services 技术栈;● 为满足产品适配各类项目现场,我们设计了 engine + 插件式结构,把 modbus ,opc ,mqtt 等工业协议抽象成插件形式的 dll文件,利用反射加载到 engine 里面,解决了团队作战需求● 为解决 3 万多台设备并发上传数据,数据解析和下游存储压力过大问题,利用消息队列进行第一波削峰,参考 nginx 的master 和 worker 节点工作模式,实现了多 worker 任务分发消费,最后批量缓存入库解决磁盘 IO 过度消耗问题,充分利用服务器计算资源,提高整个系统吞吐能力● 为满足平台接口需要提供给第三方平台对接,从而引发了接口可能被恶意调用问题,我们在网关层面实现了积分模式下的限流和熔断功能,利用令牌桶算法解决了接口的可能出现洪峰流量,利用漏桶算法解决了可能被恶意连接的情况,从而保护下游服务健壮性万兆内网办公环境建设 研发负责人 2021.02-2021.09混合云数据中心建设 研发负责人 2020.02-2020.05荆楚理工学院(二本) 本科 电气工程及其自动化 2011-2015● 为解决百万级别传感器有历史数据需要写入 SQL Server 而引发的读写效率问题,我们的存储架构设计由之前竖表转横表解决传感器联查难的问题,历史表设计时间字段聚集索引和时间+设备编码联合非聚集索引解决 80% 查询慢的问题,历史表采用表分区设计解决历史表文件过大问题● 在缓存设计方面,我们引入缓存中间表牺牲存储空间来提高查询效率;批量申请内存自行管理,解决大量小对象申请释放给GC 带来的回收压力和内存过快增长问题
查看全文
声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论