An engineering configuration method and related apparatus

By identifying and caching unlocked engineering configuration item data objects on the server side and dynamically adjusting the locking range, the problem of low configuration efficiency for multiple clients in large DCS systems is solved, and efficient and flexible online collaborative configuration for multiple clients is achieved.

CN116184949BActive Publication Date: 2026-05-01SUPCON TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
SUPCON TECH CO LTD
Filing Date
2022-12-29
Publication Date
2026-05-01

AI Technical Summary

Technical Problem

In large-scale DCS system projects, resource access conflicts and content merging issues during multi-client configuration operations lead to low configuration efficiency. Existing technologies have large configuration granularity, a wide range of locking scope, and high restrictions, which cannot effectively improve the efficiency of online collaborative configuration for multiple clients.

Method used

The server responds to client requests to determine whether the engineering configuration items are locked, loads and caches the unlocked configuration data objects, and locks and operates on the engineering configuration items as the smallest granularity, dynamically adjusts the locking range, and optimizes the configuration process by utilizing configuration information and relationships.

Benefits of technology

It enables online collaborative configuration for multiple clients, reduces configuration granularity, improves configuration efficiency and flexibility, reduces data conflicts, supports multi-threaded concurrent processing, and improves the response efficiency of configuration operations.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116184949B_ABST
    Figure CN116184949B_ABST
Patent Text Reader

Abstract

The application discloses an engineering configuration method and related device, and divides a minimum configuration operation object by taking a single engineering configuration item as a granularity, checks whether a data object of the engineering configuration item is locked by other clients when any client requests to perform a configuration operation on the engineering configuration item, loads and caches the data object of the engineering configuration item and other data objects which are inseparable from the data object of the engineering configuration item, and returns the data object and the other data objects to the client after locking the engineering configuration item and other engineering configuration items which are inseparable from the engineering configuration item, so that the first client performs a configuration operation on the configuration data object. If a preset saving time is reached, the modified configuration data object is saved. It can be seen that the application takes the engineering configuration item as a minimum granularity for configuration, reduces the configuration granularity, reduces the range of the data object locked by a single client, realizes online collaborative configuration of multiple clients, and improves the configuration efficiency.
Need to check novelty before this filing date? Find Prior Art

Description

An engineering configuration method and related apparatus Technical Field

[0001] This application relates to the field of software engineering technology, and in particular to an engineering configuration method and related apparatus. Background Technology

[0002] In large-scale DCS system projects, the configuration scale often reaches hundreds of thousands of points. To improve project efficiency and speed up the project schedule, multiple engineers often need to use multiple clients to simultaneously perform configuration operations on the same project. Currently, to avoid resource access conflicts and the problem of merging configuration content during multi-client configuration, the configuration project is often split into relatively independent and closed areas. However, due to the large granularity of the configuration project split, the scope of online configuration is wide, resulting in high restrictions on client configuration operations. Summary of the Invention

[0003] This application provides an engineering configuration method and related apparatus, as follows:

[0004] An engineering configuration method, applied to the server side, includes:

[0005] In response to the configuration request of the first engineering configuration item sent by the first client, it is determined whether the data object of the first engineering configuration item is locked. The first client is any one of the multiple clients that have established a session with the server, and the first engineering configuration item is any one of the multiple engineering configuration items obtained by dividing the configuration project.

[0006] If the data object of the first engineering configuration item is not locked, load and cache the configuration data object of the first engineering configuration item. The configuration data object includes the data object of the first engineering configuration item and the data object of engineering configuration items that have a preset inseparable relationship with the first engineering configuration item.

[0007] The configuration data object of the first engineering configuration item is returned to the first client, and the first engineering configuration item and engineering configuration items that have a preset inseparable relationship with the first engineering configuration item are locked, so that the first client can perform configuration operations on the configuration data object, the configuration operations including editing operations;

[0008] If a preset saving time is reached, the modified configuration data object is saved. The saving time includes when the configuration data object is modified.

[0009] Optionally, before determining whether the data object of the first engineering configuration item is locked in response to a configuration request sent by the first client for the first engineering configuration item, this method further includes:

[0010] In response to the creation command of the configuration project, the configuration project is divided into multiple project configuration items, and a tree structure of the configuration project is constructed according to the association between the data objects of the project configuration items. Each node in the tree structure represents a data object of a project configuration item.

[0011] Configure an editing interface object for each data object represented by a node in the tree structure, and store the correspondence between data objects and editing interface objects;

[0012] Based on the association, configuration information of the data object represented by each node in the tree structure is generated. The configuration information of the target data object includes the identifier, segmentation identifier, and attribute list of the target data object. The segmentation identifier is used to indicate whether the target data object is divisible. The attribute list includes the correspondence between the identifiers of the target data object's sub-data objects and the loading identifiers. The loading identifier is used to indicate whether it is loaded together with the target data object. The target data object includes any data object.

[0013] In response to the command to open the configuration project sent by the first client, the creation result of the configuration project is returned to the first client, and the creation result includes at least the information of each configuration item of the project.

[0014] Optionally, loading and caching the configuration data object of the first project configuration item includes:

[0015] Obtain the configuration information of the first engineering configuration item, and determine whether the first engineering configuration item is divisible based on the segmentation identifier in the configuration information of the first engineering configuration item;

[0016] If the first engineering configuration item is indivisible, load and cache the configuration data object of the first engineering configuration item. The configuration data object includes the data object of the first engineering configuration item and all sub-data objects of the data object of the first engineering configuration item.

[0017] When the first engineering configuration item is divisible, based on the attribute list in the configuration configuration information of the first engineering configuration item, a sub-data object loaded together with the data object of the first engineering configuration item is obtained as the target sub-data object. The configuration data object of the first engineering configuration item is loaded and cached. The configuration data object of the first engineering configuration item includes the data object of the first engineering configuration item and the target sub-data object.

[0018] Optionally, locking the first engineering configuration item and engineering configuration items that have a preset inseparable relationship with the first engineering configuration item includes:

[0019] Update the status flag of the first engineering configuration item to "locked";

[0020] Update the status flag of each engineering configuration item that has a preset inseparable relationship with the first engineering configuration item to be locked.

[0021] Optionally, determining whether the data object of the first engineering configuration item is locked includes:

[0022] Determine whether the status flags of the first engineering configuration item and each engineering configuration item that has a preset inseparable relationship with the first engineering configuration item are all unlocked. If so, determine that the data object of the first engineering configuration item is not locked.

[0023] Optionally, this method also includes:

[0024] If the data object of the first engineering configuration item is locked, a lock notification message is sent to the first client; if a forced occupancy instruction is received from the first client, based on the pre-configured permission information, it is determined whether the first client has the forced occupancy permission for the first engineering configuration item. The permission information includes at least the correspondence between the identifier of each client and the permission identifier used to indicate whether the client has the forced occupancy permission for the engineering configuration item.

[0025] If it is determined that the first client has the mandatory occupancy permission for the first project configuration item, then the configuration data object of the first project configuration item is returned to the first client so that the first client can perform the configuration operation on the configuration data object.

[0026] If it is determined that the first client does not have the mandatory occupancy permission for the first project configuration item, a mandatory occupancy failure notification is returned to the first client.

[0027] Optionally, this method also includes:

[0028] If a read-only open instruction is received for the first engineering configuration item, the configuration data object of the first engineering configuration item with a read-only identifier is returned to the first client, so that the first client can display the configuration data object of the first engineering configuration item in a read-only open manner.

[0029] Optionally, the saving timing also includes receiving a page close request for the first engineering configuration item, wherein saving the modified configuration data object if a preset saving timing is reached includes:

[0030] If a close page request for the first engineering configuration item is received, check whether the configuration data object has been modified;

[0031] If modifications are made, the modified and unsaved configuration data objects will be used as data objects to be saved. The saving method of the data objects to be saved will be determined based on at least the segmentation identifier of the data objects to be saved, and the data objects to be saved will be saved according to the saving method of the data objects to be saved.

[0032] If no modifications are made, the configuration data object is released;

[0033] Update the status flag of each configuration data object to be unlocked.

[0034] An engineering configuration device, applied to a server, includes:

[0035] The lock status determination unit is used to respond to the configuration request of the first engineering configuration item sent by the first client and determine whether the data object of the first engineering configuration item is locked. The first client is any one of the multiple clients that have established a session with the server, and the first engineering configuration item is any one of the multiple engineering configuration items obtained by dividing the configuration project.

[0036] The loading unit is used to load and cache the configuration data object of the first engineering configuration item if the data object of the first engineering configuration item is not locked. The configuration data object includes the data object of the first engineering configuration item and the data object of the engineering configuration item that has a preset inseparable relationship with the first engineering configuration item.

[0037] The configuration data return unit is used to return the configuration data object of the first engineering configuration item to the first client;

[0038] A lock state update unit is used to lock the first engineering configuration item and engineering configuration items that have a preset inseparable relationship with the first engineering configuration item, so that the first client can perform configuration operations on the configuration data object, the configuration operations including editing operations;

[0039] The configuration data saving unit is used to save the modified configuration data object when a preset saving time is reached, wherein the saving time includes when the configuration data object is modified.

[0040] An engineering configuration system includes: a server and multiple clients;

[0041] The client is used to send a configuration request for a first engineering configuration item to the server, wherein the first engineering configuration item is any one of multiple engineering configuration items obtained by dividing the engineering configuration;

[0042] The server is used to determine whether the data object of the first engineering configuration item is locked. If the data object of the first engineering configuration item is not locked, the server loads and caches the configuration data object of the first engineering configuration item. The configuration data object includes the data object of the first engineering configuration item and the data object of the engineering configuration item that has a preset inseparable relationship with the first engineering configuration item.

[0043] The server returns the configuration data object of the first engineering configuration item to the client and locks the first engineering configuration item and engineering configuration items that have a preset inseparable relationship with the first engineering configuration item.

[0044] The client is used to perform configuration operations on the configuration data object, and the configuration operations include editing operations.

[0045] The server is used to save the modified configuration data object when a preset saving time is reached, wherein the saving time includes when the configuration data object is modified.

[0046] As can be seen from the above technical solutions, the engineering configuration method, apparatus, device, and readable storage medium provided in this application, in response to a configuration request for a first engineering configuration item sent by a first client, determines whether the data object of the first engineering configuration item is locked. If the data object of the first engineering configuration item is not locked, the configuration data object of the first engineering configuration item is loaded and cached, the configuration data object of the first engineering configuration item is returned to the first client, and the first engineering configuration item and engineering configuration items that have a preset inseparable relationship with the first engineering configuration item are locked, so that the first client can perform configuration operations on the configuration data object. If a preset saving time is reached, the modified configuration data object is saved. The saving time includes when the configuration data object is modified. The first client is any one of multiple clients that have established a session with the server. The first engineering configuration item is any one of multiple engineering configuration items obtained by dividing the configuration project. The configuration data object includes the data object of the first engineering configuration item and the data objects of engineering configuration items that have a preset inseparable relationship with the first engineering configuration item. As can be seen, this method divides the configuration operation objects into the smallest granularity, using a single engineering configuration item. When any client requests to perform a configuration operation on any engineering configuration item, if the data object of that engineering configuration item is not locked by other clients, the configuration data object is loaded, cached, and locked, so that only the first client can perform configuration operations on the configuration data object. Therefore, this solution uses the engineering configuration item as the smallest granularity of configuration, reducing the configuration granularity to narrow the scope of data objects locked by a single client, enabling online collaborative configuration by multiple clients, improving configuration efficiency, and further enhancing configuration flexibility and reducing data conflicts by dynamically adjusting the scope of locked data objects through segmentation relationships. Attached Figure Description

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

[0048] Figure 1 is a schematic diagram of an engineering configuration system provided in an embodiment of this application;

[0049] Figure 2 is a flowchart illustrating a specific implementation of an engineering configuration method provided in this application.

[0050] Figure 3a is a schematic diagram of a tree structure of engineering data provided in an embodiment of this application;

[0051] Figure 3b is a schematic diagram of a data structure provided in an embodiment of this application;

[0052] Figure 4 is a schematic diagram of the configuration state machine provided in the embodiment of this application;

[0053] Figure 5 is a flowchart illustrating an engineering configuration method provided in an embodiment of this application;

[0054] Figure 6 is a structural schematic diagram of an engineering configuration device provided in an embodiment of this application;

[0055] Figure 7 is a structural schematic diagram of an engineering configuration device provided in an embodiment of this application. Detailed Implementation

[0056] The technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this application, and not all embodiments. Based on the embodiments of this application, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this application.

[0057] Currently, different clients connect to configuration software running on a server and simultaneously perform configuration operations such as browsing, editing, modifying, and saving on the same configuration project. To avoid operational conflicts when multiple clients perform configuration operations on the same project at the same time, the configuration project is often divided into multiple independent configuration units. However, the current technology allows for a relatively large range of online multi-client configurations in configuration software. For example, multiple clients can configure a control station, program, or hardware module as a configuration unit. In this case, each client performs configuration operations on one configuration unit, while the configuration unit being operated on by other clients is locked (uneditable). Obviously, since the control station, program, or hardware module are all independent objects in the configuration project, the configuration software can directly merge the configuration operation results of multiple clients to obtain the final configuration project.

[0058] However, due to the high granularity of configuration units in existing technologies, a single client can lock a large range of engineering data, resulting in high restrictions on multi-client configuration operations. Consequently, the number of clients that can perform configuration operations simultaneously is low, further leading to low efficiency in engineering configuration.

[0059] To reduce the constraints of multi-client configuration operations and improve configuration efficiency, the configuration project needs to be further divided into smaller-granularity configuration items. However, the configuration items obtained by reducing granularity are related, meaning they are loosely coupled. Therefore, it is also necessary to merge the configuration operation results of the configuration items to resolve potential data conflicts between them.

[0060] Based on this, this application provides a multi-client engineering configuration method. This method is applied to an engineering configuration system, as shown in Figure 1. The system includes a server and n clients (e.g., client 1, client 2, client 3, ..., client n) that are connected to the server. Specifically, the server establishes connections with each client through configuration software running on the server. The connection establishment process may include: the client sending a connection request to the server using pre-registered identity information; the server performing security authentication on the client using the identity information; and then accepting the client's connection request and establishing a connection with the client. It should be noted that the process of establishing a connection between the server and the client can refer to existing technologies.

[0061] Figure 2 illustrates a specific implementation method of an engineering configuration method provided in an embodiment of this application. As shown in Figure 2, the method includes:

[0062] S201. The server responds to the configuration project creation command sent by the client, divides the configuration project into multiple project configuration items, and constructs a tree structure of the configuration project according to the relationship between the project configuration items.

[0063] In this embodiment, the server responds to the creation command of any client to create a tree structure of the configuration project. In the tree structure of the configuration project, each node represents a data object of a project configuration item obtained by dividing the configuration project.

[0064] In this embodiment, the method for creating a tree structure for a configuration project includes:

[0065] 1. Obtain the engineering data of the configuration project as the root node.

[0066] 2. Configure the project according to the preset fine-grained division to obtain project configuration items at multiple levels.

[0067] 3. Based on the hierarchical and subordinate relationships between engineering configuration items, construct a tree structure representing the association between data objects of each engineering configuration item.

[0068] S202. The server configures an editing interface object for each data object represented by a node in the tree structure and stores the correspondence between the data object and the editing interface object.

[0069] In this embodiment, the editing interface object corresponding to the child data object is used to provide a method for configuring the parent data object. The child data object is a data object represented by a child node, and the parent data object is a data object represented by the parent node of the child node. The configuration operation includes, but is not limited to, adding data, deleting data, and modifying data.

[0070] Figure 3a shows a schematic diagram of a tree-like structure. Both engineering data and the engineering editing interface are represented using a tree structure. There is a one-to-one correspondence between the editing interface object and the data object. As shown in Figure 3a, the root node data object is the engineering data, and the corresponding editing interface object is the engineering editing interface. The child nodes of the engineering data include hardware data, control logic data, and variable data, corresponding to the hardware editing interface, control logic editing interface, and variable editing interface, respectively. The child nodes of the hardware data include rack data, which corresponds to the rack editing interface. The child nodes of the control logic data include program data, which corresponds to the program editing interface. The child nodes of the variable data include custom variable data, which corresponds to the custom variable editing interface.

[0071] In this embodiment, each editing interface object inherits from a common editing interface object, which provides a method for child editing interfaces to access the parent editing interface object.

[0072] S203. The server generates configuration information for the data objects represented by each node in the tree structure.

[0073] In this embodiment, any data object is denoted as the target data object. The configuration information of the target data object includes its identifier, segmentation identifier, and attribute list. The segmentation identifier indicates whether the target data object is divisible. The attribute list includes the identifiers of the target data object's sub-data objects and the loading identifiers of the sub-data objects. In this embodiment, the loading identifier of the target data object's sub-data objects indicates whether the sub-data objects are loaded together with the target data object; that is, the loading identifier of the sub-data objects indicates whether the sub-data objects can be separated from the data object. Specifically, the server can determine the identifiers of the sub-data objects and the loading identifiers of the sub-data objects in the configuration information of the data object based on the data range of the data object and the closeness of the parent-child relationship with the sub-data objects.

[0074] Figure 3b illustrates a data structure diagram of configuration information. As shown in Figure 3b, the configuration information of data node Object1 includes an ID value of ID1 and a segmentation value of 1, indicating that Object1 is divisible. The attribute list includes the correspondence between the IDs of three child data nodes and the loading identifiers, specifically: the loading identifier of ID2 is true, the loading identifier of ID3 is true, and the loading identifier of ID4 is false. Here, true indicates that the child data object does not need to be loaded with the target data object, and false indicates that the child data object is loaded with the target data object. That is to say, the child data node with the ID corresponding to false belongs to the indivisible child data node of the parent data node, and the child data node with the ID corresponding to true belongs to the divisible child data node of the parent data node.

[0075] It should be noted that the specific methods for the server to assign identifiers to data objects, edit interface objects, and configure configuration information can be found in existing technologies.

[0076] S204. In response to the first client's command to open the configuration project, the server returns the identifier of the configuration project and the information of each configuration item to the first client.

[0077] In this embodiment, the information of each engineering configuration item includes, but is not limited to, the name of the engineering configuration item.

[0078] It should be noted that the server interacts with the first client through a pre-built session cache project editing interface. That is, the server returns the UUID of the configuration project and the information of each configuration item to the first client through the pre-built session cache project editing interface.

[0079] S205, the first client displays information about each engineering configuration item.

[0080] In this embodiment, the first client displays information about each engineering configuration item through a preset interactive interface. The display methods include, but are not limited to, list display and diagram display.

[0081] S206. The first client sends a configuration request for the first project configuration item to the server.

[0082] In this embodiment, the configuration request of the first engineering configuration item is used to request configuration operations on the data object of the first engineering configuration item.

[0083] In this embodiment, the first client responds to the user's first selection operation on the first project configuration item through the interactive interface (clicking the read-only open button or entering a read-only open command, etc.) and generates an open request for the first project configuration item.

[0084] S207. The server determines whether the first engineering configuration item is locked based on the identifier of the first engineering configuration item.

[0085] In this embodiment, the server obtains the status information of the first engineering configuration item and determines whether the first engineering configuration item is locked based on the status information. The status information includes a status identifier indicating whether the first engineering configuration item is in a locked state. Optionally, the status identifier also includes the identifier of the client that locked the first engineering configuration item.

[0086] S208. If the data object of the first engineering configuration item is not locked, the server obtains the configuration information of the first engineering configuration item and determines whether the first engineering configuration item is divisible based on the segmentation identifier in the configuration information.

[0087] S209. If the first engineering configuration item is indivisible, the server will use all the sub-data objects of the data object of the first engineering configuration item as the target sub-data object, load and cache the data object of the first engineering configuration item and all the sub-data objects of the data object of the first engineering configuration item.

[0088] If the first engineering configuration item is divisible, the server retrieves the sub-data object loaded along with the data object of the first engineering configuration item based on the attribute list in the configuration configuration information, uses it as the target sub-data object, and loads and caches the data object of the first engineering configuration item and the target sub-data object.

[0089] In this embodiment, the loading identifier of the sub-data object in the configuration configuration information of the data object of the first engineering configuration item indicates that the sub-data object is loaded together with the target data object.

[0090] S210. The server returns the configuration data object of the first engineering configuration item with an editable identifier to the first client, and updates the status identifier of each configuration data object to be locked.

[0091] In this embodiment, the configuration data object includes the data object of the first engineering configuration item and the target sub-data object. It should be noted that the status identifier of the engineering configuration item is the same as the status identifier of the data object.

[0092] Optionally, after updating the status flag of each configuration data object to locked, it is necessary to determine the loading flag corresponding to the data object of the first engineering configuration item in the attribute list of the parent data object of the data object of the first engineering configuration item. If the loading flag corresponding to the data object of the first engineering configuration item indicates that the data object of the first engineering configuration item is inseparable from the parent data object, then it is also necessary to update the status flag of the parent data object and determine upwards along the tree structure.

[0093] S211. If the data object of the first engineering configuration item is locked, the server sends a lock notification message to the first client.

[0094] In this embodiment, the lock notification information includes a lock command indicating that the data object of the first engineering configuration item is locked, and also includes the identifier of the client that locked the first engineering configuration item.

[0095] S212. The first client sends a forced occupancy command for the first project configuration item to the server.

[0096] In this embodiment, the forced occupancy command of the first engineering configuration item is used to request the release of the locked state of the first engineering configuration item and to open the first engineering configuration item.

[0097] S213. The server determines whether the first client has the mandatory occupancy permission for the first project configuration item.

[0098] In this embodiment, a specific method for the server to determine whether the first client has the mandatory occupancy permission for the first project configuration item includes:

[0099] 1. Obtain pre-configured permission information. The permission information includes the correspondence between the client's identifier and the permission identifier used to indicate whether it has the mandatory occupancy permission for the first project configuration item.

[0100] 2. Based on the identifier of the first client, query the permission information to obtain the corresponding permission identifier.

[0101] 3. Determine whether the first client has the mandatory occupancy permission for the first project configuration item based on the permission identifier.

[0102] S214. If the first client does not have the mandatory access permission for the first project configuration item, the server returns the configuration data object of the first project configuration item with a read-only flag to the first client, so that the first client can display the configuration data object of the first project configuration item in read-only mode.

[0103] S215. If the first client has the mandatory occupancy permission for the first engineering configuration item, the server returns the configuration data object of the first engineering configuration item with an editable identifier to the first client, so that the first client can display the configuration data object of the first engineering configuration item in an editable manner.

[0104] It should be noted that when the first client displays the configuration data object of the first project configuration item in an editable manner, the user can perform configuration operations on the configuration data object of the first project configuration item through the interactive interface, that is, the configuration data object can be edited. When the first client displays the configuration data object of the first project configuration item in read-only mode, the user cannot perform configuration operations on the configuration data object of the first project configuration item through the interactive interface, that is, the configuration data object cannot be edited.

[0105] It should be noted that the first client receives the user's editing operations and performs configuration operations on the data object through the corresponding editing interface object, thereby separating the data object from the editing logic. For specific implementation details, please refer to existing technologies.

[0106] S216. The first client sends a request to the server to close the page.

[0107] In this embodiment, the close page request is used to request the closure of the page used to display the configuration data object of the first engineering configuration item.

[0108] S217. After receiving the request to close the page, the server checks whether the configuration data object has been modified. If it has not been modified, the server releases the configuration data object and updates the status flag of each configuration data object to be unlocked.

[0109] S218. If a configuration data object is modified, the server retrieves the modified and unsaved configuration data objects as data objects to be saved based on the client's identifier, saves all data objects to be saved as a single file, and updates the status identifier of each configuration data object to be unlocked.

[0110] In this embodiment, the configuration data object may include a data object of a first engineering configuration item and at least one sub-data object. If both the data object of the first engineering configuration item and at least one sub-data object are modified, it can also be determined whether the data object of the first engineering configuration item is saved as an independent file based on the Segmentation segmentation identifier of the data object of the first engineering configuration item. If yes, each data object is saved as a single file; otherwise, the configuration data object is saved to a single file.

[0111] Optionally, when saving data objects as single files, check if an archive file for each data object exists. If it does not exist, write it directly. If it exists, load the data object first, merge the list of child node IDs of the data object with the list of child node IDs in the loaded object, and then save it again.

[0112] S219. The first client sends a request to the server to close the configuration project.

[0113] In this embodiment, the close request for the configuration project is used to request to exit the configuration operation of the configuration project.

[0114] S220. After receiving the close request, the server checks whether the configuration project has been opened by other clients. If not, the server destroys the project session of the first client and releases the project data. If so, the server destroys the project session of the first client.

[0115] As can be seen from the above technical solutions, the engineering configuration method provided in this application embodiment achieves at least the following technical effects:

[0116] 1. Clients are assigned and locked at the granular level of individual project configuration items. When a client requests to configure a data object, the server checks whether the data object is locked by other clients. If it is not locked by other clients, the server records the data object as locked by the current client and returns the page information of the data object to the current client, indicating that the data object is currently editable. If it is locked by other clients, the server returns the page information of the data object to the client and adds a read-only flag to indicate that the data object is in a read-only state and cannot be edited, thus ensuring that the editing content of different clients does not affect each other.

[0117] As can be seen, this solution uses engineering configuration items as the smallest granularity of configuration, which reduces the configuration granularity to narrow the scope of data objects locked by a client, realizes online collaborative configuration of multiple clients, and improves configuration efficiency.

[0118] Second, in this solution, when a data object is in a locked state, and the current client has the permission to forcibly unlock the data object (forceful occupancy permission), the data object can be forcibly unlocked, and the current data object can be obtained for configuration operations, thereby improving the flexibility of multi-client configuration.

[0119] Third, the configuration information is configured by utilizing the relationships between data objects (mainly parent-child relationships). The locking range of each engineering configuration item is divided based on the segmentation identifier and attribute list in the configuration information. In other words, the configuration granularity in the engineering configuration process can be flexibly configured, thereby realizing the dynamic adjustment of the locking range, rather than simply splitting the project into several fixed parts for locking.

[0120] Fourth, the server does not load all data objects at once, but rather loads partial data objects based on client requests. After the client closes the page containing the data object (by sending a close request), the modified data objects are merged and saved, and the corresponding data objects on the client are automatically released, achieving on-demand retrieval. This enables on-demand data access and archiving merging in multi-client configurations. Furthermore, this patent uses project configuration items as the granularity for incremental archiving, resulting in higher processing efficiency, especially for very large configurations. Merging at the project configuration item level ensures that data editing and modification between different clients do not affect each other, supporting multi-threaded concurrent processing of different client requests and reducing inter-client interference.

[0121] It should be noted that Figure 2 only illustrates the specific implementation flow of one optional engineering configuration method. This solution also includes other optional implementation flows, as shown in the following examples:

[0122] In an optional embodiment, after the first client displays the configuration data object of the first engineering configuration item in an editable manner, the method further includes, if the first client receives a restriction operation instruction sent by the server, displaying restriction operation information (a restriction notification in a preset format) and responding to the user's response operation (e.g., abandoning editing or saving editing), sending response information of the restriction operation instruction to the server. It should be noted that when abandoning editing, the server restores the configuration data object; when saving editing, the server saves according to the saving step S218.

[0123] In one optional embodiment, after the first client displays the configuration data object of the first engineering configuration item in an editable manner, the user can edit the configuration data object of the first engineering configuration item through the interactive interface. After making an editing error, the user can send an undo edit command to the server through the first client. After receiving the undo edit command, the server restores the configuration data object in the version management. In this patent, if the archive is damaged or the modification needs to be abandoned, the server can restore the previously stored version data from the version management.

[0124] In one optional embodiment, the first client sends a first project status read-only instruction to the server, and the server returns the configuration data object of the first project configuration item with a read-only identifier to the first client, so that the first client displays the configuration data object of the first project configuration item in a read-only manner.

[0125] In one optional embodiment, the server implements client configuration state management service based on a multi-user configuration state machine. A set of client configuration states is used to describe the configuration state of a client corresponding to an engineering configuration item. As shown in Figure 4, the configuration state of the first engineering configuration item corresponding to the first client includes four states: read-only open, locked, locked, and normal (not loaded).

[0126] Normal (unloaded) state: This means that after the configuration software starts, no occupation operation (including configuration operations such as loading and display) of the first project configuration item has been performed. At this time, the status of the first project configuration item is marked as unlocked, and the first client can lock the first project configuration item.

[0127] Read-only open state: The first client can view the first project configuration item, but cannot edit it or occupy it. At this time, the first project configuration item is marked as locked. Only the client that has locked the first project configuration item can perform operations on the data object of the first project configuration item.

[0128] Locked state: The first project configuration item is locked by the first client. At this time, the status of the first project configuration item is marked as locked, and other clients can only perform read-only operations.

[0129] Locked status: The first project configuration item is locked by another client. The status of the first project configuration item is marked as locked, and the first client can only perform read-only operations.

[0130] As shown in Figure 4, during the engineering configuration process, the configuration state of the first engineering configuration item corresponding to the first client changes accordingly (as indicated by the arrow). Based on the client configuration state management service provided by the multi-user configuration state machine, the specific method for the server to obtain the status information of the first engineering configuration item in S207 can be to obtain the status information of the first engineering configuration item based on the multi-user configuration state machine.

[0131] In one optional embodiment, the server archives the client configuration state when each client closes the project. Taking the first client as an example, when all clients choose to close the configuration project, and the first client requests to open the configuration project again, the server reads the project configuration items locked by the first client from the client configuration state of the first client, and restores the state of the project configuration items locked by the first client based on the recovery command, thereby improving configuration efficiency.

[0132] It should be noted that clients can be divided by user identifiers. That is, a client's specific identifier consists of a user ID and a client ID. Therefore, the server reads the client configuration status of all clients corresponding to the user ID of the first client from the client configuration status of the first client, obtains the locked engineering configuration items of these clients, and assigns the locking status of all engineering configuration items to the first client.

[0133] In other words, the object lock states of different clients corresponding to the same user will be merged together. When all clients under the same project choose to close the project, when a client opens the project again, the object lock states under the project will be read from the lock state archive, and the lock state corresponding to the user will be assigned to the client.

[0134] In summary, the engineering configuration method provided in this application embodiment can be summarized as the process shown in Figure 5. Applied to the server, this method includes:

[0135] S501. In response to the configuration request for the first engineering configuration item sent by the first client, determine whether the data object of the first engineering configuration item is locked.

[0136] In this embodiment, the first client is any one of the multiple clients that establish a session with the server, and the first project configuration item is any one of the multiple project configuration items obtained by dividing the configuration project.

[0137] An optional method for determining whether the data object of the first engineering configuration item is locked includes: determining whether the status flags of the first engineering configuration item and each engineering configuration item that has a preset inseparable relationship with the first engineering configuration item are all unlocked; if so, then it is determined that the data object of the first engineering configuration item is not locked.

[0138] S502. If the data object of the first project configuration item is not locked, load and cache the configuration data object of the first project configuration item.

[0139] In this embodiment, the configuration data object includes the data object of the first engineering configuration item and the data object of the engineering configuration item that has a preset inseparable relationship with the first engineering configuration item.

[0140] In this embodiment, there are several methods for determining whether the second engineering configuration item has a preset inseparable relationship with the first engineering configuration item. For example, it is determined whether the second engineering configuration item has a subordinate relationship with the first engineering configuration item. If so, the data association relationship between the data object of the second engineering configuration item and the data object of the first engineering configuration item is obtained, such as linkage relationship and subordinate relationship. After quantifying the data association relationship, it is determined whether the quantified value of the data association relationship is greater than the preset association degree threshold. If so, it is determined that the second engineering configuration item has a preset inseparable relationship with the first engineering configuration item.

[0141] It should be noted that the segmentation relationship between engineering configuration items can be pre-built. In this step, the data objects of engineering configuration items that have a preset inseparable relationship with the first engineering configuration item can be directly queried according to the pre-built segmentation relationship. Furthermore, the segmentation relationship can be dynamically updated in real time according to the configuration. Specifically, the segmentation relationship between engineering configuration items can be constructed by building a tree structure and the configuration configuration information of the nodes. For details, please refer to the above embodiment.

[0142] S503. Return the configuration data object of the first project configuration item to the first client.

[0143] S504. Lock the first engineering configuration item and the engineering configuration items that have a preset inseparable relationship with the first engineering configuration item, so that the first client can perform configuration operations on the configuration data object.

[0144] In this embodiment, the configuration operation includes the editing operation. It should be noted that the editing interface object corresponding to the editing operation of the first project configuration item can be pre-constructed, as can be found in the above embodiment.

[0145] Optionally, a method for locking a first engineering configuration item and engineering configuration items that have a preset inseparable relationship with the first engineering configuration item includes updating the status flag of the first engineering configuration item and the engineering configuration items that have a preset inseparable relationship with the first engineering configuration item to be locked.

[0146] S505. If the preset saving time is reached, save the modified configuration data object.

[0147] In this embodiment, the timing of saving includes when the configuration data object is modified. That is, after the configuration data object is modified, the modified configuration data object is saved. It should be noted that there are multiple methods for saving the modified configuration data object. For a specific saving method, please refer to the above embodiment.

[0148] As can be seen from the above technical solutions, the engineering configuration method provided in this application embodiment divides the configuration operation objects into the smallest unit with a single engineering configuration item. When any client requests to perform a configuration operation on any engineering configuration item, if the data object of that engineering configuration item is not locked by other clients, the configuration data object is loaded, cached, and locked, so that only the first client can perform configuration operations on the configuration data object. Therefore, this solution uses the engineering configuration item as the smallest configuration unit, reducing the configuration granularity to narrow the scope of data objects locked by a single client, enabling online collaborative configuration by multiple clients, improving configuration efficiency, and further improving configuration flexibility and reducing data conflicts by dynamically adjusting the scope of locked data objects through segmentation relationships.

[0149] Figure 6 shows a schematic diagram of an engineering configuration device provided in an embodiment of this application. As shown in Figure 4, the device may include:

[0150] The lock status determination unit 601 is used to respond to the configuration request of the first engineering configuration item sent by the first client and determine whether the data object of the first engineering configuration item is locked. The first client is any one of the multiple clients that have established a session with the server, and the first engineering configuration item is any one of the multiple engineering configuration items obtained by dividing the configuration project.

[0151] The loading unit 602 is used to load and cache the configuration data object of the first engineering configuration item if the data object of the first engineering configuration item is not locked. The configuration data object includes the data object of the first engineering configuration item and the data object of the engineering configuration item that has a preset inseparable relationship with the first engineering configuration item.

[0152] The configuration data return unit 603 is used to return the configuration data object of the first engineering configuration item to the first client;

[0153] The lock state update unit 604 is used to lock the first engineering configuration item and engineering configuration items that have a preset inseparable relationship with the first engineering configuration item, so that the first client can perform configuration operations on the configuration data object, and the configuration operations include editing operations.

[0154] The configuration data storage unit 605 is used to save the modified configuration data object if a preset storage time is reached, wherein the storage time includes when the configuration data object is modified.

[0155] Optionally, the device further includes: a project creation unit, configured to respond to a creation instruction of the configuration project before determining whether the data object of the first project configuration item is locked in response to a configuration request sent by the first client, divide the configuration project into multiple project configuration items, and construct a tree structure of the configuration project according to the association relationship between the data objects of the project configuration items, wherein each node in the tree structure represents a data object of a project configuration item; configure an editing interface object for each data object represented by a node in the tree structure, and store the correspondence between the data object and the editing interface object; generate configuration configuration information of each data object represented by a node in the tree structure based on the association relationship, wherein the configuration configuration information of the target data object includes the identifier, segmentation identifier, and attribute list of the target data object, wherein the segmentation identifier is used to indicate whether the target data object is divisible, the attribute list includes the correspondence between the identifiers of the sub-data objects of the target data object and the loading identifier, the loading identifier is used to indicate whether it is loaded together with the target data object, and the target data object includes any data object;

[0156] The creation result return unit is used to respond to the opening command of the configuration project sent by the first client and return the creation result of the configuration project to the first client. The creation result includes at least the information of each configuration item of the project.

[0157] Optionally, the loading unit is used to load and cache the configuration data object of the first engineering configuration item, including: the loading unit is specifically used to: obtain the configuration configuration information of the first engineering configuration item; determine whether the first engineering configuration item is divisible based on the segmentation identifier in the configuration configuration information of the first engineering configuration item; if the first engineering configuration item is not divisible, load and cache the configuration data object of the first engineering configuration item, the configuration data object including the data object of the first engineering configuration item and all sub-data objects of the data object of the first engineering configuration item; if the first engineering configuration item is divisible, obtain the sub-data object loaded together with the data object of the first engineering configuration item based on the attribute list in the configuration configuration information of the first engineering configuration item, use it as the target sub-data object, load and cache the configuration data object of the first engineering configuration item, the configuration data object of the first engineering configuration item including the data object of the first engineering configuration item and the target sub-data object.

[0158] Optionally, the lock status update unit is used to lock the first engineering configuration item and engineering configuration items that have a preset inseparable relationship with the first engineering configuration item, including: the lock status update unit is specifically used to: update the status identifier of the first engineering configuration item to be locked;

[0159] Update the status flag of each engineering configuration item that has a preset inseparable relationship with the first engineering configuration item to be locked.

[0160] Optionally, the locking status determination unit is used to determine whether the data object of the first engineering configuration item is locked, including: the locking status determination unit is specifically used to: determine whether the status identifiers of the first engineering configuration item and each engineering configuration item that has a preset inseparable relationship with the first engineering configuration item are all unlocked; if so, it is determined that the data object of the first engineering configuration item is not locked.

[0161] Optionally, the device further includes: a forced occupancy control unit, configured to send a locking notification to the first client if the data object of the first engineering configuration item is locked; if a forced occupancy command is received from the first client, determine whether the first client has the forced occupancy permission for the first engineering configuration item based on pre-configured permission information, wherein the permission information includes at least the correspondence between the identifiers of each client and the permission identifiers used to indicate whether the client has the forced occupancy permission for the engineering configuration item; if it is determined that the first client has the forced occupancy permission for the first engineering configuration item, return the configuration data object of the first engineering configuration item to the first client so that the first client can perform the configuration operation on the configuration data object; if it is determined that the first client does not have the forced occupancy permission for the first engineering configuration item, return a forced occupancy failure notification to the first client.

[0162] Optionally, the device further includes: a read-only open control unit, configured to, upon receiving a read-only open instruction for the first engineering configuration item, return the configuration data object of the first engineering configuration item with a read-only identifier to the first client, so that the first client displays the configuration data object of the first engineering configuration item in a read-only open manner.

[0163] Optionally, the saving timing also includes receiving a page close request from the first engineering configuration item. The configuration data saving unit is used to save the modified configuration data object if a preset saving timing is reached, including: the configuration data saving unit is specifically used to: if a page close request from the first engineering configuration item is received, detect whether the configuration data object has been modified; if it has been modified, take the modified and unsaved configuration data object as a data object to be saved, determine the saving method of the data object to be saved based at least on the segmentation identifier of the data object to be saved, and save the data object to be saved according to the saving method of the data object to be saved; if it has not been modified, release the configuration data object; update the status identifier of each configuration data object to be unlocked.

[0164] Figure 7 shows a schematic diagram of the engineering configuration device, which may include: at least one processor 701, at least one communication interface 702, at least one memory 703 and at least one communication bus 704;

[0165] In this embodiment of the application, the number of processor 701, communication interface 702, memory 703 and communication bus 704 is at least one, and processor 701, communication interface 702 and memory 703 communicate with each other through communication bus 704.

[0166] The processor 701 may be a central processing unit (CPU), an application-specific integrated circuit (ASIC), or one or more integrated circuits configured to implement embodiments of the present invention.

[0167] The memory 703 may include high-speed RAM, and may also include non-volatile memory, such as at least one disk storage device;

[0168] The memory stores a program, and the processor can execute the program stored in the memory to implement the various steps of the engineering configuration method provided in this application embodiment.

[0169] This application also provides a readable storage medium that can store a computer program suitable for execution by a processor. When the computer program is executed by the processor, it implements the various steps of an engineering configuration method provided in this application.

[0170] Finally, it should be noted that in this document, relational terms such as "first" and "second" are used only to distinguish one entity or operation from another, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Furthermore, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Without further limitations, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes said element.

[0171] The various embodiments in this specification are described in a progressive manner, with each embodiment focusing on the differences from other embodiments. The same or similar parts between the various embodiments can be referred to each other.

[0172] The above description of the disclosed embodiments enables those skilled in the art to make or use this application. Various modifications to these embodiments will be readily apparent to those skilled in the art, and the general principles defined herein may be implemented in other embodiments without departing from the spirit or scope of this application. Therefore, this application is not to be limited to the embodiments shown herein, but is to be accorded the widest scope consistent with the principles and novel features disclosed herein.

Claims

1. An engineering configuration method, characterized in that, Applied to the server side, the method includes: responding to a configuration request for a first engineering configuration item sent by a first client, determining whether the data object of the first engineering configuration item is locked, wherein the first client is any one of multiple clients that have established a session with the server, and the first engineering configuration item is any one of multiple engineering configuration items obtained by dividing a configuration project; if the data object of the first engineering configuration item is not locked, loading and caching the configuration data object of the first engineering configuration item, wherein the configuration data object includes the data object of the first engineering configuration item and the data objects of engineering configuration items that have a preset inseparable relationship with the first engineering configuration item; returning the configuration data object of the first engineering configuration item to the first client and locking the first engineering configuration item and the engineering configuration items that have a preset inseparable relationship with the first engineering configuration item, so that the first client can perform configuration operations on the configuration data object, wherein the configuration operations include editing operations; if a preset saving time is reached, saving the modified configuration data object, wherein the saving time includes the modification of the configuration data object; in response to the configuration request for the first engineering configuration item sent by the first client, determining whether the first engineering configuration item is locked; Before the data object is locked, the method further includes: responding to the creation command of the configuration project, dividing the configuration project into multiple project configuration items, and constructing a tree structure of the configuration project according to the association relationship between the data objects of the project configuration items, wherein each node in the tree structure represents a data object of a project configuration item; configuring an editing interface object for each data object represented by each node in the tree structure, and storing the correspondence between the data object and the editing interface object; generating configuration configuration information for each data object represented by each node in the tree structure based on the association relationship, wherein the configuration configuration information of the target data object includes the identifier, segmentation identifier, and attribute list of the target data object, wherein the segmentation identifier is used to indicate whether the target data object is divisible, the attribute list includes the correspondence between the identifiers of the sub-data objects of the target data object and the loading identifier, and the loading identifier is used to indicate whether it is loaded together with the target data object, wherein the target data object includes any data object; responding to the opening command of the configuration project sent by the first client, returning the creation result of the configuration project to the first client, wherein the creation result includes at least the information of each project configuration item.

2. The method according to claim 1, characterized in that, The step of loading and caching the configuration data object of the first engineering configuration item includes: obtaining the configuration configuration information of the first engineering configuration item; determining whether the first engineering configuration item is divisible based on the segmentation identifier in the configuration configuration information of the first engineering configuration item; if the first engineering configuration item is not divisible, loading and caching the configuration data object of the first engineering configuration item, wherein the configuration data object includes the data object of the first engineering configuration item and all sub-data objects of the data object of the first engineering configuration item; if the first engineering configuration item is divisible, obtaining the sub-data object loaded together with the data object of the first engineering configuration item based on the attribute list in the configuration configuration information of the first engineering configuration item, using it as the target sub-data object, loading and caching the configuration data object of the first engineering configuration item, wherein the configuration data object of the first engineering configuration item includes the data object of the first engineering configuration item and the target sub-data object.

3. The method according to claim 1, characterized in that, Locking the first engineering configuration item and engineering configuration items that have a preset inseparable relationship with the first engineering configuration item includes: updating the status identifier of the first engineering configuration item to be locked; and updating the status identifier of each engineering configuration item that has a preset inseparable relationship with the first engineering configuration item to be locked.

4. The method according to claim 3, characterized in that, The step of determining whether the data object of the first engineering configuration item is locked includes: determining whether the status identifiers of the first engineering configuration item and each engineering configuration item that has a preset inseparable relationship with the first engineering configuration item are all unlocked; if so, it is determined that the data object of the first engineering configuration item is not locked.

5. The method according to claim 1, characterized in that, The method further includes: if the data object of the first engineering configuration item is locked, sending a locking notification to the first client; if a forced occupancy command is received from the first client, determining whether the first client has the forced occupancy permission for the first engineering configuration item based on pre-configured permission information, wherein the permission information includes at least the correspondence between the identifier of each client and the permission identifier used to indicate whether the client has the forced occupancy permission for the engineering configuration item; if it is determined that the first client has the forced occupancy permission for the first engineering configuration item, returning the configuration data object of the first engineering configuration item to the first client so that the first client can perform the configuration operation on the configuration data object; if it is determined that the first client does not have the forced occupancy permission for the first engineering configuration item, returning a forced occupancy failure notification to the first client.

6. The method according to claim 5, characterized in that, The method further includes: if a read-only open instruction for the first engineering configuration item is received, returning the configuration data object of the first engineering configuration item with a read-only identifier to the first client, so that the first client displays the configuration data object of the first engineering configuration item in a read-only open manner.

7. The method according to claim 1, characterized in that, The saving timing also includes receiving a page close request for the first engineering configuration item. Saving the modified configuration data object if the preset saving timing is reached includes: upon receiving the page close request for the first engineering configuration item, detecting whether the configuration data object has been modified; if modified, using the modified and unsaved configuration data object as a data object to be saved, determining the saving method of the data object to be saved based at least on the segmentation identifier of the data object to be saved, and saving the data object to be saved according to the saving method; if no modification has occurred, releasing the configuration data object; and updating the status identifier of each configuration data object to be unlocked.

8. An engineering configuration device, characterized in that, Applied to the server side, it includes: a lock status judgment unit, used to respond to a configuration request for a first engineering configuration item sent by a first client, and determine whether the data object of the first engineering configuration item is locked, wherein the first client is any one of multiple clients that have established a session with the server, and the first engineering configuration item is any one of multiple engineering configuration items obtained by dividing a configuration project; and a loading unit, used to load and cache the configuration data object of the first engineering configuration item if the data object of the first engineering configuration item is not locked, wherein the configuration data object includes the data object of the first engineering configuration item and a preset data object that exists between the first engineering configuration item and the data object. The system includes: a data object for an inseparable engineering configuration item; a configuration data return unit for returning the configuration data object of the first engineering configuration item to the first client; a lock status update unit for locking the first engineering configuration item and engineering configuration items with a preset inseparable relationship to the first engineering configuration item, so that the first client can perform configuration operations on the configuration data object, including editing operations; a configuration data saving unit for saving the modified configuration data object if a preset saving time is reached, the saving time including when the configuration data object is modified; and a project creation unit for responding to the first client... The client sends a configuration request for the first engineering configuration item. Before determining whether the data object of the first engineering configuration item is locked, it responds to the creation command of the configuration project, divides the configuration project into multiple engineering configuration items, and constructs a tree structure of the configuration project according to the association relationship between the data objects of the engineering configuration items. Each node in the tree structure represents a data object of an engineering configuration item. An editing interface object is configured for each data object represented by a node in the tree structure, and the correspondence between data objects and editing interface objects is stored. Based on the association relationship, configuration configuration information for each data object represented by a node in the tree structure is generated. The configuration information of the target data object includes the identifier, segmentation identifier, and attribute list of the target data object. The segmentation identifier indicates whether the target data object is divisible. The attribute list includes the correspondence between the identifiers of the target data object's sub-data objects and the loading identifiers. The loading identifier indicates whether the data object is loaded together with the target data object. The target data object includes any one data object. The creation result return unit is used to respond to the opening command of the configuration project sent by the first client and return the creation result of the configuration project to the first client. The creation result includes at least the information of each project configuration item.

9. An engineering configuration system, characterized in that, include: Server and multiple clients; The client is used to send a configuration request for a first engineering configuration item to the server, wherein the first engineering configuration item is any one of multiple engineering configuration items obtained by dividing the engineering configuration; The server responds to a configuration request for a first engineering configuration item sent by the client, determines whether the data object of the first engineering configuration item is locked, and if the data object of the first engineering configuration item is not locked, loads and caches the configuration data object of the first engineering configuration item. The configuration data object includes the data object of the first engineering configuration item and the data objects of engineering configuration items that have a preset inseparable relationship with the first engineering configuration item. The server returns the configuration data object of the first engineering configuration item to the client and locks the first engineering configuration item and the engineering configuration items that have a preset inseparable relationship with the first engineering configuration item. The client is used to... The configuration data object is configured, including editing operations; the server is used to save the modified configuration data object if a preset saving time is reached, the saving time including when the configuration data object is modified; before the server determines whether the data object of the first engineering configuration item is locked in response to the configuration request sent by the client for the first engineering configuration item, the server is also used to respond to the creation instruction of the configuration project, divide the configuration project into multiple engineering configuration items, and construct a tree structure of the configuration project according to the association relationship between the data objects of the engineering configuration items, wherein each node in the tree structure represents the data object of an engineering configuration item; Configure an editing interface object for each data object represented by a node in the tree structure, and store the correspondence between data objects and editing interface objects; Based on the aforementioned association, configuration information for each data object represented by a node in the tree structure is generated. The configuration information for the target data object includes the target data object's identifier, segmentation identifier, and attribute list. The segmentation identifier indicates whether the target data object is divisible. The attribute list includes the correspondence between the identifiers of the target data object's sub-data objects and their loading identifiers. The loading identifier indicates whether the target data object is loaded along with the target data object. The target data object includes any single data object. In response to the client's command to open the configuration project, the creation result of the configuration project is returned to the client. The creation result includes at least the information of each project configuration item.

Citation Information

Patent Citations

  • Information processing method, device and system and storage medium

    CN111651166A

  • Method and device for realizing collaborative configuration of batch recording system, equipment and storage medium

    CN112822232A