国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      一種數(shù)據(jù)庫資源回收方法及系統(tǒng)的制作方法

      文檔序號:6519840閱讀:328來源:國知局
      一種數(shù)據(jù)庫資源回收方法及系統(tǒng)的制作方法
      【專利摘要】本發(fā)明實(shí)施例公開了一種數(shù)據(jù)庫資源回收方法,所述方法包括:獲取提交事務(wù)的事務(wù)屬性信息;根據(jù)所述獲取到的提交事務(wù)的事務(wù)屬性信息,確定目標(biāo)提交事務(wù);回收所述目標(biāo)提交事務(wù)對應(yīng)的事務(wù)回滾段。本發(fā)明實(shí)施例還公開了一種數(shù)據(jù)庫資源回收系統(tǒng)。采用本發(fā)明實(shí)施例,可回收指定的事務(wù)對應(yīng)的事務(wù)回滾段,并降低高隔離級別長事務(wù)的回滾率。
      【專利說明】ー種數(shù)據(jù)庫資源回收方法及系統(tǒng)
      【技術(shù)領(lǐng)域】
      [0001]本發(fā)明涉及數(shù)據(jù)庫【技術(shù)領(lǐng)域】,尤其涉及ー種數(shù)據(jù)庫資源回收方法及系統(tǒng)。
      【背景技術(shù)】
      [0002]事務(wù)的DML(Data Manipulation Language,數(shù)據(jù)操縱語言命令)操作使用戶能夠查詢數(shù)據(jù)庫以及操作已有數(shù)據(jù)庫中的數(shù)據(jù),而DML操作會(huì)產(chǎn)生回滾記錄,用于追蹤數(shù)據(jù)的變化,回滾段用于存儲(chǔ)回滾記錄,回滾段機(jī)制指的是將例如數(shù)據(jù)的舊版本,或者可用于回退數(shù)據(jù)的信息的回滾記錄存儲(chǔ)在回滾段中,當(dāng)事務(wù)需要讀取數(shù)據(jù)的舊版本時(shí),從回滾段讀取回滾記錄,從而獲得事務(wù)的舊版本。
      [0003]現(xiàn)有的Oracle數(shù)據(jù)庫的回滾段由多個(gè)extent區(qū)組成,姆個(gè)extent由可配置的固定數(shù)量的頁面組成,每個(gè)頁面只能存儲(chǔ)ー個(gè)事務(wù)的回滾記錄,每個(gè)extent可以存儲(chǔ)多個(gè)事務(wù)的回滾記錄,每個(gè)回滾段可以存儲(chǔ)至少ー個(gè)事務(wù)的回滾記錄,同一個(gè)事務(wù)的回滾記錄可以存儲(chǔ)于多個(gè)extent中,但只能存儲(chǔ)于同一個(gè)回滾段中?;貪L段的回收按照extent回收,如果extent內(nèi)所有頁面所屬的事務(wù)都已經(jīng)結(jié)束,那么該extent就可以回收,因此一次回滾段回收可能導(dǎo)致多個(gè)事務(wù)的回滾信息不全,導(dǎo)致高隔離級別的長事務(wù)因讀不到需要的數(shù)據(jù)的舊版本而回滾,回滾即泛指程序更新失敗,返回上一次正確狀態(tài)的行為。

      【發(fā)明內(nèi)容】

      [0004]本發(fā)明所要解決的技術(shù)問題在于,提供ー種數(shù)據(jù)庫資源回收方法及系統(tǒng),可回收指定的提交事務(wù)對應(yīng)的事務(wù)回滾段,并降低高隔離級別長事務(wù)的回滾率。
      [0005]為了解決上述技術(shù)問題,本發(fā)明第一方面提供了ー種數(shù)據(jù)庫資源回收方法,所述方法包括:
      [0006]獲取提交事務(wù)的事務(wù)屬性信息;
      [0007]根據(jù)所述獲取到的提交事務(wù)的事務(wù)屬性信息,確定目標(biāo)提交事務(wù);
      [0008]回收所述目標(biāo)提交事務(wù)對應(yīng)的事務(wù)回滾段。
      [0009]在第一種可能的實(shí)現(xiàn)方式中,所述獲取提交事務(wù)的事務(wù)屬性信息包括;
      [0010]在關(guān)聯(lián)關(guān)系表中分別獲取各個(gè)提交寒務(wù)與所有正在運(yùn)行的寒務(wù)的關(guān)聯(lián)數(shù)量,所述關(guān)聯(lián)關(guān)系表包括所有寒務(wù)之間的關(guān)聯(lián)關(guān)系,所述寒務(wù)包括正在運(yùn)行的寒務(wù)和提交寒務(wù);
      [0011]所述根據(jù)所述獲取到的提交事務(wù)的事務(wù)屬性信息,確定目標(biāo)提交事務(wù)包括;
      [0012]根據(jù)所述獲取到的各個(gè)提交事務(wù)與所有正在運(yùn)行的事務(wù)的關(guān)聯(lián)數(shù)量,確定所述目標(biāo)提交事務(wù)。
      [0013]結(jié)合第一方面或第一方面的第一種可能的實(shí)現(xiàn)方式,在第二種可能的實(shí)現(xiàn)方式中,所述獲取提交事務(wù)的事務(wù)屬性信息還包括;
      [0014]獲取所述提交事務(wù)對應(yīng)的更新元組的數(shù)量;
      [0015]所述根據(jù)所述獲取到的提交事務(wù)的事務(wù)屬性信息,確定目標(biāo)提交事務(wù)還包括;
      [0016]根據(jù)所述獲取到的提交事務(wù)對應(yīng)的更新元組的數(shù)量,確定所述目標(biāo)提交事務(wù)。[0017]結(jié)合第一方面、第一方面的第一種或第一方面的第二種可能的實(shí)現(xiàn)方式,在第三種可能的實(shí)現(xiàn)方式中,所述獲取提交事務(wù)的事務(wù)屬性信息還包括;
      [0018]獲取所述提交事務(wù)對應(yīng)的提交順序標(biāo)識(shí)及其對應(yīng)的回滾段占用空間;
      [0019]所述根據(jù)所述獲取到的提交事務(wù)的事務(wù)屬性信息,確定目標(biāo)提交事務(wù)還包括;
      [0020]根據(jù)所述獲取到的提交事務(wù)對應(yīng)的提交順序標(biāo)識(shí)及其對應(yīng)的回滾段占用空間,確定所述目標(biāo)提交事務(wù)。
      [0021]結(jié)合第一方面可能的實(shí)現(xiàn)方式,在第四種可能的實(shí)現(xiàn)方式中,回收所述目標(biāo)提交事務(wù)當(dāng)前對應(yīng)的操作信息。
      [0022]結(jié)合第一方面或第一方面的第一種至第四種中的任ー種可能的實(shí)現(xiàn)方式,在第五種可能的實(shí)現(xiàn)方式中,在滿足預(yù)設(shè)元組轉(zhuǎn)換條件時(shí),將正在運(yùn)行的事務(wù)對應(yīng)的未寫入事務(wù)表和關(guān)聯(lián)關(guān)系表的操作信息中的元組信息轉(zhuǎn)換為所述元組信息所屬的頁面信息,并刪除所述元組信息。
      [0023]結(jié)合第一方面的第五種可能的實(shí)現(xiàn)方式,在第六種可能的實(shí)現(xiàn)方式中,在滿足預(yù)設(shè)頁面轉(zhuǎn)換條件吋,將所述經(jīng)過轉(zhuǎn)換的頁面信息轉(zhuǎn)換為所述頁面信息所屬的表信息,并刪除所述頁面信息。
      [0024]本發(fā)明第二方面提供了一種數(shù)據(jù)庫資源回收系統(tǒng),所述系統(tǒng)包括:
      [0025]事務(wù)信息獲取單元,用于獲取提交事務(wù)的事務(wù)屬性信息;
      [0026]事務(wù)確定單元,用于根據(jù)所述事務(wù)信息獲取單元獲取到的提交事務(wù)的事務(wù)屬性信息,確定目標(biāo)提交事務(wù);
      [0027]回收單元,用于回收所述事務(wù)確定單元確定的目標(biāo)提交事務(wù)對應(yīng)的事務(wù)回滾段。
      [0028]在第一種可能的實(shí)現(xiàn)方式中,所述事務(wù)信息獲取單元包括關(guān)聯(lián)數(shù)量獲取模塊,所述關(guān)聯(lián)數(shù)量獲取模塊用于在關(guān)聯(lián)關(guān)系表中分別獲取各個(gè)提交事務(wù)與所有正在運(yùn)行的事務(wù)的關(guān)聯(lián)數(shù)量,所述關(guān)聯(lián)關(guān)系表包括所有事務(wù)之間的關(guān)聯(lián)關(guān)系,所述事務(wù)包括正在運(yùn)行的事務(wù)和提交事務(wù);
      [0029]所述事務(wù)確定單元還用于根據(jù)所述關(guān)聯(lián)數(shù)量獲取模塊獲取到的各個(gè)提交事務(wù)與所有正在運(yùn)行的事務(wù)的關(guān)聯(lián)數(shù)量,確定所述目標(biāo)提交事務(wù)。
      [0030]結(jié)合第二方面或第二方面的第一種可能的實(shí)現(xiàn)方式,在第二種可能的實(shí)現(xiàn)方式中,所述事務(wù)信息獲取單元還包括元組數(shù)量獲取模塊,所述元組數(shù)量獲取模塊用于獲取所述提交事務(wù)對應(yīng)的更新元組的數(shù)量;
      [0031]所述事務(wù)確定單元還用于根據(jù)所述元組數(shù)量獲取模塊獲取到的提交事務(wù)對應(yīng)的更新元組的數(shù)量,確定所述目標(biāo)提交事務(wù)。
      [0032]結(jié)合第二方面、第二方面的第一種或第二方面的第二種可能的實(shí)現(xiàn)方式,在第三種可能的實(shí)現(xiàn)方式中,所述事務(wù)信息獲取單元還包括順序標(biāo)識(shí)獲取模塊,所述順序標(biāo)識(shí)獲取模塊用于獲取所述提交事務(wù)對應(yīng)的提交順序標(biāo)識(shí)及其對應(yīng)的回滾段占用空間;
      [0033]所述事務(wù)確定單元還用于根據(jù)所述順序標(biāo)識(shí)獲取模塊獲取到的提交事務(wù)對應(yīng)的提交順序標(biāo)識(shí)及其對應(yīng)的回滾段占用空間,確定所述目標(biāo)提交事務(wù)。
      [0034]結(jié)合第二方面可能的實(shí)現(xiàn)方式,在第四種可能的實(shí)現(xiàn)方式中,所述回收單元還用于回收所述事務(wù)確定單元確定的目標(biāo)提交事務(wù)當(dāng)前對應(yīng)的操作信息。
      [0035]結(jié)合第二方面或第二方面的第一種至第四種中的任ー種可能的實(shí)現(xiàn)方式,在第五種可能的實(shí)現(xiàn)方式中,轉(zhuǎn)換單元用于在滿足預(yù)設(shè)元組轉(zhuǎn)換條件時(shí),將正在運(yùn)行的事務(wù)對應(yīng)的未寫入事務(wù)表和關(guān)聯(lián)關(guān)系表的操作信息中的元組信息轉(zhuǎn)換為所述元組信息所屬的頁面信息;
      [0036]刪除單元用于所述轉(zhuǎn)換單元將所述元組信息轉(zhuǎn)換為所述元組信息所屬的頁面信息后,刪除所述元組信息。
      [0037]結(jié)合第二方面的第五種可能的實(shí)現(xiàn)方式,在第六種可能的實(shí)現(xiàn)方式中,所述轉(zhuǎn)換單元還用于在滿足預(yù)設(shè)頁面轉(zhuǎn)換條件吋,將所述經(jīng)過轉(zhuǎn)換的頁面信息轉(zhuǎn)換為所述頁面信息所屬的表信息;
      [0038]所述刪除単元還用于所述轉(zhuǎn)換單元將所述頁面信息轉(zhuǎn)換為所述頁面信息所屬的表信息后,刪除所述頁面信息。
      [0039]實(shí)施本發(fā)明實(shí)施例,具有如下有益效果:根據(jù)獲取到的提交事務(wù)的事務(wù)屬性信息,確定目標(biāo)提交事務(wù),并回收所述目標(biāo)提交事務(wù)對應(yīng)的事務(wù)回滾段,本發(fā)明實(shí)施例可回收指定的事務(wù)對應(yīng)的事務(wù)回滾段,并降低高隔離級別長事務(wù)的回滾率;
      [0040]數(shù)據(jù)庫資源回收系統(tǒng)在到達(dá)預(yù)設(shè)元組轉(zhuǎn)換條件時(shí),將正在運(yùn)行的事務(wù)對應(yīng)的未寫入事務(wù)表和關(guān)聯(lián)關(guān)系表的操作信息中的元組信息轉(zhuǎn)換為所述元組信息所屬的頁面信息,并刪除所述元組信息,進(jìn)ー步的在到達(dá)預(yù)設(shè)頁面轉(zhuǎn)換條件時(shí),將經(jīng)過轉(zhuǎn)換的頁面信息轉(zhuǎn)換為所述頁面信息所屬的表信息,并刪除所述頁面信息,本發(fā)明實(shí)施例可在事務(wù)處于可見狀態(tài)時(shí)回收內(nèi)存空間,提高硬盤利用率。
      【專利附圖】

      【附圖說明】
      [0041]為了更清楚地說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
      [0042]圖1是本發(fā)明實(shí)施例中提供的ー種數(shù)據(jù)庫資源回收方法的流程示意圖;
      [0043]圖2是本發(fā)明實(shí)施例中提供的一種回滾段的組成示意圖;
      [0044]圖3是本發(fā)明另ー實(shí)施例中提供的ー種數(shù)據(jù)庫資源回收方法的流程示意圖;
      [0045]圖4是本發(fā)明另ー實(shí)施例中提供的ー種數(shù)據(jù)庫資源回收方法的流程示意圖;
      [0046]圖5是本發(fā)明實(shí)施例中提供的一種數(shù)據(jù)庫資源回收系統(tǒng)的結(jié)構(gòu)示意圖;
      [0047]圖6是本發(fā)明實(shí)施例中圖5的事務(wù)信息獲取單元的結(jié)構(gòu)示意圖;
      [0048]圖7是本發(fā)明另ー實(shí)施例中提供的一種數(shù)據(jù)庫資源回收系統(tǒng)的結(jié)構(gòu)示意圖。
      【具體實(shí)施方式】
      [0049]下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
      [0050]本發(fā)明提供了ー種數(shù)據(jù)庫資源回收方法及系統(tǒng),可回收指定的事務(wù)對應(yīng)的事務(wù)回滾段,并降低高隔離級別長事務(wù)的回滾率。以下分別進(jìn)行詳細(xì)說明。[0051]請參閱圖1,圖1是本發(fā)明實(shí)施例中提供的ー種數(shù)據(jù)庫資源回收方法的流程示意圖,如圖所示本發(fā)明實(shí)施例的所述方法至少包括:
      [0052]步驟S101,獲取提交事務(wù)的事務(wù)屬性信息。
      [0053]事務(wù)回滾段的回收可以包括安全回收和強(qiáng)制回收,若一個(gè)提交事務(wù)執(zhí)行的操作已經(jīng)對所有事務(wù)不可見,即所有事務(wù)不會(huì)針對所述提交事務(wù)執(zhí)行的操作而受到影響,則所述提交事務(wù)對應(yīng)的回滾段可以安全回收。強(qiáng)制回收是指當(dāng)回滾表空間不足(例如正在運(yùn)行的事務(wù)無法獲取回滾段空間),即回滾表空間的數(shù)據(jù)量到達(dá)回滾表空間的預(yù)設(shè)容量,數(shù)據(jù)庫資源回收系統(tǒng)無法進(jìn)行安全回收,需要強(qiáng)制回收執(zhí)行的操作還對所有事務(wù)中的指定事務(wù)可見的提交事務(wù)對應(yīng)的回滾段,而現(xiàn)有的強(qiáng)制回收具有隨意性,容易導(dǎo)致高隔離級別的長事務(wù)無法讀到需要的數(shù)據(jù)而報(bào)錯(cuò)回滾。
      [0054]在檢測到回滾表空間不足等情況下需要強(qiáng)制回收時(shí),數(shù)據(jù)庫資源回收系統(tǒng)可以在事務(wù)表或關(guān)聯(lián)關(guān)系表中獲取提交事務(wù)的事務(wù)屬性信息,所述事務(wù)屬性信息可以包括各個(gè)提交事務(wù)與所有正在運(yùn)行的事務(wù)的關(guān)聯(lián)數(shù)量、提交事務(wù)對應(yīng)的更新元組的數(shù)量或提交事務(wù)對應(yīng)的提交順序標(biāo)識(shí)及其對應(yīng)的回滾段占用空間。
      [0055]事務(wù)是一系列DML操作(例如insert數(shù)據(jù)插入操作、delete數(shù)據(jù)刪除操作或update數(shù)據(jù)修改操作),所述一系列操作完成一項(xiàng)任務(wù),由begin transaction事務(wù)開始和end transaction事務(wù)結(jié)束來界定所述ー些列操作的集合,事務(wù)開始執(zhí)行ー項(xiàng)任務(wù)的操作時(shí),所述事務(wù)為正在運(yùn)行的事務(wù);事務(wù)在執(zhí)行所述任務(wù)時(shí)其中ー項(xiàng)操作失敗,則撤銷執(zhí)行所述任務(wù)時(shí)的所有操作,即回滾到事務(wù)的起始點(diǎn)或上ー個(gè)保存點(diǎn),所述事務(wù)為回滾事務(wù);事務(wù)在執(zhí)行所述任務(wù)時(shí)所有操作都成功,則將所有操作對應(yīng)的操作信息提交數(shù)據(jù)庫,所述事務(wù)為提交事務(wù),其中正在運(yùn)行的事務(wù)是已經(jīng)開始但還未結(jié)束的事務(wù),回滾事務(wù)和提交事務(wù)是已經(jīng)結(jié)束的事務(wù)。
      [0056]在事務(wù)執(zhí)行時(shí),需要記錄包括事務(wù)操作過的表、索引、頁面、元組、表數(shù)量、索引數(shù)量、頁面數(shù)量以及元組數(shù)量等的操作信息,該操作信息可以寫入事務(wù)表和關(guān)聯(lián)關(guān)系表,其中事務(wù)表和關(guān)聯(lián)關(guān)系表針對的事務(wù)可以包括正在運(yùn)行的事務(wù)和提交事務(wù)。所述事務(wù)表用于記錄事務(wù)信息,所述事務(wù)信息可以包括事務(wù)對應(yīng)的操作信息、事務(wù)對應(yīng)的可見性信息以及事務(wù)對應(yīng)的使用過的回滾段等。所述關(guān)聯(lián)關(guān)系表用于記錄事務(wù)對應(yīng)的操作信息之間的關(guān)聯(lián)關(guān)系,而所述關(guān)聯(lián)關(guān)系可以根據(jù)元組、頁面以及表的順序進(jìn)行升級,即多個(gè)元組信息可以寫入同一個(gè)頁面,多個(gè)頁面信息可以寫入同一張表,表中的一行則表示一個(gè)元組信息。元組是關(guān)系數(shù)據(jù)庫中的基本概念,關(guān)系是ー張表,表中的每行(即數(shù)據(jù)庫中的每條記錄)就是ー個(gè)元組,每列就是ー個(gè)屬性。
      [0057]事務(wù)回滾段用于對數(shù)據(jù)庫進(jìn)行修改時(shí),存儲(chǔ)原有的數(shù)據(jù),即存儲(chǔ)回滾記錄,回滾記錄用于在事務(wù)執(zhí)行DML操作時(shí)追蹤數(shù)據(jù)的變化,例如針對insert操作,事務(wù)回滾段可以存儲(chǔ)插入記錄的rowid卩隹ー識(shí)別號;針對delete操作,事務(wù)回滾段可以存儲(chǔ)所述delete操作對應(yīng)的整個(gè)行的數(shù)據(jù);針對update操作,事務(wù)回滾段可以存儲(chǔ)被修改了的字段的變化前的數(shù)據(jù)。本發(fā)明實(shí)施例中的事務(wù)回滾段可以如圖2所示,圖2是ー種回滾段的組成示意圖,一個(gè)回滾段可以存儲(chǔ)于多個(gè)文件中,也可以是多個(gè)回滾段存儲(chǔ)于同一個(gè)文件中,或者是ー個(gè)回滾段存儲(chǔ)于對應(yīng)的一個(gè)文件中,組成回滾段的最小単位是頁面,回滾段由至少ー個(gè)頁面組成,分配給回滾段固定數(shù)量的頁面,若回滾段需要空間變多,可以動(dòng)態(tài)分配頁面給回滾段,其中回滾段存儲(chǔ)于回滾表空間,在邏輯上回滾段與事務(wù)是一一對應(yīng)的。
      [0058]步驟S102,根據(jù)所述獲取到的提交事務(wù)的事務(wù)屬性信息,確定目標(biāo)提交事務(wù)。
      [0059]數(shù)據(jù)庫資源回收系統(tǒng)可以根據(jù)獲取到的提交事務(wù)的事務(wù)屬性信息,確定目標(biāo)提交事務(wù)。
      [0060]作為ー種可選的實(shí)施方式,數(shù)據(jù)庫資源回收系統(tǒng)可以在關(guān)聯(lián)關(guān)系表中分別獲取各個(gè)提交事務(wù)與所有正在運(yùn)行的事務(wù)的關(guān)聯(lián)數(shù)量,其中提交事務(wù)對應(yīng)的元組信息、頁面信息或表信息中的任一信息與正在運(yùn)行的事務(wù)對應(yīng)的元組信息、頁面信息或表信息中的任一信息相關(guān)聯(lián),則表示所述提交事務(wù)與所述正在運(yùn)行的事務(wù)相關(guān)聯(lián),進(jìn)一歩的數(shù)據(jù)庫資源回收系統(tǒng)可以根據(jù)各個(gè)提交事務(wù)與所有正在運(yùn)行的事務(wù)的關(guān)聯(lián)數(shù)量,確定目標(biāo)提交事務(wù),所述目標(biāo)提交寒務(wù)與所有正在運(yùn)行的寒務(wù)的關(guān)聯(lián)數(shù)量最少。
      [0061]作為ー種可選的實(shí)施方式,數(shù)據(jù)庫資源回收系統(tǒng)可以在事務(wù)表或關(guān)聯(lián)關(guān)系表中獲取提交事務(wù)對應(yīng)的更新元組的數(shù)量,事務(wù)在執(zhí)行insert操作、update操作或delete操作吋,記錄的元組即更新元組,每產(chǎn)生ー個(gè)更新元組,計(jì)數(shù)器就會(huì)自動(dòng)加一,則數(shù)據(jù)庫資源回收系統(tǒng)可以通過計(jì)數(shù)器記錄的數(shù)值確定提交事務(wù)對應(yīng)的更新元組的數(shù)量,從而確定目標(biāo)提交事務(wù),所述目標(biāo)提交事務(wù)對應(yīng)的更新元組的數(shù)量最少。
      [0062]作為ー種可選的實(shí)施方式,數(shù)據(jù)庫資源回收系統(tǒng)可以在事務(wù)表或關(guān)聯(lián)關(guān)系表中獲取提交事務(wù)對應(yīng)的提交順序標(biāo)識(shí)及其對應(yīng)的回滾段占用空間,其中根據(jù)所述提交事務(wù)對應(yīng)的提交時(shí)間將所述提交寒務(wù)進(jìn)行排序,提交時(shí)間最早的提交寒務(wù)對應(yīng)的提交順序標(biāo)識(shí)為I,提交時(shí)間與提交順序標(biāo)識(shí)為I的提交事務(wù)的提交時(shí)間最接近的提交事務(wù)對應(yīng)的提交順序標(biāo)識(shí)為2,提交時(shí)間最近的提交事務(wù)對應(yīng)的提交順序標(biāo)識(shí)的數(shù)值最大,進(jìn)ー步的數(shù)據(jù)庫資源回收系統(tǒng)可以根據(jù)提交事務(wù)對應(yīng)的提交順序標(biāo)識(shí)及其對應(yīng)的回滾段占用空間,確定目標(biāo)提交事務(wù),所述目標(biāo)提交事務(wù)對應(yīng)的提交順序標(biāo)識(shí)的數(shù)值最小,或所述目標(biāo)提交事務(wù)對應(yīng)的回滾段占用空間最小??蛇x的,數(shù)據(jù)庫資源回收系統(tǒng)可以判斷所述提交事務(wù)對應(yīng)的提交順序標(biāo)識(shí)及其回滾段占用空間的比值是否小于預(yù)設(shè)閾值,若所述提交事務(wù)對應(yīng)的提交順序標(biāo)識(shí)及其回滾段占用空間的比值小于預(yù)設(shè)閾值,則確定所述提交事務(wù)為目標(biāo)提交事務(wù);若所述提交事務(wù)對應(yīng)的提交順序標(biāo)識(shí)及其回滾段占用空間的比值大于或等于預(yù)設(shè)閾值,則不對所述提交事務(wù)做處理。
      [0063]步驟S103,回收所述目標(biāo)提交事務(wù)對應(yīng)的事務(wù)回滾段。
      [0064]數(shù)據(jù)庫資源回收系統(tǒng)確定目標(biāo)提交事務(wù)后,回收所述目標(biāo)提交事務(wù)對應(yīng)的事務(wù)回滾段,其中事務(wù)回滾段的回收可以包括將所述事務(wù)回滾段刪除或者將所述事務(wù)回滾段標(biāo)記為可被未獲取事務(wù)回滾段的正在運(yùn)行的事務(wù)重用,若將所述事務(wù)回滾段標(biāo)記為可被未獲取事務(wù)回滾段的正在運(yùn)行的事務(wù)重用,則在未獲取事務(wù)回滾段的正在運(yùn)行的事物需要獲取回滾段空間時(shí),未獲取事務(wù)回滾段的正在運(yùn)行的事物可以覆蓋重用所述被標(biāo)記為可被未獲取事務(wù)回滾段的正在運(yùn)行的事務(wù)重用的事務(wù)回滾段??蛇x的,數(shù)據(jù)庫資源回收系統(tǒng)可以回收目標(biāo)提交事務(wù)當(dāng)前對應(yīng)的操作信息,即對數(shù)據(jù)庫進(jìn)行修改的操作信息。
      [0065]在圖1所示的數(shù)據(jù)庫資源回收方法中,數(shù)據(jù)庫資源回收系統(tǒng)根據(jù)獲取到的提交事務(wù)的事務(wù)屬性信息,確定目標(biāo)提交事務(wù),進(jìn)一歩的回收所述目標(biāo)提交事務(wù)對應(yīng)的事務(wù)回滾段,本發(fā)明實(shí)施例可回收指定的事務(wù)對應(yīng)的事務(wù)回滾段,并降低高隔離級別的長事務(wù)的回滾率。[0066]請參閱圖3,圖3是本發(fā)明另ー實(shí)施例中提供的ー種數(shù)據(jù)庫資源回收方法的流程示意圖,如圖所示,該數(shù)據(jù)庫資源回收方法可以包括以下步驟:
      [0067]步驟S301,在關(guān)聯(lián)關(guān)系表中分別獲取各個(gè)提交寒務(wù)與所有正在運(yùn)行的寒務(wù)的關(guān)聯(lián)數(shù)量。
      [0068]在滿足強(qiáng)制回收條件時(shí),數(shù)據(jù)庫資源回收系統(tǒng)可以在關(guān)聯(lián)關(guān)系表中分別獲取各個(gè)提交事務(wù)與所有正在運(yùn)行的事務(wù)的關(guān)聯(lián)數(shù)量。其中強(qiáng)制回收即回收ー個(gè)提交事務(wù)執(zhí)行的操作還對所有事務(wù)中的指定事務(wù)可見的所述提交事務(wù)對應(yīng)的回滾段,強(qiáng)制回收條件可以包括回滾表空間不足,即回滾表空間的數(shù)據(jù)量到達(dá)所述回滾表空間的預(yù)設(shè)容量等,進(jìn)ー步的提交事務(wù)對應(yīng)的元組信息、頁面信息或表信息中的任一信息與正在運(yùn)行的事務(wù)對應(yīng)的元組信息、頁面信息或表信息中的任一信息相關(guān)聯(lián),則表示所述提交事務(wù)與所述正在運(yùn)行的事務(wù)相關(guān)聯(lián)。
      [0069]步驟S302,在所述獲取到的關(guān)聯(lián)數(shù)量中確定關(guān)聯(lián)數(shù)量最少的提交事務(wù)。
      [0070]數(shù)據(jù)庫資源回收系統(tǒng)可以在所述獲取到的關(guān)聯(lián)數(shù)量中確定關(guān)聯(lián)數(shù)量最少的提交事務(wù),并將所述關(guān)聯(lián)數(shù)量最少的提交事務(wù)確定為目標(biāo)提交事務(wù),數(shù)據(jù)庫資源回收系統(tǒng)可以進(jìn)ー步執(zhí)行步驟S307,數(shù)據(jù)庫資源回收系統(tǒng)根據(jù)各個(gè)提交事務(wù)與所有正在運(yùn)行的事務(wù)的關(guān)聯(lián)數(shù)量,確定目標(biāo)提交事務(wù),并回收所述目標(biāo)提交事務(wù)對應(yīng)的事務(wù)回滾段,可降低高隔離級別的長事務(wù)因讀不到需要的舊數(shù)據(jù)而報(bào)錯(cuò)回滾的幾率。
      [0071]作為ー種可選的實(shí)施方式,若所述確定的關(guān)聯(lián)數(shù)量最少的提交事務(wù)包括至少兩個(gè)提交事務(wù),則數(shù)據(jù)庫資源回收系統(tǒng)可以進(jìn)ー步執(zhí)行步驟S303。
      [0072]步驟S303,在寒務(wù)表或關(guān)聯(lián)關(guān)系表中獲取所述關(guān)聯(lián)數(shù)量最少的提交寒務(wù)對應(yīng)的更新元組的數(shù)量。
      [0073]若數(shù)據(jù)庫資源回收系統(tǒng)在獲取到的關(guān)聯(lián)數(shù)量中確定的關(guān)聯(lián)數(shù)量最少的提交事務(wù)包括至少兩個(gè)提交事務(wù),則數(shù)據(jù)庫資源回收系統(tǒng)可以在事務(wù)表或關(guān)聯(lián)關(guān)系表中獲取所述關(guān)聯(lián)數(shù)量最少的提交事務(wù)對應(yīng)的更新元組的數(shù)量。
      [0074]其中事務(wù)在執(zhí)行insert操作、update操作或delete操作時(shí),記錄的元組即更新元組,每產(chǎn)生ー個(gè)更新元組,計(jì)數(shù)器就會(huì)自動(dòng)加一,則數(shù)據(jù)庫資源回收系統(tǒng)可以通過計(jì)數(shù)器記錄的數(shù)值確定提交事務(wù)對應(yīng)的更新元組的數(shù)量。
      [0075]作為ー種可選的實(shí)施方式,數(shù)據(jù)庫資源回收系統(tǒng)可以在事務(wù)表或關(guān)聯(lián)關(guān)系表中獲取所有提交事務(wù)對應(yīng)的更新元組的數(shù)量。
      [0076]步驟S304,在所述獲取到的更新元組的數(shù)量中確定更新元組的數(shù)量最少的提交事務(wù)。
      [0077]數(shù)據(jù)庫資源回收系統(tǒng)可以在獲取到的更新元組的數(shù)量中確定更新元組的數(shù)量最少的提交事務(wù),并將所述更新元組的數(shù)量最少的提交事務(wù)確定為目標(biāo)提交事務(wù),數(shù)據(jù)庫資源回收系統(tǒng)可以進(jìn)ー步執(zhí)行步驟S307,數(shù)據(jù)庫資源回收系統(tǒng)在與所有正在運(yùn)行的事務(wù)的關(guān)聯(lián)數(shù)量最少的提交事務(wù)中確定更新元組的數(shù)量最少的目標(biāo)提交事務(wù),并回收所述目標(biāo)提交事務(wù)對應(yīng)的事務(wù)回滾段,可進(jìn)ー步的降低高隔離級別的長事務(wù)的回滾率。
      [0078]作為ー種可選的實(shí)施方式,若所述確定的更新元組的數(shù)量最少的提交事務(wù)包括至少兩個(gè)提交事務(wù),則數(shù)據(jù)庫資源回收系統(tǒng)可以進(jìn)ー步執(zhí)行步驟S305。
      [0079]作為ー種可選的實(shí)施方式,若數(shù)據(jù)庫資源回收系統(tǒng)在事務(wù)表或關(guān)聯(lián)關(guān)系表中獲取所有提交事務(wù)對應(yīng)的更新元組的數(shù)量,則數(shù)據(jù)庫資源回收系統(tǒng)可以在獲取到的更新元組的數(shù)量中確定更新元組的數(shù)量最少的提交事務(wù),并將所述更新元組的數(shù)量最少的提交事務(wù)確定為目標(biāo)提交事務(wù),進(jìn)ー步執(zhí)行步驟S307。進(jìn)ー步可選的,若所述確定的更新元組的數(shù)量最少的提交事務(wù)包括至少兩個(gè)提交事務(wù),則數(shù)據(jù)庫資源回收系統(tǒng)可以進(jìn)ー步執(zhí)行步驟S305。
      [0080]步驟S305,在事務(wù)表和關(guān)聯(lián)關(guān)系表中獲取所述更新元組的數(shù)量最少的提交事務(wù)對應(yīng)的提交順序標(biāo)識(shí)及其對應(yīng)的回滾段占用空間。
      [0081]若數(shù)據(jù)庫資源回收系統(tǒng)在獲取到的更新元組的數(shù)量中確定的更新元組的數(shù)量最少的提交事務(wù)包括至少兩個(gè)提交事務(wù),則數(shù)據(jù)庫資源回收系統(tǒng)可以在事務(wù)表和關(guān)聯(lián)關(guān)系表中獲取所述更新元組的數(shù)量最少的提交事務(wù)對應(yīng)的提交順序標(biāo)識(shí)及其對應(yīng)的回滾段占用空間。
      [0082]其中,根據(jù)確定的更新元組的數(shù)量最少的提交事務(wù)對應(yīng)的提交時(shí)間將所述確定的提交事務(wù)進(jìn)行排序,提交時(shí)間最早的提交事務(wù)對應(yīng)的提交順序標(biāo)識(shí)為1,提交時(shí)間與提交順序標(biāo)識(shí)為I的提交寒務(wù)的提交時(shí)間最接近的提交寒務(wù)的提交順序標(biāo)識(shí)為2,提交時(shí)間最近的提交事務(wù)對應(yīng)的提交順序標(biāo)識(shí)的數(shù)值最大。
      [0083]作為ー種可選的實(shí)施方式,數(shù)據(jù)庫資源回收系統(tǒng)可以在事務(wù)表或關(guān)聯(lián)關(guān)系表中獲取所有提交事務(wù)對應(yīng)的提交順序標(biāo)識(shí)及其對應(yīng)的回滾段占用空間。
      [0084]步驟S306,在所述獲取到的提交順序標(biāo)識(shí)及回滾段占用空間中確定提交順序標(biāo)識(shí)最小或回滾段占用空間最大的目標(biāo)提交事務(wù)。
      [0085]數(shù)據(jù)庫資源回收系統(tǒng)可以在獲取到的提交順序標(biāo)識(shí)及回滾段占用空間中確定提交順序標(biāo)識(shí)最小或回滾段占用空間最大的目標(biāo)提交事務(wù)。
      [0086]作為ー種可選的實(shí)施方式,若數(shù)據(jù)庫資源回收系統(tǒng)在事務(wù)表或關(guān)聯(lián)關(guān)系表中獲取所有提交事務(wù)對應(yīng)的提交順序標(biāo)識(shí)及其對應(yīng)的回滾段占用空間,則數(shù)據(jù)庫資源回收系統(tǒng)可以在獲取到的提交順序標(biāo)識(shí)及回滾段占用空間中確定提交順序標(biāo)識(shí)最小或回滾段占用空間最大的目標(biāo)提交寒務(wù)。
      [0087]作為ー種可選的實(shí)施方式,數(shù)據(jù)庫資源回收系統(tǒng)可以判斷所述確定的更新元組的數(shù)量最少的提交事務(wù)對應(yīng)的提交順序標(biāo)識(shí)及其回滾段占用空間的比值是否小于預(yù)設(shè)閾值,若所述提交事務(wù)對應(yīng)的提交順序標(biāo)識(shí)及其回滾段占用空間的比值小于預(yù)設(shè)閾值,則確定所述提交事務(wù)為目標(biāo)提交事務(wù);若所述提交事務(wù)對應(yīng)的提交順序標(biāo)識(shí)及其回滾段占用空間的比值大于或等于預(yù)設(shè)閾值,則不對所述提交事務(wù)做處理。
      [0088]進(jìn)ー步可選的,若確定的更新元組的數(shù)量最少的提交事務(wù)中的所有提交事務(wù)對應(yīng)的提交順序標(biāo)識(shí)及其回滾段占用空間的比值都小于預(yù)設(shè)閾值,或者所述確定的更新元組的數(shù)量最少的提交事務(wù)中的所有提交事務(wù)對應(yīng)的提交順序標(biāo)識(shí)及其回滾段占用空間的比值都大于或等于預(yù)設(shè)閾值,則在確定的更新元組的數(shù)量最少的提交事務(wù)中的所有提交事務(wù)中確定提交順序標(biāo)識(shí)及回滾段占用空間的比值最小的提交事務(wù)為目標(biāo)提交事務(wù)。
      [0089]數(shù)據(jù)庫資源回收系統(tǒng)在更新元組的數(shù)量最少的提交事務(wù)中確定提交順序標(biāo)識(shí)最小或回滾段占用空間最大的目標(biāo)提交事務(wù),并回收所述目標(biāo)提交事務(wù)對應(yīng)的事務(wù)回滾段,可較大限度地降低高隔離級別的長事務(wù)的回滾率。
      [0090]步驟S307,回收所述目標(biāo)提交事務(wù)對應(yīng)的事務(wù)回滾段和當(dāng)前對應(yīng)的操作信息。
      [0091]數(shù)據(jù)庫資源回收系統(tǒng)確定目標(biāo)提交事務(wù)后,可以回收所述目標(biāo)提交事務(wù)對應(yīng)的事務(wù)回滾段和當(dāng)前對應(yīng)的操作信息。其中回收事務(wù)回滾段可以包括將所述事務(wù)回滾段刪除或者將所述事務(wù)回滾段標(biāo)記為可被未獲取事務(wù)回滾段的正在運(yùn)行的事務(wù)重用,若將所述事務(wù)回滾段標(biāo)記為可被未獲取事務(wù)回滾段的正在運(yùn)行的事務(wù)重用,則在未獲取事務(wù)回滾段的正在運(yùn)行的事物需要獲取回滾段空間時(shí),未獲取事務(wù)回滾段的正在運(yùn)行的事物可以覆蓋重用所述被標(biāo)記為可被未獲取事務(wù)回滾段的正在運(yùn)行的事務(wù)重用的事務(wù)回滾段。目標(biāo)提交事務(wù)當(dāng)前對應(yīng)的操作信息即對數(shù)據(jù)庫進(jìn)行修改的操作信息,操作信息可以包括事務(wù)操作過的表、索引、頁面、元組、表數(shù)量、索引數(shù)量、頁面數(shù)量以及元組數(shù)量等。
      [0092]請參閱圖4,圖4是本發(fā)明另ー實(shí)施例中提供的ー種數(shù)據(jù)庫資源回收方法的流程示意圖,如圖所示,該數(shù)據(jù)庫資源回收方法可以包括以下步驟:
      [0093]步驟S401,確定到達(dá)預(yù)設(shè)元組轉(zhuǎn)換條件。
      [0094]數(shù)據(jù)庫資源回收系統(tǒng)可以確定到達(dá)預(yù)設(shè)元組轉(zhuǎn)換條件,觸發(fā)執(zhí)行步驟S402。其中預(yù)設(shè)元組轉(zhuǎn)換條件可以包括用戶配置、用戶命令、內(nèi)存不足、資源占用超過限制、同一頁面內(nèi)元組數(shù)量達(dá)到界限或同一表內(nèi)頁面數(shù)量達(dá)到界限。
      [0095]用戶配置可以包括用戶配置的元組轉(zhuǎn)換條件或頁面轉(zhuǎn)換條件,例如用戶設(shè)定的正在運(yùn)行的事務(wù)對應(yīng)的未寫入事務(wù)表和關(guān)聯(lián)關(guān)系表的操作信息中的關(guān)聯(lián)元組的數(shù)量到達(dá)預(yù)設(shè)閾值。
      [0096]用戶命令可以包括用戶輸入的命令,例如將元組信息轉(zhuǎn)換為頁面信息的命令或?qū)㈨撁嫘畔⑥D(zhuǎn)換為表信息的命令。
      [0097]內(nèi)存不足,即內(nèi)存中的數(shù)據(jù)量到達(dá)內(nèi)存的預(yù)設(shè)容量。
      [0098]資源占用超過限制可以包括正在運(yùn)行的事務(wù)對應(yīng)的未寫入事務(wù)表和關(guān)聯(lián)關(guān)系表的操作信息的數(shù)據(jù)量到達(dá)預(yù)設(shè)閾值。
      [0099]同一頁面內(nèi)元組數(shù)量達(dá)到界限,即同一頁面中記錄的元組的數(shù)量到達(dá)所述頁面預(yù)設(shè)記錄元組的數(shù)量的最大值。
      [0100]同一表內(nèi)頁面數(shù)量達(dá)到界限,即同一表中記錄的頁面的數(shù)量到達(dá)所述表預(yù)設(shè)記錄頁面的數(shù)量的最大值。
      [0101]步驟S402,將正在運(yùn)行的事務(wù)對應(yīng)的未寫入事務(wù)表和關(guān)聯(lián)關(guān)系表的操作信息中的元組信息轉(zhuǎn)換為所述元組信息所屬的頁面信息。
      [0102]在事務(wù)執(zhí)行時(shí),需要記錄事務(wù)操作過的表、索引、頁面、元組、表數(shù)量、索引數(shù)量、頁面數(shù)量以及元組數(shù)量等,該操作信息可以寫入事務(wù)表和關(guān)聯(lián)關(guān)系表,關(guān)聯(lián)關(guān)系表中的關(guān)聯(lián)關(guān)系可以根據(jù)元組、頁面以及表的順序進(jìn)行升級,即多個(gè)元組信息可以寫入同一個(gè)頁面,多個(gè)頁面信息可以寫入同一張表,表中的一行則表不一個(gè)兀組信息。
      [0103]數(shù)據(jù)庫資源回收系統(tǒng)在確定到達(dá)預(yù)設(shè)元組轉(zhuǎn)換條件時(shí),可以將正在運(yùn)行的事務(wù)對應(yīng)的未寫入事務(wù)表和關(guān)聯(lián)關(guān)系表的操作信息中的元組信息轉(zhuǎn)換為所述元組信息所屬的頁面信息。例如,磁盤中的D盤包括ー個(gè)文件夾,所述文件夾中包括20個(gè)文件,則D盤表示I張表,D盤中的文件夾表示I個(gè)頁面,文件夾中的20個(gè)文件表示20個(gè)元組,若對所述20個(gè)文件中的15個(gè)文件進(jìn)行更新,那么就會(huì)產(chǎn)生15個(gè)元組信息(分別表示所述20個(gè)文件中指定的15個(gè)文件進(jìn)行了更新),數(shù)據(jù)庫資源回收系統(tǒng)在確定到達(dá)預(yù)設(shè)元組轉(zhuǎn)換條件時(shí),可以將15個(gè)元組信息轉(zhuǎn)換成I個(gè)頁面信息,即將分別表示所述20個(gè)文件中的指定的15個(gè)文件進(jìn)行了更新的元組信息轉(zhuǎn)換成表示包括所述20個(gè)文件的文件夾進(jìn)行了更新的頁面信息。[0104]步驟S403,刪除所述元組信息。
      [0105]數(shù)據(jù)庫資源回收系統(tǒng)可以將正在運(yùn)行的事務(wù)對應(yīng)的未寫入事務(wù)表和關(guān)聯(lián)關(guān)系表的操作信息中的元組信息轉(zhuǎn)換為所述元組信息所屬的頁面信息后,刪除所述元組信息。
      [0106]具體實(shí)現(xiàn)中,若預(yù)設(shè)元組轉(zhuǎn)換條件是用戶配置,所述用戶配置是用戶配置的元組轉(zhuǎn)換條件,則數(shù)據(jù)庫資源回收系統(tǒng)可以刪除所述元組信息,并觸發(fā)執(zhí)行步驟S408。
      [0107]若預(yù)設(shè)元組轉(zhuǎn)換條件是用戶命令,所述用戶命令是將元組信息轉(zhuǎn)換為頁面信息,則數(shù)據(jù)庫資源回收系統(tǒng)可以刪除所述元組信息,并觸發(fā)執(zhí)行步驟S408。
      [0108]若預(yù)設(shè)元組轉(zhuǎn)換條件是同一頁面內(nèi)元組數(shù)量達(dá)到界限,則數(shù)據(jù)庫資源回收系統(tǒng)可以刪除所述元組信息,并觸發(fā)執(zhí)行步驟S408。
      [0109]步驟S404,判斷是否到達(dá)預(yù)設(shè)頁面轉(zhuǎn)換條件。
      [0110]數(shù)據(jù)庫資源回收系統(tǒng)可以進(jìn)一歩判斷是否到達(dá)預(yù)設(shè)頁面轉(zhuǎn)換條件,若到達(dá)預(yù)設(shè)頁面轉(zhuǎn)換條件,則觸發(fā)執(zhí)行步驟S405 ;若未到達(dá)預(yù)設(shè)頁面轉(zhuǎn)換條件,則觸發(fā)執(zhí)行步驟S408。其中預(yù)設(shè)頁面轉(zhuǎn)換條件可以包括用戶配置、用戶命令、內(nèi)存不足、資源占用超過限制或同一表內(nèi)頁面數(shù)量達(dá)到界限。
      [0111]用戶配置可以包括用戶配置的頁面轉(zhuǎn)換條件,例如用戶設(shè)定的正在運(yùn)行的事務(wù)對應(yīng)的未寫入事務(wù)表和關(guān)聯(lián)關(guān)系表的操作信息中的關(guān)聯(lián)頁面的數(shù)量到達(dá)預(yù)設(shè)閾值。若預(yù)設(shè)元組轉(zhuǎn)換條件是用戶配置,所述用戶配置是用戶配置的頁面轉(zhuǎn)換條件,則數(shù)據(jù)庫資源回收系統(tǒng)將正在運(yùn)行的事務(wù)對應(yīng)的未寫入事務(wù)表和關(guān)聯(lián)關(guān)系表的操作信息中的元組信息轉(zhuǎn)換為所述元組信息所屬的頁面信息,并刪除所述元組信息后,進(jìn)ー步執(zhí)行步驟S405。
      [0112]用戶命令可以包括用戶輸入的命令,例如將頁面信息轉(zhuǎn)換為表信息的命令。若預(yù)設(shè)元組轉(zhuǎn)換條件是用戶命令,所述用戶命令是將頁面信息轉(zhuǎn)換為表信息,則數(shù)據(jù)庫資源回收系統(tǒng)將正在運(yùn)行的事務(wù)對應(yīng)的未寫入事務(wù)表和關(guān)聯(lián)關(guān)系表的操作信息中的元組信息轉(zhuǎn)換為所述元組信息所屬的頁面信息,并刪除所述元組信息后,進(jìn)ー步執(zhí)行步驟S405。
      [0113]內(nèi)存不足,即內(nèi)存中的數(shù)據(jù)量到達(dá)內(nèi)存的預(yù)設(shè)容量。若預(yù)設(shè)元組轉(zhuǎn)換條件是內(nèi)存不足,數(shù)據(jù)庫資源回收系統(tǒng)將正在運(yùn)行的事務(wù)對應(yīng)的未寫入事務(wù)表和關(guān)聯(lián)關(guān)系表的操作信息中的元組信息轉(zhuǎn)換為所述元組信息所屬的頁面信息,并刪除所述元組信息后,進(jìn)ー步檢測到內(nèi)存不足,則觸發(fā)執(zhí)行步驟S405 ;若檢測到內(nèi)存中的數(shù)據(jù)量小于內(nèi)存的預(yù)設(shè)容量,則觸發(fā)執(zhí)行步驟S408。
      [0114]資源占用超過限制可以包括正在運(yùn)行的事務(wù)對應(yīng)的未寫入事務(wù)表和關(guān)聯(lián)關(guān)系表的操作信息的數(shù)據(jù)量到達(dá)預(yù)設(shè)閾值。若預(yù)設(shè)元組轉(zhuǎn)換條件是資源占用超過限制,數(shù)據(jù)庫資源回收系統(tǒng)將正在運(yùn)行的事務(wù)對應(yīng)的未寫入事務(wù)表和關(guān)聯(lián)關(guān)系表的操作信息中的元組信息轉(zhuǎn)換為所述元組信息所屬的頁面信息,并刪除所述元組信息后,進(jìn)ー步檢測正在運(yùn)行的事務(wù)對應(yīng)的未寫入事務(wù)表和關(guān)聯(lián)關(guān)系表的操作信息的數(shù)據(jù)量是否到達(dá)預(yù)設(shè)閾值,若檢測到正在運(yùn)行的事務(wù)對應(yīng)的未寫入事務(wù)表和關(guān)聯(lián)關(guān)系表的操作信息的數(shù)據(jù)量到達(dá)預(yù)設(shè)閾值,則觸發(fā)執(zhí)行步驟S405 ;若檢測到正在運(yùn)行的事務(wù)對應(yīng)的未寫入事務(wù)表和關(guān)聯(lián)關(guān)系表的操作信息的數(shù)據(jù)量未到達(dá)預(yù)設(shè)閾值,則觸發(fā)執(zhí)行步驟S408。
      [0115]同一表內(nèi)頁面數(shù)量達(dá)到界限,即同一表中記錄的頁面的數(shù)量到達(dá)所述表預(yù)設(shè)記錄頁面的數(shù)量的最大值。則數(shù)據(jù)庫資源回收系統(tǒng)可以判斷出到達(dá)預(yù)設(shè)頁面轉(zhuǎn)換條件,將正在運(yùn)行的事務(wù)對應(yīng)的未寫入事務(wù)表和關(guān)聯(lián)關(guān)系表的操作信息中的元組信息轉(zhuǎn)換為所述元組信息所屬的頁面信息,并刪除所述元組信息后,觸發(fā)執(zhí)行步驟S405。
      [0116]步驟S405,將所述經(jīng)過轉(zhuǎn)換的頁面信息轉(zhuǎn)換為所述頁面信息所屬的表信息。
      [0117]數(shù)據(jù)庫資源回收系統(tǒng)在確定到達(dá)預(yù)設(shè)頁面轉(zhuǎn)換條件時(shí),可以將經(jīng)過轉(zhuǎn)換的頁面信息轉(zhuǎn)換為所述頁面信息所屬的表信息。例如磁盤中的D盤包括ー個(gè)文件夾,所述文件夾中包括20個(gè)文件,則D盤表示I張表,D盤中的文件夾表示I個(gè)頁面,文件夾中的20個(gè)文件表示20個(gè)元組,若對所述20個(gè)文件中的15個(gè)文件進(jìn)行更新,那么就會(huì)產(chǎn)生15個(gè)元組信息(分別表示所述20個(gè)文件中的指定的15個(gè)文件進(jìn)行了更新),將15個(gè)元組信息轉(zhuǎn)換成I個(gè)頁面信息后,確定到達(dá)預(yù)設(shè)頁面轉(zhuǎn)換條件時(shí),數(shù)據(jù)庫資源回收系統(tǒng)將所述經(jīng)過轉(zhuǎn)換的I個(gè)頁面信息轉(zhuǎn)換成I個(gè)表信息,即將表示包括所述20個(gè)文件的文件夾進(jìn)行了更新的頁面信息轉(zhuǎn)換成表示包括所述文件夾的D盤進(jìn)行了更新的表信息。
      [0118]步驟S406,刪除所述頁面信息。
      [0119]數(shù)據(jù)庫資源回收系統(tǒng)可以將經(jīng)過轉(zhuǎn)換的頁面信息轉(zhuǎn)換為所述頁面信息所屬的表信息后,刪除所述頁面信息。
      [0120]步驟S407,將收集到的表"[目息分別與入寒務(wù)表和關(guān)聯(lián)關(guān)系表。
      [0121]數(shù)據(jù)庫資源回收系統(tǒng)刪除所述頁面信息后,可以將收集到的所述正在運(yùn)行的事務(wù)對應(yīng)的未與入寒務(wù)表和關(guān)聯(lián)關(guān)系表的操作"[目息中的表"[目息與入寒務(wù)表和關(guān)聯(lián)關(guān)系表。
      [0122]步驟S408,將收集到的頁面信息和表信息分別寫入事務(wù)表和關(guān)聯(lián)關(guān)系表。
      [0123]若預(yù)設(shè)元組轉(zhuǎn)換條件是用戶配置的元組轉(zhuǎn)換條件、用戶輸入的將元組信息轉(zhuǎn)換為頁面信息的命令或同一頁面內(nèi)元組數(shù)量達(dá)到界限或者數(shù)據(jù)庫資源回收系統(tǒng)判斷未到達(dá)預(yù)設(shè)頁面轉(zhuǎn)換條件,則將收集到的所述正在運(yùn)行的事務(wù)對應(yīng)的未寫入事務(wù)表和關(guān)聯(lián)關(guān)系表的操作信息中的頁面信息和表信息分別寫入事務(wù)表和關(guān)聯(lián)關(guān)系表。
      [0124]在圖4所示的數(shù)據(jù)庫資源回收方法中,數(shù)據(jù)庫資源回收系統(tǒng)在到達(dá)預(yù)設(shè)元組轉(zhuǎn)換條件時(shí),將正在運(yùn)行的事務(wù)對應(yīng)的未寫入事務(wù)表和關(guān)聯(lián)關(guān)系表的操作信息中的元組信息轉(zhuǎn)換為所述元組信息所屬的頁面信息,并刪除所述元組信息。進(jìn)ー步的在到達(dá)預(yù)設(shè)頁面轉(zhuǎn)換條件時(shí),將經(jīng)過轉(zhuǎn)換的頁面信息轉(zhuǎn)換為所述頁面信息所屬的表信息,并刪除所述頁面信息。數(shù)據(jù)庫資源回收系統(tǒng)可以在事務(wù)處于可見狀態(tài)時(shí)回收內(nèi)存空間,提高硬盤利用率。
      [0125]請參閱圖5,圖5是本發(fā)明實(shí)施例中提供的一種數(shù)據(jù)庫資源回收系統(tǒng)的結(jié)構(gòu)示意圖,如圖所示本發(fā)明實(shí)施例中的數(shù)據(jù)庫資源回收系統(tǒng)至少可以包括事務(wù)信息獲取單元501、事務(wù)確定単元502以及回收單元503。
      [0126]事務(wù)信息獲取單元501,用于獲取提交事務(wù)的事務(wù)屬性信息;
      [0127]在滿足強(qiáng)制回收條件時(shí),事務(wù)信息獲取單元501可以獲取提交事務(wù)的事務(wù)屬性信息。其中強(qiáng)制回收即回收ー個(gè)提交事務(wù)執(zhí)行的操作還對所有事務(wù)中的指定事務(wù)可見的所述提交事務(wù)對應(yīng)的事務(wù)回滾段,強(qiáng)制回收條件可以包括回滾表空間不足,即回滾表空間的數(shù)據(jù)量到達(dá)所述回滾表空間的預(yù)設(shè)容量等,進(jìn)ー步的提交事務(wù)的事務(wù)屬性信息可以包括各個(gè)提交事務(wù)與所有正在運(yùn)行的事務(wù)的關(guān)聯(lián)數(shù)量、提交事務(wù)對應(yīng)的更新元組的數(shù)量或提交事務(wù)對應(yīng)的提交順序標(biāo)識(shí)及其對應(yīng)的回滾段占用空間。
      [0128]事務(wù)確定單元502,用于根據(jù)事務(wù)信息獲取單元501獲取到的提交事務(wù)的事務(wù)屬性信息,確定目標(biāo)提交事務(wù)。
      [0129]回收單元503,用于回收事務(wù)確定單元502確定的目標(biāo)提交事務(wù)對應(yīng)的事務(wù)回滾段。
      [0130]作為ー種可選的實(shí)施方式,本發(fā)明實(shí)施例中的事務(wù)信息獲取單元501可以如圖6所示,進(jìn)ー步包括:
      [0131]關(guān)聯(lián)數(shù)量獲取模塊601,用于在關(guān)聯(lián)關(guān)系表中分別獲取各個(gè)提交事務(wù)與所有正在運(yùn)行的事務(wù)的關(guān)聯(lián)數(shù)量,所述關(guān)聯(lián)關(guān)系表包括所有事務(wù)之間的關(guān)聯(lián)關(guān)系,所述事務(wù)包括正在運(yùn)行的事務(wù)和提交事務(wù),其中提交事務(wù)對應(yīng)的元組信息、頁面信息或表信息中的任一信息與正在運(yùn)行的事務(wù)對應(yīng)的元組信息、頁面信息或表信息中的任一信息相關(guān)聯(lián),則表示所述提交事務(wù)與所述正在運(yùn)行的事務(wù)相關(guān)聯(lián);
      [0132]所述事務(wù)確定單元502還用于根據(jù)關(guān)聯(lián)數(shù)量獲取模塊601獲取到的各個(gè)提交事務(wù)與所有正在運(yùn)行的事務(wù)的關(guān)聯(lián)數(shù)量,確定所述目標(biāo)提交事務(wù),所述目標(biāo)提交事務(wù)與所有正在運(yùn)行的事務(wù)的關(guān)聯(lián)數(shù)量最少。
      [0133]元組數(shù)量獲取模塊602,用于獲取所述提交事務(wù)對應(yīng)的更新元組的數(shù)量,其中事務(wù)在執(zhí)行insert操作、update操作或delete操作時(shí),記錄的元組即更新元組,姆產(chǎn)生ー個(gè)更新元組,計(jì)數(shù)器就會(huì)自動(dòng)加ー;
      [0134]所述事務(wù)確定單元502還用于根據(jù)元組數(shù)量獲取模塊602獲取到的提交事務(wù)對應(yīng)的更新元組的數(shù)量,確定所述目標(biāo)提交事務(wù),所述目標(biāo)提交事務(wù)對應(yīng)的更新元組的數(shù)量最少。
      [0135]順序標(biāo)識(shí)獲取模塊603,用于獲取所述提交事務(wù)對應(yīng)的提交順序標(biāo)識(shí)及其對應(yīng)的回滾段占用空間,其中根據(jù)所述提交事務(wù)對應(yīng)的提交時(shí)間將所述提交事務(wù)進(jìn)行排序,提交時(shí)間最早的提交寒務(wù)對應(yīng)的提交順序標(biāo)識(shí)為I,提交時(shí)間與提交順序標(biāo)識(shí)為I的提交寒務(wù)的提交時(shí)間最接近的提交事務(wù)的提交順序標(biāo)識(shí)為2,提交時(shí)間最近的提交事務(wù)對應(yīng)的提交順序標(biāo)識(shí)的數(shù)值最大;
      [0136]所述事務(wù)確定單元502還用于根據(jù)順序標(biāo)識(shí)獲取模塊603獲取到的提交事務(wù)對應(yīng)的提交順序標(biāo)識(shí)及其對應(yīng)的回滾段占用空間,確定所述目標(biāo)提交事務(wù),所述目標(biāo)提交事務(wù)對應(yīng)的提交順序標(biāo)識(shí)的數(shù)值最小,或所述目標(biāo)提交事務(wù)對應(yīng)的回滾段占用空間最大;
      [0137]可選的,事務(wù)確定単元502可以判斷所述提交事務(wù)對應(yīng)的提交順序標(biāo)識(shí)及其回滾段占用空間的比值是否小于預(yù)設(shè)閾值,若所述提交事務(wù)對應(yīng)的提交順序標(biāo)識(shí)及其回滾段占用空間的比值小于預(yù)設(shè)閾值,則確定所述提交事務(wù)為目標(biāo)提交事務(wù);若所述提交事務(wù)對應(yīng)的提交順序標(biāo)識(shí)及其回滾段占用空間的比值大于或等于預(yù)設(shè)閾值,則不對所述提交事務(wù)做處理。
      [0138]作為ー種可選的實(shí)施方式,所述回收単元503還用于回收事務(wù)確定單元502確定的目標(biāo)提交事務(wù)當(dāng)前對應(yīng)的操作信息,即對數(shù)據(jù)庫進(jìn)行修改的操作信息,操作信息可以包括事務(wù)操作過的表、索引、頁面、元組、表數(shù)量、索引數(shù)量、頁面數(shù)量以及元組數(shù)量等。
      [0139]作為ー種可選的實(shí)施方式,所述數(shù)據(jù)庫資源回收系統(tǒng)還可以包括:
      [0140]轉(zhuǎn)換單元504,用于在滿足預(yù)設(shè)元組轉(zhuǎn)換條件時(shí),將正在運(yùn)行的事務(wù)對應(yīng)的未寫入事務(wù)表和關(guān)聯(lián)關(guān)系表的操作信息中的元組信息轉(zhuǎn)換為所述元組信息所屬的頁面信息,其中預(yù)設(shè)元組轉(zhuǎn)換條件可以包括用戶配置、用戶命令、內(nèi)存不足、資源占用超過限制、同一頁面內(nèi)元組數(shù)量達(dá)到界限或同一表內(nèi)頁面數(shù)量達(dá)到界限;
      [0141]具體的,用戶配置可以包括用戶配置的元組轉(zhuǎn)換條件或頁面轉(zhuǎn)換條件,例如用戶設(shè)定的正在運(yùn)行的事務(wù)對應(yīng)的未寫入事務(wù)表和關(guān)聯(lián)關(guān)系表的操作信息中的關(guān)聯(lián)元組的數(shù)量到達(dá)預(yù)設(shè)閾值。用戶命令可以包括用戶輸入的命令,例如將元組信息轉(zhuǎn)換為頁面信息的命令或?qū)㈨撁嫘畔⑥D(zhuǎn)換為表信息的命令。內(nèi)存不足,即內(nèi)存中的數(shù)據(jù)量到達(dá)內(nèi)存的預(yù)設(shè)容量。資源占用超過限制可以包括正在運(yùn)行的事務(wù)對應(yīng)的未寫入事務(wù)表和關(guān)聯(lián)關(guān)系表的操作信息的數(shù)據(jù)量到達(dá)預(yù)設(shè)閾值。同一頁面內(nèi)元組數(shù)量達(dá)到界限,即同一頁面中記錄的元組的數(shù)量到達(dá)所述頁面預(yù)設(shè)記錄元組的數(shù)量的最大值。同一表內(nèi)頁面數(shù)量達(dá)到界限,即同一表中記錄的頁面的數(shù)量到達(dá)所述表預(yù)設(shè)記錄頁面的數(shù)量的最大值。
      [0142]刪除單元505,用于轉(zhuǎn)換単元504將所述元組信息轉(zhuǎn)換為所述元組信息所屬的頁面信息后,刪除所述元組信息。
      [0143]所述轉(zhuǎn)換単元504還用于在滿足預(yù)設(shè)頁面轉(zhuǎn)換條件吋,將所述經(jīng)過轉(zhuǎn)換的頁面信息轉(zhuǎn)換為所述頁面信息所屬的表信息,其中預(yù)設(shè)頁面轉(zhuǎn)換條件可以包括用戶配置、用戶命令、內(nèi)存不足、資源占用超過限制或同一表內(nèi)頁面數(shù)量達(dá)到界限。
      [0144]用戶配置可以包括用戶配置的頁面轉(zhuǎn)換條件,例如用戶設(shè)定的正在運(yùn)行的事務(wù)對應(yīng)的未寫入事務(wù)表和關(guān)聯(lián)關(guān)系表的操作信息中的關(guān)聯(lián)頁面的數(shù)量到達(dá)預(yù)設(shè)閾值。用戶命令可以包括用戶輸入的命令,例如將頁面信息轉(zhuǎn)換為表信息的命令。若預(yù)設(shè)元組轉(zhuǎn)換條件是內(nèi)存不足,即內(nèi)存中的數(shù)據(jù)量到達(dá)內(nèi)存的預(yù)設(shè)容量,轉(zhuǎn)換單元504將正在運(yùn)行的事務(wù)對應(yīng)的未寫入事務(wù)表和關(guān)聯(lián)關(guān)系表的操作信息中的元組信息轉(zhuǎn)換為所述元組信息所屬的頁面信息,刪除單元505刪除所述元組信息后,進(jìn)ー步檢測到內(nèi)存不足,則滿足預(yù)設(shè)頁面轉(zhuǎn)換條件。若預(yù)設(shè)元組轉(zhuǎn)換條件是資源占用超過限制,轉(zhuǎn)換單元504將正在運(yùn)行的事務(wù)對應(yīng)的未寫入事務(wù)表和關(guān)聯(lián)關(guān)系表的操作信息中的元組信息轉(zhuǎn)換為所述元組信息所屬的頁面信息,刪除單元505刪除所述元組信息后,進(jìn)ー步檢測到正在運(yùn)行的事務(wù)對應(yīng)的未寫入事務(wù)表和關(guān)聯(lián)關(guān)系表的操作信息的數(shù)據(jù)量到達(dá)預(yù)設(shè)閾值,則滿足預(yù)設(shè)頁面轉(zhuǎn)換條件。同一表內(nèi)頁面數(shù)量達(dá)到界限,即同一表中記錄的頁面的數(shù)量到達(dá)所述表預(yù)設(shè)記錄頁面的數(shù)量的最大值。
      [0145]所述刪除単元505還用于轉(zhuǎn)換單元504將所述頁面信息轉(zhuǎn)換為所述頁面信息所屬的表信息后,刪除所述頁面信息。
      [0146]在圖5以及圖6所示的數(shù)據(jù)庫資源回收系統(tǒng)中,事務(wù)確定単元502根據(jù)事務(wù)信息獲取單元501獲取到的提交事務(wù)的事務(wù)屬性信息,確定目標(biāo)提交事務(wù),進(jìn)ー步的回收單元503回收所述目標(biāo)提交事務(wù)對應(yīng)的事務(wù)回滾段,本發(fā)明實(shí)施例可回收指定的事務(wù)對應(yīng)的事務(wù)回滾段,并降低高隔離級別的長事務(wù)的回滾率。
      [0147]請參閱圖7,圖7是本發(fā)明另ー實(shí)施例中提供的一種數(shù)據(jù)庫資源回收系統(tǒng)的結(jié)構(gòu)示意圖,用于執(zhí)行本發(fā)明實(shí)施例提供的數(shù)據(jù)庫資源回收方法。如圖7所示,該數(shù)據(jù)庫資源回收系統(tǒng)包括:至少ー個(gè)處理器701,例如CPU,至少ー個(gè)網(wǎng)絡(luò)接ロ 704或者其他用戶接ロ703,存儲(chǔ)器705,至少ー個(gè)通信總線702。通信總線702用于實(shí)現(xiàn)這些組件之間的連接通信。其中,用戶接ロ 703可選的可以包括但不限于USB接ロ以及其他標(biāo)準(zhǔn)接ロ、有線接ロ。網(wǎng)絡(luò)接ロ 704可選的可以包括W1-Fi接ロ以及其他無線接ロ。存儲(chǔ)器705可能包含高速RAM存儲(chǔ)器,也可能還包括非不穩(wěn)定的存儲(chǔ)器(non-volatile memory),例如至少ー個(gè)磁盤存儲(chǔ)器。存儲(chǔ)器705可選的可以包含至少ー個(gè)位于遠(yuǎn)離前述處理器701的存儲(chǔ)裝置。如圖7所示,作為ー種計(jì)算機(jī)存儲(chǔ)介質(zhì)的存儲(chǔ)器705中可以包括操作系統(tǒng)7051及應(yīng)用程序7052。
      [0148]在一些實(shí)施方式中,存儲(chǔ)器705存儲(chǔ)了如下的元素,可執(zhí)行模塊或者數(shù)據(jù)結(jié)構(gòu),或者他們的子集,或者他們的擴(kuò)展集:
      [0149]操作系統(tǒng)7051,包含各種系統(tǒng)程序,用于實(shí)現(xiàn)各種基礎(chǔ)業(yè)務(wù)以及處理基于硬件的任務(wù);
      [0150]應(yīng)用程序7052,包含事務(wù)回滾段的回收程序、事務(wù)當(dāng)前對應(yīng)的操作信息的回收程序以及事務(wù)對應(yīng)的操作信息向高級別轉(zhuǎn)換的程序等各種應(yīng)用程序,用于實(shí)現(xiàn)各種應(yīng)用業(yè)務(wù)。
      [0151]具體地,處理器701用于調(diào)用存儲(chǔ)器705中存儲(chǔ)的程序,執(zhí)行以下操作:
      [0152]獲取提交事務(wù)的事務(wù)屬性信息;
      [0153]根據(jù)獲取到的提交事務(wù)的事務(wù)屬性信息,確定目標(biāo)提交事務(wù);
      [0154]回收目標(biāo)提交事務(wù)對應(yīng)的事務(wù)回滾段。
      [0155]在一個(gè)實(shí)施例中,處理器701獲取提交事務(wù)的事務(wù)屬性信息具體為:
      [0156]通過處理器701在關(guān)聯(lián)關(guān)系表中分別獲取各個(gè)提交事務(wù)與所有正在運(yùn)行的事務(wù)的關(guān)聯(lián)數(shù)量,所述關(guān)聯(lián)關(guān)系表包括所有事務(wù)之間的關(guān)聯(lián)關(guān)系,所述事務(wù)包括正在運(yùn)行的事務(wù)和提交事務(wù);
      [0157]相應(yīng)地,根據(jù)獲取到的提交事務(wù)的事務(wù)屬性信息,確定目標(biāo)提交事務(wù)具體為:
      [0158]根據(jù)獲取到的各個(gè)提交事務(wù)與所有正在運(yùn)行的事務(wù)的關(guān)聯(lián)數(shù)量,確定目標(biāo)提交事務(wù)。
      [0159]在一個(gè)實(shí)施例中,處理器701獲取提交事務(wù)的事務(wù)屬性信息還可以為:
      [0160]通過處理器701獲取所述提交事務(wù)對應(yīng)的更新元組的數(shù)量;
      [0161]相應(yīng)地,根據(jù)獲取到的提交事務(wù)的事務(wù)屬性信息,確定目標(biāo)提交事務(wù)具體為:
      [0162]根據(jù)獲取到的提交事務(wù)對應(yīng)的更新元組的數(shù)量,確定目標(biāo)提交事務(wù)。
      [0163]在一個(gè)實(shí)施例中,處理器701獲取提交事務(wù)的事務(wù)屬性信息還可以為:通過處理器701獲取所述提交事務(wù)對應(yīng)的提交順序標(biāo)識(shí)及其對應(yīng)的回滾段占用空間;
      [0164]相應(yīng)地,根據(jù)獲取到的提交事務(wù)的事務(wù)屬性信息,確定目標(biāo)提交事務(wù)具體為:
      [0165]根據(jù)獲取到的提交事務(wù)對應(yīng)的提交順序標(biāo)識(shí)及其對應(yīng)的回滾段占用空間,確定目標(biāo)提交事務(wù)。
      [0166]在一個(gè)實(shí)施例中,處理器701根據(jù)獲取到的提交事務(wù)的事務(wù)屬性信息,確定目標(biāo)提交事務(wù)之后,還執(zhí)行以下操作:
      [0167]通過處理器701回收目標(biāo)提交事務(wù)當(dāng)前對應(yīng)的操作信息。
      [0168]在一個(gè)實(shí)施例中,處理器701還執(zhí)行以下步驟:
      [0169]在滿足預(yù)設(shè)元組轉(zhuǎn)換條件時(shí),將正在運(yùn)行的事務(wù)對應(yīng)的未寫入事務(wù)表和關(guān)聯(lián)關(guān)系表的操作信息中的元組信息轉(zhuǎn)換為所述元組信息所屬的頁面信息,并刪除所述元組信息。
      [0170]在一個(gè)實(shí)施例中,處理器701還執(zhí)行以下步驟:
      [0171]在滿足預(yù)設(shè)頁面轉(zhuǎn)換條件吋,將所述經(jīng)過轉(zhuǎn)換的頁面信息轉(zhuǎn)換為所述頁面信息所屬的表信息,并刪除所述頁面信息。
      [0172]其中,圖7所示的數(shù)據(jù)庫資源回收系統(tǒng)根據(jù)獲取到的提交事務(wù)的事務(wù)屬性信息,確定目標(biāo)提交事務(wù),并回收所述目標(biāo)提交事務(wù)對應(yīng)的事務(wù)回滾段,可降低高隔離級別的長事務(wù)的回滾率。
      [0173]進(jìn)ー步的,在滿足預(yù)設(shè)元組轉(zhuǎn)換條件時(shí),將正在運(yùn)行的事務(wù)對應(yīng)的未寫入事務(wù)表和關(guān)聯(lián)關(guān)系表的操作信息中的元組信息轉(zhuǎn)換為所述元組信息所屬的頁面信息,進(jìn)而在滿足預(yù)設(shè)的頁面轉(zhuǎn)換條件時(shí),將經(jīng)過轉(zhuǎn)換的頁面信息轉(zhuǎn)換為所述頁面信息所述的表信息,可在事務(wù)處于可見狀態(tài)時(shí)回收內(nèi)存空間,提高硬盤利用率。
      [0174]本領(lǐng)域普通技術(shù)人員可以理解實(shí)現(xiàn)上述實(shí)施例方法中的全部或部分流程,是可以通過計(jì)算機(jī)程序來指令相關(guān)的硬件來完成,所述的程序可存儲(chǔ)于計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中,該程序在執(zhí)行時(shí),可包括如上述各方法的實(shí)施例的流程。其中,所述的存儲(chǔ)介質(zhì)可為磁碟、光盤、只讀存儲(chǔ)記憶體(Read-Only Memory, ROM)或隨機(jī)存儲(chǔ)記憶體(Random AccessMemory, RAM)等。
      [0175]需要說明的是,在上述實(shí)施例中,對各個(gè)實(shí)施例的描述都各有側(cè)重,某個(gè)實(shí)施例中沒有詳細(xì)描述的部分,可以參見其他實(shí)施例的相關(guān)描述。其次,本領(lǐng)域技術(shù)人員也應(yīng)該知悉,說明書中所描述的實(shí)施例均屬于優(yōu)選實(shí)施例,所涉及的動(dòng)作和単元并不一定是本發(fā)明所必須的。
      [0176]本發(fā)明實(shí)施例方法中的步驟可以根據(jù)實(shí)際需要進(jìn)行順序調(diào)整、合并和刪減。
      [0177]本發(fā)明實(shí)施例裝置中的模塊或単元可以根據(jù)實(shí)際需要進(jìn)行合并、劃分和刪減。
      [0178]本發(fā)明實(shí)施例中所述模塊或單元,可以通過通用集成電路,例如CPU (CentralProcessing Unit,中央處理器),或通過 ASIC (Application Specific IntegratedCircuit,專用集成電路)來實(shí)現(xiàn)。
      [0179]以上對本發(fā)明實(shí)施例所提供的數(shù)據(jù)庫資源回收方法及系統(tǒng)進(jìn)行了詳細(xì)介紹,本文中應(yīng)用了具體個(gè)例對本發(fā)明的原理及實(shí)施方式進(jìn)行了闡述,以上實(shí)施例的說明只是用于幫助理解本發(fā)明的方法及其核心思想;同時(shí),對于本領(lǐng)域的一般技術(shù)人員,依據(jù)本發(fā)明的思想,在【具體實(shí)施方式】及應(yīng)用范圍上均會(huì)有改變之處,綜上所述,本說明書內(nèi)容不應(yīng)理解為對本發(fā)明的限制。
      【權(quán)利要求】
      1.ー種數(shù)據(jù)庫資源回收方法,其特征在于,所述方法包括: 獲取提交事務(wù)的事務(wù)屬性信息; 根據(jù)所述獲取到的提交事務(wù)的事務(wù)屬性信息,確定目標(biāo)提交事務(wù); 回收所述目標(biāo)提交事務(wù)對應(yīng)的事務(wù)回滾段。
      2.如權(quán)利要求1所述的方法,其特征在于,所述獲取提交事務(wù)的事務(wù)屬性信息包括: 在關(guān)聯(lián)關(guān)系表中分別獲取各個(gè)提交事務(wù)與所有正在運(yùn)行的事務(wù)的關(guān)聯(lián)數(shù)量,所述關(guān)聯(lián)關(guān)系表包括所有寒務(wù)之間的關(guān)聯(lián)關(guān)系,所述寒務(wù)包括正在運(yùn)行的寒務(wù)和提交寒務(wù); 所述根據(jù)所述獲取到的提交事務(wù)的事務(wù)屬性信息,確定目標(biāo)提交事務(wù)包括: 根據(jù)所述獲取到的各個(gè)提交事務(wù)與所有正在運(yùn)行的事務(wù)的關(guān)聯(lián)數(shù)量,確定所述目標(biāo)提交事務(wù)。
      3.如權(quán)利要求1或2所述的方法,其特征在于,所述獲取提交事務(wù)的事務(wù)屬性信息還包括: 獲取所述提交事務(wù)對應(yīng)的更新元組的數(shù)量; 所述根據(jù)所述獲取到的 提交事務(wù)的事務(wù)屬性信息,確定目標(biāo)提交事務(wù)還包括: 根據(jù)所述獲取到的提交事務(wù)對應(yīng)的更新元組的數(shù)量,確定所述目標(biāo)提交事務(wù)。
      4.如權(quán)利要求1~3任一項(xiàng)所述的方法,其特征在于,所述獲取提交事務(wù)的事務(wù)屬性信息還包括: 獲取所述提交事務(wù)對應(yīng)的提交順序標(biāo)識(shí)及其對應(yīng)的回滾段占用空間; 所述根據(jù)所述獲取到的提交事務(wù)的事務(wù)屬性信息,確定目標(biāo)提交事務(wù)還包括: 根據(jù)所述獲取到的提交事務(wù)對應(yīng)的提交順序標(biāo)識(shí)及其對應(yīng)的回滾段占用空間,確定所述目標(biāo)提交事務(wù)。
      5.如權(quán)利要求1所述的方法,其特征在于,所述方法還包括: 回收所述目標(biāo)提交事務(wù)當(dāng)前對應(yīng)的操作信息。
      6.如權(quán)利要求1~5任一項(xiàng)所述的方法,其特征在于,所述方法還包括: 在滿足預(yù)設(shè)元組轉(zhuǎn)換條件時(shí),將正在運(yùn)行的事務(wù)對應(yīng)的未寫入事務(wù)表和關(guān)聯(lián)關(guān)系表的操作信息中的元組信息轉(zhuǎn)換為所述元組信息所屬的頁面信息; 將所述元組信息轉(zhuǎn)換為所述元組信息所屬的頁面信息后,刪除所述元組信息。
      7.如權(quán)利要求6所述的方法,其特征在于,所述刪除所述元組信息之后,所述方法還包括: 在滿足預(yù)設(shè)頁面轉(zhuǎn)換條件吋,將所述經(jīng)過轉(zhuǎn)換的頁面信息轉(zhuǎn)換為所述頁面信息所屬的表信息; 將所述頁面信息轉(zhuǎn)換為所述頁面信息所屬的表信息后,刪除所述頁面信息。
      8.一種數(shù)據(jù)庫資源回收系統(tǒng),其特征在于,所述系統(tǒng)包括: 事務(wù)信息獲取單元,用于獲取提交事務(wù)的事務(wù)屬性信息; 事務(wù)確定單元,用于根據(jù)所述事務(wù)信息獲取單元獲取到的提交事務(wù)的事務(wù)屬性信息,確定目標(biāo)提交寒務(wù); 回收單元,用于回收所述事務(wù)確定單元確定的目標(biāo)提交事務(wù)對應(yīng)的事務(wù)回滾段。
      9.如權(quán)利要求8所述的系統(tǒng),其特征在于,所述事務(wù)信息獲取單元包括: 關(guān)聯(lián)數(shù)量獲取模塊,用于在關(guān)聯(lián)關(guān)系表中分別獲取各個(gè)提交事務(wù)與所有正在運(yùn)行的事務(wù)的關(guān)聯(lián)數(shù)量,所述關(guān)聯(lián)關(guān)系表包括所有事務(wù)之間的關(guān)聯(lián)關(guān)系,所述事務(wù)包括正在運(yùn)行的事務(wù)和提交事務(wù); 所述事務(wù)確定單元還用于: 根據(jù)所述關(guān)聯(lián)數(shù)量獲取模塊獲取到的各個(gè)提交事務(wù)與所有正在運(yùn)行的事務(wù)的關(guān)聯(lián)數(shù)量,確定所述目標(biāo)提交事務(wù)。
      10.如權(quán)利要求8或9所述的系統(tǒng),其特征在于,所述事務(wù)信息獲取單元還包括: 元組數(shù)量獲取模塊,用于獲取所述提交事務(wù)對應(yīng)的更新元組的數(shù)量; 所述事務(wù)確定單元還用于: 根據(jù)所述元組數(shù)量獲取模塊獲取到的提交事務(wù)對應(yīng)的更新元組的數(shù)量,確定所述目標(biāo)提交事務(wù)。
      11.如權(quán)利要求8~10任一項(xiàng)所述的系統(tǒng),其特征在于,所述事務(wù)信息獲取單元還包括: 順序標(biāo)識(shí)獲取模塊,用于獲取所述提交事務(wù)對應(yīng)的提交順序標(biāo)識(shí)及其對應(yīng)的回滾段占用空間; 所述事務(wù)確定單元還用于: 根據(jù)所述順序標(biāo)識(shí)獲取模塊獲取到的提交事務(wù)對應(yīng)的提交順序標(biāo)識(shí)及其對應(yīng)的回滾段占用空間,確定所述目標(biāo)提交事務(wù)。
      12.如權(quán)利要求8所述的系統(tǒng),其特征在于,所述回收単元還用于: 回收所述事務(wù)確定単元確定的目標(biāo)提交事務(wù)當(dāng)前對應(yīng)的操作信息。
      13.如權(quán)利要求8~12任一項(xiàng)所述的系統(tǒng),其特征在于,所述系統(tǒng)還包括: 轉(zhuǎn)換單元,用于在滿足預(yù)設(shè)元組轉(zhuǎn)換條件時(shí),將正在運(yùn)行的事務(wù)對應(yīng)的未寫入事務(wù)表和關(guān)聯(lián)關(guān)系表的操作信息中的元組信息轉(zhuǎn)換為所述元組信息所屬的頁面信息; 刪除單元,用于所述轉(zhuǎn)換單元將所述元組信息轉(zhuǎn)換為所述元組信息所屬的頁面信息后,刪除所述元組信息。
      14.如權(quán)利要求13所述的系統(tǒng),其特征在于,所述轉(zhuǎn)換単元還用于: 在滿足預(yù)設(shè)頁面轉(zhuǎn)換條件吋,將所述經(jīng)過轉(zhuǎn)換的頁面信息轉(zhuǎn)換為所述頁面信息所屬的表信息; 所述刪除単元還用于: 所述轉(zhuǎn)換單元將所述頁面信息轉(zhuǎn)換為所述頁面信息所屬的表信息后,刪除所述頁面信
      O
      【文檔編號】G06F17/30GK103593449SQ201310585657
      【公開日】2014年2月19日 申請日期:2013年11月19日 優(yōu)先權(quán)日:2013年11月19日
      【發(fā)明者】文繼軍, 徐文韜, 聶愿愿 申請人:華為技術(shù)有限公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會(huì)獲得點(diǎn)贊!
      1