專利名稱:事務(wù)存儲(chǔ)器的對(duì)象模型的制作方法
事務(wù)存儲(chǔ)器的對(duì)象模型
背景
計(jì)算機(jī)隨時(shí)間不斷變得更加強(qiáng)大,具有更多的處理能力和存儲(chǔ)器來(lái)處理高級(jí)操作。這一趨勢(shì)最近將焦點(diǎn)從日益增長(zhǎng)的單處理器時(shí)鐘速率移開(kāi),并趨向于增加單個(gè)計(jì)算機(jī)中可用處理器的數(shù)量。軟件開(kāi)發(fā)者想要利用計(jì)算機(jī)處理能力的提高來(lái)使得他們的軟件程序能夠在采用新硬件時(shí)更快地執(zhí)行。然而,對(duì)于該新硬件趨勢(shì),這要求不同的方法開(kāi)發(fā)者必須安排特定軟件程序的一個(gè)或多個(gè)任務(wù)"并發(fā)地"(有時(shí)稱為"并行")執(zhí)行,以使同一邏輯操作可以同時(shí)利用多個(gè)處理器,并在向該軟件在其上運(yùn)行的計(jì)算機(jī)添加更多處理器時(shí)提供更好的性能。
事務(wù)存儲(chǔ)器被設(shè)計(jì)成通過(guò)向程序代碼區(qū)域提供原子性和隔離性來(lái)簡(jiǎn)化并發(fā)程序的開(kāi)發(fā)。事務(wù)存儲(chǔ)器(TM)是類似于數(shù)據(jù)庫(kù)事務(wù)的、用于在并發(fā)計(jì)算中控制對(duì)共享存儲(chǔ)器的訪問(wèn)的并發(fā)控制機(jī)制。事務(wù)存儲(chǔ)器的上下文中的事務(wù)是對(duì)共享存儲(chǔ)器執(zhí)行一系列讀取和寫(xiě)入的一段代碼。TM用作傳統(tǒng)鎖定機(jī)制的替
換。TM允許更簡(jiǎn)單地編寫(xiě)并發(fā)程序。事務(wù)指定應(yīng)當(dāng)如其正在孤立地執(zhí)行那樣執(zhí)行的代碼序列。這一孤立錯(cuò)覺(jué)可以通過(guò)細(xì)粒度的對(duì)象鎖定,以及通過(guò)以允許在發(fā)現(xiàn)事務(wù)與某一其它事務(wù)相沖突的情況下回退該事務(wù)的效果的模式執(zhí)行來(lái)實(shí)現(xiàn)。如果數(shù)據(jù)訪問(wèn)受這些鎖定和回退機(jī)制保護(hù),則可以說(shuō)該訪問(wèn)被"事務(wù)化"。
現(xiàn)有事務(wù)存儲(chǔ)器使用簡(jiǎn)單的語(yǔ)言構(gòu)造來(lái)定義事務(wù)。這些事務(wù)通過(guò)聲明諸如以下示例的原子代碼塊的開(kāi)頭和結(jié)尾的基于范圍的語(yǔ)言構(gòu)造來(lái)隱式地實(shí)例化
atomic (原子)
...要在事務(wù)中執(zhí)行的語(yǔ)句放在這里...
該對(duì)于事務(wù)存儲(chǔ)器的當(dāng)前方法要求事務(wù)綁定到程序流的特定部分,并且只由已被升級(jí)為包括顯式事務(wù)語(yǔ)義及相關(guān)聯(lián)的構(gòu)造的編程語(yǔ)言來(lái)支持。
4概述
公開(kāi)了用于提供事務(wù)存儲(chǔ)器的對(duì)象模型的各種技術(shù)和方法。事務(wù)存儲(chǔ)器的對(duì)象模型允許將事務(wù)語(yǔ)義與語(yǔ)言范圍規(guī)則分開(kāi)。使用該對(duì)象模型創(chuàng)建的事務(wù)存儲(chǔ)器對(duì)象可在與傳統(tǒng)的原子塊相關(guān)聯(lián)的名義范圍之外生存,從而允許與基于范圍的原子塊相比的新的使用模型和附加功能。
在一個(gè)實(shí)現(xiàn)中,事務(wù)存儲(chǔ)器語(yǔ)義甚至可得到不直接支持事務(wù)存儲(chǔ)器構(gòu)造的語(yǔ)言的支持。這通過(guò)在一個(gè)或多個(gè)基類庫(kù)中定義該對(duì)象模型并且允許不直接支持事務(wù)存儲(chǔ)器的語(yǔ)言通過(guò)該對(duì)象模型使用事務(wù)存儲(chǔ)器來(lái)使之成為可能。
提供本概述以便以簡(jiǎn)化形式介紹將在以下詳細(xì)描述中進(jìn)一步描述的一些概念。本概述不旨在標(biāo)識(shí)所要求保護(hù)的主題的關(guān)鍵特征或必要特征,也不旨在用于幫助確定所要求保護(hù)的主題的范圍。
附圖簡(jiǎn)述
圖1是一個(gè)實(shí)現(xiàn)的計(jì)算機(jī)系統(tǒng)的圖示。
圖2是在圖1的計(jì)算機(jī)系統(tǒng)上操作的一個(gè)實(shí)現(xiàn)的事務(wù)存儲(chǔ)器框架應(yīng)用程序的圖示。
圖3是示出用于存儲(chǔ)器事務(wù)的對(duì)象模型可在基類庫(kù)中實(shí)現(xiàn)的一個(gè)實(shí)現(xiàn)的圖示。
圖4是圖1的系統(tǒng)的一個(gè)實(shí)現(xiàn)的處理流程圖,其示出在提供事務(wù)存儲(chǔ)器的對(duì)象模型時(shí)所涉及的各階段。
圖5是圖1的系統(tǒng)的一個(gè)實(shí)現(xiàn)的處理流程圖,其示出在從甚至不展示事務(wù)存儲(chǔ)器構(gòu)造的語(yǔ)言提供對(duì)事務(wù)存儲(chǔ)器的支持時(shí)所涉及的各階段。
圖6是示出一個(gè)實(shí)現(xiàn)的存儲(chǔ)器事務(wù)類的骨架定義的示例的圖。
圖7是示出一個(gè)實(shí)現(xiàn)的用于通過(guò)對(duì)象模型來(lái)聲明和使用存儲(chǔ)器事務(wù)的某些示例性源代碼的示圖。
圖8是圖1的系統(tǒng)的一個(gè)實(shí)現(xiàn)的處理流程圖,其示出在啟動(dòng)另一線程并使其協(xié)助執(zhí)行事務(wù)中的工作時(shí)所涉及的各階段。
圖9是示出用于使用對(duì)象模型來(lái)創(chuàng)建具有多個(gè)線程的單個(gè)事務(wù)的某些示例性源代碼的示圖,這些線程為執(zhí)行該單個(gè)事務(wù)的工作作出貢獻(xiàn)。
5圖IO是圖1的系統(tǒng)的一個(gè)實(shí)現(xiàn)的處理流程圖,其示出在掛起事務(wù)并且在稍后繼續(xù)該事務(wù)時(shí)所涉及的各階段。
圖11是示出用于掛起事務(wù)并在稍后繼續(xù)該事務(wù)的某些示例性源代碼的示圖。
圖12是圖1的系統(tǒng)的一個(gè)實(shí)現(xiàn)的處理流程圖,其示出在通過(guò)使用對(duì)象模型來(lái)支持事務(wù)存儲(chǔ)器來(lái)提供增強(qiáng)的事務(wù)功能時(shí)所涉及的各階段。
詳細(xì)描述
為促進(jìn)對(duì)本發(fā)明的原理的理解,現(xiàn)將對(duì)附圖中所示的各實(shí)施例加以參考,同時(shí)也將用具體語(yǔ)言描述它們。不過(guò),需要理解的是,并無(wú)意由此作出范圍上的限制。對(duì)所述實(shí)施例的任何改變和進(jìn)一步更改,以及在此所述的原理的進(jìn)一步應(yīng)用都可以預(yù)期將是本領(lǐng)域技術(shù)人員通常能想到的。
該系統(tǒng)可以在一般上下文中被描述為用于提供事務(wù)存儲(chǔ)器的對(duì)象模型的框架,但是該系統(tǒng)還用于除此之外的其它目的。在一個(gè)實(shí)現(xiàn)中,此處所描述的技術(shù)中的一個(gè)或多個(gè)可被實(shí)現(xiàn)為諸如MICROSOFT .NET、 Java虛擬機(jī)等框架或平臺(tái)內(nèi)的、或來(lái)自提供用于使用事務(wù)存儲(chǔ)器系統(tǒng)來(lái)運(yùn)行應(yīng)用程序的平臺(tái)的任何其它類型的程序或服務(wù)的特征。
如圖1所示,用于實(shí)現(xiàn)本系統(tǒng)的一個(gè)或多個(gè)部分的示例性計(jì)算機(jī)系統(tǒng)包括諸如計(jì)算設(shè)備100等計(jì)算設(shè)備。在其最基本的配置中,計(jì)算設(shè)備100通常包括至少一個(gè)處理單元102和存儲(chǔ)器104。取決于計(jì)算設(shè)備的確切配置和類型,存儲(chǔ)器104可以是易失性的(如RAM)、非易失性的(如ROM、閃存等)或是兩者的某種組合。該最基本配置在圖1中由虛線106來(lái)示出。
另外,設(shè)備100還可具有附加特征/功能。例如,設(shè)備100還可包含附加存儲(chǔ)(可移動(dòng)和/或不可移動(dòng)),包括但不限于磁盤(pán)、光盤(pán)或磁帶。這樣的附加存儲(chǔ)在圖1中由可移動(dòng)存儲(chǔ)108和不可移動(dòng)存儲(chǔ)110示出。計(jì)算機(jī)存儲(chǔ)介質(zhì)包括以用于存儲(chǔ)諸如計(jì)算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或其它數(shù)據(jù)等信息的任何方法或技術(shù)來(lái)實(shí)現(xiàn)的易失性和非易失性、可移動(dòng)和不可移動(dòng)介質(zhì)。存儲(chǔ)器104、可移動(dòng)存儲(chǔ)108和不可移動(dòng)存儲(chǔ)110都是計(jì)算機(jī)存儲(chǔ)介質(zhì)的示例。計(jì)算機(jī)存儲(chǔ)介質(zhì)包括但不限于,RAM、 ROM、 EEPROM、閃存或其它存儲(chǔ)器技術(shù)、CD-ROM、數(shù)字多功能盤(pán)(DVD)或其它光存儲(chǔ)、磁帶盒、磁帶、磁盤(pán)存儲(chǔ)或其它磁存儲(chǔ)設(shè)備、或者可用于存儲(chǔ)所需信息并且可由設(shè)備100訪問(wèn)的任何其它介質(zhì)。任何這樣的計(jì)算機(jī)存儲(chǔ)介質(zhì)都可以是設(shè)備100的一部分。
計(jì)算設(shè)備100包括允許計(jì)算設(shè)備100與其它計(jì)算機(jī)/應(yīng)用程序115進(jìn)行通信的一個(gè)或多個(gè)通信連接114。設(shè)備100還可以具有諸如鍵盤(pán)、鼠標(biāo)、筆、語(yǔ)音輸入設(shè)備、觸摸輸入設(shè)備等輸入設(shè)備112。還可以包括諸如顯示器、揚(yáng)聲器、打印機(jī)等輸出設(shè)備lll。這些設(shè)備在本領(lǐng)域中公知且無(wú)需在此處詳細(xì)討論。在一個(gè)實(shí)現(xiàn)中,計(jì)算設(shè)備100包括事務(wù)存儲(chǔ)器框架應(yīng)用程序200。事務(wù)存儲(chǔ)器框架應(yīng)用程序200將在圖2中更詳細(xì)地描述。
現(xiàn)在轉(zhuǎn)向圖2并繼續(xù)參考圖1,示出了在計(jì)算設(shè)備100上操作的事務(wù)存儲(chǔ)器框架應(yīng)用程序200。事務(wù)存儲(chǔ)器框架應(yīng)用程序200是駐留在計(jì)算設(shè)備100上的應(yīng)用程序中的一個(gè)。然而,可以理解,事務(wù)存儲(chǔ)器框架應(yīng)用程序200可另選地或另外地被具體化為一個(gè)或多個(gè)計(jì)算機(jī)上的計(jì)算機(jī)可執(zhí)行指令和/或與圖1所示的不同的變型。另選地或另外地,事務(wù)存儲(chǔ)器框架應(yīng)用程序200的一個(gè)或多個(gè)部分可以是系統(tǒng)存儲(chǔ)器104的一部分、可以在其它計(jì)算機(jī)和/或應(yīng)用程序115上、或可以是計(jì)算機(jī)軟件領(lǐng)域的技術(shù)人員能想到的其它此類變型D
事務(wù)存儲(chǔ)器框架應(yīng)用程序200包括負(fù)責(zé)執(zhí)行在此描述的技術(shù)中的一些或全部的程序邏輯204。程序邏輯204包括提供用于將事務(wù)句法與程序流分開(kāi)的事務(wù)存儲(chǔ)器的對(duì)象模型的邏輯206;用于使用對(duì)象模型來(lái)在不展示用于事務(wù)存儲(chǔ)器的顯式構(gòu)造的編程語(yǔ)言中支持事務(wù)存儲(chǔ)器的邏輯208;用于使用對(duì)象模型來(lái)在事務(wù)存儲(chǔ)器系統(tǒng)中支持增強(qiáng)的事務(wù)可編程性的邏輯210;用于通過(guò)使用對(duì)象模型來(lái)創(chuàng)建和管理事務(wù)來(lái)提供增強(qiáng)的事務(wù)控制的邏輯212;以及用于操作應(yīng)用程序的其它邏輯220。在一個(gè)實(shí)現(xiàn)中,程序邏輯204可操作來(lái)通過(guò)編程,如使用對(duì)程序邏輯204中的過(guò)程的單一調(diào)用而從另一程序調(diào)用。
圖3是示出可在一個(gè)或多個(gè)由虛擬機(jī)250使用的基類庫(kù)248中實(shí)現(xiàn)的用于存儲(chǔ)器事務(wù)的對(duì)象模型的圖示240。多個(gè)語(yǔ)言(242、 244和246)然后可訪問(wèn)該對(duì)象模型,無(wú)論這些語(yǔ)言中的相應(yīng)的一個(gè)語(yǔ)言是否具有直接來(lái)自該語(yǔ)言中的對(duì)存儲(chǔ)器事務(wù)構(gòu)造的支持。
現(xiàn)在轉(zhuǎn)到圖4-12并繼續(xù)參考圖1-2,更詳細(xì)地描述用于實(shí)現(xiàn)事務(wù)存儲(chǔ)器框
7架應(yīng)用程序200的一個(gè)或多個(gè)實(shí)現(xiàn)的各階段。在某些實(shí)現(xiàn)中,圖4-12的過(guò)程 至少部分地用計(jì)算設(shè)備100的操作邏輯來(lái)實(shí)現(xiàn)。圖4示出了在提供事務(wù)存儲(chǔ)器 的對(duì)象模型時(shí)所涉及的各階段的一個(gè)實(shí)現(xiàn)。該過(guò)程開(kāi)始于起始點(diǎn)270,在那里 提供事務(wù)存儲(chǔ)器的對(duì)象模型(階段272)。通過(guò)該對(duì)象模型,將事務(wù)句法與程 序流分開(kāi)(階段274)??墒褂迷诼暶鞣秶膱?zhí)行范圍之外生存的對(duì)象模型來(lái) 創(chuàng)建存儲(chǔ)器事務(wù)對(duì)象(階段276)。該延長(zhǎng)的生存期提供了在此處更詳細(xì)地討 論的附加特征。該過(guò)程在結(jié)束點(diǎn)278處結(jié)束。
圖5示出了在從甚至不展示事務(wù)存儲(chǔ)器構(gòu)造的語(yǔ)言提供對(duì)事務(wù)存儲(chǔ)器的 支持時(shí)所涉及的各階段的一個(gè)實(shí)現(xiàn)。該過(guò)程開(kāi)始于起始點(diǎn)2卯,在那里在一個(gè) 或多個(gè)基類庫(kù)中提供事務(wù)存儲(chǔ)器的對(duì)象模型的定義(階段292)。該系統(tǒng)允許 支持和不支持事務(wù)存儲(chǔ)器的語(yǔ)言通過(guò)基類庫(kù)中的對(duì)象模型來(lái)使用事務(wù)存儲(chǔ)器 (階段294)。該過(guò)程在結(jié)束點(diǎn)296處結(jié)束。
圖6是示出一個(gè)實(shí)現(xiàn)的存儲(chǔ)器事務(wù)類的骨架定義的示例的示圖310。圖6 所示的存儲(chǔ)器事務(wù)類312示出了對(duì)頂級(jí)存儲(chǔ)器事務(wù)314、嵌套的存儲(chǔ)器事務(wù)316 的定義、對(duì)事務(wù)進(jìn)行讀寫(xiě)的各種方法318、用于控制事務(wù)的方法320、返回當(dāng) 前環(huán)境事務(wù)分層結(jié)構(gòu)的屬性322以及線程本地值324。如在后面的附圖中更詳 細(xì)地描述的,通過(guò)使用對(duì)象模型來(lái)提供存儲(chǔ)器事務(wù),可實(shí)現(xiàn)不與程序流綁定的 附加特征和改進(jìn)。
圖7是示出一個(gè)實(shí)現(xiàn)的用于根據(jù)對(duì)象模型來(lái)聲明和使用存儲(chǔ)器事務(wù)的某 些示例性源代碼的示圖340。在所示的示例中,聲明新的存儲(chǔ)器事務(wù),并且隨 后調(diào)用關(guān)于該對(duì)象的各種方法,諸如寫(xiě)(write)方法和提交(commit)方法。
圖8示出了在啟動(dòng)另一線程并且使其協(xié)助執(zhí)行工作時(shí)所涉及的各階段的 一個(gè)實(shí)現(xiàn)。該過(guò)程開(kāi)始于起始點(diǎn)370,在那里使用事務(wù)存儲(chǔ)器對(duì)象模型來(lái)聲明 并開(kāi)始事務(wù)(階段372)。啟動(dòng)第二線程(階段374),該線程隨后加入并參 與該事務(wù)(階段376)。該過(guò)程在結(jié)束點(diǎn)378處。
圖9是示出用于使用對(duì)象模型來(lái)創(chuàng)建具有多個(gè)線程的單個(gè)事務(wù)的某些示 例性源代碼的示圖400,這些線程為執(zhí)行該單個(gè)事務(wù)的工作作出貢獻(xiàn)。在所示 的示例中,創(chuàng)建存儲(chǔ)器事務(wù)402,并且隨后啟動(dòng)可協(xié)助執(zhí)行一部分工作的新線 程404。圖10示出了在掛起事務(wù)并在稍后繼續(xù)該事務(wù)時(shí)所涉及的各階段的一個(gè)實(shí)
現(xiàn)。該過(guò)程開(kāi)始于起始點(diǎn)430,在那里提供事務(wù)存儲(chǔ)器對(duì)象模型(階段432)。 該系統(tǒng)開(kāi)始事務(wù)(階段434),并且隨后在稍后掛起同一事務(wù)(階段436)。 該系統(tǒng)獲得所掛起的事務(wù)的快照(階段438)以允許在稍后繼續(xù)該事務(wù)。該系 統(tǒng)隨后在稍后從該快照繼續(xù)所掛起的事務(wù)(階段440)。該過(guò)程在結(jié)束點(diǎn)442 處結(jié)束。
圖11是示出用于進(jìn)一步示出圖10的各階段的某些示例性源代碼的示圖 460。在所示的示例中,掛起事務(wù),捕捉事務(wù)對(duì)象的快照,并且隨后在稍后繼 續(xù)該事務(wù)。
圖12示出了在通過(guò)使用對(duì)象模型來(lái)創(chuàng)建事務(wù)來(lái)提供增強(qiáng)的事務(wù)細(xì)節(jié)時(shí)所 涉及的各階段的一個(gè)實(shí)現(xiàn)。盡管在流程圖中描述這些階段,但這些特征不旨在 具有特定順序。此外,某些、所有和/或其它特征可使用不同于在圖12中所述 的那些的對(duì)象模型來(lái)支持。該過(guò)程開(kāi)始于起始點(diǎn)500,在那里在對(duì)象模型中支 持自省(introspection)以允許獲得事務(wù)的當(dāng)前狀態(tài)(階段502)。該系統(tǒng)支持 向統(tǒng)計(jì)數(shù)據(jù)査詢事務(wù)的使用模式和診斷信息的能力(階段504)。例如,可以 計(jì)算寫(xiě)入特定事務(wù)的數(shù)據(jù)量。該系統(tǒng)支持對(duì)先前捕捉的事務(wù)狀態(tài)的操縱(階段 506),諸如分析在執(zhí)行事務(wù)時(shí)捕捉到的一個(gè)或多個(gè)值。該系統(tǒng)可將當(dāng)前和/或 先前捕捉到的事務(wù)狀態(tài)提供給調(diào)試程序以幫助調(diào)試(階段508)。該過(guò)程在結(jié) 束點(diǎn)510處結(jié)束。
盡管用對(duì)結(jié)構(gòu)特征和/或方法動(dòng)作專用的語(yǔ)言描述了本主題,但可以理解, 所附權(quán)利要求書(shū)中定義的主題不必限于上述具體特征或動(dòng)作。相反,上述具體 特征和動(dòng)作是作為實(shí)現(xiàn)權(quán)利要求的示例形式公開(kāi)的。落入在此所述和/或所附權(quán) 利要求所描述的實(shí)現(xiàn)的精神的范圍內(nèi)的所有等效方案、更改和修正都期望受到 保護(hù)。
例如,計(jì)算機(jī)軟件領(lǐng)域普通技術(shù)人員將認(rèn)識(shí)到,此處所討論的示例可以在 一個(gè)或多個(gè)計(jì)算機(jī)上不同地組織來(lái)包括比這些示例中所描繪的更少或更多選 項(xiàng)或特征。
9
權(quán)利要求
1.一種具有用于使計(jì)算機(jī)執(zhí)行以下步驟的計(jì)算機(jī)可執(zhí)行指令的計(jì)算機(jī)可讀介質(zhì),所述步驟包括提供事務(wù)存儲(chǔ)器的對(duì)象模型,所述對(duì)象模型允許將事務(wù)句法與程序流分開(kāi)(206)。
2. 如權(quán)利要求1所述的計(jì)算機(jī)可讀介質(zhì),其特征在于,所述對(duì)象模型可用 于在不展示事務(wù)存儲(chǔ)器構(gòu)造的編程語(yǔ)言中支持事務(wù)存儲(chǔ)器(208)。
3. 如權(quán)利要求1所述的計(jì)算機(jī)可讀介質(zhì),其特征在于,所述對(duì)象模型在框 架的一個(gè)或多個(gè)基類庫(kù)中實(shí)現(xiàn)(292)。
4. 如權(quán)利要求1所述的計(jì)算機(jī)可讀介質(zhì),其特征在于,所述對(duì)象模型可用 于允許根據(jù)所述對(duì)象模型來(lái)創(chuàng)建的存儲(chǔ)器事務(wù)對(duì)象在實(shí)例化執(zhí)行范圍之外生 存(276)。
5. 如權(quán)利要求1所述的計(jì)算機(jī)可讀介質(zhì),其特征在于,所述對(duì)象模型提供 用于創(chuàng)建頂級(jí)事務(wù)的構(gòu)造函數(shù)(314)。
6. 如權(quán)利要求1所述的計(jì)算機(jī)可讀介質(zhì),其特征在于,所述對(duì)象模型提供 用于創(chuàng)建嵌套事務(wù)的構(gòu)造函數(shù)(316)。
7. 如權(quán)利要求1所述的計(jì)算機(jī)可讀介質(zhì),其特征在于,所述對(duì)象模型提供 用于執(zhí)行事務(wù)讀寫(xiě)的方法(318)。
8. 如權(quán)利要求1所述的計(jì)算機(jī)可讀介質(zhì),其特征在于,所述對(duì)象模型提供 用于事務(wù)控制的方法(320)。
9. 一種用于提供事務(wù)存儲(chǔ)器的對(duì)象模型的方法,所述方法包括以下步驟 提供事務(wù)存儲(chǔ)器的對(duì)象模型,所述對(duì)象模型允許將事務(wù)語(yǔ)義與程序流分開(kāi)(274);以及允許使用所述對(duì)象模型來(lái)創(chuàng)建的存儲(chǔ)器事務(wù)對(duì)象在實(shí)例化執(zhí)行范圍之外 生存,從而允許操縱關(guān)于所述存儲(chǔ)器事務(wù)的附加屬性(276)。
10. 如權(quán)利要求9所述的方法,其特征在于,所述附加屬性包括所述事務(wù) 中的一個(gè)或多個(gè)的當(dāng)前狀態(tài)(276)。
11. 如權(quán)利要求9所述的方法,其特征在于,所述附加屬性包括關(guān)于所述 事務(wù)中的一個(gè)或多個(gè)的使用模式的統(tǒng)計(jì)數(shù)據(jù)(504)。
12. 如權(quán)利要求9所述的方法,其特征在于,所述附加屬性包括關(guān)于所述 事務(wù)中的一個(gè)或多個(gè)的診斷信息的統(tǒng)計(jì)數(shù)據(jù)(504)。
13. 如權(quán)利要求9所述的方法,其特征在于,所述附加屬性包括所述事務(wù) 中的一個(gè)或多個(gè)的先前捕捉到的事務(wù)狀態(tài)(506)。
14. 如權(quán)利要求9所述的方法,其特征在于,所述附加屬性被提供給調(diào)試 程序以幫助調(diào)試(508)。
15. 如權(quán)利要求14所述的方法,其特征在于,所述附加屬性包括所述事務(wù) 中的一個(gè)或多個(gè)的先前捕捉到的事務(wù)狀態(tài)(506)。
16. 如權(quán)利要求14所述的方法,其特征在于,所述附加屬性包括所述事務(wù) 中的一個(gè)或多個(gè)的當(dāng)前事務(wù)狀態(tài)(502)。
17. —種具有用于使計(jì)算機(jī)執(zhí)行如權(quán)利要求9所述的步驟的計(jì)算機(jī)可執(zhí)行 指令的計(jì)算機(jī)可讀介質(zhì)(200)。
18. —種用于從不直接展示事務(wù)存儲(chǔ)器構(gòu)造的語(yǔ)言提供對(duì)事務(wù)存儲(chǔ)器的支持的方法,所述方法包括以下步驟在至少一個(gè)基類庫(kù)中定義事務(wù)存儲(chǔ)器的對(duì)象模型;以及允許不直接支持事務(wù)存儲(chǔ)器的語(yǔ)言通過(guò)所述對(duì)象模型來(lái)使用事務(wù)存儲(chǔ)器 (294)。
19. 如權(quán)利要求18所述的方法,其特征在于,所述對(duì)象模型允許所述語(yǔ)言 聲明和使用存儲(chǔ)器事務(wù)對(duì)象(294)。
20. —種具有用于使計(jì)算機(jī)執(zhí)行如權(quán)利要求18所述的步驟的計(jì)算機(jī)可執(zhí)行 指令的計(jì)算機(jī)可讀介質(zhì)(200)。
全文摘要
公開(kāi)了用于提供事務(wù)存儲(chǔ)器的對(duì)象模型的各種技術(shù)和方法。事務(wù)存儲(chǔ)器的對(duì)象模型允許將事務(wù)語(yǔ)義與程序流分開(kāi)。使用該對(duì)象模型創(chuàng)建的存儲(chǔ)器事務(wù)對(duì)象可在實(shí)例化執(zhí)行范圍之外生存,這允許提供和控制關(guān)于存儲(chǔ)器事務(wù)的附加細(xì)節(jié)。事務(wù)存儲(chǔ)器甚至可得到不直接展示事務(wù)存儲(chǔ)器構(gòu)造的語(yǔ)言的支持。通過(guò)在一個(gè)或多個(gè)基類庫(kù)中定義該對(duì)象模型并且允許不直接支持事務(wù)存儲(chǔ)器的語(yǔ)言通過(guò)該對(duì)象模型使用事務(wù)存儲(chǔ)器來(lái)使之成為可能。
文檔編號(hào)G06F12/00GK101689136SQ200880022262
公開(kāi)日2010年3月31日 申請(qǐng)日期2008年6月12日 優(yōu)先權(quán)日2007年6月26日
發(fā)明者M·塔耶費(fèi)爾 申請(qǐng)人:微軟公司