首页> 中国专利> 将数据从配置源设备配置到配置目标设备的系统

将数据从配置源设备配置到配置目标设备的系统

摘要

一种用于将数据从配置源设备配置到配置目标设备的系统。标识符生成单元(33)生成与将存储在数据库(22)中的第一数据进行分割得到的多个第一片段数据相对应的多个第一标识符。数据库(24)存储第一数据和第一标识符。当第一数据被更新为第二数据时,标识符生成单元(33)生成与将第二数据进行分割得到的多个第二片段数据相对应的多个第二标识符。配置控制单元(51)判断第一标识符和与第一标识符相对应的第二标识符是否相同。当确定第一标识符和与第一标识符相对应的第二标识符不同时,配置控制单元(51)将与第二标识符相对应的第二片段数据以及第二标识符写入到数据库(24)中。

著录项

  • 公开/公告号CN101303660A

    专利类型发明专利

  • 公开/公告日2008-11-12

    原文格式PDF

  • 申请/专利号CN200810100360.3

  • 发明设计人 小原诚;

    申请日2008-03-14

  • 分类号G06F11/14;

  • 代理机构永新专利商标代理有限公司;

  • 代理人黄睿

  • 地址 日本东京都

  • 入库时间 2023-12-17 21:06:40

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2013-05-08

    未缴年费专利权终止 IPC(主分类):G06F11/14 授权公告日:20100908 终止日期:20120314 申请日:20080314

    专利权的终止

  • 2010-09-08

    授权

    授权

  • 2009-01-07

    实质审查的生效

    实质审查的生效

  • 2008-11-12

    公开

    公开

说明书

技术领域

本发明整体涉及一种用于将数据从配置(deploying)源设备配置到配置目标设备的数据配置系统,更具体地,涉及作为数据的已更新部分的有差别部分的配置。

背景技术

近年来,已经提出一种采取对策来对抗诸如从例如公司中带出来的信息设备被偷窃或丢失之类的泄漏或安全事故的方法。在这个方法中,使用预先证实的或者预先授权的配置(复制本)镜像作为磁盘卷镜像,其包括,例如,OS(操作系统)和应用程序。根据这个方法,如果信息设备被切断电源,则在公司外面创建或者保存的数据就会被擦除。将要求保存的数据通过网络传送到公司并且进行保存,或者通过使用类似秘密共享体制的方法进行保存。

作为将这样的卷镜像从配置源配置到配置目标的配置(复制)技术,可以利用一种用于一致化例如在一所学校的计算机训练教室中或者在一个呼叫中心中的多台PC(个人电脑)的系统镜像的配置方法。

比如,配置源设备读入存储在包含在该配置源设备中的数据库(例如类似HDD的存储介质)里的卷镜像,并且通过通信网络将卷镜像传送到配置目标设备。在配置目标设备中,将传送的卷镜像写入到配置目标设备的数据库中。配置源设备是创建要被配置的磁盘卷镜像(主镜像)的信息处理设备。另一方面,配置目标设备例如可以是由配置源设备创建的磁盘卷镜像要配置到其上的一个信息处理设备。

现在假设存储在配置源设备的数据库中的卷镜像已经更新了的情况。即使在这种情况下,例如,也将整个卷镜像传送到配置目标设备,而不管组成卷镜像的每个块(卷镜像的分割片段部分)是否存在更新。例如,由于即使是组成卷镜像的多个块中没有更新的块也仍然传送,因此配置处理的速度降低了。

为了处理这个问题,已知一种有差别传送技术,其通过执行仅仅涉及已更新单元的处理,来以更高的速度执行配置处理。有差别传送技术的一个例子是一种通过使用与组成卷镜像的每个块相关的更新映射来检测已更新块的技术(以下称为“第一技术”)。

有差别传送技术的另一个例子是一种通过在传送(配置)源或传送目标上对将组成卷镜像的每个块的数据的标识符(比如散列(hash)值)进行比较而检测已更新块的技术(以下称为“第二技术”)。在第二技术中,在配置源设备和配置目标设备生成当前卷镜像(当前存储在配置源设备的数据库和配置目标设备的数据库中的卷镜像)的片段的标识符。例如,以固定大小的扇区为单位读入卷镜像,并且生成相关的散列值。例如,在配置源设备中,对相应的散列值(标识符)进行比较,并且将相应散列值不同的扇区的数据传送到配置目标设备,并且重写相应数据。根据第二技术,存储在配置源设备和配置目标设备中的卷镜像的已更新部分(以下称为“有差别部分”)可以基于标识符之间的不同而检测到。

通过以上介绍的有差别传送技术,在配置源设备中的卷被更新的情况下,可以实现仅仅是传送有差别部分而不传送整个卷镜像。

关于以上介绍的有差别传送技术,公开了一种技术(见日本专利申请公开号2006-268740),其用于减少复制所需要的时间。依照这种技术,将备份介质传送到复制目标,从备份设备执行备份,并且仅仅复制有差别的数据。

然而,在类似以上介绍的第一技术的有差别传送技术中,在存在多个传送目标PC(配置目标设备)并且传送目标PC有多个不同版本的卷镜像的情况下,必须管理依照每个版本的有差别映射。另外,如果一个任意版本的有差别映射丢失了,则就绝对不可能恢复该丢失版本之后版本的卷镜像。在这种情况下,由于不能传送在配置源设备中更新的卷镜像的有差别部分,因此配置目标设备需要读入要配置的整个卷镜像。而且,由于如果丢失了有差别映射,就不能传送有差别部分,因此即使是老版本的有差别映射也不能轻易地丢弃(擦除)。

另一方面,类似以上介绍的第二技术的有差别传送技术需要传送源(配置源)和传送目标(配置目标)的卷镜像的标识符,例如在开始配置时。因此,在开始配置时,必须读入在每个传送源和传送目标中的整个卷镜像,并且执行生成卷镜像标识符的过程。在这时,例如,如果访问通信路径的速度与访问配置源设备或配置目标设备的数据库的速度相比而言足够高,则读入整个卷镜像的过程就会导致瓶颈。作为结果,降低了有差别传送得到的配置过程速度提高的有利效果。

发明内容

本发明的目标是提供一种数据配置系统以及一种数据配置程序,其能够通过将存储在配置源设备中的已更新数据的有差别部分配置到配置目标设备,来以高速度配置数据。

依照本发明的一个方面,提供了其包括:配置源设备,其包括存储第一数据的第一数据库;以及配置目标设备,存储在所述第一数据库中的所述第一数据被配置到所述配置目标设备,其中,所述配置源设备包括:第一生成单元,其生成与将存储在所述第一数据库中的第一数据进行分割得到的多个第一片段数据相对应的多个第一标识符;以及第二生成单元,其在所述第一数据被更新为第二数据时,生成与将所述第二数据进行分割得到的多个第二片段数据相对应的多个第二标识符,并且所述配置目标设备包括:第二数据库,其存储在所述第一数据库中所存储的所述第一数据以及所述第一生成单元所生成的多个第一标识符;判断单元,判断存储在所述第二数据库中的多个第一标识符和所述第二生成单元所生成的与所述多个第一标识符相对应的多个第二标识符是否相同;以及写入单元,其在所述判断单元确定所述第一标识符和与所述第一标识符相对应的第二标识符不同时,将与所述第二标识符相对应的第二片段数据和所述第二标识符写入到所述第二数据库中。

附图说明

合并在一起组成说明书一部分的附图,介绍发明的实施例,并且和以上给出的大体介绍以及以下给出的实施例的详细介绍一起,用来介绍该发明的原理。

图1是展示依照本发明的实施例,组成数据配置系统的配置源设备、配置目标设备或者以及存储设备的典型硬件结构的框图;

图2是主要展示依照该实施例的数据配置系统的功能结构的框图;

图3是用于解释配置源设备30将存储在数据库22中的卷镜像上传到存储设备40中的操作的视图;

图4是例示出配置源设备30将存储在数据库22中的卷镜像上传到存储设备40中的处理过程的流程图;

图5示出存储在数据库23中的卷镜像x和标识符群h的数据结构的一个例子;

图6是用于解释配置目标设备50从存储设备40成批下载卷镜像的视图;

图7是用于例示配置目标设备50从存储设备40成批下载卷镜像的处理过程的流程图;

图8是用于解释配置目标设备50从存储设备40有差别下载卷镜像的操作的视图;

图9示出存储在数据库23中的卷镜像x’以及标识符群h’的数据结构的一个例子;

图10是例示配置目标设备50从存储设备40有差别下载卷镜像的处理过程的流程图;

图11是主要示出依照该实施例的第一种修改的数据配置系统的功能结构的框图;

图12是例示在与存储在数据库24中的卷镜像一致的标识符群被无效的情况下,有差别下载的处理过程的流程图;和

图13是例示与数据被写入到卷镜像的片段数据相对应的标识符被无效之后执行的有差别下载的处理过程的流程图。

具体实施方式

现在将参照附图介绍本发明的一个实施例。

图1是展示依照发明的实施例,组成数据配置系统的配置源设备、配置目标设备以及存储设备的硬件结构的框图。尽管图1通过例子示出了配置源设备,但是配置目标设备和存储设备也都具有相同的结构。在以下的介绍中,配置目标设备和存储设备的结构也将参照图1进行介绍。

如图1所示,计算机10连接到诸如硬盘驱动器(HDD)之类的外部存储设备20。外部存储设备20存储通过计算机10执行的程序21。计算机10和外部存储设备20组成配置源设备30。

图2是主要展示依照该实施例的数据配置系统的功能结构的框图。数据配置系统100包括配置源设备30、存储设备40和配置目标设备50。配置源设备30和存储设备40可以通过例如通信路径连接以进行通信。类似的,存储设备40和配置目标设备50可以通过例如通信路径连接以进行通信。在数据配置系统100中,配置源设备30将包含例如操作系统(OS)和应用程序的盘卷镜像(卷镜像)上传到存储设备40中。配置目标设备50从存储设备40中下载由配置源设备30所上传的卷镜像。由此,配置源设备30将卷镜像配置到配置目标设备50。

配置源设备30包括配置控制单元31、数据存取单元32、标识符生成单元33以及传送单元34。在当前实施例中,假设单元31到34分别通过如图1中所示的计算机10执行存储在外部存储设备20中的程序来实现。程序21可以预先存储在计算机可读存储介质中并且可以是可分发的。这个程序21可以下载到计算机10中,例如通过网络。

配置源设备30包括数据库22。在当前实施例中,数据库22存储在外部存储设备20中。

数据库22是一种存储介质,诸如硬盘驱动器,并且存储以上介绍的卷镜像。例如,数据库22有足够存储卷镜像的存储器容量。

例如,配置控制单元31从例如高级应用程序接收由例如数据配置系统100的管理员所指定的上传卷镜像的指令。配置控制单元31经由数据存取单元32读入多个片段数据(组成卷镜像),这些片段数据是将由例如管理员所指定的卷镜像进行分割后得到的。片段数据是以固定长度的扇区为单位读入的卷镜像的数据,并且片段数据设置为按照例如任意逻辑块地址(LBA)的间隔。配置控制单元31将多个读入的片段数据(卷镜像)以及由标识符生成单元33生成的标识符群(稍后作介绍)经由传送单元34传送到存储设备40。

数据存取单元32为配置控制单元31提供了以下存取功能:例如,从/向数据库22读出/写入数据。存取功能的一个例子是小型计算机系统接口(SCSI)。

标识符生成单元33生成例如与多个片段数据(第一片段数据)相对应的标识符(第一标识符),其中,所述多个片段数据是将由配置单元31读入的卷镜像进行分割后得到的。标识符生成单元33通过使用散列函数,例如MD5或者SHA-1,产生所述多个片段数据的散列值,作为与所述多个片段数据相对应的标识符。标识符生成单元33向配置控制单元31输出所生成的标识符(散列值)。与对卷镜像进行分割所得到的多个片段数据相对应的标识符的一个群称为“标识符群”。

传送单元34向存储设备40传送(读/写)通过由配置控制单元31读入的卷镜像(即,组成该卷镜像的片段数据)以及由标识符生成单元33生成的标识符群。一种可用的通信方法的例子是因特网小型计算机系统接口(iSCSI)。

存储设备40包括传送单元41和数据存取单元42。在当前实施例中,假设单元41和42分别通过计算机10执行存储在外部存储设备20中的程序21实现。

存储设备40包括数据库23。在当前实施例中,数据库23存储在外部存储设备20中。

例如,数据库23存储从配置源设备30发送的卷镜像和标识符群。例如,数据库23具有对于存储卷镜像和标识符群而言足够的存储器容量。在存储卷镜像和标识符群的一种可能的方法中,将存储卷镜像的分区设置为引导分区,并且将存储标识符群的分区设置为从存储在引导分区的操作系统不能进行访问。

传送单元41将从配置源设备30发送的卷镜像和标识符群经由数据存取单元42写入到数据库23中。另外,例如,响应于来自配置目标设备50的、请求配置卷镜像的配置请求,传送单元41经由数据存取单元42读入存储在数据库23中的卷镜像或者标识符群。传送单元41将读入的卷镜像或者标识符群传送到配置目标设备50。

数据存取单元42为传送单元41提供以下存取功能:例如,从/向数据库23读/写数据。类似以上介绍的数据存取单元32,存取功能的一个例子是SCSI。

配置目标设备50包括配置控制单元51、传送单元52以及数据存取单元53。在当前实施例中,假设单元51到53分别通过如图1中所示的计算机10执行存储在外部存储设备20中的程序21来实现。

配置目标设备50包括数据库24。在当前实施例中,数据库24存储在外部存储设备20中。

例如,数据库24存储从存储设备40发送(传送)的卷镜像和标识符群。例如,数据库24具有对于存储卷镜像和标识符群而言足够大的存储器容量。类似以上介绍的数据库23,在存储卷镜像和标识符群的一种可能的方法中,将存储卷镜像的分区设置为引导分区,并且将存储标识符群的分区设置为从存储在引导分区的操作系统不能进行访问。

例如,配置控制单元51从高级应用程序,接收由例如数据配置系统100的管理员所指定的下载卷镜像的指令。一旦接收到该下载指令,配置控制单元51就经由传送单元52向存储设备40发送配置由管理员所指定的卷镜像的请求。

配置控制单元51将从存储设备40传送的卷镜像或标识符群经由数据存取单元53写入数据库24中。

另外,配置控制单元51比较存储在数据库24中的标识符(第一标识符)和从存储设备40发送的标识符(第二标识符)。由此,配置控制单元51判断存储在数据库24中的一个第一标识符和从存储设备40发送的、相应的一个第二标识符是否相等。如果配置控制单元51确定存储在数据库24中的第一标识符中至少有一个与存储设备40发送的相应第二标识符不相等,配置控制单元51就从存储设备30中获得与该第一标识符不相等的相应第二标识符的片段数据(在这之后称为“有差别数据”)。配置控制单元51将所得到的有差别数据存储在数据库24中。

数据存取单元53为配置控制单元51提供以下存取功能:例如从/向数据库24读/写数据。类似以上介绍的数据存取单元32和42,存取功能的一个例子是SCSI。

接下来,参照图3,给出配置源设备30将存储在数据库22中的卷镜像上传到存储设备40中的操作的说明。

总的来说,该上传处理包括接下来介绍的步骤S1到S3的处理。开始,配置源设备30的配置控制单元31经由数据存取单元32从数据库22读入多个片段数据(例如,以64KB为单位),所述多个片段数据是将由例如管理员指定上传的卷镜像分割得到的(步骤S1)。配置控制单元31连续地读入对所指定的卷镜像进行分割所得到的多个片段数据。

配置控制单元31经由传送单元34向存储单元40传送读入的片段数据。在存储设备40中,将从配置源设备30(配置控制单元31)传送的片段数据写入到数据库23中(步骤S2)。

配置源设备30的标识符生成单元33生成与由配置控制单元31读入的各个片段数据相对应的标识符。配置控制单元31经由传送单元34向存储设备40传送由标识符生成单元33生成的标识符。在存储设备40中,将从配置源设备30传送的标识符写入到数据库23中(步骤S3)。

将传送给存储设备40的标识符以及用来生成标识符的片段数据互相关联,并且存储在数据库23中。

当对指定上传的卷镜像进行分割所得到的多个片段数据以及与这些片段数据相对应的标识符全部写入到存储设备40的数据库23中时,上传过程完成。

在上传过程期间,必须禁止数据写入到指定上传的卷镜像(即,指定上传的卷镜像所存储的区域)。因此,例如,上传过程在以下环境中执行:

1)不从指定的卷镜像自身进行引导(从另外一个引导镜像进行引导),以及

2)在从该卷镜像自身进行引导的情况下,通过驱动器级(过滤器驱动器)来阻塞数据的写入(抑制)。

例如,以上介绍的上传过程可以设置为,在每次对存储在配置源设备30的数据库22中的卷镜像进行更新(例如,OS或者应用程序的版本升级,或者反病毒程序软件的模式文件的更新)时执行。此外,上传过程可以以预定的时间间隔执行,该时间间隔由例如管理员设置(例如每天、每月等等)。这些设置可以由例如管理员来改变。

接下来参照图4的流程图,给出了配置源设备30将存储在数据库22中的卷镜像上传到存储设备40中的处理过程的说明。当由例如管理员指定(输入)了待上传的卷镜像时,执行该上传过程。现在,假设管理员指定的卷镜像是卷镜像x。

开始,配置源设备30的配置控制单元31接收对要开始进行配置的卷镜像x的指定(步骤S11)。

假设配置控制单元31通过将卷镜像x分割为n数量的片段数据x0、x1、...、xn-1来处理卷镜像x。还假设片段数据xi(i=0、1、...、n-1)有固定大小,比如a字节。具体而言,如果卷镜像x的大小是d,d=a×n(字节)。在以下介绍的步骤S12到S15的处理中,例如,以片段数据x0、x1、...xi的顺序执行该处理。

配置控制单元31经由数据存取单元32从数据库22读入片段数据xi,其是将卷镜像x进行分割得到的多个片段数据之一(步骤S12)。

随后,标识符生成单元33生成与配置控制单元31读入的片段数据xi相对应的标识符hi(i=0、1、...、n-1)(步骤S13)。作为以上被介绍的,例如,标识符生成单元33生成片段数据xi的散列值,作为与片段数据xi相对应的标识符。在这种情况下,标识符生成单元33通过使用诸如MD5或者SHA-1之类散列函数来生成散列值。

配置控制单元31经由传送单元34向存储单元40传送读入的片段数据xi。配置控制单元31(传送单元34)传送的片段数据xi经由存储设备40的传送单元41和数据存取单元42写入数据库23中(步骤S14)。

配置控制单元31经由传送单元34向存储设备40传送标识符生成单元33生成的标识符hi。配置控制单元31(传送单元34)传送的标识符hi经由存储设备40的传送单元41和数据存取单元42写入数据库23中(步骤S15)。

将标识符hi和与标识符hi相对应的片段数据xi互相关联,并且存储在数据库23中。

随后,判断以上介绍的步骤S12到S15的处理是否对所有n数量的片段数据都执行了(步骤16)。如果确定对于所有片段数据都已经执行了该处理(步骤S16中“是”),则该上传过程完成。

另一方面,如果确定还没有完成对于所有片段数据的处理(步骤S16中“否”),处理程序就返回到步骤S12,对未处理的片段数据进行处理。

图5示出存储在存储设备40的数据库23中的卷镜像x和与卷镜像x相对应的标识符群h的数据结构的一个例子,例如,当以上介绍的上传过程已经完成的情况下。

如图5所示,例如,将卷镜像x进行分割得到的多个片段数据x0、x1、...、xn-1从第一个开始连续地存储在数据库23中。随后,以这个顺序连续地存储标识符h0、h1、...、hn-1。与例如将卷镜像x进行分割得到的多个片段数据x0、x1、...、xn-1相对应的多个标识符h0、h1、...、hn-1称为“标识符群h”。

在图5所示的例子中,与存储在区域231中的片段数据x0相对应的标识符是存储在区域232中的标识符h0,并且片段数据x0和标识符h0相互关联。该情况同样应用于除了片段数据x0和标识符h0之外的其他片段数据和标识符。

接下来参照图6,给出了配置目标系统50执行对存储在存储器设备40(存储设备40的数据库23)中的卷镜像的成批下载操作的说明。例如,在还没有任何卷镜像被从配置源设备30配置到配置目标设备50的情况下,执行成批下载,以便将卷镜像从配置源设备30下载到配置目标设备50。换而言之,例如,在没有卷镜像被写入到配置目标设备50的数据库24的情况下执行该成批处理。

现在假设存储在存储设备40的数据库23中的卷镜像是卷镜像x。还假设与存储在数据库23中的卷镜像x相对应的标识符群是标识符群h。另外,假设由例如管理员指定下载的卷镜像是卷镜像x。

总体上说,成批下载处理包括以下介绍的处理步骤S21到S22的处理。开始,配置目标设备50经由存储设备40的传送单元41和数据存取单元42,读入存储在数据库23中的卷镜像x(将卷镜像x分割为片段数据x0、x1、...、xn-1)。在配置目标设备50中,将读入的卷镜像x写入数据库24中(步骤S21)。

另外,配置目标设备50经由存储设备40的传送单元41和数据存取单元42读入存储在数据库23中的标识符群h(标识符h0、h1、...、hn-1)。在配置目标设备50中,将读入的标识符群h写入数据库24中(步骤S22)。

将卷镜像x进行分割得到的片段数据x0、x1、...、xn-1以及从存储设备40读出的标识符h0、h1、...、hn-1互相关联,并且存储在数据库24中。

当已经将指定下载的卷镜像x以及标识符群h写入到配置目标设备50的数据库24中时,成批下载过程完成。

在该成批下载过程期间,必须禁止将数据写入到配置目标设备50的数据库24中、要将指定成批下载的卷镜像(在这个例子中的卷镜像x)下载到其中的区域中。因此,类似以上的上传过程,例如,下载过程在以下环境中执行:

1)不从指定的卷镜像(卷镜x)自身进行引导(从另外一个引导镜像进行引导),以及

2)在从卷镜像(卷镜像x)自身进行引导的情况下,通过驱动器级(过滤器驱动器)来阻塞数据的写入(抑制)。

例如,如果上传过程在以上介绍的成批下载过程期间执行,则将会下载损坏状态下的卷镜像。为了避免这个问题,必须例如通过在上传过程上或者在下载过程上设置优先权来恰当保护卷镜像。

接下来参照图7的流程图,给出了配置目标设备50执行存储在存储设备40的数据库23的卷镜像成批处理的处理过程的说明。

当例如管理员指定(输入)了要下载的卷镜像时,执行该成批下载过程。现在假设管理员指定下载的卷镜像是存储在存储设备40的数据库23中的卷镜像x。还假设存储在数据库23中的与卷镜像x相关联的标识符群是标识符群h。

开始,配置目标设备50的配置控制单元51接收要配置的卷镜像x的指定(步骤S31)。

配置控制单元51经由传送单元52向存储设备40发送配置请求,例如指定的卷镜像x的配置请求。响应于从配置目标设备50(配置控制单元51)发送的配置请求,存储设备40的传送单元41读入存储在数据库23中的卷镜像x。在这个时候,传送单元41经由数据存取单元42读入卷镜像x。传送单元41向配置目标设备50传送读入的卷镜像x。

配置目标设备50的配置控制单元51读入由存储设备40的传送单元41所传送的卷镜像x(步骤S32)。

配置控制单元51经由数据存取单元53将读入的卷镜像x写入到数据库24中(步骤S33)。

另外,响应于从配置目标设备50发送的配置请求,存储设备40的传送单元41读入存储在数据库23中的标识符群h。传送单元41经由数据存取单元42读入标识符群h。传送单元41向配置目标单元50传送读入的标识符群h。标识符群h是与将卷镜像x进行分割得到的片段数据x0、x1、...、xn-1相对应的标识符h0、h1、...、hn-1

配置目标设备50的配置控制单元51读入由存储设备40的传送单元41所传送的标识符群h(步骤S34)。

配置控制单元51经由数据存取单元53将读入的标识符群h写入到数据库24中(步骤S35)。将读入的标识符群h与卷镜像x(将卷镜像x进行分割得到的片段数据x0、x1、...、xn-1)相关联,并且写入到数据库24中。

接下来参照图8,给出了配置目标设备50执行对存储在存储设备40(存储设备40的数据库23)中的卷镜像的有差别下载的操作的说明。例如,在已经将卷镜像配置到配置目标设备50中并且已经在例如配置源设备30中更新了该卷镜像的情况下,执行有差别下载,以便将已经更新的卷镜像从配置目标设备50下载到配置源设备30。

现在假设存储在配置目标设备50的数据库24中的卷镜像是卷镜像x,并且与卷镜像x相对应的、存储在数据库24中的标识符群是标识符群h。还假设存储在存储设备40的数据库23中的卷镜像是卷镜像x’,并且与卷镜像x’相对应的、存储在数据库23中的标识符群是标识符群h’。另外,假设由例如管理员指定下载的卷镜像是卷镜像x’。

图9示出存储在存储设备40的数据库23中的卷镜像x’和标识符群h’的数据结构的一个例子。例如,该卷镜像x’是卷镜像x的更新后的卷镜像,并且包含n数量的片段数据x0’、x1’、...、xn-1’。标识符群h’是与卷镜像x’相对应的标识符群,并且包含标识符h0’、h1’、...、hn-1’。

如图9所示,例如,将卷镜像x’进行分割得到的多个片段数据x0’、x1’、...、xn-1’,从第一个开始连续地存储在数据库23中。随后,连续地存储标识符h0’、h1’、...、hn-1’。

在图9所示的例子中,通过使用存储在区域233中的片段数据x0’而生成的标识符是存储在区域234中的标识符h0’,并且片段数据x0’和标识符h0’互相关联。该情况同样应用于除了片段数据x0’和标识符h0’之外的其他片段数据和标识符同样的情况。

另一方面,如上所述,假设与卷镜像x相对应的标识符群是标识符群h,并且卷镜像x和与卷镜像x相对应的标识符群h的数据结构与如图5所示是相同的。

如图5和图9所示,卷镜像x’(其是卷镜像x的更新后的卷镜像)的数据结构以及标识符群h’的数据结构,对应于卷镜像x和标识符群h的数据结构。在图5和图9所示的例子中,存储在图5的区域231中的片段数据x0与存储在图9的区域233中的片段数据x0’相对应。另外,存储在图5的区域232中的标识符h0与存储在图9的区域234中的标识符h0’相对应。该情况同样应用于其他片段数据和标识符。

正如以上已经说明的,由于更新之前的卷镜像和更新之后的卷镜像有相同的结构,因此可以通过比较标识符来检测更新后的片段数据(有差别数据)。

以上介绍的数据结构在配置源设备30、存储设备40和配置目标设备50中预先设置(定义)。配置源设备30、存储设备40和配置目标设备50可以具有这样的数据结构:将卷镜像进行分割得到的片段数据和与片段数据相对应的标识符交替地进行排列。在配置源设备30、存储设备40和配置目标设备50中没有预先设置数据结构的情况下,可以将用于设置数据结构的数据添加到卷镜像和标识符群中。

返回参照图8,该有差别下载处理包括以下介绍的步骤S41到S44的处理。开始,配置目标设备50的配置控制单元51经由存储设备40的传送单元41和数据存取单元42读入与指定卷镜像x’相对应的标识符h’(h0’、h1’、...、hn-1’)(步骤S41)。

随后,配置控制单元51从数据库24读入与存储在数据库24中的卷镜像x(即,在配置目标设备50中当前使用的卷镜像)相对应的标识符群h(步骤S42)。配置控制单元51将读入的标识符群h以及标识符群h’中的相应标识符,以找出在标识符群h’中、与标识符群h中相应的一个或一些标识符不同的一个或一些标识符。

配置控制单元51经由存储设备40的传送单元41和数据存取单元42,从数据库23读入与标识符群h’中所找出的一个或多个标识符相对应的片段数据。配置控制单元51经由数据存取单元53,改写数据库24中的读入的片段数据(步骤S43)。

另外,配置控制单元51将标识符群h’中所找出的一个或多个标识符改写到存储在数据库24中的标识符群h中的相应的一个或多个标识符上(步骤S44)。

接下来参照图10的流程图,给出了配置目标设备50执行对存储在存储设备40的数据库23中的卷镜像的有差别下载处理过程的说明。

正如参照图8所介绍的,假设卷镜像x和标识符群h存储在配置目标设备50的数据库24中,并且卷镜像x’和标识符群h’存储在存储设备40的数据库23中。假设卷镜像x’是卷镜像x的更新后的卷镜像。存储在存储设备40的数据库23中的卷镜像x’和标识符群h’是例如在将配置源设备30中的卷镜像x更新为卷镜像x’时,按照图4中描述的过程,从配置源设备30上传到存储设备40的卷镜像和标识符群。

如果由例如管理员指定(输入)了要下载的卷镜像,则执行有差别下载。在以下的说明中,假设由例如管理员指定的卷镜像是卷镜像x’。

开始,配置目标设备50的配置控制单元51接收对于要配置的卷镜像x’的指定(步骤S51)。

配置控制单元51经由存储设备40的传送单元41和数据存取单元42,从存储设备40获得卷镜像x’的数据大小d’(步骤S52)。

配置控制单元51获得存储在数据库24中的卷镜像x(以前配置的卷镜像)的数据大小d(步骤S53)。

配置控制单元51判断所获得的数据大小d和d’是否相同(步骤S54)。通过这个处理,判断要配置的卷镜像x’是否是存储在数据库24中的卷镜像x的更新后的卷镜像。简而言之,如果数据大小不同,例如,就能够检测到作为配置目标的卷镜像的指定错误。

如果确定所获得的数据大小d和d’相等(步骤S54中“是”),则配置控制单元51经由存储设备40的传送单元41和数据存取单元42获得存储在数据库23中的标识符hi’(i=0、1、...、n-1)(步骤S55)。

配置控制单元51获得存储在数据库24中的标识符hi(i=0、1、...、n-1)(步骤S56)。

配置控制单元51判断所获得的标识符hi和hi’是否相同(或者不同)(步骤S57)。

如果确定所获得的标识符hi和hi’是不同的(步骤S57中“否”),配置控制单元51获得与存储在存储设备40的数据库23中的标识符hi’相对应的片段数据xi’(步骤S58)。在这个时候,配置控制单元51经由存储设备40的传送单元41和数据存取单元42获得该片段数据xi’。所获得的片段数据xi’是表示卷镜像x’的已更新部分的有差别数据。

配置控制单元51经由数据存取单元53将所获得的片段数据xi’改写到片段数据xi上(有差别的数据)(步骤S59)。

配置控制单元51经由数据存取单元53将所获得的标识符hi’改写到标识符hi上(步骤S60)。

随后,判断是否对在标识符群h(h0、h1、...、hn-1)和标识符群h’(h0’、h1’、...、hn-1’)中的所有标识符都已经执行了处理步骤S55到S60(步骤S61)。

如果确定对在标识符群h和标识符群h’的所有标识符都已经执行了该处理(步骤S61中“是”),则该有差别下载过程完成。

另一方面,如果确定还没有对在标识符群h和标识符群h’的所有标识符都已经执行了该处理(步骤S61中“否”),则控制程序返回到步骤S55,并且对于还没有处理的标识符执行该处理。

如果在步骤S54中确定所获得的数据大小d和d’是不相同的,例如,检测到作为配置目标的卷镜像的指定错误,并且未执行有差别下载过程。在这种情况下,将一个关于未执行有差别下载的报告发送(输出)给例如管理员。

如果在步骤S57中确定标识符hi和hi’是相同的,则执行步骤S61的处理。

在步骤S57中,如果标识符hi和hi’是不同的,则确定与标识符hi相对应的片段数据xi已经更新为与标识符hi’相对应的片段数据xi’(即,有差别数据)。另一方面,如果标识符hi和hi’是相同的,则确定与标识符hi相对应的片段数据xi没有被更新。换而言之,确定与标识符hi相对应的片段数据xi以及与标识符hi’相对应的片段数据xi’的内容没有改变(即,没有更新)。

正如以上所介绍的,在当前实施例中,在配置源设备30中生成的标识符群h存储在配置目标设备50中。在配置源设备30中的卷镜像被更新的情况下,将存储在配置目标设备50中的标识符群h与在配置源设备30中新生成的标识符群h’进行比较。因此,能够仅配置作为卷镜像中更新部分的有差别数据。所以,能够减少当配置更新的卷镜像的时候所传输(传送)的数据量,并且可以提高配置处理的速度。

在当前实施例中,例如,不需要管理有差别映射或者为了比较标识符而在配置目标单元50中重新生成标识符。

在这个实施例中,借助于将散列值作为标识符使用的结构,不需要为了生成例如单独的标识符而记忆(存储)所有已配置的数据模式。

在当前实施例中,借助于具有存储设备40的结构,配置源设备30可以在例如配置卷镜像时不生成标识符的情况下,预先执行到存储设备40的上传。因此,可以在配置源设备30和配置目标设备50中执行独立的配置过程。

在这个实施例中,已经介绍了卷镜像的配置过程。尽管如此,该实施例对数据(例如文件)的配置过程同样适用。

已经基于提供了存储设备40这一假设介绍了当前实施例。虽然如此,在这个实施例的结构中,不需要提供存储设备40。在这种情况下,配置源设备30直接将卷镜像和标识符传送到配置目标设备50中,而不把它们上传到存储设备40中。进一步,实施例可能具有这样的结构:预先在配置源设备30中生成标识符并且存储在数据库22中。

[第一修改例]

接下来,参照图11,介绍了当前实施例的第一修改例。图11是主要示出依照第一修改例的数据配置系统101的功能结构的框图。与那些在图2中相同的部件用同样的参照编号表示,并且省略了关于它们的详细介绍。在此主要介绍与图2中所示结构的不同部件。关于该修改例,还省略了重复的说明。

依照当前修改例的数据配置系统101包括配置目标设备60。配置目标设备60与以上介绍的实施例中配置目标系统50不同之处在于:配置目标设备60包括标识符生成单元61。配置目标设备60的硬件结构和配置目标设备50相同,并且假设标识符生成单元61是借助于以上介绍的图1中所示的计算机10执行存储在外部存储设备20中的程序21来实现的。

在当前修改例中,例如,在数据(新的卷镜像)被写入到存储有卷镜像的数据库24中的情况下,配置目标设备60的配置控制单元51使与该卷镜像相对应的标识符群(所有的标识符)无效。

例如,在与存储在配置目标设备60的数据库24中的卷镜像相对应的标识符群被无效的情况下,标识符生成单元61读入将该新卷镜像进行分割所得到的多个片段数据,并且生成与各个片段数据相对应的标识符(标识符群)。标识符生成单元61通过使用诸如MD5或者SHA-1之类的散列函数,产生片段数据的散列值,作为与片段数据相对应的标识符。

配置目标设备60的配置控制单元51可以有这样的结构:在例如将新卷镜像写入到存储有卷镜像的数据库24的区域中时,配置控制单元51仅仅使与卷镜像中写入了数据的片段数据(即,具有所写入数据的一个片段数据范围)相对应的标识符(标识符单元)无效。

接下来,参照图12的流程图,给出了例如在与存储在数据库24中的卷镜像相对应的标识符群被无效的情况下的有差别下载处理过程的说明。

正如参照图10所介绍的,假设卷镜像x和标识符群h存储在配置目标设备60的数据库24中,并且卷镜像x’和标识符群h’存储在存储设备40的数据库23中。还假设由例如管理员指定的卷镜像是卷镜像x’。

开始,执行与图10中所示的步骤S51相对应的步骤S71的处理。

然后,配置控制单元51判断存储在数据库24中的标识符群h是否被无效(步骤S72)。

如果确定标识符群h被无效(步骤S72中“是”),则配置控制单元51经由数据存取单元53,读出对存储在数据库24中的卷镜像x进行分割得到的片段数据x0、x1、...、xn-1

标识符生成单元61生成与配置控制单元51读出的片段数据x0、x1、...、xn-1相对应的标识符(即,标识符群h)(步骤S73)。

随后,执行与图10中所示的步骤S52到S61的过程相对应的步骤S74到S83的过程。

另一方面,如果在步骤S72确定标识符群h未被无效,则执行与图10中所示步骤S52到S61的过程相对应的步骤S74到S83的过程。

换而言之,在由于数据写入而使标识符群h无效的情况下,标识符生成单元61重新生成与数据被写入的卷镜像x相对应的标识符群h,并且在该标识符群h的基础上执行有差别下载处理。因此,即使在数据被写入到配置目标设备50中的情况下,也能够执行有差别数据的下载处理。

接下来,参照图13的流程图,给出了在仅使一个与卷镜像中数据被写入的片段数据相对应的标识符无效之后所执行的有差别下载处理过程的说明。

正如参照图10所说明的,假设卷镜像x和标识符群h存储在配置目标设备60的数据库24中,并且卷镜像x’和标识符群h’存储在存储设备40的数据库23中。还假设由例如管理员指定的卷镜像是卷镜像x’。

开始,如图10中所示步骤S51到S56过程相应的步骤S91到S96过程被执行。

随后,配置控制单元51判断在步骤S96的处理中获得的标识符hi是否被无效(步骤S97)。

如果配置控制单元51确定标识符hi被无效(步骤S97中“是”),则执行与图10中所示的步骤S58到S61的过程相对应的步骤S99到S102的过程。

另一方面,如果配置控制单元51确定标识符hi未被无效(步骤S97中“否”),则执行与图10中所述的步骤S57到S61的过程相对应的步骤S98到S102的过程。

具体而言,在标识符hi由于数据写入而被无效的情况下,在不需要对标识符hi和hi’进行比较这一条件的情况下,在数据库24中改写与标识符hi’相对应的片段数据xi’以及标识符hi’。因此,即使是在数据被写入到配置目标设备50中时,也可以执行有差别数据的下载过程。

正如以上所介绍的,在当前修改例中,在数据被写入到配置目标设备60中的卷镜像中的情况下,使与该卷镜像相对应的标识符群无效。因此,即使是在数据被写入到配置目标设备60时,也能够配置有差别数据。其中,在当前修改例中,即使是采用仅一个与卷镜像中数据被写入的片段数据相对应的标识符被无效这样的结构,也能够配置有差别数据。

[第二修改例]

接下来介绍实施例的第二修改例。依照第二修改例的数据配置系统的功能结构和第一修改例相同,并且参照图11进行介绍。

在第二修改例中,例如,当数据(新的卷镜像)被写入到存储有卷镜像的配置目标设备60的数据库24的区域中时,标识符生成单元61生成数据被写入的卷镜像的片段数据的标识符。标识符生成单元61生成的标识符与数据被写入的片段数据相关联,并改写到数据库24中。

换而言之,在当前修改例中,与数据被写入的片段数据相对应的标识符,在数据被写入到存储在配置目标设备60的数据库24中的卷镜像(即,卷镜像已经被更新)中时被更新。

正如以上所介绍的,在当前修改例中,当数据被写入到配置目标设备60中的卷镜像的时候,与数据被写入的片段数据相对应的标识符被更新。因此,即使是在数据被写入到配置目标设备60中时,也能够配置有差别数据。

本领域技术人员会容易地想到其他优势和修改例。因此,本发明在其更广泛的方面并没有局限于在此所展示和描述的具体细节和典型实施例。因此,可能做出的多种修改并不脱离由附带权利要求以其同等物所定义的总体发明原理的实质和范围。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号