网络块设备快照读写方法、装置、设备及存储介质制造方法及图纸

技术编号:22295392 阅读:54 留言:0更新日期:2019-10-15 04:33
本发明专利技术公开了一种网络块设备快照读写方法、装置、设备及存储介质,所述方法包括:在Ceph客户端检测到对网络块设备的快照数据库的读写快照请求时,基于网络块设备对应的rbd‑nbd进程,将读写快照请求发送给Ceph集群,以获取Ceph集群针对读写快照请求反馈的快照数据;获取读写快照请求的类型;若读写快照请求的类型为写请求类型时,根据写类型在rbd‑nbd进程中进行写操作,以得到写数据;将写数据以及快照数据反馈给所述网络块设备,以启动所述网络块设备中的快照数据库,本发明专利技术基于分布式系统旨在解决现有技术中,难以满足创建nbd设备的可写快照文件系统,或者可写快照数据库系统的技术问题。

Snapshot reading and writing methods, devices, devices and storage media for network block devices

【技术实现步骤摘要】
网络块设备快照读写方法、装置、设备及存储介质
本专利技术涉及计算机
,尤其涉及一种网络块设备快照读写方法、装置、设备及存储介质。
技术介绍
Ceph分布式系统中,包括Ceph客户端以及Ceph集群,其中,Ceph客户端中包括网络块设备(networkblockdevice),该网络块设备简称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设备连接rbd设备中的快照存储卷imageA,以实现在nbd设备上创建快照文件系统,或者部署快照数据库系统时,这个快照文件系统或者快照数据库系统在Ceph集群中是只读属性的,难以满足创建nbd设备的可写快照文件系统,或者可写快照数据库系统的需求。
技术实现思路
本专利技术的主要目的在于提供一种网络块设备快照读写方法、装置、设备及存储介质,旨在解决现有技术中,难以满足创建nbd设备的可写快照文件系统,或者可写快照数据库系统的技术问题。为实现上述目的,本专利技术提供一种网络块设备快照读写方法所述网络块设备快照读写方法应用于Ceph分布式系统中的Ceph客户端,所述Ceph分布式系统还包括Ceph集群,所述网络块设备快照读写方法包括:在Ceph客户端检测到对网络块设备的快照数据库的读写快照请求时,基于所述网络块设备对应的rbd-nbd进程,将所述读写快照请求发送给所述Ceph集群,以获取所述Ceph集群针对所述读写快照请求反馈的快照数据;获取所述读写快照请求的类型;若所述读写快照请求的类型为写请求类型时,根据所述写类型在所述rbd-nbd进程中进行写操作,以得到写数据;将所述写数据以及所述快照数据反馈给所述网络块设备,以启动所述网络块设备中的快照数据库。可选地,所述若所述读写快照请求的类型为写类型时,根据所述写类型在所述rbd-nbd进程中进行写操作,以得到写数据步骤包括:若所述读写快照请求的类型为写请求的类型时,判断所述rbd-nbd进程中的缓存是否为空;若所述rbd-nbd进程中的缓存不为空,则获取所述写请求中携带的第一键值,其中,所述第一键值中包括写位置以及写长度信息;将所述第一键值与所述缓存中已缓存条目中的第二键值进行比对;若所述第一键值小于等于第二键值,则在所述缓存中增加新的缓存条目,将所述写请求的请求内容存储在所述新的缓存条目中。可选地,所述判断所述rbd-nbd进程中的缓存是否为空步骤之后包括:若所述rbd-nbd进程中的缓存为空时,将在所述缓存中创建初始条目;将所述写请求的请求内容存储在rbd-nbd进程中的初始条目中。可选地,所述将所述第一键值与所述缓存中已缓存条目中的第二键值进行比对步骤之后包括:若所述第一键值大于所述第二键值,则将所述第一键值对应的写请求的请求内容与所述第二键对应的请求内容进行合并并存储。可选地,所述获取所述读写快照请求的类型步骤之后包括:若所述读写快照请求的类型为读类型时,将所述Ceph集群针对所述读写快照请求反馈的快照数据反馈给所述网络块设备,以启动所述网络块设备中的快照数据库。可选地,,所述若所述读写快照请求的类型为读类型时,将所述Ceph集群针对所述读写快照请求反馈的快照数据反馈给所述网络块设备步骤包括:若所述读写快照请求的类型为读类型时,判断所述rbd-nbd进程中的缓存是否为空;若所述rbd-nbd进程中的缓存不为空,则获取所述读请求中携带的目标读键值,根据所述目标读键值从所述缓存中获取所述读请求的读数据;将所述Ceph集群针对所述读写快照请求反馈的快照数据与所述读数据反馈给所述网络块设备。本专利技术还提供一种网络块设备快照读写装置,所述网络块设备快照读写装置应用于Ceph分布式系统中的Ceph客户端,所述Ceph分布式系统还包括Ceph集群,所述网络块设备快照读写装置包括:检测模块,用于在Ceph客户端检测到对网络块设备的快照数据库的读写快照请求时,基于所述网络块设备对应的rbd-nbd进程,将所述读写快照请求发送给所述Ceph集群,以获取所述Ceph集群针对所述读写快照请求反馈的快照数据;获取模块,用于获取所述读写快照请求的类型;写模块,用于若所述读写快照请求的类型为写请求类型时,根据所述写类型在所述rbd-nbd进程中进行写操作,以得到写数据;反馈模块,用于将所述写数据以及所述快照数据反馈给所述网络块设备,以启动所述网络块设备中的快照数据库。可选地,所述写模块包括:第一判断单元,用于若所述读写快照请求的类型为写请求的类型时,判断所述rbd-nbd进程中的缓存是否为空;第一获取单元,用于若所述rbd-nbd进程中的缓存不为空,则获取所述写请求中携带的第一键值,其中,所述第一键值中包括写位置以及写长度信息;比对单元,用于将所述第一键值与所述缓存中已缓存条目中的第二键值进行比对;增加单元,用于若所述第一键值小于等于第二键值,则在所述缓存中增加新的缓存条目,将所述写请求的请求内容存储在所述新的缓存条目中。可选地,所述所述写模块包括:创建单元,用于若所述rbd-nbd进程中的缓存为空时,将在所述缓存中创建初始条目;第一存储单元,用于将所述写请求的请求内容存储在rbd-nbd进程中的初始条目中。可选地,所述所述写模块还包括:第二存储单元,用于若所述第一键值大于所述第二键值,则将所述第一键值对应的写请求的请求内容与所述第二键对应的请求内容进行合并并存储。可选地,所述网络块设备快照读写装置还包括:启动模块,用于若所述读写快照请求的类型为读类型时,将所述Ceph集群针对所述读写快照请求反馈的快照数据反馈给所述网络块设备,以启动所述网络块设备中的快照数据库。可选地,所述启动模块包括:第二判断单元,用于若所述读写快照请求的类型为读类型时,判断所述rbd-nbd进程中的缓存是否为空;第二获取单元,用于若所述rbd-nbd进程中的缓存不为空,则获取所述读请求中携带的目标读键值,根据所述目标读键值从所述缓存中获取所述读请求的读数据;反馈单元,用于将所述Ceph集群针对所述读写快照请求反馈的快照数据与所述读数据反馈给所述网络块设备。此外,为实现上述目的,本专利技术还提供一种网络块设备快照读写设备,所述网络块设备快照读写设备包括:存储器、处理器,通信总线以及存储在所述存储器上的网络块设备快照读写方法程序,所述通信总线用于实现处理器与存储器间的通信连接;所述处理器用于执行所述网络块设备快照读写方法程序,以实现以下步骤:在Ceph客户端检测到对网络块设备的快照数据库的读写快照请求时,基于所述网络块设备对应的rbd-nbd进程,将所述读写快照请求发送给所述Ceph集群,以获取所述Ceph集群针对所述读写快照请求反馈的快照数据;获取所述读写快照请求的类型;若所述读写快照请求的类型为写请本文档来自技高网...

【技术保护点】
1.一种网络块设备快照读写方法,其特征在于,所述网络块设备快照读写方法应用于Ceph分布式系统中的Ceph客户端,所述Ceph分布式系统还包括Ceph集群,所述网络块设备快照读写方法包括:在Ceph客户端检测到对网络块设备的快照数据库的读写快照请求时,基于所述网络块设备对应的rbd‑nbd进程,将所述读写快照请求发送给所述Ceph集群,以获取所述Ceph集群针对所述读写快照请求反馈的快照数据;获取所述读写快照请求的类型;若所述读写快照请求的类型为写请求类型时,根据所述写类型在所述rbd‑nbd进程中进行写操作,以得到写数据;将所述写数据以及所述快照数据反馈给所述网络块设备,以启动所述网络块设备中的快照数据库。

【技术特征摘要】
1.一种网络块设备快照读写方法,其特征在于,所述网络块设备快照读写方法应用于Ceph分布式系统中的Ceph客户端,所述Ceph分布式系统还包括Ceph集群,所述网络块设备快照读写方法包括:在Ceph客户端检测到对网络块设备的快照数据库的读写快照请求时,基于所述网络块设备对应的rbd-nbd进程,将所述读写快照请求发送给所述Ceph集群,以获取所述Ceph集群针对所述读写快照请求反馈的快照数据;获取所述读写快照请求的类型;若所述读写快照请求的类型为写请求类型时,根据所述写类型在所述rbd-nbd进程中进行写操作,以得到写数据;将所述写数据以及所述快照数据反馈给所述网络块设备,以启动所述网络块设备中的快照数据库。2.如权利要求1所述的网络块设备快照读写方法,其特征在于,所述若所述读写快照请求的类型为写类型时,根据所述写类型在所述rbd-nbd进程中进行写操作,以得到写数据步骤包括:若所述读写快照请求的类型为写请求的类型时,判断所述rbd-nbd进程中的缓存是否为空;若所述rbd-nbd进程中的缓存不为空,则获取所述写请求中携带的第一键值,其中,所述第一键值中包括写位置以及写长度信息;将所述第一键值与所述缓存中已缓存条目中的第二键值进行比对;若所述第一键值小于等于第二键值,则在所述缓存中增加新的缓存条目,将所述写请求的请求内容存储在所述新的缓存条目中。3.如权利要求2所述的网络块设备快照读写方法,其特征在于,所述判断所述rbd-nbd进程中的缓存是否为空步骤之后包括:若所述rbd-nbd进程中的缓存为空时,将在所述缓存中创建初始条目;将所述写请求的请求内容存储在rbd-nbd进程中的初始条目中。4.如权利要求2所述的网络块设备快照读写方法,其特征在于,所述将所述第一键值与所述缓存中已缓存条目中的第二键值进行比对步骤之后包括:若所述第一键值大于所述第二键值,则将所述第一键值对应的写请求的请求内容与所述第二键对应的请求内容进行合并存储。5.如权利要求1所述的网络块设备快照读写方法,其特征在于,所述获取所述读写快照请求的类型步骤之后包括:若所述读写快照请求的类型为读类型时,将所述Ceph集群针对所述读写快照请求反馈的快照数据反馈给所述网络块设备,以启动所述网络块设备中的快照数据库。6.如权利要求1所述的网络块设备快照读写方法,其特征在于,所述若所述读写快照请求的类型为读类型时,将所述Ceph集群针对所述读写快...

【专利技术属性】
技术研发人员:王新
申请(专利权)人:平安科技深圳有限公司
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1