麻豆精品无码国产在线播放,国产亚洲精品成人AA片新蒲金,国模无码大尺度一区二区三区,神马免费午夜福利剧场

資源離線下載方法及裝置與流程

文檔序號(hào):12556910閱讀:372來(lái)源:國(guó)知局
資源離線下載方法及裝置與流程
本發(fā)明涉及網(wǎng)絡(luò)資源管理領(lǐng)域,尤其是關(guān)于資源離線下載方法及裝置,以進(jìn)行網(wǎng)絡(luò)資源的離線下載管理。

背景技術(shù):
離線下載就是下載工具的服務(wù)器代替用戶先行下載。用戶發(fā)出離線下載命令后,離線下載服務(wù)器就可以在用戶不在線的狀態(tài)下,把用戶需要的資源下載到離線下載服務(wù)器提供的共享存儲(chǔ)空間。然后用戶可以從該共享存儲(chǔ)空間高速地把需要的資源下載到本地。離線下載可以省卻用戶的掛機(jī)等待的時(shí)間,最重要的是能夠騰出網(wǎng)絡(luò)帶寬做其他的事情。離線下載主要有三大優(yōu)勢(shì):1.高速:利用離線下載服務(wù)器的強(qiáng)大帶寬,相比于用戶端網(wǎng)絡(luò)離線下載服務(wù)器能夠更快的將資源/文件下載到用戶端的云端存儲(chǔ)(云端存儲(chǔ)的各個(gè)用戶可以上傳文件到該云端存儲(chǔ)或利用離線下載將資源保存到該云端存儲(chǔ),等等)。下載完成后,用戶可以把資源/文件從該云端存儲(chǔ)高速穩(wěn)定的下載到你的機(jī)器上(即根據(jù)用戶的需求隨時(shí)將資源、文件等同步至用戶本地)。由于離線下載服務(wù)器帶寬遠(yuǎn)大于用戶端的網(wǎng)絡(luò),離線下載服務(wù)器能夠提供高速下載速度。2.穩(wěn)定:離線下載服務(wù)器可以為用戶提供穩(wěn)定的下載速度。而如果用戶直接下載時(shí),受限于網(wǎng)絡(luò)環(huán)境的影響,如,A運(yùn)營(yíng)商下屬的用戶從B運(yùn)營(yíng)商處下載資源,則下載速度可能處于一個(gè)波動(dòng)的狀態(tài),不可預(yù)期。而離線下載能夠提供穩(wěn)定的速度。3.省時(shí):離線下載服務(wù)器可以節(jié)省掛機(jī)時(shí)間,提供高速的下載,使下載時(shí)間利用率更高?,F(xiàn)有的離線下載技術(shù)方案,如圖1所示為現(xiàn)有技術(shù)中離線下載服務(wù)器的工作原理圖,用戶向Linux虛擬服務(wù)器(LVS)11發(fā)出離線下載指令,Linux虛擬服務(wù)器11中的負(fù)載調(diào)度器將用戶的下載請(qǐng)求發(fā)送到一組離線下載服務(wù)器12-1,12-2,12-3,從中選擇一個(gè)離線下載服務(wù)器執(zhí)行離線下載任務(wù)。LVS采用IP負(fù)載均衡技術(shù)和基于內(nèi)容請(qǐng)求分發(fā)技術(shù),使用多個(gè)離線下載服務(wù)器分別下載用戶所需的資源。負(fù)載調(diào)度器具有很好的吞吐率,可以將請(qǐng)求均衡地轉(zhuǎn)移到不同的離線下載服務(wù)器上執(zhí)行,且負(fù)載調(diào)度器可以自動(dòng)屏蔽掉離線下載服務(wù)器的故障,從而將一組離線下載服務(wù)器構(gòu)成一個(gè)高性能的、高可用的虛擬服務(wù)器集群。整個(gè)服務(wù)器集群的結(jié)構(gòu)對(duì)客戶是透明的,而且無(wú)需修改客戶端和服務(wù)器端的程序。由于資源存在的網(wǎng)絡(luò)環(huán)境(網(wǎng)絡(luò)運(yùn)營(yíng)商)具有不確定性,可能在網(wǎng)通網(wǎng)絡(luò)環(huán)境下,也可能在電信網(wǎng)絡(luò)環(huán)境下。完全使用雙線的離線下載服務(wù)器成本又過(guò)高,而使用固定的離線下載服務(wù)器就有可能導(dǎo)致跨運(yùn)營(yíng)商下載資源,例如使用網(wǎng)通的離線下載服務(wù)器下載電信網(wǎng)絡(luò)環(huán)境的資源,速度就會(huì)很慢,影響離線下載服務(wù)的質(zhì)量。普通的LVS調(diào)度策略是只要離線下載服務(wù)器沒(méi)有停止工作,就會(huì)向其發(fā)送任務(wù),無(wú)法實(shí)時(shí)的根據(jù)離線下載服務(wù)器的各項(xiàng)負(fù)載情況進(jìn)行調(diào)度。所以,此方案只適合于離線下載服務(wù)器負(fù)載無(wú)壓力的場(chǎng)景。并且,由于相同的統(tǒng)一資源定位符(URL)對(duì)應(yīng)的資源中大部分都是重復(fù)的,而且現(xiàn)有的離線下載服務(wù)器不能判斷同一URL對(duì)應(yīng)的資源是否發(fā)生變化(如不對(duì)URL的網(wǎng)絡(luò)資源做消重處理),會(huì)導(dǎo)致重復(fù)下載,進(jìn)而造成很多額外的開銷。

技術(shù)實(shí)現(xiàn)要素:
針對(duì)上述現(xiàn)有技術(shù)的缺陷,本發(fā)明的技術(shù)方案主要解決的技術(shù)問(wèn)題是提供一種資源離線下載方法及裝置,根據(jù)資源的網(wǎng)絡(luò)屬性來(lái)分配離線下載任務(wù),以解決現(xiàn)有技術(shù)存在的跨網(wǎng)絡(luò)環(huán)境資源下載和重復(fù)資源下載而引起的離線下載服務(wù)器下載效率低的問(wèn)題。依本發(fā)明的一個(gè)方面,提供了一種資源離線下載方法,其包括:根據(jù)需要離線下載的資源的網(wǎng)絡(luò)屬性確定資源所歸屬的網(wǎng)絡(luò)運(yùn)營(yíng)商;根據(jù)設(shè)定的任務(wù)調(diào)控策略,從網(wǎng)絡(luò)運(yùn)營(yíng)商的離線下載服務(wù)器集群中選擇離線下載服務(wù)器,該離線下載服務(wù)器用于對(duì)資源進(jìn)行離線下載;將該資源的離線下載任務(wù)分配給所選擇的離線下載服務(wù)器以進(jìn)行離線下載。其中,根據(jù)需要離線下載的資源的網(wǎng)絡(luò)屬性確定所述資源所歸屬的網(wǎng)絡(luò)運(yùn)營(yíng)商包括:獲取與所述資源的統(tǒng)一資源定位符URL對(duì)應(yīng)的域名信息,并解析出與所述域名信息對(duì)應(yīng)的IP地址;根據(jù)與所述域名信息對(duì)應(yīng)的IP地址查詢數(shù)據(jù)庫(kù)以獲取與所述IP地址對(duì)應(yīng)的網(wǎng)絡(luò)運(yùn)營(yíng)商并將其確定為所述資源所歸屬的網(wǎng)絡(luò)運(yùn)營(yíng)商,所述數(shù)據(jù)庫(kù)存儲(chǔ)有網(wǎng)絡(luò)運(yùn)營(yíng)商及其IP地址。其中,任務(wù)調(diào)控策略為將所述資源的離線下載任務(wù)分配給當(dāng)前負(fù)載權(quán)值最小的離線下載服務(wù)器。其中,負(fù)載權(quán)值為:k1*cpu使用量+k2*磁盤余量+k3*內(nèi)存余量+k4*帶寬資源,該k1為cpu使用量對(duì)應(yīng)的權(quán)值,k2為磁盤余量對(duì)應(yīng)的權(quán)值,k3為內(nèi)存余量對(duì)應(yīng)的權(quán)值,所述k4為帶寬資源對(duì)應(yīng)的權(quán)值。其中,根據(jù)需要離線下載的資源的網(wǎng)絡(luò)屬性確定所述資源所歸屬的網(wǎng)絡(luò)運(yùn)營(yíng)商之前,還包括:獲取所述需要離線下載的資源的消重特征,所述消重特征是指所述資源的身份標(biāo)識(shí)且其根據(jù)所述資源的URL、大小和內(nèi)容片段生成;判斷所述需要離線下載的資源的消重特征是否與全局消重表中存儲(chǔ)的已經(jīng)離線下載的資源的消重特征相同,以及所述需要離線下載的資源和所述已經(jīng)離線下載的資源之間的時(shí)間間隔是否小于設(shè)定時(shí)間值,所述全局消重表存儲(chǔ)有已經(jīng)離線下載的資源的消重特征;如果消重特征相同且時(shí)間間隔小于設(shè)定時(shí)間值,則不下載所述需要離線下載的資源;否則,建立所述需要離線下載的資源的離線下載任務(wù)。其中,所述消重特征通過(guò)下列步驟生成:提取所述資源的頭100k內(nèi)容、中間隨機(jī)位置100k內(nèi)容、尾部100k內(nèi)容作為資源的內(nèi)容片段;將所述資源的URL、資源大小與所述內(nèi)容片段拼接成字符串;對(duì)所述字符串進(jìn)行MD5計(jì)算以得到所述消重特征。依本發(fā)明的一個(gè)方面,提供了一種資源離線下載裝置,其包括:網(wǎng)絡(luò)運(yùn)營(yíng)商確定模塊,適于根據(jù)需要離線下載的資源的網(wǎng)絡(luò)屬性確定所述資源所歸屬的網(wǎng)絡(luò)運(yùn)營(yíng)商;離線下載服務(wù)器選擇模塊,適于根據(jù)設(shè)定的任務(wù)調(diào)控策略,從所述網(wǎng)絡(luò)運(yùn)營(yíng)商的離線下載服務(wù)器集群中選擇離線下載服務(wù)器,其中,所述離線下載服務(wù)器用于對(duì)資源進(jìn)行離線下載;任務(wù)執(zhí)行模塊,適于將所述資源的離線下載任務(wù)分配給所選擇的離線下載服務(wù)器以進(jìn)行離線下載。其中,所述網(wǎng)絡(luò)運(yùn)營(yíng)商確定模塊包括:第一獲取模塊,適于獲取與所述資源的統(tǒng)一資源定位符URL對(duì)應(yīng)的域名信息,并解析出與所述域名信息對(duì)應(yīng)的IP地址;第二獲取模塊,適于根據(jù)與所述域名信息對(duì)應(yīng)的IP地址查詢數(shù)據(jù)庫(kù)以獲取與所述IP地址對(duì)應(yīng)的網(wǎng)絡(luò)運(yùn)營(yíng)商并將其確定為所述資源所歸屬的網(wǎng)絡(luò)運(yùn)營(yíng)商,所述數(shù)據(jù)庫(kù)存儲(chǔ)有網(wǎng)絡(luò)運(yùn)營(yíng)商及其IP地址。其中,所述任務(wù)調(diào)控策略為將所述資源的離線下載任務(wù)分配給當(dāng)前負(fù)載權(quán)值最小的離線下載服務(wù)器。其中,負(fù)載權(quán)值為:k1*cpu使用量+k2*磁盤余量+k3*內(nèi)存余量+k4*帶寬資源,該k1為cpu使用量對(duì)應(yīng)的權(quán)值,k2為磁盤余量對(duì)應(yīng)的權(quán)值,k3為內(nèi)存余量對(duì)應(yīng)的權(quán)值,k4為帶寬資源對(duì)應(yīng)的權(quán)值。其中,消重處理模塊,適于獲取所述需要離線下載的資源的消重特征,所述消重特征指所述資源的身份標(biāo)識(shí)且其根據(jù)所述資源的URL、大小和內(nèi)容片段生成;判斷所述需要離線下載的資源的消重特征是否與全局消重表中存儲(chǔ)的已經(jīng)離線下載的資源的消重特征相同,以及所述需要離線下載的資源和所述已經(jīng)離線下載的資源之間的時(shí)間間隔是否小于設(shè)定時(shí)間值,所述全局消重表存儲(chǔ)有已經(jīng)離線下載的資源的消重特征;如果消重特征相同且時(shí)間間隔小于設(shè)定時(shí)間值,則不下載所述需要離線下載的資源;否則,建立所述需要離線下載的資源的離線下載任務(wù)。其中,該裝置還包括消重特征生成模塊,其包括:提取單元,適于提取所述資源的頭100k內(nèi)容、中間隨機(jī)位置100k內(nèi)容、尾部100k內(nèi)容作為資源的內(nèi)容片段;拼接單元,適于將所述資源的URL、資源大小與所述內(nèi)容片段拼接成字符串;計(jì)算單元,適于對(duì)所述字符串進(jìn)行MD5計(jì)算。由本發(fā)明的解決方案,具有以下有益效果:本發(fā)明通過(guò)分析離線下載資源的網(wǎng)絡(luò)屬性并確定資源歸屬的網(wǎng)絡(luò)運(yùn)營(yíng)商,并根據(jù)任務(wù)調(diào)控策略,將任務(wù)分配到不同網(wǎng)絡(luò)屬性集群中的離線下載服務(wù)器進(jìn)行處理,避免了跨運(yùn)行商下載速度慢的缺陷,顯著提高了離線下載速度、降低離線下載服務(wù)器壓力,提高了服務(wù)器處理能力。并且,任務(wù)調(diào)控策略依據(jù)負(fù)載調(diào)控技術(shù),將任務(wù)發(fā)送到負(fù)載最小的機(jī)器上處理,從而達(dá)到了資源的最大利用率。本發(fā)明還基于資源特征的消重策略,對(duì)同一網(wǎng)絡(luò)地址ur1的資源進(jìn)行消重,即一個(gè)ur1被下載保存到服務(wù)器后則其他相同的ur1的請(qǐng)求將會(huì)直接成功,不必再重新下載保存一次,避免了相同資源的重復(fù)下載,降低了服務(wù)器壓力,提高了服務(wù)器有效響應(yīng)能力。附圖說(shuō)明為了更清楚地說(shuō)明本發(fā)明實(shí)施例的技術(shù)方案,下面將對(duì)實(shí)施例描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖:圖1為現(xiàn)有技術(shù)中離線下載服務(wù)器的工作原理圖;圖2為依據(jù)本發(fā)明一個(gè)實(shí)施例的資源離線下載方法的流程圖;圖3為依據(jù)本發(fā)明一個(gè)實(shí)施例的資源離線下載方法的流程圖;圖4為依據(jù)本發(fā)明一個(gè)實(shí)施例的資源離線下載裝置的結(jié)構(gòu)示意圖;圖5為依據(jù)本發(fā)明一個(gè)實(shí)施例的資源離線下載裝置的結(jié)構(gòu)示意圖;圖6為依據(jù)本發(fā)明一個(gè)實(shí)施例的資源離線下載裝置的結(jié)構(gòu)示意圖。具體實(shí)施方式下面將參照附圖更詳細(xì)地描述本發(fā)明的示例性實(shí)施例。雖然附圖中顯示了本發(fā)明的示例性實(shí)施例,然而應(yīng)當(dāng)理解,可以以各種形式實(shí)現(xiàn)本發(fā)明而不應(yīng)被這里闡述的實(shí)施例所限制。相反,提供這些實(shí)施例是為了能夠更透徹地理解本發(fā)明,并且能夠?qū)⒈景l(fā)明的范圍完整的傳達(dá)給本領(lǐng)域的技術(shù)人員。圖2為依據(jù)本發(fā)明一個(gè)實(shí)施例的資源離線下載方法的流程圖,其包括:步驟21:根據(jù)需要離線下載的資源的網(wǎng)絡(luò)屬性確定所述資源所歸屬的網(wǎng)絡(luò)運(yùn)營(yíng)商;步驟22:根據(jù)設(shè)定的任務(wù)調(diào)控策略,從所述網(wǎng)絡(luò)運(yùn)營(yíng)商的離線下載服務(wù)器集群中選擇離線下載服務(wù)器,其中,所述離線下載服務(wù)器用于對(duì)資源進(jìn)行離線下載;步驟23:將所述資源的離線下載任務(wù)分配給所選擇的離線下載服務(wù)器以進(jìn)行離線下載。由此可知,依據(jù)此實(shí)施例的技術(shù)方案進(jìn)行資源離線下載時(shí),首先根據(jù)需要離線下載的資源的網(wǎng)絡(luò)屬性確定其所歸屬的網(wǎng)絡(luò)運(yùn)營(yíng)商,也就是確定要離線下載的資源屬于哪個(gè)網(wǎng)絡(luò)運(yùn)營(yíng)商。在確定好網(wǎng)絡(luò)運(yùn)營(yíng)商之后,根據(jù)設(shè)定的任務(wù)調(diào)控策略,從所確定的網(wǎng)絡(luò)運(yùn)營(yíng)商的離線下載服務(wù)器集群中選擇離線下載服務(wù)器。選擇好離線下載服務(wù)器之后,就可以將該資源的離線下載任務(wù)分配給該離線下載服務(wù)器,由該離線下載服務(wù)器對(duì)該資源進(jìn)行離線下載。由于本方案中所確定的網(wǎng)絡(luò)運(yùn)營(yíng)商正是需要離線下載的資源所歸屬的網(wǎng)絡(luò)運(yùn)營(yíng)商,所以避免了跨網(wǎng)絡(luò)運(yùn)營(yíng)商進(jìn)行下載的問(wèn)題。而且,從資源所歸屬的網(wǎng)絡(luò)運(yùn)行商下載該資源可以顯著提高離線下載的速度,降低離線下載服務(wù)器的壓力。依據(jù)本發(fā)明的一個(gè)實(shí)施例,根據(jù)需要離線下載的資源的網(wǎng)絡(luò)屬性確定所述資源所歸屬的網(wǎng)絡(luò)運(yùn)營(yíng)商可以進(jìn)一步包括:獲取與所述資源的統(tǒng)一資源定位符URL對(duì)應(yīng)的域名信息,并解析出與所述域名信息對(duì)應(yīng)的IP地址;根據(jù)與所述域名信息對(duì)應(yīng)的IP地址查詢數(shù)據(jù)庫(kù)以獲取與所述IP地址對(duì)應(yīng)的網(wǎng)絡(luò)運(yùn)營(yíng)商并將其確定為所述資源所歸屬的網(wǎng)絡(luò)運(yùn)營(yíng)商,所述數(shù)據(jù)庫(kù)存儲(chǔ)有網(wǎng)絡(luò)運(yùn)營(yíng)商及其IP地址。在本實(shí)施例中,是根據(jù)資源的URL獲取與該URL對(duì)應(yīng)的域名信息,根據(jù)域名信息可以解析出與該域名信息對(duì)應(yīng)的IP地址。由于在數(shù)據(jù)庫(kù)中存儲(chǔ)有網(wǎng)絡(luò)運(yùn)營(yíng)商及其IP地址的信息,因此,根據(jù)IP地址就可以在數(shù)據(jù)庫(kù)中查找到與該IP地址對(duì)應(yīng)的網(wǎng)絡(luò)運(yùn)營(yíng)商,從而可以得到該資源所對(duì)應(yīng)的網(wǎng)絡(luò)運(yùn)營(yíng)商。當(dāng)然,對(duì)于網(wǎng)絡(luò)運(yùn)營(yíng)商的確定還可以采用本領(lǐng)域現(xiàn)在已知或者將來(lái)已知的任何方式。對(duì)于任務(wù)調(diào)控策略而言,也就是如何對(duì)離線下載任務(wù)進(jìn)行分配,分配給哪個(gè)離線下載服務(wù)器。依據(jù)本發(fā)明的一個(gè)實(shí)施例,任務(wù)調(diào)控策略是將所述資源的離線下載任務(wù)分配給當(dāng)前負(fù)載權(quán)值最小的離線下載服務(wù)器。其中,所述負(fù)載權(quán)值可以采用下列公式來(lái)計(jì)算:負(fù)載權(quán)值=k1*cpu使用量+k2*磁盤余量+k3*內(nèi)存余量+k4*帶寬資源,其中,k1為cpu使用量對(duì)應(yīng)的權(quán)值,k2為磁盤余量對(duì)應(yīng)的權(quán)值,k3為內(nèi)存余量對(duì)應(yīng)的權(quán)值,k4為帶寬資源對(duì)應(yīng)的權(quán)值。依據(jù)本發(fā)明的一個(gè)實(shí)施例,在所述根據(jù)需要離線下載的資源的網(wǎng)絡(luò)屬性確定所述資源所歸屬的網(wǎng)絡(luò)運(yùn)營(yíng)商之前,該實(shí)施例還包括:獲取所述需要離線下載的資源的消重特征,所述消重特征是指所述資源的身份標(biāo)識(shí)且其根據(jù)所述資源的URL、大小和內(nèi)容片段生成;判斷所述需要離線下載的資源的消重特征是否與全局消重表中存儲(chǔ)的已經(jīng)離線下載的資源的消重特征相同,以及所述需要離線下載的資源和所述已經(jīng)離線下載的資源之間的時(shí)間間隔是否小于設(shè)定時(shí)間值,所述全局消重表存儲(chǔ)有已經(jīng)離線下載的資源的消重特征;如果消重特征相同且時(shí)間間隔小于設(shè)定時(shí)間值,則不下載所述需要離線下載的資源;否則,建立所述需要離線下載的資源的離線下載任務(wù)。簡(jiǎn)言之,該實(shí)施例是對(duì)需要離線下載的資源進(jìn)行消重處理,避免重復(fù)下載的問(wèn)題。消重處理涉及全局消重和局部消重兩方面。全局消重:對(duì)所有用戶可見,可以避免下載其他用戶已經(jīng)下載過(guò)的資源(即用以確定請(qǐng)求下載的資源是否已經(jīng)被下載而避免重復(fù)下載增加服務(wù)器壓力)。具體而言,如果一個(gè)資源已被某個(gè)人下載完,則該資源的消重特征可以記錄到一個(gè)全局可見的表,如全局消重表,之后所有其他人在下載資源時(shí),都可以使用所要下載的資源的消重特征去查詢?cè)撊挚梢姷谋?如,全局消重表),若發(fā)現(xiàn)資源已存在,則不必重復(fù)下載。其中,消重特征可以指該資源的身份標(biāo)識(shí)??梢哉J(rèn)為,消重特征相同的多個(gè)資源,其內(nèi)容是相同的。可以在未獲取資源全部?jī)?nèi)容時(shí),查看本地是否具有相同的資源。例如本地保存了文件A,并且文件比較大,這時(shí)又要從網(wǎng)絡(luò)下載一個(gè)文件資源,但是不知道是否就是文件A,如果把文件全部下載下來(lái)才發(fā)現(xiàn)和本地文件A相同,這樣就消耗了較大的資源。通過(guò)比對(duì)資源的消重特征,就不必下載完該文件資源的所有內(nèi)容,就能夠知道本地是否存在相同文件,從而能夠防止重復(fù)下載。具體而言,全局消重表是一個(gè)key-value結(jié)構(gòu)。其中,key即消重特征,可以包括資源地址(URL),資源大小與資源特征(如資源內(nèi)容片段)。而value值固定為1,用于表示此key在全局消重表中存在,且該資源已經(jīng)被下載并存在。當(dāng)用戶提交一個(gè)離線下載任務(wù)(用戶提交的任務(wù)可以用離線下載請(qǐng)求來(lái)體現(xiàn))時(shí),會(huì)由該任務(wù)對(duì)應(yīng)的資源的資源地址,資源大小與資源特征拼接成一個(gè)字符串,以此字符串做為key,并在全局消重表中查找與該key匹配的資源是否存在,如果存在,則進(jìn)行消重,即不真實(shí)下載用戶所需的資源,直接提示用戶下載成功,并使用之前已經(jīng)離線下載的與該資源相同的資源來(lái)滿足用戶的需求;如果不存在,則全局消重失敗(或者說(shuō)無(wú)需全局消重),這時(shí)可以真實(shí)下載用戶所需的資源,并在下載完成時(shí),基于該下載的資源更新全局消重表,在全局消重表中添加該資源的消重特征,后續(xù)若需要離線下載與該消重特征相匹配的資源時(shí)則無(wú)需真實(shí)下載。消重特征在資源實(shí)際下載完成后才添加到全局消重表,這樣保證了一個(gè)用戶對(duì)一個(gè)資源的下載任務(wù),不受另一個(gè)用戶對(duì)該同一個(gè)資源的下載任務(wù)的失敗的影響。例如:第一用戶在下載一資源時(shí),就將消重特征放入全局消重表,第二用戶也請(qǐng)求下載該同一資源則會(huì)因?yàn)樵谌窒乇碇幸呀?jīng)存在該資源,不為第二用戶真實(shí)下載(第二用戶本地獲取)。一旦第一用戶下載失敗,則第二用戶必然會(huì)下載失敗。例如,根據(jù)用戶請(qǐng)求的一個(gè)用戶下載資源A的離線下載任務(wù),根據(jù)該離線下載任務(wù)獲取該資源A的URL、大小和內(nèi)容片段,并根據(jù)該資源A的URL、大小和內(nèi)容片段生成消重特征key(字符串),基于該消重特征key在全局消重表中查詢與該key相匹配的資源,如,查詢與該key相同的key’,若在全局消重表中查詢到該key’,則表示資源A已經(jīng)被下載過(guò),無(wú)需再次下載資源A,若未查詢到該key’,則表示資源A未被下載過(guò),則需要下載資源A,以供用戶使用。局部消重:只對(duì)個(gè)人可見,可以避免個(gè)人反復(fù)提交任務(wù)造成重復(fù)下載。在有全局消重的情況下,還需要局部消重的原因是只有在該資源的下載任務(wù)成功完成后,才會(huì)將相應(yīng)的信息(消重特征)存在于全局消重表中,即一資源被完全下載完成之后,該資源的消重特征才會(huì)被添加到全局消重表中。所以,在文件未下載完成之前,一旦同一用戶反復(fù)提交一個(gè)相同的URL地址,用以下載相同的資源(即反復(fù)提交多個(gè)相同的請(qǐng)求同一個(gè)資源的下載任務(wù)),如果沒(méi)有局部消重,也會(huì)導(dǎo)致資源被多次下載,加大服務(wù)器壓力影響下載效率。局部消重不使用資源的消重特征進(jìn)行消重,而是直接使用URL地址進(jìn)行消重,如果同一用戶提交相同的URL地址,則進(jìn)行消重。一種方式,可以在進(jìn)行全局消重之前進(jìn)行局部消重。具體而言,可以預(yù)先為每個(gè)用戶分配一個(gè)唯一用戶標(biāo)識(shí),利用用戶標(biāo)識(shí)和資源地址(URL)來(lái)限定一個(gè)用戶的下載任務(wù),并根據(jù)用戶標(biāo)識(shí)和資源地址查找該用戶是否具有相同的下載任務(wù),也即是說(shuō),可以在接收用戶離線下載任務(wù)的服務(wù)器(如,任務(wù)服務(wù)器)中查詢用戶任務(wù)表,使用該用戶標(biāo)識(shí)和資源的URL作為關(guān)鍵字,在用戶任務(wù)表中查找該用戶是否已經(jīng)提交了相同的下載任務(wù),如果找到(即,對(duì)于該用戶存在相同的任務(wù)),表示該用戶對(duì)此資源的下載任務(wù)已經(jīng)存在,則返回任務(wù)存在信息給用戶,否則(即該任務(wù)不存在)再進(jìn)行全局消重。例如,第一用戶和第二用戶同時(shí)離線下載www.t.com/test.doc資源,這時(shí)第一用戶和第二用戶都有一個(gè)對(duì)應(yīng)此該資源的下載任務(wù),在下載任務(wù)未完成之前,即(資源被離線下載到離線服務(wù)器之前),全局消重表中不會(huì)有此資源的消重特征,當(dāng)然,這樣第二用戶的下載任務(wù)失敗不會(huì)影響第一用戶對(duì)此資源的下載。沒(méi)有局部消重時(shí),若第一用戶多次提交下載該資源的下載任務(wù),那么在用戶任務(wù)表中會(huì)出現(xiàn)多個(gè)相同的對(duì)應(yīng)于該用戶的下載任務(wù),第一用戶多次的提交此下載任務(wù),就會(huì)造成第一用戶在用戶任務(wù)表中有很多請(qǐng)求相同資源的任務(wù)。而一旦進(jìn)行局部消重,則可以避免同一用戶多次下載同一資源的問(wèn)題,防止增加服務(wù)器壓力。另一種方式,也可以在全局消重之后,執(zhí)行局部消重。對(duì)于消重特征的生成,依據(jù)本發(fā)明的一個(gè)實(shí)施例,可以包括:提取所述資源的頭100k內(nèi)容、中間隨機(jī)位置100k內(nèi)容、尾部100k內(nèi)容作為資源的內(nèi)容片段;將所述資源的URL、資源大小與所述內(nèi)容片段拼接成字符串;對(duì)所述字符串進(jìn)行MD5計(jì)算以得到所述消重特征。例如:URL為www.t.com/test.doc,可以獲取該URL對(duì)應(yīng)的資源大小5000,資源頭部aaa...(100k字節(jié)數(shù)據(jù))、中間bbb...(100k字節(jié)數(shù)據(jù))及尾部ccc(100k字節(jié)數(shù)據(jù))對(duì)應(yīng)的三個(gè)資源片段,則消重特征為MD5為:“www.t.com/test.doc5000aaa...bbb...ccc...”。圖3是依據(jù)本發(fā)明的一個(gè)實(shí)施例的資源離線下載方法的流程圖。在此實(shí)施例中,進(jìn)一步會(huì)包括對(duì)下載請(qǐng)求進(jìn)行消重處理等,該消重處理包括全局消重和局部消重。其中請(qǐng)求下載的資源可以是請(qǐng)求下載的網(wǎng)絡(luò)資源,或者說(shuō)網(wǎng)絡(luò)上能下載的內(nèi)容,諸如:游戲、軟件、音樂(lè)、文本等等。在該實(shí)施例中,首先,根據(jù)來(lái)自用戶的下載請(qǐng)求,對(duì)要下載的資源進(jìn)行解析驗(yàn)證,從而確定歸屬的網(wǎng)絡(luò)運(yùn)營(yíng)商,而在最后確定之前還采用消重處理,避免相同資源的重復(fù)下載以降低服務(wù)器壓力、提高服務(wù)器響應(yīng)能力。步驟S001,接收用戶發(fā)送的離線下載請(qǐng)求。步驟S002,對(duì)要下載的資源進(jìn)行URL解析和驗(yàn)證,獲取所述資源的統(tǒng)一資源定位符URL對(duì)應(yīng)的域名信息,通過(guò)域名系統(tǒng)DNS解析出所述域名信息對(duì)應(yīng)的IP地址,并發(fā)出驗(yàn)證請(qǐng)求(如驗(yàn)證是否有該IP、是否該IP正確等)。如果步驟S002中的該驗(yàn)證失敗,則發(fā)出驗(yàn)證失敗消息,通知用戶,如步驟S004。如果步驟S002中的驗(yàn)證通過(guò),則返回所述資源文件名,資源大小以及目標(biāo)域名,并進(jìn)入下一步,即步驟S003。在步驟S003處,可以對(duì)用戶進(jìn)行驗(yàn)證,如用戶身份的驗(yàn)證等,如果用戶驗(yàn)證失敗,則發(fā)出驗(yàn)證失敗消息,通知用戶,如到步驟S004。如果用戶驗(yàn)證通過(guò),則可以對(duì)URL進(jìn)行全局消重和局部消重(在一個(gè)實(shí)施例中,對(duì)URL可以先進(jìn)行全局消重再進(jìn)行局部消重),進(jìn)一步地,若用戶驗(yàn)證通過(guò),則進(jìn)入步驟S005。步驟S005,判斷是否對(duì)URL進(jìn)行全局消重。如果判斷為“是”,意味所述URL的網(wǎng)絡(luò)資源已經(jīng)被其他用戶下載過(guò)即已經(jīng)存在,則取消下載請(qǐng)求,如步驟S011。如果不需要進(jìn)行全局消重,即判斷為“否”,則進(jìn)入到步驟S006。步驟S006,判斷是否需要進(jìn)行局部消重。如果判斷需要局部消重(該用戶提交重復(fù)的請(qǐng)求),即“是”,則進(jìn)入步驟S011,取消下載請(qǐng)求,并通知用戶任務(wù)已經(jīng)進(jìn)行中。如果判斷所述的URL不需要進(jìn)行局部消重(當(dāng)然也不需要全局消重),即步驟S006的判斷也為“否”,則對(duì)于該下載請(qǐng)求,任務(wù)服務(wù)器創(chuàng)建任務(wù),如步驟S007。創(chuàng)建任務(wù)的初始狀態(tài)為“任務(wù)排隊(duì)中”。步驟S007創(chuàng)建的任務(wù),將發(fā)送到相應(yīng)的離線下載服務(wù)器集群去,即找到資源歸屬的網(wǎng)絡(luò)運(yùn)營(yíng)商。如步驟S008,就是去確定離線下載服務(wù)器集群(資源歸屬的網(wǎng)絡(luò)運(yùn)營(yíng)商)。各網(wǎng)絡(luò)運(yùn)營(yíng)商及其對(duì)應(yīng)的IP地址可以預(yù)先存儲(chǔ)到數(shù)據(jù)庫(kù)中(如IP庫(kù))。而在前述步驟S002,對(duì)下載請(qǐng)求進(jìn)行所述資源的統(tǒng)一資源定位符URL解析所獲得的該URL對(duì)應(yīng)的域名信息DNS、并進(jìn)而通過(guò)對(duì)該DNS解析得到的該DNS對(duì)應(yīng)的IP地址。則在步驟S008,能根據(jù)所述域名信息DNS對(duì)應(yīng)的該IP地址查詢所述數(shù)據(jù)庫(kù)預(yù)先存儲(chǔ)的信息(IP與對(duì)應(yīng)的運(yùn)營(yíng)商),獲取與所述IP地址對(duì)應(yīng)的網(wǎng)絡(luò)運(yùn)營(yíng)商,將該網(wǎng)絡(luò)運(yùn)營(yíng)商確定為所述資源所歸屬的網(wǎng)絡(luò)運(yùn)營(yíng)商(比如網(wǎng)通,電信,教育網(wǎng),移動(dòng)等等),進(jìn)而獲取該網(wǎng)絡(luò)運(yùn)營(yíng)商對(duì)應(yīng)的離線下載服務(wù)器集群號(hào),并確定離線下載服務(wù)器集群中的一個(gè)離線下載服務(wù)器執(zhí)行下載任務(wù)。具體而言,可以預(yù)先設(shè)置一個(gè)離線下載服務(wù)器集群與網(wǎng)絡(luò)運(yùn)營(yíng)商的對(duì)應(yīng)表。例如,電信對(duì)應(yīng)3,5號(hào)離線下載服務(wù)器集群,網(wǎng)通對(duì)應(yīng)2,4號(hào)離線下載服務(wù)器集群,當(dāng)資源的網(wǎng)絡(luò)屬性為電信時(shí),從電信對(duì)應(yīng)的離線下載服務(wù)器集群號(hào)中可以隨機(jī)選出一個(gè)離線下載服務(wù)器執(zhí)行離線下載任務(wù),也可以按照一定的規(guī)則(如,最小負(fù)載等)選擇一個(gè)離線下載服務(wù)器。在根據(jù)需要離線下載的資源的網(wǎng)絡(luò)屬性來(lái)確定所述資源所歸屬的網(wǎng)絡(luò)運(yùn)營(yíng)商之前,還可以獲取已經(jīng)離線下載的資源的消重特征,將所述已經(jīng)離線下載的資源的消重特征存儲(chǔ)在全局消重表中。這樣,在步驟S005中,獲取所述用戶請(qǐng)求的、需要離線下載的資源的消重特征,進(jìn)行是否進(jìn)行全局消重的判斷時(shí),判斷所述需要離線下載的資源的消重特征是否和所述全局消重表中存儲(chǔ)的已經(jīng)離線下載的資源的消重特征相同,當(dāng)然,還可以同時(shí)在此判斷所述需要離線下載的資源和所述已經(jīng)離線下載的資源之間的時(shí)間間隔是否小于設(shè)定的時(shí)間值(時(shí)間值將在下面描述的消重特征的時(shí)效性進(jìn)行說(shuō)明)。如果判斷為“是”,則取消下載所述需要離線下載的資源的請(qǐng)求即步驟S011。否則,建立所述需要離線下載的資源的離線下載任務(wù)即步驟S007。利用該全局資源消重的處理(稱為全局消重策略),避免重復(fù)下載對(duì)服務(wù)器造成的壓力,其主要利用前述的消重特征實(shí)現(xiàn)。消重特征可以根據(jù)所述資源的URL、大小和內(nèi)容片段生成。比如:可以提取資源的頭100k內(nèi)容,中間隨機(jī)位置100k內(nèi)容,尾部100k內(nèi)容作為資源內(nèi)容的片段,結(jié)合資源URL以及資源大小拼接成一個(gè)字符串,再將該字符串生成一個(gè)MD5特征值。舉一個(gè)例子:用戶需要下載的資源所對(duì)應(yīng)的URL為www.t.com/test.doc,可以獲取該URL對(duì)應(yīng)的資源大小,資源頭部、中間及尾部對(duì)應(yīng)的三個(gè)資源片段,如,資源大小為5000,片段頭部:aaa...(100k字節(jié)數(shù)據(jù)),中間:bbb...(100k字節(jié)數(shù)據(jù)),尾部:ccc(100k字節(jié)數(shù)據(jù)),則消重特征為md5(“www.t.com/test.doc5000aaa...bbb...ccc...”),進(jìn)一步地,可以通過(guò)http的header請(qǐng)求獲取URL對(duì)應(yīng)的資源大小,可以通過(guò)http的range協(xié)議獲取資源的部分內(nèi)容。當(dāng)MD5特征值已經(jīng)存在于全局消重表中,則對(duì)其進(jìn)行全局消重而不必再重復(fù)下載。在對(duì)資源進(jìn)行消重時(shí),可以只對(duì)屬于類型白名單中的資源類型的資源進(jìn)行消重。進(jìn)一步地,資源類型可以是被請(qǐng)求資源的文件類型。該文件類型還可以根據(jù)擴(kuò)展名判斷,例如,圖片類型,擴(kuò)展名可以為.jpg,gif等。處于類型白名單中的資源類型,可以是很少被修改的資源的類型,比如圖片、視頻、軟件程序等。在一個(gè)實(shí)施例中,消重特征可以有時(shí)效性,例如其有效期可以設(shè)為一周(此處僅舉例說(shuō)明,并非對(duì)本發(fā)明進(jìn)行限制),過(guò)期后,消重的資源需要重新下載。對(duì)于消重特征的有效性,可以通過(guò)全局消重表來(lái)實(shí)現(xiàn),具體而言,當(dāng)獲取了已經(jīng)離線下載的資源的消重特征,就可將所述已經(jīng)離線下載的資源的消重特征存儲(chǔ)在全局消重表中,并對(duì)全局消重表進(jìn)行更新,當(dāng)消重特征過(guò)期后,可以釋放全局消重表中的該消重特征。而在前述在步驟S005進(jìn)行全局消重的判斷時(shí),除了對(duì)消重特征進(jìn)行對(duì)比判斷,若還同時(shí)判斷所述需要離線下載的資源和所述已經(jīng)離線下載的資源之間的時(shí)間間隔是否小于設(shè)定的時(shí)間值,該時(shí)間值即有效周期,就能更快、更有效地確定,是否需要做全局消重的處理。步驟S009,可以基于所述離線下載服務(wù)器集群中離線下載服務(wù)器的負(fù)載進(jìn)行動(dòng)態(tài)任務(wù)調(diào)控,并選擇所指定的離線下載服務(wù)器,即能確定分配該任務(wù)的離線下載服務(wù)器。在通過(guò)步驟S009選擇集群中的離線下載服務(wù)器時(shí),可以將離線下載異步消息發(fā)送到對(duì)應(yīng)的離線下載服務(wù)器集群,進(jìn)而,離線下載任務(wù)可以進(jìn)入相應(yīng)的任務(wù)隊(duì)列,等待任務(wù)的執(zhí)行。動(dòng)態(tài)任務(wù)調(diào)控以確定要將任務(wù)分配給集群中的哪個(gè)離線下載服務(wù)器,例如:任務(wù)可以被提交到如圖4所示的某一離線下載服務(wù)器集群44或45后,離線下載服務(wù)器集群44或45中的任務(wù)調(diào)度器(未圖示出)會(huì)將任務(wù)分配到當(dāng)前負(fù)載權(quán)值最小的線上機(jī)器上去處理。負(fù)載權(quán)值的計(jì)算公式為:負(fù)載權(quán)值=k1*cpu使用量+k2*磁盤余量+k3*內(nèi)存余量+k4*帶寬資源做加權(quán)運(yùn)算;其中K為各項(xiàng)計(jì)算機(jī)資源所占權(quán)值,離線下載服務(wù)主要依賴磁盤資源,所以采用的權(quán)值可以為k2=5;k1=k3=k4=1。離線下載任務(wù)被分配給所述指定的離線下載服務(wù)器后,由該離線下載服務(wù)器(如其離線下載工作進(jìn)程worker)執(zhí)行離線下載。具體而言,離線下載任務(wù)首先進(jìn)入任務(wù)隊(duì)列等待階段,離線下載服務(wù)器的離線下載工作進(jìn)程worker依次獲得任務(wù)隊(duì)列中的任務(wù),進(jìn)而可以根據(jù)獲得的任務(wù),通知相應(yīng)的用戶集群(如,通知發(fā)送離線下載請(qǐng)求的用戶),并修改任務(wù)狀態(tài)為“下載中”。步驟S010,離線下載的任務(wù)分配到了上述步驟S009確定的離線下載服務(wù)器之后,所述指定的離線下載服務(wù)器接收到分配過(guò)來(lái)的任務(wù),則開始執(zhí)行離線下載任務(wù)。此后,如果下載成功則將下載的內(nèi)容(如“圖片”等)保存到數(shù)據(jù)庫(kù)中(如非關(guān)系型數(shù)據(jù)庫(kù)cassandra),保存成功后,將下載結(jié)果參數(shù)設(shè)置為“成功”并發(fā)送離線下載反饋異步消息到對(duì)應(yīng)的用戶集群,并修改頁(yè)面元信息(meta信息),可以更新任務(wù)狀態(tài)為“下載完成”;而如果下載失敗或者保存失敗,則將下載結(jié)果參數(shù)設(shè)置為“失敗”并記錄失敗原因后發(fā)送離線下載反饋異步消息到對(duì)應(yīng)的用戶集群,并修改頁(yè)面元信息(meta信息),可以更新任務(wù)狀態(tài)為“下載失敗”。圖4為本發(fā)明一具體實(shí)施方式的資源離線下載裝置的結(jié)構(gòu)圖。圖4的裝置中包括任務(wù)服務(wù)器41、消息服務(wù)器42、全局消重裝置43、離線下載服務(wù)器集群44、45,以及離線下載服務(wù)器集群44、45中的任務(wù)調(diào)度器(未示出)、離線下載服務(wù)器(未示出)、離線下載服務(wù)器中的Storm分布式計(jì)算平臺(tái)(未示出)、云存儲(chǔ)(未示出)等。任務(wù)服務(wù)器41可以根據(jù)需要離線下載的資源的網(wǎng)絡(luò)屬性,確定所述資源所歸屬的網(wǎng)絡(luò)運(yùn)營(yíng)商。其接收用戶的請(qǐng)求,查詢?nèi)窒乇碛靡耘袛嗍欠襁M(jìn)行全局消重,如果資源未消重則會(huì)向消息服務(wù)器42發(fā)送一條下載消息,消息內(nèi)容可以包括資源URL地址、步驟S008確定的目標(biāo)離線下載服務(wù)器集群號(hào)等。該任務(wù)服務(wù)器41主要用來(lái)處理用戶請(qǐng)求,解析資源URL,獲得任務(wù)信息和離線下載服務(wù)器集群號(hào),以便確定離線下載集群。具體而言,任務(wù)服務(wù)器41先會(huì)將各種網(wǎng)絡(luò)運(yùn)營(yíng)商和各網(wǎng)絡(luò)運(yùn)營(yíng)商分別對(duì)應(yīng)的IP地址進(jìn)行關(guān)聯(lián)存儲(chǔ)。該任務(wù)服務(wù)器41首先解析出資源URL對(duì)應(yīng)的域名信息、并通過(guò)DNS解析獲得域名對(duì)應(yīng)的IP信息。而后能利用該IP信息在IP信息庫(kù)中查詢對(duì)應(yīng)的網(wǎng)絡(luò)運(yùn)營(yíng)商(網(wǎng)通、電信、教育網(wǎng)、移動(dòng)等)。并且計(jì)算出具有相同運(yùn)營(yíng)商的離線下載集群號(hào)。該任務(wù)服務(wù)器41可執(zhí)行圖3中步驟S001-S003中的操作,接收到用戶發(fā)送的下載請(qǐng)求、URL解析和驗(yàn)證、用戶驗(yàn)證,其中,任一驗(yàn)證未通過(guò)則表明驗(yàn)證失敗,如步驟S004的操作。當(dāng)驗(yàn)證都通過(guò)時(shí),那么判斷是否進(jìn)行URL消重,如步驟S005、S006的操作,當(dāng)確定資源可以消重則執(zhí)行步驟S011,即取消下載請(qǐng)求,對(duì)該資源不進(jìn)行下載,則利用該系統(tǒng)中的全局消重表43進(jìn)行消重操作(消重策略如上述介紹的全局資源消重策略)。而若不需要消重,即步驟S005、S006都為否時(shí),則創(chuàng)建離線下載資源的任務(wù),如步驟S007,并將該離線下載資源的任務(wù)發(fā)到系統(tǒng)中的消息服務(wù)器42。全局消重裝置43,執(zhí)行全局資源消重策略,如上述圖3描述的方法所述。在根據(jù)需要離線下載的資源的網(wǎng)絡(luò)屬性來(lái)確定所述資源所歸屬的網(wǎng)絡(luò)運(yùn)營(yíng)商之前,還可以獲取已經(jīng)離線下載的資源的消重特征,將所述已經(jīng)離線下載的資源的消重特征存儲(chǔ)在全局消重表中。還可以獲取所述需要離線下載的資源的消重特征。判斷所述需要離線下載的資源的消重特征是否和所述全局消重表中存儲(chǔ)的已經(jīng)離線下載的資源的消重特征相同,并且判斷所述需要離線下載的資源和所述已經(jīng)離線下載的資源之間的時(shí)間間隔是否小于設(shè)定的時(shí)間值,如果是,則不下載所述需要離線下載的資源即步驟S011。否則,建立所述需要離線下載的資源的離線下載任務(wù)即步驟S007。其中,所述資源的消重特征根據(jù)所述資源的URL、大小和內(nèi)容片段而生成。并且在后面下載完后可以根據(jù)獲取的下載后的資源的消重特征來(lái)更新該全局消重表。全局消重表可以位于該全局消重裝置43中,由該消重裝置執(zhí)行上述全局資源消重策略及相應(yīng)的實(shí)施步驟。該消息服務(wù)器42,可以接收來(lái)自所述任務(wù)服務(wù)器的信息、離線下載任務(wù)并處理相應(yīng)的信息,以及發(fā)送所述信息、離線下載任務(wù)以及所述信息到相應(yīng)的離線下載服務(wù)器集群。也就是將接收的各種消息、信息和各個(gè)任務(wù)分發(fā)到相應(yīng)的離線下載服務(wù)器集群(如按集群號(hào)分發(fā)),實(shí)現(xiàn)轉(zhuǎn)發(fā)消息的操作,其接收來(lái)自任務(wù)服務(wù)器41的消息、再將其發(fā)送到正確的目的地,如轉(zhuǎn)發(fā)到目標(biāo)離線下載集群。圖4中示出了兩個(gè)離線下載服務(wù)器集群(例如網(wǎng)通對(duì)應(yīng)的離線下載服務(wù)器集群44和電信對(duì)應(yīng)的離線下載服務(wù)器集群45),本領(lǐng)域技術(shù)人員應(yīng)該可以推斷出,本發(fā)明離線下載服務(wù)器集群的數(shù)據(jù)可以不限于此,即離線下載服務(wù)器集群可以包含多個(gè)離線下載服務(wù)器,進(jìn)一步地,每個(gè)離線下載服務(wù)器可以包括Storm平臺(tái)、云存儲(chǔ),該Storm平臺(tái)可以用于下載目標(biāo)資源,云存儲(chǔ)可以用于存儲(chǔ)資源信息。離線下載服務(wù)器集群44、45,根據(jù)設(shè)定的任務(wù)調(diào)控策略,從所述確定的網(wǎng)絡(luò)運(yùn)營(yíng)商的離線下載服務(wù)器集群中,選擇離線下載服務(wù)器,并將所述資源的離線下載任務(wù)分配給所述離線下載服務(wù)器。其中,消息服務(wù)器42根據(jù)離線下載服務(wù)器集群號(hào)將創(chuàng)建的任務(wù)發(fā)送至相應(yīng)的離線下載服務(wù)器集群,如步驟S008的操作。各離線下載服務(wù)器集群中的每一個(gè)離線下載服務(wù)器還可以包括一個(gè)Storm分布式計(jì)算平臺(tái)(未示出)。Storm分布式計(jì)算平臺(tái)是分布式的、容錯(cuò)的實(shí)時(shí)計(jì)算系統(tǒng)。為分布式實(shí)時(shí)計(jì)算提供了一組通用原語(yǔ),可被用于“流處理”之中,實(shí)時(shí)處理消息并更新數(shù)據(jù)庫(kù)。Storm也可被用于“連續(xù)計(jì)算”(continuouscomputation),對(duì)數(shù)據(jù)流做連續(xù)查詢,在計(jì)算時(shí)就將結(jié)果以流的形式輸出給用戶。云存儲(chǔ)可以存儲(chǔ)離線下載的網(wǎng)絡(luò)資源,用戶可以通過(guò)訪問(wèn)云存儲(chǔ)空間訪問(wèn)離線下載的網(wǎng)絡(luò)資源。任務(wù)調(diào)控策略包括一個(gè)或多個(gè)任務(wù)調(diào)度策略,離線下載服務(wù)器集群根據(jù)所述一個(gè)或多個(gè)任務(wù)調(diào)度策略,將所述資源的離線下載任務(wù)分配給到當(dāng)前負(fù)載最小的離線下載服務(wù)器。離線下載服務(wù)器集群中,具有任務(wù)調(diào)度器,其在所述網(wǎng)絡(luò)運(yùn)營(yíng)商的離線下載服務(wù)器集群中設(shè)置進(jìn)行離線下載任務(wù)分配。具體而言,所述資源的離線下載任務(wù)被發(fā)送給所述任務(wù)調(diào)度器,該任務(wù)調(diào)度器,根據(jù)所述任務(wù)調(diào)度策略,計(jì)算各個(gè)離線下載服務(wù)器的負(fù)載權(quán)值,將當(dāng)前負(fù)載權(quán)值最小的離線下載服務(wù)器指定為所述任務(wù)的離線下載服務(wù)器。將分配到該離線下載集群中的離線下載任務(wù)分配給任務(wù)調(diào)度器。該任務(wù)調(diào)度器根據(jù)該集群中的各個(gè)離線下載服務(wù)器的資源使用情況,再將任務(wù)分配到當(dāng)前負(fù)載權(quán)值最小的線上機(jī)器(離線下載服務(wù)器)上處理,以便如步驟S010執(zhí)行下載任務(wù)。負(fù)載權(quán)值的計(jì)算公式為:負(fù)載權(quán)值=k1*cpu使用量+k2*磁盤余量+k3*內(nèi)存余量+k4*帶寬資源做加權(quán)運(yùn)算;其中K為各項(xiàng)計(jì)算機(jī)資源所占權(quán)值,離線下載服務(wù)主要依賴磁盤資源,所以采用的權(quán)值可以為k2=5;k1=k3=k4=1。圖5為依據(jù)本發(fā)明一實(shí)施例的資源離線下載裝置的結(jié)構(gòu)圖。該裝置可以包括網(wǎng)絡(luò)運(yùn)營(yíng)商確定模塊51,用于根據(jù)需要離線下載的資源的網(wǎng)絡(luò)屬性確定所述資源所歸屬的網(wǎng)絡(luò)運(yùn)營(yíng)商;離線下載服務(wù)器選擇模塊52,用于根據(jù)設(shè)定的任務(wù)調(diào)控策略,從所述網(wǎng)絡(luò)運(yùn)營(yíng)商的離線下載服務(wù)器集群中選擇指定的離線下載服務(wù)器;任務(wù)執(zhí)行模塊53,用于將所述資源的離線下載任務(wù)分配給所選擇的離線下載服務(wù)器以進(jìn)行離線下載。上述模塊是對(duì)應(yīng)于圖2、3所示方法的處理步驟的功能模塊。進(jìn)一步地,網(wǎng)絡(luò)運(yùn)營(yíng)商確定模塊51可以將各種網(wǎng)絡(luò)運(yùn)營(yíng)商和各種網(wǎng)絡(luò)運(yùn)營(yíng)商分別對(duì)應(yīng)的IP地址進(jìn)行關(guān)聯(lián)存儲(chǔ),獲取所述資源的統(tǒng)一資源定位符URL對(duì)應(yīng)的域名信息,通過(guò)域名系統(tǒng)DNS解析出所述域名信息對(duì)應(yīng)的IP地址(第一獲取模塊);根據(jù)所述域名信息對(duì)應(yīng)的IP地址查詢所述關(guān)聯(lián)存儲(chǔ)的信息,獲取所述域名信息對(duì)應(yīng)的IP地址對(duì)應(yīng)的網(wǎng)絡(luò)運(yùn)營(yíng)商,將該網(wǎng)絡(luò)運(yùn)營(yíng)商確定為所述資源所歸屬的網(wǎng)絡(luò)運(yùn)營(yíng)商(第二獲取模塊)。網(wǎng)絡(luò)運(yùn)營(yíng)商確定模塊51包括第一、第二獲取模塊(未示出)。離線下載服務(wù)器選擇模塊52可以根據(jù)一個(gè)或多個(gè)任務(wù)調(diào)度策略,將所述資源的離線下載任務(wù)分配給到當(dāng)前負(fù)載最小的離線下載服務(wù)器,即選擇離線下載服務(wù)器集群中當(dāng)前負(fù)載最小的離線下載服務(wù)器。進(jìn)一步地,可以用于在所述網(wǎng)絡(luò)運(yùn)營(yíng)商的離線下載服務(wù)器集群中設(shè)置進(jìn)行離線下載任務(wù)分配的任務(wù)調(diào)度器(如圖4中提到的Storm分布式計(jì)算平臺(tái)中的調(diào)度器),將所述資源的離線下載任務(wù)分配給所述任務(wù)調(diào)度器,通過(guò)所述任務(wù)調(diào)度器,根據(jù)所述網(wǎng)絡(luò)運(yùn)營(yíng)商的離線下載服務(wù)器集群中的各個(gè)離線下載服務(wù)器的資源使用情況,計(jì)算得到各個(gè)離線下載服務(wù)器的負(fù)載權(quán)值,通過(guò)所述任務(wù)調(diào)度器將負(fù)載權(quán)值最小的離線下載服務(wù)器確定為所述指定的離線下載服務(wù)器。離線下載服務(wù)器選擇模塊52,具體用于通過(guò)所述任務(wù)調(diào)度器計(jì)算各個(gè)離線下載服務(wù)器的負(fù)載權(quán)值的公式如下:負(fù)載權(quán)值=k1*cpu使用量+k2*磁盤余量+k3*內(nèi)存余量+k4*帶寬資源;所述k1為cpu使用量對(duì)應(yīng)的權(quán)值,所述k2為磁盤余量對(duì)應(yīng)的權(quán)值,所述k3為內(nèi)存余量對(duì)應(yīng)的權(quán)值,所述k4為帶寬資源對(duì)應(yīng)的權(quán)值。圖6是依據(jù)本發(fā)明的一個(gè)實(shí)施例的資源離線下載裝置的結(jié)構(gòu)圖。在該裝置中可以包括消重處理的模塊61、網(wǎng)絡(luò)運(yùn)營(yíng)商確定模塊62、離線下載服務(wù)器選擇模塊63、任務(wù)執(zhí)行模塊64。各個(gè)模塊也是對(duì)應(yīng)圖2、3所示方法的執(zhí)行步驟的功能模塊。如圖6所示。此裝置可以對(duì)應(yīng)上述方法中關(guān)于消重處理策略的功能及實(shí)施。其包括:消重處理模塊61,可以用于獲取將要離線下載的資源的消重特征,并判斷所述離線下載的資源是否需要進(jìn)行消重(在進(jìn)行網(wǎng)絡(luò)運(yùn)營(yíng)商確定之前,即網(wǎng)絡(luò)運(yùn)營(yíng)商確定模塊62的處理之前進(jìn)行處理的模塊)。網(wǎng)絡(luò)運(yùn)營(yíng)商確定模塊62,可以用于根據(jù)需要離線下載的資源的網(wǎng)絡(luò)屬性確定所述資源所歸屬的網(wǎng)絡(luò)運(yùn)營(yíng)商。離線下載服務(wù)器選擇模塊63,用于根據(jù)設(shè)定的任務(wù)調(diào)控策略,從所述網(wǎng)絡(luò)運(yùn)營(yíng)商的離線下載服務(wù)器集群中選擇指定的離線下載服務(wù)器。任務(wù)執(zhí)行模塊64,用于將所述資源的離線下載任務(wù)分配給所選擇的離線下載服務(wù)器以進(jìn)行離線下載。進(jìn)一步,消重處理模塊61將所述已經(jīng)離線下載的資源的消重特征存儲(chǔ)在全局消重表中,所述資源的消重特征可以根據(jù)所述資源的URL、大小和內(nèi)容片段而生成。消重處理模塊61獲取所述需要離線下載的資源的消重特征;并判斷所述需要離線下載的資源的消重特征是否和所述全局消重表中存儲(chǔ)的已經(jīng)離線下載的資源的消重特征相同,并且所述需要離線下載的資源和所述已經(jīng)離線下載的資源之間的時(shí)間間隔小于設(shè)定的時(shí)間值,如果是,則不下載所述需要離線下載的資源;否則,建立所述需要離線下載的資源的離線下載任務(wù)。進(jìn)一步,全局消重表中的消重特征可以是提取所述資源的頭部100k內(nèi)容,中間隨機(jī)位置100k內(nèi)容,尾部100k內(nèi)容作為資源的內(nèi)容片段,將所述資源的URL、資源大小與資源內(nèi)容片段拼接成一個(gè)字符串,對(duì)所述字符串做消息摘要算法第五版(MD5)計(jì)算得到。該全局資源消重策略,依賴于上述完整的查重規(guī)則,保證消重的ur1對(duì)應(yīng)的資源是一致的或不一致的概率在可容忍的范圍內(nèi)。在此提供的算法和顯示不與任何特定計(jì)算機(jī)、虛擬系統(tǒng)或者其它設(shè)備固有相關(guān)。各種通用系統(tǒng)也可以與基于在此的示教一起使用。根據(jù)上面的描述,構(gòu)造這類系統(tǒng)所要求的結(jié)構(gòu)是顯而易見的。此外,本發(fā)明也不針對(duì)任何特定編程語(yǔ)言。應(yīng)當(dāng)明白,可以利用各種編程語(yǔ)言實(shí)現(xiàn)在此描述的本發(fā)明的內(nèi)容,并且上面對(duì)特定語(yǔ)言所做的描述是為了披露本發(fā)明的最佳實(shí)施方式。在此處所提供的說(shuō)明書中,說(shuō)明了大量具體細(xì)節(jié)。然而,能夠理解,本發(fā)明的實(shí)施例可以在沒(méi)有這些具體細(xì)節(jié)的情況下實(shí)踐。在一些實(shí)例中,并未詳細(xì)示出公知的方法、結(jié)構(gòu)和技術(shù),以便不模糊對(duì)本說(shuō)明書的理解。類似地,應(yīng)當(dāng)理解,為了精簡(jiǎn)本公開并幫助理解各個(gè)發(fā)明方面中的一個(gè)或多個(gè),在上面對(duì)本發(fā)明的示例性實(shí)施例的描述中,本發(fā)明的各個(gè)特征有時(shí)被一起分組到單個(gè)實(shí)施例、圖、或者對(duì)其的描述中。然而,并不應(yīng)將該公開的方法解釋成反映如下意圖:即所要求保護(hù)的本發(fā)明要求比在每個(gè)權(quán)利要求中所明確記載的特征更多的特征。更確切地說(shuō),如下面的權(quán)利要求書所反映的那樣,發(fā)明方面在于少于前面公開的單個(gè)實(shí)施例的所有特征。因此,遵循具體實(shí)施方式的權(quán)利要求書由此明確地并入該具體實(shí)施方式,其中每個(gè)權(quán)利要求本身都作為本發(fā)明的單獨(dú)實(shí)施例。本領(lǐng)域那些技術(shù)人員可以理解,可以對(duì)實(shí)施例中的設(shè)備中的模塊進(jìn)行自適應(yīng)性地改變并且把它們?cè)O(shè)置在與該實(shí)施例不同的一個(gè)或多個(gè)設(shè)備中??梢园褜?shí)施例中的模塊或單元或組件組合成一個(gè)模塊或單元或組件,以及此外可以把它們分成多個(gè)子模塊或子單元或子組件。除了這樣的特征和/或過(guò)程或者單元中的至少一些是相互排斥之外,可以采用任何組合對(duì)本說(shuō)明書(包括伴隨的權(quán)利要求、摘要和附圖)中公開的所有特征以及如此公開的任何方法或者設(shè)備的所有過(guò)程或單元進(jìn)行組合。除非另外明確陳述,本說(shuō)明書(包括伴隨的權(quán)利要求、摘要和附圖)中公開的每個(gè)特征可以由提供相同、等同或相似目的的替代特征來(lái)代替。此外,本領(lǐng)域的技術(shù)人員能夠理解,盡管在此所述的一些實(shí)施例包括其它實(shí)施例中所包括的某些特征而不是其它特征,但是不同實(shí)施例的特征的組合意味著處于本發(fā)明的范圍之內(nèi)并且形成不同的實(shí)施例。例如,在下面的權(quán)利要求書中,所要求保護(hù)的實(shí)施例的任意之一都可以以任意的組合方式來(lái)使用。本發(fā)明的各個(gè)部件實(shí)施例可以以硬件實(shí)現(xiàn),或者以在一個(gè)或者多個(gè)處理器上運(yùn)行的軟件模塊實(shí)現(xiàn),或者以它們的組合實(shí)現(xiàn)。本領(lǐng)域的技術(shù)人員應(yīng)當(dāng)理解,可以在實(shí)踐中使用微處理器或者數(shù)字信號(hào)處理器(DSP)來(lái)實(shí)現(xiàn)根據(jù)本發(fā)明實(shí)施例的設(shè)備中的一些或者全部部件的一些或者全部功能。本發(fā)明還可以實(shí)現(xiàn)為用于執(zhí)行這里所描述的方法的一部分或者全部的設(shè)備或者裝置程序(例如,計(jì)算機(jī)程序和計(jì)算機(jī)程序產(chǎn)品)。這樣的實(shí)現(xiàn)本發(fā)明的程序可以存儲(chǔ)在計(jì)算機(jī)可讀介質(zhì)上,或者可以具有一個(gè)或者多個(gè)信號(hào)的形式。這樣的信號(hào)可以從因特網(wǎng)網(wǎng)站上下載得到,或者在載體信號(hào)上提供,或者以任何其他形式提供。應(yīng)該注意的是上述實(shí)施例對(duì)本發(fā)明進(jìn)行說(shuō)明而不是對(duì)本發(fā)明進(jìn)行限制,并且本領(lǐng)域技術(shù)人員在不脫離所附權(quán)利要求的范圍的情況下可設(shè)計(jì)出替換實(shí)施例。在權(quán)利要求中,不應(yīng)將位于括號(hào)之間的任何參考符號(hào)構(gòu)造成對(duì)權(quán)利要求的限制。單詞“包含”不排除存在未列在權(quán)利要求中的元件或步驟。位于元件之前的單詞“一”或“一個(gè)”不排除存在多個(gè)這樣的元件。本發(fā)明可以借助于包括有若干不同元件的硬件以及借助于適當(dāng)編程的計(jì)算機(jī)來(lái)實(shí)現(xiàn)。在列舉了若干裝置的單元權(quán)利要求中,這些裝置中的若干個(gè)可以是通過(guò)同一個(gè)硬件項(xiàng)來(lái)具體體現(xiàn)。單詞第一、第二、以及第三等的使用不表示任何順序??蓪⑦@些單詞解釋為名稱。本發(fā)明公開了A1、一種資源離線下載方法,其包括:根據(jù)需要離線下載的資源的網(wǎng)絡(luò)屬性確定所述資源所歸屬的網(wǎng)絡(luò)運(yùn)營(yíng)商;根據(jù)設(shè)定的任務(wù)調(diào)控策略,從所述網(wǎng)絡(luò)運(yùn)營(yíng)商的離線下載服務(wù)器集群中選擇離線下載服務(wù)器,其中,所述離線下載服務(wù)器用于對(duì)資源進(jìn)行離線下載;將所述資源的離線下載任務(wù)分配給所選擇的離線下載服務(wù)器以進(jìn)行離線下載。A2、如A1所述的方法,其中,所述根據(jù)需要離線下載的資源的網(wǎng)絡(luò)屬性確定所述資源所歸屬的網(wǎng)絡(luò)運(yùn)營(yíng)商,進(jìn)一步包括:獲取與所述資源的統(tǒng)一資源定位符URL對(duì)應(yīng)的域名信息,并解析出與所述域名信息對(duì)應(yīng)的IP地址;根據(jù)與所述域名信息對(duì)應(yīng)的IP地址查詢數(shù)據(jù)庫(kù)以獲取與所述IP地址對(duì)應(yīng)的網(wǎng)絡(luò)運(yùn)營(yíng)商并將其確定為所述資源所歸屬的網(wǎng)絡(luò)運(yùn)營(yíng)商,所述數(shù)據(jù)庫(kù)存儲(chǔ)有網(wǎng)絡(luò)運(yùn)營(yíng)商及其IP地址。A3、如A1或A2所述的方法,其中,所述任務(wù)調(diào)控策略為將所述資源的離線下載任務(wù)分配給當(dāng)前負(fù)載權(quán)值最小的離線下載服務(wù)器。A4、如A3所述的方法,其中,所述負(fù)載權(quán)值為:k1*cpu使用量+k2*磁盤余量+k3*內(nèi)存余量+k4*帶寬資源,其中,所述k1為cpu使用量對(duì)應(yīng)的權(quán)值,所述k2為磁盤余量對(duì)應(yīng)的權(quán)值,所述k3為內(nèi)存余量對(duì)應(yīng)的權(quán)值,所述k4為帶寬資源對(duì)應(yīng)的權(quán)值。A5、如A1至A4任一項(xiàng)所述的方法,其中,在所述根據(jù)需要離線下載的資源的網(wǎng)絡(luò)屬性確定所述資源所歸屬的網(wǎng)絡(luò)運(yùn)營(yíng)商之前,還包括:獲取所述需要離線下載的資源的消重特征,所述消重特征是指所述資源的身份標(biāo)識(shí)且其根據(jù)所述資源的URL、大小和內(nèi)容片段生成;判斷所述需要離線下載的資源的消重特征是否與全局消重表中存儲(chǔ)的已經(jīng)離線下載的資源的消重特征相同,以及所述需要離線下載的資源和所述已經(jīng)離線下載的資源之間的時(shí)間間隔是否小于設(shè)定時(shí)間值,所述全局消重表存儲(chǔ)有已經(jīng)離線下載的資源的消重特征;如果消重特征相同且時(shí)間間隔小于設(shè)定時(shí)間值,則不下載所述需要離線下載的資源;否則,建立所述需要離線下載的資源的離線下載任務(wù)。A6、如A5所述的方法,其中,所述消重特征通過(guò)下列步驟生成:提取所述資源的頭100k內(nèi)容、中間隨機(jī)位置100k內(nèi)容、尾部100k內(nèi)容作為資源的內(nèi)容片段;將所述資源的URL、資源大小與所述內(nèi)容片段拼接成字符串;對(duì)所述字符串進(jìn)行MD5計(jì)算以得到所述消重特征。本發(fā)明還公開了B7、一種資源離線下載裝置,其包括:網(wǎng)絡(luò)運(yùn)營(yíng)商確定模塊,適于根據(jù)需要離線下載的資源的網(wǎng)絡(luò)屬性確定所述資源所歸屬的網(wǎng)絡(luò)運(yùn)營(yíng)商;離線下載服務(wù)器選擇模塊,適于根據(jù)設(shè)定的任務(wù)調(diào)控策略,從所述網(wǎng)絡(luò)運(yùn)營(yíng)商的離線下載服務(wù)器集群中選擇離線下載服務(wù)器,其中,所述離線下載服務(wù)器用于對(duì)資源進(jìn)行離線下載;任務(wù)執(zhí)行模塊,適于將所述資源的離線下載任務(wù)分配給所選擇的離線下載服務(wù)器以進(jìn)行離線下載。B8、如B7所述裝置,其中,所述網(wǎng)絡(luò)運(yùn)營(yíng)商確定模塊進(jìn)一步包括:第一獲取模塊,適于獲取與所述資源的統(tǒng)一資源定位符URL對(duì)應(yīng)的域名信息,并解析出與所述域名信息對(duì)應(yīng)的IP地址;第二獲取模塊,適于根據(jù)與所述域名信息對(duì)應(yīng)的IP地址查詢數(shù)據(jù)庫(kù)以獲取與所述IP地址對(duì)應(yīng)的網(wǎng)絡(luò)運(yùn)營(yíng)商并將其確定為所述資源所歸屬的網(wǎng)絡(luò)運(yùn)營(yíng)商,所述數(shù)據(jù)庫(kù)存儲(chǔ)有網(wǎng)絡(luò)運(yùn)營(yíng)商及其IP地址。B9、如B7或B8所述的裝置,其中,所述任務(wù)調(diào)控策略為將所述資源的離線下載任務(wù)分配給當(dāng)前負(fù)載權(quán)值最小的離線下載服務(wù)器。B10、如B9所述的裝置,其中,所述負(fù)載權(quán)值為:k1*cpu使用量+k2*磁盤余量+k3*內(nèi)存余量+k4*帶寬資源,其中,所述k1為cpu使用量對(duì)應(yīng)的權(quán)值,所述k2為磁盤余量對(duì)應(yīng)的權(quán)值,所述k3為內(nèi)存余量對(duì)應(yīng)的權(quán)值,所述k4為帶寬資源對(duì)應(yīng)的權(quán)值。B11、如B7至B10任一項(xiàng)所述的裝置,其中,還包括:消重處理模塊,適于:獲取所述需要離線下載的資源的消重特征,所述消重特征指所述資源的身份標(biāo)識(shí)且其根據(jù)所述資源的URL、大小和內(nèi)容片段生成;判斷所述需要離線下載的資源的消重特征是否與全局消重表中存儲(chǔ)的已經(jīng)離線下載的資源的消重特征相同,以及所述需要離線下載的資源和所述已經(jīng)離線下載的資源之間的時(shí)間間隔是否小于設(shè)定時(shí)間值,所述全局消重表存儲(chǔ)有已經(jīng)離線下載的資源的消重特征;如果消重特征相同且時(shí)間間隔小于設(shè)定時(shí)間值,則不下載所述需要離線下載的資源;否則,建立所述需要離線下載的資源的離線下載任務(wù)。B12、如B11所述的裝置,還包括消重特征生成模塊,其包括:提取單元,適于提取所述資源的頭100k內(nèi)容、中間隨機(jī)位置100k內(nèi)容、尾部100k內(nèi)容作為資源的內(nèi)容片段;拼接單元,適于將所述資源的URL、資源大小與所述內(nèi)容片段拼接成字符串;計(jì)算單元,適于對(duì)所述字符串進(jìn)行MD5計(jì)算。
當(dāng)前第1頁(yè)1 2 3 
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
主站蜘蛛池模板: 喜德县| 蒙山县| 盐山县| 会宁县| 宜昌市| 阜阳市| 阿拉善左旗| 全州县| 沈阳市| 绵阳市| 鄂尔多斯市| 迭部县| 海安县| 绥宁县| 通渭县| 武乡县| 义马市| 泸西县| 台南县| 苏州市| 郯城县| 曲麻莱县| 南京市| 宜都市| 西峡县| 化州市| 澄江县| 涞水县| 永修县| 崇阳县| 九寨沟县| 乐业县| 雷波县| 云梦县| 文昌市| 从江县| 临夏县| 桂林市| 古丈县| 卢氏县| 南通市|