CN1755676A - 用于网络文档批处理索引的系统和方法 - Google Patents

用于网络文档批处理索引的系统和方法 Download PDF

Info

Publication number
CN1755676A
CN1755676A CNA2005100847076A CN200510084707A CN1755676A CN 1755676 A CN1755676 A CN 1755676A CN A2005100847076 A CNA2005100847076 A CN A2005100847076A CN 200510084707 A CN200510084707 A CN 200510084707A CN 1755676 A CN1755676 A CN 1755676A
Authority
CN
China
Prior art keywords
document
batch
storer
documents
change journal
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.)
Granted
Application number
CNA2005100847076A
Other languages
English (en)
Other versions
CN1755676B (zh
Inventor
D·J·李
D·梅耶宗
K·皮尔特能
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.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft 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 Microsoft Corp filed Critical Microsoft Corp
Publication of CN1755676A publication Critical patent/CN1755676A/zh
Application granted granted Critical
Publication of CN1755676B publication Critical patent/CN1755676B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

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/95Retrieval from the web
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs

Abstract

一过程利用了宿有网站的服务器的结构,所述结构包含数据库中存储的变化日志,用于为搜索查询批处理索引文档。该站点的内容被批处理并成批的从服务器运送至索引程序。变化日志能追踪站点内容的变化,索引程序增量地请求使用变化日志来更新索引,并且对变化进行批处理,从而能减少带宽使用和处理器开销的成本。

Description

用于网络文档批处理索引的系统和方法
技术领域
相关应用的交叉引用
该发明与专利号为09/493,748,名为“使用静态模型的自适应网络爬行(Adaptive Web Crawling Using a Statistical Model)”,2000年1月28日提交的专利申请相关。该发明同样也和美国专利号为6067541,题名为“在永久日志中存储文档变化信息的文件系统中监视文档变化(Monitoring Document Changes in a FileSystem of Documents with the Document Change Information Stored in a PersistentLog)”,该专利是在2000年5月23日公布的。相关的申请和专利被转让给现有专利申请的受让人并且在此与参考文献相结合。
背景技术
在网络和文件系统中搜索内容有很多种形式,但是最普通的是各种搜索引擎。搜索引擎就是一个能够在网络上的文档中搜索特定的关键词并返回关键词所在的文档列表的程序。通常网络上的文档都事先由网络“爬行”标识。
网络爬行是指使用网络爬行程序,或者是爬行器来标识在网络中存在的文档。一个爬行器就是一个计算机程序,在进行网络爬行的时候能够自动发现并收集来自一个或者多个网络地点的文档。爬行是通过提供给爬行器一组文档地址作为爬行的种子以及一组爬行的限制规则来定义爬行的范围而开始。爬行器递归地收集在爬行过程中检索的文档中所参考的链接文档的网络地址。爬行器检索来自某个网站的文档,处理所接收到的来自文档的文档数据,并准备数据供其他程序后续处理。举例说明,爬行器可以用检索到的数据来创建一个在内部网络或是互联网可用的文档索引。一个“搜索引擎”然后可以使用这个索引来定位满足特定标准的文档。
为了在爬行中检索文档,在网上将对每个文档进行一次操作来获取文档,并用文档的记录来填充索引。这些文档的来回查询将会消耗大量的与带宽和处理器使用相关的开销。同样,为使搜索引擎即将提供精确的结果,索引需要与网络文档精确相关。如果网络上的文档发生变化,通过修改、增加、删除文档或者是其他操作,索引也将进行更新来反映这些变化。然而,网络爬行会是昂贵的操作。在网上不得不进行的来回会使索引程序和网络间可用的带宽负担过度。
发明内容
本发明的实施例涉及用于网站批处理索引的系统和方法,其用来缓解在为文档网络爬行时所使用的带宽。本发明利用了一个宿有网站的服务器结构,该结构包括在数据库或其他储存库中存储的变化日志。该项发明批处理网站的内容并将该内容成批地从服务器运至索引程序。
按照本发明一方面,设置批处理尺寸来把文档批量发送至索引程序。与每个文档相应的元数据会被检验,文档也会被选择来包含至批中。随后发送文档批至索引程序。
按照本发明一方面,网络中的所有变化都被记录到变化日志中。变化日志记录了添加、移除、修改、移动、重命名以及其他文档修改操作。变化日志说明发生变化的文档。一般来说,网络上的大多数文档在两次爬行之间是不会改变的,但是如果没有变化日志的话,将会要求一爬行器对每一个文档进行一次来回以得到上一次修改时间。通过使用服务调用(service call)来批处理指定数量的变化,索引程序可以从变化日志来检索文档。服务调用可以避免重复操作来检索已经发生变化的文档,并且反而允许在同一时间向索引程序转发大量变化。相应地,减少了要求发送至网络的数据库查询次数,有效地减少了更新索引的开销。
附图说明
图1说明了可在本发明一示例性实施例中使用的示例性计算设备。
图2说明了本发明在其中运行的联网系统的示例性结构。
图3说明了按照本发明、在索引程序和服务器之间用于批处理网络文档的示例性通信系统的功能框图。
图4说明了按照本发明、在初始爬行过程中的示例性批处理索引的逻辑流程图。
图5说明了按照本发明的变化日志的功能框图。
图6说明了按照本发明、在初始爬行过程中初始化变化日志的使用的示例性过程的逻辑流程图。
图7说明了按照本发明、增量爬行的示例性过程的逻辑流程图。
具体实施方式
以下将参照附图更全面地描述本发明,附图形成了本发明的一部分,通过图示指出用于实施本发明的特定示例性实施例。然而,本发明可能体现在各种不同形式中,而且不应该只局限于本文所提出的这些实施例;而是应该提供这些实施例使公开内容更为透彻和完整,并且向本领域技术人员传达本发明的范围。除此之外,本发明可以通过方法或是设备来实现。相应地,本发明将采用以下形式:全部硬件实施例、全部软件实施例或是组合软硬件方面的实施例。因此接下来的详细描述是不仅仅局限于此的。
说明性操作环境
参考图1,实现本发明的一个示例性系统包括一个计算设备,如计算设备100。计算设备100可以被配置为客户端、服务器、移动设备或是任何其他计算设备。从基本配置来看,计算设备100一般包括至少一个处理单元102和系统存储器104。根据计算设备的确切配置和类型,存储器104可以是易失性的(如RAM)或是非易失性的(如ROM,闪存等)或是两者地结合。系统存储器104一般包含操作系统105、一个或多个应用106、可能还包含程序数据107。在一个实施例中,应用106包含用于实现本发明功能的批处理索引应用120。图1中用虚线108内的组件说明了这一基本配置。
计算设备100可以具有额外的功能或特性,举例而言,计算设备100可以包括额外的数据存储设备(可移动的或是不可移动的),如磁盘、光盘或是磁带。图1中用可移动存储器109和不可移动存储器110说明了这些额外的存储器。计算机存储媒介可以包含以任一信息存储方法或技术实现的易失性和非易失性、可移动和不可移动的媒介,所述方法或技术如计算机可读指令、数据结构、程序模块或是其他数据。系统存储器104、可移动存储器109和不可移动存储器110都是计算机存储媒介的例子。计算机存储媒介包含,但不只局限于,RAM、ROM、EEPROM、闪存或是其他存储技术、CD-ROM、数字化视频光盘(DVD)或是其他光学存储、磁带、磁盘存储或是其他磁性存储设备,或者是任何可以用来存储所需信息并且计算设备100可访问的媒介。任何这样的存储媒介都是设备100的一部分。计算设备100还可以包含输入设备112,如键盘、鼠标、笔、语音输入设备、触摸输入设备等。输出设备114如显示器,扬声器,打印机等也可以包含在内。
计算设备100也包含允许设备和其他通信设备118如通过网络来进行通信的通信连接116。通信连接116是通信媒介的一种。通信连接一般通过已调数据信号中的计算机可读指令、数据结构、程序模块或是其他数据来体现,所述已调数据信号如载波或是其他传输机制,并且包括任何信息传送媒介。术语“已调数据信号”是指其一个或多个特性以对信号编码的方式来设置或改变的信号。通过示例,通信媒介包含有线媒介,如有线网络或直线连接,以及包括无线媒介,如声学、射频、红外或是其他无线媒介。在这里所用的术语“计算机可读媒介”包含存储媒介和通信媒介两者。
用于批处理索引的说明性实施例
在接下来的描述和权利要求中,术语“文档”是指可以作为网络的搜索查询或爬行的结果被返回的任一可能资源,如网络文档、文件、文件夹、网页或是其他资源。
图2说明了本发明在其中运行的联网系统的示例性架构。服务器204包含在其中执行的爬行器206。爬行器206搜索分布在一个或是多个与网络216相连接的计算设备上的文档,所述计算设备如图2所示的远程设备。网络216可以是允许服务器204和其他远程设备如远程服务器直接或间接通信的局域网、广域网或是两种网络的组合。
爬行器206搜索(爬行)与网络216连接的远程服务器218中是否有文档222和224。爬行器206检索文档作为文档数据。来自于文档222和224的文档数据就可以用在各种应用中了。举例而言,爬行器206可以把文档数据传递至索引程序208。索引程序208是一个保持文档的索引210的计算机程序。存储在索引210中的信息类型取决于索引程序208的复杂性。
按照本发明,可以配置索引程序208和远程服务器218根据web服务250来运行。举例而言,远程服务器218可根据由微软公司(位于华盛顿Redmond)提供的Windows SharePoint Service(视窗共享服务)技术来配置,以包括web服务250。相应地,一个网页服务调用可用于查询web服务250是否有位于远程服务器218上的文档。随后web服务与应用编程接口(API)通信,该接口由与远程服务器218上的文档相关联的数据库所提供。该应用编程接口会枚举在数据库中现有的文档并且允许由索引程序208返回和索引与文档相对应的文档数据。相应地,由于多组文档数据从单个web服务调用返回,因此大大减少了到远程服务器218的来回过程。返回结果将会被有效地在一起批处理。其他实施例可以在提供网络文档的批处理索引时使用远程服务器218上的其他常驻码,或是使用其他通信协议而非web服务调用。位于索引程序和web服务之间通信的详细描述将由图3提供。
客户计算机214,如个人电脑可通过网络212连接至服务器。网络212可以是局域网、广域网或是两者的结合。网络212可以是和网络216同样的,也可以是不同的网络。客户计算机214包含一个给使用者定位和显示文档的计算机程序,如“浏览器”215。
当位于客户计算机214的用户想搜索一个或多个文档时,客户计算机214发送一个搜索请求到搜索引擎230。搜索引擎230检验它的相关索引210来寻找与搜索请求相关的文档。搜索引擎230会向客户计算机214处的浏览器215返回这些文档的列表。用户可以检验这些文档列表并且检索来自远程计算设备如远程服务器218的一个或多个文档。
在另一个实施例中,服务器214自身包含爬行器206可访问的文档232和234。同样,爬行器206、索引程序208和搜索引擎230也可以位于不同计算机上。相应地,浏览器215和爬行器206可位于同一台计算机上。
图3说明了按照本发明、在索引程序和服务器之间的用于网络文档批处理索引的示例性通信系统的功能框图。系统300包含索引程序302和服务器310。服务器310包含前端312和数据库314。前端312包含web服务320和对象模型322。
索引程序302包含位于网络上的文档的索引。索引程序可以和服务器310通信,然而其他中间功能模块可以便于索引程序302和服务器310之间的通信。举例而言,图2说明了通过网络216在索引程序208和远程服务器218之间提供通信的爬行器206。在至少一个实施例中,中间功能模块并不会影响本发明的功能性,因此以下不予说明。
索引程序302与web服务320通信来为索引获取文档数据。web服务320又与对象模型322通信请求来自数据库314的文档数据。在一实施例中,数据库314是根据所说明的层次330来组织的。层次330结构类似于包含子站点的站点结构。每个子站点包含可以进一步含有其他包含符或文档的一个或多个包含符。在一实施例中,层次330的结构与计算设备的文件系统类似。
对于初始爬行,索引程序302意识到与服务器310相关的站点,且索引程序302向web服务320提供一web服务调用以请求关于该站点的信息。该请求通过web服务320被转发至对象模型322。对象模型322为数据库314内包含的站点的每一个文档、包含符以及子站点提供对象。在其他实施例中,数据库314中的其他结构也可以带有对象模型322所提供的对象(如列表、列表项、文档库等)。对象模型322把子站点对象列表返回至web服务320,web服务320再将该列表作为URL(统一资源定位符)列表传播至索引程序302。在一实施例中,根据本发明的批处理功能,当子站点数目小于特定数值时,子站点列表并不被提供给索引程序。
通过使用子站点列表时,索引程序302提供用来请求关于每个子站点的信息的web服务调用,与之前请求关于站点的信息的web服务调用相似。该请求被再次通过web服务210转发至对象模型322。对象模型322随后返回一列表至索引程序302,该列表关于对其作出请求的子站点内的包含符。在一实施例中,根据本发明的批处理功能,在子站点数目小于特定数值时,不能向索引程序提供子站点列表。数据库层次中包含符、文档或其它对象相关结构的批处理包含:检验关于结构相关对象的元数据,以及收集一批中的结构用于传输至索引程序302。接下来图4中描述的是用于站点批处理索引的示例性过程。
图4说明了按照本发明、在初始爬行过程中的示例性过程批处理索引的逻辑流程图。过程400从方框402开始,此处索引程序把web服务调用发送到一服务器,该服务器上宿有请求用于索引的文档数据的网络站点。处理在方框404继续。
在方框404中,web服务为多达N个文件获取文档元数据,其中N按照特定的限制来设置(如1000次)。文档元数据通过web服务从数据库检索。在其他实施例中,这些项的限制可能设为另一限制,或是可能没有相关的限制。元数据包括文档扩展、文档大小以及其他有助于批处理文档用于传输至索引程序的元数据。在另一实施例中,包含符可能大于N项。如果包含符包含大于N项,web服务就会返回可在下一个web服务调用中传输的cookie,这样web服务就会知道要从数据库中获取下一批N个文档。一旦web服务检索到文档元数据,流程将在方框406继续。
在方框406,爬行器处理web服务检索到的元数据并根据批处理大小限制将与元数据相关的文档组成批次。在一实施例中,批处理大小限制与以字节表示的批处理大小相关(如50MB)。在另一实施例中,批处理大小限制与在批中包括的文档数量相关。在还有一个实施例中,索引程序设定最大限制,随后由web服务为批处理文档决定小于最大限制的有效尺寸。有效尺寸的决定是与批处理大小相应的,在使索引程序和服务器之间带宽使用最小的同时使对数据库的查询次数最小。
在一实施例中,与文档扩展名(如mpg)相关的一定类型的文档可能会从批中排除。举例而言,为了向搜索查询提供有意义结果而必须首先提供的特定文档并不能收益于批处理索引,因此在文档提供后必须通过其他方式获取。其他文档,如电影,可能也不能为使用搜索引擎的关键词搜索提供有意义的结果,因此也可以从批处理索引中排除。在另一实施例中,文档的大小可能从批处理索引中排除。举例而言,当文档大小超过批处理大小限制时(如大于50k),文档通过其他方式检索(如其他“获取文档”操作)。一旦文档被批处理,处理就进行至方框408。
在方框408,爬行器向web服务请求文档的批处理。Web服务从数据库获取文档批处理并把文档返回至爬行器。一旦爬行器接收到文档批处理,处理就进行至决定框410。
在决定框410,确定是否需要通过爬行器对应于所检索的文档元数据而检索更多的批次。如需要检索更多批次,处理就返回方框408。然而,如果不需要进行进一步检索,则处理继续到方框412。
在方框412,与检索到的批次对应的文档从爬行器被转发至索引程序,这样文档被索引。因此根据文档变化来更新索引。一旦文档被转发,处理就进行至决定框414。
在决定框414,确定cookie是否与为N个文档请求元数据的web服务调用相关联。当包含符中的文档数目大于N时,Cookie保证了特定包含符的文档与同一包含符的其他文档相关以便索引。如果有一个与文档相关的cookie,处理就返回至方框404,其中对于下一组与cookie相关的N文档重复过程400。然而,如果不存在与文档相关的cookie,处理就进行至方框416,此时过程400终止。
过程400把本发明的初始批处理索引过程描述为和文档的单个包含符有关。文档的许多包含符可能存在于网络上,根据需要重复过程400以便为网络上的所有文件进行批处理索引。
图5说明了按照本发明的变化日志的功能框图。变化日志500包括多个变化记录(如502),其构成使得当网络上的文档发生变化时,变化日志才会被变化记录有效地“填充”。在某些点(如504和506)会发生一个新的爬行,记录在更新的索引中所反映的与上一次变化记录相关联的索引更新和变化ID(如514)。在一实施例中,变化日志500被存储在服务器的数据库中(如图3中数据库314)。
每一个变化记录(如502)都包含一事件类型510、一对象标识512和一变化ID(如标记)514。事件类型510是指与变化记录相应地发生的变化事件的类型。一些事件类型包含添加、移除、修改、移动和重命名事件。这些事件根据对象标识512与一特定文档相关。对象标识512是指足以识别与变化文档相关的特定对象的标识信息。对象标识512内包含的一些示例性信息包括:文档ID、包含符ID、对象ID以及/或其他用来识别与变化文档相应的对象的标识信息。变化ID 514识别变化记录本身,并提供在变化日志500中发生的当前更新过程的指示。
变化日志中发生上一次更新的点(例如504和506)可以根据上一次变化ID或当前变化ID来标识。上一次变化ID是指在变化日志中已经用索引反映出来的上一次变化的位置标识。当前变化ID是指变化日志中查询变化日志位置时的当前位置标识。当索引程序请求时,在上一次变化ID(如504)和当前变化ID(如506)之间发生的变化批处理用来更新索引。利用变化日志进行批处理索引的过程在接下来的图6和7中讨论。
图6说明了按照本发明、在初始爬行过程中初始化变化日志的使用的示例性过程的逻辑流程图。过程600始于方框602,该处索引开始初始爬行。处理继续进行至方框604。
在方框604,web服务从索引程序接收对变化日志中当前位置的请求。处理继续进行至方框606。
在方框606中,web服务把对变化日志中对当前位置的请求转发至数据库,此处请求对应于对变化日志中上一次变化ID的请求。一旦请求通过web服务转发,处理就转至方框608。
在方框608,变化日志的上一次变化ID由web服务转发至索引程序。索引程序存储上一次变化ID用于在以后增量爬行中使用。在接下来的图7中讨论了增量爬行过程。一旦索引程序存储了上一次变化ID,处理转移至方框610,此处过程600终止。
在一实施例中,多个变化日志可以位于与多个数据库相对应的服务器上。对于多个变化日志,上一次变化ID在返回至索引程序之前进行合计。
图7说明了按照本发明的增量爬行示例性过程的逻辑流程图。过程700始于方框702,此处索引程序开始增量爬行。处理继续至方框704。
在方框704中,web服务从索引程序接收到对于变化内容的请求。该请求包含索引程序之前存储的上一次变化ID(视上图6)。一旦web服务接收到请求,则处理转至方框706。
在方框706中,该请求被转发到数据库,作为对自变化日志中的位置对应于上一次变化ID时在变化日志中发生的变化的请求。一旦数据库接收到这一请求,处理就继续至方框708。
在方框708中,web服务检索在上一次变化ID之后发生的第一批变化。在一实施例中,变化批次对应于在上一次变化ID之后出现的前1000个变化记录。web服务同样检索当前变化ID。一旦检索到变化批次和当前变化ID,处理就转至方框710。
在方框710中,保存变化批次记录用来检索变化内容。举例而言,在同一包含符内发生在文档上的变化被分类重组。对用来检索变化内容的变化记录进行分类减少了对象模型对数据库的查询次数。一旦变化记录被分类并且变化内容被检索,处理就移至方框712。
在方框712中,文档中与从变化日志检索的变化记录批次相对应的批处理变化被转发至索引程序。同样被转发至索引程序的是由索引程序存储的当前变化ID。索引程序使用当前变化ID作为下一次增量爬行的上一次变化ID。一旦当前变化ID被索引程序存储,并且已经根据转发的变化内容更新了索引,则处理移至方框714,此处过程700终止。
在一实施例中,多个变化日志可以位于与多个数据库对应的服务器上。对于多个变化日志,当前变化ID和变化内容在被返回至索引程序之前会得到合计。
上诉说明书、例子以及数据提供了一个完整的生产描述以及发明的组合使用。由于本发明的许多实施例可以不背离本发明的理念和范围而作出,本发明存在于在随后所附的权利要求中。

Claims (25)

1.用于对存储器中的文档进行批处理索引的计算机实现的方法,包含:
获取来自存储器的第一批次文档;
索引第一批次文档;
从变化日志获取自前一次存取变化日志后已经改变的文档列表;
获取与列表对应的来自存储器的第二批次文档;以及
索引第二批次文档。
2.如权利要求1所述的计算机实现的方法,进一步包含在变化日志中记录上一次更新位置,所述变化日志包括与第二批次文档的变化相对应的记录。
3.如权利要求2所述的计算机实现的方法,其特征在于,与变化相对应的每一个记录都包含事件类型、变化标识符以及文档标识中的至少一个。
4.如权利要求1所述的计算机实现的方法,进一步包含设置一批处理大小限制,该限制用来限制第一批次文档的大小。
5.如权利要求1所述的计算机实现的方法,其特征在于,获取第一批次文档进一步包括获取与存储器中每一个文档相对应的元数据,以确定第一批次中包含存储器中的哪些文档。
6.如权利要求5所述的计算机实现的方法,其特征在于,所述元数据与文档大小和文档扩展中的至少一个相对应。
7.如权利要求1所述的计算机实现的方法,其特征在于,获取第一批次文档进一步包括在第一批次文档对应于一文档包含符时把一个cookie和第一批次文档相关联,所述文档包含符包含了大于第一批次文档的多个文档。
8.如权利要求1所述的计算机实现的方法,进一步包含在从变化日志获取已经发生变化的文档列表之前接收对变化的请求。
9.如权利要求1所述的计算机实现的方法,进一步包含根据与一存储器相关的层次对已发生变化的文档列表分类,时的获取第二批次文档要求较少的对存储器的请求。
10.一种对存储器中的文档进行批处理索引的系统,包含:
用于搜索查询批处理文档的索引程序;
一个安排为服务器的计算设备,该服务器配置为执行计算机可执行指令,计算机可执行指令包含:
从存储器获取第一批次文档;
把第一批次文档转发至索引程序;
从变化日志获取自前一次存取变化日志后已经发生变化的文档列表;
从存储器获得与所述列表相对应的第二批次文档;以及
把第二批次文档转发至索引程序。
11.如权利要求10所述的系统,进一步包含在变化日志中记录上一次更新位置,其中变化日志包括与第二批次文档中的变化相对应的记录。
12.如权利要求11所述的系统,其特征在于,与变化相对应的每一个记录都包含事件类型、变化标识符和文档标识中的至少一个。
13.如权利要求10所述的系统,进一步包含设置限制第一批次文档大小的批处理大小限制。
14.如权利要求10所述的系统,其特征在于,获取第一批次文档进一步包含获取与存储器中每一个文档对应的元数据以确定在第一批次文档中应包含存储器中的哪些文档。
15.如权利要求14所述的系统,其特征在于,所述元数据与文档尺寸和文档扩展中的至少一项相对应。
16.如权利要求10所述的系统,其特征在于,获取第一批次文档进一步包含当第一批次文档对应于一文档包含符时,把一个cookie和第一批次文档相关联,所述文档包含符包含大于第一批次文档的多个文档。
17.如权利要求10所述的系统,进一步包含在从变化日志获取已发生变化的文档列表之前接收对变化的请求。
18.如权利要求10所述的系统,进一步包含根据与存储器有关的层次来对已发生变化的文档列表进行分类,使得获取第二批次文档要求较少的对存储器的请求。
19.包含用于对存储器中的文档进行批处理索引的计算机可执行指令的计算机可读媒介,所述指令包含:
从存储器获取第一批次文档;
把第一批次文档转发至索引程序;
在变化日志中记录上一次更新位置,其中所述变化日志包括与第二批次文档内的变化相对应的记录;
把上一次更新位置转发至索引程序;
从变化日志获取自上一次更新位置后已发生变化的文档列表;
在变化日志中记录当前更新位置;
从存储器获取与所述列表相对应的第二批次文档;以及
把第二批次文档和当前更新位置转发至索引程序。
20.如权利要求19所述的计算机可读媒介,其特征在于,与变化相对应的每一个记录都包含事件类型、变化标识符和文档标识中的至少一个。
21.如权利要求19所述的计算机可读媒介,其特征在于,获取第一批次文档进一步包含获取与在存储器中每一个文档相对应的元数据以确定在第一批次文档中包含存储器中的哪些文档。
22.如权利要求21所述的计算机可读媒介,其特征在于,所述元数据与文档大小和文档扩展中的至少一个相对应。
23.如权利要求19所述的计算机可读媒介,其特征在于,获取第一批次文档进一步包含当第一批次文档对应于一文档包含符时,把一个cookie和第一批次文档相关联,所述文档包含符包含大于第一批次文档的多个文档。
24.如权利要求19所述的计算机可读媒介,进一步包含根据与存储器相关层次对已发生变化的文档列表进行分类,使得获取第二批次文档要求较少的对存储器的查询。
25.如权利要求19所述的计算机可读媒介,进一步包含:当使用额外存储器为索引程序提供文档时,在把上一次更新位置和当前更新位置转发至索引程序之前,将上一次更新位置和其他上一次更新位置合计,并且将当前更新位置和其他更新位置合计。
CN2005100847076A 2004-09-30 2005-07-11 用于网络文档批处理索引的系统和方法 Expired - Fee Related CN1755676B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/956,891 2004-09-30
US10/956,891 US7644107B2 (en) 2004-09-30 2004-09-30 System and method for batched indexing of network documents

Publications (2)

Publication Number Publication Date
CN1755676A true CN1755676A (zh) 2006-04-05
CN1755676B CN1755676B (zh) 2013-01-23

Family

ID=35613902

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2005100847076A Expired - Fee Related CN1755676B (zh) 2004-09-30 2005-07-11 用于网络文档批处理索引的系统和方法

Country Status (5)

Country Link
US (1) US7644107B2 (zh)
EP (1) EP1643388A1 (zh)
JP (1) JP2006107446A (zh)
KR (1) KR100971863B1 (zh)
CN (1) CN1755676B (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101510217B (zh) * 2009-03-09 2013-06-05 阿里巴巴集团控股有限公司 图像数据库中的图像更新方法、服务器及系统
CN104169950A (zh) * 2012-04-26 2014-11-26 艾玛迪斯简易股份公司 利用面向批处理的计算的数据库系统
CN106484840A (zh) * 2016-09-30 2017-03-08 上海聚力传媒技术有限公司 自动更新垂直检索索引的方法和装置
WO2018041101A1 (zh) * 2016-08-29 2018-03-08 中兴通讯股份有限公司 数据查询、数据查询处理方法及装置
CN111930702A (zh) * 2020-08-14 2020-11-13 工银科技有限公司 日志处理方法、装置、系统及介质
CN112860649A (zh) * 2021-02-03 2021-05-28 深圳市木浪云数据有限公司 增量生成索引的方法、装置及系统

Families Citing this family (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7606793B2 (en) * 2004-09-27 2009-10-20 Microsoft Corporation System and method for scoping searches using index keys
WO2007109249A2 (en) * 2006-03-20 2007-09-27 American Express Travel Related Services Company, Inc. System and method for an improved merge utility
KR100790991B1 (ko) 2006-03-22 2008-01-03 삼성전자주식회사 데이터베이스 관리 시스템을 이용하여 파일시스템의메타데이터를 관리하는 방법
US8108388B2 (en) * 2006-04-26 2012-01-31 Microsoft Corporation Significant change search alerts
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
US9348912B2 (en) * 2007-10-18 2016-05-24 Microsoft Technology Licensing, Llc Document length as a static relevance feature for ranking search results
US8458727B2 (en) * 2007-11-05 2013-06-04 Microsoft Corporation Asynchronous client to server updates
US20090193406A1 (en) * 2008-01-29 2009-07-30 James Charles Williams Bulk Search Index Updates
US8812493B2 (en) * 2008-04-11 2014-08-19 Microsoft Corporation Search results ranking using editing distance and document information
US20090327295A1 (en) * 2008-06-25 2009-12-31 Microsoft Corporation Maintenance of exo-file system metadata on removable storage device
US8001462B1 (en) 2009-01-30 2011-08-16 Google Inc. Updating search engine document index based on calculated age of changed portions in a document
US8738635B2 (en) 2010-06-01 2014-05-27 Microsoft Corporation Detection of junk in search result ranking
US8332408B1 (en) 2010-08-23 2012-12-11 Google Inc. Date-based web page annotation
US9235620B2 (en) 2012-08-14 2016-01-12 Amadeus S.A.S. Updating cached database query results
EP2541473A1 (en) 2011-06-27 2013-01-02 Amadeus S.A.S. Method and system for a pre-shopping reservation system with increased search efficiency
US9495462B2 (en) 2012-01-27 2016-11-15 Microsoft Technology Licensing, Llc Re-ranking search results
JP5887236B2 (ja) * 2012-09-24 2016-03-16 株式会社日立ソリューションズ 業務文書処理装置、業務文書処理方法及び業務文書処理プログラム
US9229960B2 (en) 2013-02-11 2016-01-05 International Business Machines Corporation Database management delete efficiency
US20140244517A1 (en) * 2013-02-25 2014-08-28 Carrier Iq, Inc. Incremental Batch Method for Transforming Event-driven Metrics and Measures within a Map/Reduce Data Center
US20140244516A1 (en) 2013-02-25 2014-08-28 Carrier Iq, Inc. Mobile Wireless Customer Micro-Care Apparatus and Method
US9229968B2 (en) 2013-03-11 2016-01-05 Intenational Business Machines Corporation Management of searches in a database system
US9378234B2 (en) 2013-03-11 2016-06-28 International Business Machines Corporation Management of updates in a database system
RU2659481C1 (ru) 2014-06-26 2018-07-02 Гугл Инк. Оптимизированная для пакетной обработки архитектура визуализации и выборки
JP6386089B2 (ja) 2014-06-26 2018-09-05 グーグル エルエルシー 最適化されたブラウザレンダリングプロセス
KR101768181B1 (ko) 2014-06-26 2017-08-16 구글 인코포레이티드 최적화된 브라우저 렌더링 프로세스
US10742764B2 (en) 2015-07-27 2020-08-11 Adp, Llc Web page generation system
US10324600B2 (en) 2015-07-27 2019-06-18 Adp, Llc Web page generation system
US10417317B2 (en) 2015-07-27 2019-09-17 Adp, Llc Web page profiler
US10652309B2 (en) * 2017-09-19 2020-05-12 FinancialForce.com, Inc. Mechanism to allow a messaging system to automatically switch to asynchronous operation due to high demand
JP7131357B2 (ja) * 2018-12-12 2022-09-06 富士通株式会社 通信装置、通信方法、および通信プログラム
US11163792B2 (en) * 2019-05-29 2021-11-02 International Business Machines Corporation Work assignment in parallelized database synchronization
US11507786B2 (en) 2019-11-04 2022-11-22 FinancialForce.com, Inc. Dynamic generation of client-specific feature maps
US11803518B2 (en) 2020-10-01 2023-10-31 Hewlett Packard Enterprise Development Lp Journals to record metadata changes in a storage system
CN113434509B (zh) * 2021-07-02 2023-07-18 挂号网(杭州)科技有限公司 一种增量索引的更新方法、装置、存储介质及电子设备

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4819156A (en) * 1986-06-13 1989-04-04 International Business Machines Corporation Database index journaling for enhanced recovery
JPH04274533A (ja) * 1991-02-28 1992-09-30 Nec Corp データベース更新装置
US5855020A (en) 1996-02-21 1998-12-29 Infoseek Corporation Web scan process
US6038610A (en) 1996-07-17 2000-03-14 Microsoft Corporation Storage of sitemaps at server sites for holding information regarding content
US6415319B1 (en) * 1997-02-07 2002-07-02 Sun Microsystems, Inc. Intelligent network browser using incremental conceptual indexer
JPH10240757A (ja) * 1997-02-27 1998-09-11 Hitachi Ltd 協調分散検索システム
US5956722A (en) * 1997-09-23 1999-09-21 At&T Corp. Method for effective indexing of partially dynamic documents
US7010532B1 (en) * 1997-12-31 2006-03-07 International Business Machines Corporation Low overhead methods and apparatus for shared access storage devices
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
US6631369B1 (en) 1999-06-30 2003-10-07 Microsoft Corporation Method and system for incremental web crawling
CA2279119C (en) 1999-07-29 2004-10-19 Ibm Canada Limited-Ibm Canada Limitee Heuristic-based conditional data indexing
US6687698B1 (en) * 1999-10-18 2004-02-03 Fisher Rosemount Systems, Inc. Accessing and updating a configuration database from distributed physical locations within a process control system
JP3772606B2 (ja) * 1999-10-19 2006-05-10 株式会社日立製作所 電子文書管理方法及びシステム並びに記録媒体
US6418453B1 (en) * 1999-11-03 2002-07-09 International Business Machines Corporation Network repository service for efficient web crawling
US6418452B1 (en) 1999-11-03 2002-07-09 International Business Machines Corporation Network repository service directory for efficient web crawling
US20020103920A1 (en) 2000-11-21 2002-08-01 Berkun Ken Alan Interpretive stream metadata extraction
JP2003208434A (ja) * 2001-11-07 2003-07-25 Nec Corp 情報検索システム及びそれに用いる情報検索方法
US20040064442A1 (en) * 2002-09-27 2004-04-01 Popovitch Steven Gregory Incremental search engine
US7085755B2 (en) * 2002-11-07 2006-08-01 Thomson Global Resources Ag Electronic document repository management and access system
JP4299022B2 (ja) * 2003-02-28 2009-07-22 トヨタ自動車株式会社 コンテンツ検索用インデックス生成装置
US7552109B2 (en) * 2003-10-15 2009-06-23 International Business Machines Corporation System, method, and service for collaborative focused crawling of documents on a network
US8131674B2 (en) * 2004-06-25 2012-03-06 Apple Inc. Methods and systems for managing data
US7730012B2 (en) * 2004-06-25 2010-06-01 Apple Inc. Methods and systems for managing data
US7653617B2 (en) * 2005-08-29 2010-01-26 Google Inc. Mobile sitemaps

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101510217B (zh) * 2009-03-09 2013-06-05 阿里巴巴集团控股有限公司 图像数据库中的图像更新方法、服务器及系统
CN104169950A (zh) * 2012-04-26 2014-11-26 艾玛迪斯简易股份公司 利用面向批处理的计算的数据库系统
CN104169950B (zh) * 2012-04-26 2017-12-01 艾玛迪斯简易股份公司 利用面向批处理的计算的数据库系统
WO2018041101A1 (zh) * 2016-08-29 2018-03-08 中兴通讯股份有限公司 数据查询、数据查询处理方法及装置
CN106484840A (zh) * 2016-09-30 2017-03-08 上海聚力传媒技术有限公司 自动更新垂直检索索引的方法和装置
CN111930702A (zh) * 2020-08-14 2020-11-13 工银科技有限公司 日志处理方法、装置、系统及介质
CN112860649A (zh) * 2021-02-03 2021-05-28 深圳市木浪云数据有限公司 增量生成索引的方法、装置及系统

Also Published As

Publication number Publication date
CN1755676B (zh) 2013-01-23
KR20060048655A (ko) 2006-05-18
KR100971863B1 (ko) 2010-07-22
US7644107B2 (en) 2010-01-05
JP2006107446A (ja) 2006-04-20
US20060074911A1 (en) 2006-04-06
EP1643388A1 (en) 2006-04-05

Similar Documents

Publication Publication Date Title
CN1755676B (zh) 用于网络文档批处理索引的系统和方法
CN1221898C (zh) 刷新网络代理高速缓存服务器对象的系统和方法
US8560569B2 (en) Method and apparatus for performing bulk file system attribute retrieval
US8707312B1 (en) Document reuse in a search engine crawler
US7308643B1 (en) Anchor tag indexing in a web crawler system
US8126869B2 (en) Automated client sitemap generation
US20150052223A1 (en) System and method for determining effective policy profiles in a client-server architecture
CN1517885A (zh) 关于利用原子性更新的中央高速缓冲存储器的方法和系统
CN1755677A (zh) 使用索引关键词的范围搜索系统和方法
CN1581107A (zh) 用于管理被存储在高速缓存中的对象的系统和方法
US20070005652A1 (en) Apparatus and method for gathering of objectional web sites
US7676553B1 (en) Incremental web crawler using chunks
CN1755678A (zh) 在排序搜索结果时引入锚文本用的系统和方法
CN1943208A (zh) 通过互联网通信网络追踪电子辛迪加内容的系统和方法
CN105793843A (zh) 用于oltp和分析工作量的用于内存数据库的组合行和列式存储
CN1202257A (zh) 用于定位万维网页以及计算机网络文件的系统和方法
CN1874254A (zh) 一种基于客户端/服务器端结构的数据浏览方法
CN1841320A (zh) 用于管理动态配置数据的方法和系统
CN1302417C (zh) 临时目录管理
EP2304609A1 (en) Paging hierarchical data
CN1596407A (zh) 指纹数据库维护方法和系统
CN101046806A (zh) 搜索引擎系统和方法
CN100351840C (zh) 用于存档标记语言文档的方法
AU2004244168B2 (en) Undrop objects and dependent objects in a database system
US20030220914A1 (en) Method for managing data in a network

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C12 Rejection of a patent application after its publication
RJ01 Rejection of invention patent application after publication

Open date: 20060405

C14 Grant of patent or utility model
GR01 Patent grant
ASS Succession or assignment of patent right

Owner name: MICROSOFT TECHNOLOGY LICENSING LLC

Free format text: FORMER OWNER: MICROSOFT CORP.

Effective date: 20150504

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

Effective date of registration: 20150504

Address after: Washington State

Patentee after: Micro soft technique license Co., Ltd

Address before: Washington State

Patentee before: Microsoft Corp.

CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20130123

Termination date: 20170711

CF01 Termination of patent right due to non-payment of annual fee