CN110168513A - 在不同存储系统中对大文件的部分存储 - Google Patents

在不同存储系统中对大文件的部分存储 Download PDF

Info

Publication number
CN110168513A
CN110168513A CN201780077615.6A CN201780077615A CN110168513A CN 110168513 A CN110168513 A CN 110168513A CN 201780077615 A CN201780077615 A CN 201780077615A CN 110168513 A CN110168513 A CN 110168513A
Authority
CN
China
Prior art keywords
file
access
storage
fast
long
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.)
Granted
Application number
CN201780077615.6A
Other languages
English (en)
Other versions
CN110168513B (zh
Inventor
A·K·格洛弗
J·A·巴雷托
R·N·德赛
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Technology Licensing LLC
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Microsoft Technology Licensing LLC filed Critical Microsoft Technology Licensing LLC
Publication of CN110168513A publication Critical patent/CN110168513A/zh
Application granted granted Critical
Publication of CN110168513B publication Critical patent/CN110168513B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/13File access structures, e.g. distributed indices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • G06F3/0611Improving I/O performance in relation to response time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/1727Details of free space management performed by the file system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/0643Management of files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Human Computer Interaction (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

描述了用于在不同存储系统中提供对大文件的部分存储的各种方法。存储服务发起操作以通过确定文件的快速访问部分和慢速访问部分来提供对大文件的存储。文件的快速访问部分存储在快速访问存储系统中,并且文件的慢速访问部分(或整个文件)存储在慢速访问存储系统中。响应于对文件的访问请求,从快速访问存储系统提供文件的快速访问部分。接着,在提供文件的快速访问部分的同时从慢速访问存储系统取回文件的慢速访问部分。

Description

在不同存储系统中对大文件的部分存储
背景技术
信息交换已改变了与工作和个人环境相关联的过程。过程的自动化和改善已扩展了针对个人和企业消费提供的能力范围。随着更快和更小的电子产品的发展,在云系统上执行大规模过程已变得可行。实际上,由数据中心、数据仓库、数据工作站提供的应用已成为现代个人和工作环境中的常见特征。这些系统执行从企业资源管理应用到存储管理工具的多种多样的应用。
云存储提供商越来越多地用于跨多个客户端存储和/或共享内容,其中云存储提供商具有自动同步客户端和云存储之间的内容的引擎。然而,在管理大文件的长期存储时,目前存在显著的差距。不必要地消耗存储资源来管理很少访问的大文件。在存储和提供对大文件的访问时,缺乏相关存储技术导致对存储资源的不良管理。
发明内容
提供本发明内容以用简化形式引入一些概念,这些概念以下在详细描述中进一步描述。本发明内容并非旨在标识所要求保护的主题内容的关键特征或必要特征,也并非旨在帮助确定所要求保护的主题内容的范围。
实施例涉及在不同存储系统中对大文件的部分存储。根据实施例,存储服务可以发起操作以通过确定文件的快速访问部分和慢速访问部分来提供对大文件的存储。文件的快速访问部分可以存储在快速访问存储系统中,并且文件的慢速访问部分或整个文件可以存储在慢速访问存储系统中。在接收到对文件的访问请求时,可以从快速访问存储系统提供文件的快速访问部分。此外,可以在提供文件的快速访问部分的同时从慢速访问存储系统取回文件的慢速访问部分。慢速访问存储系统可以取代针对快速访问存储系统的需求,并且因此提供相对于快速访问存储系统的资源节省。
通过阅读以下详细描述和对相关附图的查阅,这些和其它特征和优点将是显而易见的。要理解,前述一般描述和以下的详细描述两者都是说明性的,并不限制所要求保护的各方面。
附图说明
图1是根据实施例示出了在不同存储系统中提供对大文件的部分存储的示例的概念图;
图2是根据实施例示出了存储服务的示例性组件的显示图,该存储服务在不同存储系统中提供对大文件的部分存储;
图3是根据实施例示出了用于在不同存储系统中提供对大文件的部分存储的方案的组件的显示图;
图4是根据实施例示出了由被配置为在不同存储系统中提供对大文件的部分存储的存储服务进行的错误处理的显示图;
图5是其中可以实现根据各实施例的系统的简化联网环境;
图6是根据实施例的示例性计算设备的框图,该示例性计算设备可以用于在不同存储系统中提供对大文件的部分存储;以及
图7是根据实施例示出了用于在不同存储系统中提供对大文件的部分存储的过程的逻辑流程图。
具体实施方式
如上面简要描述的,存储服务可以在不同存储系统中提供对大文件的部分存储。在示例性场景中,存储服务可以确定文件的快速访问部分和慢速访问部分。文件的快速访问部分可以是文件的用于将文件流式传输到文件请求方的头部,而文件的慢速访问部分(例如尾部)或整个文件可以被取回以用于流式传输到文件请求方。文件的快速访问部分可以存储在快速访问存储系统中,并且文件的慢速访问部分或整个文件可以存储在慢速访问存储系统中。
在示例性场景中,基于云的文件存储方案可以通过将文件划分为快速访问部分和慢速访问部分来平衡文件访问和存储。快速访问部分可以存储在诸如本地文件存储之类的快速访问存储系统中。慢速访问部分可以存储在诸如外部文件存储之类的慢速访问存储系统中。替代地,整个文件可以存储在慢速访问存储系统中。取回慢速访问部分(或整个文件)可能比访问快速访问部分花费更长的时间。因此,在接收到针对文件的请求时,可以开始取回慢速访问部分(或整个文件)以在流式传输快速访问部分之后继续将文件流式传输到请求方。
响应于对文件的访问请求,可以提供文件的快速访问部分。可以从快速访问存储系统取回文件的快速访问部分并将其流式传输到请求方。接着,可以在提供文件的快速访问部分(或整个文件)的同时从慢速访问存储系统取回文件的慢速访问部分(或整个文件)以进行提供。与慢速访问存储系统(例如基于硬盘或磁带的存储解决方案)相比,快速访问存储系统的另一示例可以包括基于固态驱动器的存储解决方案。还可以基于取回由系统存储的各个部分的访问滞后来区分快速访问存储系统和慢速访问存储系统。例如,快速访问存储系统可以在低于滞后阈值的访问滞后内提供文件的快速访问部分。慢速访问存储可以在超过滞后阈值的访问滞后内提供文件的慢速访问部分(或整个文件)。
在一些示例中,来自客户端应用的通知可以用于预先获取存储在慢速访问存储系统中的文件的慢速访问部分或整个文件。这可以包括对服务的推断或显式通知。对于显式通知,示例性场景可以包括在计算机上新安装云存储服务的同步客户端应用。如果客户端应用知道它将下拉用户已经存储在存储服务中的所有内容,则它可以向服务发信号通知服务应该执行来自慢速访问存储系统的所有数据的提取。
在以下详细描述中,参考形成该详细描述的一部分的附图,并且在附图中通过说明、特定实施例或示例来示出。可以组合这些方面,可以利用其它方面,并且可以在不脱离本公开内容的精神或范围的情况下做出结构性改变。因此,以下详细描述不应被视为是限制性的,并且本发明的范围由所附权利要求及其等效方案来限定。
虽然将在结合在个人计算机上的操作系统上运行的应用程序来执行的程序模块的一般上下文中描述一些实施例,但是本领域技术人员将认识到,也可以与其它程序模块组合地实现各方面。
通常,程序模块包括例程、程序、组件、数据结构、以及执行特定任务或实现特定抽象数据类型的其它类型的结构。此外,本领域技术人员将意识到,可以利用其它计算机系统配置来实现各实施例,包括手持设备、微处理器系统、基于微处理器或可编程消费电子产品、小型计算机、大型计算机、以及类似的计算设备。还可以在分布式计算环境中实现各实施例,其中由通过通信网络链接的远程处理设备来执行各任务。在分布式计算环境中,程序模块可以位于本地和远程存储器存储设备两者中。
一些实施例可以被实现为计算机实现的过程(方法)、计算系统、或者被实现为制品,例如计算机程序产品或计算机可读介质。计算机程序产品可以是可由计算机系统读取的计算机存储介质,并且编码有包括指令的计算机程序,这些指令用于使得计算机或计算系统执行示例性过程。计算机可读存储介质是计算机可读存储器设备。例如,计算机可读存储介质可以经由以下各项中的一项或多项来实现:易失性计算机存储器、非易失性存储器、硬盘驱动器、闪存驱动器、软盘、或压缩盘、以及类似的硬件介质。
贯穿该说明书,术语“平台”可以是用于在不同存储系统中提供对大文件的部分存储的软件和硬件组件的组合。平台的示例包括但不限于在多个服务器上执行的托管服务、在单个计算设备上执行的应用、以及类似系统。术语“服务器”通常是指执行通常在联网环境中的一个或多个软件程序的计算设备。然而,服务器也可以被实现为在一个或多个计算设备上执行的虚拟服务器(软件程序),该服务器被视为网络上的服务器。以下提供关于这些技术和示例性操作的更多细节。
图1是根据各实施例示出了在不同存储系统中提供对大文件的部分存储的示例的概念图。
在示图100中,服务器108可以执行存储服务102。服务器108可以包括向客户端设备提供服务和/或应用的物理服务器。服务可以包括应用执行相对于客户端应用和/或用户的操作等等。服务器108可以包括和/或是工作站、数据仓库、数据中心和/或基于云的分布式计算源等等的一部分。
服务器108可以执行存储服务102。存储服务102可以发起操作以通过确定文件105的快速访问部分114和慢速访问部分118来存储大文件。文件的示例可以包括视频文件、音频流、压缩文件容器等等。文件105的快速访问部分114可以是文件105的用于将文件105流式传输到文件请求方110的头部,而文件105的慢速访问部分118(诸如尾部)可以被取回以用于流式传输到文件请求方110。文件105的快速访问部分114可以存储在快速访问存储系统112中。文件105的慢速访问部分118可以存储在慢速访问存储系统116中。替代地,整个文件105可以存储在慢速访问存储系统116中。
在示例性场景中,存储服务102可以作为基于云的文件存储方案的一部分在物理服务108中执行。存储服务102可以通过将文件105划分为快速访问部分114和慢速访问部分118来平衡文件访问和存储。快速访问部分114可以存储在快速访问存储系统112中,例如本地文件存储。慢速访问部分118(或整个文件105)可以存储在慢速访问存储系统116中,例如外部文件存储。取回慢速访问部分118(或整个文件105)可能比访问快速访问部分114花费更长的时间。因此,在接收到针对文件105的请求时,可以开始取回慢速访问部分118(或整个文件105)以在流式传输快速访问部分114之后继续将文件流式传输到文件请求方110。快速和慢速访问部分(114和118)可以流式传输到在客户端设备104上执行的客户端应用103,以将文件105提供给文件请求方110。
存储服务102可以选择将文件105划分为慢速和快速访问部分(114和118)。例如,存储服务102可以将视频流、压缩文件容器、以及其他文件划分为慢速和快速访问部分(114和118)。
响应于对文件105的访问请求,可以提供文件105的快速访问部分114。可以从快速访问存储系统112(例如本地存储)取回文件105的快速访问部分114,并将其流式传输到文件请求方110。接着,可以在提供文件105的快速访问部分114的同时从慢速访问存储系统116取回文件105的慢速访问部分118以进行提供。替代地,整个文件105可以存储在慢速访问存储系统116中,并在接收到用于流式传输的文件请求时被取回。可以结合文件105的快速访问部分114流式传输整个文件105。替代地,如果由慢速访问存储系统提供的下载带宽足以解决文件请求,则可以从慢速访问存储系统取回整个文件105并进行流式传输而不使用文件105的快速访问部分114。
快速访问存储系统112的另一示例可以包括基于固态驱动器的存储解决方案,与慢速访问存储系统116(例如基于硬盘或磁带的存储解决方案)相比,基于固态驱动器的存储解决方案提供对文件105的快速访问部分114的按需访问。还可以基于取回由系统存储的各个部分的访问滞后来区分快速访问存储系统112和慢速访问存储系统116。例如,快速访问存储系统112可以在低于滞后阈值的访问滞后内提供文件105的快速访问部分114。慢速访问存储系统116可以在超过滞后阈值的访问滞后内提供文件105的慢速访问部分118。
服务器108可以通过网络与客户端设备104和/或客户端设备113通信。网络可以在网络节点(例如客户端设备104和/或服务器108等等)之间提供有线或无线通信。在不同存储系统中提供对大文件的部分存储的先前示例不是在限制意义上提供的。替代地,存储服务102可以将文件105的快速和慢速访问部分(114和118)提供为桌面应用、工作站应用、和/或服务器应用等等。客户端应用103还可以包括存储服务102的客户端接口。
文件请求方110可以分别利用基于键盘的输入、基于鼠标的输入、基于语音的输入、基于笔的输入和基于手势的输入等等来与客户端应用103交互。基于手势的输入可以包括一个或多个基于触摸的动作,例如触摸动作、轻扫动作以及每个动作的组合等等。
虽然已经使用包括服务器108、存储服务102的特定组件描述了图1中的示例性系统,但是各实施例不限于这些组件或系统配置,并且可以利用采用更少或另外组件的其他系统配置来实现各实施例。
图2是根据实施例示出了存储服务的示例性组件的显示图,该存储服务在不同存储系统中提供对大文件的部分存储。
如示图200中所示出的,存储服务202的推断引擎211可以确定文件205的快速访问部分204和文件205的慢速访问部分206。存储服务202的推断引擎211和存储引擎213可以通过划分文件205以在不同存储解决方案中存储快速和慢速访问部分(204和206)、基于性能和资源消耗需求来平衡访问与存储。推断引擎211可以选择基于文件205的大小和文件205的最后访问时间来划分文件205。例如,存储引擎213可以在检测到文件205的大小超过文件大小阈值(例如10MB、100MB和/或1GB等等)时将文件205划分为快速和慢速访问部分(204和206)。替代地,快速访问部分204和文件205可以存储在不同的存储解决方案中。
快速访问部分204可以存储在快速访问存储系统212中。快速访问存储系统212的示例可以包括按需提供快速访问部分204的本地存储解决方案。例如,响应于针对文件205的文件请求,存储引擎213可以从快速访问存储系统212取回快速访问部分204,并且在取回慢速访问部分206(或者来自慢速访问存储系统216的文件205)的同时开始流式传输快速访问部分204。
慢速访问部分206(或文件205)可以存储在慢速访问存储系统216中,以在托管文件205时节省存储资源。例如,慢速访问存储系统216可以包括具有大量存储容量的外部存储解决方案,该解决方案降低了托管文件205的成本。然而,由于访问慢速访问部分206时所涉及的滞后,慢速访问存储系统216可以提供对慢速访问部分206(或文件205)的有限和/或受限访问。作为混合托管解决方案,推断引擎211可以(在文件请求时)流式传输文件205的快速访问部分204,同时在流式传输快速访问部分204时取回慢速访问部分206(或文件205)以供传递。
快速访问存储系统212的示例可以包括基于固态驱动器、raid阵列等等的存储解决方案。慢速访问存储系统216的示例可以包括基于硬盘驱动器和/或基于磁带的解决方案等等的存储解决方案。快速和慢速访问存储系统(212和216)可以包括分布式存储解决方案,例如基于云的系统。
在示例性场景中,在提供慢速访问部分206(或文件205)时,存储引擎213可以响应于在预期访问时段之前检测到针对文件的一个或多个访问请求而将慢速访问部分206(或文件205)在快速访问存储系统212中存储预期访问时段。预期访问时段可以是基于使用需求或与访问文件205相关联的系统设置的静态或动态值。响应于在快速访问存储系统212中存储慢速访问部分206(或文件205)之后在预期访问时段内没有检测到针对文件的访问请求,慢速访问部分206(或文件205)可以存储在慢速访问存储系统216中。
图3是根据实施例示出了用于在不同存储系统中提供对大文件的部分存储的方案的组件的显示图。
如示图300中所示出的,存储服务302的推断引擎311和存储引擎313可以与客户端应用303建立预期传递连接320以用于在接收到文件请求时传递文件305。可以管理预期传递连接320以维持预期传递连接320并防止断开连接失败。还可以管理预期传递连接320以提供对文件305的不间断传递。例如,可以维持流比特率以向客户端应用303提供视频文件的不间断流(作为文件305)。
在示例性场景中,存储引擎313可以调节文件305的快速访问部分304和慢速访问部分306(或整个文件305)的传递速度322,以使得不能检测到传递的延迟。例如,推断引擎311可以识别用于提供文件305的不间断传递的最小速度阈值326。文件305的不间断传递的示例可以取决于文件305的最小流式传输速度属性和预期传递连接320的带宽。文件的示例可以包括音频文件、视频文件和/或文件容器等等。如果通过预期传递连接320的传递速度322下降到低于最小速度阈值326,则客户端应用303可以丢弃预期传递连接320。为了防止这种场景,传递速度322可以与最小速度阈值326匹配,以维持预期传递连接320。
推断引擎311可以确定文件305相对于文件请求方的快速和慢速访问部分(304和306)。推断引擎311可以基于文件305的属性来推断文件请求方。例如,文件所有者(文件305的属性)可以被推断为文件请求方。替代地,可以将最后访问文件305的实体推断为文件请求方。文件请求方还可以包括客户端应用303。接着,可以测量预期传递连接320的带宽,以便将文件305提供给文件请求方。在分别存储在快速访问存储系统312和慢速访问存储系统316中之前,可以基于预期传递连接320的带宽来调节文件305的快速访问部分304和慢速访问部分306的大小。
例如,响应于检测到预期传递连接320的带宽超过带宽阈值,可以减小文件的快速访问部分的传递速度322以允许文件305的慢速访问部分306的缓冲区载入。还可以增加文件305的慢速访问部分306的缓冲区,以通过增加慢速访问部分306的传递速度322来利用带宽。文件305的慢速访问部分306的传递速度322可以增加,这是因为增加的缓冲区可以更长时间地维持增加的传递速度。
替代地,响应于检测到预期传递连接320的带宽下降到带宽阈值以下,可以增加文件305的快速访问部分304的传递速度322,因为较小的带宽可以减少针对文件305的慢速访问部分306的缓冲区的需求。还可以减小文件305的慢速访问部分306的缓冲区,因为较小的带宽可以减少针对文件305的慢速访问部分306的缓冲区的需求。
在另一种场景中,如果存储服务302完成将文件305的慢速访问部分306加载到缓冲区,则存储服务302可以增加慢速访问部分306的缓冲区的传递速度322以用于尽可能快地将慢速访问部分306传递到客户端应用303。可以增加文件305的慢速访问部分306的缓冲区的传递速度322以便与预期传递连接320的可用带宽匹配。
图4是根据实施例示出了由被配置为在不同存储系统中提供对大文件的部分存储的存储服务进行的错误处理的显示图。
如示图400中所示出的,存储服务402的推断引擎411可以检测对访问文件405的慢速访问部分406的未经传递部分412的尝试。例如,文件请求方可以尝试快进到视频文件的存储引擎413尚未流式传输到客户端应用403的慢速访问部分406内的一部分。在此类场景中,存储引擎413可以生成错误通知414,该错误通知414描述了传递文件405的慢速访问部分406的未经传递部分412的失败。可以将错误通知414提供给客户端应用403以呈现给文件请求方。存储引擎413还可以在错误通知414内包括用于传递文件405的慢速访问部分406的未经传递部分412的剩余时间。
此外,推断引擎411可以检测文件405的慢速访问部分406的一部分内的元数据418。与文件405相关联的元数据对于客户端应用程403可能是重要的,以使用与文件405相关联的过程准确地流式传输和加载文件405。因此,元数据418可能在慢速访问部分406中被错误放置。响应于检测到慢速访问部分406中的元数据418,文件405的慢速访问部分406的该部分(封装元数据418)可以快速地从慢速访问存储系统移动到快速访问存储系统内的快速访问部分404。
此外,推断引擎411还可以基于针对文件405的访问请求来推断对其他文件的预期访问请求。可以分析与文件请求方相关联的使用模式来推断另外的访问请求。响应于该推断,存储服务402的存储引擎413可以从慢速访问存储系统取回其他文件的其他慢速访问部分,以将其他文件的其他慢速访问部分提供给文件请求方。可以通知慢速访问存储系统以发送其他文件的慢速访问部分。例如,推断引擎411可以基于文件405以及其它文件存储在相同文件夹中来推断针对其它文件的预期访问请求。
如上面所讨论的,可以采用存储服务来执行操作以自动化在不同存储系统中对大文件的部分存储。由于通过快速访问存储系统存储和访问文件的快速访问部分以及通过慢速访问存储系统存储和访问文件的慢速访问部分,可以发生存储服务102的性能和效率提高。可以将文件的慢速访问部分的长期存储委托给慢速访问存储系统,以在快速访问存储系统处保存存储资源,同时通过文件的快速访问部分按需提供对文件的访问。另外,由存储服务102提供文件的快速和慢速访问部分可以减少处理器负载、提高处理速度、节省存储器并减少网络带宽使用。
如本文所述,各实施例解决了由于缺乏效率而产生的在不同存储系统中提供对大文件的部分存储的需求。本文所描述的动作/操作不仅仅是计算机的使用,而是讨论作为提供给大量用户和应用的服务的软件的直接后果的结果。
利用特定的组件、数据类型和配置示出了图1到图4中的示例性场景和模式。各实施例不限于根据这些示例性配置的系统。在不同存储系统中提供对大文件的部分存储可以在应用和用户接口中采用较少或另外组件的配置中实现。此外,图1到图4中所示出的示例性模式和组件及其子组件可以使用本文所描述的原理,用与其他值类似的方式来实现。
图5是可以实现实施例的示例性联网环境。被配置为提供对大文件的部分存储的存储服务可以经由在一个或多个服务器514(例如托管服务)上执行的软件来实现。平台可以通过网络510与各个计算设备(例如智能电话513、移动计算机512或台式计算机511(“客户端设备”)上的客户端应用进行通信。
在任何客户端设备511-513上执行的客户端应用可以促进经由服务器514或在个体服务器516上执行的应用的通信。存储服务可以确定文件的快速访问部分和慢速访问部分。文件的快速访问部分可以存储在快速访问存储系统中,并且文件的慢速访问部分或整个文件可以存储在慢速访问存储系统中。响应于对文件的访问请求,可以提供文件的快速访问部分。接着,可以在提供文件的快速访问部分的同时从慢速访问存储系统取回文件的慢速访问部分以进行提供。存储服务可以直接或通过数据库服务器518将与文件相关联的数据存储在数据存储519中。
网络510可以包括服务器、客户端、互联网服务提供商、以及通信介质的任何拓扑。根据各实施例的系统可以具有静态或动态拓扑。网络510可以包括安全网络(例如企业网络),不安全网络(例如无线开放网络、或互联网)。网络510还可以协调通过其他网络(例如公共交换电话网(PSTN)或蜂窝网络)的通信。此外,网络510可以包括短距离无线网络,例如蓝牙或类似的无线网络。网络510提供本文所描述的各节点之间的通信。举例而言而非限制,网络510可以包括无线介质,例如声学、RF、红外和其它无线介质。
可以采用计算设备、应用、数据源和数据分发系统的许多其他配置来在不同存储系统中提供对大文件的部分存储。此外,图5中所讨论的联网环境仅是出于说明目的。各实施例不限于示例性应用、模块或过程。
图6是根据实施例的示例性计算设备的框图,该示例性计算设备可以用于在不同存储系统中提供对大文件的部分存储。
例如,计算设备600可以用作为服务器、台式计算机、便携式计算机、智能电话、专用计算机、或类似设备。在示例性基本配置602中,计算设备600可以包括一个或多个处理器604和系统存储器606。存储器总线608可以用于在处理器604与系统存储器606之间进行通信。基本配置602在图6中可以由内部虚线内的那些组件示出。
取决于期望配置,处理器604可以是任何类型,包括但不限于微处理器(μP)、微控制器(μC)、数字信号处理器(DSP)、或者其任意组合。处理器604可以包括一级或多级高速缓存,例如级高速缓存存储器612、一个或多个处理器核614、以及寄存器616。示例性处理器核614可以(均)包括算术逻辑单元(ALU)、浮点单元(FPU)、数字信号处理核(DSP核)、或者其任意组合。示例性存储器控制器618也可以与处理器604一起使用,或者在一些实现方式中,存储器控制器618可以是处理器604的内部部分。
取决于期望配置,系统存储器606可以是任何类型,包括但不限于易失性存储器(例如RAM)、非易失性存储器(例如ROM、闪存等等)、或者其任意组合。系统存储器606可以包括操作系统620、存储服务622、以及程序数据624。存储服务622可以包括诸如推断引擎626和存储引擎627之类的组件。推断引擎626和存储引擎627可以执行与存储服务622相关联的过程。推断引擎626可以确定文件的快速访问部分的慢速访问部分。存储引擎627可以将文件的快速访问部分存储在快速访问存储系统中,并将文件的慢速访问部分(或整个文件)存储在慢速访问存储系统中。响应于对文件的访问请求,可以提供文件的快速访问部分。接着,可以在提供文件的快速访问部分的同时从慢速访问存储系统取回文件的慢速访问部分。
可以通过与计算设备600相关联的通信模块来发送对存储服务622的输入和输出。通信模块的示例可以包括可以通信地耦合到计算设备600的通信设备666。通信模块可以提供有线和/或无线通信。除了其他数据之外,程序数据624还可以包括文件数据628等等,如本文所述。文件数据628可以包括快速访问部分和/或慢速访问部分等等。
计算设备600可以具有另外的特征或功能、以及另外的接口来促进基本配置602与任何期望的设备和接口之间的通信。例如,总线/接口控制器630可以用于经由存储接口总线634来促进基本配置602与一个或多个数据存储设备632之间的通信。数据存储设备632可以是一个或多个可移动存储设备636、一个或多个不可移动存储设备638、或者其组合。可移动存储设备和不可移动存储设备的示例可以包括磁盘设备(例如,软盘驱动器和硬盘驱动器(HDD))、光盘驱动器(例如压缩盘(CD)驱动器或数字多功能光盘(DVD)驱动器)、固态驱动器(SSD)、以及磁带驱动器,举一些示例。示例性计算机存储介质可以包括用任何用于存储信息(例如,计算机可读指令、数据结构、程序模块或其它数据)的方法或技术实现的易失性和非易失性、可移动和不可移动介质。
系统存储器606、可移动存储设备636和不可移动存储设备638是计算机存储介质的示例。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或其它存储器技术、CD-ROM、数字多功能光盘(DVD)、固态驱动器、或其它光盘存储、盒式磁带、磁带、磁盘存储或其它磁存储设备、或者可以用于存储期望信息并且可以由计算设备600访问的任何其它介质。任何此类计算机存储介质可以是计算设备600的一部分。
计算设备600还可以包括接口总线640以用于经由总线/接口控制器630来促进从各种接口设备(例如,一个或多个输出设备642、一个或多个外围接口644、以及一个或多个通信设备666)到基本配置602的通信。示例性输出设备642中的一些输出设备包括图形处理单元648和音频处理单元650,该图形处理单元648和音频处理单元650可以被配置为:经由一个或多个A/V端口652与各种外部设备(例如显示器或扬声器)进行通信。一个或多个示例性外围接口644可以包括串行接口控制器654或并行接口控制器656,该串行接口控制器654或并行接口控制器656可以被配置为:经由一个或多个I/O端口858来与诸如输入设备(例如,键盘、鼠标、笔、语音输入设备、触摸输入设备等等)或其它外围设备(例如,打印机、扫描仪等等)之类的外部设备进行通信。通信设备666的示例包括网络控制器660,该网络控制器660可以被布置为:经由一个或多个通信端口664促进在网络通信链路上与一个或多个其它计算设备662的通信。该一个或多个其它计算设备662可以包括服务器、计算设备、以及类似设备。
网络通信链路可以是通信介质的一个示例。通信介质通常可以由计算机可读指令、数据结构、程序模块或经调制数据信号中的其它数据(诸如载波或其它传输机制)来体现,并且可以包括任何信息传递介质。术语“经调制数据信号”意指如下信号,该信号以使得将信息编码到该信号中的方式来设置或改变该信号的一个或多个特性。举例而言而非限制,通信介质可以包括有线介质(例如,有线网络或直接有线连接)和无线介质(例如,声学、射频(RF)、微波、红外(IR)和其它无线介质)。如本文所使用的术语计算机可读介质可以包括存储介质和通信介质两者。
计算设备600可以被实现为通用或专用服务器、大型机、或包括任何上述功能的类似计算机的一部分。计算设备600还可以被实现为包括膝上型计算机和非膝上型计算机配置两者的个人计算机。另外,计算设备600可以包括专用硬件,例如专用集成电路(ASIC)、现场可编程门阵列(FPGA)、可编程逻辑设备(PLD)和/或集成电路(IC)上的自由形式逻辑等等。
示例性实施例还可以包括用于在不同存储系统中提供对大文件的部分存储的方法。这些方法可以用任何数量的方式(包括本文所描述的结构)来实现。一种此类方式可以是通过对本公开内容中所描述的类型的设备的机器操作。另一种可选方式可以是结合一个或多个人类操作者来执行各方法的各个操作中的一个或多个操作,这些人类操作者执行一些操作,而其它操作可以由机器执行。这些人类操作者不需要彼此共置,但是每个操作者可以仅处理执行程序的一部分的机器。在其它实施例中,可以例如通过可以是机器自动化的预先选择的标准来自动化人类交互。
图7是根据实施例示出了用于在不同存储系统中提供对大文件的部分存储的过程的逻辑流程图。过程700可以在诸如计算设备600或另一系统的计算设备上实现。
过程700开始于操作710,在操作710处存储服务可以确定文件的快速访问部分和慢速访问部分。可以基于经预测连接的带宽来确定快速和慢速访问部分的大小。快速访问部分的大小可以随着带宽的增加或减小而增加或减小,而慢速访问部分的大小减小或增加。接着,在操作720处,文件的快速访问部分可以存储在快速访问存储系统中,并且文件的慢速访问部分(或整个文件)可以存储在慢速访问存储系统中。
在操作730处,存储服务可以接收针对文件的访问请求。在操作740处,可以从快速访问存储系统提供文件的快速访问部分以开始流式传输文件。在操作750处,可以在提供文件的快速访问部分的同时从慢速访问存储系统取回文件的慢速访问部分。在流式传输文件的快速访问部分时,也可以流式传输文件的慢速访问部分。
过程700中所包括的操作用于说明目的。在不同存储系统中提供对大文件的部分存储可以通过具有更少或另外步骤的类似过程以及使用本文所描述的原理的不同操作顺序来实现。可以由在一个或多个计算设备上操作的一个或多个处理器、一个或多个处理器核、专用处理设备和/或通用处理设备以及其它示例来执行本文所描述的操作。
在一些示例中,描述了一种在计算设备上执行以在不同存储系统中提供对大文件的部分存储的方法。该方法包括:确定文件的快速访问部分和慢速访问部分;将文件的快速访问部分存储在快速访问存储系统中,并将文件的慢速访问部分和整个文件中的一者存储在慢速访问存储系统中;接收对文件的访问请求;从快速访问存储系统提供文件的快速访问部分;以及在提供文件的快速访问部分的同时从慢速访问存储系统取回文件的慢速访问部分以进行提供。
在其它示例中,该方法还包括:调节文件的快速访问部分的传递速度,以使得当该快速访问部分完成时慢速访问部分大致全部取回。该方法还包括:确定用于提供文件的快速访问部分和文件的慢速访问部分的最小速度阈值;以及调节文件的快速访问部分和慢速访问部分的传递速度以便与最小速度阈值匹配。调节文件的快速访问部分和慢速访问部分的传递速度包括:通过减小快速访问部分的传递速度来与最小速度阈值匹配;在传递快速访问部分时缓冲慢速访问部分;以及以与最小速度阈值匹配的传递速度来发送经缓冲的慢速访问部分。该方法还包括:标识文件的最小流式传输速度属性,其中文件包括音频文件和视频文件中的一个;以及将最小速度阈值配置为与最小流式传输速度匹配。
在另外的示例中,该方法还包括:至少基于文件的大小和文件的最后访问时间来将文件的快速访问部分存储在快速访问存储系统中并将文件的慢速访问部分和整个文件中的一者存储在慢速访问存储系统中。该方法还包括:基于文件的属性来推断文件请求方;确定用于向文件请求方提供文件的预期传递连接的带宽;以及基于预期传递连接的带宽来调节文件的用于存储在快速访问存储系统中的快速访问部分以及文件的用于存储在慢速访问存储系统中的慢速访问部分的大小。该方法还包括:确定预期传递连接的带宽将超过带宽阈值;减小文件的快速访问部分的传递速度;以及增加文件的慢速访问部分的缓冲区。该方法还包括:确定预期传递连接的带宽将降至低于带宽阈值;增加文件的快速访问部分的传递速度;以及减小文件的慢速访问部分的缓冲区。
在其它示例中,该方法还包括:在预期访问时段之前检测对文件的至少一个访问请求;以及将文件的慢速访问部分存储在快速访问存储系统中。该方法还包括:在将文件的慢速访问部分存储在快速访问存储系统中之后在预期访问时段内没有检测到对文件的访问请求;以及将文件的慢速访问部分存储在慢速访问存储系统中。
在一些示例中,描述了一种被配置为在不同存储系统中提供对大文件的部分存储的服务器。该服务器包括:通信模块,该通信模块被配置为促进存储服务与文件被本地地存储在其上的一个或多个设备之间的通信;被配置为存储指令的存储器;以及耦合到该存储器和该通信模块的处理器。处理器结合存储在存储器中的指令来执行存储服务。存储服务包括推断引擎和存储引擎。该推断引擎被配置为:确定针对文件的预期访问时段;以及至少基于文件的大小和文件的预期访问时段来确定文件的快速访问部分和慢速访问部分。存储引擎被配置为:将文件的快速访问部分存储在快速访问存储系统中,并将文件的慢速访问部分和整个文件中的一者存储在慢速访问存储系统中;接收对文件的访问请求;从快速访问存储系统提供文件的快速访问部分;在提供文件的快速访问部分的同时从慢速访问存储系统取回文件的慢速访问部分以进行提供;以及提供慢速访问部分以使得不能检测到传递延迟。
在其它示例中,推断引擎还被配置为:基于针对文件的访问请求来推断针对另一文件的预期访问请求。存储引擎还被配置为:从慢速访问存储系统取回该另一文件的慢速访问部分。推断引擎还被配置为:基于文件和该另一文件存储在相同文件夹中来推断针对该另一文件的预期访问请求。推断引擎还被配置为:检测对文件的慢速访问部分的未经传递部分的访问尝试;生成错误通知;以及提供该错误通知。该错误通知包括用于传递文件的慢速访问部分的未经传递部分的剩余时间。推断引擎还被配置为:检测用于传输文件的快速访问部分和文件的慢速访问部分的可用带宽;以及基于该可用带宽来增加文件的快速访问部分和文件的慢速访问部分的传递速度。
在一些示例中,描述了一种在计算设备上执行以在不同存储系统中提供对大文件的部分存储的方法。该方法包括:确定文件的要存储在两个或更多个存储系统中的两个或更多个部分;确定用于整个文件的预期传递速度;基于用于整个文件的预期传递速度来将文件的该两个或更多个部分存储在该两个或更多个存储系统中;接收对文件的访问请求;与该两个或更多个存储系统中的剩余部分相比以较快的访问速度来从该两个或更多个存储系统中的一个存储系统提供文件的该两个或更多个部分中的一个部分;以及在提供文件的该两个或更多个部分中的该一个部分的同时,与该两个或更多个存储系统中的该一个存储系统相比以较慢的访问速度来从该两个或更多个存储系统中的剩余部分取回文件的该两个或更多个部分中的剩余部分。
在其它示例中,文件的该两个或更多个部分中的该一个部分是该文件的头部。文件的该两个或更多个部分中的剩余部分至少包括该文件的中部和尾部。
在一些示例中,描述了一种用于在不同存储系统中提供对大文件的部分存储的单元。用于在不同存储系统中提供对大文件的部分存储的该单元包括:用于确定文件的快速访问部分和慢速访问部分的单元;用于将文件的快速访问部分存储在快速访问存储系统中,并将文件的慢速访问部分和整个文件中的一者存储在慢速访问存储系统中的单元;用于接收对文件的访问请求的单元;用于从快速访问存储系统提供文件的快速访问部分的单元;以及用于在提供文件的快速访问部分的同时从慢速访问存储系统取回文件的慢速访问部分以进行提供的单元。
上述说明书、示例和数据提供了对各实施例的组合物的制造和使用的完整描述。虽然以特定于结构特征和/或方法动作的语言描述了主题内容,但应理解,所附权利要求中定义的主题内容并不一定限于上述特定特征或动作。相反,上述的特定特征和动作是作为实现各权利要求和实施例的示例形式而公开的。

Claims (10)

1.一种在计算设备上执行以在不同存储系统中提供对大文件的部分存储的方法,所述方法包括:
确定文件的快速访问部分和慢速访问部分;
将所述文件的所述快速访问部分存储在快速访问存储系统中,并将所述文件的所述慢速访问部分和整个所述文件中的一者存储在慢速访问存储系统中;
接收对所述文件的访问请求;
从所述快速访问存储系统提供所述文件的所述快速访问部分;以及
在提供所述文件的所述快速访问部分的同时从所述慢速访问存储系统取回所述文件的所述慢速访问部分以进行提供。
2.根据权利要求1所述的方法,还包括:
确定用于提供所述文件的所述快速访问部分和所述文件的所述慢速访问部分的最小速度阈值;以及
调节所述文件的所述快速访问部分和所述慢速访问部分的传递速度以与所述最小速度阈值匹配。
3.根据权利要求2所述的方法,其中,调节所述文件的所述快速访问部分和所述慢速访问部分的传递速度包括:
通过减小所述快速访问部分的传递速度来与所述最小速度阈值匹配;
在传递所述快速访问部分时缓冲所述慢速访问部分;以及
以与所述最小速度阈值匹配的传递速度来发送经缓冲的慢速访问部分。
4.根据权利要求1所述的方法,还包括:
基于所述文件的属性来推断文件请求方;
确定用于向所述文件请求方提供所述文件的预期传递连接的带宽;以及
基于所述预期传递连接的带宽来调节用于存储在所述快速访问存储系统中的所述文件的所述快速访问部分的大小以及用于存储在所述慢速访问存储系统中的所述文件的所述慢速访问部分的大小。
5.根据权利要求4所述的方法,还包括:
确定所述预期传递连接的带宽将超过带宽阈值;
减小所述文件的所述快速访问部分的传递速度;以及
增加所述文件的所述慢速访问部分的缓冲区。
6.根据权利要求1所述的方法,还包括:
在预期访问时段之前检测对所述文件的至少一个访问请求;
将所述文件的所述慢速访问部分存储在所述快速访问存储系统中;
在将所述文件的所述慢速访问部分存储在所述快速访问存储系统中之后在所述预期访问时段内没有检测到对所述文件的访问请求;以及
将所述文件的所述慢速访问部分存储在所述慢速访问存储系统中。
7.一种被配置为在不同存储系统中提供对大文件的部分存储的服务器,所述服务器包括:
通信模块,所述通信模块被配置为:促进存储服务与文件被本地地存储在其上的一个或多个设备之间的通信;
被配置为存储指令的存储器;以及
处理器,所述处理器耦合到所述存储器和所述通信模块,所述处理器结合存储在所述存储器中的所述指令来执行所述存储服务,其中,所述存储服务包括:
推断引擎,所述推断引擎被配置为:
确定针对所述文件的预期访问时段;
至少基于所述文件的大小和所述文件的所述预期访问时段来确定所述文件的快速访问部分和慢速访问部分;存储引擎,所述存储引擎被配置为:
将所述文件的所述快速访问部分存储在快速访问存储系统中,
并将所述文件的所述慢速访问部分和整个所述文件中的一者存储在慢速访问存储系统中;
接收对所述文件的访问请求;
从所述快速访问存储系统提供所述文件的所述快速访问部分;
在提供所述文件的所述快速访问部分的同时从所述慢速访问存储系统取回所述文件的所述慢速访问部分以进行提供;以及
提供所述慢速访问部分以使得不能检测到传递延迟。
8.根据权利要求7所述的服务器,其中
所述推断引擎还被配置为:
基于针对所述文件的访问请求来推断针对另一文件的预期访问请求;以及
所述存储引擎还被配置为:
从所述慢速访问存储系统取回所述另一文件的慢速访问部分。
9.根据权利要求7所述的服务器,其中,所述推断引擎还被配置为:
检测对所述文件的所述慢速访问部分的未经传递部分的访问尝试;
生成错误通知;以及
提供所述错误通知。
10.一种在计算设备上执行以在不同存储系统中提供对大文件的部分存储的方法,所述方法包括:
确定要存储在两个或更多个存储系统中的文件的两个或更多个部分;
确定用于整个所述文件的预期传递速度;
基于用于整个所述文件的预期传递速度来将所述文件的所述两个或更多个部分存储在所述两个或更多个存储系统中;
接收对所述文件的访问请求;
与所述两个或更多个存储系统中的剩余部分相比以较快的访问速度来从所述两个或更多个存储系统中的一个存储系统提供所述文件的所述两个或更多个部分中的一个部分;以及
在提供所述文件的所述两个或更多个部分中的所述一个部分的同时,与所述两个或更多个存储系统中的所述一个存储系统相比以较慢的访问速度来从所述两个或更多个存储系统中的所述剩余部分取回所述文件的所述两个或更多个部分中的剩余部分。
CN201780077615.6A 2016-12-14 2017-12-08 在不同存储系统中对大文件的部分存储 Active CN110168513B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/379,467 2016-12-14
US15/379,467 US10664170B2 (en) 2016-12-14 2016-12-14 Partial storage of large files in distinct storage systems
PCT/US2017/065211 WO2018111696A1 (en) 2016-12-14 2017-12-08 Partial storage of large files in distinct storage systems

Publications (2)

Publication Number Publication Date
CN110168513A true CN110168513A (zh) 2019-08-23
CN110168513B CN110168513B (zh) 2023-10-20

Family

ID=60888642

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201780077615.6A Active CN110168513B (zh) 2016-12-14 2017-12-08 在不同存储系统中对大文件的部分存储

Country Status (4)

Country Link
US (1) US10664170B2 (zh)
EP (1) EP3555767B1 (zh)
CN (1) CN110168513B (zh)
WO (1) WO2018111696A1 (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10419401B2 (en) * 2016-01-08 2019-09-17 Capital One Services, Llc Methods and systems for securing data in the public cloud
FR3075413B1 (fr) * 2017-12-20 2020-01-10 Bull Sas Procede de pre-chargement de donnees
US12058196B1 (en) * 2020-03-26 2024-08-06 Amazon Technologies, Inc. Data transfer timeout management
US20240004840A1 (en) * 2022-06-29 2024-01-04 State Farm Mutual Automobile Insurance Company Automatic file format conversion system

Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030163457A1 (en) * 2002-02-28 2003-08-28 Hitachi, Ltd. Storage system
US7124272B1 (en) * 2003-04-18 2006-10-17 Symantec Corporation File usage history log for improved placement of files in differential rate memory according to frequency of utilizations and volatility of allocation space
US20060259728A1 (en) * 2005-05-11 2006-11-16 Sashikanth Chandrasekaran Storing information on storage devices having different performance capabilities within a storage system
CN101101563A (zh) * 2007-07-23 2008-01-09 清华大学 基于海量数据分级存储系统的迁移管理方法
US20100017561A1 (en) * 2008-07-18 2010-01-21 Xueshi Yang Selectively accessing memory
CN102137157A (zh) * 2011-02-28 2011-07-27 浪潮(北京)电子信息产业有限公司 一种云存储系统及其实现方法
US20110264759A1 (en) * 2010-04-21 2011-10-27 Microsoft Corporation Optimized caching for large data requests
CN102906738A (zh) * 2010-06-24 2013-01-30 国际商业机器公司 混合存储服务器中的数据访问管理
US20140181039A1 (en) * 2012-12-21 2014-06-26 Zetta, Inc. Systems and methods for on-demand data storage
US20150160888A1 (en) * 2013-12-06 2015-06-11 Concurrent Ventures, LLC System and method for dynamically load balancing storage media devices based on a mid-range performance level
CN104881248A (zh) * 2015-05-11 2015-09-02 中国人民解放军国防科学技术大学 面向ssd的文件系统中自适应直接io加速方法
US20150271287A1 (en) * 2014-03-20 2015-09-24 International Business Machines Corporation Allocating network bandwidth to prefetch requests to prefetch data from a remote storage to cache in a local storage
US20160219092A1 (en) * 2015-01-26 2016-07-28 T-Mobile Usa, Inc. Adjusting Quality Level of Media Streaming

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4638424A (en) * 1984-01-12 1987-01-20 International Business Machines Corporation Managing data storage devices connected to a digital computer
US4871903A (en) * 1987-07-31 1989-10-03 General Electric Company Apparatus for rapidly accessing a large data base employing an optical disc reading system with multiple heads and track position compensation means
CA2130395C (en) * 1993-12-09 1999-01-19 David G. Greenwood Multimedia distribution over wide area networks
US6061733A (en) 1997-10-16 2000-05-09 International Business Machines Corp. Method and apparatus for improving internet download integrity via client/server dynamic file sizes
US6502106B1 (en) * 1999-03-25 2002-12-31 International Business Machines Corporation System, method, and program for accessing secondary storage in a network system
US7024485B2 (en) 2000-05-03 2006-04-04 Yahoo! Inc. System for controlling and enforcing playback restrictions for a media file by splitting the media file into usable and unusable portions for playback
US20030069881A1 (en) 2001-10-03 2003-04-10 Nokia Corporation Apparatus and method for dynamic partitioning of structured documents
US7657861B2 (en) * 2002-08-07 2010-02-02 Pact Xpp Technologies Ag Method and device for processing data
GB0306192D0 (en) 2003-03-18 2003-04-23 British Telecomm Data file splitting
US7908302B1 (en) 2004-09-17 2011-03-15 Symantec Operating Corporation In-place splitting and merging of files
US8064463B1 (en) * 2008-01-21 2011-11-22 Scott Andrew Selby Method and system for allocating resources within a data communications network
US8478945B2 (en) * 2010-02-01 2013-07-02 International Business Machines Corporation Dynamic management of destage tasks in a storage controller
WO2012005609A1 (en) 2010-07-08 2012-01-12 Blade Limited File transfer system
US8645437B2 (en) 2010-10-29 2014-02-04 At&T Intellectual Property I, L.P. System and method for providing fast startup of a large file delivery
US8909996B2 (en) 2011-08-12 2014-12-09 Oracle International Corporation Utilizing multiple storage devices to reduce write latency for database logging
WO2014151966A1 (en) 2013-03-15 2014-09-25 TotalZero, Inc. System and method for device-optimized transmission, rendering, editing and storing of files
US20140304384A1 (en) 2013-04-04 2014-10-09 Dropbox, Inc. Uploading large content items

Patent Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030163457A1 (en) * 2002-02-28 2003-08-28 Hitachi, Ltd. Storage system
US7124272B1 (en) * 2003-04-18 2006-10-17 Symantec Corporation File usage history log for improved placement of files in differential rate memory according to frequency of utilizations and volatility of allocation space
US20060259728A1 (en) * 2005-05-11 2006-11-16 Sashikanth Chandrasekaran Storing information on storage devices having different performance capabilities within a storage system
CN101101563A (zh) * 2007-07-23 2008-01-09 清华大学 基于海量数据分级存储系统的迁移管理方法
US20100017561A1 (en) * 2008-07-18 2010-01-21 Xueshi Yang Selectively accessing memory
US20110264759A1 (en) * 2010-04-21 2011-10-27 Microsoft Corporation Optimized caching for large data requests
CN102906738A (zh) * 2010-06-24 2013-01-30 国际商业机器公司 混合存储服务器中的数据访问管理
CN102137157A (zh) * 2011-02-28 2011-07-27 浪潮(北京)电子信息产业有限公司 一种云存储系统及其实现方法
US20140181039A1 (en) * 2012-12-21 2014-06-26 Zetta, Inc. Systems and methods for on-demand data storage
US20150160888A1 (en) * 2013-12-06 2015-06-11 Concurrent Ventures, LLC System and method for dynamically load balancing storage media devices based on a mid-range performance level
US20150271287A1 (en) * 2014-03-20 2015-09-24 International Business Machines Corporation Allocating network bandwidth to prefetch requests to prefetch data from a remote storage to cache in a local storage
US20160219092A1 (en) * 2015-01-26 2016-07-28 T-Mobile Usa, Inc. Adjusting Quality Level of Media Streaming
CN104881248A (zh) * 2015-05-11 2015-09-02 中国人民解放军国防科学技术大学 面向ssd的文件系统中自适应直接io加速方法

Also Published As

Publication number Publication date
EP3555767B1 (en) 2023-11-29
CN110168513B (zh) 2023-10-20
US10664170B2 (en) 2020-05-26
EP3555767A1 (en) 2019-10-23
US20180165018A1 (en) 2018-06-14
WO2018111696A1 (en) 2018-06-21

Similar Documents

Publication Publication Date Title
US10298721B2 (en) Method and system to determine a work distribution model for an application deployed on a cloud
US10785322B2 (en) Server side data cache system
AU2014235853B2 (en) Local server for synced online content management system
EP3080720B1 (en) Social-driven recaching of accessible objects
US20130073600A1 (en) Remote process execution management
US9712612B2 (en) Method for improving mobile network performance via ad-hoc peer-to-peer request partitioning
CN110168513A (zh) 在不同存储系统中对大文件的部分存储
KR20160014043A (ko) 네트워크 파일 액세스 프로토콜을 통한 효율적이고 프로그래매틱 메모리 액세스
US20140304384A1 (en) Uploading large content items
KR20170029503A (ko) 사설 콘텐츠 분배 네트워크
US20130073601A1 (en) Remote process execution management
WO2019128357A1 (zh) 图片请求方法、响应图片请求的方法及客户端
JP6243006B2 (ja) オンライン共有のためのクラウドサービスの統合
US9716666B2 (en) Process cage providing attraction to distributed storage
US20090327303A1 (en) Intelligent allocation of file server resources
US20160315997A1 (en) File transfer method, device, and system
US20130173752A1 (en) Apparatus and method of terminal using cloud system
US10616291B2 (en) Response caching
US9432238B2 (en) Communicating large amounts of data over a network with improved efficiency
KR101694301B1 (ko) 스토리지 시스템의 파일 처리 방법 및 그 방법에 따른 데이터 서버
WO2018217406A1 (en) Providing instant preview of cloud based file
US20160173399A1 (en) Adaptive compression
US10007612B2 (en) Systems and methods for pre-population of graphics image cache in virtual desktop environment
US20240305569A1 (en) Dynamic quality-of-service (qos) configuration and forecasting based on workload intent
CN114328272B (zh) 应用测试方法、装置、系统和电子设备

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
GR01 Patent grant
GR01 Patent grant