WO2024055543A1 - Non-transparent bridge management method and apparatus, controller, and medium - Google Patents

Non-transparent bridge management method and apparatus, controller, and medium Download PDF

Info

Publication number
WO2024055543A1
WO2024055543A1 PCT/CN2023/080892 CN2023080892W WO2024055543A1 WO 2024055543 A1 WO2024055543 A1 WO 2024055543A1 CN 2023080892 W CN2023080892 W CN 2023080892W WO 2024055543 A1 WO2024055543 A1 WO 2024055543A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
transparent bridge
zone
backup
controller
Prior art date
Application number
PCT/CN2023/080892
Other languages
French (fr)
Chinese (zh)
Inventor
钟戟
王鲁泮
Original Assignee
苏州元脑智能科技有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 苏州元脑智能科技有限公司 filed Critical 苏州元脑智能科技有限公司
Publication of WO2024055543A1 publication Critical patent/WO2024055543A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1068Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in sector programmable memories, e.g. flash disk

Definitions

  • the present application relates to the field of storage technology, and in particular to a non-transparent bridge management method, device, controller and non-volatile readable storage medium.
  • NTB Non-Transparent Bridging, non-transparent bridge
  • PCIE Peripheral Component Interconnect Express, high-speed serial computer expansion bus standard
  • the purpose of this application is to provide a non-transparent bridge management method, device, controller and non-volatile readable storage medium, which can improve the accuracy and efficiency of NTB verification management, thereby ensuring the accuracy of data backup sex.
  • the plan is as follows:
  • this application discloses a non-transparent bridge management method, which is applied to the main controller in a dual controller, including: partitioning the data to be backed up and allocating channels to each zone; passing all channels in each zone to The first non-transparent bridge connected to the main controller continuously sends data, so that the first non-transparent bridge performs continuity check on the received data corresponding to each zone; obtains the first check returned by the first non-transparent bridge As a result, if the first verification result is a certain If the zone fails the continuity check, all channels in the zone will be enumerated and checked.
  • partition the data to be backed up and allocate channels to each zone including: horizontally partitioning the data to be backed up according to the data service object to obtain each zone; vertically partitioning the data to be backed up according to the importance of the data to obtain each vertical partition ;Assign channels to each zone based on the amount of data each zone has in each vertical partition.
  • horizontally partition the data to be backed up based on the data service object to obtain each area including: obtaining the data service object from the front-end server; horizontally partitioning the data to be backed up based on the data service object to obtain each area.
  • it also includes: if the first verification result is that each zone passes the continuity check, start data backup, and back up the data to be backed up to the dual controller according to each zone and through the channel of each zone. backup controller.
  • the backup controller after partitioning the data to be backed up and allocating channels to each zone, it also includes: sending the partition and channel allocation to the backup controller, so that the backup controller can process the data through each zone based on the partition and channel allocation. All channels continuously send data to the second non-transparent bridge connected to the backup controller, so that the second non-transparent bridge performs continuity check on the received data corresponding to each zone, and returns on the second non-transparent bridge.
  • the second verification result is that a certain area fails the continuity check, all channels in the area will be enumerated and verified.
  • data backup is started, including: if the first verification result is that each area passes the continuity check, and the second verification The result is that each zone passes the continuity check, and data backup is started.
  • perform enumeration and verification on all channels in this area including: continuously sending data through the channel in this area to the first non-transparent bridge connected to the main controller, so that the first non-transparent bridge can respectively receive The data corresponding to each channel is checked for continuity.
  • the data to be backed up is backed up to the backup controller in the dual controller according to each zone and through the channel of each zone, including: dividing the data to be backed up into batches, obtaining multiple batches of data, and converting the multiple batches into The data is backed up to the backup controller in the dual controller batch by batch according to each zone and through the channel of each zone; accordingly, the method also includes: after the backup of any batch of data is completed, extract the first feature of the batch of data and The first feature is transmitted to the first non-transparent bridge, so that the first non-transparent bridge compares the first feature and the second feature to see if they are consistent; wherein, the second feature is the batch of data received by the backup controller extracted by the backup controller. Second characteristic.
  • the method further includes: sending an execution instruction to the backup controller, so that the backup controller extracts the second characteristic of the received batch data under the control of the execution instruction.
  • the method further includes: obtaining the second characteristic sent by the backup controller; and transmitting the second characteristic to the first non-transparent bridge, so that the first non-transparent bridge compares whether the first characteristic and the second characteristic are consistent.
  • it also includes: if the first feature and the second feature are inconsistent, determine the problem channel and assign the problem channel closure.
  • determining the problem channel includes: continuously sending data through all channels in each zone to the first non-transparent bridge connected to the main controller, so that the first non-transparent bridge receives data corresponding to each zone. The data is checked for continuity; the check result returned by the first non-transparent bridge is obtained. If the check result is that a certain area fails the continuity check, all channels in the area are enumerated and checked, and the Channels that fail the verification are determined to be problem channels.
  • extracting the first feature of the batch of data includes: determining a hash function; using the hash function to extract a set of hash values of the batch of data to obtain the first feature of the batch of data.
  • determining the hash function includes: identifying the data type of the batch of data; determining the hash function based on the data type.
  • a hash function to extract a hash value set of the batch of data to obtain the first feature of the batch of data, including: for any data type in the batch of data, use the hash value corresponding to the data type.
  • the column function extracts hash values; the hash values corresponding to different data types are merged into the hash value set of the batch of data to obtain the first feature of the batch of data.
  • the data type includes text type, image type, and video type.
  • determining the hash function based on the data type includes: constructing the first hash function based on the division-leaving-remainder method; determining the hash function of the text type as A first hash function; a second hash function is constructed based on the squared median method; and the hash function of the image type and the video type is determined as the second hash function.
  • this application discloses a non-transparent bridge management device, which is applied to the main controller in a dual controller, including: a data partition module, which is set to partition the backup data; a channel allocation module, which is set to Each zone is allocated a channel; the zone check module is configured to continuously send data through all channels of each zone to the first non-transparent bridge connected to the main controller, so that the first non-transparent bridge responds to each received The data corresponding to the area is checked for continuity; the check result acquisition module is set to obtain the first check result returned by the first non-transparent bridge; the channel check module is set to if the first check result is a certain If the zone fails the continuity check, all channels in the zone will be enumerated and checked.
  • this application discloses a controller that includes a memory and a processor, wherein: the memory is configured to save a computer program; the processor is configured to execute the computer program to implement the aforementioned non-transparent bridge management method.
  • the present application discloses a computer non-volatile readable storage medium configured to store a computer program, wherein the computer program implements the aforementioned non-transparent bridge management method when executed by a processor.
  • this application first partitions the backup data and allocates channels to each zone, and then continuously sends data to the first non-transparent bridge connected to the main controller through all channels in each zone, so that the first non-transparent bridge can respectively take over
  • the data corresponding to each zone is checked for continuity, and then the first check result returned by the first non-transparent bridge is obtained. If the first check result is that a certain zone fails the continuity check, the zone is All channels are enumerated and verified. That is to say, before data backup, this application partitions and allocates channels for the backup data, and then verifies each area first. If a certain area fails the verification, then verifies each channel. In this way, it can accurately Verifying the problematic channels connected on the non-transparent bridge and handling the problems in a timely manner can improve the accuracy and efficiency of non-transparent bridge verification management, thereby ensuring the accuracy of data backup.
  • Figure 1 is a flow chart of a non-transparent bridge management method disclosed in an embodiment of the present application
  • Figure 2 is a schematic structural diagram of an optional dual-controller storage system provided by an embodiment of the present application.
  • Figure 3 is a flow chart of an optional non-transparent bridge management method disclosed in the embodiment of the present application.
  • Figure 4 is an optional data backup flow chart disclosed in the embodiment of the present application.
  • Figure 5 is a flow chart of an optional partition enumeration scanning algorithm disclosed in the embodiment of the present application.
  • Figure 6 is a flow chart of an optional data comparison algorithm based on the Hash principle disclosed in the embodiment of the present application.
  • Figure 7 is a schematic structural diagram of a non-transparent bridge management device disclosed in an embodiment of the present application.
  • Figure 8 is a schematic structural diagram of a controller disclosed in the embodiment of the present application.
  • the controller is connected to the NTB chip through the PCIE channel for data transmission.
  • PCIE serial data transmission process it is difficult to verify and manage the multiple channels of the NTB connection.
  • the PCIE link is abnormal, it is difficult to locate and analyze the abnormal problem.
  • the abnormal path may cause errors in the controller's data backup process, eventually leading to serious problems such as data storage errors and even disk loss.
  • PCIE technology With the development of the industry, the bandwidth required for data transmission and backup is gradually increasing. With the complexity of storage motherboard functions, the length of the data transmission channel on the motherboard will also be extended to a certain extent.
  • this application provides a non-transparent bridge management solution that can improve the accuracy of NTB verification management and thereby ensure the accuracy of data backup.
  • an embodiment of the present application discloses a non-transparent bridge management method, which is applied to the main controller in a dual controller, including:
  • Step S11 Partition the data to be backed up and allocate channels to each zone.
  • FIG 2 is a schematic structural diagram of an optional dual-controller storage system provided by an embodiment of the present application.
  • the dual controllers realize mutual backup of data through non-transparent bridges.
  • One controller has 16 PCIE channels connected to the non-transparent bridge, and the other controller also has 16 PCIE channels connected to the non-transparent bridge.
  • Two non-transparent bridges. Transparent bridges are interconnected, which allows both controllers to access each other's systems through non-transparent bridges, and data can be backed up each other.
  • PCIE transmits data through serial transmission, so the start and end of data transmission between channels will not interfere with each other.
  • Each PCIE channel from the two controllers to the NTB is independent of each other. This serial transmission method
  • the data transmission rate is increased, but the independence of each channel increases the complexity of channel verification.
  • the embodiment of the present application can accurately perform channel verification.
  • the channel is the PCIE channel connecting the CPU (Central Processing Unit) and NTB in the controller.
  • the data to be backed up can be horizontally partitioned according to the data service object to obtain each zone; the data to be backed up can be vertically partitioned according to the importance of the data to obtain each vertical partition; based on the location of each zone in each vertical partition
  • the amount of data allocated is a channel for each zone.
  • the backup data can be vertically partitioned according to the data importance to obtain vertical partitions of high importance, medium importance, and low importance.
  • Each area can be divided into three vertical partitions. Channels are allocated to each area according to the amount of data. The larger the amount of data of high importance, the more channels are allocated. If the amount of data of high importance is the same, allocation will be based on the amount of data of medium importance.
  • the data to be backed up is the current processing data of the controller. That is, the controller first partitions the current data processing.
  • the partitioning method adopts a combination of horizontal partitioning and vertical partitioning.
  • the horizontal partitioning divides the processing data horizontally according to data service objects.
  • the data service object is the object served by the data, which is provided by the front-end server.
  • the controller allocates the processing data and data service objects. After the allocation is completed, the area where each data service object is located corresponds to its own processing data.
  • the vertical partition divides the processing data vertically into three areas according to the importance: high, medium and low. Each area Includes a certain amount of processing data.
  • PCIE channels are allocated to each area. The channels are allocated according to the previous horizontal partitioning situation.
  • the number of channels allocated to each area is based on the importance of the data in the vertical partitioning.
  • the data of the service object includes a large number of highly important data that require multiple allocations. PCIE channel.
  • Step S12 Continuously send data through all channels of each zone to the first non-transparent bridge connected to the main controller, so that the first non-transparent bridge can perform continuity check on the received data corresponding to each zone.
  • Step S13 Obtain the first verification result returned by the first non-transparent bridge. If the first verification result shows that a certain area fails the continuity check, perform enumeration verification on all channels in the area.
  • data is continuously sent to the first non-transparent bridge connected to the main controller through the channels in this area, so that the first non-transparent bridge performs continuity processing on the received data corresponding to each channel. check. That is, data is continuously sent to the first non-transparent bridge one by one through the channels in this area, so that the first non-transparent bridge can perform continuity verification on the received data to locate the problematic channel and cut off and isolate the problematic channel.
  • the embodiment of the present application first partitions the backup data and allocates channels to each zone, and then continuously sends data to the first non-transparent bridge connected to the main controller through all channels in each zone, so that the first non-transparent bridge Perform a continuity check on the received data corresponding to each zone, and then obtain the first check result returned by the first non-transparent bridge. If the first check result indicates that a certain zone has failed the continuity check, then Perform enumeration verification on all channels in this area. That is to say, before data backup, this application partitions and allocates channels for the backup data, and then verifies each area first. If a certain area fails the verification, then verifies each channel. In this way, it can accurately Verifying the problematic channels connected on the non-transparent bridge and handling the problems in a timely manner can improve the accuracy and efficiency of non-transparent bridge verification management, thereby ensuring the accuracy of data backup.
  • this embodiment of the present application discloses an optional non-transparent bridge management method, which is applied to the main controller in a dual controller, including:
  • Step S21 Partition the data to be backed up and allocate channels to each zone.
  • Step S22 Continuously send data to the first non-transparent bridge connected to the main controller through all channels of each zone, so that the first non-transparent bridge can perform continuity check on the received data corresponding to each zone.
  • Step S23 Obtain the first verification result returned by the first non-transparent bridge. If the first verification result shows that a certain area fails the continuity check, perform enumeration verification on all channels in the area.
  • Step S24 If the first verification result is that each zone passes the continuity check, data backup is started, and the data to be backed up is backed up to the backup controller in the dual controller according to each zone and through the channel of each zone. .
  • the controller sends the same continuous message data to NTB through the channel in each zone.
  • NTB verifies the continuity of the message data in each zone in real time. If the data continuity in each zone is detected, After all requirements are met, the verification is completed and the data backup work begins. When an abnormality in data continuity is detected, NTB can quickly locate it. to a certain district. Then the channels in this area are enumerated and verified. After verifying the problematic channel, diagnostic information is sent to the controller. During the data backup process, the channel is cut off and isolated in software.
  • the partition and channel allocation information can be sent to the backup controller, so that the backup controller can, based on the partition and channel allocation information, send data to the second server connected to the backup controller through all channels in each zone.
  • the non-transparent bridge continuously sends data, so that the second non-transparent bridge performs a continuity check on the received data corresponding to each zone, and the second check result returned by the second non-transparent bridge is that a certain zone failed During continuity check, all channels in the area are enumerated and checked.
  • the first verification result is that each area passes the continuity check
  • the second verification result is that each area passes the continuity check
  • the embodiment of this application also performs channel verification before backup on the backup controller side.
  • the method can refer to the verification in the main controller.
  • the main controller and the backup controller in the dual controller are not fixed.
  • the main controller is the controller where the data to be backed up is located during the backup process
  • the backup controller is the controller to which the data to be backed up is backed up. controller.
  • the data to be backed up can be divided into batches to obtain multiple batches of data, and the multiple batches of data can be backed up to the backup controller in the dual controller one by one according to each zone and through the channel of each zone. ;
  • extract the first feature of the batch of data and transfer the first feature to the first non-transparent bridge, so that the first non-transparent bridge compares whether the first feature and the second feature are consistent.
  • the second feature is the second feature of the batch of data received by the backup controller extracted by the backup controller.
  • extracting the first feature of the batch of data includes the following steps:
  • Step 00 Determine the hash function.
  • the data type of the batch of data can be identified; a hash function is determined based on the data type.
  • the data type includes text type, image type, and video type.
  • determining the hash function based on the data type includes: constructing the first hash function based on the division and leaving remainder method; determining the hash function of the text type as the first Hash function; construct a second hash function based on the square median method; determine the hash function of image type and video type as the second hash function.
  • Step 01 Use the hash function to extract the hash value set of the batch of data to obtain the first feature of the batch of data.
  • a hash function corresponding to the data type can be used to extract a hash value; hash values corresponding to different data types are merged into the batch of data A set of hash values to obtain the first feature of the batch of data.
  • the main controller may send an execution instruction to the backup controller, so that the backup controller extracts the second feature of the received batch data under the control of the execution instruction.
  • the backup controller and the main controller perform feature extraction at the same time.
  • the backup controller obtains the second feature
  • the main controller obtains the first feature.
  • the main controller obtains the second characteristic sent by the backup controller; and transmits the second characteristic to the first non-transparent bridge, so that the first non-transparent bridge compares whether the first characteristic and the second characteristic are consistent.
  • the embodiment of the present application establishes a hash value set for the processed data based on the Hash (hash) principle.
  • the data amount of the hash value set is far smaller than the original processed data amount, and the original data and backup can be combined in the shortest time.
  • the premise of establishing a hash value set is to select an appropriate hash function, so that the original data and the hash data mapped by the hash function have a many-to-one relationship, thus greatly reducing the amount of data processed.
  • the set of hash values mapped by the hash function needs to meet two conditions: 1.
  • the total amount of data is much smaller than the total amount of original processed data, 2.
  • the data in the hash set can reflect the entirety of the original data.
  • the embodiment of the present application uses a hybrid hash function method, that is, different hash functions are selected for different data types, and finally the obtained sets are fused to obtain the final hash set.
  • a hybrid hash function method that is, different hash functions are selected for different data types, and finally the obtained sets are fused to obtain the final hash set.
  • the division-leaving-remainder method is used, and the remainder after the text data segment is divided by the keyword P is used as the hash value, where P is a prime number smaller than the length of the data segment.
  • This method reduces the It can greatly retain the characteristics of the original data while reducing the amount of data, and is suitable for data with relatively low complexity; for complex binary data such as images and videos, the square median method can be used to square the continuous data, and then select the middle of the resulting data.
  • Several digits i.e., the median and a preset number adjacent to the median
  • the process of determining the problem channel includes: continuously sending data through all channels in each zone to the first non-transparent bridge connected to the main controller, so that the first non-transparent bridge receives the received data corresponding to each zone respectively. Perform continuity check; obtain the check result returned by the first non-transparent bridge. If the check result shows that a certain area fails the continuity check, all channels in the area will be enumerated and checked, and the failed The channel that passes the verification is determined to be the problem channel.
  • the first feature can also be sent to the backup controller, and the second non-transparent bridge in the backup controller compares the first feature and the second feature to see whether they are consistent, and at the same time locates the problem of the corresponding channel of the second non-transparent bridge. That is, the two controllers simultaneously locate the problem channel.
  • the process of determining the problem channel in the backup controller is: continuously sending data through all channels in each zone to the second non-transparent bridge connected to the backup controller, so that the second non-transparent bridge can respond to each received
  • the data corresponding to each area is checked for continuity.
  • FIG 4 is an optional data backup flow chart disclosed in an embodiment of the present application.
  • the partition enumeration scanning algorithm implements data verification and channel management between the CPU (Central Processing Unit, Central Processing Unit) and the PCIE channel of the NTB. After the verification is correct, the data backup work starts. During the data backup process, the data is backed up based on The data comparison algorithm based on the Hash principle. The CPU side of the dual controller uses this algorithm to quickly perform feature extraction and verification on the backup data to ensure that the data is valid during the transmission process.
  • this algorithm can quickly locate the abnormal PCIE channel and send an indication of the data transmission error to the BMC control unit as an exception log collection for the system, but the secondary boot does not perform partitioning and Divide channels and verify the channels that have been divided before backup. That is to say, the partition enumeration scanning algorithm performs verification processing on each PCIE channel at the NTB level. This algorithm is executed before data backup to determine the integrity of each channel. It is executed during the problem location analysis process for rapid Locate the problematic channel and implement NTB quick verification management operations through this algorithm. It can be understood that the partition scan enumeration scan algorithm can perform the following steps.
  • FIG. 5 is a flow chart of an optional partition enumeration scanning algorithm disclosed in an embodiment of the present application.
  • the data comparison algorithm can be used to extract the first feature of any batch of data after the data backup is completed and transfer the first feature to the first non-transparent bridge, so that the first non-transparent bridge compares the first feature. and whether it is consistent with the second feature; wherein, the second feature is the second feature of the batch of data received by the backup controller extracted by the backup controller.
  • the controller's CPU performs feature extraction on the real-time data transmitted during the data backup process, and then verifies the extracted feature data in a timely manner to ensure the accuracy of the data backup.
  • the main controller will issue an algorithm execution instruction to the backup controller.
  • the dual controllers will execute the data comparison algorithm at the same time.
  • both controllers will execute the algorithm to obtain The hash set is passed to the non-transparent bridge, and the non-transparent bridge verifies whether the two are completely consistent.
  • FIG. 6 is a flow chart of an optional data comparison algorithm based on the Hash principle disclosed in the embodiment of the present application.
  • the embodiment of the present application provides verification management before the normal operation of the NTB, as well as data verification diagnosis and exception handling solutions during the operation of the NTB.
  • the purpose of the verification part before the normal operation of the NTB is to ensure that the NTB is operating normally from the main path to the converted path ends, so that the two controllers can back up data normally through the NTB channel.
  • the channels on the NTB are partitioned and managed according to their functions through the partition enumeration scanning algorithm, and the enumeration algorithm is used to ensure that the channels in each zone are operating normally; after the NTB is operating normally, the characteristic part of the verification data is quickly extracted through the data comparison algorithm based on the Hash principle, and the accuracy of the mirror backup data is verified.
  • the execution of the algorithm is accompanied by the completion of a batch of data backups in the data mirror backup between the dual controllers, ensuring that the backup continues after the verification is correct, which greatly avoids the data backup on the NTB.
  • the error rate of backup is reduced.
  • an indication of the data transmission error is sent to the BMC (Baseboard Management Controller) control unit as the system's abnormal log collection.
  • BMC Baseboard Management Controller
  • the embodiment of the present application discloses a non-transparent bridge management device, which is applied to the main controller in a dual controller, including:
  • the data partition module 11 is configured to partition the data to be backed up
  • the channel allocation module 12 is configured to allocate channels to each zone
  • the partition verification module 13 is configured to continuously send data through all channels of each zone to the first non-transparent bridge connected to the main controller, so that the first non-transparent bridge performs on the received data corresponding to each zone respectively. continuity check;
  • the verification result acquisition module 14 is configured to obtain the first verification result returned by the first non-transparent bridge
  • the channel check module 15 is configured to perform an enumeration check on all channels in a certain area if the first check result is that a certain area fails the continuity check.
  • the embodiment of the present application first partitions the backup data and allocates channels to each zone, and then continuously sends data to the first non-transparent bridge connected to the main controller through all channels in each zone, so that the first non-transparent bridge Perform a continuity check on the received data corresponding to each zone, and then obtain the first check result returned by the first non-transparent bridge. If the first check result indicates that a certain zone has failed the continuity check, then Perform enumeration verification on all channels in this area. That is to say, before data backup, this application partitions and allocates channels for the backup data, and then verifies each area first. If a certain area fails the verification, then verifies each channel. In this way, it can accurately Verifying the problematic channels connected on the non-transparent bridge and handling the problems in a timely manner can improve the accuracy and efficiency of non-transparent bridge verification management, thereby ensuring the accuracy of data backup.
  • the data partition module 11 is configured to horizontally partition the data to be backed up according to the data service object to obtain each zone; to vertically partition the data to be backed up according to the importance of the data to obtain each vertical partition.
  • the channel allocation module 12 is configured to allocate channels to each region based on the data amount of each region in each vertical partition.
  • the data partition module 11 is also configured to obtain data service objects from the front-end server.
  • the channel distribution module 12 is configured to continuously transmit signals through the channel in this area to the first non-transparent bridge connected to the main controller. Send data so that the first non-transparent bridge performs continuity check on the received data corresponding to each channel.
  • the device also includes a data backup module, which is configured to start data backup if the first verification result is that each zone passes the continuity check, and the data to be backed up will be processed according to each zone and passed through each zone. Channels are backed up to the backup controller in a dual controller.
  • the device also includes a partition and channel allocation status sending module, which is configured to send the partition and channel allocation status to the backup controller after partitioning the data to be backed up and allocating channels to each zone, so that the backup controller can Based on the partition and channel allocation, data is continuously sent to the second non-transparent bridge connected to the backup controller through all channels in each zone, so that the second non-transparent bridge continuously performs continuity on the received data corresponding to each zone. Verify, and when the second verification result returned by the second non-transparent bridge is that a certain area fails the continuity check, enumerate and verify all channels in the area.
  • the data backup module is configured to start data backup if the first verification result is that each area passes the continuity check, and the second verification result is that each area passes the continuity check.
  • the data backup module is configured to divide the data to be backed up into batches to obtain multiple batches of data, and back up the multiple batches of data to dual controls one by one according to each zone and through the channel of each zone. backup controller in the server.
  • the device also includes:
  • the first feature extraction module is configured to extract the first feature of any batch of data after the data backup is completed
  • a first feature transmission module is configured to transmit the first feature to the first non-transparent bridge, so that the first non-transparent bridge compares whether the first feature and the second feature are consistent;
  • the second feature is the second feature of the batch of data received by the backup controller extracted by the backup controller.
  • the device further includes: an execution instruction sending module configured to send an execution instruction to the backup controller, so that the backup controller extracts the second characteristic of the received batch data under the control of the execution instruction.
  • the device also includes a feature acquisition module configured to acquire the second feature sent by the backup controller;
  • the second feature transfer module is configured to transfer the second feature to the first non-transparent bridge, so that the first non-transparent bridge compares whether the first feature and the second feature are consistent.
  • Optional devices also include:
  • the problem channel determination module is configured to determine the problem channel if the first feature and the second feature are inconsistent;
  • the problem handling module is set to close the problem channel.
  • the problem channel determination module is configured to continuously send data to the first non-transparent bridge connected to the main controller through all channels in each zone, so that the first non-transparent bridge can respectively receive data corresponding to each zone.
  • the data is checked for continuity; the check result returned by the first non-transparent bridge is obtained. If the check result is that a certain area fails the continuity If the verification is required, all channels in the area will be enumerated and verified, and the channels that fail the verification will be determined as problem channels.
  • the problem channel determination module includes the aforementioned partition verification module, verification result acquisition module, and channel verification module.
  • the first feature extraction module includes:
  • the hash function determination submodule is set to determine the hash function
  • the first feature extraction sub-module is configured to use a hash function to extract a hash value set of the batch of data to obtain the first feature of the batch of data.
  • the hash function determines the sub-modules, including:
  • a data type identification unit is configured to identify the data type of the batch of data
  • the hash function determination unit is configured to determine the hash function based on the data type.
  • the first feature extraction submodule includes:
  • the hash value extraction unit is configured to extract a hash value for any data type in the batch of data using a hash function corresponding to the data type;
  • the hash value fusion unit is configured to fuse hash values corresponding to different data types into a hash value set of the batch of data to obtain the first feature of the batch of data.
  • the data type includes text type, image type, and video type.
  • the hash function determination unit is set to construct the first hash function based on the division-leaving-remainder method; determine the hash function of the text type as the third A hash function; constructing a second hash function based on the squared median method; determining the hash function of the image type and the video type as the second hash function.
  • the embodiment of the present application discloses a controller, including a processor 21 and a memory 22; the memory 22 is configured to save a computer program; the processor 21 is configured to execute the computer program to implement Following steps:
  • the corresponding data is subjected to continuity check; the first check result returned by the first non-transparent bridge is obtained. If the first check result is that a certain area fails the continuity check, all channels in the area are enumerated. check.
  • the embodiment of the present application first partitions the backup data and allocates channels to each zone, and then continuously sends data to the first non-transparent bridge connected to the main controller through all channels in each zone, so that the first non-transparent bridge Perform a continuity check on the received data corresponding to each zone, and then obtain the first check result returned by the first non-transparent bridge. If the first check result indicates that a certain zone has failed the continuity check, then Perform enumeration verification on all channels in this area. That is to say, before data backup, this application partitions and allocates channels for the data to be backed up, and then first Verify each area. If a certain area fails the verification, then verify each channel. In this way, the problematic channels connected to the non-transparent bridge can be accurately verified, and the problem can be dealt with in a timely manner, which can improve the non-transparent bridge verification. Management accuracy and efficiency, thereby ensuring the accuracy of data backup.
  • the processor 21 executes the computer subroutine stored in the memory 22, the following steps can be implemented: horizontally partition the backup data according to the data service object to obtain each area; vertically partition the backup data according to the importance of the data. , each vertical partition is obtained; channels are allocated to each zone based on the amount of data in each vertical partition.
  • the processor 21 executes the computer subroutine stored in the memory 22, the following steps can be implemented: If the first verification result is that each area passes the continuity check, the data backup is started, and the data to be backed up is Follow each zone and back up to the backup controller in the dual controller via each zone's channel.
  • the processor 21 executes the computer subroutine stored in the memory 22, the following steps can be implemented: after partitioning the data to be backed up and allocating channels to each zone, the partition and channel allocation information is sent to the backup controller. , so that the backup controller can continuously send data to the second non-transparent bridge connected to the backup controller through all channels of each zone based on the partition and channel allocation, so that the second non-transparent bridge can respond to the received data from each zone respectively.
  • the corresponding data is subjected to continuity check, and when the second check result returned by the second non-transparent bridge is that a certain area fails the continuity check, all channels in the area are enumerated and checked.
  • the processor 21 executes the computer subroutine stored in the memory 22, the following steps can be implemented: If the first check result is that each area passes the continuity check, and the second check result is that each area passes the continuity check, If all zones pass the continuity check, data backup is started.
  • the processor 21 executes the computer subroutine stored in the memory 22, the following steps can be implemented: divide the data to be backed up into batches to obtain multiple batches of data, and merge the multiple batches of data one by one according to each area. Backup to the backup controller in the dual controller through the channel of each zone;
  • the processor 21 executes the computer subroutine stored in the memory 22, the following steps can be implemented: after the backup of any batch of data is completed, extract the first feature of the batch of data and transfer the first feature to the first non- The transparent bridge allows the first non-transparent bridge to compare whether the first feature and the second feature are consistent; wherein the second feature is the second feature of the batch of data received by the backup controller extracted by the backup controller.
  • the processor 21 executes the computer subroutine stored in the memory 22
  • the following steps can be implemented: sending an execution instruction to the backup controller, so that the backup controller extracts the first batch of data received under the control of the execution instruction.
  • Two characteristics Two characteristics.
  • the processor 21 executes the computer subroutine stored in the memory 22, the following steps can be implemented: if the first feature and the second feature are inconsistent, determine the problem channel and close the problem channel.
  • the processor 21 executes the computer subroutine stored in the memory 22, the following steps can be implemented: determine the hash function; use the hash function to extract the hash value set of the batch of data to obtain the first hash value of the batch of data. feature.
  • the processor 21 executes the computer subroutine stored in the memory 22, the following steps can be implemented: identifying the data type of the batch of data; and determining a hash function based on the data type.
  • the processor 21 executes the computer subroutine stored in the memory 22, the following steps can be implemented: for any data type in the batch of data, use the hash function corresponding to the data type to extract a hash. value; fuse the hash values corresponding to different data types into a set of hash values of the batch of data to obtain the first feature of the batch of data.
  • the processor 21 executes the computer subroutine stored in the memory 22, the following steps can be implemented: constructing a first hash function based on the division-leaving-remainder method; determining a text-type hash function as the first hash function ; Construct a second hash function based on the squared median method; determine the hash function of the image type and the video type as the second hash function.
  • the memory 22, as a carrier for resource storage may be a read-only memory, a random access memory, a magnetic disk or an optical disk, etc., and the storage method may be short-term storage or permanent storage.
  • the embodiment of the present application discloses a computer non-volatile readable storage medium, which is configured to save a computer program, wherein the following steps are implemented when the computer program is executed by the processor:
  • the corresponding data is subjected to continuity check; the first check result returned by the first non-transparent bridge is obtained. If the first check result is that a certain area fails the continuity check, all channels in the area are enumerated. check.
  • the embodiment of the present application first partitions the backup data and allocates channels to each zone, and then continuously sends data to the first non-transparent bridge connected to the main controller through all channels in each zone, so that the first non-transparent bridge Perform a continuity check on the received data corresponding to each zone, and then obtain the first check result returned by the first non-transparent bridge. If the first check result indicates that a certain zone has failed the continuity check, then Perform enumeration verification on all channels in this area. That is to say, before data backup, this application partitions and allocates channels for the backup data, and then verifies each area first. If a certain area fails the verification, then verifies each channel. In this way, it can accurately Verifying the problematic channels connected on the non-transparent bridge and handling the problems in a timely manner can improve the accuracy and efficiency of non-transparent bridge verification management, thereby ensuring the accuracy of data backup.
  • the following steps can be implemented: horizontally partition the data to be backed up according to the data service object to obtain each area; Vertically partition the backup data according to the importance of the data to obtain each vertical partition; allocate channels to each zone based on the amount of data in each vertical partition.
  • the following steps can be implemented: If the first check result is that each area passes the continuity check, start For data backup, the data to be backed up is backed up to the backup controller in the dual controller according to each zone and through the channel of each zone.
  • the following steps can be implemented: after partitioning the data to be backed up and allocating channels to each zone, the partitions and channels are The allocation situation is sent to the backup controller, so that the backup controller can continuously send data to the second non-transparent bridge connected to the backup controller through all channels in each zone based on the partition and channel allocation situation, so that the second non-transparent bridge can respectively Perform a continuity check on the received data corresponding to each zone, and when the second check result returned by the second non-transparent bridge is that a certain zone fails the continuity check, enumerate all channels in the zone. Lift verification.
  • the following steps can be implemented: If the first check result is that each area passes the continuity check, and the If the second verification result is that each zone passes the continuity check, data backup is started.
  • the following steps can be implemented: divide the data to be backed up into batches, obtain multiple batches of data, and combine the multiple batches of data Back up to the backup controller in the dual controller batch by batch according to each zone and through the channel of each zone;
  • the following steps can be implemented: after the backup of any batch of data is completed, extract the first feature of the batch of data and store the first feature of the batch of data.
  • a feature is transmitted to the first non-transparent bridge, so that the first non-transparent bridge compares whether the first feature and the second feature are consistent; wherein, the second feature is the first feature of the batch of data received by the backup controller extracted by the backup controller.
  • the following steps can be implemented: sending an execution instruction to the backup controller so that the backup controller can extract it under the control of the execution instruction. Second characteristic of the received batch data.
  • the following steps can be implemented: if the first feature and the second feature are inconsistent, determine the problem channel, and assign the problem channel closure.
  • the following steps can be implemented: determine the hash function; use the hash function to extract the hash value set of the batch of data, Get the first feature of this batch of data.
  • the computer subroutine stored in the computer non-volatile readable storage medium is executed by the processor.
  • the following steps can be implemented: identify the data type of the batch of data; determine the hash function based on the data type.
  • the following steps can be implemented: for any data type of data in the batch of data, use the data corresponding to the data type
  • the hash function extracts the hash value; the hash values corresponding to different data types are merged into the hash value set of the batch of data to obtain the first feature of the batch of data.
  • the following steps can be implemented: constructing a first hash function based on the division-leaving-remainder method; converting the text-type hash function Determine it as the first hash function; construct the second hash function based on the square median method; determine the hash function of the image type and the video type as the second hash function.
  • RAM random access memory
  • ROM read-only memory
  • electrically programmable ROM electrically erasable programmable ROM
  • registers hard disks, removable disks, CD-ROMs, or anywhere in the field of technology. Any other known form of non-volatile readable storage medium.

Abstract

The present application discloses a non-transparent bridge management method and apparatus, a controller, and a nonvolatile medium. The method comprises: partitioning data to be backed up and distributing channels for each region; by means of all the channels of each region, continuously sending data to a first non-transparent bridge connected to a main controller, so that the first non-transparent bridge separately performs continuity verification on the received data corresponding to each region; and acquiring a first verification result returned by the first non-transparent bridge, and if the first verification result is that a certain region does not pass the continuity verification, enumerating and verifying all the channels of the region. Therefore, a problematic channel connected to a non-transparent bridge can be accurately verified, the problem can be processed in a timely manner, the accuracy and efficiency of non-transparent bridge verification management can be improved, and thus the accuracy of data backup is ensured.

Description

一种非透明桥管理方法、装置、控制器及介质A non-transparent bridge management method, device, controller and medium
相关申请的交叉引用Cross-references to related applications
本申请要求于2022年09月13日提交中国专利局,申请号为202211107200.8,申请名称为“一种非透明桥管理方法、装置、控制器及介质”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。This application requests the priority of the Chinese patent application submitted to the China Patent Office on September 13, 2022, with the application number 202211107200.8, and the application name is "A non-transparent bridge management method, device, controller and medium", and its entire content incorporated herein by reference.
技术领域Technical field
本申请涉及存储技术领域,特别涉及一种非透明桥管理方法、装置、控制器及非易失性可读存储介质。The present application relates to the field of storage technology, and in particular to a non-transparent bridge management method, device, controller and non-volatile readable storage medium.
背景技术Background technique
在大数据时代,对存储阵列可靠性提出更高要求,尤其是对存储系统数据备份的可靠稳定性。当前存储系统中采用NTB(即Non-Transparent Bridging,非透明桥)实现双控制器之间的数据备份,确保双控制器上处理的数据能够快速准确的实现备份,采用这种镜像备份极大提高了存储设备的可靠性。然而,在应用非透明桥芯片实现数据备份的过程中,控制器通过PCIE(即Peripheral Component Interconnect Express,高速串行计算机扩展总线标准)通道连接至NTB芯片进行数据传输,PCIE串行数据传输过程中,NTB连接的多通道很难进行校验管理,当一条PCIE链路出现异常时,异常问题很难进行定位分析,异常通路可能会导致控制器备份数据过程出现失误,最终导致数据存储的失误、甚至丢盘等严重问题;同时,随着当前PCIE技术的发展,所需传输、备份数据的带宽也逐渐增多,且随着存储主板功能的复杂,数据传输通道的长度在主板上也会有一定延长,以上这一系列物理因素均给PCIE通道上数据传输备份带来更大的困难,NTB芯片校验PCIE通道数据传输准确性的难度也进一步增加,因此,如何准确快速的进行NTB的校验管理,来保证数据备份过程的准确无误是目前亟待解决的问题。In the era of big data, higher requirements are placed on the reliability of storage arrays, especially the reliability and stability of data backup in storage systems. NTB (Non-Transparent Bridging, non-transparent bridge) is currently used in the storage system to realize data backup between dual controllers to ensure that the data processed on the dual controllers can be backed up quickly and accurately. Using this kind of mirror backup greatly improves the efficiency of data backup. improve the reliability of storage devices. However, in the process of applying a non-transparent bridge chip to achieve data backup, the controller is connected to the NTB chip for data transmission through the PCIE (Peripheral Component Interconnect Express, high-speed serial computer expansion bus standard) channel. During the PCIE serial data transmission process , it is difficult to verify and manage multiple channels connected by NTB. When a PCIE link is abnormal, it is difficult to locate and analyze the abnormal problem. Abnormal paths may cause errors in the controller's data backup process, eventually leading to data storage errors. Even serious problems such as disk loss; at the same time, with the development of current PCIE technology, the bandwidth required to transmit and back up data is gradually increasing, and as the functions of the storage motherboard become more complex, the length of the data transmission channel on the motherboard will also have a certain limit. Extension, the above series of physical factors bring greater difficulties to data transmission backup on the PCIE channel, and the difficulty of the NTB chip to verify the accuracy of PCIE channel data transmission is also further increased. Therefore, how to accurately and quickly perform NTB verification Management to ensure the accuracy of the data backup process is an urgent problem that needs to be solved.
发明内容Contents of the invention
有鉴于此,本申请的目的在于提供一种非透明桥管理方法、装置、控制器及非易失性可读存储介质,能够提升NTB校验管理的准确性和效率,从而保障数据备份的准确性。其方案如下:In view of this, the purpose of this application is to provide a non-transparent bridge management method, device, controller and non-volatile readable storage medium, which can improve the accuracy and efficiency of NTB verification management, thereby ensuring the accuracy of data backup sex. The plan is as follows:
第一方面,本申请公开了一种非透明桥管理方法,应用于双控制器中的主控制器,包括:对待备份数据进行分区并为每个区分配通道;通过每个区的所有通道向与主控制器连接的第一非透明桥连续发送数据,以便第一非透明桥分别对接收到的每个区对应的数据进行连续性校验;获取第一非透明桥返回的第一校验结果,若第一校验结果为某一 区未通过连续性校验,则对该区的所有通道进行枚举校验。In the first aspect, this application discloses a non-transparent bridge management method, which is applied to the main controller in a dual controller, including: partitioning the data to be backed up and allocating channels to each zone; passing all channels in each zone to The first non-transparent bridge connected to the main controller continuously sends data, so that the first non-transparent bridge performs continuity check on the received data corresponding to each zone; obtains the first check returned by the first non-transparent bridge As a result, if the first verification result is a certain If the zone fails the continuity check, all channels in the zone will be enumerated and checked.
可选的,对待备份数据进行分区并为每个区分配通道,包括:根据数据服务对象对待备份数据进行水平分区,得到每个区;根据数据重要程度对待备份数据进行垂直分区,得到各垂直分区;基于每个区在各垂直分区中的数据量为每个区分配通道。Optionally, partition the data to be backed up and allocate channels to each zone, including: horizontally partitioning the data to be backed up according to the data service object to obtain each zone; vertically partitioning the data to be backed up according to the importance of the data to obtain each vertical partition ;Assign channels to each zone based on the amount of data each zone has in each vertical partition.
可选的,根据数据服务对象对待备份数据进行水平分区,得到每个区,包括:从前端服务器获取数据服务对象;根据数据服务对象对待备份数据进行水平分区,得到每个区。Optionally, horizontally partition the data to be backed up based on the data service object to obtain each area, including: obtaining the data service object from the front-end server; horizontally partitioning the data to be backed up based on the data service object to obtain each area.
可选的,还包括:若第一校验结果为每个区均通过连续性校验,则启动数据备份,将待备份数据按照每个区并通过每个区的通道备份至双控制器中的备份控制器。Optionally, it also includes: if the first verification result is that each zone passes the continuity check, start data backup, and back up the data to be backed up to the dual controller according to each zone and through the channel of each zone. backup controller.
可选的,在对待备份数据进行分区并为每个区分配通道之后,还包括:将分区及通道分配情况发送至备份控制器中,以便备份控制器基于分区及通道分配情况,通过每个区的所有通道向与备份控制器连接的第二非透明桥连续发送数据,以便第二非透明桥分别对接收到的每个区对应的数据进行连续性校验,并在第二非透明桥返回的第二校验结果为某一区未通过连续性校验时,对该区的所有通道进行枚举校验。Optionally, after partitioning the data to be backed up and allocating channels to each zone, it also includes: sending the partition and channel allocation to the backup controller, so that the backup controller can process the data through each zone based on the partition and channel allocation. All channels continuously send data to the second non-transparent bridge connected to the backup controller, so that the second non-transparent bridge performs continuity check on the received data corresponding to each zone, and returns on the second non-transparent bridge When the second verification result is that a certain area fails the continuity check, all channels in the area will be enumerated and verified.
可选的,若第一校验结果为每个区均通过连续性校验,则启动数据备份,包括:若第一校验结果为每个区均通过连续性校验,且第二校验结果为每个区均通过连续性校验,则启动数据备份。Optionally, if the first verification result is that each area passes the continuity check, data backup is started, including: if the first verification result is that each area passes the continuity check, and the second verification The result is that each zone passes the continuity check, and data backup is started.
可选的,对该区的所有通道进行枚举校验,包括:通过该区的通道一一向与主控制器连接的第一非透明桥连续发送数据,以便第一非透明桥分别对接收到的每个通道对应的数据进行连续性校验。Optionally, perform enumeration and verification on all channels in this area, including: continuously sending data through the channel in this area to the first non-transparent bridge connected to the main controller, so that the first non-transparent bridge can respectively receive The data corresponding to each channel is checked for continuity.
可选的,将待备份数据按照每个区并通过每个区的通道备份至双控制器中的备份控制器,包括:将待备份数据分批,得到多个批数据,并将多个批数据逐批按照每个区并通过每个区的通道备份至双控制器中的备份控制器;相应的,方法还包括:在任一批数据备份完成之后,提取该批数据的第一特征并将第一特征传递至第一非透明桥,以便第一非透明桥比对第一特征和第二特征是否一致;其中,第二特征为备份控制器提取的备份控制器接收到的该批数据的第二特征。Optionally, the data to be backed up is backed up to the backup controller in the dual controller according to each zone and through the channel of each zone, including: dividing the data to be backed up into batches, obtaining multiple batches of data, and converting the multiple batches into The data is backed up to the backup controller in the dual controller batch by batch according to each zone and through the channel of each zone; accordingly, the method also includes: after the backup of any batch of data is completed, extract the first feature of the batch of data and The first feature is transmitted to the first non-transparent bridge, so that the first non-transparent bridge compares the first feature and the second feature to see if they are consistent; wherein, the second feature is the batch of data received by the backup controller extracted by the backup controller. Second characteristic.
可选的,还包括:向备份控制器发送执行指令,以便备份控制器在执行指令的控制下提取接收到的批数据的第二特征。Optionally, the method further includes: sending an execution instruction to the backup controller, so that the backup controller extracts the second characteristic of the received batch data under the control of the execution instruction.
可选的,还包括:获取备份控制器发送的第二特征;将第二特征传递至第一非透明桥,以便第一非透明桥比对第一特征和第二特征是否一致。Optionally, the method further includes: obtaining the second characteristic sent by the backup controller; and transmitting the second characteristic to the first non-transparent bridge, so that the first non-transparent bridge compares whether the first characteristic and the second characteristic are consistent.
可选的,还包括:若第一特征和第二特征不一致,则确定问题通道,并将问题通道 关闭。Optionally, it also includes: if the first feature and the second feature are inconsistent, determine the problem channel and assign the problem channel closure.
可选的,确定问题通道,包括:通过每个区的所有通道向与主控制器连接的第一非透明桥连续发送数据,以便第一非透明桥分别对接收到的每个区对应的接收数据进行连续性校验;获取第一非透明桥返回的校验结果,若该校验结果为某一区未通过连续性校验,则对该区的所有通道进行枚举校验,并将未通过校验的通道确定为问题通道。Optionally, determining the problem channel includes: continuously sending data through all channels in each zone to the first non-transparent bridge connected to the main controller, so that the first non-transparent bridge receives data corresponding to each zone. The data is checked for continuity; the check result returned by the first non-transparent bridge is obtained. If the check result is that a certain area fails the continuity check, all channels in the area are enumerated and checked, and the Channels that fail the verification are determined to be problem channels.
可选的,提取该批数据的第一特征,包括:确定散列函数;利用散列函数提取该批数据的散列值集合,得到该批数据的第一特征。Optionally, extracting the first feature of the batch of data includes: determining a hash function; using the hash function to extract a set of hash values of the batch of data to obtain the first feature of the batch of data.
可选的,确定散列函数,包括:识别该批数据的数据类型;基于数据类型确定散列函数。Optionally, determining the hash function includes: identifying the data type of the batch of data; determining the hash function based on the data type.
可选的,利用散列函数提取该批数据的散列值集合,得到该批数据的第一特征,包括:针对该批数据中的任一数据类型的数据,利用与该数据类型对应的散列函数提取散列值;将不同数据类型对应的散列值融合为该批数据的散列值集合,得到该批数据的第一特征。Optionally, use a hash function to extract a hash value set of the batch of data to obtain the first feature of the batch of data, including: for any data type in the batch of data, use the hash value corresponding to the data type. The column function extracts hash values; the hash values corresponding to different data types are merged into the hash value set of the batch of data to obtain the first feature of the batch of data.
可选的,数据类型包括文本类型、图像类型、视频类型,相应的,基于数据类型确定散列函数,包括:基于除留余数法构造第一散列函数;将文本类型的散列函数确定为第一散列函数;基于平方中值法构造第二散列函数;将图像类型和视频类型的散列函数确定为第二散列函数。Optionally, the data type includes text type, image type, and video type. Correspondingly, determining the hash function based on the data type includes: constructing the first hash function based on the division-leaving-remainder method; determining the hash function of the text type as A first hash function; a second hash function is constructed based on the squared median method; and the hash function of the image type and the video type is determined as the second hash function.
第二方面,本申请公开了一种非透明桥管理装置,应用于双控制器中的主控制器,包括:数据分区模块,被设置为对待备份数据进行分区;通道分配模块,被设置为为每个区分配通道;分区校验模块,被设置为通过每个区的所有通道向与主控制器连接的第一非透明桥连续发送数据,以便第一非透明桥分别对接收到的每个区对应的数据进行连续性校验;校验结果获取模块,被设置为获取第一非透明桥返回的第一校验结果;通道校验模块,被设置为若第一校验结果为某一区未通过连续性校验,则对该区的所有通道进行枚举校验。In the second aspect, this application discloses a non-transparent bridge management device, which is applied to the main controller in a dual controller, including: a data partition module, which is set to partition the backup data; a channel allocation module, which is set to Each zone is allocated a channel; the zone check module is configured to continuously send data through all channels of each zone to the first non-transparent bridge connected to the main controller, so that the first non-transparent bridge responds to each received The data corresponding to the area is checked for continuity; the check result acquisition module is set to obtain the first check result returned by the first non-transparent bridge; the channel check module is set to if the first check result is a certain If the zone fails the continuity check, all channels in the zone will be enumerated and checked.
第三方面,本申请公开了一种控制器,包括存储器和处理器,其中:存储器,被设置为保存计算机程序;处理器,被设置为执行计算机程序,以实现前述的非透明桥管理方法。In a third aspect, this application discloses a controller that includes a memory and a processor, wherein: the memory is configured to save a computer program; the processor is configured to execute the computer program to implement the aforementioned non-transparent bridge management method.
第四方面,本申请公开了一种计算机非易失性可读存储介质,被设置为保存计算机程序,其中,计算机程序被处理器执行时实现前述的非透明桥管理方法。In a fourth aspect, the present application discloses a computer non-volatile readable storage medium configured to store a computer program, wherein the computer program implements the aforementioned non-transparent bridge management method when executed by a processor.
可见,本申请先对待备份数据进行分区并为每个区分配通道,之后通过每个区的所有通道向与主控制器连接的第一非透明桥连续发送数据,以便第一非透明桥分别对接收 到的每个区对应的数据进行连续性校验,然后获取第一非透明桥返回的第一校验结果,若第一校验结果为某一区未通过连续性校验,则对该区的所有通道进行枚举校验。也即,本申请在数据备份之前,对待备份数据进行分区以及通道分配,然后先对每个区校验,若某一区未通过校验,再对每个通道校验,这样,能够准确的校验出非透明桥上连接的问题通道,及时处理问题,能够提升非透明桥校验管理的准确性和效率,从而保障数据备份的准确性。It can be seen that this application first partitions the backup data and allocates channels to each zone, and then continuously sends data to the first non-transparent bridge connected to the main controller through all channels in each zone, so that the first non-transparent bridge can respectively take over The data corresponding to each zone is checked for continuity, and then the first check result returned by the first non-transparent bridge is obtained. If the first check result is that a certain zone fails the continuity check, the zone is All channels are enumerated and verified. That is to say, before data backup, this application partitions and allocates channels for the backup data, and then verifies each area first. If a certain area fails the verification, then verifies each channel. In this way, it can accurately Verifying the problematic channels connected on the non-transparent bridge and handling the problems in a timely manner can improve the accuracy and efficiency of non-transparent bridge verification management, thereby ensuring the accuracy of data backup.
附图说明Description of drawings
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。In order to explain the embodiments of the present application or the technical solutions in the prior art more clearly, the drawings needed to be used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings in the following description are only This is an embodiment of the present application. For those of ordinary skill in the art, other drawings can be obtained based on the provided drawings without exerting creative efforts.
图1为本申请实施例公开的一种非透明桥管理方法流程图;Figure 1 is a flow chart of a non-transparent bridge management method disclosed in an embodiment of the present application;
图2为本申请实施例提供的一种可选的双控制器存储系统结构示意图;Figure 2 is a schematic structural diagram of an optional dual-controller storage system provided by an embodiment of the present application;
图3为本申请实施例公开的一种可选的非透明桥管理方法流程图;Figure 3 is a flow chart of an optional non-transparent bridge management method disclosed in the embodiment of the present application;
图4为本申请实施例公开的一种可选的数据备份流程图;Figure 4 is an optional data backup flow chart disclosed in the embodiment of the present application;
图5为本申请实施例公开的一种可选的分区枚举扫描算法流程图;Figure 5 is a flow chart of an optional partition enumeration scanning algorithm disclosed in the embodiment of the present application;
图6为本申请实施例公开的一种可选的基于Hash原理的数据对比算法流程图;Figure 6 is a flow chart of an optional data comparison algorithm based on the Hash principle disclosed in the embodiment of the present application;
图7为本申请实施例公开的一种非透明桥管理装置结构示意图;Figure 7 is a schematic structural diagram of a non-transparent bridge management device disclosed in an embodiment of the present application;
图8为本申请实施例公开的一种控制器原理结构图。Figure 8 is a schematic structural diagram of a controller disclosed in the embodiment of the present application.
具体实施方式Detailed ways
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。The technical solutions in the embodiments of the present application will be clearly and completely described below with reference to the accompanying drawings in the embodiments of the present application. Obviously, the described embodiments are only some of the embodiments of the present application, rather than all of the embodiments. Based on the embodiments in this application, all other embodiments obtained by those of ordinary skill in the art without creative efforts fall within the scope of protection of this application.
目前,在应用非透明桥芯片实现数据备份的过程中,控制器通过PCIE通道连接至NTB芯片进行数据传输,PCIE串行数据传输过程中,NTB连接的多通道很难进行校验管理,当一条PCIE链路出现异常时,异常问题很难进行定位分析,异常通路可能会导致控制器备份数据过程出现失误,最终导致数据存储的失误、甚至丢盘等严重问题;同时,随着当前PCIE技术的发展,所需传输、备份数据的带宽也逐渐增多,且随着存储主板功能的复杂,数据传输通道的长度在主板上也会有一定延长,以上这一系列物理因素均给PCIE通道上数据传输备份带来更大的困难,NTB芯片校验PCIE通道数据传输准确性的难度也进一 步增加,因此,如何准确的进行NTB的校验管理,来保证数据备份过程的准确无误是目前亟待解决的问题。为此,本申请提供了一种非透明桥管理方案,能够提升NTB校验管理的准确性,从而保障数据备份的准确性。Currently, in the process of applying non-transparent bridge chips to realize data backup, the controller is connected to the NTB chip through the PCIE channel for data transmission. During the PCIE serial data transmission process, it is difficult to verify and manage the multiple channels of the NTB connection. When a When the PCIE link is abnormal, it is difficult to locate and analyze the abnormal problem. The abnormal path may cause errors in the controller's data backup process, eventually leading to serious problems such as data storage errors and even disk loss. At the same time, with the current development of PCIE technology, With the development of the industry, the bandwidth required for data transmission and backup is gradually increasing. With the complexity of storage motherboard functions, the length of the data transmission channel on the motherboard will also be extended to a certain extent. The above series of physical factors have limited the data transmission on the PCIE channel. Backup brings greater difficulties, and it becomes more difficult for the NTB chip to verify the accuracy of PCIE channel data transmission. Therefore, how to accurately perform NTB verification management to ensure the accuracy of the data backup process is an issue that needs to be solved urgently. To this end, this application provides a non-transparent bridge management solution that can improve the accuracy of NTB verification management and thereby ensure the accuracy of data backup.
参见图1所示,本申请实施例公开了一种非透明桥管理方法,应用于双控制器中的主控制器,包括:As shown in Figure 1, an embodiment of the present application discloses a non-transparent bridge management method, which is applied to the main controller in a dual controller, including:
步骤S11:对待备份数据进行分区并为每个区分配通道。Step S11: Partition the data to be backed up and allocate channels to each zone.
例如,参见图2所示,图2为本申请实施例提供的一种可选的双控制器存储系统结构示意图。双控制器之间通过非透明桥实现数据的相互备份,一路控制器上有16路PCIE通道连向非透明桥,另一路控制器上同样有16路PCIE通道连向非透明桥,两个非透明桥之间互联,这使得两路控制器均能够通过非透明桥访问对方的系统,数据可以相互进行备份。PCIE通过串行传输方式传输数据,因此各通道间数据传输的起始终止不会相互干扰影响,从两台控制器端到NTB端的各路PCIE通道之间相互独立,这种串行的传输方式提高了数据传输速率,但各通道相互独立提高了通道校验的复杂程度,本申请实施例能够准确的进行通道校验。其中,通道为连接控制器中CPU(即Central Processing Unit,中央处理器)与NTB的PCIE通道。For example, see Figure 2, which is a schematic structural diagram of an optional dual-controller storage system provided by an embodiment of the present application. The dual controllers realize mutual backup of data through non-transparent bridges. One controller has 16 PCIE channels connected to the non-transparent bridge, and the other controller also has 16 PCIE channels connected to the non-transparent bridge. Two non-transparent bridges. Transparent bridges are interconnected, which allows both controllers to access each other's systems through non-transparent bridges, and data can be backed up each other. PCIE transmits data through serial transmission, so the start and end of data transmission between channels will not interfere with each other. Each PCIE channel from the two controllers to the NTB is independent of each other. This serial transmission method The data transmission rate is increased, but the independence of each channel increases the complexity of channel verification. The embodiment of the present application can accurately perform channel verification. Among them, the channel is the PCIE channel connecting the CPU (Central Processing Unit) and NTB in the controller.
在一种实施方式中,可以根据数据服务对象对待备份数据进行水平分区,得到每个区;根据数据重要程度对待备份数据进行垂直分区,得到各垂直分区;基于每个区在各垂直分区中的数据量为每个区分配通道。例如,在一种可选的实施方式中,可以根据数据重要程度对待备份数据进行垂直分区,得到高重要程度、中重要程度、低重要程度的垂直分区,按每个区在这三个垂直分区的数据量为每个区分配通道,以高重要程度的数据量越大,分配的通道越多为原则进行分配,如果高重要程度的数据量相同,按中重要程度的数据量大小进行分配。从前端服务器获取待备份数据中各数据的数据服务对象;根据数据服务对象对待备份数据进行水平分区,得到每个区。In one implementation, the data to be backed up can be horizontally partitioned according to the data service object to obtain each zone; the data to be backed up can be vertically partitioned according to the importance of the data to obtain each vertical partition; based on the location of each zone in each vertical partition The amount of data allocated is a channel for each zone. For example, in an optional implementation, the backup data can be vertically partitioned according to the data importance to obtain vertical partitions of high importance, medium importance, and low importance. Each area can be divided into three vertical partitions. Channels are allocated to each area according to the amount of data. The larger the amount of data of high importance, the more channels are allocated. If the amount of data of high importance is the same, allocation will be based on the amount of data of medium importance. Obtain the data service object of each data in the data to be backed up from the front-end server; horizontally partition the data to be backed up according to the data service object to obtain each zone.
其中,待备份数据为控制器当前的处理数据,也即,控制器首先对当前数据处理进行分区,分区方式采用水平分区与垂直分区相结合,水平分区横向上将处理数据按数据服务对象进行划分,数据服务对象也即数据所服务的对象,由前端服务器提供。由控制器进行处理数据与数据服务对象的分配,分配完成后各数据服务对象所在区对应各自的处理数据,垂直分区在纵向上将处理数据按重要程度分为高中低三个区,每一区包括一定量的处理数据。分区完成后对各个区进行PCIE通道分配,通道根据之前的水平分区情况进行分配,如包括了5个数据服务对象即分了5个区,每个区所分配的通道数量按照垂直分区中数据重要程度进行划分,服务对象的数据中包括大量高重要程度的需要多分配 PCIE通道。Among them, the data to be backed up is the current processing data of the controller. That is, the controller first partitions the current data processing. The partitioning method adopts a combination of horizontal partitioning and vertical partitioning. The horizontal partitioning divides the processing data horizontally according to data service objects. , the data service object is the object served by the data, which is provided by the front-end server. The controller allocates the processing data and data service objects. After the allocation is completed, the area where each data service object is located corresponds to its own processing data. The vertical partition divides the processing data vertically into three areas according to the importance: high, medium and low. Each area Includes a certain amount of processing data. After the partitioning is completed, PCIE channels are allocated to each area. The channels are allocated according to the previous horizontal partitioning situation. For example, if it includes 5 data service objects, it is divided into 5 areas. The number of channels allocated to each area is based on the importance of the data in the vertical partitioning. The data of the service object includes a large number of highly important data that require multiple allocations. PCIE channel.
步骤S12:通过每个区的所有通道向与主控制器连接的第一非透明桥连续发送数据,以便第一非透明桥分别对接收到的每个区对应的数据进行连续性校验。Step S12: Continuously send data through all channels of each zone to the first non-transparent bridge connected to the main controller, so that the first non-transparent bridge can perform continuity check on the received data corresponding to each zone.
步骤S13:获取第一非透明桥返回的第一校验结果,若第一校验结果为某一区未通过连续性校验,则对该区的所有通道进行枚举校验。Step S13: Obtain the first verification result returned by the first non-transparent bridge. If the first verification result shows that a certain area fails the continuity check, perform enumeration verification on all channels in the area.
在一种实施方式中,通过该区的通道一一向与主控制器连接的第一非透明桥连续发送数据,以便第一非透明桥分别对接收到的每个通道对应的数据进行连续性校验。也即,一一通过该区的通道向第一非透明桥连续发送数据,以便第一非透明桥对接收数据进行连续性校验,以定位出问题通道,并对该问题通道进行切断隔离。In one implementation, data is continuously sent to the first non-transparent bridge connected to the main controller through the channels in this area, so that the first non-transparent bridge performs continuity processing on the received data corresponding to each channel. check. That is, data is continuously sent to the first non-transparent bridge one by one through the channels in this area, so that the first non-transparent bridge can perform continuity verification on the received data to locate the problematic channel and cut off and isolate the problematic channel.
可见,本申请实施例先对待备份数据进行分区并为每个区分配通道,之后通过每个区的所有通道向与主控制器连接的第一非透明桥连续发送数据,以便第一非透明桥分别对接收到的每个区对应的数据进行连续性校验,然后获取第一非透明桥返回的第一校验结果,若第一校验结果为某一区未通过连续性校验,则对该区的所有通道进行枚举校验。也即,本申请在数据备份之前,对待备份数据进行分区以及通道分配,然后先对每个区校验,若某一区未通过校验,再对每个通道校验,这样,能够准确的校验出非透明桥上连接的问题通道,及时处理问题,能够提升非透明桥校验管理的准确性和效率,从而保障数据备份的准确性。It can be seen that the embodiment of the present application first partitions the backup data and allocates channels to each zone, and then continuously sends data to the first non-transparent bridge connected to the main controller through all channels in each zone, so that the first non-transparent bridge Perform a continuity check on the received data corresponding to each zone, and then obtain the first check result returned by the first non-transparent bridge. If the first check result indicates that a certain zone has failed the continuity check, then Perform enumeration verification on all channels in this area. That is to say, before data backup, this application partitions and allocates channels for the backup data, and then verifies each area first. If a certain area fails the verification, then verifies each channel. In this way, it can accurately Verifying the problematic channels connected on the non-transparent bridge and handling the problems in a timely manner can improve the accuracy and efficiency of non-transparent bridge verification management, thereby ensuring the accuracy of data backup.
参见图3所示,本申请实施例公开了一种可选的非透明桥管理方法,应用于双控制器中的主控制器,包括:As shown in Figure 3, this embodiment of the present application discloses an optional non-transparent bridge management method, which is applied to the main controller in a dual controller, including:
步骤S21:对待备份数据进行分区并为每个区分配通道。Step S21: Partition the data to be backed up and allocate channels to each zone.
步骤S22:通过每个区的所有通道向与主控制器连接的第一非透明桥连续发送数据,以便第一非透明桥分别对接收到的每个区对应的数据进行连续性校验。Step S22: Continuously send data to the first non-transparent bridge connected to the main controller through all channels of each zone, so that the first non-transparent bridge can perform continuity check on the received data corresponding to each zone.
步骤S23:获取第一非透明桥返回的第一校验结果,若第一校验结果为某一区未通过连续性校验,则对该区的所有通道进行枚举校验。Step S23: Obtain the first verification result returned by the first non-transparent bridge. If the first verification result shows that a certain area fails the continuity check, perform enumeration verification on all channels in the area.
关于上述步骤S21至S23的实施方式可以参考前述实施例公开的内容,在此不再进行赘述。Regarding the implementation of the above steps S21 to S23, reference may be made to the content disclosed in the foregoing embodiments, which will not be described again here.
步骤S24:若第一校验结果为每个区均通过连续性校验,则启动数据备份,将待备份数据按照每个区并通过每个区的通道备份至双控制器中的备份控制器。Step S24: If the first verification result is that each zone passes the continuity check, data backup is started, and the data to be backed up is backed up to the backup controller in the dual controller according to each zone and through the channel of each zone. .
也即,在通道分配完成之后,控制器通过每个区的通道向NTB发送相同的连续报文数据,NTB实时地对各个区报文数据的连续性进行校验,若检测到各区数据连续性均满足要求后,校验完成,开始数据备份工作,当检测到数据连续性存在异常时,NTB可迅速定位 到某个区。然后对该区的通道进行枚举校验,校验出问题通道后向控制器发出诊断信息,数据备份过程种该通道在软件上被切断隔离。That is, after the channel allocation is completed, the controller sends the same continuous message data to NTB through the channel in each zone. NTB verifies the continuity of the message data in each zone in real time. If the data continuity in each zone is detected, After all requirements are met, the verification is completed and the data backup work begins. When an abnormality in data continuity is detected, NTB can quickly locate it. to a certain district. Then the channels in this area are enumerated and verified. After verifying the problematic channel, diagnostic information is sent to the controller. During the data backup process, the channel is cut off and isolated in software.
并且,在一种实施方式中,可以将分区及通道分配情况发送至备份控制器中,以便备份控制器基于分区及通道分配情况,通过每个区的所有通道向与备份控制器连接的第二非透明桥连续发送数据,以便第二非透明桥分别对接收到的每个区对应的数据进行连续性校验,并在第二非透明桥返回的第二校验结果为某一区未通过连续性校验时,对该区的所有通道进行枚举校验。相应的,在一种实施方式中,若第一校验结果为每个区均通过连续性校验,且第二校验结果为每个区均通过连续性校验,则启动数据备份。Moreover, in one implementation, the partition and channel allocation information can be sent to the backup controller, so that the backup controller can, based on the partition and channel allocation information, send data to the second server connected to the backup controller through all channels in each zone. The non-transparent bridge continuously sends data, so that the second non-transparent bridge performs a continuity check on the received data corresponding to each zone, and the second check result returned by the second non-transparent bridge is that a certain zone failed During continuity check, all channels in the area are enumerated and checked. Correspondingly, in one implementation, if the first verification result is that each area passes the continuity check, and the second verification result is that each area passes the continuity check, data backup is started.
也即,为了保障备份链路上的两个控制器上的NTB均可用,本申请实施例在备份控制器侧也执行备份前的通道校验,方式可参考主控制器中的校验。并且,本申请实施例中,双控制器中的主控制器和备份控制器并不固定,主控制器为在备份过程中待备份数据所在控制器,备份控制器为待备份数据所备份至的控制器。That is, in order to ensure that the NTBs on both controllers on the backup link are available, the embodiment of this application also performs channel verification before backup on the backup controller side. The method can refer to the verification in the main controller. Moreover, in the embodiment of this application, the main controller and the backup controller in the dual controller are not fixed. The main controller is the controller where the data to be backed up is located during the backup process, and the backup controller is the controller to which the data to be backed up is backed up. controller.
在一种实施方式中,可以将待备份数据分批,得到多个批数据,并将多个批数据逐批按照每个区并通过每个区的通道备份至双控制器中的备份控制器;相应的,在任一批数据备份完成之后,提取该批数据的第一特征并将第一特征传递至第一非透明桥,以便第一非透明桥比对第一特征和第二特征是否一致;其中,第二特征为备份控制器提取的备份控制器接收到的该批数据的第二特征。In one implementation, the data to be backed up can be divided into batches to obtain multiple batches of data, and the multiple batches of data can be backed up to the backup controller in the dual controller one by one according to each zone and through the channel of each zone. ; Correspondingly, after the backup of any batch of data is completed, extract the first feature of the batch of data and transfer the first feature to the first non-transparent bridge, so that the first non-transparent bridge compares whether the first feature and the second feature are consistent. ; Wherein, the second feature is the second feature of the batch of data received by the backup controller extracted by the backup controller.
可选的,本申请实施例中,提取该批数据的第一特征,包括以下步骤:Optionally, in the embodiment of this application, extracting the first feature of the batch of data includes the following steps:
步骤00:确定散列函数。Step 00: Determine the hash function.
在一种实施方式中,可以识别该批数据的数据类型;基于数据类型确定散列函数。In one implementation, the data type of the batch of data can be identified; a hash function is determined based on the data type.
其中,数据类型包括文本类型、图像类型、视频类型,相应的,基于数据类型确定散列函数,包括:基于除留余数法构造第一散列函数;将文本类型的散列函数确定为第一散列函数;基于平方中值法构造第二散列函数;将图像类型和视频类型的散列函数确定为第二散列函数。Among them, the data type includes text type, image type, and video type. Correspondingly, determining the hash function based on the data type includes: constructing the first hash function based on the division and leaving remainder method; determining the hash function of the text type as the first Hash function; construct a second hash function based on the square median method; determine the hash function of image type and video type as the second hash function.
步骤01:利用散列函数提取该批数据的散列值集合,得到该批数据的第一特征。Step 01: Use the hash function to extract the hash value set of the batch of data to obtain the first feature of the batch of data.
在一种实施方式中,可以针对该批数据中的任一数据类型的数据,利用与该数据类型对应的散列函数提取散列值;将不同数据类型对应的散列值融合为该批数据的散列值集合,得到该批数据的第一特征。In one implementation, for any data type in the batch of data, a hash function corresponding to the data type can be used to extract a hash value; hash values corresponding to different data types are merged into the batch of data A set of hash values to obtain the first feature of the batch of data.
并且,主控制器可以向备份控制器发送执行指令,以便备份控制器在执行指令的控制下提取接收到的批数据的第二特征。备份控制器在执行指令的控制下与主控制器同时进行特征提取,备份控制器得到第二特征,主控器得到第一特征,其中,第二特征的提 取过程可以参考第一特征的提取过程,在此不再进行赘述。主控制器获取备份控制器发送的第二特征;将第二特征传递至第一非透明桥,以便第一非透明桥比对第一特征和第二特征是否一致。Furthermore, the main controller may send an execution instruction to the backup controller, so that the backup controller extracts the second feature of the received batch data under the control of the execution instruction. Under the control of executing instructions, the backup controller and the main controller perform feature extraction at the same time. The backup controller obtains the second feature, and the main controller obtains the first feature. Among them, the extraction of the second feature For the extraction process, reference can be made to the extraction process of the first feature, which will not be described again here. The main controller obtains the second characteristic sent by the backup controller; and transmits the second characteristic to the first non-transparent bridge, so that the first non-transparent bridge compares whether the first characteristic and the second characteristic are consistent.
也即,本申请实施例基于Hash(哈希)原理对所处理的数据建立散列值集合,散列值集合的数据量远远小于原处理数据量,可以在最短时间内对原数据与备份数据进行比较,散列值集合的建立的前提是选取合适的散列函数,使得原数据跟经过散列函数映射后的散列数据呈多对一的关系,从而使处理数据量大大减小,在映射过程种经过散列函数映射出的散列值集合需要满足两个条件:1、数据总量远远小于原处理数据总量,2、散列集合中的数据可以反映出原数据的整体情况,本申请实施例利用混合散列函数法,即对于不同的数据类型选取不同的散列函数,最后将得到的集合进行相融合,从而得到最终的散列集合。例如,对于文本类型的数据,选用除留余数法,将文本数据段被关键字P所除后的余数作为散列值,其中,P为小于该数据段长度的质数,这种方法在减小数据量的同时可以极大保留原数据特征,适用于复杂程度相对低的数据;对于图像、视频等复杂的二进制数据可以采用平方中值法,将连续数据进行平方,平方后选取所得数据的中间几位(即中位数以及与中位数邻近的预设数量个),从而在连续数据段提取出少量特征值,实现了控制器处理数据的降维。That is to say, the embodiment of the present application establishes a hash value set for the processed data based on the Hash (hash) principle. The data amount of the hash value set is far smaller than the original processed data amount, and the original data and backup can be combined in the shortest time. Comparing data, the premise of establishing a hash value set is to select an appropriate hash function, so that the original data and the hash data mapped by the hash function have a many-to-one relationship, thus greatly reducing the amount of data processed. In the mapping process, the set of hash values mapped by the hash function needs to meet two conditions: 1. The total amount of data is much smaller than the total amount of original processed data, 2. The data in the hash set can reflect the entirety of the original data. In this case, the embodiment of the present application uses a hybrid hash function method, that is, different hash functions are selected for different data types, and finally the obtained sets are fused to obtain the final hash set. For example, for text type data, the division-leaving-remainder method is used, and the remainder after the text data segment is divided by the keyword P is used as the hash value, where P is a prime number smaller than the length of the data segment. This method reduces the It can greatly retain the characteristics of the original data while reducing the amount of data, and is suitable for data with relatively low complexity; for complex binary data such as images and videos, the square median method can be used to square the continuous data, and then select the middle of the resulting data. Several digits (i.e., the median and a preset number adjacent to the median) are used to extract a small number of feature values from the continuous data segment, thereby achieving dimensionality reduction of the data processed by the controller.
可选的,若第一特征和第二特征一致,则继续下一批数据的备份;若第一特征和第二特征不一致,则确定问题通道,并将问题通道关闭,将该问题通道的数据搬移任务分配到该区的其他通道。其中,确定问题通道的过程包括:通过每个区的所有通道向与主控制器连接的第一非透明桥连续发送数据,以便第一非透明桥分别对接收到的每个区对应的接收数据进行连续性校验;获取第一非透明桥返回的校验结果,若该校验结果为某一区未通过连续性校验,则对该区的所有通道进行枚举校验,并将未通过校验的通道确定为问题通道。Optionally, if the first feature and the second feature are consistent, continue the backup of the next batch of data; if the first feature and the second feature are inconsistent, determine the problem channel, close the problem channel, and save the data of the problem channel. The relocation task is assigned to other channels in the area. Among them, the process of determining the problem channel includes: continuously sending data through all channels in each zone to the first non-transparent bridge connected to the main controller, so that the first non-transparent bridge receives the received data corresponding to each zone respectively. Perform continuity check; obtain the check result returned by the first non-transparent bridge. If the check result shows that a certain area fails the continuity check, all channels in the area will be enumerated and checked, and the failed The channel that passes the verification is determined to be the problem channel.
并且,还可以向备份控制器发送第一特征,备份控制器中的第二非透明桥比对第一特征和第二特征是否一致,同时进行第二非透明桥对应通道的问题定位。也即,两个控制器同时进行问题通道的定位。Moreover, the first feature can also be sent to the backup controller, and the second non-transparent bridge in the backup controller compares the first feature and the second feature to see whether they are consistent, and at the same time locates the problem of the corresponding channel of the second non-transparent bridge. That is, the two controllers simultaneously locate the problem channel.
其中,备份控制器中的问题通道的确定过程均为:通过每个区的所有通道向与备份控制器连接的第二非透明桥连续发送数据,以便第二非透明桥分别对接收到的每个区对应的数据进行连续性校验。获取第二非透明桥返回的校验结果,若该校验结果为某一区未通过连续性校验,则对该区的所有通道进行枚举校验。Among them, the process of determining the problem channel in the backup controller is: continuously sending data through all channels in each zone to the second non-transparent bridge connected to the backup controller, so that the second non-transparent bridge can respond to each received The data corresponding to each area is checked for continuity. Obtain the verification result returned by the second non-transparent bridge. If the verification result shows that a certain area fails the continuity check, then enumerate and verify all channels in the area.
例如,参见图4所示,图4为本申请实施例公开的一种可选的数据备份流程图,通过 分区枚举扫描算法实现CPU(即Central Processing Unit,中央处理器)到NTB的PCIE通道之间的数据校验与通道管理,在校验无误后开始进行数据备份工作,在数据备份过程中通过基于Hash原理的数据对比算法,双控制器的CPU端利用该算法对备份数据进行快速的特征提取校验,确保传输过程中数据有效,当上述算法在数据备份过程中检测出数据备份有误,则二次启动分区枚举扫描算法,该算法可以快速定位出出现异常的PCIE通道,并向BMC控制单元发出该段数据传输错误的指示,作为系统的异常日志收集,但二次启动不执行分区和分通道,对备份前已分好的通道进行校验。也即,分区枚举扫描算法在NTB层面上对各路PCIE通道进行校验处理,该算法在数据备份前被执行用于确定各通道的完整性,在问题定位分析过程中执行,用于快速定位出问题的通道,通过该算法实现了NTB快速校验管理操作。可以理解的是,分区扫描枚举扫描算法,可以执行以下步骤在数据备份之前,对待备份数据进行分区并为每个区分配通道;通过每个区的通道向与主控制器连接的第一非透明桥连续发送数据,以便第一非透明桥分别对每个区对应的接收数据进行连续性校验;获取第一非透明桥返回的第一校验结果,若第一校验结果为某一区未通过连续性校验,则对该区的所有通道进行枚举校验。例如,参见图5所示,图5为本申请实施例公开的一种可选的分区枚举扫描算法流程图。并且,数据对比算法,可以用于执行在任一批数据备份完成之后,提取该批数据的第一特征并将第一特征传递至第一非透明桥,以便第一非透明桥比对第一特征和第二特征是否一致;其中,第二特征为备份控制器提取的备份控制器接收到的该批数据的第二特征。这样,控制器的CPU对数据备份过程中传递的实时数据进行特征提取,进而对提取的特征数据进行及时校验,保证数据备份的准确性。其中,在一次数据备份过程也即一批数据备份完成后,主控制器端会向备份控制器端发出算法执行指令,双控制器同时执行数据对比算法,最终,双控制器均将执行算法得到的散列集合传递给非透明桥,非透明桥校验二者是否完全一致。例如,参见图6所示,图6为本申请实施例公开的一种可选的基于Hash原理的数据对比算法流程图。For example, see Figure 4, which is an optional data backup flow chart disclosed in an embodiment of the present application. The partition enumeration scanning algorithm implements data verification and channel management between the CPU (Central Processing Unit, Central Processing Unit) and the PCIE channel of the NTB. After the verification is correct, the data backup work starts. During the data backup process, the data is backed up based on The data comparison algorithm based on the Hash principle. The CPU side of the dual controller uses this algorithm to quickly perform feature extraction and verification on the backup data to ensure that the data is valid during the transmission process. When the above algorithm detects an error in the data backup during the data backup process, then Secondary boot partition enumeration scanning algorithm, this algorithm can quickly locate the abnormal PCIE channel and send an indication of the data transmission error to the BMC control unit as an exception log collection for the system, but the secondary boot does not perform partitioning and Divide channels and verify the channels that have been divided before backup. That is to say, the partition enumeration scanning algorithm performs verification processing on each PCIE channel at the NTB level. This algorithm is executed before data backup to determine the integrity of each channel. It is executed during the problem location analysis process for rapid Locate the problematic channel and implement NTB quick verification management operations through this algorithm. It can be understood that the partition scan enumeration scan algorithm can perform the following steps. Before data backup, partition the data to be backed up and allocate channels to each zone; pass the channel of each zone to the first non-stop connected to the main controller. The transparent bridge continuously sends data so that the first non-transparent bridge performs continuity verification on the received data corresponding to each zone; obtains the first verification result returned by the first non-transparent bridge. If the first verification result is a certain If the zone fails the continuity check, all channels in the zone will be enumerated and checked. For example, see FIG. 5 , which is a flow chart of an optional partition enumeration scanning algorithm disclosed in an embodiment of the present application. Moreover, the data comparison algorithm can be used to extract the first feature of any batch of data after the data backup is completed and transfer the first feature to the first non-transparent bridge, so that the first non-transparent bridge compares the first feature. and whether it is consistent with the second feature; wherein, the second feature is the second feature of the batch of data received by the backup controller extracted by the backup controller. In this way, the controller's CPU performs feature extraction on the real-time data transmitted during the data backup process, and then verifies the extracted feature data in a timely manner to ensure the accuracy of the data backup. Among them, after a data backup process, that is, a batch of data backup is completed, the main controller will issue an algorithm execution instruction to the backup controller. The dual controllers will execute the data comparison algorithm at the same time. In the end, both controllers will execute the algorithm to obtain The hash set is passed to the non-transparent bridge, and the non-transparent bridge verifies whether the two are completely consistent. For example, see FIG. 6 , which is a flow chart of an optional data comparison algorithm based on the Hash principle disclosed in the embodiment of the present application.
也即,本申请实施例提供了NTB正常工作之前的校验管理、以及NTB工作过程中的数据校验诊断、异常处理方案。NTB正常工作之前的校验部分目的是为了确保NTB从主路到转换出的各通路端均正常工作,从而两个控制器通过NTB通道可以正常备份数据,通过分区枚举扫描算法将NTB上的通道按功能进行分区管理,并通过枚举算法确保各区通道均工作正常;在NTB正常工作后,通过基于Hash原理的数据对比算法,快速提取校验数据的特征部分,并校验镜像备份数据的准确性,该算法的执行伴随着存储双控制器间数据镜像备份中一批数据备份的完成,确保校验无误后继续进行备份,极大的避免了NTB上数据备 份的失误率,当执行上述算法的过程中发现数据不一致时,及时开启诊断过程,诊断过程以NTB工作前执行的分区枚举扫描算法为基准,定位出存在问题的NTB工作区,进而通过枚举扫描出问题通道,软件上及时关断该通道上的数据处理过程,并将该通道上的数据传递任务转移至该区内的其他通道,同时向BMC(即Baseboard Management Controller,基板管理控制器)控制单元发出该段数据传输错误的指示,作为系统的异常日志收集。这样,可以快速的完成备份前的NTB通道校验工作,当异常问题出现时可以及时做出合适的响应,将异常情况的影响最小化,提高了存储系统数据备份通道的高效性,系统工作的安全可靠性。That is, the embodiment of the present application provides verification management before the normal operation of the NTB, as well as data verification diagnosis and exception handling solutions during the operation of the NTB. The purpose of the verification part before the normal operation of the NTB is to ensure that the NTB is operating normally from the main path to the converted path ends, so that the two controllers can back up data normally through the NTB channel. The channels on the NTB are partitioned and managed according to their functions through the partition enumeration scanning algorithm, and the enumeration algorithm is used to ensure that the channels in each zone are operating normally; after the NTB is operating normally, the characteristic part of the verification data is quickly extracted through the data comparison algorithm based on the Hash principle, and the accuracy of the mirror backup data is verified. The execution of the algorithm is accompanied by the completion of a batch of data backups in the data mirror backup between the dual controllers, ensuring that the backup continues after the verification is correct, which greatly avoids the data backup on the NTB. The error rate of backup is reduced. When data inconsistency is found during the execution of the above algorithm, the diagnosis process is started in time. The diagnosis process uses the partition enumeration scanning algorithm executed before NTB work as a benchmark to locate the NTB work area with problems, and then scans the problem channel through enumeration. The software promptly shuts down the data processing process on the channel, and transfers the data transmission task on the channel to other channels in the area. At the same time, an indication of the data transmission error is sent to the BMC (Baseboard Management Controller) control unit as the system's abnormal log collection. In this way, the NTB channel verification work before backup can be completed quickly, and when abnormal problems occur, appropriate responses can be made in time to minimize the impact of abnormal situations, thereby improving the efficiency of the storage system data backup channel and the safety and reliability of the system's work.
参见图7所示,本申请实施例公开了一种非透明桥管理装置,应用于双控制器中的主控制器,包括:As shown in Figure 7, the embodiment of the present application discloses a non-transparent bridge management device, which is applied to the main controller in a dual controller, including:
数据分区模块11,被设置为对待备份数据进行分区;The data partition module 11 is configured to partition the data to be backed up;
通道分配模块12,被设置为为每个区分配通道;The channel allocation module 12 is configured to allocate channels to each zone;
分区校验模块13,被设置为通过每个区的所有通道向与主控制器连接的第一非透明桥连续发送数据,以便第一非透明桥分别对接收到的每个区对应的数据进行连续性校验;The partition verification module 13 is configured to continuously send data through all channels of each zone to the first non-transparent bridge connected to the main controller, so that the first non-transparent bridge performs on the received data corresponding to each zone respectively. continuity check;
校验结果获取模块14,被设置为获取第一非透明桥返回的第一校验结果;The verification result acquisition module 14 is configured to obtain the first verification result returned by the first non-transparent bridge;
通道校验模块15,被设置为若第一校验结果为某一区未通过连续性校验,则对该区的所有通道进行枚举校验。The channel check module 15 is configured to perform an enumeration check on all channels in a certain area if the first check result is that a certain area fails the continuity check.
可见,本申请实施例先对待备份数据进行分区并为每个区分配通道,之后通过每个区的所有通道向与主控制器连接的第一非透明桥连续发送数据,以便第一非透明桥分别对接收到的每个区对应的数据进行连续性校验,然后获取第一非透明桥返回的第一校验结果,若第一校验结果为某一区未通过连续性校验,则对该区的所有通道进行枚举校验。也即,本申请在数据备份之前,对待备份数据进行分区以及通道分配,然后先对每个区校验,若某一区未通过校验,再对每个通道校验,这样,能够准确的校验出非透明桥上连接的问题通道,及时处理问题,能够提升非透明桥校验管理的准确性和效率,从而保障数据备份的准确性。It can be seen that the embodiment of the present application first partitions the backup data and allocates channels to each zone, and then continuously sends data to the first non-transparent bridge connected to the main controller through all channels in each zone, so that the first non-transparent bridge Perform a continuity check on the received data corresponding to each zone, and then obtain the first check result returned by the first non-transparent bridge. If the first check result indicates that a certain zone has failed the continuity check, then Perform enumeration verification on all channels in this area. That is to say, before data backup, this application partitions and allocates channels for the backup data, and then verifies each area first. If a certain area fails the verification, then verifies each channel. In this way, it can accurately Verifying the problematic channels connected on the non-transparent bridge and handling the problems in a timely manner can improve the accuracy and efficiency of non-transparent bridge verification management, thereby ensuring the accuracy of data backup.
在一种实施方式中,数据分区模块11,被设置为根据数据服务对象对待备份数据进行水平分区,得到每个区;根据数据重要程度对待备份数据进行垂直分区,得到各垂直分区。相应的,通道分配模块12,被设置为基于每个区在各垂直分区中的数据量为每个区分配通道。其中,数据分区模块11,还被设置为从前端服务器获取数据服务对象。通道分配模块12,被设置为通过该区的通道一一向与主控制器连接的第一非透明桥连续发 送数据,以便第一非透明桥分别对接收到的每个通道对应的数据进行连续性校验。In one implementation, the data partition module 11 is configured to horizontally partition the data to be backed up according to the data service object to obtain each zone; to vertically partition the data to be backed up according to the importance of the data to obtain each vertical partition. Correspondingly, the channel allocation module 12 is configured to allocate channels to each region based on the data amount of each region in each vertical partition. Among them, the data partition module 11 is also configured to obtain data service objects from the front-end server. The channel distribution module 12 is configured to continuously transmit signals through the channel in this area to the first non-transparent bridge connected to the main controller. Send data so that the first non-transparent bridge performs continuity check on the received data corresponding to each channel.
可选的,装置还包括数据备份模块,被设置为若第一校验结果为每个区均通过连续性校验,则启动数据备份,将待备份数据按照每个区并通过每个区的通道备份至双控制器中的备份控制器。Optionally, the device also includes a data backup module, which is configured to start data backup if the first verification result is that each zone passes the continuity check, and the data to be backed up will be processed according to each zone and passed through each zone. Channels are backed up to the backup controller in a dual controller.
可选的,装置还包括分区及通道分配情况发送模块,被设置为在对待备份数据进行分区并为每个区分配通道之后,将分区及通道分配情况发送至备份控制器中,以便备份控制器基于分区及通道分配情况,通过每个区的所有通道向与备份控制器连接的第二非透明桥连续发送数据,以便第二非透明桥分别对接收到的每个区对应的数据进行连续性校验,并在第二非透明桥返回的第二校验结果为某一区未通过连续性校验时,对该区的所有通道进行枚举校验。相应的,数据备份模块,被设置为若第一校验结果为每个区均通过连续性校验,且第二校验结果为每个区均通过连续性校验,则启动数据备份。Optionally, the device also includes a partition and channel allocation status sending module, which is configured to send the partition and channel allocation status to the backup controller after partitioning the data to be backed up and allocating channels to each zone, so that the backup controller can Based on the partition and channel allocation, data is continuously sent to the second non-transparent bridge connected to the backup controller through all channels in each zone, so that the second non-transparent bridge continuously performs continuity on the received data corresponding to each zone. Verify, and when the second verification result returned by the second non-transparent bridge is that a certain area fails the continuity check, enumerate and verify all channels in the area. Correspondingly, the data backup module is configured to start data backup if the first verification result is that each area passes the continuity check, and the second verification result is that each area passes the continuity check.
在一种实施方式中,数据备份模块,被设置为将待备份数据分批,得到多个批数据,并将多个批数据逐批按照每个区并通过每个区的通道备份至双控制器中的备份控制器。In one implementation, the data backup module is configured to divide the data to be backed up into batches to obtain multiple batches of data, and back up the multiple batches of data to dual controls one by one according to each zone and through the channel of each zone. backup controller in the server.
相应的,装置还包括:Correspondingly, the device also includes:
第一特征提取模块,被设置为在任一批数据备份完成之后,提取该批数据的第一特征;The first feature extraction module is configured to extract the first feature of any batch of data after the data backup is completed;
第一特征传递模块,被设置为将第一特征传递至第一非透明桥,以便第一非透明桥比对第一特征和第二特征是否一致;A first feature transmission module is configured to transmit the first feature to the first non-transparent bridge, so that the first non-transparent bridge compares whether the first feature and the second feature are consistent;
其中,第二特征为备份控制器提取的备份控制器接收到的该批数据的第二特征。The second feature is the second feature of the batch of data received by the backup controller extracted by the backup controller.
并且,装置还包括:执行指令发送模块,被设置为向备份控制器发送执行指令,以便备份控制器在执行指令的控制下提取接收到的批数据的第二特征。Furthermore, the device further includes: an execution instruction sending module configured to send an execution instruction to the backup controller, so that the backup controller extracts the second characteristic of the received batch data under the control of the execution instruction.
可选的,装置还包括特征获取模块,被设置为获取备份控制器发送的第二特征;Optionally, the device also includes a feature acquisition module configured to acquire the second feature sent by the backup controller;
第二特征传递模块,被设置为将第二特征传递至第一非透明桥,以便第一非透明桥比对第一特征和第二特征是否一致。The second feature transfer module is configured to transfer the second feature to the first non-transparent bridge, so that the first non-transparent bridge compares whether the first feature and the second feature are consistent.
可选的,装置,还包括:Optional devices also include:
问题通道确定模块,被设置为若第一特征和第二特征不一致,则确定问题通道;The problem channel determination module is configured to determine the problem channel if the first feature and the second feature are inconsistent;
问题处理模块,被设置为将问题通道关闭。The problem handling module is set to close the problem channel.
其中,问题通道确定模块,被设置为通过每个区的所有通道向与主控制器连接的第一非透明桥连续发送数据,以便第一非透明桥分别对接收到的每个区对应的接收数据进行连续性校验;获取第一非透明桥返回的校验结果,若该校验结果为某一区未通过连续 性校验,则对该区的所有通道进行枚举校验,并将未通过校验的通道确定为问题通道。Among them, the problem channel determination module is configured to continuously send data to the first non-transparent bridge connected to the main controller through all channels in each zone, so that the first non-transparent bridge can respectively receive data corresponding to each zone. The data is checked for continuity; the check result returned by the first non-transparent bridge is obtained. If the check result is that a certain area fails the continuity If the verification is required, all channels in the area will be enumerated and verified, and the channels that fail the verification will be determined as problem channels.
在一种实施方式中,问题通道确定模块包括前述分区校验模块、校验结果获取模块、以及通道校验模块。In one implementation, the problem channel determination module includes the aforementioned partition verification module, verification result acquisition module, and channel verification module.
可选的,第一特征提取模块,包括:Optional, the first feature extraction module includes:
散列函数确定子模块,被设置为确定散列函数;The hash function determination submodule is set to determine the hash function;
第一特征提取子模块,被设置为利用散列函数提取该批数据的散列值集合,得到该批数据的第一特征。The first feature extraction sub-module is configured to use a hash function to extract a hash value set of the batch of data to obtain the first feature of the batch of data.
其中,散列函数确定子模块,包括:Among them, the hash function determines the sub-modules, including:
数据类型识别单元,被设置为识别该批数据的数据类型;A data type identification unit is configured to identify the data type of the batch of data;
散列函数确定单元,被设置为基于数据类型确定散列函数。The hash function determination unit is configured to determine the hash function based on the data type.
第一特征提取子模块,包括:The first feature extraction submodule includes:
散列值提取单元,被设置为针对该批数据中的任一数据类型的数据,利用与该数据类型对应的散列函数提取散列值;The hash value extraction unit is configured to extract a hash value for any data type in the batch of data using a hash function corresponding to the data type;
散列值融合单元,被设置为将不同数据类型对应的散列值融合为该批数据的散列值集合,得到该批数据的第一特征。The hash value fusion unit is configured to fuse hash values corresponding to different data types into a hash value set of the batch of data to obtain the first feature of the batch of data.
可选的,数据类型包括文本类型、图像类型、视频类型,相应的,散列函数确定单元,被设置为基于除留余数法构造第一散列函数;将文本类型的散列函数确定为第一散列函数;基于平方中值法构造第二散列函数;将图像类型和视频类型的散列函数确定为第二散列函数。Optionally, the data type includes text type, image type, and video type. Correspondingly, the hash function determination unit is set to construct the first hash function based on the division-leaving-remainder method; determine the hash function of the text type as the third A hash function; constructing a second hash function based on the squared median method; determining the hash function of the image type and the video type as the second hash function.
参见图8所示,本申请实施例公开了一种控制器,包括处理器21和存储器22;其中,存储器22,被设置为保存计算机程序;处理器21,被设置为执行计算机程序,以实现以下步骤:Referring to Figure 8, the embodiment of the present application discloses a controller, including a processor 21 and a memory 22; the memory 22 is configured to save a computer program; the processor 21 is configured to execute the computer program to implement Following steps:
对待备份数据进行分区并为每个区分配通道;通过每个区的所有通道向与主控制器连接的第一非透明桥连续发送数据,以便第一非透明桥分别对接收到的每个区对应的数据进行连续性校验;获取第一非透明桥返回的第一校验结果,若第一校验结果为某一区未通过连续性校验,则对该区的所有通道进行枚举校验。Partition the data to be backed up and allocate channels to each zone; continuously send data through all channels of each zone to the first non-transparent bridge connected to the main controller, so that the first non-transparent bridge receives each zone separately The corresponding data is subjected to continuity check; the first check result returned by the first non-transparent bridge is obtained. If the first check result is that a certain area fails the continuity check, all channels in the area are enumerated. check.
可见,本申请实施例先对待备份数据进行分区并为每个区分配通道,之后通过每个区的所有通道向与主控制器连接的第一非透明桥连续发送数据,以便第一非透明桥分别对接收到的每个区对应的数据进行连续性校验,然后获取第一非透明桥返回的第一校验结果,若第一校验结果为某一区未通过连续性校验,则对该区的所有通道进行枚举校验。也即,本申请在数据备份之前,对待备份数据进行分区以及通道分配,然后先对每 个区校验,若某一区未通过校验,再对每个通道校验,这样,能够准确的校验出非透明桥上连接的问题通道,及时处理问题,能够提升非透明桥校验管理的准确性和效率,从而保障数据备份的准确性。It can be seen that the embodiment of the present application first partitions the backup data and allocates channels to each zone, and then continuously sends data to the first non-transparent bridge connected to the main controller through all channels in each zone, so that the first non-transparent bridge Perform a continuity check on the received data corresponding to each zone, and then obtain the first check result returned by the first non-transparent bridge. If the first check result indicates that a certain zone has failed the continuity check, then Perform enumeration verification on all channels in this area. That is to say, before data backup, this application partitions and allocates channels for the data to be backed up, and then first Verify each area. If a certain area fails the verification, then verify each channel. In this way, the problematic channels connected to the non-transparent bridge can be accurately verified, and the problem can be dealt with in a timely manner, which can improve the non-transparent bridge verification. Management accuracy and efficiency, thereby ensuring the accuracy of data backup.
本实施例中,处理器21执行存储器22中保存的计算机子程序时,可以实现以下步骤:根据数据服务对象对待备份数据进行水平分区,得到每个区;根据数据重要程度对待备份数据进行垂直分区,得到各垂直分区;基于每个区在各垂直分区中的数据量为每个区分配通道。In this embodiment, when the processor 21 executes the computer subroutine stored in the memory 22, the following steps can be implemented: horizontally partition the backup data according to the data service object to obtain each area; vertically partition the backup data according to the importance of the data. , each vertical partition is obtained; channels are allocated to each zone based on the amount of data in each vertical partition.
本实施例中,处理器21执行存储器22中保存的计算机子程序时,可以实现以下步骤:若第一校验结果为每个区均通过连续性校验,则启动数据备份,将待备份数据按照每个区并通过每个区的通道备份至双控制器中的备份控制器。In this embodiment, when the processor 21 executes the computer subroutine stored in the memory 22, the following steps can be implemented: If the first verification result is that each area passes the continuity check, the data backup is started, and the data to be backed up is Follow each zone and back up to the backup controller in the dual controller via each zone's channel.
本实施例中,处理器21执行存储器22中保存的计算机子程序时,可以实现以下步骤:在对待备份数据进行分区并为每个区分配通道之后,将分区及通道分配情况发送至备份控制器中,以便备份控制器基于分区及通道分配情况,通过每个区的所有通道向与备份控制器连接的第二非透明桥连续发送数据,以便第二非透明桥分别对接收到的每个区对应的数据进行连续性校验,并在第二非透明桥返回的第二校验结果为某一区未通过连续性校验时,对该区的所有通道进行枚举校验。In this embodiment, when the processor 21 executes the computer subroutine stored in the memory 22, the following steps can be implemented: after partitioning the data to be backed up and allocating channels to each zone, the partition and channel allocation information is sent to the backup controller. , so that the backup controller can continuously send data to the second non-transparent bridge connected to the backup controller through all channels of each zone based on the partition and channel allocation, so that the second non-transparent bridge can respond to the received data from each zone respectively. The corresponding data is subjected to continuity check, and when the second check result returned by the second non-transparent bridge is that a certain area fails the continuity check, all channels in the area are enumerated and checked.
本实施例中,处理器21执行存储器22中保存的计算机子程序时,可以实现以下步骤:若第一校验结果为每个区均通过连续性校验,且第二校验结果为每个区均通过连续性校验,则启动数据备份。In this embodiment, when the processor 21 executes the computer subroutine stored in the memory 22, the following steps can be implemented: If the first check result is that each area passes the continuity check, and the second check result is that each area passes the continuity check, If all zones pass the continuity check, data backup is started.
本实施例中,处理器21执行存储器22中保存的计算机子程序时,可以实现以下步骤:将待备份数据分批,得到多个批数据,并将多个批数据逐批按照每个区并通过每个区的通道备份至双控制器中的备份控制器;In this embodiment, when the processor 21 executes the computer subroutine stored in the memory 22, the following steps can be implemented: divide the data to be backed up into batches to obtain multiple batches of data, and merge the multiple batches of data one by one according to each area. Backup to the backup controller in the dual controller through the channel of each zone;
本实施例中,处理器21执行存储器22中保存的计算机子程序时,可以实现以下步骤:在任一批数据备份完成之后,提取该批数据的第一特征并将第一特征传递至第一非透明桥,以便第一非透明桥比对第一特征和第二特征是否一致;其中,第二特征为备份控制器提取的备份控制器接收到的该批数据的第二特征。In this embodiment, when the processor 21 executes the computer subroutine stored in the memory 22, the following steps can be implemented: after the backup of any batch of data is completed, extract the first feature of the batch of data and transfer the first feature to the first non- The transparent bridge allows the first non-transparent bridge to compare whether the first feature and the second feature are consistent; wherein the second feature is the second feature of the batch of data received by the backup controller extracted by the backup controller.
本实施例中,处理器21执行存储器22中保存的计算机子程序时,可以实现以下步骤:向备份控制器发送执行指令,以便备份控制器在执行指令的控制下提取接收到的批数据的第二特征。In this embodiment, when the processor 21 executes the computer subroutine stored in the memory 22, the following steps can be implemented: sending an execution instruction to the backup controller, so that the backup controller extracts the first batch of data received under the control of the execution instruction. Two characteristics.
本实施例中,处理器21执行存储器22中保存的计算机子程序时,可以实现以下步骤:若第一特征和第二特征不一致,则确定问题通道,并将问题通道关闭。 In this embodiment, when the processor 21 executes the computer subroutine stored in the memory 22, the following steps can be implemented: if the first feature and the second feature are inconsistent, determine the problem channel and close the problem channel.
本实施例中,处理器21执行存储器22中保存的计算机子程序时,可以实现以下步骤:确定散列函数;利用散列函数提取该批数据的散列值集合,得到该批数据的第一特征。In this embodiment, when the processor 21 executes the computer subroutine stored in the memory 22, the following steps can be implemented: determine the hash function; use the hash function to extract the hash value set of the batch of data to obtain the first hash value of the batch of data. feature.
本实施例中,处理器21执行存储器22中保存的计算机子程序时,可以实现以下步骤:识别该批数据的数据类型;基于数据类型确定散列函数。In this embodiment, when the processor 21 executes the computer subroutine stored in the memory 22, the following steps can be implemented: identifying the data type of the batch of data; and determining a hash function based on the data type.
本实施例中,处理器21执行存储器22中保存的计算机子程序时,可以实现以下步骤:针对该批数据中的任一数据类型的数据,利用与该数据类型对应的散列函数提取散列值;将不同数据类型对应的散列值融合为该批数据的散列值集合,得到该批数据的第一特征。In this embodiment, when the processor 21 executes the computer subroutine stored in the memory 22, the following steps can be implemented: for any data type in the batch of data, use the hash function corresponding to the data type to extract a hash. value; fuse the hash values corresponding to different data types into a set of hash values of the batch of data to obtain the first feature of the batch of data.
本实施例中,处理器21执行存储器22中保存的计算机子程序时,可以实现以下步骤:基于除留余数法构造第一散列函数;将文本类型的散列函数确定为第一散列函数;基于平方中值法构造第二散列函数;将图像类型和视频类型的散列函数确定为第二散列函数。In this embodiment, when the processor 21 executes the computer subroutine stored in the memory 22, the following steps can be implemented: constructing a first hash function based on the division-leaving-remainder method; determining a text-type hash function as the first hash function ; Construct a second hash function based on the squared median method; determine the hash function of the image type and the video type as the second hash function.
并且,存储器22作为资源存储的载体,可以是只读存储器、随机存储器、磁盘或者光盘等,存储方式可以是短暂存储或者永久存储。Moreover, the memory 22, as a carrier for resource storage, may be a read-only memory, a random access memory, a magnetic disk or an optical disk, etc., and the storage method may be short-term storage or permanent storage.
可选的,本申请实施例公开了一种计算机非易失性可读存储介质,被设置为保存计算机程序,其中,计算机程序被处理器执行时实现以下步骤:Optionally, the embodiment of the present application discloses a computer non-volatile readable storage medium, which is configured to save a computer program, wherein the following steps are implemented when the computer program is executed by the processor:
对待备份数据进行分区并为每个区分配通道;通过每个区的所有通道向与主控制器连接的第一非透明桥连续发送数据,以便第一非透明桥分别对接收到的每个区对应的数据进行连续性校验;获取第一非透明桥返回的第一校验结果,若第一校验结果为某一区未通过连续性校验,则对该区的所有通道进行枚举校验。Partition the data to be backed up and allocate channels to each zone; continuously send data through all channels of each zone to the first non-transparent bridge connected to the main controller, so that the first non-transparent bridge receives each zone separately The corresponding data is subjected to continuity check; the first check result returned by the first non-transparent bridge is obtained. If the first check result is that a certain area fails the continuity check, all channels in the area are enumerated. check.
可见,本申请实施例先对待备份数据进行分区并为每个区分配通道,之后通过每个区的所有通道向与主控制器连接的第一非透明桥连续发送数据,以便第一非透明桥分别对接收到的每个区对应的数据进行连续性校验,然后获取第一非透明桥返回的第一校验结果,若第一校验结果为某一区未通过连续性校验,则对该区的所有通道进行枚举校验。也即,本申请在数据备份之前,对待备份数据进行分区以及通道分配,然后先对每个区校验,若某一区未通过校验,再对每个通道校验,这样,能够准确的校验出非透明桥上连接的问题通道,及时处理问题,能够提升非透明桥校验管理的准确性和效率,从而保障数据备份的准确性。It can be seen that the embodiment of the present application first partitions the backup data and allocates channels to each zone, and then continuously sends data to the first non-transparent bridge connected to the main controller through all channels in each zone, so that the first non-transparent bridge Perform a continuity check on the received data corresponding to each zone, and then obtain the first check result returned by the first non-transparent bridge. If the first check result indicates that a certain zone has failed the continuity check, then Perform enumeration verification on all channels in this area. That is to say, before data backup, this application partitions and allocates channels for the backup data, and then verifies each area first. If a certain area fails the verification, then verifies each channel. In this way, it can accurately Verifying the problematic channels connected on the non-transparent bridge and handling the problems in a timely manner can improve the accuracy and efficiency of non-transparent bridge verification management, thereby ensuring the accuracy of data backup.
本实施例中,计算机非易失性可读存储介质中保存的计算机子程序被处理器执行时,可以实现以下步骤:根据数据服务对象对待备份数据进行水平分区,得到每个区; 根据数据重要程度对待备份数据进行垂直分区,得到各垂直分区;基于每个区在各垂直分区中的数据量为每个区分配通道。In this embodiment, when the computer subroutine stored in the computer non-volatile readable storage medium is executed by the processor, the following steps can be implemented: horizontally partition the data to be backed up according to the data service object to obtain each area; Vertically partition the backup data according to the importance of the data to obtain each vertical partition; allocate channels to each zone based on the amount of data in each vertical partition.
本实施例中,计算机非易失性可读存储介质中保存的计算机子程序被处理器执行时,可以实现以下步骤:若第一校验结果为每个区均通过连续性校验,则启动数据备份,将待备份数据按照每个区并通过每个区的通道备份至双控制器中的备份控制器。In this embodiment, when the computer subroutine stored in the computer non-volatile readable storage medium is executed by the processor, the following steps can be implemented: If the first check result is that each area passes the continuity check, start For data backup, the data to be backed up is backed up to the backup controller in the dual controller according to each zone and through the channel of each zone.
本实施例中,计算机非易失性可读存储介质中保存的计算机子程序被处理器执行时,可以实现以下步骤:在对待备份数据进行分区并为每个区分配通道之后,将分区及通道分配情况发送至备份控制器中,以便备份控制器基于分区及通道分配情况,通过每个区的所有通道向与备份控制器连接的第二非透明桥连续发送数据,以便第二非透明桥分别对接收到的每个区对应的数据进行连续性校验,并在第二非透明桥返回的第二校验结果为某一区未通过连续性校验时,对该区的所有通道进行枚举校验。In this embodiment, when the computer subroutine stored in the computer's non-volatile readable storage medium is executed by the processor, the following steps can be implemented: after partitioning the data to be backed up and allocating channels to each zone, the partitions and channels are The allocation situation is sent to the backup controller, so that the backup controller can continuously send data to the second non-transparent bridge connected to the backup controller through all channels in each zone based on the partition and channel allocation situation, so that the second non-transparent bridge can respectively Perform a continuity check on the received data corresponding to each zone, and when the second check result returned by the second non-transparent bridge is that a certain zone fails the continuity check, enumerate all channels in the zone. Lift verification.
本实施例中,计算机非易失性可读存储介质中保存的计算机子程序被处理器执行时,可以实现以下步骤:若第一校验结果为每个区均通过连续性校验,且第二校验结果为每个区均通过连续性校验,则启动数据备份。In this embodiment, when the computer subroutine stored in the computer non-volatile readable storage medium is executed by the processor, the following steps can be implemented: If the first check result is that each area passes the continuity check, and the If the second verification result is that each zone passes the continuity check, data backup is started.
本实施例中,计算机非易失性可读存储介质中保存的计算机子程序被处理器执行时,可以实现以下步骤:将待备份数据分批,得到多个批数据,并将多个批数据逐批按照每个区并通过每个区的通道备份至双控制器中的备份控制器;In this embodiment, when the computer subroutine stored in the computer non-volatile readable storage medium is executed by the processor, the following steps can be implemented: divide the data to be backed up into batches, obtain multiple batches of data, and combine the multiple batches of data Back up to the backup controller in the dual controller batch by batch according to each zone and through the channel of each zone;
本实施例中,计算机非易失性可读存储介质中保存的计算机子程序被处理器执行时,可以实现以下步骤:在任一批数据备份完成之后,提取该批数据的第一特征并将第一特征传递至第一非透明桥,以便第一非透明桥比对第一特征和第二特征是否一致;其中,第二特征为备份控制器提取的备份控制器接收到的该批数据的第二特征。In this embodiment, when the computer subroutine stored in the computer non-volatile readable storage medium is executed by the processor, the following steps can be implemented: after the backup of any batch of data is completed, extract the first feature of the batch of data and store the first feature of the batch of data. A feature is transmitted to the first non-transparent bridge, so that the first non-transparent bridge compares whether the first feature and the second feature are consistent; wherein, the second feature is the first feature of the batch of data received by the backup controller extracted by the backup controller. Two characteristics.
本实施例中,计算机非易失性可读存储介质中保存的计算机子程序被处理器执行时,可以实现以下步骤:向备份控制器发送执行指令,以便备份控制器在执行指令的控制下提取接收到的批数据的第二特征。In this embodiment, when the computer subprogram stored in the computer non-volatile readable storage medium is executed by the processor, the following steps can be implemented: sending an execution instruction to the backup controller so that the backup controller can extract it under the control of the execution instruction. Second characteristic of the received batch data.
本实施例中,计算机非易失性可读存储介质中保存的计算机子程序被处理器执行时,可以实现以下步骤:若第一特征和第二特征不一致,则确定问题通道,并将问题通道关闭。In this embodiment, when the computer subroutine stored in the computer non-volatile readable storage medium is executed by the processor, the following steps can be implemented: if the first feature and the second feature are inconsistent, determine the problem channel, and assign the problem channel closure.
本实施例中,计算机非易失性可读存储介质中保存的计算机子程序被处理器执行时,可以实现以下步骤:确定散列函数;利用散列函数提取该批数据的散列值集合,得到该批数据的第一特征。In this embodiment, when the computer subroutine stored in the computer non-volatile readable storage medium is executed by the processor, the following steps can be implemented: determine the hash function; use the hash function to extract the hash value set of the batch of data, Get the first feature of this batch of data.
本实施例中,计算机非易失性可读存储介质中保存的计算机子程序被处理器执行 时,可以实现以下步骤:识别该批数据的数据类型;基于数据类型确定散列函数。In this embodiment, the computer subroutine stored in the computer non-volatile readable storage medium is executed by the processor. When , the following steps can be implemented: identify the data type of the batch of data; determine the hash function based on the data type.
本实施例中,计算机非易失性可读存储介质中保存的计算机子程序被处理器执行时,可以实现以下步骤:针对该批数据中的任一数据类型的数据,利用与该数据类型对应的散列函数提取散列值;将不同数据类型对应的散列值融合为该批数据的散列值集合,得到该批数据的第一特征。In this embodiment, when the computer subroutine stored in the computer non-volatile readable storage medium is executed by the processor, the following steps can be implemented: for any data type of data in the batch of data, use the data corresponding to the data type The hash function extracts the hash value; the hash values corresponding to different data types are merged into the hash value set of the batch of data to obtain the first feature of the batch of data.
本实施例中,计算机非易失性可读存储介质中保存的计算机子程序被处理器执行时,可以实现以下步骤:基于除留余数法构造第一散列函数;将文本类型的散列函数确定为第一散列函数;基于平方中值法构造第二散列函数;将图像类型和视频类型的散列函数确定为第二散列函数。In this embodiment, when the computer subroutine stored in the computer non-volatile readable storage medium is executed by the processor, the following steps can be implemented: constructing a first hash function based on the division-leaving-remainder method; converting the text-type hash function Determine it as the first hash function; construct the second hash function based on the square median method; determine the hash function of the image type and the video type as the second hash function.
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。Each embodiment in this specification is described in a progressive manner. Each embodiment focuses on its differences from other embodiments. The same or similar parts between the various embodiments can be referred to each other. As for the device disclosed in the embodiment, since it corresponds to the method disclosed in the embodiment, the description is relatively simple. For relevant details, please refer to the description in the method section.
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的非易失性可读存储介质中。The steps of the methods or algorithms described in conjunction with the embodiments disclosed herein may be implemented directly in hardware, in software modules executed by a processor, or in a combination of both. Software modules may be located in random access memory (RAM), memory, read-only memory (ROM), electrically programmable ROM, electrically erasable programmable ROM, registers, hard disks, removable disks, CD-ROMs, or anywhere in the field of technology. Any other known form of non-volatile readable storage medium.
以上对本申请所提供的一种非透明桥管理方法、装置、控制器及非易失性可读存储介质进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。 The above is a detailed introduction to a non-transparent bridge management method, device, controller and non-volatile readable storage medium provided by this application. This article uses specific examples to illustrate the principles and implementation methods of this application. The description of the above embodiments is only used to help understand the method and the core idea of the present application; at the same time, for those of ordinary skill in the art, there will be changes in the specific implementation and application scope based on the ideas of the present application. In summary, the contents of this specification should not be construed as limiting this application.

Claims (20)

  1. 一种非透明桥管理方法,其特征在于,应用于双控制器中的主控制器,包括:A non-transparent bridge management method, characterized in that it is applied to the main controller in a dual controller, including:
    对待备份数据进行分区并为每个区分配通道;Partition the data to be backed up and allocate channels to each partition;
    通过每个区的所有通道向与所述主控制器连接的第一非透明桥连续发送数据,以便所述第一非透明桥分别对接收到的所述每个区对应的数据进行连续性校验;Data is continuously sent to the first non-transparent bridge connected to the main controller through all channels of each zone, so that the first non-transparent bridge performs continuity calibration on the received data corresponding to each zone. test;
    获取所述第一非透明桥返回的第一校验结果,若所述第一校验结果为某一区未通过连续性校验,则对该区的所有通道进行枚举校验。Obtain the first verification result returned by the first non-transparent bridge. If the first verification result indicates that a certain area fails the continuity verification, then enumerate and verify all channels in the area.
  2. 根据权利要求1所述的非透明桥管理方法,其特征在于,所述对待备份数据进行分区并为每个区分配通道,包括:The non-transparent bridge management method according to claim 1, wherein the step of partitioning the data to be backed up and allocating channels to each zone includes:
    根据数据服务对象对所述待备份数据进行水平分区,得到所述每个区;Horizontally partition the data to be backed up according to the data service object to obtain each zone;
    根据数据重要程度对所述待备份数据进行垂直分区,得到各垂直分区;Vertically partition the data to be backed up according to the importance of the data to obtain each vertical partition;
    基于所述每个区在所述各垂直分区中的数据量为所述每个区分配通道。Channels are assigned to each zone based on the amount of data for each zone in each vertical partition.
  3. 根据权利要求2所述的非透明桥管理方法,其特征在于,所述根据数据服务对象对所述待备份数据进行水平分区,得到所述每个区,包括:The non-transparent bridge management method according to claim 2, wherein the data to be backed up is horizontally partitioned according to the data service object to obtain each area, including:
    从前端服务器获取数据服务对象;Get the data service object from the front-end server;
    根据数据服务对象对所述待备份数据进行水平分区,得到所述每个区。The data to be backed up is horizontally partitioned according to the data service object to obtain each area.
  4. 根据权利要求1所述的非透明桥管理方法,其特征在于,还包括:The non-transparent bridge management method according to claim 1, further comprising:
    若所述第一校验结果为每个区均通过连续性校验,则启动数据备份,将所述待备份数据按照所述每个区并通过所述每个区的通道备份至所述双控制器中的备份控制器。If the first verification result is that each zone passes the continuity check, data backup is started, and the data to be backed up is backed up to the dual server according to each zone and through the channel of each zone. Backup controller within controller.
  5. 根据权利要求4所述的非透明桥管理方法,其特征在于,在所述对待备份数据进行分区并为每个区分配通道之后,还包括:The non-transparent bridge management method according to claim 4, characterized in that, after partitioning the data to be backed up and allocating channels to each partition, it further includes:
    将分区及通道分配情况发送至所述备份控制器中,以便所述备份控制器基于所述分区及通道分配情况,通过每个区的所有通道向与所述备份控制器连接的第二非透明桥连续发送数据,以便所述第二非透明桥分别对接收到的每个区对应的数据进行连续性校验,并在所述第二非透明桥返回的第二校验结果为某一区未通过连续性校验时,对该区的所有通道进行枚举校验。Send the partition and channel allocation information to the backup controller, so that the backup controller communicates through all channels in each zone to the second non-transparent controller connected to the backup controller based on the partition and channel allocation information. The bridge continuously sends data, so that the second non-transparent bridge performs continuity verification on the received data corresponding to each area, and the second verification result returned by the second non-transparent bridge is a certain area. When the continuity check fails, all channels in the area are enumerated and checked.
  6. 根据权利要求5所述的非透明桥管理方法,其特征在于,所述若所述第一校验结果为每个区均通过连续性校验,则启动数据备份,包括:The non-transparent bridge management method according to claim 5, characterized in that if the first verification result is that each zone passes the continuity verification, then starting the data backup includes:
    若所述第一校验结果为每个区均通过连续性校验,且所述第二校验结果为每个区均通过连续性校验,则启动数据备份。If the first verification result is that each zone passes the continuity verification, and the second verification result is that each zone passes the continuity verification, data backup is started.
  7. 根据权利要求1所述的非透明桥管理方法,其特征在于,所述对该区的所有通道 进行枚举校验,包括:The non-transparent bridge management method according to claim 1, characterized in that: all channels in the area Perform enumeration verification, including:
    通过该区的通道一一向与所述主控制器连接的第一非透明桥连续发送数据,以便所述第一非透明桥分别对接收到的每个通道对应的数据进行连续性校验。Channels in this area continuously send data to the first non-transparent bridge connected to the main controller, so that the first non-transparent bridge performs continuity check on the received data corresponding to each channel.
  8. 根据权利要求4所述的非透明桥管理方法,其特征在于,所述将所述待备份数据按照所述每个区并通过所述每个区的通道备份至所述双控制器中的备份控制器,包括:The non-transparent bridge management method according to claim 4, wherein the data to be backed up is backed up to the backup in the dual controller according to each zone and through the channel of each zone. Controllers, including:
    将所述待备份数据分批,得到多个批数据,并将所述多个批数据逐批按照所述每个区并通过所述每个区的通道备份至所述双控制器中的备份控制器。The data to be backed up is divided into batches to obtain multiple batches of data, and the multiple batches of data are backed up to the backup in the dual controllers one by one according to each zone and through the channel of each zone. controller.
  9. 根据权利要求8所述的非透明桥管理方法,其特征在于,还包括:The non-transparent bridge management method according to claim 8, further comprising:
    在任一所述批数据备份完成之后,提取该批数据的第一特征并将所述第一特征传递至所述第一非透明桥,以便所述第一非透明桥比对所述第一特征和第二特征是否一致;After the backup of any batch of data is completed, extract the first feature of the batch of data and transfer the first feature to the first non-transparent bridge, so that the first non-transparent bridge compares the first feature Whether it is consistent with the second characteristic;
    其中,所述第二特征为所述备份控制器提取的所述备份控制器接收到的该批数据的第二特征。Wherein, the second feature is a second feature of the batch of data received by the backup controller extracted by the backup controller.
  10. 根据权利要求9所述的非透明桥管理方法,其特征在于,还包括:The non-transparent bridge management method according to claim 9, further comprising:
    向所述备份控制器发送执行指令,以便所述备份控制器在所述执行指令的控制下提取接收到的批数据的第二特征。An execution instruction is sent to the backup controller, so that the backup controller extracts the second feature of the received batch data under the control of the execution instruction.
  11. 根据权利要求10所述的非透明桥管理方法,其特征在于,还包括:The non-transparent bridge management method according to claim 10, further comprising:
    获取所述备份控制器发送的所述第二特征;Obtain the second characteristic sent by the backup controller;
    将所述第二特征传递至所述第一非透明桥,以便所述第一非透明桥比对所述第一特征和第二特征是否一致。The second characteristic is transferred to the first non-transparent bridge so that the first non-transparent bridge compares the first characteristic and the second characteristic for consistency.
  12. 根据权利要求9所述的非透明桥管理方法,其特征在于,还包括:The non-transparent bridge management method according to claim 9, further comprising:
    若所述第一特征和所述第二特征不一致,则确定问题通道,并将所述问题通道关闭。If the first feature and the second feature are inconsistent, a problem channel is determined and the problem channel is closed.
  13. 根据权利要求12所述的非透明桥管理方法,其特征在于,所述确定问题通道,包括:The non-transparent bridge management method according to claim 12, characterized in that determining the problem channel includes:
    通过每个区的所有通道向与所述主控制器连接的第一非透明桥连续发送数据,以便所述第一非透明桥分别对接收到的所述每个区对应的接收数据进行连续性校验;Data is continuously sent to the first non-transparent bridge connected to the main controller through all channels of each zone, so that the first non-transparent bridge performs continuity on the received data corresponding to each zone. check;
    获取所述第一非透明桥返回的校验结果,若该校验结果为某一区未通过连续性校验,则对该区的所有通道进行枚举校验,并将未通过校验的通道确定为问题通道。Obtain the verification result returned by the first non-transparent bridge. If the verification result is that a certain area fails the continuity check, then enumerate and verify all channels in the area, and add the ones that have not passed the verification. The channel is determined to be the problem channel.
  14. 根据权利要求9所述的非透明桥管理方法,其特征在于,所述提取该批数据的第一特征,包括:The non-transparent bridge management method according to claim 9, wherein the extracting the first feature of the batch of data includes:
    确定散列函数; Determine the hash function;
    利用所述散列函数提取该批数据的散列值集合,得到该批数据的第一特征。The hash function is used to extract the hash value set of the batch of data to obtain the first feature of the batch of data.
  15. 根据权利要求14所述的非透明桥管理方法,其特征在于,所述确定散列函数,包括:The non-transparent bridge management method according to claim 14, wherein the determining the hash function includes:
    识别该批数据的数据类型;Identify the data type of the batch of data;
    基于所述数据类型确定散列函数。A hash function is determined based on the data type.
  16. 根据权利要求15所述的非透明桥管理方法,其特征在于,所述利用所述散列函数提取该批数据的散列值集合,得到该批数据的第一特征,包括:The non-transparent bridge management method according to claim 15, characterized in that, using the hash function to extract a hash value set of the batch of data to obtain the first feature of the batch of data includes:
    针对该批数据中的任一数据类型的数据,利用与该数据类型对应的散列函数提取散列值;For any data type in the batch of data, use the hash function corresponding to the data type to extract the hash value;
    将不同数据类型对应的散列值融合为该批数据的散列值集合,得到该批数据的第一特征。The hash values corresponding to different data types are merged into a set of hash values of the batch of data to obtain the first feature of the batch of data.
  17. 根据权利要求15所述的非透明桥管理方法,其特征在于,所述数据类型包括文本类型、图像类型、视频类型,相应的,所述基于所述数据类型确定散列函数,包括:The non-transparent bridge management method according to claim 15, wherein the data type includes text type, image type, and video type. Correspondingly, determining the hash function based on the data type includes:
    基于除留余数法构造第一散列函数;Construct a first hash function based on the division-leaving-remainder method;
    将文本类型的散列函数确定为所述第一散列函数;Determine a text type hash function as the first hash function;
    基于平方中值法构造第二散列函数;Construct a second hash function based on the squared median method;
    将图像类型和视频类型的散列函数确定为所述第二散列函数。A hash function of an image type and a video type is determined as the second hash function.
  18. 一种非透明桥管理装置,其特征在于,应用于双控制器中的主控制器,包括:A non-transparent bridge management device, characterized in that it is applied to the main controller in a dual controller and includes:
    数据分区模块,被设置为对待备份数据进行分区;The data partition module is set to partition the data to be backed up;
    通道分配模块,被设置为为每个区分配通道;The channel allocation module is configured to allocate channels to each zone;
    分区校验模块,被设置为通过每个区的所有通道向与所述主控制器连接的第一非透明桥连续发送数据,以便所述第一非透明桥分别对接收到的所述每个区对应的数据进行连续性校验;The partition verification module is configured to continuously send data to the first non-transparent bridge connected to the main controller through all channels of each zone, so that the first non-transparent bridge separately checks each received The data corresponding to the area is checked for continuity;
    校验结果获取模块,被设置为获取所述第一非透明桥返回的第一校验结果;A verification result acquisition module configured to obtain the first verification result returned by the first non-transparent bridge;
    通道校验模块,被设置为若所述第一校验结果为某一区未通过连续性校验,则对该区的所有通道进行枚举校验。The channel verification module is configured to perform enumeration verification on all channels in a certain area if the first verification result is that a certain area fails the continuity check.
  19. 一种控制器,其特征在于,包括存储器和处理器,其中:A controller, characterized by including a memory and a processor, wherein:
    所述存储器,被设置为保存计算机程序;The memory is configured to store a computer program;
    所述处理器,被设置为执行所述计算机程序,以实现如权利要求1至17任一项所述的非透明桥管理方法。The processor is configured to execute the computer program to implement the non-transparent bridge management method according to any one of claims 1 to 17.
  20. 一种计算机非易失性可读存储介质,其特征在于,被设置为保存计算机程序, 其中,所述计算机程序被处理器执行时实现如权利要求1至17任一项所述的非透明桥管理方法。 A computer non-volatile readable storage medium, characterized in that it is configured to save a computer program, Wherein, when the computer program is executed by the processor, the non-transparent bridge management method according to any one of claims 1 to 17 is implemented.
PCT/CN2023/080892 2022-09-13 2023-03-10 Non-transparent bridge management method and apparatus, controller, and medium WO2024055543A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202211107200.8A CN115202938B (en) 2022-09-13 2022-09-13 Non-transparent bridge management method, device, controller and medium
CN202211107200.8 2022-09-13

Publications (1)

Publication Number Publication Date
WO2024055543A1 true WO2024055543A1 (en) 2024-03-21

Family

ID=83573176

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2023/080892 WO2024055543A1 (en) 2022-09-13 2023-03-10 Non-transparent bridge management method and apparatus, controller, and medium

Country Status (2)

Country Link
CN (1) CN115202938B (en)
WO (1) WO2024055543A1 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115202938B (en) * 2022-09-13 2023-01-24 苏州浪潮智能科技有限公司 Non-transparent bridge management method, device, controller and medium
CN115543636B (en) * 2022-11-29 2023-03-21 苏州浪潮智能科技有限公司 Data backup method of multiple controllers and related device

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106293985A (en) * 2016-08-12 2017-01-04 浪潮(北京)电子信息产业有限公司 The method of the abort message of communication between multi-controller based on NTB
US20180321948A1 (en) * 2017-05-05 2018-11-08 Intel Corporation Method, apparatus, and system for propagating pcie hot reset across a non-transparent bridge on a pcie add-in card
CN110008165A (en) * 2019-04-12 2019-07-12 苏州浪潮智能科技有限公司 A kind of NTB link management method, system and relevant apparatus
CN110008152A (en) * 2019-04-10 2019-07-12 苏州浪潮智能科技有限公司 Storage control internodal data transmission method, device, equipment and storage medium
CN115202938A (en) * 2022-09-13 2022-10-18 苏州浪潮智能科技有限公司 Non-transparent bridge management method, device, controller and medium

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9628382B2 (en) * 2014-02-05 2017-04-18 Intel Corporation Reliable transport of ethernet packet data with wire-speed and packet data rate match
CN107329917A (en) * 2017-06-26 2017-11-07 郑州云海信息技术有限公司 A kind of data transmission method and device
US10983930B1 (en) * 2020-01-14 2021-04-20 EMC IP Holding Company LLC Efficient non-transparent bridge (NTB) based data transport
CN113806273B (en) * 2020-06-16 2024-04-09 英业达科技有限公司 Fast peripheral component interconnect data transfer control system

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106293985A (en) * 2016-08-12 2017-01-04 浪潮(北京)电子信息产业有限公司 The method of the abort message of communication between multi-controller based on NTB
US20180321948A1 (en) * 2017-05-05 2018-11-08 Intel Corporation Method, apparatus, and system for propagating pcie hot reset across a non-transparent bridge on a pcie add-in card
CN110008152A (en) * 2019-04-10 2019-07-12 苏州浪潮智能科技有限公司 Storage control internodal data transmission method, device, equipment and storage medium
CN110008165A (en) * 2019-04-12 2019-07-12 苏州浪潮智能科技有限公司 A kind of NTB link management method, system and relevant apparatus
CN115202938A (en) * 2022-09-13 2022-10-18 苏州浪潮智能科技有限公司 Non-transparent bridge management method, device, controller and medium

Also Published As

Publication number Publication date
CN115202938B (en) 2023-01-24
CN115202938A (en) 2022-10-18

Similar Documents

Publication Publication Date Title
WO2024055543A1 (en) Non-transparent bridge management method and apparatus, controller, and medium
US8707085B2 (en) High availability data storage systems and methods
US8301812B1 (en) Techniques for performing host path detection verification
US20120151265A1 (en) Supporting cluster level system dumps in a cluster environment
US7539897B2 (en) Fault tolerant system and controller, access control method, and control program used in the fault tolerant system
EP1881407A2 (en) Storage control system, control method for storage control system, port selector, and controller
US11726770B2 (en) Method, device, and apparatus for updating application program, and storage medium
US8127101B2 (en) File server which conducts a memory test upon boot up
US9552265B2 (en) Information processing apparatus and storage system
US20160132380A1 (en) Building an intelligent, scalable system dump facility
CN116107516B (en) Data writing method and device, solid state disk, electronic equipment and storage medium
WO2019210844A1 (en) Anomaly detection method and apparatus for storage device, and distributed storage system
US20200174683A1 (en) Method and system for delivering message in storage system
JP2018060419A (en) Storage controller and storage device
WO2021088615A1 (en) Verification data calculation method and device
CN113377702A (en) Method and device for starting two-node cluster, electronic equipment and storage medium
CN114880266B (en) Fault processing method and device, computer equipment and storage medium
US9996437B2 (en) Failover in a san environment
CN115454896A (en) SMBUS-based SSD MCTP control message verification method and device, computer equipment and storage medium
US20220291991A1 (en) Method and device for positioning faulty disk
WO2021043246A1 (en) Data reading method and apparatus
US7930599B2 (en) Information processing apparatus and fault processing method
TWI704460B (en) A method of maintaining memory sharing in clustered system
CN114610522A (en) Method for operating storage device and host device and storage device
WO2024040919A1 (en) Data recovery method and storage device