差異數據掃描方法及裝置的制造方法
【專利摘要】本申請?zhí)峁┮环N差異數據掃描方法以及裝置,其中該方法包括:在獲取到所述源LUN上第一差異粒度對應空間的第一映射狀態(tài)后,檢查副本LUN發(fā)送的連續(xù)未映射區(qū)間信息中是否包括副本LUN上與所述第一差異粒度相應的第二差異粒度對應地址區(qū)間;若是,根據所述連續(xù)未映射區(qū)間信息確定與所述第一差異粒度相應的第二差異粒度對應空間的第二映射狀態(tài),將所述第一映射狀態(tài)以及第二映射狀態(tài)的映射組合,按照映射組合處理策略確定所述第一差異粒度對應空間的第一數據與第二差異粒度對應空間的第二數據是否一致,并進行相應處理。本發(fā)明減少了多余的摘要信息計算,且能夠最大限度地減少源LUN與副本LUN不必要的通信,降低了存儲主機的資源消耗,提高了掃描效率。
【專利說明】
差異數據掃描方法及裝置
技術領域
[0001] 本申請涉及網絡存儲技術領域,尤其涉及差異數據掃描方法及裝置。
【背景技術】
[0002] 在進行基于自動精簡配置LUN(Logical Unit Number,邏輯單元號)的遠程復制 時,首次復制進行全量復制,后續(xù)再由源LUN通過復制鏈路向災難備份中心(副本LUN)同步 數據,此時,僅在掃描到兩次復制之間,源LUN上發(fā)生改變的數據后,傳輸兩個復制時間點之 間發(fā)生變化的數據?,F(xiàn)有的掃描處理方法為:遍歷所有差異粒度,按照預設算法獲取并比較 源LUN上差異粒度對應空間與副本LUN上差異粒度對應空間的摘要信息,以確定兩端數據是 否一致,若一致,則繼續(xù)查詢下一個差異粒度,不一致則設置差異位。
[0003 ]然而,現(xiàn)有技術中在判斷源LUN與副本LUN數據的一致性時,對掃描到的源LUN上的 每個差異粒度都要統(tǒng)一對副本LUN上對應差異粒度的數據進行摘要信息的計算,進而造成 多余的摘要信息計算和比較,不但浪費了計算資源,還降低了處理效率。
【發(fā)明內容】
[0004] 有鑒于此,本申請?zhí)峁┝瞬町悢祿呙璺椒把b置,具體地,本申請是通過如下技 術方案實現(xiàn)的:
[0005] 本申請?zhí)峁┮环N差異數據掃描方法,應用于源邏輯單元號LUN,該方法包括:
[0006] 在獲取到所述源LUN上第一差異粒度對應空間的第一映射狀態(tài)后,檢查副本LUN發(fā) 送的連續(xù)未映射區(qū)間信息中是否包括副本LUN上與所述第一差異粒度相應的第二差異粒度 對應地址區(qū)間;
[0007] 若是,根據所述連續(xù)未映射區(qū)間信息確定與所述第一差異粒度相應的第二差異粒 度對應空間的第二映射狀態(tài),將所述第一映射狀態(tài)以及第二映射狀態(tài)的映射組合,按照映 射組合處理策略確定所述第一差異粒度對應空間的第一數據與第二差異粒度對應空間的 第二數據是否一致,并進行相應處理。
[0008] 本申請還提供一種差異數據掃描方法,應用于副本邏輯單元號LUN,該方法包括:
[0009] 在接收到源LUN發(fā)送的掃描請求時,獲取所述掃描請求中攜帶的第一差異粒度對 應空間的第一映射狀態(tài);
[0010]獲取所述副本LUN上與所述第一差異粒度相應的第二差異粒度對應空間的第二映 射狀態(tài);
[0011]若所述第二映射狀態(tài)為全部未映射狀態(tài),檢測出包括所述第二差異粒度對應空間 的連續(xù)未映射區(qū)間信息;
[0012] 將所述連續(xù)未映射區(qū)間信息攜帶在掃描響應的結果信息中發(fā)送至所述源LUN。
[0013] 本申請還提供一種差異數據掃描裝置,應用于源LUN,該裝置包括:
[0014] 檢查單元,用于在獲取到所述源LUN上第一差異粒度對應空間的第一映射狀態(tài)后, 檢查副本LUN發(fā)送的連續(xù)未映射區(qū)間信息中是否包括副本LUN上與所述第一差異粒度相應 的第二差異粒度對應地址區(qū)間;
[0015] 處理單元,用于根據所述連續(xù)未映射區(qū)間信息確定與所述第一差異粒度相應的第 二差異粒度對應空間的第二映射狀態(tài),將所述第一映射狀態(tài)以及第二映射狀態(tài)的映射組 合,按照映射組合處理策略確定所述第一差異粒度對應空間的第一數據與第二差異粒度對 應空間的第二數據是否一致,并進行相應處理。
[0016] 本申請還提供一種差異數據掃描裝置,應用于副本LUN,該裝置包括:
[0017] 接收單元,用于在接收到源LUN發(fā)送的掃描請求時,獲取所述掃描請求中攜帶的第 一差異粒度對應空間的第一映射狀態(tài);
[0018] 獲取單元,用于獲取所述副本LUN上與所述第一差異粒度相應的第二差異粒度對 應空間的第二映射狀態(tài);
[0019] 檢測單元,用于在所述第二映射狀態(tài)為全部未映射狀態(tài)時,檢測出包括所述第二 差異粒度對應空間的連續(xù)未映射區(qū)間信息;
[0020] 發(fā)送單元,用于將所述連續(xù)未映射區(qū)間信息攜帶在掃描響應的結果信息中發(fā)送至 所述源LUN。
[0021] 由以上描述可以看出,本申請?zhí)峁┑牟町悢祿呙璺椒把b置,在獲取到源LUN上 第一差異粒度對應空間的第一映射狀態(tài)后,檢查到副本LUN發(fā)送的連續(xù)未映射區(qū)間信息中 包括副本LUN上與第一差異粒度相應的第二差異粒度對應空間的第二映射狀態(tài)時,將第一 映射狀態(tài)以及第二映射狀態(tài)的映射組合,按照預設的映射組合處理策略確定第一差異粒度 對應空間的第一數據與第二差異粒度對應空間的第二數據是否一致,并進行相應處理。由 此可見,本發(fā)明無需如現(xiàn)有技術中的源LUN在每次掃描差異粒度時都需要向副本LUN發(fā)送掃 描請求,進而減少了多余的摘要信息計算,且能夠最大限度地減少源LUN與副本LUN不必要 的通信,降低了存儲主機的資源消耗,提高了掃描效率。
【附圖說明】
[0022] 圖1是本申請一示例性實施例示出的一種差異數據掃描方法所應用的網絡環(huán)境示 意圖;
[0023] 圖2是本申請一示例性實施例示出的一種差異數據掃描方法流程圖;
[0024] 圖3是本申請一示例性實施例示出的另一種差異數據掃描方法流程圖;
[0025] 圖4是本申請一示例性實施例示出的一種差異數據掃描裝置所在源LUN或者副本 LUN的基礎硬件結構示意圖;
[0026] 圖5是本申請一示例性實施例示出的一種差異數據掃描裝置的結構示意圖;
[0027] 圖6是本申請一示例性實施例示出的一種差異數據掃描裝置的結構示意圖。
【具體實施方式】
[0028] 這里將詳細地對示例性實施例進行說明,其示例表示在附圖中。下面的描述涉及 附圖時,除非另有表示,不同附圖中的相同數字表示相同或相似的要素。以下示例性實施例 中所描述的實施方式并不代表與本申請相一致的所有實施方式。相反,它們僅是與如所附 權利要求書中所詳述的、本申請的一些方面相一致的裝置和方法的例子。
[0029] 在本申請使用的術語是僅僅出于描述特定實施例的目的,而非旨在限制本申請。 在本申請和所附權利要求書中所使用的單數形式的"一種"、"所述"和"該"也旨在包括多數 形式,除非上下文清楚地表示其他含義。還應當理解,本文中使用的術語"和/或"是指并包 含一個或多個相關聯(lián)的列出項目的任何或所有可能組合。
[0030] 應當理解,盡管在本申請可能采用術語第一、第二、第三等來描述各種信息,但這 些信息不應限于這些術語。這些術語僅用來將同一類型的信息彼此區(qū)分開。例如,在不脫離 本申請范圍的情況下,第一信息也可以被稱為第二信息,類似地,第二信息也可以被稱為第 一信息。取決于語境,如在此所使用的詞語"如果"可以被解釋成為"在……時"或"當…… 時"或"響應于確定"。
[0031] 參見圖1,為本申請差異數據掃描方法所應用的網絡環(huán)境示意圖。包括源LUN以及 副本LUN,源LUN是一個復制關系中的源資源,副本LUN則是一個復制關系中的目的資源。
[0032] 參見圖2,為本申請差異數據掃描方法的一個實施例流程圖,應用于源LUN,該實施 例對差異數據掃描過程進行描述。
[0033]步驟201,在獲取到所述源LUN上第一差異粒度對應空間的第一映射狀態(tài)后,檢查 副本LUN發(fā)送的連續(xù)未映射區(qū)間信息中是否包括副本LUN上與所述第一差異粒度相應的第 二差異粒度對應地址區(qū)間;
[0034]本示例實施方式中,源LUN可以循環(huán)掃描差異位圖中的各差異粒度,依次獲取當前 掃描的差異粒度的大小以及該差異粒度的空洞總大小,并根據該差異粒度的大小以及該差 異粒度的空洞總大小確定出該差異粒度對應空間的映射狀態(tài)。其中,差異粒度對應空間可 能存在三種映射狀態(tài):全部未映射狀態(tài)、部分映射狀態(tài)、全部映射狀態(tài)。
[0035]該差異粒度的大小為預先設置的。在目前數據量飛速增長的情況下,LUN容量通常 很大,若與LUN對應的差異粒度設置的較小,由差異粒度組成的差異位圖所占用的空間就會 變大。不僅如此,維護差異位圖的代價也將越來越大,需要考慮差異位圖所占的資源、差異 位圖的更新頻率、差異位圖的訪問速度、對復制源在線業(yè)務的影響等諸多因素。因此,目前 復制的通用實現(xiàn)中,差異粒度都比較粗,一般可以預設為大于64KB。
[0036] 本示例實施方式中,在源LUN獲取到源LUN上差異粒度(下稱第一差異粒度)對應空 間的映射狀態(tài)(下稱第一映射狀態(tài))后,檢查副本LUN發(fā)送的連續(xù)未映射區(qū)間信息中是否包 括副本LUN上與第一差異粒度相應的差異粒度(下稱第二差異粒度)對應空間的映射狀態(tài) (下稱第二映射狀態(tài))。
[0037] 實際應用中,源LUN在依次掃描每一個差異粒度時,可以在自身保存的副本LUN發(fā) 送的連續(xù)未映射區(qū)間信息中查找是否包括副本LUN上與當前掃描的第一差異粒度對應的第 二差異粒度。
[0038] 該連續(xù)未映射區(qū)間信息表示一個地址區(qū)間,這段地址區(qū)間的長度可能是差異粒度 的整數倍,也可能不是。當這段地址區(qū)間的長度是差異粒度的整數倍時,說明與這段區(qū)間對 應的差異粒度均為全部未映射狀態(tài);當地址區(qū)間的長度不是差異粒度的整數倍時,就會出 現(xiàn)這段區(qū)間對應的差異粒度中的最后一個差異粒度為特定部分映射的情況。其中,該特定 部分映射狀態(tài)為差異粒度的前部分空間為未映射狀態(tài),后部分空間為映射狀態(tài)。
[0039] 若該連續(xù)未映射區(qū)間信息中不包括該第二差異粒度,可以向副本LUN發(fā)送掃描請 求,以請求副本LUN確定該第二差異粒度的映射狀態(tài)(第二映射狀態(tài)),并在該第二差異粒度 為全部未映射狀態(tài)時,副本LUN檢查是否有從該第二差異粒度開始的連續(xù)未映射狀態(tài)的差 異粒度。若有,副本LUN將自該第二差異粒度對應地址空間起連續(xù)的未映射狀態(tài)的地址空間 生成連續(xù)未映射區(qū)間信息攜帶在掃描響應中發(fā)送至源LUN。
[0040]源LUN在接收到副本LUN發(fā)送的掃描響應后,即可根據該掃描響應中攜帶的結果信 息獲知第二差異粒度對應空間的映射狀態(tài)。并且,當該掃描響應中還具有連續(xù)未映射區(qū)間 信息時,確定源LUN當前掃描的第一差異粒度相應的第二差異粒度對應空間映射狀態(tài)為全 部未映射狀態(tài),源LUN還可以保存該連續(xù)未映射區(qū)間信息,以便在源LUN掃描下一個差異粒 度時,可以從該連續(xù)未映射區(qū)間信息中查詢到與下一個差異粒度對應的副本LUN上的差異 粒度對應空間的映射狀態(tài)為全部未映射狀態(tài)或者是特定部分映射狀態(tài),無需再向副本LUN 發(fā)送掃描請求查詢該下一個差異粒度的映射狀態(tài)。減少了源LUN通過復制鏈路去副本LUN查 詢第二差異粒度對應空間的摘要信息和映射狀態(tài)的次數,加快了掃描速度。
[0041 ]由于本發(fā)明實施例中的副本LUN在每次接收到源LUN發(fā)送的掃描請求后,除了檢查 與掃描請求中第二差異粒度的映射狀態(tài)之外,還會在確定第二差異粒度為全部未映射狀態(tài) 時,檢測出包括該第二差異粒度對應空間的連續(xù)未映射區(qū)間信息,并將連續(xù)未映射區(qū)間信 息以及第二差異粒度的映射狀態(tài)攜帶在掃描響應中發(fā)送給源LUN。因此,源LUN在掃描源LUN 上的每一個差異粒度時,可以首先檢查連續(xù)未映射區(qū)間信息中是否包括副本LUN上與該差 異粒度相應的副本LUN上差異粒度對應空間的映射狀態(tài)。
[0042]步驟202,若所述連續(xù)未映射區(qū)間信息中包括所述第二差異粒度地址區(qū)間,根據所 述連續(xù)未映射區(qū)間信息確定與所述第一差異粒度相應的第二差異粒度對應空間的第二映 射狀態(tài),將所述第一映射狀態(tài)以及第二映射狀態(tài)的映射組合,按照映射組合處理策略確定 所述第一差異粒度對應空間的第一數據與第二差異粒度對應空間的第二數據是否一致,并 進行相應處理。
[0043] 當在該連續(xù)未映射區(qū)間信息中查找到所述第二差異粒度的映射狀態(tài)時,可以根據 連續(xù)未映射區(qū)間信息確定出第二差異粒度對應空間的第二映射狀態(tài)。
[0044] 由于連續(xù)未映射區(qū)間信息中的地址區(qū)間的長度不是差異粒度的整數倍時,就會出 現(xiàn)這段區(qū)間對應的差異粒度中的最后一個差異粒度為特定部分映射的情況,因此還需要進 一步確定該第二差異粒度的映射狀態(tài)是全部未映射狀態(tài)還是特定部分映射狀態(tài)。之后,將 第一映射狀態(tài)以及第二映射狀態(tài)的映射組合,按照預設的映射組合處理策略確定第一數據 與第二數據是否一致。其中,該預設的映射組合處理策略可以如表1所示:
[0047] 表1通過表項的方式示出了映射組合處理策略,僅是為進一步理解本發(fā)明的示例, 并不用于限制本發(fā)明實施例中映射組合處理策略的具體內容。
[0048] 當第二差異粒度的映射狀態(tài)為全部未映射狀態(tài)時,若第一差異粒度的映射狀態(tài)也 是全部未映射狀態(tài),即:該映射組合為第一映射狀態(tài)以及第二映射狀態(tài)均為全部未映射狀 態(tài),根據表1所示的映射組合處理策略可以確定第一數據與第二數據一致(第一數據與第二 數據無差異)。由于在上次復制結束后差異位圖的各個差異粒度的差異位均被標記為無差 異(例如被標記為〇),因此在確定兩端數據無差異時,無需對第一差異粒度的差異位進行標 記,源LUN繼續(xù)掃描下一個差異粒度即可;
[0049] 當該映射組合為第一映射狀態(tài)為全部映射狀態(tài)或者部分映射狀態(tài),第二映射狀態(tài) 為全部未映射狀態(tài),根據表1的映射組合處理策略確定第一數據與第二數據不一致(第一數 據與第二數據存在差異),則將第一差異粒度的差異位標記為存在差異(例如標記為1),并 由源LUN繼續(xù)掃描下一個差異粒度。
[0050] 當該映射組合為第一映射狀態(tài)為全部映射狀態(tài)或者全部未映射狀態(tài),第二映射狀 態(tài)為特定部分映射狀態(tài),根據表1的映射組合處理策略確定第一數據與第二數據不一致,則 將第一差異粒度的差異位標記為存在差異,并且,源LUN可以繼續(xù)掃描下一個差異粒度。 [0051 ]當該映射組合為第一映射狀態(tài)為部分映射狀態(tài),第二映射狀態(tài)為特定部分映射狀 態(tài)時,根據表1的映射組合處理策略不能確定該第一數據與第二數據是否一致,則向副本 LUN發(fā)送攜帶有第一映射狀態(tài)的掃描請求,以使副本LUN根據該掃描請求在獲取第二差異粒 度對應空間的第二映射狀態(tài)后,根據第一映射狀態(tài)以及第二映射狀態(tài)的映射組合,按照所 述映射組合處理策略判斷第一數據與第二數據是否一致,并將得到的結果信息攜帶在掃描 響應中發(fā)送給源LUN。由于副本LUN在查詢到第二差異粒度的第二映射狀態(tài)為全部未映射 時,還會進一步檢測是否有連續(xù)未映射區(qū)間信息,因此,在檢測到有包括第二映射狀態(tài)的連 續(xù)未映射區(qū)間信息時,該掃描響應中的結果信息還包括該連續(xù)未映射區(qū)間信息。
[0052]本示例實施方式中,在源LUN獲取到第一差異粒度的第一映射狀態(tài)后,若在連續(xù)未 映射區(qū)間信息中未查詢到副本LUN上與第一差異粒度相應的第二差異粒度對應空間的第二 映射狀態(tài),可以如上述根據表1的映射組合處理策略不能確定該第一數據與第二數據是否 一致時的處理一樣,向副本LUN發(fā)送攜帶有第一映射狀態(tài)的掃描請求,以獲取副本LUN按照 映射組合處理策略得到的結果信息。
[0053]當源LUN接收到副本LUN發(fā)送的掃描響應后,若掃描響應中攜帶的結果信息為第一 數據與第二數據一致,則可以由源LUN繼續(xù)掃描下一個差異粒度;
[0054]若掃描響應中攜帶的結果信息包括第一數據與第二數據不一致,則可以由源LUN 將所述第二差異粒度的差異位標記為存在差異,并繼續(xù)掃描下一個差異粒度;
[0055] 若掃描響應中攜帶的結果信息包括第一數據與第二數據的差異不確定,以及掃描 響應中填充有第二差異粒度對應空間的第一摘要信息,則計算第一差異粒度對應空間的第 二摘要信息;判斷所述第一摘要信息與第二摘要信息是否一致,若一致,確定所述第一數據 與第二數據一致,否則,確定所述第一數據與第二數據不一致,并將所述第一差異粒度的差 異位標記為存在差異。
[0056] 具體地,副本LUN返回的掃描響應中的結果信息除了包括第一數據與第二數據一 致以及不一致的信息外,副本LUN對于根據表1的映射組合處理策略不能確定該第一數據與 第二數據是否一致時,可以根據信息摘要算法計算第二差異粒度對應空間的摘要信息(下 稱第一摘要信息),例如MD5值,并將該第一摘要信息作為結果信息攜帶在掃描響應中發(fā)送 給源LUN。
[0057]在源LUN收到的掃描響應中的結果信息為差異不確定,并在掃描響應中填充第二 差異粒度對應空間的第一摘要信息時,源LUN可以計算出第一差異粒度對應空間的摘要信 息(第二摘要信息),并將第一摘要信息與第二摘要信息進行比對,若第一摘要信息與第二 摘要信息一致,確定該第一數據與第二數據一致;若第一摘要信息與第二摘要信息不一致, 確定該第一數據與第二數據不一致。并當確定第一數據與第二數據一致時,源LUN可以繼續(xù) 掃描下一個差異粒度;當確定第一數據與第二數據不一致時,將第一差異粒度的差異位標 記為存在差異,并且,源LUN可以繼續(xù)掃描下一個差異粒度。
[0058]當源LUN將差異位圖的所有差異粒度逐一掃描完畢后,則可以根據掃描出的存在 差異的數據復制到副本LUN,并在將存在差異的數據復制到副本LUN后,將對應的差異粒度 的差異位標記為無差異。這樣一來,本示例實施方式則更加智能化的完成對整個源LUN的差 異數據的復制。
[0059] 綜上所述,本示例實施方式中的差異掃描方法,在獲取到源LUN上第一差異粒度對 應空間的第一映射狀態(tài)后,在檢查到副本LUN發(fā)送的連續(xù)未映射區(qū)間信息中包括副本LUN上 與第一差異粒度相應的第二差異粒度對應空間時,根據連續(xù)未映射區(qū)間信息確定出副本 LUN上與第一差異粒度相應的第二差異粒度對應空間的第二映射狀態(tài),將第一映射狀態(tài)以 及第二映射狀態(tài)的映射組合,按照預設的映射組合處理策略確定第一差異粒度對應空間的 第一數據與第二差異粒度對應空間的第二數據是否一致,并進行相應處理。由此可見,本發(fā) 明無需如現(xiàn)有技術中的源LUN在每次掃描差異粒度時都需要向副本LUN發(fā)送掃描請求,進而 減少了多余的摘要信息計算,且能夠最大限度地減少源LUN與副本LUN不必要的通信,降低 了存儲主機的資源消耗,提高了掃描效率。
[0060] 參見圖3,為本申請差異數據掃描方法的另一個實施例流程圖,應用于副本LUN,該 實施例對差異數據掃描過程進行描述。
[0061] 步驟301,在接收到源LUN發(fā)送的掃描請求時,獲取所述掃描請求中攜帶的第一差 異粒度對應空間的第一映射狀態(tài);
[0062] 本示例實施方式中,在源LUN獲取到源LUN上差異粒度(下稱第一差異粒度)對應空 間的映射狀態(tài)(下稱第一映射狀態(tài))后,通常要向副本LUN發(fā)送掃描請求,以獲取副本LUN上 與該第一差異粒度相應的第二差異粒度對應空間的映射狀態(tài)。
[0063] 該掃描請求中還攜帶有第一差異粒度的第一映射狀態(tài),副本LUN在接收到該掃描 請求后,首先獲取該掃描請求中攜帶的第一差異粒度的第一映射狀態(tài)。
[0064]步驟302,獲取所述副本LUN上與所述第一差異粒度相應的第二差異粒度對應空間 的第二映射狀態(tài);
[0065]之后,副本LUN可以獲取與所述第一差異粒度相應的第二差異粒度對應空間的第 二映射狀態(tài),并將所述第一映射狀態(tài)以及第二映射狀態(tài)的映射組合,按照表1所示的映射組 合處理策略進一步判斷該第一差異粒度對應空間的第一數據與第二差異粒度對應空間的 第二數據是否一致;并將確定出所述第一差異粒度對應空間的第一數據與第二差異粒度對 應空間的第二數據一致或者不一致的結果信息攜帶在掃描響應中發(fā)送至所述源LUN;然而, 若無法確定出所述第一數據與第二數據是否一致,所述結果信息為差異不確定,則計算所 述第二數據的第一摘要信息,并將差異不確定的結果信息以及所述第一摘要信息攜帶在所 述掃描響應中發(fā)送至所述源LUN,以使源LUN在獲取與第一差異粒度對應空間的第二摘要信 息后,根據該第一摘要信息與第二摘要信息的一致性來確定第一差異粒度對應空間的第一 數據與第二差異粒度對應空間的第二數據是否一致,并進行相應處理。
[0066]其中,副本LUN判斷該第一數據與第二數據是否一致的具體處理流程可以參考上 述步驟202中的方法,在此不再一一贅述。
[0067] 步驟303,若所述第二映射狀態(tài)為全部未映射狀態(tài),檢測出包括所述第二差異粒度 對應空間的連續(xù)未映射區(qū)間信息;
[0068] 在獲取到第二差異粒度的第二映射狀態(tài)后,若確定第二映射狀態(tài)為全部未映射狀 態(tài),副本LUN還可以進一步檢查自該第二差異粒度之后的下一個差異粒度是否也是全部未 映射狀態(tài)或者是特定部分映射狀態(tài),若是,副本LUN可以將自該第二差異粒度起連續(xù)未映射 狀態(tài)的所有差異粒度的地址空間作為連續(xù)未映射區(qū)間信息。
[0069] 步驟304,將所述連續(xù)未映射區(qū)間信息攜帶在掃描響應的結果信息中發(fā)送至所述 源LUNo
[0070]在生成連續(xù)未映射區(qū)間信息后,將連續(xù)未映射區(qū)間信息攜帶在掃描響應的結果信 息中發(fā)送至所述源LUN,以使源LUN在掃描源LUN上的差異粒度時,若檢查到連續(xù)未映射區(qū)間 信息中有該差異粒度對應的信息,則可以根據該連續(xù)未映射區(qū)間信息進行數據的一致性判 斷,無需再向副本LUN發(fā)送掃描請求等一系列流程。進而減少不必要的開銷,提升了在線業(yè) 務以及復制業(yè)務的整體性能。
[0071]與前述差異數據掃描方法的實施例相對應,本申請還提供了差異數據掃描裝置的 實施例。
[0072] 本申請差異數據掃描裝置的實施例可以應用在源LUN上。裝置實施例可以通過軟 件實現(xiàn),也可以通過硬件或者軟硬件結合的方式實現(xiàn)。以軟件實現(xiàn)為例,作為一個邏輯意義 上的裝置,是通過其所在設備的處理器運行存儲器中對應的計算機程序指令形成的。從硬 件層面而言,如圖4所示,為本申請差異數據掃描裝置所在設備的一種硬件結構圖,除了圖4 所示的處理器、網絡接口、以及存儲器之外,實施例中裝置所在的設備通常根據該設備的實 際功能,還可以包括其他硬件,對此不再贅述。
[0073] 請參考圖5,為本申請一個實施例中的差異數據掃描裝置的結構示意圖。該差異數 據掃描裝置應用于源LUN,包括檢查單元501以及處理單元502,其中:
[0074]檢查單元501,用于在獲取到所述源LUN上第一差異粒度對應空間的第一映射狀態(tài) 后,檢查副本LUN發(fā)送的連續(xù)未映射區(qū)間信息中是否包括副本LUN上與所述第一差異粒度相 應的第二差異粒度對應地址區(qū)間;
[0075]處理單元502,用于根據所述連續(xù)未映射區(qū)間信息確定與所述第一差異粒度相應 的第二差異粒度對應空間的第二映射狀態(tài),將所述第一映射狀態(tài)以及第二映射狀態(tài)的映射 組合,按照映射組合處理策略確定所述第一差異粒度對應空間的第一數據與第二差異粒度 對應空間的第二數據是否一致,并進行相應處理。
[0076]進一步地,所述裝置還可以包括發(fā)送單元503,用于在所述連續(xù)未映射區(qū)間信息中 不包括副本LUN上與所述第一差異粒度相應的第二差異粒度對應地址區(qū)間時,向所述副本 LUN發(fā)送攜帶有所述第一映射狀態(tài)的掃描請求,以使所述副本LUN在獲取所述第二映射狀態(tài) 后,根據所述第一映射狀態(tài)以及所述第二映射狀態(tài)的映射組合,按照所述映射組合處理策 略判斷所述第一數據與所述第二數據是否一致,并將得到的結果信息攜帶在掃描響應中發(fā) 送給所述源LUN。
[0077] 進一步地,所述處理單元502具體可以用于:當源LUN接收到副本LUN發(fā)送的掃描響 應后,若所述掃描響應中攜帶的結果信息包括所述第一數據與所述第二數據不一致,則將 所述第一差異粒度的差異位標記為存在差異;若所述掃描響應中攜帶的結果信息包括所述 第一數據與所述第二數據差異不確定,以及所述第二差異粒度對應空間的第一摘要信息, 獲取所述第一摘要信息,并計算所述第一差異粒度對應空間的第二摘要信息;判斷所述第 一摘要信息與所述第二摘要信息是否一致,若一致,確定所述第一數據與所述第二數據一 致,否則,確定所述第一數據與所述第二數據不一致,并將所述第一差異粒度的差異位標記 為存在差異。
[0078] 進一步地,所述裝置還可以包括保存單元504,用于當源LUN接收到副本LUN發(fā)送的 掃描響應后,若所述掃描響應中攜帶的結果信息包括連續(xù)多個差異粒度的連續(xù)未映射區(qū)間 信息,確定所述第二差異粒度對應空間的映射狀態(tài)為全部未映射狀態(tài),并保存所述連續(xù)未 映射區(qū)間信息。
[0079] 進一步地,所述映射狀態(tài)包括:全部映射狀態(tài)、部分映射狀態(tài)以及全部未映射狀 態(tài);
[0080] 所述處理單元502具體可以用于:若所述映射組合為所述第一映射狀態(tài)以及所述 第二映射狀態(tài)均為全部未映射狀態(tài),確定所述第一數據與所述第二數據一致;若所述映射 組合為所述第一映射狀態(tài)為全部映射狀態(tài)或者全部未映射狀態(tài),所述第二映射狀態(tài)為特定 部分映射狀態(tài),確定所述第一數據與所述第二數據不一致,則將所述第一差異粒度的差異 位標記為存在差異。
[0081] 進一步地,所述處理單元502具體可以用于:若所述映射組合為所述第一映射狀態(tài) 為部分映射狀態(tài),所述第二映射狀態(tài)為特定部分映射狀態(tài),向所述副本LUN發(fā)送攜帶有所述 第一映射狀態(tài)的掃描請求,以使所述副本LUN在獲取所述第二映射狀態(tài)后,根據所述第一映 射狀態(tài)以及所述第二映射狀態(tài)的映射組合,按照所述映射組合處理策略判斷所述第一數據 與所述第二數據是否一致,并將得到的結果信息攜帶在掃描響應中發(fā)送給所述源LUN。
[0082] 上述裝置中各個單元的功能和作用的實現(xiàn)過程具體詳見上述應用于源LUN的差異 數據掃描方法中對應步驟的實現(xiàn)過程,在此不再贅述。
[0083] 本申請差異數據掃描裝置的實施例可以應用在副本LUN上。裝置實施例可以通過 軟件實現(xiàn),也可以通過硬件或者軟硬件結合的方式實現(xiàn)。以軟件實現(xiàn)為例,作為一個邏輯意 義上的裝置,是通過其所在設備的處理器運行存儲器中對應的計算機程序指令形成的。從 硬件層面而言,如圖4所示,為本申請差異數據掃描裝置所在設備的一種硬件結構圖,除了 圖4所示的處理器、網絡接口、以及存儲器之外,實施例中裝置所在的設備通常根據該設備 的實際功能,還可以包括其他硬件,對此不再贅述。
[0084] 請參考圖6,為本申請一個實施例中的差異數據掃描裝置的結構示意圖。該差異數 據掃描裝置應用于副本LUN,包括接收單元601、獲取單元602、檢測單元603以及發(fā)送單元 604,其中:
[0085]接收單元601,用于在接收到源LUN發(fā)送的掃描請求時,獲取所述掃描請求中攜帶 的第一差異粒度對應空間的第一映射狀態(tài);
[0086]獲取單元602,用于獲取所述副本LUN上與所述第一差異粒度相應的第二差異粒度 對應空間的第二映射狀態(tài);
[0087]檢測單元603,用于在所述第二映射狀態(tài)為全部未映射狀態(tài)時,檢測出包括所述第 二差異粒度對應空間的連續(xù)未映射區(qū)間信息;
[0088]發(fā)送單元604,用于將所述連續(xù)未映射區(qū)間信息攜帶在掃描響應的結果信息中發(fā) 送至所述源LUN。
[0089] 進一步地,所述裝置還可以包括判斷處理單元605,用于在獲取所述副本LUN上與 所述第一差異粒度相應的第二差異粒度對應空間的第二映射狀態(tài)之后,根據所述第一映射 狀態(tài)以及第二映射狀態(tài)的映射組合,按照映射組合處理策略判斷所述第一差異粒度對應空 間的第一數據與第二差異粒度對應空間的第二數據是否一致;若確定出所述第一差異粒度 對應空間的第一數據與第二差異粒度對應空間的第二數據一致,或者不一致,將所述一致 或者不一致的結果信息攜帶在掃描響應中發(fā)送至所述源LUN;若無法確定出所述第一數據 與第二數據是否一致,所述結果信息為差異不確定,則計算所述第二數據的第一摘要信息, 并將差異不確定的結果信息以及所述第一摘要信息攜帶在所述掃描響應中發(fā)送至所述源 LUN 0
[0090] 上述裝置中各個單元的功能和作用的實現(xiàn)過程具體詳見上述應用于副本LUN的差 異數據掃描方法中對應步驟的實現(xiàn)過程,在此不再贅述。
[0091] 本示例實施方式中的差異掃描方法以及裝置,在獲取到源LUN上第一差異粒度對 應空間的第一映射狀態(tài)后,在檢查到副本LUN發(fā)送的連續(xù)未映射區(qū)間信息中包括副本LUN上 與第一差異粒度相應的第二差異粒度對應空間的第二映射狀態(tài)時,將第一映射狀態(tài)以及第 二映射狀態(tài)的映射組合,按照預設的映射組合處理策略確定第一差異粒度對應空間的第一 數據與第二差異粒度對應空間的第二數據是否一致,并進行相應處理。由此可見,本發(fā)明無 需如現(xiàn)有技術中的源LUN在每次掃描差異粒度時都需要向副本LUN發(fā)送掃描請求,進而減少 了多余的摘要信息計算,且能夠最大限度地減少源LUN與副本LUN不必要的通信,降低了存 儲主機的資源消耗,提高了掃描效率。
[0092] 對于裝置實施例而言,由于其基本對應于方法實施例,所以相關之處參見方法實 施例的部分說明即可。以上所描述的裝置實施例僅僅是示意性的,其中所述作為分離部件 說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以 不是物理單元,即可以位于一個地方,或者也可以分布到多個網絡單元上??梢愿鶕嶋H的 需要選擇其中的部分或者全部模塊來實現(xiàn)本申請方案的目的。本領域普通技術人員在不付 出創(chuàng)造性勞動的情況下,即可以理解并實施。
[0093] 以上所述僅為本申請的較佳實施例而已,并不用以限制本申請,凡在本申請的精 神和原則之內,所做的任何修改、等同替換、改進等,均應包含在本申請保護的范圍之內。
【主權項】
1. 一種差異數據掃描方法,應用于源邏輯單元號LUN,其特征在于,還包括副本LUN,所 述方法包括: 在獲取到所述源LUN上第一差異粒度對應空間的第一映射狀態(tài)后,檢查副本LUN發(fā)送的 連續(xù)未映射區(qū)間信息中是否包括副本LUN上與所述第一差異粒度相應的第二差異粒度對應 地址區(qū)間; 若是,根據所述連續(xù)未映射區(qū)間信息確定與所述第一差異粒度相應的第二差異粒度對 應空間的第二映射狀態(tài),將所述第一映射狀態(tài)以及第二映射狀態(tài)的映射組合,按照映射組 合處理策略確定所述第一差異粒度對應空間的第一數據與第二差異粒度對應空間的第二 數據是否一致,并進行相應處理。2. 如權利要求1所述的方法,其特征在于,所述方法還包括: 若所述連續(xù)未映射區(qū)間信息中不包括副本LUN上與所述第一差異粒度相應的第二差異 粒度對應地址區(qū)間,向所述副本LUN發(fā)送攜帶有所述第一映射狀態(tài)的掃描請求,以使所述副 本LUN在獲取所述第二映射狀態(tài)后,根據所述第一映射狀態(tài)以及所述第二映射狀態(tài)的映射 組合,按照所述映射組合處理策略判斷所述第一數據與所述第二數據是否一致,并將得到 的結果信息攜帶在掃描響應中發(fā)送給所述源LUN。3. 如權利要求2所述的方法,其特征在于,所述方法還包括: 當源LUN接收到副本LUN發(fā)送的掃描響應后,若所述掃描響應中攜帶的結果信息包括所 述第一數據與所述第二數據不一致,則將所述第一差異粒度的差異位標記為存在差異; 若所述掃描響應中攜帶的結果信息包括所述第一數據與所述第二數據差異不確定,以 及所述第二差異粒度對應空間的第一摘要信息,獲取所述第一摘要信息,并計算所述第一 差異粒度對應空間的第二摘要信息; 判斷所述第一摘要信息與所述第二摘要信息是否一致,若一致,確定所述第一數據與 所述第二數據一致,否則,確定所述第一數據與所述第二數據不一致,并將所述第一差異粒 度的差異位標記為存在差異。4. 如權利要求2所述的方法,其特征在于,所述方法還包括: 當源LUN接收到副本LUN發(fā)送的掃描響應后,若所述掃描響應中攜帶的結果信息包括連 續(xù)多個差異粒度的連續(xù)未映射區(qū)間信息,確定所述第二差異粒度對應空間的映射狀態(tài)為全 部未映射狀態(tài),并保存所述連續(xù)未映射區(qū)間信息。5. 如權利要求1所述的方法,其特征在于,所述映射狀態(tài)包括:全部映射狀態(tài)、部分映射 狀態(tài)以及全部未映射狀態(tài);所述按照映射組合處理策略確定所述第一差異粒度對應空間的 第一數據與第二差異粒度對應空間的第二數據是否一致,并進行相應處理具體包括: 若所述映射組合為所述第一映射狀態(tài)以及所述第二映射狀態(tài)均為全部未映射狀態(tài),確 定所述第一數據與所述第二數據一致; 若所述映射組合為所述第一映射狀態(tài)為全部映射狀態(tài)或者全部未映射狀態(tài),所述第二 映射狀態(tài)為特定部分映射狀態(tài),確定所述第一數據與所述第二數據不一致,則將所述第一 差異粒度的差異位標記為存在差異。6. 如權利要求1或5任一所述的方法,其特征在于,所述按照映射組合處理策略確定所 述第一差異粒度對應空間的第一數據與第二差異粒度對應空間的第二數據是否一致,并進 行相應處理具體包括: 若所述映射組合為所述第一映射狀態(tài)為部分映射狀態(tài),所述第二映射狀態(tài)為特定部分 映射狀態(tài),向所述副本LUN發(fā)送攜帶有所述第一映射狀態(tài)的掃描請求,以使所述副本LUN在 獲取所述第二映射狀態(tài)后,根據所述第一映射狀態(tài)以及所述第二映射狀態(tài)的映射組合,按 照所述映射組合處理策略判斷所述第一數據與所述第二數據是否一致,并將得到的結果信 息攜帶在掃描響應中發(fā)送給所述源LUN。7. -種差異數據掃描方法,應用于副本邏輯單元號LUN,其特征在于,還包括源LUN,所 述方法包括: 在接收到源LUN發(fā)送的掃描請求時,獲取所述掃描請求中攜帶的第一差異粒度對應空 間的第一映射狀態(tài); 獲取所述副本LUN上與所述第一差異粒度相應的第二差異粒度對應空間的第二映射狀 態(tài); 若所述第二映射狀態(tài)為全部未映射狀態(tài),檢測出包括所述第二差異粒度對應空間的連 續(xù)未映射區(qū)間信息; 將所述連續(xù)未映射區(qū)間信息攜帶在掃描響應的結果信息中發(fā)送至所述源LUN。8. 如權利要求7所述的方法,其特征在于,在獲取所述副本LUN上與所述第一差異粒度 相應的第二差異粒度對應空間的第二映射狀態(tài)之后,所述方法還包括: 根據所述第一映射狀態(tài)以及第二映射狀態(tài)的映射組合,按照映射組合處理策略判斷所 述第一差異粒度對應空間的第一數據與第二差異粒度對應空間的第二數據是否一致; 若確定出所述第一差異粒度對應空間的第一數據與第二差異粒度對應空間的第二數 據一致,或者不一致,將所述一致或者不一致的結果信息攜帶在掃描響應中發(fā)送至所述源 LUN; 若無法確定出所述第一數據與第二數據是否一致,所述結果信息為差異不確定,則計 算所述第二數據的第一摘要信息,并將差異不確定的結果信息以及所述第一摘要信息攜帶 在所述掃描響應中發(fā)送至所述源LUN。9. 一種差異數據掃描裝置,應用于源LUN,其特征在于,還包括副本LUN,所述裝置包括: 檢查單元,用于在獲取到所述源LUN上第一差異粒度對應空間的第一映射狀態(tài)后,檢查 副本LUN發(fā)送的連續(xù)未映射區(qū)間信息中是否包括副本LUN上與所述第一差異粒度相應的第 二差異粒度對應地址區(qū)間; 處理單元,用于根據所述連續(xù)未映射區(qū)間信息確定與所述第一差異粒度相應的第二差 異粒度對應空間的第二映射狀態(tài),將所述第一映射狀態(tài)以及第二映射狀態(tài)的映射組合,按 照映射組合處理策略確定所述第一差異粒度對應空間的第一數據與第二差異粒度對應空 間的第二數據是否一致,并進行相應處理。10. 如權利要求9所述的裝置,其特征在于,所述裝置還包括: 發(fā)送單元,用于在所述連續(xù)未映射區(qū)間信息中不包括副本LUN上與所述第一差異粒度 相應的第二差異粒度對應地址區(qū)間時,向所述副本LUN發(fā)送攜帶有所述第一映射狀態(tài)的掃 描請求,以使所述副本LUN在獲取所述第二映射狀態(tài)后,根據所述第一映射狀態(tài)以及所述第 二映射狀態(tài)的映射組合,按照所述映射組合處理策略判斷所述第一數據與所述第二數據是 否一致,并將得到的結果信息攜帶在掃描響應中發(fā)送給所述源LUN。11. 如權利要求10所述的裝置,其特征在于,所述處理單元具體用于: 當源LUN接收到副本LUN發(fā)送的掃描響應后,若所述掃描響應中攜帶的結果信息包括所 述第一數據與所述第二數據不一致,則將所述第一差異粒度的差異位標記為存在差異; 若所述掃描響應中攜帶的結果信息包括所述第一數據與所述第二數據差異不確定,以 及所述第二差異粒度對應空間的第一摘要信息,獲取所述第一摘要信息,并計算所述第一 差異粒度對應空間的第二摘要信息; 判斷所述第一摘要信息與所述第二摘要信息是否一致,若一致,確定所述第一數據與 所述第二數據一致,否則,確定所述第一數據與所述第二數據不一致,并將所述第一差異粒 度的差異位標記為存在差異。12. 如權利要求10所述的裝置,其特征在于,所述裝置還包括: 保存單元,用于當源LUN接收到副本LUN發(fā)送的掃描響應后,若所述掃描響應中攜帶的 結果信息包括連續(xù)多個差異粒度的連續(xù)未映射區(qū)間信息,確定所述第二差異粒度對應空間 的映射狀態(tài)為全部未映射狀態(tài),并保存所述連續(xù)未映射區(qū)間信息。13. 如權利要求9所述的裝置,其特征在于,所述映射狀態(tài)包括:全部映射狀態(tài)、部分映 射狀態(tài)以及全部未映射狀態(tài);所述處理單元具體用于: 若所述映射組合為所述第一映射狀態(tài)以及所述第二映射狀態(tài)均為全部未映射狀態(tài),確 定所述第一數據與所述第二數據一致; 若所述映射組合為所述第一映射狀態(tài)為全部映射狀態(tài)或者全部未映射狀態(tài),所述第二 映射狀態(tài)為特定部分映射狀態(tài),確定所述第一數據與所述第二數據不一致,則將所述第一 差異粒度的差異位標記為存在差異。14. 如權利要求9或13任一所述的裝置,其特征在于,所述處理單元具體用于: 若所述映射組合為所述第一映射狀態(tài)為部分映射狀態(tài),所述第二映射狀態(tài)為特定部分 映射狀態(tài),向所述副本LUN發(fā)送攜帶有所述第一映射狀態(tài)的掃描請求,以使所述副本LUN在 獲取所述第二映射狀態(tài)后,根據所述第一映射狀態(tài)以及所述第二映射狀態(tài)的映射組合,按 照所述映射組合處理策略判斷所述第一數據與所述第二數據是否一致,并將得到的結果信 息攜帶在掃描響應中發(fā)送給所述源LUN。15. -種差異數據掃描裝置,應用于副本LUN,其特征在于,還包括源LUN,所述裝置包 括: 接收單元,用于在接收到源LUN發(fā)送的掃描請求時,獲取所述掃描請求中攜帶的第一差 異粒度對應空間的第一映射狀態(tài); 獲取單元,用于獲取所述副本LUN上與所述第一差異粒度相應的第二差異粒度對應空 間的第二映射狀態(tài); 檢測單元,用于在所述第二映射狀態(tài)為全部未映射狀態(tài)時,檢測出包括所述第二差異 粒度對應空間的連續(xù)未映射區(qū)間信息; 發(fā)送單元,用于將所述連續(xù)未映射區(qū)間信息攜帶在掃描響應的結果信息中發(fā)送至所述 源 LUN〇16. 如權利要求15所述的裝置,其特征在于,所述裝置還包括判斷處理單元,用于: 在獲取所述副本LUN上與所述第一差異粒度相應的第二差異粒度對應空間的第二映射 狀態(tài)之后,根據所述第一映射狀態(tài)以及第二映射狀態(tài)的映射組合,按照映射組合處理策略 判斷所述第一差異粒度對應空間的第一數據與第二差異粒度對應空間的第二數據是否一 致; 若確定出所述第一差異粒度對應空間的第一數據與第二差異粒度對應空間的第二數 據一致,或者不一致,將所述一致或者不一致的結果信息攜帶在掃描響應中發(fā)送至所述源 LUN; 若無法確定出所述第一數據與第二數據是否一致,所述結果信息為差異不確定,則計 算所述第二數據的第一摘要信息,并將差異不確定的結果信息以及所述第一摘要信息攜帶 在所述掃描響應中發(fā)送至所述源LUN。
【文檔編號】G06F11/14GK105843709SQ201610217200
【公開日】2016年8月10日
【申請日】2016年4月8日
【發(fā)明人】楊飛飛, 扈海龍
【申請人】杭州宏杉科技有限公司