內容上架工具

Avatar of 徐鵬鈞.
Avatar of 徐鵬鈞.

內容上架工具

Software Engineer @ Houzz Inc.
Taoyuan City, Taiwan

內容製作工具

這個產品目前有五十小時以上的影片內容,每一次上架都會多十個小時左右的影片,並有一些相關的資料必須處理,確保資料完整且一致。偶爾,也有可能需要把所有內容全部更新(若內容製作方無法確定更動的資料有哪一些)


為此我們有兩個主要的工具:


  1. 影片編碼、影片資料上傳平行化(線性加速,電腦越多越快)
  2. 內容上架程式(較原本的版本快 20x 以上)


技術關鍵字:Docker、Redis、MongoDB、Node.js、Hierarchical Scheduling


在這個部分,我負責:


  1. 英文單字數據整理
  2. 伺服器管理以及影片平行處理平台
  3. 內容上架程式的架構及撰寫

技術細節

平行化影片處理平台以 Redis 作為工作佇列以及即時數值平台,透過 Pub/Sub 以及 Node.js 後端讓管理者可以透過瀏覽器監看工作進度以及伺服器狀態。


上架程式因為對同一個文件的讀寫必須間隔一段時間,否則會造成資料庫讀寫錯誤。透過將對同一個文件的寫入隔開,先進行不相關的寫入,排程之後每一次上架可以趨近整體的 lower bound。(lower bound 為需要寫入次數最多的文件所需要的時間)