KR20240094218A - System and method for page scraping service and computer program for the same - Google Patents

System and method for page scraping service and computer program for the same Download PDF

Info

Publication number
KR20240094218A
KR20240094218A KR1020220175829A KR20220175829A KR20240094218A KR 20240094218 A KR20240094218 A KR 20240094218A KR 1020220175829 A KR1020220175829 A KR 1020220175829A KR 20220175829 A KR20220175829 A KR 20220175829A KR 20240094218 A KR20240094218 A KR 20240094218A
Authority
KR
South Korea
Prior art keywords
information
server
scraping
page
image
Prior art date
Application number
KR1020220175829A
Other languages
Korean (ko)
Inventor
김덕재
김세준
Original Assignee
주식회사쿠콘
Filing date
Publication date
Application filed by 주식회사쿠콘 filed Critical 주식회사쿠콘
Publication of KR20240094218A publication Critical patent/KR20240094218A/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/951Indexing; Web crawling techniques
    • 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/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • 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/23Updating
    • 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/24Querying
    • G06F16/245Query processing
    • G06F16/2458Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
    • G06F16/2477Temporal data queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q40/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/02Banking, e.g. interest calculation or account maintenance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition

Abstract

페이지 스크래핑(page scraping) 서비스 시스템은, 정보 제공기관 서버로부터 스크래핑 방식으로 정보를 수집하도록 구성된 스크래핑 서버를 포함할 수 있다. 상기 스크래핑 서버는, 상기 정보 제공기관 서버에 접속한 하나 이상의 장치에 상기 정보 제공기관 서버가 제공하는 정보를 표시하기 위한 화면의 일부 또는 전부를 이미지 정보로 수신하도록 구성된 스크래핑 엔진; 및 상기 이미지 정보로부터 하나 이상의 데이터 레코드를 추출하도록 구성된 이미지 처리부를 포함할 수 있다. 상기 페이지 스크래핑 서비스 시스템에 의하면, 정보 제공기관으로부터 제공되는 하나 이상의 페이지별로 각 페이지를 이미지로 수집하고 수집된 이미지로부터 사후적으로 정보를 추출하는 분산 조회 방식으로 동작함으로써, 수집해야 할 정보의 종류가 많은 경우에도 프로세스 부하로 인한 조회 오류 발생을 방지하고 처리 시간을 단축할 수 있다. A page scraping service system may include a scraping server configured to collect information by scraping from an information provider server. The scraping server includes a scraping engine configured to receive image information as part or all of a screen for displaying information provided by the information provision agency server on one or more devices connected to the information provision agency server; and an image processing unit configured to extract one or more data records from the image information. According to the page scraping service system, the type of information to be collected is determined by collecting each page as an image for one or more pages provided by an information provider and operating in a distributed search method to extract information from the collected images ex post. In many cases, inquiry errors due to process load can be prevented and processing time can be shortened.

Description

페이지 스크래핑 서비스 시스템과 방법 및 이를 위한 컴퓨터 프로그램{SYSTEM AND METHOD FOR PAGE SCRAPING SERVICE AND COMPUTER PROGRAM FOR THE SAME}Page scraping service system and method and computer program therefor {SYSTEM AND METHOD FOR PAGE SCRAPING SERVICE AND COMPUTER PROGRAM FOR THE SAME}

실시예들은 페이지 스크래핑(page scraping) 서비스 시스템과 방법 및 이를 위한 컴퓨터 프로그램에 관한 것이다. 보다 상세하게는, 실시예들은 정보 제공기관 서버로부터 금융 거래내역 등 정보를 스크래핑함에 있어서 각 페이지별로 이미지를 수집하고 이미지로부터 사후적으로 데이터 레코드를 추출함으로써 프로세스 부하로 인한 조회 오류 발생을 방지하고 처리 시간을 단축하는 기술에 대한 것이다.Embodiments relate to a page scraping service system and method and a computer program therefor. More specifically, in the embodiments, when scraping information such as financial transaction details from the information provider server, images are collected for each page and data records are extracted from the images ex post to prevent and process inquiry errors due to process load. It's about technology that saves time.

기업에서는 인터넷 뱅킹 웹페이지 등에 접속하지 않더라도 기업의 업무 솔루션 내에서 계좌 조회가 가능하도록 전사적 자원관리(Enterprise Resource Planning; ERP) 시스템을 구축하는 경우가 많다. 또한, 최근에는 전자 금융 거래에서 다양하게 수집된 정보를 종합적으로 분석하여 의심거래를 탐지하고 금융 보안을 유지하기 위한 이상금융거래탐지 시스템(Fraud Detection System; FDS)이 주목을 받고 있다. Companies often build an Enterprise Resource Planning (ERP) system to enable account inquiries within the company's business solutions even without access to internet banking web pages, etc. In addition, recently, the Fraud Detection System (FDS), which detects suspicious transactions and maintains financial security by comprehensively analyzing various information collected from electronic financial transactions, has been attracting attention.

그러나, 다량의 금융기관 계좌를 보유한 기업의 경우, 거래내역이 많은 계좌를 온라인을 통하여 조회하여 ERP 시스템 또는 FDS에 연동하는 과정에서 프로세스 부하로 인하여 조회에 오류가 발생하는 현상을 겪을 수 있다. 또한, 기업의 각 업무별로 신규 계좌를 개설하는 경우 기업의 운영부서에서 여러 계좌를 관리하는 데에 어려움이 발생한다. However, in the case of companies holding a large number of financial institution accounts, errors may occur in the inquiry due to process load in the process of checking accounts with a large number of transaction details online and linking them to the ERP system or FDS. Additionally, when opening a new account for each business of a company, difficulties arise in managing multiple accounts in the company's operating department.

등록특허공보 제10-1675416호Registered Patent Publication No. 10-1675416

본 발명의 일 측면에 따르면, 기업 등 이용기관의 사용자가 정보 제공기관 서버로부터 자사 계좌의 금융 거래내역 등 정보를 스크래핑함에 있어서, 정보가 표시되는 각 페이지(page)별 이미지를 통해 거래내역을 분산 조회함으로써 프로세스 부하로 인한 조회 오류 발생을 방지하고 처리 시간을 단축하고, 다수의 계좌에 대한 대량의 입출금 내역 등 많은 양의 정보의 수집을 가능하게 한 페이지 스크래핑 서비스 시스템과 방법 및 이를 위한 컴퓨터 프로그램을 제공할 수 있다.According to one aspect of the present invention, when a user of a user organization such as a company scrapes information such as financial transaction details of his or her account from the server of an information provider, the transaction details are distributed through images for each page on which the information is displayed. A page scraping service system and method that prevents inquiry errors due to process load, shortens processing time, and enables the collection of large amounts of information, such as large amounts of deposit/withdrawal details for multiple accounts, and a computer program for the same. can be provided.

본 발명의 일 측면에 따른 페이지 스크래핑(page scraping) 서비스 시스템은, 정보 제공기관 서버로부터 스크래핑 방식으로 정보를 수집하도록 구성된 스크래핑 서버를 포함한다. 이때 상기 스크래핑 서버는, 상기 정보 제공기관 서버에 접속한 하나 이상의 장치에 상기 정보 제공기관 서버가 제공하는 정보를 표시하기 위한 화면의 일부 또는 전부를 이미지 정보로 수신하도록 구성된 스크래핑 엔진; 및 상기 이미지 정보로부터 하나 이상의 데이터 레코드를 추출하도록 구성된 이미지 처리부를 포함한다. A page scraping service system according to one aspect of the present invention includes a scraping server configured to collect information by scraping from an information provider server. At this time, the scraping server includes a scraping engine configured to receive image information as part or all of a screen for displaying information provided by the information provision agency server on one or more devices connected to the information provision agency server; and an image processing unit configured to extract one or more data records from the image information.

일 실시예에서, 상기 이미지 처리부는, 상기 스크래핑 서버와 상기 정보 제공기관 서버 사이의 통신 연결이 종료된 상태에서 상기 이미지 정보로부터 상기 하나 이상의 데이터 레코드를 추출하도록 더 구성된다. In one embodiment, the image processing unit is further configured to extract the one or more data records from the image information while the communication connection between the scraping server and the information providing agency server is terminated.

일 실시예에서, 상기 스크래핑 엔진은, 상기 정보를 표시하기 위한 화면을 구성하며 각각 미리 설정된 개수의 데이터 레코드를 표시하도록 구성된 하나 이상의 페이지로부터 각각 상기 이미지 정보를 수신하도록 더 구성된다. In one embodiment, the scraping engine is further configured to receive the image information from one or more pages that configure a screen for displaying the information and are each configured to display a preset number of data records.

일 실시예에 따른 페이지 스크래핑 서비스 시스템은, 미리 수집된 정보의 페이지 인덱스 데이터를 상기 스크래핑 서버에 전송하도록 구성된 배치 관리 서버를 더 포함한다. 이때 상기 스크래핑 서버는, 상기 정보를 표시하기 위한 화면을 구성하는 상기 하나 이상의 페이지의 개수를 상기 페이지 인덱스 데이터와 비교하여, 상기 미리 수집된 정보에 포함되지 않은 데이터 레코드를 포함하는 신규 페이지를 결정하도록 구성된 인덱스 처리부를 더 포함한다. 또한 상기 스크래핑 엔진은, 상기 신규 페이지를 상기 이미지 정보로 수신하도록 더 구성된다. The page scraping service system according to one embodiment further includes a batch management server configured to transmit page index data of pre-collected information to the scraping server. At this time, the scraping server compares the number of the one or more pages constituting the screen for displaying the information with the page index data to determine a new page containing a data record not included in the pre-collected information. It further includes a configured index processing unit. Additionally, the scraping engine is further configured to receive the new page as the image information.

일 실시예에 따른 페이지 스크래핑 서비스 시스템은, 상기 스크래핑 서버에 의해 상기 정보 제공기관 서버로부터 수집된 정보를 저장하며, 저장된 정보를 이용기관에 제공하도록 구성된 데이터베이스 서버를 더 포함한다. The page scraping service system according to one embodiment further includes a database server configured to store information collected from the information provision agency server by the scraping server and provide the stored information to the user agency.

일 실시예에서, 상기 스크래핑 엔진은, 상기 정보 제공기관 서버가 제공하는 정보의 조회 범위를 정의하는 가상 입력 정보를 상기 정보 제공기관 서버에 전송하도록 더 구성된다. 이때 상기 배치 관리 서버는, 상기 데이터베이스에 서버에 저장된 정보의 데이터 레코드의 개수 변화에 기초하여 조회 범위를 변화시키도록 상기 가상 입력 정보를 생성하고, 상기 가상 입력 정보를 상기 스크래핑 엔진에 전달하도록 더 구성된다. In one embodiment, the scraping engine is further configured to transmit virtual input information defining a query range of information provided by the information providing agency server to the information providing agency server. At this time, the batch management server is further configured to generate the virtual input information to change the search range based on a change in the number of data records of information stored in the server in the database and to transmit the virtual input information to the scraping engine. do.

일 실시예에서, 상기 배치 관리 서버는, 미리 설정된 단위 기간 동안 상기 이용기관에 상응하는 상기 데이터 레코드의 개수 변화가 클수록 상기 이용기관의 정보에 대한 조회 기간을 감소시키도록 상기 가상 입력 정보를 생성하도록 더 구성된다. In one embodiment, the batch management server generates the virtual input information so that the inquiry period for information on the user organization decreases as the change in the number of data records corresponding to the user organization during a preset unit period increases. It is more structured.

본 발명의 일 측면에 따른 페이지 스크래핑 서비스 방법은, 페이지 스크래핑 서비스 시스템의 스크래핑 서버가 스크래핑 방식으로 정보 제공기관 서버에 접속하는 단계; 상기 스크래핑 서버가, 상기 정보 제공기관 서버에 접속한 하나 이상의 장치에 상기 정보 제공기관 서버가 제공하는 정보를 표시하기 위한 화면의 일부 또는 전부를 이미지 정보로 수신하는 단계; 및 상기 스크래핑 서버가, 상기 이미지 정보로부터 하나 이상의 데이터 레코드를 추출하는 단계를 포함한다. A page scraping service method according to an aspect of the present invention includes the steps of a scraping server of a page scraping service system connecting to an information provider server through a scraping method; Receiving, by the scraping server, part or all of a screen for displaying information provided by the information provision agency server on one or more devices connected to the information provision agency server as image information; and extracting, by the scraping server, one or more data records from the image information.

일 실시예에 따른 페이지 스크래핑 서비스 방법은, 상기 하나 이상의 데이터 레코드를 추출하는 단계 전에, 상기 스크래핑 서버와 상기 정보 제공기관 서버 사이의 통신 연결을 종료하는 단계를 더 포함한다.The page scraping service method according to one embodiment further includes terminating a communication connection between the scraping server and the information provider server before extracting the one or more data records.

일 실시예에서, 상기 이미지 정보로 수신하는 단계는, 상기 스크래핑 서버가, 상기 정보를 표시하기 위한 화면을 구성하며 각각 미리 설정된 개수의 데이터 레코드를 표시하도록 구성된 하나 이상의 페이지로부터 각각 상기 이미지 정보를 수신하는 단계를 포함한다.In one embodiment, the step of receiving the image information includes the scraping server receiving the image information from one or more pages each configured to configure a screen for displaying the information and displaying a preset number of data records. It includes steps to:

일 실시예에 따른 페이지 스크래핑 서비스 방법은, 상기 페이지 스크래핑 서비스 시스템의 배치 관리 서버가, 미리 수집된 정보의 페이지 인덱스 데이터를 상기 스크래핑 서버에 전송하는 단계; 및 상기 스크래핑 서버가, 상기 정보를 표시하기 위한 화면을 구성하는 상기 하나 이상의 페이지의 개수를 상기 페이지 인덱스 데이터와 비교하여, 상기 미리 수집된 정보에 포함되지 않은 데이터 레코드를 포함하는 신규 페이지를 결정하는 단계를 더 포함한다. 이때 상기 이미지 정보로 수신하는 단계는, 상기 신규 페이지를 상기 이미지 정보로 수신하는 단계를 포함한다.A page scraping service method according to an embodiment includes the steps of a batch management server of the page scraping service system transmitting page index data of pre-collected information to the scraping server; And the scraping server compares the number of the one or more pages constituting the screen for displaying the information with the page index data to determine a new page containing a data record not included in the pre-collected information. Includes more steps. At this time, the step of receiving the image information includes receiving the new page as the image information.

일 실시예에 따른 페이지 스크래핑 서비스 방법은, 상기 스크래핑 서버에 의해 상기 정보 제공기관 서버로부터 수집된 정보를 상기 페이지 스크래핑 서비스 시스템의 데이터베이스 서버에 저장하는 단계; 및 상기 페이지 스크래핑 서비스 시스템이, 상기 데이터베이스 서버에 저장된 정보를 이용기관에 제공하는 단계를 더 포함한다. A page scraping service method according to an embodiment includes the steps of: storing information collected from the information provider server by the scraping server in a database server of the page scraping service system; And the page scraping service system further includes providing information stored in the database server to a user organization.

일 실시예에 따른 페이지 스크래핑 서비스 방법은, 상기 이미지 정보로 수신하는 단계 전에, 상기 배치 관리 서버가, 상기 데이터베이스에 서버에 저장된 정보의 데이터 레코드의 개수 변화에 기초하여, 상기 정보 제공기관 서버가 제공하는 정보의 조회 범위를 정의하는 가상 입력 정보를 생성하는 단계; 상기 배치 서버가 상기 가상 입력 정보를 상기 스크래핑 서버에 전송하는 단계; 및 상기 스크래핑 서버가 상기 가상 입력 정보를 상기 정보 제공기관 서버에 전송하는 단계를 더 포함한다.In the page scraping service method according to an embodiment, before the step of receiving the image information, the placement management server provides information provided by the information provider server in the database based on a change in the number of data records of the information stored in the server. generating virtual input information that defines a search range of information; The batch server transmitting the virtual input information to the scraping server; And it further includes the step of the scraping server transmitting the virtual input information to the information provider server.

일 실시예에서, 상기 가상 입력 정보를 생성하는 단계는, 상기 배치 관리 서버가, 미리 설정된 단위 기간 동안 상기 이용기관에 상응하는 상기 데이터 레코드의 개수 변화가 클수록 상기 이용기관의 정보에 대한 조회 기간을 감소시키도록 상기 가상 입력 정보를 생성하는 단계를 포함한다. In one embodiment, the step of generating the virtual input information includes the batch management server adjusting the inquiry period for information on the user organization as the change in the number of data records corresponding to the user organization during a preset unit period increases. and generating the virtual input information to reduce the virtual input information.

일 실시예에 따른 컴퓨터 프로그램은 하드웨어와 결합되어 전술한 실시예들에 따른 페이지 스크래핑 서비스 방법을 실행하기 위한 것으로서 컴퓨터로 판독 가능한 매체에 저장된 것일 수 있다. The computer program according to one embodiment is combined with hardware to execute the page scraping service method according to the above-described embodiments, and may be stored in a computer-readable medium.

본 발명의 일 측면에 따른 페이지 스크래핑(page scraping) 서비스 시스템 및 방법은, 정보 제공기관으로부터 제공되는 하나 이상의 정보 표시 페이지별로 각 페이지를 이미지로 수집하고, 수집된 이미지로부터 정보를 추출하는 분산 조회 방식으로 동작함으로써, 수집해야 할 정보의 종류가 많은 경우에도 프로세스 부하로 인한 조회 오류 발생을 방지하고 처리 시간을 단축할 수 있는 이점이 있다.A page scraping service system and method according to an aspect of the present invention is a distributed query method that collects images for each page for each information display page provided by an information provider and extracts information from the collected images. By operating as , there is an advantage in preventing inquiry errors due to process load and shortening processing time even when there are many types of information to be collected.

본 발명의 일 측면에 따른 페이지 스크래핑 서비스 시스템 및 방법을 이용하면, 기업 등 이용기관이 보유한 많은 계좌의 거래내역 중 특정 조회 조건에 맞는 거래내역을 배치(batch) 방식으로 수집하는 것이 용이하므로, 수집되 거래내역을 전사적 자원관리(Enterprise Resource Planning; ERP) 시스템이나 이상금융거래탐지 시스템(Fraud Detection System; FDS)을 통한 자금 대사 등에 활용할 수 있고, 자동화된 자금 관리가 가능한 이점이 있다. By using the page scraping service system and method according to one aspect of the present invention, it is easy to collect transaction details that meet specific inquiry conditions in a batch method among the transaction details of many accounts held by user organizations such as companies, so the collection The transaction details can be used for fund exchange through the Enterprise Resource Planning (ERP) system or the Fraud Detection System (FDS), and have the advantage of automated fund management.

예컨대, 본 발명의 일 측면에 따른 페이지 스크래핑 서비스 시스템 및 방법을 이용하여 실시간 거래내역 대량조회를 실현함으로써, 금융기관 및 인증서별 계좌 관리가 가능하여 신규 개설 계좌 및 해지 계좌의 관리를 자동화할 수 있고, 예금이나 적금 계좌 등의 일자별 잔액 정보 업데이트를 통하여 자금 사고를 방지할 수 있으며, 거래내역의 자체 대사를 통하여 누락 데이터에 대한 검증이 가능한 이점이 있다. For example, by realizing mass inquiry of real-time transaction details using the page scraping service system and method according to one aspect of the present invention, account management by financial institution and certificate is possible, thereby automating the management of newly opened and canceled accounts. , it is possible to prevent financial accidents by updating daily balance information of deposits or savings accounts, and has the advantage of being able to verify missing data through self-representation of transaction details.

종래에는 각 기업이 자금 관리 시스템을 직접 구현해야 하였으므로 개발 및 유지 관리가 어려웠으나, 본 발명의 일 측면에 따른 페이지 스크래핑 서비스 시스템 및 방법에 의하면 실시간 거래내역을 대량 전송하는 것이 가능하므로 스크래핑 엔진, 배치 관리 서버, DB 서버 등을 포함하는 시스템 및 이와 연계된 ERP 시스템 또는 FDS를 온프레미스(On-premise) 형태로 구성할 수 있고 기업 정보를 높은 보안 수준으로 보호할 수 있는 이점이 있다. In the past, each company had to implement its own fund management system, making development and maintenance difficult. However, according to the page scraping service system and method according to one aspect of the present invention, it is possible to transmit a large amount of real-time transaction details, so scraping engine and batch The system including the management server, DB server, etc. and the ERP system or FDS linked thereto can be configured on-premise and have the advantage of protecting corporate information at a high level of security.

도 1은 일 실시예에 따른 페이지 스크래핑(page scraping) 서비스 시스템의 구성을 나타내는 개략적인 블록도이다.
도 2는 일 실시예에 따른 페이지 스크래핑 서비스 시스템의 각 서버에 적용되는 하드웨어 구성을 나타내는 개략적인 블록도이다.
도 3은 일 실시예에 따른 페이지 스크래핑 서비스 방법의 각 단계를 나타내는 순서도이다.
도 4는 또 다른 실시예에 따른 페이지 스크래핑 서비스 방법의 각 단계를 나타내는 순서도이다.
도 5 및 도 6은 일 실시예에 따른 페이지 스크래핑 서비스 방법에 의해 데이터를 획득하는 과정을 나타내는 예시적인 화면 이미지이다.
도 7은 일 실시예에 따른 페이지 스크래핑 서비스 방법에 의해 정보의 조회 기간을 동적으로 결정하는 과정을 나타내는 순서도이다.
1 is a schematic block diagram showing the configuration of a page scraping service system according to an embodiment.
Figure 2 is a schematic block diagram showing the hardware configuration applied to each server of the page scraping service system according to an embodiment.
Figure 3 is a flowchart showing each step of the page scraping service method according to an embodiment.
Figure 4 is a flowchart showing each step of a page scraping service method according to another embodiment.
5 and 6 are exemplary screen images showing a process of acquiring data by a page scraping service method according to an embodiment.
Figure 7 is a flowchart showing a process of dynamically determining a viewing period of information by a page scraping service method according to an embodiment.

이하에서, 도면을 참조하여 본 발명의 실시예들에 대하여 상세히 살펴본다.Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings.

도 1은 일 실시예에 따른 페이지 스크래핑(page scraping) 서비스 시스템의 구성을 나타내는 개략적인 블록도이다. 1 is a schematic block diagram showing the configuration of a page scraping service system according to an embodiment.

도 1을 참조하면, 본 실시예에 따른 페이지 스크래핑 서비스 시스템(2)은 하나 이상의 사용자 장치(1) 및 하나 이상의 정보 제공기관 서버(4)와 통신하며 동작하도록 구성된다. 사용자 장치(1)는 기업, 개인사업자, 또는 개인 등 실시예들에 따른 페이지 스크래핑 서비스 시스템(2)을 이용하는 임의의 이용기관의 사용자가 사용하는 컴퓨팅 장치를 의미한다. Referring to FIG. 1, the page scraping service system 2 according to this embodiment is configured to communicate and operate with one or more user devices 1 and one or more information provider servers 4. The user device 1 refers to a computing device used by a user of any user organization that uses the page scraping service system 2 according to embodiments, such as a company, sole proprietor, or individual.

또한 정보 제공기관 서버(4)는 사용자에 관련된 정보를 제공하는 임의의 기관의 서버를 지칭한다. 예를 들어, 정보 제공기관 서버(4)는 은행, 카드사, 증권사, 보험사 등 금융기관이나, 국세청, 관공서, 정부, 지방자치단체 등 공공기관 등일 수 있다. 이하의 본 명세서에서, 정보 제공기관 서버(4)는 이용기관의 계좌가 개설된 은행 서버를 예시로 하여 설명된다. 그러나, 실시예들에 따른 페이지 스크래핑 서비스 시스템(2)이 정보를 수신할 수 있는 기관의 종류는 이에 한정되는 것은 아니다. Additionally, the information provider server 4 refers to a server of any organization that provides information related to users. For example, the information provider server 4 may be a financial institution such as a bank, credit card company, securities company, or insurance company, or a public institution such as the National Tax Service, government office, government, or local government. In the following specification, the information providing organization server 4 is explained by taking as an example a bank server where an account of the user organization is opened. However, the types of organizations from which the page scraping service system 2 according to embodiments can receive information are not limited to this.

또한 일 실시예에서, 페이지 스크래핑 서비스 시스템(2)은 이용기관에 연관된 이상금융거래탐지 시스템(Fraud Detection System; FDS)이나 전사적 자원관리(Enterprise Resource Planning; ERP) 시스템 등 하나 이상의 외부 서버(3)과 더 통신하며 동작할 수도 있다. 예를 들어, 페이지 스크래핑 서비스 시스템(2)은 하나 이상의 정보 제공기관 서버(4)에 걸쳐 개설되어 있는 사용자의 다수 계좌로부터 거래내역을 스크래핑 방식으로 수신하고, 수신된 거래내역에 대한 이상거래 탐지 또는 다른 형태의 활용을 위하여 스크래핑된 정보를 외부 서버(3)에 전송할 수도 있다. In addition, in one embodiment, the page scraping service system (2) is connected to one or more external servers (3) such as a Fraud Detection System (FDS) or an Enterprise Resource Planning (ERP) system associated with the user organization. It can also operate by further communicating with. For example, the page scraping service system 2 receives transaction details from multiple accounts of users opened across one or more information provider servers 4 by scraping, and detects abnormal transactions or detects abnormal transactions for the received transaction details. The scraped information can also be transmitted to an external server (3) for other types of use.

이상의 동작을 위하여, 페이지 스크래핑 서비스 시스템(2)은 유선 및/또는 무선 네트워크를 통하여 사용자 장치(1), 하나 이상의 정보 제공기관 서버(4) 및 외부 서버(3) 등과 통신 가능하게 연결될 수 있다.For the above operation, the page scraping service system 2 may be communicatively connected to the user device 1, one or more information provider servers 4, and an external server 3 through a wired and/or wireless network.

예를 들어, 페이지 스크래핑 서비스 시스템(2), 사용자 장치(1), 정보 제공기관 서버(4) 및 외부 서버(3) 중 하나 이상을 통신 가능하게 연결하는 유선 및/또는 무선 네트워크는 LAN(Local Area Network), MAN(Metropolitan Area Network), GSM(Global System for Mobile Network), EDGE(Enhanced Data GSM Environment), HSDPA(High Speed Downlink Packet Access), W-CDMA(Wideband Code Division Multiple Access), CDMA(Code Division Multiple Access), TDMA(Time Division Multiple Access), 블루투스(Bluetooth), 지그비(Zigbee), 와이-파이(Wi-Fi), VoIP(Voice over Internet Protocol), LTE Advanced, IEEE802.16m, WirelessMAN-Advanced, HSPA+, 3GPP Long Term Evolution (LTE), Mobile WiMAX (IEEE 802.16e), UMB (formerly EV-DO Rev. C), Flash-OFDM, iBurst and MBWA (IEEE 802.20) systems, HIPERMAN, Beam-Division Multiple Access (BDMA), Wi-MAX(World Interoperability for Microwave Access) 및 초음파 활용 통신으로 이루어진 군으로부터 선택되는 하나 이상의 통신 방법에 의한 통신 네트워크를 지칭할 수 있으나, 이에 한정되는 것은 아니다. For example, a wired and/or wireless network that communicatively connects one or more of the page scraping service system (2), the user device (1), the information provider server (4), and the external server (3) is called a LAN (Local Area Network). Area Network), MAN (Metropolitan Area Network), GSM (Global System for Mobile Network), EDGE (Enhanced Data GSM Environment), HSDPA (High Speed Downlink Packet Access), W-CDMA (Wideband Code Division Multiple Access), CDMA ( Code Division Multiple Access, TDMA (Time Division Multiple Access), Bluetooth, Zigbee, Wi-Fi, VoIP (Voice over Internet Protocol), LTE Advanced, IEEE802.16m, WirelessMAN- Advanced, HSPA+, 3GPP Long Term Evolution (LTE), Mobile WiMAX (IEEE 802.16e), UMB (formerly EV-DO Rev. C), Flash-OFDM, iBurst and MBWA (IEEE 802.20) systems, HIPERMAN, Beam-Division Multiple It may refer to a communication network using one or more communication methods selected from the group consisting of Access (BDMA), Wi-MAX (World Interoperability for Microwave Access), and ultrasonic communication, but is not limited thereto.

사용자 장치(1)는 스크래핑을 통해 수집 가능한 정보, 예컨대, 계좌의 거래내역을 조회하고자 하는 이용기관의 사용자가 사용하는 장치이다. 예를 들어, 이용기관이 기업일 경우 사용자 장치(1)는 기업의 회계 담당자 또는 임의의 임직원이 사용하는 개인용 컴퓨터(personal computer), 노트북(notebook) 컴퓨터 등일 수 있다. The user device 1 is a device used by a user of a user organization who wishes to check information that can be collected through scraping, for example, account transaction details. For example, if the user organization is a company, the user device 1 may be a personal computer, a laptop computer, etc. used by the company's accounting manager or any executive or employee.

본 명세서에서 스크래핑이란, 컴퓨터 시스템이 사용자를 대신하여 특정 서버에 접속하여 사용자 인증을 수행하고 필요한 정보를 수집하는 기술을 의미한다. 스크래핑 기술에는, 컴퓨터 시스템이 웹 페이지 등에 접속하여 필요한 화면이 나타나도록 한 후 화면상의 정보를 수집하는 스크린 스크래핑(screen scraping)과, 서버가 사전에 규정하는 애플리케이션 프로그래밍 인터페이스(Application Programming Interface; API) 등을 통하여 서버로부터 정보를 수신하는 데이터 스크래핑(data scraping) 기술이 있고, 본 명세서의 스크래핑은 이들 중 임의의 방식에 의한 것을 의미할 수 있다. In this specification, scraping refers to a technology in which a computer system connects to a specific server on behalf of a user, performs user authentication, and collects necessary information. Scraping technologies include screen scraping, which collects information on the screen after the computer system accesses a web page, etc. to display the necessary screen, and an application programming interface (API) that is defined in advance by the server. There is a data scraping technology that receives information from a server through, and scraping in this specification may mean using any of these methods.

또한, 도 1에 도시된 사용자 장치(1)의 개수나 형태는 단지 예시적인 것이다. 예를 들어, 도 1에서 사용자 장치(1)는 노트북 컴퓨터의 형태로 도시되었으나, 다른 실시예에서 사용자 장치(1)는 스마트폰(smartphone)과 같은 이동 통신 단말기, PDA(personal digital assistant), 태블릿(tablet), IPTV(Internet Protocol Television) 등을 위한 셋톱박스(set-top box) 등 임의의 컴퓨팅 장치의 형태로 구현될 수도 있다.Additionally, the number and shape of user devices 1 shown in FIG. 1 are merely exemplary. For example, in FIG. 1, the user device 1 is shown in the form of a laptop computer, but in other embodiments, the user device 1 may be a mobile communication terminal such as a smartphone, a personal digital assistant (PDA), or a tablet. It may be implemented in the form of any computing device, such as a tablet or a set-top box for IPTV (Internet Protocol Television).

페이지 스크래핑 서비스 시스템(2)은 스크래핑 엔진이 탑재된 스크래핑 서버(21)를 포함한다. 일 실시예에서, 페이지 스크래핑 서비스 시스템(2)은 스크래핑 서버(21)의 스크래핑 동작을 관리하기 위한 배치(batch) 관리 서버(22)를 더 포함한다. 또한 일 실시예에서, 페이지 스크래핑 서비스 시스템(2)은 스크래핑된 정보 및/또는 사용자의 인증 정보가 저장되는 데이터베이스(database; DB) 서버(23)를 포함한다. 나아가 일 실시예에서, 페이지 스크래핑 서비스 시스템(2)은 스크래핑된 정보를 FDS, ERP 시스템 등 외부 서버(3)에 전송하도록 구성된 중계 서버(24)를 더 포함한다. The page scraping service system 2 includes a scraping server 21 equipped with a scraping engine. In one embodiment, the page scraping service system 2 further includes a batch management server 22 for managing the scraping operation of the scraping server 21. Also, in one embodiment, the page scraping service system 2 includes a database (DB) server 23 in which scraped information and/or user authentication information is stored. Furthermore, in one embodiment, the page scraping service system 2 further includes a relay server 24 configured to transmit the scraped information to an external server 3, such as an FDS or ERP system.

스크래핑 서버(21)는 하나 이상의 정보 제공기관 서버(4)로부터 스크래핑 방식으로 정보를 수집하되, 정보 제공기관 서버(4)가 이에 접속한 장치에 정보를 표시하기 위한 화면의 일부 또는 전부를 이미지로 수집하고, 수집된 이미지로부터 사후적으로 데이터 레코드, 예컨대, 거래내역을 추출하도록 구성된다. 이상의 동작을 위하여, 스크래핑 서버(21)는 정보 제공기관 서버(4)에 스크래핑 방식으로 접속하여 필요한 화면을 이미지로 수집하기 위한 스크래핑 엔진(211)과, 이미지 정보를 처리하여 데이터 레코드를 추출하기 위한 이미지 처리부(213)를 포함할 수 있다. The scraping server 21 collects information by scraping from one or more information providing agency servers 4, and converts part or all of the screen into an image for displaying information on a device connected to the information providing agency server 4. It is configured to collect and extract data records, such as transaction details, from the collected images after the fact. For the above operation, the scraping server 21 includes a scraping engine 211 for connecting to the information provider server 4 by scraping to collect the necessary screens as images, and a scraping engine 211 for processing the image information to extract data records. It may include an image processing unit 213.

일 실시예에서, 배치 관리 서버(22)는 사전에 수집된 정보를 식별할 수 있는 페이지 인덱스(page index) 데이터를 스크래핑 서버(21)에 전달할 수 있다. 이 경우 스크래핑 서버(21)는, 배치 관리 서버(22)로부터 전달된 페이지 인덱스 데이터를 기반으로, 이미 데이터를 수집한 페이지는 제외하고 이전에 수집된 정보를 포함하지 않는 신규 페이지만을 이미지로 수신할 수 있다. 수신된 이미지로부터 추출된 데이터 레코드는 스크래핑 서버(21)로부터 배치 관리 서버(22)로 전달될 수 있다. In one embodiment, the batch management server 22 may transmit page index data that can identify information collected in advance to the scraping server 21. In this case, the scraping server 21, based on the page index data transmitted from the batch management server 22, receives only new pages that do not contain previously collected information as images, excluding pages for which data has already been collected. You can. Data records extracted from the received images may be transferred from the scraping server 21 to the batch management server 22.

이상의 동작을 위하여, 일 실시예에서 스크래핑 서버(21)는 인덱스 처리부(212)를 더 포함할 수 있다. 인덱스 처리부(212)는, 스크래핑 엔진(211)이 접속한 정보 제공기관 서버(4)로부터 제공되는 화면의 각 페이지를 배치 관리 서버(22)의 페이지 인덱스 데이터와 비교함으로써, 특정 페이지가 이전에 데이터를 수집한 페이지인지 또는 신규 데이터를 포함하는 페이지인지 여부를 판단할 수 있다. For the above operation, in one embodiment, the scraping server 21 may further include an index processing unit 212. The index processing unit 212 compares each page of the screen provided from the information provision agency server 4 connected to the scraping engine 211 with the page index data of the batch management server 22, so that the specific page has previously been deleted. You can determine whether it is a page that collected data or a page that contains new data.

예를 들어, 배치 관리 서버(22)가 제공하는 페이지 인덱스 데이터는, 이전에 이미지로 수집된 페이지의 개수, 예컨대, 최종 페이지의 번호를 포함할 수 있다. 인덱스 처리부(212)는, 정보 제공기관 서버(4)에 의해 제공되는 화면의 페이지 개수를 페이지 인덱스 데이터와 비교함으로써 이전에 스크래핑되지 않은 신규 페이지를 특정할 수 있다. 신규 데이터가 특정되면, 스크래핑 엔진(211)은 신규 페이지를 이미지 정보로 캡처(capture)하고, 캡처된 이미지로부터 데이터 레코드들을 추출할 수 있다. For example, the page index data provided by the batch management server 22 may include the number of pages previously collected as images, for example, the number of the final page. The index processing unit 212 can specify new pages that have not been previously scraped by comparing the number of pages on the screen provided by the information provision agency server 4 with page index data. When new data is specified, the scraping engine 211 can capture the new page as image information and extract data records from the captured image.

일 실시예에서, 스크래핑 서버(21)가 정보 제공기관 서버(4)의 화면 이미지로부터 개별 데이터 레코드를 추출하는 과정은 스크래핑 서버(21)와 정보 제공기관 서버(4) 사이의 통신 연결과 독립적으로 이루어질 수 있다. 예컨대, 스크래핑 서버(21)는 정보 제공기관 서버(4)에 스크래핑 방식으로 접속하여 거래내역 등 정보가 표시되는 화면을 불러오고, 해당 화면의 하나 이상의 페이지를 이미지로 수집하되, 수집된 이미지로부터 거래내역들을 추출하는 과정은 스크래핑 서버(21)와 정보 제공기관 서버(4) 사이의 통신 연결이 종료된 이후에 수행될 수도 있다. 통신 연결이 유지되는 상태에서는 각 페이지를 이미지로 수집하고, 이미지로부터 거래내역을 추출하는 과정은 통신 연결의 종료 후에 사후적으로 수행함으로써, 프로세스 부하로 인한 조회 오류 발생을 방지하고 처리 시간을 단축할 수 있다. In one embodiment, the process of the scraping server 21 extracting individual data records from the screen image of the information provider server 4 is independent of the communication connection between the scraping server 21 and the information provider server 4. It can be done. For example, the scraping server 21 connects to the information provider server 4 by scraping, loads a screen on which information such as transaction details is displayed, collects one or more pages of the screen as an image, and converts the transaction from the collected images. The process of extracting details may be performed after the communication connection between the scraping server 21 and the information providing agency server 4 is terminated. While the communication connection is maintained, each page is collected as an image, and the process of extracting transaction details from the image is performed after the communication connection is terminated, preventing inquiry errors due to process load and shortening processing time. You can.

이미지 처리부(213)를 포함한 스크래핑 서버(21)의 동작에 대해서는 도 3 내지 도 6을 참조하여 상세히 후술한다. The operation of the scraping server 21 including the image processing unit 213 will be described in detail later with reference to FIGS. 3 to 6.

배치 관리 서버(22)는 정보 요청을 위해 페이지 인덱스 데이터를 스크래핑 서버(21)에 전송하는 한편, 스크래핑 서버(21)가 신규 페이지의 이미지를 수집하면 이를 토대로 페이지 인덱스 데이터를 갱신할 수 있다. The batch management server 22 transmits page index data to the scraping server 21 to request information, and when the scraping server 21 collects images of new pages, the page index data can be updated based on them.

또한, 배치 관리 서버(22)는 스크래핑 서버(21)의 동작을 위한 인증 정보를 사용자 장치(1)로부터 수신하여 스크래핑 서버(21)에 전달할 수 있다. 이때 인증 정보란, 정보 제공기관 서버(4)로부터 정보를 수신하기 위하여 정보 제공기관 서버(4)에 대해 이용기관의 신원 확인을 수행하기 위한 정보로서, 예컨대, 공동인증서, 금융인증서, ID 및 비밀번호 등일 수 있으나, 이에 한정되는 것은 아니다. Additionally, the deployment management server 22 may receive authentication information for operation of the scraping server 21 from the user device 1 and transmit it to the scraping server 21. At this time, authentication information is information for verifying the identity of the user organization with respect to the information provision agency server 4 in order to receive information from the information provision agency server 4, such as joint certificate, financial certificate, ID and password. It may be, but is not limited to this.

데이터베이스 서버(23)는 스크래핑 서버(21)에 의해 정보 제공기관 서버(4)로부터 수집된 정보를 저장하는 역할을 한다. 예를 들어, 데이터베이스 서버(23)는 스크래핑된 정보가 저장되는 정보 저장부(231)를 포함하여, 정보 저장부(231)에 저장된 정보를 페이지 스크래핑 서비스 시스템(2)에 접속한 이용기관의 사용자 장치(1)에 제공할 수 있다. The database server 23 serves to store information collected from the information provider server 4 by the scraping server 21. For example, the database server 23 includes an information storage unit 231 in which scraped information is stored, and the information stored in the information storage unit 231 can be stored in the information storage unit 231 by users of the user organization who access the page scraping service system 2. It can be provided to device (1).

또한 일 실시예에서, 데이터베이스 서버(23)는 이용기관의 원장 정보가 저장되는 원장 저장부(232)를 더 포함한다. 본 명세서에서 원장 정보란, 이용기관이 거래내역을 수집하고자 하는 하나 또는 복수의 자사 계좌 정보(계좌번호 및 금융기관 정보를 포함함)를 지칭할 수 있다. 또한, 원장 정보는 각각의 계좌에 상응하는 이용기관의 인증 정보를 더 포함할 수도 있다. Additionally, in one embodiment, the database server 23 further includes a ledger storage unit 232 in which ledger information of user organizations is stored. In this specification, ledger information may refer to one or more company account information (including account number and financial institution information) for which the user organization wishes to collect transaction details. Additionally, the ledger information may further include authentication information of the user organization corresponding to each account.

실시예들에 따른 페이지 스크래핑 서비스 시스템(2)과 이에 포함된 각 서버 또는 부(unit)는, 전적으로 하드웨어이거나, 또는 부분적으로 하드웨어이고 부분적으로 소프트웨어인 측면을 가질 수 있다. 예컨대, 페이지 스크래핑 서비스 시스템(2)의 각 서버 또는 부는 특정 형식 및 내용의 데이터를 처리하거나 또는/또한 전자통신 방식으로 주고받기 위한 하드웨어 및 이에 관련된 소프트웨어를 통칭할 수 있다. 본 명세서에서 "부", "모듈", "장치", "단말기", "서버" 또는 "시스템" 등의 용어는 하드웨어 및 해당 하드웨어에 의해 구동되는 소프트웨어의 조합을 지칭하는 것으로 의도된다. 예를 들어, 하드웨어는 CPU 또는 다른 프로세서(processor)를 포함하는 데이터 처리 기기일 수 있다. 또한, 하드웨어에 의해 구동되는 소프트웨어는 실행중인 프로세스, 객체(object), 실행파일(executable), 실행 스레드(thread of execution), 프로그램(program) 등을 지칭할 수 있다.The page scraping service system 2 according to embodiments and each server or unit included therein may be entirely hardware, or may have aspects that are partly hardware and partly software. For example, each server or unit of the page scraping service system 2 may collectively refer to hardware and related software for processing or/or exchanging data of a specific format and content through electronic communication. In this specification, terms such as “unit,” “module,” “device,” “terminal,” “server,” or “system” are intended to refer to a combination of hardware and software driven by the hardware. For example, hardware may be a data processing device that includes a CPU or other processor. Additionally, software driven by hardware may refer to a running process, object, executable, thread of execution, program, etc.

또한, 페이지 스크래핑 서비스 시스템(2)을 구성하는 각각의 요소는 반드시 서로 물리적으로 구분되는 별개의 장치를 지칭하는 것으로 의도되지 않는다. 즉, 도 1에 도시된 페이지 스크래핑 서비스 시스템(2)의 각 서버(21 내지 24) 및 이들 서버를 구성하는 각 부는 페이지 스크래핑 서비스 시스템(2)을 구성하는 하드웨어를 해당 하드웨어에 의해 수행되는 동작에 따라 기능적으로 구분한 것일 뿐, 반드시 각각의 부가 서로 독립적으로 구비되어야 하는 것이 아니다. 물론, 실시예에 따라서는 전술한 각 서버(21 내지 24) 중 하나 이상이 서로 물리적으로 구분되는 별개의 장치로 구현되는 것도 가능하다. Additionally, each element constituting the page scraping service system 2 is not necessarily intended to refer to a separate device that is physically separate from each other. That is, each server 21 to 24 of the page scraping service system 2 shown in FIG. 1 and each part constituting these servers use the hardware constituting the page scraping service system 2 for the operations performed by the hardware. They are only divided functionally, and each part does not necessarily have to be provided independently from each other. Of course, depending on the embodiment, one or more of the servers 21 to 24 described above may be implemented as separate devices that are physically separate from each other.

도 2는 일 실시예에 따른 페이지 스크래핑 서비스 시스템의 각 서버에 적용되는 하드웨어 구성을 나타내는 개략적인 블록도이다. Figure 2 is a schematic block diagram showing the hardware configuration applied to each server of the page scraping service system according to an embodiment.

도 2를 참조하면, 실시예들에 따른 페이지 스크래핑 서비스 시스템의 각 서버 중 하나 또는 복수의 서버는 각각 하드웨어(200)를 포함하는 컴퓨팅 장치의 형태로 구현되며, 메모리(210), 프로세서(220), 통신 모듈(230) 그리고 입출력부(240)를 포함할 수 있다. Referring to FIG. 2, one or more servers among each server of the page scraping service system according to embodiments are each implemented in the form of a computing device including hardware 200, a memory 210, and a processor 220. , may include a communication module 230 and an input/output unit 240.

메모리(210)는 비-일시적인 컴퓨터 판독 가능한 기록매체로서, RAM(random access memory), ROM(read only memory), 디스크 드라이브, SSD(solid state drive), 플래시 메모리(flash memory) 등과 같은 비소멸성 대용량 저장 장치(permanent mass storage device)를 포함할 수 있다. 여기서 ROM, SSD, 플래시 메모리, 디스크 드라이브 등과 같은 비소멸성 대용량 저장 장치는 메모리(210)와는 구분되는 별도의 영구 저장 장치로서 상술한 장치나 서버에 포함될 수도 있다. The memory 210 is a non-transitory computer-readable recording medium, and is a non-perishable large capacity device such as random access memory (RAM), read only memory (ROM), disk drive, solid state drive (SSD), flash memory, etc. It may include a permanent mass storage device. Here, non-perishable mass storage devices such as ROM, SSD, flash memory, disk drive, etc. may be included in the above-mentioned device or server as a separate persistent storage device that is distinct from the memory 210.

또한, 메모리(210)에는 운영체제와 적어도 하나의 프로그램 코드(일례로 보안 모듈이나 특정 서비스의 제공을 위해 설치된 애플리케이션 등을 위한 코드)가 저장될 수 있다. 이러한 소프트웨어 구성요소들은 메모리(210)와는 별도의 컴퓨터에서 판독 가능한 기록매체로부터 로딩될 수 있다. 이러한 별도의 컴퓨터에서 판독 가능한 기록매체는 플로피 드라이브, 디스크, 테이프, DVD/CD-ROM 드라이브, 메모리 카드 등의 컴퓨터에서 판독 가능한 기록매체를 포함할 수 있다. Additionally, the memory 210 may store an operating system and at least one program code (for example, a code for a security module or an application installed to provide a specific service). These software components may be loaded from a computer-readable recording medium separate from the memory 210. Such separate computer-readable recording media may include computer-readable recording media such as floppy drives, disks, tapes, DVD/CD-ROM drives, and memory cards.

다른 실시예에서 소프트웨어 구성요소들은 컴퓨터에서 판독 가능한 기록매체가 아닌 통신 모듈(230)을 통해 메모리(210)에 로딩될 수도 있다. 예를 들어, 적어도 하나의 프로그램은 개발자들 또는 애플리케이션의 설치 파일을 배포하는 파일 배포 시스템(일례로, 애플리케이션 스토어 서비스 서버)이 네트워크를 통해 제공하는 파일들에 의해 설치되는 컴퓨터 프로그램에 기반하여 메모리(210)에 로딩될 수 있다.In another embodiment, software components may be loaded into the memory 210 through the communication module 230 rather than a computer-readable recording medium. For example, at least one program is based on a computer program installed in memory ( 210).

프로세서(220)는 기본적인 산술, 로직 및 입출력 연산을 수행함으로써, 컴퓨터 프로그램의 명령을 처리하도록 구성될 수 있다. 명령은 메모리(210) 또는 통신 모듈(230)에 의해 프로세서(220)로 제공될 수 있다. 예를 들어 프로세서(220)는 메모리(210)와 같은 기록 장치에 저장된 프로그램 코드에 따라 수신되는 명령을 실행하도록 구성될 수 있다.The processor 220 may be configured to process instructions of a computer program by performing basic arithmetic, logic, and input/output operations. Commands may be provided to the processor 220 by the memory 210 or the communication module 230. For example, processor 220 may be configured to execute received instructions according to program code stored in a recording device such as memory 210.

통신 모듈(230)은 네트워크를 통해 페이지 스크래핑 서비스 시스템(2)이 사용자 장치(1), 정보 제공기관 서버(4) 및/또는 외부 서버(3) 등과 통신하기 위한 기능을 제공할 수 있다. 또한, 통신 모듈(230)은 페이지 스크래핑 서비스 시스템(2)이 유선 및/또는 무선 네트워크를 통해 다른 하나 이상의 장치와 통신하기 위한 기능을 제공할 수 있다. 즉, 통신 모듈(230)은 메모리(210)를 참조하는 프로세서(220)에 의하여 그 기능이 제어됨으로써, 도 1을 참조하여 전술한 각 기능 모듈을 실현하는 부분이다. The communication module 230 may provide a function for the page scraping service system 2 to communicate with the user device 1, the information provider server 4, and/or the external server 3 through a network. Additionally, the communication module 230 may provide a function for the page scraping service system 2 to communicate with one or more other devices through a wired and/or wireless network. That is, the communication module 230 is a part that realizes each of the function modules described above with reference to FIG. 1 by having its functions controlled by the processor 220 that refers to the memory 210.

입출력부(240)는 외부 입력/출력장치(미도시)와의 인터페이스를 위한 수단일 수 있다. 예를 들어, 외부 입력장치는 키보드, 마우스, 마이크로폰, 카메라 등의 장치를, 그리고 외부 출력 장치는 디스플레이, 스피커, 햅틱 피드백 장치(haptic feedback device) 등과 같은 장치를 포함할 수 있다. 다른 예로 입출력부(240)는 터치스크린과 같이 입력과 출력을 위한 기능이 하나로 통합된 장치와의 인터페이스를 위한 수단일 수도 있다. The input/output unit 240 may be a means for interfacing with an external input/output device (not shown). For example, external input devices may include devices such as a keyboard, mouse, microphone, and camera, and external output devices may include devices such as a display, speaker, and haptic feedback device. As another example, the input/output unit 240 may be a means for interfacing with a device that integrates input and output functions into one, such as a touch screen.

또한, 다른 실시예들에서 페이지 스크래핑 서비스 시스템(2)의 각 서버는 적용되는 장치의 성질에 따라서 도 2에 도시된 구성요소들보다 더 많은 하드웨어 구성요소들을 포함할 수도 있다. 예를 들어, 페이지 스크래핑 서비스 시스템(2)이 사용자가 사용하는 단말 장치에 적용되는 경우 상술한 입출력 장치 중 적어도 일부를 포함하도록 구현되거나 또는 트랜시버(transceiver), GPS(Global Positioning System) 모듈, 카메라, 각종 센서, 데이터베이스 등과 같은 다른 구성요소들을 더 포함할 수도 있다. 보다 구체적인 예로, 단말 장치가 스마트폰(smartphone)인 경우, 일반적으로 스마트폰이 포함하고 있는 가속도 센서나 자이로 센서, 카메라 모듈, 각종 물리적인 버튼, 터치패널을 이용한 버튼, 입출력 포트, 진동을 위한 진동기 등의 다양한 구성요소들이 더 포함되도록 구현될 수 있다.Additionally, in other embodiments, each server of the page scraping service system 2 may include more hardware components than those shown in FIG. 2 depending on the nature of the applied device. For example, when the page scraping service system 2 is applied to a terminal device used by a user, it is implemented to include at least some of the above-described input and output devices, or a transceiver, a Global Positioning System (GPS) module, a camera, It may further include other components such as various sensors, databases, etc. As a more specific example, when the terminal device is a smartphone, the smartphone generally includes an acceleration sensor, a gyro sensor, a camera module, various physical buttons, buttons using a touch panel, input/output ports, and a vibrator for vibration. It can be implemented to further include various components such as:

이하에서 설명하는 페이지 스크래핑 서비스 방법은, 도 2를 참조하여 전술한 하드웨어(200) 구성을 포함하는 컴퓨팅 장치 형태로 구현된 서버와의 정보 송수신을 적어도 부분적으로 수반하여 수행될 수 있다. 일 예로, 페이지 스크래핑 서비스 방법은 사용자 장치 및/또는 서버에 기초하여 동작하는 애플리케이션, 소프트웨어 및 그 밖의 프로그램 중 적어도 어느 하나에 기초한 서비스의 형태로 사용자에게 제공될 수 있다.The page scraping service method described below may be performed at least partially involving information transmission and reception with a server implemented in the form of a computing device including the hardware 200 configuration described above with reference to FIG. 2. As an example, the page scraping service method may be provided to the user in the form of a service based on at least one of applications, software, and other programs that operate on the user device and/or server.

도 3은 일 실시예에 따른 페이지 스크래핑 서비스 방법의 각 단계를 나타내는 순서도이다. 이하에서는, 설명의 편의를 위하여 도 1 및 도 3을 참조하여 본 실시예에 따른 페이지 스크래핑 서비스 방법에 대하여 설명한다. Figure 3 is a flowchart showing each step of the page scraping service method according to an embodiment. Hereinafter, for convenience of explanation, the page scraping service method according to this embodiment will be described with reference to FIGS. 1 and 3.

먼저, 스크래핑 서버(21)는 이용기관에 관련된 하나 이상의 장치(예컨대, 사용자 장치(1))로부터 수신된 요청에 따라, 이용기관의 인증 정보를 이용한 스크래핑 방식으로 정보 제공기관 서버(4)에 접속할 수 있다(S11). First, the scraping server 21 connects to the information provider server 4 by scraping using the authentication information of the user organization in accordance with a request received from one or more devices (e.g., user device 1) related to the user organization. (S11).

스크래핑 서버(21)는, 정보 제공기관 서버(4)가 이에 접속한 장치들에 정보를 제공하기 위한 화면에 해당하는 데이터를 수신하고, 이러한 화면을 이미지 형태로 수신할 수 있다(S13). 이때, 스크래핑 서버(21)는 조회 기간 등 조회 조건을 정의하는 입력을 정보 제공기관 서버(4)에 전송함으로써, 해당 조건에 부합하는 데이터 레코드(예컨대, 거래내역)들이 표시되는 하나 또는 복수 개의 페이지를 로드하고(S12), 로드된 각 페이지를 각각 하나 또는 복수 개의 이미지 파일의 형태로 수집할 수 있다. The scraping server 21 may receive data corresponding to a screen for the information provision agency server 4 to provide information to devices connected thereto, and may receive this screen in the form of an image (S13). At this time, the scraping server 21 transmits an input defining inquiry conditions, such as a inquiry period, to the information provider server 4, thereby creating one or more pages on which data records (e.g., transaction details) that meet the conditions are displayed. can be loaded (S12), and each loaded page can be collected in the form of one or multiple image files.

정보 제공 화면의 각 페이지가 이미지 형태로 수집되고 난 후, 스크래핑 서버(21)는 수집된 이미지 정보로부터 개별 데이터 레코드(예컨대, 거래내역)들을 문자 인식 등의 방법에 의하여 추출할 수 있다(S15). 이상의 동작은 정보 제공기관 서버(4)로부터 이미 수집된 이미지를 처리하여 수행되는 것이므로, 데이터 레코드의 추출 동안 스크래핑 서버(21)가 정보 제공기관 서버(4)에 접속된 상태를 유지할 필요는 없다. 즉, 스크래핑 서버(21)는 정보 제공기관 서버(4)와의 통신 연결을 종료한 후(S14) 이미지로부터 거래내역을 추출하도록 구성될 수 있다. After each page of the information provision screen is collected in image form, the scraping server 21 can extract individual data records (e.g., transaction details) from the collected image information using a method such as character recognition (S15). . Since the above operation is performed by processing images already collected from the information providing agency server 4, there is no need for the scraping server 21 to remain connected to the information providing agency server 4 during extraction of data records. That is, the scraping server 21 may be configured to extract transaction details from the image after terminating the communication connection with the information provider server 4 (S14).

실시예들에 따른 스크래핑 서버(21)가 화면 이미지를 수집하고 이미지로부터 거래내역을 추출하는 과정에 대해서는 도 5 및 도 6을 참조하여 상세히 후술한다. The process of the scraping server 21 according to embodiments collecting screen images and extracting transaction details from the images will be described in detail later with reference to FIGS. 5 and 6.

도 4는 또 다른 실시예에 따른 페이지 스크래핑 서비스 방법의 각 단계를 나타내는 순서도이다. Figure 4 is a flowchart showing each step of a page scraping service method according to another embodiment.

도 4를 참조하면, 본 실시예에 따른 페이지 스크래핑 서비스 방법을 이용하고자 하는 이용기관에서는 사용자 장치(1)를 통하여 DB 서버(23)에 원장 정보를 등록할 수 있다(S21). 이는 기업 등 이용기관에서 하나 또는 복수의 금융기관에 걸쳐 개설되어 있는 자사의 계좌 정보와 해당 계좌에 대한 사용자 인증을 위한 인증 정보를 DB 서버(23)에 저장하는 것을 의미할 수 있다. Referring to FIG. 4, a user organization that wishes to use the page scraping service method according to this embodiment can register ledger information in the DB server 23 through the user device 1 (S21). This may mean that a user institution, such as a company, stores its account information opened across one or multiple financial institutions and authentication information for user authentication for the account in the DB server 23.

이용기관의 사용자는, 계좌의 거래내역 등 조회하고자 하는 정보가 있을 경우 정보 요청을 DB 서버(23) 및/또는 배치 관리 서버(22)에 전송할 수 있고(S22), 배치 관리 서버(22)는 이에 대한 응답으로 페이지 스크래핑 조회를 스크래핑 서버(21)에 요청할 수 있다. 이때, 배치 관리 서버(22)는 이전에 스크래핑된 페이지를 식별할 수 있도록 하는 페이지 인덱스 데이터를 스크래핑 서버(21)에 전송할 수도 있다(S23). If there is information that the user of the user organization wants to inquire, such as account transaction details, the information request can be sent to the DB server 23 and/or the batch management server 22 (S22), and the batch management server 22 In response to this, a page scraping inquiry can be requested from the scraping server 21. At this time, the batch management server 22 may transmit page index data that allows identification of previously scraped pages to the scraping server 21 (S23).

도 3의 실시예에서는 별도의 정보 요청이 있을 경우 배치 관리 서버(22)가 스크래핑을 실행하는 것으로 도시되었으나, 다른 실시예에서 배치 관리 서버(22)에는 소정의 스케줄러가 구비되어, 미리 설정된 스케줄을 기반으로 주기적으로 스크래핑을 수행하도록 스크래핑 서버(21)를 제어하는 것도 가능하다. In the embodiment of FIG. 3, the batch management server 22 is shown to perform scraping when a separate information request is made. However, in another embodiment, the batch management server 22 is provided with a predetermined scheduler to run a preset schedule. It is also possible to control the scraping server 21 to periodically perform scraping based on the scraping server 21.

스크래핑 서버(21)는 배치 관리 서버(22)의 요청에 따라 정보 제공기관 서버(4)로부터 정보를 스크래핑할 수 있다. 이용기관을 대신하여 스크래핑 방식으로 정보 제공기관 서버(4)로부터 정보를 수집하기 위하여, 스크래핑 서버(21)는 공동인증서, 공인인증서, 간편인증 등 이용기관의 인증 정보를 이용하여 정보 제공기관 서버(4)에 대한 사용자 인증을 수행할 수 있다. The scraping server 21 can scrape information from the information provider server 4 according to the request of the batch management server 22. In order to collect information from the information provider server (4) by scraping on behalf of the user organization, the scraping server (21) uses the user organization's authentication information such as joint certificate, public certificate, and simple authentication to collect information from the information provider server (4). User authentication can be performed for 4).

일 실시예에서, 정보를 수신하기 위한 정보 제공기관 서버(4)가 다수일 경우, 페이지 스크래핑 서비스 시스템(2)은 사용자에 대한 인증을 각각의 정보 제공기관 서버(4)에 대해 순차적으로 수행하는 것이 아니라 복수의 정보 제공기관 서버(4)를 대상으로 한 번에 처리되도록 일괄 인증을 지원할 수도 있다. 예를 들어, 배치 관리 서버(22)는 사용자 장치(1)로부터 사용자의 인증 키(예컨대, 인증서 및 인증서 비밀번호)를 수신하되, 이러한 인증 키를 복수의 정보 제공기관 서버(4)에 각각 대응되는 복수의 인증 방식으로 각각 처리하여, 서로 상이한 여러 정보 제공기관 서버(4)에 대해 사용자 인증을 수행하기 위한 인증 데이터를 동시에 획득할 수 있다. 인증 데이터란, 사용자가 입력한 인증서와 인증서 비밀번호가 결합되어 암호화된 전자서명 데이터일 수 있다. In one embodiment, when there are multiple information providing agency servers 4 for receiving information, the page scraping service system 2 sequentially performs authentication for the user for each information providing agency server 4. Alternatively, batch authentication may be supported so that it can be processed at once for multiple information provision agency servers (4). For example, the batch management server 22 receives the user's authentication key (e.g., certificate and certificate password) from the user device 1, and sends this authentication key to each of the plurality of information provider servers 4. By processing each of the plurality of authentication methods, it is possible to simultaneously obtain authentication data for performing user authentication on several different information provider servers 4. Authentication data may be electronic signature data encrypted by combining the certificate and certificate password entered by the user.

스크래핑 서버(21)는, 배치 관리 서버(22)로부터 이용기관의 인증 정보를 수신하고, 이를 이용한 스크래핑 방식으로 정보 제공기관 서버(4)로부터 금융 거래내역 등 정보를 수신하되, 전술한 것과 같이 복수의 정보 제공기관 서버(4)에 대한 인증이 한 번에 진행된 경우, 배치 관리 서버(22)에 의해 생성된 복수의 인증 정보를 이용하여 다수의 정보 제공기관 서버(4)에 대한 접속을 동시에 진행할 수도 있다.The scraping server 21 receives authentication information of the user organization from the batch management server 22, and receives information such as financial transaction details from the information provision organization server 4 through scraping using this, and multiple information as described above. When authentication to the information provision agency server 4 is performed at once, connection to a plurality of information provision agency servers 4 can be performed simultaneously using a plurality of authentication information generated by the batch management server 22. It may be possible.

종래의 스크래핑 방식에서, 스크래핑 엔진은 매 조회 시마다 정보 제공기관이 제공하는 모든 정보를 스크래핑 방식으로 수집하고, 사전에 수집되어 저장된 정보가 있을 경우에는 일단 스크래핑을 수행하고 난 후 기존 데이터와 중복된 데이터를 판별하여 폐기하도록 구성되었다. 그러나 이처럼 매번 전체 데이터를 수신하는 것은, 데이터를 수집할 대상(예컨대, 계좌)이 다수일 경우 프로세스 부하를 증가시키고 오류의 발생 가능성을 높이는 문제가 있다. In the conventional scraping method, the scraping engine collects all information provided by the information provider at each inquiry by scraping, and if there is information collected and stored in advance, data duplicated with existing data is collected after scraping is performed. It is designed to identify and discard. However, receiving all data every time like this has the problem of increasing the process load and increasing the possibility of errors when there are multiple objects (eg, accounts) to collect data from.

반면, 본 발명의 실시예들에서 스크래핑 서버(21)는 정보 제공기관 서버(4)가 데이터를 제공하는 화면의 각 페이지를 로드하여(S24), 로드된 페이지를 이미지 형태로 수신하도록 구성된다(S25). 이후 수신된 이미지로부터 데이터 레코드를 추출하는 과정은 스크래핑 서버(21)와 정보 제공기관 서버(4)의 통신 연결이 종료된 상태에서 이루어질 수도 있으므로(S26), 다수의 계좌에 대한 많은 양의 거래내역을 수집하기 위해 프로세스 부하나 오류 가능성이 증가하는 것을 방지할 수 있다. On the other hand, in the embodiments of the present invention, the scraping server 21 is configured to load each page of the screen on which the information provider server 4 provides data (S24) and receive the loaded page in the form of an image (S24) S25). Since the process of extracting data records from the received images may be performed while the communication connection between the scraping server 21 and the information provider server 4 is terminated (S26), a large amount of transaction details for multiple accounts This can prevent increased process load or error potential.

또한, 일 실시예에서 배치 관리 서버(22)는 이전까지 수집된 정보 페이지를 식별하기 위한 페이지 인덱스 데이터를 스크래핑 서버(21)에 전달함으로써, 스크래핑 서버(21)가 모든 정보 페이지를 수신할 필요 없이 신규 데이터가 포함된 페이지만을 분산 조회하도록 할 수 있다. 사전에 구축된 페이지 인덱스 데이터가 없는 경우, 배치 관리 서버(22)는 DB 서버(23)에 저장되어 있는 원장 및 기타 정보를 조회하여 페이지 인덱스 데이터를 구축할 수도 있다. Additionally, in one embodiment, the batch management server 22 transmits page index data for identifying previously collected information pages to the scraping server 21, thereby eliminating the need for the scraping server 21 to receive all information pages. Only pages containing new data can be searched distributedly. If there is no pre-built page index data, the batch management server 22 may construct page index data by querying the ledger and other information stored in the DB server 23.

도 5 및 도 6은 일 실시예에 따른 페이지 스크래핑 서비스 방법에 의해 데이터를 획득하는 과정을 나타내는 예시적인 화면 이미지이다. 5 and 6 are exemplary screen images showing a process of acquiring data by a page scraping service method according to an embodiment.

도 4 내지 도 6을 참조하면, 일 실시예에 따른 페이지 스크래핑 서비스 시스템(2)에서 스크래핑 서버(21)는 이용기관의 인증 정보를 이용하여 스크래핑을 위한 정보 제공기관 서버(4)로의 인증 과정을 수행할 수 있다. 예를 들어, 이용기관인 기업이 특정 거래 기간에 대한 배치(batch) 방식의 조회를 희망하는 경우, 스크래핑 서버(21)는 이용기관의 인증서를 이용하여 금융기관의 기업뱅킹 웹 페이지에 자동으로 로그인하고, 수시전계좌 조회, 수시전계좌 잔액조회 등 거래내역이 표시되는 화면을 불러오기 위한 메뉴를 선택함으로써 해당 화면이 로드(load)되도록 할 수 있다. Referring to FIGS. 4 to 6, in the page scraping service system 2 according to an embodiment, the scraping server 21 performs an authentication process with the information provider server 4 for scraping using the authentication information of the user organization. It can be done. For example, if a company that is a user organization wishes to conduct a batch inquiry for a specific transaction period, the scraping server 21 automatically logs in to the financial institution's corporate banking web page using the user organization's certificate and , you can load the screen by selecting a menu to load a screen that displays transaction details such as pre-registration account inquiry, pre-registration account balance inquiry, etc.

도 5는 이러한 거래내역 표시 화면의 일 예를 나타내는 것으로서, 거래내역 표시 화면은 스크래핑의 대상인 하나 이상의 데이터 레코드(즉, 개별 거래내역)가 표시되는 정보 영역(430)을 포함할 수 있다. 또한, 거래내역 표시 화면은 계좌번호 등 계좌 정보가 표시되는 정보 영역(410), 및/또는 거래내역의 조회 구분(입금 및/또는 출금 등)(421), 정렬 방식(예컨대, 최근일순 또는 과거일순 등)(422), 조회 기간(423) 등 조회 조건을 정의하는 조건 영역(420)을 더 포함할 수도 있다. Figure 5 shows an example of such a transaction details display screen, and the transaction details display screen may include an information area 430 where one or more data records (i.e., individual transaction details) that are the target of scraping are displayed. In addition, the transaction history display screen includes an information area 410 where account information such as account number is displayed, and/or transaction history search classification (deposit and/or withdrawal, etc.) 421, and a sorting method (e.g., most recent or past). It may further include a condition area 420 that defines search conditions such as date (day, etc.) (422) and inquiry period (423).

이때, 실시예들에 따른 스크래핑 서버(21)는 거래내역이 표시되는 화면 상의 적어도 정보 영역(430)을 이미지 형태로 수신할 수 있다. 정보 영역(430)에는 하나 이상의 개별 거래내역(431 내지 440)이 포함되므로, 스크래핑 서버(21)는 정보 영역(430)을 이미지 파일로 캡처(capture)한 후, 생성된 이미지 파일에 대한 이미지 처리를 통하여 사후적으로 개별 거래내역(431 내지 440)을 추출할 수 있다. At this time, the scraping server 21 according to embodiments may receive at least the information area 430 on the screen where transaction details are displayed in the form of an image. Since the information area 430 includes one or more individual transaction details 431 to 440, the scraping server 21 captures the information area 430 as an image file and then performs image processing on the generated image file. Individual transaction details (431 to 440) can be extracted ex post through .

한편, 조건 영역(420)을 통해 정의되는 조회 조건에 따라, 해당 조회 조건에 부합하는 거래내역의 개수가 많을 경우 거래내역들이 하나의 페이지에 표시되지 않을 수도 있다. 도 5에 도시된 예에서는, 정보 영역(430) 우측의 스크롤 바(510)에서 핸들(handle)(511)을 아래로 내리는 것에 의하여 정보 영역(430)에 표시되는 거래내역들이 달라지며, 스크롤 바(510) 상의 핸들(511)의 위치가 상이한 각 화면을 본 명세서에서는 페이지로 정의한다. Meanwhile, depending on the search conditions defined through the condition area 420, if the number of transaction details that meet the search conditions is large, the transaction details may not be displayed on one page. In the example shown in FIG. 5, the transaction details displayed in the information area 430 are changed by moving the handle 511 down on the scroll bar 510 on the right side of the information area 430, and the scroll bar Each screen with a different position of the handle 511 on 510 is defined as a page in this specification.

도 5에서는 스크롤 바(510)를 이용한 페이지 이동을 설명하였으나, 페이지 이동(예컨대, 앞/뒤)을 위한 버튼 또는 페이지 번호에 해당하는 버튼을 클릭함으로써 거래내역 페이지 사이를 전환하도록 정보 화면이 구성될 수도 있으며, 정보를 표시하는 페이지의 형태 및 페이지 간의 이동 방식은 본 명세서에 기재된 예시로 제한되지 않는다. In Figure 5, page movement using the scroll bar 510 is explained, but the information screen can be configured to switch between transaction history pages by clicking the button for page movement (e.g., forward/backward) or the button corresponding to the page number. The type of page that displays information and the method of moving between pages are not limited to the examples described in this specification.

도 6은 도 5에 도시된 화면에서 스크롤 바(510)의 핸들(511)을 아래로 내림으로써 정보 영역(450) 및 정보 영역(450)에 포함된 거래내역(451 내지 460)이 변화된 형태를 나타낸다. 즉, 핸들(511)의 이동에 의하여 도 5에 표시된 페이지로부터 도 6에 표시된 페이지로의 이동이 이루어진 것이며, 이때 실시예들에 따른 스크래핑 서버(4)는 새로운 페이지의 적어도 정보 영역(450)을 이미지로 수신하고, 수신된 이미지에 대한 이미지 처리를 통해 개별 거래내역(451 내지 460)들을 추출할 수 있다. FIG. 6 shows the information area 450 and the transaction details 451 to 460 included in the information area 450 being changed by lowering the handle 511 of the scroll bar 510 on the screen shown in FIG. 5. indicates. That is, the movement from the page shown in FIG. 5 to the page shown in FIG. 6 is achieved by moving the handle 511, and at this time, the scraping server 4 according to the embodiments creates at least the information area 450 of the new page. It is possible to receive images as images and extract individual transaction details (451 to 460) through image processing on the received images.

스크롤 바(510) 등 사용자 인터페이스(User Interface; UI) 요소의 동작 방식에 따라서는, 각각의 페이지는 하나 이상의 서로 중복된 거래내역을 포함할 수도 있다. 이 경우, 스크래핑 서버(21)는 수집된 각 페이지의 이미지로부터 거래내역을 추출하되, 각 이미지로부터 추출된 거래내역을 비교하여 중복된 거래내역은 폐기하고, 새로 수집된 거래내역만을 이용기관에 제공하거나 또는/또한 DB 서버(23)에 저장할 수 있다. Depending on the operation method of user interface (UI) elements such as the scroll bar 510, each page may include one or more overlapping transaction details. In this case, the scraping server 21 extracts transaction details from the images of each collected page, compares the transaction details extracted from each image, discards duplicate transaction details, and provides only the newly collected transaction details to the user agency. or/or may be stored in the DB server 23.

일 실시예에서, 배치 관리 서버(22)는 이전에 거래내역이 수집된 페이지의 개수(또는, 최종 페이지의 번호)를 페이지 인덱스 데이터로 스크래핑 서버(21)에 전달하며, 스크래핑 서버(21)는 이를 이용하여 정보 제공기관 서버(4)의 정보 화면 중 새로운 페이지만을 이미지로 수집할 수도 있다. 예를 들어, 배치 관리 서버(22)가 전달한 페이지 인덱스 데이터가 5라고 가정한다. 이때, 스크래핑 서버(21)는 스크롤 바(510)를 통하여 핸들(511)을 최소 단위로 움직여가면서 표시되는 각 페이지를 이동하되, 처음부터 5번째 페이지까지는 이전에 데이터를 수집한 페이지이므로 이를 이미지로 수집하지 않고, 신규 페이지인 6번째 이하의 페이지를 이미지로 수집할 수 있다. In one embodiment, the batch management server 22 transmits the number of pages on which transaction details were previously collected (or the number of the final page) as page index data to the scraping server 21, and the scraping server 21 Using this, only new pages among the information screens of the information provider server 4 can be collected as images. For example, assume that the page index data delivered by the batch management server 22 is 5. At this time, the scraping server 21 moves each displayed page by moving the handle 511 in minimum units through the scroll bar 510, but since the first to fifth pages are pages for which data was previously collected, they are converted into images. Without collecting, you can collect images from the 6th or lower pages, which are new pages.

또 다른 실시예에서, 이전에 수집된 페이지의 개수(또는, 최종 페이지 번호)가 임의의 자연수 n이더라도, 이전의 데이터 수집 시 최종 n번째 페이지는 거래내역이 완전히 채워진 상태가 아니었을 수 있다. 이 경우, 페이지 번호가 동일한 n번째 페이지라도 해당 페이지가 최종 페이지가 아닌 상태에서는 해당 페이지에 신규 거래내역이 추가되었을 가능성이 있으므로, 배치 관리 서버(22)로부터 전달받은 페이지 인덱스 데이터가 n일 경우 스크래핑 서버(21)는 n번째 페이지부터를 신규 페이지로 인식하여 이를 이미지로 수집하도록 구성될 수도 있다. In another embodiment, even if the number of previously collected pages (or final page number) is a random natural number n, the final nth page may not have been completely filled with transaction details during previous data collection. In this case, even if the nth page has the same page number, if the page is not the final page, there is a possibility that new transaction details have been added to the page, so if the page index data received from the batch management server 22 is n, scraping is performed. The server 21 may be configured to recognize pages starting from the nth page as new pages and collect them as images.

도 5 및 도 6에 도시된 실시예에서는 정보 영역(430, 450)의 거래내역은 과거의 거래내역이 상단에 표시되고 하단으로 갈수록 최근 거래내역이 표시되는 형태로 정렬되었으며, 따라서 스크롤 바(510)의 핸들(511)을 내릴수록 신규 거래내역을 포함하는 새로운 페이지가 표시된다. 그러나 이는 예시적인 것으로서, 다른 실시예에서 거래내역 등 정보는 다른 상이한 방식으로 정렬될 수도 있고, 스크래핑 서버(21)는 정보 제공기관 서버(4)가 제공하는 데이터 레코드의 정렬 형태를 기초로 신규 페이지가 표시되는 부분을 판단할 수도 있다. In the embodiment shown in FIGS. 5 and 6, the transaction details of the information areas 430 and 450 are arranged in such a way that past transaction details are displayed at the top and recent transaction details are displayed toward the bottom, so the scroll bar 510 ), the lower the handle 511 is, the more a new page containing new transaction details is displayed. However, this is an example, and in other embodiments, information such as transaction details may be sorted in a different way, and the scraping server 21 creates a new page based on the sorting form of the data records provided by the information provider server 4. You can also judge the part where is displayed.

스크래핑 서버(21)는 전술한 과정을 거쳐 신규 페이지로 판단된 페이지들로부터 이미지를 수집하고(S25), 수집된 이미지로부터 거래내역 등 데이터 레코드를 추출할 수 있다(S26). 스크래핑 서버(21)에 의하여 추출된 정보는 배치 관리 서버(22)로 전송되며(S27), 배치 관리 서버(22)는 스크래핑된 정보를 이용기관의 사용자 장치(1)에 통지할 수 있다. 일 실시예에서, 배치 관리 서버(22)는 스크래핑된 정보를 DB 서버(23)에 저장하여(S28), 사용자 장치(1)에서 DB 서버(23)에 접속하여 정보를 확인하도록 하는 방식으로 이용기관에 정보를 전송할 수도 있다(S29). The scraping server 21 can collect images from pages determined to be new pages through the above-described process (S25) and extract data records such as transaction details from the collected images (S26). The information extracted by the scraping server 21 is transmitted to the batch management server 22 (S27), and the batch management server 22 can notify the user device 1 of the user organization of the scraped information. In one embodiment, the batch management server 22 stores the scraped information in the DB server 23 (S28) and uses it to allow the user device 1 to access the DB server 23 to check the information. Information can also be transmitted to organizations (S29).

일 실시예에서, 스크래핑 서버(21)는 각 페이지의 거래내역을 추출한 후 거래내역 표시 화면의 일부인 합계 영역(445)을 이용하여 추출된 데이터의 누락 여부 등에 대한 검증을 진행할 수도 있다. 이때, 합계 영역(445)은 해당 페이지 상에 표시된 거래내역의 입금액 전체의 합계 및/또는 출금액 전체의 합계가 표시되는 영역을 지칭한다. 예컨대, 스크래핑 서버(21)는 각 페이지의 정보 영역(430, 450)과 합계 영역(445)을 함께 또는 각각 별개로 이미지로 수집하고, 정보 영역(430, 450)의 이미지로부터 추출된 각 거래내역(431 내지 440, 451 내지 460)의 입금액 및/또는 출금액의 합계를 합계 영역(445)의 기재 내용과 비교하여, 페이지로부터 데이터의 누락 없이 모든 거래내역이 추출되었는지 여부를 검증할 수 있다. In one embodiment, the scraping server 21 may extract the transaction details of each page and then use the total area 445, which is part of the transaction details display screen, to verify whether the extracted data is missing. At this time, the total area 445 refers to an area where the sum of all deposited amounts and/or all withdrawn amounts of the transaction details displayed on the relevant page are displayed. For example, the scraping server 21 collects the information areas 430 and 450 and the total area 445 of each page together or separately as images, and each transaction history extracted from the images of the information areas 430 and 450. By comparing the sum of the deposit and/or withdrawal amounts (431 to 440, 451 to 460) with the contents of the total area 445, it is possible to verify whether all transaction details have been extracted from the page without missing data.

또한 일 실시예에서, 페이지 스크래핑 서비스 시스템(2)은 스크래핑된 정보를 중계 서버(24; 도 1)를 통하여 기업의 FDS 또는 ERP 시스템 등 외부 서버(3)에 더 전송할 수도 있다. 예를 들어, 중계 서버는 사전에 설정된 애플리케이션 프로그래밍 인터페이스(Application Programming Interface; API)를 통하여 외부 서버(3)와 통신하도록 구성될 수 있다. 이용기관의 FDS 또는 ERP 시스템 등에서는, 페이지 스크래핑 서비스 시스템(2)이 배치 방식으로 조회한 거래내역을 API를 통해 용이하게 확인할 수 있으므로 실시간 거래내역 대량조회를 실현할 수 있으므로, 기업이 보유한 전 계좌의 거래내역 정보를 활용하여 용이한 기업 자금관리를 실현할 수 있는 이점이 있다. Additionally, in one embodiment, the page scraping service system 2 may further transmit the scraped information to an external server 3, such as a company's FDS or ERP system, through the relay server 24 (FIG. 1). For example, the relay server may be configured to communicate with the external server 3 through a preset application programming interface (API). In the user organization's FDS or ERP system, transaction details searched by the page scraping service system (2) in a batch manner can be easily confirmed through API, enabling real-time transaction history bulk inquiry, so that all accounts held by the company can be checked. There is an advantage in being able to easily manage corporate funds by utilizing transaction history information.

본 발명의 실시예들에 따른 페이지 스크래핑 서비스 방법에서는, 거래내역 등 정보가 표시되는 화면의 각 페이지를 이미지로 우선 수집한 후 이미지로부터 사후적으로 데이터를 추출하도록 구성된다. 이때, 거래내역의 변화가 크지 않은 이용기관의 경우, 거래내역 전체 페이지를 매번 다시 수집하는 것은 불필요한 일일 수 있다. 따라서, 일 실시예에서는 특정 이용기관에 대해 스크래핑되는 정보가 갱신되는 추이를 토대로, 해당 이용기관에 대한 정보 조회가 얼마나 빈번하게 필요한지를 결정하여 스크래핑할 정보의 조회 조건을 동적으로 변화시킬 수도 있다. In the page scraping service method according to embodiments of the present invention, each page of the screen on which information such as transaction details is displayed is first collected as an image, and then data is extracted from the image afterwards. At this time, for user organizations whose transaction details do not change significantly, it may be unnecessary to re-collect the entire page of transaction details each time. Therefore, in one embodiment, the search conditions for information to be scraped may be dynamically changed by determining how frequently information is needed for a specific user organization based on the update trend of information scraped for a specific user organization.

도 7은 본 실시예에 따른 페이지 스크래핑 서비스 방법에 의해 정보의 조회 기간을 동적으로 결정하는 과정을 나타내는 순서도이다. Figure 7 is a flowchart showing the process of dynamically determining the information viewing period by the page scraping service method according to this embodiment.

도 7을 참조하면, 배치 관리 서버(22)는 전술한 과정에 의하여 스크래핑된 이용기관의 거래내역 등 정보를 DB 서버(23)에 저장하되(S31), 특정 이용기관과 관련하여 DB 서버(23)에 저장된 정보가 갱신되는 정도가 어느 수준인지를 판단할 수 있다(S32). 이때 정보가 갱신되는 정도란, 미리 설정된 단위 기간 동안 DB 서버(23)에 저장되는 데이터 레코드의 개수 변화를 의미한다. 예컨대, 단위 기간 동안 데이터 레코드의 개수 변화가 일정 개수 이상이면 정보 갱신의 정도가 큰 것이고, 단위 기간 동안 데이터 레코드의 개수 변화가 해당 개수 미만이면 정보 갱신의 정도가 작은 것으로 갱신 정도의 기준을 결정할 수 있다. Referring to FIG. 7, the batch management server 22 stores information such as the transaction details of the user organization scraped by the above-described process in the DB server 23 (S31), and stores the DB server 23 in relation to a specific user organization. ) can be determined at what level the information stored in is updated (S32). At this time, the degree to which information is updated means a change in the number of data records stored in the DB server 23 during a preset unit period. For example, if the change in the number of data records during a unit period is more than a certain number, the degree of information update is large, and if the change in the number of data records during a unit period is less than that number, the degree of information update is small, and the standard for the degree of update can be determined. there is.

이때, 배치 관리 서버(22)는 각 이용기관의 데이터 레코드의 갱신 정도에 따라 해당 이용기관의 정보를 스크래핑할 조회 범위를 동적으로 변화시킬 수 있다(S33). 예를 들어, 배치 관리 서버(22)는 이용기관의 데이터 레코드의 갱신 정도가 클 경우 거래내역의 조회 기간 및/또는 조회 건 수와 조회 주기를 감소시키고, 데이터 레코드의 갱신 정도가 작을 경우 거래내역의 조회 기간 및/또는 조회 건 수와 조회 주기를 증가시키도록 구성될 수 있다. At this time, the batch management server 22 can dynamically change the search range for scraping information of the corresponding user organization according to the degree of update of the data record of each user organization (S33). For example, the batch management server 22 reduces the inquiry period and/or the number of inquiries and inquiry cycle of transaction details when the degree of update of the data record of the user organization is large, and when the degree of update of the data record is small, the transaction details are reduced. It may be configured to increase the inquiry period and/or the number of inquiries and inquiry cycle.

거래내역의 개수 변화가 크다는 것은 신규 거래내역이 빈번하게 발생된다는 것이므로, 배치 관리 서버(22)는 해당 이용기관에 대해서는 조회 기간을 상대적으로 짧은 기간(예컨대, 1일)으로 설정하여, 해당 기간을 주기로 스크래핑 서버(21)에 의한 정보 스크래핑이 이루어지도록 할 수 있다. 반면, 데이터 레코드가 적게 갱신된다는 것은 신규 거래내역이 발생되는 빈도가 낮다는 것이므로, 배치 관리 서버(22)는 해당 이용기관에 대해서는 조회 기간을 상대적으로 긴 기간(예컨대, 3일, 1주일 등)으로 설정하여, 해당 기간을 주기로 스크래핑 서버(21)에 의한 정보 스크래핑이 이루어지도록 할 수도 있다. Since a large change in the number of transaction details means that new transaction details are frequently generated, the batch management server 22 sets the inquiry period for the corresponding user organization to a relatively short period (e.g., 1 day) and Information scraping by the scraping server 21 can be performed periodically. On the other hand, since the fact that data records are updated less frequently means that new transaction details are generated less frequently, the batch management server 22 sets the inquiry period for the corresponding user organization for a relatively long period (e.g., 3 days, 1 week, etc.). By setting it to , information scraping by the scraping server 21 can be performed at regular intervals.

배치 관리 서버(22)는, 이와 같이 동적으로 결정된 조회 범위를 조회 조건으로 지정하여 정보 제공기관 서버(4)로부터 거래내역을 불러오기 위한 가상의 입력을 생성하고(S34), 이러한 가상 입력을 스크래핑 서버(21)에 전달할 수 있다(S35). 예컨대, 본 명세서에서 가상 입력이란, 도 5 및 도 6을 참조하여 전술한 거래내역 표시 화면에서 영역(423)을 통해 정의되는 조회 범위를 최근10건, 최근30건, 오늘, 전일, 3일, 7일, 10일, 15일, 1개월, 3개월, 6개월, 1년 등으로 변화시키 위해 스크래핑 방식으로 정보 제공기관 서버(4)에 전송되는 데이터 패킷을 지칭한다. The batch management server 22 specifies the dynamically determined inquiry range as the inquiry condition, generates a virtual input for retrieving transaction details from the information provider server 4 (S34), and scrapes this virtual input. It can be delivered to the server 21 (S35). For example, in this specification, virtual input refers to the search range defined through the area 423 on the transaction history display screen described above with reference to FIGS. 5 and 6, such as the most recent 10, the most recent 30, today, the previous day, 3 days, It refers to a data packet transmitted to the information provider server (4) by scraping to change the period to 7 days, 10 days, 15 days, 1 month, 3 months, 6 months, 1 year, etc.

스크래핑 서버(21)는 배치 관리 서버(22)로부터 전달되는 가상 입력에 따라 해당 조회 범위(예컨대, 조회 기간 및/또는 조회 건 수)에 해당하는 페이지를 정보 제공기관 서버(4)로부터 로드하고, 해당 페이지를 이미지로 수신하여(S37) 이미지 상의 거래내역을 추출할 수 있다. The scraping server 21 loads the page corresponding to the corresponding inquiry range (e.g., inquiry period and/or number of inquiries) from the information provider server 4 according to the virtual input transmitted from the batch management server 22, By receiving the page as an image (S37), transaction details on the image can be extracted.

이상에서 설명한 실시예들에 따른 페이지 스크래핑 서비스 방법에 의한 동작은 적어도 부분적으로 컴퓨터 프로그램으로 구현되고 컴퓨터로 읽을 수 있는 기록매체에 기록될 수 있다. 실시예들에 따른 페이지 스크래핑 서비스 방법에 의한 동작을 구현하기 위한 프로그램이 기록되고 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광 데이터 저장장치 등이 있다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산 방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수도 있다. 또한, 본 실시예를 구현하기 위한 기능적인 프로그램, 코드 및 코드 세그먼트(segment)들은 본 실시예가 속하는 기술 분야의 통상의 기술자에 의해 용이하게 이해될 수 있을 것이다.Operations by the page scraping service method according to the embodiments described above may be at least partially implemented as a computer program and recorded on a computer-readable recording medium. Computer-readable recording media on which programs for implementing operations by the page scraping service method according to embodiments are recorded include all types of recording devices that store data that can be read by a computer. Examples of computer-readable recording media include ROM, RAM, CD-ROM, magnetic tape, floppy disk, and optical data storage devices. Additionally, computer-readable recording media may be distributed across computer systems connected to a network, and computer-readable codes may be stored and executed in a distributed manner. Additionally, functional programs, codes, and code segments for implementing this embodiment can be easily understood by those skilled in the art to which this embodiment belongs.

이상에서 살펴본 본 발명은 도면에 도시된 실시예들을 참고로 하여 설명하였으나 이는 예시적인 것에 불과하며 당해 분야에서 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 실시예의 변형이 가능하다는 점을 이해할 것이다. 그러나, 이와 같은 변형은 본 발명의 기술적 보호범위 내에 있다고 보아야 한다. 따라서, 본 발명의 진정한 기술적 보호범위는 첨부된 청구범위의 기술적 사상에 의해서 정해져야 할 것이다.The present invention discussed above has been described with reference to the embodiments shown in the drawings, but these are merely illustrative examples, and those skilled in the art will understand that various modifications and modifications of the embodiments are possible therefrom. However, such modifications should be considered within the technical protection scope of the present invention. Therefore, the true technical protection scope of the present invention should be determined by the technical spirit of the attached claims.

Claims (15)

정보 제공기관 서버로부터 스크래핑 방식으로 정보를 수집하도록 구성된 스크래핑 서버를 포함하되,
상기 스크래핑 서버는,
상기 정보 제공기관 서버에 접속한 하나 이상의 장치에 상기 정보 제공기관 서버가 제공하는 정보를 표시하기 위한 화면의 일부 또는 전부를 이미지 정보로 수신하도록 구성된 스크래핑 엔진; 및
상기 이미지 정보로부터 하나 이상의 데이터 레코드를 추출하도록 구성된 이미지 처리부를 포함하는 페이지 스크래핑 서비스 시스템.
Including a scraping server configured to collect information by scraping from the information provider server,
The scraping server is,
a scraping engine configured to receive image information as part or all of a screen for displaying information provided by the information provision agency server on one or more devices connected to the information provision agency server; and
A page scraping service system comprising an image processing unit configured to extract one or more data records from the image information.
제1항에 있어서,
상기 이미지 처리부는, 상기 스크래핑 서버와 상기 정보 제공기관 서버 사이의 통신 연결이 종료된 상태에서 상기 이미지 정보로부터 상기 하나 이상의 데이터 레코드를 추출하도록 더 구성된 페이지 스크래핑 서비스 시스템.
According to paragraph 1,
The image processing unit is further configured to extract the one or more data records from the image information in a state in which the communication connection between the scraping server and the information providing agency server is terminated.
제1항에 있어서,
상기 스크래핑 엔진은, 상기 정보를 표시하기 위한 화면을 구성하며 각각 미리 설정된 개수의 데이터 레코드를 표시하도록 구성된 하나 이상의 페이지로부터 각각 상기 이미지 정보를 수신하도록 더 구성된 페이지 스크래핑 서비스 시스템.
According to paragraph 1,
The scraping engine is further configured to receive the image information from one or more pages that configure a screen for displaying the information and are each configured to display a preset number of data records.
제3항에 있어서,
미리 수집된 정보의 페이지 인덱스 데이터를 상기 스크래핑 서버에 전송하도록 구성된 배치 관리 서버를 더 포함하되,
상기 스크래핑 서버는, 상기 정보를 표시하기 위한 화면을 구성하는 상기 하나 이상의 페이지의 개수를 상기 페이지 인덱스 데이터와 비교하여, 상기 미리 수집된 정보에 포함되지 않은 데이터 레코드를 포함하는 신규 페이지를 결정하도록 구성된 인덱스 처리부를 더 포함하고,
상기 스크래핑 엔진은, 상기 신규 페이지를 상기 이미지 정보로 수신하도록 더 구성된 페이지 스크래핑 서비스 시스템.
According to paragraph 3,
It further includes a batch management server configured to transmit page index data of pre-collected information to the scraping server,
The scraping server is configured to compare the number of the one or more pages constituting the screen for displaying the information with the page index data to determine a new page containing a data record not included in the pre-collected information. It further includes an index processing unit,
The scraping engine is further configured to receive the new page as the image information.
제4항에 있어서,
상기 스크래핑 서버에 의해 상기 정보 제공기관 서버로부터 수집된 정보를 저장하며, 저장된 정보를 이용기관에 제공하도록 구성된 데이터베이스 서버를 더 포함하는 페이지 스크래핑 서비스 시스템.
According to clause 4,
A page scraping service system further comprising a database server configured to store information collected from the information provider server by the scraping server and provide the stored information to a user organization.
제5항에 있어서,
상기 스크래핑 엔진은, 상기 정보 제공기관 서버가 제공하는 정보의 조회 범위를 정의하는 가상 입력 정보를 상기 정보 제공기관 서버에 전송하도록 더 구성되고,
상기 배치 관리 서버는, 상기 데이터베이스에 서버에 저장된 정보의 데이터 레코드의 개수 변화에 기초하여 조회 범위를 변화시키도록 상기 가상 입력 정보를 생성하고, 상기 가상 입력 정보를 상기 스크래핑 엔진에 전달하도록 더 구성된 페이지 스크래핑 서비스 시스템.
According to clause 5,
The scraping engine is further configured to transmit virtual input information defining a query range of information provided by the information providing agency server to the information providing agency server,
The batch management server is further configured to generate the virtual input information to change the search range based on a change in the number of data records of information stored in the server in the database, and to transmit the virtual input information to the scraping engine. Scraping service system.
제6항에 있어서,
상기 배치 관리 서버는, 미리 설정된 단위 기간 동안 상기 이용기관에 상응하는 상기 데이터 레코드의 개수 변화가 클수록 상기 이용기관의 정보에 대한 조회 기간을 감소시키도록 상기 가상 입력 정보를 생성하도록 더 구성된 페이지 스크래핑 서비스 시스템.
According to clause 6,
The batch management server is further configured to generate the virtual input information so that the inquiry period for information on the user organization decreases as the change in the number of data records corresponding to the user organization during a preset unit period increases. system.
페이지 스크래핑 서비스 시스템의 스크래핑 서버가 스크래핑 방식으로 정보 제공기관 서버에 접속하는 단계;
상기 스크래핑 서버가, 상기 정보 제공기관 서버에 접속한 하나 이상의 장치에 상기 정보 제공기관 서버가 제공하는 정보를 표시하기 위한 화면의 일부 또는 전부를 이미지 정보로 수신하는 단계; 및
상기 스크래핑 서버가, 상기 이미지 정보로부터 하나 이상의 데이터 레코드를 추출하는 단계를 포함하는 페이지 스크래핑 서비스 방법.
A step where the scraping server of the page scraping service system connects to the information provider server through scraping;
Receiving, by the scraping server, part or all of a screen for displaying information provided by the information provision agency server on one or more devices connected to the information provision agency server as image information; and
A page scraping service method comprising the step of extracting, by the scraping server, one or more data records from the image information.
제8항에 있어서,
상기 하나 이상의 데이터 레코드를 추출하는 단계 전에, 상기 스크래핑 서버와 상기 정보 제공기관 서버 사이의 통신 연결을 종료하는 단계를 더 포함하는 페이지 스크래핑 서비스 방법.
According to clause 8,
Before extracting the one or more data records, the page scraping service method further includes terminating a communication connection between the scraping server and the information provider server.
제8항에 있어서,
상기 이미지 정보로 수신하는 단계는,
상기 스크래핑 서버가, 상기 정보를 표시하기 위한 화면을 구성하며 각각 미리 설정된 개수의 데이터 레코드를 표시하도록 구성된 하나 이상의 페이지로부터 각각 상기 이미지 정보를 수신하는 단계를 포함하는 페이지 스크래핑 서비스 방법.
According to clause 8,
The step of receiving the image information is,
A page scraping service method comprising the step of receiving, by the scraping server, the image information from one or more pages each configured to configure a screen for displaying the information and displaying a preset number of data records.
제10항에 있어서,
상기 페이지 스크래핑 서비스 시스템의 배치 관리 서버가, 미리 수집된 정보의 페이지 인덱스 데이터를 상기 스크래핑 서버에 전송하는 단계; 및
상기 스크래핑 서버가, 상기 정보를 표시하기 위한 화면을 구성하는 상기 하나 이상의 페이지의 개수를 상기 페이지 인덱스 데이터와 비교하여, 상기 미리 수집된 정보에 포함되지 않은 데이터 레코드를 포함하는 신규 페이지를 결정하는 단계를 더 포함하고,
상기 이미지 정보로 수신하는 단계는, 상기 신규 페이지를 상기 이미지 정보로 수신하는 단계를 포함하는 페이지 스크래핑 서비스 방법.
According to clause 10,
Transmitting, by the batch management server of the page scraping service system, page index data of pre-collected information to the scraping server; and
The scraping server comparing the number of the one or more pages constituting the screen for displaying the information with the page index data to determine a new page containing a data record not included in the pre-collected information. It further includes,
The step of receiving the image information includes receiving the new page as the image information.
제11항에 있어서,
상기 스크래핑 서버에 의해 상기 정보 제공기관 서버로부터 수집된 정보를 상기 페이지 스크래핑 서비스 시스템의 데이터베이스 서버에 저장하는 단계; 및
상기 페이지 스크래핑 서비스 시스템이, 상기 데이터베이스 서버에 저장된 정보를 이용기관에 제공하는 단계를 더 포함하는 페이지 스크래핑 서비스 방법.
According to clause 11,
storing information collected from the information provider server by the scraping server in a database server of the page scraping service system; and
A page scraping service method further comprising providing, by the page scraping service system, information stored in the database server to a user organization.
제12항에 있어서,
상기 이미지 정보로 수신하는 단계 전에,
상기 배치 관리 서버가, 상기 데이터베이스에 서버에 저장된 정보의 데이터 레코드의 개수 변화에 기초하여, 상기 정보 제공기관 서버가 제공하는 정보의 조회 범위를 정의하는 가상 입력 정보를 생성하는 단계;
상기 배치 서버가 상기 가상 입력 정보를 상기 스크래핑 서버에 전송하는 단계; 및
상기 스크래핑 서버가 상기 가상 입력 정보를 상기 정보 제공기관 서버에 전송하는 단계를 더 포함하는 페이지 스크래핑 서비스 방법.
According to clause 12,
Before receiving the image information,
generating, by the batch management server, virtual input information that defines a search range of information provided by the information provider server, based on a change in the number of data records of information stored in the server in the database;
The batch server transmitting the virtual input information to the scraping server; and
A page scraping service method further comprising the step of the scraping server transmitting the virtual input information to the information provider server.
제13항에 있어서,
상기 가상 입력 정보를 생성하는 단계는, 상기 배치 관리 서버가, 미리 설정된 단위 기간 동안 상기 이용기관에 상응하는 상기 데이터 레코드의 개수 변화가 클수록 상기 이용기관의 정보에 대한 조회 기간을 감소시키도록 상기 가상 입력 정보를 생성하는 단계를 포함하는 페이지 스크래핑 서비스 방법.
According to clause 13,
The step of generating the virtual input information is such that the placement management server reduces the inquiry period for information on the user organization as the change in the number of data records corresponding to the user organization during a preset unit period increases. A page scraping service method comprising generating input information.
하드웨어와 결합되어 제8항 내지 제14항 중 어느 한 항에 따른 페이지 스크래핑 서비스 방법을 실행하도록 컴퓨터로 판독 가능한 기록매체에 저장된 컴퓨터 프로그램.A computer program stored in a computer-readable recording medium coupled with hardware to execute the page scraping service method according to any one of claims 8 to 14.
KR1020220175829A 2022-12-15 System and method for page scraping service and computer program for the same KR20240094218A (en)

Publications (1)

Publication Number Publication Date
KR20240094218A true KR20240094218A (en) 2024-06-25

Family

ID=

Similar Documents

Publication Publication Date Title
US11144670B2 (en) Data processing systems for identifying and modifying processes that are subject to data subject access requests
US11720603B2 (en) User interfaces based on pre-classified data sets
AU2020102486A4 (en) Systems and methods of mobile banking reconciliation
US20160078560A1 (en) Adaptive expense processing and management
US20120259753A1 (en) System and method for managing collaborative financial fraud detection logic
US10642870B2 (en) Data processing systems and methods for automatically detecting and documenting privacy-related aspects of computer software
US20170177655A1 (en) Dynamic data normalization and duplicate analysis
US20220318939A1 (en) Legal document filing system
US11710192B2 (en) Taxpayers switching tax preparers
US10915968B1 (en) System and method for proactively managing alerts
US10877984B1 (en) Systems and methods for filtering and visualizing large scale datasets
US9087389B2 (en) Reducing image size at point of capture
US9047317B2 (en) Customer activity driven storage
US20160156633A1 (en) Access Revocation
KR20240094218A (en) System and method for page scraping service and computer program for the same
US11144896B1 (en) Image appliance vehicle toll transaction system and method for identifying a vehicle at an electronic toll for electronic toll collection
KR20240094217A (en) System and method for scraping service using distributed retrieval and computer program for the same
US8934701B2 (en) Bulk image retrieval
US8913820B2 (en) Store images at point of capture
US10275832B1 (en) Custom data
US11138242B2 (en) Data processing systems and methods for automatically detecting and documenting privacy-related aspects of computer software
WO2020071937A1 (en) Method and system for selecting suggestions for a user on the basis of an analysis of the actions of said user