CN112470121A - 经由数据块下载恢复映像 - Google Patents
经由数据块下载恢复映像 Download PDFInfo
- Publication number
- CN112470121A CN112470121A CN201880096174.9A CN201880096174A CN112470121A CN 112470121 A CN112470121 A CN 112470121A CN 201880096174 A CN201880096174 A CN 201880096174A CN 112470121 A CN112470121 A CN 112470121A
- Authority
- CN
- China
- Prior art keywords
- recovery
- data block
- block
- instructions
- data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000011084 recovery Methods 0.000 claims abstract description 201
- 230000004044 response Effects 0.000 claims abstract description 28
- 238000000034 method Methods 0.000 description 17
- 238000012546 transfer Methods 0.000 description 7
- 238000005192 partition Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000012790 confirmation Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000001902 propagating effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000010200 validation analysis Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
- G06F8/654—Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1458—Management of the backup or restore process
- G06F11/1464—Management of the backup or restore process for networked environments
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1415—Saving, restoring, recovering or retrying at system level
- G06F11/1433—Saving, restoring, recovering or retrying at system level during software upgrading
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1448—Management of the data involved in backup or backup restore
- G06F11/1451—Management of the data involved in backup or backup restore by selection of backup contents
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1458—Management of the backup or restore process
- G06F11/1461—Backup scheduling policy
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1458—Management of the backup or restore process
- G06F11/1469—Backup restoration techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0608—Saving storage space on storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/0644—Management of space entities, e.g. partitions, extents, pools
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
- G06F3/0688—Non-volatile semiconductor memory arrays
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/61—Installation
- G06F8/63—Image based installation; Cloning; Build to order
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Human Computer Interaction (AREA)
- Software Systems (AREA)
- Computer Security & Cryptography (AREA)
- Retry When Errors Occur (AREA)
- Information Transfer Between Computers (AREA)
Abstract
示例非暂时性计算机可读存储介质包括指令,所述指令在被执行时使得计算设备的处理器:响应于从在计算设备的操作系统处可执行的恢复代理接收到块大小请求,经由计算设备的固件指令确定块大小;将块大小从固件指令传输到恢复代理;依次从恢复代理接收恢复映像的数据块;将数据块存储在计算设备的存储设备中;以及使用数据块构建恢复映像。
Description
背景技术
计算设备的操作系统可以控制计算设备的许多方面。当操作系统被破坏或损坏时,计算设备的操作可能被严重限制,或者可能使计算设备不可操作。
附图说明
关于以下附图描述本申请的一些示例:
图1图示了根据示例的经由数据块将恢复映像从服务器传输到计算设备的系统;
图2图示了根据示例的在恢复映像下载操作期间在图1的系统的恢复代理与图1的系统的固件指令之间的消息和数据交换;
图3图示了根据示例的用于经由数据块下载恢复映像的在计算设备处的操作的方法;
图4图示了根据另一示例的用于经由数据块下载恢复映像的在计算设备处的操作的方法;
图5图示了根据示例的用于经由数据块下载恢复映像的计算设备;
图6图示了根据另一示例的用于经由数据块下载恢复映像的计算设备;以及
图7图示了根据另一示例的用于经由数据块下载恢复映像的计算设备。
具体实施方式
当计算设备的操作系统被破坏或损坏时,可以经由恢复操作来修复操作系统。计算设备可以将恢复映像存储在计算设备的存储设备的保留分区中。计算设备可以使用恢复映像替换破坏或损坏的操作系统。然而,一旦计算设备更新了操作系统(例如,通过安装安全补丁),存储的恢复映像可能变得过时。这可能产生安全问题和用户摩擦(friction),因为操作系统将在没有最新安全补丁的情况下恢复,并且用户还可能不得不花费大量时间安装安全补丁。此外,保留分区可能减少可用于由计算设备使用的磁盘空间。
本文中描述的示例提供了一种用于经由数据块下载恢复映像的方法。例如,非暂时性计算机可读存储介质可以包括指令,所述指令在被执行时使得计算设备的处理器:响应于从在计算设备的操作系统处可执行的恢复代理接收到块大小请求,经由计算设备的固件指令确定块大小;将块大小从固件指令传输到恢复代理;依次从恢复代理接收恢复映像的数据块;将数据块存储在计算设备的存储设备中;以及使用数据块构建恢复映像。
在另一示例中,非暂时性计算机可读存储介质可以包括指令,所述指令在被执行时使得计算设备的处理器:经由在计算设备的操作系统处可执行的恢复代理从计算设备的固件指令请求块大小;响应于接收到块大小,经由恢复代理从服务器下载恢复映像的第一数据块,其中第一数据块的大小对应于块大小;从服务器接收第一数据块;将第一数据主体(trunk)从恢复代理传输到固件指令;以及响应于从固件指令接收到与第一数据块相关联的确认,经由恢复代理从服务器下载恢复映像的第二数据块。
在另一示例中,计算设备可以包括第一存储设备、存储在第一存储设备中的固件指令、第二存储设备、恢复代理和操作系统(OS)、第三存储设备以及处理器。恢复代理和OS可以被存储在第二存储设备中。处理器可以经由固件指令来确定恢复映像的块大小。处理器还可以经由恢复代理从服务器下载恢复映像的第一数据块。第一数据块的大小可以对应于块大小。处理器可以进一步响应于第一数据块是有效的确定而经由恢复代理从服务器下载恢复映像的第二数据块。第二数据块的大小可以对应于块大小。处理器可以进一步经由固件指令将第一数据块和第二数据块存储在第三存储设备中。处理器可以进一步经由固件指令使用第一块和第二块来构建恢复映像。本文中描述的示例可以增加与修复操作系统相关联的灵活性和/或便利性。
图1图示了根据示例的经由数据块将恢复映像从服务器传输到计算设备的系统100。系统100可以包括计算设备102和服务器104。
计算设备102可以是例如笔记本计算机、台式计算机、一体机系统、平板计算设备、移动电话、电子书阅读器或适于经由数据块下载恢复映像的任何其他电子设备。在一些示例中,服务器104可以类似于计算设备102。在一些示例中,服务器104可以是基于web的服务器、局域网服务器、基于云的服务器或者适于经由数据块传输恢复映像的任何其他电子设备。
计算设备102可以包括处理器106、第一存储设备108、第二存储设备110和第三存储设备112。第一存储设备108、第二存储设备110和第三存储设备112可以各自是不同的设备。计算设备102还可以包括被存储在第一存储设备108中的固件指令114。计算设备102可以进一步包括操作系统(OS)116和恢复代理118。OS 116和恢复代理118可以被存储在第二存储设备110中。
如本文中所使用的,第一存储设备108、第二存储设备110和第三存储设备112可以是非易失性存储器。非易失性存储器即使在已经被功率循环(power cycled)后也可以保留存储的数据。在一些示例中,可以使用电可擦除可编程只读存储器(EEPROM)设备(例如,EEPROM芯片)来实现第一存储设备108。可以使用固态驱动器(SSD)或硬盘驱动器(HDD)来实现第二存储设备110。可以使用嵌入式多媒体卡(eMMC)设备来实现第三存储设备112。
如本文中所使用的,固件指令114可以是可由处理器106执行的一系列指令。固件指令114可以被存储在非易失性存储器(诸如第一存储设备108)中。固件指令114可以是计算设备102的基本输入/输出系统(BIOS),其在计算设备102正在启动时初始化计算设备102的硬件并加载OS 116。可以基于统一可扩展固件接口(UEFI)规范来实现固件指令114。
如本文中所使用的,OS 116可以是可由处理器106执行的一系列指令。当OS 116正在执行时,OS 116可以管理计算设备102的硬件和软件资源两者。在一些示例中,OS 116可以被实现为32位操作系统。在一些示例中,OS 116可以被实现为64位操作系统。在一些示例中,OS 116可以被实现为Windows操作系统。在一些示例中,OS 116可以被实现为Linux操作系统。
如本文中所使用的,恢复代理118可以是可由处理器106执行的一系列指令。恢复代理118可以被实现为在OS 116内执行的后台进程(例如,Windows服务、守护进程(daemon)等)。
在操作期间,恢复代理118可以自动(即,没有任何用户输入)周期性地(例如,每小时、每天等)执行。在执行期间,恢复代理118可以确定是否已经满足恢复映像更新条件。在一些示例中,恢复代理118可以与服务器104通信,以确定存储在服务器104中的第二恢复映像120的日期。恢复代理118可以将第二恢复映像120的日期与存储在第三存储设备112中的第一恢复映像122的日期进行比较。如本文中所使用的,恢复映像(第一恢复映像122和第二恢复映像120)可以是包含OS 116的内容和结构的文件。
恢复代理118可以基于比较来确定是否已经满足恢复映像更新条件。如果第一恢复映像122的日期比第二恢复映像120的数据旧,则恢复代理118可以确定已经满足恢复映像更新条件。因此,恢复代理118可以确定要下载第二恢复映像120来替换第一恢复映像122。在一些示例中,代替日期,可以使用其他方面(诸如恢复映像120和122的相应版本号、时效(age)等)来执行比较。
在一些示例中,每次执行恢复代理118时,恢复代理118可以在不执行比较的情况下从服务器104下载恢复映像。在一些示例中,如果恢复代理118检测到第三存储设备112中没有存储恢复映像,则恢复代理118可以从服务器104下载恢复映像。
响应于要从服务器104下载第二恢复映像120的确定,恢复代理118可以从固件指令114接收要用于下载第二恢复映像120的块大小。恢复代理118可以以数据块形式下载第二恢复映像120,其中每个数据块的大小基于块大小。例如,块大小可以是1024字节。当块大小被确定时,恢复代理118可以通过从服务器104请求第二恢复映像120的数据块来开始下载第二恢复映像120。
响应于接收到请求,服务器104可以依次传输数据块。例如,服务器104可以将第一数据块124传输到恢复代理118。响应于接收到第一数据块124,恢复代理118可以将第一数据块124传输到固件指令114。固件指令114可以验证第一数据块124。在一些示例中,固件指令114可以使用散列值来验证第一数据块124。
响应于第一数据块124是有效的确定,固件指令114可以向恢复代理118确认固件指令114已经接受第一数据块124。此外,固件指令114可以将第一数据块124存储在第三存储设备112中。在一些示例中,第三存储设备112可以是仅可由固件指令114访问的。OS 116可能无法访问第三存储设备112。因此,如果包括OS 116,则不太可能包括存储在第三存储设备112中的数据(例如,第一数据块124)。响应于从固件指令114接收到与第一数据块124相关联的确认,恢复代理118可以开始从服务器104下载第二恢复映像120的第二数据块126。响应于第一数据块124是无效的确定,固件指令114可以拒绝第一数据块124。当固件指令114拒绝第一数据块124时,恢复代理118可以再次下载第一数据块124。
在用于修复或替换OS 116的恢复操作期间,固件指令114可以删除第一恢复映像122并使用第二恢复映像120的所有数据块(例如,第一数据块124和第二数据块126)在第三存储设备112中构建第二恢复映像120。当构建第二恢复映像120时,固件指令114可以丢弃第二恢复映像120的所有数据块。在一些示例中,在固件指令114要构建第二恢复映像120之前,固件指令114可以再次验证所有数据块。当验证了所有数据块时,固件指令114可以构建第二恢复映像120,并使用第二恢复映像120来修复和/或替换OS 116。
通过以数据块形式下载第二恢复映像120并将数据块直接存储在第三存储设备112中,可以避免第二存储设备110中用于恢复映像存储的保留分区。因此,第二存储设备110中的更多存储空间可以可用于供计算设备102的用户使用。此外,在恢复操作期间可以避免计算设备102的重启,因为第二恢复映像120没有从第二存储设备110被复制到第三存储设备112。
图2图示了根据示例的在恢复映像下载操作期间在图1的计算设备102的恢复代理118与计算设备102的固件指令114之间的消息和数据交换。
响应于恢复代理118要从服务器104下载恢复映像(诸如第二恢复映像120)的确定,恢复代理118可以将块大小请求202传输到固件指令114。响应于接收到块大小请求202,固件指令114可以确定块大小204。在一些示例中,块大小204可以是固定的并且存储在计算设备102中(例如,在第一存储设备108中)。固件指令114可以检索块大小204并将块大小204传输到恢复代理118。
在一些示例中,固件指令114可以基于块大小请求202动态地确定块大小204。即,固件指令114可以针对每个块大小请求确定不同的块大小。在一些示例中,块大小请求202可以包括第二恢复映像120的大小、计算设备102处的网络连接的质量、处理器106的利用率百分比或其组合。应当理解,块大小请求202可以包括指示计算设备102上的工作负载的任何其他信息。
使用块大小请求202中的信息,固件指令114可以计算块大小204,使得下载数据块可以对计算设备102的性能具有最小的影响。例如,代替为了较短的下载过程将块大小204设置为较大的单位(例如,以兆字节为单位),当计算设备102处于繁重的工作负载下和/或网络连接具有低带宽时,固件指令114可以将块大小204设置为较小的单位(例如以字节为单位)。当计算设备102具有轻的工作负载和/或网络连接具有高带宽时,固件指令114可以将块大小204设置为较大的单位。
当确定了块大小204时,固件指令114可以将块大小204传输到恢复代理118。恢复代理118可以开始从服务器104以数据块形式下载第二恢复映像120。每个数据块可以具有对应于块大小204的大小。当恢复代理118从服务器104接收到第一数据块124时,恢复代理118可以将第一数据块124传输到固件指令114。
当固件指令114成功验证第一数据块124时,固件指令114可以将与第一数据块124相关联的确认206传输到恢复代理118。固件指令114可以将第一数据块124存储在第三存储设备112中,如图1中所描述的那样。确认206可以向恢复代理118指示固件指令114已经接受了第一数据块124。响应于接收到确认206,恢复代理118可以从服务器104下载下一个数据块(例如,第二数据块126),然后将第二数据块126传输到固件指令114。固件指令114可以以与第一数据块124相同的方式处理第二数据块126。
当固件指令114无法成功地验证第一数据块124时,固件指令114可以将与第一数据块124相关联的错误消息208传输到恢复代理118。错误消息208可以指示固件指令114已经拒绝了第一数据块124。响应于接收到错误消息208,恢复代理118可以再次从服务器104下载第一数据块124以重复该过程。
当固件指令114已经接收并接受了第二恢复映像120的所有数据块时,固件指令114可以将终止消息210传输到恢复代理118以指示第二恢复映像120的下载已经完成。响应于接收到终止消息210,恢复代理118可以终止与服务器104的下载过程。
图3图示了根据示例的用于经由数据块下载恢复映像的在计算设备处的操作的方法300。方法300可以由图1-2的恢复代理118来实现。
在302处,恢复代理118可以确定是否已经满足恢复映像更新条件。例如,恢复代理118可以将第一恢复映像122与第二恢复映像120进行比较。如果第一恢复映像122比第二恢复映像120旧,则恢复代理118可以确定已经满足恢复映像更新条件。在304处,响应于已经满足恢复映像更新条件的确定,恢复代理118可以从固件指令114请求块大小204。例如,恢复代理118可以将块大小请求202传输到固件指令114以请求块大小204。
在306处,恢复代理118可以基于块大小204从服务器104下载数据块。例如,恢复代理118可以从服务器104下载第二恢复映像120的第一数据块124。在308处,恢复代理118可以将第一数据块124传输到固件指令114。在310处,恢复代理118可以确定第一数据块124是否已经被固件指令114接受。例如,当第一数据块124已经被接受时,恢复代理118可以从固件指令114接收确认206。当第一数据块已经被拒绝时,恢复代理118可以从固件指令114接收错误消息208。
当第一数据块124已经被拒绝时,恢复代理118可以再次从服务器104下载第一数据块124。当第一数据块124已经被接受时,在312处,恢复代理118可以确定是否已经接收到终止消息210。当已经接收到终止消息210时,恢复代理118可以终止第二恢复映像120的下载过程。当恢复代理118尚未接收到终止消息210时,在314处,恢复代理118可以从服务器104下载第二恢复映像120的下一个数据块(例如,第二数据块126)。
图4图示了根据另一示例的用于经由数据块下载恢复映像的在计算设备处的操作的方法400。方法400可以由图1-2的固件指令114实现。
在402处,固件指令114可以从恢复代理118接收块大小请求202。在404处,固件指令114可以基于块大小请求202来确定块大小204。在一些示例中,块大小204可以是固定的,并且可以被存储在第三存储设备112中。因此,固件指令114可以响应于接收到块大小请求202来检索固定的块大小204。在一些示例中,可以基于块大小请求202中的信息来计算块大小204。块大小请求202可以包括指示计算设备102的工作负载的信息,固件指令114可以基于工作负载来计算块大小204。
在406处,固件指令114可以将块大小204传输到恢复代理118。在408处,固件指令114可以从恢复代理118接收数据块,诸如第一数据块124。在410处,固件指令114可以验证第一数据块124以确定是否要接受第一数据块124。当第一数据块124被成功验证时,固件指令114可以接受第一数据块124。例如,当第一数据块124的散列值与预期的散列值匹配时,固件指令114可以成功地验证第一数据块124。当散列值与预期的散列值不匹配时,第一数据块124可能未能通过验证。
在412处,当固件指令114拒绝第一数据块124时,固件指令114可以将错误消息208传输到恢复代理118以指示第一数据块124已经被拒绝。在414处,当固件指令114接受第一数据块124时,固件指令114可以将第一数据块124存储在第三存储设备112中。在416处,固件指令114可以将确认206传输到恢复代理118以指示第一数据块124已经被接受。
在418处,固件指令114可以确定是否更多数据块将来自恢复代理118。例如,恢复代理118可以从服务器104获得第二恢复映像120的大小。恢复代理118可以在块大小请求202中包括第二恢复映像120的大小。固件指令114可以基于第二恢复映像120的大小来计算数据块的数量。固件指令114可以对接受的数据块的数量进行计数,以确定是否更多的数据块将来自恢复代理118。当预期更多数据块时,固件指令114可以等待来自恢复代理118的下一个数据块。
在420处,当固件指令114确定已经接受了最后的数据块时,固件指令114可以将终止消息210传输到恢复代理118以指示第二恢复映像120的所有数据块已经被接收和接受。因此,恢复代理118可以终止第二恢复映像120的下载过程。
图5图示了根据示例的用于经由数据块下载恢复映像的计算设备500。计算设备500可以实现图1的计算设备102。计算设备500可以包括处理器502和计算机可读存储介质504。
处理器502可以是中央处理单元(CPU)、基于半导体的微处理器和/或适用于检索和执行存储在计算机可读存储介质504中的指令的其他硬件设备。处理器502可以取出、解码和执行指令506、508、510、512和514,以从诸如服务器104的服务器下载恢复映像。作为检索和执行指令的替代或除了检索和执行指令之外,处理器502可以包括至少一个电子电路,该电子电路包括用于执行指令506、508、510、512、514或其组合的功能的电子组件。
计算机可读存储介质504可以是包含或存储可执行指令的任何电子、磁性、光学或其他物理存储设备。因此,计算机可读存储介质504可以是例如随机存取存储器(RAM)、电可擦除可编程只读存储器(EEPROM)、存储设备、光盘等。在一些示例中,存储介质504可以是非暂时性存储介质,其中术语“非暂时性”不包括暂时性传播信号。计算机可读存储介质504可以编码有一系列处理器可执行指令506、508、510、512和514。
块大小确定指令506可以确定块大小204。例如,参考图2,固件指令114可以确定块大小204。块大小传输指令508可以将块大小从固件指令114传输到恢复代理118。例如,参考图2,固件指令114可以将块大小204传输到恢复代理118。数据块接收指令510可以从恢复代理118接收数据块。例如,参考图2,固件指令114可以从恢复代理118接收第一数据块124。
数据块存储指令512可以将接收到的数据块存储在存储设备中。例如,参考图1,固件指令114可以将第一数据块124存储在第三存储设备112中。恢复映像构建指令514可以使用数据块来构建恢复映像。例如,参考图1,固件指令114可以使用第二恢复映像120的所有数据块(例如,第一数据块124和第二数据块126)在第三存储设备112中构建第二恢复映像120。
图6图示了根据另一示例的用于经由数据块下载恢复映像的计算设备500。除了编码有指令506、508、510、512和514之外,计算机可读存储介质504还可以编码有指令602、604、606、608和610。
数据块验证指令602可以验证每个接收到的数据块,诸如第一数据块124和第二数据块126。例如,参考图1,固件指令114可以验证第一数据块124。确认传输指令604可以将确认传输到恢复代理118。例如,参考图2,当固件指令114成功地验证第一数据块124时,固件指令114可以将确认206传输到恢复代理118。
错误消息传输指令606可以将错误消息传输到恢复代理118。例如,参考图2,当固件指令114无法成功地验证第一数据块124时,固件指令114可以将错误消息208传输到恢复代理118。
终止消息传输指令608可以将终止消息210传输到恢复代理118。例如,参考图2,当固件指令114已经接收并接受了第二恢复映像120的所有数据块时,固件指令114可以将终止消息210传输到恢复代理118以指示第二恢复映像120的下载已经完成。在第三存储设备112中构建第二恢复映像120之后,数据块丢弃指令610可以丢弃存储在第三存储设备112中的所有数据块。例如,参考图1,当构建了第二恢复映像120时,固件指令114可以丢弃第二恢复映像120的所有数据块。
图7图示了根据另一示例的用于经由数据块下载恢复映像的计算设备700。计算设备700可以实现图1的计算设备102。计算设备700可以包括处理器502和计算机可读存储介质702。计算机可读存储介质702可以类似于计算机可读存储介质504。
计算机可读存储介质702可以编码有指令704、706和708。在一些示例中,计算机可读存储介质702还可以编码有指令710。块大小请求指令704可以将块大小请求202传输到固件指令114。例如,参考图2,恢复代理118可以将块大小请求202传输到固件指令114。数据块下载指令706可以从服务器104下载数据块。例如,参考图2,恢复代理118可以从服务器104下载数据块124和126。
数据块传输指令708可以将数据块传输到固件指令114。例如,参考图1,恢复代理118可以将数据块124和126传输到固件指令114。数据块下载终止指令710可以终止恢复映像(诸如第二恢复映像120)的下载过程。例如,参考图2,响应于接收到终止消息210,恢复代理118可以终止与服务器104的下载过程。
“包括”、“包含”或“具有”的使用是同义的,并且在本文中其变形意指是包括性或开放式的,并且不排除附加的未记载元素或方法步骤。
Claims (15)
1.一种非暂时性计算机可读存储介质,包括指令,所述指令在被执行时使得计算设备的处理器:
响应于从在计算设备的操作系统处可执行的恢复代理接收到块大小请求,经由计算设备的固件指令确定块大小;
将块大小从固件指令传输到恢复代理;
依次从恢复代理接收恢复映像的数据块;
将数据块存储在计算设备的存储设备中;以及
使用数据块构建恢复映像。
2.根据权利要求1所述的非暂时性计算机可读存储介质,其中所述指令在被执行时进一步使得处理器:
响应于从恢复代理接收到第一数据块,验证第一数据块;
响应于第一数据块是有效的确定,将确认传输到恢复代理;以及
响应于第一数据块是无效的确定,将错误消息传输到恢复代理。
3.根据权利要求1所述的非暂时性计算机可读存储介质,其中所述指令在被执行时进一步使得处理器:
响应于恢复映像的所有数据块已经被存储在存储设备中的确定,将终止消息传输到恢复代理。
4.根据权利要求1所述的非暂时性计算机可读存储介质,其中所述指令在被执行时进一步使得处理器:
在恢复操作期间,验证数据块;以及
响应于所有数据块都是有效的确定,使用数据块构建恢复映像。
5.根据权利要求4所述的非暂时性计算机可读存储介质,其中所述指令在被执行时进一步使得处理器:
在构建恢复映像之后,丢弃所有数据块;以及
将恢复映像存储在存储设备中。
6.根据权利要求1所述的非暂时性计算机可读存储介质,其中所述指令在被执行时进一步使得处理器:
基于网络连接的质量,经由固件指令确定块大小。
7.根据权利要求1所述的非暂时性计算机可读存储介质,其中所述指令在被执行时进一步使得处理器:
基于处理器的利用率百分比,经由固件指令确定块大小。
8.一种非暂时性计算机可读存储介质,包括指令,所述指令在被执行时使得计算设备的处理器:
经由在计算设备的操作系统处可执行的恢复代理从计算设备的固件指令请求块大小;
响应于接收到块大小,经由恢复代理从服务器下载恢复映像的第一数据块,其中第一数据块的大小对应于块大小;
从服务器接收第一数据块;
将第一数据主体从恢复代理传输到固件指令;以及
响应于从固件指令接收到与第一数据块相关联的确认,经由恢复代理从服务器下载恢复映像的第二数据块。
9.根据权利要求8所述的非暂时性计算机可读存储介质,其中所述指令在被执行时进一步使得处理器:
响应于接收到与第一数据块相关联的错误消息,再次从服务器下载第一数据块。
10.根据权利要求8所述的非暂时性计算机可读存储介质,其中所述指令在被执行时进一步使得处理器:
响应于从固件指令接收到终止消息,终止从服务器下载恢复映像的数据块。
11.根据权利要求8所述的非暂时性计算机可读存储介质,其中所述指令在被执行时进一步使得处理器:
将计算设备的存储设备中的第一恢复映像与服务器中的第二恢复映像进行比较;以及
响应于第一恢复映像比第二恢复映像旧的确定,从固件指令请求块大小。
12.一种计算设备,包括:
第一存储设备;
存储在第一存储设备中的固件指令;
第二存储设备;
恢复代理和操作系统(OS),其中,恢复代理和OS被存储在第二存储设备中;
第三存储设备;以及
处理器,用于:
经由固件指令确定恢复映像的块大小;
经由恢复代理从服务器下载恢复映像的第一数据块,其中第一数据块的大小对应于块大小;
响应于第一数据块是有效的确定,经由恢复代理从服务器下载恢复映像的第二数据块,其中第二数据块的大小对应于块大小;
经由固件指令将第一数据块和第二数据块存储在第三存储设备中;以及
经由固件指令,使用第一数据块和数据第二块构建恢复映像。
13.根据权利要求12所述的计算设备,其中,第一存储设备、第二存储设备和第三存储设备是非易失性存储器。
14.根据权利要求12所述的计算设备,其中,处理器用于将恢复映像存储在第三存储设备中。
15.根据权利要求12所述的计算设备,其中,处理器用于基于处理器的利用率百分比、网络连接的质量、恢复映像的大小或其组合来确定块大小。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/US2018/059161 WO2020096561A1 (en) | 2018-11-05 | 2018-11-05 | Recovery image downloads via data chunks |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112470121A true CN112470121A (zh) | 2021-03-09 |
Family
ID=70612026
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201880096174.9A Pending CN112470121A (zh) | 2018-11-05 | 2018-11-05 | 经由数据块下载恢复映像 |
Country Status (5)
Country | Link |
---|---|
US (1) | US11314603B2 (zh) |
EP (1) | EP3788473A4 (zh) |
CN (1) | CN112470121A (zh) |
TW (1) | TWI716969B (zh) |
WO (1) | WO2020096561A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114579056B (zh) * | 2022-03-11 | 2023-08-08 | 联想开天科技有限公司 | 一种系统的分区方法、装置及电子设备 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7565517B1 (en) * | 2002-04-03 | 2009-07-21 | Symantec Corporation | Retargeting a captured image to new hardware while in a pre-boot environment |
US20110258488A1 (en) * | 2010-04-19 | 2011-10-20 | Microsoft Corporation | Server Failure Recovery |
US8219769B1 (en) * | 2010-05-04 | 2012-07-10 | Symantec Corporation | Discovering cluster resources to efficiently perform cluster backups and restores |
US20130061089A1 (en) * | 2011-09-02 | 2013-03-07 | Microsoft Corporation | Efficient application-aware disaster recovery |
CN103098043A (zh) * | 2010-09-10 | 2013-05-08 | 国际商业机器公司 | 随需虚拟机映像流式传输 |
US20130167140A1 (en) * | 2011-12-21 | 2013-06-27 | Advanced Micro Devices, Inc. | Method and apparatus for distributed operating system image deployment |
CN107209683A (zh) * | 2015-01-30 | 2017-09-26 | 惠普发展公司有限责任合伙企业 | 备份映像恢复 |
US20180124544A1 (en) * | 2016-11-01 | 2018-05-03 | At&T Intellectual Property I, L.P. | Enhanced Data Download Mechanism for Power Constrained Internet of Things Devices |
CN108536549A (zh) * | 2017-03-02 | 2018-09-14 | 慧与发展有限责任合伙企业 | 用于计算系统的恢复服务 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6615365B1 (en) | 2000-03-11 | 2003-09-02 | Powerquest Corporation | Storing a computer disk image within an imaged partition |
US7216251B2 (en) | 2000-02-19 | 2007-05-08 | Powerquest Corporation | Computer imaging recovery without a working partition or a secondary medium |
US8117409B2 (en) | 2006-11-22 | 2012-02-14 | Hitachi, Ltd. | Method and apparatus for backup and restore in a dynamic chunk allocation storage system |
US8762769B2 (en) | 2011-08-25 | 2014-06-24 | Hewlett-Packard Development Company, L.P. | Downloading a disk image from a server with a reduced corruption window |
US9183393B2 (en) * | 2012-01-12 | 2015-11-10 | Facebook, Inc. | Multiple system images for over-the-air updates |
CN103218273A (zh) | 2012-01-20 | 2013-07-24 | 深圳市腾讯计算机系统有限公司 | 硬盘数据恢复方法、服务器及分布式存储系统 |
US9575978B2 (en) * | 2012-06-26 | 2017-02-21 | International Business Machines Corporation | Restoring objects in a client-server environment |
US8924952B1 (en) * | 2012-06-27 | 2014-12-30 | Amazon Technologies, Inc. | Updating software utilizing multiple partitions |
US9268651B1 (en) * | 2012-10-31 | 2016-02-23 | Amazon Technologies, Inc. | Efficient recovery of storage gateway cached volumes |
US9753955B2 (en) * | 2014-09-16 | 2017-09-05 | Commvault Systems, Inc. | Fast deduplication data verification |
KR102549605B1 (ko) | 2016-03-04 | 2023-06-30 | 삼성전자주식회사 | Raid 스토리지 장치의 리커버리 방법 |
US10776218B2 (en) * | 2018-05-31 | 2020-09-15 | EMC IP Holding Company LLC | Availability-driven data recovery in cloud storage systems |
-
2018
- 2018-11-05 CN CN201880096174.9A patent/CN112470121A/zh active Pending
- 2018-11-05 US US17/052,332 patent/US11314603B2/en active Active
- 2018-11-05 EP EP18939226.9A patent/EP3788473A4/en active Pending
- 2018-11-05 WO PCT/US2018/059161 patent/WO2020096561A1/en unknown
-
2019
- 2019-08-15 TW TW108129143A patent/TWI716969B/zh not_active IP Right Cessation
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7565517B1 (en) * | 2002-04-03 | 2009-07-21 | Symantec Corporation | Retargeting a captured image to new hardware while in a pre-boot environment |
US20110258488A1 (en) * | 2010-04-19 | 2011-10-20 | Microsoft Corporation | Server Failure Recovery |
US8219769B1 (en) * | 2010-05-04 | 2012-07-10 | Symantec Corporation | Discovering cluster resources to efficiently perform cluster backups and restores |
CN103098043A (zh) * | 2010-09-10 | 2013-05-08 | 国际商业机器公司 | 随需虚拟机映像流式传输 |
US20130061089A1 (en) * | 2011-09-02 | 2013-03-07 | Microsoft Corporation | Efficient application-aware disaster recovery |
US20130167140A1 (en) * | 2011-12-21 | 2013-06-27 | Advanced Micro Devices, Inc. | Method and apparatus for distributed operating system image deployment |
CN107209683A (zh) * | 2015-01-30 | 2017-09-26 | 惠普发展公司有限责任合伙企业 | 备份映像恢复 |
US20180124544A1 (en) * | 2016-11-01 | 2018-05-03 | At&T Intellectual Property I, L.P. | Enhanced Data Download Mechanism for Power Constrained Internet of Things Devices |
CN108536549A (zh) * | 2017-03-02 | 2018-09-14 | 慧与发展有限责任合伙企业 | 用于计算系统的恢复服务 |
Non-Patent Citations (2)
Title |
---|
"Chunked transfer encoding -Wikipedia", Retrieved from the Internet <URL:URL:https://en.wikipedia.org/w/index.php? title=Chunked transfer_encoding&oldid=584191363 [retrieved on 2018-08-20]> * |
"Transmission Control Protocol-Wikipedia", Retrieved from the Internet <URL:URL:https://en.wikipedia.org/w/index.php? title=Transmission Control_Protocol&oldid=626010337 [retrieved on 2017-02-08]> * |
Also Published As
Publication number | Publication date |
---|---|
TW202036310A (zh) | 2020-10-01 |
US11314603B2 (en) | 2022-04-26 |
EP3788473A4 (en) | 2021-12-29 |
WO2020096561A1 (en) | 2020-05-14 |
EP3788473A1 (en) | 2021-03-10 |
TWI716969B (zh) | 2021-01-21 |
US20210357295A1 (en) | 2021-11-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10353779B2 (en) | Systems and methods for detection of firmware image corruption and initiation of recovery | |
KR101143112B1 (ko) | 페일세이프 방식으로 맞춤 소프트웨어 영상 갱신을불휘발성 저장 장치에 적용하는 시스템 및 방법 | |
US10474632B2 (en) | Segmented hashing for secure data modification | |
EP2375323A1 (en) | Firmware image update and management | |
EP2831722B1 (en) | Method and system for verifying proper operation of a computing device after a system change | |
US10437580B2 (en) | Software updating methods and systems | |
JP6316978B2 (ja) | ファウンテンコードを用いる管理情報のブロードキャスト | |
US10949307B2 (en) | Executing computer instruction including asynchronous operation | |
US20230057089A1 (en) | Upgrade method, computer system, and remote upgrade device implementing efficient remote upgrade | |
US20210240491A1 (en) | System and method for runtime synchronization and authentication of pre-boot device drivers for a rescue operating system | |
WO2015127730A1 (zh) | 版本文件的运行方法及装置 | |
US20110321023A1 (en) | Concurrent Embedded Application Update | |
US11314603B2 (en) | Recovery image downloads via data chunks | |
CN111984298B (zh) | 一种闪存中的程序升级区、程序升级方法及系统 | |
US10572166B1 (en) | Firmware download for a solid state storage card | |
US11586509B2 (en) | Operating system repairs via electronic devices | |
CN116521062A (zh) | 数据处理方法、装置、计算机设备和存储介质 | |
US12061574B2 (en) | Updating edge nodes in distributed computing environments using partitions | |
US20240244019A1 (en) | Automated message broker discovery | |
JP2023532138A (ja) | イメージ配布方法、電子機器及び記憶媒体 | |
CN116048572A (zh) | 终端设备的固件升级方法、装置、终端设备及存储介质 | |
CN118656101A (zh) | 基板管理控制器固件升级方法、装置、设备及介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |