前置机数据网关是装在医院前置机上的一个后台服务。院内上千台采集盒把数据推给它, 它落盘排队、断点续传、按云中台接口转发,同时反代盒子的 OTA 升级与心跳。分 Windows 与 Linux 两个版本,装完即服务化开机自启。
写盘 fsync 成功才回执,断点续传;医院接口挂了本地排队,恢复后按序补发,at-least-once。
盒子照常上报,只把地址指向网关(多数靠局域网发现自动指向)。OTA 与固件下载由网关反代。
网关对运维服务器(公网权威时钟)应用层对时,再下发给盒子,保证治疗记录时间戳准确。
Linux systemd / Windows 原生服务:开机自启、崩溃自动重启、自带 Web 控制台看板。
单个安装程序,双击一路「下一步」:填几个配置项即自动装服务、开防火墙、开时间同步。
⬇ 下载安装向导 或下载 PowerShell 脚本包 (.zip) →推荐的装法。在上方下载区下载安装向导,双击运行,一路「下一步」,中间只需在配置页填几个框(都带默认值,可达地址会自动探测本机 IP)。
http://本机IP:9090/ 和管理员密码。下载 gateway-pack-win.zip,解压,在管理员 PowerShell 里跑安装脚本。适合喜欢命令行或要批量预填配置的场景。
# 1. 解压 zip 后,cd 进目录,然后: PS> Set-ExecutionPolicy -Scope Process Bypass -Force PS> .\install-gateway.ps1 # 交互式逐项问,回车取默认。也可先设环境变量预填、免交互: PS> $env:GW_ID='gw-hosp01'; $env:HOSP_URL='https://云中台/上报' PS> $env:VENDOR='https://fc.admin.yijiangsoft.com'; .\install-gateway.ps1 ✓ 二进制 -> C:\ProgramData\hd-gateway\hd-gateway.exe (v0.4.97) ✓ 配置 -> C:\ProgramData\hd-gateway\gateway.json ✓ 已启用系统时间同步(Windows Time)作时钟兜底 ✓ /status 可访问(网关已就绪) == 完成 == 控制台: http://192.168.1.20:9090/ admin 密码: Xf7k9Qm2Ab3C
把配置放好后,用 exe 自带的服务命令注册即可:
PS> & "C:\ProgramData\hd-gateway\hd-gateway.exe" install -c "C:\ProgramData\hd-gateway\gateway.json" PS> Get-Service hd-gateway # 查看服务状态 PS> Restart-Service hd-gateway # 重启 / Stop-Service 停止
9090 端口的院内入站(安装向导会自动放行,手动/脚本装法请确认)。sudo ./install-gateway.sh,交互式逐项问,回车取默认。$ tar xzf gateway-pack-linux.tar.gz && cd gateway-pack $ sudo ./install-gateway.sh == 医院前置机网关一键装机 == # 首次安装,逐项问(回车取默认): 网关 id (gateway_id) [hosp-frontend]: gw-hosp01 云中台上报地址 (hospital.url) [...]: https://云中台/上报 运维服务器 (vendor_server,对时源) [https://fc.admin.yijiangsoft.com]: ↵ 网关对盒子可达地址 (advertise_addr) [http://192.168.1.20:9090]: ↵ 控制台密码 (admin_pass,回车自动生成) [Xf7k9Qm2Ab3C]: ↵ ✓ 二进制 -> /opt/hd-gateway/hd-gateway (v0.4.97) ✓ 配置 -> /opt/hd-gateway/gateway.json ✓ 已启用系统 NTP(systemd-timesyncd)作时钟兜底 == 自检 == 服务状态: active ✓ /status 可访问(网关已就绪) == 完成 == 控制台: http://192.168.1.20:9090/ admin 密码: Xf7k9Qm2Ab3C
GW_ID=gw-hosp01 HOSP_URL=https://云中台/上报 VENDOR=https://fc.admin.yijiangsoft.com sudo -E ./install-gateway.shinstall-gateway.sh 会保留已有 gateway.json 不覆盖,只换二进制并重启服务——升级新版直接重跑即可。/opt/hd-gateway/gateway.json、Windows C:\ProgramData\hd-gateway\gateway.json(含明文密码,已收紧权限)。改完重启服务生效。| 配置项 | 安装时怎么填 | 说明 |
|---|---|---|
gateway_id必填 | 网关在后台的名字,如 gw-hosp01 | 一家医院一个,用于后台识别与心跳。 |
hospital.url必填 | 云中台上报地址 | 数据最终转发到的接口地址(上游数据需求方)。留空则只落盘不转发。 |
hospital.adapter | 默认 hospital_v1 | 对接哪套云中台接口的适配器;换新版接口用 hospital_v2。 |
vendor_server | 运维服务器地址(对时源) | 网关自动对时的权威时钟来源。离线医院可留空,此时必须配好前置机系统 NTP 兜底。 |
advertise_addr必填 | 盒子可达的网关地址,安装时自动探测 | 形如 http://192.168.1.20:9090,盒子据此下载固件。多网卡时确认填的是盒子那侧网段。 |
admin_pass | 控制台密码,可自动生成 | 后台写操作密码。留空=控制台只读(任何修改都会被拒)。 |
require_activation | 默认 true | 激活门禁:开启时未激活的设备数据不转发(防私自加机)。不用授权就设 false。 |
listen | 默认 :9090 | 监听端口,全网统一 9090。防火墙需放行院内入站。 |
queue_dir必填 | 脚本自动设为数据目录 | 磁盘队列目录,务必在持久盘上(断点续传靠它)。 |
vendor_token可选 | 一般留空 | 治疗状态同步令牌,仅当运维后台配了对应令牌时才填。 |
http://前置机IP:9090/,对着这三条勾一遍,一家医院就上线了。
控制台顶部四个标签就是激活相关的操作台:
require_activation=true 时,只有激活过的设备数据才会转发云中台——防止未授权设备私自接入。不需要这道门禁时,把它设为 false 即全部放行。数据按哪套云中台接口转发,由 hospital.adapter 决定:hospital_v1 / hospital_v2 对应两套上报接口,mock / passthrough 用于联调。对接方明确后在配置里改这一项即可,无需改动盒子。
多数情况盒子零配置——网关会在院内网广播发现信标,盒子上电后自动把上报 / OTA 地址指向网关。跨网段或需手动时,用现场助手的采集配置,把上报地址填成 http://前置机IP:9090/ingest 即可。
# 查看状态 / 启停 $ systemctl status hd-gateway $ systemctl restart hd-gateway # 实时日志 $ journalctl -u hd-gateway -f # 升级:重跑安装脚本(保留配置换二进制) $ sudo ./install-gateway.sh # 卸载(--purge 连数据一起删) $ sudo ./uninstall-gateway.sh
# 查看状态 / 启停 PS> Get-Service hd-gateway PS> Restart-Service hd-gateway # 日志看「事件查看器」,或前台调试: PS> & "$env:ProgramData\hd-gateway\hd-gateway.exe" ` -c "$env:ProgramData\hd-gateway\gateway.json" # 升级:重装向导 / 重跑 install-gateway.ps1(保留配置) # 卸载 PS> .\uninstall-gateway.ps1
systemctl status hd-gateway、Windows Get-Service hd-gateway)。再确认防火墙放行了 9090 院内入站——安装向导会自动放行,PowerShell/手动装法需自己确认。用 http://前置机IP:9090/ 访问,别用外网地址。vendor_server(运维服务器)。检查前置机能否访问该地址;若这家医院不出公网,把对时源留空是允许的,但必须配好前置机系统自身的 NTP(Windows Time / chrony 对院内 NTP 或公网时间服务器)作兜底,否则盒子和治疗记录时间会漂。http://前置机IP:9090/ingest;③检查前置机 9090 入站防火墙。数据到了但没转发云中台,多半是设备还没在「待激活」页激活(require_activation=true 时未激活不转发)。