TW317624B - - Google Patents
Download PDFInfo
- Publication number
- TW317624B TW317624B TW086103931A TW86103931A TW317624B TW 317624 B TW317624 B TW 317624B TW 086103931 A TW086103931 A TW 086103931A TW 86103931 A TW86103931 A TW 86103931A TW 317624 B TW317624 B TW 317624B
- Authority
- TW
- Taiwan
- Prior art keywords
- objects
- group
- stored
- program
- memory
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/448—Execution paradigms, e.g. implementations of programming paradigms
- G06F9/4488—Object-oriented
- G06F9/4493—Object persistence
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99931—Database or file accessing
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Devices For Executing Special Programs (AREA)
- Stored Programmes (AREA)
Description
經濟部中央標準局員工消费含作杜印製 317624 A7 __B7_ 五、發明説明(1 ) 本發明大致係有關於使用物件導向電算機程式以處理 儲存於資料庫中之資料的系統與方法,並特別係有關於可 自動修改一物件分類方式的一種系統與方法,其可存取一 賫料庫中之資料,以便插入由資料庫中讀取資料的指令, 並在逋當的時間將新的與經修改的資料存回資料庫內· 發明之背景 物件導向(Object-oriented) DBMS (資料庫管理系 統,database mamangement system).可爲程式語言物.件 提供持續的儲存,其並可支援以程式語言所撰寫的幾乎任 何形式的資料結構之儲存•相較之下,傳統的記錄結構 DBMS則需要內嵌式的資料庫語言(如SQL)之敘述 或程序呼叫,才能將資料在資料庫與程式語言表示之間來 回地拷貝複製,且其亦只支援記錄的儲存。某些新式的產 品可容許傅統的記錄導向資料庫得以自動地映對到程式語 言物件上,因而提供了與物件導向DBMS相同的程式員 觀點·本發明係爲此類物件導向映對及物件導向D BM S 之一種新穎的實行技術·爲了本發明之目的,物件導向 D BMS —詞將被用來形容此兩者。 物件導向資料庫的一個引人要點係爲,用來處理此等 資料庫的電算機程式,比起傳統的資料庫存取程式,乃是 特別易於瞭解·物件導向資料庫的一種更爲重要的優點係 爲,「靜態資料型式的增強」可以施加於擷取資料庫的電 算機程式上*這表示此類程式的編譯器(comp i ler )可以 本紙張尺度適用中國國家標準(CNS > A4规格(210X297公釐) ---------1 ·裝-- (請先閱讀背面之注$項再填寫本頁) 訂 ^ -4 - 317624 A7 __B7 、_ 五、發明説明(2 ) 確保所有的資料皆得以被儲存於與爲一特定資料庫檷位而 定義的資料型式符合的該個檷位之中*如此,嚐試要將一 個整數放入一名雇員的名字檷位中的一個程式便會被一個 物件導向系統的編譯器所剔除回絕· 不幸的是,撰寫物件導向程式以便擷取儲存於一 D B M S ( d a t a b a s e m a m a n g e m e n t s y s t e m,資料庫管理 系統)的磁碟機或其他次級記憶體上的資料會比其初看起 來要更爲困難。雖然要撰寫可以將對一物件檷位的一次存 取轉換成爲資料庫的査詢的物件分類方法,看似是相當直 接的作法,但由於其所可以使用的物件參照方式(亦即, 於某些物件中對於其他物件的參照)之故,要撰寫,其可 以持績一致性地決定資料何時必須要由資料庫中讀出,何 時資料應被寫回資料庫內的程式碼,乃是有些微妙而難以 處理的•例如,避免不適當地在記億體內產生出同一個資 料庫物件的兩個物件乃是相當重要的· 爲了本說明窨進行說明之目的,「記憶體j與「主記 憶體」等詞將被定義來代表一部電算機系統的隨機存取記 經濟部中央橾準局β工消费合作杜印製 (請先Μ讀背面之注$項再填寫本頁) 憶體或主記憶體,而「次級記憶體」與「持績性儲存器」 等詞則將表示磁碟機記憶體或其他形式,可以在比主記憶 體更爲持績長久或更爲長期的基礎上保存資料的儲存裝置 〇 本發明之一目的係在於使程式員能夠如同單純地與主 記憶體中的資料庫物件打交道一樣地撰寫物件導向資料庫 應用程式,而不須關心其對真正的持績性儲存資料庫所進 本纸张尺度適用中國國家揉準(CNS > Α4规格(210X297公釐) 317624 at __B7_ 五、發明説明(3 ) 行的資料讀出與寫入之實際機制· 更特定而言,本發明之一目的係在於提供對一個經編 譯過的物件導向資料庫程式進行「後處理」的一種系統與 其方法,以便能夠在適當的時間自動地插入把資料由資料 庫中複製成爲記憶體內的物件,以及把新的及經過優改的 資料由記憶體中的物件複製成到資料庫內時所必要的額外 程式碼•利用此種方式,爲了獲得原始程式碼之目的,程 式員便可以撰寫可以處理代表了持績性儲存的資料的物件 導向資料庫程式,其方式與儲存非持縯性資料的物件沒甚 麽不同。 * 發明之概要 經濟部中央標準局β工消费合作社印製 (請先Μ讀背面之注$項再填寫本頁) 總結而言,本發明係爲一種系統與方法,可自動地將 可存取儲存於主記憶體內的物件之經過編譯的程式,轉換 成爲可以存取並更新持績性儲存的物件的一個程式•一個 初始的電算機程式包含有原始指令,可至少在一第一物件 分類中存取並更新物件•原始的指令係在一部電算機的主 記億體內進行物件的存取與更新。本發明之系統與方法可 自動地翻新初始電算機程式,以便利用將物件載入指令與 物件儲存指令加入於原始的指令之中,而產生一個經過翻 新的電算機程式· 在經過翻新的電算機程式執行的期間,當第一次存取 物件時,物件載入指令將持績儲存的物件的一個拷貝載入 於電算機的主記憶體內的一個對應物件之中•在預定的事 本紙乐尺度適用中國國家標準(CNS ) A4規格(210X297公釐) ~ ~ ~ 經濟部中央標準局貝工消费合作杜印突 A7 __B7_ 五、發明説明(4 ) 件發生時·諸如一次轉帳完成時,物件儲存指令則將包含 有新的或經過修改的資料之物件拷貝進入對應的持績性儲 存器之物件內· 本發明之系統與方法更可翻新初始電算機程式,以便 利用將髒物件標示指令加入至原始指令之中而產生經過翻 新的電算機程式,在經翻新的電算機程式執行的期間,其 可以追蹤電算機的主記憶體內的那些物件包含有新與/或 經更新的資料•物件儲存指令只拷貝電算機主記憶體內包 含有新與/或經更新資料的該些物件· 圖示之簡單說明 隨著下面配合所附圖式所進行的詳細說明,本發明之 其他目的與特點將會變得更爲明顯•附圓之中: 圖1爲採用了已利用本發明一較佳實施例的方法而經 過翻新的資料庫程式之一電算機系統之觀念性方塊圚。 圓2爲本發明一較佳實施例之方法的觀念性方塊圓· 圓3爲採用了本發明一較佳實施例之一電算機系統的 方塊圓。 圖4爲應用本發明一較佳實施例之一資料庫物件分類 的方塊圖· 圓5爲應用本發明一較佳實施例之方法的一個流程圖 〇 圈6爲本發明另一較佳實施例所應用之一虛指引元排 除處理程序的一個流程圖· 本纸汝尺度適用中國國家標準(CNS ) A4規格(210X297公釐) ~ ---------f _裝------訂------f 4 (請先Μ讀背面之注意事項再填寫本頁) 經濟部中央樣準局只工消费合作社印製 317624 A7 _B7_ 五、發明説明(5 ) 較佳實施例之詳細說明 就本發明的目的而言,「資料庫使用程式」( database usage program)與「資料庫應用程式j ( d a t a b a s e u t i 1 i z a t i ο n p r 〇 g r a m )等詞係指可對儲存於持 績儲存資料庫內或持績儲存植案內的資料進行存取的任何 程式· 在較佳實施例之中,資料庫使用程式的作者可以如同 其所使用的整個資料庫係被儲存於主記憶體內的方式而撰 寫其程式。資料庫使用程式的原始碼內因此即完全沒有決 定物件何時應由持績性儲存器內.的資料庫中被拷貝至主記 憶體內,若預計要進行目前的轉帳時,追蹤主記憶體中那 些物件包含有逐渐將必須要被寫回資料庫內的新的或經過 修改的資料,以及將具有新的或經過修改資料的物件寫回 資料庫內所需要的所有程式碼·其結果,此原始碼程式便 會比包括了將資訊在資料庫與主記億體之間來回轉換的所 有程式碼的原始碼要來得更容易研讀與翻新· 在較佳實施例之中,資料庫應用程式的原始碼係以爪 桂程式語言(J a v a p r 〇 g r a m m i n g 1 a n g u a g e )撰寫的,其 係爲Sun Microsystems, Inc.所販售的一種「與機器平 臺無關j ( m a c h i n e p 1 a t f o r m i n d e p e n d e n t )的程式語言 •資料庫應用程式的原始碼200(見圖2與3),利用 一種習知的爪哇編譯器2 0.2而被編譯成爲一種爪哇位元 組程式碼程式2 0 4 *因而產生出典型包含了一個數置的 本紙悵尺度適用中國國家標準(CNS ) A4规格(210X297公釐)""""_ β _ ^^^1 >ιϋ ·ϋ ki m I (請先閲讀背面之注意事項再填寫本頁) 訂- 經濟部中央標準局只工消费合作杜印製 317624 λ7 ___Β7_五、發明説明(6 ) 物件分類的一個位元組程式碼· 爪哇位元組程式碼程式與構成了一部虛擬機器的一個 位兀組程式碼程式解譯器(interpreter) 1 7 6 —起被 執行•爪哇位元組程式碼程式之設計可使之能夠在任何電 算機上執行,不論其作業系統與電算機硬體平臺爲何,只 要爪哇位元組程式碼程式有存在電算機上即可。 不過,資料庫應用程式的初始的,經過編譯的位元組 程式碼程式版本並非爲一種真正可以工作的程式,因爲其 乃係基於其所使用的整個資料庫乃是被儲存於主記憶體中 的錯誤假設而撰寫的,而事實上資料庫則是儲存於持續性 儲存器之中•依據本發明,資料庫應用程式的初始的,經 過編譯的位元組程式碼程式版本係利用可修改經過編譯的 程式中之物件分類的一個「後處理器」程式2 0 6的翻新 的。後處理器2 0 6修改將要用於儲存持績性儲存物件的 主記憶體拷貝的物件分類之物件構造,以便致能管理物件 指引元,以及追蹤將會需要儲存於持嫌性儲存的資料庫之 內的「髒」物件所需要的額外資訊之儲存·後處理器亦利 用將決定那些物件必須要由持續性儲存的資料庫內拷貝到 主記憶體,以將物件由資料庫中拷貝到主記憶體中,若預 計要進行一次轉帳時,追蹤主記憶體中有那些物件包含有 逐漸將必須要被寫回資料庫內的新的或經過修改的資料, 以及將具有新的或經過修改資料的物件寫回資料庫,因而 修改經過編譯的程式內物件分類的方法· 參考圓1 ,其中顯示與一資料庫使用程式的操作有關 (請先閱讀背面之注意事項再填寫本頁) h .裝. 訂 本紙张尺度適用中國國家標準(CNS ) A4規格(210X297公釐) 317624 A7 _B7_ 五、發明説明(7 ) 的某些主要資料構造。爲了其說明之目的,假定應用本發 明的一個電算機系統1 0 0包括有主記憶體1 0 2,其典 型係由髙速隨機存取記憶體所構成,以及一個持績性資料 儲存器10 4 (亦稱爲次級記億髖),其典型係由可在切 斷電源後仍能將資料保留於其中的磁性碟片儲存器或其他 儲存裝置所構成》 持續性資料儲存器1 0 4儲存一個資料庫1 0 6,在 此種情況下係假定爲可儲存多個物件1 0 8的一個物件導 向資料庫。所有或大部份的被儲存的物件1 0 8皆包括有 指引元指向資料摩內的其他物件·此外資料庫1 0 6典 型是爲管理所有對儲存於資料庫中的資料進行存取的一個 資料庫管理系統(DBMS) 1 1 0的部份,其通常要求 對資料庫所進行的存取,應利用諸如包含於各種版本的 S Q L中的,定義良好的指令來進行•爲了進行本說明之 目的,亦假定DBMS1 10與資料庫106未被本發明 所改變· 在較隹實施例之中,執行系統(runtime system) 經濟部中央樣準局貞工消费合作杜印製 (请先Μ讀背面之注$項再填寫本頁) 1 1 2控制了程式的執行,此些程式係將資料儲存於主記 憶體102之中•執行系統1 1 2所執行的程式,爲了本 發明之目的被假定是爲物件導向的程式,因此即趨向於以 物件114的型式將資料儲存於主記憶體內•有某些物件 ,諸如儲存於主記憶體1 0 2內的物件1 1 4 一 3,由於 其永遠不會被儲存於持績性儲存器1 0 4內*並在將之產 生出來的程序完成之後即不再存在之故,而被稱爲是「暫 I纸張尺度適用中國國家標準(CNS ) A4規格(210X297公釐)_ _ — 經濟部中央橾率局只工消费合作杜印製 A7 B7 五、發明説明(8 ) 時性j的•其他的物件,諸如物件1 14一1與1 1 4一 2,若將之產生出來的轉帳得以成功地完成,則由於(A )該些物件的一個拷貝被儲存於持績性處存器1 0 4之中 ,或(B )此些物件係被組態以便儲存於持績性儲存器 1 0 4內之故,而被稱爲是「持績性」的物件· 應予瞭解的是*本發明係可應用於在符合一組物件儲 存標準(例如,發生第一組定義事件中之任何一種)之後 ,物件資料即得以被儲存於一持績性儲存器介體之內,並 在符合一組物件擷取標準(例如,發生第二組定義事件中 之任何一種)之後,物件資料即得以由^持績性儲存器介 體之內被擷取出來的任何系統之中· 如圖1中所顯示的,在較佳實施例之中,物件包含有 指向一個持績性資料描述元1 2 2的一個指引元1 2 0 · 在較佳實施例之中,持縯性資料描述元1 2 2包括有A ) 持績性儲存器之中物件的整個物件辨識元(OID, object identifier) 1 2 4或位址,B )若物件係被包括於一列 「髒」物件名單之中時所使用的一個列明指引元1 2 6, 與C )物件中每一個參照1 3 0對於另一個物件的整個物 件辨識元(0 1 D) 128或位址•爲了要將記億體的使 用減至最低,指有有關聯的物件包括有一個持嫌性資料描 述元1 2 2 · 爲了清楚的緣故,婴要注意到在較佳實施例之中,當 —物件由DBMS 1 10 (即,由持績性儲存器104 )之中被拷貝至主記憶體1 0 2時,被拷貝物件中所有的 本紙張尺度適用中园國家標準(CNS ) A4規格(210X297公釐) _ϋ_—· ^|_| ^^1 ·ϋ· sn 1^1 (請先閱讀背面之注意事項再填寫本頁) 訂 4 -11 - 317624 經濟部中央標孪局負工消费合作杜印製 A7 B7五、發明説明(9 ) 物件參照皆爲6 4位元或更大的物件位址,其在此被稱爲 是DBMS物件辨識元(0 1 D)。被儲存於持績性資料 描述元1 2 2內的該些0 I D,以及主記憶體物件拷貝 1 1 4中的物件參照檷1 3 0係以(A)若被參照的物件 未存在於主記憶體1 0 2中時,一個虛指引元數值,或( B )若被參照的物件已存在於主記憶體中時,指向主記憶 體中的被參照物件之拷貝的一個主記憶體物件指引元加以 取代·在另一種資施例中,0 I D可能係由與由資料庫中 所拷貝出來者相關聯的單獨主關鍵數值所構成。 在較佳實施例之中,持續性物件的每一個物件分類亦 支援暫態性的物件•暫時性物件具有與相同物件分類的持 績性物件相同的資料構造,但具有一個虛持縯性資料描述 元指引元1 2 0 ·在相同物件分類之中支援暫時性與持績 性物件的一個理由是,若要製作物件的暫時性拷貝,或者 與持績性物件相同型式的中間性質或暫時性「.工作用j物 件,以在進行各種計算的期間使用,時常是相當方便的作 法,甚至當暫時性物件內的資料永遠不須儲存於持績性儲 存器104中時亦然。 在施行某些物件分類只供持縯性物件使用的本發明之 實施例時,該些物件分類定義可以被翻新,以消除掉持績 性資料描述元指引元1 2 0,以便包含持績性資料描述元 1 2 2本身做爲主物件定義一部份· 兩種額外的資料構造在較佳實施例中被使用來追蹤儲 存於主記億體中的物件11 4。首先,一個混雜表140 ---------^ ·裝-- (請先W讀背面之注意事項再填寫本頁) 訂 4 本紙張尺度適用中國國家標準(CNS ) A4规格(210X297公釐} -12 - 經濟部中央橾準局β工消费合作杜印製 A7 _B7_ 五、發明説明(ίο) 被儲存於主記憶體之中,並被用來將DBMS OID映 對至主記憶體物件指引元上•當有一個物件由D BMS中 被拷貝至主記憶體內時,一個對應項即被加至混雜表內, 以指出該物件的Ο I D以及其主記慵體物件指引元。 當在混雜表1 4 0內搜尋任何物件的整個D BMS Ο I D時,若在混雜表1 4 0內沒有找到一個對應項,則 該物件便是未被拷貝至主記憶體內•另一方面,若在混雜 表內有找到對應項,則該項中的物件指引元便會指向主記 憶體內的物件· 其次,一個名單頭段1 4 2會指向物件的一個連結的 名單,其會需要被拷貝回到持績性儲存器中•此些物件被 稱爲是「髒」物件,因其與快取記憶體(稱爲「髒j快取 線)中的經過修改的資料一樣,在某種事件發生時,皆需 要被寫回主記憶體之中》連結名單係由名單頭段14 2內 的一個指引元,加上髒物件的持績資料描述元1 2 2內一 個串列的指引元1 2 6所構成•若餺物件名單是空白的, 名單頭段1 4 2便會包括有一個虛指引元。若髒物件名單 不是空白的,名單頭段1 4 2便會指向將要加至髒物件名 單中的最後一個物件,其又會指向將要加至髒物件名單的 最後次一個物件,如此繼績下去•髒物件名單中的最後一 項,其爲第一個被加至隳物件名單者,在其下一個指引元 欄位126中具有一個虛指引元。 當一個「新物件」需要被加至髒物件名單時,其所要 執行的序列步驟爲:(A)將名單頭段中的物件指引元拷 (請先閲讀背面之注$項再填寫本頁) •裝· 訂 1 4 本紙乐尺度適用中國國家標準(CNS ) Α4规格(210X297公釐) -13 - 317624 A7 B7 五、發明説明(11) 貝至新物件的下一個髒物件指引元欄位126中,(B) 將一個指引元儲存於名單頭段1 4 2中的新物件內。 (請先閱讀背面之注意事項再填寫本頁) 較佳實施例中所設定的另一組假設條件是,資料庫物 件係在有限轉帳的範圏內使用的,且每一筆轉帳皆有一個 定義良好的開頭,典型以一個「啓始轉帳」的指令加以定 義,以及一個定義良好的結尾,若轉帳的結果將以耐久的 方式儲存於資料庫中的話,典型以一個「施行轉帳」加以 定義,且若轉帳的結果將予剔除的話,典型以一個「放棄 轉帳」加以定義。此外,在執行每一次轉帳的期間,皆是 假定執行系統112將會要求對拷貝至主記憶體的所有資 料庫物件的讀取鎖定,並再必須要求對所有的資料庫物件 的寫入鎖定,其內容已經利用執行系統1 1 2而被修改過 〇 更特定而言,準備資料庫應用程式之原始碼的程式員 必須要在原始碼之中包括進去一個敘述,其等於
Invoke Database.StartTransaction 經濟部中央標準局負工消费合作社印裝 以便在每一筆轉帳開始時施行Database物件分類的 StartTransaction方法*同樣地,程式員亦必須要在原始 碼之中包括進去一個敘述*其等於
Invoke Database.EndTransaction 本纸诙尺度適用中國國家標準(CNS ) A4规格(210X297公釐) -14 - 經濟部中央標準局負工消费含作杜印¾ A7 __B7_. 五、發明説明(l2) 以便在每一筆成功完成的轉帳結束時施行Database物件分 類的EndTransaction方法,另並必須在原始碼中包括進去 —個敘述,其等於
Invoke Database.AbortTransaction 以便在每一筆未成功完成的轉帳開始時施行Database物件 分類的 AbortTransaction 方法。
StartTransaction * EndTransaction與 AbortTransaction等方法將在下面參考_圖4詳細說明· 由於執行系統操作的「定義良好之轉帳j的範園之故 ,在每一筆轉帳結束時,儲存於主記憶體中的物件組通常 會變無效,其最好是利用其PDD中的每一個物件之 0 I D虛化而變爲無效•此外,混雜表1 40被清除,且 除非正被執行的程式已產生出指向任何其他物件的額外指 引元,否則一個虛指引元便會被存入髒名單頭段1 4 2內 ,因而使主記億體中的物件準備好收集垃圾•不過,在一 次轉帳完成之後,一個逋當撰寫的程式不應將指向任何物 件的指引元保留在主記憶體中,因爲所有的此種物件皆應 被認爲是爲無效且不能使用· 通常*應要注意到儲存於主記憶體中的所有或大部份 的暫時性物件皆應由儲存於主記憶體中的持績性物件,不 論是直接或間接地予以參照*利用將主記憶體中所有的持 績性物件指定爲無效,並使所有此類持績性物件便爲無法 本紙张尺度適用中國國家標準(CNS ) A4規格(210X297公釐)_ 15 _ ---------^ -裝-- (請先閲讀背面之注意事項再填寫本頁) 訂
A 317624 A7 B7 五、發明説明(13) 獲得,主記憶體中的暫時性物件便通常亦會變爲無法取得 ,並因而可以進行垃圾的收集處理· 在另一實施例之中*諸如在不使用垃圾收集方式來刪 除無用的物件的系統之中,主記憶體中的物件是無法明顯 地予以刪除掉並的· 電算機系統組態 參考圖2,在一較佳實施例之中,採用本發明較佳實 施例的一電算機系統1 0 0,通常不是爲獨立的單機電算 機,便是一個電算網路中的一部客戶電算機1 5 0或伺服 器電算機1 5 2 ·爲了說明本發明之目的,假定本發明較 佳實施例係以一部客戶電算機1 5 0爲實例·客戶電算機 150包括有一中央處理單元(CPU) 160,一使用 者介面162,以及一通訊介面164 ’以便經由通訊網 路1 6 6而與其他電算機進行通訊· 包括有主記憶體1 0 2與持績性儲存器1 0 4兩者的 記憶體1 0 2/1 0 4之中儲存有: 經濟部中央樣準局員工消费合作社印聚 (請先聞讀背面之注意事項再填寫本頁) •—作業系統1 7 0 ; • 一網際網路通訊管理程式172; •—爪哇位元組程式碼程式驗證器1 7 4,可驗證一個 特定的程式是否符合某些預定的整體性檫準; • 一爪哇位元組程式碼程式解譯器1 7 6 ’可執行應用 程式: •—分類載入器1 7 8,可將物件分類載入於—名使用 本纸張尺度適用中园囷家標準(CNS)A4规格(2!0X297公釐)_ 1fi _ 經濟部中央樣準扃負工消费合作社印聚 A7 B7 五、發明说明(μ) 者的位址空間,並使用位元組程式碼程式驗證器來驗 證與每一被載入物件分類相關聯的方法之整體性: . 至少一分類貯存器1 8 0,可供局部地儲存正在使用 中的與/或由使用者的電算機1 0 2所使用的物件分 類 182,184,186; • 至少一物件貯存器1 9 0,可供儲存物件1 9 2, 1 9 4,其係爲儲存於物件貯存器1 8 2中的物件分 類之物件的情況; • 一物件混雜表1 4 0,可追蹤儲存於主記憶體之中對 應於儲存在一 DBMS資料庫1 1·〇/1 〇6中的物 件之物件: • 與一髒物件名單頭段1 4 2 · 另亦被儲存於記憶體1 0 2/1 0 4中的爲: . 一原始碼資料庫應用程式200; • 一爪哇程式編譯器202; • 編譯器2 0 2由原始碼程式2 0 0之中產生出來的一 初始經編譯過之程式204; • 較佳實施例之後處理器程序2 0 6 :與 • 由後處理器程序2 0 6所產生的一經修改的程式 2 0 8。 不過,應予瞭解的是,原始碼200,編譯器202 ,初始編譯程式204,與後處理器程序206,在經修 改的程式2 0 8執行的期間,通常並不儲存於主記憶體 1 0 2 內· 本紙汍尺度適用中國國家榡準(CNS ) A4規格(210X297公釐) ---------f -裝------訂------C 4 (請先W讀背面之注$項再填寫本頁} -17 - 經濟部中央標準局負工消费合作社印製 A7 ______B7 _ 五、發明説明(is) 在較佳實施例之中,作業系統1 7 0係爲一種物件導 、向多工作業系統,其可在毎一個界定好的位址空間之內支 援多線的執行的程式•此種作業系統更使用一镡垃圾收集 的程序來回復與釋放的資料結構相關聯的記憶空間·垃圾 收集的程序係於一種週期性的基礎上自動執行的*並亦在 可供應用的記憶空間低落到一個臨限值的程度時,即會自 動額外地執行· 參考圖3,較佳實施例的系統與方法可接受一個初始 的原始碼,爪哇語言資料庫應用程式2 0 0 ·此初始的原 始碼程式係以一種習知的爪哇編譯器2 0 2進行編譯的, 以便產生一個爪哇位元組程式碼程式2 0 4。不過,此爪 哇位元組程式碼程式並非爲一種真正可以工作的程式,因 爲其乃係基於其所使用的整個資料庫乃是被儲存於主記憶 體中的錯誤假設而撰寫的,而事實上資料庫則是儲存於持 績性儲存器之中。 資料庫應用程式2 0 4的初始的,經編譯過的位元組 程式碼程式版本,接著即由一個「後處理器」2 0 6予以 翻新,其係修改經編譯程式中的物件分類,並因而產生出 一個經修改的爪哇位元組程式碼程式2 0 8 »後處理器 2 0 6修改物件分類的物件資料構造,其將被應用來儲存 持績性儲存器物件的主記憶體之拷貝,以便致能管理物件 指引元所必要的額外資訊之儲存•並供追蹤必須要被儲存 於持縯性儲存器資料庫中的「髒」物件。後處理器2 0 6 亦利用加入額外的資訊,以便決定何時物件應由持續性儲 本紙悵尺度適用中國國家標準(CNS ) A4规格(210X297公釐) ---------1 -裝 II (請先閱讀背面之注^I-項再填寫本頁) 訂 4 _ 18 _ 317624 A7 ______B7 _ 五、發明説明(l6) 存器資料庫中被拷貝至主記憶體,若預計要進行目前的轉 帳時,追蹤主記憶體中那些物件包含有逐漸將必須要被寫 回資料庫內的新的或經過修改的資料,以及將具有新的或 經過修改資料的物件寫回資料庫內,而修改經過編譯程式 中物件分類的方法。 經修改的程式2 0 8所包括的方法可呼叫一或多個預 定物件分類1 8 2的方法,其將在後面詳細予以說明•不 過,通常經修改程式所使用的預定物件分類之方法,亦係 爲持續物件所使用,並供處理資料在資料庫1 0 6之間來 回移動的,持績資料描述元構造1 2 2 ·(見圖1 )工作所 需要的方法。 其結果的經修改位元組程式碼程式2 0 8之整體性, 係由位元組程式碼程式驗證器1 7 4:ώ以驗證,並再由位 元組程式碼程式解譯器176加以執行· 經濟部中央標準局貝工消费合作社印^ (請先聞讀背面之注^^項再填寫本頁) 參考圖4,較佳實施例之中有預定的物件分類,稱爲 Database物件分類,其中包含可與持績物件工作,並處理 在資料庫間來回移動資料的所有方法· Database物件分類 包含有兩個變數:1 )髒物件名單頭段1 4 2與2 )物件 混雜表140。包含於Databa se物件分類中的此些方法 局 · • -種Query (査詢)方法2 2 0,可供要求符合於使 用者或程式指定棟準的一或多個資料庫物件,並可在 主記憶體中產生該些物件的拷貝; • —種LoadData方法2 2 2,可由一指定資料庫之中將 本紙张尺度適用中國國家標準(CNS ) A4規格(210X297公釐) -19 - 經濟部中央標準局只工消费合作社印製 A7 B7 五、發明説明(Π) 物件載入主記憶體的一物件之中,並亦導致主記憶體 中該一物件之一個持績性資料描述元的產生; LoadData方法亦要求並獏得對應DBMS物件上的一 次讀取鎖定,並在混雜表中爲每一個載入於主記憶體 中的物件加入一項; • 一種MarkObject,作爲髒方法2 2 4,其可在主記憶 體中將指定的物件加入至髒物件名單中;MarkObject 方法亦要求並獲得對應D B M S物件上的一次寫入鎖 定; • 一種混雜功能方法2 2 6,其係由資料庫査詢方法 2 2 0與載入資料方法2 2 2用於在混雜表1 4 0中 搜尋一個物件之ID,以及決定到混雜表140內何 處去儲存新的項次; •—種StartTransact ion方法2 2 8,其係在一次轉帳 開始之時,用以初始化物件混雜表1 4 0與髒物件名 單頭段1 4 2,但只在轉帳開始之時尙未經初始化時 才如此進行: •—種EndTransaction方法2 3 0,當一次轉帳成功完 成(即施行完成)時即被呼叫,並被用以首先將髒物 件名單中的所有物件拷貝至資料庫1 〇 6內,並再重 新初始化物件混雜表1 4 0,以及髒物件名單頭段 14 2; • —種Abort Tran sac t ion.方法2 3 2,當一次榑帳未成 功結束(即放棄)時即被呼叫,並被用以重新初始 本紙决尺度適用中國國家標準(CNS ) A4规格(210X297公釐) ~ ' -ZU - ----I----^ -裝------订------ (請先閱讀背面之注$項再填寫本頁) 經濟部中央標準局貝工消费合作杜印策 A7 ______B7_ 五、發明説明(18) 化物件混雜表1 4 0,以及髒物件名單頭段1 4 2 ; 興 • 一種方法2 3 4,可初始化混雜表與賺物件名單,其 係被啓始,結'束與放棄轉帳方法228,230與 2 3 2所呼叫,以便將物件混雜表1 4 0與髒物件名 單頭段1 4 2予以初始化或重新初始化,並因而使所 有先前被儲存於主記憶體中的持績物件皆不能使用。
Query* StartTransaction* EndTransaction與 AbortTransaction方法係由程式員於撰寫資料庫程式時所 使用· Database 物件分類的 LoadData,MarkDirty 與 HashFunction方法則只由後處理器2 0 6所產生的經修改 程式中之指令所使用· 當Query方法2 2 0被呼叫,並造成由資料庫中回復 —或多個物件的結果時,所有被要求的物件便皆自動要求 一次讀取鎖定•此外,由資料庫Query方法2 2 0所送回 的所有物件皆在主記憶髖中被作爲持績物件加以展現,其 各具有一個持績資料描述元1 2 2。
StartTransaction方法2 2 8 ( A )若尙未被情除, 便先清除混雜表140與髒名單指引元142,與(B) 對D BMS送出一個「啓動轉帳」的命令,以便適當地將 DBMS的內部狀態初始化*
EndTransaction方法2 3 0係以下列方式工作•在一 次成功的轉帳結束之後,P物件名單中的所有物件皆需要 本纸张尺度適用中國國家標準(CNS ) A4規格(210X297公釐) ~ -ύΐ - ^ ·裝------訂------^ ^ (請先Η讀背面之注$項再填寫本頁) 經濟部中央標準局貝工消费合作社印裝 A7 ___B7_ 五、發明説明(l9) 被拷貝回到持續性儲存器之中。不過*在嫌物件被拷貝回 DBMS之前,由物件指引元所參照的,被拷貝至 D BMS的所有暫時性物件,皆必須被轉換成爲持嫌性的 物件,並加至將被拷貝至D BM S的髒物件之名單中•這 對於避免在D BM S之中出現未解決的指引元而言是爲必 要的•在較佳實施例之中,將髒物件名單中的所有物件拷 貝至持績性儲存器的EndTransaction方法,通過髒物件名 單執行兩次過程。第一次係被用來(A)找到髒物件名單 中的物件所參照的所有暫時性物件,(B)獏得所有該些 物件的資料庫0 I D,(C)將所有該些被參照的暫時性 物件轉換成爲持績性物件,與(D )將對該些物件的參照 加入至混雜表與髒物件名單中· 接著,在第二次通過時,髒物件名單中的每一個物件 皆被拷貝至DBMS中,在將物件送至DBMS之前,以 其對應的DBMS 0 ID在毎一個物件中取代掉局部物 件參照•接著,一個「進行轉帳」的指令即被送至 DBMS,其會造成先前在DBMS上所獲得的所有讀取 鎖定皆被釋放,而所有的DBMS物件皆改變,以便以耐 久性的方式儲存起來· 表1係爲Database.EndTransaction方法的一種假程 式碼表示· 本紙张尺度適用中园國家標準(CNS ) A4規格(210X 297公釐)_ 22 ---------------1T------f & (請先聞讀背面之注意事項再填寫本寊) 經濟部中央樣準局員工消费合作社印34 A7 B7 _ 五、發明説明(20) 表1
Database. EndTransaction方法之假程式碼表示 /* 第一次通過過程*/ 髒物件名單中的每一個物件 { 髒物件所參照的每一個暫時性物件 { 要求DBMS對此暫時性物件指派一個唯一的0ID 將暫時性物件的指定0ID儲存於提出參照的髒物件之 PDD中 爲暫時性物件產生一個PDD以將之轉換成爲一個持績 性物件
填入_件的PDD 在目前正被處理的髒物件之位置下方的一個位置上將 此物件加入至髒物件名單之中 } 髒物件中於髒物件的PDD中不具有一個對應0ID的每一個非虛物件 指引元 {
由其PDD中取得被參照物件的0ID 將參照物件的0ID儲存於提出參照髒物件的PDD中 /* 第二次通過過程 */ 將髒物件名單中的所有物件儲存於DBMS中,並在將物件送至 DBMS之前,在每一物件中以其對應的DBMS取代局部的物 件參照 送出一個「進行轉帳」的指令至DBMS,其會導致先前在DBMS上 所獲得的所有讀取鎖定皆被釋放,而所有的DBMS物件皆改 變*以便以耐久性的方式儲存起來· ^—-1 sn .^n n >1^— n (請先閱讀背面之注$項再填寫本頁) 訂
A 本紙浓尺度適用中國國家橾準(CNS ) A4規格(210X297公釐) 23 - 317624 A7 ______B7 _ 五、發明説明(21 )
AbortTransaction方法 2 3 2 ( A )清除混雜表 140與髒名單指引元142,與(B)對DBMS送出 —個「放棄轉帳」的指令,以便重置DBMS的內部狀態 後處理器程序 參考圖4與5,Database物件分類的資料構造與方法 係由後處理器的程式碼所用來插入至一個經過程式碼資料 庫使用程式內。較佳實施例之中後處理一個經過程式碼資 料庫應用程式的程序係如下列· _ 後處理程序利用在經過程式碼資料庫使用程式內修改 物件分類定義,並利用對程式的第一指令設定一個指引元 而開始(步驊250) · 經濟部中央標準局貝工消费合作社印製 (請先聞讀背面之注$項再填寫本頁) 經過程式碼資料庫使用程式的所有物件分類,其可以 被用來儲存由一資料庫或其他持績性儲存器拷貝出來的資 料者,係被修改來將一個指引元包含於一持績資料描述元 中·在本發明的某些實施例之中,後處理器會接收到所有 物件分類的一個名單,其物件可被用來儲存持績資料,在 此種情況下,只有該些物件分類被檢査並被修改,以便包 含一個持續性資料描述元•在其他的實施例中,假定初始 經過編譯的資料庫使用程式中的所有物件分類,皆可潛在 性地被用來儲存持績性資料,並因而*使所有的物件分類皆 被檢査,並被修改,以便包含一個持嫌性資料描述元指引 元。 本紙張^度適用中國國家標準(CNS ) A4规格(210X297公釐) T. 317624 A7 B7 五、發明説明(22) 接著•初始經過編譯資料庫使用程式的每一個敘述或 指令即被檢査(步驟254,258),以便決定該指令 是否爲數種需要特別處理的指令型式中之一·在下面的說 明之中*加至經過編譯資料庫使用程式的指令會以假程式 碼的型態而被寫入。此文件中所使用的假程式碼使用了通 用的電算機語言通則•雖然此地所使用的假程式碼只是爲 了此說明的目的而被發明出來的,但其設計是熟習於本技 藝的任何電算機程式員所可以容易瞭解的。 參照一物件之一物件指引元欄位的 「Getfield」指令之插入程式碼 若目前的指令(即,後處理器指引元所指向者)是爲 由一物件(稱爲爪哇位元組程式碼語言的一個「Getfield 」指令)(步驟2 5 4 )中讀取一物件指引元檷位的指令 ,則顯示於表2中的指令即被加入至程式之中(步驟 256)。爲了易於參考,表2中被加入的指令皆編有號 碼· ---------^ I裝-- (請先閲讀背面之注意事項再填寫本頁) 訂 經濟部中央標隼局只工消费合作社印掣 本紙汰尺度適用中國國家標準(CNS ) A4规格(210X297公釐) -25 - 917624 A7 B7 五、發明説明(23) 表2 「讀取物件指引元欄位」指令之後加入的程式碼 01 02 03 04 05 06 顯譯之程式碼,触理過後,看似: */ /木 將指向參照物件的治引元推至堆叠(stack) /* 將物件指的元指向資訊儲存所在的被 參照物件· Getfield F指令留下一個指引 元,其指向對畳頂上被參照的物件*/ 很式碼被麵理器插入•以便指令miwx的 物件指引元爲虛空者時,即執行待別處理> 經編中下Ή®指令實質上可能爲任何指令,諸 如: V Getfield G /* 由被參照物件的檷位G中取得資訊 */ /* 插入至程式內的程式碼係如下列,在上面的Getfield F指 若堆1頂的物ί铷弓丨元(·即’由「Getfield F」指令所麟^) 未爲虛空者 {Goto S1) 若馳參照的物件並不具^»性《^航 丟出虛指引元例外(其可能會執行) :自提出參照的物件;說縯性辭搬的物件取得資 爾件辨識元(0ID) HD爲虛空者 /* Push ptr
Getfield F /* /* 纖® ^嬲指引元’諸如在•名 (請先閲讀背面之注意事項再填寫本頁) 丨裝· 訂- 經濟部中央樣準局Η工消费合作社印製 07 08 09 10 11 12 12a 12b 12c 12d 12e 12f 0ID即爲虛空者· */ 否則 goto S1 fptr拷貝至馳參照的物件找當檷位之中 ptr = Database. LoadData (OID) /* Database. LoadData^^^frT^ii^^lK : 爲OID而由資料庫中嫌取物件 產趣初始化對應物的一騎的物件情況 爲織件產生一個持述元 將娥來的物件拷貝至新物件中,除了來自於被賸 入物件的01継貝件的持縯性贿 描述器 爲新的物件在中的纖 ptr =指向新物件的指引元 13 mvtTmm&zji 14 S1 : /* 經編譯程式的下個指令係跟隨著S1的標示 */ 本紙乐尺度適用中國國家標準(CNS ) Α4规格(210X297公釐) _ 26 _ 317624 經濟部中央標率局只工消费合作社印製 A7 B7 五、發明説明(24) 被加入之指令的一個說明係如下列。在此解說實例之 中,「提出參照之物件」係爲一物件,其包含有一個指向 另一個在此被稱爲「被參照之物件」的物件*此外,應要 瞭解的是,表1與2中被插入的「指令j是爲假程式碼指 令,而所加入的真實指令之數量與格式會隨著所使用的程 式語言而變· 被加入之指令0 1只簡單地測試被參照物件之物件指 引元是否爲虛空者。若物件指引元非爲虛空,則便執行跳 至(指令02)標籤S1的動作,而原始程式程式碼的執 行即繼績進行下去。如此,當主記憶體中已存在有一個被 參照的指令時,只有一個被加入的指令會被執行:依據一 個非虛空指引元測試的條件而執行的條件式跳脫· 若被參照物件的物件指引元係爲虛空者(指令0 1 ) ,則便使用其餘的指令(03至14) ·指令0 3檢査看 提出參照的物件是否具有一個持嫌性資料描述元•若否, 由於程式係嚐試要擷取一個可能並不存在的物件,因此其 可能是爲致命性的錯誤,故指令0 4便丟出一個虛空指引 元例外,其可造成一個例外處理器接管程式的控制· 假定提充參照的物件真具有一個持績性資料描述元, 指令0 4便不會執行,相反的,指令0 5會被執行,其包 含有來自提出參照之物件的持績性資料描述元的物件辨識 元(Ο I D )。 指令06決定〇ID是否是屬虛空*若是,即表示程 式很可能是在執行—個樹狀或名軍式的横向部份’並且亦 本紙决尺度適用中國國家標準(CNS ) A4规格(210X 297公釐)_ m In —ϋ n »l^i ϋ (請先Μ讀背面之注$項再填寫本頁) -訂 經濟部中央標準局負工消费合作社印焚 A7 _B7五、發明説明(25 ) 已經到達了 一個葉片節點*此時,指令0 7便利用執行跳 至S 1標籤的動作,而簡單地將控制轉回到原始程式的下 —個指令,在堆叠上留下一個虛空指引元· 接著,假定已經發現一個非虛空的Ο I D,指令0 8 便擷取混雜表,以便要求,若有的話,對應於Ο I D的物 件指引元。指令0 9檢査混雜表是否已經回送一個非虛空 的物件指引元•若是,便表示被參照物件已完全存在主記 憶體之中。在該種情況之下,指令1 0便將物件指引元拷 貝進入提出參照物件的適當欄位之中,指令1 8將物件指 引元推至對叠之上,接著控制即回轉到標籤S 1之處的原 始程式指令· 指令1 2係只在指令0 9判定被參照的物件不在主記 憶體中時才會執行•指令1 2係執行Database. LoadOb ject.方法,其a )由資料庫中績入被參照的物件 ,b )產生並初始化一個新而適當的物件c * c )爲新物 件產生一個持績性資料描述元* d )將娥入的物件之內容 靠拷貝進入新物件中,並將來自績入的物件之任何0 I D (即,資料庫中對其他物件的參照)儲存於新物件的持嫌 性資料描述元內,與e )爲新物件在混雜表內產生出一個 新記錄。指令1 4將新物件的物件指引元推至對叠之頂上 •之後,控制即會回轉給原始程式的指令· 總結而言,被加入的程式碼判定被參照的物件是否已 在主記憶體之中,若否,便由資料庫中餹入物件,並將》 入物件的資訊儲存於主記憶髗的一個新物件之中•只有當 本纸张尺度適用中國國家標準(CNS ) A4规格(210X297公釐) 請 先 閲 讀 背 面 之 注
I 裝 訂 奶624 A7 B7 五、發明説明(26) 程式找到可以插入的位置時,此程式碼才會被加入至原始 的經編譯過的程式中的程式位置內,而程式可能會(A ) 使用指向已在主記憶體中的一虛空物件指引元,或(B ) 使用指向尙未拷貝入主記億體中的一虛空物件指引元,而 嚐試讀取資訊· 「Putfield」指令之插入程式碼 若目前的指令(即,後處理器指引元所指向者)是爲 將資訊(稱爲爪哇位元組程式碼語言的一個「Putfield」 指令)(步驟2 5 8 )儲存於一物件中的指令,則顯示於 表3中的指令即被加入至程式之中(步驟2 6 0 ) •爲了 易於參考,表3中被加入的指令皆編有號碼· ---------^ I裝------訂------ (請先聞讀背面之注意Ϋ項再填寫本頁) 經濟部中央樣準局只工消费合作枉印¾ -29 - 本紙张尺度適用中园國家標準(CNS ) A4规格(210X297公釐) 五、發明説明(27) /* A7 B7 他指令
Push E /* */ 「備存資訊於物件f ^令之加入的程式碼 Source Code假定爲:"E.G = V",其中E爲一物件指引 元,G爲E之一檷位,且V爲被儸存的數值 */ 在進行過後處理之後,經編譚之程式碼即《似: V /* 將指向一物件的指引元推至對叠頂上 或者此可能爲可將物件指引元留在堆叠頂上的任何其 本/ 經濟部中央橾準局負工消费合作社印掣 <程式碼見後面,其係被後處理器在· Push V"指令之前被插 入於程式中,以將物件標示爲髒物件*若其尙未被標様 示爲嫌物件的話,並執行可以更新物件指引元檷位的指 令特別處理> Push V /* V爲數字,指引元或其他將備存於物件中 的數值V Putfield G /* 將賫訊儀存於物件的G禰位內 */ /* 在Push V指令之前將程式碼插入程式中之步R係如下 列: 31 */ 將物件指引元的另一個拷貝推置於對叠的頂端 32 PDD =指向物件的持績賫料描述元之指引元 33 If PDD1爲虛空 1 /* 物件爲一般的暂時性物件,因此不可能被標示 爲髒 */ 严〇 S2 35 LL = PDDl.LinkList /* LL 爲 PDDptr 持績資料描述元 中的連邊名單指引元之數值 36 If LL非爲虛空 { /* 物件已被標示爲_ */ 37 Goto S2 } /* 將物件欏示爲鉚,並要求寫入鎖定 */ 38 木/ 執行Database. MarkDirty /* 呼叫Database方法 /* MarkDirty方法亦要求由資料摩進行的一次WriteLock 40 S2: /* 下列的程式碼只在其被寫入的檷位爲一物件指引元 檷位時,才會被插入,在此種情況之下,被推置於 堆叠頂端的數值V係爲一物件指引元*/ 41 將卩推置於堆叠頂端 42 If V爲非虛空者 43 | PDD2 = V.PDD /* 指向物件的持縯資料描述元 之指引元 */ 44 If PDD2爲虚空者 */ */ ---------'—裝-- (請先閲讀背面之注意事項再填寫本頁) 訂 ί ά. 45 46 47 48 S3: /* /* Goto S3 */ 0ID1 = V物件之OID 將0ID1镛存於提出參照之物件的持纊性資料描述 元之適當檷位中(即,PDD1所指向者) } 原始經編譯程式中的Push V指令追隨S3標雄•或者 若S3與S3之間的程式两未被插入,便追隨S2標嫌 */ 本紙浓尺度適用中國國家標準(CNS ) Α4規格(210X297公釐) -30 - 經濟部中央樣準局β:工消费合作社印製 A7 ___B7__ 五、發明説明(28) 表2中插入的指令之說明係如後列。 指令3 1與3 2由一物件,其有時稱爲提出參照之物 件,之中取得持績資料描述元指引元之一個拷貝。指令 3 3檢査看該指引元是否爲虛空者*若是,即表示提出參 照的物件是爲一個暫時性物件,其不可能被檫示爲髒*在 此種情況下,插入程式碼的指令3 4即執行跳進至標籤 S 2 · 接著,指令3 5在提出參照之持績資料描述元中取得 連結名單指引元,而指令3 6則檢査看其是否爲虛空者。 一個非虛空的連結名單指引元表示該物件先前已被標示爲 髒,在此種情況之下,插入程式碼的指令3 7即執行跳進 至檫籤S 2。 若提出參照的物件具有一個持績資料的描述元,且先 前未被標示爲髒,指令3 8便執行資料庫物件分類的 MarkDirty方法,以將此物件檫示爲髒· MarkDirty方法包 括有對資料庫要求一次寫入鎖定的指令· 指令4 1至48只在其一個數值所將寫入的一檷位是 爲一個物件指引元檷位時,才會被加入至原始經編譯程式 之中•指令4 1與4 2決定所要儲存於提出參照的物件中 的數值V是否爲一虛空物件指引元•若所要儲存的數值V 是爲一個虛空物件指引元,則控制權便被傳送給跟在標籤 S 3之後的指令(即,原始經編譯過程式之” Push r指 令)因爲在提出參照的物件之持縯資料描述元之中並無 Ο I D · 本“尺度適用中國國家標準(CNS)A4祕(膽297公羞) _ ---------f -裝------訂------C魬 (請先閱讀背面之注$項再填寫本頁) «7624 A7 _____B7_ 五、發明説明(29 ) 若所要儲存的數值V並非是爲一個虛空物件指引元, 則指令4 3與4 4便決定數值V所指向的物件具有持績性 的資料的描述元•若否,在提出參照的物件(即,物件之 E )之PDD中便沒有需要儲存的Ο I D,之後控制權便 被傳送給跟在檩籤S 3之後的指令。否則,對應於數值V 的Ο I D即由指令46獲得,並由指令47儲存於被參照 物件的持績資料描述元的逋當櫊位內· 顯示於圓5中之程序的步驟2 6 2與2 5 2 *係在原 始經編譯程式的每一個指令皆執行過之後才執行的,若有 的話,將指向下一個程式指令的指引元推向前進,並判定 後處理程序何時可以完成。 應注意的是,由後處理器所產生出來的修改過程式, 在此較佳實施例之中,係爲一個有效的爪哇位元組程式碼 之程式*如此,當適當的時候,後處理器所產生出來的修 改過程式即可以進一步被編譯成爲其所要執行的電算機平 臺上之自然程式碼(native code) · 經濟部中央樣準局負工消费合作社印裝 (请先Μ讀背面之注意事項再填寫本頁) 其他型式的實施例 在另一種型式的實施例中,顯示於表1中程式碼,在 —物件中供讀取一物件指引元檷位的每一個取得檷位指令 之插入,利用應用一種聰明的「虛空物件指引元」的例外 處理器,在大部份的情況下皆可以避免掉*當執行系試園 執行一個指令,諸如取得檷位或放置檷位指令時,便會發 生一個虛空物件指引元的例外情況,這會需要有一個有效 本纸汝尺度適用中國國家標準(CNS ) Α4规格(210X297公釐) 32 經濟部中央標準局貞工消费合作社印製 A7 B7 五、發明説明(30) 的物件指引元被儲存於運算元堆叠(operand stack)之 上,但堆叠上之數值是爲一個虛空物件指引元者。 在此種其他型式的實施例之中,在圖5的後處理程序 之步驊2 5 0之中,後處理器將一虛空指引元例外處理器 加入至所被處理的經編譯過之資料庫應用程式上,並亦修 改程式之例外處理器,以便參照插入之虛空指引元例外處 理器•步驟2 5 6亦被修改,以使得顯示於表1中的指令 得以只在虛空指引元例外處理器在辨識將由其中獲得一個 虛空物件指引元檷位的,提出參照之物件,看似有問題時 ,才會被插入於程式中(步驟268)'。亦即,若使用一 個物件指引元的第一個指令,係離賭可由一第一物件中讀 出物件指引元的指令太逮的話,則例外處理器便可能無法 用於辨識該第一個物件•例如,考慮一個程式具有下列的 指令順序: P 1 =由Object 01的欄位F 2中讀出的
ObjectPointer <許多干涉的指令,可能包括跳離指令與其他讀取各 種物件檷位的指令> 將P1退罝於堆叠之上
Getfield F3 在上面的例子之中,若"get fie Id F3"指令造成了 —個虛空指引元例外,例外處理器便可能無法判定堆叠上 本紙张尺度適用中國國家標準(CNS ) A4規格(210X297公釐) I----111-¾ —裝 1 (請先聞讀背面之注$項再填寫本頁) 訂 -33 - A7 B7 317624 五、發明説明(31) 的虛空物件指引元是由物件〇1上所獲得的•在此種情況 之下,後處理器仍在讀取物件〇 1的物件指引元檷位的指 令之後,將顯示於表1中的指令插入· 在此種其他型式的實施例中,在大部份的情況之下, 當由一物件中讀出一個非虛空的物件指引元時,於執行的 期間並不會造成累綴,而在第一個較佳賁施例之中,每一 個此種取得欄位的指令則至少有一個額外的指令(會導致 程式跳離的一個非虛空測試指令)必須要予以執行》 如同前述,在程式執行的期間,當經修改的寳料庫使 用程式試圓利用一個虛空指引元來參照=個物件時,虛空 指引元例外處理器即被呼叫。經修改的資料庫使用程式, 只應在(A )當首先試圖執行一個"get fie Id”或” put fie Id”動作,以便存取一物件中尙未由資料庫中被帶 入主記億體內的資訊,或(B )其使用來自於一物件而先 前未被用來參照主記憶體中的一物件之一個物件指引元時 ,才應試圓參照具有一個虛空指引元的物件•虛空指引元 例外處理器係在後面參考圖6予以說明。 參考圖6,虛空指引元例外處理器係執行下列的步驟 A )決定那一個物件(提出參照的物件)包含有會造 成虛空指引元例外的虛空物件指引元(280): B )若提出參照的物件不具有一個持績資料描述元( 2 8 1),便再施行虛空指引元例外狀況(282),以 便造成下一個較高位階的例外處理器,若有的話,進行動 本紙乐尺度適用中國國家標準(CNS ) A4規格(210X297公釐) ---------^ I裝-- (請先閱讀背面之注$項再填寫本頁) 訂
A 經濟部中央標準局貝工消费合作社印製 -34 - 317624 A7 _ B7 _ 五、發明説明(32 ) 作; C)若提出參照的物件真具有一個持縯資料描述元( 281) *便由該物件的持績寳料描述元中取得對應的資 料庫物件ID (283); D )於混雜表內捜尋物件I D,看是否有該物件的一 個拷貝已存在於主記憶體之中(284); E )若該物件已存在於主記慷體之中(2 8 6,Y ) *便以主記憶體中指向該物件的物件指引元的一個拷貝來 取代虛空的指引元(由混雜表中拷貝出來),將物件指引 元推置於程式運算元堆叠的頂上,並接著將控制回轉到資 料庫使用程式,以便造成程式的重新執行,導致虛空指引 元的例外狀況(288): F)若物件並未出現於主記憶體中(286,N), 便進行〇3丈&匕886*1^(^(101)]6(^方法(2 8 9 ),_ G )接著將控制權回轉給資料庫使用程式,以使之重 新執行導致虛空指引元例外的指令( 2 9 9 )。 經濟部中央標準局負工消费合作杜印聚 (請先W讀背面之注意事項再填寫本頁)
Database· LoadObject方法*當執行時*係依下列方 式進行= Η)要求並獲得被物件ID所參照的物件之一個拷貝 :並要求且獲得在DBMS物件上的一次讀取鎖定( 2 9 0 ): I )產生對應於由DBMS所接收到的物件之物件分 類的一個新物件*並產生物件的一個持縯資料描述元( 2 9 2 ); 本纸汝尺度適用中國國家標準(CNS ) A4规格(210X297公羞)_抑_ ' A7 __B7_ 五、發明説明(33) J )除了新物件內的所有物件辨識元,爲了新的物件 皆被儲存於持續資料描述元內,且主記億體內之物件辨識 元皆以虛空物件指引元予以取代之外,將D BMS物件的 內容拷貝進入新物件內(294); K) 將包含有指向新物件的一個指引元與其寳料庫物 件辨識元的一個記錄加入至混雜表內(2 9 6 ):與 L) 將主記億體物件指引元的一個拷貝推置於程式運 算元堆叠指引元之頂上(29 8 ) · 雖然本發明已利用較佳實施例的方式而說明如上,但 此些說明文字僅係爲說明之性質,其並非用於限定本發明 之目的•在不偏離於本發明精神的情況之下,該些實施例 是可以作某些變動與修改的,其皆應包含於後列申請專利 範圔乙節之文字所界定的保護範圍之內。 --------f -裝------訂-----/線 (請先閲讀背面之注$項再填寫本頁) 經濟部中央標準局負工消费合作社印¾ 本纸汍尺度適用中國國家標準(CNS ) A4规格(210X 297公羡)_ 36 ^200 911624
Claims (1)
- 經濟部中央橾準局頁工消费合作社印装 A8 1 < B8 C8 D8 々、申請專利範圍 1 ·產生目檫導向電算機程式,以供擷取並更新持序 儲存的物件之一種方法,其步驟包含有: 接收一初始電算機程式,其包含有存取並更新儲存於 電算機之主記慷體中之物件的原始指令; 利用下列步驟自動翻新該初始電算機程式*以便產生 一個翻新的電算機程式: 於該翻新的電算機程式執行的期間加入物件載入 指令,當該些物件中之對應者第一次被存取時,將每一個 該些對應之物件由持嫌性儲存器之中載入該主記億體內: «rirf · 與 於該翻新的電算機程式執行的期間加入物件儲存 指令,以在預定事件發生時,將該些物件中之對應者儲存 於該電算機之主記愴髖內之持績性儲存器之中· 2·如申請專利範園第1項之方法, 該翻新步驟更包含有下列步驟: 於該翻新的m算機程式執行的期間加入p物件標 示指令,將可指出該電算機之主記億體內有那些物件包含 有新與/或更新資料的資料儲存起來; 其中該物件儲存指令將該電算機主記憶體內的該些物 件之中的包含有新與/或更新資料該些物件儲存於該持綾 的儲存之中。 3·如申請專利範國第1或2項之方法,其中 由該原始指令所存取並更新的該些物件包括有物件分 類之第一組中的物件,且由該原始指令所儲存於該持績性 I紙張尺度逍用中國國家揉準(CNS ) A4洗格(210X297公* ) ~ (請先Μ讀背面之注意Ϋ項再填寫本頁) _裝· 订· 317624 B8 C8 D8 六、申請專利範圍 儲存器之中的該些物件包括有作爲該第一組之次集的物件 分類之第二組中的物件; 該些原始指令包括有可界定與該第一組的物件類中之 該些物件相關的資料結構的物件資料結構定義指令; 該翻新步騄更包含有下列步蹂: 加入可翻新與該第二組物件分類相關的該些資料 結構的辅助物件定義指令,以^(能該第二組物件分類中的 該些物件•以便將該第二組物件分類中之該些物件所參考 的主記憶镰物件指引元與持績儲存物件辨識元儲存起來。 4 ·如申請専利範圍第3項之方法〜其中 由該物件載入指令所載入主記億體內的物件包括有由 該些被載入於主記憶體內的物件所參考的持績儲存之虛物 件指引元: 該翻新的步篇(包含有將該初始電算機程式翻新,以便 在該第二組物件分類中之一物件內的一虛物件指引元被存 取時,使該些物件載入指令得以被執行· 5 _如申請專利範圍第1項之方法,其中 經濟部中央標準局負工消费合作社印裝 (請先聞讀背面之注##-項再填寫本頁〕 被該原始指令所存取並更新的該些物件包含有一第一 物件分類中之物件,且由物件儲存指令所儲存於該持績性 儲存器之中的該些物件則包含有作爲第一組分類之次集的 一第二組物件分類中之物件; 該原始指令包含有物件資料結構定義指令,可定義與 該第一組物件分類之該些物件相關的資料結構; 該翻新步思更包含有下列步驟: 本紙張尺度埴用中國國家揲準(CNS > A4規格(210X297公釐) 經濟部中央標準局爲工消费合作社印裝 A8 B8 C8 D8 六、申請專利範圍 加入可翻新與該第二組物件分類相關的該些資料 結構的輔助物件定義指令,以致能該第二組物件分類中的 該些物件,以便將該第二組物件分類中之該些物件所參考 的主記億體物件指引元與持嫌儲存物件辨識元儲存起來· 6 · —種記憶體,其可儲存資料以供一資料處理系統 所執行的程式進行存取,該記憶體包含有= 一後處理器程序,可修改一初始電算機程式,其包含 有原始指令可存取並更新儲存於電算機的主記憶髖內之物 件; 該後處理器程序包含有可利用對該初始電算機程式加 入輔助指令而自動地翻新該初始電算機程式以便產生一個 經過翻新的《算機程式*該些輔助指令包含有: 物件載入指令,可於該翻新的電算機程式執行的 期間,當該些物件中之對應者第一次被存取時*將每一個 該些對應之物件由持績性儲存器之中載入該主記億體內; 與 物件儲存指令,可於該翻新的電算機程式執行的 期間,在預定事件發生時,將該些物件中之對應者儲存於 該電算機之主記憶體內之持績性儲存器之中。 7·如申請專利範圍第6項之記憶髏, 該些輔助指令包含有: 髒物件標示指令,可於該翻新的電算機程式執行 的期間,將可指出該電算機之主記億體內有那些物件包含 有新與/或更新資料的資料儲存起來: 本紙張尺度逍用中國國家揉準(CNS ) A4規格(210X297公釐) ~ -39 - --------f 表-- {請先《讀背面之注意事項再填寫本買) 訂 1 s A8 B8 C8 D8 六、申請專利範圍 其中該物件儲存指令將該電算機主記憶體內的該些物 件之中的包含有新與/或更新資料該些物件儲存於該持縝 的儲存之中· 8 ·如申請專利範_第6或7項之記憶體,其中 由該原始指令所存取並更新的該些物件包括有物件分 類之第一組中的物件,且由該原始指令所儲存於該持績性 儲存器之中的該些物件包括有作爲該第一組之次集的物件 分類之第二組中的物件; 該些原始指令包括有可界定與該第一組的物件類中之 該些物件相關的資料結構的物件資料結構定義指令; 該些輔助指令更包含有: 輔助物件定義指令,可翻新與該第二組物件分類 相關的該些資料結構,以致能該第二組物件分類中的該些 物件,以便將該第二組物件分類中之該些物件所_考的主 記憶體物件指引元與持縯儲存物件辨識元儲存起來· 9 ·如申請專利範園第8項之記憶體,其中 由該物件載入指令所載入主記億體內的物件包括有由 該些被載入於主記憶體內的物件所參考的持績性儲存器之 虛物件指引元; 該後處理器程序翻新該初始電算機程式,以便在該第 二組物件分類中之一物件內的一虛物件指引元被存取時* 使該些物件載入指令得以被執行· 1 0 ·如申請專利範豳第6項之記億髏,其中 被該原始指令所存取並更新的該些物件包含有一第一 本紙張尺度適用中國國家標準(CNS } A4规格(210X297公釐) --------·装— (請先閲讀背面之注意事項再4寫本頁) 订 經濟部中央揉準局貞工消费合作社印裝 -40 - ?88 D8 々、申請專利範園 物件分類中之物件,且由物件儲存指令所儲存於該持縯性 儲存器之中的該些物件則包含有作爲第一組分類之次集的 一第二組物件分類中之物件; 該原始指令包含有物件資料結構定義指令,可定義與 該第一組物件分類之該些物件相關的資料結構: 該些輔助指令更包含有: 輔助物件定義指令,可翻新與該第二組物件分類 相關的該些資料結構,以致能該第二組物件分類中的該些 物件,以便將該第二組物件分類中之該些物件所參考的主 記憶體物件指引元與持績儲存物件辨識元儲存起來。 1 1 ·—種電算機系統,其包含有: 記億體,包括有一主記慷體,可供儲存物件; 該記憶體更可儲存一初始m算機程式,一經翻新之電 算機程式,與可供修改一初始電算機程式的一後處理程序 ,其包含有原始指令可存取並更新儲存於電算機的主記憶 體內之物件: 經济部中央梯準局另工消费合作社印製 (請先閱讀背面之注$項再填寫本頁) 該後處理器程序包含有可利用對該初始電算機程式加 入輔助指令而自動地翻新該初始電算機程式以便產生一個 經過翻新的電算機程式*該些輔助指令包含有: 物件載入指令,可於該翻新的電算機程式執行的 期間,當該些物件中之對應者第一次被存取時,將每一個 該些對應之物件由持績性儲存器之中載入該主記慷體內; 與 物件儲存指令,可於該翻新的電算機程式執行的 本紙張尺度逍用中國國家標準(CNS ) A4規《格(210X297公釐} -41 - 317624 六、申請專利範圍 期間,在預定事件發生時,將該些物件中之對應者儲存於 該電算機之主記憶髏內之持績性儲存器之中· 12·如申請專利範国第11項之電算機系統, 該些輔助指令包含有: 髒物件槺示指令,可於該翻新的電算機程式執行 的期間,將可指出該電算機之主記憶體內有那些物件包含 有新與/或更新資料的資料傭存起來: 其中該物件儲存指令將該電算機主記億體內的該些物 件之中的包含有新與/或更新資料該些物件儲存於該持績 的儲存之中· · 13·如申請專利範困第11或12項之電算機系統 ,其中 由該原始指令所存取並更新的該些物件包括有物件分 類之第一組中的物件,且由該原始指令所儲存於該持績性 儲存器之中的該些物件包括有作爲該第一組之次集的物件 分類之第二組中的物件: 經濟部中央標準局負工消費合作社印製 (請先閲讀背面之注項再填寫本頁) 該些原始指令包括有可界定與該第一組的物件類中之 該些物件相關的資料結構的物件資料結構定義指令; 該些輔助指令更包含有: 輔助物件定義指令,可翻新與該第二組物件分類 相關的該些資料結携,以致能該第二組物件分類中的該些 物件,以便將該第二組物件分類中之該些物件所參考的主 記憶體物件指引元與持績儲存物件辨識元儲存起來。 1 4 ·如申請專利範圍第1 3項之電算機系統,其中 本紙張尺度通用中國國家梂率(CNS ) A4規格(210X297公釐) -42 -
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US08/599,055 US6128771A (en) | 1996-02-09 | 1996-02-09 | System and method for automatically modifying database access methods to insert database object handling instructions |
Publications (1)
Publication Number | Publication Date |
---|---|
TW317624B true TW317624B (zh) | 1997-10-11 |
Family
ID=24398014
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW086103931A TW317624B (zh) | 1996-02-09 | 1997-03-27 |
Country Status (8)
Country | Link |
---|---|
US (2) | US6128771A (zh) |
EP (1) | EP0789300B1 (zh) |
JP (2) | JPH1063561A (zh) |
KR (1) | KR100472807B1 (zh) |
CN (1) | CN1146786C (zh) |
DE (1) | DE69724855D1 (zh) |
SG (1) | SG75111A1 (zh) |
TW (1) | TW317624B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8706708B2 (en) | 2002-06-06 | 2014-04-22 | Microsoft Corporation | Providing contextually sensitive tools and help content in computer-generated documents |
Families Citing this family (72)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5911071A (en) * | 1996-09-13 | 1999-06-08 | Sun Microsystems, Inc. | Persistent programming system and method for deploying self-containing executable applications |
US5930794A (en) * | 1996-10-18 | 1999-07-27 | Sagent Technologies, Inc. | Database repository with deferred transactions |
KR100512157B1 (ko) * | 1997-09-04 | 2005-11-01 | 삼성전자주식회사 | 오오피 기반의 마이크로컨트롤러 응용 개발 시스템 |
US6360363B1 (en) * | 1997-12-31 | 2002-03-19 | Eternal Systems, Inc. | Live upgrade process for object-oriented programs |
US6714935B1 (en) * | 1998-09-21 | 2004-03-30 | Microsoft Corporation | Management of non-persistent data in a persistent database |
US7464383B1 (en) * | 1999-04-16 | 2008-12-09 | Adobe Systems Incorporated | Dynamic dependency graph in MVC paradigm |
US6490616B1 (en) | 1999-06-14 | 2002-12-03 | Wind River International, Ltd. | Method and apparatus for incremental download from server to client |
WO2000077613A2 (en) * | 1999-06-14 | 2000-12-21 | Wind River International Inc. | Method and system for managing and using persistent storage |
US6857015B1 (en) | 1999-06-14 | 2005-02-15 | Wind River International, Ltd. | Method and system for remotely observing and controlling objects |
JP3756352B2 (ja) * | 1999-06-29 | 2006-03-15 | 富士通株式会社 | コンパイラ装置およびコンパイラを記録したコンピュータ読み取り可能な記録媒体 |
KR100689368B1 (ko) * | 1999-12-29 | 2007-03-08 | 삼성전자주식회사 | 개인용 컴퓨터에서 데이터 베이스 접속 방법 |
US6658660B1 (en) * | 1999-12-31 | 2003-12-02 | Nortel Networks Limited | System and method of automatically modifying source code for marshaling, unmarshaling and marking modified data objects |
US7389493B1 (en) | 2000-05-12 | 2008-06-17 | Oracle International Corporation | Categories on a per instance basis |
US7725878B1 (en) * | 2000-05-12 | 2010-05-25 | Oracle International Corporation | Property bundles on a per instance basis |
US7987217B2 (en) * | 2000-05-12 | 2011-07-26 | Oracle International Corporation | Transaction-aware caching for document metadata |
US7185005B1 (en) | 2000-05-12 | 2007-02-27 | Oracle International Corporation | Nested transactions in a file system |
US6772320B1 (en) * | 2000-11-17 | 2004-08-03 | Intel Corporation | Method and computer program for data conversion in a heterogeneous communications network |
US7434156B1 (en) | 2000-11-27 | 2008-10-07 | Sun Microsystems, Inc. | Method, system, program, and computer readable medium for providing a database for object oriented objects |
KR100426620B1 (ko) * | 2000-12-26 | 2004-04-13 | 한국전자통신연구원 | 주기억장치 상주 객체관계형 dbms 에서의 클래스 인스턴스 변경 방법 |
US6931638B2 (en) * | 2001-03-15 | 2005-08-16 | Sun Microsystems, Inc | Method and apparatus to facilitate sharing optimized instruction code in a multitasking virtual machine |
US7370322B1 (en) * | 2001-04-11 | 2008-05-06 | Sun Microsystems, Inc. | Method and apparatus for performing online application upgrades in a java platform |
US6772172B2 (en) | 2001-04-27 | 2004-08-03 | Sun Microsystems, Inc. | Method, system, program, and computer readable medium for indexing object oriented objects in an object oriented database |
US7069540B1 (en) * | 2001-07-02 | 2006-06-27 | Unisys Corporation | COM persistence model |
US20030018909A1 (en) * | 2001-07-17 | 2003-01-23 | International Business Machines Corporation | Method and apparatus for enforcing security policies in Java applications |
US6857119B1 (en) * | 2001-09-25 | 2005-02-15 | Oracle International Corporation | Techniques for modifying a compiled application |
US6763347B1 (en) * | 2001-10-19 | 2004-07-13 | Nick Zhang | Indexing management for hierarchical main memory |
US7020641B2 (en) * | 2001-10-22 | 2006-03-28 | Sun Microsystems, Inc. | Method, system, and program for maintaining a database of data objects |
US20030122966A1 (en) * | 2001-12-06 | 2003-07-03 | Digeo, Inc. | System and method for meta data distribution to customize media content playback |
US7320137B1 (en) | 2001-12-06 | 2008-01-15 | Digeo, Inc. | Method and system for distributing personalized editions of media programs using bookmarks |
US7016913B2 (en) | 2002-03-20 | 2006-03-21 | Sun Microsystems, Inc. | Method, system, data structures, and article of manufacture for implementing a persistent object |
US20070088655A1 (en) * | 2002-06-27 | 2007-04-19 | Peter Seilern | Method for the electronic processing of share transactions |
US7096463B2 (en) * | 2002-11-20 | 2006-08-22 | Hewlett-Packard Development Company, Lp. | System and apparatus for dynamically upgrading concentrated executable computer software code |
US7093245B2 (en) * | 2002-11-20 | 2006-08-15 | Hewlett-Packard Development Company, L.P. | System and apparatus for upgrading concentrated executable computer software code without reconcentration |
US7113953B2 (en) * | 2003-06-30 | 2006-09-26 | International Business Machines Corporation | System and method for efficiently writing data from an in-memory database to a disk database |
US20050044523A1 (en) * | 2003-08-20 | 2005-02-24 | International Business Machines Corporation | Method and system for compiling Java code with referenced classes in a workspace environment |
US20050203903A1 (en) * | 2004-03-10 | 2005-09-15 | Rajan Rajeev B. | System and method for locking and isolation in a storage platform |
US20060085473A1 (en) * | 2004-10-14 | 2006-04-20 | Frederik Thormaehlen | Method and system for business process super-transaction |
US7665077B2 (en) * | 2004-10-18 | 2010-02-16 | Microsoft Corporation | System and method for sharing objects between applications in a virtual runtime environment |
US9111368B1 (en) * | 2004-11-15 | 2015-08-18 | Nvidia Corporation | Pipelined L2 cache for memory transfers for a video processor |
US20060242188A1 (en) * | 2005-04-22 | 2006-10-26 | Igor Tsyganskiy | Methods of exposing a missing collection of application elements as deprecated |
US20060242174A1 (en) * | 2005-04-22 | 2006-10-26 | Igor Tsyganskiy | Systems and methods for using object-oriented tools to debug business applications |
US7958486B2 (en) * | 2005-04-22 | 2011-06-07 | Sap Ag | Methods and systems for data-focused debugging and tracing capabilities |
US7702638B2 (en) * | 2005-04-22 | 2010-04-20 | Sap Ag | Systems and methods for off-line modeling a business application |
US20060242194A1 (en) * | 2005-04-22 | 2006-10-26 | Igor Tsyganskiy | Systems and methods for modeling and manipulating a table-driven business application in an object-oriented environment |
US20060242176A1 (en) * | 2005-04-22 | 2006-10-26 | Igor Tsyganskiy | Methods of exposing business configuration dependencies |
US7542980B2 (en) | 2005-04-22 | 2009-06-02 | Sap Ag | Methods of comparing and merging business process configurations |
US20060293940A1 (en) * | 2005-04-22 | 2006-12-28 | Igor Tsyganskiy | Methods and systems for applying intelligent filters and identifying life cycle events for data elements during business application debugging |
US20060242172A1 (en) * | 2005-04-22 | 2006-10-26 | Igor Tsyganskiy | Systems and methods for transforming logic entities of a business application into an object-oriented model |
US20060242171A1 (en) * | 2005-04-22 | 2006-10-26 | Igor Tsyganskiy | Methods of using code-based case tools to verify application layer configurations |
US7720879B2 (en) * | 2005-04-22 | 2010-05-18 | Sap Ag | Methods of using an integrated development environment to configure business applications |
US8539003B2 (en) * | 2005-04-22 | 2013-09-17 | Sap Ag | Systems and methods for identifying problems of a business application in a customer support system |
US20060293935A1 (en) * | 2005-04-22 | 2006-12-28 | Igor Tsyganskiy | Methods and systems for incrementally exposing business application errors using an integrated display |
US20060242177A1 (en) * | 2005-04-22 | 2006-10-26 | Igor Tsyganskiy | Methods of exposing business application runtime exceptions at design time |
US20060282458A1 (en) * | 2005-04-22 | 2006-12-14 | Igor Tsyganskiy | Methods and systems for merging business process configurations |
US20060241961A1 (en) * | 2005-04-22 | 2006-10-26 | Igor Tsyganskiy | Methods of optimizing legacy application layer control structure using refactoring |
US20060242196A1 (en) * | 2005-04-22 | 2006-10-26 | Igor Tsyganskiy | Methods of exposing application layer integrity as object oriented programming language elements |
US20060242197A1 (en) * | 2005-04-22 | 2006-10-26 | Igor Tsyganskiy | Methods of transforming application layer structure as objects |
US20060241999A1 (en) * | 2005-04-22 | 2006-10-26 | Igor Tsyganskiy | Methods of exposing a sequence of instructions into an object-oriented programming language |
KR100772455B1 (ko) * | 2005-06-22 | 2007-11-01 | 한국전자통신연구원 | Dac 강화를 위한 프로세스 분류/실행 제어 장치 및 방법 |
US7487178B2 (en) * | 2005-10-05 | 2009-02-03 | International Business Machines Corporation | System and method for providing an object to support data structures in worm storage |
US20100122073A1 (en) * | 2008-11-10 | 2010-05-13 | Ravi Narayanaswamy | Handling exceptions in software transactional memory systems |
US9020905B2 (en) * | 2009-10-31 | 2015-04-28 | International Business Machines Corporation | Synchronizing database and non-database resources without a commit coordinator |
JP4959781B2 (ja) * | 2009-12-22 | 2012-06-27 | インターナショナル・ビジネス・マシーンズ・コーポレーション | オブジェクト生成地点記録方法およびプログラム |
US8756193B2 (en) | 2011-10-31 | 2014-06-17 | Apple Inc. | System and method for persisting object pointers |
US10509725B2 (en) | 2013-03-08 | 2019-12-17 | Oracle International Corporation | Flushing by copying entries in a non-coherent cache to main memory |
EP2972829A1 (en) * | 2013-03-14 | 2016-01-20 | Apperian, Inc. | Modification of compiled applications and application management using retrievable policies |
US10754842B2 (en) * | 2014-06-13 | 2020-08-25 | International Business Machines Corporation | Preplaying transactions that mix hot and cold data |
US9934008B2 (en) * | 2014-06-18 | 2018-04-03 | Netapp, Inc. | Methods for facilitating persistent storage of in-memory databases and devices thereof |
US10698671B2 (en) | 2015-03-30 | 2020-06-30 | Arxan Technologies, Inc. | Processing, modification, distribution of custom software installation packages |
US11424931B2 (en) | 2016-01-27 | 2022-08-23 | Blackberry Limited | Trusted execution environment |
US10599409B2 (en) | 2016-02-02 | 2020-03-24 | Blackberry Limited | Application lifecycle operation queueing |
US11514186B2 (en) * | 2021-04-14 | 2022-11-29 | Sap Se | Integrated database user privilege management |
Family Cites Families (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6437621A (en) * | 1987-07-20 | 1989-02-08 | Ibm | Updating of program |
US5325531A (en) * | 1989-06-30 | 1994-06-28 | Digital Equipment Corporation | Compiler using clean lines table with entries indicating unchanged text lines for incrementally compiling only changed source text lines |
JPH0833862B2 (ja) * | 1989-10-23 | 1996-03-29 | インターナシヨナル・ビジネス・マシーンズ・コーポレーシヨン | オブジエクト指向コンピユータ・システム |
US5297279A (en) * | 1990-05-30 | 1994-03-22 | Texas Instruments Incorporated | System and method for database management supporting object-oriented programming |
JPH04160893A (ja) * | 1990-10-25 | 1992-06-04 | Oki Electric Ind Co Ltd | オブジェクト指向ソフトウェアの局データ・加入者データ管理方法 |
US5295256A (en) * | 1990-12-14 | 1994-03-15 | Racal-Datacom, Inc. | Automatic storage of persistent objects in a relational schema |
US5426747A (en) | 1991-03-22 | 1995-06-20 | Object Design, Inc. | Method and apparatus for virtual memory mapping and transaction management in an object-oriented database system |
US5193180A (en) * | 1991-06-21 | 1993-03-09 | Pure Software Inc. | System for modifying relocatable object code files to monitor accesses to dynamically allocated memory |
US5822590A (en) * | 1991-10-31 | 1998-10-13 | Texas Instruments Incorporated | dbX: a persistent programming language model |
US5568642A (en) * | 1991-12-26 | 1996-10-22 | Institute Of Software Scientifical Constructions | Computer system with easy programming architecture and programming method therefor |
US5535392A (en) * | 1992-06-26 | 1996-07-09 | Digital Equipment Corporation | Using hint generation to cause portions of object files to remain the same |
JPH06103075A (ja) * | 1992-07-06 | 1994-04-15 | Internatl Business Mach Corp <Ibm> | オブジェクト指向適用業務 |
US5404525A (en) * | 1992-09-30 | 1995-04-04 | International Business Machines Corporation | Efficient method router that supports multiple simultaneous object versions |
US5359730A (en) * | 1992-12-04 | 1994-10-25 | International Business Machines Corporation | Method of operating a data processing system having a dynamic software update facility |
US5634123A (en) * | 1993-07-08 | 1997-05-27 | Park City Group, Inc. | Data management using nested records and code points |
WO1995003586A1 (en) | 1993-07-21 | 1995-02-02 | Persistence Software, Inc. | Method and apparatus for generation of code for mapping relational data to objects |
WO1995004960A2 (en) | 1993-08-02 | 1995-02-16 | Persistence Software, Inc. | Method and apparatus for managing relational data in an object cache |
JP3910221B2 (ja) * | 1993-12-28 | 2007-04-25 | 株式会社日立製作所 | オブジェクト指向データベース管理システム及び方法 |
US5590269A (en) * | 1994-04-22 | 1996-12-31 | Minnesota Mining & Manufacturing Company | Resource assignment system providing mixed-initiative user interface updates |
US5522077A (en) | 1994-05-19 | 1996-05-28 | Ontos, Inc. | Object oriented network system for allocating ranges of globally unique object identifiers from a server process to client processes which release unused identifiers |
US5542078A (en) | 1994-09-29 | 1996-07-30 | Ontos, Inc. | Object oriented data store integration environment for integration of object oriented databases and non-object oriented data facilities |
US5864864A (en) * | 1995-09-27 | 1999-01-26 | Sun Microsystems, Inc. | Method and apparatus for providing transparent persistent data support to foreign data types |
US6134710A (en) * | 1998-06-26 | 2000-10-17 | International Business Machines Corp. | Adaptive method and system to minimize the effect of long cache misses |
-
1996
- 1996-02-09 US US08/599,055 patent/US6128771A/en not_active Expired - Fee Related
-
1997
- 1997-01-30 SG SG1997000199A patent/SG75111A1/en unknown
- 1997-02-03 EP EP97300667A patent/EP0789300B1/en not_active Expired - Lifetime
- 1997-02-03 DE DE69724855T patent/DE69724855D1/de not_active Expired - Lifetime
- 1997-02-05 CN CNB971010803A patent/CN1146786C/zh not_active Expired - Fee Related
- 1997-02-06 KR KR1019970003651A patent/KR100472807B1/ko not_active IP Right Cessation
- 1997-02-07 JP JP9025450A patent/JPH1063561A/ja active Pending
- 1997-03-27 TW TW086103931A patent/TW317624B/zh active
-
2000
- 2000-07-27 US US09/627,413 patent/US6915510B1/en not_active Expired - Fee Related
-
2008
- 2008-06-06 JP JP2008149726A patent/JP2008262585A/ja active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8706708B2 (en) | 2002-06-06 | 2014-04-22 | Microsoft Corporation | Providing contextually sensitive tools and help content in computer-generated documents |
Also Published As
Publication number | Publication date |
---|---|
SG75111A1 (en) | 2000-12-19 |
DE69724855D1 (de) | 2003-10-23 |
KR100472807B1 (ko) | 2005-05-16 |
CN1161505A (zh) | 1997-10-08 |
EP0789300A2 (en) | 1997-08-13 |
US6128771A (en) | 2000-10-03 |
EP0789300B1 (en) | 2003-09-17 |
JPH1063561A (ja) | 1998-03-06 |
EP0789300A3 (en) | 2001-04-11 |
JP2008262585A (ja) | 2008-10-30 |
CN1146786C (zh) | 2004-04-21 |
US6915510B1 (en) | 2005-07-05 |
KR970062897A (ko) | 1997-09-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TW317624B (zh) | ||
Weihl et al. | Implementation of resilient, atomic data types | |
TW400494B (en) | Determining how changes to underlying data affect cached objects | |
US8688628B2 (en) | Nested queued transaction manager | |
Detlefs et al. | Inheritance of synchronization and recovery properties in Avalon/C++ | |
EP1910929B1 (en) | Direct-update software transactional memory | |
US7467163B1 (en) | System and method to manipulate large objects on enterprise server data management system | |
US7895401B2 (en) | Software transactional memory for dynamically sizable shared data structures | |
JP2863805B2 (ja) | 版数管理方式 | |
KR100541174B1 (ko) | 로컬화된 메모리 재이용을 가진 데이터 처리기 | |
US20090222691A1 (en) | Data Migration Manager | |
EP0817026A2 (en) | Method and apparatus for storing persistent objects on a distributed object network | |
US20070118547A1 (en) | Efficient index versioning in multi-version databases | |
Lieuwen et al. | The Ode active database: Trigger semantics and implementation | |
JPH08286969A (ja) | メモリ管理方法およびオブジェクト管理方法 | |
Merrifield et al. | Conversion: Multi-version concurrency control for main memory segments | |
US6401100B1 (en) | Method for associating classes contained in the same or different models | |
Connor | Types and polymorphism in persistent programming systems | |
Dias et al. | Clustered serialization with fuel | |
Straw et al. | Object management in a persistent Smalltalk system | |
US20080168306A1 (en) | Method, apparatus and software for providing recovery data for program code | |
US7818301B2 (en) | Method, system and article of manufacture for rolling back past a boundary generator to a savepoint located in a unit of work | |
US20060218174A1 (en) | Method for coordinating schema and data access objects | |
Levy | Modularity and the sequential file update problem | |
JPH10232809A (ja) | トランザクション処理システム |