CN101006441B - 用于多版本Web文档的Web服务器 - Google Patents

用于多版本Web文档的Web服务器 Download PDF

Info

Publication number
CN101006441B
CN101006441B CN200580022517XA CN200580022517A CN101006441B CN 101006441 B CN101006441 B CN 101006441B CN 200580022517X A CN200580022517X A CN 200580022517XA CN 200580022517 A CN200580022517 A CN 200580022517A CN 101006441 B CN101006441 B CN 101006441B
Authority
CN
China
Prior art keywords
document
finger url
url
server
copy
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.)
Active
Application number
CN200580022517XA
Other languages
English (en)
Other versions
CN101006441A (zh
Inventor
Z·吴
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.)
Oracle International Corp
Oracle America Inc
Original Assignee
Oracle America Inc
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 Oracle America Inc filed Critical Oracle America Inc
Publication of CN101006441A publication Critical patent/CN101006441A/zh
Application granted granted Critical
Publication of CN101006441B publication Critical patent/CN101006441B/zh
Active 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
    • G06F16/957Browsing optimisation, e.g. caching or content distillation
    • G06F16/9574Browsing optimisation, e.g. caching or content distillation of access to content, e.g. by caching
    • 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/958Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99951File or database maintenance
    • Y10S707/99952Coherency, e.g. same view to multiple users
    • Y10S707/99955Archiving or backup

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)
  • Information Transfer Between Computers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

仓库服务器制作在文档本身有时不可经Web访问时可供获取的Web可访问文档的存储副本,文档本身有时不可经Web访问的原因是:该文档所在的服务器不可用,该服务器已将该文档移除或重命名,或该服务器已经将存储副本是副本的版本更换为不同版本。仓库服务器的客户端可以在仓库服务器中登记文档。仓库服务器制作登记文档的副本,并将该副本的仓库URL返回到客户端。仓库URL可用于从仓库URL提取副本。登记还将存储副本与它的文档URL相关联,与存储副本的标识符相关联,与作为存储副本内容的精简表示的指纹相关联,以及与具有相似内容的一组存储副本相关联。仓库服务器执行的其他操作包括:1)提取仓库服务器中登记的文档的内容。这通过接收仓库URL并确定该仓库URL指定的存储副本所对应的文档是否可经Web获取;如果是的话,则将客户端重定向到文档的文档URL指定的位置;否则,提取存储副本。2)向客户端提供与相同文档URL相关的存储副本的仓库URL列表;以及3)向客户端提供与给定仓库URL指定的存储副本相似的存储副本的仓库URL列表。使用指纹计算相似性。

Description

用于多版本Web文档的Web服务器
技术领域
本发明一般涉及因特网,更具体地说涉及访问和跟踪可经因特网访问的内容的问题。
背景技术
通过因特网的HTTP协议使之成为可能的因特网以及具体来说的WWW在我们访问信息的方式上呈现变革性的发展。图1示出WWW 123提供的信息访问系统101如何观察具有Web浏览器和用于永久存储数据的硬盘驱动器129的计算机127的用户。此类系统称为Web客户端125。除了Web客户端125外,系统101还包括可经WWW 123访问的Web服务器111。如有关Web服务器111(a)的详细图示,Web服务器包括处理器113(a)和含有可经Web访问的文档121的数据存储器119(a)。这些文档在下文中称为Web文档。Web文档121可以包含任何类型的信息或多种类型信息的混合;例如它可以是图像或音频文件以及文本文档。
为了访问WWW上的文档,客户端125中的Web浏览器的用户向Web 123提供该Web文档的URL(统一资源定位符)。Web 123将URL路由到Web服务器111(i),该Web服务器111(i)包含URL指定的Web文档。Web服务器111(i)通过将指定的Web文档经Web提供到Web客户端125来响应该URL。浏览器然后显示该Web文档。Web文档通常包含至其他Web文档的链接,即URL。当用户通过单击这些链接的其中之一来选择它时,浏览器将URL提供到Web 123,如刚才所述由驻留该Web文档的Web服务器将Web文档提供到Web客户端。
123处示出了一个示范URL。URL具有三个主要的部分:协议105,它指定将用于检索Web文档的因特网协议,在此情况中为WWW中使用的http协议;主机名107,它指定存储Web文档的Web服务器111(i);以及Web页面源信息109,它指定要如何定位Web文档或以其他方式在Web服务器111(i)产生Web文档。在示范URL 103中,Web页面源信息109是“路径名”,它指示如何在Web服务器111(i)可访问的文件系统中定位Web文档;在其他URL中,Web页面源信息109可以指定查询数据库来定位Web文档的程序或即时地构造整个或部分Web文档的程序。在Web服务器111(a)中通过执行源信息解释代码117(a)来解释Web页面源信息109。
如下是URL的完整语法:
<协议名>://<主机名>:<端口号>/<路径名>?<参数列表>
<协议名>、<主机名>和<路径名>均已解释;<端口号>指定Web服务器111(a)监听Web页源信息109指定的信息所在的端口;广泛使用的协议(如HTTP协议)的应用程序具有URL中未指定端口号的情况下客户端125为该协议提供的缺省端口号。<参数列表>是源信息解释代码117解释的参数的列表;这些参数可以指定要执行的程序和用于该程序的数据参数。该参数列表由一个或多个以&字符分隔的参数名-参数值对组成。
<参数名>=<参数值>&...&<参数名>=<参数值>
无论何时,只要将Web客户端125连接到提供对WWW 123访问的物理网络,Web客户端125此时就可以访问处于工作状态的任何Web服务器111。因为大多数Web服务器持续工作,所以经WWW可获取的大多数信息在任何时间任何地点都是可获取的。因此,Web用户往往不复制他们在Web客户端125中检索到的信息;而是将含有该信息的Web文档的URL保存在感兴趣URL列表131中。此类列表的一个示例是大多数Web浏览器提供的“收藏夹”或“书签”列表。当用户希望再次访问信息时,用户只需单击收藏夹列表中的URL,由此将URL提供到浏览器。
保存URL而不是它们引用的Web文档存在优缺点。二者都来自WWW的动态特性。URL不是Web文档的图书馆卡编目号。图书的图书馆卡编目号唯一地标识图书的特定版本。如果出新版本的图书,则它得到新的图书馆卡编目号。新的卡编目号将与其他版本的编号相似,因为两个版本将以相同方式分类,但是将不会与其他版本的编号完全相同。因为每个版本拥有各自的图书馆卡编目号,所以抄写下特定版本的卡编目号的读者十年后将该编号呈交给拥有该版本的图书馆,将得到该版本。
与之相比,URL仅标识Web服务器111(i)和该服务器响应Web页源信息将返回的Web文档。没有任何保证可确保该URL指定的服务器将是可用的甚至仍存在,也无法保证服务器将返回的Web文档与客户端保存该URL时所显示的文档相同。实际返回什么完全取决于服务器。这种安排的优点在于服务器一般返回的是该Web文档的最近版本。对于例如包含天气预报或股市报价的许多Web文档,这的确是所需要的。其缺点在于Web文档的较旧版本不再可通过URL访问,并完全不可访问。当前可访问的Web文档与较旧版本具有什么关系常常也是不明确的。这样导致困难的一个问题是软件的文件。越来越多地,软件制造商通过WWW提供此类文件;如果该文件的URL指定软件的当前版本,则完全没有给拥有较旧版本的用户留下文件。Web浏览器127的用户需要解决此问题的唯一方式是在他的Web客户端中保存文件的本地版本。这样做,用户当然丧失Web最重要的一个优势:能够保存URL而不是副本。
解决该问题的一个尝试是建立Web归档服务,例如www.archive.org中可得到的。此类服务有通用档案所存在的所有问题:它们都很巨大,但是常常没有个人所需要的,人们通常很少或不输入档案要保存什么。此外,Web客户端可访问的大量信息并非公众可获取的,因此将不通过归档服务归档。这种情况出现在Web服务器位于防火墙后面,该防火墙将公众因特网与所说的内联网隔开,该内联网利用因特网但是仅对该内联网所属组织已知的Web客户端可访问。因此,该服务器可被也在该防火墙后面或对于防火墙是已知的Web客户端访问,但是对于一般的Web客户端不可访问。此类内联网是目前组织内通信的首选方式的其中之一。
本文公开的本发明的目的在于提供用于克服通过URL访问其文档的上述问题的技术。
发明内容
本发明的目的通过仓库(repository)服务器来实现,该仓库服务器提取文档URL指定的文档,将该文档的副本存储在仓库服务器,并向仓库服务器提供存储副本的URL,Web客户端可使用该URL来提取存储副本。仓库服务器使存储副本与该文档的文档URL相关,并且与存储副本在仓库服务器中的标识符相关。仓库服务器因此可以包含特定文档URL表示的多个版本的文档的存储副本,同时每个存储副本对应于一个唯一的仓库服务器URL。仓库还为存储副本创建指纹。指纹是存储副本的小编码版本,它保存表征存储副本的结构和内容的信息。指纹是可比较的,用于确定一对文档的相似度。将每个存储副本的指纹与仓库中存储副本相关联,仓库还将与给定存储副本相似的其他存储副本的列表与该给定存储副本相关联。
由提供到仓库服务器的客户端的页面组成的用户界面允许客户端的用户登记文档,登记该文档通过指定该操作并提供该文档的文档URL来执行。仓库服务器通过如下操作来响应:制作存储副本,制作存储副本的仓库URL,使存储副本与文档URL和存储副本的标识符相关,制作存储副本的指纹,以及制作相似存储副本的存储副本的列表。
用户界面还允许用户提取文档的内容,提取文档的内容通过指定该操作并输入至仓库服务器的存储副本的仓库URL来执行。仓库服务器通过如下操作响应仓库URL:首先使用与存储副本相关联的文档URL以确定该文档在网络上是否可访问;如果可以,则将客户端重定向到文档URL指定的位置;如果文档不可访问,则返回仓库URL指定的存储副本。
此外,用户界面还允许用户跟踪文档的存储副本。用户在容户端中指定仓库URL和操作,而仓库服务器通过提供具有与仓库URL指定的副本相关的文档URL相同的文档URL的存储副本的仓库URL的列表来响应。在该操作的一个实施例中,仓库服务器还通过提供与仓库URL指定的存储副本相似的存储副本的仓库URL的列表来响应。从任何一个列表中选择仓库URL使仓库服务器通过向客户端提供仓库URL指定的存储副本来响应。
在其他方面,本发明涉及用于制作和比较指纹的技术,包括用于确定两个存储副本是否足够相似以保证指纹的比较的技术、用于制作仓库URL的技术和重写和使用存储副本中的链接的技术。
对于本领域技术人员来说,在阅读下文的具体实施方式和附图时显而易见将设想到其他目的和优点,其中:
附图说明
图1示出用于经因特网访问信息的现有技术系统;
图2是本发明的Web服务器的框图;
图3是服务器的GUI的最上层Web页面;
图4示出在Web上该页面不可获取的情况下呈现的Web页面;
图5示出用户请求版本跟踪的情况下呈现的Web页面;
图6是登记的文档表215的实体关系图;
图7示出HTML文档和由该文档构成的树;
图8示出用于制作指纹的算法;
图9示出通过比较由文档构成的指纹来确定文档的相似性的算法;以及
图10示出用于针对不相似性过滤文档的算法。
附图中的引用编号具有三个或三个以上的数字:最右边两个数字是余下数字指示的附图中的引用编号。因此,引用编号203的项首先在图2中以项203形式出现。
具体实施方式
下文的具体描述首先呈示多版本文档的Web服务器的概述,然后将描述用户界面,最后将呈示Web服务器的多种组成部分的细节。
用于多版本文档的Web服务器的概述:图2
图2是用于多版本Web文档的Web服务器201的框图。在下文一些部分中,服务器201称为仓库服务器。从Web客户端125的角度来看,Web服务器201是标准Web服务器111。当客户端125将指定Web服务器201的URL置于Web 123上时,Web 123将该URL传递到服务器201,服务器201通过向客户端125返回Web页面来响应URL。与任何其他Web服务器一样,服务器201具有两个主要组成部分:响应指定服务器201的主机名115的URL来执行代码的处理器202,以及用于URL指定的Web页面或用于制作该Web页面所需的信息的存储器。这里,存储器119包括用户界面的Web页面225,Web客户端125使用该用户界面来控制文档服务器201和登记Web文档的数据库213。登记Web文档是已经在服务器201中登记的Web文档,即服务器201已经在Web文档在数据库213中登记时制作了该Web文档的副本223,并已经制作登记版本URL 227,其中多版本文档服务器201可以通过向作为登记版本URL的源的Web客户端125提供登记版本URL 227引用的版本副本223来响应登记版本URL 227。在该优选实施例中,副本223有两个部分:作为与登记时接收的副本完全一样的副本的原始副本222,以及其中重写了链接的重写副本224。稍后将详细论述为什么重写链接是必要的以及如何实现。
利用登记版本URL 227提取Web页面
登记版本URL 227是标准的URL:它指定协议105、主机名107(这里是服务器201的主机名)和Web页面源信息109。登记版本URL 227中的Web页面源信息包括指定程序230的参数列表,上述程序230要在处理器202中执行以提供要在程序执行中使用的Web页面和数据。这里,程序是gc,它提取登记Web页面的内容,gc是处理器202执行的版本位置代码203中的程序之一。当执行版本位置代码203时,服务器201是稍后称为登记文档提供器的一个实施例,gc取用两个参数:唯一地标识数据库213中的登记Web页面的副本223的登记标识符231和所提取的页面的原始URL233。在优选实施例中,当多版本文档服务器201接收到登记版本URL 227时,它执行gc程序。gc首先尝试建立服务器201与原始URL 233指定的服务器111(i)之间的连接;如果成功的话,gc重定向Web客户端以使用原始URL 233提取Web页面。如果建立连接的尝试失败,则gc使用登记ID 231来定位数据库213中的副本223,然后将该副本返回到Web客户端125。当如刚才所描述的在使用时,多版本文档服务器201确保当Web客户端125将登记版本URL 227提供到服务器201时,客户端125将接收到由登记标识符231所指定的Web页面的副本223,即使原始URL 233指定的文档是不可获取时。
版本位置代码203需要解释登记版本URL 227的信息包含在登记文档表215中的登记信息217中。登记信息217使副本223与用于提取据由之制作副本223的Web页面的原始URL相关以及与唯一地标识该副本223的登记标识符相关。因为登记标识符唯一地标识副本223,所以数据库213可以包含由原始URL标识的不同版本的Web文档。而且,因为登记标识符包括在登记版本URL 227中,所以登记版本URL对于每个版本是唯一的,并且可被客户端125用于从服务器201提取特定版本的副本223。在优选实施例中,这通过将来自URL 227的登记ID 231输入到服务器201提供的用户界面来执行;在其他版本中,这可以通过将URL 227提供到用户界面,然后指定服务器201是否要返回原始URL 223当前指定的版本或登记标识符231指定的副本。正如稍后将更详细解释的,对于给定副本223(i),用户还可以指定他或她想要原始副本222(i)还是重写副本224(i)。
在服务器201中登记Web页面
Web客户机的用户通过将要登记的Web页面的URL输入到用户界面Web页面225的Web页面而在服务器201中登记Web页面。响应从Web页面的输入,服务器201执行登记代码207,该登记代码207提取URL当前指定的文档,为它生成登记ID,在登记信息217中为该登记ID创建项(包括原始URL、登记ID和该文档的副本在数据库213中的位置),然后创建副本223的URL 227并将其返回到用户,然后该用户可以如上述地使用它。当执行登记代码207时,服务器201是稍后称为文档登记器的一个实施例。
Web页面的自动登记
服务器201的优选实施例将执行Web页面的自动登记。在优选实施例中,服务器201的管理员可以指定一定范围的感兴趣IP地址。服务器201将执行自动登记代码212,这提取那些地址处的Web内容并在服务器201中如上述地登记它们。自动登记的变化包括:
1.链接的自动登记:从登记URL开始,分析该URL标识的文档中的所有引用链接,并自动登记那些URL链接。系统可以提供选项以将URL的登记限于来自相同Web网站(域)的那些。
2.链接的递归自动登记:从登记URL开始,以递归方式跟踪URL标识的文档中的所有URL链接,只要它们来自相同Web网站(域)。注意该选项对于某些Web网站将是耗时的。
3.自动计划的登记:设置时间表以登记其内容版本和更改均是频繁/周期性的且重要的某些URL。例如,可以使用每日时间表自动登记指向内部每日“应做”列表的URL。
当然,可以将链接的自动登记和链接的递归自动登记与其他形式的自动登记组合。本发明的其他实施例还可以提供用户界面,该用户界面允许服务器201的用户设置Web客户端125的用户个人感兴趣的URL的自动登记。使用下文描述的文档指纹和指纹比较技术,另一个实施例中的服务器201可以将文档的自动登记限于与已经登记的文档有实质性不同的那些。
使用服务器201产生副本223的版本历史
登记信息217还可以用于提供使用特定原始URL提取的版本副本223的版本历史。因为登记信息使原始URL与登记ID相关,所以处理器202可以使用登记ID查询登记信息217并接收与该登记ID所标识的副本223的URL具有相同原始URL的文档版本的副本223的登记标识符的列表。服务器201使用登记ID和原始URL来构造登记ID所指定的副本223的URL 227的列表。该列表作为Web页面中的链接被返回到Web客户端125,然后用户就可以单击链接以选择特定的版本。当服务器201接收到对应于所选链接的URL 227时,它使用该URL将URL 227所指定的副本223返回到Web容户端125。在其他实施例中,服务器201可以响应原始URL或登记版本URL 227的输入来提供版本历史。在前一种情况中,原始URL用于执行查询;在后一种情况中,来自登记版本URL 227的原始URL 233用于执行查询。
URL搜索
服务器201可以具有数以千计的登记文档,每个登记文档具有各自的副本223和登记版本URL 227。在一些实施例中,提供URL搜索功能会是有用的。在URL搜索中,Web客户端125处的用户将搜索字符串输入到服务器201提供的Web页面225,服务器201搜索包含用户输入的搜索字符串的原始URL的登记信息217。当然在搜索字符串中可以使用通配字符。服务器201还可以提供区分大小写和不区分大小写搜索和基于URL或登记时间的排序。作为从URL搜索操作的输出,服务器201返回Web页面,Web页面上具有包含匹配URL 227的链接的列表和对应于每个匹配URL的登记ID 231和登记时间。
这里应该指出的是虽然服务器201登记URL,但是刚才描述的技术可以结合任何类型的可用于提取数据项的定位符或标识符来使用。为此,有时在下文中使用通用术语文档定位符作为任何其他类型的可用于提取数据项的定位符或标识符的URL的通用术语。如下是登记所需的项:
·将三件事彼此相关的服务器201可获取的数据结构:
-服务器201可访问的已登记的数据项的副本;
-登记时用于提取数据项的原版的文档定位符;以及
-唯一地标识服务器201可访问的副本的副本登记标识符。
·服务器201通过提取副本来响应副本的文档定位符。
对副本223执行的操作
可以对版本副本223执行许多操作,这进一步增加服务器201的有用性。其中有相对链接重写、对副本223进行指纹处理、基于它们的指纹比较副本223,以及将索引包括到数据库213中的副本223的内容中。
链接重写
Web页面使用HTML来定义(超文本标记语言)。在HTML中,可以将至另一个Web页面的链接编写为绝对链接,绝对链接指定完整的URL,包括协议105、主机名107和Web页面源信息109,或者编写为相对链接,相对链接由追加到用户用来提取包含相对链接的Web页面的URL的Web页面源信息109组成。因为使用相对链接构成的URL总是具有来自用于提取含该相对链接的Web页面的URL的协议和主机名,所以使用相对链接引用与包含该相对链接的Web页面相同的主机中包含的其他Web页面。
当在服务器201中登记URL并且将该URL指定的Web页面的副本添加到版本副本223时,副本223自然不再存在于为其写副本223的原版的主机的Web服务器中,并且副本223中的相对链接将结束用于提取副本223的URL,即指定服务器201的URL。为了解决这个问题,当服务器201提取正在登记的URL所引用的Web页面并将该Web页面的副本添加到版本副本223时,它制作两个副本-其一,原始副本222,这是登记时提取的原版的真正副本,其二,重写副本224,这是在其中重写了版本副本223中的所有相对链接的副本,由此当用户单击相对链接时,服务器201提供绝对URL,该绝对URL与登记版本URL 227一样采用gc程序以将客户端125重定向到从其中获取所提取的Web页面的主机的主机名所构成的URL指定的服务器111(i)。服务器201执行此操作所需的信息是从正在登记的URL获取的。该优选实施例还以相同方式重写大多数绝对链接的URL,其中利用gc程序将客户端125重定向到原始绝对链接中指定的服务器111(i)。
指纹处理版本副本223
文档的指纹是比文档小得多的值,它是以可以比较两个文档的指纹来确定文档彼此的相似程度的方式根据文档产生的。指纹与散列函数产生的文档摘要不同,在于两个摘要的比较只能指示产生这些摘要的文档是否相同。另一方面,指纹比较指示正在比较的文档的相似度。文档服务器201在登记文档时采用指纹处理代码209制作每个登记文档的指纹,并将指纹存储在指纹信息219中。稍后将详细解释优选实施例中使用的指纹处理算法。
比较版本副本223
因为服务器201中的每个版本副本223具有一个指纹,所以可以通过将版本副本223(i)的指纹与版本副本223(j)的指纹相比较来确定任意两个版本副本223(i)和(j)之间的相似性。该比较通过文档比较代码211来执行。在优选实施例中,服务器201为每个版本副本223维护该特定版本副本223与其原始URL与该特定版本副本具有相同主机名107的版本副本223之间的指纹比较的结果列表。
当Web客户端125的用户请求给定版本副本223的版本历史时,服务器201不仅返回与用户作为输入提供到客户端125的登记ID231相关联的版本副本具有相同原始URL 233的版本副本223的链接列表,而且还返回至指纹比较结果列表中出现的版本副本223的链接的列表。与链接一起包括的是至给定版本副本223的链接所指定的版本副本的相似度的值。在其他实施例中,用户可以仅仅提供文档的登记ID或从用户界面Web页面225中的列表中选择至该文档的链接能够独立于版本历史操作来获取相似的版本副本的列表。能够显示两个版本副本223之间的相似度具有两个重要的优点:
·当制作给定原始URL引用的版本的版本历史时,版本相似度允许用户进行有关版本之间的关系的一些推测。
·如果相同或非常相似的内容已经与来自相同Web网站的两个不同原始URL相关联,则这些不同原始URL的副本223之间的相似度反映与这些原始URL相关联的内容实质是相同的。
对版本副本223建索引
可以采用2004年3月26日提交的、Hu等人的USSN 10/810,756、标题为具有永久性用户可访问的位图值的数据管理系统(A databasemanagement system with persistent,user-accessible bitmap values)中所描述的技术来制作数据库213中的版本副本223的内容的位图索引。可以对所有版本副本223制作索引,或者可以对与给定原始URL相关联的版本副本223制作单独的索引。
可以使用服务器201的方式示例
服务器201具有如下特征:
·它可以在Web文档所来自的Web站点不可用时提供该文档的版本副本223。
·登记制作Web文档所来自的Web站点上当前可获取的文档的版本的版本副本223,并将该副本和原始URL关联到版本编号,以便可以跟踪该Web文档的版本。
·登记可以是自动的。
·可以搜索版本副本223的原始URL。
·使版本副本223与指纹819相关,这允许对版本副本进行比较。
下文将解释利用这些特征的服务器201的使用。
服务器201作为共享信息的鲁棒源
一个公司可能具有许多内部Web站点的内联网,包括位于PC上的一些个人Web页面。当这些站点的其中之一工作时,其上的Web文档当然可被获取。在高可用性处理器和数据库系统中实现的服务器201可以解决该问题。可以在服务器201中自动登记一般需要随时可供获取的来自内部Web站点的Web文档。该公司的工作人员可以使用该文档的登记版本URL 227来提取它。如上文所描述的,服务器201将通过如下操作响应登记版本URL:首先尝试使用该文档的原始URL 233以将Web客户端125重定向到该文档的主Web站点,如果失败的话,则将提供URL 227的登记ID 231引用的版本副本223。可以将以此方式使用的服务器201与已修改为搜索公司的内联网的搜索引擎组合。当搜索引擎索引到Web文档时,也将该文档登记到服务器201,搜索引擎返回的URL列表是Web文档的登记副本223的URL 227列表。
服务器201作为Web文档的版本的源
目前,如果公司希望制作可通过单个URL获取的Web文档的历史版本,则响应该单个URL产生的Web页面必须是历史版本的列表,而且该列表必须在每次新版本成为可供获取时被更新。利用服务器201,公司只需在服务器201中登记每个新版本;为了查看可用的版本副本223并检索它们中的任何一个,用户只需利用登记版本URL227对这些版本的其中之一使用版本跟踪操作。
服务器201作为用户希望保留并使之可供其他人获取的Web文档的版本的存储位置
目前,如果某个人发现他自己和其他人当前感兴趣的Web文档的版本,则感兴趣的那些人接收到稍后可能完全失效的Web文档的URL或检索出与当前感兴趣的版本不同的文档版本。可以通过登记感兴趣的Web文档的版本并将它的登记版本URL 227提供到对登记版本感兴趣的那些人来避免这种情况。
优选实施例中的用户界面的详情:图3-5
图3示出第一用户界面Web页面225,服务器201向希望使用服务器201来登记Web页面、提取Web页面或跟踪存储在服务器201中的特定页面的版本的用户返回该第一用户界面Web页面225。在303处是用户可以输入要登记的URL、登记版本URL 227或登记ID编号231以使服务器201提取原始文档或副本223或跟踪服务器201中的文档的副本的可写字段。当输入了URL或登记ID编号时,用户单击字段303下的按钮的其中之一以指定操作。正如从标签可看到的,当用户单击按钮305时,服务器201登记字段303中的URL。当登记该URL时,服务器301返回315所示的含有内容的Web页面;如图中所示,所返回的页面指示已经登记了URL 317并由登记产生的登记版本URL 227。如果已登记了URL 317,则消息315如此指示。
当字段303包含URL 227或登记ID 231时,所发生的情况取决于用户单击了按钮307-313中的哪一个。
·如果用户单击获取内容(Get cpmtemts)按钮307,则服务器201尝试建立至该文档的原始URL所指定的服务器111(i)的连接,并将Web客户端125重定向到该服务器。如果尝试失败,则服务器201提取URL 227或登记ID 231指定的版本副本223,并将其提供到客户端125。服务器301能够重定向客户端125时出现的Web页面仅仅是服务器111(i)上当前可获取的版本;如果重定向失败且服务器301提取版本副本223(i),则所出现的是图4所示的Web页面401。Web页面401由重写副本224产生,并且它包括说明链接已被重写并指示登记副本223(i)的日期和时间的突出显示的图例403。
·如果用户单击“请跟踪它(Track it please)”按钮309,则服务器301产生Web页面501(图5),其中包含URL 227或登记ID 231指定的副本223的版本列表503和与URL 227指定的副本相似的副本223的列表505。在每个列表项中,指定副本223的登记ID和登记副本223的时间;在相似的副本的列表中,每个项还包含507所示的相似度的值。在509,最后,页面指示何时执行跟踪。单击列表项使该项表示的版本副本223的重写副本224返回。
·如果用户单击“获取版本(Get that version)”按钮311,则返回的是URL 227或登记ID 231指定的版本副本223的重写副本224。显示内容与图4所示的相同。
·如果用户单击“获取它的原版(Get it in original)”按钮313,则所返回的是URL 227或登记ID 231指定的版本副本223的原始版本222。
当然该界面的许多其他版本也是可能的。在一些应用中,并非所有这些操作都是必需的。例如,如果服务器201仅仅要确保Web文档的版本始终可供获取并且自动或仅通过系统管理器来登记文档,则可能只需要获取内容操作。相似地,如果使用服务器201仅仅是为了跟踪版本并且自动或仅通过系统管理器登记版本,则可能仅需要跟踪操作。在一些实施例中,仅系统管理器将对原始副本224感兴趣,所以用户将只查看到重写副本224。在其他实施例中,界面可以提供用于其他操作的按钮,例如独立于版本跟踪操作或URL搜索操作的文档比较操作。
登记文档表215的详情
在优选实施例中,关系数据库系统中的登记文档表215中包含使登记ID 231与Web页面的原始URL 233相关的信息以及指纹处理和文档比较所需的信息。图6是表215的实体关系示意图以及它们之间的关系。图6中的虚线框表示表与图2所示的信息类型之间的关系。
由登记信息217开始,该信息包含在两个表中:PAGE_CACHE表601和REGISTERED_URL表607。REGISTERED_URL表607使登记ID 231与原始URL 233相关。表607中对应于每个登记版本副本223有一行。行中与当前论述有关的字段是包含版本副本223的原始URL 233的REG_URL字段field 233、包含版本副本223的登记ID 231且对于该行是唯一关键字的REG_ID字段、以及包含表示登记版本副本223的日期和时间的数据时间戳的REGISTER_TIME字段。
PAGE_CACHE表601使登记ID 231与版本副本223相关。表601中对应于每个登记版本副本223有一行,因此对应于REGISTERED_URL表607中的每一行在表601中有一行。该行中与当前上下文有关的字段是包含版本副本的登记ID 231且对于该行是唯一关键字的REG_ID字段、CONTENT_ENCODING、CONTENT_TYPE、以及LAST_MODIFIED,它们全部包含有关版本副本223的信息,并且版本副本223的两个版本:FULL_CONTENT字段中的重写副本224和ORIG_CONTENT字段中的原始版本222。REG_ID同时出现在PAGE_CACHE和REGISTERED_URL表中进一步使原始URL与版本副本223相关。
FINGER_PRINT表609中包含指纹信息219。表609中对应于每个登记ID 231有一行,因此对应于每个版本副本223有一行。该行中的相关字段是包含版本副本233的登记ID 231且对于该行是唯一关键字的REG_ID字段、包含由版本副本的原始版本222制作的指纹的FINGER_PRINT字段、以及包含来自与REG_ID字段的值指定的版本副本223相同的Web站点且与REG_ID字段的值标识的版本副本具有实质相似性的版本副本223的列表的SIMILAR_PAGES字段。该列表对于每个版本副本包含版本副本的登记ID和指示该版本副本与该行的REG_ID字段值标识的版本副本之间的相似度的值。LAST_FUZZY_MATCH_TIME字段包含指示SIMILAR_PAGES字段中的列表被更新的最后时间的时间-日期时间戳。
REFERENCED_LINK表617和ALL_LINK表613中包含链接信息221。版本副本223中发现的每个不同的链接由唯一的链接ID值标识。ALL_LINK表613中对应于每个链接有一个行。链接的行使链接ID(在LINK_ID字段中)与原始Web页面中的绝对或相对链接指定的URL所对应的绝对URL(在LINK_URL字段中)相关。LINK_ID字段的值是该行的唯一关键字。REFERENCED_LINK表617使登记ID与该登记ID指定的版本副本223中的链接的链接ID相关。对于每个登记ID,对应于该登记ID指定的版本副本223中的每个链接有一行。REG_ID字段包含版本副本的登记ID 231,而LINK_ID字段包含REG_ID字段中的这些链接的其中之一的链接ID。通过登记ID对REFERENCED_LINK表617的查询将返回该登记ID标识的版本副本223中的链接的链接ID列表,然后可以在ALL_LINK表使用这些链接ID来获取这些链接的URL。在优选实施例中,使用链接信息221对两个版本副本233是否足够相似以保证比较它们的指纹作出阈值确定。
Web服务器201操作的详情
当结合图3-5的图形用户界面研究图6的表时,立即显见对URL登记、获取登记URL的内容、跟踪版本、获取副本223的重写副本224和获取副本223的原始版本222的操作是如何执行的。
登记
当在输入用户界面页面301的字段303中输入原始URL并且用户单击“登记URL(Register URL)”按钮305时,登记代码207获取登记的唯一登记ID 231,在PACE_CACHE表601中设置一个行且使其中的REG_ID字段的值是登记ID 231,然后将原始URL引用的内容的副本222保存在该行的ORIG_CONTENT字段。登记代码207还为CONTENT_ENCODING和CONTENT_TYPE字段提供来自副本222的相关值,并且使用链接重写代码205来重写副本222中的链接以产生副本224,然后将副本224存储在该行的FULL_CONTENT字段中。链接重写代码205还根据需要在ALL_LINK表613和REFERENCED_LINK表617中设置用于链接的行。然后登记代码在REGISTERED_URL表607中为新登记标识符和原始url设置新的行,并对该新项设置时间戳。视实施例而定,登记代码207可以在登记时间调用指纹处理代码209来进行新版本副本223的原始版本222的指纹处理或在稍后执行指纹处理。当执行它时,在FINGER_PRINT表609中为新版本副本223和指纹设置一个行。因为将新版本副本223的指纹与来自相同Web站点的所有其他版本副本223的指纹进行比较需要相当多的资源,所以通常将在稍后执行在SIMILAR_PAGES中设置列表。自动登记基本如刚才所描述的那样来工作,例外的是由Web爬行器(Web crawler)来提供原始URL。
获取内容
当用户将登记版本URL 227或登记ID 231输入到字段303并单击“获取内容(Gwt content)”按钮307时,服务器201执行版本位置代码203。使用输入的登记ID 231或来自输入的登记URL 227的登记ID 231来定位REGISTERED_URL表607中对应于该登记ID 231的行,服务器201使用REG_URL字段中的原始URL 233尝试建立与原始URL 233指定的服务器的连接。如果服务器201成功,则它将Web客户端125重定向到该服务器;否则,服务器201从PAGE_CACHE 601中该登记ID的行提取登记ID标识的版本副本的重写副本224。从REGISTERED_URL表607中该登记ID的行中的REGISTERJTIME字段获取附有重写副本224的指示403中的日期-时间输出。
跟踪具有特定原始URL的Web文档的登记版本
当用户将登记版本URL 227或登记ID 231输入到字段303并单击“请跟踪它(Track it please)”按钮309时,服务器201还执行属于版本位置代码203的一部分的代码。该代码的执行使服务器201使用与登记版本URL 227中的登记ID相关联的或REGISTERED_URL表607中的原始URL来定位REGISTERED_URL表607中所有其REG_URL字段233具有与原始URL的值相同的值的行。当然这些行对应于存储在服务器201中对应于原始URL的Web文档的版本。该代码然后使服务器201使用这些行来产生每个行的登记版本URL 227,并使用登记版本URL 227在Web页面501中产生版本503的列表。
跟踪与给定登记版本相似的Web文档的登记版本
在优选实施例中,Web页面501还包括与登记版本URL 227或登记ID 231指定的登记Web文档223相似的登记Web文档223的列表505。在优选实施例中,版本位置代码203使服务器201根据登记ID的列表和表FINGER_PRINT 609中对应于登记ID 231的行中的字段SIMILAR_PAGES中的相似性值来制作列表505。
检索Web文档的特定版本副本223
当用户将登记版本URL 227或登记ID 231输入到字段303并单击“获取该版本(Get that version)”按钮311时,版本位置代码203使服务器201从来自输入的登记ID 231或来自输入的URL 227的登记ID 231所指定的PAGE_CACHE表601的行中的字段FULL_CONTENT中检索重写副本224。当用户执行相同操作并单击“获取它的原版(Get it in original)”按钮313时,版本位置代码303使服务器201从该行的字段ORIG_CONTENT检索原始副本222。
链接重写的详情
如上文所描述的,当服务器201登记Web文档时,服务器201重写该Web文档中的相对链接以产生该Web文档的重写副本224。服务器201执行以进行重写的代码是链接重写代码205,它采用如下
方法来重写正在登记的Web文档中遇到的每个URL。
URL rewriteUrl(URL baseURL,URL url).
{
1.首先,基于baseURL和url构造absoluteURL。注意如果url不是相对URL,则absoluteURL将等于url。
2.其次,如果url来自HTML表单操作,例如<formaction=″...″>,则返回absoluteURL。
3.否则,构造
http://wru-server-host-and-path?gc=l&url=absoluteURL  并返回它。注意这里构造的是包含原始URL 233但不包含登记ID 231的特定形式的登记版本URL 227。
服务器201然后将该特定形式的URL 227写入到重写副本224,以替代原始链接中的URL。当用户查看重写副本224并单击具有重写URL的链接时,服务器201接收该特定形式的登记版本URL 227,并如上文所描述的作为标准登记版本URL 227来响应:它将Web客户端125重定向到特殊URL 227中所包含的绝对URL指定的Web文档。在其他实施例中,如果该Web文档是不可获取的且在服务器201中有对应于该URL的存储副本,则服务器201可以提取该副本,并且在一些情况中可以提取其登记日期使之与包含该链接的副本最相关的副本。实际上,在一些实施例中,服务器201可以首先尝试提取相关的存储副本,而不是提取当前版本。并不使用该特定形式的URL 227来重写HTML表单操作构造<form action=″url″>中的URL,因为它们往往是仅在过去是原始文档的源的Web服务器中可获取的一些处理逻辑的入口点。一个示例是<formaction=″login.jsp″>。为了解决此问题,仅将HTML表单操作中的URL重写为源服务器的绝对URL。
重写代码205还使服务器201只要在它遇到或设置表613中尚不存在的绝对URL时便向ALL_LINK表613中添加一行,以及只要在它遇到或设置表617中没有版本副本223的登记ID的行所对应的绝对URL且在ALL_LINK表613中遇到该绝对URL的链接ID时便在REFERENCED_LINK表617中为重写版本224属于的版本副本添加一行。
指纹处理的详情
概述
如下是用于发现相似版本副本223的登记URL的整个流程:
·使用下文解释的算法为给定登记版本URL 227表示的副本223生成指纹
·按需要在ALL_LINK表613和REFERENCED_LINK表617中设置通过链接重写执行以产生重写版本224而产生的绝对链接的行。
·假设给定副本223的原始URL 233的情况下,获取所有其原始URL 233具有与该给定副本的原始URL的主机名和端口相同的主机名107和端口的其他副本223的登记ID 231和指纹的列表。
·使用形式标准对该列表进行过滤,以快速消除与该给定副本223具有无意义的相似性的副本223。在该优选实施例中,使用REFERENCED_LINK表617中的信息来实现此操作。
·对于通过过滤的副本223,对指纹应用下文定义的模糊匹配算法。
·制作支持与该给定副本223合理相似度的副本223的登记ID231和相似度的列表。
指纹处理算法:图7和8
该部分描述优选实施例中用来根据HTML文档产生指纹的技术,可以将该指纹与使用相同技术产生的另一个指纹比较以确定制作指纹所用的HTML文档之间的相似度。之所以可以比较这些指纹来确定相似度是因为它们包含HTML文档中所含的所有结构信息的缩小表示以及HTML文档的内容的缩小表示。可以调整这里描述的用于对HTML文档进行指纹处理的技术以便在表示清楚地将文档的结构信息与文档的内容分离的任何文档表示中使用。
如图7中707所示,HTML文档可以视为树。在该树中,有两种类型的节点:节点709,表示HTML文档中的结构信息;以及节点711,包含HTML文档的实际内容。内容节点711一般包含文本。701所示的树由701所示的简单HTML文档形成。如图中703所示,结构信息由HTML标记提供。每个标记被包围在尖括号中,而内容不在其中,如图中705所示。标记一般成对出现,例如<html>、</html>,其中标记对的第一个标记指示该标记所应用的HTML文档部分的开始,而第二个标记指示结束。一对标记可以在它之间嵌套其他标记或标记对。在树707中,每个标记节点709包含来自文档701的对应标记,每个文本节点711包含对应的文本。
如果指纹要用于确定HTML文档的相似性,指纹必须捕获由它的HTML标记定义的文档结构以及它的文本或其他内容,但是还必须实质性地小于用于产生它们的HTML文档。在优选实施例中使用的技术中,通过对这些标记编码并将HTML文档中的标记置换为它们编码的版本来缩减标记的大小。为了缩减指纹中内容的大小同时保留内容的可比性,可采用多种技术:
1.使用例如MD5的消息摘要算法,由消息生成固定大小的消息摘要;
2.使用例如安全散列标准的标准散列技术对内容进行散列处理;
3.将文本置换为其一部分以及或许外加整个文本的长度。
前两种技术都是公知的。有关MD5的详情请参阅http://www.faqs.org/rfcs/rfcl32l.html;有关安全散列标准的详情请参阅http://www.itl.nist.gov/fipspubs/fipl80-l.htm。该优选实施例采用第三个选择。例如,我们可以选择使用第一个(或中间或最后一个)词加文本长度。我们还可以使用第一个(中间或最后一个)非空格字符加文本长度。第三个选择产生比前两个选择短的文本表示,并且需要的计算也较少;其缺点是检测到文本中改变的概率低于采用散列或摘要的技术。
在该优选实施例中,以文本的前两个非空格小写字符加文本长度信息构成的文本特征替代文本。其他实施例可以选择其他字符,其选择通常取决于语言。将长度信息按58模数化(modularize),然后将64加模数化的结果。模数化并加64为了使长度信息由可被人可读的ASCII字符表示。注意,64是“@”的ASCII码,121是“y”的ASCII码。试探性地选择这两个数字64和58,它们应该是可调节的系统参数。其他实施例可以使用MD5或某个其他散列标准来设置文本的特征。
图8示出算法805和将该算法应用于HTML文档701所得到的指纹819。在801所示的是文档701中采用的HTML标记的编码。表801的每个行具有起始标记及其对应的结束标记的编码。由此,行803给出<HTML>和</HTML>的编码。
在805所示的是,优选实施例中采用的指纹处理算法的伪代码。在最上层,算法具有三个部分:初始化807、指纹产生循环809和在817返回指纹。初始化807将指纹变量初始化为空字符串。循环809运行直到读取并处理了整个HTML文档为止。在树707中有三种不同类型的节点:用于HTML起始标记的那些节点、用于HTML结束标记的那些节点和包含内容的那些节点。IF语句811处理HTML起始标记:它仅仅发现对应于该起始标记的编码的表单,并将该编码的表单置于指纹中;IF语句813对HTML结束标记执行相同操作。内容节点711由IF语句815来处理,它按如上所描述来操作:向指纹添加文本的前两个非空格小写字符,然后添加其值由文本长度来确定的第三个字符。
使用来自HTML文档701的上文算法生成了图8所示的指纹819。821处示出编码的<HTML>起始标记,825处示出编码的</HTML>结束标记,以及823处示出用于表征文本Hello!的字符串。依据图707的树,算法通过处理节点709(b)并将处理结果添加到指纹819、然后依此类推地处理节点709(d)、节点709(f)、节点711(a)、节点709(g)、节点709(h)、节点711(b)、节点709(i)、节点709(e)和节点709(c)来产生指纹819。
使用指纹计算HTML文档的相似性:图9
凭直觉地,给定按刚才所描述的从两个HTML文档产生的两个字符串指纹,指纹中所共有的子字符串中的字符总数越大,产生这两个指纹的HTML文档的相似度越高。
图9是基于上述直觉的算法901的伪代码。下文呈示的算法的详情取决于指纹中所用的HTML起始标记的表示,但是该算法可以容易地调整为由其他文档表示构成的指纹。该算法取一对指纹fp1和fp2作为自变量,其中fp_不长于fp2。该算法从较短的指纹(称为源指纹)开始,查找第一个“<”,它是源指纹中映射的HTML标记的定界符,从该找到的位置开始查找最长的共有子字符串,然后移到共有子字符串之后的下一个“<”,并重复该过程。该算法使用需要理解的两个函数:locate_substring()和longestSubstr()。
locate_SubString()定位下一个匹配子字符串。该函数取用三个参数。第一个参数是源指纹。第二个参数是将在源指纹中找到的子字符串。第三个参数定义源字符串中用于匹配的起始位置。例如,locateSubString(″abcabc″,″ab″,2)将返回4。如果没有发现匹配的,则locateSubString将返回0。
longestSubstr(fp1,fp2,delimPos)返回fp1中起始于位置delimPos且也是fp2中的子字符串的最长可能子字符串。例如,longestSubstr(″xyABCGGD1234″,″88890ABCGGABZGGD1234″,3)将返回“ABCGG”。
接下来详细描述,在903,初始化步骤初始化标出源字符串中的位置的两个变量:lastPos,它标出源指纹中将开始进行匹配的当前位置,以及delimPos,它标出当前“<”定界符字符在源指纹中的位置。lastPos被初始化为1,delimPos被初始化为源指纹中的第一个“<”。将这两个指纹之间的相似性(similarity)初始化为0。这两个指纹的处理在执行while循环905中执行,该循环运行直到在源指纹中找不到左尖括号“<”为止。在循环体中,执行的第一件事是开始查找fp1的在当前“<”字符开始处的部分与fp2全部之间的最长子字符串匹配(906);如果该匹配长度大于或等于6个字符,则将该匹配的长度添加到变量similarity。将当前匹配长度或至少1添加到lastPos,并在lastPos处开始,查找下一个“<”字符,并重复循环905。当循环终止时,通过将变量similarity的当前值除以源指纹的长度来计算文档的相似性。
注意IF语句906中的数字“6”是试探性选择的。它应该属于可调的系统参数。该参数的目的在于设置所发现的共有子字符串的大小的下限。凭直觉地,如果仅发现非常短的子字符串的匹配,例如是HTML中的“<p>”的“<v”,发现此类匹配的事实表明产生指纹的HTML文档的相似性很小。作为对上面算法的可能改进,一旦定位了共有子字符串,就可以从fp2移除它,由此将不再进一步对fp2测试匹配。虽然这是有点耗时。
限制要执行的指纹比较的次数:图10
因为服务器201中有每个版本副本223的指纹,所以可以将任何版本副本的指纹819与任何其他版本副本223的指纹比较。当然大多数情况中,比较都将显示没有相似性;但是从指纹查找要求算法901的性能,其执行时间对于不相似的指纹来说比相似指纹慢。这里所需要的是一种方法以在执行指纹比较之前过滤文档对,以便仅对具有合理概率是相似的文档执行指纹比较。
在优选实施例中,使用两种分开的技术来过滤文档对。一种技术用于在FINGER_PRINT表609中给定页面的行中设置SIMILAR_PAGES列表。该列表中的页面限于来自与给定页面相同Web站点的页面。另一种技术是检查要比较相似性的版本副本223中所含的链接的不相似性。该技术基于如下观察:
·相似的HTML文档往往具有相似的链接数量,这些链接往往在两个文档中指向相同的Web站点。
·HTML文档中的链接按远比HTML文档的内容或标记变更速度慢的速度变更。
根据前述内容,如果对于由文档服务器201正在比较的一对版本副本223可以确定该文档对中的这两个文档具有数量差异很大的链接或这些链接在这两个文档对中不指向相同Web站点,则显然该对副本223是不相似的,并且无需比较它们的指纹。当然可以将这两种过滤技术组合。当然立即将显见到有关HTML文档中的链接的观察同等地适用于任何其他文档表示中的链接,以及可以将这些过滤技术与包含链接的任何类型的文档一起使用。
服务器201维护有关它需要基于REFERENCED_LINK表617中的链接不相似性来过滤的链接的信息。可以利用正在比较的副本223的登记ID查询REFERENCED_LINK表617来获取过滤操作所需的所有信息。对副本对的每个副本223的查询确定副本对中的每个版本副本223的链接的数量。查询还返回版本副本223中链接的LINK_ID值的列表,并可以比较这些值。如果两个列表中都出现相同LINK_ID值,则两个版本副本223具有至相同URL的链接。
图10示出基于链接不相似性的过滤的算法。正如根据前文论述所期望的,以两个步骤执行该算法。第一步1001确定副本对的每个版本副本包含多少链接并基于此执行过滤。linkNum1包含副本对中的第一副本223中的链接数,linkNum2包含副本对中的第二副本223中的链接数。应用两个测试1003和1005,除非副本对223通过两个测试的其中之一,否则过滤掉它。测试1003仅让组合链接数不大于7的副本对223通过。测试1005将两个文档中的链接数之差除以两个文档中的链接数之和+2,如果除法的结果小于1/3,则让该副本对通过。所用的数字7、2和0.3333也是试探性选择的。它们可以属于系统的可调节配置参数。第一条件表明如果这两个URL包含仅少量的引用链接,则应该让它通过。第二条件表明如果这两个URL的引用链接的数量之差在预定义的范围内,则过滤器应该让它通过。
第二步1007确定两个页面共有的链接的数量。totalLinksNum是副本对223的其中之一中的链接数;sameLinksNum是两个副本223中都有的链接的相同URL的数量。1015处示出通过的条件。该测试中使用的数量也是试探性选择的,它们应该是可调节的系统配置参数。该条件表明如果较之引用链接的总数,相同链接的数量合理地大,则过滤器应该让该副本对223通过。当一对副本同时通过测试1001和测试1007时,服务器201将比较该副本对的指纹。
前文“具体实施方式”为相关技术领域的技术人员描述了如何制作和使用本发明的仓库服务器,并进一步描述了发明人用于实现仓库服务器的目前已知的最佳方式。对于相关技术领域的技术人员来说,使用不同于本文所描述的优选实施例来实现本发明是显见的。例如,优选实施例在因特网和http协议提供的环境中工作,因此该优选实施例的许多细节是由环境决定的。但是有必要确保通常可经网络访问的文档的副本在它们不可经网络获取时或需要从当前可经网络访问的那些副本获取不同版本时可访问的任何场合中都可以采用本发明的原理。
在优选实施例中,使用关系数据库系统中的表来维护仓库中存储的副本之间的必要关系、副本的文档URL、标识仓库服务器中的副本的标识符、副本及其指纹、以及副本及其相似副本的列表。这些表当然可以采取非本文所公开的形式的许多形式,此外,为能够表示必要关系的数据结构以及关系表的任何安排都是有效的。本发明的给定实现可以不执行优选实施例执行的所有操作,或者可以执行优选实施例不执行的操作。当然优选实施例的用户界面由http协议的要求、优选实施例执行的操作以及发明人的喜好来决定,并且许多其他用户界面也是可能的。
利用指纹,优选实施例的许多细节作为如下事实的结果:指纹设计为根据HTML文档制作,但是本文所描述用于制作和比较指纹的技术可以容易地调整以适应具有结构性组成部分以及内容的任何形式的文档。
就所有前文原因而言,“具体实施方式”应视为在各方面均是示范性的而非限定性的,本文公开的本发明的范围不应由“具体实施方式”来决定,而是由根据专利法所允许的完整范围解释的权利要求来决定。

Claims (31)

1.一种可经网络访问并响应经所述网络从容户端接收的文档定位符来提供文档的仓库服务器,
所述仓库服务器包括:
关系表;
文档登记器,接收文档的第一文档定位符并通过使用所述第一文档定位符经所述网络从另一个服务器提取所述文档的副本、将所述副本存储在所述仓库服务器可访问的存储器中、使所述关系表中的登记标识符与所述存储器中的副本相关并为所述副本制作包括所述登记标识符的第二文档定位符来对此响应;以及
登记文档提供器,当在所述仓库服务器中接收到所述第二文档定位符时通过以下操作来进行响应:使用所述第二文档定位符中的所述登记标识符来确定所述第一文档定位符,如果所述文档在所述另一个服务器是当前可访问的时,则使用所述第一文档定位符从所述另一个服务器提取所述文档,否则将存储副本提供到所述客户端。
2.如权利要求1所述的仓库服务器,其特征在于:
所述登记文档提供器就所提供的存储副本指示已经提供存储副本。
3.如权利要求1所述的仓库服务器,其特征在于:
所述仓库服务器接收与所述第二文档定位符一起的指示,所述指示表明要提供所述存储副本;以及
所述登记文档提供器将所述存储副本提供到所述客户端来对此响应。
4.如权利要求1所述的仓库服务器,其特征在于:
当所述登记文档提供器确定所述文档当前可经所述网络访问时,所述登记文档提供器使用相关联的第一文档定位符将所述客户端重定向到另一个服务器。
5.如权利要求4所述的仓库服务器,其特征在于:
所述第二文档定位符包含所述第一文档定位符的副本;以及
所述登记文档提供器使用所述第一文档定位符的副本作为相关联的第一文档定位符。
6.如权利要求1所述的仓库服务器,其特征在于:
所述文档登记器将所述存储副本中的相对链接重写为绝对链接。
7.如权利要求6所述的仓库服务器,其特征在于:
每个重写的绝对链接包含指定所述仓库服务器的文档定位符,并包括指定所述绝对链接所对应的相对链接指定的文档的文档定位符;以及
所述登记文档提供器通过使用所包含的文档定位符来确定所述重写的绝对链接指定的文档当前是否可经所述网络访问以及如果可访问的话则按所包含的文档定位符中指定的将所述客户端重定向来响应所述重写的绝对链接。
8.如权利要求7所述的仓库服务器,其特征在于:
当所述重写的绝对链接指定的文档当前不可经所述网络访问且所述仓库服务器中有与所包含的文档定位符相关联的存储副本时,所述登记文档提供器返回相关联的存储副本。
9.如权利要求1所述的仓库服务器,其特征在于:
所述文档登记器从客户端接收所述第一文档定位符。
10.如权利要求1所述的仓库服务器,其特征在于:
所述文档登记器从所述仓库服务器中的所述第一文档定位符的列表中接收所述第一文档定位符。
11.如权利要求1所述的仓库服务器,其特征在于:
所述列表中所述第一文档定位符的其中至少一些是由网络爬行器提供给所述仓库服务器的。
12.一种用于在可经网络访问的仓库服务器中登记可在网络中使用第一文档定位符访问的文档的方法,
所述方法包括在所述仓库服务器中执行如下步骤:
在所述仓库服务器中接收所述文档的第一文档定位符;
使用所述第一文档定位符经所述网络从另一个服务器提取所述文档;
将所述文档的副本存储在所述仓库服务器可访问的存储器中;
使关系表中的登记标识符与所述存储器中的副本相关;以及
制作包括所述登记标识符的第二文档定位符,所述仓库服务器通过以下操作来响应所述第二文档定位符:使用所述第二文档定位符中的所述登记标识符来确定所述第一文档定位符,如果所述文档在所述另一个服务器是当前可访问的时,则使用所述第一文档定位符从所述另一个服务器提取所述文档,否则提供存储副本。
13.如权利要求12所述的方法,还包括如下步骤:
将所述存储副本中的相对链接重写为绝对链接。
14.如权利要求13所述的方法,其特征在于:
每个重写的绝对链接包括第三文档定位符,所述第三文档定位符包括所述文档的文档定位符,并且所述仓库服务器通过按所包括的文档定位符所指定的将从中接收所述第三文档定位符的客户端重定向来响应所述第三文档定位符。
15.如权利要求12所述的方法,还包括如下步骤:
将所述第一文档定位符与所述登记标识符相关联。
16.如权利要求15所述的方法,其特征在于:
通过在所述第二文档定位符中包括所述第一文档定位符来将登记标识符与所述第一文档定位符相关联。
17.如权利要求12所述的方法,其特征在于:
在所述接收步骤中,从所述仓库服务器的客户端接收所述第一文档定位符。
18.如权利要求12所述的方法,其特征在于:
在所述接收步骤中,从所述仓库服务器中的所述第一文档定位符的列表中接收所述第一文档定位符。
19.如权利要求18所述的方法,其特征在于:
所述列表中所述第一文档定位符的其中至少一些是由网络爬行器提供给所述仓库服务器的。
20.一种用于提供已经在仓库服务器中登记其存储副本的文档的方法,所述仓库服务器可经网络访问并且响应经所述网络从容户端接收的文档定位符来提供文档,
所述方法包括在所述仓库服务器中执行如下步骤:
从客户端接收所述存储副本的第二文档定位符,所述第二文档定位符包括用于经所述网络从另一个服务器提取所述文档的存储副本的第一文档定位符和与所述存储副本相关联的登记标识符;
通过确定是否能够使用所述第一文档定位符经所述网络从所述另一个服务器提取所述文档来对此响应;以及
如果无法提取所述文档,则将所述存储副本提供到所述客户端。
21.如权利要求20所述的方法,还包括在将所述存储副本提供到所述客户端时执行如下步骤:
在所述存储副本上指示已经提供所述存储副本。
22.如权利要求20所述的方法,其特征在于:
使所述存储副本与所述仓库服务器中的所述文档的登记标识符相关;以及
所述方法还包括如下步骤:
当能够经所述网络从所述另一个服务器提取所述文档时,按所述文档的相关的登记标识符所指示的使用所述第一文档定位符将所述客户端重定向。
23.如权利要求20所述的方法,其特征在于:
使所述存储副本与所述存储副本的登记标识符相关;
所述文档定位符包括所述登记标识符;以及
不考虑是否能够经所述网络提取所述文档,执行将所述存储副本提供到所述客户端的步骤。
24.一种用于提供已经在仓库服务器中登记其存储副本的文档的方法,所述仓库服务器可经网络访问并且响应经所述网络从客户端接收的文档定位符来提供文档,
所述方法包括在所述仓库服务器中执行如下步骤:
从客户端接收所述存储副本的第二文档定位符和指示是要提供所述副本还是提供所述文档的指示,所述第二文档定位符包括用于经所述网络从另一个服务器提取所述文档的存储副本的第一文档定位符和与所述存储副本相关联的登记标识符;
如果所述指示表明要提供所述存储副本,则通过提供所述存储副本来对此响应;以及
否则通过确定是否能够使用所述第一文档定位符经所述网络从所述另一个服务器提取所述文档来进行响应;以及
如果无法提取所述文档,则将所述存储副本提供到所述客户端。
25.一种可经网络访问并对第一文档定位符标识的文档的存储副本具有访问权的仓库服务器,
所述仓库服务器包括:
文档登记器,接收文档的第一文档定位符,并通过使用所述第一文档定位符经所述网络从另一个服务器提取所述文档的副本、将所述副本存储在所述仓库服务器可访问的存储器中、将所述第一文档定位符与所述副本相关联并为所述副本制作第二文档定位符来对此响应;以及
响应包括所述第二文档定位符的输入和包括获取文档输入和获取存储副本输入的选择输入的登记文档提供器,所述登记文档提供器通过在所述第一文档定位符指定的文档可获得的情况下提取所指定的文档而在其他情况下提取所述存储副本来响应所述第二文档定位符和所述获取文档输入,并且通过提取所述存储副本来响应所述第二文档定位符和所述获取存储副本输入。
26.如权利要求25所述的仓库服务器,其特征在于:
当所述选择输入是获取文档输入而且所述登记文档提供器提取所述存储副本时,所述登记文档提供器就所提取的存储副本指示已提取存储副本。
27.如权利要求25所述的仓库服务器,其特征在于:
所述选择输入还包括所述登记文档提供器通过提供所述第二文档定位符的列表来对其响应的获取列表输入,所述列表上的每个第二文档定位符与相同的第一文档定位符相关联,并通过提供第二文档定位符指定的存储副本来响应从所述列表中选择所述第二文档定位符。
28.如权利要求25所述的仓库服务器,其特征在于:
所述文档登记器还计算所述存储副本与所述仓库服务器中的其他存储副本之间的相似性,并将所述存储副本与相似的其他存储副本相关联;以及
所述选择输入还包括所述登记文档提供器通过提供所述第二文档定位符的列表来对其响应的获取列表输入,所述列表上的每个第二文档定位符指定与输入的第二文档定位符指定的副本相似的存储副本,并通过提供第二文档定位符指定的存储副本来响应从所述列表中选择所述第二文档定位符。
29.如权利要求27所述的仓库服务器,其特征在于:
在计算相似性时,所述文档登记器计算相似性值;以及
对所述列表上的每个第二文档定位符附上所述列表上的第二文档定位符指定的存储副本与输入的第二文档定位符指定的文档之间相似性的相似性值。
30.如权利要求27所述的仓库服务器,其特征在于:
所述登记文档提供器还通过提供所述第二文档定位符的另一个列表来响应所述获取列表输入,所述另一个列表上的每个第二文档定位符与相同的第一文档定位符相关联,并且通过提供第二文档定位符指定的存储副本来响应从所述另一个列表中选择第二文档定位符。
31.如权利要求27所述的仓库服务器,其特征在于:
所述文档登记器还将登记时间与所述存储副本相关联;以及
所述登记文档提供器还为所述第二文档定位符的列表中的第二文档定位符指定的每个存储副本提供存储副本的登记时间。
CN200580022517XA 2004-05-06 2005-05-04 用于多版本Web文档的Web服务器 Active CN101006441B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US10/839,938 2004-05-06
US10/839,938 US7689601B2 (en) 2004-05-06 2004-05-06 Achieving web documents using unique document locators
PCT/US2005/015700 WO2005109251A2 (en) 2004-05-06 2005-05-04 Web server for multi-version web documents

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN2010101250928A Division CN101937443B (zh) 2004-05-06 2005-05-04 用于多版本Web文档的Web服务器

Publications (2)

Publication Number Publication Date
CN101006441A CN101006441A (zh) 2007-07-25
CN101006441B true CN101006441B (zh) 2010-10-06

Family

ID=34968543

Family Applications (2)

Application Number Title Priority Date Filing Date
CN200580022517XA Active CN101006441B (zh) 2004-05-06 2005-05-04 用于多版本Web文档的Web服务器
CN2010101250928A Active CN101937443B (zh) 2004-05-06 2005-05-04 用于多版本Web文档的Web服务器

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN2010101250928A Active CN101937443B (zh) 2004-05-06 2005-05-04 用于多版本Web文档的Web服务器

Country Status (8)

Country Link
US (2) US7689601B2 (zh)
EP (1) EP1759310A2 (zh)
JP (1) JP4785838B2 (zh)
CN (2) CN101006441B (zh)
AU (2) AU2005241535B2 (zh)
CA (1) CA2565777C (zh)
IN (3) IN2010KO00412A (zh)
WO (1) WO2005109251A2 (zh)

Families Citing this family (113)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4396242B2 (ja) * 2003-11-28 2010-01-13 富士ゼロックス株式会社 文書リンク構造情報作成装置及び方法
US8782281B2 (en) * 2004-03-23 2014-07-15 Cisco Technology Inc. Optimally adapting multimedia content for mobile subscriber device playback
US7689601B2 (en) 2004-05-06 2010-03-30 Oracle International Corporation Achieving web documents using unique document locators
US20060041726A1 (en) * 2004-06-15 2006-02-23 Steubing Edmund G Mirrorpc computer backup system
DE602004021598D1 (de) * 2004-07-20 2009-07-30 Alcatel Lucent Ein Verfahren, eine Netzdokument-Beschreibungssprache, ein Netzdokument-Übergangsprotokoll und ein Computer-Softwareprodukt zur Wiederauffindung von Netzdokumenten
US8849068B2 (en) * 2005-04-08 2014-09-30 Canon Kabushiki Kaisha Image management system, image management method, and program
US20080097972A1 (en) * 2005-04-18 2008-04-24 Collage Analytics Llc, System and method for efficiently tracking and dating content in very large dynamic document spaces
WO2006113644A2 (en) * 2005-04-18 2006-10-26 Collage Analytics Llc System and method for efficiently tracking and dating content in very large dynamic document spaces
US7657524B1 (en) * 2005-07-28 2010-02-02 Adobe Systems Incorporated System and/or method for comment migration
US7971137B2 (en) * 2005-12-14 2011-06-28 Google Inc. Detecting and rejecting annoying documents
FR2901651B1 (fr) * 2006-05-24 2012-01-20 Noel Pampagnin Diffusion de documents electroniques preservant les droits d'auteur et autorisant la copie privee
US20080033913A1 (en) * 2006-05-26 2008-02-07 Winburn Michael L Techniques for Preventing Insider Theft of Electronic Documents
US20080104042A1 (en) * 2006-10-25 2008-05-01 Microsoft Corporation Personalized Search Using Macros
US7962495B2 (en) 2006-11-20 2011-06-14 Palantir Technologies, Inc. Creating data in a data store using a dynamic ontology
US8515912B2 (en) 2010-07-15 2013-08-20 Palantir Technologies, Inc. Sharing and deconflicting data changes in a multimaster database system
US7917520B2 (en) * 2006-12-06 2011-03-29 Yahoo! Inc. Pre-cognitive delivery of in-context related information
US20080147710A1 (en) * 2006-12-19 2008-06-19 Microsoft Corporation Generating web pages utilizing user-defined search parameters
US8275741B2 (en) * 2006-12-27 2012-09-25 Research In Motion Limited Method and apparatus for memory management in an electronic device
US8099386B2 (en) * 2006-12-27 2012-01-17 Research In Motion Limited Method and apparatus for synchronizing databases connected by wireless interface
US20080162486A1 (en) * 2006-12-27 2008-07-03 Research In Motion Limited Method and apparatus for storing data from a network address
US10156953B2 (en) * 2006-12-27 2018-12-18 Blackberry Limited Method for presenting data on a small screen
US8930331B2 (en) 2007-02-21 2015-01-06 Palantir Technologies Providing unique views of data based on changes or rules
US20080313260A1 (en) * 2007-06-15 2008-12-18 Wildfireweb Inc. Automated website generation
US8909632B2 (en) * 2007-10-17 2014-12-09 International Business Machines Corporation System and method for maintaining persistent links to information on the Internet
JP5127414B2 (ja) * 2007-11-20 2013-01-23 キヤノン株式会社 サービス提供装置及びその制御方法、コンピュータプログラム
US9383911B2 (en) 2008-09-15 2016-07-05 Palantir Technologies, Inc. Modal-less interface enhancements
US20100161586A1 (en) * 2008-12-18 2010-06-24 Safar Samir H System and method of multi-page display and interaction of any internet search engine data on an internet browser
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
US8583603B2 (en) 2009-04-02 2013-11-12 Microsoft Corporation Employing user-context in connection with backup or restore of data
US8732137B2 (en) * 2009-05-28 2014-05-20 Red Hat, Inc. Separating content from noisy context in template-based documents for search indexing
CN101635640B (zh) * 2009-09-04 2011-09-21 江苏天智互联科技有限公司 Web网站系统服务器终端程序的版本自动发布方法
US8719708B2 (en) * 2009-10-28 2014-05-06 Morgan Stanley Systems and methods for dynamic historical browsing
US20110209040A1 (en) * 2010-02-24 2011-08-25 Microsoft Corporation Explicit and non-explicit links in document
US8655943B2 (en) 2010-05-31 2014-02-18 Oracle International Corporation Web server providing access to documents having multiple versions
US8332408B1 (en) 2010-08-23 2012-12-11 Google Inc. Date-based web page annotation
JP5656563B2 (ja) * 2010-11-02 2015-01-21 キヤノン株式会社 文書管理システム、文書管理システムの制御方法、プログラム
GB2487390A (en) * 2011-01-19 2012-07-25 Canon Kk Managing access to copies of resources
CN102185917A (zh) * 2011-04-29 2011-09-14 深圳市五巨科技有限公司 一种服务器适配移动终端的方法及系统、服务器适配装置
US8799240B2 (en) 2011-06-23 2014-08-05 Palantir Technologies, Inc. System and method for investigating large amounts of data
US8732574B2 (en) 2011-08-25 2014-05-20 Palantir Technologies, Inc. System and method for parameterizing documents for automatic workflow generation
US9626379B1 (en) * 2011-09-22 2017-04-18 Amazon Technologies, Inc. Optimistic commit processing for an offline document repository
US20130347004A1 (en) * 2012-06-25 2013-12-26 Sap Ag Correlating messages
US9798768B2 (en) 2012-09-10 2017-10-24 Palantir Technologies, Inc. Search around visual queries
US9348677B2 (en) 2012-10-22 2016-05-24 Palantir Technologies Inc. System and method for batch evaluation programs
US9081975B2 (en) 2012-10-22 2015-07-14 Palantir Technologies, Inc. Sharing information between nexuses that use different classification schemes for information access control
US9501761B2 (en) 2012-11-05 2016-11-22 Palantir Technologies, Inc. System and method for sharing investigation results
US20140173417A1 (en) * 2012-12-18 2014-06-19 Xiaopeng He Method and Apparatus for Archiving and Displaying historical Web Contents
US20140181180A1 (en) * 2012-12-21 2014-06-26 Jing Wu Multi-Websites contents fetcher software system
US8601367B1 (en) * 2013-02-15 2013-12-03 WebFilings LLC Systems and methods for generating filing documents in a visual presentation context with XBRL barcode authentication
US10140664B2 (en) 2013-03-14 2018-11-27 Palantir Technologies Inc. Resolving similar entities from a transaction database
US8868486B2 (en) 2013-03-15 2014-10-21 Palantir Technologies Inc. Time-sensitive cube
US8909656B2 (en) 2013-03-15 2014-12-09 Palantir Technologies Inc. Filter chains with associated multipath views for exploring large data sets
US8924388B2 (en) 2013-03-15 2014-12-30 Palantir Technologies Inc. Computer-implemented systems and methods for comparing and associating objects
US8799799B1 (en) 2013-05-07 2014-08-05 Palantir Technologies Inc. Interactive geospatial map
US10949459B2 (en) * 2013-06-13 2021-03-16 John F. Groom Alternative search methodology
US9565152B2 (en) 2013-08-08 2017-02-07 Palantir Technologies Inc. Cable reader labeling
US8938686B1 (en) 2013-10-03 2015-01-20 Palantir Technologies Inc. Systems and methods for analyzing performance of an entity
US9105000B1 (en) 2013-12-10 2015-08-11 Palantir Technologies Inc. Aggregating data from a plurality of data sources
US10579647B1 (en) 2013-12-16 2020-03-03 Palantir Technologies Inc. Methods and systems for analyzing entity performance
US8935201B1 (en) 2014-03-18 2015-01-13 Palantir Technologies Inc. Determining and extracting changed data from a data source
US9836580B2 (en) 2014-03-21 2017-12-05 Palantir Technologies Inc. Provider portal
CN105095319B (zh) 2014-05-23 2019-04-19 邓寅生 基于时间序列化的文档的标识、关联、搜索及展现的系统
CN105224572B (zh) * 2014-06-30 2019-11-15 北京金山安全软件有限公司 鉴别垃圾目录的方法及装置
US9454281B2 (en) 2014-09-03 2016-09-27 Palantir Technologies Inc. System for providing dynamic linked panels in user interface
US9501851B2 (en) 2014-10-03 2016-11-22 Palantir Technologies Inc. Time-series analysis system
US9767172B2 (en) 2014-10-03 2017-09-19 Palantir Technologies Inc. Data aggregation and analysis system
US9984133B2 (en) 2014-10-16 2018-05-29 Palantir Technologies Inc. Schematic and database linking system
EP3032441A2 (en) 2014-12-08 2016-06-15 Palantir Technologies, Inc. Distributed acoustic sensing data analysis system
US9483546B2 (en) 2014-12-15 2016-11-01 Palantir Technologies Inc. System and method for associating related records to common entities across multiple lists
US11302426B1 (en) 2015-01-02 2022-04-12 Palantir Technologies Inc. Unified data interface and system
US10803106B1 (en) 2015-02-24 2020-10-13 Palantir Technologies Inc. System with methodology for dynamic modular ontology
EP3065375B1 (en) * 2015-02-27 2017-03-29 Sap Se A method for controlling access to electronic documents based on stateless communication
US9891808B2 (en) 2015-03-16 2018-02-13 Palantir Technologies Inc. Interactive user interfaces for location-based data analysis
US9348880B1 (en) 2015-04-01 2016-05-24 Palantir Technologies, Inc. Federated search of multiple sources with conflict resolution
US10103953B1 (en) 2015-05-12 2018-10-16 Palantir Technologies Inc. Methods and systems for analyzing entity performance
US10628834B1 (en) 2015-06-16 2020-04-21 Palantir Technologies Inc. Fraud lead detection system for efficiently processing database-stored data and automatically generating natural language explanatory information of system results for display in interactive user interfaces
US10146873B2 (en) * 2015-06-29 2018-12-04 Microsoft Technology Licensing, Llc Cloud-native documents integrated with legacy tools
US9418337B1 (en) 2015-07-21 2016-08-16 Palantir Technologies Inc. Systems and models for data analytics
US9392008B1 (en) 2015-07-23 2016-07-12 Palantir Technologies Inc. Systems and methods for identifying information related to payment card breaches
US9600146B2 (en) 2015-08-17 2017-03-21 Palantir Technologies Inc. Interactive geospatial map
US10706434B1 (en) 2015-09-01 2020-07-07 Palantir Technologies Inc. Methods and systems for determining location information
US9984428B2 (en) 2015-09-04 2018-05-29 Palantir Technologies Inc. Systems and methods for structuring data from unstructured electronic data files
US9912624B2 (en) * 2015-09-25 2018-03-06 International Business Machines Corporation Lossy text source coding by word length
US9760556B1 (en) 2015-12-11 2017-09-12 Palantir Technologies Inc. Systems and methods for annotating and linking electronic documents
US9514414B1 (en) 2015-12-11 2016-12-06 Palantir Technologies Inc. Systems and methods for identifying and categorizing electronic documents through machine learning
US9542446B1 (en) 2015-12-17 2017-01-10 Palantir Technologies, Inc. Automatic generation of composite datasets based on hierarchical fields
KR20180090180A (ko) * 2015-12-28 2018-08-10 후아웨이 테크놀러지 컴퍼니 리미티드 웹사이트 액세스 방법, 장치, 및 웹사이트 시스템
US9996236B1 (en) 2015-12-29 2018-06-12 Palantir Technologies Inc. Simplified frontend processing and visualization of large datasets
US10089289B2 (en) 2015-12-29 2018-10-02 Palantir Technologies Inc. Real-time document annotation
US10248722B2 (en) 2016-02-22 2019-04-02 Palantir Technologies Inc. Multi-language support for dynamic ontology
CN105893026A (zh) * 2016-03-28 2016-08-24 乐视控股(北京)有限公司 软件版本管理系统及方法
US10949479B2 (en) * 2016-04-29 2021-03-16 ModeSens Inc. Retrieval of content using link-based search
US10719188B2 (en) 2016-07-21 2020-07-21 Palantir Technologies Inc. Cached database and synchronization system for providing dynamic linked panels in user interface
US10324609B2 (en) 2016-07-21 2019-06-18 Palantir Technologies Inc. System for providing dynamic linked panels in user interface
US10133588B1 (en) 2016-10-20 2018-11-20 Palantir Technologies Inc. Transforming instructions for collaborative updates
US11669675B2 (en) * 2016-11-23 2023-06-06 International Business Machines Corporation Comparing similar applications with redirection to a new web page
US10044836B2 (en) 2016-12-19 2018-08-07 Palantir Technologies Inc. Conducting investigations under limited connectivity
US10216811B1 (en) 2017-01-05 2019-02-26 Palantir Technologies Inc. Collaborating using different object models
US11074277B1 (en) 2017-05-01 2021-07-27 Palantir Technologies Inc. Secure resolution of canonical entities
US10942947B2 (en) 2017-07-17 2021-03-09 Palantir Technologies Inc. Systems and methods for determining relationships between datasets
US10956508B2 (en) 2017-11-10 2021-03-23 Palantir Technologies Inc. Systems and methods for creating and managing a data integration workspace containing automatically updated data models
US10783162B1 (en) 2017-12-07 2020-09-22 Palantir Technologies Inc. Workflow assistant
US11061874B1 (en) 2017-12-14 2021-07-13 Palantir Technologies Inc. Systems and methods for resolving entity data across various data structures
CN108170469B (zh) * 2017-12-20 2021-06-11 南京邮电大学 一种基于代码提交历史的Git仓库相似性检测方法
US10853352B1 (en) 2017-12-21 2020-12-01 Palantir Technologies Inc. Structured data collection, presentation, validation and workflow management
GB201800595D0 (en) 2018-01-15 2018-02-28 Palantir Technologies Inc Management of software bugs in a data processing system
US11599369B1 (en) 2018-03-08 2023-03-07 Palantir Technologies Inc. Graphical user interface configuration system
US11061542B1 (en) 2018-06-01 2021-07-13 Palantir Technologies Inc. Systems and methods for determining and displaying optimal associations of data items
US11005851B2 (en) 2018-08-09 2021-05-11 Camelot Uk Bidco Limited Retrieving digital content over a network
US11238386B2 (en) 2018-12-20 2022-02-01 Sap Se Task derivation for workflows
US11412005B2 (en) * 2019-08-29 2022-08-09 Juniper Networks, Inc. Lawfully intercepting traffic for analysis based on an application identifier or a uniform resource locator (URL) associated with the traffic
CN111984228B (zh) * 2020-07-09 2023-12-12 招联消费金融有限公司 一种接口文档的处理方法、装置、计算机设备和存储介质
CN116776854B (zh) * 2023-08-25 2023-11-03 湖南汇智兴创科技有限公司 在线多版本文献内容关联方法、装置、设备及介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5909677A (en) * 1996-06-18 1999-06-01 Digital Equipment Corporation Method for determining the resemblance of documents
CN1278627A (zh) * 1999-06-17 2001-01-03 国际商业机器公司 用于自动同步分布文档的版本的方法和装置
US6349296B1 (en) * 1998-03-26 2002-02-19 Altavista Company Method for clustering closely resembling data objects

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US49760A (en) * 1865-09-05 jenks
US6012087A (en) * 1997-01-14 2000-01-04 Netmind Technologies, Inc. Unique-change detection of dynamic web pages using history tables of signatures
US6405223B1 (en) * 1998-01-15 2002-06-11 International Business Machines Corporation System for personal storage of different web source versions
US6185614B1 (en) * 1998-05-26 2001-02-06 International Business Machines Corp. Method and system for collecting user profile information over the world-wide web in the presence of dynamic content using document comparators
US6678705B1 (en) * 1998-11-16 2004-01-13 At&T Corp. System for archiving electronic documents using messaging groupware
US6397205B1 (en) * 1998-11-24 2002-05-28 Duquesne University Of The Holy Ghost Document categorization and evaluation via cross-entrophy
US7120862B1 (en) * 1998-12-01 2006-10-10 Lucent Technologies Inc. Method and apparatus for persistent access to Web resources using variable time-stamps
US6625624B1 (en) * 1999-02-03 2003-09-23 At&T Corp. Information access system and method for archiving web pages
AU5756000A (en) * 1999-06-23 2001-01-09 Mangosoft Corporation Distributed virtual web cache implemented entirely in software
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
CA2342558A1 (en) * 2000-05-30 2001-11-30 Lucent Technologies, Inc. Internet archive service providing persistent access to web resources
US20020049760A1 (en) 2000-06-16 2002-04-25 Flycode, Inc. Technique for accessing information in a peer-to-peer network
AU2001275982A1 (en) * 2000-07-20 2002-02-05 Rodney D. Johnson Information archival and retrieval system for internetworked computers
US6941511B1 (en) * 2000-08-31 2005-09-06 International Business Machines Corporation High-performance extensible document transformation
US6842761B2 (en) * 2000-11-21 2005-01-11 America Online, Inc. Full-text relevancy ranking
US20030101234A1 (en) * 2001-11-28 2003-05-29 International Business Machines Corporation System and method for indicating whether a document is cached
US7139756B2 (en) * 2002-01-22 2006-11-21 International Business Machines Corporation System and method for detecting duplicate and similar documents
JP4118580B2 (ja) * 2002-03-20 2008-07-16 富士通株式会社 配置情報推薦装置、その方法、プログラム
US7020667B2 (en) * 2002-07-18 2006-03-28 International Business Machines Corporation System and method for data retrieval and collection in a structured format
US20040098405A1 (en) * 2002-11-16 2004-05-20 Michael Zrubek System and Method for Automated Link Analysis
US7917483B2 (en) * 2003-04-24 2011-03-29 Affini, Inc. Search engine and method with improved relevancy, scope, and timeliness
US7627613B1 (en) * 2003-07-03 2009-12-01 Google Inc. Duplicate document detection in a web crawler system
US20050060643A1 (en) * 2003-08-25 2005-03-17 Miavia, Inc. Document similarity detection and classification system
US7689601B2 (en) 2004-05-06 2010-03-30 Oracle International Corporation Achieving web documents using unique document locators

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5909677A (en) * 1996-06-18 1999-06-01 Digital Equipment Corporation Method for determining the resemblance of documents
US6349296B1 (en) * 1998-03-26 2002-02-19 Altavista Company Method for clustering closely resembling data objects
CN1278627A (zh) * 1999-06-17 2001-01-03 国际商业机器公司 用于自动同步分布文档的版本的方法和装置

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
CN 1278627 A,全文.
Herman Chung-Hwa Rao,Yih-Farn Chen,Ming-Feng Chen.A Proxy-Based Personal Web Archiving Service.ACM Press35 1.2001,35(1),61-72.
Herman Chung-Hwa Rao,Yih-Farn Chen,Ming-Feng Chen.A Proxy-Based Personal Web Archiving Service.ACM Press35 1.2001,35(1),61-72. *

Also Published As

Publication number Publication date
CN101937443B (zh) 2013-04-10
AU2005241535B2 (en) 2010-10-21
CN101006441A (zh) 2007-07-25
JP2007536643A (ja) 2007-12-13
CN101937443A (zh) 2011-01-05
US7689601B2 (en) 2010-03-30
WO2005109251A3 (en) 2006-08-03
EP1759310A2 (en) 2007-03-07
CA2565777A1 (en) 2005-11-17
US9672296B2 (en) 2017-06-06
IN2010KO00414A (zh) 2015-08-28
JP4785838B2 (ja) 2011-10-05
IN2010KO00413A (zh) 2015-08-28
AU2010227101A1 (en) 2010-11-04
AU2005241535A1 (en) 2005-11-17
IN2010KO00412A (zh) 2015-08-28
US20050262089A1 (en) 2005-11-24
CA2565777C (en) 2013-04-23
WO2005109251A2 (en) 2005-11-17
US20100223260A1 (en) 2010-09-02

Similar Documents

Publication Publication Date Title
CN101006441B (zh) 用于多版本Web文档的Web服务器
US8554800B2 (en) System, methods and applications for structured document indexing
US6910071B2 (en) Surveillance monitoring and automated reporting method for detecting data changes
US6119124A (en) Method for clustering closely resembling data objects
US9047339B2 (en) Query rewriting with entity detection
CN102831214B (zh) 时间序列搜索引擎
US8112432B2 (en) Query rewriting with entity detection
US9760632B2 (en) URL rescue by execution of search using information extracted from invalid URL
US20040167876A1 (en) Method and apparatus for improved web scraping
US8423885B1 (en) Updating search engine document index based on calculated age of changed portions in a document
US8307073B1 (en) URL rescue by correction of encoding errors
US20130074148A1 (en) Method and system for compiling a unique sample code for specific web content
US9633112B2 (en) Method of retrieving attributes from at least two data sources
CN111353005A (zh) 一种药品研发申报文档管理方法和系统
CN103617225B (zh) 一种关联网页搜索方法和系统
KR20000049333A (ko) 지능형 인터넷 쇼핑몰 상품비교검색엔진
Arora et al. Difference computation using change identification techniques for structured web documents
WO2001057725A2 (en) System and method for database searching
Bottoni et al. Facilitating interaction and retrieval for annotated documents
Bhimireddy et al. A survey to fix the threshold and implementation for detecting duplicate web documents
Eckersley Classiscope: Using metastructure analysis to build a better magnet for the web haystack
De Mol et al. Data driven Xpath generation
Flesca et al. Meaningful Change Detection on the Web⋆
Bottoni et al. Differences and identities in document retrieval in an annotation environment
CH AN EFFICIENT APPROACH FOR TEMPLATE EXTRACTION

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