APP下载

车载边缘计算中FTP服务器集群应用研究

2023-12-25杨冬雪邓荣

电脑知识与技术 2023年31期

杨冬雪 邓荣

摘要:主要对车载边缘计算环境中基于Linux平台的FTP服务器集群进行研究,首先对车载边缘计算场景进行分析,了解数据的来源以及传输方向,之后根据需求选择使用FTP协议,搭建一个基于Linux平台的FTP服务器集群,在服务器集群中提供FTP服务,实时上传车载数据,有效避免车辆与云端服务器通信过程中会产生的高延时和数据量庞大的问题,提高道路实时数据处理效率。

关键词:车载边缘计算;FTP服务;服务器集群

中图分类号:TP391    文献标识码:A

文章编号:1009-3044(2023)31-0122-03

开放科学(资源服务)标识码(OSID)

0 引言

近年来,随着驾驶技术、无线通信技术的发展,伴随着云计算技术以及云服务器的出现,在车联网环境中引入移动邊缘计算技术被称作车载边缘计算技术(Vehicle Edge Computing,VEC) [1],通过在路边单元(Road Side Unit,RSU)上配备边缘服务器,就近提供车辆所需数据处理计算服务,在道路场景中,产生海量的数据和连接,边缘计算靠近数据终端侧,可以及时处理对时延要求敏感的大量数据,这样避免了云平台因处理海量数据而出现延迟、网络拥塞等情况,可为车载用户提供低时延、高带宽、高可靠性的应用服务。

车载边缘计算需要将计算任务从云端迁移到车辆所在的边缘设备上,并且通过车联网技术将数据传输到云端进行存储和处理。通过FTP协议,用户可以上传和下载文件,其在车载边缘计算中具有广泛的应用潜力,FTP具有高效的文件传输能力,能够快速地传输大量的数据;其次,FTP支持断点续传和数据校验,保证数据传输的可靠性;此外,FTP还支持多种安全协议和身份验证机制,提供数据传输的安全保障。本文考虑车载边缘计算环境中的数据上传问题,设计了一个Linux服务器的集群,利用服务器集群的快速数据计算和处理能力,并在集群中提供FTP服务,上传汽车实时行驶数据和动态交通信息数据,加强信息共享能力。

1 车载边缘计算场景

车载边缘计算技术(VEC) 是车联网与MEC技术的结合,车载边缘计算场景图如图1 所示,通常可以分为三个层次:边缘节点层、边缘网络层和后端云层。每个层次具有不同的功能和职责[2]:

1) 边缘节点层:由车、路边单元、行人和红绿灯等组成,包含车辆内部的边缘计算节点。边缘节点层负责接收、处理和存储来自路边单元和车载单元的数据,并执行本地计算任务,它包括了各种嵌入式系统或车载计算平台,可以实时响应车辆的需求,提供边缘计算的能力,在这一层可以实现车与车、车与人、车与路之间的通信。

2) 边缘网络层:由基站和边缘服务器组成,负责连接车辆内的边缘计算节点与后端云层之间的通信,可以及时处理路边单元和车载单元上传的低时延数据,将边缘节点层收集到的数据进行数据处理和数据存储操作,并通过基站将边缘网络层和后端云层处理完成后的数据返还至车辆。边缘网络层提供网络连接、数据传输和通信协议转换等功能,边缘层通常使用各种通信技术,如4G/5G移动网络、Wi-Fi、蓝牙等,实现车辆与边缘网关或云服务器之间的数据传输。

3) 后端云层:由云服务器组成,负责接收、处理和存储来自车辆节点和其他边缘计算节点的数据。它提供强大的计算和存储能力,支持大规模数据分析、机器学习和决策制定。后端云层可以执行复杂的数据处理和应用程序任务,并通过边缘网络层与车辆节点进行通信。

这三个层次协同工作,使得车载边缘计算能够在车辆内部进行实时的数据处理和决策,减少了与后端云服务器的延迟和数据传输量。

2 FTP协议

FTP (File Transfer Protocol) [3],文件传输协议,可跨平台、简单且易于实现,是应用最广泛的文件传输应用之一。FTP工作在网络OSI参考模型中的第七层,TCP/IP模型的第四层,提供文件传输和管理功能。TCP通过一系列策略保证传输过程中的可靠性,建立在TCP基础上的FTP协议,在文件传输过程中也是非常可靠的,所以采用FTP进行文件传输时除非提示有错误,否则不会出现任何传输问题。

FTP的基本模型如图2所示,采用客户机/服务器模式,即C/S模式,其中客户端是发送文件或请求文件的一方,而服务器是存储文件和响应客户端请求的一方。在普遍使用的HTTP通信过程中,只需要建立一个连接就可以传输数据,但在FTP通信过程中,在客户端与服务器进行文件传输的过程中须使用两个连接,控制连接和数据连接,分别负责命令请求与交互和数据传输。

在FTP协议进行文件传输时,客户端与服务器通过TCP建立连接,客户端首先使用默认的21号端口向服务器发出控制连接请求,随后服务器使用20号端口与客户端建立数据连接。正是由于FTP采用两个独立连接的优点,使文件传输分工更加明确,文件传输时也可以控制连接。

在本文中,需要完成车载边缘计算环境中边缘节点与FTP服务器的文件上传以及下载任务,根据上述对FTP的介绍,要实现最终的文件传输,首先需要建立FTP控制连接、客户身份验证和FTP数据连接,控制连接需要一直保持连接状态,只有用户端需要断开才会断开连接。FTP与计算机的类型和操作系统无关,因此基于这种原理,在不同的计算机类型和操作系统上使用FTP进行文件的上传时基本的命令结构也都是完全相同的。

3 中心云服务器集群应用

Linux服务器集群在许多领域都有广泛的应用[4],如科学计算、数据分析、云计算等。它们提供了一种高性能、高可靠性和可扩展性的解决方案,可以满足大规模计算和处理需求。Linux服务器集群是将多台运行Linux操作系统的服务器组合在一起,形成一个统一的高性能计算集群。Linux服务器集群通常采用并行计算的方式,将大规模的计算任务分解成多个小任务,并在多个计算节点上同时进行处理,从而实现高效的计算,确保整个系统的可用性,可通过添加更多的计算节点来增加计算能力,扩展集群的计算能力。

服务器集群可以提供高性能的数据处理能力,支持实时数据分析、车辆感知和决策等任务。集群中的多个服务器可以进行并行计算,以加快数据处理速度。此外,服务器集群还可用于车载边缘节点的数据存储,提供持久性的存储解决方案。服务器集群可以充当车载通信网关,负责与车辆内部和外部网络的连接,实现车联网功能。集群中的服务器可以处理车辆与云端服务器之间的通信,包括数据上传、命令下发、实时消息推送等。服务器集群的高可用性和负载均衡特性能够提供稳定可靠的通信服务。通过服务器集群,可以对车载边缘节点的资源进行集中管理和调度。集群中的服务器可以监控和管理车辆内的计算资源、存储资源和网络资源,并根据需求进行资源分配、任务调度和负载均衡。这样可以提高资源利用率,降低能耗,同时确保系统的性能和可靠性。

在车载边缘计算场景中使用Linux服务器集群具有如下优势:

1) 高可用性:服务器集群可以提供高可用性和冗余性,减少了因服务器故障而导致的停机时间。车载边缘计算涉及大量的数据生成、处理和存储需求,服务器集群可以提供高性能的数据处理能力,支持实时数据分析、车辆感知和决策等任务,支持数据存储,提供持久性的存储解决方案。

2) 负载均衡:服务器集群通过将负载分布到多个节点上,可以实现负载均衡。这有助于避免单个服务器过载,根据当前的负载情况智能地分配请求,确保资源的有效利用和最大化的吞吐量。

3) 扩展性:服务器集群可以轻松扩展以应对不断增长的流量和需求。通过添加更多的节点,可以增加系统的处理能力和容量。

4) 故障恢复和容错能力:可以保证车载边缘计算系统的稳定运行,通过在集群中配置冗余节点和自动故障转移机制,若某节点发生故障,其他节点可继续接管该节点的服务,提供可靠的系统运行,避免长时间的停机时间和数据丢失。

5) 灵活性和可管理性:允许对集群中的节点进行集中管理和监控,实施统一的配置和更新。这样可以简化管理任务,并提供更好的可控性和可维护性。

6) 成本效益:通过充分利用多个节点的计算资源,可以按需分配和利用硬件资源,减少硬件投资和维护成本。

4 仿真测试

4.1 在Linux服务器上架设FTP服务

由于FTP服务与计算机型号和操作系统无关,利用Linux系统的高稳定性,本文采用RHEL8系统架设FTP服务器[5]。RHEL8系统中 FTP用户有匿名用户、本地用户及虚拟用户三种认证方式,在此选择相对较安全的虚拟用户模式,虚拟用户是一种由FTP服务器创建的虚拟账号,它不对应于服务器操作系统中的实际用户,通常用于增加FTP服务器的灵活性和安全性,特别是在大型服务器环境中,虚拟用户的凭据和权限由FTP服务器自己管理和维护,不依赖于操作系统的用户和权限,FTP服务器可以实现灵活的权限控制,为FTP服务单独建立用户数据库文件,将不同的虚拟用户映射到不同的目录,并给予它们特定的读写权限,最安全的一种用户认证模式。因此在车载边缘计算场景中FTP服务器集群采用更为安全的匿名模式进行文件传输服务。选择一台服务器配置步骤如下:

1) 配置该台服务器的IP为192.168.10.100。

2) 采用本地yum源安装FTP服务的vsftpd软件,即yum   -y  install  vsftpd*。

3) FTP服务安装完成后,为虚拟用户创建数据库文件:/etc/vsftpd/virtuserdb.txt,然后使用Hash算法加密数据库文件:db_load  -T  -t  hash  -f  /etc/vsftpd/virtuserdb.txt  /etc/vsftpd/vsftpd.db。

4) 创建虚拟用户对应的真实账号及其所登录的目录,并设置相应的权限:useradd  -d  /var/virtuser  virtuser创建用户virtuser,其主目录是/var/virtuser,并且为virtuser用户和组添加读和执行权限chmod  755  /var/virtuser。

5) 在/etc/vsftpd/vsftpd_user_conf目录下为虚拟用户添加读写权限。

6) 修改FTP配置文件,打开FTP配置文件:/etc/vsftpd/vsftpd.conf,在配置文件末尾添加语句及对应功能如表1所示。

7) 启动vsftpd服务:systemctl  restart  vsftpd,關闭防火墙: systemctl  stop  firewalld,关闭selinux:setenforce  0,之后便可在客户端使用虚拟用户登录访问FTP服务器上的资源。

4.2 FTP服务器性能测试

为了便于观察,在Windows客户端使用JMeter对FTP服务器进行性能测试[6]。 JMeter是一款由Apache 组织基于 Java开发的开源的负载测试工具软件,它主要用于模拟并发用户访问网站、Web应用程序、Web服务、数据库等,以评估系统在不同负载情况下的性能和稳定性。JMeter提供了丰富的功能和灵活的配置选项,支持多种协议,可以创建测试计划来组织和管理测试,通过线程组来模拟并发用户,生成丰富的测试报告和图表,以可视化方式展示测试结果。可以通过图表分析响应时间、吞吐量、错误率等指标,可用于测试静态和动态资源,可进行压力测试、性能测试、功能测试、接口测试等,可以帮助开发人员和测试人员评估系统的性能和稳定性,发现潜在的性能问题,并进行性能优化。

1) 创建FTP服务测试计划

首先在测试计划中创建线程组,添加线程“FTP服务器测试”,设置线程数为500,模拟此时有500个边缘用户同时请求FTP服务器的响应。添加FTP请求并进行设置,设置协议为FTP协议,服务器IP为192.168.10.100,端口号为默认端口号21,设置服务器中远程文件路径为tmp,本地上传的文件为D:/putfile.txt,传输方式为put,并输入访问FTP服务器的虚拟用户名及口令。

2) 添加监听器

在监听器中添加结果树和聚合报告。

3) 运行线程

运行线程后查看结果树和聚合报告,进行性能分析,如图 3、图4 所示。在察看结果树中,可以看到所有的请求都有正确响应并完成,500个模拟用户均完成本地文件上传任务;在聚合报告中,通过观察每个FTP上传请求的平均响应时间为109ms,响应时间指系统对用户请求做出响应所需要的时间,响应时间越短,表明软件的响应速度越快,性能越好,吞吐量为25.0/sec,表示每秒能处理25个任务,吞吐量越大,系统单位时间内处理的数据就越多,即负载能力就越强。

5 结论

车载边缘计算技术可以有效提升交通系统的安全性和可靠性,但其中的数据传输需要毫秒级别的处理速度,考虑将计算任务卸载到云端服务器,但同时也会因传输距离较远带来车载终端的服务质量严重下降的问题。因此本文在云端设计了一个基于Linux系统的FTP服务器集群,提供高性能、高可用性的FTP服务,以提高车载终端的服务质量,提高道路实时数据的处理效率。

参考文献:

[1] 朱文霞,冯兴乐,刘静敏,等.面向车联网多优先级任务的MEC计算卸载策略[J].现代电子技术,2022,45(1):125-131.

[2] 段帅琪.基于移动边缘计算的车辆计算任务协作卸载策略研究[D].广州:广东工业大学,2021.

[3] 史刘阳,牛奔,霍亚玺,等.某型导弹综合测试设备笔录仪数据采集改造研究[J].航空维修与工程,2019(6):41-43.

[4] 荣露威,陈丽琼.基于Linux平台的Web服务器集群架构设计[J].无线互联科技,2022,19(3):69-70.

[5] 王波.Linux网络技术[M].2版.北京:机械工业出版社,2015.

[6] 杨柳.基于JMeter的网站性能测试研究[J].信息記录材料,2022,23(10):204-206.

【通联编辑:梁书】