Mỗi máy chủ web (và thực sự bất kỳ máy chủ kết nối với internet) có một địa chỉ IP duy nhất: một chuỗi bốn byte thường xuất hiện là bốn số nguyên phân tách bằng dấu chấm; Ví dụ 207.142.131.248 là địa chỉ IP số liên kết với máy chủ lưu trữ www.wikipedia.org. Đưa ra một URL như www.wikipedia.org ở dạng văn bản, Dịch nó thành một IP địa chỉ (trong trường hợp này, 207.142.131.248) là một quá trình được gọi là độ phân giải DNS hoặc tra cứu DNS; độ phân giải DNS DNS là viết tắt cho dịch vụ tên miền. Trong độ phân giải DNS, chương trình mong muốn thực hiện này bản dịch (trong trường hợp của chúng tôi, một thành phần của các trình thu thập web) liên hệ với một máy chủ DNS mà trả về địa chỉ IP đã dịch. Hệ phục vụ DNS (trong thực tế, bản dịch toàn bộ có thể không xảy ra tại một máy chủ DNS; thay vào đó, các máy chủ DNS liên lạc với ban đầu có thể đệ quy cuộc gọi khi các máy chủ DNS khác để hoàn thành bản dịch.) Cho một URL phức tạp hơn, chẳng hạn như en.wikipedia.org/wiki/Domain_Name_System, các thành phần thu thập chịu trách nhiệm về độ phân giải DNS chiết xuất tên máy chủ-trong trường hợp vi.wikipedia.org- và hình thành địa chỉ IP cho máy chủ lưu trữ vi.wikipedia.org. Độ phân giải DNS là một nút cổ chai nổi tiếng trong trang web thu thập dữ liệu. Do tính chất phân phối dịch vụ tên miền, độ phân giải DNS có thể đòi hỏi nhiều yêu cầu và roundtrips qua mạng Internet, đòi hỏi phải có giây và sometimesevenlonger. Rightaway, điều này đặt lâm nguy mục tiêu của chúng tôi lấy một vài trăm tài liệu một lần thứ hai. Một biện pháp khắc phục tiêu chuẩn là để giới thiệu bộ nhớ đệm: URL mà chúng tôi gần đây đã thực hiện tra cứu DNS có khả năng được tìm thấy trong bộ nhớ cache DNS, tránh sự cần thiết để đi đến các máy chủ DNS trên Internet. Tuy nhiên, Thái độ lịch sự ràng buộc (xem phần 20.2.3) tuân theo giới hạn bộ nhớ cache hit tỷ lệ. Đó là một quan trọng difficulty ở độ phân giải DNS; mentations imple tra cứu trong tiêu chuẩn thư viện (có khả năng được sử dụng bởi bất cứ ai phát triển một trình thu thập) được đồng bộ nói chung. Điều này có nghĩa rằng một khi yêu cầu được thực hiện để dịch vụ tên miền, các chủ đề thu thập thông tin tại nút đó bị chặn until the first request is completed. To circumvent this, most web crawlers implement their own DNS resolver as a component of the crawler. Thread i executing the resolver code sends a message to the DNS server and then performs a timed wait: It resumes either when being signaled by another thread or when a set time quantum expires. A single, separate DNS thread listens on the standard DNS port (port 53) for incoming response packets from the name service. Upon receiving a response, it signals the appropriate crawler thread (in this case, i) and hands it the response packet if i has not yet resumed because its time quantum has expired.A crawler thread that resumes because its wait time quantum has expired retries for a fixed number of attempts, sending out a new message to the DNS server and performing a timed wait each time; the designers of Mercator recommend of the order of five attempts. The time quantum of the wait increases exponentially with each of these attempts; Mercator started with one second and ended with roughly 90 seconds, in consideration of the fact that there are host names that take tens of seconds to resolve.
đang được dịch, vui lòng đợi..
