蘇寧董昊:蘇寧視頻云后端服務(wù)架構(gòu)成功的四點(diǎn)秘訣
2019-04-11 14:05:10
來(lái)源: 眾視網(wǎng)DVBCN 熱度:
2019年4月10日,2019北京第七屆“亞太內(nèi)容分發(fā)大會(huì)”暨CDN峰會(huì)在北京隆重召開(kāi)。本屆大會(huì)共設(shè):CDN領(lǐng)袖峰會(huì)、邊緣計(jì)算論壇、視頻云論壇、智能網(wǎng)絡(luò)論壇、國(guó)際論壇、移動(dòng)&應(yīng)用分發(fā)論壇、電視&媒體分發(fā)論壇、版權(quán)&安全分發(fā)論壇共計(jì)8大主題論壇,在4月10日下午舉行的視頻云論壇上,蘇寧視頻云首席高級(jí)開(kāi)發(fā)工程師董昊做了題為《視頻云服務(wù)平臺(tái)建設(shè)實(shí)踐》的主題演講。

蘇寧視頻云后端服務(wù)架構(gòu)主要有以下四點(diǎn):第一,視頻云后端整體架構(gòu)。第二,文件上傳與CDN加速。第三,短視頻編碼與播放。第四,視頻云產(chǎn)品特性。
視頻云的點(diǎn)播服務(wù)是把文件上傳到視頻云上,供客戶端下載和觀看,視頻云支持幾乎市面上所有的文件格式,上傳方式支持的是web、移動(dòng)端安卓和ios、JAVA服務(wù)端和服務(wù)端接口上傳。
這個(gè)是服務(wù)的總體架構(gòu),首先是官網(wǎng)和管理后臺(tái),供客戶上傳視頻。在這個(gè)地方可以設(shè)置自己視頻轉(zhuǎn)碼的模板,或者對(duì)視頻信息進(jìn)行管理,以及視頻文件的基本操作。在流量監(jiān)控方面采用的是一種算法,當(dāng)訪問(wèn)量比較大時(shí)可以進(jìn)行減低流量的峰值。校驗(yàn)一般對(duì)外的API接口為了防止用戶的攻擊性訪問(wèn)以及超時(shí)訪問(wèn),一般會(huì)設(shè)置校驗(yàn),可以在HTTP里加一些校驗(yàn)參數(shù)。還有服務(wù)的降級(jí),服務(wù)的降級(jí)主要是為了防止包括數(shù)據(jù)庫(kù)負(fù)載過(guò)高時(shí)出現(xiàn)大面積的查詢不可訪問(wèn)、上傳不可使用的情況。
文件上傳完成之后,會(huì)通知CC服務(wù),會(huì)再進(jìn)一步進(jìn)行文件的壓制,或者當(dāng)用戶請(qǐng)求播放時(shí),會(huì)請(qǐng)求調(diào)度來(lái)獲得視頻在CDN節(jié)點(diǎn)上的播放地址。下一層是壓制調(diào)度服務(wù),根據(jù)用戶傳過(guò)來(lái)的視頻壓縮參數(shù)進(jìn)行視頻轉(zhuǎn)碼,支持從流暢到超清的轉(zhuǎn)碼。調(diào)度一般根據(jù)IP的調(diào)度獲得視頻在SDN上的播放地址,以達(dá)到更好的播放效果。
講述文件的上傳流程,用戶端根據(jù)提供的算法自己算出來(lái)的,是文件唯一的標(biāo)識(shí)。當(dāng)它請(qǐng)求到云上傳服務(wù)的時(shí)候,上傳服務(wù)會(huì)根據(jù)這個(gè)拿到文件的FID。如果相同的話,則認(rèn)為它是同一個(gè)文件。在上傳的時(shí)候,如果說(shuō)同一個(gè)文件已經(jīng)上傳網(wǎng)絡(luò)了,會(huì)出現(xiàn)一個(gè)秒傳的過(guò)程。不會(huì)進(jìn)行實(shí)際的上傳,只有一條記錄,是為了減少文件的存儲(chǔ)。
當(dāng)請(qǐng)求通過(guò)fid獲得一個(gè)上傳的地址,其實(shí)獲得的是一個(gè)上傳的分段地址,通過(guò)不斷循環(huán)上傳完成文件的上傳流程。當(dāng)文件上傳完后,它會(huì)提交一個(gè)文件的上傳清單給后面的存儲(chǔ)服務(wù),存儲(chǔ)服務(wù)會(huì)把文件合并,算一個(gè)文件的整體MD5的簽名值,客戶端自己也算一個(gè)文件的MD5,進(jìn)行文件的比對(duì),MD5相同的話才表明文件是整體的上傳完成了。
此外還有一個(gè)上傳文件的CDN加速。一般CDN加速往往用在靜態(tài)資源的加速上,現(xiàn)在做到上傳文件的動(dòng)態(tài)資源加速上。用一個(gè)智能鑒黃模塊,當(dāng)用戶上傳的文件上傳到加速平臺(tái)的中間層時(shí),它相當(dāng)于會(huì)分發(fā)一定的流量過(guò)來(lái),給到它智能鑒黃的集群里去進(jìn)行鑒黃校驗(yàn),這個(gè)地方主要是為了給文件做打分標(biāo)識(shí)。這個(gè)地方不會(huì)影響文件整體上傳的過(guò)程,只會(huì)分發(fā)一段流量過(guò)來(lái)。
現(xiàn)在比較火的是抖音短視頻,蘇寧也做了非常完善的短視頻,只不過(guò)它的用戶是在蘇寧APP里面的視頻里,短視頻比較多。包括智能編輯、濾鏡、美顏、混音、字幕都已經(jīng)做得比較完善。
目前蘇寧的短視頻一般分為三種:一種是在手機(jī)端傳輸視頻,需要在客戶端進(jìn)行轉(zhuǎn)碼,然后上傳到文件服務(wù)器上。第二種是客戶端無(wú)需轉(zhuǎn)碼的,直接上傳到文件服務(wù)器上就可以。第三種是為了滿足蘇寧易購(gòu)商家上傳的視頻,一般不會(huì)上傳MP4,往往上傳的是各種各樣的格式都有,為了兼容這一服務(wù),又把短視頻也放在了壓制平臺(tái)上去,提供MP4播放地址。
用戶獲得MP4地址都是自己通過(guò)集成蘇寧的SDK來(lái)生成的。在播放地址里一般會(huì)加上時(shí)間戳的校驗(yàn)。當(dāng)用戶在播放視頻時(shí),首先做一層CDN的加速服務(wù),當(dāng)CDN上沒(méi)有資源時(shí),回源到文件服務(wù)器上。目前一般可以由用戶來(lái)指定客戶端的緩存時(shí)間和CDN資源平臺(tái)節(jié)點(diǎn)上的緩存時(shí)間?,F(xiàn)在服務(wù)的主要是蘇寧易購(gòu)和PP體育,一些精彩好球會(huì)用到短視頻,它是一個(gè)短視頻的播放流程,也支持大文件的播放,因?yàn)橐粓?chǎng)比賽的視頻大概2、3個(gè)小時(shí)左右,編碼已經(jīng)做好了,為了支持這種視頻直接的播放,也做了流式或者Range的播放。
蘇寧的資源比較豐富,技術(shù)實(shí)力比較強(qiáng)。完善了文檔、DEMO以及技術(shù)支持,在官網(wǎng)上已經(jīng)做得很完善,把一些代碼開(kāi)源出來(lái)了。服務(wù)穩(wěn)定性,為了支持PP體育半夜的賽事,24小時(shí)都可以做到支持。
蘇寧目前服務(wù)的廠商包括蘇寧易購(gòu)、PP體育、??陔娨暸_(tái)、紅孩子等等。

蘇寧視頻云后端服務(wù)架構(gòu)主要有以下四點(diǎn):第一,視頻云后端整體架構(gòu)。第二,文件上傳與CDN加速。第三,短視頻編碼與播放。第四,視頻云產(chǎn)品特性。
視頻云的點(diǎn)播服務(wù)是把文件上傳到視頻云上,供客戶端下載和觀看,視頻云支持幾乎市面上所有的文件格式,上傳方式支持的是web、移動(dòng)端安卓和ios、JAVA服務(wù)端和服務(wù)端接口上傳。
這個(gè)是服務(wù)的總體架構(gòu),首先是官網(wǎng)和管理后臺(tái),供客戶上傳視頻。在這個(gè)地方可以設(shè)置自己視頻轉(zhuǎn)碼的模板,或者對(duì)視頻信息進(jìn)行管理,以及視頻文件的基本操作。在流量監(jiān)控方面采用的是一種算法,當(dāng)訪問(wèn)量比較大時(shí)可以進(jìn)行減低流量的峰值。校驗(yàn)一般對(duì)外的API接口為了防止用戶的攻擊性訪問(wèn)以及超時(shí)訪問(wèn),一般會(huì)設(shè)置校驗(yàn),可以在HTTP里加一些校驗(yàn)參數(shù)。還有服務(wù)的降級(jí),服務(wù)的降級(jí)主要是為了防止包括數(shù)據(jù)庫(kù)負(fù)載過(guò)高時(shí)出現(xiàn)大面積的查詢不可訪問(wèn)、上傳不可使用的情況。
文件上傳完成之后,會(huì)通知CC服務(wù),會(huì)再進(jìn)一步進(jìn)行文件的壓制,或者當(dāng)用戶請(qǐng)求播放時(shí),會(huì)請(qǐng)求調(diào)度來(lái)獲得視頻在CDN節(jié)點(diǎn)上的播放地址。下一層是壓制調(diào)度服務(wù),根據(jù)用戶傳過(guò)來(lái)的視頻壓縮參數(shù)進(jìn)行視頻轉(zhuǎn)碼,支持從流暢到超清的轉(zhuǎn)碼。調(diào)度一般根據(jù)IP的調(diào)度獲得視頻在SDN上的播放地址,以達(dá)到更好的播放效果。
講述文件的上傳流程,用戶端根據(jù)提供的算法自己算出來(lái)的,是文件唯一的標(biāo)識(shí)。當(dāng)它請(qǐng)求到云上傳服務(wù)的時(shí)候,上傳服務(wù)會(huì)根據(jù)這個(gè)拿到文件的FID。如果相同的話,則認(rèn)為它是同一個(gè)文件。在上傳的時(shí)候,如果說(shuō)同一個(gè)文件已經(jīng)上傳網(wǎng)絡(luò)了,會(huì)出現(xiàn)一個(gè)秒傳的過(guò)程。不會(huì)進(jìn)行實(shí)際的上傳,只有一條記錄,是為了減少文件的存儲(chǔ)。
當(dāng)請(qǐng)求通過(guò)fid獲得一個(gè)上傳的地址,其實(shí)獲得的是一個(gè)上傳的分段地址,通過(guò)不斷循環(huán)上傳完成文件的上傳流程。當(dāng)文件上傳完后,它會(huì)提交一個(gè)文件的上傳清單給后面的存儲(chǔ)服務(wù),存儲(chǔ)服務(wù)會(huì)把文件合并,算一個(gè)文件的整體MD5的簽名值,客戶端自己也算一個(gè)文件的MD5,進(jìn)行文件的比對(duì),MD5相同的話才表明文件是整體的上傳完成了。
此外還有一個(gè)上傳文件的CDN加速。一般CDN加速往往用在靜態(tài)資源的加速上,現(xiàn)在做到上傳文件的動(dòng)態(tài)資源加速上。用一個(gè)智能鑒黃模塊,當(dāng)用戶上傳的文件上傳到加速平臺(tái)的中間層時(shí),它相當(dāng)于會(huì)分發(fā)一定的流量過(guò)來(lái),給到它智能鑒黃的集群里去進(jìn)行鑒黃校驗(yàn),這個(gè)地方主要是為了給文件做打分標(biāo)識(shí)。這個(gè)地方不會(huì)影響文件整體上傳的過(guò)程,只會(huì)分發(fā)一段流量過(guò)來(lái)。
現(xiàn)在比較火的是抖音短視頻,蘇寧也做了非常完善的短視頻,只不過(guò)它的用戶是在蘇寧APP里面的視頻里,短視頻比較多。包括智能編輯、濾鏡、美顏、混音、字幕都已經(jīng)做得比較完善。
目前蘇寧的短視頻一般分為三種:一種是在手機(jī)端傳輸視頻,需要在客戶端進(jìn)行轉(zhuǎn)碼,然后上傳到文件服務(wù)器上。第二種是客戶端無(wú)需轉(zhuǎn)碼的,直接上傳到文件服務(wù)器上就可以。第三種是為了滿足蘇寧易購(gòu)商家上傳的視頻,一般不會(huì)上傳MP4,往往上傳的是各種各樣的格式都有,為了兼容這一服務(wù),又把短視頻也放在了壓制平臺(tái)上去,提供MP4播放地址。
用戶獲得MP4地址都是自己通過(guò)集成蘇寧的SDK來(lái)生成的。在播放地址里一般會(huì)加上時(shí)間戳的校驗(yàn)。當(dāng)用戶在播放視頻時(shí),首先做一層CDN的加速服務(wù),當(dāng)CDN上沒(méi)有資源時(shí),回源到文件服務(wù)器上。目前一般可以由用戶來(lái)指定客戶端的緩存時(shí)間和CDN資源平臺(tái)節(jié)點(diǎn)上的緩存時(shí)間?,F(xiàn)在服務(wù)的主要是蘇寧易購(gòu)和PP體育,一些精彩好球會(huì)用到短視頻,它是一個(gè)短視頻的播放流程,也支持大文件的播放,因?yàn)橐粓?chǎng)比賽的視頻大概2、3個(gè)小時(shí)左右,編碼已經(jīng)做好了,為了支持這種視頻直接的播放,也做了流式或者Range的播放。
蘇寧的資源比較豐富,技術(shù)實(shí)力比較強(qiáng)。完善了文檔、DEMO以及技術(shù)支持,在官網(wǎng)上已經(jīng)做得很完善,把一些代碼開(kāi)源出來(lái)了。服務(wù)穩(wěn)定性,為了支持PP體育半夜的賽事,24小時(shí)都可以做到支持。
蘇寧目前服務(wù)的廠商包括蘇寧易購(gòu)、PP體育、??陔娨暸_(tái)、紅孩子等等。
下一篇:蘇寧董昊:蘇寧視頻云后端服務(wù)架構(gòu)成功的四點(diǎn)秘訣上一篇:騰訊云CDN副總經(jīng)理兼首席架構(gòu)師鄧獨(dú):CDN在產(chǎn)業(yè)互聯(lián)網(wǎng)中的蛻變和創(chuàng)新
責(zé)任編輯:王旭