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

      利用異步的基于日志的復(fù)制來改進數(shù)據(jù)庫高速緩存的制作方法

      文檔序號:6496498閱讀:171來源:國知局
      利用異步的基于日志的復(fù)制來改進數(shù)據(jù)庫高速緩存的制作方法【專利摘要】可以標識數(shù)據(jù)庫內(nèi)的用以在高速緩存內(nèi)留存為被高速緩存的表的數(shù)據(jù)庫表。數(shù)據(jù)庫可以是關(guān)系數(shù)據(jù)庫管理系統(tǒng)(RDBMS)和面向?qū)ο髷?shù)據(jù)庫管理系統(tǒng)(OODBMS)。高速緩存可以是數(shù)據(jù)庫高速緩存??梢栽谌罩颈韮?nèi)對數(shù)據(jù)庫事務(wù)記錄日志,并且可以將高速緩存內(nèi)的被高速緩存的表標記為在運行時不被高速緩存??梢葬槍Ρ桓咚倬彺娴谋韴?zhí)行數(shù)據(jù)庫表的異步復(fù)制。復(fù)制可以基于被高速緩存的表來執(zhí)行日志表內(nèi)的數(shù)據(jù)庫事務(wù)。當復(fù)制被完成時,可以將被高速緩存的表標記為被高速緩存。【專利說明】利用異步的基于日志的復(fù)制來改進數(shù)據(jù)庫高速緩存【
      技術(shù)領(lǐng)域
      】[0001]本發(fā)明涉及數(shù)據(jù)庫高速緩存的領(lǐng)域。【
      背景技術(shù)
      】[0002]當今,許多應(yīng)用正在多層環(huán)境上開發(fā)和部署,該多層環(huán)境通常涉及基于瀏覽器的客戶端、web應(yīng)用服務(wù)器以及后端數(shù)據(jù)庫。這些應(yīng)用需要頻繁地按需生成動態(tài)web頁面,從后端數(shù)據(jù)庫中檢索必要的內(nèi)容。為了實現(xiàn)高度的可伸縮性和性能而通常利用數(shù)據(jù)庫高速緩存。實際上,數(shù)據(jù)庫高速緩存充當有效方案來用以縮減必須從遠程數(shù)據(jù)庫中檢索的內(nèi)容、同時還減小帶寬使用和等待內(nèi)容的整體用戶等待時間。[0003]傳統(tǒng)地,為了支持由應(yīng)用來實現(xiàn)有效高速緩存利用,高速緩存利用同步復(fù)制來保持與目標數(shù)據(jù)庫的同步。為了執(zhí)行在真實世界情況下的同步復(fù)制,解決方案通常改變應(yīng)以執(zhí)行數(shù)據(jù)復(fù)制的鎖定周期和底層架構(gòu)。例如,某些方案使用粒度鎖定。然而,粒度鎖定施加服務(wù)可用性約束,這通常妨礙應(yīng)用功能和/或數(shù)據(jù)可用性。【
      發(fā)明內(nèi)容】[0004]本發(fā)明的一個方面包括用于使用異步的基于日志的復(fù)制來改進數(shù)據(jù)庫高速緩存的系統(tǒng)、設(shè)備、計算機程序產(chǎn)品和方法。可以標識數(shù)據(jù)庫內(nèi)的用以在高速緩存內(nèi)留存為被高速緩存的表的數(shù)據(jù)庫表。數(shù)據(jù)庫可以是關(guān)系數(shù)據(jù)庫管理系統(tǒng)(RDBMS)或者面向?qū)ο髷?shù)據(jù)庫管理系統(tǒng)(00DBMS)。高速緩存可以是數(shù)據(jù)庫高速緩存。可以在日志表內(nèi)對多個數(shù)據(jù)庫事務(wù)記錄日志。此外,可以將高速緩存內(nèi)的被高速緩存的表標記為在運行時不被高速緩存??梢葬槍Ρ桓咚倬彺娴谋韴?zhí)行數(shù)據(jù)庫表的異步復(fù)制。復(fù)制可以基于被高速緩存的表來執(zhí)行日志表內(nèi)的多個數(shù)據(jù)庫事務(wù)。當復(fù)制被執(zhí)行時,可以將被高速緩存的表標記為被高速緩存。[0005]本發(fā)明的另一個方面包括用于使用異步的基于日志的復(fù)制來改進數(shù)據(jù)庫高速緩存的方法、設(shè)備、計算機程序產(chǎn)品和系統(tǒng)。數(shù)據(jù)庫內(nèi)的查詢路由器可以被配置用于向數(shù)據(jù)庫或者高速緩存路由數(shù)據(jù)庫查詢。數(shù)據(jù)庫可以是關(guān)系數(shù)據(jù)庫管理系統(tǒng)(RDBMS)或面向?qū)ο髷?shù)據(jù)庫管理系統(tǒng)(00DBMS)。高速緩存可以是數(shù)據(jù)庫高速緩存。高速緩存處置器可以用于管理高速緩存內(nèi)的復(fù)制的表的同步狀態(tài)。復(fù)制管理器可以配置用于經(jīng)由元數(shù)據(jù)日志記錄來向高速緩存異步地復(fù)制數(shù)據(jù)表?!緦@綀D】【附圖說明】[0006]圖1是示出根據(jù)在此公開的創(chuàng)造性設(shè)置的一個實施方式的、利用異步的基于日志復(fù)制來改進數(shù)據(jù)庫高速緩存的系統(tǒng)的示意圖;[0007]圖2A-2E是示出根據(jù)在此公開的創(chuàng)造性設(shè)置的一個實施方式的、利用異步的基于日志復(fù)制來改進數(shù)據(jù)庫高速緩存的一組方法的一組流程圖;[0008]圖3是示出根據(jù)在此公開的創(chuàng)造性設(shè)置的一個實施方式的、利用異步的基于日志復(fù)制來改進數(shù)據(jù)庫高速緩存的系統(tǒng)的框圖;以及[0009]圖4是示出根據(jù)在此公開的創(chuàng)造性設(shè)置的一個實施方式的、利用異步的基于日志復(fù)制來改進數(shù)據(jù)庫高速緩存的、用于高速緩存校正功能的方法的流程圖?!揪唧w實施方式】[0010]本公開是用于利用異步的基于日志的復(fù)制來改進數(shù)據(jù)庫高速緩存的解決方案。在此解決方案中,涉及數(shù)據(jù)和/或高速緩存的查詢可以基于高速緩存同步性來適當?shù)芈酚?。即,當高速緩存?nèi)的表沒有被同步(至數(shù)據(jù)庫)時,此解決方案可以將查詢路由至數(shù)據(jù)庫,并且當表被同步時,此解決方案可以將查詢路由至高速緩存??梢岳迷獢?shù)據(jù)來組織本公開的路由和高速緩存功能。在一個實例中,透明層可以允許利用異步的基于日志的復(fù)制技術(shù),來進行無縫路由和/或高速緩存。在此實施方式中,可以建立檢查點以控制和/或操縱路由和高速緩存。[0011]所屬【
      技術(shù)領(lǐng)域
      】的技術(shù)人員知道,本發(fā)明的各個方面可以實現(xiàn)為系統(tǒng)、方法或計算機程序產(chǎn)品。因此,本發(fā)明的各個方面可以具體實現(xiàn)為以下形式,即:完全的硬件實施方式、完全的軟件實施方式(包括固件、駐留軟件、微代碼等),或硬件和軟件方面結(jié)合的實施方式,這里可以統(tǒng)稱為“電路”、“模塊”或“系統(tǒng)”。此外,在一些實施方式中,本發(fā)明的各個方面還可以實現(xiàn)為在一個或多個計算機可讀介質(zhì)中的計算機程序產(chǎn)品的形式,該計算機可讀介質(zhì)中包含計算機可讀的程序代碼。[0012]可以采用一個或多個計算機可讀介質(zhì)的任意組合。計算機可讀介質(zhì)可以是計算機可讀信號介質(zhì)或者計算機可讀存儲介質(zhì)。計算機可讀存儲介質(zhì)例如可以是一但不限于一電、磁、光、電磁、紅外線、或半導(dǎo)體的系統(tǒng)、裝置或器件,或者任意以上的組合。計算機可讀存儲介質(zhì)的更具體的例子(非窮舉的列表)包括:具有一個或多個導(dǎo)線的電連接、便攜式計算機盤、硬盤、隨機存取存儲器(RAM)、只讀存儲器(ROM)、可擦式可編程只讀存儲器(EPROM或閃存)、光纖、便攜式緊湊盤只讀存儲器(CD-ROM)、光存儲器件、磁存儲器件、或者上述的任意合適的組合。在本文件中,計算機可讀存儲介質(zhì)可以是任何包含或存儲程序的有形介質(zhì),該程序可以被指令執(zhí)行系統(tǒng)、裝置或者器件使用或者與其結(jié)合使用。[0013]計算機可讀的信號介質(zhì)可以包括在基帶中或者作為載波一部分傳播的數(shù)據(jù)信號,其中承載了計算機可讀的程序代碼。這種傳播的數(shù)據(jù)信號可以采用多種形式,包括——但不限于——電磁信號、光信號或上述的任意合適的組合。計算機可讀的信號介質(zhì)還可以是計算機可讀存儲介質(zhì)以外的任何計算機可讀介質(zhì),該計算機可讀介質(zhì)可以發(fā)送、傳播或者傳輸用于由指令執(zhí)行系統(tǒng)、裝置或者器件使用或者與其結(jié)合使用的程序。[0014]計算機可讀介質(zhì)上包含的程序代碼可以用任何適當?shù)慕橘|(zhì)傳輸,包括一但不限于——無線、有線、光纜、RF等等,或者上述的任意合適的組合??梢砸砸环N或多種程序設(shè)計語言的任意組合來編寫用于執(zhí)行本發(fā)明操作的計算機程序代碼,所述程序設(shè)計語言包括面向?qū)ο蟮某绦蛟O(shè)計語目一諸如Java、Smalltalk、C++等,還包括常規(guī)的過程式程序設(shè)計語言一諸如“C”語言或類似的程序設(shè)計語言。程序代碼可以完全地在用戶計算機上執(zhí)行、部分地在用戶計算機上執(zhí)行、作為一個獨立的軟件包執(zhí)行、部分在用戶計算機上部分在遠程計算機上執(zhí)行、或者完全在遠程計算機或服務(wù)器上執(zhí)行。在涉及遠程計算機的情形中,遠程計算機可以通過任意種類的網(wǎng)絡(luò)一包括局域網(wǎng)(LAN)或廣域網(wǎng)(WAN)—連接到用戶計算機,或者,可以連接到外部計算機(例如利用因特網(wǎng)服務(wù)提供商來通過因特網(wǎng)連接)。[0015]下面將參照根據(jù)本發(fā)明實施方式的方法、裝置(系統(tǒng))和計算機程序產(chǎn)品的流程圖和/或框圖描述本發(fā)明。應(yīng)當理解,流程圖和/或框圖的每個方框以及流程圖和/或框圖中各方框的組合,都可以由計算機程序指令實現(xiàn)。[0016]這些計算機程序指令可以提供給通用計算機、專用計算機或其它可編程數(shù)據(jù)處理裝置的處理器,從而生產(chǎn)出一種機器,使得這些計算機程序指令在通過計算機或其它可編程數(shù)據(jù)處理裝置的處理器執(zhí)行時,產(chǎn)生了實現(xiàn)流程圖和/或框圖中的一個或多個方框中規(guī)定的功能/動作的裝置。[0017]也可以把這些計算機程序指令存儲在計算機可讀介質(zhì)中,這些指令使得計算機、其它可編程數(shù)據(jù)處理裝置、或其他設(shè)備以特定方式工作,從而,存儲在計算機可讀介質(zhì)中的指令就產(chǎn)生出包括實現(xiàn)流程圖和/或框圖中的一個或多個方框中規(guī)定的功能/動作的指令的制造品(articleofmanufacture)0[0018]計算機程序指令還可以被加載到計算機、其他可編程數(shù)據(jù)處理裝置或者其他設(shè)備上,以使得在該計算機、其他可編程裝置或者其他設(shè)備上執(zhí)行一系列操作步驟,以便產(chǎn)生一種計算機實現(xiàn)的過程,從而在計算機或者其他可編程設(shè)備上執(zhí)行的指令提供用于執(zhí)行在流程圖和/或框圖的一個或者多個框中指定的功能/動作。[0019]圖1是示出根據(jù)在此公開的創(chuàng)造性設(shè)置的一個實施方式的、利用異步的基于日志復(fù)制來改進數(shù)據(jù)庫高速緩存的系統(tǒng)的示意圖。系統(tǒng)100可以呈現(xiàn)于方法201、220、230、260、280、系統(tǒng)300和方法401的上下文中。在系統(tǒng)100中,應(yīng)用可以向高速緩存引擎120傳送查詢114(例如,數(shù)據(jù)庫查詢),其可以基于高速緩存的表132的狀態(tài)來動態(tài)地路由查詢114。即,當高速緩存的表132被復(fù)制時,查詢114可以由高速緩存130來服務(wù)(例如,高速緩存請求116)。相反,當高速緩存的表132沒有被復(fù)制時,查詢114可以被引導(dǎo)至數(shù)據(jù)庫140(例如,數(shù)據(jù)庫請求118)。應(yīng)當注意,動態(tài)路由可以被透明地執(zhí)行。[0020]高速緩存的表132、142的狀態(tài)可以使用存儲在表162內(nèi)的元數(shù)據(jù)來跟蹤。表132、142的高速緩存和查詢114的路由可以由高速緩存引擎120來輔助。引擎120還可以提供構(gòu)成透明層164元素的功能。透明層164元素(例如,檢查點線程河以執(zhí)行必要操作,以獲取高速緩存并發(fā)性并且輔助路由動作。例如,層164可以支持將表142從數(shù)據(jù)庫140向高速緩存130的異步復(fù)制150(例如,表132)。應(yīng)當注意,本公開可以支持在數(shù)據(jù)庫和高速緩存的同步期間避免鎖定情況。[0021]如在此使用,元數(shù)據(jù)可以是被用于跟蹤高速緩存的表132和/或表142的狀態(tài)的日志信息。元數(shù)據(jù)可以包括數(shù)據(jù)庫表條目、數(shù)據(jù)庫指令(directive)(例如,指令160)、數(shù)據(jù)庫日志、錯誤日志等。指令160可以是能夠執(zhí)行數(shù)據(jù)庫操作的一個或者多個數(shù)據(jù)庫服從的命令。指令160可以包括開始表高速緩存、完成表高速緩存等的命令。例如,指令160可以是start-table-caching(開始表高速緩存)和transaction-completed(事務(wù)完成)指令。[0022]表162可以是存儲在異步復(fù)制中使用的元數(shù)據(jù)的數(shù)據(jù)庫服從的數(shù)據(jù)集。表162可以包括對象表、關(guān)系表等。表162可以包括但不限于未決聲明表、高速緩存元數(shù)據(jù)表、復(fù)制列表、檢查點表和高速緩存狀態(tài)表。未決聲明表可以包括對于表132產(chǎn)生影響的高速緩存的表132和/或事務(wù)的列表。高速緩存元數(shù)據(jù)表可以是包括發(fā)起或者結(jié)束對表142的高速緩存的用戶請求的列表。在一個實例中,高速緩存元數(shù)據(jù)表可以由高速緩存配置工具來填充。復(fù)制列表可以包括經(jīng)歷從數(shù)據(jù)庫140向高速緩存130的連續(xù)拷貝(即,異步復(fù)制)的表的列表。檢查點表可以包括在與高速緩存130同步數(shù)據(jù)庫140內(nèi)容中使用的數(shù)據(jù)。檢查點表可以存在于高速緩存130和數(shù)據(jù)庫140中,并且可以經(jīng)歷拷貝(即,異步復(fù)制)。[0023]基于表162內(nèi)的元數(shù)據(jù),高速緩存引擎120可以智能地向高速緩存130路由請求114,或者備選地,向數(shù)據(jù)庫140路由。當高速緩存的表132被同步時,引擎120可以向高速緩存130傳遞請求114作為高速緩存請求116。例如,當查詢114參考在高速緩存130內(nèi)被標記為清潔的表時,請求116可以被傳遞至高速緩存130。高速緩存請求116可以被處理/實現(xiàn),并且適當?shù)捻憫?yīng)(未示出)可以被傳遞。當高速緩存的表132沒有被同步時,引擎120可以向數(shù)據(jù)庫140傳遞請求114作為數(shù)據(jù)庫請求118。例如,當查詢114參考高速緩存130內(nèi)被標記為臟的表時,請求118可以被傳遞至數(shù)據(jù)庫140。數(shù)據(jù)庫請求118可以被處理/實現(xiàn),并且適當?shù)慕Y(jié)果(未示出)可以被傳遞。[0024]透明層164可以是能夠執(zhí)行路由和/或異步的基于日志的復(fù)制的抽象層。層164可以包括但不限于檢查點線程、高速緩存狀態(tài)線程、連接處置線程等。層164可以包括引擎120、高速緩存130、和/或數(shù)據(jù)庫140中的一個或者多個元素。檢查點線程可以被用于發(fā)現(xiàn)已經(jīng)與后端同步的、將被高速緩存的用戶指定的表(例如,這些表可以是經(jīng)歷從數(shù)據(jù)庫向高速緩存異步復(fù)制的表)。此方案可以避免昂貴的阻塞。檢查點線程可以掃描高速緩存中的檢查點表,并且可以影響未決狀態(tài)表(例如,表162)和高速緩存狀態(tài)表。高速緩存使能線程可以輪詢高速緩存元數(shù)據(jù)表,以確定哪些表被選擇用于高速緩存。高速緩存使能線程可以影響高速緩存元數(shù)據(jù)表、復(fù)制列表和/或高速緩存狀態(tài)表。連接處置線程可以允許與數(shù)據(jù)庫140和/或高速緩存130相關(guān)聯(lián)的事務(wù)管理。連接處置線程可以影響未決聲明表(例如,表162)和/或檢查點表(例如,表162)。[0025]在一個實例中,高速緩存引擎120可以包括數(shù)據(jù)庫驅(qū)動器122組件。在一個實例中,數(shù)據(jù)庫驅(qū)動器122可以是允許在高速緩存130和/或數(shù)據(jù)庫140之間進行動態(tài)路由查詢的軟件程序。例如,數(shù)據(jù)庫驅(qū)動器122可以是能夠動態(tài)路由查詢114請求的Java數(shù)據(jù)庫連接(JDBC)驅(qū)動。[0026]在另一實例中,高速緩存引擎120可以允許透寫152被執(zhí)行。在此實例中,當寫入在高速緩存130內(nèi)被執(zhí)行時,改變可以被復(fù)制到數(shù)據(jù)庫140。例如,異步寫入可以包括結(jié)構(gòu)化查詢語言(SQL)聲明的轉(zhuǎn)換。[0027]在一個實施方式中,高速緩存引擎120可以是中間件軟件的元素。例如,引擎120可以是代理組件、負載平衡器等。[0028]計算機設(shè)備110可以是允許應(yīng)用112的執(zhí)行的硬件/軟件實體。計算設(shè)備110可以包括但不限于桌面計算機、膝上型計算機、平板計算設(shè)備、個人數(shù)字助理(PDA)、移動電話等。設(shè)備110可通信地鏈接至高速緩存130和/或數(shù)據(jù)庫140。應(yīng)用112可以是能夠生成和/或處理查詢114的軟件程序。應(yīng)用112可以經(jīng)由一個或者多個傳統(tǒng)和/或私有機制來利用高速緩存引擎120,與數(shù)據(jù)庫驅(qū)動器122通信。[0029]在此呈現(xiàn)的附圖僅用于示出性目的,并且不應(yīng)被理解為以任何方式限制本發(fā)明。系統(tǒng)100可以是本公開的功能的抽象表示。應(yīng)當注意,組件110-140可以在地理上跨越多個位置分布,跨越一個或者多個網(wǎng)絡(luò)分布,等等。[0030]圖2A-2E是根據(jù)在此公開的創(chuàng)造性設(shè)置的一個實施方式的、利用異步的基于日志復(fù)制來改進數(shù)據(jù)庫高速緩存的一組方法201、220、230、260、280的一組流程圖。方法201、220、230、260、280可以呈現(xiàn)于系統(tǒng)100、300和方法401的上下文中。高速緩存使能線程(例如,圖2A)可以持續(xù)地輪詢高速緩存元數(shù)據(jù)表。當用戶標識一個表應(yīng)當被高速緩存或者從高速緩存移除時,元數(shù)據(jù)表可以經(jīng)由工具來填充。[0031]高速緩存元數(shù)據(jù)表中的新條目可以導(dǎo)致表中被請求經(jīng)歷異步復(fù)制的表(B卩,被添加至復(fù)制列表)。另外,本公開可以向數(shù)據(jù)庫中的檢查點表寫入數(shù)據(jù)。由于此表可以同時地經(jīng)歷異步復(fù)制,通過檢查高速緩存中的檢查點副本,檢查點線程(例如,圖2B)可以檢查高速緩存何時已經(jīng)接收對數(shù)據(jù)庫的更新。其后,系統(tǒng)可以檢查高速緩存和數(shù)據(jù)何時被同步。連接處置線程可以管理數(shù)據(jù)庫請求(例如,JDBC、ODBC等)的路由。處置線程可以通過訪問高速緩存狀態(tài)表來執(zhí)行路由管理,以發(fā)現(xiàn)表的高速緩存的副本的就緒。[0032]此外,本公開可以檢查高速緩存使能在定義的時段內(nèi)出現(xiàn)是否未曾/未出現(xiàn)嘗試的次數(shù)。當檢查到此狀態(tài)時,一定數(shù)量的校正動作可以被執(zhí)行(例如,圖4)。在初始啟動時,本公開可以如在下文段落中所述地操作。[0033]當數(shù)據(jù)庫請求被接收(例如,圖2C)時,按照方法260,用于被引用表的高速緩存狀態(tài)可以被確定(例如,步驟266)。此信息可以維護在高速緩存狀態(tài)表中,其可以在啟動時初始地為空(并且當用戶請求將被高速緩存的表時,如圖2A)而被填充。[0034]接著,系統(tǒng)可以確定數(shù)據(jù)庫請求是否可以被路由至高速緩存(例如,高速緩存狀態(tài)=按照方法268被高速緩存),當高速緩存沒有準備就緒時其是否必須被路由至數(shù)據(jù)庫(例如,按照方法270、272,高速緩存狀態(tài)=initialized_clean(初始清潔)或者cache_status(高速緩存狀態(tài))),或者請求是否是引用非高速緩存請求(non-cacherequested)的表(例如,按照方法274,沒有高速緩存狀態(tài)條目)。默認地,表可以被初始化為非高速緩存請求的表。[0035]當請求是用于非高速緩存請求的表時,本公開可以確定可以包括讀取、寫入、提交(commit)或者回滾的查詢類型。[0036]當用于非高速緩存請求的表的請求是讀取聲明時,請求可以被弓I導(dǎo)至數(shù)據(jù)庫并且不必存在進一步的動作(例如,步驟206)。[0037]當用于非高速緩存請求的表的請求觸發(fā)對數(shù)據(jù)庫的寫入時,相關(guān)于寫入的信息可以被記錄到未決聲明表(例如,步驟208)。信息可以包括事務(wù)標識符和引用的用于更新的表。在步驟209中,寫入請求可以被路由至數(shù)據(jù)庫。[0038]當用于非高速緩存請求的表的請求是提交時,事務(wù)完成檢查點可以被插入至數(shù)據(jù)庫中的檢查點表。由于此表可以經(jīng)歷異步復(fù)制,信息(例如,事務(wù)標識符)可以被用于在事務(wù)級別與高速緩存同步數(shù)據(jù)庫變化。在步驟216,提交可以被路由至數(shù)據(jù)庫。[0039]當用于非高速緩存請求的表是回滾時,與事務(wù)相關(guān)聯(lián)的全部條目可以從未決聲明表中被移除(例如,步驟210)。即,請求不再未決。在步驟218中請求被路由至數(shù)據(jù)庫。[0040]當數(shù)據(jù)庫請求是針對高速緩存請求的表并且高速緩存就緒(例如,“被高速緩存”的高速緩存狀態(tài))時,請求可以直接被路由至高速緩存(例如,方法268)。當請求是寫入時,透寫機制可以被用于確保在前端(例如,高速緩存)和后端(例如,數(shù)據(jù)庫)兩者處執(zhí)行寫入,由此維護數(shù)據(jù)庫的同步性。[0041]當數(shù)據(jù)庫請求是用于被請求高速緩存的表并且高速緩存未就緒(B卩,表具有“initialized_clean”或者“initialized_dirty”的高速緩存狀態(tài)值)時,請求可以通過使用如圖2E中描述的路由邏輯來被路由至數(shù)據(jù)庫。具體地,在圖2E中,數(shù)據(jù)請求可以被確定為讀取、寫入、提交或者回滾。[0042]當數(shù)據(jù)庫請求是針對被請求的高速緩存的、高速緩存未就緒的表,并且請求(例如,聲明)為讀取時,該請求可以被引導(dǎo)至數(shù)據(jù)庫并且不必進行進一步的動作(例如,步驟284)。[0043]當數(shù)據(jù)庫請求是針對被請求的高速緩存的、高速緩存未就緒的表,并且請求觸發(fā)向數(shù)據(jù)庫寫入時(例如,步驟286),相關(guān)于寫入的信息可以被記錄至未決狀態(tài)表(例如,步驟286)。信息可以包括事務(wù)標識符和被引用用于更新的表。寫入請求可以被路由至數(shù)據(jù)庫(例如,步驟288),并且高速緩存狀態(tài)表中的表狀態(tài)可以被更新至initialized_dirty(例如,步驟289)。[0044]當數(shù)據(jù)庫請求是針對被請求高速緩存的、高速緩存未就緒的表,并且請求為提交時(例如,步驟290),事務(wù)完成檢查點可以被插入到數(shù)據(jù)庫中的檢查點表。由于檢查點表經(jīng)歷異步復(fù)制,信息可以被用于在事務(wù)級別與高速緩存同步數(shù)據(jù)庫改變。提交可以被路由至數(shù)據(jù)庫(例如,步驟292)。[0045]當數(shù)據(jù)庫請求是針對被請求高速緩存的、高速緩存未就緒的表,并且請求是回滾時(例如,步驟294),與事務(wù)相關(guān)聯(lián)的全部條目可以從未決聲明表中被移除(S卩,它們不再是未決)。當事務(wù)移除出現(xiàn)并且事務(wù)在未決聲明表中不再被引用時,高速緩存狀態(tài)表中的相關(guān)聯(lián)表條目可以被更新至“initializecLclean”(例如,步驟296),并且請求可以被路由至數(shù)據(jù)庫(例如,步驟298)。[0046]方法220(在圖2A中所示)可以涉及高速緩存元數(shù)據(jù)表的連續(xù)輪詢。這可以允許本公開來在用戶請求表應(yīng)當被高速緩存、或者從高速緩存中被移除時進行檢測。表標識方法220可以是人工地和/或自動地執(zhí)行。[0047]在步驟224,與所選擇表相關(guān)聯(lián)的條目可以被插入數(shù)據(jù)庫副本中的檢查點表。條目可以包括表名稱和start-table-caching(開始表高速緩存)指令。檢查點表可以由系統(tǒng)預(yù)配置以經(jīng)歷從數(shù)據(jù)庫到高速緩存的一部復(fù)制,并且可以用于檢查表的被高速緩存的版本何時是與數(shù)據(jù)庫一致保持最新。當表為并發(fā)時,本公開可以開始在高速緩存中服務(wù)表請求。[0048]在步驟226中,用于高速緩存的被標識的表可以被添加到復(fù)制列表,這使得該表將經(jīng)歷從數(shù)據(jù)庫向高速緩存的異步復(fù)制。最終,在步驟228中,本公開可以更新高速緩存狀態(tài)表以指示該表是被請求高速緩存的(即,initialized_clean)。該方法可以在運行時連續(xù)地執(zhí)行。[0049]方法230(圖2B所示)可以包括對高速緩存副本中的檢查點表的連續(xù)輪詢。由于表正在經(jīng)歷從數(shù)據(jù)庫到高速緩存的異步復(fù)制,表內(nèi)的條目可以允許本公開來檢測用以高速緩存數(shù)據(jù)的請求,并且還可以傳遞同步信息。[0050]在步驟232中,檢查點表的高速緩存副本可以被輪詢。在步驟234中,可以確定開始表高速緩存指令是否被接收或者事務(wù)完成指令被接收。當前者被檢測到時,方法可以繼續(xù)至步驟234,而后者可以使得方法前進至步驟242。當開始表高速緩存指令被接收時(例如,步驟234),本公開可以檢查未決聲明表(例如,步驟236)以確定本公開(例如,高速緩存引擎)準備就緒用于高速緩存中的服務(wù)請求??梢酝ㄟ^檢查在開始高速緩存命令中引用的表名稱是否具有尚未被同步的任何未解決的(outstanding)寫入(例如,未決聲明表中的條目),來執(zhí)行確定。[0051]如果沒有檢測到此類條目,步驟248可以利用“被高速緩存”值來觸發(fā)更新針對表的高速緩存狀態(tài)條目。更新可以允許高速緩存引擎(例如圖2C)來向高速緩存路由未來的表請求。然而,如果檢測到一個或者多個條目,步驟238可以利用“initialized_dirty”值來觸發(fā)更新針對表的高速緩存狀態(tài)條目。高速緩存引擎(例如,圖2C)可以繼續(xù)向數(shù)據(jù)庫引導(dǎo)表情求。進一步的事務(wù)完成指令可以被請求以同步高速緩存和數(shù)據(jù)庫。[0052]備選地,在一個實施方式中,當事務(wù)完成指令被接收時(例如,步驟242),本公開可以掃描未決聲明表。即,條目不再是未決并且它們已經(jīng)與高速緩存同步。全部此類條目從未決聲明表中被移除(例如,步驟244)。此外,當條目的移除導(dǎo)致表不再被未決聲明表引用時,表可以被視為準備就緒用于高速緩存。這可以通過如上所述的步驟236來完成。來自方法230的對于高速緩存狀態(tài)表的改變可以影響請求路由(路由在圖2C中描述)。[0053]在此呈現(xiàn)的附圖僅出于示意性目的而不應(yīng)當被理解為以任何方式限制本發(fā)明。應(yīng)當注意,過程201、220、230、260、280可以表示用于執(zhí)行異步的基于日志的高速緩存的一個實施方式。[0054]圖3是示出根據(jù)在此公開的創(chuàng)造性設(shè)置的一個實施方式的、利用異步的基于日志復(fù)制來改進數(shù)據(jù)庫高速緩存的系統(tǒng)的框圖。系統(tǒng)300可以呈現(xiàn)于系統(tǒng)100、方法201、220、230、260、280和方法401的上下文中。在系統(tǒng)300中,數(shù)據(jù)庫系統(tǒng)310可以與高速緩存引擎320、數(shù)據(jù)庫336、和高速緩存350相關(guān)聯(lián)。引擎320可以允許向高速緩存350智能異步地復(fù)制表332,同時將鎖定情況最小化。系統(tǒng)310可以可通信地經(jīng)由網(wǎng)絡(luò)340與應(yīng)用服務(wù)器370鏈接。在系統(tǒng)300中,從應(yīng)用372生成的查詢374可以被傳遞至系統(tǒng)310。高速緩存引擎320可以基于被高速緩存352的表狀態(tài)來向高速緩存350或者數(shù)據(jù)庫336來適當?shù)芈酚刹樵?。[0055]系統(tǒng)310可以是這樣的數(shù)據(jù)庫管理系統(tǒng),其基于表352狀態(tài)來允許將被數(shù)據(jù)庫336或者高速緩存350處理的查詢374。系統(tǒng)310可以包括但不限于高速緩存引擎320、元數(shù)據(jù)328、數(shù)據(jù)庫336、高速緩存350、接口360等。系統(tǒng)310可以是分布式計算環(huán)境、聯(lián)網(wǎng)計算環(huán)境的組件等。應(yīng)當注意,系統(tǒng)310可以利用高速緩存350來將資源密集數(shù)據(jù)庫336訪問最小化。系統(tǒng)310可以是數(shù)據(jù)庫管理系統(tǒng)(DBMS)的組件。[0056]高速緩存引擎320可以是能夠向高速緩存350進行表332的異步的基于日志的復(fù)制的硬件/軟件元素(例如,生成被高速緩存的表352)。引擎320可以包括但不限于查詢路由器322、高速緩存處置器324、復(fù)制管理器325、設(shè)置326等。引擎320可以實時地和/或近似實時地響應(yīng)于表332、352。在一個實例中,引擎320可以是應(yīng)用編程接口(API)的組件。在一個實施方式中,引擎320可以是IBMS0LIDDB數(shù)據(jù)庫的透明層組件。引擎320的功能性可以包括但不限于高速緩存一致性解析度、加密能力等。[0057]查詢路由器322可以是硬件/軟件實體,配置以接收數(shù)據(jù)庫查詢并且適當?shù)叵蚋咚倬彺?50或者數(shù)據(jù)庫336路由查詢。例如,使用元數(shù)據(jù)238,當表352被確定為并發(fā)時,路由器322可以向高速緩存350引導(dǎo)查詢374。路由器322可以被利用以標識與查詢相關(guān)聯(lián)的一個或者多個表。路由器322可以與處置器324通信以確定表狀態(tài)。表狀態(tài)可以被評估并且路由器322可以基于一個或者多個設(shè)置326來處理查詢。[0058]高速緩存處置器324可以是軟件/硬件組件,其能夠確定表352狀態(tài)并且生成在執(zhí)行異步的基于日志的復(fù)制中利用的元數(shù)據(jù)328。在一個實例中,處置器324可以以一個或者多個值標記表352,指示表352的當前狀態(tài)。在一個實例中,處置器324可以將表352標記為臟、清潔、錯誤狀態(tài)等。在一個實施方式中,處置器324可以注冊可用以服務(wù)查詢(例如查詢374)的可用的高速緩存。例如,當本地高速緩存為同步性時,本地的和/或遠程的高速緩存可以被標識為允許快速查詢響應(yīng)。[0059]復(fù)制管理器325可以是用于利用元數(shù)據(jù)328執(zhí)行異步復(fù)制的硬件/軟件元件。管理器325的功能性可以包括數(shù)據(jù)庫336訪問操作(例如,管理員授權(quán))、高速緩存350訪問功能性、異步復(fù)制、同步復(fù)制等。在一個實例中,管理器325可以被利用以向一個或者多個高速緩存復(fù)制表332。在一個實例中,管理器325可以允許對被觸發(fā)復(fù)制的表改變。[0060]設(shè)置326可以是用于確定系統(tǒng)310和/或系統(tǒng)300的一個或者多個配置選項。設(shè)置326可以包括但不限于查詢路由器322設(shè)置、高速緩存處置器324選項、復(fù)制管理器325參數(shù)、元數(shù)據(jù)328選項等。在一個實例中,設(shè)置326可以通過管理員工具362來配置。[0061]元數(shù)據(jù)328可以是由高速緩存引擎320利用的數(shù)據(jù)集,用以跟蹤表332、352狀態(tài)。元數(shù)據(jù)328可以被存儲在數(shù)據(jù)庫系統(tǒng)310、高速緩存引擎320、數(shù)據(jù)存儲330、高速緩存350等內(nèi)。元數(shù)據(jù)328可以在系統(tǒng)310操作期間持續(xù)更新。元數(shù)據(jù)328可以包括事務(wù)標識符、表標識符、狀態(tài)值等。[0062]高速緩存350可以是配置以存儲被高速緩存的表352的硬件/軟件組件。高速緩存350可以包括被高速緩存的表352、配置設(shè)置、元數(shù)據(jù)等。在一個實例中,高速緩存350可以包括可以本地地和/或遠程地鏈接至系統(tǒng)310的多個高速緩存。高速緩存350可以包括多個高速緩存粒度,包括但不限于數(shù)據(jù)庫級別、表級別和結(jié)果集合高速緩存。[0063]被高速緩存的表352可以是可以存儲在高速緩存350內(nèi)的所維護表332的數(shù)據(jù)存儲330的復(fù)制的版本。表352可以與表標識符、表名稱、狀態(tài)值等相關(guān)聯(lián)。聞速緩存的表352可以與候選鍵、約束、觸發(fā)等相關(guān)聯(lián)。高速緩存的表352可以響應(yīng)于表332內(nèi)的改變而持續(xù)更新。[0064]表332可以是數(shù)據(jù)存儲330內(nèi)存儲的組織的數(shù)據(jù)集。332可以包括數(shù)據(jù)、元數(shù)據(jù)等。表332可以與傳統(tǒng)和/或私有數(shù)據(jù)模型相一致,包括但不限于關(guān)系模型、實體關(guān)系模型、對象模型等。表332可以與候選鍵、約束、觸發(fā)、視圖等相關(guān)聯(lián)。[0065]數(shù)據(jù)庫336可以是能夠存儲表332的硬件/軟件數(shù)據(jù)存儲庫。數(shù)據(jù)庫336可以包括但不限于數(shù)據(jù)存儲330、數(shù)據(jù)庫設(shè)置等。數(shù)據(jù)庫336可以包括管理員接口、管理工具等。數(shù)據(jù)庫336可以經(jīng)由一個或者多個傳統(tǒng)和/或私有機制來可通信地鏈接至引擎320。數(shù)據(jù)庫336可以包括但不限于分布式數(shù)據(jù)庫、實時數(shù)據(jù)庫、數(shù)據(jù)倉庫、數(shù)據(jù)庫集群等。數(shù)據(jù)庫336可以與一個或者多個語言相關(guān)聯(lián),包括但不限于數(shù)據(jù)查詢語言(SQL)、對象查詢語言(OQL)坐寸ο[0066]數(shù)據(jù)存儲330可以是用以存儲表332的硬件/軟件組件。數(shù)據(jù)存儲330可以是存儲域網(wǎng)絡(luò)(SAN)、網(wǎng)絡(luò)附加存儲(NAS)等。數(shù)據(jù)存儲330可以符合關(guān)系數(shù)據(jù)庫管理系統(tǒng)(RDBMS)、面向?qū)ο蟮臄?shù)據(jù)庫管理系統(tǒng)(OODBMS)等。數(shù)據(jù)存儲330可以以一個或者多個傳統(tǒng)和/或私有機制來可通信地鏈接至數(shù)據(jù)庫336和/或系統(tǒng)310。[0067]網(wǎng)絡(luò)340可以是連接一個或者多個系統(tǒng)300組件的電子和/或計算機網(wǎng)絡(luò)。網(wǎng)絡(luò)340可以包括但不限于雙絞線、光纖、同軸電纜等。網(wǎng)絡(luò)340可以包括有線和/或無線組件的任意組合。網(wǎng)絡(luò)340拓撲可以包括但不限于總線、星形、網(wǎng)格等。網(wǎng)絡(luò)340類型可以包括但不限于局域網(wǎng)(LAN)、廣域網(wǎng)(WAN)、虛擬私有網(wǎng)絡(luò)(VPN)等。[0068]接口360可以是允許交互管理員工具的用戶交互組件。接口360功能可以包括圖形用戶接口(⑶I)、語音用戶接口(VUI)、混合模式接口等。接口360可以以一個或者多個傳統(tǒng)和/或私有方式來可通信地鏈接至系統(tǒng)310。在一個實例中,接口360可以是呈現(xiàn)管理員工具362的web瀏覽器。在另一實例中,接口360可以是經(jīng)由終端客戶端可通信地鏈接的桌面接口。[0069]管理員工具362可以是用于管理高速緩存引擎320、高速緩存350和/或數(shù)據(jù)庫336的硬件/軟件元件。在一個實例中,工具362可以用于解決復(fù)制故障。在此實例中,工具362可以在當表復(fù)制未成功時呈現(xiàn)通知。在另一實例中,工具362可以用于手工同步與復(fù)制錯誤相關(guān)聯(lián)的表。例如,用戶可以通過使用在圖4中描述的阻塞技術(shù)(步驟410)來請求立即將表高速緩存。[0070]應(yīng)用服務(wù)器370可以是配置以執(zhí)行應(yīng)用372的硬件/軟件組件。應(yīng)用服務(wù)器370可以包括但不限于應(yīng)用372、應(yīng)用372設(shè)置、服務(wù)器370設(shè)置等。例如,應(yīng)用370服務(wù)器可以是IBMWEBSPHERESERVER。[0071]查詢374可以是從應(yīng)用372生成的數(shù)據(jù)庫查詢。查詢374可以包括但不限于結(jié)構(gòu)化查詢語言(SQL)查詢、XQuery查詢等。查詢374可以與壓縮技術(shù)、加密過程等相關(guān)聯(lián)。查詢374可以包括但不限于指令、事務(wù)、多個事務(wù)、分布式事務(wù)等。事務(wù)可以是在數(shù)據(jù)庫管理系統(tǒng)內(nèi)執(zhí)行的工作單元。事務(wù)可以包括但不限于提交、回滾等。[0072]在此呈現(xiàn)的附圖僅用于示出目的而不應(yīng)當被認為以任何方式限制本發(fā)明。系統(tǒng)300可以是分布式計算系統(tǒng)、聯(lián)網(wǎng)計算系統(tǒng)、基于云的計算系統(tǒng)的組件,等。在一個實例中,系統(tǒng)300可以是面向服務(wù)架構(gòu)(SOA)的組件。應(yīng)當注意,數(shù)據(jù)庫系統(tǒng)310可以符合原子性、一致性、獨立性、持久性(ACID)規(guī)則。系統(tǒng)300可以利用私有和/或傳統(tǒng)安全性機制來確保安全地執(zhí)行復(fù)制。[0073]圖4是示出根據(jù)在此公開的創(chuàng)造性設(shè)置的一個實施方式的、利用異步的基于日志復(fù)制來改進數(shù)據(jù)庫高速緩存的、用于高速緩存校正功能的方法的流程圖。方法401可以在系統(tǒng)100、方法201、220、230、260、280和系統(tǒng)300的上下文中執(zhí)行。方法401可以描述本公開可以執(zhí)行用以檢測和響應(yīng)失敗以同步高速緩存和數(shù)據(jù)庫的步驟。[0074]在步驟402中,高速緩存狀態(tài)表可以被輪詢。高速緩存表可以以列來擴展,該列指示嘗試同步的第一個/最后一個故障或者嘗試同步的頻率(例如,接收到的檢驗點指令)。高速緩存表內(nèi)的信息可以被用以描述校正閾值。在步驟404中,本公開可以檢測是否超過校正閾值。例如,高速緩存引擎可以嘗試針對指定的時間間隔(例如,5分鐘)來進行高速緩存的表。[0075]在指定標準/閾值內(nèi)沒有開始高速緩存的情況下,依賴于用戶需求,一定數(shù)量的不同選項可以被執(zhí)行。在步驟406中,當數(shù)據(jù)庫請求嘗試訪問與高速緩存失敗相關(guān)聯(lián)的表時,錯誤可以被記錄日志或者警報可以被生成。在步驟408中,本公開可以從高速緩存元數(shù)據(jù)表和/或高速緩存狀態(tài)表中移除條目,有效地將其標記為“未高速緩存”。在一個實例中,相關(guān)聯(lián)的警告可以被記錄日志。在步驟410中,本公開可以允許在阻塞新的事務(wù)的同時運行以完成事務(wù)。針對用于高速緩存的請求的表,同步復(fù)制可以從后端向高速緩存執(zhí)行。在完成時,高速緩存狀態(tài)表條目可以被設(shè)置以被高速緩存,并且數(shù)據(jù)庫請求處置器可以開始再次服務(wù)新的事務(wù)。[0076]附圖1-4中的流程圖和框圖顯示了根據(jù)本發(fā)明的多個實施方式的系統(tǒng)、方法和計算機程序產(chǎn)品的可能實現(xiàn)的體系架構(gòu)、功能和操作。在這點上,流程圖或框圖中的每個方框可以代表一個模塊、程序段或代碼的一部分,所述模塊、程序段或代碼的一部分包含一個或多個用于實現(xiàn)規(guī)定的邏輯功能的可執(zhí)行指令。也應(yīng)當注意,在有些作為替換的實現(xiàn)中,方框中所標注的功能也可以以不同于附圖中所標注的順序發(fā)生。例如,兩個連續(xù)的方框?qū)嶋H上可以基本并行地執(zhí)行,它們有時也可以按相反的順序執(zhí)行,這依所涉及的功能而定。也要注意的是,框圖和/或流程圖中的每個方框、以及框圖和/或流程圖中的方框的組合,可以用執(zhí)行規(guī)定的功能或動作的專用的基于硬件的系統(tǒng)來實現(xiàn),或者可以用專用硬件與計算機指令的組合來實現(xiàn)?!緳?quán)利要求】1.一種方法,包括:標識數(shù)據(jù)庫內(nèi)的用以在高速緩存內(nèi)留存為被高速緩存的表的數(shù)據(jù)庫表,其中所述數(shù)據(jù)庫是關(guān)系數(shù)據(jù)庫管理系統(tǒng)(RDBMS)和面向?qū)ο髷?shù)據(jù)庫管理系統(tǒng)(OODBMS)中的至少一個,其中所述高速緩存是數(shù)據(jù)庫高速緩存;在日志表內(nèi)對多個數(shù)據(jù)庫事務(wù)記錄日志,并且將所述高速緩存內(nèi)的被高速緩存的所述表標記為在運行時不被高速緩存;針對被高速緩存的所述表執(zhí)行所述數(shù)據(jù)庫表的異步復(fù)制,其中所述復(fù)制基于被高速緩存的所述表來執(zhí)行所述日志表內(nèi)的所述多個數(shù)據(jù)庫事務(wù);以及當所述復(fù)制被完成時,將被高速緩存的所述表標記為被高速緩存。2.根據(jù)權(quán)利要求1所述的方法,進一步包括:接收被引導(dǎo)至所述數(shù)據(jù)庫的數(shù)據(jù)庫查詢;以及當高速緩存內(nèi)的被高速緩存的表被標記為被高速緩存時,將所述查詢重定向至所述高速緩存。3.根據(jù)權(quán)利要求1所述的方法,進一步包括:利用所述數(shù)據(jù)庫表名稱和寫入所述數(shù)據(jù)庫表的查詢聲明的所述事務(wù)標識符,更新未決聲明表。4.根據(jù)權(quán)利要求1所述的方法,進一步包括:響應(yīng)于回滾動作,移除未決聲明表內(nèi)的一個或者多個事務(wù)條目,其中所述一個或者多個事務(wù)條目是與所述回滾相關(guān)聯(lián)的事務(wù)。5.根據(jù)權(quán)利要求1所述的方法,進一步包括:響應(yīng)于提交動作,向檢查點表中插入檢查點條目,其中所述檢查點條目是事務(wù)標識符和事務(wù)完成指令中的至少一個。6.根據(jù)權(quán)利要求1所述的方法,進一步包括:輪詢高速緩存元數(shù)據(jù)表以確定將在所述高速緩存內(nèi)留存的表。7.根據(jù)權(quán)利要求1所述的方法,進一步包括:接收檢查點表內(nèi)的開始表高速緩存指令。8.根據(jù)權(quán)利要求1所述的方法,進一步包括:接收檢查點表內(nèi)的事務(wù)完成指令,其中所述指令與事務(wù)標識符相關(guān)聯(lián);以及移除與所述事務(wù)標識符相關(guān)聯(lián)的未決聲明表內(nèi)的條目。9.根據(jù)權(quán)利要求1所述的方法,進一步包括:當被高速緩存的表狀態(tài)等于校正閾值時,執(zhí)行校正動作。10.根據(jù)權(quán)利要求1所述的方法,其中所述方法在透明層內(nèi)被執(zhí)行。11.一種系統(tǒng),包括:數(shù)據(jù)庫內(nèi)的查詢路由器,配置用于向數(shù)據(jù)庫或者高速緩存路由數(shù)據(jù)庫查詢,其中所述數(shù)據(jù)庫是關(guān)系數(shù)據(jù)庫管理系統(tǒng)(RDBMS)和面向?qū)ο髷?shù)據(jù)庫管理系統(tǒng)(OODBMS)中的至少一個,其中所述高速緩存是數(shù)據(jù)庫高速緩存;高速緩存處置器,能夠管理所述高速緩存內(nèi)的復(fù)制的表的同步狀態(tài);以及復(fù)制管理器,配置用于經(jīng)由元數(shù)據(jù)日志記錄來向高速緩存異步地復(fù)制數(shù)據(jù)庫表。12.根據(jù)權(quán)利要求11所述的系統(tǒng),其中所述系統(tǒng)是數(shù)據(jù)庫內(nèi)的透明層的組件。13.根據(jù)權(quán)利要求11所述的系統(tǒng),進一步包括:未決聲明表,列出全部高速緩存表以及被寫入至所述高速緩存表的事務(wù)。14.根據(jù)權(quán)利要求11所述的系統(tǒng),進一步包括:高速緩存元數(shù)據(jù)表,由高速緩存配置工具填充,其中所述高速緩存元數(shù)據(jù)表列出用以高速緩存的表以及所述表的所述狀態(tài)。15.根據(jù)權(quán)利要求11所述的系統(tǒng),進一步包括:復(fù)制列表,引用經(jīng)歷從數(shù)據(jù)庫向高速緩存的異步復(fù)制的表的列表。16.根據(jù)權(quán)利要求11所述的系統(tǒng),進一步包括:檢查點表,經(jīng)歷異步復(fù)制,跟蹤所述高速緩存內(nèi)的數(shù)據(jù)庫表的同步性的所述狀態(tài)。17.根據(jù)權(quán)利要求11所述的系統(tǒng),進一步包括:檢查點線程、高速緩存使能線程、連接處置器線程。18.一種計算機程序產(chǎn)品,包括其中體現(xiàn)有計算機可用程序代碼的計算機可讀存儲介質(zhì),所述計算機可用程序代碼包括:存儲在存儲介質(zhì)中的計算機可用程序代碼,如果所述計算機可用程序代碼由處理器執(zhí)行,則所述計算機可用程序代碼可操作以標識數(shù)據(jù)庫內(nèi)的用以在高速緩存內(nèi)留存為被高速緩存的表的數(shù)據(jù)庫表,其中所述數(shù)據(jù)庫是關(guān)系數(shù)據(jù)庫管理系統(tǒng)(RDBMS)和面向?qū)ο髷?shù)據(jù)庫管理系統(tǒng)(OODBMS)中的至·少一個,其中所述高速緩存是數(shù)據(jù)庫高速緩存;存儲在存儲介質(zhì)中的計算機可用程序代碼,如果所述計算機可用程序代碼由處理器執(zhí)行,則所述計算機可用程序代碼可操作以在日志表內(nèi)對多個數(shù)據(jù)庫事務(wù)記錄日志,并且將所述高速緩存內(nèi)的被高速緩存的所述表標記為在運行時不被高速緩存;存儲在存儲介質(zhì)中的計算機可用程序代碼,如果所述計算機可用程序代碼由處理器執(zhí)行,則所述計算機可用程序代碼可操作以針對被高速緩存的所述表執(zhí)行所述數(shù)據(jù)庫表的異步復(fù)制,其中所述復(fù)制基于被高速緩存的所述表來執(zhí)行所述日志表內(nèi)的所述多個數(shù)據(jù)庫事務(wù);以及存儲在存儲介質(zhì)中的計算機可用程序代碼,如果所述計算機可用程序代碼由處理器執(zhí)行,則所述計算機可用程序代碼可操作以當所述復(fù)制被完成時,將被高速緩存的所述表標記為被高速緩存。19.根據(jù)權(quán)利要求18所述的計算機程序產(chǎn)品,其中所述計算機程序產(chǎn)品在數(shù)據(jù)庫管理系統(tǒng)(DBMS)內(nèi)的透明層內(nèi)執(zhí)行。20.根據(jù)權(quán)利要求18所述的計算機程序產(chǎn)品,其中所述計算機程序產(chǎn)品響應(yīng)于被高速緩存的表標記的所述狀態(tài)而動態(tài)地向數(shù)據(jù)庫和高速緩存中的至少一個路由數(shù)據(jù)庫查詢。21.一種計算機系統(tǒng),包括:一個或者多個處理器,一個或者多個計算機可讀存儲器以及一個或者多個計算機可讀有形存儲設(shè)備;存儲在所述一個或者多個存儲設(shè)備上的至少一個存儲設(shè)備中的程序指令,用于經(jīng)由所述一個或者多個存儲器中的至少一個存儲器來由所述一個或者多個處理器中的至少一個處理器執(zhí)行,用以在標識數(shù)據(jù)庫內(nèi)的用以在高速緩存內(nèi)留存為被高速緩存的表的數(shù)據(jù)庫表,其中所述數(shù)據(jù)庫是關(guān)系數(shù)據(jù)庫管理系統(tǒng)(RDBMS)和面向?qū)ο髷?shù)據(jù)庫管理系統(tǒng)(OODBMS)中的至少一個,其中所述高速緩存是數(shù)據(jù)庫高速緩存;存儲在所述一個或者多個存儲設(shè)備上的至少一個存儲設(shè)備中的程序指令,用于經(jīng)由所述一個或者多個存儲器中的至少一個存儲器來由所述一個或者多個處理器中的至少一個處理器執(zhí)行,用以在日志表內(nèi)對多個數(shù)據(jù)庫事務(wù)記錄日志,并且將所述高速緩存內(nèi)的被高速緩存的所述表標記為在運行時不被高速緩存;存儲在所述一個或者多個存儲設(shè)備上的至少一個存儲設(shè)備中的程序指令,用于經(jīng)由所述一個或者多個存儲器中的至少一個來由所述一個或者多個處理器中的至少一個處理器執(zhí)行,用以針對被高速緩存的所述表執(zhí)行所述數(shù)據(jù)庫表的異步復(fù)制,其中所述復(fù)制基于被高速緩存的所述表來執(zhí)行所述日志表內(nèi)的所述多個數(shù)據(jù)庫事務(wù);以及存儲在所述一個或者多個存儲設(shè)備上的至少一個存儲設(shè)備中的程序指令,用于經(jīng)由所述一個或者多個存儲器中的至少一個存儲器來由所述一個或者多個處理器中的至少一個處理器執(zhí)行,用以當所述復(fù)制被完成時,將被高速緩存的所述表標記為被高速緩存。22.根據(jù)權(quán)利要求21所述的計算機系統(tǒng),進一步包括:所述數(shù)據(jù)庫內(nèi)的查詢路由器,配置用于向數(shù)據(jù)庫或者高速緩存路由數(shù)據(jù)庫請求,其中所述數(shù)據(jù)庫是關(guān)系數(shù)據(jù)庫管理系統(tǒng)(RDBMS)和面向?qū)ο蟮臄?shù)據(jù)庫管理系統(tǒng)(OODBMS)中的至少一個,其中所述高速緩存是數(shù)據(jù)庫高速緩存;高速緩存處置器,能夠管理所述高速緩存內(nèi)的復(fù)制的表的所述同步狀態(tài);以及復(fù)制管理器,配置用于經(jīng)由元數(shù)據(jù)記錄日志來向高速緩存異步地復(fù)制任何數(shù)據(jù)庫表。23.根據(jù)權(quán)利要求22所述的計算機系統(tǒng),進一步包括:未決聲明表,列出全部高速緩存表以及被寫入至所述高速緩存表的事務(wù);高速緩存元數(shù)據(jù)表,由高速緩存配置工具填充,其中所述高速緩存元數(shù)據(jù)表列出用以高速緩存的表以及所述表的所述狀態(tài);復(fù)制列表,引用經(jīng)歷從數(shù)據(jù)庫向高速緩存的異步復(fù)制的表的列表;檢查點表,經(jīng)歷異步復(fù)制,跟蹤所述高速緩存內(nèi)的數(shù)據(jù)庫表的同步性的所述狀態(tài)。24.—種方法,包括:標識數(shù)據(jù)庫內(nèi)的將在數(shù)據(jù)庫高速緩存中留存為被高速緩存的表的數(shù)據(jù)庫表;在日志表內(nèi)對多個數(shù)據(jù)庫事務(wù)記錄日志,以及將所述高速緩存內(nèi)的被高速緩存的所述表標記為在運行時不被高速緩存;向被高速緩存的所述表執(zhí)行所述數(shù)據(jù)庫表的異步復(fù)制,其中所述復(fù)制基于被高速緩存的所述表來執(zhí)行所述日志表內(nèi)的所述多個數(shù)據(jù)庫事務(wù);當所述復(fù)制被完成時,將被高速緩存的所述表標記為被高速緩存;接收指向所述數(shù)據(jù)庫的數(shù)據(jù)庫查詢;以及當在所述數(shù)據(jù)庫高速緩存內(nèi)的被高速緩存的表中找到針對所接收的所述數(shù)據(jù)庫查詢的匹配時,將接收的所述數(shù)據(jù)庫查詢指向所述數(shù)據(jù)庫高速緩存,以及使用來自所述數(shù)據(jù)庫高速緩存的被高速緩存的內(nèi)容而不必執(zhí)行所述數(shù)據(jù)庫的新的查詢,來響應(yīng)于接收到的所述數(shù)據(jù)庫查詢。25.根據(jù)權(quán)利要求24所述的方法,進一步包括:當在所述數(shù)據(jù)庫高速緩存內(nèi)的被高速緩存的表中沒有找到針對接收的所述數(shù)據(jù)庫查詢的匹配時,執(zhí)行所述數(shù)據(jù)庫的新的查詢動作以響應(yīng)于接收的所述數(shù)據(jù)庫查詢;以及在所述數(shù)據(jù)庫高速緩存中對接收到所述數(shù)據(jù)庫查詢和所述新的查詢動作的結(jié)果進行高速緩存,以用于響應(yīng)于未來的查詢請求?!疚臋n編號】G06F17/30GK103827865SQ201280045180【公開日】2014年5月28日申請日期:2012年9月24日優(yōu)先權(quán)日:2011年9月23日【發(fā)明者】E·德懷爾,D·卡瓦納,M·羅奇申請人:國際商業(yè)機器公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1