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
賺錢方法
捕魚
主站蜘蛛池模板: 欧美一级99在线观看国产| 97在线免费| v天堂中文在线| 国产亚洲欧美日本一二三本道| 亚洲an第二区国产精品| 亚洲一区色| 国产99久久亚洲综合精品西瓜tv| 成人福利在线视频| 国产免费高清无需播放器| 日韩无码精品人妻| 国产乱人免费视频| 香蕉视频在线观看www| 亚洲精品你懂的| 亚洲无码高清免费视频亚洲| 久久永久免费人妻精品| 国产激爽大片高清在线观看| 激情影院内射美女| 在线另类稀缺国产呦| 国产三级a| 国产精品福利导航| 亚洲AⅤ无码国产精品| 亚洲视频一区| 免费jjzz在在线播放国产| 九九九九热精品视频| 老司机午夜精品视频你懂的| 亚洲天堂日本| 高清精品美女在线播放| 99热这里都是国产精品| 中文字幕在线视频免费| 97精品国产高清久久久久蜜芽| 亚洲国产精品成人久久综合影院| 久久久无码人妻精品无码| 九九这里只有精品视频| 亚洲日本在线免费观看| jizz在线观看| 国产亚洲欧美日韩在线一区二区三区 | 免费观看无遮挡www的小视频| 亚洲香蕉伊综合在人在线| 成人国产一区二区三区| 亚洲无码不卡网| 91免费国产高清观看| 免费国产好深啊好涨好硬视频| 不卡视频国产| 久久青草热| 久久99国产综合精品女同| 国产成人精品在线1区| 久久精品亚洲中文字幕乱码| 日韩精品一区二区三区swag| 国产精品微拍| 看国产毛片| 五月婷婷欧美| 在线另类稀缺国产呦| 香蕉久人久人青草青草| 福利视频一区| 欧美高清三区| 亚洲日本韩在线观看| 婷婷综合在线观看丁香| 日本免费a视频| 91无码网站| 中文字幕伦视频| 热久久这里是精品6免费观看| 无码一区18禁| 综合社区亚洲熟妇p| 国产激情无码一区二区三区免费| 黄色免费在线网址| 免费一级大毛片a一观看不卡| 欧美日韩导航| 26uuu国产精品视频| 亚洲日本一本dvd高清| 国产在线啪| 女人一级毛片| 国产精品太粉嫩高中在线观看| 國產尤物AV尤物在線觀看| 亚洲综合色婷婷| 日日碰狠狠添天天爽| 亚洲综合二区| 免费a在线观看播放| 久久黄色影院| 国产亚洲精品自在久久不卡 | 国产精品分类视频分类一区| a级毛片网| 婷婷激情亚洲|