為提升 DCP 傳輸效率,阿里工程師竟然這樣做

為提升 DCP 傳輸效率,阿里工程師竟然這樣做

作者 | 阿里文娛技術

出品 | CSDN(ID:CSDNnews)

为提升 DCP 传输效率,阿里工程师竟然这样做

背景

DCP 全拼是 Digital Cinema Package,中文是數字電影包,用於存儲和轉換數字影像的音頻、 圖像和數據流,是影院放映設備使用的媒體文件包。一部普通 2D 電影的 DCP 大小一般在 40G~60G 之間,一部普通 3D 電影要乘以 2 倍,如果是 IMAX 或者 4k 的電影,DCP 的大小達 到 200G 以上也是正常的。

本文揭秘超過 200G 的超大數字電影包如何高效通過 TMS 傳輸到各個影廳。現在影院拷貝 DCP 到各影廳的方式主要是使用 TMS(影院放映管理系統)的傳輸影片功

能,由 TMS 負責把 DCP 傳輸到各個影廳,但是這種傳輸的效率不高,數據源只有 TMS,所以各影廳拷貝影片都要到 TMS 上拉取,帶寬就成為了瓶頸。

为提升 DCP 传输效率,阿里工程师竟然这样做

目前使用 TMS 向播放服務器傳輸 DCP 的模式

为提升 DCP 传输效率,阿里工程师竟然这样做

使用類 P2P 方式傳輸

從圖 1 可以看出,影廳的播放服務器拉取 DCP 後,它們的帶寬就處於空閒狀態,那麼我們 完全可以使用類似於 P2P(對等網絡傳輸)傳輸方式解決,這樣就可以用現有設施提高影院內 DCP 的分發效率,起到降本提效的效果。

为提升 DCP 传输效率,阿里工程师竟然这样做

P2P 示意圖

根據上面的 P2P 方式,改造影院內傳輸 DCP 的模型:

为提升 DCP 传输效率,阿里工程师竟然这样做

改進後的 TMS 向播放服務器傳輸 DCP 的模式

上圖主要敘述的是傳輸協調器協調各個影廳尋找傳輸源拉取 DCP 的過程。本改進方案的特 點是增加了一個傳輸協調器作為共享狀態機,協調各影廳拷貝 DCP 的路徑,計算出傳輸路徑最 優解。傳輸協調器的核心功能是:

1)收集各廳播放服務器網絡情況;

2)標記 DCP 在各廳播放服務器的存儲情況;

3)根據網絡情況,計算並派發傳輸任務到各廳播放服務器。而且使用了本方案的傳輸方式,傳輸效率會有極大的提升。例如有一個 DCP 的文件總大小

為 400GB,總共 10 個影廳,帶寬為 1000Mbps≈125MB/s,那麼使用傳統 TMS 傳輸方式,起碼

要 400102410÷125÷60÷60=9.10 小時,差不多一個工作日的時間。而如果使用新方式,僅 需要 3 小時,可以提升 3 倍,而且隨著影廳的增多,效率提升指數增加。

为提升 DCP 传输效率,阿里工程师竟然这样做

進一步改進方案

由圖 3 瞭解到,雖然上述方案把帶寬浪費的問題解決了,但是架構上還有一些問題:傳輸 協調器就是一個單點,它掛了,傳輸就出問題了;數據只能有一個數據來源,來源掛了,傳輸 就停止了,而且重新傳輸要從頭開始。這時候我們要如何解決?

這兩個問題可以使用傳輸協調器去中心化部署及文件分片斷點續傳方式下載解決:

1.傳輸協調器去中心化部署

为提升 DCP 传输效率,阿里工程师竟然这样做

進一步改進後的網絡拓補圖

2.文件分片斷點續傳方式下載 DCP

上一節的方案中,拷貝 DCP 還是使用播放服務器原生指令操作的,限制很大,不支持多數 據源及文件分片操作。既然播放服務器不支持,那麼我們就需要自己開發一箇中介角色,需要 支持多數據源及文件分片操作,並且具備拷貝 DCP 到播放服務器硬盤的能力,而部署在影廳的 傳輸協調器恰好可以承擔這個職責。多數據源及文件分片方案示意圖如下:

为提升 DCP 传输效率,阿里工程师竟然这样做

多數據源及文件分片方案示意圖

上述兩種技術方案可以合併使用。小結:雖然這種方式並不能提升多大的速度,但是在系統容錯性方面有所提升,用戶體驗更好了。

總結

通過上述章節可以看出,我們通過將 P2P、FTP、斷點續傳、文件分片等技術的融合,產生 了一個專用於局域網傳輸 DCP 的技術方案。我們借鑑 P2P 的思想,實現了影廳的片源在局域網 內共享的效果,克服了傳統 TMS 傳輸 DCP 單數據源的缺點;使用 FTP 作為傳輸手段,兼容現 有影廳的傳輸模式;使用斷點續傳、文件分片提升系統的容錯性。

這個方案其實是很典型的組合創新法,用的技術都是已有並且是很經典的,但通過將它們 重新梳理整合,使其在性能上發生質的變化,以產生出新的價值。本文的方案正是使用這種方 法誕生的,在設計這個方案的過程中,我也學會了組合創新法的一些皮毛,以後還要繼續努力 學習這種方法。


分享到:


相關文章: