Abstract
Web crawler should maintain fresh data with minimum server overhead for large amount of data in the web sites. The overhead in the server increases rapidly as the amount of data is exploding as in the big data era. The amount of web information is increasing rapidly with advanced wireless networks and emergence of diverse smart devices. Furthermore, the information is continuously being produced and updated in anywhere and anytime by means of easy web platforms, and smart devices. Now, it is becoming a hot issue how frequently updated web data has to be refreshed in data collection and integration. In this paper, we propose dynamic web-data crawling methods, which include sensitive checking of web site changes, and dynamic retrieving of web pages from target web sites based on historical update patterns. Furthermore, we implemented a Java-based web crawling application and compared efficiency between conventional static approaches and our dynamic one. Our experiment results showed 46.2% overhead benefits with more fresh data compared to the static crawling methods.
웹 크롤러는 서버의 부담을 최소화하면서도 최신의 데이터를 웹사이트로부터 수집하고 유지해야 한다. 빅데이터 시대와 같이 데이터가 폭발적으로 증가하는 시대에 데이터 소스로부터 자주 모든 데이터를 추출하는 것은 서버에 심각한 부담을 주게 된다. 무선통신 기술과 다양한 스마트 기기들의 확산으로 정보가 급속도로 생성되고 있으며, 어디에서나 어느 시간이나 지속적으로 생성 및 변경되고 있다. 웹크롤러는 이러한 상황을 감안하여 최신의 정보를 적은 오버헤드로 유지해 나가는 것이 중요한 이슈로 부각되고 있다. 본 논문에서는 웹사이트의 변경사항을 체크할 수 있는 효과적인 방안과 웹사이트의 수집 주기를 동적으로 변경함으로써 적은 비용으로 최신성을 유지할 수 있는 방안을 제시한다. 핵심 아이디어는 과거 히스토리로부터 웹사이트 변경이 집중되는 시간을 파악하여 웹수집 주기를 결정하는데 반영한다는 점이다. 논문에서는 특정 웹사이트의 데이터를 추출하는 Java 크롤러를 개발하고, 제안된 방식과 기존 방식의 유용성을 비교하였다. 제안된 기법을 사용하면 정적인 방식보다 서버 오버헤드를 절반정도(46.2%)로 줄이면서도 최신성을 더욱 높게 보장할 수 있게 된다.