本發(fā)明涉及一種網(wǎng)絡(luò)視頻點(diǎn)播服務(wù)器及其應(yīng)用,尤其是涉及一種基于dvfs的網(wǎng)絡(luò)視頻點(diǎn)播服務(wù)器及其應(yīng)用。
背景技術(shù):
視頻點(diǎn)播(vod,videoondemand),將視頻技術(shù)、網(wǎng)絡(luò)技術(shù)和計(jì)算機(jī)技術(shù)三者相結(jié)合,實(shí)現(xiàn)了用戶根據(jù)個(gè)人喜好來播放視頻,為用戶提供實(shí)時(shí)便捷、交互式按需點(diǎn)播視頻服務(wù),廣泛應(yīng)用于學(xué)習(xí)教育、生活?yuàn)蕵?、商業(yè)金融和智能家居、安防監(jiān)控等各個(gè)領(lǐng)域。
網(wǎng)絡(luò)視頻點(diǎn)播服務(wù)器,作為視頻點(diǎn)播系統(tǒng)的存儲(chǔ)中心和處理中樞,負(fù)責(zé)存儲(chǔ)視頻源、響應(yīng)網(wǎng)絡(luò)用戶點(diǎn)播請(qǐng)求、傳輸點(diǎn)播視頻等功能。隨著視頻質(zhì)量的不斷提高和互聯(lián)網(wǎng)技術(shù)的高速發(fā)展,用戶對(duì)網(wǎng)絡(luò)視頻點(diǎn)播的視頻精度、響應(yīng)和傳輸延遲的要求也不斷提升。當(dāng)代的視頻點(diǎn)播系統(tǒng),呈現(xiàn)出高分辨率、數(shù)據(jù)量大、傳輸帶寬高和實(shí)時(shí)性強(qiáng)等特點(diǎn)。這就對(duì)網(wǎng)絡(luò)視頻點(diǎn)播服務(wù)器的性能和功耗提出了很高的要求。因此,功耗問題已經(jīng)成為當(dāng)前網(wǎng)絡(luò)視頻點(diǎn)播服務(wù)器不得不考慮的關(guān)鍵問題。然而,現(xiàn)有大多網(wǎng)絡(luò)視頻點(diǎn)播服務(wù)器,很少將能耗因素考慮在內(nèi),因而幾乎沒有采用任何節(jié)能措施,更缺乏對(duì)其功耗的深入研究和有效控制。
dvfs(dynamicvoltageandfrequencyscaling,動(dòng)態(tài)電壓頻率調(diào)節(jié)),根據(jù)外界事件的緊迫程度來動(dòng)態(tài)調(diào)節(jié)cpu的電壓和頻率,以達(dá)到響應(yīng)時(shí)間和功耗之間的平衡。由于dvfs對(duì)cpu電壓和頻率的動(dòng)態(tài)可調(diào)性,被普遍應(yīng)用在節(jié)能領(lǐng)域。對(duì)于網(wǎng)絡(luò)視頻點(diǎn)播服務(wù)器,dvfs技術(shù)能夠在系統(tǒng)運(yùn)行時(shí)根據(jù)網(wǎng)絡(luò)用戶點(diǎn)播請(qǐng)求數(shù)量和等級(jí)、系統(tǒng)性能等情況靈活改變視頻點(diǎn)播服務(wù)器處于工作狀態(tài)的cpu核數(shù)及其工作頻率,處理用戶的視頻點(diǎn)播請(qǐng)求并傳輸點(diǎn)播視頻。這樣,可以在不影響用戶網(wǎng)絡(luò)視頻點(diǎn)播質(zhì)量和延時(shí)的前提下,更為有效和合理地降低網(wǎng)絡(luò)視頻點(diǎn)播服務(wù)器的能量消耗。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的目的就是為了克服上述現(xiàn)有技術(shù)存在的缺陷而提供一種基于dvfs的網(wǎng)絡(luò)視頻點(diǎn)播服務(wù)器及其應(yīng)用。
本發(fā)明的目的可以通過以下技術(shù)方案來實(shí)現(xiàn):
一種基于dvfs的網(wǎng)絡(luò)視頻點(diǎn)播服務(wù)器,所述的網(wǎng)絡(luò)視頻點(diǎn)播服務(wù)器包括:用于處理用戶點(diǎn)播請(qǐng)求并傳輸點(diǎn)播視頻的處理器,用于存儲(chǔ)用戶點(diǎn)播的視頻源的存儲(chǔ)硬盤,用于監(jiān)測(cè)服務(wù)器運(yùn)行狀態(tài)指標(biāo)的指標(biāo)監(jiān)測(cè)模塊以及用于根據(jù)指標(biāo)監(jiān)測(cè)模塊監(jiān)測(cè)數(shù)據(jù)對(duì)處理器進(jìn)行dvfs調(diào)節(jié)的運(yùn)行內(nèi)存,所述的處理器為基于dvfs的多核處理器,所述的處理器通過以太網(wǎng)接口連接internet網(wǎng)絡(luò),所述的internet網(wǎng)絡(luò)連接用于用戶視頻點(diǎn)播的用戶終端,所述的運(yùn)行內(nèi)存連接指標(biāo)監(jiān)測(cè)模塊,所述的處理器分別連接存儲(chǔ)硬盤和運(yùn)行內(nèi)存。
所述的存儲(chǔ)硬盤為sata3硬盤,所述的sata3硬盤通過sata3接口連接所述的處理器。
所述的運(yùn)行內(nèi)存為ddr3內(nèi)存,所述的ddr3內(nèi)存通過ddr3內(nèi)存接口連接所述的處理器。
所述的以太網(wǎng)接口為10000mbps以太網(wǎng)接口。
所述的指標(biāo)監(jiān)測(cè)模塊包括用于監(jiān)測(cè)運(yùn)行內(nèi)存使用率的內(nèi)存監(jiān)測(cè)子模塊、用于監(jiān)測(cè)存儲(chǔ)硬盤響應(yīng)時(shí)間的硬盤監(jiān)測(cè)子模塊以及用于監(jiān)測(cè)以太網(wǎng)接口流量的網(wǎng)絡(luò)流量監(jiān)測(cè)子模塊,各子模塊均連接至運(yùn)行內(nèi)存。
所述的運(yùn)行內(nèi)存包括:
性能指標(biāo)獲取模塊:該模塊連接指標(biāo)監(jiān)測(cè)模塊,性能指標(biāo)獲取模塊獲取指標(biāo)監(jiān)測(cè)模塊的監(jiān)測(cè)數(shù)據(jù);
處理器cpu核dvfs調(diào)節(jié)模塊:該模塊根據(jù)性能指標(biāo)獲取模塊獲取的監(jiān)測(cè)數(shù)據(jù)對(duì)處理器進(jìn)行dvfs調(diào)節(jié),設(shè)定dvfs的多核處理器中各個(gè)cpu核的工作狀態(tài)和工作頻率。
該網(wǎng)絡(luò)視頻點(diǎn)播服務(wù)器還包括功耗檢測(cè)顯示模塊,所述的功耗檢測(cè)顯示模塊包括功耗檢測(cè)芯片和顯示器,所述的功耗檢測(cè)芯片連接所述的處理器和顯示器。
一種基于dvfs的網(wǎng)絡(luò)視頻點(diǎn)播服務(wù)器的應(yīng)用,具體應(yīng)用方法包括如下步驟:
(1)網(wǎng)絡(luò)視頻點(diǎn)播服務(wù)器進(jìn)行初始化,基于dvfs的多核處理器運(yùn)行于設(shè)定的最優(yōu)節(jié)能模式;
(2)網(wǎng)絡(luò)視頻點(diǎn)播服務(wù)器監(jiān)測(cè)是否有用戶點(diǎn)播請(qǐng)求,若無則基于dvfs的多核處理器保持運(yùn)行于設(shè)定的最優(yōu)節(jié)能模式,若有則執(zhí)行步驟(3);
(3)基于dvfs的多核處理器響應(yīng)用戶請(qǐng)求向用戶終端發(fā)送點(diǎn)播的視頻,同時(shí)對(duì)基于dvfs的多核處理器進(jìn)行dvfs調(diào)節(jié)。
步驟(3)中dvfs調(diào)節(jié)具體為:運(yùn)行內(nèi)存從指標(biāo)監(jiān)測(cè)模塊獲取性能指標(biāo)監(jiān)測(cè)數(shù)據(jù)后對(duì)監(jiān)測(cè)數(shù)據(jù)進(jìn)行分析并設(shè)定基于dvfs的多核處理器中各個(gè)cpu核的工作狀態(tài)和工作頻率。
與現(xiàn)有技術(shù)相比,本發(fā)明具有如下優(yōu)點(diǎn):
(1)本發(fā)明指標(biāo)監(jiān)測(cè)模塊實(shí)時(shí)監(jiān)測(cè)運(yùn)行狀態(tài)指標(biāo),從而能夠及時(shí)調(diào)整基于dvfs的多核處理器中各個(gè)cpu核的供電電壓和時(shí)鐘頻率,在滿足視頻點(diǎn)播應(yīng)用性能以及用戶點(diǎn)播要求的同時(shí),降低網(wǎng)絡(luò)視頻點(diǎn)播服務(wù)器的整體能耗;
(2)本發(fā)明設(shè)置的功耗檢測(cè)顯示裝置能夠?qū)崟r(shí)監(jiān)測(cè)并顯示處理器的功耗;
(3)本發(fā)明指標(biāo)監(jiān)測(cè)模塊監(jiān)測(cè)的運(yùn)行狀態(tài)指標(biāo)包括運(yùn)行內(nèi)存使用率、存儲(chǔ)硬盤響應(yīng)時(shí)間以及網(wǎng)絡(luò)流量監(jiān)測(cè)子模塊,從而從各多方面判斷網(wǎng)絡(luò)視頻點(diǎn)播服務(wù)器的工作狀態(tài)和負(fù)載情況。在不影響系統(tǒng)性能的情況下,實(shí)時(shí)調(diào)整多核處理器的各個(gè)cpu核的打開/關(guān)閉狀態(tài),從而有效地降低網(wǎng)絡(luò)視頻點(diǎn)播服務(wù)器的功耗、節(jié)約能源。
附圖說明
圖1為本發(fā)明基于dvfs的網(wǎng)絡(luò)視頻點(diǎn)播服務(wù)器的結(jié)構(gòu)框圖;
圖2為本發(fā)明基于dvfs的網(wǎng)絡(luò)視頻點(diǎn)播服務(wù)器的應(yīng)用方法的流程圖。
圖中,1為處理器,2為sata3硬盤,3為sata3接口,4為ddr3內(nèi)存,5為ddr3內(nèi)存接口,6為以太網(wǎng)接口,7為路由器,8為internet網(wǎng)絡(luò),9為有線點(diǎn)播終端,10為移動(dòng)點(diǎn)播終端,11為指標(biāo)監(jiān)測(cè)模塊,12為功耗檢測(cè)顯示模塊。
具體實(shí)施方式
下面結(jié)合附圖和具體實(shí)施例對(duì)本發(fā)明進(jìn)行詳細(xì)說明。
實(shí)施例
如圖1所示,一種基于dvfs的網(wǎng)絡(luò)視頻點(diǎn)播服務(wù)器,網(wǎng)絡(luò)視頻點(diǎn)播服務(wù)器包括:用于處理用戶點(diǎn)播請(qǐng)求并傳輸點(diǎn)播視頻的處理器1,用于存儲(chǔ)用戶點(diǎn)播的視頻源的存儲(chǔ)硬盤,用于監(jiān)測(cè)服務(wù)器運(yùn)行狀態(tài)指標(biāo)的指標(biāo)監(jiān)測(cè)模塊11以及用于根據(jù)指標(biāo)監(jiān)測(cè)模塊11監(jiān)測(cè)數(shù)據(jù)對(duì)處理器1進(jìn)行dvfs調(diào)節(jié)的運(yùn)行內(nèi)存,處理器1為基于dvfs的多核處理器,處理器1通過以太網(wǎng)接口6連接internet網(wǎng)絡(luò)8,internet網(wǎng)絡(luò)8連接用于用戶視頻點(diǎn)播的用戶終端,運(yùn)行內(nèi)存連接指標(biāo)監(jiān)測(cè)模塊11,處理器1分別連接存儲(chǔ)硬盤和運(yùn)行內(nèi)存,用戶終端包括有線點(diǎn)播終端9和移動(dòng)點(diǎn)播終端10。
存儲(chǔ)硬盤為sata3硬盤2,sata3硬盤2通過sata3接口3連接處理器1。運(yùn)行內(nèi)存為ddr3內(nèi)存4,ddr3內(nèi)存4通過ddr3內(nèi)存接口5連接處理器1。以太網(wǎng)接口6為10000mbps以太網(wǎng)接口。?;赿vfs的多核處理器包括多個(gè)cpu核,每個(gè)cpu核均可互不影響、各自獨(dú)立地打開或關(guān)閉。并且,當(dāng)每個(gè)cpu核處于打開工作狀態(tài)時(shí),可動(dòng)態(tài)設(shè)置其工作頻率。10000mbps以太網(wǎng)接口將internet網(wǎng)絡(luò)8與基于dvfs的多核處理器進(jìn)行連接,10000mbps以太網(wǎng)接口和internet網(wǎng)絡(luò)8之間設(shè)置路由器7,10000mbps以太網(wǎng)接口是網(wǎng)絡(luò)視頻點(diǎn)播服務(wù)器與位于不同物理區(qū)域的點(diǎn)播用戶進(jìn)行通信的接口。通過10000mbps以太網(wǎng)接口,基于dvfs的網(wǎng)絡(luò)視頻點(diǎn)播服務(wù)器接收來自internet網(wǎng)絡(luò)的不同用戶點(diǎn)播請(qǐng)求,并向各個(gè)用戶傳輸視頻數(shù)據(jù)。
指標(biāo)監(jiān)測(cè)模塊11包括用于監(jiān)測(cè)運(yùn)行內(nèi)存使用率的內(nèi)存監(jiān)測(cè)子模塊、用于監(jiān)測(cè)存儲(chǔ)硬盤響應(yīng)時(shí)間的硬盤監(jiān)測(cè)子模塊以及用于監(jiān)測(cè)以太網(wǎng)接口6流量的網(wǎng)絡(luò)流量監(jiān)測(cè)子模塊,各子模塊均連接至運(yùn)行內(nèi)存。
運(yùn)行內(nèi)存包括:性能指標(biāo)獲取模塊:該模塊連接指標(biāo)監(jiān)測(cè)模塊11,性能指標(biāo)獲取模塊獲取指標(biāo)監(jiān)測(cè)模塊11的監(jiān)測(cè)數(shù)據(jù);處理器cpu核dvfs調(diào)節(jié)模塊:該模塊根據(jù)性能指標(biāo)獲取模塊獲取的監(jiān)測(cè)數(shù)據(jù)對(duì)處理器1進(jìn)行dvfs調(diào)節(jié),設(shè)定dvfs的多核處理器1中各個(gè)cpu核的工作狀態(tài)和工作頻率。
該網(wǎng)絡(luò)視頻點(diǎn)播服務(wù)器還包括功耗檢測(cè)顯示模塊12,功耗檢測(cè)顯示模塊12包括功耗檢測(cè)芯片和顯示器,功耗檢測(cè)芯片連接處理器1和顯示器。
具體地,運(yùn)行內(nèi)存中設(shè)置基于dvfs的網(wǎng)絡(luò)視頻點(diǎn)播服務(wù)器的軟件,該軟件包括:
linux操作系統(tǒng),是基于dvfs的網(wǎng)絡(luò)視頻點(diǎn)播服務(wù)器軟件的基礎(chǔ)。
tcp/ip協(xié)議棧,為上層應(yīng)用程序(如網(wǎng)絡(luò)請(qǐng)求和系統(tǒng)性能監(jiān)測(cè)程序、webserver程序等)提供網(wǎng)絡(luò)協(xié)議支持和保障。
驅(qū)動(dòng)程序,用于驅(qū)動(dòng)基于dvfs的網(wǎng)絡(luò)視頻點(diǎn)播服務(wù)器的硬件接口,如10000mbps以太網(wǎng)接口等。
網(wǎng)絡(luò)請(qǐng)求和系統(tǒng)性能監(jiān)測(cè)程序,用于收集和提取當(dāng)前網(wǎng)絡(luò)請(qǐng)求信息和系統(tǒng)性能信息,如視頻點(diǎn)播用戶請(qǐng)求的數(shù)量和等級(jí)、ddr3內(nèi)存4的使用率和sata3硬盤2的響應(yīng)時(shí)間等。
多核處理器1cpu核的狀態(tài)和頻率設(shè)置程序,用于設(shè)置基于dvfs的網(wǎng)絡(luò)視頻點(diǎn)播服務(wù)器的多核處理器1各個(gè)cpu核的工作狀態(tài)和工作頻率。
webserver程序,用于響應(yīng)和處理用戶的視頻點(diǎn)播請(qǐng)求。
如圖2所示,一種基于dvfs的網(wǎng)絡(luò)視頻點(diǎn)播服務(wù)器的應(yīng)用,具體應(yīng)用方法包括如下步驟:
(1)網(wǎng)絡(luò)視頻點(diǎn)播服務(wù)器進(jìn)行初始化,基于dvfs的多核處理器運(yùn)行于設(shè)定的最優(yōu)節(jié)能模式;
(2)網(wǎng)絡(luò)視頻點(diǎn)播服務(wù)器監(jiān)測(cè)是否有用戶點(diǎn)播請(qǐng)求,若無則基于dvfs的多核處理器保持運(yùn)行于設(shè)定的最優(yōu)節(jié)能模式,若有則執(zhí)行步驟(3);
(3)基于dvfs的多核處理器響應(yīng)用戶請(qǐng)求向用戶終端發(fā)送點(diǎn)播的視頻,同時(shí)對(duì)基于dvfs的多核處理器進(jìn)行dvfs調(diào)節(jié)。
步驟(3)中dvfs調(diào)節(jié)具體為:運(yùn)行內(nèi)存從指標(biāo)監(jiān)測(cè)模塊11獲取性能指標(biāo)監(jiān)測(cè)數(shù)據(jù)后對(duì)監(jiān)測(cè)數(shù)據(jù)進(jìn)行分析并設(shè)定基于dvfs的多核處理器中各個(gè)cpu核的工作狀態(tài)和工作頻率。
具體地,本發(fā)明工作時(shí),基于dvfs的網(wǎng)絡(luò)視頻點(diǎn)播服務(wù)器的軟件首先初始化基于dvfs的多核處理器,將基于dvfs的多核處理器設(shè)置為最優(yōu)節(jié)能模式,即調(diào)用多核處理器1cpu核的狀態(tài)和頻率設(shè)置程序關(guān)閉多核處理器1的其他各個(gè)cpu核,只保留一個(gè)cpu核處于打開狀態(tài)并將其工作頻率調(diào)至最低。然后,基于dvfs的網(wǎng)絡(luò)視頻點(diǎn)播服務(wù)器的軟件調(diào)用驅(qū)動(dòng)程序通過10000mbps以太網(wǎng)接口探測(cè)internet網(wǎng)絡(luò)8上是否有用戶向基于dvfs的網(wǎng)絡(luò)視頻點(diǎn)播服務(wù)器提出視頻點(diǎn)播請(qǐng)求。當(dāng)沒有來自internet網(wǎng)絡(luò)8的視頻點(diǎn)播請(qǐng)求時(shí),基于dvfs的網(wǎng)絡(luò)視頻點(diǎn)播服務(wù)器的軟件調(diào)用多核處理器1cpu核的狀態(tài)和頻率設(shè)置程序使得基于dvfs的網(wǎng)絡(luò)視頻點(diǎn)播服務(wù)器繼續(xù)保持最優(yōu)節(jié)能模式——即將多核處理器1其他各個(gè)cpu核設(shè)置成關(guān)閉狀態(tài),只保留一個(gè)cpu核處于打開狀態(tài)并將其工作頻率調(diào)至最低。當(dāng)驅(qū)動(dòng)程序通過10000mbps以太網(wǎng)接口探測(cè)到來自internet網(wǎng)絡(luò)8的用戶點(diǎn)播請(qǐng)求時(shí),立即通過tcp/ip棧將用戶請(qǐng)求遞交基于網(wǎng)絡(luò)請(qǐng)求和系統(tǒng)性能的視頻點(diǎn)播節(jié)能軟件。當(dāng)接收到用戶點(diǎn)播請(qǐng)求后,基于dvfs的網(wǎng)絡(luò)視頻點(diǎn)播服務(wù)器的軟件調(diào)用webserver程序處理用戶視頻點(diǎn)播請(qǐng)求,例如調(diào)用驅(qū)動(dòng)程序通過sata3接口3讀取sata3硬盤2上的視頻源,并通過10000mbps以太網(wǎng)接口經(jīng)由internet網(wǎng)絡(luò)8將視頻流發(fā)送給點(diǎn)播用戶。與此同時(shí),基于dvfs的網(wǎng)絡(luò)視頻點(diǎn)播服務(wù)器的軟件調(diào)用網(wǎng)絡(luò)請(qǐng)求和系統(tǒng)性能監(jiān)測(cè)程序,通過sata3接口3、ddr接口和10000mbps以太網(wǎng)接口收集系統(tǒng)及網(wǎng)絡(luò)的信息(如當(dāng)前ddr3內(nèi)存4的使用率、當(dāng)前sata3硬盤2的響應(yīng)時(shí)間、當(dāng)前網(wǎng)絡(luò)流量、當(dāng)前視頻點(diǎn)播用戶請(qǐng)求的數(shù)量和級(jí)別等),并將這些信息發(fā)送給多核處理器1cpu核的狀態(tài)和頻率設(shè)置程序。多核處理器1cpu核的狀態(tài)和頻率設(shè)置程序根據(jù)得到的監(jiān)測(cè)信息,實(shí)時(shí)調(diào)整基于dvfs的多核處理器的各個(gè)cpu核的工作狀態(tài)和工作頻率。例如,當(dāng)連接網(wǎng)絡(luò)視頻點(diǎn)播服務(wù)器的用戶數(shù)量增加、系統(tǒng)負(fù)載增大時(shí),逐步打開基于dvfs的多核處理器的各個(gè)cpu核,并從低到高逐漸提升各個(gè)cpu核的工作頻率;當(dāng)連接網(wǎng)絡(luò)視頻點(diǎn)播服務(wù)器的用戶減少、系統(tǒng)負(fù)載減小時(shí),逐漸降低基于dvfs的多核處理器的各個(gè)cpu核的工作頻率,乃至關(guān)閉;直至沒有用戶連接網(wǎng)絡(luò)視頻點(diǎn)播服務(wù)器時(shí),基于dvfs的網(wǎng)絡(luò)視頻服務(wù)器將恢復(fù)到初始狀態(tài)(最優(yōu)節(jié)能模式),即將多核處理器1的其他各個(gè)cpu核關(guān)閉,只保留一個(gè)cpu核處于打開狀態(tài)并將其工作頻率調(diào)至最低。
本發(fā)明根據(jù)當(dāng)前用戶的數(shù)量和等級(jí)、網(wǎng)絡(luò)視頻點(diǎn)播服務(wù)器的性能以及網(wǎng)絡(luò)擁塞等情況,調(diào)整基于dvfs的多核處理器各個(gè)cpu核的供電電壓和時(shí)鐘頻率,并通過功耗檢測(cè)裝置實(shí)時(shí)監(jiān)控系統(tǒng)能耗,在滿足視頻點(diǎn)播應(yīng)用性能以及用戶點(diǎn)播要求的同時(shí),降低網(wǎng)絡(luò)視頻點(diǎn)播服務(wù)器的整體能耗。