CN110321075B - 基于nbd设备的数据迁移方法、装置、设备及存储介质 - Google Patents
基于nbd设备的数据迁移方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN110321075B CN110321075B CN201910478913.7A CN201910478913A CN110321075B CN 110321075 B CN110321075 B CN 110321075B CN 201910478913 A CN201910478913 A CN 201910478913A CN 110321075 B CN110321075 B CN 110321075B
- Authority
- CN
- China
- Prior art keywords
- nbd
- target
- data
- target data
- local disk
- 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.)
- Active
Links
Images
Classifications
-
- 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
- G06F3/0647—Migration mechanisms
-
- 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/067—Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Abstract
本发明公开了一种基于nbd设备的数据迁移方法、装置、设备及存储介质,该方法包括:在检测到rbd‑nbd进程启动时,在所述Ceph客户端获取所述rbd‑nbd进程对应的目标nbd设备;若检测到基于所述目标nbd设备进行读写业务处理请求时,判断所述读写业务处理请求所请求的目标数据是否已从所述本地磁盘迁移至所述Ceph集群;若所述目标数据未从所述本地磁盘迁移至所述Ceph集群,则从所述本地磁盘中读取所述目标数据,并基于所述rbd‑nbd进程将所述目标数据发送给所述Ceph集群,本发明解决现有技术中将本地磁盘的数据迁移至分布式存储系统的过程中,效率低,影响业务持续性的技术问题。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种基于nbd设备的数据迁移方法、装置、设备及存储介质。
背景技术
Ceph分布式系统中,包括Ceph客户端以及Ceph集群,其中,Ceph客户端中包括网络块设备(network block device),该网络块设备简称nbd设备,且该nbd设备是Ceph客户端的linux系统广发使用的一种块设备,其中,Ceph客户端可以在本地选取一个创建好的nbd设备,通过预设的nbd协议连接Ceph集群的rbd设备,具体地,rbd设备可以理解为Ceph集群中的一个存储设备,需要说明的是,Ceph分布式系统中,在Ceph客户端nbd设备上的读写需要转换为对Ceph集群中rbd设备的读写,在Ceph集群中rbd设备的读写完成后,获取rbd设备的读写内容,返回给Ceph客户端nbd设备,以完成对Ceph客户端nbd设备的读写。
应用或者数据库往往都存储在Ceph客户端的本地磁盘上,在本地磁盘上存储的数据可用性以及可拓展性难以与分布式存储系统相比,因而,目前,需要把本地磁盘上的数据迁移至分布式存储系统中,然而,在现有迁移过程中,需要先将本地磁盘的数据完全迁移后,才可以切换为分布式存储系统,这个过程耗时过长,影响业务的持续性。
发明内容
本发明的主要目的在于提供一种基于nbd设备的数据迁移方法、装置、设备及存储介质,旨在解决现有技术中将本地磁盘的数据迁移至分布式存储系统的过程中,效率低,影响业务持续性的技术问题。
为实现上述目的,本发明提供一种基于nbd设备的数据迁移方法,所述基于nbd设备的数据迁移方法应用于Ceph分布式系统中的Ceph客户端,所述Ceph客户端中包括本地磁盘,所述Ceph分布式系统还包括Ceph集群,所述基于nbd设备的数据迁移方法包括:
在检测到rbd-nbd进程启动时,在所述Ceph客户端获取所述rbd-nbd进程对应的目标nbd设备;
若检测到基于所述目标nbd设备进行读写业务处理请求时,判断所述读写业务处理请求所请求的目标数据是否已从所述本地磁盘迁移至所述Ceph集群;
若所述目标数据未从所述本地磁盘迁移至所述Ceph集群,则从所述本地磁盘中读取所述目标数据,并基于所述rbd-nbd进程将所述目标数据发送给所述Ceph集群。
可选地,所述若检测到基于所述目标nbd设备进行读写业务处理请求时,判断所述读写业务处理请求所请求的目标数据是否已从所述本地磁盘迁移至所述Ceph集群步骤之前包括:
启动所述目标nbd设备,实时从所述本地磁盘中读取待迁移数据至所述目标nbd设备中;
基于所述rbd-nbd进程,将迁移至所述目标nbd设备中的所述待迁移数据迁移至所述Ceph集群中。
可选地,所述启动所述目标nbd设备,实时从所述本地磁盘中读取待迁移数据至所述目标nbd设备中步骤之后包括:
建立所述已迁移至所述目标nbd设备中的待迁移数据的迁移计数;
每检测到所述已迁移至所述目标nbd设备中的待迁移数据达到预设数据量时,进行所述迁移计数的预设加量处理。
可选地,所述若检测到基于所述目标nbd设备进行读写业务处理请求时,判断所述读写业务处理请求所请求的目标数据是否已从所述本地磁盘迁移至所述Ceph集群步骤包括:
若检测到基于所述目标nbd设备进行读写业务处理请求时,获取所述读写业务处理请求所请求的目标数据对应的目标数据计数;
若所述目标数据计数小于等于所述迁移计数时,则判定所述读写业务处理请求所请求的目标数据已从所述本地磁盘迁移至所述Ceph集群中。
可选地,所述若所述目标数据计数小于等于所述迁移计数时,则判定所述读写业务处理请求所请求的目标数据已从所述本地磁盘迁移至所述Ceph集群中步骤之后包括:
基于所述rbd-nbd进程,从所述Ceph集群中读取所述目标数据,并将所述目标数据返回给所述目标nbd设备。
可选地,所述获取所述读写业务处理请求所请求的目标数据对应的目标数据计数步骤之后包括:
若所述目标数据计数大于所述迁移计数时,判断在预置跳跃记录表中是否查找到与所述目标数据计数一致的计数编号,其中,所述跳跃记录表中记录未顺序迁移的数据;
若在跳跃记录表中查找到与所述目标数据计数一致的计数编号,则从所述Ceph集群中读取所述目标数据,并将所述目标数据返回给所述目标nbd设备;
若未在跳跃记录表中查找到与所述目标数据计数一致的计数编号,则从所述本地磁盘中读取所述目标数据,并将所述目标数据返回给所述目标nbd设备。
本发明还提供一种基于nbd设备的数据迁移装置,所述基于nbd设备的数据迁移装置应用于Ceph分布式系统中的Ceph客户端,所述Ceph客户端中包括本地磁盘,所述Ceph分布式系统还包括Ceph集群,所述基于nbd设备的数据迁移装置包括:
第一建立模块,用于在检测到rbd-nbd进程启动时,在所述Ceph客户端获取所述rbd-nbd进程对应的目标nbd设备;
判断模块,用于若检测到基于所述目标nbd设备进行读写业务处理请求时,判断所述读写业务处理请求所请求的目标数据是否已从所述本地磁盘迁移至所述Ceph集群;
发送模块,用于若所述目标数据未从所述本地磁盘迁移至所述Ceph集群,则从所述本地磁盘中读取所述目标数据,并基于所述rbd-nbd进程将所述目标数据发送给所述Ceph集群。
可选地,所述基于nbd设备的数据迁移装置还包括:
启动模块,用于启动所述目标nbd设备,实时从所述本地磁盘中读取待迁移数据至所述目标nbd设备中;
迁移模块,用于基于所述rbd-nbd进程,将迁移至所述目标nbd设备中的所述待迁移数据迁移至所述Ceph集群中。
可选地,所述基于nbd设备的数据迁移装置还包括:
第二建立模块,用于建立所述已迁移至所述目标nbd设备中的待迁移数据的迁移计数;
加量处理模块,用于每检测到所述已迁移至所述目标nbd设备中的待迁移数据达到预设数据量时,进行所述迁移计数的预设加量处理。
可选地,所述判断模块包括:
获取单元,用于若检测到基于所述目标nbd设备进行读写业务处理请求时,获取所述读写业务处理请求所请求的目标数据对应的目标数据计数;
第一判定单元,用于若所述目标数据计数小于等于所述迁移计数时,则判定所述读写业务处理请求所请求的目标数据已从所述本地磁盘迁移至所述Ceph集群中。
可选地,所述判断模块还包括:
第二判定单元,用于基于所述rbd-nbd进程,从所述Ceph集群中读取所述目标数据,并将所述目标数据返回给所述目标nbd设备。
可选地,所述判断模块还包括:
判断单元,用于若所述目标数据计数大于所述迁移计数时,判断在预置跳跃记录表中是否查找到与所述目标数据计数一致的计数编号,其中,所述跳跃记录表中记录未顺序迁移的数据;
第一读取单元,用于若在跳跃记录表中查找到与所述目标数据计数一致的计数编号,则从所述Ceph集群中读取所述目标数据,并将所述目标数据返回给所述目标nbd设备;
第二读取单元,用于若未在跳跃记录表中查找到与所述目标数据计数一致的计数编号,则从所述本地磁盘中读取所述目标数据,并将所述目标数据返回给所述目标nbd设备。
此外,为实现上述目的,本发明还提供一种基于nbd设备的数据迁移设备,所述基于nbd设备的数据迁移设备包括:存储器、处理器,通信总线以及存储在所述存储器上的基于nbd设备的数据迁移程序,
所述通信总线用于实现处理器与存储器间的通信连接;
所述处理器用于执行所述基于nbd设备的数据迁移程序,以实现以下步骤:
在检测到rbd-nbd进程启动时,在所述Ceph客户端获取所述rbd-nbd进程对应的目标nbd设备;
若检测到基于所述目标nbd设备进行读写业务处理请求时,判断所述读写业务处理请求所请求的目标数据是否已从所述本地磁盘迁移至所述Ceph集群;
若所述目标数据未从所述本地磁盘迁移至所述Ceph集群,则从所述本地磁盘中读取所述目标数据,并基于所述rbd-nbd进程将所述目标数据发送给所述Ceph集群。
此外,为实现上述目的,本发明还提供一种存储介质,所述存储介质存储有一个或者一个以上程序,所述一个或者一个以上程序可被一个或者一个以上的处理器执行以用于:
在检测到rbd-nbd进程启动时,在所述Ceph客户端获取所述rbd-nbd进程对应的目标nbd设备;
若检测到基于所述目标nbd设备进行读写业务处理请求时,判断所述读写业务处理请求所请求的目标数据是否已从所述本地磁盘迁移至所述Ceph集群;
若所述目标数据未从所述本地磁盘迁移至所述Ceph集群,则从所述本地磁盘中读取所述目标数据,并基于所述rbd-nbd进程将所述目标数据发送给所述Ceph集群。
本发明通过在检测到rbd-nbd进程启动时,在所述Ceph客户端获取所述rbd-nbd进程对应的目标nbd设备;若检测到基于所述目标nbd设备进行读写业务处理请求时,判断所述读写业务处理请求所请求的目标数据是否已从所述本地磁盘迁移至所述Ceph集群;若所述目标数据未从所述本地磁盘迁移至所述Ceph集群,则从所述本地磁盘中读取所述目标数据,并基于所述rbd-nbd进程将所述目标数据发送给所述Ceph集群。在本申请中,在rbd-nbd进程启动,建立目标nbd设备后,判断所述读写业务处理请求所请求的目标数据是否已从所述本地磁盘迁移至所述Ceph集群;若所述目标数据未从所述本地磁盘迁移至所述Ceph集群,则从所述本地磁盘中读取所述目标数据,并基于所述rbd-nbd进程将所述目标数据发送给所述Ceph集群,也即在本申请中,基于目标nbd设备实现在处理读写业务时,保持对本地磁盘中数据的读取,也即实现在将将本地磁盘的数据迁移至分布式存储系统的过程中,避免业务持续性受到影响,因而,解决了现有技术中将本地磁盘的数据迁移至分布式存储系统的过程中,效率低,影响业务持续性的技术问题。
附图说明
图1为本发明基于nbd设备的数据迁移方法第一实施例的流程示意图;
图2为本发明基于nbd设备的数据迁移方法第二实施例的流程示意图;
图3是本发明实施例方法涉及的硬件运行环境的设备结构示意图;
图4是本发明实施例方法涉及的场景示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明提供一种基于nbd设备的数据迁移方法,在本发明基于nbd设备的数据迁移方法的第一实施例中,参照图1,所述基于nbd设备的数据迁移方法应用于Ceph分布式系统中的Ceph客户端,所述Ceph客户端中包括本地磁盘,所述Ceph分布式系统还包括Ceph集群,所述基于nbd设备的数据迁移方法包括:
步骤S10,在检测到rbd-nbd进程启动时,在所述Ceph客户端获取所述rbd-nbd进程对应的目标nbd设备;
步骤S20,若检测到基于所述目标nbd设备进行读写业务处理请求时,判断所述读写业务处理请求所请求的目标数据是否已从所述本地磁盘迁移至所述Ceph集群;
步骤S30,若所述目标数据未从所述本地磁盘迁移至所述Ceph集群,则从所述本地磁盘中读取所述目标数据,并基于所述rbd-nbd进程将所述目标数据发送给所述Ceph集群。
具体步骤如下:
步骤S10,在检测到rbd-nbd进程启动时,在所述Ceph客户端获取所述rbd-nbd进程对应的目标nbd设备;
需要说明的是,参照图4,在本实施例中,Ceph分布式系统包括Ceph客户端,所述Ceph分布式系统还包括Ceph集群,在本实施例中,实现在Ceph客户端将Ceph集群中数据内容通过映射网络驱动映射到本地也即Ceph客户端,实现在Ceph客户端将Ceph集群中数据内容通过映射网络驱动映射到本地(Ceph客户端),也即对nbd设备进行读写业务处理请求的处理过程,实现在Ceph客户端将Ceph集群中数据内容通过映射网络驱动映射到本地,则需要先由Ceph客户端通过人为方式触发rbd-nbd进程,其中,该rbd-nbd进程连接的两端分别为Ceph客户端以及Ceph集群,人为方式触发rbd-nbd进程即是由用户手动的在Ceph客户端进行Ceph集群的选取,以及本地磁盘的选取,在选取完成后,通过点击等操作即创建了rbd-nbd进程,在确定创建了rbd-nbd进程后,基于该rbd-nbd进程在Ceph客户端本地磁盘中创建nbd设备,在创建该nbd设备后,用户可以实现将Ceph集群的数据读取或者写至本地的nbd设备中,以完成对本地的nbd设备的读写,换种方式,也即实现在Ceph客户端nbd设备上的读写需要转换为对Ceph集群中rbd设备的读写,在Ceph集群中rbd设备的读写完成后,获取rbd设备的读写内容,返回给Ceph客户端nbd设备,以完成对Ceph客户端nbd设备的读写。
为了便于理解,可以将Ceph集群当作网上邻居设备,若要在本地实现将网上邻居设备中的数据内容读取至本地,则需要首先由用户确定网上邻居设备地址以及本地磁盘,在确定网上邻居设备地址以及本地磁盘后,然后触发rbd-nbd进程,根据该rbd-nbd进程,在本地磁盘中创建nbd设备,并基于该rbd-nbd进程,从网上邻居中获取对应的内容,将该对应的内容存储在nbd设备中,以确定完成该nbd设备的读写,以确定实现读写业务的处理。
在检测到rbd-nbd进程启动时,在所述Ceph客户端获取所述rbd-nbd进程对应的目标nbd设备,其中,只要rbd-nbd进程确定,则Ceph客户端会基于该rbd-nbd进程进行nbd设备的随机分配,若Ceph客户端待分配的nbd设备不足时,则进行nbd设备的建立,以最终得到启动的rbd-nbd进程的目标nbd设备。
步骤S20,若检测到基于所述目标nbd设备进行读写业务处理请求时,判断所述读写业务处理请求所请求的目标数据是否已从所述本地磁盘迁移至所述Ceph集群;
在本实施例中,在确定该启动的rbd-nbd进程的目标nbd设备后,Ceph客户端会按照预先设定的迁移规则从本地磁盘中将数据迁移至目标nbd设备中,该迁移规则可以是每天在预设时间点进行数据的迁移,或者是检测到当前Ceph客户端的待处理任务请求小于预设数量时,进行从本地磁盘中将数据迁移至目标nbd设备中,也即迁移规则不做具体的限定。
其中,参照图2,所述若检测到基于所述目标nbd设备进行读写业务处理请求时,判断所述读写业务处理请求所请求的目标数据是否已从所述本地磁盘迁移至所述Ceph集群步骤之前还包括:
步骤S11,启动所述目标nbd设备,实时从所述本地磁盘中读取待迁移数据至所述目标nbd设备中;
在本实施例中,迁移规则是:在检测到目标nbd设备获取完成后,即进行数据的迁移,即只要启动所述目标nbd设备,则实时从所述本地磁盘中读取待迁移数据至所述目标nbd设备中。
步骤S12,基于所述rbd-nbd进程,将迁移至所述目标nbd设备中的所述待迁移数据迁移至所述Ceph集群中。
在将待迁移数据迁移至所述目标nbd设备中后,基于所述rbd-nbd进程,将迁移至所述目标nbd设备中的所述待迁移数据迁移至所述Ceph集群中,以最终实现将待迁移数据完全迁移至待迁移数据。
其中,所述启动所述目标nbd设备,实时从所述本地磁盘中读取待迁移数据至所述目标nbd设备中步骤之后包括:
步骤S13,建立所述已迁移至所述目标nbd设备中的待迁移数据的迁移计数;
步骤S14,每检测到所述已迁移至所述目标nbd设备中的待迁移数据达到预设数据量时,进行所述迁移计数的预设加量处理。
需要说明的是,在本实施例中,每迁移一定数量的数据后,对该已迁移的数量数据进行记载,具体地,建立所述已迁移至所述目标nbd设备中的待迁移数据的迁移计数,每检测到所述已迁移至所述目标nbd设备中的待迁移数据达到预设数据量时,进行所述迁移计数的预设加量处理,例如,当目标nbd设备第一次启动时,首先读取对应的本地磁盘(比如sda)的前面64M数据,将这64M数据迁移至所述目标nbd设备中后,在目标nbd设备中设计一个迁移计数,例如,该迁移计数以4M为单位作为一个数据块,每次从本地盘读取的数据都是以数据块为倍数进行计数,第一次计数为0,如迁移了64MB除以4MB等于16个块,迁移计数从0增加为16。
在从本地磁盘中将数据迁移至目标nbd设备的过程中,若检测到基于所述目标nbd设备进行读写业务处理请求时,判断所述读写业务处理请求所请求的目标数据是否已从所述本地磁盘迁移至所述Ceph集群,也即在本实施例中,在进行数据迁移的过程中,同步进行读写业务处理请求的处理,在同步进行读写业务处理请求的处理过程中,需要判断该读写业务处理请求是第一处理方式还是第二处理方式,具体地,第一处理方式为:
从所述本地磁盘中读取所述读写业务处理请求对应的目标数据;
第二处理方式为:
从所述Ceph集群中读取所述读写业务处理请求对应的目标数据。
具体是第一处理方式还是第二处理方式,根据目标数据在本地磁盘中还是在Ceph集群中确定,需要说明的是,当目标数据的数据量较大时,可能需要从本地磁盘中读取目标数据中的一部分,另一部分从Ceph集群中获取。
因而,在本实施例中,若检测到基于所述目标nbd设备进行读写业务处理请求时,判断所述读写业务处理请求所请求的目标数据是否已从所述本地磁盘迁移至所述Ceph集群,判断的目的在于确定怎样获取目标数据。
步骤S30,若所述目标数据未从所述本地磁盘迁移至所述Ceph集群,则从所述本地磁盘中读取所述目标数据,并基于所述rbd-nbd进程将所述目标数据发送给所述Ceph集群。
在本实施例中,若所述目标数据未从所述本地磁盘迁移至所述Ceph集群,则从所述本地磁盘中读取所述目标数据,并基于所述rbd-nbd进程将所述目标数据发送给所述Ceph集群。
若所述目标数据已从所述本地磁盘迁移至所述Ceph集群,则从所述Ceph集群中读取所述目标数据,以实现在数据迁移过程中实现读写处理业务的不间断。
本发明通过在检测到rbd-nbd进程启动时,在所述Ceph客户端获取所述rbd-nbd进程对应的目标nbd设备;若检测到基于所述目标nbd设备进行读写业务处理请求时,判断所述读写业务处理请求所请求的目标数据是否已从所述本地磁盘迁移至所述Ceph集群;若所述目标数据未从所述本地磁盘迁移至所述Ceph集群,则从所述本地磁盘中读取所述目标数据,并基于所述rbd-nbd进程将所述目标数据发送给所述Ceph集群。在本申请中,在rbd-nbd进程启动,建立目标nbd设备后,判断所述读写业务处理请求所请求的目标数据是否已从所述本地磁盘迁移至所述Ceph集群;若所述目标数据未从所述本地磁盘迁移至所述Ceph集群,则从所述本地磁盘中读取所述目标数据,并基于所述rbd-nbd进程将所述目标数据发送给所述Ceph集群,也即在本申请中,基于目标nbd设备实现在处理读写业务时,保持对本地磁盘中数据的读取,也即实现在将将本地磁盘的数据迁移至分布式存储系统的过程中,避免业务持续性受到影响,因而,解决了现有技术中将本地磁盘的数据迁移至分布式存储系统的过程中,效率低,影响业务持续性的技术问题。
进一步地,本发明提供基于nbd设备的数据迁移方法的另一实施例,在该实施例中,所述若检测到基于所述目标nbd设备进行读写业务处理请求时,判断所述读写业务处理请求所请求的目标数据是否已从所述本地磁盘迁移至所述Ceph集群步骤包括:
步骤A1,若检测到基于所述目标nbd设备进行读写业务处理请求时,获取所述读写业务处理请求所请求的目标数据对应的目标数据计数;
在本实施例中,若检测到基于所述目标nbd设备进行读写业务处理请求时,需要获取所述读写业务处理请求所请求的目标数据对应的目标数据计数,具体获取所述读写业务处理请求所请求的目标数据对应的目标数据计数方式是:获取目标数据在本地磁盘中的存储地址,获取该存储地址在本地磁盘迁移数据时的迁移顺序,根据该迁移顺序确定该目标数据计数。
步骤A2,若所述目标数据计数小于等于所述迁移计数时,则判定所述读写业务处理请求所请求的目标数据已从所述本地磁盘迁移至所述Ceph集群中。
在获取目标数据计数后,将目标数据计数与迁移计数进行比对,若所述目标数据计数小于等于所述迁移计数时,确定目标数据已经被有序迁移至Ceph集群中,因而,所述若所述目标数据计数小于等于所述迁移计数时,则判定所述读写业务处理请求所请求的目标数据已从所述本地磁盘迁移至所述Ceph集群中步骤之后包括:
步骤B1,基于所述rbd-nbd进程,从所述Ceph集群中读取所述目标数据,并将所述目标数据返回给所述目标nbd设备。
若确定目标数据已从所述本地磁盘迁移至所述Ceph集群中,基于所述rbd-nbd进程,从所述Ceph集群中读取所述目标数据,并将所述目标数据返回给所述目标nbd设备,以及时完成读写业务处理请求。
进一步地,本发明提供基于nbd设备的数据迁移方法的另一实施例,在该实施例中,所述获取所述读写业务处理请求所请求的目标数据对应的目标数据计数步骤之后包括:
步骤C1,若所述目标数据计数大于所述迁移计数时,判断在预置跳跃记录表中是否查找到与所述目标数据计数一致的计数编号,其中,所述跳跃记录表中记录未顺序迁移的数据;
在本实施例中,设计有跳跃记录表,该跳跃记录表中记录未顺序迁移的数据,该未顺序迁移的数据在跳跃记录表中的计数编号与该对应数据迁移前在本地磁盘中的迁移计数一致,未顺序迁移的数据指的是在处理读写业务处理请求过程中,迁移至Ceph集群中的数据,而不是有序有计划地从Ceph客户端迁移至Ceph集群中的数据,若所述目标数据计数大于所述迁移计数时,判断在预置跳跃记录表中是否查找到与所述目标数据计数一致的计数编号。
步骤C2,若在跳跃记录表中查找到与所述目标数据计数一致的计数编号,则从所述Ceph集群中读取所述目标数据,并将所述目标数据返回给所述目标nbd设备;
若在跳跃记录表中查找到与所述目标数据计数一致的计数编号,则表明该目标数据已在处理读写业务处理请求过程中,进行过迁移,因而从所述Ceph集群中读取所述目标数据,并将所述目标数据返回给所述目标nbd设备。
步骤C3,若未在跳跃记录表中查找到与所述目标数据计数一致的计数编号,则从所述本地磁盘中读取所述目标数据,并将所述目标数据返回给所述目标nbd设备。
若未在跳跃记录表中查找到与所述目标数据计数一致的计数编号,则表明该目标数据未在处理读写业务处理请求过程中,进行过迁移,因而从所述本地磁盘中读取所述目标数据,并将所述目标数据返回给所述目标nbd设备。
所述若所述目标数据未从所述本地磁盘迁移至所述Ceph集群,则从所述本地磁盘中读取所述目标数据,并基于所述rbd-nbd进程将所述目标数据发送给所述Ceph集群步骤之后包括:
步骤D1,将所述目标数据对应的目标数据计数添加至所述跳跃记录表中,以避免所述目标数据的重复迁移。
在本实施例中,在从所述本地磁盘中读取所述目标数据后,将所述目标数据对应的目标数据计数添加至所述跳跃记录表中,以避免所述目标数据的重复迁移,以更快处理读写业务处理请求。
在本实施例中,通过若所述目标数据计数大于所述迁移计数时,判断在预置跳跃记录表中是否查找到与所述目标数据计数一致的计数编号,其中,所述跳跃记录表中记录未顺序迁移的数据;若在跳跃记录表中查找到与所述目标数据计数一致的计数编号,则从所述Ceph集群中读取所述目标数据,并将所述目标数据返回给所述目标nbd设备;若未在跳跃记录表中查找到与所述目标数据计数一致的计数编号,则从所述本地磁盘中读取所述目标数据,并将所述目标数据返回给所述目标nbd设备。在本实施例中,在迁移数据过程中,避免多次往返的读取流程,提升了业务处理效率。
参照图3,图3是本发明实施例方案涉及的硬件运行环境的设备结构示意图。
本发明实施例基于nbd设备的数据迁移设备可以是PC,也可以是智能手机、平板电脑、电子书阅读器、MP3(Moving Picture Experts Group Audio Layer III,动态影像专家压缩标准音频层面3)播放器、MP4(Moving Picture Experts Group Audio Layer IV,动态影像专家压缩标准音频层面3)播放器、便携计算机等终端设备。
如图3所示,该基于nbd设备的数据迁移设备可以包括:处理器1001,例如CPU,存储器1005,通信总线1002。其中,通信总线1002用于实现处理器1001和存储器1005之间的连接通信。存储器1005可以是高速RAM存储器,也可以是稳定的存储器(non-volatile memory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储设备。
可选地,该基于nbd设备的数据迁移设备还可以包括目标用户接口、网络接口、摄像头、RF(Radio Frequency,射频)电路,传感器、音频电路、WiFi模块等等。目标用户接口可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选目标用户接口还可以包括标准的有线接口、无线接口。网络接口可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。
本领域技术人员可以理解,图3中示出的基于nbd设备的数据迁移设备结构并不构成对基于nbd设备的数据迁移设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图3所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块以及基于nbd设备的数据迁移程序。操作系统是管理和控制基于nbd设备的数据迁移设备硬件和软件资源的程序,支持基于nbd设备的数据迁移程序以及其它软件和/或程序的运行。网络通信模块用于实现存储器1005内部各组件之间的通信,以及与基于nbd设备的数据迁移设备中其它硬件和软件之间通信。
在图3所示的基于nbd设备的数据迁移设备中,处理器1001用于执行存储器1005中存储的基于nbd设备的数据迁移程序,实现上述任一项所述的基于nbd设备的数据迁移方法的步骤。
本发明基于nbd设备的数据迁移设备具体实施方式与上述基于nbd设备的数据迁移方法各实施例基本相同,在此不再赘述。
本发明还提供一种基于nbd设备的数据迁移装置,所述基于nbd设备的数据迁移装置应用于Ceph分布式系统中的Ceph客户端,所述Ceph客户端中包括本地磁盘,所述Ceph分布式系统还包括Ceph集群,所述基于nbd设备的数据迁移装置包括:
第一建立模块,用于在检测到rbd-nbd进程启动时,在所述Ceph客户端获取所述rbd-nbd进程对应的目标nbd设备;
判断模块,用于若检测到基于所述目标nbd设备进行读写业务处理请求时,判断所述读写业务处理请求所请求的目标数据是否已从所述本地磁盘迁移至所述Ceph集群;
发送模块,用于若所述目标数据未从所述本地磁盘迁移至所述Ceph集群,则从所述本地磁盘中读取所述目标数据,并基于所述rbd-nbd进程将所述目标数据发送给所述Ceph集群。
本发明基于nbd设备的数据迁移装置具体实施方式与上述基于nbd设备的数据迁移方法各实施例基本相同,在此不再赘述。
本发明提供了一种存储介质,所述存储介质存储有一个或者一个以上程序,所述一个或者一个以上程序还可被一个或者一个以上的处理器执行以用于实现上述任一项所述的基于nbd设备的数据迁移方法的步骤。
本发明存储介质具体实施方式与上述基于nbd设备的数据迁移方法各实施例基本相同,在此不再赘述。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利处理范围内。
Claims (10)
1.一种基于nbd设备的数据迁移方法,其特征在于,所述基于nbd设备的数据迁移方法应用于Ceph分布式系统中的Ceph客户端,所述Ceph客户端中包括本地磁盘,所述Ceph分布式系统还包括Ceph集群,所述基于nbd设备的数据迁移方法包括:
在检测到rbd-nbd进程启动时,在所述Ceph客户端获取所述rbd-nbd进程对应的目标nbd设备;
启动所述目标nbd设备,实时从所述本地磁盘中读取待迁移数据至所述目标nbd设备中;
建立已迁移至所述目标nbd设备中的待迁移数据的迁移计数;
若检测到基于所述目标nbd设备进行读写业务处理请求时,判断所述读写业务处理请求所请求的目标数据是否已从所述本地磁盘迁移至所述Ceph集群;
获取目标数据在本地磁盘中的存储地址,获取该存储地址在本地磁盘迁移数据时的迁移顺序,根据该迁移顺序确定该目标数据计数;
若所述目标数据未从所述本地磁盘迁移至所述Ceph集群,则从所述本地磁盘中读取所述目标数据,并基于所述rbd-nbd进程将所述目标数据发送给所述Ceph集群。
2.如权利要求1所述的基于nbd设备的数据迁移方法,其特征在于,所述若检测到基于所述目标nbd设备进行读写业务处理请求时,判断所述读写业务处理请求所请求的目标数据是否已从所述本地磁盘迁移至所述Ceph集群步骤之前包括:
基于所述rbd-nbd进程,将迁移至所述目标nbd设备中的所述待迁移数据迁移至所述Ceph集群中。
3.如权利要求2所述的基于nbd设备的数据迁移方法,其特征在于,所述启动所述目标nbd设备,实时从所述本地磁盘中读取待迁移数据至所述目标nbd设备中步骤之后包括:
每检测到所述已迁移至所述目标nbd设备中的待迁移数据达到预设数据量时,进行所述迁移计数的预设加量处理。
4.如权利要求3所述的基于nbd设备的数据迁移方法,其特征在于,所述若检测到基于所述目标nbd设备进行读写业务处理请求时,判断所述读写业务处理请求所请求的目标数据是否已从所述本地磁盘迁移至所述Ceph集群步骤包括:
若检测到基于所述目标nbd设备进行读写业务处理请求时,获取所述读写业务处理请求所请求的目标数据对应的目标数据计数;
若所述目标数据计数小于等于所述迁移计数时,则判定所述读写业务处理请求所请求的目标数据已从所述本地磁盘迁移至所述Ceph集群中。
5.如权利要求4所述的基于nbd设备的数据迁移方法,其特征在于,所述若所述目标数据计数小于等于所述迁移计数时,则判定所述读写业务处理请求所请求的目标数据已从所述本地磁盘迁移至所述Ceph集群中步骤之后包括:
基于所述rbd-nbd进程,从所述Ceph集群中读取所述目标数据,并将所述目标数据返回给所述目标nbd设备。
6.如权利要求4所述的基于nbd设备的数据迁移方法,其特征在于,所述获取所述读写业务处理请求所请求的目标数据对应的目标数据计数步骤之后包括:
若所述目标数据计数大于所述迁移计数时,判断在预置跳跃记录表中是否查找到与所述目标数据计数一致的计数编号,其中,所述跳跃记录表中记录未顺序迁移的数据;
若在跳跃记录表中查找到与所述目标数据计数一致的计数编号,则从所述Ceph集群中读取所述目标数据,并将所述目标数据返回给所述目标nbd设备;
若未在跳跃记录表中查找到与所述目标数据计数一致的计数编号,则从所述本地磁盘中读取所述目标数据,并将所述目标数据返回给所述目标nbd设备。
7.如权利要求6所述的基于nbd设备的数据迁移方法,其特征在于,所述若所述目标数据未从所述本地磁盘迁移至所述Ceph集群,则从所述本地磁盘中读取所述目标数据,并基于所述rbd-nbd进程将所述目标数据发送给所述Ceph集群步骤之后包括:
将所述目标数据对应的目标数据计数添加至所述跳跃记录表中,以避免所述目标数据的重复迁移。
8.一种基于nbd设备的数据迁移装置,其特征在于,所述基于nbd设备的数据迁移装置应用于Ceph分布式系统中的Ceph客户端,所述Ceph客户端中包括本地磁盘,所述Ceph分布式系统还包括Ceph集群,所述基于nbd设备的数据迁移装置包括:
第一建立模块,用于在检测到rbd-nbd进程启动时,在所述Ceph客户端获取所述rbd-nbd进程对应的目标nbd设备;
第一建立模块,还用于启动所述目标nbd设备,实时从所述本地磁盘中读取待迁移数据至所述目标nbd设备中;建立已迁移至所述目标nbd设备中的待迁移数据的迁移计数;
判断模块,用于若检测到基于所述目标nbd设备进行读写业务处理请求时,判断所述读写业务处理请求所请求的目标数据是否已从所述本地磁盘迁移至所述Ceph集群;
判断模块,还用于获取目标数据在本地磁盘中的存储地址,获取该存储地址在本地磁盘迁移数据时的迁移顺序,根据该迁移顺序确定该目标数据计数;
发送模块,用于若所述目标数据未从所述本地磁盘迁移至所述Ceph集群,则从所述本地磁盘中读取所述目标数据,并基于所述rbd-nbd进程将所述目标数据发送给所述Ceph集群。
9.一种基于nbd设备的数据迁移设备,其特征在于,所述基于nbd设备的数据迁移设备包括:存储器、处理器,通信总线以及存储在所述存储器上的基于nbd设备的数据迁移程序,
所述通信总线用于实现处理器与存储器间的通信连接;
所述处理器用于执行所述基于nbd设备的数据迁移程序,以实现如权利要求1至7中任一项所述的基于nbd设备的数据迁移方法的步骤。
10.一种存储介质,其特征在于,所述存储介质上存储有基于nbd设备的数据迁移程序,所述基于nbd设备的数据迁移程序被处理器执行时实现如权利要求1至7中任一项所述的基于nbd设备的数据迁移方法的步骤。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910478913.7A CN110321075B (zh) | 2019-05-31 | 2019-05-31 | 基于nbd设备的数据迁移方法、装置、设备及存储介质 |
PCT/CN2019/102429 WO2020237859A1 (zh) | 2019-05-31 | 2019-08-26 | 基于nbd设备的数据迁移方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910478913.7A CN110321075B (zh) | 2019-05-31 | 2019-05-31 | 基于nbd设备的数据迁移方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110321075A CN110321075A (zh) | 2019-10-11 |
CN110321075B true CN110321075B (zh) | 2023-05-23 |
Family
ID=68119426
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910478913.7A Active CN110321075B (zh) | 2019-05-31 | 2019-05-31 | 基于nbd设备的数据迁移方法、装置、设备及存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN110321075B (zh) |
WO (1) | WO2020237859A1 (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110333823B (zh) * | 2019-05-31 | 2023-07-07 | 平安科技(深圳)有限公司 | 基于nbd设备的数据迁移方法、装置、设备及存储介质 |
CN112764830B (zh) * | 2021-01-19 | 2023-04-21 | 长沙证通云计算有限公司 | 一种应用于国产化替代的数据迁移方法及系统 |
CN112988066B (zh) * | 2021-02-23 | 2022-08-30 | 新华三大数据技术有限公司 | 一种数据处理方法及装置 |
CN114048106B (zh) * | 2021-11-26 | 2022-10-25 | 北京志凌海纳科技有限公司 | 磁盘状态检测方法、系统、介质和存储设备 |
CN115291998A (zh) * | 2022-07-20 | 2022-11-04 | 天翼云科技有限公司 | 一种rbd-nbd映射方法及装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104866234A (zh) * | 2014-02-21 | 2015-08-26 | 腾讯科技(北京)有限公司 | 数据迁移方法、装置及系统 |
CN109033328A (zh) * | 2018-07-19 | 2018-12-18 | 郑州云海信息技术有限公司 | 一种访问请求处理方法、装置、设备及可读存储介质 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5154200B2 (ja) * | 2007-11-09 | 2013-02-27 | 株式会社日立製作所 | データ読出し方法、データ管理システム及びストレージシステム |
EP2645251A1 (en) * | 2008-06-06 | 2013-10-02 | Pivot3 | Method and system for distributed RAID implementation |
CN103561101A (zh) * | 2013-11-06 | 2014-02-05 | 中国联合网络通信集团有限公司 | 一种网络文件系统 |
US9594521B2 (en) * | 2015-02-23 | 2017-03-14 | Advanced Micro Devices, Inc. | Scheduling of data migration |
CN105843704B (zh) * | 2016-03-15 | 2018-10-19 | 上海爱数信息技术股份有限公司 | 一种结合分布式块存储的快照功能的数据保护方法及系统 |
CN110333823B (zh) * | 2019-05-31 | 2023-07-07 | 平安科技(深圳)有限公司 | 基于nbd设备的数据迁移方法、装置、设备及存储介质 |
-
2019
- 2019-05-31 CN CN201910478913.7A patent/CN110321075B/zh active Active
- 2019-08-26 WO PCT/CN2019/102429 patent/WO2020237859A1/zh active Application Filing
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104866234A (zh) * | 2014-02-21 | 2015-08-26 | 腾讯科技(北京)有限公司 | 数据迁移方法、装置及系统 |
CN109033328A (zh) * | 2018-07-19 | 2018-12-18 | 郑州云海信息技术有限公司 | 一种访问请求处理方法、装置、设备及可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN110321075A (zh) | 2019-10-11 |
WO2020237859A1 (zh) | 2020-12-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110321075B (zh) | 基于nbd设备的数据迁移方法、装置、设备及存储介质 | |
CN110489382B (zh) | 一种云手机游戏进度数据的处理方法、系统和存储介质 | |
CN110333947B (zh) | 一种游戏应用的分包资源加载方法、装置、设备及介质 | |
CN109542614B (zh) | 资源配置方法、装置、终端及存储介质 | |
CN110222288B (zh) | 页面展示方法、装置及存储介质 | |
CN107329976B (zh) | 网页分页方法、装置、计算机设备及计算机可读存储介质 | |
WO2015172090A1 (en) | Blended storage allocation on a storage agent | |
WO2020220971A1 (zh) | 一种文件加载方法、装置、电子设备及存储介质 | |
CN110109628B (zh) | 分布式存储系统的数据重建方法、装置、设备及存储介质 | |
CN111124280A (zh) | 一种数据追加写入方法、装置及电子设备和存储介质 | |
CN111104178A (zh) | 一种动态库加载方法、终端装置及存储介质 | |
CN114553762B (zh) | 一种对流表中的流表项处理的方法及装置 | |
CN106375866A (zh) | 一种加载页面方法及终端 | |
CN110333823B (zh) | 基于nbd设备的数据迁移方法、装置、设备及存储介质 | |
CN105491129A (zh) | 页面加载进度显示方法、装置及移动终端 | |
CN115098426A (zh) | Pcie设备管理方法、接口管理模块、pcie系统、设备和介质 | |
CN110321321B (zh) | 网络块设备快照读写方法、装置、设备及存储介质 | |
CN110891033B (zh) | 网络资源处理方法、装置、网关、控制器及存储介质 | |
US20080058973A1 (en) | Music playback system and music playback machine | |
KR20130023567A (ko) | 파일 복사 수행 방법 및 장치 | |
CN113271228B (zh) | 带宽资源调度方法、装置、设备及计算机可读存储介质 | |
CN112711384A (zh) | 一种基于多个存储设备的数据存储方法及装置 | |
CN111372027B (zh) | 视频文件的存储方法及装置、存储介质、电子装置 | |
CN110764707A (zh) | 数据处理方法及装置 | |
CN111930391A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |