一种目标CLI的查询方法、查询系统及相关装置与流程

文档序号:16916488发布日期:2019-02-19 19:00阅读:228来源:国知局
一种目标CLI的查询方法、查询系统及相关装置与流程
本申请涉及存储系统领域,特别涉及一种目标cli的查询方法、查询系统、一种计算机可读存储介质和一种服务器。
背景技术
:存储集群设备在当今大数据时代扮演着不可或缺的角色,它是数据的载体,它保证数据的可靠性和安全性。存储集群设备需要维护人员进行维护,以保证设备的正常使用。在进行维护时,特别是资深维护人员,更倾向于使用cli(command-lineinterface,命令行接口)进行维护,因为使用cli更加快捷方便。然而,目前存储集群通常以数据对象类型为中心设计cli,以存储卷为例,对存储卷的增删改查等操作均设计成同一个cli,只是通过不同参数进行区分。而存储集群的操作通常有几十种,导致cli参数非常多,使得用户利用cli时必须先找到目标对象的cli,再从该cli的参数列表中寻找所需执行操作对应的操作,大大降低了寻找所需cli的效率,难以有效的查询,给设备的维护带来很大的麻烦。因此如何有效进行cli的查询是本领域技术人员亟需解决的问题。技术实现要素:本申请的目的是提供一种目标cli的查询方法、查询系统、一种计算机可读存储介质和一种服务器,解决现有的cli复杂带来的查询困难的问题。为解决上述技术问题,本申请提供一种目标cli的查询方法,其特征在于,包括:根据待执行操作确定所述目标cli的名称中的操作名称;根据所述待执行操作的执行对象确定所述目标cli的名称中的对象类型;根据所述操作名称和所述对象类型查询所述目标cli。其中,根据待执行操作确定所述目标cli的名称中的操作名称时还包括:获取所述操作名称的功能介绍信息。其中,当确认所述目标cli之后,还包括:根据所述目标cli的输出类型确定对应的输出格式;所述输出类型包括错误输出、创建类输出、查询类输出、其他输出。其中,当所述目标cli为所述查询类输出时,还包括:利用分割参数、标题参数、显示参数中的一项或任意几项对所述目标cli进行参数调整。本申请还提供一种目标cli的查询系统,包括:第一确定模块,用于根据待执行操作确定所述目标cli的名称中的操作名称;第二确定模块,用于根据所述待执行操作的执行对象确定所述目标cli的名称中的对象类型;查询模块,用于根据所述操作名称和所述对象类型查询所述目标cli。其中,还包括:获取模块,用于获取所述操作名称的功能介绍信息。其中,还包括:第三确定模块,用于根据所述目标cli的输出类型确定对应的输出格式;所述输出类型包括错误输出、创建类输出、查询类输出、其他输出。其中,当所述目标cli为所述查询类输出时,还包括:调整模块,用于利用分割参数、标题参数、显示参数中的一项或任意几项对所述目标cli进行参数调整。本申请还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的查询方法的步骤。本申请还提供一种服务器,包括存储器和处理器,所述存储器中存有计算机程序,所述处理器调用所述存储器中的计算机程序时实现如上所述的查询方法的步骤。本申请所提供的一种目标cli的查询方法,包括:根据待执行操作确定所述目标cli的名称中的操作名称;根据所述待执行操作的执行对象确定所述目标cli的名称中的对象类型;根据所述操作名称和所述对象类型查询所述目标cli。本申请通过将cli的操作名称和执行对象直接在cli的名称中体现,无需用户在使用cli时刻意记住相应的cli名称,使得用户很容易查询到所需cli。并且,本申请中即使同一执行对象的不同操作也为不同的cli,减少了cli参数内容,更无须查询cli的参数列表,方便用户遍寻,提高用户查询cli的效率,便于用户尤其是维护人员使用,进一步提高存储设备的维护效率和使用效率。本申请还提供一种目标cli的查询系统、一种计算机可读存储介质和一种服务器,具有上述有益效果,此处不再赘述。附图说明为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。图1为本申请实施例所提供的一种目标cli的查询方法的流程图;图2为本申请实施例所提供的一种目标cli的查询系统结构示意图。具体实施方式为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。请参考图1,图1为本申请实施例所提供的一种目标cli的查询方法的流程图,该查询方法可以如下:s101:根据待执行操作确定所述目标cli的名称中的操作名称;本步骤旨在说明存储集群中cli的名称中包括操作名称。目标cli可以为任意一个用户可能用到的cli。在此对于操作的种类不作限定,具体可以见表1,表1为操作的操作名称、英文全称和含义(中文名称)。可以理解的是,表1中仅为操作的一部分名称,还可以有其他操作,在此不一一举例限定。通常,操作名称中应包含所有种类的存储集群涉及的操作。当然在实际应用中,可根据自己需要扩展出其它“操作名称”,本发明不做限制。表1操作的操作名称、英文全称和含义操作名称英文全称含义addadd增加analyzeanalyze分析appapply应用bkbackup备份cancelcancel取消cfgconfig配置chchange修改cpcopy拷贝deldelete删除disabledisable使不能enableenable使能够expandexpand扩容lslist查询migratemigrate迁移mkmake创建mvmove移除recoverrecover恢复repairrepair修复resetreset重设setset设置shrinkshrink缩容startstart开始stopstop停止testtest测试triggertrigger触发upgradeupgrade升级由上表可以看出,根据待执行操作确定对应的操作名称,例如需要进行设置时,即确定操作名称为“set”。s102:根据所述待执行操作的执行对象确定所述目标cli的名称中的对象类型;本步骤旨在说明,cli的名称中除了操作名称以外,还包括对象类型。可以理解的是,不同的对象哪怕同样的操作,其过程也是不同的。因此有必要确定待执行操作的对象类型。对象类型表示存储集群中不同类别的对象,如磁盘、raid、卷、池、主机等。需要注意的是,由于不同存储集群中这些“对象类型”可能取的名字不同(例如有些存储集群中以“lun”表示卷,有些以“vdisk”表示卷,也有些以“volume”表示卷),因此本发明不做具体限定。综合s101和s102可以看出,本实施例中cli的名称包括操作名称和对象类型。如果以lun表示卷,则创建、修改、拷贝、删除、查询卷的cli可分别表示为“mklun”、“chlun”、“cplun”、“dellun”、“lslun”,以其它单词表示卷时,可类似给出对应的cli的名称。当然,对于操作名称和对象类型之外的其他内容不作限定,例如还可以包括cli的参数。同样的,对于cli的名称的格式亦不作限定,例如操作名称和对象类型之间可以存在空格、加号等形式以起到区分二者的作用。特别需要说明的是,对于同一对象的不同操作均存在相应的独立cli。区别于现有技术中同一对象中不同操作以cli参数的形式写入cli,本实施例大大减少了cli的参数,使得cli比较简单,便于用户查询。当然,还可以将表1中的诸多操作划分为几类操作,例如,按照“增加”“删除”“修改”“调整”“其他”进行分类,更加能便于用户查询。s103:根据所述操作名称和所述对象类型查询所述目标cli。在确定操作名称和对象类型之后即可确定需要操作的cli。本实施例通过将cli的操作名称和执行对象在cli的名称中体现,无需用户在使用cli时刻意记住相应的cli名称,使得用户很容易查询到所需cli。并且,本实施例中即使同一执行对象的不同操作也为不同的cli,减少了cli参数内容,方便用户遍寻,提高用户查询cli的效率,便于用户尤其是维护人员使用,进一步提高存储设备的维护效率和使用效率。基于上述实施例,作为优选的实施例,根据待执行操作确定所述目标cli的名称中的操作名称时还可以包括:获取所述操作名称的功能介绍信息。本实施例旨在用户需要确定操作名称时,为用户提供操作名称的功能介绍信息。在此对于功能介绍信息的具体内容不作限定,具体应以可以令用户明确操作内容为目的。优选的,功能介绍信息可以包括简单帮助信息和详细帮助信息。简单帮助信息内容可以包括:cli功能简介和cli格式(包括cli参数及参数间互斥、依赖关系);详细帮助信息内容可以包括:cli功能说明、cli格式、cli参数及参数说明、cli输出说明、输出中各字段说明、cli输入输出示例等。因为一个存储集群设备的cli很多,用户不可能记住所有cli,但“操作名”不是很多,容易被记住,因此本实施例为每个“操作名”提供一个帮助信息,帮助信息显示此操作名为前缀的cli名及其简介(用一句话表示)。举例而言:mklun-创建卷mkhost-创建逻辑主机对象mkippartnership-使用ip链接定义伙伴关系当选中“mk”时,可以给出了操作名“mk”的帮助信息示例。这样用户需要创建一个对象时,执行“mk”操作的帮助信息,能够很容易查到所需的cli。基于上述实施例,作为优选的实施例,s103之后,还可以包括:根据所述目标cli的输出类型确定对应的输出格式;所述输出类型包括错误输出、创建类输出、查询类输出、其他输出。对于cli输出,本实施例将cli输出分类:查询类输出、创建类输出、其他输出、错误输出。错误输出:显示错误码、错误描述、修复建议,格式可以如下:error(${错误码}):${错误描述}修复建议:${修复建议}其中“${}”表示变量,${错误描述}与${修复建议}可以分别使用一句话进行描述,不可换行,${错误码}:0标识成功,非0标识失败。创建类输出:因为创建一个对象时,往往由用户指定对象名(有时甚至采用默认对象名),但对象名可能不能唯一标识这个对象,因此创建后需要返回创建对象的标识,因此创建类输出格式设计可以如下:error(0):操作执行成功。对象标识:${对象标识}其他输出:此类操作包括除查询和创建之外的操作,此时用户一般关心操作是否执行成功,而不关心其它,因此输出格式设计可以如下:error(0):操作执行成功。查询类输出:为提供简单输出,本实施例设计两种形式的输出格式:详细输出、简单输出。查询某类所有对象时,采用简单输出。简单输出以表格形式呈现,第一行为标题,其余每行表示一个对象的各主要属性值,表格每列表示对象的某类属性。格式如下:查询单个对象时,采用详细输出。详细输出以列表形式呈现,左侧为标题列,右侧为对象属性值,整个输出表示一个对象,对应简单输出中一行。简单输出中显示对象的主要属性值,而详细输出中显示对象的所有属性值。格式可以如下:title1obj_attr1_valtitle2obj_attr2_valtitle3obj_attr3_valtitle4obj_attr4_valtitle5obj_attr5_val……可以理解的是,上述各种输出的格式均为本实施例提出的一种优选的输出格式,在本实施例的基础上,还可以存在其他格式的输出,在此不一一举例限定,均应在本申请的保护范围内。进一步的,在上一实施例的基础上,当所述目标cli为所述查询类输出时,还包括:利用分割参数、标题参数、显示参数中的一项或任意几项对所述目标cli进行参数调整。为方便解析和查看,本实施例为查询类cli设计公共参数:分割参数sep、标题参数nohdr、显示参数bytes。分割参数sep存在参数值,其参数值为单个字符,表示输出结果中的分割符(第三方软件调用cli时,通过分隔符,很容易分割出cli输出中的各字段);标题参数nohdr不存在参数值,存在此参数时将不显示标题,否则显示标题;显示参数bytes不存在参数值,存在此参数时,关于容量的属性值以字节显示(第三方软件执行cli时使用,因为字节数据是精确值,而带单位的容量值不够精确),否则显示适当的容量单位(用户直接执行cli查看时使用,因为带容量的值比较直观)。本实施例旨在说明可以利用cli参数对cli进行调整,上文中的各个参数均为典型的参数实例,除此之外,还可以利用其他参数对cli进行参数调整,在此不一一限定。本实施例在上述实施例的基础上,通过简单的cli输出,既方便用户查看,也方便第三方程序进行统一解析。下面对本申请实施例提供的一种目标cli的查询系统进行介绍,下文描述的查询系统与上文描述的查询方法可相互对应参照。参见图2,图2为本申请实施例所提供的一种目标cli的查询系统结构示意图,本申请还提供一种目标cli的查询系统,包括:第一确定模块100,用于根据待执行操作确定所述目标cli的名称中的操作名称;第二确定模块200,用于根据所述待执行操作的执行对象确定所述目标cli的名称中的对象类型;查询模块300,用于根据所述操作名称和所述对象类型查询所述目标cli。基于上述实施例,作为优选的实施例,所述查询系统还可以包括:获取模块,用于获取所述操作名称的功能介绍信息。基于上述实施例,作为优选的实施例,所述查询系统还可以包括:第三确定模块,用于根据所述目标cli的输出类型确定对应的输出格式;所述输出类型包括错误输出、创建类输出、查询类输出、其他输出。基于上述实施例,作为优选的实施例,当所述目标cli为所述查询类输出时,所述查询系统还可以包括:调整模块,用于利用分割参数、标题参数、显示参数中的一项或任意几项对所述目标cli进行参数调整。本申请还提供了一种计算机可读存储介质,其上存有计算机程序,该计算机程序被执行时可以实现上述实施例所提供的一种目标cli的查询方法的步骤。该存储介质可以包括:u盘、移动硬盘、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。本申请还提供了一种服务器,可以包括存储器和处理器,所述存储器中存有计算机程序,所述处理器调用所述存储器中的计算机程序时,可以实现上述实施例所提供的一种目标cli的查询方法的步骤。当然所述服务器还可以包括各种网络接口,电源等组件。说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例提供的系统而言,由于其与实施例提供的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想。应当指出,对于本
技术领域
的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1