来自异构数据源的信息的分布式查询和表示的系统和方法

文档序号:6419881阅读:172来源:国知局
专利名称:来自异构数据源的信息的分布式查询和表示的系统和方法
技术领域
本发明涉及一种客户机-服务器计算技术领域,更具体地说,本发明涉及异构(heterogeneous)的数据源的自动查询和通过公共接口的查询结果表示(presentation)。
背景技术
近些年来,客户机-服务器计算技术是主要的计算技术范例。随着万维网的出现,客户机-服务器计算技术以远程站服务器和客户机侧应用程序的形式出现,所述远程站服务器支持信息数据库,所述客户机侧应用程序(例如web浏览器)查询远程站服务器并向用户提供查询结果。这是目前大部分万维网的情况。
近来,正在研发一类新的应用软件,其被设计用于帮助数据库拥有者使其信息更易于从万维网访问。例如,如果设计工程师想要查找例如其考虑选用的一种电路板的元件价格和可得到的程度等信息,则这些元件的制造者便有很强的动机使用使其数据库和万维网相连的应用程序。不过,由每个这种制造者提供的查询接口一般是不同的,许多都是在达到所需的查询页面之前需要几个等级的导航。此外,用户查询的结果经常以不同的格式被提供在特定的网页上。因此,典型的设计工程师一般应当访问一些制造者的站点,询问他们,并且手动地保存查询结果供以后(并且可能是冗长的)比较。
作为对上述方法的一种改进,已经出现垂直门户和电子市场,提供综合的信息以便简化搜索。其中的例子包括Chipcenter(www.chipcenter.com),E2open(www.e2open.com),Questlink(www.questlink.com),和Free Trade Zone(www.freetradezone.com)。这些工具定期地从各种web网数据资源(例如元件制造者和分配者)爬行显示(crawl)、提取和索引信息,然后对各个web客户机公布所述信息。这种方法的缺点在于,在门户处的信息经常是陈旧的,数据资源可能把门户关在外面而使得不能采集信息,并且集中的远程站服务器具有与之关联的固有的可靠性和可缩放性成本。
设计了一些基于代理的系统用于解决一些上述问题。其中的例子包括的Excite.com(www.jango.com)的Jango shopping agent和Half.com(www.half.com)的Pricing Agent。在这些系统中,响应用户请求,中央服务器产生向着远程数据资源爬行、采集信息的代理,然后,所述服务器向用户提供所述信息。注意到,这些系统中牵连客户计算机最少,因为大部分工作发生在服务器侧。代理以服务器身份运行,并因此可容易地被数据资源排除在外。
下面的美国专利描述了相关的系统授予Richard R.Chipman等人的美国专利US6038668(下文称为Chipman),以及授予HenryR.Wiliams,Jr.(下文称为Williams)的美国专利US6108686。Chipman描述了使用用于组织被置于计算机网络上的信息的预先确定的通用语言(例如HTML)和格式。门户在遵从预定的约束的每个提供者站维持一个HTML页面的表。Chipman设想每个工业部门至少具有一个控制门户(governing portal),在所述工业中的所有其他门户都从所述控制门户导出他们的公共词汇、分类法或本体论。例如,人们或许对基于XML的系统使用DTD(文档类型定义),以便每人都使用标准格式进行购买。不过,这个系统具有许多不足。卖方可能未必情愿地和这种方法协同操作,因为其需要大量的劳动用来组织用于趋于只借助于价格促进销售的所谓控制门户的信息。特别是大的卖方可能愿意以他们认为合适的方式提供他们的数据。Chipman的系统对于处理非顺从的卖方希望进行的处理不够灵活,即其不能处理不严格遵从预定约束的情况。Chipman披露了用户可以向门户供应数据,以便重新提供给其他的用户,但是不保证这种数据是精确的。最后,Chipman没有提供用于获得用来描述客户如何从远程站收集信息的规则的方法;各个用户必须直接获取信息或者手动地确定这种规则。
Williams能够使用户确定用于定位信息和检索文件的一组唯一的搜索规则。所述搜索规则(其基于主题或者是基于关键字)被提供给搜索代理,然后,所述代理按照所述搜索规则自动地访问远程数据库中的内容。Williams的系统使用和在远程数据库中存储信息所用的相同的组织结构在本地数据库中存储获取的信息。然后,用户可以对本地数据库内容运行查询,以便手动地提取感兴趣的特征。

发明内容
因而,本发明的目的在于提供一种用于检索和组织联网数据的方法,其中读取规则(fetch rule)和提取规则能够使用户自动地从远程网络站收集和提取信息。如果直接和远程站交互作用,所述读取规则便再现客户执行的交互作用,因此,和搜索代理不同,服务器不能被排除在外。优选地,通过Java小程序,所述提取规则能够使客户从获得的页面中收集相关的信息,以便利用通用接口呈现给用户。
本发明的一个相关的目的在于提供一种用于进行电子商务的方法,其中关于远程站响应性的信息、读取规则和提取规则可以在服务器和客户之间共用,以便收取费用。服务器累计卖方联系、存储查询规则,并提供公共接口规则。本发明可以收集关于卖方响应性的统计信息,并且可以把所述信息转售给卖方或其他人。
相信上述目的由下述的本发明的实施例实现了。


图1是按照本发明的优选实施例的系统的元件和方法步骤的示意图。
具体实施例方式
现在参看图1,其中示出了本发明的概况。该图表示系统元件和由所述元件按照示例的流程图执行的方法步骤。由所述方法执行的主要步骤被加以标号,用于表示在系统元件之间的操作以及信息传递的一般顺序。优选实施例的系统元件包括客户机、至少一个服务器、在客户机和服务器之间的通信链路以及Java小程序。为了简明,只示出了一个服务器的例子,但是可以使用多个服务器来增加系统的可靠性和可缩放性。
在客户机和服务器之间的任何类型的通信链路都足以满足本发明的需要,不过本发明十分希望使用万维网及其相关的通信协议,如同本领域熟知的那样。优选地,客户机和服务器能够以足够的速度执行他们的任务,使得本发明的用户感觉到基本上以实时进行操作。优选地,客户机是一种具有内装的运行时Java环境(Java虚拟机或JVM)的web浏览器;这种浏览器在本领域中是熟知的。客户机例如可以在用户的计算机上执行,或者在用户和其具有电子连接的任何远程计算机上执行。图1所示的远程站是可以由客户机访问的数据源;所述远程站例如可以包括由URL(主要是WWW地址)描述的拍卖站点或卖方网页,或者可以包括非因特网中的节点或目录。
当用户发出至少一个数据请求并将其提交给客户机时,便使本发明的方法开始,如图1的事件号1所示。用户的输入例如可以包括查询项或者查询项的组合、描述可能具有满足所述数据请求的数据的远程站的关键字、以及要被搜索的特定的远程站。然后客户机把用户的输入和用户的元数据一道传送给服务器,所述元数据一般是这样的信息,其使得小程序在获取数据时能够将其自身标识为特定用户,从而远程站不能确定用户不是正在直接地访问他们的信息。许多远程站可以检测到自动的匿名访问尝试,并特别限制或拒绝在所述尝试之后的对web爬行者(web crawler)或用户代理程序的访问。本发明旨在旁路这种访问限制。用户元数据可以包括用户标识符、口令、帐号、电子邮件地址和URL。
优选地,然后客户机通过通信链路直接把数据请求发送给服务器,如图1的事件2所示。一种典型的数据请求可以是由上市公司或共有基金在定期报告中说明的股票市场数据或者会计数据。例如,用户可能需要知道2001年IBM公司的年收益。对于这种请求,公司报告是一种好的数据源。其他的数据请求可能要求数据库查询,如在用于航班和旅馆的旅游预定系统中使用的。用户可能想要一个可能的交易的购买数据,例如在给定若干卖方的说明或零件号和运货偏好的情况下确定一种物品的价格。对于这些请求,卖方目录是一种好的数据源。电子元件的卖方可能希望使得关于他们的元件的大量数据能够以容易管理的形式得到,从而不仅价格而且其他类型的信息都能被买方辨别和考虑。一些卖方可以使用本发明来满足被设计用于识别其他卖方的远程站、在这些远程站上提供的数据以及所述数据的格式的数据请求。
接下来,服务器处理所述数据请求,以便从其存储器中选择一组相应于可能具有能够满足所述数据请求的数据的远程站的读取规则和提取规则,如图1中的事件3所示。读取规则是一组声明规则,其使得小程序能够模拟如果用户要直接和远程站交互作用以便导航含有有用数据的结果页面的话,用户将与远程站进行的交互作用。例如,读取规则可以指定经过一系列网页或者文件目录的特定导航轨道、要形成的特定数据条目、或者所需的其他接口操作,并且选择在特定位置找到的最新的或者最大的文件。提取规则是一组声明规则,其使得能够从自远程站获得的数据中提取相关信息。所述获得的数据通常呈目标网页的形式。服务器一般存储一组读取规则和一组提取规则,用于和其交互作用的所有远程站,并且可以根据用户想要的内容进行监督学习,以便形成其自身的规则,而不必手动地进行这个处理。在某种意义上,服务器是一种专家系统,用于帮助查询异构数据源。
然后服务器根据数据请求、读取规则、提取规则和用户元数据产生一个小程序。优选地,服务器利用数字X.509证书对所述小程序签名,并把所述小程序向回传送给客户机。X.509证书是一种公用密钥证书,其是来自一个实体的数字签名的陈述,说明另一个实体的公用密钥(和一些其他信息)具有某个特定的值。关于X.509证书的更多的信息可以在万维网上在java.sun.com/productd/idk/1.2/docs/guide/security/cert3.html找到,其被列于此处作为参考。Java小程序可以具有多个安全等级“高”、“中”、“低”和“非置信的”。关于小程序的安全性的更多的信息可以在万维网上在java.sun.com/products/jdk/1.2/docs/gide/security/index.html找到,其被列于此处作为参考。缺省值是小程序是“非置信”的;不允许这种小程序在用户的计算机上读或写文件、打开到除其从中被下载的计算机之外的计算机的套接字(socket)、或者读或写系统属性。不过,通过授予签名的小程序各种访问特权,实际上用户使得代码能够好像是被明确安装在用户的机器上的程序一样操作,免去了实际上安装应用程序的麻烦。通过利用这种签名的小程序,本发明使得能够进行远程查询。客户机鉴别来自服务器的小程序。然后用户向客户机表示允许签名的小程序打开和远程站的连接(所请求的安全等级的精确的粒度由浏览器实现的Java安全模块确定)。每个会话只需要进行一次这种指示。
一旦小程序在安全模式运行,最好在客户机上,其便和远程站通信,如图1的事件4所示。使用描述数据请求和用户元数据的查询串以及读取规则,服务器从至少一个远程站获得数据,所述读取规则使得其能够按照用户需要的那样访问远程站。在优选实施例中,可基本上以实时方式由小程序同时访问任何数量的远程站。获得的数据例如可以是特定的网页或查询结果。对于远程站,查询、导航命令和其他的输入看起来好像他们是由直接导航所述远程站的用户产生的一样。因此,远程站不能排除或限制由所述小程序进行的访问。
接着,小程序使用来自服务器的提取规则,从获得的数据中提取和数据请求相关的信息。这一步如图1的事件5所示。注意,优选执行所述小程序的客户机几乎执行全部计算操作;服务器提供用于描述如何得到数据并对所述数据进行摘要的规则,但是不一定处理数据本身。因此,服务器可以是非常“瘦”的,并因而可以可靠地处理来自许多不同的客户机的许多数据请求,这是因为不是其中的每一个的计算强度都很大。服务器可以对其提供的信息(例如读取规则和提取规则)和其可以提供的其他专家经验向每个客户机一道收取费用。使客户机进行本发明的大部分计算工作具有其他的优点。例如,当用户(数据请求者)知道他们负责操作时,他们对本发明的信任和他们在异构数据源上处理查询的能力增加了。此外,通过提供集中的用户交互作用和就能够基本上实时地满足数据请求而言的“立即满意”,本发明可以增加选择使其数据可用的那些卖方的即刻销售。
一旦小程序从所有远程站提取到和数据请求相关的信息,小程序便合并所述信息,并一般使用web浏览器图形用户界面将所述信息呈现给用户。对所述数据请求产生响应在图1中表示为事件6。所述合并例如可以包括把对来自多个卖方的和购买相关的询问的回答组合成为一栏或一个表。或者,对于来自不同搜索引擎的查询的响应可以按照已知的排序算法被排序。小程序可以应用一组和数据请求相关的表示规则,从而合并的信息按照所需的格式呈现给用户。
本发明还执行一些附加的步骤。例如,小程序可以收集关于当其试图满足数据请求时其接触的各个远程站的信息。如果例如由于网络停机或者过时的地址信息而使得远程站不可用,服务器操作者或许愿意知道这种情况,因此小程序可以把这种信息发送给用户。然后,服务器(或客户机)将确定对于那个特定的数据提供者是否可以利用另外的远程站地址,并相应地改变或者更新其读取规则。同样,如果远程站可用,但是由于某种原因其提供数据非常慢,那么这个级别的响应性也是对服务器有价值的信息。小程序能够把获得的数据发送给服务器,用于向数据请求的其他发出者提供数据的高速缓存版本。在另一个例子中,如果小程序确定用于从这种数据收集相关信息所需的提取规则是无效的,则小程序可以通知服务器所述提取规则已过时,并且需要更新。如果服务器对于一个给定的远程站没有读取规则或提取规则,则客户机可以有偿地提供这些规则。类似地,客户机可以向服务器有偿地提供提取的信息、合并的提取的信息以及表示规则。
因此,客户机可以成为由小程序获得的任何信息的再次销售者。因而有助于分布式的异构查询的信息交换形成进行电子商务的方法的基础。服务器和客户机可以相互付费或者对于其常规的费用提供以换取交换的数据。或者,作为一种商务方法,服务器或客户机能够向第三方再次销售这种信息。例如,一个卖方可能愿意付费,以便当竞争卖方的远程站失效时或者当检测到竞争者的价格策略的主要的改变时能够得到通知。
可以按照这里所述的本发明的步骤对通用计算机编程。本发明可以被修改成为一种产品,即一种机器元件,其由数字处理装置用于执行所述的逻辑。本发明被在关键的机器元件中实现,所述机器元件使数字处理装置执行这里所述的本发明的方法步骤。本发明可以由计算机程序来实施,所述计算机程序在计算机内由处理器作为一系列计算机可执行的指令来执行。这些指令例如可以存在于计算机的RAM中,或被存储在计算机的硬盘驱动器或光盘驱动器上,或存储在DASD阵列、磁带、电子只读存储器或者其他合适的数据存储装置中。
虽然本发明根据其示例的实施例进行了说明,应当理解,不脱离本发明的范围和教导可以在上述的设备和装置中作出改变。因而,上述的实施例仅仅作为例子,本发明的范围只由所附权利要求限制。
权利要求
1.一种用于异构数据源的分布式查询的方法,包括向至少一个服务器发送至少一个数据请求;利用所述服务器存储的读取规则和提取规则产生一个签名的小程序;执行所述签名的小程序,所述签名的Java程序(a)使用所述读取规则从至少一个远程站获得数据;以及(b)使用所述提取规则从所述获得的数据提取信息。
2.按照权利要求1所述的方法,其中签名的小程序合并所述提取的信息并按照表示规则表示所述提取的信息。
3.按照权利要求1所述的方法,其中所述签名的小程序收集关于满足特定数据请求的特定远程站的使用情况的统计信息。
4.按照权利要求3所述的方法,其中所述签名的小程序向所述服务器发送所述提取的信息。
5.按照权利要求4所述的方法,其中所述服务器对于特定的远程站更新所述提取规则。
6.按照权利要求3所述的方法,其中所述签名的小程序向所述服务器传输所述获得的数据。
7.按照权利要求6所述的方法,其中所述服务器对于特定的远程站更新所述提取规则。
8.按照权利要求1所述的方法,其中所述方法基本上实时地执行。
9.按照权利要求1所述的方法,其中所述数据请求包括用户元数据,其使所述签名的小程序能够模拟用户,并因此防止所述远程站限制自动的访问。
10.一种用于进行电子商务的方法,包括以下步骤向至少一个服务器发送至少一个数据请求;利用所述服务器存储的读取规则和提取规则产生一个签名的小程序;执行所述签名的小程序,所述签名的小程序使用所述读取规则从至少一个远程站获得数据并使用所述提取规则从所述获得的数据提取信息,其中所述服务器为使用至少一个所述的规则向数据请求发出者收费。
11.按照权利要求10所述的方法,其中所述数据请求发出者为交换的数据向所述服务器收费,所述交换的数据包括下列数据中的至少一个所述用户元数据,所述读取规则,更新的读取规则,所述获得的数据,所述提取规则,更新的提取规则,提取的信息,合并的提取的信息,用于所述提取的信息的表示规则,有关满足所述数据请求的特定远程站的使用情况的统计信息,可能满足所述数据请求的另外的远程站。
12.按照权利要求11所述的方法,其中所述服务器对所述数据请求发出者的费用给予折扣,作为对交换的数据的回报。
13.按照权利要求10所述的方法,其中所述数据请求发出者向第三方为交换的数据收费,所述交换的数据包括下列数据中的至少一个所述用户元数据,所述读取规则,更新的读取规则,所述获得的数据,所述提取规则,更新的提取规则,提取的信息,合并的提取的信息,用于所述提取的信息的表示规则,有关满足所述数据请求的特定远程站的使用情况的统计信息,可能满足所述数据请求的另外的远程站。
14.按照权利要求10所述的方法,其中所述数据请求发出者是用于识别(a)其他的远程站,(b)由所述其他的远程站提供的数据,以及(c)由所述其他的远程站提供的所述数据的格式的所述远程站中的一个。
15.按照权利要求10所述的方法,其中所述数据请求发出者从公司报告、数据库和目录册中的至少一个中查找信息。
16.按照权利要求10所述的方法,其中所述数据请求包括所述小程序模拟特定的数据请求发出者所需的用户元数据,由此防止所述远程站限制自动的访问,所述元数据包括下列中的至少一个用户id,口令,帐号,电子邮件地址和URL。
17.按照权利要求10所述的方法,其中所述web浏览器传送所述数据请求。
18.一种用于异构数据源的分布式查询的系统,包括用于向至少一个服务器发送至少一个数据请求的装置;用于利用所述服务器存储的读取规则和提取规则产生一个签名的小程序的装置;用于执行所述签名的小程序的装置,所述签名的小程序包括用于(a)使用所述读取规则从至少一个远程站获得数据的装置;以及(b)使用所述提取规则从所述获得的数据提取信息的装置。
19.一种用于异构数据源的分布式查询的计算机程序产品,包括计算机可读的介质,其上有形地嵌入计算机可执行的代码,所述代码装置包括第一代码,用于向至少一个服务器发送至少一个数据请求;第二代码,用于利用所述服务器存储的读取规则和提取规则产生一个签名的小程序,所述签名的小程序还具有第三代码,用于使用所述读取规则从至少一个远程站获得数据,以及第四代码,用于使用所述提取规则从所述获得的数据提取信息。
20.一种用于异构数据源的分布式查询的系统,包括客户机;至少一个服务器;在所述客户机和所述服务器之间的通信链路;其中所述服务器接收来自所述客户机的至少一个数据请求,利用存储的读取规则和存储的提取规则产生一个签名的小程序,并把所述签名的小程序返回所述客户机以便执行,并且其中所述签名的小程序在执行时使用所述读取规则从所述至少一个远程站获得数据,并使用所述提取规则从所述获得的数据提取信息。
21.按照权利要求20所述的系统,其中所述客户机是具有内装的运行时Java环境的web浏览器。
22.按照权利要求20所述的系统,其中所述签名的小程序合并和表示所述提取的信息。
23.按照权利要求20所述的系统,其中所述客户机是远程计算机。
全文摘要
本发明提供一种用于检索和组织联网数据的方法、系统、商务方法和计算机程序产品,其中读取规则和提取规则使用户能够从远程网站自动地收集和提取信息。如果直接和远程站交互作用,则所述读取规则再现客户机执行的交互作用,因而服务器不能被排除在外。所述提取规则使客户机,最好通过小程序,能够从获得的页面收集相关的信息,用于在通用接口显现。作为一种电子商务方法,关于远程站的响应性的信息、读取规则和提取规则可以在服务器和客户机之间共用,以便进行收费。服务器累计卖方联系,存储查询规则,并提供公共接口规则。本发明可以收集关于卖方响应性的统计信息,并且可以向卖方或第三方再次销售信息。
文档编号G06Q10/00GK1499402SQ200310101430
公开日2004年5月26日 申请日期2003年10月17日 优先权日2002年10月31日
发明者瑞克施·阿格拉沃, 阿米特·索玛尼, 索玛尼, 瑞克施 阿格拉沃 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1