亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

Oltp集群數(shù)據(jù)庫中頁面查詢方法及數(shù)據(jù)處理節(jié)點的制作方法_2

文檔序號:8258983閱讀:來源:國知局
>【具體實施方式】
[0026]下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例是本發(fā)明一部分實施例,而不是全部的實施例。基于本發(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。
[0027]為了方便理解本發(fā)明實施例,首先在此介紹本發(fā)明實施例描述中會引入的幾個要素。
[0028]物理鎖(Physical Lock,PLock):在集群環(huán)境下,多個節(jié)點可能會操作同一頁面,為保證對頁面讀取和修改的正確性,需要增加頁面的PLock管理。PLock包含排它(exlusive)/共享(share)兩種訪問模式,對索引、堆頁面的修改需要先申請exclusive模式的鎖,對索引、堆頁面的讀取需要先申請share模式的鎖。集群的中心節(jié)點上存儲PLock的全局鎖表。一般來說,PLock的釋放有兩種策略:主動釋放和被動釋放。
[0029]主動釋放PLock的處理方式:指集群的數(shù)據(jù)處理節(jié)點使用完P(guān)Lock之后,立即釋放PLock0
[0030]被動釋放PLock的處理方式:指集群的數(shù)據(jù)處理節(jié)點使用完某一頁面的PLock之后,不立即釋放,當(dāng)別的數(shù)據(jù)處理節(jié)點向中心節(jié)點請求該頁面的PLock時,中心節(jié)點要求持有該頁面PLock的目標(biāo)節(jié)點釋放PLock。在本發(fā)明中,OLTP集群數(shù)據(jù)庫采用被動釋放的PLock處理方式。
[0031]圖1是本發(fā)明實施例OLTP集群數(shù)據(jù)庫的頁面查詢方法流程圖。圖1的方法由OLTP集群數(shù)據(jù)庫的數(shù)據(jù)處理節(jié)點執(zhí)行。該OLTP集群數(shù)據(jù)庫包括中心節(jié)點和至少一個數(shù)據(jù)處理節(jié)點,該中心節(jié)點采用被動釋放物理鎖PLock的處理方式管理PLock,該方法包括:
[0032]101,當(dāng)OLTP集群數(shù)據(jù)庫的數(shù)據(jù)處理節(jié)點在進行數(shù)據(jù)查詢的過程中需要查詢第一頁面,且該數(shù)據(jù)處理節(jié)點的數(shù)據(jù)庫緩沖區(qū)存儲空間中不存在該第一頁面時,該數(shù)據(jù)處理節(jié)點在該數(shù)據(jù)處理節(jié)點的共享內(nèi)存中查找該第一頁面的頁面摘要。
[0033]應(yīng)理解,頁面摘要是數(shù)據(jù)處理節(jié)點生成的利于查詢的部分頁面信息的高度概括,存儲在每個數(shù)據(jù)處理節(jié)點的共享內(nèi)存中,被當(dāng)前數(shù)據(jù)處理節(jié)點的所有進程/線程所共享。
[0034]應(yīng)理解,不同類型的頁面對應(yīng)的頁面摘要所包含的內(nèi)容不同。例如,索引頁面的頁面摘要,通??捎涗涀钚≈?、最大值、父親節(jié)點和兄弟節(jié)點等信息;數(shù)據(jù)頁面的頁面摘要,則記錄其已有的摘要信息。
[0035]應(yīng)理解,此處提到的數(shù)據(jù)查詢過程,包括select操作,不包括insert、update、delete等需要進行寫頁面的操作。因為當(dāng)進行寫頁面操作時,會發(fā)生鎖沖突導(dǎo)致頁面摘要失效。
[0036]例如,該數(shù)據(jù)查詢過程可以是數(shù)據(jù)庫查詢語句“ SELECT cust_state ROMcustomers WHERE cust_age>35 and cust_age〈70” 的數(shù)據(jù)查詢過程。
[0037]不妨假設(shè)該數(shù)據(jù)查詢過程中需要查詢第一頁面是否包含相關(guān)的目標(biāo)數(shù)據(jù)。如果該數(shù)據(jù)處理節(jié)點的數(shù)據(jù)庫緩沖區(qū)存儲空間已經(jīng)存在該第一頁面,直接在該第一頁面上查詢數(shù)據(jù)。如果不存在該第一頁面,則此時需要在該數(shù)據(jù)處理節(jié)點的共享內(nèi)存中查找該頁面摘要,以確定該數(shù)據(jù)處理節(jié)點的共享內(nèi)存是否存在該頁面摘要。
[0038]102,如果根據(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ù)查詢。
[0039]應(yīng)理解,該數(shù)據(jù)查詢的目標(biāo)數(shù)據(jù)不具有在該第一頁面的可能性,是說該數(shù)據(jù)查詢的目標(biāo)數(shù)據(jù)不在該第一頁面上。換句話說,該第一頁面存儲的數(shù)據(jù)中不存在該數(shù)據(jù)查詢的目標(biāo)數(shù)據(jù)。
[0040]應(yīng)理解,該數(shù)據(jù)查詢的目標(biāo)數(shù)據(jù)具有在該第一頁面的可能性,是說該數(shù)據(jù)查詢的目標(biāo)數(shù)據(jù)可能在該第一頁面上。換句話說,該第一頁面存儲的數(shù)據(jù)中可能存在該數(shù)據(jù)查詢的目標(biāo)數(shù)據(jù)。
[0041]同樣以數(shù)據(jù)庫查詢語句“SELECTcust_state ROM customers WHERE cust_age>35and cust_age〈70”為例,進行舉例說明。
[0042]例1:
[0043]頁面I的頁面摘要顯示cuSt_age的最大值和最小值分別為20,30,頁面I存儲的表customers中,字段cust_age的取值為20,21,22,30。根據(jù)頁面I的頁面摘要,可判斷出頁面I不可能存在上述數(shù)據(jù)庫查詢語句的目標(biāo)數(shù)據(jù),因此,可不用對頁面I進行查詢。
[0044]例2:
[0045]頁面2的頁面摘要顯示Cust_age的最大值和最小值分別為20,90,頁面2存儲的表customers中,字段cust_age的取值為20,21,80,90。根據(jù)頁面2的頁面摘要,可判斷出頁面2可能存在該數(shù)據(jù)查詢的目標(biāo)數(shù)據(jù),因此,可將頁面2加載至數(shù)據(jù)庫緩沖區(qū)存儲空間中,對頁面2進行遍歷查詢。當(dāng)然,此次查詢中,頁面2也不存在上述數(shù)據(jù)庫查詢語句的目標(biāo)數(shù)據(jù)。
[0046]例3:
[0047]頁面3的頁面摘要顯示Cust_age的最大值和最小值分別為20,90,頁面3存儲的表customers中,字段cust_age的取值為20,41,61,90。根據(jù)頁面3的頁面摘要,可判斷出頁面3可能存在該數(shù)據(jù)查詢的目標(biāo)數(shù)據(jù),因此,可將頁面3加載至數(shù)據(jù)庫緩沖區(qū)存儲空間中,對頁面3進行遍歷查詢。此次查詢中,可從頁面2得到cust_age字段取值為41和61的記錄,進而得到該記錄對應(yīng)的cust_state字段值。
[0048]本發(fā)明實施例中,在訪問頁面時根據(jù)頁面摘要快速過濾頁面,減少了不必要的磁盤10,減少了數(shù)據(jù)處理節(jié)點與中心節(jié)點的交互,從而能夠減少網(wǎng)絡(luò)通信時間,減少了數(shù)據(jù)處理節(jié)點的處理開銷,提高數(shù)據(jù)處理節(jié)點的處理效率。
[0049]另外,本發(fā)明實施例的方法,由于減少了磁盤10、中心節(jié)點的交互等,也就減少了對共有資源的爭奪,使得每個數(shù)據(jù)處理節(jié)點盡可能的使用自己的私有資源,新添加的數(shù)據(jù)處理節(jié)點也仍會盡可能的使用自身資源,而不依賴于共享資源的等待,有利于集群的擴展。
[0050]可選地,作為一個實施例,該方法還可包括:當(dāng)該數(shù)據(jù)處理節(jié)點的數(shù)據(jù)庫緩沖區(qū)存儲空間不足需要淘汰頁面時,該數(shù)據(jù)處理節(jié)點確定該數(shù)據(jù)處理節(jié)點的數(shù)據(jù)庫緩沖區(qū)存儲空間中需要淘汰的第二頁面,保留該第二頁面的PLock,生成該第二頁面的頁面摘要,并淘汰該第二頁面。
[0051]可選地,作為另一個實施例,該方法還可包括:當(dāng)該數(shù)據(jù)處理節(jié)點持有第三頁面的物理鎖時,該數(shù)據(jù)處理節(jié)點在該數(shù)據(jù)處理節(jié)點的共享內(nèi)存中生成該第三頁面的頁面摘要。
[0052]本發(fā)明的上述兩個實施例中,通過持有頁面鎖來形成頁面的頁面摘要,以便在頁面訪問時根據(jù)頁面摘要進行掃描過濾,一定程度上減少頁面加載和掃描的開銷。
[0053]可選地,該方法還包括:當(dāng)該數(shù)據(jù)處理節(jié)點接收到第四頁面發(fā)生鎖沖突的消息時,該數(shù)據(jù)處理節(jié)點釋放該第四頁面的PLock,并失效該第四頁面的頁面摘要,其中,該第四頁面為該數(shù)據(jù)處理節(jié)點的數(shù)據(jù)庫緩沖區(qū)存儲空間中緩存的頁面,或該第四頁面為該數(shù)據(jù)處理節(jié)點已經(jīng)淘汰但仍然保留PLock的頁面。
[0054]下面,將結(jié)合具體的實施例,對本發(fā)明實施例的方法作進一步的描述。
[0055]圖2是本發(fā)明實施例OLTP集群數(shù)據(jù)庫中頁面查詢方法的具體流程圖。
[0056]OLTP集群數(shù)據(jù)庫可包括中心節(jié)點和若干個數(shù)據(jù)處理節(jié)點。在集群環(huán)境下,多個數(shù)據(jù)處理節(jié)點可能會操作同一頁面,為保證對頁面讀取和修改的正確性,需要增加頁面的PLock鎖管理。PLock包含exlusive/share兩種訪問模式,對索引、堆頁面的修改需要先申請exclusive模式的鎖,對索引頁面的讀取需要先申請share模式的鎖。集群的中心節(jié)點上存儲PLock的全局鎖表。本發(fā)明實施例中,PLock的釋放策略采用被動釋放PLock的處理方式。
[0057]201,頁面摘要創(chuàng)建。
[0058]當(dāng)數(shù)據(jù)處理節(jié)點持有頁面的PLock,可創(chuàng)建該頁面的頁面摘要。
[0059]當(dāng)數(shù)據(jù)處理節(jié)點的數(shù)據(jù)庫緩沖區(qū)存儲空間不足時,需要進行頁面淘汰。選擇淘汰的頁面的具體方法可參考現(xiàn)有技術(shù),本發(fā)明實施例在此不再贅述。當(dāng)淘汰的頁面確定后,數(shù)據(jù)處理節(jié)點可保留該淘汰的頁面的PLock,生成該頁面的頁面摘要,并淘汰掉該頁面。
[0060]如圖2所示,頁面創(chuàng)建后,可根據(jù)實際情況執(zhí)行不同的分支。
[0061]如果發(fā)生鎖沖突需要釋放頁面的P鎖時,執(zhí)行步驟202。
[0062]如果數(shù)據(jù)處理節(jié)點需要執(zhí)行數(shù)據(jù)庫查詢語句時,執(zhí)行步驟203。
[0063]202,頁面摘要失效。
[0064
當(dāng)前第2頁1 2 3 4 5 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1