KR0126089B1 - Distribute real-time data base management system - Google Patents

Distribute real-time data base management system

Info

Publication number
KR0126089B1
KR0126089B1 KR1019940034263A KR19940034263A KR0126089B1 KR 0126089 B1 KR0126089 B1 KR 0126089B1 KR 1019940034263 A KR1019940034263 A KR 1019940034263A KR 19940034263 A KR19940034263 A KR 19940034263A KR 0126089 B1 KR0126089 B1 KR 0126089B1
Authority
KR
South Korea
Prior art keywords
lock
remote
processor
relation
dblib
Prior art date
Application number
KR1019940034263A
Other languages
Korean (ko)
Other versions
KR960025171A (en
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 양승택
Priority to KR1019940034263A priority Critical patent/KR0126089B1/en
Publication of KR960025171A publication Critical patent/KR960025171A/en
Application granted granted Critical
Publication of KR0126089B1 publication Critical patent/KR0126089B1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q3/00Selecting arrangements
    • H04Q3/0016Arrangements providing connection between exchanges
    • H04Q3/0062Provisions for network management

Abstract

A method for processing lock with relation to remote relation in diffusion real time DBMS is provided, which includes a first step (41) of determining whether an operator has indicated a processor to perform remote lock with EDML command, a second step (42-64) of processing global relation lock existing in the remote processor if the remote lock is determined not to have been indicated, and a third step (65-76) of performing lock for lor (local replicated) type of relations if the remote lock is determined to have been indicated, wherein remote simultaneity may be controlled by using simple operation words.

Description

분산 실시간 데이타베이스 관리시스템(DBMS)에서의 원격 릴레이션에 대한 록 처리 방법Lock processing method for remote relation in distributed real-time database management system (DBMS)

제1도는 본 발명의 내용을 포함하는 전전자 교환기 데이타베이스 관리시스템(DBMS)의 분산 구조도.1 is a distributed architecture diagram of an electronic switchboard database management system (DBMS) incorporating the teachings of the present invention.

제2도는 본 발명이 적용되는 전전자 교환기 시스템상에 구현된 원격 록 처리 기능을 수행하기 위한 관련 블럭간의 구성도 및 메세지 흐름도.2 is a block diagram and a message flow diagram between relevant blocks for performing a remote lock processing function implemented on an all-electronic switching system to which the present invention is applied.

제3도는 본 발명에 따른 전전자 교환기 데이타베이스 관리시스템(DBMS)에서의 원격 록 처리 기능에 대한 전체 흐름도.3 is a general flow diagram of a remote lock processing function in an electronic switching center database management system (DBMS) according to the present invention.

*도면의 주요부분에 대한 부호의 설명** Description of the symbols for the main parts of the drawings *

10 : 교환 서브시스템20 : 상호 연결망 서브시스템10: switching subsystem 20: interconnection network subsystem

30 : 중앙 제어 서브시스템32 : 운용 및 유지보수 프로세서30: central control subsystem 32: operation and maintenance processor

본 발명은 분산 실시간 시스템인 전전자 교환기의 데이타베이스 관리시스템(DBMS : Data Base Management System)에서 원격 릴레이션에 대한 록을 처리하는 방법에 관한 것이다.The present invention relates to a method for processing a lock on a remote relation in a database management system (DBMS) of an electronic switching system, which is a distributed real-time system.

종래의 교환기 시스템에서는 호처리, 운용, 보전, 과금 및 통계기능을 수행하는응용 프로그램들이 각각 필요한 데이타를 자신의 프로그램내에서 정의하여 사용하였다. 그리고 여러개의 프로세서들로 구성된 교환기 시스템에서 다양한 기능을 제공하기 위하여 응용 프로그램들은 자신의 프로세서에 있는 지역 데이타 뿐만 아니라 다른 프로세서에 존재하는 원격 데이타에 대한 접근도 필요로 하게 되었다.In a conventional exchange system, application programs that perform call processing, operation, maintenance, billing, and statistical functions each define and use necessary data in their own programs. In order to provide various functions in an exchange system consisting of multiple processors, applications need to access local data on their own processor as well as remote data on another processor.

분산 실시간 시스템인 전전자 교환기에서는 지역 데이타와 원격 데이타에 접근하기 위하여 응용 프로그래머가 응용 프로그램내에 간단한 EDML(Embedded Data Manipulation Language)한 문장만을 사용하도록 하여 EDML에 의해 요구된 지역 또는 원격 데이타 접근기능을 DBMS가 수행하게 함으로써 응용 프로그램의 작성을 간편하게 해주며 동시에 데이타의 조작을 쉽게 할 수 있도록 하였다. 또한 다수의 응용 프로그램이 동시에 데이타에 접근함으로 인하여 발생하는 데이타의 불일치를 해결하기 위하여 록 기법을 사용한 동시성 제어 방법을 사용한다.In the electronic switchboard, a distributed real-time system, application programmers use only simple embedded data manipulation language (EDML) statements in their applications to access local and remote data. This makes it easy to write application programs and at the same time make it easy to manipulate data. Also, we use concurrency control method using lock technique to solve data inconsistency caused by multiple applications accessing data at the same time.

그러나, 지역 데이타의 접근에 대한 동시성 제어만을 제공하고 원격 데이타의 접근에 대한 동시성 제어는 제공하지 않아 원격 데이타의 일관성을 보장할 수 없음으로 인하여 교환기 시스템의 신뢰도를 떨어뜨리므로 원격 데이타에 대하여도 동시성 제어 기능이 요구되었다.However, since only the concurrency control for access to local data is provided and the concurrency control for access to remote data is not provided, the consistency of remote data cannot be guaranteed, thereby reducing the reliability of the exchange system. A control function was required.

또한, 종래의 범용 DBMS에서는 사용자가 릴레이션 또는 테이블 단위로 사전에 연결(connect)한 후, 연결한 릴레이션에 대하여만 록을 수행하거나 릴레이션의 데이타에 접근할 수 있었다. 그러나, 전전자 교환기를 비롯한 실시간 분산 DBMS에서는 원격 프로세서에 존재하는 릴레이션에 대하여 사전에 연결이 없어도 프로세서를 지정하여 바로 록을 수행하는 기능이 요구되었다.In addition, in the conventional general-purpose DBMS, after the user has previously connected to each relation or table unit, the user can lock only the connected relation or access the data of the relation. However, in a real-time distributed DBMS including an electronic switchboard, a function is required to perform a lock by designating a processor even without a connection to a relation existing in a remote processor.

따라서, 본 발명은 분산 실시간 시스템인 전전자 교환기에서 호처리, 운용, 보전, 과금 및 통계 기능 등을 수행하는 응용 프로그램들이 동시에 접근하는 원격 데이타에 대하여 동시성 제어를 지원하여, 다수의 응용 프로그램이 동시에 한 지역 데이타에 접근할 때의 동시성 제어와 마찬가지로 록/언록(LOCK/UNLOCK)의 EDML 한 명령어만을 사용하여 원격 데이타에 접근하는 것으로 그 데이타의 일치성을 보장받을 수 있는 록 처리 방법을 제공하는데 그 목적이 있다.Accordingly, the present invention supports concurrency control on remote data simultaneously accessed by application programs that perform call processing, operation, maintenance, billing, and statistical functions in an electronic switching system, which is a distributed real-time system, so that a plurality of applications can simultaneously Like concurrency control when accessing a local data, it provides a lock processing method that can guarantee the consistency of the data by accessing the remote data using only one lock / unlock EDML command. There is a purpose.

상기 목적을 달성하기 위하여 본 발명은, 운용 및 유지보수 기능을 수행하는 운용 및 유지보수 프로세서와 다수의 타 프로세서를 구비하는 분산 구조 데이타베이스 관리시스템(DBMS)에 적용되는 방법에 있어서, 운용자가 EDML 명령어에 원격 록을 수행할 프로세서를 지적했는지를 판단하는 제1단계 ; 상기 제1단계 수행 후, 지적하지 않는 경우에는 응용 프로그램이 수행되는 프로세서에 존재하는 지역 릴레이션을 포함하여 원격 프로세서에 존재하는 글로벌(global) 릴레이션의 록을 처리하는 제2단계 ; 및 상기 제1단계 수행 후, 원격 록을 수행할 원격 프로세서가 지적된 경우에는 lor(Local Replicated) 유형의 릴레이션들에 대한 록을 수행하는 제3단계를 포함하는 것을 특징으로 한다.In order to achieve the above object, the present invention, in the method applied to a distributed architecture database management system (DBMS) having an operation and maintenance processor and a plurality of other processors performing the operation and maintenance functions, the operator EDML Determining whether a processor has indicated a processor to perform a remote lock; After performing the first step, if not indicated, a second step of processing a lock of a global relation existing in the remote processor, including a local relation existing in the processor on which the application program is executed; And a third step of performing a lock on relations of a lor (Local Replicated) type when a remote processor to perform a remote lock is indicated after performing the first step.

이하, 첨부된 도면을 참조하여 본 발명에 따른 일실시예를 상세히 설명한다.Hereinafter, with reference to the accompanying drawings will be described an embodiment according to the present invention;

제1도는 전전자 교환기 시스템의 분산 구조를 갖는 주메모리(Main Memory) DBMS의 구조도이다.1 is a structural diagram of a main memory DBMS having a distributed structure of an all-electronic exchange system.

이 전전자 교환기는 ASS(Access Switching Subsystem(10), INS(InterconThis switchboard is equipped with ASS (Access Switching Subsystem) and INS (Intercon).

nection Network Subsystem)(20), 그리고 CCS(Central Control Subsystem)(30nection Network Subsystem (20), and Central Control Subsystem (CCS) (30)

)의 3개 서브시스템을 구비한다.Three subsystems.

ASS(10)는 분산된 호처리 기능을 수행하는 ASP(Access Switching ProcessASS (10) is an access switching process (ASP) to perform a distributed call processing function

or)(11, 12)들로 구성되고 INS(20)는 집중화된 호처리 기능 부분을 수행하는 INP(Inor) (11, 12) and the INS 20 performs INP (In to perform the centralized call processing function part.

terconnection Network Processor)와 NTP(Number Translation Processor)로 구성되며 CIt consists of terconnection Network Processor (NTP) and Number Translation Processor (NTP).

CS(30)는 운용 및 보전에 관련된 집중화 기능을 수행하며 OMP(Operation and MainThe CS 30 performs centralization functions related to operation and maintenance, and OMP (Operation and Main)

tenance Processor)(32)와 MMP(Man-Machine Processor)(31)를 구비한다.a tenance processor (32) and a man-machine processor (MMP) 31 are provided.

전전자 교환기 DBMS는 위와 같은 여러 프로세서에 분산되어 있는 데이타를 관리하기 위하여 프로세서의 성격에 따라 그 기능이 분산되어 있으며 실시간 처리를 위해서 주 기억 장치에 상주하고, 데이타를 검색 및 변경하는 기능, 원격, 데이타 처리 기능, 중복 데이타 처리 기능, 데이타 백업 기능, 데이타 회복 기능, 동시성 제어 기능, 트랜잭션 관리 기능들을 제공하고 있다.The electronic switchboard DBMS has its functions distributed according to the characteristics of the processors in order to manage the data distributed among the various processors as described above. The DBMS resides in main memory for real-time processing. It provides data processing functions, redundant data processing functions, data backup functions, data recovery functions, concurrency control functions, and transaction management functions.

위의 프로세서들중 OMP(32)의 DBMS는 DBBG(Data Base Backup Group), DBSG(Data Base Supporting Group), DBTG(Data Base Transaction Group) 그리고 DBKG(Data Base Kernel Group)의 4개 블럭을 구비하고, MMP를 제외한 나머지 프로세서들은 DBKG, DBSG와 DBTG 세개의 블럭을 구비한다.Of the above processors, the OMS 32 DBMS has four blocks: DBBG (Data Base Backup Group), DBSG (Data Base Supporting Group), DBTG (Data Base Transaction Group) and DBKG (Data Base Kernel Group). The other processors, except MMP, have three blocks: DBKG, DBSG, and DBTG.

여기에서 DBBG 블럭은 디스크 접근이 필요한데, 디스크는 OMP(32)에 장착되어 있기 때문에 OMP에만 DBBG 블럭이 존재한다.Here, the DBBG block requires disk access. Since the disk is mounted in the OMP 32, the DBBG block exists only in the OMP.

한편, MMP(31) 는 OMP(32)를 제외한 다른 프로세서가 갖는 기능뿐아니라 운용자로부터 입력을 받을 수 있는 기능을 수행하므로, DBKG, DBSG, DBTG 이외에도 운용자 터미날과 전전자 교환기 시스템과의 인터페이스를 수행하는 DBQG(Data Base Query Group) 블럭을 갖는다.On the other hand, the MMP (31) performs a function that can receive input from the operator as well as the function of other processors except the OMP (32), so that in addition to the DBKG, DBSG, DBTG to interface with the operator terminal and the electronic switching system It has a DBQG (Data Base Query Group) block.

DBMS의 각 블럭의 기능을 살펴보면 DBSG는 응용 프로그램 내에서 원격 데이타에 대한 검색 및 변경 요구를 처리하도록 DBKG에게 요구하는 기능과 원격 데이타 처리를 위해 DBMS간의 통신 기능을 수행하고, DBTG는 트랜잭션 관리 기능과 동시성 제어 기능을 수행하고, DBKG는 처리 요구가 들어온 데이타의 검색 및 변경 내용에 따라 실제로 데이타베이스내의 데이타를 검색 및 변경하는 기능을 수행하며, DBBG는 변경을 요구한 데이타가 디스크 백업이 필요한 경우 실제로 디스크에 있는 데이타베이스에 백업을 시키는 기능과 시스템 재시동시 데이타베이스를 회복하는 기능을 수행하고, 마지막으로 DBQG는 온-라인(on-line) 질의어 처리 기능을 수행한다.Looking at the function of each block of DBMS, DBSG performs the function of requesting DBKG to handle retrieval and change request of remote data in the application, and the communication function between DBMS for remote data processing. It performs concurrency control function, DBKG performs the function to search and change the data in the database according to the retrieval and change of the data that the processing request comes in. DBBG actually performs the function when the data requesting the change requires disk backup. It backs up the database on disk and restores the database when the system restarts. Finally, DBQG performs on-line query processing.

제2도는 분산 실시간 시스템인 전전자 교환기 시스템상에 구현된 원격 록 처리 기능을 수행하기 위한 관련 블럭간의 구성 및 메세지 흐름을 나타낸 구조도이다.2 is a structural diagram showing a configuration and message flow between related blocks for performing a remote lock processing function implemented on an all-electronic switching system, which is a distributed real-time system.

응용 프로그램 내에서 EDML 록 명령어를 사용하여 원격 프로세서에서의 동시성 제어를 수행할 수 있는 경우에는 두가지가 있다.There are two cases where you can perform concurrency control on a remote processor using an EDML lock instruction within an application.

그 하나는 릴레이션이 전체 시스템중 한 프로세서에만 존재하고 응용 프로그램이 수행되는 타 프로세서에서도 접근할 수 있도록 글로벌(global)로 정의되어 EDML 명령어에서 그 릴레이션이 존재하는 프로세서를 지적하지 않아도 DBMS가 데이타베이스를 검색하여 적당한 프로세서에서 수행될 수 있도록 지원해주는 록의 경우이고, 다른 하나는 여러 프로세서에 같은 이름과 같은 스키마로 존재하나 각각의 데이타는 차이가 있는 lor(local replicated) 유형 릴레이션들에 관한 록을 수행시 실제 수행할 프로세서를 지적하는 경우이다.One is defined globally so that the relation exists only on one processor of the whole system and is accessible to other processors on which the application is running, so that the DBMS does not need to point to the processor where the relation exists in the EDML instruction. This is the case of a lock that can be retrieved and executed on a suitable processor. The other is a lock with respect to lor (local replicated) relations that exist in different processors with the same name and same schema, but with different data. This is the case when you indicate the processor to actually perform.

지역 릴레이션에 관한 록은 글로벌(global) 릴레이션에 관한 록의 경우에 포함된다. 이들 두 경우는 수행하는 EDML 록 명령어의 형태에서 실제 그 릴레이션의 록을 수행한 프로세서를 지적하는가의 차이가 있으며, DBMS에서도 이들 두 경우에 대하여 분리하여 따로 처리하였다.The lock on the local relation is included in the case of the lock on the global relation. The two cases differ in whether they indicate the processor that actually locks the relation in the form of EDML lock instruction to be executed, and the DBMS separately handles these two cases.

먼저, 지역 릴레이션을 포함한 원격 프로세서에 존재하는 글로벌(global) 릴레이션의 록 처리 방법은 다음과 같다.First, the lock processing method of the global relation existing in the remote processor including the local relation is as follows.

응용 프로그램에서 릴레이션 록을 수행하기 위해서 EDML을 사용하게 되면, 응용 프로그램과 DBMS 사이의 인터페이스를 담당하는 데이타베이스 라이브러리(DBLIB)가 DBKG로 하여금 데이타베이스 접근을 요구한다. 그러면, DBKG는 데이타베이스내의 릴레이션들에 대한 정보를 갖고 있는 디렉토리와 딕션어리를 검색하여, 록을 걸도록 요구가 들어온 릴레이션이 자신의 프로세서에 존재하는가의 여부를 조사한다. 그 릴레이션이 자신의 프로세서에 존재하는 지역 릴레이션인 경우 록을 수행하고, 자신의 프로세서에 존재하지 않는 글로벌(global) 유형의 릴레이션의 경우에는 원격에 있는 프로세서에서 수행할 수 있도록 그 릴레이션이 존재하는 프로세서 및 록에 관한 정보들만으로 메세지를 작성하여 데이타베이스 라이브러리(DBLIB)에 전송해준다. 데이타베이스 라이브러리(DBLIB)는 지역 릴레이션들의 록 수행 결과 및 원격 글로벌(global) 유형 릴레이션의 록 정보를 받아 원격 릴레이션의 록 메세지가 존재할 때에는 원격 릴레이션이 존재하는 프로세서의 DBSG에게 록 정보를 전송한다. DBSG는 수신된 원격 록 정보에 따라 DBKG에게 록을 수행할 것을 요구한다. DBKG는 록을 걸도록 요구가 들어온 릴레이션이 자신의 프로세서에 존재하는 지역 릴레이션인 경우에만 록을 수행하고 그렇지 않은 경우에는 오류로 판단하여 수행한 록들을 원래의 상태대로 환원함과 동시에 그 결과를 DBSG에게 반환하고, DBSG는 DBKG로부터 받은 결과를 응용 프로그램이 수행되고 있는 프로세서의 데이타베이스 라이브러리(DBLIB)에게로 전송한다. 데이타베이스 라이브러리(DBLIB)는 원격 록 수행 결과가 성공이면 그 결과를 응용 프로그램에게 알려준다. 반면에 성공이 아니면 자신의 프로세서에서 수행한 록을 모두 환원시키고, 그 결과를 응용 프로그램에게 알려준다.When EDML is used to lock relations in an application, the database library (DBLIB), which is the interface between the application and the DBMS, requires DBKG to access the database. DBKG then searches the directory and dictionary containing information about relations in the database and checks whether a relation exists on its processor that requires a lock. If the relation is a local relation that exists in its own processor, the lock is performed. In the case of a global type relation that does not exist in its own processor, the processor in which the relation exists can be executed by a remote processor. Writes a message with only information about the and locks and sends it to the database library (DBLIB). The database library DBLIB receives the lock result of the local relations and the lock information of the remote global type relation, and transmits the lock information to the DBSG of the processor where the remote relation exists when the lock message of the remote relation exists. The DBSG requests the DBKG to perform the lock according to the received remote lock information. The DBKG performs the lock only if the relation requesting the lock is a local relation that exists on its processor. Otherwise, the DBKG returns the lock to the original state and returns the result to the DBSG. DBSG sends the result from DBKG to the database library (DBLIB) of the processor on which the application is running. The database library (DBLIB) notifies the application if the result of remote lock execution is successful. On the other hand, if it isn't successful, it returns all the locks done by its processor and informs the application of the results.

Lor 유형의 릴레이션들에 록을 수행하기 위해서는 응용 프로그램내 EDML 명령어에서 록이 실제로 수행 될 프로세서를 지적하여야만 한다. 데이타베이스 라이브러리(DBLIB)가 록에 관한 정보들만의 메세지를 명령어에서 지시한 원격 프로세서의 DBSG에게 바로 전송한다. 원격 프로세서의 DBSG는 수신된 원격 록 정보에 따라 DBKG에게 록을 수행할 것을 요구한다. DBKG는 록을 걸도록 요구가 들어온 릴레이션들이 모두 자신의 프로세서에 존재하는 지역 릴레이션인 경우에만 록을 수행하고, 그렇지 않은 경우에는 오류로 판단하여 수행한 록들을 원래의 상태대로 환원함과 동시에 그 결과를 DBSG에게 전한다. DBSG가 그 결과를 응용 프로그램이 수행되고 있는 프로세서의 데이타베이스 라이브러리(DBLIB)에게로 전달하면, 데이타베이스 라이브러리(DBLIB)는 원격 록 수행 결과를 최종적으로 응용 프로그램에게 알려준다.In order to perform locks on relations of type Lor, one must point to the processor on which the lock is actually executed in the EDML instruction in the application. The database library (DBLIB) sends a message of only the information about the lock directly to the DBSG of the remote processor indicated by the command. The DBSG of the remote processor asks the DBKG to perform the lock according to the received remote lock information. DBKG performs the lock only if the relations that are requested to make the lock are all local relations that exist in its processor. Otherwise, DBKG returns the locks that were determined to be in error and return them as they were. Tell DBSG When the DBSG passes the result to the database library (DBLIB) of the processor on which the application is running, the database library (DBLIB) finally informs the application of the results of the remote lock execution.

제3도는 분산 실시간 시스템인 전전자 교환기 DBMS에서의 원격 록 처리 기능에 대한 전체 흐름도이다.3 is an overall flowchart of the remote lock processing function in the electronic switching center DBMS which is a distributed real-time system.

EDML 명령어에 원격 록을 수행할 프로세서를 지적하는 경우와 지적하지 않는 경우(41)로 나눈다. 먼저 프로세서를 지적하지 않아 응용 프로그램이 수행되는 프로세서에 존재하는 지역 릴레이션을 포함하여 원격 프로세서에 존재하는 글로벌(global) 릴레이션의 록을 처리하는 방법은 다음과 같다. 응용 프로그램에서 데이타베이스에 록을 수행하기 위해 EDML을 사용하게 되면 데이타베이스 라이브러리(DBLIB)가 DBKG에게 데이타 접근을 요구하게 된다(42). 릴레이션들에 록을 수행하도록 요구받은(43) DBKG는 디렉토리와 딕션어리 검색하여(44) 요구된 릴레이션이 자신의 프로세서에 존재하는가의 여부를 알아낸다(45). 해당 릴레이션의 위치가 자신의 프로세서이면 그 릴레이션에 대한 록을 수행한다(46). 자신의 프로세서에 존재하지 않는 글로벌(global) 유형의 릴레이션에 대해서는 그 릴레이션이 위치하는 프로세서를 알아내고(47) 록 정보들만으로 메세지를 작성한다(48). DBKG가 요구된 릴레이션들에 대하여 각각 적당한 작업의 수행을 완료한 후, 지역 릴레이션의 록 수행 결과와 작성된 원격 록 정보를 갖는 메세지를 데이타베이스 라이브러리(DBLIB)로 전달한다(49). 지역 릴레이션들에만 록을 수행할 경우에는 데이타베이스 라이브러리(DBLIB)는 응용 프로그램에 명령어 수행 결과를 전한다. 반면에 원격 글로벌(global) 릴레이션의 메세지가 존재하면 데이타베이스 라이브러리(DBLIB)는 원격 릴레이션이 존재하는 프로세서의 DBSG에게 록 메세지를 전송한다(51). 응용 프로그램의 원격 프로세서에 있는 DBSG는 원격 록 정보를 수신하여(52) 다시 DBKG에게 전달하고 록을 수행할 것을 요구한다(53). DBKG는 이를 수신하여(54) 디렉토리와 딕션어리를 검색한다(55). 록을 걸도록 요구가 들어온 릴레이션이 자신의 프로세서에 존재(56)하는 지역 릴레이션인 경우에만 록을 수행하고(57), 그렇지 않은 경우에는 오류로 판단하여 이미 수행한 록들이 있다면 그들을 원래의 상태대로 환원한다(58). DBKG의 수행이 끝나면 원격 록 결과를 전송하고(59) DBSG는 그 수행 결과를 전달받아(60)응용 프로그램이 수행되고 있는 프로세서의 데이타베이스 라이브러리(DBLIB)에게로 전송한다(61). 데이타 베이스 라이브러리(DBLIB)는 원격 록 수행 결과를 수신하여(62) 성공이면 그 결과를 응용 프로그램에게 알려준다. 반면에 성공이 아니면 자신의 프로세서에서 수행한 록을 모두 환원시키고(64), 그 결과를 응용 프로그램에게 알려준다.The EDML instruction is divided into the case of indicating the processor to perform the remote lock and the case of not pointing (41). First, the method of processing the lock of the global relation in the remote processor, including the local relation in the processor where the application is executed without pointing to the processor, is as follows. When an application uses EDML to lock a database, the database library (DBLIB) requires DBKG to access the data (42). The DBKG, 43 requested to perform a lock on the relations (43), searches the directory and dictionaries (44) to find out whether the requested relation exists on its processor (45). If the position of the relation is its processor, the lock on the relation is performed (46). For a relation of a global type that does not exist in its processor, the processor identifies the processor in which the relation is located (47) and writes a message with only the information (48). After the DBKG completes the appropriate operation for each of the requested relations, it sends a message with the result of performing the local relation lock and the created remote lock information to the database library (DBLIB) (49). When locking only local relations, the database library (DBLIB) tells the application what to do. On the other hand, if the message of the remote global relation exists, the database library (DBLIB) transmits a lock message to the DBSG of the processor in which the remote relation exists (51). The DBSG at the remote processor of the application receives the remote lock information (52), passes it back to the DBKG, and requests to perform the lock (53). The DBKG receives this (54) and searches (55) directories and dictionaries. The lock is performed only if the relation requesting to lock is the local relation existing on its processor (56), otherwise it is determined to be an error and, if there are already performed locks, they are returned to their original state. Reduce (58). After the execution of the DBKG, the remote lock result is transmitted (59), and the DBSG receives the execution result (60) and transmits the result to the database library (DBLIB) of the processor where the application is being executed (61). The database library (DBLIB) receives the result of the remote lock execution (62) and informs the application of the result if successful. On the other hand, if it is not successful, it returns 64 all the locks done by its processor and informs the application of the result.

록을 수행할 원격 프로세서가 지적된 lor 유형의 릴레이션들에 록을 수행하는 흐름은 다음과 같다. 응용 프로그램으로부터 데이타베이스 라이브러리(DBLIB)가 록에 관한 정보들만의 메세지를 전달받아 명령어에서 지시한 원격 프로세서의 DBSG에게 전송한다(65). 원격 프로세서의 DBSG는 수신된 원격 록 정보(66)를 DBKG에게 전달하며 록을 수행할 것을 요구한다(67). 원격 록 수행 요구를 수신(68)한 DBKG는 디렉토리와 딕션어리를 검색하여(69) 록을 걸도록 요구가 들어온 릴레이션들이 모두 자신의 프로세서에 존재(70)하는 지역 릴레이션인 경우에만 록을 수행하고(71) 그렇지 않은 경우에는 오류로 판단하여 수행한 록들을 원래의 상태대로 환원함(72)과 동시에 그 결과를 요구한 DBSG로 전달한다(73). DBSG는 수신한(74) 결과를 응용 프로그램이 수행되고 있는 프로세서의 데이타베이스 라이브러리(DBLIB)에게로 전송한다(75). 원격 록 결과를 수신한 데이타베이스 라이브러리(DBLIB)는 원격 록 수행결과를 응용 프로그램에게 알려준다.The flow of performing a lock on relations of lor type pointed out by the remote processor to perform the lock is as follows. The database library (DBLIB) receives only a message about the lock from the application and sends it to the DBSG of the remote processor indicated by the command (65). The DBSG of the remote processor passes the received remote lock information 66 to the DBKG and requests to perform the lock (67). The DBKG that receives the request to perform a remote lock (68) searches the directory and the dictionary dictionary (69) and performs the lock only if all of the relations that request to lock are local relations (70) on their processor. (71) Otherwise, the locks determined to be in error are returned to their original state (72) and the result is transferred to the requesting DBSG (73). The DBSG transfers the received (74) result to the database library (DBLIB) of the processor on which the application is running (75). The database library (DBLIB) that receives the remote lock result informs the application of the remote lock execution result.

상기와 같은 본 발명은 분산 실시간 시스템인 전전자 교환기 시스템에서 동작하며 아래와 같은 효과가 있다.The present invention as described above operates in a distributed real-time system all-electronic exchange system has the following effects.

첫째, 분산 실시간 시스템인 전전자 교환기에서 호처리, 운용, 보전, 과금 및 통계 기능등을 수행하는 응용 프로그램내에서 원격 동시성 제어를 수행하기 위하여 간단한 데이타 조작어만을 사용하도록 하여 응용 프로그램을 손쉽고 간결하게 작성할 수 있어 프로그램의 생산성을 향상시킬 수 있었다.First, in order to perform remote concurrency control in an application program that performs call processing, operation, maintenance, billing, and statistics functions in a distributed real-time system, the application program can be easily and concisely used. It was able to improve the productivity of the program.

둘째, 원격 데이타에 대해서도 동시성 제어를 지원하여 한 프로세서에서 원격 접근을 포함한 다수의 응용 프로그램이 동시에 데이타에 접근함으로 인하여 발생할 수 있는 데이타의 불일치를 해결하여 교환기의 신뢰성을 향상시킬 수 있었다.Second, by supporting concurrency control for remote data, the reliability of the exchange could be improved by resolving data inconsistencies caused by multiple applications accessing the data at the same time, including remote access on one processor.

Claims (3)

운용 및 유지보수 기능을 수행하는 운용 및 유지보수 프로세서(32)와 다수의 타 프로세서를 구비하는 분산 구조 데이타베이스 관리시스템(DBMS)에 적용되는 방법에 있어서, 운용자가 EDML 명령어에 원격 록을 수행할 프로세서를 지적했는지를 판단하는 제1단계(41) ; 상기 제1단계(41) 수행 후, 지적하지 않는 경우에는 응용 프로그램이 수행되는 프로세서에 존재하는 지역 릴레이션을 포함하여 원격 프로세서에 존재하는 글로벌(global) 릴레이션의 록을 처리하는 제2단계(42 내지 64) ; 및 상기 제1단계(41) 수행후, 원격 록을 수행할 원격 프로세서가 지적된 경우에는 lor(Local Replicated) 유형의 릴레이션들에 대한 록을 수행하는 제3단계(65 내지 76)를 포함하는 것을 특징으로 하는 분산 실시간 데이타베이스 관리시스템(DBMS)에서의 원격 릴레이션에 대한 록 처리 방법.In a method applied to a distributed architecture database management system (DBMS) having an operation and maintenance processor 32 that performs an operation and maintenance function and a plurality of other processors, an operator may perform remote lock on EDML instructions. A first step 41 of determining whether a processor has been pointed out; After performing the first step 41, if not indicated, the second step 42 to process the locking of the global relation existing in the remote processor, including the local relation existing in the processor on which the application program is executed. 64); And a third step (65 to 76) of performing a lock on relations of lor (Local Replicated) type when the remote processor to perform the remote lock is indicated after performing the first step 41. A lock processing method for a remote relation in a distributed real-time database management system (DBMS) characterized by the above-mentioned. 제1항에 있어서, 상기 제2단계(42 내지 64)는, 데이타베이스 라이브러리(DBLIB)가 DBKG에게 데이타 접근을 요구하면 릴레이션들에 록을 수행하도록 요구받은 DBKG는 디렉토리와 딕션어리를 검색하여 요구된 릴레이션이 자신의 프로세서에 존재하는가의 여부를 판단하는 제4단계(42 내지 45) ; 상기 제4단계(42 내지 45) 수행후, 요구된 릴레이션의 위치가 자신의 프로세서이면 록을 수행하여 지역 록 결과를 데이타베이스 라이브러리(DBLIB)로 전달한 후에 원격 록의 존재여부를 판단하고, 자신의 프로세서에 존재하지 않는 글로벌(global) 유형의 릴레이션에 대해서는 릴레이션이 위치하는 프로세서를 알아내고 록 정보들만으로 메세지를 작성하여 데이타베이스 라이브러리(DBLIB)로 전달한 후에 원격 록의 존재 여부를 판단하는 제5단계(46 내지 50) ; 상기 제5단계(46 내지 50) 수행후, 지역 릴레이션들에 대해서만 록을 수행할 경우에는 데이타베이스 라이브러리(DBLIB)는 응용 프로그램에 명령어 수행 결과를 전달하고, 원격 글로벌(glpbal) 릴레이션의 메세지가 존재하면 데이타베이스 라이브러리(DBLIB)는 원격 릴레이션이 존재하는 프로세서의 DBSG에게 록 메세지를 전송하고 응용 프로그램의 원격 프로세서에 있는 DBSG는 원격 록 정보를 수신하여 다시 DBKG에게 전달하여 록을 수행할 것을 요구하고 DBKG는 록 수행 요구를 수신한 후에 디렉토리와 딕션어리를 검색하여 록을 걸도록 요구가 들어온 릴레이션이 자신의 프로세서에 존재하는지를 판단하는 제6단계(51 내지 56) ; 상기 제6단계(51 내지 56) 수행후, 지역 릴레이션이면 원격 록을 수행하여 원격 록 결과를 전송하는 DBSG는 원격 록 수행 결과를 전달받아 응용 프로그램이 수행되고 있는 프로세서의 데이타베이스 라이브러리(DBLIB)에게로 전송하고 데이타베이스 라이브러리(DBLIB)는 원격 록 수행 결과를 수신하여 원격 록 성공 여부를 판단하고, 지역 릴레이션이 아니면 오류로 판단하여 이미 수행한 록들이 있다면 그들을 원래의 상태로 환원한 후에 원격 록 결과를 전송하고 DBSG는 원격 록 수행 결과를 전달받아 응용 프로그램이 수행되고 있는 프로세서의 데이타베이스 라이브러리(DBLIB)에게로 전송하고 데이타베이스 라이브러리(DBLIB)는 원격 록 수행 결과를 수신하여 원격 록 성공 여부를 판단하는 제7단계(57 내지 63) ; 및 상기 제7단계(57 내지 63) 수행후, 원격 록 성공이면 그 결과를 응용 프로그램에게 알려주고, 성공이 아니면 자신의 프로세서에서 수행한 록을 모두 환원시킨 후에 그 결과를 응용 프로그램에게 알려주는 제8단계(64)를 구비하는 것을 특징으로 하는 분산 실시간 데이타베이스 관리시스템(DBMS)에서의 원격 릴레이션에 대한 록 처리 방법.The method of claim 1, wherein the second steps 42 to 64 are performed by the DBKG, which is requested to perform a lock on relations when the DBLIB requests data access from the DBKG. A fourth step (42 to 45) for determining whether the existing relation exists in the own processor; After performing the fourth step (42 to 45), if the location of the requested relation is its processor, the lock is performed and the local lock result is transmitted to the database library (DBLIB), and then the existence of the remote lock is determined. For the global type relation that does not exist in the processor, the fifth step is to find out the processor where the relation is located, create a message with only the lock information, pass it to the database library (DBLIB), and then determine the existence of the remote lock. 46 to 50); After performing the fifth step (46 to 50), if the lock is performed only on the local relations, the database library (DBLIB) delivers the command execution result to the application program, and a message of a remote global (glpbal) relation exists. The database library (DBLIB) then sends a lock message to the DBSG of the processor where the remote relation exists, and the DBSG at the remote processor of the application receives the remote lock information and passes it back to the DBKG to request that the lock be performed. Step 6 (51 to 56), after receiving the request to perform the lock, searching the directory and the dictionary for determining whether a relation in which the request comes in to lock is present in its processor; After performing the sixth step (51 to 56), if the local relation DBSG performs a remote lock and transmits the remote lock result, the DBSG receives the remote lock execution result to the database library (DBLIB) of the processor that the application program is running The database library (DBLIB) receives the result of performing the remote lock to determine whether the remote lock was successful, and if it is not a local relation, it judges it as an error and returns the original lock if there are already performed locks. DBSG receives the result of performing the remote lock and sends it to the database library (DBLIB) of the processor where the application is running, and the database library (DBLIB) receives the result of the remote lock to determine whether the remote lock was successful. Seventh step (57 to 63) to perform; And performing the seventh step (57 to 63), if the remote lock is successful, and notifies the application of the result, if not successful, after reducing all the locks performed by the processor, the eighth to inform the application. A lock processing method for a remote relation in a distributed real-time database management system (DBMS), characterized in that it comprises a step (64). 제1항에 있어서, 상기 제3단계(65 내지 76)는, 응용 프로그램으로부터 데이타베이스 라이브러리(DBLIB)가 록에 관한 정보들만의 메세지를 전달받아 명령어에서 지시한 원격 프로세서의 DBSG에게 전송하고 원격 프로세서의 DBSG는 수신된 원격 록 정보를 DBKG에게 전달하여 록을 수행할 것을 요구하고 원격 록 수행 요구를 수신한 DBKG는 디렉토리와 딕션어리를 검색하여 록을 걸도록 요구가 들어온 릴레이션들이 모두 자신의 프로세서에 존재하는지를 판단하는 제4단계(65 내지 70) ; 상기 제4단계(65 내지 70)수행후, 지역 릴레이션이면 록을 수행하여 그 결과를 요구한 DBSG로 전달하고 DBSG는 수신한 결과를 응용 프로그램이 수행되고 프로세서의 데이타베이스 라이브러리(DBLIB)에게 전송하고 원격 록 결과를 수신한 데이타베이스 라이브러리(DBLIB)는 원격 록 수행 결과를 응용 프로그램에게 알려주는 제5단계(71, 73 내지 76) ; 및 상기 제4단계(65 내지 70) 수행후, 지역 릴레이션이 아니면 오류로 판단하여 수행한 록들을 원래의 상태대로 환원하여 그 결과를 요구한 DBSG로 전달하고 DBSG는 수신한 결과를 응용 프로그램이 수행되고 있는 프로세서의 데이타베이스 라이브러리(DBLIB)에게로 전송하고 원격 록 결과를 수신한 데이타베이스 라이브러리(DBLIB)는 원격 록 수행 결과를 응용 프로그램에게 알려주는 제6단계(72 내지 76)를 구비하는 것을 특징으로 하는 분산 실시간 데이타베이스 관리시스템(DBMS)에서의 원격 릴레이션에 대한 록 처리 방법.The method of claim 1, wherein the third steps (65 to 76), the database library (DBLIB) receives a message only from the information about the lock from the application program and transmits the message to the DBSG of the remote processor indicated in the command and the remote processor DBSG sends the received remote lock information to the DBKG to request that the lock be performed, and upon receiving the request to perform the remote lock, the DBKG retrieves the directory and the dictionary of arguments, and all the relations that are requested to make the lock are sent to their processor. A fourth step (65 to 70) for determining whether there is; After performing the fourth step (65 to 70), if it is a local relation, the lock is performed and the result is transmitted to the requesting DBSG. The DBSG transmits the received result to the processor's database library (DBLIB). Receiving a remote lock result, the database library (DBLIB) may include a fifth step (71, 73 to 76) informing the application program of the result of performing the remote lock; And after performing the fourth step (65 to 70), if it is not a local relation, the locks determined as an error are returned to their original state, and the result is transferred to the requesting DBSG, and the DBSG executes the received result. The database library DBLIB, which is transmitted to the database library DBLIB of the processor being processed and receives the remote lock result, has a sixth step (72 to 76) for informing the application program of the result of performing the remote lock. A lock processing method for a remote relation in a distributed real-time database management system (DBMS).
KR1019940034263A 1994-12-14 1994-12-14 Distribute real-time data base management system KR0126089B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019940034263A KR0126089B1 (en) 1994-12-14 1994-12-14 Distribute real-time data base management system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019940034263A KR0126089B1 (en) 1994-12-14 1994-12-14 Distribute real-time data base management system

Publications (2)

Publication Number Publication Date
KR960025171A KR960025171A (en) 1996-07-20
KR0126089B1 true KR0126089B1 (en) 1997-12-22

Family

ID=19401547

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019940034263A KR0126089B1 (en) 1994-12-14 1994-12-14 Distribute real-time data base management system

Country Status (1)

Country Link
KR (1) KR0126089B1 (en)

Also Published As

Publication number Publication date
KR960025171A (en) 1996-07-20

Similar Documents

Publication Publication Date Title
US4714995A (en) Computer integration system
US6466965B1 (en) Centralized affinity maintenance in a workload managed client/server data processing system
US20110161281A1 (en) Distributed Transaction Management in a Distributed Shared Disk Cluster Environment
JPH05334165A (en) Parallel data base processing system and its secondary key retrieving method
JP2969627B2 (en) Management method of distributed database system
KR0126089B1 (en) Distribute real-time data base management system
KR960014198B1 (en) Data base management system
KR100198440B1 (en) A method indexing technique and dynamic update-propagations in memory-resident object-oriented database systems
Pillai et al. Design issues and an architecture for a heterogenous multidatabase system
KR930010951B1 (en) Database in switching centre
KR930009855B1 (en) Direct access method of dbms
KR950005987B1 (en) Maintenance system in electronic exchange
KR950009431B1 (en) The inquiry window treatment method ina real-time database management system
KR950010487B1 (en) Db skima management method
KR100228404B1 (en) Method for generating database driving environment in intelligent network service controlling/managing system
KR950010485B1 (en) Db skima management method
KR960003974B1 (en) Data back-up method for electronic switching system
KR950003681B1 (en) Maintaining method of electronic exchanges
KR940007841B1 (en) Method for quick-hash searching on dbms
KR100284491B1 (en) Database construction method for remote exchange system
KR950010486B1 (en) Real-time database management system
Sinha et al. Flexible user-definable memory coherence scheme in distributed shared memory of galaxy
KR100194589B1 (en) T-Tree Rollback Method in Distributed Main Memory Database Management System
KR930010285B1 (en) Database processing method in electronic exchange
KR0123193B1 (en) Distribute real time data base output method

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: 20041001

Year of fee payment: 8

LAPS Lapse due to unpaid annual fee