WO2023116434A1 - 一种数据处理系统、方法及设备 - Google Patents
一种数据处理系统、方法及设备 Download PDFInfo
- Publication number
- WO2023116434A1 WO2023116434A1 PCT/CN2022/137149 CN2022137149W WO2023116434A1 WO 2023116434 A1 WO2023116434 A1 WO 2023116434A1 CN 2022137149 W CN2022137149 W CN 2022137149W WO 2023116434 A1 WO2023116434 A1 WO 2023116434A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- storage device
- hard disk
- request
- data
- management
- Prior art date
Links
- 238000012545 processing Methods 0.000 title claims abstract description 115
- 238000000034 method Methods 0.000 title claims abstract description 105
- 238000003860 storage Methods 0.000 claims abstract description 549
- 230000008569 process Effects 0.000 claims abstract description 47
- 238000007726 management method Methods 0.000 claims description 273
- 238000004364 calculation method Methods 0.000 claims description 114
- 238000012544 monitoring process Methods 0.000 claims description 97
- 230000004044 response Effects 0.000 claims description 21
- 238000013144 data compression Methods 0.000 claims description 9
- 230000003993 interaction Effects 0.000 claims description 9
- 230000005012 migration Effects 0.000 claims description 8
- 238000013508 migration Methods 0.000 claims description 8
- 238000003672 processing method Methods 0.000 claims description 7
- 230000001960 triggered effect Effects 0.000 claims description 5
- 230000008859 change Effects 0.000 abstract description 7
- 230000015654 memory Effects 0.000 description 36
- 230000006870 function Effects 0.000 description 31
- 238000010586 diagram Methods 0.000 description 12
- 238000004590 computer program Methods 0.000 description 11
- 230000009286 beneficial effect Effects 0.000 description 6
- 238000009826 distribution Methods 0.000 description 6
- 239000007787 solid Substances 0.000 description 6
- 230000006399 behavior Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000013500 data storage Methods 0.000 description 2
- 230000001934 delay Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000009977 dual effect Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000000354 decomposition reaction Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000003203 everyday effect Effects 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 235000019580 granularity Nutrition 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- FFNMBRCFFADNAO-UHFFFAOYSA-N pirenzepine hydrochloride Chemical compound [H+].[H+].[Cl-].[Cl-].C1CN(C)CCN1CC(=O)N1C2=NC=CC=C2NC(=O)C2=CC=CC=C21 FFNMBRCFFADNAO-UHFFFAOYSA-N 0.000 description 1
Images
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/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
- G06F3/0611—Improving I/O performance in relation to response time
-
- 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
-
- 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
-
- 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/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/067—Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
Abstract
一种数据处理系统、方法及设备,本申请中的节点,应用服务器能够管理该存储设备,以变更该存储设备对数据访问请求的处理模式。存储设备在接收到该第一管理请求后,可以配置存储设备对数据访问请求的处理模式。应用服务器向存储设备发送数据访问请求,数据访问请求用于请求访问存储设备中所存储的数据。存储设备按照处理模式处理应用服务器发送的数据访问请求,对所存储的数据进行访问。存储设备对数据访问请求的处理模式不再单一,能够灵活的处理数据访问请求,使得存储设备对数据访问请求的处理模式能够较好的与当前所处的场景匹配。
Description
本申请要求于2021年12月21日提交的申请号为202111574394.8、发明名称为“访问存储设备的方法及存储系统”的中国专利申请的优先权,以及于2022年2月18日提交中国专利局、申请号为202210150396.2、申请名称为“一种数据处理系统、方法及设备”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
本申请涉及存储技术领域,尤其涉及一种数据处理系统、方法及设备。
在存储领域,不同用户可以通过部署在客户端设备的应用程序向存储设备发送数据访问请求,以进行数据访问。对于存储设备来说,需要处理由不同用户、不同应用程序发起的数据访问请求。在实际应用场景中,不同数据访问请求的处理需求不同。例如,对于不同用户,对于数据访问请求的时延要求不同,比如,企业级用户对时延要求较高,个人用户对时延要求较低。不同应用程序发起的数据访问请求也存在相应的时延需求,比如,文件管理类的应用程序对时延要求较高,文件存储类的应用程序对时延要求较低。
存储设备在处理数据访问请求时,应当尽量达到数据访问请求的处理需求,但是目前,存储设备对数据访问请求的处理模式较为简单、单一。例如,为了达到时延要求,在到达存储设备之前,按照数据访问请求的时延要求调整这些数据访问请求到达存储设备的次序,事实上,当存储设备负载较大时,仅是依靠调整数据访问请求的到达存储设备次序,也不能完全达到时延要求。又例如,为了保证数据访问请求的处理效率,将数据访问请求分配至空闲的存储设备,事实上,总是存在存储系统中所有存储设备都处于工作状态的情况,这种将数据访问请求分配至空闲的存储设备的方式也并无法完全保证数据访问请求的处理效率。
发明内容
本申请提供一种数据处理系统、方法及设备,用以提高数据访问请求的处理模式的灵活性。
第一方面,本申请实施例提供了一种数据处理系统,该数据处理系统包括应用服务器以及存储系统中的节点,在本申请实施例中将存储系统中的节点称为存储设备。在该数据处理系统中,应用服务器能够管理该存储设备,以变更该存储设备对数据访问请求的处理模式。例如,应用服务器可以向存储设备发送第一管理请求,第一管理请求用于请求配置存储设备对数据访问请求的处理模式。存储设备在接收到该第一管理请求后,可以根据第一管理请求配置存储设备对数据访问请求的处理模式。之后,应用服务器可以向存储设备发送数据访问请求,数据访问请求用于请求访问存储设备中所存储的数据。存储设备可以按照处理模式处理应用服务器发送的数据访问请求,对所存储的数据进行访问。
通过上述系统,应用服务器可以指示存储设备变更对数据访问请求的处理模式,使得存储设备对数据访问请求的处理模式不再单一,能够灵活的处理数据访问请求,使得存储设备 对数据访问请求的处理模式能够较好的与当前所处的场景匹配。
在一种可能的实施方式中,存储设备对数据访问请求的处理模式可以表现的多个方面,例如,存储设备的工作模式会影响数据访问请求的处理模式,存储设备对数据访问请求的处理优先级(简称优先级)也会影响数据访问请求的处理模式。该第一管理请求可以请求配置该存储设备的工作模式,也可以请求配置数据访问请求的优先级。这样,存储设备在根据第一管理请求配置存储设备对数据访问请求的处理模式时,可以根据第一管理请求配置存储设备的工作模式;还可以根据第一管理请求配置数据访问请求的处理优先级。
需要说明的是,这里仅是以影响数据访问请求的处理模式为例,在实际应用中,在不以改变数据访问请求的处理模式为主要目的的情况下,应用服务器也可以通过发送第一管理请求的方式请求存储设备配置工作模式。
通过上述系统,存储设备通过配置存储设备的工作模式或数据访问请求的优先级来变更数据访问请求的处理模式,方式较为灵活,适用于不同场景。
在一种可能的实施方式中,存储设备在根据第一管理请求配置存储设备的工作模式,还可以调整存储设备的硬盘的工作模式。存储设备可以根据第一管理请求向存储设备的硬盘发送管理命令,管理命令用于请求配置硬盘的工作模式。
在本申请实施例中硬盘侧可以配置有不同的工作模式,存储设备只需要通过管理命令通知硬盘需要切换到的工作模式即可。在一些场景中,管理命令也可以指示具体的调整方式以配置硬盘的工作模式。该调整方式是指对硬盘的一些参数的调整,如吞吐量、后台操作的频次等。
通过上述系统,存储设备可以通过调整硬盘的工作模式以配合存储设备的工作模式的调整,进一步保证存储设备的工作模式能够与当前所需的数据访问请求的处理模式匹配。
在一种可能的实施方式中,应用服务器除了可以调整存储设备工作模式以及数据访问请求的优先级之外,还可以向存储设备下发计算任务。例如,应用服务器可以向存储设备发送第二管理请求,第二管理请求用于向存储设备下发第一计算任务。存储设备在接收到第二管理请求后,可以根据第二管理请求执行第一计算任务,并向应用服务器反馈第一计算任务的计算结果。
通过上述系统,存储设备能够在应用服务器的请求下完成计算任务,并反馈计算任务的计算结果,使得存储设备能够除了实现数据存储,还可以实现数据计算,以保证存储设备的资源能够被有效利用。
在一种可能的实施方式中,应用服务器可以对计算任务进行分解,当应用服务器接收到用户触发的第二计算任务后,可以将第二计算任务分解为多个小的计算任务。该多个小的计算任务中包括该第一计算任务。
通过上述系统,应用服务器可以实现计算任务的分解,分解出的小的计算任务可以配置给不同的存储设备,这样能够保证计算任务可以被高效的完成。
在一种可能的实施方式中,计算任务的类型有很多种。该计算任务包括但不限于:数据搜索、数据迁移、数据计算、数据编解码、数据排序、数据压缩。
通过上述系统,计算任务的类型多样化,适用于不同的计算场景。
在一种可能的实施方式中,应用服务器还可以获取存储设备的硬盘的状态。应用服务器可以获取虚拟硬盘的状态,该虚拟硬盘是指存储设备中各个硬盘虚拟为的一个硬盘,也可以获取该存储设备中单个硬盘的状态。例如,应用服务器可以向存储设备发送第三管理请求, 第三管理请求用于请求监控存储设备的硬盘。存储设备在接收到第三管理请求后,可以根据第三管理请求监控存储设备的硬盘,并向应用服务器反馈硬盘的状态。
通过上述系统,应用服务器还可以监控存储设备中硬盘,以便及时了解存储设备的硬盘的状态。
在一种可能的实施方式中,存储设备在监控存储设备的硬盘时,可以根据第三管理请求向存储设备的硬盘发送监控命令,监控命令用于请求反馈硬盘的状态;硬盘在接收到该监控命令时,可以识别该监控命令,向存储设备发送监控响应,该监控响应中携带有硬盘的状态。
通过上述系统,存储设备可以通过发送监控命令方便快捷获取硬盘的状态,以保证存储设备所获取的硬盘的状态实时性。
在一种可能的实施方式中,硬盘的状态包括但不限于:硬盘的寿命、硬盘的时延、硬盘的出错情况、硬盘是否正常工作。
通过上述系统,硬盘的状态的表现方式较多,使得存储设备能够从不同的方面了解该硬盘的状态。
第二方面,本申请实施例提供了一种数据处理方法,该方法可以由存储设备中的存储设备执行。有益效果可以参见第一方面的相关描述,此处不再赘述。该方法中:存储设备可以接收应用服务器发送的第一管理请求,第一管理请求用于请求配置存储设备对数据访问请求的处理模式。存储设备在接收到第一管理请求后,可以根据第一管理请求配置存储设备对数据访问请求的处理模式。之后,存储设备按照处理模式处理应用服务器发送的数据访问请求。
在一种可能的实施方式中,存储设备在根据第一管理请求配置存储设备对数据访问请求的处理模式时,可以根据第一管理请求配置存储设备的工作模式。存储设备还可以根据第一管理请求配置数据访问请求的处理优先级。
在一种可能的实施方式中,存储设备在根据第一管理请求配置存储设备的工作模式时,存储设备可以根据第一管理请求向存储设备的硬盘发送管理命令,管理命令用于请求配置硬盘的工作模式。
在一种可能的实施方式中,存储设备还可以接收应用服务器发送的第二管理请求,第二管理请求用于向存储设备下发第一计算任务。存储设备在接收到第二管理请求后,存储设备可以根据第二管理请求执行第一计算任务,并向应用服务器反馈第一计算任务的计算结果。
在一种可能的实施方式中,计算任务包括下列的部分或全部:数据搜索、数据迁移、数据计算、数据编解码、数据排序、数据压缩。
在一种可能的实施方式中,存储设备还可以接收应用服务器发送的第三管理请求,第三管理请求用于请求监控存储设备的硬盘。存储设备在接收到第三管理请求后,可以根据第三管理请求监控存储设备的硬盘,并向应用服务器反馈硬盘的状态。
在一种可能的实施方式中,存储设备根据第三管理请求监控存储设备的硬盘时,存储设备可以根据第三管理请求向存储设备的硬盘发送监控命令,监控命令用于请求反馈硬盘的状态。存储设备可以从硬盘接收监控响应,监控响应中包括硬盘的状态。
在一种可能的实施方式中,硬盘的状态包括下列的部分或全部:
硬盘的寿命、硬盘的时延、硬盘的出错情况、硬盘是否正常工作。
第三方面,本申请实施例提供了一种数据处理方法,该方法可以由应用服务器执行。有益效果可以参见第一方面的相关描述,此处不再赘述。应用服务器可以向存储设备发送第一管理请求,第一管理请求用于请求配置存储设备对数据访问请求的处理模式。应用服务器还 可以向存储设备发送数据访问请求,数据访问请求用于请求访问存储设备中所存储的数据。以便存储设备能够按照该处理模式处理接收到的数据访问请求。
在一种可能的实施方式中,存储设备对数据访问请求的处理模式可以为存储设备的工作模式,也可以为数据访问请求的处理优先级。
在一种可能的实施方式中,应用服务器可以向存储设备下发计算任务。例如,应用服务器可以向存储设备发送第二管理请求,第二管理请求用于向存储设备下发第一计算任务。之后,应用服务器还可以从存储设备获取第一计算任务的计算结果。
在一种可能的实施方式中,应用服务器还可以对计算任务进行分解。例如,应用服务器可以接收由用户触发的第二计算任务,从第二计算任务中分解出第一计算任务。
在一种可能的实施方式中,应用服务器还可以向存储设备发送第三管理请求,第三管理请求用于请求监控存储设备的硬盘。之后,应用服务器还可以从存储设备获取存储设备的硬盘。
第四方面,本申请实施例还提供了一种存储设备,该存储设备具有实现上述第二方面的方法实例中行为的功能,有益效果可以参见第二方面的描述此处不再赘述。所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的模块。在一个可能的设计中,所述装置的结构中包括虚拟管理模块以及应用程序接口(application programming interface,API),也即本申请实施例中的第二API,该虚拟管理模块可以运行在处理器或网卡上,虚拟管理模块以及该API配合可以执行上述第二方面方法示例中的相应功能,具体参见方法示例中的详细描述,此处不做赘述。
第五方面,本申请实施例还提供了一种应用服务器,该应用服务器具有实现上述第三方面的方法实例中行为的功能,有益效果可以参见第三方面的描述此处不再赘述。所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的模块。在一个可能的设计中,所述应用服务器的结构中包括用户管理模块以及API,也即本申请实施例中的第一API,该用户管理模块以及API可以执行上述第三方面方法示例中的相应功能,具体参见方法示例中的详细描述,此处不做赘述。
第六方面,本申请实施例还提供了一种计算设备,该计算设备具有实现上述第二方面的方法实例中行为的功能,有益效果可以参见第二方面的描述此处不再赘述。所述计算设备的结构中包括处理器、网卡和存储器,所述处理器或网卡被配置为支持所述计算设备执行上述第二方面方法中相应的功能。所述存储器与所述处理器耦合,其保存所述计算设备必要的程序指令和数据。所述计算设备的结构中还包括通信接口,用于与其他设备进行通信,如可以接收第一管理请求、第二管理请求、第三管理请求以及数据访问请求,发送第一计算任务的计算结果、发送硬盘的状态等。
第七方面,本申请实施例还提供了一种计算设备,该计算设备具有实现上述第三方面的方法实例中行为的功能,有益效果可以参见第三方面的描述此处不再赘述。所述计算设备的结构中包括处理器和存储器,所述处理器被配置为支持所述计算设备执行上述第三方面方法中相应的功能。所述存储器与所述处理器耦合,其保存所述计算设备必要的程序指令和数据。所述计算设备的结构中还包括通信接口,用于与其他设备进行通信,如可以发送第一管理请求、第二管理请求、第三管理请求以及数据访问请求,接收第一计算任务的计算结果、发送硬盘的状态等。
第八方面,本申请还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有 指令,当其在计算机上运行时,使得计算机执行上述第二方面以及第二方面的各个可能的实施方式中所述的方法。或当其在计算机上运行时,使得计算机执行上述第三方面以及第三方面的各个可能的实施方式中所述的方法。
第九方面,本申请还提供一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述第二方面以及第二方面的各个可能的实施方式中所述的方法。或当其在计算机上运行时,使得计算机执行上述第三方面以及第三方面的各个可能的实施方式中所述的方法。
第十方面,本申请还提供一种计算机芯片,所述芯片与存储器相连,所述芯片用于读取并执行所述存储器中存储的软件程序,执行上述第二方面以及第二方面的各个可能的实施方式中所述的方法。或所述芯片用于读取并执行所述存储器中存储的软件程序,执行上述第三方面以及第三方面的各个可能的实施方式中所述的方法。
图1为本申请提供的一种系统的架构示意图;
图2为本申请提供的一种应用服务器的结构示意图;
图3为本申请提供的一种存储设备的结构示意图;
图4为本申请提供的一种应用服务器与存储设备的交互示意图;
图5为本申请提供的一种数据处理方法的示意图。
如图1所示为本申请实施例提供的一种数据处理系统架构示意图,该数据处理系统包括应用服务器100以及存储设备200。
应用服务器100与存储设备200之间可以进行数据交互。在本申请实施例中,应用服务器100与存储设备200之间的交互可以分为两种。一种为应用服务器100在访问存储设备200中存储的数据时所进行的交互。另一种是应用服务器100对存储设备200管理时所进行的交互。
应用服务器100在访问存储设备200中存储的数据时,可以在存储设备200中写入数据,也可以从存储设备200读取数据。在本申请实施例中应用服务器100为了访问存储设备200中存储的数据所发送的请求消息为数据访问请求,该数据访问请求包括用于请求写入数据的数据写入请求,以及用于请求读取数据的数据读取请求。
应用服务器100对存储设备200进行的管理包括但不限于:配置工作模式、设置存储设备200处理数据访问请求的优先级、下发计算任务、监控存储设备200的硬盘等。这样,存储设备200可以在应用服务器100的管理下配置工作模式、按照优先级处理数据访问请求、执行计算任务、监控硬盘等。本申请实施例中应用服务器100对存储设备200进行管理所发送的请求消息可以称为管理请求,管理请求的类型有很多种。例如,用于请求配置工作模式的管理请求(为方便区分不同的管理请求,该管理请求也可以称为配置请求)、用于请求设置存储设备200处理数据访问请求的优先级的管理请求(为方便区分不同的管理请求,该管理请求也可以称为设置请求)、用于下发计算任务的管理请求(为方便区分不同的管理请求,该管理请求也可以称为计算请求)、用于请求监控存储设备200的硬盘的管理请求(为方便区分不同的管理请求,该管理请求也可以称为监控请求)等。
另外,对于存储设备200自身,存储设备200自身也可以自行实现一些管理功能。例如,存储设备200可以自行调整工作模块、设置处理数据访问请求的优先级、监控硬盘等。
无论是应用服务器100对存储设备200所进行的管理,还是存储设备200自身所进行管理,在一定程度上改变了存储设备200对数据访问请求的处理模式。这样使得存储设备200对数据访问请求的处理模式不再是单一的,对数据访问请求的处理模式所适用的场景更加多样化,保证在不同的场景下,存储设备200的性能达到最大化。
另外,在云场景下,数据访问请求的数量总会随着时间发生变化。除了变化的数据访问请求数量,不同用户对于存储设备200针对数据访问请求的时延等处理需求也不同。可见,云场景下存在需求弹性变化的特点,本申请实施例提供的这种系统架构下应用服务器100与存储设备200之间的交互,能够改变存储设备200对数据访问请求的处理模式,能够较好的匹配云场景。
下面分别对应用服务器100以及存储设备200进行说明:
一、应用服务器100。
在图1所示的应用场景中,该应用服务器100可以是部署在靠近用户侧的运行有客户端软件等应用程序的设备,在这种情况下,应用服务器100也可以称为客户端设备300。用户可以根据自身需求或当前场景通过应用服务器100上运行的应用程序,触发应用服务器100生成请求消息(如数据访问请求以及管理请求),以请求根据该请求消息执行相应的操作,如访问存储设备200中存储的数据(这种情况下请求消息可以理解为数据访问请求)、配置存储设备200的工作模式、设置处理数据访问请求的优先级、执行计算任务或监控存储设备200中硬盘的运行状态等。
该应用服务器100也可以为介于客户端设备300以及存储设备200之间的中间设备,该中间设备能够转发来自客户端设备300的用于访问存储设备200中数据的数据访问请求,还可以在用户的触发下生成并发送管理请求。例如,用于配置存储设备200的工作模式的配置请求、用于请求执行计算任务的计算请求、用于设置存储设备200处理数据访问请求的优先级的设置请求、用于监控存储设备200中硬盘的监控请求等。图1中仅示例性的示出了应用服务器100为中间设备的情况。
应用服务器100可以是物理机,也可以是虚拟机。物理应用服务器100包括但不限于桌面电脑、服务器、笔记本电脑以及移动设备。应用服务器100通过交换机与存储设备200进行交互。然而,交换机只是一个可选设备,应用服务器100也可以直接通过网络与存储设备200进行通信。
无论是作为靠近用户侧的客户端设备300,还是介于客户端设备300与存储设备200的中间设备,应用服务器100除了向存储设备200发送用于请求访问数据的数据访问请求,还可以根据用户的需求或者当前场景发起管理请求,如配置请求、计算请求、设置请求、以及监控请求。该管理请求能够实现对存储设备200管理,以保证存储设备200对数据访问请求的处理模式能够符合用户需求或与当前场景匹配。
如图2所示,为了实现应用服务器100对存储设备200的管理功能,在应用服务器100中部署有用户管理模块110。用户管理模块110可以理解为运行在应用服务器100上的软件模块。应用服务器100上还配置有第一API,该第一API用于实现与存储设备的交互,应用服务器100可以调用该第一应用程序接口(application programming interface,API)向存储设备发送请求消息。该第一API可以为新增的API,也可以是以通信协议的API的形式存在。
应用服务器100对存储设备200的管理功能可以体现的多种不同的方面,例如,工作模式的配置、优先级的设置、计算任务的下发、硬盘的监控等。上述管理功能所涉及的各个方面仅是举例,本申请实施例提及的应用服务器100对存储设备200的管理功能并不局限在上述几个方面。
为了方便理解,将用户管理模块110拆分为多个子模块,其中,每个子模块实现其中一方面的管理功能。如图2所示,该用户管理模块110包括:控制子模块111、用户子模块112、计算子模块113以及管理子模块114。这些子模块也可以以API的形式部署在应用服务器100,被应用服务器100以API的形式调用。
(1)、控制子模块111。
控制子模块111用于实现工作模式的配置,应用服务器100可以通过该控制子模块111配置存储设备200的工作模式,存储设备200工作模式描述了存储设备200在处理数据访问请求时所需要遵循的策略。
对于存储设备200,在不同阶段所处理的数据访问请求的数量不同,在不同阶段对不同数据请求的处理需求也不同。
举例来说,对于视频平台所有的存储设备200来说,存储设备200存储有该视频平台中的多个视频。通常工作日时,视频平台用户较活跃的时间段为中午时段、以及夜晚时段。在这两个时段内,用户通过登陆客户端软件浏览视频,此时客户端软件会触发所在的设备会向存储设备200发起数据访问请求,获取该存储设备200中所存储的视频,存储设备200在这两个时段内会处理大量的数据访问请求。而在上午时段以及下午时段,视频平台用户的活跃程度较低,存储设备200在这两个时段所处理的数据访问请求会逐渐降低。这就要求存储设备200在用户活跃的时段,能够高效的处理数据访问请求。而在用户活跃程度低的时段,存储设备200可以降低功耗,减少资源消耗。
以文件管理平台为例,文件管理平台会将用户的文件保存在存储设备200中,对用户的文件进行管理,并根据用户的需求对存储在存储设备200中的文件进行增删查改等操作。当用户需要查看文件时,用户通过应用服务器100中所运行的文件管理的应用程序发起用于请求文件的数据访问请求,存储设备200在接收到该数据访问请求后,可以向该应用服务器100反馈文件。查看文件的操作相较于其他操作,如增、删、改等操作,时延性要求更高,需要存储设备200能够快速的反馈该文件。
可见,存储设备200在不同阶段需要具备不同的工作模式,匹配不同阶段对数据访问请求的处理需求,如响应速度(响应速度可以理解为存储设备200处理数据访问请求的时延)。
工作模式的类型有很多种,在本申请实施例中仅列举其中可能的工作模式,在实际应用中可以根据实际场景增加不同的工作模式。工作模式包括但不限于:峰值性能模式(peak mode)、功耗模式(power mode)、时延模式(latency priority)、寿命模式(endurance mode)。
峰值性能模式下,存储设备200需要具备高效的数据处理能力,存储设备200的每秒的输入输出量(input/output per second,IOPS)或吞吐量需要超过阈值。
功耗模式下,存储设备200需要保证存储设备200的功耗满足一定的功耗要求。例如,存储设备200可以保证存储设备200的功耗低于功耗阈值,此时为低功耗模式(low power mode),有效节约存储设备200中资源。存储设备200也可以保证存储设备200的功耗高于功耗阈值,此时为高功耗模式(high power mode),以使得存储设备200能够高效运行。
时延模式下,存储设备200处理数据访问请求的时延需要满足一定的时延要求。例如, 存储设备200可以保证存储设备200处理数据访问请求的时延低于时延阈值,此时为时延优先模式(low latency priority),存储设备200能够快速的进行数据访问,在短时间内向应用服务器100反馈数据。例如,存储设备200可以保证存储设备200处理数据访问请求的时延低于时延阈值,此时为时延优先模式(high latency priority),存储设备200能够快速的进行数据访问,在短时间内向应用服务器100反馈数据。存储设备200可以保证存储设备200处理数据访问请求的时延高于时延阈值,此时为时延滞后模式(low latency priority),适用于存储设备200不需要快速的进行数据访问,对向应用服务器100反馈数据的时间要求较低的场景。
寿命模式下,存储设备200的预期寿命需要满足一定的寿命要求,其中,预期寿命是基于存储设备200当前组件的消耗速度推算出的存储设备200能够正常使用的时长。当前组件的消耗速度包括但不限于:硬盘的带宽、处理器的占用率、硬盘的后台操作的频次。例如,存储设备200可以保证存储设备200的组件等消耗速度所能达到的预期寿命高于寿命阈值,此时为寿命优先模式(high endurance mode),在该模式下,存储设备200需要尽量控制内部组件的消耗速度,如需要控制硬盘的消耗等。又例如,存储设备200可以保证存储设备200的组件等消耗速度所能达到的预期寿命低于寿命阈值,此时为低寿命模式(low endurance mode),在该模式下,存储设备200需要可以不考虑内部组件的消耗速度,加快数据访问请求的处理效率。
应用服务器100可以调用该控制子模块111生成用于配置工作模式的配置请求,配置请求包括但不限于:
配置峰值性能模式的配置请求,如set_peak_mode(=1);
配置功耗模式的配置请求,如set_power_mode(=high or low);
配置寿命模式的配置请求,如set_endurance_mode(=high or low);
配置时延模式的配置请求,set_latency_priority(=high or low)。
应用服务器100可以调用该第一API向存储设备发送配置请求。
(2)、用户子模块112。
用户子模块112用于实现优先级的设置,在本申请实施例中数据访问请求的优先级是指存储设备200在处理数据访问请求时的优先级。应用服务器100可以通过该用户子模块112配置优先级。
用户子模块112所实现的优先级设置包括不同粒度的优先级设置。例如,用户子模块112可以针对不同应用程序发起的数据访问请求设置优先级;用户子模块112可以针对不同用户发起的数据访问请求设置优先级;用户子模块112可以针对不同服务等级的用户发起的数据访问请求设置优先级。
其中,用户是指触发数据访问请求的账户,该用户可以是个人用户,也可以是企业级用户,针对不同的用户可以配置不同的优先级。应用程序可以是用户所能操作的客户端软件,如文件管理软件,数据库软件等。服务等级用于描述用户对于数据访问请求的处理需求。例如服务等级越高表示用户对数据访问请求的时延要求越高。
优先级的表征方式有很多种,例如,应用服务器100与存储设备200可以利用数值表征不同针对不同应用程序发起的数据访问请求的优先级,优先级由高至低分别为1、2、3、4……。又例如,应用服务器100与存储设备200可以利用英文表征不同针对不同客户发起的数据访问请求的优先级,优先级由高至低分别为Ex(extreme high priority)、Ui(ultra high priority)、 Ge(general priority)……。其中,Ex表示最高优先级,Ui表示较高优先级,Ge表示普通优先级,本申请实施例并不限定优先级的表征方式。
用户子模块112设置优先级的方式存在多种。用户子模块112可以只设置部分数据访问请求的优先级。例如,应用服务器100可以通过调用用户子模块112设置部分应用程序、部分服务等级的用户或部分用户发起的数据访问请求设置优先级。用户子模块112也可以设置全部数据访问请求的优先级。例如,应用服务器100也可以通过调用用户子模块112设置全部应用程序、全部服务等级的用户或全部用户发起的数据访问请求设置优先级。
需要说明的是,用户子模块112所设置的优先级并非固定不变的,用户子模块112可以动态的调整优先级,对部分或全部数据访问请求的优先级进行设置。
应用服务器100可以调用该用户子模块112生成用于设置优先级的设置请求,设置请求包括但不限于:
用于初始化优先级的设置请求,如Init(priority table[user,app,level]),其中,user用于指示用户,app用于指示应用程序,level用于指示优先级,如用数字或英文标识指示优先级。
用于更新优先级的设置请求,如update(priority tabe[user,app,level])。
为了能够使得存储设备200能够按照优先级处理数据访问请求,来自客户端设备300的数据访问请求经过该用户子模块112的处理,会产生携带有标识信息的数据访问请求,该携带有标识信息的数据访问请求包括但不限于:
用于读取数据的数据读取请求,该数据读取请求中携带有标识优先级的一些标识信息,如Read IO(info[user,app,address,etc.]),其中,Read IO指示数据访问请求为数据读取请求,info指示该数据读取请求可以携带的信息,数据读取请求所携带的信息可以包括中括号中的信息,user用于指示用户,app用于指示应用程序,address用于标识客户端设备300的地址。
用于写入数据的数据写入请求,该数据写入请求中携带有标识优先级的一些标识信息。如Write IO(info[user,app,address,etc.]),其中,Write IO指示数据访问请求为数据写入请求。关于info、user、app、address的说明可以参见前述说明,此处不再赘述。
应用服务器100可以调用该第一API向存储设备发送设置请求以及数据访问请求。
(3)、计算子模块113。
计算子模块113用于实现计算任务的下发,应用服务器100可以通过该计算子模块113将计算任务下发至存储设备200,指示该存储设备200执行该计算任务;计算子模块113还可以从存储设备200中获取执行任务的计算结果。
该计算任务可以是用户通过客户端设备300发送给应用服务器100的,当应用服务器100接收到该计算任务后,可以解析该计算任务。若该计算任务的工作量较大,超高一定阈值,或计算任务所涉及的数据分布在不同的存储设备200中。应用服务器100可以对该计算任务进行分解,将该计算任务进一步分解为多个小的计算任务。应用服务器100可以将这些小的计算任务分发给多个存储设备200,一个存储设备200可以承担一个或多个小的计算任务。
计算子模块113在分解了计算任务之后,可以向存储设备200发送计算请求,以下发计算任务。该计算请求中包括数据计算范围、计算指示。数据计算范围可以指示需要参与到计算任务的数据,计算指示用于指示数据计算的方式。
在本申请实施里中,计算任务包括但不限于:数据搜索、数据计算、数据迁移、数据排序、数据压缩、数据编解码。
数据搜索是指从存储设备200中部分或全部数据中搜索出满足目标要求的数据。在数据搜索这类计算任务中,计算子模块113需可以告知存储设备200数据搜索范围(可以理解为数据计算范围)和目标要求。在该种计算任务中,计算指示表征搜索出满足目标要求的数据。数据搜索范围是指数据搜索所针对的数据。也即需要指示存储设备200针对部分数据进行搜索,还是针对全部数据进行搜索。当针对部分数据进行搜索时,该部分数据具体为哪些数据。
数据计算是指对存储设备200中存储的全部或部分数据进行函数运算。计算子模块113需可以告知存储设备200计算范围(可以理解为前述的数据计算范围)以及函数,在该计算任务中,计算指示表征数据进行函数运算。计算范围指示数据计算所针对的数据。也即需要指示存储设备200针对部分数据进行数据计算,还是针对全部数据进行数据计算。当针对部分数据进行搜索时,该部分数据具体为哪些数据。函数即为数据计算时针对该部分或全部数据所采用的计算方式。
数据迁移是指对存储设备200中的部分或全部数据进行转移,从原地址转移至目的地址。计算子模块113需可以告知存储设备200原地址(可以理解为数据计算范围)和目的地址,计算指示表征数据需迁移到目的地址。
数据排序是指对存储设备200中的部分或全部数据按照排序要求进行排序。在数据排序这类计算任务中,计算子模块113需可以告知存储设备200数据排序范围(可以理解为数据计算范围)以及排序要求,在该种计算任务中,计算指示表征按照排序要求进行排序。数据排序范围指示需要排序的数据。
数据压缩是指对存储设备200中的部分或全部数据进行压缩。在数据排序这类计算任务中,计算子模块113需可以告知存储设备200数据压缩范围(可以理解为数据计算范围),计算指示即为指示需要对数据进行压缩,可选的,计算子模块113还可以告知存储设备200数据压缩所需采用的压缩方式。数据压缩范围指示需要压缩的数据。
数据编解码是指对存储设备200中的部分或全部数据进行编码或解码。在数据排序这类计算任务中,计算子模块113需可以告知存储设备200数据编解码范围(可以理解为数据计算范围),计算指示即为指示需要对数据进行编解码,可选的,计算子模块113还可以告知存储设备200数据编码所需采用的编码方式或存储设备200数据解码所需采用的解码方式。数据编解码范围指示需要编解码的数据。
应用服务器100可以调用该计算子模块113生成用于指示计算任务的计算请求,计算请求包括但不限于:
对数据进行计算的计算请求,如exec_compute_task(user,function,address,result),其中,compute_task用于该计算任务为数据计算,user用于指示用户,function用于指示数据计算所需采用的函数,address为数据地址,用于指示数据计算范围,result为计算结果,用于告知存储设备200需要反馈计算结果。
对数据进行搜索的计算请求,如exec_search(user,address,target,return),search用于指示计算任务的类型为数据搜索,address为数据地址,用于指示数据搜索范围,target为目标,用于指示目标要求,return为反馈,用于告知存储设备200需要反馈搜索结果;
对数据进行迁移的计算请求,如exec_data_move(user,source addr,destination addr),其中,data_move用于指示计算任务的类型为数据迁移,user用于指示用户,source addr为原地址,destination addr为目的地址。
应用服务器100可以调用该第一API向存储设备发送计算请求。
(4)、管理子模块114。
管理子模块114用于实现对存储设备200中硬盘的监控,应用服务器100可以通过该管理子模块114获取存储设备200中硬盘的工作状态。
管理子模块114对存储设备200中硬盘的监控可以是粗粒度的监控。所谓粗粒度的监控是指对存储设备200中所有硬盘的整体工作状态进行监控,如可以监控存储设备200所有硬盘的整体带宽、所有硬盘中正常工作的硬盘数量以及故障的硬盘数量、硬盘寿命(硬盘寿命可以理解为硬盘的擦写次数)、硬盘出错情况(硬盘出错是指硬盘在进行数据读写时产生的错误)、硬盘读写时延分布(硬盘时延分布是指硬盘一段时间内在进行数据读写的时延)、监控存储设备200中所有硬盘的时延平均值等。其中,硬盘的带宽是指数据吞吐量(throughput),指单位时间内可以成功传输的数据数量,硬盘的时延是指硬盘进行数据存取的时间。当管理子模块114对存储设备200的监控为粗粒度监控时,存储设备200在接收到管理子模块114发送的监控请求后,可以获取各个硬盘的工作状态,将各个硬盘的工作状态进行汇总后,将整体的工作状态上报至应用服务器100。关于存储设备200在粗粒度的监控下所执行的操作将在下文中描述,此处不再详述。
管理子模块114对存储设备200中硬盘的监控也可以是细粒度的监控。所谓细粒度的监控是指对存储设备200中一个或者多个硬盘的工作状态进行监控,如可以监控存储设备200某一个或某几个硬盘的带宽、某一个或某几个硬盘是否正常或故障、监控存储设备200中某一个或某几个硬盘的时延等。
应用服务器100可以调用该管理子模块114生成用于监控硬盘工作状态的监控请求,监控请求包括但不限于:
监控硬盘的带宽的监控请求,如get_ssd_bw(ssd_name),其中,bw即为带宽(bandwidth),ssd_name为SSD的标识,用于指示需要监控的硬盘,当ssd_name缺失时,可以认为该监控请求所请求的带宽是所有硬盘的整体带宽。
监控硬盘是否工作的监控请求,如get_stat_info(ssd_name),info为信息(information),这里用于代表需要监控的硬盘的信息,如带宽、寿命等。stat即为状态(state),ssd_name为SSD的标识,用于指示需要监控的硬盘,当ssd_name缺失时,可以认为该监控请求所请求的信息是所有硬盘的工作信息,如所有硬盘是否正常工作,正常工作的硬盘的数量等。
监控硬盘是否故障的监控请求,如get_error_info(ssd_name),ssd_name为SSD的标识,用于指示需要监控的硬盘,当ssd_name缺失时,可以认为该监控请求所请求的信息是所有硬盘的故障信息,如所有硬盘是否故障,故障的硬盘的数量等。
应用服务器100可以调用该第一API向存储设备发送监控请求。
需要说明的是,上述用户管理模块110中包括的各个子模块仅是举例,在实际应用场景中,用户管理模块110所包括的子模块的数量以及子模块的功能并不局限于上述各个子模块。在具体应用中,可根据实际需求增加具备相应功能的子模块,或对某一子模块增加相关功能等。
二、存储设备200。
在本申请实施例中,存储设备200是一种既具有计算能力又具有存储能力的设备,存储设备200可以为服务器、台式计算机等。本申请实施例并不限定存储设备200部署的位置。该存储设备200可以部署在云端,如部署在边缘数据中心,还可以部署在中心云数据中心。
存储设备200可以接收来自应用服务器100的请求消息,并处理请求消息,根据请求消息执行相应的操作,这些请求消息包括数据访问请求和管理请求。存储设备200可以根据数据访问请求可对存储设备200中存储的数据进行数据访问;存储设备200可以通过处理管理请求实现应用服务器100对存储设备200的管理。例如,存储设备200可以根据配置请求配置自身的工作模式,根据监控请求监控存储设备200中硬盘的状态,根据计算请求执行计算任务、或根据设置请求设置数据访问请求的优先级。
存储设备200也可以自发的实现对存储设备200的管理,例如,存储设备200可以根据当前场景配置工作模式、设置处理数据访问请求的优先级、以及监控存储设备200中硬盘的状态。
在硬件上,如图3所示,存储设备200包括至少一个处理器210、内存220、网卡230和硬盘240。处理器210、内存220、网卡230和硬盘240之间通过总线连接。其中,处理器210和内存220用于提供计算资源。具体地,处理器210是一个中央处理器(central processing unit,CPU)。图3中仅示出了两个CPU,本申请实施例并不限定CPU的数量,可以为一个也可以为多个。
内存220是指与处理器210直接交换数据的内部存储器,它可以随时读写数据,而且速度很快,作为存储操作系统或其他正在运行中的程序的程序指令的存储器。内存220包括至少两种存储器,例如内存220既可以是随机存取存储器,如动态随机存取存储器(dynamic random access memory,DRAM)、存储级存储器(storage class memory,SCM),也可以是只读存储器(read only memory,ROM)。内存220还可以包括其他随机存取存储器,例如静态随机存取存储器(static random access memory,SRAM)等。内存220还可以是双列直插式存储器模块或双线存储器模块(dual in-line memory module,DIMM)。
硬盘240用于提供存储资源,例如存储数据。它可以是磁盘或者其他类型的存储介质,例如固态硬盘240(solid state drive,SSD)或者叠瓦式磁记录硬盘240等。
在本申请实施例中,以硬盘240为固态硬盘240为例进行说明,通过对固态硬盘240的接口协议中预留字段进行配置,或为固态硬盘240订制私有协议,使得固态硬盘240能够识别自定义命令,处理该自定义命令。这里的自定义命令是指存储设备200在处理来自应用服务器100的管理请求(如监控请求、配置请求、设置请求、计算请求等)时需要向固态硬盘240下发的命令,命令是除了正常数据读写命令之外的其他命令,关于自定义命令的说明在下文中会详述。接口协议包括但不限于:非易失性内存220主机控制器接口规范(non-volatile memory express,NVMe)协议、串行高级技术附件(advanced technology attachment,SATA)协议、高速串行计算机扩展总线标准(peripheral component interconnect express,PCIe)协议。
在本申请实施例中为了与存储设备200的工作模式匹配,固态硬盘240也可以设置相应的工作模式。以存储设备200的工作模式包括峰值性能模式、功耗模式、时延模式、以及寿命模式为例,固态硬盘240也可以设置固态硬盘240的峰值性能模式、功耗模式、时延模式、以及寿命模式,以与存储设备200的不同的工作模块相对应。固态硬盘240的峰值性能模式、功耗模式、时延模式、以及寿命模式与存储设备200的值性能模式、功耗模式、时延模式、以及寿命模式类似,此处不再赘述。
网卡230用于与应用服务器100通信,网卡230可以接收来自应用服务器100的请求消息,当网卡230具备数据处理功能时,如该网卡230为智能网卡230,网卡230也可以代替处理器210执行一些处理操作。
在本申请实施例中对于来自应用服务器100的请求消息,存储设备200内部可以由处理器210处理该请求消息,网卡230仅是将请求消息转发给处理器210。在这种处理方式中,处理器210调用内存220中程序指令对请求消息进行处理。存储设备200内部也可以由网卡230解析并处理请求消息。这种处理方式中,请求消息不会传输至处理器210,能够减少对处理器210的占用。存储设备200内部也可以由网卡230和处理器210配合处理请求消息。例如,网卡230可以处理数据访问请求,将数据访问请求转发给硬盘240,以实现数据访问。处理器210处理除数据访问请求之外的其他请求消息(也即管理请求),如配置请求、控制请求、计算请求以及设置请求等。
如图4所示,在存储设备200中部署有存储管理模块250。存储管理模块250可以理解为运行在存储管理上的软件模块。本申请实施例并不限定该软件模块在存储设备200内部所部署的位置。例如该存储管理模块250可以部署在网卡230上,那么在存储设备200内部则有网卡230来处理来自应用服务器100的请求消息。又例如,该存储管理模块250可以部署在处理器210上,那么在存储设备200内部则有处理器210来处理来自应用服务器100的请求消息。又例如,在存储管理模块250部分部署在处理器210上,部分处理在网卡230上,那么由网卡230和处理器210配合处理请求消息。
存储设备200上还配置有第二API,该第二API用于实现与硬盘的交互,存储设备200可以调用该第二API向存储设备发送自定义命令(如监控命令、配置命令等)或者基于数据访问请求生成的命令。该第二API可以为新增的API,也可以是以通信协议(如NVMe协议)的API的形式存在。
由于存储管理模块250部署的位置不同,存储设备200内部处理请求消息的硬件组件也不同。为了方便说明,下面以存储管理模块250为执行主体,对存储设备200处理请求消息的方式进行说明。应需理解的是,存储管理模块250处理请求消息实际上是存储管理模块250所在的硬件来处理请求消息。
对于不同类型的请求消息,存储管理模块250处理请求消息的方式不同。
(1)、数据访问请求。
存储管理模块250当接收到请求消息后,解析该请求消息,确定该请求消息为数据访问请求。
对于用于请求写入数据的数据写入请求,存储管理模块250根据存储设备200中硬盘240的状态从硬盘240中选择目标硬盘240。存储管理模块250将数据写入请求发送给目标硬盘240,由目标硬盘240处理该数据写入请求,在目标硬盘240中写入数据。例如,存储管理模块250可以选取负载较小的硬盘240作为目标硬盘240,将该数据写入请求发送至该目标硬盘240。
对于用于请求读取数据的数据读取请求,存储管理模块250根据该数据读取请求中携带的数据地址确定需要读取的数据所在的硬盘240,将该数据读取请求发送给所确定的硬盘240中,由该硬盘240处理该数据读取请求,从数据地址读取数据,将读取的数据反馈给存储管理模块250。存储管理模块250获取硬盘240所反馈的数据后,将该数据发送至应用服务器100。
(2)、管理请求。
存储管理模块250当接收到请求消息后,解析该请求消息,确定该请求消息为管理请求,对于不同类型的管理请求,存储管理模块250可以根据管理请求执行相应的操作。下面列举几种管理请求的处理方式。
1)、配置请求,用于请求配置工作模式。
当接收到用于请求配置工作模块式的配置请求时,存储管理模块250会根据该配置请求将自身的工作模式转换为该配置请求所指示的工作模式。
存储管理模块250在根据该配置请求将自身的工作模式转换为该配置请求所指示的工作模式时,可以调整存储设备200中各个组件的状态,以达到为该配置请求所指示的工作模式的要求。
当该配置请求用于请求配置工作模式为峰值性能模式,存储管理模块250可以将工作模式切换到峰值性能模式。例如,存储管理模块250可以利用第二API向硬盘发送配置命令,暂停所有硬盘240的后台操作,释放硬盘240的带宽;存储管理模块250还可以利用第二API向硬盘发送配置命令,上调硬盘240的时钟频率等,使得存储设备200的达到性能最大。这里这些方式仅是举例,凡是能够提升存储设备200的性能的方式均适用于本申请实施例。
当该配置请求用于请求配置工作模式为低功耗模式,存储管理模块250可以将工作模式切换到低功耗模式。例如,存储管理模块250可以调整存储设备200中组件的状态,以减少存储设备200中组件(如处理器、内存等)的功耗。存储管理模块250还可以利用第二API向硬盘发送配置命令,暂停所有硬盘240的后台操作,减少硬盘的功耗等,使得存储设备200达到功耗较小。这里这些方式仅是举例,凡是能够降低存储设备200的功耗的方式均适用于本申请实施例。当该配置请求用于请求配置工作模式为高功耗模式,存储管理模块250可以将工作模式切换到高功耗模式的方式与前述将工作模式切换到低功耗模式的方式相反。
当该配置请求用于请求配置工作模式为时延优先模式,存储管理模块250可以将工作模式切换到时延优先模式。例如,存储管理模块250可以调整存储设备200中组件的状态,加快存储设备200中组件(如处理器、内存等)的处理效率。存储管理模块250还可以利用第二API向硬盘发送配置命令,暂停所有硬盘240的后台操作,以保证硬盘240能够加快进行数据访问。这里这些方式仅是举例,凡是能够降低存储设备200的时延的方式均适用于本申请实施例。当该配置请求用于请求配置工作模式为时延滞后模式,存储管理模块250可以将工作模式切换到时延滞后模式的方式与前述将工作模式切换到时延优先模式的方式相反。
当该配置请求用于请求配置工作模式为寿命优先模式,存储管理模块250可以将工作模式切换到寿命优先模式。例如,存储管理模块250可以调整存储设备200中组件的状态,如,减少处理器的处理效率,降低内存的读写次数,增加存储设备200中组件(如处理器、内存等)的寿命。存储管理模块250还可以利用第二API向硬盘发送配置命令,降低所有硬盘240的后台操作的频次、降低硬盘240的带宽等,以延长硬盘240的寿命。这里这些方式仅是举例,凡是能够增加存储设备200的寿命的方式均适用于本申请实施例。当该配置请求用于请求配置工作模式为低寿命模式,存储管理模块250可以将工作模式切换到时延优先模式的方式与前述将工作模式切换到低寿命模式的方式相反。
对于硬盘240,存储管理模块250可以采用上述方式精确控制硬盘240的状态。当硬盘240设置有与存储设备200相匹配的各个工作模式时,存储管理模块250也可以利用第二API向硬盘240发送配置命令,该配置命令用于指示硬盘240配置工作模式。
例如,当该配置请求用于请求配置工作模式为峰值性能模式,存储管理模块250可以利 用第二API向硬盘240发送配置命令,该配置命令可以指示硬盘240将工作模式配置为峰值性能模式。硬盘240在接收到该配置命令后,可以识别该配置命令,将自身的工作模式切换到峰值性能模式。
对于硬盘240的峰值性能模式,硬盘240可以将工作模式切换到峰值性能模式。例如,暂停硬盘240的后台操作,释放硬盘240的带宽,使得硬盘240的达到性能最大。这里这些方式仅是举例,凡是能够提升硬盘240的性能的方式均适用于本申请实施例。
对于硬盘240的低功耗模式,硬盘240可以将工作模式切换到低功耗模式。例如,硬盘240可以暂停硬盘240的部分后台操作或降低后台操作的频次(后台操作是指除了进行数据访问的其他操作,如垃圾回收等),减少硬盘的功耗等。这里这些方式仅是举例,凡是能够降低硬盘240的功耗的方式均适用于本申请实施例。对于该硬盘240的高功耗模式,硬盘240可以将工作模式切换到高功耗模式的方式与前述将工作模式切换到低功耗模式的方式相反。
对于硬盘240的时延优先模式,硬盘240可以将工作模式切换到时延优先模式。例如,暂停硬盘240的后台操作,以保证硬盘240能够加快进行数据访问。这里这些方式仅是举例,凡是能够降低硬盘240的时延的方式均适用于本申请实施例。对于硬盘240的时延滞后模式,硬盘240可以将工作模式切换到时延滞后模式的方式与前述将工作模式切换到时延优先模式的方式相反。
对于硬盘240的寿命优先模式,硬盘240可以将工作模式切换到寿命优先模式。例如降低硬盘240的后台操作的频次、降低硬盘240的带宽等,以延长硬盘240的寿命。这里这些方式仅是举例,凡是能够增加硬盘240的寿命的方式均适用于本申请实施例。对于硬盘240的低寿命模式,硬盘240可以将工作模式切换到时延优先模式的方式与前述将工作模式切换到低寿命模式的方式相反。
2)、设置请求,用于请求设置存储设备200处理数据访问请求的优先级。
存储设备200中可以保存有优先级列表,该优先级列表记录了对于不同用户、客户或应用程序的优先级。该优先级列表可以存储在存储设备200的内存220中,也可以存储在网卡230内部。
当接收到用于请求设置存储设备200处理数据访问请求的优先级的设置请求时,存储管理模块250会根据该设置请求更新优先级列表,如根据设置请求重新调整优先级列表中的不同用户、服务等级的用户或应用程序的优先级,根据设置请求在优先级列表中增加新的用户、服务等级的用户或应用程序的优先级,根据设置请求在优先级列表中删除用户、服务等级的用户或应用程序的优先级。
存储管理模块250会根据更新后的优先级列表处理接收到的数据访问请求。存储管理设备在根据更新后的优先级列表处理接收到的数据访问请求时,可以按照优先级列表依次处理各个数据访问请求。对于优先级较高的数据访问请求,存储管理模块250可以利用第二API将基于该数据访问请求产生的命令插入到硬盘的提交队列中靠前的位置。存储管理模块250还可以在将基于该数据访问请求产生的命令放置到硬盘的提交队列之前,在该命令中增加优先级标识,该优先级标识用于表征该命令的优先级。存储管理模块250将增加了优先级标识的命令放置到硬盘的提交队列中。存储管理模块250在放置该命令时,可以利用第二API将该命令插入到硬盘的提交队列中靠前的位置,也可以利用第二API将该命令放置到硬盘的提交队列的队尾。对于硬盘,硬盘能够识别提交队列中各个命令中增加的优先级标识,硬盘在 从提交队列中提取到该增加了优先级标识的命令,可以识别优先级标识确定各个命令的优先级,基于该优先级处理各个命令。存储管理模块250也可以与硬盘240预先配置不同优先级的命令格式,也即不同优先级的命令格式不同,存储管理模块250可以基于数据访问请求的优先级生成相应优先级的命令,将该命令插入到硬盘的提交队列中。对于硬盘,硬盘能够通过识别命令格式确定命令的优先级,基于优先级处理各个命令。
3)、计算请求,用于下发计算任务。
当接收到用于下发计算任务的计算请求时,存储管理模块250会根据该计算请求执行计算任务。存储管理模块250可以解析该计算请求,确定该计算请求中指示的数据计算范围,确定该数据计算范围指示的数据所在的硬盘240,向该硬盘240发送数据读取命令,该数据读取命令用于请求读取该数据计算范围所指示的数据。若该数据计算范围所指示的数据分布在多个硬盘240中。存储管理模块250可以向该多个硬盘240发送数据读取命令,以请求该数据计算范围内的数据。
存储管理模块250从硬盘240中获取该数据计算范围所指示的数据后,可以按照计算请求中所携带的计算指示,对该数据计算范围所指示的数据进行计算,生成计算结果,将计算结果反馈给应用服务器100。
以计算请求为exec_search(user,address,target,return),计算请求下发的计算任务为数据搜索为例,存储管理模块250通过数据地址(address)确定数据所在的一个或多个硬盘240,向该一个或多个硬盘240发送数据读取命令。存储管理模块250在接收到硬盘240所反馈的数据后,根据目标要求,确定其中是否存在符合目标要求的数据以及符合目标要求的数据,将搜索结果(如是否存在符合目标要求的数据以及符合目标要求的数据)反馈给应用服务器100。
在一种可能的实施方式中,存储管理模块250在解析该计算请求,确定该数据计算范围指示的数据所在的硬盘240,存储管理模块250向该硬盘240发送的数据读取命令中也可以携带该计算指示,这样当硬盘240接收到携带有计算指示的数据读取命令时,可以按照计算指示对数据进行处理,并反馈给存储设备200。
4)、监控请求,用于请求监控存储设备200的硬盘240。
在接收到用于监控存储设备200的硬盘240的监控请求时,存储管理模块250会根据该监控请求监控存储设备200的工作状态。
当对存储设备200中硬盘240的监控为粗粒度的监控。如监控请求用于请求监控存储设备200所有硬盘240的整体带宽、所有硬盘240中正常工作的硬盘240数量以及故障的硬盘240数据、硬盘240的平均寿命(硬盘240的平均寿命可以理解为所有硬盘240的寿命的平均值)、硬盘240的平均出错情况(硬盘240平均出错是指所有硬盘240的出错情况的平均值)、监控存储设备200中所有硬盘240的时延平均值等。
存储管理模块250可以利用第二API分别向各个硬盘240发送监控命令,获取各个硬盘240的带宽、各个硬盘240是否正常工作、各个硬盘240的寿命、各个硬盘240的出错情况以及各个硬盘240的时延。当硬盘240接收到该监控命令时,可以反馈硬盘240的带宽、硬盘240正常工作、硬盘240的寿命、硬盘240的出错情况以及硬盘240的时延等信息。存储管理模块250在接收到各个硬盘240反馈的信息后,可以对各个硬盘240反馈的信息进行汇总,将汇总后的信息发送至应用服务器100。该监控命令属于自定义命令。
例如,当应用服务器100需要监控存储设备200中所有硬盘240的整体带宽时,存储管理模块250可以将各个硬盘240的带宽进行求和,获得所有硬盘240的整体带宽,向应用服务器100反馈所有硬盘240的整体带宽。
又例如,当应用服务器100需要监控存储设备200中硬盘240的正常数量或故障数量时,存储管理模块250可以向各个硬盘240发送监控命令,该监控命令用于请求硬盘240上报是否正常工作。若硬盘240能够正常工作,该硬盘240可以解析该监控命令,并向存储管理模块250发送响应消息,该响应消息指示该硬盘240正常工作。若硬盘240发生故障,该硬盘240将无法接收或解析该监控命令,也就不会向存储管理模块250发送任何消息,若存储管理模块250未接收到该硬盘240的响应消息,则认为该硬盘240故障。存储管理模块250可以统计发送响应消息的硬盘240,确定能够正常工作的各个硬盘240以及正常工作的硬盘240数量,存储管理模块250可以统计未发送响应消息的硬盘240,确定发生故障的各个硬盘240以及故障的硬盘240数量。向应用服务器100反馈正常工作的硬盘240数量或故障的硬盘240数量。
当对存储设备200中硬盘240的监控为细粒度的监控。如监控请求用于监控存储设备200某一个或某几个硬盘240的带宽、某一个或某几个硬盘240是否正常或故障、监控存储设备200中某一个或某几个硬盘240的时延、某一个或某几个硬盘240的寿命、某一个或某几个硬盘240出错情况、某一个或某几个硬盘240读写时延分布等。
存储管理模块250可以利用第二API分别向该一个或多个硬盘240发送监控命令,获取各个硬盘240的带宽、各个硬盘240是否正常工作、各个硬盘240的寿命、各个硬盘240的出错情况、各个硬盘240的读写时延分布以及各个硬盘240的时延。当硬盘240接收到该监控命令时,可以反馈硬盘240的带宽、硬盘240正常工作、硬盘240的寿命、硬盘240的出错情况、硬盘240的读写时延分布以及硬盘240的时延等信息。存储管理模块250在接收到各个硬盘240反馈的信息后,将该一个或多个硬盘240反馈的信息发送至应用服务器100。该监控命令属于自定义命令。
例如,当应用服务器100需要监控存储设备200中硬盘240A的带宽时,存储管理模块250可以获取硬盘240A上报的带宽,向应用服务器100反馈硬盘240A的带宽。
又例如,当应用服务器100需要监控存储设备200中硬盘240A和硬盘240B是否正常,存储管理模块250可以利用第二API向硬盘240A和硬盘240B分别发送监控命令,该监控命令用于请求硬盘240上报是否正常工作。若存储管理模块250接收到硬盘240A和硬盘240B分别发送的用于指示正常工作的响应消息,存储管理模块250可以通知应用服务器100硬盘240A和硬盘240B正常工作。若存储管理模块250接收到硬盘240A发送的用于指示正常工作的响应消息,而为接收到硬盘240B的响应消息,存储管理模块250可以通知应用服务器100硬盘240A正常工作、硬盘240B故障。
在上述说明中可知,存储设备200中的存储管理模块250可以处理来自应用服务器100的管理请求,配合应用服务器100实现对存储设备200的管理。也就是说,存储设备200可以被动的在应用服务器100的请求下完成一些管理操作。在本申请实施例中,存储设备200也可以自发的执行管理操作。下面对存储设备200自行进行管理的方式进行说明。
(1)、自行配置工作模式。
根据前述说明可知,对于存储设备200,在不同阶段所处理的数据访问请求的数量不同, 在不同阶段对不同数据请求的处理需求也不同。
存储管理模块250可以根据接收到的数据访问请求的数量或接收数据访问请求的来源调整工作模式。例如,当存储管理模块250发现数据访问请求的数量呈现快速增长趋势,或数据访问请求在特定时间内的数量超过第一阈值,存储管理模块250可以将工作模式切换到峰值性能模式。又例如,当存储管理模块250发现数据访问请求的数量呈现下降趋势,或数据访问请求在特定时间内的数量低于第二阈值,存储管理模块250可以将工作模式切换到低功耗模式。又例如,当存储管理模块250发现数据访问请求均来源于某一用户或某一应用程序,若该用户或应用程序对时延要求高,存储管理模块250可以将工作模式切换到低时延模式。
存储管理模块250可以根据历史(历史是指过去的某段时间)数据访问请求的数量变化趋势,配置未来各个时间段中存储管理模块250的工作模式。例如,当存储管理模块250可以通过工作日内数据访问请求的变化趋势,若发现在中午时段以及晚上时段,数据访问请求的数量呈增长趋势,且数据访问请求的数量超过第一阈值,存储管理模块250可以认为在未来工作日内中午时段以及晚上时段需采用峰值性能模式。若发现在除中午时段以及晚上时段之外的时段,数据访问请求的数量低于第二阈值,存储管理模块250可以认为在未来工作日内除中午时段以及晚上时段之外的时段需采用低功耗模式。
(2)、自行配置处理数据访问请求的优先级。
通常存储设备200在处理数据访问请求时,会按照数据访问请求的先后顺序,依次处理数据访问请求。
但在一些场景中,存储设备200所接收的数据访问请求会呈现一定的规律性,存储设备200可以根据数据访问请求所呈现的规律性来配置处理数据访问请求的优先级。例如,存储设备200会在短时间内接收到来自同一用户、应用程序或服务等级的用户的数据访问请求。而这些数据访问请求所访问的数据往往具备一些关联性,如数据访问请求所访问的数据为相同数据或存储位置相邻的数据。若存储设备200对这些数据访问请求集中处理,处理效率会提高。在这种场景下,存储管理模块250可以提高该用户、应用程序或服务等级的用户的优先级,以优先处理来自该用户、应用程序或服务等级的用户的数据访问请求。又例如,存储设备200可以统计历史数据访问请求的来源,若发现每天的相同时段内来自同一用户、应用程序或服务等级的用户的数据访问请求会增多,存储设备200可以在未来的该时段内,提高该用户、应用程序或服务等级的用户的优先级,以优先处理来自该用户、应用程序或服务等级的用户的数据访问请求。
(3)、自行监控存储设备200的硬盘240。
为保证存储设备200能够高效的处理数据访问请求,存储设备200可以定期或不定期的监控存储设备200中硬盘240的状态,如获取硬盘240的带宽、确定硬盘240是否故障、硬盘240的时延等。例如,存储设备200可以向硬盘240发送自定义的监控命令以监控硬盘240的状态。硬盘240可以识别该监控命令,根据该监控命令向存储设备200反馈硬盘240的状态。通过自定义的监控命令实现的硬盘240状态监控能够保证硬盘240状态监控的实时性,简化硬盘240状态监控的流程。
存储管理模块250在处理数据访问请求时,可以结合硬盘240的工作状态确定需要处理该数据访问请求的硬盘240,以保证存储设备200可以将数据访问请求分配给能够高效执行该数据访问请求的硬盘240。
基于与方法实施例同一发明构思,本申请实施例还提供了一种数据处理方法,该数据处理方法由上述如图1~4任一图示中存储设备200以及应用服务器100配合执行,相关特征可参见上述实施例,此处不再赘述。如图5所示,该方法包括:
步骤501:应用服务器100向存储设备200发送第一管理请求,第一管理请求用于请求配置存储设备200对数据访问请求的处理模式。
步骤502:存储设备200接收第一管理请求,根据第一管理请求配置存储设备200对数据访问请求的处理模式。
这里以第一管理请求用于请求配置存储设备200的工作模式为例,存储设备200可以执行步骤503以完成对硬盘240的配置。
步骤503:存储设备200向存储设备200的硬盘240发送管理命令,管理命令用于请求配置硬盘240的工作模式。
步骤504:硬盘240接收该管理命令,根据该管理命令配置硬盘240的工作模式。
步骤505:应用服务器100向存储设备200发送数据访问请求,数据访问请求用于请求访问存储设备200中所存储的数据。
步骤506:存储设备200接收数据访问请求,按照处理模式处理应用服务器100发送的数据访问请求。
步骤507:应用服务器100获取用户触发的第二计算任务,从第二计算任务中分解出第一计算任务。
步骤508:应用服务器100向存储设备200发送第二管理请求,第二管理请求用于向存储设备200下发第一计算任务。
步骤509:存储设备200接收第二管理请求,根据第二管理请求执行第一计算任务。
步骤510:存储设备200向应用服务器100反馈第一计算任务的计算结果。
步骤511:应用服务器100向存储设备200发送第三管理请求,第三管理请求用于请求监控存储设备200的硬盘240。
步骤512:存储设备200根据所述第三管理请求向所述存储设备200的硬盘240发送监控命令,所述监控命令用于反馈所述硬盘240的状态。
步骤513:硬盘240向存储设备200反馈监控响应,监控响应中包括所述硬盘的状态。
步骤514:存储设备200向应用服务器100反馈硬盘240的状态。
上述实施例,可以全部或部分地通过软件、硬件、固件或其他任意组合来实现。当使用软件实现时,上述实施例可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载或执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以为通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集合的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质。半导体介质可以是固态硬盘(solid state drive,SSD)。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (22)
- 一种数据处理系统,其特征在于,所述数据处理系统包括应用服务器以及存储设备,所述存储设备为存储系统中的节点;所述应用服务器,用于向存储设备发送第一管理请求,所述第一管理请求用于请求配置所述存储设备对数据访问请求的处理模式;向所述存储设备发送数据访问请求,所述数据访问请求用于请求访问所述存储设备中所存储的数据;所述存储设备,用于接收所述第一管理请求,根据所述第一管理请求配置所述存储设备对数据访问请求的处理模式;以及按照所述处理模式处理所述应用服务器发送的数据访问请求。
- 如权利要求1所述的系统,其特征在于,所述存储设备在根据所述第一管理请求+配置所述存储设备对数据访问请求的处理模式,用于:根据所述第一管理请求配置所述存储设备的工作模式;或根据所述第一管理请求配置数据访问请求的处理优先级。
- 如权利要求2所述的系统,其特征在于,所述存储设备在根据所述第一管理请求配置所述存储设备的工作模式,用于:根据所述第一管理请求向所述存储设备的硬盘发送管理命令,所述管理命令用于请求配置所述硬盘的工作模式。
- 如权利要求1~3任一项所述的系统,其特征在于,所述应用服务器,还用于向所述存储设备发送第二管理请求,所述第二管理请求用于向所述存储设备下发第一计算任务;所述存储设备,还用于根据所述第二管理请求执行所述第一计算任务,并向所述应用服务器反馈所述第一计算任务的计算结果。
- 如权利要求4所述的系统,其特征在于,所述应用服务器,还用于获取第二计算任务,从所述第二计算任务中分解出所述第一计算任务,其中,所述第二计算任务是在用户的触发产生的。
- 如权利要求4或5所述的系统,其特征在于,所述计算任务包括下列的部分或全部:数据搜索、数据迁移、数据计算、数据编解码、数据排序、数据压缩。
- 如权利要求1~6任一项所述的系统,其特征在于,所述应用服务器,还用于向存储设备发送第三管理请求,所述第三管理请求用于请求监控所述存储设备的硬盘;所述存储设备,用于根据所述第三管理请求监控所述存储设备的硬盘,并向所述应用服务器反馈所述硬盘的状态。
- 如权利要求7所述的系统,其特征在于,所述存储设备,用于:根据所述第三管理请求向所述存储设备的硬盘发送监控命令,所述监控命令用于反馈所述硬盘的状态;从所述硬盘接收监控响应,所述监控响应中包括所述硬盘的状态。
- 如权利要求7或8所述的系统,其特征在于,所述硬盘的状态包括下列的部分或全部:所述硬盘的寿命、所述硬盘的时延、所述硬盘的出错情况、所述硬盘是否正常工作。
- 一种存储设备,其特征在于,所述存储设备包括处理单元以及硬盘,所述处理单元运行有虚拟管理模块以及应用程序接口API,所述处理单元为网卡或处理器,所述API用于实现所述存储设备与所述存储设备中硬盘的交互;所述虚拟管理模块,用于接收来自应用服务器的第一管理请求,所述第一管理请求用于请求配置所述存储设备对数据访问请求的处理模式;基于所述第一管理请求、通过调用所述API配置所述存储设备的处理模式,按照所述处理模式处理所述应用服务器发送的数据访问请求。
- 如权利要求10所述的设备,其特征在于,所述处理模块包括所述存储设备的工作模式,所述虚拟管理模块基于所述第一管理请求、通过调用所述API配置所述存储设备的处理模式,用于:根据所述第一管理请求、调用所述API向所述存储设备的硬盘发送管理命令,所述管理命令用于请求配置所述硬盘的工作模式。
- 如权利要求10或11所述的设备,其特征在于,所述虚拟管理模块,还用于接收来自所述应用服务器发送的第二管理请求,所述第二管理请求用于向所述存储设备下发第一计算任务;根据所述第二管理请求、调用所述API接口从所述硬盘获取数据,根据所述获取的数据执行所述第一计算任务,并向所述应用服务器反馈所述第一计算任务的计算结果。
- 如权利要求10~12任一项所述的设备,其特征在于,所述虚拟管理模块,还用于接收来自所述应用服务器发送的第三管理请求,所述第三管理请求用于请求监控所述存储设备的硬盘;根据所述第三管理请求、调用所述API向所述存储设备的硬盘发送监控命令,所述监控命令用于反馈所述硬盘的状态;从所述硬盘接收监控响应,所述监控响应中包括所述硬盘的状态监控所述存储设备的硬盘,并向所述应用服务器反馈所述硬盘的状态。
- 一种数据处理方法,其特征在于,所述方法:所述存储设备接收应用服务器发送的第一管理请求,所述第一管理请求用于请求配置所述存储设备对数据访问请求的处理模式;所述存储设备根据所述第一管理请求配置所述存储设备对数据访问请求的处理模式;所述存储设备按照所述处理模式处理所述应用服务器发送的数据访问请求。
- 如权利要求14所述的方法,其特征在于,所述存储设备在根据所述第一管理请求配置所述存储设备对数据访问请求的处理模式,包括:所述存储设备根据所述第一管理请求配置所述存储设备的工作模式;或所述存储设备根据所述第一管理请求配置数据访问请求的处理优先级。
- 如权利要求15所述的方法,其特征在于,所述存储设备在根据所述第一管理请求配置所述存储设备的工作模式,用于:根据所述第一管理请求向所述存储设备的硬盘发送管理命令,所述管理命令用于请求配置所述硬盘的工作模式。
- 如权利要求14~16任一项所述的方法,其特征在于,所述方法还包括:所述存储设备接收所述应用服务器发送的第二管理请求,所述第二管理请求用于向所述存储设备下发第一计算任务;所述存储设备根据所述第二管理请求执行所述第一计算任务,并向所述应用服务器反馈所述第一计算任务的计算结果。
- 如权利要求17所述的方法,其特征在于,所述计算任务包括下列的部分或全部:数据搜索、数据迁移、数据计算、数据编解码、数据排序、数据压缩。
- 如权利要求14~18任一项所述的方法,其特征在于,所述方法还包括:所述存储设备接收应用服务器发送的第三管理请求,所述第三管理请求用于请求监控所述存储设备的硬盘;所述存储设备根据所述第三管理请求监控所述存储设备的硬盘,并向所述应用服务器反馈所述硬盘的状态。
- 如权利要求19所述的方法,其特征在于,所述存储设备根据所述第三管理请求监控所述存储设备的硬盘,包括:所述存储设备根据所述第三管理请求向所述存储设备的硬盘发送监控命令,所述监控命令用于请求反馈所述硬盘的状态;所述存储设备从所述硬盘接收监控响应,所述监控响应中包括所述硬盘的状态。
- 如权利要求19或20所述的方法,其特征在于,所述硬盘的状态包括下列的部分或全部:所述硬盘的寿命、所述硬盘的时延、所述硬盘的出错情况、所述硬盘是否正常工作。
- 一种计算机存储介质,其特征在于,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使计算机执行权利要求14至21任一项所述的方法。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111574394.8 | 2021-12-21 | ||
CN202111574394 | 2021-12-21 | ||
CN202210150396.2A CN116301567A (zh) | 2021-12-21 | 2022-02-18 | 一种数据处理系统、方法及设备 |
CN202210150396.2 | 2022-02-18 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2023116434A1 true WO2023116434A1 (zh) | 2023-06-29 |
Family
ID=86789228
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/CN2022/137149 WO2023116434A1 (zh) | 2021-12-21 | 2022-12-07 | 一种数据处理系统、方法及设备 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN116301567A (zh) |
WO (1) | WO2023116434A1 (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103995674A (zh) * | 2014-04-17 | 2014-08-20 | 华为技术有限公司 | 访问请求处理方法、装置和设备 |
CN106775446A (zh) * | 2016-11-11 | 2017-05-31 | 中国人民解放军国防科学技术大学 | 基于固态硬盘加速的分布式文件系统小文件访问方法 |
CN112068765A (zh) * | 2019-06-10 | 2020-12-11 | 伊姆西Ip控股有限责任公司 | 管理存储系统的方法、设备和计算机程序产品 |
US20210223963A1 (en) * | 2020-01-20 | 2021-07-22 | EMC IP Holding Company LLC | Method and Apparatus for Estimating a Distribution of Response Times of a Storage System for a Proposed Workload |
-
2022
- 2022-02-18 CN CN202210150396.2A patent/CN116301567A/zh active Pending
- 2022-12-07 WO PCT/CN2022/137149 patent/WO2023116434A1/zh unknown
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103995674A (zh) * | 2014-04-17 | 2014-08-20 | 华为技术有限公司 | 访问请求处理方法、装置和设备 |
CN106775446A (zh) * | 2016-11-11 | 2017-05-31 | 中国人民解放军国防科学技术大学 | 基于固态硬盘加速的分布式文件系统小文件访问方法 |
CN112068765A (zh) * | 2019-06-10 | 2020-12-11 | 伊姆西Ip控股有限责任公司 | 管理存储系统的方法、设备和计算机程序产品 |
US20210223963A1 (en) * | 2020-01-20 | 2021-07-22 | EMC IP Holding Company LLC | Method and Apparatus for Estimating a Distribution of Response Times of a Storage System for a Proposed Workload |
Also Published As
Publication number | Publication date |
---|---|
CN116301567A (zh) | 2023-06-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10185592B2 (en) | Network storage device using dynamic weights based on resource utilization | |
US10387202B2 (en) | Quality of service implementation in a networked storage system with hierarchical schedulers | |
US9374425B2 (en) | Behavior based client selection for disparate treatment | |
CN112199194A (zh) | 基于容器集群的资源调度方法、装置、设备和存储介质 | |
US8694725B2 (en) | Storage system and control method thereof as well as program | |
US10810143B2 (en) | Distributed storage system and method for managing storage access bandwidth for multiple clients | |
US9384205B1 (en) | Auto adaptive deduplication to cloud based storage | |
US9792231B1 (en) | Computer system for managing I/O metric information by identifying one or more outliers and comparing set of aggregated I/O metrics | |
US10802762B1 (en) | Systems and methods for asynchronous writing of synchronous write requests based on a dynamic write threshold | |
US10359945B2 (en) | System and method for managing a non-volatile storage resource as a shared resource in a distributed system | |
KR20150007698A (ko) | 가상 데스크탑 서비스를 위한 부하 분산 시스템 | |
US10877790B2 (en) | Information processing apparatus, control method and storage medium | |
US11709626B2 (en) | Scheduling storage system tasks to promote low latency and sustainability | |
US20180307548A1 (en) | Information processing apparatus, information processing method, and non-transitory computer-readable storage medium | |
WO2023116434A1 (zh) | 一种数据处理系统、方法及设备 | |
US20230082394A1 (en) | Systems and methods for message queue storage | |
WO2023216571A1 (zh) | 弹性搜索集群的资源调度方法、装置及系统 | |
US20230393782A1 (en) | Io request pipeline processing device, method and system, and storage medium | |
WO2023116438A1 (zh) | 一种数据访问方法、装置以及设备 | |
CN113612837B (zh) | 数据处理方法、装置、介质和计算设备 | |
WO2024087663A1 (zh) | 作业调度方法、装置和芯片 | |
US20240104468A1 (en) | Maintenance background task regulation using feedback from instrumented waiting points | |
Zheng et al. | CLIBE: Precise Cluster-Level I/O Bandwidth Enforcement in Distributed File System | |
KR20140060962A (ko) | 네트워크 분산 파일 시스템에서 유휴 리소스를 이용한 다중 서비스 제공 시스템 및 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 22909749 Country of ref document: EP Kind code of ref document: A1 |