DiskSpaceMonitor

  • 특정 path의 disk 공간이 최소 임계값 아래로 떨어지면 크롤링을 중단하게 끔, 디스크 공간을 모니터링 하는 모듈
    path가 네트워크를 통해 연결된 저장공간이라면(network attached storage) 종종 공간이 남아있더라도 잘못 판단하는 경우가 있다.

기존 설정 값


 <bean id="diskSpaceMonitor" class="org.archive.crawler.monitor.DiskSpaceMonitor">

   <property name="pauseThresholdMiB" value="500" />

   <property name="monitorConfigPaths" value="true" />

   <property name="monitorPaths">

     <list>

       <value>PATH</value>

     </list>

   </property>

 </bean>

  • [property에 대한 설명]
    1. pauseThresholdMiB : 모니터링 중인 path에 남아있어야 하는 최소 공간을 설정해준다.
    2. monitorConfigPaths : true인 경우 Heritrix의 모든 설정 path경로들을 포함하여 모니터링한다.
    3. monitorPaths : 모니터링할 경로를 적어준다.


Posted by Righ
,

CostAssignmentPolicy

  • queue 내에서의 우선순위를 의미하는 cost를 각 크롤링된 uri에 부여한다.

기존 설정 값

 <!-- COST ASSIGNMENT POLICY -->
 <!--
 <bean id="costAssignmentPolicy" 
   class="org.archive.crawler.frontier.UnitCostAssignmentPolicy">
 </bean>
 -->
  • 현재 class인 UnitCostAssignemtPolicy는 모든 CrawlURI에 같은 값인 1을 부여한다.


Posted by Righ
,

UriPrecedencePolicy

  • Queue 내에서의 Uri 우선순위를 결정하는 정책

기존 설정 값

 <!-- URI PRECEDENCE POLICY -->
 <!--
 <bean id="uriPrecedencePolicy" 
   class="org.archive.crawler.frontier.precedence.CostUriPrecedencePolicy">
 </bean>
 -->


  • 현재 class인 CostUriPrecedencePolicy는 URI의 우선순위를 각 URI가 가진 cost에 기반으로 하겠다는 정책이다.


Posted by Righ
,

QueueAssignmentPolicy

  • uri에, hostname을 기반으로한 surt 규칙에 따라 queue를 할당하는 정책

기존 설정 값

 <!-- QUEUE ASSIGNMENT POLICY -->
 <!--
 <bean id="queueAssignmentPolicy" 
   class="org.archive.crawler.frontier.SurtAuthorityQueueAssignmentPolicy">
  <property name="forceQueueAssignment" value="" />
  <property name="deferToPrevious" value="true" />
  <property name="parallelQueues" value="1" />
 </bean>
 -->
  • [property에 대한 설명]
    class-key : 
    core-key : 
    
    1. forceQueueAssignment : 특정 queue를 강제적으로 할당 하고 싶을 때 이곳에 queue의 key값을 써준다
    2. deferToPrevious : 매번 할당되는 queue가 이전에 할당 되었던 queue와 다르게 설정 하고 싶을 때 true로 설정한다.
    3. parallelQueues :


Posted by Righ
,

CanonicalizationPolicy

  • uri를 정규화/고도화 시키는 작업을 수행한다.

기존 설정 값

 <!-- CANONICALIZATION POLICY -->
 <!--
 <bean id="canonicalizationPolicy" 
   class="org.archive.modules.canonicalize.RulesCanonicalizationPolicy">
   <property name="rules">
    <list>
     <bean class="org.archive.modules.canonicalize.LowercaseRule" />
     <bean class="org.archive.modules.canonicalize.StripUserinfoRule" />
     <bean class="org.archive.modules.canonicalize.StripWWWNRule" />
     <bean class="org.archive.modules.canonicalize.StripSessionIDs" />
     <bean class="org.archive.modules.canonicalize.StripSessionCFIDs" />
     <bean class="org.archive.modules.canonicalize.FixupQueryString" />
    </list>
  </property>
 </bean>
 -->

  • [property에 대한 설명]
    1. rules : frontier section에 가기 전 uri 정규화 작업에 포함 시킬 rule 목록을 아래 list에 나열함
  • [각 rule과 rule들에 대한 property 설명]
     모든 rule들은 org.archive.modules.canonicalize.___ 의 경로에서 관리된다.
    
    1. LowercaseRule : url을 소문자화 시킨다.
    2. StripUserinfoRule : url에 포함된 user 정보를 제거한다. ex) http://stack:psswrd@archive.org/index.htm -> http://archive.org/index.htm
    3. StripWWWNRule : url 앞 부분의 'www[0-9]*'를 제거한다. ex) http://www.archive.org/index.htm 와 http://www0001.archive.org/index.html 와 http://archive.org/index.html은 동일하다.
    4. StripSessionIDs : 알려진 session id(JSESSIONID, ASPSESSIONID, PHPSESSID, sid)는 제거한다. ex) http://archive.org/index.html?JSESSIONID=DDDSSE233232333355FFSXXXXDSDSDS -> http://archive.org/index.html
    5. StripSessionCFIDs : CFID를 제거한다. 제거 시 규칙은 다음과 같은 정규식을 따른다.
      ^(.+)(?i)(?:cfid=[^&]+&cftoken=[^&]+(?:jsession=[^&]+)?)(?:&(.*))?$
    6. FixupQueryString : '?' 뒤에 따라오는 값들을 삭제한다.


Posted by Righ
,