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

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

Info

Publication number
CN110321321B
CN110321321B CN201910480680.4A CN201910480680A CN110321321B CN 110321321 B CN110321321 B CN 110321321B CN 201910480680 A CN201910480680 A CN 201910480680A CN 110321321 B CN110321321 B CN 110321321B
Authority
CN
China
Prior art keywords
write
read
snapshot
request
type
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
Application number
CN201910480680.4A
Other languages
English (en)
Other versions
CN110321321A (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

Images

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 (6)

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

Families Citing this family (3)

* 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上传速度的方法
CN113779083A (zh) * 2021-01-29 2021-12-10 北京京东拓先科技有限公司 数据处理方法、装置、服务器以及存储介质
CN114040346B (zh) * 2021-09-22 2024-02-06 福建省新天地信勘测有限公司 一种基于5g网络的档案数字化信息管理系统与管理方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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 (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7617292B2 (en) * 2001-06-05 2009-11-10 Silicon Graphics International Multi-class heterogeneous clients in a clustered filesystem
US7774568B2 (en) * 2007-08-13 2010-08-10 Novell, Inc. Clustered snapshots in networks
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 (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108460045A (zh) * 2017-02-21 2018-08-28 中兴通讯股份有限公司 一种快照的处理方法及分布式块存储系统
CN107291883A (zh) * 2017-06-20 2017-10-24 郑州云海信息技术有限公司 一种分布式存储系统的快照方法及装置
CN109033328A (zh) * 2018-07-19 2018-12-18 郑州云海信息技术有限公司 一种访问请求处理方法、装置、设备及可读存储介质

Also Published As

Publication number Publication date
WO2020237849A1 (zh) 2020-12-03
CN110321321A (zh) 2019-10-11

Similar Documents

Publication Publication Date Title
CN110321321B (zh) 网络块设备快照读写方法、装置、设备及存储介质
CN110321075B (zh) 基于nbd设备的数据迁移方法、装置、设备及存储介质
CN109558331B (zh) 应用程序的缺陷检测方法、装置、设备和存储介质
CN111475751A (zh) 页面图片处理方法、装置、服务器及存储介质
CN103581878A (zh) 一种用于在移动设备中获取目标资源的方法和设备
US20140157147A1 (en) Feedback system, feedback method and recording media thereof
CN110866203B (zh) 页面跳转方法、装置、设备及计算机可读存储介质
CN114070892A (zh) 数据传输方法和装置
CN113784075B (zh) 一种屏幕录像读取方法、系统及计算设备
CN110333823B (zh) 基于nbd设备的数据迁移方法、装置、设备及存储介质
CN114860295A (zh) 资源文件更新方法、装置、设备及可读存储介质
CN111767102B (zh) 应用程序显示方法、信息处理方法、装置及电子设备
WO2021237431A1 (zh) 数据处理方法、装置、处理设备以及数据存储系统
CN111176738B (zh) 一种uefi模式的显卡显示方法、系统及其相关组件
CN113877197A (zh) 一种游戏映射控制方法、装置、设备及存储介质
CN105302846B (zh) 一种恢复网页的方法及装置
CN106991180B (zh) 一种文件显示方法及移动终端
CN110266665B (zh) 网络块设备的连接方法、装置、设备及可读存储介质
CN114416195B (zh) 一种h5页面加载方法、装置、智能终端及服务器
CN107566469B (zh) 用户信息上载方法、装置及计算机可读存储介质
CN117290035A (zh) 页面展示方法、计算机设备和存储介质
CN115687714A (zh) 存储数据访问方法、装置、电子设备及存储介质
CN115658088A (zh) 应用程序下载方法和装置
CN115330921A (zh) 三维模型的演示方法、装置、计算机设备和存储介质
CN116226187A (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