An execution body data online synchronization system, method, medium, program product and node device suitable for a mimic environment
By utilizing the online data synchronization system for execution entities in a simulated environment, and employing the synchronization scheduling module and data import/export module, the business continuity problem during the execution entity synchronization process was solved. This achieved efficient data synchronization and seamless business process integration, meeting the needs of high-efficiency business operations and improving the user experience.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- SHANGHAI HONGZHEN INFORMATION SCI & TECH CO LTD
- Filing Date
- 2024-12-04
- Publication Date
- 2026-05-01
AI Technical Summary
In a simulated environment, how can business continuity be achieved during the synchronization process of the execution body, especially in scenarios with high requirements for business continuity, how can service interruption time be reduced to ensure data consistency?
An online data synchronization system for executors suitable for a simulated environment is adopted, including a negative feedback node, a source executor, and a target executor. The system coordinates data synchronization tasks through a synchronization scheduling module, performs data transmission using a data export and import module, and controls request forwarding through a request caching module, thereby ensuring the efficiency and reliability of the data synchronization process.
It significantly reduces business downtime to less than 10 milliseconds, enables seamless business process integration, improves the efficiency and reliability of data synchronization, and enhances user experience, business continuity, and data consistency for enterprises.
Smart Images

Figure CN119696849B_ABST
Abstract
Description
Online data synchronization systems, methods, media, program products, and node devices for simulated environments Technical Field
[0001] This application relates to the field of mimicry defense technology, and in particular to an online data synchronization system, method, medium, program product and node device for mimicry environments. Background Technology
[0002] In the field of mimicry defense, the security of mimicry systems heavily relies on operations such as cleaning, bringing online, and synchronizing data for executors. Among these operations, data synchronization is the most critical. Unlike data synchronization in standard cluster systems, multiple executors in a mimicry environment require network isolation, but at the same time, they must achieve strong consistency in data synchronization. That is, after each executor comes online, its data must be completely consistent with that of other executors; otherwise, inconsistent responses to the same business request may occur, affecting the normal operation of the entire mimicry system.
[0003] To ensure strong consistency of data across multiple execution entities, existing mimicry systems typically employ a three-step process during execution entity deployment: "stop service - synchronize data - start service." This approach ensures strong data consistency through brief service interruptions, is simple and effective, and is suitable for mimicry systems with low business continuity requirements. However, in scenarios with high business continuity requirements, the duration of service interruptions is strictly limited and needs to be imperceptible to the user (less than 10ms).
[0004] Currently, although there are also publicly available patents related to synchronous communication of the execution entity, such as the invention patent with publication number CN111740964A, whose patent name is "Remote Synchronous Communication Method, Mimicry Virtual Terminal, Heterogeneous Execution Entity and Medium", this patent aims to solve the problem of migration and maintenance of encrypted session information when switching execution entities. The focus is on the maintenance of session information, which is essentially a compromise adopted to reduce the workload of development. However, in reality, for a highly complete mimicry system, modifications and optimizations should be made at the underlying encryption protocol to ensure session consistency after the new execution entity goes online.
[0005] Therefore, how to better solve the business continuity problem in the synchronization process of the execution body has become a technical problem that urgently needs to be solved in this field. Summary of the Invention
[0006] In view of the shortcomings of the prior art described above, the purpose of this application is to provide a solution for how to better achieve business continuity in the process of execution synchronization.
[0007] To achieve the above and other related objectives, a first aspect of this application provides an online data synchronization system for execution entities suitable for a simulated environment, comprising: a negative feedback node on which a synchronization scheduling module is deployed; a source execution entity on which a data export module and a first execution entity application are deployed; and a target execution entity on which a data import module, a second execution entity application, and a request caching module are deployed. The synchronization scheduling module is used to coordinate data synchronization tasks when the execution entity comes online, and includes: notifying the target execution entity to enter data import mode; notifying the source execution entity to export data; sending the exported data to the target execution entity; collecting and monitoring the data synchronization progress; handling data synchronization failures; and notifying the negative feedback node to add the target execution entity after data synchronization is completed. The decision list is as follows: The data export module on the source executor is used to call the data export interface of the first executor application to perform data export operations and send the exported executor data to the synchronization scheduling module; The data import module on the target executor is used to receive the executor data to be synchronized from the synchronization scheduling module and notify the second executor application to enter the data import mode; After the data import is completed, the request caching module is notified to start forwarding requests; The request caching module is used to cache the request information sent from the dispatcher during data synchronization and forward the request to the second executor application after receiving the notification from the data import module; When the number of cached requests is less than a preset threshold, the synchronization scheduling module is notified to add the target executor to the decision list.
[0008] In some embodiments of the first aspect of this application, the source executor and the target executor are selected by a negative feedback scheduler running on the negative feedback node. The selection method includes: the negative feedback scheduler selects an idle executor as the target executor for data synchronization; and a source executor is selected as the synchronization source for data synchronization according to a pre-built internal algorithm. The internal algorithm scores each executor based on its historical performance data and technical specifications, and selects the highest score as the synchronization source.
[0009] In some embodiments of the first aspect of this application, the synchronization scheduling module notifies the target executor to enter the data import mode, which includes: the synchronization scheduling module notifying the target executor's request caching module to start receiving requests sent by the dispatcher; and notifying the negative feedback scheduling node that the target executor is ready, and then the negative feedback node notifying the dispatcher to add the target executor to the distribution list.
[0010] In some embodiments of the first aspect of this application, after the data import module on the target execution body receives the execution body data to be synchronized from the synchronization scheduling module, it performs the following: placing the execution body data in a specified location in memory or hard disk, and notifying the second execution body application to start loading data; during this period, the data import module informs the request cache module of the maximum request number in the execution body data; the request cache module discards all requests with numbers less than the maximum request number; after the data of the execution body application is loaded, the data import module notifies the request cache module to start forwarding requests.
[0011] In some embodiments of the first aspect of this application, after receiving a notification from the data import module, the request caching module forwards requests starting from the maximum request number and controls the forwarding rate according to the response status of the requests.
[0012] In some embodiments of the first aspect of this application, when the number of remaining cached requests in the request caching module is 0, the request caching module switches to pass-through mode; in the pass-through mode, the request caching module no longer stores incoming requests, but forwards each newly received request directly to the second execution application.
[0013] To achieve the above and other related objectives, a second aspect of this application provides an online data synchronization method for execution entities suitable for a simulated environment, applied to an online data synchronization system for execution entities; the method includes: a synchronization scheduling module receiving a synchronization notification from a negative feedback scheduler; the negative feedback scheduler selecting an idle execution entity as the target execution entity for data synchronization and selecting a source execution entity as the synchronization source for data synchronization, and sending a data synchronization notification to the synchronization scheduling module; the synchronization scheduling module notifying the request caching module of the target execution entity to start receiving requests from the dispatcher, and notifying the dispatcher to add the target execution entity to the dispatch list; the synchronization scheduling module notifying the data export module on the source execution entity... The block begins exporting data; the data export module on the source executor calls the data export interface of the first executor application and sends the exported executor data to the synchronization scheduling module; the synchronization scheduling module sends the received executor data to the data import module of the target executor; the data import module notifies the second executor application to enter data import mode; after the data import is complete, it notifies the request caching module to start forwarding requests; the request caching module caches the request information sent from the dispatcher during data synchronization and forwards the request to the second executor application after receiving the notification from the data import module; when the number of cached requests is less than a preset threshold, it notifies the synchronization scheduling module to add the target executor to the adjudication list.
[0014] To achieve the above and other related objectives, a third aspect of this application provides a computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, implements the online synchronization method for execution entity data suitable for a simulated environment.
[0015] To achieve the above and other related objectives, a fourth aspect of this application provides a computer program product comprising computer program code, which, when executed on a computer, enables the computer to implement the online synchronization method for execution entity data suitable for a simulated environment.
[0016] To achieve the above and other related objectives, a fifth aspect of this application provides a node device on which a synchronization scheduling module is deployed, the synchronization scheduling module being used to implement the online synchronization method for execution data applicable to a simulated environment.
[0017] As described above, the online data synchronization system, method, medium, program product, and node device for executor systems in this application, applicable to simulated environments, have the following beneficial effects: This invention proposes an innovative solution to the business continuity problem in the execution system synchronization process, greatly improving the efficiency and reliability of data synchronization. By adopting advanced synchronization technology, this invention can achieve real-time online data synchronization during the execution system's online process, ensuring seamless business process integration. Specifically, this invention significantly reduces business interruption time to below 10 milliseconds. This achievement not only meets the needs of high-efficiency business operations but also achieves a level of business interruption that is almost imperceptible to users. This almost imperceptible synchronization technology not only improves user experience but also provides strong protection for enterprise business continuity and data consistency. In the wave of digital transformation, the application of this invention will bring revolutionary changes to various industries. Attached Figure Description
[0018] Figure 1 shows a schematic diagram of the structure of an online synchronization system for execution data applicable to a simulated environment according to an embodiment of this application.
[0019] Figure 2 shows a schematic diagram of the execution flow of an online data synchronization system for the execution body in one embodiment of this application.
[0020] Figure 3 shows a schematic diagram of the execution flow of selecting a synchronization source according to an internal algorithm in one embodiment of this application.
[0021] Figure 4 shows a flowchart of an online synchronization method for execution data applicable to a mimicry environment according to an embodiment of this application.
[0022] Figure 5 shows a schematic diagram of the structure of a node device in one embodiment of this application. Detailed Implementation
[0023] The following specific examples illustrate the implementation of this application. Those skilled in the art can easily understand other advantages and effects of this application from the content disclosed in this specification. This application can also be implemented or applied through other different specific embodiments, and various details in this specification can also be modified or changed based on different viewpoints and applications without departing from the spirit of this application. It should be noted that, unless otherwise specified, the following embodiments and features in the embodiments can be combined with each other.
[0024] Before providing a further detailed description of the present invention, the nouns and terms used in the embodiments of the present invention are explained, and the nouns and terms used in the embodiments of the present invention are subject to the following interpretations:
[0025] <1> Mimic Defense (MD) is a cybersecurity technology inspired by mimicry phenomena in nature. Based on the principles of biomimicry, it utilizes dynamic heterogeneous redundancy structures, mimicry camouflage mechanisms, and the uncertainty principle to achieve proactive defense and intrinsic security in cyberspace. This technology aims to address various unknown threats in cyberspace and improve the efficiency and effectiveness of cybersecurity defense. The basic idea of mimic defense is to construct a dynamically changing, multi-parallel, collaborative architecture to embed security genes into the network information system from the source, establishing an immune system with intrinsic effects, effectively solving the problem of defending against unknown attacks that exploit unknown vulnerabilities and backdoors.
[0026] <2> Mimicry environment: The environment in which an information system employs mimicry defense technology operates.
[0027] <3> Arbitrator: In a mimicry defense system, the arbitrator is a key component of the Dynamic Heterogeneous Redundancy Architecture (DHR). Its main function is to compare and adjudicate the outputs of multiple heterogeneous actors to determine the final system output. This adjudication mechanism can effectively shield abnormal outputs caused by attacks, improving system security and reliability.
[0028] <4> Distributor: In a simulated environment, a distributor typically refers to the component responsible for assigning tasks or requests to different executors.
[0029] Figure 1 shows a schematic diagram of an online synchronization system for execution entity data suitable for a simulated environment, according to an embodiment of the present invention. The online synchronization system in this embodiment includes:
[0030] The negative feedback node has a synchronous scheduling module 101 deployed on it.
[0031] The target execution body has a data import module 103a, an execution body application 104a, and a request caching module 105a deployed on it.
[0032] The source execution unit has a data export module 102b and an execution unit application 104b deployed on it.
[0033] It should be noted that the execution body is structurally composed of four core modules: a data import module, a data export module, an execution body application, and a request cache module. However, the application of these functional modules varies depending on the role. The target execution body deploys: a data export module 102a, a data import module 103a, an execution body application 104a, and a request cache module 105a. The source execution body deploys: a data export module 102b, a data import module 103b, an execution body application 104b, and a request cache module 105b. When the execution body acts as a source execution body, it primarily relies on the data export module to transmit information to other execution bodies. Simultaneously, the execution body application is responsible for processing and responding to this data. When the execution body acts as a target execution body, it needs to utilize the data import module to receive data from the source execution body. The execution body application continues to process this data, while the request cache module is used to issue requests.
[0034] In the embodiments of this application, a communication connection is established between the negative feedback node and the source executor and the target executor. The communication protocol includes, but is not limited to, HTTP / HTTPS, TCP / IP, UDP, WebSocket, etc. The communication node can actively initiate a connection request or wait for a connection request from the other node.
[0035] The synchronization scheduling module 101 is used to coordinate the data synchronization task when the executor goes online. It includes: notifying the target executor to enter the data import mode, notifying the source executor to export data, sending the exported data to the target executor, collecting and monitoring the data synchronization progress, scheduling and handling data synchronization failures, and notifying the negative feedback node to add the target executor to the adjudication list after the data synchronization is completed.
[0036] The data export module 102b is used to call the data export interface of the corresponding execution application 104b to perform data export operations, and send the exported execution data to the synchronization scheduling module 101.
[0037] The data import module 103a is used to receive the execution body data to be synchronized from the synchronization scheduling module 101 and notify the corresponding execution body application 104a to enter the data import mode; after the data import is completed, it notifies the request cache module 105a to start forwarding the request.
[0038] The request caching module 105a is used to cache request information sent from the distributor during data synchronization, and forwards the request to the execution application 104a after receiving a notification from the data import module 103a; when the number of cached requests is less than a preset threshold, the synchronization scheduling module 101 is notified to add the target execution to the adjudication list.
[0039] To facilitate understanding of the online synchronization system for execution data provided in the embodiments of this application by those skilled in the art, the execution flow of the synchronization system will be further explained below with reference to Figure 2.
[0040] Step S01: The negative feedback scheduler decides to bring an idle executor online as the target executor for data synchronization.
[0041] Step S02: The negative feedback scheduler selects a source executor based on its internal algorithm as the synchronization source for data synchronization.
[0042] In some examples, the internal algorithm flow of the negative feedback scheduler is shown in Figure 3, which includes the following steps:
[0043] Step S02A: Collect historical performance data and technical specifications for each executor; historical performance data includes task completion time, success rate, resource utilization, etc.; technical specifications include the selected instruction set, operating system, and middleware.
[0044] Step S02B: Set scoring criteria, assign weights to each indicator of historical performance, and set scoring criteria for technical specifications.
[0045] Step S02C: Score each executor according to the set scoring criteria. The scoring method can be based on weighted average, machine learning model, etc., but since the specific scoring process is not the focus of this invention, it will not be described in detail here.
[0046] Step S02D: Based on the comprehensive scoring results, select the executor with the highest score as the synchronization source for data synchronization.
[0047] Step S03: The negative feedback scheduler sends a notification to the synchronization scheduler module 101 to notify it to start data synchronization.
[0048] Step S04: The synchronization scheduling module 101 notifies the target executor's request caching module 105a to begin receiving requests from the dispatcher 106. Simultaneously, the synchronization scheduling module 101, through the negative feedback module, notifies the dispatcher 106 to add the target executor to the distribution list. Afterward, the target executor begins participating in distribution but not in adjudication, to avoid making incorrect decisions before data synchronization is complete.
[0049] It should be noted that the terminology for dispatcher has already been explained above and will not be repeated here. The dispatcher's processing involves, firstly, receiving tasks or requests from input agents; secondly, allocating tasks to the most suitable executor based on the system's scheduling policy and the executor's state; and finally, dynamically adjusting task allocation based on the executor's performance, complexity, and security status to optimize overall system performance and security.
[0050] Step S05: The synchronization scheduling module 101 notifies the data export module 102b on the source executor to start exporting data.
[0051] Step S06: The data export module 102b on the source execution body calls the data export interface of the execution body application 104b and sends the exported execution body data to the synchronization scheduling module 101.
[0052] It is worth noting that, in the technical implementation of this invention, to achieve support for online data synchronization, collaborative modifications were made to the execution application. These modifications include: the execution application adding at least one data export interface for exporting the execution data required for synchronization; the execution data includes, but is not limited to: state data in memory, database data on disk, cached data in internal and external memory, and the maximum request number corresponding to the current data; the request number is configured to increment unidirectionally, so that the request number increases as the distribution process progresses. The modifications also include: the execution application adding at least one data import interface for loading imported data into internal and external memory.
[0053] Step S07: The synchronization scheduling module 101 sends the received execution data to the data import module 103a of the target execution.
[0054] Step S08: The target executor's data import module 103a places the executor data into the designated directory and notifies the executor application 104a to start loading data. Simultaneously, the data import module 103a informs the request caching module 105a of the maximum request number in the executor data, and the request caching module 105a discards all requests with request numbers less than the maximum request number.
[0055] It should be understood that the data import module 103a places the execution data to a specified location in order to ensure that the data is placed in a location accessible to the execution application 104a, such as memory or hard disk, so that the data can be loaded.
[0056] The data import module 103a informs the request caching module 105a of the maximum request number in the execution body data, causing the request caching module 105a to discard all requests with request numbers smaller than the maximum request number. This is because the entire synchronization process actually consists of two parts: the first part is synchronizing data from other execution bodies (such as the source execution body in this embodiment), and the second part is processing the cached requests. The data synchronized from other execution bodies in the first part already contains some data corresponding to the cached requests, so it is necessary to clear that duplicate data to avoid duplicate processing affecting efficiency, and duplicate processing may also cause logical errors.
[0057] Step S09: After the data loading is complete, the data import module 103a notifies the request caching module 105a to start forwarding requests.
[0058] Step S10: The request caching module 105a forwards requests starting from the largest request number and controls the forwarding rate according to the response status of the request to avoid the application being unable to process the request due to forwarding too fast.
[0059] This avoids overloading the application, ensures that it can handle requests smoothly, prevents the application from crashing due to incorrect requests, and avoids the application being unable to process requests in a timely and effective manner due to forwarding too quickly.
[0060] Step S11: When the number of remaining cache requests in the request cache module 105a is less than the preset threshold, the request cache module 105a notifies the synchronization scheduling module 101 that data synchronization has been completed.
[0061] In the embodiments of this application, the preset threshold is configured as the allowed service interruption latency in the mimicry system divided by the number of requests that the executor can process per unit time. Here, service interruption latency refers to the maximum service interruption time that the system can tolerate in the mimicry system; this time determines the maximum delay that the system can accept during data synchronization. Setting the preset threshold ensures that, within a given service interruption latency, the executor can process a sufficient number of requests to maintain the continuity and stability of the system.
[0062] In some examples, when the number of remaining cached requests in the request caching module equals 0, it means that all requests requiring synchronization have been processed, and therefore the request caching module will switch to pass-through mode. In pass-through mode, the request caching module no longer stores incoming requests, but instead forwards each newly received request directly to the application execution body. This mode is typically enabled after data synchronization is complete to ensure that requests can be processed immediately by the application execution body without being affected by cache latency.
[0063] Step S12: The synchronization scheduling module 101 notifies the negative feedback scheduling node that synchronization has been completed. The negative feedback scheduling node notifies the arbitrator to add the target executor to the arbitration list, and the synchronization process ends.
[0064] It should be understood that the module division in the embodiments of this application is illustrative and only represents a logical functional division. In actual implementation, there may be other division methods. Furthermore, the functional modules in the various embodiments of this application can be integrated into a single processor, exist as separate physical entities, or be integrated into a single module. The integrated modules described above can be implemented in hardware or as software functional modules.
[0065] Furthermore, in the embodiments of this application, terms such as "first" and "second" are used to distinguish identical or similar items with substantially the same function and effect. For example, "first execution application" and "second execution application" are merely used to distinguish different execution applications and do not limit their order. Those skilled in the art will understand that terms such as "first" and "second" do not limit the quantity or execution order, and that "first" and "second" do not necessarily imply that they are different.
[0066] It should be noted that, in the embodiments of this application, the words "exemplary" or "for example" indicate examples, illustrations, or descriptions. Any embodiment or design described as "exemplary" or "for example" in this application should not be construed as being more preferred or advantageous than other embodiments or designs. Specifically, the use of words such as "exemplary" or "for example" is intended to present the relevant concepts in a concrete manner.
[0067] In this application embodiment, "at least one" refers to one or more, and "more than one" refers to two or more. "And / or" describes the relationship between related objects, indicating that three relationships can exist. For example, A and / or B can represent: A alone, A and B simultaneously, or B alone, where A and B can be singular or plural. The character " / " generally indicates that the preceding and following related objects are in an "or" relationship. "At least one of the following" or similar expressions refer to any combination of these items, including any combination of single or plural items. For example, at least one of a, b, or c can represent: a, b, c, ab, ac, bc, or abc, where a, b, and c can be single or multiple.
[0068] Figure 4 is a flowchart illustrating an online data synchronization method for an execution unit suitable for a simulated environment, provided in an embodiment of this application. The online data synchronization method for the execution unit in this embodiment includes:
[0069] Step S41: The synchronization scheduling module receives a synchronization notification from the negative feedback scheduler; the negative feedback scheduler selects an idle executor as the target executor for data synchronization and selects a source executor as the synchronization source for data synchronization, and sends a data synchronization notification to the synchronization scheduling module.
[0070] Step S42: The synchronization scheduling module notifies the target executor's request cache module to start receiving requests from the dispatcher, and notifies the negative feedback target executor that it is ready. Then, the negative feedback notifies the executor to add the target executor to the dispatch list.
[0071] Step S43: The synchronization scheduling module notifies the data export module on the source executor to start exporting data; the data export module on the source executor calls the data export interface of the first executor application and sends the exported executor data to the synchronization scheduling module.
[0072] Step S44: The synchronization scheduling module sends the received execution body data to the data import module of the target execution body; the data import module notifies the second execution body application to enter the data import mode; after the data import is complete, it notifies the request caching module to start forwarding requests. The request caching module caches the request information sent from the dispatcher during data synchronization, and forwards the request to the second execution body application after receiving the notification from the data import module; when the number of cached requests is less than a preset threshold, it notifies the synchronization scheduling module to add the target execution body to the adjudication list.
[0073] It should be noted that the implementation method and principle of the online synchronization method for execution entity data in a simulated environment provided in this application embodiment are similar to those of the online synchronization system for execution entity data in a simulated environment described above, and will not be repeated here.
[0074] Figure 5 is a schematic block diagram of a node device provided in an embodiment of this application. As shown in Figure 5, the node device 500 includes at least one processor 501, a memory 502, and at least one network interface 503. The various components in the device are coupled together via a bus system 504. It is understood that the bus system 504 is used to implement communication between these components. In addition to a data bus, the bus system 504 also includes a power bus, a control bus, and a status signal bus. However, for clarity, all buses are labeled as a bus system in Figure 5.
[0075] It is understood that memory 502 can be volatile memory or non-volatile memory, or both. Non-volatile memory can be read-only memory (ROM) or programmable read-only memory (PROM), which serves as an external cache. By way of example, but not limitation, many forms of RAM are available, such as static random access memory (SRAM) and synchronous static random access memory (SSRAM). The memories described in the embodiments of this invention are intended to include, but are not limited to, these and any other suitable categories of memory.
[0076] In this embodiment of the invention, the memory 502 is used to store various types of data to support the operation of the node device 500. Examples of this data include: any executable program for operation on the node device 500, such as the operating system 5021 and application 5022; the operating system 5021 contains various system programs, such as the framework layer, core library layer, driver layer, etc., for implementing various basic services and handling hardware-based tasks. The application 5022 may contain various applications, such as a media player, browser, etc., for implementing various application services. The online data synchronization method for the execution body suitable for the simulated environment provided in this embodiment of the invention can be included in the application 5022.
[0077] The methods disclosed in the above embodiments of the present invention can be applied to processor 501, or implemented by processor 501. Processor 501 may be an integrated circuit chip with signal processing capabilities. In the implementation process, each step of the above method can be completed by the integrated logic circuit of the hardware in processor 501 or by instructions in the form of software. The processor 501 may be a general-purpose processor, a digital signal processor (DSP), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. Processor 501 can implement or execute the methods, steps, and logic block diagrams disclosed in the embodiments of the present invention. General-purpose processor 501 may be a microprocessor or any conventional processor, etc. The steps of the accessory optimization method provided in the embodiments of the present invention can be directly reflected as being executed by a hardware decoding processor, or being executed by a combination of hardware and software modules in the decoding processor. The software module may be located in a storage medium, which is located in memory. The processor reads the information in the memory and combines it with its hardware to complete the steps of the aforementioned method.
[0078] In an exemplary embodiment, the electronic terminal 500 may be used by one or more application-specific integrated circuits (ASICs), DSPs, programmable logic devices (PLDs), or complex programmable logic devices (CPLDs) to execute the aforementioned method.
[0079] According to the method provided in the embodiments of this application, this application also provides a computer program product, which includes: computer program code, which, when run on a computer, causes the computer to execute the online synchronization method of execution body data suitable for a simulated environment according to any of the embodiments shown in FIG1 to FIG4.
[0080] According to the method provided in the embodiments of this application, this application also provides a computer-readable storage medium storing program code. When the program code is run on a computer, it causes the computer to execute the online synchronization method of execution body data suitable for a simulated environment according to any of the embodiments shown in Figures 1 to 4.
[0081] As used in this specification, the terms "component," "module," "system," etc., are used to refer to computer-related entities, hardware, firmware, combinations of hardware and software, software, or software in execution. For example, a component can be, but is not limited to, a process running on a processor, a processor, an object, an executable file, an execution thread, a program, and / or a computer. As illustrated, applications running on computing devices and computing devices can both be components. One or more components may reside in a process and / or an execution thread, and components may be located on a single computer and / or distributed among two or more computers. Furthermore, these components can be executed from various computer-readable media on which various data structures are stored. Components can communicate, for example, via local and / or remote processes based on signals having one or more data packets (e.g., data from two components interacting with another component between a local system, a distributed system, and / or a network, such as the Internet interacting with other systems via signals).
[0082] Those skilled in the art will recognize that the various illustrative logical blocks and steps described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are implemented in hardware or software depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementations should not be considered beyond the scope of this application.
[0083] Those skilled in the art will understand that, for the sake of convenience and brevity, the specific working processes of the systems, devices, and units described above can be referred to the corresponding processes in the foregoing method embodiments, and will not be repeated here.
[0084] In the several embodiments provided in this application, it should be understood that the disclosed systems, apparatuses, and methods can be implemented in other ways. For example, the apparatus embodiments described above are merely illustrative; for instance, the division of units is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the coupling or direct coupling or communication connection shown or discussed may be through some interfaces; the indirect coupling or communication connection between apparatuses or units may be electrical, mechanical, or other forms.
[0085] The units described as separate components may or may not be physically separate. The components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the units can be selected to achieve the purpose of this embodiment according to actual needs.
[0086] In addition, the functional units in the various embodiments of this application can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit.
[0087] In the above embodiments, the functions of each functional unit can be implemented entirely or partially through software, hardware, firmware, or any combination thereof. When implemented using software, it can be implemented entirely or partially in the form of a computer program product. A computer program product includes one or more computer instructions (programs). When the computer program instructions (programs) are loaded and executed on a computer, all or part of the flow or function according to the embodiments of this application is generated. The computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. Computer instructions can be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another. For example, computer instructions can be transmitted from one website, computer, server, or data center to another website, computer, server, or data center via wired (e.g., coaxial cable, fiber optic, digital subscriber line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.) means. The computer-readable storage medium can be any available medium that a computer can access or a data storage device such as a server or data center that integrates one or more available media. The available media can be magnetic media (e.g., floppy disks, hard disks, magnetic tapes), optical media (e.g., high-density digital video discs, DVDs), or semiconductor media (e.g., solid-state disks, SSDs, etc.).
[0088] If a function is implemented as a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, or a part of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the steps of the methods of the various embodiments of this application. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical disks.
[0089] The above description is merely a specific embodiment of this application, but the scope of protection of this application is not limited thereto. Any variations or substitutions that can be easily conceived by those skilled in the art within the technical scope disclosed in this application should be included within the scope of protection of this application. Therefore, the scope of protection of this application should be determined by the scope of the claims.
[0090] In summary, this application provides an online data synchronization system, method, medium, program product, and node device suitable for simulated environments. This invention proposes an innovative solution to the business continuity problem during execution synchronization, significantly improving the efficiency and reliability of data synchronization. By employing advanced synchronization technology, this invention can achieve real-time online data synchronization during the execution process, ensuring seamless business process integration. Specifically, this invention significantly reduces business interruption time to below 10 milliseconds. This achievement not only meets the demands of high-efficiency business operations but also achieves a level of business interruption that is virtually imperceptible to users. This almost imperceptible synchronization technology not only improves user experience but also provides strong guarantees for business continuity and data consistency for enterprises. In the wave of digital transformation, the application of this invention will bring revolutionary changes to various industries. Therefore, this application effectively overcomes the various shortcomings of existing technologies and has high industrial application value.
[0091] The above embodiments are merely illustrative of the principles and effects of this application and are not intended to limit this application. Any person skilled in the art can modify or alter the above embodiments without departing from the spirit and scope of this application. Therefore, all equivalent modifications or alterations made by those skilled in the art without departing from the spirit and technical concept disclosed in this application should still be covered by the claims of this application.
Claims
1. An online data synchronization system for actuators suitable for simulated environments, characterized in that, include: The negative feedback node has a synchronization scheduling module deployed on it; the source execution body has a data export module and the first execution body application deployed on it. The target execution unit has a data import module, a second execution unit application, and a request caching module deployed on it. The synchronization scheduling module is used to coordinate the data synchronization task when the executor goes online. It includes: notifying the target executor to enter data import mode; notifying the source executor to export data; sending the exported data to the target executor; collecting and monitoring data synchronization progress; handling data synchronization failures; and notifying the negative feedback node to add the target executor to the adjudication list after data synchronization is complete. The data export module on the source executor calls the data export interface of the first executor application to perform data export operations and sends the exported executor data to the synchronization scheduling module. The data import module on the target executor receives the executor data to be synchronized from the synchronization scheduling module and notifies the second executor application to enter data import mode. After data import is complete, it notifies the request caching module to start forwarding requests. The request caching module caches request information sent from the dispatcher during data synchronization and forwards requests to the second executor application after receiving notification from the data import module. When the number of cached requests is less than a preset threshold, it notifies the synchronization scheduling module to add the target executor to the adjudication list.
2. The online synchronization system for execution entity data in a simulated environment according to claim 1, characterized in that, The source executor and the target executor are selected by a negative feedback scheduler running on the negative feedback node. The selection method includes: the negative feedback scheduler selects an idle executor as the target executor for data synchronization; and a source executor is selected as the synchronization source for data synchronization according to a pre-built internal algorithm. The internal algorithm scores each executor based on its historical performance data and technical specifications, and selects the highest score as the synchronization source.
3. The online synchronization system for execution entity data in a simulated environment according to claim 1, characterized in that, The synchronous scheduling module notifies the target executor to enter the data import mode, which includes: the synchronous scheduling module notifying the target executor's request caching module to start receiving requests sent by the dispatcher; and notifying the negative feedback scheduling module that the target executor is ready, and the negative feedback scheduling module then notifying the dispatcher to add the target executor to the dispatch list.
4. The online synchronization system for execution entity data in a simulated environment according to claim 1, characterized in that, After receiving the execution data to be synchronized from the synchronization scheduling module, the data import module on the target execution body performs the following operations: placing the execution data in a specified location, which may include memory or disk, and notifying the second execution body application to start loading the data; during this period, the data import module informs the request cache module of the maximum request number corresponding to the execution data; The request caching module discards all requests with numbers less than the maximum request number; after the data of the application to be executed is loaded, the data import module notifies the request caching module to start forwarding requests.
5. The online synchronization system for execution entity data in a simulated environment according to claim 4, characterized in that, After receiving a notification from the data import module, the request caching module forwards requests starting from the highest request number and controls the forwarding rate based on the response status of the requests.
6. The online synchronization system for execution entity data in a simulated environment according to claim 1, characterized in that, When the remaining number of cached requests in the request caching module is 0, the request caching module switches to pass-through mode. In the pass-through mode, the request caching module no longer stores incoming requests, but forwards each newly received request directly to the second execution application.
7. A method for online synchronization of execution entity data suitable for a simulated environment, characterized in that, The method is applied to an online data synchronization system for executors in a simulated environment as described in any one of claims 1 to 6; the method includes: a synchronization scheduling module receiving a synchronization notification from a negative feedback scheduler; the negative feedback scheduler selecting an idle executor as the target executor for data synchronization and selecting a source executor as the synchronization source for data synchronization, and sending a data synchronization notification to the synchronization scheduling module; the synchronization scheduling module notifying the request caching module of the target executor to start receiving requests from the cache dispatcher, and notifying the dispatcher to add the target executor to the dispatch list; the synchronization scheduling module notifying the data export module on the source executor to start exporting data; the source executor... The data export module on the first execution body calls the data export interface of the first execution body application and sends the exported execution body data to the synchronization scheduling module; the synchronization scheduling module sends the received execution body data to the data import module of the target execution body; the data import module notifies the second execution body application to enter the data import mode; after the data import is completed, it notifies the request caching module to start forwarding requests; wherein, the request caching module caches the request information sent from the dispatcher during data synchronization, and forwards the request to the second execution body application after receiving the notification from the data import module; when the number of cached requests is less than a preset threshold, it notifies the synchronization scheduling module to add the target execution body to the adjudication list.
8. A computer-readable storage medium having a computer program stored thereon, characterized in that, When the computer program is executed by the processor, it implements the online synchronization method for execution body data applicable to a simulated environment as described in claim 7.
9. A computer program product, characterized in that, The computer program product includes computer program code, which, when run on a computer, enables the computer to implement the online synchronization method for execution data in a simulated environment as described in claim 7.
10. A node device, on which a synchronization scheduling module is deployed, characterized in that, The synchronization scheduling module is used to implement the online synchronization method for execution data applicable to a mimicry environment as described in claim 7.
Citation Information
Patent Citations
Remote synchronous communication method, mimicry virtual terminal, heterogeneous executor and medium
CN111740964A
Heterogeneous executor trusted configuration synchronization method and system
CN113282661A
Service processing method and system based on mimicry defense
CN113904803A