基于存储快照的拷贝方法、用户设备、存储介质及装置与流程

文档序号:19943355发布日期:2020-02-14 23:29阅读:178来源:国知局
基于存储快照的拷贝方法、用户设备、存储介质及装置与流程

本发明涉及数据处理技术领域,尤其涉及基于存储快照的拷贝方法、用户设备、存储介质及装置。



背景技术:

在存储系统的文件拷贝场景中,若用户欲对某一文件进行拷贝,可将被拷贝的原始文件记为文件x,将拷贝后生成的新文件记为文件y,在拷贝任务未结束前,一般地,文件x与文件y均不可直接使用,在拷贝任务结束后,文件x与文件y才可用。

可见,用户并无法及时地使用原始文件或者新文件,需等待一段时间。

所以,可认为,在文件拷贝时存在着等待时间较长的技术问题。

上述内容仅用于辅助理解本发明的技术方案,并不代表承认上述内容是现有技术。



技术实现要素:

本发明的主要目的在于提供基于存储快照的拷贝方法、用户设备、存储介质及装置,旨在解决在文件拷贝时等待时间较长的技术问题。

为实现上述目的,本发明提供一种基于存储快照的拷贝方法,所述基于存储快照的拷贝方法包括以下步骤:

若接收到与待处理文件对应的数据拷贝请求,则获取与所述待处理文件关联的第一写时重定向row快照;

创建与所述第一row快照关联的预设文件节点,并创建与所述预设文件节点关联的链接克隆文件,所述链接克隆文件为所述待处理文件的链接克隆文件;

若接收到对所述待处理文件或所述链接克隆文件的数据读写请求,则对所述数据读写请求进行响应,并同时执行与所述数据拷贝请求对应的数据迁移操作。

优选地,所述若接收到与待处理文件对应的数据拷贝请求,则获取与所述待处理文件关联的第一写时重定向row快照之前,所述基于存储快照的拷贝方法还包括:

获取待处理文件;

基于row技术对所述待处理文件进行快照处理,以获得与所述待处理文件关联的第一row快照。

优选地,所述若接收到对所述待处理文件或所述链接克隆文件的数据读写请求,则对所述数据读写请求进行响应,并同时执行与所述数据拷贝请求对应的数据迁移操作,具体包括:

若接收到与所述待处理文件对应的第一数据写入请求,则确定与所述第一数据写入请求对应的第一待写入数据,并同时执行与所述数据拷贝请求对应的数据迁移操作;

基于row技术对所述第一row快照进行快照处理,以获得与所述第一row快照关联的第二row快照,并将所述第一待写入数据写入所述第二row快照中。

优选地,所述若接收到对所述待处理文件或所述链接克隆文件的数据读写请求,则对所述数据读写请求进行响应,并同时执行与所述数据拷贝请求对应的数据迁移操作,具体包括:

若接收到与所述链接克隆文件对应的第二数据写入请求,则确定与所述第二数据写入请求对应的第二待写入数据,并同时执行与所述数据拷贝请求对应的数据迁移操作;

基于row技术对所述链接克隆文件进行快照处理,以获得与所述链接克隆文件关联的row快照,并将所述第二待写入数据写入与所述链接克隆文件关联的row快照中。

优选地,所述若接收到对所述待处理文件或所述链接克隆文件的数据读写请求,则对所述数据读写请求进行响应,并同时执行与所述数据拷贝请求对应的数据迁移操作,具体包括:

若接收到对所述待处理文件或所述链接克隆文件的数据读写请求,则对所述数据读写请求进行响应,并将所述第一row快照与所述待处理文件异步拷贝到所述链接克隆文件中,以获得目标文件。

优选地,所述若接收到对所述待处理文件或所述链接克隆文件的数据读写请求,则对所述数据读写请求进行响应,并将所述第一row快照与所述待处理文件异步拷贝到所述链接克隆文件中,以获得目标文件之后,所述基于存储快照的拷贝方法还包括:

若存在与所述链接克隆文件关联的row快照,则将与所述链接克隆文件关联的row快照合并至所述目标文件中,并删除与所述链接克隆文件关联的row快照。

优选地,所述若接收到对所述待处理文件或所述链接克隆文件的数据读写请求,则对所述数据读写请求进行响应,并同时执行与所述数据拷贝请求对应的数据迁移操作,具体包括:

若接收到数据读取请求,则对所述链接克隆文件进行回溯操作,以确定与所述链接克隆文件关联的所述预设文件节点,并同时执行与所述数据拷贝请求对应的数据迁移操作;

对所述预设文件节点进行回溯操作,以确定与所述预设文件节点关联的所述第一row快照;

若所述数据读取请求指向所述第一row快照,则从所述第一row快照中读取待读取数据。

此外,为实现上述目的,本发明还提出一种用户设备,所述用户设备包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的基于存储快照的拷贝程序,所述基于存储快照的拷贝程序配置为实现如上文所述的基于存储快照的拷贝方法的步骤。

此外,为实现上述目的,本发明还提出一种存储介质,所述存储介质上存储有基于存储快照的拷贝程序,所述基于存储快照的拷贝程序被处理器执行时实现如上文所述的基于存储快照的拷贝方法的步骤。

此外,为实现上述目的,本发明还提出一种基于存储快照的拷贝装置,所述基于存储快照的拷贝装置包括:

快照确定模块,用于若接收到与待处理文件对应的数据拷贝请求,则获取与所述待处理文件关联的第一写时重定向row快照;

链接克隆模块,用于创建与所述第一row快照关联的预设文件节点,并创建与所述预设文件节点关联的链接克隆文件,所述链接克隆文件为所述待处理文件的链接克隆文件;

数据读写模块,用于若接收到对所述待处理文件或所述链接克隆文件的数据读写请求,则对所述数据读写请求进行响应,并同时执行与所述数据拷贝请求对应的数据迁移操作。

本发明中若接收到与待处理文件对应的数据拷贝请求,则获取与待处理文件关联的第一row快照;创建与第一row快照关联的预设文件节点,则并创建与预设文件节点关联的链接克隆文件,链接克隆文件为待处理文件的链接克隆文件;若接收到对待处理文件或链接克隆文件的数据读写请求,则对数据读写请求进行响应,并同时执行与数据拷贝请求对应的数据迁移操作。明显地,本发明中通过对数据拷贝请求对应的数据拷贝操作进行重新设计,无需等待数据迁移操作结束就可响应数据读写请求,从而大大减少了再次编辑的等待时间,解决了在文件拷贝时等待时间较长的技术问题。

附图说明

图1是本发明实施例方案涉及的硬件运行环境的用户设备结构示意图;

图2为本发明基于存储快照的拷贝方法的一流程示意图;

图3为本发明基于存储快照的拷贝方法的又一流程示意图;

图4为本发明基于存储快照的拷贝方法的快照链示意图;

图5为本发明基于存储快照的拷贝方法的再一流程示意图;

图6为本发明基于存储快照的拷贝方法的拷贝流程示意图;

图7为本发明基于存储快照的拷贝装置的一结构框图。

本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。

具体实施方式

应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

参照图1,图1为本发明实施例方案涉及的硬件运行环境的用户设备结构示意图。

如图1所示,该用户设备可以包括:处理器1001,例如中央处理器(centralprocessingunit,cpu),通信总线1002、用户接口1003,网络接口1004,存储器1005。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(display),可选用户接口1003还可以包括标准的有线接口以及无线接口,而用户接口1003的有线接口在本发明中可为通用串行总线(universalserialbus,usb)接口。网络接口1004可选的可以包括标准的有线接口以及无线接口(如wi-fi接口)。存储器1005可以是高速随机存取存储器(randomaccessmemory,ram);也可以是稳定的存储器,比如,非易失存储器(non-volatilememory),具体可为,磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。

本领域技术人员可以理解,图1中示出的结构并不构成对用户设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。

如图1所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及基于存储快照的拷贝程序。

在图1所示的用户设备中,网络接口1004主要用于连接后台服务器,与所述后台服务器进行数据通信;用户接口1003主要用于连接外设;所述用户设备通过处理器1001调用存储器1005中存储的基于存储快照的拷贝程序,并执行以下操作:

若接收到与待处理文件对应的数据拷贝请求,则获取与所述待处理文件关联的第一写时重定向row快照;

创建与所述第一row快照关联的预设文件节点,并创建与所述预设文件节点关联的链接克隆文件,所述链接克隆文件为所述待处理文件的链接克隆文件;

若接收到对所述待处理文件或所述链接克隆文件的数据读写请求,则对所述数据读写请求进行响应,并同时执行与所述数据拷贝请求对应的数据迁移操作。

进一步地,处理器1001可以调用存储器1005中存储的基于存储快照的拷贝程序,还执行以下操作:

获取待处理文件;

基于row技术对所述待处理文件进行快照处理,以获得与所述待处理文件关联的第一row快照。

进一步地,处理器1001可以调用存储器1005中存储的基于存储快照的拷贝程序,还执行以下操作:

若接收到与所述待处理文件对应的第一数据写入请求,则确定与所述第一数据写入请求对应的第一待写入数据,并同时执行与所述数据拷贝请求对应的数据迁移操作;

基于row技术对所述第一row快照进行快照处理,以获得与所述第一row快照关联的第二row快照,并将所述第一待写入数据写入所述第二row快照中。

进一步地,处理器1001可以调用存储器1005中存储的基于存储快照的拷贝程序,还执行以下操作:

若接收到与所述链接克隆文件对应的第二数据写入请求,则确定与所述第二数据写入请求对应的第二待写入数据,并同时执行与所述数据拷贝请求对应的数据迁移操作;

基于row技术对所述链接克隆文件进行快照处理,以获得与所述链接克隆文件关联的row快照,并将所述第二待写入数据写入与所述链接克隆文件关联的row快照中。

进一步地,处理器1001可以调用存储器1005中存储的基于存储快照的拷贝程序,还执行以下操作:

若接收到对所述待处理文件或所述链接克隆文件的数据读写请求,则对所述数据读写请求进行响应,并将所述第一row快照与所述待处理文件异步拷贝到所述链接克隆文件中,以获得目标文件。

进一步地,处理器1001可以调用存储器1005中存储的基于存储快照的拷贝程序,还执行以下操作:

若存在与所述链接克隆文件关联的row快照,则将与所述链接克隆文件关联的row快照合并至所述目标文件中,并删除与所述链接克隆文件关联的row快照。

进一步地,处理器1001可以调用存储器1005中存储的基于存储快照的拷贝程序,还执行以下操作:

若接收到数据读取请求,则对所述链接克隆文件进行回溯操作,以确定与所述链接克隆文件关联的所述预设文件节点,并同时执行与所述数据拷贝请求对应的数据迁移操作;

对所述预设文件节点进行回溯操作,以确定与所述预设文件节点关联的所述第一row快照;

若所述数据读取请求指向所述第一row快照,则从所述第一row快照中读取待读取数据。

本实施例中若接收到与待处理文件对应的数据拷贝请求,则获取与待处理文件关联的第一row快照;创建与第一row快照关联的预设文件节点,则并创建与预设文件节点关联的链接克隆文件,链接克隆文件为待处理文件的链接克隆文件;若接收到对待处理文件或链接克隆文件的数据读写请求,则对数据读写请求进行响应,并同时执行与数据拷贝请求对应的数据迁移操作。明显地,本实施例中通过对数据拷贝请求对应的数据拷贝操作进行重新设计,无需等待数据迁移操作结束就可响应数据读写请求,从而大大减少了再次编辑的等待时间,解决了在文件拷贝时等待时间较长的技术问题。

基于上述硬件结构,提出本发明基于存储快照的拷贝方法的实施例。

参照图2,图2为本发明基于存储快照的拷贝方法的一流程示意图。

在本实施例中,所述基于存储快照的拷贝方法包括以下步骤:

步骤s10:若接收到与待处理文件对应的数据拷贝请求,则获取与所述待处理文件关联的第一写时重定向row快照。

在具体实现中,本实施例的执行主体为用户设备,该用户设备可为服务器或服务器集群。该用户设备适用于分布式文件存储系统,也可用于其他类型的存储系统。

可以理解的是,若用户欲对原始文件即待处理文件进行拷贝,或者,系统自动对待处理文件进行拷贝,则将触发与待处理文件对应的数据拷贝请求。其中,可将待处理文件记为文件a,可将文件a拷贝后获得的新文件记为文件b。

应当理解的是,鉴于拷贝任务开始但未结束前,文件a与文件b一般都不可用,使得用户无法及时地使用原始文件或者新文件,存在着一段较长的等待时间。为了缩短此等待时间使得用户可快速地对原始文件或者新文件实施后续操作,比如,可对原始文件或者新文件进行数据的读写,本实施例将结合快照与链接克隆来进行拷贝操作。

进一步地,所述若接收到与待处理文件对应的数据拷贝请求,则获取与所述待处理文件关联的第一写时重定向row(redirect-on-write,row)快照之前,所述基于存储快照的拷贝方法还包括:

获取待处理文件;

基于row技术对所述待处理文件进行快照处理,以获得与所述待处理文件关联的第一row快照。

在具体实现中,可采用row技术来处理数据更新,比如,若文件a存在着数据更新,不直接更新文件a,将通过row技术开辟一个新快照并记为第一row快照,并将此时的更新数据写入第一row快照中。

可以理解的是,本实施例将对数据拷贝操作进行重新设计,若欲对文件a进行数据拷贝操作,将先不实施实际的数据迁移操作而改之为创建预设文件节点与链接克隆文件,对于处于上层的用户而言,链接克隆文件就是文件b,用户可直接操作该链接克隆文件无需等待数据迁移操作运行结束。

其中,数据迁移操作是指拷贝文件a的数据并获得已具备文件a数据的文件b的操作,而本实施例中的链接克隆文件内并不具备文件a数据,如此也就减少了等待时间。

可见,本实施例中将数据拷贝操作划分为了异步处理的两类操作,第一类操作为获得预设文件节点与链接克隆文件,第二类操作为真实地去复制数据的数据迁移操作,先实施第一类操作,再实施第二类操作。用户实施第一类操作后无需实施第二类操作就可进行文件的再编辑。

步骤s20:创建与所述第一row快照关联的预设文件节点,并创建与所述预设文件节点关联的链接克隆文件,所述链接克隆文件为所述待处理文件的链接克隆文件。

可以理解的是,文件a与第一row快照关联,第一row快照又与预设文件节点关联,预设文件节点又与链接克隆文件关联。其中,链接克隆文件对于上层用户而言就可视为文件a拷贝后获得的新文件,可直接操作该链接克隆文件,但是,链接克隆文件内实际并不含有文件a的数据。

其中,预设文件节点用于记录文件引用,比如,预设文件节点内记录有“第一row快照与预设文件节点关联,预设文件节点与链接克隆文件关联”。

步骤s30:若接收到对所述待处理文件或所述链接克隆文件的数据读写请求,则对所述数据读写请求进行响应,并同时执行与所述数据拷贝请求对应的数据迁移操作。

应当理解的是,在获得预设文件节点与链接克隆文件之后,文件a或者链接克隆文件已可用,可响应用户或者系统对于文件a或者链接克隆文件的数据读写请求,比如,对文件a或者链接克隆文件进行读取。此时,可能并未结束数据迁移操作,所以,可同时执行该数据迁移操作。

当然,若未接收到对所述待处理文件或所述链接克隆文件的数据读写请求,也将执行与所述数据拷贝请求对应的数据迁移操作。

本实施例中若接收到与待处理文件对应的数据拷贝请求,则获取与待处理文件关联的第一row快照;创建与第一row快照关联的预设文件节点,则并创建与预设文件节点关联的链接克隆文件,链接克隆文件为待处理文件的链接克隆文件;若接收到对待处理文件或链接克隆文件的数据读写请求,则对数据读写请求进行响应,并同时执行与数据拷贝请求对应的数据迁移操作。明显地,本实施例中通过对数据拷贝请求对应的数据拷贝操作进行重新设计,无需等待数据迁移操作结束就可响应数据读写请求,从而大大减少了再次编辑的等待时间,解决了在文件拷贝时等待时间较长的技术问题。

参照图3,图3为本发明基于存储快照的拷贝方法的又一流程示意图,基于上述图2所示的实施例,提出本发明基于存储快照的拷贝方法的又一实施例。

在本实施例中,所述步骤s30,具体包括:

步骤s301:若接收到与所述待处理文件对应的第一数据写入请求,则确定与所述第一数据写入请求对应的第一待写入数据,并同时执行与所述数据拷贝请求对应的数据迁移操作。

可以理解的是,在数据迁移操作未结束前,本实施例可在执行与数据拷贝请求对应的数据迁移操作的同时,响应对文件a或链接克隆文件的数据读写请求,比如,若接收到针对文件a的第一数据写入请求,可先获取待写入的数据即第一待写入数据。

步骤s302:基于row技术对所述第一row快照进行快照处理,以获得与所述第一row快照关联的第二row快照,并将所述第一待写入数据写入所述第二row快照中。

应当理解的是,由于本实施例通过链接克隆文件来充当具备文件a数据的文件b,若直接在第一row快照内写入第一待写入数据,修改第一row快照会破坏基于快照链的回溯操作,无法再次正常地基于快照链描述的互联关系读写链接克隆文件。故而,可参见图4所示的快照链示意图,本实施例将额外生成与第一row快照关联的第二row快照,改之为对第二row快照进行写入操作,从而避免了对于原有快照链的破坏。

进一步地,所述若接收到对所述待处理文件或所述链接克隆文件的数据读写请求,则对所述数据读写请求进行响应,并同时执行与所述数据拷贝请求对应的数据迁移操作,具体包括:

若接收到与所述链接克隆文件对应的第二数据写入请求,则确定与所述第二数据写入请求对应的第二待写入数据,并同时执行与所述数据拷贝请求对应的数据迁移操作;

基于row技术对所述链接克隆文件进行快照处理,以获得与所述链接克隆文件关联的row快照,并将所述第二待写入数据写入与所述链接克隆文件关联的row快照中。

可以理解的是,同理地,在数据迁移操作未结束前,本实施例可在执行与数据拷贝请求对应的数据迁移操作的同时,响应对链接克隆文件的数据读写请求,比如,若接收到针对链接克隆文件的第二数据写入请求,可先获取待写入的数据即第二待写入数据。

需要说明的是,对于上层用户而言,此时操作的链接克隆文件被用户视为已复制成功文件a数据的文件b,但实际上还未复制成功。

在具体实现中,可参见图4所示的快照链示意图,本实施例将额外生成与链接克隆文件关联的row快照,可将与链接克隆文件关联的row快照记为第四row快照,并对第四row快照进行写入操作。

当然,也可创建与第四row快照关联的第五row快照,不对第四row快照进行写入操作,而对第五row快照进行写入操作。

本实施例中在数据迁移操作未结束前仍可执行与数据拷贝请求对应的数据迁移操作;而且,就针对文件a的第一数据写入请求而言,将额外生成与第一row快照关联的第二row快照,不对文件a或者第一row快照进行写入操作而改之为对第二row快照进行写入操作,从而避免了对于原有快照链的破坏。毕竟,第一row快照关联至预设文件节点,预设文件节点关联至链接克隆文件等,改动第一row快照会导致无法进行回溯操作。

参照图5,图5为本发明基于存储快照的拷贝方法的再一流程示意图,基于上述图2所示的实施例,提出本发明基于存储快照的拷贝方法的再一实施例。

在本实施例中,图3所示的实施例讨论了可在执行与数据拷贝请求对应的数据迁移操作的同时,对数据读写请求进行响应,但除此之外,还可在数据迁移操作结束后,对数据读写请求进行响应。

可以理解的是,就对与待处理文件对应的数据写入请求而言,所述若接收到对所述待处理文件或所述链接克隆文件的数据读写请求,则对所述数据读写请求进行响应,并同时执行与所述数据拷贝请求对应的数据迁移操作之后,所述基于存储快照的拷贝方法还包括:

若接收到与所述待处理文件对应的第三数据写入请求,则确定与所述第三数据写入请求对应的第三待写入数据;

基于row技术对所述第一row快照进行快照处理,以获得与所述第一row快照关联的第二row快照,并将所述第三待写入数据写入所述第二row快照中。

可以理解的是,就对与链接克隆文件对应的数据写入请求而言,所述若接收到对所述待处理文件或所述链接克隆文件的数据读写请求,则对所述数据读写请求进行响应,并同时执行与所述数据拷贝请求对应的数据迁移操作之后,所述基于存储快照的拷贝方法还包括:

若接收到与所述链接克隆文件对应的第四数据写入请求,则确定与所述第四数据写入请求对应的第四待写入数据;

基于row技术对所述链接克隆文件进行快照处理,以获得与所述链接克隆文件关联的row快照,并将所述第四待写入数据写入与所述链接克隆文件关联的row快照中。

应当理解的是,就上述的与待处理文件对应的数据写入请求以及与链接克隆文件对应的数据写入请求,实现流程可依据图3所示的实施例,区别仅在于图3所示的实施例同时还执行与数据拷贝请求对应的数据迁移操作,而本实施例处于数据迁移操作结束之后。

进一步地,所述步骤s30,具体包括:

步骤s303:若接收到对所述待处理文件或所述链接克隆文件的数据读写请求,则对所述数据读写请求进行响应,并将所述第一row快照与所述待处理文件异步拷贝到所述链接克隆文件中,以获得目标文件。

在具体实现中,就执行与数据拷贝请求对应的数据迁移操作而言,具体为,参见图6所示的拷贝流程示意图中从左至右的第二个阶段,可将第一row快照与文件a异步拷贝到链接克隆文件,拷贝后的链接克隆文件可记为目标文件。此时的目标文件才是文件a拷贝后获得的新文件,即文件b。在获得目标文件后,数据迁移操作就结束了,实现了全量克隆(fullclones)操作。

可以理解的是,也就表征着,执行与所述数据拷贝请求对应的数据迁移操作,具体为,将所述第一row快照与所述待处理文件异步拷贝到所述链接克隆文件中,以获得目标文件。

进一步地,所述步骤s303之后,所述基于存储快照的拷贝方法还包括:

步骤s304:若存在与所述链接克隆文件关联的row快照,则将与所述链接克隆文件关联的row快照合并至所述目标文件中,并删除与所述链接克隆文件关联的row快照。

在具体实现中,鉴于快照会影响运行性能,也可将与链接克隆文件关联的row快照即第四row快照写入目标文件中,并删除第四row快照,由于删除了快照,可提高运行性能。

此外,在步骤s303之后,所述基于存储快照的拷贝方法还包括:断开所述待处理文件与所述目标文件之间的链接,再执行步骤s304。

可以理解的是,由于目标文件内已包含有待处理文件的文件数据,参见图6所示的拷贝流程示意图中从左至右的第三个阶段即最后一个阶段,则可断开由链接克隆造成的链接。通过链接进行回溯操作是链接克隆的一大特性,但是,大量的回溯操作会导致运行性能下降,此处断开链接,规避回溯操作,可提高性能。

进一步地,所述若接收到对所述待处理文件或所述链接克隆文件的数据读写请求,则对所述数据读写请求进行响应,并同时执行与所述数据拷贝请求对应的数据迁移操作,具体包括:

若接收到数据读取请求,则对所述链接克隆文件进行回溯操作,以确定与所述链接克隆文件关联的所述预设文件节点,并同时执行与所述数据拷贝请求对应的数据迁移操作;

对所述预设文件节点进行回溯操作,以确定与所述预设文件节点关联的所述第一row快照;

若所述数据读取请求指向所述第一row快照,则从所述第一row快照中读取待读取数据。

可以理解的是,数据读写请求包括数据写入请求与数据读取请求,若接收到数据读取请求,则对数据读取请求进行响应。

在具体实现中,就响应过程而言,可基于快照链来进行回溯。回溯操作是row技术的一大特性,比如,先对一个row快照,若无欲获取的数据,则回溯至这个row快照的前一个row快照,再判断前一个row快照是否有欲获取的数据,直至原始文件。比如,可参见图4,先对链接克隆文件进行回溯操作,再回溯至关联的预设文件节点,进而回溯至关联的第一row快照。若此时欲读取的待读取数据处于第一row快照内,则从第一row快照中读取待读取数据;若否,则再回溯至关联的文件a,若此时欲读取的待读取数据处于文件a内,则从文件a中读取待读取数据。

进一步地,此处讨论了可在执行与数据拷贝请求对应的数据迁移操作的同时,对数据读取请求进行响应,但除此之外,还可在数据迁移操作结束后,对数据读取请求进行响应。

可以理解的是,就对与待处理文件对应的数据写入请求而言,所述若接收到对所述待处理文件或所述链接克隆文件的数据读写请求,则对所述数据读写请求进行响应,并同时执行与所述数据拷贝请求对应的数据迁移操作之后,所述基于存储快照的拷贝方法还包括:

若接收到数据读取请求,则对所述链接克隆文件进行回溯操作,以确定与所述链接克隆文件关联的所述预设文件节点;

对所述预设文件节点进行回溯操作,以确定与所述预设文件节点关联的所述第一row快照;

若所述数据读取请求指向所述第一row快照,则从所述第一row快照中读取待读取数据。

需要说明的是,在断开待处理文件与目标文件之间的链接之前,可一直进行回溯操作。

本实施例中可通过删除快照来提高运行性能。

此外,本发明实施例还提出一种存储介质,所述存储介质上存储有基于存储快照的拷贝程序,所述基于存储快照的拷贝程序被处理器执行时实现如下操作:

若接收到与待处理文件对应的数据拷贝请求,则获取与所述待处理文件关联的第一写时重定向row快照;

创建与所述第一row快照关联的预设文件节点,并创建与所述预设文件节点关联的链接克隆文件,所述链接克隆文件为所述待处理文件的链接克隆文件;

若接收到对所述待处理文件或所述链接克隆文件的数据读写请求,则对所述数据读写请求进行响应,并同时执行与所述数据拷贝请求对应的数据迁移操作。

进一步地,所述基于存储快照的拷贝程序被处理器执行时还实现如下操作:

获取待处理文件;

基于row技术对所述待处理文件进行快照处理,以获得与所述待处理文件关联的第一row快照。

进一步地,所述基于存储快照的拷贝程序被处理器执行时还实现如下操作:

若接收到与所述待处理文件对应的第一数据写入请求,则确定与所述第一数据写入请求对应的第一待写入数据,并同时执行与所述数据拷贝请求对应的数据迁移操作;

基于row技术对所述第一row快照进行快照处理,以获得与所述第一row快照关联的第二row快照,并将所述第一待写入数据写入所述第二row快照中。

进一步地,所述基于存储快照的拷贝程序被处理器执行时还实现如下操作:

若接收到与所述链接克隆文件对应的第二数据写入请求,则确定与所述第二数据写入请求对应的第二待写入数据,并同时执行与所述数据拷贝请求对应的数据迁移操作;

基于row技术对所述链接克隆文件进行快照处理,以获得与所述链接克隆文件关联的row快照,并将所述第二待写入数据写入与所述链接克隆文件关联的row快照中。

进一步地,所述基于存储快照的拷贝程序被处理器执行时还实现如下操作:

若接收到对所述待处理文件或所述链接克隆文件的数据读写请求,则对所述数据读写请求进行响应,并将所述第一row快照与所述待处理文件异步拷贝到所述链接克隆文件中,以获得目标文件。

进一步地,所述基于存储快照的拷贝程序被处理器执行时还实现如下操作:

若存在与所述链接克隆文件关联的row快照,则将与所述链接克隆文件关联的row快照合并至所述目标文件中,并删除与所述链接克隆文件关联的row快照。

进一步地,所述基于存储快照的拷贝程序被处理器执行时还实现如下操作:

若接收到数据读取请求,则对所述链接克隆文件进行回溯操作,以确定与所述链接克隆文件关联的所述预设文件节点,并同时执行与所述数据拷贝请求对应的数据迁移操作;

对所述预设文件节点进行回溯操作,以确定与所述预设文件节点关联的所述第一row快照;

若所述数据读取请求指向所述第一row快照,则从所述第一row快照中读取待读取数据。

本实施例中若接收到与待处理文件对应的数据拷贝请求,则获取与待处理文件关联的第一row快照;创建与第一row快照关联的预设文件节点,则并创建与预设文件节点关联的链接克隆文件,链接克隆文件为待处理文件的链接克隆文件;若接收到对待处理文件或链接克隆文件的数据读写请求,则对数据读写请求进行响应,并同时执行与数据拷贝请求对应的数据迁移操作。明显地,本实施例中通过对数据拷贝请求对应的数据拷贝操作进行重新设计,无需等待数据迁移操作结束就可响应数据读写请求,从而大大减少了再次编辑的等待时间,解决了在文件拷贝时等待时间较长的技术问题。

此外,参照图7,本发明实施例还提出一种基于存储快照的拷贝装置,所述基于存储快照的拷贝装置包括:

快照确定模块10,用于若接收到与待处理文件对应的数据拷贝请求,则获取与所述待处理文件关联的第一写时重定向row快照。

可以理解的是,若用户欲对原始文件即待处理文件进行拷贝,或者,系统自动对待处理文件进行拷贝,则将触发与待处理文件对应的数据拷贝请求。其中,可将待处理文件记为文件a,可将文件a拷贝后获得的新文件记为文件b。

应当理解的是,鉴于拷贝任务开始但未结束前,文件a与文件b一般都不可用,使得用户无法及时地使用原始文件或者新文件,存在着一段较长的等待时间。为了缩短此等待时间使得用户可快速地对原始文件或者新文件实施后续操作,比如,可对原始文件或者新文件进行数据的读写,本实施例将结合快照与链接克隆来进行拷贝操作。

进一步地,所述基于存储快照的拷贝装置还包括:

第一快照生成模块,用于获取待处理文件;基于row技术对所述待处理文件进行快照处理,以获得与所述待处理文件关联的第一row快照。

在具体实现中,可采用row技术来处理数据更新,比如,若文件a存在着数据更新,不直接更新文件a,将通过row技术开辟一个新快照并记为第一row快照,并将此时的更新数据写入第一row快照中。

可以理解的是,本实施例将对数据拷贝操作进行重新设计,若欲对文件a进行数据拷贝操作,将先不实施实际的数据迁移操作而改之为创建预设文件节点与链接克隆文件,对于处于上层的用户而言,链接克隆文件就是文件b,用户可直接操作该链接克隆文件无需等待数据迁移操作运行结束。

其中,数据迁移操作是指拷贝文件a的数据并获得已具备文件a数据的文件b的操作,而本实施例中的链接克隆文件内并不具备文件a数据,如此也就减少了等待时间。

可见,本实施例中将数据拷贝操作划分为了异步处理的两类操作,第一类操作为获得预设文件节点与链接克隆文件,第二类操作为真实地去复制数据的数据迁移操作,先实施第一类操作,再实施第二类操作。用户实施第一类操作后无需实施第二类操作就可进行文件的再编辑。

链接克隆模块20,用于创建与所述第一row快照关联的预设文件节点,并创建与所述预设文件节点关联的链接克隆文件,所述链接克隆文件为所述待处理文件的链接克隆文件。

可以理解的是,文件a与第一row快照关联,第一row快照又与预设文件节点关联,预设文件节点又与链接克隆文件关联。其中,链接克隆文件对于上层用户而言就可视为文件a拷贝后获得的新文件,可直接操作该链接克隆文件,但是,链接克隆文件内实际并不含有文件a的数据。

其中,预设文件节点用于记录文件引用,比如,预设文件节点内记录有“第一row快照与预设文件节点关联,预设文件节点与链接克隆文件关联”。

数据读写模块30,用于若接收到对所述待处理文件或所述链接克隆文件的数据读写请求,则对所述数据读写请求进行响应,并同时执行与所述数据拷贝请求对应的数据迁移操作。

应当理解的是,在获得预设文件节点与链接克隆文件之后,文件a或者链接克隆文件已可用,可响应用户或者系统对于文件a或者链接克隆文件的数据读写请求,比如,对文件a或者链接克隆文件进行读取。此时,可能并未结束数据迁移操作,所以,可同时执行该数据迁移操作。

当然,若未接收到对所述待处理文件或所述链接克隆文件的数据读写请求,也将执行与所述数据拷贝请求对应的数据迁移操作。

本实施例中若接收到与待处理文件对应的数据拷贝请求,则获取与待处理文件关联的第一row快照;创建与第一row快照关联的预设文件节点,则并创建与预设文件节点关联的链接克隆文件,链接克隆文件为待处理文件的链接克隆文件;若接收到对待处理文件或链接克隆文件的数据读写请求,则对数据读写请求进行响应,并同时执行与数据拷贝请求对应的数据迁移操作。明显地,本实施例中通过对数据拷贝请求对应的数据拷贝操作进行重新设计,无需等待数据迁移操作结束就可响应数据读写请求,从而大大减少了再次编辑的等待时间,解决了在文件拷贝时等待时间较长的技术问题。

在一实施例中,所述数据读写模块30,还用于若接收到与所述待处理文件对应的第一数据写入请求,则确定与所述第一数据写入请求对应的第一待写入数据,并同时执行与所述数据拷贝请求对应的数据迁移操作;基于row技术对所述第一row快照进行快照处理,以获得与所述第一row快照关联的第二row快照,并将所述第一待写入数据写入所述第二row快照中。

在一实施例中,所述数据读写模块30,还用于若接收到与所述链接克隆文件对应的第二数据写入请求,则确定与所述第二数据写入请求对应的第二待写入数据,并同时执行与所述数据拷贝请求对应的数据迁移操作;基于row技术对所述链接克隆文件进行快照处理,以获得与所述链接克隆文件关联的row快照,并将所述第二待写入数据写入与所述链接克隆文件关联的row快照中。

在一实施例中,所述数据读写模块30,还用于若接收到对所述待处理文件或所述链接克隆文件的数据读写请求,则对所述数据读写请求进行响应,并将所述第一row快照与所述待处理文件异步拷贝到所述链接克隆文件中,以获得目标文件。

在一实施例中,所述基于存储快照的拷贝装置还包括:

链接删除模块,用于若存在与所述链接克隆文件关联的row快照,则将与所述链接克隆文件关联的row快照合并至所述目标文件中,并删除与所述链接克隆文件关联的row快照。

在一实施例中,所述数据读写模块30,还用于若接收到数据读取请求,则对所述链接克隆文件进行回溯操作,以确定与所述链接克隆文件关联的所述预设文件节点,并同时执行与所述数据拷贝请求对应的数据迁移操作;

对所述预设文件节点进行回溯操作,以确定与所述预设文件节点关联的所述第一row快照;

若所述数据读取请求指向所述第一row快照,则从所述第一row快照中读取待读取数据。

本发明所述基于存储快照的拷贝装置的其他实施例或具体实现方式可参照上述各方法实施例,此处不再赘述。

需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。

上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。词语第一、第二、以及第三等的使用不表示任何顺序,可将这些词语解释为名称。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如只读存储器、ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。

以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

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