CN105353975B - 一种存储设备管理的方法及装置 - Google Patents
一种存储设备管理的方法及装置 Download PDFInfo
- Publication number
- CN105353975B CN105353975B CN201510641472.XA CN201510641472A CN105353975B CN 105353975 B CN105353975 B CN 105353975B CN 201510641472 A CN201510641472 A CN 201510641472A CN 105353975 B CN105353975 B CN 105353975B
- Authority
- CN
- China
- Prior art keywords
- management
- code
- command
- bulk
- storage array
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
- G06F3/0634—Configuration or reconfiguration of storage systems by changing the state or mode of one or more devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开了一种存储设备管理方法及装置,当用户需要对存储阵列中的多个子设备执行批量管理操作时,该方法包括:通过管理软件客户端的第一预设工作台界面输出管理代码模板,并接收用户输入的基于所述管理代码模板生成的管理代码;解析所述管理代码,确定实现所述批量管理操作中每个操作的命令函数,并根据所述参数信息和所述命令函数生成与所述批量管理操作的次数对应条数的基本命令;将所述基本命令发送到根据所述参数信息从所述多个子存储设备中确定的所述批量管理操作所对应的操作对象。本发明公开的方法及装置解决现有存储阵列的配置和管理过程复杂耗时长的问题。
Description
技术领域
本发明涉及电子技术领域,尤其涉及一种存储设备管理的方法及装置。
背景技术
随着存储阵列在企业中的推广与普及,客户的场景也爆发式增长。而存储管理方式主要分为两种:存储厂商内置的管理软件;或者,存储厂商提供标准的管理接口,由客户自研发管理软件调用存储设备接口进行管理。
无论是存储厂商内置的管理软件还是客户自研发管理软件(包括人机界面(如:图形用户界面(Graphical User Interface,GUI))或者命令行执行器),只能按照管理软件提供的界面进行逐个配置。管理模式固定,死板。存储设备的安装部署过程中安装人员除了物理器件的连线更多时间需要用于开局配置。
受到以上技术的限制,当遇到以下场景时,配置过程会非常复杂、繁琐;例如:
设备初始安装部署,需要将所有软硬件管理对象(逻辑单元号(Logical UnitNumber,LUN)、主机、端口、盘等)从头配置一遍,配置过程复杂、零散;
业务要求存在数量巨大的管理对象(例如上千个LUN或者业务主机);
对某类对象的管理,存在大量的重复操作。例如某个客户想针对某个存储资源池(StoragePool)中的所有LUN扩容一倍,删除VMWare业务(名称含有“VMWare”的所有业务)使用的所有LUN等;
现有技术的技术方案中,对于上述繁杂的配置过程都是由管理软件通过人机界面逐个对象操作;命令行管理窗口逐个命令运行。现有技术中对某个Pool(id为0)中的所有LUN容量修改成原容量2倍,例如该Pool(0)中存在10个LUN通过命令行执行该操作流程如图1所示。根据图1所示的流程可知:
在图1所示的流程中,首先用户根据PoolID查询Pool(0)中的所有LUN(例如:查询确定pool中有10个LUN),然后逐个修改10个LUN的容量。
可见现有技术中存储阵列的配置和管理过程,所有操作都是单一、孤立的,没有任何关系,需要人为一步一步执行。所以会导致存储阵列的配置和管理过程繁杂且耗时。
发明内容
本发明提供一种存储设备管理的方法及装置,本发明所提供的方法及装置解决现有存储阵列的配置和管理过程复杂耗时长的问题。
第一方面,提供一种存储设备管理方法,当用户需要对存储阵列中的多个子设备执行批量管理操作时,该方法包括:
通过管理软件客户端的第一预设工作台界面输出管理代码模板,并接收用户输入的基于所述管理代码模板生成的管理代码;其中,所述管理代码模板用于指示编写所述管理代码所使用的程序命令以及执行批量管理操作所需的参数信息;
解析所述管理代码,确定实现所述批量管理操作中每个操作的命令函数,并根据所述参数信息和所述命令函数生成与所述批量管理操作的次数对应条数的基本命令;其中,所述基本命令是所述存储阵列能够识别的基本命令;
将所述基本命令发送到根据所述参数信息从所述多个子存储设备中确定的所述批量管理操作所对应的操作对象。
结合第一方面,在第一种可能的实现方式中,通过管理软件客户端的第一预设工作台界面用于输出管理代码模板之前,包括:
根据用户输入的选择信息确定输出第一预设工作台界面或第二预设工作台界面,其中,该第二预设工作台界面用于接收对所述存储阵列中多个子设备进行一次操作的管理代码。
结合第一方面或第一方面的第一种可能的实现方式,在第二种可能的实现方式中,所述解析所述管理代码包括:
检测所述管理代码中的条件判断和循环执行,并条件判断和循环执行确定所述批量管理操作所对应的多个操作。
结合第一方面,或者第一方面的第一至二种可能的实现方式中的任意一种,在第三种可能的实现方式中,生成与所述批量管理操作的次数对应条数的基本命令之前,该方法进一步包括:
生成与所述批量管理操作的次数对应条数且为executeCLI格式的命令;其中,所述executeCLI格式的命令为预先设置的用于隔离编程逻辑和设备管理命令的函数,且每个executeCLI格式的命令的参数为所述基本命令。
结合第一方面第一可能的实现方式或第二种可能的实现方式,在第四种可能的实现方式中,根据所述参数信息从所述确定所述批量管理操作所对应的操作对象包括:
根据所述参数信息中的操作对象特征信息从所述存储阵列中的多个子设备中确定所述操作对象。
第二方面,提供一种存储设备管理装置,当用户需要对存储阵列中的多个子设备执行批量管理操作时,该装置包括:
交互模块,用于通过第一预设工作台界面输出管理代码模板,并接收用户输入的基于所述管理代码模板生成的管理代码;其中,所述管理代码模板用于指示编写所述管理代码所使用的程序命令以及执行批量管理操作所需的参数信息;
解析模块,用于解析所述管理代码,确定实现所述批量管理操作中每个操作的命令函数,并根据所述参数信息和所述命令函数生成与所述批量管理操作的次数对应条数的基本命令;其中,所述基本命令是所述存储阵列能够识别的基本命令;
发送模块,用于将所述基本命令发送到根据所述参数信息从所述多个子存储设备中确定的所述批量管理操作所对应的操作对象。
结合第二方面,在第一种可能的实现方式中,该装置还包括:
选择模块,用于根据用户输入的选择信息确定输出第一预设工作台界面或第二预设工作台界面,其中,该第二预设工作台界面用于接收对所述存储阵列中多个子设备进行一次操作的管理代码。
结合第二方面或第一方面的第一种可能的实现方式,在第二种可能的实现方式中,所述解析模块具体用于检测所述管理代码中的条件判断和循环执行,并条件判断和循环执行确定所述批量管理操作所对应的多个操作。
结合第二方面,或者第二方面的第一至二种可能的实现方式中的任意一种,在第三种可能的实现方式中,该装置还包括:
过渡模块,用于生成与所述批量管理操作的次数对应条数且为executeCLI格式的命令;其中,所述executeCLI格式的命令为预先设置的用于隔离编程逻辑和设备管理命令的函数,且每个executeCLI格式的命令的参数为所述基本命令。
结合第二方面第一可能的实现方式或第二种可能的实现方式,在第四种可能的实现方式中,发送模块具体用于根据所述参数信息中的操作对象特征信息从所述存储阵列中的多个子设备中确定所述操作对象。
第三方面,提供一种存储阵列,该存储阵列中包括:
多个子存储设备;
处理器,用于通过第一预设工作台界面输出管理代码模板,并接收用户输入的基于所述管理代码模板生成的管理代码;解析所述管理代码,确定实现所述批量管理操作中每个操作的命令函数,并根据所述参数信息和所述命令函数生成与所述批量管理操作的次数对应条数的基本命令;将所述基本命令发送到根据所述参数信息从所述多个子存储设备中确定的所述批量管理操作所对应的操作对象;其中,所述管理代码模板用于指示编写所述管理代码所使用的程序命令以及执行批量管理操作所需的参数信息;所述基本命令是所述存储阵列能够识别的基本命令。
上述技术方案中的一个或两个,至少具有如下技术效果:
本发明实施例所提供的方法和装置中,以存储设备基本管理命令为基础,结合通用编程语言的逻辑能力。通过输入具有批量操作功能的管理代码使得管理存储阵列中各子设备的装置能够支持批量操作,从而使得存储阵列的管理方式更加灵活,简单;并有效的减少了存储阵列的配置和管理所花费的时间。
附图说明
图1为现有技术中对存储阵列的多个子设备进行配置设置的流程示意图;
图2为本发明实施例提供的一种存储设备管理方法的流程示意图;
图3为本发明实施例提供的一种存储设备管理装置的结构示意图;
图4为本发明实施例提供的方法应用到实际环境中的方法流程示意图;
图5为本发明实施例提供的方法应用到实际环境中的处理逻辑视图;
图6为本发明实施例提供的一种存储阵列的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例一
如图2所示,本发明实施例提供一种存储设备管理方法,当用户需要对存储阵列中的多个子设备执行批量管理操作时,该方法包括:
步骤201,通过管理软件客户端的第一预设工作台界面输出管理代码模板,并接收用户输入的基于所述管理代码模板生成的管理代码;其中,所述管理代码模板用于指示编写所述管理代码所使用的程序命令以及执行批量管理操作所需的参数信息;
现有技术中,用户如果要对存储阵列中的子设备执行管理操作,需要针对每一个操作输入对应的基础命令;例如:对十个LUN进行扩容,则需要输入十条管理代码分别对十个LUN进行扩容操作。根据本实施例提供的方法,用户可以根据管理代码模板,输入一次管理代码,管理存储阵列中各子设备的装置解析该条管理代码后,可以自动生成对十个LUN进行扩容的基础命令。
例如对id为0的Pool中所有LUN容量进行扩容,将每个LUN的容量扩大为原容量的2倍,该实例中以JavaScript编程语言进行举例说明:
步骤202,解析所述管理代码,确定实现所述批量管理操作中每个操作的命令函数;
在该实施例中,解析所述管理代码的具体实现可以是包括:检测所述管理代码中的条件判断和循环执行,并条件判断和循环执行确定所述批量管理操作所对应的多个操作。
如步骤201中的举例,对上述实例中提供的程序进行解析可以确定,用户需要对id为0的Pool中的所有LUN进行处理,所以具体执行时首先遍历所有LUN确定该pool中的LUN,然后确定需要执行的处理是扩容,扩容所需要调整的参数是2倍。
步骤203,根据所述参数信息和所述命令函数生成与所述批量管理操作的次数对应条数的基本命令;其中,所述基本命令是所述存储阵列能够识别的基本命令;
如步骤202所示实例,可以确定用户输入的管理代码是需要对LUN进行扩容,则可以调用扩容的命令函数change lun。如果某一LUN的情况为NAME:LUN001;ID:1;CAPACITY:10240,则根据解析之后生成的基本命令可以是:
change lun lun_id=1 capacity=20480
另外,为了实现用户输入的管理代码与设备原始的基础命令之间实现转换,在生成与所述批量管理操作的次数对应条数的基本命令之前,该方法进一步包括:
生成与所述批量管理操作的次数对应条数且为executeCLI格式的命令;其中,所述executeCLI格式的命令为预先设置的用于隔离编程逻辑和设备管理命令的函数,且每个executeCLI格式的命令的参数为所述基本命令。
步骤204,将所述基本命令发送到根据所述参数信息从所述多个子存储设备中确定的所述批量管理操作所对应的操作对象。
具体的根据所述参数信息从所述确定所述批量管理操作所对应的操作对象的方式可以是:
根据所述参数信息中的操作对象特征信息从所述存储阵列中的多个子设备中确定所述操作对象。
如果进行批量操作的对象有一定的相似之处,如步骤201的举例(对某一pool中的LUN进行扩容),则可以在输入的管理代码中直接通过根据所以操作对象的共同特征管理装置直接搜索到所有的操作对象;另外,如果操作对象之间没有共同特征,则可以在输入管理代码时,输入每个操作对象的特定特征,从而使得管理模块根据特定特征确定管理操作对应的操作对象。
在该实施例中,为了兼容直接输入基础命令的情况,还提供选择输入方式界面,则通过管理软件客户端的第一预设工作台界面用于输出管理代码模板之前,该方法还可以包括:
根据用户输入的选择信息确定输出第一预设工作台界面或第二预设工作台界面,其中,该第二预设工作台界面用于接收对所述存储阵列中多个子设备进行一次操作的管理代码。
本发明实施例所提供的方法中,以存储设备基本管理命令为基础,结合通用编程语言的逻辑能力。通过输入具有批量操作功能的管理代码使得管理存储阵列中各子设备的装置能够支持批量操作,使得存储阵列的管理方式更加灵活,简单;并有效的减少了存储阵列的配置和管理所花费的时间。
实施例二
如图3所示,基于上述方法,本发明实施例提供一种存储设备管理装置,当用户需要对存储阵列中的多个子设备执行批量管理操作时,该装置包括:
交互模块301,用于通过第一预设工作台界面输出管理代码模板,并接收用户输入的基于所述管理代码模板生成的管理代码;其中,所述管理代码模板用于指示编写所述管理代码所使用的程序命令以及执行批量管理操作所需的参数信息;
解析模块302,用于解析所述管理代码,确定实现所述批量管理操作中每个操作的命令函数,并根据所述参数信息和所述命令函数生成与所述批量管理操作的次数对应条数的基本命令;其中,所述基本命令是所述存储阵列能够识别的基本命令;
该解析模块302具体用于检测所述管理代码中的条件判断和循环执行,并条件判断和循环执行确定所述批量管理操作所对应的多个操作。
发送模块303,用于将所述基本命令发送到根据所述参数信息从所述多个子存储设备中确定的所述批量管理操作所对应的操作对象。
其中,该发送模块具体用于根据所述参数信息中的操作对象特征信息从所述存储阵列中的多个子设备中确定所述操作对象。
可选的,该装置还包括:
选择模块,用于根据用户输入的选择信息确定输出第一预设工作台界面或第二预设工作台界面,其中,该第二预设工作台界面用于接收对所述存储阵列中多个子设备进行一次操作的管理代码。
可选的,该装置还包括:
过渡模块,用于生成与所述批量管理操作的次数对应条数且为executeCLI格式的命令;其中,所述executeCLI格式的命令为预先设置的用于隔离编程逻辑和设备管理命令的函数,且每个executeCLI格式的命令的参数为所述基本命令。
实施例三
以下结合具体的使用环境对本发明实施例所提供的方案做进一步详细的说明;
一,在具体的使用环境中实现本发明方案所涉及的装置包括:
管理软件客户端(Management Client),可以在该客户端中内置管理工作台(Script Development Workbench),通过该工作平台可接收用户输入的管理代码;
管理软件服务端(Management Server),该服务端中内置语言解析引擎(ScriptEngine),和命令行解析引擎(CLIEngine);其中:
ScriptEngine向上对接用户输入,向下对接CLIEngine。能够识别用户所编写的代码,解析用户的批量操作,并将批量操作解析为内部可执行的多个基础命令;
CLIEngine向上对接ScriptEngine,接收来自于ScriptEngine的执行结果;向下对接存储阵列中的各子设备,将ScriptEngine运行的逻辑结果解析成子设备可识别命令;
存储设备(StorageDevice),对管理软件提供基本的管理接口;供ScriptEngine调用;该StorageDevice中包括存储子设备对外提供的管理接口(Management Interface)和LUN、资源池(Pool)、文件系统(FileSystem)等;其中,Management Interface可以实现对子设备的管理和配置。
二、基于上述使用环境中的装置结构,本发明所提供的方法具体实现流程可以是(方法流程如图4所示,基于上述装置的处理逻辑视图如图5所示):
A,管理软件客户端接收用户通过工作台界面输入的编写管理流程、批量执行等场景的代码;当管理客户端接收到确认开始执行该流程;将开始执行的消息发送给管理软件服务端的ScriptEngine模块;同时管理软件客户端将用户编写的代码(可以为JavaScript、Python等标准的编程语言)通过消息机制发送给管理软件服务端的程序解析引擎ScriptEngine;
B,ScriptEngine将用户编写的管理代码进行解析,将生成的多个executeCLI(***)发送给CLIEngine;
执行(例如条件判断、循环执行等编程逻辑)。最终生产多个executeCLI(***)格式的结果。在该实例中,executeCLI为预置用于隔离编程逻辑和子设备管理命令的函数。其参数为存储阵列对外暴露的标准的管理接口。executeCLI本身内置于标准编程语言逻辑当中,做为一个函数被其它函数所调用。
C,CLIEngine将每一个executeCLI(***)格式的内容直接转换成存储阵列可识别的基础命令,并发送到存储阵列;
D,存储阵列上的对应子设备执行CLIEngine发送来的管理命令,最终实现用户对子设备的管理。
三、结合上述一和二所提供的具体情况,下面以具体的实例对本发明提供的方案进行说明:对id为0的Pool中所有LUN容量进行扩容,将每个LUN的容量扩大为原容量的2倍,该实例中以JavaScript编程语言进行举例说明:
1)用户输入的管理代码可以是:
2)解析上述管理代码的方式如下:
管理代码的第一部分:var luns=executeCLI(“show lun general pool_id=0“)具体含义为:
show lun general pool_id=0为存储阵列对外提供的基本管理接口;查询Pool(0)中的所有LUN;
executeCLI为ScriptEngine内置的用于执行存储阵列基本命令的函数,其参数为基本命令;
luns为编程语言中的基本数组变量,成员元素为单个LUN信息,例如Pool(0)中有10个LUN那么luns的值为:
[{NAME:LUN001,ID:1,CAPACITY:10240},
{NAME:LUN002,ID:2,CAPACITY:20480},
{NAME:LUN003,ID:3,CAPACITY:20480},
{NAME:LUN004,ID:4,CAPACITY:20480},
{NAME:LUN005,ID:5,CAPACITY:20480},
{NAME:LUN006,ID:6,CAPACITY:20480},
{NAME:LUN007,ID:7,CAPACITY:20480},
{NAME:LUN008,ID:8,CAPACITY:20480},
{NAME:LUN009,ID:9,CAPACITY:20480},
{NAME:LUN0010,ID:10,CAPACITY:10240}]。
管理代码的第二部分:for(var index=0;index<luns.length;index++){
lun=luns[index];
//通过设备命令行修改LUN的容量为原来的2倍
executeCLI(“change lun lun_id=”+lun.id+“capacity=”+2*lun.capacity);
}
具体含义为:
change lun lun_id=”+lun.id+“capacity=”+2*lun.capacity为存储阵列对外提供的基本管理接口。表示修改某个LUN容量为新容量;
通过循环luns数组的方式将每个LUN元素转换成独立、批量的基本命令:
executeCLI(“change lun lun_id=1 capacity=20480”);
executeCLI(“change lun lun_id=2 capacity=409600”);
executeCLI(“change lun lun_id=3 capacity=409600”);
executeCLI(“change lun lun_id=4 capacity=409600”);
executeCLI(“change lun lun_id=5 capacity=409600”);
executeCLI(“change lun lun_id=6 capacity=409600”);
executeCLI(“change lun lun_id=7 capacity=409600”);
executeCLI(“change lun lun_id=8 capacity=409600”);
executeCLI(“change lun lun_id=9 capacity=409600”);
executeCLI(“change lun lun_id=10 capacity=20480”);
3)CLIEngine通过识别executeCLI函数组装存储阵列能够识别的基本命令,将命令逐个下发到存储阵列。
change lun lun_id=1 capacity=20480;
change lun lun_id=2 capacity=409600;
change lun lun_id=3 capacity=409600;
change lun lun_id=4 capacity=409600;
change lun lun_id=5 capacity=409600;
change lun lun_id=6 capacity=409600;
change lun lun_id=7 capacity=409600;
change lun lun_id=8 capacity=409600;
change lun lun_id=9 capacity=409600;
change lun lun_id=10 capacity=20480;
在上述实施例中都是以对LUN进行扩容做的举例说明,但本发明实施例所提供的方案并不局限于对LUN进行扩容,只要是对存储阵列中各子设备进行的批量操作都可以通过本发明实施例所提供的方法实现,具体的实现思路相同,在此不再赘述。
实施例四
如图6所示,本实施例还提供一种存储阵列,该存储阵列中包括:
多个子存储设备601;
在该实施例中,子存储设备可以是LUN、资源池(Pool)、文件系统(FileSystem)等。并且子存储设备可以提供统一的接口(即管理接口)用于实现处理器与各子存储设备之间的连接。
处理器602,用于通过第一预设工作台界面输出管理代码模板,并接收用户输入的基于所述管理代码模板生成的管理代码;解析所述管理代码,确定实现所述批量管理操作中每个操作的命令函数,并根据所述参数信息和所述命令函数生成与所述批量管理操作的次数对应条数的基本命令;将所述基本命令发送到根据所述参数信息从所述多个子存储设备中确定的所述批量管理操作所对应的操作对象;其中,所述管理代码模板用于指示编写所述管理代码所使用的程序命令以及执行批量管理操作所需的参数信息;所述基本命令是所述存储阵列能够识别的基本命令。
本申请实施例中的上述一个或多个技术方案,至少具有如下的技术效果:
本发明实施例所提供的方法和装置中,以存储设备基本管理命令为基础,结合通用编程语言的逻辑能力。通过输入具有批量操作功能的管理代码使得管理存储阵列中各子设备的装置能够支持批量操作,从而使得存储阵列的管理方式更加灵活,简单;并有效的减少了存储阵列的配置和管理所花费的时间。
本发明所述的方法并不限于具体实施方式中所述的实施例,本领域技术人员根据本发明的技术方案得出其它的实施方式,同样属于本发明的技术创新范围。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (11)
1.一种存储设备管理方法,其特征在于,当用户需要对存储阵列中的多个子设备执行批量管理操作时,该方法包括:
通过管理软件客户端的第一预设工作台界面输出管理代码模板,并接收用户输入的基于所述管理代码模板生成的管理代码;其中,所述管理代码模板用于指示编写所述管理代码所使用的程序命令以及执行批量管理操作所需的参数信息;
解析所述管理代码,确定实现所述批量管理操作中每个操作的命令函数,并根据所述参数信息和所述命令函数生成与所述批量管理操作的次数对应条数的基本命令;其中,所述基本命令是所述存储阵列能够识别的基本命令;
将所述基本命令发送到根据所述参数信息从所述多个子存储设备中确定的所述批量管理操作所对应的操作对象。
2.如权利要求1所述的方法,其特征在于,通过管理软件客户端的第一预设工作台界面用于输出管理代码模板之前,包括:
根据用户输入的选择信息确定输出第一预设工作台界面或第二预设工作台界面,其中,该第二预设工作台界面用于接收对所述存储阵列中多个子设备进行一次操作的管理代码。
3.如权利要求1或2所述的方法,其特征在于,所述解析所述管理代码包括:
检测所述管理代码中的条件判断代码和循环执行代码,并根据所述条件判断代码和所述循环执行代码确定所述批量管理操作所对应的多个操作。
4.如权利要求1或2所述的方法,其特征在于,生成与所述批量管理操作的次数对应条数的基本命令之前,该方法进一步包括:
生成与所述批量管理操作的次数对应条数且为executeCLI格式的命令;其中,所述executeCLI格式的命令为预先设置的用于隔离编程逻辑和设备管理命令的函数,且每个executeCLI格式的命令的参数为所述基本命令。
5.如权利要求1或2所述的方法,其特征在于,根据所述参数信息从所述确定所述批量管理操作所对应的操作对象包括:
根据所述参数信息中的操作对象特征信息从所述存储阵列中的多个子设备中确定所述操作对象。
6.一种存储设备管理装置,其特征在于,当用户需要对存储阵列中的多个子设备执行批量管理操作时,该装置包括:
交互模块,用于通过第一预设工作台界面输出管理代码模板,并接收用户输入的基于所述管理代码模板生成的管理代码;其中,所述管理代码模板用于指示编写所述管理代码所使用的程序命令以及执行批量管理操作所需的参数信息;
解析模块,用于解析所述管理代码,确定实现所述批量管理操作中每个操作的命令函数,并根据所述参数信息和所述命令函数生成与所述批量管理操作的次数对应条数的基本命令;其中,所述基本命令是所述存储阵列能够识别的基本命令;
发送模块,用于将所述基本命令发送到根据所述参数信息从所述多个子存储设备中确定的所述批量管理操作所对应的操作对象。
7.如权利要求6所述的装置,其特征在于,该装置还包括:
选择模块,用于根据用户输入的选择信息确定输出第一预设工作台界面或第二预设工作台界面,其中,该第二预设工作台界面用于接收对所述存储阵列中多个子设备进行一次操作的管理代码。
8.如权利要求6或7所述的装置,其特征在于,所述解析模块具体用于检测所述管理代码中的条件判断代码和循环执行代码,并根据所述条件判断代码和所述循环执行代码确定所述批量管理操作所对应的多个操作。
9.如权利要求6或7所述的装置,其特征在于,该装置还包括:
过渡模块,用于生成与所述批量管理操作的次数对应条数且为executeCLI格式的命令;其中,所述executeCLI格式的命令为预先设置的用于隔离编程逻辑和设备管理命令的函数,且每个executeCLI格式的命令的参数为所述基本命令。
10.如权利要求6或7所 述的装置,其特征在于,发送模块具体用于根据所述参数信息中的操作对象特征信息从所述存储阵列中的多个子设备中确定所述操作对象。
11.一种存储阵列,其特征在于,该存储阵列中包括:
多个子存储设备;
处理器,用于通过第一预设工作台界面输出管理代码模板,并接收用户输入的基于所述管理代码模板生成的管理代码,其中,所述管理代码模板用于指示编写所述管理代码所使用的程序命令以及执行批量管理操作所需的参数信息;解析所述管理代码,确定实现所述批量管理操作中每个操作的命令函数,并根据所述参数信息和所述命令函数生成与所述批量管理操作的次数对应条数的基本命令;将所述基本命令发送到根据所述参数信息从所述多个子存储设备中确定的所述批量管理操作所对应的操作对象;其中,所述基本命令是所述存储阵列能够识别的基本命令。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510641472.XA CN105353975B (zh) | 2015-09-30 | 2015-09-30 | 一种存储设备管理的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510641472.XA CN105353975B (zh) | 2015-09-30 | 2015-09-30 | 一种存储设备管理的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105353975A CN105353975A (zh) | 2016-02-24 |
CN105353975B true CN105353975B (zh) | 2018-08-21 |
Family
ID=55329954
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510641472.XA Active CN105353975B (zh) | 2015-09-30 | 2015-09-30 | 一种存储设备管理的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105353975B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111522291A (zh) * | 2020-04-28 | 2020-08-11 | 同方泰德国际科技(北京)有限公司 | 一种可编程控制方法及可编程控制器 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102629235A (zh) * | 2012-03-01 | 2012-08-08 | 重庆中天重邮通信技术有限公司 | 一种提高ddr存储器读写速率的方法 |
CN202931387U (zh) * | 2012-11-16 | 2013-05-08 | 宝德科技集团股份有限公司 | 一种服务器远程批量操作系统 |
CN104731641A (zh) * | 2013-12-19 | 2015-06-24 | 国际商业机器公司 | 用于复制计算系统的批量作业的方法与系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104221040A (zh) * | 2012-01-31 | 2014-12-17 | Ips株式会社 | 便携终端管理服务器及便携终端管理程序 |
-
2015
- 2015-09-30 CN CN201510641472.XA patent/CN105353975B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102629235A (zh) * | 2012-03-01 | 2012-08-08 | 重庆中天重邮通信技术有限公司 | 一种提高ddr存储器读写速率的方法 |
CN202931387U (zh) * | 2012-11-16 | 2013-05-08 | 宝德科技集团股份有限公司 | 一种服务器远程批量操作系统 |
CN104731641A (zh) * | 2013-12-19 | 2015-06-24 | 国际商业机器公司 | 用于复制计算系统的批量作业的方法与系统 |
Also Published As
Publication number | Publication date |
---|---|
CN105353975A (zh) | 2016-02-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9870205B1 (en) | Storing logical units of program code generated using a dynamic programming notebook user interface | |
US10318595B2 (en) | Analytics based on pipes programming model | |
WO2014179819A2 (en) | Software design pattern for adapting a graph database visualization software | |
US9940224B2 (en) | Automatic remote execution of an application | |
US10977309B2 (en) | Methods and systems for creating networks | |
EP3446440A1 (en) | Multi-stage network discovery | |
CN102841841A (zh) | 一种测试中的断言处理方法及系统 | |
US20100082954A1 (en) | Configuration rule prototyping tool | |
CN103995698A (zh) | 一种面向业务的应用表单敏捷开发方法及系统 | |
CN113378091B (zh) | 一种可视化项目生成方法、装置、电子设备及存储介质 | |
US10852800B1 (en) | Multi-modal power control | |
CN109507991B (zh) | 一种双轴伺服控制平台调试系统及方法 | |
CN114691780A (zh) | 数据同步方法、装置、电子设备以及存储介质 | |
CN105353975B (zh) | 一种存储设备管理的方法及装置 | |
US8539496B1 (en) | Method and apparatus for configuring network systems implementing diverse platforms to perform business tasks | |
US9063744B2 (en) | Modifying a file written in a formal language | |
CN103678383A (zh) | 一种数据处理方法及电子设备 | |
WO2015141150A1 (ja) | ソースコード生成装置、ソースコード生成方法、及び、記録媒体 | |
JP7217325B2 (ja) | ネットワークオペレータ処理方法、装置、電子デバイス、記憶媒体及びプログラム | |
US10545729B2 (en) | Computer program interface | |
KR20220121680A (ko) | 딥러닝 네트워크 구성 방법, 딥러닝 자동화 플랫폼 서비스 시스템 및 이를 위한 컴퓨터 프로그램 | |
CN112130841B (zh) | Sql开发方法、装置及终端设备 | |
CN112988139A (zh) | 事件处理文件的开发方法与装置 | |
CN113010161A (zh) | 视图转换方法、视图转换装置和存储介质 | |
CN111191057A (zh) | 一种自定义检索方法、装置、电子设备及其存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |