了一種數(shù)據(jù)庫更新裝置。
[0142]圖5為本發(fā)明實施例提供的數(shù)據(jù)庫更新裝置的第一種結構示意圖,該裝置包括:網頁參數(shù)獲得模塊501、數(shù)據(jù)表確定模塊502、第一數(shù)據(jù)記錄判斷模塊503、索引標識生成模塊504和數(shù)據(jù)記錄增加模塊505。
[0143]其中,網頁參數(shù)獲得模塊501,用于獲得目標網頁的網頁參數(shù),其中,所述網頁參數(shù)中包括:所述目標網頁對應的目標網站的標識和所述目標網頁在所述目標網站中的標識;
[0144]數(shù)據(jù)表確定模塊502,用于根據(jù)所述目標網頁對應的目標網站的標識,在待更新數(shù)據(jù)庫中確定與所述目標網站對應的數(shù)據(jù)表,其中,所述待更新數(shù)據(jù)庫中所包含數(shù)據(jù)表的數(shù)量> 1 ;
[0145]第一數(shù)據(jù)記錄判斷模塊503,用于根據(jù)所述目標網頁在所述目標網站中的標識,判斷所述目標網站對應的數(shù)據(jù)表中是否存在所述目標網頁對應的數(shù)據(jù)記錄,其中,所述數(shù)據(jù)記錄中包括:所述目標網頁在所述目標網站中的標識和所述目標網頁對應的索引標識;
[0146]索引標識生成模塊504,用于在所述第一數(shù)據(jù)記錄判斷模塊503的判斷結果為否的情況下,生成所述目標網頁對應的索引標識;
[0147]數(shù)據(jù)記錄增加模塊505,用于在所述索引標識生成模塊504生成索引標識后,在所述目標網站對應的數(shù)據(jù)表中增加所述目標網頁對應的數(shù)據(jù)記錄。
[0148]在本發(fā)明的一個優(yōu)選實施例中,該數(shù)據(jù)庫更新裝置還包括:索引標識發(fā)送模塊(圖中未示出)。
[0149]其中,索引標識發(fā)送模塊,用于在所述索引標識生成模塊504生成索引標識之后,向網絡爬蟲模塊或者非所述待更新數(shù)據(jù)庫發(fā)送所生成的索引標識。
[0150]由以上可見,本實施例提供的方案中,在獲得目標網頁的網頁參數(shù)后,判斷待更新的數(shù)據(jù)庫中與目標網站對應的數(shù)據(jù)表中是否存在目標網頁對應的數(shù)據(jù)記錄,不存在時,生成目標網頁對應的索引標識,并在目標網站對應的數(shù)據(jù)表中增加該目標網頁對應的數(shù)據(jù)記錄。與現(xiàn)有技術相比,本實施例提供的方案中將各個網頁對應的數(shù)據(jù)記錄存儲在多個數(shù)據(jù)表中,而非一個數(shù)據(jù)表中,因此,在判斷待更新數(shù)據(jù)庫中是否存在目標網頁對應的數(shù)據(jù)記錄時,只在目標網頁對應的數(shù)據(jù)表中判斷即可,而無需在待更新數(shù)據(jù)庫所包含的全部信息中判斷,因此,能夠提高更新數(shù)據(jù)庫的速度。
[0151]在本發(fā)明的一個具體實施例中,參見圖6,提供了數(shù)據(jù)庫更新裝置的第二種結構示意圖,與前述實施例相比,本實施例中,該裝置還包括:鎖定狀態(tài)設置模塊506、第二數(shù)據(jù)記錄判斷模塊507和解鎖狀態(tài)設置模塊508。
[0152]其中,鎖定狀態(tài)設置模塊506,用于將索引標識生成標記位設置為鎖定狀態(tài),其中,當所述索引標識生成標記位為鎖定狀態(tài)時,表示當前只能計算所述目標網頁對應的索引標識;
[0153]第二數(shù)據(jù)記錄判斷模塊507,用于根據(jù)所述目標網頁在所述目標網站中的標識,判斷所述目標網站對應的數(shù)據(jù)表中是否存在所述目標網頁對應的數(shù)據(jù)記錄,若不存在,則觸發(fā)所述索引標識生成模塊504生成索引標識;
[0154]解鎖狀態(tài)設置模塊508,用于在所述索引標識生成模塊504生成索引標識后,將索引標識生成標記位設置為解鎖狀態(tài),其中,當所述索引標識生成標記位為解鎖狀態(tài)時,表示能夠開始計算除了所述目標網頁之外的其他網頁對應的索引標識。
[0155]由以上可見,本實施例提供的方案中,在生成目標網頁對應的索引標識之前,通過設置索引標識生成標記位的方式,使得當前只能計算目標網頁對應的索引標識,可以有效防止生成的各個網頁對應的索引標識重復。
[0156]在本發(fā)明的另一個具體實施例中,參見圖7,提供了數(shù)據(jù)庫更新裝置的第三種結構示意圖,與前述實施例相比,本實施例中,索引標識生成模塊504,包括:索引標識最大值獲得子模塊5041、余數(shù)計算子模塊5042、余數(shù)判斷子模塊5043、第一索引標識計算子模塊5044和第二索引標識計算子模塊5045。
[0157]其中,索引標識最大值獲得子模塊5041,用于獲得所述待更新數(shù)據(jù)庫中已存儲的數(shù)據(jù)記錄對應的索引標識的最大值Value_SID_ ;
[0158]余數(shù)計算子模塊5042,用于計算Value_SID_除以預設的第一閾值的余數(shù)R ;
[0159]余數(shù)判斷子模塊5043,用于判斷余數(shù)R是否小于預設的第二閾值;
[0160]第一索引標識計算子模塊5044,用于在所述余數(shù)判斷子模塊5043的判斷結果為是的情況下,計算得所述目標網頁對應的索引標識=R+預設的第二閾值;
[0161]第二索引標識計算子模塊5045,用于在所述余數(shù)判斷子模塊5043的判斷結果為否的情況下,計算得所述目標網頁對應的索引標識=R+預設的第三閾值。
[0162]在本發(fā)明的另一個具體實施例中,參見圖8,提供了數(shù)據(jù)庫更新裝置的第四種結構示意圖,與圖7所示實施例相比,本實施例中,
[0163]索引標識最大值獲得子模塊5041,具體用于根據(jù)本地存儲的索引標識值Value_SID_L,獲得所述待更新數(shù)據(jù)庫中已存儲的數(shù)據(jù)記錄對應的索引標識的最大值Value_SIDmax ;
[0164]另外,該數(shù)據(jù)庫更新置還包括:第一索引標識設置模塊509、第二索引標識設置模塊510、第一索引標識更新模塊511、索引標識判斷模塊512、第二索引標識更新模塊513和第三索引標識更新模塊514。
[0165]其中,第一索引標識設置模塊509,用于在啟動所述待更新數(shù)據(jù)庫對應的更新程序之后,將本地存儲的Value_SID_L設置為:Value_SID_D_值,Value_SID_D_為所述待更新數(shù)據(jù)庫中存儲的所述待更新數(shù)據(jù)庫中已存儲的數(shù)據(jù)記錄對應的索引標識的最大值。
[0166]第二索引標識設置模塊510,用于在所述第一索引標識設置模塊509設置本地存儲的索引標識之后,將Value_SID_D_更新為:當前Value_SID_D_+預設的第四閾值;
[0167]第一索引標識更新模塊511,用于在所述第一索引標識計算子模塊5044或所述第二索引標識計算子模塊5045計算得到所述目標網頁對應的索引標識之后,將Value_SID_L值更新為所述目標網頁對應的索引標識;
[0168]索引標識判斷模塊512,用于判斷所述目標網頁對應的索引標識是否大于Value_SID_Dmax ;
[0169]第二索引標識更新模塊513,用于在所述索引標識判斷模塊512的判斷結果為是的情況下,則將Value_SID_D_更新為:當前Value_SID_D_+預設的第四閾值;
[0170]第三索引標識更新模塊514,用于在結束所述待更新數(shù)據(jù)庫對應的更新程序之后,將 Value_SID_Dnax 更新為:Value_SID_Dnax = Value_SID_L。
[0171]由以上可見,上述實施例提供的方案中,從本地獲得待更新數(shù)據(jù)庫中已存儲的數(shù)據(jù)記錄對應的索引標識的最大值,能夠防止頻繁訪問待更新數(shù)據(jù)庫,避免待更新數(shù)據(jù)工作壓力過大。
[0172]對于裝置實施例而言,由于其基本相似于方法實施例,所以描述的比較簡單,相關之處參見方法實施例的部分說明即可。
[0173]需要說明的是,在本文中,諸如第一和第二等之類的關系術語僅僅用來將一個實體或者操作與另一個實體或操作區(qū)分開來,而不一定要求或者暗示這些實體或操作之間存在任何這種實際的關系或者順序。而且,術語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者設備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者設備所固有的要素。在沒有更多限制的情況下,由語句“包括一個……”限定的要素,并不排除在包括所述要素的過程、方法、物品或者設備中還存在另外的相同要素。
[0174]本領域普通技術人員可以理解實現(xiàn)上述方法實施方式中的全部或部分步驟是可以通過程序來指令相關的硬件來完成,所述的程序可以存儲于計算機可讀取存儲介質中,這里所稱得的存儲介質,如:R0M/RAM、磁碟、光盤等。
[0175]以上所述僅為本發(fā)明的較佳實施例而已,并非用于限定本發(fā)明的保護范圍。凡在本發(fā)明的精神和原則之內所作的任何修改、等同替換、改進等,均包含在本發(fā)明的保護范圍內。
【主權項】
1.一種數(shù)據(jù)庫更新方法,其特征在于,所述方法包括: 獲得目標網頁的網頁