# 软件设计
# 软件组成
MOS组成如下图所示。考虑到PC和ARM本地都需要访问Serivces提供的功能,因此SDK与Services可以通过TCP (WebSocket) 进行通信。可以考虑采用ProtoBuf或者JSON进行消息的序列化和反序列化。
# MOS Services
MOS Serivces提供硬件访问、质谱扫描、数据库和参数文件读写服务,它屏蔽了硬件访问的细节,对上层提供一个统一的基于Socket消息的接口。它支持多个Client同时访问,并负责针对不同类型的Client进行不同的访问控制。
MOS Services需要高效、稳定,原则上应该是对底层薄薄的一层封装。
# MOS SDK
MOS SDK是一组库函数,通过Socket访问MOS Services提供的底层功能,对上层提供统一的基于同步调用的API接口。