Application engineering development management method, device and equipment and computer readable medium

By obtaining and executing the stage tasks in the target pipeline framework and calculating and storing the differences in application engineering product files, the problems of complex pipeline framework management and low resource utilization in the existing technology are solved, and efficient application engineering development management is achieved.

CN119883348APending Publication Date: 2025-04-25TENCENT TECHNOLOGY (SHENZHEN) CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202311376967.5
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2023-10-23
Publication Date
2025-04-25

AI Technical Summary

Technical Problem

The existing pipeline framework is complex in management and occupies a large amount of storage space, resulting in low resource utilization and difficulty in efficiently managing the development of application projects.

Method used

By obtaining the target pipeline framework that matches the specified application project, the script file of each stage task is called to execute the task in parallel, the product file difference between the current version and the previous version is calculated, and only the difference file is stored to reduce storage usage.

Benefits of technology

It improves resource utilization during application engineering development, simplifies pipeline framework management, reduces storage space usage, and achieves more efficient development management.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119883348A_ABST
    Figure CN119883348A_ABST
Patent Text Reader

Abstract

The embodiment of the invention discloses an application engineering development management method and device, equipment and a computer readable medium. The method comprises the following steps: if a development request of an object for a specified application project is received, obtaining a target assembly line framework matched with the specified application project from a plurality of application project assembly line frameworks; wherein the target assembly line framework comprises a plurality of stage tasks; calling a script file of each stage task to execute each stage task to obtain a product file of a current version corresponding to the specified application project; performing differentiation comparison on the product file of the current version and the product file of the previous version of the specified application project to obtain a difference file; and storing the difference file, and deleting the product file of the current version after the product file of the current version is released. Through the method, the resource utilization rate during application engineering development can be improved, and better development management for the application engineering is realized.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of computer technology, and in particular to a development management method, apparatus, device, and computer-readable medium for application engineering. Background Art

[0002] In the world of software development and continuous integration / continuous delivery (CI / CD), a "pipeline" typically refers to an automated workflow for pushing an application or software from the development stage to a production environment.

[0003] Currently, pipeline frameworks allow you to run specific scripts to build artifacts for different application projects. However, the wide variety of pipeline frameworks available today complicates management and consumes significant storage space. Furthermore, as artifact files evolve, the large number of artifacts also consumes significant storage space, placing significant storage pressure on pipeline management and leading to low resource utilization during application development.

[0004] Therefore, how to improve resource utilization during application engineering development in order to better manage application engineering development is an urgent problem to be solved. Summary of the Invention

[0005] To solve the above technical problems, the embodiments of the present application provide a development management method, apparatus, device and computer-readable storage medium for an application project, which can improve resource utilization during application project development.

[0006] Among them, the technical solutions adopted in this application are:

[0007] A development management method for application engineering, comprising:

[0008] If a development request for a specified application project is received, a target pipeline framework matching the specified application project is obtained from a plurality of application project pipeline frameworks; wherein the target pipeline framework includes a plurality of stage tasks;

[0009] Calling the script file of each stage task to execute each stage task and obtain the product file of the current version corresponding to the specified application project;

[0010] Performing a differential comparison between the product file of the current version and the product file of the previous version of the specified application project to obtain a differential file;

[0011] The difference file is stored, and the product file of the current version is deleted after the product file of the current version is released.

[0012] A development and management device for application engineering, comprising:

[0013] an acquisition unit, configured to, upon receiving a development request for a specified application project, acquire a target pipeline framework matching the specified application project from a plurality of application project pipeline frameworks; wherein the target pipeline framework includes a plurality of stage tasks;

[0014] A processing unit, configured to call a script file of each stage task to execute each stage task and obtain a product file of the current version corresponding to the specified application project;

[0015] The processing unit is further configured to perform a differential comparison between the product file of the current version and the product file of the previous version of the specified application project to obtain a differential file;

[0016] The storage unit is used to store the difference file and delete the product file of the current version after the product file of the current version is released.

[0017] In one embodiment of the present application, based on the aforementioned scheme, the acquisition unit is further used to obtain the script file of each stage task from the script file library; obtain the grouping information of the multiple stage tasks; wherein the grouping information is used to characterize the grouping of the multiple stage tasks; the processing unit is also used to call the obtained script file of each stage task based on the grouping information of the multiple stage tasks, so as to execute different groups of stage tasks in parallel to obtain the product file of the current version.

[0018] In one embodiment of the present application, based on the aforementioned scheme, the different groups include multiple stage task groups; the detection unit is used to serially execute the multiple stage tasks contained in the target stage task group if it is detected that there is a target stage task group containing multiple stage tasks among the multiple stage task groups.

[0019] In one embodiment of the present application, based on the aforementioned scheme, the development request is generated by the object through a designated device and sent to a management terminal deployed in the cloud, and the method is executed by the management terminal; the development request includes identification information corresponding to the designated device and address information corresponding to the script file library of the designated application project; the detection unit is further used to obtain the script file of each stage task from the script file library corresponding to the address information if it is detected that the object has script acquisition permission.

[0020] In one embodiment of the present application, based on the aforementioned scheme, the acquisition unit is further used to obtain the framework configuration information corresponding to the type of the specified application project if the target pipeline framework matching the specified application project is not obtained from multiple application project pipeline frameworks; the processing unit is further used to obtain the multiple stage tasks based on the framework configuration information, and construct the multiple stage tasks to obtain the target pipeline framework; and update the constructed target pipeline framework to the storage area, in which the multiple application project pipeline frameworks are stored.

[0021] In one embodiment of the present application, based on the aforementioned scheme, the processing unit is further used to group the multiple stage tasks based on the grouping information of the multiple stage tasks contained in the framework configuration information to obtain multiple different groups of stage tasks; and combine the multiple different groups of stage tasks to obtain the target pipeline framework.

[0022] In one embodiment of the present application, based on the aforementioned scheme, the processing unit is further used to calculate the product file of the previous version based on the product file of the first-generation version that matches the specified application project; perform sequence comparison on the product file of the current version and the product file of the previous version, and calculate the common sequence between the product file of the current version and the product file of the previous version; and calculate the difference file between the product file of the current version and the product file of the previous version based on the common sequence.

[0023] In one embodiment of the present application, based on the aforementioned scheme, the acquisition unit is further used to obtain the product file of the first-generation version and the stored difference file; the processing unit is further used to reconstruct the product file of the first-generation version and the stored difference file to obtain the product file of the previous version.

[0024] In one embodiment of the present application, based on the aforementioned scheme, after obtaining the target pipeline framework matching the specified application project from multiple application project pipeline frameworks, the processing unit is further used to obtain the priority information of the specified application project contained in the development request if the application project queue corresponding to the target pipeline framework contains identification information of at least one application project to be developed; based on the priority information, perform a priority comparison between the specified application project and the at least one application project to be developed to obtain a priority comparison result; based on the priority comparison result, arrange the identification information of the specified application project and the identification information of the at least one application project to be developed in the application project queue; wherein, the closer the application project to be developed is arranged to the head of the queue, the higher its development priority.

[0025] In one embodiment of the present application, based on the aforementioned scheme, before storing the difference file of the current version and deleting the obtained product file after the product file of the current version is released, the acquisition unit is also used to obtain a description file of the product file of the current version, and the description file contains the signature information, version information and certificate information corresponding to the product file of the current version; the processing unit is also used to send the description file and the product file of the current version to the tester, so that the tester tests and releases the product file of the current version based on the description file.

[0026] A device for development and management of an application project includes a processor and a memory. The memory stores computer-readable instructions. When the computer-readable instructions are executed by the processor, the device implements the above-mentioned method for development and management of an application project.

[0027] A computer-readable storage medium stores computer-readable instructions, which, when executed by a processor of a computer, enable the computer to execute the above-mentioned application engineering development management method.

[0028] A computer program product includes computer-readable instructions, which implement the above-mentioned application engineering development management method when executed by a processor.

[0029] In the above technical solution:

[0030] First, the target pipeline framework that matches the specified application project is obtained. This means that multiple application projects can share a pipeline framework. This eliminates the need to create a separate pipeline framework for each application project. This not only reduces the storage space wasted by creating separate pipeline frameworks, but also improves the utilization of pipeline frameworks.

[0031] Second, multiple stage tasks can be grouped so that stage tasks in different groups can be executed in parallel, avoiding the low execution efficiency caused by serial execution in related technologies and improving memory utilization;

[0032] Third, the difference file between the current version of the product file and the previous version of the product file can be calculated, and after the current version of the product file is released, the current version of the product file will be deleted and the difference file will be retained, which reduces the storage space occupied and improves the utilization of the storage space.

[0033] Therefore, based on the above three analysis points, this application can improve resource utilization during application engineering development and achieve better development and management of application engineering.

[0034] It should be understood that the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the present application. BRIEF DESCRIPTION OF THE DRAWINGS

[0035] The accompanying drawings are incorporated into and constitute a part of the specification, illustrating embodiments consistent with the present application and, together with the specification, serving to explain the principles of the present application. It is obvious that the drawings described below are merely some embodiments of the present application, and a person of ordinary skill in the art can derive other drawings based on these drawings without inventive effort. In the drawings:

[0036] Figure 1a It is a schematic diagram of the arrangement of stage tasks in the related art;

[0037] Figure 1b This is a schematic diagram of the arrangement of the stage tasks in this application;

[0038] Figure 2 It is a schematic diagram of an implementation environment involved in this application;

[0039] Figure 3 This is an exemplary interface for certificate management;

[0040] Figure 4 is a flow chart showing a method for development and management of an application project according to an exemplary embodiment;

[0041] Figure 5 is a flowchart of a development management method for an application project according to another exemplary embodiment;

[0042] Figure 6 is a flowchart of a development management method for an application project according to another exemplary embodiment;

[0043] Figure 7 is a flowchart of a development management method for an application project according to another exemplary embodiment;

[0044] Figure 8 is a flowchart of a development management method for an application project according to another exemplary embodiment;

[0045] Figure 9 is a flowchart of a development management method for an application project according to another exemplary embodiment;

[0046] Figure 10 is a block diagram of a device for development and management of an application project according to an exemplary embodiment;

[0047] Figure 11 The figure is a hardware structure diagram of a development and management device for an application project according to an exemplary embodiment. DETAILED DESCRIPTION

[0048] Exemplary embodiments will be described in detail herein, with examples illustrated in the accompanying drawings. When the following description refers to the drawings, identical numerals in different figures represent identical or similar elements, unless otherwise indicated. The embodiments described in the following exemplary embodiments are not intended to represent all embodiments applicable to the present application. Rather, they are merely examples of apparatus and methods applicable to certain aspects of the present application, as detailed in the appended claims.

[0049] The block diagrams shown in the accompanying drawings are merely functional entities and do not necessarily correspond to physically separate entities. That is, these functional entities may be implemented in software, in one or more hardware modules or integrated circuits, or in different networks and / or processor devices and / or microcontroller devices.

[0050] The flowcharts shown in the accompanying drawings are for illustrative purposes only and do not necessarily include all contents and operations / steps, nor must they be executed in the order described. For example, some operations / steps may be decomposed, while others may be integrated or partially integrated. Therefore, the actual execution order may vary depending on the actual situation.

[0051] It should be noted that the term "plurality" used in this application refers to two or more. "And / or" describes the relationship between associated objects, indicating that three possible relationships exist. For example, "A and / or B" can represent: A alone, A and B together, or B alone. The character " / " generally indicates that the associated objects are in an "or" relationship.

[0052] It should be noted that in the specific implementation of this application, when user-related data is involved, when the embodiments of this application are applied to specific products or technologies, user permission or consent is required, and the collection, use, and processing of relevant data must comply with the relevant laws, regulations, and standards of the relevant countries and regions. At the same time, the formulas involved in the embodiments of this application can be flexibly adjusted, such as adding or reducing corresponding parameters.

[0053] Before introducing the technical solutions of the embodiments of the present application, the technical terms involved in the embodiments of the present application are first introduced here.

[0054] Continuous Integration / Continuous Delivery (CI / CD) is a software development practice designed to improve the productivity of development teams and the quality of delivered software. Here's a definition of CI / CD:

[0055] Continuous Integration (CI) is a development practice where developers frequently merge their code into a shared version control repository (usually Git). These merges trigger automated build and testing processes to ensure code quality. The goal of CI is to detect and resolve integration issues early to avoid large-scale errors later in the development cycle.

[0056] Continuous Delivery (CD) expands upon the CI concept to include automated deployment and delivery processes. The goal of CD is to make the software delivery process reliable and repeatable so that new software versions are always ready to be pushed to production. This includes automated builds, automated testing, automated deployment, and monitoring.

[0057] Continuous Deployment is a more rigorous form of CD, where each code merge that passes CI is automatically deployed to the production environment. This requires a high degree of automation and trust, and is commonly used in internet companies or cloud-native applications.

[0058] Cloud computing refers to the delivery and usage model of IT infrastructure, enabling on-demand, scalable access to resources over the internet. Broadly speaking, cloud computing refers to the delivery and usage model of services, enabling on-demand, scalable access to services over the internet. These services can be IT-related, software-related, internet-related, or other services. Cloud computing is the product of the convergence of traditional computer and network technologies, including grid computing, distributed computing, parallel computing, utility computing, network storage technologies, virtualization, and load balancing. Driven by the growth of the internet, real-time data streams, and the diversification of connected devices, as well as the demand for search services, social networking, mobile commerce, and open collaboration, cloud computing has rapidly developed. Unlike previous parallel and distributed computing approaches, the emergence of cloud computing will fundamentally revolutionize the entire internet model and enterprise management model.

[0059] Cloud computing can include at least public cloud and private cloud. Among them:

[0060] A public cloud refers to a cloud computing platform provided and managed by a cloud service provider. This cloud computing platform is typically deployed in the provider's data center and is managed and maintained by the provider. Enterprises or organizations can rent cloud computing resources and services such as virtual machines, storage, databases, and applications through the public cloud. The advantages of public clouds include elastic computing, low cost, high availability, and easy scalability.

[0061] A private cloud refers to a cloud computing platform built and managed by an enterprise or organization. This type of cloud computing platform is typically deployed in the enterprise's own data center or hosted by a dedicated service provider. The enterprise or organization can freely choose the hardware and software configuration based on their needs and have full control and management. This cloud computing platform provides a variety of cloud computing services, including virtualization, storage, networking, and security.

[0062] Pipeline framework refers to an automated workflow for performing a series of tasks or operations, and is commonly used in fields such as software development, deployment, and continuous integration / continuous delivery (CI / CD). In software development, a pipeline is typically composed of multiple stages or steps, with each stage responsible for different tasks, such as compiling, testing, building, deploying, and the like. These tasks are automatically executed in sequence to generate a final software product or complete a specific operation. In the implementation example of the present application, the pipeline is also referred to as a pipeline framework, which includes multiple stage tasks. Each stage task can be associated with a script file, and when the script file of each stage task is executed, the corresponding stage task will be started. The design of this pipeline framework allows a series of tasks to be executed in sequence to complete a specific workflow.

[0063] In the embodiments of the present application, the pipeline framework can be divided into different types based on the platform and the type of the generated product file. For example, the pipeline framework for generating APK files on the Android platform can be classified as Type 1, the pipeline framework for generating DLL files on the Android platform can be classified as Type 2, and the pipeline framework for generating IPA files on the iOS platform can be classified as Type 3, etc. Those skilled in the art can reasonably classify the pipeline framework according to actual needs, and the embodiments of the present application do not limit this.

[0064] A longest common subsequence (LCS) is a sequence of elements found in two or more sequences that appear in the same relative order in all given sequences. This means that the LCS doesn't require the elements to be adjacent in the original sequences, as long as they appear in the same order. For example, if sequence 1 is ABCAABBCD and sequence 2 is ACAABCACD, then the LCS of sequence 1 and sequence 2 is ACAABCD.

[0065] In related technologies, multiple stage tasks of a pipeline framework are arranged serially from small to large according to the sequence number of the stage tasks, such as Figure 1a As shown, for example, a pipeline framework has 10 stage tasks, then stage tasks 1, stage tasks 2, stage tasks 3 to stage tasks 10 can be connected in sequence, and the output of stage task i is the input of stage task i+1.

[0066] In the embodiment of the present application, multiple stage tasks in a pipeline framework can be arranged in parallel or in series. Figure 1b As shown, for example, if a pipeline framework has 10 stage tasks, then stage tasks 1-3 can be grouped as a group (group 1), stage tasks 4-7 as a group (group 2), and stage tasks 8-10 as a group (group 3). In addition, stage tasks 1-3 are connected in series; in stage tasks 4-7, stage tasks 4 and 5 are connected in parallel, stage tasks 6-7 are connected in series; and stage tasks 8-10 are connected in series. It should be noted that those skilled in the art can adjust the grouping and connection of each stage task according to the actual needs of the pipeline framework, and the embodiments of the present application do not limit this.

[0067] In an embodiment of the present application, in the pipeline framework, a stage task may output one or more intermediate product files, or may not output an intermediate product file. Finally, the management end can combine the intermediate product files output by multiple stage products to obtain a final product file. In an embodiment of the present application, a stage task can output at least one of an intermediate product file and a temporary file. Among them, the intermediate product file needs to be retained for use in synthesizing the final product file. The temporary file may need to be retained for the final synthesized product file, or it may be deleted after being passed to the next stage task.

[0068] The term product file in the embodiment of the present application is used to represent the final product file, which can be an application (such as an apk file) or a library file (such as a dll file), etc.

[0069] In related technologies, pipeline frameworks can run specific script files to build product files for different application projects. However, there are currently many different types of pipeline frameworks, making management complex and requiring a lot of storage space. Furthermore, as product files are updated, the large number of product files also takes up a lot of storage space, resulting in high storage pressure on the pipeline management side and low resource utilization.

[0070] Based on this, the embodiments of the present application respectively propose a development management method for an application project, a development management apparatus for an application project, a development management device for an application project, a computer-readable storage medium, and a computer program product. In these embodiments, after receiving a development request for a specified application project, the management end can obtain a target pipeline framework that matches it and construct a product file for it. Among them, a pipeline framework can be shared with application projects of the same type. In this way, the scalability of the pipeline framework can be improved, the utilization rate of the pipeline framework can be improved, the number of pipeline frameworks can be reduced, and management can be simplified. In addition, the management end can also generate a difference file of the product file relative to the previous step, and only store the difference file, which reduces the storage space occupied and improves the utilization rate of the storage space.

[0071] See also Figure 2 , Figure 2 It is a schematic diagram of an implementation environment involved in this application.

[0072] Figure 2 The illustrated implementation environment includes an operation terminal 210, a management terminal 220, a storage service 230, a tester 240, and a source code repository 250. The management terminal 220, storage service 230, tester 240, and source code repository 250 may be deployed on a cloud computing service 260, which may be any of a public cloud, a private cloud, and a hybrid cloud.

[0073] The following describes the operation terminal 210, management terminal 220, storage service 230, tester 240, and source code library 250 in turn:

[0074] The operation terminal 210 includes the operation terminal 211 to the operation terminal 213, each of which can be a terminal device and can be operated by its corresponding object. Among them, the object here can refer to the operator, for example, developers, testers, operations personnel and product personnel can all be called operators, and they can all access the management terminal 210 by controlling the operation terminal to operate the relevant equipment, processes and modules in the management terminal 210. It should be noted that different objects may have different operating permissions. For example, developers have development permissions and script file acquisition permissions; while testers do not have script file acquisition permissions, but have product file testing permissions. Similarly, those skilled in the art can set different permissions for different objects according to actual needs, and there is no limitation from now on. In Figure 2 In the example, object 1 can use the operation terminal 211, object 2 can use the operation terminal 212, object 3 can use the operation terminal 213, etc. The object types of objects 1-object 3 can be different. For example, object 1 is a developer, object 2 is a tester, etc. They can all access the management terminal 220 through the corresponding operation terminal.

[0075] In the operation terminal 210, the object can enter specific information to access the management terminal 220. This information may include at least: branch information, commit number, environment information, certificate information, build number, version information, key, etc. Optionally, this information can also be automatically entered by the script in the operation terminal of the object. After the object enters this information in the operation terminal 210, it can package and generate a specific request and send it to the management terminal 220. Among them, if it is a request sent by a developer, then the request can be a development request for a specified application project. If it is a request sent by a tester, then the request can be a test request for a specified application project, and so on. The device identification of the operation terminal 210 can be included in the request (OpenID can be used as the device identification). Since this application mainly focuses on developing application projects through a pipeline framework, the embodiments of this application are mainly described in terms of the embodiment in which developers send development requests.

[0076] It should be noted that, in the operation terminal 210, the object can input specific information through the interface displayed by the operation terminal 210, and the interface can be displayed in the form of a web page, such as Figure 2 As shown in the figure, this interface provides relevant content for pipeline build management, such as certificate management, build management, testing, product experience, account management, release management, and other options. After logging in to this interface, different objects can use different management functions by clicking different options.

[0077] exist Figure 3In the example, an interface corresponding to certificate management is shown. In the certificate management interface, a table of certificates under different operating systems is displayed. The table contains columns such as publishing environment, certificate category, certificate name, Bundle ID, expiration time, creator, certificate file, password, and operation. The object can fill in the corresponding information in different columns to complete the relevant information of different certificates. Among them, the certificate category refers to the certificate type corresponding to the certificate in the row. In the embodiment of the present application, the certificate type can include at least a signature certificate, a VoIP certificate, an AdHoc description file, etc.

[0078] Similarly, other options (such as build management, testing, product experience, etc.) also have corresponding operation interfaces, which will not be described here.

[0079] The management terminal 220 involves cross-platform functions and can use Vue.js to build a management terminal architecture. Among them, the architecture can include Application Programming Interface (API) configuration, which can encapsulate plug-ins such as axios, jsonp, and util, so that the management terminal 220 can also include a request interceptor 221, a return interceptor 223, parameter splicing, and a request sending module.

[0080] In an embodiment of the present application, the development request sent by the operation terminal 210 may include at least OpenID, object name, permission information, interface configuration address, encryption key, identification information (ID) of the specified application project, and a project set corresponding to the pipeline framework.

[0081] The management end 220 consists of multiple main modules, including a request interceptor 221, a scheduler 222, a return interceptor 223, an exception capture module 224, a target pipeline framework 226, and a storage service 230. These modules work together to ensure efficient execution and management of pipeline construction tasks.

[0082] The request interceptor 221 is used to receive requests from the operation side. It is the interface between the management side and the operation side. The request interceptor can verify the legitimacy of the request sent by the object, check the authority and access control, and then pass the request to the subsequent processing module.

[0083] The scheduler 222 is the core component of the management end, responsible for coordinating the execution of pipeline build tasks. Based on the development request for a specific application project, it retrieves a target pipeline framework that matches the specified application project. Based on the script file repository address (which can be a Git address) in the development request, it retrieves the script files that match each stage task (i.e., stage) in the target pipeline framework, ensuring that each stage task has a corresponding script file. The scheduler also manages the parallel execution of tasks to improve pipeline build efficiency.

[0084] The return interceptor 223, also known as the response interceptor, is used to process the results and responses of the task execution. It can include the execution results (intermediate products, product files). The return interceptor can also record the execution log and results for subsequent review and analysis.

[0085] The exception capture module 224 is used to capture and handle exceptions that may occur during pipeline build tasks. These include task execution failures, script errors, insufficient resources, and other exceptions. The exception capture module can generate exception logs and take appropriate action based on the situation, such as retrying the task or notifying relevant personnel. The exception capture module 224 can also send the output logs to the log analysis module 225 for subsequent log analysis and processing.

[0086] The target pipeline framework 226 is the core build component of the management side. It includes multiple phased tasks, each corresponding to a different script file. The pipeline framework defines the structure and task sequence of the build pipeline. The management side selects the appropriate pipeline framework to execute the build task based on the development request.

[0087] After the target pipeline framework 226 constructs the designated application project, a product file can be generated. The product file can be saved in the storage service 230. If the target pipeline framework 226 constructs the designated application project for the first time, a product file 231 can be generated. If it is the second time or later that the designated application project is constructed, the product file of the current version can be obtained, and the product file of the current version needs to be differentially compared with the product file of the previous version to obtain a difference file. In this way, the difference file of the current version can be obtained. After the product file of the current version is tested and released by the test party 240, the difference file of the current version can be stored and the product file of the current version can be deleted. It should be noted that the storage service 230 can retain the product file of the first generation version and the difference files of subsequent versions. The difference file can also be called a patch package file.

[0088] For example, assuming that the current target pipeline framework 226 is building the specified target application project for the third time, a third version of the product file can be obtained, and the storage service 230 also stores the first version of the product file and the second version of the specified target application project. The management end 220 can then reconstruct the second version of the product file based on the first version of the product file and the second version of the difference file, perform a differential comparison between the second version of the product file and the third version of the product file to obtain the third version of the difference file, and after the third version of the product file is tested and released, store the third version of the difference file and delete the third version of the product file. This can save storage space of the storage service 230, reduce storage space waste, and improve storage space utilization.

[0089] It should be noted that the device corresponding to the operating end in the embodiment of the present application can be a terminal device, which can be a mobile phone, tablet computer, laptop computer, PDA, mobile Internet device (MID, mobile internet device), vehicle-mounted equipment, aircraft, wearable device (such as smart watches, smart bracelets, pedometers, etc.), virtual reality device (such as VR (Virtual Reality) device, AR (Augmented Reality) device), etc.

[0090] In the embodiment of the present application, the management end can be a server, which can be an independent physical server, or a server cluster or distributed system composed of multiple physical servers. It can also be a cloud server that provides basic cloud computing services such as cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communications, middleware services, domain name services, security services, content delivery networks (CDNs), and big data and artificial intelligence platforms.

[0091] See also Figure 4 , Figure 4 This is a flow chart of a development management method for an application project according to an exemplary embodiment. Figure 2 Of course, this method can also be applied to other implementation environments, and the execution subject of this method is not limited here.

[0092] The following will use the management end as an example execution subject to elaborate on the development and management method of the application project. Figure 4 As shown, in an exemplary embodiment, the method includes at least the following steps:

[0093] S410 , if a development request for a designated application project is received, a target pipeline framework matching the designated application project is obtained from a plurality of application project pipeline frameworks; wherein the target pipeline framework includes a plurality of stage tasks.

[0094] The object can be a developer who can access the webpage connected to the management end through the operation end, fill in the development request in the webpage, and then send the development request to the management end. After the management end receives the development request, it can read the application project identifier, script file library address (which can be a git address), and target pipeline framework identifier contained therein. Among them, the application project identifier is the identifier of the specified application project, which can indicate which application project currently needs to be pipeline-built and developed; the identifier of the target pipeline framework can indicate which pipeline framework needs to be used when pipeline-building and developing the specified application project; the script file library address can indicate which script file library (also called a git library) is the source of the script files needed for multiple stage tasks in the target pipeline framework.

[0095] Next, the management end can use the request interceptor to intercept, analyze and modify the request parameters that trigger the pipeline based on the received development request, and then obtain the target pipeline framework that matches the specified application project from multiple application project pipeline frameworks.

[0096] Optionally, if a target pipeline framework that matches the specified application project is not obtained from multiple application project pipeline frameworks, the target pipeline framework can be constructed. Specifically, the management end can obtain the framework configuration information corresponding to the type of the specified application project, obtain multiple stage tasks based on the framework configuration information, and construct the multiple stage tasks to obtain the target pipeline framework. Finally, the constructed target pipeline framework can be updated to the storage area, which stores multiple application project pipeline frameworks. The framework configuration information can be included in the development request, that is, set by the object.

[0097] In one embodiment of the present application, if the application project queue corresponding to the target pipeline framework contains identification information of at least one application project to be developed, the priority information of the specified application project contained in the development request is obtained; based on the priority information, the specified application project is compared with the at least one application project to be developed to obtain a priority comparison result; based on the priority comparison result, the identification information of the specified application project and the identification information of at least one application project to be developed are arranged in the application project queue; wherein, the closer the application project to be developed is arranged to the head of the queue, the higher its development priority.

[0098] Optionally, if the development request does not include priority information of the designated application project, the identification information of the designated application project and the identification information of the at least one application project to be developed may be arranged according to a first-in-first-out logic.

[0099] Optionally, if the object subsequently inputs priority information for a specific application project, the management end can detect this priority information and subsequently rearrange the execution order of the various application projects in the application project queue. Specifically, the management end can include a timer that instructs the management end to check every certain period of time to see if it has received priority information for a particular application project. If so, the execution order of the various application projects in the application project queue is rearranged, placing the identification information of the highest-priority application project at the front of the application project queue. This allows higher-priority application projects to be constructed in a timely manner.

[0100] In the embodiment of the present application, the process of arranging the execution order of each application project in the application project queue may also be referred to as rewriting the scheduling policy in the application project queue.

[0101] Optionally, if the priority information of a specified application project meets special conditions, for example, the priority information represents urgent information that needs to be processed immediately, then the management end can suspend the execution of the application project currently being built, schedule the specified application project to the front of the application project queue, and start execution.

[0102] In one embodiment of the present application, data that may change during the operation of the pipeline framework can be configured in the pipeline framework as parameters, such as the git address, branch, keystore certificate, certificate download address and application project identifier of the application project.

[0103] S420 , calling the script file of each stage task to execute each stage task and obtain the product file of the current version corresponding to the specified application project.

[0104] In one embodiment of the present application, before calling the script file of each stage task to execute each stage task, the management end may execute the preconditions. Specifically, the management end may run a shell script that is used to execute the following three steps:

[0105] 1. Create a description file, which is used to re-sign the generated product files (such as .ipa, apk files) (re-signing is to modify the installation package into an enterprise-level application so that testers, developers and product personnel can download it).

[0106] 2. According to the preset algorithm rules, the version number or build number of the executed product file is increased and modified. For example, the product file released to the store uses the major version 1.x, the test version uses 1.xy, and the development version uses 1.xyz.

[0107] 3. Use the curl command to download the certificate and transfer the certificate file to the storage address of the packager.

[0108] After executing the preconditions, the management end can obtain the script file of each stage task from the script file library, wherein the script file library can be determined based on the script file library address (i.e., git address) in the development request. Furthermore, the management end can obtain the grouping information of multiple stage tasks; wherein the grouping information is used to characterize the grouping of multiple stage tasks. The grouping information can be the grouping information corresponding to the target pipeline framework. That is, a pipeline framework that has been stored in the storage area corresponds to a grouping information. In this way, based on the grouping information of multiple stage tasks, the script file of each stage task obtained can be called to execute different groups of stage tasks in parallel to obtain the current version of the product file.

[0109] When calling the script files for each stage task to execute different groups of stage tasks in parallel, the management end needs to obtain the application project's path, name, compilation and linking methods, supported architectures, and output path, ultimately generating the current version of the product file. Multiple stage tasks can generate multiple intermediate product files and temporary files, which are then combined by the archiving component module to generate the current version of the product file.

[0110] In one embodiment of the present application, when the management end executes multiple stage tasks, the anomaly detection module can perform anomaly detection on each stage task in turn to detect whether there are any anomalies in the input and output of each stage task. If an anomaly occurs, it is necessary to generate an anomaly log corresponding to the stage task and send it to the log analysis module for analysis.

[0111] In one embodiment of the present application, when a management terminal executes multiple stage tasks, stage tasks in different groups run in parallel, while stage tasks within the same group can run serially. Within the same group, the output information of one stage task can be the input of the next stage task, and the output information can be at least one of a temporary file and an intermediate product file. After the temporary file output by a stage task is transferred to the next adjacent stage task, the temporary file of the stage task can be deleted, thereby saving storage space.

[0112] S430 , performing a differential comparison between the product file of the current version and the product file of the previous version of the specified application project to obtain a differential file.

[0113] Specifically, the management end can calculate the product file of the previous version based on the product file of the first generation version that matches the specified application project, and then perform sequence comparison on the product file of the current version and the product file of the previous version, calculate the common sequence between the product file of the current version and the product file of the previous version, and finally calculate the difference file between the product file of the current version and the product file of the previous version based on the common sequence.

[0114] When performing sequence comparison, the management terminal may calculate the longest common subsequence between the current version of the product file and the previous version of the product file, and use the longest common subsequence as the common sequence.

[0115] S440: Store the difference file and delete the current version of the product file after the current version of the product file is released.

[0116] Specifically, the management end can obtain a description file for the current version of the product file, where the description file contains the signature information, version information, and certificate information corresponding to the current version of the product file. The management end can then send the description file and the current version of the product file to the tester, so that the tester can test and release the current version of the product file based on the description file. After the release is complete, the management end can store the difference file and delete the current version of the product file to save storage space.

[0117] The tester can execute the test process, which is: call the API to generate a QR code with the connection of the current version of the product file, upload it to the app store, and the management end can view the upload progress.

[0118] This method allows multiple application projects to share a pipeline framework, which means there is no need to create a separate pipeline framework for each application project. This not only reduces storage space waste but also improves the resource utilization of the pipeline framework.

[0119] Secondly, the management side can reasonably group multiple stage tasks and allow different groups of stage tasks to be executed in parallel. This helps avoid the inefficiency caused by serial execution and improves the effective use of memory.

[0120] Finally, the management side can also calculate the difference between the current version of the product file and the previous version. After the current version of the product file is released, the current version of the product file can be safely deleted, and only the difference file is retained. This reduces storage space usage and improves storage resource utilization.

[0121] Therefore, in summary, through the analysis of the above three aspects, this method can significantly improve the resource utilization during application engineering development and achieve better development management for application engineering.

[0122] In one embodiment of the present application, another application engineering development management method is provided, which can be executed by a management terminal. Figure 5 As shown, the development management method of the application project may include S510 to S530 and S420 to S440. Among them, S510 to S530 are Figure 4 Another implementation method of S410 is shown in parallel.

[0123] S510 to S530 are described below:

[0124] S510 , if a development request for a specified application project is received and a target pipeline framework matching the specified application project is not obtained from multiple application project pipeline frameworks, framework configuration information corresponding to the type of the specified application project is obtained.

[0125] In this case, the target pipeline framework that matches the specified application project does not currently exist on the management side, and the target pipeline framework needs to be built. Therefore, the framework configuration information corresponding to the specified application project type can be obtained. This framework configuration information can be included in the development request.

[0126] S520 , acquiring multiple stage tasks based on the framework configuration information, and constructing the multiple stage tasks to obtain a target pipeline framework.

[0127] Specifically, S520 may include S521 to S522.

[0128] S521 to S522 are described below:

[0129] S521 , grouping the multiple stage tasks based on the grouping information of the multiple stage tasks contained in the framework configuration information to obtain multiple different groups of stage tasks.

[0130] The grouping information may specify the grouping of the multiple stage tasks and the connection method of the stage tasks within each group. Based on the grouping information, the management end may group the multiple stage tasks and connect the stage tasks within each group in series or parallel according to the specified method, thereby obtaining multiple different groups of stage tasks.

[0131] S522: Combine the stage tasks of multiple different groups to obtain a target pipeline framework.

[0132] The management end can number each group in sequence according to the size of the serial number of the first stage task of each group, and obtain the arrangement of group 1, group 2, group 3, etc., to obtain the target pipeline framework.

[0133] S530: Update the constructed target pipeline framework to a storage area, where multiple application engineering pipeline frameworks are stored.

[0134] This target pipeline framework can be used to develop a specific application project. After the management end stores it in the storage area, it can be used to develop the specific application project. In addition, if an application project of the same type as the specific application project appears next time, the target pipeline framework can also be used.

[0135] Through this method, the management end can generate the target pipeline framework based on the information input by the object without obtaining the target pipeline framework, so that the development of the specified application project can be carried out in a timely manner without being interrupted due to the failure to obtain the corresponding pipeline framework.

[0136] In one embodiment of the present application, another application engineering development management method is provided, which can be executed by a management terminal. Figure 6 As shown, the development management method of the application project may include S410, S610 to S630 and S430 to S440. That is, S610 to S630 are Figure 4 The specific implementation method of S420 is shown.

[0137] S610 to S630 are described below:

[0138] S610: Obtain the script file for each stage task from the script file library.

[0139] It should be noted that each pipeline framework in the storage area has a corresponding script file library, which can store multiple script files and can match multiple stage tasks in the corresponding pipeline framework.

[0140] In one embodiment of the present application, if the target pipeline framework of the specified application project is newly constructed, the development request must also include multiple script files that match the target pipeline framework. When the target pipeline framework is constructed, the management end must store these multiple script files in a script file library and return the address of the script file library to the operation end. If the development request does not include multiple script files that match the target pipeline framework, the management end can return a prompt message to the operation end to indicate that an abnormality has occurred in the development of the specified application project (i.e., a missing script file).

[0141] In one embodiment of the present application, a development request is generated by an object through a designated device (i.e., an operating terminal) and sent to a management terminal deployed in the cloud, and the method is executed by the management terminal. The development request contains identification information corresponding to the designated device, address information corresponding to the script file library of the designated application project, and identification information of the designated device (which can be an OpenID). The management terminal can determine whether the object has script acquisition permission based on the OpenID in the development request. If so, the script file for each stage task can be obtained from the script file library corresponding to the address information.

[0142] S620: Acquire grouping information of multiple stage tasks; wherein the grouping information is used to represent the grouping status of the multiple stage tasks.

[0143] The grouping information may indicate how the multiple stage tasks are grouped, for example, stage tasks 1-3 are group 1, stage tasks 4-7 are group 2, and so on.

[0144] S630 , based on the grouping information of the multiple stage tasks, calling the obtained script file of each stage task to execute the stage tasks of different groups in parallel to obtain the product file of the current version.

[0145] The management end can run different groups of stage tasks in parallel. For example, group 1, group 2, and group 3 can start running at the same time. The stage tasks of different groups do not interfere with each other. Different groups include multiple stage task groups.

[0146] If it is detected that there is a target stage task group containing multiple stage tasks among the multiple stage task groups, the multiple stage tasks contained in the target stage task group are executed serially.

[0147] After the execution of multiple groups of stage tasks is completed, multiple intermediate product files and multiple temporary files can be generated. The management end can combine the generated multiple intermediate product files and multiple temporary files through the archiving component module to obtain the current version of the product file.

[0148] Through this method, the management end can reasonably group multiple stage tasks and allow stage tasks of different groups to be executed in parallel. This helps to avoid the low execution efficiency caused by serial execution and improve execution efficiency and memory utilization.

[0149] In one embodiment of the present application, another application engineering development management method is provided, which can be executed by a management terminal. Figure 7 As shown, the development management method of the application project may include S410 to S420, S710 to S730 and S440. That is, S710 to S730 are Figure 4 The specific implementation method of S430 is shown.

[0150] S710 to S730 are described below:

[0151] S710 , calculating and obtaining a previous version of a product file based on a first-generation version of a product file that matches a specified application project.

[0152] Specifically, S710 may include S711 to S712.

[0153] S711 to S712 are described below:

[0154] S711, obtaining the product file of the first generation version and the stored difference file.

[0155] The initial version of the product file is the product file generated by the first build of the specified application project through the target pipeline framework, which is equivalent to the first version. The storage service on the management side needs to store the initial version of the product file.

[0156] When the management end receives the development request for the designated application project for the second time, it can build a second version of the product file, and compare the second version of the product file with the first version of the product file to obtain a difference file corresponding to the second version of the product file.

[0157] In this way, the management terminal can store the product files of the first version and the difference files of the second version.

[0158] S712: Reconstruct the product file of the first version and the stored difference file to obtain the product file of the previous version.

[0159] For example, assuming the current version of the product file is the fourth version, the management client's storage service already stores the first version of the product file, the second version's differential file, and the third version's differential file. The management client can reconstruct the third version of the product file based on the first version of the product file, the second version's differential file, and the third version's differential file, thereby obtaining the product file that is the previous version of the fourth version of the product file.

[0160] S720: Perform sequence comparison on the product file of the current version and the product file of the previous version, and calculate the common sequence between the product file of the current version and the product file of the previous version.

[0161] When performing sequence alignment, a differential algorithm can be used, and its time complexity is O(mn).

[0162] Specifically, m and n can represent the sequence lengths of the previous version of the product file (denoted as A) and the current version of the product file (denoted as B), respectively. The management end can use a two-dimensional matrix L to store the first i characters of A and the first j characters of B, resulting in the two-dimensional matrix: L[i][j]. This two-dimensional matrix can also be called an LCS table.

[0163] Next, we can use the backtracking method to determine the longest common subsequence in A and B. The following is the general process of backtracking:

[0164] 1. Start from the lower right corner of the LCS table (L[m][n], where m is the length of sequence A and n is the length of sequence B).

[0165] 2. Check whether the value of the current position (L[i][j]) is the same as the value of the upper left (L[i-1][j-1]). If they are the same, add the current character to the longest common subsequence.

[0166] 3. If they are not the same, continue searching for the same character based on the position to be advanced next, that is, the position with the larger value of L[i-1][j] or L[i][j-1].

[0167] 4. Repeat steps 2 and 3 until you reach the upper left corner of the LCS table (L[0][0]).

[0168] 5. Finally, the longest common subsequence is obtained.

[0169] The management end may use the longest common subsequence as the common sequence between the product file of the current version and the product file of the previous version.

[0170] S730: Obtain a difference file between the product file of the current version and the product file of the previous version based on the public sequence calculation.

[0171] The difference file may also be called a patch package, which is the changed or newly added content of the product file of the current version relative to the product file of the previous version.

[0172] This method allows the management end to calculate the difference between the current version of the product file and the previous version. After the current version of the product file is released, the current version of the product file can be safely deleted, retaining only the difference file. This reduces storage space usage and improves storage resource utilization.

[0173] In one embodiment of the present application, a priority scheduling method for a pipeline framework involved in another application engineering development management method is provided, which can be executed by a management terminal. Figure 8 As shown, the priority scheduling method of the pipeline framework may include S801 to S809.

[0174] S810 to S809 are described below:

[0175] S801: Receive a development request for a designated application project sent by an operation terminal.

[0176] S802: Using the API configuration, determine whether the development request has permission.

[0177] The API configuration includes plugin encapsulations of axios, jsonp, and util.

[0178] If yes, execute S804; if no, execute S803.

[0179] S803: Return a response rejecting the development request to the operation end.

[0180] S804: Acquire a target pipeline framework that matches the specified application project.

[0181] S805: Obtain an application engineering queue.

[0182] The application project queue may include identification information of other application projects.

[0183] S806: Detect whether the timer triggers a prompt.

[0184] The timer can be set to remind you once every certain period of time.

[0185] If yes, execute S807; if no, execute S806 again.

[0186] S807: Detect whether the priority information of the application engineering queue of the target pipeline framework is received.

[0187] The priority information may include priority information of at least one application project in the application project queue, for example, priority information of a specified application project.

[0188] If yes, execute S808 and execute S806; if no, execute S806.

[0189] S808: Reorder identification information of multiple application projects in the application project queue based on the received priority information.

[0190] In this way, the identification information of the application project with high priority can be arranged in the front so that it can be executed first. If the priority information indicates that the priority of the specified application project is the highest, the identification information of the specified application project can be arranged at the front of the application project queue.

[0191] S809, executing the target pipeline framework.

[0192] Through this method, each application project in the application project queue of the target pipeline framework can be executed according to the predefined priority, and the corresponding product files can be built first for the application projects with high priority.

[0193] In one embodiment of the present application, another application engineering development management method is provided, which can be executed by a management terminal. Figure 9 As shown, the application engineering development management method may include S901 to S922.

[0194] S901 to S922 are described below:

[0195] S901: Verify the development request for the designated application project sent by the operation end through the request interceptor.

[0196] Among them, the request interceptor can include API configuration.

[0197] S902: Whether the verification is successful.

[0198] If yes, execute S904; if no, execute S903.

[0199] S903: Return a response rejecting the development request to the operation end.

[0200] S904: Process the development request parameters.

[0201] The management end can analyze the git address and compilation configuration in the development request parameters to generate description files, certificates, component numbers, etc.

[0202] S905: Whether the target pipeline framework corresponding to the specified application project is obtained.

[0203] If yes, execute S907; if no, execute S906.

[0204] S906: Create a target pipeline framework.

[0205] This includes operations such as obtaining stage tasks and grouping stage tasks, which will not be described here.

[0206] S907: Priority scheduling is performed on the target pipeline framework.

[0207] For details, please refer to Figure 8 The corresponding embodiments are not described in detail here.

[0208] S908: Obtain script files of multiple stage tasks corresponding to the specified application project.

[0209] S909, executing multiple stage tasks.

[0210] S910, let i=1.

[0211] S911, get stage_i.

[0212] Among them, stage refers to the stage task.

[0213] S912, check whether stage_i reports an error.

[0214] If yes, execute S913; if no, execute S914.

[0215] S913: Generate an exception log and analyze the log according to the current stage_i.

[0216] S914, whether i is equal to the maximum stage number of the stage combination to which stage_i belongs.

[0217] If not, execute S915; if so, execute S918.

[0218] S915: Check whether the output information of stage_i only includes intermediate product files.

[0219] If yes, execute S918; if no, execute S916.

[0220] S916, deleting the temporary files included in the output information of stage_i, and obtaining the updated output information of stage_i.

[0221] S917: Use the updated output information of stage_i as the output information of stage_i.

[0222] S918, retain the output information of stage_i.

[0223] S919, whether i is equal to stage_max.

[0224] Where stage_max is the total number of stages in the target pipeline framework.

[0225] If yes, execute S920; if no, set i=i+1 and execute S911.

[0226] S920: Utilize the archiving component module to combine multiple intermediate product files and temporary files obtained by executing multiple stages to obtain a product file of the current version.

[0227] S921: Perform a differential comparison between the product file of the current version and the product file of the previous version of the specified application project to obtain a differential file.

[0228] S922: Store the difference file and delete the current version of the product file after the current version of the product file is released.

[0229] This method allows multiple application projects to share a pipeline framework, which means there is no need to create a separate pipeline framework for each application project. This not only reduces storage space waste but also improves the resource utilization of the pipeline framework.

[0230] Secondly, the management side can reasonably group multiple stage tasks and allow different groups of stage tasks to be executed in parallel. This helps avoid the inefficiency caused by serial execution and improves the effective use of memory.

[0231] Finally, the management side can also calculate the difference between the current version of the product file and the previous version. After the current version of the product file is released, the current version of the product file can be safely deleted, and only the difference file is retained. This reduces storage space usage and improves storage resource utilization.

[0232] Therefore, in summary, through the above three aspects of analysis, this method can significantly improve resource utilization during application engineering development.

[0233] Figure 10 It is a block diagram of an application engineering development and management device shown in one embodiment of the present application.

[0234] like Figure 10 As shown, the development management device of the application project can be applied to the management end, and the device includes:

[0235] The acquisition unit 1010 is configured to, upon receiving a development request for a specified application project, acquire a target pipeline framework matching the specified application project from a plurality of application project pipeline frameworks; wherein the target pipeline framework includes a plurality of stage tasks;

[0236] The processing unit 1020 is used to call the script file of each stage task to execute each stage task and obtain the product file of the current version corresponding to the specified application project;

[0237] The processing unit 1020 is further configured to perform a differential comparison between the product file of the current version and the product file of the previous version of the specified application project to obtain a differential file;

[0238] The storage unit 1030 is used to store the difference file and delete the product file of the current version after the product file of the current version is released.

[0239] In one embodiment of the present application, based on the aforementioned scheme, the acquisition unit 1010 is also used to obtain the script file of each stage task from the script file library; obtain the grouping information of multiple stage tasks; wherein the grouping information is used to characterize the grouping situation of multiple stage tasks; the processing unit 1020 is also used to call the obtained script file of each stage task based on the grouping information of multiple stage tasks, so as to execute different groups of stage tasks in parallel and obtain the product file of the current version.

[0240] In one embodiment of the present application, based on the aforementioned scheme, different groups include multiple stage task groups; the detection unit 1040 is used to serially execute the multiple stage tasks contained in the target stage task group if it is detected that there is a target stage task group containing multiple stage tasks among the multiple stage task groups.

[0241] In one embodiment of the present application, based on the aforementioned scheme, a development request is generated by an object through a designated device and sent to a management terminal deployed in the cloud, and the method is executed by the management terminal; the development request includes identification information corresponding to the designated device and address information corresponding to the script file library of the designated application project; the detection unit 1040 is also used to obtain the script file for each stage task from the script file library corresponding to the address information if it is detected that the object has script acquisition permission.

[0242] In one embodiment of the present application, based on the aforementioned scheme, the acquisition unit 1010 is further used to obtain the framework configuration information corresponding to the type of the specified application project if the target pipeline framework matching the specified application project is not obtained from multiple application project pipeline frameworks; the processing unit 1020 is further used to obtain multiple stage tasks based on the framework configuration information, and construct the multiple stage tasks to obtain the target pipeline framework; and update the constructed target pipeline framework to the storage area, where multiple application project pipeline frameworks are stored.

[0243] In one embodiment of the present application, based on the aforementioned scheme, the processing unit 1020 is further used to group multiple stage tasks based on the grouping information of multiple stage tasks contained in the framework configuration information to obtain multiple different groups of stage tasks; and combine multiple different groups of stage tasks to obtain a target pipeline framework.

[0244] In one embodiment of the present application, based on the aforementioned scheme, the processing unit 1020 is further used to calculate the product file of the previous version based on the product file of the first generation version that matches the specified application project; perform sequence comparison on the product file of the current version and the product file of the previous version, and calculate the common sequence between the product file of the current version and the product file of the previous version; and calculate the difference file between the product file of the current version and the product file of the previous version based on the common sequence.

[0245] In one embodiment of the present application, based on the aforementioned solution, the acquisition unit 1010 is further used to obtain the product file of the first-generation version and the stored difference file; the processing unit 1020 is further used to reconstruct the product file of the first-generation version and the stored difference file to obtain the product file of the previous version.

[0246] In one embodiment of the present application, based on the aforementioned scheme, after obtaining a target pipeline framework that matches a specified application project from multiple application project pipeline frameworks, the processing unit 1020 is further used to obtain the priority information of the specified application project contained in the development request if the application project queue corresponding to the target pipeline framework contains identification information of at least one application project to be developed; based on the priority information, perform a priority comparison on the specified application project and the at least one application project to be developed to obtain a priority comparison result; based on the priority comparison result, arrange the identification information of the specified application project and the identification information of at least one application project to be developed in the application project queue; wherein, the closer the application project to be developed is arranged to the head of the queue, the higher the development priority of the application project to be developed.

[0247] In one embodiment of the present application, based on the aforementioned scheme, before storing the difference file of the current version and deleting the obtained product file after the product file of the current version is released, the acquisition unit 1010 is also used to obtain the description file of the product file of the current version, and the description file contains the signature information, version information and certificate information corresponding to the product file of the current version; the processing unit 1020 is also used to send the description file and the product file of the current version to the tester, so that the tester can test and release the product file of the current version based on the description file.

[0248] It should be noted that the apparatus provided in the aforementioned embodiment and the method provided in the aforementioned embodiment belong to the same concept, wherein the specific manner in which each module and unit performs operations has been described in detail in the method embodiment.

[0249] An embodiment of the present application also provides an application engineering development and management device, including: one or more processors; a memory for storing one or more programs, which, when executed by one or more processors, enables the electronic device to implement the application engineering development and management method as described above.

[0250] Figure 11 It is a structural diagram of a computer system suitable for implementing the development and management equipment of the application engineering of the embodiment of the present application.

[0251] It should be noted that Figure 11The computer system 1100 of the electronic device shown is only an example and should not bring any limitation to the functions and scope of use of the embodiments of the present application.

[0252] like Figure 11 As shown, the computer system 1100 includes a central processing unit (CPU) 1101, which can perform various appropriate actions and processes according to the program stored in the read-only memory (ROM) 1102 or the program loaded from the storage part 1108 into the random access memory (RAM) 1103, such as executing the method in the above embodiment. Various programs and data required for system operation are also stored in the RAM 1103. The CPU 1101, ROM 1102 and RAM 1103 are connected to each other via a bus 1104. An input / output (I / O) interface 1105 is also connected to the bus 1104.

[0253] The following components are connected to the I / O interface 1105: an input section 1106 including a keyboard, a mouse, and the like; an output section 1107 including devices such as a cathode ray tube (CRT), a liquid crystal display (LCD), and a speaker; a storage section 1108 including a hard disk; and a communication section 1109 including a network interface card such as a LAN (Local Area Network) card or a modem. The communication section 1109 performs communication processing via a network such as the Internet. A drive 1110 is also connected to the I / O interface 1105 as needed. Removable media 1111, such as a magnetic disk, an optical disk, a magneto-optical disk, or a semiconductor memory, is installed in the drive 1110 as needed, so that computer programs read from the removable media can be installed in the storage section 1108 as needed.

[0254] In particular, according to an embodiment of the present application, the process described above with reference to the flowchart can be implemented as a computer software program. For example, an embodiment of the present application includes a computer program product, which includes a computer program carried on a computer-readable medium, and the computer program includes a computer program for executing the method shown in the flowchart. In such an embodiment, the computer program can be downloaded and installed from a network via the communication section 1109, and / or installed from a removable medium 1111. When the computer program is executed by the central processing unit (CPU) 1101, the various functions defined in the system of the present application are executed.

[0255] It should be noted that the computer-readable medium shown in the embodiments of the present application may be a computer-readable signal medium or a computer-readable storage medium or any combination of the two. The computer-readable medium may be, for example, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, device or component, or any combination of the above. More specific examples of computer-readable media may include, but are not limited to: an electrical connection with one or more wires, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM), a flash memory, an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the above. In the present application, a computer-readable medium may be any tangible medium containing or storing a program that can be used by or in combination with an instruction execution system, device or device. In the present application, a computer-readable signal medium may include a data signal propagated in baseband or as part of a carrier wave, which carries a computer-readable computer program. This propagated data signal may take a variety of forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination of the above. A computer-readable signal medium may also be any computer-readable medium other than a computer-readable storage medium that can transmit, propagate, or transport a program for use by or in connection with an instruction execution system, apparatus, or device. A computer program embodied on a computer-readable medium may be transmitted using any suitable medium, including but not limited to wireless, wired, or any suitable combination thereof.

[0256] The flowcharts and block diagrams in the accompanying drawings illustrate the possible implementation architecture, functions and operations of the systems, methods and computer program products according to various embodiments of the present application. Among them, each box in the flowchart or block diagram can represent a module, program segment, or part of the code, and the above-mentioned module, program segment, or part of the code contains one or more executable instructions for implementing the specified logical function. It should also be noted that in some alternative implementations, the functions marked in the box can also occur in an order different from that marked in the accompanying drawings. For example, two boxes represented in succession can actually be executed substantially in parallel, and they can sometimes be executed in the opposite order, depending on the functions involved. It should also be noted that each box in the block diagram or flowchart, and the combination of boxes in the block diagram or flowchart, can be implemented with a dedicated hardware-based system that performs the specified function or operation, or can be implemented with a combination of dedicated hardware and computer instructions.

[0257] The units involved in the embodiments described in this application may be implemented by software or hardware, and the units described may also be set in a processor. In some cases, the names of these units do not constitute limitations on the units themselves.

[0258] Another aspect of the present application provides a computer-readable medium having a computer program stored thereon, which, when executed by a processor, implements the aforementioned application engineering development management method. The computer-readable medium may be included in the electronic device described in the above embodiments, or may exist independently without being incorporated into the electronic device.

[0259] Another aspect of the present application provides a computer program product or computer program, which includes computer instructions stored in a computer-readable medium. A processor of a computer device reads the computer instructions from the computer-readable medium and executes the computer instructions, causing the computer device to perform the application engineering development management method provided in each of the above embodiments.

[0260] The above content is only a preferred exemplary embodiment of the present application and is not intended to limit the implementation scheme of the present application. Ordinary technicians in this field can easily make corresponding changes or modifications based on the main ideas and spirit of the present application. Therefore, the scope of protection of the present application shall be based on the scope of protection required by the claims.

Claims

1. A development management method for application engineering, characterized in that: include: If a development request for a specified application project is received from an object, a target pipeline framework matching the specified application project is obtained from a plurality of application project pipeline frameworks; wherein the target pipeline framework includes a plurality of stage tasks; Calling the script file of each stage task to execute each stage task and obtain the product file of the current version corresponding to the specified application project; Performing a differential comparison between the product file of the current version and the product file of the previous version of the specified application project to obtain a differential file; The difference file is stored, and the product file of the current version is deleted after the product file of the current version is released.

2. The method according to claim 1, characterized in that The script file of each stage task is called to execute each stage task to obtain the product file of the current version corresponding to the specified application project, including: Get the script files for each stage task from the script file library; Acquire grouping information of the multiple stage tasks; wherein the grouping information is used to characterize the grouping of the multiple stage tasks; Based on the grouping information of the multiple stage tasks, the acquired script file of each stage task is called to execute the stage tasks of different groups in parallel to obtain the product file of the current version.

3. The method according to claim 2, characterized in that The different groups include multiple stage task groups; based on the grouping information of the multiple stage tasks, the script file of each stage task obtained is called to execute the stage tasks of different groups in parallel to obtain the product file of the specified application project, including: If it is detected that there is a target stage task group containing multiple stage tasks among the multiple stage task groups, the multiple stage tasks contained in the target stage task group are executed serially.

4. The method according to claim 2, characterized in that: The development request is generated by the object through a designated device and sent to a management terminal deployed in the cloud, and the method is executed by the management terminal; The development request includes identification information corresponding to the specified device and address information corresponding to the script file library of the specified application project; The script files for each stage task are obtained from the script file library, including: If it is detected that the object has script acquisition authority, the script file of each stage task is acquired from the script file library corresponding to the address information.

5. The method according to claim 1, characterized in that The method further comprises: If a target pipeline framework matching the specified application project is not obtained from the multiple application project pipeline frameworks, then obtaining framework configuration information corresponding to the type of the specified application project; Acquire the multiple stage tasks based on the framework configuration information, and construct the multiple stage tasks to obtain the target pipeline framework; The constructed target pipeline framework is updated to a storage area, in which the plurality of application engineering pipeline frameworks are stored.

6. The method according to claim 5, characterized in that The step of constructing the multiple stage tasks to obtain the target pipeline framework includes: Based on the grouping information of the multiple stage tasks contained in the framework configuration information, the multiple stage tasks are grouped to obtain multiple different groups of stage tasks; The multiple different groups of stage tasks are combined to obtain the target pipeline framework.

7. The method according to claim 1, characterized in that The step of performing a differential comparison between the obtained product file and the product file of the previous version of the specified application project to obtain a differential file includes: Based on the product file of the first generation version matching the specified application project, the product file of the previous version is calculated; Performing sequence comparison on the product file of the current version and the product file of the previous version, and calculating the common sequence between the product file of the current version and the product file of the previous version; A difference file between the product file of the current version and the product file of the previous version is obtained by calculation based on the common sequence.

8. The method according to claim 7, characterized in that The product file of the previous version is calculated based on the product file of the first version matching the specified application project, including: Obtaining the product file of the first generation version and the stored difference file; The product file of the first generation version and the stored difference file are reconstructed to obtain the product file of the previous version.

9. The method according to any one of claims 1 to 8, characterized in that After acquiring a target pipeline framework matching the specified application project from a plurality of application project pipeline frameworks, the method further includes: If the application project queue corresponding to the target pipeline framework contains identification information of at least one application project to be developed, obtaining priority information of the specified application project contained in the development request; Based on the priority information, a priority comparison is performed between the designated application project and the at least one application project to be developed to obtain a priority comparison result; The identification information of the designated application project and the identification information of the at least one application project to be developed are arranged in the application project queue based on the priority comparison result; wherein, the application project to be developed that is arranged closer to the head of the queue has a higher development priority.

10. The method according to any one of claims 1 to 8, characterized in that Before storing the difference file of the current version and deleting the obtained product file after the product file of the current version is released, the method further includes: Obtain a description file of the product file of the current version, wherein the description file includes signature information, version information, and certificate information corresponding to the product file of the current version; The description file and the product file of the current version are sent to a tester, so that the tester tests and publishes the product file of the current version based on the description file.

11. A development management device for application engineering, characterized in that: include: An acquisition unit, configured to acquire a target pipeline framework matching the specified application project from a plurality of application project pipeline frameworks if a development request for the specified application project is received; wherein the target pipeline framework includes a plurality of stage tasks; A processing unit, used to call the script file of each stage task to execute each stage task and obtain the product file of the current version corresponding to the specified application project; The processing unit is further used to perform a differential comparison between the product file of the current version and the product file of the previous version of the specified application project to obtain a differential file; The storage unit is used to store the difference file and delete the product file of the current version after the product file of the current version is released.

12. A development management device for application engineering, characterized in that: include: a memory storing computer-readable instructions; A processor reads the computer readable instructions stored in the memory to execute the method according to any one of claims 1 to 10.

13. A computer-readable storage medium, characterized in that: Computer-readable instructions are stored thereon, and when the computer-readable instructions are executed by a processor of a computer, the computer is caused to execute the method according to any one of claims 1 to 10.