TW550474B - Transaction processing system applying with efficient file updating and recovery processes - Google Patents

Transaction processing system applying with efficient file updating and recovery processes Download PDF

Info

Publication number
TW550474B
TW550474B TW089118907A TW89118907A TW550474B TW 550474 B TW550474 B TW 550474B TW 089118907 A TW089118907 A TW 089118907A TW 89118907 A TW89118907 A TW 89118907A TW 550474 B TW550474 B TW 550474B
Authority
TW
Taiwan
Prior art keywords
file
update
transaction
files
delivery
Prior art date
Application number
TW089118907A
Other languages
English (en)
Inventor
Tatsunori Kanai
Toshiki Kizu
Seiji Maeda
Hiroshi Yao
Osamu Torii
Original Assignee
Toshiba Corp
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 Toshiba Corp filed Critical Toshiba Corp
Application granted granted Critical
Publication of TW550474B publication Critical patent/TW550474B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • 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/46Multiprogramming arrangements
    • G06F9/466Transaction processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/1865Transactional file systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • 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
    • 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/99941Database schema or data structure
    • Y10S707/99943Generating database or data structure, e.g. via user interface
    • 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/99941Database schema or data structure
    • Y10S707/99944Object-oriented database structure
    • Y10S707/99945Object-oriented database structure processing
    • 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/99951File or database maintenance
    • Y10S707/99952Coherency, e.g. same view to multiple users
    • 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/99951File or database maintenance
    • Y10S707/99952Coherency, e.g. same view to multiple users
    • Y10S707/99953Recoverability

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Computer Hardware Design (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

550474 A7 B7 6702pif.doc/006 五、發明說明(/ ) 發明範圍 (請先閱讀背面之注意事項再填寫本頁) 本發明是有關於一種允許多個交易可同時存取相同檔 案之交易處理系統及方法。 先前技藝說明 一般而言,在交易處理系統中,行程的執行是交由一 連串的處理單元來管理,通常稱此處理單元爲交易 (t r an s ac t i on )。舉例而Η,一個必要行程的執彳了及一個 行程結果的傳回,都是爲了回應從終端裝置或是電腦網路 所發出的行程要求,而這樣一連串被驅動的執行行程即爲 一種交易。 經濟部智慧財產局員工消費合作社印製 而當個別交易在行程執行中所做的一切資料更新,都 會由一個或多個檔案(或是資料庫)所記載及管理。此交 易處理系統會保障交易所更新的資料,不是會被執行交付 (ccMnmh)指令,就是會被執行終止(abort)指令。即此 交付指令是使所有更新的資料同時生效,而終止指令會放 棄所有更新的資料,且還會校正檔案回復到未執行交易前 的狀態。除此之外,此交易處理系統亦會保障交易所執行 更新的資料,一但執行交付指令後,則更新之資料就永遠 不會被取消。 這樣的習知交易處理系統在現在而言,有很多的方法 可實現,例如,可在Gray及A. Reuter:所著及由Morgan Kaufmann 出版公司所發行的"Transaction Processing : Concepts and Techniques"中發現。 而這種交易處理系統的困難之處,係其中必須使多個 4 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公釐) 550474 A7 B7 67〇2pif·doc/〇06 五、發明說明(1) 交易可同時更新存在於同一個檔案上之資料。當然,若每 一次只允許一個交易更新一個檔案上的資料,是絕對沒有 問題。但是,爲要實現多個交易可同時並行處理,及讓同 一個檔案的不同部分的更新的資料,可同時被記載及管 理,是必須解決一些問題。而這個問題會在使用資料庫上 比在使用檔案上更容易發生。緊接著,會描述使用檔案的 情形,而使用資料庫的情形是與使用檔案類似的,所以在 此不多贅言。 爲了實現一種可並行執行更新處理之交易處理系統’ 一種稱之爲登錄前寫入方法(英文:Wri te Ahead Logging ,簡稱WAL),是已經被廣泛應用的一種方法。在 這種方法中,當有多個交易欲更新一個被讀出至緩衝區中 之檔案時,一個登錄檔會記載是哪一個檔案的哪一個部分 被哪一個交易所重新寫入,且也會記載此部份是如何被重 新寫入。除此之外,時間也會被控制住,如在緩衝區中所 更新的資料,是不會被寫回至記憶體媒體中(通常是硬碟) 之原始檔案,除非能夠保證記載在登錄檔中更新之資訊已 經寫入至穩定記憶體裝置中(如硬碟),以致更新之資料 不會遺失,否則是不會將更改之資料寫回至記憶體媒體· 中。 在此WAL方法中,所有以往更新資料都會被紀錄在登 錄檔中,以致當有系統錯誤發生時,可利用此登錄檔’將 檔案回復至正確的狀態。也就是說,當系統在錯誤發生後 被重新驅動時,此交易處理系統會參考登錄檔,及經由交 5 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公釐) " -— II - — II - I - ---1 I I I I ^ ·11111111 (請先閱讀背面之注意事項再填寫本頁) 經濟部智慧財產局員工消費合作社印製 經濟部智慧財產局員工消費合作社印製 550474 67〇2pif.doc/0〇6 i、發明說明(>) 付交易(committed transaction)將尙未反映在檔案中之 更新資料,將之正確反映出來。同樣的,如果有被終止交 易寫入至檔案中的更新資料,則會產生一個取消更新資料 的行程。像這樣的一個回復行程,會在錯誤發生時,保證 交易的細微性、耐久性、獨立性及一致性。 此交易處理系統係依據習知的WAL方法而成,當有交 易欲更新一檔案時,則會先將更新的內容寫入登錄檔中, 然後檔案本身再被更新,因此,爲了能夠管理被多個交易 所共同分享的檔案,一個複雜的處理程序是是必須存在 的。更甚者,必須爲一次更新作業 > 執行兩次寫入行程, 一次是將更新資料寫入登錄檔,另一次是將更新資料寫入 檔案本身。因此,爲了讓回復行程能夠利用登錄檔,將檔 案回復到與更新前一致的狀態,一個複雜的處理程序也是 必須存在的。進一步來說,回復程序爲了能夠在每次錯誤 發生後,將重新驅動(re-act Wation)的工作完全執行, 則一定必須花費大量時間在重新驅動的工作上。 而另一種實現交易處理系統的方法是影子分頁方法 (shadow page scheme)。在這個方法中,就更新檔案而言, 會將在更新前屬於檔案的分頁寫入硬碟,也會將更新後屬 於檔案的分頁寫入硬碟中,讓檔案管理資料可在交易的交 付時間作自動切換。如此,可確保存在於硬碟中之檔案永 遠會是正確的檔案。 在此影子分頁方法(shadow page scheme)中,因爲 檔案永遠是以正確狀態存在於硬碟中,所以會使每次錯誤 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公釐) --------------------訂---------線 (請先閱讀背面之注意事項再填寫本頁) 550474 A7 B7 6702pif.doc/006 五、發明說明(砵) (請先閱讀背面之注意事項再ί本頁) 發生時的回復處理時間變少。然而,影子分頁方法(shadow page scheme)是使用基本操作來細微地切換這兩種分頁, 這兩種分頁會記載兩個檔案,分別是交易交付(comnut) 前的檔案,及交易交付後的檔案,如此即可讓多個交易可 以更新相同的一個檔案。但是,卻有必要串連(serialize) 這些交易及將資料連續,更新。爲了如同先前所提到的WAL 方法一樣,使同一個檔案中的不同部分可被多個交易並行 進行更新處理,只單就使用影子分頁方法(shadow page scheme)是不足夠的,必須再加上某個裝置,像是先前WAL 方法所提到的,利用登錄檔作資料管理才行。如此,影子 分頁方法(shadowpage scheme)才可以被簡單實現出來。 但是也因此,使得複雜的資料管理變得必累。 經濟部智慧財產局員工消費合作社印製 接著,會對上述的傳統檔案系統作簡單的描述。請參 考第43圖,其繪示的是一種傳統交易處理系統的範例。在 此傳統交易處理系統中,應用程式101,係經由資料庫管理 系統102對行程交易(processing transactions)進行資 料操作。檔案系統103,係對紀錄在穩定記憶體紫置,如硬 碟104中的檔案進行操作及管理。而資料庫管理系統102 是必須藉由應用程式101對資料進行管理,且須檔案系統 103對檔案進行管理。此外,資料庫管理系統102也必須在 多個應用程式102對共享(shared)資料進行操作期間, 同步執行控管工作。 綜合說明 有鑑於此,本發明即提供一種交易處理方法及一種交 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公釐) 550474 6702pif.doc/00i A7 B7 五、發明說明(() 易處理系統,使檔案更新處理不但簡單且有效地被多個交 易同時進行運算,而且在有錯誤發生時,亦可進行回復處 理。 ‘‘ 依據本發明所提出的一種交易處理方法,此交易處理 方法之¥驟包括:執行多個可進行更新處理之交易,此處 所謂的更新處理,是針對讀出至緩衝區的檔案所作的處 理。接著,在其中一個交易,的交付(commit )期間中,將 此檔案寫入至穩定記憶體裝置中,其中,此檔案包括交易 所執行之交付更新內容、不交付交易所執行之不交付更新 內容及關於取消不交付更新內容的資訊。 依據本發明所提出之另一種交易處理系統,此交易處 理系統包括:讀取單元,係作爲讀取檔案之用,此檔案係 從穩定記憶體裝置讀出至緩衝區之交易處理目標。更新單 元,係藉由寫入更新內容至緩衝區中之檔案來更新檔案內 容’而在更新內容中,係與每一個交易所更新之檔案及取 消更新檔案之資訊有關。寫入單元,係在交易的交付時間 中,寫入檔案至穩定記憶體裝置中,在此檔案中包括交易 所執行之交付更新內容、不交付交易所執行之不交付更新 內容,及取消不交付更新內容之資訊。 , 依據本發明又提出之另一種電腦使用媒介,係包含電 ,腦讀取程式碼,此電腦讀取程式碼會導致電腦之運作如交 易處理系統般具體化,此電腦讀取程式碼包括:第一電腦 g買取f壬式碼,係引導電腦g買取一個檔案,將此檔案作爲從 穩定記憶體裝置讀出至緩衝區之交易處理目標。第二電腦 裝--------訂---------線· (請先閱讀背面之注意事項再填寫本頁) 經濟部智慧斤產局員工消費合作社印製 550474 A7 6702pif.doc/006 _B7_ 五、發明說明(石) 讀取程式碼,係引導電腦執行更新檔案之用,藉由寫入更 新內容至緩衝區之檔案中,來更新檔案,而此更新內容係 與每一個交易對檔案所執行之更新內容有關,及與取消更 新內容之資訊有關。第三電腦讀取程式碼,係引導電腦執 行寫入檔案至穩定記憶體裝置中,且係在交易之交付時間 中寫入此檔案,其中,此檔案的內容包括交易所執行之交 付更新內容、不交付交易所執行之不交付更新內容及有關 取消不交付更新內容之資訊。 爲讓本發明之上述和其他目的、特徵、和優點能更明 顯易懂,下文特舉較佳實施例,並配合所附圖式,作詳細 說明如下= 圖式之簡單說明: 第1圖繪示的是本發明之一方塊圖,其繪示的是依據 本發明之一實施例所作的交易處理系統範例。 第2圖繪示的是本發明之一示意圖,其繪示的是利用 圖1之交易處理系統所作的更新管理資料表範例。 第3圖繪示的是本發明之一示意圖,其繪示的是利用 圖1之交易處理系統所作的交易管理資料表範例。 第4圖繪示的是本發明之一示意圖,其繪示的是利用 圖1之交易處理系統所作的資料檔案範例。 第5圖繪示的是本發明之一示意圖,其繪示的是圖4 之資料檔案執行UPDATE ( 1, ICECREAM, ¥450 )後之狀態。 第6圖繪示的是本發明之一示意圖,其繪示的是第5 圖之資料檔案在執行UH)ATE (3. APPLE,¥500)指令後之 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公釐) --------------I----訂·--------線 (請先閱讀背面之注意事項再填寫本頁) 經濟部智慧財產局員工消費合作社印製 經濟部智慧財產局員工消費合作社印製 550474 6702pif.doc/006 A7 B7 五、發明說明(q) 狀態。 第7圖繪示的是本發明之一示意圖,其繪示的是第6 圖之資料檔案在執行REMOVE (2, BISCUIT)指令後之狀態。 第8圖繪示的是本發明之一示意圖,其繪示的是第7 圖之資料檔案在執行UPDATE (2, CHOCOLATE, ¥ 300)指令 後之狀態。 第9圖繪示的是本發明之一示意圖,其繪示的是第8 圖之資料檔案在執行REMOVE (1,GRAPE)指令後之狀態。 第10圖繪示的是本發明之一示意圖,其繪示的是第9 圖之資料檔案在執行UPDATE (2. KIWIFRUIT,¥300)指令 後之狀態。 第11圖繪示的是本發明之一示意圖,其繪示的是第 10圖之資料檔案在執行C0麵IT (3)指令後之狀態。 第12圖繪示的是本發明之一示意圖,其繪示的是第 11圖之資料檔案在執行COMMIT (1)指令後之狀態。 第13圖繪示的是本發明之一示意圖,其繪示的是第 12圖之資料檔案在執行ABORT (2)指令後之狀態。 第14圖繪示的是本發明之一流程圖,其繪示的是圖1 的交易處理系統在處理READ (txid,key)的行程。 第15圖繪示的是本發明之一示意圖,其繪示的是第4 圖之資料檔案在執行READ (4, CHOCOLATE)指令後之狀 育S 〇 第16圖繪示的是本發明之一流程圖,其繪示的是圖i 的交易處理系統在處理UPDATE (txid, key, value)的行 本紙張尺度適用中國國家標準(CNS)A4規格(210x297公釐) (請先閱讀背面之注意事項再填寫本頁) -· 11---丨—訂·!------線· 550474 A7 B7 6702pif.doc/006 五、發明說明(g ) 程。 第17圖繪示的是本發明之一流程圖,其繪示的是圖1 的交易處理系統在處理REMOVE (Uid, key)的行程。 第18圖繪示的是本發明之一流程圖,其繪示的是圖1 的交易處理系統在處理COMMIT (txid)的行程。 第19圖繪示的是本發明之一流程圖,其繪示的是圖1 的交易處理系統在處理ABORT (txid)的行程。 第20圖繪示的是本發明之一流程圖,其繪示的是圖1 的交易處理系統在處理回復行程的範例。 第21圖繪示的是本發明之一示意圖,其繪示的是資料 檔案在圖1之交易處理系統中,紀錄交易更新後的資訊狀 態。 第22圖繪示的是本發明之一示意圖,其繪示的是資料 檔案在圖1之交易處理系統中使用一種二元樹結構的例 子,作爲實現一種更快速的搜尋方法。 第23圖繪示的是本發明之一示意圖,其繪示的是一個 檔案依據本發明的交易處理系統,所紀錄的一組資訊的範 例。 第24圖繪示的是本發明之一示意圖,其繪示的是另一 個檔案依據本發明的交易處理系統,所紀錄的一組資訊的 範例。 第25圖繪示的是本發明之一示意圖,其繪示的是又一 個檔案依據本發明的交易處理系統,所紀錄的一組資訊的 範例。 --------------------訂---------^ —Awl (請先閱讀背面之注意事項再填寫本頁) 經濟部智慧財產局員工消費合作社印製 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公釐) 550474 67 02pi f. doc/0 0 6 A7 B7 經濟部智慧財產局員工消費合作社印製 五、發明說明(9 ) 第26圖繪示的是本發明之一示意圖,其繪示的是又另 一個檔案依據本發明的交易處理系統,所紀錄的一組資訊 的範例。 第27圖繪示的是本發明之一方塊圖,其繪示的是交易 處理系統依據本發明的一個實施例所組成的另一個範例模 組。 第28圖繪示的是本發明之一示意圖,其繪示的是在圖 27交易處理系統中的一個更新群組資料表例子。 第29圖繪示的是本發明之一示意圖,其繪示的是圖25 中的資料檔案在被交易(1)及(2)更新後的狀態。 第30圖繪示的是本發明之一示意圖,其繪示的是圖26 中的資料檔案在被交易(1)及(2)更新後的狀態。 第31圖繪示的是本發明之一示意圖,其繪示的是圖29 中的資料檔案在交易(1)交付後的狀態。 第32圖繪示的是本發明之一示意圖,其繪示的是圖30 中的資料檔案在交易(1)交付後的狀態。 第33圖繪示的是本發明之一示意圖,其繪示的是圖32 中的資料檔案在交易(2)終止後的狀態。 第34圖繪示的是本發明之一示意圖,其繪示的是圖 23、24及25中的一部份資料檔案在被交易(3)更新後的 狀態。 第35圖繪示的是本發明之一示意圖,其繪示的是圖 23、24、25及26中的另一部份資料檔案在被交易(3)更 新後的狀態。 ---------1 —-------—訂 —----- IMW· (請先閱讀背面之注意事項再填寫本頁) 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公釐) 550474 A7 B7 67 02pi f. doc/Ο Ο 6 五、發明說明(/0) 36圖繪示的是本發明之一示意圖,发 &增东 、7 52 6 Φ的祕► &」 ^ 第 2;3、24、25及26中的又另一部份資料檔案在被=、的复陶 更新後的狀態。 X葛(3) 第37圖繪示的是本發明之一示意圖,其繪厂、 檔案在交易(3)交付後,從圖34、35及36祕2的楚資料 的狀態。 慨·寫回後 第38圖繪示的是本發明之一示意圖,其繪禾的$ 個資料檔案在交易(3)交付後,從圖34、35爲^ =其他 汉外被執行 寫回後的狀態。 第39圖繪示的是本發明之一示意圖,其繪示的是在圖 1中的交易處理系統所使用的一般XML文件範例。 第40圖繪不的是本發明之一示意圖,其繪示的是圖39 的XML文件在被交易(1)及交易(2)更新後的狀態。 第41圖繪示的是本發明之一示意圖,其繪示的是圖40 的XML文件在交易(1)交付後的狀態。 第42圖繪示的是本發明之一示意圖,其繪示的是圖41 的XML文件在交易(2)交付後的狀態。 經濟部智慧財產局員工消費合作社印製 第43圖繪示的是本發明之一方塊圖,其繪示的是習知 交易處理系統的範例。 重要元件標号虎 2,101 :應用程式 4:共享資料管理單元 6,103 :檔案系統 8 :交易管理者 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公釐) 550474 6702pif.doc/006 A7 B7 經濟部智慧財產局員工消費合作社印製 五、發明說明(//) 10,104 :硬碟 41更新管理資料表 42 :更新群組資料表 62 :緩衝區 61 :交易管理資料表 1〇2 :資料庫管理系統 步驟si 1至步驟s205係本發明之一實施步驟 較佳實施例 請參考弟1圖至弟42圖’其繪不的是依照本發明—^較 佳實施例的一種交易處理系統。 請參照第1圖,其繪示的是依照本發明一較佳實施例 的一種交易處理系統範例。 以下在本實施例的描述中,硬碟是被使用來當穩定記 憶體裝置,但也可以利用其他合適的記憶體裝置來當作穩 定記憶體裝置。同樣的,在以下本實施例的描述中,交易 是由應用程式所產生的,但顯然地,在其他情況下,交易 也有可能被類似應用程式的其他元件所產生的。 如圖1,在本實施例的交易處理系統中,作爲多個應用 程式2之間執行交易用的共享檔案操作,係經由共享資米斗· 管理單元4而產生的,而非共享檔案的操作,是經由應用 程式2直接命令檔案系統6而產生的。 交易管理者8,會對應用程式2處理過的交易進行管 理。而應用程式2會獲得交易管理者8在一開始處理交易 時所配置的交易識別碼。之後,當交易在執行檔案的更新 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公釐) ------------AF--------訂---------線-·- (請先閱讀背面之注意事項再填寫本頁) 550474 五 經濟部智慧財產局員工消費合作社印製 6702pif.doc/006 發明說明(/之) 一穴、卜 作業時,就會被告知它目前的交易識別碼,以致共孚貝料 管理單元4或檔案系統ό在處理交易的行程時,可命令其 執行操作。當應用程式2對交易管理者8告知父易行彳壬的 完整性時,交易管理者8會命令共享資料管理單兀4及檔 案系統執行交付或終止命令,其中,交付命令是藉由父易 識別碼所識別之交易,寫入檔案更新的結果來執行父付命 令,而終止命令是藉由放棄更新結果來執行終止命令。 不過,也可以使用一種模組來取代交易管理者8 ’或是 讓應用程式2自行產生對應交易識別碼的資訊,及執行命 令交付及終止操作,不過以下還是會對交易管理者8的過 程加以描述。 共享資料管理單元4,是藉由多個交易來實現同一個檔 案但不同部分的更新作業。且共享資料管理單元4,會管理 哪一個檔案是被哪一個交易所執行的更新處理,而此管理 的部分,係由共享資料管理單元4中的更新管理資料表41 所執行。圖2顯示的是更新管理資料表41的一個範例。更 新管理資料表41,會記錄檔案名稱及一連串交易識別碼的 對應關係,其中,交易識別碼是交易在更新檔案時所需的。 舉例來說,在圖2中指出,有一個檔案的檔案名稱爲 F0102,目前有3個交易對此檔案執行更新處理,分別是交 易‘識別碼”36”、”21”及”5”。 檔案系統6,是藉由交易來實現檔案操作的單元。在檔 案系統6中包括緩衝區管理單元(未顯示在圖1中),係管 理緩衝區62及交易管理資料表61。對紀錄在硬碟10中所 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公釐) -----------------線 (請先閱讀背面之注意事項再填寫本頁) 550474 6702pif.doc/006 A7 B7 經濟部智慧財產局員工消費合作社印製 五、發明說明(/$ ) 讀取或更新的檔案而言,此檔案會先被讀出至緩衝區62 中,然後再在緩衝區62中讀取或更新這個檔案。但對新增 一個新的檔案而言,此檔案則會先被在緩衝區62中創造出 來。在緩衝區62中的檔案,不管是更新或新增的檔案,都 會在交易的交付時間中被寫入硬碟10中。而交易管理資料 表61,係用以管理哪一個交易更新哪一個檔案 請參考第3圖,其繪示的是交易管理資料表61的範 例。交易管理資料表61,係紀錄交易識別碼與一連串目前 被交易所更新的檔案之間的對應關係。舉例來說,在圖3 中即顯不交易識別碼爲3的交易,目前只有更新檔案 F9268,而交易識別碼爲5的交易,目前只有更新檔案F〇1()() 及F9264。在交易管理資料表61中的最後一個欄位,是管 理不屬於任何交易的檔案更新。 在圖3的交易管理資料表61中,最後一列項目爲νΟΤΧ 的交易,即是對應不屬於任何交易的檔案更新。在這個例 子中指出,檔案 F0102、F2156、F3624、F5497 及 F7531 的更新是與任何交易無關的。如同下列所述,檔案的更新 是經由共享資料管理單元4所更新的,而不是屬於任何交 易的,所以像這樣的檔案即會被紀錄在ΝΟΤΧ的項目中。而 紀錄在此項目中,進行檔案更新的交易,會被共享資料管 理單元4中的更新管理資料表41所確定。 接著,會在下列的例子中,使用XML文件格式中的資 訊來當作資料的範例,即會對交易處理系統中所更新的檔 案,經由共享資料管理單元4紀錄在XML文件格式中的資 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公釐) ---------------------訂-------Ί·線 (請先閱讀背面之注意事項再填寫本頁> 550474 A7 B7 6702pif.doc/006 五、發明說明(/(/) 訊加以描述。 有關XML的資訊皆詳細揭露在"Extensible Markup Language (XML) 1 ·Ο",(W3C Recommendation 10-Feb-98) 中。 在本發明中,交易處理系統係紀錄及管理一對由"key" 及對應"key"的"value”所構成的資訊,而這些皆存在於XML 文件格式的檔案中。 此文件可以在一般的資料庫中使用,而可藉由特定的 鍮匙(key )來搜尋値(value)。圖4即顯示此文件的例子。 在此XML的文件中,”key”是由一部份標示爲<key>&</key> 的標籤所圈住,nvaluen是由一部份標示爲<value>& </value>的標籤所圈住,而此"key,,及nvaiuen的單體 (entry)是由標不爲〈entry〉及〈/entry〉的標籤所圈住, 而多個像這樣的單體(ent ry )是由最外邊標示爲<](”礼16> 及</KVtable>的標籤所圍住。事實上,xml文件還有一個序 言部分,是從最上頭部分的<?xml version =,,1.0,,?>開始 的’但在此省略不說。也就是在此XML語言中,被開頭標 簾如<key>及對應的尾端標鑛如</key;>m圍住的部分,才是 討論的重點。 在圖4的XML文件中,有输匙(key) "Αρρα",及宜 所對應的値(va 1 ue ) " ¥ 400·· ’ 有输起(key) " BISCUIT*1, 及其所對應的値(value ) ” ¥ 250”,綸匙(key ) ’•CHOCOLATE" ’及其所對應的値(value) "¥200M,及鑰匙 (key) "GRAPE",及其所對應的値(Value) ”¥6〇〇”。 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公釐) -----丨丨丨丨丨丨!丨丨丨丨訂-丨丨丨!丨-線 (請先閱讀背面之注意事項再填寫本頁) 經濟部智慧財產局員工消費合作社印製 550474 A7 B7 6702pif.doc/006 五'發明說明(/Γ) 於此,應用程式2及交易管理者8會執行與XML文件 檔案有關的交易,而此XML文件檔案在本實施例中會經由 , 共享資料管理單元而產生五種指令型態,包括nREAD (txid,key)’·,"UPDATE (txid,key,value)1·,"REMOVE (txid,key)",,,COMMIT (txid)"及"ABORT (txid)’·。其中, 讀取(READ)、更新(UPDATE)及刪除(REMOVE)等三種指 令係由應用程式2來命令執行,而交付(CO丽IT)及終止 (ABORT)兩種指令係由交易管理者8來命令執行。但如上 所描述,也有可能是使用應用程式2取代交易管理者8來 執行交付(C0匪IT)及終止(ABORT)兩種指令。 READ( txid,key)是一個包括交易識別碼的交易指令, 而此交易識別碼是由ntxid”所讀取之單體之値(vaiue 〇f entry)所指定的,而單體之値又是由nkeyn所指定的。 UPDATE(txid,key,value)是一個包括交易識別碼的 交易指令,而此交易識別碼是*ntxidn所更新的單體之値 (value of entry)所指定的,而此單體之値又是由”key" 所對應的値("value")指定的。當由"keyπ所指定的單體 不存在,則一個新的單體就會被新增出來。 REM0VE( t X i d,key)是一個包括交易識別碼的交易指 令,而此交易識別碼是由ntxid"刪除的單體(entry)所指 定的,而單體又是由nkeyM所指定的。 C⑽MIT(txid)指令,會將交易識別碼爲"txid"的交易 所更新的檔案內容,寫回至磁碟中的檔案而永遠存在此更 新內容。 本紙張尺度適用中國國家標準(CNS)A4 .規格(210 X 297公爱) -------丨! -- - ---!訂·------- (請先閱讀背面之注意事項再填寫本頁) 經濟部智慧財產局員工消費合作社印製 550474 A7 6702pif.doc/006 ______B7__ 五、發明說明(A ) 八8〇町(1\1[(1)係用以完全取消交易所更新的檔案內$ 的一個指令,而此交易中是由"t X i d"指定的交易識別碼的 交易。 在這五種指令中,讀取(READ )是一個不會更新檔案 內容的指令,而更新(UPDATE)及刪除(REMOVE)指令則 是會在交付的狀態中,設定交易的行程結果,而所謂的交 付狀態,是指一個正確的完整狀態或是開始取消行程結果 前的狀態。 接下來,在圖4中會對XML文件執行存取的三個交易 當作例子,來描述本實施例交易處理系統中的指令(分別 是txid = 1的交易、txid = 2的交易及txid = 3的交易) 指令如下: [1] UPDATE (1, ICECREAM, ¥450) [2] UPDATE (3, APPLE, ¥ 500) [3] REMOVE (2. BISCUIT) [4] UPDATE (2,CHOCOLATE,¥300) [5] REMOVE (1, GRAPE) [6] UPDATE (2, KIWIFRUIT,¥ 300) [7] COMMIT (3) [8] COMMIT (1) [9] ABORT (2) 在圖4中,當交易處理系統在更新檔案時,首先,檔 案系統6會被命令從共享資料管理單元4中讀出存在於硬 碟10的檔案內容,然後將此檔案內容放置於緩衝區62中。 19 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公楚) "' -------------in — Lr— ^« — — — — — 1 — (請先閲讀背面之注意事項再填寫本頁) 經濟部智慧財產局員工消費合作社印製 550474 A7 B7 6702pif.doc/006 五、發明說明(q) 直到交易被交付,否則更新的檔案只會備份於緩衝區62 中,而不會被寫回至硬碟10中。 首先[1],會藉由 UPDATE (1 , ICECREAM, ¥450)指令, 使交易(1)增加"ICECREAM"的鑰匙(key),且會設定此鑰匙 之値爲"¥450"。此時,若此檔案仍未存在於緩衝區62中, 則此檔案會被讀出至緩衝區62中。然後,在緩衝區62中 的資料會在圖5中顯示改變。至此,一個鑰匙爲"ICECREAM” 的新單體會被增加,且此新單體的値會被設爲”¥450"。除 此之外,爲了指出此單體目前是被交易(1)所更新的,有兩 個屬性會被紀錄在標示爲<entry>的屬性欄位中,分別是屬 性TXID及屬性TXSTATE。屬性TXID係紀錄交易在執行更新 作業時的交易識別碼,而屬性TXSTATE係紀錄更新的型態, 及在執行交付(CO丽IT)或終止(ABORT)行程時的資訊。 在這個例子中,交易識別碼”Γ’是被設成屬性TXID的値, 而” UPDATE"則是指出目前所更新的屬性TXSTATE之値。 接著[2],會藉由 UPDATE (3,APPLE,¥500)指令,使 交易(3)更新鑰的値爲¥500。如此,在緩衝區中 的資料會被變動如圖6所示之値。在圖6中,單體鑰匙 nAPPLEn的標籤〈value〉,會藉由變動之至<oldvalue>而保 留其値,而新的値”¥ 500π則會被<value>所圍住,且會加 入新增的單體(entry)中。另外,交易識別碼M3”會被設 爲屬性TXID的値,而"UPDATE"則會指出目前所更新的値爲 屬性TXSTATE的値。 接著[3],會藉由REMOVE (2,BISCUIT)指令,使交易 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公釐) -------------------訂---------線 (請先閱讀背面之注意事項再填寫本頁) 經濟部智慧財產局員工消費合作社印製 550474 A7 B7 6702pif.d〇c/006 五、發明說明(/ί) (2)刪除鑰匙爲”BISCUIT"的單體。至此,在緩衝區62中的 資料會如圖示7所顯示改變。交易識別碼"2"會被設成屬性 TXID的値,而"REMOVE”則是指出目前所刪除的値爲屬性 TXSTATE之鑰匙單體nBISCUITM的値。 接著[4],會藉由 UPDATE (2, CHOCOLATE, ¥300)指令, 使交易(2)將鑰匙爲"CHOCOLATE"的値更新爲π¥ 300π,且會 在圖8中產生類似上述在緩衝區62中資料的行程。 接著[5],會藉由REMOVE (1,GRAPE)指令,使交易(1) 刪除鍮匙爲"GRAPE"的單體,且會在圖9中產生類似上述在 緩衝區62中資料的行程。 接著[6],會藉由 UPDATE (2, KIWIFRUIT,¥ 300)指令, 使交易(2)增加鑰匙爲” KIWIFRUIT"的單體,再設定它的値 爲〃¥300〃,且會在圖10中產生類似上述在緩衝區62中資 料的行程。 接著[7],會經由C0MMIT(3)指令,使交易(3)的交付行 程被驅動。 現在針對上述的例子,將多個交易對同一個檔案的交 付行程加以描述。 假設交易(3)是在C0MMIT(3)驅動交付行程的狀態中, 則檔案中的資料會在緩衝區62中進行如圖1〇的更新作 業。而交易(3)會將更新的內容從暫時的狀態改變至正確的 更新狀態,其中,在暫時的狀態中,有TXID及TXSTATE 的元件,還包括標示爲<olcWalue>的標籤(tag),而所謂 的正確更新狀態,係指藉由刪除TXID、TXSTATE及 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公釐) ----------I --------訂--------線 (請先閱讀背面之注意事項再填寫本頁) 經濟部智慧財產局員工消費合作社印製 550474 A7 B7 6702pif.doc/006 五、發明說明(/y) <oldvalue>的標籤,將更新的內容寫回至硬碟1〇中的狀 態。 . 當檔案資料用這種方法反映交易(3 )所更新的內容 時,此更新後的檔案資料會被寫回至硬碟10中,取代原先 存在於硬碟10中的檔案。就這個觀點而言,在本實施例中, 當資料目前是在被交易(1)及交易(2)所更新的狀態中,資 料會被寫回至硬碟10。這是因爲,取消更新的資訊必須依 附目前存在於更新狀態中的資料,如此才能在下一次資料 被取出時,產生取消更新的行程。 接著[8],會藉由COMMIT(l)的動作,使交易(1)的交付 行程被驅動。就此而言,被交易(1)所更新的內容會反映至 如圖12的資料中,且會將此更新的資料寫回至硬碟1〇中。 接著[9],會藉由AB0RT(2)的動作,使交易(2)被執行 終止操作。就此而言,如圖13所顯示,被交易(2)所更新 的內容會從緩衝區62中的檔案資料中取消更新。 接下來,會針對上述例子的每一個指令的處理程序, 作一個詳細描述。 首先,讀取(READ)的處理程序會先被描述如下。 讀取(READ)的指令很簡單,即它只是將對應特定鑰 匙(key)之單體的値(value of entry)讀出而已。然而, 有兩個方法可實現READ指令,端看系統是如何使用之。而 這兩個方法的共同特點,即在沒有其他交易的更新動作 下,會將値(value)給讀出。而這兩個方法的不同之處, 是在當一個交易尙未完全將一個單體(entry)的內容讀出 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公釐) -----------------r---訂---------線 (請先閱讀背面之注意事項再填寫本頁) 經濟部智慧財產局員工消費合作社印製 550474 6702pif·doc/006 A7 B7
五、發明說明(w) 經濟部智慧財產局員工消費合作社印製 之前,另一個交易是否能對此單體內容進行更新動作。即 一個方法是採用此方法’使得對讀取(READ)指令較沒有 嚴格限制。而另一個方法是不採用此種方法,也就是依據 聿父熟悉的目賈/寫上鎖g吾義學(READ/WRITE lock semau ties) 來作嚴格控制。更明確來說,被同一個交易執行讀取及更 新指令是相谷的’而右讚取及更新指令是被不同的交易執 行則會不相容,但若是由不同的交易只單獨執行讀取指 令,則此兩個交易是可相容的。 前者所使用之不排斥控制的方法,相較於後者使用排 斥控制的方法而Η,是一個可被視爲有效率的特殊方法, 係藉由省略對讀取(READ)的控制而獲得此特殊方法,所 以在此會針對後者的處理程序作描述。 S靑參考第14圖’其顯不的是READ (txid, key)的處理 程序。 首先,在步驟sll中,在有<key>區間的單體(entry) 中,找尋有對應特定"key"的單體。 在步驟s 12中,若有找到單體,則接著在步驟s π中, 判斷TXSTATE的屬性是否被指派於此單體,如果TXSTATE 的屬性有被指派於此單體,則判斷TXSTATE的屬性是 "READn,’’UPDATE’% "REMOVE’1 中的哪一個。 如果TXSTATE的屬性沒有被指派,則意味著沒有一個 交易可以使用此單體,所以TXID屬性及TXSTATE屬性會被 指派到此單體,即在步驟s 14中,TXID屬性的値會被設爲 "txidn,而TXSTATE屬性的値會被設爲nREADn,且在步驟 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公釐) -----------------r---訂------I —^ IAWI (請先閱讀背面之注意事項再填寫本頁) 550474 A7 B7 6702pif.doc/006 五、發明說明(1丨) sl5中,會將cvalue〉區間中的値傳回當結果。 若在TXSTATE屬性値爲”1^八0”的情況下,如果在步驟 sl6中的ntxid"値並沒有包含在TXID屬性値中,則在步驟 sl7中,會將"txid"値加入TXID屬性値中,在步驟S18中, 會將<\^11^>區間的値傳回當結果。 若在TXSTATE屬性値情況下,則在步驟 s 19中,判斷TXID屬性値是否爲"txid”,若此TXID屬性値 ,則此單體(entry)可以是在被同一個交易更新 的情況下被讀取,使得在步驟s20中,可將<value>區間的 値傳回當結果。但若在步驟s 19中,判斷TXID屬性値不爲 "txidn,則會告知交易此時此單體不能被讀取,因爲此單 體目前正被其他交易使用中。 如果現在TXSTATE屬性値爲"REMOVE"的情況下,則會 顯示出錯誤的訊息,因爲此交易目前正在讀取一個不存在 的値。 若在步驟sl2中,此單體未被尋找到,則也會顯示出 錯誤的訊息。 在圖15中,顯示的是資料存在於緩衝區62中的狀態, 即交易(4)在讀取鑰匙"CHOCOLATE"値後的結果,也就是 READ(4,CH0C0LATE)指令對圖4中所顯示的檔案的執行結 果。 對於每一個TXID的屬性値會有一個交易識別碼,這是 很正常的,但若在TXSTATE的屬性値是"READ”的狀況下, 則不一定,可能TXID的屬性値會有一串的交易識別碼。那 24 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公釐) " 一 — I-----I l·--I ^0---!! $ (請先閱讀背面之注意事項再填寫本頁) 。 經濟部智慧財產局員工消費合作社印製 550474 A7 B7 67 02pi f. doc/0 0 6 五、發明說明(n) (請先閱讀背面之注咅?事項再填寫本頁) 是因爲,可允許多個交易同時作讀取的動作,舉例來說, 當分別有交易識別碼爲"Γ,"4"及”5"的交易欲讀取資料 時,則TXID的屬性値就會有"1 4 5"的一串數字。 接下來,會對更新(UPDATE)指令的處理行程加以描 述。 請參考第16圖,其繪示的是UPDATE (txid,key, value) 指令的處理行程。 首先,在步驟s21中,在有<key>區間的單體(entry) 中,找尋有對應特定nkey”的單體。 如果在步驟s22中有找到此單體,則接著在步驟s23 中,判斷TXSTATE的屬性是否被指派於此單體,如果 TXSTATE的屬性有被指派於此單體,則判斷TXSTATE的屬性 是"READ","UPDATE"及"REMOVE” 中的哪一個。 經濟部智慧財產局員工消費合作社印製 如果TXSTATE的屬性沒有被指派,則意味著沒有一個 交易可以存取此單體,所以TXID屬性及TXSTATE屬性會被 指派到此單體,即在步驟s24中,TXID屬性的値會被設爲 "txid",而TXSTATE屬性的値會被設爲"UPDATE”,且目前 <乂&11^>區間的標籤名稱(1&2 1^11^)會被改爲<〇1(^&1116>, 而新的〈value〉區間會被新增出來,且其値會被UPDATE指 令的第三個參數改爲"value"。 但在TXSTATE的屬性値爲"READ”的情況下,當只有單 獨的同一個交易作讀取時,則有可能只會對這個單體進行 更新的動作,也就是會在步驟s25中,判斷在TXID屬性値 中,是否只有"Uidn値。若是如此,則會在步驟s26中, 25 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公釐^ 550474 A7 B7 6702pif.doc/006 五、發明說明(β) 將TXSTATE屬性的値會設爲ΠUPDATE",且目前<value>區間 的標籤名稱(tag name)會被改爲<oldvalue>,而新的 <value>區間會被新增出來,且其値會被UPDATE指令的第 三個參數改爲’’valueM。但如果有另一個交易在作讀取時, 則更新(UPDATE )動作不會被執行,且會告知此單體 (entry)正被另一個交易使用中。 如果TXSTATE的屬性値是在ΠUPDATEΠ的情形下,則在 步驟s27中,會判斷TXID屬性値是否爲”txidn。如果TXID 屬性値,則單體會被相同的一個交易執行更新, 使得在步驟s28中,<value>區間的値會被會被UPDATE指 令的第三個參數改爲"value”。若在步驟s27中,TXID屬性 値不爲"txid",即有另一個交易正在執行更新作業,則更 新作業不會被執行,且會告知此單體(entry)正被另一個 交易使用中。 如果TXSTATE的屬性値是在πREMOVEπ的情形下,則因 爲此交易意圖更新一個不存在的値,所以會顯示出錯誤的 訊息。 如果無法在步驟s22中,在有输匙値(key value )的 單體中,找尋能對應特定nkey”的單體,則在步驟s29中, 新的單體會被新增出來,且<key>區間値&<value>區間値 會分別被更新(UPDATE)指令的第二及第三參數,設定爲 f,key"及πvalue〃,而TXID屬性値會被設爲"txid",TXSTATE 屬性値會被設爲"UPDATE"。 接下來,會對刪除(REMOVE)指令的處理行程加以描 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公釐) -----r------------ (請先閱讀背面之注意事項再填寫本頁) 經濟部智慧財產局員工消費合作社印製 A7 550474 67 02pi f. do c/0 0 6 _d/_ 五、發明說明(>p 述。 請參考第Π圖,其繪示的是REM0VE(txid,key)指令 的處理行程。 首先,在步驟s31中,在有<key>區間的單體(entry) 中,找尋有對應特定"key”的單體。 如果在步驟s32中有找到此單體,則接著在步驟s33 中,判斷TXSTATE的屬性是否被指派於此單體’如果 TXSTATE的屬性有被指派於此單體,則判斷TXSTATE的屬性 是"READ”,"UPDATE"及"REMOVE"中的哪一個。 如果TXSTATE的屬性沒有被指派,則意味著沒有一個 交易可以存取此單體,所以TXID屬性及TXSTATE屬性會被 指派到此單體,即在步驟s34中,TXID屬性的値會被設爲 "txid",而TXSTATE屬性的値會被設爲’’ REMOVE π。 但在TXSTATE的屬性値爲"READ"的情況下,當只有單 獨的同一個交易作讀取時,則有可能只會對這各單體進行 刪除的動作,也就是會在步驟s35中,判斷在TXID屬性値 中,是否只有ntxid"値。若是如此,則會在步驟S36中, 將TXSTATE屬性的値會改爲” REMOVE ”。但如果有另一個 交易在作讀取時,則刪除(REMOVE)動作不會被執行,且 會告知此單體(entry)正被另一個交易使用中。 如果TXSTATE的屬性値是在"UPDATE"的情形下, 則在步驟s37中,會判斷TXID屬性値是否爲”txid”。如果 TXID屬性値爲"txU",則因爲單體是會被同一個交易執行 更新作業’所以允g午此父易執f了刪除(R随QVg )指令。對 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公釐) -----------------r I--訂---------線 (請先閱讀背面之注意事項再填寫本頁) 經濟部智慧財產局員工消費合作社印製 550474 A7 B7 6702pif.doc/〇06 五、發明說明(% ) (請先閱讀背面之注意事項再填寫本頁) 此,可藉由之前是否有<〇1〇1^11^>區間存在,來確定此單 體是被此交易新增的新單體或是一個已存在的單體。在步 驟s38中,如果<〇 1 dva 1 ue>區間不存在,則此單體即一*定 是由此交易所新增出來的,所以此單體可以在步驟s40中, 立即被刪除。否則如果在步驟s38中,<〇ldvalue>區間是 存在的,則在步驟s39中,TXSTAT屬性値會被改成 "REMOVE”。如果在步驟s37中,有另一個交易在作更新時, 則刪除(REMOVE )動作不會被執行,且會告知此單體 (entry)正被另一個交易使用中。 如果TXSTATE的屬性値是在"REMOVE"的情形下,則因 爲此交易意圖刪除一個不存在的値,所以會顯示出錯誤的 訊息。 如果單體在步驟s32中,不能被搜尋到,則也會顯示 出錯誤的訊息。 接著,會對交付(C0丽IT)指令的處理行程加以描述。 請參考第18圖,其繪示的是COMMIT (txid)指令的處 理行程。 經濟部智慧財產局員工消費合作社印製 在交付的過程中,每一個在檔案中的單體會藉由圖18 中的行程給實現出來。 首先,會在步驟slOl中,先判斷單體的TXSTATE屬性 値爲何。 如果沒有TXSTATE屬性,則就不需執行動作,因爲沒 有交易在存取此單體。 如果是在TXSTATE屬性値爲"讀取"的情況下,則會在 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公釐) 550474 A7 B7 6702pif.doc/006 五、發明說明(γ) 步驟sl02中,判斷"txid"値是否包含在TXID屬性値中, 如果"txidn包含在步驟sl〇2的TXID屬性値中,且有另外 的父易識別碼也包含在內,則在步驟s 103中,表示n t X i d" 不是唯一的TXID屬性値,則"txid"會在步驟si04中,從 TXID屬性値中刪除。如果"thd"在步驟s 103中,是唯一的 TXID屬性値,則TXID屬性値及TXSTATE屬性値會在步驟 sl05中被刪除掉。 如果TXSTATE屬性値是在"更新”的情況下,則會在步 驟sl06中,判斷TXSTATE屬性値是否爲ntxidn。如果 TXSTATE屬性値爲” txid",則會在步驟sl07中,刪除 <oldvalue>區間、TXID屬性及TXSTATE屬性,即此更新是 有效的。 如果TXSTATE屬性値是在”刪除”的情況下,則會在步 驟sl08中,判斷TXSTATE屬性値是否爲ntxidn。如果 TXSTATE屬性値爲"txid",則會在步驟s 109中,將單體給 刪除。 當上述之行程對所有的單體都已經完成時,則在緩衝 區62中的資料,在那一刻會被寫回至硬碟10中,依照該 些資料更新硬碟10中的檔案。 也就是在交付行程完後,共享資料管理單元4會命令 檔案系統6執行檔案更新,將在緩衝區62中的檔案更新至 硬碟中。此時,此檔案會與其他被交付的交易所更新的檔 案同步寫入硬碟10中。即,有可能應用程式2會直接命令 檔案系統6,使交易可以對多個檔案執行更新作業’而不是 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公釐) ----------------r---^---------^ (請先閱讀背面之注意事項再填寫本頁) 經濟部智慧財產局員工消費合作社印製 550474 A7 B7 6702pif.doc/〇〇6 五、發明說明(”) 使用共享資料管理單元4,但也有可能會經由共享資料管理 單元4對多個檔案進行更新作業(請參考第2圖及第3圖)。 爲了能夠交付此交易,將所有更新的檔案交付完整是必要 的。在本實施例的交易處理系統中,一連串從應用程式2 直接命令更新的檔案,是爲了每一個交易而管理的,所以 由同一個交易執行更新的檔案,可以利用此資訊將這些檔 案集合且細微地(at οπή cal ly)寫回至硬碟10中。广 然而,由共享資料管理單元4執行及由檔案系統6管 理的檔案,是與任何交易無關的。交易在交付時間中,即 將這些檔案寫回至硬碟10中的時間,是由共享資料管理單 元4在執行交付(CO丽IT)行程時所判斷的。 最後,會提供檔案系統6 —個函式(function),作 爲命令將檔案寫回至硬碟10中,而開啓檔案及更新檔案是 藉由共享資料管理單元4來執行,與任何交易無關,而檔 案的寫回,則是由特定交易在執行交付的期間中,同步細 微地將檔案寫入。 共享資料管理單元4會產生交付行程(CCMMIT processing),將有特定交易識別碼的交易所更新的內容 反映至檔案中,然後命令檔案系統6,將檔案同步寫回至硬 碟10中,且是經由有特定交易識別碼的交易來執行。檔案 系統6用此特定的方法,在有特定交易識別碼的交易的交 付期間中,將檔案細微地寫回至硬碟10中,如同交易管理 資料表61所指出的,會同時藉由交易將檔案更新。 請注意,無論如何,藉由應用程式2直接命令檔案系 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公釐) -----------------r---訂---------線 (請先閲讀背面之注音?事項再填寫本頁) 經濟部智慧財產局員工消費合作社印製 550474 A7 B7 6702pif.d〇c/〇〇6 五、發明說明(β) 統6,對交易執行命令所更新的檔案資訊,(如交易管理資 料表61的單體及在緩衝區62中的檔案影像一樣)會在檔 案系統6的交付行程結束後,變得不必要。換句話說,藉 由與特定交易無關的共享資料管理單元4,所執行的更新檔 案作業,即使在交付行程結束後,亦會藉由其他的交易繼 糸賣執f 了更新作業’所以适些檔案會在與任何交易無關的情 形下,轉共享資料管理單元4繼續使用。爲此,檔案系統6 會繼續保持與這些檔案有關的資訊。 接下來,會對終止(ABORT)指令的處理程序加以描述。 請參考第19圖,其繪示的是ABORT (txid)指令的處理 行程。 在父付的過程中,每一個在檔案中的單體會藉由圖19 中的行程給實現出來。 首先,會在步驟sill中,先判斷單體的TXSTATE屬性 値爲何。 如果沒有TXSTATE屬性,則就不需執行動作,因爲沒 有交易在存取此單體。 如果是在TXSTATE屬性値爲"讀取"的情況下,則會在 步驟sll2中,判斷"txid"値是否包含在TXID屬性値中, 如果"txid"包含在步驟sll2的TXID屬性値中,且在步驟 s 113中,有其他的父易識別碼也包含在TXID屬性値中,則 會在步驟si 14中,將ntxidn從TXID屬性値中移除。如果 在步驟si 13中,在TXID屬性値中只有"txidπ這個値,則 會在步驟si 15中,將TXID屬性値及TXSTATE屬性値給刪 本紙張尺度適用中國國家標準(CNS)A4規格(21〇 X 297公釐) 裝-----r---訂---------線表 (請先閱讀背面之注意事項再填寫本頁) 經濟部智慧財產局員工消費合作社印製 550474 A7 B7 6702pif.doc/006 五、發明說明up 除掉。 (請先閱讀背面之注意事項再填寫本頁) 如果TXSTATE屬性値是在”更新"的情況下,則會在步 驟sll6中,判斷TXSTATE屬性値是否爲"txld"。如果 TXSTATE屬性値,則會產生取消單體的更新作業。 對此,如果在步驟sll7中,在單體中有<oldvalue>區間存 在,則在步驟sll8中,會將目前的<〃&11^>區間刪除,且 <oldvalue>區間的標籤名稱會被更改爲<value>,即將値 (value)更新回未更新前的値,而TXID屬性値及TXSTATE 屬性値也會被刪除掉。如果在步驟si 17中,在單體中沒有 <oldvalue>區間,則在步驟sll9中,會有新的單體被此交 易新增出來,而此單體就會被刪除掉。 如果TXSTATE屬性値是在π刪除π的情況下,則會在步 驟S120中,判斷TXSTATE屬性値是否爲"txid"。如果 TXSTATE屬性値爲4\丨〇1",則會在步驟sl20中,將TXID屬 性及TXSTATE屬性給刪除掉,如同取消刪除(REMOVE) — 樣。 經濟部智慧財產局員工消費合作社印製 請注意,在終止(ABORT)的例子中,被執行終止的檔 案更新內容,會在緩衝區62中取消掉。針對此點,如果有 另一個已執行交付的交易,也更新此相同的檔案,則被終 止的更新內容,有可能也會被寫入此檔案中。然而,在交 付行程期間中,並不是絕對會從緩衝區62中,將取消的結 果寫入硬碟10的檔案中,這是因爲,當在下次有另外的交 易在更新此相同的檔案時,且此時已執行交付時,則被終 止交易(aborted transaction)取消的更新內容,會被正 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公釐) 550474 A7 B7 6702pif.doc/006 五、發明說明(》ό) 確反映在硬碟10中。除此之外’即使下次沒有交易在更新 此檔案,且在系統有錯誤的期間中所取消的作業行程會被 遺忘的情況下,不交付交易所執行的更新狀態’仍然可以 藉由下述的回復行程’在下次開啓此檔案時’將硬碟10中 的檔案給取消掉。 接著,會對回復(recovery)的處理行程加以描述。 在本實施例的交易處理系統中,檔案藉由不交付交易 所更新的狀態,將此檔案寫回至硬碟10中。對此’當系統 有錯誤發生時,檔案更新的狀態仍然存在,因而有必要藉 由回復行程,將存留在更新狀態的更新內容取消掉。在傳 統的交易處理系統中,這樣的回復行程必須在錯誤發生後 的重新驅動時間中,將檔案立即回復完整。爲此,錯誤發 生後的重新驅動時間會過大。相對於本實施例的交易處理 系統,本實施例可以在下一次從硬碟10讀取此檔案的時間 中,執行回復行程。 請參考第20圖,其顯示的是回復(recovery)的處理 程序。 當共享資料管理單元4命令檔案系統6執行開啓行程 (open processing),是爲了提父尙未在緩衝區62的檔 案,爲此,檔案系統6會從硬碟1〇中讀取此檔案,且會將 此檔案備份至緩衝區62中。就此而言’共享資料管理單元 4會藉由圖20中的程序,產生與檔案中的單體有關的回復 行程。 首先,會在步驟s201中,判斷單體的TXSTATE屬性値 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公釐) 裝-----r---訂---------線 (請先閱讀背面之注意事項再填寫本頁) 經濟部智慧財產局員工消費合作社印製 經濟部智慧財產局員工消費合作社印製 550474 6702pif.doc/006 A7 B7 五、發明說明up 爲何。 如果沒有TXSTATE屬性,則就不需執行動作,因爲沒 有交易在存取此單體。 如果是在TXSTATE屬性値爲"讀取"的情況下,則會在 步驟s202中,刪除TXID屬性及TXSTATE屬性。 如果是在TXSTATE屬性値爲”更新”的情況下,則意謂 著因某些交易在更新此單體,使得錯誤發生,所以這些更 新內容都會被取消。對此,運作的方式是與判斷在單體中 是否有<oldvalue>g間的方式不同。如果在步驟s203中, 有<oldvalue>區間存在於單體中,則表示此單體是在交易 開始前就已存在的,所以在步驟S204中,會將目前的 <value>M間刪除,而<olcWalue>區間的標籤名稱也會被改 成〈value〉,如同未更新前的値一般,TXID屬性及TXSTATE 屬性也都會被刪除。如果在步驟s203中,在單體中沒有 <oldvaliie>·間存在,則一個新的單體會被交易新增出 來,所以此單體會在步驟s205中被刪除。 如果是在TXSTATE屬性値爲”移除"的情況下,則在步 驟s206中,TXID屬性及TXSTATE屬性也都會被刪除,如同 取消移除(REMOVE)指令一般。 如果像這樣的回復行程,在每一次從硬碟1〇讀取資料 時都會發生,則會使處理時間過大。因此,當檔案被寫入 時,會藉由檔案所包含的更新狀態,指派資訊給檔案,使 之容易識別各個檔案,如此則會使回復行程的時間縮短。 在圖21中更指出,無論某些交易目前有無更新檔案,此資 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公釐) -------II--^ in--— It--------- (請先閱讀背面之注意事項再填寫本頁) 550474 6702pif.doc/0〇6 A7 B7 五、發明說明(户) (請先閱讀背面之注意事項再填寫本頁) 訊皆會被提供,如同文件在圖21中的行程元的屬性所呈現 的,藉由開頭名稱爲<KVtable>的屬性TXNUM指出的兩個交 易’父易(1)及交易(2),目則正在更新檔案。因此,當檔 案先從硬碟10中被讀出時,如果檔案的根元件(root element )有TXNUM屬性,則圖20中的回復行程會產生有 關在檔案中的每一個單體(entry)。但如果沒有TXNUM屬 性,則就不需要回復行程。 現在’針對此觀點加以描述如下。單體是被紀錄在跟 元件(root element ) <KVtable〉下的平坦化結構,但也有 可能會使用別的結構,使搜尋的速度更快,例如我們較爲 熟悉的二兀樹結構(binary tree structure),在圖22 中即顯示類似此種結構的檔案資料。在這個例子中,在單 體(entry)中,除了有<]^7>與<^&11^>外的元件外,還有 經濟部智慧財產局員工消費合作社印製 的元件。而此二元樹結構是藉由放置有 key値的單體而形成,此key値是一個小於在<less>下元件 及大於下元件的値。即使在此情況中,被交易 執行更新(UPDATE)或移除(REMOVE)的更新內容,也可 以如在平坦化結構中處理一般。然而,卻有一個行程是需 要進行的,即必須藉由單體的增加或刪除,對樹狀結構加 以識別。此行程正與在原本的樹狀結構中處理節點的增加/ 刪除相同。在樹狀結構的重建時間中,有可能藉由如AVL 樹(AVL t r e e )的方法重建此樹(t r e e ),此方法可以使 其分支(branches)平衡分布,或是重建一種樹,作爲存 取高頻率的單體,使之放置接近於樹根的位置。 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公釐) 550474 經濟部智慧財產局員工消費合作社印製 67〇2pif·doc/006 B7 五、發明說明(#) 本發明的交易處理系統,也可以使用如b-tree的管理 結構,來個別管理檔案。在圖23、24、25中,即顯示此情 形的範例。在這裡’單體的增加/刪除行程’會被同一個演 算法,如B-TREE,給產生出來。在此B-TREE中,一個檔案 最多能有六個單體’如果單體的數量超過六個’則此檔案 會被分割。在圖23、24、25及26的例子中,檔案FILE001 是根檔案(root file),而檔案 FILE002、FILE003 及 FILE004 是放置在根檔案(root file)下。 請參考第27圖’其繪示的是交易處理系統的模組,係 紀錄及管理一資訊組’且將之分別寫入多個檔案中。 在圖27中的模組是不同於圖1的模組,其差別在於圖 27的共享資料管理單元4中,有更新群組資料表42,將詳 述之於下。當檔案間的結構,會因爲檔案間的資訊移動而 改變,則就有必要將這些檔案在交付期間中,將之寫回硬 碟10中。更新群組資料表42是用來管理,kl必須將一群 檔案在交付時間同步寫回至硬碟10 Ψ,或是必須將一群檔 案在交付時間同步刪除的單元。 / 請參考第28圖,其繪示的是更新群組資巧表、2的範 例。此更新群組資料表42係紀錄每一個檔案群組的構件檔 案,而這些構件檔案必須在交付時間中被同步寫回至硬碟 10 或刪除。例如在圖 28 中,FILE0CM、FILE002 及 FILE005 即構成一個群組。 現在,從根檔案FILE001開始的行程,會開始從圖23、 24、25及26的FILE001,尋找鑰匙(key)的 36 本紙張尺《細中國國家鮮(CNS)A4規格(210 X 297公爱) <請先閱讀背面之注意事項再填寫本頁) 訂--------- 經濟部智慧財產局員工消費合作社印製 550474 67〇2pif.doc/0〇6 A7 B7 五、發明說明(外) 單體。首先,當key與〃KIWIFRUIT〃比較,會發現key比較 大。接著,當key與"ROSEMARY"在<greater>端比較,會 發現key比較大。接著,當<gr eater >端被參考到,則會 連結(link)到檔案FILE004。接下來,尋找的程序回持續 移轉至檔案FILE004中,而當key與"THYME"比較,會發現 key比較小。接著,當< less>端被參考到,則key爲 "SESAME"的單體即被找到。只要單體是用此種方法被尋找 到,則隨後在單體上的操作就會與上述實施例的描述類 似,如被更新的狀態會藉由指派TXID屬性及TXSTATE屬 性,保存在回復形式中。 例如在圖23、24、25及26中的資料狀態,假設現在 交易(1)要更新單體key爲〃 ORANGE”的値爲π¥250”及單 體key爲"SESAME”的値爲”¥150”,而交易(2)則要與交 易(1)並行執行刪除key爲"V0DKAn的單體。在此狀況中, 圖25及26中的資料會變成圖29及30中顯示的資料。這 種如更新或移除的更新狀態,與輸入所有單體至檔案中的 情形是一樣的,即藉由指派TXID及TXSTATE的兩個屬性, 來管理更新的單體。 接者在圖29及30中的例子,會對交易(1)及交易(2) 分別被執行交付及終止指令的情形加以描述。 首先,在交易(1)的交付期間中,被交易(1)執行更新 的單體只會存在於檔案FILE003及FILE004中。而在圖31 及32中的資料狀態,則會經由產生與檔案FILE003及 FILE004有關的交付行程而獲得,而這些資料會與交易(1) 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公釐) ----------4^·裝------丨丨訂--------^一^ (請先閱讀背面之注意事項再填寫本頁) 550474 6702pif.doc/006 B7 經濟部智慧財產局員工消費合作社印製 五、發明說明〇() 更新的其他檔案一起被寫回至硬碟10中。對此,當檔案 FILE004被寫回時,在檔案FILE004中會包含被交易(2)所 更新的狀態,此情形類似於上述實施例所描述的情形。 接著,在交易(2)的終止(abort )時間中,被交易(2) 執行更新的單體只會存在於檔案FILE004中。而在圖33中 的資料狀態,則會經由產生與檔案FILE004有關的終止行 程而獲得,隨即終止行程就會被結束。如同上述的實施例, 並不需要在終止時間中,將檔案寫回至硬碟10中。 接著在圖34、35及36中繪示的是,資料在新的交易 (3)增加key爲”0000”的單體與key爲”HOOPOE”的單體,以 及在上述指令的結束狀態中,將其値分別設爲π¥5000000π 及"¥ 980000"後的狀態。在這裡,單體的數量會被事先輸 入至檔案中,使得當增加的單體超過一個檔案所能容忍的 數量時,檔案間的重組就會發生,而且單體也會被移動。 在圖34、35及36的例子中,所增加的兩個單體,分別是 key爲"D0D0"的單體及key爲”HOOPOE”的單體,都會增加至 檔案FILE002。當單體在移動時,檔案FILE002會被切分, 而新的檔案FILE005則會被新增出來。 .當單體用這種方法在檔案間作移動·,或是在增加新檔 案或刪除檔案時,這些檔案的更新內容會一起反映至硬碟 10中。爲此,本實施例的交易處理系統中的共享資料管理 單元4,即會管理更新群組資料表42。在圖34、35及36 中,在因新增單體至檔案FILE002而導致檔案FILE002的 分割檔案FILE001的更新及檔案FILE005的新增發生的 3X 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公釐) ~ (請先閱讀背面之注意事項再填寫本頁) 零-裝 1.· 1 I n I 1 ϋ 1 n I · 0 550474 6702pif.doc/006 A7 經濟部智慧財產局員工消費合作社印製 B7 五、發明說明() 情況下,共享資料管理單元4會登記檔案file〇〇1、file〇〇2 及FILE005成爲一個單一的群組。 在交易(3)的交付期間中,被交易(3)所更新的單體只 會存在於檔案FILE001及FILe〇〇5中,但它必須查閱更新 群組資料表42,確定檔案HLE〇〇2也會同時寫回至硬碟1〇 中。接著’會在圖37及38中描述三個檔案,包括執行交 付行程的檔案FILE001與FILE005,及被寫回至硬碟10中 的檔案FILE002的情形。 如上述所述’在交付交易的情形中,會將被交易交付 的檔案’優先選擇爲寫回至硬碟10中的候選者,而在此檔 案中會包含有更新的資料、新增的資料或是刪除的資料。 如果在更新群組資料表42中包含有任何候選檔案的群組, 則所有在群組中的檔案都會被加入至候選檔案中。直續重 複這個動作’直至找到其他的候選者爲止。因爲是有可能 將所有需寫回至硬碟中及須立即刪除的檔案找到。交付行 程會藉由寫回需寫回至硬碟的檔案及從硬碟刪除應安除的 檔案而完成交付行程。 在本發明中,即使在交易所更新^檔案被交付寫回至 硬碟的時間中,有另外一個不交付交易執行更新相同的檔 案’此時在寫回至硬碟的檔案中,是挾帶被不交付交易 (non-co_itted transaction)所更新的資料及取消更新 的資訊。也就是說,包含在此檔案及其他檔案間的資料移 動、新檔案的增加或某檔案的刪除,都是與不交付交易資 料的更新、增加或刪除有關。在這些情形中,被不交付交 39 I I Awl illlm ------- (請先閲讀背面之注意事項再填寫本頁) 本紙張尺度適用中國國家標準(CNS)A4 x 297公爱i 550474 6702pif.doc/006 A7 B7 五、發明說明(3) (請先閱讀背面之注意事項再填寫本頁) 易所增加的檔案會被寫回至硬碟中,而被不交付交易所刪 除的檔案也會被寫回至硬碟中,那是因爲怕假設在這個狀 態下有錯誤發生,則不交付交易所更新的資料會被取消 掉,所以必須將該些檔案寫回至硬碟中。 更新群組資料表會針對上述之描述,在交付行程時間 中,將所有必須寫回至硬碟中檔案間的群組關係,及必須 同時從硬碟中刪除的檔案紀錄下來,使得在上述的交付處 理程序中,可以藉由參考更新群組資料表來選定檔案,是 有可能在交易的交付行程時間中,將所有必須同步寫回或 刪除的候選檔案選擇完。 在實現本發明的交易處理系統中,即上述將資料分別 除放在多個檔案的情形中,是有可能依據不同的規則,限 制可輸入至檔案中的單體個數。例如,可以如圖34、35及 36所使用的限制單體個數的方法,也可以依據檔案的實體 大小來決定限制單體個數的方法,或是依據如增加/刪除次 數的資訊來改變單體的最大數目的方法,或者是任何這些 方法的組合...等等。 , 經濟部智慧財產局員工消費合作社印製 如在本實施例中所提及的,將資料分別儲存至檔案的 方法,是有其優點存在的,即如果只有一部分的單體被更 新,甚至更新的單體數量很大時,會使得在交付時間中寫 回至硬碟的資料量減少。在輸入所有單體至檔案的方法 中,是必須在交付期間中將單體檔案寫回至硬碟中,即使 只有一部份很大的檔案被更新。 現在,直接應用一對key及value的結構,來描述本 40 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公釐) "~ 經濟部智慧財產局員工消費合作社印製 550474 6702pif.doc/006 A7 B7 五、發明說明(郑) 發明資料庫的例子。接著,會舉另外的例子,來描述本發 明應用在更多XML文件上的情形。 請參考第39圖,其繪示的是一般XML文件的例子,而 第40圖繪示的是,交易(1)在圖39中,將 "<t 111 e>NAG〇YA< /1 i 11 e>在 cchapt er> 中的 <aut hor>改爲 "MISOKATSU"的情形,及交易(2)在圖39中,增加 M<chap t erxt 111 e>HAKATA</1111 exaut hor>KARASHIMENT AIKO </authorx/chapter>n欄位的情形。 在這之後,交易(1)會在交付期間中,在圖41顯示資 料更新的情形,及將更新的資料寫回至硬碟中的情形。 除此之外,交易(2)會在交付期間中,在圖42中顯示 出資料更新的情形,及將更新的資料寫回至硬碟中的情 形。 即使是使用一般的XML文件當作處理的目標,當在錯 誤發生時,還遺留在更新狀態中的檔案,仍會在下一次從 硬碟中被讀取檢查,而回復行程會用ADD當作屬性李刪除 元件,會用REMOVE當作屬性來保留元件,如此被不交付交 易臨時更新的資料就會被取消。 依據本發明所描述的,可以藉由簡單的處理程序來實 ' · - 、* 現被多個交易同時執行更新檔案的狀態。在本發明中,並 不需要複雜的程序來處理資料的更新、交,付或回復,不像 習知的WAL方法或是影子分頁方法,需要藉由特殊的登錄 管理來實現資料的更新、交付或回復。 而且,在本發明中,也不需要在錯誤發生後的重新驅 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公釐) (請先閱讀背面之注意事項再填寫本頁) / I ▼I i丨—丨丨丨訂丨!丨__! · 550474 6702pif.doc/006 A7 B7 經濟部智慧財產局員工消費合作社印製 五、發明說明(>p 動時間中產生回復行程,它會在下次使用此檔案時,產生 足夠的回復行程,所以回復行程的處理時間會變得很少。 除此之外,在本發明中,可以藉由將資料分別存放至 檔案的管理方法,使資料在交付時間中寫回至硬碟的資料 量變少。 如此,依據本發明,可以藉由多個交易平行操作及錯 誤發生時的回復行程,提供交易處理系統及交易處理方法 更簡單及有效的檔案更新處理,。 在本發明中,當有一個交易在更新一個檔案的同時, 有另一個交易也在交付時間中更新此檔案,則被另一個交 易所更新的內容及取消更新的內容都會被寫入穩定記憶體 裝置中(例如,硬碟),所以可以在維持交易的細微性 (atomicity)的時候(事實上,甚至可以保證在錯誤發生 的情形中,使得每一個交易所更新的內容在穩定記憶體裝 置中不是所有有效(交付)就是所有無效(終止),而沒 有其他狀態產生),實現了多個交易可以同時更新檔案的 資料內容,而不是使用複雜的管理方法所提供的一從個別 的檔案中使用登錄的方式。 在交付一個交易後,又有另一個被交付的交易更新相 同檔案的情形中,此檔案會包括後來被執行交付交易所更 新的內容及一部份較早被執行交付交易所更新的內容,沒 被後來被交付的交易寫入的檔案,會被較早寫入至穩定記 憶體裝置的檔案所覆寫(包括被後來被交付的交易所寫入 的更新內容及取消更新的資訊),使得可以維持交易的細 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公釐) ----I L I I I — I ^il — Ι — — —^· J.— I I--- f%先閱讀背面之注意事項再填寫本頁) 550474 6702pif.doc/006 A7 一 B7 經濟部智慧財產局員工消費合作社印製 五、發明說明(+D) 微性。而在一個交易被交付後,另一個也更新相同檔案的 交易被終止的情形中,在被終止的交易所更新的內容被取 消後,此檔案在會被較早寫入至穩定記憶體裝置的檔案所 覆寫(包括被後來被交付的交易所寫入的更新內容及取消 更新的資訊),但交易的細微性就不會是藉由在終止時間 中的任何操作所維持,而是在下一次讀取此檔案的時間 中,藉由回復行程來維持交易的細微性。 不管系統的錯誤發生是在更新相同檔案的另一個交易 父付前,或是交易交付後終止,被交付交易更新的內容都 會正確反映在穩定記億體裝置的檔案中。除此之外,藉由 回復行程,會取消由另一個不交付交易所更新的內容,如 同這交易被終止一般,使得交易的一致性會被維持著。更 甚者,並不需要從錯誤的回復時間中產生回復行程,因爲 會在下一次讀取檔案時產生回復行程。 同樣的,藉由可同步寫入來實現可將檔案切割微小的 寫入,保證從交易的行程開始到交易的交付時間中,被交 易所執行的有關檔案的更新內容,在穩定記憶體裝置中不 是全部有效(交付)就是全部無效(終止),而沒有其他 狀況存在(不可能只有一部份被交易更新的內容有效,而 另一部份無效,即使在系統有錯誤發生時也不可能)。 在上述所提及的穩定記憶體裝置是像硬碟的記憶體裝 置。在其中,即使電源被關掉也不會造成儲存資料的流失。 而且可以依據上述本發明所描述的實施例,藉由習知一般 用途的數位電腦設計技術,將這些技術用電腦技藝呈現出 (請先閱讀背面之注意事項再填寫本頁) 裝 I 1 ϋ ----訂---- 華 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公釐) 550474 67 02pi f. doc/ 0 0 6 A7 五、發明說明) 來。由專業程式設計師利用目前所揭露的技術’將適合的 軟體碼立即呈現出來’如同在軟體技藝的技術中所呈現的 一般。 另外’在上述實施例中的父易處理系統’可以藉由一' 種軟體封包(software package)形式來加以實現。 像這樣的軟體封包,可以是使用一種儲存裝置儲存包 含電腦碼的電腦程式產品,而此電腦碼是用來設計電腦執 行本發明所揭露的程式及行程。使用中的儲存裝置可以包 括,但不限定於習知的軟碟、光碟、CD-ROM、MO、ROM、RAM、 EPROM、EEPR0M、磁卡或光卡(magnetic or optical cards), 或是任何可以儲存電子指令的裝置。 雖然本發明已以較佳實施例揭露如上,然其並非用以 限定本發明,任何熟習此技藝者,在不脫離本發明之精神 和範圍內,當可作各種之更動與潤飾,因此本發明之保護 範圍當視後附之申請專利範圍所界定者爲準。 I — — — — —— — .Awl — — — — — — II ^ — — — — — — — — (請先閱讀背面之注意事項再填寫本頁) 經濟部智慧財產局員工消費合作社印製 丰紙張尺度適用中國國豕“準(CNS)A4規格(21〇 X 297公爱)

Claims (1)

  1. 550474 A8 B8 6702pif.doc/006 惡 六、申請專利範圍 1. 一種交易處理方法,該交易處理方法之步驟包括: 執行複數個交易,該些交易可執行有關於一檔案之更 新處理,而該檔案係從一緩衝區中所讀出之該檔案;以及 在一該些交易之一交付時間中,將該檔案寫入至一穩 定記憶體裝置,該檔案包括該交易所執行之一交付更新內 容、一不交付交易所執行之一不交付更新內容,及取消有 關該不交付更新內容之一資訊。 2. 如申請專利範圍第1項所述之交易處理方法,該交 易處理方法之步驟更包括: % 在另一該些交易之該交付時間中,在該檔案上複蓋一 更新檔案,然後將該檔案寫入至該穩定記憶體裝置中;以 及 該更新檔案包括另該交易所執行之一新交付更新內 容,及一部分已被該些交易執行該交付更新內容,而該交 付更新內容與新交付更新內容之間並無衝突存在。 3. 如申請專利範圍第1項所述之交易處理方法,該交 易處理方法之步驟更包括: 檢查從該穩定記憶體裝置所讀出之每一該檔案中,是 否有包括該不交付,交易所執行之該不交付更新內容,及取 消有關該不交付更新內容之該資訊;以及 將每該檔案設定成一狀態,該狀態是指當在每該檔案 中,有包括該不交付更新內容及取消該不交付更新內容之 該資訊時,則藉由該資訊刪除i亥不交付更新內容。 4. 如申請專利範圍第1項所述之交易處理方法,該交 -----------Φ裝--------訂-----.----線· (請先閱讀背面之注意事項再填寫本頁) 經濟部智慧財產局員工消費合作社印製 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公釐) 550474 A8 B8 67〇2pif.doc/0〇6 六、申請專利範圍 易處理方法之步驟更包括: (請先閱讀背面之注意事項再填寫本頁) 當有另該交易在該緩衝區中對另該檔案執行有關更新 處理時,則將另該檔案與該檔案同步寫入該穩定記憶體裝 置中,其中,在另該檔案中包括另該交易所執行之該交付 更新內容。 5. 如申請專利範圍第1項所述之交易處理方法,其中 在複數個檔案中之該檔案,係分別紀錄一資訊組。 6. 如申請專利範圍第5項所述之交易處理方法,該交 易處理方法之步驟更包括: 調整該些檔案,以使每一該些檔案之檔案大小,都能 依照一規定標準所規範,而該規定標準會與該交易在該緩 衝區中所執行之該交付更新內容有關,該規定標準會使該 檔案至少會有一附加新檔、能在檔案間作一資料移動及可 刪除一不必要檔案;以及 經濟部智慧財產局員工消費合作社印製 其中,寫入步驟係執行該些檔案的寫入,而該些檔案 是在調整步驟中所新更新及新增的,二者擇一中產生的, 與寫入該穩定記憶體裝置之該交付更新內容有關,另外, 寫入步驟亦執行該些檔案之刪除,該些檔案是在調整步驟 中所刪除的,與從穩定記憶體裝置中所讀出之該交付更新 內容有關,然後,再細微地執行該檔案之寫入。 7. 如申請專利範圍第6項所述之交易處理方法,其 中,調整步驟亦調整與該不交付交易所執行之該不交付更 新內容之該些檔案有關,而寫入步驟亦執行該些檔案的寫 入,而該些檔案是在調整步驟中所新更新及新增的,二者 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公釐) 550474 A8 B8 6702pif.doc/006 罐 六、申請專利範圍 擇一中產生的,與寫入該穩定記憶體裝置之該不交付更新 內容有關,另外,寫入步驟亦執行該些檔案之刪除,該些 檔案是在調整步驟中所刪除的,與從穩定記憶體裝置中所 讀出之該不交付更新內容有關,然後,寫入步驟再細微地 執行該檔案之寫入。 8. —種交易處理系統,該交易處理系統包括: 一讀取單元,係作爲讀取一檔案之用,該檔案係從一 穩定記憶體裝置讀出至一緩衝區之一交易處理目標; 一更新單元,係藉由寫入一更新內容至該緩衝區中之 該檔案來更新該檔案,而該更新內容係與被每一複數個交 易執行更新之該檔案及取消更新該檔案之一資訊有關;以 及 一寫入單元,係在一該些交易之一交付時間,寫入該 檔案至該穩定記憶體裝置中,在該檔案中包括該交易所執 行之一交付更新內容、一不交付交易所執行之一不交付更 新內容及取消該不交付更新內容之該資訊。 9. 如申請專利範圍第8項所述之交易處理系統,其中 該寫入單元所取得之該檔案,係藉由刪除該資訊來寫入該 檔案至該穩定記憶體中,而該資訊係取消該交易所執行之 該交付更新內容,該交付更新內容係該交易在該緩衝區中 藉由該更新單元更新該檔案而得到的。 10. 如申請專利範圍第8項所述之交易處理系統,其中 該讀取單元所讀取之複數個檔案,包括可個別紀錄一資訊 組之該檔案; 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公釐) -------------------訂---------線 4P (請先閱讀背面之注意事項再填寫本頁) 經濟部智慧財產局員工消費合作社印製 550474 A8 B8 6702pif.doc〆〇06 ^ 六、申請專利範圍 (請先閱讀背面之注意事項再填寫本頁) 該更新單元亦會調整該些檔案,以使每一該些檔案之 檔案大小,都能依照一規定標準所規範,而該規定標準會 與該交易在該緩衝區中所執行之該交付更新內容有關,該 規定標準會使該檔案至少會有一附加新檔、能在檔案間作 一資料移動及可刪除一不必要檔案;以及 該寫入單元亦會藉由調整與該交付更新內容有關之該 交易,將新更新及新增,二者擇一之該些檔案寫入至該穩 定記憶體裝置,另外,該寫入單元亦執行該些檔案之刪除, 該些檔案是在調整步驟中所刪除的,與從穩定記憶體裝置 中所讀出之該不交付更新內容有關,然後,該寫入單元再 細微地執行該檔案之寫入。 11. 如申請專利範圍第10項所述之交易處理系統,其 中該更新單元亦調整該些檔案,係調整與該不交付交易所 執行之該不交付更新內容之有關,而該寫入單元亦執行該 些檔案的寫入,而該些檔案是新更新及新增的,二者擇一 中產生的,會藉由調整與寫入該穩定記憶體裝置之該不交 付更新內容有關,另外,該寫入單元亦執行該些檔案之刪 經濟部智慧財產局員工消費合作社印製 k 除,會藉由調整將該些檔案刪除,其中,刪除之該些檔案 係與從穩定記憶體裝置中所讀出之該不交付更新內容有 關,然後,該寫入單元再細微地執行該檔案之寫入。 12. —種電腦使用媒介,係一電腦讀取程式碼,該電腦 讀取程式碼會導致一電腦之運作具體化,即一交易處理系 統,該電腦讀取程式碼包括: 一第一電腦讀取程式碼,係引導該電腦執行讀取一檔 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公釐) 550474 A8 B8 6702pif.doc/006 六、申請專利範圍 案,將該檔案作爲從一穩定記憶體裝置讀出至一緩衝區之 一交易處理目標; 一第二電腦讀取程式碼,係引導該電腦執行更新該檔 案之用,藉由寫入一更新內容至該緩衝區之該檔案中,來 更新該檔案,而該更新內容係與每一複數個交易對該檔案 所執行之該更新內容有關,及與取消該更新內容之一資訊 有關;以及 一第三電腦讀取程式碼,係引導該電腦執行寫入該檔 案至該穩定記憶體裝置中,且係在一該些交易之一交付時 間中寫入該檔案,該檔案內容包括該交易所執行之一交付 更新內容、另一不交付交易所執行之一不交付更新內容, 及取消該不交付更新內容之該資訊。 --------------------訂---------線 41^ (請先閱讀背面之注音?事項再填寫本頁) 經濟部智慧財產局員工消費合作社印製 49 本纸張尺度適用中國國家標準(CNS)A4規格(210 X 297公釐)
TW089118907A 1999-09-29 2000-09-15 Transaction processing system applying with efficient file updating and recovery processes TW550474B (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP27626499A JP4237354B2 (ja) 1999-09-29 1999-09-29 トランザクション処理方法及びトランザクション処理システム

Publications (1)

Publication Number Publication Date
TW550474B true TW550474B (en) 2003-09-01

Family

ID=17567023

Family Applications (1)

Application Number Title Priority Date Filing Date
TW089118907A TW550474B (en) 1999-09-29 2000-09-15 Transaction processing system applying with efficient file updating and recovery processes

Country Status (5)

Country Link
US (2) US6519614B1 (zh)
EP (1) EP1089177B1 (zh)
JP (1) JP4237354B2 (zh)
KR (1) KR100398753B1 (zh)
TW (1) TW550474B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI812012B (zh) * 2021-09-06 2023-08-11 日商鎧俠股份有限公司 資訊處理裝置

Families Citing this family (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4237354B2 (ja) * 1999-09-29 2009-03-11 株式会社東芝 トランザクション処理方法及びトランザクション処理システム
US7512635B1 (en) * 2000-12-18 2009-03-31 Bmc Software, Inc. System and method for updating information on a computer system using a limited amount of space
US7555500B2 (en) * 2001-02-15 2009-06-30 Teradata Us, Inc. Optimized end transaction processing
KR100625595B1 (ko) * 2001-05-28 2006-09-20 한국전자통신연구원 트랜잭션 처리 시스템의 병렬 로깅 방법 및 트랜잭션 로그 처리 시스템
US6857053B2 (en) * 2002-04-10 2005-02-15 International Business Machines Corporation Method, system, and program for backing up objects by creating groups of objects
US7430740B1 (en) 2002-04-12 2008-09-30 724 Solutions Software, Inc Process group resource manager
US7076508B2 (en) * 2002-08-12 2006-07-11 International Business Machines Corporation Method, system, and program for merging log entries from multiple recovery log files
US20040230896A1 (en) * 2003-05-16 2004-11-18 Dethe Elza Method and system for enabling collaborative authoring of hierarchical documents with unique node identifications
US7243088B2 (en) * 2003-08-06 2007-07-10 Oracle International Corporation Database management system with efficient version control
US7490113B2 (en) * 2003-08-27 2009-02-10 International Business Machines Corporation Database log capture that publishes transactions to multiple targets to handle unavailable targets by separating the publishing of subscriptions and subsequently recombining the publishing
US7269588B1 (en) 2003-09-24 2007-09-11 Oracle International Corporation Neighborhood locking technique for increasing concurrency among transactions
US7555481B1 (en) 2003-10-28 2009-06-30 Oracle Corporation Method and apparatus for increasing transaction concurrency by early release of locks in groups
US7730489B1 (en) * 2003-12-10 2010-06-01 Oracle America, Inc. Horizontally scalable and reliable distributed transaction management in a clustered application server environment
US7739244B2 (en) * 2004-10-14 2010-06-15 Oracle International Corporation Operating logging for online recovery in shared memory information systems
JP2006163596A (ja) * 2004-12-03 2006-06-22 Internatl Business Mach Corp <Ibm> 情報処理システム、制御方法、及びプログラム
US7539694B1 (en) 2005-02-04 2009-05-26 Marvell International Ltd. Concurrently searching and manipulating binary trees
GB0506059D0 (en) * 2005-03-24 2005-05-04 Ibm Methods and apparatus for switching between data streams
US20060265485A1 (en) * 2005-05-17 2006-11-23 Chai Sek M Method and apparatus for controlling data transfer in a processing system
JP4571090B2 (ja) * 2006-03-28 2010-10-27 株式会社野村総合研究所 スケジューラプログラム、サーバシステム、スケジューラ装置
US8112396B2 (en) * 2006-06-07 2012-02-07 Emc Corporation Backup and recovery of integrated linked databases
US7860847B2 (en) * 2006-11-17 2010-12-28 Microsoft Corporation Exception ordering in contention management to support speculative sequential semantics
US8024714B2 (en) 2006-11-17 2011-09-20 Microsoft Corporation Parallelizing sequential frameworks using transactions
US8010550B2 (en) * 2006-11-17 2011-08-30 Microsoft Corporation Parallelizing sequential frameworks using transactions
JP4942519B2 (ja) * 2007-03-14 2012-05-30 株式会社日立製作所 情報処理装置、プログラム及び情報処理方法
US20080319878A1 (en) * 2007-06-22 2008-12-25 Thorsten Glebe Dynamic Time Series Update Method
US9621649B2 (en) 2007-09-28 2017-04-11 Xcerion Aktiebolag Network operating system
KR101583716B1 (ko) 2009-01-30 2016-01-08 삼성전자주식회사 비트 로깅을 이용한 데이터 복구 방법 및 그 장치
US9325802B2 (en) * 2009-07-16 2016-04-26 Microsoft Technology Licensing, Llc Hierarchical scale unit values for storing instances of data among nodes of a distributed store
KR101587995B1 (ko) * 2009-10-28 2016-01-22 삼성전자주식회사 적응적 로깅 장치 및 방법
JP5427593B2 (ja) * 2009-12-25 2014-02-26 富士通フロンテック株式会社 情報処理装置、情報処理方法、および情報処理プログラム
US20120222051A1 (en) * 2011-02-25 2012-08-30 Microsoft Corporation Shared resource access verification
CN102131002B (zh) * 2011-03-29 2016-10-05 华为终端有限公司 一种手机数据处理方法和装置
JP5949937B2 (ja) * 2012-10-29 2016-07-13 日本電気株式会社 トランザクションシステム
US20160275089A1 (en) * 2015-03-17 2016-09-22 Netapp, Inc. Methods for implementing nosql database snapshots and devices thereof
US20200092160A1 (en) * 2018-09-18 2020-03-19 Electronics And Telecommunications Research Institute Fault event management method for controller-based restoration
EP4133379B1 (en) * 2020-04-08 2023-12-27 nCipher Security Limited A device, a method of performing a file transaction, and a method of performing an access operation
KR102472878B1 (ko) * 2020-11-27 2022-12-01 이화여자대학교 산학협력단 가상 머신 환경에서의 블록 커밋 방법 및 그 방법을 수행하는 가상화 시스템
KR102644923B1 (ko) 2020-12-01 2024-03-08 김동현 롤타입 방충망이 구비된 창틀

Family Cites Families (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4791556A (en) * 1984-08-29 1988-12-13 Vilkaitis John V Method for operating a computer which searches for operational symbols and executes functions corresponding to the operational symbols in response to user inputted signal
US4945474A (en) * 1988-04-08 1990-07-31 Internatinal Business Machines Corporation Method for restoring a database after I/O error employing write-ahead logging protocols
ATE148241T1 (de) * 1989-06-13 1997-02-15 Ibm Verfahren zum entfernen unbestätigter änderungen an gespeicherten daten durch ein datenbankverwaltungssystem
US5247672A (en) * 1990-02-15 1993-09-21 International Business Machines Corporation Transaction processing system and method with reduced locking
US5201044A (en) * 1990-04-16 1993-04-06 International Business Machines Corporation Data processing method for file status recovery includes providing a log file of atomic transactions that may span both volatile and non volatile memory
US5319773A (en) * 1990-05-16 1994-06-07 International Business Machines Corporation Asynchronous resynchronization of a commit procedure
EP0516900B1 (en) * 1991-06-04 1996-05-01 International Business Machines Corporation Data backup and recovery in a data processing system
US5504899A (en) * 1991-10-17 1996-04-02 Digital Equipment Corporation Guaranteeing global serializability by applying commitment ordering selectively to global transactions
JPH05233570A (ja) * 1991-12-26 1993-09-10 Internatl Business Mach Corp <Ibm> 異オペレーティング・システム間分散データ処理システム
US5522066A (en) * 1992-04-16 1996-05-28 Industrial Technology Research Institute Interface for accessing multiple records stored in different file system formats
US5452445A (en) * 1992-04-30 1995-09-19 Oracle Corporation Two-pass multi-version read consistency
US5530848A (en) * 1992-10-15 1996-06-25 The Dow Chemical Company System and method for implementing an interface between an external process and transaction processing system
GB2273180A (en) * 1992-12-02 1994-06-08 Ibm Database backup and recovery.
US5504883A (en) * 1993-02-01 1996-04-02 Lsc, Inc. Method and apparatus for insuring recovery of file control information for secondary storage systems
JPH06266597A (ja) * 1993-03-11 1994-09-22 Fujitsu Ltd ログ取得方式
JP2557192B2 (ja) * 1993-03-15 1996-11-27 インターナショナル・ビジネス・マシーンズ・コーポレイション トランザクション処理の同期方法、トランザクション処理のモニタ方法及びトランザクションのコミット処理方法
US5455944A (en) * 1993-03-16 1995-10-03 International Business Machines Corporation Method for managing logging and locking of page free space information in a transaction processing system
GB2281644A (en) * 1993-09-02 1995-03-08 Ibm Fault tolerant transaction-oriented data processing.
US5553279A (en) * 1993-10-08 1996-09-03 International Business Machines Corporation Lossless distribution of time series data in a relational data base network
US5561795A (en) * 1994-05-13 1996-10-01 Unisys Corporation Method and apparatus for audit trail logging and data base recovery
US5586312A (en) * 1994-10-11 1996-12-17 Unisys Corporation Method and apparatus for using an independent transaction processing application as a service routine
US5680610A (en) * 1995-01-19 1997-10-21 Unisys Corporation Method and apparatus for testing recovery scenarios in global transaction processing systems
WO1996027157A1 (fr) * 1995-02-28 1996-09-06 Ntt Data Communications Systems Corporation Systeme associatif decentralise et traitements de journaux et de reprise dans celui-ci
US5712971A (en) * 1995-12-11 1998-01-27 Ab Initio Software Corporation Methods and systems for reconstructing the state of a computation
US5850507A (en) * 1996-03-19 1998-12-15 Oracle Corporation Method and apparatus for improved transaction recovery
US5857204A (en) * 1996-07-02 1999-01-05 Ab Initio Software Corporation Restoring the state of a set of files
US5781910A (en) * 1996-09-13 1998-07-14 Stratus Computer, Inc. Preforming concurrent transactions in a replicated database environment
US6035379A (en) * 1997-01-09 2000-03-07 Microsoft Corporation Transaction processing for user data employing both logging and shadow copying
US6275863B1 (en) * 1999-01-25 2001-08-14 International Business Machines Corp. System and method for programming and executing long running transactions
JP4237354B2 (ja) * 1999-09-29 2009-03-11 株式会社東芝 トランザクション処理方法及びトランザクション処理システム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI812012B (zh) * 2021-09-06 2023-08-11 日商鎧俠股份有限公司 資訊處理裝置

Also Published As

Publication number Publication date
EP1089177A3 (en) 2003-05-02
EP1089177B1 (en) 2014-04-30
US6834275B2 (en) 2004-12-21
JP4237354B2 (ja) 2009-03-11
KR100398753B1 (ko) 2003-09-19
US20030078910A1 (en) 2003-04-24
KR20010050667A (ko) 2001-06-15
EP1089177A2 (en) 2001-04-04
JP2001101045A (ja) 2001-04-13
US6519614B1 (en) 2003-02-11

Similar Documents

Publication Publication Date Title
TW550474B (en) Transaction processing system applying with efficient file updating and recovery processes
US5151987A (en) Recovery objects in an object oriented computing environment
EP1910929B1 (en) Direct-update software transactional memory
EP2979204B1 (en) Transaction processing for database in persistent system
JP5160006B2 (ja) 論理フラッシュメモリ装置を用いて原子的更新を実行する方法および装置
US7890481B2 (en) System and method for managing binary large objects
JPH0628043B2 (ja) データ・ベース・システムの動作を回復する方法
EP0295424B1 (en) Method for managing subpage concurrency control and partial transaction rollback in a transaction-oriented system of the write-ahead logging type
JPH07110784A (ja) 追加形式レコード格納方法及び装置
CN102073554A (zh) 一种文件异常关闭的恢复方法和装置
JP3138575B2 (ja) フアイル複写移行方式
CN112698785B (zh) 存储设备的数据更新方法
JPS63133240A (ja) 常駐テ−ブルの内容保証方式
JPH11212845A (ja) バックアップデータ管理装置、バックアップデータ管理方法、及び記録媒体
JP4027055B2 (ja) トランザクション管理装置
JP5853559B2 (ja) Icチップ、icチップにおける処理方法、icチップ用処理プログラム、及びicカード
JP5574274B2 (ja) データ処理装置、データ処理方法、及びプログラム
KR100630213B1 (ko) 데이터 저장시스템에서 데이터 버퍼 제어 블록을 이용한로그 우선 출력 프로토콜 수행 방법
JP5853590B2 (ja) Icチップ、icチップにおける処理方法、icチップ用処理プログラム、及びicカード等
JP2634908B2 (ja) 情報処理装置
JPH09282202A (ja) データ移動管理システム
JPS62204352A (ja) データベースの更新処理方法
JPH08171651A (ja) ページレイアウトデータ作成装置
JPH01119839A (ja) ファイル構成制御方式
JPH04156626A (ja) Vtocのファイルエントリ作成方式

Legal Events

Date Code Title Description
GD4A Issue of patent certificate for granted invention patent
MM4A Annulment or lapse of patent due to non-payment of fees