CN103593147A - 一种数据读取的方法及装置 - Google Patents
一种数据读取的方法及装置 Download PDFInfo
- Publication number
- CN103593147A CN103593147A CN201310554709.1A CN201310554709A CN103593147A CN 103593147 A CN103593147 A CN 103593147A CN 201310554709 A CN201310554709 A CN 201310554709A CN 103593147 A CN103593147 A CN 103593147A
- Authority
- CN
- China
- Prior art keywords
- data
- reading out
- virtual
- file
- out data
- 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
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/067—Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- 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/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明实施例提供了一种数据读取的方法及装置,涉及通信领域,可以提高数据的读取效率。所述方法包括:接收客户端发送的第一数据读取指令;获得所述本次读取数据所在文件在所述虚拟存储文件上的虚拟地址;选择一个虚拟地址作为预读数据在所述虚拟存储文件上的预读虚拟地址;根据虚拟存储文件上的虚拟地址和物理存储设备上的物理地址的对应关系,通过本次读取数据在虚拟存储文件上的虚拟地址访问物理存储设备获得本次读取数据,通过预读虚拟地址访问物理存储设备,获得预读数据;向客户端发送本次读取数据并将预读数据存储在NAS设备的缓存内并记录所述预读数据在物理存储设备上的物理地址。
Description
技术领域
本发明涉及通信领域,尤其涉及一种数据读取的方法及装置。
背景技术
NAS(Network Attached Storage,网络附属存储)是服务器或工作站通过网络实现信息存储和资源共享的一种存储技术,在虚拟化场景常使用NAS设备作后端存储设备。以VMware(Virtual Machine Ware,虚拟机软件)虚拟化场景为例,NAS设备作为数据存储为客户端提供存储资源。当虚拟环境的管理员为客户端的某一个虚拟机添加一个磁盘驱动器后,在虚拟机中会生成一个新的磁盘分区C,在NAS设备上会生成一个扩展名为vmdk的虚拟存储文件*.vmdk1。当用户在所述新的磁盘分区按需增删目录和文件(此类文件或目录可以统称为虚拟文件),或者创建此磁盘分区中的目录、文件树结构时,在NAS设备上仍仅有一个虚拟存储文件*.vmdk1与其对应,所述NAS设备并不知道各个虚拟文件在虚拟存储文件*.vmdk1上的虚拟地址。
以虚拟文件demo.txt为例,客户端在磁盘分区C增加文件demo.txt时,虚拟文件demo.txt会被随机分布在虚拟存储文件上的不同虚拟地址处,相应的,demo.txt对应的实际数据也被随机分配在物理存储设备上的不同物理地址处。客户端中存储有demo.txt对应在虚拟存储文件*.vmdk1中的偏移量及长度,这样,所述客户端在读取demo.txt时,就会向所述NAS设备发送其对应的在虚拟存储文件*.vmdk1中的偏移量及长度,由于所述NAS设备中存储有虚拟存储文件与物理存储设备的对应转换关系,故NAS设备就可以将所述偏移量和长度转换为对应的在物理存储设备上的物理地址,进而访问物理存储设备,读取到客户端本次要读取的数据。
在上述数据读取的过程中,客户端每次只能向NAS设备发送一个偏移量及长度,NAS设备只能根据客户端发送的所述偏移量及长度,查找到其对应的物理存储设备上的一个的物理地址,由于NAS设备不知道demo.txt在物理存储设备上的多个物理地址间的关联关系,故所述NAS设备无法提前预读用户本次要读的虚拟文件的后续部分,进而影响数据的读取效率。
发明内容
本发明的实施例提供一种数据读取的方法及装置,可以提高数据的读取效率。
为达到上述目的,本发明的实施例采用如下技术方案:
第一方面,公开了一种数据读取的方法,包括:
网络附属存储NAS设备接收客户端发送的第一数据读取指令,所述第一数据读取指令包括:本次读取数据在虚拟存储文件上的虚拟地址,本次读取数据所在文件的唯一标识;
所述NAS设备根据所述本次读取数据所在文件在所述虚拟存储文件上的虚拟地址和所述唯一标识之间的对应关系,获得所述本次读取数据所在文件在所述虚拟存储文件上的虚拟地址;所述本次读取数据所在文件包括多个数据块,其中每个数据块对应虚拟存储文件上的一个虚拟地址;
所述NAS设备从所述本次读取数据所在文件在虚拟存储文件上的虚拟地址中,选择除了本次读取数据、已读数据和已预读数据在虚拟存储文件上的虚拟地址外的任一虚拟地址,作为预读数据在所述虚拟存储文件上的预读虚拟地址;
所述NAS设备根据自身存储的所述虚拟存储文件上的虚拟地址和物理存储设备上的物理地址的对应关系,通过所述本次读取数据在虚拟存储文件上的虚拟地址,访问所述本次读取数据在所述物理存储设备上的物理地址,获得所述本次读取数据;通过所述预读虚拟地址,访问所述预读数据在所述物理存储设备上的物理地址,获得所述预读数据;
所述NAS设备向所述客户端发送所述本次读取数据;
所述NAS设备将所述预读数据存储在所述NAS设备的缓存内并记录所述NAS设备缓存内的预读数据在物理存储设备上的物理地址。
结合第一方面,在第一种可能的实现方式中,所述方法还包括:
在所述NAS设备接收客户端发送的第一数据读取指令之前,所述方法还包括:
所述NAS设备接收所述客户端发送的文件写入指令,所述文件写入指令中携带有本次写入文件的数据以及本次写入文件的唯一标识;
所述NAS设备为所述本次写入文件分配其在所述物理存储设备上的物理地址;
所述NAS设备记录所述本次写入文件的唯一标识和所述本次写入文件在所述虚拟存储文件上的虚拟地址之间的对应关系。
结合第一方面的第一种可能的实现方式,在第二种可能的实现方式中,所述NAS设备为所述本次写入文件分配在所述物理存储设备上的物理地址是连续的。
结合第一方面或第一方面的第一种可能的实现方式,在第三种可能的实现方式中,在所述NAS设备将所述预读数据存储在所述NAS设备的缓存内之后,所述方法还包括:
所述NAS设备接收所述客户端发送的第二数据读取指令,所述第二数据读取指令包括:第二次读取数据在虚拟存储文件上的虚拟地址,第二次读取数据所在文件的唯一标识;
所述NAS设备根据自身存储的所述虚拟存储文件上的虚拟地址和物理存储设备上的物理地址的对应关系,通过所述本次读取数据在虚拟存储文件上的虚拟地址,获得所述第二次读取数据在所述物理存储设备上的物理地址;
所述NAS设备判断所述第二次读取数据在所述物理存储设备上的物理地址与所述NAS设备缓存内的预读数据在所述物理存储设备上的物理地址是否相同;
若相同,则所述NAS设备将所述缓存内的预读数据返回给所述客户端。
第二方面,公开了一种数据读取的方法,包括:客户端向网络附属存储NAS设备发送数据读取指令,所述数据读取指令包括:本次读取数据在虚拟存储文件上的虚拟地址,本次读取数据所在文件的唯一标识。
结合第二方面,在第一种可能的实现方式中,所述客户端向所述NAS设备发送文件写入指令,所述文件写入指令中携带有本次写入文件的数据以及本次写入文件的唯一标识;以使得所述NAS记录所述本次写入文件的唯一标识和所述本次写入文件在所述虚拟存储文件上的虚拟地址之间的对应关系。
第三方面,公开了一种NAS设备,包括:
接收单元,用于接收客户端发送的第一数据读取指令,所述第一数据读取指令包括:本次读取数据在虚拟存储文件上的虚拟地址,本次读取数据所在文件的唯一标识;
获得单元,用于根据所述本次读取数据所在文件在所述虚拟存储文件上的虚拟地址和所述唯一标识之间的对应关系,获得所述本次读取数据所在文件在所述虚拟存储文件上的虚拟地址;所述本次读取数据所在文件包括多个数据块,其中每个数据块对应虚拟存储文件上的一个虚拟地址;
选择单元,用于从所述获得单元获得的所述本次读取数据所在文件在虚拟存储文件上的虚拟地址中,选择除了本次读取数据、已读数据和已预读数据在虚拟存储文件上的虚拟地址外的任一虚拟地址,作为预读数据在所述虚拟存储文件上的预读虚拟地址;
访问单元,用于根据自身存储的所述虚拟存储文件上的虚拟地址和物理存储设备上的物理地址的对应关系,通过所述接收单元接收的所述本次读取数据在虚拟存储文件上的虚拟地址,访问所述本次读取数据在所述物理存储设备上的物理地址,获得所述本次读取数据;通过所述选择单元选择的所述预读虚拟地址,访问所述预读数据在所述物理存储设备上的物理地址,获得所述预读数据;
发送单元,用于向所述客户端发送所述访问单元获得的所述本次读取数据;
存储单元,用于将所述访问单元获得的所述预读数据存储在所述NAS设备的缓存内并记录所述NAS设备缓存内的预读数据在物理存储设备上的物理地址。
结合第三方面,在第一种可能的实现方式中,还包括写入单元;
所述接收单元,用于在接收客户端发送的第一数据读取指令之前,接收所述客户端发送的文件写入指令,所述文件写入指令中携带有本次写入文件的数据以及本次写入文件的唯一标识;
所述写入单元具体用于,为所述本次写入文件分配其在所述物理存储设备上的物理地址,并记录所述本次写入文件的唯一标识和所述本次写入文件在所述虚拟存储文件上的虚拟地址之间的对应关系。
结合第三方面的第一种可能的实现方式,在第二种可能的实现方式中,所述写入单元具体用于为所述本次写入文件在所述物理存储设备上分配连续的物理地址。
结合第三方面或第三方面的第一种可能的实现方式,在第三种可能的实现方式中,还包括判断单元,
所述接收单元还用于,在所述存储单元将所述预读数据存储在所述NAS设备的缓存内之后,接收所述客户端发送的第二数据读取指令,所述第二数据读取指令包括:第二次读取数据对应在虚拟存储文件上的虚拟地址,第二次读取数据所在文件对应的唯一标识;
所述获得单元还用于,根据自身存储的所述虚拟存储文件上的虚拟地址和物理存储设备上的物理地址的对应关系,通过所述接收单元接收的所述第二次读取数据在虚拟存储文件上的虚拟地址,获得所述第二次读取数据在所述物理存储设备上的物理地址;
所述判断单元具体用于,判断所述获得单元获得的所述第二次读取数据在所述物理存储设备上的物理地址与所述存储单元记录的所述NAS设备缓存内的预读数据在所述物理存储设备上的物理地址是否相同;
所述发送单元还用于,在所述判断单元判断相同时,将所述缓存内的预读数据返回给所述客户端。
第四方面,公开了一种客户端,包括:
发送单元,用于向网络附属存储NAS设备发送数据读取指令,所述数据读取指令包括:本次读取数据在虚拟存储文件上的虚拟地址,本次读取数据所在文件的唯一标识。
结合第四方面,在第一种可能的实现方式中,所述发送单元还用于,向所述NAS设备发送文件写入指令,所述文件写入指令中携带有本次写入文件的数据以及本次写入文件的唯一标识;以使得所述NAS记录所述本次写入文件的唯一标识和所述本次写入文件在所述虚拟存储文件上的虚拟地址之间的对应关系。
本发明实施例提供的数据读取的方法及装置,NAS设备会记录读取数据所在文件在虚拟存储文件上的虚拟地址与读取数据所在文件的唯一标识之间的对应关系,在客户端发送给NAS设备的数据读取指令中增加本次读取数据所在文件的唯一标识。这样NAS设备接收到读取数据指令后,会获得预读数据在所述虚拟存储文件上的虚拟地址,根据本次读取数据和预读数据在虚拟存储文件上的虚拟地址,访问物理存储设备,并将预读数据存储在NAS设备缓存中。与现有技术中NAS设备无法感知读取数据所在文件在虚拟存储文件上的N个虚拟地址,无法进行预读相比,本发明提供的数据读取的方法接收到客户端下一次发送的读取数据指令后,直接从缓存中读取数据,不需要再次访问物理存储设备,提高了数据的读取效率。
附图说明
图1为本发明实施例提供的虚拟化场景构架图;
图2为本发明实施例1提供的一种数据读取的方法流程示意图;
图3为本发明实施例2提供的另一种数据读取的方法流程示意图;
图4为本发明实施例2中demo.txt的分布示意图;
图5为本发明实施例3提供的一种NAS设备的结构框图;
图6为本发明实施例3提供的另一种NAS设备的结构框图;
图7为本发明实施例3提供的另一种NAS设备的结构框图;
图8为本发明实施例4提供的一种NAS设备的结构框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例所提供的数据读取方法,应用于虚拟化存储场景中,如图1所示,虚拟机用户写入(增删)文件时,在NAS设备上会对应生成仅有的一个虚拟存储文件,实际上虚拟机用户写入的文件存储在了NAS设备的物理存储设备上,即虚拟存储文件是用户写入文件的一个存储介质。当虚拟机用户需要读取存储在NAS设备物理存储设备上的文件时,NAS设备会首先根据数据读取指令中的本次读取数据在虚拟存储文件上的虚拟地址,指向本次读取数据在虚拟存储文件上的这个虚拟地址,然后NAS设备根据自身记录的虚拟存储文件上的虚拟地址和物理存储设备上的物理地址的对应关系,指向本次读取数据在物理存储设备上的一个物理地址,然后访问物理存储设备上的这个物理地址,读取数据。随后再将所读取的数据返回给虚拟机用户,就完成了一次数据读取。
实施例1:
本发明实施例提供了一种数据读取的方法,执行主体是NAS设备如图2所示,所述方法包括以下步骤:
201、网络附属存储NAS设备接收客户端发送的第一数据读取指令。
其中,所述第一数据读取指令包括:本次读取数据对应在虚拟存储文件上的虚拟地址,本次读取数据所在文件对应的唯一标识,其中,所述在虚拟存储文件上的虚拟地址包括在所述虚拟存储文件上的偏移量和长度。
202、所述NAS设备根据所述本次读取数据所在文件在所述虚拟存储文件上的虚拟地址和所述唯一标识之间的对应关系,获得所述本次读取数据所在文件在所述虚拟存储文件上的虚拟地址。
其中,所述本次读取数据所在文件包括多个数据块,其中每个数据块对应虚拟存储文件上的一个虚拟地址。因此,根据所述本次读取数据所在文件在所述虚拟存储文件上的虚拟地址和所述唯一标识之间的对应关系,就可以获得所述本次读取数据所在文件对应在所述虚拟存储文件上的多个虚拟地址。
在所述客户端读取数据之前,所述NAS设备会先将所述数据所在文件写入物理存储设备中。所述NAS设备会随机将所述数据所在文件分配在物理存储设备上的N个物理地址处。所述NAS设备接收所述客户端发送的文件写入指令,并根据所述文件写入指令携带的写入数据及所述数据所在文件的唯一标识,记录所述数据所在文件的唯一标识和所述写入数据在所述虚拟存储文件上的虚拟地址之间的对应关系。
203、所述NAS设备从所述本次读取数据所在文件在虚拟存储文件上的虚拟地址中,选择除了本次读取数据、已读数据和已预读数据在虚拟存储文件上的虚拟地址外的任一虚拟地址,作为预读数据在所述虚拟存储文件上的预读虚拟地址。
所述NAS设备接收数据读取指令后可以根据所述本次读取数据所在文件对应的唯一标识获得本次读取数据所在文件在所述虚拟存储文件N个虚拟地址,进而就可以选择出一个虚拟地址,作为所述预读数据(即预判的客户端下次读取的数据)在所述虚拟存储文件上的预读虚拟地址。当然,所述预读虚拟地址是在除了本次读取数据、已读数据、已预读数据在虚拟存储文件上的虚拟地址外的一个虚拟地址。
204、所述NAS设备根据自身存储的所述虚拟存储文件上的虚拟地址和物理存储设备上的物理地址的对应关系,通过所述本次读取数据在虚拟存储文件上的虚拟地址,访问所述本次读取数据对应在所述物理存储设备上的物理地址,获得所述本次读取数据;通过所述预读虚拟地址,访问所述预读数据对应在所述物理存储设备上的物理地址,获得所述预读数据。
这里,所述NAS设备接收到的本次读取数据对应在虚拟存储文件上的虚拟地址,只是所述本次读取数据所在文件在所述虚拟存储文件的N个虚拟地址中的一个。所述NAS设备中存储有所述虚拟存储文件上的虚拟地址和物理存储设备上的物理地址间的对应关系,这样所述NAS设备就可以根据该对应关系通过所述本次读取数据在虚拟存储文件上的虚拟地址,访问所述本次读取数据对应在所述物理存储设备上的物理地址,进而获得所述本次读取数据;同理,所述NAS设备还可以通过由步骤203所获得的、预读数据在所述虚拟存储文件上的预读虚拟地址,获得所述预读数据。
205、所述NAS设备向所述客户端发送所述本次读取数据。
206、所述NAS设备将所述预读数据存储在所述NAS设备的缓存内并记录所述NAS设备缓存内的预读数据对应在物理存储设备上的物理地址。
所述NAS设备将所述预读数据存储在NAS设备的缓存内,以便于所述客户端下次读取数据时,在命中缓存的情况下可以从所述NAS设备的缓存中读取所述预读数据。
在所述NAS设备将所述预读数据存储在缓存内后,在所述客户端还需要继续读取数据时,所述NAS设备接收所述客户端发送的第二数据读取指令,所述第二数据读取指令包括:第二次读取数据在虚拟存储文件上的虚拟地址,第二次读取数据所在文件的唯一标识。然后,所述NAS设备根据自身存储的所述虚拟存储文件上的虚拟地址和物理存储设备上的物理地址的对应关系,通过所述本次读取数据在虚拟存储文件上的虚拟地址,获得所述第二次读取数据在所述物理存储设备上的物理地址,以便判断所述缓存内的预读数据是否为所述第二次读取数据。
若所述第二次读取数据在所述物理存储设备上的物理地址与所述缓存内的预读数据在物理存储设备上的物理地址相同,则表明所述第二次读取数据是所述缓存内的预读数据;则所述NAS设备将所述缓存内的预读数据返回给所述客户端;若所述第二次读取数据在所述物理存储设备上的物理地址与所述缓存内的预读数据在物理存储设备上的物理地址不相同,则进行步骤202-206,访问第二次读取数据在所述物理存储设备上的物理地址,获得第二次要读取的数据。
当然,所述NAS设备接收所述客户端发送的文件写入指令,会为所述本次写入文件分配在所述物理存储设备上的物理地址,并记录所述本次写入文件的唯一标识和所述本次写入文件在所述虚拟存储文件上的虚拟地址之间的对应关系。这里,所述NAS设备也可以在所述物理存储设备上为所述本次写入文件分配连续的物理地址。
本发明实施例提供了一种数据读取的方法,执行主体是客户端,所述方法包括以下步骤:客户端向NAS设备发送数据读取指令。
所述数据读取指令包括:本次读取数据在虚拟存储文件上的虚拟地址,本次读取数据所在文件的唯一标识。其中,所述在虚拟存储文件上的虚拟地址包括在虚拟存储文件上的偏移量和长度。
所述客户端发送所述数据读取指令以使得所述NAS设备可以根据所述本次读取数据对应的1个在虚拟存储文件上的虚拟地址,访问所述本次读取数据在所述物理存储设备上的物理地址获得所述本次读取数据。根据所述本次读取数据所在文件对应的唯一标识,获得所述本次读取数据所在文件在虚拟存储文件上的虚拟地址,并从中选择除本次读取数据、预读数据和已预读数据在虚拟存储文件上的虚拟地址外的一个虚拟地址,作为预读数据在虚拟存储文件上的预读虚拟地址。进而访问所述本次读取数据在物理存储设备上的物理地址和所述预读数据在物理存储设备上的物理地址,获得本次读取数据和所述预读数据。
当然,所述客户端在发送数据读取指令之前还会向所述NAS设备发送文件写入指令,所述文件写入指令中携带有本次写入文件的数据以及本次写入文件的唯一标识;以使得所述NAS记录所述本次写入文件的唯一标识和所述本次写入文件在所述虚拟存储文件上的虚拟地址之间的对应关系。
本发明实施例提供的数据读取的方法,NAS设备会记录读取数据所在文件在虚拟存储文件上的虚拟地址与读取数据所在文件的唯一标识之间的对应关系,在客户端发送给NAS设备的数据读取指令中增加本次读取数据所在文件的唯一标识。这样NAS设备接收到读取数据指令后,会获得预读数据在所述虚拟存储文件上的虚拟地址,根据本次读取数据和预读数据在虚拟存储文件上的虚拟地址,访问物理存储设备,并将预读数据存储在NAS设备缓存中。与现有技术中NAS设备无法感知读取数据所在文件在虚拟存储文件上的N个虚拟地址,无法进行预读相比,本发明提供的数据读取的方法接收到客户端下一次发送的读取数据指令后,直接从缓存中读取数据,不需要再次访问物理存储设备,提高了数据的读取效率。
实施例2:
本发明实施例提供了一种数据读取的方法,如图3所示,所述方法包括以下步骤:
301、客户端向NAS设备发送第一数据读取指令。
这里,所述第一数据读取指令包括:本次读取数据在虚拟存储文件上的虚拟地址,本次读取数据所在文件的唯一标识,其中,所述在虚拟存储文件上的虚拟地址包括在虚拟存储文件上的偏移量和长度。
示例的,如图4所示,读取文件demo.txt时,所述客户端发送的数据读取指令包括:本次读取数据所在文件的唯一标识n、本次读取数据在虚拟存储文件上的虚拟地址,可以用偏移量+长度的形式来表示数据块在虚拟存储文件上的虚拟地址,则可以用0+10来表示本次读取数据在虚拟存储文件上的虚拟地址。
302、所述NAS设备接收到所述数据读取指令后,根据所述本次读取数据所在文件在所述虚拟存储文件上的虚拟地址和所述唯一标识之间的对应关系,获得所述本次读取数据所在文件在所述虚拟存储文件上的虚拟地址。
这里,所述本次读取数据所在文件包括多个数据块,其中每个数据块对应虚拟存储文件上的一个虚拟地址。
在所述客户端读取数据之前,所述客户端会先将所述数据写入所述NAS设备的物理存储设备中。所述NAS设备接收所述客户端发送的文件写入指令,并根据所述文件写入指令携带的写入数据及所述数据所在文件的唯一标识,记录所述数据所在文件的唯一标识和所述写入数据在所述虚拟存储文件上的虚拟地址之间的对应关系。这样,所述NAS设备接收所述数据读取指令后,就会根据所述数据读取指令中的本次读取数据所在文件的唯一标识获得本次读取数据所在文件在虚拟存储文件上的N个虚拟地址,进而就可以选择一个虚拟地址作为预读虚拟地址。示例的,如图4所示,demo.txt在虚拟存储文件上的虚拟地址是:0+10、20+15、35+10,所述NAS设备记录有唯一标识n与这三个位置信息之间的对应关系。这样,当所述NAS设备接收客户端发送的读取数据指令:n、0+10时,就会根据n找到0+10、20+15、40+10这三个在虚拟存储文件上的虚拟地址。
303、所述NAS设备从所述本次读取数据所在文件在虚拟存储文件上的虚拟地址中,选择除了本次读取数据、已读数据和已预读数据在虚拟存储文件上的虚拟地址外的任一虚拟地址,作为预读数据在所述虚拟存储文件上的预读虚拟地址。
NAS设备不是任意选择一个虚拟地址作为预读虚拟地址,而是会选择除了本次读取数据、已读数据、已预读数据在虚拟存储文件上的虚拟地址外的一个虚拟地址,作为所述预读数据在所述虚拟存储文件上的预读虚拟地址。通常情况下,所述NAS设备会将所述本次读取数据对应在虚拟存储文件上的虚拟地址的下一虚拟地址预判为预读虚拟地址。
示例的,如图4所示,demo.txt在虚拟存储文件上的虚拟地址是:0+10、20+15、35+10,当所述NAS设备接收客户端发送的读取数据指令:n、0+10时,根据n找到0+10、20+15、40+10这三个在虚拟存储文件上的虚拟地址后,将0+10的下一虚拟地址20+15预判为预读数据在所述虚拟存储文件上的预读虚拟地址。
304、所述NAS设备根据自身存储的所述虚拟存储文件上的虚拟地址和物理存储设备上的物理地址的对应关系,通过所述本次读取数据在虚拟存储文件上的虚拟地址,访问所述本次读取数据对应在所述物理存储设备上的物理地址,获得所述本次读取数据;通过所述预读虚拟地址,访问所述预读数据对应在所述物理存储设备上的物理地址,获得所述预读数据。
这里,所述NAS设备接收到的本次读取数据在虚拟存储文件上的虚拟地址,只是所述本次读取数据所在文件在所述虚拟存储文件上的N个虚拟地址中的一个。所述NAS设备中存储有所述虚拟存储文件上的虚拟地址和物理存储设备上的物理地址间的对应关系,这样所述NAS设备就可以根据该对应关系通过所述本次读取数据在虚拟存储文件上的虚拟地址,访问所述本次读取数据在所述物理存储设备上的物理地址,进而获得所述本次读取数据;同理,所述NAS设备还可以通过由步骤303所获得的、预读数据在所述虚拟存储文件上的预读虚拟地址,获得所述预读数据。
如图4所示,根据所述NAS设备接收的读取数据指令中本次读取数据在虚拟存储文件上的虚拟地址0+10,对应到物理存储设备上的物理地址Block1,访问Block1就可以获得本次读取数据。所述NAS设备还会根据步骤303所获得的、预读数据在所述虚拟存储文件上的预读虚拟地址20+15,访问20+15在物理存储设备上的物理地址Block2,访问Block2就可以获得预读数据。
305、所述NAS设备向所述客户端发送所述本次读取数据。
示例的,如图4所示,所述NAS设备在Block1读取本次读取数据,并将本次读取数据发送给所述客户端。
306、所述NAS设备将所述预读数据存储在所述NAS设备的缓存内并记录所述NAS设备缓存内的预读数据在物理存储设备上的物理地址。
如图4所示,所述NAS设备首先将步骤304获得的存储在Block2的预读数据存储在所述NAS设备的缓存内,并记录所述缓存内的预读数据在物理存储设备上的物理地址Block2。
307、所述NAS设备接收所述客户端发送的第二数据读取指令。
其中,所述第二数据读取指令包括:第二次读取数据在虚拟存储文件上的虚拟地址,第二次读取数据所在文件的唯一标识。
308、所述NAS设备根据自身存储的所述虚拟存储文件上的虚拟地址和物理存储设备上的物理地址的对应关系,通过所述第二次读取数据在虚拟存储文件上的虚拟地址,获得所述第二次读取数据在所述物理存储设备上的物理地址。
所述NAS设备接收客户端发送的第二数据读取指令后,会根据第二次读取数据在虚拟存储文件上的虚拟地址获得所述第二次读取数据对应在所述物理存储设备上的物理地址。如图4所示,若用户是连续读取,则所述NAS设备接收的数据读取指令中的第二次读取数据在虚拟存储文件上的虚拟地址是20+15,进而获得第二次读取数据在所述物理存储设备上的物理地址是Block2。
309、所述NAS设备判断所述第二次读取数据对应在所述物理存储设备上的物理地址与所述NAS设备缓存内的预读数据在物理存储设备上的物理地址是否相同。
如图4所示,在用户连续读取的时候,根据第二次读取数据在虚拟存储文件上的虚拟地址是20+15,获得第二次读取数据在所述物理存储设备上的物理地址是Block2。这时第二次读取数据在所述物理存储设备上的物理地址,和所述NAS设备缓存内的预读数据在物理存储设备上的物理地址Block2相同,则预读成功,进行步骤310。
在用户不是连续读取的时候,第二数据读取指令中所述第二次读取数据在虚拟存储文件上的虚拟地址就不是20+15,获得第二次读取数据在所述物理存储设备上的物理地址也就不是Block2。这时第二次读取数据在所述物理存储设备上的物理地址和所述NAS设备缓存内的预读数据在物理存储设备上的物理地址Block2不相同,则预读失败,所述NAS设备就会从所述第二次读取数据在所述物理存储设备上的物理地址处获得所述第二次读取数据,并在所述第二次读取数据所在文件在虚拟存储文件上的虚拟地址中选择一个虚拟地址作为预读虚拟地址,即重新进行步骤302-309。但这种情况并不常见,一般情况下,客户端会连续读取。
310、所述NAS设备将所述缓存内的预读数据返回给所述客户端。
同时,所述NAS可以根据所述第二次读取数据所在文件的唯一标识获得所述第二次读取数据所在文件在虚拟存储文件上的虚拟地址,选择一个虚拟地址作为预读虚拟地址,并进行步骤302-309。
上述方法中,所述NAS设备可以感知客户端磁盘分区与虚拟存储文件上的虚拟地址间的对应关系,因此在客户端写入文件时,就可以尽量将该文件连续分配在物理存储设备上。这样,当客户端首次向所述NAS设备发送包括有该文件在虚拟存储文件上的第一个偏移量+长度的数据读取指令时(默认客户端连续读取该文件),所述NAS设备接收所述数据读取指令后获得该文件在虚拟存储文件上的第一个虚拟地址,进而获得该文件在物理存储设备上的第一个物理地址,另外由于所述虚拟文件在物理存储设备上可能是连续存储的,并且NAS设备能够感知所述虚拟文件在物理存储设备上的物理地址,故在下次读取数据的时候,所述NAS设备就可以在该文件在物理存储设备上的第一个物理地址的后续位置处开始读取所述客户端要求读取的后续数据,而不需要再从该文件对应在物理存储设备上的第一个物理地址开始寻址物理存储设备,这样在读文件时就可以减少磁盘机械介质寻址操作的时间消耗。
本发明实施例提供的数据读取的方法,NAS设备会记录读取数据所在文件在虚拟存储文件上的虚拟地址与读取数据所在文件的唯一标识之间的对应关系,在客户端发送给NAS设备的数据读取指令中增加本次读取数据所在文件的唯一标识。这样NAS设备接收到读取数据指令后,会获得预读数据在所述虚拟存储文件上的虚拟地址,根据本次读取数据和预读数据在虚拟存储文件上的虚拟地址,访问物理存储设备,并将预读数据存储在NAS设备缓存中。与现有技术中NAS设备无法感知读取数据所在文件在虚拟存储文件上的N个虚拟地址,无法进行预读相比,本发明提供的数据读取的方法接收到客户端下一次发送的读取数据指令后,直接从缓存中读取数据,不需要再次访问物理存储设备,提高了数据的读取效率。
实施例3:
本发明实施例提供了一种NAS设备,如图5所示,包括:接收单元501、获得单元502、选择单元503、访问单元504、发送单元505和存储单元506。
接收单元501,用于接收客户端发送的第一数据读取指令,所述第一数据读取指令包括:本次读取数据在虚拟存储文件上的虚拟地址,本次读取数据所在文件的唯一标识。获得单元502,用于根据所述本次读取数据所在文件在所述虚拟存储文件上的虚拟地址和所述唯一标识之间的对应关系,获得所述本次读取数据所在文件在所述虚拟存储文件上的虚拟地址;所述本次读取数据所在文件包括多个数据块,其中每个数据块对应虚拟存储文件上的一个虚拟地址。选择单元503,用于从所述获得单元502获得的所述本次读取数据所在文件在虚拟存储文件上的虚拟地址中,选择除了本次读取数据、已读数据和已预读数据在虚拟存储文件上的虚拟地址外的任一虚拟地址,作为预读数据在所述虚拟存储文件上的预读虚拟地址。访问单元504,用于根据自身存储的所述虚拟存储文件上的虚拟地址和物理存储设备上的物理地址的对应关系,通过所述接收单元501接收的所述本次读取数据在虚拟存储文件上的虚拟地址,访问所述本次读取数据对应在所述物理存储设备上的物理地址,获得所述本次读取数据;通过所述选择单元503选择的所述预读虚拟地址,访问所述预读数据对应在所述物理存储设备上的物理地址,获得所述预读数据。发送单元505,用于向所述客户端发送所述访问单元504获得的所述本次读取数据。存储单元506,用于将所述访问单元504获得的所述预读数据存储在所述NAS设备的缓存内并记录所述NAS设备缓存内的预读数据在物理存储设备上的物理地址。
如图6所示,所述NAS设备还包括写入单元507。所述接收单元501,用于在接收客户端发送的第一数据读取指令之前,接收所述客户端发送的文件写入指令,所述文件写入指令中携带有本次写入文件的数据以及本次写入文件的唯一标识。所述写入单元507具体用于,为所述本次写入文件分配其在所述物理存储设备上的物理地址,并记录所述本次写入文件的唯一标识和所述本次写入文件在所述虚拟存储文件上的虚拟地址之间的对应关系。
所述写入单元507具体用于,为所述本次写入文件在所述物理存储设备上分配连续的物理地址。
如图7所示,所述NAS设备还包括判断单元508。所述接收单元501还用于,在所述存储单元506将所述预读数据存储在所述NAS设备的缓存内之后,接收所述客户端发送的第二数据读取指令,所述第二数据读取指令包括:第二次读取数据在虚拟存储文件上的虚拟地址,第二次读取数据所在文件的唯一标识。所述获得单元502还用于,根据自身存储的所述虚拟存储文件上的虚拟地址和物理存储设备上的物理地址的对应关系,通过所述接收单元501接收的所述第二次读取数据在虚拟存储文件上的虚拟地址,获得所述第二次读取数据在所述物理存储设备上的物理地址。所述判断单元508具体用于,判断所述获得单元502获得的所述第二次读取数据在所述物理存储设备上的物理地址与所述存储单元506记录的所述NAS设备缓存内的预读数据在所述物理存储设备上的物理地址是否相同。所述发送单元505还用于,在所述判断单元508判断相同时,将所述缓存内的预读数据返回给所述客户端。
本发明实施例提供了一种客户端,包括:发送单元。
发送单元,用于向网络附属存储NAS设备发送数据读取指令,所述数据读取指令包括:本次读取数据在虚拟存储文件上的虚拟地址,本次读取数据所在文件的唯一标识。
所述发送单元还用于,向所述NAS设备发送文件写入指令,所述文件写入指令中携带有本次写入文件的数据以及本次写入文件的唯一标识;以使得所述NAS记录所述本次写入文件的唯一标识和所述本次写入文件在所述虚拟存储文件上的虚拟地址之间的对应关系。
本发明实施例提供的NAS设备和客户端,NAS设备会记录读取数据所在文件在虚拟存储文件上的虚拟地址与读取数据所在文件的唯一标识之间的对应关系,在客户端发送给NAS设备的数据读取指令中增加本次读取数据所在文件的唯一标识。这样NAS设备接收到读取数据指令后,会获得预读数据在所述虚拟存储文件上的虚拟地址,根据本次读取数据和预读数据在虚拟存储文件上的虚拟地址,访问物理存储设备,并将预读数据存储在NAS设备缓存中。与现有技术中NAS设备无法感知读取数据所在文件在虚拟存储文件上的N个虚拟地址,无法进行预读相比,本发明提供的数据读取的方法接收到客户端下一次发送的读取数据指令后,直接从缓存中读取数据,不需要再次访问物理存储设备,提高了数据的读取效率。
实施例4:
本发明实施例提供了一种NAS设备,如图8所示,所述NAS设备包括:发射接口801、接收接口802、存储器803以及分别与发射接口801、接收接口802和存储器803连接的处理器804。当然,NAS设备还可以包括基带处理部件、中射频处理部件、输入输出装置等通用部件,本发明实施例在此不做任何限制。其中,存储器803中存储一组程序代码,且处理器804用于调用存储器803中存储的程序代码,用于执行以下操作:
处理器804,用于通过接收接口802接收客户端发送的第一数据读取指令,所述第一数据读取指令包括:本次读取数据在虚拟存储文件上的虚拟地址,本次读取数据所在文件的唯一标识。所述处理器804,用于根据所述本次读取数据所在文件在所述虚拟存储文件上的虚拟地址和所述唯一标识之间的对应关系,获得所述本次读取数据所在文件在所述虚拟存储文件上的虚拟地址;所述本次读取数据所在文件包括多个数据块,其中每个数据块对应虚拟存储文件上的一个虚拟地址。所述处理器804,用于从获得的所述本次读取数据所在文件在虚拟存储文件上的虚拟地址中,选择除了本次读取数据、已读数据和已预读数据在虚拟存储文件上的虚拟地址外的任一虚拟地址,作为预读数据在所述虚拟存储文件上的预读虚拟地址。所述处理器804,用于根据自身存储的所述虚拟存储文件上的虚拟地址和物理存储设备上的物理地址的对应关系,通过接收的所述本次读取数据在虚拟存储文件上的虚拟地址,访问所述本次读取数据对应在所述物理存储设备上的物理地址,获得所述本次读取数据;通过选择的所述预读虚拟地址,访问所述预读数据对应在所述物理存储设备上的物理地址,获得所述预读数据。所述处理器804,用于通过发射接口801向所述客户端发送获得的所述本次读取数据。所述处理器804,用于将获得的所述预读数据存储在所述NAS设备的缓存内并记录所述NAS设备缓存内的预读数据在物理存储设备上的物理地址。
所述处理器804还用于,在接收客户端发送的第一数据读取指令之前,通过接收接口802接收所述客户端发送的文件写入指令,所述文件写入指令中携带有本次写入文件的数据以及本次写入文件的唯一标识。所述处理器804还用于,为所述本次写入文件分配其在所述物理存储设备上的物理地址,并记录所述本次写入文件的唯一标识和所述本次写入文件在所述虚拟存储文件上的虚拟地址之间的对应关系。
所述处理器804具体用于,为所述本次写入文件在所述物理存储设备上分配连续的物理地址。
所述处理器804还用于,在将所述预读数据存储在所述NAS设备的缓存内之后,通过接收接口802接收所述客户端发送的第二数据读取指令,所述第二数据读取指令包括:第二次读取数据在虚拟存储文件上的虚拟地址,第二次读取数据所在文件的唯一标识。所述处理器804用于,根据自身存储的所述虚拟存储文件上的虚拟地址和物理存储设备上的物理地址的对应关系,通过接收的所述第二次读取数据在虚拟存储文件上的虚拟地址,获得所述第二次读取数据在所述物理存储设备上的物理地址。所述处理器804具体用于,判断获得的所述第二次读取数据在所述物理存储设备上的物理地址与记录的所述NAS设备缓存内的预读数据在所述物理存储设备上的物理地址是否相同。所述处理器804还用于,在判断相同时,通过发射接口801将所述缓存内的预读数据返回给所述客户端。
本发明实施例提供了一种客户端,所述客户端包括:发射接口、存储器以及分别与发射接口和存储器连接的处理器。当然,客户端还可以包括基带处理部件、中射频处理部件、输入输出装置等通用部件,本发明实施例在此不做任何限制。其中,存储器中存储一组程序代码,且处理器用于调用存储器中存储的程序代码,用于执行以下操作:
处理器,用于通过发射接口向网络附属存储NAS设备发送数据读取指令,所述数据读取指令包括:本次读取数据在虚拟存储文件上的虚拟地址,本次读取数据所在文件的唯一标识。
所述处理器还用于,通过所述发射接口向所述NAS设备发送文件写入指令,所述文件写入指令中携带有本次写入文件的数据以及本次写入文件的唯一标识;以使得所述NAS记录所述本次写入文件的唯一标识和所述本次写入文件在所述虚拟存储文件上的虚拟地址之间的对应关系。
本发明实施例提供的NAS设备和客户端,NAS设备会记录读取数据所在文件在虚拟存储文件上的虚拟地址与读取数据所在文件的唯一标识之间的对应关系,在客户端发送给NAS设备的数据读取指令中增加本次读取数据所在文件的唯一标识。这样NAS设备接收到读取数据指令后,会获得预读数据在所述虚拟存储文件上的虚拟地址,根据本次读取数据和预读数据在虚拟存储文件上的虚拟地址,访问物理存储设备,并将预读数据存储在NAS设备缓存中。与现有技术中NAS设备无法感知读取数据所在文件在虚拟存储文件上的N个虚拟地址,无法进行预读相比,本发明提供的数据读取的方法接收到客户端下一次发送的读取数据指令后,直接从缓存中读取数据,不需要再次访问物理存储设备,提高了数据的读取效率。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
Claims (12)
1.一种数据读取的方法,其特征在于,包括:
网络附属存储NAS设备接收客户端发送的第一数据读取指令,所述第一数据读取指令包括:本次读取数据在虚拟存储文件上的虚拟地址,本次读取数据所在文件的唯一标识;
所述NAS设备根据所述本次读取数据所在文件在所述虚拟存储文件上的虚拟地址和所述唯一标识之间的对应关系,获得所述本次读取数据所在文件在所述虚拟存储文件上的虚拟地址;所述本次读取数据所在文件包括多个数据块,其中每个数据块对应虚拟存储文件上的一个虚拟地址;
所述NAS设备从所述本次读取数据所在文件在虚拟存储文件上的虚拟地址中,选择除了本次读取数据、已读数据和已预读数据在虚拟存储文件上的虚拟地址外的任一虚拟地址,作为预读数据在所述虚拟存储文件上的预读虚拟地址;
所述NAS设备根据自身存储的所述虚拟存储文件上的虚拟地址和物理存储设备上的物理地址的对应关系,通过所述本次读取数据在虚拟存储文件上的虚拟地址,访问所述本次读取数据对应在所述物理存储设备上的物理地址,获得所述本次读取数据;通过所述预读虚拟地址,访问所述预读数据对应在所述物理存储设备上的物理地址,获得所述预读数据;
所述NAS设备向所述客户端发送所述本次读取数据;
所述NAS设备将所述预读数据存储在所述NAS设备的缓存内并记录所述NAS设备缓存内的预读数据在物理存储设备上的物理地址。
2.根据权利要求1所述的方法,其特征在于,在所述NAS设备接收客户端发送的第一数据读取指令之前,所述方法还包括:
所述NAS设备接收所述客户端发送的文件写入指令,所述文件写入指令中携带有本次写入文件的数据以及本次写入文件的唯一标识;
所述NAS设备为所述本次写入文件分配其在所述物理存储设备上的物理地址;
所述NAS设备记录所述本次写入文件的唯一标识和所述本次写入文件在所述虚拟存储文件上的虚拟地址之间的对应关系。
3.根据权利要求2所述的方法,其特征在于,所述NAS设备为所述本次写入文件分配在所述物理存储设备上的物理地址是连续的。
4.根据权利要求1或2所述的方法,其特征在于,在所述NAS设备将所述预读数据存储在所述NAS设备的缓存内之后,所述方法还包括:
所述NAS设备接收所述客户端发送的第二数据读取指令,所述第二数据读取指令包括:第二次读取数据在虚拟存储文件上的虚拟地址,第二次读取数据所在文件的唯一标识;
所述NAS设备根据自身存储的所述虚拟存储文件上的虚拟地址和物理存储设备上的物理地址的对应关系,通过所述第二次读取数据在虚拟存储文件上的虚拟地址,获得所述第二次读取数据在所述物理存储设备上的物理地址;
所述NAS设备判断所述第二次读取数据在所述物理存储设备上的物理地址与所述NAS设备缓存内的预读数据在所述物理存储设备上的物理地址是否相同;
若相同,则所述NAS设备将所述缓存内的预读数据返回给所述客户端。
5.一种数据读取的方法,其特征在于,包括:
客户端向网络附属存储NAS设备发送数据读取指令,所述数据读取指令包括:本次读取数据在虚拟存储文件上的虚拟地址,本次读取数据所在文件对应的唯一标识。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
所述客户端向所述NAS设备发送文件写入指令,所述文件写入指令中携带有本次写入文件的数据以及本次写入文件的唯一标识;以使得所述NAS记录所述本次写入文件的唯一标识和所述本次写入文件在所述虚拟存储文件上的虚拟地址之间的对应关系。
7.一种网络附属存储NAS设备,其特征在于,包括:
接收单元,用于接收客户端发送的第一数据读取指令,所述第一数据读取指令包括:本次读取数据在虚拟存储文件上的虚拟地址,本次读取数据所在文件的唯一标识;
获得单元,用于根据所述本次读取数据所在文件在所述虚拟存储文件上的虚拟地址和所述唯一标识之间的对应关系,获得所述本次读取数据所在文件在所述虚拟存储文件上的虚拟地址;所述本次读取数据所在文件包括多个数据块,其中每个数据块对应虚拟存储文件上的一个虚拟地址;
选择单元,用于从所述获得单元获得的所述本次读取数据所在文件在虚拟存储文件上的虚拟地址中,选择除了本次读取数据、已读数据和已预读数据在虚拟存储文件上的虚拟地址外的任一虚拟地址,作为预读数据在所述虚拟存储文件上的预读虚拟地址;
访问单元,用于根据自身存储的所述虚拟存储文件上的虚拟地址和物理存储设备上的物理地址的对应关系,通过所述接收单元接收的所述本次读取数据在虚拟存储文件上的虚拟地址,访问所述本次读取数据对应在所述物理存储设备上的物理地址,获得所述本次读取数据;通过所述选择单元选择的所述预读虚拟地址,访问所述预读数据对应在所述物理存储设备上的物理地址,获得所述预读数据;
发送单元,用于向所述客户端发送所述访问单元获得的所述本次读取数据;
存储单元,用于将所述访问单元获得的所述预读数据存储在所述NAS设备的缓存内并记录所述NAS设备缓存内的预读数据在物理存储设备上的物理地址。
8.根据权利要求7所述的NAS设备,其特征在于,还包括写入单元,
所述接收单元,用于在接收客户端发送的第一数据读取指令之前,接收所述客户端发送的文件写入指令,所述文件写入指令中携带有本次写入文件的数据以及本次写入文件的唯一标识;
所述写入单元具体用于,为所述本次写入文件分配其在所述物理存储设备上的物理地址,并记录所述本次写入文件的唯一标识和所述本次写入文件在所述虚拟存储文件上的虚拟地址之间的对应关系。
9.根据权利要求8所述的NAS设备,其特征在于,所述写入单元具体用于,为所述本次写入文件在所述物理存储设备上分配连续的物理地址。
10.根据权利要求7或8所述的NAS设备,其特征在于,还包括判断单元,
所述接收单元还用于,在所述存储单元将所述预读数据存储在所述NAS设备的缓存内之后,接收所述客户端发送的第二数据读取指令,所述第二数据读取指令包括:第二次读取数据在虚拟存储文件上的虚拟地址,第二次读取数据所在文件的唯一标识;
所述获得单元还用于,根据自身存储的所述虚拟存储文件上的虚拟地址和物理存储设备上的物理地址的对应关系,通过所述接收单元接收的所述第二次读取数据在虚拟存储文件上的虚拟地址,获得所述第二次读取数据在所述物理存储设备上的物理地址;
所述判断单元具体用于,判断所述获得单元获得的所述第二次读取数据在所述物理存储设备上的物理地址与所述存储单元记录的所述NAS设备缓存内的预读数据在所述物理存储设备上的物理地址是否相同;
所述发送单元还用于,在所述判断单元判断相同时,将所述缓存内的预读数据返回给所述客户端。
11.一种客户端,其特征在于,包括:
发送单元,用于向网络附属存储NAS设备发送数据读取指令,所述数据读取指令包括:本次读取数据在虚拟存储文件上的虚拟地址,本次读取数据所在文件的唯一标识。
12.根据权利要求11所述的客户端,其特征在于,
所述发送单元还用于,向所述NAS设备发送文件写入指令,所述文件写入指令中携带有本次写入文件的数据以及本次写入文件的唯一标识;以使得所述NAS记录所述本次写入文件的唯一标识和所述本次写入文件在所述虚拟存储文件上的虚拟地址之间的对应关系。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310554709.1A CN103593147B (zh) | 2013-11-07 | 2013-11-07 | 一种数据读取的方法及装置 |
PCT/CN2014/082985 WO2015067074A1 (zh) | 2013-11-07 | 2014-07-25 | 一种数据读取的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310554709.1A CN103593147B (zh) | 2013-11-07 | 2013-11-07 | 一种数据读取的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103593147A true CN103593147A (zh) | 2014-02-19 |
CN103593147B CN103593147B (zh) | 2016-08-17 |
Family
ID=50083318
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310554709.1A Active CN103593147B (zh) | 2013-11-07 | 2013-11-07 | 一种数据读取的方法及装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN103593147B (zh) |
WO (1) | WO2015067074A1 (zh) |
Cited By (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104461685A (zh) * | 2014-11-19 | 2015-03-25 | 华为技术有限公司 | 虚拟机处理方法和虚拟计算机系统 |
WO2015067074A1 (zh) * | 2013-11-07 | 2015-05-14 | 华为技术有限公司 | 一种数据读取的方法及装置 |
CN104765571A (zh) * | 2015-03-17 | 2015-07-08 | 深信服网络科技(深圳)有限公司 | 虚拟数据写入、读取的方法及系统 |
WO2015180396A1 (zh) * | 2014-05-26 | 2015-12-03 | 华为技术有限公司 | 一种虚拟可信平台模块功能实现方法和管理设备 |
CN105573667A (zh) * | 2015-12-10 | 2016-05-11 | 华为技术有限公司 | 一种数据读取方法和存储服务器 |
CN105930278A (zh) * | 2015-02-26 | 2016-09-07 | 爱思开海力士有限公司 | 数据储存设备及其操作方法 |
CN106201652A (zh) * | 2016-06-29 | 2016-12-07 | 联想(北京)有限公司 | 一种数据处理方法及虚拟机 |
WO2017067297A1 (zh) * | 2015-10-21 | 2017-04-27 | 杭州海康威视数字技术股份有限公司 | 对nas设备中视频数据的读写方法及装置 |
CN107168767A (zh) * | 2016-03-08 | 2017-09-15 | 深圳市深信服电子科技有限公司 | 存储设备的数据处理方法和装置 |
CN109240602A (zh) * | 2018-08-06 | 2019-01-18 | 联想(北京)有限公司 | 数据存取方法 |
CN109471671A (zh) * | 2017-09-06 | 2019-03-15 | 武汉斗鱼网络科技有限公司 | 一种程序冷启动方法和系统 |
WO2019080015A1 (zh) * | 2017-10-25 | 2019-05-02 | 华为技术有限公司 | 一种数据读写方法、装置和存储服务器 |
CN110019497A (zh) * | 2017-08-07 | 2019-07-16 | 北京国双科技有限公司 | 一种数据读取方法及装置 |
CN110069360A (zh) * | 2019-04-22 | 2019-07-30 | 重庆长安新能源汽车科技有限公司 | 一种电机控制器数据的存储、读取方法及装置 |
CN110471613A (zh) * | 2018-05-09 | 2019-11-19 | 杭州海康威视系统技术有限公司 | 存储数据的方法、读取数据的方法、装置及系统 |
CN110597451A (zh) * | 2018-06-12 | 2019-12-20 | 华为技术有限公司 | 一种虚拟化缓存的实现方法及物理机 |
CN111291426A (zh) * | 2020-01-21 | 2020-06-16 | 李岗 | 虚拟存储与物理存储的数据交互方法及系统 |
CN113867642A (zh) * | 2021-09-29 | 2021-12-31 | 杭州海康存储科技有限公司 | 数据处理方法、装置及存储设备 |
CN114327284A (zh) * | 2021-12-30 | 2022-04-12 | 河北建筑工程学院 | 一种数据处理的方法及系统 |
CN115460172A (zh) * | 2022-08-22 | 2022-12-09 | 曙光信息产业股份有限公司 | 设备地址分配方法、装置、计算机设备、介质及程序产品 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105159608B (zh) * | 2015-08-28 | 2019-02-22 | 北京奇艺世纪科技有限公司 | 一种用于读写p2p数据的方法及装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7181578B1 (en) * | 2002-09-12 | 2007-02-20 | Copan Systems, Inc. | Method and apparatus for efficient scalable storage management |
CN102243574A (zh) * | 2010-05-13 | 2011-11-16 | 成都索贝数码科技股份有限公司 | 一种基于虚拟介质的素材存储管理方法及系统 |
CN103064797A (zh) * | 2012-12-21 | 2013-04-24 | 华为技术有限公司 | 数据处理方法和虚拟机管理平台 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8332370B2 (en) * | 2006-05-09 | 2012-12-11 | Hewlett-Packard Development Company, L.P. | Maintaining commonly named client-specific file content in hard disk drive emulation |
GB201008633D0 (en) * | 2010-05-24 | 2010-07-07 | Gigle Networks Iberia Sl | Communications apparatus |
CN103593147B (zh) * | 2013-11-07 | 2016-08-17 | 华为技术有限公司 | 一种数据读取的方法及装置 |
-
2013
- 2013-11-07 CN CN201310554709.1A patent/CN103593147B/zh active Active
-
2014
- 2014-07-25 WO PCT/CN2014/082985 patent/WO2015067074A1/zh active Application Filing
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7181578B1 (en) * | 2002-09-12 | 2007-02-20 | Copan Systems, Inc. | Method and apparatus for efficient scalable storage management |
CN102243574A (zh) * | 2010-05-13 | 2011-11-16 | 成都索贝数码科技股份有限公司 | 一种基于虚拟介质的素材存储管理方法及系统 |
CN103064797A (zh) * | 2012-12-21 | 2013-04-24 | 华为技术有限公司 | 数据处理方法和虚拟机管理平台 |
Cited By (33)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015067074A1 (zh) * | 2013-11-07 | 2015-05-14 | 华为技术有限公司 | 一种数据读取的方法及装置 |
US10338949B2 (en) | 2014-05-26 | 2019-07-02 | Huawei Technologies Co., Ltd. | Virtual trusted platform module function implementation method and management device |
WO2015180396A1 (zh) * | 2014-05-26 | 2015-12-03 | 华为技术有限公司 | 一种虚拟可信平台模块功能实现方法和管理设备 |
CN104461685A (zh) * | 2014-11-19 | 2015-03-25 | 华为技术有限公司 | 虚拟机处理方法和虚拟计算机系统 |
CN104461685B (zh) * | 2014-11-19 | 2017-09-29 | 华为技术有限公司 | 虚拟机处理方法和虚拟计算机系统 |
CN105930278A (zh) * | 2015-02-26 | 2016-09-07 | 爱思开海力士有限公司 | 数据储存设备及其操作方法 |
CN104765571A (zh) * | 2015-03-17 | 2015-07-08 | 深信服网络科技(深圳)有限公司 | 虚拟数据写入、读取的方法及系统 |
US10803109B2 (en) | 2015-10-21 | 2020-10-13 | Hangzhou Hikvision Digital Technology Co., Ltd. | Method and device for reading and writing video data in NAS device |
WO2017067297A1 (zh) * | 2015-10-21 | 2017-04-27 | 杭州海康威视数字技术股份有限公司 | 对nas设备中视频数据的读写方法及装置 |
CN105573667A (zh) * | 2015-12-10 | 2016-05-11 | 华为技术有限公司 | 一种数据读取方法和存储服务器 |
CN107168767A (zh) * | 2016-03-08 | 2017-09-15 | 深圳市深信服电子科技有限公司 | 存储设备的数据处理方法和装置 |
CN107168767B (zh) * | 2016-03-08 | 2020-07-10 | 深信服科技股份有限公司 | 存储设备的数据处理方法和装置 |
CN106201652B (zh) * | 2016-06-29 | 2020-05-26 | 联想(北京)有限公司 | 一种数据处理方法及虚拟机 |
CN106201652A (zh) * | 2016-06-29 | 2016-12-07 | 联想(北京)有限公司 | 一种数据处理方法及虚拟机 |
CN110019497A (zh) * | 2017-08-07 | 2019-07-16 | 北京国双科技有限公司 | 一种数据读取方法及装置 |
CN109471671A (zh) * | 2017-09-06 | 2019-03-15 | 武汉斗鱼网络科技有限公司 | 一种程序冷启动方法和系统 |
US11397668B2 (en) | 2017-10-25 | 2022-07-26 | Huawei Technologies Co., Ltd. | Data read/write method and apparatus, and storage server |
CN110651246B (zh) * | 2017-10-25 | 2020-12-25 | 华为技术有限公司 | 一种数据读写方法、装置和存储服务器 |
CN110651246A (zh) * | 2017-10-25 | 2020-01-03 | 华为技术有限公司 | 一种数据读写方法、装置和存储服务器 |
WO2019080015A1 (zh) * | 2017-10-25 | 2019-05-02 | 华为技术有限公司 | 一种数据读写方法、装置和存储服务器 |
CN110471613A (zh) * | 2018-05-09 | 2019-11-19 | 杭州海康威视系统技术有限公司 | 存储数据的方法、读取数据的方法、装置及系统 |
CN110597451A (zh) * | 2018-06-12 | 2019-12-20 | 华为技术有限公司 | 一种虚拟化缓存的实现方法及物理机 |
CN110597451B (zh) * | 2018-06-12 | 2021-02-23 | 华为技术有限公司 | 一种虚拟化缓存的实现方法及物理机 |
US11397690B2 (en) | 2018-06-12 | 2022-07-26 | Huawei Technologies Co., Ltd. | Virtualized cache implementation method and physical machine |
CN109240602A (zh) * | 2018-08-06 | 2019-01-18 | 联想(北京)有限公司 | 数据存取方法 |
CN110069360A (zh) * | 2019-04-22 | 2019-07-30 | 重庆长安新能源汽车科技有限公司 | 一种电机控制器数据的存储、读取方法及装置 |
CN110069360B (zh) * | 2019-04-22 | 2023-03-21 | 重庆长安新能源汽车科技有限公司 | 一种电机控制器数据的存储、读取方法及装置 |
CN111291426A (zh) * | 2020-01-21 | 2020-06-16 | 李岗 | 虚拟存储与物理存储的数据交互方法及系统 |
CN113867642A (zh) * | 2021-09-29 | 2021-12-31 | 杭州海康存储科技有限公司 | 数据处理方法、装置及存储设备 |
CN113867642B (zh) * | 2021-09-29 | 2023-08-04 | 杭州海康存储科技有限公司 | 数据处理方法、装置及存储设备 |
CN114327284A (zh) * | 2021-12-30 | 2022-04-12 | 河北建筑工程学院 | 一种数据处理的方法及系统 |
CN115460172A (zh) * | 2022-08-22 | 2022-12-09 | 曙光信息产业股份有限公司 | 设备地址分配方法、装置、计算机设备、介质及程序产品 |
CN115460172B (zh) * | 2022-08-22 | 2023-12-05 | 曙光信息产业股份有限公司 | 设备地址分配方法、装置、计算机设备、介质及程序产品 |
Also Published As
Publication number | Publication date |
---|---|
CN103593147B (zh) | 2016-08-17 |
WO2015067074A1 (zh) | 2015-05-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103593147A (zh) | 一种数据读取的方法及装置 | |
CN106874128B (zh) | 数据传输方法及装置 | |
CN101841520B (zh) | 域名系统以及域名系统的信息处理方法、装置 | |
CN106817388B (zh) | 虚拟机、宿主机获取数据的方法、装置及访问数据的系统 | |
CN103607428B (zh) | 一种访问共享内存的方法和装置 | |
CN103812849A (zh) | 一种本地缓存更新方法、系统、客户端及服务器 | |
CN103595790A (zh) | 设备远程访问的方法、瘦客户端和虚拟机 | |
CN103475682A (zh) | 文件迁移方法及设备 | |
CN103324533A (zh) | 分布式数据处理方法、装置及系统 | |
CN103064797A (zh) | 数据处理方法和虚拟机管理平台 | |
CN105653209A (zh) | 一种对象存储数据传输方法及装置 | |
CN113806300B (zh) | 数据存储方法、系统、装置、设备及存储介质 | |
CN103595782A (zh) | 一种分布式存储系统及其下载文件的方法 | |
CN104601666A (zh) | 日志服务方法及云平台 | |
CN104408126B (zh) | 一种数据库的持久化写入方法、装置和系统 | |
CN111803917A (zh) | 资源的处理方法和装置 | |
CN110267077B (zh) | 离线缓存方法、装置、终端及可读存储介质 | |
CN103595720A (zh) | 卸载数据传输方法、装置和客户端 | |
CN102882961A (zh) | 数据校验方法及服务器 | |
CN105141696A (zh) | 文件上传方法和装置 | |
CN105426125B (zh) | 一种数据存储方法及装置 | |
CN104717175A (zh) | 虚拟桌面的处理方法和系统 | |
CN105765542B (zh) | 访问文件的方法、分布式存储系统和存储节点 | |
CN108090087B (zh) | 文件处理方法及装置 | |
CN109684029A (zh) | 存储内容访问方法、装置、电子设备及计算机存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |