TW317624B - - Google Patents

Download PDF

Info

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
Application number
TW086103931A
Other languages
English (en)
Original Assignee
Sun Microsystems Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sun Microsystems Inc filed Critical Sun Microsystems Inc
Application granted granted Critical
Publication of TW317624B publication Critical patent/TW317624B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/448Execution paradigms, e.g. implementations of programming paradigms
    • G06F9/4488Object-oriented
    • G06F9/4493Object persistence
    • YGENERAL 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
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing

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)

  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 -
TW086103931A 1996-02-09 1997-03-27 TW317624B (zh)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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
WO2000077613A2 (en) * 1999-06-14 2000-12-21 Wind River International Inc. Method and system for managing and using persistent storage
US6490616B1 (en) 1999-06-14 2002-12-03 Wind River International, Ltd. Method and apparatus for incremental download from server to client
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
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
US7096463B2 (en) * 2002-11-20 2006-08-22 Hewlett-Packard Development Company, Lp. System and apparatus for dynamically upgrading concentrated executable computer software code
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
US7542980B2 (en) 2005-04-22 2009-06-02 Sap Ag Methods of comparing and merging business process configurations
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
US20060242176A1 (en) * 2005-04-22 2006-10-26 Igor Tsyganskiy Methods of exposing business configuration dependencies
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
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
US20060242177A1 (en) * 2005-04-22 2006-10-26 Igor Tsyganskiy Methods of exposing business application runtime exceptions at design time
US20060242174A1 (en) * 2005-04-22 2006-10-26 Igor Tsyganskiy Systems and methods for using object-oriented tools to debug business applications
US20060293935A1 (en) * 2005-04-22 2006-12-28 Igor Tsyganskiy Methods and systems for incrementally exposing business application errors using an integrated display
US20060242197A1 (en) * 2005-04-22 2006-10-26 Igor Tsyganskiy Methods of transforming application layer structure as objects
US7702638B2 (en) * 2005-04-22 2010-04-20 Sap Ag Systems and methods for off-line modeling a business application
US20060241961A1 (en) * 2005-04-22 2006-10-26 Igor Tsyganskiy Methods of optimizing legacy application layer control structure using refactoring
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
US20060241999A1 (en) * 2005-04-22 2006-10-26 Igor Tsyganskiy Methods of exposing a sequence of instructions into an object-oriented programming language
US20060242188A1 (en) * 2005-04-22 2006-10-26 Igor Tsyganskiy Methods of exposing a missing collection of application elements as deprecated
US7958486B2 (en) * 2005-04-22 2011-06-07 Sap Ag Methods and systems for data-focused debugging and tracing capabilities
US20060282458A1 (en) * 2005-04-22 2006-12-14 Igor Tsyganskiy Methods and systems for merging business process configurations
US20060242196A1 (en) * 2005-04-22 2006-10-26 Igor Tsyganskiy Methods of exposing application layer integrity as object oriented programming language elements
US7720879B2 (en) * 2005-04-22 2010-05-18 Sap Ag Methods of using an integrated development environment to configure business applications
US20060242171A1 (en) * 2005-04-22 2006-10-26 Igor Tsyganskiy Methods of using code-based case tools to verify application layer configurations
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
WO2014159883A1 (en) * 2013-03-14 2014-10-02 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)

* Cited by examiner, † Cited by third party
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

Cited By (1)

* Cited by examiner, † Cited by third party
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
CN1161505A (zh) 1997-10-08
EP0789300A3 (en) 2001-04-11
CN1146786C (zh) 2004-04-21
US6915510B1 (en) 2005-07-05
JPH1063561A (ja) 1998-03-06
KR970062897A (ko) 1997-09-12
JP2008262585A (ja) 2008-10-30
KR100472807B1 (ko) 2005-05-16
US6128771A (en) 2000-10-03
EP0789300B1 (en) 2003-09-17
EP0789300A2 (en) 1997-08-13
DE69724855D1 (de) 2003-10-23
SG75111A1 (en) 2000-12-19

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
Olson et al. Berkeley DB.
EP1910929B1 (en) Direct-update software transactional memory
US7895401B2 (en) Software transactional memory for dynamically sizable shared data structures
US7467163B1 (en) System and method to manipulate large objects on enterprise server data management system
JP2863805B2 (ja) 版数管理方式
KR100541174B1 (ko) 로컬화된 메모리 재이용을 가진 데이터 처리기
EP0817026A2 (en) Method and apparatus for storing persistent objects on a distributed object network
US20070118547A1 (en) Efficient index versioning in multi-version databases
Merrifield et al. Conversion: Multi-version concurrency control for main memory segments
Khyzha et al. Proving linearizability using partial orders
US6401100B1 (en) Method for associating classes contained in the same or different models
Dias et al. Clustered serialization with fuel
TW304250B (en) Information handling system, method, and article of manufacture including object name services with multilevel indices
US20060218174A1 (en) Method for coordinating schema and data access objects
Straw et al. Object management in a persistent Smalltalk system
US20080168306A1 (en) Method, apparatus and software for providing recovery data for program code
TW301730B (en) System, method and article of manufacture for adding object services to a binary class in an object oriented system
US7818301B2 (en) Method, system and article of manufacture for rolling back past a boundary generator to a savepoint located in a unit of work
Peck et al. Experiments with a fast object swapper
Knasmüller Adding persistence to the Oberon-System
Levy Modularity and the sequential file update problem