楊冬雪 鄧榮




摘要:主要對車載邊緣計算環境中基于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.
【通聯編輯:梁書】