Data migration method and apparatus based on data storage, and server and storage medium

By utilizing the proxy server between the target storage layer and the data storage cluster during the data migration process, the data is unaware migration is solved, and the migration efficiency and user experience are improved.

WO2025035886A1PCT designated stage expired Publication Date: 2025-02-20JD DIGITS HAIYI INFORMATION TECHNOLOGY CO LTD
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
PCT/CN2024/095418
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2023-08-16
Filing Date
2024-05-27
Publication Date
2025-02-20

AI Technical Summary

Technical Problem

During data migration, there is a time interval between the activation of new nodes and the interruption of migration nodes, affecting the user experience.

Method used

By receiving data write and obtaining requests, the proxy server between the target storage layer and the data storage cluster is used to realize data unaware migration. The specific steps include receiving a data write request and writing data to the target storage layer. When receiving a data acquisition request, when there is no data in the target storage layer, obtaining data from the data storage cluster and writing to the target storage layer, and urging the target data. Send to the current client.

Benefits of technology

Unsensible data migration is achieved, reducing the impact of user experience, and improving the efficiency and user experience of the migration process.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN2024095418_20022025_PF_FP_ABST
    Figure CN2024095418_20022025_PF_FP_ABST
Patent Text Reader

Abstract

A data migration method and apparatus based on data storage, and a server and a storage medium, which relate to the technical field of data processing. The method comprises: after a data write request is received, writing, into a target storage layer, data to be written which is included in the data write request (110), wherein the data write request is sent by the current client after a terminal device changes the current client from a first client to a second client; after a data acquisition request is received, when it is determined that in the target storage layer there is no target data corresponding to the data acquisition request, acquiring the target data from a data storage cluster corresponding to the first client, and writing the target data into the target storage layer (120), wherein the data acquisition request is sent by the current client; and sending the target data to the current client (130).
Need to check novelty before this filing date? Find Prior Art

Description

Data migration method, device, server and storage medium based on data storage

[0001] This application claims priority to the Chinese patent application filed with the China Patent Office on August 16, 2023, with application number 202311035593.0, the entire contents of which are incorporated by reference into this application. Technical Field

[0002] The present application relates to the field of data processing technology, for example, to a data migration method, device, server and storage medium based on data storage. Background Art

[0003] Data migration is an important task of data management in information construction. In storage networks, it is common to move data from a storage device at one node to a storage device at another node.

[0004] In related technologies, it is necessary to first interrupt the services provided by the migration node, and then shut down to migrate data. The time of migration is related to the scale of migrated data. After the migration is completed, a new node is enabled to replace the migration node and the interrupted service is restored.

[0005] There are at least the following technical problems in the related art:

[0006] During the data migration process, there is a time interval between the activation of the new node and the interruption of the migration node, which affects the user experience.

[0007] Summary of the Invention

[0008] The present application provides a data migration method, device, server and storage medium based on data storage to achieve client changes without perception.

[0009] In a first aspect, the present application provides a data migration method based on data storage, comprising:

[0010] After receiving a data write request, the data to be written contained in the data write request is written into the target storage layer, wherein the data write request is sent by the current client after the terminal device changes the current client from the first client to the second client; after receiving a data acquisition request, when it is determined that the target data corresponding to the data acquisition request does not exist in the target storage layer, the target data is acquired in the data storage cluster corresponding to the first client, and the target data is written into the target storage layer, wherein the data acquisition request is sent by the current client; and the target data is sent to the current client.

[0011] In a second aspect, the present application further provides a data migration device based on data storage, comprising:

[0012] A write module is configured to write the data to be written contained in the data write request into the target storage layer after receiving a data write request, wherein the data write request is sent by the current client after the terminal device changes the current client from the first client to the second client; an acquisition module is configured to, after receiving a data acquisition request, acquire the target data in the data storage cluster corresponding to the first client and write the target data into the target storage layer when it is determined that the target data corresponding to the data acquisition request does not exist in the target storage layer, wherein the data acquisition request is sent by the current client; a sending module is configured to send the target data to the current client.

[0013] In a third aspect, the present application further provides a server, comprising:

[0014] One or more processors; a storage device configured to store one or more programs, when the one or more programs are executed by the one or more processors, so that the one or more processors implement the data migration method based on data storage as described in the first aspect.

[0015] In a fourth aspect, the present application further provides a storage medium comprising computer-executable instructions, which, when executed by a computer processor, are used to execute the data migration method based on data storage as described in the first aspect. BRIEF DESCRIPTION OF THE DRAWINGS

[0016] FIG1 is a flow chart of a data migration method based on data storage provided in an embodiment of the present application;

[0017] FIG2 is a flow chart of another data migration method based on data storage provided in an embodiment of the present application;

[0018] FIG3 is a schematic diagram of a data processing system in a data migration method based on data storage provided in an embodiment of the present application;

[0019] FIG4 is a schematic structural diagram of a data migration device based on data storage provided in an embodiment of the present application;

[0020] FIG5 is a schematic diagram of the structure of a server provided in an embodiment of the present application. DETAILED DESCRIPTION

[0021] The present application is described below in conjunction with the accompanying drawings and embodiments. The specific embodiments described herein are merely for explaining the present application. For ease of description, only the parts relevant to the present application are shown in the accompanying drawings.

[0022] It should be mentioned before discussing exemplary embodiments that some exemplary embodiments are described as processing or the method described as flow chart. Although flow chart describes multiple operations (or steps) as sequential processing, many operations therein can be implemented in parallel, concurrently or simultaneously. In addition, the order of multiple operations can be rearranged. When its operation is completed, the processing can be terminated, but can also have additional steps not included in the accompanying drawings. The processing can correspond to method, function, procedure, subroutine, subprogram etc. In addition, the features in the embodiments in the present application and the embodiments can be combined with each other when not conflicting.

[0023] Traditional data migration methods typically employ a synchronous migration approach, requiring the migration node to be interrupted before migrating data. The duration of the migration process is proportional to the size of the data being migrated. After the migration is complete, a new node is activated to replace the migration node and resume the interrupted service. In traditional data migration methods, during the migration process, the migration node (i.e., the node to be migrated, consisting of a storage server, hard drive, and storage service software) is unable to provide storage services, resulting in service interruption. With increasingly demanding business requirements, service interruption can cause significant losses to enterprises. Furthermore, the duration of the migration process is proportional to the size of the data being migrated. When the amount of data to be migrated is enormous, the cost of migration becomes prohibitive.

[0024] Therefore, there is an urgent need for a data migration technology that can keep applications online to meet the requirements of uninterrupted business and short migration time during the migration process.

[0025] This application proposes a data migration method based on data storage, which can realize imperceptible data migration after the running client changes, thereby improving user experience.

[0026] The data migration method based on data storage proposed in this application will be described in detail below with reference to diagrams and embodiments.

[0027] Figure 1 is a flow chart of a data storage-based data migration method provided by an embodiment of the present application. This embodiment of the present application is applicable to situations where client changes need to be implemented without perception. The method can be performed by a data storage-based data migration device, which can be implemented in software and / or hardware. As shown in Figure 1, the method includes the following steps:

[0028] Step 110: After receiving the data write request, write the to-be-written data contained in the data write request into the target storage layer.

[0029] The data write request is sent by the current client after the terminal device changes the current client from the first client to the second client.

[0030] At least two clients are mounted on the terminal device, for example, a first client and a second client are mounted. When the current client running on the terminal device is the first client, data required for running the first client is stored in a data storage cluster, which includes multiple block devices.

[0031] After the terminal device executes the client switch command to change the current client running on the terminal device from the first client to the second client, the data required for the second client's operation can no longer be stored in the data storage cluster due to the in-place overwrite feature of the block device. At this time, after the server receives the data write request sent by the second client, it can write the data to be written contained in the data write request to the target storage layer, thereby writing the data required for the second client's operation.

[0032] In an embodiment of the present application, after the current client running on the terminal device is changed, imperceptible data writing is achieved.

[0033] Step 120: After receiving the data acquisition request, if it is determined that the target data corresponding to the data acquisition request does not exist in the target storage layer, the target data is acquired from the data storage cluster corresponding to the first client, and the target data is written to the target storage layer.

[0034] The data acquisition request is sent by the current client.

[0035] After the server receives the data acquisition request sent by the current client which has been changed from the first client to the second client, it can determine whether the target data corresponding to the data acquisition request exists in the target storage layer. If it is determined that the target data corresponding to the data acquisition request exists in the target storage layer, the target data corresponding to the data acquisition request can be acquired in the target storage layer. If it is determined that the target data corresponding to the data acquisition request does not exist in the target storage layer, the target data corresponding to the data acquisition request can be acquired in the data storage cluster corresponding to the first client. At this time, the target data corresponding to the data acquisition request can also be written into the target storage layer to copy the target data in the data storage cluster to the target storage layer.

[0036] The server may establish a communication connection with the data storage cluster through the proxy server and may load the access software development kit (SDK) of the data storage cluster. Upon receiving a data acquisition request from a current client (changed from the first client to the second client) and determining that target data corresponding to the data acquisition request does not exist in the target storage layer, the server may access the data storage cluster based on the proxy server and acquire the target data corresponding to the data acquisition request from the data storage cluster.

[0037] Step 130: Send the target data to the current client.

[0038] After the target data corresponding to the data acquisition request is acquired in the target storage layer or data storage cluster, the target data may be sent to the current client corresponding to the data acquisition request, that is, the target data may be sent to the second client.

[0039] In an embodiment of the present application, after the current client running on the terminal device is changed, imperceptible data acquisition is achieved through a proxy server.

[0040] The data storage-based data migration method provided in an embodiment of the present application includes: after receiving a data write request, writing the data to be written contained in the data write request into the target storage layer, wherein the data write request is sent by the current client after the terminal device changes the current client from the first client to the second client; after receiving a data acquisition request, if it is determined that the target data corresponding to the data acquisition request does not exist in the target storage layer, acquiring the target data in the data storage cluster corresponding to the first client and writing the target data into the target storage layer, wherein the data acquisition request is sent by the current client; and sending the target data to the current client. In the above technical solution, after the terminal device executes the client switching instruction to change the current client running on the terminal device from the first client to the second client, the server can write the data to be written contained in the data write request received from the second client into the target storage layer to realize imperceptible data writing. When it is determined that the target data corresponding to the data acquisition request received from the second client exists in the target storage layer, the target data corresponding to the data acquisition request is obtained in the target storage layer. When it is determined that the target data corresponding to the data acquisition request received from the second client does not exist in the target storage layer, the target data corresponding to the data acquisition request is obtained in the data storage cluster corresponding to the first client based on the proxy server. At this time, the target data corresponding to the data acquisition request can also be written to the target storage layer to copy the target data in the data storage cluster to the target storage layer. Then, the target data corresponding to the data acquisition request obtained in the target storage layer or the data storage cluster can be sent to the current client corresponding to the data acquisition request. Imperceptible data acquisition is realized through the proxy server. After the current client running on the terminal device changes, imperceptible data migration is realized, thereby improving user experience.

[0041] FIG2 is a flowchart of another data migration method based on data storage provided by an embodiment of the present application. The embodiment of the present application is applicable to situations where client changes need to be implemented without perception. Based on the above embodiment, the embodiment of the present application adds "in the case of determining that the target data exists in the target storage layer, obtaining the target data in the target storage layer.", "synchronizing the remaining data that has not been obtained in the data storage cluster to the target storage layer based on the proxy server." and "after determining that all data stored in the data storage cluster are synchronized to the target storage layer, disconnecting the communication connection with the data storage cluster.", wherein the explanation of the terms that are the same or corresponding to the above embodiment will not be repeated here. Referring to FIG2, the data migration method based on data storage provided by an embodiment of the present application includes:

[0042] Step 210: After receiving the data write request, write the to-be-written data contained in the data write request into the target storage layer.

[0043] The data write request is sent by the current client after the terminal device changes the current client from the first client to the second client.

[0044] FIG3 is a schematic diagram of a data processing system in a data storage-based data migration method provided in an embodiment of the present application. As shown in FIG3 , the data processing system includes a terminal device, a data storage cluster, and a server cluster. The terminal device is mounted with a first client and a second client. The data storage cluster includes multiple block devices. The server cluster includes a server, a proxy server, and a target storage layer. The first client mounted on the terminal device may be a Ceph client, the second client may be a cloud disk client, the data storage cluster may be a Ceph cluster, the servers in the server cluster may be Input / Output (IO) servers, the proxy servers may be Lazy IO proxy servers, and the target storage layer may be a storage engine layer.

[0045] When the current client running on the terminal device is a Ceph client, the data required for running the Ceph client is stored on multiple block devices in the Ceph cluster.

[0046] After the terminal device executes the client switch command to change the current client running on the terminal device from the Ceph client to the cloud disk client, the data required for the cloud disk client operation can no longer be stored in the Ceph cluster due to the in-place overwrite feature of the block device. At this time, after receiving the data write request from the cloud disk client, the IO server can write the data to be written contained in the data write request to the storage engine layer, thereby writing the data required for the cloud disk client operation.

[0047] In one embodiment, writing the to-be-written data included in the data write request into the target storage layer includes:

[0048] According to the data identifier of the data to be written contained in the data write request, the data to be written is written into the cloud disk instance; according to the data identifier of the data to be written, the data to be written written into the cloud disk instance is written into the target storage layer.

[0049] The IO server is initialized with multiple cloud disk instances. After receiving a data write request, the IO server first writes the data to be written to the cloud disk instance based on the data identifier of the data to be written contained in the data write request. Then, based on the data identifier of the data to be written, the data to be written in the cloud disk instance is written to the storage engine layer, achieving seamless data writing. After writing the data to be written to the cloud disk instance and then to the storage engine layer, the IO server can determine whether the target data corresponding to the data retrieval request is stored in the storage engine layer based on the data stored in the cloud disk instance after receiving a data retrieval request, thereby making data retrieval more seamless.

[0050] In an embodiment of the present application, after the current client running on the terminal device is changed, imperceptible data writing is achieved.

[0051] Step 220: After receiving the data acquisition request, determine whether the target data corresponding to the data acquisition request exists in the target storage layer.

[0052] The data acquisition request is sent by the current client.

[0053] After the IO server receives the data acquisition request sent by the current client that has been changed from a Ceph client to a cloud disk client, it can determine whether the target data corresponding to the data acquisition request exists in the storage engine layer. It can also determine whether the target data corresponding to the data acquisition request exists in the storage engine layer based on the data stored in the cloud disk instance, thereby making data acquisition more seamless.

[0054] If it is determined that the target data corresponding to the data acquisition request does not exist in the target storage layer, step 230 is executed; if it is determined that the target data corresponding to the data acquisition request exists in the target storage layer, step 260 is executed.

[0055] In an embodiment of the present application, after receiving a data acquisition request, it is determined whether the target data corresponding to the data acquisition request exists in the target storage layer, providing a data basis for acquiring the target data corresponding to the data acquisition request.

[0056] Step 230: Establish a communication connection between the proxy server and the data storage cluster corresponding to the first client; Obtain the target data from the data storage cluster based on the proxy server, and write the target data into the target storage layer.

[0057] The IO server can establish a communication connection with the ceph cluster corresponding to the ceph client based on the Lazy IO proxy server, and can load the Ceph Client SDK corresponding to the ceph cluster. Furthermore, the IO server can access the ceph cluster corresponding to the ceph client based on the Lazy IO proxy server to obtain the target data corresponding to the data acquisition request in the ceph cluster corresponding to the ceph client. At this time, the target data corresponding to the data acquisition request can also be written to the storage engine layer to copy the target data in the ceph cluster to the storage engine layer. The target data can be written to the cloud disk instance first, and then the target data written in the cloud disk instance is written to the storage engine layer. As mentioned above, after the target data is written to the cloud disk instance and then to the storage engine layer, after the IO server receives the data acquisition request, it can determine whether the target data corresponding to the data acquisition request is stored in the storage engine layer based on the data stored in the cloud disk instance, thereby making data acquisition more seamless.

[0058] In an embodiment of the present application, when it is determined that the target data corresponding to the data acquisition request does not exist in the target storage layer, based on the proxy server, the target data corresponding to the data acquisition request is obtained in the data storage cluster corresponding to the first client, and the target data is written to the target storage layer.

[0059] Step 240: Synchronize the remaining data in the data storage cluster that has not been acquired to the target storage layer based on the proxy server.

[0060] In one embodiment, step 240 may include:

[0061] Based on the proxy server, the remaining data in the data storage cluster that has not been acquired is written into the cloud disk instance; and the remaining data written into the cloud disk instance is written into the target storage layer.

[0062] After the server obtains the target data according to the data acquisition request, it can also write the target data to the storage engine layer to achieve the target data replication to the storage engine layer. For the remaining data in the Ceph cluster that has not been acquired, it has not yet been replicated to the storage engine layer. Therefore, the proxy server can be used to synchronize the remaining data in the Ceph cluster to the storage engine layer, achieving the replication of all data stored in the Ceph cluster to the storage engine layer, facilitating smoother operation of the cloud disk client and making data acquisition more seamless for the cloud disk client.

[0063] First, the proxy server can write the remaining unretrieved data in the Ceph cluster to the cloud disk instance, and then write the remaining data written to the cloud disk instance to the storage engine layer. As mentioned above, writing the remaining data to the cloud disk instance and then to the storage engine layer allows the IO server to determine whether the target data corresponding to the data retrieval request is stored in the storage engine layer based on the data stored in the cloud disk instance after receiving the data retrieval request, thereby making data retrieval more seamless.

[0064] In an embodiment of the present application, the remaining data in the data storage cluster that has not been acquired is written into the target storage layer based on the proxy server, so that all the data stored in the data storage cluster is copied to the target storage layer.

[0065] Step 250: After determining that all data stored in the data storage cluster is synchronized to the target storage layer, disconnect the communication connection with the data storage cluster.

[0066] After confirming that all data stored in the Ceph cluster is synchronized to the storage engine layer, you can disconnect the communication between the IO server and the Ceph cluster, so that the Lazy IO proxy server can release the Ceph Client SDK corresponding to the Ceph cluster.

[0067] After step 250 , step 270 is executed.

[0068] Step 260: Acquire the target data in the target storage layer.

[0069] After the IO server receives the data acquisition request sent by the current client that has been changed from the ceph client to the cloud disk client, it can determine whether the target data corresponding to the data acquisition request exists in the storage engine layer. If it is determined that the target data corresponding to the data acquisition request exists in the storage engine layer, the target data corresponding to the data acquisition request can be acquired from the storage engine layer.

[0070] In an embodiment of the present application, when it is determined that the target data corresponding to the data acquisition request exists in the target storage layer, the target data corresponding to the data acquisition request is acquired in the target storage layer.

[0071] Step 270: Send the target data to the current client.

[0072] After obtaining the target data corresponding to the data acquisition request in the storage engine layer or the Ceph cluster, the target data can be sent to the current client corresponding to the data acquisition request, that is, the target data can be sent to the cloud disk client.

[0073] In an embodiment of the present application, after the current client running on the terminal device is changed, imperceptible data acquisition is achieved through a proxy server.

[0074] The data migration method based on data storage provided in an embodiment of the present application includes: after receiving a data write request, writing the to-be-written data contained in the data write request into the target storage layer; after receiving a data acquisition request, determining whether the target data corresponding to the data acquisition request exists in the target storage layer; in the case where it is determined that the target data corresponding to the data acquisition request does not exist in the target storage layer, establishing a communication connection with the data storage cluster corresponding to the first client based on a proxy server, acquiring the target data in the data storage cluster based on the proxy server, and writing the target data into the target storage layer, synchronizing the remaining data that has not been acquired in the data storage cluster to the target storage layer based on the proxy server, and after determining that all data stored in the data storage cluster is synchronized to the target storage layer, disconnecting the communication connection with the data storage cluster; in the case where it is determined that the target data corresponding to the data acquisition request exists in the target storage layer, acquiring the target data in the target storage layer; and sending the target data to the current client. In the above technical solution, after the terminal device executes the client switching instruction to change the current client running on the terminal device from the first client to the second client, the server can write the to-be-written data contained in the data write request received from the second client into the target storage layer, thereby realizing imperceptible data writing. If it is determined that the target data corresponding to the data acquisition request received from the second client exists in the target storage layer, the target data corresponding to the data acquisition request is acquired in the target storage layer. If it is determined that the target data corresponding to the data acquisition request received from the second client does not exist in the target storage layer, the proxy server can acquire the target data corresponding to the data acquisition request from the data storage cluster corresponding to the first client. At this time, the target data corresponding to the data acquisition request can also be written into the target storage layer to copy the target data in the data storage cluster to the target storage layer. Furthermore, the target data corresponding to the data acquisition request acquired in the target storage layer or the data storage cluster can be sent to the current client corresponding to the data acquisition request, thereby realizing imperceptible data acquisition through the proxy server. Of course, the proxy server can also write the remaining data in the data storage cluster that has not been acquired into the target storage layer to realize the copying of all the data stored in the data storage cluster to the target storage layer. After determining that all the data stored in the data storage cluster is synchronized to the target storage layer, the communication connection with the data storage cluster is disconnected. When the current client running on the terminal device changes, data can be seamlessly migrated to improve the user experience.

[0075] Figure 4 is a schematic diagram of the structure of a data storage-based data migration device provided in an embodiment of the present application. This device shares the same concept as the data storage-based data migration method in the aforementioned embodiment. For details not fully described in the embodiment of the data storage-based data migration device, reference can be made to the aforementioned embodiment of the data storage-based data migration method.

[0076] The structure of the data migration device based on data storage is shown in FIG4 , and includes:

[0077] The write module 410 is configured to write the data to be written contained in the data write request into the target storage layer after receiving a data write request, wherein the data write request is sent by the current client after the terminal device changes the current client from the first client to the second client; the first acquisition module 420 is configured to, after receiving a data acquisition request, acquire the target data in the data storage cluster corresponding to the first client and write the target data into the target storage layer when it is determined that the target data corresponding to the data acquisition request does not exist in the target storage layer, wherein the data acquisition request is sent by the current client; the sending module 430 is configured to send the target data to the current client.

[0078] Based on the above embodiment, the writing module 410 is configured as follows:

[0079] After receiving a data write request, the data to be written is written to the cloud disk instance according to the data identifier of the data to be written contained in the data write request; and the data to be written written in the cloud disk instance is written to the target storage layer according to the data identifier of the data to be written.

[0080] Based on the above embodiment, the device further includes:

[0081] The second acquisition module is configured to, after receiving a data acquisition request, acquire the target data from the target storage layer if it is determined that the target data exists in the target storage layer.

[0082] Based on the above embodiment, the first acquisition module 420 is configured as follows:

[0083] After receiving a data acquisition request, if it is determined that the target data corresponding to the data acquisition request does not exist in the target storage layer, a communication connection is established with the data storage cluster based on the proxy server; and the target data is acquired in the data storage cluster based on the proxy server.

[0084] Based on the above embodiment, the device further includes:

[0085] A synchronization module is configured to synchronize the remaining data in the data storage cluster that has not been acquired to the target storage layer based on the proxy server.

[0086] Based on the above embodiment, the synchronization module is configured as follows:

[0087] Based on the proxy server, the remaining data in the data storage cluster that has not been acquired is written into the cloud disk instance; and the remaining data written into the cloud disk instance is written into the target storage layer.

[0088] Based on the above embodiment, the device further includes:

[0089] The disconnection module is configured to disconnect the communication connection with the data storage cluster after determining that all data stored in the data storage cluster is synchronized to the target storage layer.

[0090] The data migration device based on data storage provided in the embodiment of the present application can execute the data migration method based on data storage provided in any embodiment of the present application, and has the corresponding functional modules and effects for executing the data migration method based on data storage.

[0091] In the above-mentioned embodiment of the data migration device based on data storage, the multiple units and modules included are only divided according to functional logic, but are not limited to the above-mentioned division, as long as the corresponding functions can be achieved; in addition, the names of the multiple functional units are only for the convenience of distinguishing each other, and are not used to limit the scope of protection of this application.

[0092] Figure 5 is a schematic diagram of the structure of a server provided in an embodiment of the present application. Figure 5 shows a block diagram of an exemplary server 5 suitable for implementing the embodiments of the present application. The server 5 shown in Figure 5 is merely an example and should not impose any limitations on the functionality and scope of use of the embodiments of the present application.

[0093] 5 , the server 5 is a general purpose computing electronic device. Components of the server 5 may include: one or more processors or processing units 16 , a system memory 28 , and a bus 18 connecting various system components (including the system memory 28 and the processing unit 16 ).

[0094] Bus 18 represents one or more of several types of bus structures, including a memory bus or memory controller, a peripheral bus, an accelerated graphics port, a processor, or a local bus using any of a variety of bus architectures. Examples of these architectures include the Industry Standard Architecture (ISA) bus, the Micro Channel Architecture (MAC) bus, an enhanced ISA bus, a Video Electronics Standards Association (VESA) local bus, and a Peripheral Component Interconnect (PCI) bus.

[0095] The server 5 includes a variety of computer system readable media. These media can be any available media that can be accessed by the server 5, including volatile and non-volatile media, removable and non-removable media.

[0096] System memory 28 may include computer system readable media in the form of volatile memory, such as random access memory (RAM) 30 and / or cache memory 32. Server 5 may include other removable / non-removable, volatile / non-volatile computer system storage media. By way of example only, storage system 34 may be configured to read and write to non-removable, non-volatile magnetic media (not shown in FIG. 5 , commonly referred to as a “hard drive”). Although not shown in FIG. 5 , a magnetic disk drive configured to read and write to a removable non-volatile magnetic disk (e.g., a “floppy disk”) may be provided, as well as an optical disk drive configured to read and write to a removable non-volatile optical disk (e.g., a Compact Disc Read-Only Memory (CD-ROM), a Digital Video Disc Read-Only Memory (DVD-ROM), or other optical media). In these cases, each drive may be connected to bus 18 via one or more data media interfaces. The system memory 28 may include at least one program product having a set (eg, at least one) of program modules. These program modules are configured to perform the functions of the embodiments of the present application.

[0097] A program / utility 40 having a set (at least one) of program modules 42 may be stored, for example, in system memory 28. Such program modules 42 may include an operating system, one or more application programs, other program modules, and program data, each of which, or a combination thereof, may include an implementation of a network environment. Program modules 42 generally implement the functions and / or methods of the embodiments described herein.

[0098] The server 5 may also communicate with one or more external devices 14 (e.g., a keyboard, pointing device, display 24, etc.), one or more devices that enable a user to interact with the server 5, and / or any device that enables the server 5 to communicate with one or more other computing devices (e.g., a network card, a modem, etc.). This communication may occur via an input / output (I / O) interface 22. Furthermore, the server 5 may communicate with one or more networks (e.g., a local area network (LAN), a wide area network (WAN), and / or a public network such as the Internet) via a network adapter 20. As shown in FIG5 , the network adapter 20 communicates with other modules of the server 5 via a bus 18. Although not shown in FIG5 , other hardware and / or software modules may be used in conjunction with the server 5, including microcode, device drivers, redundant processing units, external disk drive arrays, redundant array of independent disks (RAID) systems, tape drives, and data backup storage systems.

[0099] The processing unit 16 executes various functional applications and page displays by running programs stored in the system memory 28, for example, implementing the data migration method based on data storage provided in the embodiment of the present invention, which includes:

[0100] After receiving a data write request, the data to be written contained in the data write request is written into the target storage layer, wherein the data write request is sent by the current client after the terminal device changes the current client from the first client to the second client; after receiving a data acquisition request, when it is determined that the target data corresponding to the data acquisition request does not exist in the target storage layer, the target data is acquired in the data storage cluster corresponding to the first client, and the target data is written into the target storage layer, wherein the data acquisition request is sent by the current client; and the target data is sent to the current client.

[0101] Those skilled in the art will appreciate that the processor may also implement the technical solution of the data migration method based on data storage provided in any embodiment of the present application.

[0102] An embodiment of the present application provides a computer-readable storage medium having a computer program stored thereon. When the program is executed by a processor, the method for data migration based on data storage provided in the embodiment of the present application is implemented, for example, and the method includes:

[0103] After receiving a data write request, the data to be written contained in the data write request is written into the target storage layer, wherein the data write request is sent by the current client after the terminal device changes the current client from the first client to the second client; after receiving a data acquisition request, when it is determined that the target data corresponding to the data acquisition request does not exist in the target storage layer, the target data is acquired in the data storage cluster corresponding to the first client, and the target data is written into the target storage layer, wherein the data acquisition request is sent by the current client; and the target data is sent to the current client.

[0104] The computer storage medium of the embodiment of the present application can adopt any combination of one or more computer-readable media.Computer-readable media can be computer-readable signal media or computer-readable storage media.Computer-readable storage media can be, for example: electrical, magnetic, optical, electromagnetic, infrared, or semiconductor systems, devices or components, or any combination of the above.Examples of computer-readable storage media (non-exhaustive list) include: electrical connections with one or more wires, portable computer disks, hard disks, RAM, ROM, erasable programmable read-only memories (EPROM or flash memory), optical fibers, CD-ROMs, optical storage devices, magnetic storage devices, or any suitable combination of the above.In this document, computer-readable storage media can be any tangible medium containing or storing a program, which can be used by an instruction execution system, device or device or used in combination with it.

[0105] A computer-readable signal medium may include a data signal propagated in baseband or as part of a carrier wave, which carries computer-readable program code. Such propagated data signals may take various forms, including electromagnetic signals, optical signals, or any suitable combination thereof. A computer-readable signal medium may also be any computer-readable medium other than a computer-readable storage medium that can transmit, propagate, or transfer a program for use by or in conjunction with an instruction execution system, apparatus, or device.

[0106] The program code contained on the computer-readable medium can be transmitted using any appropriate medium, including wireless, wire, optical cable, radio frequency (RF), etc., or any suitable combination of the above.

[0107] The computer program code for performing the operations of the present application can be written in one or more programming languages, or a combination thereof, including object-oriented programming languages ​​such as Java, Smalltalk, C++, and conventional procedural programming languages ​​such as "C" or similar programming languages. The program code can be executed entirely on the user's computer, partially on the user's computer, as a separate software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In cases involving a remote computer, the remote computer can be connected to the user's computer through any type of network, including a LAN or WAN, or can be connected to an external computer (e.g., through the Internet using an Internet service provider).

[0108] Those skilled in the art will appreciate that the aforementioned multiple modules or steps of the present application can be implemented using a general-purpose computing device. They can be centralized on a single computing device or distributed across a network of multiple computing devices. Alternatively, they can be implemented using program code executable by a computer device, so that they can be stored in a storage device and executed by the computing device. Alternatively, they can be fabricated into multiple integrated circuit modules, or multiple modules or steps can be fabricated into a single integrated circuit module for implementation. Thus, the present application is not limited to any specific combination of hardware and software.

Claims

1. A data migration method based on data storage, comprising: After receiving a data write request, writing the to-be-written data contained in the data write request into the target storage layer, wherein the data write request is sent by the current client after the terminal device changes the current client from the first client to the second client; After receiving the data acquisition request, if it is determined that the target data corresponding to the data acquisition request does not exist in the target storage layer, the target data is acquired in the data storage cluster corresponding to the first client, and the target data is written into the target storage layer, wherein the data acquisition request is sent by the current client; The target data is sent to the current client.

2. The data migration method based on data storage according to claim 1, wherein: Writing the data to be written contained in the data writing request into the target storage layer includes: Writing the data to be written into the cloud disk instance according to the data identifier in the data to be written contained in the data writing request; The data to be written written in the cloud disk instance is written into the target storage layer according to the data identifier of the data to be written.

3. The data migration method based on data storage according to claim 1, after receiving the data acquisition request, further comprising: In the case where it is determined that the target data exists in the target storage layer, the target data is acquired in the target storage layer.

4. The data migration method based on data storage according to claim 1, wherein: The acquiring the target data in the data storage cluster corresponding to the first client includes: Establishing a communication connection with the data storage cluster based on a proxy server; The target data is obtained in the data storage cluster based on the proxy server.

5. The data migration method based on data storage according to claim 4 further comprises: Based on the proxy server, the remaining data in the data storage cluster that has not been acquired is synchronized to the target storage layer.

6. The data migration method based on data storage according to claim 5, wherein: Synchronizing the remaining data in the data storage cluster that has not been acquired to the target storage layer based on the proxy server includes: Writing the remaining data in the data storage cluster that has not been acquired into the cloud disk instance based on the proxy server; The remaining data written in the cloud disk instance is written into the target storage layer.

7. The data migration method based on data storage according to claim 4 further comprises: After determining that all data stored in the data storage cluster is synchronized to the target storage layer, the communication connection with the data storage cluster is disconnected.

8. A data migration device based on data storage, comprising: a writing module configured to write the to-be-written data contained in the data writing request into the target storage layer after receiving a data writing request, wherein the data writing request is sent by the current client after the terminal device changes the current client from the first client to the second client; A first acquisition module is configured to, after receiving a data acquisition request, acquire the target data in the data storage cluster corresponding to the first client and write the target data into the target storage layer if it is determined that the target data corresponding to the data acquisition request does not exist in the target storage layer, wherein the data acquisition request is sent by the current client; A sending module is configured to send the target data to the current client.

9. A server, comprising: at least one processor; a storage device configured to store at least one program, When the at least one program is executed by the at least one processor, the at least one processor implements the data migration method based on data storage as described in any one of claims 1 to 7.

10. A storage medium comprising computer executable instructions, wherein the computer executable instructions are used to perform the data migration method based on data storage according to any one of claims 1 to 7 when executed by a computer processor.

Citation Information

Patent Citations

  • Data migration method, device and equipment based on nbd equipment and storage medium

    CN110321075A

  • Data migration method, system and device

    CN111078127A

  • Data source switching method and device, equipment and medium

    CN111565228A

  • Data migration method and device based on data storage, server and storage medium

    CN117093147A

  • Zero-downtime, reversible, client-driven service migration

    US20160164722A1