Data synchronization method, electronic device, and computer program product

By dynamically determining priorities and allocating resources based on the business characteristics of the data, the problem of high-value data synchronization delay in existing technologies is solved, achieving efficient data transmission and business processing.

CN122489651APending Publication Date: 2026-07-31KE COM (BEIJING) TECHNOLOGY CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
KE COM (BEIJING) TECHNOLOGY CO LTD
Filing Date
2026-04-23
Publication Date
2026-07-31

AI Technical Summary

Technical Problem

Existing technologies cannot meet the different urgency requirements of different data, resulting in high-value data not being transmitted in a timely manner during the synchronization process, which affects business processes and data usage efficiency.

Method used

By identifying the business characteristics of the data to be synchronized, dynamically assessing its priority, and allocating resource quotas according to priority, high-value data can be synchronized quickly.

Benefits of technology

It enables rapid synchronization of high-value data, improves data transmission efficiency, and ensures timely processing of business processes and timely utilization of data.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN122489651A_ABST
    Figure CN122489651A_ABST
Patent Text Reader

Abstract

This disclosure provides a data synchronization method, electronic device, and computer program product. The method first determines the business characteristics of the data to be synchronized, which corresponds to a business event and is provided by a data provider, by using the data related to the business event contained in the data to be synchronized. The business characteristics can indicate the importance of the business event corresponding to the data to be synchronized. Then, the priority of the business event corresponding to the data to be synchronized is determined by the business characteristics. Finally, the data to be synchronized with the determined priority is synchronized to the data receiver according to the determined priority. The priority is positively correlated with the resource quota required for data synchronization, and data to be synchronized with different priorities can be synchronized in parallel.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This disclosure specifically relates to data synchronization methods, electronic devices, readable storage media, and computer program products. Background Technology

[0002] In modern information systems, in order to achieve purposes such as real-time analysis, intelligent decision-making, or front-end services, it is usually necessary to synchronize data from upstream systems to downstream systems so that business systems can obtain and use this data from downstream systems.

[0003] In current common data synchronization methods, all data to be synchronized is synchronized sequentially in a first-in, first-out (FIFO) order. However, different types of data have varying degrees of urgency for synchronization. For example, important or high-value data is time-sensitive and therefore has a higher urgency for synchronization. Existing technologies cannot meet the diverse processing needs of businesses for data with varying degrees of urgency. Summary of the Invention

[0004] This disclosure provides data synchronization methods, electronic devices, readable storage media, and computer program products.

[0005] The first aspect of this disclosure proposes a data synchronization method, comprising: for data to be synchronized corresponding to a business event provided by a data provider, determining the business characteristics of the data to be synchronized based on the business event-related data contained in the data to be synchronized, wherein the business characteristics can represent the importance of the business event corresponding to the data to be synchronized; determining the priority of the business event corresponding to the data to be synchronized based on the business characteristics; and synchronizing the data to be synchronized with the data receiver according to the determined priority, wherein the priority is positively correlated with the resource quota required for the data synchronization, and the data to be synchronized with different priorities can be synchronized in parallel.

[0006] According to some embodiments of this disclosure, the business characteristics include at least one of the following: business type, customer level indicating customer importance, processing stage of the business event, and historical performance of the processing method for handling the business event.

[0007] According to some embodiments of this disclosure, at least one of the following is satisfied: at least one of the business type and processing stage in the business feature is obtained by extracting from the data to be synchronized; the customer level in the business feature is obtained based on the customer identifier extracted from the data to be synchronized; the historical performance in the business feature is obtained by extracting the identifier of the processing method from the data to be synchronized and querying the identifier of the processing method.

[0008] According to some embodiments of this disclosure, determining the priority of the business event corresponding to the data to be synchronized based on the business characteristics includes: performing a weighted calculation based on the weight coefficient and score value corresponding to the business characteristics to obtain a priority score; and using the priority corresponding to the priority score as the priority of the business event corresponding to the data to be synchronized.

[0009] According to some embodiments of this disclosure, at least one of the following is satisfied: the score value of the business type in the business feature is obtained by the amount of business processed by the business type in a historical period; the score value of at least one of the customer level and processing stage in the business feature is obtained by the mapping relationship between itself and the corresponding score value; the historical performance in the business feature is the historical success rate of the processing method for processing the business event and the score value of the historical performance is the value of the historical success rate.

[0010] According to some embodiments of this disclosure, if the data to be synchronized meets specified conditions, the priority score includes the sum of the weighted calculation result and the specified score; the specified conditions include at least one of the following: the time value of receiving the data to be synchronized provided by the data provider is within a specified time period; the characteristic value of the specified business characteristic in the business characteristics is a specified characteristic value.

[0011] According to some embodiments of this disclosure, the method further includes: dynamically adjusting the weighting coefficient based on the synchronization result of the data to be synchronized and the processing result after synchronization and processing.

[0012] According to some embodiments of this disclosure, the data to be synchronized with a predetermined priority is synchronized to the data receiver according to the predetermined priority, including: determining the synchronization queue to which the data to be synchronized belongs according to the predetermined priority of the data to be synchronized, wherein multiple synchronization queues are set and each corresponds to a different priority; and synchronizing the data to be synchronized with the data receiver with different priorities through different synchronization queues.

[0013] According to some embodiments of this disclosure, if the synchronization queue corresponding to the highest priority is idle, at least a portion of the resource quota of the synchronization queue corresponding to the highest priority for data synchronization is allocated to the synchronization queues not corresponding to the highest priority.

[0014] According to some embodiments of this disclosure, the method further includes: determining the operating state of the data receiver when performing the data synchronization; and dynamically adjusting the amount of synchronization data applied for the data synchronization based on changes in the operating state, wherein the amount of synchronization data is the amount of data in a single batch when data synchronization is performed in batches.

[0015] According to some embodiments of this disclosure, determining the operating status of the data receiver during data synchronization includes: collecting operating indicators of the data receiver, the operating indicators being used to represent the operating status of the data receiver during data synchronization; and calculating the health of the data receiver during data synchronization using the operating indicators, the health being used to represent the operating status of the data receiver.

[0016] According to some embodiments of this disclosure, the operating metrics include one or more of the following: CPU utilization, data synchronization response time, the proportion of storage area available for data storage, and the amount of data to be written.

[0017] According to some embodiments of this disclosure, dynamically adjusting the amount of synchronization data applied for data synchronization based on changes in the operating state includes: determining the amount of synchronization data applied for the data to be synchronized based on the latest determined operating state and the business characteristics corresponding to the data to be synchronized that is currently being synchronized, and applying the determined amount of synchronization data.

[0018] A second aspect of this disclosure provides an electronic device, comprising: a memory storing execution instructions; and a processor executing the execution instructions stored in the memory, causing the processor to perform the data synchronization method described in any of the above embodiments.

[0019] A third aspect of this disclosure provides a readable storage medium storing a computer program that, when executed by a processor, is used to implement the data synchronization method described in any of the above embodiments.

[0020] This disclosure provides a fourth aspect of a computer program product, the computer program product comprising a computer program, which, when executed by a processor, is used to implement the data synchronization method described in any of the above embodiments. Attached Figure Description

[0021] The accompanying drawings illustrate exemplary embodiments of the present disclosure and, together with the description thereof, serve to explain the principles of the present disclosure. These drawings are included to provide a further understanding of the present disclosure and are incorporated in and constitute a part of this specification.

[0022] Figure 1 The diagram illustrates an application scenario of some embodiments of the data synchronization method of this disclosure.

[0023] Figures 2-8 A schematic diagram of the overall process of a data synchronization method M100 according to some embodiments of the present disclosure is shown.

[0024] Figure 9 This is a schematic block diagram of the structure of a data synchronization device according to one embodiment of the present disclosure.

[0025] Figure 10 This is a schematic block diagram of the structure of a data synchronization device according to another embodiment of the present disclosure.

[0026] Figure 11 This is a schematic block diagram of an electronic device 1000 according to one embodiment of the present disclosure. Detailed Implementation

[0027] The present disclosure will now be described in further detail with reference to the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are for illustrative purposes only and are not intended to limit the scope of the disclosure. Furthermore, it should be noted that, for ease of description, only the parts relevant to the present disclosure are shown in the accompanying drawings.

[0028] It should be noted that, where there is no conflict, the embodiments and features described in this disclosure can be combined with each other. The technical solutions of this disclosure will now be described in detail with reference to the accompanying drawings and embodiments.

[0029] Unless otherwise stated, the exemplary implementations / embodiments shown are to be understood as providing exemplary features of various details that provide ways in which the technical concepts of this disclosure can be implemented in practice. Therefore, unless otherwise stated, the features of various implementations / embodiments may be additionally combined, separated, interchanged and / or rearranged without departing from the technical concepts of this disclosure.

[0030] The terminology used herein is for the purpose of describing particular embodiments and is not restrictive. As used herein, unless the context clearly indicates otherwise, the singular forms “a” and “the” are intended to include the plural forms as well. Furthermore, when the terms “comprising” and / or “including” and variations thereof are used in this specification, it indicates the presence of the stated features, integrals, steps, operations, parts, components, and / or groups thereof, but does not exclude the presence or addition of one or more other features, integrals, steps, operations, parts, components, and / or groups thereof. It should also be noted that, as used herein, the terms “substantially,” “about,” and other similar terms are used as approximate terms rather than as terms of degree, thus explaining the inherent biases in measurements, calculated values, and / or provided values ​​that would be recognized by one of ordinary skill in the art.

[0031] For service providers, interactions between customers and service providers, including customer requests and updates to service product information, all generate offline data. This offline data can be stored in upstream systems and synchronized to downstream systems at appropriate times. Data analytics systems and other systems can then retrieve the data they need from these downstream systems and process it accordingly to achieve purposes such as business data analysis and service strategy adjustments.

[0032] Taking the real estate sector as an example, offline data generated by businesses providing real estate services can include business opportunities, user profiles, property details, and agent information. This offline data can be recorded in separate forms. Business opportunities refer to customer requests for housing purchases, rentals, etc., from businesses. Agents are personnel who maintain property information and provide services such as property viewings, online property details presentations, and contract signing. Offline data generated on a given day can be stored in a data warehouse and synchronized to the retrieval system before peak agent work hours and customer inquiries the following day. This allows various business systems to retrieve the required data through the retrieval system, supporting functions such as real-time business opportunity queries and intelligent business opportunity allocation.

[0033] In real-world business scenarios, the business value carried by different data can vary significantly. Some data involves critical business processes, has high value, or has high timeliness requirements. This means that when data can be synchronized to downstream systems depends entirely on the order in which it is transmitted to the synchronization system. If the commonly used First-In-First-Out (FIFO) method is used to synchronize offline data from upstream systems to downstream systems, a batch of data can only be synchronized in a fixed order. In this case, if high-value data is mainly distributed in later batches of data in the data warehouse, it will be transmitted to the synchronization system at a later time. By this time, the synchronization system has already accumulated a large amount of data transmitted from the data warehouse waiting to be synchronized. High-value data will have to wait a long time before it can be synchronized to downstream systems in order. This inability to synchronize high-value data in a timely manner makes it difficult to ensure the normal operation of business processes or the timely conversion of data into business results, and fails to meet the requirement of timely synchronization and use of high-value data by business systems.

[0034] Therefore, this disclosure proposes a data synchronization method.

[0035] Figure 1 The diagram illustrates an application scenario of a data synchronization method according to some embodiments of the present disclosure. This application scenario may include a data warehouse 10, a synchronization system 20, and a retrieval system 30.

[0036] The synchronization system 20 can communicate with the data warehouse 10 and the retrieval system 30 respectively, thereby performing data transmission and reception and instruction transmission and reception. In this disclosure, the data warehouse 10, the synchronization system 20, and the retrieval system 30 may each include at least one processor and at least one memory. Figure 1 The shape and structure of the data warehouse 10, synchronization system 20 and retrieval system 30 shown should not be construed as a limitation on the scope of protection of this disclosure.

[0037] For example, data warehouse 10 can be a Hive data warehouse, used to store offline data such as data on different types of business needs (opportunities), user profile data, housing data, and agent information. Synchronization system 20 can be a Kafka stream processing platform, used to synchronize offline data to retrieval system 30. Retrieval system 30 can be an Elasticsearch system, used to provide data to the business systems of business partners to support functions such as real-time data querying and intelligent opportunity allocation.

[0038] After receiving the data to be synchronized from the data warehouse, the stream processing platform uses its configured Kafka Connect tool for data transmission with other systems to extract business characteristics from the data. These characteristics are then used to identify the priority of the data, representing its value or importance. High-priority and low-priority data can be synchronized simultaneously. More resources are used to quickly synchronize high-priority data to the Elasticsearch (ES) system, while fewer resources are used to gradually synchronize low-priority data. This ensures that even high-value data in later batches of data within the data warehouse can begin synchronization immediately upon being identified as high-value and complete the process quickly, avoiding a queue of low-value data waiting to be synchronized.

[0039] Figure 2 A schematic diagram of the overall flow of a data synchronization method M100 according to some embodiments of this disclosure is shown. For example... Figure 2 The method shown includes steps S110, S120, and S130. This method can be executed by electronic devices such as computers and servers.

[0040] S110, for the data to be synchronized corresponding to a business event provided by the data provider, the business characteristics of the data to be synchronized are determined by the data related to the business event contained in the data to be synchronized. These business characteristics indicate the importance of the business event corresponding to the data to be synchronized.

[0041] S120 determines the priority of the business events corresponding to the data to be synchronized based on business characteristics.

[0042] S130, synchronize the data to be synchronized with the data receiver according to the determined priority. The priority is positively correlated with the resource quota required for data synchronization, and data to be synchronized with different priorities can be synchronized in parallel.

[0043] Taking the real estate sector as an example, the data provider corresponds to the upstream system, specifically a data warehouse. The data receiver corresponds to the downstream system, specifically an Elasticsearch (ES) system. Business events can be business requests, such as a customer's request indicating a need to buy or rent a property (i.e., a business opportunity). In this case, the corresponding data to be synchronized includes the request details and information about how the request was processed. This information will be stored in the corresponding tables in the data warehouse. Business events can also be information updates performed by the business system. For example, when the system executes a planned task, it may calculate and upgrade a customer's credit rating, or a business user may operate the business system to modify the status information of a property. In this case, the corresponding data to be synchronized includes the updated customer credit rating or the updated property status information. This information will also be stored in the corresponding tables in the data warehouse.

[0044] One piece of data to be synchronized corresponds to one business event. The relevant information generated after the business event is processed by the system is stored in the data warehouse and awaits data synchronization. The data in the data warehouse is generated and stored by different systems executing corresponding tasks at different times. For example, at time h1 of each day, system x1 executes a specified task to calculate the latest credit ratings of multiple customers and writes the results to the customer profile table in the data warehouse. At time h2 of a certain day, system x2 receives multiple uploaded new home listings and writes them to the new home sales opportunity table in the data warehouse.

[0045] To enable other business systems to process this newly generated information promptly, this information needs to be synchronized to a retrieval system (such as an Elasticsearch system). This allows business systems to use the retrieval system's search capabilities to find and process the required data. The data warehouse can start sending data to be synchronized within a specified time period (e.g., the 24 hours prior to the specified time) to the synchronization system at a set time (e.g., a certain time in the early morning of each day), or it can send the data to the synchronization system immediately after each batch of data is written. Upon receiving the data from the data warehouse, the synchronization system executes the data synchronization method provided in this disclosure to synchronize the data to the Elasticsearch system, ensuring that the data in the Elasticsearch system is up-to-date.

[0046] The peak hours of the day (such as 7 am to 10 am) are the peak times for agents' work and customer inquiries. If not all data to be synchronized can be completed, high-value data such as new home opening information and business opportunities for high-end clients can be synchronized first, so as to meet the timeliness of business opportunity allocation (assigning business opportunities to agents for processing) and complete transactions and conversions as soon as possible.

[0047] Based on this, when the synchronization system receives each batch of data to be synchronized from the data warehouse, it first uses the business event data contained in the data to determine the business characteristics of the data to be synchronized, that is, the business event characteristics. The feature information contained in the business characteristics can indicate the importance or value of the business event, that is, the importance or value of the data to be synchronized. By judging the business characteristics, the priority of the data to be synchronized can be identified, that is, the priority of the business event represented by the data. The higher the priority, the more important and valuable the data is, and therefore the more resource quota is allowed to be used. Resource quotas can include traffic quotas, which allows high-priority data to use higher bandwidth and write rate limits during synchronization.

[0048] After determining the priority of each piece of data to be synchronized in a batch, the batch of data can be divided according to priority and synchronized according to the priority rules. Data with different priorities can be synchronized simultaneously. Assuming there are two priority levels, high priority and low priority, high-priority data and low-priority data can be synchronized in parallel.

[0049] Understandably, the rate at which a synchronization system receives data from the data warehouse is typically higher than the rate at which it synchronizes data to the retrieval system. Therefore, the synchronization system may contain some data with a defined priority that is awaiting synchronization. During parallel data synchronization, data of each priority level can be synchronized sequentially according to its predetermined priority. If the data awaiting synchronization contains both high-priority and low-priority data, the synchronization system will simultaneously transmit both high-priority and low-priority data to the retrieval system.

[0050] In data warehouses, high-value data typically constitutes a small proportion of the data awaiting synchronization. Therefore, the volume of high-priority data is usually far less than that of low-priority data. Assuming a large backlog of low-value data is being synchronized in the system, and a new batch of data arrives from the data warehouse, after prioritizing each piece of data in this batch, 10,000 low-priority data items and 10 high-priority data items are identified. Since high-priority and low-priority data can be synchronized simultaneously, the 10 high-priority data items do not need to be synchronized after the large backlog of low-priority data (including the newly identified 10,000 items) in the system. Furthermore, given the relatively small proportion of high-priority data, they can be synchronized directly without waiting, significantly improving the synchronization speed of high-value data.

[0051] According to the data synchronization method proposed in the embodiments of this disclosure, the priority of the data is determined by the business characteristics of the data before data synchronization. The priority represents the value and importance of the data. When synchronizing data of different priorities in parallel, more resources are used to synchronize high-priority data, realizing the ability to dynamically perceive and differentiate data value. When system resources are limited or during data floods, high-value data can be synchronized to the downstream system as soon as possible for business systems to query and process. This avoids high-value data being blocked by a large amount of low-value data and unable to be written to the downstream system in a timely manner because the data is synchronized in the order it is written to the synchronization system.

[0052] In addition, compared to manually configuring a fixed priority for each synchronization task before data synchronization, the data synchronization method provided in this disclosure does not require manual operation and can dynamically judge and adjust the priority according to the business characteristics of the data. Even if the data changes due to the progress of business events, resulting in changes in data value, it can automatically and correctly judge the priority and always ensure the rapid synchronization of high-value data.

[0053] The data to be synchronized can be in JSON (JavaScript Object Notation) format. The business characteristics of the data to be synchronized, determined in step S110 using data related to business events, can specifically include at least one of the following: business type, customer level indicating customer importance, the processing stage of the business event, and historical performance of the processing methods used to handle the business event.

[0054] Accordingly, the data synchronization method M100 can satisfy at least one of the following four conditions: 1. The business type in the business characteristics is obtained by extracting it from the data to be synchronized; 2. The customer level in the business characteristics is obtained based on the customer identifier extracted from the data to be synchronized; 3. The processing stage in the business characteristics is obtained by extracting it from the data to be synchronized; 4. The historical performance in the business characteristics is obtained by extracting the identifier of the processing method from the data to be synchronized and querying the identifier of the processing method.

[0055] Business types can include opportunity types such as new homes, used homes, and rentals, used to represent the business type of a business event. The data value represented by some business types may be higher than that represented by others. Information about the business type can be directly extracted from the fields contained in the data to be synchronized.

[0056] Business characteristics include business types, which enables the differentiation of business value differences among different business opportunities when determining priorities. This increases the data priority of business events that contribute significantly to GMV (Gross Merchandise Value), thereby allowing downstream systems to prioritize the processing of high-value business data.

[0057] Customer levels can be divided into several different grades, such as A, B, and C, to represent the level of a customer in a business event. The higher the grade, the greater the importance of the customer (e.g., higher conversion rate), and the higher the data value it represents. The data to be synchronized may include a customer ID field; the customer level can be obtained by calling the corresponding API and querying the customer ID.

[0058] The processing phase includes multiple stages, such as the consultation stage, the contract signing stage, and the transaction completion stage, to represent the progress of a business event. The closer a processing stage is to the transaction completion stage, the higher the value of the data it represents. Information about the processing stage can be directly extracted from the fields contained in the data to be synchronized. The inclusion of the processing stage in business characteristics allows for the differentiation of business value differences between different processing stages when determining priorities, thus enabling downstream systems to prioritize processing data for business events in the transaction completion stage.

[0059] Historical performance refers to the proportion of business events successfully processed by a particular processing method within a historical period. The data to be synchronized may contain the strategy IDs of business events. The strategy ID represents the processing method used by the business system when receiving a customer's request. By querying the strategy ID, one can obtain the total number of times this processing method was used to process business events throughout the historical period, as well as the number of successful processings (a customer viewing a property or completing a transaction is considered a successful processing event), thus obtaining the proportion of successfully processed business events. For example, for a customer's rental request, the processing method could be: assign the customer a property closest to the location that meets their rental needs by real estate agent.

[0060] This implementation method proactively perceives the business value of opportunities from various business characteristics, distinguishing high-value opportunities (such as A-level customers at new home launches) from low-value opportunities (such as ordinary rentals to C-level customers) and representing them with different priorities. This allows core opportunity data to be quickly written into the downstream system with higher priority, preventing core opportunities from missing the optimal allocation time (opportunities allocated to agents). It enables intelligent scheduling of multi-task data synchronization driven by business characteristics, allocating real estate opportunities accordingly. Compared to manually configuring fixed priorities for different business events, this method saves time and effort in determining priorities and automatically and dynamically adjusts priorities based on changes in business events. For example, on day T1, a business event might have a low-priority customer and be in the consultation stage; on day T2, the customer might be upgraded to a high-priority customer and the processing stage might change to the transaction stage, thus becoming high-priority data.

[0061] Figure 3 A schematic diagram of the overall flow of a data synchronization method M100 according to other embodiments of this disclosure is shown. (See also...) Figure 3 In step S120, the method of determining the priority of the business event corresponding to the data to be synchronized through business characteristics may specifically include steps S121 and S122.

[0062] S121, based on the weight coefficients and scores corresponding to the business characteristics, a weighted calculation is performed to obtain the priority score.

[0063] S122, the priority corresponding to the priority score is used as the priority of the business event corresponding to the data to be synchronized.

[0064] Different business characteristics can correspond to different weight coefficients. The higher the weight coefficient of a business characteristic, the greater its contribution to the judgment of data value, and the more it can influence the determination of data value. The sum of the weight coefficients of all business characteristics is usually equal to 1. The score is the specific score of each business characteristic of the data to be synchronized, used to represent the performance level of the data in terms of business characteristics. Therefore, the priority score can be obtained by summing the products of the weight coefficients and score values ​​of multiple business characteristics.

[0065] The priority score can range from 0 to 100. Each priority level corresponds to a score range within the priority score range. The priority of a business event can be determined by the score range to which the priority score belongs.

[0066] This implementation method uses a weighted calculation method to calculate priority scores, which is fast and produces accurate and reasonable results, making it suitable for quickly determining the priority of large amounts of data.

[0067] For example, when determining data priority, at least one of the following three conditions is met: 1. The score value of the business type in the business characteristics can be obtained from the processed business volume of the business type in the historical period. 2. The score value of at least one of the customer level and processing stage in the business characteristics can be obtained from the mapping relationship between itself and the corresponding score value. 3. The historical performance in the business characteristics can be the historical success rate of the processing method for handling business events, and the score value of the historical performance can be the value of the historical success rate. This implementation method clarifies how the score value of the business characteristics is specifically obtained.

[0068] In the first item above, the processed business volume can refer to completed business events. For example, if a customer initiates a request to purchase a new house, the corresponding business event type is a new house opportunity. The score value corresponding to the new house opportunity type can be determined by the new house transaction volume within the most recent specified period (such as the most recent 12 months). For example, the contribution of new houses to the GMV (Gross Merchandise Volume) of new houses within the most recent specified period can be calculated by the new house transaction volume, thereby obtaining the score value.

[0069] In the second point above, a pre-defined mapping relationship can be established between customer level and customer level rating. The higher the customer level, the higher the corresponding rating in the mapping relationship. For example, the highest-level customer has a corresponding rating of 30 points. Similarly, a pre-defined mapping relationship can be established between processing stages and their ratings. The closer a processing stage is to completion, the higher its corresponding rating in the mapping relationship. For example, the rating for the closing stage is 25 points.

[0070] In the third point above, the success rate of a processing method for handling business events when used to handle historical business events can be used as a score for historical performance. If the success rate of a certain processing method is 0.8, then the score can be 0.8.

[0071] In some implementations, if the data to be synchronized meets specified conditions, the priority score includes the sum of a weighted calculation and a specified score. The specified conditions may include at least one of the following two conditions: Condition 1, the time value of the data to be synchronized received from the data provider is within a specified time period; Condition 2, the characteristic value of a specified business characteristic in the business characteristics is a specified characteristic value.

[0072] In condition 1 above, the specified time period can be a set of preset specific time intervals. When the synchronization system receives data to be synchronized from the upstream system within these time intervals, an additional specified score can be added during priority scoring to increase the priority score of this data. This allows this data to be synchronized to the synchronization system with a higher priority compared to data received outside the specified time period. It is understood that the time when the synchronization system receives the data to be synchronized can be determined by the timestamp in the data, such as the timestamp contained in a Kafka message.

[0073] In condition 2 above, the specified business characteristics may include business type. For example, for data to be synchronized with the business type of new home sales opportunity (specified characteristic value), an additional specified score can be added when calculating the priority score, so that the data to be synchronized with the new home sales opportunity type may be synchronized to the synchronization system with a higher priority than other types of data to be synchronized.

[0074] The specified conditions can include both Condition 1 and Condition 2 mentioned above. For example, if the specified time period is the morning peak period for daily business processing, and the specified business characteristics include business type and customer level, with business types including new home sales opportunities and used home sales opportunities, and customer levels including Level A and Level B, then the priority score (PriorityScore) for business events initiated by Level A or Level B customers and belonging to new home or used home sales opportunities received during the morning peak period can be calculated using the following formula.

[0075] PriorityScore = α × TypeWeight + β × CustomerValue + γ × StageBase × StrategySuccessrate + TimeBoost, where α and β are the weight coefficients for business type and customer level, respectively, and TypeWeight and CustomerValue are the score values ​​for business type and customer level, respectively. StageBase and StrategySuccessrate are the score values ​​for processing stage and historical performance, respectively, and γ is the weight coefficient of the product of the score values ​​for processing stage and historical performance. The product of these two values ​​is used to comprehensively evaluate the strategy value by combining the processing stage and the strategy's historical success rate. TimeBoost is the specified score mentioned above. α + β + γ = 1.

[0076] For example, the initial weighting coefficients are α=0.4, β=0.3, γ=0.3, and PriorityScore = New home sales opportunity (40 points) × 0.4 + Grade A customer (30 points) × 0.3 + Transaction stage × High success rate strategy (25 × 0.92 = 23 points) × 0.3 + Additional bonus (20 points) = 51.9 points.

[0077] This implementation method prioritizes data that meets specified conditions, enabling the synchronization of specific data earlier and faster, thus meeting synchronization requirements.

[0078] Figure 4 A schematic diagram of the overall flow of a data synchronization method M100 according to other embodiments of this disclosure is shown. (See also...) Figure 4 The data synchronization method M100 may also include step S140. Step S140 is used to dynamically adjust the weight coefficients of the calculation priority.

[0079] S140, dynamically adjust the weight coefficients based on the synchronization results of the data to be synchronized and the processing results after synchronization is completed and processed.

[0080] The synchronization result may include information on the average allocation delay of the data to be synchronized. The processing result indicates the processing status of the business events corresponding to the data to be synchronized. For example, in the real estate industry, after opportunity data is synchronized, it is allocated to designated individuals for business event processing; the processing status at this point is the allocation status. If successfully allocated to a broker, it means the data was synchronized in a timely manner. If unsuccessfully allocated to a broker, it means the data was not synchronized in a timely manner, causing the broker to process other business event data that was synchronized earlier.

[0081] If the allocation failure rate consistently exceeds a specified threshold within a specified time period, the business type score should be increased to prevent high-value data from being misjudged as low-value data due to a low overall score for the business type. If the allocation delay consistently exceeds a specified threshold within a specified time period, the priority should be urgently increased.

[0082] Based on this, the weight coefficients α, β, and γ can be periodically updated using linear regression training. For example, α, β, and γ can be retrained daily at midnight using linear regression based on transaction data from the past period. The features used in training include business feature scores, such as the business type score (TypeWeight), customer level score (CustomerValue), and strategy value (StageBase × StrategySuccessrate). The target variable is the final GMV contribution of the opportunity. During training, α, β, and γ are optimized using the least squares method to update the weight coefficients. The synchronization and processing results described above can be obtained from the logs of the opportunity allocation system.

[0083] Figure 5 A schematic diagram of the overall flow of a data synchronization method M100 according to other embodiments of this disclosure is shown. (See also...) Figure 5 In step S130, the specific method of synchronizing the data to be synchronized with the data receiver according to the determined priority may include steps S131 and S132.

[0084] S131. Based on the priority of the data to be synchronized that has been determined, determine the synchronization queue to which the data to be synchronized belongs. There are multiple synchronization queues, each corresponding to a different priority.

[0085] S132, data to be synchronized to the data receiver is synchronized with different priorities through different synchronization queues.

[0086] After prioritizing each piece of data to be synchronized, the synchronization system assigns it to the corresponding synchronization queue. The synchronization queue can specifically include three memory queues: a high-priority queue, a medium-priority queue, and a low-priority queue, or it can include other priority queues. The priority queues can be implemented using a Concurrent Linked Queue (a thread-safe first-in-first-out queue suitable for high-concurrency environments), used to cache high, medium, and low-priority data respectively. Data in these queues is consumed according to priority and written to the data receiver (i.e., the downstream system). The three queues can perform data synchronization in parallel when all have data to be synchronized with determined priorities.

[0087] In addition, to prevent data loss due to abnormal process exit, the data in each priority queue can be persisted to Redis (a key-value storage system) to ensure that unfinished synchronization tasks can still be recovered after the system restarts.

[0088] During the process of synchronizing the data to be synchronized with the data receiver according to the determined priority (step S130), if the synchronization queue corresponding to the highest priority is in an idle state, at least a portion of the resource quota of the synchronization queue corresponding to the highest priority for data synchronization can be allocated to the synchronization queues corresponding to non-highest priorities.

[0089] The synchronization system's priority scheduling strategy can be determined within its main loop (which can execute once per second). QPS (Requests Per Second) represents the maximum allowed write rate. Typically, the traffic quota for the three priority queues, from highest to lowest priority, is allocated in a default ratio of 0.5:0.3:0.2, with the highest priority queue receiving the highest resource quota.

[0090] When a high-priority queue is empty or its current resource usage has not reached its traffic quota limit, a portion of the traffic quota in the high-priority queue can be allocated to the other two priority queues. For example, if during a certain period there are fewer high-value new home or A-level customer opportunities, and the duration for which the high-priority queue's resource usage has not reached its traffic quota limit reaches a certain threshold, while the accumulated data to be synchronized in the low-priority queue exceeds the data volume threshold, then the unused portion of the high-priority queue's total 50% traffic quota (e.g., 60%) can be dynamically allocated to the low-priority queue. This improves overall throughput efficiency and avoids resource idleness. This mechanism enables flexible reuse of resource quotas, maximizing system resource utilization while ensuring core business priority.

[0091] In addition, when synchronizing (writing) data to the data recipient, data belonging to the same region (such as the same administrative division) can be written to the same shard of the data recipient. This allows users to search only within the same shard when querying region A. By leveraging geographical clustering to optimize shard writing (batch writing of business opportunities in the same city to the same shard), the query performance of the data recipient in the region dimension can be optimized.

[0092] Figure 6 A schematic diagram of the overall flow of a data synchronization method M100 according to other embodiments of this disclosure is shown. (See also...) Figure 6 The data synchronization method M100 may also include steps S151 and S152. Step S151 can be executed in real time, and step S152 is executed whenever step S151 is completed. These two steps are used to dynamically adjust the batch size of data synchronization.

[0093] S151, determine the operating status of the data receiver when performing data synchronization.

[0094] S152, dynamically adjust the amount of synchronized data used for data synchronization based on changes in operating status. The amount of synchronized data refers to the amount of data in a single batch during data synchronization.

[0095] The operational status reflects the resource usage and hardware performance of downstream systems. The synchronized data volume refers to the batch size of data written by the synchronization system to downstream systems. Since the write performance of downstream systems is significantly affected by their current load, during concurrent multi-task writes, if the data batch size is too large, the downstream system's performance may be unable to support the write tasks, triggering a circuit breaker (rejecting some write requests to limit the flow), thus causing write failures. Furthermore, during off-peak periods, if the data batch size is too small, the cluster's throughput capacity cannot be fully utilized.

[0096] Therefore, it is possible to continuously and proactively monitor the real-time operating status of downstream systems (such as Elasticsearch clusters). When the operating status changes, the amount of data written in batches (synchronized data volume) can be adjusted based on the changed operating status. For example, the batch size can be reduced when the operating status becomes overloaded and restored when the operating status becomes good, thus achieving dynamic adjustment of the amount of data written. Compared to a fixed batch size configuration, this allows the amount of data in a single batch to adapt to the dynamic load of the downstream system.

[0097] Figure 7 A schematic diagram of the overall flow of a data synchronization method M100 according to other embodiments of this disclosure is shown. (See also...) Figure 7 In step S151, the method of determining the running status of the data receiver when performing data synchronization can specifically include the following steps S151a and S151b.

[0098] S151a, Collect operational metrics of the data receiver. These operational metrics represent the operational status of the data receiver during data synchronization. Operational metrics may include one or more of the following: CPU utilization, data synchronization response time, percentage of storage area available for data storage, and the amount of data to be written.

[0099] S151b calculates the health of the data receiver during data synchronization using operational metrics. The health score indicates the operational status of the data receiver.

[0100] The aforementioned operational metrics can be collected periodically. CPU utilization can be obtained by calling the API interface of the downstream system to acquire the CPU utilization of different nodes and calculating the average value as the corresponding metric. Response time can be measured by statistically analyzing the P99 latency of write requests from the downstream system within a recent specified time period; P99 latency can be collected through instrumentation.

[0101] The "percentage of storage areas available for data storage" specifically refers to the proportion of normally assignable (assigned) shards out of the total shards. This proportion reflects the health of the shards. A lower normally assignable proportion indicates a higher unassignable proportion, suggesting a more unstable storage layer and requiring a reduction in write pressure. The "amount of data to be written" refers to the amount of data awaiting writing in the downstream system's data queue. The accumulated amount of data to be written can be obtained through the thread pool queue length. A longer queue indicates a more severe write backlog and the system is closer to overload. Both the normally assignable shard proportion and the thread pool queue length can be collected by calling the corresponding API interfaces of the downstream system.

[0102] The health of downstream systems can be obtained through a health score. The health score is calculated by weighting the aforementioned operational indicators. For example, the formula for calculating the HealthScore of a downstream system is as follows.

[0103] HealthScore = q1 × CPUFactor + q2 × LatencyFactor + q3 × ShardFactor + q4 × QueueFactor, where CPUFactor is the first score representing CPU utilization, and q1 is the weighting coefficient for the first score. CPUFactor = (100 − cpu_avg) / 100, where cpu_avg is the average CPU utilization of the different nodes mentioned above. The higher the CPU utilization, the lower the CPUFactor, and the lower the health score.

[0104] LatencyFactor is the second score representing response time, and q2 is the weighting coefficient for this second score. LatencyFactor = 50 / max(latencyp99, 50), where latencyp99 is the time value at which 99% of all write requests complete within 200 milliseconds. If latencyp99 = 200ms, it means that 99% of write requests complete within 200 milliseconds, and only 1% of requests exceed 200ms. The higher the latencyp99, the lower the LatencyFactor, and the lower the health of the write request.

[0105] ShardFactor is the third score representing the proportion of shards that can be normally allocated, and q3 is the weighting coefficient of the third score. ShardFactor = 1 − abnormal_shard_ratio, where abnormal_shard_ratio is the proportion of shards that cannot be normally allocated. The higher the ShardFactor, the higher the health.

[0106] QueueFactor is the fourth score representing the amount of data to be written, and q4 is the weighting coefficient of the fourth score. QueueFactor = 1 / (1 + bulk_queue_length / 1000), where bulk_queue_length is the length of the thread pool queue. The longer the queue length, the lower the QueueFactor, and the lower the health of the thread pool.

[0107] After calculating the health score, the corresponding health level can be determined according to the score range. If the health score is greater than or equal to 0.8, the health level is "Healthy". If the health score is less than 0.8 but greater than or equal to 0.6, the health level is "Warning". If the health score is less than 0.6, the health level is "Overload".

[0108] Understandably, before determining the health level through a health score, an exponential moving average (EMA) can be used to smooth the health score (HealthScore) and reduce instantaneous fluctuations. HealthScore = 0.7 × HealthScorecurrent + 0.3 × HealthScoreprevious, where HealthScorecurrent is the health score calculated based on the latest operating indicators, and HealthScoreprevious is the health score calculated based on the operating indicators from the previous time point.

[0109] When the HealthScore falls below the lower threshold, tasks in the lowest priority queue can be paused to ensure that core business opportunities are synchronized and completed first.

[0110] By proactively sensing the real-time load status of downstream systems during synchronization, the write rhythm can be adaptively adjusted based on the health of the downstream systems. This dynamically adjusts the batch size of data written to downstream systems, reducing the batch size when concurrent writes cause the downstream systems to approach overload, thus avoiding write failures. Conversely, the batch size can be increased during off-peak periods, maximizing resource utilization for data writing.

[0111] Figure 8 A schematic diagram of the overall flow of a data synchronization method M100 according to other embodiments of this disclosure is shown. (See also...) Figure 8 In step S152, the method of dynamically adjusting the amount of synchronization data applied for data synchronization based on changes in the running status can be as follows: based on the latest determined running status and the business characteristics corresponding to the data to be synchronized that is currently being synchronized, determine the amount of synchronization data applied for data synchronization of the data to be synchronized and apply the determined amount of synchronization data.

[0112] The synchronization system can dynamically adjust the batch size used for synchronizing different data based on their business characteristics. Specifically, the batch size can be determined by multiplying the base data volume corresponding to the business characteristic by the latest health score of the downstream system. For example, if the system is currently synchronizing data for new home sales opportunities, with a default batch size of N1 and a latest health score of 0.9 (in good condition), then the batch size used for synchronizing this data would be 0.9. N1. If the health of the downstream system suddenly drops to 0.6, the data batch size will be reduced to 0.6 accordingly. N1.

[0113] The default batch size for data entries with larger individual data sizes is lower than that for data entries with smaller individual data sizes. For example, a single data entry in the "New Homes Opportunity" category contains images, thus occupying a larger space, and since the total amount of data in this category is relatively small, the default batch size can be set to a smaller value. Conversely, a single data entry in the "Rental Opportunity" category occupies a smaller space, and since the total amount of data in this category is relatively large, the default batch size can be set to a larger value. The range of values ​​for each data batch size can be limited to [50, 2000].

[0114] Therefore, batch size can be optimized based on the differentiated characteristics of different business data, thereby improving write efficiency and write success rate, and enhancing robustness.

[0115] Understandably, the synchronization system can be set with a target duration, and the interval between two adjustments to the amount of synchronized data is shorter than the target duration to avoid system oscillation caused by high-frequency adjustments. Additionally, in step S130, the total QPS (total resource quota) that the data receiver can currently handle can also be obtained by calculating the HealthScore.

[0116] Based on any of the above embodiments, this disclosure also provides a data synchronization device. Figure 9 This is a schematic block diagram of a data synchronization device according to one embodiment of the present disclosure. Figure 9 As shown, the data synchronization device includes: The business feature extraction module 110 is used to determine the business features of the data to be synchronized, which corresponds to a business event and is provided by the data provider, by using the data related to the business event contained in the data to be synchronized. These business features indicate the importance of the business event corresponding to the data to be synchronized.

[0117] The priority determination module 120 is used to determine the priority of the business events corresponding to the data to be synchronized based on business characteristics.

[0118] The data synchronization module 130 is used to synchronize data to be synchronized with the data receiver according to the determined priority. The priority is positively correlated with the resource quota required for data synchronization, and data to be synchronized with different priorities can be synchronized in parallel.

[0119] Figure 10 This is a schematic block diagram of a data synchronization device according to another embodiment of this disclosure. (See also...) Figure 10Taking the real estate sector as an example, offline data is stored in a data warehouse. The data warehouse writes the offline data to the Kafka system, which serves as the synchronization system, via the Kafka Connect tool. The Kafka system treats the received offline data as data to be synchronized, and the business feature extraction module 110 extracts business features such as opportunity type, customer profile, and strategy value from the Kafka messages. The priority determination module 120 calculates the priority score for each data item in real time based on the business features. The priority queue management module 160 allocates the data to high, medium, and low queues according to the priority scores. The data synchronization module 130 prioritizes the consumption of high-priority queues and allocates more resource quotas to them, and synchronizes the data to the Elasticsearch system, which serves as the downstream system. The real-time feedback adjustment module 140 monitors the opportunity allocation results through the Elasticsearch system and dynamically adjusts the weight coefficients of the business features used in the data synchronization module 130 to calculate the priority scores. The ES cluster health monitoring module 151 collects multi-dimensional monitoring indicators of the Elasticsearch system cluster in real time and calculates the health score. The data batch adjustment module 152 dynamically adjusts the batch size based on the ES health score and data type.

[0120] Figure 9 and Figure 10 The data synchronization device can be in the form of computer software, and the various modules of the data synchronization device can be implemented through computer software modules. Figure 9 and Figure 10 The specific implementation process of the functions and roles of each module of the data synchronization device can be found in the implementation process of the corresponding steps in the above method, and will not be repeated here.

[0121] The data synchronization method in the specific embodiments of this disclosure can be executed by electronic devices such as computers and servers.

[0122] Therefore, based on any of the above embodiments, this disclosure also provides an electronic device that can execute the data synchronization method of any of the embodiments described above.

[0123] Figure 11 This is a schematic block diagram of an electronic device 1000 according to one embodiment of the present disclosure.

[0124] The hardware architecture of the electronic device 1000 can be implemented using a bus architecture. The bus architecture can include any number of interconnect buses and bridges, depending on the specific application of the hardware and overall design constraints. Bus 1100 connects various circuits, including one or more processors 1200, memory 1300, and / or hardware modules. Bus 1100 can also connect various other circuits 1400, such as peripheral devices, voltage regulators, power management circuits, external antennas, etc.

[0125] Bus 1100 can be an Industry Standard Architecture (ISA) bus, a Peripheral Component Interconnect (PCI) bus, or an Extended Industry Standard Component (EISA) bus, etc. Buses can be categorized as address buses, data buses, control buses, etc. For ease of representation, this diagram uses only one connection line, but this does not imply that there is only one bus or one type of bus.

[0126] The processor 1200 can be a central processing unit (CPU). The processor 1200 can also be other general-purpose processors, digital signal processors (DSPs), application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, or combinations of the above types of chips.

[0127] The memory 1300 can serve as a non-transitory computer-readable storage medium, used to store non-transitory software programs, non-transitory computer-executable programs, and modules, such as program instructions of the computer program in the embodiments of this disclosure. The processor 1200 implements the data synchronization method by running the non-transitory software programs, instructions, and modules stored in the memory 1300.

[0128] The memory 1300 may include a program storage area and a data storage area, wherein the program storage area may store the operating system and application programs required for at least one function; the data storage area may store data created by the processor 1200. Furthermore, the memory 1300 may include high-speed random access memory and may also include non-transitory memory, such as at least one disk storage device, flash memory device, or other non-transitory solid-state storage device. In some embodiments, the memory 1300 may optionally include memory remotely located relative to the processor 1200, and these remote memories may be connected to the processor 1200 via a network. Examples of such networks include, but are not limited to, the Internet, corporate intranets, local area networks, mobile communication networks, and combinations thereof.

[0129] This disclosure also provides a readable storage medium storing a computer program that, when executed by a processor, is used to implement the methods described above. A "readable storage medium" can be any means capable of containing, storing, communicating, propagating, or transmitting a program for use by or in conjunction with an instruction execution system, apparatus, or device. More specific examples of a readable storage medium include: an electrical connection with one or more wires (electronic device), a portable computer disk drive (magnetic device), random access memory (RAM), read-only memory (ROM), erasable and programmable read-only memory (EPROM or flash memory), fiber optic devices, and portable read-only memory (CDROM), etc.

[0130] This disclosure also provides a computer program product, the methods of which can be implemented wholly or partially through software, hardware, firmware, or any combination thereof. When implemented in software, it can be implemented wholly or partially as a computer program product. The computer program product includes one or more computer programs or instructions. When the computer program or instructions are loaded and executed, the processes or functions of this disclosure are performed wholly or partially. The computer can be a general-purpose computer, a special-purpose computer, a computer network, network equipment, user equipment, core network equipment, OAM, or other programmable device.

[0131] Computer programs or instructions can be stored in a readable storage medium or transferred from one readable storage medium to another. For example, the computer program or instructions can be transferred from one website, computer, server, or data center to another website, computer, server, or data center via wired or wireless means. The readable storage medium can be any available medium capable of access, or a data storage device such as a server or data center that integrates one or more available media. The available medium can be a magnetic medium, such as a floppy disk, hard disk, or magnetic tape; an optical medium, such as a digital video optical disc; or a semiconductor medium, such as a solid-state drive. The computer-readable storage medium can be a volatile or non-volatile storage medium, or it can include both volatile and non-volatile types of storage media.

[0132] Those skilled in the art will understand that embodiments of this disclosure can be provided as methods, apparatus, or computer program products. Therefore, this disclosure can take the form of a completely hardware embodiment, a completely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, this disclosure can take the form of a computer program product embodied on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.

[0133] This disclosure is described with reference to flowchart illustrations and / or block diagrams of methods, apparatus, and computer program products according to this disclosure. It will be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, special-purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, generate instructions for implementing the flowchart illustrations. Figure 1 One or more processes and / or boxes Figure 1 A device that provides the functions specified in one or more boxes.

[0134] These computer program instructions may also be stored in a computer-readable storage medium that can direct a computer or other programmable data processing device to function in a particular manner, such that the instructions stored in the computer-readable storage medium produce an article of manufacture including instruction means, which are implemented in a process Figure 1 One or more processes and / or boxes Figure 1 The function specified in one or more boxes.

[0135] These computer program instructions may also be loaded onto a computer or other programmable data processing equipment to cause a series of operational steps to be performed on the computer or other programmable equipment to produce a computer-implemented process, thereby providing instructions that execute on the computer or other programmable equipment for implementing the process. Figure 1 One or more processes and / or boxes Figure 1 The steps of the function specified in one or more boxes.

[0136] In the description of this specification, the references to terms such as "one embodiment / mode," "some embodiments / modes," "example," "specific example," or "some examples," etc., refer to specific features, structures, or characteristics described in connection with that embodiment / mode or example, which are included in at least one embodiment / mode or example of this disclosure. In this specification, the illustrative expressions of the above terms do not necessarily refer to the same embodiment / mode or example. Moreover, the specific features, structures, or characteristics described may be combined in any suitable manner in one or more embodiments / modes or examples. Furthermore, without contradiction, those skilled in the art can combine and integrate the different embodiments / modes or examples described in this specification, as well as the features of different embodiments / modes or examples.

[0137] Furthermore, the terms "first" and "second" are used for descriptive purposes only and should not be construed as indicating or implying relative importance or implicitly specifying the number of technical features indicated. Thus, a feature defined as "first" or "second" may explicitly or implicitly include at least one of that feature. In the description of this disclosure, "a plurality of" means at least two, such as two, three, etc., unless otherwise explicitly specified.

[0138] Those skilled in the art should understand that the above embodiments are merely for illustrating the present disclosure and are not intended to limit the scope of the disclosure. Those skilled in the art can make other changes or modifications based on the above disclosure, and these changes or modifications still fall within the scope of the present disclosure.

Claims

1. A data synchronization method, characterized by, include: For the data to be synchronized corresponding to business events provided by the data provider, the business characteristics of the data to be synchronized are determined by the data related to the business events contained in the data to be synchronized. The business characteristics can indicate the importance of the business events corresponding to the data to be synchronized. The priority of the business events corresponding to the data to be synchronized is determined by the business characteristics. as well as The data to be synchronized, whose priorities have been determined, are synchronized to the data receiver according to the determined priorities. The priorities are positively correlated with the resource quota required for the data synchronization. Data to be synchronized with different priorities can be synchronized in parallel.

2. The data synchronization method of claim 1, wherein, The business characteristics include at least one of the following: business type, customer level indicating customer importance, processing stage of the business event, and historical performance of the processing method for the business event.

3. The data synchronization method of claim 2, wherein, At least one of the following must be satisfied: At least one of the business type and processing stage in the business characteristics is obtained by extracting from the data to be synchronized. The customer level in the business feature is obtained based on the customer identifier extracted from the data to be synchronized. The historical performance of the business characteristics is obtained by extracting the identifier of the processing method from the data to be synchronized and querying the identifier of the processing method.

4. The data synchronization method of claim 1 or 2, wherein, Determining the priority of the business events corresponding to the data to be synchronized based on the business characteristics includes: A priority score is obtained by weighting the weight coefficients and scores corresponding to the business characteristics; and The priority corresponding to the priority score is used as the priority of the business event corresponding to the data to be synchronized.

5. The data synchronization method of claim 4, wherein, At least one of the following must be satisfied: The score for the business type in the business characteristics is obtained by the amount of business processed for that business type in a historical time period; The score value of at least one of the business characteristics, namely customer level and processing stage, is obtained through the mapping relationship between itself and the corresponding score value; The historical performance in the business characteristics refers to the historical success rate of the processing method for the business event, and the score of the historical performance is the value of the historical success rate.

6. The data synchronization method of claim 1, wherein, The method further includes: Determine the operating status of the data receiver during data synchronization; and The amount of synchronized data used for data synchronization is dynamically adjusted based on changes in the operating status. The amount of synchronized data is the amount of data in a single batch that is synchronized in batches.

7. The data synchronization method of claim 6, wherein, Determining the operational status of the data receiver during data synchronization includes: Collect operational metrics from the data receiver, which represent the operational status of the data receiver during data synchronization; and The health of the data receiver during data synchronization is calculated using the aforementioned operational metrics, and the health status is used to represent the operational status of the data receiver.

8. The data synchronization method of claim 6 or 7, characterized in that, The amount of synchronization data applied to the data synchronization is dynamically adjusted based on changes in the operating state, including: Based on the latest determined operating status and the business characteristics corresponding to the data to be synchronized that is currently being synchronized, the amount of synchronization data to be applied for the data synchronization of the data to be synchronized is determined and the determined amount of synchronization data is applied.

9. An electronic device, comprising: include: The memory stores execution instructions; as well as A processor that executes execution instructions stored in the memory, causing the processor to perform the data synchronization method according to any one of claims 1 to 8.

10. A computer program product, characterised in that, The computer program product includes a computer program that, when executed by a processor, is used to implement the data synchronization method according to any one of claims 1 to 8.