# 医学检测仪器物联网平台 **Repository Path**: com_developer/MTIIOT ## Basic Information - **Project Name**: 医学检测仪器物联网平台 - **Description**: 医学检测仪器物联网平台(Medical Testing Instrument IOT) - **Primary Language**: Java - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 5 - **Created**: 2022-05-05 - **Last Updated**: 2022-05-05 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Medical Testing Instrument IOT(简称:MTIIOT)医学检测仪器物联网平台 ## 项目背景 MTIIOT研发的背景是这样的: 某第三方医学检验公司,公司业务运行流程简单描述如下图: ![1.png](doc/1.png) 上面对图做简要说明: 1. 客户一般为医院,社区医院,其他第三方检验机构等机构。 2. 医学检验实验室是检验公司自己建设的实验室,本公司规模较大,在全国各个大城市或者下面城市的分实验室一共有几十个。广州是公司总部和主实验室。 3. 获取客户标本的方式可以分为:快递邮寄,公司外勤人员自取等方式。 4. 客户获取最终报告单方式可以分为:通过检验系统查询和打印、通过公众号查询、公司外勤人员送打印后的纸质报告单到客户现场; 4. 公司的系统部署在广州总部的IDC。 继续回到背景,上述流程中最核心的业务逻辑是检验仪器产生检测数据,然后检测数据发送到检验系统,这个过程在之前的解决方案是通过在全国各地实验室的仪器端部署ftp客户端, 然后在广州总部的IDC部署ftp服务端以及数据解析程序,最终数据被解析和入业务数据库,这个解决方案在刚开始公司实验室不多和客户标本量少的时候还可以正常运行, 但是当公司发展到一定规模,全国各地实验室越来越多以及合作客户越来越多的时候,则会带来很多的问题和挑战,具体表现如下: 1. 数据量增大的时候会出现ftp上传丢包的情况,不好跟踪,只能在客户端叫人实验室检验人员重传数据,很是麻烦。 2. ftp上传文件模式当文件量上来了的时候,经常出现各种卡顿问题,导致文件上传比较慢,文件上传慢,后续处理流程也跟着受影响,整体出报告速度就下降。 3. ftp模式对数据的追溯和日志以及未来基于大数据的分析都不好做,对于运维人员来说更是一件痛苦的事情; 基于以上原因,就急需一种新的软件模式来替代上述仪器数据的流转模式,MTIIOT就是在这种需求下诞生的。 ## 项目介绍 MTIIOT平台是一个以医学检测仪器数据为中心,以互联网架构的模式提供数据从仪器端到中心端的数据处理平台。MTIIOT平台主要解决数据的以下问题: 1. 数据的生产 2. 数据的流转 3. 数据的监控告警 4. 数据的分析 ## 项目架构图 ![2.png](doc/2.png) ## 技术栈/版本介绍: - 所涉及的相关的技术有: - 数据传输序列化技术/协议:Protocol Buffer/二进制流 - 数据接收服务器技术:Netty 5.0 - 远程调用框架(RPC):Dubbo 2.8.4 - 消息队列:Kafka - 缓存:Redis - 数据库: MySQL 5.7.9 - 服务注册与发现: Zookeeper 3.4.6 - 日志/搜索/分析:ELK - 项目构建:Maven 3.3 - 分布式文件系统:FastDFS 5.0.5 - Nginx - Haproxy