[发明专利]NVMe设备调试功能实现方法、装置、设备及存储介质有效
申请号: | 202110899143.0 | 申请日: | 2021-08-06 |
公开(公告)号: | CN113342590B | 公开(公告)日: | 2021-10-29 |
发明(设计)人: | 杨立志;苑忠科 | 申请(专利权)人: | 苏州浪潮智能科技有限公司 |
主分类号: | G06F11/22 | 分类号: | G06F11/22;G06F11/263;G06F9/54 |
代理公司: | 北京集佳知识产权代理有限公司 11227 | 代理人: | 温可睿 |
地址: | 215100 江苏省苏州市吴*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | nvme 设备 调试 功能 实现 方法 装置 存储 介质 | ||
1.一种统一存储系统中的NVMe设备调试功能实现方法,其特征在于,包括:
预先创建调试业务处理线程、客户端输入进程和共享内存;所述调试业务处理线程用于执行NVMe设备调试功能业务;所述客户端输入进程用于将客户端输入信息写入至所述共享内存,并从所述共享内存读取命令执行结果;
预先利用Python语言创建用于基于NVMe协议将输入指令生成NVMe标准命令的nvm脚本文件;当调用所述nvm脚本文件生成所述NVMe标准命令,通过接口获得所述输入指令对应的NVMe标准命令,并提示用户输入目标环境;
当检测到客户端发送标准NVMe请求,将从所述共享内存读取的NVMe标准命令发送至NVMe设备;所述NVMe标准命令为将通过提示用户所输入的参数信息进行组装后所生成;
将所述NVMe设备返回的命令执行结果写入至所述共享内存中,并通过从所述共享内存中读取所述命令执行结果进行调试结果反馈;
其中,所述调用所述nvm脚本文件生成所述NVMe标准命令包括:
当检测到所述nvm脚本文件成功启动,向所述客户端展示所需输入的NVMe命令;若同目录下存在与所述NVMe命令同名的目标Python模块,导入所述目标Python模块;通过实例化所述目标Python模块中的对象将所述NVMe命令需要的参数提示给用户;根据用户输入响应的参数完成对应NVMe命令的组装,生成所述NVMe标准命令。
2.根据权利要求1所述的统一存储系统中的NVMe设备调试功能实现方法,其特征在于,创建共享内存,包括:
调用所述调试业务处理线程创建请求共享内存及对应的请求信号量、回复共享内存及其对应的回复信号量。
3.根据权利要求2所述的统一存储系统中的NVMe设备调试功能实现方法,其特征在于,所述当检测到客户端发送标准NVMe请求,将从所述共享内存读取的NVMe标准命令发送至NVMe设备,包括:
当检测到所述客户端发送标准NVMe请求,调用所述客户端输入进程将所述标准NVMe请求对应的NVMe标准命令及目标对象标识写入至所述请求共享内存,并触发所述请求信号量;
当所述调试业务处理线程检测到所述请求信号量,从所述请求共享内存中读取所述NVMe标准命令及目标对象;
基于所述目标对象,将所述NVMe标准命令发送至NVMe设备。
4.根据权利要求2所述的统一存储系统中的NVMe设备调试功能实现方法,其特征在于,所述将所述NVMe设备返回的命令执行结果写入至所述共享内存中,并通过从所述共享内存中读取所述命令执行结果进行调试结果反馈,包括:
将所述NVMe设备的返回值及所述命令执行结果写入至所述回复共享内存,同时触发所述回复信号量;
当所述客户端输入进程检测到所述回复信号量,从所述回复共享内存中读取所述命令执行结果;
调用所述客户端输入进程将所述命令执行结果写入标准数据或指定目标文件中。
5.根据权利要求1所述的统一存储系统中的NVMe设备调试功能实现方法,其特征在于,预先创建客户端输入进程,所述提示用户输入目标环境之后,还包括:
若所述目标环境为本地,启动所述客户端输入进程,并将所述NVMe标准命令通过系统调用传递给所述客户端输入进程。
6.根据权利要求1所述的统一存储系统中的NVMe设备调试功能实现方法,其特征在于,预先创建客户端输入进程,所述提示用户输入目标环境之后,还包括:
若所述目标环境为远程地址,通过Python fabric库执行目标机上的客户端输入进程传入所述NVMe标准命令,并获取返回结果。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于苏州浪潮智能科技有限公司,未经苏州浪潮智能科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110899143.0/1.html,转载请声明来源钻瓜专利网。