掌桥专利:专业的专利平台
掌桥专利
首页

一种卷操作方法、装置、设备和存储介质

文献发布时间:2023-06-19 18:34:06


一种卷操作方法、装置、设备和存储介质

技术领域

本申请涉及系统存储技术领域,特别是涉及一种卷操作方法、装置、设备和存储介质。

背景技术

卷克隆和卷扩容是存储系统的两个基本功能。对卷进行扩容操作,可以扩大卷的容量,使其满足更大数据量的需求。对卷进行克隆操作,可以从源卷克隆出一个目标卷,目标卷的大小和源卷一致,目标卷中的数据与源卷中的数据一致。若要克隆出一个比源卷的容量大的目标卷,通常需要对卷进行克隆和扩容的双重操作,先对卷进行克隆操作得到目标卷,再对目标卷进行扩容操作。由于克隆操作需要等数据拷贝完后目标卷才能使用,用户等待时间长,降低了业务部署效率。

发明内容

基于此,本申请提供了一种卷操作方法、装置、设备和存储介质,以减少用户的等待时间和业务部署时间,提高业务部署效率。

第一方面,提供一种卷操作方法,该方法包括:

根据源卷中至少一个数据区块内数据的存储信息生成第一位图信息;

创建源卷的目标卷,并对目标卷进行扩容操作,得到扩容目标卷;

根据扩容目标卷中数据区块内数据的存储信息生成第二位图信息;

根据第一位图信息和第二位图信息,将源卷中的数据拷贝至扩容目标卷中,以完成对源卷的克隆操作得到最终目标卷。

根据本申请实施例中一种可实现的方式,根据第一位图信息和第二位图信息,将源卷中的数据拷贝至扩容目标卷中,包括:

根据第一位图信息和第二位图信息,生成第三位图信息,第三位图信息用于表示最终目标卷中的数据区块内数据的存储位置;

创建源卷和扩容目标卷的本地复制关系,并基于第三位图信息,将源卷中的数据拷贝至扩容目标卷中。

根据本申请实施例中一种可实现的方式,第一位图信息包括源卷中数据的第一位置信息,第二位图信息包括扩容目标卷中数据的第二位置信息;根据第一位图信息和第二位图信息,生成第三位图信息,包括:

根据第一位置信息和第二位置信息,生成第三位图信息。

根据本申请实施例中一种可实现的方式,将源卷中的数据拷贝至扩容目标卷中之后,该方法还包括:

删除第一位图信息、第二位图信息和第三位图信息;

或者,在生成第三位图信息之后,该方法还包括:

删除第二位图信息;以及将源卷中的数据拷贝至扩容目标卷中之后,该方法还包括:

删除第一位图信息和第三位图信息。

根据本申请实施例中一种可实现的方式,在将源卷中的数据拷贝至扩容目标卷的过程中,该方法还包括:

响应于接收到的用户对扩容目标卷的业务请求数据,暂停从源卷向扩容目标卷中拷贝数据;

根据业务请求数据,确定业务请求对应的业务类型;

根据业务类型,对源卷或扩容目标卷进行操作。

根据本申请实施例中一种可实现的方式,业务类型包括读请求,业务请求数据包括目标请求数据;根据业务类型,对源卷或/和扩容目标卷进行操作,包括:

当业务类型为读请求时,根据第三位图信息查看扩容目标卷中是否存在用户请求的数据;

当扩容目标卷中不存在用户请求的数据时,根据第一位图信息从源卷中读取目标请求数据,并将目标请求数据返回至用户终端。

根据本申请实施例中一种可实现的方式,业务类型包括写请求,业务请求数据包括请求新增数据;根据业务类型,对源卷或扩容目标卷进行操作,包括:

当业务类型为写请求时,根据第三位图信息确定扩容目标卷中的未使用数据区块;

将请求新增数据写入未使用数据区块,得到更新后的扩容目标卷;

根据更新后的扩容目标卷,更新第三位图信息。

第二方面,提供了一种卷操作装置,该装置包括:

生成模块,用于根据源卷中至少一个数据区块内数据的存储信息生成第一位图信息;

扩容模块,用于创建源卷的目标卷,并对目标卷进行扩容操作,得到扩容目标卷;

生成模块,还用于根据扩容目标卷中数据区块内数据的存储信息生成第二位图信息;

克隆模块,用于根据第一位图信息和第二位图信息,将源卷中的数据拷贝至扩容目标卷中,以完成对源卷的克隆操作得到最终目标卷。

第三方面,提供了一种计算机设备,包括:

至少一个处理器;以及

与至少一个处理器通信连接的存储器;其中,

存储器存储有可被至少一个处理器执行的计算机指令,计算机指令被至少一个处理器执行,以使至少一个处理器能够执行上述第一方面中涉及的方法。

第四方面,提供了一种计算机可读存储介质,其上存储有计算机指令,其特征在于,计算机指令用于使计算机执行上述第一方面中涉及的方法。

根据本申请实施例所提供的技术内容,根据源卷中至少一个数据区块内数据的存储信息生成第一位图信息,创建源卷的目标卷,并对目标卷进行扩容操作,得到扩容目标卷,根据扩容目标卷中数据区块内数据的存储信息生成第二位图信息,根据第一位图信息和第二位图信息,将源卷中的数据拷贝至扩容目标卷中,以完成对源卷的克隆操作得到最终目标卷。本申请在对目标卷完成扩容之后,再根据位图信息将将源卷中的数据拷贝至扩容目标卷中,在其数据拷贝过程中也可以使用扩容目标卷,无需用户长时间等待数据全部拷贝至扩容目标卷的过程,节省业务部署时间,提高业务部署效率,提升用户使用体验。

附图说明

图1为一个实施例中卷操作方法的应用环境图;

图2为一个实施例中卷操作方法的流程示意图;

图3为一个实施例中卷操作装置的结构框图;

图4为一个实施例中计算机设备的示意性结构图。

具体实施方式

以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。

扩容操作和克隆操作在云平台的云主机操作中使用频繁,通过克隆操作克隆出一个云主机,待数据拷贝完成后,该目标云主机即可使用。通过扩容操作扩大云主机的容量。在云平台的实际使用过程中,也经常叠加使用扩容操作和克隆操作,例如,在云平台上从一个大小为40G的镜像创建出一个100G的云主机。这种先在克隆完成后再进行扩容的操作方式,时效性和易用性较低,影响用户的使用体验。比如说,克隆过程中,目标卷无法操作,即无法给用户使用,只有等数据全部拷贝完成且目标卷和源卷的本地复制关系删除后才可以使用。

且数据拷贝的时长也与卷大小、存储系统当时的负载、内部拷贝速率设置值和其它类型的后台任务有关,通常为了保证前端业务性能,存储系统的内部拷贝速率会设置为较低值,这就导致数据拷贝过程耗时过长,降低客户使用体验。有时,针对于同一个源卷创建多个克隆的场景也是存在的,如通过一个云主机克隆出几十个几百个几千个云主机供用户使用、新业务系统的部署和开展等等,若每次克隆都需要等数据拷贝完毕后目标卷才能使用,会严重拖慢业务的部署和开展,进而降低用户的使用感受。

为了解决现有技术问题,本申请实施例提供了一种卷操作方法、装置、设备及计算机存储介质。下面首先对本申请实施例所提供的卷操作方法进行介绍。

为了方便理解,首先对本申请所适用的系统进行描述。本申请提供的卷操作方法,可以应用于如图1所示的应用环境中。其中,终端102通过网络与服务器104通过网络进行通信。服务器104根据源卷中至少一个数据区块内数据的存储信息生成第一位图信息,创建源卷的目标卷,并对目标卷进行扩容操作,得到扩容目标卷,根据扩容目标卷中数据区块内数据的存储信息生成第二位图信息,根据第一位图信息和第二位图信息,将源卷中的数据拷贝至扩容目标卷中,以完成对源卷的克隆操作得到最终目标卷。其中,终端102可以但不限于是各种个人计算机、笔记本电脑和平板电脑,服务器104可以用独立的服务器或者是多个服务器组成的服务器集群来实现。

图2为本申请实施例提供的一种卷操作方法的流程图。如图2所示,该方法可以包括以下步骤:

S210,根据源卷中至少一个数据区块内数据的存储信息生成第一位图信息。

在源卷中每个数据区块都可以保存数据,存储信息表示每个数据区块内数据的存储情况。存储信息可以包括已存储和未存储。

根据卷中至少一个数据区块内数据的存储情况生成第一位图信息,第一位图信息用于表示源卷的数据存储情况。第一位图信息可以包括第一位图阵列和位置信息,其中位置信息包括特征数值。每个数据区块在位图阵列内都有对应的位置,根据数据区块内数据的存储情况,确定其在位图阵列内对应位置的特征数值。比如说,当数据区块内存在数据时,该数据区块在位图阵列中对应位置的数值为1,当数据区块内不存在数据时,该数据区块在位图阵列中对应位置的数值为0。

S220,创建源卷的目标卷,并对目标卷进行扩容操作,得到扩容目标卷。

创建源卷的目标卷,源卷和目标卷的类型和大小均相同。对目标卷进行扩容,扩容后的容量为用户请求扩大的容量。扩容操作完成后,得到扩容目标卷。扩容目标卷会存在两个区域,一个是与源卷的相同容量大小的原区域,一个是扩容区域。扩容区域对应的位图信息不属于第一位图信息,不受第一位图信息管理。

S230,根据扩容目标卷中数据区块内数据的存储信息生成第二位图信息。

由于源卷中的数据还没有拷贝到目标卷中,目标卷是没有数据的,对其容量进行扩容后得到的扩容目标卷也是没有数据的。因此,扩容目标卷中的数据区块内数据的存储信息均为未存储。

第二位图信息可以包括第二位图阵列、位置信息和特征数值,此时,第二位图阵列中的特征数值均为表示未存储状态的数值。

S240,根据第一位图信息和第二位图信息,将源卷中的数据拷贝至扩容目标卷中。

根据第一位图信息和第二位图信息,可以知道最终目标卷与源卷中数据的对应关系。根据这种对应关系,将源卷中的数据拷贝至扩容目标卷中,以完成对源卷的克隆操作。

可以看出,本申请实施例通过根据源卷中至少一个数据区块内数据的存储信息生成第一位图信息,创建源卷的目标卷,并对目标卷进行扩容操作,得到扩容目标卷,根据扩容目标卷中数据区块内数据的存储信息生成第二位图信息,根据第一位图信息和第二位图信息,将源卷中的数据拷贝至扩容目标卷中,以完成对源卷的克隆操作得到最终目标卷。本申请在对目标卷完成扩容之后,再根据位图信息将将源卷中的数据拷贝至扩容目标卷中,在其数据拷贝过程中也可以使用扩容目标卷,无需用户长时间等待数据全部拷贝至扩容目标卷的过程,节省业务部署时间,提高业务部署效率,提升用户使用体验。

下面对上述方法流程中的各步骤进行详细描述。首先结合实施例对上述S240即“根据第一位图信息和第二位图信息,将源卷中的数据拷贝至扩容目标卷中”进行详细描述。

作为一种可实现的方式,根据第一位图信息和第二位图信息,生成第三位图信息,第三位图信息用于表示最终目标卷中的数据区块内数据的存储位置;

创建源卷和扩容目标卷的本地复制关系,并基于第三位图信息,将源卷中的数据拷贝至扩容目标卷中。

第一位图信息包括源卷中数据的第一位置信息,第二位图信息包括扩容目标卷中数据的第二位置信息,第一位置信息和第二位置信息用于指示数据在其对应的位图阵列中的具体位置。

根据第一位图信息和第二位图信息便可以计算出最终目标卷的第三位图信息。第三位图信息主要是根据源卷和扩容目标卷的数据在位图阵列中所在位置对应的特征数值进行或运算生成的。比如说,第一位置信息为在位图阵列中的第一行第一列的特征数值为1,第二位置信息为在位图阵列中的第一行第一列的数值为0,那么得到第三位图信息中的位置信息为在位图阵列中的第一行第一列的数值为1。按照该方法,计算出最终目标卷中所有的位置信息,组成第三位图信息。

在生成第三位图信息之后,创建源卷和扩容目标卷的本地复制关系,将源卷中的数据拷贝至扩容目标卷中,得到最终目标卷。该拷贝任务为后台任务,此时,扩容目标卷即可用于给用户进行读写操作。

为了节省系统的存储空间和计算资源,在完成扩容操作或者克隆操作之后删除整个过程中的位图信息。作为一种可实现的方式,可以在将源卷中的数据拷贝至扩容目标卷中之后,删除第一位图信息、第二位图信息和第三位图信息。

作为另一种可实现的方式,在生成第三位图信息之后,删除第二位图信息,同时在将源卷中的数据拷贝至扩容目标卷中之后,删除第一位图信息和第三位图信息。

作为一种可实现的方式,在将源卷中的数据拷贝至扩容目标卷的过程中,该方法还包括:

响应于接收到的用户对扩容目标卷的业务请求数据,暂停从源卷向扩容目标卷中拷贝数据;

根据业务请求数据,确定业务请求对应的业务类型;

根据业务类型,对源卷或扩容目标卷进行操作。

若未接收到用户的读写请求,此时后台会根据第三位图信息将源卷上的数据逐块向目标卷上进行拷贝,若对比到某个数据区块已经被拷贝到扩容目标卷上,则跳过该数据区块,拷贝下一个数据区块上的数据。

若检测到有用户的读写请求,会在拷贝完当前正在进行的数据区块上数据后,暂停后台拷贝任务,优先处理用户的读写业务请求。当用户的读写请求处理完毕后,若预设时间内没有收到用户的下一个读写请求,则从上次暂停的数据区块处继续进行逐块数据拷贝任务,避免出现某个数据区块同时处于后台拷贝和用户读写请求的目标数据区块,而引起数据丢失或损坏。

业务请求数据可以包括业务类型、请求位置、请求内容,其中,业务类型包括读请求和写请求。用户通过终端输入业务请求之后,存储系统接收到业务请求数据后,首先,会根据业务请求数据,确定业务请求对应的业务类型,根据不同的业务类型对不同的卷进行操作。

作为其中一种可实现的方式,当业务类型为读请求时,根据第三位图信息查看扩容目标卷中是否存在用户请求的数据;

当扩容目标卷中不存在用户请求的数据时,根据第一位图信息从源卷中读取目标请求数据,并将目标请求数据返回至用户终端。

根据第三位图信息可快速找到用户的请求内容在位图阵列中的位置,查看该位置上的特征数值,若为表示已存储的数值,说明扩容目标卷存在用户的请求内容。若为表示未存储的数值,说明扩容目标卷不存在用户的请求内容。

当扩容目标卷中不存在用户请求的数据时,则从源卷中读取用户的请求内容,并并将目标请求数据返回至用户终端。

当扩容目标卷中存在用户请求的数据时,则直接从扩容目标卷中读取用户的请求内容返回至用户终端。

通过从源卷或扩容目标卷获取用户的请求内容,减少对源卷的读取压力,加快用户业务请求的响应速度,提高用户的使用体验。

作为另一种可实现的方式,当业务类型为写请求时,根据第三位图信息确定扩容目标卷中的未使用数据区块;

将请求新增数据写入未使用数据区块,得到更新后的扩容目标卷;

根据更新后的扩容目标卷,更新第三位图信息。

当业务类型为写请求时,通过第三位图信息中的特征数值可以清楚地知道扩容目标卷中数据区块的使用情况,确定扩容目标卷中的未使用数据区块。如果用户没有特别指定数据写入的区块位置,可以直接将请求新增数据随机地写入未使用数据区块,此时,得到更新后的扩容目标卷。根据更新后的扩容目标卷,更新第三位图信息,以便在后续数据拷贝过程中,出现数据拷贝混乱的情况。

作为一种可实现的方式,除了上述响应用户读写请求的方法外,还可以采用以下方法:在存储系统接收到用户的读写请求后,首先判断读写请求的数据所对应数据区块的区域归属,若处在扩容目标卷的原区域中,则会先查验该数据区块是否为空。若为空,则根据第三位图信息将源卷上对应位置的数据拷贝到扩容目标卷的该数据区块中,然后对扩容目标卷中的这个数据块进行读写操作,可保证不损坏源卷数据。读写完成后,向用户终端返回读写结果。若不为空,则直接对该数据区块内的数据进行读写。读写完成后,向用户终端返回读写结果。若读写请求的数据所对应数据区块所在区域为扩容区域,则直接对该数据块进行读写,读写完成后,向用户终端返回读写结果。

在数据拷贝完成后,解除源卷和扩容目标卷的本地复制关系。

本申请实施例还提供另一种卷操作方法,该方法包括:创建源卷的目标卷,创建源卷和目标卷的本地复制关系,并根据源卷上数据的存储信息生成第四位图信息,不启动本地复制关系。对目标卷进行扩容,扩容完成后启动本地复制关系,将源卷中的数据拷贝到目标卷中。

应该理解的是,虽然图2的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本申请中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。

图3为本申请实施例提供的一种卷操作装置的结构示意图。如图3所示,该装置可以包括:生成模块310、扩容模块320和克隆模块330,还可以进一步包括:删除模块、响应模块。其中各组成模块的主要功能如下:

生成模块310,用于根据源卷中至少一个数据区块内数据的存储信息生成第一位图信息;

扩容模块320,用于创建源卷的目标卷,并对目标卷进行扩容操作,得到扩容目标卷;

生成模块310,还用于根据扩容目标卷中数据区块内数据的存储信息生成第二位图信息;

克隆模块330,用于根据第一位图信息和第二位图信息,将源卷中的数据拷贝至扩容目标卷中,以完成对源卷的克隆操作得到最终目标卷。

作为一种可实现的方式中,克隆模块330,具体用于:

根据第一位图信息和第二位图信息,生成第三位图信息,第三位图信息用于表示最终目标卷中的数据区块内数据的存储位置;

创建源卷和扩容目标卷的本地复制关系,并基于第三位图信息,将源卷中的数据拷贝至扩容目标卷中。

作为一种可实现的方式中,第一位图信息包括源卷中数据的第一位置信息,第二位图信息包括扩容目标卷中数据的第二位置信息;生成模块310,还用于:

根据第一位置信息和第二位置信息,生成第三位图信息。

作为一种可实现的方式中,该装置还包括删除模块,用于将源卷中的数据拷贝至扩容目标卷中之后,删除第一位图信息、第二位图信息和第三位图信息;或者在生成第三位图信息之后,删除第二位图信息;以及将源卷中的数据拷贝至扩容目标卷中之后,删除第一位图信息和第三位图信息。

作为一种可实现的方式中,该装置还包括响应模块,用于在将源卷中的数据拷贝至扩容目标卷的过程中,响应于接收到的用户对扩容目标卷的业务请求数据,暂停从源卷向扩容目标卷中拷贝数据;

根据业务请求数据,确定业务请求对应的业务类型;

根据业务类型,对源卷或扩容目标卷进行操作。

作为一种可实现的方式中,业务类型包括读请求,业务请求数据包括目标请求数据;响应模块,具体用于:

当业务类型为读请求时,根据第三位图信息查看扩容目标卷中是否存在用户请求的数据;

当扩容目标卷中不存在用户请求的数据时,根据第一位图信息从源卷中读取目标请求数据,并将目标请求数据返回至用户终端。

作为一种可实现的方式中,业务类型包括写请求,业务请求数据包括请求新增数据;响应模块,具体用于:

当业务类型为写请求时,根据第三位图信息确定扩容目标卷中的未使用数据区块;

将请求新增数据写入未使用数据区块,得到更新后的扩容目标卷;

根据更新后的扩容目标卷,更新第三位图信息。

可以理解的是,实施本申请的任一方法或产品并不一定需要同时达到以上所述的所有优点

上述各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

需要说明的是,本申请实施例中可能会涉及到对用户数据的使用,在实际应用中,可以在符合所在国的适用法律法规要求的情况下(例如用户明确同意,对用户切实通知,用户明确授权等),在适用法律法规允许的范围内在本文描述的方案中使用用户特定的个人数据。

根据本申请的实施例,本申请还提供了一种计算机设备、一种计算机可读存储介质。

如图4所示,是根据本申请实施例的计算机设备的框图。计算机设备旨在表示各种形式的数字计算机或移动装置。其中数字计算机可以包括台式计算机、便携式计算机、工作台、个人数字助理、服务器、大型计算机和其它适合的计算机。移动装置可以包括平板电脑、智能电话、可穿戴式设备等。

如图4所示,设备400包括计算单元401、ROM 402、RAM 403、总线404以及输入/输出(I/O)接口405,计算单元401、ROM 402以及RAM 403通过总线404彼此相连。输入/输出(I/O)接口405也连接至总线404。

计算单元401可以根据存储在只读存储器(ROM)402中的计算机指令或者从存储单元408加载到随机访问存储器(RAM)403中的计算机指令,来执行本申请方法实施例中的各种处理。计算单元401可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元401可以包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。在一些实施例中,本申请实施例提供的方法可被实现为计算机软件程序,其被有形地包含于计算机可读存储介质,例如存储单元408。

RAM 403还可存储设备400操作所需的各种程序和数据。计算机程序的部分或者全部可以经由ROM 802和/或通信单元409而被载入和/或安装到设备400上。

设备400中的输入单元406、输出单元407、存储单元408和通信单元409可以连接至I/O接口405。其中,输入单元406可以是诸如键盘、鼠标、触摸屏、麦克风等;输出单元407可以是诸如显示器、扬声器、指示灯等。设备400能够通过通信单元409与其他设备进行信息、数据等的交换。

需要说明的是,该设备还可以包括实现正常运行所必需的其他组件。也可以仅包含实现本申请方案所必需的组件,而不必包含图中所示的全部组件。

此处描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、负载可编程逻辑设备(CPLD)、计算机硬件、固件、软件和/或它们的组合中实现。

用于实施本申请的方法的计算机指令可以采用一个或多个编程语言的任何组合来编写。这些计算机指令可以提供给计算单元401,使得计算机指令当由诸如处理器等计算单元401执行时使执行本申请方法实施例中涉及的各步骤。

本申请提供的计算机可读存储介质可以是有形的介质,其可以包含或存储计算机指令,用以执行本申请方法实施例中涉及的各步骤。计算机可读存储介质可以包括但不限于电子的、磁性的、光学的、电磁的等形式的存储介质。

上述具体实施方式,并不构成对本申请保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本申请的精神和原则之内所作的修改、等同替换和改进等,均应包含在本申请保护范围之内。

相关技术
  • 移动设备操作方法、装置、计算机设备及存储介质
  • 数据库操作方法、装置、电子设备及存储介质
  • 目录文档的操作方法、装置、电子设备、可读存储介质
  • 一种聚合兴趣点的操作方法、装置、终端及存储介质
  • 一种后端存储设备的管理方法、装置、设备以及存储介质
  • 一种设备的操作方法、装置、设备和存储介质
  • 一种智能设备的语音操作方法、装置、设备及存储介质
技术分类

06120115611240