專利名稱:用于提供文件下載地址的管理設(shè)備及方法
技術(shù)領(lǐng)域:
本發(fā)明涉及數(shù)據(jù)下載技術(shù)領(lǐng)域,具體涉及一種用于提供文件下載地址的管理設(shè)備及方法。
背景技術(shù):
現(xiàn)有⑶N (Content Delivery Network,內(nèi)容分發(fā)網(wǎng)絡(luò))通過(guò)將數(shù)據(jù)分發(fā)到各個(gè)邊緣節(jié)點(diǎn),拉近與客戶端的距離來(lái)提高數(shù)據(jù)訪問(wèn)速度。其基本思路是盡可能避開(kāi)互聯(lián)網(wǎng)上有可能影響數(shù)據(jù)傳輸速度和穩(wěn)定性的瓶頸和環(huán)節(jié),使內(nèi)容傳輸?shù)母臁⒏€(wěn)定。CDN系統(tǒng)能夠?qū)崟r(shí)地根據(jù)網(wǎng)絡(luò)流量和各節(jié)點(diǎn)的連接、負(fù)載狀況以及到用戶的距離和響應(yīng)時(shí)間等綜合信息將用戶的請(qǐng)求重新導(dǎo)向離用戶最近的服務(wù)節(jié)點(diǎn)上。但是,由于現(xiàn)有的每個(gè)CDN節(jié)點(diǎn)都會(huì)盡可能地緩存數(shù)據(jù)源中所有的文件,因此會(huì)帶來(lái)較大的存儲(chǔ)成本。而且有些文件的內(nèi)容并沒(méi)有發(fā)生變化,僅僅是下載地址,如文件的URL發(fā)生了變化,按照現(xiàn)有CDN的緩存方式,也會(huì)在一個(gè)節(jié)點(diǎn)中緩存多份內(nèi)容相同、URL不同的文件,即重復(fù)數(shù)據(jù)緩存,從而進(jìn)一步導(dǎo)致了存儲(chǔ)的成本較高。
發(fā)明內(nèi)容
鑒于上述問(wèn)題,提出了本發(fā)明以便提供一種克服上述問(wèn)題或者至少部分地解決上述問(wèn)題的用于提供文件下載地址的管理設(shè)備及方法。依據(jù)本發(fā)明的一個(gè)方面,提供了一種用于提供文件下載地址的管理設(shè)備,包括資源定位器,被配置為根據(jù)文件在數(shù)據(jù)源節(jié)點(diǎn)中的存儲(chǔ)路徑生成文件的資源定位信息;摘要生成器,被配置為對(duì)文件的 內(nèi)容采用特定數(shù)據(jù)轉(zhuǎn)換生成文件的內(nèi)容摘要;以及下載地址生成器,被配置為至少根據(jù)資源定位器提供的文件的資源定位信息和摘要生成器提供的文件的內(nèi)容摘要,生成文件的下載地址,下載地址中至少包括文件的資源定位信息和文件的內(nèi)容摘要??蛇x的,下載地址生成器生成的文件的下載地址是文件的統(tǒng)一資源定位符U RL。根據(jù)本發(fā)明的又一方面,提供了一種用于提供文件下載地址的管理方法,包括根據(jù)文件在數(shù)據(jù)源節(jié)點(diǎn)中的存儲(chǔ)路徑生成文件的資源定位信息;對(duì)文件的內(nèi)容采用特定數(shù)據(jù)轉(zhuǎn)換生成文件的內(nèi)容摘要;至少根據(jù)文件的資源定位信息和文件的內(nèi)容摘要,生成文件的下載地址,下載地址中至少包括文件的資源定位信息和文件的內(nèi)容摘要。根據(jù)本發(fā)明的實(shí)施例,可以將從所請(qǐng)求文件下載地址解析出的文件內(nèi)容摘要作為緩存文件查詢依據(jù),在緩存中查詢是否已經(jīng)存儲(chǔ)了所請(qǐng)求的文件,而不是根據(jù)文件的整個(gè)URL作為索引查詢,同理,在緩存中存儲(chǔ)文件時(shí)也是根據(jù)文件的內(nèi)容摘要是否相同判斷是否為同一份文件。因此,如果兩個(gè)文件的URL不同,但文件的內(nèi)容數(shù)據(jù)實(shí)質(zhì)相同,那么該文件的內(nèi)容摘要就是相同的,進(jìn)而,如果該文件此前已經(jīng)在邊緣節(jié)點(diǎn)中緩存過(guò)了,那么后續(xù)即便是客戶端設(shè)備再發(fā)來(lái)一個(gè)不同的文件下載地址URL,只要該文件的內(nèi)容摘要和緩存中的一致,那么邊緣節(jié)點(diǎn)也不會(huì)再去數(shù)據(jù)源節(jié)點(diǎn)重復(fù)下載該文件,而是直接根據(jù)該文件的內(nèi)容摘要從緩存中找到該文件提供給客戶端設(shè)備。由此,一方面減少了緩存中的重復(fù)數(shù)據(jù),另一方面也提高了為客戶端設(shè)備下載文件的效率。進(jìn)一步,邊緣節(jié)點(diǎn)通過(guò)代理集群從數(shù)據(jù)源節(jié)點(diǎn)獲取文件,當(dāng)文件較大時(shí),可以逐個(gè)部分的從數(shù)據(jù)源節(jié)點(diǎn)獲取所請(qǐng)求文件的各部分,并同時(shí)向客戶端設(shè)備傳輸所請(qǐng)求文件中已獲取的部分,即非阻塞模式的回源,可以實(shí)現(xiàn)邊緩存邊讓客戶端設(shè)備下載。避免了使用⑶N時(shí),需要等到整個(gè)文件完全緩存才能下載的問(wèn)題,整個(gè)過(guò)程客戶端設(shè)備不用等待。上述說(shuō)明僅是本發(fā)明技術(shù)方案的概述,為了能夠更清楚了解本發(fā)明的技術(shù)手段,而可依照說(shuō)明書(shū)的內(nèi)容予以實(shí)施,并且為了讓本發(fā)明的上述和其它目的、特征和優(yōu)點(diǎn)能夠更明顯易懂,以下特舉本發(fā)明的具體實(shí)施方式
。
通過(guò)閱讀下文優(yōu)選實(shí)施方式的詳細(xì)描述,各種其他的優(yōu)點(diǎn)和益處對(duì)于本領(lǐng)域普通技術(shù)人員將變得清楚明了。附圖僅用于示出優(yōu)選實(shí)施方式的目的,而并不認(rèn)為是對(duì)本發(fā)明的限制。而且在整個(gè)附圖中,用相同的參考符號(hào)表示相同的部件。在附圖中圖1示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的數(shù)據(jù)下載系統(tǒng)示意圖;圖2示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的用于提供文件下載地址的管理設(shè)備示意圖;圖3示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的緩存器中的緩存邏輯示意圖;圖4示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的電信至網(wǎng)通的代理集群示意圖;圖5示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的數(shù)據(jù)下載系統(tǒng)示意圖6示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的用于提供文件下載地址的管理方法流程圖;以及圖7示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的用于數(shù)據(jù)下載系統(tǒng)中的下載管理方法流程圖。
具體實(shí)施例方式下面將參照附圖更詳細(xì)地描述本公開(kāi)的示例性實(shí)施例。雖然附圖中顯示了本公開(kāi)的示例性實(shí)施例,然而應(yīng)當(dāng)理解,可以以各種形式實(shí)現(xiàn)本公開(kāi)而不應(yīng)被這里闡述的實(shí)施例所限制。相反,提供這些實(shí)施例是為了能夠更透徹地理解本公開(kāi),并且能夠?qū)⒈竟_(kāi)的范圍完整的傳達(dá)給本領(lǐng)域的技術(shù)人員。請(qǐng)參閱圖1,其為根據(jù)本發(fā)明一個(gè)實(shí)施例的數(shù)據(jù)下載系統(tǒng)示意圖。該下載系統(tǒng)包括第一運(yùn)營(yíng)商網(wǎng)絡(luò)的邊緣節(jié)點(diǎn)100、第二運(yùn)營(yíng)商網(wǎng)絡(luò)的邊緣節(jié)點(diǎn)200、第一運(yùn)營(yíng)商網(wǎng)絡(luò)至第二運(yùn)營(yíng)商網(wǎng)絡(luò)的代理集群300、第二運(yùn)營(yíng)商網(wǎng)絡(luò)至第一運(yùn)營(yíng)商網(wǎng)絡(luò)的代理集群400、第一運(yùn)營(yíng)商網(wǎng)絡(luò)的數(shù)據(jù)源節(jié)點(diǎn)500以及第二運(yùn)營(yíng)商網(wǎng)絡(luò)的數(shù)據(jù)源節(jié)點(diǎn)600。此外,圖中還示出了與該數(shù)據(jù)下載系統(tǒng)有數(shù)據(jù)交互的第一運(yùn)營(yíng)商網(wǎng)絡(luò)的客戶端設(shè)備700和第二運(yùn)營(yíng)商網(wǎng)絡(luò)的客戶端設(shè)備800。應(yīng)當(dāng)注意的是,該系統(tǒng)中包括的邊緣節(jié)點(diǎn)、數(shù)據(jù)源節(jié)點(diǎn)、代理集群等都可以是一個(gè)或多個(gè)。第一運(yùn)營(yíng)商網(wǎng)絡(luò)的邊緣節(jié)點(diǎn)100和第二運(yùn)營(yíng)商網(wǎng)絡(luò)的邊緣節(jié)點(diǎn)200中均包括下載管理設(shè)備110,該下載管理設(shè)備110具體包括緩存器102、解析器104、查找器106以及回源器108。第一運(yùn)營(yíng)商網(wǎng)絡(luò)至第二運(yùn)營(yíng)商網(wǎng)絡(luò)的代理集群300具體包括邊緣側(cè)第一運(yùn)營(yíng)商網(wǎng)絡(luò)代理集群302、第一傳輸通道304以及源節(jié)點(diǎn)側(cè)第二運(yùn)營(yíng)商網(wǎng)絡(luò)代理集群306。第二運(yùn)營(yíng)商網(wǎng)絡(luò)至第一運(yùn)營(yíng)商網(wǎng)絡(luò)的代理集群400具體包括邊緣側(cè)第二運(yùn)營(yíng)商網(wǎng)絡(luò)代理集群402、第二傳輸通道404以及源節(jié)點(diǎn)側(cè)第一運(yùn)營(yíng)商網(wǎng)絡(luò)代理集群406。第一運(yùn)營(yíng)商網(wǎng)絡(luò)的數(shù)據(jù)源節(jié)點(diǎn)500包括數(shù)據(jù)源節(jié)點(diǎn)1、數(shù)據(jù)源節(jié)點(diǎn)2以及數(shù)據(jù)源節(jié)點(diǎn)η等多個(gè)處于第一運(yùn)營(yíng)商網(wǎng)絡(luò)中的數(shù)據(jù)源節(jié)點(diǎn)。第二運(yùn)營(yíng)商網(wǎng)絡(luò)的數(shù)據(jù)源節(jié)點(diǎn)600包括數(shù)據(jù)源節(jié)點(diǎn)1、數(shù)據(jù)源節(jié)點(diǎn)2以及數(shù)據(jù)源節(jié)點(diǎn)η等多個(gè)處于第二運(yùn)營(yíng)商網(wǎng)絡(luò)中的數(shù)據(jù)源節(jié)點(diǎn)。由于第一運(yùn)營(yíng)商網(wǎng)絡(luò)的邊緣節(jié)點(diǎn)100和第二運(yùn)營(yíng)商網(wǎng)絡(luò)的邊緣節(jié)點(diǎn)200中包括的下載管理設(shè)備110結(jié)構(gòu)相同,數(shù)據(jù)處理流程也完全一樣,僅僅是兩個(gè)邊緣節(jié)點(diǎn)所處的運(yùn)營(yíng)商網(wǎng)絡(luò)不同,負(fù)責(zé)連接不同運(yùn)營(yíng)商網(wǎng)絡(luò)的客戶端設(shè)備,所以下面主要以第一運(yùn)營(yíng)商網(wǎng)絡(luò)的邊緣節(jié)點(diǎn)100的工作原理為例進(jìn)行說(shuō)明,第二運(yùn)營(yíng)商網(wǎng)絡(luò)的邊緣節(jié)點(diǎn)200的內(nèi)部結(jié)構(gòu)和工作原理參考第一運(yùn)營(yíng)商網(wǎng)絡(luò)的邊緣節(jié)點(diǎn)100的相關(guān)實(shí)施例內(nèi)容即可,不再贅述。在本發(fā)明的一個(gè)實(shí)施例中,某客戶端設(shè)備700連接邊緣節(jié)點(diǎn)100請(qǐng)求下載文件,具體而言,客戶端設(shè)備700向邊緣節(jié)點(diǎn)100發(fā)送一個(gè)文件下載請(qǐng)求,該下載請(qǐng)求包括所請(qǐng)求文件的下載地址,解析器104在獲得文件下載請(qǐng)求后,根據(jù)該文件下載請(qǐng)求的下載地址解析出所請(qǐng)求的文件的內(nèi)容摘要。在下載請(qǐng)求中包含所請(qǐng)求文件的下載地址,下載地址最常見(jiàn)的是所請(qǐng)求文件的URL (Uniform Resource Locator,統(tǒng)一資源定位符)。在本發(fā)明的一個(gè)實(shí)施例中,客戶端設(shè)備700發(fā)給第一運(yùn)營(yíng)商網(wǎng)絡(luò)的邊緣節(jié)點(diǎn)100的所請(qǐng)求文件的URL與現(xiàn)有技術(shù)中的URL不同,現(xiàn)有技術(shù)中的URL —般包括協(xié)議類型、存放文件的主機(jī)域名、路徑和文件名,URL的一般格式為(帶方括號(hào)[]的為可選項(xiàng))protocol://hostname [:port端口 ]/path/[; parameters] [ query查詢]#fragment片段;而在本發(fā)明實(shí)施例中所請(qǐng)求文件的URL除了包含以上常規(guī)URL內(nèi)容以外,還包括所請(qǐng)求的文件的內(nèi)容摘要。例如,傳統(tǒng)上,請(qǐng)求文件的現(xiàn)有常規(guī)URL為
`
http://wsdlll. yunpan. cn/share. php method=Share. downIoad&xqid=XXXX&nid=XXXX&cqid=XXXX&fname=l. txt&e=XXXX&st=XXXXX。其中,XXXX 代表文件路徑及文件名的
具體信息。而在本發(fā)明實(shí)施例中,請(qǐng)求文件的URL為http://wsdl11.yunpan.cn/share. php method=Share. download&fhash=4c9a055de0a290341abf7fff6a4d8c0f2af7fl55&xqid=XXXX&nid=XXXX&cqid=XXXX&fname=l.txt&e=XXXX&st=XXXXX0通過(guò)對(duì)比以上兩個(gè)URL可知,第二個(gè)URL比第一個(gè)URL多了一部分內(nèi)容,即“fhash=4c9a055de0a290341abf7fff6a4d8c0f2af7fl55”,這部分內(nèi)容即為所請(qǐng)求文件的內(nèi)容摘要。文件的內(nèi)容摘要主要是指針對(duì)文件的內(nèi)容采用特定數(shù)據(jù)轉(zhuǎn)換方法來(lái)生成可以對(duì)文件內(nèi)容進(jìn)行標(biāo)識(shí)的數(shù)據(jù),內(nèi)容摘要計(jì)算算法例如為安全哈希演算sha系列算法(shal、sha224、以及sha256等)中的一種、信息摘要演算MD系列算法(如md3、md4以及md5等)中的一種、以及本領(lǐng)域已知的其他算法。只要內(nèi)容摘要能夠作為文件內(nèi)容的唯一標(biāo)識(shí),相同內(nèi)容的文件對(duì)應(yīng)內(nèi)容摘要相同,不同內(nèi)容的文件對(duì)應(yīng)的內(nèi)容摘要不同,所以可以生成這種內(nèi)容摘要的方法都在本發(fā)明的保護(hù)范圍之內(nèi)。一般而言,通過(guò)文件的全部?jī)?nèi)容進(jìn)行特定數(shù)據(jù)轉(zhuǎn)換后生成的內(nèi)容摘要的唯一標(biāo)識(shí)性比較強(qiáng),但是也不排除在某些情況下,只根據(jù)文件的部分關(guān)鍵內(nèi)容所生成的內(nèi)容摘要的唯一標(biāo)識(shí)性也可以滿足實(shí)際需求,這種情況下也是可行的。文件的URL —般是文件在上傳到數(shù)據(jù)源節(jié)點(diǎn)時(shí)生成的。下面結(jié)合一個(gè)例子,介紹客戶端設(shè)備100向第一運(yùn)營(yíng)商網(wǎng)絡(luò)的邊緣節(jié)點(diǎn)100發(fā)出的下載請(qǐng)求中所請(qǐng)求文件的URL是如何獲得的。請(qǐng)一并參考圖2,其示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的用于提供文件下載地址的管理設(shè)備示意圖,該管理設(shè)備210包括資源定位器212、摘要生成器214以及下載地址生成器216。該管理設(shè)備210可以設(shè)置于相應(yīng)的數(shù)據(jù)源節(jié)點(diǎn)中,比如第一運(yùn)營(yíng)商網(wǎng)絡(luò)的數(shù)據(jù)源節(jié)點(diǎn)500或者是第二運(yùn)營(yíng)商網(wǎng)絡(luò)的數(shù)據(jù)源節(jié)點(diǎn)600,也可以獨(dú)立于數(shù)據(jù)源節(jié)點(diǎn)之外設(shè)置。當(dāng)管理設(shè)備210獨(dú)立于數(shù)據(jù)源節(jié)點(diǎn)設(shè)置時(shí),相當(dāng)于各數(shù)據(jù)源節(jié)點(diǎn)基本僅作為文件存儲(chǔ)服務(wù)器,而管理設(shè)備210則作為文件存儲(chǔ)之外、負(fù)責(zé)文件相關(guān)管理、維護(hù)等工作的管理設(shè)備,但是管理設(shè)備210各數(shù)據(jù)源節(jié)點(diǎn)之間可以相互通信,能夠獲得彼此所需的各種信息。具體而言,一方面,當(dāng)某個(gè)文件上傳到某個(gè)數(shù)據(jù)源節(jié)點(diǎn)之后,管理設(shè)備210中的資源定位器212就可以獲得該文件在這個(gè)數(shù)據(jù)源節(jié)點(diǎn)上的存儲(chǔ)路徑,進(jìn)而根據(jù)該存儲(chǔ)路徑生成文件的資源定位信息,即相當(dāng)于生成該文件URL中路徑和文件名這部分的內(nèi)容,例如生成前面那個(gè) URL 實(shí)例中的這部分內(nèi)容wsdlll. yunpan. cn/share. php method=Share. download&xqid=XXXX&nid=XXXX&cqid=XXXX&fname=l. txt&e=XXXX&st=XXXXX。另一方面,管理設(shè)備210中的摘要生成器214可以通過(guò)數(shù)據(jù)源節(jié)點(diǎn)知道該文件的具體內(nèi)容,進(jìn)而利用各種內(nèi)容摘要計(jì)算方法計(jì)算該文件的內(nèi)容以生成文件的內(nèi)容摘要,前面已經(jīng)介紹過(guò)文件內(nèi)容摘要的各種具體實(shí)現(xiàn)方案,此處不再贅述。例如生成前面那個(gè)URL實(shí)例中的這部分內(nèi)容fhash=4c9a055de0a290341abf7fff6a4d8c0f2af7fl55o此后,管理設(shè)備210中的下載地址生成器216根據(jù)資源定位器212提供的該文件的資源定位信息和摘要生成器214提供的該文件的內(nèi)容摘要,生成該文件完整的下載地址,如URL,在該URL中至少包括該文件的資源定位信息和該文件的內(nèi)容摘要。例如生成給前面那個(gè)URL實(shí)例中的完整URL http://wsdl11.yunpan.cn/share. php method=Share. download&fhash=4c9a055de0a290341abf7fff6a4d8c0f2af7fl55&xqid=XXXX&nid=XXXX&cqid=XXXX&fname=l.txt&e=XXXX&st=XXXXX。由此可以看出,通過(guò)管理設(shè)備210可以為各種已經(jīng)上傳到某個(gè)數(shù)據(jù)源節(jié)點(diǎn)的文件生成對(duì)應(yīng)的下載地址,如URL。進(jìn)而,當(dāng)客戶端設(shè)備100需要下載某個(gè)文件時(shí),就可以通過(guò)點(diǎn)擊網(wǎng)站上的該文件或者查看該文件的URL等多種方式獲得該文件的下載地址,然后向邊緣節(jié)點(diǎn)發(fā)送包括該下載地址的下載請(qǐng)求。從而使得第一運(yùn)營(yíng)商網(wǎng)絡(luò)的邊緣節(jié)點(diǎn)100等邊緣節(jié)點(diǎn)獲得客戶端設(shè)備100所請(qǐng)求的文件的URL,而且該URL中不僅包括常規(guī)的URL參數(shù),還包括所請(qǐng)求文件的內(nèi)容摘要。由此可見(jiàn),本質(zhì)上,邊緣節(jié)點(diǎn)100獲得的客戶端設(shè)備700所請(qǐng)求文件的URL是管理設(shè)備210所提供的。在本發(fā)明的一個(gè)實(shí)施例中,為了更好的保證數(shù)據(jù)傳輸?shù)陌踩?,管理設(shè)備210在為文件生成URL的同時(shí),還可以根據(jù)預(yù)置的簽名生成方式及文件URL的全部?jī)?nèi)容或部分關(guān)鍵內(nèi)容生成簽名,比如根據(jù)URL中的文件內(nèi)容摘要、文件存儲(chǔ)路徑等關(guān)鍵信息生成簽名,當(dāng)有客戶端設(shè)備700需要下載該文件時(shí),將文件URL和對(duì)應(yīng)的簽名一起提供給客戶端設(shè)備700,進(jìn)而客戶端設(shè)備700向邊緣節(jié)點(diǎn)100發(fā)送下載請(qǐng)求時(shí)包括文件URL和對(duì)應(yīng)的簽名。邊緣節(jié)點(diǎn)100維護(hù)與管理設(shè)備210相同的簽名生成方式,在邊緣節(jié)點(diǎn)100接收到客戶端設(shè)備700的文件下載請(qǐng)求后,解析器104根據(jù)所請(qǐng)求的文件URL以及預(yù)置的簽名生成方式,自行生成該文件URL對(duì)應(yīng)的簽名,將自行生成的該簽名與客戶端設(shè)備700發(fā)送的文件下載請(qǐng)求中攜帶的簽名對(duì)比,如果一致,則判斷URL沒(méi)有被修改,進(jìn)行后續(xù)下載文件的相關(guān)處理;如果不一致,則說(shuō)明客戶端設(shè)備700發(fā)送的文件URL內(nèi)容已經(jīng)被修改,例如可能是被惡意篡改了 URL中的文件內(nèi)容摘要,進(jìn)而會(huì)向客戶端設(shè)備700返回錯(cuò)誤或非法提示,不再進(jìn)行后續(xù)相關(guān)的文件下載處理。前面已經(jīng)提到,邊緣節(jié)點(diǎn)100的解析器104在接收到客戶端設(shè)備700的下載請(qǐng)求后,還用于根據(jù)該文件下載請(qǐng)求的下載地址解析出所請(qǐng)求的文件的內(nèi)容摘要。進(jìn)而,邊緣節(jié)點(diǎn)100中的查找器106根據(jù)解析器104解析出的所請(qǐng)求文件的內(nèi)容摘要在緩存器102中查找,如果查找到所請(qǐng)求的文件,則直接將所請(qǐng)求的文件傳輸至客戶端設(shè)備700,無(wú)需再去數(shù)據(jù)源節(jié)點(diǎn)獲取該文件。緩存器102緩存了從各數(shù)據(jù)源節(jié)點(diǎn)(如第一運(yùn)營(yíng)商網(wǎng)絡(luò)的數(shù)據(jù)源節(jié)點(diǎn)500以及第二運(yùn)營(yíng)商網(wǎng)絡(luò)的數(shù)據(jù)源節(jié)點(diǎn)600等各數(shù)據(jù)源節(jié)點(diǎn))獲得的各個(gè)文件以及各個(gè)文件的內(nèi)容摘要。在本發(fā)明的一個(gè)實(shí)施例中,如果客戶端設(shè)備700所請(qǐng)求的文件在緩存器102中有,則直接將緩存器中的該文件提供給客戶端設(shè)備700 ;如果緩存器102中沒(méi)有,就需要到相關(guān)的數(shù)據(jù)源節(jié)點(diǎn)去下載,從數(shù)據(jù)源節(jié)點(diǎn)獲得所請(qǐng)求的文件后,一方面緩存到緩存器102以便后續(xù)使用,另一方面提供給客戶端設(shè)備700。通過(guò)上面的過(guò)程可以看出,緩存器102中存儲(chǔ)的各個(gè)文件都是從數(shù)據(jù)源節(jié)點(diǎn)獲得的。而且,由于解析器104可以解析出文件的內(nèi)容摘要,如果緩存器102中沒(méi)有該內(nèi)容摘要對(duì)應(yīng)的文件,就會(huì)根據(jù)文 件下載請(qǐng)求從相關(guān)的數(shù)據(jù)源節(jié)點(diǎn)獲取,而文件下載請(qǐng)求的下載地址中就包含文件的內(nèi)容摘要,因此緩存器102在從數(shù)據(jù)源節(jié)點(diǎn)獲得該文件后,就已經(jīng)知道該文件對(duì)應(yīng)的內(nèi)容摘要是什么,進(jìn)而緩存器102中就會(huì)緩存該文件以及該文件的內(nèi)容摘要。前面提過(guò),文件的內(nèi)容摘要有多種具體實(shí)現(xiàn)方案,比如可以是文件的shal,也可以是MD5。此外,由于shal —般比較長(zhǎng)、但唯一標(biāo)識(shí)性更好,MD5比較短、更利于存儲(chǔ),因此,可以將shal和MD5結(jié)合起來(lái)使用。比如,在所請(qǐng)求文件的URL中記錄的文件內(nèi)容摘要是shal,但是緩存器102可以對(duì)shal再進(jìn)行一次數(shù)據(jù)轉(zhuǎn)換,生成更短的hash值,即MD5,然后在緩存中存儲(chǔ)的是文件以及文件對(duì)應(yīng)的MD5,將這個(gè)MD5作為在緩存器102中查找文件數(shù)據(jù)的索引關(guān)鍵詞key,如圖3所示根據(jù)本發(fā)明一個(gè)實(shí)施例的緩存器中的緩存邏輯示意圖??蛇x的,緩存器102還可以為各文件設(shè)置緩存有效時(shí)間,因?yàn)榫彺嫒萘渴怯邢薜?,通過(guò)設(shè)置緩存有效時(shí)間,可以及時(shí)清除長(zhǎng)期不用的文件對(duì)緩存的占用。此外,還可以判斷文件是否需要緩存,如果有些文件不適合緩存,即使從數(shù)據(jù)源節(jié)點(diǎn)獲得了所需文件,緩存器108也不會(huì)對(duì)其進(jìn)行緩存,后續(xù)如果有客戶端設(shè)備700再請(qǐng)求該文件,邊緣節(jié)點(diǎn)100會(huì)再?gòu)臄?shù)據(jù)源節(jié)點(diǎn)獲取文件提供給客戶端設(shè)備700。另外,緩存器102還可以維護(hù)一個(gè)禁止下載名單,如果客戶端設(shè)備700所請(qǐng)求的文件的內(nèi)容摘要在該禁止下載名單中,則邊緣節(jié)點(diǎn)100既不會(huì)從緩存器102中查找該文件發(fā)送給客戶端設(shè)備700,也不會(huì)通過(guò)向數(shù)據(jù)源節(jié)點(diǎn)獲取該文件發(fā)送給客戶端設(shè)備700,而是告知客戶端設(shè)備700該文件禁止下載。由于緩存器102具有前面所說(shuō)的緩存邏輯,因此查找器106可以根據(jù)所請(qǐng)求文件的內(nèi)容摘要在緩存器102中進(jìn)行查找,是否存在與文件內(nèi)容摘要對(duì)應(yīng)的文件,如果查找到,就直接將緩存中的該文件發(fā)送給客戶端設(shè)備700。應(yīng)當(dāng)注意的是,一般每個(gè)運(yùn)營(yíng)商網(wǎng)絡(luò)都會(huì)有多個(gè)邊緣節(jié)點(diǎn),又會(huì)存在多個(gè)運(yùn)營(yíng)商網(wǎng)絡(luò),緩存器102的緩存邏輯可以是每個(gè)運(yùn)營(yíng)商網(wǎng)絡(luò)的所有邊緣節(jié)點(diǎn)共同維護(hù)一個(gè),例如所有電信邊緣節(jié)點(diǎn)共同維護(hù)一個(gè)緩存邏輯,即每個(gè)電信邊緣節(jié)點(diǎn)獲得的文件都存在同一個(gè)邏輯上的緩存器102中,進(jìn)而該緩存器102中緩存的文件可以為所有電信邊緣節(jié)點(diǎn)使用,即查找器106可以在這個(gè)所有電信邊緣節(jié)點(diǎn)共同維護(hù)的緩存器102中去查找所需的文件。此夕卜,還可以是以區(qū)域?yàn)閱挝?,即同一個(gè)運(yùn)營(yíng)商的某個(gè)區(qū)域的多個(gè)邊緣節(jié)點(diǎn)共同維護(hù)一個(gè)緩存器102,比如北京的多個(gè)電信邊緣節(jié)點(diǎn)共同維護(hù)一個(gè)緩存器,上海的多個(gè)電信邊緣節(jié)點(diǎn)共同維護(hù)另外一個(gè)緩存器,北京的電信邊緣節(jié)點(diǎn)可以在北京的緩存器中查找是否有所需的文件,如果沒(méi)有查找到,就認(rèn)為沒(méi)有,只能去數(shù)據(jù)源節(jié)點(diǎn)獲取;上海的電信邊緣節(jié)點(diǎn)可以在上海的緩存器中查找是否有所需的文件,如果沒(méi)有,也只能再去數(shù)據(jù)源節(jié)點(diǎn)獲取。再或者,還可以是每個(gè)邊緣節(jié)點(diǎn)都單獨(dú)維護(hù)一個(gè)緩存邏輯,即各自維護(hù)各自的緩存器102,每個(gè)邊緣節(jié)點(diǎn)只能查找自己的緩存器,如果沒(méi)找到,就需要到數(shù)據(jù)源節(jié)點(diǎn)去獲取文件??傊彺嫫?02的緩存邏輯可以根據(jù)實(shí)際需要進(jìn)行不同設(shè)置,這些都在本發(fā)明的保護(hù)范圍之內(nèi)。如果查找器106根據(jù)文件的內(nèi)容摘要在緩存器102中沒(méi)有查找到對(duì)應(yīng)的文件,則通知回源器108,進(jìn)而回源器108根據(jù)回源表和從所請(qǐng)求文件的下載地址從相關(guān)的數(shù)據(jù)源節(jié)點(diǎn)獲取所請(qǐng)求的文件,并傳輸述客戶端設(shè)備700,并且將所請(qǐng)求的文件提供給緩存器102進(jìn)行緩存。具體而言,回源器108中維護(hù)一個(gè)回源表,該回源表中記錄有文件的內(nèi)容摘要和/或數(shù)據(jù)源節(jié)點(diǎn)編號(hào),以及數(shù)據(jù)源節(jié)點(diǎn)地址之間的對(duì)應(yīng)關(guān)系。所謂數(shù)據(jù)源節(jié)點(diǎn)編號(hào),可以理解為是數(shù)據(jù)源節(jié)點(diǎn)服務(wù)器或服務(wù)器集群的編號(hào),仍然以前面的URL實(shí)例為例說(shuō)明http://wsdl11.yunpan.cn/share. php method=Share. download&fhash=4c9a055de0a290341abf7fff6a4d8c0f2af7fl55&xqid=XXXX&nid=XXXX&cqid=XXXX&fname=l.txt&e=XXXX&st=XXXXX。該URL中“wsdl ”后面的“ 11”就是數(shù)據(jù)源節(jié)點(diǎn)的編號(hào),通過(guò)該標(biāo)號(hào)可以在回源表中找到與該編號(hào)對(duì)應(yīng)的主機(jī)地址,比如數(shù)據(jù)源節(jié)點(diǎn)的具體IP地址。如果該標(biāo)號(hào)對(duì)應(yīng)的是一個(gè)數(shù)據(jù)源節(jié)點(diǎn)的集群,那么通過(guò)該編號(hào)可以在回源表中查到多個(gè)數(shù)據(jù)源節(jié)點(diǎn)的主機(jī)地址,進(jìn)而回源器108可以從其中的任何一個(gè)主機(jī)獲得所需的文件。前面提到,由于回源表中也可以保存文件的內(nèi)容摘要和存放該文件的數(shù)據(jù)源節(jié)點(diǎn)地址之間的對(duì)應(yīng)關(guān)系,因此,還可以利用所請(qǐng)求文件的內(nèi)容摘要查找數(shù)據(jù)源節(jié)點(diǎn)的地址。在回源表中,同一個(gè)文件的內(nèi)容·摘要也可能對(duì)應(yīng)著多個(gè)數(shù)據(jù)源節(jié)點(diǎn)地址,回源器108從中選擇一個(gè)地址到相應(yīng)的數(shù)據(jù)源節(jié)點(diǎn)去獲取所需的文件。無(wú)論是根據(jù)所請(qǐng)求文件的URL中的數(shù)據(jù)源節(jié)點(diǎn)編號(hào)查找存儲(chǔ)該文件的數(shù)據(jù)源節(jié)點(diǎn),還是根據(jù)所請(qǐng)求文件的內(nèi)容摘要查找存儲(chǔ)該文件的數(shù)據(jù)源節(jié)點(diǎn),如果只找到一個(gè)數(shù)據(jù)源節(jié)點(diǎn)存儲(chǔ)有所請(qǐng)求的文件,則直接根據(jù)回源表提供的該數(shù)據(jù)源節(jié)點(diǎn)地址去獲取文件數(shù)據(jù)。如果找到多個(gè)數(shù)據(jù)源節(jié)點(diǎn),則可以根據(jù)實(shí)際需要有多種選擇方式。例如,可以優(yōu)先從同一運(yùn)營(yíng)商的數(shù)據(jù)源節(jié)點(diǎn)獲取所需的文件,如客戶端設(shè)備700是第一運(yùn)營(yíng)商網(wǎng)絡(luò)的,邊緣節(jié)點(diǎn)100也是第一運(yùn)營(yíng)商網(wǎng)絡(luò)的,那么,如果查找到的存儲(chǔ)所需文件的多個(gè)數(shù)據(jù)源節(jié)點(diǎn)中既有第一運(yùn)營(yíng)商網(wǎng)絡(luò)的數(shù)據(jù)源節(jié)點(diǎn)也有第二運(yùn)營(yíng)商網(wǎng)絡(luò)的數(shù)據(jù)源節(jié)點(diǎn),那么回源器108優(yōu)先選擇從第一運(yùn)營(yíng)商網(wǎng)絡(luò)的數(shù)據(jù)源節(jié)點(diǎn)獲取所需的文件。再例如,可以考慮存儲(chǔ)所需文件的多個(gè)數(shù)據(jù)源節(jié)點(diǎn)的負(fù)載狀況,即根據(jù)負(fù)載均衡的原理選擇負(fù)載相對(duì)最輕的一個(gè)數(shù)據(jù)源節(jié)點(diǎn)獲取所需文件?;卦雌?08維護(hù)的回源表中的內(nèi)容,可以根據(jù)從各個(gè)數(shù)據(jù)源節(jié)點(diǎn)獲取的信息生成。例如,每當(dāng)有文件上傳到某個(gè)數(shù)據(jù)源節(jié)點(diǎn)時(shí),都會(huì)更新一條存儲(chǔ)記錄到回源表,該條記錄中記錄著該文件的內(nèi)容摘要和/或存儲(chǔ)該文件的數(shù)據(jù)源節(jié)點(diǎn)編號(hào),以及對(duì)應(yīng)的數(shù)據(jù)源節(jié)點(diǎn)的具體地址,進(jìn)而,回源表中便可以記錄各個(gè)文件以及存儲(chǔ)該文件的數(shù)據(jù)源節(jié)點(diǎn)的地址信息?;卦幢聿幌抻诖鎯?chǔ)在邊緣節(jié)點(diǎn)100中,也可以存儲(chǔ)在其他專門(mén)的管理設(shè)備中,只要數(shù)據(jù)源節(jié)點(diǎn)能夠和邊緣節(jié)點(diǎn)100或者該專門(mén)的管理設(shè)備進(jìn)行通信,使得回源表中的信息能夠根據(jù)數(shù)據(jù)源節(jié)點(diǎn)存儲(chǔ)文件的更新而更新,邊緣節(jié)點(diǎn)100中的回源器108能夠及時(shí)獲取到回源表中的信息即可。前面提到,回源器108可以僅根據(jù)所請(qǐng)求文件的URL中的數(shù)據(jù)源節(jié)點(diǎn)編號(hào)查詢相關(guān)的數(shù)據(jù)源節(jié)點(diǎn)地址,也可以僅根據(jù)所請(qǐng)求文件的內(nèi)容摘要查詢相關(guān)的數(shù)據(jù)源節(jié)點(diǎn)地址,因此對(duì)應(yīng)的,回源表中也可以僅記錄數(shù)據(jù)源節(jié)點(diǎn)編號(hào)和數(shù)據(jù)源節(jié)點(diǎn)地址之間的關(guān)聯(lián)關(guān)系,或者僅記錄文件的內(nèi)容摘要和數(shù)據(jù)源節(jié)點(diǎn)地址之間的關(guān)聯(lián)關(guān)系。當(dāng)然,還可以優(yōu)先使用數(shù)據(jù)源節(jié)點(diǎn)編號(hào)查詢相關(guān)數(shù)據(jù)源節(jié)點(diǎn)地址,如果查找不到合適的,比如同一運(yùn)營(yíng)商網(wǎng)絡(luò)的,再繼續(xù)通過(guò)文件的內(nèi)容摘要繼續(xù)查詢是否還有其他同一運(yùn)營(yíng)商網(wǎng)絡(luò)的存儲(chǔ)該文件的數(shù)據(jù)源節(jié)點(diǎn),這種情況下對(duì)應(yīng)的,回源表中就需要同時(shí)記錄數(shù)據(jù)源節(jié)點(diǎn)編號(hào)、文件的內(nèi)容摘要以及數(shù)據(jù)源節(jié)點(diǎn)地址之間的對(duì)應(yīng)關(guān)系?;卦雌?08可以包括數(shù)據(jù)源查詢模塊、直接回源模塊、代理回源模塊以及緩存通知模塊。具體而言,如果數(shù)據(jù)源查詢模塊根據(jù)已知的回源表和文件下載請(qǐng)求的下載地址,具體是根據(jù)回源表和根據(jù)下載地址得到的數(shù)據(jù)源節(jié)點(diǎn)編號(hào)或者是文件的內(nèi)容摘要,查找到存儲(chǔ)該文件的數(shù)據(jù)源節(jié)點(diǎn)與邊緣節(jié)點(diǎn)100是同一運(yùn)營(yíng)商網(wǎng)絡(luò)的,比如是第一運(yùn)營(yíng)商網(wǎng)絡(luò)的數(shù)據(jù)源節(jié)點(diǎn)500,則直接回源模塊將文件下載請(qǐng)求轉(zhuǎn)發(fā)給查找到的數(shù)據(jù)源節(jié)點(diǎn)500,從該數(shù)據(jù)源節(jié)點(diǎn)500獲取所需文件。由于邊緣節(jié)點(diǎn)100和數(shù)據(jù)源節(jié)點(diǎn)500都是第一運(yùn)營(yíng)商網(wǎng)絡(luò)的節(jié)點(diǎn),因此他們之間直接進(jìn)行通信速度 很快,無(wú)需通過(guò)代理集群,所以可以直接連接下載。同時(shí),緩存通知模塊通知緩存器102對(duì)通過(guò)直接回源模塊獲取到的所請(qǐng)求的文件進(jìn)行緩存。如果第一運(yùn)營(yíng)商網(wǎng)絡(luò)的邊緣節(jié)點(diǎn)100中的數(shù)據(jù)源查詢模塊,在回源表中查找不到與邊緣節(jié)點(diǎn)100屬于同一運(yùn)營(yíng)商網(wǎng)絡(luò)的數(shù)據(jù)源節(jié)點(diǎn)存儲(chǔ)有所請(qǐng)求的文件,只找到第二運(yùn)營(yíng)商網(wǎng)絡(luò)的數(shù)據(jù)源節(jié)點(diǎn)600存儲(chǔ)了所請(qǐng)求文件,那么代理回源模塊通過(guò)第一運(yùn)營(yíng)商網(wǎng)絡(luò)至第二運(yùn)營(yíng)商網(wǎng)絡(luò)的代理集群300從第二運(yùn)營(yíng)商網(wǎng)絡(luò)相關(guān)的數(shù)據(jù)源節(jié)點(diǎn)600獲取所請(qǐng)求的文件。同時(shí),緩存通知模塊通知緩存器102對(duì)通過(guò)代理回源模塊獲取的所請(qǐng)求的文件進(jìn)行緩存。為了更好的描述代理回源模塊如何通過(guò)第一運(yùn)營(yíng)商網(wǎng)絡(luò)至第二運(yùn)營(yíng)商網(wǎng)絡(luò)的代理集群300從第二運(yùn)營(yíng)商網(wǎng)絡(luò)的數(shù)據(jù)源節(jié)點(diǎn)600獲取所請(qǐng)求的文件,下面先介紹下代理集群300的具體結(jié)構(gòu)。代理集群300包括邊緣側(cè)第一運(yùn)營(yíng)商網(wǎng)絡(luò)代理集群302、源節(jié)點(diǎn)側(cè)第二運(yùn)營(yíng)商網(wǎng)絡(luò)代理集群306,以及第一傳輸通道304。例如,圖4所示的根據(jù)本發(fā)明一個(gè)實(shí)施例的電信至網(wǎng)通的代理集群示意圖。該代理集群包括電信代理集群、網(wǎng)通代理集群,以及兩個(gè)代理集群之間的光纖傳輸通道。其中電信代理集群412相當(dāng)于邊緣側(cè)第一運(yùn)營(yíng)商網(wǎng)絡(luò)代理集群302,網(wǎng)通代理集群416相當(dāng)于源節(jié)點(diǎn)側(cè)第二運(yùn)營(yíng)商網(wǎng)絡(luò)代理集群306。電信代理集群412通過(guò)電信出口與電信下載節(jié)點(diǎn)(即電信邊緣節(jié)點(diǎn))進(jìn)行通信,網(wǎng)絡(luò)代理集群416通過(guò)網(wǎng)通出口與網(wǎng)通數(shù)據(jù)源節(jié)點(diǎn)進(jìn)行通信。首先,第一運(yùn)營(yíng)商網(wǎng)絡(luò)的緣邊節(jié)點(diǎn)100的回源器108根據(jù)客戶端設(shè)備700的文件下載請(qǐng)求以及查找到的數(shù)據(jù)源節(jié)點(diǎn)600的地址,向代理集群300中的邊緣側(cè)第一運(yùn)營(yíng)商網(wǎng)絡(luò)代理集群302發(fā)送請(qǐng)求從數(shù)據(jù)源節(jié)點(diǎn)600下載文件的請(qǐng)求,然后該邊緣側(cè)第一運(yùn)營(yíng)商網(wǎng)絡(luò)代理集群302通過(guò)第一傳輸通道304,一般都是光纖,將文件下載請(qǐng)求傳輸至源節(jié)點(diǎn)側(cè)第二運(yùn)營(yíng)商網(wǎng)絡(luò)代理集群306。進(jìn)而,源節(jié)點(diǎn)側(cè)第二運(yùn)營(yíng)商網(wǎng)絡(luò)代理集群306再向相關(guān)的第二運(yùn)營(yíng)商網(wǎng)絡(luò)的數(shù)據(jù)源節(jié)點(diǎn)600發(fā)送文件下載請(qǐng)求,從該數(shù)據(jù)源節(jié)點(diǎn)600獲得所請(qǐng)求的文件。源節(jié)點(diǎn)側(cè)第二運(yùn)營(yíng)商網(wǎng)絡(luò)代理集群306從數(shù)據(jù)源節(jié)點(diǎn)600獲得了所請(qǐng)求的文件后,再將所請(qǐng)求的文件通過(guò)第一傳輸通道304傳輸至邊緣側(cè)第一運(yùn)營(yíng)商網(wǎng)絡(luò)代理集群302,進(jìn)而再由邊緣側(cè)第一運(yùn)營(yíng)商網(wǎng)絡(luò)代理集群302將該文件傳輸給邊緣節(jié)點(diǎn)100的代理回源模塊,最終邊緣節(jié)點(diǎn)100的代理回源模塊108將該文件返回至客戶端設(shè)備100。至此,第一運(yùn)營(yíng)商網(wǎng)絡(luò)的客戶端設(shè)備700通過(guò)第一運(yùn)營(yíng)商網(wǎng)絡(luò)的邊緣節(jié)點(diǎn)100、第一運(yùn)營(yíng)商網(wǎng)絡(luò)至第二運(yùn)營(yíng)商網(wǎng)絡(luò)的代理集群300從第二運(yùn)營(yíng)商網(wǎng)絡(luò)的數(shù)據(jù)源節(jié)點(diǎn)成功下載了所請(qǐng)求的文件。第二運(yùn)營(yíng)商網(wǎng)絡(luò)至第一運(yùn)營(yíng)商網(wǎng)絡(luò)的代理集群400的結(jié)構(gòu)與第一運(yùn)營(yíng)商網(wǎng)絡(luò)至第二運(yùn)營(yíng)商網(wǎng)絡(luò)的代理集群結(jié)構(gòu)雷同,故不再贅述,僅簡(jiǎn)單介紹。代理集群400包括邊緣側(cè)第二運(yùn)營(yíng)商網(wǎng)絡(luò)代理集群402,接收來(lái)自第二運(yùn)營(yíng)商網(wǎng)絡(luò)的邊緣節(jié)點(diǎn)200的文件下載請(qǐng)求,以及向第二運(yùn)營(yíng)商網(wǎng)絡(luò)的邊緣節(jié)點(diǎn)200 返回所請(qǐng)求的文件。第二傳輸通道404從邊緣側(cè)第二運(yùn)營(yíng)商網(wǎng)絡(luò)代理集群402向源節(jié)點(diǎn)側(cè)第一運(yùn)營(yíng)商網(wǎng)絡(luò)代理集群406傳輸信息,以及從源節(jié)點(diǎn)側(cè)第一運(yùn)營(yíng)商網(wǎng)絡(luò)代理集群406向邊緣側(cè)第二運(yùn)營(yíng)商網(wǎng)絡(luò)代理集群402傳輸信息;源節(jié)點(diǎn)側(cè)第一運(yùn)營(yíng)商網(wǎng)絡(luò)代理集群406根據(jù)通過(guò)第二傳輸通道404接收的來(lái)自邊緣側(cè)第二運(yùn)營(yíng)商網(wǎng)絡(luò)代理集群402的文件下載請(qǐng)求,向第一運(yùn)營(yíng)商網(wǎng)絡(luò)相關(guān)的數(shù)據(jù)源節(jié)點(diǎn)500發(fā)送文件下載請(qǐng)求,以及接收第一運(yùn)營(yíng)商網(wǎng)絡(luò)相關(guān)的數(shù)據(jù)源節(jié)點(diǎn)500返回的所請(qǐng)求的文件,并通過(guò)第二傳輸通道404傳輸至邊緣側(cè)第二運(yùn)營(yíng)商網(wǎng)絡(luò)代理集群200。通過(guò)上面的描述可知,第一運(yùn)營(yíng)商網(wǎng)絡(luò)的邊緣節(jié)點(diǎn)100中的回源器108可以從數(shù)據(jù)源節(jié)點(diǎn)(如第一運(yùn)營(yíng)商網(wǎng)絡(luò)的數(shù)據(jù)源節(jié)點(diǎn)500或第二運(yùn)營(yíng)商網(wǎng)絡(luò)的數(shù)據(jù)源節(jié)點(diǎn)600)獲取到客戶端設(shè)備700所需的文件,并傳輸給客戶端設(shè)備700。在本發(fā)明的一個(gè)實(shí)施例中,回源器108可以逐個(gè)部分地從數(shù)據(jù)源節(jié)點(diǎn)獲取所請(qǐng)求的文件的各部分,并同時(shí)向客戶端設(shè)備700傳輸該文件中所獲取的部分,直到完全獲取了該文件為止。具體而言,當(dāng)數(shù)據(jù)源節(jié)點(diǎn)向邊緣節(jié)點(diǎn)100中的回源器108返回文件標(biāo)頭header信息后,邊緣節(jié)點(diǎn)100隨即將該header信息返回給客戶端設(shè)備700,客戶端設(shè)備100獲得header信息后便知道了所請(qǐng)求下載的文件的大小,然后會(huì)保持與邊緣節(jié)點(diǎn)100的鏈接,等待并接受邊緣節(jié)點(diǎn)返回的數(shù)據(jù),直到下載整個(gè)文件為止。邊緣節(jié)點(diǎn)100在連接到數(shù)據(jù)源節(jié)點(diǎn)后,會(huì)持續(xù)從數(shù)據(jù)源節(jié)點(diǎn)獲得文件的內(nèi)容數(shù)據(jù),同時(shí)持續(xù)將獲得內(nèi)容數(shù)據(jù)直接發(fā)送給客戶端設(shè)備700,直到該文件傳輸完畢為止。邊緣節(jié)點(diǎn)100在從數(shù)據(jù)源節(jié)點(diǎn)獲得整個(gè)文件之后,會(huì)將header信息和文件內(nèi)容放入緩存中。由此可以看出,邊緣節(jié)點(diǎn)100可以一邊從數(shù)據(jù)源節(jié)點(diǎn)獲得所請(qǐng)求的文件,一邊向客戶端設(shè)備700傳輸已經(jīng)獲取到的該文件的部分內(nèi)容,而不需要等邊緣節(jié)點(diǎn)100完全從數(shù)據(jù)源節(jié)點(diǎn)下載到整個(gè)文件內(nèi)容之后,再開(kāi)始向客戶端設(shè)備700傳輸該文件。此種情況下,邊緣節(jié)點(diǎn)100中的回源器108可以看做是一個(gè)非阻塞回源器。在本發(fā)明的一個(gè)實(shí)施例中,下載管理設(shè)備110可以通過(guò)varniash緩存服務(wù)器予以實(shí)現(xiàn),或者說(shuō)邊緣節(jié)點(diǎn)的全部或部分通過(guò)varniash緩存服務(wù)器實(shí)現(xiàn)。通過(guò)varniash緩存服務(wù)器可以實(shí)現(xiàn)在從數(shù)據(jù)源節(jié)點(diǎn)下載文件的過(guò)程中,同步向客戶端設(shè)備傳輸文件,即具有非阻塞回源器。具體請(qǐng)參閱圖5,其示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的數(shù)據(jù)下載系統(tǒng)示意圖,其中,電信下載節(jié)點(diǎn)512是圖1中第一運(yùn)營(yíng)商網(wǎng)絡(luò)的邊緣節(jié)點(diǎn)100的一個(gè)具體實(shí)例,電信下載節(jié)點(diǎn)512包括多個(gè)varniash節(jié)點(diǎn);網(wǎng)通下載節(jié)點(diǎn)514是圖1中第二運(yùn)營(yíng)商網(wǎng)絡(luò)的邊緣節(jié)點(diǎn)200的一個(gè)具體實(shí)例,網(wǎng)通下載節(jié)點(diǎn)514也包括多個(gè)varniash ;電信一〉網(wǎng)通代理集群516是圖1中第一運(yùn)營(yíng)商網(wǎng)絡(luò)至第二運(yùn)營(yíng)商網(wǎng)絡(luò)的代理集群300的一個(gè)具體實(shí)例,其可以包括代理集群1、代理集群2等多個(gè)代理集群,彼此可以互為備份;網(wǎng)通_>電信代理集群518是圖1中第二運(yùn)營(yíng)商網(wǎng)絡(luò)至第一運(yùn)營(yíng)商網(wǎng)絡(luò)的代理集群400的一個(gè)具體實(shí)例,其也包括代理集群1、代理集群2等多個(gè)代理集群,可以互為備份;電信數(shù)據(jù)源520是圖1中第一運(yùn)營(yíng)商網(wǎng)絡(luò)的數(shù)據(jù)源節(jié)點(diǎn)500的一個(gè)具體實(shí)例,其可以包括多個(gè)數(shù)據(jù)源節(jié)點(diǎn);網(wǎng)絡(luò)數(shù)據(jù)源522是圖1中第二運(yùn)營(yíng)商網(wǎng)絡(luò)的數(shù)據(jù)源節(jié)點(diǎn)600 —個(gè)具體實(shí)例,其可以包括多個(gè)數(shù)據(jù)源節(jié)點(diǎn)。每個(gè)varniash節(jié)點(diǎn)都對(duì)應(yīng)的一組代理集群,因此利用Varnish節(jié)點(diǎn)自身的failover (失效備份)機(jī)制,可以在某個(gè)代理集群故障時(shí),自動(dòng)切換到其他的代理集群,從而降低了服務(wù)不可用的風(fēng)險(xiǎn)。請(qǐng)參閱圖6,其示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的用于提供文件下載地址的管理方法流程圖。該管理方法始于步驟S610,在步驟S610中,首先根據(jù)文件在數(shù)據(jù)源節(jié)點(diǎn)中的存儲(chǔ)路徑生成該文件的資源定位信息。當(dāng)某個(gè)文件上傳到某個(gè)數(shù)據(jù)源節(jié)點(diǎn)之后,數(shù)據(jù)源節(jié)點(diǎn)或者其他與數(shù)據(jù)源節(jié)點(diǎn)能夠相互通信的管理設(shè)備,就可以獲得該文件在這個(gè)數(shù)據(jù)源節(jié)點(diǎn)上的存儲(chǔ)路徑,進(jìn)而根據(jù)該存儲(chǔ)路徑可以生成文件的資源定位信息,即相當(dāng)于生成該文件URL中的路徑和文件名這部分內(nèi)容。該步驟可以通過(guò)圖2中的資源定位器212執(zhí)行,相關(guān)技術(shù)可以參考前述各實(shí)施例中有關(guān)資源定位器212的描述,此處不再贅述。
一方面通過(guò)步驟S610生成文件的資源定位信息,另一方面,在步驟S620中,對(duì)該文件的內(nèi)容采用特定數(shù)據(jù)轉(zhuǎn)換生成文件的內(nèi)容摘要。文件的內(nèi)容摘要本質(zhì)上是文件內(nèi)容的標(biāo)識(shí)信息,文件內(nèi)容摘要與文件數(shù)據(jù)一一對(duì)應(yīng),不同內(nèi)容的文件,內(nèi)容摘要也不同。該步驟可以通過(guò)圖2中的摘要生成器214實(shí)現(xiàn),相關(guān)技術(shù)可以參考前述各實(shí)施例中有關(guān)摘要生成器214的描述,此處不再贅述。應(yīng)當(dāng)注意的是,步驟S610和步驟S620之間的順序是可以調(diào)整的,例如步驟S610可以在步驟S620之前、之后或者與步驟S620同時(shí)執(zhí)行。在通過(guò)步驟S610獲得文件的資源定位信息,以及通過(guò)步驟S620獲得文件的內(nèi)容摘要之后,在步驟S630中,至少根據(jù)文件的資源定位信息和文件的內(nèi)容摘要,生成文件的下載地址,如URL,該下載地址中至少包括文件的資源定位信息和文件的內(nèi)容摘要。至此,文件的下載地址就生成了,此后,可以提供給需要下載該文件的客戶端設(shè)備進(jìn)行使用。例如,客戶端設(shè)備在網(wǎng)站上點(diǎn)擊某個(gè)文件或文件列表需要下載該文件時(shí),即可獲得該文件的URL,進(jìn)而,后續(xù)客戶端設(shè)備可以根據(jù)該下載地址向邊緣節(jié)點(diǎn)發(fā)送文件下載請(qǐng)求,從而使邊緣節(jié)點(diǎn)獲得該文件的URL,該URL中不僅包括文件的存儲(chǔ)路徑等資源定位信息,還包括文件的內(nèi)容摘要。該步驟可以通過(guò)圖2中的下載地址生成器216實(shí)現(xiàn),相關(guān)技術(shù)可以參考前述各實(shí)施例中有關(guān)下載地址生成器216的描述,此處不再贅述。接著請(qǐng)參看圖7,其示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的用于數(shù)據(jù)下載系統(tǒng)中的下載管理方法流程圖。該數(shù)據(jù)下載系統(tǒng)可以包括前面各實(shí)施例描述的邊緣節(jié)點(diǎn)和數(shù)據(jù)源節(jié)點(diǎn),進(jìn)一步還可以包括前面各實(shí)施例描述的代理集群。該下載管理方法始于步驟S710,在步驟S710中,邊緣節(jié)點(diǎn)獲得來(lái)自客戶端設(shè)備的文件下載請(qǐng)求,并根據(jù)該文件下載請(qǐng)求的下載地址解析出所請(qǐng)求的文件的內(nèi)容摘要。在前面圖6給出的實(shí)施例流程中已經(jīng)介紹過(guò),客戶端設(shè)備可以獲得需要下載的文件的URL,而且該URL中還包含文件的內(nèi)容摘要,因此客戶端設(shè)備向邊緣節(jié)點(diǎn)發(fā)送下載請(qǐng)求時(shí),下載請(qǐng)求中的下載地址URL中會(huì)包含所請(qǐng)求文件的內(nèi)容摘要。在邊緣節(jié)點(diǎn)通過(guò)步驟S710獲得客戶端設(shè)備的下載請(qǐng)求,并且根據(jù)下載請(qǐng)求解析出所請(qǐng)求文件的內(nèi)容摘要之后,在步驟S720中,邊緣節(jié)點(diǎn)根據(jù)所請(qǐng)求的文件的內(nèi)容摘要在緩存中查找是否存在所請(qǐng)求的文件。如果是,則進(jìn)入步驟S730 :從緩存中獲取所請(qǐng)求的文件傳輸至客戶端設(shè)備。如果否,即在緩存中不沒(méi)有所需的文件,則進(jìn)入步驟S740 :邊緣節(jié)點(diǎn)從所請(qǐng)求的文件相關(guān)的數(shù)據(jù)源節(jié)點(diǎn)獲取所請(qǐng)求的文件,并傳輸至客戶端設(shè)備。在一個(gè)實(shí)施例的步驟S740中,邊緣節(jié)點(diǎn)可以逐個(gè)部分地從數(shù)據(jù)源節(jié)點(diǎn)獲取所請(qǐng)求的文件的各部分,并同時(shí)向客戶端設(shè)備傳輸所請(qǐng)求的文件中所獲取的部分,直到完全獲取了所請(qǐng)求的文件為止。通過(guò)這種無(wú)阻塞的回源方式,可以使邊緣節(jié)點(diǎn)不必等從數(shù)據(jù)源節(jié)點(diǎn)獲得整個(gè)文件之后再傳輸給客戶端設(shè)備,可以在從數(shù)據(jù)源節(jié)點(diǎn)獲得所請(qǐng)求的文件的過(guò)程中,同時(shí)向客戶端設(shè)備傳輸,從而進(jìn)一步提高了文件的下載速度。在一個(gè)實(shí)施例的步驟S740中,為了進(jìn)一步提高下載效率,如果邊緣節(jié)點(diǎn)和數(shù)據(jù)源節(jié)點(diǎn)不是同一運(yùn)營(yíng)商網(wǎng)絡(luò)的節(jié)點(diǎn),那么邊緣節(jié)點(diǎn)還可以通過(guò)代理集群從數(shù)據(jù)源節(jié)點(diǎn)獲得所請(qǐng)求的文件,例如,數(shù)據(jù)下 載系統(tǒng)還包括第一運(yùn)營(yíng)商網(wǎng)絡(luò)至第二運(yùn)營(yíng)商網(wǎng)絡(luò)的代理集群。步驟S740具體包括首先邊緣節(jié)點(diǎn)根據(jù)已知的回源表以及所請(qǐng)求的文件的下載地址查詢所請(qǐng)求的文件相關(guān)的數(shù)據(jù)源節(jié)點(diǎn);當(dāng)邊緣節(jié)點(diǎn)為第一運(yùn)營(yíng)商網(wǎng)絡(luò)的邊緣節(jié)點(diǎn),并且查詢到所請(qǐng)求的文件相關(guān)的數(shù)據(jù)源節(jié)點(diǎn)包括該第一運(yùn)營(yíng)商網(wǎng)絡(luò)的數(shù)據(jù)源節(jié)點(diǎn)時(shí),直接從該第一運(yùn)營(yíng)商網(wǎng)絡(luò)的數(shù)據(jù)源節(jié)點(diǎn)獲取所請(qǐng)求的文件;當(dāng)邊緣節(jié)點(diǎn)為第一運(yùn)營(yíng)商網(wǎng)絡(luò)的邊緣節(jié)點(diǎn),并且查詢到所請(qǐng)求的文件相關(guān)的數(shù)據(jù)源節(jié)點(diǎn)是第二運(yùn)營(yíng)商網(wǎng)絡(luò)的數(shù)據(jù)源節(jié)點(diǎn)時(shí),則通過(guò)第一運(yùn)營(yíng)商網(wǎng)絡(luò)至第二運(yùn)營(yíng)商網(wǎng)絡(luò)的代理集群從第二運(yùn)營(yíng)商網(wǎng)絡(luò)相關(guān)的數(shù)據(jù)源節(jié)點(diǎn)獲取所請(qǐng)求的文件。對(duì)于邊緣節(jié)點(diǎn)直接從同一運(yùn)營(yíng)商網(wǎng)絡(luò)的數(shù)據(jù)源節(jié)點(diǎn)獲取所請(qǐng)求的文件過(guò)程比較簡(jiǎn)單,不再詳述,下面主要介紹下通過(guò)代理集群從非同一運(yùn)營(yíng)商網(wǎng)絡(luò)的數(shù)據(jù)源節(jié)點(diǎn)獲取所請(qǐng)求文件的過(guò)程。具體而言,第一運(yùn)營(yíng)商網(wǎng)絡(luò)至第二運(yùn)營(yíng)商網(wǎng)絡(luò)的代理集群包括邊緣側(cè)第一運(yùn)營(yíng)商網(wǎng)絡(luò)代理集群、傳輸通道和源節(jié)點(diǎn)側(cè)第二運(yùn)營(yíng)商網(wǎng)絡(luò)代理集群,首先,邊緣側(cè)第一運(yùn)營(yíng)商網(wǎng)絡(luò)代理集群接收來(lái)自第一運(yùn)營(yíng)商網(wǎng)絡(luò)的邊緣節(jié)點(diǎn)的文件下載請(qǐng)求,并通過(guò)傳輸通道傳輸至源節(jié)點(diǎn)側(cè)第二運(yùn)營(yíng)商網(wǎng)絡(luò)代理集群;源節(jié)點(diǎn)側(cè)第二運(yùn)營(yíng)商網(wǎng)絡(luò)代理集群在接收到文件下載請(qǐng)求后,據(jù)此向第二運(yùn)營(yíng)商網(wǎng)絡(luò)相關(guān)的數(shù)據(jù)源節(jié)點(diǎn)發(fā)送文件下載請(qǐng)求,并接收該第二運(yùn)營(yíng)商網(wǎng)絡(luò)相關(guān)的數(shù)據(jù)源節(jié)點(diǎn)返回的所請(qǐng)求的文件,以及將該文件通過(guò)傳輸通道傳輸至邊緣側(cè)第一運(yùn)營(yíng)商網(wǎng)絡(luò)代理集群;進(jìn)而,該邊緣側(cè)第一運(yùn)營(yíng)商網(wǎng)絡(luò)代理集群再將該文件傳輸至第一運(yùn)營(yíng)商網(wǎng)絡(luò)的邊緣節(jié)點(diǎn)。當(dāng)邊緣節(jié)點(diǎn)通過(guò)步驟S740獲得客戶端所請(qǐng)求文件的同時(shí)或者之后,在步驟S750中,將該文件的內(nèi)容摘要以及從數(shù)據(jù)源節(jié)點(diǎn)獲得的該文件內(nèi)容進(jìn)行緩存,以便后續(xù)再有下載該文件的下載請(qǐng)求時(shí),邊緣節(jié)點(diǎn)不需要再去數(shù)據(jù)源節(jié)點(diǎn)獲取文件,直接通過(guò)步驟S730從自己的緩存中將該文件傳輸給客戶端設(shè)備即可。通過(guò)步驟S750的不斷積累,邊緣節(jié)點(diǎn)緩存中的文件越來(lái)越多,在很大程度上能夠?yàn)榭蛻舳嗽O(shè)備直接提供所請(qǐng)求的文件,而無(wú)需再去數(shù)據(jù)源節(jié)點(diǎn)進(jìn)行下載,由此提高的文件的下載效率,也減少了與數(shù)據(jù)源節(jié)點(diǎn)之間的通信次數(shù),并減輕了數(shù)據(jù)源節(jié)點(diǎn)的負(fù)載負(fù)擔(dān)。在上述數(shù)據(jù)處理過(guò)程中,步驟S710可以通過(guò)圖1中的解析器104執(zhí)行,步驟S720和S730可以通過(guò)圖1中的查找器106執(zhí)行,步驟S740可以通過(guò)圖1中的回源器108執(zhí)行,步驟S750可以通過(guò)圖1中的緩存器102執(zhí)行,而且以上邊緣節(jié)點(diǎn)執(zhí)行的各步驟可以通過(guò)varniash緩存服務(wù)器執(zhí)行。相關(guān)技術(shù)實(shí)現(xiàn)可以參考前述各實(shí)施例中對(duì)應(yīng)部件的描述,此處不再贅述。通過(guò)以上本發(fā)明的各實(shí)施例可以看出,邊緣節(jié)點(diǎn)根據(jù)從所請(qǐng)求文件下載地址解析出的文件內(nèi)容摘要作為索引關(guān)鍵詞,在緩存中查詢是否已經(jīng)存儲(chǔ)了所請(qǐng)求的文件,而不是根據(jù)文件的整個(gè)URL作為索引查詢,同理,在緩存中存儲(chǔ)文件時(shí)也是根據(jù)文件的內(nèi)容摘要是否相同判斷是否為同一份文件,即文件的內(nèi)容摘要是文件內(nèi)容數(shù)據(jù)的標(biāo)識(shí),只要文件的內(nèi)容摘要不同文件數(shù)據(jù)本身就不同,反之,只要文件的內(nèi)容摘要相同就說(shuō)明文件數(shù)據(jù)本身就是同一個(gè)。因此,如果兩個(gè)文件的URL不同,但文件的內(nèi)容數(shù)據(jù)實(shí)質(zhì)相同,那么該文件的內(nèi)容摘要就是相同的,進(jìn)而,如果該文件此前已經(jīng)在邊緣節(jié)點(diǎn)中緩存過(guò)了,那么后續(xù)即便是客戶端設(shè)備再發(fā)來(lái)一個(gè)不同的文件下載地址URL,只要URL中該文件的內(nèi)容摘要和緩存中的一致,那么邊緣節(jié)點(diǎn)也不會(huì)再去數(shù)據(jù)源節(jié)點(diǎn)重復(fù)下載該文件并緩存,而是直接根據(jù)該文件的內(nèi)容摘要從緩存中找到該文件提供給客戶端設(shè)備。由此可以看出,一方面減少了緩存中的重復(fù)數(shù)據(jù),另一方面也提 高了為客戶端設(shè)備下載文件的效率,同時(shí)減少了邊緣節(jié)點(diǎn)到數(shù)據(jù)源節(jié)點(diǎn)的通信次數(shù),進(jìn)而減少了數(shù)據(jù)源節(jié)點(diǎn)的負(fù)載以及代理集群的帶寬消耗。進(jìn)一步,有些情況下,文件URL沒(méi)有發(fā)生變化,但實(shí)質(zhì)文件的內(nèi)容數(shù)據(jù)已經(jīng)發(fā)生了更新。如果采用現(xiàn)有技術(shù)中只根據(jù)不攜帶文件內(nèi)容摘要信息的URL作為查詢緩存文件的索引關(guān)鍵詞,那么很可能將實(shí)質(zhì)內(nèi)容數(shù)據(jù)已經(jīng)發(fā)生變化、URL沒(méi)變的文件發(fā)送給客戶端設(shè)備,進(jìn)而導(dǎo)致客戶端設(shè)備下載不到最新、最正確的文件。而采用本發(fā)明實(shí)施例的方案,由于是根據(jù)文件URL中的文件內(nèi)容摘要判斷緩存中是否存在該文件,如果URL沒(méi)變、實(shí)質(zhì)數(shù)據(jù)內(nèi)容變化的話,那么在通過(guò)文件內(nèi)容摘要查詢緩存時(shí),已經(jīng)找不到對(duì)應(yīng)的文件了,于是就會(huì)自動(dòng)從數(shù)據(jù)源節(jié)點(diǎn)獲取最新的文件提供給客戶端設(shè)備,即緩存中的文件及時(shí)得到了更新。換而言之,本發(fā)明實(shí)施例中緩存的更新是由邊緣節(jié)點(diǎn)主動(dòng)發(fā)起的,而不是像現(xiàn)有CDN網(wǎng)絡(luò)中由數(shù)據(jù)源節(jié)點(diǎn)發(fā)起的,因此避免了使用現(xiàn)有CDN數(shù)據(jù)緩存更新效率低的問(wèn)題。再進(jìn)一步,邊緣節(jié)點(diǎn)通過(guò)代理集群從數(shù)據(jù)源節(jié)點(diǎn)獲取文件,當(dāng)文件較大時(shí),可以利用邊緣節(jié)點(diǎn)服務(wù)器(如Varnish)的Stream非阻塞模式,可以實(shí)現(xiàn)邊緩存邊讓客戶端設(shè)備下載。避免了使用CDN時(shí),需要等到整個(gè)文件完全緩存才能下載的問(wèn)題,整個(gè)過(guò)程客戶端設(shè)備不用等待。在此提供的算法和顯示不與任何特定計(jì)算機(jī)、虛擬系統(tǒng)或者其它設(shè)備固有相關(guān)。各種通用系統(tǒng)也可以與基于在此的示教一起使用。根據(jù)上面的描述,構(gòu)造這類系統(tǒng)所要求的結(jié)構(gòu)是顯而易見(jiàn)的。此外,本發(fā)明也不針對(duì)任何特定編程語(yǔ)言。應(yīng)當(dāng)明白,可以利用各種編程語(yǔ)言實(shí)現(xiàn)在此描述的本發(fā)明的內(nèi)容,并且上面對(duì)特定語(yǔ)言所做的描述是為了披露本發(fā)明的最佳實(shí)施方式。在此處所提供的說(shuō)明書(shū)中,說(shuō)明了大量具體細(xì)節(jié)。然而,能夠理解,本發(fā)明的實(shí)施例可以在沒(méi)有這些具體細(xì)節(jié)的情況下實(shí)踐。在一些實(shí)例中,并未詳細(xì)示出公知的方法、結(jié)構(gòu)和技術(shù),以便不模糊對(duì)本說(shuō)明書(shū)的理解。類似地,應(yīng)當(dāng)理解,為了精簡(jiǎn)本公開(kāi)并幫助理解各個(gè)發(fā)明方面中的一個(gè)或多個(gè),在上面對(duì)本發(fā)明的示例性實(shí)施例的描述中,本發(fā)明的各個(gè)特征有時(shí)被一起分組到單個(gè)實(shí)施例、圖、或者對(duì)其的描述中。然而,并不應(yīng)將該公開(kāi)的方法解釋成反映如下意圖即所要求保護(hù)的本發(fā)明要求比在每個(gè)權(quán)利要求中所明確記載的特征更多的特征。更確切地說(shuō),如下面的權(quán)利要求書(shū)所反映的那樣,發(fā)明方面在于少于前面公開(kāi)的單個(gè)實(shí)施例的所有特征。因此,遵循具體實(shí)施方式
的權(quán)利要求書(shū)由此明確地并入該具體實(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ō)明書(shū)(包括伴隨的權(quán)利要求、摘要和附圖)中公開(kāi)的所有特征以及如此公開(kāi)的任何方法或者設(shè)備的所有過(guò)程或單元進(jìn)行組合。除非另外明確陳述,本說(shuō)明書(shū)(包括伴隨的權(quán)利要求、摘要和附圖)中公開(kāi)的每個(gè)特征可以由提供相同、等同或相似目的的替代特征來(lái)代替。此外,本領(lǐng)域的技術(shù)人員能夠理解,盡管在此所述的一些實(shí)施例包括其它實(shí)施例中所包括的某些特征而不是其它特征,但是不同實(shí)施例的特征的組合意味著處于本發(fā)明的范圍之內(nèi)并且形成不同的實(shí)施例。例如,在下面的權(quán)利要求書(shū)中,所要求保護(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)。單詞第一、第二、以及第三等的使用不表示任何順序??蓪⑦@些單詞解釋為名稱。
權(quán)利要求
1.一種用于提供文件下載地址的管理設(shè)備,包括 資源定位器,被配置為根據(jù)文件在數(shù)據(jù)源節(jié)點(diǎn)中的存儲(chǔ)路徑生成所述文件的資源定位信息; 摘要生成器,被配置為對(duì)所述文件的內(nèi)容采用特定數(shù)據(jù)轉(zhuǎn)換生成所述文件的內(nèi)容摘要;以及 下載地址生成器,被配置為至少根據(jù)所述資源定位器提供的所述文件的資源定位信息和所述摘要生成器提供的所述文件的內(nèi)容摘要,生成所述文件的下載地址,所述下載地址中至少包括所述文件的資源定位信息和所述文件的內(nèi)容摘要。
2.根據(jù)權(quán)利要求1所述的管理設(shè)備,所述下載地址生成器生成的所述文件的下載地址是所述文件的統(tǒng)一資源定位符U RL。
3.一種用于提供文件下載地址的管理方法,包括 根據(jù)文件在數(shù)據(jù)源節(jié)點(diǎn)中的存儲(chǔ)路徑生成所述文件的資源定位信息; 對(duì)所述文件的內(nèi)容采用特定數(shù)據(jù)轉(zhuǎn)換生成所述文件的內(nèi)容摘要; 至少根據(jù)所述文件的資源定位信息和所述文件的內(nèi)容摘要,生成所述文件的下載地址,所述下載地址中至少包括所述文件的資源定位信息和所述文件的內(nèi)容摘要。
4.如權(quán)利要求3所述的管理方法,所述文件的下載地址是所述文件的統(tǒng)一資源定位符URL。
5.如權(quán)利要求3或4所述的管理方法,還包括 將所述文件的下載地址提供給需要下載該文件的客戶端設(shè)備。
全文摘要
本發(fā)明公開(kāi)了一種用于提供文件下載地址的管理設(shè)備及方法,其中,該方法包括根據(jù)文件在數(shù)據(jù)源節(jié)點(diǎn)中的存儲(chǔ)路徑生成所述文件的資源定位信息;對(duì)所述文件的內(nèi)容采用特定數(shù)據(jù)轉(zhuǎn)換生成所述文件的內(nèi)容摘要;至少根據(jù)所述文件的資源定位信息和所述文件的內(nèi)容摘要,生成所述文件的下載地址,所述下載地址中至少包括所述文件的資源定位信息和所述文件的內(nèi)容摘要。
文檔編號(hào)H04L29/12GK103036969SQ20121053033
公開(kāi)日2013年4月10日 申請(qǐng)日期2012年12月10日 優(yōu)先權(quán)日2012年12月10日
發(fā)明者徐鐵城, 陳超 申請(qǐng)人:北京奇虎科技有限公司, 奇智軟件(北京)有限公司