CN110321321A - 网络块设备快照读写方法、装置、设备及存储介质 - Google Patents

网络块设备快照读写方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN110321321A
CN110321321A CN201910480680.4A CN201910480680A CN110321321A CN 110321321 A CN110321321 A CN 110321321A CN 201910480680 A CN201910480680 A CN 201910480680A CN 110321321 A CN110321321 A CN 110321321A
Authority
CN
China
Prior art keywords
snapshot
write
read
request
network control
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.)
Granted
Application number
CN201910480680.4A
Other languages
English (en)
Other versions
CN110321321B (zh
Inventor
王新
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ping An Technology Shenzhen Co Ltd
Original Assignee
Ping An Technology Shenzhen Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Ping An Technology Shenzhen Co Ltd filed Critical Ping An Technology Shenzhen Co Ltd
Priority to CN201910480680.4A priority Critical patent/CN110321321B/zh
Priority to PCT/CN2019/101713 priority patent/WO2020237849A1/zh
Publication of CN110321321A publication Critical patent/CN110321321A/zh
Application granted granted Critical
Publication of CN110321321B publication Critical patent/CN110321321B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/11File system administration, e.g. details of archiving or snapshots
    • G06F16/128Details of file system snapshots on the file-level, e.g. snapshot creation, administration, deletion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/172Caching, prefetching or hoarding of files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

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

Description

网络块设备快照读写方法、装置、设备及存储介质
技术领域
本发明涉及计算机技术领域,尤其涉及一种网络块设备快照读写方法、装置、设备及存储介质。
背景技术
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设备连接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集群针对所述读写快照请求反馈的快照数据;
获取所述读写快照请求的类型;
若所述读写快照请求的类型为写请求类型时,根据所述写类型在所述rbd-nbd进程中进行写操作,以得到写数据;
将所述写数据以及所述快照数据反馈给所述网络块设备,以启动所述网络块设备中的快照数据库。
此外,为实现上述目的,本发明还提供一种存储介质,所述存储介质存储有一个或者一个以上程序,所述一个或者一个以上程序可被一个或者一个以上的处理器执行以用于:
在Ceph客户端检测到对网络块设备的快照数据库的读写快照请求时,基于所述网络块设备对应的rbd-nbd进程,将所述读写快照请求发送给所述Ceph集群,以获取所述Ceph集群针对所述读写快照请求反馈的快照数据;
获取所述读写快照请求的类型;
若所述读写快照请求的类型为写请求类型时,根据所述写类型在所述rbd-nbd进程中进行写操作,以得到写数据;
将所述写数据以及所述快照数据反馈给所述网络块设备,以启动所述网络块设备中的快照数据库。
本发明通过在Ceph客户端检测到对网络块设备的快照数据库的读写快照请求时,基于所述网络块设备对应的rbd-nbd进程,将所述读写快照请求发送给所述Ceph集群,以获取所述Ceph集群针对所述读写快照请求反馈的快照数据;获取所述读写快照请求的类型;若所述读写快照请求的类型为写请求类型时,根据所述写类型在所述rbd-nbd进程中进行写操作,以得到写数据;将所述写数据以及所述快照数据反馈给所述网络块设备,以启动所述网络块设备中的快照数据库。在本申请中,在检测到网络块设备的读写快照请求时,从Ceph集群获取对应的快照数据,然后获取读写快照请求的类型,若读写快照请求的类型是写类型时,针对写请求中的写内容,设计在rbd-nbd进程中进行并缓存,以便nbd设备检测到该快照数据以及写请求对应的写数据,以便基于该快照数据以及写请求对应的写数据,进行nbd设备的可写快照文件***,或者可写快照数据库***的创建,因而解决了现有技术中难以满足创建nbd设备的可写快照文件***,或者可写快照数据库***的技术问题。
附图说明
图1为本发明网络块设备快照读写方法第一实施例的流程示意图;
图2为本发明网络块设备快照读写方法第二实施例的流程示意图;
图3是本发明实施例方法涉及的硬件运行环境的设备结构示意图。
本发明目的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明提供一种网络块设备快照读写方法,在本发明网络块设备快照读写方法的第一实施例中,参照图1,所述网络块设备快照读写方法应用于Ceph分布式***中的Ceph客户端,所述Ceph分布式***还包括Ceph集群,所述网络块设备快照读写方法包括:
步骤S10,在Ceph客户端检测到对网络块设备的快照数据库的读写快照请求时,基于所述网络块设备对应的rbd-nbd进程,将所述读写快照请求发送给所述Ceph集群,以获取所述Ceph集群针对所述读写快照请求反馈的快照数据;
步骤S20,获取所述读写快照请求的类型;
步骤S30,若所述读写快照请求的类型为写请求类型时,根据所述写类型在所述rbd-nbd进程中进行写操作,以得到写数据;
步骤S40,将所述写数据以及所述快照数据反馈给所述网络块设备,以启动所述网络块设备中的快照数据库。
具体步骤如下:
步骤S10,在Ceph客户端检测到对网络块设备的快照数据库的读写快照请求时,基于所述网络块设备对应的rbd-nbd进程,将所述读写快照请求发送给所述Ceph集群,以获取所述Ceph集群针对所述读写快照请求反馈的快照数据;
需要说明的是,在本实施例中,Ceph分布式***包括Ceph客户端,所述Ceph分布式***还包括Ceph集群,在本实施例中,实现在Ceph客户端将Ceph集群中数据内容通过映射网络驱动映射到本地也即Ceph客户端,实现在Ceph客户端将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设备的读写。
在创建完成网络块设备后,若在Ceph客户端检测到对网络块设备的快照数据库的读写快照请求时,基于所述网络块设备对应的rbd-nbd进程,将所述读写快照请求发送给所述Ceph集群,以获取所述Ceph集群针对所述读写快照请求反馈的快照数据,具体地,在检测到读写快照请求时,网络块设备对应的驱动会获取该读写快照请求,然后把该读写快照请求转发给Ceph客户端中的socket结构,该socket结构连接的是rbd-nbd进程与nbd设备,rbd-nbd进程从socket结构中获取该读写快照请求,然后把读写快照请求发送给Ceph集群,Ceph集群在得到该读写快照请求后,会基于该读写快照请求中的读请求返回快照数据,需要说明的是,在本实施例中,rbd-nbd进程的一端是Ceph集群的rbd设备的快照卷,也即由于该rbd-nbd进程的一端是Ceph集群的rbd设备的快照卷,才会存在本申请中的技术问题。
Ceph集群在得到该读写快照请求后,会基于该读写快照请求中的读请求返回快照数据过程包括:Ceph集群解析读写快照请求的读请求内容,根据该读请求内容进行快照数据的返回,需要说明的是,Ceph集群基于读请求内容进行快照数据的返回进行返回属于现有技术,并不做具体的说明。
步骤S20,获取所述读写快照请求的类型;
在得到快照数据后,再进行读写快照请求的类型的确定,确定读写快照请求的类型的目的在于确定是否需要进行写操作。
如果读写快照请求的类型是读类型,则不需要进行写操作;
如果读写快照请求的类型是写类型,则需要进行写操作。
步骤S30,若所述读写快照请求的类型为写请求类型时,根据所述写类型在所述rbd-nbd进程中进行写操作,以得到写数据;
需要说明的是,若所述读写快照请求的类型为写请求类型时,则需要进行写操作,在本实施例中,设计在rbd-nbd进程中进行写操作,以完成读写快照请求的写请求,也即在本实施例中,只要确定所述读写快照请求的类型为写请求类型,则在本地的rbd-nbd进程中开辟临时的缓存进行写操作,以得到写数据。
具体地,参照图2,所述若所述读写快照请求的类型为写类型时,根据所述写类型在所述rbd-nbd进程中进行写操作,以得到写数据步骤包括:
步骤S31,若所述读写快照请求的类型为写请求的类型时,判断所述rbd-nbd进程中的缓存是否为空;
在本实施例中,rbd-nbd进程中的缓存可能存在在先写数据,例如,之前对nbd设备进行写操作后,发现该写操作的内容存在错误,需要进行重新的写操作,此时,存在错误的写操作的在先写数据存在于rbd-nbd进程中,重新的写操作对应进行时需要判断所述rbd-nbd进程中的缓存是否为空。
步骤S32,若所述rbd-nbd进程中的缓存不为空,则获取所述写请求中携带的第一键值,其中,所述第一键值中包括写位置以及写长度信息;
若所述rbd-nbd进程中的缓存不为空,则存在对应的在先写数据,此时,获取所述写请求中携带的第一键值与写内容,其中,所述第一键值中包括写位置以及写长度信息,写内容还包括待写数据,其中,第一键值中包括写位置以及写长度信息,也即,KEY=offset+len。
步骤S33,将所述第一键值与所述缓存中已缓存条目中的第二键值进行比对;
在得到第一键值后,将所述将所述第一键值与所述缓存中已缓存条目中的第二键值进行比对,将第一键值中的写位置与所述第二键值中的写位置进行比对,若第一键值中的写位置与所述第二键值中的写位置或者写长度不同,则不进行后续写内容的比较,若将第一键值中的写位置与所述第二键值中的写位置或者写长度相同,则将写请求中的写内容与所述第二键值对应中的写内容进行比对。
步骤S34,若所述第一键值小于等于第二键值,则在所述缓存中增加新的缓存条目,将所述写请求的请求内容存储在所述新的缓存条目中。
若第一键值中的写位置与所述第二键值中的写位置或者写长度不同,则所述第一键值小于等于第二键值,若所述第一键值小于等于第二键值,则在所述缓存中增加新的缓存条目,将所述写请求的请求内容存储在所述新的缓存条目中。
所述判断所述rbd-nbd进程中的缓存是否为空步骤之后包括:
步骤S35,若所述rbd-nbd进程中的缓存为空时,将在所述缓存中创建初始条目;
步骤S36,将所述写请求的请求内容存储在rbd-nbd进程中的初始条目中。
在本实施例中,若所述rbd-nbd进程中的缓存为空时,将在所述缓存中创建初始条目,将所述写请求的请求内容存储在rbd-nbd进程中的初始条目中,以在本地完成写操作,以得到写数据。
步骤S40,将所述写数据以及所述快照数据反馈给所述网络块设备,以启动所述网络块设备中的快照数据库。
在得到写数据以及所述快照数据后,将写数据以及所述快照数据反馈给所述网络块设备,该网络块设备检测到该基于写请求对应的写数据以及所述快照数据,进行所述网络块设备中的快照数据的启动,也即在nbd设备中检测到了写请求对应的写数据,即可进行快照数据库的启动。
本发明通过在Ceph客户端检测到对网络块设备的快照数据库的读写快照请求时,基于所述网络块设备对应的rbd-nbd进程,将所述读写快照请求发送给所述Ceph集群,以获取所述Ceph集群针对所述读写快照请求反馈的快照数据;获取所述读写快照请求的类型;若所述读写快照请求的类型为写请求类型时,根据所述写类型在所述rbd-nbd进程中进行写操作,以得到写数据;将所述写数据以及所述快照数据反馈给所述网络块设备,以启动所述网络块设备中的快照数据库。在本申请中,在检测到网络块设备的读写快照请求时,从Ceph集群获取对应的快照数据,然后获取读写快照请求的类型,若读写快照请求的类型是写类型时,针对写请求中的写内容,设计在rbd-nbd进程中进行并缓存,以便nbd设备检测到该快照数据以及写请求对应的写数据,以便基于该快照数据以及写请求对应的写数据,进行nbd设备的可写快照文件***,或者可写快照数据库***的创建,因而解决了现有技术中难以满足创建nbd设备的可写快照文件***,或者可写快照数据库***的技术问题。
进一步地,本发明提供网络块设备快照读写方法的另一实施例,在该实施例中,所述将所述第一键值与所述缓存中已缓存条目中的第二键值进行比对步骤之后包括:
步骤S37,若所述第一键值大于所述第二键值,则将所述第一键值对应的写请求的请求内容与所述第二键对应的请求内容进行合并存储。
在本实施例中,若所述第一键值大于所述第二键值,则将所述第一键值对应的写请求的请求内容与所述第二键对应的请求内容进行合并存储,合并存储指的是将第一键值对应的写内容与第二键值对应的写内容中的不同部分进行写存储保存,第二键值对应的写内容中的错误内容进行移除,第一键值对应的写内容与第二键值对应的写内容中的相同部分不做处理。
在本实施例中,若所述第一键值大于所述第二键值,则将所述第一键值对应的写请求的请求内容与所述第二键对应的请求内容进行合并存储,确定写操作的正确性。
进一步地,本发明提供网络块设备快照读写方法的另一实施例,在该实施例中,所述获取所述读写快照请求的类型步骤之后包括:
步骤A1,若所述读写快照请求的类型为读类型时,将所述Ceph集群针对所述读写快照请求反馈的快照数据反馈给所述网络块设备,以启动所述网络块设备中的快照数据库。
在本实施例中,若所述读写快照请求的类型为读类型时,将所述Ceph集群针对所述读写快照请求反馈的快照数据反馈给所述网络块设备,以启动所述网络块设备中的快照数据库,也即对于读请求,直接进行快照数据的返回即可。
所述若所述读写快照请求的类型为读类型时,将所述Ceph集群针对所述读写快照请求反馈的快照数据反馈给所述网络块设备步骤包括:
步骤B1,若所述读写快照请求的类型为读类型时,判断所述rbd-nbd进程中的缓存是否为空;
在本实施例中,若所述读写快照请求的类型为读类型时,判断所述rbd-nbd进程中的缓存是否为空,判断该rbd-nbd进程中的缓存是否为空的目的在于,判断该度请求对应的nbd设备是否之前在rbd-nbd进程中存在对应的读数据。
步骤B2,若所述rbd-nbd进程中的缓存不为空,则获取所述读请求中携带的目标读键值,根据所述目标读键值从所述缓存中获取所述读请求的读数据;
若所述rbd-nbd进程中的缓存不为空,则获取对应的读数据,具体地,所述读请求中携带的目标读键值,根据所述目标读键值从所述缓存中获取所述读请求的读数据,
步骤B3,将所述Ceph集群针对所述读写快照请求反馈的快照数据与所述读数据反馈给所述网络块设备。
在得到读数据后,将所述Ceph集群针对所述读写快照请求反馈的快照数据与所述读数据反馈给所述网络块设备。
其中,所述若所述读写快照请求的类型为读类型时,判断所述rbd-nbd进程中的缓存是否为空步骤之后还包括:
若所述rbd-nbd进程中的缓存为空,则将所述Ceph集群针对所述读写快照请求反馈的快照数据反馈给所述网络块设备即可。
在本实施例中,若所述读写快照请求的类型为读类型时,判断所述rbd-nbd进程中的缓存是否为空;若所述rbd-nbd进程中的缓存不为空,则获取所述读请求中携带的目标读键值,根据所述目标读键值从所述缓存中获取所述读请求的读数据;将所述Ceph集群针对所述读写快照请求反馈的快照数据与所述读数据反馈给所述网络块设备,本实施例中实现对nbd的读请求。
参照图3,图3是本发明实施例方案涉及的硬件运行环境的设备结构示意图。
本发明实施例网络块设备快照读写设备可以是PC,也可以是智能手机、平板电脑、电子书阅读器、MP3(Moving Picture Experts Group Audio Layer III,动态影像专家压缩标准音频层面3)播放器、MP4(Moving Picture Experts Group Audio Layer IV,动态影像专家压缩标准音频层面3)播放器、便携计算机等终端设备。
如图3所示,该网络块设备快照读写设备可以包括:处理器1001,例如CPU,存储器1005,通信总线1002。其中,通信总线1002用于实现处理器1001和存储器1005之间的连接通信。存储器1005可以是高速RAM存储器,也可以是稳定的存储器(non-volatile memory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储设备。
可选地,该网络块设备快照读写设备还可以包括目标用户接口、网络接口、摄像头、RF(Radio Frequency,射频)电路,传感器、音频电路、WiFi模块等等。目标用户接口可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选目标用户接口还可以包括标准的有线接口、无线接口。网络接口可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。
本领域技术人员可以理解,图3中示出的网络块设备快照读写设备结构并不构成对网络块设备快照读写设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图3所示,作为一种计算机存储介质的存储器1005中可以包括操作***、网络通信模块以及网络块设备快照读写方法程序。操作***是管理和控制网络块设备快照读写设备硬件和软件资源的程序,支持网络块设备快照读写方法程序以及其它软件和/或程序的运行。网络通信模块用于实现存储器1005内部各组件之间的通信,以及与网络块设备快照读写设备中其它硬件和软件之间通信。
在图3所示的网络块设备快照读写设备中,处理器1001用于执行存储器1005中存储的网络块设备快照读写方法程序,实现上述任一项所述的网络块设备快照读写方法的步骤。
本发明网络块设备快照读写设备具体实施方式与上述网络块设备快照读写方法各实施例基本相同,在此不再赘述。
本发明还提供一种网络块设备快照读写装置,所述网络块设备快照读写装置应用于Ceph分布式***中的Ceph客户端,所述Ceph分布式***还包括Ceph集群,所述网络块设备快照读写装置包括:
检测模块,用于在Ceph客户端检测到对网络块设备的快照数据库的读写快照请求时,基于所述网络块设备对应的rbd-nbd进程,将所述读写快照请求发送给所述Ceph集群,以获取所述Ceph集群针对所述读写快照请求反馈的快照数据;
获取模块,用于获取所述读写快照请求的类型;
写模块,用于若所述读写快照请求的类型为写请求类型时,根据所述写类型在所述rbd-nbd进程中进行写操作,以得到写数据;
反馈模块,用于将所述写数据以及所述快照数据反馈给所述网络块设备,以启动所述网络块设备中的快照数据库。
本发明网络块设备快照读写装置具体实施方式与上述网络块设备快照读写方法各实施例基本相同,在此不再赘述。
本发明提供了一种存储介质,所述存储介质存储有一个或者一个以上程序,所述一个或者一个以上程序还可被一个或者一个以上的处理器执行以用于实现上述任一项所述的网络块设备快照读写方法的步骤。
本发明存储介质具体实施方式与上述网络块设备快照读写方法各实施例基本相同,在此不再赘述。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利处理范围内。

Claims (10)

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集群针对所述读写快照请求反馈的快照数据反馈给所述网络块设备步骤包括:
若所述读写快照请求的类型为读类型时,判断所述rbd-nbd进程中的缓存是否为空;
若所述rbd-nbd进程中的缓存不为空,则获取所述读请求中携带的目标读键值,根据所述目标读键值从所述缓存中获取所述读请求的读数据;
将所述Ceph集群针对所述读写快照请求反馈的快照数据与所述读数据反馈给所述网络块设备。
7.一种网络块设备快照读写装置,其特征在于,所述网络块设备快照读写装置应用于Ceph分布式***中的Ceph客户端,所述Ceph分布式***还包括Ceph集群,所述网络块设备快照读写装置包括:
检测模块,用于在Ceph客户端检测到对网络块设备的快照数据库的读写快照请求时,基于所述网络块设备对应的rbd-nbd进程,将所述读写快照请求发送给所述Ceph集群,以获取所述Ceph集群针对所述读写快照请求反馈的快照数据;
获取模块,用于获取所述读写快照请求的类型;
写模块,用于若所述读写快照请求的类型为写请求类型时,根据所述写类型在所述rbd-nbd进程中进行写操作,以得到写数据;
反馈模块,用于将所述写数据以及所述快照数据反馈给所述网络块设备,以启动所述网络块设备中的快照数据库。
8.如权利要求7所述的网络块设备快照读写装置,其特征在于,所述写模块包括:
第一判断单元,用于若所述读写快照请求的类型为写请求的类型时,判断所述rbd-nbd进程中的缓存是否为空;
第一获取单元,用于若所述rbd-nbd进程中的缓存不为空,则获取所述写请求中携带的第一键值,其中,所述第一键值中包括写位置以及写长度信息;
比对单元,用于将所述第一键值与所述缓存中已缓存条目中的第二键值进行比对;
增加单元,用于若所述第一键值小于等于第二键值,则在所述缓存中增加新的缓存条目,将所述写请求的请求内容存储在所述新的缓存条目中。
9.一种网络块设备快照读写设备,其特征在于,所述网络块设备快照读写设备包括:存储器、处理器,通信总线以及存储在所述存储器上的网络块设备快照读写方法程序,
所述通信总线用于实现处理器与存储器间的通信连接;
所述处理器用于执行所述网络块设备快照读写方法程序,以实现如权利要求1至6中任一项所述的网络块设备快照读写方法的步骤。
10.一种存储介质,其特征在于,所述存储介质上存储有网络块设备快照读写方法程序,所述网络块设备快照读写方法程序被处理器执行时实现如权利要求1至6中任一项所述的网络块设备快照读写方法的步骤。
CN201910480680.4A 2019-05-31 2019-05-31 网络块设备快照读写方法、装置、设备及存储介质 Active CN110321321B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201910480680.4A CN110321321B (zh) 2019-05-31 2019-05-31 网络块设备快照读写方法、装置、设备及存储介质
PCT/CN2019/101713 WO2020237849A1 (zh) 2019-05-31 2019-08-21 网络块设备快照读写方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910480680.4A CN110321321B (zh) 2019-05-31 2019-05-31 网络块设备快照读写方法、装置、设备及存储介质

Publications (2)

Publication Number Publication Date
CN110321321A true CN110321321A (zh) 2019-10-11
CN110321321B CN110321321B (zh) 2023-06-23

Family

ID=68119584

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910480680.4A Active CN110321321B (zh) 2019-05-31 2019-05-31 网络块设备快照读写方法、装置、设备及存储介质

Country Status (2)

Country Link
CN (1) CN110321321B (zh)
WO (1) WO2020237849A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111143183A (zh) * 2019-12-27 2020-05-12 紫光云(南京)数字技术有限公司 一种基于librbd库测试rbd上传速度的方法

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114040346B (zh) * 2021-09-22 2024-02-06 福建省新天地信勘测有限公司 一种基于5g网络的档案数字化信息管理***与管理方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040249904A1 (en) * 2001-06-05 2004-12-09 Silicon Graphics, Inc. Multi-class heterogeneous clients in a clustered filesystem
US20090049259A1 (en) * 2007-08-13 2009-02-19 Sudhakar Gosukonda Naga Venkat Clustered snapshots in networks
CN107291883A (zh) * 2017-06-20 2017-10-24 郑州云海信息技术有限公司 一种分布式存储***的快照方法及装置
CN108460045A (zh) * 2017-02-21 2018-08-28 中兴通讯股份有限公司 一种快照的处理方法及分布式块存储***
CN109033328A (zh) * 2018-07-19 2018-12-18 郑州云海信息技术有限公司 一种访问请求处理方法、装置、设备及可读存储介质

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9323775B2 (en) * 2010-06-19 2016-04-26 Mapr Technologies, Inc. Map-reduce ready distributed file system
CN109814946B (zh) * 2018-12-29 2022-03-25 深圳创新科技术有限公司 一种在XenServer中实现分布式存储的方法和装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040249904A1 (en) * 2001-06-05 2004-12-09 Silicon Graphics, Inc. Multi-class heterogeneous clients in a clustered filesystem
US20170212686A1 (en) * 2001-06-05 2017-07-27 Silicon Graphics International Corp. Multi-class heterogeneous clients in a filesystem
US20090049259A1 (en) * 2007-08-13 2009-02-19 Sudhakar Gosukonda Naga Venkat Clustered snapshots in networks
CN108460045A (zh) * 2017-02-21 2018-08-28 中兴通讯股份有限公司 一种快照的处理方法及分布式块存储***
CN107291883A (zh) * 2017-06-20 2017-10-24 郑州云海信息技术有限公司 一种分布式存储***的快照方法及装置
CN109033328A (zh) * 2018-07-19 2018-12-18 郑州云海信息技术有限公司 一种访问请求处理方法、装置、设备及可读存储介质

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111143183A (zh) * 2019-12-27 2020-05-12 紫光云(南京)数字技术有限公司 一种基于librbd库测试rbd上传速度的方法

Also Published As

Publication number Publication date
CN110321321B (zh) 2023-06-23
WO2020237849A1 (zh) 2020-12-03

Similar Documents

Publication Publication Date Title
CN110955631B (zh) 文件访问追踪方法、装置、存储介质及终端
CN109634876A (zh) 文件访问方法、装置及计算机可读存储介质
KR20120102664A (ko) 미래 사용 추정에 기반한 저장 메모리 할당
CN105549936B (zh) 数据表的显示方法和装置
CN111389014A (zh) 游戏资源数据监控方法、装置、计算机设备和存储介质
CN110321075A (zh) 基于nbd设备的数据迁移方法、装置、设备及存储介质
CN110321321A (zh) 网络块设备快照读写方法、装置、设备及存储介质
CN103986779A (zh) 一种应用数据传输方法、装置及终端设备
CN109597707A (zh) 克隆卷数据拷贝方法、装置及计算机可读存储介质
CN110222046B (zh) 列表数据的处理方法、装置、服务器和存储介质
CN113064919B (zh) 数据处理方法、数据存储***、计算机设备及存储介质
CN113688139A (zh) 对象存储方法、网关、设备及介质
CN113282239A (zh) 数据迁移方法、存储器及控制器
CN113127438B (zh) 用于存储数据的方法、装置、服务器和介质
US20140258347A1 (en) Grouping files for optimized file operations
CN110018987B (zh) 快照创建方法、装置及***
CN109981798A (zh) 一种数据写入方法、***及电子设备和存储介质
CN109358811A (zh) 存储设备管理方法、装置及可读存储介质
CN112286448B (zh) 对象访问方法、装置、电子设备及机器可读存储介质
CN111813988B (zh) 用于图像特征库的hnsw节点删除方法、***、设备和介质
CN114070892A (zh) 数据传输方法和装置
CN110333823B (zh) 基于nbd设备的数据迁移方法、装置、设备及存储介质
CN110045929B (zh) 一种挂载点管理方法及相关装置
CN109542531B (zh) 一种文件布局调整方法及装置
CN105068764A (zh) 一种模拟NandFlash的装置及方法

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