Abstract:
PURPOSE: A mutual exclusion method of a lock waiting information is provided to detect a deadlock occurred when a lock waiting information is commonly accessed by a deadlock detector and transactions in a DBMS by using a transaction table and the lock waiting information. The method can make the lock waiting information just by a static assignment of many transaction elements by setting properly the number of the static elements according to the system characteristics. CONSTITUTION: A mutual exclusion method of a lock waiting information comprises steps of using a latch on the lock waiting information pool as the mutual exclusion means, initializing the system, performing a lock waiting process in the case that a waiting lock is obtained by other transaction when a transaction requests a lock, performing a lock acquisition process, performing a lock return process, and performing a deadlock detection process with one of the above processes.
Abstract:
본 발명에서는 데이타베이스 관리 시스템내에서 교착 상태 검출기와 트랜잭션들이 공통으로 액세스하는 락 대기 정보의 상호 배제를 효과적으로 지원하는 새로운 방법에 관한 것이다. 본 발명은, 시스템 초기화, 트랜잭션의 락 대기 처리, 트랜잭션의 락 획득 처리 및 트랜잭션의 락 반환 처리를 각각 독립적으로 수행하되, 상기 각 트랜잭션 처리와 교착상태 검출기의 처리를 동시에 수행함으로써, 교착 상태 검출기와 트랜잭션들 간의 상호 간섭을 최소화하여서, 결국 동시성을 극대화할 수 있는 것이다.
Abstract:
PURPOSE: A method for controlling an extendable hashing directory dividing time of a hash index structure and a method for inserting, deleting and searching an entry using the method are provided to delay a directory separation by using an overflow node being connected to a leaf node. CONSTITUTION: It is decided whether a directory generated as an entry is inserted into an extendable hash at first is "NULL"(S301). If the entry is not "NULL"(S302), new directory is created and an index of a directory made by a bit as much as the directory size is calculated using a hashing function(S303). A bucket being connected to the calculated directory index becomes a home bucket(S304). It is judged whether an overflow bucket exists in the home bucket(S305). If the entry is "NULL"(S302), the above (S303) stage is repeated. If an overflow bucket exists in the home bucket, it is judged whether the last bucket of the overflow bucket being connected by a chain may insert an entry(S306). If the last bucket of the overflow bucket can not insert an entry, new bucket is allocated and connected to the last bucket of the overflow bucket(S307), and the entry is inserted into the last bucket and the process is complected(S308). If an overflow bucket does not exist in the home bucket, it is judged whether the home bucket being connected to the calculated directory index may insert an entry(S309). If the home bucket can insert an entry, an entry is inserted into the home bucket, and the process is completed(S310). If the home bucket can not insert an entry, it is detected whether a local depth is less than a global depth(S311). If a local depth is less than a global depth, two buckets are allocated and the entry in the home bucket is re-hashed(S312), it is decided whether the connected home entry may insert an entry(S313). If the home entry may insert an entry, an entry is inserted into the home bucket(S314), and the process is completed. If the home entry can not insert an entry, new bucket is allocated and an entry is inserted and connected to the home bucket(S315).