WO2024103598A1 - 一种数据备份方法、装置、设备及非易失性可读存储介质 - Google Patents

一种数据备份方法、装置、设备及非易失性可读存储介质 Download PDF

Info

Publication number
WO2024103598A1
WO2024103598A1 PCT/CN2023/085267 CN2023085267W WO2024103598A1 WO 2024103598 A1 WO2024103598 A1 WO 2024103598A1 CN 2023085267 W CN2023085267 W CN 2023085267W WO 2024103598 A1 WO2024103598 A1 WO 2024103598A1
Authority
WO
WIPO (PCT)
Prior art keywords
auxiliary
volume
sub
information
subvolume
Prior art date
Application number
PCT/CN2023/085267
Other languages
English (en)
French (fr)
Inventor
吴丙涛
Original Assignee
苏州元脑智能科技有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 苏州元脑智能科技有限公司 filed Critical 苏州元脑智能科技有限公司
Publication of WO2024103598A1 publication Critical patent/WO2024103598A1/zh

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
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5083Techniques for rebalancing the load in a distributed system

Definitions

  • Embodiments of the present application relate to the field of data backup technology, and in particular, to a data backup method, apparatus, device, and computer-readable storage medium (or non-volatile readable storage medium).
  • the commonly used data backup method is to remotely back up the data in the primary storage to the remote storage.
  • the selection of the slave end controller mostly adopts the following two schemes: one is that the master end controller transmits data to the fixed controller of the slave end when transmitting data; the other is that the master end controller transmits data evenly to each slave end controller when transmitting data.
  • the above two schemes have a common disadvantage that the master end cannot perceive the idle resources of each slave end controller, resulting in that even if the transmitted data is balanced among the slave end controllers, the idle resources of the slave end controllers are different, and the slave end resources cannot be fully utilized when processing the same amount of data.
  • the purpose of an embodiment of the present application is to provide a data backup method, which optimizes the selection strategy of the auxiliary end controller in remote replication, so that the auxiliary end resources are fully utilized and the data transmission performance is improved; another purpose of an embodiment of the present application is to provide a data backup device, equipment and computer-readable storage medium (or non-volatile readable storage medium).
  • a data backup method comprising:
  • Each auxiliary end controller is used to process the received data to be backed up, so as to complete the data backup at the auxiliary end.
  • the auxiliary end logical sub-volumes obtained by pre-division are allocated to the auxiliary end controllers according to the load information to obtain the auxiliary end sub-volume configuration information, including:
  • the auxiliary terminal volume configuration information is generated according to each IO path and each identification information.
  • the method before respectively acquiring the load information of each auxiliary end controller, the method further includes:
  • each slave-end logical subvolume to each slave-end controller, obtain initial subvolume ownership information, and synchronize the initial subvolume ownership information to the master end;
  • Allocate the pre-divided auxiliary logical sub-volumes to the auxiliary controllers according to the load information including:
  • the initial sub-volume affiliation information is adjusted according to each load information.
  • judging whether to adjust the initial sub-volume ownership information according to each load information includes:
  • the method further includes:
  • the auxiliary subvolume configuration information is generated according to the first subvolume identification information, the first auxiliary volume identification information and the first auxiliary end controller identification information.
  • the auxiliary volume is divided into sub-volumes according to the number of auxiliary end controllers, including:
  • each secondary controller including:
  • auxiliary-end logical subvolumes are divided into auxiliary-end controllers according to the modulo results.
  • the method further includes:
  • the initial sub-volume ownership information is adjusted according to the sub-volume hot spot data statistics result to obtain the target sub-volume ownership information
  • adjusting the initial sub-volume ownership information according to the sub-volume hotspot data statistics result includes:
  • each hot logical sub-volume is evenly distributed to each auxiliary controller.
  • the method further includes:
  • the sub-volume attribution information is generated according to the second sub-volume identification information, the second auxiliary volume identification information and the second auxiliary end controller identification information.
  • receiving the sub-volume hot spot data statistics result sent by the master end includes:
  • the hot spot data statistics result of the sub-volumes is obtained by performing hot spot data statistics on each logical sub-volume of the master end according to the data block granularity and sent by the master end.
  • the primary end transmits the to-be-backed-up data to the corresponding secondary end controller according to the secondary end subvolume configuration information, including:
  • the master end transmits the data to be backed up to the corresponding slave end controller through the IO paths corresponding to each slave end controller according to the granularity according to the slave end subvolume configuration information.
  • the master end sends the data to be backed up in granularity through each slave according to the slave subvolume configuration information.
  • the IO paths corresponding to the end controllers are transmitted to the corresponding auxiliary end controllers, including:
  • the master side Based on the sub-volume configuration information of the auxiliary side, the master side transmits the data to be backed up to the corresponding auxiliary side controller through the IO path corresponding to each auxiliary side controller according to the granularity and service time strategy.
  • the auxiliary subvolume configuration information includes a correspondence between each auxiliary logical subvolume and each auxiliary controller.
  • the method before obtaining the preset auxiliary end logical sub-volume size, the method further includes: presetting a division granularity for dividing the logical volume into sub-volumes, wherein the division granularity is used to represent the size of the auxiliary end logical sub-volume.
  • each auxiliary end controller is used to process the received data to be backed up to complete the data backup at the auxiliary end, including: using each auxiliary end controller to perform read and write operations on the auxiliary end logical subvolume corresponding to each auxiliary end controller to complete the data backup at the auxiliary end.
  • the three-dimensional data type composed of the second subvolume identification information, the second auxiliary volume identification information and the second auxiliary end controller identification information does not record all logical subvolume information, but only records the logical subvolume information that needs to be adjusted, and uses the node identifier as the group identifier for grouping.
  • the method after the subvolume ownership information is generated according to the second subvolume identification information, the second auxiliary volume identification information and the second auxiliary end controller identification information, the method also includes: when transmitting data, the master end searches in the three-dimensional data type according to the logical volume identification and the logical subvolume identification; if found, the data is sent to the corresponding IO group for transmission; if not found, the data is transmitted according to the original subvolume ownership information.
  • a data backup device comprising:
  • a load information acquisition module is configured to respectively acquire load information of each auxiliary end controller
  • a sub-volume allocation module is configured to allocate each auxiliary end logical sub-volume obtained by pre-division to each auxiliary end controller according to each load information, and obtain auxiliary end sub-volume configuration information;
  • a configuration information synchronization module is configured to synchronize the secondary end sub-volume configuration information to the primary end, so that the primary end transmits the data to be backed up to the corresponding secondary end controller according to the secondary end sub-volume configuration information;
  • the data backup module is configured to utilize each auxiliary end controller to process the received data to be backed up, so as to complete the data backup at the auxiliary end.
  • a data backup device comprising:
  • a memory arranged to store a computer program
  • the processor is configured to implement the steps of the above data backup method when executing the computer program.
  • a computer-readable storage medium (or non-volatile readable storage medium) stores a computer program, which implements the steps of the above data backup method when executed by a processor.
  • the data backup method obtains the load information of each slave-end controller respectively; allocates each pre-divided slave-end logical subvolume to each slave-end controller according to each load information to obtain slave-end subvolume configuration information; synchronizes the slave-end subvolume configuration information to the master end so that the master end transmits the data to be backed up to the corresponding slave-end controller according to the slave-end subvolume configuration information; and utilizes each slave-end controller to process the received data to be backed up so as to complete data backup at the slave end.
  • the load information of each auxiliary-end controller is obtained, and the auxiliary-end logical sub-volumes obtained in advance are allocated to each auxiliary-end controller according to each load information, and the generated auxiliary sub-volume configuration information is synchronized to the master end, and the master end transmits the data to be backed up to the corresponding auxiliary-end controller according to the auxiliary sub-volume configuration information.
  • Each auxiliary-end controller is used to process the received data to be backed up, and complete the data backup at the auxiliary end.
  • each auxiliary-end controller can achieve load balancing as much as possible, optimize the selection strategy of the auxiliary-end controller in remote replication, make full use of the auxiliary-end resources, and improve the data transmission performance.
  • the embodiments of the present application also provide data backup devices, equipment and computer-readable storage media (or non-volatile readable storage media) corresponding to the above-mentioned data backup method, which have the above-mentioned technical effects and are not repeated here.
  • FIG1 is a flowchart of an implementation of a data backup method in an embodiment of the present application.
  • FIG2 is another implementation flow chart of the data backup method in the embodiment of the present application.
  • FIG3 is a schematic diagram of a logical sub-volume attribution division in an embodiment of the present application.
  • FIG4 is a schematic diagram of another logical sub-volume ownership division in an embodiment of the present application.
  • FIG5 is a structural block diagram of a data backup device according to an embodiment of the present application.
  • FIG6 is a structural block diagram of a data backup device in an embodiment of the present application.
  • FIG. 7 is a schematic diagram of an optional structure of a data backup device provided in an embodiment of the present application.
  • FIG. 1 is a flowchart of an implementation of a data backup method in an embodiment of the present application. The method may include the following steps:
  • each secondary end controller may also have other business loads to be processed, such as production business loads.
  • the load information of each secondary end controller is obtained respectively.
  • S102 Allocate the pre-divided secondary-end logical sub-volumes to the secondary-end controllers according to the load information to obtain secondary-end sub-volume configuration information.
  • the auxiliary volume of the auxiliary end is pre-divided into multiple auxiliary end logical sub-volumes (SunLun), such as dividing the auxiliary volume into multiple auxiliary end logical sub-volumes of the same size.
  • the auxiliary end logical sub-volumes obtained in advance are allocated to each auxiliary end controller according to each load information. For example, when there is a difference in the load of each auxiliary end controller, relatively more auxiliary end logical sub-volumes are allocated to the auxiliary end controller with less load, and relatively fewer auxiliary end logical sub-volumes are allocated to the auxiliary end controller with more load, so as to obtain auxiliary end sub-volume configuration information.
  • the auxiliary end sub-volume configuration information includes the correspondence between each auxiliary end logical sub-volume and each auxiliary end controller.
  • step S102 may include the following steps:
  • Step 1 Allocate each auxiliary-end logical subvolume obtained by pre-division to each auxiliary-end controller according to each load information to obtain an allocation result;
  • Step 2 Generate IO paths corresponding to each auxiliary end controller according to the allocation result
  • Step 3 Obtain identification information of each auxiliary end controller respectively;
  • Step 4 Generate auxiliary terminal volume configuration information according to each IO path and each identification information.
  • each master-side logical subvolume of the master side is controlled by a corresponding master-side controller.
  • Each master-side controller has a communication connection with each slave-side controller. After allocating each slave-side logical subvolume obtained by pre-division to each slave-side controller according to each load information and obtaining the allocation result, the IO (Input/Output) path corresponding to each slave-side controller is generated according to the allocation result.
  • the master-side logical subvolume numbered 1 is controlled by the master-side controller 1 and the slave-side logical subvolume numbered 1 is controlled by the slave-side controller 2, then the IO path between the master-side controller 1 and the slave-side controller 2 is generated.
  • the identification information of each slave-side controller is obtained respectively, and the slave-side subvolume configuration information is generated according to each IO path and each identification information.
  • OPCODE private protocol target port group instruction
  • controller ID Identity document, identification number
  • IO path the IO path in the controller.
  • the slave actively reports the controller ID and IO path information to the master through private instructions to minimize the performance loss caused by information exchange between the master and slave.
  • S103 Synchronize the secondary end subvolume configuration information to the primary end, so that the primary end transmits the to-be-backed-up data to the corresponding secondary end controller according to the secondary end subvolume configuration information.
  • the auxiliary sub-volume configuration information is synchronized to the master end, and the master end transmits the data to be backed up to the corresponding auxiliary controller according to the auxiliary sub-volume configuration information.
  • the master end transmits the data to be backed up to the auxiliary controller 2 through the master controller 1.
  • S104 Utilize each slave-end controller to process the received data to be backed up, so as to complete data backup at the slave end.
  • each slave-end controller After the master end transmits the data to be backed up to the corresponding slave-end controller according to the slave-end subvolume configuration information, each slave-end controller is used to process the data to be backed up that it has received, thereby completing data backup on the slave end.
  • the slave-end controller 2 After receiving the data to be backed up sent by the master-end controller 1, the slave-end controller 2 performs corresponding read and write operations on the slave-end logical subvolume numbered 1, thereby completing data backup on the slave end.
  • the embodiment of the present application specifies the controller that processes each data to be backed up, avoids the locking caused by multiple controllers on the slave end operating the same PBA (physical block address), and optimizes the transmission performance.
  • the data to be backed up is directly transmitted to the correct slave-end controller, which reduces the forwarding of the data to be backed up between slave-end controllers, shortens the IO stack path, and improves the speed of refreshing the data to be backed up.
  • the load information of each auxiliary-end controller is obtained, and the auxiliary-end logical sub-volumes obtained in advance are allocated to each auxiliary-end controller according to each load information, and the generated auxiliary sub-volume configuration information is synchronized to the master end, and the master end transmits the data to be backed up to the corresponding auxiliary-end controller according to the auxiliary sub-volume configuration information.
  • Each auxiliary-end controller is used to process the received data to be backed up, and complete the data backup at the auxiliary end.
  • each auxiliary-end controller can achieve load balancing as much as possible, optimize the selection strategy of the auxiliary-end controller in remote replication, make full use of the auxiliary-end resources, and improve the data transmission performance.
  • the embodiments of the present application also provide corresponding improved solutions.
  • the same steps or corresponding steps as those in the above embodiments can be referenced to each other, and the corresponding beneficial effects can also be referenced to each other, which will not be repeated one by one in the following improved embodiments.
  • FIG. 2 is another implementation flow chart of the data backup method in an embodiment of the present application.
  • the method may include the following steps:
  • the slave end usually includes multiple slave end controllers.
  • the master end data needs to be backed up to the slave end, the number of slave end controllers is obtained.
  • S202 Divide the auxiliary volume into sub-volumes according to the number of auxiliary-end controllers to obtain logical sub-volumes of each auxiliary end.
  • the auxiliary volume is divided into sub-volumes according to the number of auxiliary end controllers to obtain each auxiliary end logical sub-volume.
  • the auxiliary volume can be divided into auxiliary end logical sub-volumes as many as an integer multiple of the number of auxiliary end controllers, so as to ensure that an equal number of auxiliary end logical sub-volumes are allocated to each auxiliary end controller.
  • S203 Allocate each slave-end logical sub-volume to each slave-end controller, obtain initial sub-volume ownership information, and synchronize the initial sub-volume ownership information to the master end.
  • each auxiliary end logical sub-volume is divided into each auxiliary end controller, such as according to the principle of allocating as equal numbers of auxiliary end logical sub-volumes as possible to each auxiliary end controller, to obtain the initial sub-volume ownership information, and synchronize the initial sub-volume ownership information to the main end, so that the main end obtains the corresponding relationship between each auxiliary end logical sub-volume and each auxiliary end controller.
  • the auxiliary end can actively report the controller path selection to the main end, and the controller selection path is provided by the auxiliary end through sub-volume ownership.
  • the initiative is in the auxiliary end, which is conducive to the balanced utilization of auxiliary end resources, so that the auxiliary end resources are fully utilized and the data transmission performance is improved.
  • the configuration information of the primary and secondary ends is solidified during the design phase and does not need to be synchronized later, thus reducing performance loss caused by information interaction between the primary and secondary ends.
  • dividing the auxiliary volume into sub-volumes according to the number of auxiliary end controllers may include the following steps: Steps:
  • Step 1 Get the preset secondary logical subvolume size
  • Step 2 Divide the auxiliary volume into sub-volumes according to the size of the auxiliary-side logical sub-volumes
  • allocating each secondary-end logical subvolume to each secondary-end controller may include the following steps:
  • Step 1 Sequentially number each auxiliary end logical subvolume starting from 1 to obtain the subvolume number
  • Step 2 Take the modulus of each sub-volume number and the number of auxiliary end controllers to obtain the modulus result corresponding to each sub-volume number;
  • Step 3 Allocate each slave-end logical subvolume to each slave-end controller according to each modulo result.
  • the division granularity of the logical volume sub-volume division is preset, for example, it can be set to divide each logical volume into logical sub-volumes according to the granularity of 128M.
  • the preset auxiliary-end logical sub-volume size is obtained, the auxiliary volume is divided into sub-volumes according to the auxiliary-end logical sub-volume size, and each auxiliary-end logical sub-volume is sequentially numbered starting from 1 to obtain each sub-volume number, and each sub-volume number is modulo the number of auxiliary-end controllers to obtain the modulo result corresponding to each sub-volume number, and each auxiliary-end logical sub-volume is divided to each auxiliary-end controller according to each modulo result.
  • each auxiliary-end logical sub-volume By using the method of sequentially numbering each auxiliary-end logical sub-volume starting from 1 and modulo each sub-volume number to the number of auxiliary-end controllers to divide each auxiliary-end logical sub-volume to each auxiliary-end controller, the balanced division of each auxiliary-end logical sub-volume to each auxiliary-end controller is achieved.
  • Figure 3 is a schematic diagram of a logical subvolume attribution division in an embodiment of the present application
  • Figure 4 is another schematic diagram of a logical subvolume attribution division in an embodiment of the present application.
  • the subvolume number is N
  • the method may further include the following steps:
  • Step 1 Receive the sub-volume hotspot data statistics sent by the master end
  • Step 2 Determine whether to adjust the initial subvolume ownership information based on the statistical results of the subvolume hotspot data. If it is determined that the initial subvolume ownership information should be adjusted based on the statistical results of the subvolume hotspot data, execute step 3. If it is determined that the initial subvolume ownership information should not be adjusted based on the statistical results of the subvolume hotspot data, no processing is performed.
  • Step 3 Adjust the initial sub-volume ownership information according to the sub-volume hotspot data statistics to obtain the target sub-volume ownership information
  • Step 4 Synchronize the target subvolume ownership information to the master end.
  • the master end counts the sub-volume hot information, that is, counts the number of data read and write of each sub-volume, and sends the counted sub-volume hot information to the auxiliary end.
  • the auxiliary end receives the sub-volume hot data statistics sent by the master end, and determines whether to adjust the initial sub-volume ownership information according to the sub-volume hot data statistics.
  • the initial sub-volume ownership information is adjusted according to the sub-volume hot data statistics, it means that the hot sub-volumes are unevenly distributed in each auxiliary end controller.
  • the initial sub-volume ownership information is adjusted to obtain the target sub-volume ownership information. If it is determined that the initial sub-volume ownership information is not adjusted according to the sub-volume hot data statistics, it means that the hot sub-volumes are relatively evenly distributed in each auxiliary end controller and no processing is performed.
  • auxiliary-end logical subvolume affiliation By collecting statistics on subvolume hotspot data and adjusting the auxiliary-end logical subvolume affiliation based on the statistical results of the subvolume hotspot data, the probability of uneven utilization of auxiliary-end resources is reduced, the auxiliary-end resources are fully utilized, and the data transmission performance is improved.
  • adjusting the initial sub-volume ownership information according to the sub-volume hotspot data statistics may include the following steps:
  • each hot logical sub-volume is evenly distributed to each auxiliary controller.
  • each hot logical subvolume is evenly distributed to each auxiliary controller based on the subvolume hotspot data statistics, thereby improving the load balance of each auxiliary controller and making full use of the auxiliary resources.
  • receiving the sub-volume hot spot data statistics result sent by the master end may include the following steps:
  • the hot spot data statistics result of the sub-volumes is obtained by performing hot spot data statistics on each logical sub-volume of the master end according to the data block granularity and sent by the master end.
  • the master end When the master end performs hot data statistics on each master end logical subvolume, it performs hot data statistics on each master end logical subvolume according to the data block (Block) granularity, and sends the subvolume hot data statistics results to the slave end.
  • the slave end receives the subvolume hot data statistics results obtained by performing hot data statistics on each master end logical subvolume according to the data block granularity sent by the master end.
  • the method may further include the following steps:
  • Step 1 Record the second subvolume identification information of the adjusted auxiliary-end logical subvolume, the second auxiliary volume identification information of the auxiliary volume to which the auxiliary-end logical subvolume belongs, and the second auxiliary-end controller identification information of the auxiliary-end controller to which the auxiliary-end logical subvolume belongs after the adjustment;
  • Step 2 Generate sub-volume ownership information according to the second sub-volume identification information, the second auxiliary volume identification information and the second auxiliary end controller identification information.
  • the second subvolume identification information of the adjusted auxiliary-end logical subvolume, the second auxiliary volume identification information of the auxiliary volume to which the auxiliary-end logical subvolume belongs, and the second auxiliary-end controller identification information of the auxiliary-end controller to which the auxiliary-end logical subvolume belongs after the adjustment are recorded, and the subvolume ownership information is generated according to the second subvolume identification information, the second auxiliary volume identification information, and the second auxiliary-end controller identification information.
  • the three-dimensional data type composed of the second sub-volume identification information, the second auxiliary volume identification information and the second auxiliary end controller identification information does not record all the logical sub-volume information, but only records the logical sub-volume information that needs to be adjusted, and uses the node identification NodeID as the group identification GroupID of the group, thereby reducing the amount of data exchanged between the master and auxiliary ends.
  • the master end preferentially searches in the three-dimensional data type according to the logical volume identification LunID and the logical sub-volume identification SubLunID. If found, the data is sent to the corresponding IO group for transmission. If not found, the data is transmitted according to the original sub-volume ownership information.
  • step S205 Determine whether to adjust the initial subvolume ownership information based on each load information. If it is determined based on each load information that the initial subvolume ownership information is not to be adjusted, execute step S206. If it is determined based on each load information that the initial subvolume ownership information is to be adjusted, execute step S207.
  • step S206 is executed. If it is determined according to each load information that the initial sub-volume ownership information needs to be adjusted, it indicates that there is a large difference in the current loads of each auxiliary end controller, and step S207 is executed.
  • step S205 may include the following steps:
  • Step 1 Obtain the load difference between the auxiliary end controller with the largest current load and the auxiliary end controller with the smallest current load according to each load information;
  • Step 2 Determine whether the load difference exceeds a preset threshold.
  • the load difference between the auxiliary end controller with the largest current load and the auxiliary end controller with the smallest current load is obtained according to each load information, and it is judged whether the load difference exceeds the preset threshold.
  • the load difference between the auxiliary end controllers with the preset threshold it is determined whether to adjust the initial sub-volume ownership information according to the comparison result, thereby providing an effective basis for adjusting the initial sub-volume ownership information, and being able to ensure the load balance of each auxiliary end controller as much as possible on the basis of ensuring that frequent adjustments are not made.
  • preset threshold can be set and adjusted according to actual conditions, and the embodiments of the present application do not limit this.
  • Table 1 is an adjustment table for adjusting sub-volume ownership according to the load difference between controllers.
  • S206 Allocate the pre-divided secondary-end logical sub-volumes to the secondary-end controllers according to the load information to obtain secondary-end sub-volume configuration information.
  • the initial sub-volume ownership information When it is determined that the initial sub-volume ownership information needs to be adjusted based on the load information, it means that there is a large difference in the current load of each auxiliary end controller.
  • the initial sub-volume ownership information is adjusted according to the load information to obtain the auxiliary sub-volume configuration information, so that the load of each auxiliary end controller is balanced.
  • the method may further include the following steps:
  • Step 1 Record the first sub-volume identification information of the adjusted auxiliary-end logical sub-volume, the first auxiliary-volume identification information of the auxiliary volume to which the auxiliary-end logical sub-volume belongs, and the first auxiliary-end controller identification information of the auxiliary-end controller to which the auxiliary-end logical sub-volume belongs after the adjustment;
  • Step 2 Generate auxiliary subvolume configuration information according to the first subvolume identification information, the first auxiliary volume identification information and the first auxiliary controller identification information.
  • each auxiliary-end logical sub-volume obtained by the initial division and each auxiliary-end controller will change, and the first sub-volume identification information of the adjusted auxiliary-end logical sub-volume, the first auxiliary volume identification information of the auxiliary volume to which the auxiliary-end logical sub-volume belongs, and the first auxiliary-end controller identification information of the auxiliary-end controller to which the auxiliary-end logical sub-volume belongs after the adjustment are recorded, and the auxiliary sub-volume configuration information is generated according to the first sub-volume identification information, the first auxiliary volume identification information, and the first auxiliary-end controller identification information. This ensures that the auxiliary sub-volume configuration information corresponds to the actual division result.
  • S208 Synchronize the secondary end subvolume configuration information to the primary end, so that the primary end transmits the to-be-backed-up data to the corresponding secondary end controller according to the secondary end subvolume configuration information.
  • the primary end transmits the data to be backed up to the corresponding secondary end controller according to the secondary end subvolume configuration information, which may include the following steps:
  • the master end transmits the data to be backed up to the corresponding slave end controller through the IO paths corresponding to each slave end controller according to the sub-volume configuration information of the slave end in grain granularity.
  • the master end transmits the data to be backed up to the corresponding slave end controller according to the grain granularity through the IO path corresponding to each slave end controller according to the slave end subvolume configuration information.
  • the master end transmits the data to be backed up according to the grain granularity smaller than the data block granularity, accurate transmission of backup data is achieved.
  • the primary end transmits the data to be backed up to the corresponding secondary end controller at a grain granularity through the IO path corresponding to each secondary end controller according to the secondary end subvolume configuration information, which may include the following steps:
  • the master end uses the slave end controllers to back up the data according to the grain granularity and service-time strategy according to the slave end subvolume configuration information.
  • the corresponding IO path is transmitted to the corresponding auxiliary end controller.
  • the primary end Based on the secondary subvolume configuration information, the primary end transmits the data to be backed up to the corresponding secondary controller through the IO path corresponding to each secondary controller according to the grain granularity and the service-time strategy. By transmitting data with the service-time strategy, the processing response time is balanced.
  • S209 Utilize each slave-end controller to process the received data to be backed up, so as to complete data backup at the slave end.
  • the embodiment of the present application further provides a data backup device, and the data backup device described below and the data backup method described above can refer to each other.
  • FIG. 5 is a structural block diagram of a data backup device in an embodiment of the present application, and the device may include:
  • the load information acquisition module 51 is configured to respectively acquire the load information of each auxiliary end controller
  • the sub-volume allocation module 52 is configured to allocate each auxiliary-end logical sub-volume obtained by pre-division to each auxiliary-end controller according to each load information, and obtain auxiliary-end sub-volume configuration information;
  • the configuration information synchronization module 53 is configured to synchronize the secondary end subvolume configuration information to the primary end, so that the primary end transmits the to-be-backed-up data to the corresponding secondary end controller according to the secondary end subvolume configuration information;
  • the data backup module 54 is configured to utilize each auxiliary end controller to process the received data to be backed up, so as to complete the data backup at the auxiliary end.
  • the load information of each auxiliary-end controller is obtained, and the auxiliary-end logical sub-volumes obtained in advance are allocated to each auxiliary-end controller according to each load information, and the generated auxiliary sub-volume configuration information is synchronized to the master end, and the master end transmits the data to be backed up to the corresponding auxiliary-end controller according to the auxiliary sub-volume configuration information.
  • Each auxiliary-end controller is used to process the received data to be backed up, and complete the data backup at the auxiliary end.
  • each auxiliary-end controller can achieve load balancing as much as possible, optimize the selection strategy of the auxiliary-end controller in remote replication, make full use of the auxiliary-end resources, and improve the data transmission performance.
  • the sub-volume allocation module 52 includes:
  • the sub-volume allocation sub-module is configured to allocate each auxiliary-end logical sub-volume obtained by pre-division to each auxiliary-end controller according to each load information to obtain an allocation result;
  • a path generation submodule is configured to generate IO paths corresponding to each auxiliary end controller according to the allocation result
  • the identification information acquisition submodule is configured to respectively acquire identification information of each auxiliary terminal controller
  • the configuration information generation submodule is configured to generate auxiliary terminal volume configuration information according to each IO path and each identification information.
  • the device may further include:
  • the controller number acquisition module is configured to acquire the number of auxiliary end controllers before acquiring the load information of each auxiliary end controller respectively;
  • the sub-volume division module is configured to divide the auxiliary volume into sub-volumes according to the number of auxiliary end controllers to obtain logical sub-volumes of each auxiliary end;
  • a first ownership information synchronization module is configured to divide each slave-end logical subvolume into each slave-end controller, obtain initial subvolume ownership information, and synchronize the initial subvolume ownership information to the master end;
  • the sub-volume allocation module 52 includes:
  • a judgment submodule is configured to judge whether to adjust the initial subvolume ownership information according to each load information
  • the ownership information adjustment submodule is configured to adjust the initial subvolume ownership information according to each load information when it is determined that the initial subvolume ownership information needs to be adjusted according to each load information.
  • the judgment submodule includes:
  • a load difference acquisition unit is configured to acquire a load difference between an auxiliary end controller with a maximum current load and an auxiliary end controller with a minimum current load according to each load information;
  • the judging unit is configured to judge whether the load difference exceeds a preset threshold.
  • the device may further include:
  • the first information recording module is configured to record, after adjusting the initial sub-volume ownership information according to each load information, the first sub-volume identification information of the adjusted auxiliary-end logical sub-volume, the first auxiliary volume identification information of the auxiliary volume to which the auxiliary-end logical sub-volume belongs, and the auxiliary volume to which the auxiliary-end logical sub-volume belongs after the adjustment.
  • the first auxiliary terminal controller identification information of the terminal controller is configured to record, after adjusting the initial sub-volume ownership information according to each load information, the first sub-volume identification information of the adjusted auxiliary-end logical sub-volume, the first auxiliary volume identification information of the auxiliary volume to which the auxiliary-end logical sub-volume belongs, and the auxiliary volume to which the auxiliary-end logical sub-volume belongs after the adjustment.
  • the configuration information generation module is configured to generate auxiliary subvolume configuration information according to the first subvolume identification information, the first auxiliary volume identification information and the first auxiliary end controller identification information.
  • the sub-volume division module includes:
  • the subvolume size acquisition submodule is configured to acquire a preset auxiliary end logical subvolume size
  • the first sub-volume division sub-module is configured to divide the auxiliary volume into sub-volumes according to the size of the auxiliary-end logical sub-volumes;
  • the attribution information synchronization module includes:
  • the subvolume numbering submodule is configured to sequentially number each auxiliary end logical subvolume starting from 1 to obtain each subvolume number;
  • the modulo result obtaining submodule is configured to obtain the modulo result corresponding to each subvolume number by the number of auxiliary end controllers;
  • the second sub-volume division sub-module is configured to divide each auxiliary-end logical sub-volume to each auxiliary-end controller according to each modulo result.
  • the device may further include:
  • the statistical result receiving module is configured to receive the statistical result of the sub-volume hot spot data sent by the master end after synchronizing the initial sub-volume ownership information to the master end;
  • a judgment module is configured to judge whether to adjust the initial sub-volume ownership information according to the statistical result of the sub-volume hot spot data
  • the attribution information adjustment module is configured to adjust the initial subvolume attribution information according to the subvolume hotspot data statistics result to obtain the target subvolume attribution information when it is determined that the initial subvolume attribution information needs to be adjusted according to the subvolume hotspot data statistics result;
  • the second ownership information synchronization module is configured to synchronize the target sub-volume ownership information to the master end.
  • the ownership information adjustment module may be a module that evenly distributes each hot logical sub-volume to each auxiliary end controller according to the statistical result of the sub-volume hot data.
  • the device may further include:
  • the second information recording module is configured to record the second subvolume identification information of the adjusted auxiliary-end logical subvolume, the second auxiliary volume identification information of the auxiliary volume to which the auxiliary-end logical subvolume belongs, and the second auxiliary-end controller identification information of the auxiliary-end controller to which the auxiliary-end logical subvolume belongs after the adjustment of the initial subvolume belonging information according to the subvolume hot spot data statistics result;
  • the attribution information generation module is configured to generate sub-volume attribution information according to the second sub-volume identification information, the second auxiliary volume identification information and the second auxiliary end controller identification information.
  • the statistical result receiving module may be a module for receiving the sub-volume hot data statistical results obtained by performing hot data statistics on each master-end logical sub-volume according to the data block granularity sent by the master end.
  • FIG. 6 is a schematic diagram of a data backup device provided in an embodiment of the present application, and the device may include:
  • the processor 322 is configured to implement the steps of the data backup method of the above method embodiment when executing a computer program.
  • FIG. 7 is an optional structural diagram of a data backup device provided in this embodiment.
  • the data backup device may have relatively large differences due to different configurations or performances, and may include a processor (central processing units, CPU) 322 (for example, one or more processors) and a memory 332, and the memory 332 stores one or more computer programs 342 or data 344.
  • the memory 332 can be a temporary storage or a permanent storage.
  • the program stored in the memory 332 may include one or more modules (not shown in the figure), and each module may include a series of instruction operations in the data processing device.
  • the processor 322 can be configured to communicate with the memory 332 to execute a series of instruction operations in the memory 332 on the data backup device 301.
  • the data backup device 301 may further include one or more power supplies 326 , one or more wired or wireless network interfaces 350 , one or more input and output interfaces 358 , and/or one or more operating systems 341 .
  • the steps in the data backup method described above can be implemented by the structure of a data backup device.
  • the embodiment of the present application further provides a computer-readable storage medium (or non-volatile readable storage medium), on which a computer program is stored.
  • a computer program When the computer program is executed by a processor, the following steps can be implemented:
  • each slave-end controller The load information of each slave-end controller is obtained respectively; the pre-divided slave-end logical subvolumes are allocated to each slave-end controller according to the load information to obtain the slave-end subvolume configuration information; the slave-end subvolume configuration information is synchronized to the master end so that the master end transmits the data to be backed up to the corresponding slave-end controller according to the slave-end subvolume configuration information; and each slave-end controller is used to process the received data to be backed up so as to complete the data backup at the slave end.
  • the computer-readable storage medium may include: U disk, mobile hard disk, read-only memory (ROM), random access memory (RAM), magnetic disk or optical disk and other media that can store program codes.
  • each embodiment is described in a progressive manner, and each embodiment focuses on the differences from other embodiments.
  • the same or similar parts between the embodiments can be referred to each other.
  • the description is relatively simple, and the relevant parts can be referred to the method part description.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请公开了一种数据备份方法,该方法包括以下步骤:分别获取各辅端控制器的负载信息;根据各负载信息将预划分得到的各辅端逻辑子卷分配给各辅端控制器,得到辅端子卷配置信息;将辅端子卷配置信息同步给主端,以使主端按照辅端子卷配置信息将待备份数据传输给相应的辅端控制器;利用各辅端控制器处理各自接收到的待备份数据,以在辅端完成数据备份。应用本申请所提供的数据备份方法,优化了远程复制中辅端控制器的选择策略,使得辅端资源得到充分利用,提高了数据传输性能。本申请还公开了一种数据备份装置、设备及存储介质,具有相应技术效果。

Description

一种数据备份方法、装置、设备及非易失性可读存储介质
相关申请的交叉引用
本申请要求于2022年11月17日提交中国专利局,申请号为202211437858.5,申请名称为“一种数据备份方法、装置、设备及计算机可读存储介质”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请实施例涉及数据备份技术领域,特别是涉及一种数据备份方法、装置、设备及计算机可读存储介质(或称为,非易失性可读存储介质)。
背景技术
随着信息数据的爆炸增长,对各种场景下性能的要求越来越严苛。为提升数据的可靠性,通常会对数据进行备份,常用的数据备份方法是将主存储中的数据远程备份至远端存储。
远程复制中主端在向辅端传输数据时,对辅端控制器的选择多数采用以下两种方案:一种是主端控制器在传输数据时将数据传输到辅端固定的控制器上;另一种是主端控制器在传输数据时将数据均衡传输到辅端每个控制器上。上述两个方案有个共同的缺点,主端无法感知辅端每个控制器空闲资源情况,导致即便传输的数据在辅端控制器间是均衡的,但是辅端控制器空闲资源不同,在处理相同数据量时也无法充分利用辅端资源。
综上所述,如何有效地解决现有的数据备份方法辅端控制器空闲资源不同,各辅端控制器处理相同数据量的情况下,也无法充分利用辅端资源等问题,是目前本领域技术人员急需解决的问题。
发明内容
本申请实施例的目的是提供一种数据备份方法,该方法优化了远程复制中辅端控制器的选择策略,使得辅端资源得到充分利用,提高了数据传输性能;本申请实施例的另一目的是提供一种数据备份装置、设备及计算机可读存储介质(或称为,非易失性可读存储介质)。
为解决上述技术问题,本申请实施例提供如下技术方案:
一种数据备份方法,包括:
分别获取各辅端控制器的负载信息;
根据各负载信息将预划分得到的各辅端逻辑子卷分配给各辅端控制器,得到辅端子卷配置信息;
将辅端子卷配置信息同步给主端,以使主端按照辅端子卷配置信息将待备份数据传输给相应的辅端控制器;
利用各辅端控制器处理各自接收到的待备份数据,以在辅端完成数据备份。
在本申请实施例的一种可选的实施方式中,根据各负载信息将预划分得到的各辅端逻辑子卷分配给各辅端控制器,得到辅端子卷配置信息,包括:
根据各负载信息将预划分得到的各辅端逻辑子卷分配给各辅端控制器,得到分配结果;
根据分配结果生成各辅端控制器分别对应的IO路径;
分别获取各辅端控制器的标识信息;
根据各IO路径和各标识信息生成辅端子卷配置信息。
在本申请实施例的一种可选的实施方式中,在分别获取各辅端控制器的负载信息之前,还包括:
获取辅端控制器个数;
按照辅端控制器个数对辅卷进行子卷划分,得到各辅端逻辑子卷;
将各辅端逻辑子卷划分给各辅端控制器,得到初始子卷归属信息,并将初始子卷归属信息同步给主端;
根据各负载信息将预划分得到的各辅端逻辑子卷分配给各辅端控制器,包括:
根据各负载信息判断是否对初始子卷归属信息进行调整;
在根据各负载信息判断出对初始子卷归属信息进行调整的情况下,则根据各负载信息对初始子卷归属信息进行调整。
在本申请实施例的一种可选的实施方式中,根据各负载信息判断是否对初始子卷归属信息进行调整,包括:
根据各负载信息获取当前负载最大的辅端控制器与当前负载最小的辅端控制器之间的负载差值;
判断负载差值是否超过预设阈值。
在本申请实施例的一种可选的实施方式中,在根据各负载信息对初始子卷归属信息进行调整之后,还包括:
记录得到调整的辅端逻辑子卷的第一子卷标识信息、辅端逻辑子卷所属辅卷的第一辅卷标识信息以及辅端逻辑子卷调整后归属的辅端控制器的第一辅端控制器标识信息;
根据第一子卷标识信息、第一辅卷标识信息以及第一辅端控制器标识信息进行辅端子卷配置信息生成。
在本申请实施例的一种可选的实施方式中,按照辅端控制器个数对辅卷进行子卷划分,包括:
获取预设的辅端逻辑子卷大小;
按照辅端逻辑子卷大小对辅卷进行子卷划分;
将各辅端逻辑子卷划分给各辅端控制器,包括:
对各辅端逻辑子卷从1开始进行顺序编号,得到各子卷编号;
将各子卷编号对辅端控制器个数取余,得到各子卷编号对应的取余结果;
根据各取余结果将各辅端逻辑子卷划分给各辅端控制器。
在本申请实施例的一种可选的实施方式中,在将初始子卷归属信息同步给主端之后,还包括:
接收主端发送的子卷热点数据统计结果;
根据子卷热点数据统计结果判断是否对初始子卷归属信息进行调整;
在根据子卷热点数据统计结果判断出对初始子卷归属信息进行调整的情况下,则根据子卷热点数据统计结果对初始子卷归属信息进行调整,得到目标子卷归属信息;
将目标子卷归属信息同步给主端。
在本申请实施例的一种可选的实施方式中,根据子卷热点数据统计结果对初始子卷归属信息进行调整,包括:
根据子卷热点数据统计结果将各热点逻辑子卷均衡分配给各辅端控制器。
在本申请实施例的一种可选的实施方式中,在根据子卷热点数据统计结果对初始子卷归属信息进行调整之后,还包括:
记录得到调整的辅端逻辑子卷的第二子卷标识信息、辅端逻辑子卷所属辅卷的第二辅卷标识信息以及辅端逻辑子卷调整后归属的辅端控制器的第二辅端控制器标识信息;
根据第二子卷标识信息、第二辅卷标识信息以及第二辅端控制器标识信息进行子卷归属信息生成。
在本申请实施例的一种可选的实施方式中,接收主端发送的子卷热点数据统计结果,包括:
接收主端发送的按照数据块粒度对各主端逻辑子卷进行热点数据统计得到的子卷热点数据统计结果。
在本申请实施例的一种可选的实施方式中,主端按照辅端子卷配置信息将待备份数据传输给相应的辅端控制器,包括:
主端根据辅端子卷配置信息将待备份数据按照颗粒粒度通过各辅端控制器分别对应的IO路径传输给相应的辅端控制器。
在本申请实施例的一种可选的实施方式中,主端按照辅端子卷配置信息将待备份数据以颗粒粒度通过各辅 端控制器分别对应的IO路径传输给相应的辅端控制器,包括:
主端根据辅端子卷配置信息,将待备份数据按照颗粒粒度以service time策略通过各辅端控制器分别对应的IO路径传输给相应的辅端控制器。
在本申请实施例的一种可选的实施方式中,辅端子卷配置信息包含各辅端逻辑子卷与各辅端控制器之间的对应关系。
在本申请实施例的一种可选的实施方式中,在获取预设的辅端逻辑子卷大小之前,方法还包括:预先设置对逻辑卷进行子卷划分的划分粒度,其中,划分粒度用于表示辅端逻辑子卷的大小。
在本申请实施例的一种可选的实施方式中,利用各辅端控制器处理各自接收到的待备份数据,以在辅端完成数据备份,包括:利用各辅端控制器,在各辅端控制器所对应的辅端逻辑子卷进行读写操作,以在辅端完成数据备份。
在本申请实施例的一种可选的实施方式中,由第二子卷标识信息、第二辅卷标识信息以及第二辅端控制器标识信息构成的三维数据类型不记录所有的逻辑子卷信息,只记录需要调整的逻辑子卷信息,并且以节点标识作为分组的组标识。
在本申请实施例的一种可选的实施方式中,在根据第二子卷标识信息、第二辅卷标识信息以及第二辅端控制器标识信息进行子卷归属信息生成之后,方法还包括:主端在传输数据时根据逻辑卷标识、逻辑子卷标识在三维数据类型中查找,如果找到,则将数据发送到对应的IO分组中,进行传输,如果没有找到,则按原有的子卷归属信息进行数据传输。
一种数据备份装置,包括:
负载信息获取模块,被设置为分别获取各辅端控制器的负载信息;
子卷分配模块,被设置为根据各负载信息将预划分得到的各辅端逻辑子卷分配给各辅端控制器,得到辅端子卷配置信息;
配置信息同步模块,被设置为将辅端子卷配置信息同步给主端,以使主端按照辅端子卷配置信息将待备份数据传输给相应的辅端控制器;
数据备份模块,被设置为利用各辅端控制器处理各自接收到的待备份数据,以在辅端完成数据备份。
一种数据备份设备,包括:
存储器,被设置为存储计算机程序;
处理器,被设置为执行计算机程序时实现如前数据备份方法的步骤。
一种计算机可读存储介质(或称为,非易失性可读存储介质),计算机可读存储介质(或称为,非易失性可读存储介质)上存储有计算机程序,计算机程序被处理器执行时实现如前数据备份方法的步骤。
本申请实施例所提供的数据备份方法,分别获取各辅端控制器的负载信息;根据各负载信息将预划分得到的各辅端逻辑子卷分配给各辅端控制器,得到辅端子卷配置信息;将辅端子卷配置信息同步给主端,以使主端按照辅端子卷配置信息将待备份数据传输给相应的辅端控制器;利用各辅端控制器处理各自接收到的待备份数据,以在辅端完成数据备份。
由上述技术方案可知,通过预先将辅端逻辑卷划分为多个辅端逻辑子卷,获取各辅端控制器的负载信息,根据各负载信息将预划分得到的各辅端逻辑子卷分配给各辅端控制器,并将生成的辅端子卷配置信息同步给主端,主端按照辅端子卷配置信息将待备份数据传输给相应的辅端控制器。利用各辅端控制器处理各自接收到的待备份数据,并在辅端完成数据备份。通过按照各辅端控制器的负载信息进行辅端逻辑子卷分配,使得各辅端控制器尽可能达到负载均衡,优化了远程复制中辅端控制器的选择策略,使得辅端资源得到充分利用,提高了数据传输性能。
相应的,本申请实施例还提供了与上述数据备份方法相对应的数据备份装置、设备和计算机可读存储介质(或称为,非易失性可读存储介质),具有上述技术效果,在此不再赘述。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例中数据备份方法的一种实施流程图;
图2为本申请实施例中数据备份方法的另一种实施流程图;
图3为本申请实施例中一种逻辑子卷归属划分示意图;
图4为本申请实施例中另一种逻辑子卷归属划分示意图;
图5为本申请实施例中一种数据备份装置的结构框图;
图6为本申请实施例中一种数据备份设备的结构框图;
图7为本申请实施例提供的一种数据备份设备的可选的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请实施例方案,下面结合附图和可选的实施方式对本申请实施例作详细的详细说明。显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请实施例保护的范围。
参见图1,图1为本申请实施例中数据备份方法的一种实施流程图,该方法可以包括以下步骤:
S101:分别获取各辅端控制器的负载信息。
各辅端控制器除了对主端数据进行备份之外,还可能存在其他需要处理的业务负载,如生产业务负载。当需要将主端数据备份至辅端时,分别获取各辅端控制器的负载信息。
S102:根据各负载信息将预划分得到的各辅端逻辑子卷分配给各辅端控制器,得到辅端子卷配置信息。
预先将辅端的辅卷划分为多个辅端逻辑子卷(SunLun),如将辅卷划分为多个大小相同的辅端逻辑子卷。在分别获取到各辅端控制器的负载信息之后,根据各负载信息将预划分得到的各辅端逻辑子卷分配给各辅端控制器,如当各辅端控制器的负载存在差异时,向负载较少的辅端控制器分配相对多一些的辅端逻辑子卷,向负载较多的辅端控制器分配相对少一些的辅端逻辑子卷,得到辅端子卷配置信息。辅端子卷配置信息包含各个辅端逻辑子卷与各辅端控制器之间的对应关系。
在本申请实施例的一种可选的实施方式中,步骤S102可以包括以下步骤:
步骤一:根据各负载信息将预划分得到的各辅端逻辑子卷分配给各辅端控制器,得到分配结果;
步骤二:根据分配结果生成各辅端控制器分别对应的IO路径;
步骤三:分别获取各辅端控制器的标识信息;
步骤四:根据各IO路径和各标识信息生成辅端子卷配置信息。
为方便描述,可以将上四个步骤结合起来进行说明。
主端的各主端逻辑子卷与辅端的各辅端逻辑子卷存在一一对应关系,各主端逻辑子卷分别受相应的主端控制器控制,各主端控制器之间与各辅端控制器建立有通信连接。在根据各负载信息将预划分得到的各辅端逻辑子卷分配给各辅端控制器,得到分配结果之后,根据分配结果生成各辅端控制器分别对应的IO(Input/Output,输入/输出)路径,如编号为1的主端逻辑子卷受主端控制器1控制,编号为1的辅端逻辑子卷受辅端控制器2控制,则生成主端控制器1与辅端控制器2之间的IO路径。分别获取各辅端控制器的标识信息,根据各IO路径和各标识信息生成辅端子卷配置信息。
如可以制定私有协议target port group指令,制定私有的指令(OPCODE),指令中包含控制器的ID (Identity document,身份标识号)以及控制器内的IO路径。在首次建立主端与辅端的伙伴关系以及辅端的IO路径发生变化时,辅端主动通过私有指令上报控制器ID以及IO路径信息给主端,尽量减少主辅端之间信息交互带来性能损失。
S103:将辅端子卷配置信息同步给主端,以使主端按照辅端子卷配置信息将待备份数据传输给相应的辅端控制器。
在根据各负载信息将预划分得到的各辅端逻辑子卷分配给各辅端控制器,得到辅端子卷配置信息之后,将辅端子卷配置信息同步给主端,主端按照辅端子卷配置信息将待备份数据传输给相应的辅端控制器。承接上述举例,主端通过主端控制器1将待备份数据传输给辅端控制器2。
S104:利用各辅端控制器处理各自接收到的待备份数据,以在辅端完成数据备份。
在主端按照辅端子卷配置信息将待备份数据传输给相应的辅端控制器之后,利用各辅端控制器处理各自接收到的待备份数据,从而在辅端完成数据备份。承接上述举例,辅端控制器2在接收到主端控制器1发送的待备份数据之后,对编号为1的辅端逻辑子卷进行相应的读写操作,从而在辅端完成数据备份。本申请实施例规定好了处理每个待备份数据的控制器,避免了辅端多个控制器操作同一个PBA(physical block address,物理地址)地址带来的加锁,优化了传输性能。待备份数据直接传输到正确的辅端控制器,减少了辅端控制器间待备份数据的转发,缩短了IO栈路径,提高了待备份数据下刷速度。
由上述技术方案可知,通过预先将辅端逻辑卷划分为多个辅端逻辑子卷,获取各辅端控制器的负载信息,根据各负载信息将预划分得到的各辅端逻辑子卷分配给各辅端控制器,并将生成的辅端子卷配置信息同步给主端,主端按照辅端子卷配置信息将待备份数据传输给相应的辅端控制器。利用各辅端控制器处理各自接收到的待备份数据,并在辅端完成数据备份。通过按照各辅端控制器的负载信息进行辅端逻辑子卷分配,使得各辅端控制器尽可能达到负载均衡,优化了远程复制中辅端控制器的选择策略,使得辅端资源得到充分利用,提高了数据传输性能。
需要说明的是,基于上述实施例,本申请实施例还提供了相应的改进方案。在后续实施例中涉及与上述实施例中相同步骤或相应步骤之间可相互参考,相应的有益效果也可相互参照,在下文的改进实施例中不再一一赘述。
参见图2,图2为本申请实施例中数据备份方法的另一种实施流程图,该方法可以包括以下步骤:
S201:获取辅端控制器个数。
辅端通常包含多个辅端控制器,当需要将主端数据备份至辅端时,获取辅端控制器个数。
S202:按照辅端控制器个数对辅卷进行子卷划分,得到各辅端逻辑子卷。
在获取到辅端控制器个数之后,按照辅端控制器个数对辅卷进行子卷划分,得到各辅端逻辑子卷。如可以将辅卷尽量划分为辅端控制器个数的整数倍个辅端逻辑子卷,从而尽量保证分配给各辅端控制器相等数量的辅端逻辑子卷。
S203:将各辅端逻辑子卷划分给各辅端控制器,得到初始子卷归属信息,并将初始子卷归属信息同步给主端。
在按照辅端控制器个数对辅卷进行子卷划分,得到各辅端逻辑子卷之后,将各辅端逻辑子卷划分给各辅端控制器,如可以按照为各辅端控制器尽量分配均等的辅端逻辑子卷个数原则进行分配,得到初始子卷归属信息,并将初始子卷归属信息同步给主端,从而主端得到各辅端逻辑子卷与各辅端控制器之间的对应关系。通过在辅端根据各辅端控制器的负载情况主动进行辅端逻辑子卷划分,实现了辅端将控制器路径选择主动上报至主端,控制器选择路径由辅端通过子卷归属提供,主动权在辅端,有利于辅端资源利用均衡,使得辅端资源得到充分利用,提高了数据传输性能。
主辅端的配置信息在设计阶段固化下来,后续不需要同步,减少主辅端之间信息交互带来性能损失。
在本申请实施例的一种可选的实施方式中,按照辅端控制器个数对辅卷进行子卷划分,可以包括以下步 骤:
步骤一:获取预设的辅端逻辑子卷大小;
步骤二:按照辅端逻辑子卷大小对辅卷进行子卷划分;
相应的,将各辅端逻辑子卷划分给各辅端控制器,可以包括以下步骤:
步骤一:对各辅端逻辑子卷从1开始进行顺序编号,得到各子卷编号;
步骤二:将各子卷编号对辅端控制器个数取余,得到各子卷编号对应的取余结果;
步骤三:根据各取余结果将各辅端逻辑子卷划分给各辅端控制器。
为方便描述,可以将上几个步骤结合起来进行说明。
预先设置对逻辑卷进行子卷划分的划分粒度,如可以设置为对每一个逻辑卷按照128M粒度划分逻辑子卷。当对辅卷进行子卷划分时,获取预设的辅端逻辑子卷大小,按照辅端逻辑子卷大小对辅卷进行子卷划分,并对各辅端逻辑子卷从1开始进行顺序编号,得到各子卷编号,将各子卷编号对辅端控制器个数取余,得到各子卷编号对应的取余结果,根据各取余结果将各辅端逻辑子卷划分给各辅端控制器。通过利用对各辅端逻辑子卷从1开始进行顺序编号,将各子卷编号对辅端控制器个数取余的方式将各辅端逻辑子卷划分给各辅端控制器,实现了将各辅端逻辑子卷向各辅端控制器的均衡划分。
参见图3和图4,图3为本申请实施例中一种逻辑子卷归属划分示意图,图4为本申请实施例中另一种逻辑子卷归属划分示意图。以两控为例,设子卷编号为N,当N%2=1时,逻辑子卷划分给控制器1,当N%2=0时,逻辑子卷划分给控制器2。
在本申请实施例的一种可选的实施方式中,在将初始子卷归属信息同步给主端之后,该方法还可以包括以下步骤:
步骤一:接收主端发送的子卷热点数据统计结果;
步骤二:根据子卷热点数据统计结果判断是否对初始子卷归属信息进行调整,在根据子卷热点数据统计结果判断出对初始子卷归属信息进行调整的情况下,则执行步骤三,在根据子卷热点数据统计结果判断出不对初始子卷归属信息进行调整的情况下,则不做处理。
步骤三:根据子卷热点数据统计结果对初始子卷归属信息进行调整,得到目标子卷归属信息;
步骤四:将目标子卷归属信息同步给主端。
为方便描述,可以将上四个步骤结合起来进行说明。
由于会存在对某一个或多个子卷中数据读写较频繁,从而会使得这些子卷中热点数据多,其他子卷热点数据少,因此导致辅端中控制器资源利用不均衡。基于上述情况,主端按照统计子卷热点信息,即对各个子卷的数据读写次数进行统计,并将统计到的子卷热点信息发送给辅端。辅端接收主端发送的子卷热点数据统计结果,根据子卷热点数据统计结果判断是否对初始子卷归属信息进行调整,在根据子卷热点数据统计结果判断出对初始子卷归属信息进行调整的情况下,则说明热点子卷在各辅端控制器中分配不均衡,根据子卷热点数据统计结果对初始子卷归属信息进行调整,得到目标子卷归属信息,在根据子卷热点数据统计结果判断出不对初始子卷归属信息进行调整的情况下,则说明热点子卷在各辅端控制器中分配相对均衡,不做处理。通过对子卷热点数据进行统计,并将子卷热点数据统计结果调整辅端逻辑子卷归属,减小了辅端资源利用不均现象发生的概率,使得辅端资源得到充分利用,提高了数据传输性能。
在本申请实施例的一种可选的实施方式中,根据子卷热点数据统计结果对初始子卷归属信息进行调整,可以包括以下步骤:
根据子卷热点数据统计结果将各热点逻辑子卷均衡分配给各辅端控制器。
在根据子卷热点数据统计结果确定需要对初始子卷归属信息进行调整之后,根据子卷热点数据统计结果将各热点逻辑子卷均衡分配给各辅端控制器。从而提升了各辅端控制器负载的均衡性,使得辅端资源得到充分利用。
在本申请实施例的一种可选的实施方式中,接收主端发送的子卷热点数据统计结果,可以包括以下步骤:
接收主端发送的按照数据块粒度对各主端逻辑子卷进行热点数据统计得到的子卷热点数据统计结果。
主端在对各主端逻辑子卷进行热点数据统计时,按照数据块(Block)粒度对各主端逻辑子卷进行热点数据统计,并将子卷热点数据统计结果发送给辅端。辅端接收主端发送的按照数据块粒度对各主端逻辑子卷进行热点数据统计得到的子卷热点数据统计结果。通过按照数据块粒度对各主端逻辑子卷进行热点数据统计,较大地提升了热点数据统计结果的准确性。
在本申请实施例的一种可选的实施方式中,在根据子卷热点数据统计结果对初始子卷归属信息进行调整之后,该方法还可以包括以下步骤:
步骤一:记录得到调整的辅端逻辑子卷的第二子卷标识信息、辅端逻辑子卷所属辅卷的第二辅卷标识信息以及辅端逻辑子卷调整后归属的辅端控制器的第二辅端控制器标识信息;
步骤二:根据第二子卷标识信息、第二辅卷标识信息以及第二辅端控制器标识信息进行子卷归属信息生成。
为方便描述,可以将上两个步骤结合起来进行说明。
在根据子卷热点数据统计结果对初始子卷归属信息进行调整之后,记录得到调整的辅端逻辑子卷的第二子卷标识信息、辅端逻辑子卷所属辅卷的第二辅卷标识信息以及辅端逻辑子卷调整后归属的辅端控制器的第二辅端控制器标识信息,根据第二子卷标识信息、第二辅卷标识信息以及第二辅端控制器标识信息进行子卷归属信息生成。通过根据第二子卷标识信息、第二辅卷标识信息以及第二辅端控制器标识信息生成子卷归属信息,后续可以直接通过查找调整后的子卷归属信息,实现IO路径的准确定位。
由第二子卷标识信息、第二辅卷标识信息以及第二辅端控制器标识信息构成的三维数据类型不记录所有的逻辑子卷信息,只记录需要调整的逻辑子卷信息,并且以节点标识NodeID作为分组的组标识GroupID,减少主辅端交换的数据量。主端在传输数据时根据逻辑卷标识LunID、逻辑子卷标识SubLunID优先在三维数据类型中查找,如果找到,则将数据发送到对应的IO分组中,进行传输,如果没有找到,则按原有的子卷归属信息进行数据传输。
S204:分别获取各辅端控制器的负载信息。
S205:根据各负载信息判断是否对初始子卷归属信息进行调整,在根据各负载信息判断出不对初始子卷归属信息进行调整的情况下,则执行步骤S206,在根据各负载信息判断出对初始子卷归属信息进行调整的情况下,则执行步骤S207。
在分别获取到各辅端控制器的负载信息,根据各负载信息判断是否对初始子卷归属信息进行调整,如可以按照预设周期进行判断,在根据各负载信息判断出不对初始子卷归属信息进行调整的情况下,则说明各辅端控制器的当前负载相对均衡,执行步骤S206,在根据各负载信息判断出对初始子卷归属信息进行调整的情况下,则说明各辅端控制器的当前负载存在较大差距,执行步骤S207。
在本申请实施例的一种可选的实施方式中,步骤S205可以包括以下步骤:
步骤一:根据各负载信息获取当前负载最大的辅端控制器与当前负载最小的辅端控制器之间的负载差值;
步骤二:判断负载差值是否超过预设阈值。
为方便描述,可以将上两个步骤结合起来进行说明。
在根据各负载信息判断是否对初始子卷归属信息进行调整时,根据各负载信息获取当前负载最大的辅端控制器与当前负载最小的辅端控制器之间的负载差值,判断负载差值是否超过预设阈值。通过将辅端控制器间的负载差值与预设阈值进行比较,根据比较结果确定是否对初始子卷归属信息进行调整,从而为初始子卷归属信息调整提供有效依据,且能够在保证不进行频繁调整的基础上,尽量保证各辅端控制器的负载均衡。
需要说明的是,预设阈值可以根据实际情况进行设定和调整,本申请实施例对此不做限定。
如表1所示,表1为按照控制器间负载差距进行子卷归属调整的调整表。
表1
由表1可以得出,控制器件负载差距大小不同,需要均衡的逻辑子卷个数也存在差异,负载差值越大,需要均衡的逻辑子卷个数越多。
S206:根据各负载信息将预划分得到的各辅端逻辑子卷分配给各辅端控制器,得到辅端子卷配置信息。
S207:根据各负载信息对初始子卷归属信息进行调整,得到辅端子卷配置信息。
当根据各负载信息确定需要对初始子卷归属信息进行调整时,说明各辅端控制器的当前负载存在较大差距,根据各负载信息对初始子卷归属信息进行调整,得到辅端子卷配置信息,从而使得各辅端控制器的负载得到均衡处理。
在本申请实施例的一种可选的实施方式中,在根据各负载信息对初始子卷归属信息进行调整之后,该方法还可以包括以下步骤:
步骤一:记录得到调整的辅端逻辑子卷的第一子卷标识信息、辅端逻辑子卷所属辅卷的第一辅卷标识信息以及辅端逻辑子卷调整后归属的辅端控制器的第一辅端控制器标识信息;
步骤二:根据第一子卷标识信息、第一辅卷标识信息以及第一辅端控制器标识信息进行辅端子卷配置信息生成。
为方便描述,可以将上两个步骤结合起来进行说明。
在根据各负载信息对初始子卷归属信息进行调整之后,初始划分得到的各辅端逻辑子卷与各辅端控制器之间的对应关系会存在变动,记录得到调整的辅端逻辑子卷的第一子卷标识信息、辅端逻辑子卷所属辅卷的第一辅卷标识信息以及辅端逻辑子卷调整后归属的辅端控制器的第一辅端控制器标识信息,根据第一子卷标识信息、第一辅卷标识信息以及第一辅端控制器标识信息生成辅端子卷配置信息。从而保证了辅端子卷配置信息与实际划分结果相对应。
S208:将辅端子卷配置信息同步给主端,以使主端按照辅端子卷配置信息将待备份数据传输给相应的辅端控制器。
在本申请实施例的一种可选的实施方式中,主端按照辅端子卷配置信息将待备份数据传输给相应的辅端控制器,可以包括以下步骤:
主端根据辅端子卷配置信息将待备份数据按照grain(颗粒)粒度通过各辅端控制器分别对应的IO路径传输给相应的辅端控制器。
主端根据辅端子卷配置信息将待备份数据按照grain粒度通过各辅端控制器分别对应的IO路径传输给相应的辅端控制器。通过将待备份数据按照比数据块粒度更小的grain粒度传输,实现备份数据的准确传输。
在本申请实施例的一种可选的实施方式中,主端按照辅端子卷配置信息将待备份数据以grain粒度通过各辅端控制器分别对应的IO路径传输给相应的辅端控制器,可以包括以下步骤:
主端根据辅端子卷配置信息,将待备份数据按照grain粒度以service-time策略通过各辅端控制器分别对 应的IO路径传输给相应的辅端控制器。
主端根据辅端子卷配置信息,将待备份数据按照grain粒度以service-time策略通过各辅端控制器分别对应的IO路径传输给相应的辅端控制器。通过以service-time策略进行数据传输,实现了处理响应时间的均衡。
S209:利用各辅端控制器处理各自接收到的待备份数据,以在辅端完成数据备份。
相应于上面的方法实施例,本申请实施例还提供了一种数据备份装置,下文描述的数据备份装置与上文描述的数据备份方法可相互对应参照。
参见图5,图5为本申请实施例中一种数据备份装置的结构框图,该装置可以包括:
负载信息获取模块51,被设置为分别获取各辅端控制器的负载信息;
子卷分配模块52,被设置为根据各负载信息将预划分得到的各辅端逻辑子卷分配给各辅端控制器,得到辅端子卷配置信息;
配置信息同步模块53,被设置为将辅端子卷配置信息同步给主端,以使主端按照辅端子卷配置信息将待备份数据传输给相应的辅端控制器;
数据备份模块54,被设置为利用各辅端控制器处理各自接收到的待备份数据,以在辅端完成数据备份。
由上述技术方案可知,通过预先将辅端逻辑卷划分为多个辅端逻辑子卷,获取各辅端控制器的负载信息,根据各负载信息将预划分得到的各辅端逻辑子卷分配给各辅端控制器,并将生成的辅端子卷配置信息同步给主端,主端按照辅端子卷配置信息将待备份数据传输给相应的辅端控制器。利用各辅端控制器处理各自接收到的待备份数据,并在辅端完成数据备份。通过按照各辅端控制器的负载信息进行辅端逻辑子卷分配,使得各辅端控制器尽可能达到负载均衡,优化了远程复制中辅端控制器的选择策略,使得辅端资源得到充分利用,提高了数据传输性能。
在本申请实施例的一种可选的实施方式中,子卷分配模块52包括:
子卷分配子模块,被设置为根据各负载信息将预划分得到的各辅端逻辑子卷分配给各辅端控制器,得到分配结果;
路径生成子模块,被设置为根据分配结果生成各辅端控制器分别对应的IO路径;
标识信息获取子模块,被设置为分别获取各辅端控制器的标识信息;
配置信息生成子模块,被设置为根据各IO路径和各标识信息生成辅端子卷配置信息。
在本申请实施例的一种可选的实施方式中,该装置还可以包括:
控制器个数获取模块,被设置为在分别获取各辅端控制器的负载信息之前,获取辅端控制器个数;
子卷划分模块,被设置为按照辅端控制器个数对辅卷进行子卷划分,得到各辅端逻辑子卷;
第一归属信息同步模块,被设置为将各辅端逻辑子卷划分给各辅端控制器,得到初始子卷归属信息,并将初始子卷归属信息同步给主端;
子卷分配模块52包括:
判断子模块,被设置为根据各负载信息判断是否对初始子卷归属信息进行调整;
归属信息调整子模块,被设置为当根据各负载信息确定需对初始子卷归属信息进行调整时,根据各负载信息对初始子卷归属信息进行调整。
在本申请实施例的一种可选的实施方式中,判断子模块包括:
负载差值获取单元,被设置为根据各负载信息获取当前负载最大的辅端控制器与当前负载最小的辅端控制器之间的负载差值;
判断单元,被设置为判断负载差值是否超过预设阈值。
在本申请实施例的一种可选的实施方式中,该装置还可以包括:
第一信息记录模块,被设置为在根据各负载信息对初始子卷归属信息进行调整之后,记录得到调整的辅端逻辑子卷的第一子卷标识信息、辅端逻辑子卷所属辅卷的第一辅卷标识信息以及辅端逻辑子卷调整后归属的辅 端控制器的第一辅端控制器标识信息;
配置信息生成模块,被设置为根据第一子卷标识信息、第一辅卷标识信息以及第一辅端控制器标识信息进行辅端子卷配置信息生成。
在本申请实施例的一种可选的实施方式中,子卷划分模块包括:
子卷大小获取子模块,被设置为获取预设的辅端逻辑子卷大小;
第一子卷划分子模块,被设置为按照辅端逻辑子卷大小对辅卷进行子卷划分;
归属信息同步模块包括:
子卷编号子模块,被设置为对各辅端逻辑子卷从1开始进行顺序编号,得到各子卷编号;
取余结果获得子模块,被设置为将各子卷编号对辅端控制器个数取余,得到各子卷编号对应的取余结果;
第二子卷划分子模块,被设置为根据各取余结果将各辅端逻辑子卷划分给各辅端控制器。
在本申请实施例的一种可选的实施方式中,该装置还可以包括:
统计结果接收模块,被设置为在将初始子卷归属信息同步给主端之后,接收主端发送的子卷热点数据统计结果;
判断模块,被设置为根据子卷热点数据统计结果判断是否对初始子卷归属信息进行调整;
归属信息调整模块,被设置为当根据子卷热点数据统计结果确定需对初始子卷归属信息进行调整时,根据子卷热点数据统计结果对初始子卷归属信息进行调整,得到目标子卷归属信息;
第二归属信息同步模块,被设置为将目标子卷归属信息同步给主端。
在本申请实施例的一种可选的实施方式中,归属信息调整模块可选的为根据子卷热点数据统计结果将各热点逻辑子卷均衡分配给各辅端控制器的模块。
在本申请实施例的一种可选的实施方式中,该装置还可以包括:
第二信息记录模块,被设置为在根据子卷热点数据统计结果对初始子卷归属信息进行调整之后,记录得到调整的辅端逻辑子卷的第二子卷标识信息、辅端逻辑子卷所属辅卷的第二辅卷标识信息以及辅端逻辑子卷调整后归属的辅端控制器的第二辅端控制器标识信息;
归属信息生成模块,被设置为根据第二子卷标识信息、第二辅卷标识信息以及第二辅端控制器标识信息进行子卷归属信息生成。
在本申请实施例的一种可选的实施方式中,统计结果接收模块可选的为接收主端发送的按照数据块粒度对各主端逻辑子卷进行热点数据统计得到的子卷热点数据统计结果的模块。
相应于上面的方法实施例,参见图6,图6为本申请实施例所提供的数据备份设备的示意图,该设备可以包括:
存储器332,被设置为存储计算机程序;
处理器322,被设置为执行计算机程序时实现上述方法实施例的数据备份方法的步骤。
可选的,请参考图7,图7为本实施例提供的一种数据备份设备的可选的结构示意图,该数据备份设备可因配置或性能不同而产生比较大的差异,可以包括处理器(central processing units,CPU)322(例如,一个或一个以上处理器)和存储器332,存储器332存储有一个或一个以上的计算机程序342或数据344。其中,存储器332可以是短暂存储或持久存储。存储在存储器332的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对数据处理设备中的一系列指令操作。可选地,处理器322可以设置为与存储器332通信,在数据备份设备301上执行存储器332中的一系列指令操作。
数据备份设备301还可以包括一个或一个以上电源326,一个或一个以上有线或无线网络接口350,一个或一个以上输入输出接口358,和/或,一个或一个以上操作系统341。
上文所描述的数据备份方法中的步骤可以由数据备份设备的结构实现。
相应于上面的方法实施例,本申请实施例还提供一种计算机可读存储介质(或称为,非易失性可读存储介质),计算机可读存储介质(或称为,非易失性可读存储介质)上存储有计算机程序,计算机程序被处理器执行时可实现如下步骤:
分别获取各辅端控制器的负载信息;根据各负载信息将预划分得到的各辅端逻辑子卷分配给各辅端控制器,得到辅端子卷配置信息;将辅端子卷配置信息同步给主端,以使主端按照辅端子卷配置信息将待备份数据传输给相应的辅端控制器;利用各辅端控制器处理各自接收到的待备份数据,以在辅端完成数据备份。
该计算机可读存储介质(或称为,非易失性可读存储介质)可以包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
对于本申请实施例提供的计算机可读存储介质(或称为,非易失性可读存储介质)的介绍请参照上述方法实施例,本申请实施例在此不做赘述。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置、设备及计算机可读存储介质(或称为,非易失性可读存储介质)而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
本文中应用了可选的个例对本申请实施例的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请实施例的技术方案及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请实施例原理的前提下,还可以对本申请实施例进行若干改进和修饰,这些改进和修饰也落入本申请实施例权利要求的保护范围内。

Claims (20)

  1. 一种数据备份方法,其特征在于,包括:
    分别获取各辅端控制器的负载信息;
    根据各所述负载信息将预划分得到的各辅端逻辑子卷分配给各所述辅端控制器,得到辅端子卷配置信息;
    将所述辅端子卷配置信息同步给主端,以使所述主端按照所述辅端子卷配置信息将待备份数据传输给相应的辅端控制器;
    利用各所述辅端控制器处理各自接收到的待备份数据,以在辅端完成数据备份。
  2. 根据权利要求1所述的数据备份方法,其特征在于,根据各所述负载信息将预划分得到的各辅端逻辑子卷分配给各所述辅端控制器,得到辅端子卷配置信息,包括:
    根据各所述负载信息将预划分得到的各辅端逻辑子卷分配给各所述辅端控制器,得到分配结果;
    根据所述分配结果生成各所述辅端控制器分别对应的IO路径;
    分别获取各所述辅端控制器的标识信息;
    根据各所述IO路径和各所述标识信息生成所述辅端子卷配置信息。
  3. 根据权利要求2所述的数据备份方法,其特征在于,在分别获取各辅端控制器的负载信息之前,还包括:
    获取辅端控制器个数;
    按照所述辅端控制器个数对辅卷进行子卷划分,得到各所述辅端逻辑子卷;
    将各所述辅端逻辑子卷划分给各所述辅端控制器,得到初始子卷归属信息,并将所述初始子卷归属信息同步给所述主端;
    根据各所述负载信息将预划分得到的各辅端逻辑子卷分配给各所述辅端控制器,包括:
    根据各所述负载信息判断是否对所述初始子卷归属信息进行调整;
    在根据各所述负载信息判断出对所述初始子卷归属信息进行调整的情况下,则根据各所述负载信息对所述初始子卷归属信息进行调整。
  4. 根据权利要求3所述的数据备份方法,其特征在于,根据各所述负载信息判断是否对所述初始子卷归属信息进行调整,包括:
    根据各所述负载信息获取当前负载最大的辅端控制器与当前负载最小的辅端控制器之间的负载差值;
    判断所述负载差值是否超过预设阈值。
  5. 根据权利要求3所述的数据备份方法,其特征在于,在根据各所述负载信息对所述初始子卷归属信息进行调整之后,还包括:
    记录得到调整的辅端逻辑子卷的第一子卷标识信息、所述辅端逻辑子卷所属辅卷的第一辅卷标识信息以及所述辅端逻辑子卷调整后归属的辅端控制器的第一辅端控制器标识信息;
    根据所述第一子卷标识信息、所述第一辅卷标识信息以及所述第一辅端控制器标识信息进行辅端子卷配置信息生成。
  6. 根据权利要求3所述的数据备份方法,其特征在于,按照所述辅端控制器个数对辅卷进行子卷划分,包括:
    获取预设的辅端逻辑子卷大小;
    按照所述辅端逻辑子卷大小对辅卷进行子卷划分;
    将各所述辅端逻辑子卷划分给各所述辅端控制器,包括:
    对各所述辅端逻辑子卷从1开始进行顺序编号,得到各子卷编号;
    将各所述子卷编号对所述辅端控制器个数取余,得到各子卷编号对应的取余结果;
    根据各所述取余结果将各所述辅端逻辑子卷划分给各所述辅端控制器。
  7. 根据权利要求3至6任一项所述的数据备份方法,其特征在于,在将所述初始子卷归属信息同步给所述主端之后,还包括:
    接收所述主端发送的子卷热点数据统计结果;
    根据所述子卷热点数据统计结果判断是否对所述初始子卷归属信息进行调整;
    在根据所述子卷热点数据统计结果判断出对所述初始子卷归属信息进行调整的情况下,则根据所述子卷热点数据统计结果对所述初始子卷归属信息进行调整,得到目标子卷归属信息;
    将所述目标子卷归属信息同步给所述主端。
  8. 根据权利要求7所述的数据备份方法,其特征在于,根据所述子卷热点数据统计结果对所述初始子卷归属信息进行调整,包括:
    根据所述子卷热点数据统计结果将各热点逻辑子卷均衡分配给各所述辅端控制器。
  9. 根据权利要求7所述的数据备份方法,其特征在于,在根据所述子卷热点数据统计结果对所述初始子卷归属信息进行调整之后,还包括:
    记录得到调整的辅端逻辑子卷的第二子卷标识信息、所述辅端逻辑子卷所属辅卷的第二辅卷标识信息以及所述辅端逻辑子卷调整后归属的辅端控制器的第二辅端控制器标识信息;
    根据所述第二子卷标识信息、所述第二辅卷标识信息以及所述第二辅端控制器标识信息进行子卷归属信息生成。
  10. 根据权利要求7所述的数据备份方法,其特征在于,接收所述主端发送的子卷热点数据统计结果,包括:
    接收所述主端发送的按照数据块粒度对各主端逻辑子卷进行热点数据统计得到的子卷热点数据统计结果。
  11. 根据权利要求2所述的数据备份方法,其特征在于,主端按照所述辅端子卷配置信息将待备份数据传输给相应的辅端控制器,包括:
    主端根据所述辅端子卷配置信息将待备份数据按照颗粒粒度通过各所述辅端控制器分别对应的IO路径传输给相应的辅端控制器。
  12. 根据权利要求11所述的数据备份方法,其特征在于,主端按照所述辅端子卷配置信息将待备份数据以颗粒粒度通过各所述辅端控制器分别对应的IO路径传输给相应的辅端控制器,包括:
    主端根据所述辅端子卷配置信息,将待备份数据按照颗粒粒度以service-time策略通过各所述辅端控制器分别对应的IO路径传输给相应的辅端控制器。
  13. 根据权利要求1所述的数据备份方法,其特征在于,所述辅端子卷配置信息包含所述各辅端逻辑子卷与各辅端控制器之间的对应关系。
  14. 根据权利要求6所述的数据备份方法,其特征在于,在所述获取预设的辅端逻辑子卷大小之前,所述方法还包括:
    预先设置对逻辑卷进行子卷划分的划分粒度,其中,所述划分粒度用于表示所述辅端逻辑子卷的大小。
  15. 根据权利要求1所述的数据备份方法,其特征在于,所述利用各所述辅端控制器处理各自接收到的待备份数据,以在辅端完成数据备份,包括:
    利用各所述辅端控制器,在各所述辅端控制器所对应的辅端逻辑子卷进行读写操作,以在辅端完成数据备份。
  16. 根据权利要求9所述的数据备份方法,其特征在于,由所述第二子卷标识信息、所述第二辅卷标识信息以及所述第二辅端控制器标识信息构成的三维数据类型不记录所有的逻辑子卷信息,只记录需要调整的逻辑子卷信息,并且以节点标识作为分组的组标识。
  17. 根据权利要求16所述的数据备份方法,其特征在于,在所述根据所述第二子卷标识信息、所述第 二辅卷标识信息以及所述第二辅端控制器标识信息进行子卷归属信息生成之后,所述方法还包括:
    主端在传输数据时根据逻辑卷标识、逻辑子卷标识在所述三维数据类型中查找,如果找到,则将数据发送到对应的1O分组中,进行传输,如果没有找到,则按原有的子卷归属信息进行数据传输。
  18. 一种数据备份装置,其特征在于,包括:
    负载信息获取模块,被设置为分别获取各辅端控制器的负载信息;
    子卷分配模块,被设置为根据各所述负载信息将预划分得到的各辅端逻辑子卷分配给各所述辅端控制器,得到辅端子卷配置信息;
    配置信息同步模块,被设置为将所述辅端子卷配置信息同步给主端,以使所述主端按照所述辅端子卷配置信息将待备份数据传输给相应的辅端控制器;
    数据备份模块,被设置为利用各所述辅端控制器处理各自接收到的待备份数据,以在辅端完成数据备份。
  19. 一种数据备份设备,其特征在于,包括:
    存储器,被设置为存储计算机程序;
    处理器,被设置为执行所述计算机程序时实现如权利要求1至17任一项所述数据备份方法的步骤。
  20. 一种计算机可读存储介质(或称为,非易失性可读存储介质),其特征在于,所述计算机可读存储介质(或称为,非易失性可读存储介质)上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至17任一项所述数据备份方法的步骤。
PCT/CN2023/085267 2022-11-17 2023-03-30 一种数据备份方法、装置、设备及非易失性可读存储介质 WO2024103598A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202211437858.5 2022-11-17
CN202211437858.5A CN115495288B (zh) 2022-11-17 2022-11-17 一种数据备份方法、装置、设备及计算机可读存储介质

Publications (1)

Publication Number Publication Date
WO2024103598A1 true WO2024103598A1 (zh) 2024-05-23

Family

ID=85115993

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2023/085267 WO2024103598A1 (zh) 2022-11-17 2023-03-30 一种数据备份方法、装置、设备及非易失性可读存储介质

Country Status (2)

Country Link
CN (1) CN115495288B (zh)
WO (1) WO2024103598A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115495288B (zh) * 2022-11-17 2023-03-10 苏州浪潮智能科技有限公司 一种数据备份方法、装置、设备及计算机可读存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6304980B1 (en) * 1996-03-13 2001-10-16 International Business Machines Corporation Peer-to-peer backup system with failure-triggered device switching honoring reservation of primary device
CN1525337A (zh) * 2003-02-27 2004-09-01 ������������ʽ���� 包括存储系统的数据处理系统
US20070094357A1 (en) * 2005-10-20 2007-04-26 Hiroshi Sugitani Computer system for balancing access load of storage systems and control method therefor
US20080301385A1 (en) * 2007-05-29 2008-12-04 Koji Nagata Storage controller and control method for the same
CN113505027A (zh) * 2021-09-10 2021-10-15 深圳市科力锐科技有限公司 业务系统备份方法、装置、设备及存储介质
CN115495288A (zh) * 2022-11-17 2022-12-20 苏州浪潮智能科技有限公司 一种数据备份方法、装置、设备及计算机可读存储介质

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008171032A (ja) * 2007-01-05 2008-07-24 Hitachi Ltd ストレージ装置、及びこれを用いた記憶制御方法
CN101763032B (zh) * 2009-12-17 2012-07-04 成都市华为赛门铁克科技有限公司 调整逻辑单元号的控制器的方法及装置
CN104331344A (zh) * 2014-11-11 2015-02-04 浪潮(北京)电子信息产业有限公司 一种数据备份的方法及装置
CN105204779B (zh) * 2015-09-14 2018-10-02 北京鲸鲨软件科技有限公司 基于双控的scsi target访问控制方法和装置
CN106873907B (zh) * 2017-01-09 2020-04-21 中国电子科技集团公司第五十二研究所 一种多控制器存储阵列读写负载均衡方法及装置
CN107179967B (zh) * 2017-06-08 2020-07-07 山东超越数控电子股份有限公司 一种非对称双活双控系统的故障处理方法
CN107861691B (zh) * 2017-11-22 2021-04-27 北京腾凌科技有限公司 一种多控存储系统的负载均衡方法和装置
CN110007877B (zh) * 2019-04-16 2022-07-29 苏州浪潮智能科技有限公司 主机与双控存储设备间数据传输方法、装置、设备及介质
CN113407466B (zh) * 2021-08-18 2021-11-09 苏州浪潮智能科技有限公司 一种io路径确定方法、装置、设备及可读存储介质

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6304980B1 (en) * 1996-03-13 2001-10-16 International Business Machines Corporation Peer-to-peer backup system with failure-triggered device switching honoring reservation of primary device
CN1525337A (zh) * 2003-02-27 2004-09-01 ������������ʽ���� 包括存储系统的数据处理系统
US20070094357A1 (en) * 2005-10-20 2007-04-26 Hiroshi Sugitani Computer system for balancing access load of storage systems and control method therefor
US20080301385A1 (en) * 2007-05-29 2008-12-04 Koji Nagata Storage controller and control method for the same
CN113505027A (zh) * 2021-09-10 2021-10-15 深圳市科力锐科技有限公司 业务系统备份方法、装置、设备及存储介质
CN115495288A (zh) * 2022-11-17 2022-12-20 苏州浪潮智能科技有限公司 一种数据备份方法、装置、设备及计算机可读存储介质

Also Published As

Publication number Publication date
CN115495288A (zh) 2022-12-20
CN115495288B (zh) 2023-03-10

Similar Documents

Publication Publication Date Title
CN111600965B (zh) 区块链中的共识方法和系统
US11068499B2 (en) Method, device, and system for peer-to-peer data replication and method, device, and system for master node switching
WO2019075980A1 (zh) 一种线程的调整方法及其终端
KR20170134576A (ko) 시간 기반 노드 선출 방법 및 장치
WO2024103598A1 (zh) 一种数据备份方法、装置、设备及非易失性可读存储介质
WO2017020742A1 (zh) 负载均衡方法及设备
WO2011088767A1 (zh) 内容分发的方法、系统及调度服务器
CN111510350B (zh) 基于多信道的数据分时采集方法及装置
EP4318251A1 (en) Data access system and method, and device and network card
WO2016095149A1 (zh) 一种数据压缩存储方法、装置,及分布式文件系统
CN113111038B (zh) 文件存储方法、装置、服务器及存储介质
JP2019121334A (ja) データストレージとダイナミックマイグレーション方法及びデータストレージとダイナミックマイグレーション装置
CN115328579B (zh) 神经网络训练的调度方法、系统及计算机可读存储介质
TW202004492A (zh) 電子存放裝置的任務管理方法、主機和存儲裝置
CN103530335A (zh) 电力计量采集系统的入库操作方法及装置
CN106897316B (zh) 一种信令数据的处理方法和装置
EP3188029B1 (en) Management and dispatching apparatus, system, and method based on sas
WO2024103690A1 (zh) 一种数据请求方法、装置、设备及非易失性可读存储介质
CN104780120A (zh) 一种局域网中文件传输的方法和装置
CN112540966A (zh) 一种文件同步的方法及装置
WO2012000257A1 (zh) 一种基于网络的分配时钟服务器的方法及其系统
CN115102961A (zh) 一种高并发网络访问分流方法及装置
JP2019121333A (ja) データダイナミックマイグレーション方法とデータダイナミックマイグレーション装置
CN105519055A (zh) 一种I/O通道QoS动态均衡方法及装置
CN107844259B (zh) 数据访问方法、路由装置和存储系统