Software release method and device, equipment and storage medium

By generating and pushing code review task sequences, the problem of cumbersome and time-consuming code review process is solved, and the efficiency and reliability of software release is achieved.

CN120353693APending Publication Date: 2025-07-22BEIJING BAILONG MAYUN TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202510329436.3
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-03-19
Publication Date
2025-07-22

AI Technical Summary

Technical Problem

During the existing software development process, the code review process is cumbersome and time-consuming and prone to delay or omission, affecting the efficiency and quality of software release.

Method used

By obtaining the code review set, analyzing and generating the code review task sequence, and pushing it to the code review end for review, generating the review results, and finally software release is performed based on the review results.

Benefits of technology

Improves the efficiency and reliability of software release, ensures code quality, and reduces human errors and delays.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120353693A_ABST
    Figure CN120353693A_ABST
Patent Text Reader

Abstract

The embodiment of the invention relates to the field of software engineering, and discloses a software release method, device and equipment and a storage medium, the method comprises the steps that a code review set of to-be-released software in a target environment is acquired, and a plurality of to-be-reviewed code segments written by developers are stored in the code review set; analyzing the code review set to generate a code review task sequence based on the review information of each to-be-reviewed code segment; the code review task sequence is pushed to a code review end corresponding to the to-be-released software, so that the code review end reviews the to-be-reviewed code segment based on the code review task sequence, and a review result is generated; and performing software release on the to-be-released software based on the review result and the code release request. By applying the technical scheme of the invention, the efficiency and reliability of software release can be improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] Embodiments of the present invention relate to the field of software engineering, and particularly to software release methods, devices, equipment, and storage media. Background Art

[0002] During the software development process, in order to ensure project quality and reduce project risks, all code submissions need to go through CodeReview (CR, code review), that is, after developers complete code writing, they usually need to manually push the code to the code repository and notify relevant personnel for review. This process is not only cumbersome and time-consuming, but also prone to delays or omissions in the review process due to human negligence, thus affecting the efficiency of software release and also having an adverse impact on the quality and stability of the software. Summary of the Invention

[0003] In view of the above problems, embodiments of the present invention provide a software release method, device, equipment, and storage media.

[0004] According to one aspect of the embodiments of the present invention, a software release method is provided. The method includes: obtaining a code review set of the software to be released in a target environment, where the code review set stores multiple code segments to be reviewed written by each developer; analyzing the code review set to generate a code review task sequence based on the review information of each code segment to be reviewed; pushing the code review task sequence to the code review end corresponding to the software to be released, so that the code review end reviews the code segments to be reviewed based on the code review task sequence and generates a review result; and performing software release on the software to be released based on the review result and the code release request. Through the above process, the efficiency and reliability of software release can be improved.

[0005] In an alternative embodiment, performing software release on the software to be released based on the review result and the code release request includes:

[0006] Obtaining the review results of each code segment to be reviewed;

[0007] If the review results of all code segments to be reviewed are passed, performing software release on the software to be released based on the code release request;

[0008] If the review result of any code segment to be reviewed is not passed, generating a feedback report including information on the code segments to be reviewed that have not passed the review and feeding it back to the developer.

[0009] In an alternative embodiment, analyzing the code review set to generate a code review task sequence based on the review information of each code segment to be reviewed includes:

[0010] Statistically analyze the historical review records of each code segment to be reviewed, and obtain the historical review pass rate of each code segment to be reviewed;

[0011] Based on the historical review pass rate of each code segment to be reviewed, perform priority sorting on each code segment to be reviewed. The code segment to be reviewed with the lowest historical review pass rate has the highest priority;

[0012] Generate a code review task sequence according to the order of the sorted code segments to be reviewed.

[0013] In an alternative implementation, analyze the code review set to generate a code review task sequence based on the review information of each code segment to be reviewed, and further include:

[0014] Statistically analyze the review duration of each code segment to be reviewed, and obtain the average review duration of each code segment to be reviewed;

[0015] Based on the average review duration of each code segment to be reviewed, perform urgency sorting on each code segment to be reviewed. The code segment to be reviewed with the shortest average review duration has the highest urgency;

[0016] Based on the priority sorting and urgency sorting, perform comprehensive sorting on the code segments to be reviewed;

[0017] Generate a code review task sequence according to the order of the comprehensively sorted code segments to be reviewed.

[0018] In an alternative implementation, push the code review task sequence to the corresponding code review terminal of the software to be released, including:

[0019] Obtain the current working status of each code review terminal to determine whether each code review terminal is in an idle state;

[0020] Mark the code review terminals in the idle state as target review terminals;

[0021] Based on the order of the code review task sequence, allocate each code review task to the corresponding target review terminal in turn.

[0022] In an alternative implementation, the above method further includes:

[0023] Obtain the review progress of each target review terminal, where the review progress includes review completed and review not completed;

[0024] For the first target review terminal with the review progress of review not completed, obtain the review requirement duration of each code segment to be reviewed that has not started review;

[0025] Based on the review requirement duration, screen out one or more review terminals that can receive code reviews from the second target review terminals with review completed to obtain assignable review terminals;

[0026] When there is assignable review time and review requirements based on the assignable review end, review each code segment to be reviewed that has not started the review.

[0027] In an alternative embodiment, the above method further includes:

[0028] Record the push timestamp for pushing the code review task sequence to the code review end;

[0029] Obtain the review result feedback timestamp based on the code review end for each code segment to be reviewed;

[0030] If the time difference between the feedback timestamp and the push timestamp is greater than the target time threshold, generate a review delay reminder and send the review delay reminder to the corresponding code review end.

[0031] According to another aspect of the embodiments of the present invention, there is provided a software release device, including: a data acquisition module, configured to acquire a code review set of the software to be released in a target environment, where the code review set stores a plurality of code segments to be reviewed written by each developer; a code analysis module, configured to analyze the code review set to generate a code review task sequence based on the review information of each code segment to be reviewed; a task push module, configured to push the code review task sequence to the code review end corresponding to the software to be released, so that the code review end reviews the code segments to be reviewed based on the code review task sequence and generates a review result; a software release module, configured to perform software release on the software to be released based on the review result and the code release request. Through the above modules, the efficiency and reliability of software release can be improved.

[0032] According to another aspect of the embodiments of the present invention, there is provided a computer device, including: a processor, a memory, a communication interface, and a communication bus, where the processor, the memory, and the communication interface complete mutual communication through the communication bus; the memory is used to store at least one executable instruction, and the executable instruction causes the processor to perform the operations of the foregoing software release method.

[0033] According to yet another aspect of the embodiments of the present invention, there is provided a computer-readable storage medium, where at least one executable instruction is stored in the storage medium, and the executable instruction causes a computer device / device to perform the operations of the foregoing software release method.

[0034] According to yet another aspect of the embodiments of the present invention, there is provided a computer program product, including computer instructions, where the computer instructions are used to cause a computer to perform the operations of the software release method in the first aspect or any corresponding embodiment thereof.

[0035] The above description is only an overview of the technical solution of the embodiment of the present invention. In order to be able to understand the technical means of the embodiment of the present invention more clearly, it can be implemented according to the content of the description. And in order to make the above and other purposes, features and advantages of the embodiment of the present invention more obvious and understandable, the following specifically illustrates the specific implementation manners of the present invention. BRIEF DESCRIPTION OF THE DRAWINGS

[0036] The drawings are only used to illustrate the embodiments and are not considered as a limitation to the present invention. Moreover, throughout the drawings, the same reference numerals are used to represent the same components. In the drawings:

[0037] Figure 1 A flowchart showing a software release method provided by the present invention is shown;

[0038] Figure 2 Another flowchart showing a software release method provided by the present invention is shown;

[0039] Figure 3 A review diagram showing a software release method provided by the present invention is shown;

[0040] Figure 4 A review task push diagram showing a software release method provided by the present invention is shown;

[0041] Figure 5 A review task push result diagram showing a software release method provided by the present invention is shown;

[0042] Figure 6 A review notice effect diagram showing a software release method provided by the present invention is shown;

[0043] Figure 7 A structural diagram showing a software release device provided by the present invention is shown;

[0044] Figure 8 A structural diagram showing a computer device provided by the present invention is shown. DETAILED DESCRIPTION OF THE EMBODIMENTS

[0045] To make the objectives, technical solutions and advantages of the embodiments of the present invention clearer, the technical solutions in the embodiments of the present invention will be clearly and completely described below with reference to the drawings in the embodiments of the present invention. Apparently, the described embodiments are some, but not all, of the embodiments of the present invention. All other embodiments obtained by those of ordinary skill in the art based on the embodiments of the present invention without creative efforts shall fall within the protection scope of the present invention.

[0046] Figure 1 A flowchart showing the first embodiment of a software release method of the present invention is shown. As Figure 1As shown, the method includes the following steps:

[0047] Step 110: Obtain a code review set of the software to be released in the target environment. The code review set stores multiple code segments to be reviewed written by each developer.

[0048] As above, by obtaining the code review set of the software to be released in the target environment, a comprehensive code review of the software to be released can be carried out. The code review set details the code segments to be reviewed written by each developer, ensuring the comprehensiveness and accuracy of the code.

[0049] Among them, the code segments to be reviewed can be segmented in the form of delimiters in the code review set. Each code segment to be reviewed contains the code of a specific function or module written by the developer. Such a segmentation method helps the reviewers and / or review models at the code review end quickly locate and understand the content and purpose of each code segment, thereby improving the efficiency and accuracy of code review.

[0050] Step 120: Analyze the code review set to generate a code review task sequence based on the review information of each code segment to be reviewed.

[0051] Among them, the process of analyzing the code review set to generate a code review task sequence based on the review information of each code segment to be reviewed may include but is not limited to the following steps: First, assign corresponding review priorities to them according to the characteristics and complexity of each code segment to be reviewed. For example, code segments of key functional modules or complex algorithms can be given higher review priorities to ensure the code quality and stability of these key parts. Second, assign the code segments to be reviewed to the most suitable reviewers according to the professional backgrounds and skills of the reviewers. This can ensure that each code segment can be reviewed professionally and in depth, thereby improving the overall code quality. Finally, arrange the assigned review tasks in an orderly manner into a code review task sequence according to the priorities and assignment situations. This sequence will serve as the guidance and basis for subsequent code review work to ensure the orderly progress of the review work.

[0052] In some alternative embodiments, when analyzing a code review set to generate a code review task sequence based on the review information of each code segment to be reviewed, the historical review records of each code segment to be reviewed can also be statistically analyzed to obtain the historical review passing rate of each code segment to be reviewed; based on the historical review passing rate of each code segment to be reviewed, the code segments to be reviewed are sorted by priority, and the code segment to be reviewed with the lowest historical review passing rate has the highest priority; according to the order of the code segments to be reviewed after sorting, a code review task sequence is generated, which can further refine the priority allocation of the review tasks. Code segments with relatively low historical review passing rates often have more problems or unstable factors. Therefore, setting their priorities higher helps to detect and resolve potential quality problems earlier. At the same time, by obtaining the historical performance of the code segments, the review work becomes more scientific and reasonable. When generating the code review task sequence, combining the historical review passing rate and the professional background of the reviewers can ensure the efficient and high-quality completion of the review tasks.

[0053] In some alternative embodiments, when analyzing a code review set to generate a code review task sequence based on the review information of each code segment to be reviewed, the review duration of each code segment to be reviewed can also be statistically analyzed to obtain the average review duration of each code segment to be reviewed; based on the average review duration of each code segment to be reviewed, the code segments to be reviewed are sorted by urgency, and the code segment to be reviewed with the shortest average review duration has the highest urgency; based on the priority sorting and urgency sorting, the code segments to be reviewed are comprehensively sorted; according to the order of the code segments to be reviewed after comprehensive sorting, a code review task sequence is generated. By considering the historical review performance of the code segments and the time cost required for review, the order of the code segments to be reviewed can comprehensively evaluate the review requirements of the code segments, ensure that critical and urgent code segments are processed in a timely manner, not only improve the efficiency of code review, but also ensure the steady improvement of code quality by considering multiple dimensions.

[0054] Step 130, push the code review task sequence to the code review terminal corresponding to the software to be released, so that the code review terminal reviews the code segments to be reviewed based on the code review task sequence and generates a review result.

[0055] As described above, by pushing the code review task sequence to the code review terminal corresponding to the software to be released, the code review terminal can review the code segment to be reviewed based on the code review task sequence; after the code review terminal receives the code review task sequence, reviewers can conduct a detailed review of the code segment to be reviewed in the order in the sequence. During the review process, reviewers can mark potential problems, improvement suggestions in the code or confirm the code quality. After the review is completed, the review results will be recorded by the system and can be fed back to relevant developers or project managers in real time. This process not only ensures the orderly progress of the code review work, but also improves the code quality and the efficiency of software release through systematic management.

[0056] In some alternative implementation manners, when pushing the code review task sequence to the code review terminal corresponding to the software to be released, multiple pushing methods can be adopted to adapt to different working scenarios and requirements. For example, the code review task sequence can be sent to the corresponding reviewers through channels such as email, instant messaging tools or dedicated code management platforms. These pushing methods not only ensure the timely transmission of the review tasks, but also provide flexibility and convenience, enabling reviewers to receive the tasks and start the review work in a timely manner. In addition, relevant background information, review requirements and deadlines can be attached during pushing to help reviewers better understand the task background and requirements, thereby improving the accuracy and efficiency of the review.

[0057] Furthermore, in order to improve the transparency and traceability of code review, during the implementation process, detailed records of each code review, including reviewers, review time, review results and any discussions or improvement suggestions during the review process, can be saved. At the same time, by analyzing these records, common problems or bottlenecks in the code review process can also be found, and then corresponding improvement measures can be taken to continuously optimize the code review process and improve the quality and efficiency of software release.

[0058] Step 140, perform software release on the software to be released based on the review results and the code release request.

[0059] As described above, during the software release phase of the software to be released based on the review results and the code release request, it is also possible to check whether the review results meet the preset standards or conditions. If the review results pass, it indicates that the code quality meets the release requirements, and the software release process is triggered. During this process, according to the specific information in the code release request, such as release version, release target environment, etc., operations such as packaging, deployment and release of the software to be released can be performed. At the same time, detailed information about the software release, including release time, release version, release personnel, etc., is recorded for subsequent tracking and management.

[0060] In some alternative embodiments, when performing software release on the software to be released based on the review results and the code release request, the review results of each code segment to be reviewed can be obtained; if the review results of all the code segments to be reviewed are passed, the software to be released is released based on the code release request; if the review result of any one of the code segments to be reviewed is not passed, a feedback report including the information of the code segments to be reviewed that failed the review is generated and fed back to the developers. The feedback report can detail the code segments that failed the review, the reasons for the failure, and possible improvement suggestions, so that the developers can timely understand and correct the problems. After receiving the feedback report, the developers can modify and improve the corresponding code segments and then resubmit them for review. This process can ensure the code quality before software release and reduce the possible errors and problems after release. At the same time, through continuous feedback and improvement, the overall code quality and development efficiency of the development team can be improved.

[0061] In addition, to further improve the transparency and controllability of the software release process, a pre-release stage can be set before software release. This stage allows the development team to conduct final tests and verifications on the software to be released, ensuring that the software reaches the best state before formal release. After the pre-release stage ends, the test feedback and verification results are collected, and the software is comprehensively evaluated again. Only when the software meets all the preset standards and conditions can it officially enter the software release process.

[0062] In addition, to enhance the flexibility and response speed of software release, automated software release tools or platforms can be introduced. These tools or platforms can automatically execute operations such as software packaging, deployment, and release according to preset rules and processes, reducing manual intervention and the risk of human errors. At the same time, these tools or platforms can also provide real-time release status monitoring and logging functions, helping the development team to understand the progress and results of software release at any time and respond to possible problems in a timely manner.

[0063] In some alternative embodiments, the push timestamp for pushing the code review task sequence to the code review end can also be recorded; the feedback timestamp based on the review results of each code segment to be reviewed is obtained from the code review end; if the time difference between the feedback timestamp and the push timestamp is greater than the target time threshold, a review delay reminder is generated and sent to the corresponding code review end, so that the developers in the development team can timely discover and solve the delay problems in the code review process, ensuring the timeliness and effectiveness of code review. In addition, the recorded timestamp data can also be used for subsequent analysis and optimization, helping the team to continuously improve the code review process and enhance the overall development efficiency. For example, the team can regularly review these timestamp data, identify common reasons for review delays, and take targeted measures for improvement.

[0064] The software release method according to an embodiment of the present invention obtains a code review set of the software to be released in a target environment, analyzes the code review set, and generates a code review task sequence based on the review information of each code segment to be reviewed; by pushing the code review task sequence to the code review end corresponding to the software to be released, the code review end reviews the code segments to be reviewed based on the code review task sequence and generates a review result; by performing software release on the software to be released based on the review result and the code release request, the efficiency and reliability of software release can be improved.

[0065] Figure 2 The flowchart of another embodiment of the software release method of the present invention is shown. As Figure 2 shown, the method includes the following steps:

[0066] Step 210, obtain a code review set of the software to be released in a target environment, where the code review set stores multiple code segments to be reviewed written by each developer.

[0067] For details, please refer to Figure 1 Step 110 of the shown embodiment, which will not be elaborated here.

[0068] Step 220, analyze the code review set to generate a code review task sequence based on the review information of each code segment to be reviewed.

[0069] For details, please refer to Figure 1 Step 120 of the shown embodiment, which will not be elaborated here.

[0070] Step 230, push the code review task sequence to the code review end corresponding to the software to be released, so that the code review end reviews the code segments to be reviewed based on the code review task sequence and generates a review result.

[0071] Specifically, the above step 230 includes:

[0072] Step 2301, obtain the current working status of each code review end to determine whether each code review end is in an idle state.

[0073] As above, by obtaining the current working status of each code review end to determine whether each code review end is in an idle state, the code review tasks can be more efficiently assigned to available code review ends.

[0074] Step 2302, mark the code review ends in an idle state as target review ends.

[0075] As above, by marking the code review ends in an idle state as target review ends, it can be ensured that the code review tasks are assigned to available resources, avoiding task backlog or delay.

[0076] Step 2303: Assign each code review task to the corresponding target review end in sequence based on the order of the code review task sequence.

[0077] Specifically, after determining the target review end, the tasks in the code review task sequence can be automatically or manually assigned to these target review ends. In this way, each target review end will receive tasks that match its review capabilities, and then start the detailed review work on the code segments to be reviewed. During the review process, the review end may record the discovered problems, put forward improvement suggestions, and generate corresponding review reports or review results. These review results are crucial for subsequent software release decisions because they directly reflect the quality of the code and potential problems.

[0078] In some alternative implementation manners, the review progress of each target review end can also be obtained. The review progress includes review completed and review not completed. For the first target review end with a review progress of review not completed, obtain the review required time for each code segment to be reviewed that has not started being reviewed. Based on the review required time, screen out one or more review ends that can receive code reviews from the second target review ends with completed reviews to obtain assignable review ends. Based on the assignable review time and review required time of the assignable review ends, review each code segment to be reviewed that has not started being reviewed, so as to achieve dynamic adjustment of the review resource allocation and ensure that all code segments to be reviewed can be reviewed in a timely and effective manner. For example, when a target review end cannot complete the assigned code review task on time due to certain reasons (such as overly heavy review tasks, the reviewer being temporarily offline, etc.), according to the available time of other review ends that have completed reviews and the review required time of the code segments to be reviewed, these code segments to be reviewed can be reassigned to appropriate review ends. This flexible resource scheduling mechanism greatly improves the efficiency and accuracy of code review, helps shorten the software release cycle, and enhances the overall quality of the software. In addition, the historical information of each resource adjustment can also be recorded for subsequent analysis and optimization of the resource allocation strategy.

[0079] In some alternative implementation manners, the review progress of each target review end can also be obtained; for the first target review end with a review progress of review not completed, obtain the review required time for each code segment to be reviewed that has not started being reviewed; based on the review required time, screen out one or more second available review ends that can receive code reviews from the second target review ends with completed reviews, and at the same time screen out one or more first available review ends that can receive code reviews from the first target review ends with uncompleted reviews. Based on the first available review ends and the second available review ends, obtain assignable review ends; based on the assignable review time and review required time of the assignable review ends, review each code segment to be reviewed that has not started being reviewed.

[0080] Further, to improve the flexibility and efficiency of resource allocation, not only the second target review terminals that have completed the review are considered, but also those review terminals in the first target review terminals that have not completed the review and still have a certain amount of remaining review capacity despite having unfinished tasks are considered. This dual screening mechanism ensures that all available review resources can be maximally utilized in the case of resource constraints. After determining the review terminals that can be allocated, the code segments can be allocated to the most suitable review terminals according to the urgency of each code segment to be reviewed and the particularity of the review requirements, so as to further optimize the review process and reduce unnecessary waiting time while ensuring the review quality. In this way, even when facing complex and changing review requirements, the code review work can be ensured to be carried out efficiently and orderly.

[0081] In addition, in some cases, a complex code segment may require multiple review terminals to jointly review it to ensure the comprehensiveness and accuracy of the review. Through the above method, the collaborative tasks can be intelligently allocated based on the expertise and current load conditions of each review terminal, improving the review efficiency and quality, and further enhancing the overall efficiency and quality of software release.

[0082] Step 240, perform software release on the software to be released based on the review results and the code release request.

[0083] For details, please refer to Figure 1 Step 140 of the illustrated embodiment, which will not be elaborated here.

[0084] In summary, for the software release method according to the embodiments of the present invention, by obtaining the code review set of the software to be released in the target environment and analyzing the code review set, a code review task sequence is generated based on the review information of each code segment to be reviewed; by pushing the code review task sequence to the code review terminals corresponding to the software to be released, the code review terminals review the code segments to be reviewed based on the code review task sequence and generate review results; by performing software release on the software to be released based on the review results and the code release request, the efficiency and reliability of software release can be improved.

[0085] As a specific embodiment, since a software has multiple deployment environments: test environment, pre-release environment, production environment, etc., and the deployment requirements of each environment are different, each environment can have its own review criteria. For example, the test environment is only for verifying new functions without real users, and when deploying to this environment, it is not necessary to compulsorily control that the code must be reviewed before deployment. Many information can be configured in the application environment, and the code review criteria are just one of them. Among them, the review criteria can include whether a code review is created for the code segment submission; the number of people participating in the code segment review; the number of comments on the code review result, as Figure 3 shown.

[0086] The code review task sequence can be pushed through push events. The push events provide detailed metadata, including commit information, branch name, committer information, etc. External service links can also be triggered during the push to send notifications of the push events to external services. These metadata can be used by external services for further processing. For example, if the external service is configured under the corresponding code review set through the external service link, it can listen for developers' code commits and trigger the sending of a DingTalk notification for code review by triggering the corresponding external service after the submission of the code segments to be reviewed, such as Figure 4 and Figure 5 shown.

[0087] After the reviewer on the code review side receives the CR notification @ him in the DingTalk group, he can view the code to be reviewed by "clicking to review". After the review, the result can be submitted as passed / failed. A non-passed approval will affect the subsequent release process. After the CR is configured, the release will be blocked. In the current environment, when releasing, it will be checked whether all code commits have passed the CR. If there are code commits that have not passed the CR, the release will be blocked until all code commits have passed the CR. As the last line of defense for detecting the quality of code commits, this ensures the correctness of function implementation and the overall security of the project. Among them, the reviewers on the code review side can also be other developers who are developing the software to be released, or developers in other development teams that have a project collaboration with the software to be developed. There is no restriction here.

[0088] Conducting code CR daily can help detect and fix potential errors, bad programming habits, or non-compliant code in a timely manner, reduce the later repair cost, improve the stability of the software, and encourage small and focused changes. This not only facilitates code review but also makes it easier to roll back or track issues. To ensure the timeliness of CR, a DingTalk work notification is sent at 8 pm every day, such as Figure 6 shown.

[0089] Figure 7 shows the structural schematic diagram of an embodiment of a software release device of the present invention. As Figure 7 shown, the device includes:

[0090] A data acquisition module 710, configured to acquire a code review set of the software to be released in a target environment, where the code review set stores multiple code segments to be reviewed written by each developer;

[0091] A code analysis module 720, configured to analyze the code review set to generate a code review task sequence based on the review information of each code segment to be reviewed;

[0092] A task push module 730, configured to push a code review task sequence to a code review terminal corresponding to the software to be released, so that the code review terminal reviews the code segments to be reviewed based on the code review task sequence and generates a review result;

[0093] A software release module 740, configured to perform software release on the software to be released based on the review result and the code release request.

[0094] In an optional implementation manner, the software release module 740 includes:

[0095] A result acquisition sub-module, configured to acquire the review results of each code segment to be reviewed;

[0096] A software release sub-module, configured to perform software release on the software to be released based on the code release request if the review results of all code segments to be reviewed are passed;

[0097] A result feedback sub-module, configured to generate a feedback report including information on the code segments to be reviewed that fail the review and feed it back to the developers if the review result of any code segment to be reviewed is not passed.

[0098] In an optional implementation manner, the code analysis module 720 includes:

[0099] A record statistics sub-module, configured to count the historical review records of each code segment to be reviewed and obtain the historical review passing rate of each code segment to be reviewed;

[0100] A code sorting sub-module, configured to sort the priorities of each code segment to be reviewed based on the historical review passing rate of each code segment to be reviewed, and the code segment to be reviewed with the lowest historical review passing rate has the highest priority;

[0101] A sequence generation sub-module, configured to generate a code review task sequence according to the order of the sorted code segments to be reviewed.

[0102] In an optional implementation manner, the code analysis module 720 further includes:

[0103] A duration statistics sub-module, configured to perform statistical analysis on the review duration of each code segment to be reviewed and obtain the average review duration of each code segment to be reviewed;

[0104] An urgency sorting sub-module, configured to sort the urgency of each code segment to be reviewed based on the average review duration of each code segment to be reviewed, and the code segment to be reviewed with the shortest average review duration has the highest urgency;

[0105] A comprehensive sorting sub-module, configured to perform comprehensive sorting on the code segments to be reviewed based on the priority sorting and the urgency sorting;

[0106] A task sequence sub-module, configured to generate a code review task sequence according to the order of the code segments to be reviewed after comprehensive sorting.

[0107] In an alternative embodiment, the code analysis module 720 is further configured to obtain the review progress of each target review terminal, where the review progress includes review completed and review not completed; for the first target review terminal with the review progress of review not completed, obtain the review required time of each code segment to be reviewed that has not started review; based on the review required time, screen out one or more review terminals that can receive code review from the second target review terminals that have completed review, so as to obtain assignable review terminals; based on the assignable review time and review required time of the assignable review terminals, review each code segment to be reviewed that has not started review.

[0108] In an alternative embodiment, the task push module 730 includes:

[0109] A status acquisition sub-module, configured to acquire the current working status of each code review terminal to determine whether each code review terminal is in an idle state;

[0110] A review terminal marking sub-module, configured to mark the code review terminals in an idle state as target review terminals;

[0111] A task assignment sub-module, configured to sequentially assign each code review task to the corresponding target review terminal based on the order of the code review task sequence.

[0112] In some alternative embodiments, the software release module 740 is further configured to record the push timestamp for pushing the code review task sequence to the code review terminal; obtain the feedback timestamp of the review result of each code segment to be reviewed based on the code review terminal; if the time difference between the feedback timestamp and the push timestamp is greater than the target time threshold, generate a review delay reminder and send the review delay reminder to the corresponding code review terminal.

[0113] The further function descriptions of the above-mentioned various modules and units are the same as those in the corresponding method embodiments above, and will not be elaborated here.

[0114] Through the above device and its components, the technical solution provided by the embodiments of the present invention has the following advantages:

[0115] The software release device according to the embodiment of the present invention obtains a code review set of the software to be released in the target environment through a data acquisition module. The code review set stores multiple code segments to be reviewed written by each developer; analyzes the code review set through a code analysis module to generate a code review task sequence based on the review information of each code segment to be reviewed; pushes the code review task sequence to the code review end corresponding to the software to be released through a task push module, so that the code review end reviews the code segments to be reviewed based on the code review task sequence and generates a review result; and performs software release on the software to be released based on the review result and the code release request through a software release module, which can improve the efficiency and reliability of software release.

[0116] Please refer to Figure 8 , Figure 8 which is a schematic structural diagram of a computer device provided by an optional embodiment of the present invention. As Figure 8 shown, the computer device includes: one or more processors 810, a memory 820, and an interface for connecting each component, including a high-speed interface and a low-speed interface. Each component communicates with each other using different buses and can be installed on a common main board or installed in other ways as needed. The processor can process instructions executed within the computer device, including instructions stored in the memory or on the memory to display graphical information of the GUI on an external input / output device (such as a display device coupled to the interface). In some optional embodiments, if necessary, multiple processors and / or multiple buses can be used together with multiple memories and multiple memories. Similarly, multiple computer devices can be connected, and each device provides some necessary operations (such as a server array, a set of blade servers, or a multi-processor system). Figure 8 Taking one processor 810 as an example in

[0117] The processor 810 can be a central processing unit, a network processor, or a combination thereof. Among them, the processor 810 can further include a hardware chip. The above hardware chip can be an application-specific integrated circuit, a programmable logic device, or a combination thereof. The above programmable logic device can be a complex programmable logic device, a field programmable gate array, a general array logic, or any combination thereof.

[0118] Among them, the memory 820 stores instructions executable by at least one processor 810, so that at least one processor 810 executes the method shown in the above embodiment.

[0119] The memory 820 may include a program storage area and a data storage area. The program storage area may store an operating system and application programs required for at least one function. The data storage area may store data created according to the use of the computer device presented by a kind of mini-program landing page, etc. In addition, the memory 820 may include a high-speed random access memory, and may also include a non-transitory memory, such as at least one magnetic disk storage device, a flash memory device, or other non-transitory solid-state storage devices. In some alternative embodiments, the memory 820 may optionally include a memory remotely disposed relative to the processor 810, and these remote memories may be connected to the computer device through a network. Examples of the above networks include but are not limited to the Internet, an enterprise intranet, a server cluster, a mobile communication network, and combinations thereof.

[0120] The memory 820 may include a volatile memory, for example, a random access memory; the memory may also include a non-volatile memory, for example, a flash memory, a hard disk, or a solid-state drive; the memory 820 may further include a combination of the above types of memories.

[0121] The computer device further includes a communication interface 830 for the computer device to communicate with other devices or a communication network.

[0122] An embodiment of the present invention further provides a computer-readable storage medium storing at least one executable instruction, and when the executable instruction runs on a computer device / software release device, the computer device / software release device is caused to execute the software release method in any of the above method embodiments.

[0123] An embodiment of the present invention further provides a computer program product including computer instructions for causing a computer to execute the software release method in the first aspect or any corresponding embodiment thereof.

[0124] The algorithms or displays provided herein are not inherently related to any particular computer, virtual system, or other device. In addition, embodiments of the present invention are not directed to any particular programming language.

[0125] In the specification provided herein, a large number of specific details are set forth. However, it can be understood that embodiments of the present invention may be practiced without these specific details. Similarly, in order to streamline the present invention and assist in understanding one or more of the various inventive aspects, in the above description of the exemplary embodiments of the present invention, the various features of the embodiments of the present invention are sometimes grouped together into a single embodiment, figure, or description thereof. Among them, the claims following the specific implementation mode are hereby expressly incorporated into the specific implementation mode, and each claim itself serves as a separate embodiment of the present invention.

[0126] Those skilled in the art can understand that the modules in the devices in the embodiments can be adaptively changed and arranged in one or more devices different from the embodiments. The modules or units or components in the embodiments can be combined into one module or unit or component, and in addition, they can be divided into multiple sub-modules or sub-units or sub-components. Except that at least some of such features and / or processes or units are mutually exclusive.

[0127] It should be noted that the above embodiments illustrate the present invention rather than limit the present invention, and those skilled in the art can design alternative embodiments without departing from the scope of the appended claims. In the claims, any reference signs placed between parentheses shall not be construed as limiting the claim. The word "comprising" does not exclude the presence of elements or steps not listed in the claim. The word "a" or "an" preceding an element does not exclude the presence of a plurality of such elements. The present invention can be implemented by means of hardware including several different elements and by means of a suitably programmed computer. In a unit claim enumerating several devices, several of these devices can be embodied by the same item of hardware. The use of the words first, second, and third, etc. does not denote any order. These words can be interpreted as names. The steps in the above embodiments, unless otherwise specified, should not be construed as limiting the order of execution.

Claims

1. A software release method, characterized in that, The method includes: Obtaining a code review set of the software to be released in the target environment, where the code review set stores multiple code segments to be reviewed written by each developer; Analyzing the code review set to generate a code review task sequence based on the review information of each code segment to be reviewed; Pushing the code review task sequence to the code review terminal corresponding to the software to be released, so that the code review terminal reviews the code segments to be reviewed based on the code review task sequence and generates a review result; Performing software release on the software to be released based on the review result and the code release request.

2. The method according to claim 1, wherein The performing software release on the software to be released based on the review result and the code release request includes: Obtaining the review results of each code segment to be reviewed; If the review results of all the code segments to be reviewed are passed, performing software release on the software to be released based on the code release request; If the review result of any one of the code segments to be reviewed is not passed, generating a feedback report including the information of the code segments to be reviewed that have not passed the review and feeding it back to the developer.

3. The method according to claim 1, characterized in that, The analyzing the code review set to generate a code review task sequence based on the review information of each code segment to be reviewed includes: Counting the historical review records of each code segment to be reviewed to obtain the historical review passing rate of each code segment to be reviewed; Based on the historical review passing rates of each code segment to be reviewed, performing priority sorting on each code segment to be reviewed, and the code segment to be reviewed with the lowest historical review passing rate has the highest priority; Generating the code review task sequence according to the order of the sorted code segments to be reviewed.

4. The method according to claim 3, characterized in that, The analyzing the code review set to generate a code review task sequence based on the review information of each code segment to be reviewed further includes: Performing statistical analysis on the review duration of each code segment to be reviewed to obtain the average review duration of each code segment to be reviewed; Based on the average review durations of each code segment to be reviewed, performing urgency sorting on each code segment to be reviewed, and the code segment to be reviewed with the shortest average review duration has the highest urgency; Based on the priority sorting and the urgency sorting, performing comprehensive sorting on the code segments to be reviewed; Generating the code review task sequence according to the order of the comprehensively sorted code segments to be reviewed.

5. The method according to claim 1, wherein The pushing the code review task sequence to the corresponding code review terminal of the software to be released includes: Obtaining the current working status of each code review terminal to determine whether each code review terminal is in an idle state; Marking the code review terminals in the idle state as target review terminals; Based on the order of the code review task sequence, sequentially allocating each code review task to the corresponding target review terminal.

6. The method according to claim 5, wherein The method further includes: Obtaining the review progress of each target review terminal, where the review progress includes review completed and review not completed; For the first target review terminal with the review progress of review not completed, obtaining the review required duration of each code segment to be reviewed that has not started to be reviewed; Based on the review required duration, select one or more review terminals that can receive code reviews from the second bid review terminals that have completed the review, so as to obtain assignable review terminals; Based on the assignable review time of the assignable review terminals and the review requirements, review each code segment to be reviewed that has not started the review.

7. The method according to claim 1, characterized in that, The method further includes: Record the push timestamp for pushing the code review task sequence to the code review terminal; Obtain the review result feedback timestamp of the code review terminal based on each code segment to be reviewed; If the time difference between the feedback timestamp and the push timestamp is greater than the target time threshold, generate a review delay reminder and send the review delay reminder to the corresponding code review terminal.

8. A software release device, characterized in that, The device includes: A data acquisition module, configured to acquire a code review set of the software to be released in the target environment, where the code review set stores multiple code segments to be reviewed written by each developer; A code analysis module, configured to analyze the code review set, and generate a code review task sequence based on the review information of each code segment to be reviewed; A task push module, configured to push the code review task sequence to the code review terminal corresponding to the software to be released, so that the code review terminal reviews the code segments to be reviewed based on the code review task sequence and generates a review result; A software release module, configured to perform software release on the software to be released based on the review result and the code release request.

9. A computer device, characterized in that, Including: A processor, a memory, a communication interface, and a communication bus, where the processor, the memory, and the communication interface complete mutual communication through the communication bus; The memory is used to store at least one executable instruction, and the executable instruction causes the processor to execute the operations of the software release method according to any one of claims 1-7.

10. A computer-readable storage medium, characterized in that, At least one executable instruction is stored in the storage medium, and when the executable instruction runs on a computer device, the computer device is caused to execute the operations of the software release method according to any one of claims 1-7.