CN114651433A - 云存储中访问模式驱动的数据放置 - Google Patents
云存储中访问模式驱动的数据放置 Download PDFInfo
- Publication number
- CN114651433A CN114651433A CN202080071465.XA CN202080071465A CN114651433A CN 114651433 A CN114651433 A CN 114651433A CN 202080071465 A CN202080071465 A CN 202080071465A CN 114651433 A CN114651433 A CN 114651433A
- Authority
- CN
- China
- Prior art keywords
- data
- upload
- metadata
- processors
- uploaded
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 claims abstract description 23
- 238000012546 transfer Methods 0.000 claims abstract description 13
- 230000005540 biological transmission Effects 0.000 claims description 9
- 238000004891 communication Methods 0.000 claims description 5
- 238000003066 decision tree Methods 0.000 claims description 5
- 230000005012 migration Effects 0.000 description 55
- 238000013508 migration Methods 0.000 description 54
- 238000010586 diagram Methods 0.000 description 11
- 238000002347 injection Methods 0.000 description 8
- 239000007924 injection Substances 0.000 description 8
- 230000008859 change Effects 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 5
- 239000000835 fiber Substances 0.000 description 3
- 230000007774 longterm Effects 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 230000002776 aggregation Effects 0.000 description 2
- 238000004220 aggregation Methods 0.000 description 2
- 238000010801 machine learning Methods 0.000 description 2
- 230000000737 periodic effect Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 238000012549 training Methods 0.000 description 2
- 206010011971 Decreased interest Diseases 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000003491 array Methods 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
- 230000008569 process Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000010076 replication Effects 0.000 description 1
- 230000003442 weekly effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/172—Caching, prefetching or hoarding of files
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/182—Distributed file systems
- G06F16/1824—Distributed file systems implemented using Network-attached Storage [NAS] architecture
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/182—Distributed file systems
- G06F16/1824—Distributed file systems implemented using Network-attached Storage [NAS] architecture
- G06F16/183—Provision of network file services by network file servers, e.g. by using NFS, CIFS
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
- G06F3/0611—Improving I/O performance in relation to response time
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/0647—Migration mechanisms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/067—Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/01—Dynamic search techniques; Heuristics; Dynamic trees; Branch-and-bound
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/40—Support for services or applications
- H04L65/401—Support for services or applications wherein the services involve a main real-time session and one or more additional parallel real-time or time sensitive sessions, e.g. white board sharing or spawning of a subconference
- H04L65/4015—Support for services or applications wherein the services involve a main real-time session and one or more additional parallel real-time or time sensitive sessions, e.g. white board sharing or spawning of a subconference where at least one of the additional parallel sessions is real time or time sensitive, e.g. white board sharing, collaboration or spawning of a subconference
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/06—Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/52—Network services specially adapted for the location of the user terminal
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/535—Tracking the activity of the user
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/568—Storing data temporarily at an intermediate stage, e.g. caching
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/568—Storing data temporarily at an intermediate stage, e.g. caching
- H04L67/5681—Pre-fetching or pre-delivering data based on network characteristics
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Data Mining & Analysis (AREA)
- Software Systems (AREA)
- Databases & Information Systems (AREA)
- Human Computer Interaction (AREA)
- Computing Systems (AREA)
- Evolutionary Computation (AREA)
- Mathematical Physics (AREA)
- Artificial Intelligence (AREA)
- Medical Informatics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Computer Hardware Design (AREA)
- Computational Linguistics (AREA)
- Multimedia (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Information Transfer Between Computers (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
一种用于在分布式网络(100)中存储数据的系统和方法,该分布式网络具有分布在多个地理区域(110、120、130、140)上的多个数据中心(110a、110b、120a、120b、130a、130b、140a、140b)。该方法可以涉及:接收上传到分布式网络的第一数据中心的数据(包括元数据)(310);接收关于先前存储在分布式网络的多个数据中心中的先前数据的访问信息(320);基于元数据和访问信息来预测将从其访问上传数据的多个地理区域中的一个或多个地理区域(330);以及指示将所述上传数据从第一数据中心传送到位于所述一个或多个预测的地理区域中的每一者处的一个或多个第二数据中心(340)。
Description
相关申请的交叉引用
本申请是2020年11月4日提交的美国专利申请号16/673,128的继续申请,其公开内容通过引用的方式并入本文中。
背景技术
一旦数据被存储在云中,全球云存储服务就提供从世界任何地方访问大量数据。例如,在欧洲上传的图像可以立即在美国可访问下载。
全球云存储服务通常被划分成多个地理区域,以便管理大量上传数据。因而,访问数据的用户请求通常被路由到离用户最近的服务器,特别是在用户的地理区域中。然后,服务器查找所请求数据的位置,并且然后将对该数据的请求转发给存储该数据的服务器,该服务器可能位于不同的地理区域。
当所请求的数据存储在远离请求用户的地方时,读取所请求的数据可能引发高时延,这可能降低请求用户对所请求数据的体验。对于服务供应商来说,长距离读取也耗费了宝贵的带宽,尤其是在用户的地理区域与数据的地理区域之间缺乏网络带宽的情况下,诸如在这两个区域之间没有部署足够的光纤电缆。
全球云存储服务通常将上传数据存储在数据被上传的区域。这在上传数据主要在同一地理区域中下载的情况下可能是有效的。然而,在许多情况下,上传数据主要从其它地理区域访问,这可能导致高网络带宽成本。
发明内容
本公开的一个方面涉及一种用于在分布式网络中存储数据的方法,所述分布式网络具有分布在多个地理区域上的多个数据中心。所述方法可以包括:由一个或多个处理器接收上传到所述分布式网络的第一数据中心的数据,上传数据包括元数据;由所述一个或多个处理器接收关于先前上传数据的访问信息;在所述上传数据被访问之前,由所述一个或多个处理器基于所述元数据和所述访问信息来预测将从其访问所述上传数据的所述多个地理区域中的一个或多个多个地理区域中的一个或多个;以及由所述一个或多个处理器指示将所述上传数据从所述第一数据中心传送到位于所预测的地理区域中的一个或多个预测的地理区域处的一个或多个第二数据中心。
在一些示例中,所述访问信息可以是从基于所述先前上传数据的元数据训练的预测模型导出的。
在一些示例中,所预测的模型可以是决策树模型。
在一些示例中,所述元数据可以包括上传所述上传数据的用户的识别,以及上传所述上传数据的定位。
在一些示例中,所述先前上传数据的所述元数据可以包括所述先前上传数据的定位、上传所述先前上传数据的用户的识别以及上传所述先前上传数据的定位。
在一些示例中,所述先前上传数据的所述元数据还可以包括存储所述先前上传数据的目录或文件路径的识别。
在一些示例中,所述访问信息可以指示所述先前上传数据的初始上传与所述先前上传数据的首次下载之间的时间量。所述方法可以包括:由所述一个或多个处理器预测直到所述上传数据被首次下载的时间量;以及基于所预测的时间量,由所述一个或多个处理器指示将所述上传数据传输到位于所述一个或多个预测的地理区域处的一个或多个高速缓存服务器。
在一些示例中,指示将所述上传数据传输到位于所述一个或多个预测的地理区域处的一个或多个高速缓存服务器可以包括:由所述一个或多个处理器基于所述元数据和所述访问信息来确定所述上传数据是广播数据;以及对于所述上传数据被指示传送到的每个给定的预测地理区域,由所述一个或多个处理器指示所述上传数据被传送到所述给定的预测地理区域的每个数据中心的至少一个高速缓存服务器。
在一些示例中,所述方法可以包括:由所述一个或多个处理器指示将所述上传数据包括在文件中,所述文件包括具有共同预测地理区域的先前上传数据;以及由所述一个或多个处理器指示将所述文件传送到位于所述共同预测地理区域处的一个或多个第二数据中心。
在一些示例中,所述文件可以初始存储在位于第一数据中心处的一个或多个源服务器处。指示所述文件被传送可以包括由所述一个或多个处理器指示位于所述共同预测地理区域处的所述一个或多个第二数据中心的数据服务器从所述一个或多个源服务器提取所述文件。
本公开的另一方面涉及一种用于在分布式网络中存储数据的系统,所述分布式网络具有分布在多个地理区域上的多个数据中心。所述系统可以包括:在所述分布式网络的第一数据中心处的一个或多个存储设备,所述一个或多个存储设备被配置成存储上传到所述第一数据中心的数据,上传数据包括元数据;以及与所述一个或多个存储设备通信的一个或多个处理器。所述一个或多个处理器可以被配置成:接收关于先前存储在所述分布式网络的所述多个数据中心中的先前上传数据的访问信息;在所述上传数据被访问之前,基于所述元数据和所述访问信息来预测将从其访问所述上传数据的所述多个地理区域中的一个或多个地理区域;以及指示将所述上传数据从所述第一数据中心传送到位于所预测的地理区域中的一个或多个预测的地理区域处的一个或多个第二数据中心。
在一些示例中,所述访问信息可以是从基于所述先前上传数据的元数据训练的预测模型导出的。
在一些示例中,所预测的模型可以是决策树模型。
在一些示例中,所述元数据可以包括上传所述上传数据的用户的识别,以及上传所述上传数据的定位。
在一些示例中,所述先前上传数据的所述元数据可以包括所述先前上传数据的定位、上传所述先前上传数据的用户的识别以及上传所述先前上传数据的定位。
在一些示例中,所述先前上传数据的所述元数据可以包括存储所述先前上传数据的目录或文件路径的识别。
在一些示例中,所述访问信息可以指示所述先前上传数据的初始上传与所述先前上传数据的首次下载之间的时间量。所述一个或多个处理器可以被配置成:预测直到所述上传数据被首次下载的时间量;以及基于所预测的时间量,指示将所述上传数据传输到位于所述一个或多个预测的地理区域处的一个或多个高速缓存服务器。
在一些示例中,所述一个或多个处理器可以被配置成基于以下确定来指示将所述上传数据传输到位于所述一个或多个预测的地理区域处的一个或多个高速缓存服务器,所述确定是基于所述元数据而确定出所述上传数据是广播数据,并且对于所述上传数据被指示传送到的每个给定的预测地理区域,所述一个或多个处理器可以被配置成指示所述上传数据被传送到所述给定的预测地理区域的每个数据中心的至少一个高速缓存服务器。
在一些示例中,所述一个或多个处理器可以被配置成:指示将所述上传数据包括在文件中,所述文件包括具有共同预测地理区域的先前上传数据;以及指示将所述文件传送到位于所述共同预测地理区域处的一个或多个第二数据中心。
在一些示例中,所述文件初始存储在位于第一数据中心处的一个或多个源服务器处。所述一个或多个处理器可以被配置成指示位于所述共同预测地理区域处的所述一个或多个第二数据中心的数据服务器从所述一个或多个源服务器提取所述文件。
附图说明
图1是示出根据本公开各方面的示例系统的框图。
图2是示出根据本公开各方面的示例计算系统的框图。
图3和图4是示出根据本公开各方面的系统的示例数据分配方案的框图。
图5是示出根据本公开各方面的示例方法的流程图。
图6是示出图5的流程图的各方面的流程图。
具体实施方式
概述
该技术大体上涉及一种用于跨分布式网络高效地存储上传数据的系统。该系统可以包括位置预测器或预测程序,该位置预测器或预测程序预测未来可以从其访问上传数据文件的一个或多个位置。预测可以基于先前上传数据的上传和下载模式,也称为“访问模式”。预测新上传数据的访问模式可以提高上传数据的存储效率,因为数据可以被战略性地存储在那些未来将被访问的位置附近。
在一些实现方式中,预测程序可以存储在具有跨一个或多个数据中心的多个虚拟机的分布式网络中。上传数据可以从被存储在网络的任何数据中心开始。随后,上传数据被预测程序分析,并被迁移到一个或多个其它数据中心,预测将在该一个或多个其它数据中心处下载该上传数据。
预测可以基于包括在上传数据和先前上传数据中的每一者中的元数据。例如,先前上传数据的元数据可以用于训练预测模型,由此元数据可以与模型的各种预测器相关。上传数据的元数据可以与先前上传数据的元数据相同或相似,由此上传数据和某些先前上传数据之间的这些相似性可以指示该上传数据的未来访问模式。例如,上传数据和先前上传数据具有相同或相似的客户识别、对象名称、对象类型或它们的某种组合,并且源自相同或相似的区域或数据中心,则可以预期遵循相似的访问模式。因此,鉴于先前上传数据和上传数据的公共或相似的元数据,该先前上传数据的访问模式可以指示该上传数据的未来访问模式。
在一些实现方式中,可以使用离线数据迁移技术将上传数据传送到数据中心。例如,可以基于数据的目的地数据中心建立单独的大文件来存储上传数据,由此每个大文件具有不同的目的地数据中心。新上传数据然后可以基于上传数据被预测下载的数据中心而被附加到一个或多个大文件。然后,例如,当给定文件达到某个大小限制时,或者在预定义的时间量(诸如12小时)过去之后,可以在每个文件的基础上执行上传数据的数据迁移。
在一些实现方式中,元数据还可以用于预测将上传数据迁移到其目的地的紧迫性。例如,在广播数据的情况下,诸如从一个用户广播并使全球范围内的其它用户可以立即访问的流式文件,可能在跨多个区域中有很高的需求,无论是立即还是在稍后时间,而离线数据迁移可能需要很长时间才能将上传数据传递到其目的地数据中心。在此类情况下,识别迁移数据的紧迫性可以用于发起上传数据的高速缓存注入,由此数据被传送到目的地数据中心处的高速缓存服务器,数据可从该服务器本地提供给用户。可以除了离线数据迁移之外以及可以在离线数据迁移之前执行高速缓存注入。
上述实现方式可以改进分布式网络内的非结构化数据的存储服务,特别是对于具有散布在跨多个地理区域的多个数据中心的分布式网络。改进的存储服务可以使得在世界的一个地区上传数据在数据被经常访问的世界的其它地区更容易被访问。这从而可以为用户和服务提供商节省成本和时间,因为从远处位置访问数据通常比从近处位置访问数据成本更高且更耗时。
示例系统
图1是示出包括分布式计算环境的示例系统的框图。系统100可以是云存储服务,其向用户提供将数据101上传到分布在跨系统100的多个地理区域110、120、130、140的服务器的能力。每个地理区域可以包括一个或多个数据中心。图1示出区域1(110)的数据中心110a和110b、区域2(120)的数据中心120a和120b、区域3(130)的数据中心130a和130b以及区域4(140)的数据中心140a和140b,但网络可以包括附加区域,并且每个区域可以包括附加的数据中心。每个数据中心可以包括被配置成存储上传数据的一个或多个数据服务器145。
数据中心110a、110b、120a、120b、130a、130b、140a、140b可以例如通过网络(未示出)通信地耦合。数据中心可以通过网络进一步与一个或多个客户端设备(未示出)通信。因此,例如,客户端可以在“云”中执行操作。此类操作可以包括上传和访问数据,诸如上传数据101。访问数据可以包括下载数据、流式传输数据、将数据从一个文件夹或目录复制到另一文件夹或目录,或者响应于在系统100的服务器处接收的用户请求使数据可访问的任何其它手段。在一些示例中,数据中心可以进一步与控制器(未示出)通信;因此,访问数据可以包括响应于来自控制器的指令使数据可访问。
数据中心110a、110b、120a、120b、130a、130b、140a、140b可以位于彼此相距相当远的位置。例如,数据中心可以位于世界各地的不同国家。区域110、120、130、140可以将彼此相对接近的数据中心分组。此外,在一些示例中,数据中心可以是虚拟化环境。此外,虽然仅示出了几个数据中心,但是许多数据中心可以通过网络和/或附加网络耦合。
如图2中所示,每个数据中心可以包括一个或多个计算设备210,诸如处理器220、服务器、分片(shards)、小区等。应理解,每个数据中心可以包括任何数量的计算设备,一个数据中心中的计算设备的数量可以不同于另一数据中心中的计算设备的数量,并且给定数据中心中的计算设备的数量可以随着时间而变化,例如,由于硬件被移除、替换、升级或扩展。
每个数据中心还可以包括多个存储设备或存储器230,诸如硬盘驱动器、随机存取存储器、磁盘、磁盘阵列、磁带驱动器或任何其它类型的存储设备。数据中心可以实现多种架构和技术中的任一者,包括但不限于直接附加存储(DAS)、网络附加存储(NAS)、存储区域网络(SANs)、光纤信道(FC)、以太网光纤信道(FCoE)、混合架构网络等。除了存储设备之外,数据中心可以包括许多其它设备,诸如通信设备260(诸如电缆布线、路由器等),以实现同一数据中心或不同数据中心的计算设备之间、数据中心的计算设备与网络系统的控制器(未示出)之间、以及数据中心的计算设备与连接到网络系统的客户端计算设备(未示出)之间的输入和输出。
每个计算设备的存储器230可以存储能够由一个或多个处理器220访问的信息,包括在所述一个或多个计算设备210处接收的或由所述一个或多个计算设备210产生的数据240,以及能够由所述一个或多个处理器220执行的指令250。
数据240可以包括:存储的数据242,诸如上传数据对象;跟踪上传数据对象242的元数据的元数据日志244;以及一个或多个迁移文件246;和高速缓存的数据文件248,上传数据对象242在从一个数据中心传送到另一数据中心之前可以存储在该高速缓存数据文件248处。在下文更详细论述所存储数据的上述示例的细节。
指令250可以包括位置访问预测程序252,该位置访问预测程序被配置成预测给定数据对象文件可能被访问的一个或多个位置。此类位置可以是分布式网络的一个或多个区域。指令250还可以包括数据迁移程序254和数据高速缓存程序256,它们被配置成分别执行存储在所述一个或多个迁移文件246和高速缓存数据文件248中的数据对象文件的传送。在下文更详细论述所存储程序的上述示例的细节。
在一些示例中,控制器可以与数据中心中的计算设备通信,并可以促进程序的执行。例如,控制器可以跟踪每个计算设备的容量、状态、工作负载或其它信息,并使用此类信息来指派任务。控制器可以包括处理器和存储器,包括数据和指令。在其它示例中,此类操作可以由数据中心之一中的一个或多个计算设备来执行,并且可以从系统中省略独立的控制器。
上传到数据中心的上传数据101可以包括元数据,该元数据指示上传数据的多个属性。元数据可以被记录在数据被上传、存储或者两者兼有的数据中心(在图1的示例中,数据中心140b)处。在图1的示例中,在数据中心140b中提供元数据日志150来存储上传数据的元数据155。
元数据155可以包括数据被上传的区域、数据中心或两者的识别。如下文更详细论述的,因为上传数据在地理区域之间战略性地迁移,所以在一些情况下,上传数据的位置可能不同于存储数据的位置。此外,在一些情况下,数据可能存储在多个位置,包括或不包括数据被上传的位置。在此类情况下,元数据还可以包括数据被存储的区域、数据中心或两者的识别。
其它元数据可以包括但不限于,上传方的客户识别、对象名称、对象类型、对象大小、数据上传到的目录或文件夹的名称(诸如用于存储对象的存储桶名称)、对象名称前缀(诸如上传对象的文件路径,如果使用多于一级的目录层次结构来存储对象的话)、上传时间、首次下载时间、后续下载时间、访问请求数量等等。基本上,元数据可以包括对象的属性以及对象的运行访问日志两者。
此外,在数据存储在多个位置的情况下,应认识到每个位置可以与相同数据对象的不同元数据相关联。例如,存储在区域1中的对象可能比存储在区域2中的相同对象下载得更早。再例如,对于对象的访问请求的数量可以从一个位置到下一位置变化。因而,来自上传对象的元数据可以在对象最终被存储的每个位置处被分别记录。在图1的示例中,数据中心110a、110b、120a、120b、130a、130b、140a、140b中的每一者可以包括其自己的访问日志(除了数据中心140b之外未示出),其可以存储已经上传到该数据中心的数据对象或文件的日志,包括那些对象的元数据。
可以使用元数据聚合器160跨多个区域跟踪每个上传对象的元数据。聚合器160可以能够定期从每个数据中心的元数据日志中收集元数据,诸如根据聚合时间表。聚合的元数据可以被打上时间戳,以使得元数据中的变化能够随着时间被跟踪。例如,由元数据日志聚合器收集的聚合日志可以根据由每个聚合日志表示的持续时间来分类,诸如来自前一周的元数据、来自前一个月的元数据、来自前三个月的元数据、来自比前三个月更长的时间段的元数据等等。跨分类日志的元数据中的差异可以指示上传数据随时间的变化,诸如对访问上传数据的兴趣增加或减少。此外,给定上传数据对象的元数据可以作为一个整体被跟踪,或者按照存储位置被跟踪。因此,聚合日志可以指示给定上传数据对象的元数据的整体变化,以及上传数据对象的区域特定或数据中心特定的变化。
然后可以将聚合数据馈送到预测模型170以便训练模型170。训练预测模型可以更好地预测未来上传数据最有可能被访问的位置,从而改进未来上传数据的放置,使得对未来上传数据的访问更高效。预测模型170可以是存储在系统100中的机器学习算法,诸如存储在系统的数据中心之一处。预测模型可以是决策树模型,由此聚合数据可以包括关于先前上传数据被访问的频率和从哪里访问的信息,并且因此可以将成本与先前上传数据在系统中的放置相关联。基于该信息,预测模型170可以基于过去上传数据的访问模式来确定未来上传数据的战略性放置。
在其它示例中,可以应用其它类型的机器学习算法以便建立预测模型。此外,更启发式的方法也是可能的,由此某些信息可以决定未来上传数据的放置。例如,如果由给定用户上传的若干先前上传数据对象在某些区域具有阈值下载次数,这可以保证由该用户上传的未来数据对象被发送到并存储在具有阈值下载次数的区域处。
预测模型170可以是动态的。例如,聚合器160对元数据和访问日志的聚合可以在一致且可能预定的基础上发生,诸如每周一次、每两周一次、每月一次,或者更少或更频繁。模型更新的频率可以进一步取决于在应用该系统100的特定网络上存储和共享的数据的性质。也就是说,对于一些变化相对较慢的产品,一个月一次可能就足够了。然而,对于用户倾向不断变化并且访问模式不断切换的其它平台或产品,每月一次的更新可能是不够的,而对模型更定期地更新,诸如每周一次,可能是优选的。
一旦预测模型170已基于先前上传和存储的数据被训练,它就可以被用来预测当前或未来上传数据将最有可能被访问的位置。在图1的示例中,当在数据中心140b处接收到上传数据101的给定单元时,该数据在被访问位置预测器180处理时初始存储在数据服务器145中。访问位置预测器180可以确定数据是否可能在与它被上传的区域相同的区域中被访问,数据是否可能在系统的另一区域中被访问。访问位置预测器180还可以预测上传数据101被上传与它被下载之间的时间量。基于这些确定,上传数据101可以保持存储在数据服务器145中,可以存储在一个或多个迁移文件190处,可以存储在高速缓存服务器195中,或者它们的任何组合。下文结合图5更详细地论述存储确定操作。
数据服务器145中的存储通常是永久的,这意味着数据预期存储在那里而不被移动,并且因此可以无限期地保持存储或者直到被手动删除。相比之下,在迁移文件190和高速缓存服务器195中的存储通常是临时的,这意味着数据预期被传送到另一位置,并且可以在预期传送之后的某个时间被自动删除。下文结合图6更详细地论述数据传送操作。
尽管在图1中迁移文件190被示为与数据服务器分开,但是应该认识到迁移文件实际上可以存储在数据中心140b的一个或多个服务器处,并且因此可以存储在数据服务器处。此外,虽然迁移文件的内容可能被定期删除,诸如在迁移之后,但是文件本身可能是永久的。此外,该文件可以包括永久信息,诸如标头信息,指示文件内容要发送到的目的地。迁移文件可以是网络的分布式文件系统的文件。还应认识到,存储在数据服务器中的数据也可以存储在分布式文件系统的大文件中。实际上,数据服务器的大文件可以是具有指示文件内容位于其预期目的地处的信息的文件。例如,写入数据中心140b的数据服务器145的文件可以具有指示区域4的目的地的标头,由此可以确定文件的内容不需要被发送到不同的区域。
高速缓存服务器195可以被数据中心用于如本文所述的预测注入高速缓存,以及用于实际数据请求的按需缓存(与触发注入的推测请求相比,如本文所述)。
出于说明的目的,图1的元数据聚合器160和预测模型170被示为与地理区域110、120、130、140和数据中心中的每一者分开,并且访问位置预测器180被示为包括在数据中心140b中。然而,应当认识到,在聚合器160、预测模型170和访问位置预测器180处存储的数据和由该聚合器160、预测模型170和访问位置预测器180执行的指令可以在系统中的任何地方,诸如在所示的区域和数据中心中,或者在未示出的其它区域或数据中心中,或者它们的任何组合,包括分布在跨地理区域的多个数据中心中,或者分布在跨系统的多个地理区域中。
示例方法
图3是示出用于在分布式网络中存储数据的示例例程300的流程图。网络可以包括分布在各个地理区域(诸如图1的区域110、120、130和140)的多个数据中心,诸如图1的数据中心110a、110b、120a、120b、130a、130b、140a和140b。该方法中的一些操作可以由数据被传送出和传送到的数据中心的处理器来执行,而一些操作可以由其它数据中心的处理器或者独立于数据中心或地理区域的处理器和服务器来执行。
在框310处,可以将数据上传到属于网络的第一区域的数据中心。上传数据可以包括数据对象以及上传数据对象的元数据,诸如上传时间、数据对象的类型、上传该对象的位置等等。
在框320处,可以接收并分析先前存储在网络中的关于先前上传数据的访问信息。先前上传数据在其上传时也可以包括元数据,并且还可以具有在上传之后聚集的附加元数据,诸如指示先前上传数据被访问的时间、先前上传数据被访问的位置等的元数据。
在框330处,可以对上传数据可能被访问的网络的地理区域进行预测。该预测或确定可以基于当前上传数据的元数据,以及关于先前上传数据的访问信息。此外,预测可以在当前上传数据被访问之前进行,由此在上传时当前上传数据的元数据对于预测可能是足够的。在先前上传数据的信息中辨识的模式可以指示访问当前上传数据的可能结果,并且因此可以用于预测存储当前上传数据的理想位置。在许多情况下,可以优选地将上传数据存储在最初上传到的数据中心处。然而,在其它情况下,附加地或替代地,可以优选地将上传数据存储在不同的数据中心或者甚至不同的地理区域中。
在框340处,上传数据被指引从原始数据中心传送到数据可能被访问的其它数据中心处,其它数据中心可以位于不同于第一地理区域的地理区域,从而使得在那些其它区域对上传数据的访问更高效。效率可以是更快地访问数据、花费更少的总带宽、在具有更多可用带宽的连接上执行、或者这些和其它因素的任何组合的度量。
图4是示出图3的例程300的示例子例程400的流程图。子例程400示出了可以被执行以实现对于上传数据对象确定一个或多个目的地区域,以及将数据对象分配到所确定的目的地区域的一个或多个数据中心的示例操作。
在框410处,预测将从其访问当前上传数据的一个或多个地理区域。该预测可以由访问预测程序进行,诸如图1所示的访问位置预测器180,并且可以基于来自预测模型的输出,该预测模型已基于先前上传数据的访问日志进行了训练,诸如图1所示的预测模型170。预测模型可以辨识先前上传数据的访问模式,并且可以基于那些模式来预测当前上传数据可能被访问的位置。
在框420处,可以将当前上传数据发送(诸如复制或移动)到一个或多个文件,这些文件被指定用于将上传数据迁移到不同于第一区域的目的地区域,诸如图1的迁移文件190。当前上传数据被发送到的文件可以基于框410的预测,由此数据将会被传送到预期被访问的那些区域处。
在框430处,预测直到当前上传数据将会在预测的地理区域被访问的时间量。该预测也可以基于来自预测模型的输出。在此情况下,作为训练数据馈送到预测模型的先前上传数据的访问日志应包括可以从中确定或导出先前上传数据的上传和首次访问之间的方向的信息,诸如上传时间,以及首次或每次访问数据的日志。预测模型可以辨识先前上传数据的访问模式,并且可以基于那些模式来预测当前上传数据可能被访问的时间。
在框440处,可以将当前上传数据何时可能被访问的预测与阈值进行比较,诸如从当前时间开始的时间量。如果直到当前上传数据被访问的预测时间量超过或等于阈值量,意味着当前上传数据不预期在相对即时的基础上被访问,则操作可以结束,并且可以使用所述一个或多个迁移文件以相对慢的速度迁移数据。相反,如果直到当前上传数据被访问的预测时间量小于阈值量,意味着当前上传数据预期在相对即时的基础上被访问,则操作可以在框450处继续,由此当前上传数据被发送(复制或移动)到高速缓存服务器,诸如图1的高速缓存服务器195,以被注入到相同地理区域或一个或多个不同地理区域中的远程数据中心的高速缓存服务器中。如同迁移文件一样,可以基于在框410处的访问位置预测器的确定来确定数据被注入到哪个数据中心、区域或两者。
在图4的示例中,将上传数据发送到迁移文件的决策被示为在确定传送数据的紧迫性或优先级之前做出。因此,不管数据是更早还是更迟需要,都做出迁移数据的确定,也就是说,不管数据是否也注入到目的地,都做出迁移数据的确定。然而,在其它示例中,可能存在可能仅在即时基础上被访问并且在稍后时间不被访问的数据,诸如具有相对较短保存期限的流式传输的实况视频。在此类情况下,系统可以确定将上传数据注入远程数据中心的高速缓存服务器,而不将上传数据添加到迁移文件中,以避免不必要地将数据永久存储在远程数据中心处。
图5是示出访问位置预测器520的示例操作的操作框图500,该访问位置预测器520预测上传数据可能被访问的网络地理区域,并指引上传数据被传送到所预测的地理区域,诸如图3的例程300的框330和340中所示。访问位置预测器520选择性地将上传到区域4的数据中心的数据对象5011-501N移动或复制到迁移文件532、534、536、高速缓存服务器550或两者。同样如上所述,访问位置预测器520可以基于来自对象的元数据和用于预测上传数据可能被访问的一个或多个位置的预测模型的输出来确定每个上传数据对象5011-501N的放置。
在图5的示例中,上传数据对象5011-501N中的每一者具有不同的元数据。因此,访问位置预测器520为上传数据对象5011-501N中的每一者确定不同的放置策略。
在上传对象1(5011)的示例中,访问位置预测器520确定该对象可能在区域2处被访问。因此,对象1从数据服务器移动到迁移文件534,该文件可以是专用于要从数据中心迁移的对象的文件,对象1在该数据中心处被上传到区域2。
如图5所示,每个迁移文件可以包括公共元数据542,诸如文件的标头,其可以指示文件的目的地。呈现公共元数据避免了针对每个附加对象544都将该元数据单独写入迁移文件的需要,这可以节省迁移文件中的空间,并且可以进一步降低将对象从数据服务器移动到迁移文件的处理要求。在目的地区域的情况下,也不需要在迁移后将该元数据重写到对象,因为目的地区域将保持该对象和存储在该区域处的所有其它对象的公共元数据。除了诸如目的地区域的公共元数据之外,每个对象的剩余元数据可以与对象一起移动或复制,以便在迁移期间保留对象元数据。
在一些示例中,迁移文件可以具有预定容量,由此当将对象移动或复制到迁移文件导致迁移文件达到或超过预定容量时,迁移文件可以被传送到目的地区域的一个或多个数据中心。另外或替代地,迁移文件可以在从创建迁移文件起经过预定时间量后被传送到目的地区域的一个或多个数据中心。下文结合图4更详细地描述用于传送对象的操作。
如果确定该对象可能仅从一个区域被访问,那么该对象可以被移动到单个目的地,诸如在对象1的示例中(5011)的情况下。然而,在其它情况下,可以确定对象可能从一个以上的区域被访问,包括或不包括上传对象的区域。在此类情况下,访问位置预测器520可以确定将对象移动或复制到一个以上迁移文件。
在上传对象2(5012)的示例中,访问位置预测器520确定该对象可能在区域1、3和4中的每一者处被访问。因此,对象2从数据服务器被复制到迁移文件532和536中的每一者,这些迁移文件532和536可以是专用于要从数据中心迁移的对象的文件,对象2在该数据中心处被上传到区域1和3。该对象也可以永久保持存储在数据服务器处,以便可以在区域4处访问它。
如上所述,对象从一个区域到另一区域的迁移可以在文件已经填充了若干数据对象之后开始。由于迁移文件可能较大,因此可能需要一段时间才能填满迁移文件。然而,在一些情况下,数据对象可能在网络的远程区域处有很高的需求,但只是在数据迁移发生之前的一段时间内。在此情况下,使用迁移文件的数据对象的慢节奏的战略性重定位将破坏其它区域的用户在该数据对象需求高时高效访问该数据对象的能力。例如,如果一个用户正在欧洲流式传输实况视频,而美国的若干用户希望立即访问该流式传输的视频,那么等待视频文件从欧洲的数据中心迁移到美国的数据中心是没有帮助的,甚至在该流式传输的视频存储在美国的数据中心之后,可能已不再需要它。
为了解决该挑战,对象文件可以包括元数据,根据该元数据可以确定在数据被上传后多久将被访问。例如,在图1的系统中,元数据聚合器160可以收集示出每个存储对象的上传时间和最早下载时间的元数据。然后,该数据可以用于训练预测模型170,以预测未来上传数据对象在该对象被上传到系统之后不久还是很久之后将被访问。进而,访问位置预测器180可以使用该信息来为任何给定的上传数据对象确定直到该对象可能被下载的时间量。该系统还可以存储阈值时间值,由此如果直到对象可能被下载的预测时间量等于或小于阈值量,则该对象可以绕过经由迁移文件的通常的数据迁移方案,并且被移动或复制到高速缓存服务器350,以相对更快地将上传数据对象传送到系统的其它区域。
在上传对象3(5013)的示例中,访问位置预测器520确定该对象可能在阈值时间量内需求很高。因此,将对象3从数据服务器复制到高速缓存服务器550,从而基于访问位置预测器520的确定,可以将文件注入到区域4以及其它区域(包括但不限于区域1、区域2和区域3)中的远程数据中心的高速缓存服务器。对象3可以保持存储在数据中心的数据服务器处。
在许多情况下,可以确定上传对象可能仅从其被上传的区域处被访问。对于不在用户之间共享的个人存储的文件,或者对于在地理上彼此非常接近的一组用户之间共享的文件,可能就是这种情况。在此类情况下,访问位置预测器520可以确定上传对象不应被复制到迁移文件532、534、536或者高速缓存服务器550。相反,该对象保持存储在上传该对象的数据中心的数据服务器处。在上传对象4(5014)的示例中,访问位置预测器520确定该对象可能仅在原始区域4被访问。因此,不会从数据服务器复制对象4。
应注意,将文件保持在数据服务器、将文件复制到迁移文件、或将文件复制到高速缓存服务器可以被视为独立的操作。因此,执行一个操作的决策并不排除执行任何其它操作。例如,诸如流式传输视频文件之类的广播数据可能在跨多个区域都有很高的需求,无论是立即还是在稍后时间。在此类情况下,可以确定该文件应保持在原始数据服务器中,并且复制到迁移文件和高速缓存服务器两者,以解决长期和短期需求。该确定可以至少部分基于上传数据是广播数据,以及基于由预测模型检测的其它访问模式。
在上传对象N(501N)的示例中,访问位置预测器520确定该对象可能在阈值时间量内以及稍后时间在区域3和4处都有高需求。因此,对象N从数据服务器被复制到迁移文件536和高速缓存服务器550两者,使得该对象可以被注入到区域3的高速缓存服务器以解决即时需求,以及被迁移到区域3的永久存储器以解决长期需求。
图6是示出根据访问位置预测器(诸如图1的访问位置预测器180或图5的访问位置预测器520)做出的确定来分配上传数据对象的示例操作的框图。图6的示例示出了从分布式网络系统600的区域4(640)迁移(长期)和注入(短期)到区域1(610)和区域2(620)两者的上传对象。每个区域可以包括一个或多个数据中心610a、620a、640a,由此每个数据中心可以包括一个或多个相应的处理器612、622、642、数据服务器614、624(对于区域4未示出)和高速缓存服务器616、626、646。出于说明的目的,迁移文件644被示为存储在区域4的数据中心640处,但是迁移文件也可以存储在其它区域的数据中心处,以促进传送在那些其它区域处上传的对象也通过网络传送。
在操作中,移动区域4数据中心640a的迁移文件644的内容可以从系统600的数据迁移控制器650执行程序开始,由此向数据中心610a查询存储在其服务器中的数据文件。处理器642可以接收查询,并且作为响应可以提供指示每个文件的目的地的信息。在文件要被存储在区域4处的情况下(由此目的地是区域4),数据迁移控制器650可以不采取进一步的动作。相反,在文件要被存储在诸如区域1和2的其它区域处的情况下(由此文件所指示的目的地不是区域4),数据迁移控制器650可以确定发起数据从文件到所识别目的地的迁移。数据迁移控制器650可以将指令传输到每个识别的目的地的一个或多个处理器,诸如处理器612、622。基于这些指令,这些处理器可以指示在它们相应位置处的数据服务器614、624执行数据迁移,由此每个数据服务器614、624可以访问并读取在区域4处的相应迁移文件644。在读取迁移文件644之后,迁移文件644的内容可以删除。对于上传到区域4中的数据中心610a的未来数据对象,可以重复该过程(640)。
移动区域4数据中心640a的高速缓存服务器646的内容可以开始于服务器646预取要传送的数据,并根据访问位置预测器的指令将其注入远程数据中心的高速缓存服务器616、626。可以在相对即时的规模上执行注入,这意味着在发起数据注入之前没有要执行的进一步步骤。这可以使数据尽快在其它数据中心可用。与数据迁移不同(在数据迁移中,数据可以存储在固定且有限数量的数据中心处以及目的地区域的固定且有限数量的位置处),高速缓存注入可以将上传和传送的对象的副本放置在它被发送到的任何给定区域的多个数据中心中,包括但不限于目的地区域的所有数据中心的高速缓存。这可以允许许多用户在短时间内访问所需求的数据。与同步复制相比,同步高速缓存注入相对快且高效。
上述示例参考根据数据中心和区域的数据分配方案。然而,本领域的技术人员将容易认识到,相同的原理可以应用于以不同方式组织数据的其它系统。基本原理是,诸如全球网络的大规模网络的某些部分可能比网络的其它部分更靠近任何给定用户,并且在可以预测将从哪些位置访问数据的程度上,在数据已经被上传之后将数据移动到更靠近将被访问的那些位置可能是有利的。就此而言,如果可以预测特定的一个或一组用户可能在未来访问数据,则可以将数据移动到更靠近预测的访问用户的数据中心、服务器或其它单元存储器。
此外,当位置在地理上较近时,以上示例一般将该位置描述为离用户较近。然而,本领域技术人员将认识到,数据的“接近性”不一定是地理距离的度量,而是访问数据的成本的度量。因此,当数据位于“更靠近”用户或用户组,或“更靠近”预测该数据被访问的位置时,可以选择该位置以降低访问数据的总成本,诸如带宽、时间、作为签约方的带宽使用费、这些或其它因素的任何组合。
尽管已经参考特定实施例描述了本文的技术,但是应理解,这些实施例仅仅是本技术的原理和应用的说明。因此,应理解,在不脱离由所附权利要求限定的本技术的精神和范围的情况下,可以对说明性实施例进行多种修改,并且可以设计出其它布置。
Claims (20)
1.一种用于在分布式网络中存储数据的方法,所述分布式网络具有分布在多个地理区域上的多个数据中心,所述方法包括:
由一个或多个处理器接收上传到所述分布式网络的第一数据中心的数据,上传数据包括元数据;
由所述一个或多个处理器接收关于先前上传数据的访问信息;
在所述上传数据被访问之前,由所述一个或多个处理器基于所述元数据和所述访问信息来预测将从其访问所述上传数据的所述多个地理区域中的一个或多个地理区域;以及
由所述一个或多个处理器指示将所述上传数据从所述第一数据中心传送到位于所预测的地理区域中的一个或多个预测的地理区域处的一个或多个第二数据中心。
2.根据权利要求1所述的方法,其中,所述访问信息是从基于所述先前上传数据的元数据训练的预测模型导出的。
3.根据权利要求2所述的方法,其中,所述预测模型是决策树模型。
4.根据权利要求1所述的方法,其中,所述元数据包括上传所述上传数据的用户的识别,以及上传所述上传数据的位置。
5.根据权利要求2所述的方法,其中,所述先前上传数据的所述元数据包括所述先前上传数据的位置、上传所述先前上传数据的用户的识别以及上传所述先前上传数据的位置。
6.根据权利要求5所述的方法,其中,所述先前上传数据的所述元数据还包括存储所述先前上传数据的目录或文件路径的识别。
7.根据权利要求1所述的方法,其中,所述访问信息指示所述先前上传数据的初始上传与所述先前上传数据的首次下载之间的时间量,其中所述方法包括:
由所述一个或多个处理器预测直到所述上传数据被首次下载的时间量;以及
由所述一个或多个处理器基于所预测的时间量,指示将所述上传数据传输到位于所述一个或多个预测的地理区域处的一个或多个高速缓存服务器。
8.根据权利要求7所述的方法,其中,指示将所述上传数据传输到位于所述一个或多个预测的地理区域处的一个或多个高速缓存服务器还包括:
由所述一个或多个处理器基于所述元数据和所述访问信息来确定所述上传数据是广播数据;以及
对于所述上传数据被指示传送到的每个给定的预测的地理区域,由所述一个或多个处理器指示所述上传数据被传送到所述给定的预测的地理区域的每个数据中心的至少一个高速缓存服务器。
9.根据权利要求1所述的方法,还包括:
由所述一个或多个处理器指示将所述上传数据包括在文件中,所述文件包括具有共同预测的地理区域的先前上传数据;以及
由所述一个或多个处理器指示将所述文件传送到位于所述共同预测的地理区域处的一个或多个第二数据中心。
10.根据权利要求9所述的方法,其中,所述文件初始存储在位于第一数据中心处的一个或多个源服务器处,并且其中指示所述文件被传送包括由所述一个或多个处理器指示位于所述共同预测的地理区域处的所述一个或多个第二数据中心的数据服务器从所述一个或多个源服务器提取所述文件。
11.一种用于在分布式网络中存储数据的系统,所述分布式网络具有分布在多个地理区域上的多个数据中心,所述系统包括:
在所述分布式网络的第一数据中心处的一个或多个存储设备,所述一个或多个存储设备被配置成存储上传到所述第一数据中心的数据,上传数据包括元数据;以及
与所述一个或多个存储设备通信的一个或多个处理器,所述一个或多个处理器被配置成:
接收关于先前存储在所述分布式网络的所述多个数据中心中的先前上传数据的访问信息;
在所述上传数据被访问之前,基于所述元数据和所述访问信息来预测将从其访问所述上传数据的所述多个地理区域中的一个或多个地理区域;以及
指示将所述上传数据从所述第一数据中心传送到位于所预测的地理区域中的一个或多个预测的地理区域处的一个或多个第二数据中心。
12.根据权利要求11所述的系统,其中,所述访问信息是从基于所述先前上传数据的元数据训练的预测模型导出的。
13.根据权利要求12所述的系统,其中,所述预测模型是决策树模型。
14.根据权利要求11所述的系统,其中,所述元数据包括上传所述上传数据的用户的识别,以及上传所述上传数据的位置。
15.根据权利要求12所述的系统,其中,所述先前上传数据的所述元数据包括所述先前上传数据的位置、上传所述先前上传数据的用户的识别以及上传所述先前上传数据的位置。
16.根据权利要求15所述的系统,其中,所述先前上传数据的所述元数据还包括存储所述先前上传数据的目录或文件路径的识别。
17.根据权利要求11所述的系统,其中,所述访问信息指示所述先前上传数据的初始上传与所述先前上传数据的首次下载之间的时间量,其中所述一个或多个处理器被配置成:
预测直到所述上传数据被首次下载的时间量;以及
基于所预测的时间量,指示将所述上传数据传输到位于所述一个或多个预测的地理区域处的一个或多个高速缓存服务器。
18.根据权利要求17所述的系统,其中,所述一个或多个处理器被配置成基于以下确定来指示将所述上传数据传输到位于所述一个或多个预测的地理区域处的一个或多个高速缓存服务器,所述确定是基于所述元数据而确定所述上传数据是广播数据,以及
其中对于所述上传数据被指示传送到的每个给定的预测的地理区域,所述一个或多个处理器被配置成指示所述上传数据被传送到所述给定的预测的地理区域的每个数据中心的至少一个高速缓存服务器。
19.根据权利要求11所述的系统,其中,所述一个或多个处理器被配置成:
指示将所述上传数据包括在文件中,所述文件包括具有共同预测的地理区域的先前上传数据;以及
指示将所述文件传送到位于所述共同预测的地理区域处的一个或多个第二数据中心。
20.根据权利要求19所述的系统,其中,所述文件初始存储在位于第一数据中心处的一个或多个源服务器处,并且其中所述一个或多个处理器被配置成指示位于所述共同预测的地理区域处的所述一个或多个第二数据中心的数据服务器从所述一个或多个源服务器提取所述文件。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/673,128 | 2019-11-04 | ||
US16/673,128 US11588891B2 (en) | 2019-11-04 | 2019-11-04 | Access pattern driven data placement in cloud storage |
PCT/US2020/058641 WO2021091851A1 (en) | 2019-11-04 | 2020-11-03 | Access pattern driven data placement in cloud storage |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114651433A true CN114651433A (zh) | 2022-06-21 |
Family
ID=73598977
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202080071465.XA Pending CN114651433A (zh) | 2019-11-04 | 2020-11-03 | 云存储中访问模式驱动的数据放置 |
Country Status (6)
Country | Link |
---|---|
US (2) | US11588891B2 (zh) |
EP (1) | EP4026303A1 (zh) |
JP (1) | JP7454661B2 (zh) |
KR (2) | KR20240055889A (zh) |
CN (1) | CN114651433A (zh) |
WO (1) | WO2021091851A1 (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20220197506A1 (en) * | 2020-12-17 | 2022-06-23 | Advanced Micro Devices, Inc. | Data placement with packet metadata |
US20230058282A1 (en) * | 2021-08-19 | 2023-02-23 | Micron Technology, Inc. | Memory device overhead reduction using artificial intelligence |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090300322A1 (en) * | 2008-05-27 | 2009-12-03 | Microsoft Corporation | Abuse detection using distributed cache |
US20130091207A1 (en) * | 2011-10-08 | 2013-04-11 | Broadcom Corporation | Advanced content hosting |
US20140006357A1 (en) * | 2011-11-14 | 2014-01-02 | Panzura, Inc. | Restoring an archived file in a distributed filesystem |
CN103677664A (zh) * | 2012-09-04 | 2014-03-26 | 国际商业机器公司 | 用于按需缓存的方法和数据处理系统 |
CN103795781A (zh) * | 2013-12-10 | 2014-05-14 | 西安邮电大学 | 一种基于文件预测的分布式缓存模型 |
CN106713265A (zh) * | 2016-11-21 | 2017-05-24 | 清华大学深圳研究生院 | Cdn节点分配方法及装置、cdn节点分配服务器及cdn网络系统 |
US20170216720A1 (en) * | 2016-02-02 | 2017-08-03 | Sony Interactive Entertainment America Llc | Systems and methods for downloading and updating save data to a data center |
CN107810490A (zh) * | 2015-06-18 | 2018-03-16 | 华为技术有限公司 | 用于基于目录的缓存一致性的系统和方法 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
SE510048C3 (sv) | 1997-07-24 | 1999-05-03 | Mirror Image Internet Ab | Internet caching system |
US20050259682A1 (en) * | 2000-02-03 | 2005-11-24 | Yuval Yosef | Broadcast system |
US9560127B2 (en) | 2013-01-18 | 2017-01-31 | International Business Machines Corporation | Systems, methods and algorithms for logical movement of data objects |
TWI533678B (zh) * | 2014-01-07 | 2016-05-11 | 緯創資通股份有限公司 | 即時轉播同步方法以及使用該方法的系統 |
US9607004B2 (en) * | 2014-06-18 | 2017-03-28 | International Business Machines Corporation | Storage device data migration |
US9912687B1 (en) * | 2016-08-17 | 2018-03-06 | Wombat Security Technologies, Inc. | Advanced processing of electronic messages with attachments in a cybersecurity system |
US10645534B1 (en) * | 2019-02-01 | 2020-05-05 | Tile, Inc. | User presence-enabled tracking device functionality |
US11895223B2 (en) * | 2019-02-06 | 2024-02-06 | International Business Machines Corporation | Cross-chain validation |
-
2019
- 2019-11-04 US US16/673,128 patent/US11588891B2/en active Active
-
2020
- 2020-11-03 CN CN202080071465.XA patent/CN114651433A/zh active Pending
- 2020-11-03 JP JP2022522700A patent/JP7454661B2/ja active Active
- 2020-11-03 KR KR1020247012756A patent/KR20240055889A/ko active Search and Examination
- 2020-11-03 KR KR1020227012107A patent/KR102659627B1/ko active IP Right Grant
- 2020-11-03 WO PCT/US2020/058641 patent/WO2021091851A1/en unknown
- 2020-11-03 EP EP20816018.4A patent/EP4026303A1/en active Pending
-
2023
- 2023-01-19 US US18/156,541 patent/US20230164219A1/en active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090300322A1 (en) * | 2008-05-27 | 2009-12-03 | Microsoft Corporation | Abuse detection using distributed cache |
US20130091207A1 (en) * | 2011-10-08 | 2013-04-11 | Broadcom Corporation | Advanced content hosting |
US20140006357A1 (en) * | 2011-11-14 | 2014-01-02 | Panzura, Inc. | Restoring an archived file in a distributed filesystem |
CN103677664A (zh) * | 2012-09-04 | 2014-03-26 | 国际商业机器公司 | 用于按需缓存的方法和数据处理系统 |
CN103795781A (zh) * | 2013-12-10 | 2014-05-14 | 西安邮电大学 | 一种基于文件预测的分布式缓存模型 |
CN107810490A (zh) * | 2015-06-18 | 2018-03-16 | 华为技术有限公司 | 用于基于目录的缓存一致性的系统和方法 |
US20170216720A1 (en) * | 2016-02-02 | 2017-08-03 | Sony Interactive Entertainment America Llc | Systems and methods for downloading and updating save data to a data center |
CN106713265A (zh) * | 2016-11-21 | 2017-05-24 | 清华大学深圳研究生院 | Cdn节点分配方法及装置、cdn节点分配服务器及cdn网络系统 |
Non-Patent Citations (1)
Title |
---|
邵长城;陈平华;: "融合社交网络和图像内容的兴趣点推荐", 计算机应用, no. 05 * |
Also Published As
Publication number | Publication date |
---|---|
US20230164219A1 (en) | 2023-05-25 |
US11588891B2 (en) | 2023-02-21 |
KR102659627B1 (ko) | 2024-04-22 |
JP7454661B2 (ja) | 2024-03-22 |
EP4026303A1 (en) | 2022-07-13 |
WO2021091851A1 (en) | 2021-05-14 |
KR20240055889A (ko) | 2024-04-29 |
KR20220064391A (ko) | 2022-05-18 |
JP2023501084A (ja) | 2023-01-18 |
US20210136150A1 (en) | 2021-05-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9513817B2 (en) | Free space collection in log structured storage systems | |
CA2910211C (en) | Object storage using multiple dimensions of object information | |
US8463846B2 (en) | File bundling for cache servers of content delivery networks | |
US20230164219A1 (en) | Access Pattern Driven Data Placement in Cloud Storage | |
US20100235569A1 (en) | Storage Optimization System | |
CN104978362B (zh) | 分布式文件系统的数据迁移方法、装置及元数据服务器 | |
US11520919B2 (en) | Sharing of data among containers running on virtualized operating systems | |
CN104320448B (zh) | 一种基于大数据的计算设备的缓存与预取加速方法和装置 | |
US10360189B2 (en) | Data object storage across multiple storage nodes | |
EP2939145B1 (en) | System and method for selectively routing cached objects | |
CN108139974B (zh) | 分布式缓存动态迁移 | |
CA2588704A1 (en) | System and method for managing quality of service for a storage system | |
JP7176209B2 (ja) | 情報処理装置 | |
US11489911B2 (en) | Transmitting data including pieces of data | |
Hou et al. | GDS-LC: A latency-and cost-aware client caching scheme for cloud storage | |
JP5192506B2 (ja) | ファイルキャッシュの管理方法、装置、及び、プログラム | |
KR101329759B1 (ko) | 클라우드 컴퓨팅 환경에서 개인화 가상 머신을 제공하는 네트워크 블록 디바이스 및 그 제어 방법 | |
CN109582233A (zh) | 一种数据的缓存方法和装置 | |
CN116233156A (zh) | 一种基于云存储的数据传输方法、存储介质及设备 | |
JP2017228211A (ja) | アクセスプログラム、データアクセス方法及び情報処理装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |