麻豆精品无码国产在线播放,国产亚洲精品成人AA片新蒲金,国模无码大尺度一区二区三区,神马免费午夜福利剧场

具有自適應的文件處理的分布式視頻轉碼系統的制作方法

文檔序號:7915700閱讀:249來源:國知局
專利名稱:具有自適應的文件處理的分布式視頻轉碼系統的制作方法
技術領域
本發明涉及包含數字信息的文件的轉碼。
背景技術
隨著數字技術的迅速增長,不同的數字文件格式的數量也迅速增長。很多數字裝置僅僅具有接受ー種格式的數字文件的能力。由此,為了調節使用不同格式的裝置,分發數字文件的系統使用一個或多個轉碼器,其中轉碼器包括將數字文件從ー種格式轉換至其他 格式的操作機構。標準的轉碼數字文件的方法使用“輪叫(Round-robin) ”方法,其中文件經歷傳輸到達轉碼網絡中的交替節點。每個節點典型地具有將數字文件如數字視頻文件從ー種格式轉碼成其他格式的能力。輪叫方法已經被證明為無效的,因為它無法在節點之間實現真正的負載均衡。當執行部分文件的轉碼時,渲染集群(render farm)可以處理單個的巾貞或者數據塊,從而適當地均衡每個節點之間的負載。對于整個文件的轉碼,將數據塊分別分發至單個的節點已經被證明為困難的。每個節點必須完整地處理文件。傳統的“渲染集群”不適用于這種形式的負載均衡。

發明內容
簡要地,根據本原理的優選實施方案,提出一種改進的用于轉碼數字文件的技術以提高效率。本原理的轉碼技術基于數字文件的轉碼配置、所要轉碼的源數字文件的特征、所要轉碼的數字文件的優先級和轉碼節點的轉碼歷史的比較從多個轉碼節點中選擇ー個轉碼節點用于轉碼數字文件。作為實例,數字視頻文件的轉碼配置可包括關于大小、輸入媒體格式、輸出媒體格式、壓縮類型和持續時間的信息。比較發生在各個轉碼的轉碼歷史和轉碼配置之間以確定節點中哪些節點具有使用相似的配置處理文件的歷史,哪個節點提供更好的性能,例如更快地處理具有相似的轉碼配置的文件。


圖I示出現有技術的使用傳統的“輪叫”方法的轉碼系統;圖2示出根據本原理的第一實施方案的作出明智的轉碼決定以改進轉碼效率的轉碼系統;以及圖3示出根據本原理的第二實施方案的作出明智的轉碼決定以通過自適應地配置額外的轉碼節點改進轉碼效率的轉碼系統。
具體實施例方式圖I示出現有技術的轉碼系統10的結構示意圖,用于將數字文件,包括但不限于數字視頻,從ー種格式轉碼成其他格式。例如,圖I的轉碼系統10可以將MicrosoftWindows Media 格式的數字視頻文件轉換成a 264格式。還可進行其他格式之間的文件轉碼。特別地,圖I的現有技術的轉碼系統包括多個轉碼節點,以節點12和14表示,每個節點典型地由接收命令和數字文件的機器(例如,使用軟件程序化的數字計算機)組成。響應于上述命令,轉碼節點12和14將接收到的數字文件從ー種格式轉碼成其他格式。用于轉碼數字文件的操作機構為本領域現有的,為了簡要,此處省略轉碼節點12和14的詳細描述。節點管理器16用于將進入的數字文件分發至轉碼節點12和14以轉碼。如 圖I的示例性實施例所示,節點管理器16接收到三個文件,命名為文件I、文件2和文件3,用于分發至轉碼節點12和14。為了討論,文件I的大小遠比文件I和文件2大?,F有技術的轉碼系統10的節點管理器16典型地包括處理器(未示出)和其他可能的硬件,用于在“輪叫”基礎上將文件I、文件2和文件3分發至轉碼節點12和14。換句話說,節點管理器16將分發第一文件(S卩,文件I)至轉碼節點12,然后分發第二文件(即,文件2)至轉碼節點14,然后分發第三文件(即,文件3)至轉碼節點12。由此,在兩個節點的系統的情況下,如圖I所示,節點管理器16將交替地發送文件至轉碼節點12和14。對于具有多個節點的轉碼系統,節點管理器16將連續地發送文件至每個轉碼節點并重復該過程直至所有文件都被分發完。采用輪叫方法將轉碼文件分發至轉碼節點通常不能實現高效。下面的示例將說明輪叫方法的效率。假設文件I、文件2和文件3的每個包括具有以下特征的視頻文件文件I一十分鐘長的Windows Media文件轉換成H. 264文件需要的處理能力高文件2-2分鐘長的Windows Media文件轉換成更高壓縮的Windows Media文件需要的處理能力低文件3-2分鐘長的Windows Media文件轉換成閃存文件需要的處理能力中等使用傳統的輪叫轉碼方法,圖I的節點管理器16將基于節點管理器接收到文件的時間以交替的次序將文件I、文件2和文件3呈送至轉碼節點12和14。因此,轉碼節點12將接收文件I和文件3,而轉碼節點14將僅接收文件2。另外,傳統的方法既不考慮輸入媒體特征(例如,長度、類型、分辨率、比特率),也不考慮輸出媒體特征(例如,類型、分辨率、比特率)。根據本原理,改進的轉碼方法根據文件的轉碼配置明智地在轉碼節點之間分發文件從而實現更高的效率,并且處理文件的節點的經驗具有相似配置。文件的轉碼配置包括與轉碼所需的工作(例如,計算工作量)相關的信息。例如,文件的特征(在這個示例中稱作“太”、“中等”或“小”,但是在實際中可以為更粒狀的)構成處理能力的數量和完成轉碼任務所需的時間的測量。另外,轉碼文件的復雜度也依賴于其他因素,包括但不限于輸入文件格式、輸出文件格式、文件持續時間、壓縮類型和比特率。圖2示出根據本原理的用于明智地分發文件至轉碼節點以實現改進的效率的轉碼系統100的示意圖。圖2的轉碼系統100包括多個轉碼節點,以節點120和140示例性地表示;每個節點典型地與圖I的轉碼節點12和14的配置相同。為了在下文中變得更好理解,轉碼節點120和140的精確的性質不在本原理的明智的轉碼技術中發揮作用。重要的是,節點管理器160記錄和分析每個節點的處理“歷史”的能力,例如,節點執行轉碼的可用性以及轉碼節點轉碼具有已知配置的文件所花費的時間。轉碼節點可具有同時處理ー個或多個任務的能力。額外的任務可放置在處理它的節點的工作隊列中。圖2的轉碼系統包括用于分發文件至轉碼節點120和140的節點管理器160。為此,節點管理器160包括處理器(未示出)和其他可能的硬件用于分發文件。與圖I的節點管理器16相反,圖2的節點管理器160不使用傳統的先進先出,輪叫方法。相反地,圖2的節點管理器160通過考慮轉碼節點120和140的轉碼歷史而應用明智的轉碼方法從而在轉碼節點之間分發文件。為此,節點管理器160享有到數據庫170的鏈接,其中數據庫170 典型地利用服務器程序,如微軟的SQL數據庫服務器,用于存儲和訪問轉碼節點120和140的轉碼歷史。雖然圖2示出的數據庫170與節點管理器160相分離,但是數據庫也可作為節點管理器自身的一部分存在。與圖2示出的鏈接至節點管理器160的數據庫170相同,數據庫也連接至轉碼節點120和140中的每個。根據本原理,節點管理器160基于節點對具有相似配置的文件的轉碼歷史和經歷呈送至轉碼節點的文件的比較,在轉碼節點120和140之間分發文件。以下的示例將說明圖2的節點管理器160如何通過明智地分發文件至轉碼節點120和140而有利地完成轉碼。假設節點管理器160同時接收三個文件,文件I、文件2和文件3,分別為大、小和中等。進一步假設最初轉碼節點120和140當前都沒有其他文件需轉碼,且每個轉碼節點具有相同的轉碼能力。首先,由于每個轉碼節點都是空閑的,節點管理器160將選擇ー個轉碼節點,比如轉碼節點120來接收第一個文件,例如文件I。對于下ー個文件,例如,文件2,節點管理器160將檢查轉碼節點的轉碼歷史以與要經歷轉碼的文件的轉碼配置相比較。通過每個轉碼節點的轉碼歷史與要經歷轉碼的文件的轉碼配置的比較,節點管理器160可以選擇能夠提供最快性能的轉碼節點。此外,節點管理器160可選擇沒被使用(例如,當前不在處理文件)的轉碼節點或者提供最小誤差率的轉碼節點,而不選擇提供最快性能的轉碼節點。由于轉碼節點120忙于文件I的轉碼,節點管理器160將基于節點的轉碼歷史和文件的轉碼配置的比較以及節點140當前不在處理任何文件的事實,將文件2發送至節點140。基于這些信息,節點管理器160將發送文件2至轉碼節點140。已經為文件I和文件2做出轉碼節點的選擇,接著節點管理器160確定文件3的目的地。使用傳統的“輪叫”方法,節點管理器160將選擇轉碼節點120來接收文件3,而不管轉碼節點120依然需要一段較長的時間來忙于轉碼文件I的事實。但是,使用本原理的明智的轉碼方法,節點管理器160將比較節點轉碼歷史和文件3的轉碼配置以及每個節點的當前工作負載。基于這種做法,節點管理器160將可能發現轉碼節點140當前正在處理小文件并將可在節點120之前被利用來執行文件3的轉碼,假設文件2比處理文件I所需的工作量小。根據那些發送至轉碼節點120和140的文件大小之間的相對差異,節點管理器160可以連續地發送ー些文件至相同的轉碼節點,而不是交替地發送文件至轉碼節點,如現有技術的輪叫方法所執行的。如前所述,每個轉碼節點的轉碼歷史表示節點的當前活動(S卩,當前是否執行指定文件的轉碼)以及過去的活動(即,轉碼文件以及文件的轉碼配置所花費的時間)。使用指定轉碼節點的轉碼歷史,圖2的節點管理器160可確定該節點的轉碼參數(例如,執行時間或比特誤差率),從而對干與具有相似配置的文件的轉碼相關的轉碼節點,通過已知的轉碼參數轉碼具有指定配置的數字文件。本原理的明智的轉碼技術不要求標準的輪叫技術的任何犧牲。事實上,如上所討論的,本原理的明智的轉碼技術為現存的轉碼節點提供改進的效率。進ー步地,該明智的轉碼技術也能夠容易地調節額外的轉碼,通過“學習”新轉碼節點的轉碼能力。當増加ー個或多個新轉碼節點,節點管理器160將典型地呈送文件至新配置的轉碼節點,通過首先假設基準性能然后適應于具有更多任務歷史的實際節點性能。由此,本原理的明智的轉碼技術有利地允許節點管理器160増加新轉碼節點至網絡,而不必否決老的轉碼節點。每個額外的轉碼節點,不管處理能力如何,都為整個處理能力提供增長。 為了更好地理解本原理的明智的轉碼技術如何容易地調節額外的轉碼節點,參考圖3,其描述了第二優選實施方案的轉碼系統1000,轉碼系統1000與圖2的轉碼系統100具有相同的特征。為此,相似的參考數字描述相似的元件。由此,類似于圖2的轉碼系統100,圖3的轉碼系統1000包括轉碼節點120和140,以及節點管理器160和數據庫170。但是,轉碼系統1000具有額外的轉碼節點190,為了討論,轉碼節點190具有更大的計算力,因此可比轉碼節點120和140更快地處理給定特征的文件。使用本原理的明智的轉碼技木,圖3的轉碼系統1000的節點管理器160將利用轉碼節點190提供的増大的能力來分發文件。假設為了討論,圖3的轉碼系統1000的節點管理器160同時接收文件I、文件2和文件3,分別為大、小和中等。同時假設轉碼節點120、140和190都沒有要處理的掛起文件。即使節點120典型地首先出現在通過節點管理器160保存的轉碼節點的列表上,圖3的節點管理器將選擇轉碼節點190來接收文件I。如前所討論的,轉碼節點190相比于轉碼節點120具有更大的計算力。由此,轉碼節點190的轉碼歷史和文件I的轉碼配置的比較將比節點120的轉碼歷史與文件I的轉碼配置之間的比較產生更好的結果。只要轉碼節點190的轉碼歷史和文件I的轉碼配置的比較比節點120的轉碼歷史與文件I的轉碼配置之間的比較產生更好的結果,節點管理器160將選擇轉碼節點190,如果節點190還具有更可用的轉碼能力(例如,基于隊列的當前工作負載)。最后,轉碼節點190將接收工作負載隊列中的足夠多的文件直至節點190的工作負載和性能與其他節點的工作負載和性能相比不能產生更好的結果。那時,節點管理器160將發送文件至轉碼節點120和/或140。本原理的明智的轉碼技術進ー步考慮每個轉碼節點的當前工作負載以及節點的執行能力,可以分配任務以提供系統的最佳呑吐量。例如,使用圖3的轉碼系統1000,提交額外的文件4的處理請求。節點管理器160可分配文件4至節點120,因為它將很快完成小文件2的處理從而具有最低的工作負載,而190將花費最長的時間忙于文件1,節點140將花費中等數量的時間忙于文件3。本原理的明智的轉碼技術進ー步允許為經歷轉碼的文件分配優先級。例如,每個文件可具有一定數值的分配的點數,分配的點數的數值越高表明文件的優先級越高。當選擇用于接收文件的轉碼節點時,節點管理器160可考慮文件優先級。這種文件優先級與文件的轉碼優先級獨立存在。由此,可存在具有相同配置的兩個文件,但是具有不同的優先化。節點管理器160可基于文件的優先級分配任務,可能取代在節點的工作隊列中的其他任務。例如,如果節點120當前正在處理優先級為100的文件2且在隊列中有優先級為20的文件4,那么節點管理器160可在節點120工作隊列中于文件4前插入優先級為90的文件5。由此,節點120將處理文件2、文件5,然后文件4。 節點管理器160可以保存優先化基礎上的轉碼節點。由此,節點管理器160可以保存一個或多個轉碼節點用于更高優先級的任務。利用這種方法,所有較低優先級的任務將自動地前往較低級的節點。上面描述了ー種改進效率的明智的轉碼技木。
權利要求
1.一種轉碼方法,包括以下步驟 基于源數字文件的特征、用于數字文件的轉碼配置和轉碼節點的轉碼歷史的比較,選擇多個所述轉碼節點中的ー個用于轉碼所述數字文件。
2.根據權利要求I所述的方法,其中基于用于所述數字文件的轉碼配置和各個轉碼節點的所述轉碼歷史的比較選擇所述轉碼節點以獲取最快的性能。
3.根據權利要求I所述的方法,其中基于用于所述數字文件的轉碼配置和各個轉碼節點的轉碼歷史的比較選擇所述轉碼節點以獲取最小誤差。
4.根據權利要求I所述的方法,其中所述轉碼配置包括表明轉碼所需的計算工作量的信息。
5.根據權利要求4所述的方法,其中所述轉碼文件配置包括表明文件大小的信息。
6.根據權利要求4所述的方法,其中所述轉碼文件配置包括輸入文件格式、輸出文件格式、文件持續時間、壓縮類型和比特率中的至少ー個。
7.一種轉碼數字文件的方法 為每個數字文件分配優先級; 為多個轉碼節點分配不同的優先級; 基于所述數字文件的轉碼配置和所述轉碼節點的轉碼歷史的比較,從具有不超過所述文件優先級的優先級的所述轉碼節點中選擇轉碼節點用于執行文件轉碼。
8.根據權利要求7所述的方法,其中基于用于所述數字文件的轉碼配置和所述轉碼節點的轉碼歷史的比較選擇所述轉碼節點以獲取最快的性能。
9.根據權利要求7所述的方法,其中基于用于所述數字文件的轉碼配置和所述轉碼節點的轉碼歷史的比較選擇所述轉碼節點以獲取最小誤差。
10.根據權利要求7所述的方法,其中所述轉碼配置包括表明轉碼所需的計算工作量的信息。
11.根據權利要求10所述的方法,其中所述轉碼文件配置包括表明文件大小的信息。
12.根據權利要求11所述的方法,其中所述轉碼文件配置包括輸入文件格式、輸出文件格式、文件持續時間、壓縮類型和比特率中的至少ー個。
13.一種轉碼數字文件的方法 為每個數字文件分配優先級;以及 基于用于所述數字文件的轉碼配置、所述轉碼節點的轉碼歷史、所述節點的當前工作負載的比較,從所述轉碼節點中選擇轉碼節點用于執行文件轉碼。
14.根據權利要求13所述的方法,其中在多個轉碼節點中分配優先級;基于所述數字文件的轉碼配置和所述轉碼節點的轉碼歷史的比較從具有不超過所述文件優先級的優先級的所述轉碼節點中選擇轉碼節點用于執行文件轉碼。
15.—種轉碼系統,包括 多個轉碼節點;以及 節點管理器,用于基于所述數字文件的轉碼配置和所述轉碼節點的轉碼歷史的比較,從所述多個轉碼節點中選擇轉碼節點用于轉碼數字文件。
16.根據權利要求15所述的轉碼系統,其中所述節點管理器基于所述數字文件的轉碼配置和各個轉碼節點的轉碼歷史的比較選擇所述轉碼節點以獲取最快的性能。
17.根據權利要求15所述的轉碼系統,其中所述節點管理器基于所述數字文件的轉碼配置和所述轉碼節點的轉碼歷史的比較選擇所述轉碼節點以獲取最小誤差。
18.根據權利要求15所述的轉碼系統,其中所述轉碼配置表明轉碼所需的計算工作量的信息。
19.根據權利要求18所述的轉碼系統,其中所述轉碼文件配置包括表明文件大小的信 息O
20.根據權利要求19所述的轉碼系統,其中所述轉碼文件配置包括輸入文件格式、輸出文件格式、文件持續時間、壓縮類型和比特率中的至少ー個。
全文摘要
為了獲取更高的轉碼效率,節點管理器(160)基于每個數字文件的轉碼配置和轉碼節點的轉碼歷史的比較在轉碼節點(120,140和190)之間分發數字文件。用這種方法,節點管理器(160)將考慮所要轉碼的文件的特征選擇最能進行轉碼的轉碼節點。
文檔編號H04L29/08GK102859961SQ201080062944
公開日2013年1月2日 申請日期2010年9月22日 優先權日2009年12月22日
發明者大衛·亞歷山大·英格利許, 班杰明·杰·麥寇力斯特, 馬克·羅柏特·畢俠 申請人:Gvbb控股股份有限公司
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
主站蜘蛛池模板: 牙克石市| 临澧县| 石泉县| 陈巴尔虎旗| 九江市| 偏关县| 怀来县| 壤塘县| 绥棱县| 雅江县| 托里县| 常宁市| 万山特区| 安塞县| 福清市| 台北市| 内黄县| 英吉沙县| 滁州市| 浪卡子县| 朔州市| 增城市| 鄂温| 南汇区| 怀化市| 彰化市| 呼图壁县| 平凉市| 兴和县| 东至县| 庐江县| 湘西| 武威市| 四川省| 阳曲县| 虎林市| 铅山县| 汝阳县| 扎赉特旗| 墨江| 阳江市|