本發(fā)明涉及計算機(jī)技術(shù)領(lǐng)域,尤其涉及一種比對網(wǎng)頁中合并圖的方法和裝置。
背景技術(shù):
由于,同一個網(wǎng)頁對不同的用戶以及用戶的不同狀態(tài),往往會展示出不同的內(nèi)容,例如,網(wǎng)頁會針對用戶當(dāng)前是否登錄、用戶操作進(jìn)度的不同而展示不同的背景內(nèi)容。即一個網(wǎng)頁在不同的狀態(tài)下會包含不同的區(qū)塊,例如,在狀態(tài)1下會包含內(nèi)容區(qū)塊1、2、3,在狀態(tài)2下會包含內(nèi)容區(qū)塊2、3、4,在狀態(tài)3下會包含內(nèi)容區(qū)塊5、6、7。這樣,在不同狀態(tài)下,網(wǎng)頁中的一組背景圖可能將隨之發(fā)生變化(背景圖替換、增刪等),為了能提高網(wǎng)頁的響應(yīng)速度,常常將網(wǎng)頁中所包含的一組背景圖組合成一張合并圖。當(dāng)網(wǎng)頁處于不同狀態(tài)時,需要周期性地判斷本次的合并圖相對于上次的合并圖來說是否發(fā)生了變化,以滿足網(wǎng)頁顯示的需要。
目前常用的做法是,使用數(shù)據(jù)庫(或文件)來存儲上次合并時所包含的每組背景圖的全部圖片信息,當(dāng)判斷本次的合并圖與上次的合并圖是否一致時,需要從數(shù)據(jù)庫(或文件)中讀取構(gòu)成上次合并圖的每張背景圖的全部圖片信息來與構(gòu)成本次合并圖的每張背景圖的全部圖片信息進(jìn)行一一比對,以判斷合并圖是否有變化。
上述方法不僅需要占用數(shù)據(jù)庫(或文件)的存儲資源,而且,需要對構(gòu)成合并圖的每張圖的全部圖片信息進(jìn)行一一比對,過程繁瑣。
技術(shù)實現(xiàn)要素:
有鑒于此,本發(fā)明實施例的目的在于提供一種比對網(wǎng)頁中合并圖的方法和裝置,通過對構(gòu)成本次合并圖的每張背景圖的屬性值進(jìn)行計算,進(jìn)而比對結(jié)果值,能夠快速判定合并圖是否發(fā)生了變化。
第一方面,本發(fā)明實施例提供了一種比對網(wǎng)頁中合并圖的方法,包括:
實時獲取當(dāng)前網(wǎng)頁中構(gòu)成本次合并圖的每張背景圖;
根據(jù)每張背景圖的屬性值進(jìn)行計算,以生成合并圖的結(jié)果值,且,將結(jié)果值進(jìn)行存儲;
比較結(jié)果值與上一次存儲的預(yù)先結(jié)果值是否相等,以判斷合并圖是否發(fā)生了變化。
結(jié)合第一方面,本發(fā)明實施例提供了第一方面的第一種可能的實施方式,其中,根據(jù)每張背景圖的屬性值進(jìn)行計算,以生成合并圖的結(jié)果值,且,將結(jié)果值進(jìn)行存儲包括以下步驟:
提取每張背景圖的路徑信息;
對路徑信息進(jìn)行字符串排序;
將排序后的每張背景圖的字符串進(jìn)行拼接,得到一個拼接字符串;
對拼接字符串進(jìn)行計算得到一個結(jié)果值。
結(jié)合第一方面,本發(fā)明實施例提供了第一方面的第二種可能的實施方式,其中,根據(jù)每張背景圖的屬性值進(jìn)行計算,以生成合并圖的結(jié)果值,且,將結(jié)果值進(jìn)行存儲包括以下步驟:
提取每張背景圖的內(nèi)容信息;
對內(nèi)容信息進(jìn)行字符串排序;
將排序后的每張背景圖的字符串進(jìn)行拼接,得到一個拼接字符串;
對拼接字符串進(jìn)行計算得到一個結(jié)果值。
結(jié)合第一方面,本發(fā)明實施例提供了第一方面的第三種可能的實施方式,其中,計算包括MD5運(yùn)算。
結(jié)合第一方面,本發(fā)明實施例提供了第一方面的第四種可能的實施方式,其中,比較結(jié)果值與上一次存儲的預(yù)先結(jié)果值是否相等,以判斷合并圖是否發(fā)生了變化包括:
比較結(jié)果值與上一次存儲的結(jié)果值是否相等;
如果相等,判定合并圖沒有發(fā)生變化;
如果不相等,判定合并圖發(fā)生了變化,用本次合并圖替換上次的合并圖。
第二方面,本發(fā)明實施例提供了一種比對網(wǎng)頁中合并圖的裝置,包括:獲取模塊,用于實時獲取當(dāng)前網(wǎng)頁中構(gòu)成本次合并圖的每張背景圖;
計算模塊,用于根據(jù)每張背景圖的屬性值進(jìn)行計算,以生成合并圖的結(jié)果值,且,將結(jié)果值進(jìn)行存儲;
比較模塊,用于比較結(jié)果值與上一次存儲的預(yù)先結(jié)果值是否相等,以判斷合并圖是否發(fā)生了變化。
結(jié)合第二方面,本發(fā)明實施例提供了第二方面的第一種可能的實施方式,其中,計算模塊包括:
路徑提取單元,用于提取每張背景圖的路徑信息;
路徑處理單元,用于對路徑信息進(jìn)行字符串排序;
路徑拼接單元,用于將排序后的每張背景圖的字符串進(jìn)行拼接,得到一個拼接字符串;
路徑計算單元,用于對拼接字符串進(jìn)行計算得到一個結(jié)果值。
結(jié)合第二方面,本發(fā)明實施例提供了第二方面的第二種可能的實施方式,其中,計算模塊還包括:
內(nèi)容提取單元,用于提取每張背景圖的內(nèi)容信息;
內(nèi)容處理單元,用于對內(nèi)容信息進(jìn)行字符串排序;
內(nèi)容拼接單元,用于將排序后的每張背景圖的字符串進(jìn)行拼接,得到一個拼接字符串;
內(nèi)容計算單元,用于對拼接字符串進(jìn)行計算得到一個結(jié)果值。
結(jié)合第二方面,本發(fā)明實施例提供了第二方面的第三種可能的實施方式,其中,計算模塊包括MD5運(yùn)算單元。
結(jié)合第二方面,本發(fā)明實施例提供了第二方面的第四種可能的實施方式,其中,比較模塊包括:
結(jié)果比較單元,用于比較結(jié)果值與上一次存儲的結(jié)果值是否相等;
肯定執(zhí)行單元,當(dāng)結(jié)果值與上一次存儲的結(jié)果值相等時,判定合并圖沒有發(fā)生變化;
否定執(zhí)行單元,當(dāng)結(jié)果值與上一次存儲的結(jié)果值不相等時,用本次合并圖替換上次的合并圖。
本發(fā)明實施例提供的一種比對網(wǎng)頁中合并圖的方法和裝置,本方案中實時動態(tài)的獲取當(dāng)前網(wǎng)頁中構(gòu)成本次合并圖的每張背景圖,然后,根據(jù)每張背景圖的屬性值進(jìn)行計算,經(jīng)計算后得到生成合并圖的結(jié)果值,并將結(jié)果值進(jìn)行存儲,比較結(jié)果值與上一次存儲的預(yù)先結(jié)果值是否相等,以判斷合并圖是否發(fā)生了變化。通過上述步驟,無需對構(gòu)成合并圖的每張圖的全部圖片信息進(jìn)行一一比對,從而節(jié)省了數(shù)據(jù)庫(或文件)的存儲資源,過程簡便,進(jìn)而提高了網(wǎng)頁的性能。
為使本發(fā)明的上述目的、特征和優(yōu)點能更明顯易懂,下文特舉較佳實施例,并配合所附附圖,作詳細(xì)說明如下。
附圖說明
為了更清楚地說明本發(fā)明實施例的技術(shù)方案,下面將對實施例中所需要使用的附圖作簡單地介紹,應(yīng)當(dāng)理解,以下附圖僅示出了本發(fā)明的某些實施例,因此不應(yīng)被看作是對范圍的限定,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他相關(guān)的附圖。
圖1示出了本發(fā)明實施例所提供的一種比對網(wǎng)頁中合并圖的方法的流程圖;
圖2示出了本發(fā)明實施例所提供的一種比對網(wǎng)頁中合并圖的裝置的結(jié)構(gòu)框架圖。
主要組件符號說明:
1-獲取模塊 2-計算模塊
3-比較模塊
具體實施方式
下面將結(jié)合本發(fā)明實施例中附圖,對本發(fā)明實施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例。通常在此處附圖中描述和示出的本發(fā)明實施例的組件可以以各種不同的配置來布置和設(shè)計。因此,以下對在附圖中提供的本發(fā)明的實施例的詳細(xì)描述并非旨在限制要求保護(hù)的本發(fā)明的范圍,而是僅僅表示本發(fā)明的選定實施例?;诒景l(fā)明的實施例,本領(lǐng)域技術(shù)人員在沒有做出創(chuàng)造性勞動的前提下所獲得的所有其他實施例,都屬于本發(fā)明保護(hù)的范圍。
在本發(fā)明的描述中,需要說明的是,術(shù)語“中心”、“上”、“下”、“左”、“右”、“豎直”、“水平”、“內(nèi)”、“外”等指示的方位或位置關(guān)系為基于附圖所示的方位或位置關(guān)系,僅是為了便于描述本發(fā)明的簡化描述,而不是指示或暗示所指的設(shè)備或組件必須具有特定的方位、以特定的方位構(gòu)造和操作,因此不能理解為對本發(fā)明的限制。此外,術(shù)語“第一”、“第二”、“第三”僅用于描述目的,而不能理解為指示或暗示相對重要性。其中,術(shù)語“第一位置”和“第二位置”為兩個不同的位置。
在本發(fā)明的描述中,需要說明的是,除非另有明確的規(guī)定和限定,術(shù)語“安裝”、“相連”、“連接”應(yīng)做廣義理解,例如,可以是固定連接,也可以是可拆卸連接,或一體地連接;可以是機(jī)械連接,也可以是電連接;可以是直接相連,也可以通過中間媒介間接相連,可以是兩個組件內(nèi)部的連通。對于本領(lǐng)域的普通技術(shù)人員而言,可以具體情況理解上述術(shù)語在本發(fā)明中的具體含義。
同一個網(wǎng)頁對不同的用戶以及用戶的不同狀態(tài),往往會展示出不同的內(nèi)容,例如,網(wǎng)頁會針對用戶操作進(jìn)度的不同而展示不同的背景內(nèi)容,這樣,在不同狀態(tài)下,網(wǎng)頁中的一組背景圖可能將隨之發(fā)生變化(背景圖替換、增刪等)。目前,常用的做法需要一一比對數(shù)據(jù)庫(或文件)中構(gòu)成合并圖的每張背景圖的全部圖片信息,以確定是否有背景圖的替換、增刪等。這樣,在比對的過程中,會耗費數(shù)據(jù)庫(或文件)的存儲資源,影響網(wǎng)頁的響應(yīng)性能。本發(fā)明提供一種比對網(wǎng)頁中合并圖的方法和裝置,來解決上述問題。
實施例一
參見圖1所示的一種比對網(wǎng)頁中合并圖的方法的流程圖,該方法包括以下步驟:
S101:實時獲取當(dāng)前網(wǎng)頁中構(gòu)成本次合并圖的每張背景圖。
由于網(wǎng)頁是根據(jù)用戶的使用情況實時顯示背景內(nèi)容的,其中,背景內(nèi)容的呈現(xiàn)是通過逐一調(diào)用背景內(nèi)容所包含的每張背景圖,或者,是預(yù)先由每張背景圖生成一張合并圖來進(jìn)行的。考慮到網(wǎng)頁的響應(yīng)速度,常常將背景圖生成合并圖之后來進(jìn)行顯示。
在本發(fā)明中,首先,實時獲取當(dāng)前網(wǎng)頁中構(gòu)成本次合并圖所需要的每張背景圖。
S102:根據(jù)每張背景圖的屬性值進(jìn)行計算,以生成合并圖的結(jié)果值,且,將結(jié)果值進(jìn)行存儲。
由于,在實際開發(fā)過程中,每張背景圖都對應(yīng)有多種屬性。本發(fā)明針對能唯一與背景圖對應(yīng)的屬性進(jìn)行提取,例如,背景圖的路徑信息或內(nèi)容信息。
具體的,提取每張背景圖的路徑信息,之后,對路徑信息進(jìn)行字符串排序,或者,利用路徑信息生成與背景圖唯一對應(yīng)的標(biāo)識值,對該標(biāo)識值進(jìn)行后續(xù)的計算,其中,字符串在實施時一般是base64編碼的字符串。這里字符串排序可以為升序或者降序,但要保證每次進(jìn)行字符串排序時是按照同一種規(guī)則進(jìn)行的。將排序后的每張背景圖的字符串進(jìn)行拼接,得到一個拼接字符串,對拼接字符串進(jìn)行計算得到一個結(jié)果值,并將結(jié)果值進(jìn)行存儲,在這里計算為MD5運(yùn)算?;蛘?,提取每張背景圖的內(nèi)容信息,對內(nèi)容信息進(jìn)行字符串排序,同樣,這里字符串排序可以為升序或者降序,將排序后的每張背景圖的字符串進(jìn)行拼接,得到一個拼接字符串,對拼接字符串進(jìn)行計算得到一個結(jié)果值,在這里計算為MD5運(yùn)算。
得到結(jié)果值后,可將結(jié)果值作為合并圖的名稱,或者,將結(jié)果值作為合并圖的其他屬性,具體屬性的選取以方便提取和比較為準(zhǔn)。
S103:比較結(jié)果值與上一次存儲的預(yù)先結(jié)果值是否相等,以判斷合并圖是否發(fā)生了變化。
當(dāng)?shù)玫奖敬魏喜D的結(jié)果值后,比較結(jié)果值與上一次存儲的結(jié)果值是否相等,以此判斷合并圖是否發(fā)生了變化。
如果結(jié)果值的比較結(jié)果為相等,判定合并圖沒有發(fā)生變化,此時,沿用上次的合并圖即可,無需進(jìn)行合并圖的替換。
如果結(jié)果值的比較結(jié)果不相等,判定合并圖發(fā)生了變化,說明當(dāng)前網(wǎng)頁的背景內(nèi)容已經(jīng)發(fā)生了變化,用本次合并圖替換上次的合并圖,從而形成新的網(wǎng)頁的背景內(nèi)容。
本實施例提供的一種比對網(wǎng)頁中合并圖的方法和裝置,該實施例的技術(shù)效果是:通過實時獲取當(dāng)前網(wǎng)頁中構(gòu)成本次合并圖的每張背景圖,提取每張背景圖的屬性值后進(jìn)行計算,得到一個與生成的合并圖唯一對應(yīng)的結(jié)果值,并將結(jié)果值進(jìn)行存儲,比較結(jié)果值與上一次存儲的預(yù)先結(jié)果值是否相等,以判斷合并圖是否發(fā)生了變化。通過上述比對方法無需從數(shù)據(jù)庫調(diào)取構(gòu)成合并圖的每張背景圖的全部圖片信息來進(jìn)行一一比對,從而能方便快速的確定合并圖是否發(fā)生了變化,提升了網(wǎng)頁的性能。
實施例二
參見圖2所示的一種比對網(wǎng)頁中合并圖的裝置的結(jié)構(gòu)框架圖,該裝置包括以下模塊:
首先,獲取模塊1實時獲取當(dāng)前網(wǎng)頁中構(gòu)成本次合并圖的每張背景圖。獲取到每張背景圖片后利用計算模塊2對每張背景圖的屬性值進(jìn)行計算,以生成合并圖的結(jié)果值,并將結(jié)果值進(jìn)行存儲。之后,利用比較模塊3,比較結(jié)果值與上一次存儲的預(yù)先結(jié)果值是否相等,以判斷合并圖是否發(fā)生了變化。
其中,計算模塊2包括計算模塊2包括MD5運(yùn)算單元,即下述路徑計算單元和內(nèi)容計算單元均可采用MD5運(yùn)算,通過該運(yùn)算規(guī)則得到統(tǒng)一格式的結(jié)果值。
具體的,計算模塊2通過路徑提取單元、路徑處理單元、路徑拼接單元和路徑計算單元來實現(xiàn)功能:通過路徑提取單元來提取每張背景圖的路徑信息,通過路徑處理單元對路徑信息進(jìn)行字符串排序,其中,字符串在實施時一般是base64編碼的字符串,通過路徑拼接單元對排序后的每張背景圖的字符串進(jìn)行拼接,得到一個拼接字符串,通過路徑計算單元對拼接字符串進(jìn)行計算得到一個結(jié)果值。
或者,計算模塊2通過內(nèi)容提取單元、內(nèi)容處理單元、內(nèi)容拼接單元和內(nèi)容計算單元來實現(xiàn)功能:通過內(nèi)容提取單元提取每張背景圖的內(nèi)容信息,通過內(nèi)容處理單元對內(nèi)容信息進(jìn)行字符串排序,通過內(nèi)容拼接單元將排序后的每張背景圖的字符串進(jìn)行拼接,得到一個拼接字符串,通過內(nèi)容計算單元對拼接字符串進(jìn)行計算得到一個結(jié)果值。
最后,通過比較模塊3比較結(jié)果值與上一次存儲的預(yù)先結(jié)果值是否相等,以判斷合并圖是否發(fā)生了變化。比較模塊3通過結(jié)果比較單元、肯定執(zhí)行單元和否定執(zhí)行單元來實現(xiàn)功能,具體的:通過結(jié)果比較單元比較結(jié)果值與上一次存儲的結(jié)果值是否相等,運(yùn)用肯定執(zhí)行單元,當(dāng)結(jié)果值與上一次存儲的結(jié)果值相等時,判定合并圖沒有發(fā)生變化,運(yùn)用否定執(zhí)行單元,當(dāng)結(jié)果值與上一次存儲的結(jié)果值不相等時,用本次合并圖替換上次的合并圖。
本實施例提供的一種比對網(wǎng)頁中合并圖的方法和裝置,該實施例的技術(shù)效果是:設(shè)置獲取模塊1、計算模塊2和比較模塊3,由獲取模塊1實時獲取當(dāng)前網(wǎng)頁中構(gòu)成本次合并圖的每張背景圖,之后,計算模塊2根據(jù)每張背景圖的屬性值進(jìn)行計算,以生成合并圖的結(jié)果值,并將結(jié)果值進(jìn)行存儲,最后比較模塊3比較結(jié)果值與上一次存儲的預(yù)先結(jié)果值是否相等,以判斷合并圖是否發(fā)生了變化。通過上述比對,無需從數(shù)據(jù)庫調(diào)取構(gòu)成合并圖的每張背景圖的全部圖片信息來進(jìn)行一一比對,從而能方便快速的確定合并圖是否發(fā)生了變化,進(jìn)而加快了網(wǎng)頁的響應(yīng)速度。
以上所述,僅為本發(fā)明的具體實施方式,但本發(fā)明的保護(hù)范圍并不局限于此,任何熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到變化或替換,都應(yīng)涵蓋在本發(fā)明的保護(hù)范圍之內(nèi)。因此,本發(fā)明的保護(hù)范圍應(yīng)以所述權(quán)利要求的保護(hù)范圍為準(zhǔn)。