WO2019085780A1 - 一种云存储系统及用于云存储系统中实现自定义数据处理的方法 - Google Patents

一种云存储系统及用于云存储系统中实现自定义数据处理的方法 Download PDF

Info

Publication number
WO2019085780A1
WO2019085780A1 PCT/CN2018/111174 CN2018111174W WO2019085780A1 WO 2019085780 A1 WO2019085780 A1 WO 2019085780A1 CN 2018111174 W CN2018111174 W CN 2018111174W WO 2019085780 A1 WO2019085780 A1 WO 2019085780A1
Authority
WO
WIPO (PCT)
Prior art keywords
custom function
custom
user
instance
processing
Prior art date
Application number
PCT/CN2018/111174
Other languages
English (en)
French (fr)
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 WO2019085780A1 publication Critical patent/WO2019085780A1/zh

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers

Definitions

  • the present application relates to the field of cloud storage, and in particular to a cloud storage system.
  • the present application also relates to a method for implementing custom data processing in a cloud storage system in a cloud storage system, and a method for executing a custom function program in a cloud storage system.
  • the first method is to upload the files to the cloud storage, or download the files to the local and then process them.
  • the disadvantage of the solution is that it needs to maintain the local processing server.
  • the processing process is disconnected from the cloud storage and cannot be well integrated into the file url (Uniform Resource Locator) provided by the cloud storage.
  • the second method is to increase the demand. To the cloud storage service provider, it is evaluated, developed and launched.
  • the disadvantage is that the process is too long and it is a customized function.
  • the demand may not be accepted by the cloud storage service provider, and the solution may not meet the requirements of the user. Therefore, how to manage the customization function of users is a key and urgent technical solution for cloud storage systems.
  • AWS Lambda technology provides a way to solve the above problems.
  • the general principle of this method is: first write a certain specification code (usually using java, python, etc.), provide the specified function implementation, upload it and host it on Lambda; Since S3 provides the event notification function, when uploading a file or deleting a file, the Lambda is automatically triggered according to the configuration, and the basic information of the event such as bucket, object, etc. is passed, and the Lambda can execute the code, thereby executing the user-defined logic.
  • Lambda is a form of event notification. The body of the notification is automatically generated. The user cannot pass in the custom parameters, and the flexibility is poor.
  • the present application provides a cloud storage system to solve the above problems of the prior art.
  • the application additionally provides a method of registering, modifying, and executing a custom function instance in a cloud storage system.
  • a cloud storage system provided by the present application includes: a request access module, a cloud storage system control module, and a calculation instance management module;
  • the request access module is configured to provide an interface for the cloud storage system control module and/or the computing instance management module;
  • the system control module is configured to implement custom function management
  • the calculation instance management module is configured to manage a custom function instance
  • the custom function is used to implement user-defined processing of data in the cloud storage system.
  • the cloud storage system control module includes: a custom function registration unit and a custom function operation unit; wherein
  • the custom function registration unit is configured to generate registration information according to the user registration request sent by the interface of the request access module, and return registration information;
  • the custom function operation unit is configured to receive and operate on related information of the registered custom function according to a user instruction.
  • the custom function operation unit includes at least one of a deletion unit, a query unit, and an enumeration unit;
  • the deleting unit is configured to delete registration information of the custom function
  • the query unit is configured to query registration information of the custom function according to a user instruction
  • the enumeration unit is used to enumerate registration information of a custom function that satisfies the set condition registered by the query object.
  • the registration information of the custom function includes at least one of the following: a custom function name, a creation time, an owner, an activated instance name, and an instance number.
  • the computing instance management module includes a mirror management unit and an instance management unit;
  • the image management unit is configured to generate and upload a custom function image, and implement an operation on the customized function image according to the instruction;
  • the instance management unit is configured to create a calculation instance according to a user-uploaded operation parameter and a custom function image, and implement management of the calculation instance according to a user instruction;
  • the custom function image is a packet containing user-defined data handler commands.
  • the image management unit includes a mirror construction unit and a mirror query unit; wherein
  • the mirror building unit is configured to generate a command set of a custom data processing program
  • the mirror query unit is configured to customize a query of function image information
  • the custom function image information includes at least one of the following: a custom function image name, a version, and a creation time of each version.
  • the instance management unit includes at least one of a startup unit, a stop unit, an update unit, and a query unit;
  • the startup unit is configured to start a custom function instance
  • the stopping unit is configured to stop an activated function instance that has been started
  • the update unit is configured to update a custom function instance
  • the query unit is used to view information of a custom function instance.
  • the query unit includes at least one of an instance information query unit, an instance resource use query unit, and an instance log query unit;
  • the instance information query unit is configured to view instance information of a custom function instance
  • the instance resource usage query unit is configured to view resource usage information of the custom function instance
  • the instance log query unit is configured to view log information of a custom function program
  • the instance information includes at least one of the following: a mirrored version of the custom function instance, an instance number, an instance configuration, and a startup time;
  • the resource usage information includes CPU and memory resource usage of the custom function instance.
  • it includes a rights management unit for managing the usage rights of the custom function program.
  • the present application further provides a method for implementing customized data processing in a cloud storage system, including:
  • the receiving a user registration request and generating a custom function registration information for custom data processing including:
  • the registration information includes at least one of the following: a custom function name, a creation time, an owner, an activated instance name, and an instance number.
  • the receiving the command set of the generated custom data processing program of the registered custom function, and constructing the custom function image based on the command set of the custom data processing program includes:
  • the present application also provides a method for executing a custom function program in a cloud storage system, including:
  • Parsing the request obtaining data to be processed, custom function information, and processing parameters; and calling a corresponding custom function according to the custom function information;
  • the user is a user other than the owner of the custom function management authority.
  • the present application also provides a method for executing a custom function program in a cloud storage system, including:
  • the processing engine generates a task identifier to be returned to the user; the processing engine parses the request, obtains data to be processed, custom function information, and processing parameters, and forwards the data to the computing instance management module;
  • the calculation instance management module invokes a corresponding custom function according to the custom function information, executes the customization function according to the processing parameter, processes the to-be-processed data by using the customization function, and returns the processing result to the Processing engine;
  • the processing engine feeds back the processing progress according to the task identifier submitted by the user or forwards the processing result to the user according to the received processing result.
  • the user is a user other than the owner of the custom function management authority.
  • the present application also provides a method for executing a custom function program in a cloud storage system, including:
  • the processing result is a result of the processing function in the processing request of the user performing data processing on the data and the data to be processed.
  • the present application also provides a method for executing a custom function program in a cloud storage system, including:
  • Parsing the request obtaining data to be processed, custom function information, and processing parameters, and forwarding the same to the computing instance management module;
  • the present application also provides a method for executing a custom function program in a cloud storage system, including:
  • the present application further provides a method for implementing customized data processing in a cloud storage system, including:
  • the custom function is used to implement user-defined processing of data in the cloud storage system
  • One aspect of the present application provides a user with a custom function registration and use.
  • a calculation instance is assigned to a custom function image to enable a custom function program to be run, which allows the user to write a custom function as needed. Passing in custom parameters greatly increases the flexibility of custom functions.
  • the application also implements complete custom function permission control, allows access to third-party technologies, forms a cloud-based custom function ecosystem, and expands the scope of use of custom functions.
  • FIG. 1 is a schematic diagram of the principle of an embodiment supporting a cloud storage system according to the present application
  • FIG. 2 is a control flow architecture diagram of an embodiment of a cloud storage system of the present application
  • FIG. 3 is a flow chart of a method of registering a custom function in a cloud storage system
  • FIG. 4 is a timing diagram of a control flow of a custom function of the cloud storage system
  • FIG. 5 is a flow chart of a method for synchronously executing a custom function program in a cloud storage system
  • FIG. 6 is a sequence diagram of a synchronous execution of a custom function program in a cloud storage system
  • FIG. 7 is a flow chart of a method for asynchronously executing a custom function program in a cloud storage system
  • FIG. 8 is a sequence diagram of a method of asynchronously executing a custom function program in a cloud storage system.
  • the present application provides a cloud storage system, including: a request access module, a cloud storage system control module, and a computing instance management module; wherein the request access module is configured to provide an interface for the cloud storage system control module and/or the computing instance management module
  • the system control module is used to implement custom function management; the calculation instance management module is used to manage the custom function instance; wherein the custom function is used to implement user-defined data in the cloud storage system; Processing.
  • the cloud storage system includes a cloud storage subsystem and an instance management module (also referred to as a computing instance management module), the cloud storage subsystem is used to implement management and calling of a custom function; and the computing instance management module is used for Implement management and execution of custom function instances.
  • an instance management module also referred to as a computing instance management module
  • the cloud storage subsystem is used to implement management and calling of a custom function
  • the computing instance management module is used for Implement management and execution of custom function instances.
  • these units can be divided into two parts: one is the control flow operation, the purpose is to manage the custom function, including the registration, upload, instance start and stop, status and log view of the custom function. And so on; part of the data flow operation, the user calls the custom function through the file upload and download interface to get the desired processing.
  • the API Gateway is a “cloud gateway”, which provides an interface for the cloud storage subsystem to operate a custom function computing instance, which is also referred to as a “container service interface”, and the cloud storage subsystem and the computing instance management
  • the module communicates via the http protocol, using the POST method.
  • the cloud storage subsystem is the originator of the request, and the compute instance is the recipient of the request.
  • the cloud storage subsystem also provides a download interface to facilitate the transfer of files between the cloud storage subsystem and the computing instance.
  • FIG. 2 is a control flow architecture diagram of an embodiment of the cloud storage system of the present application.
  • the cloud storage subsystem of this embodiment includes a request access module and a system control module.
  • the request access module provides an interface for the user to operate the system control module and/or the computing instance management module; interacts with the user, and forwards the user's command to the destination module;
  • the system control module includes a custom function registration unit and a custom function operation unit.
  • the custom function registration unit is configured to complete the registration of the custom function by the user, and generate registration information, that is, generate registration information according to the user registration request sent from the interface of the request access module, and return the registration information.
  • the registration information includes at least one of a custom function name, a creation time, and an owner; if the registered custom function is already available, the name and number of the activated instance are also included.
  • the creation time refers to the time when the custom function is registered, and the time record is generally recorded as the creation time when the registration is successful; the owner generally refers to an individual or a unit that creates a custom function and provides a customized function image;
  • the instance name that was started is the name of the compute instance that was assigned and started for the custom function.
  • the custom function operation unit is configured to perform a management operation on the registered custom function, specifically, to receive and operate the related information of the registered custom function according to the user instruction.
  • the operation unit includes at least one of a deletion unit, a query unit, and an enumeration unit.
  • the deletion unit means that when a custom function is no longer used, the custom function information is deleted, and all resources owned by the user, such as a calculation instance, a mirror, and the like, are deleted. For example, if a user deletes a function named Increse, which has a linuxOS instance and a mirror Mi, all the customized information such as registration time, function name, owner, etc. are deleted; at the same time, the linuxOS instance owned by the function and The mirror Mi will also be deleted at the same time.
  • the user may also query the information of the custom function being used to facilitate the update of the calculation instance.
  • the query unit and the enumeration unit provide the user with the function, and the query unit queries other information related thereto according to the information provided by the user. For example, a user a registered a custom function on January 16, 2017, named function, and assigned the instance linuxOS. The user can obtain additional information about the eligible custom function by providing one or more pieces of information on January 16, 2017, function, linuxOS; if a user has registered multiple custom functions, they can use
  • the enumeration unit provides a search condition, and the enumeration unit returns information of all or a specific custom function that meets the search condition.
  • the search condition provided by a user is that the registration time is January 16, 2017, the information of the custom function registered on January 16, 2017 is listed.
  • the custom function may be one or multiple. If there is no custom function that satisfies this information, it may be 0.
  • the computing instance management module is a module that manages and executes a custom function instance and a mirror.
  • the module is divided into two units, which are an instance management unit and a mirror management unit.
  • the instance management unit is configured to create a calculation instance according to a user-uploaded operation parameter in combination with a custom function image, and implement management of the calculation instance according to the instruction.
  • the computing example refers to a resource system provided for running a custom function program.
  • the custom function must be run on an operating system platform.
  • the operating system (OS) is a management and control computer hardware and software.
  • the computer program of the resource is the most basic system software running directly on the "bare metal". Any other software must be supported by the operating system.
  • the operating system used in the calculation example in this application may be a linux system, a Windows system, a UNIX system, or other systems. Since linux is flexible and secure, this embodiment uses linux as an example to describe each computing instance. .
  • the instance management unit specifically includes at least one of a startup unit, a stop unit, an update unit, and a query unit.
  • the startup unit is configured to start a custom function instance;
  • the stop unit is configured to stop a started custom function instance;
  • the update unit is configured to update a custom function instance;
  • the query unit is configured to view a custom function instance Information.
  • the query unit may further include at least one of an instance information query unit, an instance resource use query unit, and an instance log query unit.
  • the instance information query unit is configured to view instance information of the custom function instance, including a mirror version of the custom function instance, an instance number, an instance configuration, and a startup time; and the instance resource uses a query unit to view the custom function instance.
  • Resource usage information including CPU and memory resource usage of the custom function instance; the instance log query unit is used to view log information of the custom function program;
  • the image management unit is configured to generate and upload a custom function image, and implement an operation on the custom function image according to the instruction, that is, to construct and manage a custom function image. It includes a mirrored building unit and a mirrored query unit.
  • the mirror building unit is configured to generate a command set of the custom data processing program, and upload the command set to the cloud storage system, that is, for constructing a custom function image.
  • the custom function image is a package containing a user-defined data processing program, which specifies the running mode of the processing program.
  • the format of the package may be zip or other formats such as tar. This embodiment adopts the tar format.
  • the compute instance management module After the user uploads the package of the custom data handler's command set, the compute instance management module builds a custom function image based on the user-uploaded package.
  • the mirroring query unit is configured to customize the query of the function mirroring information.
  • the mirroring query unit has an interface in the requesting access module, and the user queries the mirroring information query interface to query the customized function mirroring information.
  • the custom function image information includes the name and version of the image and the creation time of each version.
  • the processing flow of the control flow request of the custom function cloud storage system in the embodiment of the present application is as follows: the user's custom function control flow request is processed by the cloud storage subsystem to request the access module, and then first forwarded to the cloud storage system control module of the back end.
  • the registration information related to the custom function is recorded, such as the name of the custom function, the owner, the creation time, the number of instances, etc.; after the registration information is successfully written, the cloud storage subsystem calls the calculation instance management module.
  • the interface starts the calculation instance according to the resource type specified by the user. This instance provides compute and storage resources for the user's custom function program, and the user's custom function program runs in that instance.
  • the cloud storage subsystem also calls the update, delete, and view status units of the compute instance management module according to the user's request, and performs various management operations on the user's custom function instance.
  • the custom function cloud storage system of the embodiment further provides a rights management unit, which provides rights management for the use of the customized function program, expands the use scope of the customized function program, and provides it to more users.
  • the technical solution of the above embodiment of the present application provides a user with a custom function registration and use, and the calculation instance module allocates a calculation instance for the custom function image, so that the custom function program can be run, which enables the user to write a customized function as needed. , the use of custom parameters when used, greatly improving the flexibility of the custom function.
  • the application also implements complete custom function permission control, allows access to third-party technologies, forms a cloud-based custom function ecosystem, and expands the scope of use of custom functions.
  • the present application further provides a method for implementing a customized data processing in a cloud storage system.
  • FIG. 3 it is a flowchart of a method for implementing customized data processing in a cloud storage system according to the present application, which specifically includes the following. step:
  • S101 Receive a user registration request, and generate custom function registration information for custom data processing.
  • the cloud storage system Only after the custom function is registered in the cloud storage system can the cloud storage system correctly identify the user's custom function data processing request and forward the corresponding request to the user's custom function calculation instance.
  • the user sends a registration request, and the registration request is forwarded to the system control module through an interface provided by the request access module of the cloud storage system, and the system control module generates a custom function registration metadata information, and stores the metadata information, and then
  • the metadata information is forwarded to the user by requesting an interface provided by the access module, where the metadata information includes a name, an owner, a creation time, an instance number, and the like.
  • the cloud storage system saves the basic information of the custom function so that the function can be accurately recognized when it is used. After the custom function is registered, the custom function cannot be used immediately, and the user needs to upload an image for the custom function. Start the calculation instance.
  • S102 Receive a command set of the generated custom data processing program of the registered custom function, and construct a custom function image based on the command set of the custom data processing program.
  • the command set of the generated custom data processing program of the generated custom function is received, and a custom function image is constructed based on the command set of the custom data processing program, and the constructing the custom function image includes: receiving a set of commands for a custom data handler that has registered a custom function; a configuration file that receives or generates a command set of a custom data handler for the custom function; receives or generates a script file that builds a mirror of the custom function; The script file generates a number of custom function images.
  • the cloud storage system includes an interface for uploading a mirror, and the user uploads the customized function image to the calculation instance management module according to the requirements of the interface.
  • the computing instance management module constructs a custom function image according to the user-uploaded package, and the custom function image refers to a program having an executable data processing capability.
  • the custom function image is a package containing a custom function program.
  • Different cloud storage systems can have different requirements on the format of the package, and can be set when designing the cloud storage system. In this embodiment, the tar format is adopted.
  • the files to be generated are as follows: custom function.yaml, unzip, unzip.conf, where unzip can be a custom function program developed by the user, which is an executable file, through which the user's data is customized.
  • Unzip.conf is the user's own configuration file (user-defined); custom function. yaml is a custom function image build script, the format is as follows:
  • image is the name of the base image
  • the base image refers to the operating system platform on which the custom function runs, such as ubuntu, centOS, and the like.
  • the cloud build_script is a script file, and the computing instance management module performs some pre-operations, such as setting some parameters, according to instructions in the file when constructing the image. Similarly, when the instance is launched, the calculation instance management module starts the user's custom function program according to the instruction in the run_script.
  • the calculation instance management module executes the script file to construct a custom function image.
  • the custom function instance provides computing and storage resources for the user's custom function program. It is the real running place for the user to customize the data.
  • the back end is the computing instance management module. Users need to specify the image version used to launch the instance (the latest version is used by default), the number of instances, instance calculations, and storage resource configuration.
  • FIG. 4 is a timing diagram of a custom function control flow of the cloud storage system of the present application, which is a more intuitive representation of the above steps.
  • the present application further provides a method for synchronously executing a custom function program in a cloud storage system.
  • FIG. 5 is a flowchart of a method for synchronously executing a custom function program in a cloud storage system according to the present application. Specifically, the following steps are included:
  • S201 Receive a request for processing data by a user.
  • the request access module provides an interface for uploading or downloading, and the user inputs the custom function parameter by calling the file uploading and downloading interface of the cloud storage system, and the parameter position may be a query string part of the url or a request header of the http.
  • the parameter format of the custom function is set by the cloud storage provider. The format agreed in this embodiment is as follows:
  • Custom function / custom function Name key1_value1, key2_value2...
  • the custom function Name is the name of the custom function
  • key1_value1 is the parameter pair
  • key is the name of the parameter
  • value is the value of the parameter, separated by commas.
  • a user wants to use the registered function Function, whose parameters are l, o, and the functions are to increase the brightness and contrast values. The positive number is increased, and the negative number is decreased.
  • the custom function /Function, l_0.2, o_-0.3 is added to the query string part of the uploaded request or the header of the http, the calculation instance will increase the brightness of the picture by 20% after the image is uploaded. The contrast is reduced by 30% of the processing.
  • the original data is uploaded to the cloud storage system; if it is a download request, the original data is downloaded to the cloud storage system.
  • S202 Parse the request, obtain data to be processed, custom function information, and processing parameters; and call a corresponding custom function according to the custom function information.
  • the cloud storage system control module records and manages the custom function metadata information, and the metadata instance records the calculation instance address of the custom function.
  • the cloud storage system obtains the name of the custom function, and finds the calculation instance address corresponding to the custom function from the calculation instance management module according to the name, and then sends the POST with the custom function parameter according to the protocol.
  • the protocol refers to some rules agreed by the user of the custom function program and the provider of the custom function program in order to successfully complete the use of the custom function program, such as the requested port, etc. .
  • the requirements of the custom function program in this embodiment are: having execution permission, which can be directly operated by ./; listening to port 9000 and receiving the POST request of this port.
  • the port can also be set to other ports to be able to listen to the POST request smoothly.
  • the sending of a POST request with a custom function parameter includes the following steps:
  • the cloud storage system inserts the resolved custom function name and parameter pair into the POST request.
  • the POST request is sent to the 9000 port of the custom function calculation instance of the specified address.
  • the registered custom function program is a custom function image generated during the registration process.
  • S203 Perform the custom function according to the processing parameter, and process the to-be-processed data by using the custom function.
  • This step completes the processing of the data, and the registered custom function program needs to request the pending data from the cloud storage system for processing.
  • the processing result is returned to the cloud storage system through the response body in the POST request, and the cloud storage system returns the processing result to the user.
  • FIG. 6 is a timing diagram of synchronous execution of a custom function program in the cloud storage system.
  • the downloading is taken as an example to more intuitively represent the above steps.
  • the present application further provides a method for asynchronously executing a custom function program in a cloud storage system, as shown in FIG. 7 , which is a flowchart of a method for asynchronously executing a custom function program in a cloud storage system according to the present application.
  • the specific steps include:
  • the requesting access module receives a request for processing the data by the user, and forwards the request to the processing engine.
  • This step mainly completes the uploading or downloading task. If it is an uploading request, the original data (pending data) is uploaded to the cloud storage system; if it is a download request, the original data is downloaded to the cloud storage system. The upload or download request is forwarded to the processing engine.
  • the processing engine generates a task identifier and returns to the user; the processing engine parses the request, obtains data to be processed, custom function information, and processing parameters, and forwards the data to the computing instance management module.
  • the processing engine generates a task identifier back to the user, and parses the request, and sends the parsed request to the computing instance management module through a POST request.
  • Each task has a task ID, and each task ID has a one-to-one correspondence with its task.
  • the processing engine parses the request, obtains a custom function name, and finds a calculation instance address corresponding to the custom function by using a calculation instance management module according to the name, and then sends a POST request with a custom function parameter according to the protocol.
  • the calculation example address refers to some rules agreed by the user of the custom function program and the provider of the custom function program in order to successfully complete the use of the custom function program, such as the requested port.
  • the requirements of the custom function program in this embodiment are: having execution permission, which can be directly operated by ./; listening to port 9000 and receiving the POST request of this port.
  • the port can also be set to other ports to be able to listen to the POST request smoothly.
  • the sending of a POST request with a custom function parameter includes the following steps:
  • the cloud storage system inserts the resolved custom function name and parameter pair into the POST request.
  • the POST request is sent to the 9000 port of the custom function calculation instance of the specified address.
  • the calculation instance management module invokes a corresponding custom function according to the custom function information, executes the custom function according to the processing parameter, processes the to-be-processed data by using the custom function, and returns the processing result to In the processing engine;
  • the corresponding custom function is called according to the custom function information, and the processing of the data to be processed is completed by the custom function, and then the result is fed back to the processing engine.
  • the processing engine feeds back the processing progress according to the task identifier submitted by the user or forwards the processing result to the user according to the received processing result.
  • the cloud storage system receives the query task completion request; parses the task completion request, obtains the task identifier, and sends the identifier to the processing engine;
  • the task identifier is used to query the task completion status and return to the cloud storage system. If yes, the processing result is returned; if not, the return is not completed;
  • FIG. 8 is a sequence diagram of a method for asynchronously executing a custom function program in a cloud storage system.
  • the uploading is taken as an example to more intuitively represent the above steps.
  • the user may be a user other than the owner of the custom function management authority, that is, the custom function of the cloud storage system may set the permission and open as needed. To a third party.
  • the embodiment of the present application provides a cloud storage system that supports a custom function.
  • the user can pass the parameters of the UDF through the url or the http header to conveniently control the code logic.
  • the cloud storage system supporting the custom function in the embodiment of the present application can also implement a synchronous and asynchronous solution, and the user can execute the logic capable of fast execution and return the result to the user in a synchronous manner; and can also use asynchronous Way, execute the code that takes a long time to execute, and notify the user asynchronously of the result.
  • the cloud storage system supporting the custom function in the embodiment of the present application can also implement the completed UDF authority control, access the third-party technology, and implement the cloud storage-based ecosystem.
  • an embodiment of the present application further provides a method for executing a custom function program in a cloud storage system, including:
  • the processing engine Receiving a processing progress returned by the processing engine or the processing result that the processing engine receives from the processing result of the computing instance management module and forwarding the result to the user; wherein the processing result is a custom function executing the user processing request for the data Process parameters and the results of the data to be processed.
  • an embodiment of the present application further provides a method for executing a custom function program in a cloud storage system, including:
  • Parsing the request obtaining data to be processed, custom function information, and processing parameters, and forwarding the same to the computing instance management module;
  • an embodiment of the present application further provides a method for executing a custom function program in a cloud storage system, including:
  • an embodiment of the present application further provides a method for implementing customized data processing in a cloud storage system, including:
  • the custom function is used to implement user-defined processing of data in the cloud storage system
  • a computing device includes one or more processors (CPUs), input/output interfaces, network interfaces, and memory.
  • processors CPUs
  • input/output interfaces network interfaces
  • memory volatile and non-volatile memory
  • the memory may include non-persistent memory, random access memory (RAM), and/or non-volatile memory in a computer readable medium, such as read only memory (ROM) or flash memory.
  • RAM random access memory
  • ROM read only memory
  • Memory is an example of a computer readable medium.
  • Computer readable media including both permanent and non-persistent, removable and non-removable media may be implemented by any method or technology.
  • the information can be computer readable instructions, data structures, modules of programs, or other data.
  • Examples of computer storage media include, but are not limited to, phase change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read only memory. (ROM), electrically erasable programmable read only memory (EEPROM), flash memory or other memory technology, compact disk read only memory (CD-ROM), digital versatile disk (DVD) or other optical storage, Magnetic tape cartridges, magnetic tape storage or other magnetic storage devices or any other non-transportable media can be used to store information that can be accessed by a computing device.
  • computer readable media does not include non-transitory computer readable media, such as modulated data signals and carrier waves.
  • embodiments of the present application can be provided as a method, system, or computer program product.
  • the present application can take the form of an entirely hardware embodiment, an entirely software embodiment or an embodiment in combination of software and hardware.
  • the application can take the form of a computer program product embodied on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) including computer usable program code.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

本申请公开了一种云存储系统及用于云存储系统中实现自定义数据处理的方法,其中云存储系统包括:请求接入模块、云存储系统控制模块以及计算实例管理模块;其中,所述请求接入模块,用于为云存储系统控制模块和/或计算实例管理模块提供接口;所述系统控制模块,用于实现自定义函数管理;所述计算实例管理模块,用于对自定义函数实例进行管理;其中,所述自定义函数用于实现用户自定义对云存储系统中数据的处理。使得用户可以根据需要编写自定义的函数,在使用时传入自定义的参数,大大提升了自定义函数的灵活性。本申请另外提供在云存储系统注册、修改、执行自定义函数实例的方法。

Description

一种云存储系统及用于云存储系统中实现自定义数据处理的方法
本申请要求2017年10月31日递交的申请号为201711045693.6、发明名称为“一种云存储系统及用于云存储系统中实现自定义数据处理的方法”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请涉及云存储领域,具体涉及一种云存储系统。本申请同时涉及一种在云存储系统中用于云存储系统中实现自定义数据处理的方法、用于云存储系统中执行自定义函数程序的方法。
背景技术
随着计算机科学的发展,云存储技术被越来越广泛地使用。
在云存储系统中,很多时候用户需要对文件进行定制化的加工,当前有两种方法,第一种方法是将文件加工好上传到云存储,或者下载文件到本地后再做加工,这种方案的缺点是需要维护本地的处理服务器,另外加工过程与云存储脱节,不能很好的融合进云存储提供的文件url(Uniform Resource Locator,统一资源定位器)中;第二种方法是提需求到云存储服务商,由其进行评估、开发以及上线,缺点是流程太长,而且是定制化的功能,需求可能不被云存储服务商接受,方案也不一定能够符合用户的要求。因此如何托管用户的定制功能是云存储系统的一种关键和迫切的技术方案。
生态方面,第三方产商有更多的基于云存储的计算技术,比如人脸识别、鉴黄等,迫切需要云存储系统提供一个平台,将他们的技术和服务接入进来,通过云存储系统模块提供给用户。
AWS Lambda技术提供了一种解决上述问题的方法,该方法的大致原理是:先编写一定规范的代码(一般使用java、python等语言),提供规定的函数实现,将其上传托管在Lambda上;由于S3提供了事件通知功能,在上传文件或者删除文件的时候,根据配置自动触发Lambda,并将事件的基本信息比如bucket、object等信息传递过去,Lambda即可执行代码,从而执行用户自定义的逻辑。但是,Lambda是事件通知的形式,通知的消息体都是自动生成,用户不能传入自定义的参数,灵活性较差。
发明内容
本申请提供一种云存储系统,以解决现有技术的上述的问题。本申请另外提供在云存储系统注册、修改、执行自定义函数实例的方法。
本申请提供的一种云存储系统,其包括:请求接入模块、云存储系统控制模块以及计算实例管理模块;其中,
所述请求接入模块,用于为云存储系统控制模块和/或计算实例管理模块提供接口;
所述系统控制模块,用于实现自定义函数管理;
所述计算实例管理模块,用于对自定义函数实例进行管理;
其中,所述自定义函数用于实现用户自定义对云存储系统中数据的处理。
可选的,所述云存储系统控制模块包括:自定义函数注册单元和自定义函数操作单元;其中,
所述自定义函数注册单元,用于根据所述请求接入模块的接口传来的用户注册请求生成注册信息,并返回注册信息;
所述自定义函数操作单元,用于接收并根据用户指令对已注册自定义函数的相关信息进行操作。
可选的,所述自定义函数操作单元包括删除单元、查询单元及列举单元中的至少一个;
所述删除单元用于删除自定义函数的注册信息;
所述查询单元用于根据用户指令查询自定义函数的注册信息;
所述列举单元用于列举被查询对象注册的满足设定条件的自定义函数的注册信息。
其中,所述自定义函数的注册信息包括下列至少一个:自定义函数名称、创建时间、拥有者、已启动的实例名称及实例个数。
可选的,所述计算实例管理模块包括镜像管理单元和实例管理单元;
所述镜像管理单元,用于生成并上传自定义函数镜像,并根据指令实现对所述自定义函数镜像的操作;
所述实例管理单元,用于根据用户上传的操作参数结合自定义函数镜像创建计算实例,并根据用户指令实现对计算实例的管理;其中,
所述自定义函数镜像为包含用户自定义数据处理程序命令的数据包。
可选的,所述镜像管理单元包括镜像构建单元和镜像查询单元;其中,
所述镜像构建单元用于生成自定义数据处理程序的命令集;
所述镜像查询单元用于自定义函数镜像信息的查询;
所述自定义函数镜像信息包括下列中的至少一个:自定义函数镜像名称、版本、各个版本的创建时间。
可选的,所述实例管理单元包括启动单元、停止单元、更新单元及查询单元中的至少一个;其中,
所述启动单元用于启动自定义函数实例;
所述停止单元用于停止已启动的自定义函数实例;
所述更新单元用于更新自定义函数实例;
所述查询单元用于查看自定义函数实例的信息。
可选的,
所述查询单元包括实例信息查询单元、实例资源使用查询单元及实例日志查询单元中的至少一个;
所述实例信息查询单元用于查看自定义函数实例的实例信息;
所述实例资源使用查询单元用于查看自定义函数实例的资源使用信息;
所述实例日志查询单元用于查看自定义函数程序的日志信息;
其中,
所述实例信息包括下列中的至少一个:自定义函数实例的镜像版本、实例数目、实例配置、启动时间;
所述资源使用信息包括自定义函数实例的CPU和内存资源使用率。
可选的,包括权限管理单元,用于管理自定义函数程序的使用权限。
此外,本申请还提供一种用于云存储系统中实现自定义数据处理的方法,其包括:
接收用户注册请求,并生成用于自定义数据处理的自定义函数注册信息;
接收已注册自定义函数的自定义数据处理程序的命令集,并基于所述自定义数据处理程序的命令集构建自定义函数镜像;
根据所述自定义函数镜像,分配并启动自定义函数实例。
可选的,所述接收用户注册请求,并生成用于自定义数据处理的自定义函数注册信息,包括:
根据用户注册请求,生成并存储自定义数据处理的自定义函数的注册信息;
向用户返回所述的自定义函数的注册信息;
其中,所述注册信息包括下列至少一个:自定义函数名称、创建时间、拥有者、已启动的实例名称及实例个数。
可选的,所述接收生成的已注册自定义函数的自定义数据处理程序的命令集,并基于所述自定义数据处理程序的命令集构建自定义函数镜像包括:
接收已注册自定义函数的自定义数据处理程序的命令集;
接收或生成命令集的配置文件;
接收或生成构建自定义函数的镜像的脚本文件;
执行所述脚本文件,基于所述自定义数据处理程序的命令集和配置文件生成自定义函数镜像。
此外,本申请还提供一种用于云存储系统中执行自定义函数程序的方法,其包括:
接收用户对数据进行处理的请求;
解析所述请求,获得待处理数据、自定义函数信息及处理参数;依据所述自定义函数信息调用相应的自定义函数;
根据所述处理参数执行所述自定义函数,通过所述自定义函数对所述待处理数据进行处理;
向用户返回处理结果。
可选的,所述用户为自定义函数管理权限拥有者之外的用户。
此外,本申请还提供一种用于云存储系统中执行自定义函数程序的方法,其包括:
请求接入模块接收用户对数据进行处理的请求,将其转发至处理引擎中;
所述处理引擎生成任务标识返回至用户;所述处理引擎解析所述请求,获得待处理数据、自定义函数信息及处理参数,将其转发至计算实例管理模块;
计算实例管理模块依据自定义函数信息调用相应自定义函数,根据所述处理参数执行所述自定义函数,通过所述自定义函数对所述待处理数据进行处理,并将处理结果返回至所述处理引擎中;
所述处理引擎根据用户提交的任务标识反馈处理进度或根据接收到的处理结果向用户转发所述处理结果。
可选的,所述用户为自定义函数管理权限拥有者之外的用户。
此外,本申请还提供一种用于云存储系统中执行自定义函数程序的方法,其包括:
接收用户对数据进行处理的请求,并将其转发至处理引擎中;
接收处理引擎返回的处理进度或处理引擎接收自计算实例管理模块的处理结果而向用户转发的所述处理结果;
其中,所述处理结果为自定义函数执行所述用户对数据进行处理请求中的处理参数 及待处理数据的结果。
此外,本申请还提供一种用于云存储系统中执行自定义函数程序的方法,其包括:
接收请求接入模块发送的用户对数据进行处理的请求;
基于所述请求生成任务标识并反馈至所述请求接入模块;
解析所述请求,获得待处理数据、自定义函数信息及处理参数,并将其转发至计算实例管理模块;
接收计算实例管理模块返回的、自定义函数执行所述用户对数据进行处理请求中的处理参数及待处理数据而生成的处理结果;
根据用户提交的任务标识反馈处理进度或根据接收自计算实例管理模块的处理结果向用户转发的所述处理结果。
此外,本申请还提供一种用于云存储系统中执行自定义函数程序的方法,其包括:
接收处理引擎解析用户对数据处理的请求而获得的待处理数据、自定义函数信息及处理参数;
依据自定义函数信息调用相应自定义函数;
根据所述处理参数执行所述自定义函数,通过所述自定义函数对所述待处理数据进行处理,并将处理结果返回至所述处理引擎中。
此外,本申请还提供一种用于云存储系统中实现自定义数据处理的方法,其包括:
获取自定义函数,所述自定义函数用于实现用户自定义对云存储系统中数据的处理;
生成所述自定义函数的自定义数据处理程序的命令集,并基于所述自定义数据处理程序的命令集构建自定义函数镜像;
根据自定义函数镜像,分配并启动自定义函数实例。
与现有技术相比,本申请的其中一个方面具有以下优点:
本申请的一个方面为用户提供自定义函数注册和使用,在计算实例模块为自定义函数镜像分配计算实例,使自定义函数程序得以运行,这使得用户可以根据需要编写自定义的函数,在使用时传入自定义的参数,大大提升了自定义函数的灵活性。本申请还实现了完整的自定义函数权限控制,允许接入第三方的技术,形成基于云存储的自定义函数生态圈,扩大自定义函数的使用范围。
附图说明
图1为本申请的支持云存储系统的实施例的原理示意图;
图2为本申请的云存储系统的实施例的控制流架构图;
图3为在云存储系统中注册自定义函数的方法的流程图;
图4为云存储系统自定义函数控制流时序图;
图5为在云存储系统中同步执行自定义函数程序的方法的流程图;
图6为在云存储系统同步执行自定义函数程序的时序图;
图7为在云存储系统中异步执行自定义函数程序的方法的流程图;
图8为在云存储系统中异步执行自定义函数程序的方法的时序图。
具体实施方式
在下面的描述中阐述了很多具体细节以便于充分理解本申请。但是本申请能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本申请内涵的情况下做类似推广,因此本申请不受下面公开的具体实施的限制。
本申请提供一种云存储系统,包括:请求接入模块、云存储系统控制模块以及计算实例管理模块;其中,请求接入模块用于为云存储系统控制模块和/或计算实例管理模块提供接口;系统控制模块用于实现自定义函数管理;计算实例管理模块用于对自定义函数实例进行管理;其中,所述自定义函数所述自定义函数用于实现用户自定义对云存储系统中数据的处理。以下结合具体实施例进行说明。
如图1所示,其为本申请的一种云存储系统的实施例的原理示意图。本实施例中,所述云存储系统包括云存储子系统和实例管理模块(也称为计算实例管理模块),云存储子系统用于实现自定义函数的管理以及调用;计算实例管理模块用于实现自定义函数实例的管理及执行。根据每个单元功能的不同,可以将这些单元分为两个部分:一部分是控制流操作,目的是管理自定义函数,包括自定义函数的注册、上传,实例的启停,状态和日志的查看等等功能;一部分是数据流操作,用户通过文件的上传下载接口调用自定义函数,获得期望的处理。
其中API Gateway是“云网关”,它为所述云存储子系统操作自定义函数计算实例提供接口,这些接口又被称为“容器服务接口”,所述云存储子系统与所述计算实例管理模块通过http协议通信,使用POST方法。云存储子系统为请求的发起方,计算实例为请求的接收方。所述云存储子系统还提供下载接口,便于云存储子系统与计算实例之间传递文件。
请参考图2,其为本申请的云存储系统的实施例的控制流架构图。本实施例的云存 储子系统包括请求接入模块和系统控制模块。
其中,所述请求接入模块为用户提供对系统控制模块和/或计算实例管理模块操作的接口;与用户进行交互,并将用户的命令转发给目的模块;
本实施例中,所述系统控制模块包括自定义函数注册单元和自定义函数操作单元。所述自定义函数注册单元用于完成用户对自定义函数的注册,生成注册信息,即用于根据所述请求接入模块的接口传来的用户注册请求生成注册信息,并返回注册信息。所述注册信息包括自定义函数名称、创建时间及拥有者中的至少一个;如果注册的自定义函数已经可以使用,则还包括已启动的实例名称及个数。所述创建时间,是指注册自定义函数的时间,一般在注册成功时将时间记录,作为创建时间;所述拥有者,一般指创建自定义函数并提供自定义函数镜像的个人或单位;所述已启动的实例名称,则是为该自定义函数所分配并启动的计算实例名称。
所述自定义函数操作单元,则是用于对已经注册的自定义函数进行管理操作,具体而言,用于接收并根据用户指令对已注册自定义函数的相关信息进行操作。本实施例中,操作单元包括删除单元、查询单元和列举单元中的至少一个。其中,删除单元,是指当一个自定义函数不再使用时,删除该自定义函数信息,并且将其所拥有的所有资源,比如计算实例、镜像等删除。例如,某用户对名称为Increse,拥有linuxOS实例以及镜像Mi的函数做删除操作,则该自定义的所有信息如注册时间、函数名称、拥有者等被删除;同时该函数所拥有的linuxOS实例以及镜像Mi也会被同时删除。
在自定义函数的使用过程中,用户还可能查询正在使用的自定义函数的信息,方便对计算实例进行更新。查询单元和列举单元则为用户提供了该功能,所述查询单元,是根据用户提供的信息查询与其相关的其他信息。例如,某用户a在2017年1月16日注册了一个自定义函数,名称为function,并分配了实例linuxOS。该用户可以通过提供2017年1月16日、function,linuxOS中的一项或几项信息,从而获得符合条件的自定义函数的其他信息;如果某用户注册了多个自定义函数,则可以使用列举单元,提供查找条件,列举单元则会返回符合所述查找条件的所有或特定自定义函数的信息。例如,某用户提供的查找条件是注册时间为2017年1月16日,则列举出2017年1月16日注册的自定义函数的信息,所述自定义函数可以是一条,也可以是多条,如果没有满足该信息的自定义函数,也可能是0条。
所述计算实例管理模块是对自定义函数实例及镜像进行管理及执行的模块。本实施例中,该模块分为两个单元,分别为实例管理单元和镜像管理单元。
所述实例管理单元,用于根据用户上传的操作参数结合自定义函数镜像创建计算实例,并根据用于指令实现对计算实例的管理。所述计算实例,是指为运行自定义函数程序而提供的资源系统,自定义函数必须运行在操作系统平台上,所述操作系统(Operating System,简称OS),是管理和控制计算机硬件与软件资源的计算机程序,是直接运行在“裸机”上的最基本的系统软件,任何其他软件都必须在操作系统的支持下才能运行。本申请中计算实例所使用的操作系统,可以是linux系统,也可以是Windows系统、UNIX系统或者其他系统,由于linux比较灵活和安全,本实施例采用linux为例作为说明每个计算实例的系统。
本实施例中,所述实例管理单元具体包括启动单元,停止单元,更新单元和查询单元中的至少一个。所述启动单元用于启动自定义函数实例;所述停止单元用于停止已启动的自定义函数实例;所述更新单元用于更新自定义函数实例;所述查询单元用于查看自定义函数实例的信息。
本实施例中,所述查询单元还可以具体包括实例信息查询单元、实例资源使用查询单元及实例日志查询单元中的至少一个。所述实例信息查询单元用于查看自定义函数实例的实例信息,包括自定义函数实例的镜像版本、实例数目、实例配置、启动时间;所述实例资源使用查询单元用于查看自定义函数实例的资源使用信息,包括自定义函数实例的CPU和内存资源使用率;所述实例日志查询单元用于查看自定义函数程序的日志信息;
所述镜像管理单元,用于生成并上传自定义函数镜像,并根据指令实现对所述自定义函数镜像的操作,即用于自定义函数镜像的构建和管理。其包括镜像构建单元和镜像查询单元。所述镜像构建单元用于生成自定义数据处理程序的命令集,并将该命令集上传至云存储系统,即用于自定义函数镜像的构建。所述自定义函数镜像是一个包含用户自定义数据处理程序的包,它指定了该处理程序运行方式,包的格式可以是zip,也可以是tar等其他格式。本实施例采用tar格式。
在用户上传自定义数据处理程序的命令集的程序包后,计算实例管理模块会根据用户上传的包构建一个自定义函数镜像。所述镜像查询单元用于自定义函数镜像信息的查询,所述镜像查询单元在所述请求接入模块留有接口,用户通过调用所述镜像信息查询接口查询自定义函数镜像信息。所述自定义函数镜像信息包括镜像的名称、版本以及各个版本的创建时间。通过所述计算实例管理模块,为用户提供了灵活的自定义函数执行环境。
本申请实施例的自定义函数云存储系统的控制流请求的处理流程如下:用户的自定义函数控制流请求经过云存储子系统请求接入模块处理后,首先转发到后端的云存储系统控制模块,在此模块中会记录自定义函数相关的注册信息,如自定义函数名称、拥有者、创建时间、实例个数等;注册信息写入成功后,云存储子系统会调用计算实例管理模块的接口,根据用户指定的资源类型,启动计算实例。该实例为用户的自定义函数程序提供计算和存储资源,用户的自定义函数程序会运行于该实例中。同时,云存储子系统还会根据用户的请求,调用计算实例管理模块的更新、删除、查看状态单元,对用户的自定义函数实例进行各种管理操作。
此外,本实施例的自定义函数云存储系统还提供了权限管理单元,为自定义函数程序的使用提供权限管理,扩大自定义函数程序的使用范围,提供给更多用户使用。
本申请上述实施例的技术方案为用户提供自定义函数注册和使用,在计算实例模块为自定义函数镜像分配计算实例,使自定义函数程序得以运行,这使得用户可以根据需要编写自定义的函数,在使用时传入自定义的参数,大大提升了自定义函数的灵活性。本申请还实现了完整的自定义函数权限控制,允许接入第三方的技术,形成基于云存储的自定义函数生态圈,扩大自定义函数的使用范围。
本申请还提供了一种用于云存储系统中实现自定义数据处理的方法,请参考图3,其为本申请的用于云存储系统中实现自定义数据处理的方法流程图,具体包括以下步骤:
S101:接收用户注册请求,并生成用于自定义数据处理的自定义函数注册信息。
只有在云存储系统中注册自定义函数后,云存储系统才能正确识别用户的自定义函数数据处理请求,并转发相应的请求到用户的自定义函数计算实例。
用户发送注册请求,通过云存储系统的请求接入模块提供的接口将所述注册请求转发至系统控制模块,系统控制模块生成自定义函数注册元数据信息,并将所述元数据信息存储,接着通过请求接入模块提供的接口向用户转发所述元数据信息其中,元数据信息包括名称、拥有者、创建时间、实例个数等。注册方式有很多种,可以通过终端命令的方式注册,也可以在网页或客户端中配置这些信息。通过注册,让云存储系统保存自定义函数的基础信息,以便在使用时准确识别该函数,注册自定义函数后,该自定义函数还无法立刻被使用,用户需要为该自定义函数上传镜像并启动计算实例。
S102:接收生成的已注册自定义函数的自定义数据处理程序的命令集,并基于所述自定义数据处理程序的命令集构建自定义函数镜像。
本步骤中,所述接收生成的已注册自定义函数的自定义数据处理程序的命令集,并 基于所述自定义数据处理程序的命令集构建自定义函数镜像,构建自定义函数镜像包括:接收已注册自定义函数的自定义数据处理程序的命令集;接收或生成所述自定义函数的自定义数据处理程序的命令集的配置文件;接收或生成构建自定义函数的镜像的脚本文件;执行所述脚本文件,生成数自定义函数镜像。
具体而言,云存储系统包括上传镜像的接口,用户根据接口的要求将自定义函数镜像上传至计算实例管理模块中。所述计算实例管理模块会根据用户上传的包构建一个自定义函数镜像,所述自定义函数镜像是指具备可执行进行数据处理能力的程序。所述自定义函数镜像是包含自定义函数程序的包,不同的云存储系统可以对程序包的格式有不同的要求,可以在设计云存储系统时进行设定。本实施例中采用tar格式。
需要生成的文件如下:自定义函数.yaml、unzip、unzip.conf,其中,unzip可以是用户自己开发的自定义函数程序,是一个可执行文件,通过该程序对用户的数据进行自定义处理;unzip.conf是用户自己的配置文件(用户自己定义);自定义函数.yaml是自定义函数镜像构建脚本,格式如下:
Figure PCTCN2018111174-appb-000001
其中,image是基础镜像的名称,所述基础镜像,是指所述自定义函数运行的操作系统平台,例如ubuntu、centOS等。所述云build_script是一个脚本文件,所述计算实例管理模块在构建镜像时,会根据该文件中的指令进行一些前置的操作,例如一些参数的设定等。同理,在启动实例时,所述计算实例管理模块会根据run_script中的指令启动用户的自定义函数程序。
上述自定义函数镜像上传至计算实例管理模块后,所述计算实例管理模块会执行脚本文件,构建自定义函数镜像。
S103:根据所述自定义函数镜像,分配并启动自定义函数实例。
自定义函数实例为用户的自定义函数程序提供计算和存储资源,是用户对数据进行自定义处理的真正的运行场所,后端为计算实例管理模块。用户需要指定用来启动实例的镜像版本(默认使用最新版本)、实例数目、实例计算和存储资源配置等。
请参考图4,其为本申请的云存储系统自定义函数控制流时序图,是对上述步骤加以更直观的表示。
本申请还提供了一种用于云存储系统中同步执行自定义函数程序的方法,请参考图5,其为本申请的用于云存储系统中同步执行自定义函数程序的方法的流程图,具体包括以下步骤:
S201:接收用户对数据进行处理的请求。
所述请求接入模块提供了上传或下载的接口,用户通过调用云存储系统的文件上传下载接口,将自定义函数参数传递进来,参数的位置可以为url中的query string部分或者http的请求头中,自定义函数的参数格式依云存储提供商设定。本实施例约定的格式如下:
自定义函数/自定义函数Name,key1_value1,key2_value2…
其中自定义函数Name为自定义函数的名称,key1_value1等为参数对,key为参数的名称,value为参数的值,通过逗号分隔。例如,某用户要使用已注册的函数Function,其参数为l、o,功能分别为提高亮度、对比度的值,正数为提高,负数为降低,当用户使用上传接口上传一张图片时,在上传的请求中的query string部分或者http的header中加入自定义函数/Function,l_0.2,o_-0.3这个参数,则计算实例会在这张图片上传后对这张图片进行亮度增加20%,对比度降低30%的处理。
如果是上传请求,则原始数据被上传至所述云存储系统中;如果是下载请求,则原始数据被下载至所述云存储系统中。
S202:解析所述请求,获得待处理数据、自定义函数信息及处理参数;依据所述自定义函数信息调用相应的自定义函数。
请参考图2,所述云存储系统控制模块记录管理着自定义函数元数据信息,元数据信息中记录有自定义函数的计算实例地址。云存储系统接收到请求后,解析请求得到自定义函数的名称,并根据名称从计算实例管理模块中找到所述自定义函数对应的计算实例地址,然后按照协议发送带有自定义函数参数的POST请求到所述计算实例地址,所述协议是指自定义函数程序的使用者和自定义函数程序的提供者为了顺利完成所述自定义函数程序的使用而约定的一些规则,例如请求的端口等。本实施例对自定义函数程序要求为:有执行权限,可以通过./的方式直接运行;监听9000端口,接收此端口的POST请求。端口也可以设定为其他端口,以能够顺利监听POST请求为准。
所述发送带有自定义函数参数的POST请求包括以下步骤:
云存储系统将解析到的自定义函数名称、参数对插入到POST请求中;
将所述POST请求发送至指定地址的自定义函数计算实例的9000端口中。
所述已注册的自定义函数程序即在注册过程中生成的自定义函数镜像。
S203:根据所述处理参数执行所述自定义函数,通过所述自定义函数对所述待处理数据进行处理。
本步骤完成对数据的处理,所述已注册的自定义函数程序需要从所述云存储系统中请求待处理数据进行处理。
S204:向用户返回处理结果。
所述自定义函数程序对数据进行处理后,将处理结果通过POST请求中的response body返回给云存储系统,所述云存储系统将所述处理结果返回给用户。
请参考图6,其为在云存储系统同步执行自定义函数程序的时序图,以下载为例对上述步骤进行更直观的表示。
本申请还提供了一种用于云存储系统中异步执行自定义函数程序的方法,如图7所示,其为本申请的用于云存储系统中异步执行自定义函数程序的方法的流程图,具体步骤包括:
S301:请求接入模块接收用户对数据进行处理的请求,将其转发至处理引擎中。
本步骤主要完成上传或下载任务,如果是上传请求,则原始数据(待处理数据)被上传至所述云存储系统中;如果是下载请求,则原始数据被下载至所述云存储系统中。上传或下载请求被转发至所述处理引擎中。
S302:所述处理引擎生成任务标识返回至用户;所述处理引擎解析所述请求,获得待处理数据、自定义函数信息及处理参数,将其转发至计算实例管理模块。
所述处理引擎生成任务标识返回至用户,并解析所述请求,将解析后的请求通过POST请求发送至计算实例管理模块。每个任务有一个任务标识,每个任务标识与其任务是一一对应的。
所述处理引擎解析所述请求,得到自定义函数名称,并根据名称通过计算实例管理模块找到所述自定义函数对应的计算实例地址,然后按照协议发送带有自定义函数参数的POST请求到所述计算实例地址,所述协议是指自定义函数程序的使用者和自定义函数程序的提供者为了顺利完成所述自定义函数程序的使用而约定的一些规则,例如请求的端口等。本实施例对自定义函数程序要求为:有执行权限,可以通过./的方式直接运行;监听9000端口,接收此端口的POST请求。端口也可以设定为其他端口,以能够顺利监 听POST请求为准。
所述发送带有自定义函数参数的POST请求包括以下步骤:
云存储系统将解析到的自定义函数名称、参数对插入到POST请求中;
将所述POST请求发送至指定地址的自定义函数计算实例的9000端口中。
S303:计算实例管理模块依据自定义函数信息调用相应自定义函数,根据所述处理参数执行所述自定义函数,通过所述自定义函数对所述待处理数据进行处理,并将处理结果返回至所述处理引擎中;
本步骤中,依据自定义函数信息调用相应的自定义函数,通过所述自定义函数完成对待处理数据的处理,然后将结果反馈至处理引擎。
S304,所述处理引擎根据用户提交的任务标识反馈处理进度或根据接收到的处理结果向用户转发所述处理结果。
对于用户查询而言,步骤如下:云存储系统收到查询任务完成情况请求;解析所述任务完成情况请求,得到任务标识,并将标识发送至所述处理引擎中;所述处理引擎根据所述任务标识,查询任务完成情况并返回到所述云存储系统,若完成,则返回处理结果;若未完成,则返回未完成;
若任务已完成,处理结果返回至所述处理引擎后,无论用户查询与否,处理引擎皆可以将处理结果转发给用户。请参考图8,其为在云存储系统中异步执行自定义函数程序的方法的时序图,以上传为例对上述步骤进行更直观的表示。
此外,上述的同步及异步执行自定义函数的实例中,所述用户均可以是自定义函数管理权限拥有者的之外的用户,也即云存储系统的自定义函数可以设置权限,根据需要开放给第三方。
本申请的实施例提供一种支持自定义函数的云存储系统,用户能够通过url或者http header传递UDF的参数,方便的控制代码逻辑。
本申请实施例的支持自定义函数的云存储系统还可以实现同步和异步的解决方案,用户既可以使用同步的方式,执行能够快速执行的逻辑,并将结果返回给用户;也能使用异步的方式,执行需要较长时间执行的代码,将结果异步通知到用户
本申请实施例的支持自定义函数的云存储系统还可以实现完成的UDF权限控制,接入第三方的技术,实现基于云存储的生态圈。
此外,本申请的实施例还提供一种用于云存储系统中执行自定义函数程序的方法,其包括:
接收用户对数据进行处理的请求,并将其转发至处理引擎中;
接收处理引擎返回的处理进度或处理引擎接收自计算实例管理模块的处理结果而向用户转发的所述处理结果;其中,所述处理结果为自定义函数执行所述用户对数据进行处理请求中的处理参数及待处理数据的结果。
此外,本申请的实施例还提供一种用于云存储系统中执行自定义函数程序的方法,其包括:
接收请求接入模块发送的用户对数据进行处理的请求;
基于所述请求生成任务标识并反馈至所述请求接入模块;
解析所述请求,获得待处理数据、自定义函数信息及处理参数,并将其转发至计算实例管理模块;
接收计算实例管理模块返回的、自定义函数执行所述用户对数据进行处理请求中的处理参数及待处理数据而生成的处理结果;
根据用户提交的任务标识反馈处理进度或根据接收自计算实例管理模块的处理结果向用户转发的所述处理结果。
此外,本申请的实施例还提供一种用于云存储系统中执行自定义函数程序的方法,其包括:
接收处理引擎解析用户对数据处理的请求而获得的待处理数据、自定义函数信息及处理参数;
依据自定义函数信息调用相应自定义函数;
根据所述处理参数执行所述自定义函数,通过所述自定义函数对所述待处理数据进行处理,并将处理结果返回至所述处理引擎中。
此外,本申请的实施例还提供一种用于云存储系统中实现自定义数据处理的方法,其包括:
获取自定义函数,所述自定义函数用于实现用户自定义对云存储系统中数据的处理;
生成所述自定义函数的自定义数据处理程序的命令集,并基于所述自定义数据处理程序的命令集构建自定义函数镜像;
根据自定义函数镜像,分配并启动自定义函数实例。
本发明虽然以较佳实施例公开如上,但其并不是用来限定本发明,任何本领域技术人员在不脱离本发明的精神和范围内,都可以做出可能的变动和修改,因此本发明的保护范围应当以本发明权利要求所界定的范围为准。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
1、计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
2、本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

Claims (19)

  1. 一种云存储系统,其特征在于,包括:请求接入模块、云存储系统控制模块以及计算实例管理模块;其中,
    所述请求接入模块,用于为云存储系统控制模块和/或计算实例管理模块提供接口;
    所述系统控制模块,用于实现自定义函数管理;
    所述计算实例管理模块,用于对自定义函数实例进行管理;
    其中,所述自定义函数用于实现用户自定义对云存储系统中数据的处理。
  2. 根据权利要求1所述的云存储系统,其特征在于,所述云存储系统控制模块包括:自定义函数注册单元和自定义函数操作单元;其中,
    所述自定义函数注册单元,用于根据所述请求接入模块的接口传来的用户注册请求生成注册信息,并返回注册信息;
    所述自定义函数操作单元,用于接收并根据用户指令对已注册自定义函数的相关信息进行操作。
  3. 根据权利要求2所述的云存储系统,其特征在于,
    所述自定义函数操作单元包括删除单元、查询单元及列举单元中的至少一个;
    所述删除单元用于删除自定义函数的注册信息;
    所述查询单元用于根据用户指令查询自定义函数的注册信息;
    所述列举单元用于列举被查询对象注册的满足设定条件的自定义函数的注册信息;
    其中,所述自定义函数的注册信息包括下列至少一个:自定义函数名称、创建时间、拥有者、已启动的实例名称及实例个数。
  4. 根据权利要求1所述的云存储系统,其特征在于,所述计算实例管理模块包括镜像管理单元和实例管理单元;
    所述镜像管理单元,用于生成并上传自定义函数镜像,并根据指令实现对所述自定义函数镜像的操作;
    所述实例管理单元,用于根据用户上传的操作参数结合自定义函数镜像创建计算实例,并根据用户指令实现对计算实例的管理;其中,
    所述自定义函数镜像为包含用户自定义数据处理程序命令的数据包。
  5. 根据权利要求4所述的云存储系统,其特征在于:
    所述镜像管理单元包括镜像构建单元和镜像查询单元;其中,
    所述镜像构建单元用于生成自定义数据处理程序的命令集;
    所述镜像查询单元用于自定义函数镜像信息的查询;
    所述自定义函数镜像信息包括下列中的至少一个:自定义函数镜像名称、版本、各个版本的创建时间。
  6. 根据权利要求4所述的云存储系统,其特征在于,所述实例管理单元包括启动单元、停止单元、更新单元及查询单元中的至少一个;其中,
    所述启动单元用于启动自定义函数实例;
    所述停止单元用于停止已启动的自定义函数实例;
    所述更新单元用于更新自定义函数实例;
    所述查询单元用于查看自定义函数实例的信息。
  7. 根据权利要求6所述的云存储系统,其特征在于,
    所述查询单元包括实例信息查询单元、实例资源使用查询单元及实例日志查询单元中的至少一个;
    所述实例信息查询单元用于查看自定义函数实例的实例信息;
    所述实例资源使用查询单元用于查看自定义函数实例的资源使用信息;
    所述实例日志查询单元用于查看自定义函数程序的日志信息;
    其中,
    所述实例信息包括下列中的至少一个:自定义函数实例的镜像版本、实例数目、实例配置、启动时间;
    所述资源使用信息包括自定义函数实例的CPU和内存资源使用率。
  8. 根据权利要求1所述的云存储系统,其特征在于,包括权限管理单元,用于管理自定义函数程序的使用权限。
  9. 一种用于云存储系统中实现自定义数据处理的方法,其特征在于,包括:
    接收用户注册请求,并生成用于自定义数据处理的自定义函数注册信息;
    接收已注册自定义函数的自定义数据处理程序的命令集,并基于所述自定义数据处理程序的命令集构建自定义函数镜像;
    根据所述自定义函数镜像,分配并启动自定义函数实例。
  10. 根据权利要求9所述的用于云存储系统中实现自定义数据处理的方法,其特征在于,所述接收用户注册请求,并生成用于自定义数据处理的自定义函数注册信息,包括:
    根据用户注册请求,生成并存储自定义数据处理的自定义函数的注册信息;
    向用户返回所述的自定义函数的注册信息;
    其中,所述注册信息包括下列至少一个:自定义函数名称、创建时间、拥有者、已启动的实例名称及实例个数。
  11. 根据权利要求9所述的用于云存储系统中实现自定义数据处理的方法,其特征在于,所述接收生成的已注册自定义函数的自定义数据处理程序的命令集,并基于所述自定义数据处理程序的命令集构建自定义函数镜像包括:
    接收已注册自定义函数的自定义数据处理程序的命令集;
    接收或生成命令集的配置文件;
    接收或生成构建自定义函数的镜像的脚本文件;
    执行所述脚本文件,基于所述自定义数据处理程序的命令集和配置文件生成自定义函数镜像。
  12. 一种用于云存储系统中执行自定义函数程序的方法,其特征在于,包括:
    接收用户对数据进行处理的请求;
    解析所述请求,获得待处理数据、自定义函数信息及处理参数;依据所述自定义函数信息调用相应的自定义函数;
    根据所述处理参数执行所述自定义函数,通过所述自定义函数对所述待处理数据进行处理;
    向用户返回处理结果。
  13. 根据权利要求12所述的用于云存储系统中执行自定义函数程序的方法,其特征在于,所述用户为自定义函数管理权限拥有者之外的用户。
  14. 一种用于云存储系统中执行自定义函数程序的方法,其特征在于,包括:
    请求接入模块接收用户对数据进行处理的请求,将其转发至处理引擎中;
    所述处理引擎生成任务标识返回至用户;所述处理引擎解析所述请求,获得待处理数据、自定义函数信息及处理参数,将其转发至计算实例管理模块;
    计算实例管理模块依据自定义函数信息调用相应自定义函数,根据所述处理参数执行所述自定义函数,通过所述自定义函数对所述待处理数据进行处理,并将处理结果返回至所述处理引擎中;
    所述处理引擎根据用户提交的任务标识反馈处理进度或根据接收到的处理结果向用户转发所述处理结果。
  15. 根据权利要求14所述的用于云存储系统中执行自定义函数程序的方法,其特 征在于,所述用户为自定义函数管理权限拥有者之外的用户。
  16. 一种用于云存储系统中执行自定义函数程序的方法,其特征在于包括:
    接收用户对数据进行处理的请求,并将其转发至处理引擎中;
    接收处理引擎返回的处理进度或处理引擎接收自计算实例管理模块的处理结果而向用户转发的所述处理结果;
    其中,所述处理结果为自定义函数执行所述用户对数据进行处理请求中的处理参数及待处理数据的结果。
  17. 一种用于云存储系统中执行自定义函数程序的方法,其特征在于包括:
    接收请求接入模块发送的用户对数据进行处理的请求;
    基于所述请求生成任务标识并反馈至所述请求接入模块;
    解析所述请求,获得待处理数据、自定义函数信息及处理参数,并将其转发至计算实例管理模块;
    接收计算实例管理模块返回的、自定义函数执行所述用户对数据进行处理请求中的处理参数及待处理数据而生成的处理结果;
    根据用户提交的任务标识反馈处理进度或根据接收自计算实例管理模块的处理结果向用户转发的所述处理结果。
  18. 一种用于云存储系统中执行自定义函数程序的方法,其特征在于包括:
    接收处理引擎解析用户对数据处理的请求而获得的待处理数据、自定义函数信息及处理参数;
    依据自定义函数信息调用相应自定义函数;
    根据所述处理参数执行所述自定义函数,通过所述自定义函数对所述待处理数据进行处理,并将处理结果返回至所述处理引擎中。
  19. 一种用于云存储系统中实现自定义数据处理的方法,其特征在于,包括:
    获取自定义函数,所述自定义函数用于实现用户自定义对云存储系统中数据的处理;
    生成所述自定义函数的自定义数据处理程序的命令集,并基于所述自定义数据处理程序的命令集构建自定义函数镜像;
    根据自定义函数镜像,分配并启动自定义函数实例。
PCT/CN2018/111174 2017-10-31 2018-10-22 一种云存储系统及用于云存储系统中实现自定义数据处理的方法 WO2019085780A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201711045693.6A CN109729121B (zh) 2017-10-31 2017-10-31 一种云存储系统及用于云存储系统中实现自定义数据处理的方法
CN201711045693.6 2017-10-31

Publications (1)

Publication Number Publication Date
WO2019085780A1 true WO2019085780A1 (zh) 2019-05-09

Family

ID=66293162

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2018/111174 WO2019085780A1 (zh) 2017-10-31 2018-10-22 一种云存储系统及用于云存储系统中实现自定义数据处理的方法

Country Status (2)

Country Link
CN (1) CN109729121B (zh)
WO (1) WO2019085780A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110704192A (zh) * 2019-09-30 2020-01-17 的卢技术有限公司 一种多元化数据云存储方法及系统
CN116360891A (zh) * 2023-04-03 2023-06-30 北京柏睿数据技术股份有限公司 一种可视化人工智能建模的算子自定义的方法和系统

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113110913B (zh) * 2020-01-13 2024-01-05 中国移动通信集团浙江有限公司 镜像管理系统、方法及计算设备
CN111596932B (zh) 2020-06-22 2021-03-02 腾讯科技(深圳)有限公司 一种镜像文件生成方法、装置和计算机可读存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN202210812U (zh) * 2011-08-26 2012-05-02 浙江协同数据系统有限公司 基于云平台的数据终端接入系统
CN103425795A (zh) * 2013-08-31 2013-12-04 四川川大智胜软件股份有限公司 一种基于云计算的雷达数据分析方法
CN105335215A (zh) * 2015-12-05 2016-02-17 中国科学院苏州生物医学工程技术研究所 一种基于云计算的蒙特卡洛仿真加速方法及系统
US20160328274A1 (en) * 2015-03-17 2016-11-10 International Business Machines Corporation Dynamically managing workload placements in virtualized environments based on current user globalization customization requests

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9176773B2 (en) * 2011-06-29 2015-11-03 Microsoft Technology Licensing, Llc Virtual machine migration tool
US9329881B2 (en) * 2013-04-23 2016-05-03 Sap Se Optimized deployment of data services on the cloud
CN103440303A (zh) * 2013-08-21 2013-12-11 曙光信息产业股份有限公司 一种异构云存储系统及其数据处理方法
CN105068852A (zh) * 2015-09-22 2015-11-18 普元信息技术股份有限公司 云计算环境下实现Java类在线热更新的系统与方法
CN105262801A (zh) * 2015-09-24 2016-01-20 广东亿迅科技有限公司 一种云平台消息分发的方法及系统
CN107122238B (zh) * 2017-04-25 2018-05-25 郑州轻工业学院 基于Hadoop云计算框架的高效迭代机制设计方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN202210812U (zh) * 2011-08-26 2012-05-02 浙江协同数据系统有限公司 基于云平台的数据终端接入系统
CN103425795A (zh) * 2013-08-31 2013-12-04 四川川大智胜软件股份有限公司 一种基于云计算的雷达数据分析方法
US20160328274A1 (en) * 2015-03-17 2016-11-10 International Business Machines Corporation Dynamically managing workload placements in virtualized environments based on current user globalization customization requests
CN105335215A (zh) * 2015-12-05 2016-02-17 中国科学院苏州生物医学工程技术研究所 一种基于云计算的蒙特卡洛仿真加速方法及系统

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110704192A (zh) * 2019-09-30 2020-01-17 的卢技术有限公司 一种多元化数据云存储方法及系统
CN116360891A (zh) * 2023-04-03 2023-06-30 北京柏睿数据技术股份有限公司 一种可视化人工智能建模的算子自定义的方法和系统

Also Published As

Publication number Publication date
CN109729121B (zh) 2022-05-06
CN109729121A (zh) 2019-05-07

Similar Documents

Publication Publication Date Title
KR102234427B1 (ko) 국소화된 디바이스 조정기에서의 요구 시 코드 실행
WO2019085780A1 (zh) 一种云存储系统及用于云存储系统中实现自定义数据处理的方法
US10776091B1 (en) Logging endpoint in an on-demand code execution system
US11138030B2 (en) Executing code referenced from a microservice registry
US9706371B2 (en) Push notification middleware
US10515058B2 (en) Unified file and object data storage
US8856805B2 (en) Virtual channel for embedded process communication
CN109976667B (zh) 一种镜像管理方法、装置及系统
US20180011655A1 (en) System and methods for defining object memory format in memory and store for object interactions, manipulation, and exchange in distributed network devices
WO2016165472A1 (zh) 一种创建虚拟机的方法和装置
CN110336871A (zh) 一种文件处理方法、装置、存储介质及电子设备
CN114586011B (zh) 将所有者指定的数据处理流水线插入到对象存储服务的输入/输出路径
WO2016197838A1 (zh) 一种访问方法及装置
WO2017162043A1 (zh) 用于设备间服务的访问方法、配置方法及装置
CN111045833B (zh) 接口调用的方法和装置
WO2017092594A1 (zh) 一种信息处理方法及装置
US20140164534A1 (en) System for sending a content item through an online content management system
US12099886B2 (en) Techniques for performing clipboard-to-file paste operations
WO2015035774A1 (zh) 一种基于用户空间文件系统的移动终端定制化方法及系统
CN114281263B (zh) 容器集群管理系统的存储资源处理方法、系统和设备
WO2019029451A1 (zh) 发布移动应用的方法和电子设备
WO2023116438A1 (zh) 一种数据访问方法、装置以及设备
US10904746B2 (en) Implementation method, apparatus and system for remote access
US11663058B1 (en) Preemptive filtering of events of an event bus with a deterministic filter
CN114327404A (zh) 一种文件处理方法、装置、电子设备及计算机可读介质

Legal Events

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

Ref document number: 18874757

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 18874757

Country of ref document: EP

Kind code of ref document: A1