• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      實(shí)時(shí)多媒體數(shù)據(jù)的傳輸和處理技術(shù)的研究

      2020-09-10 07:22:44張寬
      科教創(chuàng)新與實(shí)踐 2020年34期

      張寬

      摘要:隨著物聯(lián)網(wǎng)產(chǎn)業(yè)的發(fā)展,實(shí)時(shí)多媒體數(shù)據(jù)傳輸業(yè)務(wù)顯著增加。本文采用UDP-TCP混合機(jī)制實(shí)現(xiàn)傳輸速率控制和丟包重傳,提出了一種基于代理的應(yīng)用層組播(ALMP)方法實(shí)現(xiàn)多媒體數(shù)據(jù)的并發(fā)傳輸。最后,測(cè)試了數(shù)據(jù)轉(zhuǎn)發(fā)節(jié)點(diǎn)在并發(fā)傳輸中的性能。結(jié)果表明,在用戶具有高度并發(fā)操作的情況下,數(shù)據(jù)轉(zhuǎn)發(fā)節(jié)點(diǎn)的工作是有效和可靠的,與傳統(tǒng)方法相比,本文提出的基于代理的應(yīng)用層組播方法在優(yōu)化數(shù)據(jù)轉(zhuǎn)發(fā)節(jié)點(diǎn)性能方面是有效的。

      關(guān)鍵詞:實(shí)時(shí)多媒體;并發(fā);傳輸控制;應(yīng)用層組播

      1. 引言

      隨著物聯(lián)網(wǎng)產(chǎn)業(yè)的興起,越來(lái)越多的數(shù)據(jù)需要在異構(gòu)網(wǎng)絡(luò)中傳輸。監(jiān)控設(shè)備、手機(jī)等作為終端設(shè)備需要傳輸大量的多媒體數(shù)據(jù)。特別是由這些設(shè)備組成的監(jiān)控系統(tǒng)需要實(shí)時(shí)傳輸多媒體數(shù)據(jù),其典型的傳輸方式是:采集的多媒體數(shù)據(jù)經(jīng)過(guò)壓縮編碼后實(shí)時(shí)發(fā)送到網(wǎng)絡(luò)。然后用戶從互聯(lián)網(wǎng)上接收數(shù)據(jù),并對(duì)數(shù)據(jù)進(jìn)行解碼回放。與傳統(tǒng)的FTP、E-mail等業(yè)務(wù)相比,這種傳輸方式在實(shí)時(shí)性、容錯(cuò)性、媒體同步性等方面有著嚴(yán)格的要求。

      物聯(lián)網(wǎng)的快速發(fā)展大大增加了終端設(shè)備的使用。多媒體數(shù)據(jù)業(yè)務(wù)的實(shí)時(shí)傳輸量呈爆炸式增長(zhǎng)。當(dāng)前的Internet是一個(gè)異構(gòu)網(wǎng)絡(luò),它以盡力而為的方式工作。它的終端接入、可用帶寬、時(shí)延抖動(dòng)、損耗等因素都是動(dòng)態(tài)的、不可預(yù)測(cè)的,因此單一的傳輸協(xié)議很難滿足實(shí)時(shí)多媒體數(shù)據(jù)傳輸?shù)囊?,特別是當(dāng)終端和用戶數(shù)量達(dá)到一定水平時(shí),關(guān)鍵節(jié)點(diǎn)的性能處于并發(fā)狀態(tài)傳播將是一個(gè)巨大的挑戰(zhàn)。如何在當(dāng)前的Internet環(huán)境下實(shí)現(xiàn)多媒體數(shù)據(jù)傳輸?shù)母卟l(fā)性是一個(gè)亟待解決的問(wèn)題。

      2. 基于代理的應(yīng)用層組播方法

      基于代理的應(yīng)用層組播(ALMP)策略性地在Internet上部署了一些高性能的服務(wù)器。這些服務(wù)器由代理服務(wù)器維護(hù),并進(jìn)行數(shù)據(jù)復(fù)制和傳輸。該方法不需要與IP組播相關(guān)的固定網(wǎng)絡(luò)設(shè)備,可以根據(jù)特定的網(wǎng)絡(luò)環(huán)境動(dòng)態(tài)調(diào)整一些參數(shù)[1]。ALMP按其功能可分為兩個(gè)平面,一個(gè)是組播控制平面,另一個(gè)是組播數(shù)據(jù)轉(zhuǎn)發(fā)平面。

      2.1 多播控制平面

      組播控制平面的核心功能是構(gòu)造和維護(hù)應(yīng)用層組播樹(shù)。它負(fù)責(zé)每個(gè)節(jié)點(diǎn)的組成員合法地加入或退出組播樹(shù)。ALMP采用分層的思想構(gòu)建整個(gè)組播樹(shù)。它將整個(gè)組播樹(shù)分為兩層,每層維護(hù)自己的組播組成員,其中一層的變化對(duì)另一層沒(méi)有影響,從而降低了整個(gè)組播控制平面的維護(hù)成本。代理作為組播的根節(jié)點(diǎn),負(fù)責(zé)數(shù)據(jù)復(fù)制和傳輸?shù)姆?wù)器作為第一級(jí)子節(jié)點(diǎn),構(gòu)成組播樹(shù)的第一層。提供源多媒體數(shù)據(jù)的設(shè)備是二級(jí)子節(jié)點(diǎn),接收數(shù)據(jù)的用戶是最終葉節(jié)點(diǎn)。設(shè)備和用戶是多播樹(shù)的第二層。組播樹(shù)的整體結(jié)構(gòu)如圖1所示。

      在ALMP組播樹(shù)的第一層,代理節(jié)點(diǎn)是根節(jié)點(diǎn)r,相應(yīng)的服務(wù)器是f(i)(i=1,2,3)。根節(jié)點(diǎn)根據(jù)每個(gè)子節(jié)點(diǎn)的負(fù)載狀態(tài)動(dòng)態(tài)調(diào)整f(i)的數(shù)據(jù)轉(zhuǎn)發(fā)任務(wù)量。我們將轉(zhuǎn)發(fā)節(jié)點(diǎn)中提供源數(shù)據(jù)的設(shè)備數(shù)作為每個(gè)f(i)的負(fù)載指數(shù)。假設(shè)每個(gè)節(jié)點(diǎn)的負(fù)載限制為100。節(jié)點(diǎn)f(1)在某個(gè)時(shí)刻達(dá)到最大負(fù)載,此時(shí)有新的數(shù)據(jù)源要加入到f(1)的組播組中,因此代理將檢測(cè)其子節(jié)點(diǎn)的狀態(tài),并找到負(fù)載最小的節(jié)點(diǎn)f(2)。然后代理將部分轉(zhuǎn)發(fā)任務(wù)從f(1)轉(zhuǎn)移到f(2))。該方法可以優(yōu)化組播樹(shù)中第一級(jí)子節(jié)點(diǎn)的性能。該過(guò)程如圖2所示。

      在ALMP組播樹(shù)的第二層中,每二級(jí)子節(jié)點(diǎn)都會(huì)自行維護(hù)其葉節(jié)點(diǎn)。用戶加入二級(jí)子節(jié)點(diǎn)的組播組時(shí),需要遵守一定的規(guī)則。規(guī)則如下。

      (1)每個(gè)用戶可以加入幾個(gè)不同的多播組。

      (2)嘗試加入父節(jié)點(diǎn)加載較輕的第二級(jí)子節(jié)點(diǎn)。

      (3)為了獲得更好的多媒體質(zhì)量,嘗試選擇網(wǎng)絡(luò)條件較好的節(jié)點(diǎn)。

      (4)加入多播組的用戶使用“keepalive”機(jī)制(即心跳機(jī)制)來(lái)確保用戶的在線狀態(tài)。

      用戶離開(kāi)第二級(jí)子節(jié)點(diǎn)時(shí),有兩種狀態(tài):葉節(jié)點(diǎn):

      1) 正常左:用戶在離開(kāi)節(jié)點(diǎn)之前向代理發(fā)送消息。

      2) 左不正確:異常發(fā)生,用戶突然下降。

      在案例1中,在用戶向代理發(fā)送離開(kāi)消息后,需要在整個(gè)組播樹(shù)中找到那些具有此葉節(jié)點(diǎn)的組播組,并刪除這些組播組中的葉節(jié)點(diǎn)。因此,我們利用深度優(yōu)先算法找到葉子,然后搜索其直接前體,即它所屬的組。最后,我們刪除了這些組中的葉節(jié)點(diǎn)。假設(shè)我們需要?jiǎng)h除的葉節(jié)點(diǎn)是節(jié)點(diǎn)8。搜索此節(jié)點(diǎn)的順序是選擇最左邊的路徑,直到葉節(jié)點(diǎn),然后訪問(wèn)葉節(jié)點(diǎn)的所有兄弟節(jié)點(diǎn)。如果所有兄弟節(jié)點(diǎn)不是我們需要的節(jié)點(diǎn),那么返回到葉節(jié)點(diǎn)的父節(jié)點(diǎn)。然后訪問(wèn)右側(cè)父節(jié)點(diǎn)及其子節(jié)點(diǎn)的最近兄弟節(jié)點(diǎn)。重復(fù)此過(guò)程,直到找到我們需要的節(jié)點(diǎn)。在找到節(jié)點(diǎn)8后,我們反向搜索其直接前體7和9,刪除7和9組播組中8的信息[2]。該過(guò)程如圖3所示。

      在第二種情況下,我們根據(jù)keepalive機(jī)制檢測(cè)葉節(jié)點(diǎn)。葉節(jié)點(diǎn)周期性地向其所屬的組播組發(fā)送心跳數(shù)據(jù)報(bào)。如果組播組節(jié)點(diǎn)長(zhǎng)時(shí)間沒(méi)有接收到心跳數(shù)據(jù)報(bào),則將該葉節(jié)點(diǎn)視為死節(jié)點(diǎn),刪除該葉節(jié)點(diǎn)的信息。

      2.2 多播數(shù)據(jù)轉(zhuǎn)發(fā)平面

      組播數(shù)據(jù)轉(zhuǎn)發(fā)平面的主要功能是基于ALMP組播樹(shù)進(jìn)行數(shù)據(jù)傳輸。在ALMP組播樹(shù)中,我們可以看到每個(gè)第二級(jí)子節(jié)點(diǎn)都有n個(gè)葉節(jié)點(diǎn),即提供源數(shù)據(jù)的每個(gè)設(shè)備都有n個(gè)用戶。第一級(jí)子節(jié)點(diǎn)是數(shù)據(jù)復(fù)制轉(zhuǎn)發(fā)節(jié)點(diǎn),負(fù)責(zé)將源組播數(shù)據(jù)傳輸給每個(gè)用戶[3]。

      當(dāng)數(shù)據(jù)源請(qǐng)求加入一級(jí)子節(jié)點(diǎn)的組播組時(shí),服務(wù)器將為數(shù)據(jù)源打開(kāi)一個(gè)信道,服務(wù)器和數(shù)據(jù)源之間的通信是單播的。當(dāng)用戶請(qǐng)求數(shù)據(jù)源的多媒體時(shí),服務(wù)器和用戶之間的通信也是單播的[4]。為了減少數(shù)據(jù)傳輸?shù)难舆t,我們不在服務(wù)器上設(shè)置緩沖區(qū),即服務(wù)器在接收到任何數(shù)據(jù)時(shí),根據(jù)組播組的信息立即傳輸數(shù)據(jù)。我們需要考慮服務(wù)器的上行帶寬、下行帶寬和CPU利用率。系統(tǒng)的性能特點(diǎn)是具有以下功能:

      其中,fu是服務(wù)器的上行帶寬,fd是下行帶寬,sb(i)是CPU總利用率,sc(i)是數(shù)據(jù)源需要的帶寬,tc(j)是設(shè)備需要的CPU利用率,是用戶需要的CPU利用率。

      3. 實(shí)驗(yàn)結(jié)果

      在并發(fā)傳輸過(guò)程中,代理只維護(hù)組播樹(shù)。由于單個(gè)數(shù)據(jù)源/用戶與數(shù)據(jù)轉(zhuǎn)發(fā)節(jié)點(diǎn)之間的通信是單播的,因此如果數(shù)據(jù)源和用戶有足夠的帶寬,則可以保證傳輸可用。但是數(shù)據(jù)轉(zhuǎn)發(fā)節(jié)點(diǎn)需要接收、復(fù)制和傳輸數(shù)據(jù)。通過(guò)UDP傳輸數(shù)據(jù)時(shí),大量的多線程操作和socket文件描述符資源消耗了大量的CPU。因此在整個(gè)傳輸過(guò)程中,數(shù)據(jù)轉(zhuǎn)發(fā)節(jié)點(diǎn)承受的壓力最大。我們使用專業(yè)的性能測(cè)試工具LoadRunner對(duì)數(shù)據(jù)轉(zhuǎn)發(fā)節(jié)點(diǎn)進(jìn)行測(cè)試,關(guān)鍵性能指標(biāo)是節(jié)點(diǎn)在高并發(fā)條件下的CPU利用率。

      我們使用LoadRunner來(lái)模擬200個(gè)用戶。首先,用戶同時(shí)要求多媒體。數(shù)據(jù)到達(dá)后,用戶切斷與數(shù)據(jù)轉(zhuǎn)發(fā)節(jié)點(diǎn)的連接等。這樣,數(shù)據(jù)轉(zhuǎn)發(fā)節(jié)點(diǎn)需要做大量的資源請(qǐng)求和釋放工作,此時(shí)CPU利用率最高。圖4示出了數(shù)據(jù)轉(zhuǎn)發(fā)節(jié)點(diǎn)在25分鐘內(nèi)的CPU利用率。

      從圖中可以看出,CPU利用率為21.6%,沒(méi)有明顯的波動(dòng)。這說(shuō)明在用戶具有高度并發(fā)操作的情況下,數(shù)據(jù)轉(zhuǎn)發(fā)節(jié)點(diǎn)的工作是有效和可靠的。

      在第2節(jié)中,我們提到組播控制平面可以優(yōu)化數(shù)據(jù)轉(zhuǎn)發(fā)節(jié)點(diǎn)的性能,其調(diào)度策略類似于分布式系統(tǒng)。為此,我們?cè)O(shè)計(jì)了一個(gè)實(shí)驗(yàn),通過(guò)兩種方法來(lái)測(cè)試不同CPU數(shù)的節(jié)點(diǎn)的響應(yīng)時(shí)間:一種是像傳統(tǒng)的方法一樣提高節(jié)點(diǎn)的硬件性能,即將所有CPU放在一個(gè)節(jié)點(diǎn)上;另一種是增加節(jié)點(diǎn)數(shù),將CPU分散到不同的節(jié)點(diǎn)上,因此我們?cè)诮M播控制中采用了調(diào)度方法飛機(jī)。最后得到的結(jié)果如圖5所示。

      從圖5可以看出,當(dāng)CPU數(shù)為2時(shí),兩種方式的節(jié)點(diǎn)響應(yīng)時(shí)間沒(méi)有明顯差異。但是當(dāng)CPU數(shù)量增加時(shí),第二種方式的響應(yīng)時(shí)間顯著減少。這表明,在優(yōu)化數(shù)據(jù)轉(zhuǎn)發(fā)節(jié)點(diǎn)的性能時(shí),提出的基于代理的應(yīng)用層組播方法與傳統(tǒng)方法相比是有效的。

      4. 結(jié)論

      本文分析了實(shí)時(shí)多媒體并發(fā)傳輸?shù)年P(guān)鍵技術(shù),研究了實(shí)時(shí)多媒體的分層傳輸過(guò)程。特別是在傳輸控制層,采用UDP-TCP混合機(jī)制實(shí)現(xiàn)速率控制和丟包重傳。在此基礎(chǔ)上,提出了一種基于代理的應(yīng)用層組播方法來(lái)實(shí)現(xiàn)路由固定場(chǎng)景的并發(fā)傳輸。分析了數(shù)據(jù)轉(zhuǎn)發(fā)節(jié)點(diǎn)的性能。相信本文對(duì)實(shí)時(shí)多媒體的高并發(fā)傳輸具有一定的指導(dǎo)意義。

      參考文獻(xiàn):

      [1] 谷冰. 試析多媒體技術(shù)中關(guān)鍵技術(shù)[J]. 計(jì)算機(jī)光盤(pán)軟件與應(yīng)用, 2014, 17(24): 219-220.

      [2] 陳小平. 基于移動(dòng)互聯(lián)網(wǎng)多媒體實(shí)時(shí)傳輸技術(shù)研究與應(yīng)用[J]. 數(shù)字技術(shù)與應(yīng)用, 2014(06): 25-28.

      [3] 吳進(jìn), 賀輝, 洪輝. 多媒體數(shù)據(jù)流實(shí)時(shí)傳輸技術(shù)研究[J]. 通信技術(shù), 2009, 42(01): 342-344.

      [4] 王再見(jiàn), 萬(wàn)婷, 吳丹丹, 等.一種嵌入式實(shí)時(shí)網(wǎng)絡(luò)多媒體數(shù)據(jù)傳輸方法[J]. 系統(tǒng)仿真學(xué)報(bào), 2017, 29(04): 808-817.

      西安工業(yè)大學(xué)

      五河县| 邮箱| 玉山县| 洞头县| 台东县| 正阳县| 崇左市| 东山县| 吉木乃县| 鹰潭市| 延长县| 乐平市| 探索| 庐江县| 湾仔区| 信丰县| 榆林市| 建平县| 梧州市| 喀喇| 永春县| 平南县| 和静县| 迁安市| 大宁县| 定陶县| 万山特区| 富阳市| 绍兴县| 昭平县| 印江| 霍州市| 县级市| 宜良县| 山阴县| 武邑县| 沾化县| 柳州市| 沙湾县| 郓城县| 青州市|