CN1192317C - 用于定位万维网页以及计算机网络文件的系统和方法 - Google Patents

用于定位万维网页以及计算机网络文件的系统和方法 Download PDF

Info

Publication number
CN1192317C
CN1192317C CNB961983205A CN96198320A CN1192317C CN 1192317 C CN1192317 C CN 1192317C CN B961983205 A CNB961983205 A CN B961983205A CN 96198320 A CN96198320 A CN 96198320A CN 1192317 C CN1192317 C CN 1192317C
Authority
CN
China
Prior art keywords
entry
web
leaf
web page
group
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
CNB961983205A
Other languages
English (en)
Other versions
CN1202257A (zh
Inventor
露易斯·M·墨尼尔
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fly Upward Management Co Ltd
Original Assignee
Digital Equipment Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Digital Equipment Corp filed Critical Digital Equipment Corp
Publication of CN1202257A publication Critical patent/CN1202257A/zh
Application granted granted Critical
Publication of CN1192317C publication Critical patent/CN1192317C/zh
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures
    • G06F16/9014Indexing; Data structures therefor; Storage structures hash tables
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/951Indexing; Web crawling techniques

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Information Transfer Between Computers (AREA)
  • Document Processing Apparatus (AREA)

Abstract

一种用于快速提取和分析WWW上或计算机网络上Web页的Webcrawler系统和方法,该系统和方法包括存贮在随机存取存储器上的散列表和一个顺序Web信息文件。对于系统已知的每个Web页,Webcrawler系统在顺序磁盘文件中存储一个表目,在散列表中存储一个较小的表目。该散列表表目包括一个指纹值、一个提取标志和一个文件定位指示器,其中仅当成功提取到相应的Web页时,才将提取标志设置为真,而文件定位指示项表示相应表目在顺序磁盘文件中的位置。每个顺序磁盘文件表目包括相应Web页的URL,以及该Web页提取状态信息。对Web页信息磁盘文件的所有访问,是利用输入缓冲区顺序进行的,从而消除了对Web信息磁盘文件的随机存取,并且最大限度地降低了磁盘访问所引起的等待时间。

Description

用于定位万维网页以及计算机 网络文件的系统和方法
技术领域
本发明大致涉及用于访问万维网(WWW)上文件(称为Web页)的系统和方法,以及用于定位计算机网络文件的系统和方法,更确切地说,涉及用于快速定位和分析WWW上Web页的系统和方法。
背景技术
Web文件(此处称为Web页)被存储在与国际互联网(Internet)相连的为数众多的计算机服务器(以下称为“服务器”)上。各Web页具有不同的URL(统一资源定位符)。大部分存储在Web服务器上的文件是用称为HTML(超文本标注语言)的标准文件描述语言书写的。采用HTML,Web文件的设计者可以将超文本链接或者超文本标注与某文件中的特定单词或词组联系起来,以确定Web页的可视画面和内容。超文本链接确定其他Web文件的URL,或者确定同一文件的其他部分,以提供与该单词或该词组有关的信息。
用户利用Web客户端上运行的Web浏览器(用于显示HTML文件并且与Web服务器进行通信的计算机程序),访问存储在WWW上的文件,其中Web客户端与Internet相连。通常,用户利用Web浏览器选择被浏览文件内的超文本连接(Web测览器将其显示为醒目的单词或词组)实现以上操作。随后,Web浏览器向Web服务器(由被请求文件的URL标识)发出HTTP(超文本传输协议)请求,要求Web服务器发送被请求文件。作为应答,指定的Web服务器也采用HTTP,向Web浏览器返回被请求的文件。
到1995年底,称为WWW(以下称为“Web”)的部分Internet上的Web页的数目,在一年内增加了好几倍,至少达到30,000,000页。本发明的目的在于提供一个系统,以记录不断增加的Web页。
用于定位Web页的系统被分别称为网络爬虫“Web crawler”、网络蜘蛛“Web spider”和网络机器人“Web robot”。本发明将其称为网络摩托车“Web scooter”,这是因为它比其他任何已知的网络爬虫(Web crawler)都要快。在本文中,交替使用术语“Webcrawler”、“Web spider”、“Web scooter”、“Web crawler计算机系统”和“Web scooter计算机系统”。
通常,现有Web crawler按如下方式进行工作。从已知Web页的根集开始,创建一个磁盘文件,其中各个已知的Web页具有不同的表目。当提取更多的Web页,并且分析它们与其他Web页的链接时,就在磁盘文件中生成更多的表目,以便引用Web crawler先前未知的Web页。每个表目表示对应的Web页是否被处理过以及其他状态信息。Webcrawler利用以下步骤处理Web页:(A)标识该Web页与其他正被处理的Web页的所有链接,存储有关信息,从而将所有未被处理的标有标识的Web页,添加到将要被处理的Web页表中,或其他等价数据结构中,和(B)将Web页传送到索引器或其他文件处理系统。
通常,将经过处理的Web页的有关信息,存储在一磁盘文件中,这是由于该磁盘文件内的信息量太大,以致不能存储在随机存取存储器(RAM)中。例如,若为每个Web页表目平均存储100字节的信息,则表示30,000,000个Web页的数据文件将大约占用3GB的存储量,在RAM中不可能存储如此大的数据文件。
下面考虑处理一页Web页期间发生的磁盘I/O。为了以下说明,假设一典型的Web页要引用20个其他Web页,并且磁盘存储设备每秒不能处理50个以上的查找操作。Web crawler必须计算正被处理的Web页内的20个Web页引用的每个,以便确定是否知道这些Web页。为了完成该项工作,Web crawler必须尝试从Web信息磁盘文件中检索20条记录。若该磁盘文件内存在特定Web页引用记录,则由于无需进一步处理该引用,故抛弃该引用。然而,若未找到特定Web页的记录,则对每个可能的Web页地址的别名,必须设法定位一条记录,从而将分析平均Web页所需的平均磁盘记录查找数,增加到每页大约50个磁盘查找。
若特定Web页引用的磁盘文件记录已不再存在,就为被引用的Web页创建一条记录,将该记录添加到磁盘文件中,并且或者将该Web页引用增加到将要处理的Web页队列中,或者利用该磁盘文件表目本身指示该页还未被提取,也未被处理。
因此,处理一个Web页大约需要20个磁盘查找(用于读取已有记录和写入新记录)。因此,在每秒50个磁盘查找的限制下,每秒大约只能处理一个Web页。
此外,还存在网络访问等待时间。平均来说,检索一个Web页大约需要3秒,尽管该时间随Web服务器的位置以及Web服务器和Webcrawler计算机所采用的特定硬件和软件的变化而变化。因此,网络等待时间势必限制现有Web crawler技术可以处理的Web页的数目,该数目大约为每秒0.33个Web页。由于磁盘“查找”限制、网络等待时间和其他延迟因素,典型的现有Web crawler技术每天可以处理的Web页不会超过30,000页。
由于增加到Web上的Web页的速度,以及删除和校正Web页的速度,所以每天处理30,000个Web页,并不足以维护Web上所有Web页的真正现有目录或索引。理论上,一Web crawler每天至少应该能够访问(即,提取和分析)2,500,000个Web页。
因此,需要具有如此高速容量的Web crawler。本发明的目的在于提供一种改进的Web crawler,该Web crawler每天能够处理数百万的Web页。本发明的另一有关目标是提供一种改进的Web crawler,该Web crawler能够克服上述的磁盘“查找”限制和网络等待时间限制,从而使得Web crawler的操作速度,主要受Web crawler的CPU的处理速度的限制。本发明的又一有关目标是提供一种Web crawler系统,平均而言,该系统每秒能够至少提取和分析30个Web页,最好每秒能够提取和分析100个以上的Web页。
发明内容
为实现本发明的目的,一方面本发明提供了一种用于定位数据集的系统,该数据集包括存储在远程访问计算机上的Web页,各个Web页具有唯一统一资源定位符URL,至少部分所述Web页含有链接到其他一些Web页的URL链接,该系统包括:一个通信接口,该接口根据与Web页相对应的URL,从所述远程计算机中提取特定的Web页;一个第一存储器,包括一个Web信息磁盘文件,所述Web信息磁盘文件具有表目集,每个表目表示相应Web页的URL和提取状态信息;一个第二存储器,包括一个Web信息散列表,所述Web信息散列表存储在存储器RAM中,具有一组表目,每个表目表示相应Web页的指纹函数值和提取状态信息;和实现由该系统执行的Web scooter过程的用于提取和分析Web页的装置,所述Web scooter过程用于:根据所述提取状态信息,提取Web页,所述Web页的Web信息磁盘文件表目满足既定选择准则;确定Web信息散列表中是否存储有每个收到的Web页中的各URL链接的相应表目;以及对于Web信息散列表中没有该相应表目的各URL链接,在Web信息散列表中添加相应的新表目和在Web信息磁盘文件中添加相应的新表目。
为实现本发明的目的,另一方面本发明提供了一种用于定位数据集的方法,该数据集包括存储在远程访问计算机上的Web页,各个Web页具有唯一统一资源定位符URL,至少部分所述Web页含有链接到其他一些Web页的URL,所述方法包括以下步骤:存储具有一组表目的Web信息磁盘文件,各表目表示相应Web页的URL和提取状态信息;在RAM内存储具有一组表目的Web信息表,各表目表示相应Web页的指纹函数值和提取状态信息;和执行Web scooter过程,以便提取和分析Web页,该过程包括:(A)顺序扫描Web信息磁盘文件内的表目,以便确定哪个所述表目满足既定选择准则,(B)提取Web页,该Web页的Web信息磁盘文件表目满足既定选择准则,(C)确定Web信息表内是否存在已接收Web页内链接到另一Web页的URL链接的相应表目,和(D)如果Web信息表中没有该相应表目的各URL链接,在Web信息表中添加相应的新表目和在Web信息磁盘文件中添加相应的新表目。
以下说明用于快速定位并生成WWW上Web页目录的系统和方法。Web crawler系统包括一散列表和一顺序文件(此处称为“顺序磁盘文件”或“Web信息磁盘文件”),其中散列表被存储在随机存取存储器(RAM)上,而顺序文件被存储在辅助存储器(通常为磁盘存储器)上。对系统所知的每个Web页,Web crawler系统在顺序磁盘文件中存储一个表目,并在散列表中存储一个较小的表目。散列表表目包括一个指纹值、一个提取标志和一个文件定位指示项,其中仅当成功提取到相应的Web页时,才将提取标志设置为真,文件定位指示项指示相应表目在顺序磁盘文件内的存储位置。每个顺序磁盘文件表目包括相应Web页的URL和有关该Web页的提取状态信息。
对Web信息磁盘文件的所有访问,是通过输入缓冲区顺序进行的,从而以单一I/O操作的形式,将顺序磁盘文件内的众多表目移到输入缓冲区。随后,从输入缓冲区访问该顺序磁盘文件。同样,把将要添加到顺序文件的所有新表目,存储到附加缓冲区内,并且当添满附加缓冲区时,就将附加缓冲区的内容添加到顺序磁盘文件的尾部。这样,就消除了对Web信息磁盘文件的随机存取,并且把磁盘访问限制引起的等待时间降到最低限度。
用于定位和处理Web页的过程包括:顺序检查顺序文件内的所有表目,选择满足既定选择准则的下一表目。当选择下一表目处理时,就在散列表内检查当前表目候选项的所有的已知别名,以便确定是否用别名提取了该Web页。如果已经以别名提取了该Web页,就将顺序文件表目的错误类型域标识为“未选别名”,同时不再选择该候选表目。
一旦选择了下一个Web页引用表目,Web crawler系统试图提取相应的Web页。如果提取不成功,就根据返回到Web crawler的错误返回码,将该Web页顺序文件表目内的提取状态信息标识为提取失败。如果提取成功,就依照该Web页的顺序磁盘文件表目(在输入缓冲区内)内的类似标志,设置该Web页散列表表目内的提取标志。此外,分析所提取的Web页内的每个URL链接。如果散列表中存在被该链接引用的URL的表目,或者存在该URL的任何定义别名的表目,则无需进一步处理该URL链接。如果不能在散列表中找到以上表目,则该URL代表一“新的”Web页,在此之前,该Web页并不包括在所有Web页的Web crawler数据库中,因此,需将新Web页表目添加到顺序磁盘文件中(即将其添加到附加缓冲区内的磁盘文件部分)。新磁盘文件表目包括由正在处理的链接引用的URL,并且将其标识为“未提取”。此外,将相应的新表目添加到散列表中,清除该表目的提取标志,以表示还未提取相应的Web页。除处理提取页内的所有URL链接外,Webcrawler还要将已提取的Web页发送到索引器,以便进一步处理。
附图说明
根据以下最佳实施方式(用示例说明)的说明,连同附图一并考虑,将更详细地理解本发明,其中附图是:
图1是根据本发明最佳实施方式的Web crawler系统的最佳实施方式的框图。
图2是本发明最佳实施方式采用的散列表结构的框图。
图3是本发明最佳实施方式采用的顺序Web信息磁盘文件以及有关数据结构的框图。
图4是本发明最佳实施方式采用的Web crawler过程的流程图。
具体实施方式
参照图1,图1表示分布式计算机系统100,该系统具有Webscooter计算机系统102。利用通信接口104以及一组Internet和其他网络连接106,将Web scooter连接到Internet和Web页索引计算机108。在某些实施方式中,利用专用通信信道,而不采用局域网或广域网连接,直接将Web页索引计算机108连接到Web scooter102。与Web scooter102相连的Internet部分为:(A)存储Web页的Web服务器110,和(B)配合统称为分布式域名服务(DNS)服务的服务器,这里一并用参数112表示。为了本文的目的,假设DNS112为全部请求提供任何Internet主机名的所有定义别名集,并且Internet主机名以及其别名构成每个URL的前缀部分。
在最佳实施方式中,Web scooter102为DEC公司生产的Alpha工作站计算机;然而事实上,可以采用任何类型的计算机作为Web scooter计算机。在最佳实施方式中,Web scooter102包括一个CPU114,上述通信接口104,用户接口116,随机存取存储器(RAM)118和磁盘存储器(磁盘)120。在最佳实施方式中,通信接口104是一高容量的通信接口,该通信接口能够以每秒30个以上Web页的平均提取吞吐量,处理1000个以上的重叠通信请求。
在最佳实施方式中,Web scooter的RAM为1GB,并存储:
·一个多任务操作系统122;
·一个Internet通信管理程序124,该程序用于从DNS112提取Web页和别名信息;
·一个主机名表126,该表存储表示主机名定义别名的信息;
·一个Web信息散列表130;
·一个散列表管理过程132;
·一个输入缓冲区134和一个附加缓冲区136;
·一个互斥体(mutex)138,该互斥体用于控制对散列表130、输入缓冲区134和附加缓冲区136的访问;
·一个Web scooter过程140;和
·线程数据结构142,该数据结构用于定义T1个执行线程,其中T1是一个整数,该整数是由Web scooter计算机系统102的操作员选择的(例如,在最佳实施方式中,将T1设置为值1000)。
正如下面的详细说明,磁盘存储器120存储Web信息磁盘文件150,利用输入缓冲区134和附加缓冲区136,顺序访问磁盘文件150。
在主机名表126中还存储有为DNS112所知的、各主机名的所有别名信息。事实上,别名为一组URL前缀,Web scooter过程140利用该别名取代特定Web页的URL的主机名部分,形成特定Web页的一组别名URL。
以下将参照图1到图4以及表1和表2,说明上述数据结构以及过程的作用和操作。表1和表2同时含有Web scooter过程的伪码。尽管这里使用的伪码主要是为本说明书的目的而发明的,它仍采用通用计算机语言约定,其目的是使所有计算机程序员都能够轻而易举地理解该过程。
Web信息散列表
参照图2,Web信息散列表130包括各Web页(该Web页已被Webscooter系统提取和分析)的不同表目160,和该Web页(该Web页已被提取和分析)内URL链接所引用的各Web页。每个表目包括:
·一个指纹值162,对应的Web具有唯一的指纹值;
·一个1位的“提取标志”164,该提取标志表示Web scooter是否已提取并分析了相应的Web页;和
·一个文件定位值166,该值表示对应表目在Web信息磁盘文件150中的位置。
在最佳实施方式中,每个指纹值的长度为63位,每个文件定位值的长度为32位。因此,在最佳实施方式中,每个散列表表目160恰好占用12字节。尽管散列表表目的准确尺寸并不重要,重要的是各散列表表目160远远小于(例如,至少平均小75%)相应的磁盘文件表目。散列表管理程序132经过其“接口”170,接收Web scooter过程140的两类过程调用:
·第一请求,询问散列表管理程序132是否存在特定URL表目,若存在,则询问该记录的提取标志是否表示相应的Web页已被提取和分析;和
·第二请求,要求散列表管理程序在散列表130内,存储特定URL和特定磁盘位置的新表目。
散列表管理程序132利用指纹散列函数172,计算提供给该程序的各URL的63-位的指纹值。指纹函数172的目的是:确保将不同的URL映射为同样不同的指纹值。指纹函数生成任何特定Web页URL的压缩编码。一般技术人员了解相称的指纹函数的设计。应注意,虽然大约有225到226个Web页,指纹却可以有263个不同值。
当Web scooter过程140询问散列表管理程序132是否存在特定URL表目时,散列表管理程序(A)利用上述指纹散列函数172生成特定URL的指纹,(B)将该值传送到散列表位置函数174,该函数确定在散列表130内什么位置存储具有该指纹值的表目,(C)确定散列表内是否真正存储有该表目,(D)若未发现匹配表目,则返回一个失败值(如-1),和(E)若在散列表内找到该表目,则返回成功值(如0)、该表目的提取标志值和磁盘位置值。
在最佳实施方式中,散列表位置函数174根据指纹值的预定数目的低位,确定散列表表目的位置,随后排列到具有相同低位的所有指纹表目块组成的链中。对于给定的低位值,以块为单位(每块B1个表目),在散列表130内分配表目160,其中可以调整参数B1。最佳实施方式中采用的上述分配模式具有以下优点:能够以很高的密度方式,在散列表130内存储数据。正如熟练的技术人员可以了解的那样,可以采用许多其他散列表位置函数。
当Web scooter过程140要求散列表管理程序132为特定URL和特定磁盘文件位置存储新的散列表表目时,散列表管理程序(A)采用上述指纹散列函数172,生成特定URL的指纹,(B)将该值传送到散列表位置函数174,该函数确定在散列表130内什么位置存储具有该指纹值的表目,和(C)在散列表内的确定位置存储新表目160,其提取标志值表示还未提取相应的Web页,同时,新表目160包含有指纹值和特定的磁盘文件位置。
Web信息磁盘文件和缓冲区
参照图3和表2,利用输入缓冲区134和附加缓冲区136(二者都位于RAM内),最大限度地降低了磁盘操作。利用后台顺序磁盘文件和缓冲区处理过程(统称为磁盘文件管理程序),管理输入缓冲区和附加缓冲区。
在最佳实施方式中,输入缓冲区和附加缓冲区分别为50MB和100MB。输入缓冲区134用于存储Web信息磁盘文件150的顺序排列的连续部分。Web scooter过程含有指针176、指针178以及若干内务操作指针,其中指针176指向输入缓冲区内将要处理的下一表目,指针178指向Web信息磁盘文件150内将要传送到输入缓冲区134的下一表目180,内务指针为协调使用输入缓冲区134、附加缓冲区136和磁盘文件150所需要的指针。
经过输入缓冲区134,顺序实现对Web信息磁盘文件150的所有访问,从而以单个I/O操作,将顺序磁盘文件内的众多表目移到输入缓冲区。随后,从输入缓冲区访问该顺序磁盘文件150。同样,把将要添加到顺序文件的所有新表目,存储到附加缓冲区136内,并且当添满附加缓冲区后,就将附加缓冲区的内容添加到顺序磁盘文件的尾部。这样,就消除了对Web信息磁盘文件的随机存取,并且把磁盘访问限制引起的等待时间降到最低限度。
每当Web scooter扫描了输入缓冲区134内的所有表目后,就将输入缓冲区内的所有表目更新,回存到Web信息磁盘文件150内,同时,将附加缓冲区内的所有表目,添加到磁盘文件150的尾部。此外,清空附加缓冲区136,并将磁盘文件内的下一组表目(紧接上一组拷贝到输入缓冲区134内的表目——如指针178所示),拷贝到输入缓冲区134。当Web scooter过程扫描完磁盘文件内的最后一组表目后,就在磁盘文件150的起始处开始重新扫描。
当用新表目添满附加缓冲区136之后,就将其内容添加到磁盘文件150的尾部,同时清空附加缓冲区,以便接收新表目。
Web信息磁盘文件150内的各个表目180存储有:
·一变长URL字段182,该字段存储该表目所引用的Web页的URL;
·一提取标志184,该标志表示Web scooter是否提取并分析了相应的Web页;
·一时戳186,该时戳表示提取、分析和索引被引用Web页的日期和时间;
·一度量值188,该值表示Web页的大小;
·一错误类型值190,该值表示碰到的错误类型,若有错误发生,则该值表示试图提取被引用Web页的最后时间,如果该表目代表一副本(即别名URL),则应忽略该值;和
·与此无关的其他提取状态信息192。
由于URL字段182是变长的,所以Web信息磁盘文件150内的记录180也是变长的。
Web scooter过程
现在参照图1至图4以及表1内的伪码,最佳实施方式中的Webscooter过程140按如下方式进行工作。当Web scooter过程开始执行时,它利用以下步骤初始化(步骤200)系统数据结构:
·扫描预先存在的Web信息磁盘文件150,利用顺序磁盘文件内的所有表目,初始化散列表130;
·将磁盘文件150内的第一批顺序磁盘表目拷贝到输入缓冲区134;
·定义一个空的附加缓冲区136,该缓冲区用于存储新的顺序文件表目;和
·定义一个互斥138,该互斥用于控制对输入缓冲区134、附加缓冲区136和散列表130的访问。
随后,Web scooter初始化程序启动T1个线程(例如,在最佳实施方式中,启动1000个线程),各线程执行相同的Web scooter过程。
在Web scooter初始化过程执行之前,将预先存在的Web信息磁盘文件150内的表目集,统称为已知Web页的“根集”144。“可访问”Web页集包括根集内URL链接引用的所有Web页,和其他可访问Web页内URL链接引用的所有Web页。因此,由于根集与“不可访问”的Web页之间不存在URL链接,所以Web scooter102可能不能访问某些Web页。
当利用各种信道获得以上Web页的有关信息时,通过“手工”插入附加表目,或者利用其他机制来包括附加表目,就可以扩充Web信息磁盘文件150(从而扩展了根集144),这样,就可以访问以前不能访问的Web页。
以下是Web scooter过程的说明,所有同时运行的线程均执行该过程。过程的第一步请求并等待互斥体(步骤202)。请求互斥的所有权,从而不会出现两个线程处理同一磁盘文件表目,从而也不会出现两个线程试图同时往散列表、输入缓冲区、附加缓冲区和磁盘文件中写信息。这里一并将散列表130、输入缓冲区134、附加缓冲区136和磁盘文件150称为“受护数据结构”,这是由于利用互斥,共同保护这些数据结构。一旦某线程拥有了互斥,该线程就可以从未被扫描的下一表目开始(如指针176所示),扫描输入缓冲区内的磁盘文件表目,直至该线程定位并选择了满足既定选择准则的表目(步骤204)。
例如,默认选择准则为:引用从未被提取过(由其表目表示)的Web页的任意表目,或者其最后提取和分析时间为H1小时以前的表目,其中H1是一个可由操作员选择的值,但不包括其错误类型字段表示该表目为一副本表目(即下面所述的“未选择别名”)的表目。如果将H1设置为168,则引用其最后提取和分析时间为一星期以前的表目满足选择准则。另一选择准则(其中考虑了Web页的大小)为:表示其Web页从未被提取过的表目,或者其Web页的大小大于S1、并且最后提取和分析时间为H1小时以前的表目,或者其Web页的大小不超过S1、并且最后提取和分析时间为H2小时以前的表目,但不包括其错误类型字段表示该表目为一“未选择别名”的表目,其中S1、H1和H2为操作员可选择的值。
当选择下一表目处理时,在散列表内检查当前候选表目的所有已知别名,确定是否以别名提取了该Web页。具体而言,若某一表目满足既定选择准则,就采用主机名表126内的信息,生成该表目的所有已知别名的URL,随后,检查散列表130,以便查看是否存储有任一别名URL表目,其中该表目的提取标志表示已经以别名提取了被引用的Web页。如果能够确定以别名URL提取了输入缓冲区内当前候选表目引用的Web页,就更改输入缓冲区内该表目的错误类型字段190,以表示该表目为一“未选择别名”表目,从而避免了选择该表目以备此时或将来进行处理。
一旦选定了Web页引用表目,就释放互斥体,从而其他线程可以访问受扩数据结构(步骤206)。然后。Web scooter过程设法提取相应的Web页(步骤208)。在提取完成或提取失败后,该过程再次请求并等待互斥体(步骤210),从而该过程能够再次使用受护数据结构。
如果提取失败(步骤212-N),就根据返回到Web crawler的错误返回码,将该Web页顺序文件表目内的提取状态信息,标识为提取失败(步骤214)。如果提取成功(步骤212-Y),就依照该Web页顺序磁盘文件表目180(在输入缓冲区内)内的提取标志184,设置该Web页散列表表目160内的提取标志。此外,还要分析已提取的Web页内的各URL链接(步骤216)。
在对已提取的Web页进行了分析之后,或者在输入缓冲区表目内记录了提取失败之后,就释放互斥,从而其他线程可以访问受护数据结构(步骤218)。
以下参照图4B,说明用于分析已提取的Web页的URL链接的过程。注意到,一个Web页可能含有以下URL链接,该URL链接到的文件(如图象文件)并不含有适于索引系统108进行索引的信息。通常把这些被引用文件用作引用该文件的Web页的成员。为了本文的目的,假设链接到成员文件(如图象文件和不可索引文件)的URL链接,不是“链接到其他Web页的URL链接”。Web scooter过程忽略链接到不可索引文件的URL链接。
一旦处理了链接到其他Web页的所有URL连接(步骤230),就将已提取的Web页发送到索引器进行索引(步骤232),Web scooter完成对已提取的Web页的处理。否则,选择链接到Web页的下一个URL链接(步骤234)。如果已经存在与所选链接有关的URL的散列表表目(步骤236),则无需进一步处理该链接,如果被分析的Web页内还有其他未处理的URL链接,则选择下一个URL链接(步骤234)。
如果不存在与所选链接有关的URL的散列表表目(步骤236),则利用主机名表126内的信息,生成该表目的所有已知别名的URL,然后检查散列表130,以便查看该表内是否存储有任何别名URL表目(步骤238)。如果散列表内存在任一别名URL表目,则无需进一步处理该链接,如果被分析的Web页内还有其他未处理的URL链接,则选择下一个URL链接(步骤234)。
如果散列表内不存在所选链接的URL表目或任一别名的表目,则该URL表示一个“新的”Web页,此前,所有Web页的Web crawler数据库中不包括该Web页,因此,将该新Web页表目添加到附加缓冲区内的磁盘文件中(步骤240)。新的磁盘文件表目包括被处理链接所引用的URL,并将该磁盘文件表目标记为“未提取”。此外,将相应新表目添加到散列表中,同时清除该表目的提取标志,以便表示还未提取相应的Web页(步骤240)。然后,如果该Web页内还有其他未处理的URL链接,则选择该Web页内下一个未处理的URL链接,继续进行Web页处理(步骤234)。
由于散列表130包含有各已知Web页的磁盘文件位置值,所以Web过程(其目的和操作在本文范围之外)将Web信息散列表130,用作Web信息磁盘文件150的索引。换句话说,通过首先读取Web信息散列表内的相应表目中的磁盘文件地址,然后读取位于该地址的Web信息磁盘文件表目,访问Web信息磁盘文件中的表目。
其他实施方式
可以采用具有同样性质的Web信息散列表130的其他数据结构(如平衡树、跳跃表等等),取代最佳实施方式中的散列表结构130。
作为一种解决方案,本发明采用三种主要机制,克服现有技术Webcrawler的速度限制。
第一,在RAM中存储具有足够信息的Web页目录表,以便确定Webcrawler未曾知道的、表示新Web页的Web页链接,这样,无需访问磁盘文件,就可以分析接收到的Web页。
第二,仅以顺序次序访问更完备的Web页目录,并且利用大容量输入缓冲区和附加缓冲区实现以上访问,该缓冲区能将磁盘访问量减小到磁盘访问对Web crawler的速度性能没有明显影响的程度。
第三,通过利用大量并行活动线程执行Web scooter过程,并且通过提供能够处理相同数量的并行通信信道(该信道与Web服务器相连)的通信接口,本发明避免了由网络访问等待时间引起的延迟。
具体而言,当大量线程等待Web页提取请求的应答时,其他线程正在分析接收到的Web页。通过利用大量线程执行同一Web scooter过程,平均而言,往往会出现一个具有接收Web页的线程队列,该线程队列正在等待互斥,以便处理已经接收的Web页。同时,Web页的提取往往是交错进行的。因此,Web scooter几乎不会出现以下状态,即除等待接收Web页外,无其他事情可作。通过采用多处理器工作站,同时增加并行执行Web scooter过程的线程数量,可以进一步提高Webscooter的吞吐量。
尽管参照几个特定实施方式说明了本发明,该说明书只是本发明的示例,不应把该说明书看作是对本发明的限制。正如本文所提交并申明的那样,可以不背离本发明的范围,作出各种改进。
                         表1
              Web scooter过程的伪码表示过程:Web scooter{/*初始化步骤*/
扫描预先存在的Web信息磁盘文件,利用顺序文件内的所有表目初始化散列表
将第一批顺序磁盘表目读入RAM内的输入缓冲区中
定义用于新的顺序文件表目的、空的附加缓冲区
定义互斥体,该互斥体用于控制对输入缓冲区、附加缓冲区和散列表的访问
启动1000个线程,分别执行同一scooter过程}过程:scooter{永远重复执行:{
请求并等待互斥体
根据既定URL选择准则,读取顺序文件(该文件在输入缓冲区内)直至选择了一个需要处理的新的URL。当选择下一URL进行处理时,检查散列表内该URL的所有已知别名,以便确定是否以别名形式提取了该Web页,如果以别名形式提取了该Web页,则将该顺序文件表目的错误类型字段标识为“未选择别名”。
/*选择准则示例:从未被提取过的URL,或者其最后提取时间为H1小时以前的URL并且该URL并非一未选择别名*/
  释放互斥体
  提取所选Web页
  请求并等待互斥体
  如果提取成功
    {
将散列表表内的表目以及输入缓冲区内的顺序文件表目标识为已提取
/*分析已提取的Web页*/
对该页内的每个URL链接
{
    如果散列表内存储有该URL或任一定义别名
    {什么也不做}
    否则
    {
/*该URL表示一“新的”Web页,现有数据库中不包括该Web页*/
将相应Web页的新表目添加到附加缓冲区中,将该表目标识为“未提取”
将表目添加到散列表中,将该表目标记为“未提取”
    }
}
将已提取的Web页发送到索引器进行索引
    }
    否则
    {
根据接收到的返回码,利用恰当的“提取失败”标志,标记正被处理的、输入缓冲区内的表目
    }
    释放互斥体}/*永远重复执行循环结束*/}
                      表2
        后台顺序文件缓冲区处理程序的伪码表示过程:后台顺序文件缓冲区处理程序(a/k/a磁盘文件管理程序){当一条“读顺序文件”指令使得输入缓冲区溢出时{
将输入缓冲区中的内容拷贝到顺序磁盘文件中
将下一组表目读到输入缓冲区中
将附加缓冲区的内容添加到顺序磁盘文件的尾部
清空附加缓冲区,为新表目做准备}当“添加表目到顺序文件中”指令引起附加缓冲区溢出时{
将附加缓冲区的内容添加到顺序磁盘文件的尾部
清空附加缓冲区,为新表目做准备
将等待处理的新表目添加到附加缓冲区的起始位置}

Claims (20)

1.一种用于定位数据集的系统,该数据集包括存储在远程访问计算机上的Web页,各个Web页具有唯一统一资源定位符URL,至少部分所述Web页含有链接到其他一些Web页的URL链接,该系统包括:
一个通信接口,该接口根据与Web页相对应的URL,从所述远程计算机中提取特定的Web页;
一个第一存储器,包括一个Web信息磁盘文件,所述Web信息磁盘文件具有表目集,每个表目表示相应Web页的URL和提取状态信息;
一个第二存储器,包括一个Web信息散列表,所述Web信息散列表存储在存储器RAM中,具有一组表目,每个表目表示相应Web页的指纹函数值和提取状态信息;和
实现由该系统执行的Web scooter过程的用于提取和分析Web页的装置,所述Web scooter过程用于:根据所述提取状态信息,提取Web页,所述Web页的Web信息磁盘文件表目满足既定选择准则;确定Web信息散列表中是否存储有每个收到的Web页中的各URL链接的相应表目;以及对于Web信息散列表中没有该相应表目的各URL链接,在Web信息散列表中添加相应的新表目和在Web信息磁盘文件中添加相应的新表目。
2.根据权利要求1的系统,该系统包括在同一时间段内执行该Web scooter过程的多个线程,这样当某些线程提取Web页时,其他Web页线程正在分析已提取的Web页。
3.根据权利要求2的系统,包括一个互斥体,其中由各线程执行的Web scooter过程包括,在访问Web信息散列表和Web信息磁盘文件之前,申请并等待该互斥体的指令,该互斥体用于控制对Web信息散列表、输入缓冲区和附加缓冲区的访问。
4.根据权利要求3的系统,其中所述Web信息磁盘文件包括顺序排列的表目的块,并且该系统包括:
一个输入缓冲区和一个附加缓冲区;
一个文件管理程序,该程序用于将Web信息磁盘文件中的所述顺序排列的表目的块存储到输入缓冲区中;
所述Web scooter过程扫描并分析输入缓冲区内的Web信息磁盘文件表目,以便定位满足所述既定选择准则的所述Web信息磁盘文件表目;
所述Web scooter过程,将将要添加到所述Web信息磁盘文件中的所有表目存储到所述附加缓冲区内;和
所述文件管理程序用于将附加缓冲区内的所有表目移到Web信息磁盘文件中。
5.根据权利要求1的系统,其中第二存储器内的各个表目包含有第一存储器内对应表目的地址。
6.一种用于定位数据集的方法,该数据集包括存储在远程访问计算机上的Web页,各个Web页具有唯一统一资源定位符URL,至少部分所述Web页含有链接到其他一些Web页的URL,所述方法包括以下步骤:
存储具有一组表目的Web信息磁盘文件,各表目表示相应Web页的URL和提取状态信息;
在RAM内存储具有一组表目的Web信息表,各表目表示相应Web页的指纹函数值和提取状态信息;和
执行Web scooter过程,以便提取和分析Web页,该过程包括:(A)顺序扫描Web信息磁盘文件内的表目,以便确定哪个所述表目满足既定选择准则,(B)提取Web页,该Web页的Web信息磁盘文件表目满足既定选择准则,(C)确定Web信息表内是否存在已接收Web页内链接到另一Web页的URL链接的相应表目,和(D)如果Web信息表中没有该相应表目的各URL链接,在Web信息表中添加相应的新表目和在Web信息磁盘文件中添加相应的新表目。
7.根据权利要求6的方法,包括以多线程方式,在相同的时间段内执行所述Web scooter过程,这样,当某些线程提取Web页时,其他Web页线程正在分析已提取的Web页。
8.根据权利要求7的方法,包括:
定义一个互斥体,该互斥体用于控制对Web信息散列表、输入缓冲区和附加缓冲区的访问,
当各所述线程执行所述Web scooter过程时,在访问Web信息表和Web信息磁盘文件之前,各线程申请并等待该互斥体。
9.根据权利要求8的方法,其中所述Web信息磁盘文件包括顺序排列的表目的块,并且所述方法还包括以下步骤:
在所述RAM内定义一个“输入缓冲区”和一个“附加缓冲区”;
将Web信息磁盘文件内所述顺序排列的表目的块存储到输入缓冲区中;
所述顺序扫描Web信息磁盘文件内的表目的步骤包括:扫描输入缓冲区内的Web信息磁盘文件表目,以便确定哪个所述Web信息磁盘文件表目满足所述既定选择准则;
将将要添加到所述文件中的所有表目存储到所述附加缓冲区内;和
将附加缓冲区内的所有表目移到Web信息磁盘文件中。
10.根据权利要求6的方法,其中Web信息表内的各个表目包含有Web信息磁盘文件内相应表目的地址,所述方法包括:
通过读取Web信息表内相应表目内的地址,然后读取位于所述地址的所述Web信息磁盘文件内的所述表目,访问所述Web信息磁盘文件内的所述表目之一。
11.一种用于定位数据集的装置,该数据集被存储在与网络相连的计算机上,利用一个地址唯一标识各数据集,至少某些数据集包含有一个以上的、存储在计算机上的其他数据集的链接地址,该装置包括:
一个与计算机网络相连的通信接口,该通信接口用于向计算机发送请求,以请求特定数据集,并根据所述请求接收数据集,其中各请求中包含有特定数据集的地址;
一个内部存储器,用于存储第一组表目,第一组表目中的各表目包含有对应数据集的地址,以及对应数据集的状态信息;
一个外部存储器,用于存储第二组表目,第二组表目中的各表目包含有对应数据集地址的编码,以及对应数据集的提取状态信息的编码;和
线程装置,与内部存储器、外部存储器以及通信接口相连,用于顺序读取第一表目组内的所有表目,根据提取状态信息,为满足预定的选择准则的第一表目组内的相应表目中的特定数据集生成请求,根据接收的特定数据集,如果第二表目组内没有与已接收数据集内至少一地址子集相对应的表目,就在所述第一表目组内和第二表目组内创建新表目。
12.根据权利要求11的装置,其中第二表目组内的各表目包括第一表目组对应表目的地址,所述第二表目组用于索引第一表目组。
13.根据权利要求11的装置,包括多个所述线程装置,这样,当某些线程装置生成所述请求,并接收所述特定数据集时,其他线程装置在所述内部存储器内和外部存储器内创建新表目。
14.根据权利要求13的装置,包括一个互斥体,其中每个所述线程装置包含有用于在访问内部存储器和外部存储器之前,请求并等待互斥体的逻辑装置,该互斥体用于控制对外部存储器、输入缓冲区和附加缓冲区的访问。
15.根据权利要求14的装置,包括:
位于所述辅助存储器内的一个输入缓冲区和一个附加缓冲区;
一个管理程序,该程序将内部存储器内表目的顺序排列的组存储到输入缓冲区中;
每个所述线程装置包含有用于扫描并分析输入缓冲区内所有表目的装置,以便定位满足所述预定的选择准则的所述表目的装置;
将要添加到所述内部存储器中的所有表目存储到所述附加缓冲区中的各个所述线程装置;和
所述管理程序还具有用于将附加缓冲区内的所有表目移动到内部存储器中的装置。
16.一种用于定位被存储在与网络相连的计算机上的数据集的方法,利用一个地址唯一标识各数据集,至少某些数据集包含有一个以上的、存储在计算机上的其他数据集的链接地址,该方法包括以下步骤:
(A)在内部存储器内存储第一表目组,所述第一表目组内的各表目包含有相应数据集的地址,以及相应数据集的状态信息;
(B)在外部存储器内存储第二表目组,所述第二表目组内的各表目包含有相应数据集地址的编码,以及相应数据集的提取状态信息的编码;
(C)顺序读取第一表目组内的所有表目;
(D)根据提取状态信息,利用网络向计算机发送请求,请求其第一表目组内相应表目满足预定的选择准则的特定数据集;和
(E)根据接收的特定数据集,如果第二表目组内没有与已接收数据集内至少一地址子集相对应的表目,就在所述第一表目组内和第二表目组内创建新表目。
17.根据权利要求16的方法,其中所述步骤B包括:在第二表目组内的各表目中存储第一表目组内对应表目的地址,所述第二表目组用于索引第一表目组。
18.根据权利要求16的方法,包括在同一时间段内,用众多线程执行步骤C、D和E,这样,当某些线程提取数据集时,其他数据集线程正在分析已提取的数据集。
19.根据权利要求18的方法,包括:
定义一个互斥体,该互斥体用于控制对外部存储器、输入缓冲区和附加缓冲区的访问;和
在访问内部存储器内的第一表目组和第二存储器内的第二表目组之前,各所述线程请求并等待该互斥体。
20.根据权利要求19的方法,其中所述第一表目组包括顺序排列的表目的块,并且所述方法包括:
在所述外部存储器内,定义一个输入缓冲区和一个附加缓冲区;
将第一表目组内所述顺序排列的表目的块存储到输入缓冲区内;
所述顺序读取步骤包括以下步骤:顺序读取输入缓冲区内的表目,并确定所述输入缓冲区内的哪个表目满足预定的选择准则;
将要添加到所述内部存储器内的所有表目添加到所述附加缓冲区中;和
将附加缓冲区内的所有表目移到内部存储器中。
CNB961983205A 1995-12-13 1996-12-10 用于定位万维网页以及计算机网络文件的系统和方法 Expired - Lifetime CN1192317C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/571,748 1995-12-13
US08/571,748 US5974455A (en) 1995-12-13 1995-12-13 System for adding new entry to web page table upon receiving web page including link to another web page not having corresponding entry in web page table

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN2005100068039A Division CN1811757B (zh) 1995-12-13 1996-12-10 用于定位万维网页以及计算机网络文件的系统和方法

Publications (2)

Publication Number Publication Date
CN1202257A CN1202257A (zh) 1998-12-16
CN1192317C true CN1192317C (zh) 2005-03-09

Family

ID=24284878

Family Applications (2)

Application Number Title Priority Date Filing Date
CN2005100068039A Expired - Lifetime CN1811757B (zh) 1995-12-13 1996-12-10 用于定位万维网页以及计算机网络文件的系统和方法
CNB961983205A Expired - Lifetime CN1192317C (zh) 1995-12-13 1996-12-10 用于定位万维网页以及计算机网络文件的系统和方法

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN2005100068039A Expired - Lifetime CN1811757B (zh) 1995-12-13 1996-12-10 用于定位万维网页以及计算机网络文件的系统和方法

Country Status (11)

Country Link
US (2) US5974455A (zh)
EP (3) EP1241594A3 (zh)
JP (1) JP3160719B2 (zh)
KR (1) KR100330576B1 (zh)
CN (2) CN1811757B (zh)
AU (1) AU694386B2 (zh)
BR (1) BR9611149A (zh)
CA (1) CA2240350A1 (zh)
TW (1) TW311996B (zh)
WO (1) WO1997022069A1 (zh)
ZA (1) ZA9610561B (zh)

Families Citing this family (140)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5778367A (en) * 1995-12-14 1998-07-07 Network Engineering Software, Inc. Automated on-line information service and directory, particularly for the world wide web
US7349892B1 (en) * 1996-05-10 2008-03-25 Aol Llc System and method for automatically organizing and classifying businesses on the World-Wide Web
US6415319B1 (en) * 1997-02-07 2002-07-02 Sun Microsystems, Inc. Intelligent network browser using incremental conceptual indexer
US5897637A (en) * 1997-03-07 1999-04-27 Apple Computer, Inc. System and method for rapidly identifying the existence and location of an item in a file
US6222847B1 (en) * 1997-10-08 2001-04-24 Lucent Technologies Inc. Apparatus and method for retrieving data from a network site
US6253240B1 (en) 1997-10-31 2001-06-26 International Business Machines Corporation Method for producing a coherent view of storage network by a storage network manager using data storage device configuration obtained from data storage devices
JP2996937B2 (ja) * 1997-12-01 2000-01-11 三菱電機株式会社 サーバ
US6145003A (en) * 1997-12-17 2000-11-07 Microsoft Corporation Method of web crawling utilizing address mapping
US6119171A (en) 1998-01-29 2000-09-12 Ip Dynamics, Inc. Domain name routing
US6345304B1 (en) * 1998-04-01 2002-02-05 Xerox Corporation Obtaining network addresses from identifiers
US6457060B1 (en) * 1998-04-30 2002-09-24 Openwave Systems Inc. Method and apparatus for flexibly linking to remotely located content on a network server through use of aliases
US6727923B1 (en) * 1998-05-08 2004-04-27 Apple Computer, Inc. Creation and manipulation of internet location objects in a graphical user interface environment
US6638314B1 (en) * 1998-06-26 2003-10-28 Microsoft Corporation Method of web crawling utilizing crawl numbers
US6424966B1 (en) * 1998-06-30 2002-07-23 Microsoft Corporation Synchronizing crawler with notification source
US6553372B1 (en) * 1998-07-13 2003-04-22 Microsoft Corporation Natural language information retrieval system
US6393428B1 (en) * 1998-07-13 2002-05-21 Microsoft Corporation Natural language information retrieval system
US6336116B1 (en) * 1998-08-06 2002-01-01 Ryan Brown Search and index hosting system
US6654813B1 (en) * 1998-08-17 2003-11-25 Alta Vista Company Dynamically categorizing entity information
US6735585B1 (en) 1998-08-17 2004-05-11 Altavista Company Method for search engine generating supplemented search not included in conventional search result identifying entity data related to portion of located web page
US6510467B1 (en) * 1998-09-16 2003-01-21 International Business Machines Corporation Method for transferring data files between a user and an internet server
SE514376C2 (sv) * 1998-09-24 2001-02-19 Mirror Image Internet Inc Ett internet-cachningssystem samt ett förfarande och anordning i ett sådant system
US6145000A (en) 1998-10-06 2000-11-07 Ameritech Corporation System and method for creating and navigating a linear hypermedia resource program
US6195707B1 (en) * 1998-10-28 2001-02-27 International Business Machines Corporation Apparatus for implementing universal resource locator (URL) aliases in a web browser and method therefor
US6289375B1 (en) * 1998-10-30 2001-09-11 International Business Machines Corporation Method and apparatus for invoking network agent functions using a hash table
US6314460B1 (en) 1998-10-30 2001-11-06 International Business Machines Corporation Method and apparatus for analyzing a storage network based on incomplete information from multiple respective controllers
US6411950B1 (en) * 1998-11-30 2002-06-25 Compaq Information Technologies Group, Lp Dynamic query expansion
US7131062B2 (en) * 1998-12-09 2006-10-31 International Business Machines Corporation Systems, methods and computer program products for associating dynamically generated web page content with web site visitors
US6374294B1 (en) * 1998-12-23 2002-04-16 Nortel Networks Limited Method and apparatus for negating invalid networking addresses
US6993531B1 (en) * 1999-02-04 2006-01-31 Naas Aaron J System and method of routine navigation
GB2339516B (en) * 1999-04-06 2000-07-05 Iesearch Limited An inter-computer communications apparatus
US7055739B1 (en) * 1999-05-25 2006-06-06 Silverbrook Research Pty Ltd Identity-coded surface with reference points
US6341306B1 (en) * 1999-08-13 2002-01-22 Atomica Corporation Web-based information retrieval responsive to displayed word identified by a text-grabbing algorithm
US7162477B1 (en) * 1999-09-03 2007-01-09 International Business Machines Corporation System and method for web or file system asset management
US6263364B1 (en) * 1999-11-02 2001-07-17 Alta Vista Company Web crawler system using plurality of parallel priority level queues having distinct associated download priority levels for prioritizing document downloading and maintaining document freshness
US6301614B1 (en) * 1999-11-02 2001-10-09 Alta Vista Company System and method for efficient representation of data set addresses in a web crawler
US6377984B1 (en) * 1999-11-02 2002-04-23 Alta Vista Company Web crawler system using parallel queues for queing data sets having common address and concurrently downloading data associated with data set in each queue
US6321265B1 (en) * 1999-11-02 2001-11-20 Altavista Company System and method for enforcing politeness while scheduling downloads in a web crawler
US7082454B1 (en) * 1999-11-15 2006-07-25 Trilogy Development Group, Inc. Dynamic content caching framework
JP4831555B2 (ja) 1999-11-18 2011-12-07 シェアビルダー コーポレイション 証券仲介サービスを集計する方法および装置
US6826725B1 (en) * 1999-12-16 2004-11-30 Microsoft Corporation Techniques for invoking system commands from within a mark-up language document
AU2595801A (en) * 1999-12-30 2001-07-16 Auctionwatch.Com, Inc. Minimal impact crawler
US6883135B1 (en) * 2000-01-28 2005-04-19 Microsoft Corporation Proxy server using a statistical model
US7240067B2 (en) * 2000-02-08 2007-07-03 Sybase, Inc. System and methodology for extraction and aggregation of data from dynamic content
WO2001059623A2 (en) * 2000-02-08 2001-08-16 Onepage, Inc. System and method for dynamic aggregation of content distributed over a computer network
US6952737B1 (en) * 2000-03-03 2005-10-04 Intel Corporation Method and apparatus for accessing remote storage in a distributed storage cluster architecture
US7506034B2 (en) * 2000-03-03 2009-03-17 Intel Corporation Methods and apparatus for off loading content servers through direct file transfer from a storage center to an end-user
KR100314388B1 (ko) * 2000-03-28 2001-11-29 김연종 자동 페이징을 지원하는 웹 브라우저와 웹 브라우저의 멀티뷰 생성방법 및 그 프로그램 소스를 저장한 기록매체
US7305610B1 (en) * 2000-04-06 2007-12-04 Google, Inc. Distributed crawling of hyperlinked documents
EP1154356A1 (en) * 2000-05-09 2001-11-14 Alcatel Caching of files during loading from a distributed file system
ATE386302T1 (de) * 2000-05-29 2008-03-15 Saora Kabushiki Kaisha System und verfahren zum speichern von navigierten daten
US7082470B1 (en) * 2000-06-28 2006-07-25 Joel Lesser Semi-automated linking and hosting method
US6952730B1 (en) * 2000-06-30 2005-10-04 Hewlett-Packard Development Company, L.P. System and method for efficient filtering of data set addresses in a web crawler
US6675159B1 (en) 2000-07-27 2004-01-06 Science Applic Int Corp Concept-based search and retrieval system
US6618717B1 (en) * 2000-07-31 2003-09-09 Eliyon Technologies Corporation Computer method and apparatus for determining content owner of a website
US6832220B1 (en) * 2000-08-03 2004-12-14 Microsoft Corporation Method and apparatus for file searching, accessing file identifiers from reference page
US6959326B1 (en) * 2000-08-24 2005-10-25 International Business Machines Corporation Method, system, and program for gathering indexable metadata on content at a data repository
US20020165952A1 (en) * 2000-10-20 2002-11-07 Sewell James M. Systems and methods for remote management of diagnostic devices and data associated therewith
US8122236B2 (en) 2001-10-24 2012-02-21 Aol Inc. Method of disseminating advertisements using an embedded media player page
US8918812B2 (en) 2000-10-24 2014-12-23 Aol Inc. Method of sizing an embedded media player page
US7027974B1 (en) 2000-10-27 2006-04-11 Science Applications International Corporation Ontology-based parser for natural language processing
WO2002037365A1 (en) * 2000-10-31 2002-05-10 Netscape Communications Corporation Click-to-add, jot-it-down, and add banner
US7139747B1 (en) * 2000-11-03 2006-11-21 Hewlett-Packard Development Company, L.P. System and method for distributed web crawling
JP2002149699A (ja) * 2000-11-10 2002-05-24 Hitachi Ltd データ検索装置
US20020103920A1 (en) 2000-11-21 2002-08-01 Berkun Ken Alan Interpretive stream metadata extraction
US6981030B2 (en) * 2000-11-29 2005-12-27 Ncr Corporation Private data protection method for a network kiosk
US6766316B2 (en) 2001-01-18 2004-07-20 Science Applications International Corporation Method and system of ranking and clustering for document indexing and retrieval
US20020127530A1 (en) * 2001-03-06 2002-09-12 Weakly Mark A. System and method for tracking and displaying a user's progress in a distance learning environment
US7158971B1 (en) * 2001-03-07 2007-01-02 Thomas Layne Bascom Method for searching document objects on a network
US7386792B1 (en) 2001-03-07 2008-06-10 Thomas Layne Bascom System and method for collecting, storing, managing and providing categorized information related to a document object
US7555561B2 (en) * 2001-03-19 2009-06-30 The Aerospace Corporation Cooperative adaptive web caching routing and forwarding web content data broadcasting method
ATE363693T1 (de) * 2001-03-23 2007-06-15 Siemens Ag Methode zum auffinden von dokumenten
US7739327B2 (en) * 2001-04-05 2010-06-15 Playstream Inc. Distributed link processing system for delivering application and multi-media content on the internet
US20020147775A1 (en) * 2001-04-06 2002-10-10 Suda Aruna Rohra System and method for displaying information provided by a provider
US20020176611A1 (en) * 2001-05-23 2002-11-28 Dong Mimi C. Fingerprint addressing system and method
NO20013308L (no) * 2001-07-03 2003-01-06 Wide Computing As Apparat for söking på Internett
US7089233B2 (en) * 2001-09-06 2006-08-08 International Business Machines Corporation Method and system for searching for web content
AU2002353379B2 (en) * 2001-09-20 2009-08-27 Connexity Audience, Inc. Method and system for characterization of online behavior
US20040133629A1 (en) * 2002-02-01 2004-07-08 Brian Reynolds Methods, systems and devices for automated web publishing and distribution
JP2003337699A (ja) * 2002-03-13 2003-11-28 Saora Inc 情報処理装置及びその方法、及びそのプログラムを記憶した記憶媒体
US7120641B2 (en) * 2002-04-05 2006-10-10 Saora Kabushiki Kaisha Apparatus and method for extracting data
US20030195896A1 (en) * 2002-04-15 2003-10-16 Suda Aruna Rohra Method and apparatus for managing imported or exported data
WO2003107206A1 (en) * 2002-05-08 2003-12-24 You Networks, Inc. Delivery system and method for uniform display of supplemental content
US7937471B2 (en) * 2002-06-03 2011-05-03 Inpro Network Facility, Llc Creating a public identity for an entity on a network
US8234358B2 (en) 2002-08-30 2012-07-31 Inpro Network Facility, Llc Communicating with an entity inside a private network using an existing connection to initiate communication
US7139828B2 (en) * 2002-08-30 2006-11-21 Ip Dynamics, Inc. Accessing an entity inside a private network
US7716322B2 (en) * 2002-09-23 2010-05-11 Alcatel-Lucent Usa Inc. Automatic exploration and testing of dynamic Web sites
US7509645B2 (en) * 2002-10-17 2009-03-24 Intel Corporation Methods and apparatus for load balancing storage nodes in a distributed network attached storage system
US8412766B1 (en) * 2002-10-17 2013-04-02 Cisco Technology, Inc. Method and apparatus for tracking client navigation among multiple resources in communication session information saved by a server
US7949785B2 (en) 2003-03-31 2011-05-24 Inpro Network Facility, Llc Secure virtual community network system
US20070022110A1 (en) * 2003-05-19 2007-01-25 Saora Kabushiki Kaisha Method for processing information, apparatus therefor and program therefor
US7331038B1 (en) * 2003-07-02 2008-02-12 Amazon.Com, Inc. Predictive prefetching to improve parallelization of document generation subtasks
US20050050021A1 (en) 2003-08-25 2005-03-03 Sybase, Inc. Information Messaging and Collaboration System
US20050204173A1 (en) * 2004-03-10 2005-09-15 Giga-Byte Technology Co., Ltd. Method for automatically filling in user data using fingerprint identification
US7584221B2 (en) * 2004-03-18 2009-09-01 Microsoft Corporation Field weighting in text searching
GB2417342A (en) * 2004-08-19 2006-02-22 Fujitsu Serv Ltd Indexing system for a computer file store
US7606793B2 (en) * 2004-09-27 2009-10-20 Microsoft Corporation System and method for scoping searches using index keys
US7761448B2 (en) 2004-09-30 2010-07-20 Microsoft Corporation System and method for ranking search results using click distance
US7739277B2 (en) * 2004-09-30 2010-06-15 Microsoft Corporation System and method for incorporating anchor text into ranking search results
US7827181B2 (en) * 2004-09-30 2010-11-02 Microsoft Corporation Click distance determination
US7716198B2 (en) * 2004-12-21 2010-05-11 Microsoft Corporation Ranking search results using feature extraction
US20060200460A1 (en) * 2005-03-03 2006-09-07 Microsoft Corporation System and method for ranking search results using file types
US7792833B2 (en) * 2005-03-03 2010-09-07 Microsoft Corporation Ranking search results using language types
US7444597B2 (en) * 2005-03-18 2008-10-28 Microsoft Corporation Organizing elements on a web page via drag and drop operations
US20060212806A1 (en) * 2005-03-18 2006-09-21 Microsoft Corporation Application of presentation styles to items on a web page
US20060212792A1 (en) * 2005-03-18 2006-09-21 Microsoft Corporation Synchronously publishing a web page and corresponding web page resources
US8538969B2 (en) * 2005-06-03 2013-09-17 Adobe Systems Incorporated Data format for website traffic statistics
US8984636B2 (en) 2005-07-29 2015-03-17 Bit9, Inc. Content extractor and analysis system
US7895651B2 (en) 2005-07-29 2011-02-22 Bit 9, Inc. Content tracking in a network security system
US8272058B2 (en) 2005-07-29 2012-09-18 Bit 9, Inc. Centralized timed analysis in a network security system
US7599917B2 (en) * 2005-08-15 2009-10-06 Microsoft Corporation Ranking search results using biased click distance
US8095565B2 (en) * 2005-12-05 2012-01-10 Microsoft Corporation Metadata driven user interface
US7680789B2 (en) * 2006-01-18 2010-03-16 Microsoft Corporation Indexing and searching numeric ranges
US9633356B2 (en) 2006-07-20 2017-04-25 Aol Inc. Targeted advertising for playlists based upon search queries
US9165040B1 (en) 2006-10-12 2015-10-20 Google Inc. Producing a ranking for pages using distances in a web-link graph
US20080104257A1 (en) * 2006-10-26 2008-05-01 Yahoo! Inc. System and method using a refresh policy for incremental updating of web pages
US8745183B2 (en) * 2006-10-26 2014-06-03 Yahoo! Inc. System and method for adaptively refreshing a web page
US20080104502A1 (en) * 2006-10-26 2008-05-01 Yahoo! Inc. System and method for providing a change profile of a web page
US20080263193A1 (en) * 2007-04-17 2008-10-23 Chalemin Glen E System and Method for Automatically Providing a Web Resource for a Broken Web Link
US20090055436A1 (en) * 2007-08-20 2009-02-26 Olakunle Olaniyi Ayeni System and Method for Integrating on Demand/Pull and Push Flow of Goods-and-Services Meta-Data, Including Coupon and Advertising, with Mobile and Wireless Applications
CN101409634B (zh) * 2007-10-10 2011-04-13 中国科学院自动化研究所 基于信息检索的互联网新闻影响力定量分析工具及方法
US9348912B2 (en) * 2007-10-18 2016-05-24 Microsoft Technology Licensing, Llc Document length as a static relevance feature for ranking search results
US7840569B2 (en) * 2007-10-18 2010-11-23 Microsoft Corporation Enterprise relevancy ranking using a neural network
US20090106221A1 (en) * 2007-10-18 2009-04-23 Microsoft Corporation Ranking and Providing Search Results Based In Part On A Number Of Click-Through Features
US20090210423A1 (en) * 2008-02-15 2009-08-20 Yahoo! Inc. Methods and systems for maintaining personal data trusts
US8812493B2 (en) * 2008-04-11 2014-08-19 Microsoft Corporation Search results ranking using editing distance and document information
CN101309292B (zh) * 2008-06-06 2012-02-15 中国联合网络通信集团有限公司 一种无线互联网sp业务url的记录方法及系统
US9684907B2 (en) 2008-08-21 2017-06-20 Dolby Laboratories Licensing Corporation Networking with media fingerprints
US8677018B2 (en) * 2008-08-25 2014-03-18 Google Inc. Parallel, side-effect based DNS pre-caching
CN102264563A (zh) * 2008-10-23 2011-11-30 Bsst有限责任公司 带有热电装置的多模式hvac系统
US8738635B2 (en) 2010-06-01 2014-05-27 Microsoft Corporation Detection of junk in search result ranking
US8484373B2 (en) * 2010-10-25 2013-07-09 Google Inc. System and method for redirecting a request for a non-canonical web page
US8793706B2 (en) 2010-12-16 2014-07-29 Microsoft Corporation Metadata-based eventing supporting operations on data
US9495462B2 (en) 2012-01-27 2016-11-15 Microsoft Technology Licensing, Llc Re-ranking search results
CA2779235C (en) 2012-06-06 2019-05-07 Ibm Canada Limited - Ibm Canada Limitee Identifying unvisited portions of visited information
CN102831249A (zh) * 2012-09-19 2012-12-19 河南锐之旗信息技术有限公司 一种静态页面生成方法
CN103678571B (zh) * 2013-12-09 2017-01-25 中国科学院深圳先进技术研究院 应用于单台多核处理器主机的多线程网络爬虫执行方法
CN104331511B (zh) * 2014-11-24 2018-02-09 飞狐信息技术(天津)有限公司 静态页面更新方法及装置
US9916320B2 (en) * 2015-04-26 2018-03-13 International Business Machines Corporation Compression-based filtering for deduplication
US10268465B2 (en) * 2016-10-24 2019-04-23 International Business Machines Corporation Executing local function call site optimization
CN110008392A (zh) * 2019-03-07 2019-07-12 北京华安普特网络科技有限公司 一种基于网络爬虫技术的网页篡改检测方法

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4323968A (en) * 1978-10-26 1982-04-06 International Business Machines Corporation Multilevel storage system having unitary control of data transfers
US4847830A (en) * 1987-12-02 1989-07-11 Network Equipment Technologies, Inc. Method and apparatus for automatic loading of a data set in a node of a communication network
US5291601A (en) * 1989-06-01 1994-03-01 Hewlett-Packard Company Shared libraries implemented with linking program loader
US5010344A (en) * 1989-12-28 1991-04-23 International Business Machines Corporation Method of decoding compressed data
US5604899A (en) * 1990-05-21 1997-02-18 Financial Systems Technology Pty. Ltd. Data relationships processor with unlimited expansion capability
EP0463874A2 (en) * 1990-06-29 1992-01-02 Digital Equipment Corporation Cache arrangement for file system in digital data processing system
US5204958A (en) * 1991-06-27 1993-04-20 Digital Equipment Corporation System and method for efficiently indexing and storing a large database with high data insertion frequency
US5357617A (en) * 1991-11-22 1994-10-18 International Business Machines Corporation Method and apparatus for substantially concurrent multiple instruction thread processing by a single pipeline processor
WO1994028497A1 (en) * 1993-05-20 1994-12-08 Moore Business Forms, Inc. Computer integration network for channeling customer orders through a centralized computer to various suppliers
US5493676A (en) * 1993-06-29 1996-02-20 Unisys Corporation Severe environment data recording system
US5467264A (en) * 1993-06-30 1995-11-14 Microsoft Method and system for selectively interdependent control of devices
US5708780A (en) * 1995-06-07 1998-01-13 Open Market, Inc. Internet server access control and monitoring systems
US5712979A (en) * 1995-09-20 1998-01-27 Infonautics Corporation Method and apparatus for attaching navigational history information to universal resource locator links on a world wide web page

Also Published As

Publication number Publication date
US6032196A (en) 2000-02-29
KR100330576B1 (ko) 2002-05-09
EP1241594A3 (en) 2005-03-09
CA2240350A1 (en) 1997-06-19
AU1417597A (en) 1997-07-03
JPH10512699A (ja) 1998-12-02
CN1202257A (zh) 1998-12-16
CN1811757A (zh) 2006-08-02
US5974455A (en) 1999-10-26
KR19990064246A (ko) 1999-07-26
AU694386B2 (en) 1998-07-16
EP3086246A3 (en) 2016-11-30
BR9611149A (pt) 1999-03-30
EP1241594A2 (en) 2002-09-18
CN1811757B (zh) 2010-12-22
EP3086246A2 (en) 2016-10-26
TW311996B (zh) 1997-08-01
JP3160719B2 (ja) 2001-04-25
WO1997022069A1 (en) 1997-06-19
EP0867007A1 (en) 1998-09-30
ZA9610561B (en) 1998-07-08

Similar Documents

Publication Publication Date Title
CN1192317C (zh) 用于定位万维网页以及计算机网络文件的系统和方法
US10210256B2 (en) Anchor tag indexing in a web crawler system
US9411889B2 (en) Assigning document identification tags
JP3057061B2 (ja) データ処理システムにおけるプロセッサ・インテンシブ・オペレーションを処理する方法及びシステム
US8417746B1 (en) File system management with enhanced searchability
CN1200378C (zh) 预取信息的方法,系统和服务器
US8417686B2 (en) Web crawler scheduler that utilizes sitemaps from websites
US8209325B2 (en) Search engine cache control
US7809882B1 (en) Session independent backend data cache system
CN1629823A (zh) 生成内容地址以指示即将写入存储系统的数据单元的方法和设备
CN1601526A (zh) 用于在计算机网络内搜索的方法和设备
US20130117252A1 (en) Large-scale real-time fetch service
US20050165718A1 (en) Pipelined architecture for global analysis and index building
US7836108B1 (en) Clustering by previous representative
KR102116176B1 (ko) M2m 시스템에서의 시맨틱 리소스 검색 방법
WO2003052637A2 (en) Preparing associated files for storage in a server
EP1454268B1 (en) Electronic file management
JP2004265421A (ja) 選択されたオブジェクトに関する情報の要求を生成するためのシステムおよび方法
JP5048072B2 (ja) 情報検索システム、情報検索方法及びプログラム
CN1751307A (zh) 一种用于存储和检索任意内容和应用数据的设计
JP2004318243A (ja) 情報検索装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
ASS Succession or assignment of patent right

Owner name: ALTA VIST CO., LTD.

Free format text: FORMER OWNER: DIGITAL EQUIPMENT CORP.

Effective date: 20051230

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20051230

Address after: American California

Patentee after: Alta Vista

Address before: Massachusetts USA

Patentee before: Digital Equipment Corporation

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20090306

Address after: American California

Patentee after: Yahoo Corp.

Address before: American California

Patentee before: Overture Services Inc.

ASS Succession or assignment of patent right

Owner name: YAHOO| CO.,LTD.

Free format text: FORMER OWNER: WAFUL TOURS SERVICES

Effective date: 20090306

ASS Succession or assignment of patent right

Owner name: FEIYANG MANAGEMENT CO., LTD.

Free format text: FORMER OWNER: YAHOO CORP.

Effective date: 20150331

TR01 Transfer of patent right

Effective date of registration: 20150331

Address after: The British Virgin Islands of Tortola

Patentee after: Fly upward Management Co., Ltd

Address before: American California

Patentee before: Yahoo Corp.

CX01 Expiry of patent term

Granted publication date: 20050309

EXPY Termination of patent right or utility model