3. 智能实验室数据平台总体架构设计
智能实验室的数据平台不是单一软件系统,而是横跨仪器现场、网络边界、数据中心与业务应用的端到端体系。总体架构设计的核心任务,是把“数据从哪来、怎么进、存到哪、怎么算、如何治理、以什么形式服务、最终支撑哪些应用”这条链路一次性规划清楚。若只关注某一层,常见后果是:边缘采集丢数、接入协议不统一、存储模型反复重构、计算口径不一致、治理规则无处落地、服务接口随应用变化而频繁改动。因此,本节采用七层参考架构:边缘层、接入层、存储层、计算层、治理层、服务层、应用层,并明确层间契约与数据流向。
七层架构的职责边界
边缘层直接面对仪器与传感器,负责设备连接、协议解析、时间戳对齐、本地缓存与断点续传。接入层是数据进入平台的统一入口,负责协议适配、消息缓冲、格式规范化与路由分发。存储层按数据形态分层存放:时序数据、结构化业务数据、文件与对象数据、检索索引。计算层承担批处理、流处理、指标计算与模型推理。治理层不直接搬运数据,而是定义并执行元数据、主数据、数据质量、安全与生命周期规则。服务层把数据封装为稳定、可复用的 API、数据集与消息主题。应用层面向实验记录、设备监控、样品追溯、分析报告与决策看板等场景。
层间契约:比分层更重要的设计
七层划分只是骨架,真正决定平台能否长期演进的是层间契约。边缘层向接入层交付的数据应至少包含:设备标识、通道号、原始值、工程单位、采集时间戳、质量码。接入层向存储层写入时,必须完成格式规范化,例如统一为“设备ID + 测点ID + 时间戳 + 数值 + 质量码”的时序记录。存储层向计算层暴露的是可查询的数据集或表,而不是物理文件路径。计算层向服务层输出的是带版本号的指标或模型结果。服务层向应用层提供的是稳定 API,应用层不得绕过服务层直接访问底层存储。
以一台高效液相色谱仪为例:边缘网关以 1 Hz 采集柱温、压力、流速三个测点,本地缓存保留最近 24 小时数据;接入层通过 MQTT 接收并转换为统一 JSON 格式;存储层将时序数据写入时序库,将谱图文件写入对象存储;计算层每 5 分钟计算一次柱温波动率与压力稳定性指标;治理层校验测点单位是否为 ℃、bar、mL/min,并标记缺失值;服务层以 /api/v1/instruments/{id}/metrics 对外提供查询;应用层在设备监控看板中展示趋势曲线与异常告警。这条链路中任何一层缺失契约,都会导致上层应用反复做适配。
端到端规划的关键决策点
第一,边缘层是否具备本地缓存与断点续传能力。实验室网络并非始终稳定,若边缘只做透传,网络中断期间的数据将永久丢失。建议边缘缓存至少保留 24 小时,并在恢复后按时间顺序补传。
第二,接入层采用消息队列还是直接写库。高并发仪器场景下,直接写库容易造成数据库连接耗尽。推荐接入层先写入消息队列,再由消费程序批量落库,实现削峰填谷。
第三,存储层是否区分时序库与关系库。设备测点数据写入时序库,样品、人员、方法、报告等业务数据写入关系库,谱图、图像、日志等非结构化数据写入对象存储。三者通过统一 ID 关联,避免把所有数据塞进单一数据库。
第四,治理层何时介入。治理规则应在接入层之后、存储层之前进行第一次校验,在计算层输出后做第二次校验。若等到应用层才发现单位错误或主数据不一致,修复成本将成倍增加。
第五,服务层如何保持稳定。服务层应对应用层隐藏底层表结构和存储引擎变化,通过版本化 API 和数据集抽象,使应用层不因底层重构而被迫修改。
一个可参考的部署拓扑
在典型实验室中,边缘层部署在仪器旁的小型网关或工控机上;接入层与存储层部署在实验室本地机房,保证低延迟与数据主权;计算层与治理层可部署在本地私有云或混合云;服务层与应用层通过统一网关对外暴露。若实验室存在多园区,可在每个园区部署边缘与接入节点,将数据汇聚到中心存储与计算集群,治理规则由中心统一下发。
总体架构设计的最终产出,不是一张漂亮的层级图,而是一套可落地的层间契约与决策记录。建议在项目初期就形成《数据平台分层设计说明书》,明确每层的数据对象、接口格式、责任团队与验收标准。当仪器数量从十台扩展到百台、应用从看板扩展到智能分析时,这套契约将成为平台不被推倒重来的根本保障。