Oltp集群數(shù)據(jù)庫中頁面查詢方法及數(shù)據(jù)處理節(jié)點的制作方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明實施例涉及計算機領(lǐng)域,并且更具體地,涉及OLTP集群數(shù)據(jù)庫中頁面查詢方法及數(shù)據(jù)處理節(jié)點。
【背景技術(shù)】
[0002]聯(lián)機事務(wù)處理(On-Line Transact1n Processing,0LTP)數(shù)據(jù)庫的目標(biāo)架構(gòu)是共享磁盤(Shared-disk)的OLTP集群數(shù)據(jù)庫系統(tǒng),可以通過增加數(shù)據(jù)庫服務(wù)器的方法來線性增長數(shù)據(jù)處理能力(Scale-out),克服單實例數(shù)據(jù)庫系統(tǒng)只能通過升級數(shù)據(jù)庫服務(wù)器硬件來來提升數(shù)據(jù)處理能力(Scale-up)的局限性。OLTP集群數(shù)據(jù)庫最核心的組件是數(shù)據(jù)庫內(nèi)核引擎,只有在一個好的數(shù)據(jù)庫內(nèi)核引擎的基礎(chǔ)上,才有可能建立起一個好的集群數(shù)據(jù)庫。
[0003]Shared-disk架構(gòu)的集群數(shù)據(jù)庫有兩種實現(xiàn)方式:一種是以O(shè)racle RAC為代表的完全分布式的集群,通過分布式緩沖池和分布式鎖管理來保證各數(shù)據(jù)庫引擎節(jié)點的數(shù)據(jù)一致性;另一種是以IBM DB2 pureScale (來源于IBM主機上的DB2 Data Sharing)為代表的有中心協(xié)調(diào)節(jié)點的集群,通過全局緩沖池和全局鎖管理器來保證各數(shù)據(jù)庫引擎節(jié)點(數(shù)據(jù)處理節(jié)點)的數(shù)據(jù)一致性。
[0004]上面兩種方法都存在如下問題:數(shù)據(jù)處理節(jié)點緩存不足時,需要淘汰頁面,等再次需要訪問時,又要重新通過網(wǎng)絡(luò)或磁盤讀取,增大了處理開銷。
【發(fā)明內(nèi)容】
[0005]本發(fā)明實施例提供一種OLTP集群數(shù)據(jù)庫中頁面查詢方法及數(shù)據(jù)處理節(jié)點,能夠在一定程度上減少OLTP集群數(shù)據(jù)庫引擎節(jié)點(數(shù)據(jù)處理節(jié)點)的處理開銷。
[0006]第一方面,提供了一種OLTP集群數(shù)據(jù)庫的頁面查詢方法,該OLTP集群數(shù)據(jù)庫包括中心節(jié)點和至少一個數(shù)據(jù)處理節(jié)點,該中心節(jié)點采用被動釋放物理鎖PLock的處理方式管理PLock,該方法包括:當(dāng)該數(shù)據(jù)處理節(jié)點在進行數(shù)據(jù)查詢的過程中需要查詢第一頁面,且該數(shù)據(jù)處理節(jié)點的數(shù)據(jù)庫緩沖區(qū)存儲空間中不存在該第一頁面時,該數(shù)據(jù)處理節(jié)點在該數(shù)據(jù)處理節(jié)點的共享內(nèi)存中查找該第一頁面的頁面摘要;如果根據(jù)該頁面摘要判斷出該數(shù)據(jù)查詢的目標(biāo)數(shù)據(jù)不具有在該第一頁面的可能性,則該數(shù)據(jù)處理節(jié)點不對該第一頁面進行查詢操作;或者,如果根據(jù)該頁面摘要判斷出該數(shù)據(jù)查詢的目標(biāo)數(shù)據(jù)具有在該第一頁面的可能性,則該數(shù)據(jù)處理節(jié)點加載該第一頁面到該數(shù)據(jù)庫緩沖區(qū)存儲空間,并遍歷該第一頁面進行該數(shù)據(jù)查詢。
[0007]結(jié)合第一方面,在第一種可能的實現(xiàn)方式中,具體實現(xiàn)為:該方法還包括:當(dāng)該數(shù)據(jù)處理節(jié)點的數(shù)據(jù)庫緩沖區(qū)存儲空間不足需要淘汰頁面時,該數(shù)據(jù)處理節(jié)點確定該數(shù)據(jù)處理節(jié)點的數(shù)據(jù)庫緩沖區(qū)存儲空間中需要淘汰的第二頁面,保留該第二頁面的PLock,生成該第二頁面的頁面摘要,并淘汰該第二頁面;或者,當(dāng)該數(shù)據(jù)處理節(jié)點持有第三頁面的物理鎖時,該數(shù)據(jù)處理節(jié)點在該數(shù)據(jù)處理節(jié)點的共享內(nèi)存中生成該第三頁面的頁面摘要。
[0008]結(jié)合第一方面或第一方面的第一種可能的實現(xiàn)方式,在第二種可能的實現(xiàn)方式中,該方法還包括:當(dāng)該數(shù)據(jù)處理節(jié)點接收到第四頁面發(fā)生鎖沖突的消息時,該數(shù)據(jù)處理節(jié)點釋放該第四頁面的PLock,并失效該第四頁面的頁面摘要,其中,該第四頁面為該數(shù)據(jù)處理節(jié)點的數(shù)據(jù)庫緩沖區(qū)存儲空間中緩存的頁面,或該第四頁面為該數(shù)據(jù)處理節(jié)點已經(jīng)淘汰但仍然保留PLock的頁面。
[0009]第二方面,提供了一種OLTP集群數(shù)據(jù)庫中用于頁面查詢的方法,該OLTP集群數(shù)據(jù)庫包括中心節(jié)點和至少一個數(shù)據(jù)處理節(jié)點,該中心節(jié)點采用被動釋放物理鎖PLock的處理方式管理PLock,該方法包括:當(dāng)該OLTP集群的數(shù)據(jù)處理節(jié)點持有第一頁面的物理鎖時,該數(shù)據(jù)處理節(jié)點生成該頁面摘要;以及,當(dāng)該數(shù)據(jù)處理節(jié)點的數(shù)據(jù)庫緩沖區(qū)存儲空間不足需要淘汰頁面時,該數(shù)據(jù)處理節(jié)點確定該數(shù)據(jù)處理節(jié)點的數(shù)據(jù)庫緩沖區(qū)存儲空間中需要淘汰的第二頁面,保留該第二頁面的PLock,生成該第二頁面的頁面摘要,并淘汰該第二頁面。
[0010]結(jié)合第二方面,在第一種可能的實現(xiàn)方式中,該方法還包括:當(dāng)該數(shù)據(jù)處理節(jié)點接收到第三頁面發(fā)生鎖沖突的消息時,該數(shù)據(jù)處理節(jié)點釋放該第三頁面的PLock,并失效該第三頁面的頁面摘要,其中,該第三頁面為該數(shù)據(jù)處理節(jié)點的數(shù)據(jù)庫緩沖區(qū)存儲空間中緩存的頁面,或該第三頁面為該數(shù)據(jù)處理節(jié)點已經(jīng)淘汰但仍然保留PLock的頁面。
[0011]第三方面,提供了一種OLTP集群數(shù)據(jù)庫的數(shù)據(jù)處理節(jié)點,該數(shù)據(jù)處理節(jié)點所在的OLTP集群數(shù)據(jù)庫包括中心節(jié)點和至少一個該數(shù)據(jù)處理節(jié)點,該中心節(jié)點采用被動釋放物理鎖PLock的處理方式管理PLock,該數(shù)據(jù)處理節(jié)點包括:頁面摘要查找單元,用于當(dāng)該數(shù)據(jù)處理節(jié)點在進行數(shù)據(jù)查詢的過程中需要查詢第一頁面,且該數(shù)據(jù)處理節(jié)點的數(shù)據(jù)庫緩沖區(qū)存儲空間中不存在該第一頁面時,在該數(shù)據(jù)處理節(jié)點的共享內(nèi)存中查找該第一頁面的頁面摘要;頁面訪問單元,用于如果根據(jù)該頁面摘要判斷出該數(shù)據(jù)查詢的目標(biāo)數(shù)據(jù)不具有在該第一頁面的可能性,則不對該第一頁面進行查詢操作;該頁面訪問單元還用于如果根據(jù)該頁面摘要判斷出該數(shù)據(jù)查詢的目標(biāo)數(shù)據(jù)具有在該第一頁面的可能性,則加載該第一頁面到該數(shù)據(jù)庫緩沖區(qū)存儲空間,并遍歷該第一頁面進行該數(shù)據(jù)查詢。
[0012]結(jié)合第三方面,在第一種可能的實現(xiàn)方式中,該數(shù)據(jù)處理節(jié)點還包括:頁面淘汰單元,用于當(dāng)該數(shù)據(jù)處理節(jié)點的數(shù)據(jù)庫緩沖區(qū)存儲空間不足需要淘汰頁面時,確定該數(shù)據(jù)處理節(jié)點的數(shù)據(jù)庫緩沖區(qū)存儲空間中需要淘汰的第二頁面,保留該第二頁面的PLock,并淘汰該第二頁面;頁面摘要生成單元,用于在該頁面淘汰單元淘汰該第二頁面時生成該第二頁面的頁面摘要。
[0013]結(jié)合第三方面或第三方面的第一種可能的實現(xiàn)方式,在第二種可能的實現(xiàn)方式中,該數(shù)據(jù)處理節(jié)點還包括:頁面摘要生成單元,用于當(dāng)該數(shù)據(jù)處理節(jié)點持有第三頁面的物理鎖時,在該數(shù)據(jù)處理節(jié)點的共享內(nèi)存中生成該第三頁面的頁面摘要。
[0014]結(jié)合第三方面或第三方面的第一種可能的實現(xiàn)方式或第三方面的第二種可能的實現(xiàn)方式,在第三種可能的實現(xiàn)方式中,該數(shù)據(jù)處理節(jié)點還包括:頁面摘要失效單元,用于當(dāng)該數(shù)據(jù)處理節(jié)點接收到第四頁面發(fā)生鎖沖突的消息時,釋放該第四頁面的PLock,并失效該第四頁面的頁面摘要,其中,該第四頁面為該數(shù)據(jù)處理節(jié)點的數(shù)據(jù)庫緩沖區(qū)存儲空間中緩存的頁面,或該第四頁面為該數(shù)據(jù)處理節(jié)點已經(jīng)淘汰但仍然保留PLock的頁面。
[0015]第四方面,提供了一種OLTP集群數(shù)據(jù)庫的數(shù)據(jù)處理節(jié)點,該數(shù)據(jù)處理節(jié)點所在的OLTP集群數(shù)據(jù)庫包括中心節(jié)點和至少一個該數(shù)據(jù)處理節(jié)點,該中心節(jié)點采用被動釋放物理鎖PLock的處理方式管理PLock,該數(shù)據(jù)處理節(jié)點包括:頁面摘要生成單元,用于當(dāng)該數(shù)據(jù)處理節(jié)點持有第一頁面的物理鎖時,在該數(shù)據(jù)處理節(jié)點的數(shù)據(jù)庫緩沖區(qū)存儲空間建立該頁面摘要;頁面淘汰單元,用于當(dāng)該數(shù)據(jù)處理節(jié)點的數(shù)據(jù)庫緩沖區(qū)存儲空間不足需要淘汰頁面時,確定該數(shù)據(jù)處理節(jié)點的數(shù)據(jù)庫緩沖區(qū)存儲空間中需要淘汰的第二頁面,保留該第二頁面的PLock,并淘汰該第二頁面;該頁面摘要生成單元還用于在該頁面淘汰單元淘汰該第二頁面時,生成該第二頁面的頁面摘要。
[0016]結(jié)合第四方面,在第一種可能的實現(xiàn)方式中,該數(shù)據(jù)處理節(jié)點還包括:頁面摘要失效單元,用于當(dāng)該數(shù)據(jù)處理節(jié)點接收到第三頁面發(fā)生鎖沖突的消息時,釋放該第三頁面的PLock,并失效該第三頁面的頁面摘要,其中,該第三頁面為該數(shù)據(jù)處理節(jié)點的數(shù)據(jù)庫緩沖區(qū)存儲空間中緩存的頁面,或該第三頁面為該數(shù)據(jù)處理節(jié)點已經(jīng)淘汰但仍然保留PLock的頁面。
[0017]基于以上技術(shù)方案,本發(fā)明實施例的OLTP集群數(shù)據(jù)庫中頁面摘要使用管理方法及數(shù)據(jù)處理節(jié)點,在訪問頁面時根據(jù)頁面摘要快速過濾頁面,減少了不必要的磁盤10,減少了數(shù)據(jù)處理節(jié)點與中心節(jié)點的交互,從而能夠減少網(wǎng)絡(luò)通信時間,減少了數(shù)據(jù)處理節(jié)點的處理開銷,提高數(shù)據(jù)處理節(jié)點的處理效率。
【附圖說明】
[0018]為了更清楚地說明本發(fā)明實施例的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0019]圖1是本發(fā)明實施例OLTP集群數(shù)據(jù)庫的頁面查詢方法流程圖。
[0020]圖2是本發(fā)明實施例OLTP集群數(shù)據(jù)庫中頁面查詢方法的具體流程圖。
[0021]圖3示是本發(fā)明實施例OLTP集群數(shù)據(jù)庫的用于頁面查詢的方法流程圖。
[0022]圖4示是本發(fā)明實施例OLTP集群數(shù)據(jù)庫的數(shù)據(jù)處理節(jié)點的結(jié)構(gòu)示意圖。
[0023]圖5示是本發(fā)明實施例OLTP集群數(shù)據(jù)庫的數(shù)據(jù)處理節(jié)點的另一結(jié)構(gòu)示意圖。
[0024]圖6示是本發(fā)明實施例OLTP集群數(shù)據(jù)庫的數(shù)據(jù)處理節(jié)點的另一結(jié)構(gòu)示意圖。
[0025]圖7示是本發(fā)明實施例OLTP集群數(shù)據(jù)庫的數(shù)據(jù)處理節(jié)點的另一結(jié)構(gòu)示意圖。
當(dāng)前第1頁
1 
2 
3 
4 
5