本发明涉及异步处理领域,尤其涉及一种cli命令行处理方法及装置。
背景技术:
随着计算机技术的快速发展,数字化信息已经逐步取代纸媒数据,海量数据随之产生,而海量数据催生了云计算、大数据和海量存储系统的发展,对存储设备和存储应用的需求也越来越高,cli命令行的同步串行处理已经无法满足云平台对存储设备和存储应用等的需求。
技术实现要素:
本发明针对目前需求以及现有技术发展的不足之处,提供一种cli命令行处理方法及其装置,通过同时对多个用户同时下发的多个cli命令行进行处理,实现了cli命令行的并行处理的异步架构,采用cli命令行注册机制来记录cli命令行初始化注册阶段时保存的cli命令行id和cli命令行handle,为cli命令行进行对应handle查询和处理做好准备工作。
为了实现上述目的,本发明采用以下的技术方案:
一种cli命令行处理方法,包括以下步骤:
对多个用户同时下发的多个cli命令行进行参数解析及封装;
对封装后的多个cli命令行进行参数传输;
对传输后的多个cli命令行进行参数解析,查询其注册时对应的handle;
对handle对应的cli命令行进行处理。
优选地,在对多个用户同时下发的多个cli命令行进行参数解析及封装之前,还包括:用户下发cli命令行;校验下发的cli命令行是否合语法,若是,则对cli命令行进行参数解析及封装,若否,则输出错误信息,结束处理。
优选地,对传输后的多个cli命令行进行参数解析,查询其注册时对应的handle,包括:对传输后的cli命令行进行参数解析,得到cli命令行id;根据cli命令行id查询对应cli命令行注册时的handle。
优选地,对handle对应的cli命令行进行处理,包括:对handle对应的cli命令行进行处理;处理后给出针对对应cli命令行的回应;对回应进行封装。
优选地,对封装后的多个cli命令行进行参数传输,包括:前台将封装后的cli命令行传输至后台。
优选地,对传输后的多个cli命令行进行参数解析,查询其注册时对应的handle,包括:对传输后的cli命令行进行参数解析,得到cli命令行id;根据cli命令行id查询对应cli命令行注册时的handle。
优选地,在对handle对应的cli命令行进行处理之后,还包括:后台将封装后的回应传输至前台;对给出的针对cli命令行的封装过的回应进行解析并转换为字符串格式;将转换为字符串格式的回应输出给用户。
本发明还提供了基于上述的一种cli命令行处理方法的一种cli命令行处理装置,包括:
cli解析封装模块,用于对多个用户同时下发的多个cli命令行进行参数解析及封装;
数据传输模块,用于对封装后的多个cli命令行进行参数传输;
cli解析查询模块,用于对传输后的多个cli命令行进行参数解析,查询其注册时对应的handle;
命令行handle处理模块,用于对handle对应的cli命令行进行处理。
优选地,还包括:
用户接口模块,用于用户下发cli命令行;
校验模块,用于校验下发的cli命令行是否合语法,若是,则对cli命令行进行参数解析及封装,若否,则输出错误信息,结束处理。
优选地,数据传输模块,进一步包括:
命令行传输模块,用于前台将封装后的cli命令行传输至后台;
回应传输模块,用于后台将封装后的回应传输至前台。
优选地,还包括:回应解析转换模块,用于对给出的针对cli命令行的封装过的回应进行解析并转换为字符串格式。
优选地,还包括:控制端口模块,用于将转换为字符串格式的回应输出给用户。
本发明的有益效果:
1.本发明通过同时对多个用户同时下发的多个cli命令行进行处理,实现了cli命令行的并行处理的异步架构;
2.本发明采用cli命令行注册机制来记录cli命令行初始化注册阶段时保存的cli命令行id和cli命令行handle,为cli命令行进行对应handle查询做好准备工作,也提供了良好的新增cli命令行扩展性,为后续代码维护带来便利。
附图说明
图1为本发明一种cli命令行处理方法的流程示意图之一。
图2为本发明一种cli命令行处理装置的结构示意图之一。
图3为本发明一种cli命令行处理方法的流程示意图之二。
图4为本发明一种cli命令行处理装置的结构示意图之二。
具体实施方式
为了便于理解,对本发明中出现的部分名词作以下解释说明:
cli:是指可在用户提示符下键入可执行指令的界面,它通常不支持鼠标,用户通过键盘输入命令行,计算机接收到命令行后,予以执行。
request:request为解析封装模块与解析处理模块之间进行数据协商的数据结构,主要包括cli命令行类型、cli命令行id、cli命令行选项描述等,request结构可以完整的描述cli命令行各方面信息。
handle:cli命令行异步处理函数,用来实现并行处理多个用户同时下发的多个cli命令行。
下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述:
实施例一:
如图1所示,本发明的一种cli命令行处理方法,包括以下步骤:
步骤S101,用户下发cli命令行。
步骤S102,校验下发的cli命令行是否合语法,若是,则对cli命令行进行参数解析及封装,若否,则输出错误信息,结束处理。
步骤S103,对cli命令行进行参数解析及封装。
步骤S104,对封装后的cli命令行进行参数传输,前台将封装后的cli命令行传输至后台。
步骤S105,对传输后的cli命令行进行参数解析,得到cli命令行id。
步骤S106,根据cli命令行id查询对应cli命令行注册时对应的handle。
步骤S107,对handle对应的cli命令行进行处理。
步骤S108,处理后给出对cli命令行的回应。
步骤S109,对给出的回应进行封装。
步骤S110,后台将封装后的回应传输至前台。
步骤S111,对给出的针对cli命令行的封装过的回应进行解析并转换为字符串格式。
步骤S112,将转换为字符串格式的回应输出给用户。
作为一种可实施的方式,本实施例中的对cli命令行进行封装的方式为request结构封装。
实施例二:
如图2所示,本发明的一种cli命令行处理装置,包括用户接口模块201、校验模块202、cli解析封装模块203、数据传输模块中的命令行传输模块204、cli解析查询模块205、命令行handle处理模块206、数据传输模块中的回应传输模块207、回应解析转换模块208和控制端口模块209,用户接口模块201依次连接校验模块202、cli解析封装模块203、数据传输模块中的命令行传输模块204、cli解析查询模块205、命令行handle处理模块206、数据传输模块中的回应传输模块207、回应解析转换模块208和控制端口模块209。
用户接口模块201,用于用户下发cli命令行;校验模块202,用于校验下发的cli命令行是否合语法,若是,则对cli命令行进行参数解析及封装,若否,则输出错误信息,结束处理;cli解析封装模块203,用于对多个用户同时下发的多个cli命令行进行参数解析及封装;数据传输模块中的命令行传输模块204,用于对封装后的多个cli命令行进行参数传输;cli解析查询模块205,用于对传输后的多个cli命令行进行参数解析,查询其注册时对应的handle;命令行handle处理模块206,用于对handle对应的cli命令行进行处理;数据传输模块中的回应传输模块207,用于后台将封装后的回应传输至前台;回应解析转换模块208,用于对给出的针对cli命令行的封装过的回应进行解析并转换为字符串格式;控制端口模块209,用于将转换为字符串格式的回应输出给用户。
实施例三:
如图3所示,本发明的另一种cli命令行处理方法,包括以下步骤:
步骤S301,对多个用户同时下发的多个cli命令行进行参数解析及封装;
步骤S302,对封装后的多个cli命令行进行参数传输;
步骤S303,对传输后的多个cli命令行进行参数解析,查询其注册时对应的handle;
步骤S304,对handle对应的cli命令行进行处理。
实施例四:
如图4所示,本发明的另一种cli命令行处理装置,包括cli解析封装模块401、数据传输模块402、cli解析查询模块403和命令行handle处理模块404,cli解析封装模块401依次连接数据传输模块402、cli解析查询模块403和命令行handle处理模块404。
cli解析封装模块401,用于对多个用户同时下发的多个cli命令行进行参数解析及封装;数据传输模块402,用于对封装后的多个cli命令行进行参数传输;cli解析查询模块403,用于对传输后的多个cli命令行进行参数解析,查询其注册时对应的handle;命令行handle处理模块404,用于对handle对应的cli命令行进行处理。
以上所示仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。