本文由Markdown语法编辑器编辑完成。
1.背景:
在和医院服务器进行数据对接时,需要将医院的影像数据,传输到我们的AI服务器,然后由我们的服务器进行一系列的分析和计算,得到关于患者病例数据的分析结果。
在过往的对接经验中,会遇到几种不同的对接方式。我们称之为——非标准对接。
当然,这里的"非标准对接",是相当于"标准对接", 即由医院的CT机器或PACS服务器,直接将影像数据发送到我们的服务器的方式。
非标准对接 —— 一般是需要由我们主动去拉取医院服务器的数据。一般分为:
- sql + fs
- sql + mount
- qr + qr
- sql + qr
- web_http + mount
- web_http + http
可以看到,非标对接有不同的组合方式。
前面是查询数据的方式 + 获取数据的方式。
2. Mount介绍:
mount主要用于服务器之间的硬盘挂载。
在非标对接中,我们会遇到医院将数据上传到他们的服务器,同时会通过http的方式,将数据的路径通知我们。
然后我们便可以根据每一个病例指定的路径,去服务器上下载过来。
而前提是,我们首先需要把医院的数据目录,挂载到我们的服务器上,这时就需要用到mount技术了。
这里假设有两台服务器。
HospA, CompanyB.
且假设两边的服务器,都是linux操作系统。
接下来介绍, mount的主要步骤:
2.1 数据源服务器设置哪些目录可以被其他服务器访问
# 打开系统目录下的exports文件.
vim /etc/exports
假设想要共享目录的文件夹的名称为: /media/data/dicoms
那么,我们就可以把这个目录的路径,编辑在exports文件中。
# /etc/exports: the access control list for filesystems which may be exported
# to NFS clients. See exports(5).
#
# Example for NFSv2 and NFSv3:
# /srv/homes hostname1(rw,sync,no_subtree_check) hostname2(ro,sync,no_subtree_check)
#
# Example for NFSv4:
# /srv/nfs4 gss/krb5i(rw,sync,fsid=0,crossmnt,no_subtree_check)
# /srv/nfs4/homes gss/krb5i(rw,sync,no_subtree_check)
# 新增要映射的路径,这里未指定ip,因此可以被任意的其他服务器进行mount连接.
/media/data/dicoms *(rw,sync,no_subtree_check,no_root_squash)
加上这一行后。
启动一下当前服务器的nfs的文件服务。
sudo /etc/init.d/nfs-kernel-server start
当服务启动后,会提示一下信息.
[ ok ] Starting nfs-kernel-server (via systemctl): nfs-kernel-server.service
如果想要查看一下当前nfs服务的状态,可以运行:
/etc/init.d/nfs-kernel-server status
2.2 在目标服务器创建mnt的目录
在目标服务器,可以在linux默认的/mnt目录下,再创建一个目录,以映射刚才数据服务器文件目录。
mkdir /mnt/pacs-data
当创建目录完毕后,即可以运行mount指令,来挂载数据服务器的目录。
假设数据服务器的ip和用户名为: 192.168.1.10, data_source
sudo mount data_source@192.168.1.10:/media/data/dicoms /mnt/pacs-data
运行完毕mount指令后,如果没有报错,即可以在当前服务器的命令行中,运行 df -h, 查看当前的硬盘占用情况。
这时在最下面的一行,便可以看到刚才添加的mount的目录了。