数据服务器、数据管理方法和数据管理系统的制作方法

文档序号:7959127阅读:200来源:国知局
专利名称:数据服务器、数据管理方法和数据管理系统的制作方法
技术领域
本发明涉及一种用于当数据项被从一个服务器移动到另一个服务器并且用户请求原始服务器提供该数据项时使该用户能够获得该数据项的技术,具体而言,本发明涉及传送关于服务器的用户验证。
背景技术
按照惯例,在本领域中可以得到以下技术。数据管理系统通过为每个文件附加一个被称为“句柄”的唯一标识符来管理文件。该数据管理系统向用户提供用于指定系统的服务器名称和文件句柄的虚拟URL、而不是提供通常采用的表示该文件的位置(所位于的服务器和该服务器内该文件路径名的结合)的URL,作为该文件的URL(统一资源定位符)。当用户利用该虚拟URL访问系统时,系统根据句柄识别出文件的位置,并将文件提供给用户。利用该技术,即使当文件被移动到该数据管理系统上的任意位置(目录)时,也可以响应用户的请求而找到该文件。
然而,该技术只限于获取一个数据管理系统内管理的文件或内容的位置,因此,例如,不能处理在网络上的多个数据管理系统之间移动该文件或该内容的位置的情况。
作为即使当文件或内容已经在多个数据管理服务器之间进行了移动时也能够使用户通过找到该文件或内容的位置来获得该文件或内容的方法,可以考虑这样一种方法,其中将移动目的地的URL注册在该数据项被移出的服务器中,并且当用户请求该移动发起端服务器提供该数据项时,该服务器将该请求重定向为该移动目的地的URL(HTTP重定向)。然而,该方法在各数据管理服务器的用户验证方面存在一个问题。更具体而言,即使当用户在成功完成用户验证的情况下请求数据移动发起端服务器提供该数据项时,如果该请求被重定向,考虑到该用户在该移动目的地服务器未获验证,则该请求可能会被拒绝。即使不出现这种情况,该用户也必须在该移动目的地处被重新验证,这给用户带来不便。
作为在多个设备之间传送用户验证的技术,可以使用以下方法。具体而言,提供一个管理登录状态的服务器,并且以集中的方式控制用户的登录状态。当用户访问每个应用时,该应用向该中央服务器发送一个查询,从而在各个应用之间传送该登录状态。
该现有技术方法需要提供一个服务器来管理登录状态,并且存在当该服务器中发生问题时该系统就不能工作的问题。

发明内容
根据本发明的一个方面,提供了一个数据服务器,其与经由网络连接的另一数据服务器协作,从而部分地构成一个数据管理系统,所述数据服务器包括数据管理部分,用于存储数据项;用户验证部分,用于执行用户验证;搜索部分,当从客户机接收到数据请求时,在所述数据管理部分中搜索所请求的数据项;数据提供部分,当在所述数据管理部分中找到所请求的数据项时,向所述客户机提供所请求的数据项;重定向部分,当在所述数据管理部分中没有找到所请求的数据项时,检测所述数据管理系统中存储有所请求数据项的数据服务器,接收来自该数据服务器的临时验证信息,并向所述客户机发送用于在该数据服务器中识别所请求数据项的信息和所述临时验证信息。
根据本发明的另一方面,提供了一个数据服务器,其与经由网络连接的另一数据服务器协作,从而部分地构成数据管理系统,所述数据服务器包括用户验证部分,用于执行用户验证;搜索部分,当从客户机接收到数据请求时,在数据管理部分中搜索所请求的数据项;数据提供部分,当在所述数据管理部分中找到所请求的数据项时,向所述客户机提供所请求的数据项;查询响应部分,当从所述数据管理系统中的另一数据服务器接收到关于所请求数据项是否存在的查询时,搜索所述数据管理部分,并且,当找到所请求的数据项时,生成临时验证信息,将该临时验证信息存储在临时验证信息存储部分中,并将该临时验证信息通知给所述另一数据服务器。
根据本发明的另一方面,提供了第一数据服务器,其与经由网络连接的另一数据服务器协作,从而部分地构成数据管理系统,所述第一数据服务器包括数据管理部分,用于存储数据项;用户验证部分,用于执行用户验证;搜索部分,当从用户接收到数据请求时,在所述数据管理部分中搜索所请求的数据项;数据提供部分,当在所述数据管理部分中找到所请求的数据项时,向客户机提供所请求的数据项;重定向部分,当在所述数据管理部分没有找到所请求的数据项时,检测所述数据管理系统中存储有所请求数据项的第二数据服务器,生成用于所请求数据项的临时验证信息,生成重定向信息,并将该重定向信息返回到所述客户机,该重定向信息包括用于在所述第二数据服务器中识别所请求数据项的信息、用于所请求数据项的临时验证信息和所述第一数据服务器的服务器识别信息。
根据本发明的另一方面,提供了第二数据服务器,其与经由网络连接的另一数据服务器协作,从而部分地构成数据管理系统,所述第二数据服务器包括数据管理部分,用于存储数据项;用户验证部分,用于执行用户验证;搜索部分,当从用户接收到数据请求时,在所述数据管理部分中搜索所请求的数据项;数据提供部分,当在所述数据管理部分中找到所请求的数据项时,向客户机提供所请求的数据项;重定向验证部分,当从未完成用户验证的客户机接收到数据请求时,向由从该数据请求中提取的服务器识别信息指示的第一数据服务器发送关于从该数据请求中提取的临时验证信息有效性的查询,并且,当接收到指示该临时验证信息有效的查询响应时,接受该数据请求,而不使所述客户机执行用户验证过程。
根据本发明的另一方面,提供了一种由数据服务器执行的数据管理方法,所述数据服务器与经由网络连接的另一数据服务器协作,从而部分地构成一个数据管理系统,所述方法包括当从已成功验证过的客户机接收到数据请求时,在所述数据服务器中搜索该数据请求中所请求的数据项;当找到所请求的数据项时,提供所请求的数据项;当没有找到所请求的数据项时,通过向另一数据服务器发送关于所请求数据项是否存在的查询,将具有所请求数据项的数据服务器识别为转移目的地服务器;从所述转移目的地服务器接收临时验证信息;向所述客户机返回重定向信息,该重定向信息包括用于在所述转移目的地服务器中识别所请求数据项的访问信息和所述临时验证信息。
根据本发明的另一方面,提供了一种由数据服务器执行的数据管理方法,所述数据服务器与经由网络连接的另一数据服务器协作,从而部分地构成一个数据管理系统,所述方法包括当从已成功验证过的用户接收到数据请求时,在所述数据服务器中搜索该数据请求中所请求的数据项;当找到所请求的数据项时,向所述客户机提供所请求的数据项;当没有找到所请求的数据项时,通过向另一数据服务器发送关于所请求数据项是否存在的查询,将具有所请求数据项的数据服务器识别为转移目的地服务器;生成用于所请求数据项的临时验证信息;生成重定向信息并将该重定向信息返回到所述客户机,该重定向信息包括用于在所述转移目的地服务器中识别所请求数据项的访问信息、用于所请求数据项的临时验证信息和所述数据服务器的服务器识别信息。
根据本发明的另一方面,提供了一种数据管理系统,包括数据管理部分,用于存储数据项;用户验证部分,用于执行用户验证;搜索部分,当从客户机接收到数据请求时,在所述数据管理部分中搜索所请求的数据项;数据提供部分,当在所述数据管理部分中找到所请求的数据项时,将所请求的数据项提供给所述客户机;重定向部分,当在所述数据管理部分中没有找到所请求的数据项时,检测所述数据管理系统中存储有所请求数据项的数据服务器,接收来自该数据服务器的临时验证信息,并向所述客户机发送用于在该数据服务器中识别所请求数据项的信息和所述临时验证信息;查询响应部分,当从所述数据管理系统中的另一数据服务器接收到关于所请求数据项是否存在的查询时,搜索所述数据管理部分,并且当找到所请求的数据项时,生成临时验证信息,将该临时验证信息存储在临时验证信息存储部分中,并将该临时验证信息通知给所述另一数据服务器。


通过以下结合附图的详细说明,本发明的这些和其他方面将变得很明显,其中相似部分具有相同的参考标号,其中图1是表示一个数据管理系统的示意图;图2是表示数据管理部分中数据项的管理信息的结构示意图;图3是举例说明虚拟URL的示意图;图4是表示当从客户机接收数据请求信息时由数据服务器执行的处理的流程图;图5是表示当从另一数据服务器接收查询时由该数据服务器执行的处理的流程图;图6是说明图1系统的操作的示意图;图7是说明图1系统的操作的示意图;图8是说明图1系统的操作的示意图;图9是表示使用用户验证传送机制的数据服务器的示例性结构的示意图;图10是表示由用户信息管理部分管理的用户信息的示例性数据内容的示意图;图11是表示由访问权限管理部分管理的访问权信息的示例性数据内容的示意图;图12是表示由临时ID存储部分管理的数据内容的示意图;图13是表示数据管理系统中的处理的流程图;图14是表示当从客户机接收数据请求信息时数据服务器的一部分处理的流程图;图15是表示当从客户机接收数据请求信息时数据服务器的剩余部分处理的流程图;
图16是表示当从另一数据服务器接收查询时一个数据服务器的处理的流程图;图17是表示另一实施例中的处理的流程图;图18是说明当使用多个LDAP服务器执行用户管理时的一个可选实施例的示意图;以及图19是表示一个用户ID的映射信息的例子的流程图。
具体实施例方式
图1是表示的一个示例性数据管理系统的结构示意图。如图1所示,该系统包括多个数据服务器10-1、10-2、...,这些数据服务器连接到网络20,如LAN(局域网)或因特网(下文中简称为“数据服务器10”,除非必须区分这些数据服务器;对于数据服务器10内的模块也是如此)。该系统响应于来自网络20上的客户机30的数据请求,提供所请求的数据项。
每个数据服务器10包括数据管理部分12、检测部分14和查询部分16。在数据管理部分12中存储了一个或多个数据项,并可以将这些数据项提供给客户机30(下文中,将数据项简称为“数据”)。数据管理部分12管理每个所存储的数据项,每个数据项对应于一个全局唯一数据ID(标识符)。例如,该全局唯一数据ID可以是已知为UUID(通用唯一标识符)或GUID(全局唯一标识符)的128比特的标识符。UUID包括生成UUID的时间,机器中配备的网卡的MAC(媒体访问控制)地址,用于生成UUID的,等等,以确保全局唯一性。当该系统的数据ID是与数据项的位置信息无关的标识符时,URL利用具有该数据项的数据服务器10的主机名和指示该数据项在数据服务器10中的实际存储位置的路径名,唯一地指定该数据项。
图2表示由数据管理部分12管理的每个数据项的管理信息的数据结构。如图2所示,数据管理部分12通过使数据项的数据ID 102与指示该数据项在数据服务器10内的位置的链接信息104相互关联来管理每个所存储的数据项。在该示例性结构中,数据ID用UUID表示,链接信息用数据项的路径名表示。
当要存储一个新数据项时,数据管理部分12生成一个全局唯一数据ID,并通过使该数据ID与指示该数据项存储位置的链接信息相互关联来管理该数据项。当从数据服务器10删除一个所管理的数据项时,该数据管理部分12也删除该被删除数据项的管理信息。
当要在数据管理部分12中存储已经附加有数据ID的数据项时(例如,当由一个数据服务器管理的数据项被移动到另一个数据服务器时),该数据管理部分12不向该数据项附加新的数据ID,而是通过将该数据项的链接信息与已经附加的数据ID相互关联来管理该数据项。
检测部分14是用于检测网络20上存在的其它数据服务器10的单元。
查询部分16是用于向另一数据服务器10发送一个查询以确定另一数据服务器10是否具有客户机30所请求的数据项的单元。查询部分16还有对来自另一数据服务器10的查询部分16的查询做出响应的功能。
在该系统中,当客户机30从该系统请求数据时,客户机30通过虚拟URL 110指定数据项,该虚拟URL 110包括管理该数据项的数据服务器10的主机名112和该数据项的数据ID 114,如图3所示。因为虚拟URL 100是URL,所以虚拟URL 100包含关于协议、端口等的信息,但是这里不对这些方面进行说明。因为全局唯一数据ID的位数比图3中所示的数据ID 114的位数长的多,所以图3中省略了数据ID的一部分。图3中所示的虚拟URL指示一个数据项,该数据项由名为“foo.fx.co.jp”的数据服务器管理,并具有数据ID“12345...67890”。该图3的虚拟URL中,主机名112与数据ID 114之间的“get”表示数据服务器10提供的一种方法的名称。当数据服务器10允许客户机30执行与该数据服务器10管理的数据项相关的多种类型的操作时,该虚拟URL被配置成包括指示该操作的方法。另一方面,当数据服务器10只是向客户机30提供所请求的数据项时,则不需要包括这样一种方法的描述。
当客户机30(例如,网络浏览器)通过虚拟URL 100请求一个数据项时,包括数据ID 114的数据请求信息被发送到由主机名112指示的服务器。
接下来,参考图4说明当数据服务器10从客户机30接收数据请求信息时所执行的处理。在下文的描述中,为简单起见,将该处理说明为由数据服务器10-1执行的处理,但是由其它数据服务器执行的处理与所描述的处理相似。
在该处理中,数据服务器10-1从来自客户机30的数据请求信息中提取出数据ID(S100),并在数据管理部分12-1中搜索与该数据ID对应的实际数据项的链接信息(S102)。当找到与该数据ID对应的链接信息时(当步骤S104中的判断结果为“是”时),数据服务器10-1从数据服务器10-1内的存储装置中获得由该链接信息指示的实际数据项,并将所获得的数据项提供给客户机30(S114)。
另一方面,当没有找到与数据ID对应的链接信息时(当步骤S104中的判断结果为“否”时),数据服务器10-1命令检测部分14-1检测部分构成当前系统的其它数据服务器10-2等,检测部分14-1响应于该命令,检测其它数据服务器(S106)。例如,检测部分14-1可以通过向网络20广播用于检测其他服务器的预定消息,来实现由检测部分14-1对其它数据服务器10-2等的检测。每个数据服务器10的检测部分14具有一个协议,来识别用于检测其他服务器的消息和响应该消息的。换言之,接收到用于检测其他服务器的该消息的另一个数据服务器10-2的检测部分14-2根据该协议,发送包括该数据服务器10-2的服务器ID(标识符)的响应。例如,IP地址或主机名可以用作服务器ID。已经发送了用于检测其他服务器的该消息的检测部分14-1从数据服务器10-2接收响应,并获得该响应中包含的服务器ID。通过这种方式,可以找到部分组成当前系统的另一个数据服务器10-2。
当找到另一个数据服务器10-2时,数据服务器10-1命令查询部分16-1向该找到的数据服务器10-2发送一个查询。响应于该命令,查询部分16-1向数据服务器10-2发送一条数据查询,该查询包括来自客户机30的数据请求中所包含的数据标识符,并查询数据服务器10-2是否具有与该数据标识符相对应的数据项(S108)。稍后描述接收到该查询的数据服务器10-2的查询部分16-2的操作。
当查询结果表示该查询被发送至的数据服务器10-2没有该数据项时(当步骤S110的判断结果为“否”时),数据服务器10-1重复另一个数据服务器(S106)的检测和查询的发送(S108)。重复步骤S106和S108,直到找到具有该数据项的数据服务器10为止。
虽然图4示出的过程中在步骤S106检测到一个数据服务器并在步骤S108向该数据服务器发送一个查询,但是本发明不限于这种配置,例如,还可以在步骤S106通过广播来检测能被检测的所有数据服务器10,存储这些找到的数据服务器10,并在步骤S108中顺序地向每个数据服务器10发送查询。
当查询结果表示该查询被发送至的数据服务器10-2具有该数据项时(当步骤S110的判断结果为“是”时),数据服务器10-1向客户机30返回包含数据服务器10-2的服务器ID的重定向信息(S112)。例如,可以根据HTTP(超文本传送协议)中的普通重定向方法来实现该重定向信息的返回。即,数据服务器10-1向客户机30返回的重定向信息包括指示重定向的状态码,如302(临时移动)和指示重定向目的地的URL的位置字段。包含在重定向信息中的该重定向目的地的URL是上述虚拟URL,该虚拟URL包含作为重定向目的地的数据服务器10-2的服务器ID和所请求数据项的数据标识符。因为在发送该查询期间该重定向目的地的服务器ID已经是已知的,且所请求数据项的数据标识符也是已知的,所以,数据服务器10-1可以生成包含这些信息的虚拟URL。
接收到重定向信息的客户机30根据HTTP,向由该重定向信息中的服务器ID指示的数据服务器10-2发送包含该重定向信息内的数据标识符的数据请求。
接下来,参考图5描述当一个数据服务器接收到来自另一个数据服务器的查询时该数据服务器所执行的处理。在下文的描述中,为简单起见,将该处理描述成由数据服务器10-2执行的处理,但是其它数据服务器执行相似的处理。
当数据服务器10-2的查询部分16-2接收到来自数据服务器10-1的查询部分16-1的数据查询时,查询部分16-2从该数据查询的信息中提取该目标数据项的数据ID(S200),并在数据管理部分12-2中搜索与该数据ID相对应的链接信息(S202)。当作为搜索的结果在数据管理部分12-2中找到与该数据ID对应的链接信息时(当步骤S204的判断结果为“是”时),查询部分16-2向发送该查询的数据服务器10-1返回一条消息,表明数据服务10-2具有作为查询目标的数据项(S206)。另一方面,当没有找到该链接信息时(当步骤S204中的判断结果为“否”时),查询部分16-2向数据服务器10-1返回一条信息,表明数据服务器10-2没有作为查询目标的数据项(S208)。
或者,在步骤206中,查询部分16-2不是向查询发起端返回存在作为查询目标的数据项的信息,而是返回作为查询目标的数据项的虚拟URL(即,该虚拟URL包括具有该数据项的数据服务器10-2的服务器ID和该数据项的数据标识符)。在这种配置中,在步骤S112中,发送该查询的数据服务器10-1可以向客户机30返回由数据服务器10-2提供的虚拟URL。
现在参考图6-8描述上述数据管理系统的操作。
如图6所示,当数据服务器10-1具有从客户机30发送到数据服务器10-1的数据请求(1)的目标数据项时,数据服务器10-1向客户机30提供该目标数据项(2)。
另一方面,如图7所示,当从客户机30发送到数据服务器10-1的数据请求(1)的目标数据项不存在于数据服务器10-1中时,检测部分14-1检测另一数据服务器10-2,并向数据服务器10-2发送数据查询(3)。当查询结果表示数据服务器10-2具有所请求的数据项时,数据服务器10-2将来自客户机30的数据请求重定向到数据服务器10-2(4)。响应于该重定向的数据请求,数据服务器10-2向客户机30提供所请求的数据项(5)。
图8表示客户机30请求的数据项既不在数据服务器10-1中也不在数据服务器10-2中而是在数据服务器10-3中的情况。在这种情况中(2),对于由检测部分14-1检测的数据服务器10-2和10-3,查询部分16-1首先向服务器10-2发送查询,并接收到数据服务器10-2没有该数据项的响应(3)。然后,查询部分16-1向下一个数据服务器10-3发送查询,并接收到数据服务器10-3具有该数据项的响应(4)。数据服务器10-1将来自客户机30的该数据请求重定向到数据服务器10-3(5)。响应于该重定向的数据请求,数据服务器10-3向客户机30提供所请求的数据项(6)。
如上所述,在本系统中,每个数据服务器10搜寻具有客户机30所请求的数据项的数据服务器10,并将该请求重定向到找到的数据服务器10。从而,因为即使不提供中央管理服务器时也能够找到所请求的数据项,所以,与现有技术相比,由于服务器故障而不能获取数据的问题可以得到有效的抑制。
在本系统中,即使由于数据项在数据服务器10之间被移动而导致该数据项的位置改变时,客户机30也能够利用已有的虚拟URL来访问该数据项,从而使得最初管理该数据项的数据服务器10,即与该虚拟URL中的服务器ID对应的数据服务器10,接收到访问请求,并搜寻当前具有该数据项的数据服务器10。因此,客户机30能够利用客户机30已有的虚拟URL来获得该数据项。
一些已知的数据服务器例如可以具有经由电子邮件向用户分配URL的功能,该URL可以检查当服务器上的数据项改变时出现的变化,例如当新存储了一个数据项时出现的变化。然而,当该服务器上的数据项被移动到另一服务器时,已分配的URL就变得不可用。但是当采用本系统的机制时,即使在这种情况下,客户机也可以利用数据移动之前分配的虚拟URL来获得该数据项。另外,一般情况下,由于要管理的数据量的增加,必须划分数据服务器10。根据本系统,在这种情况下,即使在划分之前分配给用户的虚拟URL也可以在划分之后使用。
现在描述一个将根据本发明的用户验证传送方法应用在上述数据管理系统中的实施例。
图9是该实施例中数据服务器10A的功能框图。在图9中,与图1中所示相似的那些部分具有相同的参考标号,因此不再对这些部分进行重复说明。
在该实施例中,除了图1所示数据服务器10中包括的数据管理部分12、检测部分14和查询部分16以外,每个数据服务器10A还包括登录处理器部分40、用户信息管理部分42、访问权限管理部分44和临时ID存储部分46。与图1所示系统相似,该实施例的数据管理系统由具有这种结构并经由网络互相协作的多个数据服务器10A构成。
登录处理器部分40管理用户在数据服务器10A上的登录处理。
用户信息管理部分42管理与数据服务器10A有关的用户注册信息。图10示出了在用户信息管理部分42中注册的用户信息的示例性数据内容。在图10的该示例性配置中,对应于每个用户的用户ID202,存储了诸如用户的姓204、用户的名206之类的个人信息和诸如密码之类的验证信息208。也可以包括个人信息的其他例子,例如用户的电子邮件地址和用户的头衔。在该示例性配置中,因为使用UUID作为用户ID 202,所以可以使用对于构成该数据管理系统的所有数据服务器10A统一的用户ID来识别该用户。在用户信息管理部分42中注册的用户的集合不需要在所有数据服务器10A之间进行匹配。每个数据服务器10A单独在用户信息管理部分42中注册用户就已经足够了。当不具有注册用户ID的用户访问该系统时,登录处理器部分40进行控制,以禁止该用户登录,或允许作为具有“访客”权限的用户登录,“访客”权限在多种类型的操作中是受限的。
访问权限管理部分44管理与存储在数据管理部分12中的每个数据项有关的各用户的访问权限。图11示出了由访问权限管理部分44管理的数据内容的一个例子。在该示例性配置中,对于与每个数据项对应的每个数据ID 222(UUID),注册关于一个数据项的访问权限信息224。该访问权限信息224包括被授予与数据ID 222对应的数据项的访问权限的每个用户的用户ID,以及授予该用户的访问权限的内容。该访问权限的内容被表示为诸如R(读权限)、W(写权限)和M(管理数据的权限)的各权限的组合。例如,“RW”表示用户具有读和写的权限。这里描述的访问权限的类型是示例性的,而这些类型不限于以上描述的那些。例如,数据服务器10A的管理员将访问权限信息注册在访问权限管理部分44中。
临时ID存储部分46存储和管理临时ID,该临时ID是分配给用户的表示对于各数据项的临时访问允许的标志符。图12示出了由临时ID存储部分46存储和管理的数据内容的例子。在该示例性配置中,对于每个临时ID 242,存储了被授予临时访问权限的用户的用户ID244和该临时ID 242的届满时间246。
现在参考图13描述该实施例的系统中的处理的整个流程。图13所示的每个数据服务器10A-1和10A-2采用图9所示数据服务器10A的形式。
如图13所示,在该实施例中,(1)数据服务器10A-1从客户机30接收与图3所示的URL对应的数据请求,该数据请求指定了一个数据项的UUID。假定在发送该请求之前已经成功完成了用户验证且该用户已经登录。
(2)数据服务器10A-1在它的数据管理部分12中搜索具有该UUID的数据项,当数据服务器10A-1不能找到该数据项时,该数据服务器10A-1通过检测部分14检测网络20上的另一数据服务器10A-2。
(3)当找到另一数据服务器10A-2时,数据服务器10A-1的查询部分16向服务器10A-2发送一个数据查询,该数据查询包括所请求数据项的UUID(data_uuid)、请求用户的UUID(user_uuid)和该用户请求的对于该数据项的操作内容。例如,该操作内容是该数据项的读、该数据项的写等等,并且该用户命令数据服务器10A-1进行操作。
(4)接收到该查询的数据服务器10A-2的查询部分16在它自己的数据管理部分12中搜索作为所请求数据项的该数据项(data ID=data_uuid),当找到该数据项时,通过访问权限管理部分44检查请求该数据项的用户的访问权限(user ID=user_uuid)。对于该请求用户对于所请求数据项的访问权限,如果该用户所请求的操作需要的访问权限存储在访问权限管理部分44中,则该数据服务器确定该用户具有访问权限。在以下的描述中,假定数据服务器10A-2具有所请求的数据项,并确定该请求用户具有对于该数据操作的访问权限。
(5)这种情况下,数据服务器10A-2的查询部分16生成一个临时ID(oid),并将该临时ID(oid)与该请求用户的用户ID(user_uuid)相对应地存储在临时ID存储部分46中。查询部分16生成一个至少在数据服务器10A-2内唯一的ID,作为临时ID。在该过程中,通过在当前时间上加一个预定的有效期限(例如,几分钟)而得到一个时间,将该时间存储在临时ID存储部分46中,作为届满时间246。
(6)数据服务器10A-2的查询部分16向进行查询的数据服务器10A-1返回重定向信息,该重定向信息包括数据管理部分12中的所请求数据项的虚拟URL(redirect_url)和所生成的临时ID(oid)。例如,所请求数据项的URL是包括数据服务器10A-2的服务器ID和所请求数据项的数据标识符的虚拟URL。例如,临时ID(oid)可以在URL的查询部分中进行描述。
(7)数据服务器10A-1向客户机30返回重定向信息,该重定向信息包括指示重定向的诸如302(临时移动)之类的状态码和位置字段,该位置字段包括重定向目的地的URL(redirect_url)和临时ID(oid)。根据HTTP,接收到该重定向信息的客户机30向由该重定向信息中的服务器ID指示的数据服务器10A-2发送一个数据请求,该数据请求包括该重定向信息中的数据标识符。在该过程中,临时ID(oid)也被发送至数据服务器10A-2。
(8)数据服务器10A-2在临时ID存储部分46中搜索该数据请求中包括的临时ID(oid),当找到该临时ID时,数据服务器10A-2检查是否已经到达该临时ID的届满时间。当找到该临时ID且没有到达该届满时间时,该临时ID有效。在这种情况下,数据服务器10A-2确定与来自临时ID存储部分46的该临时ID(oid)相对应的用户ID(user_uuid)。数据服务器10A-2将该用户ID发送至登录处理器部分40,以执行登录处理。登录处理器部分40为该用户ID执行登录处理,并识别出该数据请求来自该用户ID。具体而言,当数据请求中包含的临时ID有效时,登录处理部分40假定该用户验证成功的同时允许用户登录,而不需要进行正常的用户验证过程,其中提示用户输入诸如密码之类的验证信息。
(9)数据服务器10A-2从数据管理部分12提取所请求的数据项,并将所请求的数据项提供给客户机30。当基于临时ID的登录处理完成时,数据服务器10A-2从临时ID存储部分46删除关于该临时ID的记录。或者,也可以配置数据服务器10A-2,从而将指示临时ID无效的信息存储在临时ID存储部分46中,而不是删除该记录。
前面已经描述了由整个系统执行的处理。现在,从每个数据服务器10A的角度来描述处理。
参考图14和15,将描述当从客户机接收数据请求时数据服务器10A的处理。
假定该数据请求需要用户验证(即,对于所请求的数据项施加了访问限制)。对于没有访问限制的数据项(即,访客可以得到的数据项)的请求,不进行关于用户验证是否成功的判断。
该过程从图14所示的步骤开始。具体而言,当数据服务器10A从客户机30接收到数据请求时,数据服务器10A判断对于该请求用户的用户验证是否已经成功完成(即,该用户是否已经登录)(S132)。
当用户验证还没有成功完成时,数据服务器10A检查该数据请求是否包括临时ID(S134)。当该数据请求不包含临时ID时,数据服务器10A确定该数据请求为未授权访问,并执行处理,如通知客户机30出错(S138)。
当该数据请求包含临时ID时,数据服务器10A通过临时ID存储部分46判断该临时ID是否有效(S136)。当该临时ID包含在临时ID存储部分46中并且没有到达届满时间时,判定该临时ID有效。否则,判定该临时ID为无效。当判定该临时ID无效时,数据服务器10A确定该数据请求为未授权访问,并执行处理,如通知客户机30出错(S138)。
当判定该临时ID有效时,数据服务器10A从临时ID存储部分46中读取与该临时ID相对应的用户ID,确定该用户ID指示一个登录用户,并命令登录处理器部分40执行登录处理(S140)。数据服务器10A从数据管理部分12中提取所请求的数据项,并将所请求的数据项提供给客户机30(S142)。数据服务器10A还从临时ID存储部分46中删除该临时ID,或使该临时ID无效(S144)。该临时ID的删除和无效是在基于该临时ID的登录处理完成后执行的,例如,可以在将该数据项提供给客户机30之前执行。在数据提供的过程期间,数据服务器10A可以根据授予用户的访问权限,在要提供的数据项上附加访问限制属性。或者,当数据服务器10A执行诸如提供数据项之类的处理时,数据服务器10A可以记录根据临时ID确定的用户ID,作为已经命令了一个处理的用户的ID。
图14中所示的上述处理是关于重定向数据请求的处理。另一方面,当在步骤S132中判定用户已经得到验证时,该数据请求通常是没有被重定向的数据请求。因此,这种情况下执行的处理与图4中所示的处理相似。图15中示出了当步骤S132中用户验证得到确认时执行的处理。除步骤S108a和S112a之外,图15中所示的处理与图4中所示的处理相同,因此,对与图4种相似的那些步骤分配相同的参考标号,并不对这些步骤进行详细描述。
在图15所示的处理中,当数据服务器10A不具有所请求的数据项时,除了数据ID之外,该数据服务器10A还向所检测的数据服务器发送用户ID和与所请求数据项相关的操作信息,以查询是否存在所请求数据项和所请求数据项的用户的访问权限状态(S108a)。当数据服务器10A从该查询的目的地数据服务器接收到指示所请求数据项不存在的查询响应时,处理返回到步骤S106,数据服务器10A向另一数据服务器发送相似的查询。虽然在图中没有示出,但是可以配置该系统,从而,当来自该查询目的地数据服务器的响应指示存在所请求的数据项、但该请求用户不具有该数据项的访问权限时,向客户机30发送关于该结果的通知。在这种情况下,因为可以通知数据服务器10A该数据项在查询目的地上,所以该数据服务器10A不需要再向其它数据服务器发送查询。
当该查询目的地具有所请求的数据项且该用户具有访问权限时,返回一个包含临时ID的响应。数据服务器10A生成包含该临时ID和所请求数据项在查询目的地中的虚拟URL的重定向信息,并将该重定向信息返回到客户机30(S112a)。
接下来,参考图16,将描述当数据服务器10A从另一数据服务器接收到关于该数据服务器10A是否具有所请求数据项的查询时,该数据服务器10A执行的处理。在图16中,对与图5中相似的那些处理的步骤分配相同的参考标号,并不再对这些步骤进行描述。
在该处理中,当数据服务器10A从另一数据服务器接收到一个查询时,该数据服务器10A获得该查询中包含的数据ID、用户ID和关于操作内容的信息(S200a)。然后,数据服务器10A在数据管理部分12中搜索与该数据ID对应的数据项,并通过参考访问权限管理部分44检查该用户对于该数据ID的访问权限(S202a)。当找到与该数据ID对应的数据项且确定该用户具有与该操作内容对应的访问权限时(当步骤S210中的判断结果为“是”时),该数据服务器10A生成一个不同于现有临时ID的新临时ID(S212),并向进行查询的数据服务器10A发送包含该临时ID的响应(S214)。当数据管理部分12中存在所请求的数据项但是该用户不具有与该操作内容对应的访问权限时(当步骤S210中的判断结果为“否”时),该数据服务器10A向进行请求的数据服务器发送一个响应,表明该数据服务器10A具有所请求的数据项,但是所请求的数据项不能被访问(S216)。
如上所述,在当前实施例中,当从进行查询的数据服务器10A-1接收到关于是否存在所请求数据项的查询的数据服务器10A-2在数据管理部分12中找到所请求的数据项且确定所请求的数据项可以被提供给进行请求的用户时,该数据服务器10A-2发布临时ID。该查询数据服务器10A-1向客户机30返回包含该临时ID的重定向信息。当数据服务器10A-2接收到该数据请求的重定向并从该请求中检测到有效临时ID时,该数据服务器10A-2将该请求处理为来自有效并经过验证的用户的请求。通过这种方式,该用户不需要执行关于该重定向目的地数据服务器10A-2的用户验证处理。因此,根据本实施例,由于单独的数据服务器10A发布临时ID,且该临时ID被发送给进行请求的客户机并被该客户机使用,所以不需要提供在现有技术中所需的中央服务器来管理用户的登录状态。因此,虽然管理登录状态的服务器的故障在相关技术中有很大影响,但是在根据本实施例的系统中,数据服务器10A的故障的影响被限制在很小的范围内。
上述实施例只是示例性的,在本发明的范围内可以进行各种修改。例如,虽然在上述实施例中作为查询目的地(重定向目的地)的数据服务器10A-2生成了一个临时ID,但是也可以配置该系统,从而使进行查询的数据服务器10A-1生成该临时ID并将该临时ID提供给重定向目的地数据服务器10A-2。现在参考图17描述该替换实施例的处理。
在图17所示的过程中,(1)数据服务器10A-1从已登陆的用户接收到一个数据请求。
(2)该数据服务器10A-1在数据管理部分12中搜索所请求的数据项,当没有找到所请求的数据项时,通过检测部分14检测网络20上的另一数据服务器10A-2。
(3)当找到另一数据服务器10A-2时,数据服务器10A-1的查询部分16向该服务器10A-2发送一个数据查询,该数据查询包含所请求数据项的UUID(data_uuid)、进行请求的用户的UUID(user_uuid)和该用户请求对该数据项进行的操作内容。
(4)数据服务器10A-2的查询部分16在数据管理部分12中搜索所请求的数据项(data_ID=data_uuid),当找到所请求的数据项时,数据服务器10A-2通过访问权限管理部分44检查该请求用户对于所请求的数据项的访问权限(user ID=user_uuid)。当在访问权限管理部分44中找到与该用户请求的操作相对应的访问权限是该请求用户对于所请求数据项的访问权限时,数据服务器10A-2判定该用户具有访问权限。在该描述中,假定数据服务器10A-2具有所请求的数据项,并且该请求用户具有对于所请求数据项的访问权限。
(5)在这种情况下,数据服务器10A-2的查询部分16向进行查询的数据服务器10A-1发送一个响应,表明所请求的数据项存在并且该用户具有访问权限。
当数据服务器10A-2不具有所请求的数据项时,或数据服务器10A-2具有所请求的数据项但该用户不具有访问权限时,该数据服务器10A-2向数据服务器10A-1发送指示这种情况的响应。
(6)当数据服务器10A-1接收到该响应时,数据服务器10A-1生成一个临时ID(oid),并将该临时ID(oid)与该请求用户的用户ID(user_uuid)对应地存储在临时ID存储部分46中。在该过程中,通过在当前时间上加一个预定有效期限(例如,几分钟)获得一个时间,将该时间存储在临时ID存储部分46中,作为届满时间246。
(7)数据服务器10A-1生成重定向信息,并将该重定向信息返回到客户机30,该重定向信息包含所请求数据项在数据服务器10A-2中的虚拟URL(redirect_url)、所生成的临时ID(oid)和数据服务器10A-1的服务器ID(例如,IP地址)。根据HTTP,当客户机30接收到重定向信息时,该客户机30向由该重定向信息中的服务器ID指示的数据服务器10A-2发送一个数据请求,该数据请求包含该数据ID、临时ID和该重定向信息中的(数据服务器10A-1的)服务器ID。
(8)数据服务器10A-2向由该数据请求中的服务器ID指示的数据服务器10A-1发送关于该数据请求中包含的临时ID(oid)的有效性的查询。
(9)当数据服务器10A-1接收到该查询时,该数据服务器10A-1在临时ID存储部分46中搜索该查询中的临时ID(oid),当找到该临时ID时,该数据服务器10A-1检查是否已到达届满时间。当临时ID存储部分46具有该临时ID且没有到达届满时间时,该临时ID有效。
(10)当数据服务器10A-1确定该临时ID有效时,该数据服务器10A-1通过临时ID存储部分46确定与该临时ID对应的用户ID(user_uuid),并将该用户ID返回到数据服务器10A-2。数据服务器10A-1将与该临时ID对应的用户ID提供给数据服务器10A-2后,该数据服务器10A-1从临时ID存储部分46中删除与该临时ID相关的记录。
当在临时ID存储部分46中没有找到该查询中的临时ID时,或当找到该查询中的临时ID但是已经到达届满时间时,数据服务器10A-1向数据服务器10A-2发送指示该临时ID无效的响应。当数据服务器10A-2接收到该响应时,该数据服务器10A-2执行出错处理,如通知客户机30不能获得该数据项。
(11)当数据服务器10A-2接收到用户ID时,该数据服务器10A-2向登录处理器部分40发送该用户ID,以执行登录处理。该登录处理器部分40为该用户ID执行登录处理,并识别出该数据请求来自该用户ID。
(12)数据服务器10A-2从数据管理部分12中提取所请求的数据项,并将该数据项提供给客户机30。
在该替换实施例中,也可以在多个数据服务器之间传送该用户验证结果,而不需要提供一个服务器来管理用户的登录状态。
在图17所示的该替换实施例中,当数据服务器10A-2接收到重定向的数据请求时,该数据服务器10A-2向进行重定向的数据服务器10A-1发送关于临时ID和与该临时ID对应的用户ID的有效性的查询。或者,可以采用以下配置。在该配置中,当数据服务器10A-1生成临时ID时,该数据服务器10A-1向作为重定向目的地的数据服务器10A-2发送由该临时ID和该请求用户的用户ID构成的一对ID,并且,数据服务器10A-2将该对ID存储在它的临时ID存储部分46中。在该处理中,接收到重定向后的数据请求的数据服务器10A-2通过参考它自己的临时ID存储部分46,确定该数据请求中临时ID的有效性。
在上述实施例中,全局唯一的UUID用作用户ID,但是本发明不限于这种配置。例如,还可以这样一种配置,其中,利用LDAP(轻量级目录访问协议)服务器来执行数据管理系统的用户管理,且由该LDAP服务器管理的每个用户的DN(区分名)用作用户ID。
在如图18所示的系统结构中,不同的LDAP服务器50-1和50-2单独地管理一组不同数据服务器10A的注册用户,每个LDAP服务器50-1或50-2最好具有一个对应表52,表示用户的DN和UUID之间的对应关系。在该配置中,当在DN中得到验证的用户向由LDAP服务器50-1管理的数据服务器10A-1发送数据请求并且数据服务器10A-1向其他数据服务器10A-2、10A-3和10A-4发送关于该请求的目标数据的查询时,该数据服务器10A-1获得与该DN对应的UUID,并利用该UUID发送查询。被查询的数据服务器10A-2、10A-3或10A-4从LDAP服务器50-1或50-2获得与该UUID对应的DN,以识别进行请求的用户。
或者,还可以采用这样一种配置,其中,每个数据服务器10A不使用UUID和LDAP,而是具有用户ID的映射信息。例如,该映射信息是如图19所示的表,其中存储了每个注册用户的用户ID和数据服务器(服务器A、B和C)。显示为“-”的栏表示该用户没有注册在该数据服务器中。根据这种映射信息,每个数据服务器10A利用该表,可以识别出与来自另一个数据服务器的查询中包含的用户ID相对应的注册用户。
前面已经描述了该用户ID的代替物。对于数据ID可以采用相似的代替结构。
上述实施例中所示的访问权限管理部分44和由访问权限管理部分44管理的访问权限信息(图11)的格式也是示例性的。对于数据项的访问权限管理可以采用各种配置,访问权限管理部分44可以使用各种方法。
如果所采用策略中部分地构成该系统的任何数据服务器10A的注册用户的访问由该系统中的另一数据服务器10A进行许可,则可以省略其自身的访问权限管理。在这种配置中,当查询目的地数据服务器10A具有所请求的数据项时可以发布一个临时ID。
在以上描述中,数据服务器10A无条件地信任通过检测部分14检测到的另一数据服务器10A,并发送诸如用户ID之类的信息。为了获得更安全的系统,可以采用以下配置。
在一个示例性方法中,每个数据服务器10A具有一个该数据服务器10A信任的数据服务器的列表,且只向该列表上的数据服务器发送查询。数据服务器的管理员可以将其他信任的数据服务器注册在该列表中。
在一个可代替的配置中,当接收到查询的数据服务器不具有所请求的数据项时,该数据服务器可以返回它信任的数据服务器的列表,而不是简单地发送一个响应,表示该数据服务器不具有所请求的数据项。通过这种方式,进行查询的数据服务器可以将接收到的列表与已有列表合并起来,从而扩展该列表。当所采用的策略中一个受信任的数据服务器所信任的数据服务器将得到信任时,可以使用这种方法。
或者,也可以采用这样一种配置,其中采用一种规则,而不是使用列表,在该规则中,信任引用同一LDAP服务器的一个数据服务器。另外,也可以采用这样一种配置,其中,数据服务器从另一数据服务器接收一个数据证书,并基于该数字证书判断该另一书服务器是否可以信任(例如,如果该数字证书由可信的权威机构发布,则可以信任该另一数据服务器)。
典型情况下,上述实施例的数据服务器10A通过在计算机上运行描述上述单元的所有功能的程序来实现。该程序可以以记录在计算机可读记录介质上的形式提供给用户,该记录介质例如为CD-ROM、DVD-ROM、软盘或硬盘驱动器。也可以通过数据通信网络从服务器上将该程序下载到用户的计算机上。
根据本发明的一个方面,提供了一个数据服务器,其与经由网络连接的另一数据服务器协作,从而部分地构成一个数据管理系统,所述数据服务器包括数据管理部分,用于存储数据项;用户验证部分,用于执行用户验证;搜索部分,当从客户机接收到数据请求时,在所述数据管理部分中搜索所请求的数据项;数据提供部分,当在所述数据管理部分中找到所请求的数据项时,向所述客户机提供所请求的数据项;重定向部分,当在所述数据管理部分中没有找到所请求的数据项时,检测所述数据管理系统中存储有所请求数据项的数据服务器,接收来自该数据服务器的临时验证信息,并向所述客户机发送用于在该数据服务器中识别所请求数据项的信息和所述临时验证信息。
根据本发明的另一方面,提供了一个数据服务器,其与经由网络连接的另一数据服务器协作,从而部分地构成数据管理系统,所述数据服务器包括用户验证部分,用于执行用户验证;搜索部分,当从客户机接收到数据请求时,在数据管理部分中搜索所请求的数据项;数据提供部分,当在所述数据管理部分中找到所请求的数据项时,向所述客户机提供所请求的数据项;查询响应部分,当从所述数据管理系统中的另一数据服务器接收到关于所请求数据项是否存在的查询时,搜索所述数据管理部分,并且,当找到所请求的数据项时,生成临时验证信息,将该临时验证信息存储在临时验证信息存储部分中,并将该临时验证信息通知给所述另一数据服务器。
根据本发明的另一方面,该数据服务器还可以包括重定向验证部分,当从未完成用户验证的客户机接收到数据请求时,如果该重定向验证部分确定该数据请求包括存储在所述临时验证信息存储部分中的所述临时验证信息时,则接受该数据请求,而不使该客户机执行用户验证过程。
根据本发明的另一方面,该数据服务器还可以包括用户信息接收部分,从所述另一数据服务器接收数据请求用户的用户识别信息;用户信息存储部分,将从所述另一数据服务器接收到的所述用户识别信息与临时验证信息对应地存储在所述临时验证信息存储部分中;其中,当来自所述客户机的数据请求包括存储在所述临时验证信息存储部分中的临时验证信息时,所述重定向验证部分识别与所存储的临时验证信息相对应的用户识别信息,并确定所述数据请求来自与所述用户识别信息相对应的客户机。
根据本发明的另一方面,当响应于来自所述另一数据服务器的关于所请求数据项是否存在的查询而在所述数据管理部分中找到所请求的数据项时,所述查询响应部分可以检查该用户对于所请求数据项的访问权限,并且当确定该用户具有所述访问权限时,将所述临时验证信息通知给所述另一数据服务器。
根据本发明的另一方面,提供了第一数据服务器,其与经由网络连接的另一数据服务器协作,从而部分地构成数据管理系统,所述第一数据服务器包括数据管理部分,用于存储数据项;用户验证部分,用于执行用户验证;搜索部分,当从用户接收到数据请求时,在所述数据管理部分中搜索所请求的数据项;数据提供部分,当在所述数据管理部分中找到所请求的数据项时,向客户机提供所请求的数据项;重定向部分,当在所述数据管理部分没有找到所请求的数据项时,检测所述数据管理系统中存储有所请求数据项的第二数据服务器,生成用于所请求数据项的临时验证信息,生成重定向信息,并将该重定向信息返回到所述客户机,该重定向信息包括用于在所述第二数据服务器中识别所请求数据项的信息、用于所请求数据项的临时验证信息和所述第一数据服务器的服务器识别信息。
根据本发明的另一方面,提供了第二数据服务器,其与经由网络连接的另一数据服务器协作,从而部分地构成数据管理系统,所述第二数据服务器包括数据管理部分,用于存储数据项;用户验证部分,用于执行用户验证;搜索部分,当从用户接收到数据请求时,在所述数据管理部分中搜索所请求的数据项;数据提供部分,当在所述数据管理部分中找到所请求的数据项时,向客户机提供所请求的数据项;重定向验证部分,当从未完成用户验证的客户机接收到数据请求时,向由从该数据请求中提取的服务器识别信息指示的第一数据服务器发送关于从该数据请求中提取的临时验证信息有效性的查询,并且,当接收到指示该临时验证信息有效的查询响应时,接受该数据请求,而不使所述客户机执行用户验证过程。
根据本发明的另一方面,该第一数据服务器还可以包括临时验证信息存储部分,将所生成的临时验证信息与所述数据请求用户的用户识别信息对应地进行存储;响应部分,当从所述第二数据服务器接收到关于临时验证信息有效性的查询并且所述临时验证信息存储部分存储有所述临时验证信息时,向所述第二数据服务器提供指示所述临时验证信息有效的信息。
根据本发明的另一方面,该第二数据服务器还可以包括用户信息接收部分,当从所述第一数据服务器接收到关于所请求数据项是否存在的查询时,从所述第一数据服务器接收请求该数据项的用户的用户识别信息;查询响应部分,当响应于来自所述第一数据服务器的关于所请求数据项是否存在的查询而在所述数据管理部分中找到所请求的数据项时,检查该用户对于所请求数据项的访问权限,并当确定该用户具有所述访问权限时,通知所述第一数据服务器可以提供所请求的数据项。
根据本发明的另一方面,该第二数据服务器还可以包括验证信息接收部分,用于从所述第一数据服务器接收临时验证信息;临时验证信息存储部分,用于存储从所述第一数据服务器接收的所述临时验证信息;重定向验证部分,当从未完成用户验证的客户机接收到数据请求时,确定该数据请求是否包括存储在所述临时验证信息存储部分中的临时验证信息,并且当所述重定向验证部分确定该数据请求包括所述临时验证信息时,接受该数据请求,而不使所述客户机执行用户验证过程。
根据本发明的另一方面,提供了一种由数据服务器执行的数据管理方法,所述数据服务器与经由网络连接的另一数据服务器协作,从而部分地构成一个数据管理系统,所述方法包括当从已成功验证过的客户机接收到数据请求时,在所述数据服务器中搜索该数据请求中所请求的数据项;当找到所请求的数据项时,提供所请求的数据项;当没有找到所请求的数据项时,通过向另一数据服务器发送关于所请求数据项是否存在的查询,将具有所请求数据项的数据服务器识别为转移目的地服务器;从所述转移目的地服务器接收临时验证信息;向所述客户机返回重定向信息,该重定向信息包括用于在所述转移目的地服务器中识别所请求数据项的访问信息和所述临时验证信息。
根据本发明的另一方面,提供了一种由数据服务器执行的数据管理方法,所述数据服务器与经由网络连接的另一数据服务器协作,从而部分地构成一个数据管理系统,所述方法包括当从已成功验证过的用户接收到数据请求时,在所述数据服务器中搜索该数据请求中所请求的数据项;当找到所请求的数据项时,向所述客户机提供所请求的数据项;当没有找到所请求的数据项时,通过向另一数据服务器发送关于所请求数据项是否存在的查询,将具有所请求数据项的数据服务器识别为转移目的地服务器;生成用于所请求数据项的临时验证信息;生成重定向信息并将该重定向信息返回到所述客户机,该重定向信息包括用于在所述转移目的地服务器中识别所请求数据项的访问信息、用于所请求数据项的临时验证信息和所述数据服务器的服务器识别信息。
根据本发明的另一方面,当接收到的所述用户识别信息是针对关于所述临时验证信息有效性的查询时,所述重定向验证部分确定所述数据请求来自与所述用户识别信息相对应的客户机。
根据本发明的另一方面,提供了一种数据管理系统,包括数据管理部分,用于存储数据项;用户验证部分,用于执行用户验证;搜索部分,当从客户机接收到数据请求时,在所述数据管理部分中搜索所请求的数据项;数据提供部分,当在所述数据管理部分中找到所请求的数据项时,将所请求的数据项提供给所述客户机;重定向部分,当在所述数据管理部分中没有找到所请求的数据项时,检测所述数据管理系统中存储有所请求数据项的数据服务器,接收来自该数据服务器的临时验证信息,并向所述客户机发送用于在该数据服务器中识别所请求数据项的信息和所述临时验证信息;查询响应部分,当从所述数据管理系统中的另一数据服务器接收到关于所请求数据项是否存在的查询时,搜索所述数据管理部分,并且当找到所请求的数据项时,生成临时验证信息,将该临时验证信息存储在临时验证信息存储部分中,并将该临时验证信息通知给所述另一数据服务器。
根据本发明的另一方面,该数据管理系统还可以包括重定向验证部分,当从未完成用户验证的客户机接收到数据请求时,确定该数据请求是否包括所述临时验证存储部分中存储的临时验证信息,并且当所述重定向验证部分确定该数据请求包括所述临时验证信息时,接受该数据请求,而不使所述客户机执行用户验证过程。
根据本发明的另一方面,该数据管理系统还可以包括用户信息接收部分,用于从所述另一数据服务器接收数据请求用户的用户识别信息;用户信息存储部分,用于将从所述另一数据服务器接收到的所述用户识别信息与临时验证信息对应地存储在所述临时验证信息存储部分中;其中,当来自所述客户机的所述数据请求包括存储在所述临时验证信息存储部分中的临时验证信息时,所述重定向验证部分识别与所存储的临时验证信息相对应的用户识别信息,并确定所述数据请求来自与所述用户识别信息相对应的客户机。
根据本发明的另一方面,当响应于来自所述另一数据服务器的关于所请求数据项是否存在的查询而在所述数据管理部分中找到所请求数据项时,所述查询响应部分检查所述用户对于所请求数据项的访问权限,并且当确定所述用户具有所述访问权限时,将所述临时验证信息通知给所述另一数据服务器。
虽然上面通过具体例子以特定的优选方式描述了本发明的优选方式,但是应该理解的是,本发明不限于此。另外,本领域技术人员应该理解的是,在不偏离本发明的精神和范围的前提下,可以对本发明做出各种变化和修改。
权利要求
1.一个数据服务器,其与经由网络连接的另一数据服务器协作,从而部分地构成一个数据管理系统,所述数据服务器包括数据管理部分,用于存储数据项;用户验证部分,用于执行用户验证;搜索部分,当从客户机接收到数据请求时,在所述数据管理部分中搜索所请求的数据项;数据提供部分,当在所述数据管理部分中找到所请求的数据项时,向所述客户机提供所请求的数据项;以及重定向部分,当在所述数据管理部分中没有找到所请求的数据项时,检测所述数据管理系统中存储有所请求数据项的数据服务器,接收来自该数据服务器的临时验证信息,并向所述客户机发送用于在该数据服务器中识别所请求数据项的信息和所述临时验证信息。
2.一个数据服务器,其与经由网络连接的另一数据服务器协作,从而部分地构成数据管理系统,所述数据服务器包括用户验证部分,用于执行用户验证;搜索部分,当从客户机接收到数据请求时,在数据管理部分中搜索所请求的数据项;数据提供部分,当在所述数据管理部分中找到所请求的数据项时,向所述客户机提供所请求的数据项;以及查询响应部分,当从所述数据管理系统中的另一数据服务器接收到关于所请求数据项是否存在的查询时,搜索所述数据管理部分,并且,当找到所请求的数据项时,生成临时验证信息,将该临时验证信息存储在临时验证信息存储部分中,并将该临时验证信息通知给所述另一数据服务器。
3.根据权利要求2所述的数据服务器,还包括重定向验证部分,当从未完成用户验证的客户机接收到数据请求时,如果该重定向验证部分确定该数据请求包括存储在所述临时验证信息存储部分中的所述临时验证信息时,则接受该数据请求,而不使该客户机执行用户验证过程。
4.根据权利要求3所述的数据服务器,还包括用户信息接收部分,从所述另一数据服务器接收数据请求用户的用户识别信息;以及用户信息存储部分,将从所述另一数据服务器接收到的所述用户识别信息与临时验证信息对应地存储在所述临时验证信息存储部分中;其中,当来自所述客户机的数据请求包括存储在所述临时验证信息存储部分中的临时验证信息时,所述重定向验证部分识别与所存储的临时验证信息相对应的用户识别信息,并确定所述数据请求来自与所述用户识别信息相对应的客户机。
5.根据权利要求4所述的数据服务器,其中,当响应于来自所述另一数据服务器的关于所请求数据项是否存在的查询而在所述数据管理部分中找到所请求的数据项时,所述查询响应部分检查该用户对于所请求数据项的访问权限,并且当确定该用户具有所述访问权限时,将所述临时验证信息通知给所述另一数据服务器。
6.第一数据服务器,其与经由网络连接的另一数据服务器协作,从而部分地构成数据管理系统,所述第一数据服务器包括数据管理部分,用于存储数据项;用户验证部分,用于执行用户验证;搜索部分,当从用户接收到数据请求时,在所述数据管理部分中搜索所请求的数据项;数据提供部分,当在所述数据管理部分中找到所请求的数据项时,向客户机提供所请求的数据项;以及重定向部分,当在所述数据管理部分没有找到所请求的数据项时,检测所述数据管理系统中存储有所请求数据项的第二数据服务器,生成用于所请求数据项的临时验证信息,生成重定向信息,并将该重定向信息返回到所述客户机,该重定向信息包括用于在所述第二数据服务器中识别所请求数据项的信息、用于所请求数据项的临时验证信息和所述第一数据服务器的服务器识别信息。
7.第二数据服务器,其与经由网络连接的另一数据服务器协作,从而部分地构成数据管理系统,所述第二数据服务器包括数据管理部分,用于存储数据项;用户验证部分,用于执行用户验证;搜索部分,当从用户接收到数据请求时,在所述数据管理部分中搜索所请求的数据项;数据提供部分,当在所述数据管理部分中找到所请求的数据项时,向客户机提供所请求的数据项;以及重定向验证部分,当从未完成用户验证的客户机接收到数据请求时,向由从该数据请求中提取的服务器识别信息指示的第一数据服务器发送关于从该数据请求中提取的临时验证信息有效性的查询,并且,当接收到指示该临时验证信息有效的查询响应时,接受该数据请求,而不使所述客户机执行用户验证过程。
8.根据权利要求6所述的第一数据服务器,还包括临时验证信息存储部分,将所生成的临时验证信息与所述数据请求用户的用户识别信息对应地进行存储;以及响应部分,当从所述第二数据服务器接收到关于临时验证信息有效性的查询并且所述临时验证信息存储部分存储有所述临时验证信息时,向所述第二数据服务器提供指示所述临时验证信息有效的信息。
9.根据权利要求7所述的第二数据服务器,还包括用户信息接收部分,当从所述第一数据服务器接收到关于所请求数据项是否存在的查询时,从所述第一数据服务器接收请求该数据项的用户的用户识别信息;以及查询响应部分,当响应于来自所述第一数据服务器的关于所请求数据项是否存在的查询而在所述数据管理部分中找到所请求的数据项时,检查该用户对于所请求数据项的访问权限,并且,当确定该用户具有所述访问权限时,通知所述第一数据服务器可以提供所请求的数据项。
10.根据权利要求7所述的第二数据服务器,还包括验证信息接收部分,用于从所述第一数据服务器接收临时验证信息;临时验证信息存储部分,用于存储从所述第一数据服务器接收的所述临时验证信息;以及重定向验证部分,当从未完成用户验证的客户机接收到数据请求时,确定该数据请求是否包括存储在所述临时验证信息存储部分中的临时验证信息,并且,当所述重定向验证部分确定该数据请求包括所述临时验证信息时,接受该数据请求,而不使所述客户机执行用户验证过程。
11.一种由数据服务器执行的数据管理方法,所述数据服务器与经由网络连接的另一数据服务器协作,从而部分地构成一个数据管理系统,所述方法包括当从已成功验证过的客户机接收到数据请求时,在所述数据服务器中搜索该数据请求中所请求的数据项;当找到所请求的数据项时,提供所请求的数据项;当没有找到所请求的数据项时,通过向另一数据服务器发送关于所请求数据项是否存在的查询,将具有所请求数据项的数据服务器识别为转移目的地服务器;从所述转移目的地服务器接收临时验证信息;以及向所述客户机返回重定向信息,该重定向信息包括用于在所述转移目的地服务器中识别所请求数据项的访问信息和所述临时验证信息。
12.一种由数据服务器执行的数据管理方法,所述数据服务器与经由网络连接的另一数据服务器协作,从而部分地构成一个数据管理系统,所述方法包括当从已成功验证过的用户接收到数据请求时,在所述数据服务器中搜索该数据请求中所请求的数据项;当找到所请求的数据项时,向所述客户机提供所请求的数据项;当没有找到所请求的数据项时,通过向另一数据服务器发送关于所请求数据项是否存在的查询,将具有所请求数据项的数据服务器识别为转移目的地服务器;生成用于所请求数据项的临时验证信息;以及生成重定向信息并将该重定向信息返回到所述客户机,该重定向信息包括用于在所述转移目的地服务器中识别所请求数据项的访问信息、用于所请求数据项的临时验证信息和所述数据服务器的服务器识别信息。
13.根据权利要求7所述的第二数据服务器,其中,当接收到的所述用户识别信息是针对关于所述临时验证信息有效性的查询时,所述重定向验证部分确定所述数据请求来自与所述用户识别信息相对应的客户机。
14.一种数据管理系统,包括数据管理部分,用于存储数据项;用户验证部分,用于执行用户验证;搜索部分,当从客户机接收到数据请求时,在所述数据管理部分中搜索所请求的数据项;数据提供部分,当在所述数据管理部分中找到所请求的数据项时,将所请求的数据项提供给所述客户机;重定向部分,当在所述数据管理部分中没有找到所请求的数据项时,检测所述数据管理系统中存储有所请求数据项的数据服务器,接收来自该数据服务器的临时验证信息,并向所述客户机发送用于在该数据服务器中识别所请求数据项的信息和所述临时验证信息;以及查询响应部分,当从所述数据管理系统中的另一数据服务器接收到关于所请求数据项是否存在的查询时,搜索所述数据管理部分,并且,当找到所请求的数据项时,生成临时验证信息,将该临时验证信息存储在临时验证信息存储部分中,并将该临时验证信息通知给所述另一数据服务器。
15.根据权利要求14所述的数据管理系统,还包括重定向验证部分,当从未完成用户验证的客户机接收到数据请求时,确定该数据请求是否包括所述临时验证存储部分中存储的临时验证信息,并且,当所述重定向验证部分确定该数据请求包括所述临时验证信息时,接受该数据请求,而不使所述客户机执行用户验证过程。
16.根据权利要求14所述的数据管理系统,还包括用户信息接收部分,用于从所述另一数据服务器接收数据请求用户的用户识别信息;以及用户信息存储部分,用于将从所述另一数据服务器接收到的所述用户识别信息与临时验证信息对应地存储在所述临时验证信息存储部分中;其中,当来自所述客户机的所述数据请求包括存储在所述临时验证信息存储部分中的临时验证信息时,所述重定向验证部分识别与所存储的临时验证信息相对应的用户识别信息,并确定所述数据请求来自与所述用户识别信息相对应的客户机。
17.根据权利要求14所述的数据管理系统,其中,当响应于来自所述另一数据服务器的关于所请求数据项是否存在的查询而在所述数据管理部分中找到所请求数据项时,所述查询响应部分检查所述用户对于所请求数据项的访问权限,并且当确定所述用户具有所述访问权限时,将所述临时验证信息通知给所述另一数据服务器。
全文摘要
一个数据服务器,与经由网络连接的另一数据服务器协作,从而部分地构成一个数据管理系统的,该数据服务器包括数据管理部分,存储数据项;用户验证部分,执行用户验证;搜索部分,当从客户机接收到数据请求时,在所述数据管理部分中搜索所请求的数据项;数据提供部分,当在所述数据管理部分中找到所请求的数据项时,向所述客户机提供所请求的数据项;重定向部分,当在所述数据管理部分中没有找到所请求的数据项时,检测所述数据管理系统中存储有所请求数据项的数据服务器,接收来自该数据服务器的临时验证信息,并向客户机发送用于在该数据服务器中识别所请求数据项的信息和临时验证信息。
文档编号H04L12/00GK1925485SQ20061006829
公开日2007年3月7日 申请日期2006年3月27日 优先权日2005年9月2日
发明者砂田智 申请人:富士施乐株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1