检索网络文件的方法和网络服务器的制作方法

文档序号:6630599阅读:143来源:国知局
专利名称:检索网络文件的方法和网络服务器的制作方法
技术领域
本发明涉及一种检索网络文件的方法。更具体地,本发明涉及网络文件描述语言、网络服务器、网络文件传输协议和计算机软件产品。
本发明基于在先申请EP 04291846.6,在此引入作为参考。
背景技术
互联网主要包括网络服务器和客户机。网络服务器是传递(提供)超文本标记语言(HTML)页面的计算机。每台网络服务器都有一个网际协议(IP)地址,还可能有一个域名。如果客户机通过统一资源定位器/标识符(URL/URI)请求资源,则请求被发送到对应URL/URI的服务器。
网络文件是用描述语言(例如HTML或XHTML)表现的信息,它专用于从服务器传输(根据某一协议)到客户机,并且(信息)可以在客户机上提取,即呈现。
超文本传输协议(HTTP)是服务器和客户机使用的底层协议。HTTP定义了消息如何构成和传送,以及网络服务器和客户机应采取什么动作响应各种命令。例如,当在客户机上请求URL输入时,这实际上是向网络服务器发送HTTP命令,指示它取得并传送所请求的页面。
另一个控制万维网如何工作的主要标准是超文本标记语言(HTML),它管理网页如何构成及显示。
HTTP被称作无状态协议,因为每个命令都是独立执行的,不需要任何之前的命令的信息。这是很难实现智能反应的网站的主要原因。
万维网协会在http//www.w3.org/MarkUp/和http//www.w3.org/Protocols/上对HTML和HTTP进行了具体说明。
HTTP目前的通用方法集是GET、HEAD、POST、PUT、DELETE、TRACE和CONNECT。GET方法检索由Request-URI标识的任何信息(以实体的形式)。如果Request-URI涉及数据产生进程,则是产生的数据应作为实体在响应中返回,而不是进程的源文本,除非该文本恰好是进程的输出。
如果请求消息包括If-Modified-Since、If-Unmodified-Since、If-Match、If-None-Match或If-Range头字段,则GET方法的语义可以变为“条件GET(conditional GET)”。条件GET方法要求实体只在由条件头字段描述的环境下传输。条件GET方法是用来通过允许储存的实体无需要求多个请求或传输客户机已经掌握的数据来更新以减少不必要的网络使用。
如果请求消息包括范围头字段,则GET方法的语义变为“部分GET(partial GET)”。部分GET要求只传输实体的一部分。部分GET方法是用来通过允许部分检索的实体无需传输客户机已掌握的数据来完成以减少不必要的网络使用。
所有HTTP实体在HTTP消息中都表现为字节序列,字节范围的概念对于任何用于部分GET方法的HTTP实体都有意义。字节范围操作可以指定字节的单个范围,或单个实体中的一组范围。
为了实现(动态的)反应或交互网站,必须用到其他技术。例如客户机服务器交互的窗体(form)技术通过在X个窗体中集成简单对象应用协议得到增强。目前有某些增强的网络服务器,如生成动态网页的应用服务器或能够执行多种小服务程序(servelet)(例如Tomcat、现用服务器页面ASP或类似Java脚本或PHP的脚本语言)的网络服务器。
目前的互联网传输协议既不适合于交换也没有在语义(基于内容)级上交互。它们主要通过超链接和基于地址传输信息,如URI,即引用交互,支持导航。
检索进程通常被分成页面提供装置(如窗体)以将请求公式化,该请求强制查询一些外部显示(foreign presentation),例如数据库,根据查询结果生成新的页面,并将新页面传送到请求方。
目前例如Xcerpt(说明性的基于规则的查询)和XML的转换语言(由逻辑编程引起的)的开发不能嵌入或集成类似呈现的信息。(不同于由例如XSLT和Xquery的语言使用的基于路径的导航方法,Xcerpt使用基于模式的位置查询,其中模式是包含绑定内容的变量的数据库的“实例”。)当搜寻特定内容时,搜索引擎必须集合已公开的内容以使其可以索引访问,例如通过模式匹配搜索或者对数据库的布尔查询。互联网搜索引擎通常是具有大型数据库的大规模计算机群,这些数据库存储有索引的网络内容,并不间断地扫描和/或引用每个关键字或搜索表达式的链接。
本发明解决的问题是增强如互联网的网络的检索能力,以及通过替换当前采用的直接(引用)方法(即提供自动概述的自组织网络文件,而不是提供多种组合概要信息的搜索引擎)以增强相关网络文件的结合。
目前,不可能要求服务器其是否提供满足某一特性的页面。这样的特性例如可以是合一(unification)条件。
简略地,合一是模式匹配的概括,模式匹配是与逻辑中的实例化等效的逻辑编程。当两个项,例如网络文件,要被合一时,它们被相互比较以标识出使其彼此相似的信息。变量部分(例如占位符或通配符)被绑定或例示,这样两个文件是相似的。这个想法可以例如采用罗宾逊(Robinson)算法实现。合一的结果是一组变量绑定(已知如合一器)的成功或失败。对任何两项来说,可能有很多这样的合一器。Baader和Snyder在他们1999年由Elsevier出版社出版的“自动推理手册”中关于合一理论的章节中给出了关于合一理论的概括。

发明内容
检索能力被增强,即通过一种检索由网络服务器提供的网络文件的方法解决问题,该方法包括以下步骤-向网络服务器请求第一网络文件;-根据第一网络文件包含的检查要求请求第二网络文件的内容分析;
-根据检查要求分析第二网络文件的内容;-将分析结果集成到第一网络文件中;并最终-回复该第一网络文件。
当在分析中使用合一时,结果网络文件可能包含变量。另外,应注意到信息交换不再象在以前的客户机服务器方法中一样被定向,即绑定可以从请求站点传送到服务站点,反之亦然。
通过一种网络文件描述语言解决问题,该语言包括用于公布分发信息和检索交互信息的表达方式,还包括用于根据检查要求主动请求网络文件分析的表达方式和用于集成分析结果的表达方式。
通过一种网络文件传输协议解决问题,该协议包括以下步骤-从客户机向服务器传送网络文件请求;以及-根据网络文件请求回复;其中,所述网络文件请求包括对在服务器上触发分析的网络文件的检查要求,并且回复分析结果。
通过一种网络服务器解决问题,该服务器包括用于接收网络文件请求的接收装置,用于检索网络文件的检索装置以及用于回复网络文件的回复装置,该服务器还包括用于根据检查要求分析网络文件的内容的检查装置以及适用于回复分析结果的回复装置。
换句话说,在网络文件上增加用于分析语法项的应用程序界面,其中网络文件包括占位符(变量),适合于嵌入分析结果。优选地,该分析是基于合一的。它可以是具有变量的网络文件的语法合一,可以是匹配机制,即限制的合一,或者甚至是以某一理论为模的合一,所谓的语义合一,具有约束或不具有约束的合一,关于任何同余关系而非等同性的分析,等等。
正式地,合一问题被抽象地当作一组包含关于关系R1,…,Rk的变量X1,…,Xm的相关(超媒体)对象O1,…,On,例如O1(X1,X2)R1O2(X2,X3)O2(X2,X3)R2O3(X4)O1(X1,X2)R1O3(X4)。
一种解决方案是变量绑定,即映射X1->S1,X2->S2,X3->S3,和X4->S4,使得O1(S1,S2)R1O2(X2,X3)O2(S2,S3)R2O3(S4)O1(S1,S2)R1O3(S4)适用。就是说,占位符可以用满足约束的替代物(实际对象)代替(例示),即使得对象是相关的。
因此,本发明的目的和优点是提供具有允许基于内容和结构的信息访问和交换的界面的动态网络文件资源。
本发明的另一个优点是它归纳了众所周知的网络文件的请求回复交互隐喻。本发明归纳了当前的服务器和客户机,例如浏览器。其思想容易理解并易于使用。它增强了信息检索和一致性,因此期待大量的应用。为此存在有效的合一算法可用。
本发明的另一个优点是由于分析复杂性的分布(自然分布,负载平衡),减少了特别是搜索引擎的存储器和处理要求。当应用合一时,分析甚至变得相关联和可交换,其优点是合一(分析)的分布的高自由度;即合一的关联性和可交换性支持平行分布式处理unify(A,unify(B,C))=unify(unify(A,B),C)unify(A,B)=unify(B,A)。本发明支持未来的“网络中心(WEB-centric)”应用,例如非常依赖内容(信息)交换的语义网络。


根据附图及随后的说明,本发明的上述和许多其他目的和优点对于本领域普通技术人员变得更明显,其中图1是示出现有技术中检索网络文件的客户机服务器关系的示意图;图2是说明根据本发明的检索由网络服务器提供的网络文件的方法的示意图;
图3是根据本发明的方法的迭代应用的示意图;图4是说明根据本发明的网络文件传输协议的示意图。
具体实施例方式
本领域普通技术人员会认识到以下对本发明的描述只是说明性的,并不是以任何方式限定。根据公开的一个测试,本领域普通技术人员可以很容易联想到本发明的其他实施例。
网络内容合一(信息适应)在智能多媒体合作和交流中起到中心作用。特别地,需要增强在浏览器内的多媒体信息的访问和检索。单纯基于地址的访问不适合。本体和层级与搜索引擎都不适合于在网络中恰当地处理信息呈现和检索。
目前,有许多多媒体信息的搜索引擎和访问方法,如Netscape(网景)的漏斗(funnel)、google、个人化门户、统一资源(定位器)标识符、信息的分层或关系组织等等。基本信息交换是使用访问的语法模式匹配。这是低效的,并且在访问进程中隐藏信息(如图形或上下文)。
因此,建议增强采用包含变量的语法项查询的适合于合一的网络文件访问,并在网络服务器端进行作为检索机制的匹配或甚至合一。
目前的HTML文件提供超引用(hyper reference)概念以取得整个文件。这对于例如搜索引擎应用或语义网络不利。目前克服这个信息检索的不足的趋势是通过自动设备和类似设备收集、分析、计算和存储(索引)网页。
目前,如图1所示,客户机C,通常是网络浏览器,使用资源标识符ID如URI向服务器S请求(1)req网络文件D。在第二步骤中,服务器S检索(2)ret请求的文件D并根据某个传输协议(例如http)向客户机C回复(3)rep文件D或更精确地回复文件的描述,如HTTP。客户机C呈现(4)pre该文件D。
HTTP/http技术允许请求和传输完整的网络文件(或部分前缀)。这项技术的应用是众所周知的,例如通过搜索引擎连续地收集网页信息(或仅仅存储网页信息的词典),即网络文件,并集合该信息用于原文检索。
下面利用某些类的Java应用编程接口解释本发明。
类HttpURLConnection的实例用于产生单个请求,除了产生与HTTP的底层网络连接以外。该类的方法准确反映了http/HTML通信的特性


类HTMLDocument扩展了DefaultStyledDocument。它是模拟HTML的文件。该模型的目的是既支持浏览又支持编辑。结果,由HTML文件描述的结构没有准确地被默认复制。由默认模拟的元素结构由类HTMLDocument.HTMLReader建立,该类执行解析器期望的HTMLEditorKit.ParserCallback协议。为了改变结构,可以将HTMLReader分成子集,并重新执行getReader(int)方法以返回新的阅读器工具。对于产生的默认结构的细节应参考HTMLReader的文件。其目的是文件是无损失的(尽管重新产生HTML格式可能导致不同的格式)。
文件只模拟HTML,并且没有试图在其中存储视图属性。元素由标识元素种类的StyleContext.NameAttribute属性标识。Base特性确定URL,对照它决定相关的URL。该文件的默认内容存储机制是间隙缓存器。
在该类中有许多方法,如扩展和构造器方法。



甚至在具有规定为HTML字符串的内容的父元素中的给定元素的替换也通过setOuterHTML(Element elem,String htmlText)实现。
这个实现明确指出的是它不支持任何文件、内容的扫描本发明通过信息检索API提供增强的文件(搜索结果文件和被搜索的文件)交互能力。这样的API可以首先浏览语法匹配,例如public boolean matches(DocumentExpression regex)指出“它”(网络文件对象本身)是否与给定的规范文件表达相匹配。它的调用当且仅当它(文件)与给定的规范表达匹配时可能正好产生真。可选地,它甚至可能利用例示该文件中的变量的边界效应将两个文件在语法或结构上进行合一。
该方法可以与例如HTMLdocument类相关联。结果,对象即文件可以通过建议的交互方法逐渐地交换信息,即合一、受约束的合一或概括的合一,其中等同性是规定的等价关系。舒服的界面可以是unifyElements(VariableHTMLdocument htmlExpression,Constraintsconstraints,Relation relation),其返回合一器,即绑定htmlExpression中的自由变量的元素的替代物,使得替换了变量的HTMLdocument和htmlExpression在约束下相关。
图2示出了由该增强促成的合作。在第一步骤中,客户机C请求(1)req由资源标识符ID和类似上述参数的合一问题RE标识的合一器(或网络文件匹配器)。然后服务器S必须评价,即执行相应的回复。在第二步骤,它必须分析、检索和计算(2)anl/ret请求的合一器。之后,服务器S应将结果网络文件D与信息绑定BI进行通信(3)rep,如果合一,则BI是合一器。在下一步骤中,客户机C可以接收该信息,并将其嵌入(4)emb/pre已装载的网络文件中,或只呈现该信息。
在服务器结合分析和检查方法的请求的概括允许用通配符查询。这样的检索(也是合一问题)可以是例如“亲爱的telco-vendor服务器,能否请你将你所有包含词语“产品”和“移动”且有产品表格pdf的链接的页面的页面主体提供给我。”其巧妙的效果是包含所有只与例如产品、移动或.pdf的变量、类型和结构信息对应的表达式都由合一处理,该合一将可用页面从定义的一组所有页面中分离,该组页面由定义一组页面即位于telco-vendor服务器上的页面的表达式定义。,即使服务器地址也可以应用这个思想合一。
分配器可以使用该自动搜集的信息来提供具有信息集合的页面,而无需内部链接网站和考虑引用(链接)的完整性。
图3示出了图2所示原理的迭代应用。客户机C请求(1)req由资源标识符ID和合一问题RE标识的合一器。服务器S在第二步骤(2)anl/ret中执行该请求。当进行合一时,服务器S注意到可能涉及由资源标识符ID’和合一问题RE’标识的另一个网络文件S’。因此,服务器请求(2.1)req外部网络文件(合一器)S’提供未知的信息绑定BI’,该BI’在任何服务器S’上在另一个检索、检查和分析步骤(2)anl/ret中导出。然后,结果即外部网络文件D’被回复给服务器S,并且当根据由资源标识符ID和合一问题RE标识的第一请求(1)req导出合一器时在服务器S上考虑该文件D’。当服务器S已经计算后,向客户机C回复(3)rep具有绑定BI的结果网络文件D。最后在另一个步骤中,客户机C能够将文件D嵌入(4)emb/pre已经装载的网络文件中,或只呈现该文件。
附图和场景都说明这样增强的网络文件好像是变体的实体。它们好像活着,并且只要外部嵌入的合一网络文件的结果改变,它们就会改变。实例还示出了负载分布于整个网络。实例教导服务器可以以规范的方式作为客户机。
总的说来,信息的检索是通过经由检查机制通知检索器内容(语义)访问网络文件来增强的。
从客户机服务器实现中抽取实例并集中于网络文件和传输协议产生了图4。这里,示出了网络文件D具有嵌入的网络文件D’,而网络文件D’递归地具有嵌入文件D”。文件D的描述包含合一请求,假设其通过检查ins外部文件D’并集成或嵌入emb检查结果导致相应的合一器绑定BI,例如前述的合一器。外部文件D’可能本身也包含合一请求,假设其导致相应的合一器绑定BI’。递归地,通过检查ins’另一个外部文件D”并嵌入emb’检查结果,导致相应的合一器绑定BI。为了避免无限的循环关系,协议可以不允许涉及已经涉及的文件。
虽然在此介绍并描述了本发明的优选实施例和应用,但可以在本发明的思想、范围和精神内做出很多变形和修改,对于本领域技术人员在熟读本发明后,这些变形会变得更清楚。
例如可以安排检索进程,使得最后的合一器即所有中间合一器的级联可以在最初的请求发起方完成。
作为合一机制,例如语法合一可以与例如Martelli、Montanari算法一起应用,尽管合一的惰性窗体(lazy form)(例如变量匹配、微弱合一、朴素模式匹配)和例如Knuth、Morris和Pratt算法可能可行。
有许多具有已知变量的项的快速重组机制,例如联合查找算法可以用于级联以及提供集合的网络文件的呈现。应当注意,所有可应用于项的技术也可应用于网络文件,因为它们只呈现为(标签)树,即项。因此,例如子项、替代、合一、重写等的思想可以直接应用。如果有不确定的合一结果,则相应的迭代器可提供所有的结果。
为了教导网络文件和代表项之间的联系,给出了下面的HTML 4.01(见例如HTML 4.0W3C规范)实例。类似的技术应用于任何类似文件表达语言的结构标记,例如XHTMS,SGML,XML等等。
HTML文件通常包含三个部分包含版本信息的行,说明性的头部分(由头元素定界),和包含文件实际内容的主体。这里是一个简单的HTML文件的例子<!DOCTYPE HTML PUBLIC“-//W3C//DTD HTML 4.01//EN”
“http//www.w3.org/TR/html4/strict.dtd”>
<HTML>
<HEAD>
<TITLE>My first HTML document</TITLE>
</HEAD>
<BODY>
<P>Hello world!</BODY>
</HTML>
相应项可以读取为DOCUMENT(<!DOCTYPE HTML PUBLIC“-//W3C//DTD HTML 4.01//EN”“http//www.w3.org/TR/html4/strict.dtd”>,<HTML>(<HEAD>(<TITLE>(My first HTML document)),<BODY>(<P>(Hello world!)))其中,黑体字“(”、“)”和“,”是定界符号。通常,标记标签<begin tag param 1,…,param2> <end tag>
被翻译成项tag(param1,…,param2,[|term of nested tag1|],…,[|term of nested tag2|])这个原则适用于所有标记类似语言(或者至少完成的版本(见HTML实例中的段落的结尾标签“<\p>”被删掉了))。因为上述映射(实际是同形)是注入的,而且每个(结构良好的)项对应一个(标记)文件。
如在Baader和Snyder的论文的第二部分(即在一组变量符号上的结构良好的项产生的自由代数学)介绍的这样的具有变量的(结构良好的)项对应具有空位(占位符)的文件描述,即变量。参见实例DOCUMENT(<!DOCTYPE HTML PUBLIC“-//W3C//DTD HTML 4.01//EN”“http//www.w3.org/TR/html4/strict.dtd”>,<HTML>(<HEAD>(<TITLE>(My first HTML document)),<BODY>(X))该(结构良好的)项具有作为BODY的变量“X”。当对上述给定的第一个示例进行合一时(或更精确的匹配-因为第一个实例没有变量),合一器将“X”与“<P>(Hello world!)”绑定。
变量即文件的空位可能具有专用的语义,例如限制合一领域,即关于理论,规定相对于应由特殊算法(例如没有出现检查等等)所合一的内容或位置(即哪个网站)或方式(例如惰性)的组。
Prolog代表逻辑编程、逻辑编程范例,与该思想密切相关。逻辑和由此的Prolog都基于数学的关系概念和逻辑推理。Prolog是说明性的语言,意味着不是描述如何计算解决方案,而是程序包含事实的基础和描述保持给定应用维持的关系的逻辑关系(规则)。不是运行程序以得到解决方案,而是用户问问题。当问问题时,运行时间系统搜索事实和规则的数据库以确定(通过逻辑推论)答案。
在Prolog的特性中是逻辑变量,其是指它们表现得像数学变量,有力的模式匹配工具(合一)、搜索证据的反向跟踪策略、统一数据结构以及输入输出是可以互换的。
经常会有多于一个的方式推导出答案,或者有多于一个的解决方案,在这样的情况下,可要求运行时间系统找到其他解决方案(例如通过反向跟踪或并行提供可选择的方案)。
换句话说本发明是使网络文件具备接口机制,允许在语法上交换所述文件的特定部分。任何Prolog指南都提供类似合一的信息交换的优点,以及如何用于对信息结构建模。即使网络搜索引擎的复杂检索机制也变成简单的元翻译器,例如在类似Prolog的符号中,find(A)-site(C),find(A at C).
find(A op B at C)-find(A at C)op find(B at C).
find(A at C)-retrieve(B),unify(A,B).
其中,表述“retrieve”代表检查文件数据库,“unify”代表将两个网络文件合一,“site”代表检索网站。插入词“op”是类似布尔(插入)的运算器。
权利要求
1.一种检索由网络服务器提供的网络文件的方法,其包括以下步骤-向所述网络服务器请求第一网络文件;以及-将所述第一网络文件回复;其中所述方法还包括以下步骤-根据所述第一网络文件包含的检查要求,请求第二网络文件的内容分析;-根据所述检查要求分析所述第二网络文件的内容;-将分析结果集成到所述第一网络文件中。
2.如权利要求1所述的方法,其中,所述检查要求是合一问题;所述分析是所述变量绑定是分析结果的合一。
3.如权利要求2所述的方法,其中,所述合一具有约束。
4.一种网络文件描述语言,其包含用于表示信息和信息访问的表达方式,其中,所述网络文件描述语言还包含用于根据检查要求请求网络文件分析和集成分析结果的表达方式。
5.如权利要求4所述的网络文件描述语言,其中,所述表达方式是规定分析模式和集成模式的标记。
6.一种网络文件传输协议,包含以下步骤-从客户机向服务器传送网络文件请求;以及-根据所述网络文件请求回复;其中,所述网络文件请求包含对在所述服务器上触发分析的网络文件的检查要求;所述分析结果被回复。
7.一种网络服务器,其包括用于接收网络文件请求的接收装置,用于检索网络文件的检索装置,以及用于回复所述网络文件的回复装置,其中,所述网络服务器还包括用于根据检查要求分析所述网络文件的内容的检查装置;所述回复装置适用于回复分析结果。
8.如权利要求7所述的网络服务器,其中,所述网络服务器进一步包括用于将分析结果集成到网络文件中的集成装置。
9.一种计算机软件产品,其中所述计算机软件产品包括适用于执行如权利要求1所述方法的编程装置。
10.如权利要求9所述的计算机软件产品,其中,如权利要求4所述的网络文件描述语言被用于表现网络文件。
全文摘要
本发明涉及一种检索由网络服务器提供的网络文件的方法,其中所述方法包括向网络服务器请求网络文件以及将网络文件回复的普通步骤,还进一步包括根据检查要求请求分析、根据检查要求在网络服务器分析网络文件的内容以及回复分析结果的步骤。本发明还涉及网络文件描述语言、网络服务器、网络文件传输协议以及检索网络文件的计算机软件产品。
文档编号G06F17/30GK1728710SQ200510085120
公开日2006年2月1日 申请日期2005年7月20日 优先权日2004年7月20日
发明者P·萨博, H·勒斯勒尔, M·W·霍赫 申请人:阿尔卡特公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1