用于生成唯一的有效关键字的方法和系统的制作方法

文档序号:6559561阅读:125来源:国知局
专利名称:用于生成唯一的有效关键字的方法和系统的制作方法
技术领域
本发明涉及万维网计算机系统领域,更具体地,涉及从URL生成唯一的关键字。
背景技术
有两类应用程序需要关键字来标识特定的万维网资源。第一,某些应用程序需要存储特殊网页的关键字,从而该应用程序能够在未来某个时刻找到正确的页面。第二类应用程序需要在本地把某一关键字和某一特殊网页联系起来,以便同一关键字将来能够找到所保存的内容。第一类应用程序的一个例子是web注释系统,该系统需要生成一个关键字,以便把注释和正在注释的合适的web资源联系起来。第二类应用程序的一个例子是web代理服务器,当web代理服务器在本地存储网页时,它需要根据该网页生成一个关键字,并且为该资源的后续请求生成相同的关键字以便正确返回高速缓冲的资源。
该问题的固有解决方案是使用网页的URL作为该网页的关键字。URL为划分成四个部分(<模式>://<机构><路径>?<查询>)的字符串,例如例1HTTP://example.com/path/to/documents/index.htm?print=true&session=123在例1中的URL中,“http”是模式(scheme),“example.com”是机构(authority),“/path/to/documents”是路径,而“print=true&session=123”是该URL的查询组件。在许多情况中,使用网页的URL作为网页的关键字能够足够以运转。然而,有两种方法可以使简单的URL作为关键字的模式失败,并且每个失败方法都会引起上面描述的两类应用程序中的一个应用程序的不足。
第一,使用URL的查询组件的web应用程序忽略包括该查询的参数的顺序。亦即,大部分应用程序将返回同一网页,不管是“print=true”还是“session=123”在该URL的查询组件中首先出现。此外,URL的查询组件常常包含可选参数;亦即,该参数的省略不会改变应用程序返回的web资源。因为这两个因素的缘故,可以用许多不同的URL来表示此种类型的web应用程序生成的每个网页。如果使用这些URL的一个URL作为第二应用程序类型(代理类型的应用程序)中的网页的关键字,则缺乏唯一的关键字意味着最终会重复地缓冲同一网页,这会大大降低应用程序的本地内容存储的效率。
URL不能胜任的第二个原因是,URL不是web服务器返回的网页的唯一确定者。例如,有两种借助于超文本传输协议(HTTP)请求web资源的常见方法,GET和POST。两种方法几乎是相同的,只是在(大部分)POST请求中,不包括URL的查询组件,而是作为传送给web应用服务器的数据被包括。
因为该web应用程序可以对未包含在该URL中的数据起作用,所以同一URL可以指向许多不同的web资源。同样地,HTTP允许与网页的每个请求一起向特定web服务器传送少量数据或“cookies”。这些cookies可能影响返回的web资源的内容,因此,也会造成把单一URL映射到多个web资源。两种情况都会导致一个URL映射到许多资源,因此导致上面所提出的第一类应用程序(例如,注释应用程序)的问题。存储不能唯一标识单一资源的URL使得该应用程序将来不能找到正确的资源。
与URL作为web资源的关键字有关的两个主要问题,使得应用程序很难保证总能使用相同的URL串检索到相同的资源,或者很难降低指向相同资源的不同URL的应用程序存储的拷贝数。
本文引用作为参考的申请日期为2000年3月31的美国专利No.6532481“Product identifier,catalog and locator system and method”提供关键字代码生成引擎,该引擎从文件或产品名称中剥离扩充部分和其它不需要的字符,把剩余部分截短为设置的最大值,把该结果附加到标识符上并提供版本后缀。然后把该关键字代码和有关该文件或产品的其它信息联系起来,其它信息如描述、版本、尺寸以及诸如地址、电话号码或因特网网站URL的位置标识符。作为结果的记录被整理到多个数据库中,这些数据库能够通过互联网进行访问并且可以通过关键字代码或布尔关键字进行搜索,,以定位用于下载的文件或用于订购产品或更多地了解产品的销售商的网页。利用主题隔离的众多数据库系统可以为用户提供产品的虚拟卡片目录以及各自的升级、补丁和附件。当应用于实际产品而非文件时,关键字代码也可以提供用于研究可用性并通过选择性的供应商存货清单订购此种实际产品和零件的方法。该专利不对万维网网页或URL进行处理。
本文引用作为参考的申请日期为2003年6月12的美国专利No.20040107177A1“Automated content filter and URL translation fordynamically generated web documents”,提供用于过滤来自客户的请求并通过使用映射表构建该请求的响应的方法、过程和装置。利用这些映射表来给出关于可以在一台或多台服务器上动态生成的超文本文档的与内容有关的信息。动态生成的超文本文档可以是用于因特网的万维网部分的网页。该映射表用于自动生成映射页面,以便最好地匹配其预期的浏览者的请求。设计用来供计算机系统查看的映射页面是用最适合web crawler程序用来构建在服务器端生成的网页的索引的格式给出的。设计用来供人查看的映射页面是采用人类可读的格式给出的,并且根据用户到达该页面的方式进行优化。站点操作员将输入用于生成第一个映射表条目的基本信息,包括构建数据访问算法所需的信息。包含URL(统一资源定位符)、关键字数据和内容的这些映射表中使用的数据,是通过使用生成的数据访问算法经由HTTP(超文本传输协议)传输由自动web浏览器(蜘蛛)提取的。站点操作员可以指定初始逻辑数据分组。可以连续不断地更新映射表条目,并且可以根据请求查询中使用的标准自动生成后续条目。正如站点操作员已经选择的行业指出的那样,预定算法可能对个别的表条目有影响。它不涉及任选的URL。
需要能够提供一种对于资源唯一的关键字的方法。

发明内容
本发明由标准方法的集合和基于配置文件的算法组成,它们共同克服上面描述的使用URL作为web资源的关键字时的两个缺陷。通过封装在为正在讨论的页面提供服务的网站内的已知的公共配置文件内的一系列步骤,根据完整的HTTP请求生成唯一的关键字。该步骤包括对URL查询部分进行重新排序,省略URL查询部分,增加未指定的查询部分,包含POST数据,包含cookie数据,以及包含用户提供的数据。这些生成的关键字是用来标识与先前请求的远程资源匹配的网页所必需的,并且是所需的用于把某一应用程序驱动到同一web位置或应用程序上下文的足够信息,以便为用户提供第一次请求特定上下文时看到的相同的上下文。相同技术适用于统一资源标识符(URI)和URL。
因此,本发明的目的是,通过接收web文档的第一个请求,从URL(或URI)生成唯一的因特网统一资源关键字,第一个请求包括第一个统一资源地址(URA),第一个URA由统一资源标识符(URI)或统一资源定位符(URL)中的任何一个组成。接着,获取关键字生成策略,以及根据该关键字生成策略和第一个URA生成第一个唯一的URA关键字。
本发明的另一个目的是,关键字生成策略还包括由以下处理组成的步骤中的任何一个包括信息,排除该信息或转换该信息,其中该信息包括URA、HTTP请求报头或HTTP请求数据中的任何一个。
本发明还有另一个目的,转换信息步骤还包括由以下处理组成的步骤中的任何一个查找DNS CNAME,对查询参数重新排序,删除一个或多个查询参数,包含HTTP报头,添加附加查询参数,包含POST请求数据,包含http基本身份验证信息,或提示用户提供附加信息。
本发明的又一个目的是,还执行以下步骤检索与第一个URA关联的页面的组成部分,把生成的第一个URA关键字和检索到的组成部分联系起来,在高速缓冲存储器中保存检索到的组成部分以及有关的生成的URA关键字。
本发明还有另一个目的,还执行以下步骤接收该web文档的第一个请求,以及从高速缓冲存储器中检索保存的检索到的组成部分和有关的生成的URA。
本发明还有另一个目的,还执行以下步骤把第一个唯一的URA关键字和外部数据联系起来。
本发明还有另一个目的,还执行以下步骤接收请求以提供该web文档,以及使用第一个唯一的URA来获取该外部数据,以提供该web文档在第一个唯一的URA关键字被关联时的版本。
本发明的另一个目的是提供策略,该策略为以下策略的任何一个与第一个URA有关的策略,与用户有关的策略,web服务提供的策略,独立于第一个URA的策略,或独立于任何URA的策略。
本发明还有另一个目的,利用以下处理的任何一个获取关键字生成策略接收来自应用程序的策略,从已知的公用策略仓库中提取策略,从可查询的服务器中提取策略,从与为当前web文档提供空间的主机相关的已知位置提取策略,或者从与为当前web文档提供空间的主机的根目录相关的已知位置提取策略。
附加特征和优势是通过本发明的技术实现的。本文详细描述本发明的其它实施方式和方面,并且本发明的其它实施方式和方面是提出权利要求的本发明的一部分。为了更好地理解本发明的优势和特征,请参照说明书和附图。


视为本发明的主题具体地在作为说明书结论的权利要求书中被指出并清楚地主张权利。通过连同附图一起阅读下面的详细说明书,本发明的上述和其它目的、其特征和优势是显而易见的,其中图1是刻画计算机系统的组成部分的示图;
图2是刻画计算机系统网络的示图;图3刻画从HTTP GET请求生成的示例标准关键字;图4刻画根据HTTP POST请求生成的示例标准关键字;图5A和5B刻画现有技术的缺点;图6A和6B刻画用于两个不同的URL的一致的关键字生成;图7A和7B刻画现有技术的注释引用程序的缺点;以及图8A和8B刻画根据本发明的用于注释引用的示例改进。
详细说明书相对于附图举例说明本发明的优选实施方式连同其优势和特征。
具体实施例方式
图1说明其中可以实施本发明的典型工作站或服务器硬件系统。图1的系统100包括典型计算机系统101,如个人计算机、工作站或服务器,计算机系统101包括可选外围设备。工作站101包括一个或多个处理器106以及采用来根据已知技术连接并支持处理器106和系统101的其它组件之间的通信的总线。该总线把处理器106连接到存储器105和长期存储介质107,后者包括例如硬盘、磁盘或磁带机。系统101可能还包括用户接口适配器,用户接口适配器经过该总线连接微处理器106和一个或多个接口设备,如键盘104、鼠标103、打印机/扫描仪110和/或可以为任何一种用户接口设备的其它接口设备,例如触摸屏、数字化输入板等。同时,该总线经过显示适配器连接诸如LCD屏幕或监视器之类的显示设备102和微处理器106。
系统101经由能够与网络109进行通信108的网络适配器与其它计算机或计算机网络进行通信。示例网络适配器是通信信道、令牌网、以太网或调制解调器。作为选择,工作站101可以使用无线接口进行通信,无线接口如CDPD(蜂窝数字分组数据)卡。可以把工作站101和局域网(LAN)或广域网(WAN)中的这种其它计算机联系起来,或者工作站101是包含有别的计算机的客户机/服务器结构中的客户机。所有这些配置以及适合的通信硬件和软件都是技术人员熟知的。
图2说明其中可以实施本发明的数据处理网络200。数据处理网络200可以包括诸如无线网络和有线网络的许多独立网络,每个网络可以包括许多独立工作站101、201、202、203和204。另外,正如本领域的熟练技术人员理解的那样,可以包括一个或多个LAN,其中LAN可以包括与主处理器相连的许多智能工作站。
仍然参照图2,该网络也可以包括大型机或服务器,例如网关计算机(客户服务器206)或应用服务器(远程服务器208,远程服务器208可以访问数据仓库,并且可以从工作站205直接访问远程服务器208)。网关计算机206作为进入每个网络207的入口点。在连接一个网络协议和另一个网络协议时需要网关。最好通过通信链路把网关206连接到另一个网络(如因特网207)。通过使用通信链路,也可以把网关206直接连接到一个或多个工作站101、201、202、203和204。通过利用可从IBM公司买到的IBM eServer zSeries900服务器,可以实现该网关计算机。
系统101的处理器106通常从诸如CD-ROM驱动器或硬盘的长期存储介质107上访问包含有本发明的软件程序代码。可以把该软件程序代码收录到诸如软盘、硬盘或CD-ROM的各种已知介质上,以便与数据处理系统一起使用。可以在此类介质上分发该代码,或者通过网络从一个计算机系统的内存或存储器向其它计算机系统的用户210和211进行分发,以供其它系统的用户使用。
作为选择,可以把程序代码111收录到存储器105中,处理器106通过使用处理器总线进行访问。此类程序代码包括控制各种计算机组件的功能和交互的操作系统以及一个或多个应用程序112。通常把程序代码从密集存储介质107中页面调度到高速存储器105中,以便由处理器106进行处理。把软件程序代码收录到存储器中、物理介质上、和/或通过网络分发软件代码的技术和方法是众所周知的,此处不再赘述。
在本发明的下述详细说明中,阐述了许多特殊细节,目的是为了全面理解本发明。然而,本领域的熟练技术人员将懂得,可以在没有这些特殊细节的情况下实施本发明。在其它情况中,没有详细描述众所周知的方法、过程、组件和电路,所以不会无谓地搞混本发明的各个方面。
下面的详细说明的某些部分是用过程、逻辑块、处理以及计算机内存中的数据位上的操作的其它符号表示展现的。这些说明和表示是数据处理领域的熟练技术人员向该领域的其它技术人员最有效地表达其工作的实质时使用的方法。本文认为过程、逻辑块、处理、步骤等是导致所需结果的独立的步骤或指令的序列。步骤是需要对物理量进行物理处理的步骤。通常,尽管不是必要的,这些物理量采取的形式为能够在计算机系统中进行存储、传送、组合、比较或进行其它处理的电信号或磁信号。已经证明,有时(主要是因为使用习惯的原因)把这些信号称作位、值、元素、符号、字符、项、数字等是方便的。
然而,请记住,需要把所有这些术语以及类似术语和适当的物理量联系起来,并且它们仅仅是应用于这些物理量的方便标记。除非明确指出,否则正如在以下论述中看到的那样,可以理解,在本发明中,采用诸如“处理”或“计算处理”或“计算”或“确定”或“显示”之类的术语的论述系指计算机系统或类似电子计算设备的动作和处理,其中计算机系统或类似电子计算设备操作计算机系统的寄存器和内存中表示为物理(电子)量的数据并将其转换为计算机系统内存或寄存器或其它的此类信息存储器、传输或显示设备中同样表示为物理量的其它数据。
根据位于en.wikipedia.org/wiki/URL站点的万维网上的维基百科,每个URL都是一种统一资源标识符(URI),更准确地,URL的集合是URI的适当的子集。URI标识特定资源,而URL既标识资源,也指出了如何定位资源。为了说明其区别,考虑URI urnL:ietf:rfc:1738,它标识IETF RFC 1738,而没有指出从哪里查找该RFC的文本。现在考虑包含该RFC的文本的三个独立文档的三个URLURL-www.ietf.org/rfc/rfc1738.txtURL-www.w3.org/Addressing/rfc1738.txt
URL-rfc.sunsite.dk/rfc/rfc1738.txt每个URL唯一标识每个文档,因此,它自己是URI,但是URL句法是这样的,其身份允许它对这些文档中的每个文档进行定位。因此,URL可以作为该文档的地址。在本说明书中,提及的统一资源地址(URA)通常表示URI寻址或URL寻址或任何等效的寻址术语。
从历史观点上说,这些术语几乎是同义的,因为几乎所有的URI也是URL。鉴于此,本文中的许多定义提及URI代替URL;其论述同样适用于URI和URL。
图3刻画本发明响应用户315请求301用于HTTP GET请求301的标准关键字时本发明的示例实现。配置文件304位于302任意仓库303中。该图演示使用以下处理的配置文件,即,DNS CNAME解析305,对查询参数进行重新排序309,删除瞬变查询参数306,以及包含从用户310 313 315收集的信息。所有这些处理均有助于307 308311标准关键字314的生成312。
图4刻画本发明响应用户315的请求401生成用于HTTP POST请求402的标准关键字时本发明的示例实现。配置文件404位于403任意仓库415中。该图演示使用以下处理的配置文件,DNS CNAME解析405,包含POST数据的选择性部分406,以及删除无关参数409。所有这些处理均有助于407 408 411标准关键字414的生成410。
图5A和5B演示起因于映射到同一web内容的多个URL的现有技术的高速缓冲服务器的缺点。在502,户506对所搜索的在高速缓冲存储器中没有找到的URL进行HTTP GET请求501。检索该页面504,并且在高速缓冲存储器中存储505,然后向用户返回503。在图5B中,在高速缓冲存储器中仍然找不到指向同一资源的不同的URL502,因此必须检索504,并且再次在高速缓冲存储器中存储505,然后向用户返回503。
图6A和6B演示在图5A和5B展示的情况中使用本发明。用户608发出某个URL的HTTP GET请求601,该请求被转换为标准关键字602 403 410。在两种情况中,生成的关键字603是相同的,尽管提交的URL不同。因此,在第一种情况中(图6A),在高速缓冲存储器中没有找到该关键字604,这迫使该高速缓冲存储器检索页面内容605,并且在该高速缓冲存储器中存储与关键字相关联的页面内容607,然后向用户返回该页面内容606。在图6B中,采取不同的路径在高速缓冲存储器中找到该关键字604,直接向用户返回该页面内容606。因此,配置文件根据完全不同的URL生成一致的关键字,从而当两个不同的URL请求映射到同一网页资源时,高速缓冲服务器能够正确实现。
图7A和7B演示把注释和web引用联系起来的现有技术的引用程序的缺点。因为一个URL可以映射到随其它因素(POST数据,cookies等)而定的不同网页,所以检索的带注释的引用也许不能把该用户导航到原始网页。在图7A中,用户707发出用于web资源703的HTTP POST请求701 702。然后在任意的仓库706中保存返回的网页703以及关联的带注释的评论704 705。在图7B中,用户756定位上面引用的带注释的评论751,并请求查看引用的网页752。现有技术的引用程序在其存储器754中查找关联的URL,并尝试使用HTTP GET检索存储的URL753。结果是空条目被返回给用户755。
图8A和8B演示在图7A和7B展示的情况中使用本发明。配置文件生成包含除该URL之外的足够信息的关键字,以使该URL唯一标识特定网页内容。引用程序可以使用该关键字中的附加信息以生成能够正确检索最初引用的网页的HTTP请求。在图8A中,用户809发出HTTP POST请求801802,该请求返回百科全书条目803。使用本发明的引用程序希望在其任选的存储器805中的百科全书条目上保存注释804。该程序请求806 401标准关键字414 807来表示返回百科全书条目803的HTTP POST请求801 802。该程序存储与该标准关键字808关联的注释。在图8B中,用户855找到上面的注释851并希望查看引用的网页。该程序使用存储的标准关键字856生成853成功检索用户的原始百科全书条目854的所有的原始HTTP POST请求852。
本发明使处理HTTP web请求的软件应用程序能够使用公用策略生成唯一标识某一请求返回的网页内容的关键字。当应用程序请求特定HTTP请求的关键字时,本发明的示例开始实施。本发明通过定位用于请求的URL的关键字生成策略开始实施。在本发明的一个实施方式中,通过查询众所周知的公用策略仓库定位该策略。在一个选择性实施方式中,该系统通过查询与正服务于目标网页的主机相关性的已知位置来定位策略。
被检索的策略可以任意地包含该系统应用于HTTP请求和URL以获得关键字的许多转换。图3和图4表示这些转换处理的两个例子。允许的转换包括但不限于对GET请求的查询串中的或POST请求的数据的内容中的查询参数重新排序;删除不影响返回页面的GET请求的查询串或POST请求的数据的内容中的查询参数。例如,可以用会话ID来标识用户在网站上的特定登录实例,但是它并不是有效的永久关键字,而是必需用验证信息替换(见下文);可以使用DNS CNAME(标准名称)记录查找来标准化该URL的主机名;参数转换。基于特定网页的特性,可以采用任意方式转换某些GET请求查询串参数或POST数据参数。例如,如果生成该内容的web应用程序以不区分大小写的方式处理某些参数,则该策略规定,当该关键字中包含该参数时,将使该参数的值变成小写;包含与该请求一起发送的cookies或其它报头。Cookies是从web客户机向web服务器发送“带有状态的”信息时普遍使用的标准化的HTTP报头;cookies(或其它任选HTTP报头)中包含的信息可能影响web服务器回送的内容。因此,策略可以规定包含哪个HTTP报头作为该关键字的一部分。在cookies的情况中,cookies是指定的属性,该策略规定仅仅包含发送到web服务器的一些而不是全部cookies。
向GET查询串或POST查询数据中添加查询参数。某些网站具有不断重复请求的动态内容,即使在该URL中包含适当参数或从URL排除适当的参数,也不能保证相同的内容。某些这种网站具有能够检索某一特定时刻的数据的快照的特定存档模式,策略可以规定添加适当参数以触发此类存档模式;包含HTTP基本身份验证信息。某些受密码保护的网站的HTTP请求包含用于该网站的用户名和密码的散列组合。策略可以规定关键字中包含该信息,从而在未来请求中可以再次发送该信息以重新验证用户的身份;或者来自用户的交互请求信息。唯一标识网页的内容所需要的某些信息不能直接作为URL或HTTP请求的一部分而可用。例如,基于会话的验证系统可以接受一个请求上的用户名和密码,然后在后续请求中依赖瞬变会话ID。如果这些后续请求的某一请求需要生成关键字,则该策略必须规定该系统提示用户输入正确的用户名(或许还有密码)以便结合作为关键字的一部分。
应用程序应该使用通过应用该策略所得到的结果作为唯一标识网页的内容的关键字,随后如果需要则从web服务器中检索该网页。图6A和6B以及图8A和8B表示为此目的而使用本发明的情况。
请注意,在本发明的一个实施方式中,同样的一般策略可以应用于所有URL,但是优选实施方式的一个重要特征是,众所周知的策略可以公开得到,并且可以针对特定URL进行定制。
图3表示经由HTTF GET检索的示例URL的示例标准。
图4刻画对POST请求起作用的本发明的例子。
如果没有基于配置文件的URL标准,诸如web高速缓冲服务器的把内容和URL联系起来的应用程序会以相同内容的许多拷贝告终,从而会降低高速缓冲存储器的潜在效率。
参照图6A和6B,根据本发明的某一实施方式,配置文件知道删除不影响该页面的内容的URL的瞬变部分。因此,两个不同的URL映射到同一关键字,并且高速缓冲存储器能够第二次跳过该页面请求,而使用该页面的高速缓冲版本。在高速缓冲服务器上需要比较少的存储量,并且可以提高高速缓冲存储器的效率。
参照图7A和7B,在没有本发明的情况下,只要网页是由URL独自指定的,查看数据时必须为与一些数据相关的网页存储关键字的应用程序将失败。
参照图8A和8B,用于encyclopedia.com/entry.cgi的配置文件返回知道在关键字中必须包含POST数据所必需的信息以唯一标识该网页的内容。同时,该配置文件告知POST数据的“from”部分与返回的内容无关。通过存储并且稍后检查配置文件增强的关键字,引用程序稍后可以向用户展示最初引用的正确的页面内容。
在优选实施方式中,利用存储的用户/服务器配置文件提供用于创建关键字的标准。将利用该配置文件来转换诸如下面的Google搜索查询的URLHTTP://google.com/search?q=patent&sourceid=rnozilla-search&start=0&start=0&ie=utf-8&oe=utf-8&client=firefox-a&rls=org.mozilla:en-US:official在一个例子中,客户机查询用户/服务器配置文件存储器以获取与用户当前的URL中的“主机”或“主机+路径”信息匹配的配置文件.客户机接收下面展示的配置文件1.<?xml version=“1.0”encoding=“UTF-8”standalone=“yes”?>
2.<Profilexmlns=“HTTP://www.ibm.corn/schemata/urlcanonicalization”id=“urn:lsid:ibm.com:uc-profiles:google-search”>
3.<base>HTTP://google.com/search</base>
4.<name>Google Search</name>
5.<description>A URL Canonicalization profile for GoogleSearch</description>
6.<apply>
7.<resolve-dns-cname-true</resolve-dns-cname>
8.<include>http-param name=“q”/>
9.<include>http-param name=“ie”>
10.<lowercase>yes<lowercase>
11.</include-http-param>
12.<include-http-param name=“oe”>
13.<lowercase>yes<lowercase>
14.</include-http-param>
15.<include-http-param name=“num”/>
16.<include-http-param name=“start”remove-duplicates=“yes”/>
17.<sort-http-params direction=“ascending”collation=“codepoint”/>
18.<include-http--header name=“Cookie”/-19.</apply-20.</Profile-使用“profile:id”属性来普遍区分该配置文件和处理该web应用程序的任何其它配置文件。“base”元素匹配客户机的URL的某一部分与用来处理该URL的额外信息。“name”和“description”元素仅仅用于用户界面显示。“apply”元素包含用来定义该URL的标准化处理中的转换的其它元素。在所提供的例子中,仅仅展示了处在本发明的假想XML名字空间下的元素,但是可以预料,通过使用第三方的XML名字空间,可以容易地扩展该处理。该配置文件调用的第一个转换是解析把“google.com”变成“www.google.com”的主机的DNS CNAME。在“resolve-dns-cname”之后,有许多“include-http-param”元素,这些元素指示我们想仅仅在该处理中保持HTTP参数。“includehttp-param”内有某些额外的处理指令,例如,把参数的值变成小写,或删除客户机错误包含进来的重复参数。接着是“sort-http-params”转换,该转换通过使用UNICODE码点校对方法,按升序重新排列HTTP参数。另外,该转换处理将包括在该URL中找不到的部分信息,例如,请求该URL时向服务器发送的“Cookie”HTTP报头。
在成功处理“apply”元素内的所有转换元素之后,新的标准URL为www.google.com/search?ie=utf-8&oe=utf-8&q=patent&start=0本文刻画的流程图仅仅是例子。可以对本文描述的这些示图或步骤(或操作)作出许多变更而并不背离本发明的实质。例如,可以按不同顺序执行这些步骤,可以添加、删除或修改这些步骤。所有这些变更均被视为是主张权利保护的本发明的一部分。
尽管举例说明并描述了本发明的优选实施方式,但是应该理解,本发明并不限于本文公开的精确构造,并且“保留”属于所附权利要求书定义的本发明的范围内的所有变更和修改的权利。
权利要求
1.一种用于生成唯一的因特网统一资源关键字的计算机实现的方法,该方法包括接收web文档的请求,该请求包括统一资源地址(URA),该URA包括统一资源标识符(URI)或统一资源定位符(URL)中的任意一个;获取关键字生成策略;基于所获取的关键字生成策略和该URA,生成唯一的URA关键字。
2.根据权利要求1的方法,其中该关键字生成策略包括以下处理中的任何一个包括信息,排除该信息,或转换该信息;其中该信息包括以下之一URA,HTTP请求报头,或HTTP请求数据。
3.根据权利要求2的方法,其中所述转换信息步骤还包括由以下处理组成的步骤中的任何一个查找DNS CNAME,对查询参数重新排序,删除一个或多个查询参数,包含HTTP报头,添加附加查询参数,包含POST请求数据,包含http基本身份验证信息,或提示用户提供附加信息。
4.根据权利要求1的方法,该方法还包括以下步骤检索与该URA关联的页面的组成部分;把生成的URA关键字和检索到的组成部分联系起来;在高速缓冲存储器中保存检索到的组成部分以及有关的生成的URA关键字。
5.根据权利要求1的方法,该方法包括以下步骤接收该web文档的请求;以及从该高速缓冲存储器中检索保存的检索到的组成部分和有关的生成的URA。
6.根据权利要求1的方法,该方法还包括以下步骤把唯一的URA关键字和外部数据联系起来。
7.根据权利要求6的方法,该方法还包括以下步骤接收请求以提供该web文档;以及使用唯一的URA来获取该外部数据,以提供该web文档在唯一的URA关键字被关联时所存在的版本。
8.根据权利要求1的方法,其中策略包括以下策略之一与该URA有关的策略,与用户有关的策略,web服务提供的策略,独立于该URA的策略,或独立于任何URA的策略。
9.根据权利要求1的方法,其中所述获取关键字生成策略步骤还包括以下步骤中的任何一个接收来自应用程序的策略;从已知的公用策略仓库中提取策略;从可查询的服务器中提取策略;从与为当前web文档提供空间的主机相关的已知位置提取策略;或者从与为当前web文档提供空间的主机的根目录相关的已知位置提取策略。
10.一种用于生成唯一的因特网统一资源关键字的系统,该系统包括网络;与该网络通信的服务器系统;与该服务器通信的客户机系统,其中该系统包括用于执行由以下处理步骤组成的方法的指令接收web文档的请求,该请求包括统一资源地址(URA),该URA包括统一资源标识符(URI)或统一资源定位符(URL)中的任意一个;获取关键字生成策略;基于获取的关键字生成策略和该URA,生成唯一的URA关键字。
11.根据权利要求10的系统,其中该关键字生成策略包括以下处理中的任何一个包括信息,排除该信息,或转换该信息;其中该信息包括以下之一URA,HTTP请求报头,或HTTP请求数据。
12.根据权利要求11的系统,其中转换该信息的步骤还包括由以下处理组成的步骤中的任何一个查找DNS CNAME,对查询参数重新排序,删除一个或多个查询参数,包含HTTP报头,添加附加查询参数,包含POST请求数据,包含http基本身份验证信息,或提示用户提供附加信息。
13.根据权利要求10的系统,还包括以下步骤检索与该URA关联的页面的组成部分;把生成的URA关键字和检索到的组成部分联系起来;在高速缓冲存储器中保存检索到的组成部分以及有关的生成的URA关键字。
14.根据权利要求10的系统,其中获取关键字生成策略的步骤还包括由以下处理组成的步骤中的任何一个接收来自应用程序的策略;从已知的公用策略仓库中提取策略;从可查询的服务器中提取策略;从与为当前web文档提供空间的主机相关的已知位置提取策略;或者从与为当前web文档提供空间的主机的根目录相关的已知位置提取策略。
15.一种用于生成唯一的因特网统一资源关键字的计算机程序产品,该计算机程序产品包括处理电路可读的存储介质,该存储介质存储用于该处理电路执行权利要求1-9之任一权利要求的方法步骤的指令。
全文摘要
根据获取的关键字生成策略生成用于web文档的唯一的URL关键字。根据该策略对网页的URL进行句法分析,以便生成该URL关键字。更可取地,该关键字生成策略从与该网页关联的公知消息来源中获得。
文档编号G06F17/30GK1963811SQ20061009226
公开日2007年5月16日 申请日期2006年6月15日 优先权日2005年11月10日
发明者伊莱亚斯·托里斯, 肖恩·J·马丁, 西蒙·L·马丁, 李·费根鲍姆 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1