CN101751470B - 用于存储和/或检索数据集的系统及其方法 - Google Patents

用于存储和/或检索数据集的系统及其方法 Download PDF

Info

Publication number
CN101751470B
CN101751470B CN200910259006.XA CN200910259006A CN101751470B CN 101751470 B CN101751470 B CN 101751470B CN 200910259006 A CN200910259006 A CN 200910259006A CN 101751470 B CN101751470 B CN 101751470B
Authority
CN
China
Prior art keywords
data
storage
data set
memory storage
data file
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CN200910259006.XA
Other languages
English (en)
Other versions
CN101751470A (zh
Inventor
迈克尔·韦伯
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.)
Thomson Licensing SAS
Original Assignee
Thomson Licensing SAS
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 Thomson Licensing SAS filed Critical Thomson Licensing SAS
Publication of CN101751470A publication Critical patent/CN101751470A/zh
Application granted granted Critical
Publication of CN101751470B publication Critical patent/CN101751470B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0656Data buffering arrangements
    • 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
    • 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]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols 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]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/21Server components or server architectures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/21Server components or server architectures
    • H04N21/218Source of audio or video content, e.g. local disk arrays
    • H04N21/2187Live feed
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/239Interfacing the upstream path of the transmission network, e.g. prioritizing client content requests
    • H04N21/2393Interfacing the upstream path of the transmission network, e.g. prioritizing client content requests involving handling client requests
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/632Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing using a connection between clients on a wide area network, e.g. setting up a peer-to-peer communication via Internet for retrieving video segments from the hard-disk of other client devices
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/65Transmission of management data between client and server
    • H04N21/658Transmission by the client directed to the server
    • H04N21/6587Control parameters, e.g. trick play commands, viewpoint selection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/16Analogue secrecy systems; Analogue subscription systems
    • H04N7/173Analogue secrecy systems; Analogue subscription systems with two-way working, e.g. subscriber sending a programme selection signal
    • H04N7/17309Transmission or handling of upstream communications
    • H04N7/17318Direct or substantially direct transmission and handling of requests
    • 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/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

本发明的目的在于提供一种用于改进网络存储系统上的数据存取的系统和方法。提出了用于存储和/或检索数据集的系统1,其中,所述数据集包括多个数据文件,所述系统包括:存储装置3,用于存储所述数据集;至少一个客户机2,可操作以:将所述数据集写入所述存储装置3,并且/或者从所述存储装置3读取所述数据集;从所述客户机接收存取请求,以用于在所述存储装置3中存取所述数据集的至少一个数据文件,其中,所述存储主机5可操作以:将存取消息发送到所述存储装置3,其中,所述存储装置3可操作以:对相同数据集的其它数据文件或其块进行高速缓存,并且/或者为相同数据集的其它数据文件或其块分配存储空间,作为对于所述存取消息的反应。

Description

用于存储和/或检索数据集的系统及其方法
技术领域
本发明涉及一种用于存储和/或检索数据集的系统,并且涉及一种对应方法。更具体地说,本发明涉及一种用于存储和/或检索数据集的系统,其中,所述数据集包括多个数据文件,所述系统包括:存储装置,用于存储所述数据集;至少一个客户机,可操作以:将所述数据集写入所述存储装置,并且/或者从所述存储装置读取所述数据集;以及存储主机,用于从所述客户机接收存取请求,用于在所述存储装置中存取所述数据集的至少一个数据文件。 
背景技术
网络中数据的存储一般是基于分布式存储单元的。存在已知分布式存储系统的某些架构,其允许将来自多个计算机的数据存储在多个存储单元上: 
例如,网络附加存储(NAS)将基于文件的数据存储服务提供给网络的其它设备,由此数据存储单元或数据存储阵列(例如RAID)在网络(例如以太网)上在基于TCP/IP的协议(网络文件系统(NFS),CIFS)的基础上被存取。 
另一示例是存储区域网络(SAN),其提供基于块的存储,并且使得文件系统考虑“客户机”侧。存储区域网络允许将硬盘驱动器子系统与存储服务器连接。借助于簇文件系统,可以在存储区域网络中在硬盘驱动器子系统上分布客户机的存取操作,以检索所请求的文件的块。 
另一替代方式是分簇的NAS头(例如,pNFS、Lustre),由此,数据存取被分布在对于硬盘驱动器子系统的多个并行存取上。数据的存取可以是基于块的、基于对象的、或基于文件的。 
所有这些和其它分布式网络存储系统通常适用于所有种类的应用,从而一方面,提供对于随机存取的短的响应时间,另一方面提供高带宽。 
文献US 6721490 B1公开了一种分层存储器(hierarchical memory)机制以及一种数据回放机制,该分层存储器机制能够改进包含随机存取点的分段的命中率(hit rate)而不是改进高速缓存的总命中率,并且该数据回放机制能够自动检测用户潜在地用作回放开始索引的位置并且附连索引。分层存储设备存储据此可以估计包含未来可以潜在地随机存取的点的每一分段的概率的随机存取点分段信息,并且根据随机存取点分段信息来控制所选择的待存储在高速缓存存储设备中的分段的选择。文献US 2006/0080350A1公开了一种方法和系统,用于分配存储介质中的存储空间,以用于将数据存储在来自信息系统中运行的至少一个应用的单个文件中。所提出的是,当至少一个应用将数据存储在存储介质中以用于文件时,监控多个数据存储操作的至少一个特性。在下一步骤中,根据所监控的多个数据存储操作的至少一个特性来识别存储模式。基于这种自动识别的存储模式,待用于文件的附加数据的存储空间的量被确定并且被分配。
文献EP 1 345 113 A2描述了最接近的现有技术,并且公开了一种管理服务器,其管理所述存储设备具有的物理数据区域作为虚拟数据区域。为了改善管理服务器的效率,实现提前读取(read-ahead)进程,由此,服务器在从虚拟数据区域检索数据的情况下将新的项添加到提前读取历史信息,并且在检查先前提前读取处理是否已经将下一次变为读出目标的数据读出到高速缓存上的情况下使用提前读取历史信息。 
发明内容
本发明的目的在于提供一种用于改进网络存储系统上的数据存取的系统和方法 
通过以下描述的系统以及方法来实现该目的。该系统是一种用于检索数据集的系统(1),所述系统包括:存储装置(3),用于存储所述数据集;至少一个客户机(2),可操作以:从所述存储装置(3)读取所述数据集;以及存储主机(5),可操作以:从所述客户机接收存取请求,用于在所述存储装置(3)中存取所述数据集的至少一个数据文件,以及将存取消息发送到所述存储装置(3),其中,所述存储装置(3)可操作以:对相同数据集的其它数据文件或其块进行高速缓存,作为对于所述存取消息的反应,其特征在于,所述数据集包括多个数据文件,其通过它们的内容而互连,由此在检索一个数据集的一个或多个数据文件的情况下基于先验知识生成所述存取消息,将可以通过进一步的请求来检索这个数据集的其它数据文件。以及该方法是一 种用于存储和/或检索数据集或其块的方法,其特征在于,使用根据前述的系统(1),由此存取消息,尤其是高速缓存消息或分配消息,被发送到所述存储装置(3),其中,所述存储装置(3)响应于所述存取消息,尤其是所述高速缓存消息,对相同数据集的其它数据文件或其块进行高速缓存,并且/或者响应于所述存取消息,尤其是所述分配消息,为相同数据集的其它数据文件或其块分配存储空间。本发明优选实施例公开在各个从属权利要求、说明书以及附图中。 
本发明涉及一种系统,其适用于和/或可操作以存储和/或检索数据集。所述数据集包括多个数据文件,由此,每一数据文件是分离的计算机文件,包括多个字节、文件名和/或文件属性。所述计算机文件是例如在由文件名以及扩展名所标识的窗口系统中已知的。所述数据集包括多个这种数据文件,例如多于10或50个的数据文件。在某些应用中,数据文件的数量例如对于20秒电影序列可以超过500,或者可以对于70分钟电影序列超过100000。 
所述系统包括存储装置,用于存储数据集。所述存储装置优选地实现为一个或多个硬盘驱动器,用于数据的非易失性存储。所述存储装置还包括一个或多个高速缓存,其可以实现为易失性存储器,并且允许来自所述存储装置(尤其是来自所述硬盘驱动器)的数据的高速缓存。 
所述系统还包括并且/或者可连接到至少一个客户机,其可操作以:将所述数据集写入所述存储装置,并且/或者从所述存储装置读取所述数据集。优选地,提供多个这种客户机,其被连接到和/或可连接,以存取所述存储装置。 
为了组织写入以及读取存取,提供一种存储主机,可操作以:从所述客户机接收存取请求,用于存取所述存储装置上的数据文件,尤其用于从所述存储装置或在所述存储装置上读取和/或写入所述数据文件。 
根据本发明,所提出的是,所述存储主机可操作以:将存取消息发送到所述存储装置,其中,所述存储装置可操作以:对相同数据集的其它数据文件或其块进行高速缓存,作为对于所述存取消息的反应;和/或为相同数据集的其它数据文件或其块分配存储空间,作为对于所述存取消息的反应。 
在一个可能的实施例中,所述存取消息被实现为序列消息,其中,所述存取消息向所述存储装置通知将存取的但就存取类型而言是中性的(neutral)数据集和/或数据文件或其块的标识。在该实施例中,所述数据装置可操作以:通过与一个或多个客户机的通信来检测所述存取类型。 
在另一实施例中,所述存取请求是来自客户机的读请求,用于从所述存储装置检索所述数据集的至少一个数据文件。作为对于所述读请求的响应,所述存储主机可以向客户机提供对于所述读请求的应答,优选地具有地址信息(例如物理地址或逻辑地址),用于所述存储装置中的数据文件或其块。 
可替换地或者此外,所述存取请求是来自所述客户机的写请求,用于将所述数据集的至少一个数据文件存储在所述存储装置中。作为响应,所述存储主机可以向客户机提供对于所述写请求的应答,优选地具有地址信息(例如物理地址或逻辑地址),在此可以存储所述数据文件或其块。 
在另一实施例中,所提出的是,存储主机可操作以:将高速缓存消息和/或分配消息作为所述存取消息发送到所述存储装置,其中,所述存储装置可操作以:对相同数据集的其它数据文件或其块进行高速缓存,作为对于所述高速缓存消息的反应,和/或为相同数据集的其它数据文件或其块分配存储空间,作为对于所述分配消息的反应。 
本发明的一个发现是,已知的存储系统通常必须提供随机存取的短响应时间与高带宽之间的折衷。这种折衷可能导致性能减弱。尤其是在多个并行存取操作的情况下,基于硬盘驱动器的存储系统必须执行多个头移动,以使得用于并行/存取操作的平均响应时间最小。作为不利效果,带宽因头移动所需的时间而减小。 
为了改进带宽以及响应时间,提出使用这样的知识:在存储和/或检索一个数据集的一个或多个数据文件的情况下,很可能将通过进一步的请求来存储和/或检索该数据集的其它数据文件。基于这种先验知识或陈述,存取消息(尤其是高速缓存消息和/或分配消息)被生成并且被发送到所述存储装置,从而存储装置能够准备改进的读取或写入方案。 
在本发明的可能实施例中,数据集的数据文件属于一起,和/或通过它们的内容而互连。这种类型的数据集的数据文件并非不连贯,而是指示相同的信息内容。 
在进一步的开发中,所述数据集表示图像序列,并且/或者所述数据文件表示图像文件。尤其是所述数据集允许图像序列的基于帧的存储。这种基于帧的存储例如用在.dpx格式中,其中,图像序列的单个图像或帧被保存在一个单一目录中。该目录表示数据集,并且单个图像或帧表示数据文件。例如,图像序列的每秒24帧并且因此24个数据文件被保存到单一目录。在关于目 录的各帧之一客户机将读请求或写请求发送到所述存储主机的情况下,很可能在最近的将来或作为下一请求,相同图像序列并且因此相同目录的其它帧将被存储或者检索。通过将存取消息(尤其分别是高速缓存消息或分配消息)发送到所述存储装置,所述存储装置可以将相同目录的其它数据文件发送到其高速缓存,或者为该目录的其它数据文件分配存储空间。 
在本发明又一可能实施例中,例如通过一个单一图像序列的图像文件的文件名对其进行索引。例如,在所述.dpx格式中,一个序列的所有数据文件获得相同文件名,并且被连续标号。通过数据文件的索引的知识,可以通知所述存储装置根据索引将其它数据文件发送到所述高速缓存,并且/或者还根据索引分配存储器空间。 
在本发明另一实施例中,所述存储主机包括分析模块,可操作以:分析所述读请求和/或多个这种读取请求,由此估计读取相同数据集的其它数据文件的需要。然而,在另一实施例中,客户机可以将关于本数据集的标识的信息发送到所述存储主机。然而,客户机还可以使用标准网络协议,从而无需客户机为了使用根据本发明的系统而进行适应。在另一实施例中,所述分析模块分析所述读请求和/或多个这种读取请求,并且判断所述读请求是否仅意欲用于一个单一帧并且因此随机存取或部分序列请求。 
在本发明的开发中,所述分析模块可操作以:估计相同数据集的所估计的其它数据文件的顺序。在该开发中,所述分析模块不仅能够标识数据集并且在随机存取与序列请求之间进行区分,而且还估计所需的其它数据文件的顺序。最后提及的估计优选地是基于以下类型的视频处理的,它们是: 
-前进回放:将按升序请求帧。 
-后退回放:将按降序请求帧。 
-快进回放:将按升序请求每个第n帧。 
-快退回放:将按降序请求每个第n帧。 
-循环:将重复请求n帧的集合。 
-PAN:将向前并且向后请求n帧的集合。 
为了使得系统能够使用所述分析模块的估计,优选地,所述高速缓存消息包括用于优选地按所估计的顺序对所估计的其它数据文件或其块进行高速缓存的指令和/或数据。在接收到高速缓存消息之后,所述存储装置将对数据文件或其块进行高速缓存,其将可能在下一步骤或其它步骤中从客户机被请 求。 
在本发明另一开发中,所述存储主机包括分析模块,可操作以:分析所述写请求和/或多个这种写请求,由此估计写入相同数据集的其它数据文件的需要。在所述分析模块识别所述客户机正将具有多个图像文件的图像序列作为具有数据文件的数据集写入所述存储装置的情况下,所述存储主机可以相应地以所述分配消息通知所述存储装置。 
在本发明再一实施例中,分析模块可操作以:分析所述存取请求和/或多个这种存取请求,由此估计存取相同数据集的其它数据文件的需要。在所述分析模块识别所述客户机正存取序列的情况下,所述存储主机可以相应地通过所述存取消息(尤其是序列消息)通知所述存储装置。 
在一个实施例中,所述分配消息包括用于在所述存储装置的写和/或读区域中高效地写入所估计的其它数据文件或其块的指令。优选地,所述区域是这样布置的:所述存储装置的硬盘驱动器的头移动以写入和/或检索所述数据文件或其块的数量被减小或最小化。优选地,所述存储装置的一个存储介质上的区域相邻地被连接和/或被放置。 
在本发明一个实施例中,所述存储装置实现为多个存储单元,其通过网络连接而与客户机和/或存储主机连接。所述存储装置和/或所述存储单元优选地被组织为基于块的,从而作为数据文件的检索的准备的高速缓存也是基于块的。根据本发明系统的某些实施例,数据的块被发送到所述高速缓存,其将可能在随后请求期间被请求。 
因此,分布式存储网络的优选架构包括多个存储单元作为存储装置,并且定义所述存储单元按块存储所述数据文件,并且所述存储主机组织所述数据文件的文件系统。为了从分布式存储网络检索数据文件,优选地,所述客户机首先从所述存储主机检索关于文件结构的信息,作为对于单个数据文件的读请求的响应。该信息包括多个存储单元之间的数据文件的分布以及因此作为所分布的数据文件的部分的块的分布,从而所述客户机可以从多个数据单元有选择地请求块。 
在另一开发中,除了数据文件的空间分布之外,所述存储主机还在存储和/或检索数据集或数据集的数据文件期间控制时间分布。为此,所述存储主机适用于,使能所述存储装置(尤其是所述存储单元)的时间管理。在所述时间管理中,定义时间片,用于在一个单一时间片期间将单个数据集的多个 数据文件或其块读取或者写入到所述存储装置,尤其是单个存储单元。例如,在用于写入的单个时间片期间,由所述存储装置(尤其是单个存储单元)独占地执行多个写操作,从而写处理不被其它读或写处理所中断或干扰。以相同方式,定义读时间片,在此期间,仅由所述存储装置(尤其是单个存储单元)执行关于单个数据集的数据文件或其块的读操作。 
时间管理的优点在于,在每一单个时间片中,多个读操作或写操作分别被收集或者集中,在所述存储装置或存储单元是硬盘驱动器或盘驱动器的情况下,可以通过非常高效的方式(尤其是使得头移动最小化)来执行该操作。 
可以有利地收集关于另一时间片内各个数据集的随机存取操作。在这个实施例中,由存储主机的时间管理定义用于(a)从一个单一数据集读取块,(b)写入来自一个单一数据集的块以及(c)读取或者写入来自多个数据集的块的时间片。 
在本发明另一开发中,所述时间管理可以设置优先级,用于根据请求客户机来分布时间片和/或时间片长度。在实施例中,用于较高优先级的客户机的时间片可以被批准较长的时间段,并且/或者可以比较低优先级的客户机更经常地被批准。在另一实施例中,可以实现防止系统崩溃的策略,由此,在迫近崩溃的情况下,某些客户机可以通过时间管理或者存储主机而面对受限的数据存取,或者被排除对于存储装置的存取,从而某些客户机(尤其是较高优先级的客户机)能够工作,而某些客户机(尤其是较低优先级的客户机)临时减慢或者被禁用。 
本发明的另一主题内容是一种用于存储和/或检索数据集的方法,其使用根据前述权利要求之一和/或如具有权利要求16的特征的在前描述的系统。 
附图说明
通过本发明优选实施例的以下详细描述以及附图公开本发明的其它特征、优点和/或效果,附图示出: 
图1是示出增强的读操作的根据本发明的系统的示意图; 
图2是用于示出增强的写步骤的根据本发明的系统的示意性框图; 
图3是根据本发明的系统的整个架构的框图; 
图4是用于示出可以对根据前面附图的系统执行的时间片方法的示图。 
具体实施方式
图1示出存储区域网络(SAN)1或替换地分簇的NAS头(例如,pNFS、Lustre)作为本发明可能的实施例的示意性框图。SAN 1包括一个或多个客户机2,其通过直接连接4(例如,比如以太网或互联网的网络)连接到多个存储单元3。此外,客户机2与存储主机5连接,用于检索存储单元3中存储的数据的位置信息。存储主机5通过连接9与存储单元3连接,用于发送关于优化读策略和写策略的信息。 
图1的示例性SAN 1尤其适用于与电影(例如影院电影)的编辑结合使用。电影的序列是基于帧而存储的,其中,例如,以.dpx格式,每一序列被存储在分离的文件目录中,并且其中,序列的单个帧被存储在文件目录中,全具有相同文件名和单独索引号。这种存储架构允许基于文件系统确定或者检测使用哪个序列,哪些帧属于序列以及帧具有哪种顺序。 
序列上的典型类型的存取是:随机存取,意味着一个随机帧被请求;前进回放,意味着帧按升序被请求;后退回放,意味着帧按降序被请求;快进回放,意味着每个第n帧按升序被请求;快退回放,意味着每个第n帧按降序被请求;循环,意味着n帧的集合被重复请求;以及PAN,意味着n帧的集合前进以及后退地被重复请求。 
在传统应用中,不属于本发明,客户机2将读请求发送到存储主机5,以用于单个帧文件,并且接收存储单元3之间分布的帧文件的块的位置。在下一步骤中,客户机2通过使用直接连接4从存储单元3请求块。传统应用的缺点在于,存储单元3必须以随机存取方式搜索单个块,因为通常地请求是以它们到达的顺序而被处理的。 
在根据图1的本发明的实施例中,存储主机5包括分析模块6,其可操作以:分析来自客户机2的一个或多个读请求。一旦分析模块6检测到指示需要或者可能将请求相同序列的其它帧文件的读请求的模式,其就将高速缓存消息发送到存储单元3。在接收到该高速缓存消息之后,存储单元3将检测到的序列的帧文件的块从较慢存储部件7发送到较快高速缓存部件8。较慢存储部件7可以包括硬盘驱动器。 
在分析模块6的估计或假设是正确的情况下,客户机2现在能够请求将从存储单元3的较快高速缓存部件8递送的块,从而数据的检索速度明显增强。在本发明一个可能的实施例中,各个请求的序列的所有块被传递到高速 缓存部件8。 
在本发明另一实施例中,分析模块6还估计请求的类型,其例如是前进回放、后退回放等。通过所估计的请求的类型,存储主机5和/或分析模块6现在能够发送具有关于序列以及请求的类型的标识的信息的高速缓存消息,从而仅将需要的帧文件或其块从慢部件7发送到高速缓存部件8。例如,在快进回放的情况下,仅每个第n(第二、第三、第4)帧文件或其块将被发送到高速缓存部件8。存储主机5还可以仅通知存储单元3应对哪些块并且可选地对于哪个主机进行高速缓存。作为选择,存储单元3将比如高速缓存的大小、填充级别、待机时间、负载的参数优选地周期性地报告给存储主机5,以允许高效控制。可选地,存储单元3报告返回检测到的存取类型。 
图2示出SAN 1的另一示意性框图作为第一实施例的另一开发或作为本发明的第二实施例。图2示出SAN 1上的写操作,其中,写请求从客户机2发送到存储主机5。在分析模块6识别流式传输行为的情况下,也就是说,例如,在单个目录中具有升序标号的帧文件的连续请求,存储主机5和/或分析模块6分配存储单元3(尤其是慢部件7)中的连续或邻近块。此外,存储主机5或分析模块6将分配消息发送到存储单元3,并且命令分配各个块,从而一方面可以通过高效方式来写入一个序列的帧文件的块,而另一方面,在读处理期间,也可以通过高效方式来读取一个序列的帧文件和/或其块。 
图3示出SAN 1的整个架构的可能的实施例,其中,在右手边,示出多个客户机2,其通过网络4与存储单元3和存储主机5连接。通过网络4将来自客户机2的读请求和写请求传递到存储主机2。作为响应,存储主机5也通过网络4将地址信息发送回到客户机2。通过分离的网络连接9来传递分配消息或高速缓存消息。在本发明其它实施例中,网络连接9也可以是网络4的一部分。 
图4直观化示出时间片方法,其由前面附图的存储主机5控制。在估计对于单个数据集的其它数据文件或其块的需要之后,存储主机5组织在一个时间片10期间执行从慢部件7到存储单元3之一的高速缓存部件8的来自多个所述数据文件或其块的传递。时间片10包括:短时间段11,用于找寻所请求的数据文件或其块;以及另一时间段12,用于将多个数据文件或块从慢部件7传递到较快高速缓存部件8。 
在可能的实施例中,在一个时间片10期间传递将可能在预定时间段期间 需要的数据集的所有数据文件或其块。所述预定时间段可以是任意的,或者可以由关于相同数据集和/或提供相同客户机2的两个时间片10和13之间的时间段来定义。例如,在0秒与0.1秒之间的时间片10期间,将传递24帧或各个块,这表示在前进回放期间1秒序列的数据。在1秒之后,开始另一时间片13,其将相同数据集的下一24帧或其块传递到高速缓存部件8。在时间片10与13之间,处理其它时间片14、15和17,由此传递数据,其考虑另外的数据集和/或客户机2。 
时间片方法的优点在于,存储单元3在一个占空比期间收集所有数据文件或其块,而没有因随机存取或其它请求的中断。作为结果,存储单元3的整个性能被增加。可以在一个时间片17期间收集并且执行随机存取16,如图4的左手边所示。作为替换方式,可以在图4的右手边所示的时间片13、14与15之间执行随机存取16,以减少存取时间。 

Claims (16)

1.一种用于存取数据集、或数据文件或其块的方法,所述数据集包括多个数据文件,其通过它们的内容而互连,所述方法包括步骤:
存储主机(5)从客户机接收存取请求,
响应于存取消息,在所述存取请求是写请求的情况下,所述存储主机(5)将预分配消息发送到存储装置(3),所述存储装置(3)响应于所述存取消息为相同数据集的其它数据文件或块预分配存储空间,或者
响应于存取消息,在所述存取请求是读请求的情况下,所述存储主机(5)将预高速缓存消息发送到存储装置(3),所述存储装置(3)响应于所述存取消息预高速缓存相同数据集的其它数据文件或块,
其中,在检索或存储一个数据集的一个或多个数据文件的情况下基于先验知识生成所述存取消息中的预高速缓存或预分配,将可以通过进一步的请求来检索或存储相同数据集的其它数据文件。
2.根据权利要求1所述的方法,其中,所述数据集表示图像序列,或者所述数据文件表示图像文件。
3.根据权利要求1所述的方法,其中,所述数据文件被索引。
4.根据权利要求3所述的方法,其中,所述数据文件通过它们的文件名被索引。
5.根据权利要求1所述的方法,进一步包括:所述存储主机(5)分析所述读请求和/或多个这种读请求,由此估计读取相同数据集的其它数据文件的需要。
6.根据权利要求5所述的方法,进一步包括:对所估计的相同数据集的其它数据文件的顺序进行估计。
7.根据权利要求6所述的方法,其中,所述顺序是基于以下类型的视频处理的:
-前进回放,
-后退回放,
-快进回放,
-快退回放。
8.根据权利要求5所述的方法,其中,所述预高速缓存消息包括:用于对所估计的其它数据文件或其块进行高速缓存的指令。
9.根据权利要求8所述的方法,进一步包括以所估计的顺序对所估计的其它数据块进行高速缓存。
10.根据权利要求1所述的方法,进一步包括:所述存储主机(5)分析所述写请求和/或多个这种写请求,由此估计写入相同数据集的其它数据文件的需要。
11.根据权利要求10所述的方法,其中,写消息包括:用于按允许根据各个存储装置的有效存取的方式将所估计的其它数据文件或其块写入所述存储装置的区域的指令。
12.根据权利要求1所述的方法,进一步包括所述存储主机(5)定义用于存取所述存储装置的时间管理。
13.根据权利要求12所述的方法,其中,所述时间管理包括:分配时间片(13,14,15),用于所述存储装置的读操作和/或写操作,其中,单个数据集的多个数据文件和/或其块在一个单一时间片期间被处理,或者其中,时间片(17)被分配,用于处理随机存取操作。
14.一种用于存取数据集的系统(1),所述系统包括:
存储装置(3),用于存储所述数据集;
至少一个客户机(2),可操作以:从所述存储装置(3)读取所述数据集或者将所述数据集写入所述存储装置(3);和
存储主机(5),可操作以:从所述客户机接收存取请求,用于在所述存储装置(3)中存取所述数据集的至少一个数据文件,以及将存取消息发送到所述存储装置(3),其中,所述存储装置(3)和所述存储主机(5)适用于执行根据上述权利要求的任一项所述的方法。
15.根据权利要求14所述的系统(1),其中,所述存储装置包括多个存储单元(3),所述多个存储单元经由网络连接(4)与所述客户机(2)和/或所述存储主机(5)连接。
16.根据权利要求14所述的系统(1),其中,一个数据集的所述数据文件由所述存储单元按文件方式和/或块方式进行处理。
CN200910259006.XA 2008-12-09 2009-12-09 用于存储和/或检索数据集的系统及其方法 Expired - Fee Related CN101751470B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP08305905A EP2196895A1 (en) 2008-12-09 2008-12-09 System for storing and/or retrieving a data-set and method thereof
EP08305905.5 2008-12-09

Publications (2)

Publication Number Publication Date
CN101751470A CN101751470A (zh) 2010-06-23
CN101751470B true CN101751470B (zh) 2014-02-19

Family

ID=40429940

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200910259006.XA Expired - Fee Related CN101751470B (zh) 2008-12-09 2009-12-09 用于存储和/或检索数据集的系统及其方法

Country Status (4)

Country Link
US (1) US8261316B2 (zh)
EP (2) EP2196895A1 (zh)
CN (1) CN101751470B (zh)
BR (1) BRPI0904970A2 (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8625635B2 (en) * 2010-04-26 2014-01-07 Cleversafe, Inc. Dispersed storage network frame protocol header
CN102436355B (zh) * 2011-11-15 2014-06-25 华为技术有限公司 一种数据传输方法、设备及系统
KR101709118B1 (ko) * 2012-05-04 2017-02-22 한국전자통신연구원 하이브리드 스토리지 시스템의 파일 관리 방법 및 장치
CN104216908A (zh) * 2013-06-03 2014-12-17 上海普华诚信信息技术有限公司 互联网数据管理系统及其读写方法
DE102015220485A1 (de) * 2015-10-21 2017-04-27 Robert Bosch Gmbh Verfahren zum Schreiben und Lesen eines Datensatzes
CN106951301B (zh) * 2017-04-27 2018-07-13 腾讯科技(深圳)有限公司 文件预读方法及装置
CN109669811B (zh) * 2017-08-15 2021-04-13 金钱猫科技股份有限公司 一种能够可靠性访问的数据处理方法及终端
US10802973B1 (en) 2019-07-01 2020-10-13 Bank Of America Corporation Data access tool

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1345113A2 (en) * 2002-03-13 2003-09-17 Hitachi, Ltd. Management server
CN1760874A (zh) * 2004-10-13 2006-04-19 惠普开发有限公司 基于模式识别来分配文件存储器

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3396639B2 (ja) * 1998-09-30 2003-04-14 株式会社東芝 階層記憶装置及び階層記憶制御方法
SE524679C2 (sv) * 2002-02-15 2004-09-14 Ericsson Telefon Ab L M System för broadcast/multicast-utsändning av datainformation emot en lokal del av ett trådlöst nät
US7921189B2 (en) * 2006-11-20 2011-04-05 Microsoft Corporation Single virtual client for multiple client access and equivalency

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1345113A2 (en) * 2002-03-13 2003-09-17 Hitachi, Ltd. Management server
CN1760874A (zh) * 2004-10-13 2006-04-19 惠普开发有限公司 基于模式识别来分配文件存储器

Also Published As

Publication number Publication date
EP2196895A1 (en) 2010-06-16
BRPI0904970A2 (pt) 2011-02-08
US8261316B2 (en) 2012-09-04
EP2196896A1 (en) 2010-06-16
CN101751470A (zh) 2010-06-23
US20100146230A1 (en) 2010-06-10

Similar Documents

Publication Publication Date Title
CN101751470B (zh) 用于存储和/或检索数据集的系统及其方法
US8521986B2 (en) Allocating storage memory based on future file size or use estimates
KR101833114B1 (ko) 분산 데이터베이스 시스템들을 위한 고속 장애 복구
US20180285167A1 (en) Database management system providing local balancing within individual cluster node
US8909887B1 (en) Selective defragmentation based on IO hot spots
JP2020038623A (ja) データを記憶するための方法、装置及びシステム
CN109947363B (zh) 一种分布式存储系统的数据缓存方法
CN110226157A (zh) 用于减少行缓冲冲突的动态存储器重新映射
CN103558992A (zh) 堆外直接内存数据存储器,创建和/或管理堆外直接内存数据存储器的方法,和/或包括堆外直接内存数据存储器的系统
CN103856567A (zh) 基于Hadoop分布式文件系统的小文件存储方法
CN106933868A (zh) 一种调整数据分片分布的方法及数据服务器
EP2765522B1 (en) Method and device for data pre-heating
CN113254270B (zh) 一种存储缓存热点数据自恢复方法、系统及存储介质
CN109254958A (zh) 分布式数据读写方法、设备及系统
US7660964B2 (en) Windowing external block translations
CN113568582A (zh) 数据管理方法、装置和存储设备
CN113687781A (zh) 一种热数据的上拉方法、装置、设备及介质
CN116893789B (zh) 一种数据管理方法、系统、装置、设备及计算机存储介质
US20240126700A1 (en) Document locking and cache memory management in cloud computing
CN111399753A (zh) 写入图片的方法和装置
CN116643704A (zh) 存储管理方法、装置、电子设备及存储介质
JP2006031446A (ja) データ記憶装置、データ記憶方法およびデータ記憶プログラム
CN115993932A (zh) 数据处理方法、装置、存储介质以及电子设备
CN107786599B (zh) 内存云系统
CN109508140A (zh) 存储资源管理方法、装置、电子设备及电子设备、系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20140219

Termination date: 20161209