freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

多人語音系統(tǒng)中多播樹的設(shè)計(jì)與實(shí)現(xiàn)_畢業(yè)設(shè)計(jì)論文-資料下載頁

2025-06-30 05:09本頁面

【導(dǎo)讀】媒體技術(shù)也迅猛地發(fā)展起來,多人語音系統(tǒng)的研究和應(yīng)用已成為當(dāng)前熱點(diǎn)之一。器點(diǎn)擊收聽,然后語音服務(wù)器以單播的方式把音頻流推送給用戶。和語音包接收滯后等問題。這些限制,有效地解決上述問題。它通過建立和動態(tài)維護(hù)基于P2P的應(yīng)用層多播。樹來傳輸音頻數(shù)據(jù),給用戶提供高質(zhì)量的音頻收聽服務(wù)。在深入分析P2P技術(shù)和。的各功能模塊,在仿真實(shí)驗(yàn)平臺上實(shí)現(xiàn)了基于P2P的多人語音系統(tǒng)。測試表明,多人語音系統(tǒng)的功能實(shí)現(xiàn)基本達(dá)到目標(biāo)。在一般情況下系統(tǒng)能夠。不夠,性能的穩(wěn)定性有待提高。

  

【正文】 來衡量。 B)系統(tǒng)時間 ( System Time) 系統(tǒng)時間從 0 開始,每輪詢一次,系統(tǒng)時間就增加一個單位時間。每個單位時間稱為一個時間片,在每個時間片上,仿真系統(tǒng)對每個節(jié)點(diǎn)進(jìn)行一次處理,也就是說每個節(jié)點(diǎn)在每個時間片上都得到一次運(yùn)行的機(jī)會。所以從單個節(jié)點(diǎn)的角度來看,節(jié)點(diǎn)是連續(xù)運(yùn)行的。 C)節(jié)點(diǎn)( Node) 每個節(jié)點(diǎn)都有一個全局標(biāo)識的標(biāo)識,稱為 nodeID,通過 nodeID 可以唯一確定一個節(jié)點(diǎn)。所有的節(jié)點(diǎn)都被保存在一張哈希表中,以其 nodeID 為關(guān)鍵字。每個節(jié)點(diǎn)都有一個消息隊(duì)列,用來保存其它節(jié)點(diǎn)發(fā)過來的但還沒有處理的消息。消息隊(duì)列按照消息的處理時間從 小到大進(jìn)行排列。 D)節(jié)點(diǎn)延時( Delay) 任意兩個節(jié)點(diǎn)之間的延時是介于系統(tǒng)定義的最大延時( max delay)和最小延時( min delay)之間的一個隨機(jī)值。 Max delay與 Min delay可以根據(jù)需要進(jìn)行調(diào)整。 E)消息( Message) 消息的構(gòu)成如表 所示: 表 消息的結(jié)構(gòu) Src 發(fā)送消息的源節(jié)點(diǎn)的 nodeID Dest 消息發(fā)送的目的節(jié)點(diǎn) nodeID Body 消息體 第 20 頁 dispatchTime 消息的發(fā)送時間(系統(tǒng)定義的時間而非正真的時間) Dealy 消息在傳輸過 程中的延時 F)發(fā)送消息 系統(tǒng)中一個專門負(fù)責(zé)發(fā)送消息的模塊,稱為 MessageDispatcher。要發(fā)送消息的節(jié)點(diǎn)只需要將消息的 src、 dest和 body填入消息中,然后調(diào)用 MessageDispatcher提供的 dispatchMessage 方法就可以向任何一個節(jié)點(diǎn)發(fā)送消息。 MessageDispatcher的工作過程是這樣的,首先根據(jù)消息中的 src 和 dest 屬性查找延時表,獲取消息發(fā)送者和接收者之間的延時,將延時信息填入消息的 delay屬性中,同時還將當(dāng)前的時間填入消息的 dispatchTime 屬 性中;然后,根據(jù)消息的 dest 屬性查找哈希表,將消息添加到 nodeID 為 dest 的節(jié)點(diǎn)的消息隊(duì)列中。消息的發(fā)送過程如圖 所示。 填 充 消 息 的 d e l a y 和d i s p a t c h T i m e 屬 性 , 將 消 息 加 入節(jié) 點(diǎn) B 的 消 息 隊(duì) 列 中節(jié) 點(diǎn) A 向 節(jié) 點(diǎn) B 發(fā) 送 消 息節(jié) 點(diǎn) A節(jié) 點(diǎn) B 圖 消息的發(fā)送過程 G)消息的處理 從上面消息的放送過程中可以看到,一個節(jié)點(diǎn)向另一個節(jié)點(diǎn)發(fā)送消息,消息會馬上加入到該節(jié)點(diǎn)的消息隊(duì)列中。但消息并不會立即得到處理,因?yàn)橄⒃趥鬏斶^程中會有一定的延時,所以消息的正真處理時間 processingTime 為dispatchTime+delay 。消息對列按照消息的 processingTime 進(jìn)行排列,processingTime 越小的消息排得越靠前。節(jié)點(diǎn)在每個時間片內(nèi)得到運(yùn)行機(jī)會時,就會對消息隊(duì)列進(jìn)行處理,直到處理完所有 processingTime 小于或等于當(dāng)前系統(tǒng)時間的消息為止。 H)命令( Command) 設(shè)置命令的目的是為了執(zhí)行一些在特定時刻運(yùn)行的特殊操作,每個命令都有一個運(yùn)行時間屬性,表示命令應(yīng)該在這個時刻運(yùn)行。通過命令可以執(zhí)行如停止模擬器的運(yùn)行、監(jiān)視系統(tǒng)的狀態(tài)等操作。每個命令只需要實(shí)現(xiàn) Command 接口即可。 I)定時器( Timmer) 第 21 頁 為了方便一些算法的實(shí)現(xiàn),特別 是一些需要周期性運(yùn)行的算法,每個節(jié)點(diǎn)都與一個定時器。仿真系統(tǒng)內(nèi)部的定時器的使用方法和其它的定時器非常類似,需要周期性運(yùn)行的任務(wù)只需要實(shí)現(xiàn) TimerTask 接口,然后在將任務(wù)加入到定時器的時候,提供一個運(yùn)行周期參數(shù)就可以了。 多人語音 仿真系統(tǒng)的功能模塊 仿真系統(tǒng)由四個模塊組成,分別為:網(wǎng)絡(luò)與媒體數(shù)據(jù)傳輸管理模塊,節(jié)點(diǎn)組織與管理模塊,基于“心跳”的通信管理模塊和音頻管理模塊,如圖 所示。這四個模塊相互支撐,協(xié)同工作,缺一不可,其中核心為節(jié)點(diǎn)組織與管理模塊。 圖 多人語音仿真系統(tǒng)的功能模塊圖 網(wǎng)絡(luò)與媒體數(shù)據(jù)傳輸管理模塊 網(wǎng)絡(luò)管理模塊包含索引管理子模塊和媒體數(shù)據(jù)傳輸子模塊,如圖 所示。 網(wǎng)絡(luò)與 媒體 數(shù)據(jù)傳輸管理模塊 節(jié)點(diǎn)組織與管理模塊 基于“心跳”的通信管理模塊 音頻管理模塊 第 22 頁 圖 網(wǎng)絡(luò)與媒體數(shù)據(jù)傳輸管理模塊圖 索引管理子模塊 索引管理子模塊的具體作用總結(jié)如下: (1) 管理系統(tǒng)中所有用戶的列表,即多播樹中的節(jié)點(diǎn)列表。記錄節(jié)點(diǎn)的 IP地址、帶寬(帶寬亦可表明其是否為 NAT節(jié)點(diǎn))、往返時延、在線時長等信息,并維護(hù)多播樹中與節(jié)點(diǎn)相連的節(jié)點(diǎn)的相關(guān)信 息,即其父節(jié)點(diǎn)和兒子節(jié)點(diǎn)的信息,包括它們的 IP地址、端口號、往返時延等。 (2) 與多播樹中各節(jié)點(diǎn)的進(jìn)行通信。接受節(jié)點(diǎn)發(fā)來的加入和離開請求,接受節(jié)點(diǎn)發(fā)來的心跳包,向節(jié)點(diǎn)發(fā)送指令包、信息包以及心跳包。 (3) 響應(yīng)節(jié)點(diǎn)的通信。節(jié)點(diǎn)接入應(yīng)用層多播樹后,將該節(jié)點(diǎn)加入節(jié)點(diǎn)列表,記錄節(jié)點(diǎn)信息,并修改與之相連的節(jié)點(diǎn)的相關(guān)信息;節(jié)點(diǎn)在離開多播樹后,將該節(jié)點(diǎn)從節(jié)點(diǎn)列表中刪除,并修改該節(jié)點(diǎn)離開前與之相連的節(jié)點(diǎn)的相關(guān)信息;在收到節(jié)點(diǎn)發(fā)來的心跳包時,更新節(jié)點(diǎn)的狀態(tài)信息。 媒體數(shù)據(jù)傳輸子模塊 媒體數(shù)據(jù)傳輸子模塊主要負(fù)責(zé)動態(tài)地和其它節(jié) 點(diǎn)交換媒體數(shù)據(jù),周期性地交換節(jié)點(diǎn)之間的數(shù)據(jù)信息,開放音頻數(shù)據(jù)傳輸線程,控制并撤銷線程。該模塊并不需要知道網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)如何,只需要負(fù)責(zé)將數(shù)據(jù)傳輸?shù)侥繕?biāo)節(jié)點(diǎn)即可。 Peer節(jié)點(diǎn)之間的媒體數(shù)據(jù)和控制信息均通過自定義的 P2P應(yīng)用層協(xié)議進(jìn)行通信。 索 引 管 理 子 模 塊 節(jié) 點(diǎn) 列 表 自身信息 相連節(jié)點(diǎn) 與 節(jié) 點(diǎn) 通 信 發(fā) 送 接 受 節(jié) 點(diǎn) 節(jié) 點(diǎn) 媒體數(shù)據(jù)傳輸子模塊 第 23 頁 節(jié)點(diǎn)組織與管理模塊 節(jié)點(diǎn)組織和管理模塊在 P2P多人語音系統(tǒng)中是一個非常重要的模塊,它主要包括節(jié)點(diǎn)的加入(把多播樹的生成也算進(jìn)節(jié)點(diǎn)的加入模塊)、節(jié)點(diǎn)的退出等模塊,如圖 。 圖 節(jié)點(diǎn)組織與管理模塊 節(jié)點(diǎn)的加入 節(jié)點(diǎn)加入的算法在第三章已經(jīng)詳細(xì)描述,過程的流程圖如圖 所示。 節(jié) 點(diǎn) 組 織 與 管 理 模 塊 節(jié) 點(diǎn) 的 加 入 節(jié) 點(diǎn) 的 離 開 樹中節(jié)點(diǎn)對節(jié)點(diǎn)服務(wù)能力的計(jì)算 對 NAT 節(jié)點(diǎn)的特殊處理 節(jié)點(diǎn)接入多播樹中 節(jié)點(diǎn)的正常退出(嫁接法) 心跳檢測機(jī)制 節(jié)點(diǎn)的非正常退出 第 24 頁 圖 節(jié)點(diǎn)加入的過程 F 節(jié)點(diǎn)從父節(jié)點(diǎn)處接受音頻數(shù)據(jù)包,進(jìn)行處理播放,并轉(zhuǎn)發(fā)包給子節(jié)點(diǎn) 索引服務(wù)器查詢接收到的消息 是否有節(jié)點(diǎn)的加入請求 否 是 請求加入的節(jié)點(diǎn)為 F 節(jié)點(diǎn),服務(wù)器獲取其信息 否 F 節(jié)點(diǎn)從中選擇對自己服務(wù)能力最強(qiáng)的節(jié)點(diǎn)作為父節(jié)點(diǎn) 開 始 服務(wù)器接受請求,查詢節(jié)點(diǎn)列表,遍歷多播樹中的節(jié)點(diǎn),計(jì)算各節(jié)點(diǎn)對 F 節(jié)點(diǎn)的服務(wù)能力 樹中是否有節(jié)點(diǎn)有能力提供服務(wù) 對 F 節(jié)點(diǎn)做對于 NAT 節(jié)點(diǎn)的特殊處理,請求插入到 某 NAT 節(jié)點(diǎn)與其父節(jié)點(diǎn)之間 是 否 F 節(jié)點(diǎn)的上行帶寬大于請求帶寬且樹中有 NAT 節(jié)點(diǎn)? 是 是否 找到合適的位置插入 服務(wù)器拒絕 F 節(jié)點(diǎn)的加入請求 節(jié)點(diǎn) F 成功加入多播樹,服務(wù)器 更新相關(guān)信息, F 節(jié)點(diǎn)的父節(jié)點(diǎn)更新 相關(guān) 信息 結(jié)束,等待下一次調(diào)度 否 是 第 25 頁 節(jié)點(diǎn)的離開 節(jié)點(diǎn)離開的算法在第三章已經(jīng)詳細(xì)描述,過程的流程圖如圖 所示。 圖 節(jié)點(diǎn)離開的過程 結(jié)束 ,等待下次調(diào)度 是否是葉子節(jié)點(diǎn)退出 服務(wù)器查詢節(jié)點(diǎn)列表,獲取發(fā)出離開請求或異常離開的節(jié)點(diǎn)的信息 是否發(fā)現(xiàn)節(jié)點(diǎn)的異常退出 是 是 否 開 始 索引服務(wù)器查詢 收到的信息;運(yùn)行心跳檢測機(jī)制,定時檢測網(wǎng)絡(luò)狀態(tài) 是否有節(jié)點(diǎn)的離開請求 是 否 否 該節(jié)點(diǎn)的每一個子節(jié)點(diǎn)都向服務(wù)器發(fā)送加入請求,以每顆子樹為單位請求(嫁接法) 啟 動節(jié)點(diǎn)的加入算法 有子樹的加入請求被拒絕? 否 是 該子樹中的每 一個節(jié)點(diǎn)以單個的形式向服務(wù)器發(fā)出加入請求 啟動節(jié)點(diǎn)的加入算法 節(jié)點(diǎn)退出網(wǎng)絡(luò),樹重構(gòu)完畢, 更新索引服務(wù)器和相關(guān)節(jié)點(diǎn)中的信息 第 26 頁 基于“心跳”的通信管理模塊 在時時刻刻都在變化的網(wǎng)絡(luò)中,為了維持系統(tǒng)的健壯性, 系統(tǒng)必須不斷更新多播樹中所有節(jié)點(diǎn)的實(shí)時信息,并處理各種突如其來的 變故,避免系統(tǒng)崩潰??梢酝ㄟ^基于“心跳”的通信管理模塊來處理這個問題,它的主要內(nèi)容就是心跳檢測機(jī)制:節(jié)點(diǎn)定時(例如每隔 5 秒)向多播網(wǎng)絡(luò)中的父節(jié)點(diǎn)、所有子節(jié)點(diǎn)以及索引服務(wù)器發(fā)送“心跳包”來表明自己的狀態(tài),并接受它們發(fā)給自己的“心跳包”。節(jié)點(diǎn)根據(jù)接收到的信息更新自己所維護(hù)的實(shí)時信息,例如到服務(wù)器的延時、可用帶寬、在線時長等;索引服務(wù)器根據(jù)接收到的所有普通節(jié)點(diǎn)的信息,更新自身維護(hù)的節(jié)點(diǎn)列表和相關(guān)信息。 心跳包的發(fā)送接受線路圖如圖 所示,心跳包內(nèi)容如下: A) 發(fā)送方的網(wǎng)絡(luò) IP 地址; B) 目的方的網(wǎng)絡(luò) IP 地址; C)往返 時延 RTT; D)上行帶寬 Bi,可用帶寬 Fi,請求帶寬 R; E)節(jié)點(diǎn)的在線時長 Ti。 圖 心跳包的發(fā)送接受線路圖 音頻管理模塊 音頻管理模塊作用于客戶端上,包括緩沖子模塊和復(fù)制轉(zhuǎn)發(fā)子模塊。緩沖區(qū)子模塊主要負(fù)責(zé)對接收到的音頻數(shù)據(jù)包進(jìn)行下載,緩存,排序,組包,然后啟動節(jié) 點(diǎn) 父 節(jié) 點(diǎn) 子 節(jié) 點(diǎn) 索引服務(wù)器 子 節(jié) 點(diǎn) 第 27 頁 媒體播放器進(jìn)行播放;復(fù)制轉(zhuǎn)發(fā)子模塊則是復(fù)制接收到的音頻數(shù)據(jù)包,直接送到端口處,向子節(jié)點(diǎn)進(jìn)行轉(zhuǎn)發(fā)。如圖 所示。 圖 音頻管理模塊 本章 小結(jié) 本章首先介紹了仿真實(shí)驗(yàn)平臺的設(shè)計(jì),然后簡要介紹了仿真系統(tǒng)的四個功能模塊:網(wǎng)絡(luò)與媒體數(shù)據(jù)傳輸管理模塊,節(jié)點(diǎn)組織與管理模塊,基于“心跳”的通信管理模塊和音頻管理模塊。網(wǎng)絡(luò)與媒體數(shù)據(jù)傳輸管理模塊有兩個作用,一是索引服務(wù)器對多播樹的結(jié)構(gòu)信息和節(jié)點(diǎn)列表進(jìn)行維護(hù),二是管理媒體數(shù)據(jù)的傳輸;節(jié)點(diǎn)組織與管理模塊對節(jié)點(diǎn)的加入和退出進(jìn)行處理,以構(gòu)建和動態(tài)維護(hù)多播樹;基于“心跳”的通信管理模塊主要用于管理網(wǎng)絡(luò)中節(jié)點(diǎn)之間的定時通信,以保證網(wǎng)絡(luò)狀態(tài)地實(shí)時更新,并可檢測網(wǎng)絡(luò)的異常;音頻管理模 塊則作用于客戶端,處理接收到的音頻數(shù)據(jù)包,供用戶播放,并向子節(jié)點(diǎn)復(fù)制轉(zhuǎn)發(fā)音頻數(shù)據(jù)包。 音 頻 管 理 模 塊 音頻數(shù)據(jù)包 緩沖區(qū)子模塊 復(fù)制 轉(zhuǎn)發(fā) 子模塊 用戶觀看 子 節(jié)點(diǎn) 第 28 頁 第五章 仿真實(shí)驗(yàn) 本章在仿真平臺上對多人語音仿真系統(tǒng)進(jìn)行功能測試和性能測試,并對結(jié)果進(jìn)行分析,對系統(tǒng)作出相應(yīng)評價。 仿真參數(shù)說明 仿真參數(shù),如表 所示: 表 符號表示 具體含義 取值方法 N 網(wǎng)絡(luò)中總的節(jié)點(diǎn)數(shù) 事先設(shè)定 R 請求帶寬 事先設(shè)定 B 服務(wù)器(根節(jié)點(diǎn))的上行帶寬 事先設(shè)定 Bi 節(jié)點(diǎn)的上行帶寬 隨機(jī)生成 Ti 節(jié)點(diǎn)的在線時長 隨機(jī)生 成 Di 節(jié)點(diǎn)到服務(wù)器(根節(jié)點(diǎn))的延時 計(jì)算得到 Delayij 節(jié)點(diǎn)之間的延時 隨機(jī)生成 Dmax 保證基本服務(wù)質(zhì)量的最大延時 事先設(shè)定 Tin 節(jié)點(diǎn)加入系統(tǒng)的時間 隨機(jī)生成 Tout 檢測到的節(jié)點(diǎn)離開系統(tǒng)的時間 隨機(jī)生成 網(wǎng)絡(luò)中總的節(jié)點(diǎn)數(shù)為 N,表示請求加入系統(tǒng)的用戶數(shù);請求帶寬 R 為 節(jié)點(diǎn)接受音頻數(shù)據(jù)包所需要的帶寬;上行帶寬 Bi 表示節(jié)點(diǎn)在網(wǎng)絡(luò)中本地上傳的帶寬,決定了節(jié)點(diǎn)能夠服務(wù)的節(jié)點(diǎn)數(shù);在線時長 Ti 是指 節(jié)點(diǎn)在該系統(tǒng)中的累積在線時間,為歷史遺留信息,用以推斷該節(jié)點(diǎn)在樹中的可靠性,在線時長越大,說明 該節(jié)點(diǎn)立即離開的可能性越小,即越可靠;節(jié)點(diǎn)到根節(jié)點(diǎn)的延時 Di 等于節(jié)點(diǎn)到根節(jié)點(diǎn)之間的各路徑段延時 Delayij 之和, Di決定了節(jié)點(diǎn)所接受服務(wù)的質(zhì)量,延時越低,說明服務(wù)質(zhì)量越高,若大于 Dmax 則不能保證基本服務(wù)質(zhì)量,多播樹中不應(yīng)該存在這樣的節(jié)點(diǎn)。 在每一次的仿真實(shí)驗(yàn)中,規(guī)定 R=200Kbps, Bi 取值在 0Kbps~1Mbps 之間隨機(jī)生成 ,Dmax=200ms, Delayij 取值在 5ms~50ms之間隨機(jī)生成, Ti 取值在 1s~1000s之間隨機(jī)生成,其它參數(shù)具體實(shí)驗(yàn)具體說明。 功能仿真 1) 仿真實(shí)驗(yàn)的設(shè)計(jì) 第 29 頁 設(shè)定 N=5, B=400Kbps, Bi 取 200Kbps~400Kbps 之間的隨機(jī)值。 設(shè)定節(jié)點(diǎn)加入 /離開的時刻表如表 所示,啟動仿真系統(tǒng)。觀察系統(tǒng)是否能夠生成多播樹,并進(jìn)行動態(tài)維護(hù)。 表 五個節(jié)點(diǎn)加入 /離開的時刻表 節(jié)點(diǎn) A 節(jié)點(diǎn) B 節(jié)點(diǎn) C 節(jié)點(diǎn) D 節(jié)點(diǎn) E Tin( s) 5 10
點(diǎn)擊復(fù)制文檔內(nèi)容
研究報(bào)告相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1