WO2023134392A1 - Method and system for reading data from cloud storage device and writing data thereinto - Google Patents

Method and system for reading data from cloud storage device and writing data thereinto Download PDF

Info

Publication number
WO2023134392A1
WO2023134392A1 PCT/CN2022/139611 CN2022139611W WO2023134392A1 WO 2023134392 A1 WO2023134392 A1 WO 2023134392A1 CN 2022139611 W CN2022139611 W CN 2022139611W WO 2023134392 A1 WO2023134392 A1 WO 2023134392A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
server
application plug
cloud
identification information
Prior art date
Application number
PCT/CN2022/139611
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 WO2023134392A1 publication Critical patent/WO2023134392A1/en

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
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • 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
    • 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
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • 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
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]

Definitions

  • the present application relates to the field of storage technology, and in particular to a data reading and writing method and system for a cloud storage device.
  • This application discloses a data reading and writing method and system for cloud storage devices.
  • the cloud gateway sends the received data reading request or data writing request sent by the client to the corresponding application
  • the plug-in server uses the plug-in server to process the data read request or data write request to realize the data read operation or data write operation of the cloud storage device. Implementing this application can improve resource utilization and improve user experience .
  • the present application provides a data reading method of a cloud storage device.
  • the cloud gateway, the application plug-in server and the cloud storage device are set in at least one cloud data center, and the client establishes a connection with the cloud gateway.
  • the methods described include:
  • the cloud gateway receives the data read request sent by the client and the identification information of the application plug-in server, wherein the data read request carries the identification information of the cloud storage device and the data to be read in the The reading location information of the cloud storage device, the cloud storage device stores the data to be read, and the application plug-in server is used for near data processing;
  • the cloud gateway forwards the data read request to the application plug-in server according to the identification information of the application plug-in server;
  • the application plug-in server reads the data to be read from the cloud storage device according to the identification information of the cloud storage device carried in the data read request and the read location information, and Get data and carry out near-data processing, and send the processed data to be read to the cloud gateway;
  • the cloud gateway sends the processed data to be read to the client.
  • the general processing operation is set as an application plug-in in the cloud data center, and the application plug-in server performs the general processing operation, and returns the processed result to each client, compared with the general processing performed by each client Operation avoids the waste of resources, improves resource utilization, and improves user experience;
  • the cloud gateway is set in at least one cloud data center where the application plug-in server and cloud storage device are located, and the cloud gateway serves according to the application plug-in
  • the terminal’s identification information assigns the data reading request to the corresponding application plug-in server, and the application plug-in server performs near-data processing on the data to be read, and returns the processed data to be read to the client through the cloud gateway to realize
  • the data reading operation enables each device to display its own capabilities and make full use of its strengths.
  • the near-data processing includes any one of data compression, data decompression, data encryption, data decryption, data analysis, and data processing.
  • the cloud gateway receives the data reading request sent by the client and the identification information of the application plug-in server, including:
  • the cloud gateway receives the HTTP message sent by the client, the HTTP message includes the data read request and the identification information of the application plug-in server;
  • the cloud gateway forwards the data read request to the application plug-in server according to the identification information of the application plug-in server, including:
  • the cloud gateway forwards the data read request in the HTTP message to the application plug-in server according to the identification information of the application plug-in server in the HTTP message;
  • the cloud gateway forwards the HTTP message to the application plug-in server according to the identification information of the application plug-in server.
  • the data reading request and the identification information of the application plug-in server may exist in the form of a message.
  • the cloud gateway may The identification information of the server sends the data message or the data reading request in the message to the application plug-in server.
  • the identification information of the application plug-in server is a network address of the application plug-in server.
  • the identification information of the application plug-in server can be the network address of the application plug-in server, and the cloud gateway directly sends the data reading request to the application plug-in server according to the network address, which is convenient and fast.
  • the cloud gateway records the correspondence between the network address of the application plug-in server and the identification information of the application plug-in server, and the cloud gateway records the corresponding relationship between the network address of the application plug-in server and the The identification information forwards the data read request to the application plug-in server, including:
  • the cloud gateway obtains the network address of the application plug-in server from the corresponding relationship according to the identification information of the application plug-in server, and the cloud gateway forwards the data read request to the Described application plug-in server.
  • the cloud gateway, the application plug-in server, and the cloud storage device are set in one cloud data center, or in multiple cloud data centers connected to each other, In the case that the cloud gateway, the application plug-in server and the cloud storage device are arranged in multiple cloud data centers connected to each other, the cloud gateway, the application plug-in server and the cloud storage device One or any combination of them is set in one cloud data center of the plurality of cloud data centers.
  • the client is set under the cloud, or set in the at least one cloud data center.
  • the identification information of the application plug-in server is selected by the client from identification information of multiple application plug-in servers.
  • the present application provides a method for writing data into a cloud storage device.
  • the cloud gateway, the application plug-in server, and the cloud storage device are set in at least one cloud data center, and the client establishes a connection with the cloud gateway.
  • Methods include:
  • the cloud gateway receives the data write request sent by the client and the identification information of the application plug-in server, wherein the data write request carries the identification information of the cloud storage device to be accessed, the data to be written, the The writing location information of the data to be written in the cloud storage device, the application plug-in server is used for near data processing;
  • the cloud gateway forwards the data writing request to the application plug-in server according to the identification information of the application plug-in server;
  • the application plug-in server performs near data processing on the data to be written carried in the data write request, and according to the identification information of the cloud storage device carried in the data write request and the write location The information writes the processed data to be written to the cloud storage device.
  • the general processing operation is set as an application plug-in in the cloud data center, and the application plug-in server performs the general processing operation, and returns the processed result to each client, compared with the general processing performed by each client Operation avoids the waste of resources, improves resource utilization, and improves user experience;
  • the cloud gateway is set in at least one cloud data center where the application plug-in server and cloud storage device are located, and the cloud gateway serves according to the application plug-in
  • the terminal’s identification information assigns the data reading request to the corresponding application plug-in server, and the application plug-in server performs near-data processing on the data to be read, and returns the processed data to be read to the client through the cloud gateway to realize
  • the write operation of data enables each device to display its own capabilities and give full play to its strengths.
  • the near-data processing includes any one of data compression, data decompression, data encryption, data decryption, data analysis, and data calculation.
  • the cloud gateway receiving the data writing request sent by the client and the identification information of the application plug-in server includes: the cloud gateway receiving the request sent by the client An HTTP message, the HTTP message including the data write request and the identification information of the application plug-in server;
  • the cloud gateway forwarding the data write request to the application plug-in server according to the identification information of the application plug-in server includes: forwarding the data write request by the cloud gateway according to the identification information of the application plug-in server in the HTTP message The data writing request in the HTTP message is sent to the application plug-in server; or the cloud gateway forwards the HTTP message to the application plug-in server according to the identification information of the application plug-in server.
  • the data writing request and the identification information of the application plug-in server can exist in the form of a message.
  • the cloud gateway can The identification information of the server sends the message or the data writing request in the message to the application plug-in server.
  • the identification information of the application plug-in server is a network address of the application plug-in server.
  • the identification information of the application plug-in server can be the network address of the application plug-in server, and the cloud gateway directly sends the data writing request to the application plug-in server according to the network address, which is convenient and fast.
  • the cloud gateway records the correspondence between the network address of the application plug-in server and the identification information of the application plug-in server, and the cloud gateway records the corresponding relationship between the network address of the application plug-in server and the The identification information forwards the data writing request to the application plug-in server, including:
  • the cloud gateway obtains the network address of the application plug-in server from the corresponding relationship according to the identification information of the application plug-in server, and the cloud gateway forwards the data write request to the Described application plug-in server.
  • the cloud gateway, the application plug-in server, and the cloud storage device are set in one cloud data center, or in multiple cloud data centers connected to each other, In the case that the cloud gateway, the application plug-in server and the cloud storage device are arranged in multiple cloud data centers connected to each other, the cloud gateway, the application plug-in server and the cloud storage device One or any combination of them is set in one cloud data center of the plurality of cloud data centers.
  • the client is set under the cloud, or set in the at least one cloud data center.
  • the identification information of the application plug-in server is selected by the client from identification information of multiple application plug-in servers.
  • the present application provides a data reading system for a cloud storage device, including a cloud gateway, an application plug-in server, and a cloud storage device, the cloud gateway, the application plug-in server, and the cloud storage device to perform the method described in the first aspect or any possible implementation manner of the first aspect.
  • the present application provides a data writing system for a cloud storage device, including a cloud gateway, an application plug-in server, and a cloud storage device.
  • the cloud gateway, the application plug-in server, and the cloud storage device use to perform the method described in the second aspect or any possible implementation manner of the second aspect.
  • the present application provides a readable storage medium, including program instructions.
  • the program instructions When the program instructions are run on a computer, the computer executes the above-mentioned first aspect or any one of the possible implementations of the first aspect. described method.
  • the present application provides yet another readable storage medium, including program instructions.
  • the program instructions When the program instructions are run on a computer, the computer executes the above-mentioned second aspect or any possible implementation of the second aspect. method described.
  • FIG. 1 is a schematic diagram of a system architecture provided by the present application
  • FIG. 2 is a schematic diagram of another system architecture provided by the present application.
  • FIG. 3 is a schematic flowchart of a data reading method of a cloud storage device provided by the present application
  • FIG. 4 is an example diagram of a data reading method of a cloud storage device provided by the present application.
  • FIG. 5 is a schematic flowchart of a data writing method of a cloud storage device provided by the present application.
  • FIG. 6 is an example diagram of a data writing method of a cloud storage device provided by the present application.
  • FIG. 7 is a schematic structural diagram of a cloud gateway provided by the present application.
  • FIG. 8 is a schematic structural diagram of another cloud gateway provided by the present application.
  • NDP near data processing
  • NDP Near data processing
  • the calculation of part of the data is placed on the storage side to complete, thereby reducing the invalid data transmitted between the storage side and the calculation side, Improve bandwidth utilization and reduce costs.
  • the data collection is stored in the form of objects. When some of the data is needed, the entire object needs to be read out, and the required data is determined through a specific query statement. This query operation can be stored in the side implementation, this example is only for illustration, and does not constitute a limitation to the solution of this application.
  • Figure 1 is a schematic diagram of a system architecture provided by this application, the system involves at least one client 110, a switch 120 and a storage node cluster 130, the storage node cluster 130 includes at least one storage node .
  • the client 110 may be a mobile phone terminal, a desktop computer, a notebook, a physical server, a virtual machine, etc. of a user.
  • the switch 120 may be an Ethernet switch, an InfiniBand switch, an Ethernet switch (RDMA over converged ethernet, RoCE) based on a remote direct memory access (remote direct memory access, RDMA) technology, and the like.
  • the client 110 can communicate with the storage node through the switch 120 .
  • the switch 120 is an optional device, and the client 110 can also communicate with the storage node through the network.
  • the client 110 may send an access request to the storage node through the switch 120, and the access request may be a data read request or a data write request.
  • the storage node receives the access request sent by the client 110 , performs a read operation or a write operation according to the access request, and returns an access request response message to the client 110 .
  • each client usually needs to perform some common processing operations on data, such as data compression processing, data decompression processing, data encryption, data decryption, data analysis, data processing, image processing, etc.
  • data compression processing data decompression processing
  • data encryption data decryption
  • data analysis data processing
  • image processing etc.
  • general business-related processing operations can be used as application plug-ins, and different processing operations can be deployed as different application plug-ins in the cloud data center where the storage node is located.
  • each application plug-in and each storage node jointly provide services for users, wherein the application plug-in can be, for example, a data compression plug-in, a data decompression plug-in, a data encryption plug-in, a data decryption plug-in, a data analysis plug-in, a data processing plug-in, an image processing plug-in, etc. .
  • the application plug-in can be, for example, a data compression plug-in, a data decompression plug-in, a data encryption plug-in, a data decryption plug-in, a data analysis plug-in, a data processing plug-in, an image processing plug-in, etc.
  • FIG. 2 is a schematic diagram of another system architecture provided by the present application.
  • the system shown in Figure 2 is based on the system shown in Figure 1, and multiple application plug-ins and cloud gateways are deployed in the cloud data center where at least one storage node is located.
  • the cloud gateway can be, for example, an application programming interface (application programming interface). interface, API) gateway.
  • the multiple application plug-ins include application plug-in 1, application plug-in 2, ... application plug-in n, application plug-in 1, application plug-in 2, ... application plug-in n are different application plug-ins, and different application plug-ins may have different functions, for example,
  • the application plug-in 1 can be a data compression plug-in, and the data compression plug-in is used to compress data.
  • the application plug-in 2 can be an image processing plug-in, and the image processing plug-in is used to process images.
  • the image processing can include image enhancement, noise removal/filtering, One or more of image restoration, etc.
  • application plug-ins in different application plug-ins may also have the same function but different plug-in versions, for example, application plug-in 1 and application plug-in 2 may both be data compression plug-ins with data compression function, wherein application plug-in 1
  • the method A is used to compress the data
  • the application plug-in 2 is used to compress the data by the method B, then it is called that the application plug-in 1 and the application plug-in 2 have the same function but different plug-in versions.
  • the device where the storage node is located is called a cloud storage device, and the application plug-in can be deployed on the cloud storage device where the storage node is located, or can be deployed on an independent device. That is, one application plug-in can be deployed on one cloud storage device, or multiple application plug-ins can be deployed on one cloud storage device at the same time. In other words, some cloud storage devices deploy an application plug-in, and some cloud Multiple application plug-ins are deployed on storage devices, and some cloud storage devices have no application plug-ins deployed. This application does not specifically limit the deployment location and deployment quantity of application plug-ins.
  • the device where the application plug-in is located is called the application plug-in server, and the storage node for processing read or write operations is located
  • the application plug-in uses the computing resources on the cloud storage device, such as processor and memory, when computing and processing the data.
  • the application plug-in server is cloud storage device; if the application plug-in is deployed on an independent device, the application plug-in uses the computing resources on the independent device, such as processor, memory, etc., when computing and processing data.
  • the application plug-in server refers to standalone device.
  • a cloud storage device may be an object storage (object storage service, OBS) device (also called an OBS bucket), or an elastic volume service (EVS) device, or an elastic file service (scalable file service).
  • OBS object storage
  • EVS elastic volume service
  • SFS network attached storage
  • NAS network attached storage
  • DAS direct-attached storage
  • clients can be mobile phones, desktop computers, notebooks, etc. used by tenants in the cloud data center, or virtual machines, containers or bare metal servers purchased by tenants in the cloud data center in the cloud data center (bare metal server, BMS) and so on.
  • BMS bare metal server
  • each application plug-in server, cloud gateway, and cloud storage device among multiple application plug-in servers can be set in the same cloud data center, or in multiple cloud data centers connected to each other.
  • any one or any combination of each application plug-in server, cloud gateway, and storage server in multiple application plug-in servers can be set in multiple cloud data centers in a cloud data center.
  • FIG. 2 The system architecture diagram shown in FIG. 2 is only for example, and does not constitute a limitation to the present application. Practical applications may include more or fewer devices than those shown in Figure 2, and this application does not specifically limit the number of application plug-ins, the deployment locations of application plug-ins, the number of application plug-in servers, and the number of cloud storage devices.
  • FIG. 3 is a schematic flowchart of a data reading method of a cloud storage device provided by the present application, and the method includes but is not limited to the following description.
  • the client sends a data read request and identification information of the application plug-in server to the cloud gateway.
  • the data read request carries the identification information of the cloud storage device and the read location information of the data to be read in the cloud storage device.
  • the identification information of the cloud storage device indicates which cloud storage device the data to be read is located in, and the read location The information indicates the specific location information of the data to be read in the cloud storage device.
  • the identification information of the cloud storage device and the read location information of the data to be read in the cloud storage device can be represented by a link, for example, the data read request can be curl-m 30-X GET”http://xxxxxxxx ", where curl-m 30-X GET is the read command, and http://xxxxxxxx is the identification information of the cloud storage device and the read location information of the data to be read on the cloud storage device.
  • the identification information of the cloud storage device and the reading position information of the data to be read in the cloud storage device can also be expressed in other forms, for example, the identification information of the cloud storage device can be expressed by a network address, etc.
  • the identification information and the read position information of the data to be read in the cloud storage device are not specifically limited.
  • the client needs to send a data read request and the identification information of the application plug-in server to the cloud gateway.
  • the application plug-in server is used for near-data processing
  • the identification information of the application plug-in server is used for Indicates which application plug-in server is to perform near-data processing on the data to be read.
  • the identification information of the application plug-in server may be the name of the application plug-in corresponding to the server and the version number of the application plug-in.
  • the identification information of the application plug-in may be "data decompression plug-in-v1", where "data decompression plug-in” is the name of the application plug-in, and "v1" is the version number of the application plug-in;
  • the identification information of the application plug-in server can also be the identity document (identity document, ID) of the application plug-in corresponding to the server or the identity ID of the application plug-in server
  • the identification ID of the application plug-in may be application plug-in 1; the identification information of the application plug-in server may also be the network address of the application plug-in server, and so on.
  • the identification information of the application plug-in server may exist in the form of a key-value pair (key-value, KV).
  • the data reading request and the identification information of the application plug-in server are sent by the client at the same time.
  • the data reading request and the identification information of the application plug-in server may be,
  • curl-m 30-X GET is a data read command
  • "http://xxxxxxxx” is the identification information of the cloud storage device and the reading location information of the data to be read in the cloud storage device
  • H"Host: koomap.cn-north-4.yyyyy.com”–kv is the identification information of the application plug-in server
  • yyyyyy in the identification information of the application plug-in server can be the supplier information.
  • the client stores the identification information of each application plug-in server in the cloud data center, and the identification information of the required application plug-in server is selected by the client from the identification information of each application plug-in server.
  • the method is not limited.
  • the data read request and the identification information of the application plug-in server may exist in the form of a message, for example, the message may be an HTTP message or an HTTPS message, wherein the identification information of the application plug-in server is located in the message In the header, this application does not limit the specific format of the identification information of the application plug-in server.
  • the client only needs to send a data read request to the cloud gateway.
  • the cloud gateway forwards the data reading request to the application plug-in server according to the identification information of the application plug-in server.
  • the cloud gateway records the information of the application plug-in server.
  • the corresponding relationship between the identification information and the network address of the application plug-in server, and the cloud gateway can maintain the corresponding relationship in real time.
  • the cloud gateway determines the network address of the application plug-in server from the corresponding relationship according to the identification information of the application plug-in server, and sends the data read request to the application plug-in server according to the network address of the application plug-in server.
  • the cloud gateway determines the network address of the application plug-in server according to the identification information of the application plug-in server in the header of the message , to send the data read request or the entire message to the application plug-in server.
  • the application plug-in server reads the data to be read from the cloud storage device according to the identification information and read location information of the cloud storage device carried in the data read request, and performs near-data processing on the data to be read.
  • the application plug-in server sends the processed data to be read to the cloud gateway.
  • the cloud gateway sends the processed data to be read to the client.
  • the present application provides an example diagram of a data reading method of a cloud storage device, as shown in FIG. 4 .
  • the cloud gateway receives the data reading request sent by the client and the identification information of the application plug-in server, and the cloud gateway, according to the identification information of the application plug-in server, Send the data read request to the corresponding application plug-in server.
  • the application plug-in server requests the cloud storage device to be read according to the identification information and read location information of the cloud storage device in the read request.
  • the cloud storage device sends the data to be read to the application plug-in server.
  • the application plug-in server After the application plug-in server receives the data to be read, it calculates and processes the data to be read, and then sends the processed data to be read to the cloud The gateway, and the cloud gateway sends the processed data to be read to the client.
  • the cloud gateway receives the data read request After the request, according to the identification information and reading location information of the cloud storage device in the data read request, request the data to be read from the cloud storage device, and the cloud storage device executes the read operation, and sends the data to be processed to the cloud gateway, the cloud The gateway then sends the data to be read to the client.
  • the application plug-in server is deployed in the cloud data center, and the application plug-in server is used to implement general processing operations without the need for each client to perform processing operations separately, which improves resource utilization and user experience; this implementation
  • the cloud gateway is used to determine whether to send the data read request to the application plug-in server or to the cloud storage device according to whether the identification information of the application plug-in server is included.
  • the application plug-in server is used for near data processing, and the cloud storage device uses In order to perform read operations, each device can display its own capabilities and give full play to its strengths.
  • FIG. 5 is a schematic flowchart of a method for writing data to a cloud storage device provided by the present application, and the method includes but is not limited to the following description.
  • the client sends a data writing request and the identification information of the application plug-in server to the cloud gateway.
  • the write request carries the identification information of the cloud storage device that needs to be accessed, the data to be written and the write location information of the data to be written in the cloud storage device, and the identification information of the cloud storage device indicates that the data to be written should be written to In which cloud storage device, the write location information indicates the specific location information where the data to be written is written into the cloud storage device.
  • the identification information and writing location information of the cloud storage device can be expressed in the form of a link, or in other forms.
  • the identification information of the cloud storage device can be expressed by a network address.
  • the expression form of the write location information of the input data in the cloud storage device is not specifically limited.
  • the client needs to send a data write request and the identification information of the application plug-in server to the cloud gateway.
  • the application plug-in server is used for near data processing
  • the identification information of the application plug-in server is used for Indicates which application plug-in server is to perform near-data processing on the data to be read.
  • the data writing request and the identification information of the application plug-in server are sent simultaneously by the client.
  • the identification information of the application plug-in server and the identification information of the cloud storage device please refer to the description of the relevant content in step S201 in the method embodiment in FIG.
  • the identification information of the application plug-in server is selected by the client from identification information of multiple application plug-in servers.
  • the data write request and the identification information of the application plug-in server may exist in the form of a message, for example, the message may be an HTTP message or an HTTPS message, wherein the identification information of the application plug-in server is located in the message In the header, this application does not limit the specific format of the identification information of the application plug-in server.
  • the client only needs to send a data write request to the cloud gateway.
  • the cloud gateway forwards the data writing request to the application plug-in server according to the identification information of the application plug-in server.
  • the cloud gateway records the information of the application plug-in server.
  • the corresponding relationship between the identification information and the network address of the application plug-in server, and the cloud gateway can maintain the corresponding relationship in real time.
  • the cloud gateway determines the network address of the application plug-in server from the corresponding relationship according to the identification information of the application plug-in server, and sends the data writing request to the application plug-in server according to the network address of the application plug-in server.
  • the cloud gateway determines the network address of the application plug-in server according to the identification information of the application plug-in server in the header of the message , to send the data write request or the entire message to the application plug-in server.
  • the application plug-in server performs near-data processing on the data to be written carried in the data write request, and writes the processed data to be written according to the identification information and write location information of the cloud storage device carried in the data write request. into the cloud storage device.
  • step S303 provides an example diagram of a data writing method of a cloud storage device, as shown in FIG. 6 .
  • the client sends a data write request and the identification information of the application plug-in server to the cloud gateway
  • the cloud gateway receives the data write request sent by the client and the identification information of the application plug-in server, according to the identification information of the application plug-in server, the data writing request is sent to the corresponding application plug-in server
  • the application plug-in server calculates and processes the data to be written in the data writing request, and obtains
  • the processed data to be written, and the processed data to be written are sent to the cloud storage device, and the cloud storage device performs a write operation on the processed data to be written, and writes the processed data to be written.
  • the cloud storage device after writing the processed data to be written into the cloud storage device, the cloud storage device returns a response message to the application plug-in server, and after receiving the response message, the application plug-in server sends the data write to the cloud gateway The request responds, and the cloud gateway sends the data write request response to the client.
  • the client sends a data write request to the cloud gateway, and the cloud gateway writes the data according to the identification information of the cloud storage device in the data write request
  • the write request is sent to the cloud storage device, and the cloud storage device performs a write operation on the data to be written, writes the data to be written according to the write location information, and then returns a data write request response to the cloud gateway, and the cloud gateway then writes the data
  • the request response is sent to the client.
  • the application plug-in server is deployed in the cloud data center, and the application plug-in server is used to implement general processing operations without the need for each client to perform processing operations separately, which improves resource utilization and user experience; this implementation
  • the cloud gateway is used to determine whether to send the data writing request to the application plug-in server or to the cloud storage device according to whether the identification information of the application plug-in server is included.
  • the application plug-in server is used for near data processing, and the cloud storage device uses In order to perform write operations, each device can display its own capabilities and give full play to its strengths.
  • the present application provides a structure of a cloud gateway 700, see FIG. 7, which is a schematic structural diagram of the cloud gateway 700 provided by the present application.
  • the cloud gateway 700 includes:
  • the receiving unit 701 is configured to receive the data reading request sent by the client and the identification information of the application plug-in server, wherein the data reading request carries the identification information of the cloud storage device and the reading position of the data to be read in the cloud storage device information;
  • a sending unit 702 configured to forward the data reading request to the application plug-in server according to the identification information of the application plug-in server;
  • the receiving unit 701 is also used to receive the processed data to be read sent by the application plug-in server, wherein the processed data to be read is obtained by the application plug-in server according to the identification information of the cloud storage device in the data read request and The reading location information is obtained after reading the data to be read from the cloud storage device and performing near-data processing on the data to be read;
  • the sending unit 702 is also configured to send the processed data to be read to the client.
  • the receiving unit 701 is also configured to receive the data write request sent by the client and the identification information of the application plug-in server, wherein the data write request carries the identification information of the cloud storage device to be accessed, the Write data and write location information of data to be written in the cloud storage device;
  • the sending unit 702 is further configured to forward the data writing request to the application plug-in server according to the identification information of the application plug-in server.
  • the receiving unit 701 is also configured to receive the data write request response sent by the application plug-in server, and the data write request response is that the application plug-in server closes the data to be written in the data write request. Issued after data processing and writing the processed data to be written to the cloud storage device according to the identification information and writing location information of the cloud storage device;
  • the sending unit 702 is also configured to send the data writing request response to the client.
  • near-data processing includes any one of data compression, data decompression, data encryption, data decryption, data analysis, and data processing.
  • the receiving unit 701 is also configured to receive an HTTP message sent by the client, the HTTP message includes a data read request and the identification information of the application plug-in server, or the HTTP message includes a data write request and The identification information of the application plug-in server; the sending unit 702 is also used to forward the data read request or data write request in the HTTP message to the application plug-in server according to the identification information of the application plug-in server in the HTTP message; or, according to The identification information of the application plug-in server forwards the HTTP message to the application plug-in server.
  • the identification information of the application plug-in server is a network address of the application plug-in server.
  • the cloud gateway 700 further includes a recording unit 703, and the recording unit 703 is used to record the corresponding relationship between the network address of the application plug-in server and the identification information of the application plug-in server; the sending unit 702 is also used to, according to the application plug-in service
  • the terminal identification information obtains the network address of the application plug-in server from the corresponding relationship, and forwards the data read request or data write request to the application plug-in server according to the network address of the application plug-in server.
  • the cloud gateway 700, the application plug-in server, and the cloud storage device are set in a cloud data center, or are set in multiple cloud data centers connected to each other, and the cloud gateway 700, the application plug-in server, and When the cloud storage device is set in multiple cloud data centers connected to each other, one or any combination of the cloud gateway 700, the application plug-in server and the cloud storage device is set in one cloud data center of the multiple cloud data centers .
  • the client is set under the cloud, or in at least one cloud data center.
  • the identification information of the application plug-in server is selected by the client from identification information of multiple application plug-in servers.
  • the receiving unit 701 is also configured to receive a data read request sent by the client, where the data read request carries the identification information of the cloud storage device and the read location of the data to be read in the cloud storage device information, the sending unit 702 is also used to request the data to be read from the cloud storage device according to the data read request, the receiving unit 701 is also used to receive the data to be read returned by the cloud storage device, and the sending unit 702 is also used to send the data to be read Data is sent to the client.
  • the receiving unit 701 is also configured to receive a data write request sent by the client, where the data write request carries the identification information of the cloud storage device to be accessed, the data to be written, the data to be written In the write position information of the cloud storage device, the sending unit 702 is also used to send the data writing request to the cloud storage device, and the receiving unit 701 is also used to receive the data writing request response sent by the cloud storage device, and the sending unit 702 also uses Used to send a data write request response to the client.
  • FIG. 7 Each functional unit in FIG. 7 is used to implement the method in the method embodiment in FIG. 3 or FIG. 5 .
  • FIG. 7 For details, refer to the description of the method embodiment in FIG. 3 or 5 . For the sake of brevity, details are not repeated here.
  • FIG. 8 is another structural schematic diagram of a cloud gateway 800 provided by the present application.
  • the cloud gateway 800 can be implemented by a general bus architecture.
  • the cloud gateway 800 includes at least one processor 801, a communication bus 802, and a memory 803 and at least one communication interface 804.
  • the processor 801 may be a general-purpose CPU, NP, microprocessor, or one or more integrated circuits for implementing the solution of the present application.
  • ASIC application-specific integrated circuit
  • PLD programmable logic device
  • the PLD may be a complex programmable logic device (complex programmable logic device, CPLD), a field-programmable gate array (field-programmable gate array, FPGA), a general array logic (generic array logic, GAL) or any combination thereof.
  • Communication bus 802 is used to transfer information between the various components.
  • the communication bus 802 can be divided into an address bus, a data bus, a control bus, and the like. For ease of representation, only one thick line is used in FIG. 8 , but it does not mean that there is only one bus or one type of bus.
  • the memory 803 may be a read-only memory (read-only memory, ROM) or other types of static storage devices capable of storing static information and instructions, or may be a random access memory (random access memory, RAM) or capable of storing information and instructions
  • Other types of dynamic storage devices can also be electrically erasable programmable read-only memory (EEPROM), compact disc read-only memory (CD-ROM) or other optical disc storage , optical disc storage (including compact discs, laser discs, optical discs, digital versatile discs, Blu-ray discs, etc.), magnetic disk storage media or other magnetic storage devices, can also be used to carry or store program codes in the form of instructions or data structures and Any other medium capable of being accessed by a computer, but not limited to.
  • the memory 803 may exist independently and be connected to the processor 801 through the communication bus 802; the memory 803 may also be integrated with the processor 801.
  • the communication interface 804 is used to communicate with other devices or communication networks.
  • the communication interface 804 may include a wired communication interface, and may also include a wireless communication interface.
  • the wired communication interface may be, for example, an Ethernet interface, and the Ethernet interface may be an optical interface, an electrical interface or a combination thereof.
  • the wireless communication interface may be a wireless local area network (wireless local area networks, WLAN) interface, a cellular network communication interface, or a combination thereof.
  • the processor 801 may include one or more CPUs, for example, CPU0 and CPU1 shown in FIG. 8 .
  • the cloud gateway 800 may include multiple processors, such as a processor 801 and a processor 805 as shown in FIG. 8 .
  • processors can be a single-core processor (single-CPU) or a multi-core processor (multi-CPU).
  • a processor herein may refer to one or more devices, circuits, and/or processing cores for processing data such as computer program instructions.
  • Each functional unit in the cloud gateway 700 is implemented by software in the cloud gateway 800 .
  • the functional units included in the cloud gateway 700 are generated after the processor in the cloud gateway 800 reads the program code stored in the memory.
  • the memory 803 is used to store the program code 810 of the solution of the present application
  • the processor 801 is used to execute the program code 810 stored in the memory 803 . That is, the cloud gateway 800 can implement the method provided by the method embodiment in FIG. 3 or FIG. 5 through the processor 801 and the program code 810 in the memory 803 .
  • the processor 801, the communication interface 804, etc. in the cloud gateway 800 can implement the functions and/or various steps and methods implemented by the devices in the above method embodiments, and for the sake of brevity, details are not repeated here.
  • the receiving unit 701 and the sending unit 702 in the cloud gateway 700 can be located in the communication interface 804 in the cloud gateway 800; the recording unit 703 can be located in the processor 801 or the processor 805 in the cloud gateway 800, and the corresponding relationship recorded by the recording unit 703 It may be stored in the memory 803 in the cloud gateway 800 .
  • the above cloud gateway can be implemented as a virtualization device.
  • the virtualization device can be a virtual machine (virtual machine, VM) running a program for sending messages, and the virtual machine is deployed on the hardware device.
  • the hardware device can be a physical server, and the hardware device can also be cloud storage. equipment.
  • a virtual machine refers to a complete computer system that is simulated by software and has complete hardware system functions and runs in a completely isolated environment.
  • the virtual machine can be configured as a network device.
  • the cloud gateway can be implemented based on a common physical server combined with a network functions virtualization (network functions virtualization, NFV) technology.
  • the cloud gateway is a virtual host, virtual router or virtual switch.
  • the virtualization appliance may be a container, which is an entity used to provide an isolated virtualization environment.
  • the container can be a docker container, and the container can be configured as a cloud gateway.
  • a cloud gateway can be created through the corresponding image.
  • a container proxy-container instance can be created for the proxy-container through the image of the container proxy-container that provides proxy services, and the container instance proxy-container can be provided as a cloud gateway.
  • the cloud gateway can use the kernel of the physical machine to run, and multiple cloud gateways can share the operating system of the physical machine. Different cloud gateways can be isolated through container technology.
  • a containerized cloud gateway can run in a virtualized environment, for example, a virtual machine, and a containerized cloud gateway can also run directly on a physical machine.
  • a virtualization device can be a Pod.
  • a Pod is Kubernetes (Kubernetes is a container orchestration engine open sourced by Google, referred to as K8s for short). It is the basic unit for deploying, managing, and orchestrating containerized applications.
  • a Pod can include one or more containers. Each container in the same Pod is usually deployed on the same host, so each container in the same Pod can communicate through the host, and can share the storage resources and network resources of the host.
  • the Pod can be configured as a cloud gateway.
  • a container as a service (container as a service, CaaS, which is a container-based PaaS service) can be instructed to create a Pod, and the Pod can be provided as a cloud gateway.
  • the cloud gateway can also be other virtualization devices, and they will not be listed here.
  • the above cloud gateway may also be implemented by a general processor.
  • the general-purpose processor may be in the form of a chip.
  • the general-purpose processor implementing the cloud gateway includes a processing circuit, an input interface and an output interface connected and communicated with the processing circuit internally, and the processing circuit is used to execute the steps of generating information or messages in the above-mentioned various method embodiments through the input interface
  • the processing circuit is configured to execute the receiving step in each of the above method embodiments through an input interface, and the processing circuit is configured to execute the sending step in each of the above method embodiments through an output interface.
  • the general processor may further include a storage medium, and the processing circuit is configured to execute the storage steps in the foregoing method embodiments through the storage medium.
  • the storage medium may store instructions executed by the processing circuit, and the processing circuit is configured to execute the instructions stored in the storage medium to perform the various method embodiments described above.
  • An embodiment of the present application provides a system, the system includes a cloud gateway, an application plug-in server and a cloud storage device, wherein the cloud gateway can be the cloud gateway 700 or cloud gateway 800, and the cloud gateway, the application plug-in server and the cloud storage device can be used
  • the data reading method of the cloud storage device described in the method embodiment shown in FIG. 3 can also be used to realize the data writing method of the cloud storage device described in the method embodiment shown in FIG. 5 .
  • all or part may be implemented by software, hardware or any combination thereof.
  • software When implemented using software, it may be implemented in whole or in part in the form of a computer program product.
  • the computer program product may comprise code.
  • the computer can be a general purpose computer, a special purpose computer, a computer network, or other programmable devices.
  • the computer instructions may be stored in or transmitted from one computer-readable storage medium to another computer-readable storage medium, for example, the computer instructions may be transmitted from a website, computer, server or data center Transmission to another website site, computer, server, or data center by wired (eg, coaxial cable, optical fiber, DSL) or wireless (eg, infrared, wireless, microwave, etc.) means.
  • the computer-readable storage medium may be any available medium that can be accessed by a computer, or a data storage device such as a server or a data center integrated with one or more available media.
  • the available medium may be a magnetic medium (such as a floppy disk, a hard disk, or a magnetic tape), an optical medium, or a semiconductor medium.
  • the steps in the method of the embodiment of the present application can be adjusted in order, merged or deleted according to actual needs; the units in the device of the embodiment of the present application can be divided, combined or deleted according to actual needs.

Abstract

A method and system for reading data from a cloud storage device and writing data thereinto. The method comprises: a cloud gateway receiving a data reading request, which is sent by a client, and identification information of an application plug-in serving end, or receiving a data writing request, which is sent by the client, and the identification information of the application plug-in serving end; the cloud gateway sending, according to the identification information of the application plug-in serving end, the received data reading request or data writing request to the corresponding application plug-in serving end; and the application plug-in serving end processing the data reading request or the data writing request, so as to realize a data reading operation or a data writing operation on a cloud storage device. By means of the method, the utilization rate of resources can be increased, and the usage experience of a user can be improved.

Description

云存储设备的数据读取和写入方法及系统Data reading and writing method and system for cloud storage device
本申请要求于2022年01月14日提交中国专利局、申请号为2022100398329、申请名称为“云存储设备的数据读取和写入方法及系统”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。This application claims the priority of the Chinese patent application with the application number 2022100398329 and the application name "Data reading and writing method and system of cloud storage device" submitted to the China Patent Office on January 14, 2022, and the entire content of the application is passed References are incorporated in this application.
技术领域technical field
本申请涉及存储技术领域,尤其涉及云存储设备的数据读取和写入方法及系统。The present application relates to the field of storage technology, and in particular to a data reading and writing method and system for a cloud storage device.
背景技术Background technique
在云存储系统中,在将数据存入存储系统之前,或者从存储系统中读取出数据之后,通常需要对数据进行一些通用的处理操作,比如,在多媒体场景中,由于多媒体数据占用内存较大,在将多媒体数据存入存储节点之前,通常需要对多媒体数据进行压缩;又比如,在一种场景中,数据在存储系统中是以对象的形式存储的,当需要其中的部分数据时,需要把整个对象读取出来,通过特定查询语句,找到所需要的数据。In the cloud storage system, before storing the data in the storage system, or after reading the data from the storage system, it is usually necessary to perform some general processing operations on the data. Large, multimedia data usually needs to be compressed before being stored in the storage node; another example, in a scenario where data is stored in the form of objects in the storage system, when part of the data is needed, It is necessary to read the entire object and find the required data through a specific query statement.
通常将这些通用的处理操作下沉至存储侧,由存储侧来完成,但是这影响了存储侧的其他业务功能,例如存储业务,使得存储侧资源利用不合理。Usually, these common processing operations are downgraded to the storage side and completed by the storage side, but this affects other business functions on the storage side, such as storage services, making the utilization of resources on the storage side unreasonable.
发明内容Contents of the invention
本申请公开了云存储设备的数据读取和写入方法及系统,根据本申请所述的方法,云网关将接收到的客户端发送的数据读取请求或数据写入请求发送至对应的应用插件服务端,应用插件服务端对数据读取请求或数据写入请求进行处理,实现云存储设备的数据读取操作或数据写入操作,实施本申请,能够提高资源利用率,提升用户使用体验。This application discloses a data reading and writing method and system for cloud storage devices. According to the method described in this application, the cloud gateway sends the received data reading request or data writing request sent by the client to the corresponding application The plug-in server uses the plug-in server to process the data read request or data write request to realize the data read operation or data write operation of the cloud storage device. Implementing this application can improve resource utilization and improve user experience .
第一方面,本申请提供了一种云存储设备的数据读取方法,云网关、应用插件服务端以及云存储设备设置于至少一个云数据中心中,客户端与所述云网关建立连接,所述方法包括:In the first aspect, the present application provides a data reading method of a cloud storage device. The cloud gateway, the application plug-in server and the cloud storage device are set in at least one cloud data center, and the client establishes a connection with the cloud gateway. The methods described include:
所述云网关接收所述客户端发送的数据读取请求以及所述应用插件服务端的识别信息,其中,所述数据读取请求携带有所述云存储设备的识别信息和待读取数据在所述云存储设备的读取位置信息,所述云存储设备存储有所述待读取数据,所述应用插件服务端用于进行近数据处理;The cloud gateway receives the data read request sent by the client and the identification information of the application plug-in server, wherein the data read request carries the identification information of the cloud storage device and the data to be read in the The reading location information of the cloud storage device, the cloud storage device stores the data to be read, and the application plug-in server is used for near data processing;
所述云网关根据所述应用插件服务端的识别信息转发所述数据读取请求至所述应用插件服务端;The cloud gateway forwards the data read request to the application plug-in server according to the identification information of the application plug-in server;
所述应用插件服务端根据所述数据读取请求携带的所述云存储设备的识别信息和所述读取位置信息从所述云存储设备读取所述待读取数据,对所述待读取数据进行近数据处理,并将处理后的待读取数据发送至所述云网关;The application plug-in server reads the data to be read from the cloud storage device according to the identification information of the cloud storage device carried in the data read request and the read location information, and Get data and carry out near-data processing, and send the processed data to be read to the cloud gateway;
所述云网关将所述处理后的待读取数据发送至所述客户端。The cloud gateway sends the processed data to be read to the client.
可以看到,将通用通用处理操作作为应用插件设置在云数据中心中,由应用插件服务端进行通用处理操作,将处理后的结果返回给各个客户端,相比由各个客户端分别进行通用处理操作,避免了资源的浪费,提高了资源利用率,提升了用户的使用体验;将云网关设置在应用插件服务端和云存储设备所在的至少一个云数据中心中,由云网关根据应用插件服务端的识别信息对数据读取请求进行分配发送至对应的应用插件服务端,应用插件服务端对待读取数据进行近数据处理,并将处理后的待读取数据通过云网关返回至客户端,实现数据的读 取操作,使得各个设备能够各显其能、各施所长。It can be seen that the general processing operation is set as an application plug-in in the cloud data center, and the application plug-in server performs the general processing operation, and returns the processed result to each client, compared with the general processing performed by each client Operation avoids the waste of resources, improves resource utilization, and improves user experience; the cloud gateway is set in at least one cloud data center where the application plug-in server and cloud storage device are located, and the cloud gateway serves according to the application plug-in The terminal’s identification information assigns the data reading request to the corresponding application plug-in server, and the application plug-in server performs near-data processing on the data to be read, and returns the processed data to be read to the client through the cloud gateway to realize The data reading operation enables each device to display its own capabilities and make full use of its strengths.
基于第一方面,在可能的实现方式中,所述近数据处理包括数据压缩、数据解压缩、数据加密、数据解密、数据分析、数据处理中的任意一者。Based on the first aspect, in a possible implementation manner, the near-data processing includes any one of data compression, data decompression, data encryption, data decryption, data analysis, and data processing.
基于第一方面,在可能的实现方式中,所述云网关接收所述客户端发送的数据读取请求以及所述应用插件服务端的识别信息,包括:Based on the first aspect, in a possible implementation manner, the cloud gateway receives the data reading request sent by the client and the identification information of the application plug-in server, including:
所述云网关接收所述客户端发送的HTTP报文,所述HTTP报文包括所述数据读取请求以及所述应用插件服务端的识别信息;The cloud gateway receives the HTTP message sent by the client, the HTTP message includes the data read request and the identification information of the application plug-in server;
所述云网关根据所述应用插件服务端的识别信息转发所述数据读取请求至所述应用插件服务端,包括:The cloud gateway forwards the data read request to the application plug-in server according to the identification information of the application plug-in server, including:
所述云网关根据所述HTTP报文中的所述应用插件服务端的识别信息转发所述HTTP报文中的所述数据读取请求至所述应用插件服务端;或The cloud gateway forwards the data read request in the HTTP message to the application plug-in server according to the identification information of the application plug-in server in the HTTP message; or
所述云网关根据所述应用插件服务端的识别信息转发所述HTTP报文至所述应用插件服务端。The cloud gateway forwards the HTTP message to the application plug-in server according to the identification information of the application plug-in server.
可以理解,数据读取请求和应用插件服务端的识别信息可以以报文的形式存在,在数据读取请求和应用插件服务端的识别信息以报文的形式存在的情况下,云网关可以根据应用插件服务端的识别信息将数据报文或报文中的数据读取请求发送至应用插件服务端。It can be understood that the data reading request and the identification information of the application plug-in server may exist in the form of a message. When the data reading request and the identification information of the application plug-in server exist in the form of a message, the cloud gateway may The identification information of the server sends the data message or the data reading request in the message to the application plug-in server.
基于第一方面,在可能的实现方式中,所述应用插件服务端的识别信息为所述应用插件服务端的网络地址。Based on the first aspect, in a possible implementation manner, the identification information of the application plug-in server is a network address of the application plug-in server.
可以理解,应用插件服务端的识别信息可以为应用插件服务端的网络地址,云网关直接根据该网络地址将数据读取请求发送至应用插件服务端,具有方便、快捷的特点。It can be understood that the identification information of the application plug-in server can be the network address of the application plug-in server, and the cloud gateway directly sends the data reading request to the application plug-in server according to the network address, which is convenient and fast.
基于第一方面,在可能的实现方式中,所述云网关记录有所述应用插件服务端的网络地址与所述应用插件服务端的识别信息的对应关系,所述云网关根据所述应用插件服务端的识别信息转发所述数据读取请求至所述应用插件服务端,包括:Based on the first aspect, in a possible implementation manner, the cloud gateway records the correspondence between the network address of the application plug-in server and the identification information of the application plug-in server, and the cloud gateway records the corresponding relationship between the network address of the application plug-in server and the The identification information forwards the data read request to the application plug-in server, including:
所述云网关根据所述应用插件服务端的识别信息从所述对应关系获取所述应用插件服务端的网络地址,所述云网关根据所述应用插件服务端的网络地址转发所述数据读取请求至所述应用插件服务端。The cloud gateway obtains the network address of the application plug-in server from the corresponding relationship according to the identification information of the application plug-in server, and the cloud gateway forwards the data read request to the Described application plug-in server.
基于第一方面,在可能的实现方式中,所述云网关、所述应用插件服务端以及所述云存储设备设置在一个云数据中心中,或设置在相互连接的多个云数据中心中,在所述云网关、所述应用插件服务端以及所述云存储设备设置在相互连接的多个云数据中心中的情况下,所述云网关、所述应用插件服务端以及所述云存储设备中的一者或任意组合设置在所述多个云数据中心的一个云数据中心中。Based on the first aspect, in a possible implementation manner, the cloud gateway, the application plug-in server, and the cloud storage device are set in one cloud data center, or in multiple cloud data centers connected to each other, In the case that the cloud gateway, the application plug-in server and the cloud storage device are arranged in multiple cloud data centers connected to each other, the cloud gateway, the application plug-in server and the cloud storage device One or any combination of them is set in one cloud data center of the plurality of cloud data centers.
基于第一方面,在可能的实现方式中,所述客户端设置在云下,或设置在所述至少一个云数据中心中。Based on the first aspect, in a possible implementation manner, the client is set under the cloud, or set in the at least one cloud data center.
基于第一方面,在可能的实现方式中,所述应用插件服务端的识别信息是所述客户端从多个应用插件服务端的识别信息中选出。Based on the first aspect, in a possible implementation manner, the identification information of the application plug-in server is selected by the client from identification information of multiple application plug-in servers.
第二方面,本申请提供了一种云存储设备的数据写入方法,云网关、应用插件服务端以及云存储设备设置于至少一个云数据中心,客户端与所述云网关建立连接,所述方法包括:In a second aspect, the present application provides a method for writing data into a cloud storage device. The cloud gateway, the application plug-in server, and the cloud storage device are set in at least one cloud data center, and the client establishes a connection with the cloud gateway. Methods include:
所述云网关接收所述客户端发送的数据写入请求以及应用插件服务端的识别信息,其中,所述数据写入请求携带有需要访问的云存储设备的识别信息、待写入数据、所述待写入数据在所述云存储设备的写入位置信息,所述应用插件服务端用于近数据处理;The cloud gateway receives the data write request sent by the client and the identification information of the application plug-in server, wherein the data write request carries the identification information of the cloud storage device to be accessed, the data to be written, the The writing location information of the data to be written in the cloud storage device, the application plug-in server is used for near data processing;
所述云网关根据所述应用插件服务端的识别信息转发所述数据写入请求至所述应用插件 服务端;The cloud gateway forwards the data writing request to the application plug-in server according to the identification information of the application plug-in server;
所述应用插件服务端对所述数据写入请求携带的所述待写入数据进行近数据处理,并根据所述数据写入请求携带的所述云存储设备的识别信息和所述写入位置信息将处理后的待写入数据写入至所述云存储设备。The application plug-in server performs near data processing on the data to be written carried in the data write request, and according to the identification information of the cloud storage device carried in the data write request and the write location The information writes the processed data to be written to the cloud storage device.
可以看到,将通用通用处理操作作为应用插件设置在云数据中心中,由应用插件服务端进行通用处理操作,将处理后的结果返回给各个客户端,相比由各个客户端分别进行通用处理操作,避免了资源的浪费,提高了资源利用率,提升了用户的使用体验;将云网关设置在应用插件服务端和云存储设备所在的至少一个云数据中心中,由云网关根据应用插件服务端的识别信息对数据读取请求进行分配发送至对应的应用插件服务端,应用插件服务端对待读取数据进行近数据处理,并将处理后的待读取数据通过云网关返回至客户端,实现数据的写入操作,使得各个设备能够各显其能、各施所长。It can be seen that the general processing operation is set as an application plug-in in the cloud data center, and the application plug-in server performs the general processing operation, and returns the processed result to each client, compared with the general processing performed by each client Operation avoids the waste of resources, improves resource utilization, and improves user experience; the cloud gateway is set in at least one cloud data center where the application plug-in server and cloud storage device are located, and the cloud gateway serves according to the application plug-in The terminal’s identification information assigns the data reading request to the corresponding application plug-in server, and the application plug-in server performs near-data processing on the data to be read, and returns the processed data to be read to the client through the cloud gateway to realize The write operation of data enables each device to display its own capabilities and give full play to its strengths.
基于第二方面,在可能的实现方式中,所述近数据处理包括数据压缩、数据解压缩、数据加密、数据解密、数据分析、数据计算中的任意一者。Based on the second aspect, in a possible implementation manner, the near-data processing includes any one of data compression, data decompression, data encryption, data decryption, data analysis, and data calculation.
基于第二方面,在可能的实现方式中,所述云网关接收所述客户端发送的数据写入请求以及所述应用插件服务端的识别信息,包括:所述云网关接收所述客户端发送的HTTP报文,所述HTTP报文包括所述数据写入请求以及所述应用插件服务端的识别信息;Based on the second aspect, in a possible implementation manner, the cloud gateway receiving the data writing request sent by the client and the identification information of the application plug-in server includes: the cloud gateway receiving the request sent by the client An HTTP message, the HTTP message including the data write request and the identification information of the application plug-in server;
所述云网关根据所述应用插件服务端的识别信息转发数据写入请求至所述应用插件服务端,包括:所述云网关根据所述HTTP报文中的所述应用插件服务端的识别信息转发所述HTTP报文中的所述数据写入请求至所述应用插件服务端;或所述云网关根据所述应用插件服务端的识别信息转发所述HTTP报文至所述应用插件服务端。The cloud gateway forwarding the data write request to the application plug-in server according to the identification information of the application plug-in server includes: forwarding the data write request by the cloud gateway according to the identification information of the application plug-in server in the HTTP message The data writing request in the HTTP message is sent to the application plug-in server; or the cloud gateway forwards the HTTP message to the application plug-in server according to the identification information of the application plug-in server.
可以理解,数据写入请求和应用插件服务端的识别信息可以以报文的形式存在,在数据写入请求和应用插件服务端的识别信息以报文的形式存在的情况下,云网关可以根据应用插件服务端的识别信息将报文或报文中的数据写入请求发送至应用插件服务端。It can be understood that the data writing request and the identification information of the application plug-in server can exist in the form of a message. When the data writing request and the identification information of the application plug-in server exist in the form of a message, the cloud gateway can The identification information of the server sends the message or the data writing request in the message to the application plug-in server.
基于第二方面,在可能的实现方式中,所述应用插件服务端的识别信息为所述应用插件服务端的网络地址。Based on the second aspect, in a possible implementation manner, the identification information of the application plug-in server is a network address of the application plug-in server.
可以理解,应用插件服务端的识别信息可以为应用插件服务端的网络地址,云网关直接根据该网络地址将数据写入请求发送至应用插件服务端,具有方便、快捷的特点。It can be understood that the identification information of the application plug-in server can be the network address of the application plug-in server, and the cloud gateway directly sends the data writing request to the application plug-in server according to the network address, which is convenient and fast.
基于第二方面,在可能的实现方式中,所述云网关记录有所述应用插件服务端的网络地址与所述应用插件服务端的识别信息的对应关系,所述云网关根据所述应用插件服务端的识别信息转发数据写入请求至所述应用插件服务端,包括:Based on the second aspect, in a possible implementation manner, the cloud gateway records the correspondence between the network address of the application plug-in server and the identification information of the application plug-in server, and the cloud gateway records the corresponding relationship between the network address of the application plug-in server and the The identification information forwards the data writing request to the application plug-in server, including:
所述云网关根据所述应用插件服务端的识别信息从所述对应关系获取所述应用插件服务端的网络地址,所述云网关根据所述应用插件服务端的网络地址转发所述数据写入请求至所述应用插件服务端。The cloud gateway obtains the network address of the application plug-in server from the corresponding relationship according to the identification information of the application plug-in server, and the cloud gateway forwards the data write request to the Described application plug-in server.
基于第二方面,在可能的实现方式中,所述云网关、所述应用插件服务端以及所述云存储设备设置在一个云数据中心中,或设置在相互连接的多个云数据中心中,在所述云网关、所述应用插件服务端以及所述云存储设备设置在相互连接的多个云数据中心中的情况下,所述云网关、所述应用插件服务端以及所述云存储设备中的一者或任意组合设置在所述多个云数据中心的一个云数据中心中。Based on the second aspect, in a possible implementation manner, the cloud gateway, the application plug-in server, and the cloud storage device are set in one cloud data center, or in multiple cloud data centers connected to each other, In the case that the cloud gateway, the application plug-in server and the cloud storage device are arranged in multiple cloud data centers connected to each other, the cloud gateway, the application plug-in server and the cloud storage device One or any combination of them is set in one cloud data center of the plurality of cloud data centers.
基于第二方面,在可能的实现方式中,所述客户端设置在云下,或设置在所述至少一个云数据中心中。Based on the second aspect, in a possible implementation manner, the client is set under the cloud, or set in the at least one cloud data center.
基于第二方面,在可能的实现方式中,所述应用插件服务端的识别信息是所述客户端从 多个应用插件服务端的识别信息中选出。Based on the second aspect, in a possible implementation manner, the identification information of the application plug-in server is selected by the client from identification information of multiple application plug-in servers.
第三方面,本申请提供了一种云存储设备的数据读取系统,包括云网关、应用插件服务端和云存储设备,所述云网关、所述应用插件服务端和所述云存储设备用于执行上述第一方面或第一方面的任意一种可能的实现方式所述的方法。In a third aspect, the present application provides a data reading system for a cloud storage device, including a cloud gateway, an application plug-in server, and a cloud storage device, the cloud gateway, the application plug-in server, and the cloud storage device to perform the method described in the first aspect or any possible implementation manner of the first aspect.
第四方面,本申请提供了一种云存储设备的数据写入系统,包括云网关、应用插件服务端和云存储设备,所述云网关、所述应用插件服务端和所述云存储设备用于执行上述第二方面或第二方面的任意一种可能的实现方式所述的方法。In a fourth aspect, the present application provides a data writing system for a cloud storage device, including a cloud gateway, an application plug-in server, and a cloud storage device. The cloud gateway, the application plug-in server, and the cloud storage device use to perform the method described in the second aspect or any possible implementation manner of the second aspect.
第五方面,本申请提供了一种可读存储介质,包括程序指令,当所述程序指令在计算机上运行时,使得计算机执行上述第一方面或第一方面的任意一种可能的实现方式所描述的方法。In a fifth aspect, the present application provides a readable storage medium, including program instructions. When the program instructions are run on a computer, the computer executes the above-mentioned first aspect or any one of the possible implementations of the first aspect. described method.
第六方面,本申请提供了又一种可读存储介质,包括程序指令,当所述程序指令在计算机上运行时,使得计算机执行上述第二方面或第二方面的任意一种可能的实现方式所描述的方法。In a sixth aspect, the present application provides yet another readable storage medium, including program instructions. When the program instructions are run on a computer, the computer executes the above-mentioned second aspect or any possible implementation of the second aspect. method described.
附图说明Description of drawings
为了更清楚地说明本申请实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。In order to illustrate the technical solutions of the embodiments of the present application more clearly, the drawings that need to be used in the description of the embodiments will be briefly introduced below. Obviously, the drawings in the following description are some embodiments of the present application. Ordinary technicians can also obtain other drawings based on these drawings on the premise of not paying creative work.
图1为本申请提供的一种系统架构示意图;FIG. 1 is a schematic diagram of a system architecture provided by the present application;
图2为本申请提供的又一种系统架构示意图;FIG. 2 is a schematic diagram of another system architecture provided by the present application;
图3为本申请提供的一种云存储设备的数据读取方法的流程示意图;FIG. 3 is a schematic flowchart of a data reading method of a cloud storage device provided by the present application;
图4为本申请提供的一种云存储设备的数据读取方法的示例图;FIG. 4 is an example diagram of a data reading method of a cloud storage device provided by the present application;
图5为本申请提供的一种云存储设备的数据写入方法的流程示意图;FIG. 5 is a schematic flowchart of a data writing method of a cloud storage device provided by the present application;
图6为本申请提供的一种云存储设备的数据写入方法的示例图;FIG. 6 is an example diagram of a data writing method of a cloud storage device provided by the present application;
图7为本申请提供的一种云网关的结构示意图;FIG. 7 is a schematic structural diagram of a cloud gateway provided by the present application;
图8为本申请提供的又一种云网关的结构示意图。FIG. 8 is a schematic structural diagram of another cloud gateway provided by the present application.
具体实施方式Detailed ways
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。The technical solutions in the embodiments of the present application will be clearly and completely described below in conjunction with the drawings in the embodiments of the present application.
为了便于理解,在介绍本申请的系统架构和方法实施例之前,先介绍一下本申请涉及的技术名词。For ease of understanding, before introducing the system architecture and method embodiments of the present application, first introduce the technical terms involved in the present application.
近数据处理(near data processing,NDP),在存算分离或以数据为中心的系统架构中,将部分数据的计算放置在存储侧完成,从而减少存储侧与计算侧之间传输的无效数据,提高带宽利用率,降低成本。例如,在一种场景下,数据集合以对象的形式存储,当需要其中的部分数据时,需要将整个对象读取出来,通过特定查询语句,确定出需要的数据,这个查询操作即可以在存储侧实现,本示例仅仅用于举例说明,并不构成对本申请方案的限定。Near data processing (near data processing, NDP), in the separation of storage and calculation or data-centric system architecture, the calculation of part of the data is placed on the storage side to complete, thereby reducing the invalid data transmitted between the storage side and the calculation side, Improve bandwidth utilization and reduce costs. For example, in one scenario, the data collection is stored in the form of objects. When some of the data is needed, the entire object needs to be read out, and the required data is determined through a specific query statement. This query operation can be stored in the side implementation, this example is only for illustration, and does not constitute a limitation to the solution of this application.
本申请提供了一种系统,参见图1,图1为本申请提供的一种系统架构示意图,系统涉及至少一个客户端110、交换机120和存储节点集群130,存储节点集群130包括至少一个存储节点。This application provides a system, see Figure 1, Figure 1 is a schematic diagram of a system architecture provided by this application, the system involves at least one client 110, a switch 120 and a storage node cluster 130, the storage node cluster 130 includes at least one storage node .
客户端110可以为用户的手机终端、台式计算机、笔记本、物理服务器、虚拟机等。The client 110 may be a mobile phone terminal, a desktop computer, a notebook, a physical server, a virtual machine, etc. of a user.
交换机120可以是以太网交换机、InfiniBand交换机、基于远程直接内存访问(remote direct  memory access,RDMA)技术的以太网交换机(RDMA over converged ethernet,RoCE)等。客户端110可以通过交换机120与存储节点进行通信。可选的,交换机120是一种可选设备,客户端110还可以通过网络与存储节点进行通信。The switch 120 may be an Ethernet switch, an InfiniBand switch, an Ethernet switch (RDMA over converged ethernet, RoCE) based on a remote direct memory access (remote direct memory access, RDMA) technology, and the like. The client 110 can communicate with the storage node through the switch 120 . Optionally, the switch 120 is an optional device, and the client 110 can also communicate with the storage node through the network.
客户端110可以通过交换机120向存储节点发送访问请求,访问请求可以是数据读取请求或数据写入请求。存储节点接收到客户端110发送的访问请求,根据访问请求执行读操作或写操作,并向客户端110返回访问请求响应消息。The client 110 may send an access request to the storage node through the switch 120, and the access request may be a data read request or a data write request. The storage node receives the access request sent by the client 110 , performs a read operation or a write operation according to the access request, and returns an access request response message to the client 110 .
在图1所示的系统架构中,各个客户端通常需要对数据进行一些通用的处理操作,比如数据压缩处理、数据解压缩处理、数据加密、数据解密、数据分析、数据处理、图像处理等。为了提高资源利用率,同时为了更好地为用户提供服务,可以将与业务相关的通用的处理操作作为应用插件,不同的处理操作作为不同的应用插件,部署在存储节点所在的云数据中心中,各个应用插件与各个存储节点共同为用户提供服务,其中,应用插件例如可以是数据压缩插件、数据解压缩插件、数据加密插件、数据解密插件、数据分析插件、数据处理插件、图像处理插件等。In the system architecture shown in Figure 1, each client usually needs to perform some common processing operations on data, such as data compression processing, data decompression processing, data encryption, data decryption, data analysis, data processing, image processing, etc. In order to improve resource utilization and provide better services for users, general business-related processing operations can be used as application plug-ins, and different processing operations can be deployed as different application plug-ins in the cloud data center where the storage node is located. , each application plug-in and each storage node jointly provide services for users, wherein the application plug-in can be, for example, a data compression plug-in, a data decompression plug-in, a data encryption plug-in, a data decryption plug-in, a data analysis plug-in, a data processing plug-in, an image processing plug-in, etc. .
参见图2,图2为本申请提供的又一种系统架构示意图。图2所示的系统是在图1所示的系统基础上,在至少一个存储节点所在的云数据中心中部署了多个应用插件和云网关,云网关例如可以是应用程序编程接口(application programming interface,API)网关。Referring to FIG. 2 , FIG. 2 is a schematic diagram of another system architecture provided by the present application. The system shown in Figure 2 is based on the system shown in Figure 1, and multiple application plug-ins and cloud gateways are deployed in the cloud data center where at least one storage node is located. The cloud gateway can be, for example, an application programming interface (application programming interface). interface, API) gateway.
其中,多个应用插件包括应用插件1、应用插件2、…应用插件n,应用插件1、应用插件2、…应用插件n为不同的应用插件,不同的应用插件可以具有不同的功能,例如,应用插件1可以为数据压缩插件,数据压缩插件用于对数据进行压缩,应用插件2可以为图像处理插件,图像处理插件用于对图像进行处理,图像处理可以包括图像增强、去除噪声/滤波、图像复原等等中的一项或多项。可选的,不同的应用插件中的部分应用插件也可以具有相同的功能但是插件版本不同,例如,应用插件1和应用插件2可以都是具有数据压缩功能的数据压缩插件,其中,应用插件1是采用方法A对数据进行压缩的,应用插件2是采用方法B对数据进行压缩的,则称为应用插件1和应用插件2具有相同的功能但插件版本不同。Wherein, the multiple application plug-ins include application plug-in 1, application plug-in 2, ... application plug-in n, application plug-in 1, application plug-in 2, ... application plug-in n are different application plug-ins, and different application plug-ins may have different functions, for example, The application plug-in 1 can be a data compression plug-in, and the data compression plug-in is used to compress data. The application plug-in 2 can be an image processing plug-in, and the image processing plug-in is used to process images. The image processing can include image enhancement, noise removal/filtering, One or more of image restoration, etc. Optionally, some application plug-ins in different application plug-ins may also have the same function but different plug-in versions, for example, application plug-in 1 and application plug-in 2 may both be data compression plug-ins with data compression function, wherein application plug-in 1 The method A is used to compress the data, and the application plug-in 2 is used to compress the data by the method B, then it is called that the application plug-in 1 and the application plug-in 2 have the same function but different plug-in versions.
将存储节点所在的设备称为云存储设备,应用插件可以部署在存储节点所在的云存储设备上,也可以部署在一独立设备上。也就是,一个应用插件可以部署在一个云存储设备上,或者,多个应用插件可以同时部署在一个云存储设备上,换句话说,有的云存储设备上部署了一个应用插件,有的云存储设备上部署了多个应用插件,有的云存储设备上未部署应用插件。本申请对应用插件的布署位置和部署数量不作具体限定。The device where the storage node is located is called a cloud storage device, and the application plug-in can be deployed on the cloud storage device where the storage node is located, or can be deployed on an independent device. That is, one application plug-in can be deployed on one cloud storage device, or multiple application plug-ins can be deployed on one cloud storage device at the same time. In other words, some cloud storage devices deploy an application plug-in, and some cloud Multiple application plug-ins are deployed on storage devices, and some cloud storage devices have no application plug-ins deployed. This application does not specifically limit the deployment location and deployment quantity of application plug-ins.
在本申请中,无论应用插件部署在一独立设备上,还是部署在云存储设备上,均将应用插件所在的设备称为应用插件服务端,将用于处理读操作或写操作的存储节点所在的设备称为云存储设备。若应用插件部署在云存储设备上,则应用插件在对数据进行计算处理时运用的是云存储设备上的计算资源,比如处理器、内存等,这种情况下应用插件服务端即为云存储设备;若应用插件部署在一独立设备上,则应用插件在对数据进行计算处理时运用的是独立设备上的计算资源,比如处理器、内存等,这种情况下应用插件服务端指的是独立设备。In this application, regardless of whether the application plug-in is deployed on an independent device or on a cloud storage device, the device where the application plug-in is located is called the application plug-in server, and the storage node for processing read or write operations is located A device called a cloud storage device. If the application plug-in is deployed on the cloud storage device, the application plug-in uses the computing resources on the cloud storage device, such as processor and memory, when computing and processing the data. In this case, the application plug-in server is cloud storage device; if the application plug-in is deployed on an independent device, the application plug-in uses the computing resources on the independent device, such as processor, memory, etc., when computing and processing data. In this case, the application plug-in server refers to standalone device.
云存储设备例如可以是对象存储(object storage service,OBS)设备(又可称为OBS桶),还可以是弹性云硬盘(elastic volume service,EVS)设备,还可以是弹性文件服务(scalable file service,SFS)设备、网络附属存储(network attached storage,NAS)设备、开放系统的直连式存储(direct-attached storage,DAS)设备等云数据中心中的任意一种存储设备。For example, a cloud storage device may be an object storage (object storage service, OBS) device (also called an OBS bucket), or an elastic volume service (EVS) device, or an elastic file service (scalable file service). , SFS) equipment, network attached storage (network attached storage, NAS) equipment, open system direct-attached storage (direct-attached storage, DAS) equipment and any other storage equipment in the cloud data center.
图2中,客户端可以是位于云数据中心下的租户所使用的手机、台式计算机、笔记本等, 也可以是云数据中心下的租户在云数据中心所购买的虚拟机、容器或裸金属服务器(bare metal server,BMS)等。In Figure 2, clients can be mobile phones, desktop computers, notebooks, etc. used by tenants in the cloud data center, or virtual machines, containers or bare metal servers purchased by tenants in the cloud data center in the cloud data center (bare metal server, BMS) and so on.
可以理解,多个应用插件服务端中的每个应用插件服务端、云网关以及云存储设备可以设置于同一个云数据中心中,也可以设置于相互连接的多个云数据中心中,在设置在相互连接的多个云数据中心的情况下,多个应用插件服务端中的每个应用插件服务端、云网关和存储服务端中的任意一者或者任意组合可以设置在多个云数据中心的一个云数据中心中。It can be understood that each application plug-in server, cloud gateway, and cloud storage device among multiple application plug-in servers can be set in the same cloud data center, or in multiple cloud data centers connected to each other. In the case of multiple cloud data centers connected to each other, any one or any combination of each application plug-in server, cloud gateway, and storage server in multiple application plug-in servers can be set in multiple cloud data centers in a cloud data center.
图2所示的系统架构图仅仅用于举例,并不构成对本申请的限定。实际应用中可以包括比图2更多或更少的设备,本申请对应用插件的数量、应用插件的部署位置、应用插件服务端的数量、云存储设备的数量等不做具体限定。The system architecture diagram shown in FIG. 2 is only for example, and does not constitute a limitation to the present application. Practical applications may include more or fewer devices than those shown in Figure 2, and this application does not specifically limit the number of application plug-ins, the deployment locations of application plug-ins, the number of application plug-in servers, and the number of cloud storage devices.
基于图2所示的系统,客户端发送访问请求时先经过云网关,再由云网关发送至云存储设备或应用插件服务端,实现数据的读操作或写操作。下面结合图2所示的系统结构分别描述本申请提供的一种云存储设备的数据读取方法和一种云存储设备的数据写入方法,这里首先介绍云存储设备的数据读取方法,后面再介绍云存储设备的数据写入方法。参见图3,图3为本申请提供的一种云存储设备的数据读取方法的流程示意图,所述方法包括但不限于以下内容的描述。Based on the system shown in Figure 2, when the client sends an access request, it first passes through the cloud gateway, and then the cloud gateway sends it to the cloud storage device or the application plug-in server to implement data read or write operations. A data reading method of a cloud storage device and a data writing method of a cloud storage device provided by the present application are respectively described below in conjunction with the system structure shown in FIG. Then introduce the data writing method of the cloud storage device. Referring to FIG. 3 , FIG. 3 is a schematic flowchart of a data reading method of a cloud storage device provided by the present application, and the method includes but is not limited to the following description.
S201、客户端向云网关发送数据读取请求以及应用插件服务端的识别信息。S201. The client sends a data read request and identification information of the application plug-in server to the cloud gateway.
数据读取请求中携带有云存储设备的识别信息和待读取数据在云存储设备的读取位置信息,云存储设备的识别信息指示了待读取数据位于哪个云存储设备中,读取位置信息指示了待读取数据位于云存储设备中的具体位置信息。可选的,云存储设备的识别信息和待读取数据在云存储设备的读取位置信息可以通过链接表示,例如,数据读取请求可以为curl-m 30-X GET”http://xxxxxxxx”,其中,curl-m 30-X GET是读取命令,http://xxxxxxxx是云存储设备的识别信息和待读取数据在云存储设备的读取位置信息。云存储设备的识别信息和待读取数据在云存储设备的读取位置信息还可以通过其他形式表示,例如,云存储设备的识别信息可以通过网络地址表示,等等,本申请对云存储设备的识别信息和待读取数据在云存储设备的读取位置信息的表示形式不作具体限定。The data read request carries the identification information of the cloud storage device and the read location information of the data to be read in the cloud storage device. The identification information of the cloud storage device indicates which cloud storage device the data to be read is located in, and the read location The information indicates the specific location information of the data to be read in the cloud storage device. Optionally, the identification information of the cloud storage device and the read location information of the data to be read in the cloud storage device can be represented by a link, for example, the data read request can be curl-m 30-X GET”http://xxxxxxxx ", where curl-m 30-X GET is the read command, and http://xxxxxxxx is the identification information of the cloud storage device and the read location information of the data to be read on the cloud storage device. The identification information of the cloud storage device and the reading position information of the data to be read in the cloud storage device can also be expressed in other forms, for example, the identification information of the cloud storage device can be expressed by a network address, etc. The identification information and the read position information of the data to be read in the cloud storage device are not specifically limited.
若待读取数据需要进行近数据处理,客户端需要向云网关发送数据读取请求和应用插件服务端的识别信息,其中应用插件服务端用于进行近数据处理,应用插件服务端的识别信息用于指示对待读取数据进行近数据处理的应用插件服务端为哪一个。应用插件服务端的识别信息可以是该服务端所对应的应用插件的名称以及应用插件的版本号,例如,应用插件的识别信息可以是“数据解压缩插件-v1”,其中“数据解压缩插件”是应用插件的名称,“v1”是应用插件的版本号;应用插件服务端的识别信息还可以是该服务端所对应的应用插件的身份标识(identity document,ID)或者应用插件服务端的身份标识ID,例如应用插件的身份标识ID可以是应用插件1;应用插件服务端的识别信息还可以是应用插件服务端的网络地址,等等。可选的,应用插件服务端的识别信息可以键值对(key-value,KV)的形式存在。If the data to be read requires near-data processing, the client needs to send a data read request and the identification information of the application plug-in server to the cloud gateway. The application plug-in server is used for near-data processing, and the identification information of the application plug-in server is used for Indicates which application plug-in server is to perform near-data processing on the data to be read. The identification information of the application plug-in server may be the name of the application plug-in corresponding to the server and the version number of the application plug-in. For example, the identification information of the application plug-in may be "data decompression plug-in-v1", where "data decompression plug-in" is the name of the application plug-in, and "v1" is the version number of the application plug-in; the identification information of the application plug-in server can also be the identity document (identity document, ID) of the application plug-in corresponding to the server or the identity ID of the application plug-in server For example, the identification ID of the application plug-in may be application plug-in 1; the identification information of the application plug-in server may also be the network address of the application plug-in server, and so on. Optionally, the identification information of the application plug-in server may exist in the form of a key-value pair (key-value, KV).
一般,数据读取请求和应用插件服务端的识别信息是由客户端同时发送的,例如,数据读取请求和应用插件服务端的识别信息可以是,Generally, the data reading request and the identification information of the application plug-in server are sent by the client at the same time. For example, the data reading request and the identification information of the application plug-in server may be,
curl-m 30-X GET"http://xxxxxxxx"-H"Host:koomap.cn-north-4.yyyyyy.com"–kvcurl -m 30 -X GET "http://xxxxxxxx" -H "Host:koomap.cn-north-4.yyyyyy.com"–kv
其中,curl-m 30-X GET是数据读取命令,"http://xxxxxxxx"是云存储设备的识别信息和待读取数据在所述云存储设备的读取位置信息,H"Host:koomap.cn-north-4.yyyyyy.com"–kv是应用插件服务端的识别信息,应用插件服务端的识别信息中的yyyyyy可以是供应商信息。Wherein, curl-m 30-X GET is a data read command, "http://xxxxxxxx" is the identification information of the cloud storage device and the reading location information of the data to be read in the cloud storage device, H"Host: koomap.cn-north-4.yyyyyy.com"–kv is the identification information of the application plug-in server, and yyyyyy in the identification information of the application plug-in server can be the supplier information.
可选的,客户端中存储有云数据中心中各个应用插件服务端的识别信息,所需应用插件服务端的识别信息是客户端从各个应用插件服务端的识别信息中选择出的,本申请对具体选择方式不做限定。Optionally, the client stores the identification information of each application plug-in server in the cloud data center, and the identification information of the required application plug-in server is selected by the client from the identification information of each application plug-in server. The method is not limited.
可选的,数据读取请求和应用插件服务端的识别信息可以以报文的形式存在,例如报文可以是HTTP报文或HTTPS报文,其中,应用插件服务端的识别信息位于报文的报文头中,本申请对应用插件服务端的识别信息的具体格式不作限定。Optionally, the data read request and the identification information of the application plug-in server may exist in the form of a message, for example, the message may be an HTTP message or an HTTPS message, wherein the identification information of the application plug-in server is located in the message In the header, this application does not limit the specific format of the identification information of the application plug-in server.
可选的,若待读取数据不需要进行近数据处理,则客户端只需向云网关发送数据读取请求。Optionally, if the data to be read does not require near data processing, the client only needs to send a data read request to the cloud gateway.
S202、云网关根据应用插件服务端的识别信息转发数据读取请求至应用插件服务端。S202. The cloud gateway forwards the data reading request to the application plug-in server according to the identification information of the application plug-in server.
可选的,应用插件服务端的识别信息为应用插件的名称以及应用插件的版本号,或者应用插件的身份标识ID或者应用插件服务端的身份标识ID的情况下,云网关中记录有应用插件服务端的识别信息与应用插件服务端的网络地址之间的对应关系,且云网关能够实时维护该对应关系。云网关根据应用插件服务端的识别信息从对应关系中确定应用插件服务端的网络地址,根据应用插件服务端的网络地址将数据读取请求发送至应用插件服务端。Optionally, if the identification information of the application plug-in server is the name of the application plug-in and the version number of the application plug-in, or the identity ID of the application plug-in or the identity ID of the application plug-in server, the cloud gateway records the information of the application plug-in server. The corresponding relationship between the identification information and the network address of the application plug-in server, and the cloud gateway can maintain the corresponding relationship in real time. The cloud gateway determines the network address of the application plug-in server from the corresponding relationship according to the identification information of the application plug-in server, and sends the data read request to the application plug-in server according to the network address of the application plug-in server.
可选的,若数据读取请求和应用插件服务端的识别信息是以报文的形式存在,则云网关根据报文的报文头中的应用插件服务端的识别信息,确定应用插件服务端的网络地址,将数据读取请求或整个报文发送至应用插件服务端。Optionally, if the data read request and the identification information of the application plug-in server exist in the form of a message, the cloud gateway determines the network address of the application plug-in server according to the identification information of the application plug-in server in the header of the message , to send the data read request or the entire message to the application plug-in server.
S203、应用插件服务端根据数据读取请求携带的云存储设备的识别信息和读取位置信息从云存储设备读取待读取数据,对待读取数据进行近数据处理。S203. The application plug-in server reads the data to be read from the cloud storage device according to the identification information and read location information of the cloud storage device carried in the data read request, and performs near-data processing on the data to be read.
S204、应用插件服务端将处理后的待读取数据发送至云网关。S204. The application plug-in server sends the processed data to be read to the cloud gateway.
S205、云网关将处理后的待读取数据发送至客户端。S205. The cloud gateway sends the processed data to be read to the client.
为了便于理解步骤S203至步骤S205,本申请提供了一种云存储设备的数据读取方法的示例图,参见图4所示。In order to facilitate the understanding of steps S203 to S205, the present application provides an example diagram of a data reading method of a cloud storage device, as shown in FIG. 4 .
图4中,在需要进行近数据处理,即需要应用插件服务的情况下,云网关接收到客户端发送的数据读取请求和应用插件服务端的识别信息,云网关根据应用插件服务端的识别信息,将数据读取请求发送至对应的应用插件服务端,应用插件服务端接收到数据读取请求后,根据读取请求中的云存储设备的识别信息和读取位置信息向云存储设备请求待读取数据,云存储设备向应用插件服务端发送待读取数据,应用插件服务端接收到待读取数据后,根据待读取数据进行计算处理,然后将处理后的待读取数据发送至云网关,云网关再将处理后的待读取数据发送至客户端。In Figure 4, when near-data processing is required, that is, the application plug-in service is required, the cloud gateway receives the data reading request sent by the client and the identification information of the application plug-in server, and the cloud gateway, according to the identification information of the application plug-in server, Send the data read request to the corresponding application plug-in server. After receiving the data read request, the application plug-in server requests the cloud storage device to be read according to the identification information and read location information of the cloud storage device in the read request. To fetch data, the cloud storage device sends the data to be read to the application plug-in server. After the application plug-in server receives the data to be read, it calculates and processes the data to be read, and then sends the processed data to be read to the cloud The gateway, and the cloud gateway sends the processed data to be read to the client.
可选的,在不需要进行近数据处理,即不需要应用插件服务的情况下,客户端发送的只包括数据读取请求,不包括应用插件服务端的识别信息,则云网关接收到数据读取请求后,根据数据读取请求中的云存储设备的识别信息和读取位置信息,向云存储设备请求待读取数据,云存储设备执行读操作,将待处理数据发送至向云网关,云网关再将待读取数据发送至客户端。Optionally, when near-data processing is not required, that is, the application plug-in service is not required, and the client sends only a data read request and does not include the identification information of the application plug-in server, the cloud gateway receives the data read request After the request, according to the identification information and reading location information of the cloud storage device in the data read request, request the data to be read from the cloud storage device, and the cloud storage device executes the read operation, and sends the data to be processed to the cloud gateway, the cloud The gateway then sends the data to be read to the client.
可以看到,在云数据中心中部署了应用插件服务端,应用插件服务端用于实现通用处理操作,无需各个客户端分别进行处理操作,提高了资源利用率,提升了用户使用体验;本实施例中,云网关用于根据是否包括应用插件服务端的识别信息,来确定将数据读取请求发送至应用插件服务端还是云存储设备,应用插件服务端用于进行近数据处理,云存储设备用于执行读操作,实现了各个设备各显其能、各施所长。It can be seen that the application plug-in server is deployed in the cloud data center, and the application plug-in server is used to implement general processing operations without the need for each client to perform processing operations separately, which improves resource utilization and user experience; this implementation In this example, the cloud gateway is used to determine whether to send the data read request to the application plug-in server or to the cloud storage device according to whether the identification information of the application plug-in server is included. The application plug-in server is used for near data processing, and the cloud storage device uses In order to perform read operations, each device can display its own capabilities and give full play to its strengths.
图5为本申请提供的一种云存储设备的数据写入方法的流程示意图,所述方法包括但不限于以下内容的描述。FIG. 5 is a schematic flowchart of a method for writing data to a cloud storage device provided by the present application, and the method includes but is not limited to the following description.
S301、客户端向云网关发送数据写入请求以及应用插件服务端的识别信息。S301. The client sends a data writing request and the identification information of the application plug-in server to the cloud gateway.
写入请求中携带有需要访问的云存储设备的识别信息、待写入数据和待写入数据在云存储设备中的写入位置信息,云存储设备的识别信息指示将待写入数据写入哪个云存储设备中,写入位置信息指示待写入数据写入云存储设备的具体位置信息。云存储设备的识别信息和写入位置信息可以以链接的形式表示,也可以通过其他形式表示,例如云存储设备的识别信息可以通过网络地址表示,本申请对云存储设备的识别信息和待写入数据在云存储设备的写入位置信息的表示形式不作具体限定。The write request carries the identification information of the cloud storage device that needs to be accessed, the data to be written and the write location information of the data to be written in the cloud storage device, and the identification information of the cloud storage device indicates that the data to be written should be written to In which cloud storage device, the write location information indicates the specific location information where the data to be written is written into the cloud storage device. The identification information and writing location information of the cloud storage device can be expressed in the form of a link, or in other forms. For example, the identification information of the cloud storage device can be expressed by a network address. The expression form of the write location information of the input data in the cloud storage device is not specifically limited.
若待写入数据需要进行近数据处理,客户端需要向云网关发送数据写入请求和应用插件服务端的识别信息,其中应用插件服务端用于进行近数据处理,应用插件服务端的识别信息用于指示对待读取数据进行近数据处理的应用插件服务端为哪一个。通常,数据写入请求和应用插件服务端的识别信息是由客户端同时发送的。关于应用插件服务端的识别信息、云存储设备的识别信息等具体内容可参见图7方法实施例中的步骤S201相关内容的描述,为了说明书的简洁,在此不再赘述。If the data to be written requires near data processing, the client needs to send a data write request and the identification information of the application plug-in server to the cloud gateway. The application plug-in server is used for near data processing, and the identification information of the application plug-in server is used for Indicates which application plug-in server is to perform near-data processing on the data to be read. Usually, the data writing request and the identification information of the application plug-in server are sent simultaneously by the client. For specific content such as the identification information of the application plug-in server and the identification information of the cloud storage device, please refer to the description of the relevant content in step S201 in the method embodiment in FIG.
可选的,应用插件服务端的识别信息是客户端从多个应用插件服务端的识别信息中选择出的。Optionally, the identification information of the application plug-in server is selected by the client from identification information of multiple application plug-in servers.
可选的,数据写入请求和应用插件服务端的识别信息可以以报文的形式存在,例如报文可以是HTTP报文或HTTPS报文,其中,应用插件服务端的识别信息位于报文的报文头中,本申请对应用插件服务端的识别信息的具体格式不作限定。Optionally, the data write request and the identification information of the application plug-in server may exist in the form of a message, for example, the message may be an HTTP message or an HTTPS message, wherein the identification information of the application plug-in server is located in the message In the header, this application does not limit the specific format of the identification information of the application plug-in server.
可选的,若待写入数据不需要进行近数据处理,则客户端只需向云网关发送数据写入请求。Optionally, if the data to be written does not require near data processing, the client only needs to send a data write request to the cloud gateway.
S302、云网关根据应用插件服务端的识别信息转发数据写入请求至应用插件服务端。S302. The cloud gateway forwards the data writing request to the application plug-in server according to the identification information of the application plug-in server.
可选的,应用插件服务端的识别信息为应用插件的名称以及应用插件的版本号,或者应用插件的身份标识ID或者应用插件服务端的身份标识ID的情况下,云网关中记录有应用插件服务端的识别信息与应用插件服务端的网络地址之间的对应关系,且云网关能够实时维护该对应关系。云网关根据应用插件服务端的识别信息从对应关系中确定应用插件服务端的网络地址,根据应用插件服务端的网络地址将数据写入请求发送至应用插件服务端。Optionally, if the identification information of the application plug-in server is the name of the application plug-in and the version number of the application plug-in, or the identity ID of the application plug-in or the identity ID of the application plug-in server, the cloud gateway records the information of the application plug-in server. The corresponding relationship between the identification information and the network address of the application plug-in server, and the cloud gateway can maintain the corresponding relationship in real time. The cloud gateway determines the network address of the application plug-in server from the corresponding relationship according to the identification information of the application plug-in server, and sends the data writing request to the application plug-in server according to the network address of the application plug-in server.
可选的,若数据写入请求和应用插件服务端的识别信息是以报文的形式存在,则云网关根据报文的报文头中的应用插件服务端的识别信息,确定应用插件服务端的网络地址,将数据写入请求或整个报文发送至应用插件服务端。Optionally, if the data write request and the identification information of the application plug-in server exist in the form of a message, the cloud gateway determines the network address of the application plug-in server according to the identification information of the application plug-in server in the header of the message , to send the data write request or the entire message to the application plug-in server.
S303、应用插件服务端对数据写入请求携带的待写入数据进行近数据处理,并根据数据写入请求携带的云存储设备的识别信息和写入位置信息将处理后的待写入数据写入至云存储设备。S303. The application plug-in server performs near-data processing on the data to be written carried in the data write request, and writes the processed data to be written according to the identification information and write location information of the cloud storage device carried in the data write request. into the cloud storage device.
为了便于理解步骤S303,本申请提供了一种云存储设备的数据写入方法的示例图,参见图6所示。In order to facilitate understanding of step S303, the present application provides an example diagram of a data writing method of a cloud storage device, as shown in FIG. 6 .
图6中,在需要进行近数据处理,即需要应用插件服务的情况下,客户端向云网关发送数据写入请求和应用插件服务端的识别信息,云网关接收到客户端发送的数据写入请求和应用插件服务端的识别信息,根据应用插件服务端的识别信息,将数据写入请求发送至对应的应用插件服务端,应用插件服务端对数据写入请求中的待写入数据进行计算处理,获得处理后的待写入数据,并将处理后的待写入数据发送至云存储设备,云存储设备对处理后的待写 入数据执行写操作,写入处理后的待写入数据。In Figure 6, when near-data processing is required, that is, the application plug-in service is required, the client sends a data write request and the identification information of the application plug-in server to the cloud gateway, and the cloud gateway receives the data write request sent by the client and the identification information of the application plug-in server, according to the identification information of the application plug-in server, the data writing request is sent to the corresponding application plug-in server, and the application plug-in server calculates and processes the data to be written in the data writing request, and obtains The processed data to be written, and the processed data to be written are sent to the cloud storage device, and the cloud storage device performs a write operation on the processed data to be written, and writes the processed data to be written.
可选的,在将处理后的待写入数据写入至云存储设备后,云存储设备向应用插件服务端返回响应消息,应用插件服务端接收到响应消息后,向云网关发送数据写入请求响应,云网关再将数据写入请求响应发送至客户端。Optionally, after writing the processed data to be written into the cloud storage device, the cloud storage device returns a response message to the application plug-in server, and after receiving the response message, the application plug-in server sends the data write to the cloud gateway The request responds, and the cloud gateway sends the data write request response to the client.
可选的,在不需要进行近数据处理,即不需要应用插件服务的情况下,客户端向云网关发送数据写入请求,云网关根据数据写入请求中的云存储设备的识别信息将数据写入请求发送至云存储设备,云存储设备对待写入数据执行写操作,根据写入位置信息写入待写入数据,然后向云网关返回数据写入请求响应,云网关再将数据写入请求响应发送至客户端。Optionally, when near-data processing is not required, that is, the application plug-in service is not required, the client sends a data write request to the cloud gateway, and the cloud gateway writes the data according to the identification information of the cloud storage device in the data write request The write request is sent to the cloud storage device, and the cloud storage device performs a write operation on the data to be written, writes the data to be written according to the write location information, and then returns a data write request response to the cloud gateway, and the cloud gateway then writes the data The request response is sent to the client.
可以看到,在云数据中心中部署了应用插件服务端,应用插件服务端用于实现通用处理操作,无需各个客户端分别进行处理操作,提高了资源利用率,提升了用户使用体验;本实施例中,云网关用于根据是否包括应用插件服务端的识别信息,来确定将数据写入请求发送至应用插件服务端还是云存储设备,应用插件服务端用于进行近数据处理,云存储设备用于执行写操作,实现了各个设备各显其能、各施所长。It can be seen that the application plug-in server is deployed in the cloud data center, and the application plug-in server is used to implement general processing operations without the need for each client to perform processing operations separately, which improves resource utilization and user experience; this implementation In this example, the cloud gateway is used to determine whether to send the data writing request to the application plug-in server or to the cloud storage device according to whether the identification information of the application plug-in server is included. The application plug-in server is used for near data processing, and the cloud storage device uses In order to perform write operations, each device can display its own capabilities and give full play to its strengths.
本申请提供了一种云网关700的结构,参见图7,图7为本申请提供的云网关700的结构示意图,云网关700包括:The present application provides a structure of a cloud gateway 700, see FIG. 7, which is a schematic structural diagram of the cloud gateway 700 provided by the present application. The cloud gateway 700 includes:
接收单元701,用于接收客户端发送的数据读取请求以及应用插件服务端的识别信息,其中,数据读取请求携带有云存储设备的识别信息和待读取数据在云存储设备的读取位置信息;The receiving unit 701 is configured to receive the data reading request sent by the client and the identification information of the application plug-in server, wherein the data reading request carries the identification information of the cloud storage device and the reading position of the data to be read in the cloud storage device information;
发送单元702,用于根据应用插件服务端的识别信息转发数据读取请求至应用插件服务端;A sending unit 702, configured to forward the data reading request to the application plug-in server according to the identification information of the application plug-in server;
接收单元701还用于,接收应用插件服务端发送的处理后的待读取数据,其中处理后的待读取数据是由应用插件服务端根据数据读取请求中的云存储设备的识别信息和读取位置信息从云存储设备读取待读取数据并对待读取数据进行近数据处理后获得的;The receiving unit 701 is also used to receive the processed data to be read sent by the application plug-in server, wherein the processed data to be read is obtained by the application plug-in server according to the identification information of the cloud storage device in the data read request and The reading location information is obtained after reading the data to be read from the cloud storage device and performing near-data processing on the data to be read;
发送单元702还用于,将处理后的待读取数据发送至客户端。The sending unit 702 is also configured to send the processed data to be read to the client.
在可能的实现方式中,接收单元701还用于,接收客户端发送的数据写入请求以及应用插件服务端的识别信息,其中,数据写入请求携带有需要访问的云存储设备的识别信息、待写入数据、待写入数据在云存储设备的写入位置信息;In a possible implementation, the receiving unit 701 is also configured to receive the data write request sent by the client and the identification information of the application plug-in server, wherein the data write request carries the identification information of the cloud storage device to be accessed, the Write data and write location information of data to be written in the cloud storage device;
发送单元702还用于,根据应用插件服务端的识别信息转发数据写入请求至应用插件服务端。The sending unit 702 is further configured to forward the data writing request to the application plug-in server according to the identification information of the application plug-in server.
在可能的实现方式中,接收单元701还用于,接收应用插件服务端发送的数据写入请求响应,数据写入请求响应是应用插件服务端对数据写入请求中的待写入数据进行近数据处理并根据云存储设备的识别信息和写入位置信息将处理后的待写入数据写入至云存储设备后发出的;In a possible implementation, the receiving unit 701 is also configured to receive the data write request response sent by the application plug-in server, and the data write request response is that the application plug-in server closes the data to be written in the data write request. Issued after data processing and writing the processed data to be written to the cloud storage device according to the identification information and writing location information of the cloud storage device;
发送单元702还用于,将数据写入请求响应发送至客户端。The sending unit 702 is also configured to send the data writing request response to the client.
在可能的实现方式中,近数据处理包括数据压缩、数据解压缩、数据加密、数据解密、数据分析、数据处理中的任意一者。In a possible implementation manner, near-data processing includes any one of data compression, data decompression, data encryption, data decryption, data analysis, and data processing.
在可能的实现方式中,接收单元701还用于,接收客户端发送的HTTP报文,HTTP报文包括数据读取请求以及应用插件服务端的识别信息,或者,HTTP报文包括数据写入请求以及应用插件服务端的识别信息;发送单元702还用于,根据HTTP报文中的应用插件服务端的识别信息转发HTTP报文中的数据读取请求或数据写入请求至应用插件服务端;或,根 据应用插件服务端的识别信息转发HTTP报文至应用插件服务端。In a possible implementation, the receiving unit 701 is also configured to receive an HTTP message sent by the client, the HTTP message includes a data read request and the identification information of the application plug-in server, or the HTTP message includes a data write request and The identification information of the application plug-in server; the sending unit 702 is also used to forward the data read request or data write request in the HTTP message to the application plug-in server according to the identification information of the application plug-in server in the HTTP message; or, according to The identification information of the application plug-in server forwards the HTTP message to the application plug-in server.
在可能的实现方式中,应用插件服务端的识别信息为应用插件服务端的网络地址。In a possible implementation manner, the identification information of the application plug-in server is a network address of the application plug-in server.
在可能的实现方式中,云网关700还包括记录单元703,记录单元703用于记录应用插件服务端的网络地址与应用插件服务端的识别信息的对应关系;发送单元702还用于,根据应用插件服务端的识别信息从对应关系获取应用插件服务端的网络地址,根据应用插件服务端的网络地址转发数据读取请求或数据写入请求至应用插件服务端。In a possible implementation, the cloud gateway 700 further includes a recording unit 703, and the recording unit 703 is used to record the corresponding relationship between the network address of the application plug-in server and the identification information of the application plug-in server; the sending unit 702 is also used to, according to the application plug-in service The terminal identification information obtains the network address of the application plug-in server from the corresponding relationship, and forwards the data read request or data write request to the application plug-in server according to the network address of the application plug-in server.
在可能的实现方式中,云网关700、应用插件服务端以及云存储设备设置在一个云数据中心中,或设置在相互连接的多个云数据中心中,在云网关700、应用插件服务端以及云存储设备设置在相互连接的多个云数据中心中的情况下,云网关700、应用插件服务端以及云存储设备中的一者或任意组合设置在多个云数据中心的一个云数据中心中。In a possible implementation, the cloud gateway 700, the application plug-in server, and the cloud storage device are set in a cloud data center, or are set in multiple cloud data centers connected to each other, and the cloud gateway 700, the application plug-in server, and When the cloud storage device is set in multiple cloud data centers connected to each other, one or any combination of the cloud gateway 700, the application plug-in server and the cloud storage device is set in one cloud data center of the multiple cloud data centers .
在可能的实现方式中,客户端设置在云下,或设置在至少一个云数据中心中。In a possible implementation manner, the client is set under the cloud, or in at least one cloud data center.
在可能的实现方式中,应用插件服务端的识别信息是客户端从多个应用插件服务端的识别信息中选出。In a possible implementation manner, the identification information of the application plug-in server is selected by the client from identification information of multiple application plug-in servers.
在可能的实现方式中,接收单元701还用于接收客户端发送的数据读取请求,其中,数据读取请求携带有云存储设备的识别信息和待读取数据在云存储设备的读取位置信息,发送单元702还用于根据数据读取请求向云存储设备请求待读取数据,接收单元701还用于接收云存储设备返回的待读取数据,发送单元702还用于将待读取数据发送至客户端。In a possible implementation, the receiving unit 701 is also configured to receive a data read request sent by the client, where the data read request carries the identification information of the cloud storage device and the read location of the data to be read in the cloud storage device information, the sending unit 702 is also used to request the data to be read from the cloud storage device according to the data read request, the receiving unit 701 is also used to receive the data to be read returned by the cloud storage device, and the sending unit 702 is also used to send the data to be read Data is sent to the client.
在可能的实现方式中,接收单元701还用于接收客户端发送的数据写入请求,其中,数据写入请求携带有需要访问的云存储设备的识别信息、待写入数据、待写入数据在云存储设备的写入位置信息,发送单元702还用于将数据写入请求发送至云存储设备,接收单元701还用于接收云存储设备发送的数据写入请求响应,发送单元702还用于向客户端发送数据写入请求响应。In a possible implementation, the receiving unit 701 is also configured to receive a data write request sent by the client, where the data write request carries the identification information of the cloud storage device to be accessed, the data to be written, the data to be written In the write position information of the cloud storage device, the sending unit 702 is also used to send the data writing request to the cloud storage device, and the receiving unit 701 is also used to receive the data writing request response sent by the cloud storage device, and the sending unit 702 also uses Used to send a data write request response to the client.
图7中的各个功能单元用于实现图3或图5方法实施例的方法,具体可参见图3或图5方法实施例相关内容的描述,为了说明书的简洁,在此不再赘述。Each functional unit in FIG. 7 is used to implement the method in the method embodiment in FIG. 3 or FIG. 5 . For details, refer to the description of the method embodiment in FIG. 3 or 5 . For the sake of brevity, details are not repeated here.
参见图8,图8为本申请提供的云网关800的又一种结构示意图,云网关800可以由一般性的总线体系结构来实现,云网关800包括至少一个处理器801、通信总线802、存储器803以及至少一个通信接口804。Referring to FIG. 8, FIG. 8 is another structural schematic diagram of a cloud gateway 800 provided by the present application. The cloud gateway 800 can be implemented by a general bus architecture. The cloud gateway 800 includes at least one processor 801, a communication bus 802, and a memory 803 and at least one communication interface 804.
处理器801可以是一个通用CPU、NP、微处理器,或者也可以是一个或多个用于实现本申请方案的集成电路。例如,专用集成电路(application-specific integrated circuit,ASIC)、可编程逻辑器件(programmable logic device,PLD)或其组合。其中,PLD可以是复杂可编程逻辑器件(complex programmable logic device,CPLD)、现场可编程逻辑门阵列(field-programmable gate array,FPGA)、通用阵列逻辑(generic array logic,GAL)或其任意组合。The processor 801 may be a general-purpose CPU, NP, microprocessor, or one or more integrated circuits for implementing the solution of the present application. For example, application-specific integrated circuit (application-specific integrated circuit, ASIC), programmable logic device (programmable logic device, PLD) or a combination thereof. Wherein, the PLD may be a complex programmable logic device (complex programmable logic device, CPLD), a field-programmable gate array (field-programmable gate array, FPGA), a general array logic (generic array logic, GAL) or any combination thereof.
通信总线802用于在各个组件之间传送信息。通信总线802可以分为地址总线、数据总线、控制总线等。为便于表示,图8中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。 Communication bus 802 is used to transfer information between the various components. The communication bus 802 can be divided into an address bus, a data bus, a control bus, and the like. For ease of representation, only one thick line is used in FIG. 8 , but it does not mean that there is only one bus or one type of bus.
存储器803可以是只读存储器(read-only memory,ROM)或可存储静态信息和指令的其它类型的静态存储设备,也可以是随机存取存储器(random access memory,RAM)或者可存储信息和指令的其它类型的动态存储设备,也可以是电可擦可编程只读存储器(electrically erasable programmable read-only Memory,EEPROM)、只读光盘(compact disc  read-only memory,CD-ROM)或其它光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其它磁存储设备,也可以是能够用于携带或存储具有指令或数据结构形式的程序代码且能够由计算机存取的任何其它介质,但不限于此。存储器803可以是独立存在,并通过通信总线802与处理器801相连接;存储器803也可以和处理器801集成在一起。The memory 803 may be a read-only memory (read-only memory, ROM) or other types of static storage devices capable of storing static information and instructions, or may be a random access memory (random access memory, RAM) or capable of storing information and instructions Other types of dynamic storage devices can also be electrically erasable programmable read-only memory (EEPROM), compact disc read-only memory (CD-ROM) or other optical disc storage , optical disc storage (including compact discs, laser discs, optical discs, digital versatile discs, Blu-ray discs, etc.), magnetic disk storage media or other magnetic storage devices, can also be used to carry or store program codes in the form of instructions or data structures and Any other medium capable of being accessed by a computer, but not limited to. The memory 803 may exist independently and be connected to the processor 801 through the communication bus 802; the memory 803 may also be integrated with the processor 801.
通信接口804用于与其它设备或通信网络进行通信。通信接口804可以包括有线通信接口,还可以包括无线通信接口。其中,有线通信接口例如可以为以太网接口,以太网接口可以是光接口、电接口或其组合。无线通信接口可以为无线局域网(wireless local area networks,WLAN)接口、蜂窝网络通信接口或其组合等。The communication interface 804 is used to communicate with other devices or communication networks. The communication interface 804 may include a wired communication interface, and may also include a wireless communication interface. Wherein, the wired communication interface may be, for example, an Ethernet interface, and the Ethernet interface may be an optical interface, an electrical interface or a combination thereof. The wireless communication interface may be a wireless local area network (wireless local area networks, WLAN) interface, a cellular network communication interface, or a combination thereof.
在可能的实现中,作为一种实施例,处理器801可以包括一个或多个CPU,例如,图8中所示的CPU0和CPU1。In a possible implementation, as an embodiment, the processor 801 may include one or more CPUs, for example, CPU0 and CPU1 shown in FIG. 8 .
在可能的实现中,作为一种实施例,云网关800可以包括多个处理器,如图8中所示的处理器801和处理器805。这些处理器中的每一个可以是一个单核处理器(single-CPU),也可以是一个多核处理器(multi-CPU)。这里的处理器可以指一个或多个设备、电路、和/或用于处理数据(如计算机程序指令)的处理核。In a possible implementation, as an embodiment, the cloud gateway 800 may include multiple processors, such as a processor 801 and a processor 805 as shown in FIG. 8 . Each of these processors can be a single-core processor (single-CPU) or a multi-core processor (multi-CPU). A processor herein may refer to one or more devices, circuits, and/or processing cores for processing data such as computer program instructions.
云网关700中的每个功能单元通过云网关800中的软件实现。换句话说,云网关700中包括的功能单元是云网关800中的处理器读取存储器中存储的程序代码后生成的。在一些实施例中,存储器803用于存储本申请方案的程序代码810,处理器801用于执行存储器803中存储的程序代码810。也即是,云网关800可以通过处理器801以及存储器803中的程序代码810,来实现图3或图5方法实施例提供的方法。Each functional unit in the cloud gateway 700 is implemented by software in the cloud gateway 800 . In other words, the functional units included in the cloud gateway 700 are generated after the processor in the cloud gateway 800 reads the program code stored in the memory. In some embodiments, the memory 803 is used to store the program code 810 of the solution of the present application, and the processor 801 is used to execute the program code 810 stored in the memory 803 . That is, the cloud gateway 800 can implement the method provided by the method embodiment in FIG. 3 or FIG. 5 through the processor 801 and the program code 810 in the memory 803 .
该云网关800中的处理器801、通信接口804等可以实现上述各个方法实施例中的设备所具有的功能和/或所实施的各种步骤和方法,为了简洁,在此不再赘述。云网关700中的接收单元701、发送单元702可以位于云网关800中的通信接口804中;记录单元703可以位于云网关800中的处理器801或处理器805中,记录单元703记录的对应关系可以存储于云网关800中的存储器803中。The processor 801, the communication interface 804, etc. in the cloud gateway 800 can implement the functions and/or various steps and methods implemented by the devices in the above method embodiments, and for the sake of brevity, details are not repeated here. The receiving unit 701 and the sending unit 702 in the cloud gateway 700 can be located in the communication interface 804 in the cloud gateway 800; the recording unit 703 can be located in the processor 801 or the processor 805 in the cloud gateway 800, and the corresponding relationship recorded by the recording unit 703 It may be stored in the memory 803 in the cloud gateway 800 .
在一些可能的实施例中,上述云网关可以实现为虚拟化设备。In some possible embodiments, the above cloud gateway can be implemented as a virtualization device.
例如,虚拟化设备可以是运行有用于发送报文功能的程序的虚拟机(virtual machine,VM),虚拟机部署在硬件设备上,例如,硬件设备可以是物理服务器,硬件设备还可以是云存储设备。虚拟机指通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统,可以将虚拟机配置为网络设备。例如,可以基于通用的物理服务器结合网络功能虚拟化(network functions virtualization,NFV)技术来实现云网关。云网关为虚拟主机、虚拟路由器或虚拟交换机。本领域技术人员通过阅读本申请即可结合NFV技术在通用物理服务器上虚拟出具有上述功能的云网关,此处不再赘述。For example, the virtualization device can be a virtual machine (virtual machine, VM) running a program for sending messages, and the virtual machine is deployed on the hardware device. For example, the hardware device can be a physical server, and the hardware device can also be cloud storage. equipment. A virtual machine refers to a complete computer system that is simulated by software and has complete hardware system functions and runs in a completely isolated environment. The virtual machine can be configured as a network device. For example, the cloud gateway can be implemented based on a common physical server combined with a network functions virtualization (network functions virtualization, NFV) technology. The cloud gateway is a virtual host, virtual router or virtual switch. Those skilled in the art can virtualize a cloud gateway with the above-mentioned functions on a common physical server by combining NFV technology by reading this application, and details will not be repeated here.
虚拟化设备可以是容器,容器是一种用于提供隔离的虚拟化环境的实体。例如,容器可以是docker容器,可以将容器配置为云网关。比如,可以通过对应的镜像来创建出云网关,例如可以通过提供代理服务的容器proxy-container的镜像,为proxy-container创建容器proxy-container实例,将容器实例proxy-container提供为云网关。采用容器技术实现时,云网关可以利用物理机的内核运行,多个云网关可以共享物理机的操作系统。通过容器技术可以将不同的云网关隔离开来。容器化的云网关可以在虚拟化的环境中运行,例如可以在虚拟机中运行,容器化的云网关也可以直接在物理机中运行。The virtualization appliance may be a container, which is an entity used to provide an isolated virtualization environment. For example, the container can be a docker container, and the container can be configured as a cloud gateway. For example, a cloud gateway can be created through the corresponding image. For example, a container proxy-container instance can be created for the proxy-container through the image of the container proxy-container that provides proxy services, and the container instance proxy-container can be provided as a cloud gateway. When implemented with container technology, the cloud gateway can use the kernel of the physical machine to run, and multiple cloud gateways can share the operating system of the physical machine. Different cloud gateways can be isolated through container technology. A containerized cloud gateway can run in a virtualized environment, for example, a virtual machine, and a containerized cloud gateway can also run directly on a physical machine.
例如,虚拟化设备可以是Pod,Pod是Kubernetes(Kubernetes是谷歌开源的一种容器编 排引擎,简称为K8s)为部署、管理、编排容器化应用的基本单位,Pod可以包括一个或多个容器。同一个Pod中的每个容器通常部署在同一主机上,因此同一个Pod中的每个容器可以通过该主机进行通信,并且可以共享该主机的存储资源和网络资源。可以将Pod配置为云网关,例如,具体地,可以指令容器即服务(container as a service,CaaS,是一种基于容器的PaaS服务)来创建Pod,将Pod提供为云网关。For example, a virtualization device can be a Pod. A Pod is Kubernetes (Kubernetes is a container orchestration engine open sourced by Google, referred to as K8s for short). It is the basic unit for deploying, managing, and orchestrating containerized applications. A Pod can include one or more containers. Each container in the same Pod is usually deployed on the same host, so each container in the same Pod can communicate through the host, and can share the storage resources and network resources of the host. The Pod can be configured as a cloud gateway. For example, specifically, a container as a service (container as a service, CaaS, which is a container-based PaaS service) can be instructed to create a Pod, and the Pod can be provided as a cloud gateway.
当然,云网关还可以是其他虚拟化设备,在此不做一一列举。Of course, the cloud gateway can also be other virtualization devices, and they will not be listed here.
在一些可能的实施例中,上述云网关也可以由通用处理器来实现。例如,该通用处理器的形态可以是一种芯片。具体地,实现云网关的通用处理器包括处理电路和与该处理电路内部连接通信的输入接口以及输出接口,该处理电路用于通过输入接口执行上述各个方法实施例中信息或报文的生成步骤,该处理电路用于通过输入接口执行上述各个方法实施例中的接收步骤,该处理电路用于通过输出接口执行上述各个方法实施例中的发送步骤。可选地,该通用处理器还可以包括存储介质,该处理电路用于通过存储介质执行上述各个方法实施例中的存储步骤。存储介质可以存储处理电路执行的指令,该处理电路用于执行存储介质存储的指令以执行上述各个方法实施例。In some possible embodiments, the above cloud gateway may also be implemented by a general processor. For example, the general-purpose processor may be in the form of a chip. Specifically, the general-purpose processor implementing the cloud gateway includes a processing circuit, an input interface and an output interface connected and communicated with the processing circuit internally, and the processing circuit is used to execute the steps of generating information or messages in the above-mentioned various method embodiments through the input interface The processing circuit is configured to execute the receiving step in each of the above method embodiments through an input interface, and the processing circuit is configured to execute the sending step in each of the above method embodiments through an output interface. Optionally, the general processor may further include a storage medium, and the processing circuit is configured to execute the storage steps in the foregoing method embodiments through the storage medium. The storage medium may store instructions executed by the processing circuit, and the processing circuit is configured to execute the instructions stored in the storage medium to perform the various method embodiments described above.
本申请实施例提供了一种系统,系统包括云网关、应用插件服务端和云存储设备,其中,云网关可以是云网关700或云网关800,云网关、应用插件服务端和云存储设备可用于实现图3方法实施例所述的云存储设备的数据读取方法,也可用于实现图5方法实施例所述的云存储设备的数据写入方法。An embodiment of the present application provides a system, the system includes a cloud gateway, an application plug-in server and a cloud storage device, wherein the cloud gateway can be the cloud gateway 700 or cloud gateway 800, and the cloud gateway, the application plug-in server and the cloud storage device can be used The data reading method of the cloud storage device described in the method embodiment shown in FIG. 3 can also be used to realize the data writing method of the cloud storage device described in the method embodiment shown in FIG. 5 .
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。In the above-mentioned embodiments, the descriptions of each embodiment have their own emphases, and for parts not described in detail in a certain embodiment, reference may be made to relevant descriptions of other embodiments.
在上述实施例中,可以全部或部分地通过软件、硬件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品可以包含代码。当计算机程序产品被计算机读取并执行时,可以实现上述方法实施例中记载的方法的部分或者全部步骤。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如软盘、硬盘、磁带)、光介质、或者半导体介质等。In the above-mentioned embodiments, all or part may be implemented by software, hardware or any combination thereof. When implemented using software, it may be implemented in whole or in part in the form of a computer program product. The computer program product may comprise code. When the computer program product is read and executed by a computer, some or all steps of the methods described in the above method embodiments can be realized. The computer can be a general purpose computer, a special purpose computer, a computer network, or other programmable devices. The computer instructions may be stored in or transmitted from one computer-readable storage medium to another computer-readable storage medium, for example, the computer instructions may be transmitted from a website, computer, server or data center Transmission to another website site, computer, server, or data center by wired (eg, coaxial cable, optical fiber, DSL) or wireless (eg, infrared, wireless, microwave, etc.) means. The computer-readable storage medium may be any available medium that can be accessed by a computer, or a data storage device such as a server or a data center integrated with one or more available media. The available medium may be a magnetic medium (such as a floppy disk, a hard disk, or a magnetic tape), an optical medium, or a semiconductor medium.
本申请实施例方法中的步骤可以根据实际需要进行顺序调整、合并或删减;本申请实施例装置中的单元可以根据实际需要进行划分、合并或删减。The steps in the method of the embodiment of the present application can be adjusted in order, merged or deleted according to actual needs; the units in the device of the embodiment of the present application can be divided, combined or deleted according to actual needs.
以上对本申请实施例进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。The embodiments of the present application have been introduced in detail above, and specific examples have been used in this paper to illustrate the principles and implementation methods of the present application. The descriptions of the above embodiments are only used to help understand the methods and core ideas of the present application; meanwhile, for Those skilled in the art will have changes in specific implementation methods and application scopes based on the ideas of the present application. In summary, the contents of this specification should not be construed as limiting the present application.

Claims (18)

  1. 一种云存储设备的数据读取方法,其特征在于,云网关、应用插件服务端以及云存储设备设置于至少一个云数据中心中,客户端与所述云网关建立连接,所述方法包括:A data reading method of a cloud storage device, characterized in that the cloud gateway, the application plug-in server and the cloud storage device are arranged in at least one cloud data center, and the client establishes a connection with the cloud gateway, the method comprising:
    所述云网关接收所述客户端发送的数据读取请求以及所述应用插件服务端的识别信息,其中,所述数据读取请求携带有所述云存储设备的识别信息和待读取数据在所述云存储设备的读取位置信息,所述云存储设备存储有所述待读取数据,所述应用插件服务端用于进行近数据处理;The cloud gateway receives the data read request sent by the client and the identification information of the application plug-in server, wherein the data read request carries the identification information of the cloud storage device and the data to be read in the The reading location information of the cloud storage device, the cloud storage device stores the data to be read, and the application plug-in server is used for near data processing;
    所述云网关根据所述应用插件服务端的识别信息转发所述数据读取请求至所述应用插件服务端;The cloud gateway forwards the data read request to the application plug-in server according to the identification information of the application plug-in server;
    所述应用插件服务端根据所述数据读取请求携带的所述云存储设备的识别信息和所述读取位置信息从所述云存储设备读取所述待读取数据,对所述待读取数据进行近数据处理,并将处理后的待读取数据发送至所述云网关;The application plug-in server reads the data to be read from the cloud storage device according to the identification information of the cloud storage device carried in the data read request and the read location information, and Get data and carry out near-data processing, and send the processed data to be read to the cloud gateway;
    所述云网关将所述处理后的待读取数据发送至所述客户端。The cloud gateway sends the processed data to be read to the client.
  2. 根据权利要求1所述的方法,其特征在于,所述近数据处理包括数据压缩、数据解压缩、数据加密、数据解密、数据分析、数据处理中的任意一者。The method according to claim 1, wherein the near-data processing includes any one of data compression, data decompression, data encryption, data decryption, data analysis, and data processing.
  3. 根据权利要求1或2所述的方法,其特征在于,The method according to claim 1 or 2, characterized in that,
    所述云网关接收所述客户端发送的数据读取请求以及所述应用插件服务端的识别信息,包括:The cloud gateway receives the data reading request sent by the client and the identification information of the application plug-in server, including:
    所述云网关接收所述客户端发送的HTTP报文,所述HTTP报文包括所述数据读取请求以及所述应用插件服务端的识别信息;The cloud gateway receives the HTTP message sent by the client, the HTTP message includes the data read request and the identification information of the application plug-in server;
    所述云网关根据所述应用插件服务端的识别信息转发所述数据读取请求至所述应用插件服务端,包括:The cloud gateway forwards the data read request to the application plug-in server according to the identification information of the application plug-in server, including:
    所述云网关根据所述HTTP报文中的所述应用插件服务端的识别信息转发所述HTTP报文中的所述数据读取请求至所述应用插件服务端;或The cloud gateway forwards the data read request in the HTTP message to the application plug-in server according to the identification information of the application plug-in server in the HTTP message; or
    所述云网关根据所述应用插件服务端的识别信息转发所述HTTP报文至所述应用插件服务端。The cloud gateway forwards the HTTP message to the application plug-in server according to the identification information of the application plug-in server.
  4. 根据权利要求1至3任一项所述的方法,其特征在于,所述应用插件服务端的识别信息为所述应用插件服务端的网络地址。The method according to any one of claims 1 to 3, wherein the identification information of the application plug-in server is the network address of the application plug-in server.
  5. 根据权利要求1至3任一项所述的方法,其特征在于,所述云网关记录有所述应用插件服务端的网络地址与所述应用插件服务端的识别信息的对应关系,所述云网关根据所述应用插件服务端的识别信息转发所述数据读取请求至所述应用插件服务端,包括:The method according to any one of claims 1 to 3, wherein the cloud gateway records the corresponding relationship between the network address of the application plug-in server and the identification information of the application plug-in server, and the cloud gateway records according to The identification information of the application plug-in server forwards the data read request to the application plug-in server, including:
    所述云网关根据所述应用插件服务端的识别信息从所述对应关系获取所述应用插件服务端的网络地址,所述云网关根据所述应用插件服务端的网络地址转发所述数据读取请求至所述应用插件服务端。The cloud gateway obtains the network address of the application plug-in server from the corresponding relationship according to the identification information of the application plug-in server, and the cloud gateway forwards the data read request to the Described application plug-in server.
  6. 根据权利要求1至5任一项所述的方法,其特征在于,所述云网关、所述应用插件服务端以及所述云存储设备设置在一个云数据中心中,或设置在相互连接的多个云数据中心中,在所述云网关、所述应用插件服务端以及所述云存储设备设置在相互连接的多个云数据中心中的情况下,所述云网关、所述应用插件服务端以及所述云存储设备中的一者或任意组合设置在所述多个云数据中心的一个云数据中心中。The method according to any one of claims 1 to 5, wherein the cloud gateway, the application plug-in server, and the cloud storage device are set in a cloud data center, or set in multiple interconnected In a cloud data center, when the cloud gateway, the application plug-in server and the cloud storage device are arranged in multiple cloud data centers connected to each other, the cloud gateway, the application plug-in server And one or any combination of the cloud storage devices is set in one cloud data center of the plurality of cloud data centers.
  7. 根据权利要求1至6任一项所述的方法,其特征在于,所述客户端设置在云下,或设置在所述至少一个云数据中心中。The method according to any one of claims 1 to 6, wherein the client is set under the cloud, or in the at least one cloud data center.
  8. 根据权利要求1至7任一项所述的方法,其特征在于,所述应用插件服务端的识别信息是所述客户端从多个应用插件服务端的识别信息中选出。The method according to any one of claims 1 to 7, wherein the identification information of the application plug-in server is selected by the client from identification information of multiple application plug-in servers.
  9. 一种云存储设备的数据写入方法,其特征在于,云网关、应用插件服务端以及云存储设备设置于至少一个云数据中心,客户端与所述云网关建立连接,所述方法包括:A method for writing data into a cloud storage device, characterized in that the cloud gateway, the application plug-in server and the cloud storage device are set in at least one cloud data center, and the client establishes a connection with the cloud gateway, the method comprising:
    所述云网关接收所述客户端发送的数据写入请求以及应用插件服务端的识别信息,其中,所述数据写入请求携带有需要访问的云存储设备的识别信息、待写入数据、所述待写入数据在所述云存储设备的写入位置信息,所述应用插件服务端用于近数据处理;The cloud gateway receives the data write request sent by the client and the identification information of the application plug-in server, wherein the data write request carries the identification information of the cloud storage device to be accessed, the data to be written, the The writing position information of the data to be written in the cloud storage device, the application plug-in server is used for near data processing;
    所述云网关根据所述应用插件服务端的识别信息转发所述数据写入请求至所述应用插件服务端;The cloud gateway forwards the data writing request to the application plug-in server according to the identification information of the application plug-in server;
    所述应用插件服务端对所述数据写入请求携带的所述待写入数据进行近数据处理,并根据所述数据写入请求携带的所述云存储设备的识别信息和所述写入位置信息将处理后的待写入数据写入至所述云存储设备。The application plug-in server performs near data processing on the data to be written carried in the data write request, and according to the identification information of the cloud storage device carried in the data write request and the write location The information writes the processed data to be written to the cloud storage device.
  10. 根据权利要求9所述的方法,其特征在于,所述近数据处理包括数据压缩、数据解压缩、数据加密、数据解密、数据分析、数据计算中的任意一者。The method according to claim 9, wherein the near-data processing includes any one of data compression, data decompression, data encryption, data decryption, data analysis, and data calculation.
  11. 根据权利要求9或10所述的方法,其特征在于,The method according to claim 9 or 10, characterized in that,
    所述云网关接收所述客户端发送的数据写入请求以及所述应用插件服务端的识别信息,包括:所述云网关接收所述客户端发送的HTTP报文,所述HTTP报文包括所述数据写入请求以及所述应用插件服务端的识别信息;The cloud gateway receiving the data writing request sent by the client and the identification information of the application plug-in server includes: the cloud gateway receiving the HTTP message sent by the client, the HTTP message including the A data writing request and identification information of the application plug-in server;
    所述云网关根据所述应用插件服务端的识别信息转发数据写入请求至所述应用插件服务端,包括:所述云网关根据所述HTTP报文中的所述应用插件服务端的识别信息转发所述HTTP报文中的所述数据写入请求至所述应用插件服务端;或所述云网关根据所述应用插件服务端的识别信息转发所述HTTP报文至所述应用插件服务端。The cloud gateway forwarding the data write request to the application plug-in server according to the identification information of the application plug-in server includes: forwarding the data write request by the cloud gateway according to the identification information of the application plug-in server in the HTTP message The data writing request in the HTTP message is sent to the application plug-in server; or the cloud gateway forwards the HTTP message to the application plug-in server according to the identification information of the application plug-in server.
  12. 根据权利要求9至11任一项所述的方法,其特征在于,所述应用插件服务端的识别信息为所述应用插件服务端的网络地址。The method according to any one of claims 9 to 11, wherein the identification information of the application plug-in server is the network address of the application plug-in server.
  13. 根据权利要求9至11任一项所述的方法,其特征在于,所述云网关记录有所述应用插件服务端的网络地址与所述应用插件服务端的识别信息的对应关系,所述云网关根据所述应用插件服务端的识别信息转发数据写入请求至所述应用插件服务端,包括:The method according to any one of claims 9 to 11, wherein the cloud gateway records the corresponding relationship between the network address of the application plug-in server and the identification information of the application plug-in server, and the cloud gateway records according to The identification information of the application plug-in server forwards the data writing request to the application plug-in server, including:
    所述云网关根据所述应用插件服务端的识别信息从所述对应关系获取所述应用插件服务端的网络地址,所述云网关根据所述应用插件服务端的网络地址转发所述数据写入请求至所述应用插件服务端。The cloud gateway obtains the network address of the application plug-in server from the corresponding relationship according to the identification information of the application plug-in server, and the cloud gateway forwards the data write request to the Described application plug-in server.
  14. 根据权利要求9至13任一项所述的方法,其特征在于,所述云网关、所述应用插件服务端以及所述云存储设备设置在一个云数据中心中,或设置在相互连接的多个云数据中心中,在所述云网关、所述应用插件服务端以及所述云存储设备设置在相互连接的多个云数据中心中的情况下,所述云网关、所述应用插件服务端以及所述云存储设备中的一者或任意组合设置在所述多个云数据中心的一个云数据中心中。The method according to any one of claims 9 to 13, characterized in that, the cloud gateway, the application plug-in server and the cloud storage device are set in a cloud data center, or in multiple interconnected In a cloud data center, when the cloud gateway, the application plug-in server and the cloud storage device are arranged in multiple cloud data centers connected to each other, the cloud gateway, the application plug-in server And one or any combination of the cloud storage devices is set in one cloud data center of the plurality of cloud data centers.
  15. 根据权利要求9至14任一项所述的方法,其特征在于,所述客户端设置在云下,或设置在所述至少一个云数据中心中。The method according to any one of claims 9 to 14, wherein the client is set under the cloud, or in the at least one cloud data center.
  16. 根据权利要求9至15任一项所述的方法,其特征在于,所述应用插件服务端的识别信息是所述客户端从多个应用插件服务端的识别信息中选出。The method according to any one of claims 9 to 15, wherein the identification information of the application plug-in server is selected by the client from identification information of multiple application plug-in servers.
  17. 一种云存储设备的数据读取系统,其特征在于,包括云网关、应用插件服务端和云存储设备,所述云网关、所述应用插件服务端和所述云存储设备用于执行如权利要求1至8任 一项所述的方法。A data reading system for a cloud storage device, characterized in that it includes a cloud gateway, an application plug-in server and a cloud storage device, the cloud gateway, the application plug-in server and the cloud storage device are used to execute The method described in any one of 1 to 8 is required.
  18. 一种云存储设备的数据写入系统,其特征在于,包括云网关、应用插件服务端和云存储设备,所述云网关、所述应用插件服务端和所述云存储设备用于执行如权利要求9至16任一项所述的方法。A data writing system for a cloud storage device, characterized in that it includes a cloud gateway, an application plug-in server and a cloud storage device, and the cloud gateway, the application plug-in server and the cloud storage device are used to execute The method described in any one of 9 to 16 is required.
PCT/CN2022/139611 2022-01-14 2022-12-16 Method and system for reading data from cloud storage device and writing data thereinto WO2023134392A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202210039832.9A CN116483252A (en) 2022-01-14 2022-01-14 Data reading and writing method and system of cloud storage device
CN202210039832.9 2022-01-14

Publications (1)

Publication Number Publication Date
WO2023134392A1 true WO2023134392A1 (en) 2023-07-20

Family

ID=87225498

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2022/139611 WO2023134392A1 (en) 2022-01-14 2022-12-16 Method and system for reading data from cloud storage device and writing data thereinto

Country Status (2)

Country Link
CN (1) CN116483252A (en)
WO (1) WO2023134392A1 (en)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102055730A (en) * 2009-11-02 2011-05-11 华为终端有限公司 Cloud processing system, cloud processing method and cloud computing agent device
CN105868304A (en) * 2016-03-24 2016-08-17 金蝶软件(中国)有限公司 A file processing method, device and system
US20160269371A1 (en) * 2015-03-12 2016-09-15 Vormetric, Inc. Secure and control data migrating between enterprise and cloud services
CN106856467A (en) * 2015-12-08 2017-06-16 中国科学院声学研究所 A kind of TSM Security Agent device for being deployed in cloud storage client and TSM Security Agent method
WO2018231519A1 (en) * 2017-06-12 2018-12-20 Secturion Systems, Inc. Cloud storage using encryption gateway with certificate authority identification
CN113382029A (en) * 2020-03-10 2021-09-10 阿里巴巴集团控股有限公司 File data processing method and device

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102055730A (en) * 2009-11-02 2011-05-11 华为终端有限公司 Cloud processing system, cloud processing method and cloud computing agent device
US20160269371A1 (en) * 2015-03-12 2016-09-15 Vormetric, Inc. Secure and control data migrating between enterprise and cloud services
CN106856467A (en) * 2015-12-08 2017-06-16 中国科学院声学研究所 A kind of TSM Security Agent device for being deployed in cloud storage client and TSM Security Agent method
CN105868304A (en) * 2016-03-24 2016-08-17 金蝶软件(中国)有限公司 A file processing method, device and system
WO2018231519A1 (en) * 2017-06-12 2018-12-20 Secturion Systems, Inc. Cloud storage using encryption gateway with certificate authority identification
CN113382029A (en) * 2020-03-10 2021-09-10 阿里巴巴集团控股有限公司 File data processing method and device

Also Published As

Publication number Publication date
CN116483252A (en) 2023-07-25

Similar Documents

Publication Publication Date Title
US11372802B2 (en) Virtual RDMA switching for containerized applications
US9342448B2 (en) Local direct storage class memory access
US9588807B2 (en) Live logical partition migration with stateful offload connections using context extraction and insertion
US20130086582A1 (en) Network Adapter Hardware State Migration Discovery in a Stateful Environment
US8694685B2 (en) Migrating virtual machines with adaptive compression
US10248607B1 (en) Dynamic interface port assignment for communication transaction
WO2020220536A1 (en) Data backup method and device, and computer readable storage medium
US10664415B2 (en) Quality of service enforcement and data security for containers accessing storage
CN109857545B (en) Data transmission method and device
US20230152978A1 (en) Data Access Method and Related Device
JP6788691B2 (en) Improved throughput in OpenFabrics
CN109417507B (en) Method and system for accessing memory through partial Direct Memory Access (DMA)
WO2022143717A1 (en) Method, apparatus, and system for migrating virtual machine
WO2018107433A1 (en) Information processing method and device
US20220012110A1 (en) Networking-related system call interception and modification
US20240126847A1 (en) Authentication method and apparatus, and storage system
WO2023134392A1 (en) Method and system for reading data from cloud storage device and writing data thereinto
CN112491794A (en) Port forwarding method, device and related equipment
WO2023065809A1 (en) Configuration method and apparatus, reading method and apparatus, and writing method and apparatus for cdn network element containers, device, and storage medium
US11929926B2 (en) Traffic service threads for large pools of network addresses
US20170364293A1 (en) Method and apparatus for data processing
US10938904B2 (en) Multi-processor/endpoint data splitting system
US10938875B2 (en) Multi-processor/endpoint data duplicating system
WO2015123986A1 (en) Data recording method and system, and access server
WO2022222553A1 (en) Inter-container communication method and related product

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: 22920023

Country of ref document: EP

Kind code of ref document: A1