CN105843709B - 差异数据扫描方法及装置 - Google Patents

差异数据扫描方法及装置 Download PDF

Info

Publication number
CN105843709B
CN105843709B CN201610217200.1A CN201610217200A CN105843709B CN 105843709 B CN105843709 B CN 105843709B CN 201610217200 A CN201610217200 A CN 201610217200A CN 105843709 B CN105843709 B CN 105843709B
Authority
CN
China
Prior art keywords
mapping
data
difference
status
mapping status
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.)
Active
Application number
CN201610217200.1A
Other languages
English (en)
Other versions
CN105843709A (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.)
Hangzhou Sequoia Polytron Technologies Inc
Original Assignee
Hangzhou Sequoia Polytron Technologies Inc
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 Hangzhou Sequoia Polytron Technologies Inc filed Critical Hangzhou Sequoia Polytron Technologies Inc
Priority to CN201610217200.1A priority Critical patent/CN105843709B/zh
Publication of CN105843709A publication Critical patent/CN105843709A/zh
Application granted granted Critical
Publication of CN105843709B publication Critical patent/CN105843709B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • G06F11/1464Management of the backup or restore process for networked environments
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1448Management of the data involved in backup or backup restore
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Human Computer Interaction (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本申请提供一种差异数据扫描方法以及装置,其中该方法包括:在获取到所述源LUN上第一差异粒度对应空间的第一映射状态后,检查副本LUN发送的连续未映射区间信息中是否包括副本LUN上与所述第一差异粒度相应的第二差异粒度对应地址区间;若是,根据所述连续未映射区间信息确定与所述第一差异粒度相应的第二差异粒度对应空间的第二映射状态,将所述第一映射状态以及第二映射状态的映射组合,按照映射组合处理策略确定所述第一差异粒度对应空间的第一数据与第二差异粒度对应空间的第二数据是否一致,并进行相应处理。本发明减少了多余的摘要信息计算,且能够最大限度地减少源LUN与副本LUN不必要的通信,降低了存储主机的资源消耗,提高了扫描效率。

Description

差异数据扫描方法及装置
技术领域
本申请涉及网络存储技术领域,尤其涉及差异数据扫描方法及装置。
背景技术
在进行基于自动精简配置LUN(Logical Unit Number,逻辑单元号)的远程复制时,首次复制进行全量复制,后续再由源LUN通过复制链路向灾难备份中心(副本LUN)同步数据,此时,仅在扫描到两次复制之间,源LUN上发生改变的数据后,传输两个复制时间点之间发生变化的数据。现有的扫描处理方法为:遍历所有差异粒度,按照预设算法获取并比较源LUN上差异粒度对应空间与副本LUN上差异粒度对应空间的摘要信息,以确定两端数据是否一致,若一致,则继续查询下一个差异粒度,不一致则设置差异位。
然而,现有技术中在判断源LUN与副本LUN数据的一致性时,对扫描到的源LUN上的每个差异粒度都要统一对副本LUN上对应差异粒度的数据进行摘要信息的计算,进而造成多余的摘要信息计算和比较,不但浪费了计算资源,还降低了处理效率。
发明内容
有鉴于此,本申请提供了差异数据扫描方法及装置,具体地,本申请是通过如下技术方案实现的:
本申请提供一种差异数据扫描方法,应用于源逻辑单元号LUN,该方法包括:
在获取到所述源LUN上第一差异粒度对应空间的第一映射状态后,检查副本LUN发送的连续未映射区间信息中是否包括副本LUN上与所述第一差异粒度相应的第二差异粒度对应地址区间;
若是,根据所述连续未映射区间信息确定与所述第一差异粒度相应的第二差异粒度对应空间的第二映射状态,将所述第一映射状态以及第二映射状态的映射组合,按照映射组合处理策略确定所述第一差异粒度对应空间的第一数据与第二差异粒度对应空间的第二数据是否一致,并进行相应处理。
本申请还提供一种差异数据扫描方法,应用于副本逻辑单元号LUN,该方法包括:
在接收到源LUN发送的扫描请求时,获取所述扫描请求中携带的第一差异粒度对应空间的第一映射状态;
获取所述副本LUN上与所述第一差异粒度相应的第二差异粒度对应空间的第二映射状态;
若所述第二映射状态为全部未映射状态,检测出包括所述第二差异粒度对应空间的连续未映射区间信息;
将所述连续未映射区间信息携带在扫描响应的结果信息中发送至所述源LUN。
本申请还提供一种差异数据扫描装置,应用于源LUN,该装置包括:
检查单元,用于在获取到所述源LUN上第一差异粒度对应空间的第一映射状态后,检查副本LUN发送的连续未映射区间信息中是否包括副本LUN上与所述第一差异粒度相应的第二差异粒度对应地址区间;
处理单元,用于根据所述连续未映射区间信息确定与所述第一差异粒度相应的第二差异粒度对应空间的第二映射状态,将所述第一映射状态以及第二映射状态的映射组合,按照映射组合处理策略确定所述第一差异粒度对应空间的第一数据与第二差异粒度对应空间的第二数据是否一致,并进行相应处理。
本申请还提供一种差异数据扫描装置,应用于副本LUN,该装置包括:
接收单元,用于在接收到源LUN发送的扫描请求时,获取所述扫描请求中携带的第一差异粒度对应空间的第一映射状态;
获取单元,用于获取所述副本LUN上与所述第一差异粒度相应的第二差异粒度对应空间的第二映射状态;
检测单元,用于在所述第二映射状态为全部未映射状态时,检测出包括所述第二差异粒度对应空间的连续未映射区间信息;
发送单元,用于将所述连续未映射区间信息携带在扫描响应的结果信息中发送至所述源LUN。
由以上描述可以看出,本申请提供的差异数据扫描方法及装置,在获取到源LUN上第一差异粒度对应空间的第一映射状态后,检查到副本LUN发送的连续未映射区间信息中包括副本LUN上与第一差异粒度相应的第二差异粒度对应空间的第二映射状态时,将第一映射状态以及第二映射状态的映射组合,按照预设的映射组合处理策略确定第一差异粒度对应空间的第一数据与第二差异粒度对应空间的第二数据是否一致,并进行相应处理。由此可见,本发明无需如现有技术中的源LUN在每次扫描差异粒度时都需要向副本LUN发送扫描请求,进而减少了多余的摘要信息计算,且能够最大限度地减少源LUN与副本LUN不必要的通信,降低了存储主机的资源消耗,提高了扫描效率。
附图说明
图1是本申请一示例性实施例示出的一种差异数据扫描方法所应用的网络环境示意图;
图2是本申请一示例性实施例示出的一种差异数据扫描方法流程图;
图3是本申请一示例性实施例示出的另一种差异数据扫描方法流程图;
图4是本申请一示例性实施例示出的一种差异数据扫描装置所在源LUN或者副本LUN的基础硬件结构示意图;
图5是本申请一示例性实施例示出的一种差异数据扫描装置的结构示意图;
图6是本申请一示例性实施例示出的一种差异数据扫描装置的结构示意图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
参见图1,为本申请差异数据扫描方法所应用的网络环境示意图。包括源LUN以及副本LUN,源LUN是一个复制关系中的源资源,副本LUN则是一个复制关系中的目的资源。
参见图2,为本申请差异数据扫描方法的一个实施例流程图,应用于源LUN,该实施例对差异数据扫描过程进行描述。
步骤201,在获取到所述源LUN上第一差异粒度对应空间的第一映射状态后,检查副本LUN发送的连续未映射区间信息中是否包括副本LUN上与所述第一差异粒度相应的第二差异粒度对应地址区间;
本示例实施方式中,源LUN可以循环扫描差异位图中的各差异粒度,依次获取当前扫描的差异粒度的大小以及该差异粒度的空洞总大小,并根据该差异粒度的大小以及该差异粒度的空洞总大小确定出该差异粒度对应空间的映射状态。其中,差异粒度对应空间可能存在三种映射状态:全部未映射状态、部分映射状态、全部映射状态。
该差异粒度的大小为预先设置的。在目前数据量飞速增长的情况下,LUN容量通常很大,若与LUN对应的差异粒度设置的较小,由差异粒度组成的差异位图所占用的空间就会变大。不仅如此,维护差异位图的代价也将越来越大,需要考虑差异位图所占的资源、差异位图的更新频率、差异位图的访问速度、对复制源在线业务的影响等诸多因素。因此,目前复制的通用实现中,差异粒度都比较粗,一般可以预设为大于64KB。
本示例实施方式中,在源LUN获取到源LUN上差异粒度(下称第一差异粒度)对应空间的映射状态(下称第一映射状态)后,检查副本LUN发送的连续未映射区间信息中是否包括副本LUN上与第一差异粒度相应的差异粒度(下称第二差异粒度)对应空间的映射状态(下称第二映射状态)。
实际应用中,源LUN在依次扫描每一个差异粒度时,可以在自身保存的副本LUN发送的连续未映射区间信息中查找是否包括副本LUN上与当前扫描的第一差异粒度对应的第二差异粒度。
该连续未映射区间信息表示一个地址区间,这段地址区间的长度可能是差异粒度的整数倍,也可能不是。当这段地址区间的长度是差异粒度的整数倍时,说明与这段区间对应的差异粒度均为全部未映射状态;当地址区间的长度不是差异粒度的整数倍时,就会出现这段区间对应的差异粒度中的最后一个差异粒度为特定部分映射的情况。其中,该特定部分映射状态为差异粒度的前部分空间为未映射状态,后部分空间为映射状态。
若该连续未映射区间信息中不包括该第二差异粒度,可以向副本LUN发送扫描请求,以请求副本LUN确定该第二差异粒度的映射状态(第二映射状态),并在该第二差异粒度为全部未映射状态时,副本LUN检查是否有从该第二差异粒度开始的连续未映射状态的差异粒度。若有,副本LUN将自该第二差异粒度对应地址空间起连续的未映射状态的地址空间生成连续未映射区间信息携带在扫描响应中发送至源LUN。
源LUN在接收到副本LUN发送的扫描响应后,即可根据该扫描响应中携带的结果信息获知第二差异粒度对应空间的映射状态。并且,当该扫描响应中还具有连续未映射区间信息时,确定源LUN当前扫描的第一差异粒度相应的第二差异粒度对应空间映射状态为全部未映射状态,源LUN还可以保存该连续未映射区间信息,以便在源LUN扫描下一个差异粒度时,可以从该连续未映射区间信息中查询到与下一个差异粒度对应的副本LUN上的差异粒度对应空间的映射状态为全部未映射状态或者是特定部分映射状态,无需再向副本LUN发送扫描请求查询该下一个差异粒度的映射状态。减少了源LUN通过复制链路去副本LUN查询第二差异粒度对应空间的摘要信息和映射状态的次数,加快了扫描速度。
由于本发明实施例中的副本LUN在每次接收到源LUN发送的扫描请求后,除了检查与扫描请求中第二差异粒度的映射状态之外,还会在确定第二差异粒度为全部未映射状态时,检测出包括该第二差异粒度对应空间的连续未映射区间信息,并将连续未映射区间信息以及第二差异粒度的映射状态携带在扫描响应中发送给源LUN。因此,源LUN在扫描源LUN上的每一个差异粒度时,可以首先检查连续未映射区间信息中是否包括副本LUN上与该差异粒度相应的副本LUN上差异粒度对应空间的映射状态。
步骤202,若所述连续未映射区间信息中包括所述第二差异粒度地址区间,根据所述连续未映射区间信息确定与所述第一差异粒度相应的第二差异粒度对应空间的第二映射状态,将所述第一映射状态以及第二映射状态的映射组合,按照映射组合处理策略确定所述第一差异粒度对应空间的第一数据与第二差异粒度对应空间的第二数据是否一致,并进行相应处理。
当在该连续未映射区间信息中查找到所述第二差异粒度的映射状态时,可以根据连续未映射区间信息确定出第二差异粒度对应空间的第二映射状态。
由于连续未映射区间信息中的地址区间的长度不是差异粒度的整数倍时,就会出现这段区间对应的差异粒度中的最后一个差异粒度为特定部分映射的情况,因此还需要进一步确定该第二差异粒度的映射状态是全部未映射状态还是特定部分映射状态。之后,将第一映射状态以及第二映射状态的映射组合,按照预设的映射组合处理策略确定第一数据与第二数据是否一致。其中,该预设的映射组合处理策略可以如表1所示:
表1
表1通过表项的方式示出了映射组合处理策略,仅是为进一步理解本发明的示例,并不用于限制本发明实施例中映射组合处理策略的具体内容。
当第二差异粒度的映射状态为全部未映射状态时,若第一差异粒度的映射状态也是全部未映射状态,即:该映射组合为第一映射状态以及第二映射状态均为全部未映射状态,根据表1所示的映射组合处理策略可以确定第一数据与第二数据一致(第一数据与第二数据无差异)。由于在上次复制结束后差异位图的各个差异粒度的差异位均被标记为无差异(例如被标记为0),因此在确定两端数据无差异时,无需对第一差异粒度的差异位进行标记,源LUN继续扫描下一个差异粒度即可;
当该映射组合为第一映射状态为全部映射状态或者部分映射状态,第二映射状态为全部未映射状态,根据表1的映射组合处理策略确定第一数据与第二数据不一致(第一数据与第二数据存在差异),则将第一差异粒度的差异位标记为存在差异(例如标记为1),并由源LUN继续扫描下一个差异粒度。
当该映射组合为第一映射状态为全部映射状态或者全部未映射状态,第二映射状态为特定部分映射状态,根据表1的映射组合处理策略确定第一数据与第二数据不一致,则将第一差异粒度的差异位标记为存在差异,并且,源LUN可以继续扫描下一个差异粒度。
当该映射组合为第一映射状态为部分映射状态,第二映射状态为特定部分映射状态时,根据表1的映射组合处理策略不能确定该第一数据与第二数据是否一致,则向副本LUN发送携带有第一映射状态的扫描请求,以使副本LUN根据该扫描请求在获取第二差异粒度对应空间的第二映射状态后,根据第一映射状态以及第二映射状态的映射组合,按照所述映射组合处理策略判断第一数据与第二数据是否一致,并将得到的结果信息携带在扫描响应中发送给源LUN。由于副本LUN在查询到第二差异粒度的第二映射状态为全部未映射时,还会进一步检测是否有连续未映射区间信息,因此,在检测到有包括第二映射状态的连续未映射区间信息时,该扫描响应中的结果信息还包括该连续未映射区间信息。
本示例实施方式中,在源LUN获取到第一差异粒度的第一映射状态后,若在连续未映射区间信息中未查询到副本LUN上与第一差异粒度相应的第二差异粒度对应空间的第二映射状态,可以如上述根据表1的映射组合处理策略不能确定该第一数据与第二数据是否一致时的处理一样,向副本LUN发送携带有第一映射状态的扫描请求,以获取副本LUN按照映射组合处理策略得到的结果信息。
当源LUN接收到副本LUN发送的扫描响应后,若扫描响应中携带的结果信息为第一数据与第二数据一致,则可以由源LUN继续扫描下一个差异粒度;
若扫描响应中携带的结果信息包括第一数据与第二数据不一致,则可以由源LUN将所述第二差异粒度的差异位标记为存在差异,并继续扫描下一个差异粒度;
若扫描响应中携带的结果信息包括第一数据与第二数据的差异不确定,以及扫描响应中填充有第二差异粒度对应空间的第一摘要信息,则计算第一差异粒度对应空间的第二摘要信息;判断所述第一摘要信息与第二摘要信息是否一致,若一致,确定所述第一数据与第二数据一致,否则,确定所述第一数据与第二数据不一致,并将所述第一差异粒度的差异位标记为存在差异。
具体地,副本LUN返回的扫描响应中的结果信息除了包括第一数据与第二数据一致以及不一致的信息外,副本LUN对于根据表1的映射组合处理策略不能确定该第一数据与第二数据是否一致时,可以根据信息摘要算法计算第二差异粒度对应空间的摘要信息(下称第一摘要信息),例如MD5值,并将该第一摘要信息作为结果信息携带在扫描响应中发送给源LUN。
在源LUN收到的扫描响应中的结果信息为差异不确定,并在扫描响应中填充第二差异粒度对应空间的第一摘要信息时,源LUN可以计算出第一差异粒度对应空间的摘要信息(第二摘要信息),并将第一摘要信息与第二摘要信息进行比对,若第一摘要信息与第二摘要信息一致,确定该第一数据与第二数据一致;若第一摘要信息与第二摘要信息不一致,确定该第一数据与第二数据不一致。并当确定第一数据与第二数据一致时,源LUN可以继续扫描下一个差异粒度;当确定第一数据与第二数据不一致时,将第一差异粒度的差异位标记为存在差异,并且,源LUN可以继续扫描下一个差异粒度。
当源LUN将差异位图的所有差异粒度逐一扫描完毕后,则可以根据扫描出的存在差异的数据复制到副本LUN,并在将存在差异的数据复制到副本LUN后,将对应的差异粒度的差异位标记为无差异。这样一来,本示例实施方式则更加智能化的完成对整个源LUN的差异数据的复制。
综上所述,本示例实施方式中的差异扫描方法,在获取到源LUN上第一差异粒度对应空间的第一映射状态后,在检查到副本LUN发送的连续未映射区间信息中包括副本LUN上与第一差异粒度相应的第二差异粒度对应空间时,根据连续未映射区间信息确定出副本LUN上与第一差异粒度相应的第二差异粒度对应空间的第二映射状态,将第一映射状态以及第二映射状态的映射组合,按照预设的映射组合处理策略确定第一差异粒度对应空间的第一数据与第二差异粒度对应空间的第二数据是否一致,并进行相应处理。由此可见,本发明无需如现有技术中的源LUN在每次扫描差异粒度时都需要向副本LUN发送扫描请求,进而减少了多余的摘要信息计算,且能够最大限度地减少源LUN与副本LUN不必要的通信,降低了存储主机的资源消耗,提高了扫描效率。
参见图3,为本申请差异数据扫描方法的另一个实施例流程图,应用于副本LUN,该实施例对差异数据扫描过程进行描述。
步骤301,在接收到源LUN发送的扫描请求时,获取所述扫描请求中携带的第一差异粒度对应空间的第一映射状态;
本示例实施方式中,在源LUN获取到源LUN上差异粒度(下称第一差异粒度)对应空间的映射状态(下称第一映射状态)后,通常要向副本LUN发送扫描请求,以获取副本LUN上与该第一差异粒度相应的第二差异粒度对应空间的映射状态。
该扫描请求中还携带有第一差异粒度的第一映射状态,副本LUN在接收到该扫描请求后,首先获取该扫描请求中携带的第一差异粒度的第一映射状态。
步骤302,获取所述副本LUN上与所述第一差异粒度相应的第二差异粒度对应空间的第二映射状态;
之后,副本LUN可以获取与所述第一差异粒度相应的第二差异粒度对应空间的第二映射状态,并将所述第一映射状态以及第二映射状态的映射组合,按照表1所示的映射组合处理策略进一步判断该第一差异粒度对应空间的第一数据与第二差异粒度对应空间的第二数据是否一致;并将确定出所述第一差异粒度对应空间的第一数据与第二差异粒度对应空间的第二数据一致或者不一致的结果信息携带在扫描响应中发送至所述源LUN;然而,若无法确定出所述第一数据与第二数据是否一致,所述结果信息为差异不确定,则计算所述第二数据的第一摘要信息,并将差异不确定的结果信息以及所述第一摘要信息携带在所述扫描响应中发送至所述源LUN,以使源LUN在获取与第一差异粒度对应空间的第二摘要信息后,根据该第一摘要信息与第二摘要信息的一致性来确定第一差异粒度对应空间的第一数据与第二差异粒度对应空间的第二数据是否一致,并进行相应处理。
其中,副本LUN判断该第一数据与第二数据是否一致的具体处理流程可以参考上述步骤202中的方法,在此不再一一赘述。
步骤303,若所述第二映射状态为全部未映射状态,检测出包括所述第二差异粒度对应空间的连续未映射区间信息;
在获取到第二差异粒度的第二映射状态后,若确定第二映射状态为全部未映射状态,副本LUN还可以进一步检查自该第二差异粒度之后的下一个差异粒度是否也是全部未映射状态或者是特定部分映射状态,若是,副本LUN可以将自该第二差异粒度起连续未映射状态的所有差异粒度的地址空间作为连续未映射区间信息。
步骤304,将所述连续未映射区间信息携带在扫描响应的结果信息中发送至所述源LUN。
在生成连续未映射区间信息后,将连续未映射区间信息携带在扫描响应的结果信息中发送至所述源LUN,以使源LUN在扫描源LUN上的差异粒度时,若检查到连续未映射区间信息中有该差异粒度对应的信息,则可以根据该连续未映射区间信息进行数据的一致性判断,无需再向副本LUN发送扫描请求等一系列流程。进而减少不必要的开销,提升了在线业务以及复制业务的整体性能。
与前述差异数据扫描方法的实施例相对应,本申请还提供了差异数据扫描装置的实施例。
本申请差异数据扫描装置的实施例可以应用在源LUN上。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在设备的处理器运行存储器中对应的计算机程序指令形成的。从硬件层面而言,如图4所示,为本申请差异数据扫描装置所在设备的一种硬件结构图,除了图4所示的处理器、网络接口、以及存储器之外,实施例中装置所在的设备通常根据该设备的实际功能,还可以包括其他硬件,对此不再赘述。
请参考图5,为本申请一个实施例中的差异数据扫描装置的结构示意图。该差异数据扫描装置应用于源LUN,包括检查单元501以及处理单元502,其中:
检查单元501,用于在获取到所述源LUN上第一差异粒度对应空间的第一映射状态后,检查副本LUN发送的连续未映射区间信息中是否包括副本LUN上与所述第一差异粒度相应的第二差异粒度对应地址区间;
处理单元502,用于根据所述连续未映射区间信息确定与所述第一差异粒度相应的第二差异粒度对应空间的第二映射状态,将所述第一映射状态以及第二映射状态的映射组合,按照映射组合处理策略确定所述第一差异粒度对应空间的第一数据与第二差异粒度对应空间的第二数据是否一致,并进行相应处理。
进一步地,所述装置还可以包括发送单元503,用于在所述连续未映射区间信息中不包括副本LUN上与所述第一差异粒度相应的第二差异粒度对应地址区间时,向所述副本LUN发送携带有所述第一映射状态的扫描请求,以使所述副本LUN在获取所述第二映射状态后,根据所述第一映射状态以及所述第二映射状态的映射组合,按照所述映射组合处理策略判断所述第一数据与所述第二数据是否一致,并将得到的结果信息携带在扫描响应中发送给所述源LUN。
进一步地,所述处理单元502具体可以用于:当源LUN接收到副本LUN发送的扫描响应后,若所述扫描响应中携带的结果信息包括所述第一数据与所述第二数据不一致,则将所述第一差异粒度的差异位标记为存在差异;若所述扫描响应中携带的结果信息包括所述第一数据与所述第二数据差异不确定,以及所述第二差异粒度对应空间的第一摘要信息,获取所述第一摘要信息,并计算所述第一差异粒度对应空间的第二摘要信息;判断所述第一摘要信息与所述第二摘要信息是否一致,若一致,确定所述第一数据与所述第二数据一致,否则,确定所述第一数据与所述第二数据不一致,并将所述第一差异粒度的差异位标记为存在差异。
进一步地,所述装置还可以包括保存单元504,用于当源LUN接收到副本LUN发送的扫描响应后,若所述扫描响应中携带的结果信息包括连续多个差异粒度的连续未映射区间信息,确定所述第二差异粒度对应空间的映射状态为全部未映射状态,并保存所述连续未映射区间信息。
进一步地,所述映射状态包括:全部映射状态、部分映射状态以及全部未映射状态;
所述处理单元502具体可以用于:若所述映射组合为所述第一映射状态以及所述第二映射状态均为全部未映射状态,确定所述第一数据与所述第二数据一致;若所述映射组合为所述第一映射状态为全部映射状态或者全部未映射状态,所述第二映射状态为特定部分映射状态,确定所述第一数据与所述第二数据不一致,则将所述第一差异粒度的差异位标记为存在差异。
进一步地,所述处理单元502具体可以用于:若所述映射组合为所述第一映射状态为部分映射状态,所述第二映射状态为特定部分映射状态,向所述副本LUN发送携带有所述第一映射状态的扫描请求,以使所述副本LUN在获取所述第二映射状态后,根据所述第一映射状态以及所述第二映射状态的映射组合,按照所述映射组合处理策略判断所述第一数据与所述第二数据是否一致,并将得到的结果信息携带在扫描响应中发送给所述源LUN。
上述装置中各个单元的功能和作用的实现过程具体详见上述应用于源LUN的差异数据扫描方法中对应步骤的实现过程,在此不再赘述。
本申请差异数据扫描装置的实施例可以应用在副本LUN上。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在设备的处理器运行存储器中对应的计算机程序指令形成的。从硬件层面而言,如图4所示,为本申请差异数据扫描装置所在设备的一种硬件结构图,除了图4所示的处理器、网络接口、以及存储器之外,实施例中装置所在的设备通常根据该设备的实际功能,还可以包括其他硬件,对此不再赘述。
请参考图6,为本申请一个实施例中的差异数据扫描装置的结构示意图。该差异数据扫描装置应用于副本LUN,包括接收单元601、获取单元602、检测单元603以及发送单元604,其中:
接收单元601,用于在接收到源LUN发送的扫描请求时,获取所述扫描请求中携带的第一差异粒度对应空间的第一映射状态;
获取单元602,用于获取所述副本LUN上与所述第一差异粒度相应的第二差异粒度对应空间的第二映射状态;
检测单元603,用于在所述第二映射状态为全部未映射状态时,检测出包括所述第二差异粒度对应空间的连续未映射区间信息;
发送单元604,用于将所述连续未映射区间信息携带在扫描响应的结果信息中发送至所述源LUN。
进一步地,所述装置还可以包括判断处理单元605,用于在获取所述副本LUN上与所述第一差异粒度相应的第二差异粒度对应空间的第二映射状态之后,根据所述第一映射状态以及第二映射状态的映射组合,按照映射组合处理策略判断所述第一差异粒度对应空间的第一数据与第二差异粒度对应空间的第二数据是否一致;若确定出所述第一差异粒度对应空间的第一数据与第二差异粒度对应空间的第二数据一致,或者不一致,将所述一致或者不一致的结果信息携带在扫描响应中发送至所述源LUN;若无法确定出所述第一数据与第二数据是否一致,所述结果信息为差异不确定,则计算所述第二数据的第一摘要信息,并将差异不确定的结果信息以及所述第一摘要信息携带在所述扫描响应中发送至所述源LUN。
上述装置中各个单元的功能和作用的实现过程具体详见上述应用于副本LUN的差异数据扫描方法中对应步骤的实现过程,在此不再赘述。
本示例实施方式中的差异扫描方法以及装置,在获取到源LUN上第一差异粒度对应空间的第一映射状态后,在检查到副本LUN发送的连续未映射区间信息中包括副本LUN上与第一差异粒度相应的第二差异粒度对应空间的第二映射状态时,将第一映射状态以及第二映射状态的映射组合,按照预设的映射组合处理策略确定第一差异粒度对应空间的第一数据与第二差异粒度对应空间的第二数据是否一致,并进行相应处理。由此可见,本发明无需如现有技术中的源LUN在每次扫描差异粒度时都需要向副本LUN发送扫描请求,进而减少了多余的摘要信息计算,且能够最大限度地减少源LUN与副本LUN不必要的通信,降低了存储主机的资源消耗,提高了扫描效率。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本申请方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。

Claims (14)

1.一种差异数据扫描方法,应用于源逻辑单元号LUN,其特征在于,还包括副本LUN,所述方法包括:
在获取到所述源LUN上第一差异粒度对应空间的第一映射状态后,检查副本LUN发送的连续未映射区间信息中是否包括副本LUN上与所述第一差异粒度相应的第二差异粒度对应地址区间;
若是,根据所述连续未映射区间信息确定与所述第一差异粒度相应的第二差异粒度对应空间的第二映射状态,将所述第一映射状态以及第二映射状态的映射组合,按照映射组合处理策略确定所述第一差异粒度对应空间的第一数据与第二差异粒度对应空间的第二数据是否一致,并进行相应处理;
所述映射状态包括:全部映射状态、部分映射状态以及全部未映射状态;所述按照映射组合处理策略确定所述第一差异粒度对应空间的第一数据与第二差异粒度对应空间的第二数据是否一致,并进行相应处理具体包括:
若所述映射组合为所述第一映射状态以及所述第二映射状态均为全部未映射状态,确定所述第一数据与所述第二数据一致;
若所述映射组合为所述第一映射状态为全部映射状态或者全部未映射状态,所述第二映射状态为特定部分映射状态,确定所述第一数据与所述第二数据不一致,则将所述第一差异粒度的差异位标记为存在差异;
所述特定部分映射状态是所述部分映射状态中的一种特定类型的部分映射状态。
2.如权利要求1所述的方法,其特征在于,所述方法还包括:
若所述连续未映射区间信息中不包括副本LUN上与所述第一差异粒度相应的第二差异粒度对应地址区间,向所述副本LUN发送携带有所述第一映射状态的扫描请求,以使所述副本LUN在获取所述第二映射状态后,根据所述第一映射状态以及所述第二映射状态的映射组合,按照所述映射组合处理策略判断所述第一数据与所述第二数据是否一致,并将得到的结果信息携带在扫描响应中发送给所述源LUN。
3.如权利要求2所述的方法,其特征在于,所述方法还包括:
当源LUN接收到副本LUN发送的扫描响应后,若所述扫描响应中携带的结果信息包括所述第一数据与所述第二数据不一致,则将所述第一差异粒度的差异位标记为存在差异;
若所述扫描响应中携带的结果信息包括所述第一数据与所述第二数据差异不确定,以及所述第二差异粒度对应空间的第一摘要信息,获取所述第一摘要信息,并计算所述第一差异粒度对应空间的第二摘要信息;
判断所述第一摘要信息与所述第二摘要信息是否一致,若一致,确定所述第一数据与所述第二数据一致,否则,确定所述第一数据与所述第二数据不一致,并将所述第一差异粒度的差异位标记为存在差异。
4.如权利要求2所述的方法,其特征在于,所述方法还包括:
当源LUN接收到副本LUN发送的扫描响应后,若所述扫描响应中携带的结果信息包括连续多个差异粒度的连续未映射区间信息,确定所述第二差异粒度对应空间的映射状态为全部未映射状态,并保存所述连续未映射区间信息。
5.如权利要求1所述的方法,其特征在于,所述按照映射组合处理策略确定所述第一差异粒度对应空间的第一数据与第二差异粒度对应空间的第二数据是否一致,并进行相应处理具体包括:
若所述映射组合为所述第一映射状态为部分映射状态,所述第二映射状态为特定部分映射状态,向所述副本LUN发送携带有所述第一映射状态的扫描请求,以使所述副本LUN在获取所述第二映射状态后,根据所述第一映射状态以及所述第二映射状态的映射组合,按照所述映射组合处理策略判断所述第一数据与所述第二数据是否一致,并将得到的结果信息携带在扫描响应中发送给所述源LUN。
6.一种差异数据扫描方法,应用于副本逻辑单元号LUN,其特征在于,还包括源LUN,所述方法包括:
在接收到源LUN发送的扫描请求时,获取所述扫描请求中携带的第一差异粒度对应空间的第一映射状态;
获取所述副本LUN上与所述第一差异粒度相应的第二差异粒度对应空间的第二映射状态;
根据所述第一映射状态以及第二映射状态的映射组合,按照映射组合处理策略判断所述第一差异粒度对应空间的第一数据与第二差异粒度对应空间的第二数据是否一致;所述映射状态包括:全部映射状态、部分映射状态以及全部未映射状态;所述按照映射组合处理策略确定所述第一差异粒度对应空间的第一数据与第二差异粒度对应空间的第二数据是否一致,并进行相应处理具体包括:若所述映射组合为所述第一映射状态以及所述第二映射状态均为全部未映射状态,确定所述第一数据与所述第二数据一致;若所述映射组合为所述第一映射状态为全部映射状态或者全部未映射状态,所述第二映射状态为特定部分映射状态,确定所述第一数据与所述第二数据不一致;所述特定部分映射状态是所述部分映射状态中的一种特定类型的部分映射状态;
若确定出所述第一差异粒度对应空间的第一数据与第二差异粒度对应空间的第二数据一致,或者不一致,将所述一致或者不一致的结果信息携带在扫描响应中发送至所述源LUN;
若所述第二映射状态为全部未映射状态,检测出包括所述第二差异粒度对应空间的连续未映射区间信息;
将所述连续未映射区间信息携带在扫描响应的结果信息中发送至所述源LUN。
7.如权利要求6所述的方法,其特征在于,在获取所述副本LUN上与所述第一差异粒度相应的第二差异粒度对应空间的第二映射状态之后,所述方法还包括:
若无法确定出所述第一数据与第二数据是否一致,所述结果信息为差异不确定,则计算所述第二数据的第一摘要信息,并将差异不确定的结果信息以及所述第一摘要信息携带在所述扫描响应中发送至所述源LUN。
8.一种差异数据扫描装置,应用于源LUN,其特征在于,还包括副本LUN,所述装置包括:
检查单元,用于在获取到所述源LUN上第一差异粒度对应空间的第一映射状态后,检查副本LUN发送的连续未映射区间信息中是否包括副本LUN上与所述第一差异粒度相应的第二差异粒度对应地址区间;
处理单元,用于根据所述连续未映射区间信息确定与所述第一差异粒度相应的第二差异粒度对应空间的第二映射状态,将所述第一映射状态以及第二映射状态的映射组合,按照映射组合处理策略确定所述第一差异粒度对应空间的第一数据与第二差异粒度对应空间的第二数据是否一致,并进行相应处理;
所述映射状态包括:全部映射状态、部分映射状态以及全部未映射状态;所述按照映射组合处理策略确定所述第一差异粒度对应空间的第一数据与第二差异粒度对应空间的第二数据是否一致,并进行相应处理具体包括:
若所述映射组合为所述第一映射状态以及所述第二映射状态均为全部未映射状态,确定所述第一数据与所述第二数据一致;
若所述映射组合为所述第一映射状态为全部映射状态或者全部未映射状态,所述第二映射状态为特定部分映射状态,确定所述第一数据与所述第二数据不一致,则将所述第一差异粒度的差异位标记为存在差异;
所述特定部分映射状态是所述部分映射状态中的一种特定类型的部分映射状态。
9.如权利要求8所述的装置,其特征在于,所述装置还包括:
发送单元,用于在所述连续未映射区间信息中不包括副本LUN上与所述第一差异粒度相应的第二差异粒度对应地址区间时,向所述副本LUN发送携带有所述第一映射状态的扫描请求,以使所述副本LUN在获取所述第二映射状态后,根据所述第一映射状态以及所述第二映射状态的映射组合,按照所述映射组合处理策略判断所述第一数据与所述第二数据是否一致,并将得到的结果信息携带在扫描响应中发送给所述源LUN。
10.如权利要求9所述的装置,其特征在于,所述处理单元具体用于:
当源LUN接收到副本LUN发送的扫描响应后,若所述扫描响应中携带的结果信息包括所述第一数据与所述第二数据不一致,则将所述第一差异粒度的差异位标记为存在差异;
若所述扫描响应中携带的结果信息包括所述第一数据与所述第二数据差异不确定,以及所述第二差异粒度对应空间的第一摘要信息,获取所述第一摘要信息,并计算所述第一差异粒度对应空间的第二摘要信息;
判断所述第一摘要信息与所述第二摘要信息是否一致,若一致,确定所述第一数据与所述第二数据一致,否则,确定所述第一数据与所述第二数据不一致,并将所述第一差异粒度的差异位标记为存在差异。
11.如权利要求9所述的装置,其特征在于,所述装置还包括:
保存单元,用于当源LUN接收到副本LUN发送的扫描响应后,若所述扫描响应中携带的结果信息包括连续多个差异粒度的连续未映射区间信息,确定所述第二差异粒度对应空间的映射状态为全部未映射状态,并保存所述连续未映射区间信息。
12.如权利要求8所述的装置,其特征在于,所述处理单元具体用于:
若所述映射组合为所述第一映射状态为部分映射状态,所述第二映射状态为特定部分映射状态,向所述副本LUN发送携带有所述第一映射状态的扫描请求,以使所述副本LUN在获取所述第二映射状态后,根据所述第一映射状态以及所述第二映射状态的映射组合,按照所述映射组合处理策略判断所述第一数据与所述第二数据是否一致,并将得到的结果信息携带在扫描响应中发送给所述源LUN。
13.一种差异数据扫描装置,应用于副本LUN,其特征在于,还包括源LUN,所述装置包括:
接收单元,用于在接收到源LUN发送的扫描请求时,获取所述扫描请求中携带的第一差异粒度对应空间的第一映射状态;
获取单元,用于获取所述副本LUN上与所述第一差异粒度相应的第二差异粒度对应空间的第二映射状态;
判断处理单元,用于根据所述第一映射状态以及第二映射状态的映射组合,按照映射组合处理策略判断所述第一差异粒度对应空间的第一数据与第二差异粒度对应空间的第二数据是否一致;所述映射状态包括:全部映射状态、部分映射状态以及全部未映射状态;所述按照映射组合处理策略确定所述第一差异粒度对应空间的第一数据与第二差异粒度对应空间的第二数据是否一致,并进行相应处理具体包括:若所述映射组合为所述第一映射状态以及所述第二映射状态均为全部未映射状态,确定所述第一数据与所述第二数据一致;若所述映射组合为所述第一映射状态为全部映射状态或者全部未映射状态,所述第二映射状态为特定部分映射状态,确定所述第一数据与所述第二数据不一致;若确定出所述第一差异粒度对应空间的第一数据与第二差异粒度对应空间的第二数据一致,或者不一致,将所述一致或者不一致的结果信息携带在扫描响应中发送至所述源LUN;所述特定部分映射状态是所述部分映射状态中的一种特定类型的部分映射状态;
检测单元,用于在所述第二映射状态为全部未映射状态时,检测出包括所述第二差异粒度对应空间的连续未映射区间信息;
发送单元,用于将所述连续未映射区间信息携带在扫描响应的结果信息中发送至所述源LUN。
14.如权利要求13所述的装置,其特征在于,所述判断处理单元,还用于:
若无法确定出所述第一数据与第二数据是否一致,所述结果信息为差异不确定,则计算所述第二数据的第一摘要信息,并将差异不确定的结果信息以及所述第一摘要信息携带在所述扫描响应中发送至所述源LUN。
CN201610217200.1A 2016-04-08 2016-04-08 差异数据扫描方法及装置 Active CN105843709B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610217200.1A CN105843709B (zh) 2016-04-08 2016-04-08 差异数据扫描方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610217200.1A CN105843709B (zh) 2016-04-08 2016-04-08 差异数据扫描方法及装置

Publications (2)

Publication Number Publication Date
CN105843709A CN105843709A (zh) 2016-08-10
CN105843709B true CN105843709B (zh) 2019-01-25

Family

ID=56597025

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610217200.1A Active CN105843709B (zh) 2016-04-08 2016-04-08 差异数据扫描方法及装置

Country Status (1)

Country Link
CN (1) CN105843709B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113986128A (zh) * 2021-10-26 2022-01-28 杭州宏杉科技股份有限公司 Lun数据复制方法及装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103631682A (zh) * 2013-12-18 2014-03-12 华为技术有限公司 数据备份的实现方法和装置
CN103902405A (zh) * 2012-12-28 2014-07-02 杭州宏杉科技有限公司 一种准连续性数据复制方法及装置

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2954888C (en) * 2005-06-24 2019-06-04 Catalogic Software, Inc. System and method for high performance enterprise data protection
CN101477444B (zh) * 2008-12-29 2011-04-20 成都市华为赛门铁克科技有限公司 一种虚拟存储方法和设备

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103902405A (zh) * 2012-12-28 2014-07-02 杭州宏杉科技有限公司 一种准连续性数据复制方法及装置
CN103631682A (zh) * 2013-12-18 2014-03-12 华为技术有限公司 数据备份的实现方法和装置

Also Published As

Publication number Publication date
CN105843709A (zh) 2016-08-10

Similar Documents

Publication Publication Date Title
US8094585B2 (en) Membership management of network nodes
US9753954B2 (en) Data node fencing in a distributed file system
EP3667500A1 (en) Using a container orchestration service for dynamic routing
KR20120018178A (ko) 객체 저장부들의 네트워크상의 스웜-기반의 동기화
EP2062125A2 (en) System and method for providing high availability data
US20120036345A1 (en) Embedded device and file change notification method of the embedded device
CN109120709A (zh) 一种缓存方法、装置、设备及介质
CN114301972A (zh) 一种基于云边协同的区块链节点分级部署方法和系统
US20190227888A1 (en) Handling node failure in multi-node data storage systems
US11303532B2 (en) Method and system for detecting service quality of CDN system
CN107295030B (zh) 一种数据写入方法、装置、数据处理方法、装置及系统
CN109743127A (zh) 一种信息码的处理方法、电子设备及存储介质
CN103024015B (zh) 一种基于Flex的跨平台的浏览器端校验md5值上传文件的方法
CN105843709B (zh) 差异数据扫描方法及装置
CN108241639B (zh) 一种数据去重方法
CN108243207B (zh) 一种网络云盘的数据存储方法
CN111865701B (zh) 资产确定方法、装置、电子设备及存储介质
CN105824724B (zh) 一种差异数据扫描方法及装置
CN106844480B (zh) 一种清洗比对入库方法
CN115686368A (zh) 区块链网络的节点的存储扩容的方法、系统、装置和介质
CN109308288A (zh) 数据处理方法及装置
CN108769123B (zh) 一种数据系统及数据处理方法
CN105912477A (zh) 一种目录读取的方法、装置及系统
CN105824712A (zh) 一种业务逻辑的执行方法和装置
CN111416852A (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
CB02 Change of applicant information

Address after: Hangzhou City, Zhejiang Province, Binjiang District West Street 310053 Qianmo Road No. 482 building eleventh layer to the twelfth layer A

Applicant after: Hangzhou Sequoia Polytron Technologies Inc

Address before: Hangzhou City, Zhejiang Province, Binjiang District West Street 310053 Qianmo Road No. 482 building eleventh layer to the twelfth layer A

Applicant before: Hangzhou MacroSAN Technologies Co., Ltd.

COR Change of bibliographic data
GR01 Patent grant
GR01 Patent grant