CN100422994C - 数据管理***、数据服务器和数据管理方法 - Google Patents
数据管理***、数据服务器和数据管理方法 Download PDFInfo
- Publication number
- CN100422994C CN100422994C CNB2005101289927A CN200510128992A CN100422994C CN 100422994 C CN100422994 C CN 100422994C CN B2005101289927 A CNB2005101289927 A CN B2005101289927A CN 200510128992 A CN200510128992 A CN 200510128992A CN 100422994 C CN100422994 C CN 100422994C
- Authority
- CN
- China
- Prior art keywords
- data
- data item
- server
- item
- request
- 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.)
- Expired - Fee Related
Links
- 238000013523 data management Methods 0.000 title claims abstract description 123
- 238000000034 method Methods 0.000 title claims description 60
- 230000004044 response Effects 0.000 claims abstract description 39
- 238000012545 processing Methods 0.000 claims description 43
- 238000001514 detection method Methods 0.000 claims description 39
- 230000008569 process Effects 0.000 claims description 26
- 238000007726 management method Methods 0.000 claims description 25
- 238000012217 deletion Methods 0.000 claims description 8
- 230000037430 deletion Effects 0.000 claims description 8
- 230000009471 action Effects 0.000 claims description 3
- 230000006870 function Effects 0.000 description 12
- 101100256918 Caenorhabditis elegans sid-2 gene Proteins 0.000 description 9
- 238000010586 diagram Methods 0.000 description 9
- 238000013507 mapping Methods 0.000 description 6
- 238000006243 chemical reaction Methods 0.000 description 4
- 101000654479 Homo sapiens SID1 transmembrane family member 1 Proteins 0.000 description 3
- 102100031454 SID1 transmembrane family member 1 Human genes 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 3
- 239000000284 extract Substances 0.000 description 2
- 230000008676 import Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 230000015572 biosynthetic process Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000004069 differentiation Effects 0.000 description 1
- 230000002349 favourable effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/955—Retrieval from the web using information identifiers, e.g. uniform resource locators [URL]
- G06F16/9566—URL specific, e.g. using aliases, detecting broken or misspelled links
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 Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Information Transfer Between Computers (AREA)
Abstract
提供一种具有多个通过网络连接的数据服务器的数据管理***,其中,每个数据服务器包括:数据管理部件,用于管理与数据项的本地标识符和数据项的全局标识符对应的所述数据项;请求处理部件,用于在所述数据管理部件中搜索由客户端请求的数据项,在所述请求的数据项被找到时向所述客户端提供所述请求的数据项,并且在所请求的数据项未被找到时向其他数据服务器发送包含所述请求的数据项的全局标识符的数据查询,以检测存储所述请求的数据项的服务器;以及响应部件,用于在接收到来自另一数据服务器的数据查询时,在所述数据管理部件中搜索与所述数据查询中包含的全局标识符对应的数据项,并且将所述搜索结果发送到所述另一数据服务器。
Description
技术领域
本发明涉及用于解析(resolve)用户请求的数据项的位置的技术。
背景技术
通常,在这个领域中,数据管理***通过向每个文件分配一个被称为“句柄”的唯一标识符来对文件进行管理。所述数据管理***不是向用户提供一个示出所述文件的位置(所位于的服务器和所述文件在该服务器内的路径名称的组合)的URL(这种URL通常为共用的),而是提供指明所述***的服务器名称和所述文件的句柄的虚拟URL,以作为文件的URL(统一资源***)。当用户使用所述虚拟URL访问所述***时,所述***根据所述句柄识别所述文件的位置,并且向所述用户提供所述文件。利用这种机制,即使所述文件被移动到所述数据管理***上的任意位置(目录),响应于用户的请求,所述文件也可以被找到。
在另一相关技术中,服务器向所述服务器管理的每个内容项分配一个标识符,并且在用户发出搜索请求时向该用户提供虚拟URL,其中该虚拟URL包含与所述请求匹配的所述内容项的标识符。当所述用户使用所述虚拟URL访问所述服务器时,所述服务器将在所述虚拟URL中包含的所述标识符传送给存储***。所述存储***将与所述标识符对应的所述内容项复制到高速缓冲存储器中,并且向所述服务器返回所述高速缓冲存储器中所述内容项的副本的地址。按照这种方式,所述服务器可以向用户提供所述高速缓冲存储器中的所述内容项。
在数据管理***“Dspace”(其是由麻省理工学院(MIT)研究的开放源软件)中,句柄服务器被设置在一个中心处,该中心用于对所述数据项的句柄(标识符)和管理每个数据项的服务器的信息进行管理。每个Dspace平台通过查询所述句柄的句柄服务器来解析用于管理与用户提供的句柄对应的所述实际数据项的服务器。
上述第一和第二相关技术被限制于解析在一个数据管理***中管理的文件和内容项的位置,而不能处理这样一种情形,例如,在该情形中,所述文件和内容项的位置在网络上的多个数据管理***内变化(文件和内容项被移动)。
虽然Dspace***可以处理这些情形,但是由于Dspace***完全依赖于中心管理服务器,所以会出现只有集中式控制***才有的问题:例如,未在中心管理服务器中注册的服务器上的数据项不能被解析,以及当中心管理服务器出现故障时,所述数据项的位置不能被解析。
发明内容
即使当数据项被移动到另一服务器时,本发明也可以在不使用中心管理服务器的情况下,通过使用所述数据项的位置信息(比如在所述数据项被移动之前发布的URL)来解析所述数据项的位置。
根据本发明的一个方面,提供了一种数据管理***,该数据管理***具有多个通过网络连接的数据服务器,其中每个数据服务器包括:数据管理部件,用于管理与数据项的本地标识符和数据项的全局标识符对应的所述数据项;请求处理部件,用于在所述数据管理部件中搜索由客户端请求的数据项,在所述请求的数据项被找到时向所述客户端提供所述请求的数据项,并且在所述请求的数据项未被找到时向其他数据服务器发送包含所述请求的数据项的全局标识符的数据查询,以检测存储所述请求的数据项的数据服务器;以及响应部件,用于在接收到来自另一数据服务器的数据查询时,在所述数据管理部件中搜索与所述数据查询中包含的全局标识符对应的数据项,并且将所述搜索结果发送到所述另一数据服务器。
根据本发明的另一方面,提供一种数据服务器,该数据服务器与通过网络连接的其他数据服务器协作来形成数据管理***的一个部分。所述数据服务器包括:数据管理部件,用于管理与数据项的本地标识符和数据项的全局标识符对应的所述数据项;以及请求处理部件,用于在所述数据管理部件中搜索由客户端请求的数据项,在所述请求的数据项被找到时向所述客户端提供所述请求的数据项,并且在所述请求的数据项未被找到时向其他数据服务器发送包含所述请求的数据项的全局标识符的数据查询,以检测存储所述请求的数据项的数据服务器。
根据本发明的另一方面,提供一种由数据服务器执行的数据管理方法,该数据服务器与通过网络连接的其他服务器协作来形成数据管理***的一个部分,所述方法包括:管理与数据项的本地标识符和数据项的全局标识符对应的所述数据项;搜索由客户端请求的数据项;在所述请求的数据项被找到时,向所述客户端提供所述请求的数据项,并且在所述请求的数据项未被找到时向其他数据服务器发送包含所述请求的数据项的全局标识符的数据查询,以检测存储所述请求的数据项的数据服务器。
附图说明
参照附图将对本发明的一个实施例进行详细描述,其中:
图1是示出根据本发明实施例的数据管理***的结构的示意图;
图2是示出根据本发明实施例的数据服务器的结构的图形;
图3是示出数据管理部件中数据的管理信息的结构的图形;
图4是例示ID转换部件中存储的对应关系表的图形;
图5是示出在新数据项被存储在数据管理部件中时执行的处理的流程图;
图6a是例示虚拟URL的图形;
图6b是例示虚拟URL的图形;
图7是当数据服务器接收到来自客户端的数据请求信息时执行的处理的流程图;
图8是当数据服务器接收到来自另一数据服务器的查询时执行的处理的流程图;
图9是用于说明根据本发明实施例的***的操作的图形;
图10是用于说明根据本发明实施例的***的操作的图形;
图11是示出根据本发明替换实施例的数据服务器的结构的示意图;
图12是示出当根据本发明替换实施例的数据服务器接收到来自客户端的数据请求信息时执行的处理的流程图;和
图13是示出根据本发明另一替换实施例的数据服务器的结构的示意图。
发明详述
现在,参考附图对本发明的实施例进行描述。
图1是示出根据本发明的实施例的数据管理***的结构的示意图。如图1所示,所述***包括多个数据服务器10-1、10-2、...,所有数据服务器都连接到诸如LAN(局域网)或因特网之类的网络20(下文中,简称为“数据服务器10”,除非必须区分数据服务器;这同样适用于数据服务器10中的模块)。响应于来自网络20上的客户端30(例如,个人计算机)的数据请求,所述***提供所请求的数据。
图2是示出作为根据本发明实施例的数据管理***的一个部分的数据服务器10的结构的示意图。所述数据服务器10包括数据管理部件12、ID转换部件13、检测部件14、以及查询部件16。在数据管理部件12中,一个或多个数据项(也就是,对象)被存储,且被提供给可由用户操作的客户端30。在数据服务器10中为唯一的全球唯一全局ID(标识符)和本地ID被附加到数据管理部件12中存储的每个数据项中。
例如,被公知为UUID(通用唯一标识符)或GUID(全局唯一标识符)的128位标识符可以用作全局ID。所述UUID包括该UUID的创建时间、在用于创建UUID的机器中配备的网卡的MAC(介质访问控制)地址等的信息,以用于确保全局唯一性。URL(统一资源***)使用具有该数据项的数据服务器10的主机名称和指示该数据项在数据服务器10中的实际存储位置的路径名称来唯一地指示数据,同时本实施例的全局ID是与数据项的位置信息相独立的标识符。
另一方面,本地ID仅仅需要在数据管理部件12中存储的数据项中为唯一。因此,与全局ID相比较,本地ID需要更少量的数据项(较少量的数字位)。在实施例中,作为数据项(对象)的类型和序列号的组合的本地ID被用作一个示例本地ID。数据项的类型例如表示诸如文档、文件夹或目录的类型。所述序列号可以是例如按照存储顺序附加到数据管理部件12上的编号。可以为每个类型数据项分配所述顺序。例如,第十个存储的文档的本地ID将是“文档-10”。作为数据项的类型和序列号的组合的本地ID的有利之处在于,所述数据管理部件可以自动地创建所述本地ID,并且所述用户可以相对容易地存储(remember)所述本地ID,由此允许方便地输入。
图3示出了由数据管理部件12管理的每个数据项的管理信息的数据结构。如图3中所示,数据管理部件12通过将所述数据项的数据ID 102和指示所述数据服务器10内的数据项的链接信息104(例如,所述数据项的路径名称)相关联来管理每个已存储的数据项。数据ID 102可以是本地ID或全局ID,鉴于数据搜索处理的效率,该数据ID被期望是具有较少量数字位的本地ID。
ID转换部件13执行全局ID和本地ID之间的ID转换处理。所述ID转换部件13具有对应关系表,该对应关系表示出被分配给同一数据项的全局ID和本地ID之间的对应关系,以便于执行所述转换处理。图4例示了所述对应关系表中的数据内容。例如,当本地ID被提供时,ID转换部件13使用所述对应关系表来搜索与所述本地ID对应的全局ID。ID转换部件13不需要在两个方向上在本地ID和全局ID之间进行转换,但是由于数据服务器向另一数据服务器发送对于用户使用所述本地ID指定的数据项的一个查询(下面将会描述细节),所以必须能够将本地ID转换成全局ID。当数据管理部件12通过使用全局ID来管理数据项时,此种配置就足够。另一方面,当数据管理部件12使用本地ID管理数据项且使用全局ID的数据请求将被用户接受时,必须在ID转换部件13中提供相反方向的转换功能(也就是,从全局ID转换到本地ID)。
如图5中所示,当新数据项将被存储在数据管理部件12中时,数据服务器10向数据项分配本地ID(S10),并且检查所述数据项是否具有所分配的全局ID(S12)。当所述数据项具有所分配的全局ID时,数据服务器10将全局ID和在步骤S10中分配的本地ID之间的对应关系存储在ID转换部件13的对应关系表中(S16)。当所述数据项不具有分配的全局ID时,数据服务器10向所述数据项分配全局ID(S14),并且将该全局ID和在步骤S 10中分配的本地ID存储在ID转换部件13中(S16)。
即使在数据管理部件12中存储的数据项被删除或被移动到另一数据服务器时,在ID转换部件13的对应关系表中存储的信息也不会被删除,以便利于由用户进行的数据访问。还可以使用一种配置,在该配置中,当数据管理部件12中存储的数据项被删除时,这种事件被与例如对应关系表中的数据项的本地ID或全局ID相对应地记录。
检测部件14是用于检测在网络20上存在的另一数据服务器10的单元。
查询单元16是用于向另一数据服务器10发送关于其他数据服务器10是否具有客户端30请求的数据项的查询的单元。所述查询部件16还具有对来自另一数据服务器10的查询部件16的查询作出响应的功能。
在本实施例中,当用户操作的客户端30向数据管理***发布数据项请求时,客户端30通过使用图6A或图6B所示的虚拟URL 110来发布所述请求。在图6A中示出的所述例示虚拟URL 110是包括管理数据项的数据服务器10的主机名称112(或者,这可以是IP地址)以及数据项的全局ID 114a的虚拟URL 110。由于全局ID的数字位的数目很大,所以在图6A中省略了全局ID的一部分。图6A中示出的虚拟URL指示数据项由被称为“xxx.fx.co.jp”的数据服务器管理且数据项的全局ID是“12345...67890”。在图6A的虚拟URL中,主机名称112和全局ID 114a之间的术语“get”指示由数据服务器10提供的方法的名称。当数据服务器10允许客户端30针对数据服务器10管理的数据项执行多种类型的操作时,虚拟URL被配置为包含指示所述操作的方法。另一方面,当所述数据服务器10只向客户端30提供所述请求的数据项时,此种方法描述将不是必需的。在图6B中示出的示例虚拟URL是一种包括本地ID 114b而不是全局ID 114a的虚拟URL。当所述虚拟URL被发布时,所述本地ID 114b是具有所述数据项的数据服务器10中的所述数据的本地ID。
由于所述虚拟URL是多个URL,每个所述虚拟URL包含关于协议、端口等的信息,但在此将不会对这进行描述。
通过例如将虚拟URL包含在电子邮件等中,来将用于访问所述数据项的所述虚拟URL提供给用户。所述用户通过诸如点击虚拟URL之类的操作,经由在客户端30中安装的网页浏览器来尝试访问所述数据项。
还可以提供一种功能,用于当在数据管理部件12中出现变化时,比如新数据项被存储在数据管理部件12中和所存储的数据项被更新时,按照虚拟URL的通知机制,向相关的用户发送指示涉及变化的所述数据项的虚拟URL的通知。所述通知例如按照电子邮件的形式发送。虽然在所述通知中将要描述的虚拟URL可以是使用全局ID的虚拟URL或使用本地ID的虚拟URL,但是为了用户简便,期望是本地ID。所述通知将被发送到的关联用户被预先以例如每个数据项、每个文件夹等为单位注册。还可以使用一种配置,用于在用户将数据项存储在数据服务器10中时,注册一个或多个被允许访问所述数据项的个人,以作为通知发送目的地用户。
在任何上述配置中,用户可以使用过去已经获得的虚拟URL来访问所述数据项。
当用户对客户端30进行操作且使用虚拟URL 110请求数据项时,包含全局ID 114a或本地ID 114b的数据请求信息被发送到由主机名称112指示的数据服务器。
接着,参考图7描述在数据服务器10接收到来自客户端30的数据请求信息时执行的处理。在下述描述中,为了简便,按照由形成所述***的一个部分的所述多个数据服务器10中的一个数据服务器(也就是,数据服务器10-1)执行的处理来说明所述处理,而由其他数据服务器执行的处理类似于所述描述。
在这个处理中,数据服务器10-1从来自客户端30的数据请求信息中提取数据ID(S100),并且在数据管理部件12-1中搜索与所述数据ID对应的实际数据项的链接信息(S102)。在本过程中,在一些情况下,全局ID 114a被作为数据ID从使用虚拟URL执行的数据请求中提取出,而在其他情况下,本地ID 114b被从使用虚拟URL执行的数据请求中提取出。另外,数据管理部件12-1可以具有一种将全局ID作为已存储的数据项的索引使用的结构或者一种将本地ID作为索引使用的结构。因此,在搜索步骤S102中,根据需要,ID转换部件13-1被使用来将在所述数据请求中指示的数据ID的类型转换成数据管理部件12-1的搜索索引的数据ID的类型。例如,当数据管理部件12-1使用本地ID管理数据项且使用全局ID的所述数据请求由客户端30发送时,数据管理部件12-1将所述全局ID提供给ID转换部件13-1,以将所述ID转换为本地ID,并且与所获得的本地ID对应的数据项被搜索到。当所述数据请求中的数据ID的类型与所述搜索索引的ID类型相同时,ID转换处理就不必要。当与所述请求的数据项对应的链接信息被找到时(当步骤S104中的确定结果为肯定(Y)时),数据服务器10-1从数据服务器10-1中的存储设备获得由所述链接信息指示的实际数据项,并且向客户端30提供所获得的数据项(S114)。
另一方面,当与所述请求的数据ID对应的链接信息未找到时(当步骤S104中的确定结果为否定(N)时),数据服务器10-1指示检测部件14-1来检测形成本***一个部分的其他数据服务器10-2等,并且响应于该指令,检测部件14-1检测其他数据服务器10-2等(S106)。对其他数据服务器10的检测可以通过例如检测部件14-1向网络20广播用于检测其他服务器的预定消息来实现。每个数据服务器10-2的检测部件14-2具有协议来识别用于检测其他服务器的消息并且对该消息作出响应。换言之,根据所述协议,接收到用于检测其他服务器的消息的另一数据服务器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发送一个数据查询,并且查询数据服务器10-2是否具有与所述全局ID对应的数据项,其中所述数据查询包含来自客户端30的所述请求的数据项的全局ID(S108)。更为具体地,当数据ID是全局ID或当数据ID是本地ID时使用ID转换部件13将该数据ID转换为全局ID后,查询部件16使用来自客户端30的数据请求中的数据ID来创建数据查询。稍后将详细描述接收该查询的数据服务器10-2的查询部件16-2执行的操作。
当所述查询结果显示所述查询已经被发送到其上的数据服务器10-2不具有所述数据项时(当步骤S110中的确定结果为否定(N)时),所述数据服务器10-1重复对另一数据服务器的检测(S106),并且发送查询(S108)。重复进行步骤S106和S108,直到找到具有所述数据项的数据服务器10。
虽然图7示出了其中在步骤S106中检测一个数据服务器且在步骤S108中向所述数据服务器发送查询的过程,但是本发明并不限于此种配置,并且还可以,例如,在步骤S 106中检测通过广播可以检测到的所有数据服务器10,存储所找到的数据服务器10,并且随后在步骤S108中将所述查询发送到每个数据服务器10。
当查询结果显示所述查询已经被发送到其上的数据服务器10-2具有所述数据项时(当步骤S110中的确定结果为肯定(Y)时),数据服务器10-1向客户端30返回重定向信息,其中该重定向信息包含数据服务器10-2的服务器ID(S112)。重定向信息的返回可以例如依照HTTP(超文本传输协议)的通用重定向方法来实现。也就是说,数据服务器10-1向客户端30返回重定向信息,其中该重定向信息包含指示重定向的状态代码,比如320(找到),以及包含重定向目的地的URL的位置字段。在重定向信息中包含的重定向目的地的URL是上述虚拟URL,该虚拟URL包含作为重定向目的地的数据服务器10-2的服务器ID以及所述请求的数据项的数据ID。在本过程中的数据ID可以是全局ID或本地ID,但是为了用户简便,数据ID被期望是本地ID。在这种情况下的本地ID是被确定为具有所述数据的数据服务器10-2中的本地ID。
当所述虚拟URL是具有全局ID的虚拟URL时,由于在查询期间重定向目的地的服务器ID以及所述请求的数据项的全局ID已经被获知,所以数据服务器10-1可以创建包含该信息的虚拟URL。另一方面,当所述虚拟URL是具有本地ID的虚拟URL时,从所述查询目的地数据服务器10-2获得所述数据的本地ID,并且通过将所述本地ID和服务器ID合并在一起来创建所述虚拟URL。
根据HTTP,接收重定向信息的客户端30向由同样在所述重定向信息中的服务器ID指示的数据服务器10-2发送包含重定向信息中的数据ID的数据请求。
接着,参考图8描述在数据服务器接收来自另一数据服务器的查询时由数据服务器执行的处理。在下述描述中,为了简便,按照由数据服务器10-2执行的处理来说明所述处理,而其他数据服务器执行类似的处理。
当数据服务器10-2的查询部件16接收来自另一数据服务器10-1的查询部件16的数据查询时,查询部件16从所述数据查询的信息中提取目标数据项的全局ID(S200),并且在所述数据管理部件12-2中搜索与全局ID对应的链接信息(S202)。在本搜索过程中,当数据管理部件12-2使用本地ID管理所述数据项时,对于此次搜索,使用ID转换部件13-2将所述全局ID转换为本地ID。当所述搜索的结果显示在数据管理部件12-2中找到与全局ID对应的链接信息时(当在步骤S204中的确定结果为肯定(Y)时),查询部件16-2向已经发送所述查询的数据服务器10-1返回一个消息,该消息指示数据服务器10-2具有作为所述查询目标的数据项(S206)。另一方面,当所述链接信息未找到时(当步骤S204中的确定结果为否定(N)时),查询部件16-2向已经发送所述查询的数据服务器10-1返回一个消息,该消息指示数据服务器10-2不具有作为所述查询目标的数据项(S208)。
或者,在步骤S206中,取代向查询源(origin)返回一个指示存在作为查询目标的数据项的消息,还可以返回作为查询目标的数据项的虚拟URL(也就是说,包含具有所述数据项的数据服务器10-2的服务器ID以及所述数据项的数据ID的所述虚拟URL)。本地ID可以用作虚拟URL中示出的数据ID,同样虚拟ID可以被容易地存储且可以由用户容易地输入。当本***使用本地ID向用户提供重定向信息时,所述查询部件16-2向数据服务器10-1返回包含本地ID的虚拟URL。当如上所述从所述查询目的地数据服务器10-2返回所述数据项的虚拟URL时,在步骤S112中,作为查询源的数据服务器10-1可以向客户端30返回由数据服务器10-2提供的虚拟URL,以作为重定向信息。
现在,通过参考具体的示例结构来描述上述数据管理***的操作。
当数据服务器10-1具有从客户端30发送到图1的结构中的数据服务器10-1的数据请求的目标数据项时,根据上述流程中示出的过程,所述目标数据项被从数据服务器10-1提供给客户端30。
另一方面,当在数据服务器10-1中不存在从客户端30发送到数据服务器10-1的数据请求的目标数据项时,例如按照图9所示的方式执行所述过程。在图9的例示配置中,数据管理部件12-1和12-2被假定使用本地ID管理数据项。
在图9中,当使用本地ID(在图9中为“SID-1”)指定所述请求的数据项的数据请求被从客户端30发送(1)时,数据服务器10-1在数据管理部件12中搜索具有本地ID“SID-1”的数据(2)。由于在本示例配置中,数据管理部件12-1不具有数据项,所以检测部件14-1检测另一数据服务器10-2(3),并且使用ID转换部件13-1确定与本地ID“SID-1”对应的全局ID(在所述示例配置中为“UUID-1”)(4)。如果所述请求的数据项在过去已经被存储在数据服务器10-1中,那么由于数据项的本地ID和数据项的全局ID之间的对应关系被注册在ID转换部件13-1中,所以所述ID可以被转换。当用户已经从数据服务器10-1或另一用户接收到指示所述数据项的虚拟URL时,所述数据项很可能在过去被存储在数据服务器10-1中。当所述请求的数据项的全局ID“UUID-1”被确定时,查询部件16-1向数据服务器10-2发送包含全局ID的数据查询(5)。
接收所述数据查询的数据服务器10-2的查询部件16-2使用ID转换部件13-2确定与所述查询内的全局ID“UUID-1”对应的本地ID(6)。由于在本示例配置中具有UUID-1的数据项被存储在数据管理部件12-2中,所以与UUID-1对应的本地ID可以被确定(“SID-2”)。数据管理部件12-2在数据管理部件12-2的存储部件中搜索与“SID-2”对应的数据项并且将搜索结果发送到查询部件16-2(7)。由于在本例示配置中具有本地ID“SID-2”的数据项被找到,所以查询部件16-2向数据服务器10-1的查询部件16-1返回包含“SID-2”的响应信息(8)。接收所述响应信息的数据服务器10-1创建包含“SID-2”的重定向信息,并且将该重定向信息返回到请求客户端30(9)。所述重定向信息包含数据服务器10-2的主机名称和本地ID“SID-2”。客户端30根据所述重定向信息访问数据服务器10-2(10),并且获得数据项“SID-2”(11)。
在图9的例示配置中,数据管理部件12使用本地ID管理数据项。另一方面,当数据管理部件12使用全局ID管理数据项时,除了所述数据请求中的本地ID必须在数据管理部件12中被转换为用于搜索过程的全局ID以及当从另一数据服务器10接收到数据查询时可以使用在所述数据查询中包含的全局ID搜索数据管理部件12之外,所述处理类似于图9中所示。
图10示出了其中客户端30请求的数据项不存在于数据服务器10-1或数据服务器10-2中,而是存在于数据服务器10-3中的情形。
就数据服务器10-1用来检测数据服务器10-2的所述处理而言,这种情形类似于图9中的情形。数据查询被发送,并且所述查询部件16-2在ID转换部件13-2中查询与所述查询的全局ID“UUID-1”对应的本地ID(6)。然而,在图10的情形中,与全局ID“UUID-1”对应的本地ID并不由ID转换部件13-2获得。当所述数据项从未存储在数据服务器10-2中时这会发生。在这种情形下,所述查询部件16-2向数据服务器10-1返回响应信息,该响应信息指示数据服务器10-2不具有与所述数据查询相关的数据项(7)。
除其中数据项从未存储在数据服务器10-2中的情形之外,其中数据服务器10-2不具有所述请求的数据项的情形还包括其中所述数据项在过去已经存储,但随后已经被移除或删除的情形。在此种情形中,ID转换部件13-2具有与UUID-1对应的本地ID,但是所述数据项未在数据管理部件12-2中找到。因此,在这些情形中,指示数据服务器10-2不具有所述数据项的响应信息同样被返回到数据服务器10-1。
根据所述响应信息,数据服务器10-1的查询部件16-1识别数据服务器10-2不具有所述请求的数据项。在这种情形中,检测部件14-1检测另一数据服务器10-3(8),并且发送包含“UUID-1”的数据查询(9)。在数据服务器10-3中,通过ID转换部件13-3将“UUID-1”转换为本地ID(“SID-2”)(10),并且使用所述数据项的本地ID来搜索数据管理部件12-3(11)。在所述例示的配置中,通过所述搜索找到所述请求的数据项。因此,所述查询部件16-3向数据服务器10-1返回包含本地ID“SID-2”的响应信息(12)。随后的处理类似于图9的配置中的那些处理(13-15)。
按照这种方式,当数据服务器10-1不具有由客户端30请求的所述数据项时,数据服务器10-1使用所述数据的全局ID向其他数据服务器10-2、10-3、...发送一个查询,以查询所述数据服务器是否具有所述请求的数据项。因此,当任一数据服务器10具有所述数据项时,经由数据服务器10-1将该数据服务器10的重定向信息提供给客户端30,并且客户端30可以使用所述重定向信息来访问所述数据项。
在当前具有所述请求的数据项的数据服务器10出现故障或所述数据项已经被删除时,通过在所述网络20上搜索不能找到所述数据项。因此,可以使用一种配置,在该配置中,当已经预先设置的完成条件满足时,接收来自客户端30的数据请求的数据服务器10-1完成对另一数据服务器的查询的发送,并且数据服务器10-1通过对客户端30作出响应,以指示所述数据项未找到。对于完成条件,可以使用,例如,(a)一种情形,其中在向指定数目的数据服务器10发送数据查询后,所述请求的数据项未被找到,其中所述指定数目已经被预先指定,(b)一种情形,其中在指定时间流逝后所述请求的数据项未被找到,其中所述指定时间已经被预先指定,以及(c)一种情形,在该情形中,其中搜索数据服务器10的域被预先指定,并且在该域中的所有数据服务器10已经被查询后,所述请求的数据项未被找到。或者,当其上注册数据管理***中的部分或所有数据服务器的服务器ID的列表被存储在数据服务器10-1中时,所述完成条件可以是这样(d)一种条件,在该种条件中,在列表上的所有数据服务器10已经被查询后,所述请求的数据项未被找到。
可以使用一种配置,在该配置中,当执行数据项的删除操作时,数据管理部件12在与可使用的该数据项的本地ID或全局ID相对应的删除列表中注册删除事件。在此种情况下,当已经为其从另一数据服务器10-1发送所述数据查询的数据项处于所述删除列表上时,数据服务器10-2发送指示所述数据项已经被删除的响应。利用这个响应,数据服务器10可以退出进一步的搜索处理,并且向客户端30通知所述请求的数据项已经被删除。
在所述实施例的上述说明中,描述了一种示例配置,在该配置中,从客户端30接收到使用本地ID的数据请求。然而,本发明并不限于此种配置,并且比较容易理解的是,可以使用全局ID来执行类似的搜索过程。
如上所述,在本实施例中,每个数据服务器10搜索具有由客户端30请求的所述数据项的其他数据服务器10,并且将所述请求重定向到所找到的数据服务器10。因此,由于即使在不设置中心管理服务器时,所述请求的数据项也可以被找到,所以与相关技术相比,由于服务器的故障造成的不能解析数据的问题可以很好地抑制。
在本实施例中,即使由于数据项在数据服务器10之间移动而造成数据项位置的变化,客户端30也可以使用已经获知的虚拟URL来访问所述数据项,因此,原始管理所述数据项的数据服务器10(也就是,与虚拟URL中的服务器ID对应的数据服务器10)接收访问请求,并且搜索当前存储所述数据项的数据服务器10。因此,客户端30可以使用客户端30已经具有的虚拟URL来获得所述数据项。
一些公知的数据服务器具有下述功能:例如,通过电子邮件向用户分发URL,在服务器上的数据变化时(比如当数据项新近被存储时)该URL可以检查到变化。然而,当所述服务器上的数据项被移到另一个服务器时,所分发的URL就无用。当使用本实施例的机制时,然而,即使在此种情况下,客户端可以使用在数据移动前分发的虚拟URL获得所述数据项。另外,通常情况下,因为将要管理的数据量的增加,所以数据服务器必须被划分。在此种情况下,根据本实施例,在划分前在用户之间分发的虚拟URL同样可以在划分后使用。
在本实施例中,由于可以使用虚拟URL来请求所述数据项,其中该虚拟URL使用具有较少数目(与全局ID相比)的数字位的本地ID,所以与使用全局ID的配置的情形相比,用户可以更加容易地存储所述虚拟URL、口头地告诉其他用户所述虚拟URL,以及通过敲键来输入所述虚拟URL。
另外,在本实施例中,当数据项被存储在所述数据服务器10中时,服务器内的数据项的本地ID和全局ID之间的对应关系被存储在ID转换部件13中,并且即使所述数据项被移动到另一数据服务器中,所述对应关系的信息也不会被删除。利用此种配置,即使所述数据项在数据服务器之间移动,通过使用数据服务器10中的数据项的本地ID,向曾经存储所述数据项的数据服务器10发送一个查询,可以找到所述数据项。
数据服务器10之间的数据项的移动可以例如按照下述方式执行。当用户输入指令来将在某一数据服务器10-1的数据管理部件12-1中存储的数据项移动到另一数据服务器10-2时,数据管理部件12-1将所述数据项的全局ID以及所述数据项一起移动到数据服务器10-2。当通过使用本地ID来指定将被移动的数据项时,数据管理部件12-1通过使用ID转换部件13-1来获得所述数据项的全局ID,并且将所述全局ID以及所述数据项一起移动到数据服务器10-2。接收数据项和全局ID的数据服务器10-2按照图5中的过程将所述数据项存储在数据管理部件12-2中。
参考图11和12来描述所述实施例的第一替换实施例。如图11中所示,在第一替换实施例中,数据服务器10具有验证部件17。验证部件17判断请求所述数据项的用户是否被允许访问数据服务器10或所述请求的数据项。例如,相对于数据服务器10或在数据服务器10中存储的每个数据项的每个用户的访问权利(access right)被存储在数据服务器10或在可由数据服务器10访问的另一数据服务器中。并且上述判断是基于访问权利信息来执行的。所述访问权利的判断不仅是针对来自客户端30的数据请求执行的,而且是针对来自另一数据服务器10的数据查询来执行的。形成访问权利确定的依据的用户信息(比如用户ID)可以通过例如接收来自客户端30的数据请求的数据服务器10,例如利用诸如在处理所述数据请求之前请求用户输入用户ID和密码之类的方法执行用户验证处理来获得。当接收来自另一数据服务器10-1的数据查询的数据服务器10-2存储数据项时,数据服务器10-2请求数据服务器10-1来发送请求源的用户ID。或者,在所述数据查询的发送期间可以发送用户ID。数据服务器10-2基于从查询源发送的用户ID来查阅访问权利信息,并且判断请求用户是否有权利来访问数据服务器10-2和所述数据项。当用户对数据服务器10-2和数据项中任何一个不具有访问权利时,数据服务器10-2判断用户不能访问所述数据项。
如下是对访问进行判断的另一示例配置。具体而言,当由于例如周期维持的原因而造成数据服务器10限制用户的访问时,针对来自另一数据服务器10的数据查询,用户的访问同样也被禁止。
接收所述查询的数据服务器10-2可以基于数据服务器10-2的处理负载,来判断请求用户的访问是否应该被允许,其中所述处理负载是被持续监视的。更为具体地,当所述处理负载高于预定阈值时,用户的访问被禁止。否则,所述访问被允许。
图12中示出了数据服务器10-2接收来自另一数据服务器10-1的数据查询的处理过程。在这个过程中,数据服务器10-2从所述数据查询中获得所述目标数据项的全局ID(S200),并且判断由请求用户进行的对目标数据项的访问是否应该被允许(S210)。当所述访问将被允许时(也就是,当所述判断结果不是“访问禁止”时),所述过程进行到步骤S202的过程,并且随后进行图8中的步骤。另一方面,当所述访问被禁止时,数据服务器10-2向所述数据服务器10-1通知所述禁止(S212)。接收该通知的数据服务器10-1搜索另一数据服务器10,并且重复发送数据查询的过程。
数据服务器10-2可以在步骤S212完成所述过程,但是,在图12的配置中,数据服务器10-2检查所述目标数据项是否被存储在数据服务器10-2的数据管理部件12-2中(S214)。在这个过程中,根据需要,ID转换部件13-2转换所述ID。当在数据管理部件12-2中找到所述目标数据项时(当步骤S216中的确定结果为Y时),数据服务器10-2向数据服务器10-1通知数据服务器10-2具有所述目标数据项,而不需要报告所述目标数据项的本地ID(S218)。因为所述目标数据项被确定处于对其访问被禁止的数据服务器10-2中,所以接收所述通知的数据服务器10-1完成所述搜索过程。数据服务器10-1被配置来在这个过程期间向作为数据项的请求源的客户端30发送响应,即不能由用户访问的数据服务器具有所述请求的数据项。
或者,可以使用一种配置,在该配置中,取代在步骤S212中向作为查询源的数据服务器10-1发送指示访问禁止的所述通知,在数据管理部件12-2的搜索过程之后,发送反映所述搜索结果的通知(“访问禁止且目标数据存在”或“访问禁止且目标数据不存在”)。
现在描述第二替换实施例。在上述实施例中,检测部件14通过广播预定消息来检测其他数据服务器10。在第二替换实施例中,如图13所示,形成数据管理***的一部分的每个数据服务器10a具有服务器列表存储部件18,该服务器列表存储部件18存储其他数据服务器10a的服务器ID列表(下文中,称为“服务器列表”)。可以由数据服务器10a的管理员将所述服务器列表存储在服务器列表存储部件18中,或者基于通过如上利用广播的检测方法而获得的检测结果来自动创建所述服务器列表。也可以将在将要在下面描述的过程期间由另一数据服务器10a获得的服务器列表的信息添加到服务器列表存储部件18中。检测部件14a通过使用服务器列表存储部件18来检测另一数据服务器10a。
在这种情况下,当接收来自数据服务器10a-1的数据查询的数据服务器10a-2发现数据服务器10a-2不具有作为查询目标的数据项时,数据服务器10a-2可以仅仅发送一个通知,即数据服务器10a-2不具有所述数据项,或者,作为选择,可以发送包含服务器10a-2的服务器列表存储部件18内的服务器ID(或服务器ID列表)的响应。服务器10a-1可以通过向其服务器列表存储部件18中添加作为响应接收的服务器ID(或服务器ID列表)来扩充所述服务器列表。
根据第二替换实施例,可以通过获得另一数据服务器10a的服务器列表来向所述服务器10a通告未在服务器列表存储部件18中注册的数据服务器10a,并且因此,数据服务器10a向新近获知的数据服务器10a发送查询。
或者,也可以使用一种配置,在该配置中,当没有另外服务器被保持在服务器列表存储部件18(在图11的处理中所述查询没有被发送到该服务器列表存储部件18)中时,数据服务器10a-1利用广播检测其他服务器,并且将检测结果注册在所述服务器列表存储部件18中。
在上述实施例中,当来自客户端30的数据请求被请求目的地数据服务器10-1重定向到另一数据服务器10-2时,作为重定向目的地的数据服务器10-2具有所述请求的数据项。由于所述重定向过程是基于所述数据查询的结果来执行的,所以所述请求的数据项存在于所述重定向目的地中的可能性非常高,但是存在一种情况,在该情况中,重定向目的地不具有所述请求的数据项,例如,在所述数据查询被发送之后且所述重定向数据请求被接收之前,所述请求的数据项被从数据服务器10-2移动到另一数据服务器时的情形。
在另一个示例配置中,每个数据服务器10可以将所述数据查询的结果高速缓存到其他数据服务器。更为具体地,在这个配置中,数据服务器10将被确定为具有所述请求的数据项的数据服务器10的服务器ID作为所述数据查询的结果,与所述请求的数据项相对应地临时存储在高速缓冲存储器中。在数据服务器10检测其他数据服务器且发送数据查询之前,数据服务器10检查具有所述请求的数据项的数据服务器的信息是否存在于所述高速缓冲存储器中,并且当所述信息被找到时,将所述数据请求重定向到相应的数据服务器。在这种情况下,当所述高速缓存的信息陈旧时,通过重定向过程得到的数据服务器10可能不具有所述请求的数据项。
当重定向目的地数据服务器10不具有所述请求的数据项时,由于重定向目的地服务器10是接收来自客户端30的数据请求的数据服务器,所以重定向目的地数据服务器10与初始接收所述请求的数据服务器之间没有区别。因此,所述重定向目的地数据服务器通过执行与上述相同的处理过程搜索具有所述请求的数据项的数据服务器。按照这种方式,根据本实施例,即使重定向目的地不具有所述请求的数据项,重定向目的地数据服务器10也变成接收来自客户端30的所述请求的数据服务器,并且所述搜索过程被递归地重复。
上述的实施例和替换实施例可以不仅适用于其中数据项在服务器之间移动的情形,而且适用于其中数据项在单个服务器中移动且URL变化的情形。例如,当数据项的虚拟URL是“http.//xxx.fx.co.jp/Folder1/Folder2/uuidl”时,术语“uuidl”是数据项的全局ID,“/Folder1/Folder2/”是在服务器“xxx.fx.co.jp”中的数据项的路径。换言之,虚拟URL是典型基于位置的URL和全球唯一全局ID的组合。同样对于此种组合的虚拟URL,由于虚拟URL包含全局ID,所以上述实施例的方法可以被用来搜索所述数据项。另外,由于虚拟URL还包含服务器内的数据项的路径信息,所以可以基于所述位置(目录)等显示(例如,文件夹树显示)数据的位置。当数据项“uuidl”被移动到同一服务器内的目录“/Folder3/Folder4/”,正确的虚拟URL将是“http://xxx.fx.co.jp/Folder3/Folder4/uuidl”。然而,即使用于使用原始虚拟URL“http://xxx.fx.co.jp/Folder1/Folder2/uuidl”访问时,由于虚拟URL包含全局ID,所以用户可以正确地访问目录“/Folder3/Folder4/”中的数据项“uuidl”。在这种情况下,假定数据管理部件12中的数据项“uuidl”的链接信息被正确地更新,以便指向目录“/Folder3/Folder4/”中的数据。
通过在通用计算机***中执行程序描述函数和如上描述的数据服务器的操作,可以实现实施例和替换实施例的数据服务器。所述程序通常以记录在计算机可读存储介质上的情形提供,比如诸如CD-ROM或DVD-ROM的光盘、诸如软盘或硬盘之类的磁盘。
根据本发明,由于每个数据服务器检测另一数据服务器,并且通过使用全球唯一全局标识符进行查询来搜索具有所述请求的数据项的数据服务器,所以在没有使用中心管理服务器的情况下,可以解析所述数据项的位置。另外,根据本发明,即使在通过使用本地标识符由客户端指定所述请求的数据项时,通过利用对应关系存储部件确定所述请求的数据项的全局标识符,可以将数据查询发送到其他数据服务器。
虽然已经结合具体实施例对本发明进行描述,但是对于本领域技术人员显而易见的是,可以根据前述对其进行修改。因此,趋向于附属权利要求覆盖落入本发明的精神和范围内的所有此种修改。
根据本发明的一个方面,提供了一种数据管理***,该数据管理***具有多个通过网络连接的数据服务器,其中每个数据服务器包括:数据管理部件,用于管理与数据项的本地标识符和数据项的全局标识符对应的所述数据项;请求处理部件,用于在所述数据管理部件中搜索由客户端请求的数据项,在所述请求的数据项被找到时向所述客户端提供所述请求的数据项,并且在所述请求的数据项未被找到时向其他数据服务器发送包含所述请求的数据项的全局标识符的数据查询,以检测存储所述请求的数据项的数据服务器;以及响应部件,用于在接收到来自另一数据服务器的数据查询时,在所述数据管理部件中搜索与所述查询中包含的全局标识符对应的数据项,并且将所述搜索结果发送到所述另一数据服务器。
根据本发明的另一个方面,每个数据服务器进一步包括检测部件,该检测部件用于检测作为所述数据管理***的一个部分的其他数据服务器,并且所述请求处理部件可以向由所述检测部件检测到的所述其他数据服务器发送所述数据查询。
根据本发明的另一个方面,当在所述数据管理部件中未找到所述述请求的数据项时,所述请求处理部件向所述客户端发送所检测到的数据服务器的信息,其中该检测到的数据服务器存储所述请求的数据项。
根据本发明的另一个方面,当对由所述另一数据服务器查询的所述数据项的访问未被允许时,所述响应部件对所述另一数据服务器作出响应,以指示所述访问未被允许,并且当在所述数据管理部件中找到查询的数据项时,所述响应部件对所述另一数据服务器作出响应,以指示所述查询的数据项已经被找到;并且从作为所述数据查询的目的地的数据服务器接收响应,该响应指示对所述查询的数据项的访问未被允许以及所述查询目的地数据服务器存储所述查询的数据项,所述请求处理部件可以完成对存储所述查询的数据项的数据服务器的检测。
根据本发明的另一个方面,每个服务器还可以包括标识符分配部件,该标识符分配部件将一个本地标识符分配给将在数据管理部件中存储的数据项,以及在所述数据项不具有所分配的全局标识符时向所述数据项分配一个全局标识符。
根据本发明的另一个方面,提供一个与通过网络连接的其他数据服务器协作来形成数据管理***的一个部分的数据服务器。所述数据服务器包括:数据管理部件,用于管理与数据项的本地标识符和数据项的全局标识符对应的所述数据项;以及请求处理部件,用于在所述数据管理部件中搜索由客户端请求的数据项,在所述请求的数据项被找到时向所述客户端提供所述请求的数据项,并且在所述请求的数据项未被找到时向其他数据服务器发送包含所述请求的数据项的全局标识符的数据查询,以检测存储所述请求的数据项的数据服务器。
根据本发明的另一个方面,每个数据服务器进一步包括检测部件,该检测部件用于检测作为所述数据管理***的一个部分的其他数据服务器,其中所述请求处理部件可以向由检测部件检测到的其他数据服务器发送所述数据查询。
根据本发明的另一个方面,当在所述数据管理部件中未找到所述请求的数据项时,所述请求处理部件向所述客户端发送所检测到的数据服务器的信息,其中该检测到的数据服务器存储所述请求的数据项。
根据本发明的另一个方面,当对由所述另一数据服务器查询的所述数据项的访问未被允许时,所述响应部件对所述另一数据服务器作出响应,以指示所述访问未被允许,并且当在所述数据管理部件中找到查询的数据项时,所述响应部件对所述另一数据服务器作出响应,以指示所述查询的数据项已经被找到。
根据本发明的另一个方面,所述服务器还可以包括:标识符分配部件,该标识符分配部件将一个本地标识符分配给将在数据管理部件中存储的数据项,以及在所述数据项不具有所分配的全局标识符时向所述数据项分配一个全局标识符。
根据本发明的另一方面,提供一种由数据服务器执行的数据管理方法,该数据服务器与通过网络连接的其他服务器协作形成数据管理***的一部分,所述方法包括:管理与数据项的本地标识符和数据项的全局标识符对应的所述数据项;搜索由客户端请求的数据项;在所述请求的数据项被找到时,向所述客户端提供所述请求的数据项,并且在所述请求的数据项未被找到时向其他数据服务器发送包含所述请求的数据项的全局标识符的数据查询,以检测存储所述请求的数据项的数据服务器。
根据本发明的另一个方面,所述数据管理方法进一步包括:检测作为所述数据管理***的一个部分的其他数据服务器,并且向由所述检测部件检测到的所述其他数据服务器发送所述数据查询。
根据本发明的另一个方面,所述数据管理方法进一步包括:当未找到所述请求的数据项时,向所述客户端发送所检测到的数据服务器的信息,其中该检测到的数据服务器存储所述请求的数据项。
根据本发明的另一个方面,所述数据管理方法进一步包括:当对由所述另一数据服务器查询的所述数据项的访问未被允许时,对所述另一数据服务器作出响应,以指示所述访问未被允许,并且当在所述数据管理部件中找到查询的数据项时,对所述另一数据服务器作出响应,以指示所述查询的数据项已经被找到。
根据本发明的另一个方面,所述数据管理方法进一步包括:将一个本地标识符分配给待存储的数据项,以及在所述数据项不具有所分配的全局标识符时向所述数据项分配一个全局标识符。
根据本发明的另一个方面,提供一种可由计算机读取的存储介质。所述存储介质存储由计算机执行的指令程序,以执行一个与通过网络连接的其他数据服务器协作来形成数据管理***的一个部分的数据服务器的功能。所述功能包括:管理与数据项的本地标识符和数据项的全局标识符对应的所述数据项;搜索由客户端请求的数据项;当所述请求的数据项被找到时,向所述客户端提供所述请求的数据项;并且在所述请求的数据项未被找到时向其他数据服务器发送包含所述请求的数据项的全局标识符的数据查询,以检测存储所述请求的数据项的数据服务器。
根据本发明的另一个方面,所述功能进一步包括:检测作为所述数据管理***的一个部分的其他数据服务器,并且向由检测部件检测到的其他数据服务器发送所述数据查询。
根据本发明的另一个方面,所述功能进一步包括:当未找到所述请求的数据项时,向所述客户端发送所检测到的数据服务器的信息,其中该检测到的数据服务器存储所述请求的数据项。
根据本发明的另一个方面,所述功能进一步包括:当对由所述另一数据服务器查询的所述数据项的访问未被允许时,对所述另一数据服务器作出响应,以指示所述访问未被允许,并且当在所述数据管理部件中找到查询的数据项时,对所述另一数据服务器作出响应,以指示所述查询的数据项已经被找到。
根据本发明的另一个方面,所述功能进一步包括:将一个本地标识符分配给待存储的数据项,以及在所述数据项不具有所分配的全局标识符时向所述数据项分配一个全局标识符。
根据本发明的另一个方面,在所述数据管理***中,当来自客户端的所述数据请求使用本地标识符指定所述请求的数据项时,所述请求处理部件可以使用全局标识符来创建用于指定所述请求的数据项的所述数据查询。
根据本发明的另一个方面,在所述数据服务器中,当来自客户端的所述数据请求使用本地标识符指定所述请求的数据项时,所述请求处理部件可以使用全局标识符来创建用于指定所述请求的数据项的所述数据查询。
根据本发明的另一个方面,在所述数据管理方法中还包括:当来自客户端的所述数据请求使用本地标识符指定所述请求的数据项时,可以使用全局标识符来创建用于指定所述请求的数据项的所述数据查询。
根据本发明的另一个方面,在所述存储介质中,所述功能进一步包括:当来自客户端的所述数据请求使用本地标识符指定所述请求的数据项时,可以使用全局标识符来创建用于指定所述请求的数据项的所述数据查询。
根据本发明的另一个方面,在所述数据管理***中,所述数据管理部件可以注册一个已存储的数据项的删除操作,并且当另一数据服务器查询所述删除的数据项时,所述响应部件可以对所述另一数据服务器作出响应,以指示所述查询的数据项已经被删除。
在此将2005年6月2日提交的日本专利申请No.2005-162642的完整公开引入,包括说明书、权利要求书、附图和摘要,全文作为参考。
Claims (16)
1. 一种具有多个通过网络连接的数据服务器的数据管理***,其中:
每个数据服务器包括:
数据管理部件,用于管理与数据项的本地标识符和数据项的全局标识符对应的所述数据项;
请求处理部件,用于在所述数据管理部件中搜索由客户端请求的数据项,在所述请求的数据项被找到时向所述客户端提供所述请求的数据项,并且在所述请求的数据项未被找到时向其他数据服务器发送包含所述请求的数据项的全局标识符的数据查询,以检测所述多个数据服务器中的哪一个存储所述请求的数据项;以及
响应部件,用于在接收到来自另一数据服务器的数据查询时,在所述数据管理部件中搜索与所述数据查询中包含的全局标识符对应的数据项,并且将指示是否在数据服务器中找到所请求的数据项的响应发送到所述另一数据服务器;
其中,当在所述数据管理部件中未找到所述请求的数据项时,所述请求处理部件向所述客户端发送所检测到的数据服务器的信息,其中该检测到的数据服务器存储所述请求的数据项。
2. 如权利要求1所述的数据管理***,其中
每个数据服务器还包括检测部件,该检测部件用于检测作为所述数据管理***的一个部分的其他数据服务器,并且
所述请求处理部件向由所述检测部件检测到的所述其他数据服务器发送所述数据查询。
3. 如权利要求1所述的数据管理***,其中
当对由所述另一数据服务器查询的所述数据项的访问未被允许时,所述响应部件对所述另一数据服务器作出响应,以指示所述访问未被允许;并且当在所述数据管理部件中找到查询的数据项时,所述响应部件对所述另一数据服务器作出响应,以指示所述查询的数据项已经被找到;以及
当从作为所述数据查询的目的地的数据服务器接收一个响应,且该响应指示对所述查询的数据项的所述访问未被允许以及所述查询目的地的数据服务器存储所述查询的数据项时,所述请求处理部件完成所述检测所述多个数据服务器中的哪一个存储所述查询的数据项。
4. 如权利要求1所述的数据管理***,其中
每个数据服务器还包括标识符分配部件,该标识符分配部件将一个本地标识符分配给将在所述数据管理部件中存储的数据项,以及在所述数据项不具有所分配的全局标识符时向所述数据项分配一个全局标识符。
5. 如权利要求1所述的数据管理***,其中
当来自所述客户端的所述数据请求使用本地标识符指定所述请求的数据项时,所述请求处理部件使用全局标识符来创建用于指定所述请求的数据项的所述数据查询。
6. 如权利要求1所述的数据管理***,其中
所述数据管理部件注册已存储数据项的删除操作;并且
当另一数据服务器查询所述删除的数据项时,所述响应部件对所述另一数据服务器作出响应,以指示所述查询的数据项已经被删除。
7. 一种与通过网络连接的其他数据服务器协作来形成数据管理***的一个部分的数据服务器,所述数据服务器包括:
数据管理部件,用于管理与数据项的本地标识符和数据项的全局标识符对应的所述数据项;以及
请求处理部件,用于在所述数据管理部件中搜索由客户端请求的数据项,在所述请求的数据项被找到时向所述客户端提供所述请求的数据项,并且在所述请求的数据项未被找到时向其他数据服务器发送包含所述请求的数据项的全局标识符的数据查询,以检测是否该其他数据服务器存储所述请求的数据项;
当在所述数据管理部件中未被找到所述请求的数据项时,所述请求处理部件向所述客户端发送所检测到的数据服务器的信息,其中该检测到的数据服务器存储所述请求的数据项。
8. 如权利要求7所述的数据服务器,还包括:
检测部件,该检测部件用于检测作为所述数据管理***的一个部分的其他数据服务器;其中
所述请求处理部件向由所述检测部件检测到的所述其他数据服务器发送所述数据查询。
9. 如权利要求7所述的数据服务器,其中,
当对由所述其他数据服务器查询的所述数据项的访问未被允许时,所述响应部件对所述其他数据服务器作出响应,以指示所述访问未被允许;以及
当在所述数据管理部件中找到查询的数据项时,所述响应部件对所述其他数据服务器作出响应,以指示所述查询的数据项已经被找到。
10. 如权利要求7所述的数据服务器,还包括:
标识符分配部件,该标识符分配部件将一个本地标识符分配给将在所述数据管理部件中存储的数据项,以及在所述数据项不具有所分配的全局标识符时向所述数据项分配一个全局标识符。
11. 如权利要求7所述的数据服务器,其中
当来自所述客户端的所述数据请求使用本地标识符指定所述请求的数据项时,所述请求处理部件使用全局标识符来创建用于指定所述请求的数据项的所述数据查询。
12. 一种由数据服务器执行的数据管理方法,该数据服务器与通过网络连接的其他服务器协作形成数据管理***的一个部分,所述方法包括:
管理与数据项的本地标识符和数据项的全局标识符对应的所述数据项;
搜索由客户端请求的数据项;
在所述请求的数据项被找到时,向所述客户端提供所述请求的数据项;并且
在所述请求的数据项未被找到时,向其他数据服务器发送包含所述请求的数据项的全局标识符的数据查询,以检测所述其他数据服务器是否存储所述请求的数据项;
当未找到所述请求的数据项时,向所述客户端发送所检测到的数据服务器的信息,其中该检测到的数据服务器存储所述请求的数据项。
13. 如权利要求12所述的数据管理方法,还包括:
当所述请求的数据项未被找到时,检测作为所述数据管理***的一个部分的其他数据服务器;并且
向由所述检测步骤检测到的所述其他数据服务器发送所述数据查询。
14. 如权利要求12所述的数据管理方法,还包括:
当对由所述其他数据服务器查询的所述数据项的访问未被允许时,对所述其他数据服务器作出响应,以指示所述访问未被允许;并且
当找到查询的数据项时,对所述其他数据服务器作出响应,以指示所述查询的数据项已经被找到。
15. 如权利要求12所述的数据管理方法,还包括:
在所述管理步骤之前,将一个本地标识符分配给待存储的数据项,以及在所述数据项不具有所分配的全局标识符时向所述数据项分配一个全局标识符。
16. 如权利要求12所述的数据管理方法,还包括:
当来自所述客户端的所述数据请求使用本地标识符指定所述请求的数据项时,使用全局标识符来创建用于指定所述请求的数据项的所述数据查询。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005162642A JP4729987B2 (ja) | 2005-06-02 | 2005-06-02 | データ管理システム及びデータサーバ |
JP162642/2005 | 2005-06-02 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1873641A CN1873641A (zh) | 2006-12-06 |
CN100422994C true CN100422994C (zh) | 2008-10-01 |
Family
ID=37484119
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2005101289927A Expired - Fee Related CN100422994C (zh) | 2005-06-02 | 2005-12-05 | 数据管理***、数据服务器和数据管理方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20060277196A1 (zh) |
JP (1) | JP4729987B2 (zh) |
CN (1) | CN100422994C (zh) |
Families Citing this family (32)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4497993B2 (ja) * | 2004-04-16 | 2010-07-07 | 株式会社日立製作所 | 電子配付物の配付制御システム及び方法 |
JP4852938B2 (ja) * | 2005-09-02 | 2012-01-11 | 富士ゼロックス株式会社 | データサーバ及びデータ管理方法及びプログラム |
JP2007074240A (ja) * | 2005-09-06 | 2007-03-22 | Toshiba Corp | コンテンツリスト出力装置および方法 |
US8543637B2 (en) * | 2006-01-18 | 2013-09-24 | At&T Intellectual Property I, L.P. | Distributed web publishing |
JP4919851B2 (ja) * | 2007-03-23 | 2012-04-18 | 株式会社日立製作所 | ファイルレベルの仮想化を行う中間装置 |
US8280983B2 (en) * | 2007-05-02 | 2012-10-02 | Microsoft Corporation | Distributed search in a casual network of servers |
JP2009176144A (ja) * | 2008-01-25 | 2009-08-06 | Access Co Ltd | マークアップ言語文書変換システム、マークアップ言語文書変換装置、マークアップ言語文書変換方法およびマークアップ言語文書変換プログラム |
US8185601B2 (en) * | 2008-05-11 | 2012-05-22 | Nokia Corporation | Sharing information between devices |
RU2686295C2 (ru) * | 2008-12-17 | 2019-04-24 | Конинклейке Филипс Электроникс, Н.В. | Распределенные реестры пациентов для объединенных федеративных pacs |
US20110055312A1 (en) * | 2009-08-28 | 2011-03-03 | Apple Inc. | Chunked downloads over a content delivery network |
JP5545141B2 (ja) * | 2010-09-09 | 2014-07-09 | 富士ゼロックス株式会社 | データ中継システム、中継装置、およびプログラム |
CN103164502A (zh) * | 2011-09-13 | 2013-06-19 | 吉菲斯股份有限公司 | 网络中的在线内容的管理 |
JP6032129B2 (ja) * | 2013-05-31 | 2016-11-24 | 富士ゼロックス株式会社 | 処理指示装置、処理装置およびプログラム |
US10067652B2 (en) | 2013-12-24 | 2018-09-04 | Dropbox, Inc. | Providing access to a cloud based content management system on a mobile device |
US9544373B2 (en) * | 2013-12-24 | 2017-01-10 | Dropbox, Inc. | Systems and methods for maintaining local virtual states pending server-side storage across multiple devices and users and intermittent network connections |
US20150180980A1 (en) * | 2013-12-24 | 2015-06-25 | Dropbox, Inc. | Systems and methods for preserving shared virtual spaces on a content management system |
US9635108B2 (en) | 2014-01-25 | 2017-04-25 | Q Technologies Inc. | Systems and methods for content sharing using uniquely generated idenifiers |
US10936494B1 (en) | 2014-12-05 | 2021-03-02 | EMC IP Holding Company LLC | Site cache manager for a distributed file system |
US10452619B1 (en) | 2014-12-05 | 2019-10-22 | EMC IP Holding Company LLC | Decreasing a site cache capacity in a distributed file system |
US10423507B1 (en) | 2014-12-05 | 2019-09-24 | EMC IP Holding Company LLC | Repairing a site cache in a distributed file system |
US9898477B1 (en) | 2014-12-05 | 2018-02-20 | EMC IP Holding Company LLC | Writing to a site cache in a distributed file system |
US10021212B1 (en) * | 2014-12-05 | 2018-07-10 | EMC IP Holding Company LLC | Distributed file systems on content delivery networks |
US10951705B1 (en) | 2014-12-05 | 2021-03-16 | EMC IP Holding Company LLC | Write leases for distributed file systems |
US10445296B1 (en) | 2014-12-05 | 2019-10-15 | EMC IP Holding Company LLC | Reading from a site cache in a distributed file system |
US10430385B1 (en) | 2014-12-05 | 2019-10-01 | EMC IP Holding Company LLC | Limited deduplication scope for distributed file systems |
US9922201B2 (en) | 2015-04-01 | 2018-03-20 | Dropbox, Inc. | Nested namespaces for selective content sharing |
US10963430B2 (en) | 2015-04-01 | 2021-03-30 | Dropbox, Inc. | Shared workspaces with selective content item synchronization |
US9571573B1 (en) | 2015-10-29 | 2017-02-14 | Dropbox, Inc. | Peer-to-peer synchronization protocol for multi-premises hosting of digital content items |
CN105701168B (zh) * | 2015-12-31 | 2019-07-12 | 北京金山安全软件有限公司 | 一种数据存储方法、装置及电子设备 |
JP6736943B2 (ja) * | 2016-03-29 | 2020-08-05 | 富士通株式会社 | 情報処理装置、情報処理方法、情報処理プログラム及び情報配信システム |
CN105827721B (zh) * | 2016-04-20 | 2019-06-21 | 努比亚技术有限公司 | 一种数据传输方法及装置 |
US11290531B2 (en) | 2019-12-04 | 2022-03-29 | Dropbox, Inc. | Immediate cloud content item creation from local file system interface |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5542087A (en) * | 1993-10-15 | 1996-07-30 | Hewlett-Packard Company | Linear hashing for distributed records |
US6195680B1 (en) * | 1998-07-23 | 2001-02-27 | International Business Machines Corporation | Client-based dynamic switching of streaming servers for fault-tolerance and load balancing |
CN1418422A (zh) * | 2000-02-04 | 2003-05-14 | 里逊·Com股份有限公司 | 用于分布式媒体网络和元数据服务器的*** |
US6594651B2 (en) * | 1999-12-22 | 2003-07-15 | Ncr Corporation | Method and apparatus for parallel execution of SQL-from within user defined functions |
US20040030755A1 (en) * | 2002-08-12 | 2004-02-12 | Koning G. Paul | Transparent request routing for a partitioned application service |
US20040246911A1 (en) * | 2001-10-17 | 2004-12-09 | Bonsma Erwin R | Network location management system |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH02231843A (ja) * | 1989-03-03 | 1990-09-13 | Fujitsu Ltd | システム一括管理方式 |
JPH04104342A (ja) * | 1990-08-24 | 1992-04-06 | Hitachi Ltd | データ分散管理方法及び管理システム |
JP2583010B2 (ja) * | 1993-01-07 | 1997-02-19 | インターナショナル・ビジネス・マシーンズ・コーポレイション | 多層インデックス構造におけるローカルインデックステーブル及び大域インデックステーブルの間の一貫性を維持する方法 |
US5930801A (en) * | 1997-03-07 | 1999-07-27 | Xerox Corporation | Shared-data environment in which each file has independent security properties |
US6173415B1 (en) * | 1998-05-22 | 2001-01-09 | International Business Machines Corporation | System for scalable distributed data structure having scalable availability |
JP2000122910A (ja) * | 1998-10-20 | 2000-04-28 | Dainippon Printing Co Ltd | データベースシステム、及びそのためのアクセス管理装置 |
US20020087559A1 (en) * | 1999-01-11 | 2002-07-04 | PRATT John | Method and system for retrieving documents using hyperlinks |
US6973473B1 (en) * | 2000-05-31 | 2005-12-06 | International Business Machines Corporation | Method, system and program products for managing identifiers of components of a clustered environment |
US6801937B1 (en) * | 2000-05-31 | 2004-10-05 | International Business Machines Corporation | Method, system and program products for defining nodes to a cluster |
US6757753B1 (en) * | 2001-06-06 | 2004-06-29 | Lsi Logic Corporation | Uniform routing of storage access requests through redundant array controllers |
-
2005
- 2005-06-02 JP JP2005162642A patent/JP4729987B2/ja not_active Expired - Fee Related
- 2005-10-21 US US11/256,008 patent/US20060277196A1/en not_active Abandoned
- 2005-12-05 CN CNB2005101289927A patent/CN100422994C/zh not_active Expired - Fee Related
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5542087A (en) * | 1993-10-15 | 1996-07-30 | Hewlett-Packard Company | Linear hashing for distributed records |
US6195680B1 (en) * | 1998-07-23 | 2001-02-27 | International Business Machines Corporation | Client-based dynamic switching of streaming servers for fault-tolerance and load balancing |
US6594651B2 (en) * | 1999-12-22 | 2003-07-15 | Ncr Corporation | Method and apparatus for parallel execution of SQL-from within user defined functions |
CN1418422A (zh) * | 2000-02-04 | 2003-05-14 | 里逊·Com股份有限公司 | 用于分布式媒体网络和元数据服务器的*** |
US20040246911A1 (en) * | 2001-10-17 | 2004-12-09 | Bonsma Erwin R | Network location management system |
US20040030755A1 (en) * | 2002-08-12 | 2004-02-12 | Koning G. Paul | Transparent request routing for a partitioned application service |
Also Published As
Publication number | Publication date |
---|---|
US20060277196A1 (en) | 2006-12-07 |
CN1873641A (zh) | 2006-12-06 |
JP4729987B2 (ja) | 2011-07-20 |
JP2006338357A (ja) | 2006-12-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100422994C (zh) | 数据管理***、数据服务器和数据管理方法 | |
CN1866249B (zh) | 数据管理***、数据服务器以及数据管理方法 | |
CN1925485B (zh) | 数据服务器、数据管理方法和数据管理*** | |
US8281035B2 (en) | Optimized network resource location | |
US7054935B2 (en) | Internet content delivery network | |
US8060613B2 (en) | Resource invalidation in a content delivery network | |
US7565407B1 (en) | Network proxy apparatus and methods | |
CN100435146C (zh) | 文件服务器和文件提供方法 | |
KR19980041908A (ko) | 컴퓨터화된 자원 명칭 도출 메카니즘 | |
US6826624B1 (en) | Method and apparatus for network resource access request redirection | |
JP2011519203A (ja) | クラスに基づいてルーティングをリクエストするための方法とシステム | |
KR20100054661A (ko) | 복수의 cdn 사업자를 통한 컨텐츠 분배시스템 및 방법 | |
JP3888093B2 (ja) | Webシステム、ノード装置、ロケータ装置及びプログラム | |
KR101160542B1 (ko) | 복수의 cdn 사업자를 통한 컨텐츠 분배시스템 및 방법, 그 컨텐츠 제공자 네임서버 | |
JP2006338436A (ja) | データ管理システム、データサーバ、およびデータ管理方法 | |
KR101109524B1 (ko) | 복수의 cdn 사업자를 통한 컨텐츠 분배시스템 및 방법, 그 컨텐츠 제공자 네임서버 | |
KR20100054660A (ko) | 복수의 cdn 사업자를 통한 컨텐츠 분배시스템 및 방법, 그 컨텐츠서버 | |
KR101137249B1 (ko) | 복수의 cdn 사업자를 통한 컨텐츠 분배시스템 및 방법, 그 컨텐츠서버 | |
KR20100054659A (ko) | 복수의 cdn 사업자를 통한 컨텐츠 분배시스템 및 방법, 그 컨텐츠서버 | |
KR20100055295A (ko) | 복수의 cdn 사업자를 통한 컨텐츠 분배시스템 및 방법 |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20081001 Termination date: 20171205 |