999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于Erasure code的實時流媒體傳輸系統

2017-11-01 17:14:42王俊博
計算機應用與軟件 2017年10期
關鍵詞:模型系統

王俊博 邢 凱

1(中國科學技術大學軟件學院 江蘇 蘇州 215123)

2(中國科學技術大學計算機科學與技術學院 安徽 合肥 230026)

基于Erasurecode的實時流媒體傳輸系統

王俊博1邢 凱2

1(中國科學技術大學軟件學院 江蘇 蘇州 215123)

2(中國科學技術大學計算機科學與技術學院 安徽 合肥 230026)

傳統的流媒體傳輸系統需要一定規模的服務器群和集中式的帶寬,在丟包問題中大部分采用丟包重傳,即帶ACK回執和重傳的數據報文。提出一種新的容忍丟包和邊緣服務器的傳輸方式,基于Erasure code的可恢復性,實現容忍丟包的發送接收模型。采用邊緣計算的思想,將集中式的服務器群分散到任意主機上,通過動態地獲取服務端地址,將實時數據流分成多塊,經由不連續的邊緣服務器進行轉發,以降低對邊緣服務器的帶寬要求。可以根據邊緣服務器的服務能力的不同分配傳輸數據量,達到動態的負載均衡。同時該系統具備隱私保護的功能。實驗結果表明,該系統即使在較高丟包率和較差的網絡環境下,仍然可以保證較低延遲的正常使用。

Erasure code 網絡 流媒體 實時 邊緣服務器 邊緣計算

0 引 言

隨著互聯網的飛速發展,實時流媒體的需求日漸增大,應用范圍逐漸擴大,包括直播、視頻聊天、遠程教育、遠程醫療和電視電話會議等。根據中投顧問的報告[1]顯示,2015年中國網絡直播平臺用戶數量已經達到2億。大型直播平臺每日高峰時段同時在線人數接近400萬。以720 p的分辨率需要使用1 024 Kbit/s的碼率為例,一個用戶每秒需要傳輸128 KB的數據,此時服務器每秒要傳輸的數據量高達488 GB(即3.9 TB的帶寬需求)。此數據還在不斷增大。實時流媒體性能主要體現在:編碼和壓縮性能、流服務器性能、數據流傳輸質量三個方面。傳統的流媒體傳輸系統對網絡穩定性和帶寬的要求愈發苛刻,并且存在單一服務器傳輸速度較慢、需要的帶寬資源較大、對服務器群性能要求較高、P2P的傳輸方式丟包嚴重等問題。因而本文提出了一種利用Erasure code和Edge computing思想的解決方案,提高數據流傳輸速度,解決P2P的丟包問題,分治服務器帶寬需求,降低對服務器群的性能要求,同時保護使用者隱私。利用不連續的Edge service,保證實時流媒體穩定傳輸的系統。

Erasure code是一種數據保護方法,它將數據分割成片段,把冗余數據塊擴展、編碼,并將其存儲在不同的位置,比如磁盤、存儲節點或者其他地理位置[2]。該系統利用Erasure code冗余可恢復的性質,將之利用在實時傳輸系統中,用來實現丟包容忍。減少了丟包重傳的時間以及過程中的等待時間。同時可以在不中斷的情況下,切換服務端。Edge computing[5]是將計算應用,數據和服務的前沿從集中式節點推向網絡的邏輯極端[6]。它使分析和知識生成能夠在數據源發生。邊緣應用服務顯著減少必須移動的數據量、數據通信和數據移動的距離[7-8],從而減少傳輸成本,收縮延遲時間,以及提高服務質量(QoS)[9]。本系統采用Edge service構建一個網絡傳輸模型。該流媒體傳輸系統摒棄傳統的單一服務器方式,采用Edge service,利用包括使用者和服務提供者在內的整個傳輸系統的資源,降低對服務器的帶寬要求,并具有一定的隱私保護功能。

1 相關模型和概念介紹

1.1 Erasure code傳輸模型

傳統Erasure code多使用在云存儲上,多個分散的服務器分別存儲部分Erasure code處理后的數據。在使用時僅需要其中一部分就可還原出完整數據,即使部分數據不可用或丟失,原始數據還是可以恢復的。本文將Erasure code的數據可恢復性利用到實時流媒體傳輸中,發送端將實時流媒體數據通過Erasure code過程后創建出m份冗余數據塊,其中k代表原始數據或符號的值。m代表生成的額外或冗余符號的值。如圖1所示。

圖1 Erasure code對流媒體數據的使用過程

將k+m份數據有選擇的分別發送k+m′份,接收端在收到其中任意k份數據時即可將原始數據還原。所以即使網絡環境穩定性較差,該模型也可以在m′/(k+m′)的容忍丟包率內,保證正常使用。對于任一幀數據而言,收到k份數據即可正常使用,而無須將k+m′份全部接收,因而降低了網絡傳輸的延遲。其中m′是根據當前網絡環境中丟包率動態調整的,m滿足:m≥k(該系統取m=k),m′滿足:m≥m′>δk/(1-δ)(其中δ實時丟包率)。

綜上,Erasure code傳輸模型是根據網絡環境中丟包率的變化,發送原始數據報文不同比例的新報文來保證流媒體正常工作的,因此較傳統傳輸模型而言,Erasure code傳輸模型會承載更多的數據報文。但是相對于一幀數據而言,減少了丟包重傳的延遲時間,提高了傳輸的穩定性,降低了流媒體傳輸的平均延遲。

1.2 Edge service組模型

Edge service組模型傳輸方式如圖2所示,發送端將Erasure code編碼后的數據報文分發給系統中多個不同的Edge service節點,由這些不同的Edge service節點將數據報文轉發給真正的接收端。其中多個不同的Edge service節點的選擇在2.2節中介紹。由于經過Erasure code的數據之間是相對獨立且容忍丟包的。所以將數據由不連續的Edge service組轉發是被允許的。在傳輸過程中,可以動態地調整Edge service對象,減少非必要的數據量傳輸,降低數據傳輸的距離。以達到降低網絡延遲,分治網絡帶寬,實現更好的傳輸效果的目的。不同的Edge service切換過程中出現丟包的情況并不影響數據的完整性,適合于復雜的網絡環境,可以盡可能地利用網絡資源,將傳統單一服務器的負載分攤到Edge service組中。

圖2 Edge service組模型

Edge service組模型可以實現將數據轉發由單一中轉服務器到多Edge service的轉變。有效地減少了服務器的帶寬和負載壓力,同時減少非必要的數據量傳輸,降低數據傳輸的距離,使得網絡延遲進一步降低。如果采用n臺服務端構成的服務端組,理論上網絡傳輸延遲可以降低到原先的1/n。

較傳統服務器模型不同,Edge service組模型中一定數量Edge service的數據泄露并不影響數據的安全性,即不能得到原始數據,只有拿到某一客戶端對應的Edge service組所有的數據才可以還原出原始的流媒體數據。所以Edge service組模型還對數據起到隱私保護的作用。

2 Edge service組動態建立協議

2.1 Edge service發現

由中央服務器維持一個服務端列表,用來保存當前可以提供服務的Edge service的信息。在使用者登錄該系統的同時,將本地信息在服務端列表中進行注冊或者更新。意味著在使用系統資源的同時,也為系統中其他使用者提供服務。具體服務提供依照服務能力的大小決定。若使用者退出系統,則將其在服務端列表中刪除,并通知使用其服務的其他使用者選擇新的Edge service。

為了避免因Edge service宕機導致的傳輸數據丟失和降低使用者的服務端替換率,服務端列表中的各個Edge service與中央服務端采用一個折中的頻率(該系統采用0.02 Hz)的心跳協議,兼顧了一定的實時性和較低的列表維護資源。

2.2 Edge service選擇

進行流媒體傳輸前,由發送端向接收端發出請求,得到肯定答復后,通知中央服務器可以建立流媒體連接。此時,由中央服務端發送p×n臺Edge service地址信息給使用者(p為冗余倍數默認為3,n為使用者需要的服務端臺數),并攜帶Edge service被使用次數u和其設備質量參數λ。在使用者收到中央服務端發來的服務端信息后,使用者通過Ping命令測試本地與各個Edge service的連通,并統計響應時間τ;然后對確認連通的節點發送傳輸延遲檢查包(check包)經由Edge service到對方,再從對方經Edge service重新回到使用者。統計整個過程中的響應時間t。再根據u和λ采用如下公式,計算出各自的order值:

(1)

摒棄掉不能連通或者丟包率持續較高或者超過丟包率閾值的Edge service節點,通過得到的order值從小到大對服務端列表排序,取前n位作為當前網絡傳輸過程使用的Edge service組。

同時,客戶端采用一個折中的頻率(該系統采用0.003 Hz)對服務端列表重復上面的Edge service選擇過程,對服務端列表進行更新。目的在于將多個Edge service同時不工作的可能性降到最低,保證流媒體的穩定傳輸。

3 系統組成與設計

3.1 系統框架設計

系統包括三部分:中央服務端、負責服務端和客戶端的登錄請求,保存服務端列表并統籌分配;Edge service,由系統默認的提供轉發服務的多臺服務器和系統使用者的客戶端組成,默認服務器用來保證系統中客戶端較少時用戶的正常使用;客戶端,既是系統服務的使用者,也是系統服務端的提供者。Edge service和客戶端均認為是節點。

客戶端和Edge service統一由中央服務端管理,其中包括登錄、退出、服務端分配、服務端下線通知等。中央服務器擁有備份服務器,保證中央服務器的穩定工作。中央服務端只起到管理和調配作用,不涉及流媒體數據傳輸,所以對帶寬的需求不高。

Edge service作為流媒體數據傳輸的中轉站,負責將目的地址非本地的流媒體數據轉發。并與中央服務端維持固定頻率的心跳連接,保證系統穩定性。

客戶端作為系統服務的使用者,負責提供流媒體數據和接收流媒體數據。其中包括流媒體數據的采集、編碼、發送、接收、解碼、播放等過程,并通過2.2節中提到的服務端發現方式,選取和更改服務端地址。將流媒體數據發送給相對應的服務端,實現實時通信。

相較于傳統實時流媒體通信系統。本文提出的系統沒有丟包重傳的機制,采用Erasure code這種可還原的快速編碼的方式,減少了丟包重傳帶來的網絡延遲。并且將數據通過Edge service組進行轉發有效地利用系統中網絡資源,適應于復雜網絡環境。避免了單一服務器延遲過高導致實時通信中斷或者異常。提高了系統的QoS和用戶體驗。同時降低了服務器端的負載,將原本的服務器集群的任務合理地分散到各個Edge service節點上。并且單個節點收到的流媒體數據都并非原始數據,更無法還原出真實數據,增強了對用戶隱私保護的功能。

3.2 數據編碼和分發過程

在流媒體通信雙方建立連接并選擇合適的Edge service組后,客戶端通過采集相應設備的流媒體數據,并壓縮編碼(視頻采用H.264格式,音頻采用AAC格式)后,根據1.1節中描述的方式對數據做Erasure code 處理。參考當前丟包率將原始的k份數據編碼成k+m′份數據,m′滿足:m≥m′>δk/(1-δ)(其中δ實時丟包率)。

由2.2節中Edge service的選擇得到動態的Edge service組,并按照Edge service組的順序對k+m′份新數據進行分發。order值表示Edge service服務能力的強弱,根據order值順序對數據進行分發,可以使得負載更均衡,更有效地利用系統中的帶寬。若某一Edge service因某種不能正常使用,中央服務器會根據心跳包計數超時機制認為其登出,并建議客戶端選擇新的Edge service進行替換,在此過程中不會影響到流媒體的正常通信。

同時也將保護用戶隱私,若其中一臺或多臺Edge service遭到攻擊使得數據泄露,泄露的數據是不足以還原出原始數據,起到了隱私保護的作用。

3.3 節點對數據的處理

無論是Edge service還是客戶端,在收到數據后,首先根據數據報文的報文頭,判斷目的節點是否是自己。若是,則表示該節點在此過程中為客戶端,使用系統服務。此時將數據放入消息緩沖區中,并通知對應的工作線程處理數據,包括流媒體通信前的確認信息,傳輸延遲檢查包的回復,流媒體數據的播放等。反之,表示該節點為Edge service端,目前在為系統中其他使用者提供服務。所以根據數據包攜帶的目的地址,將數據報文發送到該目的地址。

3.4 系統魯棒性

中央服務器通過心跳機制維持與各個Edge service之間的連接,用來排查非正常退出的Edge service。同時客戶端每隔一段時間會對服務端列表進行排序,用來選擇更合適的Edge service,降低正常使用過程中因為網絡異常或Edge service異常掉線而導致的服務端替換率。

針對以上兩種方式不能及時排查的影響系統穩定的不同情況進行討論。首先是Edge service異常導致非正常退出,此時客戶端中該Edge service的丟包率會異常提升(丟包率的提升會使客戶端發送更多的數據,加劇該Edge service丟包率的提升),客戶端通常會在1~2幀的數據內將丟包率異常甄別出來,對該Edge service進行動態替換。其次是Edge service帶寬使用受限,此種情況丟包率會緩慢增加,客戶端通常會在3~4幀數據內將其甄別出來,替換成服務能力更好的Edge service。

3.5 系統隱私完整性

由于實時流媒體數據經過Erasure code處理,所以單一的Edge service中的數據泄露,是不足以還原出原始數據的,只有拿到某客戶端對應的Edge service組中超過ω(ω=m′/(k+m′))的Edge service的流媒體數據才可以還原出原始數據。在網絡狀況較好時ω≈1(k≥m′),需要拿到Edge service組全部數據才可還原出原始數據。即便是網絡狀況不好時ω≈1/2(m′=m=k),還原原始數據也需要拿到一半的Edge service組中數據。

該系統中,中央服務器分配使用者服務端列表的行為帶有隨機性。同樣使用者對Edge service的選擇也具備一定的實時性。除非獲取確切信息,否則不可能知道某一個使用者對應的Edge service組成員。也就是說,只有獲取到整個系統中超過ω的Edge service的實時流媒體數據,才可以還原出某一個特定使用者的原始數據。

4 實驗分析

為了驗證該系統的表現,本節通過設計實驗進行分析和說明。實驗環境是采樣率為640×480,使用H.264編碼格式,此種流媒體數據分為I、B、P三種幀結構,實驗中服務器為華北地區的阿里云服務器ECS,源節點地址為中國科學技術大學校園內。以下實驗均在同一時間段進行,可以忽略不同時間段網絡環境的影響。

4.1 Erasure code傳輸延遲分析

通過使用Erasure code實現容忍延遲的網絡傳輸模型與傳統實時流媒體傳輸網絡傳輸模型作對比。統計了兩種傳輸模型中發送端H.264編碼后到接收端播放前的網絡傳輸延遲。如圖3所示。

實驗結果顯示,傳統實時流媒體傳輸模型的數據幀平均網絡傳輸延遲是238.107 234 272 ms。使用Erasure code的實時流媒體傳輸模型的數據幀的平均網絡傳輸延遲是107.073 214 516 ms。較傳統實時流媒體傳輸模型而言,平均網絡傳輸延遲降低了55.03%。

統計了兩種傳輸模型中實時流媒體數據從發送端攝像頭采集到接收端播放器播放的整個過程延遲。如圖4所示。

實驗結果顯示,傳統實時流媒體傳輸模型的數據幀平均播放延遲是485.190 139 84 ms。使用Erasure code的實時流媒體傳輸模型的數據幀的平均播放延遲是317.919 507 757 ms,已可以將延遲控制在500 ms以內。較傳統實時流媒體傳輸模型而言,平均播放延遲降低了34.47%,相對于每幀數據而言,幀延遲平均降低了28.70%。

4.2 Edge service組延遲與帶寬分析

使用Edge service組和單一服務器進行對比實驗。實驗中使用由3臺非本地的個人電腦組成的Edge service組。統計了僅使用Erasure code的實時流媒體傳輸模型和使用該系統的實時流媒體傳輸模型的網絡傳輸延遲。如圖5所示。

實驗結果顯示,僅使用Erasure code的實時流媒體傳輸模型的數據幀平均網絡傳輸延遲是107.073 214 516 ms。使用該系統的實時流媒體傳輸模型的數據幀的平均網絡傳輸延遲是81.753 202 451 6 ms。較僅使用Erasure code的實時流媒體傳輸模型而言,平均網絡傳輸延遲降低了23.65%,較傳統實時流媒體模型網絡傳輸延遲降低了65.67%。

統計僅使用Erasure code的實時流媒體傳輸模型和使用該系統的實時流媒體傳輸模型的播放延遲。如圖6所示。

圖6 使用該系統的實時流媒體傳輸模型和使用Erasure code的實時流媒體傳輸模型的播放延遲對比

實驗結果顯示,僅使用Erasure code的實時流媒體傳輸模型的數據幀平均播放延遲是317.919 507 757 ms。使用該系統的實時流媒體傳輸模型的數據幀的平均播放延遲是179.739 083 112 ms。較僅使用Erasure code的實時流媒體傳輸模型而言,平均網絡傳輸延遲降低了43.46%。較傳統實時流媒體模型網絡傳輸延遲降低了62.95%。

5 結 語

本文在傳統流媒體傳輸的基礎上提出了容忍丟包的概念,減少了因丟包重傳帶來的數據延遲。同時采用Edge service組的策略,降低服務器帶寬壓力,進一步降低網絡傳輸延遲,有效利用系統使用者的剩余帶寬。解決了單一服務器帶寬需求較高的問題。即使在較惡劣網絡環境下,仍可以保證實時穩定的流媒體傳輸。

[1] 中投顧問.2017-2021年中國網絡直播行業深度調研及投資前景預測報告[R].北京中宏經略信息咨詢有限公司,2016.

[2] Wiki百科.Crowdsourcing[OL].en.wikipedia.org/wiki/Crowdsourcing.

[3] Liang G,Kozat U C.Use of erasure code for low latency cloud storage[C]//Communication,Control,and Computing (Allerton),2014 52nd Annual Allerton Conference on.IEEE,2014:576-581.

[4] Reddy G R,Subashini N J.Secure Storage Services and Erasure Code Implementation in Cloud Servers[C]//International Journal of Engineering Research and Technology.ESRSA Publications,2014,3(1(January-2014)).

[5] Wiki百科.Edge computing[OL].en.wikipedia.org/wiki/Edge_computing.

[6] Garcia Lopez P,Montresor A,Epema D,et al.Edge-centric computing: Vision and challenges[J].ACM SIGCOMM Computer Communication Review,2015,45(5):37-42.

[7] Kurniawan I P,Febiansyah H,Kwon J B.Cost-effective content delivery networks using clouds and nano data centers[M]//Ubiquitous Information Technologies and Applications.Springer Berlin Heidelberg,2014:417-424.

[8] Ryden M,Oh K,Chandra A,et al.Nebula:Distributed edge cloud for data intensive computing[C]//Cloud Engineering (IC2E),2014 IEEE International Conference on.IEEE,2014:57-66.

[9] Lee E A,Hartmann B,Kubiatowicz J,et al.The Swarm at the Edge of the Cloud[J].IEEE Design & Test,2014,31(3):8-20.

REAL-TIMESTREAMINGMEDIATRANSMISSIONSYSTEMBASEDONERASURECODE

Wang Junbo1Xing Kai2

1(SchoolofSoftwareEngineering,UniversityofScienceandTechnologyofChina,Suzhou215123,Jiangsu,China)2(SchoolofComputerScienceandTechnology,UniversityofScienceandTechnologyofChina,Hefei230026,Anhui,China)

The traditional streaming media transmission system needs a certain scale of the server group and centralized bandwidth. Most of the packet loss problem adopts retransmission, namely data packets with ACK receipt and retransmission. This paper proposes a new way to packet loss tolerance and edge server transmission. Based on the recoverability of erasure code, the transmission and reception model of packet loss tolerance was realized. This model uses the idea of edge computing to distribute the centralized server cluster to any host. First, real-time data stream was divided into several blocks by dynamically obtaining the service address. It is then forwarded via a discontinuous edge server to reduce bandwidth requirements for the edge server. Next, the system can dynamically allocate the amount of data according to different service capabilities of the edge server to achieve dynamic load balancing. Meanwhile, the system has the function of privacy protection. The results we obtained demonstrate that the system can guarantee the normal use of low latency even under the condition of high packet loss rate and poor network environment.

Erasure code Network Media streaming Real-time Edge Service Edge Computing

TP3

A

10.3969/j.issn.1000-386x.2017.10.037

2016-11-25。國家自然科學重點基金項目(61332004)。王俊博,碩士生,主研領域:網絡計算。邢凱,副教授。

猜你喜歡
模型系統
一半模型
Smartflower POP 一體式光伏系統
工業設計(2022年8期)2022-09-09 07:43:20
WJ-700無人機系統
ZC系列無人機遙感系統
北京測繪(2020年12期)2020-12-29 01:33:58
重要模型『一線三等角』
重尾非線性自回歸模型自加權M-估計的漸近分布
基于PowerPC+FPGA顯示系統
半沸制皂系統(下)
連通與提升系統的最后一塊拼圖 Audiolab 傲立 M-DAC mini
3D打印中的模型分割與打包
主站蜘蛛池模板: 亚洲AV无码一二区三区在线播放| 日韩性网站| 欧美国产综合色视频| 久操线在视频在线观看| 不卡午夜视频| 国产精品视频导航| 在线观看国产黄色| 欧美色视频网站| 欧美成人午夜视频| 日韩激情成人| 99无码中文字幕视频| 久青草国产高清在线视频| 一本一道波多野结衣一区二区| 日韩高清中文字幕| 亚洲天堂.com| 国产va在线| 强乱中文字幕在线播放不卡| 久久99精品久久久大学生| 一区二区三区四区精品视频| 亚洲综合经典在线一区二区| 99久久国产自偷自偷免费一区| 四虎永久在线| av在线5g无码天天| 久久中文字幕av不卡一区二区| 午夜视频在线观看免费网站| 成人国产精品网站在线看| 久久国产精品77777| 亚洲欧美一级一级a| 亚洲婷婷六月| 精品国产欧美精品v| 国产精品中文免费福利| 中文字幕在线永久在线视频2020| 中文字幕无码制服中字| 四虎影视永久在线精品| AV色爱天堂网| 欧美一道本| 欧美在线观看不卡| 亚洲一区二区三区国产精品| 亚洲中文字幕在线一区播放| 欧美h在线观看| 蜜芽国产尤物av尤物在线看| 日韩AV手机在线观看蜜芽| 亚洲成a人片| 国产xxxxx免费视频| 国产麻豆永久视频| 在线观看精品自拍视频| 超碰aⅴ人人做人人爽欧美| 亚洲欧洲国产成人综合不卡 | 色爽网免费视频| 久久成人免费| 国产一区亚洲一区| 中文字幕亚洲第一| 久久综合婷婷| 在线观看视频一区二区| 精品无码专区亚洲| 色网站在线免费观看| 精品一区二区三区无码视频无码| 国产色图在线观看| 国产无码制服丝袜| 福利在线不卡一区| 免费 国产 无码久久久| 欧美国产日产一区二区| 亚洲欧美不卡中文字幕| 亚洲日韩高清在线亚洲专区| 午夜在线不卡| 日韩精品一区二区三区中文无码| 亚洲色图欧美| 91毛片网| 亚洲精品片911| 欧美日韩国产系列在线观看| 成年看免费观看视频拍拍| 97se亚洲综合在线天天| 亚洲中文精品人人永久免费| 88av在线| 四虎在线观看视频高清无码| 国产一区二区三区夜色 | 亚洲自偷自拍另类小说| 国产女人在线观看| 国产精品网址你懂的| 国产成+人+综合+亚洲欧美| 国产成人久久综合777777麻豆| 免费毛片视频|