CN101027668A - 基于块映射表缓冲存储和虚拟文件***的可堆叠文件***模块的分布式存储结构 - Google Patents
基于块映射表缓冲存储和虚拟文件***的可堆叠文件***模块的分布式存储结构 Download PDFInfo
- Publication number
- CN101027668A CN101027668A CNA2005800238220A CN200580023822A CN101027668A CN 101027668 A CN101027668 A CN 101027668A CN A2005800238220 A CNA2005800238220 A CN A2005800238220A CN 200580023822 A CN200580023822 A CN 200580023822A CN 101027668 A CN101027668 A CN 101027668A
- Authority
- CN
- China
- Prior art keywords
- file
- memory
- memory device
- resource
- file system
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0866—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/21—Server components or server architectures
- H04N21/218—Source of audio or video content, e.g. local disk arrays
- H04N21/2181—Source of audio or video content, e.g. local disk arrays comprising remotely distributed storage units, e.g. when movies are replicated over a plurality of video servers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/21—Server components or server architectures
- H04N21/218—Source of audio or video content, e.g. local disk arrays
- H04N21/21815—Source of audio or video content, e.g. local disk arrays comprising local storage units
- H04N21/2182—Source of audio or video content, e.g. local disk arrays comprising local storage units involving memory arrays, e.g. RAID disk arrays
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/231—Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion
- H04N21/23109—Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion by placing content in organized collections, e.g. EPG data repository
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/231—Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion
- H04N21/2312—Data placement on disk arrays
-
- 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/0604—Improving or facilitating administration, e.g. storage management
- G06F3/0605—Improving or facilitating administration, e.g. storage management by facilitating the interaction with a user or administrator
-
- 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/0638—Organizing or formatting or addressing of data
- G06F3/0643—Management of files
-
- 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/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99941—Database schema or data structure
- Y10S707/99942—Manipulating data structure, e.g. compression, compaction, compilation
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99941—Database schema or data structure
- Y10S707/99944—Object-oriented database structure
- Y10S707/99945—Object-oriented database structure processing
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99951—File or database maintenance
- Y10S707/99952—Coherency, e.g. same view to multiple users
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99951—File or database maintenance
- Y10S707/99952—Coherency, e.g. same view to multiple users
- Y10S707/99953—Recoverability
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
一种分布式存储结构和分层缓冲存储***被使用在视频点播或流媒体应用中,基于块映射表缓存和虚拟文件***的可堆叠文件***模块的分布式存储结构的说明性的实施例包括控制器、第一计算机和第二计算机、第一和第二交换机以及存储设备。第一计算机包括本地文件***,且使用此***将本地文件***中的资源文件存储在第一存储设备上。第一计算机使用用于为每一资源文件产生块映射表的程序,所述块映射表包括关于资源文件存储在第一存储设备上的界限的信息。
Description
相互参照
本申请要求于2004年7月21日提交,名称为“Distributed StorageArchitecture Based on block Map Caching and VFS Stackable File SystemModules”的美国临时申请Nos.60/589,578,和于2004年7月23日提交,名称为“A Scalable Streaming Video Server Complex Based on TieredCaching”的美国临时申请Nos.60/590,431的权益,其中的各临时申请这里全部引入作为参考。
技术领域
本公开一般涉及用于例如分布数据例如流视频数据的分布式存储***。
背景技术
涉及本文公开的主题的背景信息可以在下列参考中找出:
(1)E.Zadok等人,“Extending File Systems Using StackableTemplates,”Proc.1999 USENIX Annual Technical Conf.,1999年6月;
(2)D.Rosenthal,“Evolving the Vnode Interface,”Proceedings of thesummer USENIX Conference,107-117页,1999年6月;
(3)A.Dan等人,“Buffer Management Policy for an On-Demand videoserver,”IBM Research Report RC19347
(4)A.Dan等人,“Buffering and Caching in Large-scale video servers,”Proc.Compcon,217-224页,1995年3月;以及
(5)M.Bar等人,“Long-term Movie Popularity Models inVideo-on-Demand Systems,”Proceedings of ACM Multimedia Conference,349-357页,1997年11月。
附图说明
图1示意性的描述了一实施例中的分布式存储组(complex)。
图1A示意性的描述了图1所描述的***的一个多服务器装置。
图2说明了块缓冲存储文件***(BCFS)读取操作的例子。
图3说明了一典型的块映射表(block map)。
图4说明了层1和层2缓冲存储器的放大作用的例子。
图5说明了跨缓冲存储器层的流分布的例子。
图6说明了间隔缓冲存储的例子。
具体实施方式
用于视频服务器组的共享存储***可以基于缓冲存储块映射表的概念。所述***可以实现多台视频服务器从服务器组的一公共存储池共同流资源,同时降低分布式文件***的开销和复杂程度。所述***可以允许资源的一公共资源池作为视频服务器上的本地文件,并明显地,通过存储区域网络(SAN)将流读出请求重定向到存储装置,所述网络例如为光纤通道存储区域网络(SAN)。
另外,高度可伸缩的视频服务器组可以基于分层缓冲存储的概念。所述***可以使多台视频服务器能够共同流式传输从分布式组中的一公共存储池的资源。所述***可以允许存储带宽、存储容量以及流带宽与终端用户需求相联系。
依据一实施例,用于流式传输数据的分布式存储***可以包括一控制器、一第一计算机和一第二计算机、第一和第二交换机以及一存储设备。所述第一计算机包括一本地文件***,且可使用所述本地文件***将资源文件存储在第一存储设备上。另外,所述第一计算机可使用用于创建块映射表的程序,包括关于资源文件存储在第一存储设备上的界限的信息。可创建用于每一资源文件的块映射表。
根据另一实施例,可使用层缓存***来用于流传输数字资源。这样的***一典型的实施包括存储所述资源的一第三层高速缓冲存储器,和连接到所述第三层缓冲存储器的多个视频泵。每一视频泵可以包括一第二层高速缓冲存储器,其接收自所述第三层高速缓冲存储器的资源的复本,并发出一或更多流,以及包括一第一层高速缓冲存储器,其接收自第二层高速缓冲存储器的资源的复本,并发出多个流。所述***还可包括一资源控制器,其从多个视频泵中选择一视频泵以流动所述资源。
图1说明了分布式存储***的一实施例,其能够流动数据。如所示,所述***可以包括控制器10、第一计算机12和第二计算机14、第一和第二交换机16和18以及存储设备20。第一计算机12可以包括一本地文件***12B,其可以用于将本地文件***中的资源文件存储在第一存储设备20上。另外,第一计算机12可以使用程序12A为每一资源文件产生一块映射表。所述块映射表包括关于资源文件存储在第一存储设备20上的界限的信息。
程序12A可以将块映射表的副本存储在第二存储设备14A上,所述第二存储设备14A连接到第二计算机14设备。如所示,第二计算机14还可以连接到第一存储设备20。
另外,所述***可以包括虚拟文件***14B,其使第二计算机14使用存储在存储设备14A中的块映射表的副本能够存取第一存储设备20上的资源文件。
块布局算法可以被第一计算机12的本地文件***使用,并可以当第一计算机存储资源文件时,连续地写多个本地文件***块。另外,交换机18可以提供在第一计算机12、第二计算机14和存储设备20之间的并行无阻碍的存取。程序12A可以产生包括指针的“提示文件”(下面将讨论)以在资源文件中定位。
一种读取自存储在第一存储设备上的第一存储文件的数据的方法包括存储第二文件中的块映射表,其中所述块映射表可以包括逻辑块地址列表,且所述列表中的每一逻辑块地址可以识别用于存储第一文件中的数据的扇区。所述方法还可包括发出***调用以读取自与所述第一文件相关的虚拟文件的数据,检索与所述数据相关的逻辑块地址,和使用所述相关的逻辑块地址读取自所述第一存储设备的数据。
所述说明性的***的另一方面涉及一种用于流数字资源的分层缓冲存储***。这样的***的一个典型的实施例可以包括存储资源的第三层高速缓冲存储器。这可包括例如图1的存储设备20。另外,
所述示例性的***可以进一步包括连接到所述第三层高速缓冲存储器的一或更多视频泵(例如第二计算机14)。这里,视频泵可以包括:第二层高速缓冲存储器14A(第二存储设备),其接收自所述第三层高速缓冲存储器的所述资源的副本。并发出一或更多流;第一层高速缓冲存储器14C,其接收自第二层高速缓冲存储器的所述资源的副本,并发出多个流;和资源控制器(例如控制器10),其从多个视频泵中选择一视频泵以流所述资源。分布式存储结构
图1A描述了一种可伸缩的视频服务器组的说明性实施例。这样的组可以包括资源控制器10、许多内容复写器12,一或更多所述复写器可以管理一或更多文件***,以及许多视频泵14。一些或者所有这些部件可以通过以太网和光纤通道交换机16和18被相互连接。这些光纤通道交换机18可以提供视频泵14、内容复写器12和存储阵列20之间的并行无阻的存取。
内容复写器12管理自外部光纤通道存储阵列20的一或更多文件***的容积。所述存储设备20可以作为本地文件***安装在所述内容复写器12上。所述***可以被设计成使得所述组中没有任何其他部件直接安放所述文件***,但这种结构实现视频泵14自存储设备20流式传输,就如同其被本地地安装在每个视频泵上。一或更多文件***可以包括一单独的LUN(逻辑单元号),其存在于RAID存储阵列上。
摄取(ingest)或者资源装载可以由内容复写器12执行。这些被摄取的资源可以被写入到所述内容复写器的本地文件***。资源控制器10可以引导资源在文件***中的分布,确保资源被统一地和随机地装载在所述存储阵列中。
组中的内容复写器12的数量c可以通过所需要的总摄取容量确定。由于每一内容复写器具有固定的最大摄取容量,因此c简单地为所述组的所期望的总摄取容量除以每一内容复写器的容量摄取。
视频泵14的数量v可以通过所述组提供的流的数量确定,并简单地为期望的流的总数除以每一视频泵的容量。
存储阵列20的数量s可以通过(1)最大存储容量要求,(2)所述组的唯一的或者无缓冲存储的流需求和/或(3)从每一阵列可获得的带宽来确定。统计技术可用于高可能性地确定,在任何给定时间落在最重装载阵列上的负载的最大百分率。
块映射表缓冲存储
所述共享的存储结构实现视频泵14自内容复写器(content writer)的本地文件***的流式传输。其使用块映射表(bmap)缓冲存储装置来完成,所述块映射表缓冲存储装置使内容复写器12能够将资源数据块的位置泄露给视频泵14。视频泵14然后能够通过光纤通道交换机18直接读取这些数据块和自其的流。在所述资源的使用期内,用于所述***的一或更多资源的块映射表被缓冲存储在一或更多视频泵上的本地文件***上。每一视频泵上运行的内容同步器程序(syncher process)确保所述块映射表缓冲存储器与内容复写器12上的资源的状态保持一致。持久地缓冲存储用于视频泵上的资源的块映射表和提示文件(hint file)可以使流能够在内容复写器故障的情况下继续。
一种称作块映射表缓冲存储文件***BCFS的新文件***层,在流动时,显然实施块映射表资源数据查找以应用。除了这些资源外,提示文件对于流是需要的。这些提示文件可以在摄取的过程中在内容复写器的本地存储上产生。在所述资源的使用期内,提示文件可以与块地图被传送到视频泵14,并类似地存储在本地文件***上。可选择地,用于这些提示文件的块映射表可以被传送到视频泵14,其使这些文件能够以与资源类似的方式被存取,并需要更少的本地存储和网络资源,但如果在资源摄取过程中需要提示文件数据,则引入额外的延迟。
块映射表缓冲存储文件***(BCFS)
BCFS可以是一薄的文件***层,所述薄的文件***层向用户级的应用提供一明显的界面,使他们能够开启和流层3存储设备上的资源,就如同其被本地布置一样。
BCFS不是一文件存储,这意味着其不实施任何盘上的数据结构。它可以使用底层的UFS文件***以保持所有的资源块映射表和提示文件。
BCFS可以基于可堆叠虚拟节点接口(stackable vnode interface)的概念(参看E.Zadok,等人的“Extending File System Using StackableTemplates,”Pro.1999 USENIX Annual Technical Conf.,1999年6月)。
一虚拟节点或虚拟节点可以是使用在Unix内核中的数据结构以代表实体,例如出现在文件***名空间的打开文件或目录,所述虚拟节点接口对更高级的内核模块提供统一的方式以对虚拟节点实施操作。虚拟文件***(VFS)实施共同的文件***代码,其可包括虚拟节点接口。
这种虚拟节点接口支持称作堆栈的概念,其中,文件***功能可以通过允许一虚拟节点接口实现调用另一个接口而被模块化。虚拟节点椎栈允许多个文件***实现序列地出现和彼此调用。在可堆叠的虚拟节点实现中,在椎栈的给定级别的操作可以调用椎栈中的下一较低级别的相同的操作。
图2显示了使用者的读()调用如何可转化成可以被BCFS处理的VFS读取操作。步骤1-3显示,用户程学发布读取,所述读取可以传递到VNODE层,并被发布到bcfs。在步骤4-6中,通过VNDOE层发送递归读取,Bcfs_read从资源块映射表文件中读取块映射表。BCFS然后解析所述块映射表以确定所需要的数据块在层3存储设备上的位置。步骤7显示,bcfs将所翻译的读取直接发布到层3存储设备,并返回结果。
在设计BCFS中一些考虑是:
1.最小化固定代码的改变。通过引入新的文件***层,流应用可以存取共享的提示文件和资源,而无需修改。
2.为缓冲存储的块映射表和提示文件提供持续的存储。这样可以降低块映射表缓冲存储的RAM需求,使块映射表能够通过***的重新启动持续,并使资源块映射表在层3存储设备上的所述资源的使用期内能够保留在视频泵14中。
3.在视频泵14和内容复写器12之间的缓冲区超高速缓存相关性。使用块映射表而不是原始元数据提供对资源的共享存取可以避免超高速缓存相关性问题,如果仅模式,则可出现这些问题。
4.在视频泵14和内容复写器12之间的时间需求。当自主动摄取的内容的流等候的提示文件数据,对于盘为同步(sync),然后在视频泵上读取其,将引入不可接受的的延迟时,提示文件的改变应快速从内容复写器传送到视频泵。摄取
所述FFS***可以被实现使得其不是一共享文件***:例如,可以假设存在单独的服务器读或写安装的存储器。基于此假设,其可能够为其缓冲区缓冲存储器中的缓冲存储器索引节点和间接的块元数据。当文件***元数据由于写或删除资源文件而改变时,没有用于将此高速缓冲存储器与其它服务器同步的机构。变。如果资源元数据在服务器A和服务器B中高速缓存,向所述资源写入,因此改变所述元数据,纳米服务器A将不知道新的元数据。虽然向FFS添加缓冲区高速缓存同步是概念上可能的,然而这样做将变得复杂并可潜在地使文件***部件不稳定。通过将块映射表的当前状态公布给所有服务器,传送块映射表可避免超高速缓存相关性。注意,由于块映射表通信的开销,此方案在通用共享文件***可能不令人满意地工作。然而,在一视频泵组中,所述视频泵组的特征为(1)每资源一单独的复写器,(2)资源被写一次且多次流,以及(3)大的资源块尺寸导致紧密的块映射表表示,所述方法是相当有效的。VFS堆栈可以通过在现有的较低层上安装BCFS层而被建立。例如,mount-tbcfs/localfs/assets/cache在安装点“/assets/cache”安装块缓冲存储文件***/localfs。对/assets/cache中的文件的所有存取现在通过BCFS模块到底层本地文件***,其包括块映射表和提示文件的副本。所述块映射表文件用作层3存储设备上的远程文件的代理。内容同步器程序安排本地块映射表文件具有与层3存储设备上的实际资源文件名相同的名(或可选择带有附加的“.bmap”扩展名)。
作为VFS一实现的例子,这种典型的VFS实现显示远程存储上的资源列表而不是本地文件。。这可能是通用共享文件***的重要特征,但bcfs设计成具体处理使用最小的开销提供高性能共享存取资源的问题。提供分布式目录服务可需要块映射表文件(或者相关的结构)具有充足的信息,以存取描述共享存储上的目录项和索引节点(inodes)的元数据。将此信息传送到视频泵14需要用于保持超高速缓存相关性和锁住的条款,其增加额外的开销。更重要地,这些元数据存取将与流式存取存储阵列20的服务竞争,并且因此使流性能降低。从简单的1s命令产生的读取脉冲引起流传输的中断。如所设计的,在流期间VP由进行的对存储阵列20单独请求用于流数据,而不用于任何元数据。块映射表定义
在实现例中,这部分描述了术语块映射表或bmap可包含的意思。如图3所示,存储在盘上的资源可以包括邻接的扇区序列,其称作块。依赖于所述文件***的块布局策略,块可以邻接放置或以跨盘的地址空间的某种方式分布。
块可以通过它的逻辑块地址(LBA)和长度被完全制定。因而块映射表是块的序列,其中LBA和长度可以用于识别块。
为了实现从盘驱动器的高水平的吞吐量,块应该是具大的以分期偿大数据传送的寻找(移动磁头到所述块的初始位置)加等待时间(等待底板旋转直到数据在磁头下面)的成本。对于目前一代的光纤通道磁盘驱动器,尺寸在512K到2MB的范围的块可以提供邻接的数据上的50%-80%的盘可容忍的吞吐量。
由于单独的32位LBA和16位长度足于描述光纤通道设备的块,因此资源的尺寸与其块映射表的尺寸的比率可等于至多(块尺寸/6)∶1。对于块被文件***邻近地放置的程度,块映射表的尺寸可以另外降低。
基于1MB的邻接的块排列,资源尺寸和块映射表尺寸之间的比例为167000∶1,并且由于在可能的情况下FFS连续地放置块,所述比例通常更小。例如,用于1GB的资源的块映射表最多6KB。
所述文件***块尺寸不是由存储阵列确定;而是,其可以由在视频泵上的运行的文件***确定。存储阵列根据逻辑块地址(LBAs)所述操作,其中LBA引用的每一块通常是512字节(所述设备的“扇区尺寸”)。
所述文件***以文件***块尺寸单元寻址数据块。用于FFS的最大的文件***块尺寸是64K。由于这对于实现吞吐量的目标不足够大,因此文件***的块布局算法可以被修改,以保证文件***块被连续地布置成多个资源块尺寸。单独的资源块尺寸可以用于给定文件***中的所有的资源,以避免分段的问题。
块映射表文件格式
本部分描述用于bmap文件的采样格式(sample format)。所述bmap文件可以包括头文件(header),接着为块描述符列表。
bmap文件头可以包括版本号和SCSI目标和存储设备的LUN ID。
文件偏移地址(offset) | 字段描述 | 字段尺寸 |
0 | 版本号 | 4字节,LSB开头 |
4 | SCSI目标ID | 2字节,LSB开头 |
6 | SCSI LUN | 2字节,LSB开头 |
8 | 盘片段 | 2字节,LSB开头 |
10 | 磁盘分区 | 2字节,LSB开头 |
12 | 文件***块尺寸 | 4字节,LSB开头 |
16 | 块描述符数量 | 4字节,LSB开头 |
20...文件结束(eof) | 块描述符 | 快描述符的6字节*# |
“盘片段(disk slice)”是类似于分割区的FreeBSD概念,其允许驱动器被分成独立的区域或“片段”。片段使一服务器能够引导装入多个操作***。每个OS存在于独立的分区中。在一片段中,可以定义多个分割区,其中每一分割区对应一逻辑盘(例如,“a:”,“b:”,“c:”,...)。当格式化层3存储设备时,可以使用特定定义的片段或分割区,但将所述片段和分割区放入bmap头以避免硬编码的消耗,且允许层3存储结构的灵活性。
LUN可以为bmap头,这是因为bcfs可需要其以识别哪一存储阵列RAID设备来读取。在存储阵列RAID设备中,从所述物理驱动器被去掉的块可以聚集地作为一个(或更多)LUNs提供给视频泵。由于一视频泵可以使用多个LUNb,其对于bmap头中的LUN ID识别哪一RAID设备来读取是有利的。
块描述符
块描述符定义了盘上的单独的邻接的块的位置和尺寸。在多个fs-blocks尺寸中,逻辑块地址(LBA)和长度定义块的位置。
敲击偏移地址(struckoffset) | 字段描述 | 字段尺寸 |
0 | SCSI逻辑块地址 | 4字节,LSB开头 |
4 | 在fs-blocks中的块长度(例如 | 2字节,LSB开头 |
使用BCFS的资源缓冲存储
bmap文件可以当加载资源时在内容复写器12上产生。视频泵14上的内容同步器确保在/assets/cache中的bmap文件相对于内容复写器上的文件是最新的新。当流被分配给视频泵时,然后流服务器程序可打开所述资源并从所述文件读取,如同所述资源被本地存储。
当流应用对于资源数据产生VOP_READ读取请求时,bcfs_read然后从文件读取所述块映射表和设备信息,并确定资源数据寄存的逻辑块地址;bcfs_read然后发布一个或更多对所需要的数据的读取请求并返回。
在资源从内容复写器12中移去后,视频泵上的内容同步器在在/assets/cache/assetname中移去其的bmap文件。此时,内容同步器也从层2本地盘高速缓冲存储器清除所述资源。
使用BCFS的提示文件的高速缓存
提示文件可以包括用于执行“技巧模式”(例如快进、倒回)的资源元数据。这些提示文件可以通过软件在资源被加载到存储设备上时,在视频泵上产生出。它们包含用于资源中特殊场景的指针。
提示文件可以以类似bmap文件被处理。提示文件可以在资源被加载时在内容复写器上产生。视频泵上的内容同步器确保,在/assets/cache中的bmap文件相对于内容复写器上的文件是最新的。当流动被分配给视频泵时,流服务器然后可以打开所述提示文件并使用它,这是由于其被本地高速缓冲存储。
可选择地,如果流动资源如它正在被摄取的反应时间需求允许所述,用于提示文件的块映射表可以被缓冲存储在视频泵上。对于所述提示文件数据的读取要求可以通过bcfs用与上面描述的资源读取相同的方法进行处理。
分层高速缓冲存储
如上面提到,在多个服务器组中的视频泵14可以使用三层内容存储或高速缓冲存储。分层高速缓冲存储的目的可以为两部分:第一,其从资源存储带宽中分离开流带宽。随着高速缓冲存储的累加,“热点”或者阵列之中的负载不平衡的实例可以被避免。没有高速缓冲存储,由于因资源流行中的变化而导致从任何给定的存储阵列中请求数量不成比例的流,因此负载不平衡可以容易地发生。第二,通过从最节省成本类型的媒介提供不同流行程度的资源流,通过利用资源流行中的自然变化,其降低每流的成本。例如,由于存储需求低但带宽需求高,单独的非常流行的资源可以从RAM被最节省成本提供。从具有存储容量但具有低带宽的便宜的慢硬驱动,可最节省成本地提供不经常存取的内容的大的库。
所述分层的缓冲存储实现动态地和自动地最节省成本的(媒介的有类型基于此时的资源的流行度)提供资源。
所述***的层1可以包括本地RAM,从前可提供相对少量的最流行资源。层2可以包括较大的本地盘高速缓冲存储器,其全部存储最近成流的资源。层2高速缓冲存储器可以是无复制和无文件***的未处理的块级别的存储设备。层1和层2都是“存储和前向”类型的高速缓冲存储器。层3组成带有中等成流能力的大的、长期存储,其必须是大致等于在任何调整所请求的唯一流的最大数目。
图4和5显示了流传输怎样可在三个缓冲存储层分配。通过智能地选择用于流传输的视频泵14,资源控制器10估计跨连接到一个或更多服务器的缓冲存储层的流的分配。资源控制器10可以被用于确保,层2盘的缓冲存储带宽极限不被跨视频泵14分配流所超过,从而每个视频泵提供可缓冲存储和不可缓冲存储的资源的平衡混合。资源控制器10监控一个或更多视频泵14,和其关联的观察器流的当前特征,从而其可以确定哪个视频泵将被分配与特定资源有关的新的观察器流。这种方法中,组的带宽资源被整体优化。
图4中,u3是从层3存储设备读出的资源的数量,其中,确切地存在一个流。对于这些资源读取。流的数量n3等于从层3的读取的资源的数量。u2+u1表示从层3存储设备读取的资源的数量,其中存在多于一个流。对于这些流,层2缓冲存储器作用类似带宽放大器,在这种情况下,对于多读取的进入层2缓冲存储器每一资源,出现许多数量的观察器流。数量n2+n3表示从层2缓冲存储器传出的带有多个观察器的流的总数量。n2是直接从层2缓冲存储器传出且不进入层1缓冲存储器的观察器流的数量。由于缓冲存储时间改变每个观察器流动,从层2缓冲存储器传出的观察器流相对于与进入层2缓冲存储器的资源读取或相同资源的其他观察器流是时间不同步的,这是因为对于每一观察器流,缓冲存储器的时间偏移。层1缓冲存储算法选择u2+u1流的一子集u1,其是高度可缓冲存储,并引导这些流进入层1RAM缓冲存储器。如同层2缓冲存储器,对于层1缓冲存储器,在层1级缓存的流,出现几个流。数量n3是从层1缓冲存储器传出的流的总数,其不使用层2或层3存储设备任何额外的I/O带宽。由服务器提供的流的总数可为n1+n2+n3。层3存储设备所需要的总带宽可为u1+u2+u3。图5涉及用于IP2160视频泵的典型值的所述参数,其如zipfian资源流行分布所预测的,所述分布与视频流行相关,这公开在M.Bar等人的
“Long-term Movie Popularity Models in Video-on-Demand Systems,”Proceedings of ACM Multimedia Conference,349-357页,1997年11月,在此引入作为参考。
除了层2本地盘缓冲存储器的放大作用外,有可能并不需要从层3存储设备读取的资源,这是因为其在先读取,且仍存在于层2的缓冲存储器中。通过层2缓冲存储器的总尺寸与层3存储器的总尺寸的比率可确定此出现的频繁程度。所述比率可以被称作盘缓冲存储命中率(DHCR)。
层1RAM缓冲存储器
本部分概述了层1RAM缓冲存储算法的一种可能的实现。在此描述这种算法以解释,层1缓冲存储器如何与其他缓冲存储层联合操作以支持可伸缩的服务器组。
间隔缓存可以为缓冲器管理策略,其识别可被有效缓存来增加服务器吞吐量的暂时有关的流的段。所述算法被描述在A.Dan等人的,“BufferManagement Policy for an On-Demand video server,”IBM Research ReportRC19347中,这里引入作为参考。所述算法关于降低服务器的成性能在A.Dan,等人的文献中被检查,“Buffering and Caching in Large-scale videoservers,”Proc.Compcon,217-224页,1995年3月,这里引入作为参考。间隔可以定义为对相同资源的一对连续的流请求,其为时间重叠的。间隔缓存允许从缓冲存储器服务一对中的在后流,瞬时的缓存要求等于由流开始时间偏移所表示的数据的尺寸。如果所述流开始是紧密间隔的,那么存储可能是重要的。通过维护所有间隔的分类列表以及向具有最小缓存要求的一组间隔分配缓冲存储器,间隔缓存算法利用了这。
图6显示了间隔缓存的例子。在时间0,可从服务器请求流A。在某一随后时间,在流A完成之前,可以请求流B。由于流A和B使用相同的资源,可以形成间隔。可计算由重叠A表示的数据数量,以及间隔可***分类的间隔列表。由于存在充足的高速缓冲存储器用于所述间隔,因此其可以分配给所述间隔,且从缓冲存储器可完全服务流B的阴影部分。当与静态资源复制相比时,间隔缓存更有效地利用高速缓冲存储器,且不需要任何在先知道资源的流行程度或者手动资源复制。由于技巧模式调用的变化的间隔关系,所述技巧模式中的流并不参与层1缓存,但若所请求的数据出现在层1缓冲存储器中,那么其可仍得益于层1缓存的命中。
层2本地磁盘缓冲存储器
层2缓冲存储器的目的可以为,当从外部存储设备20全部读出资源时,通过缓存所有的所述资源,来从资源存储带宽分离开流带宽。其可以包括大的本地驱动阵列,所述阵列可以管理成无复制和无文件***的原始块级存储设备。其可以是“存储和前向”类型的缓冲存储器,这意味着,当读取块时,写缓冲存储器的内容,且存储操作并不影响自外部存储设备的数据流。例如,在IP2160媒体服务器(中流技术Midstream Technologies)中,层2缓冲存储器寄存在内部驱动阵列的一部分。
层2本地盘缓冲存储器可以与层1间隔缓冲存储器的结构类似。当视频泵以流发布读取,其正被缓存,即,从外部存储器请求所述流时,所述块可以被复制到层2缓冲存储器中的所分配的块,且可产生散列表项,其盘上的文件亏映射表到缓冲存储器块。。在所述视频泵发布一读取之前,其可以检查散列表以查看是否块寄存在本地缓冲存储器上。如果是,从所述缓冲存储块而不是从层3盘设备中读取所述块。
资源控制器操作
当选择视频泵14处理流服务请求时,资源控制器10可寻找最可能在缓冲存储器中已经具有资源的服务器,但可将所述请求导引到组中的另一个服务器,以优化使用组的资源。例如,假设从一个视频泵的层1RAM缓冲存储器中提供单独的、高度流行的资源被,且请求此资源的观察器流的数量使视频泵的带宽流容量饱和。在这种情况下,所述视频泵将不利用层3外部存储接口或者层2盘驱动,从而导致从这些层中发出较高的百分比全部流负载,其被布置在所述组中的其他的视频泵14上的。由于视频泵上的层2本地缓冲存储盘带宽被限制,所得到的在其他视频泵14上所缓存的流的增加可以超过其层2盘带宽,这有效地限制了所述组可支持的流的数量。为了最大化作为整体的所述组的吞吐量,在每个视频泵上必须保持可缓冲存储的和不可缓冲存储的资源的均衡的混合,以与图5中所描述的类似相称。
由资源控制器10使用的一相对简单的算法可以有效地保持所述平衡。为了最小化所述资源控制器和视频泵14之间的通信,其描述每个视频泵的动态缓冲存储状态,以及为了必瞒必须存储这样的信息,资源控制器10存储一表,所述表每所请求的资源具有一项,其指示哪一视频泵提供所述资源的观察器流。。由于缓冲存储器对于时间紧密间隔的流是最有效的,因此将新流导引到最后提供资源的视频泵14最有效地利用所述缓冲存储器。此外,所述资源控制器保持当前在每一视频泵上活动的流的数量的计数。如果所述计数超过了设定的阈值,流被导引到具有最小流带宽负载的视频泵。所述机构确保,在视频泵14共享高度流行的资源,没有任何单独的视频泵处理任何给定的高度流行资源的太多流。其也可以在视频泵14分配流负载。
总之,流负载平衡算法的说明性实现可以包括下面步骤:
1.流请求到达资源控制器10。
2.资源控制器10确定哪个视频泵14最后提供资源。
3.如果没有视频泵14提供所述资源,那么资源控制器10将所述请求导引到具有最可利用的流带宽的一视频泵。
4.否则,如果视频泵14被找到,那么资源控制器10检查对于视频泵上的所述资源的当前活动的计数小于预定的阈值。
a.如果不超过所述阈值,那么资源控制器10将所述请求引导到最后的视频泵;或者
b.如果超过所述阈值,那么资源控制器将所述请求导引到具有最可用的流带宽的视频泵。
结论
权利请求并不局限于本文所公开的说明性被这里所公开实施例。例如,基于块映射表缓冲存储和VFS可堆叠文件***的分布式存储结构模块,以及基于分层缓冲存储的可可伸缩的流视频服务器组的前述公开使用了说明性术语,例如内容复写器、视频泵、控制器等,其不应被解释为限制本申请的保护范围,或者另外暗示,本文所描述的这些***、设备和方法的发明方面局限于所公开的特定的方法和装置。而且,如本领域技术人员所理解的,本文所公开的很多发明性的方面可以被应用到不用于流媒体或者视频点播目的的计算机***中。类似地,本发明并不局限于使用VFS可堆叠的文件***模块和/或上面描述的块映射表的***,或者应用到特殊类型的计算机、处理器、交换机、存储设备、内存、算法等的***。内容复写器、视频泵、资源控制器等是基本可编程的计算机,其可采用多种形式,而不脱离本文所公开的发明构思。
鉴于数字处理、网络和存储功能的成本的迅速下降,,例如将用于特殊功能的处理和存储从本文所述的功能性元件之一传送到另一功能元件而不改变本发明的***的操纵是容易可能的。在许多情况下,本文所述的实现装置(即功能元件)仅是设计者的偏好,并不是硬性的要求。因此,除非其可被清楚的限制,否则本保护范围不能被理解为局限上述的具体实施例。
Claims (50)
1.一种用于流式传输数据的分布式存储***,所述***包括:
第一计算机,其能够在本地文件***中存储一个或更多资源文件于第一存储设备,并产生用于所述资源文件的块映射表;
一程序,其能够将所述块映射表的副本存储在第二存储设备,所述第二存储设备连接到第二计算机,其中所述第二计算机还连接到所述第一存储设备;
一文件***,其能够实现所述第二计算机存取所述第一存储设备上的所述资源文件;
2.如权利要求1所述的分布式存储***,其中所述块映射表包括关于所述资源文件存储在所述第一存储设备的界限的信息。
3.如权利要求1所述的分布式存储装置,其中所述文件***包括一虚拟文件***(VFS),以及所述虚拟文件***能够实现所述第二计算机使用所述块映射表的所述副本来存取所述第一存储设备上的所述资源文件。
4.如权利要求1所述的分布式存储***,其中所述本地文件***能够使用块布局算法在所述第一计算机存储所述资源文件时,连续地写多个本地文件***块。
5.如权利要求1所述的分布式存储***,进一步包括交换机,其能够提供所述第一计算机、所述第二计算机和所述第一存储设备间的并行的,不间断的存取。
6.如权利要求1所述的分布式存储***,其中所述程序能够产生一提示文件,其包括指向所述资源文件中的位置的指针。
7.如权利要求1所述的分布式存储***,其中所述第一存储设备能够提供第三层存储机构,以及所述第二计算机包括第一和第二层存储机构。
8.如权利要求7所述的分布式存储***,其中所述第一层存储机构包括随机存取存储器(RAM),以及所述第二层存储装置包括盘存储设备。
9.如权利要求1所述的分布式存储***,其中所述VFS包括可堆叠的虚拟节点接口和至少一个虚拟节点。
10.如权利要求1所述的分布式存储***,进一步包括一内容同步程序,其能够安排连接到所述第二计算机的所述第二存储设备上的块映射表文件副本具有与所述第一存储设备上的相应的资源文件名基本相同的名字。
11.如权利要求1所述的分布式存储***,其中
所述块映射表包括关于所述资源文件存储在所述第一存储设备的界限的信息;
所述文件***包括一虚拟文件***(VFS),其能够实现所述第二计算机使用所述块映射表的所述副本来存取所述第一存储设备上的所述资源文件,以及包括一可堆叠的虚拟节点接口和至少一个虚拟节点;以及
所述程序能够产生一提示文件,其包括指向所述资源文件中的位置的指针。
12.如权利要求11所述的分布式存储***,其中,所述第一存储设备能够提供第三层存储机构,所述第二存储设备提供第二层存储机构,以及所述第二计算机包括第一层存储机构,其中所述第一层存储机构包括随机存取存储器(RAM),以及所述第二层存储机构包括盘存储设备。
13.如权利要求11所述的分布式存储***,进一步包括内容同步程序,其能够安排所述第二存储设备上的块映射表文件副本具有与所述第一存储设备上的相应的资源文件名相关的名字。
14.如权利要求11所述的分布式存储***,进一步包括交换机,其能够提供所述第一计算机、所述第二计算机和所述第一存储设备间的并行的,不间断的存取。
15.一种虚拟文件***,其使第二计算机能够读取第一存储设备上的文件,所述文件包括存储在第一文件***中的多个数据块,所述第一存储设备连接到第一计算机,所述虚拟文件***包括:
可堆叠的虚拟节点接口;和
虚拟节点,其中所述虚拟节点使用存储在由所述第二计算机使用的第二文件***中的块映射表文件来代表所述文件。
16.如权利要求15所述的虚拟文件***,其中所述块映射表文件包括块描述符,所述块描述符包括逻辑块地址和块长度,所述块长度包括邻接的扇区的数量。
17.如权利要求16所述的虚拟文件***,其中所述块描述符表示逻辑存储位置,其包括所述文件的数据块。
18.如权利要求16所述的虚拟文件***,其所述块映射文件进一步包括头文件,其包括所述存储设备的参数。
19.如权利要求18所述的虚拟文件***,其中所述参数包括小型计算机***接口(SCSI)的目标标识符。
20.如权利要求18所述的虚拟文件***,其中所述参数包括小型计算机***接口(SCSI)的逻辑单元号。
21.如权利要求18所述的虚拟文件***,其中所述参数包括盘片段。
22.如权利要求18所述的虚拟文件***,其中所述参数包括所述第一文件***的块尺寸。
23.如权利要求18所述的虚拟文件***,其中所述参数包括所述块映射表文件中的块描述符的数量。
24.如权利要求15所述的虚拟文件***,其中所述数据块的尺寸是所述第一文件***的一个块尺寸的倍数。
25.如权利要求15所述的虚拟文件***,其中所述块映射表文件由一程序在所述文件被存储于所述存储设备时产生。
26.如权利要求25所述的虚拟文件***,其中所述程序在所述第一计算机上是可执行的。
27.如权利要求15所述的虚拟文件***,其中所述第一和第二文件***的类型是相同的。
28.一种自存储在第一存储设备上的第一文件读取数据的方法,所述方法包括:
将一个块映射表存储于第二文件中,其中所述块映射表包括逻辑块地址列表,以及其中所述列表中的至少一个逻辑块地址识别用于存储所述第一文件中的数据的扇区;
发布***调用从与所述第一文件相关的虚拟文件中读取数据;
检索与所述数据相关的逻辑块地址;以及
使用所述相关的逻辑块地址读取自所述第一存储设备的数据。
29.如权利要求28所述方法,进一步包括当所述第一文件被存储在所述第一存储设备时,产生所述块映射表。
30.如权利要求28所述方法,进一步包括产生提示文件,所述提示文件包括指向第一文件的指针。
31.如权利要求28所述方法,其中所述第二文件存储在第二存储设备上。
32.如权利要求31所述方法,进一步包括将所述第一存储设备连接到第一计算机和第二计算机,以及将所述第二存储设备连接到所述第二计算机。
33.如权利要求28所述方法,其中所述列表进一步包括与每一逻辑块地址相关的块长度,其中所述块长度表示继所识别的扇区之后的邻接的扇区的数量。
34.如权利要求33所述方法,进一步包括检索相关的块长度,以及其中所述数据块包括在由所述所检索的逻辑块地址和所述相关的块长度识别的逻辑存储区域内。
35.一种计算机可读介质,其包括计算机可读指令,用于:
将块映射表存储于第二文件中,其中所述块映射表包括逻辑块地址列表,以及其中所述列表中的至少一个逻辑块地址识别用于存储第一文件中的数据的扇区;
发布***调用以读取自与所述第一文件相关的虚拟文件的数据;
检索与所述数据相关的逻辑块地址;
使用所述相关的逻辑块地址读取自第一存储设备的数据。
36.如权利要求35所述的计算机可读介质,进一步包括用于当所述第一文件被存储在所述第一存储设备上时,产生所述块映射表的计算机可读指令。
37.如权利要求35所述的计算机可读介质,进一步包括用于产生提示文件的计算机可读指令,所述提示文件包括指向所述第一文件的指针。
38.如权利要求35所述的计算机可读介质,其中所述第二文件存储在第二存储设备上。
39.如权利要求35所述的计算机可读介质,其中所述列表进一步包括与每一逻辑块地址相关的块长度,其中所述块长度表示继所识别的扇区之后的邻接的扇区的数量。
40.如权利要求39所述的计算机可读介质,进一步包括用于检索相关的块长度的计算机可读指令,以及其中所述数据块包含在由所述所检索的逻辑块地址和所述相关的块长度识别的逻辑存储区域内。
41.一种分层缓冲存储***,包括:
第三层高速缓冲存储器,其能够存储数字资源;和
多个服务器,其连接到所述第三层高速缓冲存储器,一个或更多服务器,其包括:第二层高速缓冲存储器,其能够接收自所述第三层高速缓冲存储器的所述资源的副本,并向外传输流;以及第一层高速缓冲存储器,其能够接收自所述第二层高速缓冲存储器的所述资源的副本,并向外传输多个流。
42.如权利要求41所述的分层缓冲存储***,其中所述多个服务器包括多个视频泵。
43.如权利要求41所述的分层缓冲存储***,进一步包括资源控制器,其能够从所述多个视频泵中选择一视频泵以传输所述资源。
44.如权利要求41所述的分层缓冲存储***,其中所述第三层高速缓冲存储器包括盘存储设备。
45.如权利要求41所述的分层缓冲存储***,其中所述第三层高速缓冲存储器包括盘阵列。
46.如权利要求41所述的分层缓冲存储***,其中所述第二层高速缓冲存储器包括盘存储设备。
47.如权利要求41所述的分层缓冲存储***,其中所述第一层高速缓冲存储器包括随机存取存储器(RAM)。
48.一种在分层的缓冲存储***中流式传输资源的方法,所述缓冲存储***包括第三层缓冲存储器和多个服务器,其中每一所述服务器连接到所述第三层缓冲存储器,并包括第一层缓冲存储器和第二层缓冲存储器,所述方法包括:
确定正从所述第三层缓冲存储器中流式传输所述资源的多个服务器中的最后一个服务器,和所述最后一个服务器的所述第一和第二层缓冲存储器中的资源流的数量;
如果所述数量小于预定的阈值,则使用所述最后一个服务器流式传输所述资源;以及
否则使用具有最大可利用的流带宽的服务器流式传输所述资源。
49.如权利要求48所述方法,其中所述服务器被设计为视频泵。
50.一种计算机可读介质,包括计算机可读指令,用于执行权利要求48所述的方法。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US58957804P | 2004-07-21 | 2004-07-21 | |
US60/589,578 | 2004-07-21 | ||
US59043104P | 2004-07-23 | 2004-07-23 | |
US60/590,431 | 2004-07-23 | ||
PCT/US2005/025883 WO2006012418A2 (en) | 2004-07-21 | 2005-07-20 | Distributed storage architecture based on block map caching and vfs stackable file system modules |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101027668A true CN101027668A (zh) | 2007-08-29 |
CN101027668B CN101027668B (zh) | 2012-01-04 |
Family
ID=35079211
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2005800238220A Active CN101027668B (zh) | 2004-07-21 | 2005-07-20 | 基于块映射表缓冲存储和虚拟文件***的可堆叠文件***模块的分布式存储结构 |
Country Status (6)
Country | Link |
---|---|
US (1) | US7640274B2 (zh) |
EP (1) | EP1782287A2 (zh) |
JP (1) | JP4663718B2 (zh) |
KR (1) | KR100899462B1 (zh) |
CN (1) | CN101027668B (zh) |
WO (1) | WO2006012418A2 (zh) |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2010006514A1 (zh) * | 2008-07-17 | 2010-01-21 | 成都市华为赛门铁克科技有限公司 | 一种对文件虚拟化处理方法及装置 |
CN101794306A (zh) * | 2010-03-02 | 2010-08-04 | 上海华平信息技术股份有限公司 | 多类型录像文件分块存储***及方法 |
CN102215163A (zh) * | 2011-03-24 | 2011-10-12 | 东莞中山大学研究院 | 一种多服务器视频点播处理方法 |
CN102341779A (zh) * | 2009-03-02 | 2012-02-01 | 国际商业机器公司 | 在多层级虚拟化存储结构中管理存储数据的布置的方法、***和计算机程序产品 |
CN102385606A (zh) * | 2010-09-03 | 2012-03-21 | 腾讯科技(深圳)有限公司 | 一种分布式数据仓库的访问方法和装置 |
CN103488640A (zh) * | 2012-06-11 | 2014-01-01 | 北汽福田汽车股份有限公司 | 一种映射文件的自动分析方法和装置 |
CN105339906A (zh) * | 2013-06-12 | 2016-02-17 | 日本电气株式会社 | 控制对永久存储设备的数据写入的方法 |
CN105917322A (zh) * | 2013-12-31 | 2016-08-31 | 赫耳墨斯科姆股份责任有限公司 | 用于通过usb盘和允许对其的实施的相关设备来交换控制的方法 |
TWI557666B (zh) * | 2012-09-07 | 2016-11-11 | 宏達國際電子股份有限公司 | 具優先次序內容之內容傳遞系統及相關方法 |
CN107506494A (zh) * | 2017-09-27 | 2017-12-22 | 广东欧珀移动通信有限公司 | 文件处理方法、移动终端及计算机可读存储介质 |
CN107924290A (zh) * | 2015-08-12 | 2018-04-17 | 三星电子株式会社 | 控制文件***的电子设备及其操作方法 |
CN108804338A (zh) * | 2017-04-28 | 2018-11-13 | 爱思开海力士有限公司 | 数据存储装置及其操作方法 |
Families Citing this family (50)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7926052B2 (en) * | 2004-11-19 | 2011-04-12 | Hewlett-Packard Development Company, L.P. | Stacked file systems and methods |
US20060271972A1 (en) * | 2005-05-31 | 2006-11-30 | Microsoft Corporation | Popularity-based on-demand media distribution |
US8447827B2 (en) | 2005-09-15 | 2013-05-21 | Emc Corporation | Providing local access to managed content |
US8396938B2 (en) * | 2005-09-15 | 2013-03-12 | Emc Corporation | Providing direct access to distributed managed content |
US20070274683A1 (en) * | 2006-05-24 | 2007-11-29 | Michael Wayne Shore | Method and apparatus for creating a custom track |
US8831408B2 (en) | 2006-05-24 | 2014-09-09 | Capshore, Llc | Method and apparatus for creating a custom track |
US8805164B2 (en) | 2006-05-24 | 2014-08-12 | Capshore, Llc | Method and apparatus for creating a custom track |
US20080002942A1 (en) * | 2006-05-24 | 2008-01-03 | Peter White | Method and apparatus for creating a custom track |
US7783686B2 (en) * | 2006-06-16 | 2010-08-24 | Microsoft Corporation | Application program interface to manage media files |
US7603387B2 (en) * | 2006-06-16 | 2009-10-13 | Microsoft Corporation | Techniques to manage media files |
US20080033980A1 (en) * | 2006-08-03 | 2008-02-07 | Jaroslav Andrew Delapedraja | System and method for automatically adjusting file system settings |
US8032711B2 (en) | 2006-12-22 | 2011-10-04 | Intel Corporation | Prefetching from dynamic random access memory to a static random access memory |
US8543700B1 (en) | 2007-06-28 | 2013-09-24 | Emc Corporation | Asynchronous content transfer |
US8311058B2 (en) | 2008-05-10 | 2012-11-13 | Vantrix Corporation | Modular transcoding pipeline |
US8677241B2 (en) * | 2007-09-10 | 2014-03-18 | Vantrix Corporation | Method and system for multimedia messaging service (MMS) to video adaptation |
US8220051B2 (en) | 2007-09-28 | 2012-07-10 | Vantrix Corporation | Generation and delivery of multimedia content-adaptation notifications |
US8171167B2 (en) | 2007-11-13 | 2012-05-01 | Vantrix Corporation | Intelligent caching of media files |
US8589993B2 (en) * | 2008-08-29 | 2013-11-19 | At&T Intellectual Property I, L.P. | Distributing on-demand multimedia content |
KR100983479B1 (ko) | 2009-02-11 | 2010-09-27 | 엔에이치엔(주) | 분산 스페이스를 이용하여 분산 프로그래밍 환경을 제공하기 위한 방법, 시스템 및 컴퓨터 판독 가능한 기록 매체 |
KR101023883B1 (ko) * | 2009-02-13 | 2011-03-22 | (주)인디링스 | 고속 저장 장치를 캐쉬로 사용하는 스토리지 시스템 |
EP2411918B1 (en) * | 2009-03-23 | 2018-07-11 | Riverbed Technology, Inc. | Virtualized data storage system architecture |
US8516074B2 (en) | 2009-12-01 | 2013-08-20 | Vantrix Corporation | System and methods for efficient media delivery using cache |
US9058334B2 (en) * | 2010-02-11 | 2015-06-16 | Emc Corporation | Parallel file system processing |
US8843459B1 (en) * | 2010-03-09 | 2014-09-23 | Hitachi Data Systems Engineering UK Limited | Multi-tiered filesystem |
US8504670B2 (en) * | 2010-03-23 | 2013-08-06 | Riverbed Technology, Inc. | Virtualized data storage applications and optimizations |
WO2011128935A1 (en) * | 2010-04-13 | 2011-10-20 | Hitachi, Ltd. | Data storage network system and its control method |
US8285762B2 (en) | 2010-05-11 | 2012-10-09 | International Business Machines Corporation | Migration of metadata and storage management of data in a first storage environment to a second storage environment |
CN102222213B (zh) * | 2010-07-29 | 2013-08-07 | 郑文明 | 一种基于开放式Web Service架构的分布式视觉计算方法 |
CN103493024B (zh) * | 2010-08-25 | 2018-07-10 | 英特尔公司 | 用于高速缓存分层的方法和*** |
CN101944124B (zh) * | 2010-09-21 | 2012-07-04 | 卓望数码技术(深圳)有限公司 | 分布式文件***管理方法、装置以及对应的文件*** |
US8495108B2 (en) | 2010-11-30 | 2013-07-23 | International Business Machines Corporation | Virtual node subpool management |
US8904006B2 (en) | 2010-12-08 | 2014-12-02 | International Business Machines Corporation | In-flight block map for a clustered redirect-on-write filesystem |
US8626713B2 (en) | 2010-12-08 | 2014-01-07 | International Business Machines Corporation | Multiple contexts in a redirect on write file system |
US8458181B2 (en) | 2010-12-08 | 2013-06-04 | International Business Machines Corporation | Distributed free block map for a clustered redirect-on-write file system |
US8396832B2 (en) | 2010-12-08 | 2013-03-12 | International Business Machines Corporation | Independent fileset generations in a clustered redirect-on-write filesystem |
CN102043732A (zh) * | 2010-12-30 | 2011-05-04 | 成都市华为赛门铁克科技有限公司 | 一种缓存分配方法及装置 |
CN102314480B (zh) * | 2011-07-05 | 2013-04-10 | 万达信息股份有限公司 | 一种针对海量数据的分布式数据存储方法 |
CN102355596B (zh) * | 2011-10-11 | 2013-08-28 | 浪潮电子信息产业股份有限公司 | 一种适用于视频服务的缓存服务器部署方法 |
US9167049B2 (en) | 2012-02-02 | 2015-10-20 | Comcast Cable Communications, Llc | Content distribution network supporting popularity-based caching |
US10097406B2 (en) * | 2012-03-19 | 2018-10-09 | Level 3 Communications, Llc | Systems and methods for data mobility with a cloud architecture |
US9112922B2 (en) | 2012-08-28 | 2015-08-18 | Vantrix Corporation | Method and system for self-tuning cache management |
US9124672B2 (en) * | 2012-11-08 | 2015-09-01 | Morega Systems, Inc | Adaptive video server with data rate control and methods for use therewith |
US9276978B2 (en) | 2012-12-31 | 2016-03-01 | Microsoft Technology Licensing, Llc | Program based caching in live media distribution |
US9524300B2 (en) | 2013-03-14 | 2016-12-20 | Microsoft Technology Licensing, Llc | Heterogenic volume generation and use system |
US9116904B2 (en) | 2013-03-14 | 2015-08-25 | Microsoft Technology Licensing, Llc | File system operation on multi-tiered volume |
US9262313B2 (en) | 2013-03-14 | 2016-02-16 | Microsoft Technology Licensing, Llc | Provisioning in heterogenic volume of multiple tiers |
US9141626B2 (en) | 2013-03-14 | 2015-09-22 | Microsoft Technology Licensing, Llc | Volume having tiers of different storage traits |
CN103327079A (zh) * | 2013-05-31 | 2013-09-25 | 青岛海信传媒网络技术有限公司 | 一种多媒体资源的缓存方法及装置 |
CN103686198A (zh) * | 2013-12-30 | 2014-03-26 | 优视科技有限公司 | 视频数据的处理方法、装置和*** |
CN103777903A (zh) * | 2014-01-23 | 2014-05-07 | 武汉市烽视威科技有限公司 | 一种适用于流媒体服务的数据存储方法 |
Family Cites Families (86)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2582175A1 (fr) * | 1985-05-20 | 1986-11-21 | Alcatel Espace | Procede et dispositif de telecommunications par satellite en acces multiple a repartition dans le temps |
GB8829919D0 (en) * | 1988-12-22 | 1989-02-15 | Int Computer Limited | File system |
US5367636A (en) * | 1990-09-24 | 1994-11-22 | Ncube Corporation | Hypercube processor network in which the processor indentification numbers of two processors connected to each other through port number n, vary only in the nth bit |
US5768598A (en) * | 1993-09-13 | 1998-06-16 | Intel Corporation | Method and apparatus for sharing hardward resources in a computer system |
US5515379A (en) * | 1993-10-18 | 1996-05-07 | Motorola, Inc. | Time slot allocation method |
US5566174A (en) * | 1994-04-08 | 1996-10-15 | Philips Electronics North America Corporation | MPEG information signal conversion system |
US5638516A (en) * | 1994-08-01 | 1997-06-10 | Ncube Corporation | Parallel processor that routes messages around blocked or faulty nodes by selecting an output port to a subsequent node from a port vector and transmitting a route ready signal back to a previous node |
WO1996017306A2 (en) * | 1994-11-21 | 1996-06-06 | Oracle Corporation | Media server |
US5794062A (en) * | 1995-04-17 | 1998-08-11 | Ricoh Company Ltd. | System and method for dynamically reconfigurable computing using a processing unit having changeable internal hardware organization |
US6138147A (en) * | 1995-07-14 | 2000-10-24 | Oracle Corporation | Method and apparatus for implementing seamless playback of continuous media feeds |
US6112226A (en) * | 1995-07-14 | 2000-08-29 | Oracle Corporation | Method and apparatus for concurrently encoding and tagging digital information for allowing non-sequential access during playback |
US7058721B1 (en) * | 1995-07-14 | 2006-06-06 | Broadband Royalty Corporation | Dynamic quality adjustment based on changing streaming constraints |
US6119154A (en) * | 1995-07-14 | 2000-09-12 | Oracle Corporation | Method and apparatus for non-sequential access to an in-progress video feed |
US5680640A (en) * | 1995-09-01 | 1997-10-21 | Emc Corporation | System for migrating data by selecting a first or second transfer means based on the status of a data element map initialized to a predetermined state |
US5729292A (en) | 1995-12-21 | 1998-03-17 | Thomson Multimedia, S.A. | Optimizing performance in a packet slot priority packet transport system |
US5854924A (en) * | 1996-08-08 | 1998-12-29 | Globetrotter Software, Inc. | Static debugging tool and method |
US5781227A (en) * | 1996-10-25 | 1998-07-14 | Diva Systems Corporation | Method and apparatus for masking the effects of latency in an interactive information distribution system |
US6166730A (en) * | 1997-12-03 | 2000-12-26 | Diva Systems Corporation | System for interactively distributing information services |
US6208335B1 (en) * | 1997-01-13 | 2001-03-27 | Diva Systems Corporation | Method and apparatus for providing a menu structure for an interactive information distribution system |
US6253375B1 (en) * | 1997-01-13 | 2001-06-26 | Diva Systems Corporation | System for interactively distributing information services |
US6305019B1 (en) | 1997-01-13 | 2001-10-16 | Diva Systems Corporation | System for interactively distributing information services having a remote video session manager |
US6192408B1 (en) * | 1997-09-26 | 2001-02-20 | Emc Corporation | Network file server sharing local caches of file access information in data processors assigned to respective file systems |
US5941969A (en) * | 1997-10-22 | 1999-08-24 | Auspex Systems, Inc. | Bridge for direct data storage device access |
US6219693B1 (en) * | 1997-11-04 | 2001-04-17 | Adaptec, Inc. | File array storage architecture having file system distributed across a data processing platform |
US6128717A (en) * | 1998-01-20 | 2000-10-03 | Quantum Corporation | Method and apparatus for storage application programming interface for digital mass storage and retrieval based upon data object type or size and characteristics of the data storage device |
US6697846B1 (en) * | 1998-03-20 | 2004-02-24 | Dataplow, Inc. | Shared file system |
EP1082853A1 (en) * | 1998-05-29 | 2001-03-14 | Diva Systems Corporation | Interactive information distribution system and method |
US6314573B1 (en) * | 1998-05-29 | 2001-11-06 | Diva Systems Corporation | Method and apparatus for providing subscription-on-demand services for an interactive information distribution system |
US6157051A (en) * | 1998-07-10 | 2000-12-05 | Hilevel Technology, Inc. | Multiple function array based application specific integrated circuit |
US7035278B2 (en) * | 1998-07-31 | 2006-04-25 | Sedna Patent Services, Llc | Method and apparatus for forming and utilizing a slotted MPEG transport stream |
US6574591B1 (en) * | 1998-07-31 | 2003-06-03 | Network Appliance, Inc. | File systems image transfer between dissimilar file systems |
US6148414A (en) * | 1998-09-24 | 2000-11-14 | Seek Systems, Inc. | Methods and systems for implementing shared disk array management functions |
US6618363B1 (en) * | 1998-10-09 | 2003-09-09 | Microsoft Corporation | Method for adapting video packet generation and transmission rates to available resources in a communications network |
JP2000148565A (ja) * | 1998-11-13 | 2000-05-30 | Hitachi Ltd | 異種オペレーティングシステムファイル共用方法およびファイル共用システム |
US6389218B2 (en) | 1998-11-30 | 2002-05-14 | Diva Systems Corporation | Method and apparatus for simultaneously producing compressed play and trick play bitstreams from a video frame sequence |
JP2000175189A (ja) * | 1998-12-07 | 2000-06-23 | Univ Tokyo | 動画符号化方法およびそれに用いる動画符号化装置 |
US6785338B1 (en) | 1999-01-19 | 2004-08-31 | Sarnoff Corporation | Constraining video production based on compression-related information |
US6588017B1 (en) | 1999-01-27 | 2003-07-01 | Diva Systems Corporation | Master and slave subscriber stations for digital video and interactive services |
AU4182400A (en) | 1999-03-30 | 2000-10-16 | Diva Systems Corporation | User access to secondary content associated with a primary content |
AU4328100A (en) | 1999-03-31 | 2000-10-16 | Diva Systems Corporation | Method and apparatus for performing impulse authorizations within a video on demand environment |
US6289376B1 (en) * | 1999-03-31 | 2001-09-11 | Diva Systems Corp. | Tightly-coupled disk-to-CPU storage server |
AU4048200A (en) | 1999-03-31 | 2000-10-16 | Diva Systems Corporation | Method for distributing and managing content for on demand applications utilizing local storage |
US8065708B1 (en) | 1999-03-31 | 2011-11-22 | Cox Communications, Inc. | Method for reducing latency in an interactive information distribution system |
US6721794B2 (en) * | 1999-04-01 | 2004-04-13 | Diva Systems Corp. | Method of data management for efficiently storing and retrieving data to respond to user access requests |
US6233607B1 (en) * | 1999-04-01 | 2001-05-15 | Diva Systems Corp. | Modular storage server architecture with dynamic data management |
US7127737B1 (en) | 2000-01-26 | 2006-10-24 | Sedna Patent Services, Llc | Bandwidth management techniques for delivery of interactive program guide |
US6499039B1 (en) * | 1999-09-23 | 2002-12-24 | Emc Corporation | Reorganization of striped data during file system expansion in a data storage system |
AU783202B2 (en) | 1999-10-28 | 2005-10-06 | Ncube Corporation | Adaptive bandwidth system and method for broadcast data |
US7564873B1 (en) | 1999-12-10 | 2009-07-21 | Cox Communications, Inc. | Method and apparatus for providing in-band messaging within a video on demand environment |
AU1953201A (en) | 1999-12-10 | 2001-06-18 | Diva Systems Corporation | Method and apparatus for storing content within a video on demand environment |
US7096481B1 (en) * | 2000-01-04 | 2006-08-22 | Emc Corporation | Preparation of metadata for splicing of encoded MPEG video and audio |
US8418214B2 (en) | 2000-01-13 | 2013-04-09 | Arris Group, Inc. | Method and apparatus for identifying a signal route for delivery of video-on-demand to a subscriber terminal |
AU2001234579A1 (en) | 2000-01-28 | 2001-08-07 | Diva Systems Corporation | Method and apparatus for content distribution via non-homogeneous access networks |
US7159235B2 (en) * | 2000-01-28 | 2007-01-02 | Sedna Patent Services, Llc | Method and apparatus for content distribution via non-homogeneous access networks |
US6986073B2 (en) * | 2000-03-01 | 2006-01-10 | Realtek Semiconductor Corp. | System and method for a family of digital subscriber line (XDSL) signal processing circuit operating with an internal clock rate that is higher than all communications ports operating with a plurality of port sampling clock rates |
US20010034786A1 (en) * | 2000-03-15 | 2001-10-25 | Ibm | Method ane system for streaming media data in heterogeneous environments |
US20010044851A1 (en) * | 2000-04-28 | 2001-11-22 | Rothman Peter Lorin | System and method for reducing the resources required to deliver streaming media |
US6745284B1 (en) * | 2000-10-02 | 2004-06-01 | Sun Microsystems, Inc. | Data storage subsystem including a storage disk array employing dynamic data striping |
US6970939B2 (en) * | 2000-10-26 | 2005-11-29 | Intel Corporation | Method and apparatus for large payload distribution in a network |
AU2002214659A1 (en) * | 2000-10-26 | 2002-05-06 | James C. Flood Jr. | Method and system for managing distributed content and related metadata |
US7031343B1 (en) | 2000-11-17 | 2006-04-18 | Alloptic, Inc. | Point-to-multipoint passive optical network that utilizes variable-length packets |
JP2002196954A (ja) * | 2000-12-27 | 2002-07-12 | Toshiba Corp | 記憶資源自動管理方法及びネットワークコンピュータシステム |
US7383288B2 (en) * | 2001-01-11 | 2008-06-03 | Attune Systems, Inc. | Metadata based file switch and switched file system |
US6775792B2 (en) * | 2001-01-29 | 2004-08-10 | Snap Appliance, Inc. | Discrete mapping of parity blocks |
US7444662B2 (en) * | 2001-06-28 | 2008-10-28 | Emc Corporation | Video file server cache management using movie ratings for reservation of memory and bandwidth resources |
GB2377284B (en) * | 2001-07-02 | 2005-06-22 | Sun Microsystems Inc | Computer storage systems |
US20030079018A1 (en) * | 2001-09-28 | 2003-04-24 | Lolayekar Santosh C. | Load balancing in a storage network |
US7174086B2 (en) * | 2001-10-23 | 2007-02-06 | Thomson Licensing | Trick mode using dummy predictive pictures |
US7546364B2 (en) * | 2002-05-16 | 2009-06-09 | Emc Corporation | Replication of remote copy data for internet protocol (IP) transmission |
US7657917B2 (en) * | 2002-05-23 | 2010-02-02 | Microsoft Corporation | Interactivity emulator for broadcast communication |
JP2004013367A (ja) * | 2002-06-05 | 2004-01-15 | Hitachi Ltd | データ記憶サブシステム |
US7197516B1 (en) * | 2002-07-22 | 2007-03-27 | Veritas Operating Corporation | Method and system for an overlay filesystem |
CN100596194C (zh) | 2002-10-10 | 2010-03-24 | 皇家飞利浦电子股份有限公司 | 在数字界面上进行itv特技播放的方法和设备 |
US7260576B2 (en) | 2002-11-05 | 2007-08-21 | Sun Microsystems, Inc. | Implementing a distributed file system that can use direct connections from client to disk |
JP2004199535A (ja) * | 2002-12-20 | 2004-07-15 | Hitachi Ltd | 計算機システムおよびそのストレージの管理方法 |
US8225194B2 (en) * | 2003-01-09 | 2012-07-17 | Kaleidescape, Inc. | Bookmarks and watchpoints for selection and presentation of media streams |
US20040158867A1 (en) * | 2003-02-10 | 2004-08-12 | General Instrument Corporation | Methods, systems, and apparatus for determining transport stream channels for video-on-demand applications |
US7051176B2 (en) * | 2003-03-25 | 2006-05-23 | Emc Corporation | Reading data provided to a remote storage device |
JP4301849B2 (ja) * | 2003-03-31 | 2009-07-22 | 株式会社日立製作所 | 情報処理方法及びその実施システム並びにその処理プログラム並びにディザスタリカバリ方法およびシステム並びにその処理を実施する記憶装置およびその制御処理方法 |
US7233946B1 (en) * | 2003-04-11 | 2007-06-19 | Sun Microsystems, Inc. | File interval lock generation interface system and method |
US6986019B1 (en) * | 2003-04-21 | 2006-01-10 | Maxtor Corporation | Method and apparatus for detection and management of data streams |
US7484050B2 (en) * | 2003-09-08 | 2009-01-27 | Copan Systems Inc. | High-density storage systems using hierarchical interconnect |
US7305529B1 (en) * | 2003-12-19 | 2007-12-04 | Symantec Corporation | Cooperative data replication |
US7039662B2 (en) * | 2004-02-24 | 2006-05-02 | Hitachi, Ltd. | Method and apparatus of media management on disk-subsystem |
JP4718122B2 (ja) * | 2004-04-06 | 2011-07-06 | 株式会社日立製作所 | メディア配信装置 |
US7318190B2 (en) * | 2004-06-10 | 2008-01-08 | Intel Corporation | Storage device parity computation |
-
2005
- 2005-07-20 CN CN2005800238220A patent/CN101027668B/zh active Active
- 2005-07-20 EP EP05773453A patent/EP1782287A2/en not_active Withdrawn
- 2005-07-20 US US11/186,300 patent/US7640274B2/en active Active
- 2005-07-20 WO PCT/US2005/025883 patent/WO2006012418A2/en active Application Filing
- 2005-07-20 JP JP2007522753A patent/JP4663718B2/ja active Active
- 2005-07-20 KR KR1020077003585A patent/KR100899462B1/ko active IP Right Grant
Cited By (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2010006514A1 (zh) * | 2008-07-17 | 2010-01-21 | 成都市华为赛门铁克科技有限公司 | 一种对文件虚拟化处理方法及装置 |
CN102341779A (zh) * | 2009-03-02 | 2012-02-01 | 国际商业机器公司 | 在多层级虚拟化存储结构中管理存储数据的布置的方法、***和计算机程序产品 |
CN101794306A (zh) * | 2010-03-02 | 2010-08-04 | 上海华平信息技术股份有限公司 | 多类型录像文件分块存储***及方法 |
CN101794306B (zh) * | 2010-03-02 | 2012-10-24 | 华平信息技术股份有限公司 | 多类型录像文件分块存储***及方法 |
CN102385606A (zh) * | 2010-09-03 | 2012-03-21 | 腾讯科技(深圳)有限公司 | 一种分布式数据仓库的访问方法和装置 |
CN102385606B (zh) * | 2010-09-03 | 2016-08-03 | 腾讯科技(深圳)有限公司 | 一种分布式数据仓库的访问方法和装置 |
CN102215163A (zh) * | 2011-03-24 | 2011-10-12 | 东莞中山大学研究院 | 一种多服务器视频点播处理方法 |
CN102215163B (zh) * | 2011-03-24 | 2014-04-09 | 东莞中山大学研究院 | 一种多服务器视频点播处理方法 |
CN103488640A (zh) * | 2012-06-11 | 2014-01-01 | 北汽福田汽车股份有限公司 | 一种映射文件的自动分析方法和装置 |
CN103488640B (zh) * | 2012-06-11 | 2017-01-25 | 北汽福田汽车股份有限公司 | 一种映射文件的自动分析方法和装置 |
TWI557666B (zh) * | 2012-09-07 | 2016-11-11 | 宏達國際電子股份有限公司 | 具優先次序內容之內容傳遞系統及相關方法 |
CN105339906B (zh) * | 2013-06-12 | 2018-07-20 | 日本电气株式会社 | 控制对永久存储设备的数据写入的方法 |
CN105339906A (zh) * | 2013-06-12 | 2016-02-17 | 日本电气株式会社 | 控制对永久存储设备的数据写入的方法 |
CN105917322A (zh) * | 2013-12-31 | 2016-08-31 | 赫耳墨斯科姆股份责任有限公司 | 用于通过usb盘和允许对其的实施的相关设备来交换控制的方法 |
CN105917322B (zh) * | 2013-12-31 | 2020-08-07 | 赫耳墨斯科姆股份责任有限公司 | 用于通过usb盘和允许对其的实施的相关设备来交换控制的方法 |
CN107924290A (zh) * | 2015-08-12 | 2018-04-17 | 三星电子株式会社 | 控制文件***的电子设备及其操作方法 |
CN108804338A (zh) * | 2017-04-28 | 2018-11-13 | 爱思开海力士有限公司 | 数据存储装置及其操作方法 |
CN108804338B (zh) * | 2017-04-28 | 2021-11-12 | 爱思开海力士有限公司 | 数据存储装置及其操作方法 |
US11249917B2 (en) | 2017-04-28 | 2022-02-15 | SK Hynix Inc. | Data storage device and operating method thereof |
CN107506494A (zh) * | 2017-09-27 | 2017-12-22 | 广东欧珀移动通信有限公司 | 文件处理方法、移动终端及计算机可读存储介质 |
CN107506494B (zh) * | 2017-09-27 | 2019-04-12 | Oppo广东移动通信有限公司 | 文件处理方法、移动终端及计算机可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
JP2008507771A (ja) | 2008-03-13 |
KR20070083489A (ko) | 2007-08-24 |
WO2006012418A3 (en) | 2006-06-29 |
JP4663718B2 (ja) | 2011-04-06 |
EP1782287A2 (en) | 2007-05-09 |
US20060064536A1 (en) | 2006-03-23 |
CN101027668B (zh) | 2012-01-04 |
US7640274B2 (en) | 2009-12-29 |
WO2006012418A2 (en) | 2006-02-02 |
KR100899462B1 (ko) | 2009-05-27 |
WO2006012418A9 (en) | 2007-03-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101027668B (zh) | 基于块映射表缓冲存储和虚拟文件***的可堆叠文件***模块的分布式存储结构 | |
US8843454B2 (en) | Elimination of duplicate objects in storage clusters | |
CN100437559C (zh) | 提供用于在存储设备的分布式文件***中进行信息追踪的元数据的***和方法 | |
US5933834A (en) | System and method for re-striping a set of objects onto an exploded array of storage units in a computer system | |
JP5411250B2 (ja) | 冗長データ記憶システムへの指示に従ってのデータ配置 | |
CN101228523B (zh) | 用于高速缓存网络文件***的***和方法 | |
US8214388B2 (en) | System and method for adding a storage server in a distributed column chunk data store | |
CN101520805A (zh) | 一种分布式文件***及其文件处理方法 | |
US20120084261A1 (en) | Cloud-based disaster recovery of backup data and metadata | |
US8219749B2 (en) | System and method for efficient updates of sequential block storage | |
EP1902394B1 (en) | Moving data from file on storage volume to alternate location to free space | |
TW200805134A (en) | Data operations in flash memories utilizing direct data file storage | |
CN1184285A (zh) | 多媒体***中高效传送数据流的***方法 | |
US20030154246A1 (en) | Server for storing files | |
CN102201005A (zh) | 一种文件***的流媒体增强文件布局方法 | |
CN104079600A (zh) | 文件存储方法、装置、访问客户端及元数据服务器*** | |
CN116561358A (zh) | 一种基于hbase的3D场景数据文件统一存储与检索方法 | |
Lee et al. | A new storage and retrieval method to support editing operations in a multi-disk-based video server | |
Ma et al. | An evaluation of storage systems based on network-attached disks | |
US10063256B1 (en) | Writing copies of objects in enterprise object storage systems | |
CN1574052A (zh) | 将可交换存储装置用于存储节目数据的***和方法 | |
Won et al. | HERMES: embedded file system design for A/V application | |
Seo | Survey on data placement and migration algorithms in distributed disk systems | |
CN117806873A (zh) | 一种多节点并发的海量文件备份恢复方法及*** | |
Steinmetz et al. | Media Server |
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 |