CN110336857B - 网络块设备的创建方法、装置、设备和存储介质 - Google Patents
网络块设备的创建方法、装置、设备和存储介质 Download PDFInfo
- Publication number
- CN110336857B CN110336857B CN201910484893.4A CN201910484893A CN110336857B CN 110336857 B CN110336857 B CN 110336857B CN 201910484893 A CN201910484893 A CN 201910484893A CN 110336857 B CN110336857 B CN 110336857B
- Authority
- CN
- China
- Prior art keywords
- network block
- client
- block device
- equipment
- creation
- 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
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4411—Configuring for operating with peripheral devices; Loading of device drivers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4416—Network booting; Remote initial program loading [RIPL]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
- H04L67/146—Markers for unambiguous identification of a particular session, e.g. session cookie or URL-encoding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/34—Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开了一种网络块设备的创建方法,包括以下步骤:在客户端检测到rbd‑nbd启动时,判断客户端是否已加载网络块设备驱动;在客户端已加载网络块设备驱动时,客户端的内核向网络块设备驱动对应的设备总线接口发送创建指令;通过设备总线接口执行创建指令,在客户端的内核创建网络块设备;在网络块设备创建完成时,客户端建立网络块设备与创建指令中服务器标识对应服务器的连接,以使客户端的应用程序使用网络块设备。本发明还公开了一种网络块设备的创建装置、设备和存储介质。本发明在网络块驱动加载时注册设备总线接口,在接收到创建指令时,通过设备总线接口动态、灵活地创建网络块设备。
Description
技术领域
本发明涉及网络块设备领域,尤其涉及网络块设备的创建方法、装置、设备和存储介质。
背景技术
网络块设备(network block device简称nbd设备),是linux系统广泛使用的一种块设备。
现有的网络块设备是在加载网络块设备驱动的时候,根据网络块设备驱动文件中的参数nbds_max值,创建nbds_max对应个数的网络块设备,以供使用。即,在客户端rbd-nbd启动的时候,客户端获取空闲的网络块设备进行使用;这样若创建的网络块设备数量过多,就会出现网络块设备资源闲置的现象;若创建的网络块设备数量不足,就需要卸载网络块设备驱动,将驱动文件中的nbds_max设置为更大的值,重新加载网络块设备驱动,进行网络块设备的创建,如何解决上述问题成为了当前亟待解决的技术问题。
发明内容
本发明提供一种网络块设备的创建方法、装置、设备和存储介质,旨在实现网络块设备的动态、灵活地创建。
为实现上述目的,本发明提供网络块设备的创建方法,所述网络块设备的创建方法包括以下步骤:
在客户端检测到rbd-nbd启动时,判断所述客户端是否已加载网络块设备驱动;
在所述客户端已加载网络块设备驱动时,所述客户端的内核向所述网络块设备驱动对应的设备总线接口发送创建指令;
通过所述设备总线接口执行所述创建指令,在所述客户端的内核创建网络块设备;
在所述网络块设备创建完成时,所述客户端建立所述网络块设备与所述创建指令中服务器标识对应服务器的连接,以使所述客户端的应用程序使用所述网络块设备。
可选地,所述在所述客户端已加载网络块设备驱动时,所述客户端的内核向所述网络块设备驱动对应的设备总线接口发送创建指令的步骤,包括:
在所述客户端已加载网络块设备驱动时,所述客户端获取所述网络块设备驱动的版本信息,并根据所述版本信息判断所述网络块设备驱动是否为目标版本;
在所述网络块设备驱动不是目标版本时,所述客户端输出提示信息,以提示所述客户端对应用户;
在所述网络块设备驱动是目标版本时,所述客户端的内核向所述网络块设备驱动对应的设备总线接口发送创建指令。
可选地,所述通过所述设备总线接口执行所述创建指令,在所述客户端的内核创建网络块设备的步骤,包括:
所述设备总线接口获取所述创建指令中的创建信息,所述客户端将所述创建信息写入到所述设备总线接口对应系统文件中,其中,所述创建信息包括:设备块标识、设备块大小和服务器标识;
执行包含所述创建信息的系统文件,在所述客户端的内核创建得到网络块设备。
可选地,所述在所述网络块设备创建完成时,所述客户端建立所述网络块设备与所述创建指令中服务器标识对应服务器的连接的步骤之后,包括:
在所述客户端接收到rbd-nbd进程发送的写入请求时,获取所述写入请求对应的写入信息;
所述客户端将所述写入信息发送到所述服务器,以使所述服务器将映射文件作为网络块设备发送至所述客户端;
所述客户端接收所述服务器发送的网络块设备,并使用所述网络块设备。
可选地,所述在所述网络块设备创建完成时,所述客户端建立所述网络块设备与所述创建指令中服务器标识对应服务器的连接的步骤之后,包括:
在客户端接收到网络块设备删除指令时,获取所述网络块设备删除指令对应的设备块标识;
所述客户端将所述设备块标识输入所述设备总线接口中,通过所述设备总线接口执行所述删除指令。
可选地,所述在客户端检测到rbd-nbd启动时,判断所述客户端是否已加载网络块设备驱动的步骤之后,包括:
在所述客户端没有加载网络块设备驱动时,所述客户端加载网络块设备驱动;
在所述网络块设备驱动加载完成时,所述客户端的内核向所述网络块设备驱动对应的设备总线接口发送创建指令;
通过所述设备总线接口执行所述创建指令,在所述客户端的内核创建网络块设备;
在所述网络块设备创建完成时,所述客户端建立所述网络块设备与所述创建指令中服务器标识对应服务器的连接,以使所述客户端的应用程序使用所述网络块设备。
可选地,所述在所述客户端没有加载网络块设备驱动时,所述客户端加载网络块设备驱动的步骤,包括:
在所述客户端没有加载网络块设备驱动时,所述客户端动态申请主设备块标识,并注册所述主设备块标识对应的设备总线接口;
在所述设备总线接口注册完成时,所述客户端将预定义的属性添加至所述设备总线接口对应的系统文件中,以完成网络块设备驱动的加载。
此外,为实现上述目的,本发明还提供一种网络块设备的创建装置,所述网络块设备的创建装置包括:
驱动判断模块,用于在客户端检测到rbd-nbd启动时,判断所述客户端是否已加载网络块设备驱动;
指令发送模块,用于在所述客户端已加载网络块设备驱动时,所述客户端的内核向所述网络块设备驱动对应的设备总线接口发送创建指令;
设备创建模块,用于通过所述设备总线接口执行所述创建指令,在所述客户端的内核创建网络块设备;
连接建立模块,用于在所述网络块设备创建完成时,所述客户端建立所述网络块设备与所述创建指令中服务器标识对应服务器的连接,以使所述客户端的应用程序使用所述网络块设备。
此外,为实现上述目的,本发明还提供一种网络块设备的创建设备;
所述网络块设备的创建设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其中:
所述计算机程序被所述处理器执行时实现如上所述的网络块设备的创建方法的步骤。
此外,为实现上述目的,本发明还提供计算机存储介质;
所述计算机存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述的网络块设备的创建方法的步骤。
本发明实施例提出的一种网络块设备的创建方法、装置、设备和存储介质,在客户端检测到rbd-nbd启动时,判断所述客户端是否已加载网络块设备驱动;在所述客户端已加载网络块设备驱动时,所述客户端的内核向所述网络块设备驱动对应的设备总线接口发送创建指令;通过所述设备总线接口执行所述创建指令,在所述客户端的内核创建网络块设备;在所述网络块设备创建完成时,所述客户端建立所述网络块设备与所述创建指令中服务器标识对应服务器的连接,以使所述客户端的应用程序使用所述网络块设备。本发明中客户端在网络块驱动加载时注册设备总线接口,在需要网络块设备时,再通过网络块驱动对应的设备总线接口动态、灵活地创建网络块设备;有效地避免了由于创建固定数量的网络块设备,导致的网络块设备资源闲置,或者网络块设备不够用时,出现的重复设置加载网络块设备驱动的情况。
附图说明
图1是本发明实施例方案涉及的硬件运行环境的装置结构示意图;
图2为本发明网络块设备的创建方法第一实施例的流程示意图;
图3为本发明网络块设备的创建装置一实施例的功能模块示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
由于现有技术网络块设备客户端是在加载网络块设备驱动的时候,在内核中创建默认固定个数(如16个)设备,然后提供给客户端中的应用程序按照网络块设备协议使用。在使用过程中发现固定个数的网络块设备不够用的时候,没有办法立刻增加;只有停止使用所有的网络块设备,停止网络块设备驱动;然后,客户端卸载网络块设备驱动,重新加载新的网络块设备驱动的时设定一个更大的参数,比如32个。但是当使用中发现需求超过32个的时候,又会发生同样的问题。同时,因为原有的网络块设备驱动逻辑是加载的时候创建好网络块设备,如果在客户端一下就创建1000或者10000个网络块设备,一次申请这么多的内核资源也是一种浪费,并且影响系统性能。
为了解决上述问题,本发明提供一种网络块设备的创建方法,在网络块设备驱动加载的时候,不在提前创建好若干网络块设备给应用程序使用。而是提供一个设备总线接口。当应用程序需要使用网络块设备的时候,向这个设备总线接口发送创建网络块设备的指令。设备总线接口便在内核中创建一个新的网络块设备,提供给这个应用程序使用。避免了原来使用过程中网络块设备不够的情况;与此同时,新创建一个网络块设备不用停止正在使用的网络块设备,避免业务中断,使得网络块设备创建更加智能。
如图1所示,图1是本发明实施例方案涉及的硬件运行环境的客户端(又叫终端,或者网络块设备的创建设备,其中,网络块设备的创建设备可以是由单独的网络块设备的创建装置构成,也可以是由其他装置与网络块设备的创建装置组合形成)结构示意图。
本发明实施例终端可以固定终端,也可以是移动终端,如,带联网功能的智能空调、智能电灯、智能电源、智能音箱、自动驾驶汽车、PC(personal computer)个人计算机、智能手机、平板电脑、电子书阅读器、便携计算机等。
如图1所示,该终端可以包括:处理器1001,例如,中央处理器Central ProcessingUnit,CPU),网络接口1004,用户接口1003,存储器1005,通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如无线保真WIreless-FIdelity,WIFI接口)。存储器1005可以是高速RAM存储器,也可以是稳定的存储器(non-volatile memory),例如,磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
可选地,终端还可以包括摄像头、RF(Radio Frequency,射频)电路,传感器、音频电路、WiFi模块;输入单元,比显示屏,触摸屏;网络接口可选除无线接口中除WiFi外,蓝牙、探针等等。其中,传感器比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器;当然,移动终端还可配置陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。
本领域技术人员可以理解,图1中示出的终端结构并不构成对终端的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图1所示,该计算机软件产品存储在一个存储介质(存储介质:又叫计算机存储介质、计算机介质、可读介质、可读存储介质、计算机可读存储介质或者直接叫介质等,存储介质可以是非易失性可读存储介质,如RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及计算机程序。
在图1所示的终端中,网络接口1004主要用于连接后台服务器,与后台服务器进行数据通信;用户接口1003主要用于连接客户端(用户端),与客户端进行数据通信;而处理器1001可以用于调用存储器1005中存储的计算机程序,并执行本发明以下实施例提供的网络块设备的创建方法中的步骤。
本实施例提供一种网络块设备的创建方法,应用于如图1所示的客户端。
参照图2,在本发明网络块设备的创建方法的第一实施例中,所述网络块设备的创建方法包括:
步骤S10,在客户端检测到rbd-nbd启动时,判断所述客户端是否已加载网络块设备驱动。
客户端中设置有监听模块对客户端的各个应用程序进行监听,通过监听模块对rbd-nbd是否启动进行检测,在客户端中监听模块监听到应用程序rbd-nbd启动时,客户端需要创建网络块设备,其中,网络块设备的创建依赖于网络块设备驱动,因此,客户端判断当前是否已加载网络块设备驱动。
步骤S20,在所述客户端已加载网络块设备驱动时,所述客户端的内核向所述网络块设备驱动对应的设备总线接口发送创建指令。
在客户端已加载网络块设备驱动时,客户端需要确定网络块设备驱动的版本是否满足网络块设备的创建条件,具体地:
步骤a1,在所述客户端已加载网络块设备驱动时,所述客户端获取所述网络块设备驱动的版本信息,并根据所述版本信息判断所述网络块设备驱动是否为目标版本;
步骤a2,在所述网络块设备驱动不是目标版本时,所述客户端输出提示信息,以提示所述客户端对应用户;
步骤a3,在所述网络块设备驱动是目标版本时,所述客户端的内核向所述网络块设备驱动对应的设备总线接口发送创建指令。
即,在客户端已加载网络块设备驱动时,客户端获取网络块设备驱动的版本信息,其中,版本信息包括版本名称、版本发布时间和版本属性等;客户端根据版本信息中的版本名称判断网络块设备驱动是否为目标版本。
本实施例中的目标版本是指支持动态创建网络块设备的驱动版本。即,目标版本的网络块设备驱动中没有空闲的网络块设备,需要用的时候客户端就按照需要进行动态创建。此外,客户端中网络块设备驱动版本可能是历史版本,该历史版本的网络块设备驱动不支持动态网络块设备创建,在该历史驱动版本的网络块设备驱动中,已经创建有固定个数的若干网络块设备,在客户端检测到rbd-nbd启动时,只需要需要找一个空闲的网络块设备完成对接,就可以使用该网络块设备进行操作。因此,客户端需要确定网络块设备驱动的版本才可以确定后续步骤。
在客户端确定网络块设备驱动不是目标版本时,客户端输出提示信息,以提示客户端对应用户退出网络块设备的创建,有效地避免和网络块设备驱动不同版本之间混淆使用的情况。
在客户端确定网络块设备驱动是目标版本时,客户端的内核向网络块设备驱动对应的设备总线接口发送创建指令,以动态地创建网络块设备,即,
步骤S30,通过所述设备总线接口执行所述创建指令,在所述客户端的内核创建网络块设备。
客户端中设备总线接口执行网络块设备的创建的步骤,包括:
步骤b1,所述设备总线接口获取所述创建指令中的创建信息,所述客户端将所述创建信息写入到所述设备总线接口对应系统文件中;
步骤b2,执行包含所述创建信息的系统文件,在所述客户端的内核创建得到网络块设备。
客户端中设备总线接口获取创建指令中的创建信息,其中,创建信息包括:设备块标识、设备块大小和服务器标识(其中,服务器标识是指与创建网络块设备连接的服务器的标识信息,例如,服务器号码,或者主机IP);客户端将创建信息写入到设备总线接口对应系统文件中,客户端执行包含创建信息的系统文件,在客户端的内核创建得到网络块设备。
需要补充说明的是,系统文件与设备总线接口关联,系统文件中预先定义了需要的属性、添加接口、删除接口等。在设备总线接口中的添加接口、删除接口通过接收rbd-nbd的创建、删除nbd设备的命令,执行创建或删除网络块设备的操作。
步骤S40,在所述网络块设备创建完成时,所述客户端建立所述网络块设备与所述创建指令中服务器标识对应服务器的连接,以使所述客户端的应用程序使用所述网络块设备。
在客户端检测到网络块设备创建完成时,客户端获取创建信息中的服务器标识,客户端并建立网络块设备与该服务器标识对应服务器的连接,以使客户端的应用程序使用所述网络块设备。
在本实施例中客户端动态创建网络块设备,即,在网络块设备驱动加载到内核的时候,并不会提前创建任何的网络块设备。只有当客户端rbd-nbd启动的时候,客户端向内核发送一个命令让内核去创建一个网络块设备以供使用。有效地避免了由于创建固定数量的网络块设备,导致的网络块设备资源闲置,或者网络块设备不够用时,出现的重复设置加载网络块设备驱动的情况。
需要补充说明的是,在网络块设备创建完成以后,服务器将创建的网络块设备与服务器建立连接,并使用创建的网络块设备的步骤包括:1、在客户端接收到rbd-nbd进程发送的写入请求时,客户端获取写入请求对应的写入信息;2、客户端将写入信息发送到服务器,以使服务器将映射文件作为网络块设备发送至所述客户端;3、客户端接收服务器发送的网络块设备,并使用所述网络块设备。本实施例中客户端将创建的网络块设备进行使用,以提高网络块设备的资源利用率。
进一步地,在本发明第一实施例的基础上,提出了本发明网络块设备的创建方法的第二实施例。
本实施例是本发明第一实施例中步骤S10之后的步骤,本实施例与第一实施例的区别在于,本实施例中说明了在客户端中没有加载网络块设备驱动时,客户端进行网络块设备的创建的操作的步骤,包括:
步骤S50,在所述客户端没有加载网络块设备驱动时,所述客户端加载网络块设备驱动。
在客户端没有加载网络块设备驱动时,客户端进行网络块设备驱动加载的操作,具体地,包括:
步骤d1,在所述客户端没有加载网络块设备驱动时,所述客户端动态申请主设备块标识,并注册所述主设备块标识对应的设备总线接口;
步骤d2,在所述设备总线接口注册完成时,所述客户端将预定义的属性添加至所述设备总线接口对应的系统文件中,以完成网络块设备驱动的加载。
客户端没有加载网络块设备驱动时,客户端动态申请主设备块标识,其中,主设备块标识是指设备总线接口对应的标识信息,例如,设备总线接口编号,客户端注册主设备块标识对应的设备总线接口,并在设备总线接口注册完成时,客户端将预定义的属性添加至设备总线接口对应的系统文件中,以完成网络块设备驱动的加载。
也就是说,客户端首先在内核注册块设备(又叫设备总线接口),具体地,客户端动态申请主设备块标识,客户端获取了主设备块标识,然后,客户端初始化系统,注册一个主设备块标识对应的设备总线接口,以后所有动态新创建的网络块设备,都以这个设备总线接口为父节点。设备总线接口中预先定义了需要的属性,名字,以及添加、删除接口,在添加、删除接口里面,可以获取参数,执行创建或删除网络块设备。
步骤S60,在所述网络块设备驱动加载完成时,所述客户端的内核向所述网络块设备驱动对应的设备总线接口发送创建指令,通过所述设备总线接口执行所述创建指令,在所述客户端的内核创建网络块设备。
在客户端网络块设备驱动加载完成时,客户端的内核向网络块设备驱动对应的设备总线接口发送创建指令,客户端网络块设备驱动中设备总线接口获取创建指令中的创建信息,其中,创建信息包括:设备块标识、设备块大小和服务器标识(其中,服务器标识是指与创建网络块设备连接的服务器的标识信息,例如,服务器号码,或者主机IP);客户端将创建信息写入到设备总线接口对应系统文件中,客户端执行包含创建信息的系统文件,在客户端的内核创建得到网络块设备。
步骤S70,在所述网络块设备创建完成时,所述客户端建立所述网络块设备与所述创建指令中服务器标识对应服务器的连接,以使所述客户端的应用程序使用所述网络块设备。
在客户端检测到网络块设备创建完成时,客户端获取创建信息中的服务器标识,客户端并建立网络块设备与该服务器标识对应服务器的连接,以使客户端的应用程序使用所述网络块设备。
在本实施例中在客户端需要网络块设备时,客户端进行网络块驱动加载时注册设备总线接口,并通过网络块驱动对应的设备总线接口动态、灵活地创建网络块设备;有效地避免了由于创建固定数量的网络块设备,导致的网络块设备资源闲置,或者网络块设备不够用时,出现的重复设置加载网络块设备驱动的情况。
进一步地,在上述实施例的基础上,提出了本发明网络块设备的创建方法的第三实施例。
本实施例可以与本申请中的第一实施例结合,即,本实施例是第一实施例中步骤S40之后的步骤;本实施例还可以与本申请中的第二实施例结合,本实施例是第二实施例中步骤S70之后的步骤。
本实施例中说明了网络块设备的删除操作,即,本实施例中客户端可以对使用完成的网络块设备进行删除,以减少网络块设备资源的空闲率,所述网络块设备的创建方法包括:
步骤S80,在客户端接收到网络块设备删除指令时,获取所述网络块设备删除指令对应的设备块标识;
在客户端接收到网络块设备删除指令时,客户端获取网络块设备删除指令中携带的设备块标识,其中,设备块标识是指用于识别网络块设备的标识信息,例如网络块设备号,客户端可以按网络块设备标识进行网络块设备的删除操作。
网络块设备删除指令的触发方式不作具体限定,即,网络块设备删除指令可以是用户主动触发的,例如,用户在客户端输入:“删除空闲网络块设备”触发网络块设备删除指令;或者客户端自动触发网络块设备删除指令,例如,客户端中预先设置网络块设备删除条件:在网络块设备使用完成时自动删除网络块设备;在客户端中的网络块设备使用完成时,客户端判定符合预设的网络块设备删除条件,自动触发网络块设备删除指令。
步骤S90,所述客户端将所述设备块标识输入所述设备总线接口中,通过所述设备总线接口执行所述删除指令。
在客户端获取到网络块设备标识之后,客户端将获取的网络块设备标识输入所述设备总线接口中,通过所述设备总线接口执行删除指令。比如需要删除一个网络块设备的时候,将把这个网络块设备的序号写入设备总线接口对应的系统文件中,就会触发网络块设备的删除操作。网络块设备的序号对应的网络块设备就会被删除。在本实施例中客户端可以将空闲的网络块设备进行删除,有效地降低了网络块设备的资源闲置率。
此外,参照图3,本发明实施例还提出一种网络块设备的创建装置,所述网络块设备的创建装置包括:
驱动判断模块10,用于在客户端检测到rbd-nbd启动时,判断所述客户端是否已加载网络块设备驱动;
指令发送模块20,用于在所述客户端已加载网络块设备驱动时,所述客户端的内核向所述网络块设备驱动对应的设备总线接口发送创建指令;
设备创建模块30,用于通过所述设备总线接口执行所述创建指令,在所述客户端的内核创建网络块设备;
连接建立模块40,用于在所述网络块设备创建完成时,所述客户端建立所述网络块设备与所述创建指令中服务器标识对应服务器的连接,以使所述客户端的应用程序使用所述网络块设备。
可选地,所述指令发送模块20,包括:
获取判断单元,用于在所述客户端已加载网络块设备驱动时,所述客户端获取所述网络块设备驱动的版本信息,并根据所述版本信息判断所述网络块设备驱动是否为目标版本;
提示输出单元,用于在所述网络块设备驱动不是目标版本时,所述客户端输出提示信息,以提示所述客户端对应用户;
指令发送单元,用于在所述网络块设备驱动是目标版本时,所述客户端的内核向所述网络块设备驱动对应的设备总线接口发送创建指令。
可选地,所述设备创建模块30,包括:
获取写入单元,用于所述设备总线接口获取所述创建指令中的创建信息,所述客户端将所述创建信息写入到所述设备总线接口对应系统文件中,其中,所述创建信息包括:设备块标识、设备块大小和服务器标识;
设备创建单元,用于执行包含所述创建信息的系统文件,在所述客户端的内核创建得到网络块设备。
可选地,所述网络块设备的创建装置,包括:
请求接收模块,用于在所述客户端接收到rbd-nbd进程发送的写入请求时,获取所述写入请求对应的写入信息;
信息发送模块,用于所述客户端将所述写入信息发送到所述服务器,以使所述服务器将映射文件作为网络块设备发送至所述客户端;
发送使用模块,用于所述客户端接收所述服务器发送的网络块设备,并使用所述网络块设备。
可选地,所述网络块设备的创建装置,包括:
标识获取模块,用于在客户端接收到网络块设备删除指令时,获取所述网络块设备删除指令对应的设备块标识;
设备删除模块,用于所述客户端将所述设备块标识输入所述设备总线接口中,通过所述设备总线接口执行所述删除指令。
可选地,所述网络块设备的创建装置,包括:
驱动加载模块,用于在所述客户端没有加载网络块设备驱动时,所述客户端加载网络块设备驱动;
指令发送模块,用于在所述网络块设备驱动加载完成时,所述客户端的内核向所述网络块设备驱动对应的设备总线接口发送创建指令;
设备创建模块,用于通过所述设备总线接口执行所述创建指令,在所述客户端的内核创建网络块设备;
连接建立模块,用于在所述网络块设备创建完成时,所述客户端建立所述网络块设备与所述创建指令中服务器标识对应服务器的连接,以使所述客户端的应用程序使用所述网络块设备。
可选地,所述驱动加载模块,包括:
设备注册单元,用于在所述客户端没有加载网络块设备驱动时,所述客户端动态申请主设备块标识,并注册所述主设备块标识对应的设备总线接口;
驱动加载单元,用于在所述设备总线接口注册完成时,所述客户端将预定义的属性添加至所述设备总线接口对应的系统文件中,以完成网络块设备驱动的加载。
其中,网络块设备的创建装置的各个功能模块实现的步骤可参照本发明网络块设备的创建方法的各个实施例,此处不再赘述。
此外,本发明实施例还提出一种计算机存储介质。
所述计算机存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述实施例提供的网络块设备的创建方法中的操作。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体/操作/对象与另一个实体/操作/对象区分开来,而不一定要求或者暗示这些实体/操作/对象之间存在任何这种实际的关系或者顺序;术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
对于装置实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的。可以根据实际的需要选择中的部分或者全部模块来实现本发明方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (9)
1.一种网络块设备的创建方法,其特征在于,所述网络块设备的创建方法包括以下步骤:
在客户端检测到rbd-nbd启动时,判断所述客户端是否已加载网络块设备驱动;
在所述客户端已加载网络块设备驱动时,所述客户端获取所述网络块设备驱动的版本信息,并根据所述版本信息判断所述网络块设备驱动是否为目标版本;
在所述网络块设备驱动是目标版本时,所述客户端的内核向所述网络块设备驱动对应的设备总线接口发送创建指令;
通过所述设备总线接口执行所述创建指令,在所述客户端的内核创建网络块设备;
在所述网络块设备创建完成时,所述客户端建立所述网络块设备与所述创建指令中服务器标识对应服务器的连接,以使所述客户端的应用程序使用所述网络块设备。
2.如权利要求1所述的网络块设备的创建方法,其特征在于,所述在所述客户端已加载网络块设备驱动时,所述客户端获取所述网络块设备驱动的版本信息,并根据所述版本信息判断所述网络块设备驱动是否为目标版本的步骤之后,还包括:
在所述网络块设备驱动不是目标版本时,所述客户端输出提示信息,以提示所述客户端对应用户。
3.如权利要求1所述的网络块设备的创建方法,其特征在于,所述通过所述设备总线接口执行所述创建指令,在所述客户端的内核创建网络块设备的步骤,包括:
所述设备总线接口获取所述创建指令中的创建信息,所述客户端将所述创建信息写入到所述设备总线接口对应系统文件中,其中,所述创建信息包括:设备块标识、设备块大小和服务器标识;
执行包含所述创建信息的系统文件,在所述客户端的内核创建得到网络块设备。
4.如权利要求1所述的网络块设备的创建方法,其特征在于,所述在所述网络块设备创建完成时,所述客户端建立所述网络块设备与所述创建指令中服务器标识对应服务器的连接的步骤之后,包括:
在客户端接收到网络块设备删除指令时,获取所述网络块设备删除指令对应的设备块标识;
所述客户端将所述设备块标识输入所述设备总线接口中,通过所述设备总线接口执行所述网络块设备删除指令。
5.如权利要求1至4任意一项所述的网络块设备的创建方法,其特征在于,所述在客户端检测到rbd-nbd启动时,判断所述客户端是否已加载网络块设备驱动的步骤之后,包括:
在所述客户端没有加载网络块设备驱动时,所述客户端加载网络块设备驱动;
在所述网络块设备驱动加载完成时,所述客户端的内核向所述网络块设备驱动对应的设备总线接口发送创建指令;
通过所述设备总线接口执行所述创建指令,在所述客户端的内核创建网络块设备;
在所述网络块设备创建完成时,所述客户端建立所述网络块设备与所述创建指令中服务器标识对应服务器的连接,以使所述客户端的应用程序使用所述网络块设备。
6.如权利要求5所述的网络块设备的创建方法,其特征在于,所述在所述客户端没有加载网络块设备驱动时,所述客户端加载网络块设备驱动的步骤,包括:
在所述客户端没有加载网络块设备驱动时,所述客户端动态申请主设备块标识,并注册所述主设备块标识对应的设备总线接口;
在所述设备总线接口注册完成时,所述客户端将预定义的属性添加至所述设备总线接口对应的系统文件中,以完成网络块设备驱动的加载。
7.一种网络块设备的创建装置,其特征在于,所述网络块设备的创建装置包括:
驱动判断模块,用于在客户端检测到rbd-nbd启动时,判断所述客户端是否已加载网络块设备驱动;
指令发送模块,用于在所述客户端已加载网络块设备驱动时,所述客户端获取所述网络块设备驱动的版本信息,并根据所述版本信息判断所述网络块设备驱动是否为目标版本;
指令发送模块,还用于在所述网络块设备驱动是目标版本时,所述客户端的内核向所述网络块设备驱动对应的设备总线接口发送创建指令;
设备创建模块,用于通过所述设备总线接口执行所述创建指令,在所述客户端的内核创建网络块设备;
连接建立模块,用于在所述网络块设备创建完成时,所述客户端建立所述网络块设备与所述创建指令中服务器标识对应服务器的连接,以使所述客户端的应用程序使用所述网络块设备。
8.一种网络块设备的创建设备,其特征在于,所述网络块设备的创建设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其中:
所述计算机程序被所述处理器执行时实现如权利要求1至6中任一项所述的网络块设备的创建方法的步骤。
9.一种计算机存储介质,其特征在于,所述计算机存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至6中任一项所述的网络块设备的创建方法的步骤。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910484893.4A CN110336857B (zh) | 2019-06-03 | 2019-06-03 | 网络块设备的创建方法、装置、设备和存储介质 |
PCT/CN2019/101714 WO2020244058A1 (zh) | 2019-06-03 | 2019-08-21 | 网络块设备的创建方法、装置、设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910484893.4A CN110336857B (zh) | 2019-06-03 | 2019-06-03 | 网络块设备的创建方法、装置、设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110336857A CN110336857A (zh) | 2019-10-15 |
CN110336857B true CN110336857B (zh) | 2022-04-12 |
Family
ID=68140226
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910484893.4A Active CN110336857B (zh) | 2019-06-03 | 2019-06-03 | 网络块设备的创建方法、装置、设备和存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN110336857B (zh) |
WO (1) | WO2020244058A1 (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104516687A (zh) * | 2014-12-22 | 2015-04-15 | 中国科学院信息工程研究所 | 一种Linux块设备的Windows远程映射方法 |
CN106685981A (zh) * | 2017-01-13 | 2017-05-17 | 北京元心科技有限公司 | 多系统的数据加密传输方法及装置 |
CN108259569A (zh) * | 2017-12-25 | 2018-07-06 | 南京壹进制信息技术股份有限公司 | 一种基于ipsan共享存储的无代理连续数据保护方法 |
CN109033328A (zh) * | 2018-07-19 | 2018-12-18 | 郑州云海信息技术有限公司 | 一种访问请求处理方法、装置、设备及可读存储介质 |
CN109257377A (zh) * | 2018-11-02 | 2019-01-22 | 浪潮电子信息产业股份有限公司 | 一种块设备访问控制方法、装置及设备 |
CN109358818A (zh) * | 2018-10-30 | 2019-02-19 | 深圳润迅数据通信有限公司 | 一种数据中心的块设备io请求处理方法 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102918509B (zh) * | 2011-05-31 | 2014-06-04 | 华为技术有限公司 | 数据读写方法、装置和存储系统 |
US9652331B2 (en) * | 2013-10-24 | 2017-05-16 | Sas Institute Inc. | Techniques for creating a bootable image in a cloud-based computing environment |
CN103561101A (zh) * | 2013-11-06 | 2014-02-05 | 中国联合网络通信集团有限公司 | 一种网络文件系统 |
US9489534B2 (en) * | 2014-10-23 | 2016-11-08 | Northrop Grumman Systems Corporation | Multi-level security system for enabling secure file sharing across multiple security levels and method thereof |
CN105573819A (zh) * | 2015-12-11 | 2016-05-11 | 国云科技股份有限公司 | 一种直接通过宿主机获取虚拟机磁盘容量信息的方法 |
-
2019
- 2019-06-03 CN CN201910484893.4A patent/CN110336857B/zh active Active
- 2019-08-21 WO PCT/CN2019/101714 patent/WO2020244058A1/zh active Application Filing
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104516687A (zh) * | 2014-12-22 | 2015-04-15 | 中国科学院信息工程研究所 | 一种Linux块设备的Windows远程映射方法 |
CN106685981A (zh) * | 2017-01-13 | 2017-05-17 | 北京元心科技有限公司 | 多系统的数据加密传输方法及装置 |
CN108259569A (zh) * | 2017-12-25 | 2018-07-06 | 南京壹进制信息技术股份有限公司 | 一种基于ipsan共享存储的无代理连续数据保护方法 |
CN109033328A (zh) * | 2018-07-19 | 2018-12-18 | 郑州云海信息技术有限公司 | 一种访问请求处理方法、装置、设备及可读存储介质 |
CN109358818A (zh) * | 2018-10-30 | 2019-02-19 | 深圳润迅数据通信有限公司 | 一种数据中心的块设备io请求处理方法 |
CN109257377A (zh) * | 2018-11-02 | 2019-01-22 | 浪潮电子信息产业股份有限公司 | 一种块设备访问控制方法、装置及设备 |
Non-Patent Citations (1)
Title |
---|
Design and Implementation of Ceph Block Device in Userspace for Container Scenarios;Li Wang,Yunchuan Wen;《2016 International Symposium on Computer, Consumer and Control》;20160818;第383-386页 * |
Also Published As
Publication number | Publication date |
---|---|
WO2020244058A1 (zh) | 2020-12-10 |
CN110336857A (zh) | 2019-10-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20220100490A1 (en) | Firmware updating method, and electronic apparatus and storage media for same | |
WO2018040746A1 (zh) | 一种驱动程序的安装方法及装置、电子设备 | |
CN107577472B (zh) | 软件安装方法、装置及计算机可读存储介质 | |
CN109683967B (zh) | 固件支持方法、装置、移动终端及可读存储介质 | |
EP2784661B1 (en) | Computer program product, information processing method, and information processing apparatus | |
CN110321172B (zh) | 网络块设备的分区识别方法、装置、设备和存储介质 | |
KR20190109979A (ko) | 전자 장치 및 전자 장치의 업데이트 제어 방법 | |
CN107341007B (zh) | 显示终端及其定时开机方法、计算机可读存储介质 | |
CN110336857B (zh) | 网络块设备的创建方法、装置、设备和存储介质 | |
CN110336693B (zh) | 网络块设备的管理方法、装置、设备和存储介质 | |
CN113721936B (zh) | 一种应用管理方法及智能终端、装置及存储介质 | |
CN108600838B (zh) | Android电视的信源切换方法、装置、Android电视及可读存储介质 | |
CN114610446B (zh) | 一种自动注入探针的方法、装置及系统 | |
CN111124764A (zh) | 系统还原方法、智能电视及计算机存储介质 | |
CN107015874B (zh) | 数据传输控制方法、装置及终端 | |
CN113950034B (zh) | 蓝牙行为的模拟方法、装置和设备 | |
CN110321251B (zh) | 基于网络块设备的数据备份方法、装置、设备和存储介质 | |
CN107301089B (zh) | 一种app部署及调用方法和终端 | |
US20130290549A1 (en) | Method for managing network connection information and electronic device thereof | |
CN113422791B (zh) | 云服务配置方法和装置、电子设备以及计算机可读存储介质 | |
CN111726848B (zh) | 设备绑定方法、目标启动装置、固定终端及存储介质 | |
CN106155732B (zh) | 电视游戏控制器的加载方法和装置 | |
CN114721728A (zh) | 基于云应用的处理方法、电子设备和存储介质 | |
CN109032651B (zh) | 应用更新方法、智能终端及计算机可读存储介质 | |
CN112685102A (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 |