CN113220243A - Method, device and equipment for multi-controller data transmission and readable medium - Google Patents

Method, device and equipment for multi-controller data transmission and readable medium Download PDF

Info

Publication number
CN113220243A
CN113220243A CN202110771574.9A CN202110771574A CN113220243A CN 113220243 A CN113220243 A CN 113220243A CN 202110771574 A CN202110771574 A CN 202110771574A CN 113220243 A CN113220243 A CN 113220243A
Authority
CN
China
Prior art keywords
subsystem
layer
controller
controllers
data block
Prior art date
Legal status (The legal status 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 status listed.)
Granted
Application number
CN202110771574.9A
Other languages
Chinese (zh)
Other versions
CN113220243B (en
Inventor
刘志魁
王艳清
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Suzhou Inspur Intelligent Technology Co Ltd
Original Assignee
Suzhou Inspur Intelligent Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Suzhou Inspur Intelligent Technology Co Ltd filed Critical Suzhou Inspur Intelligent Technology Co Ltd
Priority to CN202110771574.9A priority Critical patent/CN113220243B/en
Publication of CN113220243A publication Critical patent/CN113220243A/en
Application granted granted Critical
Publication of CN113220243B publication Critical patent/CN113220243B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0658Controller construction arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]

Landscapes

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

Abstract

The invention discloses a method for transmitting data of multiple controllers, which comprises the following steps: responding to IO data which are received by a first-layer subsystem of a first controller and contain a disk-dropping address and a data block, and sending the IO data to first-layer subsystems of other controllers; the first controller and the other controllers respectively reserve the data blocks in the respective first-layer subsystems based on the disk-drop addresses; a first-layer subsystem of a first controller sends a message header containing a disk-dropping address to a non-first-layer subsystem, and the non-first-layer subsystem sends the message header to non-first-layer subsystems of other controllers; and responding to the message header containing the disk-falling address received by other controllers, searching the corresponding data block from the first-layer subsystem based on the disk-falling address, and performing shallow copy and processing on the data block. The invention also discloses a corresponding device, computer equipment and a readable storage medium. The invention eliminates the data block transmission and true copy among controllers except the first-layer subsystem, and greatly improves the performance index of the system.

Description

Method, device and equipment for multi-controller data transmission and readable medium
Technical Field
The present invention relates to the field of data transmission technologies, and in particular, to a method, an apparatus, a device, and a readable medium for multi-controller data transmission.
Background
With the advent of the information age, people not only need to process various increasing information, but also more importantly, how to store the information for daily work and life service.
Multiple controllers and multiple subsystems in a storage system are necessary technologies. Especially under the condition of caching multiple copies, after part of nodes fail, the system can still work normally, and the multiple subsystems can complete different services in different subsystems. However, in practical applications, data transmission occupies a large amount of bandwidth resources, which further affects the working efficiency.
Take the simplest two controllers as an example of two subsystems: in the prior art, each subsystem of each controller is traversed with input and output of data, that is, a first subsystem of a first controller sends a data block to a first subsystem of a second controller, the first subsystem of the second controller transfers the data block to a second subsystem of the second controller, and then the second subsystem of the second controller sends the data block to the second subsystem of the first controller. Therefore, two data transmissions are required for each data block transmission, and the more the controllers and the subsystems are, the more the data transmission times are, the more the transmitted information data is, the more bandwidth resources are occupied, and the lower the system efficiency is.
Disclosure of Invention
In view of this, an object of the embodiments of the present invention is to provide a method, an apparatus, a device, and a readable medium for multi-controller data transmission, where IO data is reserved in a first-layer subsystem, and modification and replacement of the IO data reserved in the first-layer subsystem are prohibited, only a message header is transmitted between non-first-layer subsystems, and a data block is searched for and shallow copied from the first-layer subsystem through the message header, so that data block transmission and true copy between controllers except for the first-layer subsystem are eliminated, and performance indexes of the system, such as read-write times per second, throughput, and read-write delay, are greatly improved.
Based on the above object, an aspect of the embodiments of the present invention provides a method for multi-controller data transmission, including the following steps: responding to IO data containing a disk-dropping address and a data block received by a first-layer subsystem of a first controller, and sending the IO data to first-layer subsystems of other controllers; retaining, by the first controller and the other controllers, the data block in respective first-layer subsystems based on the landing address; sending a message header containing a disk-dropping address to a non-first-layer subsystem by a first-layer subsystem of the first controller, and sending the message header to non-first-layer subsystems of other controllers by the non-first-layer subsystem of the first controller; and in response to the other controllers receiving the message header containing the disk-dropping address, searching the corresponding data block from the respective first-layer subsystem based on the disk-dropping address, and performing shallow copy on the data block to perform data processing.
In some embodiments, further comprising: and in response to the completion of the processing of the data block by all non-first-layer subsystems of the first controller and the other controllers, the first controller and the other controllers clean the data block in the respective first-layer subsystems.
In some embodiments, in response to all non-first layer subsystems of the first controller and the other controller completing processing of the data block, then the first controller and the other controller cleaning the data block in the respective first layer subsystems comprises: receiving, by the non-first-layer subsystem of the first controller, a message that the processing of the data block by the other controller is completed, and sending the processed message to the first-layer subsystem of the first controller; sending, by the first-layer subsystem of the first controller, a message to clear the data block to the first-layer subsystems of the other controllers; clearing, by the first controller and the other controllers, the data blocks in the respective first layer subsystems.
In some embodiments, receiving, by the non-first layer subsystem of the first controller, a message that processing of the data block by the other controller is completed, and sending the message that processing is completed to the first layer subsystem of the first controller includes: in response to that the last-layer subsystem of the first controller as a current-layer subsystem receives a message that the data block processing by the current-layer subsystems of all the other controllers is completed, sending the message that the data block processing by all the controllers in the current-layer subsystem is completed to a previous-layer subsystem of the current-layer subsystem of the first controller; judging whether a previous subsystem of the current subsystem is a first-layer subsystem; and if the previous subsystem of the current subsystem is not the first-layer subsystem, taking the previous subsystem of the current subsystem as a new current subsystem, responding to all messages of the current subsystems of other controllers for processing the data blocks again, sending the messages of all controllers in the current subsystem for processing the data blocks to the previous subsystem of the current subsystem, and returning to the previous step.
In some embodiments, retaining, by the first controller and the other controller, the data block in the respective first-layer subsystems based on the landing addresses, respectively, comprises: and the first controller and the other controllers respectively reserve the data block in the respective first-layer subsystems based on the landing addresses and prohibit the operation of modifying or replacing the data block.
In some embodiments, sending, by the first-layer subsystem of the first controller to a non-first-layer subsystem, a message header including a landing address, and sending, by the non-first-layer subsystem of the first controller to the non-first-layer subsystem of the other controller, the message header includes: generating a message header by a first-layer subsystem of the first controller based on the landing address, the state information and the request information, and sending the message header to a non-first-layer subsystem; and sending the message header to the non-first layer subsystems of the other controllers by the non-first layer subsystem of the first controller.
In some embodiments, generating, by the first-layer subsystem of the first controller, a message header based on the landing address, the status information, and the request information, and sending the message header to a non-first-layer subsystem comprises: a first-layer subsystem of the first controller is used as a current-layer subsystem to generate a message header based on the landing address, the state information and the request information, and the message header is sent to a next-layer subsystem of the current-layer subsystem; judging whether a subsystem at the next layer of the current layer of subsystems is the last layer of subsystems or not; and if the next subsystem of the current subsystem is not the last subsystem, taking the next subsystem of the current subsystem as a new current subsystem, generating a new message header again based on the disk-dropping address, the state information and the request information, sending the new message header to the next subsystem of the current subsystem, and returning to the previous step.
In another aspect of the embodiments of the present invention, a device for transmitting data of multiple controllers is further provided, including: the first module is configured to send IO data to the first-layer subsystems of other controllers in response to the first-layer subsystem of the first controller receiving the IO data including the landing address and the data block; a second module configured to retain, by the first controller and the other controller, the data block in the respective first-layer subsystems based on the landing addresses, respectively; a third module, configured to send, by the first-layer subsystem of the first controller, a message header including a landing address to a non-first-layer subsystem, and send, by the non-first-layer subsystem of the first controller, the message header to the non-first-layer subsystems of the other controllers; and a fourth module, configured to, in response to the other controllers receiving a message header including a drop address, search the corresponding data block from the respective first-layer subsystem based on the drop address, and perform shallow copy on the data block to perform data processing.
The apparatus for multi-controller data transmission of the present invention further includes a fifth module configured to clear the data block in the respective first-layer subsystem by the first controller and the other controller in response to completion of processing the data block by all non-first-layer subsystems of the first controller and the other controllers.
In another aspect of the embodiments of the present invention, there is also provided a computer device, including: at least one processor; and a memory storing computer instructions executable on the processor, the instructions when executed by the processor implementing the steps of the method.
In a further aspect of the embodiments of the present invention, a computer-readable storage medium is also provided, in which a computer program for implementing the above method steps is stored when the computer program is executed by a processor.
The invention has the following beneficial technical effects: IO data are reserved in the first-layer subsystem, modification and replacement of the IO data reserved in the first-layer subsystem are forbidden, only a message header is transmitted between non-first-layer subsystems, a data block is searched for from the first-layer subsystem through the message header and is subjected to shallow copy, transmission and true copy of the data block between controllers except the first-layer subsystem are eliminated, and performance indexes such as read-write times per second, throughput and read-write time delay of the system are greatly improved.
Drawings
In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, the drawings used in the description of the embodiments or the prior art will be briefly described below, and it is obvious that the drawings in the following description are only some embodiments of the present invention, and it is obvious for those skilled in the art that other embodiments can be obtained by using the drawings without creative efforts.
FIG. 1 is a schematic diagram of an embodiment of a method for multi-controller data transmission provided by the present invention;
FIG. 2 is a schematic diagram of an embodiment of an apparatus for multi-controller data transmission provided by the present invention;
FIG. 3 is a schematic diagram of an embodiment of a computer device provided by the present invention;
FIG. 4 is a schematic diagram of an embodiment of a computer-readable storage medium provided by the present invention.
Detailed Description
In order to make the objects, technical solutions and advantages of the present invention more apparent, the following embodiments of the present invention are described in further detail with reference to the accompanying drawings.
It should be noted that all expressions using "first" and "second" in the embodiments of the present invention are used for distinguishing two entities with the same name but different names or different parameters, and it should be noted that "first" and "second" are merely for convenience of description and should not be construed as limitations of the embodiments of the present invention, and they are not described in any more detail in the following embodiments.
In view of the above objects, a first aspect of an embodiment of the present invention proposes an embodiment of a method for multi-controller data transmission. Fig. 1 is a schematic diagram illustrating an embodiment of a method for multi-controller data transmission provided by the present invention. As shown in fig. 1, the embodiment of the present invention includes the following steps:
s01, responding to the IO data containing the landing address and the data block received by the first-layer subsystem of the first controller, and sending the IO data to the first-layer subsystems of other controllers;
s02, the first controller and other controllers respectively reserve the data blocks in the respective first-layer subsystems based on the disk-dropping addresses;
s03, the first-layer subsystem of the first controller sends a message header containing a disk-dropping address to the non-first-layer subsystem, and the non-first-layer subsystem of the first controller sends the message header to the non-first-layer subsystems of other controllers; and
and S04, in response to the other controllers receiving the message header containing the disk-dropping address, searching the corresponding data block from the respective first-layer subsystem based on the disk-dropping address, and performing shallow copy on the data block for data processing.
In the embodiment, the method is applied to a scene with multiple controllers and multiple subsystems, IO data are reserved in the first-layer subsystem, modification and replacement of the IO data reserved in the first-layer subsystem are forbidden, only a message header is transmitted between non-first-layer subsystems, a data block is searched for the first-layer subsystem through the message header and is subjected to shallow copy, transmission and true copy of the data block between the controllers except the first-layer subsystem are eliminated, and performance indexes such as read-write times per second, throughput, read-write time delay and the like of the system are greatly improved.
In this embodiment, two simplest subsystems of two controllers are taken as an example for explanation, and when the first-layer subsystem of the controller 1 receives IO data including a disk-drop address and a data block, the IO data is sent to the first-layer subsystem of the controller 2; respectively keeping the data blocks in the first-layer subsystems by the controller 1 and the controller 2 based on the disk-drop addresses; a first-layer subsystem of the controller 1 sends a message header containing a disk-dropping address to a second-layer subsystem, and the second-layer subsystem sends the message header to a second-layer subsystem of the controller 2; and in response to the controller 2 receiving the message header containing the disk-dropping address, searching the corresponding data block from the first-layer subsystem of the controller 2 based on the disk-dropping address, and performing shallow copy on the data block.
In the present embodiment, in response to the second layer subsystem of the controller 2 completing the processing of the data block, a processing complete message is sent to the second layer subsystem of the controller 1; the second layer subsystem of the controller 1 receives the processing completion message sent by the second layer subsystem of the controller 2 and sends the processing completion message of the second layer subsystem to the first layer subsystem of the controller 1; sending a message for clearing the data block to a first-layer subsystem of a controller 2 by the first-layer subsystem of the controller 1; and clearing the data block in the respective first layer subsystems by the controller 1 and the controller 2.
In some embodiments of the invention, further comprising: and in response to the completion of the processing of the data block by all the non-first-layer subsystems of the first controller and the other controllers, the first controller and the other controllers clean the data block in the respective first-layer subsystems.
In some embodiments of the invention, in response to all non-first layer subsystems of the first controller and the other controllers completing processing of the data block, the first controller and the other controllers cleaning the data block in the respective first layer subsystems comprises: the non-first-layer subsystem of the first controller receives the information that the other controllers finish processing the data block, and sends the information that the processing is finished to the first-layer subsystem of the first controller; the first-layer subsystem of the first controller sends a message for clearing the data block to the first-layer subsystems of other controllers; the first controller and the other controllers clean the data blocks in the respective first-layer subsystems.
In some embodiments of the present invention, receiving, by the non-first layer subsystem of the first controller, a message that processing of the data block by the other controller is completed, and sending the message that processing is completed to the first layer subsystem of the first controller includes: in response to that the last-layer subsystem of the first controller as the current-layer subsystem receives the message that the current-layer subsystems of all other controllers complete processing the data block, sending the message that all controllers in the current-layer subsystem complete processing the data block to the previous-layer subsystem of the current-layer subsystem of the first controller; judging whether a previous subsystem of a current subsystem is a first subsystem; and if the previous subsystem of the current subsystem is not the first subsystem, taking the previous subsystem of the current subsystem as a new current subsystem, responding to the received information of the data block processing completion of the current subsystems of all other controllers, sending the information of the data block processing completion of all the controllers in the current subsystem to the previous subsystem of the current subsystem, and returning to the previous step.
In some embodiments of the present invention, retaining, by the first controller and the other controller, the data block in the respective first-layer subsystem based on the landing address, respectively, comprises: and respectively keeping the data block in the first-layer subsystem by the first controller and the other controllers based on the disk-drop address, and inhibiting the operation of modifying or replacing the data block.
In some embodiments of the invention, sending, by the first-layer subsystem of the first controller to the non-first-layer subsystem, a message header including the landing address, and sending, by the non-first-layer subsystem of the first controller to the non-first-layer subsystems of the other controllers, the message header includes: generating a message header by a first-layer subsystem of the first controller based on the disk-dropping address, the state information and the request information, and sending the message header to a non-first-layer subsystem; a message header is sent by a non-first layer subsystem of a first controller to non-first layer subsystems of other controllers.
In some embodiments of the invention, generating, by the first-layer subsystem of the first controller, a header based on the landing address, the status information, and the request information, and sending the header to the non-first-layer subsystem comprises: a first-layer subsystem of a first controller is used as a current-layer subsystem to generate a message header based on a disk-dropping address, state information and request information, and the message header is sent to a next-layer subsystem of the current-layer subsystem; judging whether a subsystem at the next layer of the current layer is a subsystem at the last layer; and if the next subsystem of the current subsystem is not the last subsystem, taking the next subsystem of the current subsystem as a new current subsystem, generating a new message header again based on the disk-dropping address, the state information and the request information, sending the new message header to the next subsystem of the current subsystem, and returning to the previous step.
It should be particularly noted that, the steps in the embodiments of the method for multi-controller data transmission described above can be mutually intersected, replaced, added, or deleted, and therefore, these methods for multi-controller data transmission that are transformed by reasonable permutation and combination shall also fall within the scope of the present invention, and shall not limit the scope of the present invention to the embodiments.
In view of the above object, according to a second aspect of the embodiments of the present invention, an apparatus for multi-controller data transmission is provided. Fig. 2 is a schematic diagram of an embodiment of a device for multi-controller data transmission provided by the invention. As shown in fig. 2, the embodiment of the present invention includes the following modules: a first module S11, configured to, in response to the first-layer subsystem of the first controller receiving IO data including a landing address and a data block, send the IO data to the first-layer subsystems of the other controllers; a second module S12 configured to retain, by the first controller and the other controllers, the data blocks in the respective first-layer subsystems based on the landing addresses, respectively; a third module S13, configured to send, by the first-layer subsystem of the first controller, a message header including a landing address to the non-first-layer subsystem, and send, by the non-first-layer subsystem of the first controller, a message header to the non-first-layer subsystems of the other controllers; and a fourth module S14, configured to, in response to the other controllers receiving the message header including the landing address, search the corresponding data block from the respective first-layer subsystem based on the landing address, and perform shallow copy on the data block for data processing.
The apparatus for multi-controller data transmission of the present invention further includes a fifth module configured to clear the data block in the respective first-layer subsystem by the first controller and the other controller in response to completion of processing the data block by all non-first-layer subsystems of the first controller and the other controllers.
In view of the above object, a third aspect of the embodiments of the present invention provides a computer device. Fig. 3 is a schematic diagram of an embodiment of a computer device provided by the present invention. As shown in fig. 3, an embodiment of the present invention includes the following means: at least one processor S21; and a memory S22, the memory S22 storing computer instructions S23 executable on the processor, the instructions when executed by the processor implementing the steps of the above method.
The invention also provides a computer readable storage medium. FIG. 4 is a schematic diagram illustrating an embodiment of a computer-readable storage medium provided by the present invention. As shown in fig. 4, the computer readable storage medium stores S31 a computer program that, when executed by a processor, performs the method as described above S32.
Finally, it should be noted that, as one of ordinary skill in the art can appreciate that all or part of the processes of the methods of the above embodiments can be implemented by a computer program to instruct related hardware, and the program of the method for data transmission of multiple controllers can be stored in a computer readable storage medium, and when executed, the program can include the processes of the embodiments of the methods as described above. The storage medium of the program may be a magnetic disk, an optical disk, a Read Only Memory (ROM), a Random Access Memory (RAM), or the like. The embodiments of the computer program may achieve the same or similar effects as any of the above-described method embodiments.
Those of skill would further appreciate that the various illustrative logical blocks, modules, circuits, and algorithm steps described in connection with the disclosure herein may be implemented as electronic hardware, computer software, or combinations of both. To clearly illustrate this interchangeability of hardware and software, various illustrative components, blocks, modules, circuits, and steps have been described above generally in terms of their functionality. Whether such functionality is implemented as software or hardware depends upon the particular application and design constraints imposed on the overall system. Skilled artisans may implement the described functionality in varying ways for each particular application, but such implementation decisions should not be interpreted as causing a departure from the scope of the disclosed embodiments of the present invention.
In one or more exemplary designs, the functions may be implemented in hardware, software, firmware, or any combination thereof. If implemented in software, the functions may be stored on or transmitted over as one or more instructions or code on a computer-readable medium. Computer-readable media includes both computer storage media and communication media including any medium that facilitates transfer of a computer program from one place to another. A storage media may be any available media that can be accessed by a general purpose or special purpose computer. By way of example, and not limitation, such computer-readable media can comprise RAM, ROM, EEPROM, CD-ROM or other optical disk storage, magnetic disk storage or other magnetic storage devices, or any other medium that can be used to carry or store desired program code in the form of instructions or data structures and that can be accessed by a general-purpose or special-purpose computer, or a general-purpose or special-purpose processor. Also, any connection is properly termed a computer-readable medium. For example, if the software is transmitted from a website, server, or other remote source using a coaxial cable, fiber optic cable, twisted pair, Digital Subscriber Line (DSL), or wireless technologies such as infrared, radio, and microwave, then the coaxial cable, fiber optic cable, twisted pair, DSL, or wireless technologies such as infrared, radio, and microwave are included in the definition of medium. Disk and disc, as used herein, includes Compact Disc (CD), laser disc, optical disc, Digital Versatile Disc (DVD), floppy disk, blu-ray disc where disks usually reproduce data magnetically, while discs reproduce data optically with lasers. Combinations of the above should also be included within the scope of computer-readable media.
The foregoing is an exemplary embodiment of the present disclosure, but it should be noted that various changes and modifications could be made herein without departing from the scope of the present disclosure as defined by the appended claims. The functions, steps and/or actions of the method claims in accordance with the disclosed embodiments described herein need not be performed in any particular order. Furthermore, although elements of the disclosed embodiments of the invention may be described or claimed in the singular, the plural is contemplated unless limitation to the singular is explicitly stated.
It should be understood that, as used herein, the singular forms "a", "an" and "the" are intended to include the plural forms as well, unless the context clearly supports the exception. It should also be understood that "and/or" as used herein is meant to include any and all possible combinations of one or more of the associated listed items.
Those of ordinary skill in the art will understand that: the discussion of any embodiment above is meant to be exemplary only, and is not intended to intimate that the scope of the disclosure, including the claims, of embodiments of the invention is limited to these examples; within the idea of an embodiment of the invention, also technical features in the above embodiment or in different embodiments may be combined and there are many other variations of the different aspects of the embodiments of the invention as described above, which are not provided in detail for the sake of brevity. Therefore, any omissions, modifications, substitutions, improvements, and the like that may be made without departing from the spirit and principles of the embodiments of the present invention are intended to be included within the scope of the embodiments of the present invention.

Claims (9)

1. A method for multi-controller data transmission, comprising the steps of:
responding to IO data containing a disk-dropping address and a data block received by a first-layer subsystem of a first controller, and sending the IO data to first-layer subsystems of other controllers;
retaining, by the first controller and the other controllers, the data block in respective first-layer subsystems based on the landing address;
sending a message header containing a disk-dropping address to a non-first-layer subsystem by a first-layer subsystem of the first controller, and sending the message header to non-first-layer subsystems of other controllers by the non-first-layer subsystem of the first controller;
in response to the other controllers receiving the message header containing the disk-dropping address, searching the corresponding data block from the respective first-layer subsystem based on the disk-dropping address, and performing shallow copy on the data block to perform data processing; and
and in response to the completion of the processing of the data block by all non-first-layer subsystems of the first controller and the other controllers, the first controller and the other controllers clean the data block in the respective first-layer subsystems.
2. The method of claim 1, wherein in response to all non-first layer subsystems of the first controller and the other controllers completing processing of the data block, the first controller and the other controllers cleaning the data block in the respective first layer subsystems comprises:
receiving, by the non-first-layer subsystem of the first controller, a message that the processing of the data block by the other controller is completed, and sending the processed message to the first-layer subsystem of the first controller;
sending, by the first-layer subsystem of the first controller, a message to clear the data block to the first-layer subsystems of the other controllers;
clearing, by the first controller and the other controllers, the data blocks in the respective first layer subsystems.
3. The method of claim 2, wherein receiving, by the non-top-layer subsystem of the first controller, the message that the processing of the data block by the other controller is completed, and sending the message that the processing is completed to the top-layer subsystem of the first controller comprises:
in response to that the last-layer subsystem of the first controller as a current-layer subsystem receives a message that the data block processing by the current-layer subsystems of all the other controllers is completed, sending the message that the data block processing by all the controllers in the current-layer subsystem is completed to a previous-layer subsystem of the current-layer subsystem of the first controller;
judging whether a previous subsystem of the current subsystem is a first-layer subsystem;
and if the previous subsystem of the current subsystem is not the first-layer subsystem, taking the previous subsystem of the current subsystem as a new current subsystem, responding to all messages of the current subsystems of other controllers for processing the data blocks again, sending the messages of all controllers in the current subsystem for processing the data blocks to the previous subsystem of the current subsystem, and returning to the previous step.
4. The method of claim 1, wherein retaining, by the first controller and the other controller, the data block in the respective first-layer subsystem based on the landing address comprises:
and the first controller and the other controllers respectively reserve the data block in the respective first-layer subsystems based on the landing addresses and prohibit the operation of modifying or replacing the data block.
5. The method of claim 1, wherein sending a message header containing a landing address from the first-layer subsystem of the first controller to the non-first-layer subsystem, and sending the message header from the non-first-layer subsystem of the first controller to the non-first-layer subsystems of the other controllers comprises:
generating a message header by a first-layer subsystem of the first controller based on the landing address, the state information and the request information, and sending the message header to a non-first-layer subsystem;
and sending the message header to the non-first layer subsystems of the other controllers by the non-first layer subsystem of the first controller.
6. The method of claim 5, wherein generating, by the first-tier subsystem of the first controller, a message header based on the landing address, status information, and request information, and sending the message header to a non-first-tier subsystem comprises:
a first-layer subsystem of the first controller is used as a current-layer subsystem to generate a message header based on the landing address, the state information and the request information, and the message header is sent to a next-layer subsystem of the current-layer subsystem;
judging whether a subsystem at the next layer of the current layer of subsystems is the last layer of subsystems or not;
and if the next subsystem of the current subsystem is not the last subsystem, taking the next subsystem of the current subsystem as a new current subsystem, generating a new message header again based on the disk-dropping address, the state information and the request information, sending the new message header to the next subsystem of the current subsystem, and returning to the previous step.
7. An apparatus for multi-controller data transmission, comprising:
the first module is configured to send IO data to the first-layer subsystems of other controllers in response to the first-layer subsystem of the first controller receiving the IO data including the landing address and the data block;
a second module configured to retain, by the first controller and the other controller, the data block in the respective first-layer subsystems based on the landing addresses, respectively;
a third module, configured to send, by the first-layer subsystem of the first controller, a message header including a landing address to a non-first-layer subsystem, and send, by the non-first-layer subsystem of the first controller, the message header to the non-first-layer subsystems of the other controllers;
a fourth module, configured to, in response to the other controllers receiving a message header including a drop address, search, based on the drop address, for the corresponding data block from the respective first-layer subsystem, and perform shallow copy on the data block to perform data processing; and
a fifth module, configured to respond to that all non-first-layer subsystems of the first controller and the other controllers complete processing of the data block, and then the first controller and the other controllers clean the data block in their respective first-layer subsystems.
8. A computer device, comprising:
at least one processor; and
a memory storing computer instructions executable on the processor, the instructions when executed by the processor implementing the steps of the method of any one of claims 1 to 6.
9. A computer-readable storage medium, in which a computer program is stored which, when being executed by a processor, carries out the steps of the method according to any one of claims 1 to 6.
CN202110771574.9A 2021-07-08 2021-07-08 Method, device and equipment for multi-controller data transmission and readable medium Active CN113220243B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110771574.9A CN113220243B (en) 2021-07-08 2021-07-08 Method, device and equipment for multi-controller data transmission and readable medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110771574.9A CN113220243B (en) 2021-07-08 2021-07-08 Method, device and equipment for multi-controller data transmission and readable medium

Publications (2)

Publication Number Publication Date
CN113220243A true CN113220243A (en) 2021-08-06
CN113220243B CN113220243B (en) 2021-09-07

Family

ID=77081179

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110771574.9A Active CN113220243B (en) 2021-07-08 2021-07-08 Method, device and equipment for multi-controller data transmission and readable medium

Country Status (1)

Country Link
CN (1) CN113220243B (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5603003A (en) * 1992-03-04 1997-02-11 Hitachi, Ltd. High speed file access control method and computer system including a plurality of storage subsystems connected on a bus
US5954794A (en) * 1995-12-20 1999-09-21 Tandem Computers Incorporated Computer system data I/O by reference among I/O devices and multiple memory units
CN107526538A (en) * 2016-06-22 2017-12-29 伊姆西公司 For transmitting the method and system of message within the storage system

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5603003A (en) * 1992-03-04 1997-02-11 Hitachi, Ltd. High speed file access control method and computer system including a plurality of storage subsystems connected on a bus
US5954794A (en) * 1995-12-20 1999-09-21 Tandem Computers Incorporated Computer system data I/O by reference among I/O devices and multiple memory units
CN107526538A (en) * 2016-06-22 2017-12-29 伊姆西公司 For transmitting the method and system of message within the storage system

Also Published As

Publication number Publication date
CN113220243B (en) 2021-09-07

Similar Documents

Publication Publication Date Title
CN108280080B (en) Data synchronization method and device and electronic equipment
CN101741730A (en) Method and equipment for downloading file and method and system for providing file downloading service
CN110351111A (en) A kind of subscription processing method, network node and customer data base
CN109032533B (en) Data storage method, device and equipment
CN111104232A (en) Method, device and medium for accelerating message writing of message queue
CN111083179A (en) Internet of things cloud platform, and equipment interaction method and device based on same
CN109981768A (en) I/o multipath planning method and equipment in distributed network storage system
CN114157639B (en) Method, device and equipment for collecting information of intelligent network card of server and readable medium
CN114138181A (en) Method, device, equipment and readable medium for placing, grouping and selecting owners in binding pool
CN113220243B (en) Method, device and equipment for multi-controller data transmission and readable medium
CN113515576A (en) Data processing method and device, electronic equipment and computer readable medium
CN115712545B (en) Method, device, equipment and medium for realizing service topology awareness of cluster
CN111966637A (en) Method, device and equipment for opening file and readable medium
US20240244414A1 (en) Session binding relationship processing method and apparatus, electronic device, and readable medium
CN113505180B (en) Method, device and equipment for synchronizing mirror images in multi-cloud platform and readable medium
CN111522510B (en) Command processing method and device
CN115033403A (en) Multithreading data consumption method and device
CN113448512B (en) Takeover method, device and equipment for cache partition recovery and readable medium
CN111240933B (en) Method, system, device and medium for monitoring performance data of multiple data centers
CN114785662A (en) Storage management method, device, equipment and machine readable storage medium
CN113746759B (en) Dual-control communication method, device and equipment in garbage recovery and readable medium
CN108848156B (en) Access gateway processing method, device and storage medium
CN116820344B (en) Memory access circuit, memory access method, integrated circuit, and electronic device
CN112748882B (en) Communication method, device, equipment and readable medium of host and storage equipment
CN113806125B (en) Method, device, equipment and readable medium for processing unloaded volume exception

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant