1、 技术应用 技术应用 46*基金项目:广东省重点领域研发计划“岭南中医药现代化”专项(2020B1111120002)本文引用格式:李兴华,陶明,温浩然.基于 Linux 架构的中药饮片霉变检测系统J.自动化与信息工程,2023,44(1):46-51.LI Xinghua,TAO Ming,WEN Haoran.Mildew detection system of Chinese herbal medicine slices based on Linux architectureJ.Automation&Information Engineering,2023,44(1):46-51.基于
2、Linux 架构的中药饮片霉变检测系统*李兴华 陶明 温浩然(广东省科学院智能制造研究所/广东省现代控制技术重点实验室,广东 广州 510070)摘要:针对中药饮片因具有较强的吸湿性且含有霉菌生长繁殖所需的营养物质,导致在贮存过程中易发生霉变的问题,设计基于 Linux 架构的中药饮片霉变检测系统,采用便携式质谱仪对中药饮片的挥发成分进行快速检测。该系统主要由云端和边缘端两部分构成,云端用于存储数据和提供服务中心,边缘端的各个终端采集节点在采集数据的同时将检测结果数据定时上传至云端;采用分布式部署、前后端分离的开发模式,前端负责交互业务,后端负责数据处理。用户可通过网页配置业务基础数据和查询报
3、表。关键词:中药饮片;霉变检测;Linux 架构;分布式;边缘端;云端 中图分类号:TP311.5 文献标志码:A 文章编号:1674-2605(2023)01-0008-06 DOI:10.3969/j.issn.1674-2605.2023.01.008 Mildew Detection System of Chinese Herbal Medicine Slices Based on Linux Architecture LI Xinghua TAO Ming WEN Haoran (Institute of Intelligent Manufacturing,Guangdong Aca
4、demy of Sciences,Guangdong Key Laboratory of Modern Control Technology,Guangzhou 510070,China)Abstract:Aiming at the problem that Chinese herbal medicine slices are prone to mildew during storage due to their strong hygroscopicity and containing nutrients required for mold growth and reproduction,a
5、mildew detection system for Chinese herbal medicine slices based on Linux architecture is designed,and the volatile components of Chinese herbal medicine slices are rapidly detected by portable mass spectrometer.The system is mainly composed of two parts:cloud and edge.The cloud is used to store dat
6、a and provide service center.Each terminal collection node at the edge will upload the detection result data to the cloud at the same time as collecting data;The development mode of distributed deployment and separation of front and back ends is adopted.The front end is responsible for interactive b
7、usiness and the back end is responsible for data processing.Users can configure basic business data and query reports through the web page.Keywords:Chinese herbal medicine slices;mildew detection;Linux architecture;distributed;edge end;cloud 0 引言 中药饮片来源广泛、成分复杂,若贮存不当,在多种因素相互作用下会产生霉变,不仅使其有效成分含量降低、失效,影
8、响治疗效果,甚至危害人体健康,还会增加药物损耗,造成经济损失1。根据中药饮片的固有性质、颜色、形态等特点,需定期对其检测,以便及时发现霉变、走油、虫蛀等情况2。传统的中 药饮片检测依靠人工抽检,其及时性、准确性、可控性等方面存在较大的局限,且人工检测结果的可追溯性差,后续无法运用分析。为提高中药饮片霉变检测的准确率和效率,本文基于物联网信息技术,构建基于Linux 环境下的云端存储计算、边缘端采集的架构,设计一种中药饮片霉变检测系统,实现检测结果数据的采集与分析,为中 2023 年 第 44 卷 第 1 期 自动化与信息工程 47 药饮片高质量生产提供保障。1 系统架构 考虑到基于Linux架
9、构的中药饮片霉变检测系统的可用性、可靠性及扩展性,采用分布式部署,结合云端和边缘端的方式,其总体框架如图1 所示。1.1 云端 云端包括数据库服务器、后台调度服务器、服务中心、应用服务器等4 个模块,架构如图2 所示。云端部署在私有云环境,确保存储的数据具有一致性、完整性和安全性。云端存储终端采集节点发送 的检测结果数据,通过WebApi 接口进行内外部系统调用,并通过网站供不同的客户端进行相关业务操作。边缘端工厂1仓库1采集节点1采集节点2工厂1仓库2采集节点1采集节点2工厂2仓库1采集节点1采集节点2服务中心客户端云端反馈访问推送 图1 基于Linux 架构的中药饮片霉变检测系统总体框架
10、公共基础服务接口服务后台管理页面服务服务中心访问应用服务器反馈Nginx第三方系统外部系统PC端移动端网页端边缘端内部系统客户端请求回复MySQL主数据库MySQL从数据库同步数据库服务器Tdengine时序数据库后台调度服务器访问反馈写入读取写入读取 图 2 云端架构 Linux操作系统相比Windows操作系统更加安全、稳定和开源3。考虑到基于 Linux 架构的中药饮片霉变检测系统的安全性和分布式特点,采用Linux 环境下的CentOS7 作为服务器的操作系统。数据库服务器采用 MySQL 的主从复制模式,即主数据库服务器出现故障时,切换到从数据库服务器继续工作,避免数据丢失。MySQ
11、L Cluster 通过自动分片支持读写扩展,利用实时备份冗余数据实现可用性较高的方案。通过数据库实现 Cluster,不但能提高 MySQL 的安全性,还能减轻数据库管理员的工作量4。在MySQL 数据库中,可设计定义表,如用户表、质谱仪表、仓库表等;还可设计过程表,如检测记录表,结构如表1 所示。表 1 检测记录表结构 是否主键 字段名 字段描述 数据类型 长度 可空 约束 备注 是 ID ID NUMBER 自增 Box_Code 包装条码 VARCHAR(80)80 Check_Time 检测时间 VARCHAR(20)20 Check_Date 检测日期 VARCHAR(20)20
12、UserName 用户名称 VARCHAR(20)20 是 Result 检测结果 VARCHAR(20)20 48 续表 是否主键 字段名 字段描述 数据类型 长度 可空 约束 备注 ManualResult 人工标记结果 VARCHAR(20)20 是 StoreHouseId 仓库 ID VARCHAR(50)50 是 外键 MsId 质谱仪 ID VARCHAR(50)50 是 外键 MTestValue Aggregate 多种物质的检测值集合 VARCHAR(500)500 是 Json 字符串 后台调度服务器采用 Tdengine 时序数据库存储检测结果数据。通过Tdengine
13、 时序数据库进行数据聚合查询,可生成不同维度的报表,供不同客户端查询,并在不影响MySQL 数据库写入操作的前提下,实现数据库读写分离,提高MySQL 数据库并发,降低磁盘I/O 的访问频率,使系统高效运行。Tdengine 数据库主要创建检测结果数据表,此表不存在外键字段,保存的检测结果数据均已经过聚合处理,可快速检索。服务中心是整个业务逻辑的处理中心,主要由接口服务、公共基础服务、后台管理页面服务组成。应用服务器采用Nginx 作为Web 服务器。Nginx是一款轻量级的 Web 服务器,在 BSD-like 协议下发行,具有占用内存少、并发能力强等特点。此服务器可挂载 WebApi 接口
14、和客户端访问的管理页面网站。本系统采用可定制的开源CentOS7 Linux 操作系统及开源 Nginx 服务器,使其运行更加稳定、高效,且具有良好的可扩展性5。1.2 边缘端 边缘端以车载的形式集成了便携式质谱仪、PDA、标签打印机等终端采集节点。各终端采集节点通过无线路由构建的内部局域网络,将采集的检测结果数据定时上传至云端。终端采集节点可根据需求扩展,且各采集节点独立运行,当某个采集节点出现故障时,不会影响其他采集节点的正常运行。因终端采集节点后续会不断增加,且检测结果数据具有时序性和区域性,故本系统将数据库分为关系型数据库和时序型数据库。其中,关系型数据库存储检测结果数据及业务基础数据
15、;时序型数据库存储各终端采集节点不同时间的检测结果数据,为客户端查询报表和统计分析提供数据源。中药饮片霉变检测结果采集过程如下:1)便携式质谱仪通过外置采样泵吸取空气样本,检测样本中的霉化物质;PDA 扫描中药饮片外箱条码,获取该箱中药饮片的相关数据,并通过socket 通信发给便携式质谱仪;便携式质谱仪绑定检测结果与外箱条码信息,形成检测结果数据;2)便携式质谱仪将检测结果数据保存在本地车载服务器;同时将此数据生成的条码标签发送给标签打印机,打印对应的条码标签;3)用户将条码标签粘到被检中药饮片的外箱。在便携式质谱仪管理界面可设置 PDA 和标签打印机的IP,将3 个设备互相联通。边缘端结构
16、如图 3所示。车载服务器标签打印机质谱仪饮片外箱云端PDA上传打码贴码传码存储扫码采样 图 3 边缘端结构图 1.3 客户端 客户端通过云端服务中心获取各终端采集节点采集的数据。客户端操作人员通过 Web 浏览器登录管理页面,进行业务基础数据配置及报表分析查询。本系统前端采用Vue.js 框架技术开发,可支持不同客户端使用。Vue.js 框架是一种面向前端界面开发的轻量化框架,设计模式遵循自下而上的原则,具有李兴华 陶明 温浩然:基于 Linux 架构的中药饮片霉变检测系统 2023 年 第 44 卷 第 1 期 自动化与信息工程 49 响应式编程和组态化的特点6。目前,客户端以网页访问为主,如需在移动端访问,可通过手机端登录管理页面访问。若后续需要开发移动端的相关业务功能,可用相同的前端技术实现,具有良好的扩展功能。1.4 技术栈 本系统采用前后端分离的方式构建,由CentOS+MySQL+Tdengine+go+Nginx+Vue.js 技术搭建而成。前端采用Vue 编写显示层页面,客户通过操作前端网站,调用后端服务接口,返回数据在前端页面显示。后端采用 go 语言实现相关业务的逻