신재훈
(Jae-Hun Shin)
1iD
조성호
(Sung-Ho Jo)
1iD
조유진
(Yoo-Jean Cho)
2iD
김동욱
(Dong-Wook Kim)
†iD
-
(Korea Electric Power Research Institute, Republic of Korea.)
-
(Korea Electric Power Corporation, Republic of Korea.)
Copyright © The Korean Institute of Electrical Engineers
Key words
Real-Time, Data transmission, Network segmentation environment, Data sync
1. 서 론
세계적으로 기후 변화 대응 및 에너지 안보 강화를 위한 노력의 일환으로 신재생에너지 발전 비중이 급격히 증가하고 있다. 특히 태양광, 풍력과 같은
분산형 신재생에너지원(Distributed Renewable Energy Resources, DERs)은 기존의 중앙 집중식 발전과 달리 최종 소비자
인근의 배전망에 직접 연계되는 형태로 확산하고 있다. 이러한 변화는 전력 시스템의 복잡성을 증대시키고 있으며, 안정적인 전력 공급을 보장하기 어려운
상황을 만든다.
현재의 배전망은 주로 오래전에 설계된 방식이며, 중앙 발전소에서 생산된 전력이 대규모 송전망을 거쳐 배전망을 통해 최종 소비자에게 단방향으로 흐르는
것이 일반적이었다. 그러나 분산형 신재생에너지의 확산은 소비자가 동시에 생산자가 되는 프로슈머(Prosumer) 모델을 가속화하고, 배전망 내에서
양방향 전력 흐름을 야기하며, 발전량의 간헐성 및 변동성으로 인한 전압 불안정, 과부하, 역조류(Reverse Power Flow) 등과 같은 새로운
운영 문제를 발생시키고 있다.[1]
이러한 문제를 극복하고 효율적인 배전망으로의 성공적인 전환을 위해서는 배전망의 실시간 데이터를 확보하고 이를 기반으로 심층적인 분석이 필수적이다.
만약 배전망의 전압, 전류, 개폐기 상태 등 실시간 운영 데이터를 광범위하게 수집하고 분석할 수 있다면, 전력 시스템 운영의 패러다임을 전환할 혁신적인
기회가 될 것이다.[2] 특히, 실시간 데이터는 예측 불확실성으로 인한 계통 운영 부담을 경감시키고, 불필요한 예비력 확보 비용을 절감하는데 크게 기여할 수 있을 것이다.[2]
그러나 현재 배전망의 경우 실제 전력 계통을 운영하고 제어하는 핵심 시스템이 있는 네트워크로 다른 망과 분리되어 있다. 배전망이 외부의 악성 코드나
해킹 공격에 노출될 경우, 대규모 정전 사태나 전력 설비 손상 등 심각한 국가적 재난으로 이어질 수 있기 때문이다. 업무망의 경우 다양한 전력 데이터를
활용하여 전력 계통에 도움이 되는 서비스를 제공하는 네트워크지만, 배전망과는 보안 강화를 위해 통신망이 분리되어 있어, 실시간 데이터 연계가 불가능한
구조로 구성되어 있다. 이러한 망분리 정책은 업무망이 침해되더라도 그 위협이 핵심적인 배전망으로 전파되는 것을 차단하는 장점이 있지만 데이터 활용을
어렵게 하는 원인이 된다.[4]
망분리로 인해 배전망에서 생성된 실시간 데이터는 업무망의 업무 시스템과 연계되지 못하고 있으며, 이는 신속한 대응 및 효율적인 운영을 저해하는 요인으로
작용하고 있다. 현재 제어망의 데이터 연계는 정해진 시간에 파일을 덤프 및 임포트하는 방식으로 진행되며, 해당 방식은 실시간 데이터를 제공하지 못하여
신사업 발굴에 어려움이 되고 있다.[3]
본 연구에서는 위와 같은 어려움을 해결하기 위해 망분리 환경에서 실시간 데이터 동기화가 가능한 통신망 분리 환경을 지원하는 실시간 데이터 전송 기술을
제안한다. 제안하는 기술은 출발지망의 데이터베이스에서 실시간으로 변동 데이터를 추출하고, 중계서버들을 통해 목적지망으로 데이터를 전송한 후, 최종
데이터베이스에 동기화하는 과정을 포함한다. 이를 통해 실시간 데이터 전송 및 동기화뿐만 아니라 데이터의 정합성 및 순서 보장까지 함께 달성하는 것을
목표로 한다.
2. 배전망 데이터 연계 구성 현황 및 관련 연구
2.1 배전망 운영 현황
기존 배전망의 데이터 연계 시스템은 파일 전송 기반의 일방향장치를 이용하여 데이터를 주기적으로 덤프(dump) 및 임포트(import)하는 방식으로
이루어져 왔다. 데이터에 자동으로 증가하는 번호인 increment ID를 생성하여 특정 시점을 기록하고, 일정 주기가 지나면 그 이후의 데이터를
덤프하여 파일로 생성하는 방식이다.
그림 1. 기존 데이터 연계 방식
Fig. 1. Conventional Data Integration Approach
그림1과 같이 일정 주기를 설정하여 파일 형식으로 데이터를 연계하는 방식은 구현이 간단하다는 장점이 있으나, 데이터 정합성을 보장하지 못한다는 문제점이
있다. 데이터 정합성을 보장하는 트랜잭션 단위를 확인하지 못하며, 데이터를 추출하는 동안에 새로운 데이터의 삽입이나 기존 데이터의 업데이트를 놓치기
때문이다. 이는 변경 데이터 누락으로 이어져 DB 간에 데이터 불일치를 초래한다.
또 다른 문제는 원본 DB 부하의 원인이 되는 것이다. 대량의 데이터를 덤프하는 과정은 원본 DB에 I/O 부하를 발생시키며, 네트워크 대역폭 소모가
커서 실시간 데이터 연계 또한 불가능하게 한다. 이처럼 현재 배전망 데이터 연계 구성은 데이터 정합성, 성능, 운영 효율성 등 많은 면에서 한계를
가지고 있다.
실제로 현재 차세대 배전망 관리 시스템(ADMS)은 배전 데이터를 매일 한 번씩 덤프하여 연계하고 있다. 그러나 이 덤프 작업이 이루어지는 동안 서버에
과부하가 발생하여, 성능 최적화를 위한 추가 작업이 필요한 상황이다.
2.2 관련 기술 동향
ADMS 외에도 기존에 망분리 환경에서 데이터 연계는 보안성과 실시간성 간의 상충 문제로 다양한 연구가 진행됐다. ADMS 이전의 배전 시스템 DAS
역시 일방향 데이터 전달을 위한 연구를 진행해 왔으나 이는 데이터 동기화를 지원하지 않았다.[6] 다른 국내 연구에서도 대량의 데이터를 실시간으로 처리하며 지연을 줄이고 정확성을 보장하는 DSSP 모델이 제안되었으나 망분리 환경이 고려되지 않았다.[7] 무선통신 환경의 불안정성을 고려한 CDC 기반 데이터 동기화 연구 또한 진행되었으나 무선망에서의 가용성 문제를 해결하는 데 초점이 맞추어져 있어,
보안상의 이유로 제어망과 업무망이 철저히 구분된 배전망과 같은 망분리 환경에서 직접적으로 적용하기 어렵다.[8]
위와 같이 기존 연구들은 보안성 또는 실시간성 중 한 측면에 초점을 맞추거나, 망분리 환경을 고려하지 않았다. 본 연구에서는 이러한 기존 시스템의
문제점을 분석하고, 실시간 동기화가 가능한 시스템 구조를 제안함으로써 망 분리 환경에서 데이터의 보안성, 실시간성, 정합성을 동시에 확보하고자 한다.
3. 망분리 환경 실시간 데이터 전송 기술 설계
본 연구에서 제안하는 시스템은 그림 2와 같이 크게 송신부 중계서버와 수신부 중계서버로 나뉘어져 있으며, 송신부는 출발지망의 데이터베이스에서 실시간 변동 데이터를 추출하고, 이를 일방향장치에
전송하는 역할을 한다. 수신부는 수신한 데이터의 정합성 검증 및 순서 정렬 후 최종적으로 목적지망의 데이터베이스에 동기화하는 기능을 수행한다. 일방향장치가
존재하는 단방향 통신 기술의 한계는 피드백 없는 시스템에 해당하며 ACK 불가로 신뢰성 문제를 안고 있다는 한계가 있다.[5] 그러나 제안하는 시스템은 CDC 기반 변동분 감지 및 순서 보장 기법을 도입함으로써 이런 한계를 보완하고, 망분리 환경에서도 실시간 동기화를 실현하였다.
이는 현재 운영 중인 배전 시스템의 계통 운영 상황을 1분 이내의 실시간성을 반영하여 목적지망으로 관리인에게 제공할 수 있게 한다.
제안하는 시스템은 보안성, 실시간성, 정합성을 갖추어 데이터를 전송하는 것을 목표로 한다. 보안성의 경우 중계서버와 일방향장치 사이에 DPI(Deep
Packet Inspector)를 설치함으로써 강화한다. 해당 장비는 특정 포트와 IP만 허용하며, TCP의 payload의 내용까지 검사하여 특정
패턴의 데이터와 같은 허용된 패킷만 전송할 수 있도록 한다. 따라서 본 시스템의 송신부는 데이터를 TCP로 전송할 수 있도록 기능하는 모듈이 존재한다.
데이터 정합성은 데이터 트랜잭션의 일관성을 유지하는 CDC(Change Data Capture) 기술을 활용하여 보장될 수 있다. CDC 기술 중
트랜잭션 로그 기반 캡처 방식은 데이터베이스에서 발생하는 모든 변경 사항을 순서대로 기록한다. 이 기록된 변경 정보를 수신부에 정확히 전달함으로써
원본 데이터베이스와 목적지 데이터베이스 간의 정합성을 확보하고 동기화를 실현할 수 있다.
그림 2. 제안 데이터 연계 방식
Fig. 2. Proposed Data Integration Method
4. 데이터 전송 송신부 중계서버
4.1 송신부 중계서버 설계
송신부는 출발지망의 데이터베이스에서 데이터를 실시간으로 추출하는 변경 데이터 추출 모듈, 데이터를 JSON 형식으로 변환하여 메시지 큐에 저장하는
메시지 수집 모듈, 데이터를 TCP 기반 패킷으로 가공하여 전송하는 데이터 가공 및 전송 모듈로 구성된다. DPI를 지나기 위해 데이터는 TCP를
기반으로 송신되고, 각 모듈의 처리/통계 데이터는 로컬 DB에 저장되며 에러 발생 시 로그 저장 후 관리자에게 알린다.
동기화 데이터의 모듈별 흐름은 그림 3과 같다. 모듈별로 역할이 정의되어 있으며, 데이터의 흐름을 화살표로 표시하였다. 각 모듈의 세부 역할과 구성은 그림4와 같으며 모듈별 세부 설명은 아래와 같다.
그림 3. 송신부 모듈 연계 흐름
Fig. 3. Transmitter Module Interconnection Flow
그림 4. 송신부 중계서버 모듈 구성도
Fig. 4. Architecture of Transmitter Relay Server Module
4.2 변경 데이터 추출 모듈
이 모듈은 원본 데이터베이스의 변동 데이터를 실시간으로 추출하는 기능을 담당하며 Debezium을 활용한다. 그림 5와 같이 Debezium은 원본 DB의 binlog를 참조하여 트랜잭션 단위로 변동 데이터를 확인하고 변동 데이터는 Kafka Source Connector를
통해 Kafka의 메시지로 저장한다.[10] DB 변동 데이터는 20,000건 또는 3초, 20MB의 조건 중 “OR”조건을 만족할 때 수집하도록 설정하였다. 이는 일방향장치의 성능에 맞게
구현한 것이고 환경에 따라 최적의 성능을 위해 다양하게 수정해 볼 수 있다.
그림 5. Debezium의 CDC구조
Fig. 5. Debezium CDC Architecture
4.3 메시지 수집 모듈
변경 데이터 추출 모듈에서 저장된 데이터를 수집하여 처리하기 쉬운 JSON 형식으로 변환한다. 메시지 수집 모듈이 저장하는 메시지에는 timestamp,
offset, Topic 등의 메타데이터가 저장되어 데이터의 추적성을 높인다. 모듈은 데이터의 순서 보장을 위해 단일 Topic으로 메시지를 발행하도록
설계되어 있다. Topic명은 사용자가 직접 설정할 수 있으며 모듈은 해당 Topic명 아래에 순차적으로 데이터를 저장한다.
key에는 변동 데이터의 DB 테이블 내 PK인 데이터의 구조와 값을 나타내고, value의 경우 데이터의 모든 레코드 데이터 구조와 값을 지니고
있다. Kafka는 key 값을 기준으로 파티션을 나누며, 동일 파티션 내에서 데이터의 순서를 보장하기 때문에 정합성을 보장한다. 메시지의 데이터
구성을 시각화하면 아래 그림 6과 같다.
그림 6. 메시지 수집 모듈이 생성한 데이터 구성
Fig. 6. Data Composition Generated by Message Collection Module
테이블별로 Topic이 생성되면 데이터 관리가 쉬울 수 있으나 Kafka는 Topic이 여러 개면 데이터 순서 보장이 불가능하다.[9] 이는 외래키가 지정되어 있는 경우 데이터 변동의 순서가 달라질 때 참조 오류와 같은 에러가 발생하기 때문에, 데이터를 단일 Topic으로 저장하도록
설계하였다.
4.4 데이터 가공 및 전송 모듈
Kafka Consumer를 활용하여 메시지 큐로부터 메시지를 추출한다. 이 과정에서 데이터 건별 전송 및 수신 측에서의 전체 데이터 수신 여부 판단을
위해 UID, Total Count, Sequence 등의 Header 정보를 추가 생성하며 데이터는 TAB 문자로 구분된다. 추출된 메시지는 이
고유 식별자와 순서 정보를 포함하여 TCP 기반의 패킷으로 구성(패킷화)되며, 이 패킷화된 데이터는 일방향장치를 통해 목적지 망으로 전송된다. 모듈의
동작 및 통계 데이터는 로컬 DB에 저장되며, 에러 발생 시 로그를 저장하고 관리자에게 알림으로써 시스템의 안정적인 운영을 지원한다.
그림 7. 실제 전송되는 Raw Data 예시
Fig. 7. Example of Actual Transmitted Raw Data
전송모듈은 그림 7과 같은 Raw Data를 일방향장치와 연계하기 위해 TCP 기반의 Client 형태로 동작한다. 일방향 장치의 IP 및 PORT를 사전에 약속하여
지정하고 일방향장치의 가이드라인에 따라 TCP 접속, TCP 데이터 전송, TCP 접속 해제를 반복하며 데이터를 한 건씩 송신한다.
4.5 데이터 처리 통계 및 전체 프로세스
송신부 중계서버의 전체 데이터 흐름을 정리하면, 변경 데이터 추출 모듈이 원본 DB의 변동 여부를 실시간으로 확인한다. 데이터 변동분이 존재할 시에
메시지 수집 모듈은 기존의 Topic 설정이 아닌 단일 Topic으로 변경하여 메시지를 저장한다. Topic을 구독하는 데이터 가공 및 전송 모듈은
Header 정보를 추가하여 일방향장치에 데이터를 전송하며 데이터 처리 흐름도는 그림 8과 같다.
수집한 데이터를 가공하여 일방향장치로 전송이 완료된 건에 대하여 내부 DB의 통계 테이블을 사용해 현재까지 처리가 완료된 데이터에 대해 통계 데이터를
저장한다. 통계 데이터에는 처리한 시간, 처리한 건수, 처리한 데이터 백업 파일 등의 정보를 저장하며 해당 정보를 통해 현재까지 몇 건의 데이터를
수집 및 전송하였는지 확인할 수 있다.
Debezium Source Connector의 에러, 일방향장치와 연계 시 통신이 불가하여 발생하는 에러 등 발생한 모든 에러 정보 또한 별도의
통계 테이블에 저장하여 해당 정보를 통해 어떤 에러가 언제 발생하였는지 확인 할 수 있다.
그림 8. 송신부 중계서버 데이터 처리 흐름도
Fig. 8. Data Processing Flowchart of Transmitter Relay Server
5. 데이터 전송 수신부 중계서버
5.1 수신부 중계서버 설계
수신부는 일방향 장치를 통해 송신된 데이터를 수신하고, offset과 같은 순서 정보를 활용하여 정렬한 후 최종 데이터베이스에 동기화하는 역할을 한다.
일방향장치가 수신부 중계서버의 TCP Server에 접속하여 데이터를 전송하며 수신부는 빠른 데이터 수신을 위해 Thread Pool을 이용한다.
일방향장치는 송신부에서 전달하는 방법과 동일하게 데이터를 전달하기 때문에 데이터는 한 건씩 수신하게 된다.
송신부의 메시지 수집 모듈에서 단일 토픽 내 단일 파티션으로 메시지를 발행하기 때문에 데이터 처리 순서를 보장한다. 따라서 수신부가 데이터를 정상적으로
수신하였을 때는 데이터의 정합성을 보장하는 것이며, 데이터 수신에 발생하는 모듈별 에러 및 처리/이력 정보는 로컬 DB에 저장하고 관리자에게 알린다.
수신부는 크게 데이터 수신 및 검증 모듈, 메시지 수집 모듈, 데이터 동기화 및 저장 모듈로 구성되며 모듈 간 데이터 연계 흐름은 그림 9와 같다. 각 모듈의 세부 역할과 구성은 그림10과 같으며 모듈별 세부 설명은 아래와 같다.
그림 9. 수신부 모듈 연계 흐름
Fig. 9. Integration Flow of Receiver Module
그림 10. 수신부 중계서버 모듈 구성
Fig. 10. Configuration of Receiver Relay Server Module
5.2 데이터 수신 및 검증 모듈
이 모듈은 TCP 기반으로 수신된 데이터 패킷을 재조립한다. 송신부에서 부여한 Header 정보를 통해 수신한 데이터를 확인하고 같은 UID를 부여받은
데이터끼리 조립한 후, Total Count를 통해 전체 데이터 수신 완료를 확인하고, 데이터의 Sequence를 통해 데이터의 순서를 정렬한다.
패킷 손실 발생 시에는 에러 로그를 저장하고 관리자에게 알림을 제공하여 데이터 손실에 대한 대응을 가능하게 한다.
5.3 메시지 수집 모듈
데이터 수신 및 검증 모듈에서 처리된 수신 데이터를 Kafka Producer를 활용하여 Kaka에 저장한다. 실제 저장하는 데이터 예시는 그림 11과 같다. 이 모듈은 데이터 동기화 모듈에 에러가 발생할 때를 대비하여 별도의 메모리 공간에 데이터를 저장하는 기능을 포함하고 있어, 데이터 유실
방지에 기여한다.
그림 11. 수신 데이터 예시
Fig. 11. Example of Received Data
5.4 데이터 동기화 및 저장 모듈
데이터 동기화 및 저장 모듈은 Sink Connector를 활용하여 최종적으로 목적지 망의 데이터베이스에 데이터를 동기화하는 역할을 수행한다. 데이터의
순서 정합성을 위해 송신부에서 단일 Topic으로 데이터를 보내주었으므로, 수신부도 단일 Topic으로 데이터를 수신한 이후, 데이터 내에서 테이블
정보를 추출하도록 설계하였다.
그림 11의 데이터를 보면 Topic이 cdc.origin_db_group 이지만 해당 내용으로는 실제 동기화해야 하는 테이블 정보를 알 수 없다. 따라서
key/value 안에 존재하는 테이블 정보를 다시 Topic으로 설정하도록 하여 모든 테이블이 순서에 맞춰 적재되도록 한다. 해당 과정에서 에러가
발생할 경우에는 로그를 기록하여 문제 발생 이력을 관리한다.
5.5 데이터 수신 통계 및 전체 프로세스
수신이 완료된 건에 대하여 내부 DB의 통계 테이블을 사용해 현재까지 처리가 완료된 데이터에 대하여 통계 데이터를 저장한다. 통계 데이터는 현재까지
몇 건의 데이터를 처리 및 동기화하였는지를 저장한다. 송신부의 통계 데이터 테이블과 유사하지만, 제어 관련 설정 정보인 fot_setting_info의
경우 timestamp를 기준으로 처리 시점을 남기는 데이터가 필요로 하지 않기 때문에 삭제하였으며 리스트는 표1과 같다.
표 1. 송/수신부 모듈 처리/이력/통계 정보 저장 리스트
Table 1. Storage List of Processing in Receiver Module
|
테이블 명
|
테이블 정보
|
|
fot_setting_info
|
송신부 중계서버 제어 설정 정보
|
|
cdc_numbering_info
|
일자별 Sequence 정보
|
|
cdc_process_log
|
DB 변동분 처리 이력 정보
|
|
error_info
|
송/수신부 중계서버 에러 정보
|
|
cdc_keep_alive
|
송/수신부 중계서버 모듈 상태 정보
|
그림 12. 수신부 중계서버 데이터 처리 흐름도
Fig. 12. Data Processing Flowchart of Receiver Relay Server
데이터 수신 및 검증 모듈이 패킷 재조립을 통해 데이터 수신을 확인하면 데이터 수집 모듈이 데이터를 Kafka에 저장한다. 데이터 동기화 및 저장
모듈은 저장된 데이터를 읽고, 송신부에서 단일화한 Topic이 아닌, 데이터 내에서 원본 테이블 정보를 가지고 와 Topic으로 재 설정한다. Sink
Connector는 재 설정된 Topic을 활용하여 원본 테이블을 찾아 데이터를 적용함으로써 원본 DB와 동기화시키며 모든 데이터 처리 흐름도는 그림 12와 같다.
6. 현장 적용 결과 및 확대 가능성
본 논문에서는 통신망 분리 환경에서 실시간 데이터 전송 및 동기화를 위한 중계 서버 시스템을 제안하였다. ADMS 데이터 중, 34개의 테이블을 선정하여
하루 동안 현장 적용 1개 본부의 1일 치의 실시간 연계를 테스트해 보았을 때 표3과 같은 결과를 얻었다.
표 2. 실증 본부 1일 치 ADMS 데이터 동기화 결과
Table 2. One-Day ADMS Data Synchronization Results of Demonstration Headquarters
|
내용
|
결과
|
|
연계 테이블 수(개)
|
34
|
|
FRTU 수(대)
|
13,634
|
|
총 데이터 수(건)
|
74,961,455
|
|
총 데이터 용량(GB)
|
135
|
|
최대 지연시간(초)
|
1.6
|
연계 테이블은 단선도 TP 적용, 정전 관리, 신재생 발전 제어 등과 같은 배전망에서 필수로 하는 서비스들에 필요한 테이블들을 선별하였다. 데이터
건수는 1일 동안 74,961,455건으로 초당 약 875건의 데이터를 동기화하였다. 최대 지연시간은 원본 DB에 데이터가 삽입된 순간과 목적지망
DB에 데이터가 삽입된 순간을 기준으로 하였으며 최대 1.6초 정도의 지연이 발생하였다. 망분리 환경의 일방향장치 및 DPI는 페이로드 검사 및 전송률
제한으로 지연을 유발하며 이는 일방향 통신 체계의 고유 특성[5]이나 해당 지연시간은 ADMS 실시간 동기화 요구사항을 충분히 만족한다.
기존 파일 전송 기반 방식과 제안 기술의 현장 적용을 비교한 결과 기존 파일 dump 기반 방식은 1일 데이터 import 건수가 약 760만 건,
실시간 반영 불가능과 같은 결과를 보였다. 반면 제안 기술의 처리 데이터는 하루에 약 7,500만 건으로, 기존 방식 대비 약 10배 이상의 데이터양의
동기화를 확인하였으며 비교 내용은 아래 표와 같다.
표 3. 기존 방식과 제안 방식 비교표
Table 3. Comparison Table of Existing Method and Proposed Method
|
항목
|
기존 방식(dump)
|
제안 방식
|
|
누락률
|
일부 누락 발생
|
0%
|
|
최대 지연시간
|
1일
|
1.6초
|
|
1일 데이터 처리량
|
7,593,379건
|
74,961,455건
|
|
정합성 보장
|
update 반영 불가
|
100% 보장
|
|
장애 범위 및 대응
|
장애 시점 이후 전 테이블
|
테이블 별 발생 시 실시간 알람
|
본 연구에서는 1개 본부의 데이터를 대상으로 실증을 수행하였으나, 향후 전국 15개 본부 전체로 확장 적용할 계획이다. 이번 실증 본부의 경우 FRTU가
13,634대이며, 15개 전 본부 확대 시 154,918대로 데이터 규모가 약 10배 이상 증가할 것이다. 이는 현재 설치된 설비만으로는 구성이
어려울 것으로 보인다. 따라서 확대 가능성을 확인하고 최적의 HW 구성안을 추론하기 위해 현장 적용과 동일한 환경에서 본부를 늘리는 시뮬레이션을 진행하였으며
그 결과는 아래 표와 같다. 1번 시뮬레이션은 2개의 큰 본부 확대 결과, 2번 시뮬레이션은 3개의 작은 본부 확대 결과이다. 3번 시뮬레이션은 3개의
큰 본부 확대 결과이며 비교표는 아래 표4와 같다.
표 4. 시뮬레이션별 결과
Table 4. Results by Simulation
|
내용
|
Sim.1
|
Sim.2
|
Sim.3
|
|
본부 수
|
2
|
3
|
3
|
|
연계 테이블 수(개)
|
68
|
102
|
102
|
|
총 FRTU 수(대)
|
27,366
|
25,687
|
40,278
|
|
총 데이터 수(건)
|
131,680,025
|
95,710,983
|
181,914,717
|
|
총 데이터 용량(GB)
|
232
|
166
|
319
|
|
최대 지연시간(초)
|
12
|
15
|
4320
|
FRTU가 4만 대, 데이터 1.8억 건을 넘어가면서 데이터 동기화가 늦어지는 것을 확인할 수 있었다. 해당 데이터양 처리 시 송수신부 중계서버의
CPU 사용량은 약 8%, Memory 사용량은 약 50%로 병렬적으로 처리하는데 부하가 없었으나, 일방향장치에서 병목현상이 일어나는 것을 확인할
수 있었다.
7. 결 론
본 시스템은 망분리 환경에서 출발지망과 목적지망 간의 실시간 데이터 전송과 데이터 정합성 보장을 실현하였다. 이를 통해 실증 본부의 배전 정보를 1분
이내로 목적지망에 동기화하여 현장의 배전원뿐만 아니라 관리자가 동시에 모니터링할 수 있는 환경을 최초로 구현하였다.
또한 시뮬레이션을 통해 결과 현재 중계서버 기준 일방향장치 한 대당 약 FRTU 3만 대의 데이터를 동기화할 수 있음을 확인하였으며, 제안 시스템의
지연시간은 일방향장치의 전송 특성과 모듈 동작 과정에 결정됨을 검증했다. 다만 일방향장치에서의 병목현상은 성능 향상을 위해 추가적인 최적화 연구가
필요할 것으로 보인다.
향후 연구는 크게 세 가지로 제시할 수 있다. 첫째, 일방향장치 기능 최적화를 통한 전송지연을 최소화, 둘째, 신규 서비스 개발에 대응할 수 있도록
개폐기 상태 값, 선로 부하량 등 다양한 테이블과 데이터를 추가 연동하는 연구이다. 마지막은 전국 15개 본부 전체를 대상으로 실증하여 실제 ADMS
운영환경에서의 성능 및 안정성을 추가 검증하는 연구이다.
본 시스템의 전국 단위 확대 시 실제 운영환경에서의 데이터 동기화 안정성, 전송지연, 장애 복구 절차 등에 대한 정량적 검증을 추가로 진행할 것이다.
특히 본 논문에서 확인된 일방향장치 병목현상과 지연 특성을 개선하기 위해 전 본부 운영환경에 맞게 부하 분산 방안을 적용한다면, 향후 정전맵, 출력
제어 등 실시간 서비스 지원이 가능해지고, 배전 계통 운영의 효율성과 안정성을 더 향상할 수 있을 것으로 기대된다.
Acknowledgements
This work was supported by the Korea Electric Power Corporation Research Institute
under R&D Project R22DA09.
References
DongWook Kim, Youngbae Park, Cheolmin Chu, Sungho Jo, Inyong Seo, 2019, Design and
Verification of Advanced Distribution Management System using Information and Communication
Convergence Technology, KSDIM, Vol. 15, No. 4, pp. 019

DongWook Kim, Sungho Jo, Hojin Seo, Youngbae Park, 2019, Geographic Information System
for Developing Advanced Distribution Management System, KEPCO Journal on Electric
Power and Energy, Vol. 5, No. 2

Sungho Jo, DongWook Kim, Youngbae Park, JaeHun Shin, 2023, Development of Message
Based Data Middleware for Advanced Distribution Management System, pp. 426-428

Hyunchul Baek, TaeGeun Son, MinA Kim, JungNam Jun, 2022, Technology Trends of Network
Separation & Data Transmission System, Current Industrial and Technological Trends
in Aerospace, Vol. 20, No. 2, pp. 120-133

L. Gaina, C. S. Stangaciu, D. Stanescu, B. Gusita, M. V. Micea, 2024, Unidirectional
communications in secure IoT systems-A survey, Sensors, Vol. 24, No. 23, pp. 7528

youngJun Heo, BuSeon Jeon, BueongKu Kim, 2017, An implementation of the unidirectional
security gateway for multi service unidirectional data transfer, KICS, pp. 711-712

DongHan Sun, Junehyuk Jang, SooChan Hwang, JeongKu Lee, EunBi Ko, SukSik Jeong, 2023,
Data Stream Processing Model for Out-of-order Data, The Journal of KINGComputing,
Vol. 19, pp. 102-112

JinHo Shin, DongKyun Kim, 2023, Handling CDC-based data synchronizaion in unreliable
cellular areas, pp. 284-287

, Kafka

, Debezium

저자소개
2020년 한국기술교육대학교 컴퓨터 공학과 졸업
2020~현재 전력연구원 일반연구원
2025~현재 충남대학교 전파정보통신공학과 석사과정
E-mail :
jaehun.shin@kepco.co.kr
2015년 충남대학교 전기공학과 졸업
2020년 충남대학교 전기공학과 석사 졸업
2020~현재 전력연구원 선임연구원
E-mail :
sungho_jo@kepco.co.kr
2011년 전남대학교 전기공학과 졸업
2012~현재 한국전력공사 차장
E-mail :
yoojean.cho@kepco.co.kr
2010년 건국대학교 정보통신학과(공학박사)
2010~현재 전력연구원 책임연구원
E-mail :
kimdongwook@kepco.co.kr