Skip to Content
Nextra 4.0 is released 🎉

āϧāĻžāĻĒ ā§Š - āĻĄāĻŋāϜāĻžāχāύ⧇āϰ āĻ—āĻ­ā§€āϰ āĻŦāĻŋāĻļā§āϞ⧇āώāĻŖ (Design deep dive)

āĻ āĻĒāĻ°ā§āϝāĻ¨ā§āϤ, āφāĻŽāϰāĻž āωāĻšā§āϚ-āĻ¸ā§āϤāϰ⧇āϰ āĻĄāĻŋāϜāĻžāχāύ āύāĻŋāϝāĻŧ⧇ āφāϞ⧋āϚāύāĻž āĻ•āϰ⧇āĻ›āĻŋāĨ¤ āĻāϰāĻĒāϰ, āφāĻŽāϰāĻž āϏāĻŦāĻšā§‡āϝāĻŧ⧇ āϗ⧁āϰ⧁āĻ¤ā§āĻŦāĻĒā§‚āĻ°ā§āĻŖ āĻŦāĻŋāĻ˛ā§āĻĄāĻŋāĻ‚ āωāĻĒāĻžāĻĻāĻžāύ āĻāĻŦāĻ‚ āĻ•ā§ŒāĻļāϞāϗ⧁āϞ⧋ āĻ—āĻ­ā§€āϰāĻ­āĻžāĻŦ⧇ āφāϞ⧋āϚāύāĻž āĻ•āϰāĻŦ:

  • āĻĄā§‡āĻĒāĻĨ-āĻĢāĻžāĻ°ā§āĻ¸ā§āϟ āϏāĻžāĻ°ā§āϚ (DFS) āĻŦāύāĻžāĻŽ āĻŦā§āϰ⧇āĻĄāĻĨ-āĻĢāĻžāĻ°ā§āĻ¸ā§āϟ āϏāĻžāĻ°ā§āϚ (BFS)
  • URL frontier
  • HTML Downloader
  • āϰ⧋āĻŦāĻžāĻ¸ā§āϟāύ⧇āϏ (Robustness)
  • āĻāĻ•ā§āϏāĻŸā§‡āύāϏāĻŋāĻŦāĻŋāϞāĻŋāϟāĻŋ (Extensibility)
  • āϏāĻŽāĻ¸ā§āϝāĻžāϜāύāĻ• āĻ•āĻ¨ā§āĻŸā§‡āĻ¨ā§āϟ āϏāύāĻžāĻ•ā§āϤ āĻ•āϰāĻž āĻāĻŦāĻ‚ āĻāĻĄāĻŧāĻžāύ⧋

DFS āĻŦāύāĻžāĻŽ BFS

āφāĻĒāύāĻŋ āĻ“āϝāĻŧ⧇āĻŦāϕ⧇ āĻāĻ•āϟāĻŋ āĻĄāĻŋāϰ⧇āĻ•ā§āĻŸā§‡āĻĄ āĻ—ā§āϰāĻžāĻĢ āĻšāĻŋāϏāĻžāĻŦ⧇ āĻ­āĻžāĻŦāϤ⧇ āĻĒāĻžāϰ⧇āύ āϝ⧇āĻ–āĻžāύ⧇ āĻ“āϝāĻŧ⧇āĻŦ āĻĒ⧇āϜāϗ⧁āϞ⧋ āύ⧋āĻĄ āĻšāĻŋāϏāĻžāĻŦ⧇ āĻāĻŦāĻ‚ āĻšāĻžāχāĻĒāĻžāϰāϞāĻŋāĻ‚āĻ•āϗ⧁āϞ⧋ (URL) āĻāϜ āĻšāĻŋāϏāĻžāĻŦ⧇ āĻ•āĻžāϜ āĻ•āϰ⧇āĨ¤ āĻ•ā§āϰāϞ āĻĒā§āϰāĻ•ā§āϰāĻŋāϝāĻŧāĻžāϟāĻŋāϕ⧇ āĻāĻ•āϟāĻŋ āĻ“āϝāĻŧ⧇āĻŦ āĻĒ⧇āϜ āĻĨ⧇āϕ⧇ āĻ…āĻ¨ā§āϝāĻĻ⧇āϰ āĻ•āĻžāϛ⧇ āĻāĻ•āϟāĻŋ āĻĄāĻŋāϰ⧇āĻ•ā§āĻŸā§‡āĻĄ āĻ—ā§āϰāĻžāĻĢ āĻ…āϤāĻŋāĻ•ā§āϰāĻŽ āĻ•āϰāĻž āĻšāĻŋāϏāĻžāĻŦ⧇ āĻĻ⧇āĻ–āĻž āϝ⧇āϤ⧇ āĻĒāĻžāϰ⧇āĨ¤ āĻĻ⧁āϟāĻŋ āϏāĻžāϧāĻžāϰāĻŖ āĻ—ā§āϰāĻžāĻĢ āĻŸā§āϰāĻžāĻ­āĻžāĻ°ā§āϏāĻžāϞ āĻ…ā§āϝāĻžāϞāĻ—āϰāĻŋāĻĻāĻŽ āĻšāϞ⧋ DFS āĻāĻŦāĻ‚ BFSāĨ¤ āϤāĻŦ⧇, DFS āϏāĻžāϧāĻžāϰāĻŖāϤ āĻāĻ•āϟāĻŋ āĻ­āĻžāϞ⧋ āĻĒāĻ›āĻ¨ā§āĻĻ āύāϝāĻŧ āĻ•āĻžāϰāĻŖ DFS-āĻāϰ āĻ—āĻ­ā§€āϰāϤāĻž āĻ…āύ⧇āĻ• āĻ—āĻ­ā§€āϰ āĻšāϤ⧇ āĻĒāĻžāϰ⧇āĨ¤

BFS āϏāĻžāϧāĻžāϰāĻŖāϤ āĻ“āϝāĻŧ⧇āĻŦ āĻ•ā§āϰāϞāĻžāϰ āĻĻā§āĻŦāĻžāϰāĻž āĻŦā§āϝāĻŦāĻšā§ƒāϤ āĻšāϝāĻŧ āĻāĻŦāĻ‚ āĻāĻ•āϟāĻŋ first-in-first-out (FIFO) āĻ•āĻŋāω āĻĻā§āĻŦāĻžāϰāĻž āĻŦāĻžāĻ¸ā§āϤāĻŦāĻžāϝāĻŧāύ āĻ•āϰāĻž āĻšāϝāĻŧāĨ¤ āĻāĻ•āϟāĻŋ FIFO āĻ•āĻŋāωāϤ⧇, URL āϗ⧁āϞ⧋ āϤāĻžāϰāĻž āϝ⧇ āĻ•ā§āϰāĻŽā§‡ āĻāύāĻ•āĻŋāω (enqueue) āĻ•āϰāĻž āĻšāϝāĻŧ⧇āĻ›āĻŋāϞ āϏ⧇āχ āĻ•ā§āϰāĻŽā§‡ āĻĄāĻŋāĻ•āĻŋāω (dequeue) āĻ•āϰāĻž āĻšāϝāĻŧāĨ¤ āϤāĻŦ⧇, āĻāχ āĻŦāĻžāĻ¸ā§āϤāĻŦāĻžāϝāĻŧāύ⧇āϰ āĻĻ⧁āϟāĻŋ āϏāĻŽāĻ¸ā§āϝāĻž āϰāϝāĻŧ⧇āϛ⧇:

  • āĻāĻ•āχ āĻ“āϝāĻŧ⧇āĻŦ āĻĒ⧇āϜ āĻĨ⧇āϕ⧇ āĻŦ⧇āĻļāĻŋāϰāĻ­āĻžāĻ— āϞāĻŋāĻ‚āĻ• āĻāĻ•āχ āĻšā§‹āĻ¸ā§āĻŸā§‡ āĻĢāĻŋāϰ⧇ āϞāĻŋāĻ‚āĻ• āĻ•āϰāĻž āĻĨāĻžāϕ⧇āĨ¤ āϚāĻŋāĻ¤ā§āϰ ā§Ģ-āĻ, wikipedia.com-āĻāϰ āϏāĻŽāĻ¸ā§āϤ āϞāĻŋāĻ‚āĻ• āĻšāϞ⧋ āχāĻ¨ā§āϟāĻžāϰāύāĻžāϞ āϞāĻŋāĻ‚āĻ•, āϝāĻž āĻ•ā§āϰāϞāĻžāϰāϕ⧇ āĻāĻ•āχ āĻšā§‹āĻ¸ā§āϟ (wikipedia.com) āĻĨ⧇āϕ⧇ URL āĻĒā§āϰāϏ⧇āϏ āĻ•āϰāϤ⧇ āĻŦā§āϝāĻ¸ā§āϤ āϰāĻžāϖ⧇āĨ¤ āϝāĻ–āύ āĻ•ā§āϰāϞāĻžāϰ āϏāĻŽāĻžāĻ¨ā§āϤāϰāĻžāϞāĻ­āĻžāĻŦ⧇ (parallel) āĻ“āϝāĻŧ⧇āĻŦ āĻĒ⧇āϜ āĻĄāĻžāωāύāϞ⧋āĻĄ āĻ•āϰāĻžāϰ āĻšā§‡āĻˇā§āϟāĻž āĻ•āϰ⧇, āϤāĻ–āύ Wikipedia āϏāĻžāĻ°ā§āĻ­āĻžāϰāϗ⧁āϞ⧋ āϰāĻŋāϕ⧋āϝāĻŧ⧇āĻ¸ā§āĻŸā§‡ āωāĻĒāĻšā§‡ āĻĒāĻĄāĻŧāĻŦ⧇āĨ¤ āĻāϕ⧇ “āĻ…āĻ­āĻĻā§āĻ°â€ (impolite) āĻšāĻŋāϏāĻžāĻŦ⧇ āĻŦāĻŋāĻŦ⧇āϚāύāĻž āĻ•āϰāĻž āĻšāϝāĻŧāĨ¤

[āϚāĻŋāĻ¤ā§āϰ ā§Ģ-āĻāϰ āĻŦāĻ°ā§āĻŖāύāĻž: āĻ›āĻŦāĻŋāϟāĻŋ āĻāĻ•āϟāĻŋ āĻ“āϝāĻŧ⧇āĻŦāϏāĻžāχāĻŸā§‡āϰ āĻŽāĻ§ā§āϝ⧇ āĻ“āϝāĻŧ⧇āĻŦ āĻĒ⧇āϜāϗ⧁āϞ⧋āϰ āϏāĻ‚āĻ—āĻ āύ āϚāĻŋāĻ¤ā§āϰāĻŋāϤ āĻ•āϰ⧇ āĻāĻŽāύ āĻāĻ•āϟāĻŋ āĻšāĻžāϝāĻŧāĻžāϰāĻžāĻ°ā§āĻ•āĻŋāĻ•ā§āϝāĻžāϞ āĻŦāĻž āĻ¸ā§āϤāϰāϝ⧁āĻ•ā§āϤ āĻ•āĻžāĻ āĻžāĻŽā§‹ āωāĻĒāĻ¸ā§āĻĨāĻžāĻĒāύ āĻ•āϰ⧇, āϏāĻŽā§āĻ­āĻŦāϤ WikipediaāĨ¤ āϰ⧁āϟ āύ⧋āĻĄ āĻšāϞ⧋ ‘wikipedia.com’, āϝāĻž āĻŽā§‚āϞ āĻ“āϝāĻŧ⧇āĻŦāϏāĻžāχāϟ āĻĄā§‹āĻŽā§‡āχāύ āύāĻŋāĻ°ā§āĻĻ⧇āĻļ āĻ•āϰ⧇āĨ¤ āĻāχ āϰ⧁āϟ āĻĨ⧇āϕ⧇, āĻŦ⧇āĻļ āĻ•āϝāĻŧ⧇āĻ•āϟāĻŋ āĻļāĻžāĻ–āĻž āĻŦāĻŋāĻ­āĻŋāĻ¨ā§āύ āĻŽā§‚āϞ āĻĒ⧇āϜ āύāĻŋāĻ°ā§āĻĻ⧇āĻļ āĻ•āϰāϤ⧇ āĻĒā§āϰāϏāĻžāϰāĻŋāϤ āĻšāϝāĻŧ, āϝāĻžāϰ āϞ⧇āĻŦ⧇āϞ ‘wikipedia.com/page1’, ‘wikipedia.com/page2’, āĻāĻŦāĻ‚ ‘wikipedia.com/pageN’, āϝāĻž āĻŽā§‚āϞ āĻĒ⧇āϜāϗ⧁āϞ⧋āϰ āĻāĻ•āϟāĻŋ āĻĒāϰāĻŋāĻŦāĻ°ā§āϤāύāĻļā§€āϞ āϏāĻ‚āĻ–ā§āϝāĻž āύāĻŋāĻ°ā§āĻĻ⧇āĻļ āĻ•āϰ⧇āĨ¤ āĻāχ āĻĒā§āϰāϤāĻŋāϟāĻŋ āĻŽā§‚āϞ āĻĒ⧇āϜ āφāϰāĻ“ āϏāĻžāĻŦ-āĻĒ⧇āĻœā§‡ āĻļāĻžāĻ–āĻž-āĻĒā§āϰāĻļāĻžāĻ–āĻžāϝ⧁āĻ•ā§āϤ āĻšāϝāĻŧ, āωāĻĻāĻžāĻšāϰāĻŖāĻ¸ā§āĻŦāϰ⧂āĻĒ â€˜wikipedia.com/page1/1’, ‘wikipedia.com/page1/2’, ‘wikipedia.com/page2/1’, ‘wikipedia.com/page2/2’, ‘wikipedia.com/pageN/1’, ‘wikipedia.com/pageN/2’, āĻāĻŦāĻ‚ ‘wikipedia.com/pageN/N’āĨ¤ āωāĻĒāĻŦ⧃āĻ¤ā§āϤāĻžāĻ•āĻžāϰ āϚāĻŋāĻšā§āύ (â€Ļ) āύāĻŋāĻ°ā§āĻĻ⧇āĻļ āĻ•āϰ⧇ āϝ⧇ āĻāχ āĻĒā§āϝāĻžāϟāĻžāĻ°ā§āύāϟāĻŋ āĻĒā§āϰāϤāĻŋāϟāĻŋ āĻŽā§‚āϞ āĻĒ⧇āĻœā§‡āϰ āĻ…āϧ⧀āύ⧇ āĻāĻ•āϟāĻŋ āĻ…āύāĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āϟ āϏāĻ‚āĻ–ā§āϝāĻ• āĻŽā§‚āϞ āĻĒ⧇āϜ āĻāĻŦāĻ‚ āϏāĻžāĻŦ-āĻĒ⧇āĻœā§‡āϰ āϜāĻ¨ā§āϝ āϚāϞāϤ⧇ āĻĨāĻžāϕ⧇āĨ¤ āϤ⧀āϰ āϚāĻŋāĻšā§āύāϗ⧁āϞ⧋ āĻĻāĻŋāĻ•āύāĻŋāĻ°ā§āĻĻ⧇āĻļāĻ• āϏāĻŽā§āĻĒāĻ°ā§āĻ• āĻĻ⧇āĻ–āĻžāϝāĻŧ, āύāĻŋāĻ°ā§āĻĻ⧇āĻļ āĻ•āϰ⧇ āϝ⧇ ‘wikipedia.com’-āĻ āĻ…ā§āϝāĻžāĻ•ā§āϏ⧇āϏ āĻ•āϰāϞ⧇ āĻŽā§‚āϞ āĻĒ⧇āϜāϗ⧁āϞ⧋āϤ⧇ āϝāĻžāĻ“āϝāĻŧāĻž āϝāĻžāϝāĻŧ, āĻāĻŦāĻ‚ āĻāĻ•āϟāĻŋ āĻŽā§‚āϞ āĻĒ⧇āĻœā§‡ āĻ…ā§āϝāĻžāĻ•ā§āϏ⧇āϏ āĻ•āϰāϞ⧇ āĻāϰ āϏāĻ‚āĻļā§āϞāĻŋāĻˇā§āϟ āϏāĻžāĻŦ-āĻĒ⧇āϜāϗ⧁āϞ⧋āϤ⧇ āϝāĻžāĻ“āϝāĻŧāĻž āϝāĻžāϝāĻŧāĨ¤ āĻ•āĻžāĻ āĻžāĻŽā§‹āϟāĻŋ āĻĻ⧃āĻļā§āϝāϤ āĻāĻ•āϟāĻŋ āĻĄā§‹āĻŽā§‡āχāύ⧇āϰ āĻŽāĻ§ā§āϝ⧇ āĻ“āϝāĻŧ⧇āĻŦ āĻĒ⧇āϜāϗ⧁āϞ⧋āϰ āĻŸā§āϰāĻŋ-āĻāϰ āĻŽāϤ⧋ āϏāĻ‚āĻ—āĻ āύ āĻĒā§āϰāĻĻāĻ°ā§āĻļāύ āĻ•āϰ⧇, āϚāĻŋāĻ¤ā§āϰāĻŋāϤ āĻ•āϰ⧇ āϕ⧀āĻ­āĻžāĻŦ⧇ āĻāĻ•āϟāĻŋ āĻ“āϝāĻŧ⧇āĻŦāϏāĻžāχāϟ āĻāĻ•āĻžāϧāĻŋāĻ• āĻ¸ā§āϤāϰ⧇āϰ āĻĒ⧇āϜ āύāĻŋāϝāĻŧ⧇ āĻ—āĻ āĻŋāϤ āĻšāϤ⧇ āĻĒāĻžāϰ⧇āĨ¤] āϚāĻŋāĻ¤ā§āϰ ā§Ģ

  • āĻ¸ā§āĻŸā§āϝāĻžāĻ¨ā§āĻĄāĻžāĻ°ā§āĻĄ BFS āĻāĻ•āϟāĻŋ URL-āĻāϰ āĻĒā§āϰāĻžāϝāĻŧā§‹āϰāĻŋāϟāĻŋ āĻŦāĻž āĻ…āĻ—ā§āϰāĻžāϧāĻŋāĻ•āĻžāϰ āĻŦāĻŋāĻŦ⧇āϚāύāĻž āĻ•āϰ⧇ āύāĻžāĨ¤ āĻ“āϝāĻŧ⧇āĻŦ āĻŦāĻĄāĻŧ āĻāĻŦāĻ‚ āĻĒā§āϰāϤāĻŋāϟāĻŋ āĻĒ⧇āĻœā§‡āϰ āϗ⧁āĻŖāĻŽāĻžāύ āĻāĻŦāĻ‚ āϗ⧁āϰ⧁āĻ¤ā§āĻŦ⧇āϰ āĻ¸ā§āϤāϰ āĻāĻ• āύāϝāĻŧāĨ¤ āϤāĻžāχ, āφāĻŽāϰāĻž āϤāĻžāĻĻ⧇āϰ āĻĒ⧇āϜ āĻ°â€ā§āϝāĻžāĻ™ā§āĻ•, āĻ“āϝāĻŧ⧇āĻŦ āĻŸā§āĻ°ā§āϝāĻžāĻĢāĻŋāĻ•, āφāĻĒāĻĄā§‡āĻŸā§‡āϰ āĻĢā§āϰāĻŋāϕ⧋āϝāĻŧ⧇āĻ¨ā§āϏāĻŋ āχāĻ¤ā§āϝāĻžāĻĻāĻŋ āĻ…āύ⧁āϝāĻžāϝāĻŧā§€ URL āϗ⧁āϞ⧋āϕ⧇ āĻ…āĻ—ā§āϰāĻžāϧāĻŋāĻ•āĻžāϰ āĻĻāĻŋāϤ⧇ āϚāĻžāχāϤ⧇ āĻĒāĻžāϰāĻŋāĨ¤

URL frontier

URL frontier āĻāχ āϏāĻŽāĻ¸ā§āϝāĻžāϗ⧁āϞ⧋ āϏāĻŽāĻžāϧāĻžāύ āĻ•āϰāϤ⧇ āϏāĻžāĻšāĻžāĻ¯ā§āϝ āĻ•āϰ⧇āĨ¤ āĻāĻ•āϟāĻŋ URL frontier āĻšāϞ⧋ āĻāĻ•āϟāĻŋ āĻĄā§‡āϟāĻž āĻ¸ā§āĻŸā§āϰāĻžāĻ•āϚāĻžāϰ āϝāĻž āĻĄāĻžāωāύāϞ⧋āĻĄ āĻ•āϰāĻžāϰ āϜāĻ¨ā§āϝ URL āϗ⧁āϞ⧋ āϏāĻ‚āϰāĻ•ā§āώāĻŖ āĻ•āϰ⧇āĨ¤ āĻ­āĻĻā§āϰāϤāĻž (politeness), URL āĻ…āĻ—ā§āϰāĻžāϧāĻŋāĻ•āĻžāϰ (prioritization), āĻāĻŦāĻ‚ āϤāĻžāϜāĻžāĻ¤ā§āĻŦ (freshness) āύāĻŋāĻļā§āϚāĻŋāϤ āĻ•āϰāϤ⧇ URL frontier āĻāĻ•āϟāĻŋ āϗ⧁āϰ⧁āĻ¤ā§āĻŦāĻĒā§‚āĻ°ā§āĻŖ āωāĻĒāĻžāĻĻāĻžāύāĨ¤ āϰ⧇āĻĢāĻžāϰ⧇āĻ¨ā§āϏ āĻŽā§āϝāĻžāĻŸā§‡āϰāĻŋāϝāĻŧāĻžāϞ⧇ [5] [9] URL frontier-āĻāϰ āĻ•āĻŋāϛ⧁ āωāĻ˛ā§āϞ⧇āĻ–āϝ⧋āĻ—ā§āϝ āĻĒ⧇āĻĒāĻžāϰ⧇āϰ āĻ•āĻĨāĻž āωāĻ˛ā§āϞ⧇āĻ– āĻ•āϰāĻž āĻšāϝāĻŧ⧇āϛ⧇āĨ¤ āĻāχ āĻĒ⧇āĻĒāĻžāϰāϗ⧁āϞ⧋ āĻĨ⧇āϕ⧇ āĻĒā§āϰāĻžāĻĒā§āϤ āĻĢāϞāĻžāĻĢāϞāϗ⧁āϞ⧋ āύāĻŋāĻŽā§āύāϰ⧂āĻĒ:

āĻ­āĻĻā§āϰāϤāĻž (Politeness)

āϏāĻžāϧāĻžāϰāĻŖāϤ, āĻāĻ•āϟāĻŋ āĻ“āϝāĻŧ⧇āĻŦ āĻ•ā§āϰāϞāĻžāϰ⧇āϰ āωāϚāĻŋāϤ āĻ…āĻ˛ā§āĻĒ āϏāĻŽāϝāĻŧ⧇āϰ āĻŽāĻ§ā§āϝ⧇ āĻāĻ•āχ āĻšā§‹āĻ¸ā§āϟāĻŋāĻ‚ āϏāĻžāĻ°ā§āĻ­āĻžāϰ⧇ āϖ⧁āĻŦ āĻŦ⧇āĻļāĻŋ āϰāĻŋāϕ⧋āϝāĻŧ⧇āĻ¸ā§āϟ āĻĒāĻžāĻ āĻžāύ⧋ āĻāĻĄāĻŧāĻžāύ⧋āĨ¤ āϖ⧁āĻŦ āĻŦ⧇āĻļāĻŋ āϰāĻŋāϕ⧋āϝāĻŧ⧇āĻ¸ā§āϟ āĻĒāĻžāĻ āĻžāύ⧋āϕ⧇ “āĻ…āĻ­āĻĻā§āĻ°â€ āĻšāĻŋāϏāĻžāĻŦ⧇ āĻŦāĻŋāĻŦ⧇āϚāύāĻž āĻ•āϰāĻž āĻšāϝāĻŧ āĻŦāĻž āĻāĻŽāύāĻ•āĻŋ āĻĄāĻŋāύāĻžāϝāĻŧāĻžāϞ-āĻ…āĻĢ-āϏāĻžāĻ°ā§āĻ­āĻŋāϏ (DOS) āĻ…ā§āϝāĻžāϟāĻžāĻ• āĻšāĻŋāϏāĻžāĻŦ⧇āĻ“ āĻ—āĻŖā§āϝ āĻ•āϰāĻž āĻšāϝāĻŧāĨ¤ āωāĻĻāĻžāĻšāϰāĻŖāĻ¸ā§āĻŦāϰ⧂āĻĒ, āϕ⧋āύ⧋ āϏ⧀āĻŽāĻžāĻŦāĻĻā§āϧāϤāĻž āĻ›āĻžāĻĄāĻŧāĻžāχ, āĻ•ā§āϰāϞāĻžāϰ āĻĒā§āϰāϤāĻŋ āϏ⧇āϕ⧇āĻ¨ā§āĻĄā§‡ āĻāĻ•āχ āĻ“āϝāĻŧ⧇āĻŦāϏāĻžāχāĻŸā§‡ āĻšāĻžāϜāĻžāϰ āĻšāĻžāϜāĻžāϰ āϰāĻŋāϕ⧋āϝāĻŧ⧇āĻ¸ā§āϟ āĻĒāĻžāĻ āĻžāϤ⧇ āĻĒāĻžāϰ⧇āĨ¤ āĻāϟāĻŋ āĻ“āϝāĻŧ⧇āĻŦ āϏāĻžāĻ°ā§āĻ­āĻžāϰāϗ⧁āϞ⧋āϕ⧇ āωāĻĒāĻšā§‡ āĻĢ⧇āϞāϤ⧇ āĻĒāĻžāϰ⧇āĨ¤

āĻ­āĻĻā§āϰāϤāĻž āĻ•āĻžāĻ°ā§āϝāĻ•āϰ āĻ•āϰāĻžāϰ āϏāĻžāϧāĻžāϰāĻŖ āϧāĻžāϰāĻŖāĻž āĻšāϞ⧋ āĻāĻ•āχ āĻšā§‹āĻ¸ā§āϟ āĻĨ⧇āϕ⧇ āĻāĻ•āĻŦāĻžāϰ⧇ āĻāĻ•āϟāĻŋ āĻĒ⧇āϜ āĻĄāĻžāωāύāϞ⧋āĻĄ āĻ•āϰāĻžāĨ¤ āĻĻ⧁āϟāĻŋ āĻĄāĻžāωāύāϞ⧋āĻĄ āϟāĻžāĻ¸ā§āϕ⧇āϰ āĻŽāĻ§ā§āϝ⧇ āĻāĻ•āϟāĻŋ āĻŦāĻŋāϞāĻŽā§āĻŦ (delay) āϝ⧋āĻ— āĻ•āϰāĻž āϝ⧇āϤ⧇ āĻĒāĻžāϰ⧇āĨ¤ āĻ­āĻĻā§āϰāϤāĻžāϰ āϏ⧀āĻŽāĻžāĻŦāĻĻā§āϧāϤāĻž āĻ“āϝāĻŧ⧇āĻŦāϏāĻžāχāĻŸā§‡āϰ āĻšā§‹āĻ¸ā§āϟāύ⧇āĻŽ āĻĨ⧇āϕ⧇ āĻĄāĻžāωāύāϞ⧋āĻĄ (āĻ“āϝāĻŧāĻžāĻ°ā§āĻ•āĻžāϰ) āĻĨā§āϰ⧇āĻĄāϗ⧁āϞ⧋āϰ āĻāĻ•āϟāĻŋ āĻŽā§āϝāĻžāĻĒāĻŋāĻ‚ āĻŦāϜāĻžāϝāĻŧ āϰ⧇āϖ⧇ āĻŦāĻžāĻ¸ā§āϤāĻŦāĻžāϝāĻŧāύ āĻ•āϰāĻž āĻšāϝāĻŧāĨ¤ āĻĒā§āϰāϤāĻŋāϟāĻŋ āĻĄāĻžāωāύāϞ⧋āĻĄāĻžāϰ āĻĨā§āϰ⧇āĻĄā§‡āϰ āĻāĻ•āϟāĻŋ āĻĒ⧃āĻĨāĻ• FIFO āĻ•āĻŋāω āĻĨāĻžāϕ⧇ āĻāĻŦāĻ‚ āĻāϟāĻŋ āĻļ⧁āϧ⧁āĻŽāĻžāĻ¤ā§āϰ āϏ⧇āχ āĻ•āĻŋāω āĻĨ⧇āϕ⧇ āĻĒā§āϰāĻžāĻĒā§āϤ URL āϗ⧁āϞ⧋ āĻĄāĻžāωāύāϞ⧋āĻĄ āĻ•āϰ⧇āĨ¤ āϚāĻŋāĻ¤ā§āϰ ā§Ŧ āĻ­āĻĻā§āϰāϤāĻž āĻĒāϰāĻŋāϚāĻžāϞāύāĻž āĻ•āϰ⧇ āĻāĻŽāύ āĻĄāĻŋāϜāĻžāχāύāϟāĻŋ āĻĻ⧇āĻ–āĻžāϝāĻŧāĨ¤

[āϚāĻŋāĻ¤ā§āϰ ā§Ŧ-āĻāϰ āĻŦāĻ°ā§āĻŖāύāĻž: āĻ›āĻŦāĻŋāϟāĻŋ āϟāĻžāĻ¸ā§āĻ• āĻŦāĻŋāϤāϰāϪ⧇āϰ āϜāĻ¨ā§āϝ āĻāĻ•āϟāĻŋ āϏāĻŋāĻ¸ā§āĻŸā§‡āĻŽ āφāĻ°ā§āĻ•āĻŋāĻŸā§‡āĻ•āϚāĻžāϰ āĻĄāĻžāϝāĻŧāĻžāĻ—ā§āϰāĻžāĻŽ āωāĻĒāĻ¸ā§āĻĨāĻžāĻĒāύ āĻ•āϰ⧇āĨ¤ āĻāĻ•āϟāĻŋ ‘Queue router’ āωāĻĒāĻžāĻĻāĻžāύ āωāĻĒāϰ⧇ āĻŦāϏ⧇ āĻĨāĻžāϕ⧇, āĻŦāĻŋāĻ­āĻŋāĻ¨ā§āύ āϟāĻžāĻ¸ā§āϕ⧇āϰ āϧāϰāύ āĻŦāĻž āĻ…āĻ—ā§āϰāĻžāϧāĻŋāĻ•āĻžāϰ āύāĻŋāĻ°ā§āĻĻ⧇āĻļ āĻ•āϰ⧇ āĻāĻ•āĻžāϧāĻŋāĻ• āĻ•āĻŋāωāϤ⧇ āϟāĻžāĻ¸ā§āĻ• āĻŦāĻŋāϤāϰāĻŖ āĻ•āϰ⧇ āϝāĻžāϰ āϞ⧇āĻŦ⧇āϞ ‘b1’, ‘b2’, āĻāĻŦāĻ‚ ‘bn’āĨ¤ āĻāχ āĻ•āĻŋāωāϗ⧁āϞ⧋ āωāĻ˛ā§āϞāĻŽā§āĻŦ āφāϝāĻŧāϤāĻ•ā§āώ⧇āĻ¤ā§āϰ āĻšāĻŋāϏāĻžāĻŦ⧇ āϚāĻŋāĻ¤ā§āϰāĻŋāϤ āĻ•āϰāĻž āĻšāϝāĻŧ⧇āϛ⧇āĨ¤ ‘Queue router’ āĻāĻ•āϟāĻŋ ‘Mapping Table’-āϤ⧇āĻ“ (āĻāĻ•āϟāĻŋ āĻĄāĻžāϟāĻžāĻŦ⧇āϏ āφāχāĻ•āύ āĻšāĻŋāϏāĻžāĻŦ⧇ āωāĻĒāĻ¸ā§āĻĨāĻžāĻĒāĻŋāϤ) āϤāĻĨā§āϝ āĻĒāĻžāĻ āĻžāϝāĻŧ, āϝāĻž āĻāĻ•āϟāĻŋ āϞ⧁āĻ•āφāĻĒ āĻŦāĻž āĻŽā§āϝāĻžāĻĒāĻŋāĻ‚ āĻĢāĻžāĻ‚āĻļāύ āύāĻŋāĻ°ā§āĻĻ⧇āĻļ āĻ•āϰ⧇āĨ¤ āĻĒā§āϰāϤāĻŋāϟāĻŋ āĻ•āĻŋāω (‘b1’, ‘b2’, ‘bn’) āĻāĻ•āϟāĻŋ ‘Queue selector’-āĻ āĻĢāĻŋāĻĄ āĻ•āϰ⧇, āϝāĻž āϤāĻžāϰāĻĒāϰ āĻāĻ•āĻžāϧāĻŋāĻ• ‘Worker thread’-āĻ (āϞ⧇āĻŦ⧇āϞāϝ⧁āĻ•ā§āϤ ‘Worker thread 1’, ‘Worker thread 2’, āĻāĻŦāĻ‚ ‘Worker thread N’) āϟāĻžāĻ¸ā§āĻ• āĻŦāĻŋāϤāϰāĻŖ āĻ•āϰ⧇, āϝāĻž āϭ⧇āϤāϰ⧇ āϏāĻŦ⧁āϜ āĻŦāĻžāϰ āϏāĻš āφāϝāĻŧāϤāĻ•ā§āώ⧇āĻ¤ā§āϰ āĻšāĻŋāϏāĻžāĻŦ⧇ āωāĻĒāĻ¸ā§āĻĨāĻžāĻĒāĻŋāϤ, āϝāĻž āϏāĻŽāĻžāĻ¨ā§āϤāϰāĻžāϞ āĻĒā§āϰāϏ⧇āϏāĻŋāĻ‚ āύāĻŋāĻ°ā§āĻĻ⧇āĻļ āĻ•āϰ⧇āĨ¤ āωāĻĒāĻŦ⧃āĻ¤ā§āϤāĻžāĻ•āĻžāϰ āϚāĻŋāĻšā§āύ (â€Ļ) āύāĻŋāĻ°ā§āĻĻ⧇āĻļ āĻ•āϰ⧇ āϝ⧇ āĻ¸ā§āĻĒāĻˇā§āϟāĻ­āĻžāĻŦ⧇ āĻĻ⧇āĻ–āĻžāύ⧋āϰ āĻŦāĻžāχāϰ⧇āĻ“ āĻāĻ•āĻžāϧāĻŋāĻ• āĻ•āĻŋāω āĻāĻŦāĻ‚ āĻ“āϝāĻŧāĻžāĻ°ā§āĻ•āĻžāϰ āĻĨā§āϰ⧇āĻĄ āϰāϝāĻŧ⧇āϛ⧇āĨ¤ āϤ⧀āϰ āϚāĻŋāĻšā§āύāϗ⧁āϞ⧋ āωāĻĒāĻžāĻĻāĻžāύāϗ⧁āϞ⧋āϰ āĻŽāĻ§ā§āϝ⧇ āϟāĻžāĻ¸ā§āĻ• āĻŦāĻž āϤāĻĨā§āϝ⧇āϰ āĻĒā§āϰāĻŦāĻžāĻš āϚāĻŋāĻ¤ā§āϰāĻŋāϤ āĻ•āϰ⧇āĨ¤] āϚāĻŋāĻ¤ā§āϰ ā§Ŧ

  • Queue router: āĻāϟāĻŋ āύāĻŋāĻļā§āϚāĻŋāϤ āĻ•āϰ⧇ āϝ⧇ āĻĒā§āϰāϤāĻŋāϟāĻŋ āĻ•āĻŋāω (b1, b2, â€Ļ bn) āĻļ⧁āϧ⧁āĻŽāĻžāĻ¤ā§āϰ āĻāĻ•āχ āĻšā§‹āĻ¸ā§āĻŸā§‡āϰ URL āϗ⧁āϞ⧋ āϧāĻžāϰāĻŖ āĻ•āϰ⧇āĨ¤
  • Mapping table: āĻāϟāĻŋ āĻĒā§āϰāϤāĻŋāϟāĻŋ āĻšā§‹āĻ¸ā§āϟāϕ⧇ āĻāĻ•āϟāĻŋ āĻ•āĻŋāωāϤ⧇ āĻŽā§āϝāĻžāĻĒ āĻ•āϰ⧇āĨ¤
āĻšā§‹āĻ¸ā§āϟāĻ•āĻŋāω
wikipedia.comb1
apple.comb2
â€Ļâ€Ļ
nike.combn

āĻŸā§‡āĻŦāĻŋāϞ ā§§

  • FIFO āĻ•āĻŋāω b1, b2 āĻĨ⧇āϕ⧇ bn: āĻĒā§āϰāϤāĻŋāϟāĻŋ āĻ•āĻŋāω āĻāĻ•āχ āĻšā§‹āĻ¸ā§āĻŸā§‡āϰ URL āϗ⧁āϞ⧋ āϧāĻžāϰāĻŖ āĻ•āϰ⧇āĨ¤
  • Queue selector: āĻĒā§āϰāϤāĻŋāϟāĻŋ āĻ“āϝāĻŧāĻžāĻ°ā§āĻ•āĻžāϰ āĻĨā§āϰ⧇āĻĄ āĻāĻ•āϟāĻŋ FIFO āĻ•āĻŋāωāϤ⧇ āĻŽā§āϝāĻžāĻĒ āĻ•āϰāĻž āĻĨāĻžāϕ⧇, āĻāĻŦāĻ‚ āĻāϟāĻŋ āĻļ⧁āϧ⧁āĻŽāĻžāĻ¤ā§āϰ āϏ⧇āχ āĻ•āĻŋāω āĻĨ⧇āϕ⧇ URL āϗ⧁āϞ⧋ āĻĄāĻžāωāύāϞ⧋āĻĄ āĻ•āϰ⧇āĨ¤ āĻ•āĻŋāω āύāĻŋāĻ°ā§āĻŦāĻžāϚāύ⧇āϰ āϝ⧁āĻ•ā§āϤāĻŋ Queue selector āĻĻā§āĻŦāĻžāϰāĻž āϏāĻŽā§āĻĒāĻ¨ā§āύ āĻ•āϰāĻž āĻšāϝāĻŧāĨ¤
  • Worker thread 1 āĻĨ⧇āϕ⧇ N: āĻāĻ•āϟāĻŋ āĻ“āϝāĻŧāĻžāĻ°ā§āĻ•āĻžāϰ āĻĨā§āϰ⧇āĻĄ āĻāĻ•āχ āĻšā§‹āĻ¸ā§āϟ āĻĨ⧇āϕ⧇ āĻāϕ⧇ āĻāϕ⧇ āĻ“āϝāĻŧ⧇āĻŦ āĻĒ⧇āϜ āĻĄāĻžāωāύāϞ⧋āĻĄ āĻ•āϰ⧇āĨ¤ āĻĻ⧁āϟāĻŋ āĻĄāĻžāωāύāϞ⧋āĻĄ āϟāĻžāĻ¸ā§āϕ⧇āϰ āĻŽāĻ§ā§āϝ⧇ āĻāĻ•āϟāĻŋ āĻŦāĻŋāϞāĻŽā§āĻŦ āϝ⧋āĻ— āĻ•āϰāĻž āϝ⧇āϤ⧇ āĻĒāĻžāϰ⧇āĨ¤

āĻ…āĻ—ā§āϰāĻžāϧāĻŋāĻ•āĻžāϰ (Priority)

āĻ…ā§āϝāĻžāĻĒāϞ āĻĒāĻŖā§āϝ āϏāĻŽā§āĻĒāĻ°ā§āϕ⧇ āĻāĻ•āϟāĻŋ āĻĄāĻŋāϏāĻ•āĻžāĻļāύ āĻĢā§‹āϰāĻžāĻŽ āĻĨ⧇āϕ⧇ āĻāĻ•āϟāĻŋ āĻ°â€ā§āϝāĻžāĻ¨ā§āĻĄāĻŽ āĻĒā§‹āĻ¸ā§āϟ āĻ…ā§āϝāĻžāĻĒāϞ⧇āϰ āĻšā§‹āĻŽ āĻĒ⧇āĻœā§‡āϰ āĻĒā§‹āĻ¸ā§āϟāϗ⧁āϞ⧋āϰ āĻšā§‡āϝāĻŧ⧇ āϖ⧁āĻŦ āφāϞāĻžāĻĻāĻž āϗ⧁āϰ⧁āĻ¤ā§āĻŦ āĻŦāĻšāύ āĻ•āϰ⧇āĨ¤ āϝāĻĻāĻŋāĻ“ āϤāĻžāĻĻ⧇āϰ āωāĻ­āϝāĻŧ⧇āϰ āĻŽāĻ§ā§āϝ⧇ “Apple” āϕ⧀āĻ“āϝāĻŧāĻžāĻ°ā§āĻĄ āϰāϝāĻŧ⧇āϛ⧇, āϤāĻŦ⧁āĻ“ āĻāĻ•āϟāĻŋ āĻ•ā§āϰāϞāĻžāϰ⧇āϰ āϜāĻ¨ā§āϝ āĻĒā§āϰāĻĨāĻŽā§‡ āĻ…ā§āϝāĻžāĻĒāϞ⧇āϰ āĻšā§‹āĻŽ āĻĒ⧇āϜ āĻ•ā§āϰāϞ āĻ•āϰāĻžāϟāĻž āϝ⧁āĻ•ā§āϤāĻŋāϝ⧁āĻ•ā§āϤāĨ¤

āφāĻŽāϰāĻž āωāĻĒāϝ⧋āĻ—āĻŋāϤāĻžāϰ āĻ“āĻĒāϰ āĻ­āĻŋāĻ¤ā§āϤāĻŋ āĻ•āϰ⧇ URL āϗ⧁āϞ⧋āϕ⧇ āĻ…āĻ—ā§āϰāĻžāϧāĻŋāĻ•āĻžāϰ āĻĻāĻŋāχ, āϝāĻž PageRank [10], āĻ“āϝāĻŧ⧇āĻŦāϏāĻžāχāϟ āĻŸā§āĻ°ā§āϝāĻžāĻĢāĻŋāĻ•, āφāĻĒāĻĄā§‡āĻŸā§‡āϰ āĻĢā§āϰāĻŋāϕ⧋āϝāĻŧ⧇āĻ¨ā§āϏāĻŋ āχāĻ¤ā§āϝāĻžāĻĻāĻŋ āĻĻā§āĻŦāĻžāϰāĻž āĻĒāϰāĻŋāĻŽāĻžāĻĒ āĻ•āϰāĻž āϝ⧇āϤ⧇ āĻĒāĻžāϰ⧇āĨ¤ “Prioritizer” āĻšāϞ⧋ āϏ⧇āχ āωāĻĒāĻžāĻĻāĻžāύ āϝāĻž URL āĻ…āĻ—ā§āϰāĻžāϧāĻŋāĻ•āĻžāϰ āĻĒāϰāĻŋāϚāĻžāϞāύāĻž āĻ•āϰ⧇āĨ¤ āĻāχ āϧāĻžāϰāĻŖāĻž āϏāĻŽā§āĻĒāĻ°ā§āϕ⧇ āĻ—āĻ­ā§€āϰ āϤāĻĨā§āϝ⧇āϰ āϜāĻ¨ā§āϝ āϰ⧇āĻĢāĻžāϰ⧇āĻ¨ā§āϏ āĻŽā§āϝāĻžāĻŸā§‡āϰāĻŋāϝāĻŧāĻžāϞ [5] [10] āĻĻ⧇āϖ⧁āύāĨ¤

āϚāĻŋāĻ¤ā§āϰ ā§­ URL āĻ…āĻ—ā§āϰāĻžāϧāĻŋāĻ•āĻžāϰ āĻĒāϰāĻŋāϚāĻžāϞāύāĻž āĻ•āϰ⧇ āĻāĻŽāύ āĻĄāĻŋāϜāĻžāχāύāϟāĻŋ āĻĻ⧇āĻ–āĻžāϝāĻŧāĨ¤

[āϚāĻŋāĻ¤ā§āϰ ā§­-āĻāϰ āĻŦāĻ°ā§āĻŖāύāĻž: āĻ›āĻŦāĻŋāϟāĻŋ URL āĻĒā§āϰāϏ⧇āϏāĻŋāĻ‚āϝāĻŧ⧇āϰ āϜāĻ¨ā§āϝ āĻāĻ•āϟāĻŋ āϏāĻŋāĻ¸ā§āĻŸā§‡āĻŽ āωāĻĒāĻ¸ā§āĻĨāĻžāĻĒāύ āĻ•āϰ⧇āĨ¤ input URLs-āĻāϰ āĻāĻ•āϟāĻŋ āĻ¸ā§āĻŸā§āϰāĻŋāĻŽ āĻāĻ•āϟāĻŋ Prioritizer āωāĻĒāĻžāĻĻāĻžāύ⧇ āĻĒā§āϰāĻŦ⧇āĻļ āĻ•āϰ⧇, āϝāĻž āϤāĻžāϰāĻĒāϰ āĻāχ URL āϗ⧁āϞ⧋āϕ⧇ f1, f2, â€Ļ, fn āϞ⧇āĻŦ⧇āϞāϝ⧁āĻ•ā§āϤ āĻāĻ•āĻžāϧāĻŋāĻ• āĻ•āĻŋāωāϤ⧇ āĻŦāĻŋāϤāϰāĻŖ āĻ•āϰ⧇āĨ¤ āĻāχ āĻ•āĻŋāωāϗ⧁āϞ⧋ āωāĻ˛ā§āϞāĻŽā§āĻŦāĻ­āĻžāĻŦ⧇ āĻ¸ā§āϤ⧂āĻĒāĻ•ā§ƒāϤ āφāϝāĻŧāϤāĻ•ā§āώ⧇āĻ¤ā§āϰ āĻšāĻŋāϏāĻžāĻŦ⧇ āωāĻĒāĻ¸ā§āĻĨāĻžāĻĒāĻŋāϤ, āϝāĻž āĻŦā§‹āĻāĻžāϝāĻŧ āϝ⧇ āϤāĻžāϰāĻž āĻāĻ•āĻžāϧāĻŋāĻ• URL āϧāĻžāϰāĻŖ āĻ•āϰ⧇āĨ¤ Prioritizer āĻ•āĻŋāϛ⧁ āĻ…āĻ—ā§āϰāĻžāϧāĻŋāĻ•āĻžāϰ āϝ⧁āĻ•ā§āϤāĻŋāϰ āĻ“āĻĒāϰ āĻ­āĻŋāĻ¤ā§āϤāĻŋ āĻ•āϰ⧇ (āĻĄāĻžāϝāĻŧāĻžāĻ—ā§āϰāĻžāĻŽā§‡ āύāĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āϟ āĻ•āϰāĻž āĻšāϝāĻŧāύāĻŋ) āĻĒā§āϰāϤāĻŋāϟāĻŋ āφāĻ—āϤ URL āϕ⧋āύ āĻ•āĻŋāωāϤ⧇ āĻ…ā§āϝāĻžāϏāĻžāχāύ āĻ•āϰāĻž āωāϚāĻŋāϤ āϤāĻž āύāĻŋāĻ°ā§āϧāĻžāϰāĻŖ āĻ•āϰ⧇āĨ¤ āϤāĻžāĻĻ⧇āϰ āϏāĻ‚āĻļā§āϞāĻŋāĻˇā§āϟ āĻ•āĻŋāωāϤ⧇ āĻĒā§āϰāϏ⧇āϏ āĻšāĻ“āϝāĻŧāĻžāϰ āĻĒāϰ⧇, āϏāĻŽāĻ¸ā§āϤ āĻ•āĻŋāω āĻĨ⧇āϕ⧇ URL āϗ⧁āϞ⧋ āĻāĻ•āϟāĻŋ Queue selector āωāĻĒāĻžāĻĻāĻžāύ⧇ āĻĢāĻŋāĻĄ āĻ•āϰāĻž āĻšāϝāĻŧāĨ¤ āĻāχ āωāĻĒāĻžāĻĻāĻžāύāϟāĻŋ āĻŦāĻŋāĻ­āĻŋāĻ¨ā§āύ āĻ•āĻŋāω āĻĨ⧇āϕ⧇ URL āύāĻŋāĻ°ā§āĻŦāĻžāϚāύ āĻ•āϰ⧇, āϏāĻŽā§āĻ­āĻŦāϤ āĻ•āĻŋāϛ⧁ āύāĻŋāĻ°ā§āĻŦāĻžāϚāύ⧇āϰ āĻŽāĻžāύāĻĻāĻŖā§āĻĄā§‡āϰ āĻ“āĻĒāϰ āĻ­āĻŋāĻ¤ā§āϤāĻŋ āĻ•āϰ⧇ (āφāĻŦāĻžāϰāĻ“, āĻŦāĻŋāĻ¸ā§āϤāĻžāϰāĻŋāϤ āĻŦāϞāĻž āĻšāϝāĻŧāύāĻŋ), āĻāĻŦāĻ‚ output URLs-āĻāϰ āĻāĻ•āϟāĻŋ āĻ¸ā§āĻŸā§āϰāĻŋāĻŽ āφāωāϟāĻĒ⧁āϟ āĻ•āϰ⧇āĨ¤ āωāĻĒāĻŦ⧃āĻ¤ā§āϤāĻžāĻ•āĻžāϰ āϚāĻŋāĻšā§āύ (â€Ļ) āύāĻŋāĻ°ā§āĻĻ⧇āĻļ āĻ•āϰ⧇ āϝ⧇ āĻ¸ā§āĻĒāĻˇā§āϟāĻ­āĻžāĻŦ⧇ āĻĻ⧇āĻ–āĻžāύ⧋āϰ āĻšā§‡āϝāĻŧ⧇ f2 āĻāĻŦāĻ‚ fn-āĻāϰ āĻŽāĻ§ā§āϝ⧇ āφāϰāĻ“ āĻ•āĻŋāω āϰāϝāĻŧ⧇āϛ⧇āĨ¤ āϏāĻžāĻŽāĻ—ā§āϰāĻŋāĻ• āĻĒā§āϰāĻŦāĻžāĻšāϟāĻŋ āωāĻĒāϰ āĻĨ⧇āϕ⧇ āύāĻŋāĻšā§‡, URL āϗ⧁āϞ⧋ āωāĻĒāϰ⧇ āĻĒā§āϰāĻŦ⧇āĻļ āĻ•āϰāϛ⧇ āĻāĻŦāĻ‚ āύāĻŋāĻšā§‡ āĻŦ⧇āϰ āĻšāĻšā§āϛ⧇āĨ¤] āϚāĻŋāĻ¤ā§āϰ ā§­

  • Prioritizer: āĻāϟāĻŋ URL āϗ⧁āϞ⧋āϕ⧇ āχāύāĻĒ⧁āϟ āĻšāĻŋāϏāĻžāĻŦ⧇ āύ⧇āϝāĻŧ āĻāĻŦāĻ‚ āĻ…āĻ—ā§āϰāĻžāϧāĻŋāĻ•āĻžāϰāϗ⧁āϞ⧋ āĻ—āĻŖāύāĻž āĻ•āϰ⧇āĨ¤
  • Queue f1 āĻĨ⧇āϕ⧇ fn: āĻĒā§āϰāϤāĻŋāϟāĻŋ āĻ•āĻŋāωāϤ⧇ āĻāĻ•āϟāĻŋ āύāĻŋāĻ°ā§āϧāĻžāϰāĻŋāϤ āĻ…āĻ—ā§āϰāĻžāϧāĻŋāĻ•āĻžāϰ āϰāϝāĻŧ⧇āϛ⧇āĨ¤ āωāĻšā§āϚ āĻ…āĻ—ā§āϰāĻžāϧāĻŋāĻ•āĻžāϰāϝ⧁āĻ•ā§āϤ āĻ•āĻŋāωāϗ⧁āϞ⧋ āωāĻšā§āϚ āϏāĻŽā§āĻ­āĻžāĻŦāύāĻžāϝāĻŧ āύāĻŋāĻ°ā§āĻŦāĻžāϚāĻŋāϤ āĻšāϝāĻŧāĨ¤
  • Queue selector: āωāĻšā§āϚ āĻ…āĻ—ā§āϰāĻžāϧāĻŋāĻ•āĻžāϰāϝ⧁āĻ•ā§āϤ āĻ•āĻŋāωāϗ⧁āϞ⧋āϰ āĻĒā§āϰāϤāĻŋ āĻĒāĻ•ā§āώāĻĒāĻžāϤ (bias) āϏāĻš āĻāĻ•āϟāĻŋ āĻ•āĻŋāω āĻ°â€ā§āϝāĻžāĻ¨ā§āĻĄāĻŽāĻ­āĻžāĻŦ⧇ āĻŦ⧇āϛ⧇ āύ⧇āϝāĻŧāĨ¤

āϚāĻŋāĻ¤ā§āϰ ā§Ž URL frontier āĻĄāĻŋāϜāĻžāχāύ āωāĻĒāĻ¸ā§āĻĨāĻžāĻĒāύ āĻ•āϰ⧇, āĻāĻŦāĻ‚ āĻāϟāĻŋ āĻĻ⧁āϟāĻŋ āĻŽāĻĄāĻŋāωāϞ āϧāĻžāϰāĻŖ āĻ•āϰ⧇:

  • Front queues: āĻ…āĻ—ā§āϰāĻžāϧāĻŋāĻ•āĻžāϰ āĻĒāϰāĻŋāϚāĻžāϞāύāĻž āĻ•āϰ⧇
  • Back queues: āĻ­āĻĻā§āϰāϤāĻž āĻĒāϰāĻŋāϚāĻžāϞāύāĻž āĻ•āϰ⧇

[āϚāĻŋāĻ¤ā§āϰ ā§Ž-āĻāϰ āĻŦāĻ°ā§āĻŖāύāĻž: āĻ›āĻŦāĻŋāϟāĻŋ URL āĻĒā§āϰāϏ⧇āϏāĻŋāĻ‚āϝāĻŧ⧇āϰ āϜāĻ¨ā§āϝ āĻāĻ•āϟāĻŋ āϏāĻŋāĻ¸ā§āĻŸā§‡āĻŽ āφāĻ°ā§āĻ•āĻŋāĻŸā§‡āĻ•āϚāĻžāϰ āĻĄāĻžāϝāĻŧāĻžāĻ—ā§āϰāĻžāĻŽ āωāĻĒāĻ¸ā§āĻĨāĻžāĻĒāύ āĻ•āϰ⧇āĨ¤ āχāύāĻĒ⧁āϟ URL āϗ⧁āϞ⧋ āϏāĻŋāĻ¸ā§āĻŸā§‡āĻŽā§‡ āĻĒā§āϰāĻŦ⧇āĻļ āĻ•āϰ⧇ āĻāĻŦāĻ‚ āĻāĻ•āϟāĻŋ Prioritizer āĻĻā§āĻŦāĻžāϰāĻž āĻĒā§āϰāϏ⧇āϏ āĻ•āϰāĻž āĻšāϝāĻŧ, āϝāĻž āϏ⧇āϗ⧁āϞ⧋āϕ⧇ āĻāĻ•āĻžāϧāĻŋāĻ• Front queues (f1, f2, â€Ļ, fn)-āĻ āĻŦāĻŋāϤāϰāĻŖ āĻ•āϰ⧇, āϝāĻž āωāĻ˛ā§āϞāĻŽā§āĻŦ āφāϝāĻŧāϤāĻ•ā§āώ⧇āĻ¤ā§āϰ āĻšāĻŋāϏāĻžāĻŦ⧇ āωāĻĒāĻ¸ā§āĻĨāĻžāĻĒāĻŋāϤāĨ¤ āĻāχ āĻ•āĻŋāωāϗ⧁āϞ⧋ āĻāĻ•āϟāĻŋ Front queue selector-āĻ āĻĢāĻŋāĻĄ āĻ•āϰ⧇, āϝāĻž URL āϗ⧁āϞ⧋ āφāωāϟāĻĒ⧁āϟ āĻ•āϰ⧇āĨ¤ output URLs āϗ⧁āϞ⧋ āϤāĻžāϰāĻĒāϰ āĻāĻ•āϟāĻŋ Back queue router āĻĻā§āĻŦāĻžāϰāĻž āĻāĻ•āĻžāϧāĻŋāĻ• Back queues (b1, b2, â€Ļ, bn)-āĻ āϰ⧁āϟ āĻ•āϰāĻž āĻšāϝāĻŧ, āϝāĻžāĻ“ āφāϝāĻŧāϤāĻ•ā§āώ⧇āĻ¤ā§āϰ āĻšāĻŋāϏāĻžāĻŦ⧇ āωāĻĒāĻ¸ā§āĻĨāĻžāĻĒāĻŋāϤāĨ¤ Back queue router āĻāĻ•āϟāĻŋ Mapping Table-āϤ⧇āĻ“ āϤāĻĨā§āϝ āĻĒāĻžāĻ āĻžāϝāĻŧ, āϝāĻž āĻāĻ•āϟāĻŋ āĻĄāĻžāϟāĻžāĻŦ⧇āϏ āφāχāĻ•āύ āĻšāĻŋāϏāĻžāĻŦ⧇ āϚāĻŋāĻ¤ā§āϰāĻŋāϤāĨ¤ āĻĒāϰāĻŋāĻļ⧇āώ⧇, āĻāĻ•āϟāĻŋ Back queue selector āĻŦā§āϝāĻžāĻ• āĻ•āĻŋāω āĻĨ⧇āϕ⧇ URL āϗ⧁āϞ⧋ āĻāĻ•āĻžāϧāĻŋāĻ• Worker threads (1, 2, 3, â€Ļ)-āĻ āĻŦāĻŋāϤāϰāĻŖ āĻ•āϰ⧇, āϝāĻž āϏāĻŦ⧁āϜ āφāϝāĻŧāϤāĻ•ā§āώ⧇āĻ¤ā§āϰ āĻšāĻŋāϏāĻžāĻŦ⧇ āĻĻ⧇āĻ–āĻžāύ⧋ āĻšāϝāĻŧ⧇āϛ⧇, āĻšā§‚āĻĄāĻŧāĻžāĻ¨ā§āϤ āĻĒā§āϰāϏ⧇āϏāĻŋāĻ‚āϝāĻŧ⧇āϰ āϜāĻ¨ā§āϝāĨ¤ āϤ⧀āϰ āϚāĻŋāĻšā§āύāϗ⧁āϞ⧋ āωāĻĒāĻžāĻĻāĻžāύāϗ⧁āϞ⧋āϰ āĻŽāĻ§ā§āϝ⧇ āĻĄā§‡āϟāĻž āĻĒā§āϰāĻŦāĻžāĻš āύāĻŋāĻ°ā§āĻĻ⧇āĻļ āĻ•āϰ⧇āĨ¤ āωāĻĒāĻŦ⧃āĻ¤ā§āϤāĻžāĻ•āĻžāϰ āϚāĻŋāĻšā§āύ (â€Ļ) āύāĻŋāĻ°ā§āĻĻ⧇āĻļ āĻ•āϰ⧇ āϝ⧇ āĻ¸ā§āĻĒāĻˇā§āϟāĻ­āĻžāĻŦ⧇ āĻĻ⧇āĻ–āĻžāύ⧋āϰ āĻšā§‡āϝāĻŧ⧇ āφāϰāĻ“ āĻ•āĻŋāω āĻāĻŦāĻ‚ āĻ“āϝāĻŧāĻžāĻ°ā§āĻ•āĻžāϰ āĻĨā§āϰ⧇āĻĄ āϰāϝāĻŧ⧇āϛ⧇āĨ¤] āϚāĻŋāĻ¤ā§āϰ ā§Ž

āϤāĻžāϜāĻžāĻ¤ā§āĻŦ (Freshness)

āĻ“āϝāĻŧ⧇āĻŦ āĻĒ⧇āϜāϗ⧁āϞ⧋ āĻ•ā§āϰāĻŽāĻžāĻ—āϤ āϝ⧁āĻ•ā§āϤ, āĻŽā§āϛ⧇ āĻĢ⧇āϞāĻž āĻāĻŦāĻ‚ āϏāĻŽā§āĻĒāĻžāĻĻāĻŋāϤ āĻšāĻšā§āϛ⧇āĨ¤ āφāĻŽāĻžāĻĻ⧇āϰ āĻĄā§‡āϟāĻž āϏ⧇āϟ āϤāĻžāϜāĻž āϰāĻžāĻ–āϤ⧇ āĻāĻ•āϟāĻŋ āĻ“āϝāĻŧ⧇āĻŦ āĻ•ā§āϰāϞāĻžāϰāϕ⧇ āĻ…āĻŦāĻļā§āϝāχ āĻĒāĻ°ā§āϝāĻžāϝāĻŧāĻ•ā§āϰāĻŽā§‡ āĻĄāĻžāωāύāϞ⧋āĻĄ āĻ•āϰāĻž āĻĒ⧇āϜāϗ⧁āϞ⧋ āĻĒ⧁āύāϰāĻžāϝāĻŧ āĻ•ā§āϰāϞ āĻ•āϰāϤ⧇ āĻšāĻŦ⧇āĨ¤ āϏāĻŽāĻ¸ā§āϤ URL āĻĒ⧁āύāϰāĻžāϝāĻŧ āĻ•ā§āϰāϞ āĻ•āϰāĻž āϏāĻŽāϝāĻŧāϏāĻžāĻĒ⧇āĻ•ā§āώ āĻāĻŦāĻ‚ āϰāĻŋāϏ⧋āĻ°ā§āϏ-āύāĻŋāĻŦāĻŋāĻĄāĻŧāĨ¤ āϤāĻžāϜāĻžāĻ¤ā§āĻŦ āĻ…āĻĒā§āϟāĻŋāĻŽāĻžāχāϜ āĻ•āϰāĻžāϰ āϜāĻ¨ā§āϝ āĻ•āϝāĻŧ⧇āĻ•āϟāĻŋ āĻ•ā§ŒāĻļāϞ āύāĻŋāĻšā§‡ āϤāĻžāϞāĻŋāĻ•āĻžāϭ⧁āĻ•ā§āϤ āĻ•āϰāĻž āĻšāϞ⧋:

  • āĻ“āϝāĻŧ⧇āĻŦ āĻĒ⧇āϜāϗ⧁āϞ⧋āϰ āφāĻĒāĻĄā§‡āĻŸā§‡āϰ āχāϤāĻŋāĻšāĻžāϏ⧇āϰ āĻ“āĻĒāϰ āĻ­āĻŋāĻ¤ā§āϤāĻŋ āĻ•āϰ⧇ āĻĒ⧁āύāϰāĻžāϝāĻŧ āĻ•ā§āϰāϞ āĻ•āϰāĻžāĨ¤
  • URL āϗ⧁āϞ⧋āϕ⧇ āĻ…āĻ—ā§āϰāĻžāϧāĻŋāĻ•āĻžāϰ āĻĻ⧇āĻ“āϝāĻŧāĻž āĻāĻŦāĻ‚ āϗ⧁āϰ⧁āĻ¤ā§āĻŦāĻĒā§‚āĻ°ā§āĻŖ āĻĒ⧇āϜāϗ⧁āϞ⧋ āĻĒā§āϰāĻĨāĻŽā§‡ āĻāĻŦāĻ‚ āφāϰāĻ“ āϘāύ āϘāύ āĻĒ⧁āύāϰāĻžāϝāĻŧ āĻ•ā§āϰāϞ āĻ•āϰāĻžāĨ¤

URL Frontier-āĻāϰ āϜāĻ¨ā§āϝ āĻ¸ā§āĻŸā§‹āϰ⧇āϜ

āϏāĻžāĻ°ā§āϚ āχāĻžā§āϜāĻŋāύ⧇āϰ āϜāĻ¨ā§āϝ āĻŦāĻžāĻ¸ā§āϤāĻŦ āĻŦāĻŋāĻļā§āĻŦ⧇āϰ āĻ•ā§āϰāϞ⧇, frontier-āĻ URL āϗ⧁āϞ⧋āϰ āϏāĻ‚āĻ–ā§āϝāĻž āĻļāϤ āĻļāϤ āĻŽāĻŋāϞāĻŋāϝāĻŧāύ āĻšāϤ⧇ āĻĒāĻžāϰ⧇ [4]āĨ¤ āϏāĻŦāĻ•āĻŋāϛ⧁ āĻŽā§‡āĻŽāϰāĻŋāϤ⧇ āϰāĻžāĻ–āĻž āĻŸā§‡āĻ•āϏāχāĻ“ āύāϝāĻŧ āĻāĻŦāĻ‚ āĻ¸ā§āϕ⧇āϞ⧇āĻŦāϞāĻ“ āύāϝāĻŧāĨ¤ āϏāĻŦāĻ•āĻŋāϛ⧁ āĻĄāĻŋāĻ¸ā§āϕ⧇ āϰāĻžāĻ–āĻžāĻ“ āĻŦāĻžāĻžā§āĻ›āύ⧀āϝāĻŧ āύāϝāĻŧ āĻ•āĻžāϰāĻŖ āĻĄāĻŋāĻ¸ā§āĻ• āϧ⧀āϰāĻ—āϤāĻŋāϰ; āĻāĻŦāĻ‚ āĻāϟāĻŋ āϏāĻšāĻœā§‡āχ āĻ•ā§āϰāϞ⧇āϰ āϜāĻ¨ā§āϝ āĻāĻ•āϟāĻŋ āĻŦāϟāϞāύ⧇āĻ• āĻšāϝāĻŧ⧇ āωāĻ āϤ⧇ āĻĒāĻžāϰ⧇āĨ¤

āφāĻŽāϰāĻž āĻāĻ•āϟāĻŋ āĻšāĻžāχāĻŦā§āϰāĻŋāĻĄ āĻĒāĻĻā§āϧāϤāĻŋ āĻ—ā§āϰāĻšāĻŖ āĻ•āϰ⧇āĻ›āĻŋāĨ¤ āĻŦ⧇āĻļāĻŋāϰāĻ­āĻžāĻ— URL āĻĄāĻŋāĻ¸ā§āϕ⧇ āϏāĻ‚āϰāĻ•ā§āώāĻŖ āĻ•āϰāĻž āĻšāϝāĻŧ, āϤāĻžāχ āĻ¸ā§āĻŸā§‹āϰ⧇āϜ āĻ¸ā§āĻĒ⧇āϏ āϕ⧋āύ⧋ āϏāĻŽāĻ¸ā§āϝāĻž āύāϝāĻŧāĨ¤ āĻĄāĻŋāĻ¸ā§āĻ• āĻĨ⧇āϕ⧇ āĻĒāĻĄāĻŧāĻž āĻāĻŦāĻ‚ āĻĄāĻŋāĻ¸ā§āϕ⧇ āϞ⧇āĻ–āĻžāϰ āĻ–āϰāϚ āĻ•āĻŽāĻžāϤ⧇, āφāĻŽāϰāĻž enqueue/dequeue āĻ…āĻĒāĻžāϰ⧇āĻļāύ⧇āϰ āϜāĻ¨ā§āϝ āĻŽā§‡āĻŽāϰāĻŋāϤ⧇ āĻŦāĻžāĻĢāĻžāϰ āĻŦāϜāĻžāϝāĻŧ āϰāĻžāĻ–āĻŋāĨ¤ āĻŦāĻžāĻĢāĻžāϰ⧇ āĻĨāĻžāĻ•āĻž āĻĄā§‡āϟāĻž āĻĒāĻ°ā§āϝāĻžāϝāĻŧāĻ•ā§āϰāĻŽā§‡ āĻĄāĻŋāĻ¸ā§āϕ⧇ āϞ⧇āĻ–āĻž āĻšāϝāĻŧāĨ¤

HTML Downloader

HTML Downloader HTTP āĻĒā§āϰ⧋āĻŸā§‹āĻ•āϞ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧇ āχāĻ¨ā§āϟāĻžāϰāύ⧇āϟ āĻĨ⧇āϕ⧇ āĻ“āϝāĻŧ⧇āĻŦ āĻĒ⧇āϜāϗ⧁āϞ⧋ āĻĄāĻžāωāύāϞ⧋āĻĄ āĻ•āϰ⧇āĨ¤ HTML Downloader āύāĻŋāϝāĻŧ⧇ āφāϞ⧋āϚāύāĻž āĻ•āϰāĻžāϰ āφāϗ⧇, āφāĻŽāϰāĻž āĻĒā§āϰāĻĨāĻŽā§‡ Robots Exclusion Protocol-āĻāϰ āĻĻāĻŋāϕ⧇ āϤāĻžāĻ•āĻžāχāĨ¤

Robots.txt

Robots.txt, āϝāĻžāϕ⧇ Robots Exclusion Protocol āĻŦāϞāĻž āĻšāϝāĻŧ, āĻšāϞ⧋ āĻāĻ•āϟāĻŋ āĻ¸ā§āĻŸā§āϝāĻžāĻ¨ā§āĻĄāĻžāĻ°ā§āĻĄ āϝāĻž āĻ“āϝāĻŧ⧇āĻŦāϏāĻžāχāϟāϗ⧁āϞ⧋ āĻ•ā§āϰāϞāĻžāϰāĻĻ⧇āϰ āϏāĻžāĻĨ⧇ āϝ⧋āĻ—āĻžāϝ⧋āĻ— āĻ•āϰāϤ⧇ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧇āĨ¤ āĻāϟāĻŋ āύāĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āϟ āĻ•āϰ⧇ āϝ⧇ āĻ•ā§āϰāϞāĻžāϰāϗ⧁āϞ⧋ āϕ⧋āύ āĻĒ⧇āϜāϗ⧁āϞ⧋ āĻĄāĻžāωāύāϞ⧋āĻĄ āĻ•āϰāϤ⧇ āĻ…āύ⧁āĻŽā§‹āĻĻāĻŋāϤāĨ¤ āĻāĻ•āϟāĻŋ āĻ“āϝāĻŧ⧇āĻŦ āϏāĻžāχāϟ āĻ•ā§āϰāϞ āĻ•āϰāĻžāϰ āĻšā§‡āĻˇā§āϟāĻž āĻ•āϰāĻžāϰ āφāϗ⧇, āĻāĻ•āϟāĻŋ āĻ•ā§āϰāϞāĻžāϰ⧇āϰ āωāϚāĻŋāϤ āĻĒā§āϰāĻĨāĻŽā§‡ āϤāĻžāϰ āϏāĻ‚āĻļā§āϞāĻŋāĻˇā§āϟ robots.txt āĻšā§‡āĻ• āĻ•āϰāĻž āĻāĻŦāĻ‚ āĻāϰ āύāĻŋāϝāĻŧāĻŽāϗ⧁āϞ⧋ āĻŽā§‡āύ⧇ āϚāϞāĻžāĨ¤

robots.txt āĻĢāĻžāχāϞ⧇āϰ āĻĒ⧁āύāϰāĻžāĻŦ⧃āĻ¤ā§āϤāĻŋ āĻĄāĻžāωāύāϞ⧋āĻĄ āĻāĻĄāĻŧāĻžāϤ⧇, āφāĻŽāϰāĻž āĻĢāĻžāχāϞ⧇āϰ āĻĢāϞāĻžāĻĢāϞāϗ⧁āϞ⧋ āĻ•ā§āϝāĻžāĻļ āĻ•āϰāĻŋāĨ¤ āĻĢāĻžāχāϞāϟāĻŋ āĻĒāĻ°ā§āϝāĻžāϝāĻŧāĻ•ā§āϰāĻŽā§‡ āĻĄāĻžāωāύāϞ⧋āĻĄ āĻāĻŦāĻ‚ āĻ•ā§āϝāĻžāĻļ⧇ āϏāĻ‚āϰāĻ•ā§āώāĻŖ āĻ•āϰāĻž āĻšāϝāĻŧāĨ¤ āĻāĻ–āĻžāύ⧇ https://www.amazon.com/robots.txt  āĻĨ⧇āϕ⧇ āύ⧇āĻ“āϝāĻŧāĻž robots.txt āĻĢāĻžāχāϞ⧇āϰ āĻāĻ•āϟāĻŋ āĻ…āĻ‚āĻļ āĻĻ⧇āĻ“āϝāĻŧāĻž āĻšāϞ⧋āĨ¤ creatorhub-āĻāϰ āĻŽāϤ⧋ āĻ•āĻŋāϛ⧁ āĻĄāĻŋāϰ⧇āĻ•ā§āϟāϰāĻŋ Google bot-āĻāϰ āϜāĻ¨ā§āϝ āύāĻŋāώāĻŋāĻĻā§āϧ (disallowed)āĨ¤

User-agent: Googlebot Disallow: /creatorhub/* Disallow: /rss/people/*/reviews Disallow: /gp/pdp/rss/*/reviews Disallow: /gp/cdp/member-reviews/ Disallow: /gp/aw/cr/

robots.txt āĻ›āĻžāĻĄāĻŧāĻžāĻ“, āĻĒāĻžāϰāĻĢāϰāĻŽā§āϝāĻžāĻ¨ā§āϏ āĻ…āĻĒā§āϟāĻŋāĻŽāĻžāχāĻœā§‡āĻļāύ āĻšāϞ⧋ āφāϰ⧇āĻ•āϟāĻŋ āϗ⧁āϰ⧁āĻ¤ā§āĻŦāĻĒā§‚āĻ°ā§āĻŖ āϧāĻžāϰāĻŖāĻž āϝāĻž āφāĻŽāϰāĻž HTML āĻĄāĻžāωāύāϞ⧋āĻĄāĻžāϰ⧇āϰ āϜāĻ¨ā§āϝ āĻ•āĻ­āĻžāϰ āĻ•āϰāĻŦāĨ¤

āĻĒāĻžāϰāĻĢāϰāĻŽā§āϝāĻžāĻ¨ā§āϏ āĻ…āĻĒā§āϟāĻŋāĻŽāĻžāχāĻœā§‡āĻļāύ

āύāĻŋāĻšā§‡ HTML āĻĄāĻžāωāύāϞ⧋āĻĄāĻžāϰ⧇āϰ āϜāĻ¨ā§āϝ āĻĒāĻžāϰāĻĢāϰāĻŽā§āϝāĻžāĻ¨ā§āϏ āĻ…āĻĒā§āϟāĻŋāĻŽāĻžāχāĻœā§‡āĻļāύ⧇āϰ āĻāĻ•āϟāĻŋ āϤāĻžāϞāĻŋāĻ•āĻž āĻĻ⧇āĻ“āϝāĻŧāĻž āĻšāϞ⧋āĨ¤

ā§§. āĻĄāĻŋāĻ¸ā§āĻŸā§āϰāĻŋāĻŦāĻŋāωāĻŸā§‡āĻĄ āĻ•ā§āϰāϞ (Distributed crawl)

āωāĻšā§āϚ āĻĒāĻžāϰāĻĢāϰāĻŽā§āϝāĻžāĻ¨ā§āϏ āĻ…āĻ°ā§āϜāύ āĻ•āϰāϤ⧇, āĻ•ā§āϰāϞ āϜāĻŦāϗ⧁āϞ⧋ āĻāĻ•āĻžāϧāĻŋāĻ• āϏāĻžāĻ°ā§āĻ­āĻžāϰ⧇ āĻŦāĻŋāϤāϰāĻŖ āĻ•āϰāĻž āĻšāϝāĻŧ, āĻāĻŦāĻ‚ āĻĒā§āϰāϤāĻŋāϟāĻŋ āϏāĻžāĻ°ā§āĻ­āĻžāϰ āĻāĻ•āĻžāϧāĻŋāĻ• āĻĨā§āϰ⧇āĻĄ āϚāĻžāϞāĻžāϝāĻŧāĨ¤ URL āĻ¸ā§āĻĒ⧇āϏāϕ⧇ āϛ⧋āϟ āϛ⧋āϟ āϟ⧁āĻ•āϰ⧋āϤ⧇ āĻ­āĻžāĻ— āĻ•āϰāĻž āĻšāϝāĻŧ; āϤāĻžāχ, āĻĒā§āϰāϤāĻŋāϟāĻŋ āĻĄāĻžāωāύāϞ⧋āĻĄāĻžāϰ URL āϗ⧁āϞ⧋āϰ āĻāĻ•āϟāĻŋ āϏāĻžāĻŦāϏ⧇āĻŸā§‡āϰ āϜāĻ¨ā§āϝ āĻĻāĻžāϝāĻŧā§€ āĻĨāĻžāϕ⧇āĨ¤ āϚāĻŋāĻ¤ā§āϰ ⧝ āĻāĻ•āϟāĻŋ āĻĄāĻŋāĻ¸ā§āĻŸā§āϰāĻŋāĻŦāĻŋāωāĻŸā§‡āĻĄ āĻ•ā§āϰāϞ⧇āϰ āĻāĻ•āϟāĻŋ āωāĻĻāĻžāĻšāϰāĻŖ āĻĻ⧇āĻ–āĻžāϝāĻŧāĨ¤

[āϚāĻŋāĻ¤ā§āϰ ⧝-āĻāϰ āĻŦāĻ°ā§āĻŖāύāĻž: āĻ›āĻŦāĻŋāϟāĻŋ āĻāĻ•āϟāĻŋ āϏāĻŋāĻ¸ā§āĻŸā§‡āĻŽ āφāĻ°ā§āĻ•āĻŋāĻŸā§‡āĻ•āϚāĻžāϰ āĻĄāĻžāϝāĻŧāĻžāĻ—ā§āϰāĻžāĻŽ āωāĻĒāĻ¸ā§āĻĨāĻžāĻĒāύ āĻ•āϰ⧇ āϝāĻž āĻāĻ•āϟāĻŋ āϕ⧇āĻ¨ā§āĻĻā§āϰ⧀āϝāĻŧ āωāĻĒāĻžāĻĻāĻžāύ āĻĻ⧇āĻ–āĻžāϝāĻŧ āϝāĻžāϰ āϞ⧇āĻŦ⧇āϞ ‘URL Frontier’ āĻāĻ•āĻžāϧāĻŋāĻ• ‘HTML Downloaders’-āĻ URL āĻŦāĻŋāϤāϰāĻŖ āĻ•āϰāϛ⧇āĨ¤ URL Frontier āĻāĻ•āϟāĻŋ āĻĄāĻŋāϏāĻĒā§āϝāĻžāϚāĻžāϰ āĻšāĻŋāϏāĻžāĻŦ⧇ āĻ•āĻžāϜ āĻ•āϰ⧇, ‘distribute URLs’ āϞ⧇āĻŦ⧇āϞāϝ⧁āĻ•ā§āϤ āύāĻŋāĻ°ā§āĻĻ⧇āĻļāĻŋāϤ āϤ⧀āϰ āϚāĻŋāĻšā§āύ⧇āϰ āĻŽāĻžāĻ§ā§āϝāĻŽā§‡ āϤāĻŋāύāϟāĻŋ āϚāĻŋāĻ¤ā§āϰāĻŋāϤ HTML Downloader-āĻ (āĻāĻ•āϟāĻŋ āωāĻĒāĻŦ⧃āĻ¤ā§āϤāĻžāĻ•āĻžāϰ āϚāĻŋāĻšā§āύ ’â€Ļ’ āύāĻŋāĻ°ā§āĻĻ⧇āĻļ āĻ•āϰ⧇ āϝ⧇ āφāϰāĻ“ āĻāĻŽāύ āĻĄāĻžāωāύāϞ⧋āĻĄāĻžāϰ āϰāϝāĻŧ⧇āϛ⧇) URL āĻĒāĻžāĻ āĻžāϝāĻŧāĨ¤ āĻĒā§āϰāϤāĻŋāϟāĻŋ āϤ⧀āϰ āϚāĻŋāĻšā§āύ URL Frontier āĻĨ⧇āϕ⧇ āĻāĻ•āϟāĻŋ āĻĒ⧃āĻĨāĻ• HTML Downloader-āĻ URL āϗ⧁āϞ⧋āϰ āĻĒā§āϰāĻŦāĻžāĻš āύāĻŋāĻ°ā§āĻĻ⧇āĻļ āĻ•āϰ⧇, āϝāĻž āĻāĻ•āϟāĻŋ āϏāĻŽāĻžāĻ¨ā§āϤāϰāĻžāϞ āĻĒā§āϰāϏ⧇āϏāĻŋāĻ‚ āĻŦāĻž āϞ⧋āĻĄ-āĻŦā§āϝāĻžāϞ⧇āĻ¨ā§āϏāĻŋāĻ‚ āĻ•ā§ŒāĻļāϞ āύāĻŋāĻ°ā§āĻĻ⧇āĻļ āĻ•āϰ⧇āĨ¤ āĻĄāĻžāϝāĻŧāĻžāĻ—ā§āϰāĻžāĻŽāϟāĻŋ āĻāĻ•āϟāĻŋ āĻāĻ•-āĻĨ⧇āϕ⧇-āĻ…āύ⧇āĻ• āϏāĻŽā§āĻĒāĻ°ā§āĻ• āϚāĻŋāĻ¤ā§āϰāĻŋāϤ āĻ•āϰ⧇ āϝ⧇āĻ–āĻžāύ⧇ āĻāĻ•āϟāĻŋ āĻāĻ•āĻ• āĻ‰ā§ŽāϏ āϟāĻžāĻ¸ā§āĻ• (URL) āϗ⧁āϞ⧋ āĻāĻ•āĻžāϧāĻŋāĻ• āĻ“āϝāĻŧāĻžāĻ°ā§āĻ•āĻžāϰ āύ⧋āĻĄā§‡ (HTML Downloaders) āĻĒā§āϰāϏ⧇āϏāĻŋāĻ‚āϝāĻŧ⧇āϰ āϜāĻ¨ā§āϝ āĻŦāĻŋāϤāϰāĻŖ āĻ•āϰ⧇āĨ¤ āĻ›āĻŦāĻŋāϰ āύāĻŋāĻšā§‡ āĻāĻ•āϟāĻŋ āύ⧋āϟ āϰāϝāĻŧ⧇āϛ⧇ āϝāĻž āύāĻŋāĻ°ā§āĻĻ⧇āĻļ āĻ•āϰ⧇ āϝ⧇ āĻ­āĻŋāωāϝāĻŧāĻžāϰ āϏāĻŽā§āĻĒā§‚āĻ°ā§āĻŖ SVG 1.1 āϏāĻŽāĻ°ā§āĻĨāύ āĻ•āϰ⧇ āύāĻžāĨ¤] āϚāĻŋāĻ¤ā§āϰ ⧝

⧍. āĻ•ā§āϝāĻžāĻļ DNS Resolver (Cache DNS Resolver)

DNS Resolver āĻ•ā§āϰāϞāĻžāϰāϗ⧁āϞ⧋āϰ āϜāĻ¨ā§āϝ āĻāĻ•āϟāĻŋ āĻŦāϟāϞāύ⧇āĻ• āĻ•āĻžāϰāĻŖ āĻ…āύ⧇āĻ• DNS āχāĻ¨ā§āϟāĻžāϰāĻĢ⧇āϏ⧇āϰ āϏāĻŋāĻ™ā§āĻ•ā§āϰ⧋āύāĻžāϏ āĻĒā§āϰāĻ•ā§ƒāϤāĻŋāϰ āĻ•āĻžāϰāϪ⧇ DNS āϰāĻŋāϕ⧋āϝāĻŧ⧇āĻ¸ā§āϟāϗ⧁āϞ⧋ āϏāĻŽāϝāĻŧ āύāĻŋāϤ⧇ āĻĒāĻžāϰ⧇āĨ¤ DNS āϰ⧇āϏāĻĒāĻ¨ā§āϏ āϟāĻžāχāĻŽ 10ms āĻĨ⧇āϕ⧇ 200ms āĻĒāĻ°ā§āϝāĻ¨ā§āϤ āĻšāϝāĻŧ⧇ āĻĨāĻžāϕ⧇āĨ¤ āĻāĻ•āĻŦāĻžāϰ āĻāĻ•āϟāĻŋ āĻ•ā§āϰāϞāĻžāϰ āĻĨā§āϰ⧇āĻĄ āĻĻā§āĻŦāĻžāϰāĻž DNS-āĻ āĻāĻ•āϟāĻŋ āϰāĻŋāϕ⧋āϝāĻŧ⧇āĻ¸ā§āϟ āϏāĻŽā§āĻĒāĻžāĻĻāĻŋāϤ āĻšāϞ⧇, āĻĒā§āϰāĻĨāĻŽ āϰāĻŋāϕ⧋āϝāĻŧ⧇āĻ¸ā§āϟāϟāĻŋ āϏāĻŽā§āĻĒā§‚āĻ°ā§āĻŖ āύāĻž āĻšāĻ“āϝāĻŧāĻž āĻĒāĻ°ā§āϝāĻ¨ā§āϤ āĻ…āĻ¨ā§āϝāĻžāĻ¨ā§āϝ āĻĨā§āϰ⧇āĻĄāϗ⧁āϞ⧋ āĻŦā§āϞāĻ• āĻšāϝāĻŧ⧇ āϝāĻžāϝāĻŧāĨ¤ āϘāύ āϘāύ DNS āĻ•āϞ āĻ•āϰāĻž āĻāĻĄāĻŧāĻžāϤ⧇ āφāĻŽāĻžāĻĻ⧇āϰ DNS āĻ•ā§āϝāĻžāĻļ āĻŦāϜāĻžāϝāĻŧ āϰāĻžāĻ–āĻž āĻ—āϤāĻŋ āĻ…āĻĒā§āϟāĻŋāĻŽāĻžāχāĻœā§‡āĻļāύ⧇āϰ āϜāĻ¨ā§āϝ āĻāĻ•āϟāĻŋ āĻ•āĻžāĻ°ā§āϝāĻ•āϰ āĻ•ā§ŒāĻļāϞāĨ¤ āφāĻŽāĻžāĻĻ⧇āϰ DNS āĻ•ā§āϝāĻžāĻļ āĻĄā§‹āĻŽā§‡āχāύ āύ⧇āĻŽ āĻĨ⧇āϕ⧇ IP āĻ…ā§āϝāĻžāĻĄā§āϰ⧇āϏ āĻŽā§āϝāĻžāĻĒāĻŋāĻ‚ āϰāĻžāϖ⧇ āĻāĻŦāĻ‚ cron jobs āĻĻā§āĻŦāĻžāϰāĻž āĻĒāĻ°ā§āϝāĻžāϝāĻŧāĻ•ā§āϰāĻŽā§‡ āφāĻĒāĻĄā§‡āϟ āĻ•āϰāĻž āĻšāϝāĻŧāĨ¤

ā§Š. āϞ⧋āĻ•āĻžāϞāĻŋāϟāĻŋ (Locality)

āĻ•ā§āϰāϞ āϏāĻžāĻ°ā§āĻ­āĻžāϰāϗ⧁āϞ⧋ āϭ⧌āĻ—āϞāĻŋāĻ•āĻ­āĻžāĻŦ⧇ āĻŦāĻŋāϤāϰāĻŖ āĻ•āϰ⧁āύāĨ¤ āϝāĻ–āύ āĻ•ā§āϰāϞ āϏāĻžāĻ°ā§āĻ­āĻžāϰāϗ⧁āϞ⧋ āĻ“āϝāĻŧ⧇āĻŦāϏāĻžāχāϟ āĻšā§‹āĻ¸ā§āϟāϗ⧁āϞ⧋āϰ āĻ•āĻžāϛ⧇ āĻĨāĻžāϕ⧇, āϤāĻ–āύ āĻ•ā§āϰāϞāĻžāϰāϗ⧁āϞ⧋ āĻĻā§āϰ⧁āϤ āĻĄāĻžāωāύāϞ⧋āĻĄ āϟāĻžāχāĻŽ āĻ…āύ⧁āĻ­āĻŦ āĻ•āϰ⧇āĨ¤ āĻĄāĻŋāϜāĻžāχāύ āϞ⧋āĻ•āĻžāϞāĻŋāϟāĻŋ āĻŦ⧇āĻļāĻŋāϰāĻ­āĻžāĻ— āϏāĻŋāĻ¸ā§āĻŸā§‡āĻŽ āωāĻĒāĻžāĻĻāĻžāύ⧇āϰ āĻ•ā§āώ⧇āĻ¤ā§āϰ⧇ āĻĒā§āϰāϝ⧋āĻœā§āϝ: āĻ•ā§āϰāϞ āϏāĻžāĻ°ā§āĻ­āĻžāϰ, āĻ•ā§āϝāĻžāĻļ, āĻ•āĻŋāω, āĻ¸ā§āĻŸā§‹āϰ⧇āϜ āχāĻ¤ā§āϝāĻžāĻĻāĻŋāĨ¤

ā§Ē. āĻļāĻ°ā§āϟ āϟāĻžāχāĻŽāφāωāϟ (Short timeout)

āĻ•āĻŋāϛ⧁ āĻ“āϝāĻŧ⧇āĻŦ āϏāĻžāĻ°ā§āĻ­āĻžāϰ āϧ⧀āϰāĻ—āϤāĻŋāϤ⧇ āϰ⧇āϏāĻĒāĻ¨ā§āϏ āĻ•āϰ⧇ āĻŦāĻž āĻāĻ•āĻĻāĻŽāχ āϰ⧇āϏāĻĒāĻ¨ā§āϏ āύāĻžāĻ“ āĻ•āϰāϤ⧇ āĻĒāĻžāϰ⧇āĨ¤ āĻĻā§€āĻ°ā§āϘ āĻ…āĻĒ⧇āĻ•ā§āώāĻžāϰ āϏāĻŽāϝāĻŧ āĻāĻĄāĻŧāĻžāϤ⧇, āĻāĻ•āϟāĻŋ āϏāĻ°ā§āĻŦā§‹āĻšā§āϚ āĻ…āĻĒ⧇āĻ•ā§āώāĻžāϰ āϏāĻŽāϝāĻŧ āύāĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āϟ āĻ•āϰāĻž āĻšāϝāĻŧāĨ¤ āϝāĻĻāĻŋ āĻāĻ•āϟāĻŋ āĻšā§‹āĻ¸ā§āϟ āĻĒā§‚āĻ°ā§āĻŦāύāĻŋāĻ°ā§āϧāĻžāϰāĻŋāϤ āϏāĻŽāϝāĻŧ⧇āϰ āĻŽāĻ§ā§āϝ⧇ āϰ⧇āϏāĻĒāĻ¨ā§āϏ āύāĻž āĻ•āϰ⧇, āϤāĻŦ⧇ āĻ•ā§āϰāϞāĻžāϰāϟāĻŋ āϜāĻŦ āĻŦāĻ¨ā§āϧ āĻ•āϰāĻŦ⧇ āĻāĻŦāĻ‚ āĻ…āĻ¨ā§āϝ āĻ•āĻŋāϛ⧁ āĻĒ⧇āϜ āĻ•ā§āϰāϞ āĻ•āϰāĻŦ⧇āĨ¤

āϰ⧋āĻŦāĻžāĻ¸ā§āϟāύ⧇āϏ (Robustness)

āĻĒāĻžāϰāĻĢāϰāĻŽā§āϝāĻžāĻ¨ā§āϏ āĻ…āĻĒā§āϟāĻŋāĻŽāĻžāχāĻœā§‡āĻļāύ⧇āϰ āĻĒāĻžāĻļāĻžāĻĒāĻžāĻļāĻŋ, āϰ⧋āĻŦāĻžāĻ¸ā§āϟāύ⧇āϏāĻ“ āĻāĻ•āϟāĻŋ āϗ⧁āϰ⧁āĻ¤ā§āĻŦāĻĒā§‚āĻ°ā§āĻŖ āĻŦāĻŋāĻŦ⧇āĻšā§āϝ āĻŦāĻŋāώāϝāĻŧāĨ¤ āφāĻŽāϰāĻž āϏāĻŋāĻ¸ā§āĻŸā§‡āĻŽā§‡āϰ āϰ⧋āĻŦāĻžāĻ¸ā§āϟāύ⧇āϏ āωāĻ¨ā§āύāϤ āĻ•āϰāĻžāϰ āϜāĻ¨ā§āϝ āĻ•āϝāĻŧ⧇āĻ•āϟāĻŋ āĻĒāĻĻā§āϧāϤāĻŋ āωāĻĒāĻ¸ā§āĻĨāĻžāĻĒāύ āĻ•āϰāĻŋ:

  • āĻ•āύāϏāĻŋāĻ¸ā§āĻŸā§‡āĻ¨ā§āϟ āĻšā§āϝāĻžāĻļāĻŋāĻ‚ (Consistent hashing): āĻāϟāĻŋ āĻĄāĻžāωāύāϞ⧋āĻĄāĻžāϰāϗ⧁āϞ⧋āϰ āĻŽāĻ§ā§āϝ⧇ āϞ⧋āĻĄ āĻŦāĻŋāϤāϰāĻŖ āĻ•āϰāϤ⧇ āϏāĻžāĻšāĻžāĻ¯ā§āϝ āĻ•āϰ⧇āĨ¤ āĻ•āύāϏāĻŋāĻ¸ā§āĻŸā§‡āĻ¨ā§āϟ āĻšā§āϝāĻžāĻļāĻŋāĻ‚ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧇ āĻāĻ•āϟāĻŋ āύāϤ⧁āύ āĻĄāĻžāωāύāϞ⧋āĻĄāĻžāϰ āϏāĻžāĻ°ā§āĻ­āĻžāϰ āϝ⧋āĻ— āĻŦāĻž āϏāϰāĻžāύ⧋ āϝ⧇āϤ⧇ āĻĒāĻžāϰ⧇āĨ¤ āφāϰāĻ“ āĻŦāĻŋāĻ¸ā§āϤāĻžāϰāĻŋāϤ āϜāĻžāύāϤ⧇ “Design consistent hashing” āĻ…āĻ§ā§āϝāĻžāϝāĻŧāϟāĻŋ āĻĻ⧇āϖ⧁āύāĨ¤
  • āĻ•ā§āϰāϞ āĻ¸ā§āĻŸā§‡āϟ āĻāĻŦāĻ‚ āĻĄā§‡āϟāĻž āϏāĻ‚āϰāĻ•ā§āώāĻŖ āĻ•āϰāĻž: āĻŦā§āϝāĻ°ā§āĻĨāϤāĻž āĻĨ⧇āϕ⧇ āϰāĻ•ā§āώāĻž āĻĒ⧇āϤ⧇, āĻ•ā§āϰāϞ āĻ¸ā§āĻŸā§‡āϟ āĻāĻŦāĻ‚ āĻĄā§‡āϟāĻž āĻāĻ•āϟāĻŋ āĻ¸ā§āĻŸā§‹āϰ⧇āϜ āϏāĻŋāĻ¸ā§āĻŸā§‡āĻŽā§‡ āϞ⧇āĻ–āĻž āĻšāϝāĻŧāĨ¤ āϏāĻ‚āϰāĻ•ā§āώāĻŋāϤ āĻ¸ā§āĻŸā§‡āϟ āĻāĻŦāĻ‚ āĻĄā§‡āϟāĻž āϞ⧋āĻĄ āĻ•āϰ⧇ āĻāĻ•āϟāĻŋ āĻŦāĻŋāĻ˜ā§āύāĻŋāϤ āĻ•ā§āϰāϞ āϏāĻšāĻœā§‡āχ āĻĒ⧁āύāϰāĻžāϝāĻŧ āĻļ⧁āϰ⧁ āĻ•āϰāĻž āϝ⧇āϤ⧇ āĻĒāĻžāϰ⧇āĨ¤
  • āĻāĻ•ā§āϏ⧇āĻĒāĻļāύ āĻšā§āϝāĻžāĻ¨ā§āĻĄāϞāĻŋāĻ‚ (Exception handling): āĻŦāĻĄāĻŧ āĻ¸ā§āϕ⧇āϞ⧇āϰ āϏāĻŋāĻ¸ā§āĻŸā§‡āĻŽā§‡ āĻāϰāϰ āĻ…āύāĻŋāĻŦāĻžāĻ°ā§āϝ āĻāĻŦāĻ‚ āϏāĻžāϧāĻžāϰāĻŖāĨ¤ āĻ•ā§āϰāϞāĻžāϰāϕ⧇ āĻ…āĻŦāĻļā§āϝāχ āϏāĻŋāĻ¸ā§āĻŸā§‡āĻŽ āĻ•ā§āĻ°ā§āϝāĻžāĻļ āύāĻž āĻ•āϰ⧇ āĻŽāĻžāĻ°ā§āϜāĻŋāϤāĻ­āĻžāĻŦ⧇ (gracefully) āĻāĻ•ā§āϏ⧇āĻĒāĻļāύ āĻšā§āϝāĻžāĻ¨ā§āĻĄā§‡āϞ āĻ•āϰāϤ⧇ āĻšāĻŦ⧇āĨ¤
  • āĻĄā§‡āϟāĻž āĻ­ā§āϝāĻžāϞāĻŋāĻĄā§‡āĻļāύ (Data validation): āϏāĻŋāĻ¸ā§āĻŸā§‡āĻŽ āĻāϰāϰ āĻĒā§āϰāϤāĻŋāϰ⧋āϧ āĻ•āϰāĻžāϰ āϜāĻ¨ā§āϝ āĻāϟāĻŋ āĻāĻ•āϟāĻŋ āϗ⧁āϰ⧁āĻ¤ā§āĻŦāĻĒā§‚āĻ°ā§āĻŖ āĻŦā§āϝāĻŦāĻ¸ā§āĻĨāĻžāĨ¤

āĻāĻ•ā§āϏāĻŸā§‡āύāϏāĻŋāĻŦāĻŋāϞāĻŋāϟāĻŋ (Extensibility)

āĻĒā§āϰāĻžāϝāĻŧ āĻĒā§āϰāϤāĻŋāϟāĻŋ āϏāĻŋāĻ¸ā§āĻŸā§‡āĻŽā§‡āϰ āĻŦāĻŋāĻŦāĻ°ā§āϤāύ⧇āϰ āϏāĻžāĻĨ⧇ āϏāĻžāĻĨ⧇, āĻāĻ•āϟāĻŋ āĻĄāĻŋāϜāĻžāχāύ⧇āϰ āϞāĻ•ā§āĻˇā§āϝ āĻšāϞ⧋ āϏāĻŋāĻ¸ā§āĻŸā§‡āĻŽāϟāĻŋāϕ⧇ āύāϤ⧁āύ āĻ•āĻ¨ā§āĻŸā§‡āĻ¨ā§āϟ āϟāĻžāχāĻĒ āϏāĻŽāĻ°ā§āĻĨāύ āĻ•āϰāĻžāϰ āϜāĻ¨ā§āϝ āϝāĻĨ⧇āĻˇā§āϟ āύāĻŽāύ⧀āϝāĻŧ āĻ•āϰāĻžāĨ¤ āύāϤ⧁āύ āĻŽāĻĄāĻŋāωāϞ āĻĒā§āϞāĻžāĻ—-āχāύ āĻ•āϰ⧇ āĻ•ā§āϰāϞāĻžāϰāϟāĻŋ āĻĒā§āϰāϏāĻžāϰāĻŋāϤ āĻ•āϰāĻž āϝ⧇āϤ⧇ āĻĒāĻžāϰ⧇āĨ¤ āϚāĻŋāĻ¤ā§āϰ ā§§ā§Ļ āĻĻ⧇āĻ–āĻžāϝāĻŧ āϕ⧀āĻ­āĻžāĻŦ⧇ āύāϤ⧁āύ āĻŽāĻĄāĻŋāωāϞ āϝ⧋āĻ— āĻ•āϰāϤ⧇ āĻšāϝāĻŧāĨ¤

[āϚāĻŋāĻ¤ā§āϰ ā§§ā§Ļ-āĻāϰ āĻŦāĻ°ā§āĻŖāύāĻž: āĻ›āĻŦāĻŋāϟāĻŋ āĻāĻ•āϟāĻŋ āĻ“āϝāĻŧ⧇āĻŦ āĻ•ā§āϰāϞāĻžāϰ āϏāĻŋāĻ¸ā§āĻŸā§‡āĻŽ āφāĻ°ā§āĻ•āĻŋāĻŸā§‡āĻ•āϚāĻžāϰ āωāĻĒāĻ¸ā§āĻĨāĻžāĻĒāύ āĻ•āϰ⧇āĨ¤ āĻĒā§āϰāĻ•ā§āϰāĻŋāϝāĻŧāĻžāϟāĻŋ ‘seed URLs’ āĻĻāĻŋāϝāĻŧ⧇ āĻļ⧁āϰ⧁ āĻšāϝāĻŧ, āϝāĻž āĻāĻ•āϟāĻŋ ‘URL Frontier’-āĻ āĻĢāĻŋāĻĄ āĻ•āϰāĻž āĻšāϝāĻŧāĨ¤ ‘URL Frontier’ URL āϗ⧁āϞ⧋ āĻāĻ•āϟāĻŋ ‘HTML Downloader’-āĻ āĻĒāĻžāĻ āĻžāϝāĻŧ, āϝāĻž āϤāĻžāϰāĻĒāϰ HTML āĻ•āĻ¨ā§āĻŸā§‡āĻ¨ā§āϟ āĻĄāĻžāωāύāϞ⧋āĻĄ āĻ•āϰāĻžāϰ āφāϗ⧇ IP āĻ…ā§āϝāĻžāĻĄā§āϰ⧇āϏ āĻĒ⧇āϤ⧇ āĻāĻ•āϟāĻŋ ‘DNS Resolver’ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧇āĨ¤ āĻĄāĻžāωāύāϞ⧋āĻĄ āĻ•āϰāĻž HTML āϤāĻžāϰāĻĒāϰ āĻāĻ•āϟāĻŋ ‘Content Parser’ āĻĻā§āĻŦāĻžāϰāĻž āĻĒā§āϰāϏ⧇āϏ āĻ•āϰāĻž āĻšāϝāĻŧ, āϝāĻž āĻĒāĻžāĻ°ā§āϏ āĻ•āϰāĻž āĻĄā§‡āϟāĻž ‘Content St..’ (āϏāĻŽā§āĻ­āĻŦāϤ āĻāĻ•āϟāĻŋ āĻ•āĻ¨ā§āĻŸā§‡āĻ¨ā§āϟ āĻ¸ā§āĻŸā§‹āϰ⧇āϜ āĻĄāĻžāϟāĻžāĻŦ⧇āϏ) āĻāϰ āĻŦāĻŋāϰ⧁āĻĻā§āϧ⧇ āĻšā§‡āĻ• āĻ•āϰāĻžāϰ āϜāĻ¨ā§āϝ āĻāĻ•āϟāĻŋ ‘Content Seen?’ āĻŽāĻĄāĻŋāωāϞ⧇ āĻĒāĻžāĻ āĻžāϝāĻŧāĨ¤ āϝāĻĻāĻŋ āĻ•āĻ¨ā§āĻŸā§‡āĻ¨ā§āϟāϟāĻŋ āύāϤ⧁āύ āĻšāϝāĻŧ, āϤāĻŦ⧇ āĻāϟāĻŋ āĻāĻ•āϟāĻŋ ‘Extension Module’-āĻ āĻĒāĻžāĻ āĻžāύ⧋ āĻšāϝāĻŧ, āϝāĻžāϤ⧇ ‘PNGâ€Ļ’ (āĻŦāĻŋāĻ­āĻŋāĻ¨ā§āύ āĻĢāĻžāχāϞ āϟāĻžāχāĻĒ āύāĻŋāĻ°ā§āĻĻ⧇āĻļ āĻ•āϰ⧇), āĻāĻ•āϟāĻŋ ‘Link Extractor’ (āύāϤ⧁āύ URL āϖ⧁āρāĻœā§‡ āĻŦ⧇āϰ āĻ•āϰāĻžāϰ āϜāĻ¨ā§āϝ), āĻāĻŦāĻ‚ āĻāĻ•āϟāĻŋ ‘Web Monitor’ (āĻ“āϝāĻŧ⧇āĻŦāϏāĻžāχāĻŸā§‡āϰ āĻĒāϰāĻŋāĻŦāĻ°ā§āϤāύ āĻŽāύāĻŋāϟāϰ āĻ•āϰāĻžāϰ āϜāĻ¨ā§āϝ) āĻāϰ āĻŽāϤ⧋ āωāĻĒāĻžāĻĻāĻžāύ āϰāϝāĻŧ⧇āϛ⧇āĨ¤ ‘Link Extractor’-āĻāϰ āφāωāϟāĻĒ⧁āϟ āĻāĻ•āϟāĻŋ ‘URL Filter’ āĻĻā§āĻŦāĻžāϰāĻž āĻĢāĻŋāĻ˛ā§āϟāĻžāϰ āĻ•āϰāĻž āĻšāϝāĻŧ āĻāĻŦāĻ‚ āĻāĻ•āϟāĻŋ ‘URL Seen?’ āĻŽāĻĄāĻŋāωāϞ⧇āϰ āĻŦāĻŋāϰ⧁āĻĻā§āϧ⧇ āĻšā§‡āĻ• āĻ•āϰāĻž āĻšāϝāĻŧ, āϝāĻž URL āϟāĻŋ āφāϗ⧇ āĻĒā§āϰāϏ⧇āϏ āĻ•āϰāĻž āĻšāϝāĻŧ⧇āϛ⧇ āĻ•āĻŋāύāĻž āϤāĻž āύāĻŋāĻ°ā§āϧāĻžāϰāĻŖ āĻ•āϰāϤ⧇ āĻāĻ•āϟāĻŋ ‘URL Storag..’ (āϏāĻŽā§āĻ­āĻŦāϤ āĻāĻ•āϟāĻŋ URL āĻ¸ā§āĻŸā§‹āϰ⧇āϜ āĻĄāĻžāϟāĻžāĻŦ⧇āϏ) āĻāϰ āϏāĻžāĻĨ⧇ āĻĒāϰāĻžāĻŽāĻ°ā§āĻļ āĻ•āϰ⧇āĨ¤ āĻĒ⧁āϰ⧋ āϏāĻŋāĻ¸ā§āĻŸā§‡āĻŽāϟāĻŋ āĻāĻ•āϟāĻŋ āĻŦāĻĻā§āϧ āϞ⧁āĻĒ āĻ—āĻ āύ āĻ•āϰ⧇, ‘Link Extractor’ āĻĻā§āĻŦāĻžāϰāĻž āϚāĻŋāĻšā§āύāĻŋāϤ āύāϤ⧁āύ URL āϗ⧁āϞ⧋ āφāϰāĻ“ āĻĒā§āϰāϏ⧇āϏāĻŋāĻ‚āϝāĻŧ⧇āϰ āϜāĻ¨ā§āϝ ‘URL Frontier’-āĻ āĻĢāĻŋāϰ⧇ āĻĢāĻŋāĻĄ āĻ•āϰāĻž āĻšāϝāĻŧāĨ¤] āϚāĻŋāĻ¤ā§āϰ ā§§ā§Ļ

  • PNG āĻĢāĻžāχāϞ āĻĄāĻžāωāύāϞ⧋āĻĄ āĻ•āϰāϤ⧇ PNG Downloader āĻŽāĻĄāĻŋāωāϞ āĻĒā§āϞāĻžāĻ—-āχāύ āĻ•āϰāĻž āĻšāϝāĻŧ⧇āϛ⧇āĨ¤
  • āĻ“āϝāĻŧ⧇āĻŦ āĻŽāύāĻŋāϟāϰ āĻ•āϰāϤ⧇ āĻāĻŦāĻ‚ āĻ•āĻĒāĻŋāϰāĻžāχāϟ āĻāĻŦāĻ‚ āĻŸā§āϰ⧇āĻĄāĻŽāĻžāĻ°ā§āĻ• āϞāĻ™ā§āϘāύ āĻĒā§āϰāϤāĻŋāϰ⧋āϧ āĻ•āϰāϤ⧇ Web Monitor āĻŽāĻĄāĻŋāωāϞ āϝ⧋āĻ— āĻ•āϰāĻž āĻšāϝāĻŧ⧇āϛ⧇āĨ¤

āϏāĻŽāĻ¸ā§āϝāĻžāϜāύāĻ• āĻ•āĻ¨ā§āĻŸā§‡āĻ¨ā§āϟ āϏāύāĻžāĻ•ā§āϤ āĻ•āϰāĻž āĻāĻŦāĻ‚ āĻāĻĄāĻŧāĻžāύ⧋

āĻāχ āĻŦāĻŋāĻ­āĻžāĻ—āϟāĻŋ āĻ…āĻĒā§āϰāϝāĻŧā§‹āϜāύ⧀āϝāĻŧ, āĻ…āĻ°ā§āĻĨāĻšā§€āύ āĻŦāĻž āĻ•ā§āώāϤāĻŋāĻ•āĻžāϰāĻ• āĻ•āĻ¨ā§āĻŸā§‡āĻ¨ā§āϟ āϏāύāĻžāĻ•ā§āϤāĻ•āϰāĻŖ āĻāĻŦāĻ‚ āĻĒā§āϰāϤāĻŋāϰ⧋āϧ āύāĻŋāϝāĻŧ⧇ āφāϞ⧋āϚāύāĻž āĻ•āϰ⧇āĨ¤

ā§§. āĻ…āĻĒā§āϰāϝāĻŧā§‹āϜāύ⧀āϝāĻŧ āĻ•āĻ¨ā§āĻŸā§‡āĻ¨ā§āϟ (Redundant content)

āφāϗ⧇ āφāϞ⧋āϚāύāĻž āĻ•āϰāĻž āĻšāϝāĻŧ⧇āϛ⧇, āĻĒā§āϰāĻžāϝāĻŧ ā§Šā§Ļ% āĻ“āϝāĻŧ⧇āĻŦ āĻĒ⧇āϜ āĻšāϞ⧋ āĻĄā§āĻĒā§āϞāĻŋāϕ⧇āϟāĨ¤ āĻšā§āϝāĻžāĻļ (Hashes) āĻŦāĻž āĻšā§‡āĻ•āϏāĻžāĻŽ (checksums) āĻĄā§āĻĒā§āϞāĻŋāϕ⧇āĻļāύ āϏāύāĻžāĻ•ā§āϤ āĻ•āϰāϤ⧇ āϏāĻžāĻšāĻžāĻ¯ā§āϝ āĻ•āϰ⧇ [11]āĨ¤

⧍. āĻ¸ā§āĻĒāĻžāχāĻĄāĻžāϰ āĻŸā§āĻ°ā§āϝāĻžāĻĒ (Spider traps)

āĻāĻ•āϟāĻŋ āĻ¸ā§āĻĒāĻžāχāĻĄāĻžāϰ āĻŸā§āĻ°ā§āϝāĻžāĻĒ āĻšāϞ⧋ āĻāĻ•āϟāĻŋ āĻ“āϝāĻŧ⧇āĻŦ āĻĒ⧇āϜ āϝāĻž āĻāĻ•āϟāĻŋ āĻ•ā§āϰāϞāĻžāϰāϕ⧇ āχāύāĻĢāĻŋāύāĻŋāϟ āϞ⧁āĻĒ⧇ āĻĢ⧇āϞ⧇āĨ¤ āωāĻĻāĻžāĻšāϰāĻŖāĻ¸ā§āĻŦāϰ⧂āĻĒ, āĻāĻ•āϟāĻŋ āĻ…āϏ⧀āĻŽ āĻ—āĻ­ā§€āϰ āĻĄāĻŋāϰ⧇āĻ•ā§āϟāϰāĻŋ āĻ¸ā§āĻŸā§āϰāĻžāĻ•āϚāĻžāϰ āύāĻŋāĻšā§‡ āϤāĻžāϞāĻŋāĻ•āĻžāϭ⧁āĻ•ā§āϤ āĻ•āϰāĻž āĻšāϞ⧋: http://www.spidertrapexample.com/foo/bar/foo/bar/foo/bar/...

URL āϗ⧁āϞ⧋āϰ āϜāĻ¨ā§āϝ āĻāĻ•āϟāĻŋ āϏāĻ°ā§āĻŦā§‹āĻšā§āϚ āĻĻ⧈āĻ°ā§āĻ˜ā§āϝ āύāĻŋāĻ°ā§āϧāĻžāϰāĻŖ āĻ•āϰ⧇ āĻāĻŽāύ āĻ¸ā§āĻĒāĻžāχāĻĄāĻžāϰ āĻŸā§āĻ°ā§āϝāĻžāĻĒ āĻāĻĄāĻŧāĻžāύ⧋ āϝ⧇āϤ⧇ āĻĒāĻžāϰ⧇āĨ¤ āϤāĻŦ⧇, āĻ¸ā§āĻĒāĻžāχāĻĄāĻžāϰ āĻŸā§āĻ°ā§āϝāĻžāĻĒ āϏāύāĻžāĻ•ā§āϤ āĻ•āϰāĻžāϰ āϜāĻ¨ā§āϝ āϕ⧋āύ⧋ āϏāĻ°ā§āĻŦāϜāύ⧀āύ āϏāĻŽāĻžāϧāĻžāύ āύ⧇āχāĨ¤ āĻ¸ā§āĻĒāĻžāχāĻĄāĻžāϰ āĻŸā§āĻ°ā§āϝāĻžāĻĒ āϧāĻžāϰāĻŖāĻ•āĻžāϰ⧀ āĻ“āϝāĻŧ⧇āĻŦāϏāĻžāχāϟāϗ⧁āϞ⧋ āϏāύāĻžāĻ•ā§āϤ āĻ•āϰāĻž āϏāĻšāϜ āĻ•āĻžāϰāĻŖ āĻāĻŽāύ āĻ“āϝāĻŧ⧇āĻŦāϏāĻžāχāϟāϗ⧁āϞ⧋āϤ⧇ āĻ…āĻ¸ā§āĻŦāĻžāĻ­āĻžāĻŦāĻŋāĻ•āĻ­āĻžāĻŦ⧇ āĻ…āύ⧇āĻ• āĻŦ⧇āĻļāĻŋ āĻ“āϝāĻŧ⧇āĻŦ āĻĒ⧇āϜ āφāĻŦāĻŋāĻˇā§āĻ•ā§ƒāϤ āĻšāϝāĻŧāĨ¤ āĻ¸ā§āĻĒāĻžāχāĻĄāĻžāϰ āĻŸā§āĻ°ā§āϝāĻžāĻĒ āĻāĻĄāĻŧāĻžāϤ⧇ āĻ¸ā§āĻŦāϝāĻŧāĻ‚āĻ•ā§āϰāĻŋāϝāĻŧ āĻ…ā§āϝāĻžāϞāĻ—āϰāĻŋāĻĻāĻŽ āϤ⧈āϰāĻŋ āĻ•āϰāĻž āĻ•āĻ āĻŋāύ; āϤāĻŦ⧇, āĻāĻ•āϜāύ āĻŦā§āϝāĻŦāĻšāĻžāϰāĻ•āĻžāϰ⧀ āĻŽā§āϝāĻžāύ⧁āϝāĻŧāĻžāϞāĻŋ āĻāĻ•āϟāĻŋ āĻ¸ā§āĻĒāĻžāχāĻĄāĻžāϰ āĻŸā§āĻ°ā§āϝāĻžāĻĒ āϝāĻžāϚāĻžāχ āĻāĻŦāĻ‚ āϏāύāĻžāĻ•ā§āϤ āĻ•āϰāϤ⧇ āĻĒāĻžāϰ⧇āύ, āĻāĻŦāĻ‚ āĻšāϝāĻŧ āĻ•ā§āϰāϞāĻžāϰ āĻĨ⧇āϕ⧇ āϏ⧇āχ āĻ“āϝāĻŧ⧇āĻŦāϏāĻžāχāϟāϗ⧁āϞ⧋ āĻŦāĻžāĻĻ āĻĻāĻŋāϤ⧇ āĻĒāĻžāϰ⧇āύ āĻ…āĻĨāĻŦāĻž āĻ•āĻŋāϛ⧁ āĻ•āĻžāĻ¸ā§āϟāĻŽāĻžāχāϜāĻĄ URL āĻĢāĻŋāĻ˛ā§āϟāĻžāϰ āĻĒā§āϰāϝāĻŧā§‹āĻ— āĻ•āϰāϤ⧇ āĻĒāĻžāϰ⧇āύāĨ¤

ā§Š. āĻĄā§‡āϟāĻž āύāϝāĻŧ⧇āϜ (Data noise)

āĻ•āĻŋāϛ⧁ āĻ•āĻ¨ā§āĻŸā§‡āĻ¨ā§āĻŸā§‡āϰ āϖ⧁āĻŦ āĻ•āĻŽ āĻŦāĻž āϕ⧋āύ⧋ āĻŽā§‚āĻ˛ā§āϝ āύ⧇āχ, āϝ⧇āĻŽāύ āĻŦāĻŋāĻœā§āĻžāĻžāĻĒāύ, āϕ⧋āĻĄ āĻ¸ā§āύāĻŋāĻĒ⧇āϟ, āĻ¸ā§āĻĒā§āϝāĻžāĻŽ URL āχāĻ¤ā§āϝāĻžāĻĻāĻŋāĨ¤ āϏ⧇āχ āĻ•āĻ¨ā§āĻŸā§‡āĻ¨ā§āϟāϗ⧁āϞ⧋ āĻ•ā§āϰāϞāĻžāϰāϗ⧁āϞ⧋āϰ āϜāĻ¨ā§āϝ āωāĻĒāϝ⧋āĻ—ā§€ āύāϝāĻŧ āĻāĻŦāĻ‚ āϏāĻŽā§āĻ­āĻŦ āĻšāϞ⧇ āϏ⧇āϗ⧁āϞ⧋ āĻŦāĻžāĻĻ āĻĻ⧇āĻ“āϝāĻŧāĻž āωāϚāĻŋāϤāĨ¤