專利名稱:一種自主下拉式內(nèi)容調(diào)度的方法及服務(wù)節(jié)點(diǎn)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及通信領(lǐng)域,特別涉及ー種自主下拉式內(nèi)容調(diào)度的方法及服務(wù)節(jié)點(diǎn)。
背景技術(shù):
隨著網(wǎng)絡(luò)技術(shù)和多媒體技術(shù)的發(fā)展,交互式網(wǎng)絡(luò)電視(IPTV)因其便捷性、智能性、可控性等優(yōu)點(diǎn)被越來越多的用戶所接受和使用。如圖I所示,IPTV系統(tǒng)中部署有多個(gè)具有媒體服務(wù)能力的節(jié)點(diǎn)構(gòu)成的內(nèi)容分發(fā)網(wǎng)絡(luò)(Content Delivery Network,簡(jiǎn)稱⑶N)為終端用戶提供服務(wù)。⑶N網(wǎng)絡(luò)中節(jié)點(diǎn)一般分為存儲(chǔ)節(jié)點(diǎn)和服務(wù)節(jié)點(diǎn),存儲(chǔ)節(jié)點(diǎn)上內(nèi)容較多,服務(wù)節(jié)點(diǎn)內(nèi)容較少。服務(wù)節(jié)點(diǎn)需要定期從存儲(chǔ)節(jié)點(diǎn)上同步熱點(diǎn)內(nèi)容。傳統(tǒng)上這種同步采取推送的方式由CDN網(wǎng)絡(luò)中的控制器定期 產(chǎn)生熱度內(nèi)容下推任務(wù),下發(fā)給服務(wù)節(jié)點(diǎn);任務(wù)信息包括本次視頻點(diǎn)播(Video On Demand,簡(jiǎn)稱V0D)下推的源節(jié)點(diǎn)(一般是存儲(chǔ)節(jié)點(diǎn))、目的節(jié)點(diǎn)(一般是服務(wù)節(jié)點(diǎn))、V0D內(nèi)容的標(biāo)識(shí)、VOD內(nèi)容在源節(jié)點(diǎn)的存儲(chǔ)服務(wù)器(一般為File Transfer Protocol服務(wù)器即FTP服務(wù)器);任務(wù)的目的節(jié)點(diǎn)根據(jù)相關(guān)信息,從具有熱度內(nèi)容的源節(jié)點(diǎn),以FTP方式獲取VOD內(nèi)容。傳統(tǒng)的內(nèi)容下推方式存在以下缺點(diǎn)一是如果本次下推任務(wù)失敗,需要在下ー個(gè)周期重新產(chǎn)生任務(wù),周期的時(shí)間可能較長,而且下次任務(wù)可能因?yàn)橥瑯拥脑蚴?,難以保證熱點(diǎn)內(nèi)容下推的及時(shí)性;ニ是所有下推任務(wù)的產(chǎn)生和下發(fā)都是由CDN控制器負(fù)責(zé),隨著CDN網(wǎng)絡(luò)節(jié)點(diǎn)數(shù)量的增多,CDN控制器的處理能力容易成為性能的瓶頸。
發(fā)明內(nèi)容
本發(fā)明要解決的技術(shù)問題是提供ー種自主下拉式內(nèi)容調(diào)度的方法及服務(wù)節(jié)點(diǎn),解決推送式調(diào)度產(chǎn)生的調(diào)度問題。為了解決上述技術(shù)問題,本方案提供了ー種自主下拉式內(nèi)容調(diào)度的方法,服務(wù)節(jié)點(diǎn)從內(nèi)容分發(fā)網(wǎng)絡(luò)控制器獲取目標(biāo)下拉內(nèi)容的信息,向所述內(nèi)容分發(fā)網(wǎng)絡(luò)控制器查詢能夠提供相應(yīng)目標(biāo)下拉內(nèi)容的ー個(gè)或多個(gè)存儲(chǔ)節(jié)點(diǎn),向所述存儲(chǔ)節(jié)點(diǎn)中的ー個(gè)查詢能夠提供所述待下拉內(nèi)容的存儲(chǔ)服務(wù)器的信息,從所述存儲(chǔ)服務(wù)器下載所述目標(biāo)下拉內(nèi)容。進(jìn)ー步地,上述方法還可以具有以下特點(diǎn)所述服務(wù)節(jié)點(diǎn)從內(nèi)容分發(fā)網(wǎng)絡(luò)控制器獲取目標(biāo)下拉內(nèi)容的信息包括以下類型 類型一隔第一預(yù)設(shè)時(shí)長從內(nèi)容分發(fā)網(wǎng)絡(luò)控制器查詢到的內(nèi)容分發(fā)網(wǎng)絡(luò)的全網(wǎng)熱度內(nèi)容信息中所述服務(wù)節(jié)點(diǎn)上不存在的內(nèi)容的信息,類型ニ 隔第二預(yù)設(shè)時(shí)長從內(nèi)容分發(fā)網(wǎng)絡(luò)控制器查詢到的內(nèi)容分發(fā)網(wǎng)絡(luò)中更新的內(nèi)容的信息,類型三隔第三預(yù)設(shè)時(shí)長統(tǒng)計(jì)所述服務(wù)節(jié)點(diǎn)上產(chǎn)生過點(diǎn)播請(qǐng)求但缺失的內(nèi)容的信息。進(jìn)ー步地,上述方法還可以具有以下特點(diǎn)所述第一預(yù)設(shè)時(shí)長大于所述第二預(yù)設(shè)時(shí)長,所述第二預(yù)設(shè)時(shí)長大于所述第三預(yù)設(shè)時(shí)長。進(jìn)ー步地,上述方法還可以具有以下特點(diǎn)
所述服務(wù)節(jié)點(diǎn)向所述內(nèi)容分發(fā)網(wǎng)絡(luò)控制器查詢到能夠提供目標(biāo)下拉內(nèi)容的存儲(chǔ)節(jié)點(diǎn)后,構(gòu)建針對(duì)此目標(biāo)下拉內(nèi)容的包括此目標(biāo)下拉內(nèi)容和相應(yīng)存儲(chǔ)節(jié)點(diǎn)信息的下拉任務(wù),將此下拉任務(wù)加入到待執(zhí)行任務(wù)隊(duì)列;所述服務(wù)節(jié)點(diǎn)從所述待執(zhí)行任務(wù)隊(duì)列中提取出一個(gè)或多個(gè)任務(wù)并行執(zhí)行。進(jìn)ー步地,上述方法還可以具有以下特點(diǎn)所述服務(wù)節(jié)點(diǎn)將下拉任務(wù)加入到待執(zhí)行任務(wù)隊(duì)列時(shí),按類型三、類型ニ、類型ー的優(yōu)先次序?qū)⒛繕?biāo)下拉內(nèi)容相應(yīng)的任務(wù)設(shè)置在待執(zhí)行任務(wù)隊(duì)列中。進(jìn)ー步地,上述方法還可以具有以下特點(diǎn)所述服務(wù)節(jié)點(diǎn)向一存儲(chǔ)節(jié)點(diǎn)查詢能夠提供相應(yīng)待下拉內(nèi)容的存儲(chǔ)服務(wù)器的信息時(shí),
所述存儲(chǔ)節(jié)點(diǎn)返回的存儲(chǔ)服務(wù)器信息不存在或無效時(shí),將此存儲(chǔ)節(jié)點(diǎn)從此任務(wù)的存儲(chǔ)節(jié)點(diǎn)信息中刪除,并選擇另一存儲(chǔ)節(jié)點(diǎn)查詢存儲(chǔ)服務(wù)器;所述存儲(chǔ)節(jié)點(diǎn)提供的存儲(chǔ)服務(wù)器不可用或負(fù)載已滿時(shí),選擇另一存儲(chǔ)節(jié)點(diǎn)查詢存儲(chǔ)服務(wù)器;所述存儲(chǔ)節(jié)點(diǎn)提供的存儲(chǔ)服務(wù)器可用但從此存儲(chǔ)服務(wù)器下載所述目標(biāo)下拉內(nèi)容失敗時(shí),通知此存儲(chǔ)節(jié)點(diǎn)此存儲(chǔ)服務(wù)器不可用并重新向此存儲(chǔ)節(jié)點(diǎn)查詢存儲(chǔ)服務(wù)器。為了解決上述技術(shù)問題,本方案還提供了ー種自主下拉式內(nèi)容調(diào)度的服務(wù)節(jié)點(diǎn),包括存儲(chǔ)節(jié)點(diǎn)信息獲取模塊和內(nèi)容下拉模塊;所述存儲(chǔ)節(jié)點(diǎn)信息獲取模塊,用于從內(nèi)容分發(fā)網(wǎng)絡(luò)控制器獲取目標(biāo)下拉內(nèi)容的信息,向所述內(nèi)容分發(fā)網(wǎng)絡(luò)控制器查詢能夠提供相應(yīng)目標(biāo)下拉內(nèi)容的ー個(gè)或多個(gè)存儲(chǔ)節(jié)點(diǎn);所述內(nèi)容下拉模塊,用于向所述存儲(chǔ)節(jié)點(diǎn)中的ー個(gè)查詢能夠提供所述待下拉內(nèi)容的存儲(chǔ)服務(wù)器的信息,從所述存儲(chǔ)服務(wù)器下載所述目標(biāo)下拉內(nèi)容。進(jìn)ー步地,上述服務(wù)節(jié)點(diǎn)還可以具有以下特點(diǎn)從內(nèi)容分發(fā)網(wǎng)絡(luò)控制器獲取目標(biāo)下拉內(nèi)容的信息包括以下類型類型ー隔第一預(yù)設(shè)時(shí)長從內(nèi)容分發(fā)網(wǎng)絡(luò)控制器查詢到的內(nèi)容分發(fā)網(wǎng)絡(luò)的全網(wǎng)熱度內(nèi)容信息中所述服務(wù)節(jié)點(diǎn)上不存在的內(nèi)容的信息,類型ニ隔第二預(yù)設(shè)時(shí)長從內(nèi)容分發(fā)網(wǎng)絡(luò)控制器查詢到的內(nèi)容分發(fā)網(wǎng)絡(luò)中更新的內(nèi)容的信息,類型三隔第三預(yù)設(shè)時(shí)長統(tǒng)計(jì)所述服務(wù)節(jié)點(diǎn)上產(chǎn)生過點(diǎn)播請(qǐng)求但缺失的內(nèi)容的信息。進(jìn)ー步地,上述服務(wù)節(jié)點(diǎn)還可以具有以下特點(diǎn)所述內(nèi)容下拉模塊,還用于構(gòu)建針對(duì)目標(biāo)下拉內(nèi)容的包括此目標(biāo)下拉內(nèi)容和相應(yīng)存儲(chǔ)節(jié)點(diǎn)信息的下拉任務(wù),按類型三、類型ニ、類型ー的優(yōu)先次序?qū)⒛繕?biāo)下拉內(nèi)容相應(yīng)的任務(wù)設(shè)置在待執(zhí)行任務(wù)隊(duì)列中;還用于從所述待執(zhí)行任務(wù)隊(duì)列中提取出ー個(gè)或多個(gè)任務(wù)并行執(zhí)行。進(jìn)ー步地,上述服務(wù)節(jié)點(diǎn)還可以具有以下特點(diǎn)所述內(nèi)容下拉模塊,還用于向一存儲(chǔ)節(jié)點(diǎn)查詢能夠提供相應(yīng)待下拉內(nèi)容的存儲(chǔ)服務(wù)器的信息;所述存儲(chǔ)節(jié)點(diǎn)返回的存儲(chǔ)服務(wù)器信息不存在或無效時(shí),將此存儲(chǔ)節(jié)點(diǎn)從此任務(wù)的存儲(chǔ)節(jié)點(diǎn)信息中刪除,并選擇另一存儲(chǔ)節(jié)點(diǎn)查詢存儲(chǔ)服務(wù)器;所述存儲(chǔ)節(jié)點(diǎn)提供的存儲(chǔ)服務(wù)器不可用或負(fù)載已滿時(shí),選擇另一存儲(chǔ)節(jié)點(diǎn)查詢存儲(chǔ)服務(wù)器;所述存儲(chǔ)節(jié)點(diǎn)提供的存儲(chǔ)服務(wù)器可用但從此存儲(chǔ)服務(wù)器下載所述目標(biāo)下拉內(nèi)容失敗時(shí),通知此存儲(chǔ)節(jié)點(diǎn)此存儲(chǔ)服務(wù)器不可用并重新向此存儲(chǔ)節(jié)點(diǎn)查詢存儲(chǔ)服務(wù)器。與背景技術(shù)中服務(wù)節(jié)點(diǎn)被動(dòng)接收方式不同,本方案采用下拉式內(nèi)容調(diào)度方式,由服務(wù)節(jié)點(diǎn)主動(dòng)自主生成內(nèi)容下拉的任務(wù),主動(dòng)獲取所需內(nèi)容。主要包括以下優(yōu)點(diǎn)一,把任務(wù)的生成和執(zhí)行完全由多個(gè)服務(wù)節(jié)點(diǎn)實(shí)現(xiàn),減輕了 CDN控制器的壓カ;ニ,任務(wù)執(zhí)行時(shí)如果遇到存儲(chǔ)節(jié)點(diǎn)內(nèi)容異?;蛘逨TP資源耗盡時(shí),可實(shí)現(xiàn)任務(wù)的自修復(fù),重新選擇其他節(jié)點(diǎn)或者本節(jié)點(diǎn)其他的FTP服務(wù)器進(jìn)行內(nèi)容下拉,提高了任務(wù)的成功率和內(nèi)容下推的及時(shí)性 三’存儲(chǔ)節(jié)點(diǎn)的存儲(chǔ)服務(wù)器(例如FTP服務(wù)器)信息是任務(wù)執(zhí)行吋,存儲(chǔ)節(jié)點(diǎn)根據(jù)當(dāng)前的性能狀態(tài)分配給服務(wù)節(jié)點(diǎn)使用,這樣就實(shí)現(xiàn)多個(gè)FTP服務(wù)器選擇負(fù)載均衡,比原來使用固定FTP服務(wù)器的方式優(yōu)化系統(tǒng)性能。
圖I是IPTV-⑶N網(wǎng)絡(luò)組網(wǎng)的示意圖;圖2是實(shí)施例中自主下拉式內(nèi)容調(diào)度的方法示意圖。
具體實(shí)施例方式如圖2所示,自主下拉式內(nèi)容調(diào)度的方法包括服務(wù)節(jié)點(diǎn)從CDN控制器獲取目標(biāo)下拉內(nèi)容的信息,向所述CDN控制器查詢能夠提供相應(yīng)目標(biāo)下拉內(nèi)容的ー個(gè)或多個(gè)存儲(chǔ)節(jié)點(diǎn),向所述存儲(chǔ)節(jié)點(diǎn)中的ー個(gè)查詢能夠提供所述待下拉內(nèi)容的存儲(chǔ)服務(wù)器的信息,從所述存儲(chǔ)服務(wù)器下載所述目標(biāo)下拉內(nèi)容。服務(wù)節(jié)點(diǎn)從⑶N控制器獲取目標(biāo)下拉內(nèi)容的信息包括以下類型一、二三。類型ー隔第一預(yù)設(shè)時(shí)長從CDN控制器查詢到的內(nèi)容分發(fā)網(wǎng)絡(luò)的全網(wǎng)熱度內(nèi)容信息中所述服務(wù)節(jié)點(diǎn)上不存在的內(nèi)容的信息,類型ニ 隔第二預(yù)設(shè)時(shí)長從內(nèi)容分發(fā)網(wǎng)絡(luò)控制器查詢到的內(nèi)容分發(fā)網(wǎng)絡(luò)中更新的內(nèi)容的信息,類型三隔第三預(yù)設(shè)時(shí)長統(tǒng)計(jì)所述服務(wù)節(jié)點(diǎn)上產(chǎn)生過點(diǎn)播請(qǐng)求但缺失的內(nèi)容的信息(例如在第三預(yù)設(shè)時(shí)長超過兩次點(diǎn)播但服務(wù)節(jié)點(diǎn)上不存在的內(nèi)容)。其中第一預(yù)設(shè)時(shí)長大于第二預(yù)設(shè)時(shí)長,第二預(yù)設(shè)時(shí)長大于第三預(yù)設(shè)時(shí)長。例如第ー預(yù)設(shè)時(shí)長為一天,第二預(yù)設(shè)時(shí)長為ー小時(shí),第三預(yù)設(shè)時(shí)長為半小吋。服務(wù)節(jié)點(diǎn)可以將獲取的目標(biāo)下拉內(nèi)容的信息組成下拉內(nèi)容列表,在列表中分別記錄各目標(biāo)下拉內(nèi)容的信息以及相應(yīng)的類型,還可以記錄獲取時(shí)間等其它相關(guān)參數(shù)。服務(wù)節(jié)點(diǎn)向CDN控制器查詢到能夠提供目標(biāo)下拉內(nèi)容的ー個(gè)或多個(gè)存儲(chǔ)節(jié)點(diǎn)(可以是ー個(gè)存儲(chǔ)節(jié)點(diǎn)也可以是存儲(chǔ)節(jié)點(diǎn)列表)后,構(gòu)建針對(duì)此目標(biāo)下拉內(nèi)容的包括此目標(biāo)下拉內(nèi)容和相應(yīng)存儲(chǔ)節(jié)點(diǎn)信息的下拉任務(wù),將此下拉任務(wù)加入到待執(zhí)行任務(wù)隊(duì)列。服務(wù)節(jié)點(diǎn)從待執(zhí)行任務(wù)隊(duì)列中提取出一個(gè)或多個(gè)任務(wù)加入執(zhí)行任務(wù)隊(duì)列對(duì)此隊(duì)列中的任務(wù)進(jìn)行并行執(zhí)行??筛鶕?jù)每個(gè)服務(wù)節(jié)點(diǎn)自身的能力確定執(zhí)行任務(wù)隊(duì)列的大??;如果該節(jié)點(diǎn)能力不變,則隊(duì)列的大小也不變。執(zhí)行任務(wù)隊(duì)列中某個(gè)任務(wù)完成后,再從待執(zhí)行任務(wù)隊(duì)列首部取一個(gè)任務(wù)放入到執(zhí)行隊(duì)列中。
服務(wù)節(jié)點(diǎn)將下拉任務(wù)加入到待執(zhí)行任務(wù)隊(duì)列時(shí),下拉內(nèi)容的類型不同,則相應(yīng)任務(wù)在到待執(zhí)行任務(wù)隊(duì)列中的位置也不同,例如按類型三、類型ニ、類型ー的優(yōu)先次序?qū)⒛繕?biāo)下拉內(nèi)容相應(yīng)的任務(wù)設(shè)置在待執(zhí)行任務(wù)隊(duì)列中。服務(wù)節(jié)點(diǎn)獲取到目標(biāo)上拉內(nèi)容的存儲(chǔ)節(jié)點(diǎn)列表吋,從此列表中選擇ー個(gè)存儲(chǔ)節(jié)點(diǎn)查詢存儲(chǔ)服務(wù)器的信息,例如,可以在列表中選取第一個(gè)存儲(chǔ)節(jié)點(diǎn),或者選擇其它位置的存儲(chǔ)節(jié)點(diǎn),或者根據(jù)一定策略選擇。存儲(chǔ)節(jié)點(diǎn)收到請(qǐng)求后,在本節(jié)點(diǎn)多個(gè)存儲(chǔ)服務(wù)器中選取ー個(gè)負(fù)載最低的通知至服務(wù)節(jié)點(diǎn)。服務(wù)節(jié)點(diǎn)執(zhí)行任務(wù)過程中,如果遇到獲取內(nèi)容異常的情況,會(huì)根據(jù)失敗的具體原因,對(duì)本次任務(wù)做出調(diào)整和修復(fù),提高任務(wù)執(zhí)行的成功率,保證該任務(wù)在后續(xù)處理中盡快成功完成,包括以下幾種情況所述存儲(chǔ)節(jié)點(diǎn)返回的存儲(chǔ)服務(wù)器信息不存在或無效時(shí),將此存儲(chǔ)節(jié)點(diǎn)從此任務(wù)的存儲(chǔ)節(jié)點(diǎn)信息中刪除,并選擇另一存儲(chǔ)節(jié)點(diǎn)查詢存儲(chǔ)服務(wù)器(例如可以在存儲(chǔ)節(jié)點(diǎn)列表中取下ー個(gè)存儲(chǔ)節(jié)點(diǎn),或按照預(yù)設(shè)規(guī)則進(jìn)行選擇);所述存儲(chǔ)節(jié)點(diǎn)提供的存儲(chǔ)服務(wù)器不可用或負(fù)載已滿時(shí),選擇另一存儲(chǔ)節(jié)點(diǎn)查詢存儲(chǔ)服務(wù)器,并調(diào)整該任務(wù)的存儲(chǔ)節(jié)點(diǎn)列表中存儲(chǔ)節(jié)點(diǎn)的順序,例如將該存儲(chǔ)節(jié)點(diǎn)放到列表的尾部,然后從新列表中取出第一個(gè)節(jié)點(diǎn)重新執(zhí)行該任務(wù);所述存儲(chǔ)節(jié)點(diǎn)提供的存儲(chǔ)服務(wù)器可用但從此存儲(chǔ)服務(wù)器下載所述目標(biāo)下拉內(nèi)容失敗時(shí),通知此存儲(chǔ)節(jié)點(diǎn)此存儲(chǔ)服務(wù)器不可用并重新向此存儲(chǔ)節(jié)點(diǎn)查詢存儲(chǔ)服務(wù)器,從而保證存儲(chǔ)節(jié)點(diǎn)返回的存儲(chǔ)服務(wù)器信息中不包含上述不可用的存儲(chǔ)服務(wù)器信息,造成再次獲 取內(nèi)容異常。本方案中提供的服務(wù)節(jié)點(diǎn)包括存儲(chǔ)節(jié)點(diǎn)信息獲取模塊和內(nèi)容下拉模塊。存儲(chǔ)節(jié)點(diǎn)信息獲取模塊,用于從內(nèi)容分發(fā)網(wǎng)絡(luò)控制器獲取目標(biāo)下拉內(nèi)容的信息,向所述內(nèi)容分發(fā)網(wǎng)絡(luò)控制器查詢能夠提供相應(yīng)目標(biāo)下拉內(nèi)容的ー個(gè)或多個(gè)存儲(chǔ)節(jié)點(diǎn);內(nèi)容下拉模塊,用于向所述存儲(chǔ)節(jié)點(diǎn)中的ー個(gè)查詢能夠提供所述待下拉內(nèi)容的存儲(chǔ)服務(wù)器的信息,從所述存儲(chǔ)服務(wù)器下載所述目標(biāo)下拉內(nèi)容。從內(nèi)容分發(fā)網(wǎng)絡(luò)控制器獲取目標(biāo)下拉內(nèi)容的信息包括以下類型類型ー隔第一預(yù)設(shè)時(shí)長從內(nèi)容分發(fā)網(wǎng)絡(luò)控制器查詢到的內(nèi)容分發(fā)網(wǎng)絡(luò)的全網(wǎng)熱度內(nèi)容信息中所述服務(wù)節(jié)點(diǎn)上不存在的內(nèi)容的信息,類型ニ隔第二預(yù)設(shè)時(shí)長從內(nèi)容分發(fā)網(wǎng)絡(luò)控制器查詢到的內(nèi)容分發(fā)網(wǎng)絡(luò)中更新的內(nèi)容的信息,類型三隔第三預(yù)設(shè)時(shí)長統(tǒng)計(jì)所述服務(wù)節(jié)點(diǎn)上產(chǎn)生過點(diǎn)播請(qǐng)求但缺失的內(nèi)容的信息。所述內(nèi)容下拉模塊,還用于構(gòu)建針對(duì)目標(biāo)下拉內(nèi)容的包括此目標(biāo)下拉內(nèi)容和相應(yīng)存儲(chǔ)節(jié)點(diǎn)信息的下拉任務(wù),按類型三、類型ニ、類型ー的優(yōu)先次序?qū)⒛繕?biāo)下拉內(nèi)容相應(yīng)的任務(wù)設(shè)置在待執(zhí)行任務(wù)隊(duì)列中;還用于從所述待執(zhí)行任務(wù)隊(duì)列中提取出ー個(gè)或多個(gè)任務(wù)并行執(zhí)行。所述內(nèi)容下拉模塊,還用于向一存儲(chǔ)節(jié)點(diǎn)查詢能夠提供相應(yīng)待下拉內(nèi)容的存儲(chǔ)服務(wù)器的信息;所述存儲(chǔ)節(jié)點(diǎn)返回的存儲(chǔ)服務(wù)器信息不存在或無效時(shí),將此存儲(chǔ)節(jié)點(diǎn)從此任務(wù)的存儲(chǔ)節(jié)點(diǎn)信息中刪除,并選擇另一存儲(chǔ)節(jié)點(diǎn)查詢存儲(chǔ)服務(wù)器;所述存儲(chǔ)節(jié)點(diǎn)提供的存儲(chǔ)服務(wù)器不可用或負(fù)載已滿時(shí),選擇另一存儲(chǔ)節(jié)點(diǎn)查詢存儲(chǔ)服務(wù)器;所述存儲(chǔ)節(jié)點(diǎn)提供的存儲(chǔ)服務(wù)器可用但從此存儲(chǔ)服務(wù)器下載所述目標(biāo)下拉內(nèi)容失敗時(shí),通知此存儲(chǔ)節(jié)點(diǎn)此存儲(chǔ)服務(wù)器不可用并重新向此存儲(chǔ)節(jié)點(diǎn)查詢存儲(chǔ)服務(wù)器。本方案中提供的存儲(chǔ)節(jié)點(diǎn)在收到服務(wù)節(jié)點(diǎn)發(fā)送的存儲(chǔ)服務(wù)器信息請(qǐng)求消息后,選擇負(fù)載最輕的存儲(chǔ)服務(wù)器并將此存儲(chǔ)服務(wù)器的信息提供至所述服務(wù)節(jié)點(diǎn)。需要說明的是,在不沖突的情況下,本申請(qǐng)中的實(shí)施例及實(shí)施例中的特征可以相互任意組合。當(dāng)然,本發(fā)明還可有其他多種實(shí)施例,在不背離本發(fā)明精神及其實(shí)質(zhì)的情況下,熟悉本領(lǐng)域的技術(shù)人員可根據(jù)本發(fā)明作出各種相應(yīng)的改變和變形,但這些相應(yīng)的改變和變形都應(yīng)屬于本發(fā)明所附的權(quán)利要求的保護(hù)范圍。本領(lǐng)域普通技術(shù)人員可以理解上述方法中的全部或部分步驟可通過程序來指令、相關(guān)硬件完成,所述程序可以存儲(chǔ)于計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)中,如只讀存儲(chǔ)器、磁盤或光盤等??蛇x地,上述實(shí)施例的全部或部分步驟也可以使用ー個(gè)或多個(gè)集成電路來實(shí)現(xiàn)。相應(yīng)地,上述實(shí)施例中的各模塊/単元可以采用硬件的形式實(shí)現(xiàn),也可以采用軟件功能模塊的形式實(shí)現(xiàn)。本發(fā)明不限制于任何特定形式的硬件和軟件的結(jié)合。
權(quán)利要求
1.一種自主下拉式內(nèi)容調(diào)度的方法,其特征在于, 服務(wù)節(jié)點(diǎn)從內(nèi)容分發(fā)網(wǎng)絡(luò)控制器獲取目標(biāo)下拉內(nèi)容的信息,向所述內(nèi)容分發(fā)網(wǎng)絡(luò)控制器查詢能夠提供相應(yīng)目標(biāo)下拉內(nèi)容的一個(gè)或多個(gè)存儲(chǔ)節(jié)點(diǎn),向所述存儲(chǔ)節(jié)點(diǎn)中的一個(gè)查詢能夠提供所述待下拉內(nèi)容的存儲(chǔ)服務(wù)器的信息,從所述存儲(chǔ)服務(wù)器下載所述目標(biāo)下拉內(nèi)容。
2.如權(quán)利要求I所述的方法,其特征在于, 所述服務(wù)節(jié)點(diǎn)從內(nèi)容分發(fā)網(wǎng)絡(luò)控制器獲取目標(biāo)下拉內(nèi)容的信息包括以下類型類型一隔第一預(yù)設(shè)時(shí)長從內(nèi)容分發(fā)網(wǎng)絡(luò)控制器查詢到的內(nèi)容分發(fā)網(wǎng)絡(luò)的全網(wǎng)熱度內(nèi)容信息中所述服務(wù)節(jié)點(diǎn)上不存在的內(nèi)容的信息,類型二隔第二預(yù)設(shè)時(shí)長從內(nèi)容分發(fā)網(wǎng)絡(luò)控制器查詢到的內(nèi)容分發(fā)網(wǎng)絡(luò)中更新的內(nèi)容的信息,類型三隔第三預(yù)設(shè)時(shí)長統(tǒng)計(jì)所述服務(wù)節(jié)點(diǎn)上產(chǎn)生過點(diǎn)播請(qǐng)求但缺失的內(nèi)容的信息。
3.如權(quán)利要求2所述的方法,其特征在于, 所述第一預(yù)設(shè)時(shí)長大于所述第二預(yù)設(shè)時(shí)長,所述第二預(yù)設(shè)時(shí)長大于所述第三預(yù)設(shè)時(shí)長。
4.如權(quán)利要求I、2或3所述的方法,其特征在于, 所述服務(wù)節(jié)點(diǎn)向所述內(nèi)容分發(fā)網(wǎng)絡(luò)控制器查詢到能夠提供目標(biāo)下拉內(nèi)容的存儲(chǔ)節(jié)點(diǎn)后,構(gòu)建針對(duì)此目標(biāo)下拉內(nèi)容的包括此目標(biāo)下拉內(nèi)容和相應(yīng)存儲(chǔ)節(jié)點(diǎn)信息的下拉任務(wù),將此下拉任務(wù)加入到待執(zhí)行任務(wù)隊(duì)列; 所述服務(wù)節(jié)點(diǎn)從所述待執(zhí)行任務(wù)隊(duì)列中提取出一個(gè)或多個(gè)任務(wù)并行執(zhí)行。
5.如權(quán)利要求4所述的方法,其特征在于, 所述服務(wù)節(jié)點(diǎn)將下拉任務(wù)加入到待執(zhí)行任務(wù)隊(duì)列時(shí),按類型三、類型二、類型一的優(yōu)先次序?qū)⒛繕?biāo)下拉內(nèi)容相應(yīng)的任務(wù)設(shè)置在待執(zhí)行任務(wù)隊(duì)列中。
6.如權(quán)利要求I所述的方法,其特征在于, 所述服務(wù)節(jié)點(diǎn)向一存儲(chǔ)節(jié)點(diǎn)查詢能夠提供相應(yīng)待下拉內(nèi)容的存儲(chǔ)服務(wù)器的信息時(shí),所述存儲(chǔ)節(jié)點(diǎn)返回的存儲(chǔ)服務(wù)器信息不存在或無效時(shí),將此存儲(chǔ)節(jié)點(diǎn)從此任務(wù)的存儲(chǔ)節(jié)點(diǎn)信息中刪除,并選擇另一存儲(chǔ)節(jié)點(diǎn)查詢存儲(chǔ)服務(wù)器; 所述存儲(chǔ)節(jié)點(diǎn)提供的存儲(chǔ)服務(wù)器不可用或負(fù)載已滿時(shí),選擇另一存儲(chǔ)節(jié)點(diǎn)查詢存儲(chǔ)服務(wù)器; 所述存儲(chǔ)節(jié)點(diǎn)提供的存儲(chǔ)服務(wù)器可用但從此存儲(chǔ)服務(wù)器下載所述目標(biāo)下拉內(nèi)容失敗時(shí),通知此存儲(chǔ)節(jié)點(diǎn)此存儲(chǔ)服務(wù)器不可用并重新向此存儲(chǔ)節(jié)點(diǎn)查詢存儲(chǔ)服務(wù)器。
7.一種自主下拉式內(nèi)容調(diào)度的服務(wù)節(jié)點(diǎn),其特征在于, 包括存儲(chǔ)節(jié)點(diǎn)信息獲取模塊和內(nèi)容下拉模塊; 所述存儲(chǔ)節(jié)點(diǎn)信息獲取模塊,用于從內(nèi)容分發(fā)網(wǎng)絡(luò)控制器獲取目標(biāo)下拉內(nèi)容的信息,向所述內(nèi)容分發(fā)網(wǎng)絡(luò)控制器查詢能夠提供相應(yīng)目標(biāo)下拉內(nèi)容的一個(gè)或多個(gè)存儲(chǔ)節(jié)點(diǎn); 所述內(nèi)容下拉模塊,用于向所述存儲(chǔ)節(jié)點(diǎn)中的一個(gè)查詢能夠提供所述待下拉內(nèi)容的存儲(chǔ)服務(wù)器的信息,從所述存儲(chǔ)服務(wù)器下載所述目標(biāo)下拉內(nèi)容。
8.如權(quán)利要求7所述的服務(wù)節(jié)點(diǎn),其特征在于, 從內(nèi)容分發(fā)網(wǎng)絡(luò)控制器獲取目標(biāo)下拉內(nèi)容的信息包括以下類型類型一隔第一預(yù)設(shè)時(shí)長從內(nèi)容分發(fā)網(wǎng)絡(luò)控制器查詢到的內(nèi)容分發(fā)網(wǎng)絡(luò)的全網(wǎng)熱度內(nèi)容信息中所述服務(wù)節(jié)點(diǎn)上不存在的內(nèi)容的信息,類型二隔第二預(yù)設(shè)時(shí)長從內(nèi)容分發(fā)網(wǎng)絡(luò)控制器查詢到的內(nèi)容分發(fā)網(wǎng)絡(luò)中更新的內(nèi)容的信息,類型三隔第三預(yù)設(shè)時(shí)長統(tǒng)計(jì)所述服務(wù)節(jié)點(diǎn)上產(chǎn)生過點(diǎn)播請(qǐng)求但缺失的內(nèi)容的信息。
9.如權(quán)利要求7或8所述的服務(wù)節(jié)點(diǎn),其特征在于, 所述內(nèi)容下拉模塊,還用于構(gòu)建針對(duì)目標(biāo)下拉內(nèi)容的包括此目標(biāo)下拉內(nèi)容和相應(yīng)存儲(chǔ)節(jié)點(diǎn)信息的下拉任務(wù),按類型三、類型二、類型一的優(yōu)先次序?qū)⒛繕?biāo)下拉內(nèi)容相應(yīng)的任務(wù)設(shè)置在待執(zhí)行任務(wù)隊(duì)列中;還用于從所述待執(zhí)行任務(wù)隊(duì)列中提取出一個(gè)或多個(gè)任務(wù)并行執(zhí)行。
10.如權(quán)利要求7所述的服務(wù)節(jié)點(diǎn),其特征在于, 所述內(nèi)容下拉模塊,還用于向一存儲(chǔ)節(jié)點(diǎn)查詢能夠提供相應(yīng)待下拉內(nèi)容的存儲(chǔ)服務(wù)器的信息; 所述存儲(chǔ)節(jié)點(diǎn)返回的存儲(chǔ)服務(wù)器信息不存在或無效時(shí),將此存儲(chǔ)節(jié)點(diǎn)從此任務(wù)的存儲(chǔ)節(jié)點(diǎn)信息中刪除,并選擇另一存儲(chǔ)節(jié)點(diǎn)查詢存儲(chǔ)服務(wù)器; 所述存儲(chǔ)節(jié)點(diǎn)提供的存儲(chǔ)服務(wù)器不可用或負(fù)載已滿時(shí),選擇另一存儲(chǔ)節(jié)點(diǎn)查詢存儲(chǔ)服務(wù)器; 所述存儲(chǔ)節(jié)點(diǎn)提供的存儲(chǔ)服務(wù)器可用但從此存儲(chǔ)服務(wù)器下載所述目標(biāo)下拉內(nèi)容失敗時(shí),通知此存儲(chǔ)節(jié)點(diǎn)此存儲(chǔ)服務(wù)器不可用并重新向此存儲(chǔ)節(jié)點(diǎn)查詢存儲(chǔ)服務(wù)器。
全文摘要
本發(fā)明公開了一種自主下拉式內(nèi)容調(diào)度的方法及服務(wù)節(jié)點(diǎn),服務(wù)節(jié)點(diǎn)從內(nèi)容分發(fā)網(wǎng)絡(luò)控制器獲取目標(biāo)下拉內(nèi)容的信息,向所述內(nèi)容分發(fā)網(wǎng)絡(luò)控制器查詢能夠提供相應(yīng)目標(biāo)下拉內(nèi)容的一個(gè)或多個(gè)存儲(chǔ)節(jié)點(diǎn),向所述存儲(chǔ)節(jié)點(diǎn)中的一個(gè)查詢能夠提供所述待下拉內(nèi)容的存儲(chǔ)服務(wù)器的信息,從所述存儲(chǔ)服務(wù)器下載所述目標(biāo)下拉內(nèi)容。本方案把任務(wù)的生成和執(zhí)行完全由多個(gè)服務(wù)節(jié)點(diǎn)實(shí)現(xiàn),減輕了CDN控制器的壓力;任務(wù)執(zhí)行時(shí)如果遇到存儲(chǔ)節(jié)點(diǎn)內(nèi)容異?;蛘逨TP資源耗盡時(shí),可實(shí)現(xiàn)任務(wù)的自修復(fù),重新選擇其他節(jié)點(diǎn)或者本節(jié)點(diǎn)其他的FTP服務(wù)器進(jìn)行內(nèi)容下拉,提高了任務(wù)的成功率和內(nèi)容下推的及時(shí)性。
文檔編號(hào)H04L29/06GK102664892SQ20121012167
公開日2012年9月12日 申請(qǐng)日期2012年4月23日 優(yōu)先權(quán)日2012年4月23日
發(fā)明者李麗彬, 熊勤, 王德超, 王磊 申請(qǐng)人:中興通訊股份有限公司