TWI786399B - 用於基於雲端的資料保護服務之後處理之非暫時性電腦可存取儲存媒體、方法及電腦系統 - Google Patents

用於基於雲端的資料保護服務之後處理之非暫時性電腦可存取儲存媒體、方法及電腦系統 Download PDF

Info

Publication number
TWI786399B
TWI786399B TW109114694A TW109114694A TWI786399B TW I786399 B TWI786399 B TW I786399B TW 109114694 A TW109114694 A TW 109114694A TW 109114694 A TW109114694 A TW 109114694A TW I786399 B TWI786399 B TW I786399B
Authority
TW
Taiwan
Prior art keywords
backup
data
block
blocks
service
Prior art date
Application number
TW109114694A
Other languages
English (en)
Other versions
TW202101237A (zh
Inventor
勞倫斯 傑明 張
丹尼爾 海契特
允和 鄭
浦貞 庫瑪
安柏 佩爾克
紘興 彭
考特布 山姆拜吉 帕蒂爾
里沙普 夏爾馬
Original Assignee
美商克魯密爾公司
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 美商克魯密爾公司 filed Critical 美商克魯密爾公司
Publication of TW202101237A publication Critical patent/TW202101237A/zh
Application granted granted Critical
Publication of TWI786399B publication Critical patent/TWI786399B/zh

Links

Images

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/1469Backup restoration techniques
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • 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
    • G06F11/1451Management of the data involved in backup or backup restore by selection of backup contents
    • 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
    • G06F11/1453Management of the data involved in backup or backup restore using de-duplication of the data
    • 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/1456Hardware arrangements for backup
    • 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
    • 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/1461Backup scheduling policy
    • 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/1479Generic software techniques for error detection or fault masking
    • G06F11/1482Generic software techniques for error detection or fault masking by means of middleware or OS functionality
    • G06F11/1484Generic software techniques for error detection or fault masking by means of middleware or OS functionality involving virtual machines
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/14Details of searching files based on file metadata
    • G06F16/144Query formulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/14Details of searching files based on file metadata
    • G06F16/156Query results presentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5083Techniques for rebalancing the load in a distributed system
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/083Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45595Network integration; Enabling network access in virtual machine instances
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/107License processing; Key processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • G06F21/567Computer malware detection or handling, e.g. anti-virus arrangements using dedicated hardware
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/815Virtual
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/03Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
    • G06F2221/033Test or assess software

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Software Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Databases & Information Systems (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Mining & Analysis (AREA)
  • Library & Information Science (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Bioethics (AREA)
  • Mathematical Physics (AREA)
  • Health & Medical Sciences (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Storage Device Security (AREA)
  • Photoreceptors In Electrophotography (AREA)
  • Reverberation, Karaoke And Other Acoustics (AREA)
  • Emergency Protection Circuit Devices (AREA)
  • Alarm Systems (AREA)

Abstract

本發明揭示一種基於雲端的資料保護服務。在一實施例中,該資料保護服務可支援來自與一或多個組織相關聯之一或多個站台的資料集之備份。在一實施例中,可支援跨一組織之多個站台及/或與不同組織相關聯之多個站台的備份資料之重複資料刪除。在一實施例中,可在該雲端中後處理備份資料以插入對應於自執行先前備份起未變更之資料區塊的指紋,掃描該備份以查找安全威脅,諸如病毒、其他惡意軟體、個人可識別資訊等。在一實施例中,可支援自該雲端還原,其中還原區塊可大於備份資料區塊。在另一實施例中,還原可基於自最近備份(或一使用者選定備份)起已變更之區塊。

Description

用於基於雲端的資料保護服務之後處理之非暫時性電腦可存取儲存媒體、方法及電腦系統
本文中所描述之實施例係關於一種基於雲端的資料保護服務。
用於資料中心之現有資料備份機制通常需要在每一資料中心中在本端安裝專用硬體及軟體。該硬體包括一或多個備份伺服器以及磁碟機、磁帶或上面將儲存備份資料之其他媒體。該硬體專用於備份且因此在不進行備份之時間期間閒置。另外,系統必須經設計以處置「最壞狀況」之備份量且因此對於典型的日常備份任務,常常為過度佈建的。因為該硬體在實體上位於資料中心中,所以過度佈建之系統必須由擁有資料中心之組織購買,此會增加組織之成本。
該軟體包括安裝於本端備份伺服器上之備份軟體。因此,為資料中心服務之資訊技術(IT)專業人員負責維護軟體,判定何時需要執行升級或修補,執行彼等升級/修補等。與維護備份系統有關之大量持續成本必須由組織承擔。
本發明之一實施例為一種非暫時性電腦可存取儲存媒體, 該非暫時性電腦可存取儲存媒體儲存形成可在一雲端中執行之一資料保護服務的複數個指令,其中該複數個指令在執行於一或多個電腦系統上使該一或多個電腦系統執行包含以下各者之操作:自站台接收對應於備份之第一資料描述符,其中用指紋部分地填入該第一資料描述符,該等指紋識別來自該站台之對應備份資料中的資料區塊,該備份資料用於自來自該站台之先前備份已變更的資料區塊;獲得對應於先前備份之第二資料描述符;及將來自第二資料描述符之指紋合併至第一資料描述符中之未填入位置中以完成第一資料描述符。
本發明之另一實施例為一種方法,其包含:自站台接收對應於備份之第一資料描述符,其中用指紋部分地填入該第一資料描述符,該等指紋識別來自該站台之對應備份資料中的資料區塊,該備份資料用於自來自該站台之先前備份已變更的資料區塊;獲得對應於先前備份之第二資料描述符;及將來自第二資料描述符之指紋合併至第一資料描述符中之未填入位置中以完成第一資料描述符。
本發明之另一實施例為一或多個電腦系統,該一或多個電腦系統中之每一者包含一或多個處理器,該一或多個處理器耦接至儲存複數個指令之非暫時性電腦可存取儲存媒體,該複數個指令在由該一或多個處理器執行時使該一或多個電腦系統執行包含以下各者之操作:自站台接收對應於備份之第一資料描述符,其中用指紋部分地填入該第一資料描述符,該等指紋識別來自該站台之對應備份資料中的資料區塊,該備份資料用於自來自該站台之先前備份已變更的資料區塊;獲得對應於先前備份之第二資料描述符;及將來自第二資料描述符之指紋合併至第一資料描述符中之未填入位置中以完成第一資料描述符。
8:公用雲端
10:資料保護服務
12:公用雲端
14A:組織站台
14B:組織站台
16:組織站台
18:組織站台
20:雲端帳戶/org1雲端/組織雲端
22:資料中心
24:儲存器/儲存器
26:本端代理程式
28:Org1雲端/組織雲端
30A:VM伺服器
30B:VM伺服器
32:虛擬中心(VC)
34A:虛擬機
34B:虛擬機
36:虛擬機
38A:虛擬磁碟
38B:虛擬磁碟
38C:虛擬磁碟
40A:虛擬磁碟檔案
40B:虛擬磁碟檔案
40C:虛擬磁碟檔案
50A:DB伺服器
50B:DB伺服器
54A:DB資料結構
54B:DB資料結構
60A:檔案伺服器
60B:檔案伺服器
62:檔案系統控制軟體/檔案系統
64:檔案系統資料/後設資料
70:詳細目錄服務
70a:儲存器
72:排程器服務
74:原則管理員服務
74a:原則定義儲存器
76:邊緣服務
78:目錄服務
78a:儲存器
80:備份服務
80a:儲存器
82:邊緣用戶端/代理程式
84:用戶端/備份代理程式
86:用戶端/詳細目錄代理程式
88:金鑰管理服務
90:公用雲端物件儲存器
92:使用者介面(UI)後端
93:UI伺服器
94A:訊息佇列
94B:訊息佇列
96:L1合併(L1M)服務
98:指紋查詢(FPQ)服務
98a:儲存器
99:任務管理員
100:指紋資料庫
102A:備份資料
102B:備份資料
102C:備份資料
104A:備份資料描述符
104B:備份資料描述符
104C:備份資料描述符
105A:備份後設資料
105B:備份後設資料
106:條目
108:條目
110:箭頭
120:參考編號/區塊
122:參考編號/區塊
124:參考編號/區塊
126:參考編號/區塊
130:參考編號/區塊
132:參考編號/區塊
134:參考編號/區塊
136:參考編號/區塊
138:參考編號/區塊
140:參考編號/區塊
142:參考編號/區塊
150:參考編號/區塊
152:參考編號/區塊
154:參考編號/區塊
156:參考編號/區塊
158:查詢結果
162:參考編號/L0資料
164:L0MD
170:參考編號/區塊
172:參考編號/區塊
174:參考編號/區塊
176:參考編號/區塊
178:參考編號/區塊
180:大括號/備份後處理
182:參考編號/區塊
184:參考編號/區塊
186:參考編號/區塊
188:參考編號/區塊
190:參考編號/區塊
192:參考編號/區塊
200:參考編號/區塊
202:決策區塊
204:決策區塊
206:參考編號/區塊
208:參考編號/區塊
210:參考編號/區塊
212:參考編號/區塊
213:參考編號/區塊
214:參考編號/決策區塊
216:參考編號/區塊
218:參考編號/區塊
220:參考編號/區塊
222:參考編號/決策區塊
224:參考編號/區塊
226:參考編號/區塊
230:參考編號/區塊
232:參考編號/區塊
234:參考編號/決策區塊
236:參考編號/區塊
238:參考編號/區塊
240:參考編號/區塊
242:參考編號/區塊
244:參考編號/區塊
246:參考編號/決策區塊
250A:VM執行個體
250B:VM執行個體
250C:VM執行個體
252A:區塊儲存器
252B:區塊儲存器
252C:區塊儲存器
260:檔案索引
262:檔案索引
270:參考編號/決策區塊
271:參考編號/決策區塊
272:參考編號/區塊
273:參考編號/區塊
274:參考編號/區塊
276:參考編號/區塊
278:參考編號/區塊
280:參考編號/區塊
282:參考編號/區塊
288:參考編號/區塊
290:參考編號/區塊
292:參考編號/區塊
294:參考編號/區塊
296:參考編號/區塊
300:參考編號/區塊
302:參考編號/區塊
304:參考編號/區塊
306:參考編號/區塊
310:參考編號/區塊
312:參考編號/區塊
314:參考編號/QCDA結果
320:參考編號/區塊
322:參考編號/區塊
324:參考編號/區塊
326:參考編號/區塊
328:參考編號/區塊
330:參考編號/區塊
332:參考編號/區塊
334:參考編號/區塊
336:參考編號/區塊
338:參考編號/區塊
340:參考編號/區塊
342:參考編號/區塊
344:參考編號/區塊
346:參考編號/區塊
348:參考編號/區塊
350:參考編號/區塊
400:電腦可存取儲存媒體
1110:運算裝置
1112:儲存子系統
1120:網路
1130:輸入/輸出(I/O)介面
1132:網路介面
1140:I/O裝置
1150:處理單元
1160:互連件
以下實施方式參看隨附圖式,現簡要描述該等隨附圖式。
圖1為說明基於雲端的資料保護服務之一個實施例的方塊圖。
圖2為說明基於虛擬機(VM)之資料中心之一個實施例的方塊圖。
圖3為說明基於資料庫(DB)之資料中心之一個實施例的方塊圖。
圖4為說明基於檔案系統之資料中心之一個實施例的方塊圖。
圖5為針對一實施例更詳細地說明圖1之資料保護服務的方塊圖。
圖6說明由資料保護服務產生之備份資料結構之一個實施例的實例。
圖7為說明用以執行備份之資料中心中之備份代理程式的一個實施例之操作的流程圖。
圖8為由備份代理程式之一個實施例產生之資料的實例。
圖9為說明用以執行備份之備份服務的一個實施例之操作的流程圖。
圖10為說明圖9中之「還原及驗證」區塊的一個實施例之操作的流程圖。
圖11為說明圖10中之「還原回至VM執行個體」區塊的一個實施例之操作的流程圖。
圖12為針對一實施例說明在多個備份完成時藉由啟動多個虛擬機之可擴展性的方塊圖。
圖13為說明檔案索引資料之一個實施例的方塊圖。
圖14為說明用於執行自備份至資料中心之還原的備份服務之一個實施例之操作的流程圖。
圖15為說明用於執行還原操作之備份代理程式的一個實施例之操作的流程圖。
圖16為說明檔案索引中之檔案搜尋的一個實施例之操作的流程圖。
圖17為說明針對所說明區塊之t0與t1之間的QCDA之結果之實例的方塊圖。
圖18為說明用於基於變更之還原的備份服務之一個實施例之操作的流程圖。
圖19為說明用於基於變更之還原之備份代理程式的一個實施例之操作的流程圖。
圖20為電腦可存取儲存媒體之一個實施例的方塊圖。
圖21為說明電腦系統之一個實施例的方塊圖。
雖然本發明中所描述之實施例可能易受各種修改及替代形式影響,但在圖式中作為實例來展示其特定實施例,且將在本文中對其進行詳細描述。然而應理解,該等圖式及其詳細描述並不意欲將實施例限於所揭示之特定形式,而正相反,意圖涵蓋屬於隨附申請專利範圍之精神及範圍內的所有修改、等效物及替代例。本文中所使用之標題僅出於組織性目的且並不意謂用以限制本說明書之範圍。如貫穿本申請案所使用,詞 「可」係以許可之意義(亦即,意謂有可能)而非強制性之意義(亦即,意謂必須)來使用。類似地,詞「包括(include、including及includes)」意謂「包括但不限於」。如本文中所使用,除非特定陳述,否則術語「第一」、「第二」等用作其之後的名詞的標記,且並不不暗示任何類型之定序(例如,空間、時間、邏輯等)。
在本發明內,可將不同實體(其可被不同地稱作「單元」、「電路」、其他組件等)描述或主張為「經組態」以執行一或多個任務或操作。此表述-經組態以[執行一或多個任務]之[實體]-在本文中用以指結構(亦即,實體的某物,諸如電子電路或儲存可執行以實施任務之程式指令的記憶體)。更具體而言,此表述用以指示此結構經配置以在操作期間執行一或多個任務。結構可據稱為「經組態以」執行一些任務,即使該結構當前未在操作亦如此。因此,描述或敍述為「經組態以」執行某一任務之實體係指實體的某物,諸如裝置、電路、儲存可執行以實施任務之程式指令的記憶體等。此片語在本文中並不用以指無形的某物。類似地,為便於描述,可將各種單元/電路/組件描述為執行一或多個任務。此等描述應解釋為包含片語「經組態以」。術語「經組態以」並不意欲意謂「可組態以」。
在隨附申請專利範圍中敍述經組態以執行一或多個任務之單元/電路/組件或其他結構明確地意欲不援引35 U.S.C.§ 112(f)對彼主張元件之解譯。因此,如申請之本申請案中的申請專利範圍中無一者意欲解譯為具有構件加功能元件。若申請人希望在審查期間援引章節112(f),則其將使用「用於[執行功能]之構件」建構來列舉主張元件。
如本文所使用,術語「基於」或「取決於」用以描述影響 判定之一或多個因素。此術語並不排除額外因素可影響判定之可能性。亦即,判定可僅基於指定因素或基於指定因素以及其他未指定因素。考慮片語「基於B判定A」。此片語指定B為用以判定A或影響A之判定的因素。此片語並不排除A之判定亦可基於某一其他因素,諸如C。此片語亦意欲涵蓋A僅基於B判定之實施例。如本文中所使用,片語「基於」與片語「至少部分地基於」同義。
本說明書包括對各種實施例之參考,以指示本發明並不意欲指一個特定實施方案,而是屬於包括隨附申請專利範圍之本發明之精神內的一系列實施例。可以與本發明一致之任何合適方式來組合特定特徵、結構或特性。
本說明書可使用詞「一(a或an)」以指一元件,或使用「該」以指該元件。此等詞並不意欲意謂僅存在元件之一個執行個體。在各種實施例中,可存在多於一個執行個體。因此,除非明確地描述為僅一個,否則「一(a/an)」及「該」應解譯為意謂「一或多個」。
本申請案主張2019年4月30日申請之美國臨時專利申請案第62/840,569號之優先權益。上述申請案以全文引用的方式併入本文中。若上述申請案中之任何內容與本文中明確闡述之內容相衝突,則以本文中明確闡述之內容位準。
綜述(圖1至圖4)
圖1至圖4提供基於雲端的資料保護服務之綜述。該資料保護服務可提供備份服務,且在一些實施例中可提供額外服務。額外服務可包括但不限於掃描備份以查找病毒、惡意軟體、個人可識別資訊(PII)等。 因為資料保護服務係在公用雲端中提供及維護,所以組織可能不負責維護備份服務軟體(例如,升級、錯誤修補等)之成本及後勤。另外,可隨選地為組織提供資料保護服務,且因此可消除使用現場硬體及軟體執行資料保護之低效率。資料保護服務可如組織之資料保護要求所保證而動態地擴充及減小公用雲端中之容量。
資料保護服務可為組織之資料提供多種資料保護。資料保護服務可包括例如備份服務。備份服務可基於由組織指派之備份原則而提供組織資料之備份。備份資料可儲存於公用雲端中。可加密備份資料以保護資料,以免在儲存於公用雲端中時或在公用雲端與組織站台之間傳輸時被第三方觀察到。亦可壓縮備份資料以減小儲存器使用量及將資料儲存於公用雲端中之成本。經由壓縮減小備份資料之大小亦可減小在將資料傳輸至公用雲端時所消耗的網路頻寬。
在各種實施例中,資料保護服務亦可提供其他資料保護。舉例而言,資料保護服務可掃描備份以查找潛在的安全威脅。舉例而言,可提供惡意軟體掃描。一般而言,惡意軟體可為在電腦上執行操作之並非由擁有電腦之組織所預期或授權的任何軟體。該等操作具有惡意意圖。亦即,該等操作可能意欲引起損害。該等操作通常可能會損害電腦、與該電腦網路連接之其他電腦或電腦之使用者(例如,以竊取個人資訊之形式,諸如可用於身分竊取之金融帳戶資訊或個人資料)。惡意軟體可具有多種形式。舉例而言,病毒為一種形式之惡意軟體。病毒可為導致破壞受感染之電腦上之資料或試圖導致破壞與該電腦網路連接之其他電腦上之資料的程式。病毒亦可經設計以將自身傳播至其他電腦。其他類型之惡意軟體可包括勒索軟體,其加密電腦資料或以其他方式使資料不可用於電腦之使用 者,直至向惡意軟體傳播者支付勒索費用。惡意軟體亦可包括試圖定位電腦上之有價值資料的各種形式之軟體,該資料諸如可用於身分竊取之金融帳戶資料或個人可識別資訊。其他惡意軟體可監視使用者與電腦之互動以試圖識別及俘獲有價值資料,諸如密碼、帳號等(例如,間諜軟體)。通常使用各種形式之隱身或詭計來安裝惡意軟體,使得使用者通常無法感知到惡意軟體被安裝,至少直至惡意軟體能夠執行且導致損害。因此,掃描惡意軟體可保護資料免受惡意軟體之影響及/或可准許在偵測到感染時自先前未感染備份恢復。
另一資料保護服務可為偵測備份資料中之個人可識別資訊(PII)。PII可包括金融帳戶資訊(例如,信用卡帳戶、支票帳戶、儲蓄帳戶等)、密碼及可用以直接自使用者竊用之其他資料。其他PII資料可包括向第三方識別使用者之資料,且此可用以模擬使用者自第三方竊用(例如,使用身分竊取以用使用者名稱開立信用帳戶,此可最終在使用者證明其實際上未開立賬戶時導致信用損失)。向第三方識別使用者之PII資料可包括任何類別之政府發佈的識別符,諸如身分證號碼、駕駛執照號碼、護照號碼等。PII資料可進一步包括其他資料,諸如地址資訊、電話號碼、電子郵件地址等。
由於資料保護服務位於公用雲端中,因此其通常同時可用於多個組織。亦即,資料保護服務可為多租戶的,以使用服務之同一執行個體為多個組織提供資料保護服務。
實施於組織站台中之傳統的現場備份機制通常可在設計時進行取捨以最大化執行備份時的效能。另一方面,資料保護服務可經設計以進一步確保成本效率。舉例而言,可存在可用於公用雲端中之不同類別 的儲存器,該等儲存器可具有與其相關聯的不同貨幣成本。此等成本可顯著地變化,例如,一種類型之儲存器的成本可為另一類型之儲存器的多倍。舉例而言,倍數可為約6至8倍,或甚至為數量級。類似地,可存在用於獲得公用雲端中之運算資源的多個機制,其中之每一者可具有相關聯成本。當獲取額外處理資源以滿足需求時,資料保護服務可試圖最佳化額外處理資源之成本。
基於雲端的資料保護服務可使用雲端中可用之處理資源擴展至高需求等級,以動態擴充與為給定組織及/或資料保護服務之多個租戶提供資料保護所需一樣多的量。一旦滿足需求,便可釋放處理資源,從而縮減至更小的處理資源以在較低需求等級下繼續操作。
圖1為說明位於公用雲端12上之資料保護服務10之一個實施例的方塊圖。資料保護服務10可經組態以為在組織之一或多個站台處產生的資料提供資料保護。舉例而言,第一組織可具有站台14A及14B。另外,第一組織可在公用雲端12內具有其自身的雲端帳戶20,該帳戶可將雲端運算資源用於執行由該組織使用之各種應用程式而非執行現場資料中心中之彼等應用程式。第二組織可具有諸如站台16之一或多個站台,且第三組織可具有諸如站台18之一或多個站台。第一、第二及第三組織可為資料保護服務10之租戶。在一實施例中,第一組織亦可在不同公用雲端中具有帳戶(例如,另一公用雲端8,其中Org1雲端28屬於第一組織)。另一公用雲端8可由不同公用雲端提供者提供。資料保護服務10亦可為Org1雲端28提供資料保護服務。一般而言,公用雲端可為由組織提供為供其他組織使用之服務的任何雲端。在一些狀況下,組織或組織群組可具有私用雲端。雖然在本文中使用公用雲端作為實例,但在適當時,可使用私用雲端 或簡單地使用雲端。
組織之每一站台可包括資料中心,諸如展示於組織站台14A中之資料中心22。因此,站台通常可包括實體位置,屬於組織之資料中心可置放於該實體位置處。資料中心可包括執行由組織使用之軟體的一或多個電腦系統(「伺服器」),該一或多個系統可產生儲存於一或多個儲存裝置24上之資料。該軟體亦可儲存於儲存裝置24上。儲存裝置24可包括可由電腦讀取/寫入之任何類型的非暫時性電腦資料儲存器。舉例而言,儲存裝置24可包括一或多個磁碟機。磁碟機可為基於磁性之驅動機(例如,「硬碟機」;基於光學之驅動機,諸如緊密光碟或數位視訊磁碟機;由各種形式之基於積體電路之非揮發性記憶體(例如,快閃記憶體)形成的固態磁碟機等。儲存裝置24可包括其他形式之記憶體,包括揮發性記憶體,諸如隨機存取記憶體(靜態隨機存取記憶體或「SRAM」)、動態隨機存取記憶體或「DRAM」等)。在各種實施例中,可使用任何類型及/或組合之儲存裝置。因此,資料中心通常包括任何組態之運算資源,該等運算資源可在站台處提供以為彼站台處之使用者提供任何類別之運算服務。亦即,資料中心包括至少一個電腦(例如,伺服器)且可包括多於一個電腦或伺服器以及一或多個儲存裝置。
資料中心22通常可支援由站台14A處之各種其他裝置存取。舉例而言,使用者可具有各種電腦以存取資料中心22且執行軟體以在組織內執行使用者之功能。使用者電腦可包括膝上型電腦、桌上型電腦、平板電腦、諸如智慧型手機之行動裝置,或網路連接至資料中心之伺服器使得使用者可叫用由伺服器執行之軟體的其他電腦系統。資料中心22之各種實例展示於圖2至圖4中。
在一實施例中,資料保護服務10可使用組織站台14A至14B、16及18中之本端代理程式(例如,說明於圖1中之組織站台14A中的本端代理程式26)。本端代理程式26可與資料保護服務10互動以實施由資料保護服務10供應之資料保護。更特定而言,備份服務可包括自資料中心22至公用雲端12及資料保護服務10中之儲存器的資料路徑,該資料路徑可包括本端代理程式26。當組織向資料保護服務10註冊時,本端代理程式26可由組織之IT專業人員安裝。本端代理程式26一旦經安裝,資料保護服務10通常便可能夠自動地升級及維護該本端代理程式,而無需組織之IT專業人員參與,且因此可最小化對組織及其IT專業人員的需求。本端代理程式26可對來自資料保護服務10之請求作出回應以提供來自資料中心22之備份資料。
舉例而言,本端代理程式26可經組態以判定哪些資料區塊自最近備份起已變更,壓縮及加密該等區塊,以由資料保護服務10使用之格式組譯該等區塊,且將經組譯資料寫入至公用雲端儲存器。資料保護服務10可將訊息傳輸至本端代理程式26以執行以上動作中之每一者,從而更新來自儲存裝置24之給定資料集。
在一實施例中,當給定資料區塊之內容已由資料保護服務10儲存於公用雲端12內別處(例如,在各種實施例中,儲存於不同備份、來自不同站台之不同備份或甚至來自不同組織之不同備份中)時,資料保護服務10可支援資料區塊之重複資料刪除。替代儲存資料區塊之另一複本,資料保護服務10可支援追蹤資料區塊內容且儲存資料區塊之一個複本的機制,該複本可由來自該站台、組織之不同站台等的不同資料集之多個備份參考。本端代理程式26可與資料保護服務10互動以識別內容已由資 料保護服務10儲存之區塊且自備份資料排除彼等區塊,從而有利於參考已儲存之資料區塊。在一個實施例中,可支援固定區塊重複資料刪除及/或可變長度重複資料刪除中之一者或兩者。下文將提供額外細節。
在一實施例中,資料保護服務10可試圖最少化本端代理程式26參與整個備份操作之時間。資料保護服務10可在自本端代理程式26接收到備份資料之後執行多種後處理任務,從而自組織之視角有效地宣告備份完成,而資料保護服務10繼續在備份上進行處理。舉例而言,後處理可包括用識別自先前備份尚未變更之區塊的資料更新備份後設資料。後處理可包括還原備份及驗證備份。後處理可包括先前所論述之惡意軟體掃描。後處理亦可包括產生檔案索引以支援檔案層級還原,該檔案索引識別備份資料內之各種檔案。
在一實施例中,資料保護服務10可支援整個備份資料集或備份資料集內之檔案的還原。當還原整個備份資料集時,資料保護服務10可使用公用雲端資源還原備份資料集(例如,當使用重複資料刪除時,組譯來自各種增量備份及/或來自其他備份資料集之資料區塊)。資料保護服務10可壓縮及加密還原區塊中之資料,該還原區塊可大於用於備份及重複資料刪除偵測之資料區塊。較佳壓縮結果可常常藉由較大還原區塊達成,且由於資料集可被視為依序資料,因此使用較大區塊可能更高效。可用臨時金鑰加密還原區塊,可將臨時金鑰金鑰提供至本端代理程式26以解密區塊。可將還原區塊置放於待由本端代理程式26存取之公用雲端儲存器中。
在一個實施例中,資料保護服務10可基於資料中心22處之資料集的當前狀態與正用於執行還原之備份之間的差異而支援基於變更之還原。類似於建立增量備份,其中僅將自先前備份起已變更之區塊包括於 增量備份中,資料保護服務10可使用資料中心22處之變更追蹤以判定哪些區塊在資料集之當前狀態與正還原之備份之間已變更。基於變更之還原可針對已變更之每一區塊而自備份獲得區塊,且僅將彼等區塊還原至當前資料集。尚未變更之區塊無需被組譯,儲存於雲端儲存器中且由本端代理程式26擷取。基於變更之還原可導致資料集之狀態傳回至備份時之狀態,而無需複製整個資料集。
一般而言,公用雲端12可包括一組運算資源及儲存器,其可由第三方公用雲端提供者維護且在按需收費基礎上經由公用網路(諸如,網際網路)使得可用於公用雲端12之使用者。存在多種公用雲端提供者。舉例而言,由Amazon,Inc.(Seattle,WA)提供之Amazon網路服務(AWS)為公用雲端12。其他實例包括由Microsoft Corporation(Redmond,WA)提供之Azure服務、由Oracle Corporation(Redwood City,CA)提供之Oracle雲端、Google LLC(Mountain View,CA)之Google雲端等。可使用任何公用雲端提供者。另一公用雲端8可為以上公用雲端提供者中之任一者,除了另一公用雲端8之提供者可不同於公用雲端12以外。
資料保護服務10可在公用雲端12上執行,從而使用公用雲端之運算資源以執行資料保護服務且使用公用雲端之儲存器以儲存用於由資料保護服務10伺服之組織的備份資料。亦即,資料保護服務10可由除擁有公用雲端之組織以外的組織提供,且提供資料保護服務10之組織可為不同於擁有站台14A至14B、16及18之組織的組織。
給定組織(例如,擁有站台14A至14B之組織)亦可在公用雲端12中具有雲端帳戶(例如,圖1中之org1雲端20)。該組織可具有使用公用雲端運算資源執行且亦可具有儲存於公用雲端12中之資料的各種軟體。 資料保護服務10亦可經組態以備份來自組織雲端20之資料。舉例而言,公用雲端12可支援准許另一雲端帳戶存取給定雲端帳戶內之資料的應用程式設計介面(API)。該組織可准許資料保護服務10使用API以自雲端帳戶俘獲資料以用於備份。舉例而言,AWS雲端可支援准許資料存取之身分及存取管理(IAM)角色,且組織可經由IAM角色授與權限以准許資料保護服務10備份來自組織雲端20之資料。特定而言,IAM角色可用以列出在組織雲端20中之虛擬機,擷取虛擬機之快照且複製快照資料。
在另一公用雲端8之狀況下,與本端代理程式26類似之機制可用以俘獲來自組織雲端28之資料。亦即,組織之IT專業人員可在組織雲端28中安裝本端代理程式,該本端代理程式可自資料保護服務10接收訊息以備份來自組織雲端28之資料。Org1雲端20及Org1雲端28兩者通常可被視為可由資料保護服務10執行備份之站台。在一個實施例中,本端代理程式可僅具有寫入其自身備份資料之權限且不具有讀取/寫入其他客戶資料之權限。在寫入備份資料之後,本端代理程式可能不具有讀取備份資料之權限。在一實施例中,可自資料保護服務10起始還原,且資料保護服務10可預處理備份資料並建立本端代理程式可具有存取權限之備份資料的還原複本。可在某一段時間之後自動刪除還原複本。還原複本經加密及壓縮,且因此僅負責還原之本端代理程式可具有純文字金鑰以出於還原目的而解密還原複本。
資料保護服務10經組態以儲存不同實體或實體群組(在本文中被稱作組織)之資料。亦即,如上文所提及,資料保護服務10為多租戶的。資料保護服務10使每一租戶或組織之資料與在本文中被稱作組織ID或OrgID之識別資訊相關聯。OrgID准許資料保護服務10區分不同租戶之 資料,且在適當時保持對應於特定OrgID之資料與對應於其他OrgIDs之資料分開。
資料保護服務10允許建立新的租戶或組織,其各自具有其自身的OrgID。資料保護服務10內之租戶或組織的資料為與用於彼租戶或組織之OrgID相關聯的所有資料。因此,租戶或組織之概念為擴充的概念,其係指已請求或確定資料保護服務10應將資料集視為相異於正由資料保護服務10處置之其他資料(亦即,具有不同OrgID之資料)的任何實體。
應注意,租戶或組織之法律地位或組成與資料保護服務10無關。資料保護服務10接收建立用於組織之帳戶的請求,建立用於彼等組織之OrgID,接收與彼等OrgID相關聯之資料,且接著繼續進行以為彼資料執行資料保護,而無關於租戶或組織為何者。
在一些狀況下,組織為諸如公司之法律實體,且資料保護服務10藉由單個OrgID識別彼法律實體之所有資料。在其他狀況下,組織可為法律實體之分部(例如,公司之會計部門)。一些實體可藉由資料保護服務10為實體之不同部分建立多個OrgID(例如,會計部門、銷售部門及工程部門可各自具有分開的OrgID)。一般而言,實體可根據彼實體之需要及/或需求而選擇為其資料設置一或多個OrgID。舉例而言,特定實體可在其資料站台中之一或多者處選擇為不同虛擬機、檔案系統或其他資料分區設置不同OrgID。替代地,由實體擁有之每一站台可為具有資料保護服務10之不同組織,或站台之群組可為單個組織(例如,地理區內之站台)。
然而,組織無需對應於單個商業實體或其部分。多個法律實體可選擇在單個OrgID下使用資料服務10保護其集合資料。非商業實體在資料保護服務10之上下文中可為組織。因此,個人群組或甚至單個個人 可為使用資料保護服務10儲存資料之組織。
雖然資料保護服務10內之OrgID必定為唯一的,但在一些狀況下,OrgID可具有准許資料保護服務10及/或其他服務、程式等理解某些OrgID彼此具有某種關係的格式。如上文所提及,公司可能希望為公司之不同部分建立不同OrgID。若OrgID具有格式<實體><分部>或其類似者,則此將允許此等部分中之每一者具有OrgID之相同<實體>值,但在資料保護服務10內仍具有唯一的整體OrgID,此係因為<分部>值將針對彼實體之每一部分而變化。此格式化可有助於藉由資料保護服務10促進某些類型之功能性。然而,在其他實施方案中,每一OrgID可為唯一的且與資料保護服務10內之任何其他OrgID具有不可辨別的關係。
圖2為組織站台14A之一個實施例的方塊圖,其中資料中心22為虛擬機資料中心。在此實施例中,該資料中心包括:多個虛擬機(VM)伺服器,諸如伺服器30A至30B;及虛擬中心(VC)32,其管理虛擬機在VM伺服器30A至30B上之執行。亦即,VC 32可對各種虛擬機進行排程以用於在VM伺服器30A至30B上執行(例如,圖2中之虛擬機34A至34B,及包括本端代理程式26之虛擬機36)。
VM伺服器30A至30B可為執行虛擬機伺服器軟體且支援虛擬機之執行的電腦系統。舉例而言,VM伺服器30A至30B可執行由Dell Technologies Inc.(Round Rock,TX)之子公司VMWare Inc.供應的ESX虛擬機軟體。可使用來自其他供應商(例如,Oracle、Microsoft等)之其他虛擬機軟體。在各種實施例中,VC 32可由VM伺服器30A至30B或專用於VC 32之分開伺服器執行。
虛擬機可為電腦系統之仿真。可針對虛擬機定義虛擬硬體 之任何集合(例如,許多處理器、叢集或處理器、周邊裝置等)。當在VM伺服器30A至30B中之一者上執行虛擬機時,可在VM伺服器軟體之控制下將虛擬硬體映射至VM伺服器30A至30B中之實體硬體。若虛擬機中之裝置不存在於VM伺服器30A至30B中,則可對此等裝置進行軟體仿真。
每一虛擬機可包括至少一個虛擬磁碟,且給定虛擬機可具有多於一個虛擬磁碟。舉例而言,圖2中之虛擬機34A包括兩個虛擬磁碟vd1及vd2(圖2中之參考編號38A至38B),且虛擬機34B包括一個虛擬磁碟vd3(圖2中之參考編號38C)。虛擬磁碟可儲存由虛擬機執行之作業系統以及虛擬機之使用者所需的應用程式軟體。虛擬磁碟可進一步儲存經由執行軟體而由使用者產生(或在執行軟體期間由使用者使用)之各種資料。在組織中且在站台14A處之每一使用者可具有使用者執行以在組織中執行彼使用者之功能的虛擬機。使用者可具有介接至資料中心22並叫用虛擬機之電腦,且電腦之顯示器可由虛擬機之輸出驅動,因此其向使用者呈現為如同電腦正執行由使用者使用之應用程式軟體。然而,軟體可實際上在代管於VM伺服器30A至30B上之虛擬機內執行(視需要與其他虛擬機共用時間)。
虛擬機可由可儲存於儲存器24上之一或多個組態檔案(未圖示)描述。另外,每一虛擬磁碟38A至38C作為各別檔案40A至40C儲存於儲存器24上。因此,虛擬機之備份可包括對應於虛擬機之組態檔案及虛擬磁碟檔案。
虛擬磁碟檔案40A至40C之內容可為儲存於虛擬磁碟上之資料區塊。邏輯上,區塊可按自虛擬磁碟檔案之開頭的位移零至檔案結尾之虛擬磁碟上之最後位移的次序來儲存。舉例而言,若虛擬磁碟為100百萬位元組(MB),則虛擬磁碟檔案之大小為100MB,其中位移為0之位元組 在邏輯上位於檔案之開頭且位移為100MB之位元組在檔案之結尾。檔案中之區塊的實際實體佈局可為不同的,且可能存在表示虛擬磁碟之多於一個檔案。在虛擬磁碟上之區塊的邏輯次序與表示虛擬磁碟之一或多個檔案中之區塊的實體置放之間可存在間接層級。虛擬磁碟檔案可存在多個實體格式,且虛擬機可出於虛擬機之效率及/或效能而視需要選擇實體格式。在一實施例中,虛擬機可管理區塊之實體置放及擷取。本端代理程式26可向虛擬機請求邏輯區塊,且虛擬機可傳回來自一或多個虛擬磁碟檔案之區塊。
在此實施例中,本端代理程式26亦在虛擬機36內執行。本端代理程式26可能夠在虛擬機36經排程時與VC 32通信,以便探索站台14A處之其他虛擬機34A至34B,請求虛擬機34A至34B之快照,自虛擬磁碟檔案40A至40C及VM組態檔案讀取資料以進行備份,等等。下文將針對一些實施例提供額外細節。
圖3為組織站台14A之一個實施例的方塊圖,其中資料中心22為資料庫系統。在此實施例中,資料中心22包括多個資料庫(DB)伺服器,諸如伺服器50A至50B。每一DB伺服器50A至50B可代管一或多個資料庫,且彼等資料庫中之資料可儲存於儲存器24上。每一DB伺服器50A至50B可具有儲存於儲存器24上之一或多個DB資料結構。舉例而言,DB資料結構54A可為由DB伺服器50A管理之資料庫資料,且DB資料結構54B可為由DB伺服器50B管理之資料庫資料。代管給定資料庫之DB伺服器50A至50B可自站台14A處之使用者接收待在給定資料庫上執行之各種交易,且可協調在交易中表示之更新及查詢。資料庫資料結構54A至54B可包括各種表,該等表可由各種金鑰索引且可為關係或非關係建構、物件 導向式建構等。
本端代理程式26可與DB伺服器50A至50B通信以備份DB資料結構54A至54B。舉例而言,本端代理程式26可請求DB伺服器50A至50B暫時停止接受針對給定資料庫之新交易,完成任何未完成的交易且擷取DB資料結構54A至54B之快照以供資料保護服務10進行備份。
圖4為組織站台14A之一個實施例的方塊圖,其中資料中心22為可存取站台14A中之其他使用者裝置的檔案系統。在此實施例中,資料中心22包括:多個檔案伺服器,諸如伺服器60A至60B;及檔案系統控制軟體62,其在檔案伺服器60A至60B上執行且提供對檔案系統之存取。在指派給使用者之各種權限的控制下,使用者可經由呈現給檔案系統62之檔案系統命令存取及更新儲存器24上之資料。可使用任何類型之檔案系統,諸如由VMWare虛擬機系統使用之虛擬機檔案系統(VMFS)、網路檔案系統(NFS)、Andrew檔案系統(AFS)、諸如檔案配置表(FAT)或NT檔案系統之各種Windows®作業系統檔案系統、由蘋果電腦及行動裝置使用之蘋果檔案系統等。在此實施例中,檔案系統資料及後設資料64可為待由資料保護服務10備份之資料。
本端代理程式26可與檔案系統62通信以備份檔案系統資料/後設資料64。舉例而言,本端代理程式26可請求檔案系統62暫時停止檔案系統更新,且關閉檔案以建立檔案系統之一致複本,可擷取複本之快照以供資料保護服務10進行備份。在各種實施例中,檔案系統62可在快照已發生之後及/或在備份完成之後重新繼續接受檔案更新。
對於本發明之其餘部分,將使用圖2中所說明之基於虛擬機之資料中心作為實例。然而,資料保護服務10之許多特徵亦可同樣應用於 資料庫或檔案系統實施例,且此等實施例涵蓋於本發明之精神內。
實例資料保護服務(圖5)
圖5為更詳細地說明資料保護服務10及本端代理程式26之實施例的方塊圖。在圖5中,將公用雲端12展示為與資料保護服務10分開以說明為公用雲端12之部分但由資料保護服務10使用的某些服務及儲存器。然而,資料保護服務10自身使用雲端運算資源在如先前所論述之公用雲端12中執行。
在所說明之實施例中,資料保護服務10包括詳細目錄服務70、排程器服務72、原則管理員服務74、邊緣服務76、目錄服務78、備份服務80、指紋查詢(FPQ)服務98、L1合併(L1M)服務96、任務管理員99、使用者介面(UI)後端92及UI伺服器93。本端代理程式包括邊緣用戶端82、備份代理程式84及詳細目錄代理程式86。公用雲端12包括金鑰管理服務88及物件儲存器90。資料保護服務10中之一些服務包括對應儲存器,諸如詳細目錄服務70(儲存器70a)、原則管理員服務74(儲存器74a)、目錄服務78(儲存器78a)、備份服務80(儲存器80a)及FPQ服務98(儲存器98a)。儲存器70a、74a、78a、80a及98a可為由公用雲端12支援之區塊儲存器(例如,AWS公用雲端中之彈性區塊存放區或「EBS」)。類似於用於磁碟機及其類似者之存取模型,區塊儲存器可支援基於區塊之儲存及存取機制。物件儲存器90(例如,簡單的儲存服務,或AWS公用雲端中之「S3」儲存器)支援基於物件之儲存模型,其中物件可作為完整物件置放於儲存器中(「放置」)且自儲存器讀取(「取得」)。
區塊儲存器可為延時低於物件儲存器90之隨機存取儲存器,但亦可能花費更多的費用來支付給提供公用雲端12之公用雲端提供 者。舉例而言,在一實施例中,區塊儲存器之費用可為物件儲存器90之費用的6至8倍。因此,對於可能無需快速存取之資料及/或對於要長時間留存但不頻繁存取之資料,諸如備份資料,可使用物件儲存器90。可較頻繁地存取之資料及/或需要低延時以支援效能之資料可儲存於區塊儲存器上。
組織之IT專業人員可使用UI伺服器93與資料保護服務10互動。舉例而言,UI伺服器93可連接至熟知的端點位址,諸如擁有資料保護服務10之組織(「資料保護組織」)之網站的通用資源定位符(URL)。IT專業人員可使用例如在IT專業人員之電腦上或在IT專業人員之虛擬機中運行的網頁瀏覽器連接至UI伺服器93。UI伺服器93可將內容提供至瀏覽器以向IT專業人員顯示,從而准許IT專業人員視組織需要來組態資料保護服務10。瀏覽器/UI伺服器93可充當「單個玻璃窗格」以用於IT專業人員與資料保護服務10之間的互動,從而簡化用於組織之資料保護的組態及維護。UI伺服器93可與UI後端92通信以與資料保護服務10(及資料保護服務10內之各種服務,例如,如圖5中所說明)互動。在一實施例中,資料保護組織可發佈一組公用應用程式設計介面(API),該等公用應用程式設計介面可由指令碼或IT專業人員叫用之其他程式使用以實施本文中所描述之各種操作。在各種實施例中,可使用API及與UI伺服器93之互動的組合。
最初,IT專業人員可使用UI伺服器93註冊資料保護服務10,從而藉由資料保護組織建立帳戶。作為註冊之部分,UI伺服器93可提示IT專業人員下載本端代理程式26且將本端代理程式26安裝於資料中心22中(及視需要安裝於對應於組織之其他站台處的任何其他資料中心中)。UI伺服器93亦可提供唯一地識別站台(例如,站台14A)之符記。當 IT專業人員安裝本端代理程式26時,安裝程序可請求由本端代理程式26提供至資料保護服務10之符記。一旦安裝了本端代理程式26,便可在很大程度上減輕IT專業人員使資料保護服務10保持更新之責任。包括圖5中所展示之各種服務的資料保護服務10自身可在公用雲端12上升級,且無需涉及組織站台或在彼處的任何安裝。另外,在一實施例中,邊緣服務76/邊緣用戶端82可視需要協作以升級備份代理程式84及詳細目錄代理程式86。在一實施例中,大部分邊緣用戶端82可為亦可經由邊緣服務76升級的。可存在一小段程式碼實際上更新本端代理程式26內之程式碼,此可能需要手動升級。在此類狀況下,可通知IT專業人員重新安裝本端代理程式26。然而,預期此類升級將為不頻繁的。
可提供一組訊息佇列94A至94B以促進本端代理程式26與資料保護服務10之間的通信。訊息佇列94A可為自資料保護服務10接收用於本端代理程式26之訊息的「下行佇列」,而訊息佇列94B可為可將訊息自本端代理程式26攜載至資料保護服務10之「上行佇列」。本端代理程式26(且更特定而言,用戶端/代理程式82、84及86)可經組態以輪詢訊息佇列94A以詢問針對每一用戶端/代理程式之訊息,且可經組態以用提供至資料保護服務10之任何訊息來寫入訊息佇列94B。因此,在每一狀況下,可由本端代理程式26發起與本端代理程式26之通信,該通信可遵守組織之防火牆/安全規則(例如,相較於自訊息佇列94A推送來自資料保護服務10之訊息)。在一實施例中,每一用戶端/代理程式82、84及86可具有分開的一組訊息佇列94A至94B,且因此如圖5中所說明之訊息佇列94A至94B可表示多個上行佇列及多個下行佇列。在其他實施例中,亦可使用共用訊息佇列實施例。訊息佇列94A至94B可用於具有小資料有效負載之相對較小 的控制請求/回應訊息。可經由物件儲存器90傳輸較大資料傳送,例如給定備份操作之備份資料。
詳細目錄代理程式86/詳細目錄服務70可協作以執行含有本端代理程式26之站台的詳細目錄,以探索存在於站台上之虛擬機及每一虛擬機之組態。更特定而言,詳細目錄服務70可經由訊息佇列94A將訊息發送至詳細目錄代理程式86,以請求詳細目錄。詳細目錄代理程式86可與VC 32通信,該VC維護站台中之虛擬機的清單及虛擬機之組態。詳細目錄代理程式86可接收清單且可經由訊息佇列94B將清單傳回至詳細目錄服務70。詳細目錄服務70可將虛擬機名稱及其虛擬磁碟組態記錄於區塊儲存器70a中。可在組織第一次註冊服務時進行詳細目錄檢查以取得初始詳細目錄。可稍後再次進行詳細目錄檢查以用任何新增之虛擬機或刪除之虛擬機更新清單,以及俘獲現有虛擬機組態之變更。在一實施例中,詳細目錄亦可俘獲非VM物件,且詳細目錄亦可俘獲此等物件之建立、刪除或更新。舉例而言,可按如由IT專業人員指定之週期性間隔及/或按由資料保護服務10之組態判定之最小間隔進行詳細目錄檢查。在一些實施例中,IT專業人員亦可經由UI伺服器93手動地觸發詳細目錄檢查。對於其他類型之資料中心,可執行詳細目錄檢查以識別待備份之資料集。舉例而言,檔案系統可為資料集,或檔案系統之子集,諸如檔案系統之各種磁碟區。資料庫可為資料集,或資料庫之子集,諸如特定表或表群組。非VM物件可包括各種VM組織結構,包括但不限於:VM叢集、VM資料夾、標籤及類別(可指派給VM以供VM之系統管理員用以定位及識別VM之金鑰-值對)、VM網路等。
IT專業人員亦可為虛擬機或其他資料集定義一組備份原 則。可基於各種虛擬機/資料集中之資料對組織的重要性來指定多種原則。舉例而言,相比效能較低之資料,可更頻繁地備份高重要性的資料。該等原則可指定備份頻率、備份之保留要求、是否針對每一備份產生檔案索引,等等。UI伺服器93可為IT專業人員提供定義原則之介面,且UI後端92可與原則管理員服務74通信以俘獲原則定義。除指定原則以外,IT專業人員可將原則附加至詳細目錄中之虛擬機/資料集,該等原則說明為區塊儲存器70a中之原則欄位。UI後端92可回應於IT專業人員將原則指派給一或多個給定虛擬機或變更指派給一或多個給定虛擬機之原則而將原則標記傳輸至詳細目錄服務70。可將原則自身儲存於原則定義儲存器74a中,且可變更原則而不變更標記以更新應用於用彼原則標記之每一虛擬機的原則。
排程器服務72可掃描區塊儲存器70a上之詳細目錄及區塊儲存器74a中之原則定義以判定何時將執行給定虛擬機/資料集之下一次備份。在所判定時間,排程器服務72可將自站台14A備份一或多個虛擬機/資料集之請求傳輸至備份服務80。
對於來自排程器服務72之每一備份請求,備份服務80可與備份代理程式84協調以執行備份。備份代理程式84可判定虛擬磁碟中自最近備份起已修改之區塊,傳輸用於經變更區塊之指紋以執行重複資料刪除,組譯備份資料並將其放置於物件儲存器90中,且將用於物件儲存器90中之備份資料的物件識別符傳達至備份服務80。一旦已接收到物件識別符,便可假定備份由本端代理程式26/組織站台14A完成,即使可能存在由備份服務80進行之產生完整備份記錄及執行備份之驗證從而掃描惡意軟體及其他安全問題等的後處理亦如此。下文針對各種實施例提供關於備 份服務80及備份代理程式84之操作的額外細節。以類似方式,可備份諸如檔案系統或其部分或資料庫或其部分之其他資料集。備份服務80可在儲存器80a上維護備份資料庫(BU DB)以儲存與已執行之備份有關的各種資料。舉例而言,可針對每一備份將指派給給定虛擬磁碟之檔案識別符可儲存於儲存器80a中,以准許重新產生物件識別符,從而獲得備份資料。替代地,可針對備份資料庫中之每一備份儲存各種物件識別符。備份服務80可為每一備份指派備份識別符(ID),且備份資料庫中與給定備份相關聯之條目可包括備份ID。目錄服務78可記錄每一備份之備份ID以用於稍後搜尋/擷取備份。
在一實施例中,可以加密形式儲存備份資料。備份服務可使用由公用雲端12提供之金鑰管理服務88以獲得金鑰來執行加密。在一實施例中,金鑰管理服務88可提供純文字金鑰及對應於該金鑰之密碼文字(cipher text)。備份服務80可將純文字金鑰提供至備份代理程式84以加密區塊,但僅可與備份資料一起儲存密碼文字使得可稍後擷取金鑰以用於解密。因此,在進行加密或解密時,純文字金鑰僅可在短時間段內可用(且因此會公開)。金鑰管理服務88可記錄已將哪些金鑰提供至公用雲端12中之哪些服務,且可准許資料保護服務10基於密碼文字獲得金鑰,此係因為金鑰管理服務88先前已回應於新金鑰請求而將金鑰提供至資料保護服務10。除來自金鑰管理服務88之密碼文字以外,資料保護服務10亦可接收金鑰ID,且可在稍後將金鑰ID及密碼文字(以及亦與資料保護服務10相關聯之識別符)提供至金鑰管理服務88以擷取純文字金鑰。金鑰管理服務88可為公用雲端12中之受保護服務,且可能需要資料保護服務10註冊使用金鑰管理服務88之憑證,以便與金鑰管理服務88通信。另外,一旦已提 供及審查憑證,金鑰管理服務88便可僅在驗證密碼文字及其他識別符後提供先前所提供之金鑰。
如先前所提及,資料保護服務10可為多租戶的。資料保護服務10內之服務可同時為已註冊資料保護之所有組織提供資料保護。為了負載平衡,給定服務可在內部啟動額外執行個體以改善平行處理,且可視需要在負載減小時刪除額外執行個體。然而,該等執行個體並不專用於特定組織。實情為,當每一執行個體完成事件之處理時,該執行個體可處置待服務之下一事件,而無關於對應組織。
雖然圖5之論述使用虛擬機作為實例,但其他實施例可備份其他類型之資料集。舉例而言,檔案系統62可具有所定義之各種邏輯磁碟區,或儲存有資料之任何其他形式的邏輯/結構組織。可產生原則並將其應用於磁碟區/其他組織,且排程器服務72可基於指派給檔案系統結構之原則對備份進行排程。備份服務80可與備份代理程式84協調以備份檔案系統資料。在資料庫實施例中,由DB伺服器50A至50B代管之各種資料庫可具有指派給其之原則,使得備份亦可經排程及執行。
資料保護服務10內之各種服務可直接以各種方式通信,如由圖5中在服務之間的箭頭所說明。另外,可提供任務管理員99以管理總體任務且向服務通知針對服務可作出反應之任務而發生的事件。舉例而言,虛擬機之給定備份可為任務,且可被指派任務ID。排程器服務72可對給定備份之完成作出反應,使得其可記錄該完成。目錄服務78可藉由用對應於給定備份之備份識別符(其可用以自備份服務80獲得用於由給定備份建立之L1、L0及/或L0MD結構的物件識別符,以例如用於還原操作)更新目錄來對完成作出反應。任務管理員99通常可負責管理任務、指派任務 ID且追蹤由服務報告之關於任務的事件。
應注意,雖然展示本端代理程式26之一個執行個體,給定站台可視需要部署本端代理程式之多個執行個體以增加來自給定站台處之多個虛擬機之備份的平行性。在一實施例中,例如,本端代理程式26之多個執行個體可用以備份具有多個虛擬磁碟之給定虛擬機。亦即,本端代理程式26之每一執行個體可備份來自給定虛擬機之不同虛擬磁碟。該等執行個體可獨立於彼此操作(例如,其無需通信,亦無需協調其活動)。另外,本端代理程式26可回應於來自資料保護服務10之指令而操作,且因此資料保護服務10可自由管理本端代理程式26以最佳化備份操作。舉例而言,本端代理程式26之執行個體可具有不同儲存頻寬。資料保護服務10可在將備份任務指派給本端代理程式26時考慮可用儲存頻寬(例如,將較大備份資料集指派給具有較高儲存頻寬之本端代理程式)。
備份操作(圖6至圖13)
資料保護服務10可產生各種資料結構以備份來自各種組織站台之資料。在一個實施例中,由資料保護服務10建立之資料結構包括圖6中所展示之結構。該等資料結構可包括:指紋資料庫100;備份資料,諸如備份資料102A至102B;備份資料描述符,諸如備份資料描述符104A至104C;及備份後設資料,諸如備份後設資料105A至105B。
可對組織站台處之資料集執行備份。資料集可為資料之任何邏輯分組。舉例而言,在諸如圖2中所展示之實施例的實施例中,資料集可為用於虛擬機之虛擬磁碟。在諸如圖3中所展示之實施例的實施例中,資料集可為資料庫。資料集亦可為資料庫之一部分,諸如來自資料庫之一或多個表。在圖4中所展示之實施例中,資料集可為檔案系統。資料 集亦可為檔案系統之磁碟區,或檔案系統中之資料的任何其他邏輯或結構組織。在此論述中,虛擬磁碟將用作實例,但可定義其他資料集用於其他實施例。
資料保護服務10可出於備份目的而定義資料區塊(「備份資料區塊」)。每一資料集可分成多個備份資料區塊。資料集之初始備份資料區塊可處於資料集中之邏輯位移零處,其後接著在為備份資料區塊之大小之邏輯位移處開始的第二備份資料區塊,其後接著在為備份資料區塊之大小兩倍之邏輯位移處的第三備份資料區塊,其後接著在為備份資料區塊之大小三倍之邏輯位移處的第四備份資料區塊等。亦即,資料集可為備份資料區塊之依序清單。備份資料區塊之大小可為固定的(但可壓縮被儲存以用於備份之實際備份資料集中的備份資料區塊,且因此在所儲存資料集中之大小可能會變化)。舉例而言,對於一個實施例,備份資料區塊之大小可為16千位元組(kB)。其他實施例可使用較大或較小備份資料區塊。
資料保護服務10可使用對應於備份資料區塊之指紋以用於備份資料區塊之重複資料刪除,在備份資料描述符中識別備份資料區塊,等等。指紋可為表示資料區塊之內容的值,且可產生為資料區塊值之雜湊。指紋可具有對於資料區塊為唯一的高統計可能性(例如,所謂的九成九可能,或99.999999999%可能)。亦即,兩個不同資料區塊雜湊至同一指紋之衝突的可能性較小。然而,在缺乏此衝突之情況下,指紋可唯一地識別對應資料區塊值。指紋亦可被稱作區塊標籤,此係因為例如其為仍識別較大資料區塊值之較小值。
在各種實施例中,指紋可具有任何大小。舉例而言,在一個實施例中,用於16kB備份資料區塊之指紋可為40個位元組。可視需要 在其他實施例中使用較大或較小指紋,甚至對於相同大小的備份資料區塊亦如此。指紋之大小可基於經執行以產生指紋之雜湊操作。亦即,在本實例中,16kB區塊可雜湊至40個位元組。
除後設資料105A至105B以外,備份資料描述符104A至104C亦可為另一形式之備份後設資料。亦即,備份資料描述符可描述備份資料。在一實施例中,在執行初始完整備份之後,備份可為增量的。因此,在給定備份中實際俘獲之備份資料102A至102B可僅包括自先前備份起已變更之備份資料區塊。另外,在一實施例中,資料保護服務10應用資料之重複資料刪除。藉由重複資料刪除,通常儲存備份資料區塊之一個複本,即使其可能出現在隨時間俘獲之備份資料集中的多個位置中(或甚至給定備份資料集內之多個位置中)亦如此。更特定而言,在一實施例中,資料保護服務10可跨組織之多個站台執行重複資料刪除,且因此可儲存備份資料區塊之一個複本,即使其可出現在組織之多個站台處亦如此。在一實施例中,資料保護服務10可跨多個組織使用重複資料刪除,且因此可儲存備份資料區塊之一個複本,即使其可出現在屬於多個組織之站台處亦如此。在每一狀況下,對應於給定時間點之資料集的備份資料可能實際上不包括資料集中之所有備份資料區塊。備份資料描述符可指示整個資料集之內容。為了實際上獲得整個資料集,可查閱在不同時間及/或自不同站台或組織俘獲之多個備份資料集。
在所說明之實施例中,備份資料描述符可為識別形成資料集之備份資料區塊的指紋之清單。備份資料描述符中之指紋的次序為資料集中之資料區塊的邏輯次序。該等指紋可結合指紋資料庫100使用以定位備份資料區塊,該等備份資料區塊可駐存於不同備份資料102A至102B 中。
對於基於虛擬機之實施例,資料集可為與給定虛擬機相關聯之虛擬磁碟。因此,虛擬機實施例之備份資料描述符可為在特定時間點之備份虛擬磁碟的描述符。在圖6中,備份資料描述符104A可對應於在時間t0之VM1 vd1(圖2中之參考編號38A/40A)的備份;備份資料描述符104B可對應於在不同時間t1之VM1 vd1的備份;且備份資料描述符104C可對應於在時間t3之VM2 vd3(圖2中之參考編號38C/40C)的備份。在每一資料描述符中列出之第一指紋可為對應虛擬磁碟之邏輯位移0,且隨後列出之指紋可對應於虛擬磁碟內之增加的邏輯位移。雖然在圖6中針對每一資料描述符104A至104C展示六個指紋,但省略號可存在額外指紋。舉例而言,對於16kB備份資料區塊及100MB虛擬磁碟,對應資料描述符可包括6250個指紋(相較於基數2,假定百萬位元組係以如在儲存行業中常見的基數10量測,亦即,100MB為100,000,000位元組)。
指紋資料庫100可用以跨組織之多個站台及/或跨多個組織實施備份資料之重複資料刪除,且在由資料保護服務10維護之備份資料內定位經重複資料刪除之資料區塊。指紋資料庫100可針對每一指紋包括一條目,該指紋對應於儲存於由資料保護服務10維護之備份資料102A至102B中的備份資料區塊。該條目可儲存指紋,且可儲存針對儲存備份資料區塊之備份資料102A至102B的物件識別符(L0 Obj ID)。舉例而言,條目106具有用於備份資料102A之物件ID,而條目108具有用於備份資料102B之物件ID。指紋資料庫100中之每一條目亦可儲存組織之組織識別符(OrgID),備份資料區塊係自該組織備份。組織可選擇是否參與跨組織重複資料刪除。對於不參與之每一組織,有可能同一指紋可存在於資料庫 100中之額外條目中(例如,對於每一組織,至多一個條目),且對應備份資料區塊可出現在多於一個備份資料102A至102B中。在另一實施例中,資料保護服務10可能不實施跨組織重複資料刪除,且因此每一組織可在屬於彼組織之備份資料102A至102B中具有給定備份資料區塊之其自身的複本。
跨組織之多個站台及/或跨多個組織執行重複資料刪除可導致總體上由資料保護服務10儲存之資料量的甚至較大減少。由於資料儲存於公用雲端12中且存在儲存資料之相關聯成本,因此所儲存資料量減少可導致資料保護服務10之擁有者及使用資料保護服務10之組織兩者節省成本且提高效率。應注意,可對資料區塊之內容產生指紋,之後對彼資料區塊執行壓縮及加密。因此,指紋可用以針對可使用不同演算法或加密金鑰壓縮或加密之L0進行重複資料刪除。
對於一實施例,備份資料102A更詳細地展示於圖6中。在此實施例中,備份資料可經組織為用於在備份資料中表示之備份資料區塊的指紋之清單,其後接著備份資料區塊自身。每一指紋可具有定位備份資料102A至102B中之對應備份資料區塊的相關聯位移(例如,圖6中之指紋A或FPA的位移可指向備份資料102A中之備份資料區塊A的位置,如由圖6中之箭頭110所指示)。
如先前所提及,在一實施例中,可壓縮及加密備份資料區塊。因此,儲存於備份資料102A至102C中之備份資料區塊可具有相關聯之密碼文字,該密碼文字可用以識別用來加密備份資料區塊之金鑰(例如,可將密碼文字呈現給金鑰管理員服務88以獲得對應金鑰)。另外,在一實施例中,資料保護服務10可支援多於一種壓縮演算法,且備份資料區 塊可具有識別使用哪一壓縮演算法之相關聯指示符。在備份資料102A之頭部處的CT欄位可包括用於備份資料102A之資料區塊的密碼文字及/或壓縮識別符。
在一個實施例中,給定備份操作可產生備份資料102A至102B之多於一個執行個體。舉例而言,可在給定備份期間將備份資料102A至102B組譯至某一大小,且接著可將備份資料102A至102B儲存至公用雲端12,且可針對同一備份啟動另一備份資料102A至102B。在備份操作期間及之後,備份資料102A至102B之給定執行個體的最大大小可基於各種效率考慮因素。舉例而言,除原始複本以外,虛擬磁碟之完整備份亦將導致虛擬磁碟中之每一備份資料區塊的複本在本端儲存於組織站台處,直至備份資料102A至102B寫入至物件儲存器90。對於大型虛擬磁碟,在將完整備份寫入至公用雲端12之前儲存複本所需的記憶體之量可能過多,且可能甚至超過資料中心之容量。組譯備份資料之一部分且將其寫入至公用雲端12同時繼續組譯額外備份資料可降低本端記憶體要求。另外,用於給定虛擬磁碟之備份處理程序可作為多個處理程序之管線執行:組譯備份資料區塊之處理程序,及將經組譯資料寫入至公用雲端12之另一處理程序。產生多個備份資料102A至102B(其中之一些可被寫入,而其他者被組譯)可有助於保持處理程序之管線同時忙碌。給定備份後設資料105A至105B可為用於對應於特定備份之備份資料102A至102B的識別符之清單。舉例而言,該等識別符可為用於公用雲端物件儲存器90中之備份資料102A至102B的物件ID。
可以多種方式使用備份後設資料105A至105B。在完成用給定備份中之指紋更新指紋資料庫100之前,備份後設資料105A至105B可 用以自給定備份執行還原。亦即,對應於在用於給定備份之備份資料102A至102B中俘獲的備份資料區塊之指紋尚未在指紋資料庫100中表示,且因此在指紋資料庫100中可能未找到彼等指紋之查詢。備份後設資料105A至105B可用以定位備份資料102A至102B,可掃描該備份資料以定位指紋。另外,甚至在指紋資料庫100已更新(且因此備份資料區塊可經由對指紋資料庫100之查詢進行定位)之後,在還原操作期間首先搜尋用於備份之備份資料102A至102B(如由對應於正還原之備份的備份後設資料105A至105B識別)接著查詢指紋資料庫100以查找還原所需之任何剩餘備份資料區塊(若存在)可能更高效。
在一個實施例中,指紋資料庫100可儲存於可由資料保護服務10存取之區塊儲存器(例如,圖5中之區塊儲存器98a)中。備份資料描述符104A至104C、備份後設資料105A至105B及備份資料102A至102B可為儲存於公用雲端12中之物件儲存器90中的物件。如先前所提及,物件儲存器90可比公用雲端12中之區塊儲存器顯著便宜,且因此將相對較大、相對較不頻繁存取之備份資料102A至102B、備份後設資料105A至105B及備份資料描述符104A至104C儲存於物件儲存器中可具成本效益。頻繁存取之指紋資料庫100可出於效能而儲存於區塊儲存器中。在一個實施例中,指紋資料庫100可為AWS公用雲端上可用的DynamoDB。使用不同公用雲端之其他實施例可具有其他資料庫。
為簡潔起見,在本說明書之其餘部分中,備份資料描述符104A至104C可被稱作L1資料且備份資料102A至102B可被稱作L0資料,如圖6中所說明。備份後設資料105A至105B可被稱作L0後設資料或L0MD,如圖6中所說明。
圖7為說明用以執行虛擬機備份之資料中心中之備份代理程式84的一個實施例之操作的流程圖。在一個實施例中,備份代理程式84為無狀態的,且可回應於由備份服務80經由訊息佇列94A至94B發出之一系列命令而執行圖7中之操作。在一實施例中,備份及還原管線包括檢查點。若代理程式84出於任何原因(例如,由於升級)而重新啟動,則備份及還原操作可自最近檢查點重新啟動。備份代理程式84可包含在執行於資料中心中之電腦上時使電腦執行根據圖7中所說明之操作的指令。該等指令可回應於由備份服務80發出之命令。
在圖7中所說明之操作之前,資料中心之IT專業人員可能已向資料保護服務10註冊。當進行資料中心之詳細目錄檢查且探索到虛擬機時,執行完整備份且針對VC 32中之虛擬機啟用變更追蹤(使得可判定已在備份之間變更的每一虛擬磁碟之部分)。
備份代理程式84可與VC 32通信以擷取虛擬機之快照(參考編號120)。若在請求彼快照時虛擬機正在執行中,擷取虛擬機之快照通常可包括使虛擬機靜止,使得將虛擬機之狀態保存至儲存器24。快照可接著俘獲用於虛擬機之虛擬磁碟的狀態以及定義虛擬機之組態檔案。一旦俘獲了快照,虛擬機便可重新繼續執行。
備份代理程式84可查詢VC 32中之變更區塊追蹤服務以判定虛擬磁碟之哪些部分在最近備份之後已變更(參考編號122)。舉例而言,在VMWare中,可支援查詢變更磁碟區域(圖7中之查詢CDA,或甚至QCDA)以判定變更區域。其他虛擬機超管理員可具有類似服務。此外,檔案系統及/或資料庫亦可使用變更追蹤。在一些實施例中,可對與由資料保護服務10使用之備份資料區塊大小不同的區塊大小執行變更區塊追 蹤。舉例而言,可按可大於備份資料區塊大小之磁區粒度或磁碟區塊粒度來執行變更區塊追蹤。在此狀況下,由查詢報告之每一經變更區塊可產生多個備份資料區塊。備份代理程式84可處理來自變更區塊追蹤服務之結果以判定虛擬磁碟內之哪些備份區塊已變更且因此待備份。備份代理程式84可自虛擬磁碟讀取變更資料且將該資料分成備份資料區塊(參考編號124)。
備份代理程式84可針對每一變更備份資料區塊產生一指紋,從而將雜湊函數應用於資料。如先前所提及,可使用任何雜湊函數(參考編號126)。備份代理程式84可將包括用於經變更區塊之指紋的指紋查詢傳輸至資料保護服務10(參考編號126)。更特定而言,在一實施例中,可將指紋查詢提供至指紋查詢服務98,該指紋查詢服務可存取儲存器98a中之指紋資料庫100。舉例而言,指紋查詢可為指紋之清單。指紋查詢服務98可比較每一指紋與指紋資料庫100。若在指紋資料庫100中偵測到匹配指紋,則備份資料區塊之複本儲存於先前備份資料中且無需再次俘獲。因此,在本實施例中,使指紋與指紋資料庫100匹配可用以實施重複資料刪除。取決於組織准許之重複資料刪除的等級,可能已自虛擬磁碟上之不同區塊位置、不同虛擬機、不同組織站台及/或不同組織俘獲備份資料區塊之複本。指紋查詢服務98可將指紋查詢結果傳回至備份代理程式84,該指紋查詢結果指示每一所查詢指紋是否存在於指紋資料庫100中。指紋查詢結果可為存在/不存在指示之向量,提供於隨指紋查詢一起傳輸之清單中的每一指紋一個指示。存在/不存在指示可為例如位元,其中設定狀態指示存在且清除狀態指示不存在(或反之亦然)。在各種實施例中,可使用任何指示。
備份代理程式84可選擇備份資料區塊,其對應的指紋經指示為不存在於指紋查詢結果中、壓縮區塊並且加密區塊(參考編號130、132及134)。來自備份服務80之使備份代理程式84執行壓縮之命令可包括由金鑰管理服務88提供之明文金鑰及對應的密碼文字,且備份代理程式84可使用明文金鑰加密區塊。在一實施例中,可支援多個壓縮方案。備份代理程式84可以任何所需方式在壓縮方案當中選擇。舉例而言,備份代理程式84可嘗試第一壓縮方案,且若經實現壓縮量大於預定臨限值,則可使用第一壓縮方案之結果。若經實現壓縮量不大於預定臨限值,則可嘗試第二壓縮方案,直至已經使用經支援方案或壓縮量超過閾值為止。在另一實施例中,可嘗試每一壓縮方案,且可使用實現最高壓縮之方案的結果。在另一實施例中,可分析資料以預測哪一壓縮方案將對資料表現最佳且可使用預測方案。
備份代理程式84可組譯用於備份之L1資料、L0MD及L0資料(參考編號136)。更特定言之,備份代理程式84可提供部分填充之L1,其中已變更之備份資料區塊之指紋包括在L1內之對應於各別備份資料區塊之位移處。可不填充對應於不變的備份資料區塊之L1的部分。舉例而言,在一實施例中,有效的指紋可為非零。亦即,指紋資料之位元組中之至少一個位元可針對任何有效的指紋設定。在此實施例中,所有零位元組之指紋可經提供在L1中之未填充位移中。替代地,每一位移可包括指紋及指示是否存在指紋之有效的指示(例如,有效位元)。未填充位移可具有設定為無效之有效的指示。L0可為對應於經變更區塊之指紋的清單,經變更區塊與經變更區塊(更特定言之,經壓縮及經加密之經變更區塊)自身串連。L0中之每一指紋可運用指向L0中之對應的區塊之位移來增強。L0 之標頭包括對應於用於加密區塊之金鑰的密碼文字、經使用壓縮方案之指示等等。
備份代理程式84可將L0、L0MD及L1資料放置在公用雲端12之物件儲存器90中(參考編號138)。放置可為物件寫入,且寫入器(例如,在此狀況下為備份代理程式84)可指派物件ID且將物件ID及該物件傳輸至公用雲端12。舉例而言,物件ID可被稱作AWS公用雲端中之金鑰,且物件自身為與金鑰相關聯之值。備份代理程式84因此可將唯一物件ID指派至每一物件,該備份代理程式將每一物件放置在公用雲端12中。備份代理程式84可具有用以指派物件ID之任何機構。舉例而言,備份代理程式84可將唯一檔案ID指派至經備份之每一虛擬磁碟。檔案ID可在每當虛擬磁碟經備份時為不同的,且可在經指派給相同組織之檔案ID當中為唯一的。在一實施例中,檔案ID可經附加其他已知資料以生成每一物件ID,使得備份代理程式84及備份服務80兩者可能夠在備份操作期間及在諸如需要還原時的隨後時刻來生成物件ID。備份服務80可將檔案ID連同識別特定備份之備份ID儲存在儲存器80a上之備份資料庫中。替代地,物件ID可儲存在儲存器80a上之備份資料庫中以用於隨後擷取。公用雲端12可傳回成功/失敗結果以指示物件已經成功地儲存在物件儲存器90中。物件儲存器90中之實際位置(及儲存方式,例如資料之複寫等等)在公用雲端12外部可不為已知的,但使用來自將物件放置在物件儲存器90中之實體之金鑰的獲取可用於傳回物件。
備份代理程式84可將L0、L1及L0MD物件ID提供至備份服務80(參考編號140)。替代地,備份代理程式84可為備份提供檔案ID,備份服務80可自檔案ID生成物件ID。一旦備份代理程式84提供物件ID或檔 案ID,則自組織視角可完成該備份。備份代理程式84可向VC 32指示可刪除VM快照(參考編號142)。在一實施例中,各種後處理可藉由備份服務80執行,如在下文更詳細地論述,以完全地完成備份。
如先前所提及,備份代理程式84可包含並行地操作之多個程序以執行圖7中所說明之各種操作。因此,舉例而言,可與將先前加密之資料區塊組譯至L0中並行地,壓縮並加密區塊。一旦L0達到預定大小,則L0可被放置至物件儲存器且物件ID可在L0MD中經俘獲。一旦完成備份,則可放置L1及L0MD。因此,在此實施例中,給定備份可產生一或多個L0、一個L1及一個L0MD。可就備份資料區塊之數目而言或就實際儲存量而言來量測L0之最大大小,取決於每一備份資料區塊之壓縮的成功程度,該L0可為備份資料區塊之可變數目。
對於一個實施例,圖8為時間t1處之VM1虛擬磁碟1(vd1)的備份之實例。展示先前備份時間t0處之區塊位移0至5之vd1中的例示性備份資料區塊(參考編號150),以及時間t1處之彼等相同位移中之備份資料區塊(參考編號152)。用於表示區塊之備份資料區塊表示區塊之內容(例如,字母A指示第一內容,字母B指示不同於第一內容之第二內容等等)。若相同內容出現在不同區塊中,則相同字母用於彼等區塊。
如圖8說明,位移0、1及2處之備份資料區塊在時間t0與t1之間不變(亦即區塊A、B及C)。位移3、4及5處之區塊已經在t0與t1之間變更。特定言之,位移3處之區塊已經自D變更為A。亦即,位移3處之區塊現在與位移0處之區塊具有相同內容。位移4及5處之區塊已自時間t0處之E及F變更為時間t1處之G及H。時間t1處之QCDA結果對於位移0、1及2處之區塊為0(指示不變),且對於位移3、4及5處之區塊為1(指示變更) (參考編號154)。在其他實施例中,在QCDA結果中,1可指示不變並且0可指示變更。
對於圖8中所說明之vd1的部分,存在三個經變更區塊且因此指紋查詢包括三個指紋:自區塊A生成之FPA、自區塊G生成之FPG及自區塊H生成之FPH(參考編號156)。若vd1之其餘部分中存在更多經變更區塊(圖8中未展示),則彼等指紋將亦包括在指紋查詢中。用於虛擬磁碟之部分的多個指紋查詢可用於支援藉由如上文所提及之備份代理程式84執行的操作之管線化。
在該實例中,查詢結果指示對於FPA存在(參考編號A,若其不在某一先前時間自vd1或不同虛擬磁碟/虛擬機備份,則至少在時間t0處備份)。用於指紋FPG及FPH之結果指示不存在。存在經說明為查詢結果158中之P,並且不存在經說明為NP。在一實施例中,存在可由經設定位元指示,並且不存在可由清除位元指示,或反之亦然。應注意,在一些實施例中,當區塊A在vd1虛擬磁碟自身中複製時,若給定區塊為來自不同虛擬磁碟處之相同站台處或來自相同組織(或甚至不同組織)之不同站台處之區塊的複本,則給定區塊可經指示為存在(且因此去除複製)。
備份代理程式84生成部分填充之L1,其包括位移3、4及5處之指紋FPA、FPG及FPH。前三個位移(0,1及2)未經填充,此係由於彼等區塊在時間t0與時間t1之間不變。L0資料(參考編號162)包括指紋FPG及FPH,以及區塊G及H,此係由於區塊A存在於先前備份資料中。
備份代理程式84亦可生成用於備份之L0MD 164。在此狀況下,生成一個L0 162,且因此L0MD 164可包括用於L0 162之一個物件ID。在其中生成用於給定備份之多於一個L0物件之其他狀況下,L0MD 164將包括用於其他L0物件之額外物件ID。
圖9為說明備份服務80(及在一實施例中,某些相關服務)之一個實施例的操作之流程圖,該操作用以執行虛擬機自組織(或在其他實施例中,任何其他資料集,諸如檔案系統或其部分,或資料庫或其部分)的資料中心之備份。備份服務80可包括在公用雲端12中之電腦上執行時使電腦執行如圖9中所說明之操作的指令。
如上文所提及,在一實施例中,備份代理程式84可回應於來自備份服務80之一系列命令以執行在資料中心中進行之備份之部分。備份服務80可發出命令(參考編號170)。命令之發出可與圖9中所說明之其他操作並行地進行。亦即,並非所有命令需要在開始備份時發出。命令可批量發出。舉例而言,在一些狀況下,可發出命令直至備份代理程式84可將通信傳輸至備份服務80(例如,指紋查詢)。替代地,命令可個別地發出並完成,或可存在與圖9中所展示之操作並行地實施圖7中之每一操作的命令之各別群組,該等命令可作為群組發出並完成。
指紋服務98可自備份代理程式84接收指紋查詢(參考編號172)且可針對每一指紋查詢指紋資料庫100(參考編號174)。若組織不參與跨組織去除複製,則該查詢可包括用於組織的組織識別符,該組織擁有正執行備份之站台。替代地,若該組織確實參與跨組織去除複製,則該查詢可為「通配的」,使得若指紋匹配,即使組織識別符係用於不同組織,亦可針對指紋資料庫100中之條目偵測到關於指紋之匹配。
如先前所提及,資料保護服務10可為多租戶的,且因此指紋資料庫查詢可同時自多個組織接收。另外,具有多個站台之組織可同時自各種站台傳輸查詢,及/或在給定站台處進行之多個備份可傳輸查詢。 資料保護服務10可嘗試使查詢負載平衡並且在指紋查詢服務98內動態地添加執行個體以管理負載。然而,在一些狀況下,查詢及查詢內指紋之數目可大於可管理的數目。在一實施例中,指紋查詢服務98可針對查詢中之指紋之子集查詢指紋資料庫100,並且向未經查詢之指紋報告「不存在」。若實際上存在未經查詢之指紋,則仍可實現正確結果,但可能最終會出現藉由資料保護服務10維護之備份資料中之對應資料區塊的多於一個複本(亦即去除複製可能不如其原本那樣完整)。在一實施例中,給定組織、站台或虛擬機接收用於查詢之「存在」結果的頻率之歷史可用於判定自給定指紋查詢選擇多大的子集(例如,查詢中之較高百分比的「存在」結果可指示應選擇當前查詢的較大子集,此係由於頻繁地偵測到複製)。
指紋查詢服務98可傳回指紋查詢結果(參考編號176)。隨後,備份服務80可自備份代理程式84接收L0、L0MD及L1物件ID(或用於對應的虛擬磁碟之檔案ID)(參考編號178)。如先前所提及,一旦L0、L0MD及L1資料已經儲存(放置)至公用雲端12中之物件儲存器90,且備份代理程式84將用於物件之物件ID/檔案ID遞送至備份服務80,則自組織視角,可完成備份。亦即,自備份之恢復在完成備份後之任何時間均為可能的,即使未完成在公用雲端12中藉由資料保護服務10/備份代理程式80執行之備份後處理。圖9中之流程圖的其餘部分因此可為備份後處理(藉由大括號180指示)。
備份後處理可包括運用在備份中俘獲之區塊的指紋來更新指紋資料庫100。備份服務80可使用L1物件ID自物件儲存器90獲取L1(參考編號182)。獲取可為自物件儲存器90之讀取,且可包括經讀取物件之物件ID。物件儲存器90可傳回與彼物件ID及實體相關聯之物件。備份服務 80可掃描部分填充之L1以識別新的指紋。亦即,部分填充之L1中之指紋可與指紋資料庫100(具有或不具有OrgID,取決於組織准許之去除複製的程度)以識別哪些指紋識別新的資料區塊。在一實施例中,備份服務80可將指紋查詢傳輸至指紋查詢服務98以識別哪些指紋對應於新的資料區塊。在圖8之實例中,指紋FPA包括在位移3處,因為彼位移處之資料區塊已變更,但彼指紋已經包括在指紋資料庫100中且因此不添加該指紋(並且亦不存在由備份代理程式84提供之L0資料中之區塊A的資料)。新的指紋及OrgID可連同含有資料之對應的區塊之L0資料物件的物件ID插入至指紋資料庫100中(參考編號182)。如先前所提及,可存在用於給定備份之多個L0資料物件。在一實施例中,備份服務80亦可自物件儲存器90獲取L0資料物件,且可針對給定指紋掃描L0物件以識別哪一L0物件ID與指紋相關聯。在圖8之實例中,指紋FPG及FPH以及用於L0 162之物件ID可以此方式添加至指紋資料庫100。應注意,因為資料保護服務10為多租戶的且來自多個站台及/或組織之備份可同時行進,所以有可能,將在完成備份時表示當指紋查詢係藉由備份代理程式84傳輸時不在指紋資料庫100中表示之指紋(例如,由於完成同時運行的備份而插入)。此類指紋可能在更新指紋資料庫100時呈現為複本,且因此可能不類似於圖8之實例中之指紋FPA來添加。
備份後處理可包括將來自先前備份之L1資料與由備份代理程式84提供之部分填充之L1合併以提供用於備份之完整L1。在其他實施例中,備份代理程式84可提供完整的L1且可能不需要合併。然而,准許備份代理程式84提供部分填充之L1可允許備份代理程式84避免生成用於尚未變更之資料區塊之指紋,從而可改良效率。
經由圖9中之區塊184、186及188說明L1資料的合併。備份服務80可與目錄服務78通信以獲得用於相同虛擬機之最近備份的備份ID,且可將備份ID至物件ID映射至先前L1。亦即,備份服務80可將備份資料庫維持在儲存器80a中,且可使用備份ID來定位用於先前備份之檔案ID,物件ID可自該檔案ID導出。替代地,物件ID可儲存在備份資料庫中。在其他實施例中,目錄可直接儲存L1、L0MD及L0物件ID。備份服務80可使用物件ID自物件儲存器90獲取L1(參考編號184)。備份服務80可運用來自先前L1中之對應的位移之指紋來替代用於當前備份之部分填充之L1中的每一無效指紋,從而合併用於未經變更區塊之指紋以建立用於當前備份之完整L1(參考編號186)。備份服務80可將完整的L1放置回至物件儲存器90,從而運用完整的L1覆寫部分填充之L1(參考編號188)。
備份服務80可將更新傳輸至目錄服務78(參考編號190),從而為備份提供備份ID及其他識別資訊(例如,虛擬機名稱、站台識別符(若適用)、組織識別符等)。目錄服務78可記錄該資訊連同備份之日期及時間。
備份服務80亦可還原備份以驗證備份之內容,並且執行其他驗證處理,諸如安全性掃描(參考編號192)。圖10中較詳細地展示還原及驗證處理之實施例。一旦完成還原及驗證處理,則針對此實施例完成藉由備份服務80實施之備份後處理180。
圖10為說明藉由備份服務80之一個實施例執行之還原及驗證處理的流程圖(圖9中之參考編號192)。備份服務80可包括在公用雲端12中之電腦上執行時使電腦執行如圖10中所說明之操作的指令。
公用雲端12包括重要的運算資源,並且彼等資源時常不在 使用中。公用雲端12可支援競價程序,以主張現未以確定需要運算資源時收取的隨選價格之(可能)折扣使用的運算資源。備份服務80可嘗試利用競價程序以獲得用於還原及驗證程序之虛擬機的執行個體。相較於以固定價格提供之隨選執行個體,藉由競價程序獲得之執行個體被稱作虛擬機的現成執行個體。
備份服務80可對虛擬機之現成執行個體進行競價(參考編號200),且若未被授予(決策區塊202,「否」分支)可繼續競價直至超時時段到期(決策區塊204,「否」分支)。若超時時段在未授予現成執行個體之情況下到期(決策區塊202,「否」分支及決策區塊204,「是」分支),則備份服務80可開始隨選執行個體(參考編號206)。另一方面,該競價可為成功的且可在超時到期之前授予現成執行個體(決策區塊202,「是」分支),在此狀況下,可使用現成執行個體。超時時段可經選擇為任一時間量。在一實施例中,舉例而言,可使用3分鐘。然而,較長或較短超時可實施於其他實施例中。當對現成執行個體進行競價時,亦指定可保持現成執行個體之時間長度。該長度可經選擇以確保將在現成執行個體到期之前完成還原及驗證處理。舉例而言,可使用執行處理之預期時間的倍數。在一實施例中,用於現成執行個體之索價可基於實際上使用的時間量而非競價之時間量。然而,在競價中指定之較長時間長度可降低競價成功之可能性。
一旦開始現成或隨選VM執行個體,則備份服務80可確立用於VM執行個體之區塊儲存器,其足夠大以容納備份的虛擬磁碟(參考編號208)。在一實施例中,備份服務80可將程式碼加載至VM執行個體中以執行還原及驗證程序。VM執行個體中之程式碼可藉由將備份還原至VM執行個體(且更特定言之,將備份還原至針對VM執行個體所建立的區塊儲存 器)而開始執行(參考編號210)。在圖11中更詳細地說明並且在下文描述還原程序。在一個實施例中,若存在可用的先前備份之快照,則該快照可在區塊儲存器中具現化且來自備份之經變更區塊可還原至快照。還原快照及經變更區塊可比完整地還原備份花費更少時間。該程式碼可驗證經還原備份(參考編號212)。舉例而言,該程式碼可針對區塊儲存器中之每一備份資料區塊生成指紋並且將該指紋與來自L1之對應的指紋進行比較。若在備份中偵測到失敗(決策區塊214,「是」分支),則資料保護服務10可將訊息傳輸至自其備份之組織的IT專業人員。舉例而言,VM執行個體可生成電子郵件並且將其傳輸至IT專業人員(參考編號216)。在另一實例中,通知可藉由UI後端92傳輸至UI伺服器93,其可向UI中之IT專業人員顯示該通知。本文訊息可發送至IT專業人員的行動電話。日誌檔案可經更新以指示失敗。一或多個通知之任一集合可用於將失敗傳達至IT專業人員。若偵測不到失敗,則VM執行個體可建立備份之快照(參考編號213)。快照可為公用雲端12之特徵,且成本可比區塊儲存器低。因此,若執行後續還原,則快照可用於降低成本並且提供較大效率VM執行個體可掃描虛擬磁碟上之檔案並且生成用於虛擬磁碟上之檔案的檔案索引(參考編號218)。VM執行個體可將檔案索引放置在物件儲存器90中,且可將物件ID至檔案索引與用於(例如,備份資料庫中之)當前備份之備份ID相關聯。替代地,在將物件ID儲存在目錄中之實施例中,VM執行個體可將物件ID至檔案索引提供至目錄服務78以與描述備份之其他資料一起儲存。在另一實施例中,物件ID至檔案索引可與OrgID及虛擬機名稱相關聯。當選擇檔案之版本時,可提供備份ID。
加載至VM執行個體中之程式碼亦可包括一或多個安全性掃 描應用程式(例如,病毒掃描程式、勒索軟體掃描程式、惡意軟體掃描程式、PII掃描程式等等)。VM執行個體可執行掃描程式以掃描備份中的各種安全性威脅(參考編號220)。替代地,掃描程式中之一或多者可為公用雲端12服務或可與VM執行個體分開實施。若如此,VM執行個體可提供對備份之存取以執行掃描。在一些實施例中,VM執行個體可掃描備份中之待掃描的可能的候選者(例如,特定檔案)並且將候選者提供至外部掃描程式。若掃描程式中之一或多者偵測到問題(決策區塊222,「是」分支),則資料保護服務10可生成通知組織的IT專業人員之訊息(參考編號224)。一旦完成掃描,則備份服務80可刪除VM執行個體及與其附接之區塊儲存器,從而可終止因使用VM執行個體(無論現成抑或隨選)及區塊儲存器而產生的費用(參考編號226)。
對於實施其他資料集之實施例,可執行類似後處理,但該類似後處理未必在虛擬機之上下文中。舉例而言,檔案系統備份可經還原至區塊儲存器、經驗證、經快照化、經檔案索引化且藉由安全性掃描應用程式來掃描,如在參考編號208、210、212、214、213、216、218、220、222及224中。接著,可在完成後處理之後刪除區塊儲存器。類似地,資料庫備份可經還原至區塊儲存器、經驗證且經快照化,如在參考編號208、210、212、214、213及216中。
圖11說明備份至VM執行個體之還原(圖11中之參考編號210,以及圖14中之參考編號210)。備份服務80可包括在公用雲端12中之電腦上執行時使電腦執行如圖10中所說明之操作的指令。在一實施例中,該等指令可藉由備份服務80加載至VM執行個體中以在VM執行個體中執行以執行經說明操作。對於其他類型之資料集,可執行類似操作以處理來 自備份之L1的指紋以定位對應的備份資料區塊,但未必定位在VM執行個體中。
VM執行個體可針對備份自L1選擇指紋(參考編號230)。初始選定的指紋可為L1之位移零處之指紋,其對應於虛擬磁碟之邏輯位移零處之備份資料區塊,且還原程序可藉由每一邏輯位移依序進行,直至已經還原虛擬磁碟之每一備份資料區塊為止。L1可由備份服務80提供至VM執行個體,此係由於備份服務80可具有執行L1合併而獲得之L1的複本。替代地,VM執行個體可具備用於物件儲存器90中之L1的物件ID且可自物件儲存器90獲取L1。VM執行個體可將指紋傳輸至指紋查詢服務98以存取指紋資料庫100(連同用於組織之OrgID,若該組織不參與跨組織去除複製)。指紋資料庫100可將物件ID傳回至含有對應的備份資料區塊之L0資料結構(參考編號232)。若VM執行個體不具有L0資料結構之本端複本(例如,因為先前尚未在還原期間針對另一備份資料區塊-決策區塊234存取L0,「否」分支),則VM執行個體可使用L0物件ID以自物件儲存器90獲取L0(參考編號236)。若L0已經為本端的(決策區塊234,「是」分支),則L0無需自物件儲存器90獲得。
在任一狀況下,VM執行個體可掃描L0之初始部分以定位指紋(參考編號238),並且獲得至備份資料區塊之對應的位移。VM執行個體可自L0內之位移讀取備份資料區塊(參考編號240),且可解密及解壓縮備份資料區塊(參考編號242)。VM執行個體可使用與L0資料結構中之備份資料區塊相關聯之密碼文字以自金鑰管理服務88請求明文金鑰以執行解密。VM執行個體可在當前位移下將經解密、經解壓縮區塊寫入至區塊儲存器(參考編號244)。若尚未還原虛擬磁碟之所有區塊(決策區塊246, 「否」分支),則VM執行個體可選擇下一依序指紋並且繼續該處理(參考編號230且按照如流程圖中所說明)。一旦已經還原所有區塊(決策區塊246,「是」分支),則備份經還原至VM執行個體並且可執行進一步處理。
以上論述描述針對每一指紋使用FP資料庫100之還原以將對應的備份資料區塊定位在L0資料結構中。在一實施例中,若存在可用於備份之L0MD資料結構,則VM執行個體可在將指紋傳輸至指紋資料庫之前針對指紋掃描藉由L0MD資料結構識別之L0資料結構。若找到匹配,則VM執行個體可讀取備份資料區塊並且繼續進行以處理如上文所論述之備份資料區塊(參考編號242及244)。若指紋在由L0MD定位之L0資料結構中不匹配,則可查詢FP資料庫100以定位L0資料結構(參考編號232、234、236及238)。
如先前所提及,使用基於雲端之資料保護解決方案可視需要准許資源之彈性擴展及收縮以橫越來自站台、多個站台及/或多個租戶之多個備份集合(例如,虛擬機)來擴展資料保護服務。擴展及收縮可包括服務內之藉由開始服務的額外執行個體之負載平衡。另外,用以執行諸如檔案索引操作之備份驗證及其他後處理操作之VM執行個體的建立等可為可擴展的。可開始任何數目個VM執行個體以執行所需操作,且接著一旦完成後處理可刪除執行個體。圖12說明在公用雲端12中執行之備份服務80,其中VM執行個體250A具有對應的區塊儲存器252A以驗證備份資料集。若準備好驗證額外備份資料集,則備份服務80可開始額外VM執行個體,諸如具有區塊儲存器252B至252C之執行個體250B至250C,以並行地並且獨立地驗證備份資料集。
對於一實施例,圖13為可在各個時間點針對虛擬磁碟備份 生成之檔案索引的實例。圖13中說明用於時間t0處之虛擬磁碟之備份的檔案索引260,及用於時間t1處之虛擬磁碟之備份的另一檔案索引262。類似地,檔案索引可自檔案系統備份(或檔案系統之部分,諸如磁碟區)從生成。亦可生成用於其他時間點之額外檔案索引。檔案索引可包括檔案名、指示最近修改檔案之時間(「修改時間」)之時戳、用於虛擬磁碟之目錄結構中之檔案的完整路徑名稱,及針對檔案之內容運算的總和檢查碼(「Chksum」)。總和檢查碼欄位可用於藉由內容而非藉由檔案名搜尋檔案。
檔案索引260及262可使用按檔案名排序之Parquet格式。Parquet格式經界定為Apache伺服器之一部分,並且為用於儲存資料以用於高效寫入之眾所周知的以行定向之開源資料格式。可需要最佳化檔案索引以用於寫入,此係由於可針對每一備份寫入檔案索引(並且給定備份中可存在多個檔案,例如約數百萬檔案),此會頻繁進行。另一方面,可僅當需要檔案級還原時讀取檔案索引,此會不頻繁地進行。
當需要檔案級還原時,可使用多個執行緒(例如,每個檔案索引一個執行緒)並行地搜尋檔案索引,從而對每一檔案索引執行二進位搜尋以定位所需檔案名稱。公用雲端12可支援可用於此目的之搜尋執行緒服務。舉例而言,在Amazon AWS公用雲端中,Athena為可使用標準結構化查詢語言(SQL)搜尋進行搜尋之無伺服器互動式查詢服務。
還原操作(圖14至圖16)
在一個實施例中,資料保護服務可支援完整備份之還原或檔案級還原,其中一或多個檔案由負責給定站台之IT專業人員識別以自備份資料集還原。完整還原可包括將資料集中之所有資料傳送至還原的物 件。舉例而言,對於虛擬機實施例,資料集可為虛擬機(例如,形成虛擬機之虛擬磁碟)。對於資料庫,資料集可為完整的資料庫資料結構。對於檔案系統,資料集可為磁碟區、磁碟區之集合,或整個檔案系統。如同先前論述,以下描述將提及虛擬機備份之還原,但亦可針對資料庫或檔案系統備份支撐類似操作。
圖14為說明用以執行用於虛擬機備份之還原操作之資料保護服務10之一個實施例的操作之流程圖。可回應於由IT專業人員生成的還原請求而執行圖14之操作。舉例而言,IT專業人員可經由UI伺服器93/UI後端92與資料保護服務10互動以請求還原操作。UI伺服器93可向IT專業人員呈現用於給定虛擬機之可用的備份資料集之清單。舉例而言,UI後端92可將虛擬機名稱(及用於該組織之OrgID)傳達至目錄服務78以識別可用的備份且可將可用的備份之清單提供至UI伺服器93以提供給IT臨時人員。IT專業人員可選擇所需備份,且目錄服務78可將用於彼備份之備份ID及還原請求提供至備份服務80。替代地,目錄服務78可為物件儲存器90中之備份資料集提供一或多個物件ID。舉例而言,可提供用於備份資料集之資料描述符之物件ID(例如,在一實施例中為用於備份之L1)。IT專業人員接著可啟動還原。在檔案級還原之狀況下,IT專業人員可橫越用於給定虛擬機之檔案索引搜尋檔案名稱,且可選擇該還原所需之版本。替代地,IT專業人員可基於檔案內容(例如,使用所需內容之總和檢查碼及檔案索引中之總和檢查碼)來進行搜尋以識別所需版本。UI備份92可與目錄服務78/備份服務80通信以識別檔案索引,且可使該搜尋基於IT專業人員提供之檔案名稱/總和檢查碼資料來進行。IT專業人員可選擇檔案版本,且含有彼檔案之備份資料集可經識別並且還原至VM執行個體(或發送 至IT專業人員以用於置放於所要部位中)。資料保護服務10(且更特定言之,備份服務80)可包括指令,該等指令在公用雲端12中之電腦上執行時使電腦執行如圖14中所說明之操作。在一實施例中,對於圖14之一部分,例如區塊210及270至280,該等指令可由備份服務80加載至VM執行個體中以在VM執行個體中執行以執行經說明操作。
類似於上文關於圖10所論述之還原及驗證處理,備份服務80可藉由對現成執行個體進行競價及/或使用隨選執行個體來確立用於還原操作之VM執行個體(參考編號200、202、204及206),可確立用於VM執行個體之區塊儲存器(參考編號208)。備份服務80可檢查對應於針對先前備份藉由資料保護服務10維護之快照中之備份之快照。若存在可用的快照(決策區塊271,「是」分支),則備份服務80可將快照複製至區塊儲存器以還原備份(參考編號273)。在一實施例中,備份服務80亦可檢查用於相同虛擬機之先前快照。若存在先前快照,則備份服務80可將先前快照複製至區塊儲存器且接著還原先前快照與選定的備份之間的差異。若不存在可用的快照(決策區塊271,「否」分支),則備份服務可將備份還原至VM執行個體(參考編號210)。在此狀況下,備份資料集可藉由用於描述用於虛擬機之虛擬磁碟的L1資料描述符(或用於多個虛擬磁碟之多個L1資料描述符)之物件ID來識別。該還原可藉由在用於備份之L0後設資料中之L1中及/或在指紋資料庫100中搜尋指紋來執行,從而定位備份資料區塊、解密及解壓縮等,如圖11中所展示。
若還原操作為完全還原(決策區塊270,「是」分支),則備份服務80可使用還原資料區塊以將還原資料傳輸至站台。還原資料區塊可各自含有用於形成備份之複數個備份資料區塊。舉例而言,如先前所描 述,備份資料區塊之大小可為16kB。還原資料區塊之大小可為64百萬位元組(MB),但在其他實施例中,可針對還原資料區塊界定較大或較小大小。舉例而言,備份資料區塊可為較小的以准許界定大小合理設定之指紋並且允許較頻繁的去除複製。另一方面,還原資料區塊可經界定以允許實現較大壓縮,從而減少將區塊傳輸至還原站台所消耗之物件儲存量及頻寬。
還原可依賴於公用雲端12中之資源以執行用於還原操作之大部分處理。舉例而言,當快照不可用時,可藉由讀取用於備份中之每一指紋的L0MD(若存在的話)及/或指紋資料庫100、讀取針對每一指紋識別之對應的L0資料結構、解密及解壓縮備份資料區塊、組譯還原資料區塊、對還原資料區塊進行壓縮及加密以及將還原資料區塊放置在物件儲存器90中來組譯完整的還原。站台上之備份代理程式84可獲取還原資料區塊,解密及解壓縮還原資料區塊,並且將還原資料區塊組譯至經還原虛擬機上。
對於完整還原,還原資料區塊可為來自備份資料集之複數個連續備份資料區塊。亦即,用於還原操作之初始還原資料區塊可為來自虛擬磁碟中之初始邏輯位移的串連在一起之複數個備份資料區塊。對於16kB備份資料區塊及64MB還原資料區塊,例如,來自初始的4000個位移之16kB備份資料區塊可經串連以形成初始還原資料區塊(假設基數為10kB及MB,亦即1kB=1000位元組並且1MB=1,000,000位元組)。下一連續的4000個備份資料區塊可形成下一還原資料區塊等。
VM執行個體可自區塊儲存器讀取還原資料區塊(參考編號272)且可對還原資料區塊進行壓縮及加密(參考編號274)。在其他實施例 中,可不執行壓縮及/或加密或其可為視情況選用的。該加密可使用臨時金鑰(例如,不同於用於加密備份資料區塊之金鑰的金鑰)。臨時金鑰可自金鑰管理服務88獲得,但可能不會在還原操作之後保留。VM執行個體可將還原區塊放置在物件儲存器90中(參考編號276),且可將用於還原區塊之物件ID提供至備份代理程式84以獲取還原區塊(參考編號278)。備份服務80可向臨時金鑰提供用於解密之還原區塊物件ID。一旦還原區塊已經置放於物件儲存器中且提供了物件ID,則可完成還原操作且備份服務80可刪除VM執行個體及分配給VM執行個體之區塊儲存器(參考編號282)。
對於檔案級還原(決策區塊270,「否」分支),IT專業人員可在檔案索引中搜尋檔案並且將已經還原至VM執行個體之備份資料集識別為檔案之備份。VM執行個體可具備檔案之完整路徑名稱,且可擷取檔案。經請求檔案可傳回至IT專業人員,其可判定置放經還原檔案之地點(參考編號280)。舉例而言,IT專業人員可選擇將檔案還原至源虛擬機中之原始位置,或可將檔案置放在虛擬機中之另一位置中或以其他方式使檔案可由虛擬機之使用者存取以存取且還原至所要位置。檔案可視需要傳遞通過物件儲存器90,或可以在訊息中提供。
如先前所提及,資料保護服務10可支援其他資料集並且可執行類似還原程序。舉例而言,類似於參考編號208、271、273、210、270、272、274、276、278及282,對於檔案系統或其部分,可建立區塊儲存器,可複製備份之快照或可自用於備份之L1、L0及L0MD資料還原備份,可對還原區塊進行讀取、壓縮、加密,且將其放置至物件儲存器90,用於還原區塊之物件ID及臨時金鑰可經提供至備份代理程式,且可刪除區塊儲存器。類似於參考編號280,亦可執行檔案級還原。類似於參 考編號208、271、273、210、270、272、274、276、278及282,對於資料庫或其部分,可建立區塊儲存器,可複製備份之快照或可自用於備份之L1、L0及L0MD資料還原備份,可對還原區塊進行讀取、壓縮、加密,且將其放置至物件儲存器90,用於還原區塊之物件ID及臨時金鑰可經提供至備份代理程式,且可刪除區塊儲存器。
除了圖14中所展示之操作之外,備份服務80亦可將一系列命令傳輸至備份代理程式84以在資料中心處執行完整還原,此類似於以上用於俘獲備份之論述。圖15為說明備份代理程式84回應於命令而還原資料中心處之資料的操作之流程圖。備份代理程式84可包括在於資料中心中之電腦上執行時使電腦執行如圖15中所說明之操作的指令。
備份代理程式84可建立新的虛擬機以接收還原(參考編號288)。建立新的虛擬機而非將備份還原至原始虛擬機可允許IT專業人員或虛擬機使用者檢查經還原備份以確保已經還原所需備份,可允許IT專業人員來控制原始虛擬機之最終安置(例如,若還原虛擬機為正確並且可接受的,則刪除原始虛擬機)。若備份經還原至原始虛擬機,則在不存在當前狀態之最近備份之情況下可丟失原始虛擬機之當前狀態。若例如經還原之選定的備份不包括一些所需資料,則彼丟失可為不需要的。舉例而言,選定的備份可實際上早於所需備份,此在審閱經還原備份之內容時經發現。類似地,可建立新檔案系統磁碟區以還原檔案系統,且可建立DB伺服器50A至50B中之一者管理的新的資料庫以還原資料庫。
備份代理程式84可自備份服務80接收用於還原資料區塊之物件ID及臨時金鑰(參考編號290)。用於還原資料區塊之物件ID可以還原資料區塊之連續次序在虛擬磁碟中提供,因此備份代理程式84可處理區塊 以便獲得虛擬磁碟之還原複本。備份代理程式84可自物件儲存器90獲取還原區塊(參考編號292),解密及解壓縮區塊(參考編號294),並且針對新的VM將還原區塊寫入至虛擬磁碟檔案(參考編號296)。一旦已經處理區塊,則虛擬磁碟檔案可為完整的。若存在多於一個虛擬磁碟,則可提供額外還原指針且備份代理程式84可以類似方式還原額外虛擬磁碟。
如上文針對執行備份所論述,藉由備份代理程式84執行之還原操作可在獨立程序當中管線化。亦即,一程序可獲取還原區塊,另一程序可解密還原區塊,又另一程序可解壓縮還原區塊,並且又另一程序可將還原區塊寫入至虛擬磁碟檔案(並刪除還原區塊之複本)。舉例而言,管線化可准許高效處理並且防止等待處理之還原區塊消耗大量記憶體。
在一實施例中,為了執行檔案級還原(相對於虛擬機或檔案系統資料集之完整還原),IT專業人員可首先識別待還原之檔案及檔案之版本。對於一個實施例,圖16為說明支援檔案之搜尋的資料保護服務10之一個實施例的操作之流程圖。資料保護服務10可包括在公用雲端12中之電腦上執行時使電腦執行如圖16中所說明之操作的指令。
IT專業人員可提供對檔案之搜尋請求(例如,透過UI伺服器93/UI後端92互動)(參考編號300)。舉例而言,搜尋請求可識別虛擬機/檔案系統且可在檔案名中提供一或多個字元。亦可支援檔案內容之搜尋,其中搜尋請求可識別虛擬機並且提供待在檔案索引中匹配之總和檢查碼。資料保護服務10可識別對應於指定虛擬機之備份的檔案索引。在一實施例中,用於檔案索引之物件ID可與OrgID及虛擬機名稱相關聯。可提供物件儲存器90中之檔案索引之物件ID(參考編號302)。資料保護服務10可獲取檔案索引,且可發起檔案索引之多執行緒搜尋(參考編號304)。舉例而 言,每個檔案索引可使用一個執行緒。該執行緒可對每一檔案索引執行二進位搜尋以定位所需檔案名稱或總和檢查碼(或在一實施例中,匹配部分檔案名稱請求之多個檔案名稱)。公用雲端12可支援可用於此目的之搜尋執行緒服務。舉例而言,在Amazon AWS公用雲端中,Athena為可使用標準結構化查詢語言(SQL)搜尋進行搜尋之無伺服器互動式查詢服務。
資料保護服務可組合來自每一檔案索引之搜尋的結果,且可將經組合結果傳回至IT專業人員以選擇需要檔案之哪一版本(參考編號306)。當多個備份資料集具有檔案之相同版本(例如,相同的完整路徑及修改時間)時,可合併結果使得一次呈現修改時間。在一實施例中,亦可指示複本之數目。
如先前所提及,雖然以上描述提及虛擬機及虛擬磁碟之還原,但其他實施例可執行其他類型之資料集(例如,資料庫、檔案系統、檔案系統之子集,諸如磁碟區,等等)的還原。亦即,公用雲端12中之資料保護服務10可還原資料集,組譯為來自經還原資料集之備份資料區塊之大小的倍數之還原資料區塊,對還原資料區塊進行壓縮及加密,將還原資料區塊放置在物件儲存器90中,並且將還原資料區塊之物件ID提供至站台。該站台可獲取還原資料區塊,解壓縮及加密還原資料區塊,並且組譯來自還原資料區塊之經還原資料集。
基於變更之還原(圖17至圖19)
以上用於執行自備份之還原的論述提及還原整個資料集或執行個別檔案之還原。然而,對於許多類型的工作負載,自備份至備份之變更量可能相當小(例如,每天可變更資料的約3%至5%)。因此,為了將資料集的狀態還原至相對最近俘獲之給定備份,可能僅需要還原總資料集 之小部分(例如,在俘獲給定備份之後修改之部分)。以另一方式檢視,若由於資料集之損壞或資料集內之資料丟失而執行還原,且造成損壞/丟失之事件在俘獲給定備份之後出現,則已知損壞/丟失限於由於俘獲給定備份而已經在資料集中變更之資料。還原已變更之資料可自損壞/資料丟失事件恢復,且可較不耗時,可消耗較少資源,且可比完整還原的成本低。
在一實施例中,用於判定經變更資料以執行增量備份之變更區塊追蹤服務/機構亦可用於識別由於進行給定備份而經修改之資料。代替使用經變更資料資訊來俘獲待備份之資料,經變更資料資訊可用於判定將還原哪一備份資料區塊。在一些實施例中,經傳送以具有完全還原至備份之效應的資料量可相較於完整還原而明顯地減少,從而可改良效能並降低成本。
判定哪些備份資料區塊由於執行了給定備份而變更並且僅還原進行變更以具有完整還原之效應的區塊在本文中可被稱作「基於變更之還原」。基於變更之還原技術可用於任何類型的資料中心及對應的備份資料集(例如,虛擬機、檔案系統、資料庫等等)。虛擬機將在下文更詳細地用作實例,但類似論述適用於任一資料集。
圖17為說明用於VM1之虛擬磁碟1(vd1)在進行備份之時間t0及時間t1處之狀態的方塊圖。舉例而言,若執行基於變更之還原,則時間t1可為當期時間。時間t1亦可為任何其他所需時間。展示對應於區塊位移0至5之vd1的備份資料區塊,其中不同字母表示不同內容且相同字母表示相同內容。因此,在時間t0處(參考編號310),位移0至5處之區塊具有內容A、B、C、D、E及F。在時間t1處(參考編號312),位移0至2及4處之區塊保持未修改(分別為A、B、C及E)。然而,位移3及5處之區塊的內容 已變更(分別為自D至A,及自F至H)。因此,QCDA可產生包括用於位移0至2及4處之區塊之零(不變)及用於位移3及5處之區塊的一(已變更)之結果(參考編號314)。為了針對經展示區塊將vd1還原至時間t0處之狀態,位移3及5處之區塊需要分別還原至D及F。藉由在時間t0處自備份傳回在QCDA結果314中指示為已變更之區塊並且在對應位移下將區塊寫入至當前狀態vd1,可實現完全還原至時間t0之效應。
圖18為說明用以實施基於變更之還原之公用雲端12上的資料保護服務10之一個實施例的操作之流程圖。圖18之操作可回應於來自組織之還原請求而啟動(例如,藉由來自組織之IT專業人員啟動)。舉例而言,IT專業人員可經由UI伺服器93/UI後端92與資料保護服務10互動以請求還原操作。UI伺服器93可向IT專業人員呈現用於給定虛擬機之可用的備份資料集之清單。舉例而言,UI後端92可將虛擬機名稱(及用於該組織之OrgID)傳達至目錄服務78以識別可用的備份且可將可用的備份之清單傳輸至UI伺服器93以顯示給IT臨時人員。IT專業人員可選擇所需備份,且目錄服務78可將一或多個物件ID提供至物件儲存器90中之備份資料集(或可將備份ID提供至備份服務80,其可提供物件ID)。舉例而言,可提供用於備份資料集之資料描述符之物件ID(例如,在一實施例中為用於備份之L1)。IT專業人員接著可透過UI伺服器93啟動還原,從而可使UI後端92將還原請求及L1指針提供至備份服務80。資料保護服務10(且更特定言之,備份服務80)可包括指令,該等指令在公用雲端12中之電腦上執行時使電腦執行如圖18中所說明之操作。在一實施例中,對於圖18之一部分,例如區塊326至334,該等指令可由備份服務80加載至VM執行個體中以在VM執行個體中執行以執行經說明操作。
備份服務80可將QCDA請求傳輸至備份代理程式84(參考編號320)。QCDA請求可包括虛擬機之名稱及對應於待還原之備份的時戳(例如,圖17之實例中之t0)。備份服務80可接收來自備份代理程式84之QCDA結果(參考編號322)。在一實施例中,備份服務80可確立VM執行個體並且確立用於VM執行個體之區塊儲存器(參考編號324)且可將指令加載至VM執行個體中以執行圖18中所說明之操作的其餘部分。類似於如圖10及圖14中所展示之區塊200、202、204、206及208,建立VM執行個體可包括對現成執行個體進行競價及成功地中標或建立隨選執行個體及建立用於VM執行個體之區塊儲存器。
VM執行個體可將備份還原至與VM執行個體相關聯之區塊儲存器(參考編號326)。還原備份可包括判定是否存在可用的快照及複製快照,以及在快照不可用之情況下還原如針對參考編號210所描述之VM執行個體,例如如圖11中所展示。替代地,在此實施例中,該還原可跳過未在QCDA結果中指示為已變更之備份資料區塊,且可僅還原已變更之備份資料區塊(在其在區塊儲存器中之各別位移下)。VM執行個體可自區塊儲存器讀取在QCDA結果中經識別為已變更之備份資料區塊,且可串連區塊以形成一或多個還原資料區塊(參考編號328)。由於備份資料區塊為已知大小且QCDA結果識別區塊將還原至的位移,所以將區塊串連至還原區塊中以用於壓縮及加密可允許資料的高效傳送,並且一旦經解密並且經解壓縮,則備份資料區塊可基於QCDA結果在各別位移下經再次分離並寫入至還原物件。
VM執行個體可(使用自金鑰管理服務88獲得之臨時金鑰,類似於上文關於圖14之完整還原的論述)對一或多個還原區塊進行壓縮及 加密(參考編號330),且可將還原區塊放置在物件儲存器90中(參考編號332)。VM執行個體可將用於還原區塊之物件ID及臨時金鑰提供至備份代理程式84(參考編號334)。備份服務接著可刪除VM執行個體及區塊儲存器(參考編號336)。
對於檔案系統實施例,可執行操作之類似集合,但未必在虛擬機之上下文中。亦即,可基於變更區塊追蹤服務而判定檔案系統之經變更區塊(或其待還原之部分),可建立區塊儲存器且可還原來自先前時戳之備份,可讀取經識別為已變更之備份區塊並且可執行還原區塊,可執行壓縮及加密,可將還原區塊置放於物件儲存器中,可將物件ID提供至備份代理程式,且可刪除區塊儲存器,如在參考編號320、322、324、326、328、330、332、334及336中。類似地,對於支援資料庫中之變更區塊追蹤之資料庫實施例,可執行還原,如在參考編號320、322、324、326、328、330、332、334及336中。
圖19為說明彼資料中心站台處之對其執行基於變更之還原的備份代理程式84之一個實施例的操作之流程圖。如先前所提及,備份服務80可將命令傳輸至備份代理程式84以執行圖19中所說明之操作。備份代理程式84可包括在於資料中心中之電腦上執行時使電腦執行如圖19中所說明之操作的指令。
類似於完整還原,新虛擬機可經建立以接收基於變更之還原。在此狀況下,新虛擬機可自經還原之虛擬機接收虛擬磁碟的複本(參考編號338)。備份代理程式84可自備份服務80接收QCDA請求(參考編號340),且可執行查詢並將結果傳輸至備份服務80(參考編號342)。備份服務80可隨後傳輸用於物件儲存器90中之還原區塊之物件ID及臨時金鑰, 連同處理還原區塊並更新還原物件之命令。備份代理程式84可接收用於還原區塊之物件ID(參考編號344),且可自物件儲存器90獲取還原區塊(參考編號346)。備份代理程式84可解密及解壓縮還原區塊(參考編號348)。QCDA結果可用於選擇性地更新虛擬磁碟檔案區塊。亦即,備份代理程式84可自經解密、經解壓縮還原區塊選擇第一備份資料區塊並將第一備份資料區塊寫入至在QCDA結果中指示為已變更之第一位移;自經解密、經解壓縮還原區塊選擇第二備份資料區塊並將第二備份資料區塊寫入至在QCDA結果中指示為已變更之第二位移;等等,直至已經還原備份資料區塊為止。對於圖17之實例,第一資料區塊將為資料區塊D並且將經還原至位移3,之後為第二資料區塊(資料區塊F)還原至位移5。
對於檔案系統或資料庫實施例,可執行與參考編號338、340、342、344、346、348及350類似之操作,但未必在虛擬機之上下文中。舉例而言,可建立新檔案系統或其部分,或新的資料庫或其部分,且可將當前檔案系統/部分或資料庫/部分複製至最新建立的資料集。還原區塊可以類似方式還原。
如先前所提及,為了效率且為了防止還原區塊之大量記憶體消耗,圖19中所說明之操作可在多個獨立程序當中管線化以形成備份代理程式84。
媒體及系統(圖20至圖21)
現在轉而參看圖20,展示電腦可存取儲存媒體400之一個實施例的方塊圖。一般而言,電腦可存取儲存媒體400可包括可由電腦在使用期間存取以將指令及/或資料提供至電腦之任何儲存媒體。舉例而言,電腦可存取儲存媒體可包括儲存媒體,諸如磁性或光學媒體,例如,磁碟 (固定或可移除)、磁帶、CD-ROM、DVD-ROM、CD-R、CD-RW、DVD-R、DVD-RW,或Blu-ray。儲存媒體可進一步包括揮發性或非揮發性記憶體媒體,諸如RAM(例如,同步動態RAM(SDRAM)、Rambus DRAM(RDRAM)、靜態RAM(SRAM)等)、ROM或快閃記憶體。儲存媒體可實體上包括於儲存媒體提供指令/資料所至的電腦內。替代地,儲存媒體可連接至電腦。舉例而言,儲存媒體可經由網路或無線鏈路(諸如網路附接儲存)連接至電腦。儲存媒體可經由周邊介面(諸如通用串列匯流排(USB))連接。通常,電腦可存取儲存媒體400可以非暫時性方式儲存資料,其中在此上下文中非暫時性可指不在信號上傳輸指令/資料。舉例而言,非暫時性儲存器可為揮發性(且可回應於掉電而丟失儲存之指令/資料)或非揮發性。
圖20中之電腦可存取儲存媒體400可儲存資料保護服務10及本端代理程式26中之一或多者。資料保護服務10及本端代理程式26可各自包括指令,該等指令在於電腦上執行時使電腦執行針對資料保護服務10及/或本端代理程式26描述之操作。在各種實施例中,可儲存本端代理程式26及/或資料保護服務10之任何部分。舉例而言,可儲存圖5中針對資料保護服務10說明之服務的任一子集。亦可儲存如圖5中說明之本端代理程式26的任一子集。
圖21為根據一些實施例之運算裝置(其亦可被稱作運算系統或僅僅被稱作電腦)1110之一個實施例的方塊圖。運算裝置1110可用於實施本發明的各個部分。運算裝置1110為可用作資料中心22中之伺服器運算系統之裝置的一個實例,該裝置代管虛擬機、資料庫、或檔案伺服器、公用雲端12中之伺服器運算系統,或實施本發明的部分之任何其他運算系 統。
運算裝置1110可為任何合適類型之裝置,包括但不限於個人電腦系統、桌上型電腦、膝上型電腦或筆記本電腦、行動電話、大型電腦系統、網頁伺服器、工作站,或網路電腦。如所展示,運算裝置1110包括處理單元1150、儲存子系統1112,及經由互連件1160(例如系統匯流排)耦接之輸入/輸出(I/O)介面1130。I/O介面1130可耦接至一或多個I/O裝置1140。運算裝置1110進一步包括網路介面1132,其可耦接至網路1120以用於與例如其他運算裝置通信。舉例而言,網路1120可為資料中心中之網路、資料中心與公用雲端12之間的網路、公用雲端12中之網路等之部分或全部。
處理單元1150可包括一或多個處理器。在一些實施例中,處理單元1150包括一或多個共處理器單元。在一些實施例中,處理單元1150之多個執行個體可耦接至互連件1160。處理單元1150(或處理單元1150內之每一處理器)可含有快取記憶體或其他形式之機載記憶體。在一些實施例中,處理單元1150可實施為通用處理單元,且在其他實施例中其可實施為專用處理單元(例如ASIC)。一般而言,運算裝置1110不限於任何特定類型之處理單元或處理器子系統。
如本文中所使用,術語「處理單元」或「處理元件」係指經組態以執行操作之電路或在其中儲存有可由一或多個處理器執行以執行操作的程式指令之記憶體。因此,處理單元可實施為以多種方式實施之硬體電路。硬體電路可包括例如定製超大規模積體(VLSI)電路或閘陣列、諸如邏輯晶片之現成的半導體、晶體管,或其他離散組件。處理單元亦可以可程式化硬體裝置,諸如場可程式化閘陣列、可程式化陣列邏輯、可程式 化邏輯裝置等等來實施。處理單元亦可經組態以執行來自任何適合形式之非暫時性電腦可讀媒體之程式指令或電腦指令以執行指定操作。
儲存子系統1112可由處理單元1150使用(例如以儲存可由處理單元650執行之指令及由該處理單元使用之資料)。儲存子系統1112可由任何合適類型之實體記憶體媒體實施,該等實體記憶體媒體包括硬碟儲存器、軟碟儲存器、可移除式磁碟儲存器、快閃記憶體、隨機存取記憶體(RAM-SRAM、EDO RAM、SDRAM、DDR SDRAM、RDRAM等)、ROM(PROM、EEPROM等)等等。在一些實施例中,儲存子系統1112可僅由揮發性記憶體組成。儲存子系統1112可使用處理單元1150儲存可由運算裝置1110執行之程式指令,包括可執行以使得運算裝置110實施本文中揭示之各個技術的程式指令。因此,儲存子系統1112可包括例如儲存形成資料處理服務10及/或本端代理程式26之指令的電腦可存取儲存媒體400。
根據各個實施例,I/O介面1130可表示一或多個介面且可為經組態以耦接至其他裝置並且與其他裝置通信之各種類型的介面中之任一者。在一些實施例中,I/O介面1130為自前側至一或多個背側匯流排之橋接晶片。I/O介面1130可經由一或多個對應的匯流排或其他介面耦接至一或多個I/O裝置110。I/O裝置之實例包括儲存裝置(硬碟、光碟機、可移除式快閃驅動機、儲存陣列、SAN,或相關聯控制器)、網路介面裝置、使用者介面裝置或其他裝置(例如圖形、聲音等)。特定言之,電腦可讀媒體400可為I/O裝置1140,或可耦接至I/O裝置1140以將指令及/或資料供應至運算裝置1110。
本申請案之標的物的實現包括但不限於以下實例:
實例:公用雲端資料保護服務
1.一種方法,其包含:在基於公用雲端之資料保護服務中,判定待執行第一資料中心處之第一資料集的備份;回應於判定待執行備份而自資料保護服務向第一資料中心處之備份代理程式發出一或多個命令;回應於一或多個命令,該備份代理程式:判定第一資料集中自第一資料集之先前備份起已變更的一或多個第一資料區塊;產生指示一或多個第一資料區塊中之各別者之內容的一或多個第一指紋;將一或多個第一指紋及一或多個第一資料區塊組譯為第一備份資料;將第一備份資料放置於公用雲端中之物件儲存器中;及將用於物件儲存器中之第一備份資料的一或多個識別符提供至資料保護服務。
2.如實例1之方法,其中該第一備份資料包含與一或多個第一資料區塊串連之一或多個第一指紋的清單,且其中該清單將一或多個第一指紋中之給定指紋至一或多個第一資料區塊中之對應資料區塊的位移包括至第一備份資料中。
3.如實例1或2之方法,其進一步包含在組譯第一備份資料之前,藉由備份代理程式壓縮一或多個第一資料區塊。
4.如實例1至3中任一例之方法,其進一步包含藉由備份代理程式 加密一或多個第一資料區塊。
5.如實例4之方法,其中該一或多個命令包括提供用以執行加密之第一金鑰的第一命令。
6.如實例5之方法,其進一步包含藉由資料保護服務自藉由公用雲端提供之金鑰管理服務獲得第一金鑰。
7.如實例6之方法,其中獲得第一金鑰進一步包含獲得對應於第一金鑰之第一密碼文字,其中該第一密碼文字向金鑰管理服務識別第一金鑰。
8.如實例7之方法,其中組譯第一備份資料包含在第一備份資料中提供第一密碼文字。
9.如實例8之方法,其中該第一密碼文字包括於第一備份資料之標頭中。
10.如實例1至9中任一例之方法,其進一步包含:藉由備份代理程式組譯針對第一資料集內之每一資料區塊具有一位置的第一資料描述符;及藉由第一備份代理程式用對應於一或多個第一資料區塊之位置處的一或多個第一指紋部分地填入第一資料描述符。
11.如實例10之方法,其進一步包含回應於複數個命令,備份代理程式將第一資料描述符放置於物件儲存器中。
12.如實例11之方法,其進一步包含:藉由資料保護服務自物件儲存器取得第一資料描述符;藉由資料保護服務自物件儲存器取得第二資料描述符,該第二資料描述符對應於第一資料集之先前備份;及 藉由資料保護服務將來自第二資料描述符之指紋合併至第一資料描述符中對應區塊自先前備份起未變更之位置中的第一資料描述符。
13.如實例12之方法,其進一步包含將合併之第一資料描述符放置於物件儲存器中,以替換物件儲存器中之第一資料描述符。
14.如實例1至13中任一例之方法,其進一步包含:該備份代理程式將一或多個第一指紋傳輸至資料保護服務以查詢指紋資料庫,其中該指紋資料庫對應於先前已備份之資料區塊;該資料保護服務傳回指示一或多個第一指紋中之哪些者在指紋資料庫中匹配的結果;及回應於該結果,該備份代理程式自第一備份資料消除匹配之第一指紋及對應第一資料區塊。
15.如實例14之方法,其中該資料保護服務為多租戶的,且其中該指紋資料庫包括識別為租戶中之一者之組織的組織識別符,且其中該備份代理程式隨一或多個第一指紋一起傳輸識別擁有第一資料中心之第一組織的第一組織識別符。
16.如實例15之方法,其進一步包含藉由資料保護服務使第一組織識別符及一或多個第一指紋中之給定指紋與資料庫中之條目匹配以偵測資料庫中之匹配。
17.如實例15之方法,其進一步包含藉由資料保護服務使一或多個第一指紋中之給定指紋與資料庫中之第二指紋匹配以偵測資料庫中之匹配,即使在第一組織識別符不匹配與資料庫中之第二指紋相關聯的組織識別符之情況下亦如此。
18.如實例1至17中任一例之方法,其進一步包含: 將第一備份資料儲存於複數個資料結構中;及提供包括用於複數個資料結構之識別符之清單的第二資料結構。
19.一種非暫時性電腦可存取儲存媒體,其儲存複數個指令,該複數個指令在執行於一或多個電腦上時使一或多個電腦執行如實例1至18中任一例之方法的操作。
20.一或多個電腦系統,該一或多個電腦系統中之每一者包含耦接至如實例19之電腦可存取儲存媒體的一或多個處理器。
21.一種方法,其包含:自基於公用雲端之資料保護服務起始第一資料中心處之第一資料集的備份;回應於起始,第一資料中心處之備份代理程式:產生指示第一資料集中之一或多個第一資料區塊之內容的一或多個第一指紋;將一或多個第一指紋及一或多個第一備份資料區塊組譯為一或多個物件;將一或多個物件放置於公用雲端中之物件儲存器中;及將用於物件儲存器中之一或多個物件的一或多個識別符提供至基於公用雲端之資料保護服務。
22.如實例21之方法,其中該一或多個物件包含包括一或多個第一指紋之資料描述符。
23.如實例22之方法,其進一步包含:藉由備份代理程式判定一或多個第一備份資料區塊在第一資料集中自第一資料集之先前備份起已變更;及 用對應於一或多個第一備份資料區塊之一或多個第一指紋部分地填入資料描述符,其中該資料描述符排除用於第一資料集中尚未變更之備份資料區塊的指紋。
24.如實例21至23中任一例之方法,其中該一或多個物件進一步包含一或多個備份資料物件,其中一或多個備份資料物件中之每一者包含第一指紋之清單及對應第一備份資料區塊,以及自第一指紋中之每一者至備份資料物件中之對應第一備份資料區塊的位移。
25.如實例24之方法,其進一步包含在組譯一或多個備份資料物件之前,藉由備份代理程式壓縮一或多個第一備份資料區塊。
26.如實例24或25之方法,其進一步包含藉由備份代理程式加密一或多個第一備份資料區塊。
27.如實例26之方法,其進一步包含自資料保護服務提供用以執行加密之第一金鑰。
28.如實例27之方法,其進一步包含藉由資料保護服務自藉由公用雲端提供之金鑰管理服務獲得第一金鑰。
29.如實例28之方法,其中獲得第一金鑰進一步包含獲得對應於第一金鑰之第一密碼文字,其中該第一密碼文字向金鑰管理服務識別第一金鑰。
30.如實例29之方法,其中組譯第一備份資料包含在第一備份資料中提供第一密碼文字。
31.如實例30之方法,其中該第一密碼文字包括於一或多個備份資料物件之標頭中。
32.如實例21至31中任一例之方法,其進一步包含: 該備份代理程式將一或多個第一指紋傳輸至資料保護服務以查詢指紋資料庫,其中該指紋資料庫對應於先前已備份之資料區塊;該資料保護服務傳回指示一或多個第一指紋中之哪些者在指紋資料庫中匹配的結果;及回應於該結果,該備份代理程式自一或多個備份資料物件消除匹配之第一指紋及對應第一資料區塊。
33.如實例32之方法,其中該資料保護服務為多租戶的,且其中該指紋資料庫包括識別為租戶中之一者之組織的組織識別符,且其中該備份代理程式隨一或多個第一指紋一起傳輸識別擁有第一資料中心之第一組織的第一組織識別符。
34.如實例33之方法,其進一步包含藉由資料保護服務使第一組織識別符及一或多個第一指紋中之給定指紋與資料庫中之條目匹配以偵測資料庫中之匹配。
35.如實例33之方法,其進一步包含藉由資料保護服務使一或多個第一指紋中之給定指紋與資料庫中之第二指紋匹配以偵測資料庫中之匹配,甚至在第一組織識別符不匹配與資料庫中之第二指紋相關聯的組織識別符之情況下亦如此。
36.一種非暫時性電腦可存取儲存媒體,其儲存複數個指令,該複數個指令在執行於一或多個電腦上時使一或多個電腦執行如實例21至35中任一例之方法的操作。
37.一或多個電腦系統,該一或多個電腦系統中之每一者包含耦接至如實例36之電腦可存取儲存媒體的一或多個處理器。
實例:重複資料刪除
38.一種方法,其包含:將識別備份資料之第一區塊的第一指紋自第一組織之第一站台傳輸至基於雲端的資料保護服務;偵測第一指紋與由資料保護服務維護之指紋資料庫中之至少一個指紋的匹配,其中對應於指紋資料庫中之指紋的備份資料之區塊包括於由資料保護服務自包括第一站台之複數個站台執行的先前備份中;及回應於偵測到匹配而自備份資料排除第一區塊。
39.如實例38之方法,其中該指紋資料庫進一步包括對應於指紋資料庫中之每一指紋的組織識別符,其中傳輸第一指紋進一步包含傳輸識別第一組織之第一組織識別符,且其中偵測匹配包括偵測第一組織識別符與對應於匹配第一指紋之至少一個指紋之組織識別符的匹配。
40.如實例38之方法,其中該指紋資料庫進一步包括對應於指紋資料庫中之每一指紋的組織識別符,其中傳輸第一指紋進一步包含傳輸識別第一組織之第一組織識別符,且其中即使第一組織識別符不匹配對應於匹配第一指紋之至少一個指紋的組織識別符,亦偵測匹配。
41.一種非暫時性電腦可存取儲存媒體,其儲存複數個指令,該複數個指令在執行於一或多個電腦上時使一或多個電腦執行如實例38至40中任一例之方法的操作。
42.一或多個電腦系統,該一或多個電腦系統中之每一者包含耦接至如實例41之電腦可存取儲存媒體的一或多個處理器。
43.一種方法,其包含:將第一複數個指紋自第一組織之第一站台傳輸至基於雲端的資料保護服務,其中該第一複數個指紋識別待自第一站台備份至資料保護服務之 第一複數個資料區塊;比較第一複數個指紋與資料保護服務處之第二複數個指紋,其中該第二複數個指紋識別先前已在資料保護服務處備份之第二複數個資料區塊,且其中第二複數個資料區塊已自包括第一組織之複數個組織之站台備份,且其中該比較獨立於複數個組織中之哪一組織為先前備份中之給定資料區塊的來源;及回應於第一複數個指紋中之對應者匹配第二複數個指紋中之一或多者而自備份資料排除第一複數個資料區塊中之選定者,該備份資料係自第一站台發送至資料保護服務。
44.如實例43之方法,其進一步包含:將第三複數個指紋自第二組織之第二站台傳輸至資料保護服務,其中該第三複數個指紋識別待自第二站台備份至資料保護服務之第三複數個資料區塊;將識別第二組織之第一組織識別符傳輸至資料保護電路;比較第三複數個指紋與資料保護服務處之第二複數個指紋;比較第一組織識別符與對應於第二複數個指紋之複數個組織識別符,其中該複數個組織識別符識別對應於發起第二資料區塊中之各別者之站台的組織;回應於作為比較第三複數個指紋與第二複數個指紋之結果而匹配第二複數個指紋中之一第二指紋且進一步回應於匹配第一組織識別符與複數個組織識別符中之第二組織識別符,偵測第三複數個指紋中之第一指紋的匹配,其中第二組織識別符對應於第二指紋;及回應於偵測到第一指紋之匹配而自備份資料排除第三複數個資料區 塊中之第一資料區塊,該備份資料係自第二站台發送至資料保護服務,其中第一指紋識別第一資料區塊。
45.如實例43或44之方法,其進一步包含藉由雜湊第一複數個資料區塊來產生第一複數個指紋。
46.一種非暫時性電腦可存取儲存媒體,其儲存複數個指令,該複數個指令在執行於一或多個電腦上時使一或多個電腦執行如實例43至45中任一例之方法的操作。
47.一或多個電腦系統,該一或多個電腦系統中之每一者包含耦接至如實例46之電腦可存取儲存媒體的一或多個處理器。
實例:備份後處理
48.一種方法,其包含:在資料保護服務處自第一站台接收對應於備份的部分填入之資料描述符,其中該資料描述符為識別來自第一站台之對應備份資料中之資料區塊的指紋之清單,且其中該部分填入之資料描述符包括用於自來自第一站台之先前備份已變更之資料區塊的指紋;獲得對應於先前備份之第二資料描述符;及將來自第二資料描述符之指紋合併至資料描述符中之未填入位置中以完成資料描述符。
49.如實例48之方法,其中接收部分填入之資料描述符包含:接收用於部分填入之資料描述符的識別符,該識別符識別代管資料保護服務之公用雲端之物件儲存器中的部分填入之資料描述符;及自物件儲存器取得部分填入之資料描述符。
50.如實例49之方法,其進一步包含使用識別符將完成之資料描述 符放置於物件儲存器中,覆寫物件儲存器中之部分填入之資料描述符。
51.如實例48至50中任一例之方法,其進一步包含:還原公用雲端中之備份;及驗證所還原備份。
52.如實例51之方法,其中該備份對應於來自第一站台之第一虛擬機,且其中還原備份包含在公用雲端中建立虛擬機並將備份虛擬磁碟資料還原至被提供至虛擬機之區塊儲存器。
53.如實例52之方法,其中建立虛擬機包含成功地競價虛擬機之現成執行個體。
54.如實例52之方法,其中建立虛擬機包含競價虛擬機之現成執行個體失敗及建立虛擬機之隨選執行個體。
55.如實例51至54中任一例之方法,其進一步包含自所還原備份產生檔案清單。
56.如實例55之方法,其進一步包含將檔案清單放置於物件儲存器中。
57.如實例56之方法,其進一步包含將識別備份之資料儲存於目錄中及使檔案清單與識別備份之資料相關聯。
58.如實例51至57中任一例之方法,其進一步包含:掃描所還原備份以查找一或多個安全風險;及回應於偵測到安全風險而通知資訊技術(IT)專業人員。
59.如實例58之方法,其中掃描所還原備份包含掃描備份以查找病毒。
60.如實例58或59之方法,其中掃描所還原備份包含掃描備份以查 找惡意軟體。
61.如實例58至60中任一例之方法,其中掃描所還原備份包含掃描備份以查找勒索軟體。
62.如實例58至61中任一例之方法,其中掃描所還原備份包含掃描備份以查找個人可識別資訊。
63.如實例51至62中任一例之方法,其進一步包含擷取公用雲端中之所還原備份的快照。
64.一種非暫時性電腦可存取儲存媒體,其儲存複數個指令,該複數個指令在執行於一或多個電腦上時使一或多個電腦執行如實例48至63中任一例之方法的操作。
65.一或多個電腦系統,該一或多個電腦系統中之每一者包含耦接至如實例64之電腦可存取儲存媒體的一或多個處理器。
66.一種方法,其包含:在基於雲端的資料保護服務中自第一站台接收第一虛擬機之備份;在雲端中建立第二虛擬機;將備份還原至第二虛擬機;及驗證第二虛擬機中之備份。
67.如實例66之方法,其進一步包含自備份產生檔案索引。
68.如實例66或67之方法,其進一步包含掃描備份以查找一或多個安全威脅。
69.如實例68之方法,其中該一或多個安全威脅包含病毒。
70.如實例68或69之方法,其中該一或多個安全威脅包含勒索軟體。
71.如實例68至70中任一例之方法,其中該一或多個安全威脅包含惡意軟體。
72.如實例68至71中任一例之方法,其中該一或多個安全威脅包含個人可識別資訊。
73.一種非暫時性電腦可存取儲存媒體,其儲存複數個指令,該複數個指令在執行於一或多個電腦上時使一或多個電腦執行如實例66至72中任一例之方法的操作。
74.一或多個電腦系統,該一或多個電腦系統中之每一者包含耦接至如實例73之電腦可存取儲存媒體的一或多個處理器。
實例:還原
75.一種方法,其包含:自公用雲端中之物件儲存器還原基於公用雲端之資料保護服務中的資料集;自資料集讀取複數個還原資料區塊,其中每一還原資料區塊包含複數個備份資料區塊,其中備份資料區塊為用於資料集之備份的資料儲存單元;及將複數個還原資料區塊放置於物件儲存器中。
76.如實例75之方法,其進一步包含在將複數個還原資料區塊放置於物件儲存器中之前壓縮複數個還原資料區塊。
77.如實例75或76之方法,其進一步包含在將複數個還原資料區塊放置於物件儲存器中之前加密複數個還原資料區塊。
78.如實例77之方法,其進一步包含將用以執行加密之金鑰提供至產生請求之請求者。
79.如實例75至78中任一例之方法,其中還原資料集包含將資料集還原至公用雲端中之區塊儲存器。
80.如實例75至79中任一例之方法,其中該資料集包含對應於虛擬機之虛擬磁碟,且其中還原資料集包含叫用公用雲端中之虛擬機執行個體及將虛擬磁碟還原至虛擬機執行個體。
81.如實例80之方法,其進一步包含建立用於虛擬機執行個體之區塊儲存器,其中該虛擬磁碟經還原至區塊儲存器。
82.如實例80或81之方法,其進一步包含回應於將複數個還原區塊放置於物件儲存器中而刪除虛擬機執行個體。
83.如實例75至82中任一例之方法,其進一步包含將用於物件儲存器中之複數個還原區塊的複數個識別符提供至產生請求之請求者。
84.一種非暫時性電腦可存取儲存媒體,其儲存複數個指令,該複數個指令在執行於一或多個電腦上時使一或多個電腦執行如實例75至83中任一例之方法的操作。
85.一或多個電腦系統,該一或多個電腦系統中之每一者包含耦接至如實例84之電腦可存取儲存媒體的一或多個處理器。
86.一種方法,其包含:將虛擬磁碟自備份還原至公用雲端中之虛擬機執行個體;自虛擬磁碟讀取複數個還原資料區塊,其中每一還原資料區塊包含複數個備份資料區塊,且其中備份資料區塊為備份中作為單元而備份的資料區塊;將複數個還原區塊放置於公用雲端中之物件儲存器中;及將複數個還原區塊自物件儲存器取得至站台中,虛擬磁碟先前自該 站台備份;及將還原區塊還原至站台處之虛擬機。
87.如實例86之方法,其進一步包含在將複數個還原資料區塊放置於物件儲存器中之前壓縮複數個還原資料區塊。
88.如實例86或87之方法,其進一步包含在將複數個還原資料區塊放置於物件儲存器中之前加密複數個還原資料區塊。
89.如實例88之方法,其進一步包含將用以執行加密之金鑰提供至站台。
90.如實例86至89中任一例之方法,其中還原資料集包含將資料集還原至公用雲端中之區塊儲存器,其中該區塊儲存器與虛擬機執行個體相關聯。
91.如實例86至90中任一例之方法,其進一步包含回應於將複數個還原區塊放置於物件儲存器中而刪除虛擬機執行個體。
92.如實例86至91中任一例之方法,其進一步包含將用於物件儲存器中之複數個還原區塊的複數個識別符提供至站台。
93.一種非暫時性電腦可存取儲存媒體,其儲存複數個指令,該複數個指令在執行於一或多個電腦上時使一或多個電腦執行如實例86至92中任一例之方法的操作。
94.一或多個電腦系統,該一或多個電腦系統中之每一者包含耦接至如實例93之電腦可存取儲存媒體的一或多個處理器。
95.一種方法,其包含:自公用雲端中之物件儲存器還原基於公用雲端之資料保護服務中的資料集; 自資料集讀取複數個還原資料區塊;及將複數個還原資料區塊放置於物件儲存器中。
實例:基於變更之還原
96.一種方法,其包含:獲得資料集中之備份資料區塊之子集在俘獲對應於資料集之第一備份資料集之後已修改的指示,該子集包含一或多個備份資料區塊;使用基於雲端的資料保護服務自公用雲端中之第一備份資料集至少還原備份資料區塊之子集;回應於指示而自公用雲端中之第一備份資料集讀取備份資料區塊之子集;及用來自該子集之備份資料區塊選擇性地更新資料集之來源處的資料集。
97.如實例96之方法,其中該來源實施變更追蹤服務,且其中獲得指示包含查詢變更追蹤服務。
98.如實例97之方法,其中該查詢包括俘獲第一備份資料集之時間,且其中查詢之結果識別在該時間與當前時間之間已修改的備份資料區塊之子集。
99.如實例96至98中任一例之方法,其進一步包含將來自子集之複數個備份資料區塊串連成還原資料區塊。
100.如實例99之方法,其進一步包含壓縮還原資料區塊。
101.如實例99或實例100之方法,其進一步包含加密還原資料區塊。
102.如實例99至101中任一例之方法,其進一步包含將還原區塊提 供至來源。
103.如實例99至102中任一例之方法,其中提供還原區塊包含藉由基於雲端的資料保護服務將還原區塊放置於公用雲端之物件儲存器中及在來源處自物件儲存器取得還原。
104.一種非暫時性電腦可存取儲存媒體,其儲存複數個指令,該複數個指令在執行於一或多個電腦上時使一或多個電腦執行如實例96至103中任一例之方法的操作。
105.一或多個電腦系統,該一或多個電腦系統中之每一者包含耦接至如實例104之電腦可存取儲存媒體的一或多個處理器。
106.一種方法,其包含:查詢變更追蹤服務以判定用於虛擬機之虛擬磁碟的哪些備份資料區塊自第一虛擬磁碟之第一備份起已修改;自公用雲端中之虛擬機執行個體中的第一備份至少還原指示為修改之備份資料區塊;自公用雲端中之所還原第一備份讀取藉由變更追蹤服務指示為修改之備份資料區塊;及藉由用來自第一備份之備份資料區塊更新站台處之虛擬磁碟來將虛擬磁碟還原至第一備份。
107.如實例106之方法,其進一步包含串連複數個備份資料區塊以形成還原資料區塊。
108.如實例107之方法,其進一步包含壓縮還原資料區塊。
109.如實例107或實例108之方法,其進一步包含加密還原資料區塊。
110.如實例109之方法,其進一步包含解密還原資料區塊及解壓縮還原資料區塊。
111.如實例106至110中任一例之方法,其中該更新係基於來自變更追蹤服務之指示,該指示識別虛擬磁碟中之哪些備份資料區塊已修改。
112.如實例106至111中任一例之方法,其進一步包含將備份資料區塊放置於雲端中之物件儲存器中及將備份資料區塊自物件儲存器取得至站台。
113.如實例112之方法,其進一步包含將備份資料區塊串連成一或多個還原區塊,其中一或多個還原區塊中之每一者包含複數個備份資料區塊,其中將備份資料區塊放置於物件儲存器中包含將一或多個還原區塊放置至物件儲存器中,且自物件儲存器取得備份資料區塊包含自備份儲存器取得一或多個還原區塊。
114.如實例113之方法,其進一步包含在將一或多個還原區塊放置於物件儲存器中之前壓縮及加密一或多個還原區塊。
115.如實例114之方法,其進一步包含解密及解壓縮資料中心中之一或多個還原區塊。
116.如實例114或115之方法,其進一步包含自公用雲端中之金鑰管理服務獲得金鑰以執行加密及解密。
117.一種非暫時性電腦可存取儲存媒體,其儲存複數個指令,該複數個指令在執行於一或多個電腦上時使一或多個電腦執行如實例106至116中任一例之方法的操作。
118.一或多個電腦系統,該一或多個電腦系統中之每一者包含耦接至如實例117之電腦可存取儲存媒體的一或多個處理器。
對於熟習此項技術者而言,一旦已完全瞭解上述揭示內容,眾多變化及修改便將變得顯而易見。預期將以實例解譯為包涵所有此等變化及修改。
170:參考編號/區塊
172:參考編號/區塊
174:參考編號/區塊
176:參考編號/區塊
178:參考編號/區塊
180:大括號/備份後處理
182:參考編號/區塊
184:參考編號/區塊
186:參考編號/區塊
188:參考編號/區塊
190:參考編號/區塊
192:參考編號/區塊

Claims (20)

  1. 一種非暫時性電腦可存取儲存媒體,其儲存形成可在一雲端中執行之一資料保護服務的複數個指令,其中該複數個指令在執行於一或多個電腦系統上使該一或多個電腦系統執行包含以下各者之操作:自一站台接收一第一資料描述符,其中該站台包含一實體位置,該實體位置為屬於一組織之一資料中心所置放處,且其中該第一資料描述符對應於來自該站台之一備份,且其中該第一資料描述符包含指紋的一清單以識別一完整備份資料集中的資料區塊,且其中在該站台用指紋部分地填入該第一資料描述符,該等指紋識別來自該站台之對應備份資料中自一先前備份起已變更的資料區塊,且該第一資料描述符在該站台被組譯且以表示該完整備份資料集的一部分填充(partially-populated)清單而提供,但排除用於來自該站台之該先前備份中未變更的資料區塊的指紋;獲得對應於該先前備份之一第二資料描述符;及將來自該第二資料描述符之指紋合併至該第一資料描述符中之未填入位置中以完成該第一資料描述符。
  2. 如請求項1之非暫時性電腦可存取儲存媒體,其中該接收該第一資料描述符包含:接收用於該第一資料描述符之一識別符,該識別符識別代管該資料保護服務之一雲端之一物件儲存器中的該第一資料描述符;及自該物件儲存器取得該第一資料描述符。
  3. 如請求項2之非暫時性電腦可存取儲存媒體,其中該等操作進一步包含使用該識別符將完成之第一資料描述符放置於該物件儲存器中,覆寫該物件儲存器中經部分填入之該第一資料描述符。
  4. 如請求項1之非暫時性電腦可存取儲存媒體,其中該等操作進一步包含:還原該雲端中之該備份;及驗證所還原備份。
  5. 如請求項4之非暫時性電腦可存取儲存媒體,其中該備份對應於來自該站台之一第一虛擬機,且其中還原該備份包含在該雲端中建立一第二虛擬機及將該備份還原至被提供至該第二虛擬機之一區塊儲存器。
  6. 如請求項5之非暫時性電腦可存取儲存媒體,其中建立該第二虛擬機包含:成功地競價該第二虛擬機之一現成執行個體。
  7. 如請求項5之非暫時性電腦可存取儲存媒體,其中建立該第二虛擬機包含:競價該第二虛擬機之一現成執行個體失敗及建立該第二虛擬機之一隨選執行個體。
  8. 如請求項4之非暫時性電腦可存取儲存媒體,其中該等操作進一步包含自該所還原備份產生一檔案清單。
  9. 如請求項8之非暫時性電腦可存取儲存媒體,其中該等操作進一步包含將該檔案清單放置於一物件儲存器中。
  10. 如請求項4之非暫時性電腦可存取儲存媒體,其中該等操作進一步包含:掃描該所還原備份以查找一或多個安全風險。
  11. 如請求項10之非暫時性電腦可存取儲存媒體,其中掃描該所還原備份包含:掃描該備份以查找病毒。
  12. 如請求項10之非暫時性電腦可存取儲存媒體,其中掃描該所還原備份包含:掃描該備份以查找惡意軟體。
  13. 如請求項10之非暫時性電腦可存取儲存媒體,其中掃描該所還原備份包含:掃描該備份以查找勒索軟體。
  14. 如請求項10之非暫時性電腦可存取儲存媒體,其中掃描該所還原備份包含:掃描該備份以查找個人可識別資訊。
  15. 一種用於資料保護服務之方法,其包含:自一站台接收一第一資料描述符,其中該站台包含一實體位置,該實體位置為屬於一組織之一資料中心所置放處,且其中該第一資料描述符對應於來自該站台之一備份,且其中該第一資料描述符包含指紋的一清單 以識別一完整備份資料集中的資料區塊,且其中在該站台用指紋部分地填入該第一資料描述符,該等指紋識別來自該站台之對應備份資料中自一先前備份起已變更的資料區塊,且該第一資料描述符在該站台被組譯且以表示該完整備份資料集的一部分填充清單而提供,但排除用於來自該站台之該先前備份中未變更的資料區塊的指紋;獲得對應於該先前備份之一第二資料描述符;及將來自該第二資料描述符之指紋合併至該第一資料描述符中之未填入位置中以完成該第一資料描述符。
  16. 如請求項15之方法,其進一步包含將完成之第一資料描述符放置於一物件儲存器中,覆寫該物件儲存器中經部分填入之該第一資料描述符。
  17. 如請求項15之方法,其進一步包含:還原一雲端中之該備份;及驗證所還原備份。
  18. 如請求項17之方法,其進一步包含:掃描該所還原備份以查找一或多個安全風險。
  19. 如請求項17之方法,其進一步包含:掃描該所還原備份以查找個人可識別資訊。
  20. 一或多個電腦系統,該一或多個電腦系統中之每一者包含一或多個 處理器,該一或多個處理器耦接至儲存複數個指令之一非暫時性電腦可存取儲存媒體,該複數個指令在由該一或多個處理器執行時使該一或多個電腦系統執行包含以下各者之操作:自一站台接收一第一資料描述符,其中該站台包含一實體位置,該實體位置為屬於一組織之一資料中心所置放處,且其中該第一資料描述符對應於來自該站台之一備份,且其中該第一資料描述符包含指紋的一清單以識別一完整備份資料集中的資料區塊,且其中在該站台用指紋部分地填入該第一資料描述符,該等指紋識別來自該站台之對應備份資料中自一先前備份起已變更的資料區塊,且該第一資料描述符在該站台被組譯且以表示該完整備份資料集的一部分填充清單而提供,但排除用於來自該站台之該先前備份中未變更的資料區塊的指紋;獲得對應於該先前備份之一第二資料描述符;及將來自該第二資料描述符之指紋合併至該第一資料描述符中之未填入位置中以完成該第一資料描述符。
TW109114694A 2019-04-30 2020-04-30 用於基於雲端的資料保護服務之後處理之非暫時性電腦可存取儲存媒體、方法及電腦系統 TWI786399B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201962840569P 2019-04-30 2019-04-30
US62/840,569 2019-04-30

Publications (2)

Publication Number Publication Date
TW202101237A TW202101237A (zh) 2021-01-01
TWI786399B true TWI786399B (zh) 2022-12-11

Family

ID=70614692

Family Applications (5)

Application Number Title Priority Date Filing Date
TW109114684A TW202107318A (zh) 2019-04-30 2020-04-30 基於雲端的資料保護服務
TW109114692A TWI798547B (zh) 2019-04-30 2020-04-30 從基於雲端的資料保護服務進行還原
TW109114683A TW202107317A (zh) 2019-04-30 2020-04-30 基於雲端的資料保護服務之重複資料刪除
TW109114693A TW202101216A (zh) 2019-04-30 2020-04-30 基於雲端的資料保護服務進行基於變更的還原
TW109114694A TWI786399B (zh) 2019-04-30 2020-04-30 用於基於雲端的資料保護服務之後處理之非暫時性電腦可存取儲存媒體、方法及電腦系統

Family Applications Before (4)

Application Number Title Priority Date Filing Date
TW109114684A TW202107318A (zh) 2019-04-30 2020-04-30 基於雲端的資料保護服務
TW109114692A TWI798547B (zh) 2019-04-30 2020-04-30 從基於雲端的資料保護服務進行還原
TW109114683A TW202107317A (zh) 2019-04-30 2020-04-30 基於雲端的資料保護服務之重複資料刪除
TW109114693A TW202101216A (zh) 2019-04-30 2020-04-30 基於雲端的資料保護服務進行基於變更的還原

Country Status (5)

Country Link
US (5) US20200349013A1 (zh)
EP (4) EP3963457A1 (zh)
AU (4) AU2020264946B2 (zh)
TW (5) TW202107318A (zh)
WO (5) WO2020223103A1 (zh)

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU2020264946B2 (en) 2019-04-30 2022-11-17 Clumio, Inc. Deduplication in a cloud-based data protection service
US11238106B2 (en) * 2019-05-17 2022-02-01 Sap Se Fingerprints for compressed columnar data search
US11347881B2 (en) * 2020-04-06 2022-05-31 Datto, Inc. Methods and systems for detecting ransomware attack in incremental backup
US11218450B2 (en) * 2019-09-11 2022-01-04 Commvault Systems, Inc. Data protection component scaling in a cloud-based data storage system
US11755383B2 (en) * 2019-12-31 2023-09-12 Vmware, Inc. Hybrid inventory data summarization using various input schema across hybrid cloud infrastructure
US10979432B1 (en) 2020-06-23 2021-04-13 Slack Technologies, Inc. Hosted communication channels on communication platform
US11327673B1 (en) * 2020-10-23 2022-05-10 Oracle International Corporation Techniques for persisting data across instances of a cloud shell
US20220150241A1 (en) * 2020-11-11 2022-05-12 Hewlett Packard Enterprise Development Lp Permissions for backup-related operations
US11650954B2 (en) * 2020-11-13 2023-05-16 Kyndryl, Inc. Replication continued enhancement method
US20220179701A1 (en) * 2020-12-09 2022-06-09 Dell Products L.P. System and method for dynamic data protection architecture
US11928515B2 (en) 2020-12-09 2024-03-12 Dell Products L.P. System and method for managing resource allocations in composed systems
US11934875B2 (en) 2020-12-09 2024-03-19 Dell Products L.P. Method and system for maintaining composed systems
US20220237026A1 (en) * 2021-01-28 2022-07-28 Microsoft Technology Licensing, Llc Volatile memory acquisition
US11971989B2 (en) 2021-02-02 2024-04-30 Predatar Ltd Computer recovery system
US11321196B1 (en) * 2021-02-05 2022-05-03 Hitachi, Ltd. Disaster recovery collaborated with storage system and backup appliance in hybrid cloud environment
US11809280B2 (en) * 2021-03-05 2023-11-07 EMC IP Holding Company LLC Synchronizing expirations for incremental backup data stored on a cloud-based object storage
US11474733B2 (en) * 2021-03-05 2022-10-18 EMC IP Holding Company LLC Public cloud provider cost optimization for writing data blocks directly to object storage
TWI783430B (zh) * 2021-04-08 2022-11-11 國立勤益科技大學 資料分享優惠交換系統
TWI789984B (zh) * 2021-06-11 2023-01-11 威聯通科技股份有限公司 合成增量資料備份方法、系統及電腦可讀取儲存媒體
US11947697B2 (en) 2021-07-22 2024-04-02 Dell Products L.P. Method and system to place resources in a known state to be used in a composed information handling system
US12013768B2 (en) 2021-07-22 2024-06-18 Dell Products L.P. Method and system for automated healing of hardware resources in a composed information handling system
US12008412B2 (en) 2021-07-28 2024-06-11 Dell Products Resource selection for complex solutions
US11928506B2 (en) 2021-07-28 2024-03-12 Dell Products L.P. Managing composition service entities with complex networks
US20230034521A1 (en) * 2021-07-30 2023-02-02 Nutanix, Inc. Computing cluster bring-up on any one of a plurality of different public cloud infrastructures
DE102022104113A1 (de) 2022-02-22 2023-08-24 Lenze Se Verfahren zum Bereitstellen eines Datenzugriffs auf eine technische Einrichtung und technische Einrichtung
TWI819916B (zh) * 2022-12-07 2023-10-21 中華電信股份有限公司 基於分散式儲存技術之雲服務虛擬機災難備援系統及其方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101441583A (zh) * 2007-03-29 2009-05-27 数据中心技术公司 单一实例存储池的复制和恢复
US8825972B1 (en) * 2010-11-19 2014-09-02 Symantec Corporation Method and system of producing a full backup image using an incremental backup method
TW201602802A (zh) * 2012-05-16 2016-01-16 蘋果公司 本端備份之基於雲端儲存
CN108021470A (zh) * 2017-10-27 2018-05-11 努比亚技术有限公司 一种资料备份方法、移动终端及计算机可读存储介质

Family Cites Families (72)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7055008B2 (en) * 2003-01-22 2006-05-30 Falconstor Software, Inc. System and method for backing up data
US8010491B2 (en) 2003-02-28 2011-08-30 Microsoft Corporation Method for managing multiple file states for replicated files
US7650533B1 (en) 2006-04-20 2010-01-19 Netapp, Inc. Method and system for performing a restoration in a continuous data protection system
US7685171B1 (en) 2006-09-22 2010-03-23 Emc Corporation Techniques for performing a restoration operation using device scanning
US8285681B2 (en) 2009-06-30 2012-10-09 Commvault Systems, Inc. Data object store and server for a cloud storage environment, including data deduplication and data management across multiple cloud storage sites
US8438349B2 (en) 2009-08-21 2013-05-07 Symantec Corporation Proxy backup of virtual disk image files on NAS devices
US20110055471A1 (en) 2009-08-28 2011-03-03 Jonathan Thatcher Apparatus, system, and method for improved data deduplication
US20110078303A1 (en) 2009-09-30 2011-03-31 Alcatel-Lucent Usa Inc. Dynamic load balancing and scaling of allocated cloud resources in an enterprise network
US8805968B2 (en) * 2010-05-03 2014-08-12 Panzura, Inc. Accessing cached data from a peer cloud controller in a distributed filesystem
US9811532B2 (en) * 2010-05-03 2017-11-07 Panzura, Inc. Executing a cloud command for a distributed filesystem
US8396841B1 (en) * 2010-11-30 2013-03-12 Symantec Corporation Method and system of multi-level and multi-mode cloud-based deduplication
US8904120B1 (en) * 2010-12-15 2014-12-02 Netapp Inc. Segmented fingerprint datastore and scaling a fingerprint datastore in de-duplication environments
CN102831127B (zh) 2011-06-17 2015-04-22 阿里巴巴集团控股有限公司 重复数据处理方法、装置及系统
US8630983B2 (en) 2011-08-27 2014-01-14 Accenture Global Services Limited Backup of data across network of devices
US9804928B2 (en) 2011-11-14 2017-10-31 Panzura, Inc. Restoring an archived file in a distributed filesystem
TW201324156A (zh) 2011-12-12 2013-06-16 Univ Nan Kai Technology 資料備份還原系統及其方法
US8700634B2 (en) 2011-12-29 2014-04-15 Druva Inc. Efficient deduplicated data storage with tiered indexing
US8996467B2 (en) 2011-12-29 2015-03-31 Druva Inc. Distributed scalable deduplicated data backup system
US20140006375A1 (en) 2012-07-02 2014-01-02 Andrea G. FORTE Method and apparatus for robust mobile application fingerprinting
US9298723B1 (en) 2012-09-19 2016-03-29 Amazon Technologies, Inc. Deduplication architecture
US9495379B2 (en) * 2012-10-08 2016-11-15 Veritas Technologies Llc Locality aware, two-level fingerprint caching
GB2507779A (en) 2012-11-09 2014-05-14 Ibm Terminating a virtual machine in response to user inactivity in a cloud computing environment
CN103023970B (zh) 2012-11-15 2015-07-22 中国科学院计算机网络信息中心 一种物联网海量数据存储方法及系统
CN103873506A (zh) 2012-12-12 2014-06-18 鸿富锦精密工业(深圳)有限公司 存储集群中的数据块去重系统及方法
US9811423B2 (en) * 2013-01-11 2017-11-07 Commvault Systems, Inc. Partial file restore in a data storage system
US9607065B2 (en) 2013-04-26 2017-03-28 Netapp, Inc. Hierarchical coherency log for managing a distributed data storage system
US9213706B2 (en) 2013-06-13 2015-12-15 DataGravity, Inc. Live restore for a data intelligent storage system
CN103279568A (zh) * 2013-06-18 2013-09-04 无锡紫光存储系统有限公司 一种元数据管理系统及方法
US9208335B2 (en) * 2013-09-17 2015-12-08 Auburn University Space-time separated and jointly evolving relationship-based network access and data protection system
US9292520B1 (en) 2013-11-27 2016-03-22 Emc Corporation Advanced virtual synthetic full backup synthesized from previous full-backups
TWI676898B (zh) 2013-12-09 2019-11-11 安然國際科技有限公司 分散式記憶體磁碟群集儲存系統運作方法
US20150227600A1 (en) 2014-02-13 2015-08-13 Actifio, Inc. Virtual data backup
US9747163B2 (en) 2014-04-10 2017-08-29 Druva Technologies Pte. Ltd. Pre-population of data for replication of data backups
US11099946B1 (en) * 2014-06-05 2021-08-24 EMC IP Holding Company LLC Differential restore using block-based backups
US10387378B2 (en) 2014-07-04 2019-08-20 Druva Technologies Pte. Ltd. Storage and retrieval of file-level changes on deduplication backup server
US10152487B1 (en) 2014-09-29 2018-12-11 EMC IP Holding Company LLC System and method for a cloud storage provider to safely deduplicate encrypted backup objects
EP3213211A4 (en) 2014-10-29 2017-09-06 Hewlett-Packard Enterprise Development LP Data restoration using allocation maps
US20160142485A1 (en) * 2014-11-19 2016-05-19 Commvault Systems, Inc. Migration to cloud storage from backup
US9749300B1 (en) 2015-03-30 2017-08-29 EMC IP Holding Company LLC Method and system for immediate recovery of virtual machines encrypted in the cloud
US10073855B2 (en) * 2015-05-21 2018-09-11 Exagrid Systems, Inc. Dynamic and optimized management of grid system resources
CN114356651A (zh) 2015-05-27 2022-04-15 谷歌有限责任公司 用于移动设备上的自动基于云的全数据备份和恢复的系统和方法
US9940203B1 (en) 2015-06-11 2018-04-10 EMC IP Holding Company LLC Unified interface for cloud-based backup and restoration
US9740577B1 (en) * 2015-08-31 2017-08-22 EMC IP Holding Company LLC Backing up a virtual machine and restoring from a synthetic full backup
US10437682B1 (en) 2015-09-29 2019-10-08 EMC IP Holding Company LLC Efficient resource utilization for cross-site deduplication
US10747447B1 (en) * 2015-09-30 2020-08-18 EMC IP Holding LLC Storing de-duplicated data with minimal reference counts
US10514986B2 (en) * 2015-09-30 2019-12-24 Commvault Systems, Inc. Dynamic triggering of block-level backups based on block change thresholds and corresponding file identities in a data storage management system
US20170147441A1 (en) 2015-11-20 2017-05-25 Netapp, Inc. Selective Data Roll-Back and Roll-Forward
US11263171B2 (en) 2015-12-09 2022-03-01 Druva Inc. Unified time-indexed catalogue for multiple archived snapshots
US10133745B2 (en) 2015-12-17 2018-11-20 Druva Technologies Pte. Ltd. Active repartitioning in a distributed database
US10275317B2 (en) 2016-01-21 2019-04-30 Druva Technologies Pte. Ltd. Time-based data retirement for globally de-duplicated archival storage
US9830233B2 (en) * 2016-01-29 2017-11-28 Netapp, Inc. Online backup to an object service using bulk export
US10606879B1 (en) 2016-02-29 2020-03-31 Gracenote, Inc. Indexing fingerprints
EP3427152A1 (en) 2016-03-08 2019-01-16 Hytrust, Inc. Active data-aware storage manager
US10565067B2 (en) 2016-03-09 2020-02-18 Commvault Systems, Inc. Virtual server cloud file system for virtual machine backup from cloud operations
US10346252B1 (en) 2016-03-30 2019-07-09 EMC IP Holding Company LLC Data protection in a multi-site cloud computing environment
US10628444B1 (en) * 2016-06-24 2020-04-21 EMC IP Holding Company LLC Incremental backup operations for on-line availability groups
US10713072B1 (en) 2016-06-27 2020-07-14 Amazon Technologies, Inc. Computing resource provisioning
US10417098B2 (en) 2016-06-28 2019-09-17 International Business Machines Corporation File level access to block level incremental backups of a virtual disk
US10824589B2 (en) * 2016-10-28 2020-11-03 Netapp, Inc. Snapshot metadata arrangement for efficient cloud integrated data management
US10698768B2 (en) 2016-11-08 2020-06-30 Druva, Inc. Systems and methods for virtual machine file exclusion
US10802925B2 (en) 2017-01-05 2020-10-13 Druva Inc. Synthetic full backup storage over object storage
US10552469B2 (en) * 2017-01-06 2020-02-04 Oracle International Corporation File system hierarchy mirroring across cloud data stores
US11138247B2 (en) 2017-04-07 2021-10-05 Druva, Inc. Systems and methods for a full text search engine implemented using object storage techniques
EP3396580B1 (en) 2017-04-25 2020-01-01 Druva, Inc. Multi-step approach for ransomware detection
US11113153B2 (en) * 2017-07-27 2021-09-07 EMC IP Holding Company LLC Method and system for sharing pre-calculated fingerprints and data chunks amongst storage systems on a cloud local area network
US11221920B2 (en) * 2017-10-10 2022-01-11 Rubrik, Inc. Incremental file system backup with adaptive fingerprinting
CN107885619A (zh) 2017-11-16 2018-04-06 郑州云海信息技术有限公司 一种数据精简去重和镜像异地备份保护的方法及系统
US10303555B1 (en) * 2017-12-23 2019-05-28 Rubrik, Inc. Tagging data for automatic transfer during backups
US10585746B2 (en) * 2018-02-02 2020-03-10 EMC IP Holding Company LLC Tracking status and restarting distributed replication
US11379254B1 (en) * 2018-11-18 2022-07-05 Pure Storage, Inc. Dynamic configuration of a cloud-based storage system
JP7301580B2 (ja) 2019-03-29 2023-07-03 キヤノン株式会社 情報処理システム、情報処理装置、情報処理方法
AU2020264946B2 (en) 2019-04-30 2022-11-17 Clumio, Inc. Deduplication in a cloud-based data protection service

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101441583A (zh) * 2007-03-29 2009-05-27 数据中心技术公司 单一实例存储池的复制和恢复
US8825972B1 (en) * 2010-11-19 2014-09-02 Symantec Corporation Method and system of producing a full backup image using an incremental backup method
TW201602802A (zh) * 2012-05-16 2016-01-16 蘋果公司 本端備份之基於雲端儲存
CN108021470A (zh) * 2017-10-27 2018-05-11 努比亚技术有限公司 一种资料备份方法、移动终端及计算机可读存储介质

Also Published As

Publication number Publication date
AU2020266496B2 (en) 2023-01-12
WO2020223141A1 (en) 2020-11-05
US20200351347A1 (en) 2020-11-05
AU2020264946A1 (en) 2021-11-04
WO2020223103A1 (en) 2020-11-05
US20200349014A1 (en) 2020-11-05
TW202107318A (zh) 2021-02-16
AU2020267132B2 (en) 2022-11-24
US20200349013A1 (en) 2020-11-05
WO2020223099A3 (en) 2020-12-10
AU2020264946B2 (en) 2022-11-17
EP3963454A1 (en) 2022-03-09
AU2020267130B2 (en) 2022-11-03
WO2020223117A1 (en) 2020-11-05
US11888935B2 (en) 2024-01-30
AU2020266496A1 (en) 2021-11-04
WO2020223099A2 (en) 2020-11-05
EP3963456A2 (en) 2022-03-09
EP3963455A1 (en) 2022-03-09
TWI798547B (zh) 2023-04-11
US20200349015A1 (en) 2020-11-05
TW202107319A (zh) 2021-02-16
TW202101237A (zh) 2021-01-01
AU2020267132A1 (en) 2021-11-04
TW202101216A (zh) 2021-01-01
AU2020267130A1 (en) 2021-11-04
TW202107317A (zh) 2021-02-16
EP3963457A1 (en) 2022-03-09
US20200349016A1 (en) 2020-11-05
WO2020223116A1 (en) 2020-11-05
US11388233B2 (en) 2022-07-12

Similar Documents

Publication Publication Date Title
TWI786399B (zh) 用於基於雲端的資料保護服務之後處理之非暫時性電腦可存取儲存媒體、方法及電腦系統
US8805788B2 (en) Transactional virtual disk with differential snapshots
US11797490B2 (en) Multi-cloud bi-directional storage replication system and techniques
US11574050B2 (en) Media agent hardening against ransomware attacks
US20170004047A1 (en) Consolidated full backup of a restored virtual machine
US10474539B1 (en) Browsing federated backups
EP2891106A1 (en) Mechanism for facilitating encryption-free integrity protection of storage data at computing systems
US11086726B2 (en) User-based recovery point objectives for disaster recovery
US20220091940A1 (en) Backup task processing in a data storage system
Hsu et al. Data concealments with high privacy in new technology file system
US20230306129A1 (en) Sensitive data discovery for databases
Shaik PostgreSQL Configuration: Best Practices for Performance and Security