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

電視臺節(jié)目遷移技術的研究與實現(xiàn)

2012-09-25 04:33:02文丨李繼青唐繼勇白新躍
中國傳媒科技 2012年20期
關鍵詞:方法

文丨李繼青 唐繼勇 白新躍

(電子科技大學,成都 611731)

現(xiàn)今電視臺已經用視頻服務器的硬盤播出系統(tǒng)取代了傳統(tǒng)的錄像機播出,并逐漸形成電視全臺制作播出網(wǎng)絡,目前電視臺所有節(jié)目有三種存儲方式:在線存儲(On-Line)、近線存儲[1](Near-Line)和離線存儲(Off-Line),也分別稱為一級、二級、三級存儲。在線存儲[2]方式是將所有的節(jié)目都用硬盤保存起來,直接存儲在視頻服務器中,當有播出請求時,就可以立即取得數(shù)據(jù),訪問速度快,但視頻服務器存儲容量有限制;離線存儲使用磁盤陣列、光盤、磁帶作為節(jié)目存儲的載體,其最大的優(yōu)點就在于其廉價的存儲成本,以及其靈活的擴展性能,但訪問速度較慢,效率較低。近線存儲方式有機將離線存儲和在線存儲的優(yōu)點結合,能實現(xiàn)較大容量節(jié)目的存儲,而且遷入在線存儲速度也比離線遷入快。由于高清/標清節(jié)目所需要磁盤容量較大,目前在電視臺中一般用多臺節(jié)目存儲服務器作為二級存儲設備。如圖1,在電視全臺網(wǎng)的節(jié)目播出和節(jié)目管理中,需要在一級、二級和三級存儲間進行相互的遷入和回遷。本文重點以二級存儲遷移到在線存儲為討論對象,其它情況的遷移與此類似。

圖1 電視臺節(jié)目存儲三級架構

1 節(jié)目遷移需求分析

近線存儲方式的節(jié)目當需要進行播出時需要遷移到視頻服務器(在線存儲方式),或者對于有主備二級存儲的電視全臺網(wǎng)系統(tǒng)中,二級存儲之間也需要進行節(jié)目的遷移。目前電視臺節(jié)目的遷移過程一般是基于FTP協(xié)議先下載再上傳。要實現(xiàn)遷移任務,現(xiàn)在較為通用遷移步驟如下(以近線遷移到在線為例):(1)將近線存儲的節(jié)目下載到節(jié)目遷移服務器磁盤的特定目錄下。(2)將遷移服務器中已下載的節(jié)目遷移到視頻服務器(在線存儲),如果有主備冗余機制,則同時遷移到主備視頻服務器進行在線存儲。(3)如果遷移到視頻服務器成功,則刪除自動遷移服務器中下載的節(jié)目,完成遷移任務。

從以上步驟可以看出,遷移服務器作為中間橋梁實現(xiàn)遷移,每個節(jié)目的遷移都需要首先存入遷移服務器,完成任務后又刪除節(jié)目。由于現(xiàn)在電視臺節(jié)目一般都是大容量的音視頻文件,遷移過程中對遷移服務器要求高,要頻繁的讀寫磁盤,導致遷移速度慢,如果遇到臨時應急情況,需要緊急遷移,基于以上的遷移過程在效率上得不到保證。針對先下載后上傳的遷移方法中的不足之處,對于采用分級存儲[3-4]的遷移系統(tǒng)功能分析如下:(1)下載和上載過程并發(fā)執(zhí)行,下載一部分文件數(shù)據(jù)的同時,上載這部分數(shù)據(jù)到目標存儲服務器,以提高遷移效率。(2)傳統(tǒng)遷移方法利用硬盤作為臨時存儲空間,但磁盤速度遠遠低于內存讀寫速度,故應使用內存作為臨時存儲空間,提高遷移的速度。(3)內存容量的有限性,對于大容量文件,不能分配與文件大小匹配的內存作為臨時存儲區(qū),因而需設計一塊內存空間供循環(huán)讀寫,實現(xiàn)內存空間的高效利用。

針對以上需求分析,在實際電視廣播工程實踐開發(fā)中,提出了循環(huán)內存流遷移的方式來滿足以上需求,避免了頻繁的磁盤I/O讀寫操作,設計合適的循環(huán)內存流,能有效實現(xiàn)多個遷移任務并發(fā)執(zhí)行。

2 循環(huán)內存流設計與實現(xiàn)

循環(huán)內存流設計的基本思想是:在內存空間中開辟出指定大小的內存塊(例如10M),一個Writer線程從局域網(wǎng)中某FTP服務器不斷下載數(shù)據(jù)到該內存塊中;另一個Read線程源源不斷從內存塊中取出數(shù)據(jù)進行遷移到局域網(wǎng)中另外的FTP服務器。兩個線程共用一塊內存區(qū),并能循環(huán)對此內存區(qū)進行讀寫。如圖2所示,沿著循環(huán)流的方向,Read線程讀取數(shù)據(jù)總在Write線程寫入之后,以保證每次能讀到數(shù)據(jù);Write線程每次寫到流末尾,即進行跳轉到流開始處,從頭開始寫入數(shù)據(jù),Read線程與Write線程類似。為了能保證循環(huán)讀寫的順利進行,假設每次讀寫的數(shù)據(jù)量為Count(一般為32K),每次讀數(shù)據(jù)時要求不超過已寫入數(shù)據(jù)的位置,而每次寫時要求寫入的位置的數(shù)據(jù)已經讀出,每次寫完時,總有Write線程所指向內存流的位置比讀線程所指向位置大于或者等于Count成立。兩個線程同步進行,不停循環(huán)進行讀寫操作,從而實現(xiàn)文件基于循環(huán)內存流的遷移過程。

為了實現(xiàn)數(shù)據(jù)的準確傳輸,不會產生數(shù)據(jù)的丟失和讀寫誤操作,必須進行線程間同步,即保證讀數(shù)據(jù)之前,已經有數(shù)據(jù)寫入,循環(huán)再次寫入時,該內存塊數(shù)據(jù)已經被讀出。實現(xiàn)中采用面向對象技術,編寫了TMemoryStream類實現(xiàn)循環(huán)內存流,以下對循環(huán)內存流的實際工作原理關鍵性節(jié)點進行闡述。

圖2 循環(huán)內存流原理示意圖

類中部分關鍵字段定義。Memory Capacity:設定內存流的大?。籆ount:每次讀出或者寫入流的大小。FPosition:本次進行讀或者寫流的位置指針; WritePosition :寫位置指針,指向遷移文件已經寫入了的文件位置;ReadPosition:讀位置指針,指向遷移文件已經讀出了的文件位置;IdMutex:保證讀寫線程同步的互斥量。例如,要實現(xiàn)從二級存儲A服務器遷移到一級存儲B視頻服務器,某次遷移的文件大小為1G,假設內存流設置為10M,每次讀入或者寫入流的數(shù)據(jù)為32K。依據(jù)字段定義Memory Capacity為10*1024*1024(單位為字節(jié));Count為32768;WritePosition和ReadPosition取值范圍為0到1*1024*1024*1024(1G),且為Count的整數(shù)倍;F Position每次讀出或者寫入時需要計算,計算方法為WritePosition或者ReadPosition對F Capacity求余,這樣能順利實現(xiàn)讀寫到末尾重新從內存流頭部開始,實現(xiàn)循環(huán)內存流。

圖3 循環(huán)內存流類Write方法流程

類中關鍵方法實現(xiàn)。SetCapacity方法,該方法主要在初始化內存流時指定內存大小,即指定MemoryCapacity大小,并用malloc函數(shù)開辟循環(huán)內存流所需空間。Seek方法用于實現(xiàn)每次寫入或者讀出時計算FPositon,以確定要每次進行操作的內存流位置。Write和Read方法分別用于下載近線存儲文件到內存流和上載內存流到在線存儲服務器。

由于需要并發(fā)進行遷移,讀寫也要求并發(fā)進行,循環(huán)內存流設計中用IdMutex互斥量保證并發(fā)時數(shù)據(jù)讀寫的準確性。以Write方法流程作為詳細闡述,簡化流程如圖3,讀過程類似。進行某次數(shù)據(jù)寫入之前,必須保證寫指針在讀指針之前,這樣做能有效保證寫入數(shù)據(jù)安全性,因而寫流程進入后首先需要判斷是否滿足寫的條件,具體為WritePosition和ReadPosition之差是否大于或者等于Count。如果不滿足,則進行等待,一直等不到條件成立,7秒后退出,滿足則進入互斥量保護的寫入過程。寫過程首先找到本次要寫入的位置,然后判斷這次寫入是否在流的最后位置,如果在最后位置,最后位置又沒有Count容量供本次寫入,則需要進行分次寫入,先寫滿流末尾部分,之后再流的開始部分再寫入本次剩余的數(shù)據(jù),不需要分次直接一次寫滿Count數(shù)據(jù)到內存流。最后改變WritePosition位置,釋放互斥量,返回寫入數(shù)據(jù)量,結束寫過程。

3 測試及小結

圖4 循環(huán)內存流遷移方法測試結果對比圖

圖4為測試對比結果,測試環(huán)境為兩臺FTP服務器,一臺遷移服務器,三臺機器配置如下:windowsServer2003系統(tǒng),CPU型號為Pentium(R) Dual-Core E5200,內存2G,F(xiàn)TP軟件為Server-U。對比先下載后上傳方法和循環(huán)內存流遷移方法可以發(fā)現(xiàn),循環(huán)內存流效果比先下載再上傳速度要快了將近一倍。對于自動遷移服務器來說,采用循環(huán)內存流的遷移方法大大減輕了遷移服務器的負擔,遷移服務器可以工作更為穩(wěn)定且延長磁盤使用壽命,在實際應用過程中,基于循環(huán)內存流的遷移系統(tǒng)能在遷移過程中實現(xiàn)任務并發(fā)操作,已經成功在多個地方電視臺上線使用,具有較大的實際意義。

[1]肖艷平.數(shù)字電視播出系統(tǒng)中的近線存儲[J].中國數(shù)字電視,2011(2):82.

[2]何建,唐繼勇.硬盤播出數(shù)據(jù)存儲技術分析[J].中國有線電視,2005(1):19.

[3]趙曉楠,李戰(zhàn)懷.分級存儲管理技術研究[J].計算機研究與發(fā)展,2011(3):48.

[4]羅敏.數(shù)據(jù)分級存儲策略[J].城建檔案,2009(5).

猜你喜歡
方法
中醫(yī)特有的急救方法
中老年保健(2021年9期)2021-08-24 03:52:04
高中數(shù)學教學改革的方法
河北畫報(2021年2期)2021-05-25 02:07:46
化學反應多變幻 “虛擬”方法幫大忙
變快的方法
兒童繪本(2020年5期)2020-04-07 17:46:30
學習方法
用對方法才能瘦
Coco薇(2016年2期)2016-03-22 02:42:52
最有效的簡單方法
山東青年(2016年1期)2016-02-28 14:25:23
四大方法 教你不再“坐以待病”!
Coco薇(2015年1期)2015-08-13 02:47:34
賺錢方法
捕魚
主站蜘蛛池模板: 亚洲人在线| 婷婷六月激情综合一区| 亚洲中文精品人人永久免费| 国产在线观看91精品| 国产高颜值露脸在线观看| 国产91全国探花系列在线播放| 午夜视频www| 中文字幕啪啪| 成年免费在线观看| 亚洲成AV人手机在线观看网站| 欧美日韩一区二区在线免费观看| 欧美精品色视频| 网友自拍视频精品区| a级毛片免费看| 久久精品无码中文字幕| 九色综合视频网| 蜜臀AV在线播放| 全免费a级毛片免费看不卡| 国产精品永久免费嫩草研究院| 欧洲欧美人成免费全部视频| 久久久噜噜噜久久中文字幕色伊伊| 久久a级片| 久久这里只精品热免费99| 久久久久久久久18禁秘| 九一九色国产| 亚洲成人手机在线| 亚洲69视频| 亚洲无码高清一区| 国产91丝袜在线播放动漫| 国产精品护士| 久久精品人人做人人爽电影蜜月 | 99免费在线观看视频| 永久免费无码日韩视频| 99久久精品免费看国产电影| 91小视频版在线观看www| 欧美一级爱操视频| 国产免费观看av大片的网站| 日本不卡在线| 欧美日韩高清在线| 在线国产91| 国产精品人莉莉成在线播放| 国产十八禁在线观看免费| 中文字幕免费视频| 国产在线麻豆波多野结衣| 国产综合无码一区二区色蜜蜜| 国产视频自拍一区| 色噜噜综合网| 国产交换配偶在线视频| 无码中文字幕精品推荐| 毛片a级毛片免费观看免下载| 91国内视频在线观看| 亚洲国产中文精品va在线播放 | 全色黄大色大片免费久久老太| 四虎精品国产AV二区| 日韩精品免费一线在线观看| av无码一区二区三区在线| 成人夜夜嗨| 亚洲无码视频喷水| 88国产经典欧美一区二区三区| 亚洲国产成人久久77| 国产美女精品一区二区| 91视频国产高清| 无码中字出轨中文人妻中文中| 亚洲成a人片77777在线播放| 国产亚洲高清在线精品99| 欧洲亚洲欧美国产日本高清| 91精品免费久久久| 97青草最新免费精品视频| 日本伊人色综合网| 无码精品一区二区久久久| 国产高清在线丝袜精品一区| 久久久久国产精品免费免费不卡| 国内精品久久久久久久久久影视 | 亚洲午夜综合网| 九九九精品视频| 精品色综合| 色噜噜狠狠狠综合曰曰曰| 中文字幕人成乱码熟女免费| 国产毛片一区| 国产男人的天堂| 亚洲无码高清视频在线观看| 午夜精品久久久久久久无码软件|