KR20240012057A - Linkage systems and methods to ensure non-disruptive and high availability when transmitting interfaces - Google Patents

Linkage systems and methods to ensure non-disruptive and high availability when transmitting interfaces Download PDF

Info

Publication number
KR20240012057A
KR20240012057A KR1020220089512A KR20220089512A KR20240012057A KR 20240012057 A KR20240012057 A KR 20240012057A KR 1020220089512 A KR1020220089512 A KR 1020220089512A KR 20220089512 A KR20220089512 A KR 20220089512A KR 20240012057 A KR20240012057 A KR 20240012057A
Authority
KR
South Korea
Prior art keywords
interface
unit
queue
availability
linkage
Prior art date
Application number
KR1020220089512A
Other languages
Korean (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 뱅크웨어글로벌 주식회사
Priority to KR1020220089512A priority Critical patent/KR20240012057A/en
Publication of KR20240012057A publication Critical patent/KR20240012057A/en

Links

Images

Classifications

    • 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/54Interprogram communication
    • G06F9/546Message passing systems or structures, e.g. queues
    • 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3854Instruction completion, e.g. retiring, committing or graduating
    • G06F9/3856Reordering of instructions, e.g. using queues or age tags
    • 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/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4812Task transfer initiation or dispatching by interrupt, e.g. masked
    • G06F9/4831Task transfer initiation or dispatching by interrupt, e.g. masked with variable priority
    • G06F9/4837Task transfer initiation or dispatching by interrupt, e.g. masked with variable priority time dependent
    • 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/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/566Grouping or aggregating service requests, e.g. for unified processing

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer And Data Communications (AREA)

Abstract

본 발명은 고가용성 연계 시스템을 운용하기 위한 방법 및 이를 가능하게 하는 시스템이다. 서로 다른 시스템을 연계하기 위해서는 해당 시스템 간 데이터를 송수신하게 되는데, 이 때 특정 시스템의 장애 혹은 네트워크 지연이 발생하더라도 전체 연계 시스템에는 장애가 전파되지 않고 정상적으로 거래가 처리될 수 있도록 제어하는 시스템에 관한 것이다. 본 발명의 일 실시예에 따른 고가용성(high availability) 연계시스템은, 제1 대상시스템 및 이와 네트워크로 연결된 제2 대상시스템 간에 인터페이스의 송수신을 중계하여 네트워크의 가용성을 향상시키는 것으로, 상기 제1 대상시스템에서 전송된 인터페이스를 수용하는 인터페이스 생산자(producer)부와, 수용된 상기 인터페이스를 상기 제2 대상시스템으로 전송하는 인터페이스 소비자(consumer)부를 포함할 수 있다.The present invention is a method for operating a high availability linked system and a system that enables this. In order to connect different systems, data must be transmitted and received between the systems. In this case, even if a failure or network delay occurs in a specific system, it is about a control system that ensures that transactions are processed normally without the failure being propagated to the entire connected system. The high availability linkage system according to an embodiment of the present invention improves network availability by relaying interface transmission and reception between a first target system and a second target system connected to it through a network. It may include an interface producer unit that accepts the interface transmitted from the system, and an interface consumer unit that transmits the received interface to the second target system.

Description

인터페이스 전송 시 무중단 및 고가용성을 보장하는 연계 시스템 및 방법{LINKAGE SYSTEMS AND METHODS TO ENSURE NON-DISRUPTIVE AND HIGH AVAILABILITY WHEN TRANSMITTING INTERFACES}Linkage system and method to ensure uninterruption and high availability during interface transmission {LINKAGE SYSTEMS AND METHODS TO ENSURE NON-DISRUPTIVE AND HIGH AVAILABILITY WHEN TRANSMITTING INTERFACES}

본 발명은 고가용성 연계 시스템을 운용하기 위한 방법 및 이를 가능하게 하는 시스템에 관한 것이다. 서로 다른 시스템을 연계하기 위해서는 해당 시스템 간 데이터를 송수신하게 되는데, 이 때 특정 시스템의 장애 혹은 네트워크 지연이 발생하더라도 전체 연계 시스템에는 장애가 전파되지 않고 정상적으로 거래가 처리될 수 있도록 제어하는 연계시스템 및 이를 활용한 연계방법에 관한 것이다.The present invention relates to a method for operating a high availability linked system and a system that enables this. In order to link different systems, data is sent and received between the systems. At this time, even if a failure or network delay occurs in a specific system, a linkage system and a system that utilizes this control are used to ensure that transactions can be processed normally without the failure being propagated to the entire linkage system. It is about connection method.

IT(Information Technology)의 증대로 인해 대부분의 비즈니스가 온라인 중심으로 변화했다. 이에 따라 기업의 시스템들은 보다 더 높은 부하를 처리할 수 있어야 했고, 장애 상황에서도 비즈니스에는 영향을 최소화할 수 있도록 지금도 계속해서 고도화되고 있다. Due to the increase in IT (Information Technology), most businesses have shifted to an online focus. Accordingly, corporate systems had to be able to handle higher loads, and they continue to be upgraded to minimize the impact on business even in the event of a failure.

시스템이 고도화되고 복잡도가 높아지면서 시스템은 중앙 집중적인 형태보다는 각각의 기능에 따라 분산된 형태를 띄게 되었다. 이 때 필연적으로 시스템 간에 데이터의 공유가 필요한 경우가 발생하는데, 각 연계 대상 시스템의 통신 방식은 제각기 다를 수 있으므로 전송 프로토콜, 캐릭터셋 및 데이터 형식 등이 상이할 수 있다. As the system becomes more advanced and complex, the system takes on a distributed form according to each function rather than a centralized form. At this time, there inevitably arises a need to share data between systems. Since the communication method of each linked system may be different, the transmission protocol, character set, and data format may be different.

연계 대상 시스템은 기업 하나의 내부 시스템 뿐만 아니라, 서로 다른 기업 간의 시스템에도 해당된다. 따라서 필요에 따라 임의로 통신 방식을 획일화하기는 어렵다. 예를 들어, 한 시스템은 프로토콜은 TCP를 사용하며 데이터 형식은 FLD(Fixed Length Data), Character set은 UTF-8을 사용하는 반면, 다른 시스템은 HTTPS에 JSON(JavaScript Object Notation), Character set은 EUC-KR을 사용할 수도 있다. 또한, 동일하게 TCP에 FLD를 사용하더라도 각 데이터의 형태 혹은 길이가 상이한 것과 같이 사용하는 레이아웃의 형태가 다를 수도 있다. The linked system applies not only to the internal systems of one company, but also to systems between different companies. Therefore, it is difficult to arbitrarily standardize the communication method according to need. For example, one system uses TCP as the protocol, Fixed Length Data (FLD) as the data format, and UTF-8 as the character set, while another system uses JavaScript Object Notation (JSON) over HTTPS and EUC as the character set. -KR can also be used. In addition, even if FLD is used for TCP, the type of layout used may be different, such as the type or length of each data.

이 밖에도 REST(Representational State Transfer) API 혹은, 심지어는 아직 SOAP(Simple Object Access Protocol)을 사용하는 시스템도 존재한다. 따라서 해당 시스템들 간에 데이터를 통신하려면 반드시 한쪽에서 다른 시스템의 통신 방식에 맞추어 데이터를 전송해주어야만 한다. In addition, there are systems that still use REST (Representational State Transfer) API or even SOAP (Simple Object Access Protocol). Therefore, in order to communicate data between the systems, one side must transmit data according to the communication method of the other system.

과거에는 각기 다른 시스템과의 연계를 위해 실제로 프로그램에 각각의 시스템별로 하드코딩하는 형태로 개발하기도 했다. 그러나 해당 방식은 연계 대상 시스템이 적을 때는 어렵지 않게 처리 가능하더라도, 연계 대상 시스템이 증가하면 증가할수록 많은 불편함이 따르게 된다. In the past, in order to connect with different systems, programs were actually developed by hard-coding each system into the program. However, although this method can be easily handled when there are only a few systems to be linked, as the number of systems to be linked increases, it becomes more inconvenient.

따라서 보다 유연한 방식으로 시스템을 연계하고 데이터를 공유할 수 있도록 중앙 연계 시스템의 필요성이 대두되었으며, 이 때 데이터 통신을 위해 사용하는 방식을 인터페이스라고 한다.Therefore, the need for a central linkage system has emerged to link systems and share data in a more flexible way, and the method used for data communication is called an interface.

대한민국 등록특허공보 10-2233894호Republic of Korea Patent Publication No. 10-2233894

본 발명이 해결하고자 하는 과제는 중앙 연계 시스템에서 연계 대상 시스템 및 인터페이스가 증가하고, TPS(Transactions per second)가 늘어나게 되어 부하가 증가한 상황에서도 대상 시스템 간의 영향도를 최소화해 인터페이스의 무중단을 보장한다. The problem that the present invention aims to solve is to ensure uninterrupted interfaces by minimizing the influence between target systems even in situations where the load increases due to the increase in linked systems and interfaces in the central link system and the increase in TPS (Transactions per second).

또한, 이에 따라 인터페이스를 처리하는 중앙 연계 시스템의 고가용성을 보장하는 방법을 목적으로 한다.In addition, the purpose is to ensure high availability of the central linkage system that processes the interface accordingly.

본 발명의 다른 목적 및 이점은 하기의 발명의 상세한 설명, 청구범위 및 도면에 의해 보다 명확하게 된다.Other objects and advantages of the present invention will become clearer from the following detailed description, claims, and drawings.

상기 기술적 과제를 해결하기 위한 본 발명의 일 실시예에 따른 고가용성(high availability) 연계시스템은, 제1 대상시스템 및 이와 네트워크로 연결된 제2 대상시스템 간에 인터페이스의 송수신을 중계하여 네트워크의 가용성을 향상시키는 것으로, 상기 제1 대상시스템에서 전송된 인터페이스를 수용하는 인터페이스 생산자(producer)부와, 수용된 상기 인터페이스를 상기 제2 대상시스템으로 전송하는 인터페이스 소비자(consumer)부를 포함할 수 있다.The high availability linkage system according to an embodiment of the present invention to solve the above technical problem improves the availability of the network by relaying the transmission and reception of the interface between the first target system and the second target system connected to it through a network. This may include an interface producer unit that accepts the interface transmitted from the first target system, and an interface consumer unit that transmits the received interface to the second target system.

상기 인터페이스 생산자부는 상기 제1 대상시스템으로부터 거래요청을 수신하는 인터페이스 요청부와, 상기 인터페이스 요청부로부터 시스템큐(queue) 요청을 수신하는 시스템큐 매니저를 포함할 수 있다.The interface producer unit may include an interface request unit that receives a transaction request from the first target system, and a system queue manager that receives a system queue request from the interface request unit.

상기 시스템큐 매니저는 복수의 시스템큐(queue)로 이루어진 시스템큐 집합을 포함하되, 상기 시스템큐 요청 수신시, 상기 시스템큐 매니저는 상기 시스템큐 집합에 포함된 각 시스템큐의 상태를 확인하여, 상기 제1 대상시스템의 상기 인터페이스를 반입하기 위한 시스템큐의 반환여부를 결정할 수 있다.The system queue manager includes a system queue set consisting of a plurality of system queues, and when receiving the system queue request, the system queue manager checks the status of each system queue included in the system queue set, It is possible to determine whether to return the system queue for importing the interface of the first target system.

반환 가능한 시스템큐가 확인되면, 상기 시스템큐 매니저는 상기 시스템큐를 상기 인터페이스 요청부에 반환할 수 있다.When a returnable system queue is confirmed, the system queue manager can return the system queue to the interface request unit.

상기 인터페이스 요청부는 상기 인터페이스의 반입을 상기 시스템큐 매니저에 요청하고, 상기 시스템큐 매니저는 상기 시스템큐에 상기 인터페이스의 반입여부를 결정할 수 있다.The interface request unit requests the system queue manager to import the interface, and the system queue manager can determine whether to import the interface into the system queue.

상기 시스템큐 매니저는 상기 시스템큐 집합의 최대 대기건수를 확인하고, 최대 대기건수가 초과되는 경우 에러를 발생시키고, 초과 대기건수가 초과되지 않는 경우 상기 인터페이스를 상기 시스템큐에 반입시킬 수 있다.The system queue manager can check the maximum number of queues in the system queue set, generate an error if the maximum number of queues is exceeded, and import the interface into the system queue if the excess number of queues is not exceeded.

상기 시스템큐는 요청신호에 대응하고, 상기 인터페이스의 반입 등을 처리하기 위한 적어도 하나의 생산자용 스레드를 포함할 수 있다.The system queue corresponds to a request signal and may include at least one producer thread to process import of the interface.

상기 인터페이스 소비자부는 상기 시스템큐 매니저로부터 상기 인터페이스를 인출하는 인터페이스 전송부를 포함할 수 있다.The interface consumer unit may include an interface transmission unit that retrieves the interface from the system queue manager.

상기 인터페이스 전송부는 인출된 상기 인터페이스를 상기 제2 대상시스템으로 전송할 수 있다.The interface transmission unit may transmit the retrieved interface to the second target system.

상기 인터페이스 전송부는 상기 인터페이스가 상기 시스템큐 매니저에 인입된 시간과 실시간을 비교하여 체류시간을 측정하되, 상기 체류시간이 기설정된 타임아웃 시간 내인 경우에는 상기 인터페이스를 상기 제2 대상시스템으로 전송하고, 상기 체류시간이 기설정된 타임아웃 시간을 초과하는 경우에는 에러를 발생시켜 상기 인터페이스를 상기 제2 대상시스템으로 전송하는 것을 중단시킬 수 있다.The interface transmission unit measures the residence time by comparing the time when the interface was entered into the system queue manager in real time, and if the residence time is within a preset timeout time, transmits the interface to the second target system, If the retention time exceeds the preset timeout time, an error may be generated to stop transmission of the interface to the second target system.

상기 인터페이스 소비자부는 상기 인터페이스를 상기 제2 대상시스템으로 전송하고, 상기 체류시간 등을 산정 및 비교하기 위한 적어도 하나의 소비자용 스레드를 포함할 수 있다.The interface consumer unit may include at least one consumer thread for transmitting the interface to the second target system and calculating and comparing the residence time, etc.

상기 기술적 과제를 해결하기 위한 본 발명의 일 실시예에 따른 고가용성(high availability) 인터페이스 연계방법은, 고가용성 연계시스템을 활용하여 제1 대상시스템 및 이와 네트워크로 연결된 제2 대상시스템 간에 인터페이스를 송수신하는 것으로, 상기 제1 대상시스템이 상기 고가용성 연계시스템에 포함된 인터페이스 생산자(producer)부에 인터페이스를 전송하면, 전송된 상기 인터페이스가 상기 인터페이스 생산자부에 인입되는 단계와, 상기 고가용성 연계시스템에 포함된 인터페이스 소비자(consumer)부가 인입된 상기 인터페이스를 상기 제2 대상시스템으로 전송하는 단계를 포함할 수 있다.The high availability interface linkage method according to an embodiment of the present invention to solve the above technical problem involves transmitting and receiving an interface between a first target system and a second target system connected to it through a network by utilizing a high availability linkage system. In other words, when the first target system transmits an interface to an interface producer included in the high availability linkage system, the transmitted interface is introduced into the interface producer part and the high availability linkage system. It may include the step of transmitting the input interface to the included interface consumer unit to the second target system.

상기 인터페이스가 상기 인터페이스 생산자부에 인입되는 단계는, 상기 제1 대상시스템이 상기 인터페이스 생산자부에 거래요청을 하면, 상기 인터페이스 생산자부는 반환가능한 시스템큐를 호출하여 제공하는 단계를 포함할 수 있다.The step of introducing the interface into the interface producer unit may include the step of calling and providing a returnable system queue when the first target system makes a transaction request to the interface producer unit.

상기 인터페이스 생산자부는 시스템큐들의 최대 처리건수를 확인한 후, 상기 인터페이스를 상기 시스템큐에 인입시킬 수 있다.The interface producer unit may check the maximum processing number of system queues and then insert the interface into the system queue.

상기 인터페이스 생산자부가 최대 처리건수를 확인한 결과, 상기 인터페이스 생산자부가 처리할 수 있는 최대 건수를 초과하는 경우, 상기 인터페이스 생산자부는 시스템 에러를 발생시켜, 상기 인터페이스가 상기 시스템큐에 인입되는 것을 중단하도록 할 수 있다. As a result of checking the maximum number of processing cases, if the interface producer unit exceeds the maximum number of cases that the interface producer unit can process, the interface producer unit may generate a system error to stop the interface from entering the system queue. there is.

상기 인터페이스 소비자부는 상기 시스템큐에 인입되어 있는 상기 인터페이스가 인출되는 경우, 이를 전송받을 수 있다.The interface consumer unit can receive transmission when the interface entered into the system queue is fetched.

상기 인터페이스 소비자부는 상기 인터페이스가 상기 시스템큐에 인입된 시간과 실시간을 비교하여 상기 인터페이스가 상기 시스템큐에 체류한 체류시간을 측정하는 단계를 포함할 수 있다.The interface consumer unit may include measuring a residence time of the interface in the system queue by comparing real time with the time the interface entered the system queue.

상기 체류시간이 기설정된 타임아웃 시간 내인 경우에는 상기 인터페이스를 상기 제2 대상시스템으로 전송하고, 상기 체류시간이 기설정된 타임아웃 시간을 초과하는 경우에는 에러를 발생시켜 상기 인터페이스를 상기 제2 대상시스템으로 전송하는 것을 중단시킬 수 있다.If the residence time is within the preset timeout time, the interface is transmitted to the second target system, and if the residence time exceeds the preset timeout time, an error is generated and the interface is transferred to the second target system. Transmission can be stopped.

중앙 연계 시스템에서 연계 대상 시스템에 요청했을 때, 시스템 장애 혹은 네트워크 장애 등의 상황으로 인해 응답이 느리거나 없는 경우, 해당 응답을 처리하기 위해 기다리는 Thread들로 인해 전체 연계 시스템의 성능이 저하되고 결국 장애로 전파될 수 있다. 이 때 각 대상 시스템 및 거래 별로 Timeout 및 Queue를 관리하여 고성능 인터페이스와 전체 시스템의 안정성을 보장한다.When a central link system makes a request to a linked system, if there is a slow or no response due to a system failure or network failure, the performance of the entire linked system deteriorates due to threads waiting to process the response, ultimately leading to a failure. can be spread. At this time, timeout and queue are managed for each target system and transaction to ensure high-performance interface and stability of the entire system.

즉, 본 발명에 의할 경우. 중앙 연계 시스템에서 연계 대상 시스템 및 인터페이스가 증가하고, TPS(Transactions per second)가 늘어나게 되어 부하가 증가한 상황에서도 대상 시스템 간의 영향도를 최소화해 인터페이스의 무중단을 보장한다. 또한, 이에 따라 인터페이스를 처리하는 중앙 연계 시스템의 고가용성을 보장하는 방법이 제공된다.That is, according to the present invention. In the central linkage system, the number of linked systems and interfaces increases, and TPS (Transactions per second) increases, ensuring uninterrupted interfaces by minimizing the impact between target systems even in situations where load increases. In addition, a method for ensuring high availability of a central linkage system processing the interface is provided.

도 1은 본 발명의 실시 예에 따른 고가용성 연계시스템을 활용한 중앙 연계 시스템을 나타낸 구성도이다.
도 2는 본 발명의 실시 예에 따른 고가용성 연계시스템의 인터페이스 생산자(producer)부를 나타낸 것이다.
도 3은 본 발명의 실시 예에 따른 고가용성 연계시스템의 인터페이스 소비자(consumer)부를 나타낸 것이다.
도 4는 본 발명의 실시 예에 따른 고가용성 연계시스템의 인터페이스 생산자(producer)부에 인터페이스가 인입되었을 때, 처리되는 과정이다.
도 5는 본 발명의 실시 예에 따른 고가용성 연계시스템의 인터페이스 소비자(consumer)부가 인입된 인터페이스를 처리하는 과정을 나타낸 것이다.
Figure 1 is a configuration diagram showing a central linkage system utilizing a high availability linkage system according to an embodiment of the present invention.
Figure 2 shows the interface producer unit of the high availability linkage system according to an embodiment of the present invention.
Figure 3 shows the interface consumer portion of the high availability linkage system according to an embodiment of the present invention.
Figure 4 shows the processing process when an interface is introduced into the interface producer unit of the high availability linkage system according to an embodiment of the present invention.
Figure 5 shows a process in which the interface consumer unit of the high availability linkage system according to an embodiment of the present invention processes the input interface.

본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 것이며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하며, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 아래 첨부된 도면을 참조하여 본 발명의 실시를 위한 구체적인 내용을 상세히 설명한다. 도면에 관계없이 동일한 부재번호는 동일한 구성요소를 지칭하며, "및/또는"은 언급된 아이템들의 각각 및 하나 이상의 모든 조합을 포함한다.The advantages and features of the present invention and methods for achieving them will become clear by referring to the embodiments described in detail below along with the accompanying drawings. However, the present invention is not limited to the embodiments disclosed below and will be implemented in various different forms. The present embodiments only serve to ensure that the disclosure of the present invention is complete and that common knowledge in the technical field to which the present invention pertains is not limited. It is provided to fully inform those who have the scope of the invention, and the present invention is only defined by the scope of the claims. Specific details for implementing the present invention will be described in detail with reference to the drawings attached below. Regardless of the drawings, the same reference numerals refer to the same elements, and “and/or” includes each and all combinations of one or more of the mentioned items.

본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 "포함한다(comprises)" 및/또는 "포함하는(comprising)"은 언급된 구성요소 외에 하나 이상의 다른 구성요소의 존재 또는 추가를 배제하지 않는다.The terminology used herein is for describing embodiments and is not intended to limit the invention. As used herein, singular forms also include plural forms, unless specifically stated otherwise in the context. As used in the specification, “comprises” and/or “comprising” does not exclude the presence or addition of one or more other elements in addition to the mentioned elements.

다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있을 것이다. 또 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다.Unless otherwise defined, all terms (including technical and scientific terms) used in this specification may be used with meanings that can be commonly understood by those skilled in the art to which the present invention pertains. Additionally, terms defined in commonly used dictionaries are not interpreted ideally or excessively unless clearly specifically defined.

이하, 본 발명의 실시 예에 따른 고가용성 연계시스템 및 이를 활용한 연계방법을 설명한다.Hereinafter, a high availability linkage system according to an embodiment of the present invention and a linkage method utilizing the same will be described.

도 1은 본 발명의 실시 예에 따른 고가용성 연계시스템을 활용한 중앙 연계 시스템을 나타낸 구성도이고, 도 2는 본 발명의 실시 예에 따른 고가용성 연계시스템의 인터페이스 생산자(producer)부를 나타낸 것이고, 도 3은 본 발명의 실시 예에 따른 고가용성 연계시스템의 인터페이스 소비자(consumer)부를 나타낸 것이고, 도 4는 본 발명의 실시 예에 따른 고가용성 연계시스템의 인터페이스 생산자(producer)부에 인터페이스가 인입되었을 때, 처리되는 과정이고, 도 5는 본 발명의 실시 예에 따른 고가용성 연계시스템의 인터페이스 소비자(consumer)부가 인입된 인터페이스를 처리하는 과정을 나타낸 것이다.Figure 1 is a configuration diagram showing a central linkage system utilizing a high availability linkage system according to an embodiment of the present invention, and Figure 2 shows an interface producer unit of the high availability linkage system according to an embodiment of the present invention. Figure 3 shows the interface consumer part of the high availability linkage system according to an embodiment of the present invention, and Figure 4 shows the interface being introduced into the interface producer part of the high availability linkage system according to an embodiment of the present invention. This is the processing process, and Figure 5 shows the process of processing the interface introduced by the interface consumer unit of the high availability linkage system according to an embodiment of the present invention.

먼저, 도 1 내지 도 3을 참고하여, 본 발명의 일 실시 예에 따른 고가용성 연계시스템을 설명하면 다음과 같다. First, with reference to FIGS. 1 to 3, a high availability linkage system according to an embodiment of the present invention will be described as follows.

본 발명의 일 실시예에 따른 고가용성 연계시스템(10)은 제1 대상시스템(100) 및 이와 네트워크로 연결된 제2 대상시스템(200) 간에 인터페이스의 송수신을 중계하여 네트워크의 가용성을 향상시킬 수 있다.The high availability linkage system 10 according to an embodiment of the present invention can improve network availability by relaying interface transmission and reception between the first target system 100 and the second target system 200 connected to it through a network. .

연계시스템(10)은 상기 제1 대상시스템(100)에서 전송된 인터페이스를 수용하는 인터페이스 생산자(producer)부(11)와, 수용된 상기 인터페이스를 상기 제2 대상시스템(200)으로 전송하는 인터페이스 소비자(consumer)부(21)를 포함할 수 있다.The linkage system 10 includes an interface producer unit 11 that accepts the interface transmitted from the first target system 100, and an interface consumer that transmits the accepted interface to the second target system 200 ( It may include a consumer) unit (21).

제1 및 제2 대상시스템(100, 200)은 호스트 전자 장치 및 클라이언트 전자 장치이다. 호스트 전자 장치는, 예를 들어, 데스크톱 컴퓨터 시스템 또는 랩톱 컴퓨터 시스템일 수 있다. 클라이언트 전자 장치는, 예를 들어, 랩톱 컴퓨터 시스템, PDA(personal digital assistant), 셀룰러-기반 장치(예를 들어, 셀룰러 전화 또는 스마트폰)일 수 있다. 한편, 제1 및 제2 대상시스템(100, 200) 각각 복수의 호스트들로 구성될 수 있다. 여기서는 설명의 편의상, 단일의 제1 및 제2 대상시스템(100, 200)이 고가용성 연계시스템(10)을 통해 상호 연결된 것으로 가정한다. 고가용성 연계시스템(10)에는 상호간에 데이터를 주고받는 복수의 호스트들이 접속될 수 있는 것이다.The first and second target systems 100 and 200 are a host electronic device and a client electronic device. The host electronic device may be, for example, a desktop computer system or a laptop computer system. The client electronic device may be, for example, a laptop computer system, a personal digital assistant (PDA), or a cellular-based device (e.g., a cellular phone or smartphone). Meanwhile, the first and second target systems 100 and 200 may each be composed of a plurality of hosts. Here, for convenience of explanation, it is assumed that the single first and second target systems 100 and 200 are interconnected through the high availability linkage system 10. The high availability linkage system 10 can be connected to multiple hosts that exchange data with each other.

제1 및 제2 대상시스템(100, 200)은 상호간에 네트워크로 연결되어, 데이터 등을 송수신할 수 있다. 보다 구체적으로, 제1 및 제2 대상시스템(100, 200) 간의 연결은 신뢰성 있는 스트림 전송, 예를 들어, TCP(Transmission Control Protocol) 스트림 연결을 이용할 수 있다. 다른 스트림 연결들도 역시 지원될 수 있다. 일 실시예에서, 헤더 및 보디를 갖는 패킷을 이용하여 통신이 달성될 수 있다. 본 명세서에 표준의 최소 헤더의 일 실시예가 기술되어 있지만, 헤더가 부가의 패킷-관련 구조화된 데이터를 포함할 수 있다. 패킷 데이터가 비구조화된 데이터를 포함할 수 있거나, 비어 있을 수 있다.The first and second target systems 100 and 200 are connected to each other through a network and can transmit and receive data, etc. More specifically, the connection between the first and second target systems 100 and 200 may use reliable stream transmission, for example, TCP (Transmission Control Protocol) stream connection. Other stream connections may also be supported. In one embodiment, communication may be accomplished using packets with a header and body. Although one embodiment of a standard minimal header is described herein, the header may include additional packet-related structured data. Packet data may contain unstructured data or may be empty.

제1 및 제2 대상시스템(100, 200) 사이에서 인터페이스의 송수신을 중계하는 고가용성 연계시스템(10)은, 상기 제1 대상시스템(100)에서 전송된 인터페이스를 수용하는 인터페이스 생산자(producer)부(11)와, 수용된 상기 인터페이스를 상기 제2 대상시스템(200)으로 전송하는 인터페이스 소비자(consumer)부(21)를 포함할 수 있다. 고가용성 연계시스템(10)은 제1 및 제2 대상시스템(100, 200) 간의 네트워크의 가용성을 향상시킬 수 있다.The high-availability linkage system 10, which relays the transmission and reception of interfaces between the first and second target systems 100 and 200, includes an interface producer unit that receives the interface transmitted from the first target system 100. It may include (11) and an interface consumer unit (21) that transmits the accepted interface to the second target system (200). The high availability linkage system 10 can improve the availability of the network between the first and second target systems 100 and 200.

고가용성 연계시스템(10)은 다중스레딩 기술을 적용하여 구현될 수 있다. 다중스레딩 기술을 사용할 때, 다수의 실행 스레드들이 동시에 또는 프로세싱 파이프라인에 대한 액세스를 교번시킴으로써 상이한 태스크들 상에서 작동할 수 있다. 예를 들면, 태스크가 두 개의 별개의 서브-태스크들로 분해될 수 있다면, 그것은 각각의 하나가 상이한 서브-태스크를 핸들링하는, 두 개의 별개의 스레드들을 생성하는데 유용할 수 있다. 이들 스레드들은 그 후 그것들의 대응하는 결과들을 생성하며, 이것은 전체 태스크를 함께 해결한다.The high availability linkage system 10 can be implemented by applying multithreading technology. When using multithreading technology, multiple threads of execution can operate on different tasks simultaneously or by alternating access to the processing pipeline. For example, if a task can be decomposed into two separate sub-tasks, it may be useful to create two separate threads, each handling a different sub-task. These threads then produce their corresponding results, which together solve the overall task.

보다 구체적으로, 상이한 기술들이 태스크에 작업을 할당하기 위해 존재한다. 하나의 접근법은 생산자-소비자 설계(producer-consumer design)로 흔히 칭하여진다. 생산자-소비자 설계 접근법 내에서, 하나 이상의 스레드들은 데이터를 생산하는데 책임이 있으며, 하나 이상의 스레드들은 생산된 데이터를 소비하는데 책임이 있다. 일 예로서, 생산자 스레드는 파일로부터 소비자 스레드에 의해 액세스 가능한 메모리 영역으로 데이터를 판독하는데 책임이 있을 수 있다. 소비자 스레드는 상기 메모리 영역으로부터 데이터를 검색하며 필요에 따라 데이터를 프로세싱한다(소비한다). 즉, 본 발명의 일 실시예에 따른 고가용성 연계시스템(10)은 생산자-소비자 모델에 근거하여 시스템이 구성될 수 있다.More specifically, different techniques exist for assigning work to tasks. One approach is commonly referred to as producer-consumer design. Within a producer-consumer design approach, one or more threads are responsible for producing data, and one or more threads are responsible for consuming the produced data. As an example, a producer thread may be responsible for reading data from a file into a memory area accessible by a consumer thread. Consumer threads retrieve data from the memory area and process (consume) the data as needed. That is, the high availability linkage system 10 according to an embodiment of the present invention may be configured based on the producer-consumer model.

이를 위해, 고가용성 연계시스템(10)는 상기 제1 대상시스템(100)에서 전송된 인터페이스를 수용하는 인터페이스 생산자(producer)부(11)와, 수용된 상기 인터페이스를 상기 제2 대상시스템(200)으로 전송하는 인터페이스 소비자(consumer)부(21)를 포함할 수 있다. For this purpose, the high availability linkage system 10 includes an interface producer unit 11 that accepts the interface transmitted from the first target system 100, and the received interface to the second target system 200. It may include a transmitting interface consumer unit 21.

도 1, 도 2 및 도 4를 참고하면, 고가용성 연계시스템(10)의 인터페이스 생산자(producer)부(11)는 상기 제1 대상시스템(100)으로부터 거래요청을 수신하는 인터페이스 요청부(13)와, 상기 인터페이스 요청부(13)로부터 시스템큐(queue) 요청을 수신하는 시스템큐 매니저(15)를 포함할 수 있다.Referring to FIGS. 1, 2, and 4, the interface producer unit 11 of the high availability linkage system 10 includes an interface request unit 13 that receives a transaction request from the first target system 100. and a system queue manager 15 that receives a system queue request from the interface request unit 13.

인터페이스 요청부(13)가 제1 대상시스템(100)으로부터 거래개시 요청을 수신하면, 인터페이스 전송을 하기 위한 고가용성 연계시스템(10)이 활성화될 수 있다. When the interface request unit 13 receives a transaction initiation request from the first target system 100, the high availability linkage system 10 for interface transmission may be activated.

한편, 인터페이스 생산자부(11)는 제1 대상시스템(100)으로부터 수신된 거래요청의 처리 및 인터페이스의 임시저장(인입)등을 위해 다수의 시스템큐(queue, 31)를 생성할 수 있고, 각 시스템큐(31)에는 적어도 하나의 생산자용 스레드(32)가 포함될 수 있다. 즉 시스템큐(31)는 요청신호에 대응하고, 상기 인터페이스의 반입 등을 처리하기 위한 적어도 하나의 생산자용 스레드(32)를 포함할 수 있다.Meanwhile, the interface producer unit 11 may create a plurality of system queues 31 for processing transaction requests received from the first target system 100 and temporary storage (importation) of the interface, and each The system queue 31 may include at least one producer thread 32. That is, the system queue 31 may correspond to a request signal and include at least one producer thread 32 to process the import of the interface.

시스템큐(31)는 고가용성 연계시스템(10)에 접속된 호스트장치 및 연계대상 시스템별로 설정될 수 있다. 즉, 고가용성 연계시스템(10)의 최초 기동 시, 데이터베이스 관리 시스템(Database Management System: 이하 DBMS)에서 호스트장치 및 연계대상 시스템의 정보를 판독하여 각 장치 및 시스템별로 시스템큐(31)를 생성할 수 있다. 한편, 각각의 시스템큐(31)에는 각 호스트장치 및 시스템에서 전송된 정보를 처리하는 적어도 하나의 생산자용 스레드(32)가 포함될 수 있고, 시스템큐(31)에는 각 호스트장치 및 시스템에서 전송된 인터페이스가 인입되어 저장될 수 있다. 이러한, 시스템큐(31)는 인터페이스 생산자부(11) 내에 복수개로 이루어져 구성된 시스템큐 집합으로 존재할 수 있다. 한편, 시스템큐 매니저(15)는 인터페이스 생산자부(11)에 생성된 시스템큐(31) 각각과 이들의 집합인 시스템큐 집합을 관리 및 제어할 수 있다. 한편, 이하에서는 설명의 편의상 고가용성 연계시스템(10)에 접속된 연계대상 시스템을 제1 및 제2 대상시스템(100, 200)으로 한정하여 설명하고, 시스템큐(31)도 이에 대응하여 생성된 것으로 가정한다.The system queue 31 can be set for each host device and linked target system connected to the high availability linked system 10. That is, when the high availability linkage system 10 is first started, the database management system (DBMS) reads information on the host device and linkage target system and creates a system queue 31 for each device and system. You can. Meanwhile, each system queue 31 may include at least one producer thread 32 that processes information transmitted from each host device and system, and the system queue 31 contains information transmitted from each host device and system. The interface can be imported and saved. Such system queue 31 may exist as a set of system queues comprised of a plurality of system queues within the interface producer unit 11. Meanwhile, the system queue manager 15 can manage and control each of the system queues 31 created in the interface producer unit 11 and the system queue set, which is a set of them. Meanwhile, hereinafter, for convenience of explanation, the linked target systems connected to the high availability linked system 10 will be limited to the first and second target systems 100 and 200, and the system queue 31 is also created correspondingly. It is assumed that

상술한 바와 같이, 시스템큐 매니저(15)는 복수의 시스템큐(queue)로 이루어진 시스템큐 집합을 포함할 수 있다. 시스템큐 요청 수신시, 상기 시스템큐 매니저(15)는 시스템큐 집합에 포함된 각 시스템큐의 상태를 확인하여, 제1 대상시스템(100)의 인터페이스를 반입하기 위한 시스템큐(31)의 반환여부를 결정할 수 있다. 즉, 시스템큐 매니저(15)는 시스템큐(31)들의 실시간 상태를 확인하여, 제1 대상시스템(100)에서 전송된 요청신호에 대응하여 인터페이스의 인입 및 처리가 가능한 시스템큐를 확인하는 것이다.As described above, the system queue manager 15 may include a system queue set consisting of a plurality of system queues. When receiving a system queue request, the system queue manager 15 checks the status of each system queue included in the system queue set and determines whether the system queue 31 for importing the interface of the first target system 100 is returned. can be decided. That is, the system queue manager 15 checks the real-time status of the system queues 31 and identifies system queues that can be entered and processed in the interface in response to the request signal transmitted from the first target system 100.

시스템큐 매니저(15)가 시스템큐 집합의 상태를 확인한 후, 반환 가능한 시스템큐가 확인되면, 시스템큐 매니저(15)는 시스템큐(31)를 인터페이스 요청부(13)에 반환한다.After the system queue manager 15 checks the status of the system queue set and if a returnable system queue is confirmed, the system queue manager 15 returns the system queue 31 to the interface request unit 13.

계속해서, 인터페이스 요청부(13)가 상기 인터페이스의 반입을 상기 시스템큐 매니저(15)에 요청하고, 상기 시스템큐 매니저(15)는 상기 시스템큐(31)에 상기 인터페이스의 반입여부를 결정한다.Subsequently, the interface request unit 13 requests the system queue manager 15 to import the interface, and the system queue manager 15 determines whether to import the interface into the system queue 31.

한편, 시스템큐 매니저(15)는 다음의 방법으로 시스템큐(31)에 인터페이스의 반입여부를 결정한다. 즉, 상기 시스템큐 매니저(15)는 상기 시스템큐 집합의 최대 대기건수를 확인하고, 최대 대기건수가 초과되는 경우 에러를 발생시킨다. 이에 의해, 시스템의 작업 대기시간을 단축시키고, 전체적으로 연계 시스템이 다운되는 현상을 방지할 수 있다. 또한, 초과 대기건수가 초과되지 않는 경우, 시스템큐 매니저(15)는 상기 인터페이스를 상기 시스템큐(31)에 반입시킨다. 즉, 시스템 매니저(15)는 전송된 인터페이스의 처리 및 저장을 수행하는 시스템큐들의 전체적인 상태를 확인하고, 이를 관리하여, 작업 및 대기가 가능한 시스템큐 만을 선별하여 인터페이스 연계 작업을 계속적으로 진행시킬 수 있다. 그렇지 않은 경우에는, 거래요청 등에 대해 에러를 발생시킴으로써, 해당 거래를 일단 신속히 종결시켜, 연계 시스템의 대기 작업 수를 최소화시킨다. 이에 의해, 연계 시스템의 고가용성이 유지 및 담보될 수 있는 것이다.Meanwhile, the system queue manager 15 determines whether to import an interface into the system queue 31 using the following method. That is, the system queue manager 15 checks the maximum number of queues in the system queue set, and generates an error if the maximum number of queues is exceeded. As a result, it is possible to shorten the system's work waiting time and prevent the entire linked system from going down. Additionally, if the number of waiting cases does not exceed, the system queue manager 15 loads the interface into the system queue 31. In other words, the system manager 15 can check the overall status of the system queues that process and store the transmitted interface, manage them, and select only the system queues that can work and wait to continuously proceed with the interface linkage work. there is. Otherwise, by generating an error in the transaction request, etc., the transaction is terminated quickly and the number of waiting tasks in the linked system is minimized. By this, the high availability of the linked system can be maintained and guaranteed.

한편, 상기 인터페이스 소비자부(21)는 상기 시스템큐 매니저(15)로부터 상기 인터페이스를 인출하는 인터페이스 전송부(23)를 포함한다. 인터페이스 전송부(23)는 인터페이스 생산자부(11)의 시스템큐 매니저(15)와 신호를 교환하며 인터페이스 인출입을 제어할 수 있다. Meanwhile, the interface consumer unit 21 includes an interface transmission unit 23 that retrieves the interface from the system queue manager 15. The interface transmission unit 23 exchanges signals with the system queue manager 15 of the interface producer unit 11 and can control interface input and output.

시스템큐 매니저(15)는 시스템큐(31)에 인입되어 있는 인터페이스를 인출하여 인터페이스 전송부(23)에 전송하고, 인터페이스 전송부(23)는 인출된 상기 인터페이스를 상기 제2 대상시스템(200)으로 전송할 수 있다. The system queue manager 15 retrieves the interface entered into the system queue 31 and transmits it to the interface transmission unit 23, and the interface transmission unit 23 transmits the retrieved interface to the second target system 200. It can be sent to .

한편, 인터페이스 전송부(23)는 다음의 프로세스를 통해 인출된 인터페이스를 제2 대상시스템(200)으로 전송할 수 있다.Meanwhile, the interface transmission unit 23 may transmit the retrieved interface to the second target system 200 through the following process.

즉, 인터페이스 전송부(23)는 인터페이스가 상기 시스템큐 매니저(15)에 인입된 시간과 실시간을 비교하여 체류시간을 측정한다. 측정된 체류시간이 기설정된 타임아웃 시간 내인 경우에는 상기 인터페이스를 상기 제2 대상시스템(200)으로 전송한다. 반면에, 상기 체류시간이 기설정된 타임아웃 시간을 초과하는 경우에는 에러를 발생시켜 상기 인터페이스를 상기 제2 대상시스템(200)으로 전송한다. 에러를 발생시킴으로써, 인터페이스 연계시스템의 작업 지연이나 시스템다운 등을 방지할 수 있다. That is, the interface transmission unit 23 measures the residence time by comparing the time when the interface was entered into the system queue manager 15 and real time. If the measured residence time is within the preset timeout time, the interface is transmitted to the second target system 200. On the other hand, if the stay time exceeds the preset timeout time, an error is generated and the interface is transmitted to the second target system 200. By generating an error, work delays or system downtime in the interface linkage system can be prevented.

체류시간 산출의 근거가 되는 인터페이스가 상기 시스템큐 매니저(15)에 인입된 시간과 실시간은 고가용성 연계시스템(10) 내에 장착된 시스템 클럭(미도시)을 통해 측정하며, 측정된 두 개의 시간을 바탕으로 인터페이스가 시스템큐(31)에 체류하는 시간을 측정할 수 있다.The time at which the interface, which is the basis for calculating the residence time, is entered into the system queue manager 15 and real time are measured through a system clock (not shown) installed in the high availability linkage system 10, and the two measured times are measured. Based on this, the time that the interface stays in the system queue (31) can be measured.

한편, 인터페이스 소비자부(23)는 인터페이스를 제2 대상시스템(200)으로 전송하고, 체류시간 등을 산정 및 비교하기 위한 적어도 하나의 소비자용 스레드(41, 42)를 포함할 수 있다. 즉, 멀티스레딩 기술을 통해, 인터페이스 소비자부(23)는 인터페이스의 인출 및 전송을 수행하는 것이다.Meanwhile, the interface consumer unit 23 may include at least one consumer thread 41 and 42 for transmitting the interface to the second target system 200 and calculating and comparing residence time, etc. That is, through multi-threading technology, the interface consumer unit 23 performs interface fetching and transmission.

도 1 내지 도 5를 참고하여, 본 발명의 실시예에 따른 고가용성 인터페이스 연계방법을 설명한다.With reference to Figures 1 to 5, a high availability interface linking method according to an embodiment of the present invention will be described.

본 실시예에 따른 고가용성 인터페이스 연계방법은 상술한 실시예의 고가용성(high availability) 연계시스템을 활용하여 제1 대상시스템 및 이와 네트워크로 연결된 제2 대상시스템 간에 인터페이스를 송수신하는 것이다.The high availability interface linkage method according to this embodiment transmits and receives an interface between a first target system and a second target system connected to it through a network by utilizing the high availability linkage system of the above-described embodiment.

보다 구체적으로, 본 실시예에 따른 고가용성 인터페이스 연계방법은 상기 제1 대상시스템(100)이 상기 고가용성 연계시스템(10)에 포함된 인터페이스 생산자(producer)부(11)에 인터페이스를 전송하면, 전송된 상기 인터페이스가 상기 인터페이스 생산자부(11)에 인입되는 단계(S10 내지 S15)와, 상기 고가용성 연계시스템(10)에 포함된 인터페이스 소비자(consumer)부(21)가 인입된 상기 인터페이스를 상기 제2 대상시스템(200)으로 전송하는 단계(S20 내지 S23)를 포함할 수 있다.More specifically, the high-availability interface linkage method according to this embodiment is when the first target system 100 transmits an interface to the interface producer unit 11 included in the high-availability linkage system 10, Steps (S10 to S15) in which the transmitted interface is introduced into the interface producer unit 11, and the interface consumer unit 21 included in the high availability linkage system 10 is inserted. It may include steps S20 to S23 of transmitting to the second target system 200.

단계별로 구체적으로 살펴보면 다음과 같다.Looking at each step in detail, it is as follows.

상기 인터페이스가 상기 인터페이스 생산자부(11)에 인입되는 단계는, 상기 제1 대상시스템(100)이 상기 인터페이스 생산자부(11)에 거래요청을 하면(S10), 상기 인터페이스 생산자부(11)는 반환 가능한 시스템큐(31)를 호출하여 제공하는 단계(S12)를 포함할 수 있다. 반환가능한 시스템큐(31)가 확인되면, 시스템큐 매니저(15)는 시스템큐(31)를 인터페이스 요청부(13)로 반환한다(S13).The step of introducing the interface into the interface producer unit 11 is when the first target system 100 makes a transaction request to the interface producer unit 11 (S10), and the interface producer unit 11 returns It may include a step (S12) of calling and providing a possible system queue (31). When a returnable system queue 31 is confirmed, the system queue manager 15 returns the system queue 31 to the interface request unit 13 (S13).

이때, 상기 인터페이스 생산자부(11)는 시스템큐들의 최대 처리건수를 확인한 후, 상기 인터페이스를 상기 시스템큐(31)에 인입시킨다. 보다 구체적으로, 시스템큐(31)를 반환받은 인터페이스 요청부(13)는 인터페이스 인입 요청을 시스템큐 매니저(15)로 전송한다(S14)). 이러한 과정을 통해 시스템큐 매니저(15)가 인터페이스를 시스템큐(31)에 인입시키는 것이다(S15).At this time, the interface producer unit 11 checks the maximum processing number of system queues and then inserts the interface into the system queue 31. More specifically, the interface request unit 13, which has received the return of the system queue 31, transmits an interface entry request to the system queue manager 15 (S14). Through this process, the system queue manager 15 inserts the interface into the system queue 31 (S15).

한편, 인터페이스 생산자부(11)의 시스템큐 매니저(15)가 시스템큐들의 최대 처리건수를 확인한 결과, 상기 인터페이스 생산자부(11)가 처리할 수 있는 최대 건수를 초과하는 경우, 상기 인터페이스 생산자부(11)는 시스템 에러를 발생시켜, 상기 인터페이스가 상기 시스템큐(31)에 인입되는 것을 중단시킨다(S15).Meanwhile, as a result of checking the maximum number of system queues processed by the system queue manager 15 of the interface producer unit 11, if it exceeds the maximum number of cases that the interface producer unit 11 can process, the interface producer unit ( 11) generates a system error and stops the interface from entering the system queue 31 (S15).

다음으로, 인터페이스 소비자부(21)는 상기 시스템큐에 인입되어 있는 상기 인터페이스가 인출되는 경우, 이를 전송받는다(S20). 인터페이스는 인터페이스 소비자부(21)의 인터페이스 전송부(23)에서 수용한다.Next, the interface consumer unit 21 receives the interface when it is retrieved from the system queue (S20). The interface is accepted by the interface transmission unit 23 of the interface consumer unit 21.

계속해서, 상기 인터페이스 소비자부(21)는 상기 인터페이스가 상기 시스템큐(31)에 인입된 시간과 실시간을 비교하여 상기 인터페이스가 상기 시스템큐(31)에 체류한 체류시간을 측정하는 단계를 포함한다(S22).Subsequently, the interface consumer unit 21 compares the time when the interface entered the system queue 31 in real time and measures the residence time of the interface in the system queue 31. (S22).

상기 체류시간이 기설정된 타임아웃 시간 내인 경우에는 상기 인터페이스를 상기 제2 대상시스템(200)으로 전송한다(S23). 반면에, 상기 체류시간이 기설정된 타임아웃 시간을 초과하는 경우에는 에러를 발생시켜 상기 인터페이스를 상기 제2 대상시스템(200)으로 전송하는 것을 중단시킬 수 있다(S22). 작업시간이 지연되는 개별 작업에 대해서만 작업을 중단시킴으로써, 고가용성 인터페이스 연계방법은 전체적으로 시스템의 중단 및 지연을 방지하며, 인터페이스 송수신의 고가용성을 보장할 수 있다.If the stay time is within the preset timeout time, the interface is transmitted to the second target system 200 (S23). On the other hand, if the stay time exceeds the preset timeout time, an error may be generated and transmission of the interface to the second target system 200 may be stopped (S22). By stopping work only for individual tasks that are delayed, the high-availability interface linking method prevents interruption and delay of the overall system and can ensure high availability of interface transmission and reception.

이상 본 발명의 실시예들을 설명하였으나, 본 발명은 상기 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 제조될 수 있으며, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다.Although the embodiments of the present invention have been described above, the present invention is not limited to the above embodiments and can be manufactured in various different forms, and those skilled in the art will understand the technical idea of the present invention. It will be understood that it can be implemented in other specific forms without changing the essential features. Therefore, the embodiments described above should be understood in all respects as illustrative and not restrictive.

100: 제1 대상시스템 200: 제2 대상시스템
10: 고가용성 연계시스템 11: 인터페이스 생산자
21: 인터페이스 소비자 13: 인터페이스 요청부
15: 시스템큐 매니저 23: 인터페이스 전송부
31: 시스템큐 32: 생산자용 스레드
41, 42: 소비자용 스레드
100: first target system 200: second target system
10: High availability linkage system 11: Interface producer
21: Interface Consumer 13: Interface Request Part
15: System queue manager 23: Interface transmission unit
31: System queue 32: Producer thread
41, 42: Consumer thread

Claims (18)

제1 대상시스템 및 이와 네트워크로 연결된 제2 대상시스템 간에 인터페이스의 송수신을 중계하여 네트워크의 가용성을 향상시키는 고가용성(high availability) 연계시스템에 있어서,
상기 제1 대상시스템에서 전송된 인터페이스를 수용하는 인터페이스 생산자(producer)부와,
수용된 상기 인터페이스를 상기 제2 대상시스템으로 전송하는 인터페이스 소비자(consumer)부를 포함하는 고가용성 연계시스템.
In a high availability linkage system that improves network availability by relaying interface transmission and reception between a first target system and a second target system connected to it through a network,
an interface producer unit that accepts the interface transmitted from the first target system;
A high availability linkage system including an interface consumer unit that transmits the accepted interface to the second target system.
제1 항에 있어서,
상기 인터페이스 생산자부는 상기 제1 대상시스템으로부터 거래요청을 수신하는 인터페이스 요청부와,
상기 인터페이스 요청부로부터 시스템큐(queue) 요청을 수신하는 시스템큐 매니저를 포함하는 고가용성 연계시스템.
According to claim 1,
The interface producer unit includes an interface request unit that receives a transaction request from the first target system,
A high availability linked system including a system queue manager that receives a system queue request from the interface request unit.
제2 항에 있어서,
상기 시스템큐 매니저는 복수의 시스템큐(queue)로 이루어진 시스템큐 집합을 포함하되,
상기 시스템큐 요청 수신시, 상기 시스템큐 매니저는 상기 시스템큐 집합에 포함된 각 시스템큐의 상태를 확인하여, 상기 제1 대상시스템의 상기 인터페이스를 반입하기 위한 시스템큐의 반환여부를 결정하는 것을 특징으로 하는 고가용성 연계시스템.
According to clause 2,
The system queue manager includes a system queue set consisting of a plurality of system queues,
When receiving the system queue request, the system queue manager checks the status of each system queue included in the system queue set and determines whether to return the system queue for importing the interface of the first target system. A high availability linkage system.
제3 항에 있어서,
반환 가능한 시스템큐가 확인되면, 상기 시스템큐 매니저는 상기 시스템큐를 상기 인터페이스 요청부에 반환하는 것을 특징으로 하는 고가용성 연계시스템.
According to clause 3,
When a returnable system queue is confirmed, the system queue manager returns the system queue to the interface request unit.
제4 항에 있어서,
상기 인터페이스 요청부는 상기 인터페이스의 반입을 상기 시스템큐 매니저에 요청하고, 상기 시스템큐 매니저는 상기 시스템큐에 상기 인터페이스의 반입여부를 결정하는 것을 특징으로 하는 고가용성 연계시스템.
According to clause 4,
The interface request unit requests the system queue manager to import the interface, and the system queue manager determines whether to import the interface into the system queue.
제5 항에 있어서,
상기 시스템큐 매니저는 상기 시스템큐 집합의 최대 대기건수를 확인하고, 최대 대기건수가 초과되는 경우 에러를 발생시키고, 초과 대기건수가 초과되지 않는 경우 상기 인터페이스를 상기 시스템큐에 반입시키는 것을 특징으로 하는 고가용성 연계시스템.
According to clause 5,
The system queue manager checks the maximum number of queues in the system queue set, generates an error if the maximum number of queues is exceeded, and imports the interface into the system queue if the excess number of queues is not exceeded. High availability linkage system.
제3 항에 있어서,
상기 시스템큐는 요청신호에 대응하고, 상기 인터페이스의 반입 등을 처리하기 위한 적어도 하나의 생산자용 스레드를 포함하는 것을 특징으로 하는 고가용성 연계시스템.
According to clause 3,
The system queue corresponds to a request signal and includes at least one producer thread to process import of the interface.
제2 항에 있어서,
상기 인터페이스 소비자부는 상기 시스템큐 매니저로부터 상기 인터페이스를 인출하는 인터페이스 전송부를 포함하는 것을 특징으로 하는 고가용성 연계시스템.
According to clause 2,
The interface consumer unit is a high-availability linkage system, characterized in that it includes an interface transmission unit that retrieves the interface from the system queue manager.
제8 항에 있어서,
상기 인터페이스 전송부는 인출된 상기 인터페이스를 상기 제2 대상시스템으로 전송하는 것을 특징으로 하는 고가용성 연계시스템.
According to clause 8,
The interface transmission unit transmits the retrieved interface to the second target system.
제9 항에 있어서,
상기 인터페이스 전송부는 상기 인터페이스가 상기 시스템큐 매니저에 인입된 시간과 실시간을 비교하여 체류시간을 측정하되,
상기 체류시간이 기설정된 타임아웃 시간 내인 경우에는 상기 인터페이스를 상기 제2 대상시스템으로 전송하고,
상기 체류시간이 기설정된 타임아웃 시간을 초과하는 경우에는 에러를 발생시켜 상기 인터페이스를 상기 제2 대상시스템으로 전송하는 것을 중단시키는 것을 특징으로 하는 고가용성 연계시스템.
According to clause 9,
The interface transmission unit measures the residence time by comparing the time when the interface was entered into the system queue manager in real time,
If the stay time is within the preset timeout time, the interface is transmitted to the second target system,
A high-availability linkage system characterized in that, when the stay time exceeds a preset timeout time, an error is generated and transmission of the interface to the second target system is stopped.
제10 항에 있어서,
상기 인터페이스 소비자부는 상기 인터페이스를 상기 제2 대상시스템으로 전송하고,
상기 체류시간 등을 산정 및 비교하기 위한 적어도 하나의 소비자용 스레드를 포함하는 것을 특징으로 하는 고가용성 연계시스템.
According to claim 10,
The interface consumer unit transmits the interface to the second target system,
A high availability linkage system comprising at least one consumer thread for calculating and comparing the residence time, etc.
고가용성(high availability) 연계시스템을 활용하여 제1 대상시스템 및 이와 네트워크로 연결된 제2 대상시스템 간에 인터페이스를 송수신하는 고가용성 인터페이스 연계방법에 있어서,
상기 제1 대상시스템이 상기 고가용성 연계시스템에 포함된 인터페이스 생산자(producer)부에 인터페이스를 전송하면, 전송된 상기 인터페이스가 상기 인터페이스 생산자부에 인입되는 단계와,
상기 고가용성 연계시스템에 포함된 인터페이스 소비자(consumer)부가 인입된 상기 인터페이스를 상기 제2 대상시스템으로 전송하는 단계를 포함하는, 고가용성 인터페이스 연계방법.
In a high availability interface linkage method for transmitting and receiving an interface between a first target system and a second target system connected to it through a network using a high availability linkage system,
When the first target system transmits an interface to an interface producer included in the high availability linkage system, the transmitted interface is entered into the interface producer unit;
A high-availability interface linking method comprising transmitting the interface into which an interface consumer unit included in the high-availability linking system is introduced to the second target system.
제12 항에 있어서,
상기 인터페이스가 상기 인터페이스 생산자부에 인입되는 단계는,
상기 제1 대상시스템이 상기 인터페이스 생산자부에 거래요청을 하면, 상기 인터페이스 생산자부는 반환가능한 시스템큐를 호출하여 제공하는 단계를 포함하는 고가용성 인터페이스 연계방법.
According to claim 12,
The step of introducing the interface into the interface producer unit is:
When the first target system makes a transaction request to the interface producer unit, the interface producer unit calls and provides a returnable system queue.
제13 항에 있어서,
상기 인터페이스 생산자부는 시스템큐들의 최대 처리건수를 확인한 후, 상기 인터페이스를 상기 시스템큐에 인입시키는 것을 특징으로 하는 고가용성 인터페이스 연계방법.
According to claim 13,
A high-availability interface linking method, wherein the interface producer unit checks the maximum processing number of system queues and then inserts the interface into the system queue.
제14 항에 있어서,
상기 인터페이스 생산자부가 최대 처리건수를 확인한 결과,
상기 인터페이스 생산자부가 처리할 수 있는 최대 건수를 초과하는 경우, 상기 인터페이스 생산자부는 시스템 에러를 발생시켜, 상기 인터페이스가 상기 시스템큐에 인입되는 것을 중단하도록 하는 고가용성 인터페이스 연계방법.
According to claim 14,
As a result of checking the maximum number of processed cases by the interface producer department,
A high-availability interface linking method in which, when the interface producer unit exceeds the maximum number of cases that can be processed, the interface producer unit generates a system error and stops the interface from entering the system queue.
제14 항에 있어서,
상기 인터페이스 소비자부는 상기 시스템큐에 인입되어 있는 상기 인터페이스가 인출되는 경우, 이를 전송받는 것을 특징으로 하는 고가용성 인터페이스 연계방법.
According to claim 14,
A high-availability interface linking method, wherein the interface consumer unit receives the interface when it is fetched from the system queue.
제15 항에 있어서,
상기 인터페이스 소비자부는 상기 인터페이스가 상기 시스템큐에 인입된 시간과 실시간을 비교하여 상기 인터페이스가 상기 시스템큐에 체류한 체류시간을 측정하는 단계를 포함하는 것을 특징으로 하는 고가용성 인터페이스 연계방법.
According to claim 15,
The interface consumer unit measures a residence time of the interface in the system queue by comparing real time with the time the interface was entered into the system queue.
제17 항에 있어서,
상기 체류시간이 기설정된 타임아웃 시간 내인 경우에는 상기 인터페이스를 상기 제2 대상시스템으로 전송하고,
상기 체류시간이 기설정된 타임아웃 시간을 초과하는 경우에는 에러를 발생시켜 상기 인터페이스를 상기 제2 대상시스템으로 전송하는 것을 중단시키는 것을 특징으로 하는 고가용성 인터페이스 연계방법.


According to claim 17,
If the stay time is within the preset timeout time, the interface is transmitted to the second target system,
A high-availability interface linkage method characterized in that, when the residence time exceeds a preset timeout time, an error is generated and transmission of the interface to the second target system is stopped.


KR1020220089512A 2022-07-20 2022-07-20 Linkage systems and methods to ensure non-disruptive and high availability when transmitting interfaces KR20240012057A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020220089512A KR20240012057A (en) 2022-07-20 2022-07-20 Linkage systems and methods to ensure non-disruptive and high availability when transmitting interfaces

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020220089512A KR20240012057A (en) 2022-07-20 2022-07-20 Linkage systems and methods to ensure non-disruptive and high availability when transmitting interfaces

Publications (1)

Publication Number Publication Date
KR20240012057A true KR20240012057A (en) 2024-01-29

Family

ID=89717031

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220089512A KR20240012057A (en) 2022-07-20 2022-07-20 Linkage systems and methods to ensure non-disruptive and high availability when transmitting interfaces

Country Status (1)

Country Link
KR (1) KR20240012057A (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102233894B1 (en) 2019-10-10 2021-03-30 에스케이텔레콤 주식회사 Network function and method for processing request using the same

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102233894B1 (en) 2019-10-10 2021-03-30 에스케이텔레콤 주식회사 Network function and method for processing request using the same

Similar Documents

Publication Publication Date Title
US9547858B2 (en) Real-time multi master transaction
US11184745B2 (en) Actor system and method for transmitting a message from a first actor to a second actor
EP0849921B1 (en) Apparatus and method for dispatching client method calls within a server computer system
US10200460B2 (en) Server-processor hybrid system for processing data
US20110153581A1 (en) Method for Providing Connections for Application Processes to a Database Server
JPH11259443A (en) Device for scheduling and dispatching client request and method therefor
US9860192B2 (en) Distributed computing architecture
JPH11328132A (en) Data processor for performing operation load management regarding group of servers data processing method tefrefor and computer program product
US10693816B2 (en) Communication methods and systems, electronic devices, and computer clusters
US7886019B2 (en) Service oriented architecture automation by cab or taxi design pattern and method
Arustamov et al. Back up data transmission in real-time duplicated computer systems
US20130117755A1 (en) Apparatuses, systems, and methods for distributed workload serialization
US11637701B2 (en) Technologies for conducting a data transaction between enterprises using a permissioned blockchain infrastructure and an oracle system
CN112787999A (en) Cross-chain calling method, device, system and computer readable storage medium
CN113703997A (en) Bidirectional asynchronous communication middleware system integrating multiple message agents and implementation method
CN115544044A (en) Data consistency keeping method, device, equipment and storage medium
US8443372B2 (en) Methods and systems for partitioning data in parallel processing systems
US10951757B1 (en) Systems and methods for shifting call handling across multi-region service clusters
US9426114B2 (en) Parallel message processing on diverse messaging buses
CN111611089B (en) Asynchronous declaration-based micro-service scheduling method
KR20240012057A (en) Linkage systems and methods to ensure non-disruptive and high availability when transmitting interfaces
JP2007249295A (en) Session management program, session management method, and session management apparatus
US11048547B2 (en) Method and system for routing and executing transactions
CN111198773A (en) Message-based application communication method and device
US20110078410A1 (en) Efficient pipelining of rdma for communications

Legal Events

Date Code Title Description
E902 Notification of reason for refusal