KR101820521B1 - 실시간 읽기 방법 및 그 장치 - Google Patents

실시간 읽기 방법 및 그 장치 Download PDF

Info

Publication number
KR101820521B1
KR101820521B1 KR1020160081964A KR20160081964A KR101820521B1 KR 101820521 B1 KR101820521 B1 KR 101820521B1 KR 1020160081964 A KR1020160081964 A KR 1020160081964A KR 20160081964 A KR20160081964 A KR 20160081964A KR 101820521 B1 KR101820521 B1 KR 101820521B1
Authority
KR
South Korea
Prior art keywords
real
time
data
reading
line
Prior art date
Application number
KR1020160081964A
Other languages
English (en)
Other versions
KR20170096563A (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 주식회사 이롬테크놀로지
Publication of KR20170096563A publication Critical patent/KR20170096563A/ko
Application granted granted Critical
Publication of KR101820521B1 publication Critical patent/KR101820521B1/ko

Links

Images

Classifications

    • G06F17/30129
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/11File system administration, e.g. details of archiving or snapshots
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/21Design, administration or maintenance of databases
    • G06F17/3007
    • G06F17/30289

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

실시간 읽기 방법 및 그 장치가 개시된다.
본 방법은 실시간 읽기 장치가 복수의 데이터를 실시간으로 수집하는 실시간 수집 서버로부터 데이터를 실시간으로 읽기 위한 방법이다. 먼저, 실시간 읽기 장치는 상기 실시간 수집 서버로부터 데이터의 스트리밍 읽기가 가능한 원격 접속을 수행한다. 그 후, 상기 원격 접속 기반 하에 일정 시간 주기의 순환 구조를 사용하여 상기 실시간 수집 서버로부터 데이터의 실시간 읽기를 수행한다.

Description

실시간 읽기 방법 및 그 장치{METHOD FOR READING IN REALTIME AND APPARATUS THEREOF}
본 발명은 실시간 읽기 방법 및 그 장치에 관한 것이다.
최근 네트워크 기술의 발전으로 인해 다량의 장치, 예를 들어, 사용자 컴퓨터, 서버 등의 장치 간에 실시간 데이터 송수신이 가능해져 대량의 장치에서 발생되는 데이터, 예를 들어 로그 데이터를 실시간으로 수집하여 분석하는 것이 가능해졌다.
이러한 실시간 수집 분석의 경우 일반적으로 서버, 즉 데몬(daemon)에 해당하는 수집기가 각종 데이터를 수집하여 이벤트에 대한 분석을 수행하는 데 사용되는 데이터베이스에 저장하는 방식이다.
그런데, 종래 기술에 따른 실시간 수집 분석의 경우 이벤트 발생 부분으로부터 데이터를 수집하는 수집 장치와 분석하여 데이터베이스에 저장하는 분석 장치가 동기화되어 있어 분석 장치가 분석하는 동안 수집 장치가 이벤트 발생 부분으로 이벤트 데이터에 대한 완료 신호를 바로 보낼 수 없으므로, 분석 장치에서의 분석 지연이 수집 장치에서의 응답 속도에 영향을 주게 되어 결과적으로 수집 장치에 대한 부하로 영향을 미치게 된다.
또한, 분석 장치에서의 데이터베이스를 비롯한 각종의 장애 발생의 경우 그 결과가 수집 장치를 비롯한 이벤트 발생 부분에게도 영향을 미치게 되는 문제가 발생한다.
따라서, 이러한 문제를 해결하기 위한 기술적 해결수단이 요구된다.
본 발명이 이루고자 하는 기술적 과제는 실시간 수집 서버에서 실시간으로 기록되는 데이터를 SSH 원격 기반의 접속을 통해 라인 단위의 실시간 읽기를 수행함으로써 데이터의 읽기와 상관없이 실시간 수집 서버에서의 데이터 수신에 대한 응답을 사용자에게 전송할 수 있는 실시간 읽기 방법 및 그 장치를 제공한다.
본 발명의 한 특징에 따른 실시간 읽기 방법은,
실시간 읽기 장치가 복수의 데이터를 실시간으로 수집하는 실시간 수집 서버로부터 데이터를 실시간으로 읽기 위한 방법으로서, 상기 실시간 수집 서버로부터 데이터의 스트리밍 읽기가 가능한 원격 접속을 수행하는 단계; 및 상기 원격 접속 기반 하에 일정 시간 주기의 순환 구조를 사용하여 상기 실시간 수집 서버로부터 데이터의 실시간 읽기를 수행하는 단계를 포함한다.
여기서, 상기 실시간 수집 서버는 실시간으로 수집되는 복수의 데이터를 라인 단위의 플러쉬(flush)를 수행하여 내부의 로컬 디렉토리에 실시간으로 기록하고, 상기 실시간 읽기 장치는 상기 순환 구조를 사용하여 상기 로컬 디렉토리에 실시간으로 기록되는 데이터를 라인 단위의 스트리밍을 통해 실시간 읽기를 수행한다.
또한, 상기 원격 접속은 SSH(Secure SHell) 원격 접속이며, 상기 순환 구조는, 데이터 소스에 대해 정의되어 있으며, 상기 정의에 따라 상기 데이터 소스에 대한 탐지 동작을 수행하는 SSHInput; 상기 SSHInput에 의한 탐지 동작 결과 상기 데이터 소스의 현황에 따라 상기 데이터 소스 내부의 실제 데이터를 탐지하는 SSHAgent; 상기 SSHAgent의 탐지 결과에 따라 상기 데이터 소스로부터 실시간으로 데이터를 읽어 들이면서 데이터에 대한 처리를 수행하는 SftpSubAgent; 및 상기 SftpSubAgent에 의해 처리된 데이터들을 저장 포맷으로 변환하여 다음의 작업을 위해 전달하는 Output에 의해 수행된다.
또한, 상기 SSHAgent의 탐지 결과는 데이터를 수집할 파일의 개수를 포함하고, 상기 SSHAgent는 상기 탐지 결과에 따라 복수의 SftpSubAgent를 호출하여 대응되는 데이터 소스의 파일에 대해 할당한다.
또한, 상기 실시간 읽기를 수행하는 단계는, 상기 SftpSubAgent가 상기 실시간 수집 서버와 SSH 커넥션을 여는 단계; 상기 SftpSubAgent가 상기 실시간 수집 서버와 Sftp 채널을 여는 단계; 상기 SftpSubAgent가 스트리밍 리더(Streaming Reader)를 사용하여 상기 실시간 수집 서버로부터 파일 읽기를 수행하기 위해 읽을 라인이 있는지를 확인하는 단계; 읽을 라인이 있는 경우 상기 스트리밍 리더를 실시간 라인 단위의 파일 읽기를 수행하는 단계; 및 상기 Sftp 채널 및 상기 SSH 커넥션을 닫는 단계를 포함한다.
또한, 상기 읽을 라인이 있는지를 확인하는 단계에서, 읽을 라인이 없거나 읽을 라인이 완성되지 않은 것으로 확인되는 경우, 상기 스트리밍 리더가 널(null)을 반환하고, 상기 SftpSubAgent는 반환되는 널에 의해 현재까지 읽은 스트림의 위치를 SSH 커넥션에 기억하는 단계; 및 Sftp 채널을 닫는 단계를 수행한 후, 시간 조건을 확인하여 상기 시간 조건이 만족되지 않는 경우 기억되어 있는 스트림의 위치부터 시작하여 상기 Sftp 채널을 여는 단계를 수행한다.
또한, 상기 시간 조건을 확인하여 상기 시간 조건이 만족되는 경우에는 상기 Sftp 채널 및 상기 SSH 커넥션을 닫는 단계를 수행한다.
본 발명의 다른 특징에 따른 실시간 읽기 장치는,
통신부, 메모리 및 프로세서를 포함하며, 상기 통신부는 복수의 데이터를 실시간으로 수집하고 실시간으로 수집되는 복수의 데이터를 라인 단위의 플러쉬(flush)를 수행하여 내부의 로컬 디렉토리에 실시간으로 기록하는 실시간 수집 서버로부터 데이터의 스트리밍 읽기가 가능한 원격 접속을 수행하고, 상기 메모리는 상기 통신부가 상기 실시간 수집 서버와의 원격 접속을 수행하도록 하는 프로그램, 및 상기 원격 접속을 통해 상기 실시간 수집 서버의 로컬 디렉토리에 실시간으로 기록되는 파일에 대한 라인 단위의 실시간 읽기를 수행하도록 하는 프로그램을 저장하며, 상기 프로세서는 상기 메모리에 저장된 프로그램을 호출하여, 상기 통신부를 통해 상기 실시간 수집 서버와 원격 접속을 수행한 후, 일정 시간 주기의 순환 구조를 사용하여 상기 실시간 수집 서버의 로컬 디렉토리에 실시간으로 기록되는 데이터에 대한 실시간 읽기를 수행한다.
여기서, 상기 통신부는 SSH(Secure SHell) 원격 기반 접속을 수행하여 상기 실시간 서버에 원격 접속되며, 상기 프로세서는, 데이터 소스에 대해 정의되어 있으며, 상기 정의에 따라 상기 데이터 소스에 대한 탐지 동작을 수행하는 SSHInput; 상기 SSHInput에 의한 탐지 동작 결과 상기 데이터 소스의 현황에 따라 상기 데이터 소스 내부의 실제 데이터를 탐지하는 SSHAgent; 상기 SSHAgent의 탐지 결과에 따라 상기 데이터 소스로부터 실시간으로 데이터를 읽어 들이면서 데이터에 대한 처리를 수행하는 SftpSubAgent; 및 상기 SftpSubAgent에 의해 처리된 데이터들을 저장 포맷으로 변환하여 다음의 작업을 위해 전달하는 Output에 의해 수행되는 순환 구조를 사용하여 상기 실시간 수집 서버의 상기 로컬 디렉토리에 실시간으로 기록되는 데이터를 라인 단위의 스트리밍을 통해 실시간 읽기를 수행한다.
또한, 상기 프로세서는, 상기 통신부를 통해 상기 실시간 수집 서버와 SSH 커넥션과 Sftp 채널을 열어서 실시간 읽기를 수행하고, 스트리밍 리더를 사용하여 상기 로컬 디렉토리의 데이터를 라인 단위의 스트림으로 읽으며, 상기 로컬 디렉토리에 기록되어 있는 데이터의 읽기가 완료되는 경우 상기 SSH 커넥션과 상기 Sftp 채널을 닫는다.
또한, 상기 프로세서는, 상기 스트리밍 리더를 사용하여 상기 실시간 수집 서버로부터 파일 읽기를 수행하는 경우, 해당 파일에 읽을 라인이 없거나 읽을 라인이 완성되지 않은 것으로 판단되면, 널(null)을 반환하고, 현재까지 읽은 스트림의 위치를 상기 SSH 커넥션에 기억하며, 시간 조건을 확인하여 상기 시간 조건이 만족되지 않는 경우 기억되어 있는 스트림의 위치부터 라인 단위의 파일 읽기를 다시 수행한다.
또한, 상기 프로세서는, 미리 설정되어 있는 시간 조건이 만족되는 경우 상기 SSH 커넥션과 상기 Sftp 채널을 닫아서 데이터의 실시간 읽기를 완료한다.
본 발명의 또 다른 특징에 따른 기록 매체는,
실시간 읽기 장치가 복수의 데이터를 실시간으로 수집하는 실시간 수집 서버로부터 데이터를 실시간으로 읽기 위한 방법을 수행하는 프로그램을 저장하는 컴퓨터 판독 가능 기록 매체로서, 상기 실시간 수집 서버로부터 데이터의 스트리밍 읽기가 가능한 원격 접속을 수행하는 기능; 및 상기 원격 접속 기반 하에 일정 시간 주기의 순환 구조를 사용하여 상기 실시간 수집 서버로부터 데이터의 실시간 읽기를 수행하는 기능을 포함하는 프로그램을 저장한다.
본 발명에 따르면, 실시간 수집 서버에서 실시간으로 기록되는 데이터를 SSH 원격 기반의 접속을 통해 라인 단위의 실시간 읽기를 수행함으로써 데이터의 읽기와 상관없이 실시간 수집 서버에서의 데이터 수신에 대한 응답을 사용자에게 전송할 수 있다.
이로 인해, 데이터의 실시간 읽기를 수행하는 서버와 실시간 수집 서버가 비동기화되어 사용자에 대한 응답이 지체되지 않고 실시간 응답이 가능해진다.
또한, 실시간 읽기를 수행하는 대상인 로컬 디렉토리가 위치하는 실시간 수집 서버에 에이전트 설치 및 운영 등의 별도 업무가 필요 없는 에이전트리스(Agentless) 방식으로 구현됨으로써, 실시간 수집 서버에 일시적인 부하를 주지 않고 부하를 고르고 미미하게 분산시켜 줌으로서 실시간 수집 서버에 주는 영향을 최소화할 수 있다.
도 1은 일반적인 실시간 수집 분석 시스템을 개략적으로 도시한 도면이다.
도 2는 본 발명의 실시예에 따른 실시간 읽기 방법이 적용되는 실시간 수집 분석 시스템을 개략적으로 도시한 도면이다.
도 3은 도 1에 도시된 실시간 수집 분석 시스템의 일 예를 도시한 도면이다.
도 4는 본 발명의 실시예에 따른 로더의 실시간 읽기를 위한 기본 순환 구조를 개략적으로 도시한 도면이다.
도 5는 본 발명의 실시예에 따른 실시간 읽기 방법의 흐름도이다.
도 6은 본 발명의 실시예에 따른 실시간 읽기 장치의 구성을 도시한 도면이다.
아래에서는 첨부한 도면을 참고로 하여 본 발명의 실시예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
명세서 전체에서, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다. 또한, 명세서에 기재된 "…부", "…기", "모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어나 소프트웨어 또는 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다.
먼저, 도 1을 참조하여 일반적인 실시간 수집 분석 기술에 대해 설명한다.
도 1은 일반적인 실시간 수집 분석 시스템을 개략적으로 도시한 도면이다.
도 1을 참조하면, 실시간 수집 서버(10)의 데몬(11)이 사용자로부터의 이벤트에 대한 데이터를 전달하는 요청(request)을 수신한다(S1). 그 후, 데몬(11)은 수신된 데이터의 분석을 위해 분석 서버(20)로 전달하고(S2), 분석 서버(20)는 실시간 수집 서버(10)로부터 전달되는 데이터에 대한 분석을 수행한다(S3). 분석 서버(20)에서의 분석이 완료되어 그 결과가 로컬 데이터베이스(DB)(21)에 저장되는 동시에 분석 완료 응답이 실시간 수집 서버(10)의 데몬(11)에게 전달되면, 그 때서야 실시간 수집 서버(10)의 데몬(11)이 상기 단계(S1)에서의 데이터 수신에 대한 응답을 사용자에게 전송(response)하게 된다(S5).
이와 같이, 일반적인 실시간 수집 분석 기술에 따르면, 실시간 수집 서버(10)에서의 이벤트 데이터 수신과 분석 서버(20)에서의 분석 및 분석 결과 저장이 동기화되어 있어 분석 서버(20)에서 분석을 수행하는 동안 실시간 수집 서버(10)가 응답을 사용자에게 전송할 수 없다.
따라서, 분석 서버(20)에서의 분석 지연이 발생하는 경우 이러한 지연이 실시간 수집 서버(10)에서 사용자에게 응답을 전송하는 응답 속도에 영향을 주게 되어 시스템 전체의 부하로 작용하게 되며, 또한 분석 서버(20)에서의 분석 중에 발생하는 장애로 인해 실시간 수집 서버(10)에서의 응답 전송에 문제를 야기할 수 있다.
이하, 상기한 일반적인 실시간 수집 분석 기술에서의 문제를 해결하기 위한 본 발명의 실시예에 대해 설명한다.
도 2는 본 발명의 실시예에 따른 실시간 읽기 방법이 적용되는 실시간 수집 분석 시스템을 개략적으로 도시한 도면이다.
도 2를 참조하면, 본 발명의 실시예에 따른 실시간 수집 분석 시스템(30)에서, 실시간 수집 서버(100)의 데몬(101)이 사용자로부터의 이벤트에 대한 데이터를 전달하는 요청(request)을 수신한다(S10). 그 후, 데몬(101)은 로컬 디렉토리(103)에 실시간 쓰기를 수행하여 수신된 데이터를 실시간으로 저장하게 된다(S20). 예를 들어 데몬(101)은 수신된 데이터를 라인 단위 플러쉬(flush)를 수행하여 로컬 디렉토리(103)에 실시간으로 쓸 수가 있다. 이 때, 데몬(101)에 의해 수집되는 데이터를 로컬 디렉토리(103)에 실시간 쓰기를 수행하는 주체가 데몬(101)이 아니고 다른 장치, 예를 들어 로거(logger)일 수도 있다.
한편, 데몬(101) 또는 로거는 로컬 디렉토리(103)에 대한 데이터의 실시간 쓰기가 완료되면 상기 단계(S10)에서의 데이터 수신에 대한 응답을 사용자에게 전송(response)할 수 있다(S30).
다음, 분석 서버(200)에서는 로더(loader)(201)가 SSH(secure shell) 기반 원격 접속을 통한 실시간 읽기를 수행하여 실시간 수집 서버(100)의 로컬 디렉토리(103)에 실시간 쓰기가 수행되는 데이터를 실시간으로 읽어 온다(S40). 예를 들어, 로더(201)는 SSH 원격 접속 기반의 순환 구조를 통한 라인 단위의 스트리밍 처리를 통해 실시간 데이터 읽기를 수행할 수 있다. 로더(201)가 수행하는 SSH 원격 접속 기반의 순환 구조를 통한 실시간 읽기 방법에 대해서는 추후 구체적으로 설명한다.
그 후, 분석 모듈(203)은 로더(201)에 의해 실시간으로 읽어지는 데이터를 수신하여(S50), 수신되는 데이터에 대한 분석을 수행하여 로컬 데이터베이스(DB)(205)에 저장한다(S60).
이와 같이, 본 발명의 실시예에 따른 실시간 수집 분석 시스템(30)에서는 분석 서버(200)가 SSH 원격 기반의 실시간 읽기 방법을 사용함으로써 실시간 수집 서버(100)가 로컬 디렉토리(103)에 데이터의 실시간 쓰기를 완료한 후 분석 서버(200)에서의 분석 과정과 상관없이 바로 데이터 수신에 대한 응답을 전송할 수 있으므로, 실시간 수집 서버(100)와 분석 서버(200)가 비동기화되어 종래와 같은 문제가 발생하지 않게 된다.
도 3은 도 1에 도시된 실시간 수집 분석 시스템의 일 예를 도시한 도면이다.
도 3에 도시된 실시간 수집 분석 시스템(40)은 웹 사용자 데이터 수집 플랫폼을 예로 든 것으로, 자바 스크립트(JavaScript)를 이용한 HTTP 로그를 실시간으로 수집하여 분석하는 시스템에 관한 것이며, 실시간 수집 서버인 HTTP 수집 서버(410), 실시간 수집 적재 서버(420) 및 분석 서버(430)를 포함한다.
HTTP 수집 서버(410)는 데몬 서버(411), 로거(412) 및 로컬 디렉토리(413)를 포함한다.
데몬 서버(411)는 도 1에서 설명한 데몬(101)에 대응되며, 웹 사용자들이 브라우저(440)를 통해 웹 페이지를 호출할 때 웹 페이지에 포함된 자바 스크립트를 통하여 사용자의 HTTP 로그를 수집하고, 로거(412)는 데몬 서버(411)에 의해 수집되는 HTTP 로그에 대해 로컬 디렉토리(413)에 실시간 쓰기를 통해 수행한다. 이 때, HTTP 로그의 실시간 쓰기를 수행하는 로거(412)는 버퍼를 사용하지 않고 라인 단위의 플러쉬를 수행하여 HTTP 로그를 로컬 디렉토리(413)에 저장하는 로거이다.
그 후, 데몬 서버(411)가 데이터 수신에 대한 응답을 사용자에게 전송(response)하는 과정은 상기한 바와 같다.
다음, 실시간 수집 적재 서버(420)는 로더(421)와 로컬 백업(422)를 포함한다.
로더(421)는 도 1에서의 로더(201)에 대응되며, SSH 원격(remote) 접속 기반의 순환 구조를 통한 실시간 읽기를 수행하는 스트리밍 리더(streaming reader)를 통해서 HTTP 수집 서버(410)의 로컬 디렉토리(413)로부터 라인 단위의 스트리밍 처리를 통해 실시간 읽기를 수행한다. 이 때, HTTP 수집 서버(410)에서 로거(412)와 로컬 디렉토리(413)는 각각 둘 이상일 수 있으며 로거(412)와 로컬 디렉토리(413)가 상호 대응되는 개수로 적용되어 둘 이상의 로거(412)가 대응되는 로컬 디렉토리(413)에 각각 HTTP 로그의 실시간 쓰기를 수행한다.
따라서, 로더(421)는 HTTP 수집 서버(412)의 로컬 디렉토리(413)의 개수와 로컬 디렉토리(413)에 실시간 쓰기가 수행된 파일 현황을 파악하여 각 로컬 디렉토리(413)로부터 실시간 읽기를 수행한다.
로더(421)의 스트리밍 리더를 통해서 실시간 읽어지는 HTTP 로그는 로컬 백업(422)에 저장되는 동시에 분석을 위해 분석 서버(430)로 전달된다.
분석 서버(430)는 실시간 수집 적재 서버(420)로부터 전달되는 HTTP 로그에 대한 분석을 수행한다. 이러한 분석 서버(430)는 예를 들어, 하둡 파일 시스템(HDFS)을 통해 실시간 수집 적재 서버(420)에 접속될 수 있다. 이러한 하둡 파일 시스템에 대해서는 이미 잘 알려져 있으므로 여기에서는 설명을 생략한다.
이하, 상기한 로더(201, 421)가 실시간 수집 서버(100, 410)의 로컬 디렉토리(103, 413)로부터 데이터의 실시간 읽기를 수행하는 SSH 원격 접속 기반의 순환 구조에 대해 설명한다.
도 4는 본 발명의 실시예에 따른 로더의 실시간 읽기를 위한 기본 순환 구조를 개략적으로 도시한 도면이다.
도 4를 참조하면, 본 발명의 실시예에 따른 로더(421)는 SSH 원격 접속 기반의 순환 구조를 사용한다. 즉, 로더(421)는 주기를 갖는 순환 구조로 동작한다.
일반적으로 수집되는 데이터나 HTTP 로그들은 1분, 5분, 10분 등의 주기를 가지고 상태가 변하는 경우가 많다. 이를 응용해서 로더(421)는 일정 시간 단위의 순환 구조로 동작하고, 순환 구조 내에서 해야될 일이 정해져 있도록 한다.
또한, 본 발명의 실시예에 따른 로더(421)의 기본 순환 구조에서는 도 4에 도시된 바와 같이, 기본적으로, 4단계의 구조를 사용한다.
본 발명의 실시예에 따른 순환 구조에서의 4단계는, 입력 단계인 SSHInput(4211), 에이전트 단계인 SSHAgent(4212), 서브에이전트 단계인 SftpSubAgent(4213) 및 출력 단계인 OrcOutput(4214)로 구성된다.
상기한 순환 구조는 로더(421)의 메인 스케줄러(main scheduler)에 의해 관리되며, 체크포인트(checkpoint)(4210)에 시작되며 쉘 명령에 의해 원격지의 실시간 수집 서버(410)의 로컬 디렉토리(413)에 있는 설정 파일을 읽어들이는 순환 구조의 SSHInput(4211)부터 수행한다.
그리고, 출력 단계인 OrcOutput(4214) 후의 체크포인트(4210)에서 쉘 명령인 멈춤 명령에 의해 순환 구조의 수행을 종료하게 된다.
한편, 분석 서버(430)에서의 장애로 인해 순환 구조의 비정상 종료가 발생하는 경우 순환 구조를 다시 시작할 때 체크포인트(4210)에서 시작 명령을 통해 복구 및 연속적인 업무를 재시작할 수 있도록 구성된다.
또한, 상기한 순환 구조에는 출력 단계인 OrcOutput(4214) 후에, 하이브 메타스토어 반영, 일별 병합 작업 등을 수행하는 포스트 훅킹(PostHooking)(4215) 단계가 추가될 수 있다. 이러한 포스트 훅킹에 대해서는 이미 잘 알려져 있으므로 여기에서는 구체적인 설명을 생략한다.
이하, 본 발명의 실시예에 따른 로더(421)의 순환 구조에서의 4단계 구성에 대해 구체적으로 설명한다.
먼저, 입력 단계인 SSHInput(4211)에서는 소스에 대한 정의 및 탐지 동작을 수행한다. 여기서, 소스에 대한 정의는 실시간 수집 서버(410)의 로컬 디렉토리(413)에 실시간 쓰기가 수행되는 데이터를 실시간으로 읽기 위한 정보를 정의하는 것이고, 탐지 동작은 소스에 대한 정의를 사용하여 소스에서의 데이터 쓰기를 탐지하는 것을 의미한다.
그 후, SSHInput(4211)는 소스 현황에 따라 에이전트 단계인 SSHAgent(4212)를 호출한다. 즉, SSHInput(4211)는 소스의 탐지 동작을 통해 데이터 쓰기가 탐지되는 경우 이를 실시간으로 읽기 위한 SSHAgent(4212)를 호출하여 SSHAgent(4212)가 수행될 수 있도록 한다. 이 때, 소스 현황에 따라 복수의 에이전트를 호출할 수 있다. 즉, 소스 측인 로컬 디렉토리(413)의 디렉토리 개수, 대상 서버 개수 등에 따라서 이를 처리할 수 있도록 대응되는 개수의 에이전트를 호출하는 것이다.
다음, SSHAgent(4212)에서는 SSHInput(4211)에서 호출된 적어도 하나의 에이전트가 데이터의 실시간 읽기 동작을 수행한다.
이러한 SSHAgent(4212)에서는 각 에이전트가 소스 내부의 실제 데이터를 탐지한다. 예를 들면, 소스 내부의 디렉토리 내에 발생된 로그 파일 등의 개수나 복수의 대상 서버 내에서 각각 발생된 파일들의 개수 등을 탐지한다.
그 후, SSHAgent(4212)는 실제 데이터 현황에 따라서 대응되는 서브에이전트를 할당한다. 예를 들어, 소스 측의 디렉토리 내부의 파일 개수에 대응되는 서브에이전트를 할당하거나, 또는 대상 서버의 파일 개수에 대응되는 서브에이전트를 할당한다.
다음, 서브에이전트 단계인 SftpSubAgent(4213)에서는 SSHAgent(4212)에서 할당된 적어도 하나의 서브에이전트가 데이터의 실시간 읽기 동작을 수행한다.
이러한 SftpSubAgent(4213)에서는 각 서브에이전트가 대응되는 소스 측의 파일을 통해 데이터를 실시간으로 읽어들이면서 데이터에 대한 검사, 변환, 파티셔닝 등을 수행한다. 이 때, 깨진 데이터가 존재하는 경우 이에 대한 처리를 수행하는 등 데이터에 대한 실질적인 수집을 위한 처리를 수행하는 것이 서브에이전트이다.
그 후, 각 서브에이전트는 수집되는 데이터들에 대해 시간 또는 특성에 따른 파티셔닝 결과에 따라서 출력 단계인 OrcOuptput(4214)을 호출한다.
다음, OrcOutput(4214)에서는 SftpSubAgent(4213)에서 각 서브에이전트에 의해 실시간 읽기가 수행된 데이터를 압축한 후 최종 저장 포맷으로 로컬 백업(422)에 저장하는 동시에 분석을 위해 분석 서버(430)로 전송한다. 이 때, 데이터를 수신하는 장치, 즉 로컬 백업(422)과 분석 서버(430)의 조건에 따라서, 압축 동작이 요구되지 않을 수도 있다. 예를 들어, 하둡 분산 파일 시스템 기반의 분석 서버(430)의 경우에는 HDFS 파일로의 압축 저장이 요구된다.
그리고, 각 서브에이전트는 저장 결과에 대한 정합성을 확인한다. 예를 들어, RDBMS의 경우 테이블의 데이터 입력 등을 수행한다.
이와 같이, 본 발명의 실시예에서는 실시간 수집 서버(410)가 수집되는 데이터를 실시간으로 쓰기만 하고, 분석 서버(430)에 데이터를 제공하는 실시간 수집 적재 서버(420)의 로더(421)가 SSH 원격 접속 기반의 순환 구조, 특히 4간계의 구조를 사용하여 실시간 읽기를 수행함으로써, 분석 서버(430)에서의 분석 지체나 장애가 실시간 수집 서버(410)에 영향을 미치지 않아 수집 데이터에 대한 응답의 지체가 발생하지 않고 실시간 응답이 가능해진다.
이하, 상기한 순환 구조에서 SSH를 이용한 실시간 읽기 기술에 대해 상세하게 설명한다. 여기에서의 실시간 읽기 기술은 상기한 4단계 구조의 SSHInput(4211), SSHAgent(4212) 및 SftpSubAgent(4213)에 의해 수행되며, 실질적인 실시간 읽기는 SftpSubAgent(4213)에서 이루어진다.
도 5는 본 발명의 실시예에 따른 실시간 읽기 방법의 흐름도이다.
도 5를 참조하여 설명하는 본 발명의 실시예에 따른 실시간 읽기 방법은 상기에서 도 4에서 설명한 4단계 순환 구조에서 SSHInput(4211), SSHAgent(4212) 및 StftSubAgent(4213)에 의해 수행된다.
먼저, 실시간 수집 서버(410)의 로거(412)는 버퍼를 사용하지 않고 라인 단위의 플러쉬를 수행하여 로컬 디렉토리(413)에 실시간 데이터를 기록한다(S100).
이와 같이, 로컬 디렉토리(413)에 실시간 데이터 기록이 수행되면, SSHInptu(4211)은 로컬 디렉토리(413)에서 읽어들일 대상에 따라 SSHAgent(4212)를 할당한다(S110).
할당되는 SSHAgent(4212)는 읽어들일 대상으로 확인된 파일 개수에 따라 SftpSubAgent(4213)를 할당한다(S120).
그 후 할당되는 SftpSubAgent(4213)는 로컬 디렉토리(413)과 SSH 커넥션(Connection)을 열고(S130) Sftp 채널을 연 후(S140) 스트리밍 리더(Streaming Reader)를 사용하여 파일 읽기를 수행하기 위해 읽을 라인이 있는지를 확인한다(S150).
만약 읽을 라인이 있으면 읽을 라인이 없을 때까지 스트리밍 리더를 사용하여 파일 읽기를 계속 수행한다(S160). 이 때, 스트리밍 리더는 라인을 읽을 때 컬럼 구분, 시간 파싱 등을 동시에 수행한다.
한편, 상기 단계(S150)에서 읽을 라인이 없거나 또는 읽을 라인이 완성되지 않은 경우, 스트리밍 리더는 파일 읽기를 수행하지 않고 무조건 널(null)을 반환한다(S170). 이러한 동작은 일반적인 리더의 동작과 다르게 수행되는 부분으로 이해될 것이다.
이와 같이, 파일 읽기가 수행되지 않고 널이 반환되면 StfpSubAgent(4213)는 현재까지 읽은 스트림의 위치를 SSH 커넥션에 기억시키고(S180), 오픈되어 있는 Sftp 채널을 닫는다(S190).
그 후, SftpSubAgent(4213)는 시간 조건이 종결 조건을 만족하는지를 확인하고(S200), 만약 시간 조건이 종결 조건을 만족하지 않는 경우 현재 열려 있는 SSH 커넥션에 기억되어 있는 읽은 스트림의 위치부터 Sftp 채널을 열어서 스트리밍 리더를 통해서 라인을 읽는 과정을 수행하는 상기 단계(S140, S150, S160)를 수행하여 로컬 디렉토리(413)에 실시간으로 기록되는 라인 단위의 파일 실시간 읽기를 수행한다.
한편, 상기 단계(S200)에서 시간 조건이 만족되는 경우에는 열려 있던 Sftp 채널과 SSH 커넥션을 닫고 본 발명의 실시예에 따른 실시간 읽기 동작을 종료한다(S210).
이와 같이, 본 발명의 실시예에서는 실시간 읽기를 수행하는 대상인 로컬 디렉토리(413)가 위치하는 대상 서버, 즉 실시간 수집 서버(410)에 에이전트 설치 및 운영 등의 별도 업무가 필요 없는 에이전트리스(Agentless) 방식으로 구현된다. 따라서, 본 발명의 실시예에 따르면 실시간 수집 서버(410)에 일시적인 부하를 주지 않고 부하를 고르고 미미하게 분산시켜 줌으로서 실시간 수집 서버(410)에 주는 영향을 최소화할 수 있다.
도 6은 본 발명의 실시예에 따른 실시간 읽기 장치의 구성을 도시한 도면이다.
도 6을 참조하면, 본 발명의 실시예에 따른 실시간 읽기 장치(600)는 통신부(610), 메모리(620) 및 프로세서(630)를 포함한다.
통신부(610)는 본 발명의 실시예에 따른 실시간 읽기의 대상 서버인 실시간 수집 서버(410)와 SSH 원격 기반의 접속을 수행한다.
메모리(620)는 통신부(610)가 실시간 수집 서버(410)와의 SSH 원격 기반의 접속을 수행하기 위한 프로그램, SSH 원격 기반의 접속을 통해 실시간 수집 서버(410)의 로컬 디렉토리(413)에 실시간으로 기록되는 파일에 대한 라인 단위의 실시간 읽기를 수행하기 위한 프로그램 등을 저장한다.
프로세서(630)는 메모리(620)에 저장된 프로그램을 호출하여, 도 4 내지 도 5를 참조하여 설명한 바와 같은 본 발명의 실시예에서 제안한 절차 및/또는 방법들을 구현하도록 구성될 수 있다. 즉, 프로세서(630)는 통신부(610)를 통해 실시간 수집 서버(410)와 SSH 원격 기반의 접속을 수행하여 실시간 수집 서버(410)의 로컬 디렉토리(413)에 실시간으로 기록되는 데이터에 대한 실시간 읽기를 수행하여 실시간으로 스트리밍 데이터를 읽어오는 작업을 수행한다
이러한 프로세서(630)는 컨트롤러(controller), 마이크로 컨트롤러(microcontroller), 마이크로 프로세서(microprocessor), 마이크로 컴퓨터(microcomputer) 등으로도 호칭될 수 있다. 또한, 프로세서(630)는 하드웨어(hardware) 또는 펌웨어(firmware), 소프트웨어, 또는 이들의 결합에 의해 구현될 수 있다.
프로세서(630)는 통신부(610)가 도 4 및 도 5에서 설명한 4 단계의 순환 구조를 이용한 실시간 읽기를 수행하도록 제어한다.
여기서, 통신부(610)는 프로세서(630)의 제어에 따라서 실시간 읽기 대상의 데이터가 실시간으로 기록되는 실시간 수집 서버(410)와 SSH 원격 기반의 접속을 수행한다.
이상에서 설명한 본 발명의 실시예는 장치 및 방법을 통해서만 구현이 되는 것은 아니며, 본 발명의 실시예의 구성에 대응하는 기능을 실현하는 프로그램 또는 그 프로그램이 기록된 기록 매체를 통해 구현될 수도 있다.
이상에서 본 발명의 실시예에 대하여 상세하게 설명하였지만 본 발명의 권리범위는 이에 한정되는 것은 아니고 다음의 청구범위에서 정의하고 있는 본 발명의 기본 개념을 이용한 당업자의 여러 변형 및 개량 형태 또한 본 발명의 권리범위에 속하는 것이다.

Claims (13)

  1. 실시간 읽기 장치가 복수의 데이터를 실시간으로 수집하는 실시간 수집 서버로부터 데이터를 실시간으로 읽기 위한 방법에 있어서,
    상기 실시간 수집 서버로부터 데이터의 스트리밍 읽기가 가능한 원격 접속을 수행하는 단계; 및
    상기 원격 접속 기반 하에 일정 시간 주기의 순환 구조를 사용하여 상기 실시간 수집 서버로부터 데이터의 실시간 읽기를 수행하는 단계
    를 포함하며,
    상기 실시간 수집 서버는 실시간으로 수집되는 복수의 데이터를 라인 단위의 플러쉬(flush)를 수행하여 내부의 로컬 디렉토리에 실시간으로 기록하고,
    상기 실시간 읽기 장치는 상기 순환 구조를 사용하여 상기 로컬 디렉토리에 실시간으로 기록되는 데이터를 라인 단위의 스트리밍을 통해 실시간 읽기를 수행하는,
    실시간 읽기 방법.
  2. 삭제
  3. 제1항에 있어서,
    상기 원격 접속은 SSH(Secure SHell) 원격 접속이며,
    상기 순환 구조는,
    데이터 소스에 대해 정의되어 있으며, 상기 정의에 따라 상기 데이터 소스에 대한 탐지 동작을 수행하는 SSHInput;
    상기 SSHInput에 의한 탐지 동작 결과 상기 데이터 소스의 현황에 따라 상기 데이터 소스 내부의 실제 데이터를 탐지하는 SSHAgent;
    상기 SSHAgent의 탐지 결과에 따라 상기 데이터 소스로부터 실시간으로 데이터를 읽어 들이면서 데이터에 대한 처리를 수행하는 SftpSubAgent; 및
    상기 SftpSubAgent에 의해 처리된 데이터들을 저장 포맷으로 변환하여 다음의 작업을 위해 전달하는 Output
    에 의해 수행되는, 실시간 읽기 방법.
  4. 제3항에 있어서,
    상기 SSHAgent의 탐지 결과는 데이터를 수집할 파일의 개수를 포함하고,
    상기 SSHAgent는 상기 탐지 결과에 따라 복수의 SftpSubAgent를 호출하여 대응되는 데이터 소스의 파일에 대해 할당하는,
    실시간 읽기 방법.
  5. 제4항에 있어서,
    상기 실시간 읽기를 수행하는 단계는,
    상기 SftpSubAgent가 상기 실시간 수집 서버와 SSH 커넥션을 여는 단계;
    상기 SftpSubAgent가 상기 실시간 수집 서버와 Sftp 채널을 여는 단계;
    상기 SftpSubAgent가 스트리밍 리더(Streaming Reader)를 사용하여 상기 실시간 수집 서버로부터 파일 읽기를 수행하기 위해 읽을 라인이 있는지를 확인하는 단계; 및
    읽을 라인이 있는 경우 상기 스트리밍 리더를 실시간 라인 단위의 파일 읽기를 수행하는 단계
    를 포함하는 실시간 읽기 방법.
  6. 제5항에 있어서,
    상기 읽을 라인이 있는지를 확인하는 단계에서, 읽을 라인이 없거나 읽을 라인이 완성되지 않은 것으로 확인되는 경우,
    상기 스트리밍 리더가 널(null)을 반환하고, 상기 SftpSubAgent는 반환되는 널에 의해 현재까지 읽은 스트림의 위치를 SSH 커넥션에 기억하는 단계; 및
    Sftp 채널을 닫는 단계
    를 수행한 후,
    시간 조건을 확인하여 상기 시간 조건이 만족되지 않는 경우 기억되어 있는 스트림의 위치부터 시작하여 상기 Sftp 채널을 여는 단계를 수행하는,
    실시간 읽기 방법.
  7. 제6항에 있어서,
    상기 시간 조건을 확인하여 상기 시간 조건이 만족되는 경우에는 상기 Sftp 채널 및 상기 SSH 커넥션을 닫는 단계를 수행하는,
    실시간 읽기 방법.
  8. 실시간 읽기 장치에 있어서,
    통신부, 메모리 및 프로세서를 포함하며,
    상기 통신부는 복수의 데이터를 실시간으로 수집하고 실시간으로 수집되는 복수의 데이터를 라인 단위의 플러쉬(flush)를 수행하여 내부의 로컬 디렉토리에 실시간으로 기록하는 실시간 수집 서버로부터 데이터의 스트리밍 읽기가 가능한 원격 접속을 수행하고,
    상기 메모리는 상기 통신부가 상기 실시간 수집 서버와의 원격 접속을 수행하도록 하는 프로그램, 및 상기 원격 접속을 통해 상기 실시간 수집 서버의 로컬 디렉토리에 실시간으로 기록되는 파일에 대한 라인 단위의 실시간 읽기를 수행하도록 하는 프로그램을 저장하며,
    상기 프로세서는 상기 메모리에 저장된 프로그램을 호출하여, 상기 통신부를 통해 상기 실시간 수집 서버와 원격 접속을 수행한 후, 일정 시간 주기의 순환 구조를 사용하여 상기 실시간 수집 서버의 로컬 디렉토리에 실시간으로 기록되는 데이터에 대한 실시간 읽기를 수행하는
    실시간 읽기 장치.
  9. 제8항에 있어서,
    상기 통신부는 SSH(Secure SHell) 원격 기반 접속을 수행하여 상기 실시간 서버에 원격 접속되며,
    상기 프로세서는,
    데이터 소스에 대해 정의되어 있으며, 상기 정의에 따라 상기 데이터 소스에 대한 탐지 동작을 수행하는 SSHInput;
    상기 SSHInput에 의한 탐지 동작 결과 상기 데이터 소스의 현황에 따라 상기 데이터 소스 내부의 실제 데이터를 탐지하는 SSHAgent;
    상기 SSHAgent의 탐지 결과에 따라 상기 데이터 소스로부터 실시간으로 데이터를 읽어 들이면서 데이터에 대한 처리를 수행하는 SftpSubAgent; 및
    상기 SftpSubAgent에 의해 처리된 데이터들을 저장 포맷으로 변환하여 다음의 작업을 위해 전달하는 Output에 의해 수행되는
    순환 구조를 사용하여 상기 실시간 수집 서버의 상기 로컬 디렉토리에 실시간으로 기록되는 데이터를 라인 단위의 스트리밍을 통해 실시간 읽기를 수행하는,
    실시간 읽기 장치.
  10. 제9항에 있어서,
    상기 프로세서는,
    상기 통신부를 통해 상기 실시간 수집 서버와 SSH 커넥션과 Sftp 채널을 열어서 실시간 읽기를 수행하고,
    스트리밍 리더를 사용하여 상기 로컬 디렉토리의 데이터를 라인 단위의 스트림으로 읽으며,
    상기 로컬 디렉토리에 기록되어 있는 데이터의 읽기가 완료되는 경우 상기 SSH 커넥션과 상기 Sftp 채널을 닫는,
    실시간 읽기 장치.
  11. 제10항에 있어서,
    상기 프로세서는,
    상기 스트리밍 리더를 사용하여 상기 실시간 수집 서버로부터 파일 읽기를 수행하는 경우, 해당 파일에 읽을 라인이 없거나 읽을 라인이 완성되지 않은 것으로 판단되면, 널(null)을 반환하고, 현재까지 읽은 스트림의 위치를 상기 SSH 커넥션에 기억하며,
    시간 조건을 확인하여 상기 시간 조건이 만족되지 않는 경우 기억되어 있는 스트림의 위치부터 라인 단위의 파일 읽기를 다시 수행하는,
    실시간 읽기 장치.
  12. 제10항에 있어서,
    상기 프로세서는,
    미리 설정되어 있는 시간 조건이 만족되는 경우 상기 SSH 커넥션과 상기 Sftp 채널을 닫아서 데이터의 실시간 읽기를 완료하는,
    실시간 읽기 장치.
  13. 실시간 읽기 장치가 복수의 데이터를 실시간으로 수집하는 실시간 수집 서버로부터 데이터를 실시간으로 읽기 위한 방법을 수행하는 프로그램을 저장하는 컴퓨터 판독 가능 기록 매체에 있어서,
    상기 실시간 수집 서버로부터 데이터의 스트리밍 읽기가 가능한 원격 접속을 수행하는 기능; 및
    상기 원격 접속 기반 하에 일정 시간 주기의 순환 구조를 사용하여 상기 실시간 수집 서버로부터 데이터의 실시간 읽기를 수행하는 기능
    을 포함하며,
    상기 실시간 수집 서버는 실시간으로 수집되는 복수의 데이터를 라인 단위의 플러쉬(flush)를 수행하여 내부의 로컬 디렉토리에 실시간으로 기록하고,
    상기 실시간 읽기 장치는 상기 순환 구조를 사용하여 상기 로컬 디렉토리에 실시간으로 기록되는 데이터를 라인 단위의 스트리밍을 통해 실시간 읽기를 수행하는
    프로그램을 저장하는 컴퓨터 판독 가능 기록 매체.
KR1020160081964A 2016-02-16 2016-06-29 실시간 읽기 방법 및 그 장치 KR101820521B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020160017977 2016-02-16
KR20160017977 2016-02-16

Publications (2)

Publication Number Publication Date
KR20170096563A KR20170096563A (ko) 2017-08-24
KR101820521B1 true KR101820521B1 (ko) 2018-01-19

Family

ID=59758058

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160081964A KR101820521B1 (ko) 2016-02-16 2016-06-29 실시간 읽기 방법 및 그 장치

Country Status (1)

Country Link
KR (1) KR101820521B1 (ko)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100639243B1 (ko) * 2005-05-24 2006-10-27 엘지노텔 주식회사 이엠에스 로그 파일 검색 장치 및 그 방법
KR101476632B1 (ko) * 2014-03-05 2014-12-30 에스케이텔레콤 주식회사 실시간 데이터 분석 시스템의 데이터 처리 방법 및 분석 코디네이터 장치
KR101533719B1 (ko) * 2014-03-05 2015-07-03 에스케이텔레콤 주식회사 스트리밍 기반의 실시간 데이터 분석 장치 및 방법
KR101542235B1 (ko) * 2015-01-23 2015-08-06 주식회사 프로이트 실시간 데이터 마이닝 방법

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100639243B1 (ko) * 2005-05-24 2006-10-27 엘지노텔 주식회사 이엠에스 로그 파일 검색 장치 및 그 방법
KR101476632B1 (ko) * 2014-03-05 2014-12-30 에스케이텔레콤 주식회사 실시간 데이터 분석 시스템의 데이터 처리 방법 및 분석 코디네이터 장치
KR101533719B1 (ko) * 2014-03-05 2015-07-03 에스케이텔레콤 주식회사 스트리밍 기반의 실시간 데이터 분석 장치 및 방법
KR101542235B1 (ko) * 2015-01-23 2015-08-06 주식회사 프로이트 실시간 데이터 마이닝 방법

Also Published As

Publication number Publication date
KR20170096563A (ko) 2017-08-24

Similar Documents

Publication Publication Date Title
US8489558B2 (en) Distributed file system logging
US9355003B2 (en) Capturing trace information using annotated trace output
KR20160044484A (ko) 클라우드 배치 기반구조 검증 엔진
CN109933632B (zh) 一种数据库的数据迁移方法、装置及设备
US9043652B2 (en) User-coordinated resource recovery
CN106649071B (zh) 进程内部日志上报的方法和装置
CN111177165B (zh) 数据一致性检测的方法、装置及设备
CN103729294A (zh) 应用软件性能脚本测试方法与装置
CN105589782A (zh) 基于浏览器的用户行为采集方法
CN110555074B (zh) 定时抽取和加工数据的方法、终端及计算机可读存储介质
CN103544095A (zh) 服务器程序的监控方法及其系统
CN104636242A (zh) 一种基于Linux操作系统的系统日志自动删除重复内容的方法
US11269997B2 (en) Automated dynamic security testing
US9632886B2 (en) Systems and methods for implementing an automated parallel deployment solution
CN108920260B (zh) 一种异构系统的交互方法及其装置
CN117130941B (zh) 基于浏览器插件的接口自动化方法、系统、设备及介质
KR101820521B1 (ko) 실시간 읽기 방법 및 그 장치
JP5484376B2 (ja) ログ収集自動化装置、ログ収集自動化試験システム、及びログ収集制御方法
El Yamany et al. A multi-agent framework for testing distributed systems
CN114490869A (zh) 一种数据同步方法、装置、数据源端、目标端及存储介质
CN110134559B (zh) 一种bmc故障检测方法、系统及相关组件
JP4686226B2 (ja) 駅務中継機
KR101753897B1 (ko) 연속적인 데이터 수집 및 적재 방법, 그리고 그 방법을 위한 시스템
CN109684158A (zh) 分布式协调系统的状态监控方法、装置、设备及存储介质
JP6353759B2 (ja) テスト実行装置、テスト実行方法およびコンピュータプログラム

Legal Events

Date Code Title Description
A201 Request for examination
N231 Notification of change of applicant
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right