沈大港,范鵬飛,周慧娟,周艷芳,高博文
(1.北方工業大學,北京 100144;2.中國科學院 計算機網絡信息中心,北京 100190;3.交通運輸部公路科學研究院,北京 100088;4.中國聯通北京市分公司,北京 100035)
隨著智能交通的快速發展,安裝有車聯網設備的機動車數量不斷增加,而且車聯網設備的種類數量也獲得了發展。這些情況的出現,使車聯網技術具備了獲得大發展的應用基礎,使得如今移動車載終端的業務環境更加復雜,消息的類型更加繁多。移動邊緣計算由ETSI國際標準組織提出并制定,是基于5G架構將基站與互聯網業務相融合的技術;是利用無線接入網,將就近電信用戶所需的服務融于云計算能力,所搭建的電信級服務環境[1]。無線資源有限,如何在有限的帶寬資源下,確保車輛和乘客的需求均能得到滿足,及確保帶寬資源的合理分配及利用,提高空口帶寬利用效用,成為一個有待解決的問題[2]。一方面是有限資源的競爭會增加消息處理的時延,另一方面是對車載終端設備造成較大的能量消耗[3]。現有的信息傳輸過程主要有以下3點不足:
(1)當控制方案與實際交通需求出現不適應時,傳統的反饋至總控制云端(即總控中心)進行運算工作,處理后再下發控制的方案無疑會造成一段時間內的交通資源浪費。
(2)通常情況下,總控中心與具體交通設備的物理距離相對較遠,所以會使交通信息在傳輸過程出現丟包、延時等情況。
(3)大量數據流匯集云端或者總控中心,加重服務器負擔的同時,擠占處理能力與方案下發能力,進一步削弱方案的時效性。
目前車聯網的發展重點已逐漸從核心網轉向邊緣網,在靠近車載終端的網絡邊緣分布式地部署各類網絡資源,以盡可能地將各類消息任務從云平臺遷移到邊緣側進行響應實現[4]。邊緣計算在國內外,在交通方面被研究應用于軌道交通之中,以滿足鐵路信息化的高速發展。鐵路網絡對移動通信提出了越來越高的要求,高鐵網絡中、車地之間的數據通過無線進行傳輸。而邊緣計算技術在車路協同應用場景分為以用戶體驗為核心的信息服務類應用、以車輛駕駛為核心的汽車智能化類應用和以協同為核心的智慧交通類應用三大類型[5]。如今在國內,車聯網的發展正由核心網轉變為邊緣網。現在關于邊緣網的研究主要集中在園區的局內網處理與計算。根據各大研究機構的預測,車聯網將是5G最先落地、也是最大的應用[6]。而邊緣計算則是支持5G網絡低延時、高信息通道和低丟包的關鍵技術。目前在國內外,如何邊緣部署MEC平臺以支持車聯網應用是研究的重點。
文中的研究意義在于將MEC移動邊緣計算的思想融入車聯網。研究內容旨在針對具體的車聯網交通信息傳輸系統,借助MEC邊緣計算環境,幫助其提高工作效率。針對具體的交通傳輸系統場景,在其結構中加入MEC服務器。分析在其傳輸系統中加入MEC服務器后的傳輸特點并設計出對應的點對點傳輸系統。針對同時滿足車與車和車與路直接的信息傳輸這一目的,分別編寫了用戶設備間數據傳輸子系統和數據傳輸輔助服務子系統,形成了一種新的傳輸系統機制。編寫完成后對標之前分析的傳輸特點進行優化,設計并實現了對傳輸過程優化的關鍵技術。從而達到降低服務響應時延,優化現有車聯網信息傳輸系統的目的。
為進一步找出傳統車聯網場景下交通信息傳輸的問題,本研究利用Veins仿真平臺對傳統的車聯網信息傳輸系統進行仿真。Veins仿真平臺是由OMNET++網絡模擬器和SUMO道路交通模擬器組成的仿真器[7]。其為車聯網環境下的仿真提供了一套開源的仿真架構[8]。
經發現,直線道路的車輛分布簡單,能比較直觀地反映不同的車輛密度下的路由跳數參數對通信情況的影響。利用Veins,該文設計了一段5 km的雙向四車道直線道路仿真場景。并且將仿真實驗設計為一般城市場景,采集2 500 m×2 500 m的城市道路區域的實時仿真數據。車輛是以每秒鐘給定的概率隨機生成,且生成的道路位置和速度均為隨機,生成的車輛服從泊松分布。網絡應用層方面使用了UdpApp,車輛在道路生成后以0 s~5 s的隨機時間周期地發送信息,每個數據包的長度設置為不大于5 mb。網絡層格式為Ipv4報文格式。MAC層為802.11p標準,節點的有效通訊范圍設置為300 m。仿真運行的時間根據車流密度和道路長度設計為300 s~600 s,仿真結果評價網絡的通信性能指標為車輛密度、最大路由數對應的投遞率和端到端延遲。
由圖1、圖2可以看出,傳輸的信息量與端到端延遲量之間幾乎成正比,即車輛密度越大,信息量越大,則延遲越大。當延時過大時,用戶的網絡體驗越差,同時交通信息的時效性也會喪失[9]。而由包投遞率則可以看出,當基站服務器與道路車聯網端的比值越多時,其丟包率就越小。而當基站高于一個閾值時,便會出現網絡資源過剩的情況,因文中主要解決網絡資源不夠的問題,故不討論閾值以后的情況。綜上所述,車聯網傳輸的過程中需對以下問題進行改善:

圖1 不同車輛密度和最大路由的端到端延時

圖2 不同車輛密度和最大路由的包投遞率
(1)解決車輛通信端增多而造成的網絡堵塞現象:
(2)在不降低信息量的情況下降低丟包率:
(3)解決延時大、信息量多情況下的交通信息的時效性問題。
由上文可知,現今,傳統車聯網的信息傳輸系統存在丟包、延時、信息堵塞和時效性差等問題。隨著交通領域研究的不斷發展,利用車聯網治理交通擁堵的理論及實踐研究越來越多,但交通擁堵不是短期就可以解決的,要真正解決好城市交通擁堵問題,還需要進行大量和細致的研究工作[10]。MEC(multi-access edge computing)邊緣計算產業聯盟對邊緣計算下的定義是在靠近端或者數據源頭的網絡邊緣側,通過部署融合了網絡、存儲、計算、應用核心能力的開放平臺,就近提供邊緣智能服務,滿足行業數字化在敏捷聯接、實時業務、數據優化、應用智能、安全與隱私保護等方面的關鍵需求[11]。如果將邊緣計算技術的思路引入車聯網的信息傳輸系統中,情況將大為改觀。故為解決上述問題,針對現實情況下傳統的車聯網傳輸系統,在其匯聚節點前加入MEC服務器以下沉處理與計算工作。設計了一套利用邊緣計算技術思想,應對當前車聯網傳輸系統各類問題的新機制。
如圖3所示,將MEC服務器架設至總控中心與具體管理設施之間,其現實交通場景中通常表現為具有MEC服務器功能的網絡信號基站[12]。由于MEC服務器具有存儲、計算和處理數據的功能[13],所以,原本需要在總控中心進行的計算現在下沉到MEC服務器。而在新機制下,加載MEC服務器的車聯網交通信息傳輸系統相較于傳統的交通信息傳輸系統有三點優勢:

圖3 基于邊緣計算的車聯網信息傳輸結構
(1)降低了信息傳輸的時延性,提高了數據傳輸的速度與穩定性;
(2)將處理工作下沉,減少了總控中心的工作量;
(3)提高了控制方案的時效性,實現控制系統更加靈敏,直接減少了交通資源的浪費。
在以上新機制下的系統架構下,進一步設計了一套改進的基于邊緣計算技術,應用于此機制下的點對點傳輸系統。系統組成結構與運行邏輯如圖4所示。

圖4 點對點傳輸系統結構
這一套系統主要由兩個分工明確的子系統組成——用于用戶設備間信息傳輸的子系統和用于數據傳輸輔助服子系統。其中前者進行信息傳輸的兩端均為用戶端,所以,此子系統的設計核心為提高用戶體驗。而數據傳輸輔助服子系統主要面向的是服務器對用戶端或者另一服務器端之間的傳輸,所以,此子系統的設計核心為優化傳輸過程。兩個子系統的系統結果如圖5、圖6所示。

圖5 用戶設備間信息傳輸的子系統結構

圖6 數據傳輸輔助服子系統結構
根據第一節的仿真實驗結果和現實中實際情況發現,在具體的邊緣計算下的交通場景中,常常會涉及到大文件的傳輸。如何保證大文件傳輸過程的穩定性和速度不可避免地成為一個待解決的重要問題。而通過研究發現,如若在其信息的傳輸過程中,采用邊緣計算技術中的信息分片、并發上傳技術,可以大大地優化其傳輸速度并提高穩定性。因此,該文針對具有切分信息能力的用戶端和服務器,設計了具有切分式并發上傳和斷點續傳功能的傳輸模塊。本程序的切分上傳步驟主要分為三個部分:確定切分數量、上傳切分文件塊和合并切分文件塊。
第一步:上傳的文件會首先被讀取信息,并讀取數據庫檢測是否為已上傳。若不是,文件在后端讀取到的信息會放入數據庫等地方。若是則停止上傳并提醒用戶。
第二步:后端會得到根據已讀取到的文件信息預計總分塊個數,并開始對文件進行切分。切分的分塊大小可根據文件的大小進行調整。
第三步:后端會首先檢測當前分塊文件數量是否為預計數量(即檢測是否上傳完畢),并根據當前時間已上傳的分塊文件個數,返回上傳文件的總進度。如此循環直至上傳完畢。當用戶上傳中想要停止上傳請求時,可通過點擊前端停止按鈕,如此,后端會停止上傳剩余待上傳的分塊文件并刪除緩存文件夾中現有的分塊文件。
信息分片化實現后,經車聯網仿真實驗發現,當一個區域內車聯網用戶端達到一個比較大的值時,大量的交通數據匯集在當地基站將出現網絡堵塞的問題[14],上傳會耗費較多的時間,而上傳過程若耗費太多時間相當于耽誤了MEC服務器后臺處理或用戶分享這些交通數據的時間。為解決此問題,該子系統基于信息分片技術設計并實現了信息上傳、下載和信息處理同步進行的方式。上傳下載同步的實現過程主要采用了文件塊合并進度與下載進度指針聯動的方式。
第一步:當待上傳文件存入tmpfile(apacha臨時文件夾)時,后端會生成三個下載鏈接,分別是:平常的下載鏈接、二維碼化的下載鏈接和下載指針與合并進度聯動的特殊下載鏈接。
第二步:當用戶對未上傳完成的文件發出下載請求時,后端會將這一特殊下載鏈接返回給用戶,用戶在下載的時候,下載目標并不是最終存放文件夾upload中的文件,而是uploading文件夾中與原文件屬性相同的特殊文件。這一特殊文件原為擁有上傳文件相同的屬性的空文件,并不斷地接受來自己上傳文件塊的文件合并,在合并的同時返回$blod_num序號,依此來控制用戶下載的進度。
本功能實現后,大大提高了文件處理與分享的效率。
實驗環境主要設置如下:
(1)傳輸平臺。
服務器端:
--windows下的Google chrome瀏覽器。
用戶端:
--windows下的Google chrome瀏覽器。
--Android手機上的Google chrome瀏覽器。
--Ios手機上的Safari瀏覽器。
(2)平臺擴展模塊。
模塊1:apacha開發與瀏覽支持模塊,包括:apr-util-1.6.1、apr-1.7.0、pcre-8.43、httpd-2.4.41。
模塊2:websocket與webrtc的擴展api。
模塊3:mysql數據庫平臺。
模塊4:瀏覽器內置php編譯器。
(3)網絡傳輸主要協議。
協議1:http協議。
協議2:websocket協議。
第1個要驗證的實驗問題為在邊緣計算中利用多線程并發傳輸技術的加入是否改善了傳輸過程,同時對邊上傳邊下載功能對傳輸過程的改善設計實驗驗證。采用的方法為控制變量法,不變的量為文件名、所用軟件、均在局域網等客觀因素。變量為傳輸的過程是否采用并發傳輸技術,實驗過程為對照傳輸相同的文件,分析傳輸的速度與質量。對邊上傳邊下載功能的驗證為生成一個內容由特定字符組成,大小為10M的記事本文件并上傳,分別下載其上傳進度為20%~40%、100%時的文件,對照原文件檢測文件是否有存在丟包或損害。實驗中,傳輸兩端設定為pc發起端與服務器響應端。
第2個要驗證的實驗問題為邊緣計算技術的加入是否改善了車聯網的傳輸過程。本實驗采用控制變量法,其中不變的量為文件、傳輸方式、使用軟件等客觀因素。變量為傳輸的兩端是否在為同一網絡下進行傳輸。實驗過程為對照chorme瀏覽器下分片傳輸相同的文件,并分別對局域網下和互聯網下傳輸的過程進行記錄并分析。實驗中,局內網設定為未連接互聯網的內網,其傳輸過程需通過局內網絡,但不需通過云端。而互聯網傳輸則由發起端通過互聯網上傳中間端,再通過中間端下載至響應端。實驗過程中,兩傳輸端的物理距離始終為定量。圖7為部分實驗過程網絡示意圖。

圖7 網絡示意圖
如表1所示,傳輸為整塊,單個傳輸所花時間較慢,總體傳輸時間也偏慢。而若服務器切分之后進行傳輸,單個傳輸比較快,且總體傳輸比起前者來說,同樣較快。

表1 實驗1 pc端下的網絡傳輸結果
可以看出,傳輸的文件塊多線程并發上傳情況下,無論是傳輸速度還是總的傳輸時間,均比在整體上傳情況下進行傳輸要有一定改善。同時,經檢測得知,上傳下載功能對記事本文件的內容不存在丟包或者損害,且其能夠改善用戶傳輸效率。綜上所述,在pc端下,多線程網絡分片化技術運用于車聯網內在改善網絡傳輸過程的同時,還能帶來諸如斷點續傳和上傳下載同時進行等附加功能。而在手機端下,由于其端性能制約,帶來的傳輸改善并不明顯,其功能主要體現在防丟包與斷點續傳兩項上。而同時上傳下載的功能,無疑將大程度地改善用戶的使用體驗即總效率。
在測試的過程中,互聯網測試的速度與網絡質量有關系,且相比于局內網傳輸,互聯網傳輸測試更依賴于傳輸兩端的性能、網速和測試軟件環境等因素。而局內網,通常情況下只與網絡質量有關,傳輸兩端的性能、測試軟件環境等因素影響不大。
表2、表3為傳輸測試結果的主要參數。可以看出,傳輸的文件塊邊緣計算技術在局內網內進行傳輸,無論是傳輸速度的穩定性,還是總的傳輸時間,均比在互聯網情況下進行傳輸要快。其中,pc端的改善相較于手機端更加明顯。綜上所述,邊緣計算技術運用在車聯網內將極大地改善網絡傳輸過程。

表2 實驗2 pc端下的網絡傳輸結果

表3 實驗2 手機端下的網絡傳輸結果
由以上設計的實驗及其結果可以看出,邊緣計算技術的加入對于改善車聯網情況下用戶的網絡體驗和信息傳輸效率有很大提升。其使得在具體的交通場景中,網絡信息可以具有更好的時效性與穩定性。同時使得總控中心和云端的運算工作與網絡需求均得到了明顯的降低。由此可以看出,車聯網場景下的計算與處理工作邊緣化是今后車聯網想要進一步獲得更大發展的方向與措施[15]。
當邊緣計算技術應用于車聯網下的交通后,如何設計其MEC服務器的系統部署就顯得尤為重要。而由文中設計部署于MEC服務器的傳輸系統及其子系統,并進行實驗驗證后的結果可以明顯看出,邊緣計算技術中的信息分片并發傳輸與上傳、下載、處理同時進行可以很明顯地加快傳輸速度和提高傳輸穩定性。可以說,今后邊緣計算系統的部署,這一方面的技術將在改善網絡情況和傳輸過程方面顯得尤為重要。
綜上所述,新機制可以顯著降低服務響應時延,提升車聯網信息傳輸效率。
針對車聯網下利用邊緣計算技術進行交通之間的信息傳輸,提出了一套從架構部署到系統設計的完整的機制。充分利用了MEC服務器邊緣部署的優勢,將信息的處理與傳輸下放,并采用與之相適應的專門設計的系統支持,并通過設計實驗進行驗證,證明了其相較以往大大提高了交通信息傳輸的效率。該文的最大創新點是將邊緣計算的思想應用于車聯網的信息傳輸系統中,通過仿真具體分析了車聯網信息傳輸的特點與傳輸需求。得到這些特點后,對標算法,提出解決方案,并設計實驗驗證,完美解決了傳輸中出現的問題。
未來該系統還需要進一步完善,方向可以是對前后端代碼進行精簡優化,使得系統能夠更加穩定高效地運行。并且也可以在當前的基礎上進一步開發更多功能,如:用戶端算法中更全的功能、服務器算法中更高的處理效率、更加細分化的管理功能等。