网络块设备的连接方法、装置、设备及可读存储介质制造方法及图纸

技术编号:22172870 阅读:24 留言:0更新日期:2019-09-21 13:35
本发明专利技术公开了一种网络块设备的连接方法、装置、设备及可读存储介质,该方法包括:在检测到rbd‑nbd进程启动时,获取Ceph客户端的核心CPU的数目,以确定生成第一数目的端口对结构socket,其中,所述socket连接网络块nbd设备与rbd‑nbd进程;若检测到Ceph客户端的多个io请求时,根据多个所述io请求将第一数目的socket发送给该io请求所分别指向的目标nbd设备,以分别建立目标nbd设备与rbd‑nbd进程的第一连接;基于所述第一连接将多个所述io请求转发给Ceph集群,以得到处理数据。本发明专利技术解决现有技术中不能充分发挥Rbd设备的处理性能的技术问题。

Connection methods, devices, devices and readable storage media of 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设备与Ceph集群的rbd设备通过建立的rbd_nbd进程进行连接,当rbd_nbd进程在建立两者之间的连接时,会创建一个端口对结构socket以进行上层应用的多个io请求的转发,然后rbd_nbd进程从socket中数序读取多个io请求,转发到rbd设备,Rbd设备因为是分布式存储式的,可以同时处理多个请求,而从socket中顺序读取多个io请求,不能充分发挥Rbd设备的处理性能。
技术实现思路
本专利技术的主要目的在于提供一种网络块设备的连接方法、装置、设备及可读存储介质,旨在解决现有技术中从端口对结构socket中顺序读取多个io请求,不能充分发挥Rbd设备的处理性能的技术问题。为实现上述目的,本专利技术提供一种网络块设备的连接方法,所述网络块设备的连接方法应用于Ceph分布式系统中的Ceph客户端,所述网络块设备的连接方法包括:在检测到rbd-nbd进程启动时,获取所述Ceph客户端的核心CPU的数目,根据所述核心CPU的数目确定生成第一数目的端口对结构socket,其中,所述socket连接网络块nbd设备与所述rbd-nbd进程;若检测到所述Ceph客户端的多个io请求时,根据多个所述io请求将所述第一数目的socket发送给多个所述io请求所分别指向的目标nbd设备,以分别建立所述目标nbd设备与所述rbd-nbd进程的第一连接;基于所述第一连接将多个所述io请求转发给Ceph分布式系统中所述Ceph客户端对应的Ceph集群,以供所述Ceph集群进行多个所述io请求的处理,以得到处理数据。可选地,所述若检测到所述Ceph客户端的多个io请求时,根据多个所述io请求将所述第一数目的socket发送给多个所述io请求所分别指向的目标nbd设备,以分别建立所述目标nbd设备与所述rbd-nbd进程的第一连接步骤包括:若检测到所述Ceph客户端的多个io请求时,获取多个所述io请求所分别指向的目标nbd设备的第二数目;将所述第一数目与所述第二数目进行比对,若所述第一数目小于等于所述第二数目时,将所述第一数目的socket发送给多个所述io请求所分别指向的目标nbd设备,以分别建立所述目标nbd设备与所述rbd-nbd进程的第一连接;若所述第一数目大于所述第二数目时,从所述第一数目的socket中选取所述第二数目的socket发送给多个所述io请求所分别指向的目标nbd设备,以分别建立所述目标nbd设备与所述rbd-nbd进程的第一连接。可选地,所述将所述第一数目的socket发送给多个所述io请求所分别指向的目标nbd设备,以分别建立所述目标nbd设备与所述rbd-nbd进程的第一连接步骤包括:将所述第一数目的socket发送给多个所述io请求所分别指向的目标nbd设备,以分别建立所述目标nbd设备与所述rbd-nbd进程的第一连接;经由所述目标nbd设备将多个所述io请求发送给所述socket,并将所述socket中的多个所述io请求转发给所述rbd-nbd进程,其中,所述rbd-nbd进程为每个所述socket建立线程读请求。可选地,所述经由所述目标nbd设备将多个所述io请求发送给所述socket,并将所述socket中的多个所述io请求转发给所述rbd-nbd进程步骤包括:经由所述目标nbd设备将多个所述io请求发送给所述socket,并将所述socket中的多个所述io请求转发给所述rbd-nbd进程,并在所述rbd-nbd进程中创建多个所述io请求的转发socket的识别标记。可选地,所述基于所述第一连接将多个所述io请求转发给Ceph分布式系统中所述Ceph客户端对应的Ceph集群,以供所述Ceph集群进行多个所述io请求的处理,以得到处理数据步骤包括:基于所述第一连接将多个所述io请求转发给Ceph分布式系统中所述Ceph客户端对应的Ceph集群,以供所述Ceph集群进行多个所述io请求的处理,以得到处理数据,其中,所述处理数据中携带有所述转发socket的识别标记;基于所述处理数据中的转发socket的识别标记,将所述处理数据反馈给多个所述io请求所分别指向的目标nbd设备。可选地,所述基于所述第一连接将多个所述io请求转发给Ceph分布式系统中所述Ceph客户端对应的Ceph集群步骤包括:若检测到每个所述socket中存在多个所述io请求时,基于所述第一连接将多个所述io请求顺序转发给Ceph分布式系统中所述Ceph客户端对应的Ceph集群。本专利技术还提供一种网络块设备的连接装置,所述网络块设备的连接装置应用于Ceph分布式系统中的Ceph客户端,所述网络块设备的连接装置包括:获取模块,用于在检测到rbd-nbd进程启动时,获取所述Ceph客户端的核心CPU的数目,根据所述核心CPU的数目确定生成第一数目的端口对结构socket,其中,所述socket连接网络块nbd设备与所述rbd-nbd进程;第一发送模块,用于若检测到所述Ceph客户端的多个io请求时,根据多个所述io请求将所述第一数目的socket发送给多个所述io请求所分别指向的目标nbd设备,以分别建立所述目标nbd设备与所述rbd-nbd进程的第一连接;第二发送模块,用于基于所述第一连接将多个所述io请求转发给Ceph分布式系统中所述Ceph客户端对应的Ceph集群,以供所述Ceph集群进行多个所述io请求的处理,以得到处理数据。可选地,所述第一发送模块包括:获取单元,用于若检测到所述Ceph客户端的多个io请求时,获取多个所述io请求所分别指向的目标nbd设备的第二数目;比对单元,用于将所述第一数目与所述第二数目进行比对,若所述第一数目小于等于所述第二数目时,将所述第一数目的socket发送给多个所述io请求所分别指向的目标nbd设备,以分别建立所述目标nbd设备与所述rbd-nbd进程的第一连接;选取单元,用于若所述第一数目大于所述第二数目时,从所述第一数目的socket中选取所述第二数目的socket发送给多个所述io请求所分别指向的目标nbd设备,以分别建立所述目标nbd设备与所述rbd-nbd进程的第一连接。可选地,所述比对单元包括:建立子单元,用于将所述第一数目的socket发送给多个所述io请本文档来自技高网...

【技术保护点】
1.一种网络块设备的连接方法,其特征在于,所述网络块设备的连接方法应用于Ceph分布式系统中的Ceph客户端,所述网络块设备的连接方法包括:在检测到rbd‑nbd进程启动时,获取所述Ceph客户端的核心CPU的数目,根据所述核心CPU的数目确定生成第一数目的端口对结构socket,其中,所述socket连接网络块nbd设备与所述rbd‑nbd进程;若检测到所述Ceph客户端的多个io请求时,根据多个所述io请求将所述第一数目的socket发送给多个所述io请求所分别指向的目标nbd设备,以分别建立所述目标nbd设备与所述rbd‑nbd进程的第一连接;基于所述第一连接将多个所述io请求转发给Ceph分布式系统中所述Ceph客户端对应的Ceph集群,以供所述Ceph集群进行多个所述io请求的处理,以得到处理数据。

【技术特征摘要】
1.一种网络块设备的连接方法,其特征在于,所述网络块设备的连接方法应用于Ceph分布式系统中的Ceph客户端,所述网络块设备的连接方法包括:在检测到rbd-nbd进程启动时,获取所述Ceph客户端的核心CPU的数目,根据所述核心CPU的数目确定生成第一数目的端口对结构socket,其中,所述socket连接网络块nbd设备与所述rbd-nbd进程;若检测到所述Ceph客户端的多个io请求时,根据多个所述io请求将所述第一数目的socket发送给多个所述io请求所分别指向的目标nbd设备,以分别建立所述目标nbd设备与所述rbd-nbd进程的第一连接;基于所述第一连接将多个所述io请求转发给Ceph分布式系统中所述Ceph客户端对应的Ceph集群,以供所述Ceph集群进行多个所述io请求的处理,以得到处理数据。2.如权利要求1所述的网络块设备的连接方法,其特征在于,所述若检测到所述Ceph客户端的多个io请求时,根据多个所述io请求将所述第一数目的socket发送给多个所述io请求所分别指向的目标nbd设备,以分别建立所述目标nbd设备与所述rbd-nbd进程的第一连接步骤包括:若检测到所述Ceph客户端的多个io请求时,获取多个所述io请求所分别指向的目标nbd设备的第二数目;将所述第一数目与所述第二数目进行比对,若所述第一数目小于等于所述第二数目时,将所述第一数目的socket发送给多个所述io请求所分别指向的目标nbd设备,以分别建立所述目标nbd设备与所述rbd-nbd进程的第一连接;若所述第一数目大于所述第二数目时,从所述第一数目的socket中选取所述第二数目的socket发送给多个所述io请求所分别指向的目标nbd设备,以分别建立所述目标nbd设备与所述rbd-nbd进程的第一连接。3.如权利要求2所述的网络块设备的连接方法,其特征在于,所述将所述第一数目的socket发送给多个所述io请求所分别指向的目标nbd设备,以分别建立所述目标nbd设备与所述rbd-nbd进程的第一连接步骤包括:将所述第一数目的socket发送给多个所述io请求所分别指向的目标nbd设备,以分别建立所述目标nbd设备与所述rbd-nbd进程的第一连接;经由所述目标nbd设备将多个所述io请求发送给所述socket,并将所述socket中的多个所述io请求转发给所述rbd-nbd进程,其中,所述rbd-nbd进程为每个所述socket建立线程读请求。4.如权利要求3所述的网络块设备的连接方法,其特征在于,所述经由所述目标nbd设备将多个所述io请求发送给所述socket,并将所述socket中的多个所述io请求转发给所述rbd-nbd进程步骤包括:经由所述目标nbd设备将多个所述io请求发送给所述socket,并将所述socket中的多个所述io请求转发给所述rbd-nbd进程,并在所述rbd-nbd进程中创建多个所述io请求的转发socket的识别标记。5.如权利要求4所述的网络块设备的连接方法,其特征在于,所述基于所述第一连接将多个所述io请求转发给Ceph分布式系统中所述Ceph客户端对应的C...

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

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

1