Method for automatically controlling horizontal expansion of base

By employing a horizontal scaling approach that deeply integrates parallel domains and service-oriented architecture, the scalability issues of the automated control system under large data volumes and rapid changes were resolved. This approach enabled efficient and stable data processing and anomaly detection, thereby improving the system's security and reliability.

CN120850006APending Publication Date: 2025-10-28GUODIAN NANJING AUTOMATION
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202510963841.0
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-07-14
Publication Date
2025-10-28

AI Technical Summary

Technical Problem

Existing technologies are insufficient to effectively address the challenges of automated control base stations in handling large volumes of data, rapid changes, diverse data types, and high pressure for cross-regional synchronization, resulting in inadequate system stability and scalability.

Method used

A horizontal scaling approach that deeply integrates parallel domains and service-oriented architecture is adopted. By constructing a mapping relationship between objects, partitions and parallel domains, the control base is expanded using a horizontal scaling configuration mechanism, and an exception handling mechanism is established to achieve deep integration of parallel domains and service-oriented architecture.

Benefits of technology

It improves the stability and scalability of the automated control base, enabling it to handle large-scale data, with high real-time performance and strong concurrency. It can quickly identify and handle anomalies, thus enhancing the security and reliability of the system.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120850006A_ABST
    Figure CN120850006A_ABST
Patent Text Reader

Abstract

The invention discloses an automatic control base horizontal expansion method, and relates to the field of industrial monitoring, and the method comprises the steps: building a parallel domain object model based on a control base composed of a plurality of parallel domains to generate a mapping relation among objects, partitions and the parallel domains, and positioning the parallel domain to which any object in the control base belongs according to the mapping relation; the capacity of the control base is judged, and if the capacity of the control base reaches the single-domain rated capacity, the parallel domain of the control base is expanded through a horizontal expansion configuration mechanism; and carrying out deep fusion on the extended parallel domain and servitization to obtain a horizontal extension architecture of the control base, and establishing an exception handling mechanism in the horizontal extension architecture. According to the invention, the control system base is horizontally expanded by adopting a horizontal expansion technology of deep fusion of a parallel domain and servitization, so that the problems of large access data volume, large change frequency, multiple data types, large storage pressure, incapability of meeting the requirement of a single node and the like of a current automatic system are effectively solved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of industrial monitoring, and more specifically, to a method for horizontally extending an automated control base. Background Technology

[0002] The control platform refers to the key platform in an automated control system that undertakes core scheduling, data processing, and command issuance functions, and is responsible for coordinating data flow and control execution among various nodes. The domain, as an independent subsystem, realizes data acquisition, calculation, display, and storage within the domain. Its modular design allows application software functional modules to be flexibly configured onto different nodes in the system according to user needs. Nodes in the system are reserved for different functions. Because the functions performed by a node can be flexibly configured, the performance requirements of the main server are reduced. If some functions fail (such as analysis software under trial), it will not affect the use of other operational functional modules, making the system more efficient and thus improving reliability.

[0003] As an important control system in the field of industrial monitoring, the automation control base is facing challenges due to the continuous advancement of the construction of new power systems based on new energy sources and the coordinated development of various clean energy sources such as wind, solar and energy storage. These challenges include large data volume, high frequency of change, diverse data types, high storage pressure, inability of single nodes to meet requirements, and high pressure for cross-regional synchronization.

[0004] For example, patent document CN102930062B discloses a method for rapid horizontal scaling of a database. This method monitors the existing database disk storage space through a monitoring system. When the disk capacity reaches a set storage capacity threshold, it triggers the addition of hardware storage to prepare the hardware environment for data migration. This method is applicable to disk databases or memory databases, avoiding the problem of uneven hotspot distribution caused by traditional horizontal scaling of databases. However, this method only monitors the internal disk storage space of the database and migrates the specified data to the new database to complete the rapid horizontal scaling of the database. It is not applicable to automated real-time control systems.

[0005] Patent document CN116866279A discloses a method and system for horizontal scaling of RabbitMQ queues based on Shovel. The method includes a client sending a production message request, a connector component reading server information from a monitor component, and if the server information does not contain queue information, then creating a first exchange and a first queue on the server with the highest available capacity, and sending the production message request to the first queue. This method achieves horizontal scaling of the message queue by monitoring the producers and consumers of the message queue and building new components. However, this method has significant limitations, especially for accessing and managing systems with tens of millions of measurement points in a large-scale monitoring system that is dynamically connected online.

[0006] No effective solutions have yet been proposed to address the problems in the relevant technologies. Summary of the Invention

[0007] In view of the problems in related technologies, the present invention proposes an automated control base horizontal expansion method to overcome the above-mentioned technical problems existing in the existing related technologies.

[0008] Therefore, the specific technical solution adopted by the present invention is as follows:

[0009] A method for horizontally expanding an automated control base, the method comprising:

[0010] A parallel domain object model is constructed based on a control base composed of several parallel domains to generate a mapping relationship between objects, partitions and parallel domains, and to locate the parallel domain to which any object in the control base belongs based on the mapping relationship.

[0011] The system determines the capacity of the control base. If the capacity of the control base reaches the rated capacity of a single domain, the system uses a horizontal expansion configuration mechanism to expand the parallel domains of the control base. Otherwise, the system continuously monitors the capacity of the control base.

[0012] The extended parallel domains are deeply integrated with service-oriented architecture to obtain a horizontally extended architecture for the control base. An exception handling mechanism is then established within this horizontally extended architecture to identify exception types in the control base.

[0013] Preferably, a parallel domain object model is constructed based on a control base composed of several parallel domains to generate a mapping relationship between objects, partitions, and parallel domains, and the parallel domain to which any object in the control base belongs is located according to the mapping relationship, including:

[0014] Construct a control base containing several parallel domains, with each parallel domain loading several partitions, and each partition being the smallest logical management unit;

[0015] Construct a parallel domain object model consisting of an index, name, description, key name, and a list of partitions, and including partition attributes;

[0016] Based on the parallel domain object model, the mapping relationship between objects, partitions and parallel domains is generated, and the parallel domain to which any object in the control base belongs is located according to the mapping relationship.

[0017] The mapping relationships include the shared memory mapping relationship between objects and partitions, the shared memory mapping relationship between partitions and domains, and the location mapping relationship between objects and domains.

[0018] Preferably, before generating the mapping relationship between objects, partitions, and parallel domains based on the parallel domain object model, the process further includes:

[0019] Define the object ID as a 64-bit unsigned long integer, where the high 32 bits represent the object type and the low 32 bits represent the object serial number.

[0020] Preferably, the shared memory mapping relationship between objects and partitions includes:

[0021] The first-level mapping address is obtained based on the object type of the object ID, the second-level mapping address is obtained based on the middle part of the object in the first-level mapping, and the last-level mapping address is obtained based on the last part of the object in the second-level mapping. The partition number is stored in the last-level mapping.

[0022] Shared memory mapping between partitions and domains includes:

[0023] Calculate the total size of the shared memory mapping between partitions and domains, establish the mapping relationship between partitions and domains, obtain the mapping address through the partition number, and store the domain number in the mapping;

[0024] The location mapping relationship between objects and domains includes:

[0025] Obtain the partition number based on the object ID in the shared memory mapping relationship between the object and the partition;

[0026] Based on the partition number, the parallel domain is obtained in the shared memory mapping relationship between the partition and the domain, so as to locate the parallel domain to which the object belongs.

[0027] Preferably, if the control base capacity reaches the rated capacity of a single domain, then the horizontal expansion configuration mechanism is used to expand the parallel domains of the control base, including:

[0028] The horizontal scaling configuration tool creates new parallel domain names, creates new partitions, adds parallel domain objects and machine objects in a predefined database, and horizontally scales custom roles and permission configurations based on the existing parallel domain role configurations.

[0029] Import the newly added parallel domain measurement point objects into the control base and set the measurement point object ID generation structure to ensure that the devices under the partition and the measurement point object IDs are unique and consistent in horizontal expansion.

[0030] Based on the control base notification, horizontally extended network nodes load newly added objects in the parallel domain, and establish an anomaly detection and repair mechanism to detect the partition attributes in the newly added parallel domain;

[0031] Based on the control base notification, new servers within the parallel domain are updated to locate the shared memory library for resource positioning.

[0032] Preferably, the anomaly detection and repair mechanism for detecting partition attributes within the newly added parallel domain includes:

[0033] Detect the partition attributes of all objects under the newly added parallel domain partition and the partition loading attributes of the parallel domain objects;

[0034] If errors are detected in the partition attributes, the error object will be displayed and the erroneous attribute values ​​will be automatically corrected;

[0035] If an error is detected in the partition loading properties of a parallel domain object, an error parallel domain object will be displayed and the incorrect property values ​​will be automatically corrected.

[0036] Preferably, the extended parallel domains are deeply integrated with service-oriented architecture to obtain a horizontally scalable architecture for the control base. An exception handling mechanism is then established within this horizontally scalable architecture to identify control base exception types, including:

[0037] After receiving an application request, the domain service module uses the resource location service mechanism to determine the target domain to be accessed, and returns the data within and outside the target domain to the client application in a unified manner.

[0038] By introducing a client-side incremental subscription model and publishing subscription data to application modules based on this model, a horizontally scalable architecture that integrates access and subscription models is obtained.

[0039] Build an exception handling mechanism in the horizontally scaled architecture, and use the exception handling mechanism to detect the exception type of the control base in the request pattern and subscription pattern.

[0040] Preferably, introducing a client-side incremental subscription mode and publishing subscription data to application modules based on this mode includes:

[0041] The application module sends subscription requests to the parallel domain, and the subscription requests include adding to the specified subscription list, deleting the specified subscription list, and resetting the subscription list;

[0042] Receive and parse subscription pattern requests within the parallel domain, and update the channel's subscription list based on the parsed subscription type;

[0043] Calculate the incremental list of subscription requests and use the resource location service mechanism to determine the target domain of the incremental list;

[0044] If the subscription list contains a local domain, the changed data is received by listening for local changes and cached, and the object is added to the publishing pool; if the subscription list contains a foreign domain, an asynchronous subscription request is sent to the foreign domain, and the received foreign change data is added to the publishing pool.

[0045] The publishing pool publishes subscription data from objects in the pool to application modules by channel.

[0046] Preferably, an exception handling mechanism is built in the horizontally scaled architecture, and the exception handling mechanism is used to detect the exception types of the control base in the request mode and subscription mode, including:

[0047] Traverse the request and subscription patterns in the horizontally scaled architecture, and find the nodes in the request and subscription patterns to construct an improved attack tree model;

[0048] Determine the attack state of each node in the improved attack tree model. If the attack state is a leaf node, mark the current node as highlighted and match leaf nodes. If the attack state is not a leaf node, call the marking function to recursively mark non-leaf nodes.

[0049] The matching of leaf nodes and the recursive marking of non-leaf nodes are performed iteratively until the number of iterations is satisfied, and then the global state of the exception handling mechanism after the state update of each node is obtained.

[0050] A global state-based anti-target attack tree model is constructed based on the anomaly handling mechanism, and the anomaly type of the control base is identified through the anti-target attack tree model.

[0051] Preferably, a counter-target attack tree model is constructed based on the global state of the anomaly handling mechanism. The counter-target attack tree model identifies control base anomaly types, including:

[0052] Based on the anomaly handling mechanism settings in different time periods, the time interval is decomposed, the control base status in each time period is evaluated, and the historical control base status is selected to construct and train the anti-target attack tree model.

[0053] Based on the anomaly handling mechanism, the global state captures abnormal traffic when the control base status changes in real time. The abnormal traffic is used to identify the anomaly type of the control base and automatically generate alarms and logs.

[0054] The impact of control base anomaly types is simulated using a threat decomposition strategy, and the anti-target attack tree model is updated based on the impact level. The updated anti-target attack tree model is then used to correct control base anomalies.

[0055] The beneficial effects of this invention are as follows:

[0056] 1. This invention adopts a horizontal expansion technology that deeply integrates parallel domains and service-oriented architecture to horizontally expand the control system base, effectively solving the problems of large data volume, high frequency of change, multiple data types, high storage pressure, inability of a single node to meet the requirements, and high pressure of cross-regional synchronization in current automation systems.

[0057] 2. This invention models parallel domains, partitions, and objects, and combines this with resource location technology to construct the basic model of the control base. Horizontal expansion uses custom roles and permissions to quickly define the components required for horizontal expansion. At the same time, it adopts deep integration of parallel domains and service-oriented architecture to form a complete service-oriented process, which has the advantages of high real-time performance and strong concurrency. This invention defines exception types and optimizes and constrains applications and services, further improving the stability and accuracy of the control base. Attached Figure Description

[0058] To more clearly illustrate the technical solutions in the embodiments of the present invention or the prior art, the drawings used in the embodiments will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present invention. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.

[0059] Figure 1 This is a flowchart of an automated control base horizontal expansion method according to an embodiment of the present invention;

[0060] Figure 2 This is a schematic diagram of the domain model in an automated control base horizontal expansion method according to an embodiment of the present invention;

[0061] Figure 3 This is a schematic diagram of a partition model in an automated control base horizontal expansion method according to an embodiment of the present invention;

[0062] Figure 4 This is a functional diagram of horizontal expansion in an automated control base horizontal expansion method according to an embodiment of the present invention;

[0063] Figure 5 This is a diagram of measuring point object ID generation in an automated control base horizontal expansion method according to an embodiment of the present invention;

[0064] Figure 6 This is a parallel domain and service fusion diagram in an automated control base horizontal expansion method according to an embodiment of the present invention;

[0065] Figure 7 This is a flowchart of a horizontal expansion request and response method for an automated control base according to an embodiment of the present invention.

[0066] Figure 8 This is a diagram of the subscription object ID structure in an automated control base horizontal expansion method according to an embodiment of the present invention;

[0067] Figure 9 This is a flowchart of the subscription and publication process in a method for horizontal expansion of an automated control base according to an embodiment of the present invention;

[0068] Figure 10 This is a flowchart of the control base abnormality handling mechanism in an automated control base horizontal expansion method according to an embodiment of the present invention. Detailed Implementation

[0069] To further illustrate the various embodiments, the present invention provides accompanying drawings, which are part of the disclosure of the present invention. These drawings are mainly used to illustrate the embodiments and can be used in conjunction with the relevant descriptions in the specification to explain the operating principles of the embodiments. With reference to these drawings, those skilled in the art should be able to understand other possible implementation methods and the advantages of the present invention.

[0070] According to an embodiment of the present invention, a method for horizontally extending an automated control base is provided.

[0071] The present invention will now be further described in conjunction with the accompanying drawings and specific embodiments, such as... Figure 1 As shown, according to an embodiment of the present invention, a method for horizontally extending an automated control base includes:

[0072] S1. Construct a parallel domain object model based on a control base composed of several parallel domains to generate a mapping relationship between objects, partitions and parallel domains, and locate the parallel domain to which any object in the control base belongs based on the mapping relationship.

[0073] Specifically, a parallel domain object model is constructed based on a control base composed of several parallel domains to generate a mapping relationship between objects, partitions, and parallel domains. This mapping relationship is then used to locate the parallel domain to which any object in the control base belongs, including:

[0074] Construct a control base containing several parallel domains, with each parallel domain loading several partitions, and each partition being the smallest logical management unit;

[0075] Construct a parallel domain object model consisting of an index, name, description, key name, and a list of partitions, and including partition attributes;

[0076] Based on the parallel domain object model, the mapping relationship between objects, partitions and parallel domains is generated, and the parallel domain to which any object in the control base belongs is located according to the mapping relationship.

[0077] The mapping relationships include the shared memory mapping relationship between objects and partitions, the shared memory mapping relationship between partitions and domains, and the location mapping relationship between objects and domains.

[0078] This process, which generates objects based on the parallel domain object model and establishes the mapping relationship between partitions and parallel domains, also includes:

[0079] Define the object ID as a 64-bit unsigned long integer, where the high 32 bits represent the object type and the low 32 bits represent the object serial number;

[0080] The shared memory mapping relationship between objects and partitions includes:

[0081] The first-level mapping address is obtained based on the object type of the object ID, the second-level mapping address is obtained based on the middle part of the object in the first-level mapping, and the last-level mapping address is obtained based on the last part of the object in the second-level mapping. The partition number is stored in the last-level mapping.

[0082] Shared memory mapping between partitions and domains includes:

[0083] Calculate the total size of the shared memory mapping between partitions and domains, establish the mapping relationship between partitions and domains, obtain the mapping address through the partition number, and store the domain number in the mapping;

[0084] The location mapping relationship between objects and domains includes:

[0085] Obtain the partition number based on the object ID in the shared memory mapping relationship between the object and the partition;

[0086] Based on the partition number, the parallel domain is obtained in the shared memory mapping relationship between the partition and the domain, so as to locate the parallel domain to which the object belongs.

[0087] It should be noted that the parallel domain modeling and resource location methods for the control base include:

[0088] A domain, as an independent subsystem, handles data acquisition, computation, display, and storage within its domain. The automated control platform consists of multiple parallel domains. Each domain loads multiple partitions, with each partition serving as the smallest logical management unit. Each measurement acquisition object belongs to only one partition. The domain object model is as follows: Figure 2 As shown.

[0089] The parallel domain object model consists of a sequence number, name, description, key name, and partition list. Each network machine node is configured with a corresponding parallel domain. Different domains can also load the same partition object. The partition object model is as follows: Figure 3 As shown.

[0090] In addition to domain objects, all object modeling includes their respective partitions, thus constructing a parallel domain model framework. This defines the relationships between domains, partitions, machines, and data collection objects. For any object in the system, a resource location method is used to quickly locate its domain. This method achieves rapid location by constructing the relationship between object ID, partition, and domain. An object's ID is defined as a 64-bit unsigned long integer, where the high 32 bits represent the object type and the low 32 bits represent the object sequence number. This step includes:

[0091] ① Create a shared memory mapping between the object and the partition:

[0092] A mapping relationship between objects and partitions is established in shared memory. This mapping consists of three parts: a first-level mapping, a second-level mapping, and a final-level mapping. The first-level mapping establishes object type groups, with the object type being the high 32 bits of the ID. The total size of the first-level mapping is expressed as:

[0093]

[0094] In the formula, g1 represents the total size of the first-level mapping; m t This represents the system's maximum type number, taken as 8192; a n The values ​​represent the length of each type; k represents a fixed coefficient, which is 1024; L represents the memory length of a long integer.

[0095] Intermediate mapping establishes object mid-bit groups, where the mid-bit of the object is the middle 17 bits of the ID. The total size of the intermediate mapping is expressed as:

[0096]

[0097] In the formula, g2 represents the total size of the first-level mapping; t represents the median maximum value, which is 128*1024.

[0098] Establish a mapping relationship between primary and intermediate levels:

[0099] F n =S + n*tT;

[0100] In the formula, F represents the first-level mapping address, S represents the intermediate-level mapping address, and T represents the initial mapping address.

[0101] The final-level mapping establishes a grouping of the last bits of the object, where the last bit of the object is the lower 15 bits of the ID. The total size of the final-level mapping is represented as:

[0102]

[0103] In the formula, g3 represents the total size of the first-level mapping; z takes the maximum value of the last bit, 32*1024, and each bit in the last-level mapping stores the partition to which the object belongs.

[0104] Establish the mapping relationship between objects and partitions:

[0105] The first-level mapping address is obtained by using the object type of the object ID, the second-level mapping address is obtained by using the middle part of the object in the first-level mapping, the last-level mapping address is obtained by using the last part of the object in the second-level mapping, and finally the partition number is stored in the last-level mapping.

[0106] ② Create a shared memory mapping between the partition and the domain:

[0107] The total size of the shared memory mapping between partitions and domains is calculated using the following formula:

[0108]

[0109] In the formula, g4 represents the total size of the shared memory mapping between the partition and the domain; mp is the system's maximum partition number, 1024; an Indicates the length of each partition.

[0110] Establish a mapping relationship between partitions and domains:

[0111] Obtain the mapping address through the partition number, and store the domain number in the mapping.

[0112] ③ Quick location of objects and domains:

[0113] First, the partition number is obtained from the shared memory mapping between the object and the partition using the object ID. Then, the domain is obtained from the shared memory mapping between the partition and the domain using the partition number. This enables quick location of the domain to which the object belongs. By quickly locating the domain to which the object belongs through the resource location method, the access efficiency of parallel domains is improved.

[0114] S2. Determine the capacity of the control base. If the capacity of the control base reaches the rated capacity of a single domain, then use the horizontal expansion configuration mechanism to expand the parallel domain of the control base. Otherwise, continuously monitor the capacity of the control base.

[0115] Specifically, if the control base capacity reaches the rated capacity of a single domain, the horizontal expansion configuration mechanism is used to expand the parallel domains of the control base, including:

[0116] The horizontal scaling configuration tool creates new parallel domain names, creates new partitions, adds parallel domain objects and machine objects in a predefined database, and horizontally scales custom roles and permission configurations based on the existing parallel domain role configurations.

[0117] Import the newly added parallel domain measurement point objects into the control base and set the measurement point object ID generation structure to ensure that the devices under the partition and the measurement point object IDs are unique and consistent in horizontal expansion.

[0118] Based on the control base notification, horizontally extended network nodes load newly added objects in parallel domains, and an anomaly detection and repair mechanism is established to detect the partition attributes in the newly added parallel domains.

[0119] The establishment of an anomaly detection and repair mechanism to detect partition attributes within newly added parallel domains includes:

[0120] Detect the partition attributes of all objects under the newly added parallel domain partition and the partition loading attributes of the parallel domain objects;

[0121] If errors are detected in the partition attributes, the error object will be displayed and the erroneous attribute values ​​will be automatically corrected;

[0122] If an error is detected in the partition loading properties of a parallel domain object, an error parallel domain object will be displayed and the incorrect property values ​​will be automatically corrected.

[0123] Based on the control base notification, new servers within the parallel domain are updated to locate the shared memory library for resource positioning.

[0124] It should be noted that the horizontal expansion design of parallel domains includes:

[0125] When the system reaches its single-domain rated capacity, the automation control base needs to be horizontally expanded in order to ensure that the operating system is not affected.

[0126] The first step is to launch the horizontal scaling configuration tool and enter the new horizontal domain name. This involves creating new partition objects, domain objects, and machine objects in the database, and establishing the association between the partition objects and domain objects. Specifically, the new partition object is added to the partition load list of the domain object, and the relationship between the machine object and the domain object is established.

[0127] In the horizontal scaling configuration tool, select "Configure horizontal scaling based on existing domain roles" to customize roles and permissions. Horizontal scaling roles define the components deployed and run on the machines, including: front-end data collection roles, general human-machine roles, intelligent application roles, and basic platform roles. Permissions define the application permissions the machines will have after horizontal scaling. The server-side horizontal scaling feature list is as follows: Figure 4 As shown.

[0128] After the operation is completed, the entire system runtime environment is automatically deployed on the specified horizontally expanded machine nodes. The second step is to control the base station to import the newly added parallel domain measurement point objects. To ensure the uniqueness of device and measurement point object IDs under the partition and the consistency of horizontal expansion, this invention defines an ID generation structure, such as... Figure 5 As shown, the steps of this method are as follows:

[0129] ① Create a new object by horizontal expansion, and select the object type;

[0130] ②Retrieve the partition to which the parent object of this object belongs;

[0131] ③ Obtain the maximum sequence number of the object table within its partition;

[0132] ④ Based on the above information and... Figure 5 The defined composition structure allows for the rapid generation of new objects.

[0133] This method ensures the consistency of objects, partitions, and domains after the system is horizontally scaled.

[0134] The third step involves the control base notifying the horizontally extending network nodes to load objects within the domain and run the system. To ensure correct loading of objects within the horizontally extending domain, this invention proposes an anomaly detection and repair method. This method detects the partition attributes of all objects under a domain partition and the partition loading attributes of the domain objects. When a partition attribute error is detected (e.g., the partition attribute is empty, the partition attribute is inconsistent with the parent object's partition attribute), the system prompts an error object and automatically corrects the erroneous attribute value. When a domain object partition loading attribute error is detected (e.g., the partition loading attribute is empty, the partition loading attribute contains partitions not belonging to this domain), the system prompts an error domain object and automatically corrects the erroneous attribute value.

[0135] The fourth step involves the control base notifying servers in each parallel domain to update resource location shared memory libraries.

[0136] It should be noted that one of the features of the aforementioned horizontal expansion is role customization, anomaly repair, and online expansion.

[0137] S3. Deeply integrate the expanded parallel domains with service-oriented architecture to obtain a horizontally expanded architecture for the control base, and establish an exception handling mechanism in the horizontally expanded architecture to identify the exception types of the control base.

[0138] Specifically, the expanded parallel domains are deeply integrated with service-oriented architecture to obtain a horizontally scalable architecture for the control base. An exception handling mechanism is then established within this horizontally scalable architecture to identify control base exception types, including:

[0139] After receiving an application request, the domain service module uses the resource location service mechanism to determine the target domain to be accessed, and returns the data within and outside the target domain to the client application in a unified manner.

[0140] By introducing a client-side incremental subscription model and publishing subscription data to application modules based on this model, a horizontally scalable architecture that integrates access and subscription models is obtained.

[0141] This includes introducing a client-side incremental subscription model and publishing subscription data to application modules based on this model:

[0142] The application module sends subscription requests to the parallel domain, and the subscription requests include adding to the specified subscription list, deleting the specified subscription list, and resetting the subscription list;

[0143] Receive and parse subscription pattern requests within the parallel domain, and update the channel's subscription list based on the parsed subscription type;

[0144] Calculate the incremental list of subscription requests and use the resource location service mechanism to determine the target domain of the incremental list;

[0145] If the subscription list contains a local domain, the changed data is received by listening for local changes and cached, and the object is added to the publishing pool; if the subscription list contains a foreign domain, an asynchronous subscription request is sent to the foreign domain, and the received foreign change data is added to the publishing pool.

[0146] The publishing pool publishes subscription data from objects in the pool to application modules by channel.

[0147] Build an exception handling mechanism in the horizontally scaled architecture, and use the exception handling mechanism to detect the exception type of the control base in the request pattern and subscription pattern.

[0148] Specifically, an exception handling mechanism is built into the horizontally scaled architecture, and this mechanism is used to detect exception types in the control base of request and subscription patterns, including:

[0149] Traverse the request and subscription patterns in the horizontally scaled architecture, and find the nodes in the request and subscription patterns to construct an improved attack tree model;

[0150] Determine the attack state of each node in the improved attack tree model. If the attack state is a leaf node, mark the current node as highlighted and match leaf nodes. If the attack state is not a leaf node, call the marking function to recursively mark non-leaf nodes.

[0151] The matching of leaf nodes and the recursive marking of non-leaf nodes are performed iteratively until the number of iterations is satisfied, and then the global state of the exception handling mechanism after the state update of each node is obtained.

[0152] A global state-based anti-target attack tree model is constructed based on the anomaly handling mechanism, and the anomaly type of the control base is identified through the anti-target attack tree model.

[0153] It's important to note that building an exception handling mechanism within a horizontally scaled architecture, and utilizing this mechanism to detect control floor anomalies in request and subscription patterns, and constructing an improved attack tree model by traversing the request and subscription patterns in the architecture, can accurately identify and label potential threats in the system. This process determines the attack status of each node, matches and recursively labels them based on the characteristics of leaf and non-leaf nodes, ensuring that the system continuously updates node states when facing complex anomalies, ultimately forming a global exception handling mechanism. This method significantly improves the system's anomaly detection capability and response speed, ensuring that problematic nodes can be quickly identified and isolated when multiple nodes are running in parallel, and achieving effective fault tolerance and resource optimization.

[0154] In addition, it should be noted that the basic architecture of the attack tree includes:

[0155] 1. Root node: The root node of the attack tree represents the attacker's ultimate goal, which is usually system damage, information leakage, or service interruption.

[0156] 2. Non-leaf nodes: Non-leaf nodes represent intermediate attack steps or conditions, and are usually connected to their child nodes through logical relationships (AND / OR). For example, some attack behaviors may require multiple sub-steps to occur simultaneously (AND relationship), while other attack behaviors may only require satisfying one sub-step (OR relationship).

[0157] 3. Leaf nodes: Leaf nodes are the bottom-level nodes of the attack tree. They usually represent specific attack behaviors or system vulnerabilities, and attackers can use these operations to gain control of the system.

[0158] The implementation steps of the attack tree model include:

[0159] Identify the root node of the attack tree, which is the attacker's ultimate goal. For example, an attacker might want to gain system administrator privileges or leak sensitive data.

[0160] By analyzing the system's security architecture, components, protocols, etc., possible attack paths are identified and broken down into multiple sub-attack steps.

[0161] The attack behavior is broken down into specific operations (such as bypassing firewalls, exploiting vulnerabilities, social engineering, etc.) and mapped to leaf nodes.

[0162] Based on the conditional relationships of the attack path, select logic (such as AND, OR) to connect each node to form a complete attack path.

[0163] It's important to note that the anti-attack tree model is an analytical tool that contrasts with the attack tree model. It aims to reverse-engineer potential security threats to a system by identifying its protective measures, critical components, and strategies. In the anti-attack tree, the root node represents the system's protected target, while the leaf nodes represent protective measures or strategies. The model's purpose is to help analyze defense paths and identify potential security vulnerabilities or weaknesses.

[0164] The basic architecture of an anti-attack tree:

[0165] 1. The root node represents the ultimate protection goal of the system, such as protecting the system's integrity, confidentiality, or availability.

[0166] 2. Non-leaf nodes represent protective measures or defense strategies used to resist various attacker methods. They are usually connected to their child nodes through logical relationships (AND / OR) to represent combined protection methods.

[0167] 3. Leaf nodes represent specific protection measures or strategies, such as encryption, authentication, and access control.

[0168] The implementation steps of the anti-attack tree model include:

[0169] Identify the root node of the anti-attack tree, which is the system's protection target. For example, protecting sensitive data from leakage.

[0170] Analyze the protective measures in the system, such as firewalls, encryption protocols, and intrusion detection systems, and break them down into specific protection strategies or technical means.

[0171] By thinking in reverse about the attack paths, we can identify protective paths and measures to defend against these attacks.

[0172] By connecting protective measures using logical relationships such as AND and OR, an effective defense path can be formed. For example, to prevent data leakage, both encryption and access control measures can be implemented.

[0173] A global state-based anti-target attack tree model, based on anomaly handling mechanisms, enables the system to identify anomaly types in the control console from the perspective of attack paths, thereby improving the system's early warning capability for potential threats. Through this automated control console horizontal scaling method, the system maintains high efficiency and stability when processing large-scale data and dealing with complex network environments, significantly enhancing the system's security, reliability, and flexibility.

[0174] Among them, a global state-based anti-target attack tree model is constructed based on the anomaly handling mechanism. The anomaly types of the control base are identified through the anti-target attack tree model, including:

[0175] Based on the anomaly handling mechanism settings in different time periods, the time interval is decomposed, the control base status in each time period is evaluated, and the historical control base status is selected to construct and train the anti-target attack tree model.

[0176] Based on the anomaly handling mechanism, the global state captures abnormal traffic when the control base status changes in real time. The abnormal traffic is used to identify the anomaly type of the control base and automatically generate alarms and logs.

[0177] The impact of control base anomaly types is simulated using a threat decomposition strategy, and the anti-target attack tree model is updated based on the impact level. The updated anti-target attack tree model is then used to correct control base anomalies.

[0178] It should be noted that the global state based on the anomaly handling mechanism captures abnormal traffic in real time when the control base's state changes, promptly identifies anomaly types, and automatically generates alarms and logs, thereby improving the system's response speed and observability. By introducing a threat decomposition strategy to simulate the potential impact of anomaly types on the system, and dynamically updating the anti-target attack tree model based on the degree of impact, the system effectively corrects anomalies and optimizes strategies, enhancing its adaptability and security. Overall, this significantly improves the stability, intelligent diagnostic capabilities, and horizontal scalability of the control base in complex business environments.

[0179] It should be noted that, as Figure 6 As shown, the deep integration of parallel domains and service-oriented architecture includes:

[0180] The complete horizontally expandable operating architecture of the automated control base in this invention achieves a high degree of integration between parallel domains and service-oriented architecture. The communication process begins with interaction between application modules and service modules within the domain's network nodes, using methods including request-response and publish-subscribe. Data is then requested from services outside the domain, and finally, both domain and external data are returned to the client application.

[0181] The deep integration of parallel domains and service-oriented architecture mainly consists of intra-domain and inter-domain request-response and publish-subscribe mechanisms.

[0182] Request-response process: After receiving an application request, the intra-domain service module first determines the domain to be accessed through the resource location service. If the target domain is the local domain, it accesses the local real-time library or commercial library. If the target domain is an external node, it accesses inter-domain services, such as the real-time library service. Finally, it returns the intra-domain and external data to the client application. Taking the real-time library service as an example, the entire request-response process is as follows: Figure 7 As shown.

[0183] Real-time library service request and response process:

[0184] The application module sends a request to the domain real-time library module through the local real-time library interface.

[0185] The real-time library module within the domain parses requests and identifies the corresponding processing services based on the request topic, including read, write, and query services.

[0186] If a read / write request is received, the target domain is first quickly located using a resource location method. If it is a local domain, the local real-time library interface is called; if it is a foreign domain, data is requested from the real-time library service of the target domain. Finally, the request result data is serialized and sent to the application module.

[0187] If a lookup request is received, first obtain all domains in the system, then perform lookup requests on all domains in turn, and finally serialize the request result data and send it to the application module.

[0188] Publish-Subscribe Process: In the subscription of the automation control base application module, this invention introduces an incremental subscription mode. That is, client subscriptions have three processing methods: add, delete, and reset, such as... Figure 8 As shown, the subscription object ID of this invention is generated and parsed using a set of 64-bit numbers with a fixed structure.

[0189] Each subscribed object ID includes a state number, application number, type number, attribute number, and sequence number. The entity object ID can be immediately generated from the type number and sequence number, allowing each subscribed object ID to be immediately linked to its state number, application number, object ID, and attribute number. Incremental subscription saves a significant amount of duplicate subscriptions and improves subscription efficiency. Taking a real-time library service as an example, the server uses a local change queue to listen for changes while asynchronously listening for subscription requests from clients. If the object subscribed to by the client application belongs to an external domain, it uses an asynchronous subscription method to subscribe to data from the specified external domain real-time library service and returns the subscription callback data to the application module through the service bus.

[0190] The real-time library client network interface provides subscription and unsubscription interfaces. When unsubscribing, the real-time library service within the domain first cancels the list of all subscribed objects for this channel, then notifies all real-time library services outside the domain to unsubscribe, and finally removes the channel from the real-time library service within the domain. To improve service concurrency, this invention establishes an asynchronous pool of object changes within the service. This asynchronous pool simultaneously receives both locally changed objects and externally changed objects. The pool uses high and low watermark management and notifies the required channels in real time, which then publish the changes to the application modules. To improve service execution efficiency, this invention stipulates that a single public channel is used between domains, while application modules and services within the domain use multiple channels. The advantage of using a public channel between domains is that it reduces a large amount of duplicate subscription information, which is especially important in scenarios with tens of millions of users. Therefore, this invention adopts an intra-domain incremental subscription and an inter-domain channel reuse mode as a deep integration of parallel domains and service-oriented architecture to improve performance. Figure 9 As shown, the real-time library service publish / subscribe process includes:

[0191] ① The application module sends a subscription request to the real-time library service within the domain. There are three subscription methods: adding to a specified subscription list, deleting from a specified subscription list, and resetting the subscription list.

[0192] ② The real-time library service receives and parses subscription requests.

[0193] ③ Update the subscription list of this channel according to the subscription type.

[0194] ④ Calculate the incremental list for this request.

[0195] ⑤ Determine the target domain for the incremental list using resource location methods.

[0196] ⑥ If the subscription list contains local domains, then receive change information by listening for local changes in the cache and add objects to the publishing pool.

[0197] ⑦ If the subscription list contains external regions, then send an asynchronous subscription request to the external real-time library service and add the received external change data to the publishing pool.

[0198] ⑧ The publishing pool publishes objects in the pool by channel.

[0199] ⑨ The application module receives subscription data.

[0200] Specifically, when the real-time library service within the domain exits abnormally, the application module receives a service exit signal and immediately reconnects to the service periodically. Similarly, when the real-time library service outside the domain exits abnormally, the real-time library service within the domain receives a service exit signal from the outside domain and immediately reconnects to the outside domain service periodically. This invention employs a deep integration of parallel domains and service-oriented architecture to effectively address the stability, scalability, and elasticity of horizontally scaled systems. This makes the automation control platform more versatile, practical, and easy to use. The above method is a horizontal scaling approach proposed in this invention, one of its key features being the deep integration of parallel domains and service-oriented architecture.

[0201] It should be noted that this invention also includes horizontally extended online visualization:

[0202] This invention employs a horizontal scaling method that deeply integrates parallel domains and service-oriented architecture. After horizontal scaling of the new parallel domain, the automated control base station connects in real time and monitors online. The automated control base station achieves online access for tens of millions of capacity measurement points and secure and reliable horizontal scaling. For requests and subscriptions under deep service-oriented architecture, alarms and logs are generated promptly in the event of network anomalies. Table 1 shows the anomaly types provided by this invention.

[0203] Table 1: Control Base Malfunction Types

[0204]

[0205]

[0206] To address various anomalies, the application and service modules implement corresponding handling mechanisms, such as... Figure 10 As shown, when the control base service module processes application requests, it performs corresponding logical processing for system exception scenarios and returns the exception code serialized to the application module. When the application module deserializes and parses the exception code, it performs corresponding business processing, realizing a normal closed loop for exception handling and ensuring the safe and stable operation of the control base.

[0207] This invention adopts a horizontally scalable architecture that integrates parallel domains and service-oriented architecture. Based on a layered distributed system automation software platform, it leverages technologies such as system heterogeneity, network topology, real-time databases, and historical databases. Utilizing bus technology, it integrates production, management, and environmental meteorological data, laying the platform foundation for data sharing, horizontal professional integration, and vertical demand convergence. Together with various professional subsystems, it provides an integrated and intelligent solution for the safe, high-quality, economical, and environmentally friendly operation of industrial automation systems. In this process, this invention adheres to the following principles:

[0208] ① Openness: Meet the needs of various industrial automation and power grid development and application integration, and build an open ecosystem.

[0209] ② Real-time performance: Real-time reflection of the power automation operation status, supporting online power analysis applications.

[0210] ③ Scalability: Supports elastic expansion of system resources, enhancing system scalability.

[0211] ④ Security: Build a security protection system based on the new architecture.

[0212] ⑤ Reliability: Improve the reliability of system operation based on high availability technology.

[0213] ⑥ Standardization: Follow international, national, industry and enterprise standards to develop interface specifications.

[0214] The above description is only a preferred embodiment of the present invention and is not intended to limit the present invention. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of the present invention should be included within the protection scope of the present invention.

Claims

1. A method for horizontally extending an automated control base, characterized in that, The method includes: A parallel domain object model is constructed based on a control base composed of several parallel domains to generate a mapping relationship between objects, partitions and parallel domains, and to locate the parallel domain to which any object in the control base belongs based on the mapping relationship. The system determines the capacity of the control base. If the capacity of the control base reaches the rated capacity of a single domain, the system uses a horizontal expansion configuration mechanism to expand the parallel domains of the control base. Otherwise, the system continuously monitors the capacity of the control base. The extended parallel domains are deeply integrated with service-oriented architecture to obtain a horizontally extended architecture for the control base. An exception handling mechanism is then established within this horizontally extended architecture to identify exception types in the control base.

2. The method for horizontally extending an automated control base according to claim 1, characterized in that, The control base, composed of several parallel domains, constructs a parallel domain object model to generate a mapping relationship between objects, partitions, and parallel domains. Based on this mapping relationship, it locates the parallel domain to which any object in the control base belongs, including: Construct a control base containing several parallel domains, with each parallel domain loading several partitions, and each partition being the smallest logical management unit; Construct a parallel domain object model consisting of an index, name, description, key name, and a list of partitions, and including partition attributes; Based on the parallel domain object model, the mapping relationship between objects, partitions and parallel domains is generated, and the parallel domain to which any object in the control base belongs is located according to the mapping relationship. The mapping relationships include shared memory mapping relationships between objects and partitions, shared memory mapping relationships between partitions and domains, and location mapping relationships between objects and domains.

3. The method for horizontally extending an automated control base according to claim 2, characterized in that, Before generating the mapping relationship between objects, partitions, and parallel domains based on the parallel domain object model, the following is also included: Define the object ID as a 64-bit unsigned long integer, where the high 32 bits represent the object type and the low 32 bits represent the object serial number.

4. The method for horizontally extending an automated control base according to claim 3, characterized in that, The shared memory mapping relationship between the object and the partition includes: The first-level mapping address is obtained based on the object type of the object ID, the second-level mapping address is obtained based on the middle part of the object in the first-level mapping, and the last-level mapping address is obtained based on the last part of the object in the second-level mapping. The partition number is stored in the last-level mapping. The shared memory mapping between the partition and the domain includes: Calculate the total size of the shared memory mapping between partitions and domains, establish the mapping relationship between partitions and domains, obtain the mapping address through the partition number, and store the domain number in the mapping; The location mapping relationship between the object and the domain includes: Obtain the partition number based on the object ID in the shared memory mapping relationship between the object and the partition; Based on the partition number, the parallel domain is obtained in the shared memory mapping relationship between the partition and the domain, so as to locate the parallel domain to which the object belongs.

5. The method for horizontally extending an automated control base according to claim 1, characterized in that, If the capacity of the control base reaches the rated capacity of a single domain, then the horizontal expansion configuration mechanism is used to expand the parallel domains of the control base, including: The horizontal scaling configuration tool creates new parallel domain names, creates new partitions, adds parallel domain objects and machine objects in a predefined database, and horizontally scales custom roles and permission configurations based on the existing parallel domain role configurations. Import the newly added parallel domain measurement point objects into the control base and set the measurement point object ID generation structure to ensure that the devices under the partition and the measurement point object IDs are unique and consistent in horizontal expansion. Based on the control base notification, horizontally extended network nodes load newly added objects in the parallel domain, and establish an anomaly detection and repair mechanism to detect the partition attributes in the newly added parallel domain; Based on the control base notification, new servers within the parallel domain are updated to locate the shared memory library for resource positioning.

6. The method for horizontally extending an automated control base according to claim 5, characterized in that, The establishment of an anomaly detection and repair mechanism for detecting partition attributes within the newly added parallel domain includes: Detect the partition attributes of all objects under the newly added parallel domain partition and the partition loading attributes of the parallel domain objects; If errors are detected in the partition attributes, the error object will be displayed and the erroneous attribute values ​​will be automatically corrected; If an error is detected in the partition loading properties of a parallel domain object, an error parallel domain object will be displayed and the incorrect property values ​​will be automatically corrected.

7. The method for horizontally extending an automated control base according to claim 1, characterized in that, The process involves deeply integrating the expanded parallel domains with service-oriented architecture to obtain a horizontally scalable architecture for the control base. An exception handling mechanism is then established within this horizontally scalable architecture to identify control base exception types, including: After receiving an application request, the domain service module uses the resource location service mechanism to determine the target domain to be accessed, and returns the data within and outside the target domain to the client application in a unified manner. By introducing a client-side incremental subscription model and publishing subscription data to application modules based on this model, a horizontally scalable architecture that integrates access and subscription models is obtained. Build an exception handling mechanism in the horizontally scaled architecture, and use the exception handling mechanism to detect the exception type of the control base in the request pattern and subscription pattern.

8. The method for horizontally extending an automated control base according to claim 7, characterized in that, The introduction of a client-side incremental subscription mode, and the subsequent publication of subscription data to the application module based on this mode, includes: The application module sends subscription requests to the parallel domain, and the subscription requests include adding a specified subscription list, deleting a specified subscription list, and resetting the subscription list; Receive and parse subscription pattern requests within the parallel domain, and update the channel's subscription list based on the parsed subscription type; Calculate the incremental list of subscription requests and use the resource location service mechanism to determine the target domain of the incremental list; If the subscription list contains a local domain, the changed data is received by listening for local changes and cached, and the object is added to the publishing pool; if the subscription list contains a foreign domain, an asynchronous subscription request is sent to the foreign domain, and the received foreign change data is added to the publishing pool. The publishing pool publishes subscription data from objects in the pool to application modules by channel.

9. The method for horizontally extending an automated control base according to claim 8, characterized in that, The construction of an exception handling mechanism in a horizontally scaled architecture, and the use of this mechanism to detect exception types in the control base of request and subscription patterns, includes: Traverse the request and subscription patterns in the horizontally scaled architecture, and find the nodes in the request and subscription patterns to construct an improved attack tree model; Determine the attack state of each node in the improved attack tree model. If the attack state is a leaf node, mark the current node as highlighted and match leaf nodes. If the attack state is not a leaf node, call the marking function to recursively mark non-leaf nodes. The matching of leaf nodes and the recursive marking of non-leaf nodes are performed iteratively until the number of iterations is satisfied, and then the global state of the exception handling mechanism after the state update of each node is obtained. A global state-based anti-target attack tree model is constructed based on the anomaly handling mechanism, and the anomaly type of the control base is identified through the anti-target attack tree model.

10. A method for horizontally extending an automated control base according to claim 9, characterized in that, The global state construction based on the anomaly handling mechanism forms an anti-target attack tree model, which identifies control base anomaly types, including: Based on the anomaly handling mechanism settings in different time periods, the time interval is decomposed, the control base status in each time period is evaluated, and the historical control base status is selected to construct and train the anti-target attack tree model. Based on the anomaly handling mechanism, the global state captures abnormal traffic when the control base status changes in real time. The abnormal traffic is used to identify the anomaly type of the control base and automatically generate alarms and logs. The impact of control base anomaly types is simulated using a threat decomposition strategy, and the anti-target attack tree model is updated based on the impact level. The updated anti-target attack tree model is then used to correct control base anomalies.

Citation Information

Patent Citations

  • A Method of Rapid Horizontal Expansion of Database

    CN102930062B

  • RabbitMQ queue level extension method and system based on Shovel

    CN116866279A