A Database Synchronization Method, Device and Medium between PDMS and E3D Servers

By automatically managing database synchronization between PDMS/E3D servers, the problem of global services running and manual operation is solved, and efficient resource utilization and cost savings are achieved.

CN115129468BActive Publication Date: 2025-07-25CHINA NUCLEAR POWER ENGINEERING CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202210661938.2
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-06-13
Publication Date
2025-07-25
Estimated Expiration
2042-06-13

AI Technical Summary

Technical Problem

The existing database synchronization method between PDMS/E3D servers requires the Global service to run all the time, wasting Global resources, and manually start and stop the Global service, wasting a lot of human resources.

Method used

Provide a database synchronization method between PDMS/E3D servers. By obtaining the current synchronization plan, it determines that the server that has not started the Global service and starts automatically. After synchronization is completed, the Global service will be automatically stopped, and the pre-built node services and scheduling services are used for intelligent management.

Benefits of technology

It realizes intelligently starting and stopping Global services during synchronization, maximizing the use of Global authorization resources, and saving software authorization costs and human resources.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115129468B_ABST
    Figure CN115129468B_ABST
Patent Text Reader

Abstract

The present invention provides a method, apparatus and medium for database synchronization between PDMS / E3D servers. The method includes: obtaining a current synchronization plan; judging whether there is a PDMS / E3D server that has not started the Global service among at least two PDMS / E3D servers according to the server identifier. If so, starting the Global service in the PDMS / E3D server that has not started the Global service through its pre-built node service; when the Global services of at least two PDMS / E3D servers have all been started, sending a start synchronization instruction to the node service of each PDMS / E3D server among the at least two PDMS / E3D servers; judging whether the current synchronization plan is completed. If so, stopping the corresponding Global service through the node service on each PDMS / E3D server. The method, apparatus and medium can solve the problems that the existing method for database synchronization between PDMS / E3D servers, on the one hand, requires the Global service to run all the time, wasting Global resources, and on the other hand, requires manual start and stop of the Global service, wasting a large amount of human resources.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to a method, device and medium for database synchronization between PDMS / E3D servers. Background Art

[0002] AVEVA PDMS (Plant Design Management system) is a software system launched by AVEVA, a British company, for the layout design and management of 3D digital models in factory design projects. AVEVA E3D (Everything 3D) is an upgraded version of PDMS launched by AVEVA after the PDMS 12.1 version. PDMS / E3D has become the preferred software system for large and complex factory design projects due to features such as what you see is what you get, network real-time collaboration, automatic real-time 3D collision checking, independent data structure, and open and extensible development environment.

[0003] PDMS / E3D supports setting up servers in different regions to accelerate the access speed of the project database. In this way, for staff in different regions to collaborate, it is necessary to synchronize the project databases located in different regions. Currently, the database synchronization between PDMS / E3D servers in different regions is based on the built-in Global module of PDMS / E3D for synchronization and is managed by the Admin module. Such a database synchronization method is closed. On the one hand, it requires the Global service to run continuously, wasting Global resources; on the other hand, it requires manual startup and shutdown of the Global service, wasting a large amount of human resources. Summary of the Invention

[0004] The technical problem to be solved by the present invention is to provide a method, device and medium for database synchronization between PDMS / E3D servers in view of the above deficiencies of the prior art, which can maximize the utilization of Global license resources and save a large amount of Global software license fees.

[0005] In a first aspect, the present invention provides a method for database synchronization between PDMS / E3D servers, the method comprising:

[0006] Obtaining a current synchronization plan, the current synchronization plan including server identifiers of at least two PDMS / E3D servers that need to perform database synchronization and corresponding project information;

[0007] Judging, according to the server identifier, whether there is a PDMS / E3D server in the at least two PDMS / E3D servers whose Global service is not started. If so, starting the Global service in the PDMS / E3D server whose Global service is not started through its pre-built node service;

[0008] When the Global service has been started on each of the at least two PDMS / E3D servers, send a start synchronization instruction to the node service of each PDMS / E3D server among the at least two PDMS / E3D servers, so that the node service synchronizes the databases corresponding to the project information between the at least two PDMS / E3D servers based on the start synchronization instruction;

[0009] Judge whether the current synchronization plan is completed. If so, stop the corresponding Global service through the node service on each PDMS / E3D server.

[0010] Further, the obtaining of the current synchronization plan specifically includes:

[0011] Obtain a list of synchronization plans pre-stored in the database through a pre-established scheduling service;

[0012] Obtain the current synchronization plan from the list of synchronization plans through the scheduling service.

[0013] Further, before obtaining the list of synchronization plans pre-stored in the database through the pre-established scheduling service, the method further includes:

[0014] Receive the server identifiers of multiple PDMS / E3D servers and the corresponding project information entered by the user through a pre-established Web site;

[0015] Receive the list of synchronization plans formulated by the user based on the server identifiers of the multiple PDMS / E3D servers and the corresponding project information through the Web site, and store the list of synchronization plans in the database.

[0016] Further, the starting of the Global service in the PDMS / E3D server that has not started the Global service through the pre-established node service specifically includes:

[0017] Obtain the script for starting the Global service in the PDMS / E3D server that has not started the Global service through the node service in the PDMS / E3D server that has not started the Global service;

[0018] Start the Global service in the PDMS / E3D server that has not started the Global service according to the script for starting the Global service.

[0019] Further, the stopping of the corresponding Global service through the node service on each PDMS / E3D server specifically includes:

[0020] Judge in sequence whether each of the PDMS / E3D servers needs to stop the Global service;

[0021] If so, obtain the script for stopping the Global service in the PDMS / E3D server that needs to stop the Global service through the node service;

[0022] Stop the Global service in the PDMS / E3D server that needs to stop the Global service according to the script for stopping the Global service.

[0023] Further, after starting the Global service in the PDMS / E3D server that has not started the Global service through the node service pre-established by it, the method further includes:

[0024] Judge whether the startup of the Global service in the PDMS / E3D server that has not started the Global service is successful;

[0025] If not, generate and store the corresponding log record.

[0026] Further, the method further includes:

[0027] During the execution of the current synchronization plan, monitor the execution process of the current synchronization plan;

[0028] When it is monitored that the execution of the current synchronization plan times out or fails, generate and store the corresponding error diagnosis information.

[0029] Further, the method further includes:

[0030] If the current synchronization plan has been completed, generate and store the synchronization record corresponding to the current synchronization plan.

[0031] In a second aspect, the present invention provides a database synchronization device between PDMS / E3D servers, including:

[0032] A synchronization plan acquisition module, configured to acquire a current synchronization plan, where the current synchronization plan includes the server identifiers of at least two PDMS / E3D servers that need to perform database synchronization and the corresponding project information;

[0033] A service startup module, connected to the synchronization plan acquisition module, configured to judge whether there is a PDMS / E3D server that has not started the Global service among the at least two PDMS / E3D servers according to the server identifier, and if so, start the Global service in the PDMS / E3D server that has not started the Global service through the node service pre-established by it;

[0034] A synchronous execution module, connected to the service startup module, is configured to send a start synchronization instruction to the node service of each PDMS / E3D server among the at least two PDMS / E3D servers when the Global service has been started on all of the at least two PDMS / E3D servers, so that the node service synchronizes the databases corresponding to the project information between the at least two PDMS / E3D servers based on the start synchronization instruction;

[0035] A service stop module, connected to the synchronous execution module, is configured to determine whether the current synchronization plan is completed. If so, it stops the corresponding Global service through the node service on each PDMS / E3D server.

[0036] In a third aspect, the present invention provides a computer-readable storage medium, on which a computer program is stored. When the computer program is executed by a processor, it implements the database synchronization method between PDMS / E3D servers described in the first aspect above.

[0037] The database synchronization method, device and medium between PDMS / E3D servers provided by the present invention first obtain the current synchronization plan, where the current synchronization plan includes the server identifiers of at least two PDMS / E3D servers that need to perform database synchronization and the corresponding project information. Then, it is determined whether there is a PDMS / E3D server that has not started the Global service among the at least two PDMS / E3D servers according to the server identifiers. If so, the Global service in the PDMS / E3D server that has not started the Global service is started through its pre-built node service; and when the Global service has been started in all of the at least two PDMS / E3D servers, a start synchronization instruction is sent to the node service of each PDMS / E3D server among the at least two PDMS / E3D servers, so that the node service synchronizes the databases corresponding to the project information between the at least two PDMS / E3D servers based on the start synchronization instruction. Finally, it is determined whether the current synchronization plan is completed. If so, the corresponding Global service is stopped through the node service on each PDMS / E3D server. The present invention can automatically perform database synchronization between PDMS / E3D servers in different regions according to the pre-made current synchronization plan, and intelligently start and stop the Global service during the synchronization execution process, so as to maximize the utilization of Global authorization resources and save a large amount of Global software authorization fees. Since the entire synchronization process does not require human participation, a large amount of human resources can be saved, solving the problems of the existing database synchronization method between PDMS / E3D servers that on the one hand, the Global service needs to run all the time, wasting Global resources, and on the other hand, manual start and stop of the Global service wastes a large amount of human resources. BRIEF DESCRIPTION OF THE DRAWINGS

[0038] Figure 1 It is a flowchart of a database synchronization method between PDMS / E3D servers according to Embodiment 1 of the present invention;

[0039] Figure 2 It is a flowchart of another database synchronization method between PDMS / E3D servers according to Embodiment 1 of the present invention;

[0040] Figure 3 It is a schematic structural diagram of a database synchronization device between PDMS / E3D servers according to Embodiment 2 of the present invention. DETAILED DESCRIPTION OF THE EMBODIMENTS

[0041] To enable those skilled in the art to better understand the technical solutions of the present invention, the embodiments of the present invention will be further described in detail below in conjunction with the accompanying drawings.

[0042] It is understood that the specific embodiments and drawings described herein are only for explaining the present invention, rather than limiting the present invention.

[0043] It is understood that, without conflict, the various embodiments in the present invention and the various features in the embodiments may be combined with each other.

[0044] It is understood that, for ease of description, only the parts related to the present invention are shown in the drawings of the present invention, and the parts unrelated to the present invention are not shown in the drawings.

[0045] It is understood that each unit and module involved in the embodiments of the present invention may correspond to only one entity structure, or may be composed of multiple entity structures. Alternatively, multiple units and modules may also be integrated into one entity structure.

[0046] It is understood that, without conflict, the functions and steps marked in the flowcharts and block diagrams of the present invention may occur in a sequence different from that marked in the drawings.

[0047] It is understood that in the flowcharts and block diagrams of the present invention, the possible system architectures, functions, and operations of the systems, devices, equipment, and methods according to the various embodiments of the present invention are shown. Among them, each block in the flowchart or block diagram may represent a unit, module, program segment, or code, which contains executable instructions for implementing the specified function. Moreover, each block or combination of blocks in the block diagram and flowchart may be implemented by a hardware-based system for implementing the specified function, or may be implemented by a combination of hardware and computer instructions.

[0048] It is understood that the units and modules involved in the embodiments of the present invention may be implemented in software or in hardware. For example, the units and modules may be located in the processor.

[0049] Embodiment 1:

[0050] This embodiment provides a method for database synchronization between PDMS / E3D servers, as Figure 1 shown, the method includes:

[0051] Step S101: Obtain the current synchronization plan, where the current synchronization plan includes the server identifiers of at least two PDMS / E3D servers that need to perform database synchronization and the corresponding project information.

[0052] In this embodiment, the current synchronization plan is the synchronization plan that needs to be executed currently. The server identifier is used to uniquely identify a PDMS / E3D server, and the corresponding project information may include the project ID and name, etc.

[0053] Optionally, the obtaining of the current synchronization plan specifically includes:

[0054] Obtain the list of synchronization plans pre-stored in the database through a pre-established scheduling service;

[0055] Obtain the current synchronization plan from the list of synchronization plans through the scheduling service.

[0056] In this embodiment, the scheduling service can be established on any PDMS / E3D server or other server. The scheduling service can be networked with all other PDMS / E3D servers. The list of synchronization plans can include one or more synchronization plans. Each synchronization plan can include the server identifier, project information, execution time, etc. of the PDMS / E3D server that needs to perform database synchronization. The synchronization plans in the list of synchronization plans can be executed immediately or when the corresponding execution time arrives. The scheduling service can read the established synchronization plan and execute the synchronization plan.

[0057] Optionally, before obtaining the list of synchronization plans pre-stored in the database through the pre-established scheduling service, the method further includes:

[0058] Receive the server identifiers of multiple PDMS / E3D servers and the corresponding project information entered by the user through a pre-established Web site;

[0059] Receive the list of synchronization plans formulated by the user based on the server identifiers of the multiple PDMS / E3D servers and the corresponding project information through the Web site, and store the list of synchronization plans in the database.

[0060] In this embodiment, the Web site can be established on any PDMS / E3D server or other server. The user can log in to the Web site through a browser and enter the relevant information of the PDMS / E3D server through the Web site, such as the server identifier, server IP, port, etc. of the PDMS / E3D server. At the same time, the user can compile the synchronization plan through the Web site, and the Web site stores the synchronization plan entered by the user in the database for the scheduling service to obtain.

[0061] It should be noted that the configuration of the existing synchronization plan is usually scattered on each PDMS / E3D server and needs to be logged in to each PDMS / E3D server for configuration, which cannot be centrally managed. The present application can achieve centralized management of the synchronization plan through a pre-established Web site.

[0062] Step S102: Determine whether there is a PDMS / E3D server among the at least two PDMS / E3D servers that has not started the Global service based on the server identifier. If so, start the Global service in the PDMS / E3D server that has not started the Global service through its pre-established node service.

[0063] In this embodiment, a node service is built in each PDMS / E3D server. The node service can communicate with the Web site and the scheduling service through the TCP protocol to allow it to control the PDMS / E3D server and the PDMS / E3D project. It should be noted that the Web site and the scheduling service can be deployed on the same server.

[0064] Optionally, starting the Global service in the PDMS / E3D server that has not started the Global service through its pre-established node service specifically includes:

[0065] Obtain the script for starting the Global service in the PDMS / E3D server that has not started the Global service through the node service in the PDMS / E3D server that has not started the Global service;

[0066] Start the Global service in the PDMS / E3D server that has not started the Global service according to the script for starting the Global service.

[0067] In this embodiment, each PDMS / E3D server is configured with a script for starting and stopping the Global service. If there is a PDMS / E3D server that has not started the Global service, the scheduling service communicates with the node service on the corresponding PDMS / E3D server through the TCP protocol, obtains the corresponding script for starting the Global service, and starts the Global service according to this script. At the same time, the scheduling service further determines whether the Global service has been successfully started in the PDMS / E3D server that has not started the Global service; if not, a corresponding log record is generated and stored in the database.

[0068] Step S103: When the Global service has been started in all of the at least two PDMS / E3D servers, send a start synchronization instruction to the node service of each PDMS / E3D server among the at least two PDMS / E3D servers, so that the node service synchronizes the databases corresponding to the project information between the at least two PDMS / E3D servers based on the start synchronization instruction.

[0069] In this embodiment, it is assumed that there is 1 main site and 2 sub-sites for the project. Then there are two synchronization methods. One is partial synchronization: first, the main site (No. 1) synchronizes with the sub-site (No. 2), and then the main site (No. 1) synchronizes with the sub-site (No. 3). The other is simultaneous synchronization, that is, the main site (No. 1) synchronizes with the sub-site (No. 2) and at the same time the main site (No. 1) synchronizes with the sub-site (No. 3), which is equivalent to three-party simultaneous synchronization.

[0070] Step S104: Determine whether the current synchronization plan is completed. If so, stop the corresponding Global service through the node service on each PDMS / E3D server.

[0071] It should be noted that the authorization of PDMS / E3D software is purchased according to modules (Design 3D modeling module, IsoDraft drawing module, Draft 2D drawing module, Global project remote data synchronization module, etc.). Among them, the authorizations of the modeling and drawing modules are shared. For example, if 100 authorizations are purchased, they can be used to log in to the modeling module or the drawing module, and the concurrent login number should be less than or equal to 100. The Global synchronization module is separately authorized, with a high price and a small purchase quantity. If 5 authorizations are purchased, at most 5 concurrent logins are allowed. The existing database synchronization method requires the Global service to run all the time, wasting Global authorization resources. Therefore, the present invention only starts the Global service when needed and stops the Global service after use to release the License resources for other projects or servers, so as to maximize the utilization of Global authorization resources and save a large amount of software authorization fees.

[0072] Optionally, the stopping of the corresponding Global service through the node service on each PDMS / E3D server specifically includes:

[0073] Sequentially determine whether each PDMS / E3D server needs to stop the Global service;

[0074] If so, obtain the script for stopping the Global service in the PDMS / E3D server that needs to stop the Global service through the node service;

[0075] Stop the Global service in the PDMS / E3D server that needs to stop the Global service according to the script for stopping the Global service.

[0076] In this embodiment, after synchronization ends, the scheduling service sequentially determines whether each PDMS / E3D server needs to stop the Global service. If the Global service is not in use (it is possible that other plans are synchronizing and using the service), the scheduling service intelligently stops the Global service.

[0077] Optionally, the method further includes:

[0078] During the execution of the current synchronization plan, monitor the execution process of the current synchronization plan;

[0079] When it is monitored that the execution of the current synchronization plan times out or fails, generate and store corresponding error diagnosis information.

[0080] In this embodiment, the scheduling service diagnoses the synchronization plan by monitoring the execution of the synchronization plan, analyzes whether the execution of the synchronization plan times out, whether the synchronization is completed, and whether the synchronization is successful, etc. If the synchronization times out or fails (such as due to network latency, lag, exception, insufficient authorization, model data conflict, etc.), the scheduling service adds an error diagnosis information to the database, as well as a notification message for notifying the user that the synchronization fails. The user can view the error diagnosis information or the notification message through the Web site.

[0081] Optionally, the method further includes:

[0082] If the current synchronization plan has been completed, generate and store a synchronization record corresponding to the current synchronization plan.

[0083] In this embodiment, after each synchronization plan is completed, the scheduling service generates and stores a synchronization record corresponding to the synchronization plan. The user can view the synchronization record by logging in to the Web site through a browser.

[0084] In a specific embodiment, as Figure 2 shown, the database synchronization method between PDMS / E3D servers may include the following steps:

[0085] (1) Set up node services in PDMS / E3D servers

[0086] Specifically, set up node services in each PDMS / E3D server respectively. For example, as Figure 2As shown in the figure, there are two servers in the server cluster. Node services are built on Server A and Server B respectively. The node services encapsulate some interfaces for server management and operations on PDMS / E3D. These interfaces are open to the outside world through the TCP protocol. These interfaces include obtaining PDMS / E3D server information, starting and stopping the Global service, executing synchronization plans, obtaining synchronization results, and so on. The node services can provide interfaces to the scheduling service and the Web site for obtaining project information and executing relevant synchronization commands.

[0087] (2) Configure projects on the PDMS / E3D server

[0088] Specifically, the supporting configuration tool can be used to configure the project information on each PDMS / E3D server. The project information includes the project database directory, project ID and name, server IP, port, server site code, scripts for starting the project, scripts for starting and stopping the Global service, user name and password for opening the project, etc. To avoid information leakage, the project information is saved locally on the server, and the password is encrypted to enhance security.

[0089] (3) Enter the PDMS / E3D server on the Web site.

[0090] Specifically, a Web site can be built on any PDMS / E3D server or other servers. Users can log in to the Web site through a browser and enter the relevant information of the PDMS / E3D server through the Web site, such as the server identifier of the PDMS / E3D server, server IP, port, and so on.

[0091] (4) Enter the projects on the PDMS / E3D server on the Web site.

[0092] Specifically, users can log in to the Web site through a browser and enter all the project information on each PDMS / E3D server, which can include the project ID and name, etc. After the Web site receives the relevant information of the PDMS / E3D server entered by the user and all the project information on each PDMS / E3D server, it stores them in the database.

[0093] (5) Set the synchronization plan for the projects that have been entered on the Web site.

[0094] Specifically, synchronization scheduling can be performed through a website and stored in the form of a list. The synchronization plan list can include one or more synchronization plans. Each synchronization plan can include the server identification, project information, execution time, etc. of the PDMS / E3D server that needs to perform database synchronization. The synchronization plans in the synchronization plan list can be executed immediately or when the corresponding execution time arrives.

[0095] (6) Deploy a scheduling service on the server to execute the synchronization plan.

[0096] Specifically, a scheduling service can be set up on any PDMS / E3D server or other server. The scheduling service can read the formulated synchronization plan and execute it.

[0097] (7) The scheduling service intelligently starts the Global service

[0098] Specifically, when executing the synchronization plan, the scheduling service first determines whether the Global service on the PDMS / E3D servers on both sides or multiple sides of the synchronization has been started. If the Global service has not been started, it first starts the Global service on the target server and ensures that the service starts successfully. If the Global service cannot be started successfully, corresponding log records will be generated. The log records can be viewed on the website and support retry operations. It should be noted that the website can be deployed on the same server as the scheduling service.

[0099] Suppose a project has 1 main site and 2 branch sites. Then there are two synchronization methods. One is partial synchronization: that is, first synchronize the main site (No. 1) with the branch site (No. 2), and then synchronize the main site (No. 1) with the branch site (No. 3); the other is simultaneous synchronization, that is, synchronize the main site (No. 1) with the branch site (No. 2), and at the same time synchronize the main site (No. 1) with the branch site (No. 3), which is equivalent to three-party simultaneous synchronization.

[0100] (8) After successfully starting the Global service on both sides or multiple sides of the synchronization PDMS / E3D servers, send a start synchronization command to the corresponding node service.

[0101] (9) The scheduling service diagnoses the synchronization plan by monitoring the execution of the synchronization plan, so as to facilitate analyzing whether the execution of the synchronization plan times out, whether the synchronization is completed, and whether the synchronization is successful, etc.

[0102] (10) After the synchronization ends, the scheduling service analyzes the synchronization result.

[0103] (11) If the synchronization fails (which can easily occur due to network latency, lag, anomalies, insufficient authorization, model data conflicts, etc.), the scheduling service will add an error diagnosis message to the database, as well as a notification message to inform the user of the synchronization failure.

[0104] (12) Log in to the Web site using a browser to view the notification message.

[0105] (13) If the synchronization is successful, save the synchronization result to the database.

[0106] (14) After the synchronization ends, determine whether the Global service needs to be shut down. If the Global service is not in use (it is possible that other schedules are synchronizing and using the service), the scheduling service will intelligently stop the Global service.

[0107] (15) If the synchronization is successful, generate and store the synchronization record corresponding to the synchronization plan. Log in to the Web site using a browser to view the synchronization record.

[0108] It should be noted that the programming language of the present invention is preferably C#. By building the node service, Web site, and scheduling service with the C# language, the present invention can automatically perform synchronization according to the formulated synchronization plan, intelligently manage the start and stop of the Global service, start the Global service only when needed, end the Global service after use, and release the License resources for other projects or servers to use, thereby maximizing the utilization of Global authorization resources and saving a large amount of software authorization fees. And the entire synchronization process does not require human participation, which can save a large amount of human resources.

[0109] The database synchronization method between PDMS / E3D servers provided by the embodiments of the present invention first obtains the current synchronization plan, where the current synchronization plan includes the server identifiers of at least two PDMS / E3D servers that need to perform database synchronization and the corresponding project information. Then, it determines whether there is a PDMS / E3D server among the at least two PDMS / E3D servers that has not started the Global service according to the server identifier. If so, it starts the Global service in the PDMS / E3D server that has not started the Global service through its pre-built node service. And when the Global service has been started in all of the at least two PDMS / E3D servers, it sends a start synchronization instruction to the node service of each PDMS / E3D server among the at least two PDMS / E3D servers, so that the node service synchronizes the databases corresponding to the project information between the at least two PDMS / E3D servers based on the start synchronization instruction. Finally, it determines whether the current synchronization plan is completed. If so, it stops the corresponding Global service through the node service on each PDMS / E3D server. The present invention can automatically perform database synchronization between PDMS / E3D servers in different regions according to the pre-established current synchronization plan, and intelligently start and stop the Global service during the synchronization execution process, so as to maximize the utilization of Global authorization resources and save a large amount of Global software authorization fees. Since the entire synchronization process does not require human participation, it can save a large amount of human resources, and solves the problems of the existing database synchronization method between PDMS / E3D servers that on the one hand, the Global service needs to run all the time, wasting Global resources, and on the other hand, it needs to manually start and stop the Global service, wasting a large amount of human resources.

[0110] Embodiment 2:

[0111] As Figure 3 shown, this embodiment provides a database synchronization device between PDMS / E3D servers for executing the above-mentioned database synchronization method between PDMS / E3D servers, including:

[0112] A synchronization plan acquisition module 11, configured to acquire a current synchronization plan, where the current synchronization plan includes the server identifiers of at least two PDMS / E3D servers that need to perform database synchronization and the corresponding project information;

[0113] The service startup module 12, connected to the synchronization plan acquisition module 11, is used to determine whether there is a PDMS / E3D server among the at least two PDMS / E3D servers that has not started the Global service according to the server identifier. If so, it starts the Global service in the PDMS / E3D server that has not started the Global service through the node service it has pre-built;

[0114] The synchronization execution module 13, connected to the service startup module 12, is used to send a start synchronization instruction to the node service of each PDMS / E3D server among the at least two PDMS / E3D servers when the Global service has been started in all the at least two PDMS / E3D servers, so that the node service synchronizes the databases corresponding to the project information between the at least two PDMS / E3D servers based on the start synchronization instruction;

[0115] The service stop module 14, connected to the synchronization execution module 13, is used to determine whether the current synchronization plan is completed. If so, it stops the corresponding Global service through the node service on each PDMS / E3D server.

[0116] Optionally, the synchronization plan acquisition module 11 specifically includes:

[0117] The list acquisition unit is used to acquire the synchronization plan list pre-stored in the database through the pre-built scheduling service;

[0118] The plan acquisition unit is used to acquire the current synchronization plan from the synchronization plan list through the scheduling service.

[0119] Optionally, the device further includes:

[0120] The first receiving module is used to receive the server identifiers of multiple PDMS / E3D servers and the corresponding project information entered by the user through the pre-built Web site;

[0121] The second receiving module is used to receive the synchronization plan list formulated by the user based on the server identifiers of the multiple PDMS / E3D servers and the corresponding project information through the Web site, and store the synchronization plan list in the database.

[0122] Optionally, the service startup module 12 is specifically used for:

[0123] Determine whether there is a PDMS / E3D server that has not started the Global service among the at least two PDMS / E3D servers according to the server identifier. If so, obtain the script for starting the Global service in the PDMS / E3D server that has not started the Global service through the node service in the PDMS / E3D server that has not started the Global service, and start the Global service in the PDMS / E3D server that has not started the Global service according to the script for starting the Global service.

[0124] Optionally, the service stop module 14 specifically includes:

[0125] A stop determination unit, configured to determine whether the current synchronization plan is completed. If so, sequentially determine whether each PDMS / E3D server needs to stop the Global service;

[0126] A stop script acquisition unit, configured to, when the determination result of the stop determination unit is yes, obtain the script for stopping the Global service in the PDMS / E3D server that needs to stop the Global service through the node service;

[0127] A stop script execution unit, configured to stop the Global service in the PDMS / E3D server that needs to stop the Global service according to the script for stopping the Global service.

[0128] Optionally, the device further includes:

[0129] A start determination module, configured to determine whether the start of the Global service in the PDMS / E3D server that has not started the Global service is successful;

[0130] A log recording module, configured to, if not, generate and store corresponding log records.

[0131] Optionally, the device further includes:

[0132] A monitoring module, configured to monitor the execution process of the current synchronization plan during the execution of the current synchronization plan;

[0133] A diagnosis module, configured to generate and store corresponding error diagnosis information when it is monitored that the execution of the current synchronization plan times out or fails.

[0134] Optionally, the device further includes:

[0135] A synchronization record module, configured to, if the current synchronization plan has been completed, generate and store the synchronization record corresponding to the current synchronization plan.

[0136] Embodiment 3:

[0137] This embodiment provides a computer-readable storage medium, on which a computer program is stored. When the computer program is executed by a processor, it implements the database synchronization method between the PDMS / E3D servers in Embodiment 1 above.

[0138] The computer-readable storage medium includes volatile or non-volatile, removable or non-removable media implemented in any method or technology for storing information such as computer-readable instructions, data structures, computer program modules, or other data. The computer-readable storage medium includes, but is not limited to, RAM (Random Access Memory), ROM (Read-Only Memory), EEPROM (Electrically Erasable Programmable Read Only Memory), flash memory or other memory technologies, CD-ROM (Compact Disc Read-Only Memory), digital versatile disc (DVD) or other optical disc storage, magnetic cassette, tape, magnetic disk storage or other magnetic storage devices, or any other medium that can be used to store the desired information and can be accessed by a computer.

[0139] The database synchronization device and storage medium between PDMS / E3D servers provided in Embodiment 2 to Embodiment 3 first obtain the current synchronization plan, where the current synchronization plan includes the server identifiers of at least two PDMS / E3D servers that need to perform database synchronization and the corresponding project information. Then, based on the server identifiers, it is determined whether there is a PDMS / E3D server among the at least two PDMS / E3D servers that has not started the Global service. If so, the Global service in the PDMS / E3D server that has not started the Global service is started through its pre-established node service. And when the Global service has been started in all of the at least two PDMS / E3D servers, a start synchronization instruction is sent to the node service of each PDMS / E3D server among the at least two PDMS / E3D servers, so that the node service synchronizes the databases corresponding to the project information between the at least two PDMS / E3D servers based on the start synchronization instruction. Finally, it is determined whether the current synchronization plan is completed. If so, the corresponding Global service is stopped through the node service on each PDMS / E3D server. The present invention can automatically perform database synchronization between PDMS / E3D servers in different regions according to the pre-established current synchronization plan, and intelligently start and stop the Global service during the synchronization execution process, thereby maximizing the utilization of Global authorization resources and saving a large amount of Global software authorization fees. Since the entire synchronization process does not require human participation, a large amount of human resources can be saved, solving the problems of the existing database synchronization method between PDMS / E3D servers that on the one hand requires the Global service to run continuously, wasting Global resources, and on the other hand, requires manual start and stop of the Global service, wasting a large amount of human resources.

[0140] It can be understood that the above embodiments are merely exemplary embodiments adopted to illustrate the principles of the present invention, and the present invention is not limited thereto. For those of ordinary skill in the art, various modifications and improvements can be made without departing from the spirit and essence of the present invention, and these modifications and improvements are also regarded as the protection scope of the present invention.

Claims

1. A method for database synchronization between PDMS / E3D servers, characterized in that The method includes: Obtaining a current synchronization plan, where the current synchronization plan includes server identifiers of at least two PDMS / E3D servers that need to perform database synchronization and corresponding project information; Judging, according to the server identifiers, whether there is a PDMS / E3D server among the at least two PDMS / E3D servers on which the Global service is not started. If so, starting the Global service in the PDMS / E3D server on which the Global service is not started through a pre-established node service thereof; When the Global service has been started on all of the at least two PDMS / E3D servers, sending a start synchronization instruction to the node service of each PDMS / E3D server among the at least two PDMS / E3D servers, so that the node service synchronizes the databases corresponding to the project information between the at least two PDMS / E3D servers based on the start synchronization instruction; Judging whether the current synchronization plan is completed. If so, stopping the corresponding Global service through the node service on each PDMS / E3D server.

2. The database synchronization method between PDMS / E3D servers according to claim 1, wherein The obtaining of the current synchronization plan specifically includes: Obtaining a list of synchronization plans pre-stored in a database through a pre-established scheduling service; Obtaining the current synchronization plan from the list of synchronization plans through the scheduling service.

3. The database synchronization method between PDMS / E3D servers according to claim 2, characterized in that Before the obtaining of the list of synchronization plans pre-stored in the database through the pre-established scheduling service, the method further includes: Receiving, through a pre-established Web site, server identifiers of multiple PDMS / E3D servers and corresponding project information input by a user; Receiving, through the Web site, the list of synchronization plans formulated by the user based on the server identifiers of the multiple PDMS / E3D servers and the corresponding project information, and storing the list of synchronization plans in the database.

4. The method for database synchronization between PDMS / E3D servers according to claim 1, wherein, The starting of the Global service in the PDMS / E3D server on which the Global service is not started through the pre-established node service thereof specifically includes: Obtaining, through the node service in the PDMS / E3D server on which the Global service is not started, a script for starting the Global service in the PDMS / E3D server on which the Global service is not started; Starting the Global service in the PDMS / E3D server on which the Global service is not started according to the script for starting the Global service.

5. The method for database synchronization between PDMS / E3D servers according to claim 1, characterized in that The stopping of the corresponding Global service through the node service on each PDMS / E3D server specifically includes: Sequentially judging whether each PDMS / E3D server needs to stop the Global service; If so, obtaining, through the node service, a script for stopping the Global service in the PDMS / E3D server that needs to stop the Global service; Stopping the Global service in the PDMS / E3D server that needs to stop the Global service according to the script for stopping the Global service.

6. The method for database synchronization between PDMS / E3D servers according to claim 1, wherein After starting the Global service in the PDMS / E3D server that has not started the Global service through the pre-established node service, the method further includes: Determine whether the Global service has been successfully started in the PDMS / E3D server that has not started the Global service; If not, generate and store the corresponding log record.

7. The method for database synchronization between PDMS / E3D servers according to claim 1, characterized in that, The method further includes: During the execution of the current synchronization plan, monitor the execution process of the current synchronization plan; When it is monitored that the execution of the current synchronization plan times out or fails, generate and store the corresponding error diagnosis information.

8. The method for database synchronization between PDMS / E3D servers according to claim 1, characterized in that, The method further includes: If the current synchronization plan has been completed, generate and store the synchronization record corresponding to the current synchronization plan.

9. A database synchronization device between PDMS / E3D servers, characterized in that, It includes: A synchronization plan acquisition module, configured to acquire the current synchronization plan, where the current synchronization plan includes the server identifiers of at least two PDMS / E3D servers that need to perform database synchronization and the corresponding project information; A service start module, connected to the synchronization plan acquisition module, configured to determine whether there is a PDMS / E3D server that has not started the Global service among the at least two PDMS / E3D servers according to the server identifier. If so, start the Global service in the PDMS / E3D server that has not started the Global service through the pre-established node service; A synchronization execution module, connected to the service start module, configured to send a start synchronization instruction to the node service of each PDMS / E3D server among the at least two PDMS / E3D servers when the Global service has been started in all the at least two PDMS / E3D servers, so that the node service synchronizes the databases corresponding to the project information between the at least two PDMS / E3D servers based on the start synchronization instruction; A service stop module, connected to the synchronization execution module, configured to determine whether the current synchronization plan is completed. If so, stop the corresponding Global service through the node service on each PDMS / E3D server.

10. A computer-readable storage medium, characterized in that, A computer program is stored on the computer-readable storage medium, and when the computer program is executed by a processor, it implements the method for database synchronization between PDMS / E3D servers according to any one of claims 1-8.

Citation Information

Patent Citations

  • System and method for rapid creation and interaction of three-dimensional model

    CN103902757A

  • Data consistency concurrent maintenance method

    CN106202387A