CN109597774B - 一种存储设备功能的控制方法、装置及设备 - Google Patents
一种存储设备功能的控制方法、装置及设备 Download PDFInfo
- Publication number
- CN109597774B CN109597774B CN201710923304.9A CN201710923304A CN109597774B CN 109597774 B CN109597774 B CN 109597774B CN 201710923304 A CN201710923304 A CN 201710923304A CN 109597774 B CN109597774 B CN 109597774B
- Authority
- CN
- China
- Prior art keywords
- processed
- storage device
- server
- identifier
- processing request
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/10—Program control for peripheral devices
- G06F13/102—Program control for peripheral devices where the programme performs an interfacing function, e.g. device driver
Abstract
本申请实施例公开了一种存储设备功能的控制方法、装置及设备,涉及存储技术领域,所述方法包括:服务器接收客户端发送的第一处理请求,服务器根据第一处理请求中包含的待处理对象的标识确定存储待处理对象的存储设备。服务器查询并向客户端发送操作列表,所述操作列表包括存储设备对待处理对象进行功能操作的功能标识;服务器接收客户端发送的第二处理请求,第二处理请求包括客户端接收用户根据操作列表输入的存储设备对待处理对象进行功能操作的功能标识;服务器将第二处理请求发送给存储设备。由于本申请不用区分功能标识的类型,也就是存储设备功能的类型,服务器的兼容性好,有利于提升服务器集中纳管的能力。
Description
技术领域
本申请实施例涉及存储技术领域,尤其涉及一种存储设备功能的控制方法、装置及设备。
背景技术
目前,企业的数据中心或者云数据中心都是由多套存储设备组成的,而这些存储设备可能来自不同的厂商,属于不同的设备类型,具有不同的功能特性。对这样的多个存储设备的功能进行控制的方式有两种:一种是“独立管理”的控制方式,即针对每一个存储设备的功能,采用专用的控制设备进行控制管理。这样的控制方式,占用的控制设备多,并且操作复杂。另一种是“集中纳管”的控制方式,即采用统一的控制设备对多个存储设备的功能进行统一的控制管理。
如图1a所示,现有的具备“集中纳管”控制方式的控制系统包括客户端11、控制设备 12和多个存储设备13。控制设备12用于将客户端11发送的操作请求发送给具备用于处理所述操作请求的操作功能的任一存储设备13。其中,控制设备12中存储有多个专用应用程序编程接口(Application Programming Interface,API)进程。专用API进程用于查找具备用于处理所述操作请求的操作功能的任一存储设备13。发送操作请求给具备用于处理所述操作请求的操作功能的任一存储设备13的过程为,客户端11接收用户输入的操作命令后生成操作请求,所述操作请求包括操作类型的标识,操作类型的标识唯一标识一项操作功能。客户端11 发送所述操作请求给控制设备12。控制设备12根据操作类型的标识查找与该操作类型对应的专用API进程。控制设备12根据与该操作类型对应的专用API进程调用具备用于处理所述操作请求的操作功能的任一存储设备13的驱动进程,根据驱动进程将该操作请求转换成符合所述任一存储设备13的接口格式的请求,然后将转换后的请求发送给该任一存储设备13,由该任一存储设备13执行该操作请求。
可见,若需要对控制系统中已有的任一存储设备新增一个不同的功能,则需要在控制设备12中新增一个该功能对应的专用API进程,若需要对控制系统中已有的任一存储设备新增一个和其他存储设备相同的功能,也需要修改控制设备12中的专用API进程,以保证根据专用API进程可以调用具备用于处理操作请求的新增的操作功能的存储设备13的调度进程和驱动进程。由于存储设备的厂商很多,存储设备的型号也很多,存储设备具有的功能类型特别多。若要对这些不同功能都进行集中纳管,控制设备12需增加很多的专用API进程,开发新的逻辑代码的工作量相当大。
发明内容
本申请实施例提供一种存储设备功能的控制方法、装置及设备,能够解决现有“集中纳管”控制系统中,若存储设备新增一个功能时,需要新增或修改专用API接口,开发逻辑代码的工作量极大的问题。
为达到上述目的,本申请实施例采用如下技术方案:
第一方面,提供了一种存储设备功能的控制方法,包括:服务器接收客户端发送的第一处理请求,服务器根据第一处理请求中包含的待处理对象的标识确定存储所述待处理对象的存储设备。服务器查询并向客户端发送操作列表,所述操作列表包括存储设备对待处理对象进行功能操作的功能标识;服务器接收客户端发送的第二处理请求,第二处理请求包括客户端接收用户根据操作列表输入的存储设备对待处理对象进行功能操作的功能标识;服务器将第二处理请求发送给存储设备。由于本申请不用区分功能标识的类型,也就是存储设备功能的类型,服务器的兼容性好,有利于提升服务器集中纳管的能力。
其中,待处理对象可以为存储在存储设备上的任一个对象。存储设备的存储方式有文件存储、块存储、对象存储等,相应的,待处理对象的对象类型可以是文件、卷、对象中任一种。
需要说明的是,待处理对象与操作列表有对应关系,即待处理对象不同,操作列表可能不同。例如:待处理对象的类型不同,操作列表也可能不同。存储待处理对象的存储设备的不同,操作列表也可能不同。
可选的,在本申请的一种可能的实现方式中,服务器预先保存有所述存储设备的标识与所述存储设备的驱动进程的标识的对应关系,以及待处理对象的标识与所述操作列表的对应关系。那么,服务器可以调用API进程,根据待处理对象的表,查找与所述待处理对象标识对应的存储设备的驱动进程的标识,确定待处理对象对应的驱动进程。服务器通过驱动进程,根据待处理对象的标识查找待处理对象对应的操作列表。
在现有的“集中纳管”的控制方法中,若存储设备操作待处理对象后,创建了新的对象 (后称之为新对象)。由于创建新对象时,采用的接口信息是用户根据控制设备中该操作类型对应的专用API进程定义的标准接口信息,这里的标准接口信息是适用于该控制设备所管理的所有的存储设备。换句话来说,这些存储设备的某一操作类型的接口信息是完全相同的。而这些存储设备可能具有不同的功能特性,若待处理对象的功能特性多于标准接口信息定义的功能特性,那么新对象可能会损失掉待处理对象的一些功能特性。
在本申请实施例的控制方法中,创建新对象时,采用的接口信息是服务器查询到的存储设备上该类型对象所要求的接口信息,即包括待处理对象的全部功能特性,那么新对象具有待处理对象的全部功能特性。
可选的,在本申请的一种可能的实现方式中,如果待处理对象所属的对象类型为文件,则对待处理对象进行的功能操作包括:扩大空间、设置配额、重删、压缩、快照、创建子目录、创建复制、共享、设置子目录配额、设置子目录迁移;如果待处理对象所属的对象类型为卷,则对待处理对象进行的功能操作包括:分级存储、一致性组、一体化备份、创建复制卷、删除卷,如果待处理对象所属的对象类型为对象,则对待处理对象进行的功能操作包括迁移对象、备份对象、压缩对象。
可选的,在本申请的一种可能的实现方式中,操作列表还包括:存储设备对待处理对象进行功能操作时要求用户输入的接口信息;第二处理请求还包括:客户端接收用户输入的存储设备对待处理对象进行功能操作时用户输入的接口信息。
第二方面,提供了一种存储设备功能的装置,包括:接收单元,用于接收客户端发送的第一处理请求,所述第一处理请求包括待处理对象的标识;处理单元,用于根据所述待处理对象的标识查找存储设备的标识,确定存储所述待处理对象的存储设备,所述装置保存有所述待处理对象的标识与所述存储设备的标识的对应关系;所述处理单元,还用于查询操作列表,所述操作列表包括所述存储设备对所述待处理对象进行功能操作的功能标识;发送单元,用于向所述客户端发送所述操作列表;所述接收单元,还用于接收所述客户端发送的第二处理请求,所述第二处理请求包括所述客户端接收用户根据所述操作列表输入的所述存储设备对所述待处理对象进行功能操作的所述功能标识;所述发送单元,还用于将所述第二处理请求发送给所述存储设备。
可选的,在本申请的一种可能的实现方式中,所述装置还包括存储单元,用于预先保存有所述存储设备的标识与所述存储设备的驱动进程的标识的对应关系,以及所述待处理对象的标识与所述操作列表的对应关系;所述处理单元,还用于调用应用程序编程接口API进程, 根据所述待处理对象的标识,查找与所述待处理对象的标识对应的所述存储设备的驱动进程的标识,确定所述待处理对象对应的驱动进程;所述处理单元,还用于通过所述驱动进程,根据所述待处理对象的标识查找所述待处理对象对应的所述操作列表。
可选的,在本申请的一种可能的实现方式中,如果所述待处理对象所属的对象类型为文件,则对所述待处理对象进行的功能操作包括:扩大空间、设置配额、重删、压缩、快照、创建子目录、创建复制、共享、设置子目录配额、设置子目录迁移;如果所述待处理对象所属的对象类型为卷,则对所述待处理对象进行的功能操作包括:分级存储、一致性组、一体化备份、创建复制卷、删除卷,如果所述待处理对象所属的对象类型为对象,则对所述待处理对象进行的功能操作包括迁移对象、备份对象、压缩对象。
可选的,在本申请的一种可能的实现方式中,所述操作列表还包括:所述存储设备对所述待处理对象进行功能操作时要求用户输入的接口信息;所述第二处理请求还包括:所述客户端接收所述用户输入的所述存储设备对所述待处理对象进行功能操作时用户输入的接口信息。
第三方面,提供一种控制存储设备功能的服务器,包括一个或多个处理器、存储器、通信接口;所述存储器、所述通信接口与所述一个或多个处理器耦合;所述存储器用于存储计算机程序代码,所述计算机程序代码包括指令,当所述一个或多个处理器执行所述指令时,所述服务器执行第一方面及其各种可能的实现方式所述的存储设备功能的控制方法。
第四方面,提供一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当所述指令在服务器上运行时,使得所述服务器执行第一方面及其各种可能的实现方式所述的存储设备功能的控制方法。
第五方面,提供一种包含指令的计算机程序产品,当所述计算机程序产品在服务器上运行时,使得所述服务器执行第一方面及其各种可能的实现方式所述的存储设备功能的控制方法。
附图说明
图1a为现有技术中具备“集中纳管”控制方式的控制系统的结构示意图;
图1b为本申请实施例的一种存储设备功能的控制系统的结构示意图;
图1c为本申请实施例提供的一种服务器的结构示意图;
图2为本申请实施例提供的一种存储设备功能的控制方法的流程示意图;
图3为本申请实施例提供的又一种存储设备功能的控制方法的流程示意图;
图4为本申请实施例提供的又一种服务器的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚地描述。
图1b示出了本申请实施例的一种存储设备功能的控制系统的结构示意图,包括客户端 21、服务器22以及多个存储设备23,客户端21与服务器22连接,服务器22与这多个存储设备23连接。
其中,客户端21用于接收用户输入的操作命令,该操作命令是要求存储设备23对其上存储的某个对象(称为待处理对象)进行操作。客户端21将接收到的操作命令转换成处理请求,发送给服务器22。例如:若客户端21与服务器22是通过互联网连接,那么,客户端21将用户的操作命令转换成超文本传输协议(HyperText Transfer Protocol,HTTP)格式的处理请求,通过互联网发送给服务器22。
此外,客户端21还可以接收用户输入的与操作命令相关的接口信息,接口信息包括需要用户输入的对所述待处理对象进行功能操作的参数值等。例如:若操作命令为对待处理对象创建远程复制,那么,该操作的接口信息可以包括远程复制的目的地址、远程复制后文件的名称、远程复制的速率等。
服务器22用于接收客户端21发送的处理请求,并调用API进程将处理请求发送给存储设备23,以便存储设备23操作待处理对象。服务器22可以是一台或多台计算机组成的,具体的,可以是一台或多台物理机,也可以是一个或多个虚拟机。服务器22还可以和客户端21共用物理机,逻辑上相互独立。本申请实施例不做限定。
其中,服务器22上安装有API进程程序与多个驱动进程程序,这些程序模块之间通信连接,例如可通过消息中间件进行通信。其中,API进程程序可用于接收客户端发送的处理请求,将该处理请求转换成满足服务器内部处理要求的格式的请求,并进一步触发服务器中后续的进程。API进程还用于将服务器处理后的请求发送给客户端等。驱动进程主要用于服务器接入存储设备,实现服务器与存储设备的通信。具体的,驱动程序可用于将服务器处理后的请求转换成符合存储设备接口格式的请求,并发送给存储设备,还可用于接收存储设备向服务器回复的消息等。消息中间件也是一类软件程序,是基于分布式处理的软件,其作用是实现服务器内部各个进程程序之间的通信功能。这些程序代码存储在服务器22的存储器上,存储器可以是磁盘、硬盘等。需要说明的是,这些程序代码可以存储在一台计算机的存储器上、也可以是存储在多台计算机的存储器上。对此,本申请实施例不做限定。
此外,服务器22还可包括数据库,用于存储运行各个进程程序的数据,各个进程程序可以通过数据库相互调用数据。数据库还可用于保存待处理对象与存储设备的对应关系表,以及用于保存存储设备与驱动进程的对应关系表等。需要说明的是,待处理对象与存储设备的对应关系表,以及用于保存存储设备与驱动进程的对应关系表也可以存储在第三方的数据库中,本申请实施例不做限定。
多个存储设备23用于存储原始数据,而存储原始数据的方式有文件存储(FileStorage)、对象存储(Object Storage)、块存储(Block Storage)等。相应的,存储在存储设备23上的存储对象包括文件、卷、对象等。这多个存储设备23中的一个存储设备可以存储一个类型的存储对象,也可以存储多个类型的存储对象。存储设备23可以是存储区域网络(Storage Area Network,SAN)设备,网络附属存储(Network Attached Storage,NAS)设备,开放系统的直连式存储(Direct-Attached Storage,DAS),磁带库设备中的任一种。并且,这多个存储设备23之间可以是相同的设备,也可以是不同的设备,本申请实施例不做限定。
请参见图1c,图1c为本申请实施例提供的服务器22的结构示意图。如图1c所示,本申请实施例提供的服务器22包括:通信接口31、通信接口32和控制模块33。通信接口31和通信接口32分别与控制模块33连接。在服务器22中,通信接口31用于与客户端通信,通信接口32用于与存储设备23通信。通信接口31和通信接口32通过通信网络通信,通信网络如以太网,无线局域网(Wireless Local Area Networ,WLAN)等。
如图1c所示,控制模块33包括处理器331和存储器332。处理器331和存储器332连接。通信接口31、通信接口32、处理器331和存储器332可以通过系统总线34连接。存储器332可以是独立存在的,通过系统总线34与处理器331相连接。存储器332也可以和处理器331集成在一起。
处理器331用于接收客户端21发送的第一处理请求,并根据第一处理请求中待处理对象的标识,查询存储待处理对象的存储设备。处理器331用于查询操作列表,并将查询到的操作列表发送给客户端21。处理器331还用于接收客户端21发送的第二处理请求,并将第二处理请求发送给存储设备23.
存储器332用于临时存储服务器22接收到的信息。存储器332还用于存储软件程序以及应用模块,处理器331通过运行存储在存储器332的软件程序以及应用模块,从而执行服务器22的各种功能应用以及数据处理。
存储器332主要包括存储程序区3321。其中,存储程序区3321可存储操作系统、API进程、调度进程、驱动进程、数据库等。
处理器331可以是任何计算器件,可以是通用中央处理器(CPU),微处理器,可编程控制器,特定应用集成电路(Application-Specific Integrated Circuit,ASIC),或一个或多个用于控制以上方案程序执行的集成电路。处理器331是服务器22的控制中心。处理器331利用各种接口和线路连接服务器22的各个部分,通过运行或执行存储在存储器332内的软件程序和 /或应用模块,执行服务器22的各种功能和处理数据,从而对服务器22进行整体监控。在具体实现中,作为一种实施例,处理器可以包括一个或多个CPU,例如图1c中的处理器包括 CPU 0和CPU 1。
存储器332可以包括易失性存储器(Volatile Memory),例如,随机存取存储器(Random-Access Memory,RAM);该存储器332也可以包括非易失性存储器(non-volatilememory),例如,只读存储器(Read-Only Memory,ROM),快闪存储器(Flash Memory),硬盘(Hard Disk Drive,HDD)、固态硬盘(Solid-State Drive,SSD)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由网络设备存取的任何其他介质,但不限于此。
系统总线34可以是外设部件互连标准(Peripheral Component Interconnect,PCI)总线或扩展工业标准结构(Extended Industry Standard Architecture,EISA)总线等。
系统总线34可以分为地址总线、数据总线、控制总线等。本申请实施例中为清楚说明,在图1c中将各种总线都示意为系统总线34。
下面结合图1b所示的存储设备的控制系统的结构示意图、图1c所示的服务器22的结构示意图,对本申请实施例提供的存储设备功能的控制方法进行详细的描述。
如图2所示,本申请实施例提供的一种存储设备功能的控制方法,其中步骤102、103、 104和106可由图1b或图1c中的服务器22执行,具体可由图1c中的控制模块33执行,另外步骤101和105可由图1b中的客户端21执行,具体包括:
101、客户端向服务器发送第一处理请求。
其中,第一处理请求包括待处理对象的标识。待处理对象可以为存储在存储设备上的任一个对象。存储设备的存储方式有文件存储、块存储、对象存储等,相应的,待处理对象的对象类型可以是文件、卷、对象中任一种。
具体的,用户需要对待处理对象进行操作时,在客户端的控制页面上点击该待处理对象的图标,或者通过其他方式选择该待处理对象。客户端将用户的操作转换成第一处理请求,发送给服务器。例如:若客户端与服务器是通过互联网进行通信连接的,则客户端将用户的操作命令转换成超文本传输协议(HyperText Transfer Protocol,HTTP)格式的处理请求,发送给服务器。
需要说明的是,如果客户端和服务器共用一台物理机或虚拟机时,则是直接由服务器接收用户输入的操作命令,并将操作命令转换为第一处理请求,本申请实施例不做限定。
102、服务器根据待处理对象的标识确定存储该待处理对象的存储设备。
具体的,服务器可以预先保存待处理对象的标识与存储设设备的标识的对应关系。那么,服务器接收到第一处理请求后,先根据待处理对象的标识,从数据库中查找到该待处理对象的标识对应的存储设备的标识,确认该存储设备的标识对应的存储设备为存储该待处理对象的存储设备。
需要说明的是,这里的数据库可以是服务器自身的数据库,也可以是第三方数据库。本申请实施例不做限定。
103、服务器查询操作列表。
具体的,服务器中保存有存储设备的标识与驱动进程的标识的对应关系,以及待处理对象的标识与操作列表的对应关系。其中,待处理对象的标识与操作列表的对应关系存储在存储该待处理对象的存储设备的驱动进程中。于是,服务器可以调用API进程,根据待处理对象的标识,查找到的存储设备的标识对应的该存储设备对应的驱动进程的标识,确定所述待处理对象对应的驱动进程。服务器再通过驱动进程,根据待处理对象的标识查找待处理对象对应的操作列表。其中,操作列表包括存储设备用于操作待处理对象的功能标识,功能标识为存储设备能够对待处理对象进行操作的功能特性。
需要说明的是,待处理对象与操作列表有对应关系,即待处理对象不同,操作列表可能不同。例如:待处理对象的类型不同,操作列表也可能不同。存储待处理对象的存储设备的不同,操作列表也可能不同。
例如,存储设备可以存储多个不同类型的对象,而服务器会为各个不同类型的对象设置不同的操作功能标识,并将各个不同类型的对象的操作功能标识保存在驱动进程上。例如:服务器设置的存储设备可以操作文件的功能标识有:扩大空间、设置配额、重删、压缩、快照、创建子目录、创建复制、共享、设置子目录配额、设置子目录迁移等,存储设备可以操作卷的功能标识有:分级存储、一致性组、一体化备份、创建复制卷、删除卷等,存储设备可以操作对象的功能标识有:迁移对象、备份对象、压缩对象等。可见,对于类型不同的几个对象,即使存储在同一个存储设备上,这些对象的操作列表也可能是不相同的。另外,这里服务器控制的多个存储设备可以是不同厂商的,也可以是不同型号的,因此,这多个存储设备很可能具有不同的功能特性。可见,对应类型相同的几个对象,若存储在不同的存储设备上,这些对象的操作列表也可能是不相同的。
可选的,服务器也可以从确定的驱动进程中获取待处理对象的各个功能标识所要求用户输入的接口信息。其中,接口信息包括要求用户输入的参数值等,例如:功能标识若为创建复制,则创建复制所要求用户输入的接口信息可以包括:复制的目的存储设备的地址,复制后的文件名称、复制的速率参数等。功能标识若为快照,则快照所要求用户输入的接口信息可以包括快照的周期、快照保留个数等。
104、服务器向客户端发送操作列表。
105、客户端向服务器发送第二处理请求。
其中,第二处理请求包括客户端接收用户输入的用于操作该待处理对象的功能标识。
具体的,客户端在接收到服务器发送的操作列表后,会以例如选择框的图像化界面显示给用户,以便用户从中选择操作待处理对象的功能标识。若服务器还向客户端发送操作列表中各个功能标识要求用户输入的接口信息,则客户端还会以例如输入框的图形化界面显示给用户,以便于用户输入相应的接口信息。在用户选择了操作待处理对象的功能标识、输入了接口信息后,客户端会将用户的这些操作转换为第二处理请求,并发送给服务器。需要说明的是,这里的第二处理请求可以是一条或多条消息,即客户端可以将用户选择操作待处理对象的功能标识转换的命令为一条请求消息,将用户输入接口信息的命令转换成另一条或多条请求消息,也可以将这两条命令转换成一条请求消息,本申请实施例不做限定。
106、服务器将第二处理请求发送给存储设备。
具体的,服务器接收到客户端发送的第二处理请求后,将第二处理请求转换成满足存储设备要求的接口格式的请求,并发送给存储设备,以便存储设备操作待处理对象。
现有的“集中纳管”的控制方法为:客户端向控制设备发送处理请求,该处理请求包括待处理对象的标识和操作类型的标识。控制设备调用该操作类型标识对应的专用API进程来接收处理请求,而后调用调度进程和驱动进程,将处理请求发送给存储设备。可见,若需要对控制系统中已有的任一存储设备新增一个不同的功能,则需要在控制设备中新增一个该功能对应的专用API进程,若需要对控制系统中已有的任一存储设备新增一个和其他存储设备相同的功能,也需要修改控制设备中的专用API进程,以保证根据专用API进程可以调用具备用于处理操作请求的新增的操作功能的存储设备的调度进程和驱动进程。由于存储设备的厂商很多,存储设备的型号也很多,存储设备具有的功能类型特别多。若要对这些不同功能都进行集中纳管,控制设备需增加很多的专用API进程,开发新的逻辑代码的工作量相当大。
本申请实施例的存储设备功能的控制方法为:客户端向服务器发送第一处理请求,第一处理请求包括待处理对象的标识。服务器根据待处理对象的标识确定存储待处理对象的存储设备。服务器查询操作列表,并将该操作列表发送给客户端,该操作列表包括确定的存储设备用于操作待处理对象的功能标识。服务器接收客户端发送的第二处理请求,第二处理请求包括客户端接收用户输入的用于操作待处理对象的功能标识。服务器将第二处理请求发送给存储设备,以便存储设备操作待处理对象。在本申请实施例的方法中,由于不用区分功能标识的类型,也就是存储设备功能的类型。那么,若需要对控制系统中已有的任一存储设备新增一个不同的功能,不再需要新增专用API进程。若需要对控制系统中已有的任一存储设备新增一个和其他存储设备相同的功能,也不再需要修改服务器中的专用API进程。可见,本申请实施例的控制方法不再需要额外开发新的逻辑代码,服务器的兼容性好,有利于提升服务器集中纳管的能力。
进一步的,本申请实施例还提供一种存储设备功能的控制方法,如图3所示,其中步骤 202-205、209-211可由图1b或图1c中的服务器22执行,具体可由图1c中的控制模块33执行,另外步骤201、206-208可由图1b中的客户端21执行,具体包括:
201、客户端向服务器发送第一处理请求。
其中,第一处理请求包括待处理对象的标识,用于指示用户想要操作的对象。
202、服务器接收客户端发送的第一处理请求。
具体的,服务器需要调用API进程来接收第一处理请求。若服务器与客户端之间的通信协议与服务器内部的通信协议不同,服务器还需要调用API进程转换第一处理请求的格式。例如:若客户端与服务器是通过互联网进行通信连接的,则服务器接收到客户端发送的第一处理请求可能为HTTP格式。若服务器内部通信采用的是高级消息队列协议(Advanced Message Queuing Protocol,AMQP),则服务器需要将接收到HTTP格式的第一处理请求转换成AMQP格式的请求,本申请实施例不限定服务器与客户端,以及服务器内部使用的协议。
其中,服务器调用的API进程可以是一个或多个通用接口进程,但采用的是相同的控制逻辑代码。换句话来说,这一个或多个通用接口进程是相同的,都是可以接收任何操作类型的处理请求。
203、服务器从数据库中查找存储该待处理对象的存储设备。
具体的,服务器通过API进程从服务器自身的数据库或者第三方的数据库中查找到存储待处理对象的存储设备。这里的数据库预先保存有待处理对象与存储待处理对象的存储设备的对应关系。
需要说明的是,在本申请实施例的控制系统中,每一个存储设备都与服务器中的一个或多个驱动进程对应。驱动进程是服务器用于接入存储设备,将服务器接收到的处理请求转换成满足存储设备要求的接口格式的消息,发送给存储设备。
204、服务器查询待处理对象的操作列表。
其中,操作列表还可以包括该操作列表中各个功能标识要求用户输入的接口信息。
具体的,服务器中保存有存储设备的标识与驱动进程的标识的对应关系,以及待处理对象的标识与操作列表的对应关系。其中,待处理对象的标识与操作列表的对应关系存储在存储该待处理对象的存储设备的驱动进程中。于是,服务器可以调用API进程,根据待处理对象的标识,查找到的存储设备的标识对应的该存储设备对应的驱动进程的标识,确定所述待处理对象对应的驱动进程。服务器再通过驱动进程,根据待处理对象的标识查找待处理对象对应的操作列表。
205、服务器向客户端发送操作列表。
具体的,服务器通过API进程,将查询到的操作列表进行格式转换后发送给客户端。
206、客户端显示接收到的操作列表。
具体的,客户端将接收到的操作列表转换成图像化界面展示给用户。例如:对于功能标识可以以下拉菜单的形式显示给用户,对于操作列表中各个功能标识要求用户输入的接口信息可以以输入框的形式显示给用户。本申请实施例对显示的具体形式不做限定。
207、客户端接收用户输入的操作命令,并转换成第二处理请求。
具体的,客户端接收用户从操作列表中选择的操作功能标识,以及输入的该操作功能标识对应的接口信息,并将这些操作命令转换成第二处理请求,发送给服务器。
208、客户端向服务器发送第二处理请求。
其中,第二处理请求包括客户端接收用户输入的用于操作该待处理对象的功能标识,也包含用户输入的该功能标识对应的接口信息。例如:若用户输入的操作待处理对象的功能标识为创建文件A的远程复制,那么第二处理请求包含待处理对象的标识为文件A的标识,操作该待处理对象的功能标识为创建远程复制的标识,用户输入的该功能标识对应的接口信息可能包括复制的目的地址。
209、服务器根据待处理对象的标识,查询存储该待处理对象的存储设备对应的驱动进程。
本步骤可参考步骤203,在此不重复赘述。
210、服务器根据第二处理请求中的接口信息确定是否需要调用调度进程。若需要调用调度进程,则执行步骤210a。若不需要调用调度进程,则执行步骤211。
具体的,服务器通过API进程可根据第二处理请求确定是否需要调用调度进程。例如:若用户输入的操作功能标识对应的接口信息含有目的地址,则服务器需要调用调度进程,用于确定目的地址对应的目的存储设备的标识,以便于服务器调用驱动进程时使用该目的存储设备的标识。若用户输入的操作功能标识对应的接口信息中没有含有目的地址,则服务器不需要调用调度进程。
举例说明,假设待处理对象为文件A,文件A存储在存储设备M。第一种情况:若第二处理请求是要求查询文件A,那么服务器从数据库中将文件A的信息查询出来,并调用API进程回复给客户端即可,此时服务器不需要调用调度进程。第二种情况:若第二处理请求是要求删除文件A,则服务器从数据库中查找到存储文件A的存储设备,即存储设备M,直接调用存储设备M的驱动进程,将第二处理请求发送给存储设备M,由存储设备M删除文件A,这里也不需要调用调度进程。第三种情况:若第二处理请求是要求创建文件A的远程复制,则用户需要输入的接口信息有远程复制的目的地址,此时,服务器需要调用调度进程,用于确定目的地址对应的目的存储设备的标识,以便服务器在调用驱动进程时使用该目的存储设备的标识。
还需要说明的是,步骤210可在步骤209之后,之前,或同时执行,本申请实施例并不限定步骤209和210的执行顺序。
210a、服务器先调用调度进程,以便于服务器调用驱动进程时使用该调度进程的运行结果,而后调度驱动进程,将第二处理请求发送给存储设备。
具体的,服务器在调用调度进程时,会根据第二处理请求中功能标识对应的业务逻辑执行相应的算法。其中,调度进程包括多个调度算法,例如:地域调度算法、资源池调度算法、特性筛选调度算法等。
举例说明,假设第二处理请求是要求创建文件A的远程复制,则服务器从数据库中查找到存储设备M。假设用户输入的接口信息包括:复制的目的地址,复制后的文件系统的名称、复制速率参数等。假设远程复制操作所对应的业务逻辑包括:先筛选出异地的存储设备,再筛选出具有创建功能的存储设备,最后筛选出容量满足条件的存储设备可作为远程复制的目的存储设备。那么,服务器执行地域算法,筛选出异地存储设备;再执行特性筛选调度算法,筛选出具有创建功能的存储设备;最后执行容量算法,筛选出容量满足条件的存储设备,最后确定存储设备N为远程复制文件A的目的地址。当调度算法执行完成后,服务器调用驱动进程将第二处理请求以及目的存储设备的标识转换格式后发送给存储设备A,由存储设备A 去执行远程复制的操作。
211、服务器通过驱动进程将第二处理请求发送给存储设备。
可选的,在存储设备操作待处理对象后,服务器调用驱动进程、API进程将存储设备的执行结果回复给客户端。图中以212-214示出。
在现有的“集中纳管”的控制方法中,若存储设备操作待处理对象后,创建了新的对象 (后称之为新对象)。由于创建新对象时,采用的接口信息是用户根据控制设备中该操作类型对应的专用API进程定义的标准接口信息,这里的标准接口信息是适用于该控制设备所管理的所有的存储设备。换句话来说,这些存储设备的某一操作类型的接口信息是完全相同的。而这些存储设备可能具有不同的功能特性,若待处理对象的功能特性多于标准接口信息定义的功能特性,那么新对象可能会损失掉待处理对象的一些功能特性。
在本申请实施例的控制方法中,创建新对象时,采用的接口信息是服务器查询到的存储设备上该类型对象所要求的接口信息,即包括待处理对象的全部功能特性,那么新对象具有待处理对象的全部功能特性。
上述主要从各个网元之间交互的角度对本申请实施例提供的方案进行了介绍。可以理解的是,服务器为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,本申请能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
本申请实施例可以根据上述方法示例对服务器进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。需要说明的是,本申请实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
在采用对应各个功能划分各个功能模块的情况下,图4示出了上述实施例中所涉及的服务器22的一种可能的结构示意图,所述服务器22包括:接收单元41、处理单元42和发送单元43。接收单元41用于支持服务器执行图2中的过程101和105,图3中的过程201、208和212;处理单元42用于支持服务器执行图2中的过程102和103,图3中的过程203、204、209-210;发送单元43用于指示服务器执行图2中的过程104和106,图3中的过程205、211 和214。服务器22还可以包括存储单元44,用于保存待处理对象的标识与存储设备的驱动进程的标识的对应关系,以及服务器执行各个步骤所需要的程序代码和数据等。其中,上述方法实施例涉及的各步骤的所有相关内容均可以援引到对应功能模块的功能描述,在此不再赘述。
其中,处理单元42可以是处理器或控制器,例如可以是中央处理器(CentralProcessing Unit,CPU),通用处理器,数字信号处理器(Digital Signal Processor,DSP),专用集成电路(Application-Specific Integrated Circuit,ASIC),现场可编程门阵列(Field Programmable Gate Array,FPGA)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,模块和电路。所述处理器也可以是实现计算功能的组合,例如包含一个或多个微处理器组合, DSP和微处理器的组合等等。接收单元41和发送单元43可以集成在一起,可以是收发器、收发电路或通信接口等。存储单元44可以是存储器。
当处理单元42为处理器,接收单元41和发送单元43集成一起,为收发器,存储单元44为存储器时,本申请实施例所涉及的服务器可以为图1c所示的服务器。
本申请另一实施例还提供一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当指令在服务器22上运行时,该服务器22执行如图2所示的存储设备功能的控制方法中的步骤101-106。
在本申请的另一实施例中,还提供一种计算机程序产品,该计算机程序产品包括计算机执行指令,该计算机执行指令存储在计算机可读存储介质中;服务器22的至少一个处理器可以从计算机可读存储介质读取该计算机执行指令,至少一个处理器执行该计算机执行指令使得服务器22执行图2所示的存储设备功能的控制方法中的步骤101-106。
结合本申请公开内容所描述的方法或者算法的步骤可以硬件的方式来实现,也可以是由处理器执行软件指令的方式来实现。软件指令可以由相应的软件模块组成,软件模块可以被存放于随机存取存储器(Random Access Memory,RAM)、闪存、只读存储器(ReadOnly Memory, ROM)、可擦除可编程只读存储器(Erasable Programmable ROM,EPROM)、电可擦可编程只读存储器(Electrically EPROM,EEPROM)、寄存器、硬盘、移动硬盘、只读光盘(CD-ROM)或者本领域熟知的任何其它形式的存储介质中。一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于ASIC中。另外,该ASIC可以位于核心网接口设备中。当然,处理器和存储介质也可以作为分立组件存在于核心网接口设备中。
本领域技术人员应该可以意识到,在上述一个或多个示例中,本申请所描述的功能可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。计算机可读介质包括计算机存储介质和通信介质,其中通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。存储介质可以是通用或专用计算机能够存取的任何可用介质。
以上所述的具体实施方式,对本申请的目的、技术方案和有益效果进行了进一步详细说明。
Claims (10)
1.一种存储设备功能的控制方法,其特征在于,应用于服务器,所述方法包括:
所述服务器接收客户端发送的第一处理请求,所述第一处理请求包括待处理对象的标识;
所述服务器根据所述待处理对象的标识查找存储设备的标识,确定存储所述待处理对象的存储设备,所述服务器保存有所述待处理对象的标识与所述存储设备的标识的对应关系;
所述服务器查询操作列表,所述操作列表包括所述存储设备对所述待处理对象进行功能操作的功能标识;
所述服务器向所述客户端发送所述操作列表;
所述服务器接收所述客户端发送的第二处理请求,所述第二处理请求包括所述客户端接收用户根据所述操作列表输入的所述存储设备对所述待处理对象进行功能操作的所述功能标识;
所述服务器将所述第二处理请求发送给所述存储设备。
2.根据权利要求1所述的方法,其特征在于,所述服务器保存有所述存储设备的标识与所述存储设备的驱动进程的标识的对应关系,以及所述待处理对象的标识与所述操作列表的对应关系;
所述服务器查询操作列表包括:
所述服务器调用应用程序编程接口API进程,根据所述待处理对象的标识,查找与所述存储设备的标识对应的所述存储设备的驱动进程的标识,确定所述待处理对象对应的驱动进程;
所述服务器通过所述驱动进程,根据所述待处理对象的标识查找所述待处理对象对应的所述操作列表。
3.根据权利要求2所述的方法,其特征在于,如果所述待处理对象所属的对象类型为文件,则对所述待处理对象进行的功能操作包括:扩大空间、设置配额、重删、压缩、快照、创建子目录、创建复制、共享、设置子目录配额、设置子目录迁移;如果所述待处理对象所属的对象类型为卷,则对所述待处理对象进行的功能操作包括:分级存储、一致性组、一体化备份、创建复制卷、删除卷,如果所述待处理对象所属的对象类型为对象,则对所述待处理对象进行的功能操作包括迁移对象、备份对象、压缩对象。
4.根据权利要求1-3任一项所述的方法,其特征在于,所述操作列表还包括:所述存储设备对所述待处理对象进行功能操作时要求用户输入的接口信息;
所述第二处理请求还包括:所述客户端接收所述用户输入的所述存储设备对所述待处理对象进行功能操作时用户输入的接口信息。
5.一种控制存储设备功能的装置,其特征在于,包括:
接收单元,用于接收客户端发送的第一处理请求,所述第一处理请求包括待处理对象的标识;
处理单元,用于根据所述待处理对象的标识查找存储设备的标识,确定存储所述待处理对象的存储设备,所述装置保存有所述待处理对象的标识与所述存储设备的标识的对应关系;
所述处理单元,还用于查询操作列表,所述操作列表包括所述存储设备对所述待处理对象进行功能操作的功能标识;
发送单元,用于向所述客户端发送所述操作列表;
所述接收单元,还用于接收所述客户端发送的第二处理请求,所述第二处理请求包括所述客户端接收用户根据所述操作列表输入的所述存储设备对所述待处理对象进行功能操作的所述功能标识;
所述发送单元,还用于将所述第二处理请求发送给所述存储设备。
6.根据权利要求5所述的装置,其特征在于,所述装置还包括存储单元,用于保存所述存储设备的标识与所述存储设备的驱动进程的标识的对应关系,以及所述待处理对象的标识与所述操作列表的对应关系;
所述处理单元,还用于调用应用程序编程接口API进程,根据所述待处理对象的标识,查找与所述待处理对象的标识对应的所述存储设备的驱动进程的标识,确定所述待处理对象对应的驱动进程;
所述处理单元,还用于通过所述驱动进程,根据所述待处理对象的标识查找所述待处理对象对应的所述操作列表。
7.根据权利要求6所述的装置,其特征在于,如果所述待处理对象所属的对象类型为文件,则对所述待处理对象进行的功能操作包括:扩大空间、设置配额、重删、压缩、快照、创建子目录、创建复制、共享、设置子目录配额、设置子目录迁移;如果所述待处理对象所属的对象类型为卷,则对所述待处理对象进行的功能操作包括:分级存储、一致性组、一体化备份、创建复制卷、删除卷,如果所述待处理对象所属的对象类型为对象,则对所述待处理对象进行的功能操作包括迁移对象、备份对象、压缩对象。
8.根据权利要求5-7任一项所述的装置,其特征在于,所述操作列表还包括:所述存储设备对所述待处理对象进行功能操作时要求用户输入的接口信息;
所述第二处理请求还包括:所述客户端接收所述用户输入的所述存储设备对所述待处理对象进行功能操作时用户输入的接口信息。
9.一种控制存储设备功能的服务器,其特征在于,所述服务器包括:处理器、存储器、通信接口;
所述存储器、所述通信接口与一个或多个所述处理器耦合;所述存储器用于存储计算机程序代码,所述计算机程序代码包括指令,当所述处理器执行所述指令时,所述服务器执行如权利要求1-4中任意一项所述的存储设备功能的控制方法。
10.一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,其特征在于,当所述指令在服务器上运行时,使得所述服务器执行如权利要求1-4中任意一项所述的存储设备功能的控制方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710923304.9A CN109597774B (zh) | 2017-09-30 | 2017-09-30 | 一种存储设备功能的控制方法、装置及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710923304.9A CN109597774B (zh) | 2017-09-30 | 2017-09-30 | 一种存储设备功能的控制方法、装置及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109597774A CN109597774A (zh) | 2019-04-09 |
CN109597774B true CN109597774B (zh) | 2020-12-15 |
Family
ID=65955642
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710923304.9A Active CN109597774B (zh) | 2017-09-30 | 2017-09-30 | 一种存储设备功能的控制方法、装置及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109597774B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115134321A (zh) * | 2021-03-12 | 2022-09-30 | 华为技术有限公司 | 一种消息处理方法及装置 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1655129A (zh) * | 2005-02-25 | 2005-08-17 | 清华大学 | Windows平台下动态管理存储资源的通用方法 |
US7206905B2 (en) * | 2001-08-06 | 2007-04-17 | Hitachi, Ltd. | Storage system and method of configuring the storage system |
CN102333103A (zh) * | 2010-07-12 | 2012-01-25 | 戴元顺 | 云存储系统 |
CN104184826A (zh) * | 2014-09-05 | 2014-12-03 | 浪潮(北京)电子信息产业有限公司 | 多数据中心存储环境管理方法和系统 |
CN105830040A (zh) * | 2013-12-20 | 2016-08-03 | 拉姆伯斯公司 | 用于访问存储器的存储器装置 |
CN105975214A (zh) * | 2011-08-26 | 2016-09-28 | 威睿公司 | 配置用于输入/输出操作的对象存储系统 |
CN106814975A (zh) * | 2017-01-20 | 2017-06-09 | 郑州云海信息技术有限公司 | 一种用于多类型存储设备的存储管理方法及其系统 |
-
2017
- 2017-09-30 CN CN201710923304.9A patent/CN109597774B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7206905B2 (en) * | 2001-08-06 | 2007-04-17 | Hitachi, Ltd. | Storage system and method of configuring the storage system |
CN1655129A (zh) * | 2005-02-25 | 2005-08-17 | 清华大学 | Windows平台下动态管理存储资源的通用方法 |
CN102333103A (zh) * | 2010-07-12 | 2012-01-25 | 戴元顺 | 云存储系统 |
CN105975214A (zh) * | 2011-08-26 | 2016-09-28 | 威睿公司 | 配置用于输入/输出操作的对象存储系统 |
CN105830040A (zh) * | 2013-12-20 | 2016-08-03 | 拉姆伯斯公司 | 用于访问存储器的存储器装置 |
CN104184826A (zh) * | 2014-09-05 | 2014-12-03 | 浪潮(北京)电子信息产业有限公司 | 多数据中心存储环境管理方法和系统 |
CN106814975A (zh) * | 2017-01-20 | 2017-06-09 | 郑州云海信息技术有限公司 | 一种用于多类型存储设备的存储管理方法及其系统 |
Also Published As
Publication number | Publication date |
---|---|
CN109597774A (zh) | 2019-04-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11467755B2 (en) | Method and system for enabling agentless backup and restore operations on a container orchestration platform | |
US9069465B2 (en) | Computer system, management method of computer resource and program | |
CN107992355B (zh) | 一种部署应用软件的方法、装置及虚拟机 | |
US10445186B1 (en) | Associating a guest application within a virtual machine to create dependencies in backup/restore policy | |
US20100185587A1 (en) | Data movement with reduced service outage | |
US11249788B2 (en) | Cloud management platform, and virtual machine management method and system | |
JP2015506507A (ja) | アプリケーション間の統一性を有する共有されるボリュームのスナップショット | |
KR20110128846A (ko) | 장치와 웹 서비스 간에 브라우저 캐시를 동기화하는 프로그래밍 모델 | |
US10599622B2 (en) | Implementing storage volumes over multiple tiers | |
WO2021139224A1 (zh) | 云场景下的文件备份方法、装置、介质、电子设备 | |
US11336588B2 (en) | Metadata driven static determination of controller availability | |
US10620871B1 (en) | Storage scheme for a distributed storage system | |
US10877684B2 (en) | Changing a distributed storage volume from non-replicated to replicated | |
EP3731097A1 (en) | System and method for accelerated data access | |
US20210055938A1 (en) | Hydration in virtual machines | |
US10845997B2 (en) | Job manager for deploying a bundled application | |
US20210132860A1 (en) | Management of multiple physical function non-volatile memory devices | |
CN109597774B (zh) | 一种存储设备功能的控制方法、装置及设备 | |
JP6418419B2 (ja) | ハードディスクがアプリケーションコードを実行するための方法および装置 | |
CN114328007B (zh) | 一种容器备份还原方法、装置及其介质 | |
US20140059538A1 (en) | Virtual machine state tracking using object based storage | |
US11693578B2 (en) | Method and system for handoff with portable storage devices | |
US11520650B2 (en) | Performing root cause analysis in a multi-role application | |
US20220261188A1 (en) | Pass-through command queues for unmodified storage drivers | |
EP3591531A2 (en) | Instant restore and instant access of hyper-v vms and applications running inside vms using data domain boostfs |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |