KR100624705B1 - 스크래핑 머신을 이용한 스크린 스크래핑 분산처리 방법 및그 시스템 - Google Patents

스크래핑 머신을 이용한 스크린 스크래핑 분산처리 방법 및그 시스템 Download PDF

Info

Publication number
KR100624705B1
KR100624705B1 KR1020060043785A KR20060043785A KR100624705B1 KR 100624705 B1 KR100624705 B1 KR 100624705B1 KR 1020060043785 A KR1020060043785 A KR 1020060043785A KR 20060043785 A KR20060043785 A KR 20060043785A KR 100624705 B1 KR100624705 B1 KR 100624705B1
Authority
KR
South Korea
Prior art keywords
scraping
user
screen
task
machine
Prior art date
Application number
KR1020060043785A
Other languages
English (en)
Inventor
석창규
Original Assignee
웹케시 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 웹케시 주식회사 filed Critical 웹케시 주식회사
Priority to KR1020060043785A priority Critical patent/KR100624705B1/ko
Application granted granted Critical
Publication of KR100624705B1 publication Critical patent/KR100624705B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45504Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
    • 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/50Allocation of resources, e.g. of the central processing unit [CPU]

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

본 발명은 스크래핑 머신을 이용한 스크린 스크래핑 분산처리 방법 및 그 시스템에 관한 것으로, 스크린 스크래핑이 필요한 조회나 수행을 호출하는 계좌통합 서비스 프로그램을 구비하며 스크래핑을 위한 사용자 정보를 내부 스케줄 알고리즘을 사용하여 각 스크래핑 머신에 사용자 정보와 작업을 할당하는 사용자 PC; 및 상기 사용자 PC와 각 기관에 연결된 인터넷망 사이에 설치되며, 내부에 구비된 복수 개의 스크린 스크래핑 가상 머신을 통해 스크린 스크래핑을 수행하는 스크래핑 머신;을 포함함으로써, 금융 관련 목적 기관에 스크린 스크래핑을 함에 있어 여러 PC에 작업을 분배하고 그 수행 결과를 취합하여 수행 시간을 줄일 수 있는 장점이 있다.
스크린 스크래핑, 계좌통합 서비스, 스크래핑 머신, 금융, 은행, 인터넷

Description

스크래핑 머신을 이용한 스크린 스크래핑 분산처리 방법 및 그 시스템{Distributed Processing Method by Screen Scraping Using Scraping Machine, and System Thereof}
도 1은 종래의 스크린 스크래핑을 이용한 계좌통합 서비스 시스템의 구성도
도 2는 본 발명의 바람직한 실시 예에 의한 스크린 스크래핑 분산처리 시스템의 블록 구성도
도 3은 도 2에 도시된 사용자 PC(100)와 스크래핑 머신(200)의 상세 구성도
도 4는 도 3에 도시된 스크래핑 머신(200)의 가상화 기술을 나타낸 블록 구성도
도 5는 본 발명의 바람직한 실시 예에 의한 스크린 스크래핑 분산처리 방법을 나타낸 흐름도
***** 도면의 주요 부호에 대한 설명 *****
10 : 사용자 30 : 인터넷 망
40_1 ∼ 40_ n : 제1 내지 제n 기관 41 : 웹 서비스 프로그램
100 : 사용자 PC
110 : 계좌 통합 서비스 프로그램 112 : 업무용 프로그램
120 : 업 데이터부 130 : 작업 할당 스케줄러
140 : 인증서 분배부 150 : 스크래핑 머신 관리부
200 : 스크래핑 머신
200_1 ∼ 200_n : 제1 내지 제n 스크래핑 머신
200a, 200b : 제1 스크래핑 가상 머신, 제n 스크래핑 가상 머신
210 : 인증 관리부 220 : 스크래핑 작업 관리부
230 : 스크래핑 작업 모니터 240 : 감사용 자료 관리부
250 : 스크래핑 엔진부 260 : 스크래핑 환경 관리부
270 : DB 파일부 310 : CPU
320 : 메인 메모리 330 : USB 호스트 컨트롤러
340 : 하드 디스크 드라이브
350 : 네트워크 인터페이스 카드
본 발명은 스크래핑 머신을 이용한 스크린 스크래핑(Screen Scraping) 분산처리 방법 및 그 시스템에 관한 것으로, 특히 금융 관련 목적 기관에 스크린 스크래핑을 함에 있어 여러 PC에 작업을 분배하고 그 수행 결과를 취합하여 수행 시간 을 줄인 스크래핑 머신을 이용한 스크린 스크래핑 분산처리 방법 및 그 시스템에 관한 것이다.
일반적으로, 스크린 스크래핑(Screen Scraping)은 스크린에 보이는 데이터 중 필요한 것만 추출해 주는 소프트웨어로서, 자동으로 시스템에 접속해 데이터를 화면에 나타나게 한 후 필요한 자료만을 추출해 가져오는 기술이다. 웹사이트에 있는 정보를 끄집어내 다른 사이트나 데이터베이스에 저장하기 때문에 웹스크래핑(Web Scraping)이라고도 한다. 데이터를 저장하므로 필요에 따라 수시로 조회가 가능하며, 저장된 데이터를 가공하여 비교분석 자료로 활용할 수도 있다. 특히 인터넷뱅킹에 필수적인 프로그램으로 각 금융기관에서 활발하게 운영 중이며, 호텔과 항공사·렌터카·주유소 등의 마일리지와 같은 보상프로그램, 전자우편 통합조회, 뉴스·채팅·날씨 등 사용자가 클릭해 정보를 얻을 수 있는 곳이라면 어디에도 사용할 수 있다.
미국 등 선진국에서는 1990년대 말부터 보편화되었으며, 우리나라에는 2000년 12월 설립된 핑거(Finger)사가 이 기술을 처음 개발하여 금융서비스를 시작한 후 금융기관을 중심으로 널리 사용되고 있다. 현재 대표적인 것으로는 개인이 가진 여러 금융기관의 계좌들을 통합하여 관리할 수 있는 금융자산통합관리소프트웨어(PFMS: Personal Finance Management Software)를 들 수 있다. 일일이 각 웹사이트를 방문할 필요가 없어 시간과 경비를 절약할 수 있는 장점이 있으나 사생활 침해가 우려되며, 사이트가 갱신될 때마다 프로그래밍을 수정해야 한다는 단점도 있다.
상기 스크린 스크래핑 기술은 크게 보면 클라이언트 방식과 서버방식으로 구분되며, 계좌통합서비스나 개인자산관리, 기업자산관리 프로그램에서 그 활용도가 높으나 단 대 단(End-to-end) 정책을 지켜야 하는 국내 보안 정책상의 이유로 서버방식보다는 클라이언트 방식의 스크린 스크래핑 기술이 절대 우위를 점하고 있다.
도 1은 종래의 클라이언트 방식의 스크린 스크래핑을 이용한 계좌통합 서비스 시스템의 구성도이다.
종래의 계좌통합 서비스 시스템은 도 1에 도시한 바와 같이, 사용자(10)가 계좌통합서비스 프로그램(20)을 통해 제1 내지 제n 기관(40_1 내지 40_n)에 등록된 웹 서비스 프로그램(41)에 인터넷망(30)을 통해 접속하여, 상기 제1 내지 제n 기관(40_1 내지 40_n)의 통신 보안 정책에 따라 서비스를 수행한다. 이때, 상기 스크린 스크래핑은 상기 계좌통합서비스 프로그램(20)에서 수행된다.
종래의 클라이언트 방식의 스크린 스크래핑을 이용한 계좌통합 서비스 시스템은 도 1과 같이, 금융 관련 웹 서비스의 스크린 스크래핑 시 서비스의 안정성이나 기술적 제약으로 인해 복수의 스크린 스크래핑 작업을 순차적으로 실행하고 결과를 받는 구성이다. 이는, 예들 들어, 은행 계좌 개수가 많은 경우 거래내역 조회 스크래핑을 할 때 심각한 성능저하를 체감하게 되는 문제점이 있었다.
따라서, 본 발명은 상기 문제점을 해결하기 위하여 이루어진 것으로, 본 발명의 목적은 금융 관련 목적 기관에 스크린 스크래핑을 함에 있어 여러 PC에 작업 을 분배하고 그 수행 결과를 취합하여 수행 시간을 줄인 스크래핑 머신을 이용한 스크린 스크래핑 분산처리 방법 및 그 시스템을 제공하는 데 있다.
상기 목적을 달성하기 위한 본 발명에 의한 스크린 스크래핑 분산처리 시스템은, 스크린 스크래핑이 필요한 조회나 수행을 호출하는 계좌통합 서비스 프로그램을 구비하며 스크래핑을 위한 사용자 정보를 내부 스케줄 알고리즘을 사용하여 각 스크래핑 머신에 사용자 정보와 작업을 할당하는 사용자 PC; 및 상기 사용자 PC와 각 기관에 연결된 인터넷망 사이에 설치되며, 내부에 구비된 복수 개의 스크린 스크래핑 가상 머신을 통해 스크린 스크래핑을 수행하는 스크래핑 머신;을 포함한다.
여기서, 상기 사용자 PC는, 잔액 거래내역 조회나 계좌간 이체를 포함하며 스크린 스크래핑이 필요한 조회나 수행을 호출하는 업무용 프로그램; 사용자 PC와 스크래핑 머신의 프로그램이나 라이브러리, 인증서를 갱신하고 동기화하기 위한 전처리 작업이나 파일 송수신을 담당하는 업 데이터부; 상기 업무용 프로그램에서 전달받은 스크래핑을 위한 사용자 정보를 내부 스케줄 알고리즘을 사용하여 각 스크래핑 머신에 사용자 정보와 작업을 할당하는 작업 할당 스케줄러; 상기 스크래핑 머신에 설치된 인증서와 상기 사용자 PC에 설치된 인증서가 동일한지를 검사하여 사용자 PC를 기준으로 업 데이트하여 동기화 작업을 수행하는 인증서 분배 기능부; 및 복수 개의 스크래핑 머신과 그 내부의 스크래핑 가상 머신의 전원의 온(ON)/오 프(OFF) 상태와 상기 스크래핑 머신과 그 내부의 스크래핑 가상 머신에 설치된 운영체계의 버전 정보, 현재 사용자의 입력을 기다리는지의 여부와 CPU, 메인 메모리, USB 호스트 컨트롤러, 하드 디스크 드라이브, 네트워크 인터페이스 카드의 점유율, 남는 공간, 사용 상태, 네트워크 점유 상태를 조회하는 스크래핑 머신 관리부;를 포함하는 것이 바람직하다.
그리고, 상기 스크래핑 머신은, 상기 사용자 PC의 작업 할당 스케줄러에서 요청이 있을 경우 상기 스크래핑 머신과 상기 작업 할당 스케줄러가 서로 인증된 프로그램인가를 확인하는 인증 관리부; 상기 작업 할당 스케줄러에서 전송된 스크래핑을 위한 사용자 정보를 스크래핑 엔진부에 전송하고 그 결과를 상기 작업 할당 스케줄러에 전송하는 스크래핑 작업 관리부; 상기 스크래핑 작업 관리부를 최신 버전으로 업 데이트하거나 상기 스크래핑 작업 관리부가 비정상적인 수행을 하거나 오류로 인한 문제 발생시 프로세스를 중지시키고 상기 스크래핑 작업 관리부를 재실행하는 스크래핑 작업 모니터; 상기 스크래핑 작업 관리부와 스크래핑 작업모니터를 사용함에 있어 서비스에 오작동, 수행 시간, 수행 작업의 간략한 내용, 최적화용 정보, 스크래핑 작업의 권한 정보를 저장하고 관리하는 감사용 자료 관리부; 및 상기 인증 관리부, 상기 스크래핑 작업 관리부, 스크래핑 작업 모니터, 스크래핑 환경 관리부, 감사용 자료 관리부의 로그를 API호출이나 OLE 프로토콜을 사용하여 저장하는 DB 파일부;를 포함하는 것이 바람직하다.
이때, 상기 스크래핑 작업 관리부는, 상기 작업 할당 스케줄러에서 전송된 스크래핑을 위한 사용자 정보를 API(Application Program Interface) 호출이나 OLE(Object Linking and Embedding) 프로토콜을 사용하여 상기 스크래핑 엔진부에 전송하고, 그 결과를 상기 작업 할당 스케줄러에 소켓이나 SSL(Secure Sockets Layer) 통신으로 전송하는 것이 바람직하다.
상기 계좌 통합 서비스 프로그램과 복수 개의 스크래핑 머신 사이의 구간에서는 공개키기반구조(PKI)의 시스템 인증으로 상기 계좌 통합 서비스 프로그램과 스크래핑 머신을 인증하고 사용자 정보 및 결과는 SSL(Secure Sockets Layer)로 통신을 하는 것이 바람직하다.
또한, 상기 목적을 달성하기 위한 본 발명의 스크린 스크래핑 분산처리 방법은, 특허청구범위 제 1 항 내지 제 4 항 중 어느 한 항에 기재된 스크린 스크래핑 분산처리 시스템의 스크린 스크래핑 분산처리 방법에 있어서, (a)상기 작업 할당 스케줄러로부터 스크래핑에 필요한 정보를 받고 스크래핑 머신 정보 읽기를 수행하는 단계; (b)상기 스크래핑 작업 모니터의 버전과 상기 스크래핑 작업 관리부의 버전 및 상기 스크래핑 머신 내의 인증서 버전을 순차적으로 확인 및 동기화하는 단계; (c)상기 스크래핑 작업의 스케줄 종류를 입력하여 작업을 할당하는 단계; (d)상기 단계 후 사용자 대행시 필요한 정보를 수신한 다음 스크랩 모듈의 통신 방식을 선택하는 단계; (e)상기 선택한 스크랩 모듈의 통신 방식에 따라 각각의 인증 페이지와 목적 페이지에 필요한 정보를 전송하거나 입력하는 단계; (f)상기 단계 후 정보 취득 및 작업을 수행하는 단계; (g)상기 단계 후 인증 정보와 보안 모듈을 순차적으로 해지하는 단계; 및 (h)상기 단계 후 남은 스크래핑 작업이 없으면 스크래핑 결과를 취합하거나 반환한 후 프로그램을 종료하고, 남은 스크래핑 작업이 있 으면 상기 (c)단계로 돌아가는 단계;를 포함한다.
상기 (c)단계에서의 스크래핑 작업의 스케줄 종류는, 사용자 임의 배정 방식, 균등 분배 방식, 실시간 작업 분배 방식을 포함하는 것이 바람직하다.
그리고, 상기 (e)단계에서 스크랩 모듈의 통신 방식은, 소켓 통신 방식과 웹 브라우저 통신 방식을 포함하는 것이 바람직하다.
또한, 상기 스크린 스크래핑 분산처리 방법은, 상기 스크린 스크래핑을 할 때, 상기 스크래핑 머신과 그 내부에 구현된 복수 개의 스크린 스크래핑 가상 머신을 통해 스크린 스크래핑을 수행하는 것이 바람직하다.
이하, 첨부된 도면을 참조하여 본 발명의 실시예에 대해 더욱 상세히 설명하기로 한다.
스크린 스크래핑 분산처리 시스템
도 2는 본 발명의 바람직한 실시 예에 의한 스크린 스크래핑 분산처리 시스템의 블록 구성도이다.
본 발명의 스크린 스크래핑 분산처리 시스템은 도 2에 도시한 바와 같이, 스크린 스크래핑이 필요한 조회나 수행을 호출하는 계좌통합 서비스 프로그램(110)을 구비하며 스크래핑을 위한 사용자 정보를 내부 스케줄 알고리즘을 사용하여 각 스크래핑 머신에 사용자 정보와 작업을 할당하는 사용자 PC(100)와, 상기 사용자 PC(100)와 각 기관에 연결된 인터넷망(30) 사이에 설치되며 내부에 구비된 복수 개의 스크린 스크래핑 가상 머신을 통해 스크린 스크래핑을 수행하는 제1 내지 제n 스크래핑 머신(200_1 내지 200_n)과, 상기 인터넷망(30)에 연결되며 웹 서비스 프로그램(41)을 각각 구비한 제1 내지 제n 기관(40_1 내지 40_n)을 포함한다.
사용자(10)는 상기 사용자 PC(100)에 설치된 상기 계좌통합서비스 프로그램(110)을 사용하지만 내부적으로는 상기 제1 내지 제n 스크래핑 머신(200_1 내지 200_n)으로 분산처리가 되어 작업이 수행된다. 종래에는 계좌통합서비스 프로그램에서 실제 스크래핑을 수행하였다. 분산처리를 함에 있어 보안상의 취약점을 해소하기 위하여 계좌 통합 서비스 프로그램(110)과 제1 내지 제n 스크래핑 머신(200_1 내지 200_n) 사이의 구간에서는 공개키기반구조(公開-基盤構造, Public Key Infrastructure; PKI)의 시스템 인증으로 프로그램과 스크래핑 머신을 인증하고 사용자 정보 및 결과는 SSL(Secure Sockets Layer)로 통신을 한다.
상기 계좌 통합 서비스 프로그램(110)과 제1 내지 제n 스크래핑 머신(200_1 내지 200_n) 사이의 인증 및 통신구간을 통해 제1 내지 제n 스크래핑 머신(200_1 내지 200_n)로 전달된 스크래핑을 위한 사용자 정보는 상기 제1 내지 제n 스크래핑 머신(200_1 내지 200_n)에서 스크래핑 모듈에 의해 사용되며, 상기 인터넷 망(30)을 통해 각 기관들(40_1 내지 40_n)의 통신 보안 정책에 맞게 통신을 한다. 수행된 결과는 상기 제1 내지 제n 스크래핑 머신(200_1 내지 200_n)과 상기 인증 및 통신구간을 통해 상기 계좌 통합 서비스 프로그램(110)에서 취합이 된다.
사용자 PC(100)와 스크래핑 머신(200)의 상세 구성
도 3은 도 2에 도시된 사용자 PC(100)와 스크래핑 머신(200)의 상세 구성도 이다.
상기 사용자 PC(100)는 도 3에 도시한 바와 같이, 업무용 프로그램(112), 업 데이터부(120), 작업 할당 스케줄러(130), 인증서 분배부(140), 스크래핑 머신 관리부(150)를 포함한다. 그리고, 상기 스크래핑 머신(200)은 인증 관리부(210), 스크래핑 작업 관리부(220), 스크래핑 작업 모니터(230), 감사용 자료 관리부(240), 스크래핑 엔진부(250), 스크래핑 환경 관리부(260), DB 파일부(270)를 포함한다.
상기 사용자 PC(100)의 업무용 프로그램(112)은 도 2의 계좌통합 서비스 프로그램(110)의 일부분이며, 스크린 스크래핑이 필요한 조회나 수행이 호출되는 프로그램이다. 예를 들면, 잔액 거래내역 조회 업무용 프로그램은 은행 계좌의 경우 잔액, 거래내역이 조회될 수 있으며, 집금 업무용 프로그램은 계좌간 이체가 수행될 수 있다.
상기 업데이터 기능부(120)는 사용자 PC(100)와 스크래핑 머신(200)의 프로그램이나 라이브러리, 인증서를 갱신하고 동기화하기 위한 전처리 작업이나 파일 송수신을 담당한다.
상기 작업 할당 스케줄러(130)는 상기 업무용 프로그램(112)에서 전달받은, 스크래핑을 위한 사용자 정보를 내부 스케줄 알고리즘을 사용하여 각 스크래핑 머신(200)에 사용자 정보와 작업을 할당하는 역할을 한다.
상기 인증서 분배 기능부(140)는 상기 스크래핑 머신(200)에 설치된 인증서와 상기 사용자 PC(100)에 설치된 인증서가 동일한지를 검사하여 사용자 PC를 기준으로 업 데이트하여 동기화 작업을 수행한다.
상기 스크래핑 머신 관리부(150)는 복수 개의 스크래핑 머신(200)과 그 내부의 스크래핑 가상 머신(200a)(200b)의 전원의 온(ON)/오프(OFF) 상태와 상기 스크래핑 머신(200)과 그 내부의 스크래핑 가상 머신(200a)(200b)에 설치된 운영체계(Operating System; OS)의 버전 정보, 현재 사용자의 입력을 기다리는지의 여부와 CPU(310), 메인 메모리(Main Memory)(320), USB 호스트 컨트롤러(Host Controler)(330), 하드 디스크 드라이브(Hard Disk Drive)(340), 네트워크 인터페이스 카드(Network Interface Card)(350)의 점유율, 남는 공간, 사용 상태, 네트워크 점유 상태 등을 조회하는 역할을 한다.
그 다음, 상기 스크래핑 머신(200)의 인증 관리부(210)는 상기 사용자 PC(100)의 작업 할당 스케줄러(130)에서 요청이 있을 경우 상기 스크래핑 머신(200)과 상기 작업 할당 스케줄러(130)가 서로 인증된 프로그램인가를 확인한다.
상기 스크래핑 작업 관리부(220)는 상기 작업 할당 스케줄러(130)에서 전송된 스크래핑을 위한 사용자 정보를 상기 스크래핑 엔진부(250)에 API(Application Program Interface) 호출이나 OLE(Object Linking and Embedding) 프로토콜을 사용하여 전달하고, 그 결과를 상기 작업 할당 스케줄러(130)에 소켓이나 SSL(Secure Sockets Layer) 통신으로 전송한다.
상기 스크래핑 작업 모니터(230)는 상기 스크래핑 작업 관리부(220)를 최신 버전으로 업 데이트하거나, 상기 스크래핑 작업 관리부(220)가 비정상적인 수행을 하거나 오류로 인한 문제 발생시 프로세스를 중지시키고 상기 스크래핑 작업 관리부(220)를 재실행한다. 그리고, 상기 스크래핑 작업 관리부(220)가 상기 스크래핑 엔진부(250)를 호출하여 작동될 때 발생할 수 있는 예외의 경우, 예를 들어 보안 모듈 등 스크래핑 작업에 필요한 프로그램 설치나 갱신에 대한 사용자 입력을 상기 스크래핑 환경 관리부(260)를 통해 대신하여 처리한다.
상기 감사용 자료 관리부(240)는 상기 스크래핑 작업 관리부(220)와 스크래핑 작업모니터(230)를 사용함에 있어 서비스에 오작동, 수행 시간, 수행 작업의 간략한 내용, 최적화용 정보, 스크래핑 작업의 권한 정보 등을 저장하고 관리한다.
상기 DB 파일부(270)는 상기 인증 관리부(210), 상기 스크래핑 작업 관리부(220), 스크래핑 작업 모니터(230), 스크래핑 환경 관리부(260), 감사용 자료 관리부(240)의 로그를 API호출이나 OLE 프로토콜을 사용하여 저장하는 역할을 한다.
스크래핑 머신(200)의 가상화 기술
도 4는 도 3에 도시된 스크래핑 머신(200)의 가상화 기술을 나타낸 블록 구성도이다.
상기 스크린 스크래핑을 수행할 때, 기관에서 사용하는 보안 모듈이나 통신 정책에 따라서 한 PC에서 한 번의 서비스 수행을 해야 하는 경우 스크린 스크래핑의 수행 성능이나 질이 떨어진다. 그에 대한 해결방법으로 가상화 기술을 사용하는데 마이크로소프트 윈도우(Microsoft Windows) OS의 사용자 세션을 이용하여 스크래핑 가상 머신을 개발할 수 있다.
또한, CPU(310), 메인 메모리(Main Memory)(320), USB 호스트 컨트롤러(Host Controler)(330), 하드 디스크 드라이브(Hard Disk Drive)(340), 네트워크 인터페 이스 카드(Network Interface Card)(350)에 대한 각각의 디바이스 드라이버(Device Driver)와 CMOS BIOS를 이용한 PC 에뮬레이터를 이용하여 스크린 스크래핑 가상 머신을 개발 할 수 있다. 스크래핑 머신 안에 복수 개의 스크래핑 가상 머신을 두어 스크래핑 머신의 구입 및 유지보수비용을 줄일 수 있는 장점이 있다
스크린 스크래핑 분산처리 방법
도 5는 본 발명의 바람직한 실시 예에 의한 스크린 스크래핑 분산처리 방법을 나타낸 흐름도이다.
먼저, 상기 작업 할당 스케줄러(302)에서 받은 스크래핑에 필요한 정보를 받고, 스크래핑 머신 정보 읽기를 수행한다(단계 S100).
그 다음, 상기 스크래핑 작업 모니터(230)의 버전 확인 여부를 판단하여 버전을 확인하였으면(단계 S110의 '예') 다음 단계(S120)로 넘어가고, 버전을 확인하지 않았으면(단계 S110의 '아니오') 상기 스크래핑 작업 모니터(230)의 버전을 동기화(단계 S112)시킨 후 다음 단계(S120)로 넘어간다.
그 다음, 상기 스크래핑 작업 관리부(220)의 버전 확인 여부를 판단하여 버전을 확인하였으면(단계 S120의 '예') 다음 단계(S130)로 넘어가고, 버전을 확인하지 않았으면(단계 S120의 '아니오') 상기 스크래핑 작업 관리부(220)의 버전을 동기화(단계 S122)시킨 후 다음 단계(S130)로 넘어간다.
그 다음, 상기 스크래핑 머신(200) 내 인증서 버전 확인 여부를 판단하여 버전을 확인하였으면(단계 S130의 '예') 다음 단계(S140)로 넘어가고, 버전을 확인하 지 않았으면(단계 S130의 '아니오') 인증서의 버전을 동기화(단계 S132)시킨 후 다음 단계(S140)로 넘어간다.
상기 단계(S140)에서는, 스크래핑 작업 스케줄 종류를 판단하여, 사용자 임의 배정 방식이면 단계(S150)로 넘어가고, 균등 분배 방식이면 단계(S170)로 넘어가고, 실시간 작업 분배 방식이면 단계(S180)로 넘어간다.
상기 단계(S150)에서는 사용자 임의 배정 작업을 할당한 다음, 그 다음 단계(S160)로 넘어가서 남은 임의 배정 작업 외 작업이 있는 지를 판단한다. 이때, 상기 단계(S160)에서는 남은 임의 배정 작업 외에 다른 작업이 있으면(단계 S160의 '있음') 상기 단계(S140) 이전으로 돌아가고, 남은 임의 배정 작업 외에 다른 작업이 없으면(단계 S160의 '없음') 다음의 단계(S190)로 넘어간다.
상기 단계(S170)에서는 균등 분배 작업을 할당한 다음 상기 단계(S190)로 넘어가고, 상기 단계(S180)에서는 실시간 분배 작업을 할당한 다음 상기 단계(S190)로 넘어간다.
상기 단계(S190)에서는 사용자 대행시 필요한 정보를 수신한 다음, 단계(S200)로 넘어가서 소켓과 웹브라우저 중 어느 하나의 스크랩 모듈 통신 방식을 선택한다(단계 S200).
상기 단계(S200)에서 소켓 방식을 선택하면(단계 S200의 '소켓') 단계(S210)로 가서 보안 모듈 생성이 필요한 지를 판단한다. 상기 단계(S210)에서 보안 모듈 생성이 필요하면(단계 S210의 '예') 단계(S220)로 가서 보안모듈을 생성한 후 단계(S230)로 가고, 상기 단계(S210)에서 보안 모듈 생성이 필요하지 않으면(단계 S210의 '아니오') 상기 단계(S230)로 넘어간다. 상기 단계(S230)에서는 인증 페이지에 필요한 정보를 전송한 후 그 다음 단계(S240)로 넘어가서 목적 페이지에 필요한 정보를 전송한 다음 단계(S290)로 넘어간다.
한편, 상기 단계(S200)에서 웹브라우저 방식을 선택하면(단계 S200의 '웹브라우저') 단계(S250)로 넘어가서 인증 페이지로 이동한다. 그 다음, 인증 페이지에 필요한 정보를 입력(단계 S260)하고, 목적 페이지로 이동(단계 S270)한 후 목적 페이지에 필요한 정보를 입력(단계 S280)한 다음 상기 단계(S290)로 넘어간다.
상기 단계(S290)에서 정보취득 및 작업을 수행한 다음, 인증 정보 해지(단계 S300)와 보안 모듈 해지(단계 S310)를 순차적으로 진행한다.
그 다음, 단계(S320)에서는 남은 스크래핑 작업의 존재 여부를 판단하여, 남은 스크래핑 작업이 있으면(단계 S320의 '있음') 상기 단계(S180)로 돌아가고, 남은 스크래핑 작업이 없으면(단계 S320의 '없음') 그 다음 단계(S330)로 넘어가서 스크래핑 결과 취합 및 반환을 수행한 다음 프로그램을 종료한다.
이상의 본 발명은 상기에 기술된 실시예들에 의해 한정되지 않고, 당업자들에 의해 다양한 변형 및 변경을 가져올 수 있으며, 이는 첨부된 특허청구범위에서 정의되는 본 발명의 취지와 범위에 포함되는 것으로 보아야 할 것이다.
상술한 바와 같이, 본 발명의 스크래핑 머신을 이용한 스크린 스크래핑 분산 처리 방법 및 그 시스템에 의하면, 금융 관련 목적 기관에 스크린 스크래핑을 함에 있어 여러 PC에 작업을 분배하고 그 수행 결과를 취합함으로써 스크린 스크래핑의 수행 시간을 크게 줄일 수 있는 효과가 있다.

Claims (9)

  1. 스크린 스크래핑 분산처리 시스템에 있어서,
    스크린 스크래핑이 필요한 조회나 수행을 호출하는 계좌통합 서비스 프로그램을 구비하며 스크래핑을 위한 사용자 정보를 내부 스케줄 알고리즘을 사용하여 각 스크래핑 머신에 사용자 정보와 작업을 할당하는 사용자 PC; 및
    상기 사용자 PC와 각 기관에 연결된 인터넷망 사이에 설치되며, 내부에 구비된 복수 개의 스크린 스크래핑 가상 머신을 통해 스크린 스크래핑을 수행하는 복수 개의 스크래핑 머신;을 포함하는 스크린 스크래핑 분산처리 시스템.
  2. 제 1 항에 있어서, 상기 사용자 PC는:
    잔액 거래내역 조회나 계좌간 이체를 포함하며 스크린 스크래핑이 필요한 조회나 수행을 호출하는 업무용 프로그램;
    사용자 PC와 스크래핑 머신의 프로그램이나 라이브러리, 인증서를 갱신하고 동기화하기 위한 전처리 작업이나 파일 송수신을 담당하는 업 데이터부;
    상기 업무용 프로그램에서 전달받은 스크래핑을 위한 사용자 정보를 내부 스케줄 알고리즘을 사용하여 각 스크래핑 머신에 사용자 정보와 작업을 할당하는 작업 할당 스케줄러;
    상기 스크래핑 머신에 설치된 인증서와 상기 사용자 PC에 설치된 인증서가 동일한지를 검사하여 사용자 PC를 기준으로 업 데이트하여 동기화 작업을 수행하는 인증서 분배 기능부; 및
    복수 개의 스크래핑 머신과 그 내부의 스크래핑 가상 머신의 전원의 온(ON)/오프(OFF) 상태와 상기 스크래핑 머신과 그 내부의 스크래핑 가상 머신에 설치된 운영체계의 버전 정보, 현재 사용자의 입력을 기다리는지의 여부와 CPU, 메인 메모리, USB 호스트 컨트롤러, 하드 디스크 드라이브, 네트워크 인터페이스 카드의 점유율, 남는 공간, 사용 상태, 네트워크 점유 상태를 조회하는 스크래핑 머신 관리부;를 포함하는 것을 특징으로 하는 스크린 스크래핑 분산처리 시스템.
  3. 제 2 항에 있어서, 상기 복수 개의 스크래핑 머신은:
    상기 사용자 PC의 작업 할당 스케줄러에서 요청이 있을 경우 상기 스크래핑 머신과 상기 작업 할당 스케줄러가 서로 인증된 프로그램인가를 확인하는 인증 관리부;
    상기 작업 할당 스케줄러에서 전송된 스크래핑을 위한 사용자 정보를 스크래핑 엔진부에 전송하고 그 결과를 상기 작업 할당 스케줄러에 전송하는 스크래핑 작업 관리부;
    상기 스크래핑 작업 관리부를 최신 버전으로 업 데이트하거나 상기 스크래핑 작업 관리부가 비정상적인 수행을 하거나 오류로 인한 문제 발생시 프로세스를 중지시키고 상기 스크래핑 작업 관리부를 재실행하는 스크래핑 작업 모니터;
    상기 스크래핑 작업 관리부와 스크래핑 작업모니터를 사용함에 있어 서비스에 오작동, 수행 시간, 수행 작업의 간략한 내용, 최적화용 정보, 스크래핑 작업의 권한 정보를 저장하고 관리하는 감사용 자료 관리부; 및
    상기 인증 관리부, 상기 스크래핑 작업 관리부, 스크래핑 작업 모니터, 스크래핑 환경 관리부, 감사용 자료 관리부의 로그를 API호출이나 OLE 프로토콜을 사용하여 저장하는 DB 파일부;를 각각 포함하는 것을 특징으로 하는 스크린 스크래핑 분산처리 시스템.
  4. 제 3 항에 있어서, 상기 스크래핑 작업 관리부는:
    상기 작업 할당 스케줄러에서 전송된 스크래핑을 위한 사용자 정보를 API(Application Program Interface) 호출이나 OLE(Object Linking and Embedding) 프로토콜을 사용하여 상기 스크래핑 엔진부에 전송하고, 그 결과를 상기 작업 할당 스케줄러에 소켓이나 SSL(Secure Sockets Layer) 통신으로 전송하는 것을 특징으로 하는 스크린 스크래핑 분산처리 시스템.
  5. 제 1 항에 있어서,
    상기 계좌 통합 서비스 프로그램과 복수 개의 스크래핑 머신 사이의 구간에서는 공개키기반구조(PKI)의 시스템 인증으로 상기 계좌 통합 서비스 프로그램과 스크래핑 머신을 인증하고 사용자 정보 및 결과는 SSL(Secure Sockets Layer)로 통신을 하는 것을 특징으로 하는 스크린 스크래핑 분산처리 시스템.
  6. 제 1 항 내지 제 5 항 중 어느 한 항에 기재된 스크린 스크래핑 분산처리 시 스템의 스크린 스크래핑 분산처리 방법에 있어서,
    (a)상기 작업 할당 스케줄러로부터 스크래핑에 필요한 정보를 받고 스크래핑 머신 정보 읽기를 수행하는 단계;
    (b)상기 스크래핑 작업 모니터의 버전과 상기 스크래핑 작업 관리부의 버전 및 상기 스크래핑 머신 내의 인증서 버전을 순차적으로 확인 및 동기화하는 단계;
    (c)상기 스크래핑 작업의 스케줄 종류를 입력하여 작업을 할당하는 단계;
    (d)상기 단계 후 사용자 대행시 필요한 정보를 수신한 다음 스크랩 모듈의 통신 방식을 선택하는 단계;
    (e)상기 선택한 스크랩 모듈의 통신 방식에 따라 각각의 인증 페이지와 목적 페이지에 필요한 정보를 전송하거나 입력하는 단계;
    (f)상기 단계 후 정보 취득 및 작업을 수행하는 단계;
    (g)상기 단계 후 인증 정보와 보안 모듈을 순차적으로 해지하는 단계; 및
    (h)상기 단계 후 남은 스크래핑 작업이 없으면 스크래핑 결과를 취합하거나 반환한 후 프로그램을 종료하고, 남은 스크래핑 작업이 있으면 상기 (c)단계로 돌아가는 단계;를 포함하는 스크린 스크래핑 분산처리 방법.
  7. 제 6 항에 있어서, 상기 (c)단계에서의 스크래핑 작업의 스케줄 종류는,
    사용자 임의 배정 방식, 균등 분배 방식, 실시간 작업 분배 방식을 포함하는 것을 특징으로 하는 스크린 스크래핑 분산처리 방법.
  8. 제 6 항에 있어서, 상기 (e)단계에서 스크랩 모듈의 통신 방식은:
    소켓 통신 방식과 웹 브라우저 통신 방식을 포함하는 것을 특징으로 하는 스크린 스크래핑 분산처리 방법.
  9. 제 6 항에 있어서, 상기 스크린 스크래핑 분산처리 방법은:
    상기 스크린 스크래핑을 할 때, 상기 스크래핑 머신과 그 내부에 구현된 복수 개의 스크린 스크래핑 가상 머신을 통해 스크린 스크래핑을 수행하는 것을 특징으로 하는 스크린 스크래핑 분산처리 방법.
KR1020060043785A 2006-05-16 2006-05-16 스크래핑 머신을 이용한 스크린 스크래핑 분산처리 방법 및그 시스템 KR100624705B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020060043785A KR100624705B1 (ko) 2006-05-16 2006-05-16 스크래핑 머신을 이용한 스크린 스크래핑 분산처리 방법 및그 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020060043785A KR100624705B1 (ko) 2006-05-16 2006-05-16 스크래핑 머신을 이용한 스크린 스크래핑 분산처리 방법 및그 시스템

Publications (1)

Publication Number Publication Date
KR100624705B1 true KR100624705B1 (ko) 2006-09-15

Family

ID=37631620

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020060043785A KR100624705B1 (ko) 2006-05-16 2006-05-16 스크래핑 머신을 이용한 스크린 스크래핑 분산처리 방법 및그 시스템

Country Status (1)

Country Link
KR (1) KR100624705B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101815235B1 (ko) * 2015-12-30 2018-01-08 주식회사쿠콘 데이터 스크래핑 시스템, 방법 및 컴퓨터 프로그램
KR20200022289A (ko) * 2018-08-22 2020-03-03 주식회사 핑거 웹 브라우저 기반 스크래핑 시스템 및 방법

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030233333A1 (en) 2002-06-14 2003-12-18 Lee Dae Hyung Remittance intermediating service system and method of providing the same

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030233333A1 (en) 2002-06-14 2003-12-18 Lee Dae Hyung Remittance intermediating service system and method of providing the same

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101815235B1 (ko) * 2015-12-30 2018-01-08 주식회사쿠콘 데이터 스크래핑 시스템, 방법 및 컴퓨터 프로그램
KR20200022289A (ko) * 2018-08-22 2020-03-03 주식회사 핑거 웹 브라우저 기반 스크래핑 시스템 및 방법
KR102179792B1 (ko) 2018-08-22 2020-11-17 주식회사 핑거 웹 브라우저 기반 스크래핑 시스템 및 방법

Similar Documents

Publication Publication Date Title
US8275827B2 (en) Software-based network attached storage services hosted on massively distributed parallel computing networks
KR101815235B1 (ko) 데이터 스크래핑 시스템, 방법 및 컴퓨터 프로그램
US9684505B2 (en) Development environment system, development environment apparatus, development environment providing method, and program
KR101982085B1 (ko) 스크립트 엔진을 이용한 데이터 스크래핑 시스템, 방법 및 컴퓨터 프로그램
JP3415456B2 (ja) ネットワークシステム及びコマンド使用権限制御方法ならびに制御プログラムを格納した記憶媒体
US7039670B2 (en) Massively distributed processing system with modular client agent and associated method
US8959222B2 (en) Load balancing system for workload groups
US20090138551A1 (en) Method of Managing Workloads and Associated Distributed Processing System
JP3892002B2 (ja) リソース割り当て方法及びプログラム
CN103973770A (zh) 信息处理系统
KR20080090248A (ko) 관리 소프트웨어 구현을 위한 인증 방법
CN114168307A (zh) 创建实例的方法、设备以及系统
KR100624705B1 (ko) 스크래핑 머신을 이용한 스크린 스크래핑 분산처리 방법 및그 시스템
US7953622B2 (en) Implementing meeting moderator failover and failback
JP2019192190A (ja) 予めスクレイプしたビッグデータを用いたクラウドスクレイピングシステム及び方法と、そのためのコンピュータプログラム
JP7421271B2 (ja) 企業間情報連携システムおよび企業間情報連携方法
CN111638976A (zh) 基于共享内存的数据传输方法及系统
JP2007299328A (ja) 計算処理方法および計算処理システム
US8849974B2 (en) Social network based information discovery about network data processing systems
US9137227B2 (en) Matching entitlement information for multiple sources
US11354714B1 (en) Systems and methods for dynamic interface generation for commerce platform onboarding
JP2022088326A (ja) ブロックチェーン・ネットワークにおけるワールドステート・データベースを選択的に更新するための方法、システム、およびコンピュータ・プログラム
JP2007172018A (ja) データ保管方法およびデータ保管システム
JP7222792B2 (ja) 情報処理システム、情報処理装置、情報処理装置の制御方法及びプログラム
KR100694536B1 (ko) 씨알에스 에이전트 시스템 및 통신모듈을 이용한 실시간예약시스템 및 이 시스템을 이용한 실시간 예약방법

Legal Events

Date Code Title Description
A201 Request for examination
A302 Request for accelerated examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20130603

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20140519

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20150611

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20160907

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20180731

Year of fee payment: 13

FPAY Annual fee payment

Payment date: 20190731

Year of fee payment: 14