国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于IOCP技術(shù)的網(wǎng)絡(luò)視頻測量系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)

2015-04-30 06:43殷雄
軟件導(dǎo)刊 2015年4期
關(guān)鍵詞:S模式

殷雄

摘要摘要:為滿足網(wǎng)絡(luò)視頻流量監(jiān)控及數(shù)據(jù)統(tǒng)計(jì)分析需要,基于C/S模式,采用IOCP技術(shù),設(shè)計(jì)并實(shí)現(xiàn)了網(wǎng)絡(luò)視頻測量分析系統(tǒng)。系統(tǒng)實(shí)現(xiàn)了用戶網(wǎng)絡(luò)視頻相關(guān)數(shù)據(jù)的測量與統(tǒng)計(jì),可為網(wǎng)絡(luò)運(yùn)行商及內(nèi)容提供商的優(yōu)化與改進(jìn)提供參考依據(jù)。

關(guān)鍵詞關(guān)鍵詞:IOCP;網(wǎng)絡(luò)視頻測量;C/S模式

DOIDOI:10.11907/rjdk.1431070

中圖分類號:TP319

文獻(xiàn)標(biāo)識碼:A文章編號文章編號:16727800(2015)004012402

0引言

隨著寬帶網(wǎng)絡(luò)的普及,基于Internet的網(wǎng)絡(luò)視頻服務(wù)迅猛發(fā)展,其中頗具代表的有基于P2P技術(shù)的PPLive 、電信運(yùn)營商提供的IPTV服務(wù)等。相比傳統(tǒng)電視,網(wǎng)絡(luò)視頻呈現(xiàn)出以下優(yōu)勢:

(1)播放電視節(jié)目更為靈活,可以提供多種頻道,還可以通過點(diǎn)播方式選擇喜愛的節(jié)目。

(2)更為豐富的節(jié)目資源、交互式和個(gè)性化的觀看體驗(yàn)。網(wǎng)絡(luò)視頻系統(tǒng)可以提供豐富的節(jié)目,用戶可根據(jù)分類導(dǎo)航和搜索功能發(fā)現(xiàn)特定節(jié)目,還可以根據(jù)個(gè)人喜好收藏節(jié)目,并可上傳自己制作的視頻內(nèi)容。

網(wǎng)絡(luò)視頻在豐富人們業(yè)余生活之時(shí),卻忽略了其所造成的流量。CacheLogic公司[1]曾作過統(tǒng)計(jì), P2P應(yīng)用流量占ISP下行流量的50%~65%、上行流量的75%~90%。目前的流量分析軟件基本都是基于路由器統(tǒng)計(jì)分析,統(tǒng)計(jì)結(jié)果僅僅只針對流量類型,不能進(jìn)行內(nèi)容分析,而內(nèi)容分析數(shù)據(jù)又分布于各網(wǎng)絡(luò)視頻提供商,需要一套系統(tǒng)才能對兩種數(shù)據(jù)直接采集。這些數(shù)據(jù)分析可以幫助ISP服務(wù)商針對結(jié)構(gòu)設(shè)計(jì)、節(jié)點(diǎn)選擇、資源分配進(jìn)行改進(jìn),對內(nèi)容提供商進(jìn)行網(wǎng)絡(luò)視頻系統(tǒng)的優(yōu)化與改進(jìn)提供參考依據(jù)?;诖耍疚牟捎肐OCP技術(shù)構(gòu)建測量分析系統(tǒng),結(jié)合Android客戶端數(shù)據(jù)采集,實(shí)現(xiàn)了一種快速的網(wǎng)絡(luò)視頻測量分析系統(tǒng)。

1IOCP技術(shù)介紹

IOCP是Input/Output Completion Port(I/O完成端口)的簡稱,是一種高性能的I/O模型,使用線程池處理異步重疊I/O(Over lapped I/O)。

IOCP[1]是一種高性能的I/O模型,其模型結(jié)構(gòu)如圖1所示。其應(yīng)用程序使用線程池處理異步I/O請求。過去,在處理多個(gè)并發(fā)的異步I/O請求時(shí),有很多線程并行地運(yùn)行在系統(tǒng)中。例如,有多個(gè)網(wǎng)絡(luò)連接時(shí),以往的模型會根據(jù)連接數(shù)量創(chuàng)建同等數(shù)量的線程來進(jìn)行數(shù)據(jù)收發(fā),Windows內(nèi)核需要花費(fèi)大量的時(shí)間進(jìn)行線程的上下文切換,內(nèi)核分配給線程的運(yùn)行時(shí)間片就相對減少,而創(chuàng)建線程和注銷線程都需要大量的時(shí)間片來完成,造成了效率低下。

IOCP采用了重疊I/O(Overlapped I/O)機(jī)制。在處理異步I/O請求時(shí),可以創(chuàng)建一個(gè)工作線程來統(tǒng)一管理請求,在重疊請求發(fā)出后就可以做別的事情,避免了反復(fù)創(chuàng)建線程的開銷。與此同時(shí),IOCP充分考慮了多核處理器的硬件環(huán)境,可以根據(jù)CPU的數(shù)量來靈活地決定線程的個(gè)數(shù),從而減少了線程的調(diào)度次數(shù),大幅提高了性能。

2測量方法

網(wǎng)絡(luò)視頻系統(tǒng)測量方法分為主動測量和被動測量。主動測量是使用爬蟲進(jìn)行全網(wǎng)搜索得到用戶數(shù)據(jù)。從理論上來說這種方法不需要用戶安裝客戶端,整個(gè)統(tǒng)計(jì)過程由服務(wù)端自主完成;被動測量方式是根據(jù)隱私保護(hù)協(xié)議為用戶安裝相應(yīng)的客戶端,由客戶端采集用戶數(shù)據(jù)后上傳至服務(wù)端。被動測量有兩種方式[2]:①設(shè)置觀測點(diǎn),用以記錄和分析網(wǎng)絡(luò)視頻軟件數(shù)據(jù);②建立日志服務(wù)器,用以搜集用戶行為記錄等相關(guān)信息。

2.1觀測點(diǎn)測量法

觀測點(diǎn)測量法是根據(jù)網(wǎng)絡(luò)的異構(gòu)性設(shè)置多個(gè)不同的觀測點(diǎn),配置特定規(guī)則的監(jiān)測工具,用于記錄觀看節(jié)目時(shí)產(chǎn)生的流媒體流量數(shù)據(jù),通過對流量數(shù)據(jù)的分析,評估系統(tǒng)性能、分析服務(wù)器及網(wǎng)絡(luò)負(fù)載特征以及數(shù)據(jù)位置信息和穩(wěn)定性,進(jìn)而選擇系統(tǒng)的節(jié)點(diǎn)算法。此種方法基于報(bào)文長度的啟發(fā)式規(guī)則:①在一個(gè)TCP會話里,累計(jì)大于1 200個(gè)字節(jié)的長報(bào)文數(shù)目超過10個(gè)(對長報(bào)文的認(rèn)定可以調(diào)整),即可認(rèn)定此會話為網(wǎng)絡(luò)視頻會話;②針對確定的網(wǎng)絡(luò)視頻會話,進(jìn)一步篩選掉控制報(bào)文,即剩余視頻報(bào)文。實(shí)踐證明,該規(guī)則可以有效分離視頻與控制流量。

2.2日志測量法

日志測量法是在系統(tǒng)中設(shè)置日志服務(wù)器,用于采集用戶觀看行為,根據(jù)實(shí)際需要記錄用戶觀看的視頻標(biāo)題、觀看時(shí)間、觀看位置等信息。通過對這些記錄的分析,可以基本準(zhǔn)確地掌握用戶到達(dá)模式、系統(tǒng)逗留時(shí)間等行為。同時(shí)可以使用流暢度模型,測量用戶實(shí)際觀看一個(gè)節(jié)目的時(shí)間在節(jié)目總時(shí)間里的占比。

與主動測量方法不同,被動測量較少對系統(tǒng)造成不良影響,而且被動測量模型可以用于多種系統(tǒng),通用性較高?;谟^測點(diǎn)的被動測量方法受到觀察角度的制約,測量結(jié)果具有片面性,但是基于系統(tǒng)日志的被動測量方法對測量系統(tǒng)有整體全面的認(rèn)識。觀測點(diǎn)測量法消耗資源較多,為了不影響用戶,本文采用日志測量方法。

3系統(tǒng)總體架構(gòu)

系統(tǒng)采用C/S模式,服務(wù)端為操作系統(tǒng)Windows2012,采用IOCP技術(shù)搭建服務(wù)程序,客戶端主要針對Android電視和手機(jī),采用QT框架搭建客戶端程序??蛻舳酥饕杉缦滦畔ⅲ河脩鬒D、網(wǎng)絡(luò)視頻軟件名稱、觀看視頻名稱、開始時(shí)間、結(jié)束時(shí)間、流量消耗情況。系統(tǒng)總體架構(gòu)如圖2所示

IOCP服務(wù)端流程如圖3所示:①服務(wù)端首先建立Socket連接;②建立IOCP對象并建立工作池線程;③啟動監(jiān)聽線程并等待用戶連接;④當(dāng)客戶端連接后,將連接Socket和完成端口關(guān)聯(lián),工作線程將自動接收該Socket號的數(shù)據(jù)包;⑤將接收到的數(shù)據(jù)進(jìn)行處理。

Android客戶端流程如圖4所示:①當(dāng)用戶首次啟動網(wǎng)絡(luò)視頻軟件,如PPLive等,客戶端將啟動監(jiān)測;②啟動監(jiān)測后將自動根據(jù)用戶情況生成客戶日志信息;③當(dāng)用戶結(jié)束視頻觀看時(shí),客戶端將連接服務(wù)端,傳回日志信息。

此種處理可以避免客戶端長時(shí)間占用網(wǎng)絡(luò)連接造成的網(wǎng)絡(luò)資源浪費(fèi)。同時(shí)由于日志信息容量較大,故將日志信息保存在SQLite數(shù)據(jù)庫,當(dāng)網(wǎng)絡(luò)連接成功后,再逐條將日志信息傳送。即使發(fā)生用戶關(guān)機(jī)等異常情況,同樣可以在下次進(jìn)行傳送;④傳送完成后,客戶端將處于休眠狀態(tài),等待下一次記錄開始。

4系統(tǒng)測試

將IOCP網(wǎng)絡(luò)視頻測量服務(wù)程序與傳統(tǒng)的基于線程池測量服務(wù)程序進(jìn)行性能對比實(shí)驗(yàn),實(shí)驗(yàn)環(huán)境為2.6 G 8核 8G服務(wù)器,測試結(jié)果如表1所示。

在連接數(shù)為10、100、1 000三種情況下,對CPU 使用率和內(nèi)存使用量兩大主要指標(biāo)進(jìn)行對比,可以發(fā)現(xiàn)傳統(tǒng)線程池模型服務(wù)器當(dāng)連接數(shù)成數(shù)量級增長時(shí),性能大幅度下降,而IOCP模式的情況要遠(yuǎn)遠(yuǎn)優(yōu)于傳統(tǒng)線程池方式。

參考文獻(xiàn)參考文獻(xiàn):

[1]劉珍陽.基于IOCP的高性能服務(wù)器軟件設(shè)計(jì)[J].計(jì)算機(jī)與數(shù)字工程,2013(7):11541156.

[2]楊陽,馬皓, 張曉軍, 等. 網(wǎng)絡(luò)電視的測量與分析研究綜述[J].小型微型計(jì)算機(jī)系統(tǒng),2011 (7):13021309.

[3]金牧.IOCP機(jī)制在P2P 模式網(wǎng)絡(luò)通信中的應(yīng)用[J].微計(jì)算機(jī)信息, 2007,23(8):100102.

[4]馬金鑫.基于IOCP 的高并發(fā)通信服務(wù)器的設(shè)計(jì)與實(shí)現(xiàn)[J].通信技術(shù),2009,42(7):248251.

責(zé)任編輯(責(zé)任編輯:杜能鋼)

猜你喜歡
S模式
基于B/S模式的數(shù)據(jù)結(jié)構(gòu)實(shí)驗(yàn)平臺設(shè)計(jì)
那曲县| 盐城市| 鲜城| 大竹县| 南川市| 南澳县| 洪湖市| 安图县| 双牌县| 崇明县| 临潭县| 溆浦县| 通州区| 宿迁市| 布拖县| 江安县| 永和县| 邢台县| 孙吴县| 沁阳市| 肥西县| 嘉荫县| 长宁区| 锦州市| 新邵县| 东阿县| 荥阳市| 凤台县| 厦门市| 黑龙江省| 达拉特旗| 靖州| 丽江市| 勃利县| 毕节市| 乌拉特前旗| 绥化市| 宁南县| 临夏县| 清原| 射阳县|