国产精品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>

      訪問(wèn)多代數(shù)據(jù)庫(kù)中的數(shù)據(jù)的制作方法

      文檔序號(hào):6595693閱讀:212來(lái)源:國(guó)知局
      專(zhuān)利名稱(chēng):訪問(wèn)多代數(shù)據(jù)庫(kù)中的數(shù)據(jù)的制作方法
      技術(shù)領(lǐng)域
      本發(fā)明總體上涉及數(shù)據(jù)庫(kù),更具體地,涉及訪問(wèn)多代數(shù)據(jù)庫(kù)(multi-generation) 中的數(shù)據(jù)。
      背景技術(shù)
      數(shù)據(jù)庫(kù)是指在由數(shù)據(jù)庫(kù)管理系統(tǒng)(DBMS)所管理的數(shù)據(jù)存儲(chǔ)系統(tǒng)中存儲(chǔ)的、有組織的數(shù)據(jù)聚集。DBMS通常實(shí)現(xiàn)某些類(lèi)型的同步以允許對(duì)數(shù)據(jù)庫(kù)中數(shù)據(jù)的并發(fā)訪問(wèn)。同步可以涉及實(shí)現(xiàn)針對(duì)數(shù)據(jù)庫(kù)中每個(gè)數(shù)據(jù)的“鎖”。然而,如果鎖被存儲(chǔ)在高速存儲(chǔ)器中,則根據(jù)數(shù)據(jù)庫(kù)的大小可能會(huì)存在可擴(kuò)展性的問(wèn)題,這是由于高速存儲(chǔ)器傾向于較小。另一方面,將鎖存儲(chǔ)在慢速訪問(wèn)存儲(chǔ)器中的專(zhuān)用位置中將對(duì)性能產(chǎn)生不利影響。在多代數(shù)據(jù)庫(kù)中,數(shù)據(jù)根據(jù)一個(gè)或者多個(gè)代(generation)或者時(shí)段而被組織。在驗(yàn)證點(diǎn)、恢復(fù)點(diǎn)、特定操作的開(kāi)始處或者在某些其他指定時(shí)間點(diǎn)處,一個(gè)代可以結(jié)束而另一代可以開(kāi)始。通常,每個(gè)數(shù)據(jù)存在多個(gè)版本,每個(gè)代一個(gè)版本。每個(gè)版本與一代相關(guān)聯(lián),從而可以通過(guò)搜索與最當(dāng)前代相關(guān)聯(lián)的版本來(lái)標(biāo)識(shí)最新的版本。不幸的是,為了具有最當(dāng)前代的版本而搜索所有版本是效率低下的,并且導(dǎo)致同步困難。需要克服上述缺陷的系統(tǒng)和方法。

      發(fā)明內(nèi)容
      本公開(kāi)涉及便于訪問(wèn)多代數(shù)據(jù)庫(kù)中的數(shù)據(jù)的系統(tǒng)和相應(yīng)的方法。出于概括目的,在此描述了特定的方面、優(yōu)點(diǎn)和新穎性特征。應(yīng)當(dāng)理解,根據(jù)任意特定實(shí)施方式不必實(shí)現(xiàn)全部此類(lèi)優(yōu)點(diǎn)。由此,所要求的主題可以按照如下方式具體化或者實(shí)現(xiàn),其中實(shí)現(xiàn)或者最優(yōu)化一個(gè)優(yōu)點(diǎn)或者一組優(yōu)點(diǎn),而沒(méi)有實(shí)現(xiàn)在此教示或者提示的全部?jī)?yōu)點(diǎn)。根據(jù)一個(gè)實(shí)施方式,提供了一種用于訪問(wèn)多代數(shù)據(jù)庫(kù)中數(shù)據(jù)的方法。該方法包括 接收訪問(wèn)數(shù)據(jù)庫(kù)中第一數(shù)據(jù)的請(qǐng)求,其中第一數(shù)據(jù)定位于數(shù)據(jù)庫(kù)的第一頁(yè)面上;讀取對(duì)應(yīng)于第一頁(yè)面的條目以定位第一頁(yè)面上的第一軌道從而訪問(wèn)該數(shù)據(jù)的最新版本;獲取第一鎖以同步對(duì)第一軌道的訪問(wèn);以及響應(yīng)于在保持第一鎖的同時(shí)讀取條目,確定第一軌道存儲(chǔ)該數(shù)據(jù)的最新版本。根據(jù)另一實(shí)施方式,提供了一種包括一個(gè)或多個(gè)邏輯單元的系統(tǒng)。一個(gè)或者多個(gè)邏輯單元配置用于執(zhí)行與上述方法相關(guān)聯(lián)的功能和操作。根據(jù)又一實(shí)施方式,提供了一種包括具有計(jì)算機(jī)可讀程序的計(jì)算機(jī)可用介質(zhì)的計(jì)算機(jī)程序產(chǎn)品和計(jì)算機(jī)程序。當(dāng)在計(jì)算機(jī)上執(zhí)行時(shí),計(jì)算機(jī)可讀程序使得計(jì)算機(jī)執(zhí)行與上述公開(kāi)方法相關(guān)聯(lián)的功能和操作。下面將參考附圖進(jìn)一步詳述上文公開(kāi)的一個(gè)或多個(gè)實(shí)施方式以及某些備選方案。 然而,本發(fā)明并不限于所公開(kāi)的任何特定實(shí)施方式。


      現(xiàn)在僅借助于示例并參考如下附圖中所示的優(yōu)選實(shí)施方式描述本發(fā)明,在附圖中圖1示出了根據(jù)一個(gè)或者多個(gè)實(shí)施方式的用于多代數(shù)據(jù)庫(kù)的示例性數(shù)據(jù)庫(kù)布局;圖2示出了根據(jù)一個(gè)實(shí)施方式的用于標(biāo)識(shí)最新版本數(shù)據(jù)的示例性頁(yè)面表;圖3是根據(jù)一個(gè)實(shí)施方式的用于從多代數(shù)據(jù)庫(kù)中讀取數(shù)據(jù)的方法的流程圖;圖4是根據(jù)一個(gè)實(shí)施方式的用于標(biāo)識(shí)最新版本數(shù)據(jù)的示例性方法的流程圖;圖5是根據(jù)一個(gè)實(shí)施方式的用于向多代數(shù)據(jù)庫(kù)寫(xiě)入數(shù)據(jù)的方法的流程圖;圖6是根據(jù)一個(gè)實(shí)施方式的用于升級(jí)多代數(shù)據(jù)庫(kù)中的頁(yè)面的方法的流程圖;以及圖7和圖8是根據(jù)一個(gè)或者多個(gè)實(shí)施方式的、本發(fā)明的系統(tǒng)可以操作于其中的硬件和軟件環(huán)境的框圖。根據(jù)一個(gè)或者多個(gè)實(shí)施方式,在不同附圖中以相同數(shù)字引用的本發(fā)明的特征、元件和方面表示相同、等效或者類(lèi)似的特征、元件或者方面。
      具體實(shí)施例方式在下文中,闡明了多個(gè)具體細(xì)節(jié)以提供對(duì)本發(fā)明各種實(shí)施方式的徹底理解??梢栽诓痪哂羞@些具體細(xì)節(jié)或者存在某些細(xì)節(jié)上的變化的情況下實(shí)踐本發(fā)明的特定實(shí)施方式。 在某些實(shí)例中,以較少細(xì)節(jié)描述特定特征,以便不會(huì)混淆本發(fā)明優(yōu)選實(shí)施方式的其他方面。 與每個(gè)元件或者特征相關(guān)聯(lián)的細(xì)節(jié)的水平不應(yīng)當(dāng)解釋為限制一個(gè)特征的新穎性或者重要性超過(guò)其他特征。參見(jiàn)圖1,根據(jù)一個(gè)實(shí)施方式,示例性多代數(shù)據(jù)庫(kù)100包括對(duì)應(yīng)于在數(shù)據(jù)庫(kù)100中存儲(chǔ)的數(shù)據(jù)的一個(gè)或者多個(gè)頁(yè)面。例如,數(shù)據(jù)庫(kù)100可以包括N個(gè)數(shù)據(jù),由此存在N個(gè)頁(yè)面,每個(gè)數(shù)據(jù)一個(gè)頁(yè)面。數(shù)據(jù)的每個(gè)頁(yè)面包括數(shù)據(jù)的一個(gè)或者多個(gè)版本,其中數(shù)據(jù)的每個(gè)版本定位于頁(yè)面上的不同軌道或者不同位置。例如,頁(yè)面1可以分別包括定位于軌道1、2和 3上的版本A、B和C ;而頁(yè)面2可以分別包括定位于軌道1、2和3上的版本D、B和C。數(shù)據(jù)庫(kù)100由DBMS 110管理。特別地,DBMS 100管理對(duì)數(shù)據(jù)庫(kù)100中數(shù)據(jù)的訪問(wèn)。為此,DBMS 110可以通過(guò)實(shí)現(xiàn)針對(duì)數(shù)據(jù)庫(kù)100中每個(gè)頁(yè)面的每個(gè)軌道的鎖,來(lái)同步對(duì)數(shù)據(jù)的訪問(wèn)。對(duì)于讀取訪問(wèn),鎖可以由不止一個(gè)訪問(wèn)共享。對(duì)于寫(xiě)訪問(wèn),鎖對(duì)于一個(gè)訪問(wèn)是排他的。理想上,鎖被存儲(chǔ)在具有數(shù)據(jù)的軌道上,使得一次訪問(wèn)足以訪問(wèn)軌道上的數(shù)據(jù)的版本以及鎖兩者,由此改進(jìn)大型數(shù)據(jù)庫(kù)的性能并提高可擴(kuò)展性。在一個(gè)實(shí)施方式中,相同頁(yè)面上的鎖可以被統(tǒng)一地認(rèn)為是單個(gè)鎖。DBMS 110還可以維護(hù)頁(yè)面表,以便在頁(yè)面上定位數(shù)據(jù)的最新版本。通過(guò)消除搜索數(shù)據(jù)的每個(gè)版本來(lái)找到最新版本這一需要,維護(hù)頁(yè)面表改進(jìn)了性能并且簡(jiǎn)化了同步。參見(jiàn)圖1和圖2,根據(jù)一個(gè)實(shí)施方式,示例性頁(yè)面表200包括對(duì)應(yīng)于數(shù)據(jù)庫(kù)100中的一個(gè)或者多個(gè)頁(yè)面的一個(gè)或者多個(gè)條目。例如,頁(yè)面表200可以包括對(duì)應(yīng)于數(shù)據(jù)庫(kù)100的N個(gè)頁(yè)面的 N個(gè)條目。每個(gè)條目參考在與該條目相關(guān)聯(lián)的頁(yè)面上存儲(chǔ)的數(shù)據(jù)的最新版本的軌道。取決于實(shí)現(xiàn),可以使用不同格式來(lái)參考軌道。理想上,使用最少數(shù)量的位來(lái)為大型數(shù)據(jù)庫(kù)提供可擴(kuò)展性。例如,如果頁(yè)面上存在N個(gè)軌道,可以使用大約Im2(N)個(gè)位來(lái)參考軌道。在圖1中的示例性示出中,頁(yè)面1上數(shù)據(jù)的最新版本(版本C)定位于軌道3 ;而頁(yè)面2上數(shù)據(jù)的最新版本(版本D)定位于軌道1。由于在頁(yè)面上存在3個(gè)軌道,因此使用兩個(gè)位來(lái)參考軌道。例如,“00”用于參考軌道1,“01”用于參考軌道2,而“10”用于參考軌道 3。參見(jiàn)圖1和圖3,根據(jù)一個(gè)實(shí)施方式,DBMS 110接收訪問(wèn)位于數(shù)據(jù)庫(kù)100上的第一頁(yè)面上的數(shù)據(jù)的請(qǐng)求(P300)。作為響應(yīng),DBMS 110從頁(yè)面表200讀取對(duì)應(yīng)于第一頁(yè)面的條目,以定位第一頁(yè)面上存儲(chǔ)數(shù)據(jù)的最新版本的第一軌道(P310)。例如,如果DBMS 110接收從數(shù)據(jù)庫(kù)100的頁(yè)面1訪問(wèn)數(shù)據(jù)的請(qǐng)求,則DBMS 110從頁(yè)面表200讀取條目1。在圖1和圖2中,條目1參考存儲(chǔ)數(shù)據(jù)的版本C的軌道3。響應(yīng)于定位第一軌道,DBMS 100獲取鎖,以便同步對(duì)第一軌道的訪問(wèn)(P320)。鎖同步對(duì)數(shù)據(jù)的訪問(wèn),使得只要條目參考第一軌道,則數(shù)據(jù)的最新版本定位于第一軌道之上, 同時(shí)保持對(duì)該軌道的鎖。響應(yīng)于獲取對(duì)第一軌道的鎖,第二次讀取該條目,以確定數(shù)據(jù)的最新版本是否仍然定位于第一軌道之上(P330)。如果包括數(shù)據(jù)的第一頁(yè)面在第一次讀取之后但在獲取對(duì)第一軌道的鎖之前被升級(jí)為新的代,則條目可能在第一次讀取和第二次讀取之間改變。在下文參見(jiàn)圖6提供關(guān)于升級(jí)頁(yè)面的進(jìn)一步細(xì)節(jié)。如果數(shù)據(jù)的最新版本仍然定位于第一軌道(P340),則DBMS返回定位于第一軌道上的數(shù)據(jù)的版本(P350)。如果數(shù)據(jù)的最新版本不再定位于第一軌道(P340), 則DBMS 110釋放鎖(P360)并重復(fù)P310至P360。參見(jiàn)圖1、圖3和圖4,根據(jù)一個(gè)實(shí)施方式,DBMS 110接收讀取定位于數(shù)據(jù)庫(kù)100的第一頁(yè)面上的數(shù)據(jù)的請(qǐng)求(P400)。響應(yīng)于接收該請(qǐng)求,DBMS 110訪問(wèn)第一頁(yè)面上存儲(chǔ)該數(shù)據(jù)的最新版本的第一軌道(P410,P300-350),并且返回?cái)?shù)據(jù)的最新版本(P420)。DBMS 110 還釋放在P410期間獲取的對(duì)第一軌道的鎖(P430)。參見(jiàn)圖1、圖3和圖5,根據(jù)一個(gè)實(shí)施方式,DBMS 110接收更新定位于數(shù)據(jù)庫(kù)100 的第一頁(yè)面上的數(shù)據(jù)的請(qǐng)求。響應(yīng)于接收該請(qǐng)求,DBMS 110訪問(wèn)第一頁(yè)面上存儲(chǔ)該數(shù)據(jù)的最新版本的第一軌道(P500,P300-350),并且確定第一軌道是否與當(dāng)前代相關(guān)聯(lián)(P520)。 DBMS 110可以例如通過(guò)驗(yàn)證由DBMS 110維護(hù)的事務(wù)日志中的新近事務(wù)來(lái)標(biāo)識(shí)當(dāng)前代。如果第一軌道與當(dāng)前代相關(guān)聯(lián)(P520),則DBMS 110向第一軌道進(jìn)行寫(xiě)入,更新數(shù)據(jù)的最新版本(P530),繼而釋放在P500期間被排他性獲取的對(duì)第一軌道的鎖(PMO)。否則,DBMS 110將第一頁(yè)面升級(jí)到當(dāng)前代(P550),并且向第一頁(yè)面上的第二軌道進(jìn)行寫(xiě)入, 更新數(shù)據(jù)的最新版本(P560)。從用戶(hù)角度,升級(jí)第一頁(yè)面是自動(dòng)執(zhí)行的,該升級(jí)包括在第二軌道上創(chuàng)建數(shù)據(jù)的新版本以及更新頁(yè)面表200。參見(jiàn)圖1、圖5和圖6,根據(jù)一個(gè)實(shí)施方式,DBMS 110創(chuàng)建數(shù)據(jù)的最新版本的副本 (P600)。如果在第一頁(yè)面上存在可用的未使用第二軌道(P610),則DBMS 110在該未使用第二軌道上存儲(chǔ)副本(P620)。否則,DBMS 110通過(guò)覆蓋數(shù)據(jù)的最老版本在已使用的第二軌道上存儲(chǔ)副本(P630)。在一個(gè)實(shí)施方式中,數(shù)據(jù)的最老版本定位于數(shù)據(jù)的最新版本右側(cè)的軌道。例如,在圖1和圖2中,由于版本C是頁(yè)面1上數(shù)據(jù)的最新版本,因此數(shù)據(jù)的最老版本是定位于軌道1上的版本A (具有重疊)。一旦數(shù)據(jù)的最新版本被復(fù)制到第二軌道,則將第二軌道與當(dāng)前代相關(guān)聯(lián)(P640), 并且對(duì)第二軌道的訪問(wèn)進(jìn)行同步的鎖被復(fù)位和排他性地獲取(P650)。由此,存儲(chǔ)在第二軌道上的數(shù)據(jù)的最新版本的副本成為數(shù)據(jù)的最新版本。
      返回參見(jiàn)圖1、圖5和圖6,當(dāng)獲取對(duì)第二軌道的鎖時(shí),DBMS 110更新針對(duì)頁(yè)面表200中的頁(yè)面的條目(P660),并且釋放在P500期間被排他性獲取的對(duì)第一軌道的鎖 (P670)。一旦條目被更新,DBMS110便向第二軌道進(jìn)行寫(xiě)入,從而更新該數(shù)據(jù)的新創(chuàng)建的最新版本(P680,P560),并且釋放對(duì)第二軌道的鎖(P690)。例如,如果頁(yè)面1被升級(jí),則圖1 的頁(yè)面1和圖2的條目1變?yōu)槿缤瑘D1的頁(yè)面2和圖2的條目2。在不同實(shí)施方式中,本發(fā)明可以按照如下形式實(shí)現(xiàn)全部以硬件的形式、或者全部以軟件的形式、或者以硬件和軟件元件兩者的組合。例如,數(shù)據(jù)庫(kù)100和DBMS 110可以包括于受控計(jì)算系統(tǒng)環(huán)境,該受控計(jì)算系統(tǒng)環(huán)境可以在很大程度上表現(xiàn)為硬件組件和軟件代碼,該軟件代碼被執(zhí)行以執(zhí)行實(shí)現(xiàn)由本發(fā)明的系統(tǒng)所預(yù)期的結(jié)果的過(guò)程。參見(jiàn)圖7和圖8,根據(jù)一個(gè)示例性實(shí)施方式的計(jì)算系統(tǒng)環(huán)境包括硬件環(huán)境1110和軟件環(huán)境1120。硬件環(huán)境1110包括提供針對(duì)軟件的執(zhí)行環(huán)境的機(jī)器和設(shè)備;而軟件提供針對(duì)硬件的執(zhí)行指令,如下文所提供的。如在此提供的,以特定邏輯/功能關(guān)系的形式描述在示出的硬件元件上執(zhí)行的軟件元件。然而,應(yīng)當(dāng)注意,例如,以軟件實(shí)現(xiàn)的相應(yīng)方法還可以借助于配置的和編程的處理器、專(zhuān)用集成電路(ASIC)、現(xiàn)場(chǎng)可編程門(mén)陣列(FPGA)和數(shù)字化信號(hào)處理器(DSP)來(lái)以硬件實(shí)現(xiàn)。軟件環(huán)境1120被劃分為包括系統(tǒng)軟件1121和應(yīng)用軟件1122的兩個(gè)主要類(lèi)別。系統(tǒng)軟件1121包括控制程序,諸如操作系統(tǒng)(OS)和指示硬件如何功能化和處理信息的信息
      管理系統(tǒng)。在一個(gè)實(shí)施方式中,DBMS 110實(shí)現(xiàn)為在一個(gè)或者多個(gè)硬件環(huán)境中執(zhí)行以管理對(duì)數(shù)據(jù)庫(kù)100的訪問(wèn)的應(yīng)用軟件1122。應(yīng)用軟件1122可以包括但不限于程序代碼、數(shù)據(jù)結(jié)構(gòu)、 固件、駐留軟件、微代碼或者可以由微控制器讀取、分析或者執(zhí)行的任何其他形式的信息或者例程。在備選實(shí)施方式中,本發(fā)明可以實(shí)現(xiàn)為計(jì)算機(jī)程序產(chǎn)品,該計(jì)算機(jī)程序產(chǎn)品從計(jì)算機(jī)可用或者計(jì)算機(jī)可讀介質(zhì)可訪問(wèn),該介質(zhì)提供用于由計(jì)算機(jī)或者任何指令執(zhí)行系統(tǒng)使用、或者與計(jì)算機(jī)或者任何指令執(zhí)行系統(tǒng)相結(jié)合使用的程序代碼。例如,出于本說(shuō)明書(shū)的目的,計(jì)算機(jī)可用或者計(jì)算機(jī)可讀介質(zhì)可以是包括、存儲(chǔ)、通信、傳播或者傳輸程序的任何裝置,該程序用于由指令執(zhí)行系統(tǒng)、裝置或者設(shè)備使用、或者與指令執(zhí)行系統(tǒng)、裝置或者設(shè)備結(jié)合使用。該計(jì)算機(jī)可讀介質(zhì)可以是電子、磁性、光學(xué)、電磁、紅外或半導(dǎo)體系統(tǒng)(或裝置或設(shè)備)或傳播介質(zhì)。計(jì)算機(jī)可讀介質(zhì)的示例包括半導(dǎo)體或固態(tài)存儲(chǔ)器、磁帶、可移除計(jì)算機(jī)盤(pán)、隨機(jī)存取存儲(chǔ)器(RAM)、只讀存儲(chǔ)器(ROM)、剛性磁盤(pán)和光盤(pán)。光盤(pán)的當(dāng)前示例包括壓縮盤(pán)-只讀存儲(chǔ)器(CD-ROM)、壓縮盤(pán)-讀/寫(xiě)存儲(chǔ)器(CD-R/W)和數(shù)字視頻光盤(pán)DVD。參見(jiàn)圖7,應(yīng)用軟件1122的實(shí)施方式可以按照計(jì)算機(jī)可讀代碼的形式實(shí)現(xiàn)為計(jì)算機(jī)軟件,該計(jì)算機(jī)可讀代碼在諸如硬件環(huán)境1110的數(shù)據(jù)處理系統(tǒng)上執(zhí)行,該硬件環(huán)境1110 包括借助于系統(tǒng)總線1100耦合至一個(gè)或者多個(gè)存儲(chǔ)器元件的處理器1101。存儲(chǔ)器元件例如可以包括本地存儲(chǔ)器1102、存儲(chǔ)介質(zhì)1106以及高速緩沖存儲(chǔ)器1104。處理器1101從存儲(chǔ)介質(zhì)1106向本地存儲(chǔ)器1102加載可執(zhí)行代碼。高速緩沖存儲(chǔ)器1104提供臨時(shí)存儲(chǔ)以降低從存儲(chǔ)介質(zhì)1106加載用于執(zhí)行的代碼的次數(shù)。
      用戶(hù)接口設(shè)備1105(例如,鍵盤(pán)、指示設(shè)備等)和顯示屏1107可以直接或者例如通過(guò)中介I/O控制器1103耦合至計(jì)算系統(tǒng)。通信接口單元1108(諸如,網(wǎng)絡(luò)適配器)還可以耦合至計(jì)算系統(tǒng)以支持?jǐn)?shù)據(jù)處理系統(tǒng)通過(guò)中介私有網(wǎng)絡(luò)或者公共網(wǎng)絡(luò),而與其他數(shù)據(jù)處理系統(tǒng)或者遠(yuǎn)程打印機(jī)或者存儲(chǔ)設(shè)備通信。有線或者無(wú)線調(diào)制解調(diào)器和以太網(wǎng)卡是網(wǎng)絡(luò)適配器的幾個(gè)示例性類(lèi)型。在一個(gè)或者多個(gè)實(shí)施方式中,硬件環(huán)境1110可以不包括全部組件,或者可以包括用于附加功能或者應(yīng)用的其他組件。例如,硬件環(huán)境1110可以是膝上型計(jì)算機(jī)或者體現(xiàn)為嵌入式系統(tǒng)的其他便攜式計(jì)算設(shè)備,諸如機(jī)頂盒、個(gè)人數(shù)字助理(PDA)、移動(dòng)通信單元(例如,無(wú)線電話)或者具有信息處理和/或數(shù)據(jù)存儲(chǔ)和通信能力的其他類(lèi)似硬件平臺(tái)。在系統(tǒng)的某些實(shí)施方式中,通信接口 1108通過(guò)發(fā)送和接收電的、電磁的或者光學(xué)信號(hào)來(lái)與其他系統(tǒng)通信,該信號(hào)承載表示包括程序代碼的各種類(lèi)型信息的數(shù)字?jǐn)?shù)據(jù)流。通信可以借助于遠(yuǎn)程網(wǎng)絡(luò)(例如,因特網(wǎng))或者備選地借助于通過(guò)載波傳輸而建立。參見(jiàn)圖8,應(yīng)用軟件1122可以包括一個(gè)或者多個(gè)計(jì)算機(jī)程序,該計(jì)算機(jī)程序在從存儲(chǔ)器介質(zhì)1106加載至本地存儲(chǔ)器1102后而在系統(tǒng)軟件1121上執(zhí)行。在客戶(hù)端-服務(wù)器架構(gòu)中,應(yīng)用軟件1122可以包括客戶(hù)端軟件和服務(wù)器軟件。例如,在一個(gè)實(shí)施方式中,客戶(hù)端軟件在通用計(jì)算機(jī)系統(tǒng)上執(zhí)行,而服務(wù)器軟件在服務(wù)器系統(tǒng)上執(zhí)行。軟件環(huán)境1120還可以包括用于訪問(wèn)通過(guò)本地或者遠(yuǎn)程計(jì)算網(wǎng)絡(luò)可用的數(shù)據(jù)的瀏覽器軟件1126。此外,軟件環(huán)境1120可以包括用戶(hù)接口 1124(例如,圖形化用戶(hù)接口 (GUI)),用于接收用戶(hù)命令和數(shù)據(jù)。請(qǐng)注意上文僅出于示例目的描述了硬件和軟件架構(gòu)和環(huán)境,而本發(fā)明的一個(gè)或者多個(gè)實(shí)施方式可以通過(guò)任何類(lèi)型的系統(tǒng)架構(gòu)或者處理環(huán)境來(lái)實(shí)現(xiàn)。還應(yīng)當(dāng)注意,邏輯代碼、程序、模塊、過(guò)程、方法和其中執(zhí)行每個(gè)方法的各個(gè)步驟的順序僅僅是示例性的。除非在本公開(kāi)中另行指示,取決于實(shí)現(xiàn),步驟可以按照任意順序或者并行地執(zhí)行。此外,邏輯代碼是不相關(guān)的,也不限于任意特定的程序設(shè)計(jì)語(yǔ)言,并且可以包括一個(gè)或者多個(gè)模塊,該模塊在分布式的、非分布式的或者多處理環(huán)境中的一個(gè)或者多個(gè)處理器上執(zhí)行。
      8
      權(quán)利要求
      1.一種用于訪問(wèn)多代數(shù)據(jù)庫(kù)中的數(shù)據(jù)的方法,所述方法包括接收訪問(wèn)所述數(shù)據(jù)庫(kù)中的第一數(shù)據(jù)的請(qǐng)求,其中所述第一數(shù)據(jù)位于所述數(shù)據(jù)庫(kù)的第一頁(yè)面上;讀取對(duì)應(yīng)于所述第一頁(yè)面的條目以定位所述第一頁(yè)面上的第一軌道從而訪問(wèn)所述數(shù)據(jù)的最新版本;獲取第一鎖以同步對(duì)所述第一軌道的訪問(wèn);以及響應(yīng)于在保持所述第一鎖的同時(shí)讀取所述條目,確定所述第一軌道存儲(chǔ)所述數(shù)據(jù)的所述最新版本。
      2.根據(jù)權(quán)利要求1所述的方法,其中所述請(qǐng)求是要讀取所述第一數(shù)據(jù),所述方法進(jìn)一步包括返回所述數(shù)據(jù)的所述最新版本;以及釋放所述第一鎖。
      3.根據(jù)權(quán)利要求1所述的方法,其中所述請(qǐng)求是要更新所述第一數(shù)據(jù),所述方法進(jìn)一步包括確定所述第一軌道是否與所述數(shù)據(jù)庫(kù)的當(dāng)前代相關(guān)聯(lián)。
      4.根據(jù)權(quán)利要求3所述的方法,其中所述第一軌道與所述數(shù)據(jù)庫(kù)的所述當(dāng)前代相關(guān)聯(lián),所述方法進(jìn)一步包括向所述第一軌道進(jìn)行寫(xiě)入以更新所述數(shù)據(jù)的所述最新版本;以及釋放所述第一鎖。
      5.根據(jù)權(quán)利要求3所述的方法,其中所述第一軌道未與所述數(shù)據(jù)庫(kù)的所述當(dāng)前代相關(guān)聯(lián),所述方法進(jìn)一步包括將所述第一頁(yè)面升級(jí)到所述當(dāng)前代;向所述第一頁(yè)面上的第二軌道進(jìn)行寫(xiě)入以更新所述數(shù)據(jù)的所述最新版本;以及釋放對(duì)所述第二軌道的訪問(wèn)進(jìn)行同步的第二鎖。
      6.根據(jù)權(quán)利要求5所述的方法,其中所述升級(jí)包括在所述第二軌道上創(chuàng)建所述數(shù)據(jù)的所述最新版本的副本;將所述第二軌道與所述當(dāng)前代相關(guān)聯(lián);復(fù)位并且獲取所述第二鎖以同步對(duì)所述第二軌道的訪問(wèn);將所述對(duì)應(yīng)于所述第一頁(yè)面的條目更新為參考所述第二軌道,其中所述副本變?yōu)樗鰯?shù)據(jù)的所述最新版本;以及釋放所述第一鎖。
      7.根據(jù)權(quán)利要求6所述的方法,其中創(chuàng)建所述副本包括 覆蓋所述第二軌道上存儲(chǔ)的所述數(shù)據(jù)的最老版本。
      8.一種用于訪問(wèn)多代數(shù)據(jù)庫(kù)中數(shù)據(jù)的系統(tǒng),所述系統(tǒng)包括用于接收訪問(wèn)所述數(shù)據(jù)庫(kù)中的第一數(shù)據(jù)的請(qǐng)求的邏輯單元,其中所述第一數(shù)據(jù)位于所述數(shù)據(jù)庫(kù)的第一頁(yè)面上;用于讀取對(duì)應(yīng)于所述第一頁(yè)面的條目以定位所述第一頁(yè)面上的第一軌道從而訪問(wèn)所述數(shù)據(jù)的最新版本的邏輯單元;用于獲取第一鎖以同步對(duì)所述第一軌道的訪問(wèn)的邏輯單元;以及用于響應(yīng)于在保持所述第一鎖的同時(shí)讀取所述條目而確定所述第一軌道存儲(chǔ)所述數(shù)據(jù)的所述最新版本的邏輯單元。
      9.根據(jù)權(quán)利要求8所述的系統(tǒng),其中所述請(qǐng)求是要讀取所述第一數(shù)據(jù),所述系統(tǒng)進(jìn)一步包括用于返回所述數(shù)據(jù)的所述最新版本的邏輯單元;以及用于釋放所述第一鎖的邏輯單元。
      10.根據(jù)權(quán)利要求8所述的系統(tǒng),其中所述請(qǐng)求是要更新所述第一數(shù)據(jù),所述系統(tǒng)進(jìn)一步包括用于確定所述第一軌道是否與所述數(shù)據(jù)庫(kù)的當(dāng)前代相關(guān)聯(lián)的邏輯單元。
      11.根據(jù)權(quán)利要求10所述的系統(tǒng),其中所述第一軌道與所述數(shù)據(jù)庫(kù)的所述當(dāng)前代相關(guān)聯(lián),所述系統(tǒng)進(jìn)一步包括用于向所述第一軌道進(jìn)行寫(xiě)入以更新所述數(shù)據(jù)的所述最新版本的邏輯單元;以及用于釋放所述第一鎖的邏輯單元。
      12.根據(jù)權(quán)利要求10所述的系統(tǒng),其中所述第一軌道未與所述數(shù)據(jù)庫(kù)的所述當(dāng)前代相關(guān)聯(lián),所述系統(tǒng)進(jìn)一步包括用于將所述第一頁(yè)面升級(jí)到所述當(dāng)前代的邏輯單元;用于向所述第一頁(yè)面上的第二軌道進(jìn)行寫(xiě)入以更新所述數(shù)據(jù)的所述最新版本的邏輯單元;以及用于釋放對(duì)所述第二軌道的訪問(wèn)進(jìn)行同步的第二鎖的邏輯單元。
      13.根據(jù)權(quán)利要求12所述的系統(tǒng),其中用于將所述第一頁(yè)面升級(jí)到所述當(dāng)前代的邏輯單元包括用于在所述第二軌道上創(chuàng)建所述數(shù)據(jù)的所述最新版本的副本的邏輯單元;用于將所述第二軌道與所述當(dāng)前代相關(guān)聯(lián)的邏輯單元;用于復(fù)位并且獲取所述第二鎖以同步對(duì)所述第二軌道的訪問(wèn)的邏輯單元;用于將所述對(duì)應(yīng)于所述第一頁(yè)面的條目更新為參考所述第二軌道的邏輯單元,其中所述副本變?yōu)樗鰯?shù)據(jù)的所述最新版本;以及用于釋放所述第一鎖的邏輯單元。
      14.根據(jù)權(quán)利要求13所述的系統(tǒng),其中用于在所述第二軌道上創(chuàng)建所述數(shù)據(jù)的所述最新版本的所述副本的邏輯單元包括用于覆蓋所述第二軌道上存儲(chǔ)的所述數(shù)據(jù)的最老版本的邏輯單元。
      15.一種包括計(jì)算機(jī)代碼的計(jì)算機(jī)程序產(chǎn)品,當(dāng)被加載至計(jì)算機(jī)系統(tǒng)并在其上執(zhí)行時(shí), 所述計(jì)算機(jī)程序產(chǎn)品使得所述計(jì)算機(jī)系統(tǒng)執(zhí)行根據(jù)權(quán)利要求1至7中的任一項(xiàng)所述的方法的全部步驟。
      16.一種包括計(jì)算機(jī)代碼的計(jì)算機(jī)程序,當(dāng)被加載至計(jì)算機(jī)系統(tǒng)并在其上執(zhí)行時(shí),所述計(jì)算機(jī)代碼用于使所述計(jì)算機(jī)系統(tǒng)執(zhí)行根據(jù)權(quán)利要求1至7中的任一項(xiàng)所述的方法的全部步驟。
      全文摘要
      提供了一種用于訪問(wèn)多代數(shù)據(jù)庫(kù)中數(shù)據(jù)的方法。該方法包括接收訪問(wèn)數(shù)據(jù)庫(kù)中第一數(shù)據(jù)的請(qǐng)求,其中第一數(shù)據(jù)位于數(shù)據(jù)庫(kù)的第一頁(yè)面上;讀取對(duì)應(yīng)于第一頁(yè)面的條目以定位第一頁(yè)面上的第一軌道從而訪問(wèn)該數(shù)據(jù)的最新版本;獲取第一鎖以同步對(duì)第一軌道的訪問(wèn);以及響應(yīng)于在保持第一鎖的同時(shí)讀取該條目,確定第一軌道存儲(chǔ)該數(shù)據(jù)的最新版本。
      文檔編號(hào)G06F17/30GK102239489SQ200980148961
      公開(kāi)日2011年11月9日 申請(qǐng)日期2009年10月16日 優(yōu)先權(quán)日2008年12月5日
      發(fā)明者I·科亨, O·本-埃特查克, R·M·馬托塞維奇 申請(qǐng)人:國(guó)際商業(yè)機(jī)器公司
      網(wǎng)友詢(xún)問(wèn)留言 已有0條留言
      • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1