随着互联网与计算机技术的发展,船舶的智能化技术、自动化技术不断发展,智能化船舶不仅仅是指硬件设备的自动化、智能化,也是船舶航行数据的自动化、智能化。云计算技术是基于计算机与互联网发展而来的一项新技术,在促进船舶智能化方面有巨大的作用,主要包括:
1)船舶数据管理
云计算技术可以提供强大的数据存储和管理能力,将船舶各种数据(如航行数据、机电设备数据、货物信息等)集中存储在云端,实现数据共享和统一管理,提高数据的安全性和可靠性。
2)船舶运营管理
云计算技术可以提供实时的船舶运营管理服务,包括船舶位置监控、航线规划、货物跟踪等,帮助船舶企业实现更高效的船舶运营管理。
3)船舶维修保养
云计算技术可以提供更加智能化的船舶维修保养服务,包括设备故障预测、维修计划制定、维修记录管理等,帮助船舶企业降低维修成本,提高设备可靠性和安全性。
4)船舶智能化控制
云计算技术可以实现船舶智能化控制,包括船舶自动驾驶、智能航行控制、智能货物管理等,提高船舶的自动化程度和智能化水平。
5)船舶安全管理
云计算技术可以提供更加全面的船舶安全管理服务,包括船舶安全监测、安全风险评估、安全预警等,帮助船舶企业提高安全管理水平,降低安全风险。
本文针对云计算在船舶航行数据存储与备份系统的应用进行研究,介绍了典型的Hadoop云计算技术,搭建了数据存储与备份系统的基本框架,并详细介绍系统的关键构成。
1 Hadoop云计算技术的研究与发展现状Hadoop是一项Apache牵头开发的分布式计算框架,它的设计定位是一种连接大中型集群硬件设备与用户的平台,一方面为应用程序提供稳定可靠的接口,另一方面可以充分调用线下的大规模运算器和处理器资源[1]。
Hadoop主要由HDFS分布式文件系统和MapReduce分布式计算模型两部分组成,HDFS是一种分布式文件系统,可以在集群中存储大规模数据,并通过多个节点实现可靠性和容错性。而MapReduce是一种分布式计算模型,可以对存储在HDFS上的数据进行分布式处理和分析。这些组件共同构成了Hadoop生态系统的核心,使得处理大规模数据变得更加高效和可靠。Hadoop的基本原理架构如图1所示。
Hadoop 的关键特性包括:
1)虚拟化
Hadoop的虚拟化特征是实现计算资源可拆分与分配功能的基础,基于互联网技术,Hadoop可以充分调用多核CPU的计算资源,满足用户的计算需求。Hadoop的虚拟化并不是计算资源的虚拟化,而是指接入计算资源的接口虚拟化,Hadoop为每个用户分配了不同的ID,每个ID背后都能调用线下的服务器集群,实现计算资源利用的最大化。
2)伸缩性
Hadoop云计算平台具有良好的伸缩性,可以根据用户访问的数量,合理配置IT资源。Hadoop伸缩性也体现在HDFS和MapReduce模块的可扩展性:① HDFS可以存储PB级别的数据,而且可以轻松地扩展存储容量,只需要新增节点即可[2]。② Hadoop的MapReduce框架可以轻松地扩展计算能力,只需要新增计算资源节点即可。
3)多用户服务
Hadoop云平台的核心是为用户提供服务,包括各类用户界面和可编程访问的接口,同时,Hadoop平台需要考虑多用户并行技术,既要保持用户数据之间的相对独立性,又要能够充分调度用户资源,解决共性的问题。
2 船舶航行数据存储与备份系统设计 2.1 船舶航行数据存储和备份系统的基本框架设计针对海上船舶的航行数据存储和备份问题,本文基于Hadoop云平台技术,建立船舶航行数据存储和备份系统,系统的功能框图如图2所示。
船舶航行数据存储和备份系统的关键特性包括:
1)B/S架构
船舶航行数据存储和备份系统在调用Hadoop云计算资源时,采用基本架构为B/S架构,由于船舶数据存储和备份系统是一种可视化平台,需要进行数据、应用的快速迭代,采用C/S架构已经无法满足[3],因此,本文选用B/S架构搭建系统平台。
B/S架构的优势在于:
① 基于浏览器的工作模式,用户通过浏览器向服务器发送请求,只要携带浏览器的设备就能实现系统的访问,非常方便。
② 高效性。B/S架构可以通过服务器端的负载均衡和分布式处理,实现高效的数据处理和资源利用,提高系统的响应速度和吞吐量。
③ 安全性。B/S架构将应用程序的核心逻辑和数据都放在服务器端,客户端只是通过浏览器等工具与服务器进行交互,可以有效避免客户端的非法操作和攻击,提高系统的安全性。
④ 可维护性。B/S架构将应用程序的核心逻辑和数据都放在服务器端,客户端只是通过浏览器等工具与服务器进行交互,可以方便地对服务器端进行维护和升级,不需要对客户端进行大规模的更新和维护,降低了维护成本和难度。
B/S架构的工作流程图如图3所示。
2)通信卫星的选取
船舶航行数据存储和备份系统采用B/S架构,因此对数据链路的传输稳定性有较高的要求,本文采用海事卫星 (INMARSAT)通信系统进行数据传输,Inmarsat第五代卫星系统能够实现全球范围内的高速移动宽带业务,满足系统的通信需求。
2.2 船舶数据存储与备份系统的云服务器设计由于船舶航行数据量大且源源不断的产生,因此在设计云服务器时,遵循下述原则:
1)软件即服务SaaS
船舶数据系统基于云平台开发时,是将数据存储和备份应用程序作为服务提供给客户,而不是将软件安装在船舶客户本地的计算机上。SaaS模式下,船舶终端用户可以通过通信网络随时访问软件应用程序,而不是下载和安装软件。SaaS模式的优点包括灵活性、可扩展性、易于使用、低成本和无需维护等。
2)平台即服务PaaS
船舶数据存储和备份系统服务器开发时,遵循平台即服务(PaaS)的原则,云计算为用户提供一个完整的应用程序开发和部署平台,比如操作系统、数据库、Web服务器、开发工具和应用程序框架等,使得船舶用户可以专注于应用程序的开发,而无需关注底层的基础设施和管理工作,基于PaaS原则,船舶数据库系统可以更快的构建、部署和扩展,也能降低程序开发的成本。
3)设施即服务IaaS[4]
运用IaaS原则建立船舶数据存储与备份系统,通过IaaS获取云服务器的硬件资源,比如阿里云资源,不仅能够降低云服务器和平台的开发难度,还能大幅度降低系统云服务器的开发成本。
基于云计算的船舶数据存储与备份系统的云服务器功能框架如图4所示。
数据库是船舶数据存储与备份系统的核心,结合云计算技术,系统并不在本地设备上开发数据库,而是采用云端数据库SQL Azure技术。
SQL Azure云端数据库引擎是基于网络的关系型数据库引擎,也是基于SQL Server 数据库技术开发而来的一种数据库技术,具有并行性、可扩展性、实用性高等优点。
SQL Azure数据库引擎的功能图如图5所示。
可知,SQL Azure数据库引擎主要有3种层次架构:
1)服务层
服务层是SQL Azure数据库引擎的前端服务接口,负责接收来自不同用户、不同场景的数据请求,包括SSL、TDS 、连接与指令、Http等,服务提供层将数据通过gateway分发到不同用户IP[5]。
2)平台层
平台层是SQL Azure数据库的虚拟机所在位置,每个虚拟机负责管理指定用户数量的数据库,并具有服务请求管理的权限。
3)基础层
基础层是SQL Azure数据库引擎的计算单元和网络基础,在访问SQL Azure数据库引擎时,需要对每一个Windows Azure账户进行ID验证。。
3 船舶航行数据存储与备份系统软件开发针对船舶航行数据存储与备份系统的软件程序开发,本文选用的编程语言为Ajax语言[6],Ajax是一种基于Web的Java Script技术,应用潜力巨大。
Ajax的优势在于:
1)减轻服务器负担
使用Ajax可以将部分数据的获取和处理交给客户端完成,对于减轻船舶数据存储与备份系统服务器的负担有明显效果,同时也能提高服务器的分时复用性能。
2)提高响应速度
使用Ajax可以实现局部更新,减少了网络传输的数据量,传统的Web应用采用填写表单的数据访问模式,用户提交一个Web服务器请求后,Web服务器会返回针对用户请求的页面。这种访问模式的响应速度慢,且大量占据服务器的通信带宽。Ajax技术在面对服务请求时,可以直接在客户端采用JavaScript生成用户所需的答复,省去了服务器和浏览器之间的通信流程。
3)提高交互性
使用Ajax可以实现动态交互效果,如实时搜索、自动补全等,可以在客户端的机器上进行需求和答复的交互,不需要增加浏览器插件,提高了页面的交互性。
4)提高可维护性
使用Ajax可以将页面的逻辑分离,使得代码更加清晰,易于维护。
5)提高可扩展性
使用Ajax可以实现模块化开发,使得系统更加灵活,易于扩展。
系统首先进行初始化,然后进行SQL Azure服务器的初始化,系统自动判断数据传输需求,调用Ajax程序,经过B/S架构数据传输,实现整个舰船航行数据存储与备份系统的工作。
4 结 语为了提高船舶航行数据的采集、分析和处理水平,本文设计开发了船舶航行数据存储与备份系统。该系统充分采用Hadoop云计算技术和SQL Azure数据技术,采用B/S架构搭建,能够满足船舶终端用户对数据采集、访问、上传、请求等不同使用场景的需求,具有一定应用价值。
[1] |
王琦. 异地数据存储备份与容灾系统建设与实践[J]. 网络安全技术与应用, 2020(6): 81-82. DOI:10.3969/j.issn.1009-6833.2020.06.044 |
[2] |
程真何, 吴强. 城市配电自动化数据存储容灾备份系统的建设[J]. 科技资讯, 2014, 12(31): 118-119. DOI:10.3969/j.issn.1672-3791.2014.31.093 |
[3] |
王永平, 魏绍谦. 基于企业级信息集成平台的数据存储备份系统的构建[J]. 微计算机信息, 2012, 28(5): 116-118. |
[4] |
王帆飞. 国土资源空间数据存储备份系统的设计与实现[J]. 计算机与现代化, 2012(3): 190-193. DOI:10.3969/j.issn.1006-2475.2012.03.050 |
[5] |
顾鹏, 刘立刚, 谢长生. 数据存储系统备份技术研究与分析[J]. 计算机安全, 2003(6): 71-72. DOI:10.3969/j.issn.1671-0428.2003.06.035 |
[6] |
谢章武, 陈倩怡. 一个网络数据存储备份系统方案的设计与实现[J]. 金融电子化, 2001(3): 47-52. |