WO2015027506A1 - 存储系统中操作请求处理方法和装置 - Google Patents

存储系统中操作请求处理方法和装置 Download PDF

Info

Publication number
WO2015027506A1
WO2015027506A1 PCT/CN2013/082755 CN2013082755W WO2015027506A1 WO 2015027506 A1 WO2015027506 A1 WO 2015027506A1 CN 2013082755 W CN2013082755 W CN 2013082755W WO 2015027506 A1 WO2015027506 A1 WO 2015027506A1
Authority
WO
WIPO (PCT)
Prior art keywords
switch
controller
storage device
storage
request
Prior art date
Application number
PCT/CN2013/082755
Other languages
English (en)
French (fr)
Inventor
龚皓
Original Assignee
华为技术有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority to KR1020177031457A priority Critical patent/KR101816627B1/ko
Priority to CA2922204A priority patent/CA2922204C/en
Priority to EP13883349.6A priority patent/EP2858329B1/en
Priority to KR1020167007130A priority patent/KR101864813B1/ko
Priority to CN201380001099.0A priority patent/CN104823428B/zh
Priority to AU2013398869A priority patent/AU2013398869B2/en
Application filed by 华为技术有限公司 filed Critical 华为技术有限公司
Priority to RU2016111127A priority patent/RU2630377C1/ru
Priority to JP2016537070A priority patent/JP6275850B2/ja
Priority to PCT/CN2013/082755 priority patent/WO2015027506A1/zh
Priority to US14/583,456 priority patent/US10009269B2/en
Publication of WO2015027506A1 publication Critical patent/WO2015027506A1/zh
Priority to US15/871,317 priority patent/US10218618B2/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • H04L45/745Address table lookup; Address filtering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/70Routing based on monitoring results
    • 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]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4641Virtual LANs, VLANs, e.g. virtual private networks [VPN]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/64Routing or path finding of packets in data switching networks using an overlay routing layer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/40Support for services or applications

Definitions

  • the present invention relates to the field of information technology, and in particular, to an operation request processing method and apparatus in a storage system.
  • the metadata server is used to manage the operation request to the storage system and record the metadata of the storage system.
  • users access the storage system, they first need to communicate with the metadata server to obtain the metadata needed for the operation request.
  • the storage system is based on the global distributed load balancing scheme, and the load balancing of the storage system is implemented according to information exchange between the storage devices.
  • information exchange between the storage devices is inconvenient.
  • an embodiment of the present invention provides an operation request processing method and apparatus in a storage system, and a non-transitory computer readable storage medium, and a method and a device for generating a flow entry forwarding rule And a non-transitory computer readable storage medium.
  • an embodiment of the present invention provides a method for processing an operation request in a storage system, where the storage system includes: a controller, a switch, and a storage device that communicates with the switch, where the controller communicates with the switch, The controller is configured to formulate and deliver a flow table of the switch; the method includes:
  • the switch queries the flow table of the switch according to the request identifier, and obtains a flow entry that matches the operation request;
  • the switch forwards the operation request to the target storage device in the storage device according to the forwarding rule of the matched flow entry.
  • the request identifier is user group information
  • the virtual local area network identifier bit of the operation request carries the user group information
  • the matched stream The virtual local area network identifier bit of the header field of the entry carries the user group information;
  • the Internet Protocol service type bit of the operation request carries the storage policy information
  • the Internet Protocol service type bit of the header field of the matched flow entry carries the storage policy information
  • the virtual local area network identifier bit of the operation request carries the user group information
  • the Internet Protocol service type bit of the operation request carries the storage policy information
  • the virtual local area network identifier bit of the header field of the matched flow entry carries the user group information
  • the Internet Protocol service type bit of the header field carries the storage policy information.
  • the forwarding rule of the matched flow entry is determined by the controller according to the stored data. Storage device traffic load is set.
  • the method further includes: the switch updating, by the switch, the number of times that the read flow request is forwarded to the target storage device.
  • the matching flow entry is forwarded.
  • the forwarding rule is formulated by the controller according to the remaining storage space of the storage device.
  • the method further includes:
  • the embodiment of the present invention provides a method for generating a flow entry forwarding rule, including: the method is applied to a storage system, where the storage system includes: a controller, a switch, and a storage device that communicates with the switch And the controller is configured to communicate with the switch, where the controller is used to formulate and deliver a flow table of the switch; the method includes:
  • the controller acquires remaining storage space information of the storage device in communication with the switch;
  • the controller generates a forwarding rule that matches the write request based on the remaining storage space information of the storage device, the write request for writing data to a storage device in communication with the switch.
  • the controller acquires the remaining storage space information of the storage device that is in communication with the switch, and specifically includes:
  • the controller receives remaining storage space information reported by the storage device.
  • the controller acquires the remaining storage space information of the storage device that is in communication with the switch, and specifically includes:
  • the controller calculates, according to the storage space of the storage device, the number of write requests, and the size of the write data, the remaining storage space of the storage device.
  • the embodiment of the present invention provides a method for generating a flow entry forwarding rule, including: the method is applied to a storage system, where the storage system includes: a controller, a switch, and a storage device that communicates with the switch And the controller is configured to communicate with the switch, where the controller is used to formulate and deliver a flow table of the switch; the method includes:
  • the controller acquires traffic load information of the storage device storing the requested data; the controller generates a forwarding rule that matches the read request according to the traffic load information of the storage device storing the requested data.
  • the controller acquires The traffic load information of the storage device storing the requested data specifically includes: the controller receiving the traffic load information reported by the storage device storing the requested data.
  • the controller where the controller obtains the traffic load information of the storage device that stores the requested data, specifically includes:
  • the controller And acquiring, by the controller, the number of times that the flow entry record in the switch flow table forwards the operation request to the storage device that stores the requested data; wherein the operation request includes a write request and a read request.
  • an embodiment of the present invention provides a switch, where the switch is applied to a storage system, where the storage system includes: a controller, the switch, and a storage device that communicates with the switch, where the controller Communicating with the switch, the controller is used to formulate and deliver a flow table of the switch; the switch includes:
  • a receiving unit configured to receive an operation request, where the operation request carries a request identifier, where the request identifier includes at least one of user group information and storage policy information
  • a query unit configured to query the switch according to the request identifier a flow table, obtaining a flow entry that matches the operation request
  • a forwarding unit configured to forward the operation request to the target storage device in the storage device according to the forwarding rule of the matched flow entry.
  • the forwarding rule of the matched flow entry is a storage device that is stored by the controller according to the requested data.
  • the traffic load is formulated.
  • the forwarding forwarding rule of the matched flow entry is stored by the controller according to the remaining storage device. Space-developed.
  • an embodiment of the present invention provides a controller, where the controller is applied to a storage system, where the storage system includes: the controller, the switch, and the a storage device that communicates with the switch, the controller is in communication with the switch, and the controller is used to formulate and deliver a flow table of the switch; the controller includes:
  • An obtaining unit configured to acquire remaining storage space information of the storage device that communicates with the switch
  • a generating unit configured to generate, according to the remaining storage space information of the storage device, a forwarding rule that matches a write request, where the write request is used to write data to a storage device that communicates with the switch.
  • the acquiring unit is specifically configured to: receive remaining storage space information reported by the storage device.
  • the acquiring unit is specifically configured to: obtain, by the flow table entry in the switch flow table, the number of write requests and the size of the write data to the storage device. ;
  • the controller calculates a remaining storage space of the storage device according to a storage space of the storage device, the number of write requests, and a size of a write data.
  • an embodiment of the present invention provides a controller, where the controller is applied to a storage system, where the storage system includes: the controller, a switch, and a storage device that communicates with the switch, The controller is configured to communicate with the switch, where the controller is used to formulate and deliver a flow table of the switch; the controller includes:
  • an obtaining unit configured to acquire traffic load information of the storage device that stores the requested data
  • a generating unit configured to generate, according to the traffic load information of the storage device that stores the requested data, a forwarding rule that matches the read request.
  • the acquiring unit is configured to: receive the traffic load information reported by the storage device that stores the requested data.
  • the acquiring unit is specifically configured to: acquire, by the flow entry record in the switch flow table, the number of times the operation request is forwarded to the storage device that stores the requested data Wherein the operation request includes a write request And read the request.
  • an embodiment of the present invention provides a switch, where the switch is applied to a storage system, where the storage system includes: a controller, the switch, and a storage device that communicates with the switch, where the controller and the controller The switch communicates, the controller is used to formulate and deliver a flow table of the switch; the switch includes a central processor and a memory, the central processor and the memory are connected by a bus, and the memory is used to store a computer And the central processor executes the computer instructions stored in the memory to implement the first aspect of the present invention or any of the first to fourth embodiments of the first aspect.
  • an embodiment of the present invention provides a controller, where the controller is applied to a storage system, where the storage system includes: the controller, a switch, and a storage device that communicates with the switch, where the controller Communicating with the switch, the controller is used to formulate and deliver a flow table of the switch; the controller includes a central processor and a memory, and the central processor and the memory are connected by a bus, and the memory is used by And storing the computer instructions, the central processor executing the computer instructions stored in the memory to implement the second aspect, the first or second possible implementation manner of the second aspect of the present invention.
  • a ninth aspect, the embodiment of the present invention provides a controller, where the controller is applied to a storage system, where the storage system includes: the controller, a switch, and a storage device that communicates with the switch, the controller Communicating with the switch, the controller is used to formulate and deliver a flow table of the switch; the controller includes a central processor and a memory, and the central processor and the memory are connected by a bus, and the memory is used by In the storage of computer instructions, the central processor executes the computer instructions stored in the memory to implement the first or second possible implementation manner of the third aspect, the third aspect of the present invention.
  • an embodiment of the present invention provides a non-transitory computer readable storage medium, where the computer storage medium stores computer instructions for implementing the first aspect or the first aspect of the present invention when the computer executes the computer instructions.
  • the computer storage medium stores computer instructions for implementing the first aspect or the first aspect of the present invention when the computer executes the computer instructions.
  • an embodiment of the present invention provides a non-transitory computer readable storage medium, where the computer storage medium stores computer instructions, and when the computer executes the computer instructions, is used to implement the second aspect of the present invention.
  • an embodiment of the present invention provides a non-transitory computer readable storage medium, where the computer storage medium stores computer instructions, and when the computer executes the computer instructions, is used to implement the third aspect of the present invention.
  • the computer storage medium stores computer instructions, and when the computer executes the computer instructions, is used to implement the third aspect of the present invention.
  • the switch receives the operation request, and the operation request carries the request identifier.
  • the switch searches the flow table of the switch according to the request identifier, and obtains a flow entry that matches the operation request, and the switch forwards the flow entry according to the matching flow entry.
  • the rule forwards the operation request to the target storage device in the storage device, and utilizes the characteristics of the software-defined network (Sof tware Def ined Network) to process the operation request according to the forwarding rule of the switch flow entry, thereby implementing load balancing of the storage device and reducing storage.
  • Information interaction between devices. DRAWINGS software-defined network
  • FIG. 1 is a schematic diagram of a method according to an embodiment of the present invention.
  • FIG. 2 is a schematic diagram of an object storage system according to an embodiment of the present invention.
  • Figure 3 is a software-defined network system diagram based on the OpenFlow protocol
  • Figure 4 is a flow table in the switch in the software-defined network
  • Figure 5 is a schematic diagram showing the structure of a flow entry in a flow table
  • FIG. 6 is a schematic structural diagram of a header field of a flow entry
  • FIG. 7 is a schematic diagram of an object operation request processing method of an object storage system according to an embodiment of the present invention.
  • FIG. 8 is a schematic diagram of a method for generating a flow entry forwarding rule by a controller according to an embodiment of the present invention
  • FIG. 9 is a schematic diagram of a method for generating a flow entry forwarding rule by a controller according to an embodiment of the present invention
  • FIG. 8 is a schematic diagram of a method for generating a flow entry forwarding rule by a controller according to an embodiment of the present invention
  • FIG. 9 is a schematic diagram of a method for generating a flow entry forwarding rule by a controller according to an embodiment of the present invention
  • Figure 11 is a schematic diagram of the controller.
  • the embodiment of the present invention is applied to a storage system, where the storage system includes: a controller, a switch, and a storage device that communicates with the switch, where the controller communicates with the switch, and the controller is used to formulate and deliver the switch.
  • Flow table The storage system can be a file-level storage system, a block-level storage system, or an object storage system.
  • the storage system can also include at least two of a file-level storage system, a block-level storage system, and an object storage system.
  • the operation request processing method in the storage system provided by the embodiment of the present invention is as follows:
  • the switch receives an operation request, where the operation request carries a request identifier, where the request identifier includes at least one of user group information and storage policy information;
  • the switch queries the flow table of the switch according to the request identifier, and obtains a flow entry that matches the operation request;
  • the switch forwards the operation request to a target storage device in the storage device according to the forwarding rule of the matched flow entry.
  • the virtual local area network identifier of the operation request carries the user group information
  • the matched flow entry when the request identifier is the storage policy information, the Internet Protocol service type bit of the operation request carries the storage policy information, and the Internet Protocol service type bit of the header field of the matched flow entry carries the storage policy information ; or
  • the virtual local area network identifier bit of the operation request carries the user group information
  • the Internet Protocol service type bit of the operation request carries the storage policy information
  • the virtual local area network identifier bit of the header field of the matched flow entry carries the user group information
  • the Internet Protocol service type bit of the header field carries the storage policy information.
  • the forwarding rule of the matched flow entry is determined by the controller according to a storage device traffic load storing the requested data.
  • the method further includes: the switch updating the number of times the read request is forwarded to the target storage device recorded in the matched flow entry.
  • the forwarding and forwarding rules of the matched flow entry are determined by the controller according to the remaining storage space of the storage device.
  • the method further includes: the switch updating the number of times the write request is forwarded to the target storage device recorded in the matched flow entry.
  • the request identifier includes at least one of the user group information and the storage policy information, where the user group information may be the IP address information of the client, or the address information of the client, and the storage policy information may be the requested data.
  • the user group information may be the IP address information of the client, or the address information of the client, and the storage policy information may be the requested data.
  • the processing method for the operation request in the storage system uses the characteristics of the software to define the network, processes the operation request according to the forwarding rule of the switch flow entry, implements load balancing of the storage device, and reduces information between the storage devices. Interaction.
  • the object storage system is the basic unit of data storage, one object includes the data of the file and the metadata of the file, and the operation request is an object operation request, including the object read request and the object write request.
  • the read request that is, the data requested by the object read request is an object
  • the data written by the object write request is an object.
  • the storage device is an object storage device. In the embodiment of the present invention, as shown in FIG.
  • the object storage system includes a metadata server 103, a controller 104, switches 1051 to 105m, and storage devices 1061, 1062, 1063 to 106L, in the object storage system, that is, object storage.
  • L is an integer, which indicates the number of storage devices. The specific value is not limited.
  • the metadata server 103 is configured to store request identifiers of data stored in the object storage devices 1061, 1062, 1063 to 106L, here, request identifiers for storing objects stored in the object storage devices 1061, 1062, 1063 to 106L, The request identifier, which will be described later in detail; the object storage devices 1061, 1062, 1063 to 106L for storing data, in the object storage system, that is, for storing objects; the switches 1051 to 105m and the controller 104 constitute a software-defined network, The switches 1051 to 105m communicate with the object storage devices 1061, 1062, 1063 to 106L; the switches 1051 to 105m are configured to forward the operation request to the object storage devices 1061, 1062, 1063 to 106L according to the forwarding rules of the flow entry in the flow table, In the object storage system, that is, the object operation request; the controller 104 is configured to formulate and update the flow entry in the flow table of the switches 1051 to 105m.
  • the controller 104 is shown.
  • the controller is not limited to only one, and may be configured by multiple controllers to implement load balancing and redundancy.
  • the client 1011 to 101n shown in FIG. 2 in an implementation manner, sends an object operation request by the object storage system agent 102, and accesses the object storage devices 1061, 1062, 1063 to 106L, where n is an integer, indicating the number of clients, The specific value is not limited.
  • the object storage system agent 102 may be an independent physical server, or may be integrated into the clients 1011 to 101n, which is not limited by the present invention.
  • the controllers communicate with switches 1051 through 105m over a secure channel.
  • the controller 104 and the switches 1051 to 105m can communicate through the Openflow protocol, and the controller formulates and updates the flow entry of the flow table stored in the switches 1051 to 105m.
  • the controller 104 and the switch 1051 are used.
  • the Openflow protocol is merely an exemplary description, and the invention is also applicable to other protocols implemented in a software-defined network. Taking the switch 1051 and the controller 104 as an example, as shown in FIG. 3, the controller 104 formulates and updates a flow entry of the flow table in the switch 1051.
  • the switch 1051 After the switch 1051 receives the object operation request, the object operation request is parsed at the switch 1051. A flow table entry matching the operation request of the object is queried in the flow table, and the object operation request is processed according to a forwarding rule of the matched flow entry.
  • the flow table is composed of a flow entry 1, a flow entry 2, and a flow entry R, where R is a natural number.
  • the switch 1051 receives the object operation request, and queries the flow entry of the flow table. The flow entry of the flow table is usually queried by the pipeline. If the flow entry matching the object operation request is queried, according to the The forwarding rules of the matched flow entry are processed.
  • the specific structure is as shown in FIG. 5, and includes a packet header field, a counter, and a forwarding rule.
  • the header field is used for matching the object operation request; the counter is used to count the number of times the flow table item processes the object operation request; the forwarding rule is used to determine the forwarding method of the object operation request, for example, how to forward the object operation request, and decide to Which port forwards the operation request, etc.
  • the packet header field includes an input port, a media access control (MAC) source address, a MAC destination address, an Ethernet type, and a virtual local area network identification (VLAN ID).
  • MAC media access control
  • VLAN ID virtual local area network identification
  • the object operation request in the embodiment of the present invention may encapsulate the request identifier, where the request identifier includes at least one of user group information and storage policy information. Such as the user group letter
  • the information is encapsulated in the object operation request.
  • the user group information may be encapsulated in the VLAN ID bit of the object operation request
  • the storage policy information is encapsulated in the IP ToS bit of the object operation request
  • the encapsulation of the request identifier may be represented by the object storage system. 102 completed.
  • the switch 1051 After receiving the object operation request, the switch 1051 queries the flow table entry in the flow table of the switch 1051 that matches the object operation request.
  • the object operation request is processed according to the forwarding rule of the matched matching flow entry.
  • the counter After forwarding the object operation request according to the forwarding rule, the counter updates the number of object operation request forwarding times of the flow entry.
  • the object operation request is forwarded to the controller 104, and the controller 104 formulates a forwarding rule for the object operation request, generates a flow entry, and updates the flow table on the switch 1051.
  • the embodiment of the present invention provides an object operation request processing method of the object storage system in the system architecture shown in FIG. 2, as shown in FIG. 7, including:
  • Step 701 The switch receives an object operation request, where the object operation request carries a request identifier, where the request identifier includes at least one of user group information and storage policy information.
  • Step 702 The switch queries the flow table of the switch according to the request identifier, and obtains a flow entry that matches the operation request.
  • Step 703 The switch forwards the object operation request to the target object storage device in the object storage device according to the forwarding rule of the matched flow entry.
  • the virtual local area network identifier of the object operation request carries the user group information, and the matched flow entry
  • the virtual local area network identifier bit of the header field carries the user group information
  • the Internet Protocol service type bit of the object operation request carries the storage policy information
  • the Internet Protocol service type bit of the header field of the matched flow entry carries the storage policy Information
  • the object operation when the request identifier is user group information and storage policy information
  • the requested virtual area network identifier carries the user group information
  • the Internet Protocol service type bit of the object operation request carries the storage policy information
  • the virtual local area network identifier of the header field of the matched flow entry carries The user group information
  • the Internet Protocol service type of the header field is the storage policy information.
  • the object operation request carrying the request identifier is forwarded to the corresponding object storage device through the switch in the software-defined network, and the controller formulates the forwarding rule in the switch flow entry, and the switch according to the flow
  • the forwarding rule in the entry forwards the object read request, implements load balancing of the object storage device, and reduces information interaction between the object storage devices.
  • the forwarding rule of the matched flow entry is determined by the controller.
  • the object storage device that stores the requested object is traffic-loaded.
  • the switch After the switch forwards the object operation request to the target object storage device in the object storage device according to the forwarding rule of the matched flow entry, the switch further includes: the switch updating the record in the matched flow entry The number of times an object read request is forwarded to the object target storage device. The details will be described next.
  • the client 101 sends a read request.
  • the object storage system agent 102 receives the read request sent by the client 101, and according to the read request, accesses the metadata server 103 to acquire the request identifier of the requested object.
  • the request identifier includes at least one of user group information and storage policy information.
  • the request identifier is configured to store at least one of user group information and storage policy information carried by the object write request to the metadata server 103 after the object is written to the object storage device, and the request identifier stored by the metadata server 103 is determined by The content storage device that stores the write object determines the content of the request identifier of the object registered with the metadata server 103.
  • the query metadata server 103 obtains the request identifier of the object.
  • the user group information may be written to the object storage system.
  • the IP address information of the client of the object, or other information that can identify the client that writes the object to the object storage system; the storage policy information can be the number of copies of the requested object in the object storage device.
  • the request identifier of the object is sent to the metadata server 103.
  • the request identifier includes the user group information and the storage policy, where the user group information is the client IP address information of the requested object, and the storage policy information is the number of copies of the requested object.
  • the object storage system agent 102 encapsulates the request identifier obtained from the metadata server 103, and generates an object read request.
  • the specific format of the object read request is as shown in FIG. 6.
  • the user group information is encapsulated into the object.
  • the VLAN ID bit of the read operation request encapsulates the storage policy information into the IP ToS bit of the object read operation request.
  • the object storage system agent 102 sends an object read request to the switch 1051.
  • the switch 1051 receives the object read request sent by the storage system agent 102, parses out the VLAN ID bit and the ToS bit information of the object read request, and obtains the user group information and the storage policy information respectively.
  • the flow entry of the flow table is queried according to the parsed user group information and the storage policy information.
  • the user group information parsed by the VLAN ID bit of the object read request and the storage policy information parsed from the IP ToS bit of the object read request are respectively matched with the header field of the flow entry, and the matching flow entry is found. Then, forwarding is performed according to the forwarding rule of the matched flow entry.
  • the forwarding rule of the flow entry is determined by the controller 104 according to the object storage device traffic load storing the requested object, that is, the target object is selected according to the traffic load of the target storage device where the requested object is located.
  • Storage device For example, in the flow table shown in FIG. 4, the flow entry 3 is a flow entry matching the object read request, and the flow entry 3 is structured as shown in FIG. 5, and the VLAN ID of the header field is The information matches the information in the object read request VLAN ID, and the information in the IP ToS bit in the header field matches the information in the object read request IP ToS bit.
  • the forwarding rule in the flow entry 3 is generated by the controller 104 according to the traffic load of the object storage device storing the requested object.
  • object storage devices 1061, 1062, and 1063 are object storage devices that store 3 copies of the requested object.
  • the controller 104 determines that the object storage device 1061 is the object storage device with the smallest traffic load according to the traffic load of the object storage devices 1061, 1062, and 1063, and the forwarding rule is to forward the object read request to the object storage device 1061.
  • the controller 104 formulates a forwarding rule according to the traffic load of the object storage devices 1061, 1062, and 1063.
  • the switch 1051 periodically reports the number of times the object operation request is forwarded in each flow entry in the flow table to the controller 104, or The controller 104 periodically obtains the number of times the object operation request is forwarded in each flow entry in the flow table from the switch 1051, or the object storage devices 1061, 1062, and 1063 report the traffic load to the controller to update the forwarding of the flow entry.
  • Rules where the object operation request includes an object read request and an object write request.
  • the controller 104 formulates or updates a forwarding rule of the flow entry according to the number of times of forwarding of the counter record of the flow entry that forwards the object operation request to the object storage devices 1061, 1062, and 1063, for example, the forwarding rule is to store the object.
  • the device 1061 forwards the flow operation request of the object operation request to the object storage device 1062.
  • the total number of the flow operation entries of the flow table entry counter is 5,000 times.
  • the forwarding rule is the target storage device 1062.
  • the total number of object operation requests recorded by the flow table entry counters in the above-mentioned one cycle is 5,500 times.
  • the controller 104 stores the The traffic load of the object storage devices 1061, 1062, and 1063 of the object, the forwarding rules formulated for the object read request are forwarded to the object storage device 1061.
  • the switch 1051 does not query the matching flow entry, the switch 1051 forwards the object read request to the controller 104 by using the Openflow protocol through the secure channel shown in FIG. 2, and the controller 104 reads the request identifier carried by the object.
  • the traffic load of the object storage device of the storage request object the flow table entry is formulated for the object read request, and the flow entry is sent to the switch 1051 to update the flow table in the switch 1051, and the switch 1051 is configured according to the controller 104.
  • the sent flow entry forwards the object read request.
  • the object storage device 1061 is the object storage device with the smallest traffic load, and the switch forwards the object to the port that the object storage device 1061 communicates with the switch 1051 according to the forwarding rule in the matched flow entry 3. Operation request.
  • the counter in flow entry 3 updates the number of times the object storage operation request is forwarded to the object storage device 1061.
  • the switch 1051 modifies the destination IP address of the object read request to the IP address of the object storage device 1062, modifies the destination MAC address of the object read request to the MAC address of the object storage device 1062, and forwards the modification to the object storage device 1062. After the object reads the request.
  • the object storage device 1062 Upon receiving the modified object read request, the object storage device 1062 returns the content of the requested object to the object storage system agent 102.
  • the object storage system agent 102 returns the content of the requested object to the client 101.
  • the object requested in the embodiment of the present invention has three copies in the object storage device, and the object is read.
  • the forwarding rule of the flow entry that matches the request may be to forward the object read request to the two object storage devices, as described in the foregoing embodiment, for example, the forwarding rule is a flow entry that forwards the object operation request to the object storage device 1061.
  • the forwarding rule is that the flow entry for forwarding the object operation request to the object storage device 1062 has 45
  • the sum of the number of object operation requests recorded by the flow table entry counters in the above-mentioned one cycle is 5,500 times
  • the forwarding rule is that there are 50 flow table entries for forwarding the object operation request to the object storage device 1063.
  • the sum of the number of object operation requests recorded by each flow entry counter is 6000 times, then in the above one cycle , Object storage device 1061 and 1062 for the traffic load is small
  • the target object storage device if the object read request is forwarded to the two target devices, the forwarding rule of the flow entry for the object read request by the controller 104 is to forward the object read request to the object storage devices 1061 and 1062, Thereby achieving the concurrency of object reading and improving the efficiency of object reading request.
  • the request identifier carried in the object read request may also include only one of the user group information and the storage policy information, which is not limited by the present invention.
  • the controller in the processing method of forwarding the object read request carrying the request identifier to the corresponding object storage device through the switch in the software-defined network, the controller is configured according to the traffic load of the target object storage device.
  • the sending object reads the flow entry of the request forwarding rule, and the switch forwards the object read request according to the forwarding rule in the flow entry, which implements load balancing of the object storage device and reduces information interaction between the object storage devices.
  • the forwarding rule of the matched flow entry is determined by the controller.
  • the object storage device is defined by the remaining storage space.
  • the client 101 sends a write request.
  • the object storage system agent 102 receives the write request sent by the client 101. Since the object is written to the object storage system, the metadata server 103 does not have the request identifier of the written object, so the object storage system agent 102 The request identifier of the written object is obtained in the write request.
  • the request identifier includes at least one of user group information and a storage policy.
  • the user group information may be an IP address information of a client that writes the object to the object storage system, or other identifiers may be written to the object storage system.
  • Information about the client's information; the storage policy can be the number of copies of the object being written to the object storage device.
  • the request identifier includes the user group information and the storage policy, where the user group information is the client IP address information, and the storage policy information is specifically the object requested by the user in the object storage devices 1061, 1062, 1063 to 106L.
  • the number of copies, the number of copies of this object is 3.
  • the object storage system agent 102 encapsulates the request identifier and generates an object write request.
  • the specific format of the object write request is as shown in FIG. 6.
  • the object storage system agent 102 encapsulates the obtained request identifier into a specific identifier of the object write request.
  • the user group information is encapsulated into the object write request.
  • the VLAN ID bit encapsulates the storage policy information into the IP ToS bit of the object write request.
  • the object storage system agent 102 sends an object write request to the switch 1051.
  • the switch 1051 receives the object write request sent by the object storage system agent 102, analyzes the VLAN ID bit and the IP ToS bit information of the object write request, and obtains the user group information and the storage policy information respectively.
  • the flow entry of the flow table is queried according to the parsed user group information and the storage policy information.
  • the user group information parsed from the VLAN ID bit of the object write request and the storage policy information parsed from the ToS bit of the object write request are respectively matched with the header field of the flow entry, and the matching flow entry is found. Forward according to the forwarding rule of the flow entry.
  • the forwarding rule of the flow entry is determined by the controller 104 according to the remaining storage spaces of the object storage devices 1061, 1062, 1063 to 106L, that is, according to the remaining storage space of the object storage device, the object write is selected.
  • the target object storage device into the request For example, in the flow table shown in FIG. 4, the flow entry 3 is a flow entry matching the object write request, and the flow entry 3 is structured as shown in FIG. 5, and the VLAN ID of the header field is The information matches the information in the object write request VLAN ID, and the information in the IP ToS bit in the header field matches the information in the object write request IP ToS bit.
  • the operation rule of flow entry 3 is controlled by the controller 104 according to the object storage devices 1061, 1062, 1063 to 106L.
  • the remaining storage space is determined, that is, the target storage device is determined according to the size of the remaining storage space of the object storage devices 1061, 1062, 1063 to 106L.
  • An implementation manner is that the switch 1051 periodically reports the number of times the object write request is forwarded in each flow entry in the flow table to the controller 104, or the controller 104 periodically obtains the flow table in the flow table from the switch 1051.
  • the object recorded in the item is written to the number of request forwardings, or the object storage devices 1061, 1062, 1063 to 106L report the remaining storage space to the controller 104.
  • the remaining storage space of each object storage device is calculated according to the number of object modification requests and the size of the object to be forwarded to each object storage device according to the statistics of each flow entry in the flow table of the switch 1051.
  • the object storage device 1061 is taken as an example, and the controller 104 writes the number of object write requests forwarded to the object storage device 1061 according to each flow entry and writes according to each object write request.
  • the size of the object is calculated, and the total size of the object stored in the object storage device 1061 is calculated, and the used storage space is subtracted according to the total storage space of the object storage device 1061, thereby obtaining the remaining storage space of the object storage device 1061.
  • the remaining storage space of the object storage devices 1062 to 106L in the cycle can be obtained.
  • the switch 1051 forwards to the controller 104 through the secure channel shown in FIG. 3 using the Openflow protocol.
  • the object write request the controller 104 formulates a forwarding rule for the object write request according to the remaining storage space of the current object storage devices 1061, 1062, 1063 to 106L, generates a flow entry 3 of the embodiment of the present invention, and generates the flow The entry 3 is sent to the switch 1051.
  • the switch 1051 updates the flow table according to the flow entry 3.
  • the object write request is forwarded according to the forwarding rule of the flow entry 3.
  • the number of copies of the object to be written is 3, and the Bay ij controller 104 selects the largest remaining storage space from the object storage devices 1061, 1062, 1063 to 106L.
  • Three object storage devices are used as target object storage devices.
  • the object storage devices 1064, 1067, and 1068 are the three object storage devices with the largest remaining storage space, and the remaining storage space is 1000 G, and the remaining storage space of other object storage devices is smaller than The 1000G, or the object storage devices 1064, 1067, and 1068 are the three object storage devices with the largest remaining storage space.
  • the remaining storage space is 1000G, 950G, and 900G, and the remaining storage space of other object storage devices is less than 900G.
  • the operational rules that controller 104 sets for the object write request are therefore to forward the object write request to object storage devices 1064, 1067, and 1068.
  • the object write request is forwarded to the destination port of the switch 1051 according to the flow entry 3 forwarding rule, wherein the destination port of the switch 1051 is a port that the switch 1051 communicates with the object storage devices 1064, 1067, and 1068, respectively.
  • the controller 104 records the object storage device information of the object according to the request identifier carried by the object write request, and uses the recorded object storage device information of the object to obtain the traffic load of the object storage device storing the object, according to Storing a traffic load of the object storage device of the object, and formulating a forwarding rule for reading an object read request of the object, and generating a flow entry matching the object read request of the object, where the flow entry carries the object
  • the request identifier, the request identifier carried in the object read request is matched with the request identifier carried in the flow entry, to determine a matching flow entry.
  • For the specific process refer to the description of the read request part of the embodiment object, and details are not described herein. .
  • the switch 1051 modifies the destination IP address of the object write request to the IP address of the object storage device 1062, and modifies the destination MAC address of the object write request to the MAC address of the target storage device 1062, in the embodiment of the present invention.
  • the forwarding rule of the matching flow entry is forwarded to the object storage devices 1064, 1067, and 1068, respectively, and the destination IP address of the object write request is modified to the IP address of the object storage device 1064.
  • the destination MAC address of the object write request is modified to the MAC address of the object storage device 1064, and the modified object write request is forwarded to the object storage device 1064.
  • the forwarding to the object storage devices 1067 and 1068 is modified.
  • the counter in flow entry 3 updates the number of times the object write request is forwarded to object storage devices 1064, 1067, and 1068, respectively.
  • Object storage devices 1064, 1067, and 1068 store the objects that are written.
  • the request identifier of the write object is registered with the metadata server 103.
  • the metadata server 103 may not store the specific storage location information of the object, and only needs to include the request identifier of the object.
  • the request identifier carried by the object write request may also include only one of user group information and storage policy information, which is not limited by the present invention.
  • the request identifier includes at least user group information.
  • a method for sending an object write request carrying a request identifier to a corresponding object storage device through a switch in a software-defined network the controller according to the remaining storage space of the object storage device
  • the forwarding rule of the object is written to the request to generate a flow entry of the switch, and the switch forwards the object write request according to the forwarding rule of the matched flow entry, thereby implementing load balancing of the storage space of the object storage device, and reducing the storage between the object storage devices.
  • Information interaction At the same time, for objects that are written to the object storage system, the metadata server can only record the request ID of the object, thereby reducing the workload of the metadata server.
  • the object storage device 1061 ( L+1 ) when an object storage device joins, when the object storage device 1061 ( L+1 ) joins, the object storage device 1061 ( L+1 ) registers with the controller 104 to the controller.
  • the information registered by 104 includes the MAC address of the object storage device 1061 ( L+1 ), the port number in communication with the switch 1051, and the storage space.
  • the controller 104 After receiving the registration information of the object storage device 1061 ( L+1 ), the controller 104 records the registration information of the object storage device 1061 ( L+1 ), and formulates a forwarding rule, generates a new flow entry, and delivers the new flow entry to the switch 1051. The flow entry.
  • the controller 104 when the object storage device in the object storage system exits due to a failure or other reasons, such as taking the object storage device 1061L as an example, the controller 104 receives the object storage device 1061L state change message.
  • the message carries the MAC address of the object storage device 1061L, the port number that communicates with the switch 1051, and The storage space information, the controller 104 changes the message according to the state, and the controller 104 deletes the forwarding rule to be a flow entry forwarded to the target storage device 1061L.
  • the forwarding rule is a flow entry that forwards the object read request to the object storage device 1061L, and the controller 104 generates a flow entry that is forwarded to the redundant object storage device of the object storage device 1061L.
  • the redundant object storage device is an object storage device that stores an object in the object storage device 1061L.
  • the use of a software-defined network in the object storage system achieves an increase or decrease in the object storage device of the object storage system, which enhances the flexibility of the object storage system.
  • the controller 104 provides a method for generating a flow entry forwarding rule according to the embodiment of the operation request processing method in the storage system. As shown in FIG. 8, the method includes:
  • Step 801 The controller acquires remaining storage space information of the storage device that communicates with the switch.
  • Step 802 The controller generates, according to the remaining storage space information of the storage device, a forwarding rule that matches a write request, and the write request is used to write data to a storage device that communicates with the switch.
  • the controller obtains the remaining storage space information of the storage device that is in communication with the switch, and the method includes: the controller receiving the remaining storage space information reported by the storage device.
  • the controller obtains the remaining storage space information of the storage device that communicates with the switch, and the method includes: the controller acquiring the flow entry record in the switch flow table, and forwarding the write to the storage device. The number of requests and the size of the write data; the controller calculates the remaining storage space of the storage device according to the storage space of the storage device, the number of write requests, and the size of the write data.
  • the controller 104 of the embodiment of the present invention provides a method for generating a flow entry forwarding rule, where the storage device is specifically an object storage device, and the write request is specifically an object write request, and then the object is written according to the object.
  • Incoming request to write to the object storage device The data is an object.
  • the controller in the software-defined network generates a forwarding rule of the flow entry matching the write request according to the remaining storage space information of the storage device, so that the switch generates the forwarding rule according to the controller. Processing write requests, load balancing of storage devices, and reducing information interaction between storage devices.
  • the storage system to which the embodiments of the present invention are applicable may be a file level storage system, a block level storage system, or an object storage system. It can also include at least two storage systems of file-level storage systems, block-level storage systems, and object storage systems.
  • object storage system reference may be made to the embodiment of processing the object operation request in the object operating system described above, which is not described herein.
  • the controller 104 provides a method for generating a flow entry forwarding rule. As shown in FIG. 9, the method includes:
  • the controller acquires traffic load information of a storage device that stores the requested data.
  • the controller generates a forwarding rule that matches the read request according to the traffic load information of the storage device that stores the requested data.
  • the controller acquires the traffic load information of the storage device that stores the requested data, and specifically includes: the controller receiving the traffic load information reported by the storage device that stores the requested data.
  • the controller acquires the traffic load information of the storage device that stores the requested data, and specifically includes: the controller acquiring, by the flow table entry in the switch flow table, the data requested by the storage device. The number of times the storage device forwards the operation request; wherein the operation request includes a write request and a read request.
  • the controller 104 of the embodiment of the present invention provides a method for generating a flow entry forwarding rule, where the storage device is specifically an object storage device, and the read request is specifically an object read request, and then the object is read according to the object.
  • the data stored in the object storage device requested by the request is taken as an object.
  • the controller in the software-defined network generates a forwarding rule of the flow entry matching the read request according to the traffic load of the storage device storing the requested data, so that the switch is based on the controller.
  • the generated forwarding rule processes the read request, implements load balancing of the storage device, and reduces information interaction between the storage devices.
  • the storage system to which the embodiments of the present invention are applicable may be a file level storage system, a data block level storage system, or an object storage system.
  • a hybrid storage system of at least two of a file level storage system, a block level storage system, and an object storage system may also be included.
  • the object storage system refer to the embodiment of the object operating system in the above object operating system, and details are not described herein.
  • a software-defined network is used in the storage system.
  • the controller may be implemented as a general-purpose server and run controller software to implement control on the switch in the data forwarding plane.
  • the general server structure usually includes a central processing unit, a memory, etc., and the central processing unit is connected to the memory via a bus, and the controller and the switch perform the communication described in the above embodiments.
  • the switch that processes the data forwarding plane it may be a general-purpose switch or an Openflow switch, including a central processing unit, a memory, etc., and the central processor and the memory are connected by a bus, and communicate with the controller in the above embodiment, and simultaneously Implement forwarding of object operation requests.
  • the controllers and switches in the embodiments of the present invention are merely exemplary descriptions, and other switches and controllers that implement software-defined networks may also be used to implement the present invention.
  • an embodiment of the present invention provides a switch, as shown in FIG. 10, including a receiving unit 1001, a query unit 1002, and a forwarding unit 1003.
  • the receiving unit 1001 is configured to receive an operation request.
  • the operation request carries a request identifier, where the request identifier includes at least one of user group information and storage policy information
  • the query unit 1002 is configured to: according to the request identifier, query a flow table of the switch, obtain the operation
  • the forwarding unit 1003 is configured to forward the operation request to the target storage device in the storage device according to the forwarding rule of the matched flow entry.
  • the forwarding rule of the matched flow entry is determined by the controller according to a storage device traffic load storing the requested data.
  • the forwarding rule of the matching flow entry is determined by the controller according to the remaining storage space of the storage device.
  • the receiving unit 1001 is configured to receive an object operation request, where the object operation request carries a request identifier, where the request identifier includes at least one of user group information and storage policy information;
  • the unit 1002 is configured to: according to the request identifier, query a flow table of the switch, and obtain a flow entry that matches the object operation request;
  • the forwarding unit 1003 is configured to store the object according to the forwarding rule of the matched flow entry.
  • the target object storage device in the device forwards the object operation request.
  • the forwarding rule of the matched flow entry is determined by the controller according to the object storage device traffic load storing the requested object.
  • the forwarding forwarding rule of the matched flow entry is determined by the controller according to the remaining storage space of the object storage device.
  • the controller formulates the forwarding rule in the switch flow entry, and the switch according to the flow
  • the forwarding rule forwarding operation request in the entry implements load balancing of the storage device and reduces information interaction between the storage devices.
  • the embodiment of the present invention provides a controller, as shown in FIG. 11, including an obtaining unit 1101 and a generating unit 1102.
  • the acquiring unit 1101 is configured to acquire a storage device that communicates with the switch.
  • a storage unit 1102 configured to generate, according to the remaining storage space information of the storage device, a forwarding rule that matches a write request, where the write request is used to write data to a storage device that communicates with the switch .
  • An implementation unit, where the acquiring unit 1101 is specifically configured to: The remaining storage space information reported by the storage device;
  • the method is specifically configured to: obtain, by the flow table entry in the switch flow table, the number of write requests and the size of the write data to the storage device; according to the storage space of the storage device, the number of write requests, and write Into the data size, calculate the remaining storage space of the storage device.
  • the obtaining unit 1101 is configured to acquire the remaining storage space information of the object storage device that communicates with the switch, and the generating unit 1102 is configured to generate and write the object according to the remaining storage space information of the object storage device.
  • a matching forwarding rule is requested, the object write request for writing an object to an object storage device in communication with the switch.
  • the acquiring unit 1101 is specifically configured to: receive remaining storage space information reported by the object storage device;
  • the method is specifically configured to: obtain, according to a flow entry record in the switch flow table, a number of times of writing an object write request to the object storage device and a size of the write object; and writing, according to the storage space of the object storage device, the object The number of requests and the size of the written object, and the remaining storage space of the object storage device is calculated.
  • the controller provided by the embodiment of the present invention uses a software-defined network, and the controller formulates a forwarding rule matching the switch flow entry and the write request according to the remaining storage space of each storage device of the storage system, thereby implementing load balancing of each storage device and reducing storage. Information interaction between devices.
  • the embodiment of the present invention provides a controller.
  • the controller includes an obtaining unit 1101 and a generating unit 1102.
  • the acquiring unit 1101 is used. And acquiring the traffic load information of the storage device storing the requested data; and generating unit 1102, configured to generate, according to the traffic load information of the storage device that stores the requested data, a forwarding rule that matches the read request.
  • the acquiring unit 1101 is specifically configured to: receive the traffic load information reported by the storage device that stores the requested data.
  • the acquiring unit 1101 The method is configured to: obtain the number of times the flow table entry record in the switch flow table records the operation request to the storage device that stores the requested data; wherein the operation request includes a write request and a read request.
  • the obtaining unit 1101 is configured to acquire traffic load information of the object storage device storing the requested object, and the generating unit 1102 is configured to use the traffic load information of the object storage device that stores the requested object according to the , generates a forwarding rule that matches the object read request.
  • the obtaining unit 1101 is configured to: receive the traffic load information reported by the object storage device that stores the requested object.
  • the acquiring unit 1101 is configured to: obtain the number of times that the flow table entry record in the switch flow table forwards the object operation request to the object storage device that stores the requested object; wherein, the object The operation request includes an object write request and an object read request.
  • the controller provided by the embodiment of the present invention uses a software-defined network, and the controller establishes a forwarding rule that matches the flow entry of the switch to the read request according to the traffic load of the storage device that stores the requested data, thereby implementing the load of each storage device. Balance, reducing information interaction between storage devices.
  • the device and the unit described above are merely illustrative.
  • the division of the unit is only a logical function division.
  • there may be another division manner for example, multiple units or components may be combined or Can be integrated into another system, or some features can be ignored, or not executed.
  • the mutual coupling or direct coupling or communication connection shown or discussed may be an indirect coupling or communication connection through some interface, device or unit, and may be in an electrical, mechanical or other form.
  • the units described as separate components may or may not be physically separate, and the components displayed as the units may or may not be physical units, that is, may be located in one place, or may be distributed to multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the embodiment scheme.
  • each functional unit in each embodiment of the present invention may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit.
  • the functions, if implemented in the form of software functional units and sold or used as separate products, may be stored in a computer readable non-volatile storage medium.
  • the medium includes instructions for causing a computer device (which may be a personal computer, server, or network device, etc.) to perform all or part of the steps of the methods described in various embodiments of the present invention.
  • the foregoing non-volatile storage medium includes: a medium that can store program codes, such as a USB flash drive, a removable hard disk, a read-only memory (ROM), a magnetic disk, or an optical disk.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer Security & Cryptography (AREA)

Abstract

本发明实施例,在存储系统中,交换机接收操作请求,操作请求携带请求标识,交换机根据请求标识查询交换机的流表,获得与操作请求匹配的流表项,交换机根据匹配的流表项的转发规则,向存储设备中的目标存储设备转发操作请求,利用软件定义网络的特性,根据交换机流表项的转发规则处理操作请求,实现了存储设备负载均衡,减少了存储设备之间的信息交互。

Description

存储系统中操作请求处理方法和装置
技术领域
本发明涉及信息技术领域,特别涉及一种存储系统中操作请求处 理方法和装置。
背景技术
存储系统中, 元数据服务器用于管理对存储系统的操作请求, 记 录存储系统的元数据。 用户在访问存储系统时, 首先要与元数据服务 器进行通信, 获取操作请求所需要的元数据。
为了保证存储系统的负载均衡, 现有技术中, 存储系统基于全局 分布式负载均衡方案,根据存储设备之间进行信息交互实现存储系统 的负载均衡, 但是存储设备之间进行信息交互不方便。
发明内容
基于现有技术存在的上述问题,本发明实施例提供了一种存储系 统中操作请求处理方法、 装置及非易失性计算机可读存储介质, 以及 一种生成流表项转发规则的方法、装置及非易失性计算机可读存储介 质。
第一方面,本发明实施例提供了一种存储系统中操作请求处理方 法, 所述存储系统包括: 控制器、 交换机和与所述交换机通信的存储 设备, 所述控制器与所述交换机通信, 所述控制器用于制定并下发所 述交换机的流表; 所述方法包括:
所述交换机接收操作请求, 所述操作请求携带请求标识; 其中, 所述请求标识包括用户组信息和存储策略信息中的至少一种;
所述交换机根据所述请求标识查询所述交换机的流表,获得与所 述操作请求匹配的流表项;
所述交换机根据所述匹配的流表项的转发规则,向所述存储设备 中的目标存储设备转发所述操作请求。 根据第一方面实施例, 在第一种可能的实施方式中, 当所述请求 标识为用户组信息时,所述操作请求的虚拟局域网络标识位携带所述 用户组信息,所述匹配的流表项的包头域的虚拟局域网络标识位携带 所述用户组信息; 或
当所述请求标识为存储策略信息时,所述操作请求的互联网协议 服务类型位携带所述存储策略信息,所述匹配的流表项的包头域的互 联网协议服务类型位携带所述存储策略信息; 或
当所述请求标识为用户组信息和存储策略信息时,所述操作请求 的虚拟局域网络标识位携带所述用户组信息,所述操作请求的互联网 协议服务类型位携带所述存储策略信息,所述匹配的流表项的包头域 的虚拟局域网络标识位携带所述用户组信息,所述包头域的互联网协 议服务类型位携带所述存储策略信息。
根据第一方面实施例, 在第二种可能的实施方式中, 当所述操作 请求为读取请求时,所述匹配的流表项的转发规则是由所述控制器根 据存储所请求数据的存储设备流量负载制定的。
根据第二可能的实施方式,在第三种可能的实施方式中,还包括: 所述交换机更新所述匹配的流表项中记录的向所述目标存储设 备转发读取请求的次数。
根据第一方面实施例或第一方面实施例的第一种可能实施方式, 在第四种可能的实施方式中, 当所述操作请求为写入请求时, 所述匹 配的流表项的转发转发规则是由所述控制器根据所述存储设备剩余 存储空间制定的。
根据第四种可能的实施方式, 在第五种可能的实施方式中, 还包 括:
所述交换机更新所述匹配的流表项中记录的向所述目标存储设 备转发写入请求的次数。 第二方面,本发明实施例提供了一种生成流表项转发规则的方法, 包括: 所述方法应用于存储系统, 所述存储系统包括: 控制器、 交换 机和与所述交换机通信的存储设备, 所述控制器与所述交换机通信, 所述控制器用于制定并下发所述交换机的流表; 所述方法包括:
所述控制器获取与所述交换机通信的存储设备剩余存储空间信 息;
所述控制器根据所述存储设备剩余存储空间信息,生成与写入请 求匹配的转发规则,所述写入请求用于向与所述交换机通信的存储设 备写入数据。
根据第二方面, 在第一种可能的实施方式中, 所述控制器获取与 所述交换机通信的存储设备剩余存储空间信息, 具体包括:
所述控制器接收所述存储设备上报的剩余存储空间信息。
根据第二方面, 在第二种可能的实施方式中, 所述控制器获取与 所述交换机通信的存储设备剩余存储空间信息, 具体包括:
所述控制器获取所述交换机流表中流表项记录的向所述存储设 备转发写入请求次数及写入数据大小;
所述控制器根据所述存储设备的存储空间、所述写入请求次数及 写入数据大小计算, 所述与所述存储设备的剩余存储空间。
第三方面,本发明实施例提供了一种生成流表项转发规则的方法, 包括: 所述方法应用于存储系统, 所述存储系统包括: 控制器、 交换 机和与所述交换机通信的存储设备, 所述控制器与所述交换机通信, 所述控制器用于制定并下发所述交换机的流表; 所述方法包括:
所述控制器获取存储所请求数据的存储设备的流量负载信息; 所述控制器根据所述存储所请求数据的存储设备的流量负载信 息, 生成与读取请求匹配的转发规则。
根据第三方面, 在第一种可能的实施方式中, 所述控制器获取所 述存储所请求数据的存储设备的流量负载信息, 具体包括: 所述控制器接收所述存储所请求数据的存储设备上报的流量负 载信息。
根据第三方面, 在第二种可能的实施方式中, 所述控制器获取所 述存储所请求数据的存储设备的流量负载信息, 具体包括:
所述控制器获取所述交换机流表中流表项记录的向所述存储所 请求数据的存储设备转发操作请求的次数; 其中, 所述操作请求包括 写入请求和读取请求。
第四方面, 本发明实施例提供了一种交换机, 包括, 所述交换机 应用于存储系统, 所述存储系统包括: 控制器、 所述交换机和与所述 交换机通信的存储设备, 所述控制器与所述交换机通信, 所述控制器 用于制定并下发所述交换机的流表; 所述交换机包括:
接收单元, 用于接收操作请求, 所述操作请求携带请求标识; 其 中, 所述请求标识包括用户组信息和存储策略信息中的至少一种; 查询单元, 用于根据所述请求标识查询交换机的流表, 获得与所 述操作请求匹配的流表项;
转发单元, 用于根据所述匹配的流表项的转发规则, 向所述存储 设备中的目标存储设备转发所述操作请求。
根据第四方面, 在第一种可能的实施方式中, 当所述操作请求 为读取请求时,所述匹配的流表项的转发规则是由所述控制器根据存 储所请求数据的存储设备流量负载制定的。
根据第四方面, 在第二种可能的实施方式中, 当所述操作请求 为写入请求时,所述匹配的流表项的转发转发规则是由所述控制器根 据所述存储设备剩余存储空间制定的。
第五方面, 本发明实施例提供了一种控制器, 包括, 所述控制器 应用于存储系统, 所述存储系统包括: 所述控制器、 交换机和与所述 交换机通信的存储设备, 所述控制器与所述交换机通信, 所述控制器 用于制定并下发所述交换机的流表; 所述控制器包括:
获取单元,用于获取与所述交换机通信的存储设备剩余存储空间 信息;
生成单元, 用于根据所述存储设备剩余存储空间信息, 生成与写 入请求匹配的转发规则,所述写入请求用于向与所述交换机通信的存 储设备写入数据。
根据第五方面, 在第一种可能的实施方式中, 所述获取单元, 具体用于: 接收所述存储设备上报的剩余存储空间信息。
根据第五方面, 在第二种可能的实施方式中, 所述获取单元, 具 体用于:获取所述交换机流表中流表项记录的向所述存储设备转发写 入请求次数及写入数据大小;
所述控制器根据所述存储设备的存储空间、所述写入请求次数及 写入数据大小, 计算所述存储设备的剩余存储空间。
第六方面, 本发明实施例提供了一种控制器, 包括, 所述控制器 应用于存储系统, 所述存储系统包括: 所述控制器、 交换机和与所述 交换机通信的存储设备, 所述控制器与所述交换机通信, 所述控制器 用于制定并下发所述交换机的流表; 所述控制器包括:
获取单元,用于获取存储所请求数据的存储设备的流量负载信息; 生成单元,用于根据所述存储所请求数据的存储设备的流量负载 信息, 生成与读取请求匹配的转发规则。
根据第六方面, 在第一种可能的实施方式中, 所述获取单元, 具 体用于: 接收所述存储所请求数据的存储设备上报的流量负载信息。
根据第六方面, 在第二种可能的实施方式中, 所述获取单元, 具 体用于:获取所述交换机流表中流表项记录的向所述存储所请求数据 的存储设备转发操作请求的次数; 其中, 所述操作请求包括写入请求 和读取请求。
第七方面, 本发明实施例提供了一种交换机, 所述交换机应用 于存储系统, 所述存储系统包括: 控制器、 所述交换机和与所述交换 机通信的存储设备, 所述控制器与所述交换机通信, 所述控制器用于 制定并下发所述交换机的流表; 所述交换机包括中央处理器和内存, 所述中央处理器和所述内存通过总线连接,所述内存用于存储计算机 指令, 所述中央处理器执行所述内存中存储的所述计算机指令, 实现 本发明第一方面或第一方面第一至第四种任一可能的实施方式。
第八方面, 本发明实施例提供了一种控制器, 所述控制器应用于 存储系统, 所述存储系统包括: 所述控制器、 交换机和与所述交换机 通信的存储设备, 所述控制器与所述交换机通信, 所述控制器用于制 定并下发所述交换机的流表; 所述控制器包括中央处理器和内存, 所 述中央处理器和所述内存通过总线连接,所述内存用于存储计算机指 令, 所述中央处理器执行所述内存中存储的所述计算机指令, 实现本 发明第二方面、 第二方面第一或第二种可能的实施方式。
第九方面, 本发明实施例提供了一种控制器, 所述控制器应用 于存储系统, 所述存储系统包括: 所述控制器、 交换机和与所述交换 机通信的存储设备, 所述控制器与所述交换机通信, 所述控制器用于 制定并下发所述交换机的流表; 所述控制器包括中央处理器和内存, 所述中央处理器和所述内存通过总线连接,所述内存用于存储计算机 指令, 所述中央处理器执行所述内存中存储的所述计算机指令, 实现 本发明第三方面、 第三方面第一或第二种可能的实施方式。
第十方面,本发明实施例提供了一种非易失性计算机可读存储介 质, 所述计算机存储介质存储计算机指令, 当计算机执行所述计算机 指令时,用于实现本发明第一方面或第一方面第一至第四种任一可能 的实施方式。 第十一方面,本发明实施例提供了一种非易失性计算机可读存储 介质, 所述计算机存储介质存储计算机指令, 当计算机执行所述计算 机指令时, 用于实现本发明第二方面、 第二方面第一或第二种可能的 实施方式。
第十二方面,本发明实施例提供了一种非易失性计算机可读存储 介质, 所述计算机存储介质存储计算机指令, 当计算机执行所述计算 机指令时, 用于实现本发明第三方面、 第三方面第一或第二种可能的 实施方式。
本发明实施例, 在存储系统中, 交换机接收操作请求, 操作请求 携带请求标识; 交换机根据请求标识查询交换机的流表, 获得与操作 请求匹配的流表项, 交换机根据匹配的流表项的转发规则, 向存储设 备中的目标存储设备转发操作请求, 利用软件定义网络(Sof tware Def ined Network ) 的特性, 根据交换机流表项的转发规则处理操作 请求, 实现了存储设备负载均衡, 减少了存储设备之间的信息交互。 附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描 述中所需要使用的附图作筒单地介绍, 显而易见地, 下面描述中的附 图仅仅是本发明的一些实施例, 对于本领域普通技术人员来讲, 在不 付出创造性劳动的前提下, 还可以根据这些附图获得其他的附图。
图 1为本发明实施例方法示意图;
图 2为本发明实施例对象存储系统示意图;
图 3为基于开放流 (Openflow)协议的软件定义网络系统图; 图 4为软件定义网络中交换机中的流表;
图 5为流表中流表项结构示意图;
图 6为流表项包头域结构示意图;
图 7为本发明实施例对象存储系统的对象操作请求处理方法示意 图;
图 8为本发明实施例控制器生成流表项转发规则的方法示意图; 图 9为本发明实施例控制器生成流表项转发规则的方法示意图; 图 10为交换机示意图;
图 11为控制器示意图。
具体实施例
下面将结合本发明实施例中的附图,对本发明实施例中的技术方 案进行清楚地描述, 显然, 所描述的实施例是本发明一部分实施例, 而不是全部的实施例。基于本发明提供的实施例, 本领域普通技术人 员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本 发明保护的范围。
本发明实施例应用于存储系统中, 所述存储系统包括: 控制器、 交换机和与交换机通信的存储设备, 所述控制器与所述交换机通信, 所述控制器用于制定并下发所述交换机的流表。存储系统可以为文件 级存储系统、数据块级存储系统或对象存储系统。 存储系统也可以包 含文件级存储系统、 数据块级存储系统和对象存储系统中至少两种。
如图 1所示, 本发明实施例提供的存储系统中的操作请求处理方 法如下:
1 01: 交换机接收操作请求,所述操作请求携带请求标识;其中, 所述请求标识包括用户组信息和存储策略信息中的至少一种;
1 02: 所述交换机根据所述请求标识查询所述交换机的流表, 获 得与所述操作请求匹配的流表项;
1 03: 所述交换机根据所述匹配的流表项的转发规则, 向存储设 备中的目标存储设备转发所述操作请求。
其中一种实施方式, 当所述请求标识为用户组信息时, 所述操作 请求的虚拟局域网络标识位携带所述用户组信息,所述匹配的流表项 当所述请求标识为存储策略信息时,所述操作请求的互联网协议 服务类型位携带所述存储策略信息,所述匹配的流表项的包头域的互 联网协议服务类型位携带所述存储策略信息; 或
当所述请求标识为用户组信息和存储策略信息时,所述操作请求 的虚拟局域网络标识位携带所述用户组信息,所述操作请求的互联网 协议服务类型位携带所述存储策略信息,所述匹配的流表项的包头域 的虚拟局域网络标识位携带所述用户组信息,所述包头域的互联网协 议服务类型位携带所述存储策略信息。
其中一种实施方式, 当所述操作请求为读取请求时, 所述匹配的 流表项的转发规则是由所述控制器根据存储所请求数据的存储设备 流量负载制定的。
进一步地, 还包括: 所述交换机更新所述匹配的流表项中记录的 向所述目标存储设备转发读取请求的次数。
其中一种实施方式, 当所述操作请求为写入请求时, 所述匹配的 流表项的转发转发规则是由所述控制器根据所述存储设备剩余存储 空间制定的。
进一步地, 还包括: 所述交换机更新所述匹配的流表项中记录的 向所述目标存储设备转发写入请求的次数。
本发明实施例中请求标识包括用户组信息和存储策略信息中的 至少一种, 其中, 用户组信息可以为客户端的 IP地址信息, 或者客户 端的地址信息等;存储策略信息可以为所请求数据在存储设备中的副 本数量, 或者请求写入数据在存储设备中的副本数量。
本发明实施例提供的存储系统中操作请求的处理方法,利用软件 定义网络的特性, 根据交换机流表项的转发规则处理操作请求, 实现 了存储设备的负载均衡, 减少了存储设备之间的信息交互。 以对象存储系统为例, 在对象存储系统中, 对象作为数据存储的 基本单位, 一个对象包括文件的数据和文件的元数据, 操作请求为对 象操作请求, 包括对象读取请求和对象写入请求, 读取请求, 即对象 读取请求所请求的数据为对象, 对象写入请求所写入的数据为对象, 在对象存储系统中, 存储设备为对象存储设备。 在本发明实施例中, 如图 2所示, 对象存储系统包括元数据服务器 103、 控制器 104、 交换 机 1051至 105m、 存储设备 1061、 1062、 1063至 106L, 在对象存储系 统中, 即对象存储设备 1061、 1062、 1063至 106L。 其中 L为整数, 表 示对象存储设备数量, 具体取值不作限定。 元数据服务器 103, 用于 存储对象存储设备 1061、 1062、 1063至 106L中存储的数据的请求标识, 这里即用于存储对象存储设备 1061、 1062、 1063至 106L中存储的对象 的请求标识, 关于请求标识, 后述会详细介绍; 对象存储设备 1061、 1062、 1063至 106L, 用于存储数据, 在对象存储系统中, 即用于存储 对象; 交换机 1051至 105m与控制器 104构成软件定义网络, 交换机 1051至 105m与对象存储设备 1061、 1062、 1063至 106L通信; 交换机 1051至 105m, 用于根据流表中的流表项的转发规则向对象存储设备 1061、 1062、 1063至 106L转发操作请求, 在对象存储系统中, 即对象 操作请求; 控制器 104, 用于制定和更新交换机 1051至 105m的流表中 的流表项。 本发明实施例中, 只给出了控制器 104, 本发明实施例的 对象存储系统中, 控制器并不限定于只有 1个, 可以由多个控制器, 以实现负载均衡和冗余。 图 2所示的客户端 1011至 101η, —种实现方 式, 通过对象存储系统代理 102发送对象操作请求, 访问对象存储设 备 1061、 1062、 1063至 106L, 其中, n为整数, 表示客户端数量, 具 体取值不作限定, 本发明实施例中对象存储系统代理 102可以为独立 的物理良务器, 也可以集成在客户端 1011至 101η中, 本发明对此不作 限定。 由控制器 104和交换机 1051至 105m组成的软件定义网络中, 控制 器与交换机 1051至 105m通过安全通道进行通信。 例如, 控制器 104与 交换机 1051至 105m可以通过 Openflow协议通信, 控制器制定并更新 交换机 1051至 105m中存储的流表的流表项, 本发明实施例中, 控制 器 104与交换机 1051之间使用 Openflow协议只是一种示例性描述, 本 发明也适用于在软件定义网络中的其他协议实现的方式。 以交换机 1051和控制器 104为例,如图 3所示,控制器 104制定并更新交换机 1051 中流表的流表项, 当交换机 1051接收到对象操作请求后, 解析对象操 作请求,在交换机 1051的流表中查询与该对象操作请求匹配的流表项, 根据匹配的流表项的转发规则处理该对象操作请求。 具体地, 一种实 施方式,在交换机 1051中,流表由流表项 1、流表项 2至流表项 R构成, 其中 R为自然数。 如图 4所示, 交换机 1051接收对象操作请求, 查询流 表的流表项, 通常是以流水线方式查询流表的流表项, 如果查询到与 对象操作请求匹配的流表项,则根据该匹配的流表项的转发规则进行 处理。 对于图 4所示的流表中的流表项, 具体结构如图 5所示, 包括包 头域、计数器和转发规则三部分。 包头域用于进行对象操作请求的匹 配; 计数器用于对该流表项处理对象操作请求的次数进行统计; 转发 规则用于决定对象操作请求的转发方式,例如如何转发该对象操作请 求, 决定向哪一个端口转发操作请求等。 其中, 如图 6所示, 包头域 包括输入端口、媒体访问控制( Media Access Control, MAC )源地址、 MAC目的地址、 以太网类型、 虚拟局域网络标识(Virtual Local Area Network Identification, VLAN ID )、互联网十办议( Internet Protocol, IP ) 源地址、 IP目的地址、 IP端口、 IP月良务类型 ( Type of Service, ToS ) 位、传输控制协议( Transmission Control Protocol , TCP )源端口和 TCP 目的端口。 本发明实施例中的对象操作请求, 可以封装请求标识, 请 求标识包括用户组信息和存储策略信息中的至少一种。如将用户组信 息封装在对象操作请求中, 具体地, 用户组信息可以封装在对象操作 请求的 VLAN ID位中,存储策略信息封装在对象操作请求的 IP ToS位 中,请求标识的封装可以由对象存储系统代理 102完成。当交换机 1051 接收到对象操作请求后,查询交换机 1051的流表中与对象操作请求匹 配的流表项。根据查询到的匹配的流表项的转发规则处理对象操作请 求。 当根据转发规则转发对象操作请求后, 计数器更新该流表项的对 象操作请求转发次数。 当不存在与对象操作请求匹配的流表项时, 将 该对象操作请求转发到控制器 104 ,控制器 104为该对象操作请求制定 转发规则, 生成流表项, 更新交换机 1051上的流表。
基于上述描述, 本发明实施例提供了在图 2所示的系统架构下一 种对象存储系统的对象操作请求处理方法, 如图 7所示, 包括:
步骤 701: 交换机接收对象操作请求, 所述对象操作请求携带请 求标识; 其中, 所述请求标识包括用户组信息和存储策略信息中的至 少一种;
步骤 702:所述交换机根据所述请求标识查询所述交换机的流表, 获取与所述操作请求匹配的流表项;
步骤 703: 所述交换机根据所述匹配的流表项的转发规则, 向对 象存储设备中的目标对象存储设备转发所述对象操作请求。
在上述对象存储系统的对象操作请求处理方法中,当所述请求标 识为用户组信息时,所述对象操作请求的虚拟局域网络标识位携带所 述用户组信息,所述匹配的流表项的包头域的虚拟局域网络标识位携 带所述用户组信息; 或
当所述请求标识为存储策略信息时,所述对象操作请求的互联网 协议服务类型位携带所述存储策略信息,所述匹配的流表项的包头域 的互联网协议服务类型位携带所述存储策略信息; 或
当所述请求标识为用户组信息和存储策略信息时,所述对象操作 请求的虚拟局域网络标识位携带所述用户组信息,所述对象操作请求 的互联网协议服务类型位携带所述存储策略信息,所述匹配的流表项 的包头域的虚拟局域网络标识位携带所述用户组信息,所述包头域的 互联网协议服务类型位所述存储策略信息。
本发明实施例提供的对象存储系统中,在将携带请求标识的对象 操作请求通过软件定义网络中的交换机转发至对应的对象存储设备, 控制器制定交换机流表项中的转发规则,交换机根据流表项中的转发 规则转发对象读取请求, 实现了对象存储设备负载均衡, 减少了对象 存储设备之间的信息交互。
结合图 2, 具体地, 在图 7所示的对象操作请求处理方法中, 当所 述对象操作请求为对象读取请求时,所述匹配的流表项的转发规则是 由所述控制器根据存储所请求对象的对象存储设备流量负载制定的。 所述交换机根据所述匹配的流表项的转发规则向所述对象存储设备 中的目标对象存储设备转发所述对象操作请求后还包括:所述交换机 更新所述匹配的流表项中记录的向所述对象目标存储设备转发对象 读取请求的次数。 接下来将具体描述。
以客户端 101向对象存储系统发送读取请求为例,客户端 101发送 读取请求。 对象存储系统代理 102接收客户端 101发送的读取请求, 根 据所述读取请求, 访问元数据服务器 103, 获取被请求对象的请求标 识。 请求标识包括用户组信息和存储策略信息中的至少一种。 所述请 求标识是对象写入到对象存储设备后,将对象写入请求携带的用户组 信息和存储策略信息中的至少一种存储到元数据服务器 103, 元数据 服务器 103存储的请求标识是由存储写入对象的对象存储设备向元数 据服务器 103注册的该对象的请求标识的内容决定。 当客户端向对象 存储系统发起对该对象的读取请求时, 查询元数据服务器 103, 获取 该对象的请求标识。 其中, 用户组信息可以为向对象存储系统写入该 对象的客户端的 IP地址信息,或者其他可以标识向对象存储系统写入 该对象的客户端的信息;存储策略信息可以为所请求的对象在对象存 储设备中的副本数量。 对于对象读取请求, 由于所请求的对象已经存 储在对象存储设备中, 当所请求的对象被写入到对象存储设备上时, 会向元数据服务器 103发送该对象的请求标识。 本发明实施例以请求 标识包括用户组信息和存储策略为例,其中用户组信息为写入所请求 对象的客户端 IP地址信息,存储策略信息为所请求的对象的副本数量 为 3。 对象存储系统代理 102将从元数据服务器 103获取的请求标识进 行封装, 生成对象读取请求, 对象读取请求的具体格式如图 6所示, 本发明实施例中,将用户组信息封装到对象读取操作请求的 VLAN ID 位, 将存储策略信息封装到对象读取操作请求的 IP ToS位。
对象存储系统代理 102将对象读取请求发送到交换机 1051。
交换机 1051接收存储系统代理 102发送的对象读取请求, 解析出 该对象读取请求的 VLAN ID位和 ToS位信息, 分别获取用户组信息和 存储策略信息。根据解析出的用户组信息和存储策略信息, 查询流表 的流表项。用从对象读取请求的 VLAN ID位解析出的用户组信息和从 对象读取请求的 IP ToS位解析出的存储策略信息分别与流表项的包 头域匹配, 查找到匹配的流表项, 则根据该匹配的流表项的转发规则 进行转发。 具体地, 对于对象读取请求, 流表项的转发规则是控制器 104根据存储所请求对象的对象存储设备流量负载制定的, 即根据所 请求对象所在的对象存储设备的流量负载, 选择目标对象存储设备。 例如, 如图 4所示的流表中, 流表项 3为与所述对象读取请求匹配的流 表项, 流表项 3的结构如图 5所示, 则包头域中的 VLAN ID的信息与所 述对象读取请求 VLAN ID中的信息匹配, 包头域中的 IP ToS位中的信 息与所述对象读取请求 IP ToS位中的信息匹配。 流表项 3中的转发规 则是由控制器 104根据存储所请求对象的对象存储设备的流量负载制 定的, 如对象存储设备 1061、 1062和 1063为存储所请求对象的 3个副 本的对象存储设备。 控制器 104根据对象存储设备 1061、 1062和 1063 的流量负载确定对象存储设备 1061为流量负载最小的对象存储设备, 则转发规则为向对象存储设备 1061转发该对象读取请求。 控制器 104 根据对象存储设备 1061、 1062和 1063的流量负载制定转发规则, 具体 地, 交换机 1051会周期性地向控制器 104上报流表中各流表项中记录 的对象操作请求转发次数, 或者控制器 104周期性地从交换机 1051获 取流表中各流表项中记录的对象操作请求转发次数,或者对象存储设 备 1061、 1062和 1063会向控制器上报流量负载, 以更新流表项的转发 规则, 这里的对象操作请求包括对象读取请求和对象写入请求。 其中 一种方式, 控制器 104根据为向对象存储设备 1061、 1062和 1063转发 对象操作请求的流表项的计数器记录的转发次数制定或更新流表项 的转发规则,例如转发规则为向对象存储设备 1061转发对象操作请求 的流表项有 50个, 这 50个流表项在上述一个周期, 各流表项计数器记 录的对象操作请求转发次数总和为 5000次,转发规则为向对象存储设 备 1062转发对象操作请求的流表项有 45个,这 45个流表项在上述一个 周期各流表项计数器记录的对象操作请求次数总和为 5500次,有转发 规则为向对象存储设备 1063转发对象操作请求的流表项 50个, 这 50 个流表项在上述一个周期,各流表项计数器记录的对象操作请求次数 总和为 6000次, 则在上述一个周期内, 对象存储设备 1061的流量负载 最小,因此,在本发明实施例中,针对该对象读取请求所请求的对象, 控制器 104根据存储该对象的对象存储设备 1061、 1062和 1063的流量 负载, 为对象读取请求制定的转发规则为向对象存储设备 1061转发。 当交换机 1051未查询到匹配的流表项时, 交换机 1051通过图 2所示的 安全通道, 使用 Openflow协议向控制器 104转发该对象读取请求, 控 制器 104该对象读取请求携带的请求标识确定所请求的对象, 根据存 储所请求对象的对象存储设备的流量负载,为该对象读取请求制定流 表项, 并向交换机 1051下发该流表项, 以更新交换机 1051中的流表, 交换机 1051根据控制器 104下发的流表项转发该对象读取请求。
本发明实施例中, 4叚设对象存储设备 1061为流量负载最小的对象 存储设备, 则交换机根据匹配的流表项 3中的转发规则, 向对象存储 设备 1061与交换机 1051通信的端口转发该对象操作请求。 流表项 3中 的计数器会更新向对象存储设备 1061转发对象读取操作请求的次数。
交换机 1051将所述对象读取请求的目的 IP地址修改为对象存储 设备 1062的 IP地址,将该对象读取请求的目的 MAC地址修改为对象存 储设备 1062的 MAC地址, 向对象存储设备 1062转发修改后的对象读 取请求。
对象存储设备 1062收到该修改后的对象读取请求后,返回被请求 的对象的内容给对象存储系统代理 102。
对象存储系统代理 102向客户端 101返回该被请求的对象的内容。 本发明实施例中对于对象读取请求, 另一种实施方式为, 对于存 在两份以上副本的对象,如本发明实施例中被请求的对象在对象存储 设备中有 3份副本, 与对象读取请求匹配的流表项的转发规则可以为 向两个对象存储设备转发该对象读取请求, 如上述实施例中描述的, 例如转发规则为向对象存储设备 1061转发对象操作请求的流表项有 50个, 这 50个流表项在上述一个周期, 各流表项计数器记录的对象操 作请求转发次数总和为 5000次,转发规则为向对象存储设备 1062转发 对象操作请求的流表项有 45个,这 45个流表项在上述一个周期各流表 项计数器记录的对象操作请求次数总和为 5500次,转发规则为向对象 存储设备 1063转发对象操作请求的流表项有 50个,这 50个流表项在上 述一个周期, 各流表项计数器记录的对象操作请求次数总和为 6000 次, 则在上述一个周期内, 对象存储设备 1061和 1062为流量负载较小 的目标对象存储设备, 如果向两个目标设备转发对象读取请求, 则控 制器 104为该对象读取请求制定的流表项的转发规则为向对象存储设 备 1061和 1062转发对象读取请求, 从而实现了对象读取的并发性, 提 高对象读取请求的效率。
本发明实施例中,对象读取请求携带的请求标识也可以只包含用 户组信息或存储策略信息中的一种, 本发明对此不作限定。
本发明实施例提供的对象存储系统中,在将携带请求标识的对象 读取请求通过软件定义网络中的交换机转发至对应的对象存储设备 的处理方法,控制器根据目标对象存储设备的流量负载下发对象读取 请求转发规则的流表项,交换机根据流表项中的转发规则转发对象读 取请求, 实现了对象存储设备流量负载均衡, 减少了对象存储设备之 间的信息交互。
结合图 2, 具体地, 在图 7所示的对象操作请求处理方法中, 当所 述对象操作请求为对象写入请求时,所述匹配的流表项的转发规则是 由所述控制器根据所述对象存储设备剩余存储空间制定的。所述交换 机根据所述匹配的流表项的转发规则,向所述对象存储设备中的目标 对象存储设备转发所述对象操作请求后还包括:所述交换机更新所述 匹配的流表项中记录的向所述目标对象存储设备转发写入请求的次 数。 接下来将具体描述。
以客户端 101向对象存储系统发送写入请求为例,客户端 101发送 写入请求。 对象存储系统代理 102接收到客户端 101发送的写入请求, 由于是向对象存储系统写入对象, 因此, 元数据服务器 103中没有所 写入对象的请求标识, 所以对象存储系统代理 102从所述写入请求中 获取所写入的对象的请求标识。请求标识包括用户组信息和存储策略 中的至少一种。 其中, 用户组信息可以为向对象存储系统写入该对象 的客户端的 IP地址信息,或者其他可以标识向对象存储系统写入该对 象的客户端的信息;存储策略可以为被写入对象在对象存储设备中的 副本数量。本发明实施例以请求标识包括用户组信息和存储策略为例, 其中用户组信息为客户端 IP地址信息,存储策略信息具体为用户请求 的对象在对象存储设备 1061、 1062、 1063至 106L中的副本数量, 该对 象副本数量为 3。
对象存储系统代理 102封装请求标识, 生成对象写入请求。 对象 写入请求的具体格式如图 6所示, 对象存储系统代理 102将获取的请 求标识封装到对象写入请求的特定标识位, 本发明实施例中, 将用户 组信息封装到对象写入请求的 VLAN ID位,将存储策略信息封装到对 象写入请求的 IP ToS位。
对象存储系统代理 102将对象写入请求发送到交换机 1051。
交换机 1051接收对象存储系统代理 102发送的对象写入请求, 解 析出该对象写入请求的 VLAN ID位和 IP ToS位信息,分别获取用户组 信息和存储策略信息。 根据解析出的用户组信息和存储策略信息, 查 询流表的流表项。用从对象写入请求的 VLAN ID位解析出的用户组信 息和从对象写入请求的 ToS位解析出的存储策略信息分别与流表项的 包头域匹配, 查找到匹配的流表项, 则根据该流表项的转发规则进行 转发。
具体地, 对于对象写入请求, 流表项的转发规则为由控制器 104 根据对象存储设备 1061、 1062、 1063至 106L剩余存储空间制定的, 即 根据对象存储设备的剩余存储空间,选择对象写入请求的目标对象存 储设备。 例如, 如图 4所示的流表中, 流表项 3为与所述对象写入请求 匹配的流表项, 流表项 3的结构如图 5所示, 则包头域中的 VLAN ID 的信息与所述对象写入请求 VLAN ID中的信息匹配, 包头域中的 IP ToS位中的信息与所述对象写入请求 IP ToS位中的信息匹配。流表项 3 的操作规则由控制器 104根据对象存储设备 1061、 1062、 1063至 106L 的剩余存储空间决定的,即根据对象存储设备 1061、 1062、 1063至 106L 的剩余存储空间的大小决定目标对象存储设备。一种实现方式为交换 机 1051会周期性地向控制器 104上报流表中各流表项中记录的对象写 入请求转发次数, 或者控制器 104周期性地从交换机 1051获取流表中 各流表项中记录的对象写入请求转发次数, 或者对象存储设备 1061、 1062、 1063至 106L向控制器 104上报剩余存储空间。 根据交换机 1051 流表中的各流表项统计的向各对象存储设备转发的对象定改请求次 数及写入对象大小计算出各对象存储设备的剩余存储空间。 具体的, 一种实现方案为, 以对象存储设备 1061为例, 控制器 104根据各流表 项记录的向对象存储设备 1061转发的对象写入请求的次数及根据每 次对象写入请求写入的对象的大小, 计算出写入对象存储设备 1061 存储的对象总的大小,根据对象存储设备 1061的总的存储空间减去已 经使用的对象存储空间,从而获得对象存储设备 1061的剩余存储空间 , 同理,可以获得周期内对象存储设备 1062至 106L的剩余存储空间。 当 本发明实施例对象写入请求为首次对象写入请求时,交换机 1051的流 表中没有匹配的流表项时, 交换机 1051通过图 3所示的安全通道, 使 用 Openflow协议向控制器 104转发该对象写入请求,控制器 104根据当 前对象存储设备 1061、 1062、 1063至 106L剩余的存储空间为该对象写 入请求制定转发规则, 生成本发明实施例的流表项 3 , 并将该流表项 3 下发到交换机 1051 , 交换机 1051根据该流表项 3更新流表, 根据该流 表项 3的转发规则转发该对象写入请求。 例如, 根据交换机 1051从对 象写入请求中解析出的存储策略信息被写入对象的副本数量为 3, 贝 ij 控制器 104从对象存储设备 1061、 1062、 1063至 106L中选择剩余存储 空间最大的 3个对象存储设备作为目标对象存储设备。 例如对象存储 设备 1064、 1067和 1068为剩余存储空间最大的 3个对象存储设备, 剩 余存储空间均为 1000G, 其他对象存储设备的剩余存储空间均小于 1000G, 或者对象存储设备 1064、 1067和 1068为剩余存储空间最大的 3个对象存储设备, 剩余存储空间依次为 1000G、 950G和 900G, 其他 对象存储设备的剩余存储空间均小于 900G。 因此控制器 104为该对象 写入请求制定的操作规则为向对象存储设备 1064、 1067和 1068转发该 对象写入请求。 根据流表项 3转发规则向交换机 1051的目的端口转发 该对象写入请求,其中交换机 1051的目的端口为交换机 1051分别与对 象存储设备 1064、 1067和 1068通信的端口。 控制器 104根据该对象写 入请求携带的请求标识, 记录存储该对象的对象存储设备信息, 利用 记录的存储该对象的对象存储设备信息,可以获取存储该对象的对象 存储设备的流量负载, 根据存储该对象的对象存储设备的流量负载, 为读取该对象的对象读取请求制定转发规则,生成与读取该对象的对 象读取请求匹配的流表项, 流表项中携带该对象的请求标识, 对象读 取请求中携带的请求标识与流表项中携带的请求标识进行匹配, 以确 定匹配的流表项, 具体过程可参考实施例对象读取请求部分描述, 在 此不再赘述。
交换机 1051将所述对象写入请求的目的 IP地址修改为对象存储 设备 1062的 IP地址,将该所述对象写入请求的目的 MAC地址修改为对 象存储设备 1062的 MAC地址, 在本发明实施例中, 匹配的流表项的 转发规则,分别向对象存储设备 1064、 1067和 1068转发对象写入请求, 对应地,将该对象写入请求的目的 IP地址修改为对象存储设备 1064的 IP地址,将该所述对象写入请求的目的 MAC地址修改为对象存储设备 1064的 MAC地址, 向对象存储设备 1064转发修改后的对象写入请求, 同理, 修改向对象存储设备 1067和 1068转发的该对象写入请求, 并且 分别向对象存储设备 1067和 1068转发修改后的对象写入请求。
流表项 3中的计数器会分别更新向对象存储设备 1064、 1067和 1068转发对象写入请求的次数。 对象存储设备 1064、 1067和 1068存储写入的对象。 并向元数据服 务器 103注册该写入对象的请求标识, 其中, 所述元数据服务器 103 可以不存储该对象的具体存储位置信息,只需要包括该对象的请求标 识。
本发明实施例中,对象写入请求携带的请求标识也可以只包含用 户组信息或存储策略信息中的一种, 本发明对此不作限定, 优选地, 请求标识至少包含用户组信息。
本发明实施例提供的对象存储系统中,在将携带请求标识的对象 写入请求通过软件定义网络中的交换机发送至对应的对象存储设备 的处理方法,控制器根据对象存储设备的剩余存储空间下发对象写入 请求的转发规则以生成交换机的流表项,交换机根据匹配的流表项的 转发规则转发对象写入请求,实现了对象存储设备存储空间的负载均 衡, 减少了对象存储设备之间的信息交互。 同时, 对于写入对象存储 系统的对象, 元数据服务器可只记录该对象的请求标识, 从而减轻了 元数据服务器的工作负载。
本发明实施例提供的对象存储系统中, 当有对象存储设备加入时, 如对象存储设备 1061 ( L+1 )加入时, 对象存储设备 1061 ( L+1 ) 向 控制器 104注册,向控制器 104注册的信息包括对象存储设备 1061( L+1 ) 的 MAC地址、 与交换机 1051通信的端口号以及存储空间。 控制器 104 接收对象存储设备 1061 ( L+1 )的注册信息后,记录对象存储设备 1061 ( L+1 ) 的注册信息, 并且制定转发规则, 生成新的流表项, 并向交 换机 1051下发该流表项。
本发明实施例提供的对象存储系统中, 当对象存储系统中的对象 存储设备由于故障或者其他原因退出时, 如以对象存储设备 1061L退 出为例,控制器 104收到对象存储设备 1061L状态变化消息, 消息中携 带对象存储设备 1061L的 MAC地址、与交换机 1051通信的端口号以及 存储空间信息, 控制器 104根据该状态变化消息, 则控制器 104删除转 发规则为向对象存储设备 1061L转发的流表项。 对转发规则为向对象 存储设备 1061L转发对象读取请求的流表项,控制器 104生成转发规则 为向对象存储设备 1061L的冗余对象存储设备转发的流表项。 其中, 冗余对象存储设备为存储对象存储设备 1061L中的对象的对象存储设 备。
因此, 在对象存储系统中使用软件定义网络, 实现了对象存储系 统的对象存储设备的增加或减少, 增强了对象存储系统的灵活性。
根据存储系统中操作请求处理方法实施例描述, 控制器 104提供 了生成流表项转发规则的方法, 如图 8所示, 包括:
步骤 801: 控制器获取与交换机通信的存储设备剩余存储空间信 息;
步骤 802: 所述控制器根据所述存储设备剩余存储空间信息, 生 成与写入请求匹配的转发规则,所述写入请求用于向与所述交换机通 信的存储设备写入数据。
其中一种实施方式,所述控制器获取与所述交换机通信的存储设 备剩余存储空间信息, 具体包括: 所述控制器接收所述存储设备上报 的剩余存储空间信息。
其中一种实施方式,所述控制器获取与所述交换机通信的存储设 备剩余存储空间信息, 具体包括: 所述控制器获取所述交换机流表中 流表项记录的向所述存储设备转发写入请求次数及写入数据大小;所 述控制器根据所述存储设备的存储空间、所述写入请求次数及写入数 据大小, 计算所述存储设备的剩余存储空间。
具体地, 在对象存储系统中, 本发明实施例控制器 104提供了生 成流表项转发规则的方法中, 存储设备具体为对象存储设备, 写入请 求具体为对象写入请求,则根据对象写入请求写入到对象存储设备的 数据为对象。
本发明实施例提供的存储系统中,基于软件定义网络中的控制器 根据存储设备剩余存储空间信息,生成与写入请求匹配的流表项的转 发规则, 从而使交换机根据控制器生成的转发规则处理写入请求, 实 现了存储设备负载均衡, 减少了存储设备之间的信息交互。 本发明实 施例适用的存储系统可以为文件级存储系统、数据块级存储系统或对 象存储系统。 也可以包含文件级存储系统、数据块级存储系统和对象 存储系统中至少两种的存储系统。对于对象存储系统的适用, 具体可 以参见上述对象操作系统中处理对象操作请求的实施例,在此不再赘 述。
根据存储系统中操作请求处理方法实施例描述, 控制器 104提供 了生成流表项转发规则的方法, 如图 9所示, 包括:
901: 控制器获取存储所请求数据的存储设备的流量负载信息;
902: 所述控制器根据所述存储所请求数据的存储设备的流量负 载信息, 生成与读取请求匹配的转发规则。
其中一种实施方式,所述控制器获取所述存储所请求数据的存储 设备的流量负载信息, 具体包括: 所述控制器接收所述存储所请求数 据的存储设备上报的流量负载信息。
其中一种实施方式,所述控制器获取所述存储所请求数据的存储 设备的流量负载信息, 具体包括: 所述控制器获取所述交换机流表中 流表项记录的向所述存储所请求数据的存储设备转发操作请求的次 数; 其中, 所述操作请求包括写入请求和读取请求。
具体地, 在对象存储系统中, 本发明实施例控制器 104提供了生 成流表项转发规则的方法中, 存储设备具体为对象存储设备, 读取请 求具体为对象读取请求,则根据对象读取请求所请求的存储在对象存 储设备的数据为对象。 本发明实施例提供的存储系统中,基于软件定义网络中的控制器 根据存储所请求数据的存储设备的流量负载,生成与读取请求匹配的 流表项的转发规则,从而使交换机根据控制器生成的转发规则处理读 取请求,实现了存储设备负载均衡,减少了存储设备之间的信息交互。 本发明实施例适用的存储系统可以为文件级存储系统、数据块级存储 系统或对象存储系统。 也可以包含文件级存储系统、数据块级存储系 统和对象存储系统中至少两种的混合存储系统。对于对象存储系统的 适用,具体可以参见上述对象操作系统中处理对象操作请求的实施例, 在此不再赘述。
本发明上述各实施例, 在存储系统中使用软件定义网络, 在软件 定义网络中, 控制器具体实现可以为一台通用服务器,运行控制器软 件, 从而实现对处于数据转发平面的交换机的控制。 通用服务器的结 构通常包括中央处理器、 内存等, 中央处理器与内存之间通过总线连 接, 并且控制器与交换机进行上述实施例所描述的通信。对于处理数 据转发平面的交换机, 可以为通用交换机或为 Openflow交换机, 包括 中央处理器、 内存等, 中央处理器与内存之间通过总线连接, 并且与 控制器进行上述实施例所描述的通信,同时实现对象操作请求的转发。 本发明实施例中的控制器和交换机只是一种示例性描述,其他可以实 现软件定义网络的交换机和控制器也可以用于实现本发明。
根据上述发明方法实施例的描述,本发明实施例提供了一种交换 机,如图 10所示,包括接收单元 1001、查询单元 1002和转发单元 1003; 其中, 接收单元 1001 , 用于接收操作请求, 所述操作请求携带请求标 识; 其中, 所述请求标识包括用户组信息和存储策略信息中的至少一 种; 查询单元 1002 , 用于根据所述请求标识查询交换机的流表, 获得 与所述操作请求匹配的流表项; 转发单元 1003 , 用于根据所述匹配的 流表项的转发规则,向存储设备中的目标存储设备转发所述操作请求。 如图 10所示的交换机, 其中, 当所述操作请求为读取请求时, 所 述匹配的流表项的转发规则是由所述控制器根据存储所请求数据的 存储设备流量负载制定的。 当所述操作请求为写入请求时, 所述的匹 配流表项的转发规则是由所述控制器根据所述存储设备剩余存储空 间制定的。
具体地, 在对象存储系统中, 接收单元 1001 , 用于接收对象操作 请求, 所述对象操作请求携带请求标识; 其中, 所述请求标识包括用 户组信息和存储策略信息中的至少一种; 查询单元 1002 , 用于根据所 述请求标识查询交换机的流表,获得与所述对象操作请求匹配的流表 项; 转发单元 1003 , 用于根据所述匹配的流表项的转发规则, 向对象 存储设备中的目标对象存储设备转发所述对象操作请求。 其中, 当所 述对象操作请求为对象读取请求时,所述匹配的流表项的转发规则是 由所述控制器根据存储所请求对象的对象存储设备流量负载制定的。 当所述对象操作请求为对象写入请求时,所述匹配的流表项的转发转 发规则是由所述控制器根据所述对象存储设备剩余存储空间制定的。
本发明实施例提供的存储系统中,在将携带请求标识的操作请求 通过软件定义网络中的交换机转发至对应的存储设备的处理方法,控 制器制定交换机流表项中的转发规则,交换机根据流表项中的转发规 则转发操作请求, 实现了存储设备负载均衡, 减少了存储设备之间的 信息交互。
根据上述发明方法实施例的描述,本发明实施例提供了一种控制 器, 如图 11所示, 包括获取单元 1101和生成单元 1102; 其中, 获取单 元 1101 , 用于获取与交换机通信的存储设备剩余存储空间信息; 生成 单元 1102 , 用于根据所述存储设备剩余存储空间信息, 生成与写入请 求匹配的转发规则,所述写入请求用于向与所述交换机通信的存储设 备写入数据。 一种实施方式, 所述获取单元 1101 , 具体用于: 接收所 述存储设备上报的剩余存储空间信息; 一种实施方式, 所述获取单元
1101 , 具体用于: 获取所述交换机流表中流表项记录的向所述存储设 备转发写入请求次数及写入数据大小;根据所述存储设备的存储空间、 所述写入请求次数及写入数据大小,计算所述存储设备的剩余存储空 间。
具体地, 在对象存储系统中, 获取单元 1101 , 用于获取与交换机 通信的对象存储设备剩余存储空间信息; 生成单元 1102 , 用于根据所 述对象存储设备剩余存储空间信息,生成与对象写入请求匹配的转发 规则,所述对象写入请求用于向与所述交换机通信的对象存储设备写 入对象。 一种实施方式, 所述获取单元 1101 , 具体用于: 接收所述对 象存储设备上报的剩余存储空间信息; 一种实施方式, 所述获取单元
1101 , 具体用于: 获取所述交换机流表中流表项记录的向所述对象存 储设备转发对象写入请求次数及写入对象大小;根据所述对象存储设 备的存储空间、 所述对象写入请求次数及写入对象大小, 计算所述对 象存储设备的剩余存储空间。
本发明实施例提供的控制器, 利用软件定义网络, 控制器根据存 储系统各存储设备剩余存储空间制定交换机流表项与写入请求匹配 的转发规则, 从而实现各存储设备的负载均衡, 减少存储设备之间的 信息交互。
根据上述发明方法实施例的描述,本发明实施例提供了一种控制 器, 如图 11所示, 所述控制器包括获取单元 1101和生成单元 1102; 本 发明实施例中, 获取单元 1101 , 用于获取存储所请求数据的存储设备 的流量负载信息; 生成单元 1102 , 用于根据所述存储所请求数据的存 储设备的流量负载信息, 生成与读取请求匹配的转发规则。一种实施 方式, 所述获取单元 1101 , 具体用于: 接收所述存储所请求数据的存 储设备上报的流量负载信息; 一种实施方式, 所述获取单元 1101 , 具 体用于:获取所述交换机流表中流表项记录的向所述存储所请求数据 的存储设备转发操作请求的次数; 其中, 所述操作请求包括写入请求 和读取请求。
具体地, 在对象存储系统中, 获取单元 1101 , 用于获取存储所请 求对象的对象存储设备的流量负载信息; 生成单元 1102 , 用于根据所 述存储所请求对象的对象存储设备的流量负载信息,生成与对象读取 请求匹配的转发规则。 其中一种实施方式, 所述获取单元 1101 , 具体 用于:接收所述存储所请求对象的对象存储设备上报的流量负载信息。 其中一种实施方式, 所述获取单元 1101 , 具体用于: 获取所述交换机 流表中流表项记录的向所述存储所请求对象的对象存储设备转发对 象操作请求的次数; 其中, 所述对象操作请求包括对象写入请求和对 象读取请求。
本发明实施例提供的控制器, 利用软件定义网络, 控制器根据存 储系统存储被请求数据的存储设备的流量负载制定交换机流表项与 读取请求匹配的转发规则, 从而实现各存储设备的负载均衡, 减少存 储设备之间的信息交互。
本发明上述装置实施例描述的交换机、控制器具体功能描述还可 以参照方法实施例, 同时所使用的场景可以参照图 2所示的架构图及 描述, 在此不再赘述。
本领域普通技术人员可以意识到, 结合本文中所公开的实施 例描述的各示例的单元及算法步骤, 能够以电子硬件、 或者计算 机软件和电子硬件的结合来实现。 这些功能究竟以硬件还是软件 方式来执行, 取决于技术方案的特定应用和设计约束条件。 专业 技术人员可以对每个特定的应用来使用不同方法来实现所描述的 功能, 但是这种实现不应认为超出本发明的范围。
所属领域的技术人员可以清楚地了解到, 为描述的方便和筒 洁, 上述描述的系统、 装置和单元的具体工作过程, 可以参考前 述方法实施例中的对应过程, 在此不再赞述。 在本申请所提供的几个实施例中,应该理解到,所公开的系统、 方法, 可以通过其它的方式实现。 例如, 以上所描述的装置实施 例仅仅是示意性的, 例如, 所述单元的划分, 仅仅为一种逻辑功 能划分, 实际实现时可以有另外的划分方式, 例如多个单元或组 件可以结合或者可以集成到另一个系统, 或一些特征可以忽略, 或不执行。 另一点, 所显示或讨论的相互之间的耦合或直接耦合 或通信连接可以是通过一些接口, 装置或单元的间接耦合或通信 连接, 可以是电性, 机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上 分开的, 作为单元显示的部件可以是或者也可以不是物理单元, 即可以位于一个地方, 或者也可以分布到多个网络单元上。 可以 根据实际的需要选择其中的部分或者全部单元来实现本实施例方 案的目的。
另外, 在本发明各个实施例中的各功能单元可以集成在一个 处理单元中, 也可以是各个单元单独物理存在, 也可以两个或两 个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品 销售或使用时, 可以存储在一个计算机可读取非易失性存储介质 中。 基于这样的理解, 本发明的技术方案本质上或者说对现有技 术做出贡献的部分或者该技术方案的部分可以以软件产品的形式 体现出来, 该计算机软件产品存储在一个非易失性存储介质中, 包括若干指令用以使得一台计算机设备(可以是个人计算机, 服 务器, 或者网络设备等) 执行本发明各个实施例所述方法的全部 或部分步骤。而前述的非易失性存储介质包括: U盘、移动硬盘、 只读存储器 (ROM, Read-Only Memory ) 、 磁碟或者光盘等各种 可以存储程序代码的介质。
以上所述, 仅为本发明的具体实施方式, 但本发明的保护范 围并不局限于此, 任何熟悉本技术领域的技术人员在本发明揭露 的技术范围内, 可轻易想到变化或替换, 都应涵盖在本发明的保 护范围之内。 因此, 本发明的保护范围应所述以权利要求的保护 范围为准。

Claims

权利要求
1、 一种存储系统中的操作请求处理方法, 其特征在于, 所述存 储系统包括: 控制器、 交换机和与所述交换机通信的存储设备, 所述 控制器与所述交换机通信,所述控制器用于制定并下发所述交换机的 流表; 所述方法包括:
所述交换机接收操作请求, 所述操作请求携带请求标识; 其中, 所述请求标识包括用户组信息和存储策略信息中的至少一种;
所述交换机根据所述请求标识查询所述交换机的流表,获得与所 述操作请求匹配的流表项;
所述交换机根据所述匹配的流表项的转发规则,向所述存储设备 中的目标存储设备转发所述操作请求。
2、 如权利要求 1所述的方法, 其特征在于,
当所述请求标识为用户组信息时,所述操作请求的虚拟局域网络 标识位携带所述用户组信息,所述匹配的流表项的包头域的虚拟局域 网络标识位携带所述用户组信息; 或
当所述请求标识为存储策略信息时,所述操作请求的互联网协议 服务类型位携带所述存储策略信息,所述匹配的流表项的包头域的互 联网协议服务类型位携带所述存储策略信息; 或
当所述请求标识为用户组信息和存储策略信息时,所述操作请求 的虚拟局域网络标识位携带所述用户组信息,所述操作请求的互联网 协议服务类型位携带所述存储策略信息,所述匹配的流表项的包头域 的虚拟局域网络标识位携带所述用户组信息,所述包头域的互联网协 议服务类型位携带所述存储策略信息。
3、 如权利要求 1或 2所述的方法, 其特征在于, 当所述操作请求 为读取请求时,所述匹配的流表项的转发规则是由所述控制器根据存 储所请求数据的存储设备流量负载制定的。
4、 如权利要求 3所述的方法, 其特征在于, 还包括:
所述交换机更新所述匹配的流表项中记录的向所述目标存储设 备转发读取请求的次数。
5、 如权利要求 1或 2所述的方法, 其特征在于, 当所述操作请求 为写入请求时,所述匹配的流表项的转发规则是由所述控制器根据所 述存储设备剩余存储空间制定的。
6、 如权利要求 5所述的方法, 其特征在于, 还包括:
所述交换机更新所述匹配的流表项中记录的向所述目标存储设 备转发写入请求的次数。
7、 一种生成流表项转发规则的方法, 其特征在于, 所述方法应 用于存储系统, 所述存储系统包括: 控制器、 交换机和与所述交换机 通信的存储设备, 所述控制器与所述交换机通信, 所述控制器用于制 定并下发所述交换机的流表; 所述方法包括:
所述控制器获取与所述交换机通信的存储设备剩余存储空间信 息;
所述控制器根据所述存储设备剩余存储空间信息,生成与写入请 求匹配的转发规则,所述写入请求用于向与所述交换机通信的存储设 备写入数据。
8、 如权利要求 7所述的方法, 其特征在于, 所述控制器获取与所 述交换机通信的存储设备剩余存储空间信息, 具体包括:
所述控制器接收所述存储设备上报的剩余存储空间信息。
9、 如权利要求 7所述的方法, 其特征在于, 所述控制器获取与所 述交换机通信的存储设备剩余存储空间信息, 具体包括:
所述控制器获取所述交换机流表中流表项记录的向所述存储设 备转发写入请求次数及写入数据大小;
所述控制器根据所述存储设备的存储空间、所述写入请求次数及 写入数据大小, 计算所述存储设备的剩余存储空间。
10、 一种生成流表项转发规则的方法, 其特征在于, 所述方法应 用于存储系统, 所述存储系统包括: 控制器、 交换机和与所述交换机 通信的存储设备, 所述控制器与所述交换机通信, 所述控制器用于制 定并下发所述交换机的流表; 所述方法包括:
所述控制器获取存储所请求数据的存储设备的流量负载信息; 所述控制器根据所述存储所请求数据的存储设备的流量负载信 息, 生成与读取请求匹配的转发规则。
11、 如权利要求 10所述的方法, 其特征在于, 所述控制器获取所 述存储所请求数据的存储设备的流量负载信息, 具体包括:
所述控制器接收所述存储所请求数据的存储设备上报的流量负 载信息。
12、 如权利要求 10所述的方法, 其特征在于, 所述控制器获取所 述存储所请求数据的存储设备的流量负载信息, 具体包括:
所述控制器获取所述交换机流表中流表项记录的向所述存储所 请求数据的存储设备转发操作请求的次数; 其中, 所述操作请求包括 写入请求和读取请求。
13、 一种交换机, 其特征在于, 所述交换机应用于存储系统, 所 述存储系统包括: 控制器、 所述交换机和与所述交换机通信的存储设 备, 所述控制器与所述交换机通信, 所述控制器用于制定并下发所述 交换机的流表; 所述交换机包括:
接收单元, 用于接收操作请求, 所述操作请求携带请求标识; 其 中, 所述请求标识包括用户组信息和存储策略信息中的至少一种; 查询单元, 用于根据所述请求标识查询所述交换机的流表, 获得 与所述操作请求匹配的流表项;
转发单元, 用于根据所述匹配的流表项的转发规则, 向所述存储 设备中的目标存储设备转发所述操作请求。
14、 如权利要求 1 3所述的交换机, 其特征在于, 当所述操作请求 为读取请求时,所述匹配的流表项的转发规则是由所述控制器根据存 储所请求数据的存储设备流量负载制定的。
15、 如权利要求 1 3所述的交换机, 其特征在于, 当所述操作请求 为写入请求时,所述匹配的流表项的转发规则是由所述控制器根据所 述存储设备剩余存储空间制定的。
16、 一种控制器, 其特征在于, 所述控制器应用于存储系统, 所 述存储系统包括: 所述控制器、 交换机和与所述交换机通信的存储设 备, 所述控制器与所述交换机通信, 所述控制器用于制定并下发所述 交换机的流表; 所述控制器包括:
获取单元,用于获取与所述交换机通信的存储设备剩余存储空间 信息;
生成单元, 用于根据所述存储设备剩余存储空间信息, 生成与写 入请求匹配的转发规则,所述写入请求用于向与所述交换机通信的存 储设备写入数据。
17、 如权利要求 16所述的控制器, 其特征在于, 所述获取单元, 具体用于: 接收所述存储设备上报的剩余存储空间信息。
18、 如权利要求 16所述的控制器, 其特征在于, 所述获取单元, 具体用于:获取所述交换机流表中流表项记录的向所述存储设备转发 写入请求次数及写入数据大小;
根据所述存储设备的存储空间、所述写入请求次数及写入数据大 小, 计算所述存储设备的剩余存储空间。
19、 一种控制器, 其特征在于, 所述控制器应用于存储系统, 所 述存储系统包括: 所述控制器、 交换机和与所述交换机通信的存储设 备, 所述控制器与所述交换机通信, 所述控制器用于制定并下发所述 交换机的流表; 所述控制器包括:
获取单元,用于获取存储所请求数据的存储设备的流量负载信息; 生成单元,用于根据所述存储所请求数据的存储设备的流量负载 信息, 生成与读取请求匹配的转发规则。
20、 如权利要求 19所述的控制器, 其特征在于, 所述获取单元, 具体用于:接收所述存储所请求数据的存储设备上报的流量负载信息。
21、 如权利要求 19所述的控制器, 其特征在于, 所述获取单元, 具体用于:获取所述交换机流表中流表项记录的向所述存储所请求数 据的存储设备转发操作请求的次数; 其中, 所述操作请求包括写入请 求和读取请求。
22、 一种交换机, 其特征在于, 所述交换机应用于存储系统, 所 述存储系统包括: 控制器、 所述交换机和与所述交换机通信的存储设 备, 所述控制器与所述交换机通信, 所述控制器用于制定并下发所述 交换机的流表; 所述交换机包括中央处理器和内存, 所述中央处理器 和所述内存通过总线连接, 所述内存用于存储计算机指令, 所述中央 处理器执行所述内存中存储的所述计算机指令, 实现权利要求 1 -6任 一所述方法。
23、 一种控制器, 其特征在于, 所述控制器应用于存储系统, 所 述存储系统包括: 所述控制器、 交换机和与所述交换机通信的存储设 备, 所述控制器与所述交换机通信, 所述控制器用于制定并下发所述 交换机的流表; 所述控制器包括中央处理器和内存, 所述中央处理器 和所述内存通过总线连接, 所述内存用于存储计算机指令, 所述中央 处理器执行所述内存中存储的所述计算机指令, 实现如权利要求 7-9 任一所述的方法。
24、 一种控制器, 其特征在于, 所述控制器应用于存储系统, 所 述存储系统包括: 所述控制器、 交换机和与所述交换机通信的存储设 备, 所述控制器与所述交换机通信, 所述控制器用于制定并下发所述 交换机的流表; 所述控制器包括中央处理器和内存, 所述中央处理器 和所述内存通过总线连接, 所述内存用于存储计算机指令, 所述中央 处理器执行所述内存中存储的所述计算机指令, 实现如权利要求
1 0-1 2任一所述的方法。
25、 一种非易失性计算机可读存储介质, 其特征在于, 所述计算 机存储介质存储计算机指令, 当计算机执行所述计算机指令时, 用于 实现如权利要求 1-6任一所述的方法。
26、 一种非易失性计算机可读存储介质, 其特征在于, 所述计算 机存储介质存储计算机指令, 当计算机执行所述计算机指令时, 用于 实现如权利要求 7-9任一所述的方法。
27、 一种非易失性计算机可读存储介质, 其特征在于, 所述计算 机存储介质存储计算机指令, 当计算机执行所述计算机指令时, 用于 实现如权利要求 1 0-12任一所述的方法。
PCT/CN2013/082755 2013-08-31 2013-08-31 存储系统中操作请求处理方法和装置 WO2015027506A1 (zh)

Priority Applications (11)

Application Number Priority Date Filing Date Title
CA2922204A CA2922204C (en) 2013-08-31 2013-08-31 Method and apparatus for processing operation request in storage system
EP13883349.6A EP2858329B1 (en) 2013-08-31 2013-08-31 Method and device for generating a flow table entry forwarding rule
KR1020167007130A KR101864813B1 (ko) 2013-08-31 2013-08-31 저장 시스템에서 조작 요청을 처리하기 위한 방법 및 장치
CN201380001099.0A CN104823428B (zh) 2013-08-31 2013-08-31 存储系统中操作请求处理方法和装置
AU2013398869A AU2013398869B2 (en) 2013-08-31 2013-08-31 Method and apparatus for processing operation request in storage system
KR1020177031457A KR101816627B1 (ko) 2013-08-31 2013-08-31 저장 시스템에서 조작 요청을 처리하기 위한 방법 및 장치
RU2016111127A RU2630377C1 (ru) 2013-08-31 2013-08-31 Способ и устройство для обработки запроса операции в системе хранения данных
JP2016537070A JP6275850B2 (ja) 2013-08-31 2013-08-31 ストレージシステムにおいて操作要求を処理するための方法及び装置
PCT/CN2013/082755 WO2015027506A1 (zh) 2013-08-31 2013-08-31 存储系统中操作请求处理方法和装置
US14/583,456 US10009269B2 (en) 2013-08-31 2014-12-26 Method and apparatus for processing operation request in storage system
US15/871,317 US10218618B2 (en) 2013-08-31 2018-01-15 Method and apparatus for processing operation request in storage system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2013/082755 WO2015027506A1 (zh) 2013-08-31 2013-08-31 存储系统中操作请求处理方法和装置

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US14/583,456 Continuation US10009269B2 (en) 2013-08-31 2014-12-26 Method and apparatus for processing operation request in storage system

Publications (1)

Publication Number Publication Date
WO2015027506A1 true WO2015027506A1 (zh) 2015-03-05

Family

ID=52585440

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2013/082755 WO2015027506A1 (zh) 2013-08-31 2013-08-31 存储系统中操作请求处理方法和装置

Country Status (9)

Country Link
US (2) US10009269B2 (zh)
EP (1) EP2858329B1 (zh)
JP (1) JP6275850B2 (zh)
KR (2) KR101864813B1 (zh)
CN (1) CN104823428B (zh)
AU (1) AU2013398869B2 (zh)
CA (1) CA2922204C (zh)
RU (1) RU2630377C1 (zh)
WO (1) WO2015027506A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105024990A (zh) * 2015-03-30 2015-11-04 清华大学 网络安全攻防演练环境部署方法及装置

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150363423A1 (en) * 2014-06-11 2015-12-17 Telefonaktiebolaget L M Ericsson (Publ) Method and system for parallel data replication in a distributed file system
US10469580B2 (en) * 2014-12-12 2019-11-05 International Business Machines Corporation Clientless software defined grid
US10554749B2 (en) 2014-12-12 2020-02-04 International Business Machines Corporation Clientless software defined grid
US20160216891A1 (en) * 2015-01-27 2016-07-28 Cisco Technology, Inc. Dynamic storage fabric
US10216594B2 (en) 2015-04-30 2019-02-26 International Business Machines Corporation Automated stalled process detection and recovery
US10168904B2 (en) 2015-04-30 2019-01-01 International Business Machines Corporation Quasi-error notifications in a dispersed storage network
US10037171B2 (en) * 2015-04-30 2018-07-31 International Business Machines Corporation Accessing common data in a dispersed storage network
US10254992B2 (en) 2015-04-30 2019-04-09 International Business Machines Corporation Rebalancing data storage in a dispersed storage network
CN104883321B (zh) * 2015-05-05 2017-11-17 浙江大学 一种基于交换机负载的域内负载均衡方法
CN106302184B (zh) * 2015-06-12 2020-02-14 华为技术有限公司 一种流表项下发方法、流表项保存方法、相关装置和系统
CN106411820B (zh) * 2015-07-29 2019-05-21 中国科学院沈阳自动化研究所 一种基于sdn架构的工业通信流传输安全控制方法
CN106385365B (zh) * 2015-08-07 2019-09-06 新华三技术有限公司 基于开放流Openflow表实现云平台安全的方法和装置
US10171336B2 (en) * 2015-12-16 2019-01-01 Telefonaktiebolaget Lm Ericsson (Publ) Openflow configured horizontally split hybrid SDN nodes
CN107872343B (zh) * 2016-09-28 2022-05-06 中兴通讯股份有限公司 流量转发控制方法、装置及软件定义网络控制器
US10560527B2 (en) * 2017-03-02 2020-02-11 Dell Products, L.P. Network service chains using hardware logic devices in an information handling system
CN107317887B (zh) * 2017-08-23 2019-10-18 北京知道创宇信息技术股份有限公司 一种负载均衡方法、装置和系统
CN110445671B (zh) * 2019-06-27 2020-11-27 浪潮思科网络科技有限公司 一种基于sdn的网络流量监控方法
CN115867901A (zh) 2020-08-21 2023-03-28 富士胶片株式会社 信息处理装置、信息处理方法及信息处理程序
CN113132240B (zh) * 2021-04-21 2023-02-10 北京字节跳动网络技术有限公司 数据包处理、转发方法、装置、集成芯片、交换机及系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101471882A (zh) * 2007-12-27 2009-07-01 株式会社日立制作所 存储子系统
US7778981B2 (en) * 2000-12-01 2010-08-17 Netapp, Inc. Policy engine to control the servicing of requests received by a storage server
CN102622185A (zh) * 2011-01-27 2012-08-01 北京东方广视科技股份有限公司 在多个存储单元中存储文件的方法以及存储分配方法
CN102647362A (zh) * 2012-04-27 2012-08-22 浪潮电子信息产业股份有限公司 一种多控制器存储系统负载均衡的方法
US8392586B2 (en) * 2001-05-15 2013-03-05 Hewlett-Packard Development Company, L.P. Method and apparatus to manage transactions at a network storage device

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09322202A (ja) * 1996-05-27 1997-12-12 Canon Inc 多重化伝送方法及びこれを用いたネットワークシステム
JP2006247954A (ja) 2005-03-09 2006-09-21 Fuji Photo Film Co Ltd 機能性フィルム、偏光板および液晶表示装置
JP2008071039A (ja) * 2006-09-13 2008-03-27 Toshiba Corp 画像管理装置及び画像管理システム
JP4326552B2 (ja) * 2006-10-12 2009-09-09 株式会社日立製作所 バックエンドで他のストレージシステムと通信するストレージシステム
JP2010146215A (ja) * 2008-12-17 2010-07-01 Hitachi Ltd クラスタストレージ装置、クラスタストレージシステム、及びその制御方法
WO2011074630A1 (ja) 2009-12-17 2011-06-23 日本電気株式会社 負荷分散システム、負荷分散方法、負荷分散システムを構成する装置およびプログラム
WO2011083682A1 (ja) * 2010-01-05 2011-07-14 日本電気株式会社 スイッチネットワークシステム、コントローラ、及び制御方法
JP5804061B2 (ja) * 2010-12-02 2015-11-04 日本電気株式会社 通信システム、制御装置、通信方法およびプログラム
US9130886B2 (en) 2011-06-16 2015-09-08 Nec Corporation Communication system, controller, switch, storage managing apparatus and communication method
EP2759101B1 (en) * 2011-09-22 2019-11-27 NEC Corporation Communication terminal, communication method, and program
JP5850131B2 (ja) * 2012-02-20 2016-02-03 日本電気株式会社 ネットワークシステム、リソース使用率改善方法
US9390055B2 (en) * 2012-07-17 2016-07-12 Coho Data, Inc. Systems, methods and devices for integrating end-host and network resources in distributed memory
US8837476B2 (en) * 2012-09-07 2014-09-16 International Business Machines Corporation Overlay network capable of supporting storage area network (SAN) traffic
WO2014084198A1 (ja) * 2012-11-27 2014-06-05 日本電気株式会社 ストレージエリアネットワークシステム、制御装置、アクセス制御方法及びプログラム

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7778981B2 (en) * 2000-12-01 2010-08-17 Netapp, Inc. Policy engine to control the servicing of requests received by a storage server
US8392586B2 (en) * 2001-05-15 2013-03-05 Hewlett-Packard Development Company, L.P. Method and apparatus to manage transactions at a network storage device
CN101471882A (zh) * 2007-12-27 2009-07-01 株式会社日立制作所 存储子系统
CN102622185A (zh) * 2011-01-27 2012-08-01 北京东方广视科技股份有限公司 在多个存储单元中存储文件的方法以及存储分配方法
CN102647362A (zh) * 2012-04-27 2012-08-22 浪潮电子信息产业股份有限公司 一种多控制器存储系统负载均衡的方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP2858329A4 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105024990A (zh) * 2015-03-30 2015-11-04 清华大学 网络安全攻防演练环境部署方法及装置

Also Published As

Publication number Publication date
CA2922204C (en) 2021-01-26
EP2858329A1 (en) 2015-04-08
KR101816627B1 (ko) 2018-01-09
JP2016537735A (ja) 2016-12-01
KR101864813B1 (ko) 2018-06-05
US10009269B2 (en) 2018-06-26
CA2922204A1 (en) 2015-03-05
CN104823428A (zh) 2015-08-05
KR20160044555A (ko) 2016-04-25
JP6275850B2 (ja) 2018-02-07
US20150110116A1 (en) 2015-04-23
KR20170124627A (ko) 2017-11-10
EP2858329B1 (en) 2017-05-24
EP2858329A4 (en) 2015-12-02
US20180139134A1 (en) 2018-05-17
AU2013398869B2 (en) 2017-10-12
US10218618B2 (en) 2019-02-26
AU2013398869A1 (en) 2016-03-24
RU2630377C1 (ru) 2017-09-07
CN104823428B (zh) 2019-05-10

Similar Documents

Publication Publication Date Title
WO2015027506A1 (zh) 存储系统中操作请求处理方法和装置
US9609086B2 (en) Virtual machine mobility using OpenFlow
WO2015043327A1 (zh) 路由方法、设备和系统
WO2015180040A1 (zh) 流表管理方法及相关设备和系统
US10728335B2 (en) Data processing method, storage system, and switching device
EP3179687B1 (en) Network flow information statistics method and apparatus
US10122654B2 (en) Divided hierarchical network system based on software-defined networks
US9832255B2 (en) Event distribution method, control device, and processor on software-defined network
US10061519B2 (en) Storage system, method, and apparatus for processing multi-layer protocol encapsulation or decapsulation operation requests
JP6287859B2 (ja) 通信ノード、制御装置、制御情報エントリの管理方法及びプログラム
WO2015027401A1 (zh) 报文处理方法、设备及系统
JP6545236B2 (ja) ストレージシステムにおいて操作要求を処理するための方法及び装置
JP6070863B2 (ja) パケット処理方法及び転送要素
US20150381775A1 (en) Communication system, communication method, control apparatus, control apparatus control method, and program
CN108111461B (zh) 实现虚拟机访问管理网络的方法、装置、网关及系统
WO2015100751A1 (zh) 一种转发报文的方法和装置
WO2014067384A1 (zh) 一种转发表的生成方法及装置

Legal Events

Date Code Title Description
REEP Request for entry into the european phase

Ref document number: 2013883349

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 2013883349

Country of ref document: EP

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

Ref document number: 13883349

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2922204

Country of ref document: CA

ENP Entry into the national phase

Ref document number: 2016537070

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 20167007130

Country of ref document: KR

Kind code of ref document: A

ENP Entry into the national phase

Ref document number: 2013398869

Country of ref document: AU

Date of ref document: 20130831

Kind code of ref document: A

ENP Entry into the national phase

Ref document number: 2016111127

Country of ref document: RU

Kind code of ref document: A