曹杰 北京恒峰國脈科技發(fā)展有限公司
CDN 的核心思想是將內(nèi)容從中心推到邊緣靠近用戶的地方,一方面提升了用戶訪問內(nèi)容的性能,另一方面也可以降低骨干網(wǎng)絡存在的壓力,將單一中心結(jié)構(gòu)轉(zhuǎn)變?yōu)榉植际浇Y(jié)構(gòu)。按照這一分析內(nèi)容,我們可以將CDN 的概念進行融合,實現(xiàn)流媒體服務器在數(shù)量較少的情況下,如何實現(xiàn)優(yōu)化部署提升服務質(zhì)量。
一般情況下流媒體系統(tǒng)的組成包括幾個部分:
首先是編碼工具,用戶對所有多媒體數(shù)據(jù)進行創(chuàng)建和編輯,將其轉(zhuǎn)變流媒體格式;
流媒體數(shù)據(jù);
存儲和控制流媒體數(shù)據(jù)的服務器;
適合多媒體傳輸協(xié)議的網(wǎng)絡。
以上部分是服務器端和客戶端所需要的內(nèi)容,不同的流媒體和不同的技術(shù)方案在某些方面會產(chǎn)生差異。但無論系統(tǒng)是哪一種,其基本原理相同,就是通過高效的壓縮算法,在降低文件大小的同時減少質(zhì)量的損失,按照流媒體的格式要求來執(zhí)行技術(shù)解決方案。
現(xiàn)代互聯(lián)網(wǎng)絡技術(shù)與多媒體技術(shù)的快速發(fā)展下,帶寬雖然有所增加,但Web 服務器的負荷也隨之提升,網(wǎng)絡訪問的距離過長,網(wǎng)絡負載在短時間迅速增加,用戶的訪問質(zhì)量受限,也讓傳統(tǒng)的緩存技術(shù)對于某些交互性較強的文件并不支持,需要通過一種新的傳輸結(jié)構(gòu)來解決類似的問題。如果用戶和網(wǎng)站之間的數(shù)據(jù)鏈路被大流量數(shù)據(jù)所堵塞時,就需要解決訪問質(zhì)量。內(nèi)容分發(fā)網(wǎng)絡(CDN)的應用提供了一種傳送內(nèi)容的新型體系結(jié)構(gòu),用戶的請求可以在本地進行,構(gòu)成節(jié)點服務器群虛擬網(wǎng)絡,一方面實現(xiàn)了用戶對網(wǎng)站流量的控制,另一方面從技術(shù)上解決了用戶訪問量過大與網(wǎng)絡響應速度的問題。因此,與現(xiàn)有的內(nèi)容分發(fā)模式向比較,CDN 更加強調(diào)網(wǎng)絡在內(nèi)容分發(fā)方面的重要性,根據(jù)內(nèi)容對象的不同來區(qū)分服務質(zhì)量。整體來看,在網(wǎng)絡拓撲結(jié)構(gòu)上CDN 更加接近我們所需要的內(nèi)容,響應速度加快,支持對于不同類型內(nèi)容的管理,以集中管理的方式來降低管理成本。
內(nèi)容路由技術(shù)是通過將用戶的請求導向整個CDN 網(wǎng)絡中的最佳節(jié)點過程,從確定最佳節(jié)點位置后也可以確定多種策略,而均衡負載系統(tǒng)則是整個CDN 的核心,負載均衡的準確程度和效率直接決定了CDN 的效率與性能。CDN 的功能組件之一就是重定向服務,并且靠動態(tài)路由在全局范圍內(nèi)確保用戶的Web 請求可以被志向距離其最近的高速緩存服務器,實現(xiàn)在不同性能下的服務器之間任務分配。一方面性能較差的服務器不會成為整個系統(tǒng)的負擔,另一方面性能較高的服務器資源可以得到充分利用,加快了Web 服務器的訪問速度。一般來說在一個流媒體系統(tǒng)中不同的CDN 節(jié)點都有不同的緩存服務器來提升節(jié)點的處理能力,例如部分緩存服務器用于提供HTTP服務器,有的緩存服務器則被用來提供FTP 服務,有的緩存服務器用于提供流媒體服務等。如何有效地按照不同服務器的處理能力來動態(tài)地實現(xiàn)資源分配,也成為了解決服務器訪問速度的核心內(nèi)容。負載均衡技術(shù)可以在性能不同的服務器之間展開任務分配。
實際上對于一個CDN網(wǎng)絡來說,全局負載均衡并非是必需內(nèi)容,但對于大型網(wǎng)絡而言,全局負載均衡就可以對用戶的請求展開定向,減輕本地負載均衡所產(chǎn)生的負擔問題。通常本地負載均衡局限在一個區(qū)域范圍之內(nèi),在特定的范圍下尋找一個更加合適的節(jié)點來提供服務,其節(jié)點的健康程度、負載情況與支持的媒體格式都可以成為決策過程中的參考標準。
內(nèi)容分發(fā)技術(shù)代表內(nèi)容從初始服務器中選擇一定的策略將其傳輸至緩存服務器內(nèi)容當中。作為一種主動分發(fā)的技術(shù),內(nèi)容從初始流媒體服務器傳輸至緩存服務器當中,并借助管理系統(tǒng)將一些較為熱點的內(nèi)容以不同方式來實現(xiàn)有針對性的內(nèi)容供應。在這項部署環(huán)節(jié)中,我們需要深入分析在什么時間分發(fā)什么內(nèi)容,或是通過智能分發(fā)的方式來實現(xiàn)用戶訪問內(nèi)容難度規(guī)劃,確定流媒體內(nèi)容的最終設置方案。不同的實現(xiàn)方案有何不同的特征,用于滿足不同情況下的業(yè)務需求。對于業(yè)務需要較強管理能力的場合,可以考慮借助本地內(nèi)容管理來針對某個CDN 進行,提升內(nèi)容服務的效率和節(jié)點的存儲利用率。當然,本地內(nèi)容管理還可以有效地實現(xiàn)CDN 節(jié)點內(nèi)容的共享,以內(nèi)容感知的調(diào)度來提升存儲空間的利用率。在本地內(nèi)容的部署實踐中,內(nèi)容索引、內(nèi)容拷貝與內(nèi)容信息收集是主要的技術(shù)要求,將多個節(jié)點內(nèi)的服務器設備能力進行整合,增加CDN 的可擴展性與綜合能力。
管理員需要借助策略管理平臺來執(zhí)行不同的路測,并借助信息庫來存儲執(zhí)行過程中的具體信息,例如負載信息、閾值等。策略的決策點應該負責邏輯實體,并對策略展開解釋,決定哪些策略應該被策略執(zhí)行點執(zhí)行,哪些執(zhí)行點是采取動作執(zhí)行策略的邏輯實體。模型系統(tǒng)采用的是集中化管理模式,解決流媒體資源的合理利用問題,保障系統(tǒng)負荷平衡的同時將增加的負荷平分至不同的服務器之上,這樣一來CDN 系統(tǒng)內(nèi)就包括內(nèi)容分發(fā)模塊、代理模塊與內(nèi)容管理平臺。
內(nèi)容分發(fā)模塊可以從信息庫中獲取用戶的訪問記錄,再從策略庫中讀取分發(fā)策略,由內(nèi)容分發(fā)的執(zhí)行模塊在流媒體服務器之間展開各項操作,讓流媒體資源可以盡量合理分布,也可以由管理員根據(jù)實際的情況進行手動流媒體內(nèi)容的調(diào)整。
代理模塊在用戶的請求到達后執(zhí)行策略,并將用戶的請求分配至距離用戶最近的流媒體服務器之上,從而對各個邊緣服務器負載信息進行采集。
內(nèi)容管理平臺則主要是面向管理員開展,便于管理員對整個CDN系統(tǒng)進行便利管理,具有分發(fā)管理、策略管理和事物管理的功能。
在理論上,經(jīng)過CDN 處理后,就可以獲取熱門時間段的流媒體服務器性能,建立在某個時間段之上,分析數(shù)據(jù)結(jié)果來獲取系統(tǒng)的性能改進模式,而流媒體服務器本身的性能也能穩(wěn)定提升,讓用戶享受到更加出色的服務。
基于CDN 網(wǎng)絡整體結(jié)構(gòu)下的關(guān)鍵技術(shù)研究,可以讓我們提出適用于流媒體系統(tǒng)的服務器部署策略,讓系統(tǒng)具有靈活的內(nèi)容分發(fā)功能。在后續(xù)的技術(shù)研究當中,還應該建立更大規(guī)模的基礎模型,在內(nèi)容管理方面進行拓展,在實際應用環(huán)節(jié)得到改進和完善。例如,如果我們能夠得到流媒體服務器的文件管理包,也能在分發(fā)文件時直接獲取文件路徑,不再依靠FTP 傳輸系統(tǒng)來進行管理操作等。