2. 崂山实验室,山东 青岛 266200
2. Laboratory of Lao Mountain, Qingdao 266200, China
随着科技的飞速发展,软件定义船舶(Software-Defined Vessels)的概念逐渐兴起,这一理念的核心在于通过软件技术实现船舶功能的灵活配置与优化,从而推动船舶系统软硬件解耦的进程。软硬件解耦不仅赋予了船舶系统更高的灵活性和可扩展性,同时也催生了海量的软件需求。在这一背景下,工业互联网、大数据、云计算、人工智能等前沿技术的蓬勃发展,为船舶智能化提供了坚实的技术支撑,使得船舶能够更加高效地进行数据采集、处理与分析,进而实现智能化决策与控制。
然而,船舶在远距离航行过程中,面临着网络带宽有限、延迟高、丢包率大等弱网环境挑战,这给船舶软件的更新与维护带来了诸多不便。传统的软件更新方式通常需要船舶到岸后由专业人员上船进行操作,这种方式不仅耗时费力,而且难以满足现代航运业对船舶运营效率和安全性的高要求。
在此背景下,船岸远程升级系统应运而生,它能够在弱网环境下实现船舶软件的远程升级,有效解决了船舶软件更新的难题,为船舶智能化发展提供了关键的技术保障,具有重要的研究价值和广阔的应用前景。
面向岸端-船舶应用的持续集成升级是未来的趋势。通过持续集成,开发团队能够频繁集成代码,快速发现并修复问题,减少集成阶段的瓶颈,提升整体开发效率。应用软件更新发布后采用远程升级的方式使新功能能够快速部署到岸端和船舶,提升业务响应速度。远程升级能够减少对物理设备的依赖,避免人员频繁登船操作,降低运维成本和时间。此外,船舶常处于偏远或复杂环境中,远程升级是确保系统持续更新的必要手段。面向岸端-船舶应用的远程升级系统针对多平台应用持续集成升级的环境特点,构建支持岸端-船舶多平台的远程升级架构,建立统一的升级管理平台,确保升级流程的高效性、安全性和稳定性。
1 国内外技术现状在OTA技术相对成熟的汽车行业,其通用技术路径基于“云-车协同”架构,以云端服务器集群为核心,通过差分算法压缩升级包并加密传输至车端;车端集成远程通信模块(T-Box/网关)实现安全下载与解密,结合车辆状态检测(车速、电压、挡位等)触发升级流程,利用双系统分区(A/B备份)或回滚机制确保升级可靠性,最终实现软件远程升级(SOTA)以及固件远程升级(FOTA)。技术核心包括高压缩率差分更新(95%以上)、端到端加密(如TLS 1.3/国密算法)、多协议适配(Ethernet/CAN/LIN)及故障容错能力,最终实现全车电子电气节点的安全、高效、无感升级。
在船舶行业OTA技术刚刚起步,尚未形成完整的OTA体系,同时没有针对船舶通信特征、船舶时空特性针对性地进行OTA设计,对于传输的安全性和远海环境的适配性不足。
1.1 国外研究现状在船舶领域MacGregor,作为可持续海运货物和装卸设备领域的领导者,正处于数字化转型的进程中,从传统的设备制造商向服务和软件解决方案提供商转变。其产品 OnWatch Scout是一款用于设备状态监测和管理的解决方案,能够帮助客户实时监控设备健康状况,并利用预测模型优化维护计划。为了确保 OnWatch Scout的产品安全性和软件功能的持续改进,MacGregor选择了Mender作为其OTA软件更新解决方案。Mender专注于提供安全、可靠的OTA 软件更新服务,能够在复杂的连接环境中(如LTE 和卫星网络)提供技术支持。Mender提供的部分更新(Delta updates)和OTA更新恢复功能,有效解决了带宽和连接性受限的问题,确保了更新过程的高效和安全。此外,Mender的开源社区不断发展壮大,进一步提升了其解决方案的高质量和安全性。通过Mender的服务,MacGregor能够在项目初期清晰地了解功能,有效管理项目里程碑,并在项目截止日期内按时交付服务,从而获得了客户的高度满意。
1.2 国内研究现状国内在船岸远程升级系统的研究和应用方面已经取得了一定的进展。例如,时榕茂[1]提出了一种船舶监测系统的自动升级方法,通过比较客户端和服务器端的版本号,利用FTP协议实现文件的自动下载和更新,显著提高了船舶监测系统的升级效率,减少了人工操作的复杂性和出错率。彭楠宣等[2]提出了一种智能燃气表空中升级系统及方法,通过NB-IoT技术实现远程升级,进一步优化了升级流程,降低了升级成本。肖金赫等[3]分析了船舶管理系统的船岸数据同步需求,提出基于触发器和缓存机制的分布式数据库同步方案,通过组件设计解决网络不稳定下的数据一致性与可靠性问题,并验证了实际应用效果。高小轲等[4]采用XML格式转换数据,结合Web服务分发,通过差分和双向同步模型,配合时间校准、缓存策略及定期检测,实现岸船信息高效同步与冲突处理。林晓松等[5]提出了一种基于AIS通信的船载终端远程升级方法。该方法通过基站采用分包发送的方式向船载终端发送程序更新包,并利用特定的数据包协议确保数据包的确认和识别。在程序更新包的数据包丢失时,船载终端可以向其他船载终端或基站寻求丢失的数据包,从而保证程序的完整性和安全性。这种方法不仅提高了升级的可靠性,还实现了数据共享,不受距离限制,适用于近海和远洋船舶。陈建林等[6]提出了船载监管终端远程升级功能的设计与实现。船载监管终端通过GPS/北斗定位系统获取船舶位置信息,并将数据通过GPRS或北斗网络上传至监管平台。终端采用太阳能+锂电池供电,适用于多种船舶。其详细介绍了硬件电路设计,包括选用的PIC16系列单片机和外围设备。远程升级功能通过解析HEX文件并校验数据完整性实现,采用GPRS网络传输升级文件,并通过BootLoader固件内核完成程序更新。实验验证表明,该远程升级功能能够有效实现应用程序的更新和维护,提高了设备的现场维护效率和作业效率。
这些研究和应用表明,国内在OTA系统研究方面刚刚起步,目前能够解决在高可用数据链路下应用的升级,但是基于FTP/AIS技术对数据进行传输,需要传输完整的数据包,这在弱网环境下大大削弱了升级的效率和成功率;另外对于应用的升级没有设计对应的回滚机制,可能导致系统升级失败“变砖”风险激增,最终需要上船维护,导致成本指数级上升。
本文设计了一种针对船舶弱网环境、集应用管理、更新消息推送、数据加解密、增量升级、安全回滚等功能于一身的船岸远程升级系统;面向岸端开发者、岸端管理员、船端管理员以及船端用户多用户视角进行权限划分;最终实现应用远程升级。
2 系统架构与功能 2.1 系统架构船岸融合远程升级系统依托服务器云平台的计算、存储能力,结合镜像仓库、软件源的资源管理能力,实现岸船融合的应用升级需求,提供了面向岸船融合环境的业务应用传输和升级工具。船岸融合远程升级系统主体架构由船岸融合远程升级系统服务端、岸端软件门户、船端软件门户和基础资源构成。
基础资源提供了船岸融合远程升级系统的基本运行环境,包括服务所需的计算、存储和网络通信模块,同时也包括桌面客户端设备。基础资源具备可扩展能力,保证上层船岸融合远程升级系统的各项功能高可靠、高安全、高性能运行。
船岸融合远程升级系统框架是一个独立的资源服务应用,里面管理了各类应用程序安装包、数据包、数据库和模型文件。船岸融合远程升级系统由岸端软件和船端软件构成。岸端软件和船端软件都采用B/S架构,由服务端和门户软件构成。
岸端软件和船端软件的服务端在软件架构和功能组成部分具有部分重合,均由数据层、服务层、功能层和基础服务组成。
服务端的数据层基于镜像仓库、文件系统和数据库对船只的碳强度指标(CII)能效优化应用软件、辅助航行应用软件、系统故障运维应用软件等应用程序的安装文件、容器镜像,电子海图数据包、气象信息数据包等专业数据包文件,各应用程序内部算法所需数据库和模型文件,推送消息、系统日志等数据进行存储管理。
服务层由部署模块、算法模块、管理模块、推送模块和统计分析模块组成。部署模块为应用程序、数据包、数据库和模型文件提供查询、上传、下载、更新、删除和回滚服务;算法模块为应用程序、数据包、数据库和模型文件的加密、增量更新提供算法服务支撑;管理模块为管理员的软件、数据管理提供分类、审核、配置和上线等流程管理服务;推送模块负责岸端向船端、管理员向普通用户推送系统消息,对应用程序、数据包、数据库和模型文件进行加密压缩、并采用断点续传技术在高延迟、高丢包率的弱网环境下进行可靠传输;统计分析模块对应用程序、数据包、数据库和模型文件的下载量、用户的更新时间等进行统计。
功能层基于服务层提供的各类服务,为船岸融合远程升级系统提供应用程序管理、数据包管理、数据库和模型文件管理、容器应用管理和状态统计管理功能。功能层的应用程序管理功能可对应用程序进行分类编目,并对程序的程序简介、版本号、所运行的操作系统进行记录和维护;功能层的数据包管理功能、数据库和模型文件管理可对相应文件的简介、版本号、所依赖的应用程序等信息进行记录和维护;容器应用管理功能提供镜像仓库、镜像更新等容器管理功能;状态统计管理功能对统计分析模块收集的统计数据进行分析,并进行记录。
基础服务层为船岸融合远程升级系统提供基础的用户管理、船舶管理、权限管理和日志管理等服务支撑。
2.2 功能组成船岸融合远程升级系统由岸端软件和船端软件组成,如图1所示。
|
图 1 船岸融合远程升级系统功能组成图 Fig. 1 The functional composition diagram of the ship-shore integrated remote upgrade system |
岸端软件由应用程序管理模块、数据管理模块、模型文件管理模块和系统管理模块构成。应用程序管理模块提供应用提交、应用推送、应用编辑、应用审核、应用发布、应用检索和版本管理功能;数据管理模块提供数据提交、数据推送、数据编辑、数据审核、数据发布、数据检索和版本管理功能;模型文件管理模块提供文件提交、文件推送、文件编辑、文件审核、文件发布、文件检索和版本管理功能;系统管理模块提供用户管理、角色管理、权限管理和消息推送功能。
船端软件由应用程序管理模块、数据管理模块、模型文件管理模块和系统管理模块构成。应用程序管理模块提供应用检索、应用升级和应用审核功能;数据管理模块提供数据检索、数据更新和数据审核功能;模型文件管理模块提供文件检索、文件升级和文件审核功能;系统管理模块提供用户管理、角色管理、权限管理和通知公告功能。
2.3 业务流程设计船岸融合远程升级整体流程分为发布/编辑、推送、升级3个阶段,由岸端和船端两部分组成。
发布/编辑阶段:岸端仓库管理员提交最新版的应用、数据包、模型文件或编辑需升级的应用、数据包、模型文件等,发布或更新最新版的升级数据。
岸端部署阶段:岸端船队管理员选择需升级的应用、数据包或模型文件,判断是否存在未完成的升级记录,若存在,则从岸端数据仓库中拉取升级包进行断点续传;若不存在,则从岸端数据仓库中拉取增量升级包进行增量升级。执行完成后判断升级是否成功,若成功则完成升级部署,若未成功,则回滚至未更新前的版本。
推送阶段:岸端船队管理员对新发布或已更新的应用、数据包、模型文件进行消息推送,船端管理员可选择接受推送进行升级更新。
船端部署阶段:船端管理员选择需升级的应用、数据包或模型文件,判断是否存在未完成的升级记录,若存在,则从岸端数据仓库中拉取升级包进行断点续传;若不存在,则从岸端数据仓库中拉取增量升级包进行增量升级。执行完成后判断升级是否成功,若成功则完成升级,若未成功,则回滚至未更新前的版本。
2.4 数据流程设计数据均经过岸端软件的提交、审核、发布以及存储到对应的仓库。在有安装或升级需求时,岸端软件将仓库中的各类存储内容生成增量包,经过压缩、加密等步骤断点续传到船端。船端软件接收传输内容后进行解密、解压缩等操作,对还原的内容进行安装/升级。
船岸融合远程升级系统业务流程如图2所示。
|
图 2 船岸融合远程升级系统业务流程图 Fig. 2 The business process diagram of the ship-shore integrated remote upgrade system |
该系统应用了改进的Bsdiff增量式升级技术,在使用体积更小的差分更新包同时减少岸端对于服务器内存的需求;使用Rsync进行断点续传,以避免由于卫通中断导致的全量文件重传。通过以上2种关键技术进一步增加系统适配的航区以及在弱网环境下的鲁棒性。
3.1 基于改进的bsdiff增量式升级技术增量式安全升级技术是一种高效的软件更新方法,通过仅传输软件新旧版本之间的差异部分来实现更新,从而显著降低网络传输流量并提高更新效率。
传统的Bsdiff算法依赖qSufSort进行后缀排序,但该算法在处理大文件时存在内存占用高和性能瓶颈。本系统引入ISB(Induced Sorting based on Buckets)算法替代qSufSort,显著优化了后缀排序过程。ISB算法通过将后缀分配到不同的桶中,并结合桶排序与诱导排序,有效减少了内存使用量,同时提高了排序效率。此外,ISB算法允许用户根据实际需求设置二进制块的大小(x字节),进一步灵活控制内存占用和增量文件大小。将qSufSort改为ISB后,不仅降低了生成增量文件所需的内存空间,还提高了算法的运行效率,使得增量更新技术在低带宽、高延迟的网络环境下更加高效和可靠,显著减少了数据传输量和升级失败的风险。
3.2 断点续传技术断点续传是指在文件传输过程中,当传输过程中断时,能够从断点处恢复传输,避免从头开始传输的现象。实现断点续传的关键技术是文件分片和断点记录。
本系统使用Rsync是一种高效的数据同步工具,通过其独特的算法实现断点续传功能。Rsync的核心原理是将文件分割成固定大小的数据块,计算每个块的滚动校验值(如Adler32)和强校验值(如MD5)。客户端将旧文件的数据块校验信息发送给服务端,服务端通过对比新文件的校验值,确定哪些块已存在,哪些需要传输。Rsync通过这种方式仅传输缺失或变化的数据块,而无需重新传输整个文件,从而实现断点续传。使用Rsync的有益效果包括:显著减少网络传输量,提高同步效率;支持增量更新,避免全量传输带来的资源浪费;并且具有良好的容错能力,能够在网络中断后自动恢复传输。此外,Rsync还支持压缩传输和多种校验算法,进一步优化了数据同步的效率和可靠性。
4 项目实施与应用效果 4.1 船岸仿真环境搭建仿真环境硬件包含岸端服务器、船端服务器以及测试终端用于部署代理网关,如表1所示。
|
|
表 1 船岸融合远程升级系统仿真测试环境硬件构成表 Tab.1 The hardware configuration table of the simulation test environment for the ship-shore integrated remote upgrade system |
其连接方式如图3所示。
|
图 3 船岸融合远程升级系统仿真测试环境连接图 Fig. 3 The connection diagram of the simulation test environment for the ship-shore integrated remote upgrade system |
仿真环境软件包含操作系统、JDK、船端软件、岸端软件等,如表2所示。
|
|
表 2 船岸融合远程升级系统仿真测试环境软件构成表 Tab.2 The software configuration table of the simulation test environment for the ship-shore integrated remote upgrade system |
WANem是一个强大弱网模拟工具,可以用于模拟船舶的弱网环境。对于远洋船舶来说影响船舶延迟的因素主要来自卫星通信的延迟。由于地球静止轨道卫星距离地球赤道约
而Wireshark是一个网络抓包工具,能够对网络流量进行过滤和统计,直观展示船岸远程升级系统的效能。
4.2 测试步骤搭建完仿真环境后,首先进入代理网关,打开WANem工具的图形界面,进入延迟(Latency)选项,并将其设置为500 ms;进入数据包丢失(Packet Loss)选项,并将其设置为2%;其次,打开Wireshark工具的图形界面,选择本机网卡eth0,打开捕获菜单,设置过滤条件为ip.src == 10.10.43.1 && ip.dst == 10.10.43.3,点击开始进行数据抓包。
分别在船端服务器和岸端服务器上启动船端软件和岸端软件。在岸端软件上,按照流程上传应用程序的新旧版本,以及应用程序的安装、更新、部署、回滚脚本,推送至船端。
在船端服务器等待应用推送至本地,点击安装,完成安装后能够正常打开应用。
最后回到代理网关,打开Wireshark,比对升级消耗总流量、差分包大小以及源文件大小。
4.3 应用效果在 500 ms 延迟、2%丢包率,整个升级过程中网络保持连接的条件下,完成对于多个应用的升级。其中被测对象为智能航行系统以及智能运维系统,智能航行系统是一个分布式系统,由感知融合模块、规划决策模块、运动控制模块以及前端显示客户端组成,每一个组件都是一个无后缀的可执行文件,运行在Ubuntu上,并且使用systemd随机启动;智能运维系统由Node.js开发pkg打包为exe的前端服务、基于Java开发打包为jar包的后端服务以及基于Flask框架开发pyinstaller打包成exe发布的算法服务组成,运行在Windows上,并且使用,如表3所示。
|
|
表 3 船岸融合远程升级系统被测系统组成表 Tab.3 Composed table of the remote upgrade system for the ship-shore integration testing system |
其新旧版本、差分包大小、升级总流量大小等统计信息,如表4所示。
|
|
表 4 船岸融合远程升级系统仿真测试结果表 Tab.4 The simulation test results table for the ship-shore integrated remote upgrade system |
两款应用均在测试环境下升级成功,总体来说应用差分升级技术后,能够显著减少应用升级所需的流量;差分包大小并不跟应用新旧版本差值呈线性关系,这跟应用升级的内容有关,比如是否涉及模块替换改动、贴图替换、软件架构重构有关;升级总流量与差分包大小的比值在10%左右,这跟2%的丢包率设置以及传输过程中的分包策略和机制有关。
5 结 语船岸融合远程升级系统的研发与应用,为航运业的智能化发展提供了有力的技术支持。通过关键技术的研究与应用,系统实现了在弱网环境下对船舶应用程序的高效、安全远程升级,提高了船舶管理效率,降低了运营成本,提升了航运业的整体竞争力。然而,随着技术的不断发展和航运业需求的日益增长,船岸远程升级系统仍有许多值得深入研究和改进的地方。如可以进一步优化数据传输的安全性、提升系统的稳定性和可靠性、更加高效的增量升级算法、对于弱网环境鲁棒性更强的断点续传技术等。
| [1] |
时榕茂. 自动升级程序在船舶监测系统中的应用[J]. 现代计算机, 2021, 27(31): 108-111+116. SHI R M. Application of automatic upgrade program in ship monitoring system[J]. Modern Computer, 2021, 27(31): 108-111+116. DOI:10.3969/j.issn.1007-1423.2021.31.017 |
| [2] |
彭楠宣, 周香红. 一种智能燃气表空中升级系统及升级方法[P]. 中国专利: CN112383439B, 2023.
|
| [3] |
肖金赫, 邓义斌. 船舶管理系统船岸数据同步机制分析[J]. 船海工程, 2015, 44(3): 128-132. XIAO J H, DENG Y B. Data synchronization mechanism for ship management system[J]. Ship & Ocean Engineering, 2015, 44(3): 128-132. DOI:10.3963/j.issn.1671-7953.2015.03.030 |
| [4] |
高小轲, 时向泉, 徐莉. 通用岸船信息传输同步系统及其在机关建设一体化平台中的应用[J]. 舰船科学技术, 2024, 46(14): 1-7. GAO X K, SHI X Q, XU L. General shore-ship information transmission synchronization system and its application in the integrated platform of agency construction[J]. Ship Science and Technology, 2024, 46(14): 1-7. |
| [5] |
林晓松, 朱子善, 刘开繁. 一种基于AIS通信的船载终端远程升级方法[P]. 中国专利: CN108196859B, 2021.
|
| [6] |
陈建林, 连雪海, 姚克波. 船载监管终端远程升级功能的设计与实现[J]. 无线互联科技, 2018, 15(7): 56-58. CHEN J L, LIAN X H, YAO K B. Design and implementation of remote upgrade function for shipborne monitoring terminal[J]. Wireless Internet Technology, 2018, 15(7): 56-58. |
2026, Vol. 48
