• 제목/요약/키워드: 병렬 웹 크롤러

검색결과 6건 처리시간 0.019초

오디세우스 대용량 검색 엔진을 위한 병렬 웹 크롤러의 구현 (Implementation of a Parallel Web Crawler for the Odysseus Large-Scale Search Engine)

  • 신은정;김이른;허준석;황규영
    • 한국정보과학회논문지:컴퓨팅의 실제 및 레터
    • /
    • 제14권6호
    • /
    • pp.567-581
    • /
    • 2008
  • 웹의 크기가 폭발적으로 증가함에 따라 인터넷에서 정보를 얻는 수단으로서 검색 엔진의 중요성이 부각되고 있다. 검색 엔진은 사용자에게 최신의 정보를 검색 결과로서 제공하기 위해 웹 페이지를 주기적으로 수집하고 이를 데이타베이스에 저장한다. 웹 크롤러는 이러한 목적으로 웹 페이지를 수집하는 프로그램이다. 대부분의 검색 엔진은 제한된 시간 내에 많은 수의 웹 페이지를 수집하기 위해 다수의 머신을 사용하는 병렬 웹 크롤러를 이용한다. 그러나, 병렬 웹 크롤러의 아키텍처와 세부 구현 방법이 잘 알려져 있지 않기 때문에 실제로 병렬 웹 크롤러를 구현하는 데에 어려움이 많다. 본 논문에서는 병렬 웹 크롤러(parallel web crawler)의 아키텍처와 세부 구현 방법을 제시한다. 병렬 웹 크롤러는 다수의 머신에서 웹 페이지를 병렬적으로 수집하기 위해 조정자(coordinator) 대리자(agent) 구조의 2-티어(tier) 모델을 사용한다. 조정자/대리자 모델은 각 머신에서 웹 페이지를 수집하기 위한 다수의 대리자들과 이 대리자들을 관리하기 위한 하나의 조정자로 구성된다. 병렬 웹 크롤러는 웹 페이지를 수집하기 위한 크롤링(crawling) 모듈, 수집한 웹 페이지를 데이타베이스 로딩 포맷으로 변환하기 위한 컨버팅(converting) 모듈, 수집된 웹 페이지의 중요도를 계산하기 위한 랭킹(ranking) 모듈로 구성된다. 본 논문에서는 병렬 웹 크롤러의 각 모듈들을 설명하고, 세부 구현 방법을 설명한다. 마지막으로, 실험을 통해 병렬 웹 크롤러의 성능을 평가하였다. 실험 결과, 제안된 병렬, 웹 크롤러가 수집해야할 웹 페이지 개수와 머신 개수에 따라 확장 가능함을 보였다.

분산형 병렬 크롤러 설계 및 구현 (Distribute Parallel Crawler Design and Implementation)

  • 장현호;전경식;이후기
    • 융합보안논문지
    • /
    • 제19권3호
    • /
    • pp.21-28
    • /
    • 2019
  • 기관이나 단체에서 관리하는 홈페이지 수가 증가하면서 그에 따른 웹 어플리케이션 서버나 컨테이너도 그에 상응하게 증가한다. 웹 어플리케이션 서버와 컨테이너의 웹 서비스 상태를 점검하는데 있어서 사람이 일일이 원격지에 있는 물리적인 서버에 터미널을 통해 접근하거나 다른 접근 가능한 소프트웨어를 사용하여 접근한 뒤 웹 서비스의 상태를 점검하는 것은 매일 반복하기에는 매우 번거로운 일이다. 이전에 연구되었던 크롤러관련 연구에는 크롤링에 따른 발생 데이터 처리에 관한 언급이 찾아보기 힘들다. 크롤러에서 데이터베이스에 접근하여 데이터를 저장하는데 있어서 데이터 손실이 발생한다. 본 연구에서는 크롤링 기반의 웹 어플리케이션 서버 관리에 따른 점검 데이터를 손실 없이 데이터화 하여 저장하는 방안을 제시하였다.

큐를 이용한 다중스레드 방식의 웹 크롤링 설계 (Multi-threaded Web Crawling Design using Queues)

  • 김효종;이준연;신승수
    • 융합정보논문지
    • /
    • 제7권2호
    • /
    • pp.43-51
    • /
    • 2017
  • 연구목적 : 본 연구의 목적은 광역 네트워크로 연결된 다수의 봇을 활용하여 단일처리 방식의 시간 지연의 문제점과 병렬처리 방식의 비용증가, 인력낭비에 대한 문제점을 해결할 수 있는 큐를 이용한 다중스레드 방식의 웹 크롤링을 연구한다. 연구방법 : 본 연구는 큐를 이용한 다중스레드 방식의 시스템 구성을 바탕으로 독립된 시스템에서 실행하는 어플리케이션을 설계하고 분석한다. 연구결과 : 큐를 이용하여 다중 스레드 방식의 웹 크롤러 설계를 제안한다. 또한, 웹 문서의 처리량을 수식에 따라 클라이언트와 스레드 별로 나누어 분석하고, 각각 효율성 비교를 통해 최적의 클라이언트의 개수와 스레드의 개수를 확인 할 수 있다. 제안하는 시스템의 설계 방식은 분산처리를 기반으로 각각의 독립된 환경에서의 클라이언트는 큐와 스레드를 이용하여 빠르고 신뢰성이 높은 웹 문서를 제공한다. 향후연구 방향 : 특정 사이트를 대상으로 하는 웹 크롤러 설계가 아닌 범용 웹 크롤러에 큐와 다중 스레드를 적용하여 다양한 웹 사이트를 빠르고 효율적으로 탐색 및 수집하는 시스템이 필요하다.

고성능 웹크롤러의 설계 및 구현 (Design and Implementation of a High Performance Web Crawler)

  • 권성호;이영탁;김영준;이용두
    • 한국산업정보학회논문지
    • /
    • 제8권4호
    • /
    • pp.64-72
    • /
    • 2003
  • 웹크롤러는 인터넷 검색엔진을 포함한 다양한 웹 응용프로그램에 활용되는 중요한 인터넷 소프트웨어 기술이다 인터넷의 급격한 성장에 따라 고성능 웹크롤러의 구현이 시급히 요구되고 있다. 이를 위해서는 웹크롤러에 대한 성능확장성에 초점을 둔 연구가 수행되어야 한다. 본 논문에서는 병렬 프로세스 기반 웹크롤러(Crawler)의 성능향상에 필수적인 동적 스케줄링의 구현 기법을 제안한다. 웹크롤러는 웹문서의 수집 성능요구를 만족시키기 위하여 일반적으로 다중 프로세스 기반으로 설계되고 있다. 이러한 다중 프로세스 기반의 설계에서 프로세스 별로 문서수집 대상을 적정하게 선택하여 할당하는 크롤 스케줄링(Crawl Scheduling)은 시스템의 성능향상에 매우 중요한 요소이다. 본 논문에서는 먼저 크롤 스케줄링에 있어 중요한 문제점들에 대한 연구 결과를 제시한 후 공유메모리 기반 동적 스케줄링 지원 기법을 고안, 이를 구현하는 웹 크롤러 시스템 구조(Architecture)를 제안하고 웹 로봇의 수행동작에 대한 분석 결과를 제공한다. 이러한 분석 결과를 기반으로 향후 웹 크롤러의 성능향상을 위한 설계 방향을 제시한다.

  • PDF

동시성으로 작성하는 파이썬 크롤러 (Modern Concurrent Programming for Multicode Environment)

  • 김남규;강영진;이훈재
    • 한국정보통신학회:학술대회논문집
    • /
    • 한국정보통신학회 2017년도 춘계학술대회
    • /
    • pp.430-433
    • /
    • 2017
  • 동시성을 보장하는 프로그래밍은 개발자에게 있어서 필수적이다. 이를 사용하지 않는다면 하드웨어 자체의 기술 발전이 있지 않는 한 프로그램의 속도 향상을 기대하기 힘들다. 뛰어난 동시성 코드를 지원하는 프로그래밍 언어로 go, elixir, scala 등이 있다. 수많은 유용한 라이브러리를 지원하는 파이썬 역시 asyncio나 coroutine과 같은 동시성 프로그래밍을 지원하고 있다. 본 지에서는 동시성과 병렬성의 개념을 정의하며, 파이썬에서 동시성 프로그래밍을 작성할 시에 유의해야 할 점에 대해 설명한다. 웹 데이터를 수집하는 크롤러를 동시성 코드로 작성하여 순차, 멀티스레딩 코드로 작성된 프로그램과 성능을 비교한다.

  • PDF

고성능 웹크롤러의 설계 및 구현 (Design and Implementation of a High Performance Web Crawler)

  • 김희철;채수환
    • 디지털콘텐츠학회 논문지
    • /
    • 제4권2호
    • /
    • pp.127-137
    • /
    • 2003
  • 웹크롤러는 인터넷 검색엔진을 포함한 다양한 웹 응용프로그램에 활용되는 중요한 인터넷 소프트웨어 기술이다. 인터넷의 급격한 성장에 따라 고성능 웹크롤러의 구현이 시급히 요구되고 있다. 이를 위해서는 웹크롤러에 대한 성능확장성에 초점을 둔 연구가 수행되어야 한다. 본 논문에서는 병렬 프로세스 기반 웹크롤러(Crawler)의 성능향상에 필수적인 동적 스케줄링의 구현 기법을 제안한다. 웹크롤러는 웹문서의 수집 성능요구를 만족시키기 위하여 일반적으로 다중 프로세스 기반으로 설계되고 있다. 이러한 다중 프로세스 기반의 설계에서 프로세스 별로 문서수집 대상을 적정하게 선택하여 할당하는 크롤 스케줄링(Crawl Scheduling)은 시스템의 성능향상에 매우 중요한 요소이라. 본 논문에서는 먼저 크롤 스케줄링에 있어 중요한 문제점들에 대한 연구 결과를 제시한 후 공유메모리 기반 동적 스케줄링 지원 기법을 고안, 이를 구현하는 웹 크롤러 시스템 구조(Architecture)를 제안한다. 본 논문에서는 동적 스케줄링 지원 기능을 갖는 웹크롤러의 설계 및 구현에 대하여 기술한다.

  • PDF