数据传输服务的制作方法

文档序号:11142317阅读:317来源:国知局
数据传输服务的制造方法与工艺

在计算基础设施之间传输数据能够促进不同类型的场所内项目,包括存储设备的替换以及更新、数据合并、服务器维护、以及数据中心迁移。诸如通过互联网的基于网络的数据传输可呈现某些对数据传输的约束和限制。可用的带宽、到互联网的顾客链接、以及通过互联网上传和下载数据的速度可为限制因素。互联网服务提供者还可保留对网络流量的控制,使数据传输昂贵和/或缓慢。在通过互联网上传是极其昂贵、耗时或由于可用的带宽而不可行的情况下,为了传输数据,物理地移动存储介质可帮助改善数据传输项目。然而,用于规避基于网络的数据传输的常规方法无法提供在数据传输服务中的整合的管理、安全、数据映射和数据验证。

概述

提供本概述来以简化形式介绍将在以下详细描述部分中进一步描述的一些概念。本概述不旨在标识所要求保护的主题的关键特征或本质特征,也不旨在独立地用于帮助确定所要求保护的主题的范围。

本发明的各实施例提供用于使用存储介质来传输数据的方法。这可通过接收在存储服务基础设施处的存储介质来完成。具体地,在示例中,存储介质可以是由顾客运送并且在数据中心接收的硬盘驱动器,使得在硬盘驱动器上的数据被复制到与数据中心相关联的存储。其它类型的存储介质也被构想在本发明的各实施例内。数据中心可包括作为分布式云计算基础设施的一部分的存储服务基础设施。分布式云计算基础设施可向运送存储介质的顾客提供存储账户。数据传输清单可与促进用于存储介质的数据传输操作的数据传输对象相关联。数据传输清单具体地提供了对于为数据传输操作所标识的数据的数据映射。存储介质对应于数据传输清单。数据传输清单可任选地被储存在存储介质中。数据传输清单可同样被以电子方式传递到存储服务基础设施。在实施例中,附加的数据传输对象被分开地传递到存储服务基础设施。在导入作业期间可使用数据传输客户组件将数据传输清单储存在存储介质中。基于数据传输清单,在存储介质上的数据随后可被复制到与数据中心相关联的存储。存储账户可提供对复制到存储的数据的访问。

另外,在导出作业期间可使用数据传输存储服务组件来生成数据传输清单。导出作业包括对应于数据传输清单的存储介质,存储介质被运送至顾客,使得数据从分布式云计算基础设施中的存储账户被复制到存储介质。顾客可随后将存储介质中的数据复制到顾客基础设施。

可以设想,数据传输服务支持数据传输服务基础设施,其中数据传输服务基础设施具有提供数据安全、数据映射和数据确认的数据传输客户组件以及数据传输存储服务组件,以及被配置成用于跟踪、生成任务以及为数据传输作业提供逻辑状态的数据传输管理组件。

附图简述

下面参考附图详细描述本发明,其中:

图1是适用于实现本发明的各实施例的示例性计算环境的框图;

图2是示出其中可以使用本发明各实施例的示例性数据传输服务基础设施的框图;

图3A是示出根据本发明的各实施例的示例性顾客基础设施的示意图;

图3B是示出根据本发明的各实施例的示例性数据传输操作的流程图;

图4是示出根据本发明的各实施例的数据传输作业转换的示例性外部逻辑状态的示意图;

图5A是示出根据本发明的各实施例的存储介质转换的示例性外部逻辑状态的示意图;

图5B是示出根据本发明的各实施例的存储介质转换的示例性内部逻辑状态的示意图;

图6是示出根据本发明的各实施例的驱动器槽转换的示例性逻辑状态的示意图;

图7是示出根据本发明的各实施例的包裹转换的示例性逻辑状态的示意图;

图8是示出根据本发明的各实施例的权证转换的示例性逻辑状态的示意图;

图9A是示出根据本发明的各实施例的用于将数据导入到存储服务基础设施的方法的流程图;

图9B是示出根据本发明的各实施例的用于将数据从存储服务基础设施导出的方法的流程图;

图10是示出根据本发明的各实施例的用于登记数据传输制品的逻辑状态的方法的流程图;

图11A是示出根据本发明的各实施例的用于将数据导入到存储服务基础设施的方法的流程图;

图11B是示出根据本发明的各实施例的用于为导入作业准备存储介质的方法的流程图;

图12A是示出根据本发明的各实施例的用于为导出作业准备存储介质的方法的流程图;

图12B是示出根据本发明的各实施例的用于将数据从存储服务基础设施导出的方法的流程图;以及

图13是示出根据本发明的各实施例的用于验证数据传输作业的存储介质的方法的流程图。

详细描述

此处用细节来描述本发明的各实施例的主题以满足法定要求。然而,描述本身并非旨在限制本专利的范围。相反,发明人已设想所要求保护的主题还可结合其它当前或未来技术以其它方式来实施,以包括不同的步骤或类似于本文中所描述的步骤的步骤组合。此外,尽管术语“步骤”和/或“框”可在此处用于指示所采用的方法的不同元素,但除非而且仅当明确描述了各个步骤的顺序时,术语不应被解释为意味着此处公开的各个步骤之中或之间的任何特定顺序。

出于本公开的目的,单词“包括(including)”具有与单词“包含(comprising)”一样广义的含义。另外,诸如“一(a)”和“一(an)”包括复数以及单数,除非另外相反地指明。这样,例如,“一个特征”的要求在存在一个或多个特征的情况下被满足。同样,术语“或”包括合取、析取及这两者(a或b由此包括a或b任一,以及a和b)。

在计算基础设施之间传输数据能够促进不同类型的包括存储、数据合并、服务器维护和数据中心重新定位的替换以及更新的场所内项目。诸如通过互联网的基于网络的数据传输可呈现某些对数据传输的限制和局限。可用的带宽和通过互联网上传和下载数据的速度可为限制因素。互联网服务提供者可同样保留对网络流量的控制,使数据传输昂贵和/或缓慢。在通过互联网上传是极其昂贵、耗时或由于可用的带宽而不可行的情况下,为了传输数据,物理地移动存储介质可帮助改善数据传输项目。然而,用于规避基于网络的数据传输的常规方法无法提供在数据传输服务中的集成管理、安全、数据映射和数据确认。

本发明的各实施例提供用于使用存储介质的传输数据的简单且高效的方法。在高层次上,数据传输服务组件被实现以提供与顾客基础设施(例如,一个或多个顾客计算设备)和存储服务基础设施相关联的数据传输服务(例如,顾客数据的导入及导出)。数据传输服务可提供允许顾客来执行数据传输操作的界面。在示例性实施例中,界面是允许顾客来执行数据传输操作的代表性状态转移(REST)界面。数据传输服务组件可利用REST应用程序界面(API)来启用数据传输作业的程序性控制。REST界面可经由基于web的门户实现和/或调用来进一步促进为存储服务基础设施和顾客基础设施执行一个或多个数据传输操作。在本发明的实施例中也构想了界面的其它组合和变体。

顾客基础设施(例如,一个或多个顾客计算设备)可执行数据传输客户组件,并且存储服务基础设施可执行数据传输存储服务组件来促进数据传输操作。数据传输操作可包括向界面发起将数据传输客户组件或数据传输存储服务组件连接到存储服务使得操作被执行来完成数据传输作业的请求。此外,存储介质可用清单被配置成从存储介质导入数据到存储账户存储服务基础设施的存储中,或从存储服务基础设施导出数据到顾客基础设施的存储中。

存储服务包括多个组件,其包括为实现数据传输服务操作的数据传输服务组件。数据传输服务组件包括数据传输客户组件和数据传输存储服务组件,并且可进一步包括在联网环境中的数据管理组件。每个数据传输客户组件和数据传输存储服务组件可支持通过保护存储服务基础设施免受恶意存储介质的侵袭并且保护顾客数据来保护数据传输服务。此外,不论在导入作业还是导出作业中,数据传输客户组件以及数据传输存储服务组件可提供验证所传输的数据以便标识并且纠正错误(例如,由对运输期间的存储介质造成的破坏导致的错误)或故障(例如,数据传输过程中的故障),并且随后被标识的错误可被纠正。此外,数据传输管理组件可被配置成用于跟踪从顾客基础设施运输过来的存储介质,基于与存储介质相关联的数据传输作业的进展生成任务,并且向在内部面向存储服务管理员以及在外部面向顾客的显示器提供存储服务导入或导出作业期间的存储介质的状态。

出于以下详细讨论的目的,参考在数据传输服务基础设施中的存储介质和多个数据传输服务组件来描述本发明的实施例;然而,本文描述的存储介质和数据传输服务组件仅是示例性的,并且不应当被解释为限制性的。例如,驱动器或硬盘驱动器与存储介质可互换的使用不旨在构成限制。此外,尽管本发明的各实施例一般可指在本文描述的数据传输服务基础设施和图表,但设想了所描述的技术可被扩展到其他实现环境。

通过可以是存储服务基础设施的一部分的数据传输服务基础设施的示例性实现可以描述本发明的实施例。在导入作业期间,顾客可使用数据传输用户组件来配置存储介质(例如,硬盘驱动器)。存储介质包括顾客想要从他们的位置(例如,顾客基础设施)传输到与存储服务基础设施相关联的存储的数据。数据传输客户组件可被用来将存储介质与用于促进数据传输操作的数据传输清单相关联。数据传输操作包括把存储介质上的数据复制到存储账户存储。在导出作业期间,数据传输存储服务组件可被用来将存储介质与用于促进数据传输操作的数据传输清单相关联。数据传输操作包括把存储介质上的数据复制到顾客基础设施存储。

本发明的实施例进一步利用数据传输清单。数据传输清单(下文称为“清单”)一般指描述存储服务基础设施数据与存储介质上的数据之间的映射的配置文件。清单可被储存进存储介质和/或在其中至少具有分开传递以便执行存储服务的相关联部分。清单可被电子地及分开地从存储介质传递至存储服务基础设施。

清单可用促进执行数据传输操作的多个不同的数据传输对象来创建。数据传输对象指的是在数据传输操作中提供特定的功能的数据传输服务的常量或可变参数。数据传输对象可包括位置对象、数据对象、安全对象以及促进执行与每个对应的对象或对象的组合相关联的数据传输操作的确认对象。

作为示例,在导入作业中,位置对象(例如,团块路径和文件路径)可帮助标识位置,例如在顾客数据应被储存的存储账户中,在导入作业时,位置对象(例如,团块路径和文件路径)可标识位置(例如,在顾客数据应被检索的存储账户中)。与导入或导出作业相关联的数据对象可标识在存储介质与存储服务基础设施之间能被传递的数据(例如,团块或文件)。安全对象(例如,加密安全对象或密钥安全对象)能加密和/或认证存储介质,并且确认对象可被用于验证复制的数据以及促进任何故障或错误的修复。附加的数据传输对象可被分开地传递至存储服务基础设施。例如,替代或互补的安全对象(例如,散列密钥)不能在存储介质中被传递,但可被分开地(例如,电子地使用安全渠道)传递至存储服务基础设施。数据传输清单和数据传输对象的的任何其它变体和组合被构想在本发明的各实施例的范围内。

在本发明的实施例中,数据传输服务组件基于防卫存储服务基础设施和保护顾客数据可支持保护数据传输服务。数据传输客户组件和数据传输存储服务组件基于在不同存储服务作业中组件的对应的任务都可保护数据传输服务。就此,取决于如下文更详细地讨论的在数据传输作业中的对应的任务,构想了组件在保护数据传输服务中可执行相似的保护任务。

数据传输客户组件可使用安全对象来促进保护存储介质。当创建导入作业时,数据传输客户组件可请求驱动器唯一标识符(例如,驱动器的序列号)。数据传输客户组件可同样促进加密和/或用于存储介质的加密类型的标识(例如,MICROSOFT WINDOWS BitLocker)。驱动器唯一标识符和用于存储介质的加密密钥可被传递至存储服务基础设施。可使用安全渠道传递驱动器唯一标识符和加密密钥。加密密钥可被用于解密存储介质。构想了加密密钥和/或驱动器唯一标识符可被用于执行包括标识、确认和解密存储介质中的至少一项的数据传输操作。类似地,在导出作业期间,存储介质可同样被解密。数据传输存储服务组件可促进存储介质的加密以及用于存储介质的加密类型的标识(例如,MICROSOFT WINDOWS BitLocker)。用于存储介质的加密密钥可被传递至顾客基础设施。可使用安全渠道传递加密密钥。加密密钥可被用于解密存储介质。进一步构想了加密密钥和/或驱动器唯一标识符可被用于执行包括标识、确认和解密存储介质中的至少一项的数据传输操作。在替代实施例中,存储介质的一部分可被散列来支持保护顾客数据和存储服务基础设施。具体地,部分可指便于访问以检索存储介质上的数据的存储介质的一个部分。存储介质的一部分可包括具有引导扇区的主引导记录和/或定义文件、备份关键系统数据、缓冲文件系统变化以及自由空间分配的元数据。存储介质的一部分可同样包括描述包括文件名、时间戳、压缩、加密等的卷上的文件的主文件表。由此,存储介质的一部分可为存储介质的开头部分。作为示例,数据传输客户可生成存储介质的一部分的散列,加密散列并且发送加密的散列。可使用安全渠道从存储介质分开地发送加密的散列。在接受到存储服务基础设施处的存储介质之后,存储介质基于解密的散列可随后被数据传输存储服务组件解密来验证存储介质的一部分的完整性。当存储介质的一部分的完整性被验证时,可提供用于数据传输处理的存储介质。具体地,至少部分基于存储介质的验证的部分,可以访问存储介质。散列技术的其他变体也被构想在本发明的各实施例内。

在导入作业或导出作业期间,存储介质能够被保护以免受可拦截从顾客基础设施运输至存储服务基础设施或相反运输路径中的存储介质的恶意方的侵袭。具体地,安全问题可能在于存储介质在传送中可被拦截并且恶意数据可被储存在存储介质上。然而,因为在运送存储介质之前数据传输服务组件支持加密的存储介质,所以恶意方将无法知道加密密钥来解密存储介质并因此不能将恶意数据储存进驱动器的加密区域,从而导致顾客数据被保护以免受恶意动作的侵袭。在实施例中,如下面更详细地讨论的,用于存储介质的加密密钥和加密的存储介质不被一起传递。

数据传输服务组件可进一步支持防卫及保护存储服务基础设施。在用于导入作业的存储介质到达存储服务基础设施后,可执行附加的安全措施。加密的存储介质可被优先附加到虚拟机(VM)而无需读取主机操作系统中的存储介质。可向VM提供加密密钥。基于物理或虚拟安全机制,每台VM可被与存储服务基础设施隔离直至存储介质被验证使得存储介质和主机操作系统具有附加的安全性。每台VM可被用于一个存储介质,并且VM可被假定成一旦存储介质已被安装就受到攻击。如上所述,VM基于散列加密可促进验证存储介质的一部分的完整性的过程。VM可进一步运行应把数据从存储介质上传至存储账户的软件,并且当软件在把数据复制进顾客的存储账户上取得进展时,软件可发送通知。VM上的进展可被监控以确认复制进程的推进。可进行附加的调查来确认隐错是否阻碍进程或VM是否已受到恶意驱动器的攻击。

数据传输服务组件可进一步支持确认和修复。在高层次上,可储存在存储介质上的数据的校验和以便确认通过传输过程的顾客的数据是正确的。例如,在驱动器上的每个文件的MD5校验和。对于大型文件,文件可被分成具有对应的存储的校验和的各组块。作为示例,对于在顾客基础设施的导入作业,当顾客用数据填充存储介质时,校验和可被计算并且储存在存储介质上。

在导入作业期间的存储服务基础设施,当数据被导入存储账户时可确认校验和。例如,当文件被写入顾客的存储账户时的每个文件的MD5。构想了可被本发明的实施例执行的MD5以外的其他类型的校验和变型。如果校验和不匹配,则可记录关于不和与顾客的导入作业相关联的已知的位置相匹配的数据的信息(例如,日志对象),而非导入数据。基于记录的信息可执行修复操作。具体地,数据传输客户组件可被用来标识丢失的或损坏的数据并且上传丢失的部分。同样可使用校验和来验证经由数据传输客户组件上传的数据。

在导入作业期间,可使用数据传输存储服务组件将用于单个文件或大型单个文件的一部分的校验和数据储存在存储介质上。在接收存储介质后,顾客可使用数据传输客户组件来确认被传输至顾客基础设施的存储介质上的数据。如果校验和不匹配,则可执行根据本发明的方法的修复操作。基于配置修复操作以在校验和确认操作期间自动地修复数据,可执行修复操作。作为替代,修复操作可被独立地执行。数据传输客户组件可被用来标识丢失的或损坏的数据并且从存储服务基础设施下载丢失的部分。同样可使用校验和来验证经由数据传输客户组件下载的数据。

数据传输管理可通过数据传输管理组件来促进。具体地,数据传输管理组件可被配置成提供针对从顾客基础设施运输过来的存储介质的跟踪,基于与存储介质相关联的数据传输作业的进展来生成任务,以及经由在内部面向存储服务管理员且在在外部面向顾客的界面(例如,显示器)登记及提供所登记的逻辑状态,即存储服务导入或导出作业期间的存储介质的逻辑状态。例如,存储数据传输管理组件从顾客配置存储介质上的数据之时直到存储介质被运回顾客和/或在顾客基础设施得到处理(例如,在存储介质上的修复操作)的时刻可负责跟踪存储介质。

数据传输管理组件可附加地支持与运输存储介质、接收存储介质、从存储介质检索数据或下载数据到存储介质上,以及将存储介质运输回顾客相关联的任务的后勤和生成。就此,数据传输作业期间的存储介质的进展可被引用及提供给指定的实体。具体地,可基于存储介质的进展向存储服务管理员提供状态的内视图,而顾客可具有基于数据传输作业期间存储介质的进展显示数据传输作业的状态的外视图的用户服务界面。因此,当通知指定的实体存储介质的状态时,状态信息可为不同类型的指定的实体而定制。

因此,在本发明的第一方面,提供存储计算机可使用指令的一个或多个计算机存储介质,计算机可使用指令在被一个或多个处理器执行时使得一个或多个计算设备执行一种用于导入数据到存储介质上的方法。方法包括访问存储介质。存储介质对应于数据传输清单。数据传输清单可用作为参数的数据传输对象来配置。存储介质与导入作业相关联。方法进一步包括参考数据传输清单。数据传输清单至少提供存储服务基础设施与存储介质中的数据之间的数据映射。方法进一步包括基于数据传输清单将数据从存储介质复制到存储服务基础设施。

在本发明的第二方面,提供存储计算机可使用指令的一个或多个计算机存储介质,计算机可使用指令在被一个或多个处理器执行时使得一个或多个计算设备执行一种用于从存储介质导出数据的方法。方法包括访问存储介质。存储介质与导出作业相关联,导出作业对应于一个或多个数据传输对象。方法包括将数据从存储服务基础设施复制到存储介质。方法包括基于一个或多个数据传输对象和从存储服务基础设施复制来的数据生成数据传输清单,数据传输清单对应于存储介质。

在本发明的第三方面,提供了用于为存储介质监控数据传输的计算机实现的方法。方法包括接收指示数据传输作业已被创建的通知。至少部分使用数据传输客户组件来创建数据传输作业。方法进一步包括为至少一个数据传输制品确定数据传输作业的进展。至少一个数据传输制品与基于数据传输作业的进展的逻辑状态相关联。方法包括登记至少一个数据传输制品的逻辑状态。

在本发明的第四方面,提供了用于导入数据到存储介质上的系统。方法包括被配置成用于为导入作业准备存储介质的数据传输客户组件。准备存储介质包括对要导入存储服务基础设施的数据的选择,将数据复制到存储介质以及为存储介质生成数据传输清单。系统进一步包括被配置成用于使用一个或多个数据传输对象作为参数来创建导入作业的数据传输客户组件。系统同样包括被配置成用于访问存储介质的数据传输存储服务组件。存储介质对应于数据传输清单。数据传输存储服务组件被进一步配置成用于引用数据传输清单。数据传输清单至少提供存储服务基础设施与存储介质中的数据之间的数据映射。数据传输存储服务组件被配置成基于数据传输清单将数据从存储介质复制到存储服务基础设施并且为导入作业生成日志对象。日志对象包括与由存储介质处理的数据相关联的至少部分数据错误事件。

在本发明的第五方面,提供了用于导出数据到存储介质的系统。系统包括被配置成接收要从存储服务基础设施导出的数据的指示的数据传输客户组件。系统包括被配置成使用一个或多个数据传输对象作为参数来创建导出作业的数据传输客户组件。系统同样包括被配置成用于访问与导出作业相关联的存储介质的数据传输存储服务组件。数据传输存储服务组件进一步被配置成将数据从存储服务基础设施复制到存储介质,为导出作业生成日志对象;以及基于一个或多个数据传输对象和从存储服务基础设施复制到的数据来生成数据传输清单,数据传输清单对应于存储介质。

在本发明的第六方面,提供了用于为数据传输验证存储介质的计算机实现的方法。方法包括使用安全渠道接收散列安全对象。散列安全对象保护促进访问数据的存储介质的一部分。方法同样包括基于散列安全对象验证存储介质的一部分的完整性。方法进一步包括在验证存储介质的一部分的完整性之后为数据传输处理提供存储介质。

在简要描述了本发明各实施方式的概览之后,以下描述其中可实现本发明的各实施方式的示例性操作环境,以便为本发明各方面提供通用上下文。首先具体参考图1,示出了用于实现本发明的各实施方式的示例性操作环境,并将其概括地指定为计算设备100。计算设备100只是合适的计算环境的一个示例,并且不旨在对本发明的使用范围或功能提出任何限制。也不应将计算设备100解释为对所示出的任一组件或其组合有任何依赖性或要求。

本发明可以在由计算机或诸如个人数据助理或其他手持式设备之类的其他机器执行的计算机代码或机器可使用指令(包括诸如程序模块之类的计算机可执行指令)的一般上下文中描述。一般而言,包括例程、程序、对象、组件、数据结构等的程序模块指的是执行特定任务或实现特定抽象数据类型的代码。本发明可以在各种系统配置中实施,这些系统配置包括手持式设备、消费电子产品、通用计算机、专用计算设备等等。本发明也可以在其中任务由通过通信网络链接的远程处理设备执行的分布式计算环境中实施。

参考图1,计算设备100包括直接或间接耦合以下设备的总线110:存储器112、一个或多个处理器114、一个或多个呈现组件116、输入/输出(I/O)端口118、输入/输出(I/O)组件120、和说明性电源122。总线110表示可以是一条或多条总线(诸如地址总线、数据总线、或其组合)。虽然为了清楚起见利用线条示出了图1的各框,但是实际上,各组件的轮廓并不是那样清楚,并且比喻性地来说,线条更精确地将是灰色的和模糊的。例如,可以将诸如显示设备等呈现组件认为是I/O组件。而且,处理器也具有存储器。可以认识到,这是本领域的特性,并且重申,图1的图示只是例示可结合本发明的一个或多个实施方式来使用的示例性计算设备。诸如工作站、服务器、膝上型计算机、手持式设备等分类之间没有区别,它们全部都被认为是在图1的范围之内的并且被称为计算设备。

计算设备100通常包括各种计算机可读介质。计算机可读介质可以是可由计算设备100访问的任何可用介质,而且包含易失性和非易失性介质、可移动和不可移动介质。作为示例而非限制,计算机可读介质可包括计算机存储介质和通信介质。

计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其它数据的信息的任何方法或技术实现的易失性与非易失性、可移动与不可移动介质。计算机存储介质包括但不限于,RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光学存储、磁带盒、磁带、磁盘存储或其他磁存储设备、或能用于存储所需信息且可以由计算设备100访问的任何其他介质。计算机存储介质将信号本身排除在外。

通信介质通常以诸如载波或其他传输机制之类的已调制数据信号来体现计算机可读指令、数据结构、程序模块或其他数据,并且包括任何信息传送介质。术语“已调制数据信号”是指使得以在信号中编码信息的方式来设定或改变其一个或多个特征的信号。作为示例而非限制,通信介质包括诸如有线网络或直接线连接之类的有线介质,以及诸如声学、RF、红外及其他无线介质之类的无线介质。上述的任意组合也应包含在计算机可读介质的范围内。

存储器112包括易失性和/或非易失性存储器形式的计算机存储介质。存储器可以是可移动的,不可移动的,或两者的组合。示例性硬件设备包括固态存储器、硬盘驱动器、光盘驱动器等。计算设备100包括从诸如存储器112或I/O组件120等各种实体读取数据的一个或多个处理器。呈现组件116向用户或其他设备呈现数据指示。示例性呈现组件包括显示设备、扬声器、打印组件、振动组件等等。

I/O端口118允许计算设备100逻辑上耦合至包括I/O组件120的其他设备,其中某些设备可以是内置的。说明性组件包括话筒、操纵杆、游戏手柄、圆盘式卫星天线、扫描仪、打印机、无线设备等等。

另外参考图2,描述了描绘适于在本发明的各实施例中使用的示例性数据传输服务基础设施200(下文称为“基础设施”)的框图。通常,据本发明各实施例,基础设施200是用于传输存储介质上数据的分布式计算及存储系统。基础设施200包括类似于如参考图1所描述的计算设备100的多个计算设备。系统200不应被解释为对其中所示出的任何单个模块/组件或各模块/组件的组合有任何依赖性或要求。其中的每个都可以包括单个设备或在分布式环境中协作的多个设备。例如,组件可包括被布置在分布式环境中的共同提供本文描述的功能的多个设备。另外,在网络环境内还可包括其他未示出的组件。

继续参考图2,基础设施200一般包括具有数据传输客户组件204的顾客基础设施202、运送设施206、具有数据传输存储服务组件210和数据传输管理组件212的存储服务基础设施208,以及其它未示出的组件,所有这些都经由网络214彼此通信。网络可包括但不限于一个或多个局域网(LAN)和/或广域网(WAN)。此类联网环境在办公室、企业范围的计算机网络、内联网和因特网中是常见的。因此,不在此进一步描述网络。

应当理解,此处所描述的这一和其他安排仅作为示例来阐明。附加于或替代于所示的安排和元素,可使用其他安排和元素(例如机器、接口、功能、次序、以及功能聚集),并且可完全省略某些元素。此外,本文所描述的许多元素是可以实现为分立或分布式组件或结合其他组件的、以及以任何合适的组合和在任何合适的位置的功能实体。此处被描述为由一个或多个实体执行的各种功能可由硬件、固件和/或软件来执行。例如,各种功能可由执行存储在存储器中的指令的处理器来执行。

继续参考图2,顾客基础设施202一般指具有顾客基础设施存储介质的一个或多个计算设备。顾客基础设施存储介质(未示出)可包含要从顾客基础设施202复制到存储服务基础设施208的数据。数据可从顾客基础设施存储介质被复制到被运送的存储介质216B,以使得数据从存储介质216B被复制到存储服务基础设施208。客户存储基础设施202可进一步包括被配置成支持与数据传输作业相关联的客户端数据传输操作的数据传输客户组件204。

存储服务基础设施208一般指具有用于支持存储服务的计算设备和存储服务基础设施的分布式存储系统。存储服务可提供数据传输服务,以使得来自顾客基础设施的数据可经由存储介质216B被复制到存储服务基础设施。存储服务基础设施208可进一步包括数据传输存储服务组件210和数据传输管理组件212来支持与数据传输作业相关联的存储服务端数据传输操作。

顾客基础设施202的数据传输客户组件204可用作促进数据传输操作的数据传输服务的一部分。具体地,在导入作业期间,数据传输客户组件204生成与存储介质216A的导入作业相关联的清单218A。清单218A描述了数据存储服务基础设施与用于导入作业的存储介质中的数据之间的映射。例如,在硬盘驱动器中的文件可被映射到存储服务基础设施208中的团块。在导入作业期间,清单218A可由数据传输客户组件204创建作为存储介质216A的准备的一部分。在把存储介质216A运送至存储服务基础设施208之前,清单218A可被储存在存储介质216A上。

存储服务基础设施208的数据传输存储服务组件210可用作促进数据传输操作的数据传输服务的一部分。在处理与导入作业或导出作业相关联的存储介质后,数据传输服务生成与数据传输作业的存储账户相关联的日志对象。例如,当数据传输存储服务组件210处理与数据传输作业相关联的存储介质时,数据传输存储服务组件210可生成日志对象,其中日志对象是复制日记文件。在实施例中,日志对象与数据从中被导入或导出的存储账户相关联。日志对象可包含关于被导入或导出的每个文件的细节。日志对象可被写入块团块并且可与用于配置在存储服务基础设施中储存日记文件以及检索存储中日志对象的URI)的位置的操作相关联。当请求作业状态的查询时,可返回每个复制日记文件的URI。

日志对象可具体地记录将将数据(例如,单个文件或文件的一部分)复制到存储服务的失败。就这一点而言,可能存在两种不同类型日志对象要写入存储账户,其包括:在发生错误情况下生成的错误日志,以及可默认不被启用而是可通过顾客动作来启用的详细日志。详细日志可包含关于针对数据(例如,每一个团块(对于导入作业)或文件(对于导出作业))的复制操作的状态的完整的信息,而错误日志可仅包含在数据传输作业期间遇到错误的数据的信息。对象可被写入包含对在存储介质与顾客的账户之间复制数据时发生的事件的XML描述的块团块中。在本发明的各实施例中构想了几种不同类型的XML元素。XML元素可与数据传输对象有关,例如,XLM元素包括与位置对象相关联的团块/文件路径、对数据的全部或部分的散列、元数据、与认证安全对象相关联的属性(例如,存储账户密钥),以及数据的各部分的偏移和长度。

日志对象可标识不同类型的与存储介质相关联的问题或错误事件。错误事件包括访问或读取清单时的错误,不正确的认证安全对象(例如,密钥)和存储介质读/写错误。附加的错误事件尤其可涉及与存储介质相关联的数据,例如,团块和文件。由此,作为示例,附加的错误事件可包括不正确的或冲突的团块或名称、丢失的文件、未找到的团块,截短的文件(在盘上的文件小于清单中所指定的)、损坏的文件内容(用于导入,使用校验和检测到的)损坏的团块元数据和属性文件(使用校验和检测到)以及用于团块属性和/或元数据文件的不正确的模式。

在导出作业期间,数据传输存储服务组件210生成与存储介质216B的导出作业相关联的清单218B。清单218B描述了存储服务基础设施中的数据与用于导出作业的存储介质216B中的数据之间的映射。例如,存储服务基础设施208中的团块可被映射到硬盘驱动器中的文件。在导出作业期间,在接收来自顾客基础设施202的存储介质216B之后,清单218B可由数据传输存储服务组件210创建。在把存储介质216B运回顾客基础设施202之前,清单218B可被储存在存储介质216B上。

基于存储服务作业分别在顾客基础设施202和存储服务基础设施208生成的清单218A和218B可与不同数据传输对象相关联来支持数据传输操作,其中操作包括复制、管理、保护以及验证数据。清单可包括存储介质上的数据的枚举以及到存储服务的映射。例如,清单可枚举旨在用于上传的文件以及从文件到存储服务中的团块的映射。清单可进一步包括关于元数据和属性的信息来和传输至存储服务基础设施的数据相关联。清单可进一步包括当上传的数据与存储服务中的现有数据相冲突时采取的动作的列表。清单可同样包括每个文件的各片段的校验和。校验和一般指根据数据的任意块计算出的小型数据以用于检测在传输或储存期间已被引入的错误。

清单可通过可扩展标记语言(XML)描述被写入。在本发明的各实施例中构想了几种不同类型的XML元素。XML元素可与数据传输对象有关,例如,XLM元素包括与位置对象相关联的团块文件路径、与认证安全对象相关联的存储账户密钥、文件的各部分的散列、元数据、以及与确认对象相关联的属性。

清单可进一步被备份。清单可自动地被备份到执行操作来配置备份清单的存储服务基础设施中。就这一点而言,构想了清单可被同时地储存在相关联的存储介质上和存储服务基础设施中。清单的备份可与和作业相关联的存储账户相关联地被储存。清单的名称可为预定的名称但其可通过基于在数据传输客户组件的操作指定不同的名称而被覆盖。用于数据传输作业的备份清单的统一资源标识符(“URI”)还可经由数据传输客户组件处的操作来检索。URI可作为每个驱动器的清单URI被返回。

存储服务基础设施208的数据传输管理组件212(“管理组件”)可被配置成管理与数据传输操作相关联的多个任务。具体地,管理组件212可支持跟踪存储介质,例如,管理组件212可支持跟踪在顾客基础设施202与存储服务基础设施208之间运输的存储介质216A和存储介质216B。管理组件212可进一步被配置成基于与存储介质相关联的数据传输作业的进展生成任务,例如,存储服务管理员可被引导来接收包裹、解包包裹、将一个或多个存储介质移动至集结区域、将驱动器插入机器、从机器中移出驱动器、以及将驱动器运回至顾客。

此外,管理组件212可被配置成用于登记数据传输制品的逻辑状态并且经由在内部面向存储服务管理员以及在外部面向顾客的界面(例如,显示器)提供所登记的逻辑状态,即存储服务导入或导出作业期间的存储介质的状态。具体地,管理组件212可包括状态机模块(未示出),状态机模块管理不同数据传输制品(例如,作业、驱动器、驱动器槽、包裹、权证和健康)并且基于导入或导出作业的进展向每个受监控的数据传输制品提供逻辑状态。如下面更详细地讨论的,逻辑状态可具体地基于数据传输制品的属性。

参考图3A,数据传输客户组件310提供界面以便于数据传输操作。在一个实施例中,数据传输客户组件310可包括客户工具310A和客户服务界面310B。数据传输客户组件310被配置成促进创建数据传输作业340。界面可经由基于web的门户实现和/或调用来进一步促进为存储服务基础设施和顾客基础设施执行一个或多个所述数据传输操作。数据传输服务组件可利用REST应用程序界面(APIs)来启用数据传输作业的程序性控制。具体地,REST API可提供用于在顾客基础设施与存储服务基础设施之间传递的超文本传输协议安全(“HTTPS”)端点。数据传输客户组件可经由客户服务界面310B(例如,基于web的管理门户310C)访问存储服务。通过使用相互认证管理证书提供访问可保护经由客户服务界面310B对存储服务的访问,以确保对存储服务作出的请求得到保护。构想了REST API作为基于web的管理门户可以是客户服务界面310B或者作为程控的界面(未示出)可以是客户服务界面310B来访问存储服务的一种实现。

参考图3B,数据传输客户组件310可支持执行数据传输操作。数据传输操作可包括为数据传输作业320准备存储介质、创建数据传输作业340、基于数据传输对象审阅作业状态360、以及基于日志对象380修复数据传输作业。在一个实施例中,数据传输客户组件310可以是安装在顾客基础设施处(例如,顾客计算设备)处的可执行文件,数据传输客户组件根据该可执行文件被执行并且被用于促进如本文实施例所述的存储服务。准备存储介质可包括满足一个或多个先决条件。构想了非强制的但却是优选的一个或多个先决条件来为数据传输作业准备存储介质。先决条件可包括对存储服务基础设施的存储服务的订阅、与订阅相关联的存储账户、用于存储账户的账户密钥、以及加密的存储介质。

数据传输客户组件310可创建数据传输作业。如下文更详细地描述的,创建数据传输作业可包括顾客动作和类似和/或重复于实现数据传输目的的数据服务组件操作。数据传输客户组件310可被配置成创建导入作业和导出作业。可使用客户工具310A和客户服务界面310B创建导入作业。创建导入作业可包括用客户工具310A来准备存储介质320。准备用于导入作业的存储介质可包括在数据传输客户组件310处执行的多个不同的导入作业准备操作320A。导入作业准备操作可包括接收对要被导入到存储服务基础设施的数据的选择、接收对数据的目的地位置的选择、将数据复制到存储介质、以及为存储介质生成导入清单。清单可被储存在存储介质上使得通过参照清单来从存储介质复制存储介质上的数据。清单可同样替代地或附加地以电子方式(例如,互联网)被传递至存储服务。

为导入作业提供存储介质包括与导入作业准备操作相关联的动作。动作可包括标识要导入到存储服务基础设施中的数据、标识数据的目标位置、确定需要的存储介质的个数、以及将数据复制到每个存储介质。存储服务基础设施可支持团块储存和/或文件储存以使得数据被传输到团块和/或文件中。

标识要被导入到存储服务基础设施中的数据可包括确定哪些目录和文件被导入到存储服务基础设施。这可能是目录的列表、唯一文件的列表、或以上任意组合。当包括目录时,目录中的所有文件和子目录可以是导入作业的一部分。标识数据的目标位置可包括标识存储服务基础设施的团块服务中的目的地位置。具体地,对于可被导入的文件的每个目录,存储服务基础设施中的目的地虚拟目录或团块可被标识。例如,源文件目录可为:H:\Video,而目的地团块或虚拟目录可为:https://mystorage account.blob.net/video。

将数据复制到存储介质包括基于复制会话将数据复制到存储介质。可为数据被复制到的每个存储介质创建复制会话构想了因为一个复制会话可将单个目录或单个团块复制到存储介质,所以需要一个以上的会话来将所有数据复制到单个存储介质。如果复制多个目录或多个团块则需要多个会话。此外,如果特定的属性和元数据与作为导入作业的一部分被导入的团块相关联,则与团块相关联的特定的属性和元数据由复制会话指定。为了为附加的团块提供不同的属性或元数据,可能需要单独的复制会话。为了设置团块属性,可在运行数据传输客户组件的计算设备上创建文本文件。为了设置团块元数据,可创建指定元数据名称和值的文本文件。到团块属性或团块元数据两者或之一的路径可被传递至数据传输存储服务组件来将团块与属性和元数据相关联。构想了多个计算设备可并行地运行数据传输客户组件以便于将数据复制到多个存储介质。

数据传输客户组件310可进一步为每个存储介质创建日记文件。需要每个存储介质的日记文件来创建导入作业。如果数据传输客户组件被中断,则日记文件可进一步被用来恢复存储介质的准备。命令行界面可被用来促进指定日记文件以便恢复运行数据传输客户组件。使用命令行界面或任何其他合适的界面,将数据复制到存储介质可指定与导入作业相关联的若干个数据传输对象。命令行可包括位置对象(例如,源目录和目的地目录)、认证安全对象(例如,储存账户密钥)、加密安全对象(例如,盘加密)、以及日记文件对象等等作为与复制的数据相关联的参数。例如,存储账户密钥可以是用于数据将被导入到的存储账户的账户密钥,当驱动器还未被加密时盘加密可加密驱动器,或者当驱动器已被加密时盘加密可指定驱动器的密钥。在本发明的各实施例中构想了多个数据传输对象,包括源目录、目的地目录、会话标识、在冲突的情况下的处置、团块类型、属性文件和元数据文件。

此外,为了为导入作业准备存储介质,命令行界面可包括数据传输对象,这些数据传输对象取决于所述复制会话是第一复制会话还是后续会话。作为示例,驱动器的第一复制会话可具有一些附加的对象来指定存储账户密钥;目标驱动器号;驱动器是否必须被格式化;驱动器是否必须被加密,并且如果是的话,则指定加密密钥;以及日志目录。由此,数据传输客户可实现用于配置对象的语法。

客户工具310A被进一步配置成当准备储存介质时为每个存储介质生成清单。如上所述,清单可包括打算用于上传的数据的枚举以及在存储服务基础设施与存储介质上的数据之间的映射、数据片段的校验和、与被复制到存储服务基础设施的每个数据相关联的关于元数据和属性的信息、以及若被上传的数据有冲突时所采取的动作的列表。

创建导出作业可包括用客户工具310A来准备导出作业320B。准备导出作业可包括若干个不同的导出作业准备操作320B。导出作业准备操作可包括标识对要从存储服务基础设施导出的数据的选择以及确定需要的存储介质的个数。存储服务基础设施储存数据(例如,团块和/或文件)以使得数据从存储服务基础设施被传输进存储介质。在一个实施例中,储存在存储服务基础设施中的团块可被转换成被传输至存储介质的单个文件。存储服务基础设施可进一步储存要被传输的快照数据。快照数据可指在特定时刻捕捉到的数据的版本(例如,团块和/或文件)。快照数据可与数据传输清单中的快照对象相关联。快照数据可能在数据还处在那个版本时就已由用户标识成重要的,或者快照数据可能已由存储服务基础设施基于一个或多个策略自动地创建。就这点而言,活跃数据可与储存中对应的快照数据同时存在,使得可以(例如经由快照对象)标识活跃数据和快照数据的其一或两者的至少一部分以用于导出作业。此外,为导出作业提供存储介质包括与导出作业准备操作相关联的动作。动作可包括标识要被导出的数据,以及提供需要的存储介质的个数。构想了导出作业准备操作和动作可任选地包括基于用户提供的数据的目标位置来标识数据的目标位置的存储服务。

标识数据可包括选择存储服务基础设施中要被复制到存储介质的数据。具体地,用于选择单个团块或快照的一个或多个相对团块路径、用于选择给定前缀的所有团块或快照的团块前缀、以及存储账户中的所有团块或快照可被选择来被传输至存储介质。类似地,其中的到文件或快照的路径可被标识以用于传输。

客户工具310A被进一步配置成基于被选择要导出的数据的总大小来帮助顾客标识需要用来导出数据的存储介质的个数。在一个实施例中,可计算要被导出的数据的总大小。可生成要被导出的数据的列表,并且可为每个要被导出的数据项计算数据的大小之和。计算可考虑存储介质的大小、数据传输对象的大小以及存储介质的附加的开销。例如,清单大小和磁盘扇区错误率。可提供要被导出的数据的概述。基于总数据大小,可确定存储介质的总个数。

继续参考图3A-B,数据传输客户组件310可进一步促进创建数据传输作业340。创建导入作业可与在客户服务界面310B处的创建导入作业340A相关联。此外,若干个动作可与创建导入作业操作340A相关联。例如,可标识存储介质被运送至的基础设施的信息(例如,数据中心位置、名称和地址)。可从位置列表标识存储服务基础设施信息,其中至少一个位置支持具有存储介质的顾客的存储账户。基于检索位置列表以及从返回的位置列表中选择位置,可经由客户服务界面310B标识存储服务基础设施信息。

客户服务界面310B可支持创建导入作业的操作。客户服务界面310B可向存储服务发出操作。操作可包括促进执行数据传输操作的多个不同的参数。参数可与位置对象、安全对象或确认对象相关联。作为示例,参数可包括作业的名称、存储账户名称、存储账户密钥、存储服务基础设施信息、数据传输作业类型、返回地址以及存储介质列表。每个存储介质可进一步与包括驱动器标识、加密密钥、清单在存储介质上的位置、以及校验和散列在内的参数相关联。顾客可基于存储服务基础设施信息运送存储介质。顾客接收存储介质的包裹信息。客户服务界面可用包裹信息更新数据传输作业。包裹信息可包括存储介质装运的运送者和跟踪号。

创建导出作业可与在客户服务界面310B处的创建导出作业360B相关联。此外,若干个动作可与创建导出作业操作340B相关联。例如,可标识存储介质被运送至的基础设施的信息(例如,数据中心位置、名称和地址)。可从位置列表标识存储服务基础设施信息,其中至少一个位置支持具有存储介质的顾客的存储账户。基于检索位置列表以及从返回的位置列表中选择位置,可经由客户服务界面310B标识存储服务基础设施信息。

客户服务界面310B可向存储服务发出操作来创建导出作业。该操作可包括作为参数的若干个不同的数据传输对象,其促进执行数据传输操作。参数可与位置对象、安全对象或确认对象相关联。作为示例,参数可包括作业的名称、存储账户名称、存储账户密钥、存储服务基础设施信息、数据传输作业类型、返回地址以及存储介质列表。顾客可随后基于存储服务基础设施信息运送存储介质。顾客接收存储介质的包裹信息。客户服务界面可用包裹信息更新数据传输作业。包裹信息可包括存储介质装运的运送者和跟踪号。

当导出作业在存储服务基础设施处已被处理之后,存储介质将与加密数据一起被返回。顾客可通过在客户服务界面调用操作来检索用于每个存储介质的加密安全对象(例如,MICROSOFT WINDOWS BitLocker密钥)。顾客可使用加密安全对象来解锁存储介质加密存储介质包含每个存储介质上的清单。清单包含存储介质上的数据列表以及在存储服务基础设施中的原始位置。例如,清单可包括硬盘驱动器上的文件列表以及每个文件在存储服务基础设施中的原始团块地址。

继续参考图3,数据传输客户组件310被配置成基于日志对象促进作业状态360的审阅。在导入作业或导出作业期间,将数据复制到存储介质或从其复制数据可与日志对象相关联。日志对象包含关于被导入或导出的每个文件的详细状态。当你查询完成的作业的状态时,可返回每个复制日志文件的URL。例如,复制的数据的状态可指在复制会话期间数据(例如文件)的状态或条件。与数据相关联的状态可由不同的状态码指定。可使用若干个不同类型的状态码,其中至少一部分状态码与XML元素和数据传输对象相关联。

继续参考图3,客户工具310A可进一步被配置成修复数据传输作业380。文件损坏、受损的存储介质或存储账户密钥的改变可导致故障。客户工具310A可基于导入修复操作使用与存储介质相关联的日志对象来将丢失的文件(或文件的一部分)上传至存储服务基础设施或将丢失的文件(或文件的一部分)下载到顾客基础设施。就这一点而言,基于通过网络的流数据完成修复导入。在操作中,日志对象被传递给客户工具310A使得工具通过跨网络复制丢失的内容完成文件的导入。作为示例,客户工具310A可在顾客基础设施的对应的目录内查找原始文件并且将丢失的数据范围复制到存储服务基础设施中对应的团块和/或文件。构想了顾客可标识任意位置处的对应的目录来将丢失的数据范围复制到存储服务基础设施中对应的团块和/或文件。用于修复导入作业的命令可包括作为参数的数据传输对象,参数包括修复文件、日志目录、目标目录、基于加密的安全对象、基于密钥的安全对象、存储账户名称、日志对象、以及路径映射文件对象。具体地,修复文件可跟踪修复的进展,并且修复文件可被用来恢复被中断的修复。可用一个修复文件来配置每个驱动器。当对存储介质开始修复时,传递尚未存在的修复文件的路径。

客户工具310A还可被用来解决两个文件之间的冲突。在某些情形中,客户工具310A可能无法找到或打开必要的文件,这是因为文件未被找到、文件名是含糊的、或者文件的内容不再是正确的。例如,如果客户工具310A试图基于相对路径定位第一文件并且在多个目录下具有相同名称的文件,则可能发生含糊错误。路径映射文件对象可被用来解决这种错误,其方式在于,路径映射文件可指定不存在的路径映射文件的名称而客户工具310A可填充客户工具310A无法正确定位的文件的列表。

参考导出修复操作380B,修复导出作业可包括下载存储服务基础设施可能无法导出的任何数据,以及确认存储介质上的数据被正确地导出。数据传输客户组件需要到存储服务的连接以支持修复功能。客户工具310A可使用与存储介质相关联的日志对象来从数据存储服务下载丢失的文件(或文件的一部分)。就此,基于通过网络的流数据完成修复导出。在操作中,日志对象被传递给客户工具310A使得工具通过跨网络复制丢失的内容完成文件的导出。作为示例,客户工具310A可在存储服务基础设施的对应的目录内查找原始文件并且将丢失的数据范围复制到顾客基础设施。用于修复导出作业的命令可包括作为参数的数据传输对象,参数包括修复文件、日志目录、目标目录、基于加密的安全对象、基于密钥的安全对象以及存储账户名称。具体地,由存储服务生成并且储存在存储介质上以及可选地储存在存储账户中的导出作业的清单基于清单中的安全对象可被用于数据确认。就此,任何被确定为损坏的文件可被下载并且重写入目标目录。

在操作中,包含导出文件的存储介质可被连接到顾客基础设施。顾客工具310可指向存储介质和日志对象的位置。可从存储服务基础设施下载该日志对象。该日志对象包含无法导出的文件列表。具体地,该日志对象可指示当存储服务正下载数据(例如,从团块到文件)以储存在存储介质中时发生的故障。可能已成功下载其他组件。由此,客户工具310A可从存储服务基础设施下载故障数据并且将其写入顾客基础设施。根据本发明的实施例进一步构想了基于接收附加的具有用来修复导入或导出作业的数据的存储介质可执行修复。

继续参考图2,数据传输管理组件212(“管理组件”)可被配置成提供跟踪从顾客基础设施运输过来的存储介质、基于与存储介质相关联的数据传输作业的进展生成任务、并且在内部面向存储服务管理员以及在外部面向顾客地提供对存储服务导入或导出作业期间的存储介质的状态的显示。具体地,管理组件212可包括用于促进与该管理组件相关联的数据传输操作的性能的状态机220。该状态机220可以是如上文定义的组件或模块。该状态机220可支持监控与逻辑状态相关联的若干个不同的数据传输制品。特定的状态机可管理逻辑状态,以使得基于所检索的信息的逻辑状态可随着数据传输作业的进展由该状态机与数据传输制品相关联,其中该逻辑状态指的是参考数据传输制品在数据传输作业期间改变的构造。状态机可包括各自都与对应的数据传输制品相关联的作业状态机、驱动器状态机、驱动器槽状态机、包裹状态机、权证状态机以及实体健康状态机。该状态机220被配置成用于管理数据传输作业的进展以及进一步检测错误或故障,并且促进从这些与逻辑状态机相关联的故障中恢复。

参考图4,该图描绘了作业在数据传输过程期间转换的状态。构想了数据传输客户组件204,尤其是客户服务界面可被配置成促进检索关于数据传输作业的信息。根据本发明的各实施例,该信息可包括作业的当前状态、每个作业已完成的近似百分比、每个驱动器的当前状态、以及包含具有错误的日志对象的数据的URI。在接收到生成数据传输作业的操作后,该数据传输作业可被创建并被置于创建402状态。尽管处于创建402状态,但是该数据传输服务可假设驱动器还未被运送至存储服务基础设施。在被数据传输服务自动删除之前,导入或导出作业可保持在创建402状态直至预定的时间段。当作业处于创建402状态时如果接收到更新作业属性的操作,则该作业将保持在创建402状态,与此同时重新设置超时至预定的时间段。

基于使用更新操作的对状态属性的更新,该数据传输作业可转换到运送404状态。当包裹信息(例如,运送者和跟踪号)已被设置时,可设置运送404状态。该作业可在预定的时间段内保持在运送404状态,在该预定的时间段期满并且尚未接收到驱动器之后,可通知数据传输服务以及存储服务管理员。

在驱动器到达储存基础设施并且至少一个驱动器已开始被数据传输服务处理之后,可改变作业状态至传输406状态。此外,在驱动器已完成传输数据之后,可将作业置于打包408状态直至存储介质被运回顾客。构想了在某些状态下可取消作业。被取消的作业将跳过数据复制步骤,但其将跟随相同的状态转移正如未被取消的作业一样。

可改变数据传输作业状态至关闭410来指示存在例外、警告或错误。例如,驱动器伴随错误完成,或驱动器的个数不足以用于导出。顾客在使用数据传输客户组件时可查找更多细节。根据本发明各实施例,顾客可同样执行修复动作或创建新的数据传输作业来解决数据传输作业中的任何错误。数据传输作业状态完成412指示已正常完成作业。处于关闭410或完成412状态的数据传输作业可被改变至删除414状态。具体地,在预定的时间段之后,可删除数据传输作业或基于明确的操作来删除数据传输作业。

在运送404状态期间,在预定的时间内作业的包裹可能尚未到达。存储服务管理员可向顾客通知该丢失的包裹。基于反馈,可延长等待包裹到达的时间或取消该数据传输作业。在无法联系顾客或顾客在预定时段内不作应答的情况下,存储服务管理员可发起动作将该作业从运送404状态直接移动至关闭410状态。

在关闭410状态或完成412状态期内,驱动器可能尚未抵达返回地址或在导出作业的运送期内可能已被损坏。如果驱动器没有抵达返回地址,则顾客可首先使用数据传输客户组件来检查该作业状态以确保该驱动器已被运送。如果该驱动器已被运送,则该顾客可联系运送提供商来尝试并定位该驱动器。如果该驱动器在装运期间被损坏,则该顾客可请求另一个导出作业或直接从存储服务基础设施下载丢失的数据。

在传输406或打包408状态期间,如果数据传输作业具有不正确的或丢失的返回地址,则存储服务管理员可联系该作业的联系人来获取正确的地址。在无法联系顾客的情况下,该存储介质在预定的时间段内可被安全地销毁。

在创建402、运送404或传输406状态期间,如果在运送包裹中有不在要被导入的驱动器列表中的附加的驱动器,则可不处理该额外的驱动器并且当完成作业时可将其运送回来。

在数据传输作业期间,可能发生多个错误。错误可与特定的作业状态相关联并且被事件触发。作业状态机可为处理错误定义解决方案和/或下一步骤。作为示例,即使作业不在运送状态中或者在数据传输服务中没有该作业的记录,一个或多个驱动器仍可能在创建/未定义状态期间到达。存储服务管理员可按需尝试联系顾客来用必要的信息创建或更新作业从而向前推进该作业。如果储存管理员在预定的时间段内不能联系顾客,该存储服务管理员将尝试退还驱动器。在该驱动器不能被退还并且无法联系该顾客的情况下,该驱动器在预定的时间段内将被安全地销毁。在作业进入运送状态前不会处理作业。

参考图5A-B,该图描绘了驱动器在数据传输过程期间转换的状态。存储服务可支持检索驱动器的当前状态的操作。对导入作业而言,当使用数据传输服务操作来创建作业时,驱动器状态可以是已指定502状态。对于导入作业,由于当创建作业时未指定驱动器,所以驱动器可从已接收504状态开始。由此,当存储服务管理员已处理从运送公司接收到的驱动器时,导入作业可转换至已接收504状态。再者,对导入作业具体而言,驱动器可从已接收504状态开始。当用于数据传输作业的包裹到达但该包裹并不包含驱动器时,该驱动器状态可以是从未收到506状态。当自接收到驱动器的运送信息后已超过预定的时间段但包裹尚未到达存储服务基础设施时,驱动器也可移至该从未收到506状态。

当数据传输服务首先开始从驱动器传输至存储服务基础设施时,该驱动器还可移至传输508状态。当数据传输服务已无差错地成功传输了所有数据时,该驱动器状态可被移至已完成状态510,并且从该驱动器复制数据或将数据复制到该驱动器的同时该驱动器已遇到一些问题的时候,该驱动器状态可被移至已完成/更多信息512状态。该信息可指错误、警告或关于覆写数据的信息消息。当驱动器已从存储服务基础设施被运送回返回地址时,该驱动器可被移至寄回514状态。

当已使用在客户服务界面的操作添加了导入作业中的驱动器时,该驱动器可处于已指定502状态。当驱动器作为存储服务管理员关闭用来接收货物的权证的结果而出现在存储服务基础设施处时,数据传输管理组件将该驱动器转移至等待传输516状态。当驱动器由于没有未完成的跟踪号故不可能到达时,数据传输管理组件将该驱动器转移至从未收到506状态。

当数据传输作业中的驱动器处于等待传输516状态时,该驱动器可处于等待被加载进驱动器槽以使传输可开始或继续的存储服务基础设施处的一个仓中。当驱动器进入该等待传输516状态时,可分配给该驱动器一个时戳。基于此时戳以及其他管控驱动器的插入和移除的规则,数据传输管理组件可为存储服务管理员写一张权证用来将盘插入特定的驱动器槽并且将该驱动器转移至已提交加载权证520状态。

当已提交将盘加载进特定的驱动器槽的权证并且已执行合适的动作来启用在对应的作业、驱动器、权证以及驱动器槽之间的通信时,该驱动器可处于已提交加载权证520状态。如果权证过期或失效,则该驱动器可被移至故障状态522并且事件被引发。如果权证被关闭,则该驱动器可被转移至已解决加载权证524状态。

如本发明的各实施例所述,当存储服务管理员执行加载任务时,在驱动器槽上的代理可检测驱动器插入并且将该驱动器指定给VM。该VM与数据传输管理组件进行通信来获取关于用于盘的存储账户的信息。一旦数据传输管理组件针对驱动器插入是用于哪个作业作出响应,并且接收安装成功的确认,则将该驱动器状态改变至正在进行的传输508。如果安装不成功,数据传输管理组件则提交将该驱动器从驱动器槽移除的权证。当数据传输完成时,该驱动器可被移至需要卸载权证526,并且该驱动器在提交权证之后被移至已提交卸载权证528状态。

当数据传输作业中的驱动器处于传输508状态时,该驱动器已被加载进驱动器槽,VM已被分配,并且文件正在被上传至存储服务基础设施。数据传输管理组件基于VM提供给它的信息来负责作出这一状态转换。构想了数据传输管理组件在传输时可根据VM的需要进一步支持重启、复位或监控。如果复制完成,或不可挽回地失败,抑或是由于没有进展从而超时,则数据传输管理组件可提交将该驱动器从驱动器槽移除的权证。当复制完成时,该驱动器被移至已提交卸载权证528状态。

当数据传输作业中的驱动器处于已提交卸载权证528状态时,该驱动器已被成功加载进机架并且正准备从机架移除。一权证正等待存储服务管理员处理以执行该移除。如果该权证过期或失效,数据传输管理组件将该驱动器移至故障522状态并且事件被引发。如果权证被关闭,但该驱动器仍有要传输的数据并且前方的进展是基于此次运行取得的,则数据传输管理组件可将该驱动器移至等待传输516状态。否则,如果权证被关闭,则数据传输管理组件因为该驱动器不能取得前方的进展故可将盘移至等待运送518状态。

当数据传输作业中的驱动器处于等待运送518状态时,该驱动器准备好被运回顾客。当来自一个仓的所有驱动器都处于等待运送518状态时,数据传输管理组件提交将该驱动器返回至顾客的权证。这可以是包裹工作流的一部分。

当数据传输作业中的驱动器处于运回514状态时,存储服务管理员已关闭指示使用某跟踪号将驱动器成功返回用户的权证。数据传输管理组件对处于此状态的驱动器可不采取动作。构想了与运送者的交互可被合并至监控来帮助确定顾客是否实际上已经接收到包裹。当数据传输作业涉及的所有驱动器都处于运回状态514时,该作业处于已完成状态。

当数据传输作业中的驱动器处于从未接收506状态时,以下两个条件中的一个可为真-所有未完成的跟踪号都超过了他们的超时设定;以及已接收到所有跟踪号,但尚未接收到列在导入驱动器列表上的其中一个驱动器。如果用户使用客户服务界面来指定新的跟踪号,则数据传输管理组件可将驱动器移回至已指定502状态。

数据传输服务可同样支持几种不同的故障状态。当数据传输作业或存储介质在预期的生命周期内无法正常进展时,该作业或存储介质可被移至故障状态。在那时,存储服务管理员可联系顾客(例如,通过电子邮件或电话)。一旦问题得到解决,可将该故障作业或驱动器从故障状态中退出并且移至合适的状态。当数据传输作业中的驱动器处于故障状态时,已出现一些问题而存储服务管理员可解决任何问题。数据传输管理组件对处于此状态的驱动器可不采取动作。然而,存储服务管理员可修改驱动器的状态以允许所有合适的动作。在各实施例中,故障被实现为标志以使作业或驱动器停留在其当前状态而随后被标记为已发生故障。该故障标志可以是与该作业或驱动器相关联的单独字段。由此,该故障标志保持活跃并且该作业或驱动器被冻结在相关联的状态直至该问题得到解决。

数据传输服务可进一步支持取消、删除以及枚举作业。这些动作的每一个都可与在客户服务界面的可执行的操作相关联。顾客可经由客户服务界面在数据传输作业的不同的逻辑状态期间执行操作来配置该数据传输作业。例如,在数据传输作业处于打包状态前,顾客可通过执行取消操作请求取消该数据传输作业。在尽最大努力的基础上该取消可被办到,而如果存储介质处在传输数据的过程中,则即使在已请求该取消之后,仍可传输更多数据。被取消的作业仍运行至已完成状态并且在预定的时间段内被保存,在之后将被删除。顾客在存储介质已被运送之前(同时数据传输作业处于创建状态)可进一步执行删除操作。当数据传输作业处于关闭或完成状态时,也可删除该数据传输作业。在数据传输作业已被删除之后,通过使用数据传输服务不可访问其信息和状态。顾客还可通过执行枚举操作在订阅中枚举数据传输服务作业。该操作可返回包括以下属性的数据传输作业:作业类型(导入或导出),当前作业状态、作业的相关联的存储账户以及该作业的创建时间。

参考图6,该图描绘了驱动器槽在数据传输过程期间转换的状态。驱动器槽可被配置成接收驱动器并且促进该驱动器上数据的导入或导出。驱动器槽可支持若干个不同的逻辑状态。驱动器槽在最初以及在卸载权证成功关闭之后可处于清空602状态。如果管理组件选择用于传输活动的驱动器槽,则该管理组件可提交将驱动器加载进槽中的权证并且将该槽移至已提交加载权证604状态。在已提交加载权证604状态期间,存在对于能够将驱动器加载进驱动器槽的存储服务管理员的未完成的权证。如果该权证被成功关闭,则数据传输管理组件将驱动器槽移至已占用606状态。如果该权证出于某些原因被失效,则数据传输管理组件可将驱动器槽移至故障608状态。该驱动器槽处于已占用606状态的同时存在正进行复制作业的被插入的驱动器。当驱动器被数据传输管理组件移至已提交卸载权证610状态时,该驱动器槽也同样被移至已提交卸载权证状态。

在已提交卸载权证610状态期间,虽然驱动器可被插进驱动器槽中,但是一权重正等待被处理以将驱动器从该驱动器槽移除。如果该权证被成功关闭,则数据传输管理组件将驱动器槽移至清空602状态。如果该权证出于某些原因被失效,则数据传输管理组件将驱动器槽移至故障608状态。当加载或卸载权证出于某些原因被失效时,驱动器可处于故障608状态。可能需要人为干预来将该驱动器槽移回至清空602状态。数据传输管理组件对处于此状态的驱动器槽可不采取动作。然而,可人为修改驱动器槽状态来指出该驱动器槽已被修复。

参考图7,顾客可通过客户服务界面提供包裹信息(例如,运送者和跟踪号)。数据传输管理组件可对每个与包裹信息相关联的跟踪号提交接收传入包裹的权证。包裹实体经历如图7中所列的各种状态。当包裹已被客户服务界面上使用包裹信息来更新数据传输作业的操作所指定时,该包裹可处于已创建702状态。数据传输管理组件对处于此状态的权证可不采取动作。当顾客设置数据传输作业的状态时,该包裹可处于已运送704状态并且可与运送相关联。数据传输管理组件可将权证移至已运送704状态。一旦数据传输管理组件看见处于此状态的权证,它就可提交在合适的存储服务基础设施处接收该跟踪号的权证并且将状态移至已提交接收权证706。在数据管理组件将跟踪号的状态设置为已寄出并且提交在存储服务基础设施处接收包裹的权证之后,该包裹可处于已提交接收权证706状态。此时,该跟踪号从根本上可以是权证。

当包裹处于已提交接收权证706状态时,数据传输管理组件可负责监控该权证的状态。如果存储服务管理员关闭权证,则该权证可具有关于在装运中包含了哪个驱动器的合适的细节。数据传输管理组件可将权证中指定的所有驱动器上的状态移至等待传输状态。在关闭之后,如果相关联的数据传输作业具有与其相关联的返回地址,则数据传输管理组件可将包裹移至等待运送708状态。否则,数据传输管理组件可将该包裹移至等待返回地址710状态。当在存储服务基础设施处已接收包裹但在相关联的作业中无指定的返回地址时,该包裹可处于等待返回地址710状态。当顾客更新返回地址时,数据传输管理组件可将包裹的状态移至等待运送708。数据传输管理组件对处于此状态的包裹可不采取动作。如果权证过期,则数据传输管理组件可将包裹移至过期712状态。

当驱动器已被加载进存储服务基础设施处的一个仓中时,该包裹可处于等待运送708状态。此外,需要必要的信息使驱动器能够返回至顾客。数据传输管理组件负责为此仓中的要被加载以及被从该仓卸载的所有驱动器提交权证。当来自此仓的所有驱动器都处于等待运送708状态时,数据传输管理组件在成功提交寄回该驱动器的权证之后可将包裹移至已提交运送权证714状态。

当数据传输管理组件已提交将仓中的驱动器寄回顾客的权证时,该包裹可处于已提交运送权证714状态。如果权证过期或失效,则该包裹可被移至故障716状态。如果存储服务管理员关闭权证,则该权证将具有关于用于将驱动器寄回顾客的跟踪号的合适的细节。数据传输管理组件可将所有相关的驱动器移至寄回状态,随后将包裹移至返回718状态。

当关闭运送驱动器的权证时,该包裹可处于返回718状态,从而给出关于哪一个包裹被用来将驱动器运送至顾客的信息。注意,数据传输管理组件将为列在权证中的每个跟踪号创建新的包裹实体。这些实体的每一个都将处于传出包裹720状态。数据传输管理组件对处于此状态的跟踪号可不采取动作。当存储服务管理员在关闭返回运送权证时提及时,包裹处于传出包裹720状态。数据传输管理组件对处于此状态的跟踪号可不采取动作。数据传输管理组件将返回这些权证的跟踪号。当接收的权证超出其超时设定开放或者以某种方式已失效时,包裹可分别处于过期712或故障716状态。数据传输管理组件对处于此状态的跟踪号可不采取动作。

参考图8,该图描绘了权证在数据传输过程期间转换的状态。当驱动器被插入或从驱动器槽被移除时,在已提交权证802状态创建加载权证。在权证关闭之后,数据传输管理组件可取决于权证回复的内容将该加载权证移至成功关闭804状态或权证失效806状态。在权证超时后,数据传输管理组件将该权证移至权证超时808状态。

当权证的内容在关闭之后是非预期的时(例如,槽不存在或槽不可操作等),加载权证可处于权证失效806状态。当权证处于此状态时,数据传输管理组件可以不修改该加载权证的状态。然而,在人为干预的情况下可将该权证从此状态移至一些其他的状态。当底层的权证被关闭并且其内容在关闭之后是意料之中的时,加载权证处于成功关闭804状态。数据传输管理组件可以不进一步修改该加载权证的状态。当标的权证尚未及时地被服务时,加载权证可处于权证超时808状态。然而,数据传输管理组件确有继续监控该底层的权证的状态。

参考具体实施例描述了不同数据传输制品以及与其相关联的逻辑状态的实施例,具体实施例在所有方面都旨在是说明性的而非限制性的。不偏离本发明范围的情况下,各替换实施例对于本发明所属领域的技术人员将变得显而易见。

现在转向图9A,提供了示出一种用于导入存储介质上的数据的方法900A的流程图。最初在块910A处,访问存储介质。该存储介质对应于数据传输清单。该存储介质与导入作业相关联。数据传输清单可被储存在存储介质或被传递至并且储存在存储服务基础设施。可使用数据传输客户组件来配置存储介质。数据传输客户组件促进生成数据传输清单,该数据传输清单可包括:包括至少一个或多个位置对象的数据传输对象、认证安全对象、加密安全对象、确认对象以及散列安全对象。可使用散列安全对象来保护存储介质的一部分,使得该存储介质的一部分的完整性在向数据传输处理提供该存储介质之前得到验证。

在块920A处参考数据传输清单。该数据传输清单至少提供存储服务基础设施与存储介质中的数据之间的数据映射。在块930A处,基于该数据传输清单将数据从存储介质复制到存储服务基础设施。在各实施例中,当从存储介质复制数据至存储服务基础设施时可生成日志对象。该日志对象包括与由存储介质处理的数据相关联的至少部分数据错误事件。该日志对象通过使用来自所标识的位置的替代数据来提供与数据错误事件相关联的数据修复。

现在转向图9B,提供了示出一种用于将数据导出到存储介质上的方法900B的流程图。最初在块910B处,访问存储介质。该存储介质与导出作业相关联。导出作业对应于一个或多个数据传输对象。可使用数据传输客户组件来创建导出作业。在块920B处,来自存储服务基础设施的数据被复制到存储介质。在块930B处,基于一个或多个数据传输对象以及从存储服务基础设施复制的数据生成数据传输清单。该数据传输清单对应于存储介质。在各实施例中,数据传输清单被储存在存储介质上。在各替换实施例中,数据传输清单被储存在存储服务基础设施中。该方法进一步包括为数据生成日志对象。该日志对象包括与由存储介质处理的数据相关联的至少部分数据错误事件。该日志对象提供与数据错误事件相关联的数据修复。

现在转向图10,提供了示出一种用于为存储介质监控数据传输的方法1000的流程图。最初在块1010处,接收指示数据传输作业已被创建的通知。至少部分使用数据传输客户组件来创建数据传输作业。在块1020处,为至少一个数据传输制品确定数据传输作业的进展。该至少一个数据传输制品与基于数据传输作业的进展的逻辑状态相关联。该至少一个数据传输制品从以下各项中选择:存储介质、存储介质槽、包裹、权证以及存储介质、存储介质槽和权证的健康状况。健康状况可指状态标号(例如,好或坏、健康或不健康、或1-5),该状态标号指示关于数据传输作业进展的所选数据传输制品的状况。例如,如果在预定的时间段内权证得到处理,则健康标号可为好;然而,如果在预定的时间段内权证未得到处理,则该权证可与坏状态标号相关联。数据制品健康状况的状态标号可改进存储介质历经数据传输过程的发展。

在块1030处,至少一个数据传输制品的逻辑状态被登记。在各实施例中,可接收与数据传输作业相关联的附加的信息,并且该数据传输作业的进展基于接收到的附加的信息得以确定,从而使得逻辑状态被更新。逻辑状态可进一步与指定的实体相关联而被登记,其中该指定的实体是顾客实体或存储服务管理员实体。

现在转向图11A,提供了示出一种基于存储介质导入数据的方法1100A的流程图。最初在块1110A处,准备导入作业。准备导入作业包括多个操作。在块1120A处,使用一个或多个数据传输对象作为参数来创建导入作业。在块1130A处,为存储介质接收包裹信息。该包裹信息与存储介质的装运相关联。

现在转向图11B,提供了示出一种用于准备导入作业的方法1100B的流程图。最初在块1110B处,接收对要被导入到存储服务基础设施的数据的选择。在块1120B处,接收对数据的目的地位置的选择。在块1130B处,复制数据至存储介质。在块1140B处,为存储介质生成数据传输清单。数据传输清单可被储存在存储介质上使得该存储介质上的数据通过引用该数据传输清单从该存储介质被复制。

现在转向图12A,提供了示出一种用于准备导出作业的方法1200A的流程图。最初在块1210A处,接收要从存储服务基础设施导出的数据的指示。在块1220B处,使用一个或多个数据传输对象作为参数来创建导出作业。在块1230B处,为存储介质接收包裹信息。该包裹信息与存储介质的装运相关联。

现在转向图12B,提供了示出一种用于将数据导出到存储介质上的方法1200B的流程图。最初在块1210B处访问存储介质。该存储介质与导出作业相关联。使用多个操作来配置导出作业。在块1220B处,将数据从存储服务基础设施复制到存储介质。在块1230B处,为导出作业生成日志对象。在块1240A处,为存储介质生成数据传输清单。数据传输清单可被储存在存储介质上使得该存储介质上的数据通过引用该数据传输清单从该存储介质被复制。

现转向图13,提供了示出用于为数据传输验证存储介质的方法1300的流程图。最初在块1310处,使用安全渠道接收散列安全对象。该散列安全对象保护促进访问存储介质上的数据的存储介质的一部分。在块1320处,基于该散列安全对象验证存储介质的一部分的完整性。在块1330处,在验证存储介质的一部分的完整性之后为数据传输处理提供存储介质。构想了经由与存储服务基础设施安全地隔离的专用虚拟机处理存储介质。

参考各具体实施例描述了本发明的各实施例,各具体实施例在所有方面都旨在是说明性的而非限制性的。不偏离本发明范围的情况下,各替换实施例对于本发明所属领域的技术人员将变得显而易见。

从前面的描述可以看出,本发明很好地适用于实现上文所阐述的所有目的和目标,并且具有对于结构是显而易见且固有的其他优点。

可以理解,某些特征和子组合是有用的,并且可以在不参考其他特征或子组合的情况下使用。这由权利要求所构想的,并在权利要求的范围内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1