一种网络块设备的数据传输方法、装置、储存介质及计算设备与流程

未命名 09-12 阅读:53 评论:0


1.本发明涉及一种网络块设备的数据传输方法、装置、储存介质及计算设备,属于openbmc虚拟媒体软件技术领域。


背景技术:

2.目前openbmc的虚拟媒体软件采用nbd协议通过两种方式实现,第一种方式为使用浏览器与bmc(基板管理控制器)之间建立单个文件的nbd(网络块设备)链接。第二种方式是下载单独的虚拟媒体软件建立nbd连接,这种方式支持多种文件格式访问,如昆仑bmc虚拟媒体软件。
3.当前openbmc的虚拟媒体功能的通用性比较差。主流网页实现方式只能支持单个块设备文件访问,如iso镜像文件,不支持u盘,硬盘,文件夹等块设备文件的访问。如需要实现块设备文件支持,则需要下载独立的虚拟媒体软件。由于linux平台和windows平台对块设备文件管理方法上的差异,需要为每一种平台准备不同版本的软件供用户下载使用,这种方法比较浪费bmc闪存空间并且在用户使用和开发人员维护上带来不少麻烦。


技术实现要素:

4.本发明的目的在于克服现有技术中的不足,提供一种网络块设备的数据传输方法、装置、储存介质及计算设备,具有跨平台特性,可以根据不同操作系统、传输设备类型动态选择合适的读写设备的方法进行数据传输。
5.为达到上述目的/为解决上述技术问题,本发明是采用下述技术方案实现的:
6.第一方面,一种网络块设备的数据传输方法,包括:
7.接收来自nbd客户端的数据请求后,获取当前操作系统类型及待传输文件类型;
8.根据当前操作系统的类型和待传输文件类型,将待传输文件进行数据格式打包处理;
9.将已打包的待传输文件发送至nbd客户端。
10.进一步地,在接收来自nbd客户端的数据请求前,还需进行用户数据解析。
11.更进一步地,所述用户数据解析的方法包括:
12.获取bmc用户信息,所述bmc用户信息包括用户名,密码,ip地址;
13.验证bmc用户信息与预设信息是否匹配。
14.更进一步地,所述用户数据解析的方法还包括:
15.获取待传输的设备文件路径信息,所述待传输的设备文件路径信息包括待传输设备的在位情况、用户权限信息和读写权限信息;
16.验证待传输的设备文件路径信息与预设信息是否匹配,若存在不匹项,则输出相应的错误代码。
17.进一步地,所述根据当前操作系统的类型和待传输文件类型,将待传输文件进行数据格式打包处理的方法包括:
18.对于linux系统的所有块设备文件和windows系统的普通块文件,使用java标准io库方法对待传输文件进行数据读写;
19.对于windows系统中硬盘、u盘块设备文件,使用java的filesystemview库方法对待传输文件进行数据读写;
20.打包已读写的数据。
21.进一步地,将已打包的待传输文件发送至nbd客户端前,还需对已打包的待传输文件进行ssl加密处理。
22.第二方面,一种网络块设备的数据传输装置,包括:
23.获取模块,用于在接收来自nbd客户端的数据请求后,获取当前操作系统类型及待传输文件类型;
24.读写模块,用于根据当前操作系统的类型和待传输文件类型,将待传输文件进行数据格式打包处理;
25.传输模块,用于将已打包的待传输文件发送至nbd客户端。
26.第三方面,一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述方法的步骤。
27.第四方面,一种计算设备,包括:
28.一个或多个处理器、存储器以及一个或多个程序,其中一个或多个程序存储在所述存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个程序包括用于执行上述方法中的任一方法的指令。
29.与现有技术相比,本发明所达到的有益效果:
30.本发明在收来自nbd客户端的数据请求后,通过获取当前操作系统类型及待传输文件类型,并根据当前操作系统及待传输文件的类型将待传输文件进行数据格式打包处理,具有跨平台特性,可以根据不同操作系统、传输设备类型动态选择合适的读写设备的方法进行数据传输,解决了当前不同操作平台在与块设备进行数据传输时,浪费bmc闪存空间并且为用户使用及开发人员维护带来不便的问题。
附图说明
31.图1是本发明实施例提供的一种网络块设备的数据传输方法的流程图。
具体实施方式
32.下面结合附图对本发明作进一步描述。以下实施例仅用于更加清楚地说明本发明的技术方案,而不能以此来限制本发明的保护范围。
33.实施例1
34.如图1所示,一种网络块设备的数据传输方法,包括:
35.接收来自nbd客户端的数据请求后,获取当前操作系统类型及待传输文件类型,具体的,使用java中properties库提供的方法获取当前操作系统类型,使用java中的system库提供的方法获取需要传输文件的类型;
36.根据当前操作系统的类型和待传输文件类型将待传输文件进行数据格式打包处理,具体的:对于linux系统的所有块设备文件和windows系统的普通块设备文件,windows
系统的普通块设备文件为iso镜像文件,使用java标准io库方法对待传输文件进行数据读写;
37.对于windows系统中硬盘、u盘块设备文件,使用java的filesystemview库方法对待传输文件进行数据读写;
38.打包已读写的数据,并对已打包的待传输文件进行ssl加密处理;
39.将进行ssl加密处理后的已打包的待传输文件发送至nbd客户端。
40.在接收来自nbd客户端的数据请求前,还需进行用户数据解析;具体的:
41.获取bmc用户信息,bmc用户信息包括用户名,密码,ip地址;
42.验证bmc用户信息与预设信息是否匹配;
43.获取待传输的设备文件路径信息,待传输的设备文件路径信息包括待传输设备的在位情况、用户权限信息和读写权限信息;
44.验证待传输的设备文件路径信息与预设信息是否匹配,若存在不匹项,则输出相应的错误代码;
45.当bmc用户信息、用户权限信息与预设信息匹配时,才能接收来自nbd客户端的数据请求。
46.实施例2
47.一种网络块设备的数据传输装置,包括:
48.获取模块,用于在接收来自nbd客户端的数据请求后,获取当前操作系统类型及待传输文件类型;
49.传输模块,用于根据当前操作系统的类型将待传输文件进行数据格式打包,将已打包的待传输文件发送至nbd客户端。
50.实施例3
51.第三方面,一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现以下方法的步骤:
52.接收来自nbd客户端的数据请求后,获取当前操作系统类型及待传输文件类型;
53.根据当前操作系统的类型和待传输文件类型,将待传输文件进行数据格式打包处理;
54.将已打包的待传输文件发送至nbd客户端。
55.实施例4
56.第四方面,一种计算设备,包括:
57.一个或多个处理器、存储器以及一个或多个程序,其中一个或多个程序存储在存储器中并被配置为由一个或多个处理器执行,一个或多个程序包括用于执行以下方法中的任一方法的指令:
58.接收来自nbd客户端的数据请求后,获取当前操作系统类型及待传输文件类型;
59.根据当前操作系统的类型和待传输文件类型,将待传输文件进行数据格式打包处理;
60.将已打包的待传输文件发送至nbd客户端。
61.以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变形,这些改进和变形
也应视为本发明的保护范围。

技术特征:
1.一种网络块设备的数据传输方法,其特征在于,包括:接收来自nbd客户端的数据请求后,获取当前操作系统类型及待传输文件类型;根据当前操作系统的类型和待传输文件类型,将待传输文件进行数据格式打包处理;将已打包的待传输文件发送至nbd客户端。2.根据权利要求1所述的网络块设备的数据传输方法,其特征在于,在接收来自nbd客户端的数据请求前,还需进行用户数据解析。3.根据权利要求2所述的网络块设备的数据传输方法,其特征在于,所述用户数据解析的方法包括:获取bmc用户信息,所述bmc用户信息包括用户名,密码,ip地址;验证bmc用户信息与预设信息是否匹配。4.根据权利要求2所述的网络块设备的数据传输方法,其特征在于,所述用户数据解析的方法还包括:获取待传输的设备文件路径信息,所述待传输的设备文件路径信息包括待传输设备的在位情况、用户权限信息和读写权限信息;验证待传输的设备文件路径信息与预设信息是否匹配,若存在不匹项,则输出相应的错误代码。5.根据权利要求1所述的网络块设备的数据传输方法,其特征在于,所述根据当前操作系统的类型和待传输文件类型,将待传输文件进行数据格式打包处理的方法包括:对于linux系统的所有块设备文件和windows系统的普通块文件,使用java标准io库方法对待传输文件进行数据读写;对于windows系统中硬盘、u盘块设备文件,使用java的filesystemview库方法对待传输文件进行数据读写;打包已读写的数据。6.根据权利要求1所述的网络块设备的数据传输方法,其特征在于,将已打包的待传输文件发送至nbd客户端前,还需对已打包的待传输文件进行ssl加密处理。7.一种网络块设备的数据传输装置,其特征在于,包括:获取模块,用于在接收来自nbd客户端的数据请求后,获取当前操作系统类型及待传输文件类型;读写模块,用于根据当前操作系统的类型和待传输文件类型,将待传输文件进行数据格式打包处理;传输模块,用于将已打包的待传输文件发送至nbd客户端。8.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现权利要求1~6任一项所述方法的步骤。9.一种计算设备,其特征在于,包括:一个或多个处理器、存储器以及一个或多个程序,其中一个或多个程序存储在所述存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个程序包括用于执行根据权利要求1~6所述的方法中的任一方法的指令。

技术总结
本发明公开了一种网络块设备的数据传输方法、装置、储存介质及计算设备,属于OpenBMC虚拟媒体软件技术领域,包括:接收来自NBD客户端的数据请求后,获取当前操作系统类型及待传输文件类型;根据当前操作系统的类型和待传输文件类型,将待传输文件进行数据格式打包处理;将已打包的待传输文件发送至NBD客户端。本发明在收来自NBD客户端的数据请求后,通过获取当前操作系统类型及待传输文件类型,并根据当前操作系统及待传输文件的类型将待传输文件进行数据格式打包处理,具有跨平台特性,可以根据不同操作系统、传输设备类型动态选择合适的读写设备的方法进行数据传输。适的读写设备的方法进行数据传输。适的读写设备的方法进行数据传输。


技术研发人员:丁琳 姚子平 曹泽轩
受保护的技术使用者:无锡先进技术研究院
技术研发日:2023.07.13
技术公布日:2023/9/9
版权声明

本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

航空之家 https://www.aerohome.com.cn/

飞机超市 https://mall.aerohome.com.cn/

航空资讯 https://news.aerohome.com.cn/

分享:

扫一扫在手机阅读、分享本文

相关推荐