CN115525602A - 数据处理方法以及相关装置 - Google Patents
数据处理方法以及相关装置 Download PDFInfo
- Publication number
- CN115525602A CN115525602A CN202111095506.1A CN202111095506A CN115525602A CN 115525602 A CN115525602 A CN 115525602A CN 202111095506 A CN202111095506 A CN 202111095506A CN 115525602 A CN115525602 A CN 115525602A
- Authority
- CN
- China
- Prior art keywords
- data
- storage
- metadata
- file
- target
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000003672 processing method Methods 0.000 title abstract description 26
- 238000003860 storage Methods 0.000 claims abstract description 329
- 230000015654 memory Effects 0.000 claims description 38
- 238000000034 method Methods 0.000 claims description 35
- 238000004891 communication Methods 0.000 claims description 28
- 238000012545 processing Methods 0.000 claims description 22
- 238000004590 computer program Methods 0.000 claims description 7
- 238000006243 chemical reaction Methods 0.000 claims description 5
- 238000004519 manufacturing process Methods 0.000 abstract description 26
- 230000002688 persistence Effects 0.000 description 12
- 238000010586 diagram Methods 0.000 description 10
- 230000006870 function Effects 0.000 description 10
- 238000013507 mapping Methods 0.000 description 10
- 238000013500 data storage Methods 0.000 description 9
- 238000004458 analytical method Methods 0.000 description 7
- 238000011161 development Methods 0.000 description 7
- 230000002085 persistent effect Effects 0.000 description 7
- 238000012360 testing method Methods 0.000 description 7
- 230000008569 process Effects 0.000 description 5
- 230000004044 response Effects 0.000 description 4
- 230000002159 abnormal effect Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000008520 organization Effects 0.000 description 3
- 238000005192 partition Methods 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 102100037460 E3 ubiquitin-protein ligase Topors Human genes 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 238000013508 migration Methods 0.000 description 2
- 230000005012 migration Effects 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 101100226364 Arabidopsis thaliana EXT1 gene Proteins 0.000 description 1
- 101100226366 Arabidopsis thaliana EXT3 gene Proteins 0.000 description 1
- 102100029074 Exostosin-2 Human genes 0.000 description 1
- 101000918275 Homo sapiens Exostosin-2 Proteins 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000013144 data compression Methods 0.000 description 1
- 238000013524 data verification Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 238000009776 industrial production Methods 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 208000034420 multiple type III exostoses Diseases 0.000 description 1
- 230000002265 prevention Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/11—File system administration, e.g. details of archiving or snapshots
- G06F16/113—Details of archiving
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1448—Management of the data involved in backup or backup restore
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/172—Caching, prefetching or hoarding of files
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Quality & Reliability (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请提供了一种数据处理方法,包括:备份服务器接收元数据获取命令,该元数据获取命令用于获取第一格式的文件系统元数据,该命令中包括待读取的目标目录的标识,备份服务器根据目标目录的标识,从归档存储中的元数据存储区域获取与目标目录对应的第二格式的文件系统元数据,将与目标目录对应的第二格式的文件系统元数据,转换为与目标目录对应的第一格式的文件系统元数据,然后返回上述文件系统元数据。由于可以从集中存储元数据的元数据存储区域直接获取与目标目录对应的第二格式的文件系统元数据,无需获取某次归档存储的所有数据,并将数据均恢复为与生产环境相同的存储格式,如此大大缩短了挂载时间,并且减少了资源占用。
Description
本申请要求于2021年06月25日提交中国国家知识产权局、申请号为202110713326.9、发明名称为“访问归档存储中的数据方法及装置”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请涉及存储技术领域,尤其涉及一种数据处理方法、装置、备份服务器以及计算机可读存储介质、计算机程序产品。
背景技术
在工业生产过程中,考虑到生产安全,通常会对生产环境的数据进行备份存储,以便于生产环境异常时,能够基于备份数据恢复生产。上述备份数据还可以挂载至开发主机、测试主机或分析主机,以便开发、测试、分析时使用。
备份存储通常是采用高性能的存储介质。在对生产环境的数据进行备份存储的过程中,考虑到成本问题,还可以对备份数据进行归档存储。归档存储是指将数据迁移到低成本、大容量的存储介质中。其中,归档存储中数据的存储格式通常会发生变化,例如由与生产环境相同的文件存储格式变为与生产环境不同的对象存储格式。
在将归档存储中的数据挂载至开发主机、测试主机或分析主机时,需要将某次归档存储的所有数据均恢复为与生产环境相同的存储格式,才能获得相应的文件系统,进而基于该文件系统进行数据挂载。如此需要花费大量的时间,而且需要占用大量的资源,如占用大量的计算资源、存储资源以及网络资源,难以满足业务的需求。
发明内容
本申请提供了一种数据处理方法,该方法通过在归档存储的元数据存储区域集中存储元数据,使得挂载数据时可以直接从元数据存储区域获取相应的元数据,无需获取某次归档存储的所有数据,并将其恢复为与生产环境相同的格式,由此缩短了挂载时间,减少了资源占用。本申请还提供了上述方法对应的装置、备份服务器、计算机可读存储介质以及计算机程序产品。
第一方面,本申请提供了一种数据处理方法,该方法可以由备份服务器执行。具体地,备份服务器接收元数据获取命令,该元数据获取命令用于获取第一格式的文件系统元数据,该元数据获取命令中包括待读取的目标目录的标识,然后备份服务器根据所述目标目录的标识,从归档存储中的元数据存储区域获取与所述目标目录对应的第二格式的文件系统元数据,接着备份服务器将与所述目标目录对应的第二格式的文件系统元数据,转换为与所述目标目录对应的第一格式的文件系统元数据,并返回与所述目标目录对应的第一格式的文件系统元数据。该文件系统元数据包括所述目标目录的子目录列表和/或文件列表。
在该方法中,归档存储的元数据存储区域集中存储元数据,区别于传统的归档存储将数据和元数据一同存储在对象中,该方法将包括文件系统元数据在内的元数据与数据本身分离存储,如此,在需要从归档存储中读取目录等元数据时,可以根据目标目录的标识,从归档存储的元数据存储区域直接获取与目标目录对应的第二格式的文件系统元数据,并将格式转换为第一格式,无需获取某次归档存储的所有数据,并将数据均恢复为与生产环境相同的存储格式,如此大大缩短了挂载时间,实现了秒级挂载,满足了业务需求。而且,无需在备份存储中开辟完整的空间,以用于恢复归档存储的所有数据,降低了成本。
在一些可能的实现方式中,备份服务器还接收用于读取第一数据的第一数据读命令,其中,第一数据属于所述目标目录中的第一目标文件,第一数据读命令包括所述第一目标文件的标识和所述第一数据的地址。相应地,备份服务器根据第一目标文件的标识和第一数据的地址,从所述归档存储中获取所述第一数据与所述归档存储中的多个容器对象的对应关系。其中,多个容器对象分别存储有所述第一数据的部分数据。然后备份服务器根据所述对应关系从所述多个容器对象中获取对应的数据,并根据从所述多个容器对象中获取的多个数据,获得所述第一数据,接着备份服务器返回所述第一数据。
与读取元数据类似,由于归档存储的元数据存储区域集中文件映射关系元数据,该文件映射关系元数据用于描述文件的部分数据与存储该部分数据的容器对象的对应关系,基于此,备份服务器可以根据待读取的数据所在文件的标识以及该数据在文件内的地址,直接获取上述对应关系,并根据对应关系从多个容器对象中分别获取第一数据的部分数据,并将部分数据合并得到第一数据,无需获取某次归档存储的所有数据,并对其进行恢复,实现了秒级挂载,而且减少了传输和存储数据的开销,降低了成本。
在一些可能的实现方式中,备份服务器还可以将所述第一数据写入备份存储,以对第一数据进行持久化存储。一方面可以避免第一数据因掉电而丢失,另一方面可以在下一次访问第一数据时进行加速。
在一些可能的实现方式中,备份服务器还接收用于读取所述第一数据的第二数据读命令,备份服务器可以从所述备份存储中获取所述第一数据,然后返回所述第一数据。如此,可以从备份存储中快速获取第一数据,实现访问加速。
在一些可能的实现方式中,备份服务器还接收用于写入第二数据的数据写命令。其中,所述第二数据为所述目标目录中的第二目标文件的更新数据,备份服务器根据所述数据写命令,将所述第二数据写入备份存储。一方面,可以为后续访问该第二数据进行加速,另一方面,可以避免对归档存储中的数据的破坏。
在一些可能的实现方式中,备份服务器还可以从所述归档存储中的元数据存储区域获取所述第二目标文件的文件系统元数据和所述第二目标文件与存储所述第二目标文件的多个容器对象的对应关系,根据所述第二数据更新所述第二目标文件的文件系统元数据和所述第二目标文件与存储所述第二目标文件的多个容器对象的对应关系,然后将更新的所述第二目标文件的文件系统元数据以及更新的所述第二目标文件与存储所述第二目标文件的多个容器对象的对应关系写入所述备份存储。如此,可以为后续对该目标文件的访问进行加速。
在一些可能的实现方式中,所述备份存储与所述备份服务器集成设置,并且所述归档存储与所述备份服务器分离设置。其中,备份存储和备份服务器集成设置,可以减少网络资源的开销,节省成本。
在另一些可能的实现方式中,备份存储与备份服务器也可以分离设置,例如,备份存储可以通过网络与备份服务器连接,如此,可以缩小备份服务器的尺寸,有利于提升备份服务器的集成规模。
在一些可能的实现方式中,所述第一格式为文件存储或块存储,所述第二格式为对象存储。通过支持不同存储格式,可以满足不同的业务需求。
第二方面,本申请提供了一种数据处理装置,所述装置包括:
通信模块,用于接收元数据获取命令,其中,所述元数据获取命令用于获取第一格式的文件系统元数据,所述元数据获取命令中包括待读取的目标目录的标识;
所述通信模块,还用于根据所述目标目录的标识,从归档存储中的元数据存储区域获取与所述目标目录对应的第二格式的文件系统元数据,其中,所述元数据存储区域集中存储元数据;
转换模块,用于将与所述目标目录对应的第二格式的文件系统元数据,转换为与所述目标目录对应的第一格式的文件系统元数据;
所述通信模块,还用于返回与所述目标目录对应的第一格式的文件系统元数据,所述文件系统元数据包括所述目标目录的子目录列表和/或文件列表。
在一些可能的实现方式中,所述通信模块还用于:
接收用于读取第一数据的第一数据读命令,所述第一数据属于所述目标目录中的第一目标文件,所述第一数据读命令包括所述第一目标文件的标识和所述第一数据的地址;
根据所述第一目标文件的标识和所述第一数据的地址,从所述归档存储中获取所述第一数据与所述归档存储中的多个容器对象的对应关系,所述多个容器对象分别存储有所述第一数据的部分数据;
根据所述对应关系从所述多个容器对象中获取对应的数据,并根据从所述多个容器对象中获取的多个数据,获得所述第一数据,返回所述第一数据。
在一些可能的实现方式中,所述通信模块还用于:
将所述第一数据写入备份存储。
在一些可能的实现方式中,所述通信模块还用于:
接收用于读取所述第一数据的第二数据读命令;
从所述备份存储中获取所述第一数据;
返回所述第一数据。
在一些可能的实现方式中,所述通信模块还用于:
接收用于写入第二数据的数据写命令,其中,所述第二数据为所述目标目录中的第二目标文件的更新数据;
根据所述数据写命令,将所述第二数据写入备份存储。
在一些可能的实现方式中,所述通信模块还用于:
从所述归档存储中的元数据存储区域获取所述第二目标文件的文件系统元数据和所述第二目标文件与存储所述第二目标文件的多个容器对象的对应关系;
所述装置还包括:
更新模块,用于根据所述第二数据更新所述第二目标文件的文件系统元数据和所述第二目标文件与存储所述第二目标文件的多个容器对象的对应关系;
所述通信模块还用于:
将更新的所述第二目标文件的文件系统元数据以及更新的所述第二目标文件与存储所述第二目标文件的多个容器对象的对应关系写入所述备份存储。
在一些可能的实现方式中,所述备份服务器与所述备份存储集成设置,并且所述备份服务器与所述归档存储分离设置。
在一些可能的实现方式中,第一格式为块存储或文件存储,第二格式为对象存储。
第三方面,本申请提供一种备份服务器,所述备份服务器包括处理器和存储器。所述处理器、所述存储器进行相互的通信。所述处理器用于执行所述存储器中存储的指令,以使得备份服务器执行如第一方面或第一方面的任一种实现方式中的数据处理方法。
第四方面,本申请提供一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,所述指令指示备份服务器执行上述第一方面或第一方面的任一种实现方式所述的数据处理方法。
第五方面,本申请提供了一种包含指令的计算机程序产品,当其在备份服务器上运行时,使得备份服务器执行上述第一方面或第一方面的任一种实现方式所述的数据处理方法。
本申请在上述各方面提供的实现方式的基础上,还可以进行进一步组合以提供更多实现方式。
附图说明
为了更清楚地说明本申请实施例的技术方法,下面将对实施例中所需使用的附图作以简单地介绍。
图1为本申请实施例提供的一种块存储的示意图;
图2为本申请实施例提供的一种文件存储的示意图;
图3为本申请实施例提供的一种对象存储的示意图;
图4为本申请实施例提供的一种数据处理系统的系统架构图;
图5A为本申请实施例提供的一种数据处理系统的硬件结构图;
图5B为本申请实施例提供的另一种数据处理系统的硬件结构图;
图6为本申请实施例提供的一种数据处理方法的流程图;
图7为本申请实施例提供的一种数据处理方法的流程图;
图8为本申请实施例提供的一种数据处理方法的流程图;
图9为本申请实施例提供的一种数据处理方法的流程图;
图10为本申请实施例提供的一种数据处理装置的结构示意图。
具体实施方式
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解,这样使用的术语在适当情况下可以互换,这仅仅是描述本申请的实施例中对相同属性的对象在描述时所采用的区分方式。
为了便于理解,首先对本申请涉及的一些技术术语进行解释。
块存储,也即块级别(block level)的数据存储,是一种将数据拆分成块(block),并单独存储各个块的存储格式。对于块级别的数据存储,介质不关心数据的组织方式以及结构。如图1所示,所有数据按照固定的大小分块,每一块赋予一个用于寻址的编号。
以机械硬盘为例,一块就是一个扇区,一个扇区是512字节或者4K字节。在一些实施例中,硬盘用柱面-磁头-扇区号(Cylinder-Head-Sector,CHS)组成的编号进行寻址。在另一些实施例中,硬盘用一个逻辑块编号(Logical Block Addressing,LBA)进行寻址。所以,硬盘往往又叫块设备。当然,除了硬盘还有其它块设备,例如不同规格的软盘,各种规格的光盘,磁带等。
上述块设备与计算设备(例如应用服务器)之间可以通过小型计算机系统接口(Internet Small Computer System Interface,iSCSI)协议。在一些实施例中,块设备也可以通过其他协议与计算设备进行通信。
文件存储,也即文件级别(file level)的数据存储,可以通过文件系统实现。文件系统是一个结构化的数据文件存储和组织形式。计算机中所有的数据都是0和1,存储在硬件介质上的一连串的01组合完全无法去分辨以及管理。因此使用“文件”这个概念对这些数据进行组织,用于同一用途的数据,按照不同应用程序要求的结构方式组成不同类型的文件。通常用不同的后缀来指代不同的类型,然后给每个文件起一个方便理解记忆的名字。而当文件很多的时候,可以按照某种划分方式给这些文件分组,每一组文件放在同一个目录(或者叫文件夹)里面。而且目录下面除了文件还可以有下一级目录(称之为子目录或者子文件夹),所有的文件、目录形成一个树状结构。这个树状结构有一个专用的名字:文件系统(File System)。文件系统有很多类型,常见的有Windows的FAT/FAT32/NTFS,Linux的EXT2/EXT3/EXT4/XFS/BtrFS等。
为了方便查找,从根节点开始逐级目录往下,一直到文件本身,把这些目录、子目录、文件的名字用特殊的字符(例如Windows/DOS用“\”,类Unix系统用“/”)拼接起来,这样的一串字符称之为文件路径,例如Linux中的“/etc/systemd/system.conf”或者Windows中的“C:\Windows\System32\taskmgr.exe”。路径是访问某个具体的文件的唯一标识。例如,Windows下的D:\data\file.exe就是一个文件的路径,它表示D分区下的data目录下的file.exe文件。
如图2所示,文件系统是建立在块设备上面的,文件系统不但记录文件路径,还记录哪些块组成一个文件,哪些块记录的是目录/子目录信息。不同的文件系统有不同的组织结构。为了方便管理,硬盘这样的块设备通常可以划分为多个逻辑块设备(logic unitnumber device,LUN device,简称为LUN),也就是硬盘分区(Partition)。反过来,单个介质的容量、性能有限,可以通过某些技术手段把多个物理块设备组合成一个逻辑块设备,例如各种级别的独立硬盘冗余阵列(redundant array of independent disks,RAID),磁盘簇(just abunch of disks,JBOD)等。文件系统也可以建立在这些逻辑块设备之上。无论如何,应用服务器应用并不需要关心所要访问的文件位于底层的块设备的具体位置,只需要该文件的文件名/ID发送给文件系统,由文件系统根据所述文件名/ID查询出文件路径即可。
比较常见的文件访问协议是网络文件系统(network file system,NFS)、通用网络文件系统(common internet file system,CIFS)或者服务器消息块(server messageblock,SMB)等,本实施例不对此进行任何限定。
对象存储,也即对象级别的数据存储,可以为电影、办公文档和图像等类似的非结构化数据,提供了一个可扩展、自我管理、受保护和可共享的存储方案。对象存储使用扁平地址空间来存储数据,这种地址空间中没有目录和文件的分层。得益于此,一个对象存储系统可存储大量的对象。如图3所示,一个对象可以包括用户数据、相关的元数据(如大小、日期、所有者等)以及数据的其他属性(如访问特点等)。每个对象用唯一ID标识,这个唯一ID称为对象ID。对象ID使用专用算法(如数据的哈希值)生成,保证每个对象的ID是唯一的。
挂载(mounting)是指由操作系统使一个存储设备(诸如硬盘、光盘或共享资源)上的文件和目录可供用户通过计算机的文件系统访问的一个过程。其中,存储设备可以是备份存储(backup storage)。备份存储通常采用与生产环境(例如是对外发布的应用所在的环境)相同的存储格式,对生产环境的数据进行备份,以便生产环境异常时能够基于备份数据恢复生产。此外,备份存储中的数据还可以挂载至开发主机、测试主机或者分析主机,以便开发、测试或者分析时使用。由于备份存储中数据的存储格式与生产环境中数据的存储格式相同,可以通过网络附属存储(network attached storage)直接将备份存储中的数据共享给主机,从而实现备份存储的秒级挂载(livemount)。
实际应用时,考虑到成本问题,还可以对备份存储中的备份数据进行归档存储(archive storage)。归档存储是指将数据迁移到低成本、大容量的存储介质中。其中,归档存储中数据的存储格式通常会发生变化。例如由与生产环境相同的文件存储格式变为与生产环境不同的对象存储格式。
当用户存在将归档存储中的数据挂载至开发主机、测试主机或分析主机的需求时,需要将某次归档存储的所有数据均恢复为与生产环境相同的存储格式,才能获得相应的文件系统,进而基于该文件系统进行数据挂载。如此需要花费大量的时间,而且需要占用大量的资源,如占用大量的计算资源、存储资源以及网络资源,难以满足业务的需求。
有鉴于此,本申请实施例提供了一种数据处理方法。该方法可以应用于如图4所示的数据处理系统。该数据处理系统400包括备份服务器402和归档存储404。进一步地,数据处理系统400还包括备份存储406。
区别于传统的归档存储将数据和元数据一同存储在对象中,本申请实施例的归档存储404设置有元数据存储区域和数据存储区域,元数据存储区域集中存储元数据,数据存储区域集中存储数据,也即数据和元数据是分离存储的。
当用户需要从归档存储404中挂载数据时,备份服务器402先接收元数据获取命令,该元数据获取命令用于获取第一格式的文件系统元数据,该元数据获取命令中包括待读取的目标目录的标识,然后备份服务器402根据目标目录的标识,从归档存储404中的元数据存储区域获取与所述目标目录对应的第二格式的文件系统元数据,接着备份服务器402将与所述目标目录对应的第二格式的文件系统元数据,转换为与所述目标目录对应的第一格式的文件系统元数据,然后返回与目标目录对应的第一格式的文件系统元数据,该文件系统元数据包括目标目录的子目录列表和/或文件列表。
在该方法中,备份服务器402可以根据目标目录的标识,从归档存储404的元数据存储区域直接获取与目标目录对应的第二格式的文件系统元数据,并将格式转换为第一格式,无需获取某次归档存储的所有数据,并将数据均恢复为与生产环境相同的存储格式,如此大大缩短了挂载时间,实现了秒级挂载,满足了业务需求。而且,无需在备份存储中开辟完整的空间,以用于恢复归档存储的所有数据,降低了成本。
为了使得本申请的技术方案更加清楚,下面先结合图4对本申请实施例的系统架构进行介绍。
参见图4所示的数据处理系统400的系统架构图,如图4所示,数据处理系统400包括备份服务器402、归档存储404和备份存储406。其中,备份服务器402和归档存储404通常可以是分离设置。备份服务器402和备份存储406可以集成设置,也可以分离设置。下面结合图5A、图5B分别对集成设置和分离设置时的硬件结构进行示例说明。
如图5A所示,备份服务器402至少包括处理器4022、内存4024和网卡4026。由于备份服务器402和备份存储406集中设置,因此,备份服务器402还包括硬盘4062。处理器4022、内存4024、网卡4026和硬盘4062之间通过总线连接。
其中,处理器4022和内存4024用于提供计算资源。具体地,处理器4022可以是一个中央处理器(central processing unit,CPU),用于处理来自备份服务器402外部的数据访问请求,或者备份服务器402内部生成的请求。示例性的,备份服务器402接收写数据请求时,会将这些写数据请求中的数据暂时保存在内存4024中。当内存4024中的数据总量达到一定阈值时,处理器4022将内存4024中存储的数据发送给备份存储406中的硬盘4062进行持久化存储。除此之外,处理器4022还用于对数据进行计算或处理,例如元数据管理、重复数据删除、数据压缩、数据校验、虚拟化存储空间以及地址转换等。
内存4024是指与处理器4022直接交换数据的内部存储器,它可以随时读写数据,而且速度很快,作为操作系统或其他正在运行中的程序的临时数据存储器。内存包括至少两种存储器,例如内存既可以是随机存取存储器(Random Access Memory,RAM),也可以是只读存储器(Read Only Memory,ROM)。举例来说,随机存取存储器可以是动态随机存取存储器(Dynamic Random Access Memory,DRAM),存储级存储器(Storage Class Memory,SCM),或者静态随机存取存储器(Static Random Access Memory,SRAM)等。只读存储器可以是可编程只读存储器(Programmable Read Only Memory,PROM)、可抹除可编程只读存储器(Erasable Programmable Read Only Memory,EPROM)等。
实际应用中,备份服务器402中可配置多个内存4024,以及不同类型的内存4024。本实施例不对内存4024的数量和类型进行限定。此外,可对内存4024进行配置使其具有保电功能。保电功能是指系统发生掉电又重新上电时,内存4024中存储的数据也不会丢失。具有保电功能的内存被称为非易失性内存。
硬盘4062用于提供存储资源。硬盘4062可以是磁盘或者其他类型的存储介质,例如固态硬盘或者叠瓦式磁记录硬盘等。网卡4026用于与其他设备通信,例如用于与归档存储404通信。归档存储404包括控制单元4042和网卡4044以及若干个硬盘4046。通常情况下,控制单元4042的数量可以是一个,也可以是两个或两个以上。当归档存储404包含至少两个控制单元4042时,硬盘4046与控制单元4042之间可具有归属关系。如果硬盘4046与控制单元4042之间具有归属关系,那么每个控制单元4042只能访问归属于它的硬盘4046,这往往涉及到在控制单元4042之间转发读/写数据请求,导致数据访问的路径较长。另外,如果存储空间不足,可以在归档存储404中增加新的硬盘4046,并重新绑定硬盘4046与控制单元4042之间的归属关系。在另一种实施方式中,控制单元4042的功能可以卸载到网卡4044上。换言之,在该种实施方式中,归档存储404内部不具有控制单元4042,而是由网卡4044来完成数据读写、地址转换以及其他计算功能。此时,网卡4044是一个智能网卡。它可以包含CPU和内存。
接着参见图5B,备份服务器402至少包括处理器4022、内存4024和网卡4026,归档鵆包括控制单元4042、网卡4044和硬盘4046,备份存储406包括控制单元4062、网卡4064和硬盘4066。处理器4022、内存4024、网卡4026和控制单元4042、网卡4044、硬盘4046以及控制单元4062、网卡4064、硬盘4066的具体实现参见图5A相关内容描述。图5B中,备份服务器402和备份存储406以及备份服务器402和归档存储404均采用分离设置。具体地,备份服务器402的网卡4026分别与备份存储406的网卡4064、归档存储404的网卡4044通过网络连接,由此实现数据读写。
图5A和图5B从硬件的角度对备份服务器402、归档存储404以及备份存储406进行了介绍,接下来从数据访问的角度对上述备份服务器402、归档存储404以及备份存储406进行说明。
在该实施例中,备份服务器402不仅可以提供备份服务(back service)、恢复服务(restore service)和归档服务(archive service),还用于提供挂载服务。其中,备份服务是指将生产环境中的数据进行备份;恢复服务是指生产环境异常时,基于备份数据恢复生产;归档服务是指对备份数据进行归档存储;挂载可以是将数据挂载至主机,例如将备份存储406或归档存储404的数据挂载至主机。
本实施例将重点描述备份服务器402将归档存储404的数据挂载至主机的过程。如图4所示,归档存储404包括数据存储区域和元数据存储区域。其中,数据存储区域用于集中存储数据,元数据存储区域用于集中存储元数据。
具体地,数据存储区域存储多个容器对象,每个容器对象中包括文件的部分数据以及该部分数据在文件内的地址。例如,容器对象1中包括文件1的第一部分数据以及该数据在文件1内的LBA地址,具体为0-8兆字节(megabytes,MB)。
元数据存储区域存储有用于文件系统元数据(file system metadata)和文件映射关系元数据。具体地,文件系统元数据通过文件系统元数据对象进行存储,文件映射关系元数据通过文件映射器(file mapper)对象进行存储。文件系统元数据可以包括文件系统属性信息(file system attribution information)和文件系统架构信息(file systemarchitecture information)。其中,文件系统属性信息可以包括文件名称、文件大小、权限控制信息、访问/创建/修改(access/create/modify,a/c/m)时间等信息中的一种或多种,文件系统架构信息包括文件所属目录、文件所属目录的子目录等信息中的一种或多种。对于一个目录而言,可以基于文件系统元数据构建该目录的子目录列表和/或文件列表。文件映射关系元数据用于描述文件的部分数据与存储该部分数据的容器对象的对应关系。例如,文件映射关系元数据可以包括文件1内LBA地址为0-8MB的数据和容器对象1的对应关系。
备份服务器402可以基于上述文件系统元数据,恢复文件系统,从而实现元数据输入输出(input output,IO),以及基于上述文件映射关系元数据,恢复文件中的数据,从而实现数据IO。其中,元数据IO可以包括浏览目录,数据IO可以包括读写文件中的数据。
其中,备份服务器402可以通过原生格式模拟器(native format simulator)和IO转换器(IO transfer)实现元数据IO以及数据IO。
原生格式可以理解为原始的格式,例如是数据在生产环境中的格式。原生格式可以包括块存储、文件存储等存储格式。原生格式模拟器是一种通过存储协议将归档对象中的数据以原生格式共享给主机的模拟器。根据原生格式不同,存储协议可以是不同的。例如,原生格式为文件存储时,存储协议可以是NAS,原生格式为块存储时,存储协议可以是iSCSI。基于此,原生格式模拟器可以包括NAS protocol simulator和iSCSI protocolsimulator中的至少一种。在该实施例中,主机发出的IO命令,比如浏览目录、读数据、写数据的命令可以被该原生格式模拟器解析。
IO transfer可以从原生格式模拟器获取解析后的IO命令,判断IO命令实际应该发向的位置。例如,待读写的数据或元数据存储在归档存储404中时,IO transfer可以对IO命令进行转换,并将转换后的IO命令转发至归档存储404。
对于频繁访问的数据或元数据(包括最近访问的数据或元数据),备份服务器402还可以将其写入备份服务器402的缓存(cache),以加快后续访问的速率。备份服务器402在将上述频繁访问的数据或元数据写入缓存时,还可以将其写入备份存储406的持久化层,以进行持久化存储。
需要说明的是,当需要写入缓存的数据超过缓存大小限制时,还可以将部分冷数据(访问次数较少或者上次访问时间较久的数据)淘汰出缓存,以便于将需要写入缓存的数据写入缓存。其中,被淘汰出缓存的数据的热度高于归档存储中的数据的热度时,还可以将该数据写入备份存储406,以便于再次访问时,能够快速返回。
当备份服务器402更新归档存储404中的文件的数据时,还可以基于持久化管理器(persitent manager)组织成合适的格式,例如是备份存储406支持的存储格式,写入到备份存储406的持久化层中,而不必写入归档存储404中。一方面可以提升后续读取该部分数据的性能,另一方面可以避免对归档存储404中的数据造成损坏。
图4所示实施例对数据处理系统400的架构进行了详细说明,接下来将从交互的角度对本申请实施例的数据处理方法进行详细说明。
参见图6所示的数据处理方法的流程图,该方法包括:
S602:备份服务器402接收主机发送的元数据获取命令。
元数据获取命令用于获取第一格式的文件系统元数据。其中,第一格式可以是原生格式,也即生产环境中数据的格式。在一些实施例中,第一格式可以是块存储或文件存储。元数据获取命令中包括待读取的目标目录的标识(identifier,ID)。其中,目标目录的ID例如可以是目标目录的名称等。该元数据获取命令用于获取与目标目录对应的文件系统元数据,例如可以包括目标目录的子目录列表和/或文件列表。
子目录列表用于表示目标目录包括的各个子目录,例如包括各个子目录的名称、创建时间、访问时间、修改时间、类型、创建者或大小等信息中的一种或多种。文件列表用于标识目标目录包括的各个文件,例如包括各个文件的名称、创建时间、访问时间、修改时间、类型、创建者或大小等信息中的一种或多种。
主机可以是测试主机、开发主机或分析主机。用户可以通过主机触发获取元数据的操作,例如触发浏览目录的操作,主机响应于用户的上述操作,生成元数据获取命令,然后向备份服务器402发送该元数据获取命令。相应地,备份服务器402接收上述元数据获取命令,以基于上述命令对用户的操作进行响应。
S604:备份服务器402根据元数据获取命令中待读取的目标目录的标识,从归档存储404的元数据存储区域获取与目标目录对应的第二格式的文件系统元数据。
归档存储404设置有元数据存储区域。该元数据存储区域集中存储元数据,例如集中存储有文件系统元数据。基于此,备份服务器402可以根据目标目录的ID,从元数据存储区域中查找目标目录ID,当查找成功时,备份服务器402可以获得与目标目录对应的第二格式的文件系统元数据。其中,第二格式是指归档存储404中数据的格式,例如可以为对象存储格式。
S606:备份服务器402将与目标目录对应的第二格式的文件系统元数据,转换为与目标目录对应的第一格式的文件系统元数据。
具体地,与目标目录对应的第二格式的文件系统元数据通常是以对象存储的,备份服务器402可以从多个文件系统元数据对象中分别获取与目标目录对应的第二格式的文件系统元数据的部分数据,然后将获得的上述部分数据进行合并,形成连续的数据,以转换成块存储的文件系统元数据,或者是文件存储的文件系统元数据。如此,备份服务器402可以实现将与目标目录对应的第二格式的文件系统元数据转换为与目标目录对应的第一格式的文件系统元数据。
S608:备份服务器402向主机返回与目标目录对应的第一格式的文件系统元数据。
具体地,备份服务器402向主机返回与目标目录对应的第一格式的文件系统元数据,以便于主机可以根据上述文件系统元数据恢复文件系统。例如,主机可以根据备份服务器402返回的第一格式的文件系统元数据,如目标目录的子目录列表和/或文件列表,快速挂载文件系统。
S610:备份服务器402接收主机发送的用于读取第一数据的第一数据读命令。
所述第一数据属于所述目标目录中的第一目标文件,所述第一数据读命令包括所述第一目标文件的标识和所述第一数据的地址。第一目标文件的标识可以是第一目标文件的名称。第一数据的地址具体是第一数据在第一目标文件内的地址。假设第一目标文件的大小为n MB,则第一数据的地址可以表示为第i MB到第j MB,其中,i和j的取值范围为0至n。
具体地,主机基于与目标目录对应的第一格式的文件系统元数据恢复文件系统后,用户可以通过主机浏览目录,并在浏览目录时触发读取目标目录中数据,例如是第一数据的操作,主机响应于该操作,生成第一数据读命令。然后主机向备份服务器402发送上述第一数据读命令。
S612:备份服务器402根据所述第一目标文件的标识和所述第一数据的地址,从所述归档存储404中获取所述第一数据与所述归档存储404中的多个容器对象的对应关系。
归档存储404的元数据存储区域还集中存储有文件映射关系元数据。文件映射关系元数据具体是通过file mapper对象进行存储。备份服务器402可以根据第一目标文件的标识和第一数据的地址,从归档存储404中获取第一数据与归档存储404中的多个容器对象的对应关系。其中,多个容器对象分别存储有第一数据的部分数据。
为了便于理解,下面结合具体示例进行说明。假设第一目标文件的标识为file1,第一数据的地址为9-24MB,备份服务器402可以先根据文件的标识字段查找file1,获得所有包括file1的文件映射关系元数据,然后根据数据的地址字段查找地址在9-24MB以内的地址,获得第一数据与归档存储404中的多个容器对象的对应关系。该示例中,该对应关系可以包括file1中第9至16MB的数据与容器对象2的对应关系,file1中第17MB至24的数据与容器对象3的对应关系。
S614:所述备份服务器402根据所述对应关系从所述多个容器对象中获取对应的数据,并根据从所述多个容器对象中获取的多个数据,获得所述第一数据。
具体地,备份服务器402可以从第一数据对应的多个容器对象中分别获取第一数据的部分数据,然后将从多个容器中获取的第一数据的部分数据进行合并,从而获得完整的第一数据。
仍以上述示例进行说明。备份服务器402可以根据file1中第9至24MB的数据与容器对象2、容器对象3的关系,分别从容器对象2、容器对象3中获取相应的数据,然后合并从容器对象2、容器对象3中获取的数据,获得完整的第一数据。
S616:所述备份服务器402向主机返回所述第一数据。
具体地,备份服务器402可以通过存储协议,将第一数据共享给主机。例如,第一数据为文件存储格式时,备份服务器402可以将第一数据通过NAS协议共享给主机。又例如,第一数据为块存储格式时,备份服务器402可以将第一数据通过iSCSI协议共享给主机。
S618:备份服务器402将所述第一数据写入备份存储。
具体地,备份服务器402可以将第一数据先写入缓存,然后再从缓存写入备份存储406,以进行持久化存储。需要说明的是,备份服务器402可以在备份服务器402掉电时,将第一数据从缓存写入备份存储406,也可以是有新的数据需要写入缓存,并且需要写入缓存的数据的大小超过缓存大小限制时,将该第一数据淘汰出缓存。在第一数据的热度高于归档存储404中的数据的热度的情况下,备份服务器402可以将淘汰出的第一数据写入备份存储406。
S620:备份服务器402接收用于读取所述第一数据的第二数据读命令。
在一些实施例中,用户可以触发再次读取第一数据的操作,主机可以响应于用户的上述操作,生成用于读取第一数据的第二数据读命令。与第一数据读命令类似,第二数据读命令中包括第一目标文件的标识和第一数据的地址。备份服务器402接收上述第二数据读命令,以再次读取第二数据。
S622:备份服务器402从所述备份存储406中获取所述第一数据。
具体地,备份服务器402可以根据第一目标文件的标识和第一数据地址,查找备份存储406,当备份存储406包括上述第一数据时,备份服务器402可以直接从备份存储406中获取第一数据,由此实现加速访问。
S624:备份服务器402向主机返回所述第一数据。
参见S616相关内容描述,备份服务器402可以根据第一数据的存储格式,采用与该存储格式相匹配的存储协议,将第一数据共享至主机,以进行数据挂载。
S626:备份服务器402接收主机发送的用于写入第二数据的数据写命令。
具体地,用户在浏览目标目录时,还可以触发对目标目录中的第二目标文件的更新操作。该更新操作具体是更新第二目标文件的数据。主机可以响应于用户的更新操作,生成用于写入第二数据的写命令。该写命令可以包括第二目标文件的标识、第二数据在第二目标文件内的地址和第二数据。备份服务器402接收主机发送上述数据写命令,以写入数据。
S628:备份服务器402根据所述数据写命令,将所述第二数据写入备份存储406。
具体地,备份服务器402根据数据写命令,先将第二数据写入缓存,然后再将第二数据从缓存写入备份存储406,以在备份存储406中进行持久化存储。
S630:备份服务器402从所述归档存储404中的元数据存储区域获取所述第二目标文件的文件系统元数据和所述第二目标文件与存储所述第二目标文件的多个容器对象的对应关系。
具体地,备份服务器402可以根据第二目标文件的标识,从归档存储中获取第二目标文件的文件系统元数据以及第二目标与存储该第二目标文件的多个容器对象的对应关系。
S632:备份服务器402根据所述第二数据更新所述第二目标文件的文件系统元数据和所述第二目标文件与存储所述第二目标文件的多个容器对象的对应关系。
备份服务器402可以根据写入的第二数据更新第二目标文件的文件系统元数据,例如更新修改时间、大小等元数据,并根据写入的第二数据更新第二目标文件与存储第二目标文件的多个容器对象的对应关系。
S634:备份服务器402将更新的所述第二目标文件的文件系统元数据以及更新的所述第二目标文件与存储所述第二目标文件的多个容器对象的对应关系写入所述备份存储406。
备份服务器402可以将更新的文件系统元数据写入备份存储406,以及将更新的对应关系写入备份存储406,以便于后续读取第二目标文件的数据时,可以从备份存储406存储的更新的文件系统元数据以及更新的对应关系中,快速查找备份存储406中是否存储有待读取的数据。
与写入第二数据类似,备份服务器402在写入更新的文件系统元数据以及更新的对应关系时,也可以先写入缓存,然后再从缓存写入备份存储406的持久化层,以进行持久化存储。
需要说明的是,S610至S634为本申请实施例的可选步骤,其中,S610至S616为读取未被访问过的数据的实现方式,S618是加速访问的一种实现方式,S620至S624为读取被访问过的数据的实现方式,S626至S634为更新归档存储中的数据的一种实现方式。在本申请实施例其他可能的实现方式中,也可以通过其他方式读写数据。此外,图6所示实施例是以同一主机发起元数据获取命令、第一数据读命令、第二数据读命令和数据写命令进行示例说明,在一些可能的实现方式中,备份服务器402可以同时为多台提供服务,例如第一主机发起第一数据读命令,备份服务器402可以从归档存储404中获取相应的数据,共享给第一主机,然后将第一数据写入备份存储406。第二主机发起第二数据读命令,备份服务器402可以从备份存储406中获取相应的数据,共享给第二主机。
基于上述内容描述,本申请实施例提供了一种数据处理方法。该方法中,备份服务器402可以根据目标目录的标识,从归档存储404的元数据存储区域直接获取与目标目录对应的第二格式的文件系统元数据,并将格式转换为第一格式,无需获取某次归档存储的所有数据,并将数据均恢复为与生产环境相同的存储格式,如此大大缩短了挂载时间,实现了秒级挂载,满足了业务需求。而且,无需在备份存储中开辟完整的空间,以用于恢复归档存储的所有数据,降低了成本。
备份服务器402读取未被访问的数据时,可以从归档存储404的元数据存储区域直接获取未被访问的数据与多个容器对象的对应关系,基于该对应关系获取对应的数据,进而获得需要读取的数据。如此,无需获取归档存储的所有数据,提高了读取效率,而且减少了传输和存储的开销。进一步地,备份服务器402还可以将读取的数据写入备份存储406,以加速后续的访问。备份服务器402在更新归档存储404中的数据时,可以将该数据写入备份存储,一方面可以加速后续的访问,另一方面可以避免破坏归档存储404中的数据。
接下来,将结合附图,从备份服务器402内部交互的角度,对获取元数据、写数据和读数据的过程进行详细说明。
参见图7所示的数据处理方法的流程图,该方法包括:
S702:NAS协议模拟器接收元数据获取命令。
S704:NAS协议模拟器解析元数据获取命令,获得目标目录的ID。
S706:NAS协议模拟器下发元数据读请求。
在S702至S706中,NAS协议截获主机发送的元数据获取命令,基于NAS协议对元数据获取命令进行解析,获得目标目录的ID,然后根据目标目录的ID下发元数据读请求,以请求读取与目标目录对应的第一格式的文件系统元数据。
S708:IO转换器从缓存中查找与目标目录对应的文件系统元数据。当缓存中包括与目标目录对应的文件系统元数据的第一部分时,执行S710。
S710:IO转换器从缓存中获取与目标目录对应的文件系统元数据的第一部分。
IO转换器可以先根据目标目录的ID,从缓存中查找与目标目录对应的文件系统元数据。当缓存中包括与目标目录对应的文件系统元数据时,例如该目标目录最近被访问过,且与目标目录对应的文件系统元数据被写入缓存,则IO转换器可以直接从缓存中获取与目标目录对应的文件系统元数据。当缓存中包括与目标目录对应的文件系统元数据的部分数据时,则可以执行S710,以获取文件系统元数据的部分数据,例如是第一部分。当缓存中不包括与目标目录对应的文件系统元数据,例如,该目标目录未被访问过,或者目标目录被访问过,但写入缓存的文件系统元数据被淘汰出缓存,则可以执行S712。
S712:IO转换器从备份存储406中查找与目标目录对应的文件系统元数据。当备份存储中包括与目标目录对应的文件系统元数据的第二部分时,执行S714。
S714:IO转换器从备份存储406中获取与目标目录对应的文件系统元数据的第二部分。
S716:IO转换器从归档存储404中获取与目标目录对应的文件系统元数据的剩余部分。
具体地,缓存中包括与目标目录对应的文件系统元数据的部分数据,或者不包括与目标目录对应的文件系统元数据时,IO转换器可以从备份存储406中查找与目标目录对应的文件系统元数据。
当备份存储406中包括目标目录对应的文件系统元数据的部分数据,例如是第二部分时,可以执行S714,以获取上述第二部分。当第一部分和第二部分可以形成完整的文件系统元数据,则可以不执行S716。当第一部分和第二部分不能形成完整的文件系统元数据,则IO转换器还执行S716,从归档存储404中获取与目标目录对应的文件系统元数据的剩余部分。当备份存储406中不包括与目标目录对应的文件系统元数据,则可以不执行S714。
S718:IO转换器将从缓存、备份存储406和/或归档存储404中获取的各个部分合并,获得与目标目录对应的第一格式的文件系统元数据。
具体地,IO转换器可以将从缓存、备份存储406和/或归档存储404获取的与目标目录对应的文件系统元数据的各个部分,按照相应的规则进行合并,从而获得与目标目录对应的第一格式的文件系统元数据。
S720:IO转换器返回与目标目录对应的第一格式的文件系统元数据。
S722:IO转换器将与目标目录对应的第一格式的文件系统元数据写入缓存。
S724:缓存返回写入成功通知。
当第一格式的文件系统元数据成功写入缓存时,缓存可以返回写入成功通知。
需要说明的是,执行本申请实施例的数据处理方法也可以不执行上述S724,例如缓存具有保电功能时,写入缓存的数据丢失的概率较低,可以不执行上述S724。
S726:缓存将与目标目录对应的第一格式的文件系统元数据写入备份存储406。
S728:持久化管理器返回写入成功通知。
其中,缓存可以通过持久化管理器,向备份存储406写入第一格式的文件系统元数据,当第一格式的文件系统元数据成功写入备份存储406后,持久化管理器返回写入成功通知。
与S724类似,执行本申请实施例的数据处理方法也可以不执行上述S724。备份存储406通常具有保电功能,写入备份存储406的数据丢失的概率较低,可以不执行上述S724。
接下来,参见图8所示的数据处理方法的流程图,该方法包括:
S802:NAS协议模拟器接收数据写命令。
S804:NAS协议模拟器解析数据写命令,获得目标文件的标识、更新数据以及更新数据在目标文件内的地址。
S806:NAS协议模拟器下发元数据读请求。
在S802至S806中,NAS协议截获主机发送的数据写命令,基于NAS协议对数据写命令进行解析,获得目标文件的标识、更新数据以及更新数据在目标文件内的地址。其中,目标文件例如可以是图7所示实施例中目标目录中的文件,更新数据是指目标文件的更新数据,更新数据在目标文件内的地址可以包括该更新数据在目标文件内的起始地址。然后NAS协议模拟器可以下发数据写请求,以请求写入更新数据,从而对目标文件进行更新。
S808:IO转换器将更新数据写入缓存。
S810:IO转换器向持久化管理器发送持久化请求。
S811:持久化管理器将更新数据写入备份存储406。
S812:持久化管理器向缓存返回写成功通知。
S814:缓存向IO转换器返回写成功通知。
需要说明的是,当缓存具有防丢失能力时,例如缓存采用高速SSD时,也可以在写入缓存时即可向IO转换器返回写成功通知。
S816:IO转换器从归档存储404中获取目标文件的文件系统元数据和目标文件与存储目标文件的多个容器对象的对应关系。
S818:IO转换器根据更新数据更新目标文件的文件系统元数据和目标文件与存储该目标文件的多个容器对象的对应关系。
S820:IO转换器将更新的文件系统元数据和更新的对应关系写入缓存。
IO转换器可以记录目标文件中的哪些数据在缓存和备份存储406,哪些数据还在归档存储404,以便于下次访问目标文件时能够快速且准确地获取数据。
S822:缓存返回写入成功通知。
S824:缓存将更新的文件系统元数据和更新的对应关系写入备份存储406。
S826:持久化管理器返回写入成功通知。
S828:IO转换器返回写入成功通知。
接着,参见图9所示的数据处理方法的流程图,该方法包括:
S902:NAS协议模拟器接收数据读命令。
S904:NAS协议模拟器解析数据读命令,获得目标文件的标识、待读取的第一数据在目标文件内的地址。
S906:NAS协议模拟器下发数据读请求。
在S902至S906中,NAS协议截获主机发送的数据读命令,基于NAS协议对数据读命令进行解析,获得目标文件的标识、待读取的第一数据在目标文件内的地址。其中,目标文件可以是图7所示实施例中目标目录中的文件。还需要说明的是,图8所示实施例中写数据的目标文件和图9所示实施例中读数据的目标文件可以是同一文件,也可以是不同文件。本实施例以两个目标文件为同一文件进行示例说明。待读取的第一数据在目标文件内的地址可以通过起始地址和长度进行表征,或者是通过起始地址和终止地址进行表征,本实施例对此不作限定。
在获得目标文件的标识、待读取的第一数据在目标文件内的地址后,NAS协议模拟器可以根据目标文件的标识、待读取的第一数据在目标文件内的地址生成数据写请求,并向IO转换器发送数据写请求。
S908:IO转换器从缓存中查找第一数据。当缓存中包括第一数据的第一部分时,执行S910。
S910:IO转换器从缓存中获取第一数据的第一部分。
当缓存中包括第一数据时,例如该第一数据最近被访问过,且第一数据被写入缓存,则IO转换器可以直接从缓存中获取第一数据。当缓存中包括第一数据的部分数据时,则可以执行S910,以获取第一数据的部分数据,例如是第一部分。当缓存中不包括第一数据,例如,该第一数据未被访问过,或者第一数据被访问过,但写入缓存的第一数据被淘汰出缓存,则可以执行S912。
S912:IO转换器从备份存储406中查找第一数据。当备份存储406中包括第一数据的第二部分时,执行S914。
S914:IO转换器从备份存储406中获取第一数据的第二部分。
S916:IO转换器从归档存储404中获取第一数据的剩余部分。
具体地,缓存中包括第一数据的部分数据,或者不包括第一数据时,IO转换器可以从备份存储406中查找第一数据。
当备份存储406中包括第一数据的部分数据,例如是第二部分时,可以执行S914,以获取上述第二部分。当第一部分和第二部分可以形成完整的第一数据,则可以不执行S916。当第一部分和第二部分不能形成完整的第一数据,则IO转换器还执行S916,从归档存储404中获取第一数据的剩余部分。当备份存储406中不包括第一数据,则可以不执行S914。
S918:IO转换器将从缓存、备份存储406和/或归档存储404中获取的各个部分合并,获得第一数据。
具体地,IO转换器可以将从缓存、备份存储406和/或归档存储404获取的与目标目录对应的文件系统元数据的各个部分,按照相应的规则进行合并,从而获得与目标目录对应的第一格式的文件系统元数据。
S920:IO转换器返回第一数据。
S922:IO转换器将第一数据写入缓存。
S924:缓存将访问频次低的数据写入备份存储406。
S926:缓存返回写入成功通知。
执行本申请实施例的数据处理方法也可以不执行上述S926。例如,写入备份存储406的数据丢失的概率较低,因此,缓存可以不执行上述S926。
上文结合附图对本申请实施例提供的数据处理方法进行了详细介绍,下面将结合附图对本申请实施例提供的数据处理装置进行介绍。
参见图10所示的数据处理装置的结构示意图,该装置1000包括:
通信模块1002,用于接收元数据获取命令,其中,所述元数据获取命令用于获取第一格式的文件系统元数据,所述元数据获取命令中包括待读取的目标目录的标识;
所述通信模块1002,还用于根据所述目标目录的标识,从归档存储中的元数据存储区域获取与所述目标目录对应的第二格式的文件系统元数据,其中,所述元数据存储区域集中存储元数据;
转换模块1004,用于将与所述目标目录对应的第二格式的文件系统元数据,转换为与所述目标目录对应的第一格式的文件系统元数据;
所述通信模块1002,还用于返回与所述目标目录对应的第一格式的文件系统元数据,所述文件系统元数据包括所述目标目录的子目录列表和/或文件列表。
在一些可能的实现方式中,所述通信模块1002还用于:
接收用于读取第一数据的第一数据读命令,所述第一数据属于所述目标目录中的第一目标文件,所述第一数据读命令包括所述第一目标文件的标识和所述第一数据的地址;
根据所述第一目标文件的标识和所述第一数据的地址,从所述归档存储中获取所述第一数据与所述归档存储中的多个容器对象的对应关系,所述多个容器对象分别存储有所述第一数据的部分数据;
根据所述对应关系从所述多个容器对象中获取对应的数据,并根据从所述多个容器对象中获取的多个数据,获得所述第一数据,返回所述第一数据。
在一些可能的实现方式中,所述通信模块1002还用于:
将所述第一数据写入备份存储。
在一些可能的实现方式中,所述通信模块1002还用于:
接收用于读取所述第一数据的第二数据读命令;
从所述备份存储中获取所述第一数据;
返回所述第一数据。
在一些可能的实现方式中,所述通信模块1002还用于:
接收用于写入第二数据的数据写命令,其中,所述第二数据为所述目标目录中的第二目标文件的更新数据;
根据所述数据写命令,将所述第二数据写入备份存储。
在一些可能的实现方式中,所述通信模块1002还用于:
从所述归档存储中的元数据存储区域获取所述第二目标文件的文件系统元数据和所述第二目标文件与存储所述第二目标文件的多个容器对象的对应关系;
所述装置1000还包括:
更新模块1006,用于根据所述第二数据更新所述第二目标文件的文件系统元数据和所述第二目标文件与存储所述第二目标文件的多个容器对象的对应关系;
所述通信模块1002还用于:
将更新的所述第二目标文件的文件系统元数据以及更新的所述第二目标文件与存储所述第二目标文件的多个容器对象的对应关系写入所述备份存储。
在一些可能的实现方式中,所述备份存储与所述备份服务器集成设置,并且所述备份存储与所述归档存储分离设置。
在一些可能的实现方式中,第一格式为块存储或文件存储,第二格式为对象存储。
根据本申请实施例的数据处理装置1000可对应于执行本申请实施例中描述的方法,并且数据处理装置1000的各个模块/单元的上述和其它操作和/或功能分别为了实现图6至9所示实施例中的由备份服务器402执行的方法步骤,为了简洁,在此不再赘述。
本申请实施例还提供了一种备份服务器402。该备份服务器402可以是云环境中的云服务器,也可以是边缘环境中的边缘服务器,或者本地数据中心中的本地服务器。该备份服务器402具体用于实现如图10所示实施例中数据处理装置1000的功能。
参见图5A或图5B所示的备份服务器402的结构示意图,备份服务器402包括处理器4022、内存4024和网卡4026。其中,处理器4022、内存4024和网卡4026可以通过总线连接。网卡4026用于通过网络和外部设备,例如是通过网络和归档存储404连接。如此,备份服务器402可以通过网卡4026与归档存储404交换数据。内存4024为内部存储器,内存4024中可以包括计算机可读指令,处理器4022通过执行该计算机可读指令,使得备份服务器402执行前述实施例中由备份服务器402执行的方法步骤。
具体地,在实现图10所示实施例的情况下,且图10实施例中所描述的数据处理装置1000的各模块为通过软件实现的情况下,执行图5中的各模块功能如转换模块1004、更新模块1006所需的软件或程序代码存储在存储器例如是内存4024中。处理器4022执行内存4024中存储的各模块对应的程序代码,以执行前述实施例的数据处理方法。
本申请实施例还提供了一种计算机可读存储介质。所述计算机可读存储介质可以是计算设备能够存储的任何可用介质或者是包含一个或多个可用介质的数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘)等。该计算机可读存储介质包括指令,所述指令指示备份服务器402执行上述数据处理方法。
本申请实施例还提供了一种计算机程序产品。所述计算机程序产品包括一个或多个计算机指令。在计算设备上加载和执行所述计算机指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算设备或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算设备或数据中心进行传输。所述计算机程序产品可以为一个软件安装包,在需要使用前述数据处理方法的任一方法的情况下,可以下载该计算机程序产品并在备份服务器402上执行该计算机程序产品。
上述各个附图对应的流程或结构的描述各有侧重,某个流程或结构中没有详述的部分,可以参见其他流程或结构的相关描述。
Claims (19)
1.一种数据处理方法,其特征在于,所述方法包括:
备份服务器接收元数据获取命令,其中,所述元数据获取命令用于获取第一格式的文件系统元数据,所述元数据获取命令中包括待读取的目标目录的标识;
所述备份服务器根据所述目标目录的标识,从归档存储中的元数据存储区域获取与所述目标目录对应的第二格式的文件系统元数据,其中,所述元数据存储区域集中存储元数据;
所述备份服务器将与所述目标目录对应的第二格式的文件系统元数据,转换为与所述目标目录对应的第一格式的文件系统元数据;
所述备份服务器返回与所述目标目录对应的第一格式的文件系统元数据,所述文件系统元数据包括所述目标目录的子目录列表和/或文件列表。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
所述备份服务器接收用于读取第一数据的第一数据读命令,所述第一数据属于所述目标目录中的第一目标文件,所述第一数据读命令包括所述第一目标文件的标识和所述第一数据的地址;
所述备份服务器根据所述第一目标文件的标识和所述第一数据的地址,从所述归档存储中获取所述第一数据与所述归档存储中的多个容器对象的对应关系,所述多个容器对象分别存储有所述第一数据的部分数据;
所述备份服务器根据所述对应关系从所述多个容器对象中获取对应的数据,并根据从所述多个容器对象中获取的多个数据,获得所述第一数据;
所述备份服务器返回所述第一数据。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
所述备份服务器将所述第一数据写入备份存储。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
所述备份服务器接收用于读取所述第一数据的第二数据读命令;
所述备份服务器从所述备份存储中获取所述第一数据;
所述备份服务器返回所述第一数据。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
所述备份服务器接收用于写入第二数据的数据写命令,其中,所述第二数据为所述目标目录中的第二目标文件的更新数据;
所述备份服务器根据所述数据写命令,将所述第二数据写入备份存储。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
从所述归档存储中的元数据存储区域获取所述第二目标文件的文件系统元数据和所述第二目标文件与存储所述第二目标文件的多个容器对象的对应关系;
根据所述第二数据更新所述第二目标文件的文件系统元数据和所述第二目标文件与存储所述第二目标文件的多个容器对象的对应关系;
将更新的所述第二目标文件的文件系统元数据以及更新的所述第二目标文件与存储所述第二目标文件的多个容器对象的对应关系写入所述备份存储。
7.根据权利要求3至6任一项所述的方法,其特征在于,所述备份服务器与所述备份存储集成设置,并且所述备份服务器与所述归档存储分离设置。
8.根据权利要求1至7任一项所述的方法,其特征在于,所述第一格式为文件存储或块存储,所述第二格式为对象存储。
9.一种数据处理装置,其特征在于,所述装置包括:
通信模块,用于接收元数据获取命令,其中,所述元数据获取命令用于获取第一格式的文件系统元数据,所述元数据获取命令中包括待读取的目标目录的标识;
所述通信模块,还用于根据所述目标目录的标识,从归档存储中的元数据存储区域获取与所述目标目录对应的第二格式的文件系统元数据,其中,所述元数据存储区域集中存储元数据;
转换模块,用于将与所述目标目录对应的第二格式的文件系统元数据,转换为与所述目标目录对应的第一格式的文件系统元数据;
所述通信模块,还用于返回与所述目标目录对应的第一格式的文件系统元数据,所述文件系统元数据包括所述目标目录的子目录列表和/或文件列表。
10.根据权利要求9所述的装置,其特征在于,所述通信模块还用于:
接收用于读取第一数据的第一数据读命令,所述第一数据属于所述目标目录中的第一目标文件,所述第一数据读命令包括所述第一目标文件的标识和所述第一数据的地址;
根据所述第一目标文件的标识和所述第一数据的地址,从所述归档存储中获取所述第一数据与所述归档存储中的多个容器对象的对应关系,所述多个容器对象分别存储有所述第一数据的部分数据;
根据所述对应关系从所述多个容器对象中获取对应的数据,并根据从所述多个容器对象中获取的多个数据,获得所述第一数据,返回所述第一数据。
11.根据权利要求10所述的装置,其特征在于,所述通信模块还用于:
将所述第一数据写入备份存储。
12.根据权利要求11所述的装置,其特征在于,所述通信模块还用于:
接收用于读取所述第一数据的第二数据读命令;
从所述备份存储中获取所述第一数据;
返回所述第一数据。
13.根据权利要求9所述的装置,其特征在于,所述通信模块还用于:
接收用于写入第二数据的数据写命令,其中,所述第二数据为所述目标目录中的第二目标文件的更新数据;
根据所述数据写命令,将所述第二数据写入备份存储。
14.根据权利要求13所述的装置,其特征在于,所述通信模块还用于:
从所述归档存储中的元数据存储区域获取所述第二目标文件的文件系统元数据和所述第二目标文件与存储所述第二目标文件的多个容器对象的对应关系;
所述装置还包括:
更新模块,用于根据所述第二数据更新所述第二目标文件的文件系统元数据和所述第二目标文件与存储所述第二目标文件的多个容器对象的对应关系;
所述通信模块还用于:
将更新的所述第二目标文件的文件系统元数据以及更新的所述第二目标文件与存储所述第二目标文件的多个容器对象的对应关系写入所述备份存储。
15.根据权利要求11至14任一项所述的装置,其特征在于,所述装置部署在备份服务器,所述备份服务器与所述备份存储集成设置,并且所述备份服务器与所述归档存储分离设置。
16.根据权利要求9至15任一项所述的装置,其特征在于,所述第一格式为文件存储或块存储,所述第二格式为对象存储。
17.一种备份服务器,其特征在于,所述备份服务器包括处理器和存储器,所述存储器中存储有计算机可读指令,所述处理器执行所述计算机可读指令,使得所述备份服务器执行如权利要求1至8任一项所述的方法。
18.一种计算机可读存储介质,其特征在于,包括计算机可读指令,当所述计算机可读指令在备份服务器上运行时,使得所述备份服务器执行如权利要求1至8任一项所述的方法。
19.一种计算机程序产品,其特征在于,包括计算机可读指令,当所述计算机可读指令在备份服务器上运行时,使得所述备份服务器执行如权利要求1至8任一项所述的方法。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2022/086079 WO2022267627A1 (zh) | 2021-06-25 | 2022-04-11 | 数据处理方法以及相关装置 |
EP22827130.0A EP4343527A1 (en) | 2021-06-25 | 2022-04-11 | Data processing method and related device |
US18/390,917 US20240119029A1 (en) | 2021-06-25 | 2023-12-20 | Data processing method and related apparatus |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110713326 | 2021-06-25 | ||
CN2021107133269 | 2021-06-25 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115525602A true CN115525602A (zh) | 2022-12-27 |
Family
ID=84694613
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111095506.1A Pending CN115525602A (zh) | 2021-06-25 | 2021-09-17 | 数据处理方法以及相关装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115525602A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116127461A (zh) * | 2023-04-04 | 2023-05-16 | 阿里巴巴(中国)有限公司 | 数据保护方法及系统、存储服务器和客户端 |
CN116909992A (zh) * | 2023-09-12 | 2023-10-20 | 创云融达信息技术(天津)股份有限公司 | 一种通过ntfs符号链接实现系统与对象存储通信的方法 |
CN117076200A (zh) * | 2023-08-18 | 2023-11-17 | 北京天华星航科技有限公司 | 一种基于元数据的遥感数据恢复方法、设备和存储介质 |
CN117093541A (zh) * | 2023-08-18 | 2023-11-21 | 北京天华星航科技有限公司 | 一种遥感数据的数据提取和归档系统 |
-
2021
- 2021-09-17 CN CN202111095506.1A patent/CN115525602A/zh active Pending
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116127461A (zh) * | 2023-04-04 | 2023-05-16 | 阿里巴巴(中国)有限公司 | 数据保护方法及系统、存储服务器和客户端 |
CN117076200A (zh) * | 2023-08-18 | 2023-11-17 | 北京天华星航科技有限公司 | 一种基于元数据的遥感数据恢复方法、设备和存储介质 |
CN117093541A (zh) * | 2023-08-18 | 2023-11-21 | 北京天华星航科技有限公司 | 一种遥感数据的数据提取和归档系统 |
CN117093541B (zh) * | 2023-08-18 | 2024-02-23 | 北京天华星航科技有限公司 | 一种遥感数据的数据提取和归档系统 |
CN117076200B (zh) * | 2023-08-18 | 2024-04-12 | 北京天华星航科技有限公司 | 一种基于元数据的遥感数据恢复方法、设备和存储介质 |
CN116909992A (zh) * | 2023-09-12 | 2023-10-20 | 创云融达信息技术(天津)股份有限公司 | 一种通过ntfs符号链接实现系统与对象存储通信的方法 |
CN116909992B (zh) * | 2023-09-12 | 2023-11-24 | 创云融达信息技术(天津)股份有限公司 | 一种通过ntfs符号链接实现系统与对象存储通信的方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11977461B2 (en) | Incremental restore of a virtual machine | |
US11301374B2 (en) | Method and system for distributed garbage collection of deduplicated datasets | |
US10346297B1 (en) | Method and system for cloud based distributed garbage collection of a deduplicated datasets | |
US10078583B1 (en) | Method and system for reducing memory used in embedded DDRs by using spare drives for OOC GC | |
US9400741B1 (en) | Reclaiming space from file system hosting many primary storage objects and their snapshots | |
CN115525602A (zh) | 数据处理方法以及相关装置 | |
US11625306B2 (en) | Data connector component for implementing data requests | |
US10437682B1 (en) | Efficient resource utilization for cross-site deduplication | |
US11513996B2 (en) | Non-disruptive and efficient migration of data across cloud providers | |
US20230409443A1 (en) | Persistent memory architecture | |
US10515009B1 (en) | Method and system for reducing memory requirements during distributed garbage collection of deduplicated datasets | |
US11720525B2 (en) | Flexible tiering of snapshots to archival storage in remote object stores | |
US10990518B1 (en) | Method and system for I/O parallel distributed garbage collection of a deduplicated datasets | |
US11822520B2 (en) | Freeing pages within persistent memory | |
US20230376455A1 (en) | Coordinating snapshot operations across multiple file systems | |
US20230139582A1 (en) | Forwarding operations to bypass persistent memory | |
US20240126464A1 (en) | Data management across a persistent memory tier and a file system tier | |
US20220107916A1 (en) | Supporting a lookup structure for a file system implementing hierarchical reference counting | |
US20240128984A1 (en) | Additional compression for existing compressed data | |
WO2022267627A1 (zh) | 数据处理方法以及相关装置 | |
CN115840662A (zh) | 一种数据备份系统及装置 | |
CN115878580A (zh) | 一种日志管理方法及装置 | |
US11921593B2 (en) | Multi-phase file recovery from cloud environments | |
US8499012B1 (en) | System and method for attached storage stacking |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination |