Disclosure of Invention
The embodiment of the application discloses a database design method, a database design device and related equipment, which can provide branch synchronization and branch re-etching operation for a database, increase the operation and management modes of a user on the database and improve the user experience.
In a first aspect, the application provides a database design method, which is applied to a database design system, wherein the database design system comprises at least one database model in a design state, each database model comprises at least one branch, each branch comprises at least one database version, the database design method comprises the steps that the database design system provides a first interface for a user, the user can set a branch operation request on the first interface, the branch operation request is any one of a branch synchronous request and a branch repeated etching request, the branch operation request comprises source information and target information, the branch operation request set by the user through the first interface is received, and the database design system executes operations designated by the branch operation request according to the source information and the target information in the branch operation request.
The database design system increases the operation and management modes of a user on the database by providing synchronous operation among different branches in the same database model and repeated operation of the database among different database models, and improves the working efficiency and the user experience of the user.
In a specific implementation manner, the above-mentioned branch synchronization request is used for representing that any one database version in a first branch in a database model is used for covering the database version in a second branch in the same database model, wherein the first branch is any one branch in the database model, the second branch is a different branch from the first branch, and the above-mentioned branch resculpting request is used for representing that a third branch in the first database model is copied into the second database model to form a fourth branch in the second database model, wherein the first database model and the second database model are two different database models.
By the branch synchronization method between different branches in the same database model, the problem of merging conflict when different branches in the same database are merged can be avoided, and a user can select any one database version in a first branch to synchronize to a second branch, so that data represented by the other branch is identical to data represented by the database version selected by the user. The branch re-etching method provides a cross-model branch operation method, which can copy the data of the third branch in one database model into another database model to form a fourth branch, so that after the fourth branch has the same data as the third branch, a user can perform new development work in the fourth branch without influencing the third branch, and the modification operation of the user on the third branch also does not influence the fourth branch.
In a specific implementation manner, when the branch operation request is a branch synchronization request, the source information includes a name of a first branch and a version number of a database version used for branch synchronization in the first branch, and the target information includes a name of a second branch.
In a specific implementation manner, when the branch operation request is a branch copy request, the source information includes a name of the first database model and a name of a third branch, and the target information includes a name of the second database model.
In a specific implementation mode, the database design system executes operation designated by the branch operation request according to the source information and the target information in the branch operation request, wherein the operation comprises that when the branch operation request is a branch synchronous request, the database design system determines difference information between data represented by a first database version and data represented by a second branch, the first database version is a database version indicated by a version number of the database version in the source information, and the database design system acquires part or all of the difference information selected by a user as target difference information and stores the target difference information to the second branch. Specifically, the database design system may delete the database version that is not yet audited in the second branch, then create a new database version in the second branch, and store the target difference information into the newly created database version in the second branch, or directly replace the data in the database version that is not audited in the second branch with the target difference information.
And storing the difference information into the latest database version of the second branch in a difference storage mode, wherein the database design system can obtain the total data represented by the second branch according to the difference information and the data in other branches in the second branch, and ensure that the data represented by the latest database version of the second branch is identical to the data represented by the first database version in the first branch.
In a specific implementation mode, the database design system executes operation designated by the branch operation request according to the source information and the target information in the branch operation request, and the method comprises the steps that when the branch operation request is a branch re-etching request, the database design system obtains full-quantity data of a third branch in a first database model according to the name of the first database model and the name of the third branch, copies the full-quantity data of the third branch into a second database model to form a fourth branch in the second database model, wherein the third branch is any branch in the first database model, and when the database design system executes the branch re-etching operation, the fourth branch is newly created in the second database model.
In one specific implementation, the database design system operates on a cloud platform, and the user purchases the database design system cloud service at the cloud platform. The cloud service is provided for the user in a cloud service mode, so that the flexibility of the design and use of the database is improved, and the user experience can be improved.
In a second aspect, an embodiment of the present application provides a database design apparatus, the apparatus being applied to a database design system, the database design system including at least one design-state database model, each database model including at least one branch, each branch including at least one database version, the apparatus comprising:
The display module is used for providing a first interface for a user, wherein the first interface is used for setting source information and target information for the user, the branch operation request is any one of a branch synchronous request or a branch repeated etching request, and the branch operation request comprises the source information and the target information;
The receiving module is used for receiving a branch operation request set by a user through the first interface;
and the processing module is used for executing the operation designated by the branch operation request according to the source information and the target information in the branch operation request.
In a specific implementation manner, the above-mentioned branch synchronization request is used for representing that any one database version in a first branch in a database model is used for covering the database version in a second branch in the same database model, wherein the first branch is any one branch in the database model, the second branch is a different branch from the first branch, and the above-mentioned branch resculpting request is used for representing that a third branch in the first database model is copied into the second database model to form a fourth branch in the second database model, wherein the first database model and the second database model are two different database models.
In a specific implementation manner, when the branch operation request is a branch synchronization request, the source information includes a name of a first branch and a version number of a database version used for branch synchronization in the first branch, and the target information includes a name of a second branch.
In a specific implementation manner, when the branch operation request is a branch copy request, the source information includes a name of the first database model and a name of a third branch, and the target information includes a name of the second database model.
In a specific implementation mode, when the processing module executes operation designated by the branch operation request according to source information and target information in the branch operation request, the processing module is specifically configured to acquire difference information between data represented by a first database version and data represented by a second branch when the branch operation request is a branch synchronization request, where the first database version is a database version indicated by a version number of the database version, acquire target difference information, and store the target difference information to the second branch, where the target difference information is part or all of difference information selected by a user.
In a specific implementation manner, when the processing module executes the operation specified by the branch operation request according to the source information and the target information in the branch operation request, the processing module is specifically configured to obtain the total data of the third branch in the first database model according to the name of the first database model and the name of the third branch when the branch operation request is a branch re-etching request, copy the total data of the third branch into the second database model, and form a fourth branch in the second database model.
In one specific implementation, the database design system operates on a cloud platform, and the user purchases the database design system cloud service at the cloud platform.
In a third aspect, an embodiment of the present application provides a computing device, where the computing device includes a processor and a memory, where the memory stores a computer program, and where the processor executes the computer program, the computing device performs the method in the first aspect or any implementation manner of the first aspect.
In a fourth aspect, embodiments of the present application provide a computer readable storage medium having instructions stored therein which, when run on a network device, perform the method of the first aspect or any of the specific implementations of the first aspect.
In a fifth aspect, the present application provides a computer program product comprising computer instructions which, when executed by a computing device, performs the method of the first aspect or any of the specific implementations of the first aspect. The computer program product may be a software installation package which may be downloaded and executed on a computing device in case the method of the first aspect or any of the specific implementations of the first aspect is required.
Detailed Description
The technical scheme of the application will be described below with reference to the accompanying drawings.
A Database (DB) is a repository that organizes, stores and manages data according to a data structure, and is an organized, sharable collection of large amounts of data stored in a computer.
The database design system is a visual database design and management tool for building, using and maintaining a database. A user may create a database element in a database design system that includes tables and their associations, a stored procedure, a function, a sequence, an index, foreign keys, a trigger, etc., that is capable of generating a script of a database from a design. The server generates a database by running the script. The user may modify the design data in the database design system when the user needs to modify the data in the database. After the user has completed modifying the design data, the database design system may generate a new script from the modified design data.
The database design system has the functions of branching and version management, the creation of branching is one of the most common database management means in the database design system, several works in project development can be isolated from each other by creating different branches, and data in a plurality of branches are integrated through branch merging when the version is required to be released. When a user designs a database through a database design system, one or more branches may be created in a database model, such as "development branches" for user project development, "backbone branches" for project product release, and so forth. Each branch comprises one or more database versions, wherein the database versions refer to a design state database, and the design state database refers to a database stored in a database design system during project development of a user through the database design system.
It should be noted that in one branch of the database design system, the other database versions, in addition to the first database version, employ differential storage. I.e. the data stored in one database version is the difference information obtained by comparing that database version with the one preceding it. For example, one branch includes three database versions A1, A2, and A3, and the order of creation is A1, A2, and A3. If the character x is in A1, the data represented by A1 is x, in A2, the user adds the character yz after the character x, in A2, the saved data is not xyz, but two changing operations, namely 'adding y' and 'adding z', but the data represented by A2 is xyz, in A3, the user deletes the character z, in A3, the saved data is not xy, but the changing operation 'deleting z', but the data represented by A3 is xy. Since the branch has only three versions of the database, the data represented by A3 is the data represented by the branch. It should be understood that the above data in the database version and the operation process are only used to illustrate the differential storage mode, and are not to be construed as actually storing data in the database and actually operating the database.
Branch merging refers to merging modifications to a database in one version into another version in different branches of the same database, where the different versions of the same database may be in the same branch or in different branches. For example, if a first branch is merged into a second branch, the database design system may detect the first branch and the second branch, determine that the first branch and the second branch have all add, delete, and modify operations with respect to the merge point or the point of creation since the last merge point or the point of creation of the branch, and all add, delete, and modify operations with respect to the merge point or the point of creation of the branch, then perform a change to the database by the first branch into the second branch, i.e., the change to the database model by the first branch since the last merge point or the point of creation of the branch is repeated in the second branch. For example, after the last merging point or the first creation point of the branch, the second branch includes table 1, but the first branch has made an operation to delete table 1, then when merging the first branch into the second branch, table 1 is deleted in the latest version of the second branch, and the first branch does not make any change.
It should be noted that merging conflicts may occur when branches merge, e.g., two branches make different modifications to the same object. When branch merging is carried out, the database design system can carry out conflict detection, then the merging conflict is processed according to a preset conflict processing strategy or conflict early warning is carried out, and a user decides some conflicts which cannot be automatically processed. For example, according to the modification time, the data with later modification time is used as the data after branch combination, or early warning is carried out when combination conflict occurs, and the user is informed to solve the combination conflict.
The database design system in the embodiment of the application is an application program for providing a database development environment. The database design system includes at least one component, which refers to a simple package of data and methods. In some programming language hierarchies, components may also be referred to as parts, controls, and the like. Based on the roles of the components, the components included in the database design system can be divided into two types, front-end components and back-end components.
Front-end components refer to components that enable interaction with a user, such as a client, specifically for receiving data entered by the user, displaying interfaces and data requested by the user, and so forth. The back-end component is a component for processing data, and is specifically used for processing received data according to set logic, or processing data obtained from a database, and the like. In an embodiment of the present application, the database design system may include at least one of a graphical user interface, an integrated code editor, a compiler, and a debugger. The database design system front-end components may include components related to graphical user interfaces and the database design system back-end components may include components related to compilers, debuggers, and the like.
Based on different deployment modes, the database design system can be divided into a local database design system and a cloud database design system. The front-end components and back-end components of the local database design system are both deployed locally. Where the local is also referred to as a local device. The local device comprises a user device (e.g. a terminal such as a notebook computer) under direct control of the user, or a device geographically close to the user device (e.g. a local computer cluster). The cloud database design system has at least a portion of the components (e.g., backend components) deployed at the cloud. The cloud end in the embodiment of the application is one end corresponding to the local, namely a resource end accessed by a local user remotely through a network.
As shown in fig. 1A, fig. 1A is a schematic deployment diagram of a local database design system according to an embodiment of the present application. The front-end components described above may be run on a variety of terminal devices, such as cell phones, notebook computers, tablet computers or personal desktop computers, and the like. The back-end components described above may run on a computer cluster (including at least one computing device).
As shown in fig. 1B, fig. 1B is a schematic deployment diagram of a cloud database design system according to an embodiment of the present application. The database design system is deployed in a cloud platform. The cloud platform is provided with a large amount of basic resources provided by cloud service providers. For example, the cloud platform 1 has computing resources, storage resources, network resources, etc. deployed therein, and the computing resources may be a large number of computing devices (e.g., servers). The database design system can utilize the basic resources deployed in the cloud platform to realize the database design method provided by the embodiment of the application.
It should be appreciated that the database design system may be a hardware system or a software system deployed on a hardware device and/or virtual machine, and that the database design system may also be implemented by a combination of hardware and software. When the database design system is a hardware system, it may be a collection of computing devices. When the database design system is a software system, the database design system may be deployed independently on a server or virtual machine in the cloud platform, or the database design system may be deployed in a distributed manner on multiple servers in the cloud platform, or the database design system may be deployed in a distributed manner on multiple virtual machines in the cloud platform, or the database design system may be deployed in a distributed manner on servers and virtual machines in the cloud platform.
As shown in fig. 1B, the database design system can be provided to a user by a cloud service provider at a cloud platform abstract into a cloud service of a database design. After the user purchases the database design cloud service by the cloud platform, the cloud platform can provide the database design cloud service for the user by utilizing the database design system deployed on the cloud platform. For example, the cloud platform may provide a graphical user interface to a user purchasing the cloud service, the graphical user interface being displayed on the user's user device in which the user makes a database design. The method for purchasing the cloud service design of the database can comprise the steps of pre-charging and then settling according to the actual use condition of the final resource, or settling according to the time of using the cloud service or according to the function or resource of the purchased cloud service.
It should be noted that, in the embodiment of the present application, the cloud platform may be a cloud platform of a center cloud, a cloud platform of an edge cloud, or a cloud platform including a center cloud and an edge cloud, which is not specifically limited in the embodiment of the present application. And when the cloud platform is a cloud platform comprising a center cloud and an edge cloud, the database design system may be partially deployed in the cloud platform of the edge cloud and partially deployed in the cloud platform of the center cloud.
In the project development process, users may design a database through a database design system. When a user designs a database through a database design system, one or more branches are created in the same database model according to project requirements. For example, "development branches" for development of user projects, "backbone branches" for release of project products, and the like. Each branch includes a different version of the design database. Operations between design databases provided by current database design systems include creating new branches, deleting used branches or deleting some version of the database in an existing branch, merging operations between design databases in different branches, and so forth. The operation modes among the design state databases of different branches are fewer at present, and the requirements in project development cannot be met.
In order to solve the above problems, an embodiment of the present application provides a database design system and a database design method. As shown in fig. 2, fig. 2 is a schematic flow chart of a database design method provided by the embodiment of the application, and the database design system can provide synchronous operation between design databases in different branches of the same database and repeated etching operation of the design databases between different databases, so that the operation and management modes of users on the databases are increased, and the working efficiency and user experience of the users can be improved.
S201, providing a first interface for a user, and receiving a branching operation request set by the user through the first interface.
In the embodiment of the application, the branch operation requests in the database model are all operation requests of a design state database in the database design system. The branching operation of the database comprises branch merging, branch synchronization, branch duplication and the like.
The branch synchronization refers to replacing one database version in a second branch in the same database model with any one database version provided by a first branch in the database model, so that data represented by the second branch is identical to data represented by one database version in the first branch. Wherein the first branch and the second branch are two different branches. The branch synchronization may be used for replacing data represented by the second branch with data represented by a database version selected by the user in the first branch when the user needs to change the scheme corresponding to the second branch to a scheme corresponding to any one database version in the first branch. For example, the first branch in the database model includes four database versions A1, A2, A3 and A4, the second branch includes two database versions B1 and B2, and B1 and B2 are the database versions that are not modified any more after the audit is completed, and the second branch represents the data. If the user chooses to synchronize A3 in the first branch to the second branch, the database design system creates database version B3 in the second branch and performs the branch synchronization operation, the data represented by B3 is the same as the data represented by A3 in the first branch. It should be understood that the above data in the database version and the operation process are only used to illustrate the branch synchronization, and are not to be construed as actually stored data in the database and the actual operation process of the database.
Branch replication (fork) refers to the copying of a third branch in a first database model into a fourth branch of a second database model for developing new products based on an existing database. The first database model and the second database model are two different database models, the third branch is any branch in the first database model, and the fourth branch is a newly created branch in the second database model when branch re-etching is executed. For example, after the user completes the development of the android version of an application, the user needs to develop the corban system version of the application, at this time, the user may copy the third branch in the first database model corresponding to the ampere Zhuo Banben into the second database model established for the corban system version development, and create a fourth branch in the second database model to store the data of the third branch, where the data in the fourth branch is identical to the data in the third branch, but the fourth branch and the third branch are not in the same database model, so they do not affect each other, and thus new product development can be performed by using the data of the existing database.
In a specific implementation manner, the above-mentioned branch operation request may be a branch synchronization request, where the branch synchronization request includes source information and target information, the source information includes a name of a first branch and a version number of a database version, and the target information includes a name of a second branch, where the version number of the database version indicates a database version used for branch synchronization in the source branch. When a user needs to perform branch synchronization operation on two database versions in different branches of the same database, the database design system can provide a first interface for the user, and the user selects source information corresponding to the first branch and target information corresponding to the second branch for performing the branch synchronization operation through the first interface.
Fig. 3 is a schematic diagram of a first interface according to an embodiment of the present application, as shown in fig. 3. The first interface is an interface displayed by the database design system on the user terminal for the user to select the first branch and the version number of the database version. When the user needs to perform the branch synchronization operation, the user may first enter a management interface corresponding to the second branch, that is, the user selects the database model and the second branch which need to perform the branch synchronization. Then, the first interface shown in fig. 3 is entered through the management interface corresponding to the second branch, and in fig. 3, the user selects the trunk branch in the database model T as the second branch. The first interface includes names of different branches in the database model and version information of different versions of the database in each branch. The version information comprises a version number, an audit state, a submitter identifier, a submission time and the like, wherein the audit state comprises audit completion and non-audit, and the submitter identifier indicates a submitter of a corresponding version. The user may select the first branch and the database version for branch synchronization in the first interface, and fig. 3 shows that the user selects the development branch as the first branch, and uses the database version with version number 2 in the development branch as the first database version for branch synchronization, that is, the user selects to synchronize the database version with version number 2 in the development branch into the main branch. After the user selects the first branch and the first database version through the first interface, the user terminal can detect the triggering operation of the user through triggering (for example, clicking with a mouse) the synchronization control, and respond to the triggering operation, the user terminal sends a branch synchronization request to a computer cluster or a cloud platform where the database design system is located, so that the database design system obtains a branch synchronization operation task set by the user.
It should be understood that the interface shown in fig. 3 is only an example, and other forms of interfaces are possible in practical applications.
For example, as shown in fig. 4A, fig. 4A is a schematic view of another first interface provided in an embodiment of the present application. The first interface includes a second branch selection control and a first branch selection control, and the user is able to set target information by triggering (e.g., by mouse clicking) the second branch selection control and set source information by triggering the first branch selection control. After the database design system detects the operation of triggering the second branch selection control by the user, the database design system can display a second interface for setting target information to the user in response to the operation. As shown in fig. 4B, the second interface includes names of different branches in the database model and version information of different versions of the database in each branch. After selecting the second branch, the user returns to the first interface by triggering a determination control of the second interface. The user can then set the source information by triggering the first branch selection control. After the database design system detects an operation of triggering the source branch selection control by the user, the database design system can present a third interface for setting source information to the user in response to the operation. As shown in fig. 4C, the third interface includes names of different branches in the database model and version information of different versions of the database in each branch. After selecting the first branch and the first database version, the user returns to the first interface by triggering a determination control of the first branch selection interface. The first interface further includes a synchronization control, after the user selects the first database version and the second branch, the synchronization control may be triggered (for example, by clicking with a mouse), the user terminal detects an operation of triggering the synchronization control by the user, and in response to the operation, the user terminal sends a branch synchronization request to a computer cluster or a cloud platform where the database design system is located, so that the database design system obtains a database branch synchronization operation task set by the user.
As shown in fig. 4B and 4C, the database model includes 5 branches, which are named "main branch", "development branch", "feature branch 1", "feature branch 2", and "release branch", respectively. The system comprises a main branch, a development branch and a development branch, wherein the main branch is a second branch, the development branch is a first branch, the main branch comprises 4 design state databases, and the development branch comprises 4 design state databases which have been subjected to auditing. And the user selects the database version with the version number of 4 in the development branch as the first database version to carry out branch synchronization. It should be understood that the interfaces shown in fig. 4A to 4C are only examples, and other forms of interfaces are also possible in practical applications.
In a specific implementation, the branch operation request may also be a branch copy request. The branch copy request includes source information and destination information. Wherein the source information includes a name of the first database model, a name of the third branch, and the like, and the target information includes a name of the second database model, and the like.
Fig. 5 is a schematic view of another first interface according to an embodiment of the present application, as shown in fig. 5. The user can input source information and target information in the first interface shown in fig. 5. For example, the user can input the name of the first database model in an input box corresponding to the name of the first database model under the source information or select the name of the first database model through a pull-down menu, input the name of the third branch in a branch (version number) input box or select the name of the third branch through a pull-down menu, and input the name of the second database model in an input box corresponding to the name of the database model under the target information or select the name of the second database model through a pull-down menu. As shown in fig. 5, the target information of the first interface may further include a branch (version number) input box, and the user may input the name of the fourth branch in the branch (version number) input box. If the user inputs a branch name in the input box, the database design system creates a fourth branch named by the branch name in the second database model when executing the branch copy request, and if the user does not input a branch name in the input box, the database design system creates a fourth branch of a default name in the second database model when executing the branch copy request. The first interface further comprises a determining control and a cancelling control, after the user selects the source information and the target information, the user terminal can trigger the branch re-etching operation through the determining control, the user terminal detects the triggering operation of the user, and the user terminal sends a branch re-etching request to a computer cluster or a cloud platform where the database design system is located in response to the triggering operation of the user, so that the database design system obtains a database branch re-etching operation task set by the user. Optionally, the source information may further include a version number, and the user may select a version of the third branch when selecting the third branch, and copy a database version in the third branch into the second database model.
As shown in fig. 5. The user chooses to copy the development branches in database model V1 into the backbone branches of database model V2. It should be understood that the interface shown in fig. 5 is only an example, and the database design system can also provide other forms of interfaces to complete the selection of source information and target information in branch replication. The embodiment of the application is not particularly limited.
202. And executing the operation designated by the branch operation request according to the source information and the target information in the branch operation request.
In a specific implementation, if the user selects the second branch, the first branch, and the first database version of the first branch for branch synchronization through the interface shown in fig. 3 or the interfaces shown in fig. 4A to 4C when the branch operation request is a branch synchronization request. And the database design system firstly clears the database version which is not audited and completed in the second branch according to the name of the database model in the branch synchronous request and the name of the second branch, and then compares the data represented by the latest audited second database version in the second branch with the data represented by the first database version in the first branch to obtain difference information. And finally, creating a new database version in the second branch, and storing the difference information into the new database version. For example, in fig. 3, the user selects the database version with version number 2 in the development branch as the first database version, and the main branch includes 4 versions of database versions with version numbers 1,2,3 and 4, respectively. The database versions with version numbers 1,2 and 3 are audited, and the database version with version number 4 is an unverified version. After triggering the synchronization control on the first interface, the database design system deletes the database version with the version number of 4. And then comparing the data represented by the database version with the version number of 3 in the main branch with the data represented by the database version with the version number of 2 in the development branch to obtain the difference information. And finally, creating a new database version with the version number of 4 in the main branch, and storing the difference information into the database version with the version number of 4, so that the total data of the database version with the version number of 4 can be obtained through the difference information and the database versions of other versions in the main branch.
Illustratively, the version number 1 database version in the development branch represents the character a, the version number 2 database version represents the character string abc, and the version number 2 database version stores the change operations "add b" and "add c". The database version with version number 1 in the main branch represents character a, the database version with version number 2 represents character string ax, the database version with version number 3 represents character string axy, then the database version with version number 2 stores change operation "increase x", and the database version with version number 3 stores change operation "increase y". After comparing the data represented by the database version with version number 2 in the development branch with the data represented by the database with version number 3 in the main branch, obtaining the difference information comprises the following 4 changing operations of adding b, adding c, deleting x and deleting y, wherein the database version with version number 4 in the main branch stores the difference information, but the data represented by the database version with version number 4 in the main branch is abc. It should be understood that the above data in the database version and the operation process are only used to illustrate the branch synchronization, and are not to be construed as actually stored data in the database and the actual operation process of the database.
Optionally, when the database design system stores the difference information, the database design system may not delete the version that is not yet audited in the second branch, and directly replace the data stored in the version that is not audited in the second branch with the difference information after determining the difference information.
It should be understood that after the database design system obtains the difference information, the difference information may be presented to the user, then a part of the difference information or all of the difference information in the difference information is selected as the target difference information by the user, and then the database design system obtains the target difference information selected by the user, and the above-mentioned branch synchronization operation is completed according to the target difference information. The method for completing the branch synchronization operation by the database design system according to the target difference information is the same as the method for completing the branch synchronization operation according to the difference information, and will not be described in detail herein.
In a specific implementation manner, when the branch operation request is a branch re-etching request, the database design system searches a third branch in the first database model specified by the branch re-etching request according to the source information in the branch re-etching request, and re-etching the total data of the third branch into a fourth branch in the second database model. It should be appreciated that if the user has created a fourth branch in the second database model prior to branch duplication, the database design system directly copies the full data of the third branch into the fourth branch, and if the user has not created a fourth branch in the second database model prior to branch duplication, the database design system creates a fourth branch in the second database model and then copies the full data of the third branch into the fourth branch.
The database design system provided by the embodiment of the application can provide synchronous operation among different branches in the same database model and repeated etching operation among different database models, increases the operation and management modes of users on the database, and can improve the working efficiency and user experience of the users.
The application provides a database design device which can be deployed in a cloud platform. As shown in fig. 6, the database design apparatus 600 may include:
The display module 610 is configured to provide a first interface for a user to set and submit a request for a branching operation, where the branching operation includes branching merging, branching synchronization, branching duplication, and the like. The branch merging refers to merging operation among design state databases in different branches in the same database model, the branch synchronization refers to covering operation, which refers to covering one version of database version provided by a first branch of the same database model with one version of database version in a second branch;
a receiving module 620, configured to receive a branching operation request set by a user through the first interface;
and the processing module 630 is configured to execute a corresponding branching operation according to the branching operation request.
Optionally, the database design system operates on a cloud platform, and the user purchases a user of the cloud service of the database design system for the cloud platform.
Optionally, the display module 610 is further configured to provide a second interface to the user, and is configured to provide the result of the execution of the branching operation request to the user.
The foregoing units may perform data transmission through communication channels, and it should be understood that each module included in the apparatus 600 may be a software module, or a hardware module, or a part of the software module is a part of the hardware module.
It will be clearly understood by those skilled in the art that, for convenience and brevity of description, the specific working process of the apparatus and each module described above may refer to the corresponding process in the foregoing method embodiment, which is not repeated herein.
Because the modules in the database design system provided by the embodiments of the present application may be distributed and deployed on multiple computers in the same environment or in different environments, the embodiments of the present application also provide a computing device, which in some cases may be a computer system, including one or more computers 700. Illustratively, as shown in FIG. 7, each computer 700 includes a memory 701, a processor 702, a communication interface 703, and a bus 704. The memory 701, the processor 702, and the communication interface 703 are connected to each other by a bus 704.
The Memory 701 may be a Read Only Memory (ROM), a static storage device, a dynamic storage device, or a random access Memory (Random Access Memory, RAM). The memory 701 may store a program, and when the program stored in the memory 701 is executed by the processor 702, the processor 702 and the communication interface 703 are used to execute the database design method provided by the embodiment of the present application. The memory 701 may also include software modules and data necessary for other running processes, such as an operating system. And the operating system may be LINUX TM,UNIXTM,WINDOWSTM, etc.
The processor 702 may employ a general-purpose central processing unit (Central Processing Unit, CPU), microprocessor, application SPECIFIC INTEGRATED Circuit (ASIC), graphics processor (graphics processing unit, GPU) or one or more integrated circuits.
The processor 702 may also be an integrated circuit chip with signal processing capabilities. In implementation, some or all of the functionality of the database design system of the present application may be accomplished by instructions in the form of integrated logic circuits or software in hardware in the processor 702. The processor 702 may also be a general purpose processor, a digital signal processor (DIGITAL SIGNAL Processing unit, DSP), an Application Specific Integrated Circuit (ASIC), an off-the-shelf programmable gate array (Field Programmable GATE ARRAY, FPGA) or other programmable logic device, discrete gate or transistor logic device, discrete hardware components. The disclosed methods, steps, and logic blocks in the embodiments of the present application may be implemented or performed. A general purpose processor may be a microprocessor or the processor may be any conventional processor or the like. The steps of the method disclosed in connection with the embodiments of the present application may be embodied directly in the execution of a hardware decoding processor, or in the execution of a combination of hardware and software modules in a decoding processor. The software modules may be located in a random access memory, flash memory, read only memory, programmable read only memory, or electrically erasable programmable memory, registers, etc. as well known in the art. The storage medium is located in the memory 701, and the processor 702 reads information in the memory 701, and in combination with its hardware, performs part of the functions of the database design system according to the embodiment of the present application.
Communication interface 703 enables communication between computer 700 and other devices or communication networks using a transceiver module such as, but not limited to, a transceiver.
Bus 704 may include a path to transfer information between various components of computer 700 (e.g., memory 701, processor 702, communication interface 703).
A communication path is established between each of the computers 700 described above through a communication network. Each computer 700 is used for a portion of the functionality of the database design system. Any of the computers 700 may be a computer in a cloud platform (e.g., a server), or a computer in an edge data center.
The descriptions of the processes corresponding to the drawings have emphasis, and the descriptions of other processes may be referred to for the parts of a certain process that are not described in detail.
In the above embodiments, it may be implemented in whole or in part by software, hardware, firmware, or any combination thereof. When implemented in software, may be implemented in whole or in part in the form of a computer program product. The computer program product providing database design cloud services includes one or more computer instructions that, when loaded and executed on a computer, produce, in whole or in part, the method flow or functions described in fig. 2 in accordance with embodiments of the present application.
The computer may be a general purpose computer, a special purpose computer, a computer network, or other programmable apparatus. The computer instructions may be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another computer-readable storage medium, e.g., the computer instructions may be transmitted from one website, computer, server, or data center to another website, computer, server, or data center by a wired (e.g., coaxial cable, fiber optic, digital subscriber line, or wireless (e.g., infrared, wireless, microwave, etc.) medium.
The present application also provides a computer readable storage medium, which may be a non-transitory readable storage medium, for performing the database design method provided by the present application when instructions in the computer readable storage medium are executed by a computer. The computer readable storage medium may be any available medium that can be accessed by a computer or a data storage device such as a server, data center, etc. that contains an integration of one or more available media. The usable medium may be a magnetic medium (e.g., floppy disk, hard disk, magnetic tape), an optical medium (e.g., DVD), or a semiconductor medium (e.g., SSD).
The present application also provides a computer program product comprising computer instructions which, when executed by a computing device, perform a database design method provided by an embodiment of the present application.
It will be understood by those skilled in the art that all or part of the steps for implementing the above embodiments may be implemented by hardware, or may be implemented by a program for instructing relevant hardware, where the program may be stored in a computer readable storage medium, and the storage medium may be a read-only memory, a magnetic disk or an optical disk, etc.
In embodiments of the present application, the terms "first," "second," and "third" are used for descriptive purposes only and are not to be construed as indicating or implying relative importance. The term "one or more" means one or more, and the term "plurality" means two or more, unless expressly defined otherwise.
The term "and/or" in the present application is merely an association relation describing the association object, and indicates that three kinds of relations may exist, for example, a and/or B may indicate that a exists alone, while a and B exist together, and B exists alone. In addition, the character "/" herein generally indicates that the front and rear associated objects are an "or" relationship.
The foregoing description of the preferred embodiments of the present application is not intended to limit the application, but is intended to cover any modifications, equivalents, alternatives, and improvements within the spirit and principles of the application.
In the above embodiments, it may be implemented in whole or in part by software, hardware, firmware, or any combination thereof. When implemented in software, may be implemented in whole or in part in the form of a computer program product.
The computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, the processes or functions described in accordance with embodiments of the present application are produced in whole or in part. The computer may be a general purpose computer, a special purpose computer, a computer network, or other programmable apparatus. The computer instructions may be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another computer-readable storage medium, for example, the computer instructions may be transmitted from one website, computer, training device, or data center to another website, computer, training device, or data center via a wired (e.g., coaxial cable, optical fiber, digital Subscriber Line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.). The computer readable storage medium may be any available medium that can be stored by a computer or a data storage device such as a training device, a data center, or the like that contains an integration of one or more available media. The usable medium may be a magnetic medium (e.g., floppy disk, hard disk, tape), optical medium, or semiconductor medium (e.g., solid state disk (Solid STATE DISK, SSD)), etc.