WO2017177953A1 - Method and apparatus for setting data processing path for application in storage server - Google Patents

Method and apparatus for setting data processing path for application in storage server Download PDF

Info

Publication number
WO2017177953A1
WO2017177953A1 PCT/CN2017/080480 CN2017080480W WO2017177953A1 WO 2017177953 A1 WO2017177953 A1 WO 2017177953A1 CN 2017080480 W CN2017080480 W CN 2017080480W WO 2017177953 A1 WO2017177953 A1 WO 2017177953A1
Authority
WO
WIPO (PCT)
Prior art keywords
data processing
parameter value
application
target
processing path
Prior art date
Application number
PCT/CN2017/080480
Other languages
French (fr)
Chinese (zh)
Inventor
李夫路
Original Assignee
华为技术有限公司
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by 华为技术有限公司 filed Critical 华为技术有限公司
Publication of WO2017177953A1 publication Critical patent/WO2017177953A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals

Definitions

  • the present invention relates to the field of data storage, and in particular, to a method and apparatus for setting a data processing path for an application in a storage server.
  • the storage system can provide a data storage service for a plurality of applications, where the storage system includes a storage server, and the storage server can set a corresponding data processing path for the application based on various software and hardware resources included in the storage system, so that the application is in the data I. /O (Input Output, input and output), can be carried out according to the set data processing path.
  • I. /O Input Output, input and output
  • the storage server may randomly set a data processing path for an application based on existing hardware and software resources.
  • the existing random allocation mechanism although capable of setting a data processing path for an application, enables an application to perform basic data processing, but different applications have different requirements for performance and cost of data processing, for example, virtual desktop application for data processing.
  • the delay requirements are high, and multimedia applications have lower latency requirements and higher cost requirements.
  • the data processing path set based on the random allocation mechanism described above cannot meet the performance and cost requirements of the application, and the data I/O performance of the application is affected.
  • the present application provides a method and apparatus for setting a data processing path for an application in a storage server.
  • the technical solution is as follows:
  • a first aspect provides a method for setting a data processing path for an application in a storage server, where the storage server is provided with a plurality of data processing paths, where the data processing path is an application server completing data of the application.
  • the methods include:
  • the data processing path corresponding to the parameter value is set as the target data processing path of the application.
  • each task in the storage server includes at least one processing manner, and selecting one processing from at least one processing manner of each task
  • the manner forms the plurality of data processing paths.
  • the determining The parameter value corresponding to the target parameter of the data processing path includes: acquiring a plurality of tasks corresponding to each data processing path and at least one processing manner of each task; and according to the multiple tasks and each task And at least one processing manner, calculating parameter values corresponding to the target parameter values of each of the data processing paths.
  • the calculating, according to the multiple tasks, and the processing manner of each of the tasks, And the parameter value corresponding to the target parameter value includes: generating a directed acyclic graph DAG according to the multiple tasks and at least one processing manner of each task, where the DAG is used to indicate the application And a plurality of data processing paths; and calculating, according to the DAG, parameter values corresponding to the target parameter values of each of the data processing paths.
  • the data processing path corresponding to the determined parameter value that is closest to the target parameter value is set as target data processing of the application
  • the path includes: determining whether a parameter value corresponding to the target parameter value of each data processing path is not greater than the target parameter value; if there is a data processing path, the parameter value corresponding to the target parameter value is not greater than the a target parameter value, the data processing path is set as the target data processing path of the application; if there are at least two data processing paths and the parameter value corresponding to the target parameter value is not greater than the target parameter value, then And acquiring, in the at least two data processing paths, a first data data processing path having a smallest parameter value, and setting the first data data processing path as a target data processing path of the application.
  • the method further includes: if the parameter value corresponding to each of the data processing path and the target parameter value is greater than the target parameter value, multiple data processing paths in the application And obtaining a second data processing path having the smallest parameter value; setting the second data processing path as the target data processing path of the application.
  • the data processing path corresponding to the determined parameter value that is closest to the target parameter value is set as target data processing of the application
  • the method further includes: when receiving the data write request of the application, storing the data of the application according to the target data processing path.
  • the data I/O performance of the application is improved by storing the application data according to the target data processing path that satisfies the application performance, cost, and the like.
  • an apparatus for setting a data processing path for an application in a storage server comprising a plurality of functional modules for performing the method of the first aspect described above.
  • the apparatus further includes other functional modules for performing the methods described in the various possible implementations of the first aspect described above.
  • a server comprising a processor, a memory for storing processor-executable instructions; wherein the processor is configured to:
  • the data processing path corresponding to the parameter value is set as the target data processing path of the application.
  • each task in the storage server includes at least one processing manner, and selecting one processing from at least one processing manner of each task The manner forms the plurality of data processing paths.
  • the determining, by the determining, the parameter value corresponding to the target parameter in each data processing path of the storage server includes: obtaining, corresponding to each data processing path, And a plurality of tasks and at least one processing manner of each task; calculating, according to the plurality of tasks and at least one processing manner of each task, a parameter value corresponding to each of the data processing paths and the target parameter value .
  • the processor is configured to: process according to the multiple tasks and at least one of each task In a manner, a directed acyclic graph DAG is generated, where the DAG is used to indicate a plurality of data processing paths of the application; and the parameter values corresponding to the target parameter values are calculated according to the DAG.
  • the processor is configured to: determine whether a parameter value corresponding to the target parameter value of each data processing path is not greater than a target parameter value; if there is a data processing path and the parameter value corresponding to the target parameter value is not greater than the target parameter value, setting the one data processing path as the target data processing path of the application; And obtaining, by the two data processing paths, a parameter value corresponding to the target parameter value that is not greater than the target parameter value, acquiring, in the at least two data processing paths, a first data data processing path with a minimum parameter value, and The first data data processing path is set as the target data processing path of the application.
  • the processor is configured to: if each of the data processing paths corresponds to the target parameter value The parameter value is greater than the target parameter value, and in the multiple data processing paths of the application, the second data location with the smallest parameter value is obtained.
  • the second data processing path is set as the target data processing path of the application.
  • the processor is configured to: when receiving a data write request of the application, according to the target data processing path The data of the application is stored.
  • the data I/O performance of the application is improved by storing the application data according to the target data processing path that satisfies the application performance, cost, and the like.
  • FIG. 1 is a schematic structural diagram of a storage system according to an embodiment of the present invention.
  • FIG. 2 is a flowchart of a method for setting a data processing path for an application in a storage server according to an embodiment of the present invention
  • FIG. 3 is a DAG diagram of a data processing path according to an embodiment of the present invention.
  • FIG. 4 is a block diagram of an apparatus for setting a data processing path for an application in a storage server according to an embodiment of the present invention
  • FIG. 5 is a block diagram of an apparatus for setting a data processing path for an application in a storage server according to an embodiment of the present invention.
  • FIG. 1 is a schematic structural diagram of a storage system according to an embodiment of the present invention.
  • the storage server and storage medium should be included.
  • the storage system is also connected to at least one application server through a network. Only one application server is shown in FIG. 1. The number of application servers is not specifically limited in the embodiment of the present invention.
  • the storage medium includes Solid State Drives (SSD) and Hard Disk Drive (Hard Disk Drive, HDD), used to store data for an application.
  • the storage server includes hardware resources such as a central processing unit (CPU), memory, and cache.
  • the storage server is used to provide data storage services to applications in the application server.
  • the storage server is provided with a plurality of data processing paths, and the data processing path is a plurality of tasks that the application server needs to perform to complete the data I/O of the application, for example, a storage medium type selection task, a data cache task, a data deduplication task, and a data. Compression tasks, data encoding tasks, data redundancy tasks, data addressing tasks, and more.
  • the application server may send the target parameter value to the storage server through the specified interface, and the storage server selects the data processing path that satisfies the target parameter value as the target data processing path among the plurality of data processing paths according to the target parameter value.
  • the target parameter values include target cost, target delay, and target data reliability.
  • the target cost is used to indicate the cost consumption of the data processing path, and may include a target storage cost of the application data, such as a storage medium storing the application data, a storage space, and the like;
  • the target delay is used to indicate the delay consumption of the data processing path, Refers to the target time interval from when the application sends a data I/O request to the storage device to when the data I/O response is received;
  • the target data reliability is used to indicate the data reliability consumption of the data processing path, that is, the application-to-data I/O
  • the requirement to request the integrity or consistency of the requested data for example, the integrity requirement of the data requested for the data I/O request is 95%, that is, the data I/O request is tolerated to a maximum of 5% data loss, then
  • the target data reliability consumption can be 5%.
  • the target parameter value of the application may include the parameter value of the plurality of target parameters
  • one or more of the target parameter values may be set when the target parameter value is set, and the embodiment of the present invention does not specifically limited.
  • the user can be an application developer or an application administrator.
  • the application server may provide a configuration interface for the target parameter value of the application, and in the configuration interface of the target parameter value, the user may set the target cost, target delay, and target data reliability of the application. set.
  • the configuration interface of the target parameter value may be displayed during the process of installing the application by the user, or displayed after the user triggers the configuration operation of the application, or embedded in the software dedicated to configuring the processing consumption target of the application, in the embodiment of the present invention This is not specifically limited.
  • the parameter value corresponding to each data processing path and the target parameter value may be correspondingly obtained according to the multiple target parameters corresponding to the target parameter value. That is, the parameter values corresponding to the plurality of target parameters in each data processing path are obtained. Since each task of the application corresponds to multiple processing modes, different processing modes are adopted, and the parameter values of the application are different, so that the parameter values corresponding to different data processing paths are different.
  • the process of determining a parameter value corresponding to each data processing path and the target parameter value in the storage server may be: acquiring multiple tasks corresponding to each data processing path and at least one processing mode of each task; And at least one processing manner of each task, and calculating parameter values corresponding to the target parameter values of each data processing path.
  • the storage server may perform DAG (Directed Acyclic Graph) according to multiple data processing paths of the application in the embodiment of the present invention. Modeling so that each path in the DAG indicates a data processing path. Then, calculating a parameter value corresponding to the target parameter value of each data processing path of the application according to the established model, the process may be: generating a directed acyclic graph DAG according to the plurality of tasks and at least one processing manner of each task The DAG is used to indicate a plurality of data processing paths of the application; and the parameter values corresponding to the target parameter values of each data processing path are calculated according to the DAG.
  • DAG Directed Acyclic Graph
  • the generating process of the DAG may be: acquiring a priority of each task, and determining each processing manner corresponding to each task as a node of the DAG; determining, according to the priority of each task, each task
  • Each processing mode corresponds to a hierarchy of nodes in the DAG, wherein the higher the priority of the task, the higher the level of the node corresponding to the processing mode; the initial node and the ending node of the DAG are determined, and the initial node is each The starting point of the data processing path and the highest level in the DAG, the end node being the end of each data processing path and at the DAG
  • the middle level is the lowest; the edge is added between the nodes of the adjacent level, and the directed edge points to the lower level node in the adjacent level, that is, the processing method of connecting two different priorities for each directed edge
  • the weight of the directed edge can be set to the processing consumption of the processing method pointed by the directed edge, and finally a directed acyclic graph with the processing parameter as the node and the processing
  • the initial node pair of the DAG should be applied to the data I/O starting point when performing data storage, such as the time when the data I/O enters the storage system from the application layer (that is, the storage system receives the application data).
  • the time of the I/O the end node of the DAG should be applied to the end of the data I/O when the data is stored, such as the data I/O is returned from the storage system to the application layer (ie, the application receives the return from the storage system) Time of data I/O).
  • the application includes four tasks, and the four tasks correspond to four priorities.
  • the first priority task is a data compression task, and the data compression task corresponding to the processing method includes: compression algorithm A, compression algorithm B, no compression, The de-duplication algorithm A, the de-duplication algorithm B, and the non-deduplication;
  • the second priority task is a data caching task, and the corresponding processing manner of the data caching task includes: SSD cache, NVRAM (Non-Volatile Random Access Memory, non-volatile Scaling random access memory) cache, memory cache, no cache;
  • the third priority task is data redundancy task, the data redundancy task corresponding processing methods include: DHT (Distributed Hash Table), EC (Erasure Code, data redundancy coding), three copies, no redundancy;
  • the fourth priority task is a data backup task, and the corresponding processing methods of the data backup task include: dual-active, global backup, block service,
  • the initial node of the DAG is P0 and the end node is Pe.
  • P0 has the highest level and Pe has the lowest level.
  • the initial node can be set to a level of 0 by default.
  • the first priority corresponds to the first level in the DAG
  • the second priority corresponds to the second level in the DAG
  • the third priority corresponds to the third level in the DAG
  • the fourth priority corresponds to the third level in the DAG.
  • the end node has a level of 5.
  • compression algorithm A (P11), compression algorithm B (P12), and no compression C ( P13), deduplication algorithm A (P14), deduplication algorithm B (P15), no deduplication (P16); SSD cache (P21), NVRAM buffer (P22), memory cache (P23), no cache (P24); DHT (P31), EC (P32), three copies (P33), no redundancy (P34), live (P41), global backup (P42), block service (P43), file service (P44), object service ( P45).
  • the content in "()" is the node number corresponding to the processing method.
  • the DAG shows a plurality of data processing paths for the application, where each path included in the DAG corresponds to each data processing path that should be applied.
  • different tasks include different tasks, and different tasks correspond to different processing manners. Therefore, DAGs for different applications may be generated according to processing consumption targets of different applications.
  • the processing mode of the storage server changes, for example, a new processing mode is added to the task included in the application
  • the DAG of the application may be automatically generated according to the changed processing mode and the parameter value of each processing mode after the change. And regained Take the data processing path that satisfies the target parameter value of the application.
  • the parameter values of each data processing path may be calculated, and the calculation process is as follows:
  • the storage server sets the determined data processing path corresponding to the parameter value closest to the target parameter value as the target data processing path of the application.
  • the process of setting the data processing path corresponding to the parameter value closest to the target parameter value to the target data processing path of the application in the plurality of data processing paths may be: first, determining each data processing path and Whether the parameter value corresponding to the target parameter value is not greater than the target parameter value. Secondly, according to the difference of judgment results, there are three possible situations:
  • a data processing path is set as the target data processing path of the application.
  • a minimum parameter value threshold may be set. If the calculated parameter value of the second data processing path is still greater than the minimum parameter value threshold, the current storage system cannot satisfy the user setting.
  • the target parameter value can display the prompt information for resetting the target parameter value to the user.
  • the problem of obtaining the data processing path corresponding to the parameter value closest to the target parameter value by the DAG model is transformed into the problem of obtaining the shortest path in the DAG.
  • V represents the set of all nodes in the constructed DAG
  • S represents the set of nodes that have obtained the shortest path
  • the storage server stores the data of the application according to the target data processing path when receiving the data write request of the application.
  • the multiple tasks corresponding to the target data processing path, the processing manner of each task, and the parameter values of the target data processing path may be output, so that the user can be clear
  • the data processing path of the application and the parameter value of the data processing path are obtained, that is, the processing cost, the delay consumption, the data reliability consumption, and the like are consumed by the data processing path. If the user determines that the output target data processing path is the final data processing path of the application, when the storage server receives the data write request of the application, the application data is stored according to the determined target data processing path.
  • the storage server receives the corresponding operation request of the application, and performs operations such as reading, deleting, and the like through the storage device according to the corresponding operation request, and returns the processing result to the application.
  • the method provided by the embodiment of the present invention may be applied to a high-end storage array, a mass storage cloud storage system, a Doradoa V5 all-flash array storage system, and the like, which is not specifically limited in the embodiment of the present invention.
  • the method provided by the embodiment of the present invention obtains the target parameter value of the target data processing path, and sets the data processing path corresponding to the parameter value closest to the target parameter value as the application target in the multiple data processing paths of the application.
  • the data processing path realizes the processing of the applied data by using the optimal processing method under the constraints of resources, performance and cost. Further, the problem of obtaining the optimal data processing path is transformed into the problem of obtaining the shortest path in the DAG model, which greatly simplifies the calculation of the data processing, and makes the acquisition process of the optimal data processing path easier and faster.
  • FIG. 4 is a block diagram of an apparatus for setting a data processing path for an application in a storage server according to an example of the present invention, including: a receiving module 401, an obtaining module 402, and a setting module 403.
  • the setting module 403 is configured to set the determined data processing path corresponding to the parameter value closest to the target parameter value as the target data processing path of the application.
  • the acquiring module is configured to acquire multiple tasks corresponding to each data processing path and at least one processing manner of each task; and calculate each data processing according to multiple tasks and at least one processing manner of each task The parameter value corresponding to the path and the target parameter value.
  • the acquiring module is configured to acquire multiple tasks corresponding to each data processing path and at least one processing manner of each task; and calculate each data processing according to multiple tasks and at least one processing manner of each task The parameter value corresponding to the path and the target parameter value.
  • the setting module is configured to determine whether the parameter value corresponding to each data processing path and the target parameter value is not greater than the target parameter value; if there is a data processing path corresponding to the target parameter value, the parameter value is not greater than the target parameter value, Setting a data processing path as the target data processing path of the application; if there are at least two data processing paths and the parameter value corresponding to the target parameter value is not greater than the target parameter value, obtaining the minimum parameter value in at least two data processing paths
  • the first data data processing path sets the first data data processing path to the target data processing path of the application.
  • the device further includes:
  • the device provided by the embodiment of the present invention obtains a target parameter value that reflects performance, cost, and the like of the application, and sets a data processing path corresponding to the parameter value closest to the target parameter value as the target data processing path of the application, so that the target The data processing path can meet the requirements of application performance, cost, etc., and improve the data I/O performance of the application.
  • the data processing path obtaining device in the storage system provided by the foregoing embodiment, when the data processing path is obtained, only the division of each functional module is used as an example. In an actual application, the foregoing function may be set as needed. It is completed by different functional modules, that is, the internal structure of the device is divided into different functional modules to complete all or part of the functions described above.
  • the fault-tolerant processing device and the fault-tolerant processing method are provided in the same embodiment, and the specific implementation process is described in detail in the method embodiment, and details are not described herein again.
  • Apparatus 500 can also include a power supply component 526 configured to perform power management of apparatus 500, a wired or wireless network interface 550 configured to connect apparatus 500 to the network, and an input/output (I/O) interface 558.
  • Device 500 can operate based on an operating system stored in memory 532, such as Windows ServerTM, Mac OS XTM, UnixTM, LinuxTM, FreeBSDTM or the like.
  • the processing component 522 is configured to execute an instruction to execute the data processing path obtaining method in the foregoing storage system, including the following steps:
  • the data processing path corresponding to the parameter value is set as the target data processing path of the application.
  • each task in the storage server includes at least one processing manner, and selecting one processing manner from at least one processing manner of each task to form the multiple data processing paths.
  • the diversity of data processing path selection is increased, enabling the storage server to better set the data processing path for the application to meet the requirements.
  • the determining, by the storage server, the parameter value corresponding to the target parameter in each data processing path includes: acquiring a plurality of tasks corresponding to each data processing path and at least one processing manner of each task; And calculating, according to the plurality of tasks and at least one processing manner of each task, parameter values corresponding to the target parameter values of each of the data processing paths.
  • calculating, according to the multiple tasks and at least one processing manner of each task, calculating parameter values corresponding to the target parameter values of each of the data processing paths including: according to the multiple tasks and At least one processing manner of each task, generating a directed acyclic graph DAG, the DAG is used to indicate a plurality of data processing paths of the application; and calculating each of the data processing paths and the target according to the DAG The parameter value corresponding to the parameter value.
  • setting the determined data processing path corresponding to the parameter value closest to the target parameter value to the target data processing path of the application comprises: determining each of the data processing paths and the target Whether the parameter value corresponding to the parameter value is not greater than the target parameter value; if there is a data processing path and the parameter value corresponding to the target parameter value is not greater than the target parameter value, the one data processing path is set as the The target data processing path of the application; if there are at least two data processing paths and the parameter value corresponding to the target parameter value is not greater than the target parameter value, the acquired parameter value is the smallest among the at least two data processing paths a first data data processing path and setting the first data data processing path to a target data processing path of the application.
  • the method further includes: if each of the data processing paths and the If the parameter value corresponding to the target parameter value is greater than the target parameter value, acquiring, in the plurality of data processing paths of the application, a second data processing path having the smallest parameter value; setting the second data processing path to The target data processing path of the application.
  • the method further includes: when the application is received When the data is written to the request, the data of the application is stored according to the target data processing path.
  • the target data processing path for performance, cost, etc. stores the application data, improving the data I/O performance of the application.
  • the device provided by the embodiment of the present invention obtains a target parameter value that reflects performance, cost, and the like of the application, and sets a data processing path corresponding to the parameter value closest to the target parameter value as the target data processing path of the application, so that the target The data processing path can meet the requirements of application performance, cost, etc., and improve the data I/O performance of the application.
  • a person skilled in the art may understand that all or part of the steps of implementing the above embodiments may be completed by hardware, or may be instructed by a program to execute related hardware, and the program may be stored in a computer readable storage medium.
  • the storage medium mentioned may be a read only memory, a magnetic disk or an optical disk or the like.

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

A method and apparatus for setting a data processing path for an application in a storage server, which belong to the field of data storage. The method comprises: receiving a target parameter value, sent by an application server, of a target data processing path set for an application; determining a parameter value, corresponding to the target parameter value, of each data processing path in a storage server; and setting a data processing path corresponding to the determined parameter value closest to the target parameter value as the target data processing path of the application. In the method, by means of acquiring a target parameter value embodying the requirements for the performance, cost, etc. of an application, and setting a data processing path corresponding to a parameter value closest to the target parameter value as a target data processing path of the application, the target data processing path can satisfy the requirements for the performance, cost, etc. of the application, thereby improving the data I/O performance of the application.

Description

在存储服务器中为应用设置数据处理路径的方法及装置Method and device for setting data processing path for application in storage server 技术领域Technical field
本发明涉及数据存储领域,特别涉及一种在存储服务器中为应用设置数据处理路径的方法及装置。The present invention relates to the field of data storage, and in particular, to a method and apparatus for setting a data processing path for an application in a storage server.
背景技术Background technique
随着互联网的普及和社会信息化的发展,人们的生活和工作已经离不开各式各样的应用,比如,数据库应用、多媒体应用、虚拟桌面应用等。存储系统可以为多个应用提供数据存储服务,该存储系统中包含存储服务器,该存储服务器可以基于存储系统中包含的各种软硬件资源,为应用设置相应的数据处理路径,使得应用在数据I/O(Input Output,输入输出)时,可以按照设置的数据处理路径进行。With the popularity of the Internet and the development of social information, people's lives and work have been inseparable from a variety of applications, such as database applications, multimedia applications, virtual desktop applications. The storage system can provide a data storage service for a plurality of applications, where the storage system includes a storage server, and the storage server can set a corresponding data processing path for the application based on various software and hardware resources included in the storage system, so that the application is in the data I. /O (Input Output, input and output), can be carried out according to the set data processing path.
现有技术中,存储服务器可以基于已有的软硬件资源为应用随机设置数据处理路径。然而,现有的随机分配机制,虽然能够为应用设置数据处理路径,使得应用能够完成基本的数据处理,但是由于不同应用对数据处理的性能、成本等要求不同,比如,虚拟桌面应用对数据处理的时延要求较高,多媒体应用对时延要求较低而对成本要求较高等。基于上述随机分配机制所设置的数据处理路径,不能满足应用的性能、成本等要求,导致应用的数据I/O性能受到影响。In the prior art, the storage server may randomly set a data processing path for an application based on existing hardware and software resources. However, the existing random allocation mechanism, although capable of setting a data processing path for an application, enables an application to perform basic data processing, but different applications have different requirements for performance and cost of data processing, for example, virtual desktop application for data processing. The delay requirements are high, and multimedia applications have lower latency requirements and higher cost requirements. The data processing path set based on the random allocation mechanism described above cannot meet the performance and cost requirements of the application, and the data I/O performance of the application is affected.
发明内容Summary of the invention
为了解决现有技术的问题,本申请提供了一种在存储服务器中为应用设置数据处理路径的方法及装置。所述技术方案如下:In order to solve the problems of the prior art, the present application provides a method and apparatus for setting a data processing path for an application in a storage server. The technical solution is as follows:
第一方面,提供了一种在存储服务器中为应用设置数据处理路径的方法,所述存储服务器中设置有多条数据处理路径,所述数据处理路径为应用服务器完成所述应用的数据I/O所需要执行的多个任务;所述方法包括:A first aspect provides a method for setting a data processing path for an application in a storage server, where the storage server is provided with a plurality of data processing paths, where the data processing path is an application server completing data of the application. O. Multiple tasks that need to be performed; the methods include:
接收应用服务器发送的为应用设置的目标数据处理路径的目标参数值;确定存储服务器中每条数据处理路径与所述目标参数值对应的参数值;将所确定的与所述目标参数值最接近的参数值对应的数据处理路径设置为所述应用的目标数据处理路径。通过获取体现应用的性能、成本等要求的目标参数值,并将与目标参数值最接近的参数值对应的数据处理路径设置为应用的目标数据处理路径,使得目标数据处理路径能够满足应用的性能、成本等要求,提高了应用的数据I/O性能。Receiving, by the application server, a target parameter value of the target data processing path set for the application; determining a parameter value corresponding to the target parameter value in each data processing path in the storage server; and determining the determined closest value to the target parameter value The data processing path corresponding to the parameter value is set as the target data processing path of the application. By obtaining the target parameter value that reflects the performance, cost, and the like of the application, and setting the data processing path corresponding to the parameter value closest to the target parameter value as the target data processing path of the application, the target data processing path can satisfy the performance of the application. , cost and other requirements, improve the application's data I / O performance.
结合第一方面,在第一方面的第一种可能的实现方式中,所述存储服务器中的每个任务包括至少一种处理方式,从每个任务的至少一种处理方式中选择一种处理方式形成所述多条数据处理路径。通过为每个任务提供多种处理方式,增加了数据处理路径选择的多样性,使得存储服务器能够更好地为应用设置满足需求的数据处理路径。With reference to the first aspect, in a first possible implementation manner of the first aspect, each task in the storage server includes at least one processing manner, and selecting one processing from at least one processing manner of each task The manner forms the plurality of data processing paths. By providing multiple processing methods for each task, the diversity of data processing path selection is increased, enabling the storage server to better set the data processing path for the application to meet the requirements.
结合第一方面,在第一方面的第二种可能的实现方式中,所述确定存储服务器中每 条数据处理路径与所述目标参数对应的参数值包括:获取所述每条数据处理路径对应的多个任务以及每个任务的至少一种处理方式;根据所述多个任务以及每个任务的至少一种处理方式,计算所述每条数据处理路径与所述目标参数值对应的参数值。通过计算每条数据处理路径与目标参数值对应的参数值,可以更加精确地为应用设置满足需求的数据处理路径。In conjunction with the first aspect, in a second possible implementation of the first aspect, the determining The parameter value corresponding to the target parameter of the data processing path includes: acquiring a plurality of tasks corresponding to each data processing path and at least one processing manner of each task; and according to the multiple tasks and each task And at least one processing manner, calculating parameter values corresponding to the target parameter values of each of the data processing paths. By calculating the parameter values corresponding to the target parameter values for each data processing path, it is possible to more precisely set the data processing path that satisfies the requirements for the application.
结合第一方面的第二种可能的实现方式,在第一方面的第三种可能的实现方式中,所述根据所述多个任务以及每个任务的至少一种处理方式,计算所述每条数据处理路径与所述目标参数值对应的参数值包括:根据所述多个任务以及每个任务的至少一种处理方式,生成有向无环图DAG,所述DAG用于指示所述应用的多条数据处理路径;根据所述DAG计算所述每条数据处理路径与所述目标参数值对应的参数值。通过将最优数据处理路径的获取问题,转化成DAG模型中获取最短路径的问题,大大简化了数据处理的计算量,使得最优数据处理路径的获取过程更加简便快捷。In conjunction with the second possible implementation of the first aspect, in a third possible implementation manner of the first aspect, the calculating, according to the multiple tasks, and the processing manner of each of the tasks, And the parameter value corresponding to the target parameter value includes: generating a directed acyclic graph DAG according to the multiple tasks and at least one processing manner of each task, where the DAG is used to indicate the application And a plurality of data processing paths; and calculating, according to the DAG, parameter values corresponding to the target parameter values of each of the data processing paths. By transforming the acquisition problem of the optimal data processing path into the shortest path in the DAG model, the computational complexity of the data processing is greatly simplified, and the acquisition process of the optimal data processing path is more convenient and faster.
结合第一方面,在第一方面的第四种可能的实现方式中,所述将所确定的与所述目标参数值最接近的参数值对应的数据处理路径设置为所述应用的目标数据处理路径包括:判断所述每条数据处理路径与所述目标参数值对应的参数值是否不大于所述目标参数值;若存在一条数据处理路径与所述目标参数值对应的参数值不大于所述目标参数值,则将所述一条数据处理路径设置为所述应用的目标数据处理路径;若存在至少两条数据处理路径与所述目标参数值对应的参数值不大于所述目标参数值,则在所述至少两条数据处理路径中,获取参数值最小的第一数据数据处理路径,并将所述第一数据数据处理路径设置为所述应用的目标数据处理路径。通过将最优数据处理路径的获取问题,转化成DAG模型中获取最短路径的问题,大大简化了数据处理的计算量,使得最优数据处理路径的获取过程更加简便快捷。With reference to the first aspect, in a fourth possible implementation manner of the first aspect, the data processing path corresponding to the determined parameter value that is closest to the target parameter value is set as target data processing of the application The path includes: determining whether a parameter value corresponding to the target parameter value of each data processing path is not greater than the target parameter value; if there is a data processing path, the parameter value corresponding to the target parameter value is not greater than the a target parameter value, the data processing path is set as the target data processing path of the application; if there are at least two data processing paths and the parameter value corresponding to the target parameter value is not greater than the target parameter value, then And acquiring, in the at least two data processing paths, a first data data processing path having a smallest parameter value, and setting the first data data processing path as a target data processing path of the application. By transforming the acquisition problem of the optimal data processing path into the shortest path in the DAG model, the computational complexity of the data processing is greatly simplified, and the acquisition process of the optimal data processing path is more convenient and faster.
结合第一方面的第四种可能的实现方式,在第一方面的第五种可能的实现方式中,所述判断所述每条数据处理路径与所述目标参数值对应的参数值是否不大于所述目标参数值之后,所述方法还包括:若所述每条数据处理路径与所述目标参数值对应的参数值均大于所述目标参数值,则在所述应用的多条数据处理路径中,获取参数值最小的第二数据处理路径;将所述第二数据处理路径设置为所述应用的目标数据处理路径。通过将最优数据处理路径的获取问题,转化成DAG模型中获取最短路径的问题,大大简化了数据处理的计算量,使得最优数据处理路径的获取过程更加简便快捷。With reference to the fourth possible implementation manner of the first aspect, in a fifth possible implementation manner of the first aspect, the determining, by the data processing path, a parameter value corresponding to the target parameter value is not greater than After the target parameter value, the method further includes: if the parameter value corresponding to each of the data processing path and the target parameter value is greater than the target parameter value, multiple data processing paths in the application And obtaining a second data processing path having the smallest parameter value; setting the second data processing path as the target data processing path of the application. By transforming the acquisition problem of the optimal data processing path into the shortest path in the DAG model, the computational complexity of the data processing is greatly simplified, and the acquisition process of the optimal data processing path is more convenient and faster.
结合第一方面,在第一方面的第六种可能的实现方式中,所述将所确定的与所述目标参数值最接近的参数值对应的数据处理路径设置为所述应用的目标数据处理路径之后,所述方法还包括:当接收到所述应用的数据写入请求时,根据所述目标数据处理路径对所述应用的数据进行存储。通过根据满足应用性能、成本等需求的目标数据处理路径对应用的数据进行存储,提高了应用的数据I/O性能。With reference to the first aspect, in a sixth possible implementation manner of the first aspect, the data processing path corresponding to the determined parameter value that is closest to the target parameter value is set as target data processing of the application After the path, the method further includes: when receiving the data write request of the application, storing the data of the application according to the target data processing path. The data I/O performance of the application is improved by storing the application data according to the target data processing path that satisfies the application performance, cost, and the like.
第二方面,提供了一种在存储服务器中为应用设置数据处理路径的装置,所述装置包括多个功能模块用于执行上述第一方面所述的方法。在一种可能的实现方式中,所述装置还包括其他功能模块用于执行上述第一方面中多种可能的实现方式所述的方法。通过获取体现应用的性能、成本等要求的目标参数值,并将与目标参数值最接近的参数值 对应的数据处理路径设置为应用的目标数据处理路径,使得目标数据处理路径能够满足应用的性能、成本等要求,提高了应用的数据I/O性能。In a second aspect, an apparatus for setting a data processing path for an application in a storage server is provided, the apparatus comprising a plurality of functional modules for performing the method of the first aspect described above. In a possible implementation, the apparatus further includes other functional modules for performing the methods described in the various possible implementations of the first aspect described above. By obtaining the target parameter value that reflects the performance, cost, etc. of the application, and the parameter value closest to the target parameter value The corresponding data processing path is set as the target data processing path of the application, so that the target data processing path can meet the performance, cost and the like requirements of the application, and the data I/O performance of the application is improved.
第三方面,提供了一种服务器,包括处理器,用于存储处理器可执行指令的存储器;其中,所述处理器被配置为:In a third aspect, a server is provided, comprising a processor, a memory for storing processor-executable instructions; wherein the processor is configured to:
接收应用服务器发送的为应用设置的目标数据处理路径的目标参数值;确定存储服务器中每条数据处理路径与所述目标参数值对应的参数值;将所确定的与所述目标参数值最接近的参数值对应的数据处理路径设置为所述应用的目标数据处理路径。通过获取体现应用的性能、成本等要求的目标参数值,并将与目标参数值最接近的参数值对应的数据处理路径设置为应用的目标数据处理路径,使得目标数据处理路径能够满足应用的性能、成本等要求,提高了应用的数据I/O性能。Receiving, by the application server, a target parameter value of the target data processing path set for the application; determining a parameter value corresponding to the target parameter value in each data processing path in the storage server; and determining the determined closest value to the target parameter value The data processing path corresponding to the parameter value is set as the target data processing path of the application. By obtaining the target parameter value that reflects the performance, cost, and the like of the application, and setting the data processing path corresponding to the parameter value closest to the target parameter value as the target data processing path of the application, the target data processing path can satisfy the performance of the application. , cost and other requirements, improve the application's data I / O performance.
结合第三方面,在第三方面的第一种可能的实现方式中,所述存储服务器中的每个任务包括至少一种处理方式,从每个任务的至少一种处理方式中选择一种处理方式形成所述多条数据处理路径。通过为每个任务提供多种处理方式,增加了数据处理路径选择的多样性,使得存储服务器能够更好地为应用设置满足需求的数据处理路径。With reference to the third aspect, in a first possible implementation manner of the third aspect, each task in the storage server includes at least one processing manner, and selecting one processing from at least one processing manner of each task The manner forms the plurality of data processing paths. By providing multiple processing methods for each task, the diversity of data processing path selection is increased, enabling the storage server to better set the data processing path for the application to meet the requirements.
结合第三方面,在第三方面的第二种可能的实现方式中,所述确定存储服务器中每条数据处理路径与所述目标参数对应的参数值包括:获取所述每条数据处理路径对应的多个任务以及每个任务的至少一种处理方式;根据所述多个任务以及每个任务的至少一种处理方式,计算所述每条数据处理路径与所述目标参数值对应的参数值。通过计算每条数据处理路径与目标参数值对应的参数值,可以更加精确地为应用设置满足需求的数据处理路径。With reference to the third aspect, in a second possible implementation manner of the third aspect, the determining, by the determining, the parameter value corresponding to the target parameter in each data processing path of the storage server includes: obtaining, corresponding to each data processing path, And a plurality of tasks and at least one processing manner of each task; calculating, according to the plurality of tasks and at least one processing manner of each task, a parameter value corresponding to each of the data processing paths and the target parameter value . By calculating the parameter values corresponding to the target parameter values for each data processing path, it is possible to more precisely set the data processing path that satisfies the requirements for the application.
结合第三方面的第二种可能的实现方式,在第三方面的第三种可能的实现方式中,所述处理器被配置为:根据所述多个任务以及每个任务的至少一种处理方式,生成有向无环图DAG,所述DAG用于指示所述应用的多条数据处理路径;根据所述DAG计算所述每条数据处理路径与所述目标参数值对应的参数值。通过将最优数据处理路径的获取问题,转化成DAG模型中获取最短路径的问题,大大简化了数据处理的计算量,使得最优数据处理路径的获取过程更加简便快捷。In conjunction with the second possible implementation of the third aspect, in a third possible implementation manner of the third aspect, the processor is configured to: process according to the multiple tasks and at least one of each task In a manner, a directed acyclic graph DAG is generated, where the DAG is used to indicate a plurality of data processing paths of the application; and the parameter values corresponding to the target parameter values are calculated according to the DAG. By transforming the acquisition problem of the optimal data processing path into the shortest path in the DAG model, the computational complexity of the data processing is greatly simplified, and the acquisition process of the optimal data processing path is more convenient and faster.
结合第三方面,在第三方面的第四种可能的实现方式中,所述处理器被配置为:判断所述每条数据处理路径与所述目标参数值对应的参数值是否不大于所述目标参数值;若存在一条数据处理路径与所述目标参数值对应的参数值不大于所述目标参数值,则将所述一条数据处理路径设置为所述应用的目标数据处理路径;若存在至少两条数据处理路径与所述目标参数值对应的参数值不大于所述目标参数值,则在所述至少两条数据处理路径中,获取参数值最小的第一数据数据处理路径,并将所述第一数据数据处理路径设置为所述应用的目标数据处理路径。通过将最优数据处理路径的获取问题,转化成DAG模型中获取最短路径的问题,大大简化了数据处理的计算量,使得最优数据处理路径的获取过程更加简便快捷。With reference to the third aspect, in a fourth possible implementation manner of the third aspect, the processor is configured to: determine whether a parameter value corresponding to the target parameter value of each data processing path is not greater than a target parameter value; if there is a data processing path and the parameter value corresponding to the target parameter value is not greater than the target parameter value, setting the one data processing path as the target data processing path of the application; And obtaining, by the two data processing paths, a parameter value corresponding to the target parameter value that is not greater than the target parameter value, acquiring, in the at least two data processing paths, a first data data processing path with a minimum parameter value, and The first data data processing path is set as the target data processing path of the application. By transforming the acquisition problem of the optimal data processing path into the shortest path in the DAG model, the computational complexity of the data processing is greatly simplified, and the acquisition process of the optimal data processing path is more convenient and faster.
结合第三方面的第四种可能的实现方式,在第三方面的第五种可能的实现方式中,所述处理器被配置为:若所述每条数据处理路径与所述目标参数值对应的参数值均大于所述目标参数值,则在所述应用的多条数据处理路径中,获取参数值最小的第二数据处 理路径;将所述第二数据处理路径设置为所述应用的目标数据处理路径。通过将最优数据处理路径的获取问题,转化成DAG模型中获取最短路径的问题,大大简化了数据处理的计算量,使得最优数据处理路径的获取过程更加简便快捷。In conjunction with the fourth possible implementation of the third aspect, in a fifth possible implementation manner of the third aspect, the processor is configured to: if each of the data processing paths corresponds to the target parameter value The parameter value is greater than the target parameter value, and in the multiple data processing paths of the application, the second data location with the smallest parameter value is obtained. The second data processing path is set as the target data processing path of the application. By transforming the acquisition problem of the optimal data processing path into the shortest path in the DAG model, the computational complexity of the data processing is greatly simplified, and the acquisition process of the optimal data processing path is more convenient and faster.
结合第三方面,在第三方面的第六种可能的实现方式中,所述处理器被配置为:当接收到所述应用的数据写入请求时,根据所述目标数据处理路径对所述应用的数据进行存储。通过根据满足应用性能、成本等需求的目标数据处理路径对应用的数据进行存储,提高了应用的数据I/O性能。With reference to the third aspect, in a sixth possible implementation manner of the third aspect, the processor is configured to: when receiving a data write request of the application, according to the target data processing path The data of the application is stored. The data I/O performance of the application is improved by storing the application data according to the target data processing path that satisfies the application performance, cost, and the like.
附图说明DRAWINGS
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。In order to more clearly illustrate the technical solutions in the embodiments of the present invention, the drawings used in the description of the embodiments will be briefly described below. It is obvious that the drawings in the following description are only some embodiments of the present invention. Other drawings may also be obtained from those of ordinary skill in the art in light of the inventive work.
图1是本发明实施例提供的一种存储系统的结构示意图;1 is a schematic structural diagram of a storage system according to an embodiment of the present invention;
图2是本发明实施例提供的一种在存储服务器中为应用设置数据处理路径的方法的流程图;2 is a flowchart of a method for setting a data processing path for an application in a storage server according to an embodiment of the present invention;
图3是本发明实施例提供的一种数据处理路径的DAG图;3 is a DAG diagram of a data processing path according to an embodiment of the present invention;
图4是本发明实施例提供的一种在存储服务器中为应用设置数据处理路径的装置的框图;4 is a block diagram of an apparatus for setting a data processing path for an application in a storage server according to an embodiment of the present invention;
图5是本发明实施例提供的一种在存储服务器中为应用设置数据处理路径的装置的框图。FIG. 5 is a block diagram of an apparatus for setting a data processing path for an application in a storage server according to an embodiment of the present invention.
具体实施方式detailed description
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。The embodiments of the present invention will be further described in detail below with reference to the accompanying drawings.
图1是本发明实施例提供的一种存储系统的结构示意图。参见图1,包括应存储服务器和存储介质。此外,该存储系统还通过网络连接至至少一个应用服务器,图1中仅示出了一个应用服务器,本发明实施例对应用服务器的个数不做具体限定。FIG. 1 is a schematic structural diagram of a storage system according to an embodiment of the present invention. Referring to Figure 1, the storage server and storage medium should be included. In addition, the storage system is also connected to at least one application server through a network. Only one application server is shown in FIG. 1. The number of application servers is not specifically limited in the embodiment of the present invention.
其中,至少一个应用服务器中的每个应用服务器包括中央处理器(Central Processing Unit,CPU)、内存、缓存等硬件资源以及应用和操作系统等软件模块,用于获取应用的目标数据处理路径的目标参数值,并将该目标参数值通过指定接口发送至存储服务器,使得存储服务器能够根据应用的目标参数值,在应用的多条数据处理路径中为应用设置满足目标参数值的数据处理路径。一个应用服务器可以为一个或多个应用提供服务,其中,应用包括数据库应用、虚拟桌面架构(Virtual Desktop Infrastructure,VDI)应用、多媒体应用等;操作系统包括文件系统、卷管理、多路径软件等。数据库应用可包括联机事务处理(Online Transaction Processing,OLTP)类型的数据库应用、联机分析处理(Online Analytical Processing,OLAP)类型的数据库应用。Each application server of the at least one application server includes a central processing unit (CPU), a hardware resource such as a memory, a cache, and a software module such as an application and an operating system, and is used to acquire a target of the target data processing path of the application. The parameter value is sent to the storage server through the specified interface, so that the storage server can set a data processing path that satisfies the target parameter value for the application in the multiple data processing paths of the application according to the target parameter value of the application. An application server can provide services for one or more applications, including database applications, Virtual Desktop Infrastructure (VDI) applications, multimedia applications, and the like; operating systems include file systems, volume management, multipathing software, and the like. The database application may include an online transaction processing (OLTP) type database application, an online analytical processing (OLAP) type database application.
其中,存储介质包括固态硬盘(Solid State Drives,SSD)和硬盘(Hard Disk Drive, HDD),用于存储应用的数据。存储服务器包括中央处理器(Central Processing Unit,CPU)、内存、缓存等硬件资源。存储服务器用于向应用服务器中的应用提供数据存储服务。存储服务器中设置有多条数据处理路径,数据处理路径为应用服务器完成应用的数据I/O所需要执行的多个任务,比如,存储介质类型选取任务、数据缓存任务、数据重删任务、数据压缩任务、数据编码任务、数据冗余任务、数据寻址任务等。存储服务器用于接收应用服务器发送的应用的目标参数值,并在应用的多条数据处理路径中选取满足目标参数值的数据处理路径设置为应用的数据处理路径,以供应用通过所设置的数据处理路径对存储服务器中的数据进行访问,如进行数据读取、写入、删除等操作。Among them, the storage medium includes Solid State Drives (SSD) and Hard Disk Drive (Hard Disk Drive, HDD), used to store data for an application. The storage server includes hardware resources such as a central processing unit (CPU), memory, and cache. The storage server is used to provide data storage services to applications in the application server. The storage server is provided with a plurality of data processing paths, and the data processing path is a plurality of tasks that the application server needs to perform to complete the data I/O of the application, for example, a storage medium type selection task, a data cache task, a data deduplication task, and a data. Compression tasks, data encoding tasks, data redundancy tasks, data addressing tasks, and more. The storage server is configured to receive a target parameter value of the application sent by the application server, and select a data processing path that meets the target parameter value in the multiple data processing paths of the application as the data processing path of the application, to supply the data through the setting. The processing path accesses data in the storage server, such as data reading, writing, and deleting.
图2是本发明实施例提供的一种在存储服务器中为应用设置数据处理路径的方法的流程图,参见图2,包括以下步骤:FIG. 2 is a flowchart of a method for setting a data processing path for an application in a storage server according to an embodiment of the present invention. Referring to FIG. 2, the following steps are included:
201、存储服务器接收应用服务器发送的为应用设置的目标数据处理路径的目标参数值。201. The storage server receives a target parameter value of a target data processing path set by the application server and set for the application.
需要说明的是,应用在进行数据I/O时,应用服务器通常需要执行多个任务,比如,存储介质类型选取任务、数据缓存任务、数据重删任务、数据压缩任务、数据编码任务、数据冗余任务、数据寻址任务等。存储系统的物理环境在一定时间内是固定不变的,其中物理环境包括存储空间、存储介质的类型和大小等。存储服务器中设置有多条数据处理路径,数据处理路径为应用服务器完成应用的数据I/O所需要执行的多个任务。It should be noted that when the application performs data I/O, the application server usually needs to perform multiple tasks, such as storage medium type selection task, data cache task, data deduplication task, data compression task, data encoding task, and data redundancy. Remaining tasks, data addressing tasks, etc. The physical environment of the storage system is fixed for a certain period of time. The physical environment includes the storage space, the type and size of the storage medium, and the like. A plurality of data processing paths are set in the storage server, and the data processing path is a plurality of tasks that the application server needs to perform to complete the data I/O of the application.
其中,对于多个任务来说,存储服务器为每个任务提供了至少一种处理方式,也即是,每个任务包括至少一种处理方式,例如对于数据压缩任务来说,存储服务器为该数据压缩任务提供了两种数据压缩方式:数据压缩方式1和数据压缩方式2。从每个任务的至少一种处理方式中选择一种处理方式形成多条数据处理路径。The storage server provides at least one processing manner for each task, that is, each task includes at least one processing manner. For example, for a data compression task, the storage server is the data. The compression task provides two methods of data compression: data compression mode 1 and data compression mode 2. Selecting one processing mode from at least one processing manner of each task forms a plurality of data processing paths.
其中,在进行数据I/O的过程中,每种处理方式对应多项处理消耗,比如,成本消耗、时延消耗,数据可靠性消耗等。本发明实施例将每种处理方式对应的多项处理消耗称为每种处理方式对应的参数值,该参数值可以包括多项参数值,比如,成本参数值、时延参数值以及数据可靠性参数值等。相应地,每种处理方式的参数值用于指示每种处理方式对应的多项处理消耗,比如,成本参数值对应成本消耗、时延参数值对应时延消耗,数据可靠性参数值对应数据可靠性消耗等多项处理消耗。Among them, in the process of performing data I/O, each processing mode corresponds to multiple processing consumption, such as cost consumption, delay consumption, data reliability consumption, and the like. In the embodiment of the present invention, the multiple processing consumption corresponding to each processing mode is referred to as a parameter value corresponding to each processing mode, and the parameter value may include multiple parameter values, such as a cost parameter value, a delay parameter value, and a data reliability. Parameter values, etc. Correspondingly, the parameter values of each processing mode are used to indicate the multiple processing consumption corresponding to each processing mode. For example, the cost parameter value corresponds to the cost consumption, the delay parameter value corresponds to the delay consumption, and the data reliability parameter value corresponds to the data reliability. Consumption of multiple treatments such as sexual consumption.
需要说明的是,每条数据处理路径由在每个任务的至少一个处理方式中选取一种处理方式形成,也即是,每条数据处理路径中包括多个处理方式。相应的,每条数据处理路径对应数据I/O的参数值是指,每条数据处理路径中多个数据处理方式对应的每项参数值的总和。It should be noted that each data processing path is formed by selecting one processing manner in at least one processing manner of each task, that is, each data processing path includes multiple processing manners. Correspondingly, the parameter value corresponding to the data I/O of each data processing path refers to the sum of each parameter value corresponding to multiple data processing modes in each data processing path.
其中,目标数据处理路径是指存储服务器为应用设置的数据处理路径,使得应用在进行数据存储时,按照目标数据处理路径中包括的处理方式对数据进行处理。The target data processing path refers to a data processing path set by the storage server for the application, so that when the application performs data storage, the data is processed according to the processing manner included in the target data processing path.
本发明实施例中,应用管理员可以通过应用服务器为应用预先设置目标数据处理路径的目标参数值,该目标参数值用于指示应用在进行数据I/O时期望的各项处理消耗。In the embodiment of the present invention, the application administrator may preset a target parameter value of the target data processing path for the application by using the application server, where the target parameter value is used to indicate various processing consumptions expected by the application when performing data I/O.
具体地,应用服务器可以将目标参数值通过指定接口发送至存储服务器,由存储服务器根据目标参数值在多个数据处理路径中,选取满足目标参数值的数据处理路径作为目标数据处理路径。其中,目标参数值包括目标成本、目标时延和目标数据可靠性。其 中,目标成本用于指示数据处理路径的成本消耗,可包括应用数据的目标存储成本,比如存储应用数据的存储介质、存储空间等;目标时延用于指示数据处理路径的时延消耗,是指应用向存储设备发出数据I/O请求时至接收到数据I/O响应的目标时间间隔;目标数据可靠性用于指示数据处理路径的数据可靠性消耗,也即是应用对数据I/O请求所请求数据的完整性或一致性的要求,比如,对数据I/O请求所请求数据的完整性要求为95%,也即是,该数据I/O请求最大容忍5%数据丢失,则目标数据可靠性消耗可为5%。Specifically, the application server may send the target parameter value to the storage server through the specified interface, and the storage server selects the data processing path that satisfies the target parameter value as the target data processing path among the plurality of data processing paths according to the target parameter value. Among them, the target parameter values include target cost, target delay, and target data reliability. Its The target cost is used to indicate the cost consumption of the data processing path, and may include a target storage cost of the application data, such as a storage medium storing the application data, a storage space, and the like; the target delay is used to indicate the delay consumption of the data processing path, Refers to the target time interval from when the application sends a data I/O request to the storage device to when the data I/O response is received; the target data reliability is used to indicate the data reliability consumption of the data processing path, that is, the application-to-data I/O The requirement to request the integrity or consistency of the requested data, for example, the integrity requirement of the data requested for the data I/O request is 95%, that is, the data I/O request is tolerated to a maximum of 5% data loss, then The target data reliability consumption can be 5%.
需要说明的是,由于应用的目标参数值可以包括多项目标参数的参数值,应用在设定目标参数值时,可设定其中的一种或几种,本发明实施例对此不做具体限定。该用户可以是指应用开发商或是应用管理员等。It should be noted that, as the target parameter value of the application may include the parameter value of the plurality of target parameters, one or more of the target parameter values may be set when the target parameter value is set, and the embodiment of the present invention does not specifically limited. The user can be an application developer or an application administrator.
在本发明实施例中,应用服务器可为用户提供应用的目标参数值的配置界面,在该目标参数值的配置界面中,用户可对应用的目标成本、目标时延和目标数据可靠性进行设定。该目标参数值的配置界面可在用户安装该应用的过程中显示,或在用户触发该应用的配置操作后显示,或嵌入在专门用于配置应用的处理消耗目标的软件中,本发明实施例对此不做具体限定。In the embodiment of the present invention, the application server may provide a configuration interface for the target parameter value of the application, and in the configuration interface of the target parameter value, the user may set the target cost, target delay, and target data reliability of the application. set. The configuration interface of the target parameter value may be displayed during the process of installing the application by the user, or displayed after the user triggers the configuration operation of the application, or embedded in the software dedicated to configuring the processing consumption target of the application, in the embodiment of the present invention This is not specifically limited.
202、存储服务器确定存储服务器中每条数据处理路径与目标参数值对应的参数值。202. The storage server determines a parameter value corresponding to each target data processing path and the target parameter value in the storage server.
在本发明实施例中,在确定应用的目标数据处理路径的目标参数值后,可以根据目标参数值对应的多项目标参数,对应获取每条数据处理路径与目标参数值对应的参数值,也即是,获取每条数据处理路径中多项目标参数对应的参数值。由于应用的每个任务对应多种处理方式,采用不同处理方式,应用的参数值不同,使得不同数据处理路径对应的参数值不同。In the embodiment of the present invention, after determining the target parameter value of the target data processing path of the application, the parameter value corresponding to each data processing path and the target parameter value may be correspondingly obtained according to the multiple target parameters corresponding to the target parameter value. That is, the parameter values corresponding to the plurality of target parameters in each data processing path are obtained. Since each task of the application corresponds to multiple processing modes, different processing modes are adopted, and the parameter values of the application are different, so that the parameter values corresponding to different data processing paths are different.
其中,确定存储服务器中每条数据处理路径与目标参数值对应的参数值的过程可以为:获取每条数据处理路径对应的多个任务以及每个任务的至少一种处理方式;根据多个任务以及每个任务的至少一种处理方式,计算每条数据处理路径与目标参数值对应的参数值。The process of determining a parameter value corresponding to each data processing path and the target parameter value in the storage server may be: acquiring multiple tasks corresponding to each data processing path and at least one processing mode of each task; And at least one processing manner of each task, and calculating parameter values corresponding to the target parameter values of each data processing path.
需要说明的是,在进行数据I/O时,应用的多个任务对应的执行顺序不同,使得每个任务对应的优先级不同,比如,压缩任务要优先于缓存任务执行,则压缩任务的优先级要高于缓存任务。在每个任务的至少一种处理方式中选取一种处理方式之后,可以认为该任务对应的优先级即为选取的处理方式的优先级。It should be noted that when performing data I/O, the execution order of multiple tasks of the application is different, so that the priority corresponding to each task is different. For example, if the compression task is prioritized over the execution of the cache task, the priority of the compression task is prioritized. The level is higher than the cache task. After selecting one processing mode in at least one processing mode of each task, the priority corresponding to the task may be considered as the priority of the selected processing mode.
具体地,为了能够更简便快捷的计算每个数据处理路径的参数值,本发明实施例中存储服务器可根据对该应用的多个数据处理路径进行DAG(Directed Acyclic Graph,有向无环图)建模,使得DAG中的每条路径指示一个数据处理路径。之后,根据建立的模型计算应用的每个数据处理路径的与目标参数值对应的参数值,过程可以为:根据多个任务以及每个任务的至少一种处理方式,生成有向无环图DAG,DAG用于指示应用的多条数据处理路径;根据DAG计算每条数据处理路径与目标参数值对应的参数值。Specifically, in order to be able to calculate the parameter value of each data processing path more conveniently and quickly, the storage server may perform DAG (Directed Acyclic Graph) according to multiple data processing paths of the application in the embodiment of the present invention. Modeling so that each path in the DAG indicates a data processing path. Then, calculating a parameter value corresponding to the target parameter value of each data processing path of the application according to the established model, the process may be: generating a directed acyclic graph DAG according to the plurality of tasks and at least one processing manner of each task The DAG is used to indicate a plurality of data processing paths of the application; and the parameter values corresponding to the target parameter values of each data processing path are calculated according to the DAG.
具体地,上述DAG的生成过程可以为:获取每个任务的优先级,并将每个任务对应的每个处理方式确定为该DAG的节点;根据每个任务的优先级,确定每个任务对应的每个处理方式对应节点在该DAG中的层级,其中,任务的优先级越高其包含处理方式对应的节点的层级越高;确定该DAG的初始节点和结束节点,该初始节点为每个数据处理路径的起点且在该DAG中层级最高,该结束节点为每个数据处理路径的终点且在该DAG 中层级最低;在相邻层级的节点之间添加有向边,该有向边指向相邻层级中层级较低的节点,也即是,每条有向边连接两个不同优先级的处理方式;有向边的权值可以设定为该有向边指向的处理方式的处理消耗,最终形成一个以处理方式为节点、处理方式的参数值为有向边权值的有向无环图。其中,处理方式的参数值与目标参数值对应,当目标参数值包含多项参数对应的参数值时,处理方式的参数值也包含多项参数对应的参数值。相应的,DAG中每条有向边权值为处理方式的多项参数对应的参数值。Specifically, the generating process of the DAG may be: acquiring a priority of each task, and determining each processing manner corresponding to each task as a node of the DAG; determining, according to the priority of each task, each task Each processing mode corresponds to a hierarchy of nodes in the DAG, wherein the higher the priority of the task, the higher the level of the node corresponding to the processing mode; the initial node and the ending node of the DAG are determined, and the initial node is each The starting point of the data processing path and the highest level in the DAG, the end node being the end of each data processing path and at the DAG The middle level is the lowest; the edge is added between the nodes of the adjacent level, and the directed edge points to the lower level node in the adjacent level, that is, the processing method of connecting two different priorities for each directed edge The weight of the directed edge can be set to the processing consumption of the processing method pointed by the directed edge, and finally a directed acyclic graph with the processing parameter as the node and the processing mode as the directed edge weight is formed. The parameter value of the processing mode corresponds to the target parameter value. When the target parameter value includes the parameter value corresponding to the multiple parameter, the parameter value of the processing mode also includes the parameter value corresponding to the multiple parameter. Correspondingly, each of the directed edge weights in the DAG is a parameter value corresponding to a plurality of parameters of the processing mode.
需要说明的是,该DAG的初始节点对应该应用在进行数据存储时,数据I/O的起始点,比如数据I/O从应用层进入到存储系统的时刻(即存储系统接收到应用的数据I/O的时刻);该DAG的结束节点对应该应用在进行数据存储时,数据I/O的结束点,比如数据I/O从存储系统返回到应用层(即应用接收到存储系统返回的数据I/O的时刻)。It should be noted that the initial node pair of the DAG should be applied to the data I/O starting point when performing data storage, such as the time when the data I/O enters the storage system from the application layer (that is, the storage system receives the application data). The time of the I/O); the end node of the DAG should be applied to the end of the data I/O when the data is stored, such as the data I/O is returned from the storage system to the application layer (ie, the application receives the return from the storage system) Time of data I/O).
下面结合上述DAG的生成方法,对DAG的生成过程进行举例说明。例如,应用包括4个任务,该4个任务对应4个优先级,第一优先级的任务为数据压缩任务,该数据压缩任务对应的处理方式包括:压缩算法A、压缩算法B、不压缩、重删算法A、重删算法B、不重删;第二优先级的任务为数据缓存任务,该数据缓存任务对应的处理方式包括:SSD缓存、NVRAM(Non-Volatile Random Access Memory,非易失性随机访问存储器)缓存、内存缓存、不缓存;第三优先级的任务为数据冗余任务,该数据冗余任务对应的处理方式包括:DHT(Distributed Hash Table,分布式哈希表)、EC(Erasure Code,数据冗余编码)、三副本、无冗余;第四优先级的任务为数据备份任务,该数据备份任务对应的处理方式包括:双活、全局备份、块服务、文件服务、对象服务。The following describes the generation process of the DAG in combination with the above-mentioned DAG generation method. For example, the application includes four tasks, and the four tasks correspond to four priorities. The first priority task is a data compression task, and the data compression task corresponding to the processing method includes: compression algorithm A, compression algorithm B, no compression, The de-duplication algorithm A, the de-duplication algorithm B, and the non-deduplication; the second priority task is a data caching task, and the corresponding processing manner of the data caching task includes: SSD cache, NVRAM (Non-Volatile Random Access Memory, non-volatile Scaling random access memory) cache, memory cache, no cache; the third priority task is data redundancy task, the data redundancy task corresponding processing methods include: DHT (Distributed Hash Table), EC (Erasure Code, data redundancy coding), three copies, no redundancy; the fourth priority task is a data backup task, and the corresponding processing methods of the data backup task include: dual-active, global backup, block service, file service, Object service.
假如,DAG的初始节点为P0,结束节点为Pe。在DAG中P0的层级最高,Pe的层级最低。在具体实施时,可默认设置初始节点的层级为0。根据上述任务的不同优先级可得到第一优先级对应DAG中第一层级,第二优先级对应DAG中第二层级,第三优先级对应DAG中第三层级,第四优先级对应DAG中第四层级,结束节点的层级为5。为了便于描述,将上述4个优先级的任务对应的多种处理方式在DAG中对应的节点进行编号,具体对应关系如下:压缩算法A(P11),压缩算法B(P12),不压缩C(P13),重删算法A(P14),重删算法B(P15),不重删(P16);SSD缓存(P21),NVRAM缓存(P22),内存缓存(P23),不缓存(P24);DHT(P31),EC(P32),三副本(P33),无冗余(P34),双活(P41),全局备份(P42),块服务(P43),文件服务(P44),对象服务(P45)。其中,“()”里的内容为处理方式对应的节点编号。Suppose, the initial node of the DAG is P0 and the end node is Pe. In the DAG, P0 has the highest level and Pe has the lowest level. In the specific implementation, the initial node can be set to a level of 0 by default. According to different priorities of the foregoing tasks, the first priority corresponds to the first level in the DAG, the second priority corresponds to the second level in the DAG, and the third priority corresponds to the third level in the DAG, and the fourth priority corresponds to the third level in the DAG. Four levels, the end node has a level of 5. For convenience of description, multiple processing modes corresponding to the above four priority tasks are numbered in corresponding nodes in the DAG, and the specific correspondence is as follows: compression algorithm A (P11), compression algorithm B (P12), and no compression C ( P13), deduplication algorithm A (P14), deduplication algorithm B (P15), no deduplication (P16); SSD cache (P21), NVRAM buffer (P22), memory cache (P23), no cache (P24); DHT (P31), EC (P32), three copies (P33), no redundancy (P34), live (P41), global backup (P42), block service (P43), file service (P44), object service ( P45). The content in "()" is the node number corresponding to the processing method.
根据上述处理方式在DAG中的层级,在相邻的两个层级的节点之间添加指向较低层级节点的有向边,可以得到构建如图3所示的一种处理方式的DAG图。在图3中,该DAG示出了该应用的多个数据处理路径,其中,DAG中包含的每条路径,对应该应用的每个数据处理路径。According to the above processing manner, in the hierarchy in the DAG, a directed edge pointing to a lower hierarchical node is added between nodes of two adjacent hierarchical levels, and a DAG map constructing a processing manner as shown in FIG. 3 can be obtained. In Figure 3, the DAG shows a plurality of data processing paths for the application, where each path included in the DAG corresponds to each data processing path that should be applied.
需要说明的是,上述不同任务的优先级仅作举例说明,本发明实施例对此不做具体限定。It should be noted that the priorities of the foregoing different tasks are only exemplified, and the embodiment of the present invention does not specifically limit this.
在本发明实施例中,由于不同的应用包含的任务不同,不同任务对应的处理方式不同,因此,可根据不同应用的处理消耗目标,生成针对不同应用的DAG。当存储服务器中处理方式发生变化时,比如该应用包含的任务中增加了新的处理方式,则可自动根据变化后的处理方式以及变化后每个处理方式的参数值重新生成该应用的DAG,并重新获 取满足该应用的目标参数值的数据处理路径。或者,在增加了新的处理方式后,提示用户是否重新对应用的目标参数值进行重新设定,也即是对目标成本、目标时延和目标数据可靠性进行重新设定;若用户重新设定了应用的目标参数值,则基于用户重新设定的目标参数值,根据变化后的处理方式以及变化后每个处理方式的参数值重新生成该应用的DAG,并重新获取满足该新目标参数值的数据处理路径。通过自动根据变化后的处理方式重新生成该应用的DAG,并重新获取满足目标参数值的数据处理路径,增加了数据处理路径设置的灵活性,提高了数据处理路径设置的效率。In the embodiment of the present invention, different tasks include different tasks, and different tasks correspond to different processing manners. Therefore, DAGs for different applications may be generated according to processing consumption targets of different applications. When the processing mode of the storage server changes, for example, a new processing mode is added to the task included in the application, the DAG of the application may be automatically generated according to the changed processing mode and the parameter value of each processing mode after the change. And regained Take the data processing path that satisfies the target parameter value of the application. Or, after adding a new processing mode, prompting the user to re-set the target parameter value of the application, that is, resetting the target cost, the target delay, and the reliability of the target data; if the user resets After the target parameter value of the application is determined, the DAG of the application is regenerated according to the changed processing mode and the parameter value of each processing mode after the change, and the new target parameter is re-acquired. The data processing path for the value. By automatically regenerating the DAG of the application according to the changed processing manner and re-acquiring the data processing path that satisfies the target parameter value, the flexibility of the data processing path setting is increased, and the efficiency of the data processing path setting is improved.
在本发明实施例中,在生成DAG后,可计算该每条数据处理路径的参数值,计算过程如下:In the embodiment of the present invention, after the DAG is generated, the parameter values of each data processing path may be calculated, and the calculation process is as follows:
获取从初始节点至结束节点之间的所有路径,对每个路径包含的有向边的权值进行求和,得到每条数据处理路径的参数值。Get all the paths from the initial node to the end node, sum the weights of the directed edges contained in each path, and get the parameter values of each data processing path.
203、存储服务器将所确定的与目标参数值最接近的参数值对应的数据处理路径设置为应用的目标数据处理路径。203. The storage server sets the determined data processing path corresponding to the parameter value closest to the target parameter value as the target data processing path of the application.
在本发明实施例中,在多个数据处理路径将与目标参数值最接近的参数值对应的数据处理路径设置为应用的目标数据处理路径的过程可以为:首先,判断每条数据处理路径与目标参数值对应的参数值是否不大于目标参数值。其次,根据判断结果的不同有如下三种可能的情况:In the embodiment of the present invention, the process of setting the data processing path corresponding to the parameter value closest to the target parameter value to the target data processing path of the application in the plurality of data processing paths may be: first, determining each data processing path and Whether the parameter value corresponding to the target parameter value is not greater than the target parameter value. Secondly, according to the difference of judgment results, there are three possible situations:
第一种,若存在一条数据处理路径与目标参数值对应的参数值不大于目标参数值,则将一条数据处理路径设置为应用的目标数据处理路径。First, if there is a data processing path and the parameter value corresponding to the target parameter value is not greater than the target parameter value, then a data processing path is set as the target data processing path of the application.
第二种,若存在至少两条数据处理路径与目标参数值对应的参数值不大于目标参数值,则在至少两条数据处理路径中,获取参数值最小的第一数据数据处理路径,并将第一数据数据处理路径设置为应用的目标数据处理路径。Secondly, if there are at least two data processing paths and the parameter values corresponding to the target parameter values are not greater than the target parameter values, then in at least two data processing paths, the first data data processing path with the smallest parameter value is obtained, and The first data data processing path is set to the target data processing path of the application.
第三种,若每条数据处理路径与目标参数值对应的参数值均大于目标参数值,则在应用的多条数据处理路径中,获取参数值最小的第二数据处理路径;将第二数据处理路径设置为应用的目标数据处理路径。Third, if the parameter value corresponding to each data processing path and the target parameter value is greater than the target parameter value, the second data processing path with the smallest parameter value is obtained in the multiple data processing paths of the application; The processing path is set to the target data processing path of the application.
需要说明的是,在上述第三种情况中,可设置一个最小参数值阈值,若计算得到的第二数据处理路径的参数值仍然大于该最小参数值阈值,则当前存储系统不能满足用户设定的目标参数值,可向用户显示进行目标参数值重新设定的提示信息。It should be noted that, in the foregoing third case, a minimum parameter value threshold may be set. If the calculated parameter value of the second data processing path is still greater than the minimum parameter value threshold, the current storage system cannot satisfy the user setting. The target parameter value can display the prompt information for resetting the target parameter value to the user.
在本发明实施例中,通过DAG模型获取与目标参数值最接近的参数值对应的数据处理路径的问题,便转化成了在DAG中获取最短路径的问题。In the embodiment of the present invention, the problem of obtaining the data processing path corresponding to the parameter value closest to the target parameter value by the DAG model is transformed into the problem of obtaining the shortest path in the DAG.
其中,在DAG中计算最短路径的基本原理是采用动态编程的方法:V表示所构建的DAG中所有的节点的集合,S表示已求出最短路径的节点的集合,V-S=T表示尚未确定最短路径的节点集合。初始时,S={V0},V0是起始点,T={其余节点},对于任意Vi(Vi属于T),若存在V0到Vi的直接连接<V0,Vi>,<V0,Vi>为弧上的权值,若不存在,<V0,Vi>设为无穷大。从T中选取一个其距离V0的值为最小的节点W,加入S,对T中其他节点的距离值进行修改:若加进W作中间节点,从V0到Vi的距离值比不加W的路径要短,则修改此距离值。重复上述步骤,直到S中包含所有节点,即S=V为止。Among them, the basic principle of calculating the shortest path in DAG is to adopt the method of dynamic programming: V represents the set of all nodes in the constructed DAG, S represents the set of nodes that have obtained the shortest path, and VS=T indicates that the shortest has not been determined. The set of nodes for the path. Initially, S={V0}, V0 is the starting point, T={other nodes}, for any Vi (Vi belongs to T), if there is a direct connection of V0 to Vi <V0, Vi>, <V0, Vi> is The weight on the arc, if not present, <V0, Vi> is set to infinity. Select a node W whose value is the smallest distance from V0, and add S to modify the distance value of other nodes in T: if W is added as the intermediate node, the distance value from V0 to Vi is less than W. If the path is short, modify the distance value. Repeat the above steps until all nodes are included in S, ie S=V.
204、存储服务器当接收到应用的数据写入请求时,根据目标数据处理路径对应用的数据进行存储。 204. The storage server stores the data of the application according to the target data processing path when receiving the data write request of the application.
在本发明实施例中,在确定应用的目标数据处理路径后,可输出该目标数据处理路径对应的多个任务、每个任务的处理方式以及该目标数据处理路径的参数值,使得用户可以明确获知该应用的数据处理路径,以及采用该数据处理路径的参数值,也即是,该数据处理路径对应的成本消耗、时延消耗,数据可靠性消耗等多项处理消耗。若用户确定将输出的目标数据处理路径作为该应用的最终数据处理路径,则当存储服务器接收到该应用的数据写入请求时,根据确定的该目标数据处理路径对应用的数据进行存储。In the embodiment of the present invention, after determining the target data processing path of the application, the multiple tasks corresponding to the target data processing path, the processing manner of each task, and the parameter values of the target data processing path may be output, so that the user can be clear The data processing path of the application and the parameter value of the data processing path are obtained, that is, the processing cost, the delay consumption, the data reliability consumption, and the like are consumed by the data processing path. If the user determines that the output target data processing path is the final data processing path of the application, when the storage server receives the data write request of the application, the application data is stored according to the determined target data processing path.
需要说明的是,该应用与存储系统进行交互时,不仅包括上述写入操作,还包括读取、删除等操作,本发明实施例对此不做具体限定。针对应用不同数据I/O对应的不同操作,存储服务器会接收到应用的相应的操作请求,并根据相应的操作请求通过存储设备执行数据读取、删除等操作,并向应用返回处理结果。It should be noted that, when the application interacts with the storage system, not only the foregoing write operation but also operations such as reading and deleting are included, which is not specifically limited in the embodiment of the present invention. For different operations corresponding to different data I/Os, the storage server receives the corresponding operation request of the application, and performs operations such as reading, deleting, and the like through the storage device according to the corresponding operation request, and returns the processing result to the application.
需要说明的是,本发明实施例提供的方法,可应用在高端存储阵列、海量存储云存储系统、Doradoa V5全闪存阵列存储系统等,本发明实施例对此不做具体限定。It should be noted that the method provided by the embodiment of the present invention may be applied to a high-end storage array, a mass storage cloud storage system, a Doradoa V5 all-flash array storage system, and the like, which is not specifically limited in the embodiment of the present invention.
本发明实施例提供的方法,通过获取目标数据处理路径的目标参数值,并在应用的多条数据处理路径中,将与目标参数值最接近的参数值对应的数据处理路径设置为应用的目标数据处理路径,实现了在资源、性能、成本等制约因素下采用最优的处理方式对应用的数据进行处理。进一步地,将最优数据处理路径的获取问题,转化成DAG模型中获取最短路径的问题,大大简化了数据处理的计算量,使得最优数据处理路径的获取过程更加简便快捷。The method provided by the embodiment of the present invention obtains the target parameter value of the target data processing path, and sets the data processing path corresponding to the parameter value closest to the target parameter value as the application target in the multiple data processing paths of the application. The data processing path realizes the processing of the applied data by using the optimal processing method under the constraints of resources, performance and cost. Further, the problem of obtaining the optimal data processing path is transformed into the problem of obtaining the shortest path in the DAG model, which greatly simplifies the calculation of the data processing, and makes the acquisition process of the optimal data processing path easier and faster.
图4是本发明示例提供的一种在存储服务器中为应用设置数据处理路径的装置的框图,包括:接收模块401、获取模块402、设置模块403。FIG. 4 is a block diagram of an apparatus for setting a data processing path for an application in a storage server according to an example of the present invention, including: a receiving module 401, an obtaining module 402, and a setting module 403.
其中,接收模块401,用于接收应用服务器发送的为应用设置的目标数据处理路径的目标参数值;The receiving module 401 is configured to receive a target parameter value of the target data processing path set by the application server and set by the application;
获取模块402,用于确定存储服务器中每条数据处理路径与目标参数值对应的参数值;The obtaining module 402 is configured to determine a parameter value corresponding to each target data parameter in the storage server and the target parameter value;
设置模块403,用于将所确定的与目标参数值最接近的参数值对应的数据处理路径设置为应用的目标数据处理路径。The setting module 403 is configured to set the determined data processing path corresponding to the parameter value closest to the target parameter value as the target data processing path of the application.
可选地,存储服务器中的每个任务包括至少一种处理方式,从每个任务的至少一种处理方式中选择一种处理方式形成多条数据处理路径。通过为每个任务提供多种处理方式,增加了数据处理路径选择的多样性,使得存储服务器能够更好地为应用设置满足需求的数据处理路径。Optionally, each task in the storage server includes at least one processing manner, and selecting one processing manner from at least one processing manner of each task to form a plurality of data processing paths. By providing multiple processing methods for each task, the diversity of data processing path selection is increased, enabling the storage server to better set the data processing path for the application to meet the requirements.
可选地,获取模块用于获取每条数据处理路径对应的多个任务以及每个任务的至少一种处理方式;根据多个任务以及每个任务的至少一种处理方式,计算每条数据处理路径与目标参数值对应的参数值。通过计算每条数据处理路径与目标参数值对应的参数值,可以更加精确地为应用设置满足需求的数据处理路径。Optionally, the acquiring module is configured to acquire multiple tasks corresponding to each data processing path and at least one processing manner of each task; and calculate each data processing according to multiple tasks and at least one processing manner of each task The parameter value corresponding to the path and the target parameter value. By calculating the parameter values corresponding to the target parameter values for each data processing path, it is possible to more precisely set the data processing path that satisfies the requirements for the application.
可选地,获取模块用于根据多个任务以及每个任务的至少一种处理方式,生成有向无环图DAG,DAG用于指示应用的多条数据处理路径;根据DAG计算每条数据处理路径与目标参数值对应的参数值。通过将最优数据处理路径的获取问题,转化成DAG模型中获取最短路径的问题,大大简化了数据处理的计算量,使得最优数据处理路径的获取 过程更加简便快捷。Optionally, the obtaining module is configured to generate a directed acyclic graph DAG according to the plurality of tasks and at least one processing manner of each task, where the DAG is used to indicate multiple data processing paths of the application; and each data processing is calculated according to the DAG. The parameter value corresponding to the path and the target parameter value. By transforming the acquisition problem of the optimal data processing path into the shortest path in the DAG model, the computational complexity of data processing is greatly simplified, and the optimal data processing path is obtained. The process is quicker and easier.
可选地,设置模块用于判断每条数据处理路径与目标参数值对应的参数值是否不大于目标参数值;若存在一条数据处理路径与目标参数值对应的参数值不大于目标参数值,则将一条数据处理路径设置为应用的目标数据处理路径;若存在至少两条数据处理路径与目标参数值对应的参数值不大于目标参数值,则在至少两条数据处理路径中,获取参数值最小的第一数据数据处理路径,并将第一数据数据处理路径设置为应用的目标数据处理路径。通过将最优数据处理路径的获取问题,转化成DAG模型中获取最短路径的问题,大大简化了数据处理的计算量,使得最优数据处理路径的获取过程更加简便快捷。Optionally, the setting module is configured to determine whether the parameter value corresponding to each data processing path and the target parameter value is not greater than the target parameter value; if there is a data processing path corresponding to the target parameter value, the parameter value is not greater than the target parameter value, Setting a data processing path as the target data processing path of the application; if there are at least two data processing paths and the parameter value corresponding to the target parameter value is not greater than the target parameter value, obtaining the minimum parameter value in at least two data processing paths The first data data processing path sets the first data data processing path to the target data processing path of the application. By transforming the acquisition problem of the optimal data processing path into the shortest path in the DAG model, the computational complexity of the data processing is greatly simplified, and the acquisition process of the optimal data processing path is more convenient and faster.
可选地,设置模块用于若每条数据处理路径与目标参数值对应的参数值均大于目标参数值,则在应用的多条数据处理路径中,获取参数值最小的第二数据处理路径;将第二数据处理路径设置为应用的目标数据处理路径。通过将最优数据处理路径的获取问题,转化成DAG模型中获取最短路径的问题,大大简化了数据处理的计算量,使得最优数据处理路径的获取过程更加简便快捷。Optionally, the setting module is configured to: if the parameter value corresponding to each of the data processing path and the target parameter value is greater than the target parameter value, obtain the second data processing path with the smallest parameter value in the multiple data processing paths of the application; The second data processing path is set to the target data processing path of the application. By transforming the acquisition problem of the optimal data processing path into the shortest path in the DAG model, the computational complexity of the data processing is greatly simplified, and the acquisition process of the optimal data processing path is more convenient and faster.
可选地,该装置还包括:Optionally, the device further includes:
存储模块,用于当接收到应用的数据写入请求时,根据目标数据处理路径对应用的数据进行存储。通过根据满足应用性能、成本等需求的目标数据处理路径对应用的数据进行存储,提高了应用的数据I/O性能。The storage module is configured to store the data of the application according to the target data processing path when receiving the data write request of the application. The data I/O performance of the application is improved by storing the application data according to the target data processing path that satisfies the application performance, cost, and the like.
本发明实施例提供的装置,通过获取体现应用的性能、成本等要求的目标参数值,并将与目标参数值最接近的参数值对应的数据处理路径设置为应用的目标数据处理路径,使得目标数据处理路径能够满足应用的性能、成本等要求,提高了应用的数据I/O性能。The device provided by the embodiment of the present invention obtains a target parameter value that reflects performance, cost, and the like of the application, and sets a data processing path corresponding to the parameter value closest to the target parameter value as the target data processing path of the application, so that the target The data processing path can meet the requirements of application performance, cost, etc., and improve the data I/O performance of the application.
需要说明的是:上述实施例提供的存储系统中数据处理路径获取装置,在获取数据处理路径时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能设置由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的容错处理装置与容错处理方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。It should be noted that, in the data processing path obtaining device in the storage system provided by the foregoing embodiment, when the data processing path is obtained, only the division of each functional module is used as an example. In an actual application, the foregoing function may be set as needed. It is completed by different functional modules, that is, the internal structure of the device is divided into different functional modules to complete all or part of the functions described above. In addition, the fault-tolerant processing device and the fault-tolerant processing method are provided in the same embodiment, and the specific implementation process is described in detail in the method embodiment, and details are not described herein again.
图5是本发明实施例提供的一种在存储服务器中为应用设置数据处理路径的装置的框图,例如,装置500可以被提供为一服务器。参照图5,装置500包括处理组件522,其进一步包括一个或多个处理器,以及由存储器532所代表的存储器资源,用于存储可由处理组件522的执行的指令,例如应用程序。存储器532中存储的应用程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理组件522被配置为执行指令,以执行上述存储系统中数据处理路径获取方法。FIG. 5 is a block diagram of an apparatus for setting a data processing path for an application in a storage server according to an embodiment of the present invention. For example, the apparatus 500 may be provided as a server. Referring to FIG. 5, apparatus 500 includes a processing component 522 that further includes one or more processors, and memory resources represented by memory 532 for storing instructions executable by processing component 522, such as an application. An application stored in memory 532 can include one or more modules each corresponding to a set of instructions. Further, the processing component 522 is configured to execute instructions to perform the data processing path acquisition method in the storage system described above.
装置500还可以包括一个电源组件526被配置为执行装置500的电源管理,一个有线或无线网络接口550被配置为将装置500连接到网络,和一个输入输出(I/O)接口558。装置500可以操作基于存储在存储器532的操作系统,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM或类似。 Apparatus 500 can also include a power supply component 526 configured to perform power management of apparatus 500, a wired or wireless network interface 550 configured to connect apparatus 500 to the network, and an input/output (I/O) interface 558. Device 500 can operate based on an operating system stored in memory 532, such as Windows ServerTM, Mac OS XTM, UnixTM, LinuxTM, FreeBSDTM or the like.
其中,处理组件522被配置为执行指令,以执行上述存储系统中数据处理路径获取方法,包括以下步骤: The processing component 522 is configured to execute an instruction to execute the data processing path obtaining method in the foregoing storage system, including the following steps:
接收应用服务器发送的为应用设置的目标数据处理路径的目标参数值;确定存储服务器中每条数据处理路径与所述目标参数值对应的参数值;将所确定的与所述目标参数值最接近的参数值对应的数据处理路径设置为所述应用的目标数据处理路径。通过获取体现应用的性能、成本等要求的目标参数值,并将与目标参数值最接近的参数值对应的数据处理路径设置为应用的目标数据处理路径,使得目标数据处理路径能够满足应用的性能、成本等要求,提高了应用的数据I/O性能。Receiving, by the application server, a target parameter value of the target data processing path set for the application; determining a parameter value corresponding to the target parameter value in each data processing path in the storage server; and determining the determined closest value to the target parameter value The data processing path corresponding to the parameter value is set as the target data processing path of the application. By obtaining the target parameter value that reflects the performance, cost, and the like of the application, and setting the data processing path corresponding to the parameter value closest to the target parameter value as the target data processing path of the application, the target data processing path can satisfy the performance of the application. , cost and other requirements, improve the application's data I / O performance.
可选地,所述存储服务器中的每个任务包括至少一种处理方式,从每个任务的至少一种处理方式中选择一种处理方式形成所述多条数据处理路径。通过为每个任务提供多种处理方式,增加了数据处理路径选择的多样性,使得存储服务器能够更好地为应用设置满足需求的数据处理路径。Optionally, each task in the storage server includes at least one processing manner, and selecting one processing manner from at least one processing manner of each task to form the multiple data processing paths. By providing multiple processing methods for each task, the diversity of data processing path selection is increased, enabling the storage server to better set the data processing path for the application to meet the requirements.
可选地,所述确定存储服务器中每条数据处理路径与所述目标参数对应的参数值包括:获取所述每条数据处理路径对应的多个任务以及每个任务的至少一种处理方式;根据所述多个任务以及每个任务的至少一种处理方式,计算所述每条数据处理路径与所述目标参数值对应的参数值。通过计算每条数据处理路径与目标参数值对应的参数值,可以更加精确地为应用设置满足需求的数据处理路径。Optionally, the determining, by the storage server, the parameter value corresponding to the target parameter in each data processing path includes: acquiring a plurality of tasks corresponding to each data processing path and at least one processing manner of each task; And calculating, according to the plurality of tasks and at least one processing manner of each task, parameter values corresponding to the target parameter values of each of the data processing paths. By calculating the parameter values corresponding to the target parameter values for each data processing path, it is possible to more precisely set the data processing path that satisfies the requirements for the application.
可选地,所述根据所述多个任务以及每个任务的至少一种处理方式,计算所述每条数据处理路径与所述目标参数值对应的参数值包括:根据所述多个任务以及每个任务的至少一种处理方式,生成有向无环图DAG,所述DAG用于指示所述应用的多条数据处理路径;根据所述DAG计算所述每条数据处理路径与所述目标参数值对应的参数值。通过将最优数据处理路径的获取问题,转化成DAG模型中获取最短路径的问题,大大简化了数据处理的计算量,使得最优数据处理路径的获取过程更加简便快捷。Optionally, calculating, according to the multiple tasks and at least one processing manner of each task, calculating parameter values corresponding to the target parameter values of each of the data processing paths, including: according to the multiple tasks and At least one processing manner of each task, generating a directed acyclic graph DAG, the DAG is used to indicate a plurality of data processing paths of the application; and calculating each of the data processing paths and the target according to the DAG The parameter value corresponding to the parameter value. By transforming the acquisition problem of the optimal data processing path into the shortest path in the DAG model, the computational complexity of the data processing is greatly simplified, and the acquisition process of the optimal data processing path is more convenient and faster.
可选地,所述将所确定的与所述目标参数值最接近的参数值对应的数据处理路径设置为所述应用的目标数据处理路径包括:判断所述每条数据处理路径与所述目标参数值对应的参数值是否不大于所述目标参数值;若存在一条数据处理路径与所述目标参数值对应的参数值不大于所述目标参数值,则将所述一条数据处理路径设置为所述应用的目标数据处理路径;若存在至少两条数据处理路径与所述目标参数值对应的参数值不大于所述目标参数值,则在所述至少两条数据处理路径中,获取参数值最小的第一数据数据处理路径,并将所述第一数据数据处理路径设置为所述应用的目标数据处理路径。通过将最优数据处理路径的获取问题,转化成DAG模型中获取最短路径的问题,大大简化了数据处理的计算量,使得最优数据处理路径的获取过程更加简便快捷。Optionally, setting the determined data processing path corresponding to the parameter value closest to the target parameter value to the target data processing path of the application comprises: determining each of the data processing paths and the target Whether the parameter value corresponding to the parameter value is not greater than the target parameter value; if there is a data processing path and the parameter value corresponding to the target parameter value is not greater than the target parameter value, the one data processing path is set as the The target data processing path of the application; if there are at least two data processing paths and the parameter value corresponding to the target parameter value is not greater than the target parameter value, the acquired parameter value is the smallest among the at least two data processing paths a first data data processing path and setting the first data data processing path to a target data processing path of the application. By transforming the acquisition problem of the optimal data processing path into the shortest path in the DAG model, the computational complexity of the data processing is greatly simplified, and the acquisition process of the optimal data processing path is more convenient and faster.
可选地,所述判断所述每条数据处理路径与所述目标参数值对应的参数值是否不大于所述目标参数值之后,所述方法还包括:若所述每条数据处理路径与所述目标参数值对应的参数值均大于所述目标参数值,则在所述应用的多条数据处理路径中,获取参数值最小的第二数据处理路径;将所述第二数据处理路径设置为所述应用的目标数据处理路径。通过将最优数据处理路径的获取问题,转化成DAG模型中获取最短路径的问题,大大简化了数据处理的计算量,使得最优数据处理路径的获取过程更加简便快捷。Optionally, after the determining whether the parameter value corresponding to the target parameter value is not greater than the target parameter value, the method further includes: if each of the data processing paths and the If the parameter value corresponding to the target parameter value is greater than the target parameter value, acquiring, in the plurality of data processing paths of the application, a second data processing path having the smallest parameter value; setting the second data processing path to The target data processing path of the application. By transforming the acquisition problem of the optimal data processing path into the shortest path in the DAG model, the computational complexity of the data processing is greatly simplified, and the acquisition process of the optimal data processing path is more convenient and faster.
可选地,所述将所确定的与所述目标参数值最接近的参数值对应的数据处理路径设置为所述应用的目标数据处理路径之后,所述方法还包括:当接收到所述应用的数据写入请求时,根据所述目标数据处理路径对所述应用的数据进行存储。通过根据满足应用 性能、成本等需求的目标数据处理路径对应用的数据进行存储,提高了应用的数据I/O性能。Optionally, after the determined data processing path corresponding to the determined parameter value closest to the target parameter value is set as the target data processing path of the application, the method further includes: when the application is received When the data is written to the request, the data of the application is stored according to the target data processing path. By satisfying the application The target data processing path for performance, cost, etc. stores the application data, improving the data I/O performance of the application.
本发明实施例提供的装置,通过获取体现应用的性能、成本等要求的目标参数值,并将与目标参数值最接近的参数值对应的数据处理路径设置为应用的目标数据处理路径,使得目标数据处理路径能够满足应用的性能、成本等要求,提高了应用的数据I/O性能。The device provided by the embodiment of the present invention obtains a target parameter value that reflects performance, cost, and the like of the application, and sets a data processing path corresponding to the parameter value closest to the target parameter value as the target data processing path of the application, so that the target The data processing path can meet the requirements of application performance, cost, etc., and improve the data I/O performance of the application.
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。A person skilled in the art may understand that all or part of the steps of implementing the above embodiments may be completed by hardware, or may be instructed by a program to execute related hardware, and the program may be stored in a computer readable storage medium. The storage medium mentioned may be a read only memory, a magnetic disk or an optical disk or the like.
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。 The above are only the preferred embodiments of the present invention, and are not intended to limit the present invention. Any modifications, equivalents, improvements, etc., which are within the spirit and scope of the present invention, should be included in the protection of the present invention. Within the scope.

Claims (14)

  1. 一种在存储服务器中为应用设置数据处理路径的方法,所述存储服务器中设置有多条数据处理路径,所述数据处理路径为应用服务器完成所述应用的数据I/O所需要执行的多个任务;A method for setting a data processing path for an application in a storage server, where the storage server is provided with a plurality of data processing paths, where the data processing path is required for the application server to complete data I/O of the application. Task
    其特征在于,所述方法包括:The method is characterized in that: the method comprises:
    接收应用服务器发送的为应用设置的目标数据处理路径的目标参数值;Receiving, by the application server, a target parameter value of a target data processing path set for the application;
    确定存储服务器中每条数据处理路径与所述目标参数值对应的参数值;Determining, by the parameter value corresponding to the target parameter value, each data processing path in the storage server;
    将所确定的与所述目标参数值最接近的参数值对应的数据处理路径设置为所述应用的目标数据处理路径。A data processing path corresponding to the determined parameter value closest to the target parameter value is set as the target data processing path of the application.
  2. 根据权利要求1所述的方法,其特征在于,所述存储服务器中的每个任务包括至少一种处理方式,从每个任务的至少一种处理方式中选择一种处理方式形成所述多条数据处理路径。The method according to claim 1, wherein each task in the storage server comprises at least one processing manner, and selecting one processing manner from at least one processing manner of each task to form the plurality of processing Data processing path.
  3. 根据权利要求1所述的方法,其特征在于,所述确定存储服务器中每条数据处理路径与所述目标参数对应的参数值包括:The method according to claim 1, wherein the determining the parameter values corresponding to each of the data processing paths in the storage server and the target parameters comprises:
    获取所述每条数据处理路径对应的多个任务以及每个任务的至少一种处理方式;Obtaining a plurality of tasks corresponding to each of the data processing paths and at least one processing manner of each of the tasks;
    根据所述多个任务以及每个任务的至少一种处理方式,计算所述每条数据处理路径与所述目标参数值对应的参数值。And calculating, according to the plurality of tasks and at least one processing manner of each task, parameter values corresponding to the target parameter values of each of the data processing paths.
  4. 根据权利要求3所述的方法,其特征在于,所述根据所述多个任务以及每个任务的至少一种处理方式,计算所述每条数据处理路径与所述目标参数值对应的参数值包括:The method according to claim 3, wherein the parameter values corresponding to the target parameter values are calculated according to the plurality of tasks and at least one processing manner of each task include:
    根据所述多个任务以及每个任务的至少一种处理方式,生成有向无环图DAG,所述DAG用于指示所述应用的多条数据处理路径;Generating a directed acyclic graph DAG for indicating a plurality of data processing paths of the application according to the plurality of tasks and at least one processing manner of each task;
    根据所述DAG计算所述每条数据处理路径与所述目标参数值对应的参数值。Calculating, according to the DAG, a parameter value corresponding to each of the data processing paths and the target parameter value.
  5. 根据权利要求1所述的方法,其特征在于,所述将所确定的与所述目标参数值最接近的参数值对应的数据处理路径设置为所述应用的目标数据处理路径包括:The method according to claim 1, wherein the setting of the determined data processing path corresponding to the parameter value closest to the target parameter value to the target data processing path of the application comprises:
    判断所述每条数据处理路径与所述目标参数值对应的参数值是否不大于所述目标参数值;Determining whether the parameter value corresponding to each of the data processing paths and the target parameter value is not greater than the target parameter value;
    若存在一条数据处理路径与所述目标参数值对应的参数值不大于所述目标参数值,则将所述一条数据处理路径设置为所述应用的目标数据处理路径;If there is a data processing path and the parameter value corresponding to the target parameter value is not greater than the target parameter value, setting the one data processing path as the target data processing path of the application;
    若存在至少两条数据处理路径与所述目标参数值对应的参数值不大于所述目标参数值,则在所述至少两条数据处理路径中,获取参数值最小的第一数据数据处理路径,并将所述第一数据数据处理路径设置为所述应用的目标数据处理路径。If the parameter value corresponding to the at least two data processing paths and the target parameter value is not greater than the target parameter value, acquiring, in the at least two data processing paths, a first data data processing path having a minimum parameter value, And setting the first data data processing path to a target data processing path of the application.
  6. 根据权利要求5所述的方法,其特征在于,所述判断所述每条数据处理路径与 所述目标参数值对应的参数值是否不大于所述目标参数值之后,所述方法还包括:The method according to claim 5, wherein said determining said each data processing path is After the parameter value corresponding to the target parameter value is not greater than the target parameter value, the method further includes:
    若所述每条数据处理路径与所述目标参数值对应的参数值均大于所述目标参数值,则在所述应用的多条数据处理路径中,获取参数值最小的第二数据处理路径;If the parameter value corresponding to the target parameter value is greater than the target parameter value, the second data processing path with the smallest parameter value is obtained in the multiple data processing paths of the application;
    将所述第二数据处理路径设置为所述应用的目标数据处理路径。The second data processing path is set to a target data processing path of the application.
  7. 根据权利要求1所述的方法,其特征在于,所述将所确定的与所述目标参数值最接近的参数值对应的数据处理路径设置为所述应用的目标数据处理路径之后,所述方法还包括:The method according to claim 1, wherein after the determined data processing path corresponding to the parameter value closest to the target parameter value is set as the target data processing path of the application, the method Also includes:
    当接收到所述应用的数据写入请求时,根据所述目标数据处理路径对所述应用的数据进行存储。When receiving a data write request of the application, storing data of the application according to the target data processing path.
  8. 一种在存储服务器中为应用设置数据处理路径的装置,所述存储服务器中设置有多条数据处理路径,所述数据处理路径为应用服务器完成所述应用的数据I/O所需要执行的多个任务;An apparatus for setting a data processing path for an application in a storage server, where the storage server is provided with a plurality of data processing paths, where the data processing path is required for the application server to complete data I/O of the application. Task
    其特征在于,所述装置包括:The device is characterized in that:
    接收模块,用于接收应用服务器发送的为应用设置的目标数据处理路径的目标参数值;a receiving module, configured to receive a target parameter value of a target data processing path set by the application server and set by the application;
    获取模块,用于确定存储服务器中每条数据处理路径与所述目标参数值对应的参数值;An obtaining module, configured to determine a parameter value corresponding to each target data parameter in the storage server and the target parameter value;
    设置模块,用于将所确定的与所述目标参数值最接近的参数值对应的数据处理路径设置为所述应用的目标数据处理路径。And a setting module, configured to set the determined data processing path corresponding to the parameter value closest to the target parameter value as the target data processing path of the application.
  9. 根据权利要求8所述的装置,其特征在于,所述存储服务器中的每个任务包括至少一种处理方式,从每个任务的至少一种处理方式中选择一种处理方式形成所述多条数据处理路径。The apparatus according to claim 8, wherein each task in the storage server comprises at least one processing manner, and selecting one processing manner from at least one processing manner of each task forms the plurality of processing Data processing path.
  10. 根据权利要求8所述的装置,其特征在于,所述获取模块用于获取所述每条数据处理路径对应的多个任务以及每个任务的至少一种处理方式;根据所述多个任务以及每个任务的至少一种处理方式,计算所述每条数据处理路径与所述目标参数值对应的参数值。The device according to claim 8, wherein the obtaining module is configured to acquire a plurality of tasks corresponding to each data processing path and at least one processing mode of each task; At least one processing manner of each task, calculating a parameter value corresponding to each of the data processing paths and the target parameter value.
  11. 根据权利要求10所述的装置,其特征在于,所述获取模块用于根据所述多个任务以及每个任务的至少一种处理方式,生成有向无环图DAG,所述DAG用于指示所述应用的多条数据处理路径;根据所述DAG计算所述每条数据处理路径与所述目标参数值对应的参数值。The apparatus according to claim 10, wherein the obtaining module is configured to generate a directed acyclic graph DAG according to the plurality of tasks and at least one processing manner of each task, wherein the DAG is used to indicate a plurality of data processing paths of the application; calculating, according to the DAG, parameter values corresponding to the target parameter values of each of the data processing paths.
  12. 根据权利要求8所述的装置,其特征在于,所述设置模块用于判断所述每条数据处理路径与所述目标参数值对应的参数值是否不大于所述目标参数值;若存在一条数据处理路径与所述目标参数值对应的参数值不大于所述目标参数值,则将所述一条数据处理路径设置为所述应用的目标数据处理路径;若存在至少两条数据处理路径与所述目 标参数值对应的参数值不大于所述目标参数值,则在所述至少两条数据处理路径中,获取参数值最小的第一数据数据处理路径,并将所述第一数据数据处理路径设置为所述应用的目标数据处理路径。The device according to claim 8, wherein the setting module is configured to determine whether a parameter value corresponding to each of the data processing paths and the target parameter value is not greater than the target parameter value; if a data exists And if the parameter value corresponding to the target parameter value is not greater than the target parameter value, setting the one data processing path to the target data processing path of the application; if there are at least two data processing paths and the Head The parameter value corresponding to the parameter value is not greater than the target parameter value, and in the at least two data processing paths, acquiring a first data data processing path with the smallest parameter value, and setting the first data data processing path The target data processing path for the application.
  13. 根据权利要求12所述的装置,其特征在于,所述设置模块用于若所述每条数据处理路径与所述目标参数值对应的参数值均大于所述目标参数值,则在所述应用的多条数据处理路径中,获取参数值最小的第二数据处理路径;将所述第二数据处理路径设置为所述应用的目标数据处理路径。The device according to claim 12, wherein the setting module is configured to: if the parameter value corresponding to each of the data processing paths and the target parameter value is greater than the target parameter value, then the application is And acquiring, in the plurality of data processing paths, a second data processing path having the smallest parameter value; and setting the second data processing path as the target data processing path of the application.
  14. 根据权利要求8所述的装置,其特征在于,所述装置还包括:The device according to claim 8, wherein the device further comprises:
    存储模块,用于当接收到所述应用的数据写入请求时,根据所述目标数据处理路径对所述应用的数据进行存储。 a storage module, configured to store data of the application according to the target data processing path when receiving a data write request of the application.
PCT/CN2017/080480 2016-04-14 2017-04-13 Method and apparatus for setting data processing path for application in storage server WO2017177953A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201610232333.6A CN107301090B (en) 2016-04-14 2016-04-14 Method and device for setting data processing path for application in storage server
CN201610232333.6 2016-04-14

Publications (1)

Publication Number Publication Date
WO2017177953A1 true WO2017177953A1 (en) 2017-10-19

Family

ID=60042364

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2017/080480 WO2017177953A1 (en) 2016-04-14 2017-04-13 Method and apparatus for setting data processing path for application in storage server

Country Status (2)

Country Link
CN (1) CN107301090B (en)
WO (1) WO2017177953A1 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111061711A (en) * 2019-11-28 2020-04-24 同济大学 Large data flow unloading method and device based on data processing behavior
CN111428910A (en) * 2020-02-28 2020-07-17 西安电子科技大学 Vehicle shortest-time traffic path processing method based on time delay Petri network
CN116225346A (en) * 2023-05-09 2023-06-06 此芯科技(上海)有限公司 Memory data access method and electronic equipment

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110826057B (en) * 2018-08-09 2023-06-02 阿里巴巴集团控股有限公司 Analysis method for data processing path, computer device, and storage medium
CN111399753B (en) * 2019-08-23 2022-08-05 杭州海康威视系统技术有限公司 Method and device for writing pictures

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101706805A (en) * 2009-10-30 2010-05-12 中国科学院计算技术研究所 Method and system for storing object
CN101714064A (en) * 2009-12-29 2010-05-26 成都市华为赛门铁克科技有限公司 Data access method and server
CN103236985A (en) * 2013-04-02 2013-08-07 浪潮电子信息产业股份有限公司 Multipath load balancing system for accessing storage
CN103324444A (en) * 2013-05-24 2013-09-25 浪潮电子信息产业股份有限公司 Host terminal and storage terminal synergetic multi-control IO dispatch method

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW200529623A (en) * 2004-01-14 2005-09-01 Nec Corp Communication encryption method, communication encryption system, terminal device, DNS server and program
CN104424251B (en) * 2013-08-28 2019-03-15 腾讯科技(深圳)有限公司 A kind of calculation method and system that various dimensions are split

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101706805A (en) * 2009-10-30 2010-05-12 中国科学院计算技术研究所 Method and system for storing object
CN101714064A (en) * 2009-12-29 2010-05-26 成都市华为赛门铁克科技有限公司 Data access method and server
CN103236985A (en) * 2013-04-02 2013-08-07 浪潮电子信息产业股份有限公司 Multipath load balancing system for accessing storage
CN103324444A (en) * 2013-05-24 2013-09-25 浪潮电子信息产业股份有限公司 Host terminal and storage terminal synergetic multi-control IO dispatch method

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111061711A (en) * 2019-11-28 2020-04-24 同济大学 Large data flow unloading method and device based on data processing behavior
CN111061711B (en) * 2019-11-28 2023-09-01 同济大学 Big data stream unloading method and device based on data processing behavior
CN111428910A (en) * 2020-02-28 2020-07-17 西安电子科技大学 Vehicle shortest-time traffic path processing method based on time delay Petri network
CN111428910B (en) * 2020-02-28 2023-12-05 西安电子科技大学 Vehicle shortest time traffic path processing method based on delay Petri network
CN116225346A (en) * 2023-05-09 2023-06-06 此芯科技(上海)有限公司 Memory data access method and electronic equipment

Also Published As

Publication number Publication date
CN107301090A (en) 2017-10-27
CN107301090B (en) 2020-11-03

Similar Documents

Publication Publication Date Title
WO2017177953A1 (en) Method and apparatus for setting data processing path for application in storage server
US10416894B2 (en) Dynamic data set replica management
JP6437007B2 (en) Page cache write logging in block-based storage
JP5932043B2 (en) Volatile memory representation of non-volatile storage set
JP6389268B2 (en) Durability features that dynamically modify individual data volumes
US9182927B2 (en) Techniques for implementing hybrid flash/HDD-based virtual disk files
US20160042005A1 (en) Techniques for implementing hybrid flash/hdd-based virtual disk files
US8229968B2 (en) Data caching for distributed execution computing
TW201220197A (en) for improving the safety and reliability of data storage in a virtual machine based on cloud calculation and distributed storage environment
US11579811B2 (en) Method and apparatus for storage device latency/bandwidth self monitoring
US9613050B2 (en) Shared data storage leveraging dispersed storage devices
US10505862B1 (en) Optimizing for infrastructure diversity constraints in resource placement
US20210117333A1 (en) Providing direct data access between accelerators and storage in a computing environment, wherein the direct data access is independent of host cpu and the host cpu transfers object map identifying object of the data
US11016861B2 (en) Crash recoverability for graphics processing units (GPU) in a computing environment
WO2017201984A1 (en) Data processing method, associated apparatus, and data storage system
JP6244949B2 (en) Information processing apparatus, control method, and control program
JP2020532803A (en) Asynchronous updates of metadata tracks in response to cache hits generated via synchronous ingress and out, systems, computer programs and storage controls
US11513849B2 (en) Weighted resource cost matrix scheduler
CN114697372A (en) Data transmission processing and storage method, system and medium in distributed system
US20070233449A1 (en) Simulation of hierarchical storage systems
US10812408B1 (en) Preventing concentrated selection of resource hosts for placing resources
US10594620B1 (en) Bit vector analysis for resource placement in a distributed system
US11068192B1 (en) Utilizing mutiple snapshot sources for creating new copy of volume in a networked environment wherein additional snapshot sources are reserved with lower performance levels than a primary snapshot source
US11861175B2 (en) Latency in data storage systems
WO2017122263A1 (en) Management computer and management method

Legal Events

Date Code Title Description
NENP Non-entry into the national phase

Ref country code: DE

121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 17781929

Country of ref document: EP

Kind code of ref document: A1

122 Ep: pct application non-entry in european phase

Ref document number: 17781929

Country of ref document: EP

Kind code of ref document: A1