Data Synchronization Method, Device and System

By defining the data model and computing the data synchronization range in the service grid, targeted data synchronization is achieved, and the problem of synchronization task accumulation is solved and system efficiency and performance is improved.

CN113961646BActive Publication Date: 2025-06-13JD DIGITS HAIYI INFORMATION TECHNOLOGY CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202111300077.7
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2021-11-04
Publication Date
2025-06-13
Estimated Expiration
2041-11-04

AI Technical Summary

Technical Problem

The prior art leads to accumulating synchronous tasks in the service grid, resulting in inefficiency in the system.

Method used

By defining the data model in the service mesh, CRD and operator services calculate the data synchronization range, realizing directional data synchronization and avoiding full cluster synchronization.

Benefits of technology

Improve system efficiency, reduce the accumulation of synchronous tasks, and improve the performance of service grid in large-scale service clusters.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN113961646B_ABST
    Figure CN113961646B_ABST
Patent Text Reader

Abstract

The present disclosure relates to a data synchronization method, apparatus, and system, and relates to the field of computing technologies. The data synchronization method includes: in the case where the current service changes, obtaining the data model corresponding to the current service, where the corresponding data model records the related services having a call relationship with the current service and the first related data plane proxy having an agency relationship with the current service; calculating the data synchronization scope according to the data model; and issuing the data that needs to be synchronized according to the data synchronization scope to perform a data synchronization operation on the related services.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure relates to the field of computing technologies, and particularly to a data synchronization method, a data synchronization device, a data synchronization system, and a non-volatile computer-readable storage medium. Background Art

[0002] A service mesh is an infrastructure layer dedicated to handling service communications. Its responsibility is to perform reliable request transmission in a distributed service-oriented system platform composed of multiple cloud-native applications and can provide traffic governance capabilities. In practice, it consists of a set of lightweight network proxies (data plane services) deployed together with application services and a mesh management service (control plane service).

[0003] For example, Istio is currently the mainstream implementation solution for service mesh technology. Istio also adopts a standard mesh architecture of control plane service + data plane service to implement its technical capabilities.

[0004] The responsibilities of the control plane service include: perceiving data plane services, recording the address information of data plane services, and establishing communication connections; providing an API (Application Programming Interface) for receiving service configurations and traffic policies; communicating with data plane services and sending down policies and configurations.

[0005] The responsibilities of the data plane include: intercepting traffic access to service instances, proxying traffic of service instances, including inbound and outbound data; obtaining service instance information and traffic policy configurations of services from the control plane service; implementing policies such as routing, health check, load balancing, authentication, authorization, flow limiting, and circuit breaking for service traffic.

[0006] In the related art, when the control plane service receives any change in any service, it sends synchronization data to all data plane proxies in the cluster. Summary of the Invention

[0007] The inventors of the present disclosure found the following problems in the above-mentioned related art: it will cause the accumulation of synchronization tasks, resulting in low system efficiency.

[0008] In view of this, the present disclosure proposes a data synchronization technical solution that can achieve directional processing of synchronization data, thereby improving system efficiency.

[0009] According to some embodiments of the present disclosure, a data synchronization method is provided, including: in the case of a change in the current service, obtaining a data model corresponding to the current service, where the corresponding data model records related services having a call relationship with the current service and a first related data plane proxy having an agency relationship with the current service; calculating a data synchronization scope according to the data model; and issuing data to be synchronized according to the data synchronization scope, and performing a data synchronization operation on the related services.

[0010] In some embodiments, calculating a data synchronization scope according to the data model includes: monitoring each data plane proxy service in the service network cluster where the current service is located, and obtaining real-time deployment identifiers of each data plane proxy; and calculating a data synchronization scope according to the real-time deployment identifiers.

[0011] In some embodiments, calculating a data synchronization scope according to the real-time deployment identifiers includes: establishing a data synchronization relationship model according to the real-time deployment identifiers, where the data synchronization relationship model includes the relationship between related services of the current service, the first related data plane proxy, and a second related data plane proxy having an agency relationship with the related services; and calculating a data synchronization scope according to the data synchronization relationship model.

[0012] In some embodiments, issuing data to be synchronized according to the data synchronization scope and performing a data synchronization operation on the related services includes: issuing data to be synchronized to the first related data plane proxy and the second related data plane proxy.

[0013] In some embodiments, the data synchronization method further includes: generating a data model according to CRD (Custom Resource Definition), where the data model describes the call relationship and agency relationship of services in a Label (tag) selector mode.

[0014] In some embodiments, the change in the current service includes at least one of a configuration change of the current service, a policy change of the current service, or the start or stop of the current service.

[0015] In some embodiments, the data synchronization method further includes: in the case where the data synchronization scope cannot be calculated, performing a data synchronization operation on all services in the service network cluster where the current service is located.

[0016] According to some other embodiments of the present disclosure, a data synchronization device is provided, including: an acquisition unit, configured to acquire a data model corresponding to the current service when the current service changes, and the corresponding data model records related services having a call relationship with the current service and a first related data plane proxy having an agency relationship with the current service; a calculation unit, configured to calculate a data synchronization range according to the data model; and a synchronization unit, configured to issue data to be synchronized according to the data synchronization range and perform a data synchronization operation on the related services.

[0017] In some embodiments, the data synchronization device further includes: a generation unit, configured to generate a data model according to the CRD, and the data model describes the call relationship and agency relationship of the service by using the Label selector mode.

[0018] In some embodiments, the calculation unit monitors each data plane proxy service in the service network cluster where the current service is located, and acquires real-time deployment identifiers of each data plane proxy; and calculates the data synchronization range according to the real-time deployment identifiers.

[0019] In some embodiments, the calculation unit establishes a data synchronization relationship model according to the real-time deployment identifiers, and the data synchronization relationship model includes the relationship between related services of the current service, the first related data plane proxy, and a second related data plane proxy having an agency relationship with the related services; and calculates the data synchronization range according to the data synchronization relationship model.

[0020] In some embodiments, the synchronization unit issues the data to be synchronized to the first related data plane proxy and the second related data plane proxy.

[0021] In some embodiments, the change of the current service includes at least one of a configuration change of the current service, a policy change of the current service, or the start or stop of the current service.

[0022] In some embodiments, when the synchronization unit cannot calculate the data synchronization range, it performs a data synchronization operation on all services in the service network cluster where the current service is located.

[0023] According to still some other embodiments of the present disclosure, a data synchronization device is provided, including: a memory; and a processor coupled to the memory, and the processor is configured to execute the data synchronization method in any one of the above embodiments based on instructions stored in the memory device.

[0024] According to still some other embodiments of the present disclosure, a non-volatile computer-readable storage medium is provided, on which a computer program is stored, and when the program is executed by a processor, it implements the data synchronization method in any one of the above embodiments.

[0025] According to some further embodiments of the present disclosure, there is provided a data synchronization system, including: the data synchronization device in any of the above embodiments; a plurality of data plane agents for proxying each service to implement mutual calls between services.

[0026] In the above embodiments, according to the call relationship between services recorded in the data model and the proxy relationship between each service and the data plane agent, the scope of data synchronization is determined. In this way, only the services with call relationships need to be synchronized for data, achieving targeted processing of synchronized data, thereby improving system efficiency. BRIEF DESCRIPTION OF THE DRAWINGS

[0027] The drawings forming a part of the specification depict embodiments of the present disclosure and, together with the specification, are used to explain the principles of the present disclosure.

[0028] Referring to the drawings, the present disclosure can be more clearly understood from the following detailed description:

[0029] Figure 1 Flowcharts showing some embodiments of the data synchronization method of the present disclosure;

[0030] Figure 2a Schematic diagrams showing some embodiments of the data synchronization method of the present disclosure;

[0031] Figure 2b Schematic diagrams showing some embodiments of the data synchronization method of the present disclosure;

[0032] Figure 3 Flowcharts showing some other embodiments of the data synchronization method of the present disclosure;

[0033] Figure 4 Block diagrams showing some embodiments of the data synchronization device of the present disclosure;

[0034] Figure 5 Block diagrams showing some other embodiments of the data synchronization device of the present disclosure;

[0035] Figure 6 Block diagrams showing some further embodiments of the data synchronization device of the present disclosure;

[0036] Figure 7 Block diagrams showing some embodiments of the data synchronization system of the present disclosure. DETAILED DESCRIPTION OF THE EMBODIMENTS

[0037] Various exemplary embodiments of the present disclosure will now be described in detail with reference to the drawings. It should be noted that: unless otherwise specifically stated, the relative arrangements of components and steps set forth in these embodiments, numerical expressions, and values do not limit the scope of the present disclosure.

[0038] Meanwhile, it should be understood that, for ease of description, the dimensions of the various parts shown in the drawings are not drawn in actual proportional relationship.

[0039] The following description of at least one exemplary embodiment is merely illustrative in nature and is in no way a limitation on the present disclosure, its application, or its use.

[0040] Technologies, methods, and devices known to those of ordinary skill in the relevant art may not be discussed in detail, but where appropriate, the technologies, methods, and devices should be regarded as part of the specification.

[0041] In all the examples shown and discussed herein, any specific values should be construed as merely exemplary and not as a limitation. Thus, other examples of the exemplary embodiments may have different values.

[0042] It should be noted that like reference numerals and letters denote like items in the following drawings, and thus, once an item is defined in one drawing, it need not be further discussed in subsequent drawings.

[0043] As described above, there are three important characteristics in the way of sending synchronization data to the data plane proxies of the entire cluster: the control plane does not distinguish which service the data plane proxy specifically belongs to; the control plane does not distinguish which service the current change belongs to when synchronizing data; the control plane service uses a sequential synchronization mode when synchronizing data to the data plane proxy.

[0044] That is to say, when the control plane service receives any change of any service, it sends synchronization data to the data plane proxies of the entire cluster. With the increase in the number of application services in the service mesh cluster, the number of data plane proxies will also increase accordingly, and the triggering of data synchronization will be more frequent.

[0045] This will result in: the cycle for the control plane service to synchronize a change will become longer; the response of each data plane proxy to the configuration and policy will show inconsistency over a relatively long period of time; continuous multiple configurations and policy synchronizations; the (n + 1)-th time must wait for the n-th time to complete, thus resulting in the accumulation of synchronization tasks.

[0046] In the case of an actual distributed application service scenario, service configuration and policy changes are only related to the services associated with them. For example, if service B changes, the instances of application service A that call service B need to synchronize this change; other service instances that do not call service B do not need to synchronize.

[0047] Therefore, the method of sending synchronized data to the data plane proxies of the entire cluster does not distinguish between services, and no directional processing is performed during data synchronization, resulting in unsatisfactory performance in large-scale service cluster business scenarios. For example, according to actual measurements, it takes at least 8 minutes to synchronize changed data once in a cluster with 1000 data plane proxies.

[0048] To address the above technical problems, the present disclosure can adopt the CRD extension mode of K8s (Kubernetes container orchestration engine) to define a data model to describe the relationship between a service and its callers; it can adopt the operator mechanism of K8s to design an operator service for calculating the data synchronization scope of a service based on the service call relationship model; and extend the control plane synchronization logic of Istio to implement a branch logic for performing directional synchronization or full-scale synchronization data operations according to the synchronization scope.

[0049] For example, the operator service is used to extend the API of K8s, a specific application controller, for creating, configuring, and managing K8s resources including CRD resources.

[0050] For example, the technical solution of the present disclosure can be implemented through the following embodiments.

[0051] Figure 1 The flowchart showing some embodiments of the data synchronization method of the present disclosure.

[0052] As Figure 1 shown, in step 110, in the case of a change in the current service, obtain the data model corresponding to the current service. The corresponding data model records the related services that have a call relationship with the current service and the first related data plane proxies that have an agency relationship with the current service. For example, the current service and the related services are application services.

[0053] In some embodiments, a change in the current service includes at least one of a configuration change, a policy change, or the start or stop of the current service.

[0054] In some embodiments, the data model is generated according to CRD, and the data model uses the Label selector mode to describe the call relationship and agency relationship of the service. For example, the Label selector is a label in k8s that identifies the subordination relationship between a container instance and a superior deployment model.

[0055] In some embodiments, when the application service is started, the data plane proxy subordinate to the application service reports the status of the application service to the control plane service; the control plane service establishes communication with the data plane proxies subordinate to all application services; each application service calls each other through its respective data plane proxy; when the control plane service receives a corresponding change, it sends data synchronization to the data plane proxy related to this change.

[0056] For example, the data model can be a service call relationship model, which is used to describe the call relationship between services and the proxy relationship between a service and its subordinate data plane proxy.

[0057] For example, the call relationship can describe which services will call a certain service. The call relationship can be described in a one-to-many manner. The proxy relationship can describe which data plane proxies belong to which service. The proxy relationship can be described using the Label selector mode of k8s. The data model can be generated using the CRD definition specification of K8s.

[0058] In step 120, according to the data model, calculate the data synchronization scope.

[0059] In some embodiments, monitor each data plane proxy service in the service network cluster where the current service is located, and obtain the real-time deployment identifier of each data plane proxy; according to the real-time deployment identifier, calculate the data synchronization scope.

[0060] For example, according to the real-time deployment identifier, establish a data synchronization relationship model, which includes the relationship between the related services of the current service, the first related data plane proxy, and the second related data plane proxy that has a proxy relationship with the related service; according to the data synchronization relationship model, calculate the data synchronization scope.

[0061] In some embodiments, a synchronization scope calculation service can be designed to calculate which data plane proxy corresponding services need to be updated for synchronizing the changes of a certain service.

[0062] For example, the calculation service can obtain two aspects of data: the service call relationship model; the data plane proxies in the service mesh cluster. Then, according to the call relationship model and the real-time deployment identifier of the data plane proxy, establish a data synchronization relationship model for the synchronization scope.

[0063] In step 130, according to the data synchronization scope, send down the data that needs to be synchronized, and perform data synchronization operations on the related services.

[0064] In some embodiments, send down the data that needs to be synchronized to the first related data plane proxy and the second related data plane proxy.

[0065] In some embodiments, when the data synchronization range cannot be calculated, a data synchronization operation is performed on all services in the service network cluster where the current service is located. For example, when the service configuration and policies change, the service names of the services that have changed are obtained; the synchronization range calculation service is called to obtain the data plane proxies that need to be updated; data is sent to these data plane proxies for synchronization operations; if no synchronization range data is obtained, the full synchronization logic is executed, that is, data is synchronized to all data plane proxies.

[0066] Figure 2a Schematic diagram showing some embodiments of the data synchronization method of the present disclosure.

[0067] As Figure 2a shown, when the application service starts, the data plane proxy subordinate to the application service reports the status of the application service to the control plane service. For example, application services A, B, and C respectively report their statuses through their respective data plane proxies.

[0068] The control plane service establishes communication with the data plane proxies subordinate to all application services; the application services call each other through their respective data plane proxies; when the control plane service receives a corresponding change, data is sent to the data plane proxy related to this change for synchronization. For example, in the case where there is a call relationship among application services A, B, and C, the Istio control plane service synchronizes data to the data plane proxies of application services A, B, and C respectively.

[0069] The data model can be a service call relationship model, which is used to describe the call relationship between services and the proxy relationship between a service and its subordinate data plane proxies. The call relationship can describe which services a certain service will be called by. The call relationship can be described in a one-to-many manner. The proxy relationship can describe which data plane proxies belong to which service. The proxy relationship can be described using the Label selector mode of k8s. The data model can be generated using the CRD definition specification of K8s.

[0070] Figure 2b Schematic diagram showing some embodiments of the data synchronization method of the present disclosure.

[0071] As Figure 2b shown, the service call relationship model can include the service name service-a of the current service, the service names service-b and service-d of the related services with a call relationship, and the label service-a of the related data plane proxy application of the current service.

[0072] In some embodiments, a synchronization range calculation service can be designed to calculate which data plane proxy-corresponding services need to be updated for synchronizing the changes of a certain service.

[0073] For example, the computing service can obtain data from two aspects: the service call relationship model; and the data plane proxy within the service mesh cluster. Then, based on the call relationship model and the real-time deployment identifier of the data plane proxy, a data synchronization relationship model for the synchronization scope is established.

[0074] For example, the service names of service-b include service-b-1 and service-b-2, the service names of service-c include service-d-1, and the service names of service-a include service-a-1; the label of the subordinate data plane proxy of service-b-1 is service-b, the label of the subordinate data plane proxy of service-b-2 is service-b, the label of the subordinate data plane proxy of service-d-1 is service-d, and the label of the subordinate data plane proxy of service-a-1 is service-a; the data synchronization relationship model of service-b-2 includes that the current service service-a is called by service-b and service-d.

[0075] For example, it is defined in the call model that the current service service-a is called by service-b and service-d, and the current service and its subordinate data plane proxy services are defined by the policy with the Label "app = service name". In this case, the synchronization scope calculation result is a change in the service-a service, and the data plane proxies of three services, namely service-b-1, service-b-2, and service-d-1, need to be updated.

[0076] Figure 3 A flowchart showing some other embodiments of the data synchronization method of the present disclosure.

[0077] As Figure 3 shown, the service configuration and policy change; obtain the service name of the service with the change; call the synchronization scope calculation service to obtain the data plane proxy that needs to be updated to calculate the synchronization scope of the service; determine whether the synchronization scope of the service is successfully obtained; in the case of successful acquisition, send data to these data plane proxies for synchronization operations; in the case of not obtaining the synchronization scope, execute the full synchronization logic, that is, synchronize data to all data plane proxies.

[0078] Figure 4 A block diagram showing some embodiments of the data synchronization device of the present disclosure.

[0079] As Figure 4 shown, the data synchronization device 4 includes an acquisition unit 41, a calculation unit 42, and a synchronization unit 43.

[0080] When the acquisition unit 41 detects a change in the current service, it acquires the data model corresponding to the current service. The corresponding data model records the related services having a call relationship with the current service and the first related data plane proxy having an agency relationship with the current service.

[0081] The calculation unit 42 calculates the data synchronization range according to the data model.

[0082] In some embodiments, the calculation unit 42 monitors each data plane proxy service in the service network cluster where the current service is located, acquires the real-time deployment identifier of each data plane proxy; and calculates the data synchronization range according to the real-time deployment identifier.

[0083] In some embodiments, the calculation unit 42 establishes a data synchronization relationship model according to the real-time deployment identifier. The data synchronization relationship model includes the relationship between the related services of the current service, the first related data plane proxy, and the second related data plane proxy having an agency relationship with the related services; and calculates the data synchronization range according to the data synchronization relationship model.

[0084] The synchronization unit 43 issues the data that needs to be synchronized according to the data synchronization range, and performs a data synchronization operation on the related services.

[0085] In some embodiments, the synchronization unit 43 issues the data that needs to be synchronized to the first related data plane proxy and the second related data plane proxy.

[0086] In some embodiments, the change of the current service includes at least one of the configuration change of the current service, the policy change of the current service, or the start of the stopped current service.

[0087] In some embodiments, when the synchronization unit 43 cannot calculate the data synchronization range, it performs a data synchronization operation on all services in the service network cluster where the current service is located.

[0088] In some embodiments, the data synchronization device 4 further includes: a generation unit 44, configured to generate a data model according to the CRD, and the data model describes the call relationship and agency relationship of the service by using the Label selector mode.

[0089] Figure 5 The block diagram showing some other embodiments of the data synchronization device of the present disclosure.

[0090] As Figure 5 shown, the data synchronization device 5 of this embodiment includes: a memory 51 and a processor 52 coupled to the memory 51. The processor 52 is configured to execute the data synchronization method in any one of the embodiments of the present disclosure based on the instructions stored in the memory 51.

[0091] Among them, the memory 51 can, for example, include a system memory, a fixed non-volatile storage medium, etc. The system memory stores, for example, an operating system, application programs, a boot loader, a database, and other programs.

[0092] Figure 6 A block diagram showing still other embodiments of the data synchronization device of the present disclosure.

[0093] As Figure 6 shown, the data synchronization device 6 of this embodiment includes: a memory 610 and a processor 620 coupled to the memory 610. The processor 620 is configured to execute the data synchronization method in any of the foregoing embodiments based on instructions stored in the memory 610.

[0094] The memory 610 can, for example, include a system memory, a fixed non-volatile storage medium, etc. The system memory stores, for example, an operating system, application programs, a boot loader, and other programs.

[0095] The data synchronization device 6 may further include an input / output interface 630, a network interface 640, a storage interface 650, etc. These interfaces 630, 640, 650 and the memory 610 and the processor 620 can be connected, for example, through a bus 860. Among them, the input / output interface 630 provides a connection interface for input / output devices such as a display, a mouse, a keyboard, a touch screen, a microphone, and a speaker. The network interface 640 provides a connection interface for various networking devices. The storage interface 650 provides a connection interface for external storage devices such as an SD card and a USB flash drive.

[0096] Figure 7 A block diagram showing some embodiments of the data synchronization system of the present disclosure.

[0097] As Figure 7 shown, the data synchronization system 7 includes: the data synchronization device 71 in any of the foregoing embodiments; a plurality of data plane proxies 72 for proxying each service to implement mutual calls between the services.

[0098] Those skilled in the art should understand that the embodiments of the present disclosure can be provided as a method, a system, or a computer program product. Therefore, the present disclosure can take the form of a complete hardware embodiment, a complete software embodiment, or an embodiment combining software and hardware aspects. Moreover, the present disclosure can take the form of a computer program product implemented on one or more computer-usable non-transitory storage media including but not limited to disk memories, CD-ROMs, optical memories, etc. that contain computer-usable program code.

[0099] So far, the data synchronization method, data synchronization device, data synchronization system, and non-volatile computer-readable storage medium according to the present disclosure have been described in detail. To avoid obscuring the concept of the present disclosure, some details well known in the art are not described. Those skilled in the art can fully understand how to implement the technical solutions disclosed herein based on the above description.

[0100] The methods and systems of the present disclosure may be implemented in many ways. For example, the methods and systems of the present disclosure may be implemented by software, hardware, firmware, or any combination of software, hardware, and firmware. The above order of steps for the method is for illustration only, and the steps of the method of the present disclosure are not limited to the specific order described above, unless otherwise specifically stated. In addition, in some embodiments, the present disclosure may also be implemented as a program recorded in a recording medium, and these programs include machine-readable instructions for implementing the methods according to the present disclosure. Thus, the present disclosure also covers a recording medium storing a program for executing the methods according to the present disclosure.

[0101] Although some specific embodiments of the present disclosure have been described in detail by way of examples, those skilled in the art should understand that the above examples are for illustration only and not for limiting the scope of the present disclosure. Those skilled in the art should understand that the above embodiments may be modified without departing from the scope and spirit of the present disclosure. The scope of the present disclosure is defined by the appended claims.

Claims

1. A data synchronization method, comprising: In the case where the current service changes, obtaining the data model corresponding to the current service, where the corresponding data model records the related services that have a call relationship with the current service and the first related data plane proxy that has an agency relationship with the current service, and the corresponding data model includes a service call relationship model for describing the call relationship between the current service and the related services, the agency relationship between the current service and the data plane proxy subordinate to the current service, and the agency relationship between the related services and the data plane proxy subordinate to the related services; Calculating a data synchronization range according to the data model, where the data synchronization range includes the data plane proxies that need to be updated; According to the data synchronization range, sending the data that needs to be synchronized to the data plane proxies that need to be updated, and performing a data synchronization operation on the related services.

2. The data synchronization method according to claim 1, wherein, the calculating the data synchronization range according to the data model includes: Listening to each data plane proxy service in the service network cluster where the current service is located, and obtaining the real-time deployment identifier of each data plane proxy; Calculating the data synchronization range according to the real-time deployment identifier.

3. The data synchronization method according to claim 2, wherein, the calculating the data synchronization range according to the real-time deployment identifier includes: Establishing a data synchronization relationship model according to the real-time deployment identifier, where the data synchronization relationship model includes the relationship between the related services of the current service, the first related data plane proxy, and the second related data plane proxy that has an agency relationship with the related services; Calculating the data synchronization range according to the data synchronization relationship model.

4. The data synchronization method according to claim 3, wherein, the sending the data that needs to be synchronized according to the data synchronization range and performing a data synchronization operation on the related services includes: Sending the data that needs to be synchronized to the first related data plane proxy and the second related data plane proxy.

5. The data synchronization method according to any one of claims 1-4, further comprising: Generating the data model according to a custom resource CRD, where the data model uses a label selector mode to describe the call relationship and agency relationship of the service.

6. The data synchronization method according to any one of claims 1-4, wherein, the change of the current service includes at least one of the configuration change of the current service, the policy change of the current service, or the start or stop of the current service.

7. The data synchronization method according to any one of claims 1-4, further comprising: In the case where the data synchronization range cannot be calculated, performing a data synchronization operation on all services in the service network cluster where the current service is located.

8. A data synchronization device, comprising: An acquisition unit, configured to acquire a data model corresponding to the current service when the current service changes. The corresponding data model records related services that have a call relationship with the current service and a first related data plane proxy that has an agency relationship with the current service. The corresponding data model includes a service call relationship model for describing the call relationship between the current service and the related services, and the agency relationship between the current service and the data plane proxies subordinate to the current service; A calculation unit, configured to calculate a data synchronization range according to the data model, where the data synchronization range includes data plane proxies that need to be updated; A synchronization unit, configured to send data to be synchronized to the data plane proxies that need to be updated according to the data synchronization range, and perform a data synchronization operation on the related services.

9. The data synchronization device according to claim 8, further comprises: A generation unit, configured to generate the data model according to a Custom Resource Definition (CRD). The data model describes the call relationship and agency relationship of services using a label selector pattern.

10. A data synchronization device, comprises: A memory; and A processor coupled to the memory, where the processor is configured to execute the data synchronization method according to any one of claims 1-7 based on instructions stored in the memory.

11. A non-volatile computer-readable storage medium, on which a computer program is stored. When the program is executed by a processor, it implements the data synchronization method according to any one of claims 1-7.

12. A data synchronization system, comprises: The data synchronization device according to any one of claims 8-10; Multiple data plane proxies, configured to proxy each service to implement mutual calls between services.

Citation Information

Patent Citations

  • Synchronously replicating datasets and other managed objects to cloud-based storage systems

    CN110392876A

  • Micro-service architecture

    CN111683109A