基于Kubernetes的海量船舶交通信息数据存储系统设计

2024-08-17 00:00侯国佼王士健姜东参周世豪周延通
数字通信世界 2024年7期

摘要:针对Kubernetes在异构云平台的多租户和复杂负载挑战,该文设计了层次化资源模型和时序数据指标,结合公平算法,实现高效船舶交通信息数据存储系统,提升资源管理与调度效率,为大规模数据存储提供有效解决方案。

关键词:Kubernetes;船舶;交通信息;存储系统

doi:10.3969/J.ISSN.1672-7274.2024.07.001

中图分类号:U 675.7 文献标志码:B 文章编码:1672-7274(2024)07-000-03

Design of Mass Ship Traffic Information Data Storage System Based on Kubernetes

HOU Guojiao, WANG Shijian, JIANG Dongcan, ZHOU Shihao, ZHOU Yantong

(Three Gorges Navigation Authority of the Yangtze River, Yichang 443002, China)

Abstract: In view of the multi-tenancy and complex load challenges of Kubernetes on heterogeneous cloud platforms, we have designed a hierarchical resource model and time series data indicators, combined with a fair algorithm, to achieve an efficient ship traffic information data storage system, improve resource management and scheduling efficiency, and provide effective solutions for large-scale data storage.

Keywords: Kubernetes; ship; traffic information; storage system

0 引言

随着全球贸易的迅速发展,海上船舶交通变得日益繁忙,如何有效管理和存储海量船舶交通信息成为海事和航运领域的重要挑战[1]。为提升海上交通管理效率和航海安全,本文研究和开发了一个高效的数据存储系统。云计算和大数据技术的进步为这一难题提供了解决思路,其中,Kubernetes技术因高效资源管理、良好扩展性和灵活部署能力备受瞩目[2]。尽管在海量船舶数据存储方面,Kubernetes的应用尚处于初级阶段,但本研究创新性地运用该技术,构建了层次化资源模型,并引入层级主资源公平算法,优化了资源调度的公平性[3]。以此为基础,本文进一步设计了适应复杂负载的数据存储系统框架,能够根据实时数据流量动态调配资源,从而满足海量数据的处理需求。

1 基于Kubernetes的海量船舶交通信

息数据存储系统

1.1 层次化资源模型设计及其调度公平性算法

Kubernetes是开源容器编排平台,可自动化部署、扩展和管理容器化应用程序[4]。随海上贸易发展,航运公司产生大量船舶交通数据,其有效分析与管理成技术难题。为此,本文设计了基于Kubernetes的层次化资源模型,以应对海量船舶交通信息储存。设计思路分三步:首先,创建基于定制资源定义(CRD)的资源模型API,这是Kubernetes资源调度的基础;其次,运用Operator模式管理和调度资源,实现资源对象的自动化管理;最后,扩展资源模型功能,因集群资源利用常不均衡,需更精细的资源监控。此设计旨在提高资源利用效率和管理便捷性,以满足海运信息数据不断增长的需求,提升航运公司的运营效率和安全性。

为了更好地描述关联模型中的资源使用情况并提高资源的调度公平性能,研究引入层级主资源公平算法(Hierarchical Dominant Resource Fairness,H-DRF)进行资源管理[5]。首先,该算法收集来自不同用户或组的资源请求。其次,对于每个资源请求,算法将识别其主资源并计算每个请求的主份额。再者,H-DRF会考虑资源分配的层级结构,并评估每个层级的资源需求情况。最后,根据计算出的主份额和层级需求来公平分配资源,若分配结果满足系统要求则结束算法,若不满足则重新调整资源分配,直到分配结果满足要求。

1.2 复杂负载下数据存储系统的设计实现

完成Kubernetes层次化资源模型及其调度公平性算法的设计后,研究进一步转向这一模型在实际应用场景中的具体实现,搭建了面向复杂负载工作的数据存储系统框架。结合Kubernetes层次化资源模型的数据存储系统框架结构如图1所示。

图1 结合Kubernetes的数据存储系统框架结构

图1展示了基于Kubernetes层次化资源模型的数据存储系统设计框架,包含7个关键部分。数据采集和预处理模块负责从多方数据源收集并清洗船舶数据,确保数据质量。考虑到数据的海量性,本研究选用Cassandra作为主存储方案,因其快速读写、大容量存储及易扩展性。数据处理层采用Apache Spark框架,支持批处理和实时数据流分析,实现高效数据处理。核心部分是Kubernetes,负责全面资源管理和调度,利用其自动扩展功能应对需求波动。此外,框架还包括安全和合规、监控日志管理以及用户界面和API等模块,共同构成了一个完整、高效且安全的数据存储和处理系统,满足海事管理和航运公司对海量船舶交通信息的处理需求,提升了运营效率和安全性。

Kubernetes的层次化资源模型允许为不同的服务和应用定义不同的资源配额和优先级,确保关键应用始终有足够的资源。考虑到船舶交通信息的敏感性和重要性,还在系统框架中实施了严格的安全措施。这包括数据在传输和存储过程中的加密、基于角色的访问控制以及审计日志的记录。此外,该层结构还确保系统遵守了行业标准和法规要求,如国际航运法规和数据保护法规。最后,此次研究为系统用户提供了一个直观且功能丰富的用户界面,使各位用户能够轻松访问和分析数据,并且提供了RESTful API,允许其他系统或服务轻松集成和自动化数据处理。

2 基于Kubernetes的船舶数据存储系

统测试分析

2.1 系统资源分配功能及调度公平性验证测试

为验证所设计的Kubernetes层次化资源模型和H-DRF算法的性能,选择传统Kubernetes、Docker Swarm编排容器作为对比模型,得到各个模型的资源分配效率和资源利用率如图2所示。

图2 三种模型的资源分配率和资源利用率

图2(a)和图2(b)所示分别为传统Kubernetes、Docker Swarm、Kubernetes层次化三种资源模型的资源分配率和资源利用率。由图2(a)可知,随着时间的增加,三种模型的资源分配率均先增加后保持稳定,稳定后传统Kubernetes、Docker Swarm、Kubernetes层次化三种资源模型的最高资源分配率分别为81.5%、89.8%、97.2%。由图2(b)可知,随着时间的增加,三种模型的资源利用率也呈现先增加后保持不变的趋势。稳定后传统Kubernetes、Docker Swarm、Kubernetes层次化三种资源模型的最高资源利用率分别为83.2%、91.5%、99.0%。

通过对比三种资源模型的资源分配率和资源利用率,可知此次研究所设计的Kubernetes层次化资源模型的性能最优。研究进一步引入主导资源公平性算法(Dominant Resource Fairness,DRF)、加权公平排队算法(Weighted Fair Queueing,WFQ)两种调度算法作为对比算法,从而验证文中所设计的H-DRF算法的有效性。三种算法的任务调度时间和公平性指数变化情况如图3所示。

图3 不同调度算法的任务调度时间和公平性指数变化情况

图3(a)和图3(b)所示分别为DRF、WFQ、H-DRF算法的任务调度时间和公平性指数变化情况。由图3(a)可知,当任务数量不断增加时,三种调度算法的任务调度时间均会改变。相较于DRF和WFQ来说,H-DRF的调度时间始终保持在0.4 s以下,DRF、WFQ、H-DRF所耗费的最高任务调度时间分别为1.65 s、0.92 s、0.38 s。由图3(b)可知,当调度时间不断增加时,三种调度算法的公平性指数均总体呈现上升的变化。其中,H-DRF的公平性指数波动幅度最小,DRF、WFQ、H-DRF最终所达到的稳定公平性指数值分别为0.68、0.76、0.93。

2.2 基于Kubernetes的存储系统性能测试

除了验证Kubernetes层次化资源模型和H-DRF算法的性能,研究将两者结合应用到数据存储系统中,并根据存储系统单个Pod端到端调度情况进行了系统性能测试,如图4所示。

图4(a)、图4(b)、图4(c)分别为Docker Swarm、传统Kubernetes、Kubernetes层次化资源模型所搭建的数据存储系统调度稳定性和调度耗时情况。由图4(a)可知,Docker Swarm下的存储系统的稳定性在0.76~0.85之间,其单个Pod端到端调度耗时在0.22~0.27 s之间。由图4(b)可知,传统Kubernetes下的存储系统的稳定性在0.83~0.91之间,其单个Pod端到端调度耗时在0.08~0.14 s之间。由图4(c)可知,Kubernetes层次化资源模型下的存储系统的稳定性在0.96~0.99之间,其单个Pod端到端调度耗时在0.01~0.04 s之间。

3 结束语

本研究利用Kubernetes构建层次化资源管理模型,并引入H-DRF算法以确保集群资源的公平调度。结合这两点,本研cZsSgUecEw7JTwMe7OlFBx2bHmfsiluYQJMB+RplgYw=究设计了一个面向复杂负载的数据存储系统框架。实验结果显示,优化后的Kubernetes模型资源分配率高达97.2%,利用率达99.0%。H-DRF算法的调度时间低于0.4 s,公平性指数高达0.93,远超DRF和WFQ。在三种存储系统中,本研究设计的数据存储系统调度稳定性达0.99,单个Pod调度耗时仅0.01 s。这表明本研究的数据存储系统具有出色的资源调度性能,能有效处理大量船舶交通数据。然而,在极端负载或特殊资源需求下,如何平衡系统性能和公平性仍是挑战。未来,笔者将继续探索,以满足更多复杂场景的需求,为海事管理和航运提供更高效、更安全的解决方案。

参考文献

[1] 曾缘,李轲,窦亮.面向Kubernetes的容器立体化监控系统[J].计算机系统应用,2023,32(5):57-66.

[2] 蒋筱斌,熊轶翔,张珩,等.基于Kubernetes的RISC-V异构集群云任务调度系统[J].计算机系统应用,2022,31(9):3-14.

[3] 刘祥,胡瑞敏,王海滨.基于Kubernetes的AI调度引擎平台[J].计算机系统应用,2023,32(8):86-94.

[4] 韩维,孙林檀,吕静贤,等.电力企业互联网舆情数据规格化存储系统设计[J].信息技术,2023(8):160-164.

[5] 魏亚清,夏少芳,胡秀源.海量船舶故障数据挖掘中的模糊运算聚类算法分析[J].舰船科学技术,2022,44(13):182-185.

作者简介:侯国佼(1981—),男,汉族,湖北公安人,高级工程师,本科,研究方向为计算机应用。

王士健(1983—),男,汉族,湖北荆州人,高级工程师,硕士,研究方向为信息化建设和运维。

姜东参(1995—),男,汉族,河南信阳人,工程师,本科,研究方向为计算机科学与技术。

周世豪(1999—),男,汉族,湖北荆州人,助理专业师,本科,研究方向为计算机科学与技术。

周延通(1988—),男,汉族,河南新乡人,工程师,本科,研究方向为计算机科学与技术。