多CDN服務的切換調度方法及設備與流程
2023-06-21 06:57:51
本發明涉及一種多cdn服務的切換調度方法及設備。
背景技術:
近年來,隨著計算機技術的快速發展以及網際網路的普及,流媒體應用得到了長足的發展,據最新的網際網路發展狀況統計顯示,中國2.1億網民中約八成是網絡音樂和網絡影視的用戶,流媒體應用已經成為當今網際網路的一項主流應用。
中國網際網路視頻行業自啟動以來,經歷了行業的爆發、低迷以及上市熱潮幾個階段後,逐步走向行業的升級調整期。經過數年的培養,網絡視頻已經成為網際網路主要應用領域之一,用戶規模增長速度突出,覆蓋率不斷提高。網絡視頻已經成為人們獲取電影、電視、視頻資訊等數字內容的重要渠道。但與此同時網際網路視頻公司從幾年前的300多家,到現在的二十幾家,國內視頻網站在幾年時間裡已淘汰了90%。這其中一個關鍵原因就是服務質量,視頻傳輸需要大量的伺服器資源以及帶寬,為巨大數量級的用戶提供及時的、可靠的、穩定的服務是衡量網際網路公司服務優劣的標誌。但大量用戶的使用將導致網絡局部區域資源的短缺。
目前在使用第三方cdn服務時,經常會碰到由cdn服務故障引起的業務不可用事件。很多cdn服務商都會強調自己的數據是如何容災的,但是很少有cdn服務商提到過服務容災的概念。
技術實現要素:
本發明的目的在於提供一種多cdn服務的切換調度方法及設備,能夠解決cdn服務故障引起的業務不可用的問題。
為解決上述問題,本發明提供一種多cdn服務的切換調度方法,包括:
獲取用戶的資源請求,從所述資源請求中獲取元素;
根據所述資源請求中的元素,確定所述資源請求所對應的伺服器調度信息;
根據所述伺服器調度信息為所述用戶分配相適應的cdn服務;
監控正在提供服務的cdn服務的可用性,發現正在提供服務的cdn服務異常無法正常提供服務時,自動將異常cdn服務從服務點下線並且根據所述伺服器調度信息為所述用戶切換相適應的cdn服務。
進一步的,在上述方法中,發現正在提供服務的cdn服務異常無法正常提供時,還包括:
向相關人員發送異常警告。
進一步的,在上述方法中,根據所述伺服器調度信息為所述用戶分配或切換相適應的cdn服務之後,還包括:
向所述用戶異步發送對應於所述資源請求的回調結果信息。
進一步的,在上述方法中,所述資源請求中的元素至少包括請求籤名機制、用戶信息、所請求的資源、要求響應的緊急程度以及相關參數。
進一步的,在上述方法中,所述相關參數包括以下內容:
調用方式、調用方法、服務地址、通信協議、請求方法、請求參數、字符編碼。
進一步的,在上述方法中,根據所述伺服器調度信息為所述用戶分配或切換相適應的cdn服務,包括:
根據所述伺服器調度信息和cdn服務的調度策略,為所述用戶分配或切換相適應的cdn服務。
進一步的,在上述方法中,所述cdn服務的調度策略根據當前時段、區域、網絡、cdn服務資源使用情況和cdn服務性能來確定。
進一步的,在上述方法中,所述cdn服務資源使用情況基於以下至少任一項確定:
cdn服務與用戶的網絡距離;
cdn服務是否緩存有所請求的資源;
cdn服務所具有的帶寬冗餘;
cdn服務所具有的工作負載。
進一步的,在上述方法中,所述資源請求指向同一域名。
根據本發明的另一面,提供一種多cdn服務的切換調度設備,包括:
請求獲取裝置,用於獲取用戶的資源請求,從所述資源請求中獲取元素;
調度確定裝置,用於根據所述資源請求中的元素,確定所述資源請求所對應的伺服器調度信息;
服務分配裝置,用於根據所述伺服器調度信息為所述用戶分配相適應的cdn服務;
主動監控裝置,用於監控正在提供服務的cdn服務的可用性,發現正在提供服務的cdn服務異常無法正常提供服務時,自動將異常cdn服務從服務點下線並且根據所述伺服器調度信息為所述用戶切換相適應的cdn服務。
進一步的,在上述設備中,還包括:
異常警告裝置,用於向相關人員發送異常警告。
進一步的,在上述設備中,還包括異步第三方接口服務裝置,用於向所述用戶異步發送對應於所述資源請求的回調結果信息。
進一步的,在上述設備中,所述資源請求中的元素至少包括請求籤名機制、用戶信息、所請求的資源、要求響應的緊急程度以及相關參數。
進一步的,在上述設備中,所述相關參數包括以下內容:
調用方式;
調用方法;
服務地址;
通信協議;
請求方法;
請求參數;
字符編碼。
進一步的,在上述設備中,所述服務分配裝置,用於根據所述伺服器調度信息和cdn服務的調度策略,為所述用戶分配相適應的cdn服務。
進一步的,在上述設備中,所述服務分配裝置,用於根據所述伺服器調度信息和cdn服務的調度策略,為所述用戶切換相適應的cdn服務。
進一步的,在上述設備中,所述主動監控裝置,用於監控正在提供服務的cdn服務的可用性,發現正在提供服務的cdn服務異常無法正常提供服務時,自動將異常cdn服務從服務點下線並且根據所述伺服器調度信息和cdn服務的調度策略,為所述用戶切換相適應的cdn服務。
進一步的,在上述設備中,所述cdn服務的調度策略根據當前時段、區域、網絡、cdn服務資料使用情況和cdn服務性能來確定。
進一步的,在上述設備中,所述cdn服務資源使用情況基於以下至少任一項確定:
cdn服務與用戶的網絡距離;
cdn服務是否緩存有所請求的資源;
cdn服務所具有的帶寬冗餘;
cdn服務所具有的工作負載。
進一步的,在上述設備中,所述資源請求指向同一域名。
與現有技術相比,與現有技術相比,本發明具有如下優點:
1、智能的切換調度方式,可以避免僅使用某一家cdn服務,一旦這家cdn服務出現事故導致服務不可用從而使所有業務受到影響且無法快速智能切換到其它cdn服務的問題,實現了cdn服務容災;
2、多cdn服務切換調度方法讓系統達到高可用性;
3、可以實現對cdn服務的用戶分流,避免單家cdn服務過載,達到負載均衡的目的;
4、可為用戶調度響應速度快的cdn服務,以提供用戶體驗質量。
附圖說明
圖1是本發明一實施例的多cdn服務的切換調度方法的流程圖;
圖2是本發明一實施例的多cdn服務的切換調度設備的模塊圖。
具體實施方式
為使本發明的上述目的、特徵和優點能夠更加明顯易懂,下面結合附圖和具體實施方式對本發明作進一步詳細的說明。
如圖1所示,本發明提供一種多cdn服務的切換調度方法,包括:
步驟s1,獲取用戶的資源請求,從所述資源請求中獲取元素;
步驟s2,根據所述資源請求中的元素,確定所述資源請求所對應的伺服器調度信息;
步驟s3,根據所述伺服器調度信息為所述用戶分配相適應的cdn服務;
步驟s4,監控正在提供服務的cdn服務的可用性,發現正在提供服務的cdn服務異常無法正常提供服務時,自動將異常cdn服務從服務點下線並且根據所述伺服器調度信息為所述用戶切換相適應的cdn服務。
具體的,上述各步驟之間可以是持續不斷工作的,在此,本領域技術人員應理解「持續」是指上述各步驟分別實時地,或者按照設定的或實時調整的工作模式要求,從mns服務進行資源請求的獲取、伺服器調度信息的確定、cdn服務的分配,以實現對各cdn服務的負載均衡,並保證服務質量。
本發明中多cdn切換調度可基於node語言開發實現。在步驟s1中,用戶向mns消息服務設備發送資源請求,相應地,cdn調度系統獲取用戶的資源請求。其中,資源請求如http請求消息服務。具體地,資源請求包括但不限於對視頻的觀看請求,創建直播通道請求,關閉直播請求,生成回放請求等等。
另外,主動監控cdn服務的可用性,可以很好的把控cdn服務的可用性及整個裝置的可用性,發現異常後,可以第一時間通過配置中心來將有異常的cnd服務從服務點下線,這樣對業務的影響就可以降到最低。
伺服器調度信息可以是指,用於指示可被調度的cdn服務,其可具體指示擬調度cdn服務的服務質量等級,如最優cdn服務、次優服務。具體的,系統可查詢伺服器調度信息庫來確定資源請求所對應的伺服器調度信息。所述伺服器調度信息庫中保存有元素與伺服器調度信息的對應關係,當資源請求中的元素與伺服器調度信息庫中的元素匹配時,系統可確定該資源請求對應的cdn服務調度信息。
本發明一方面,可以避免僅使用某一家cdn服務,一旦這家cdn服務出現事故導致服務不可用從而使所有業務受到影響且無法快速智能切換到其它cdn服務的問題,實現了cdn服務容災;再者、拓展現有的cdn服務切換調度的方式,從而實現更智能快速的切換調度方式;另一方面,可以實現對cdn服務的用戶分流,避免單家cdn服務過載,達到負載均衡的目的,有效地提高系統資源的利用效率,並且提高用戶體驗質量。
本申請的多cdn服務的切換調度方法一實施例中,發現正在提供服務在cdn服務異常時,還包括:
向相關人員發送異常警告。
異常警告的發送方式可以但不限於發送簡訊、發送郵件等。
本申請的多cdn服務的切換調度方法一實施例中,根據所述伺服器調度信息為所述用戶分配或切換相適應的cdn服務之後,還包括:
向所述用戶異步發送對應於所述資源請求的回調結果信息。
在此,異步流程可以立即給調用方返回初步的結果;異步流程還可以延遲給調用方最終的結果數據,在此期間可以做更多額外的工作,例如結果記錄等等;異步流程在執行的過程中,可以釋放佔用的線程等資源,避免阻塞,等到結果產生再重新獲取線程處理;異步流程可以等多次調用的結果出來後,再統一返回一次結果集合,提高響應效率。
具體的回調結果信息舉例如:
用戶直播結束,通知相關的此cdn服務,cdn服務需要返回回放地址,那麼此裝置服務就將回放地址異步發送給客戶。
本申請的多cdn服務的切換調度方法一實施例中,所述資源請求中的元素至少包括請求籤名機制、用戶信息、所請求的資源、要求響應的緊急程度以及相關參數;
具體的,服務會對每個訪問的請求進行身份驗證,所以無論使用http還是https協議提交請求,都需要在請求中包含請求籤名(signature)機制的信息;
用戶信息可以包括用戶名,用戶id,用戶類型等等信息,用戶類型usertype如「usertype=vip」指示用戶屬於付費用戶,用戶類型「usertype=normal」指示用戶屬於普通用戶;元素「usertype=vip」指示用戶等級為vip用戶,其資源請求對應的伺服器調度信息為分配最優cdn服務,元素「usertype=normal」指示用戶等級為普通用戶,其資源請求對應的伺服器調度信息為分配次優cdn服務;另外,可根據用戶信息去匹配伺服器調度信息庫,例如:付費用戶,可選擇走cdn服務的付費通道,可以及時響應不用排隊;普通用戶,選擇走cdn服務的公共隊列,當cdn服務的服務量大時,會出現排隊等情況;
所請求的資源如country(國家),city(城市),area(地區),可以根據所屬區域城市國家等,選擇最優cdn服務。
本申請的多cdn服務的切換調度方法一實施例中,所述相關參數包括以下內容:
調用方式;
調用方法;
服務地址;
通信協議;
請求方法;
請求參數;
字符編碼。
具體的,調用方式可以是指對cdn服務之間的api的調用是通過向cdn服務的api的服務端地址發送httpget請求,並按照接口說明在請求中加入相應請求參數來完成;根據請求的處理情況,系統會返回處理結果;
服務地址,即服務接入地址;
通信協議,可以支持通過http或https通道進行請求通信,為了獲得更高的安全性,可以使用https通道發送請求;
請求方法,可以支持httpget方法發送請求,這種方式下請求參數需要包含在請求的url中;
請求參數,每個請求都需要指定要執行的操作,即action參數(例如addliveappsnapshotconfig),以及每個操作都需要包含的公共請求參數和指定操作所特有的請求參數。
字符編碼,可以讓請求及返回結果都使用utf-8字符集進行編碼。
返回結果,可以在調用api服務後返回數據採用統一格式,返回的http狀態碼為2xx,代表調用成功,返回4xx或5xx的http狀態碼代表調用失敗,其中,調用成功返回的數據格式可以有xml和json兩種,外部系統可以在請求時傳入參數來制定返回的數據格式,默認為xml格式。
本申請的多cdn服務的切換調度方法一實施例中,步驟s3,根據所述伺服器調度信息為所述用戶分配相適應的cdn服務,包括:
根據所述伺服器調度信息和cdn服務的調度策略,為所述用戶分配相適應的cdn服務。
本申請的多cdn服務的切換調度方法一實施例中,步驟s4中,根據所述伺服器調度信息為所述用戶切換相適應的cdn服務,包括:
根據所述伺服器調度信息和cdn服務的調度策略,為所述用戶切換相適應的cdn服務。
本申請的多cdn服務的切換調度方法一實施例中,所述cdn服務的調度策略根據當前時段、區域、網絡、cdn服務資源使用情況和cdn服務性能來確定。
在此,根據所述伺服器調度信息,並結合當前時段、區域、網絡、cdn服務資源使用情況和cdn服務性能等綜合條件下最優的cdn服務的調度策略,來為所述用戶分配相適應的cdn服務。
本申請的多cdn服務的切換調度方法一實施例中,所述cdn服務資源使用情況基於以下至少任一項確定:
cdn服務與用戶的網絡距離;
cdn服務是否緩存有所請求的資源;
cdn服務所具有的帶寬冗餘;
cdn服務所具有的工作負載。
本申請的多cdn服務的切換調度方法一實施例中,所述資源請求指向同一域名。
在此,cdn服務調度系統可針對指向同一域名的資源請求,來為多個用戶分配相適應的cdn服務,以實現差異化的調度方式。在步驟s2中,系統根據資源請求中的元素,確定資源請求所對應的伺服器調度信息。
如圖2所示,本發明還提供另一種多cdn服務的切換調度設備,包括:
請求獲取裝置1,用於獲取用戶的資源請求,從所述資源請求中獲取元素;例如,如圖2所示,請求獲取裝置1可以通過mns消息服務8從一api(應用程式服務接口)服務系統7獲取用戶的資源請求;
調度確定裝置2,用於根據所述資源請求中的元素,確定所述資源請求所對應的伺服器調度信息;
服務分配裝置3,用於根據所述伺服器調度信息為所述用戶分配相適應的cdn服務;
主動監控裝置4,用於監控正在提供服務的cdn服務的可用性,發現正在提供服務的cdn服務異常無法正常提供服務時,自動將異常cdn服務從服務點下線並且根據所述伺服器調度信息為所述用戶切換相適應的cdn服務。
本申請的多cdn服務的切換調度設備一實施例中,還包括:
異常警告裝置5,用於向相關人員發送異常警告。
異常警告的發送裝置可以但不限於簡訊發送裝置、郵件發送裝置等。
本申請的多cdn服務的切換調度設備一實施例中,還包括異步第三方接口服務裝置5,用於向所述用戶異步發送對應於所述資源請求的回調結果信息。
本申請的多cdn服務的切換調度設備一實施例中,所述資源請求中的元素至少包括請求籤名機制、用戶信息、所請求的資源、要求響應的緊急程度以及相關參數。
本申請的多cdn服務的切換調度設備一實施例中,所述相關參數包括以下內容:
調用方式;
調用方法;
服務地址;
通信協議;
請求方法;
請求參數;
字符編碼。
本申請的多cdn服務的切換調度設備一實施例中,所述服務分配裝置,用於根據所述伺服器調度信息和cdn服務的調度策略,為所述用戶分配相適應的cdn服務。
本申請的多cdn服務的切換調度設備一實施例中,所述主動監控裝置,用於監控正在提供服務的cdn服務的可用性,發現正在提供服務的cdn服務異常無法正常提供服務時,自動將異常cdn服務從服務點下線並且根據所述伺服器調度信息和cdn服務的調度策略,為所述用戶切換相適應的cdn服務。
本申請的多cdn服務的切換調度設備一實施例中,所述cdn服務的調度策略根據當前時段、區域、網絡、cdn服務資源使用情況和cdn服務性能來確定。
本申請的多cdn服務的切換調度設備一實施例中,所述cdn服務資源使用情況基於以下至少任一項確定:
cdn服務與用戶的網絡距離;
cdn服務是否緩存有所請求的資源;
cdn服務所具有的帶寬冗餘;
cdn服務所具有的工作負載。
本申請的多cdn服務的切換調度設備一實施例中,所述資源請求指向同一域名。
在此,多cdn服務的切換調度設備各實施例的詳細內容,具體可參見多cdn服務的切換調度方法各實施例的對應部分,在此不再贅述。
與現有技術相比,本發明具有如下優點:
1、智能的切換調度方式,可以避免僅使用某一家cdn服務,一旦這家cdn服務出現事故導致服務不可用從而使所有業務受到影響且無法快速智能切換到其它cdn服務的問題,實現了cdn服務容災;
2、多cdn服務切換調度方法讓系統達到高可用性;
3、可以實現對cdn服務的用戶分流,避免單家cdn服務過載,達到負載均衡的目的;
4、可為用戶調度響應速度快的cdn服務,以提高用戶體驗質量。
本說明書中各個實施例採用遞進的方式描述,每個實施例重點說明的都是與其他實施例的不同之處,各個實施例之間相同相似部分互相參見即可。
專業人員還可以進一步意識到,結合本文中所公開的實施例描述的各示例的單元及算法步驟,能夠以電子硬體、計算機軟體或者二者的結合來實現,為了清楚地說明硬體和軟體的可互換性,在上述說明中已經按照功能一般性地描述了各示例的組成及步驟。這些功能究竟以硬體還是軟體方式來執行,取決於技術方案的特定應用和設計約束條件。專業技術人員可以對每個特定的應用來使用不同方法來實現所描述的功能,但是這種實現不應認為超出本發明的範圍。
顯然,本領域的技術人員可以對發明進行各種改動和變型而不脫離本發明的精神和範圍。這樣,倘若本發明的這些修改和變型屬於本發明權利要求及其等同技術的範圍之內,則本發明也意圖包括這些改動和變型在內。