Abstract:
본 발명은 주기억장치 데이타베이스 관리 시스템(MDBMS)을 위한 효과적인 락(lock) 관리방법에 관한 것으로서, 대상 파티션을 액세스 한 후 래치를 걸어서 그 파티션에 락이 걸려 있는지를 락 헤더의 정보에 의해 검사하는 과정과, 이 검사에 의해 그 파티션에 락이 걸려있지 않은 경우, 락 리퀘스트에 락 정보를 채워 락 헤더에 연결시킨 후, 트랜잭션 엔트리가 가리키는 연결 리스트에 포함시킨 후 래치를 풀고서 리턴하는 과정과, 파티션에 락이 걸려 있고 그 파티션이 이미 락이 획득되어 있는 경우, 획득되어 있는 락 모드의 강도와 락을 다른 트랜잭션과 공유하고 있는지를 각각 검사하여 락 리퀘스트의 정보를 처리한 후 래치를 풀고서 리턴하는 과정과, 파티션이 이미 락이 획득되어 있지 않고 그 락이 트랜잭션에 의해 처음으로 요청된 것이고 이 파티� �에 다른 락이 있는 경우, 락 리퀘스트에 락 정보를 채워 락 헤더에 연결시킨 후 트랜잭션 엔트리가 가리키는 연결 리스트에 포함시키는 과정과, 그후 락 리퀘스트들중 대기상태인 것이 없고 요청한 락과 획득되어 있는 락 모드가 모두 읽기인지를 검사하여 락 리퀘스트의 정보를 변경 처리한 후 래치를 풀고서 리턴하는 과정을 수행함으로써, 데이타베이스를 라킹 단위로 사용하는 경우의 동시성 저하 문제와 레코드를 라킹 단위로 사용하는 경우의 처리 오버헤드 문제를 동시에 해결할 수 있다.
Abstract:
1. 청구범위에 기재된 발명이 속한 기술분야 본 발명은 분할 시그너춰 파일을 위한 디렉토리 관리 방법에 관한 것임. 2. 발명이 해결하려고 하는 기술적 과제 본 발명은 대용량 데이타베이스 환경에서의 고속의 검색과, 객체의 삽입과 삭제가 빈번하게 발생하는 동적 환경으로의 적응, 저장 공간의 효율, 및 다목적 저장 엔진과의 통합 등의 요건을 만족하는 분할 시그너춰 파일의 디렉토리 관리 방법을 제공하고자 함. 3. 발명의 해결방법의 요지 본 발명은 질의 루틴을 호출하면, 질의 시그너춰에 대하여 접두어 만족성 연산을 충족하는 새로운 엔트리가 가리키는 객체에 대하여 폴스 드랍 해결을 수행하는 단계와, 삭제 루틴을 호출하면, 객체 시그너춰에 대하여 접두어 일치성 연산을 충족함하는 엔트리를 현재 블럭에서 삭제하는 단계, 및 삽입 루틴을 호출하면, 객체 시스너춰와 새로운 블록의 주소를 이용하여 엔트리를 구성하고, 현재 엔트리를 현재 블록에 삽입하는 단계를 포함 함. 4. 발명의 중요한 용도 본 발명은 분할 시그너춰 파일의 디렉토리 관리에 이용됨.
Abstract:
본 발명은 메모리-상주 객체지향 데이타베이스 관리 시스템(이하, Memory-Resident Object-Oriented Database Management System)에서 경로에 대한 인덱싱 기법과 질의 처리 과정에서 경로 인덱스의 잇점을 충분히 이용하기 위한 인데스-조인 방법에 관한 것이다 객체지향 데이타베이스의 질의를 처리하는데 경로 인덱스를 사용함으로써 성능 향상을 꾀할 수 있으나 그 잇점을 충분히 이용하기 위한 기술들은 미비한 실정이다. 제안된 기법은 메모리-상주 객체지향 데이타베이스 관리 시스템에서 경로에 대하여 인덱스를 구축하는데 사용될 인덱스 구조와 인덱스 구축 방법을 제한하고, 다수개의 경로 인덱스를 사용하여 질의를 처리하는데 필수적인 인덱스-조인 방법을 제안한다.
Abstract:
PURPOSE: A T-tree index key management method is provided to effectively support a variable length key, a multiple attribute key and an overlapping key in a T-tree widely used in a main memory DBMS as an index structure. CONSTITUTION: The method comprises steps of inserting a newly allocated node in an entry if a root node is a null(101,102), replacing a current node with the root node if the root node is not a null(103), stopping a process if the current node is a null(104), comparing a key value of an entry with a minimum value of the current node if the current node is not a null(105), comparing the key value of the entry with a maximum value of the current node if the key value is larger, replacing the current node with a right side child node of the current node and then returning to the step 104 in the case that the key value is larger and the right side child node exists, inserting the entry in the current node and then stopping the process in the case that the right side child node does not exist and an insertion space exists at the current node, inserting the entry in the current node and then stopping the process in the case that the key value is not larger than the maximum value of the current node and an insertion space exists at the current node, deleting the minimum value at the current node and inserting the entry in the current node in the case that an insertion space does not exist, searching the lowest boundary node from the current node in the case that a left side child node exists at the current node, inserting a minimum of the current node in the case that a space exists at the boundary node, allocating a new node and inserting a minimum value in the space does not exist at the boundary node, checking if a left side child node exists at the current node in the case that the key value of the entry is smaller than a minimum value of the current node(118), replacing the current node with the left side child node in the case that the left side child node exists(119), inserting the entry and stopping the process in the case that the left side child node does not exist and a space exists at the current node(120,121), and allocating a new node, inserting the entry in the new node and stopping the process in the case that a space does not exist(120,122).
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:
PURPOSE: A transaction pre processing method for a real time DBMS is provided to make a pre processor of an embedded data manipulation language effectively support a pre process in relation to a transaction while compiling an application program, using a real time DBMS of a switching system, in a general purposed computer system. CONSTITUTION: A transaction preprocessing method for a real time DBMS comprises steps of declaring global variables in a declaration within a program, and initializing the variables(101), reading one statement of the DML(102), analyzing the read statement(103), replacing codes for beginning the transaction if the read statement is a begin_trn() and inserting codes for substituting a transaction number for the declared global variables(104,105), replacing conditional statement codes for analyzing a value of the global variable if the read statement is an end_trn() and inserting transaction end codes or error generation codes according to a result of the conditional statement(108,109,110), preprocessing the transaction if the read statement is an undo_trn()(111,112,113,114,115), preprocessing the transaction if the read statement is a data select, update, delete, insert, or algebra function(116,117,118), and preprocessing the transaction if the statement is a data manipulation start or end(119,120,121).
Abstract:
본 발명은 HANBit ACE 시스템의 DBMS가 버전 정보를 유지하는 방법과 시스템의 운용중 온-라인 상에서 대화형으로 DBMS 버전 검증 방법에 관한 것으로서, HANBit ACE 시스템의 DBMS가 운영 체계인 SROS 상에서 수행될 때 데이터베이스 블록들 각각의 버전과 DBMS 라이브러리의 버전이 일치해야만 올바른 수행이 가능하므로 운용중 HANBit ACE 시스템에 연결된 단말기를 통하여 온-라인 상에서 대화형으로 데이터베이스 각 블럭의 버전 및 각 응용 블럭에 링크된 데이터베이스 라이브러리의 버전을 확인하는 기능을 제공하기 위하여 고안되었다. 따라서 시스템의 운용자 및 개발 시험을 위해 시스템 사용자는 고안된 데이터베이스 버전 검증 기능을 이용하여 온-라인 상에서 대화형으로 버전이 일치하지 않는 블럭들을 확인할 수 있으므로 시스템의 정상적인 동작을 보장할 수 있는 효과가 있다.
Abstract:
본 발명에서는 데이타베이스 관리 시스템내에서 교착 상태 검출기와 트랜잭션들이 공통으로 액세스하는 락 대기 정보의 상호 배제를 효과적으로 지원하는 새로운 방법에 관한 것이다. 본 발명은, 시스템 초기화, 트랜잭션의 락 대기 처리, 트랜잭션의 락 획득 처리 및 트랜잭션의 락 반환 처리를 각각 독립적으로 수행하되, 상기 각 트랜잭션 처리와 교착상태 검출기의 처리를 동시에 수행함으로써, 교착 상태 검출기와 트랜잭션들 간의 상호 간섭을 최소화하여서, 결국 동시성을 극대화할 수 있는 것이다.
Abstract:
PURPOSE: A method for managing a lock for an MDBMS(Main-memory DataBase Management System) is provided to support a concurrency control effectively by setting a unit of locking adapted to an MDBMS and supplying new lock managing method without hashing. CONSTITUTION: A partition which is an object to be locked by a transaction is accessed and a latch is set(S1). A lock header is checked(S2) and if a lock is set in a partition, it is checked whether a lock is obtained in the partition previously by a requested transaction(S3). If a lock is obtained in the partition previously, it is checked whether a strength of the obtained lock mode is more than a mode strength of a requested lock(S4). If a strength of the obtained lock mode is not more than a mode strength of a requested lock, it is checked whether the obtained lock is shared with other transaction(S6). If the obtained lock is shared with other transaction, the lock mode is set as a writing mode(S7). In addition, the latch is released and a waiting state is maintained until a time capable of converting the lock(S8). If the lock is converted(S9), the process is returned(S10).