Multi-user online configuration method
Through custom data segmentation and small-grained locking mechanisms, the problem that large-grained range locking in the existing technology is not conducive to collaborative configuration, and efficient collaboration and data consistency of multi-person online configuration is achieved.
Patent Information
- Application Number
- CN202411770627.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-12-04
- Publication Date
- 2025-04-08
AI Technical Summary
In the prior art, large-grain range locking is not conducive to collaborative configuration and cannot realize the simultaneous online configuration of multiple people, especially in large projects, resulting in inefficient configuration.
Through a general custom data segmentation method, the multi-person configuration granularity range is set according to the specific business, and a locking mechanism with a small granularity limit range is adopted, allowing multiple people to configure online at the same time, and incremental management is carried out through user data isolation and version management library OVS.
It realizes efficient coordination of multi-person online configuration, improves configuration efficiency, reduces resource consumption, and ensures data consistency and reliability.
Smart Images

Figure CN119784338A_ABST
Abstract
Description
Technical Field
[0001] The invention relates to the field of industrial automation, and in particular to a multi-user online configuration method. Background Art
[0002] When a large project is encountered, it takes a lot of time to rely on a single engineer to perform configuration, especially when the on-site implementation time is tight. A method that can support multiple users to perform online configuration at the same time is needed, that is, multiple users can operate a project configuration at the same time. In the past, the configuration range of multi-user configuration was large, and multi-user configuration was usually performed in units of control stations. The restriction range was too large, and close coordination could not be achieved during multi-user configuration, which limited the improvement of multi-user configuration efficiency.
[0003] In order to solve the above problems, the Chinese invention patent with patent number CN118036568A proposes a configuration multi-person collaborative editing method, device, electronic device and storage medium, including obtaining a region locking instruction and a configuration editing instruction with a user identifier; locking the corresponding editing sub-area according to the region locking instruction; editing the editing sub-area according to the configuration editing instruction to generate a configuration modification record; rolling back the configuration content of the editing sub-area according to the configuration modification record; converting the configuration content into configuration information, and persisting the corresponding data to the database. However, this has large restrictions on user operations, is not conducive to collaborative configuration, and cannot achieve multi-person online configuration at a smaller granularity range. It cannot meet the requirements of multi-person online configuration at the same time in a large configuration scenario. Summary of the invention
[0004] The invention mainly solves the problem in the prior art that large granularity range locking is not conducive to collaborative configuration, and provides a multi-user online configuration method.
[0005] The above technical problems of the present invention are mainly solved by the following technical solutions: A multi-user online configuration method, characterized in that it comprises the following steps: S1. Through the general custom data segmentation method, the multi-person configuration granularity range is customized according to the specific business; S2. Lock the objects within the granularity range, and dynamically load and release configuration data in units of the locked range; S3, save the configuration in a user data isolation way, and it will be visible to other users after checking in; S4, incrementally managing user configuration data by distinguishing user identification; S5. Check-in object data is managed through the version management library OVS, and incremental publishing and version restoration can be performed based on the version library.
[0006] As a preferred solution, the configured data is constructed in the form of a tree, and each leaf node represents different business data.
[0007] As a preferred solution, each sub-leaf node contains at least three attributes, including whether to split the leaf node, the leaf node identifier, and whether the leaf node is loaded.
[0008] As a preferred solution, whether the leaf node splitting attribute is true indicates that the child nodes under the current node data need to be split into a more fine-grained locking range.
[0009] As a preferred solution, whether to split the leaf node attribute is false, indicating that the current node data and all its child node data are a locked range.
[0010] As a preferred solution, the locking includes automatic locking and manual locking, and the locking includes the following steps: S2.1.1, when a user accesses the locking range data, the locking range data is locked by the accessing user; S2.1.2. Add a user lock mark to the lock range data.
[0011] As a preferred solution, the locking flags include locked by other users, locked by oneself and unlocked. After the data is locked, other users can only view it in read-only mode.
[0012] As a preferred solution, the manual locking comprises the following steps: S2.2.1. Provide user operation entry; S2.2.2. Data that needs to be locked manually by the user; S2.2.3. When checking in, cancel the lock mark of the locked range data and change it to unlocked state.
[0013] As a preferred solution, the incremental release includes comparing data changes in the OVS version library according to the locked range data.
[0014] As a preferred solution, the version restoration includes performing version management according to locked range data.
[0015] Therefore, the advantages of the present invention are: 1. For the same project, multiple people can work online with a smaller customizable locking range and minimum resource consumption, and the configuration ensures that data does not conflict, providing strong support for incremental data management.
[0016] 2. Lock and unlock the locked range manually or automatically, introduce the OVS version library, check in the object data to generate the version, which can facilitate version restoration and incremental release.
[0017] 3. Multi-person configuration is performed in an incremental user data isolation manner, which can support rollback processing after object data modification is saved after detection, so as to reduce the impact of a single user's configuration modification or erroneous operation on other users. BRIEF DESCRIPTION OF THE DRAWINGS
[0018] Figure 1 It is a flow chart of the present invention.
[0019] Figure 2 It is a schematic diagram of the locking range of the user-defined partitioned configuration data of the present invention.
[0020] Figure 3 This is the multi-person configuration archive data processing flow of the present invention.
[0021] Figure 4 This is the process of loading and acquiring object data of the present invention. DETAILED DESCRIPTION
[0022] The technical solution of the present invention is further specifically described below through embodiments and in conjunction with the accompanying drawings.
[0023] Example: In modern engineering practice, tight deadlines have become the norm, especially in large and complex projects, which often involve tens of thousands of configuration points, placing extremely high demands on configuration efficiency. Traditional configuration methods usually adopt a large-scale locking mechanism, that is, when one engineer is configuring a certain part, other engineers must wait and cannot operate synchronously. This method can still cope with small-scale projects, but in large-scale configuration scenarios, especially when time is tight, its drawbacks are exposed. The inefficient serial working mode seriously slows down the project progress, leads to waste of resources, and may even delay project delivery.
[0024] In order to solve this problem, the present invention proposes a multi-user online configuration method, which adopts a locking mechanism with a small granularity limit range. This means that engineers can configure different parts of the project at the same time without interfering with each other. For example, in a large-scale automated control system, different engineers can be responsible for the configuration of different areas or subsystems. They only need to lock the specific modules or functional units they are responsible for, without locking the entire system. This fine-grained locking method makes it possible for multiple people to work together, greatly improving the configuration efficiency: S1. Through the general custom data segmentation method, the multi-person configuration granularity range is customized according to the specific business. The configured data is constructed in the form of a tree, and each sub-leaf node represents different business data. Each sub-leaf node contains at least three attributes, including whether to split the leaf node, the leaf node identifier, and whether the leaf node is loaded.
[0025] If the "Whether to Split Leaf Node" property is true, it means that the sub-nodes under the current node data need to be split into a more fine-grained locked range, which means that the data under the node needs to be further subdivided to meet more complex business needs. For example, in a product design scenario, a node representing "vehicle design" can be split into "power system", "body structure", "interior design" and other sub-nodes, and each sub-node can be further subdivided until the minimum granularity that meets business needs is reached. This fine-grained division allows team members to work together on specific parts without interfering with each other. If the "Whether to Split Leaf Node" property is false, it means that the current node data and all its sub-node data are a locked range. This method is suitable for scenarios with strong data correlation and the need for overall operation.
[0026] The leaf node loading attribute is used to determine which child node data under the node needs to be loaded when loading and obtaining a certain node data. This attribute is crucial to improving system performance and optimizing user experience. When processing large data trees, loading all node data at once may cause slow system response or even memory overflow. By introducing the "leaf node loading" attribute, the system can implement on-demand loading and only load the data required for the current operation. The leaf node identifier is globally unique and is used to determine and find the specified node data. Each leaf node requires a globally unique identifier, similar to the primary key in the database, which is used to accurately locate and retrieve the node data in the system. This identifier can be a number, a string, or a UUID, as long as its uniqueness can be ensured. In actual applications, this identifier can be used for data locking, permission control, version management, and many other aspects. It is the basis for achieving refined data management. For example, in Figure 2 In , when the user requests to obtain the data of the `NodeData3` node, the system will first check the "Whether to split leaf nodes" property of `NodeData3`. If this property is `true` and the "Whether to load" property of its child nodes is `false`, the system will only load the data of the `NodeData3` node itself, and will not load the data of its child nodes. This on-demand loading strategy can significantly reduce the amount of data transmission and improve the system response speed, especially for scenarios with large amounts of data and complex network environments. Figure 2 The "dashed box" in the figure represents a custom lock range. The division of the lock range is directly related to the efficiency of multi-person collaboration and the integrity of the data. Through the "Whether to split leaf nodes" attribute, users can flexibly define the size and granularity of the lock range.
[0027] In practical applications, this custom data segmentation method can be applied to various scenarios that require collaborative editing and management by multiple people. For example: in product design and R&D, team members can be responsible for the design and development of different modules respectively. By locking the modules they are responsible for, data conflicts can be avoided and collaborative efficiency can be improved; in document editing and management, multiple users can collaboratively edit the same document by locking different chapters or paragraphs to achieve parallel editing and improve work efficiency; in software development, developers can lock different code modules for independent development and testing to avoid code conflicts and improve development efficiency; in data analysis and modeling, data analysts can lock different data sets or analysis models to conduct independent analysis and modeling to avoid data interference and improve analysis efficiency.
[0028] S2. Lock the objects within the granularity range, and dynamically load and release the configuration data in units of the lock range. The locking includes automatic locking and manual locking.
[0029] Automatic locking mainly depends on the user's access behavior to data. When a user tries to access data within a certain granularity range, the system will automatically lock the range and set the lock flag to "locked by myself". The purpose of this is to prevent other users from modifying the same data at the same time, thereby avoiding data conflicts. If another user tries to access the same range of data at this time, the system will set the lock flag to "locked by other users" and grant the user read-only permission. This mechanism ensures that data can only be modified by one user at any time, thereby ensuring data consistency.
[0030] Manual locking is usually used in some special scenarios, such as when users need to modify a certain data for a long time, or need to ensure that the data will not be modified by other users before a certain sequence of operations is completed. Manual locking gives users greater flexibility and control, but it also requires users to use it more carefully to avoid deadlock and other problems. In the implementation of locking, the lock flag plays a vital role. Through the lock flag, the system can accurately track the lock status of each granularity range to ensure the correctness and consistency of data access. The lock flag usually includes three states: "locked by other users", "locked by oneself" and "unlocked". When data is locked by a user, the lock flag will be set to "locked by oneself" or "locked by other users", depending on whether the user accessing the data is the locker. When the data is not locked, the lock flag will be set to "unlocked". By checking the lock flag, the system can determine whether the user is allowed to modify the data, thereby avoiding data conflicts.
[0031] This locking mechanism is particularly important in multi-user configuration scenarios. Since multiple users may operate on the same set of configuration data at the same time, if there is no effective locking mechanism, it is easy to cause data conflicts and inconsistencies. By locking objects within the granularity range and dynamically loading and releasing configuration data, the system can ensure that each user can operate in an isolated environment, thereby avoiding data conflicts and inconsistencies. In addition, this locking mechanism can also improve the concurrency performance of the system. Since the scope of the lock is at the granularity level, conflicts will only occur when multiple users access data within the same granularity range at the same time. For unrelated granularity ranges, users can operate concurrently without affecting each other. This fine-grained locking mechanism can maximize the concurrency performance of the system, thereby meeting the needs of multi-user collaborative work. In general, by locking objects within the granularity range and dynamically loading and releasing configuration data, the system can effectively manage and control the access and modification of configuration data, thereby ensuring data consistency and avoiding conflicts. This mechanism is particularly important in multi-user configuration scenarios, which can improve the concurrency performance and stability of the system and meet the needs of multi-user collaborative work. At the same time, reasonable granularity settings and flexible locking methods are also key factors to consider in system design, which directly affect system performance and user experience. Through in-depth understanding and careful design of these details, we can build a more efficient, stable and easy-to-use configuration system.
[0032] Automatic locking includes the following steps: S2.1.1. When a user accesses the locked range data in a multi-user configuration scenario, the locked range data is locked by the accessing user. That is, the user who accesses the locked range data first will lock the locked range data. The implementation of this step depends on the system's real-time monitoring and rapid response to user access requests. When the first user initiates an access request to the data, the system will immediately record the request and mark the data as "locked", and associate the lock status with the user's identity information. This mechanism ensures that at any time, only one user can modify the data, thereby avoiding data conflicts and inconsistencies caused by concurrent modifications. It is worth noting that the "locked range data" here needs to be clearly defined. It may be a file, a record, a part of a data table, or any data unit that requires concurrent control. Clarifying the lock range is crucial to the performance and efficiency of the system. A lock range that is too broad will lead to unnecessary waiting and waste of resources, while a lock range that is too narrow may not effectively prevent data conflicts.
[0033] S2.1.2. Add a user lock mark to the locked range data. This step is the core of the automatic locking mechanism, which indicates its lock status by adding specific marks to the data. The lock marks include locked by other users, locked by oneself, and unlocked. After the data is locked, other users can only view it in read-only mode. That is, when the data is locked by a user, the system will set the mark to "locked by other users" (for users other than the locking user) or "locked by oneself" (for the locking user itself). This identification mechanism enables other users to immediately understand the locking status of the data when trying to access or modify the data, and take corresponding measures according to the status. For example, if the data is locked by other users, then other users can only view the data in read-only mode and cannot modify it. This restriction ensures data consistency and prevents problems caused by concurrent modifications. At the same time, the lock mark also provides users with clear operation instructions to avoid data errors caused by misoperation.
[0034] The manual locking mechanism corresponds to the automatic locking mechanism. The manual locking mechanism gives users greater flexibility and control, allowing users to actively lock data according to actual needs. Manual locking includes the following steps: S2.2.1. Provide a user operation entry. This entry is usually a button, a menu option or a specific command, through which the user can trigger the manual lock operation. Providing a clear and easy-to-understand operation entry will help users quickly master the use of the manual lock function and improve work efficiency.
[0035] S2.2.2. The user manually operates the data that needs to be locked, that is, the locked range data is detected. In this process, the user needs to clearly specify the data to be locked and send a request to the system. After receiving the request, the system will mark the data as "locked" and associate the locked state with the user. In this process, the user needs to clearly understand the scope of the data he has locked and ensure that it is unlocked in time after completing the operation to avoid occupying data resources for a long time and affecting the normal work of other users.
[0036] S2.2.3. When checking in, cancel the lock mark of the locked range data and change it to an unlocked state. When the user has completed modifying or viewing the data, the data needs to be checked into the system to cancel the locked state. In this step, the user needs to return the data to the system so that other users can access and use it. After receiving the check-in request, the system will change the lock mark of the data to "unlocked" to restore the data to an editable state. The successful completion of this step marks the end of the manual locking process, and the data is open to all users again.
[0037] In summary, automatic locking and manual locking mechanisms are important means to ensure data consistency and integrity in a multi-user environment. The automatic locking mechanism realizes automatic concurrent control of data through the principle of "first come, first served" and locking identification, while the manual locking mechanism gives users greater flexibility and control. The reasonable application of these two mechanisms can effectively avoid data conflicts and inconsistencies and improve the efficiency and accuracy of data processing. However, in actual applications, it is also necessary to select appropriate locking strategies according to specific business needs and scenario characteristics, and reasonably define the locking range to achieve the best performance and user experience.
[0038] S3, save the configuration in a user data isolation way, and it will be visible to other users after checking in. Figure 2 As shown, after the user checks out the locked range data, the configuration can be edited and modified. After the user finishes the modification and saves it, the modified content will be saved in the archive directory corresponding to the user ID.
[0039] The data modified by the current user is not visible to other users before checking in. Only after the current user checks in, other users can see the modified content. When the user checks in the locked range data, the modified data under the user archive is merged into the final effective archive data. When the user checks out the modified and saved configuration data, the rollback process can be quickly implemented by clearing the modified content under the user archive.
[0040] S4. Incrementally manage user configuration data by distinguishing user IDs. Specifically, each user's configuration changes will be recorded and stored separately in an independent archive directory named after the user ID, ensuring that data between different users will not interfere with each other. This mechanism not only ensures the security and integrity of the data, but also facilitates subsequent data recovery and version control.
[0041] S5. Check-in object data is managed through the version management library OVS, and incremental release and version restoration can be performed based on the version library. When the user completes the check-in of the data in the locked range, the data in the locked range is serialized into binary data and saved to the OVS version library. Incremental release includes comparing data changes in the OVS version library according to the locked range data. Version restoration includes version management according to the locked range data.
[0042] The multi-person online configuration solution proposed by the present invention dynamically loads and releases data in a single locked range to reduce resource consumption. Figure 3As shown, when user A accesses a certain object data, he first searches the computer memory to see whether the data belonging to the user exists. If it exists, he directly accesses the data in the memory. If it does not exist in the memory, he loads the data content to be accessed according to the above lock range definition. When loading poems from the archive, he first searches from the user archive, merges the data obtained from the user archive with the data in the effective archive, and obtains the complete data of the current user. The user data in the memory is released first according to the principle of least recent use to reduce computer resource usage.
[0043] The method provided by the present invention can bring many significant advantages. First, it can significantly improve configuration efficiency and shorten project cycles. The multi-person parallel working mode allows configuration work that originally took several days or even weeks to be completed in a shorter time. Secondly, it can improve resource utilization and reduce project costs. Through reasonable task allocation and parallel operations, the capabilities of team members can be maximized and idle resources can be avoided. Third, it can enhance team collaboration capabilities and improve project quality. Real-time synchronization and conflict detection mechanisms make communication between team members smoother, reduce misoperations and errors, and thus improve the accuracy and reliability of configuration.
[0044] The specific embodiments described herein are merely examples of the spirit of the present invention. Those skilled in the art may make various modifications or additions to the specific embodiments described or replace them in similar ways, but they will not deviate from the spirit of the present invention or exceed the scope defined by the appended claims.
Claims
1. A multi-user online configuration method, characterized in that: The following steps are involved: S1. Through the general custom data segmentation method, the multi-person configuration granularity range is customized according to the specific business; S2. Lock the objects within the granularity range, and dynamically load and release configuration data in units of the locked range; S3, save the configuration in a user data isolation way, and it will be visible to other users after checking in; S4, incrementally managing user configuration data by distinguishing user identification; S5. Check-in object data is managed through the version management library OVS, and incremental publishing and version restoration can be performed based on the version library.
2. A multi-user online configuration method according to claim 1, characterized in that: The configured data is constructed in the form of a tree, and each leaf node represents different business data.
3. A multi-user online configuration method according to claim 2, characterized in that: Each sub-leaf node contains at least three attributes, including whether to split the leaf node, the leaf node identifier, and whether the leaf node is loaded.
4. A multi-user online configuration method according to claim 3, characterized in that: Whether to split the leaf node property is true, which means that the child nodes under the current node data need to be split into a more fine-grained locking range.
5. A multi-user online configuration method according to claim 3 or 4, characterized in that: Whether to split the leaf node property is false, which means that the current node data and all its child node data are a locked range.
6. A multi-user online configuration method according to claim 1, characterized in that: The locking comprises automatic locking and manual locking, and the automatic locking comprises the following steps: S2.1.
1. When a user accesses locked range data, the locked range data is locked by the accessing user; S2.1.
2. Add a user lock mark to the lock range data.
7. A multi-user online configuration method according to claim 6, characterized in that: The lock flags include locked by other users, locked by oneself and unlocked. After the data is locked, other users can only view it in read-only mode.
8. A multi-user online configuration method according to claim 6, characterized in that: The manual locking comprises the following steps: S2.2.
1. Provide user operation entry; S2.2.
2. Data that needs to be locked manually by the user; S2.2.
3. When checking in, cancel the lock mark of the locked range data and change it to unlocked state.
9. A multi-user online configuration method according to claim 1, characterized in that: The incremental release includes comparing data changes in the OVS version library according to the locked range data.
10. A multi-user online configuration method according to claim 1, characterized in that: The version restoration includes performing version management according to locked range data.
Citation Information
Patent Citations
Configuration multi-person collaborative editing method and device, electronic device and storage medium
CN118036568A
Engineering configuration method and related device
CN116184949A
Alliance chain account book extension storage method based on state data collaboration
CN116662443A
Collaborative configuration resource management method and device, equipment and medium
CN117742921A
Transactional integrity in a segmented database architecture
EP3264293A1