KR0126245B1 - 체크인/체크아웃모델용 록킹 메카니즘 - Google Patents

체크인/체크아웃모델용 록킹 메카니즘

Info

Publication number
KR0126245B1
KR0126245B1 KR1019940013263A KR19940013263A KR0126245B1 KR 0126245 B1 KR0126245 B1 KR 0126245B1 KR 1019940013263 A KR1019940013263 A KR 1019940013263A KR 19940013263 A KR19940013263 A KR 19940013263A KR 0126245 B1 KR0126245 B1 KR 0126245B1
Authority
KR
South Korea
Prior art keywords
transaction
check
data
list
server
Prior art date
Application number
KR1019940013263A
Other languages
English (en)
Other versions
KR950004014A (ko
Inventor
마사아끼 아오시마
Original Assignee
세끼자와 다다시
후지쓰 가부시끼가이샤
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 세끼자와 다다시, 후지쓰 가부시끼가이샤 filed Critical 세끼자와 다다시
Publication of KR950004014A publication Critical patent/KR950004014A/ko
Application granted granted Critical
Publication of KR0126245B1 publication Critical patent/KR0126245B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/16Protection against loss of memory contents
    • 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/52Program synchronisation; Mutual exclusion, e.g. by means of semaphores
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2308Concurrency control
    • G06F16/2336Pessimistic concurrency control approaches, e.g. locking or multiple versions without time stamps
    • G06F16/2343Locking methods, e.g. distributed locking or locking implementation details
    • 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
    • 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
    • Y10S707/99938Concurrency, e.g. lock management in shared database
    • 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

Landscapes

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

Abstract

본 발명의 체크인/체크아웃모델용 록킹메카니즘은 서버(1)의 공급 데이타베이스(8)를 하나 또는 복수의 클라이언트(9)가 억세스할 수 있도록 공공데이타베이스(8)로 부터 데이타를 복사하는 체크아웃과 클라이언트로 부터 요구된 공공데이타베이스에 상기 데이타를 되돌려 기입하는 체크인을 포함하는 트랜잭션를 관리하기 위해 서버(1)에 구비된 장시간 트랜잭션관리수단(2)과, 공공데이타베이스(8)로 부터 데이타를 복사하지 않는 트랜잭션을 관리하기 위해 서버(1)에 구비된 단시간 트랜잭션관리수단(5)과 각각의 장시간 트랜잭션관리수단(2)과 단시간 트랜잭션관리수단(5)에 의해 수행되는 트랜잭션의 내용을 표시하는 정보를 격납하는 트랜잭션리스트(7)로 구성되고, 상기 장시간 트랜잭션관리수단(2)은 체크아웃과 체크인 사이에서 상기 다른 트랜잭션이 상기 트랜잭션리스트(7)로 부터 검출될 때 또 다른 트랜잭션이 임시데이타참조를 종료할때까지 임시 데이타의 체크인을 대기하기 위한 수단을 포함한다.

Description

체크인/체크아웃모델용 록킹 메카니즘
제1도는 종래 트랜잭션모델 구성의 일예를 나타내는 시스템블록도.
제2도는 종래 체크인/체크아웃모델 구성의 일 예를 나타낸 시스템블록도.
제3도는 2상록킹메카니즘트랜잭션과 체크인/체크아웃모델이 단순조합되었을 때 데이타일관성이 상실되는특징 예를 도시한 도면.
제4도는 본 발명의 동작원리를 설명하기 위한 시스템블록도.
제5도는 본 발명에 의한 록킹메카니즘의 일 실시예를 나타낸 시스템블록도.
제6도는 록킹매카니즘의 처리 실시예를 설명하기 위한 플로우차트.
제7도는 제5도에 나타낸 트랜잭션관리부의 처리를 설명하기 위한 플로우챠트.
제8도는 본 발명에서 얻을 수 있는 데이타일관성을 설명하기 위한 도면.
본 발명은 록킹메카니즘에 관한 것으로 특히, 체크인/체크아웃모델용 록킹메카니즘에 관한 것이다.
최근에 클라이언트서버형 워크스테이션 등의 정보처리시스템은 공용데이타베이스의 자원에 억세스 함으로써 트랜잭션처리를 행하는 시스템을 사용하고 있다. 이러한 경우에 온-라인(on-line)시스템의 경우와 같이 트랜잭션처리단위가 짧을 때, 클라이언트 요구에 응하여 데이타베이스에 대한 서버의 트랜잭션처리가 고속으로 행해지게 된다.
예를 들면, 컴퓨터이용설계(CAD)와 컴퓨터이용소프트웨어 환경(CASE) 등의 분야에서는 트랜잭션의 사용길이나 이용형태가 다른 은행의 온라인시스템과는 아주 다르다.
그러나, CAD나 CASE 등의 엔지니어링(engineering) 분야에서는 데이타기억장치로써 데이타베이스를 사용하는 것이 바람직하다.
그러므로 복수의 디자인 엔지니어에 의해 동시에 처리되는 설계작업과 같은 협동작업을 지원하는 파일시스템에서는 종래의 일반적인 이용형태인 체크인/체크아웃(check-in/check-out)모델 이외에 데이타베이스를 도입하고 있다. 이러한 파일시스템에 도입된 데이타베이스는 트랜잭션서비스와 고급데이타모델 및 데이타검색 등의 처리기능의 잇점을 이용할 수 있다.
상기 데이타베이스에 체크인/체크아웃모델을 도입함으로써, 엔지니어링 분야에서 고유의 트랜잭션특성에의해 트랜잭션의 특수한 문제가 발생한다. 예를 들어 편집작업이 오래 걸리고, 대화작업을 해야 하므로 그러한 문제점을 해결할 필요가 있다.
제1도는 종래의 트랜잭션모델의 구성도이고 제2도는 종래의 체크인/체크아웃모델의 구성의 일 예를 나타낸 도면이다.
제1도에 있어서 클라이언트(A), 클라이언트(B) 및 서버(S)는 각각 독립워크스테이션 상에 설비되어 있다. 클라이언트(A)(B)가 공유하는 공공데이타베이스(DB)는 서버(S)에 각각 설비되어 있다. 예를 들어 공공데이타베이스(DB)에 은행의 원장데이타가 기억되어 있고, 서버(S)는 원장데이타를 관리하는 워크스테이션 상에 구비된다. 또한 클라이언트(A,B)는 서버(S)에 대해 온-라인으로 접속되는 워크스테이션(또는 단말기) 상에 구비된다. 이러한 구성에 따르면 클라이언트(A 또는 B)가 공공데이타베이스(DB)의 내용을 강조 또는 갱신하도록 하는 요구를 발생시킬 때, 상기의 요구에 의하여 서버(S)가 트랜잭션처리를 행한다. 이러한 경우에 처리되는 트랜잭션데이타는 짧으므로 상기 처리를 고속으로 처리할 수가 있으며 처리를 발생순서에 따라 실행할 수 있다.
따라서 공공데이타베이스(DB)의 내용이 다른 클라이언트(A)로 부터 요구된 트랜잭션처리에 의해 갱신된후, 클라이언트(B)가 공공데이타베이스(DB)의 내용을 참조할 경우에는 상기 클라이언트(B)는 갱신된 내용을 얻을 수 있다. 결과적으로 데이타는 시간경과와 함께 발생된 트랜잭션에 대응하여 발생되므로 데이타의 일관성이 보장된다.
제1도에 나타낸 바와 같이 트랜잭션모델을 CAD와 CASE 등의 엔지니어링 작업에 적용할 때 엔지니어링 작업속성에 따라 예를 들어 장시간 즉, 수 시간에서 수 일 동안 한 클라이언트가 공공 데이타베이스(DB)를 독점적으로 사용하고 또한, 대화식으로 사용할 것이다. 그 결과, 장시간 동안 자원을 독점적으로 사용하기 때문에 트랜잭션모델의 성능이 저하되고, 교착상태(Deadlock)가 발생하면 오랫동안 작업이 중단되는 문제가 생긴다. 이러한 트랜잭션모델의 문제점을 해소하기 위해서 체크인/체크아웃모델이 제안된 바 있다.
제2도에 나타낸 체크인/체크아웃모델에서는 공공데이타베이스(DB)가 제1도에 나타낸 트랜잭션모델의 경우와 유사하게 서버(S)에 구비되어 있다. 그러나 제2도에서는 개인데이타베이스(PDB1,PDB2)가 각각 클라이언트(A,B)에 설비되고, 개인데이타베이스(PDB1)에 억세스할 권리가 클라이언트(A)의 유저에게 주어지고 개인데이타베이스(PDB2)에 억세스할 권리가 클라이언트(B)의 유저에게 주어진다. 공공데이타베이스(DB)에 억세스할 권리는 모든 클라이언트에, 즉 이러한 경우에 클라이언트(A,B)의 유저에게 주어지므로 공공 데이타베이스(DB)를 클라이언트(A,B)가 공유하게 된다.
클라이언트(A)의 유저가 공공데이타베이스(DB)를 사용하여 편집 등을 행하는 경우에, 서버(S)에게 필요한 데이타의 복사를 클라이언트(A)가 요구하게 된다.
서버(S)는 이러한 요구에 응하여 공공데이타베이스(DB)로 부터 필요한 데이타를 꺼내, 클라이언트에게 필요한 데이타를 전송한다. 상기 클라이언트(A)는 개인데이타베이스(PDB1)에 수신된 필요데이타를 복사해둔다. 상기한 처리를 체크아웃(Check-out)이라 한다. 그 후 클라이언트(A)는 필요한 복사된 데이타를 저장하고 있는 개인데이타베이스(PDB1)를 사용하여 장시간 대화형으로 데이타를 편집하는 등의 처리를 행할 수 있다. 이와 유사하게 클라이언트(B)도 체크아웃조작에 의해서, 서버(S)를 경유하여 공공데이타베이스(DB)로 부터 개인데이타베이스(PDB2)로 필요한 데이타를 복사해 올 수 있고, 개인데이타베이스(PDB2)를 사용하여 장시간 동안 데이타를 처리할 수 있다.
한편, 클라이언트(A)가 개인데이타베이스(PDB1)의 내용에 대한 편집 등의 처리를 끝내면 개인데이타베이스(PDB1) 내의 데이타를 서버(S)를 거쳐 공공데이타베이스(DB)에 복귀시켜 공공데이타베이스(DB)의 내용을 갱신한다. 클라이언트(A)의 개인데이타베이스(PDB1)으로 부터 상기 데이타를 얻고, 서버를 경유하여 공공 데이타베이스(DB)로 데이타를 복귀시키는 처리를 소위 체크인(check-in)이라 한다.
제1도에 나타낸 트랜잭션모델의 데이타베이스의 데이타 일관성을 유지하기 위해서, 2상록킹메카니즘을 적용하였다.
데이타의 일관성(또는 직렬 가능성)은 트랜잭션이 발생되는 순서에 따라 상기 데이타베이스의 내용이 변경되는 것이 보장될 때, 유지되는 한편, 데이타(D)에 대한 트랜잭션에 의해 데이타(D)를 데이타(D')로 갱신하는 처리를 행하는 동안 데이타(D)에 대한 다른 트랜잭션처리가 발생되는 2중갱신이나 장해발생시 생기는 갱신 상실의 경우에 데이타의 일관성이 유지될 수 없지만, 만일 트랜잭션이 발생되는 순서로 데이타베이스의 변경내용이 보장되면 데이타 일관성이 유지될 수 있다.
종래의 2-상록킹메카니즘에 의하면, 하나의 트랜잭션 내에서 1상은 데이타를 록킹하고 다른 1상은 데이타를 해제시켜 다른 트랜잭션들을 록킹한다.
한편 제2도에 나타낸 체크인/체크아웃에서는 체크아웃조작 후 데이타 편집 등의 처리를 행하는데 장시간 걸리므로 제1도에 나타낸 트랜잭션모델의 경우에서와 같이 엄밀한 데이타의 일관성을 유지하는 것은 현실적이지 못하다. 이러한 이유 때문에 체크인/체크아웃모델에서 사용되는 시스템은 트랜잭션관리를 하지 않는다. 트랜잭션되는 시스템은 트랜잭션관리를 하지 않는다. 트랜잭션에 준하여 데이타와 일관성을 유지시키는대신 상기 시스템은 체크아웃과 체크된 상이 서로 독립적으로 되지 않도록 하여, 갱신모드에서 체크아웃된 데이타를 다른 유저가 참조모드에서 체크아웃하는 것을 허용하는 방식이다.
제1도에 나타낸 바와 같은 트랜잭션모델의 기존 데이타베이스 내에 제2도에 나타낸 체크인/체크아웃모델을 조립하여, 단시간의 처리와 장시간의 처리를 동일한 시스템 상에서 실현할 것이 요구되고 있다. 이와같은 것이 실현되면 예를 들어 CAD에서 상기 데이타베이스로 부터 체크아웃되는 설계데이타에 대해 대화식 설계를 행할 때 필요한 부분에 관련된 데이타용 데이타베이스를 참조하는 것이 가능해 진다.
그러나, 상기 체크인/체크아웃모델을 기존 데이타베이스에 조립할 때 기존의 데이타베이스의 상기 2상 록킹메카니즘과 체크인/체크아웃모델은 상호 영향을 미친다. 그에 의해 기존의 데이타베이스의 데이타 일관성이 상실되는 경우가 있다.
다음에 제3도를 참조하면서, 2상록킹메카니즘의 트랜잭션과 체크인/체크아웃모델을 단순히 결합할 때의 데이타일관성 상실의 특정예를 설명하겠다.
제3도에서 체크인/체크아웃모델 내에서 LT는 클라이언트(A)에 의한 트랜잭션을 나타내고, ST는 2상록킹메카니즘을 사용하는 클라이언트(B)에 의한 트랜잭션을 나타낸다. 상기 데이타베이스 내에 저장된 초기치에 의하면 구좌(X)와 구좌(Y)에 모두 잔고 100달러가 있다. 이러한 상태에서, 트랜잭션(LT)은 구좌(X)로부터 구좌(Y)로 20달러를 송금하고 트랜잭션(ST)는 구좌(X)와 구좌(Y)의 잔고 총액을 계산한다.
먼저, 트랜잭션(LT)는 상기 구좌(X)를 체크아웃하여 20달러를 삭감하는 처리를 행하는(X는 80달러가 된다), 그리고 구좌(Y)를 체크아웃하여 20달러를 더하는 처리를 행한다(Y는 120달러가 된다). 그 후에 상기구좌(X,Y)를 체크인 한다.
한편, 트랜잭션(ST)이 구좌(X,Y)를 참조(독출)하여 그 잔고를 가산하는 처리를 행할 때, 최초의 오픈트랜잭션에 후속하여 구좌(X)의 독출은 상기 트랜잭션이 구좌(X)를 체크아웃한 후 가능하게 되고, 100달러가 구좌(X)의 잔고로써 독출된다.
그 후에 구좌(X)의 독출은 구좌(Y)를 트랜잭션(LT)이 체크인 한 후 가능하게 되고, 20달러가 상기 트랜잭션(LT)에 의해 구좌(Y)의 잔고에 가산되기 때문에 구좌(Y)의 잔고로써 120달러가 독출된다. 그 결과로서 PRINT X+Y 처리를 행하면 X+Y=220달러를 얻을 수 있다. 이와 같이 얻은 결과는 구좌(X,Y)의 잔고의 정확한 총계가 200달러가 되야만 하기 때문에 정확하지 못하다.
그러므로 이와 같이 데이타에 에러가 발생하는 시스템은 심각한 문제를 야기한다. 이것을 기존의 데이타베이스의 록킹메카니즘에 체크인/체크아웃모델을 적용함으로써 이러한 문제를 극복할 수 있을 것으로 생각된다. 그러나 체크인/체크아웃모델을 사용하여 복수의 디자인 엔지니어에 의해서 설계작업을 행할 때 한 엔지니어가 다른 엔지니어에 의해 수정된 계획부분을 참조하고 싶은 경우가 빈번하게 있다. 또한 일반적으로 수정작업 등이 장시간에 걸쳐 이루어지기 때문에 수정작업이 끝날 때까지 장시간동안 기다려야 한다는 현실적인 관점에서 문제가 있다.
따라서 본 발명의 목적은 상기와 같은 문제점을 제거할 수 있는 신규하고 유용한 록킹메카니즘을 제공하는데 있다.
본 발명의 다른 목적은 기존의 데이타베이스의 트랜잭션에 의한 데이타일관성을 유지하고 체크인/체크아웃모델의 장시간에 걸친 자원의 독점사용에 의해 야기되는 성능의 저하를 피할 수 있는 체크인/체크아웃모델용 록킹메카니즘을 제공하는데 있다.
본 발명의 또 다른 목적은 서버의 공급 데이타베이스를 하나 또는 복수의 클라이언트가 억세스할 수 있도록 공공데이타베이스로 부터 데이타를 복사하는 체크아웃과 클라이언트로 부터 요구된 공공데이타베이스에 상기 데이타를 도돌려 기입하는 체크인을 포함하는 트랜잭션을 관리하기 위해 서버에 구비된 장시간 트랜잭션관리수단과, 공공데이타베이스로 부터 서버에 구비된 복사하지 않는 트랜잭션을 관리하기 위해 서버에 구비된 단시간 트랜잭션관리수단과 각각의 장시간 트랜잭션관리수단과 단시간 트랜잭션관리수단에 의해 수행되는 트랜잭션의 내용을 표시하는 정보를 격납하는 트랜잭션리스트로 구성되고, 상기 장시간 트랜잭션관리수단은 체크아웃과 체크인 사이에서 상기 다른 트랜잭션이 상기 트랜잭션리스트로 부터 검출될 때 다른 트랜잭션이 임시데이타참조를 종료할 때까지 임시 데이타의 체크인을 대기하기 위한 수단을 포함하는 것이 특징인 체크인/체크아웃모델용 록킹메카니즘을 제공하는데 있다.
본 발명의 록킹메카니즘에 의하면 종래의 트랜잭션모델의 데이타 일관성을 유지할 수 있고, 체크인/체크아웃모델을 종래 데이타베이스시스템에 조합시킬 수 있다. 또한 신규한 록킹메카니즘을 체크인/체크아웃모델록킹메카니즘에 적용함으로써, 유지가 조작하는 동안 데이타일관성을 유지시킬 필요가 없다. 환원하면, 모순없이 상기 두 가지의 잇점을 가져오면서 종래의 트랜잭션모델과 체크인/체크아웃모델을 통합할 수 있다.
본 발명의 또 다른 목적은 서버에 연결된 공공데이타베이스에 하나 또는 복수의 클라이언트가 억세스할 수 있고, 공공데이타베이스로 부터 데이타를 복사하는 체크아웃과 클라이언트로 부터 요구된 공공데이타베이스에 상기 데이타를 되돌려 기입하는 체크인을 포함하는 트랜잭션을 관리하기 위한 장시간 트랜잭션관리수단과, 공공데이타베이스로 부터 데이타를 복사하지 않는 트랜잭션을 관리하기 위한 단시간 트랜잭션관리수단과 각각의 장시간 트랜잭션관리수단과 단시간 트랜잭션관리수단에 의해 수행되는 트랜잭션의 내용을 표시하는 정보를 격납하는 트랜잭션리스트로 구성되고, 상기 장시간 트랜잭션관리수단은 다른 트랜잭션이 트랜잭션리스트로 부터 체크아웃과 체크인 간을 검출할 때, 또 다른 트랜잭션이 임시 데이타참조를 종료할 때까지 임시데이타의 체크인을 대기하기 위한 수단을 포함하는 것이 특징인 체크인/체크아웃모델용 록킹메카니즘을 제공하는데 있다.
본 발명의 서버에 의하면 종래의 트랜잭션모델의 데이타일관성을 유지할 수 있고, 체크인/체크아웃모델을 종래 데이타시스템에 조합시킬 수 있다. 또한 신규한 록킹메카니즘을 상기 체크인/체크아웃모델의 록킹메카니즘에 적용함으로써, 유저가 조작하는 동안 데이타일관성을 유지시킬 필요가 없다. 환원하면, 모순없이 상기 두 가지의 잇점을 가져 오면서 종래의 트랜잭션모델과 체크인/체크아웃모델을 통합할 수 있다.
본 발명의 다른 목적과 특징은 첨부된 도면과 함께 아래에 더 상세히 설명하겠다.
먼저, 제4도를 참조하여 본 발명의 동작원리를 기술하겠다.
제4도는 공공데이타베이스(8) 클라이언트(9)를 결합한 서버(1)를 나타낸다. 서버(1)는 장시간 트랜잭션관리용 장시간 트랜잭션관리부(2)와 단시간 트랜잭션관리용 단시간 트랜잭션관리부(5)와 트랜잭션리스트(7)를 포함한다. 장시간 트랜잭션관리부(2)는 체크아웃부(3)와 체크인부(4)를 포함한다. 단시간 트랜잭션관리부(5)는 참조부(6)를 포함한다. 트랜잭션리스트(7)는 갱신리스트(7a)와 참조리스트(7b)를 포함한다.
본 발명에서는 본 발명의 트랜잭션과 종래의 트랜잭션을 구별하기 위한 조치가 취해 진다. 특히 체크인과 체크아웃 간의 간격을 장시간 트랜잭션으로 간주하고 트랜잭션을 2개의 상으로 만들었다. 트랜잭션의 제1장은 데이타체크아웃만으로 구성되고 트랜잭션의 제2상은 데이타체크인 만으로 구성된다. 서버(1)는 장시간 트랜잭션 마다 상을 판정한다. 데이타가 체크아웃 후에 체크인될 때 서버(1)는 다른 트랜잭션이 동일 데이타에 억세스하는 지의 여부에 따라 체크인 시간을 조정하여 데이타일관성을 유지한다.
클라이언트(9)가 갱신모드에서 데이타의 체크아웃을 요구하면, 서버(1)의 장시간 트랜잭션관리부(2)는 이체크아웃이 2상으로 분할됐는지를 판정한다. 또한 상기 요구가 유효하면 장시간 트랜잭션관리부(2)는 장시간 트랜잭션을 오픈하여 체크아웃부(3)를 기동한다. 체크아웃(3)는 상기 요구데이타를 체크아웃한다.
즉 체크아웃부(3)는 공공데이타베이스(8)로 부터 요구데이타를 취출하여 상기 클라이언트(9)에 취출된 요구데이타를 복사한다. 이러한 상태에서, 장시간 트랜잭션의 트랜잭션식별자(ID 또는 ID번호)와 데이타(ID)및 트랜잭션 상태를 트랜잭션리스트(7) 내의 갱신리스트(7a)에 등록한다. 트랜잭션 상태는 동안 또는 처리중, 종료 등을 포함하는 트랜잭션상태를 나타낸다.
단시간 트랜잭션관리부(5)는 종래의 2상록킹메카니즘에 따라 데이타를 관리한다. 즉, 상기 록킹이 공공데이타베이스(8)의 측에서 관리된다. 데이타를 참조하기 위해서 상기 클라이언트(9) 이외의 어느 클라이언트로 부터 단시간 트랜잭션이 발생되면, 단시간 트랜잭션관리부(5)는 상기 데이타가 갱신리스트(7a) 내에 등록된 체크아웃된 데이타인지 여부를 판정한다.
상기 데이타가 갱신리스트(7a) 내에 등록된 체크아웃데이타와 동일하면 트랜잭션(ID), 데이타(ID) 및 트랜잭션과 트랜잭션리스트(7)의 참조리스트(7b) 내에 등록된다. 이러한 단시간 트랜잭션이 종료되면, 등록된정보를 참조리스트(7b)로 부터 삭제한다.
상기 데이타의 참조는 클라이언트가 참조모드 내에서 체크아웃을 요구할 때와, 또한 상기 트랜잭션이 체크아웃부(3)에 의해 수행되도록 장시간 트랜잭션관리부(2)가 상기 트랜잭션을 오픈할 때 실행된다. 이들 양자의 경우에 갱신리스트(7a)의 판정과 참조리스트(7b)에의 등록은 상기와 유사하게 수행된다.
클라이언트(9)가 데이타처리를 종료하고 데이타체크인을 요구하면 서버(1)의 장시간 트랜잭션관리부(2)의 체크인부(4)는 체크인이 체크아웃과 대응하여 2상으로 분리되는지 여부를 판정한다. 이러한 요구가 유효하면 장시간 트랜잭션관리부(2)는 참조리스트(7b)를 체크하여 동일 데이타를 참조하여 다른 오픈된 트랜잭션이 존재하는지 여부를 판정한다. 또 다른 오픈된 트랜잭션이 존재하면 이러한 다른 오픈된 트랜잭션이 종료할 때까지(크로즈) 대기상태가 된다. 한편, 다른 오픈된 트랜잭션이 존재하지 않으면, 체크인이 공공데이타베이스(8)를 갱신하도록 한다. 체크인의 대기 중에는 다른 트랜잭션들이 체크아웃된 데이타를 참조하는 것이 임시로 금지된다.
따라서, 동일 데이타에 대해서 체크인/체크아웃모델의 체크아웃과 트랜잭션의 참조가 동시에 발생하면 체크아웃 이전에 체크아웃과 체크인 사이의 트랜잭션에 의해 생성된 참조가 강제적으로 시행되어 트랜잭션 사이의 데이타 일관성이 유지된다.
다음의 본 발명에 의한 체크인/체크아웃모델용 록킹메카니즘의 일실시예에 대해 설명하겠다. 제5도는 록킹메카니즘의 실시예의 구성을 나타낸다.
제6도는 본 실시예의 처리를 설명하기 위한 플로우챠트이다.
제5도에서 상기 클라이언트측은 점선 위에 나타냈고, 서버측은 점선 아래에 나타냈다.
실제에 있어서는 복수의 클라이언트를 한 서버에 접속하였으나 하나의 클라이언트만을 편의상 제5도에 나타냈다.
클라이언트측은 유지전용 개인데이타베이스(20)와 개인데이타베이스(20)로 부터 입력 및 출력하는 버퍼데이타용 기억장치(21)와 개인데이타베이스관리부(22)와 단시간트랜잭션관리구(23)와 클라이언트측과 서버측간의 통신제어를 행하기 위한 통신기능부(24)를 포함하고 있다.
상기 서버측은 서버측과 클라이언트측 간의 통신제어를 행하기 위한 통신기능부(25)와 클라이언트측에서 요구된 다양한 트랜잭션을 관리하기 위한 트랜잭션관리부(26)와 공공데이타베이스관리부(27)와 버퍼데이타용 기억장치(28)와 공공데이타베이스(29)를 포함하고 있다. 상기 트랜잭션관리부(26)는 상기 데이타의 복사를 수반하지 않는 참조 및 갱신 등의 트랜잭션관리용 단시간 트랜잭션관리부(26a)와 상기 데이타의 복사를 수반하는 체크인/체크아웃형 트랜잭션용 장시간 트랜잭션관리부(26b)와 갱신모드리스트와 참조모드리스트를 포함하는 트랜잭션리스트(26c)를 포함하고 있다.
장시간 트랜잭션의 경우에 클라이언트측은 서버측의 공공데이타베이스(29)로 부터 데이타를 체크아웃하여 클라이언트측 상의 개인 데이타베이스(20) 내로 복사한 후 상기 데이타의 사용을 전용한다. 따라서 클라이언트측 상의 장시간 트랜잭션을 관리할 필요가 없다. 그러나 다중처리의 경우에 동일유저가 복수의 단시간 트랜잭션을 발생시켜 서버측의 공공데이타베이스(29)를 참조하는 등의 여러처리를 행한다. 이러한 이유 때문에 단시간 트랜잭션관리부(23)가 클라이언트측 상에 구비된다.
서버측은 통신기능부(25)를 통하여 복수의 클라이언트와 통신을 행하고 트랜잭션관리부(26)는 요구 트랜잭션을 식별한다. 체크인/체크아웃하지 않는 참조 등의 단시간 트랜잭션은 단시간 트랜잭션관리부(26a)에 의해 처리한다.
한편 체크인/체크아웃모델의 갱신모드와 참조모드 등의 장시간 트랜잭션을 장시간 트랜잭션관리부(26b)에서 처리한다.
각각의 단시간 트랜잭션관리부(26a)와 장시간 트랜잭션관리부(26b)의 처리동안에 등록 또는 참조가 트랜잭션리스트(26c)에 대해 행해진다.
트랜잭션(ID), 데이타(ID) 및 트랜잭션상태정보를 트랜잭션리스트(26c) 내의 갱신리스트와 참조리스트에 격납한다.
트랜잭션상태정보는 상기 트랜잭션이 처리 중인지 또는 트랜잭션의 처리가 종료됐는지 여부를 나타낸다. 트랜잭션의 처리가 종료된 상태에서는 트랜잭션이 수행되어 상기 데이타에 반영된 완료(Commit)상태와 상기 트랜잭션이 개시되기 전의 상태에 해당하는 트랜잭션이 수행되지 않은 중지(abort)상태를 나타내기위해 완료플래그가 제공된다.
공공데이타베이스관리부(27)는 트랜잭션관리부(26)으로 부터의 지시에 응하여 공공데이타베이스(29)를 억세스하고, 기억장치(28)를 통하여 공공데이타베이스(29)내/외로의 요구데이타의 독출 및 기입을 관리한다.
제6도는 제5도에 나타낸 실시예의 처리를 설명하기 위한 플로우챠트이다.
제6도에서, 스텝(S1)에서는 우선 클라이언트측에서 필요한 데이타를 체크아웃하고 공공데이타베이스(29)로 부터 개인데이타베이스(20)로 필요한 데이타를 복사한다.
갱신모드의 체크아웃의 경우에, 공공데이타베이스(29) 내의 상기 데이타에 대해서 갱신록킹이 이루어 진다.
한편, 참조모드의 체크아웃의 경우에 참조록킹이 이루어 진다. 따라서 스텝(S1)은 통신기능부(24,25)와 장시간 트랜잭션관리부(26b)와 관련이 있다.
그 다음 스텝(S2)에서는 서버측의 트랜잭션관리부(26) 내의 트랜잭션리스트(26c) 내에 클라이언트의 식별자(ID)와 체크아웃된 데이타의 ID번호와 트랜잭션의 상태를 나타내는 완료플래그를 등록한다. 따라서 이 스텝(S2)은 장시간 트랜잭션관리부(26b) 및 트랜잭션리스트(26C)와 관련이 있다.
그 후에 다른 클라이언트가 체크아웃된 데이타를 참조할 때와 상기 데이타에 대해서 갱신록킹을 이미 행했더라도, 스텝(S3)에서는 갱신 전에 상기 상태를 보지하는 공공데이타베이스(29) 내의 데이타를 참조하는것이 가능하다. 또한 이러한 참조가 행해질 때, 데이타의 일관성을 유지하기 위해서 서버측의 트랜잭션리스트(26C) 내에 이러한 참조를 등록시킨다. 그러므로 이 스텝(S3)은 단시간 트랜잭션관리부(26a) 및 트랜잭션리스트(26C)와 관련이 있다.
그 다음 스텝(S4)에서는 트랜잭션리스트(26C) 내에 등록된 트랜잭션의 완료상태 또는 중지상태가 발생하면 트랜잭션리스트(26C)의 완료플래그 내의 종료상태를 나타내는 플래그를 설정한다. 상기한 바와 같이 완료상태는 트랜잭션이 종료되고, 데이타에 반영되는 상태를 나타내고, 중지상태는 트랜잭션이 행해지기 전에 트랜잭션이 실패되어 상기 상태에 대응하는 상태를 나타낸다. 그러므로 스텝(S4)은 단시간 트랜잭션관리부(26a) 및 트랜잭션리스트(26C)와 관련이 있다.
클라이언트 측에서 체크아웃된 데이타에 대해서 개인데이타베이스(20)에 대한 편집조작이 종료하면, 스텝(S5)에서는 클라이언트측으로 부터 서버측으로 데이타의 체크인을 요구한다. 그러므로 이 스텝(S5)은 통신기능부(24,25)와 관련이 있다.
이러한 경우에 스텝(S6)에서는 체크인 될 데이타와 동일한 데이타(ID)를 갖는 데이타와 관련된 트랜잭션리스트(26C)를 체크한다. 그러므로 이 스텝(S7)은 장시간 트랜잭션관리부(26b)와 관련이 있다.
스텝(S7)에서는 동일데이타에 관련되고, 종료상태에 있지 않은 완료플래그를 갖는 트랜잭션이 존재하는지 여부를 판정한다.
종료상태에 있지 않는 트랜잭션이 존재하고, 스텝(S7)의 판정결과가 Yes이면, 스텝(S8)에서는 체크아웃된 데이타의 참조를 금지하고, 체크인의 종료를 대기하는 상태로 들어 간다. 이 대기상태는 상기 트랜잭션이 종료상태로 될 때 해제한다. 환원하면 상기 처리가 스텝(S8) 후 스텝(S7)으로 복귀한다. 그러므로 스텝(S8)은 트랜잭션관리부(26)와 관련이 있다.
한편, 스텝(S7)의 판정결과가 NO이면 스텝(S9)에서는 서버측에 체크인 요구를 실행하고 공공데이타베이스(29)에 요구된 데이타를 체크 후 상기 처리를 종료한다. 그러므로 스텝(S9)은 트랜잭션관리부(26)와 관련이 있다.
체크인 대기상태에서 다른 트랜잭션에 의한 데이타참조가 연속해서 일어날 수도 있고, 체크인을 실행할 수 없게 되는 가능성이 있다.
그러므로 스텝(S8)의 처리를 그러한 상황에 대처하기 위해 행한다. 즉 체크인 대기상태에서 그 체크인의 전제조건인 체크아웃에 의해 얻은 데이타를 다른 트랜잭션이 참조하는 것을 금지한다. 이러한 경우에, 체크아웃과 체크인에 의해 요구된 장시간은 종래의 참조 등의 트랜잭션에 의해 요구된 비교적 단시간과 비교하면 상기한 금지에 의해 발생된 단시간 트랜잭션의 대기시간은 무시될 수 있다.
갱신모드에서 체크아웃된 데이타를 독점적으로 사용하는 장시간 트랜잭션은 참조모드에서 동일 데이타를 체크아웃한 장시간 트랜잭션을 클로즈(종료)할 때까지 대기하며, 성능이 악화될 수도 있으나, 통지기능을 이용하여 대기시간을 감소시킬 수 있다. 또한 단시간 트랜잭션이 기본 2-상록킹메카니즘에 의해 관리되므로 단시간 트랜잭션은 장시간 트랜잭션 동안 대기하는 일이 없을 것이다.
제6도에 나타내지는 않았으나 하나의 장시간 트랜잭션을 2상 즉, 제크인 상과 체크아웃 상으로 분할할 수 있다.
제7도에서, 스텝(T1)에서는 제1체크인 또는 체크아웃요구를 수신하고 스텝(T2)에서는 체크인 및 체크아웃용 값을 플래그에 설정한다.
스텝(T3)에서는 유저로 부터 체크인 요구 또는 체크아웃요구가 검출되었는지 여부를 판정한다. 체크인 요구가 스텝(T3)에서 검출되면, 스텝(T4)에서는 상기 플래그가 체크인을 나타내는지 여부를 판정하고 스텝(T6)에서 에러메시지를 출력하고 스텝(T4)의 상기 판정결과가 NO이면 상기 요구를 실행하지 않는다.
한편, 스텝(T4)의 판정결과가 Yes이면 스텝(T3)으로 처리가 복귀한다. 체크아웃요구가 스템(T3)에서 검출되면 스텝(T5)에서는 상기 플래그가 체크아웃을 나타내는지 여부를 판정하고 만일 스텝(T5)에서 판정결과가 NO이면 스텝(T7)에서는 체크아웃을 나타내는 값을 플래그에 설정한다. 스텝(T5)에서의 판정결과가 YES이거나 스텝(T7)완료 후 처리가 스텝(T3)으로 복귀한다.
제8도는 본 발명에서 얻을 수 있는 데이타일관성을 설명하기 위한 도면이다.
본 발명의 효과를 좀 더 손쉽게 알 수 있도록 데이타일관성이 상실된 제3도의 종래예에 대응하여 제8도에 특정예를 나타냈다.
제8도에 있어서, LT는 클라이언트(A)에 의한 체크인/체크아웃의 장시간 트랜잭션를 나타내고, ST는 클라이언트(B)에 의한 참조의 장시간 트랜잭션을 나타내고 있다.
서브측의 공공데이타베이스(29)에 격납된 구좌(X,Y)의 초기치는 양쪽 다 100달러이다. 이러한 상태에서 장시간 트랜잭션(LT)는 구좌(X)로 부터 구좌(Y)로 20달러를 송금하고 장시간 트랜잭션(ST)은 구좌(X,Y)의 잔고총액을 계산한다.
먼저, 장시간 트랜잭션(LT)은 구좌(X)를 체크아웃하고, 구좌(X)로 부터 20달러를 빼고, 구좌(Y)를 체크하여 구좌(Y)에 20달러를 가산한다. 한편 장시간 트랜잭션(ST)은 상기 트랜잭션을 오픈하고, 구좌(X)를 참조(즉, 독출)한다. 그러므로 이 시점에서 상기 처리는 제3도에 나타낸 종래예와 동일하다.
그러나 제8도에서 구좌(Y)의 체킹 시에, 상기 트랜잭션(LT)과 동일데이타(구좌X)를 처리하는 다른 트랜잭션(ST)이 종료하지 않음을 트랜잭션리스트(26C)로 부터 판정하여 구좌(Y)의 체크인을 대기시킨다.
그 후 장시간 트랜잭션(ST)이 구좌(Y)의 잔고를 독출하고 구좌(X,Y)의 잔고총액을 프린트하고, 트랜잭션을 클로즈하면 장시간 트랜잭션(LT)에 의해 구좌(Y)의 체크인이 행해 진다. 그 결과, 장시간 트랜잭션(LT) 내의 X+Y의 결과는 제3도의 종래 경우와 다른 200달러가 된다.
그러므로 제8도에 나타낸 본 발명의 경우에, 제3도에 나타낸 종래예와 달리 데이타일관성을 유지하는것이 가능하다.
즉, 제8도는 관현 트랜잭션이 크로스될 때까지 체크인이 임시로 대기되어 체크인/체크아웃모델과 트랜잭션이 일관성을 유지하면서 통합되는 특정예를 나타낸 것이다.
또한 본 발명은 본 실시예에 한정되지 않고 본 발명의 범위를 벗어나지 않는 범위 내에서 다양한 변경이 가능함을 밝혀 둔다.

Claims (7)

  1. 서버(1)의 공급 데이타베이스(8)를 하나 또는 복수의 클라이언트(9)가 억세스할 수 있도록 공공데이타베이스(8)로 부터 데이타를 복사하는 체크아웃과 클라이언트로 부터 요구된 공공데이타베이스에 상기 데이타를 되돌려 기입하는 체크인을 포함하는 트랜잭션을 관리하기 위해 서버(1)에 구비된 장시간 트랜잭션관리수단(2)과, 공공데이타베이스(8)로 부터 데이타를 복사하지 않는 트랜잭션을 관리하기 위해 서버(1)에 구비된 단시간 트랜잭션관리수단(5)과 각각의 장시간 트랜잭션관리수단(2)과 단시간 트랜잭션관리수단(5)에 의해 수행되는 트랜잭션의 내용을 표시하는 정보를 격납하는 트랜잭션리스트(7)로 구성되고, 상기 장시간 트랜잭션관리수단(2)은 체크아웃과 체크인 사이에서 상기 다른 트랜잭션이 상기 트랜잭션리스트(7)로 부터 검출될 때 또 다른 트랜잭션이 임시데이타참조를 종료할 때까지 임시데이타의 체크인을 대기하기 위한 수단을 포함하는 것이 특징인 체크인/체크아웃모델용 록킹메카니즘
  2. 제1항에 있어서, 상기 장시간 트랜잭션관리부(2)는 상기 체크인/체크아웃모델에 생긴 데이타참조의 트랜잭션이 종료하는 것을 대기하는 체크인의 트랜잭션이 발생하면 다른 동일 데이타를 참조하는 트랜잭션의 실행을 금지하는 수단을 포함하는 것이 특징인 체크인/체크아웃모델용 록킹메카니즘.
  3. 제1또는 2항에 있어서, 상기 트랜잭션리스트(7)은 갱신모드와 참조모드에 대응하여 각각 트랜잭션의 식별번호 데이타의 식별번호 및 트랜잭션의 상황정보를 구비하며 상기 장시간 트랜잭션관리부(2)와 상기 단시간 트랜잭션관리부(5)는 각각 트랜잭션의 실행에 응하여 상기 트랜잭션리스트를 참조하고 실행시 대응하는 모드의 록킹메카니즘에 등록하고 종료시 상기 트랜잭션리스트(7)로 부터 그 트랜잭션에 관련된 등록 정보를 삭제하는 것이 특징인 체크인/체크아웃모델용 록킹메카니즘.
  4. 제1∼3항 중 어느 한 항에 있어서, 상기 트랜잭션리스트(7)는 서버(1) 내에 구비되는 것이 특징인 체크인/체크아웃모델용 록킹메카니즘.
  5. 서버(1)에 연결된 공공데이타베이스(8)에 하나 또는 복수의 클라이언트(9)가 억세스할 수 있도록, 공공데이타베이스(8)로 부터 데이타를 복사하는 체크아웃과 클라이언트로 부터 요구된 공공데이타베이스(8)에 상기 데이타를 되돌려 기입하는 체크인을 포함하는 트랜잭션을 관리하기 위한 장시간 트랜잭션관리수단(2)과, 공공데이타베이스(8)로 부터 데이타를 복사하지 않는 트랜잭션을 관리하기 위한 단시간 트랜잭션관리수단(5)과 각각의 장시간 트랜잭션관리수단(2)과 단시간 트랜잭션관리수단(5)에 의해 수행되는 트랜잭션의 내용을 표시하는 정보를 격납하는 트랜잭션리스트(7)로 구성되고, 상기 장시간 트랜잭션관리수단(2)은 체크아웃과 체크인 사이에서 다른 트랜잭션이 상기 트랜잭션리스트(7)로 부터 검출될 때, 다른 트랜잭션이 임시데이타참조를 종료할 때까지 임시데이타의 체크인을 대기하기 위한 수단을 포함하는 것이 특징인 체크인/체크아웃모델용 록킹메카니즘을 갖는 서버.
  6. 제5항에 있어서, 상기 장시간 트랜잭션관리부(2)는 상기 체크인/체크아웃 간에 생긴 데이타참조의 트랜잭션이 종료하는 것을 대기하는 체크인의 트랜잭션이 발생하면 다른 동일 데이타를 참조하는 트랜잭션의 실행을 금지하는 수단을 포함하는 것이 특징인 서버.
  7. 제5 또는 6항에 있어서, 상기 트랜잭션리스트(7)은 갱신모드와 참조모드에 대응하여 각각 트랜잭션의 식별번호 데이타의 식별번호 및 트랜잭션의 상황정보를 구비하며 상기 장시간 트랜잭션관리부(2)와 상기 단시간 트랜잭션관리부(5)는 각각 트랜잭션의 실행에 응하여 상기 트랜잭션리스트를 참조하고 실행시 대응하는 모드의 록킹메카니즘에 등록하고 종료시 상기 트랜잭션리스트(7)로 부터 그 트랜잭션에 관련된 등록 정보를 삭제하는 것이 특징인 서버.
KR1019940013263A 1993-07-08 1994-06-13 체크인/체크아웃모델용 록킹 메카니즘 KR0126245B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP16899993A JP3512439B2 (ja) 1993-07-08 1993-07-08 チェックイン・チェックアウトモデルにおける施錠方式
JP93-168999 1993-07-08

Publications (2)

Publication Number Publication Date
KR950004014A KR950004014A (ko) 1995-02-17
KR0126245B1 true KR0126245B1 (ko) 1998-04-03

Family

ID=15878478

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019940013263A KR0126245B1 (ko) 1993-07-08 1994-06-13 체크인/체크아웃모델용 록킹 메카니즘

Country Status (4)

Country Link
US (1) US5809503A (ko)
JP (1) JP3512439B2 (ko)
KR (1) KR0126245B1 (ko)
DE (1) DE4420451C2 (ko)

Families Citing this family (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5930794A (en) * 1996-10-18 1999-07-27 Sagent Technologies, Inc. Database repository with deferred transactions
US6092055A (en) 1997-05-14 2000-07-18 Portal Software, Inc. Method and apparatus for providing a clean accounting close for a real time billing system
US6047284A (en) 1997-05-14 2000-04-04 Portal Software, Inc. Method and apparatus for object oriented storage and retrieval of data from a relational database
US6012059A (en) * 1997-08-21 2000-01-04 Dataxel Corporation Method and apparatus for replicated transaction consistency
US6134552A (en) * 1997-10-07 2000-10-17 Sap Aktiengesellschaft Knowledge provider with logical hyperlinks
CA2311635C (en) * 1997-11-27 2005-10-11 Siemens Aktiengesellschaft Method for updating data records in communication systems
US6941360B1 (en) * 1999-02-25 2005-09-06 Oracle International Corporation Determining and registering participants in a distributed transaction in response to commencing participation in said distributed transaction
JP3844933B2 (ja) 2000-02-16 2006-11-15 株式会社日立製作所 データベースサーバ処理方法
GB2366051B (en) * 2000-05-02 2005-01-05 Ibm Method, system and program product for private data access or use based on related public data
KR20030035122A (ko) * 2001-10-30 2003-05-09 포디홈네트 인터넷 정보 가전용 내장형 데이터베이스 관리시스템에서의 다중 버전을 이용한 동시성 제어 방법
US8099393B2 (en) 2002-03-22 2012-01-17 Oracle International Corporation Transaction in memory object store
CN1307811C (zh) * 2003-06-20 2007-03-28 英业达股份有限公司 红外线数据同步模块及其方法
US7243088B2 (en) * 2003-08-06 2007-07-10 Oracle International Corporation Database management system with efficient version control
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
JP4526058B2 (ja) * 2003-11-07 2010-08-18 シヤチハタ株式会社 電子印鑑システム
US7739244B2 (en) * 2004-10-14 2010-06-15 Oracle International Corporation Operating logging for online recovery in shared memory information systems
US7984248B2 (en) * 2004-12-29 2011-07-19 Intel Corporation Transaction based shared data operations in a multiprocessor environment
US8223935B2 (en) 2005-04-30 2012-07-17 Oracle International Corporation Revenue management systems and methods
CA2613701C (en) 2005-06-28 2016-04-12 Alexander Rockel Revenue management system and method
CA2616194C (en) 2005-07-28 2015-02-17 Oracle International Corporation Revenue management system and method
US8223777B2 (en) 2005-11-15 2012-07-17 Oracle International Corporation Gateway for achieving low latency and high availability in a real time event processing system
US7640242B2 (en) * 2006-03-24 2009-12-29 Oracle International Corp. Light weight locking model in the database for supporting long duration transactions
US7747591B2 (en) * 2006-03-24 2010-06-29 Oracle International Corp. Web feature service (WFS) locking support based on light-weight locking model in the database
US8751532B2 (en) * 2006-05-11 2014-06-10 International Business Machines Corporation Nomadic data collection and management method including pessimistic locking of data
US8219971B2 (en) * 2007-08-20 2012-07-10 International Business Machines Corporation System and method for source code sectional locking for improved management
FR2931272B1 (fr) * 2008-05-13 2012-04-20 Thales Sa Procede d'import export de donnees d'une base de donnees

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4224664A (en) * 1976-05-07 1980-09-23 Honeywell Information Systems Inc. Apparatus for detecting when the activity of one process in relation to a common piece of information interferes with any other process in a multiprogramming/multiprocessing computer system
US4249241A (en) * 1978-10-23 1981-02-03 International Business Machines Corporation Object access serialization apparatus for a data processing system
JPS6394343A (ja) * 1986-10-09 1988-04-25 Nec Corp フアイル制御システム
JPS63113644A (ja) * 1986-10-30 1988-05-18 Fujitsu Ltd デ−タベ−スの排他制御方式
US5175852A (en) * 1987-02-13 1992-12-29 International Business Machines Corporation Distributed file access structure lock
JPS63247849A (ja) * 1987-04-02 1988-10-14 Nec Corp トランザクシヨン処理システム
US4881166A (en) * 1987-07-24 1989-11-14 Amoco Corporation Method for consistent multidatabase transaction processing
US5193188A (en) * 1989-01-05 1993-03-09 International Business Machines Corporation Centralized and distributed wait depth limited concurrency control methods and apparatus
JP2740238B2 (ja) * 1989-02-27 1998-04-15 日本電気株式会社 ファイル排他制御装置
JPH03113674A (ja) * 1989-09-28 1991-05-15 Nec Corp 設計データ菅理システム
JPH03118645A (ja) * 1989-10-02 1991-05-21 Nippon Telegr & Teleph Corp <Ntt> データベースの排他制御方法
JPH03123946A (ja) * 1989-10-07 1991-05-27 Nippon Telegr & Teleph Corp <Ntt> データベースの排他制御方法
US5247672A (en) * 1990-02-15 1993-09-21 International Business Machines Corporation Transaction processing system and method with reduced locking
US5261089A (en) * 1990-05-16 1993-11-09 International Business Machines Corporation Optimization of commit procedures by utilizing a two-phase commit procedure only when necessary
DE4216871C2 (de) * 1991-05-21 2001-09-06 Digital Equipment Corp Ausführungsordnen zum Sicherstellen der Serialisierbarkeit verteilter Transaktionen
US5280612A (en) * 1991-11-26 1994-01-18 International Business Machines Corporation Multiple version database concurrency control system

Also Published As

Publication number Publication date
DE4420451A1 (de) 1995-01-19
US5809503A (en) 1998-09-15
KR950004014A (ko) 1995-02-17
JP3512439B2 (ja) 2004-03-29
DE4420451C2 (de) 1998-05-28
JPH0728679A (ja) 1995-01-31

Similar Documents

Publication Publication Date Title
KR0126245B1 (ko) 체크인/체크아웃모델용 록킹 메카니즘
Traiger et al. Transactions and consistency in distributed database systems
US5386559A (en) Variant domains and variant maps in a versioned database management system
EP1040433B1 (en) A fine-grained consistency mechanism for optimistic concurrency control using lock groups
US8868577B2 (en) Generic database manipulator
US5592661A (en) Detection of independent changes via change identifiers in a versioned database management system
US9756469B2 (en) System with multiple conditional commit databases
US5890166A (en) Versioned-database management system in which tasks are associated with promote groups which comprise a set of parts whose changes are to be promoted
US5890153A (en) Database lock control method
US7904434B2 (en) Framework for handling business transactions
US6850938B1 (en) Method and apparatus providing optimistic locking of shared computer resources
US5504879A (en) Resolution of relationship source and target in a versioned database management system
CN101495976B (zh) 用于直接更新软件事务存储器的方法和系统
CN111259083A (zh) 分布式事务处理方法及装置
US20040068501A1 (en) Adaptive transaction manager for complex transactions and business process
US20040044730A1 (en) Dynamic access of data
US6718349B2 (en) Intelligent, optimistic concurrency database access scheme
Kleppmann et al. Online event processing
Zhang et al. Global scheduling for flexible transactions in heterogeneous distributed database systems
Silva et al. A distributed transaction model based on mobile agents
JP4665042B2 (ja) データの動的アクセス
JP3970524B2 (ja) 複数オペレーション間の排他制御方法
US20240086387A1 (en) Delta transition table for database triggers
JP3330006B2 (ja) 情報記憶システムを備えるネットワークシステム、該システムの入力システムならびに
AU2003288151B2 (en) Avoiding data loss when refreshing a data warehouse

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20091009

Year of fee payment: 13

LAPS Lapse due to unpaid annual fee