掌桥专利:专业的专利平台
掌桥专利
首页

管理数据资源

文献发布时间:2023-06-19 11:55:48


管理数据资源

背景技术

随着世界各地用户和应用程序数量的增长,对各种数据资源的存储进行更有效管理的需求不断增长。这些数据资源可能包括例如:诸如电子表格、文字处理文档、幻灯片演示、图像、视频等的文件;诸如电子邮件、IM聊天记录等的存储的通信历史记录;诸如联系人详细信息、社交媒体简档等的用户简档信息;和/或诸如网站、文档共享站点等的站点。这样的数据资源可以源自安装在用户的终端上和/或在线托管的各种应用程序,例如文字处理应用程序、电子表格应用程序、社交媒体应用程序、文件共享应用程序等。

在线存储越来越流行。使用在线存储,这样的数据资源可以在线存储在“云”上,这意味着数据资源存储在可通过因特网访问的服务器系统上,该服务器系统通常包括在一个以上的存储中心和/或地理区域(即,地理位置)中实现的多个服务器单元。通过诸如因特网的网络进行分布式存储和处理的技术在本领域中是已知的。

已知的是,用户使自己的数据资源对其他用户可用,例如同一组织(例如公司)内的其他用户。例如,这可以允许一个或多个其他用户查看数据资源、订阅对数据资源的更新、甚至修改数据资源。

发明内容

服务器系统可用于从一个存储中心向一个或多个不同的存储中心摄取参与方(例如,组织)的数据资源。当数据资源具有由该参与方施加的区域限制时,会出现问题。该参与方可能只能同意将其数据资源存储在特定地理区域(例如特定国家/地区)中。当用户(例如,组织的成员)发起查询请求以查询该参与方的数据资源时,期望存储系统尽可能快地执行查询。

因此,根据本文公开的一个方面,提供了一种服务器系统,其包括一个或多个服务器单元,该服务器系统存储管理器功能,该管理器功能被布置为在一个或多个服务器单元的一个或多个处理器上运行,并且该管理器功能被配置为执行以下操作。管理器功能在数据库中存储参与方同意在其中存储其数据资源的地理区域的列表。由管理器功能接收存储该参与方的数据资源的存储请求。数据资源中的至少一个具有区域限制,该区域限制对能够存储该数据资源的地理区域进行限制。管理器功能基于数据资源中相应一个的相应区域限制来确定至少一个数据资源可以存储在地理区域的列表中的哪个地理区域中。根据该确定,管理器功能存储数据资源。每个相应的数据资源被存储在与至少一个地理区域相关联的至少一个相应的存储中心中。管理器功能还在数据库中存储列表,该列表包括指向每个相应的存储的数据资源的相应的指针,其中,相应的指针标识至少一个相应的存储中心。由管理器功能接收到取回相应的已存储数据资源的查询请求,该管理器功能使用相应的指针将查询请求路由到至少一个相应的存储中心。

本发明的实施例提供了一种集中关于当参与方的数据资源与区域限制相关联时可以以更统一的方式将该参与方的数据资源存储在何处的知识的手段。数据资源可以源自跨多个地理位置的许多存储中心(例如后端服务器)。每个数据资源可能对它的存储位置施加了限制(例如,它可能被绑定到特定的地理区域)。当接收到存储请求时,管理器功能可以确定该参与方的数据资源可以存储在何处,同时遵守与该数据资源相关联的区域限制(可以由该参与方设置)。当接收到查询请求时(例如,从参与方成员的用户设备接收),管理器功能可以确定参与方的数据资源所处的位置,以便将请求路由到正确的存储中心。与源将查询请求定向到可以存储数据资源的每个存储中心(即,在所有存储中心上扇出查询请求)相比,这减少了往返延迟。

提供本发明内容以简化形式介绍一些概念,这些概念将在下面的详细描述中进一步描述。本发明内容既不旨在确定所要求保护的主题的关键特征或必要特征,也不旨在用于限制所要求保护的主题的范围。要求保护的主题也不限于解决本文所述的任何或所有缺点的实施方式。

附图说明

为了帮助理解本公开并示出如何实施实施例,通过示例的方式参考附图,其中:

图1是存储系统的示意性框图,并且

图2是存储位置与地理区域之间的示例关联的示意图。

具体实施方式

图1示出了根据本公开的实施例的服务器系统100。该服务器系统包括多个服务器单元101,每个服务器单元101例如是服务器机架上的不同模块(分开的壳体),或者位于不同的房间或存储中心中。服务器单元101中的一些或全部甚至可以位于不同的地理位置处,包括不同的城镇、城市、县、州、国家甚至大陆的可能性。每个服务器单元101包括由一个或多个存储器设备形成的相应的存储器102,其可以包括例如一个或多个磁性存储器设备,例如一个或多个硬盘驱动器和/或一个或多个电子存储器设备,例如一个或多个固态驱动器(SSD)或任何此类存储器设备的组合。作为说明,在图1中仅示出了三个服务器单元101i、101ii、101iii以及它们各自的存储器102i、102ii、102iii,但是应该理解,实际上在系统中可以包括更多的服务器单元和相应的存储器。

服务器单元101经由适当的分组交换网络103(例如,广域网,例如通常称为因特网,或私有内联网)联网在一起。网络103可以由任何合适的一种或多种有线和/或无线通信介质来实现,例如互联网的有线基础结构,和/或一个或多个无线网络,例如无线蜂窝网络、无线局域网等。通过实现的任何方式,网络103使服务器单元101能够一起行动以提供用户104可以通过网络101从其相应的用户终端105访问的分布式存储系统。每个用户终端105可以采用通过有线或无线连接访问网络103的任何适合方式,例如,台式计算机、膝上型计算机、平板电脑、智能手机、智能手表或一副智能眼镜(并且不同的用户终端不必都采用相同的形式)。作为说明,在图1中示出了两个特定的用户104a和104b以及它们相应的用户终端105a,105b,但是再次将意识到,该系统可以服务于从许多相应的用户终端105访问该系统的更多用户104。

作为示例,服务器系统100可以被布置为向作为系统提供商的客户或“租户”的多方(即,组织)提供存储服务。

服务器系统100存储数据资源,其中每个数据资源可以包括数字信息的任何项目或集合,例如文件、存储的通信、用户简档信息或某种站点。文件的示例包括文字处理文档、电子表格、幻灯片、图像、视频等。存储的通信的示例包括电子邮件或IM(即时消息)聊天历史记录。用户简档信息的示例包括联系人详细信息(例如“联系人卡”)和社交媒体简档。站点的示例包括文档共享站点、网站和协作站点。在本文中提及数据资源的任何地方,这可以指任何上述数据资源或其他数据资源(并且不同的数据资源不必全部属于同一类型)。

服务器单元101的存储器102存储各种用户104的数据资源(例如,文件、电子邮件等),其中用户可以使这些存储的数据资源可供参与方(party)内的其他用户使用,以使他们能够执行某一种或多种活动,例如查看或修改他们有权访问的数据资源。

服务器系统100由管理器功能106管理。根据本文公开的实施例,管理器功能106可以以分布式功能的形式实现,即利用在每个服务器单元101i、101ii、101iii上运行的管理器功能106i、106ii、106iii的相应实例来实现。管理器功能106的每个实例可以采用存储在相应服务器单元101的存储器102的一部分上并且被布置为在相应服务器单元101的相应处理装置(未示出)上运行的软件的形式(处理装置包括一个或多个微处理器,每个微处理器具有一个或多个内核)。还应注意,不排除集中式管理器功能106的可能性。

图2示出了在不同参与方201和不同地理区域202之间的一组示例映射。示出了三个参与方201a(“参与方A”)、201b(“参与方B”)和201c(“参与方C”)以及四个地理区域202i(“区域1”)、202ii(“区域2”)、202iii(“区域3”)和202iv(“区域4”)。每一参与方201表示不同的组织或租户。每个地理区域202表示不同的地理区域。地理区域202可以是例如城市(例如伦敦或纽约)、国家(例如英国或美利坚合众国)、更广泛的政治区域(例如欧盟)、大洲(例如北美或亚洲),等等。然而,注意,更一般地,地理区域202不需要映射到认知的区域。在实施例中,一个国家在本文中可以被定义为一个主权国家,例如,联合国(UN)的会员国。例如,地理区域202可以包括与任何特定地理环境或政治联盟都不相关的国家的集合。每个地理区域202与一个或多个存储中心203(或数据中心)相关联(例如,映射到一个或多个存储中心203(或数据中心))。每个存储中心203可以服务一个或多个地理区域。每个存储中心203可包括一个或多个服务器单元。在一些示例中,每个存储中心是服务器单元的相应实例。

在图2的示例中,区域1与存储中心(SC)SC1A和SC1B关联,区域2与SC1A、SC1B、SC2A和SC2B关联,区域3与SC3A和SC3B关联,以及区域4与SC4相关联。地理区域202可以与物理上位于该地理区域202中的一个或多个存储中心相关联。例如,区域1可以是与位于美国东部(SC1A)海岸和西部(SC1B)海岸的存储中心相关联的北美地区。在其他示例中,地理区域可以与物理上可以位于或可以不位于该地理区域中的存储中心相关联。例如,区域2可以是与位于美国东部(SCI A)海岸和西部(SC IB)海岸的存储中心以及位于巴西(SC2A)和阿根廷(SC2B)的存储位置相关联的南美。区域3可以是与位于阿姆斯特丹(SC3A)和巴黎(SC3B)的存储中心相关联的欧洲,而区域4可以是与位于中国的存储中心相关联的亚太地区。

参与方201(或租户)可以选择一个或多个他们同意在其中存储其数据资源的地理区域202。例如,参与方A可以选择区域1和区域2作为其地理区域,而参与方B和参与方C分别选择区域2和区域3。参与方201可以选择具有区域限制的地理区域202,该区域限制将存储在该区域中的所有数据资源限制为存储在物理上位于该地理区域202中的存储中心203中。这些地理区域可以称为“本地化(go-local)”区域。备选地,参与方可以选择不具有资源方面的区域限制的地理区域202,但是存储在该地理区域202中的一些数据资源可以具有区域限制。例如,敏感数据可以被赋予区域限制。例如,如果参与方A选择了区域2,则某些数据资源可能仅限于存储在物理上位于区域2(即SC2A和SC2B)中的存储中心中。选择多个区域的参与方(例如,参与方A)可以被称为“跨国公司”。

现在将仅通过示例的方式描述本发明的实施例。将针对单个参与方201(“参与方”)来描述实施例,但是应当意识到,它们同样适用于具有多个参与方的示例。

参与方201具有存储在托管基板(substrate)的一个或多个服务器单元(例如,存储中心)上的数据资源。基板可以是例如云存储系统、电子邮件系统等。本发明的实施例提供了一种机制,用于将所述数据资源主动推入服务器系统100,该服务器系统用作低延迟高速缓存。服务器系统100被设计为减轻基板中某些方案经历的高延迟。需要扇出至多个邮箱的方案特别适合,因为可以通过单次调用管理器功能来服务于此多邮箱扇出。服务器系统100的目的是充当参与方数据资源的参与方方面的集中式高速缓存(例如组织方面的相关内容)。它为基板中的大型或完整扇出提供了替代方法。

托管在服务器系统100的一个或多个服务器单元上的管理器功能提供了将基板数据资源带入服务器系统100的方法。数据资源源自基板,并由一组运行于基板邮箱上的处理器推送到服务器系统。为了避免疑问,在本说明书中提到邮箱的任何地方,均可以用诸如“存储区域”、“用户区域”、“存储隔间”之类的替代术语来代替。同样,术语邮箱的使用并不将数据资源限制为电子邮件等,尽管可以是电子邮件等。

管理器功能被配置为存储参与方201同意在其中存储其数据资源的地理区域的列表。该列表是特定于参与方201的,并且存储在中央数据库中。地理区域的列表可以由参与方201例如在注册过程中直接选择。替代地,可以基于参与方201的地理相关属性来确定地理区域。例如,可以使用网络地址(例如IP地址)或一个或多个邮箱的位置来选择地理区域202。例如,可以将参与方的数据资源当前存储在基板中的地理区域当作参与方201同意将其数据存储在服务器系统100中的地理区域。

管理器功能接收存储(或摄取)参与方201的数据资源的存储请求。可以从用户设备或作为参与方201的成员的用户(例如,组织的雇员和/或管理员)接收存储请求。可以直接从用户设备推送存储请求,也可以间接推送存储请求。即,可以自动发送摄取数据的请求,例如每当创建新数据资源或将新数据资源上载到基板时。可替代地,可以从参与方201的服务器接收存储请求,例如托管基板的服务器。在一些示例中,存储请求是基于事件的,例如,由在基板邮箱中的数据资源上的创建事件、更新事件和删除事件触发。所有相关的更新都可以推送到管理器功能。

一个,一些或所有数据资源具有相应的区域限制。例如,数据资源可以分类为地理限制。也就是说,那些数据资源绝不应该存储在预定地理区域202之外。非地理限制的数据可以存储在多个地理区域中,例如参与方201同意的区域中。参与方201可以添加,修改或删除各个数据资源的区域限制。例如,参与方201可以将受限制的数据资源标记为不受区域限制,反之亦然。某些受区域限制的数据资源一定不能存储在始源地理区域202之外。例如,源自北美的数据资源必须存储在映射到北美的存储中心203中。作为区域限制的另一个示例,任何来自本地化区域的数据资源都不得存储在这些区域之外。区域限制可将数据资源限制为存储在物理上位于一个或多个地理区域中的存储中心203中。例如,数据资源可以被限制为存储在位于欧洲的存储中心203中。

管理器功能基于该数据资源的任何区域限制,确定可以将各个数据资源存储在哪个地理区域中。例如,管理器功能可以使用数据库作为查找表来检查是否有任何存储的地理区域满足数据资源的区域限制。

然后,管理器功能将数据资源存储在一个或多个与可存储数据资源的地理区域202关联(或映射到该地理区域202)的存储中心中。管理器功能可将数据资源存储在与地理区域202相关联的所有存储中心中。管理器功能可以将数据资源存储在一个以上的地理区域202中,并且在那种情况下,可以存储在那些地理区域的一些或全部存储中心中。例如,管理器功能可以将数据资源存储在映射到第一地理区域(例如,北美)的至少一个存储中心203中,以及映射到第二不同地理区域(例如,南美)的至少一个存储中心203中。

管理器功能被配置为在数据库中存储包括指向数据资源,即已经存储在存储中心中的数据资源的指针的列表。如果存储了一个以上的数据资源(例如,从基板摄取),则在列表中存储指向每个数据资源的相应指针。指针标识数据资源已存储在哪个存储中心中。

可以查询(或访问,查看,取回等)存储在服务器系统100的存储中心203中的数据资源。当管理器功能接收到查询请求时,管理器功能使用存储在数据库中的指针将查询请求路由到正确的存储中心。例如,管理器功能在数据库中查找与查询的数据资源相关联的指针,并将请求转发到由该指针标识的存储中心203。优选地,存储数据资源的存储中心是托管管理功能(例如,托管正在其中查找指针的数据库)的存储中心。可以从用户设备接收查询请求。例如,参与方201的用户的用户设备。

在数据资源具有区域限制的情况下,该区域限制将该数据资源限制为存储在物理上位于地理区域202(例如第一地理区域)中的存储中心203中,管理器功能确定数据资源可以存储在第一地理区域中,并且作为响应,将数据资源存储在映射到第一地理区域的存储中心203中。虽然数据资源本身不能存储在另一个地理区域中(由于区域限制),但是管理器功能可以在另一个地理区域(例如第二地理区域)的数据中心中存储对数据资源的引用。引用可以指示将数据资源存储在基板中的何处。引用可能指向原始的基板存储中心(或邮箱)。除了区域限制之外,还可能存在其他原因,这意味着仅将对基板邮箱的引用存储在存储中心中,例如成本、延迟等。引用可以是数据资源的链接。引用可以另外包括与数据文件相关联的一个或多个元数据项。元数据项的示例是任何用户修改数据资源的最后时间或日期,修改资源的最后用户的身份,资源的标题和/或文件大小。替代地或附加地,元数据可以包括个人元数据(在特定于特定用户的意义上是个人的,而在私人的意义上则不一定)。一个示例是从其邮箱中摄取数据资源的特定用户修改数据资源的最后时间或日期。

在一些实施例中,每个参与方201在服务器系统100中具有“归属区域”,其中所有数据资源具有某种表示。该表示可以是完整的(如果数据资源可以存储在归属区域中),也可以是浅的(如果数据不能存储在归属区域中),例如有限的元数据集和参考。地理限制到特定地理区域202的数据资源无法移出该区域。如果数据资源限制在与参与方的归属区域不同的区域,则将数据资源的浅表表示存储在归属区域中。浅表示包含对完整表示的引用(例如在另一个存储中心203或托管数据资源的基板邮箱中)。如果在数据资源受限制的区域中存在存储中心203,则将完整表示推送到该存储中心203。

在数据资源具有区域限制的情况下,该区域限制将数据资源限制为如果存储在与数据资源所起源的地理区域202(例如,第一地理区域)相关联的存储中心203中,则管理器功能确定该数据资源可以存储在第一地理区域中,并且作为响应,将该数据资源存储在映射到第一地理区域的存储中心203中。对数据资源的引用(例如,链接)以及可选的元数据被存储在与不同地理区域(例如,第二地理区域)相关联的至少一个存储中心203中。

在一些实施例中,一个、一些或所有地理区域可各自与至少两个存储中心相关联(即,映射到至少两个存储中心)。如果数据资源存储在单个地理区域中的一个以上的存储中心203中,则管理器功能可以确定哪个存储中心203最接近请求的源,并作为响应,将查询请求路由到该存储中心203。在此,最接近的存储中心203可以是物理上最接近的,即位于最短物理距离内的存储中心。可替代地,最接近的存储中心可以不是物理上最接近的存储中心,而是可以根据各个存储中心所服务的请求的延迟来测量接近度。从这个意义上讲,最接近的存储中心可以是逻辑上最接近的存储中心,其中逻辑距离取决于网络链路结构、网络本身的负载、存储中心中存储和计算资源的负载等。逻辑上最接近的存储中心可以是物理上最接近的存储中心。

如果数据资源存储在一个以上的地理区域202中,则管理器功能可以确定哪个地理区域202最接近请求的源,并且作为响应,将查询请求路由到该地理区域202中的至少一个地理区域202中。管理器功能还可以将请求路由到最接近的地理区域202内的最接近的存储中心203。

当参与方201决定在地理区域之间移动时,这由管理器功能检测到,该管理器功能又可以将所有新的和/或先前的数据资源摄取(或存储)到新的地理区域。不再向先前的地理区域馈送更新或新的数据资源,而是在迁移过程中仍处于活动状态。这样可以确保在整个迁移过程中都可以实现数据完整性,因为可以查询先前地理区域中正在为参与方201存储数据资源的所有存储中心。迁移完成并且所有数据资源都已移至新的地理区域时,不再需要先前地理区域的存储中心(并且可以删除这些中心中的数据资源)。

此外,如果本地化参与方从基板中的一个地理区域202移动到另一地理区域,则服务器系统100中的数据资源必须尽快从旧的地理区域移动到新的地理区域。可能需要管理器功能才能在预定时间段内执行此移动。

因此,管理器功能可以被配置为识别出要存储的数据资源与新的地理区域(或“附加的地理区域”)相关联。附加的新地理区域是其中参与方201同意存储其数据资源的地理区域202。管理器功能可以基于数据资源的属性来执行所述识别。例如,该属性可以指示在其中创建数据资源的地理区域202(例如,区域戳记),或者基板中从中推送数据资源的地理区域202,即从其接收存储请求的地理区域。管理器功能可以将地理区域202与已经存储在数据库的列表中的那些区域进行比较,以确定地理区域202是否是新区域。替代地,管理器功能可以从参与方201接收指示,该指示是数据资源将被存储在新的地理区域中,例如由于数据资源的迁移。管理器功能将新的地理区域添加到数据库中存储的地理区域的列表中。因此,这允许将数据资源存储在与新地理区域关联的存储中心中。

管理器功能可以根据与数据资源相关联的区域限制,将数据资源存储在与新地理区域相关联的至少一个存储中心203中。在一些示例中,识别数据资源与新的地理区域相关联足以确定该数据资源可以被存储在与该区域相关联的存储中心203中。然后,管理器功能更新数据库中的指针列表,以包括指向映射到新地理区域的存储中心的新指针。如果接收到查询数据资源的查询请求,则管理器功能使用新指针将请求路由到正确的存储中心203。

当参与方201从旧地理区域移至新地理区域时时,可以撤出(retire)旧地理区域,以便不再在该地理区域存储(摄取)数据资源。可选地,可以删除存储在已撤出区域中的数据资源。

为了支持这一点,管理器功能可以被配置为接收以下指示:要撤出存储在地理区域的列表中的一个或多个地理区域202(例如,由参与方201选择的那些地理区域)。例如,参与方201可以将该指示发送给管理器功能。作为响应,管理器功能将包括已撤出区域的列表存储在数据库中。

当管理器功能确定数据资源可以存储在哪个地理区域中时,它查询已撤出区域的列表并将那些已撤出区域从决策中排除。相反,管理器功能将数据资源存储在与新地理区域相关联(映射到新地理区域)的至少一个存储中心中,并将指向该存储中心/那些存储中心的指针存储在指针列表中。

当接收到查询请求时,管理器功能查询指针列表,并使用与已撤出区域相关联的指针(即指向映射到其中存储有数据资源的已撤出区域的存储中心的指针)和指向新地理区域的指针两者,将查询请求路由到已撤出区域和新区域两者。这样可确保在将数据资源从已撤出的地理区域移至新的地理区域时,完成查询请求。换句话说,管理器功能通过确定旧区域和新区域两者来确保在参与方201移动期间完全取回回参与方201数据。

管理器功能可以确定已撤出区域已经在已撤出区域列表中达预定时间段,并且作为响应,从列表中删除该已撤出区域。例如,当管理器功能将地理区域放置在列表中时,可以为该地理区域202开始相应的生存时间(TTL)。TTL可以例如是七天。当TTL过期时,可能会将已撤出区域从列表中删除。作为另一示例,管理器功能可以确定在预定时间段内没有内容被推送到映射到该已撤出区域的存储中心203,并且作为响应,从列表中删除该已撤出区域。当从已撤出区域列表中删除已撤出区域时,管理器功能从指针列表中删除指向映射到该地理区域202的存储中心的指针。这确保了不能查询已撤出区域。

在某些情况下,地理区域202可能无法用于摄取(存储)或查询数据资源。例如,服务器系统100可能不存在于所有的基板区域中,因此有必要管理从哪个基板区域中摄取内容。当启用区域的摄取时,还必须先确定数据的完整性,然后才能提供用户查询。管理器功能可以被配置为排除地理区域202以进行摄取(覆盖该区域中的所有参与方),排除地理区域202以进行查询(覆盖该区域中的所有参与方),排除特定地理区域202中给定参与方201的摄取(区域/参与方对),排除针对给定区域/参与方对的查询,取回针对给定区域/参与方对的排除,和/或取回具有特定范围的一组排除,例如特定地理区域202中的所有排除。

管理器功能可以接收到一个或多个地理区域不可用于存储和/或查询数据资源的指示。例如,如果识别出多个新的地理区域,则可以选择那些地理区域的仅子集可用于摄取数据资源。作为另一示例,参与方201可以注册多个地理区域,服务器系统100可能不支持一个或多个地理区域。

管理器功能可以被配置为在数据库中存储包括区域排除的列表。当管理器功能接收到存储和/或查询请求时,将查询排除的列表。即,管理器功能可以基于排除的列表(或者特定区域是否与存储排除相关联)来确定数据资源可以存储在哪个地理区域中。

在一些示例中,当服务器系统100覆盖新的地理区域时,数据资源可以存储在该地理区域202的存储中心中,但是查询请求可能受到限制。

为了节省存储和管理开销,数据库中缺少条目指示对于地理区域202或区域/参与方对当前没有活动的排除。因此,数据库是稀疏填充的,这使得对具有良好性能的排除执行查询变得可行。这意味着默认情况下,对于参与方201或区域不存在任何排除。这具有以下含义:一旦激活了新的地理区域,该区域中存在的参与方的内容将被上载到服务器系统100,并且对于该区域中存在的参与方,查询将是可服务的。为了避免由于不良的数据完整性而导致的不良客户体验,应将新地理区域的启动与该区域查询的排除项配对使用。例如,查询请求的路由可以基于给定地理区域202的查询排除的存在或不存在。可以仅查询不具有查询排除的地理区域。当数据资源已完全摄取到新地理区域的存储中心中时,将取消查询排除,并且管理器功能将更新排除的列表。这允许将查询请求路由到新地理区域的存储中心。

在某些情况下,存储中心203可能变得不可用,例如由于服务器单元或网络出现故障。存储中心203也可能处于重负载下。可能无法直接检测存储中心203是否不可用。检测存储中心203是否不可用的一种方法是通过测量已完成的查询请求中的延迟(或时延)。

为了改善延迟,在每个地理区域202内都存在两个存储中心。通过利用基于接近度的路由,可以将请求路由到当前提供最低延迟的存储中心203。通常,与随机查询地理区域202内的一个存储中心相比,选择“最接近的”(即具有最佳性能的)存储中心203可以产生明显更好的性能。为此,管理器功能可以确定地理区域202中的每个存储中心203的延迟,并将查询请求路由到表现出最低延迟的存储中心203。此外,如果可将给定参与方201的数据资源托管在一个以上的地理区域202中,则在某些情况下,与发出请求的源相比,向不同的区域发出请求可能更为有效(例如,由于失败或重负载)。为此,管理器功能可以确定每个地理区域202中的一个或多个存储中心的延迟,并将查询请求路由到表现出最低延迟的地理区域202中的一个或多个存储中心。可以在数据库中维护观察到的延迟,使得管理器功能可以将查询请求路由到具有最佳延迟的存储中心203和/或地理区域202。例如,查询请求可以在预定时间段内以最低的平均观察到的延迟被路由到存储中心203。

管理器功能维持一组观察到的到不同存储中心的请求延迟的滑动窗口。为了避免对每个端点的测量变得陈旧,概率性地对“次优”存储中心203进行采样。另外,可以维持对每个存储中心203的请求之间的最大时间。这样可以确保路由决策基于最新数据。管理器功能可以配置窗口长度、采样概率以及对给定存储中心的请求之间的最大时间。通过调整执行采样的概率或到不同存储中心的最长测量寿命,即使对于高百分位数,也可以获得最佳的延迟。

检测存储中心203是否不可用的另一种方式是通过检测存储中心未成功执行查询请求。在这种情况下,管理器功能被配置为检测何时未成功执行查询请求,并且作为响应,将查询请求路由到性能最佳的存储中心203(例如,具有最低延迟的存储中心)。当查询请求被路由到该存储中心时,管理器功能可以将样本请求发送到不可用的存储中心。只要不可用的存储中心203确实不可用,样本请求将失败。但是,当样本请求成功执行后,管理器功能会将实际查询请求路由到以前不可用的存储中心。由于新可用存储中心203尚未处理实际查询请求,因此它将具有最佳延迟,因此将能够快速处理新接收到的查询请求。

将意识到,仅通过示例的方式描述了上述实施例。

更一般地,根据本发明的一个方面,提供了一种服务器系统,包括一个或多个服务器单元,所述服务器系统存储管理器功能,所述管理器功能被布置为在所述一个或多个服务器单元的一个或多个处理器上运行,其中,所述管理器功能被配置为执行以下操作:在数据库中存储参与方同意存储该参与方的数据资源的地理区域的列表;接收存储所述参与方的数据资源的存储请求,其中,所述数据资源中的至少一个具有区域限制,所述区域限制对能够存储所述数据资源的地理区域进行限制;基于数据资源中的相应一个的相应区域限制,确定至少一个数据资源能够存储在所述地理区域的列表中的哪一个中;存储所述数据资源,其中,根据所述确定,将每个相应的数据资源存储在与至少一个地理区域相关联的至少一个相应的存储中心中;在所述数据库中存储列表,该列表包括指向每个相应的所存储的数据资源的相应的指针,其中,相应的指针标识所述至少一个相应的存储中心;以及接收取回相应的存储的数据资源的查询请求;并且使用相应的指针将所述查询请求路由到所述至少一个相应的存储中心。

在实施例中,区域限制可以将数据资源限制为存储在物理上位于指定的一个或多个地理区域中的存储中心中。

在实施例中,区域限制可以将数据资源限制为存储在与数据资源所源自的地理区域相关联的存储中心中。

在实施例中,所述存储请求的接收可以包括:识别所述一个或多个数据资源与参与方同意存储其数据资源的附加地理区域相关联,以及将所述附加地理区域存储在所述地理区域的列表中。

在实施例中,管理器功能可以被配置为:接收将要撤出的一个或多个地理区域使得所述参与方不再同意将其数据资源存储在所述撤出的地理区域中的指示;并且将撤出的地理区域的列表存储在数据库中;其中,所述确定包括排除撤出的地理区域,其中,所述数据资源的存储包括:将数据资源存储在与所述附加地理区域相关联的至少一个附加存储中心中,并且其中,所述管理器功能被配置为存储指向列表中的每个存储的数据资源的相应的附加指针,所述列表包括相应的指针,其中相应的附加指针标识至少一个附加存储中心

在实施例中,相应指针的所述使用可以包括使用附加相应指针将查询请求路由到至少一个附加存储中心。

在实施例中,管理器功能可以被配置为:确定相应的撤出的地理区域已经存储在撤出地理区域的列表中达预定时间段;作为响应,从数据库中的相应列表中删除相应的撤出的地理区域和指向该撤出的地理区域中的至少一个存储中心的相应的指针。

在实施例中,地理区域可以包括多个地理区域,并且其中,数据资源的所述存储可以包括:将每个相应的数据资源存储在与第一地理区域相关联的至少一个存储中心中,并且将每个相应的数据资源存储在与第二不同地理区域相关联的至少一个存储中心中。

在实施例中,所述路由可以包括:识别所述第一地理区域和第二地理区域中的哪个最接近所述查询请求的源,以及将所述查询请求路由到与所识别的地理区域相关联的所述至少一个存储中心。

在实施例中,区域限制可以将所述数据资源限制为存储在物理上位于所述第一地理区域中的所述存储中心中,并且其中,所述存储可以包括:将所述数据资源存储在物理上位于第一地理区域中的至少一个存储中心,并且将对数据资源的引用而不是数据资源本身存储在与第二地理区域相关联的至少一个存储中心中。

在实施例中,数据资源可以源自第一地理区域,并且其中,所述存储可以包括:将所述数据资源存储在与所述第一地理区域相关联的至少一个存储中心中,以及将对数据资源的引用而不是数据资源本身存储在与第二地理区域相关联的至少一个存储中心中。

在实施例中,所述路由可以包括:测量所述管理器功能和与所述第一地理区域相关联的至少一个存储中心之间的第一延迟,以及测量所述管理器功能和与第二地理区域相关联的至少一个存储中心之间的第二延迟,其中所述路由基于所测得的延迟。

在实施例中,管理器功能可以被配置为对于所述存储有所存储的数据资源的每个存储中心在所述数据库中维护所确定的延迟的列表;并且其中所述路由可以包括将查询请求路由到具有观察到的最佳延迟的存储中心。

在实施例中,每个地理区域可以与至少两个存储中心相关联,其中,数据资源的所述存储可以包括将每个数据资源存储在与至少一个地理区域相关联的至少两个存储中心中。

在实施例中,管理器功能可以被配置为:接收所述地理区域中的一个或多个不可用于存储和/或查询所述数据资源的指示;对于每个不可用的地理区域,在数据库中存储排除的列表,该排除的列表包括指示相应的地理区域对于存储和/或查询数据资源不可用的相应排除。

在实施例中,所述确定可以基于相应地理区域的相应排除的存在或不存在。

在实施例中,所述路由可以基于对于相应地理区域的相应排除的存在或不存在,并且其中,所述路由可以包括仅将查询请求路由到与可用于查询数据资源的地理区域相关联的至少一个存储中心。

在实施例中,服务器系统可以包括一个或多个存储中心,其中每个存储中心可以包括相应的一个或多个所述服务器单元。

在实施例中,一个或多个服务器单元中的每一个可以是一个或多个存储中心中的相应一个。备选地,不排除存储中心可以在除了在其上实现管理器功能的一个或多个服务器单元之外的服务器单元上实现。

在实施例中,管理器功能可以以分布式形式实现,包括在每个服务器单元处的管理器功能的相应实例。

根据本发明的另一方面,提供了一种计算机程序,包含在计算机可读存储中,并且被配置为当在包括一个或多个服务器单元的服务器系统上运行时执行以下操作:在数据库中存储参与方同意存储其数据资源的地理区域的列表;接收存储该参与方的数据资源的存储请求,其中,所述数据资源中的至少一个具有区域限制,所述区域限制对能够存储所述数据资源的地理区域进行限制;基于数据资源中的相应一个的相应区域限制,确定能够存储相应的数据资源的地理区域的列表;存储数据资源,其中,根据所述确定,将每个相应的数据资源存储在与至少一个地理区域相关联的至少一个相应的存储中心中;在数据库中存储列表,该列表包括指向每个相应的存储的数据资源的相应的指针,其中,相应的指针标识至少一个相应的存储中心;接收取回相应的存储的数据资源的查询请求;以及使用相应的指针将查询请求路由到至少一个相应的存储中心。

在实施例中,计算机程序可以被配置为执行与以上任何系统特征相对应的操作。

根据本发明的另一个方面,提供了一种方法,包括:在数据库中存储参与方同意存储其数据资源的地理区域的列表;接收存储该参与方的数据资源的存储请求,其中,所述数据资源中的至少一个具有区域限制,所述区域限制对能够存储所述数据资源的地理区域进行限制;基于数据资源中的相应一个的相应区域限制,确定相应的数据资源能够存储在地理区域的列表中的哪个地理区域中;存储数据资源,其中,根据所述确定,将每个相应的数据资源存储在与至少一个地理区域相关联的至少一个相应的存储中心中;在数据库中存储列表,该列表包括指向每个相应的存储的数据资源的相应的指针,其中,相应的指针标识至少一个相应的存储中心;接收取回相应的存储的数据资源的查询请求;并且使用相应的指针将查询请求路由到至少一个相应的存储中心。

在实施例中,该方法可以包括与以上任何系统特征相对应的操作。

一旦给出本文的公开内容,其他变型或应用对于本领域技术人员而言将变得显而易见。本公开的范围不限于上述实施例,而仅由所附权利要求书限定。

相关技术
  • 语言资源数据库、语言资源管理平台及语言资源管理系统
  • 数据库资源管理方法、装置、资源管理设备及存储介质
技术分类

06120113106577