CN117519782A - Engineering management method, device, equipment and storage medium based on distribution - Google Patents

Engineering management method, device, equipment and storage medium based on distribution Download PDF

Info

Publication number
CN117519782A
CN117519782A CN202410016300.2A CN202410016300A CN117519782A CN 117519782 A CN117519782 A CN 117519782A CN 202410016300 A CN202410016300 A CN 202410016300A CN 117519782 A CN117519782 A CN 117519782A
Authority
CN
China
Prior art keywords
engineering
branch
warehouse
target
project
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202410016300.2A
Other languages
Chinese (zh)
Inventor
朱依琳
闫改红
周淼
周文凯
杜淑峰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhejiang Dahua Technology Co Ltd
Original Assignee
Zhejiang Dahua Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Zhejiang Dahua Technology Co Ltd filed Critical Zhejiang Dahua Technology Co Ltd
Priority to CN202410016300.2A priority Critical patent/CN117519782A/en
Publication of CN117519782A publication Critical patent/CN117519782A/en
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/11File system administration, e.g. details of archiving or snapshots
    • G06F16/119Details of migration of file systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/283Multi-dimensional databases or data warehouses, e.g. MOLAP or ROLAP

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

The application discloses a distributed engineering management method, a device, equipment and a storage medium, wherein the distributed engineering management method comprises the following steps: responding to a received branch engineering application of a user side for an initial engineering, and correspondingly creating a branch engineering warehouse of the initial engineering; acquiring a branch engineering file in an initial engineering based on a branch engineering application; migrating the branch engineering file to a branch engineering warehouse to obtain a target branch engineering; and giving the engineering authority of the target branch engineering to a user side initiating the branch engineering application, wherein the engineering authority is used for engineering development of the user side. By the scheme, the development process of engineering can be effectively managed.

Description

Engineering management method, device, equipment and storage medium based on distribution
Technical Field
The present disclosure relates to the field of software development technologies, and in particular, to a method, an apparatus, a device, and a storage medium for managing engineering based on distributed architecture.
Background
With the continuous development of computer technology, software development is one of the hot works. In order to improve development efficiency, engineering management is hardly separated from engineering projects of software development.
Therefore, tools and methods for engineering management are important, for example, git is an open-source distributed version control system, and can effectively and rapidly perform project version management of various scales.
However, in the process of developing software based on such a system, when a main team needs to provide source code information for other teams, it is difficult to mask confidential information to be hidden in projects for other teams through authority setting, and a series of security problems are easy to generate.
Disclosure of Invention
The application provides at least one engineering management method, device and equipment based on distributed type and a computer readable storage medium.
The first aspect of the present application provides a distributed-based engineering management method, including: responding to a received branch engineering application of a user side for an initial engineering, and correspondingly creating a branch engineering warehouse of the initial engineering; acquiring a branch engineering file in the initial engineering based on the branch engineering application; migrating the branch engineering file to the branch engineering warehouse to obtain a target branch engineering; and the engineering authority of the target branch engineering is endowed to a user side which initiates the branch engineering application, and the engineering authority is used for engineering development of the user side.
In an embodiment, the step of migrating the branch engineering file to the branch engineering repository to obtain a target branch engineering includes: acquiring an initial warehouse link of the initial project, wherein the initial warehouse link is used for accessing the initial project; cloning the branch engineering file into a local repository based on the initial repository link; modifying an initial warehouse link of the local warehouse into a branch warehouse link, wherein the branch warehouse link is used for accessing the branch engineering warehouse; and submitting the branch engineering files in the local warehouse to the branch engineering warehouse based on the branch warehouse link to obtain the target branch engineering.
In an embodiment, after the step of cloning the branch engineering file into a local repository based on the initial repository link, the method further comprises: judging whether the branch engineering warehouse contains the branch engineering files or not; if yes, suspending or stopping the branch engineering application; if not, modifying the initial warehouse link of the local warehouse into the branch warehouse link.
In an embodiment, the step of correspondingly creating a branch engineering warehouse of the initial engineering in response to the received branch engineering application of the user side for the initial engineering includes: judging whether the branch engineering application is a branch engineering application which is audited by an auditing terminal; if yes, creating the branch engineering warehouse; if not, suspending or stopping creating the branch engineering warehouse.
In an embodiment, after the step of giving the engineering authority of the target branch engineering to the user terminal that initiates the branch engineering application, the method further includes: responding to a received project merging application of the user side for the target branch project, and determining a branch project to be merged corresponding to the project merging application; judging whether the target branch engineering and the branch engineering to be combined are homologous branches or not; if yes, merging the target branch engineering and the branch engineering to be merged; if not, the project merging application is paused or stopped.
In an embodiment, the step of determining whether the target branch engineering and the branch engineering to be merged are homologous branches includes: verifying whether the target branch engineering and the branch engineering to be combined have the same verification information or not; if yes, judging the target branch engineering and the branch engineering to be combined as the homologous branches; if not, judging that the target branch engineering and the branch engineering to be combined are not the homologous branches.
In an embodiment, the step of merging the target branch engineering with the branch engineering to be merged includes: acquiring a target warehouse link between the target branch engineering and a local warehouse; cloning a target project file in the target branch project into the local warehouse based on the target warehouse link; modifying the target warehouse link of the local warehouse into a to-be-combined link between the target warehouse link and the to-be-combined branch engineering; and submitting the target engineering file in the local warehouse to the branch engineering to be merged based on the link to be merged, so that the target engineering file and the file to be merged in the branch engineering to be merged are merged and archived.
A second aspect of the present application provides a distributed-based engineering management apparatus, including: the project creation module is used for responding to a received branch project application of a user side for an initial project and correspondingly creating a branch project warehouse of the initial project; the acquisition module is used for acquiring the branch engineering file in the initial engineering based on the branch engineering application; the migration module is used for migrating the branch engineering file to the branch engineering warehouse to obtain a target branch engineering; and the permission giving module is used for giving the engineering permission of the target branch engineering to the user side which initiates the branch engineering application, and the engineering permission is used for engineering development of the user side.
A third aspect of the present application provides an electronic device, including a memory and a processor, where the processor is configured to execute program commands stored in the memory, so as to implement the above-mentioned distributed-based engineering management method.
A fourth aspect of the present application provides a computer readable storage medium having stored thereon program commands which, when executed by a processor, implement the above-described distributed-based engineering management method.
According to the scheme, the corresponding branch engineering warehouse is created by responding to the received branch engineering application initiated by the user side aiming at the initial engineering; acquiring a corresponding branch engineering file in the initial engineering based on the branch engineering application; migrating the branch engineering file to a branch engineering warehouse to obtain a target branch engineering; the engineering authority of the target branch engineering is endowed to the user side initiating the branch engineering application, so that the user side can conduct engineering development based on the obtained engineering authority, the development process of the engineering project can be effectively managed, and the safety of the engineering is ensured.
It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the application.
Drawings
The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate embodiments consistent with the application and, together with the description, serve to explain the technical aspects of the application.
FIG. 1 is a flow diagram of an exemplary embodiment of a distributed-based engineering management method of the present application;
FIG. 2 is a block diagram of an exemplary system in a distributed-based engineering management method of the present application;
FIG. 3 is an exemplary engineering naming schematic of the distributed-based engineering management method of the present application;
FIG. 4 is a schematic diagram of an exemplary application scenario in a distributed-based engineering management method of the present application;
FIG. 5 is a block diagram of a distributed-based engineering management device shown in an exemplary embodiment of the present application;
FIG. 6 is a schematic structural diagram of an embodiment of an electronic device of the present application;
FIG. 7 is a schematic diagram of an embodiment of a computer-readable storage medium of the present application.
Detailed Description
The following describes the embodiments of the present application in detail with reference to the drawings.
In the following description, for purposes of explanation and not limitation, specific details are set forth such as the particular system architecture, interfaces, techniques, etc., in order to provide a thorough understanding of the present application.
The term "and/or" is herein merely an association relationship describing an associated object, meaning that there may be three relationships, e.g., a and/or B, may represent: a exists alone, 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. Further, "a plurality" herein means two or more than two. In addition, the term "at least one" herein means any one of a plurality or any combination of at least two of a plurality, for example, including at least one of A, B, C, and may mean including any one or more elements selected from the group consisting of A, B and C.
For ease of understanding, a scenario in which the technical solution of the present application can be applied will now be exemplarily described. The engineering management method can be realized based on a corresponding engineering management system, and the engineering management system provided by the application is a warehouse management system which is based on Git and adopts integrated command and API interface interaction to realize engineering project customization, wherein Git is an open-source distributed version control system and can effectively and rapidly process project version management from small to very large.
In the traditional Git-based project customization development process, when a main team needs to provide source code information for other teams, confidential information needed to be hidden in the projects is difficult to shield from other teams through authority setting, and a series of security problems are easy to generate. Although other version control software such as SVN system (Subversion) exists at present, rights can be allocated according to branches based on SVN rights characteristics; however, compared with the SVN system, the Git system can remarkably improve the development efficiency, and on the premise of not giving up the practicability of Git, the application proposes new development specifications and schemes based on the Git system to solve the problems. In addition, the warehouse management capability of Git cannot be destroyed while the problems are solved, namely, the authority control of the custom engineering can be realized, and in the subsequent development and production process, if a reasonable custom demand code appears, the code can be archived into the original baseline engineering to realize engineering merging.
Referring to fig. 1, fig. 1 is a flow chart illustrating an exemplary embodiment of a distributed-based engineering management method according to the present application. Specifically, the engineering management method is applied to a server side, wherein a Git-based engineering management system is operated in the server side, and the specific method can comprise the following steps:
step S110, responding to the received branch engineering application of the user side for the initial engineering, and correspondingly creating a branch engineering warehouse of the initial engineering.
Referring to FIG. 2, FIG. 2 is a block diagram of an exemplary system in a distributed-based engineering management method of the present application; the user terminal can be a Web terminal or other types of terminals, and interaction exists between the user terminal and the server terminal so as to realize that the engineering management system running on the server terminal is accessed through the user terminal.
For example, a developer may initiate a branch project application to a server through a user side of the developer for an initial project to be developed, where the branch project application may include an application reason, project information to be applied, and the like (e.g., a project name, a project path, and the like, a series of related information that may determine a project to be developed); the initial project may be a developed project or an undeveloped project, and is not limited herein.
Further, the server side responds to a received branch project application initiated by the user side for the initial project, a branch project warehouse of the initial project is correspondingly created by using a Gitlab interface, and a new project group, a new project, a new branch and the like are formed; the new packet and the original packet (packet of the initial project) have a correspondences, the new project and the original project (initial project) have a correspondences, and the new branch name and the original branch name (branch name in the initial project) have a correspondences.
It should be noted that, in order to facilitate engineering management and project development, the present application further provides a naming convention in the engineering customization process to enable the correspondence between the initial engineering and the newly created branch engineering to be directly embodied, for example, refer to fig. 3, where fig. 3 is an exemplary engineering naming schematic diagram of the distributed engineering management method of the present application: the new engineered packet should be a different packet at the same level as the original engineered packet, e.g., the original engineered path is/Group 1/Group2/… …, then the new engineered path may be/Group 1/Project/, both belonging to the next level of Group1 packets and both being different packets; the new engineering is named as the same name as the original engineering under the new grouping, for example, the new engineering is correspondingly named as Test based on the name of the original engineering; in addition, the new branch name may be composed of the original branch name plus the project name XM plus the team name TD, and is used to represent different versions, for example, the branch name of the original project is V1.0.0.2310, and then the branch name of the new project may be v1.0.0.2310.xm.td; thus, the path, the name and the like of the new project are obtained, and the creation of the branch project warehouse is completed.
Specifically, the interface creation involved in this step may be as follows: creating engineering interfaces:/api/v 4/projects; creating a packet interface: /api/v4/groups; creating a branch interface: api/v 4/PROJECTs/process_id/restore/branching=ref_branch.
Step S120, acquiring a branch engineering file in the initial engineering based on the branch engineering application.
And combining the steps, after receiving the branch engineering application, the engineering management system determines all or part of engineering projects required to be responsible for development in the initial engineering by the developer according to engineering information filled in the branch engineering application, and obtains a branch engineering file in the initial engineering.
And step S130, migrating the branch engineering file to a branch engineering warehouse to obtain a target branch engineering.
Specifically, the obtained branch engineering file is migrated to a branch engineering warehouse corresponding to the branch engineering application according to the branch engineering application, so that a target branch engineering required to be developed by a developer is obtained, stripping of the target branch engineering and the initial engineering is realized, and the safety of the initial engineering is ensured.
Illustratively, in connection with the foregoing steps and the project illustrated in fig. 2, the server creates an initial repository link between the initial project P to the server folder running on the server using the JGIT development plug-in, and clones the V1.0 data (branch project file) of the project P under the server folder (i.e., the server's local repository) through the initial repository link using the clone command root; the server modifies the link from the local warehouse to the initial project P into the link from the local warehouse to the branch project P1 by utilizing the JGIT integrated command, submits and pushes the V1.0 data in the local warehouse by utilizing the commit and push commands, at the moment, the data from the P project clone in the local warehouse is completely pushed into the P1 project, and the project P1 after the push is completed has a branch V1.0 which is the same as the project P, and the branch information such as file content, branch submitting record and the like is the same as the branch V1.0 under the original project P; after the push is successful, the local warehouse can be deleted; and then, calling the Gitlab interface to modify the branch name V1.0 under the project P1 into the target branch name V1.0.XM.TD, thereby obtaining the target branch project.
Step S140, the engineering authority of the target branch engineering is given to the user side initiating the branch engineering application, and the engineering authority is used for engineering development of the user side.
In combination with the foregoing steps, illustratively, after the target branch engineering is established, the server may call the API interface (/ API/v 4/PROJECTs/process_id/members) of the gillab to assign the engineering authority of the target branch engineering to the client that initiates the foregoing branch engineering application, so that the developer may perform engineering development on the target branch engineering through the client that has the engineering authority; meanwhile, the problem that in the traditional scheme, developers responsible for branch engineering can access and modify the original engineering is avoided, and the information safety problem is guaranteed.
Further, if the developer finishes development work on the target branch engineering, the project merging application can be submitted, and the branch engineering of the user terminal is merged into the original engineering; for the collaborative development and working scene of multiparty participation, the method provided by the application realizes effective engineering management.
It can be seen that the application creates a corresponding branch engineering warehouse by responding to the received branch engineering application initiated by the user side for the initial engineering; acquiring a corresponding branch engineering file in the initial engineering based on the branch engineering application; migrating the branch engineering file to a branch engineering warehouse to obtain a target branch engineering; the engineering authority of the target branch engineering is endowed to the user side initiating the branch engineering application, so that the user side can conduct engineering development based on the obtained engineering authority, the development process of the engineering project can be effectively managed, and the safety of the engineering is ensured.
On the basis of the above embodiment, the steps of migrating a branch engineering file to a branch engineering warehouse to obtain a target branch engineering will be described in the embodiments of the present application. Specifically, the method of the embodiment comprises the following steps:
acquiring an initial warehouse link of an initial project, wherein the initial warehouse link is used for accessing the initial project; cloning the branch engineering file into a local warehouse based on the initial warehouse link; modifying an initial warehouse link of the local warehouse into a branch warehouse link, wherein the branch warehouse link is used for accessing a branch engineering warehouse; and submitting the branch engineering files in the local warehouse to the branch engineering warehouse based on the branch warehouse link to obtain the target branch engineering.
The foregoing embodiments are described with reference to the service side beginning to migrate the branch engineering file applied by the user side to the branch engineering repository after the preamble work is done. The Java development plug-in of the JGIT is mainly utilized to draw the original project to the target project in an integrated command statement mode.
Illustratively, it is determined, for example, according to a branch engineering application, that a branch engineering file branched to V1.0 in the original engineering P needs to be migrated to a branch engineering warehouse, so as to obtain v1.0.xm.td in the migrated branch engineering P1. The specific process can be as follows: the server side obtains a branch engineering application initiated by a developer through a database and the like, which can be migration information filled in by the developer on a Web side page, for example: an original engineering P path, an original branch name V1.0, SHA (Secure Hash Algorithm) record information submitted by an original branch, a target engineering P1 path and the like; the server side utilizes a JGIT development plug-in to create an initial warehouse link between the original project P and a server folder operated by the server side, and clone V1.0 data of the project P to a local warehouse through the initial warehouse link by using a clone command root; the server modifies the link from the local warehouse to the initial project P into the branch warehouse link from the local warehouse to the branch project P1 by utilizing the JGIT integrated command, submits and pushes the V1.0 data in the local warehouse by utilizing the commit and push commands, and the data from the P project clone in the local warehouse is completely pushed into the P1 project, and after the push is completed, a branch V1.0 which is the same as the project P exists in the project P1, and the branch information such as file content, branch submitting record and the like is the same as the branch V1.0 under the original project P; after the push is successful, the local warehouse can be deleted; and then, calling the Gitlab interface to modify the branch name V1.0 under the project P1 into the target branch name V1.0.XM.TD, thereby obtaining the target branch project. The authority of the target branch engineering can be given to the corresponding user terminal, so that the developer can check and modify the target branch engineering through the authorized user terminal without affecting other branches of the initial engineering. It should be noted that both the initial engineering warehouse and the branch engineering warehouse run on the Git.
Based on the above embodiments, the embodiments of the present application describe steps after cloning branch engineering files into a local repository based on an initial repository link. Specifically, the method of the embodiment comprises the following steps:
judging whether the branch engineering warehouse contains a branch engineering file or not; if yes, suspending or stopping the branch engineering application; if not, the initial warehouse link of the local warehouse is modified to be a branch warehouse link.
The method for managing the engineering according to the present application may be applied to the first creation of the target branch engineering, or may further modify and update the existing target branch engineering, that is, a developer may initiate a branch engineering application based on the existing branch engineering through a user side, so as to obtain an additional branch engineering file and add the additional branch engineering file to the existing branch engineering.
In order to prevent redundancy of engineering files, after cloning the branch engineering files into a local warehouse based on an initial warehouse link, judging whether the branch engineering warehouse contains the same branch engineering files or not so as to avoid acquiring repeated branch engineering files; therefore, after the clone engineering P is linked to the local warehouse based on the initial warehouse, the server may determine whether v1.0.xm.td exists in the branch engineering warehouse of the P1 engineering (i.e. whether the same branch engineering file exists) by using the API interface (/ subjects/process_id/restore/branching=keyword) of the Gitlab, if so, the migration does not satisfy the migration condition, and the application flow of the branch engineering is suspended or stopped; if the migration condition does not exist, the migration satisfies the migration condition, the initial warehouse link of the local warehouse is modified to be a branch warehouse link (link between the local warehouse and the P1 project), and the application flow of the branch project is continued.
On the basis of the above embodiments, the embodiments of the present application describe steps of correspondingly creating a branch engineering warehouse of an initial engineering in response to a received branch engineering application of a user side for the initial engineering. Specifically, the method of the embodiment comprises the following steps:
judging whether the branch engineering application is a branch engineering application which is audited by an auditing end; if yes, creating a branch engineering warehouse; if not, the creation of the branch engineering warehouse is paused or stopped.
It should be noted that, in the scenario where the engineering management method of the present application can be applied, in addition to involving interaction between the user side and the server side, an auditing side may be set to audit the application flow of the branch engineering; the auditing end may be a Web end or other types of terminals, the auditing end and the user end have different roles, and the auditing end and the user end may be distinguished by different electronic devices or different types (different authorities) of accounts (i.e. the auditing end and the user end may be different accounts running on the same electronic device), which is not limited herein. For convenience of explanation, in this embodiment, a user side and an audit side are taken as different electronic devices for illustration, and specifically, reference may be made to fig. 4, where fig. 4 is a schematic diagram of an exemplary application scenario in a distributed engineering management method according to the present application, and the user side of the present application mainly refers to a terminal device used by a developer, and the developer may perform processes (including initiating an engineering application) such as engineering project development through the user side; the auditing end of the application mainly refers to terminal equipment used by an auditing person, the auditing person can audit the engineering application initiated by the developer through the auditing end, if the auditing is passed, the engineering application is transferred to the server and the method recorded in the previous embodiment is executed, wherein the engineering management system at least comprises a permission management module and a warehouse management module, the permission management module can be used for managing the permission in the engineering application process, and the warehouse management module can be used for managing the warehouse in the engineering application process.
Therefore, when the server side responds to the received branch engineering application, the server side also needs to judge whether the branch engineering application passes the examination of the examination end; if the server passes the audit, continuing the subsequent steps; if the verification is not passed, the server side can pause or stop the project application, thereby preventing illegal project application operation, and avoiding external equipment from initiating network attack, theft, research and development confidentiality and the like on the server side and/or the project.
Optionally, in the overall application environment combining the user side, the auditing side and the server side, a judging flow can be set at the auditing side, namely if the auditing personnel do not pass the auditing of the engineering application of the developer, the current engineering application flow is directly paused or stopped in the auditing process, the current engineering application is not required to be handed to the server side for judgment, and the interaction pressure of the server side is reduced.
The auditing process may be that the engineering management system transfers the engineering application submitted by the developer through the client to the auditor responsible for the corresponding engineering, so that the auditor can check the database data applied by the developer at the auditing end; after the auditor confirms that the engineering application is correct, the state of the engineering application can be set to pass the audit, and a secret key or other verification information corresponding to the audit terminal can be attached to the engineering application so as to indicate that the engineering application passes the verification to the server terminal.
On the basis of the above embodiments, the embodiments of the present application describe steps after the engineering authority of the target branch engineering is given to the user side that initiates the branch engineering application. Specifically, the method of the embodiment comprises the following steps:
responding to a received project merging application of a user side aiming at a target branch project, and determining a branch project to be merged corresponding to the project merging application; judging whether the target branch engineering and the branch engineering to be combined are homologous branches or not; if yes, combining the target branch engineering with the branch engineering to be combined; if not, the project merging application is paused or stopped.
The foregoing embodiments are described in connection with how a developer obtains a corresponding project and authority through an engineering application, and develops the project; however, in the actual project development, after the developer completes the development of the branch project responsible for the developer, the completed branch project needs to be combined with other branch projects to obtain a complete project file; therefore, the present embodiment describes steps after the developer acquires the engineering authority of the target branch engineering.
The target branch engineering described in this embodiment may be the target branch engineering obtained in the foregoing embodiment, or may be a branch engineering modified based on the target branch engineering obtained in the foregoing embodiment, and the specific case depends on whether the developer modifies the target branch engineering, but in any case, the target branch engineering is basically the same engineering, so for convenience of description, the description is still given by the name of "target branch engineering" in this embodiment, and no limitation is made on whether the data in the target branch engineering changes.
Illustratively, the present embodiment will be described taking as an example a process of incorporating the new project P1 into the original project P; firstly, a developer who needs to possess engineering authority of a target branch engineering initiates an engineering merging application, wherein the engineering merging application can comprise target branch engineering P1 information (such as an engineering name P1 and an engineering branch 1) which needs to be merged and branch engineering P information (such as an engineering name P and an engineering branch) to be merged which wants to be merged; after receiving the project merging application, the server determines the corresponding branch projects to be merged and judges whether the target branch project and the branch projects to be merged are homologous branches (used for indicating whether the target branch project and the branch projects to be merged belong to the same project); if yes, combining the target branch engineering with the branch engineering to be combined; if not, the project merging application is paused or stopped.
Optionally, after receiving the project merging application, the server side can also judge whether the project merging application passes the audit; if the server passes the audit, continuing the subsequent steps; if the verification is not passed, the server side can pause or stop the project merging application, thereby preventing illegal project merging application operation, and avoiding external equipment from initiating network attack and/or the project to steal research and development secrets and the like. The specific auditing process may refer to the auditing process of the application for the branch engineering in the foregoing embodiment in the same way, and will not be described herein.
On the basis of the above embodiments, the steps of determining whether the target branch engineering and the branch engineering to be merged are homologous branches will be described in the embodiments of the present application. Specifically, the method of the embodiment comprises the following steps:
verifying whether the target branch engineering and the branch engineering to be combined have the same verification information; if yes, judging the target branch engineering and the branch engineering to be combined as homologous branches; if not, judging that the target branch engineering and the branch engineering to be combined are not homologous branches.
The verification information refers to SHA information, is a cryptographic hash function, and can be used as a unique identifier when the branch submits data every time.
Illustratively, the server calls the API interface of the Gitlab to check whether the engineering P1 and the branch1 exist; if so, calling an API interface (such as a commit related interface) of the Gitlab to check whether the same commit record exists between the branch of the project P1 and the branch of the project P (i.e. judging whether the same SHA value exists between the branch of the project P and the branch of the project P); if yes, judging that the target branch engineering and the branch engineering to be combined belong to homologous branches; if not, judging that the target branch engineering and the branch engineering to be combined are not homologous branches.
It should be noted that, if the branch engineering is generated according to the migration flow described in the method of the foregoing embodiment, the branch engineering is necessarily the engineering of the homologous branch; therefore, for judging the branch engineering, whether the merging is satisfied can be judged by inquiring the database to judge whether corresponding migration information exists between the two branch engineering; and further, the judging process of homologous branches can be omitted, and the engineering merging efficiency is improved.
On the basis of the above embodiments, the embodiments of the present application describe a step of merging a target branch engineering with a branch engineering to be merged. Specifically, the method of the embodiment comprises the following steps:
acquiring a target warehouse link between a target branch project and a local warehouse; cloning a target project file in the target branch project into a local warehouse based on the target warehouse link; modifying the target warehouse link of the local warehouse into a to-be-combined link between the target warehouse link and the to-be-combined branch engineering; and submitting the target engineering file in the local warehouse to the branch engineering to be merged based on the link to be merged, so that the target engineering file and the file to be merged in the branch engineering to be merged are merged and archived.
The method is characterized in that the method comprises the steps that a server creates a link from an engineering P1 to a local warehouse, and a clone branch1 target engineering file is sent to the local warehouse; utilizing JGIT to modify a target warehouse link between the project P1 and the local warehouse into a link to be merged between the project P and the local warehouse, pushing a target project file in the local warehouse to the project P based on the link to be merged commit, and deleting the local warehouse after push is successful; at this time, the project P contains a new branch1 and an original branch, and because the branch1 and the branch exist the same SHA, the server side utilizes the merge command operation of the JGIT to merge (merge) the branch1 under the project P into the branch, and the merging and archiving of the project is completed.
It should be further noted that the execution subject of the distributed engineering management method may be a distributed engineering management apparatus, for example, the distributed engineering management method may be executed by a terminal device or a server or other processing device, where the terminal device may be a User Equipment (UE), a computer, a mobile device, a User terminal, a cellular phone, a cordless phone, a personal digital assistant (Personal Digital Assistant, PDA), a handheld device, a computing device, a vehicle-mounted device, a wearable device, or the like. In some possible implementations, the distributed-based engineering management method may be implemented by way of a processor invoking computer readable commands stored in a memory.
FIG. 5 is a block diagram of a distributed-based engineering management device, as shown in an exemplary embodiment of the present application. As shown in fig. 5, the exemplary distributed-based engineering management apparatus 500 includes: an engineering creation module 510, an acquisition module 520, a migration module 530, and a rights granting module 540. Specifically:
the project creation module 510 is configured to correspondingly create a branch project warehouse of the initial project in response to a received branch project application of the user side for the initial project.
The acquiring module 520 is configured to acquire a branch engineering file in the initial engineering based on the branch engineering application.
And the migration module 530 is configured to migrate the branch engineering file to a branch engineering warehouse to obtain a target branch engineering.
The permission giving module 540 is configured to give the engineering permission of the target branch engineering to the user side that initiates the branch engineering application, where the engineering permission is used for the user side to perform engineering development.
In the exemplary distributed-based engineering management device, a corresponding branch engineering warehouse is created by responding to a received branch engineering application initiated by a user side for an initial engineering; acquiring a corresponding branch engineering file in the initial engineering based on the branch engineering application; migrating the branch engineering file to a branch engineering warehouse to obtain a target branch engineering; the engineering authority of the target branch engineering is endowed to the user side initiating the branch engineering application, so that the user side can conduct engineering development based on the obtained engineering authority, the development process of the engineering project can be effectively managed, and the safety of the engineering is ensured.
The functions of each module may be referred to an embodiment of a distributed engineering management method, which is not described herein.
Referring to fig. 6, fig. 6 is a schematic structural diagram of an embodiment of an electronic device of the present application. The electronic device 600 includes a memory 601 and a processor 602, the processor 602 being configured to execute program commands stored in the memory 601 to implement the steps of any of the distributed-based engineering management method embodiments described above. In one particular implementation scenario, electronic device 600 may include, but is not limited to: the electronic device 600 may also include mobile devices such as a notebook computer and a tablet computer, and is not limited herein.
In particular, the processor 602 is configured to control itself and the memory 601 to implement the steps of any of the distributed-based engineering management method embodiments described above. The processor 602 may also be referred to as a CPU (Central Processing Unit ). The processor 602 may be an integrated circuit chip having signal processing capabilities. The processor 602 may also be a general purpose processor, a digital signal processor (Digital Signal Processor, DSP), an application specific integrated circuit (Application Specific Integrated Circuit, ASIC), a Field programmable gate array (Field-Programmable Gate Array, FPGA) or other programmable logic device, discrete gate or transistor logic device, discrete hardware components. A general purpose processor may be a microprocessor or the processor may be any conventional processor or the like. In addition, the processor 602 may be commonly implemented by an integrated circuit chip.
In the electronic equipment provided by the scheme, the corresponding branch engineering warehouse is created by responding to the received branch engineering application initiated by the user side for the initial engineering; acquiring a corresponding branch engineering file in the initial engineering based on the branch engineering application; migrating the branch engineering file to a branch engineering warehouse to obtain a target branch engineering; the engineering authority of the target branch engineering is endowed to the user side initiating the branch engineering application, so that the user side can conduct engineering development based on the obtained engineering authority, the development process of the engineering project can be effectively managed, and the safety of the engineering is ensured.
Referring to fig. 7, fig. 7 is a schematic structural diagram of an embodiment of a computer readable storage medium of the present application. The computer readable storage medium 710 stores program commands 711 capable of being executed by a processor, the program commands 711 being used to implement the steps of any of the above-described embodiments of the distributed-based engineering management method.
In the computer readable storage medium provided by the above scheme, when the program command is executed, a corresponding branch engineering warehouse is created by responding to the received branch engineering application initiated by the user side for the initial engineering; acquiring a corresponding branch engineering file in the initial engineering based on the branch engineering application; migrating the branch engineering file to a branch engineering warehouse to obtain a target branch engineering; and then the engineering authority of the target branch engineering is endowed to the user side initiating the branch engineering application, so that the user side can conduct engineering development based on the obtained engineering authority, the development process of the engineering project can be effectively managed, and the engineering safety is ensured.
In some embodiments, functions or modules included in an apparatus provided by the embodiments of the present disclosure may be used to perform a method described in the foregoing method embodiments, and specific implementations thereof may refer to descriptions of the foregoing method embodiments, which are not repeated herein for brevity.
The foregoing description of various embodiments is intended to highlight differences between the various embodiments, which may be the same or similar to each other by reference, and is not repeated herein for the sake of brevity.
In the several embodiments provided in the present application, it should be understood that the disclosed methods and apparatus may be implemented in other manners. For example, the apparatus embodiments described above are merely illustrative, e.g., the division of modules or units is merely a logical functional division, and there may be additional divisions of actual implementation, e.g., units or components may be combined or integrated into another system, or some features may be omitted, or not performed. Alternatively, the coupling or direct coupling or communication connection shown or discussed with each other may be an indirect coupling or communication connection via some interfaces, devices or units, which may be in electrical, mechanical, or other forms.
In addition, each functional unit in each embodiment of the present application may be integrated in one processing unit, or each unit may exist alone physically, or two or more units may be integrated in one unit. The integrated units may be implemented in hardware or in software functional units. The integrated units, if implemented in the form of software functional units and sold or used as stand-alone products, may be stored in a computer readable storage medium. Based on such understanding, the technical solution of the present application may be embodied essentially or in part or all or part of the technical solution contributing to the prior art or in the form of a software product stored in a storage medium, including several commands to cause a computer device (which may be a personal computer, a server, or a network device, etc.) or a processor (processor) to perform all or part of the steps of the methods of the embodiments of the present application. And the aforementioned storage medium includes: a U-disk, a removable hard disk, a Read-Only Memory (ROM), a random access Memory (RAM, random Access Memory), a magnetic disk, or an optical disk, or other various media capable of storing program codes.

Claims (10)

1. A distributed-based engineering management method, wherein the method is applied to a server, and the method comprises the following steps:
responding to a received branch engineering application of a user side for an initial engineering, and correspondingly creating a branch engineering warehouse of the initial engineering;
acquiring a branch engineering file in the initial engineering based on the branch engineering application;
migrating the branch engineering file to the branch engineering warehouse to obtain a target branch engineering;
and the engineering authority of the target branch engineering is endowed to a user side which initiates the branch engineering application, and the engineering authority is used for engineering development of the user side.
2. The method of claim 1, wherein the step of migrating the branch engineering file into the branch engineering repository to obtain a target branch engineering comprises:
acquiring an initial warehouse link of the initial project, wherein the initial warehouse link is used for accessing the initial project;
cloning the branch engineering file into a local repository based on the initial repository link;
modifying an initial warehouse link of the local warehouse into a branch warehouse link, wherein the branch warehouse link is used for accessing the branch engineering warehouse;
and submitting the branch engineering files in the local warehouse to the branch engineering warehouse based on the branch warehouse link to obtain the target branch engineering.
3. The method of claim 2, wherein after the step of cloning the branch engineering file into a local repository based on the initial repository link, the method further comprises:
judging whether the branch engineering warehouse contains the branch engineering files or not;
if yes, suspending or stopping the branch engineering application;
if not, modifying the initial warehouse link of the local warehouse into the branch warehouse link.
4. The method of claim 1, wherein the step of correspondingly creating a branch engineering warehouse of the initial engineering in response to the received branch engineering application of the user side for the initial engineering comprises:
judging whether the branch engineering application is a branch engineering application which is audited by an auditing terminal;
if yes, creating the branch engineering warehouse;
if not, suspending or stopping creating the branch engineering warehouse.
5. The method according to claim 1, wherein after the step of giving the engineering authority of the target branch engineering to the user terminal that initiated the branch engineering application, the method further comprises:
responding to a received project merging application of the user side for the target branch project, and determining a branch project to be merged corresponding to the project merging application;
judging whether the target branch engineering and the branch engineering to be combined are homologous branches or not;
if yes, merging the target branch engineering and the branch engineering to be merged;
if not, the project merging application is paused or stopped.
6. The method of claim 5, wherein the step of determining whether the target branch engineering and the branch engineering to be merged are homologous branches comprises:
verifying whether the target branch engineering and the branch engineering to be combined have the same verification information or not;
if yes, judging the target branch engineering and the branch engineering to be combined as the homologous branches;
if not, judging that the target branch engineering and the branch engineering to be combined are not the homologous branches.
7. The method according to claim 5, wherein the step of merging the target branch engineering with the branch engineering to be merged includes:
acquiring a target warehouse link between the target branch engineering and a local warehouse;
cloning a target project file in the target branch project into the local warehouse based on the target warehouse link;
modifying the target warehouse link of the local warehouse into a to-be-combined link between the target warehouse link and the to-be-combined branch engineering;
and submitting the target engineering file in the local warehouse to the branch engineering to be merged based on the link to be merged, so that the target engineering file and the file to be merged in the branch engineering to be merged are merged and archived.
8. The utility model provides a project management device based on distributing type which characterized in that, the device is applied to the server side, includes:
the project creation module is used for responding to a received branch project application of a user side for an initial project and correspondingly creating a branch project warehouse of the initial project;
the acquisition module is used for acquiring the branch engineering file in the initial engineering based on the branch engineering application;
the migration module is used for migrating the branch engineering file to the branch engineering warehouse to obtain a target branch engineering;
and the permission giving module is used for giving the engineering permission of the target branch engineering to the user side which initiates the branch engineering application, and the engineering permission is used for engineering development of the user side.
9. An electronic device comprising a memory and a processor for executing program commands stored in the memory to implement the method of any one of claims 1 to 7.
10. A computer readable storage medium having stored thereon program instructions, which when executed by a processor, implement the method of any of claims 1 to 7.
CN202410016300.2A 2024-01-05 2024-01-05 Engineering management method, device, equipment and storage medium based on distribution Pending CN117519782A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202410016300.2A CN117519782A (en) 2024-01-05 2024-01-05 Engineering management method, device, equipment and storage medium based on distribution

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202410016300.2A CN117519782A (en) 2024-01-05 2024-01-05 Engineering management method, device, equipment and storage medium based on distribution

Publications (1)

Publication Number Publication Date
CN117519782A true CN117519782A (en) 2024-02-06

Family

ID=89755314

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202410016300.2A Pending CN117519782A (en) 2024-01-05 2024-01-05 Engineering management method, device, equipment and storage medium based on distribution

Country Status (1)

Country Link
CN (1) CN117519782A (en)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070256058A1 (en) * 2003-12-15 2007-11-01 Evolveware, Inc. A Corporation Apparatus for Migration and Conversion of Software Code from Any Source Platform to Any Target Platform
CN112015465A (en) * 2020-09-03 2020-12-01 中国平安财产保险股份有限公司 Project engineering configuration publishing method and device, computer equipment and storage medium
CN112416327A (en) * 2020-11-23 2021-02-26 平安普惠企业管理有限公司 Project construction method and device, computer equipment and storage medium
CN112947907A (en) * 2020-03-23 2021-06-11 深圳市明源云科技有限公司 Method for creating code branch
CN114168108A (en) * 2021-12-02 2022-03-11 智道网联科技(北京)有限公司 Code merging method and device, electronic equipment and computer readable storage medium
CN114443004A (en) * 2021-12-30 2022-05-06 海宁奕斯伟集成电路设计有限公司 Branch merging method, computer device and computer storage medium
US20230098227A1 (en) * 2021-09-29 2023-03-30 Dremio Corporation Change control and version management of data

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070256058A1 (en) * 2003-12-15 2007-11-01 Evolveware, Inc. A Corporation Apparatus for Migration and Conversion of Software Code from Any Source Platform to Any Target Platform
CN112947907A (en) * 2020-03-23 2021-06-11 深圳市明源云科技有限公司 Method for creating code branch
CN112015465A (en) * 2020-09-03 2020-12-01 中国平安财产保险股份有限公司 Project engineering configuration publishing method and device, computer equipment and storage medium
CN112416327A (en) * 2020-11-23 2021-02-26 平安普惠企业管理有限公司 Project construction method and device, computer equipment and storage medium
US20230098227A1 (en) * 2021-09-29 2023-03-30 Dremio Corporation Change control and version management of data
CN114168108A (en) * 2021-12-02 2022-03-11 智道网联科技(北京)有限公司 Code merging method and device, electronic equipment and computer readable storage medium
CN114443004A (en) * 2021-12-30 2022-05-06 海宁奕斯伟集成电路设计有限公司 Branch merging method, computer device and computer storage medium

Non-Patent Citations (6)

* Cited by examiner, † Cited by third party
Title
CWXCC: "git hooks pre-push提交前判断当前本地分支和要提交到的目标分支,分支名是否一致", Retrieved from the Internet <URL:https://blog.csdn.net/weixin_43522687/article/details/124153034> *
JENNIFER NIEDERST ROBBINS著,刘红泉译: "《Web前端工程师修炼之道 原书第5版》", 31 January 2021, 机械工业出版社, pages: 557 - 558 *
杨永毅;赵芳;赵思亮;: "基于SVN技术实现气象项目源代码管理", 气象水文海洋仪器, no. 04, 15 December 2019 (2019-12-15) *
汪同庆等: "《大学计算机概率》", 30 September 2010, 武汉大学出版社, pages: 88 - 89 *
郝树伟著: "《多云和混合云 云原生多集群和应用管理》", 31 August 2021, 机械工业出版社, pages: 195 - 196 *
魏新宇等: "《OpenShift在企业中的实践:PaaS DevOps微服务》", vol. 2, 30 September 2021, 机械工业出版社, pages: 448 - 450 *

Similar Documents

Publication Publication Date Title
CN110727712B (en) Data processing method and device based on block chain network, electronic equipment and storage medium
EP3893433B1 (en) Data isolation in blockchain networks
KR102002509B1 (en) Privite blockchain system including notarizing center and notarial method thereof
CN109657492B (en) Database management method, medium, and electronic device
CN112506747B (en) Business process monitoring method and device, electronic equipment and storage medium
CN111461723A (en) Data processing system, method and device based on block chain
CN110555293A (en) Method, apparatus, electronic device and computer readable medium for protecting data
CN112464212B (en) Data authority control reconstruction method based on mature complex service system
CN111090386B (en) Cloud storage method, device, system and computer equipment
CN110908786A (en) Intelligent contract calling method, device and medium
CN108228353A (en) resource access control method, device and corresponding terminal
CN111178896B (en) Bus taking payment method, device and storage medium
CN113190609A (en) Data warehouse management method, system, device, storage medium and electronic equipment
CN110555682B (en) Multi-channel implementation method based on alliance chain
CN112101945A (en) Method and system for supervising block chain content
CN117519782A (en) Engineering management method, device, equipment and storage medium based on distribution
CN114070856B (en) Data processing method, device, system, operation and maintenance auditing equipment and storage medium
CN112118290B (en) Program analysis-based data resource management and control method
CN111159736B (en) Application control method and system of block chain
CN113935052A (en) API access method and related device
CN116136844A (en) Entity identification information generation method, device, medium and electronic equipment
CN113312669A (en) Password synchronization method, device and storage medium
CN112632616A (en) Data processing method, data processing device, electronic equipment and computer readable storage medium
CN112926956A (en) Block chain financial payment management method and system
CN115001718B (en) Data processing method and device, computer equipment and readable storage medium

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination