出現(xiàn)相同的MD5值,因此不會存儲圖片2。
[0147] 即對于本次接收的各圖片,最終內(nèi)容分發(fā)網(wǎng)絡服務器會存儲圖片1和圖片3,而不 會存儲圖片2。
[0148] 步驟S250,不存儲當前接收到的相應的圖片。
[0149] 本發(fā)明實施例中,于與本地已有的圖片相同的新接收到的圖片,CDN服務器則不存 儲。
[0150] 在本發(fā)明實施例中,CDN服務器對于該不存儲的圖片,將本地的該圖片的第二圖片 地址返回給上傳客戶端。
[0151 ]步驟S260,存儲當前接收到的相應的圖片。
[0152] 本發(fā)明實施例中,于與本地已有的圖片不同的新接收到的圖片,CDN服務器則存 儲。
[0153] 在本發(fā)明實施例中,CDN服務器對于該存儲的圖片,將得到的該圖片的第二圖片地 址返回給上傳客戶端。
[0154] 在本發(fā)明實施例中,CDN服務器執(zhí)行步驟S240-S260。
[0155] 步驟S270,上傳客戶端將所述網(wǎng)頁資源包中各第一圖片地址替換為相應圖片在內(nèi) 容分發(fā)網(wǎng)絡服務器中的第二圖片地址。
[0156] 例如,對于步驟S240中所述的圖片1、圖片2和圖片3。其中不會被內(nèi)容分發(fā)網(wǎng)絡服 務器存儲的圖片2,在內(nèi)容分發(fā)網(wǎng)絡服務器必然有一圖片的MD5值與該圖片2的MD5值匹配, 假設內(nèi)容分發(fā)網(wǎng)絡服務器的圖片為圖片X,則會將圖片X的地址作為圖片2的第二圖片地址, 然后在網(wǎng)頁資源包中相應地找到與圖片2對應的第一圖片地址,并用第二圖片地址替換掉 第一圖片地址;而其中會被內(nèi)容分發(fā)網(wǎng)絡服務器存儲的圖片1和圖片3,則會直接分別將圖 片1和圖片3存儲在內(nèi)容分發(fā)網(wǎng)絡服務器中的地址作為圖片1和圖片3的第二圖片地址。
[0157] 然后,在上傳客戶端中,則可以將網(wǎng)絡資源包中的第一圖片地址替換為相應圖片 的第二圖片地址。
[0158] 步驟S280,上傳客戶端將替換了第一圖片地址后的網(wǎng)頁資源包上傳至內(nèi)容分發(fā)網(wǎng) 絡服務器。
[0159] 在本發(fā)明實施例中,上傳客戶端還執(zhí)行步驟S270-S280。
[0160]在本發(fā)明實施例中,對于與實施例一類似的步驟,不再贅述。
[0161] 在本發(fā)明實施例中,同樣將網(wǎng)頁對應的網(wǎng)頁資源包中引用的相同圖片的第一圖片 地址進行歸一化,并將歸一化后的各第一圖片地址對應的圖片上傳至內(nèi)容分發(fā)網(wǎng)絡服務 器,然后將所述網(wǎng)頁資源包中各第一圖片地址替換為相應圖片在內(nèi)容分發(fā)網(wǎng)絡服務器中的 第二圖片地址,并將替換了第一圖片地址后的網(wǎng)頁資源包上傳至內(nèi)容分發(fā)網(wǎng)絡服務器,從 而降低了上傳至內(nèi)容分發(fā)網(wǎng)絡服務器圖片的重復率,提高了內(nèi)容分發(fā)網(wǎng)絡服務器存儲空間 的利用率。
[0162] 而且,在本發(fā)明實施例中,在內(nèi)容分發(fā)網(wǎng)絡服務器接收到圖片之后,會分別計算內(nèi) 容分發(fā)網(wǎng)絡服務器接收到的各圖片的MD5值以及內(nèi)容分發(fā)網(wǎng)絡服務器本地已存圖片的MD5 值并比較匹配,當出現(xiàn)相同的MD5值時,則不存儲當前接收到的相應的圖片;當未出現(xiàn)相同 的MD5值時,則存儲當前接收到的相應的圖片,從而可以進一步地降低內(nèi)容分發(fā)網(wǎng)絡服務器 中存儲圖片的重復率,從而提高內(nèi)容分發(fā)網(wǎng)絡服務器存儲空間的利用率。
[0163] 另外,在本發(fā)明實施例中,利用MD5值的唯一性,在上傳客戶端中分別計算網(wǎng)頁資 源包中各圖片的MD5值并比較,將MD5值相同的圖片歸一化為一個圖片,從而進一步地降低 了上傳至內(nèi)容分發(fā)網(wǎng)絡服務器圖片的重復率。
[0164] 實施例三
[0165] 參照圖3,示出了根據(jù)本發(fā)明一個實施例的一種網(wǎng)頁資源包上傳方法實施例的步 驟流程圖,具體可以包括如下步驟:
[0166] 步驟S310,上傳客戶端獲取網(wǎng)頁資源包。
[0167] 該網(wǎng)頁資源包包括該網(wǎng)頁資源包包括JavaScript組合資源包;所述JavaScript組 合資源包是通過打包工具將多個JavaScript資源包合并獲得。
[0168] 步驟S320,上傳客戶端對于各網(wǎng)頁資源包,將所述網(wǎng)頁資源包中各第一圖片地址, 按第一圖片地址進行歸一化。
[0169] 在本發(fā)明實施例中,對于各個網(wǎng)絡資源包,可以遍歷其中的每行代碼,讀取其中的 各個第一圖片地址,然后對這些第一圖片地址進行歸一化。
[0170] 優(yōu)選的,步驟S320,具體包括:
[0171] 子步驟S321,逐行讀取所述網(wǎng)頁資源包中的代碼,判斷是否有包括圖片格式的路 徑信息。
[0172]所述圖片格式包括:jpg圖片格式、和/或PNG圖片格式。當然,還可能包括其他格 式,本發(fā)明不對其加以限制。
[0173]在本發(fā)明實施例中,網(wǎng)頁資源包中包含由JavaScript資源包合并而成的 JavaScript組合資源包,其中的JavaScript資源包為一系列代碼行,其中可以包括圖片格 式的路徑信息。
[0174]在本發(fā)明實施例中,圖片格式包括jpg圖片格式、和/或PNG圖片格式。其中jpg圖片 格式的路徑信息一般是一段以".jpg"結(jié)尾的代碼,PNG圖片格式則一般是一段以".png"結(jié) 尾的代碼。
[0175]例如,http: //pi · qhimg · C〇m/t01el863ffab91d5971 · jpg為一個 jpg圖片格式的路 徑信息;http: //pi · qhimg · C〇m/t010a8d81330826f08e · png為一個PNG圖片格式的路徑信 息。
[0176]在本發(fā)明實施例中,可以利用上述的".jpg"和".png"判斷網(wǎng)頁資源包中的代碼中 是否有包括圖片格式的路徑信息。當然,也可以采用其他的方式判斷,對此本發(fā)明不加以限 定。
[0177] 子步驟S322,如果有包括圖片格式的路徑信息,則確認所述包括圖片格式的路徑 信息為第一圖片地址并進行記錄。
[0178] 在本發(fā)明實施例中,對于包括圖片格式的路徑信息,即為本發(fā)明實施例所述的第 一圖片地址,可以將其記錄在消息隊列中。
[0179] 子步驟S323,對于記錄的各路徑信息,將相同的路徑信息歸一化為一個路徑信息。
[0180] 優(yōu)選地,在本發(fā)明實施例中,步驟S323,包括:
[0181 ] 子步驟S3231,對于記錄的各路徑信息,計算各路徑信息的MD5值。
[0182] 其中,對于路徑信息而言,MD5值的唯一性具體是指,對應不同圖片的路徑信息的 MD5值是唯一且互不相同的,而對應同樣圖片的路徑信息的MD5值是一樣的。
[0183] 在實際應用中,同樣可以利用MD5值計算器,如完美MD5計算器等,計算各路經(jīng)信息 的MD5值。當然,也可以采用其他的方式計算MD5值,對此,本發(fā)明不加以限定。
[0184] 例如,某一網(wǎng)頁中的包括圖片格式的路徑信息以及各路徑信息的MD5值分別如表 (3)所示: L0186J 表(3)
[0187] 子步驟S3232,將MD5值相同的路徑信息,歸一化為一個路徑信息。
[0188] 基于上述的MD5值的唯一性,若存在MD5值相同的情況,則表示對應該MD5值的多個 路徑信息對應同樣的圖片,因此,可以將該多個路徑信息歸一化為一個。
[0189] 其中,歸一化的具體做法可以為,在記錄路徑信息的消息隊列中,依據(jù)各MD5值,只 保留MD5值相同的多個路徑信息中的任意一個路徑信息。
[0190] 例如,在記錄路徑消息的消息隊列中,依據(jù)各MD5值,對于MD5值相同的多個路徑信 息,可以只保留其中首次計算得出該MD5值的路徑消息。
[0191]當然,也可以采用其他方式進行路徑信息的歸一化,對此,本發(fā)明不加以限定。
[0192] 例如,對于步驟S3231中表(3)所述的某一網(wǎng)頁中的包括圖片格式的路徑信息以及 各路徑信息的MD5值,其中路徑信息1和路徑信息3的MD5值相同,則可以將該兩路徑信息歸 一化為一個路徑信息,在實際應用過程中,可以只保留記錄的路徑信息1,以該路徑信息獲 取圖片進行上傳過程。
[0193] 步驟S330,上傳客戶端將歸一化后的各第一圖片地址對應的圖片上傳至內(nèi)容分發(fā) 網(wǎng)絡服務器。
[0194] 步驟S340,內(nèi)容分發(fā)網(wǎng)絡服務器對于接收到的各圖片,判斷內(nèi)容分發(fā)網(wǎng)絡服務器 本地是否存在相同的圖片;如果存在相同的圖片,則進入步驟S350 ;如果不存在相同的圖 片,則進入步驟S360。
[0195] 在⑶N服務器接收到上傳客戶端上傳的圖片后,則會判斷本地已有的圖片中是否 已經(jīng)存在與接收到的圖片中相同的圖片,如果存在,則進入步驟S250,如果不存在則進入步 驟S260〇
[0196] 優(yōu)選的,步驟S340具體包括:
[0197] 子步驟S341,計算接收到的各圖片的MD5值。
[0198] 子步驟S342,計算本地已存的圖片的MD5值。
[0199] 子步驟S343,將接收到的各圖片的MD5值,與本地已存的圖片的MD5值進行匹配;當 出現(xiàn)相同的MD5值時,則進入步驟S350;當未出現(xiàn)相同的MD5值時,則進入步驟S360。
[0200] 步驟S350,不存儲當前接收到的相應的圖片。
[0201] 在本發(fā)明實施例中,CDN服務器對于該不存儲的圖片,將本地的該圖片的第二圖片 地址返回給上傳客戶端。
[0202] 步驟S360,存儲當前接收到的相應的圖片。
[0203] 在本發(fā)明實施例中,CDN服務器對于該存儲的圖片,將得到的該圖片的第二圖片地 址返回給上傳客戶端。
[0204] 步驟S370,上傳客戶端將所述網(wǎng)頁資源包中各第一圖片地址替換為相應圖片在內(nèi) 容分發(fā)網(wǎng)絡服務器中的第二圖片地址。
[0205] 當然,在本發(fā)明實施例中,上傳客戶端中可記錄歸并前的第一圖片地址和歸并后 的第一圖片地址的圖片之間的對應關系,然后接收CDN服務器返回的該圖片的第二圖片地 址,如此,可以根據(jù)上述對應關系將網(wǎng)頁資源包中各第一圖片地址替換為第二圖片地址。
[0206] 步驟S380,上傳客戶端將替換了第一圖片地址后的網(wǎng)頁資源包上傳至內(nèi)容分發(fā)網(wǎng) 絡服務器。
[0207] 當然,在本發(fā)明實施例中,在步驟S220之后,還可獲取歸一化后的各第一圖片地址 的圖片,然后對各圖片進行再次歸一化,然后再將歸一化的圖片上傳至CDN服務器。如此,避 免對于數(shù)據(jù)庫中相同的圖片,但是存儲在不同的位置的情況,雖然同一個第一圖片地址只 存在一個,但是可能存在兩個第一圖片地址對應的數(shù)據(jù)庫中存儲的圖片,實際上是同一張 圖片。那么上述過程則可完全保證上傳客戶端上傳的圖片是唯一的。
[0208] 在本發(fā)明實施例中,對于與實施例一、二類似的步驟,在此不再贅述。
[0209] 在本發(fā)明實施例中,同樣將網(wǎng)頁對應的網(wǎng)頁資源包中引用的相同圖片的第一圖片 地址進行歸一化,并將歸一化后的各第一圖片地址對應的圖片上傳至內(nèi)容分發(fā)網(wǎng)絡服務 器,然后將所述網(wǎng)頁資源包中各第一圖片地址替換為相應圖片在內(nèi)容分發(fā)網(wǎng)絡服務器中的 第二圖片地址,并將替換了第一圖片地址后的網(wǎng)頁資源包上傳至內(nèi)容分發(fā)網(wǎng)絡服務器,從 而降低了上傳至內(nèi)容分發(fā)網(wǎng)絡服務器圖片的重復率,提高了內(nèi)容分發(fā)網(wǎng)絡服務器存儲空間 的利用率。
[0210] 而且,在本發(fā)明實施例中,在內(nèi)容分發(fā)網(wǎng)絡服務器接收到圖片之后,會分別計算內(nèi) 容分發(fā)網(wǎng)絡服務器接收到的各圖片的MD5值以及內(nèi)容分發(fā)網(wǎng)絡服務器本地已存圖片的MD5 值并比較匹配,當出現(xiàn)相同的MD5值時,則不存儲當前接收到的相應的圖片;當未出現(xiàn)相同 的MD5值時,則存儲當前接收到的相應的圖片,從而可以進一步地降低內(nèi)容分發(fā)網(wǎng)絡服務器 中存儲圖片的重復率,從而提高內(nèi)容分發(fā)網(wǎng)絡服務器存儲空間的利用率。
[0211] 另外,在本發(fā)明實施例中,在上傳客戶端逐行讀取所述網(wǎng)頁資源包中的代碼,記錄 其中包括圖片格式的路徑信息作為第一圖片地址,然后利用MD5值的唯一性,分別計算記錄 的路徑信息的MD5值并比較,將MD5值相同的路徑信息歸一化為一個路徑信息,從而進一步 地降低了上傳至內(nèi)容分發(fā)網(wǎng)絡服務器圖片的重復率。
[0212] 對于方法實施例,為了簡單描述,故將其都表述為一系列的動作組合,但是本領域 技術人員應該知悉,本發(fā)明實