Version production methods, devices, computer equipment, and storage media

By automating the allocation of deployment tasks and personnel, and combining shell scripts to implement version deployment, the problem of low version deployment efficiency caused by insufficient operation and maintenance team size has been solved, and an efficient version deployment process has been achieved.

CN115437680BActive Publication Date: 2026-03-10INDUSTRIAL AND COMMERCIAL BANK OF CHINA +1
View PDF 2 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-09-05
Publication Date
2026-03-10

AI Technical Summary

Technical Problem

As the business demands of the financial industry increase, the size of the operations and maintenance team is not keeping pace, resulting in low efficiency in version deployment and an inability to complete the deployment of multiple applications within the specified time.

Method used

By acquiring the code to be deployed, deployment tasks are automatically assigned based on deployment configuration information in the database, deployment personnel are identified, and task information is synchronized. Shell scripts are used to automate version deployment, record and analyze deployment parameters, and optimize the version deployment process.

Benefits of technology

It enables efficient allocation and information synchronization of multiple production tasks, optimizes the version production process, and improves version production efficiency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115437680B_ABST
    Figure CN115437680B_ABST
Patent Text Reader

Abstract

This application relates to a method, apparatus, computer equipment, and storage medium for version deployment, which can be used in the fintech field or other related fields. The method includes: obtaining code submitted to the system for deployment; determining the target application associated with the code for deployment based on deployment configuration information stored in a database containing relationships between applications and code; responding to a request for automatic deployment task allocation; determining the deployment personnel corresponding to each deployment task; assigning each deployment task to the corresponding deployment personnel; and synchronizing the deployment task allocation information to the associated personnel. This method can automatically determine the deployment personnel corresponding to multiple deployment tasks, quickly allocate multiple deployment tasks to the corresponding deployment personnel, and synchronize the allocation information of multiple deployment tasks to the corresponding associated personnel, achieving efficient allocation of multiple deployment tasks and convenient synchronization of allocation information, thereby improving version deployment efficiency.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present application relates to the field of software, and in particular to a version production method and device, a computer device, a storage medium and a computer program product. BACKGROUND

[0002] With the increasing business needs of the financial industry, the code development and code version production of financial products are becoming more and more frequent. The general process of version production of a code is as follows: based on customer needs, the development team develops functions, the test team verifies functions, the operation and maintenance team deploys codes, and finally the test team verifies in the production environment to complete the version production of the code.

[0003] However, with the access of new applications, the number of applications that need to be produced by the operation and maintenance team is increasing, but the size of the operation and maintenance team does not increase accordingly, and it is impossible to complete the allocation of version production tasks of multiple applications within a specified time, which increases the difficulty of operation and maintenance and reduces the efficiency of version production. SUMMARY

[0004] Therefore, it is necessary to provide a version production method, device, computer device, computer readable storage medium and computer program product to solve the above technical problems.

[0005] In a first aspect, the present application provides a version production method, comprising:

[0006] obtaining a to-be-produced code submitted to a system;

[0007] determining at least one target application associated with the to-be-produced code from a full application list maintained by the system based on production configuration information stored in a database, the production configuration information including the relationship between applications and codes, and updating the production state of each target application in the full application list to a to-be-produced state; the full application list includes a plurality of applications and the production state of each application;

[0008] determining production personnel corresponding to each production task in response to a request for automatically allocating production tasks triggered by the system; the production task is a task of producing the to-be-produced code to each target application;

[0009] allocating each production task to the corresponding production personnel, and synchronizing the production task allocation information to the associated personnel, the associated personnel including the R&D personnel and / or the test personnel of the to-be-produced code.

[0010] In some embodiments, after the above-mentioned allocating each production task to the corresponding production personnel, and synchronizing the production task allocation information to the associated personnel, the method further comprises:

[0011] After selecting the to-be-production environment for each production task, in response to an execution request of the system for each production task triggered by the production personnel based on the system, a pre-configured Shell script in the system is called, which is used to download a pre-compiled first Class file in a previous production environment, a second Class file in the current to-be-production environment, replace the first Class file with the rest of the second Class file except the target file, upload the new second Class file after replacement to the version switching platform, and run the to-be-production code in the to-be-production environment.

[0012] The production state of the target application corresponding to each production task in the full application list is synchronously updated to a production-in-progress state or a production-completed state.

[0013] In some embodiments, after running the to-be-production code in the to-be-production environment, the method further comprises:

[0014] Saving a production record in the to-be-production environment, wherein the production record is generated based on the running data of the to-be-production code in the to-be-production environment;

[0015] Based on the production record, first statistical values of a plurality of production parameters are calculated, and the first statistical values of the plurality of production parameters are displayed through the system.

[0016] Based on the first statistical values of the plurality of production parameters, a production indicator with the highest impact on the production result of the to-be-production code is determined from a plurality of adjustable production indicators, and a key production indicator is obtained.

[0017] In some embodiments, based on the first statistical values of the plurality of production parameters, a production indicator with the highest impact on the production result of the to-be-production code is determined from a plurality of adjustable production indicators, and a key production indicator is obtained, which comprises:

[0018] Obtaining a plurality of adjustable production indicators that affect the running data of the to-be-production code in the to-be-production environment;

[0019] Alternately adjusting the value of each production indicator in the plurality of adjustable production indicators, re-running the to-be-production code in the to-be-production environment, and obtaining second statistical values of the production parameters corresponding to each production indicator based on a new production record;

[0020] Comparing the first statistical values and the second statistical values of each production parameter to determine the impact of the production indicator corresponding to each production parameter on the production result;

[0021] From the plurality of adjustable production indicators, the production indicator with the highest impact is determined, and a key production indicator is obtained.

[0022] In some embodiments, after the above-mentioned assigning each production task to a corresponding production personnel and synchronizing the production task assignment information to the associated personnel, the method further comprises:

[0023] determining production time window information corresponding to each production task, the production time window information being determined based on user usage time of the target application corresponding to each production task;

[0024] synchronizing the production time window information to the production personnel corresponding to each production task;

[0025] prompting the production personnel when the production time arrives.

[0026] In some embodiments, the above-mentioned determining the production personnel corresponding to each production task in response to the request for automatically assigning production tasks triggered by the system comprises:

[0027] obtaining at least one production personnel selected based on the system to obtain a production personnel list;

[0028] in response to the request for automatically assigning production tasks triggered by the system, assigning each production task in turn according to the arrangement order of the production personnel in the production personnel list.

[0029] In some embodiments, after the above-mentioned determining the production personnel corresponding to each production task in response to the request for automatically assigning production tasks triggered by the system, the method further comprises:

[0030] displaying the production personnel information corresponding to each target application in the full application list;

[0031] if a request for resetting production tasks triggered by the system is received, restoring the production state and production personnel information corresponding to each target application in the full application list to the initial state, respectively.

[0032] In some embodiments, the method further comprises:

[0033] obtaining a production progress query request triggered by the system, the production progress query request containing at least one query information of application name, production state, and production personnel;

[0034] obtaining a query result corresponding to at least one of the application name, production state, and production personnel from the full application list, and displaying the query result through the system.

[0035] In a second aspect, the present application also provides a version production device, the device comprising:

[0036] a code obtaining module for obtaining a to-be-produced code submitted to the system;

[0037] The associated application determination module is used to determine at least one target application associated with the code to be deployed from the full application list maintained by the system based on the deployment configuration information containing the relationship between applications and code stored in the database, and to update the deployment status of each target application in the full application list to the deployment status; the full application list contains multiple applications and the deployment status of each application.

[0038] The personnel identification module is used to identify the personnel corresponding to each production task in response to the request for automatic allocation of production tasks triggered by the above system; the production task is the task of deploying the above code to be produced to each of the target applications.

[0039] The task allocation module is used to assign each of the above-mentioned production tasks to the corresponding production personnel and synchronize the production task allocation information to the associated personnel, including the R&D personnel and / or test personnel of the code to be put into production.

[0040] Thirdly, this application also provides a computer device, the computer device including a memory and a processor, the memory storing a computer program, and the processor executing the computer program to perform the following steps:

[0041] Retrieve code submitted to the system that is ready for production deployment;

[0042] Based on the production configuration information stored in the database that includes the relationship between applications and code, at least one target application associated with the code to be produced is determined from the full application list maintained by the system, and the production status of each target application in the full application list is updated to the production-pending status; the full application list contains multiple applications and the production status of each application.

[0043] In response to the request for automatic allocation of production tasks triggered by the above system, the production personnel corresponding to each production task are determined; the production task is the task of deploying the above-mentioned code to each of the above-mentioned target applications.

[0044] Assign each of the above production tasks to the corresponding production personnel, and synchronize the production task assignment information to the associated personnel, including the R&D personnel and / or test personnel of the code to be put into production.

[0045] Fourthly, this application also provides a computer-readable storage medium. The computer-readable storage medium stores a computer program thereon, which, when executed by a processor, implements the steps of the method described in any of the preceding aspects.

[0046] Fifthly, this application also provides a computer program product. The computer program product includes a computer program that, when executed by a processor, implements the steps of the methods described in any of the preceding aspects.

[0047] The aforementioned version deployment method, apparatus, computer equipment, storage medium, and computer program product, by acquiring the code to be deployed submitted by the user to the system, and based on the deployment configuration information stored in the database containing the relationships between applications and code, determine at least one target application associated with the code to be deployed from the full application list maintained by the system, and update the deployment status of each target application in the full application list to be deployed. In response to a request for automatic deployment task allocation triggered by the system, the system automatically determines the deployment personnel corresponding to each deployment task, quickly assigns multiple deployment tasks to the corresponding deployment personnel, and synchronizes the allocation information of multiple deployment tasks to the corresponding associated personnel, thereby achieving efficient allocation of multiple deployment tasks and convenient synchronization of allocation information of multiple deployment tasks, optimizing the version deployment process, and improving version deployment efficiency. Attached Figure Description

[0048] To better describe and illustrate the embodiments and examples disclosed herein, reference may be made to one or more accompanying drawings. Additional details or examples used to describe the drawings should not be considered as limiting the scope of any of the disclosed inventions, the currently described embodiments and / or examples, or the best mode of these inventions as currently understood.

[0049] Figure 1 This is a diagram illustrating the application environment of a version deployment method in one embodiment;

[0050] Figure 2 This is a flowchart illustrating a version deployment method in one embodiment;

[0051] Figure 3 This is a schematic diagram of the automated version deployment process in one embodiment;

[0052] Figure 4 This is a flowchart illustrating the process of determining key production indicators in one embodiment.

[0053] Figure 5 This is a flowchart illustrating the process of determining the influence of an indicator in one embodiment.

[0054] Figure 6 This is a flowchart illustrating the process of indicating the production start-up time in one embodiment;

[0055] Figure 7 This is a flowchart illustrating the process of assigning production tasks in one embodiment;

[0056] Figure 8 This is a flowchart illustrating the process of resetting the production launch task in one embodiment;

[0057] Figure 9 This is a flowchart illustrating the process of querying the status of a production launch task in one embodiment;

[0058] Figure 10 This is a structural block diagram of a production device in one embodiment;

[0059] Figure 11 This is an internal structural diagram of a computer device in one embodiment. Detailed Implementation

[0060] To make the objectives, technical solutions, and advantages of this application clearer, the following detailed description is provided in conjunction with the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are merely illustrative and not intended to limit the scope of this application.

[0061] The version deployment method provided in this application embodiment can be applied to, for example, Figure 1 In the application environment shown, terminal 102 communicates with server 104 via a network. A data storage system can store the data that server 104 needs to process. The data storage system can be integrated onto server 104 or located in the cloud or on other network servers. Terminal 102 can be, but is not limited to, various personal computers, laptops, smartphones, tablets, IoT devices, and portable wearable devices. IoT devices can include smart speakers, smart TVs, smart air conditioners, smart in-vehicle devices, etc. Portable wearable devices can include smartwatches, smart bracelets, head-mounted devices, etc. Server 104 can be implemented using a standalone server or a server cluster consisting of multiple servers.

[0062] Figure 1 The middle terminal 102 can also be equipped with a version production management system. This system is used to obtain the code to be put into production submitted by users to the system. Based on the production configuration information containing the relationship between the application and the code stored in the database, it determines at least one target application associated with the code to be put into production from the full application list maintained by the system. It updates the production status of each target application in the full application list to the production status. In response to the request for automatic allocation of production tasks triggered by the system, it determines the production personnel corresponding to each production task, assigns each production task to the corresponding production personnel, and synchronizes the production task allocation information to the associated personnel.

[0063] In this embodiment of the application, the version production management system may also include a client and a server. The client is deployed on the terminal 102 and the server is deployed on the server 104. The functions of the version production management system can be implemented independently through the terminal or through the joint collaboration between the terminal and the server.

[0064] In one embodiment, such as Figure 2 As shown, a method for version deployment is provided. This method can be applied to computer devices, which can be terminals or can be implemented through interaction between the terminal and a server. This embodiment uses the application of this method to a terminal as an example, and specifically includes the following steps:

[0065] S210: Retrieve code submitted to the system for production deployment.

[0066] The code awaiting production deployment can be code developed by R&D personnel for different business needs, and can be used for the maintenance of at least one application in the current system. The current system can maintain the production deployment of code for multiple applications, which can be aggregated into a full application list. System administrators can also perform management operations such as adding and deleting applications from this full application list.

[0067] As an example, the system could be a version release management system; the code to be released could be code with specific functions developed by R&D personnel for a related application, and the code language could include, but is not limited to, Java, C, and Python.

[0068] As an example, based on business needs, R&D personnel develop production-ready code with corresponding functions for relevant applications. Within the upload time allowed by the system, they trigger the upload by clicking the upload button in the production management system window of the aforementioned terminal version 102. The uploaded production-ready code can be a single file or multiple files. The system obtains the production-ready code uploaded to the system in real time and performs corresponding processing. Alternatively, it can obtain the production-ready code uploaded to the system within a set time before the current time when the system's preset conditions are triggered and perform corresponding processing. The preset conditions include, but are not limited to, time and the number of production-ready code files.

[0069] S220, based on the production configuration information containing the relationship between applications and code stored in the database, at least one target application associated with the code to be produced is determined from the full application list maintained by the system, and the production status of each target application in the full application list is updated to the production status; the full application list contains multiple applications and the production status of each application.

[0070] The database can be deployed within the aforementioned production management system or external to it. The types of databases include, but are not limited to, network databases, hierarchical databases, and relational databases. The production configuration information in the database contains text, numbers, or coded information used to identify the relationship between the application and the code.

[0071] The full application list maintained by the system not only includes the application names of multiple applications, but also relevant information for each application, such as production status, information of the personnel responsible for the current production task, and historical production information.

[0072] As an example, the production configuration information can identify the relationship between applications and code, including but not limited to text, numbers, and codes; the full application list can store all application information and production status maintained by the system; the target application can be an application that corresponds to the code to be produced, and the correspondence can be obtained based on the production configuration information; the production status of an application includes but is not limited to "not involved," "not produced," "in production," and "produced." For the target application associated with the code to be produced, its corresponding production status can be "not produced," "in production," or "produced." For other applications that are not needed for the current version of the code to be produced, their production status is "not involved." Initially, the production status of all applications in the full application list can be set to "not involved" by default.

[0073] As an example, in response to a selection request triggered by the system, the system obtains production configuration information stored in the database that contains the relationship between applications and code. Based on the production configuration information, the system identifies at least one target application associated with the code to be produced in the full application list maintained by the system. The system updates the production status of each target application in the full application list from "not involved" to "pending production", while the production status of other applications besides the target application remains "not involved".

[0074] In one embodiment, when a new application is connected, in response to an information entry request triggered by the aforementioned system, the information of the new application is entered into the aforementioned list of all applications. The default production status of the new application is "not involved".

[0075] In some embodiments, the system may also respond to a user-triggered search function by performing a search based on at least one search condition or search content entered by the user.

[0076] S230, in response to the request for automatic allocation of production tasks triggered by the above system, determine the production personnel corresponding to each production task; the production task is the task of putting the above-mentioned code to be produced into each of the above-mentioned target applications.

[0077] Among them, the production personnel can be the operators responsible for performing production operations on the code to be produced. The production personnel can be selected by the operators of the person who uploaded the code, or the system can select them automatically based on preset selection criteria.

[0078] As an example, after displaying the full application list through the system, in response to the request for automatic task allocation triggered by the system, at least one production worker is selected from the current set of production workers to form a production worker list. When automatically allocating production tasks, each production task can be allocated one by one according to the order of the production workers in the production worker list.

[0079] S240, assign each of the above production tasks to the corresponding production personnel, and synchronize the production task assignment information to the associated personnel, including the R&D personnel and / or test personnel of the code to be put into production.

[0080] As an example, the order of personnel in the production launch personnel list can be arranged according to the first letter of their names. The aforementioned related personnel include, but are not limited to, the R&D personnel and test personnel of the code to be launched.

[0081] In some embodiments, in response to a request for automatic task allocation triggered by the system described above, at least one deployment task is generated based on the number of code to be deployed and the number of target applications. Each deployment task is then allocated sequentially according to the order of the deployment personnel in the deployment personnel list. For example, if one piece of code to be deployed needs to be deployed in three target applications, three deployment tasks are generated, and these three deployment tasks are allocated sequentially according to the order of the deployment personnel in the deployment personnel list.

[0082] Through the above embodiments, the system obtains the code submitted by the user for production deployment. Based on the production configuration information stored in the database that includes the relationships between applications and code, it identifies at least one target application associated with the code for production deployment from the full application list maintained by the system. The system then updates the production status of each target application in the full application list to "pending production." In response to a request for automatic allocation of production tasks triggered by the system, it identifies the production personnel corresponding to each production task, quickly assigns multiple production tasks to the corresponding production personnel, and synchronizes the allocation information of multiple production tasks to the associated personnel. This achieves efficient allocation of multiple production tasks and convenient synchronization of allocation information, optimizes the version production process, and improves version production efficiency.

[0083] In one embodiment, such as Figure 3 As shown, after assigning each of the above-mentioned production tasks to the corresponding production personnel and synchronizing the production task assignment information to the relevant personnel, it also includes:

[0084] S310, after selecting the production environment for each of the above production tasks, in response to the production personnel's execution request for the production task they are responsible for triggered by the above system, the pre-configured Shell script in the above system is called. When the Shell script runs, it is used to download the pre-compiled first Class file in the previous production environment and the current second Class file in the production environment, replace the other files in the second Class file except the target file with the first Class file, and upload the new second Class file after replacement to the version switching platform, so as to run the production code in the production environment.

[0085] As an example, during the production deployment phase, the corresponding production environments include, but are not limited to, testing environments, pre-production environments, and production environments. A previous production environment can be a testing environment, a pre-production environment, or a production environment. The currently selected production environment can be the next stage environment after the previous production environment. For example, if the previous production environment is a pre-production environment, then the currently selected production environment is a production environment. Both the previous production environment and the selected production environment are production environments corresponding to the target application, where the target application is the application corresponding to the specific production task. Furthermore, different applications can have different production environments; for example, two different target applications can each have different pre-production environments.

[0086] The system may also include an automatic production deployment button, which can trigger the execution request. Shell scripts can be developed by developers and deployed in the version production management system to initiate the automatic version production process. Class files in the production environment can be files storing the version production code. These Class files can run on any system that supports a Java Virtual Machine. The Class files can be pre-compiled by the operations team in a test environment using Git. The target files can be associated with the underlying code constituting the current production environment, including but not limited to the fact that the file extension of the Class file is the same as the file extension of the underlying code constituting the current production environment. The version switching platform can perform version production when preset conditions are triggered, including but not limited to the time conditions of scheduled tasks.

[0087] As an example, after selecting a production environment for each of the above-mentioned production tasks, in response to the execution request triggered by the production personnel based on the system for their assigned production task, a pre-configured Shell script in the system is invoked. This Shell script, when running, downloads the pre-compiled first Class file from the previous production environment and the current second Class file for the production environment to be deployed. It then replaces all files in the second Class file except for the target file with the first Class file. Specifically, if the previous production environment was a test environment, and if the front-end code is based on PHP, replacing the second Class file with the first Class file replaces all files except the target file (which could be sys.config.php). If the back-end code is based on Java, replacing the second Class file with the first Class file replaces all files except the target file (which could be init.properties and logback.xml). The new second Class file is then uploaded to the version switching platform, and the service is started by running the second Class file to run the production code in the production environment. If the previous production environment was a pre-production environment, the production process is similar to the above process, but you need to write the specified version information in the sys.config.php file.

[0088] As an example, the above execution request can also be triggered by the system at a predetermined time, and the version can be automatically deployed at the predetermined time. The predetermined time can be obtained by the system analyzing the time distribution of users using the target application corresponding to the code to be deployed, and the optimal execution time can be determined based on the time distribution, such as the time period with the fewest users or users.

[0089] S320, synchronously update the production status of the target application corresponding to each production task in the above full application list, whether it is in production or already in production.

[0090] As an example, after executing the automatic version deployment operation, the target application corresponding to each deployment task is obtained, the information of the target application is copied, and the deployment status information of the target application is updated to the corresponding deployment status in the full application list. This includes: when the deployment task in the pre-production environment of the intermediate stage is completed, the deployment status of the target application is updated to the deployment status; when the deployment task in the production environment of the last stage is completed, the deployment status of the target application is updated to the deployed status.

[0091] Through the above embodiments, after assigning production tasks to the corresponding production personnel, the production personnel can achieve automated production based on the pre-deployed script information in the system, which can shorten the production time and improve the production efficiency.

[0092] In one embodiment, such as Figure 4 As shown, after running the production-ready code in the aforementioned production-ready environment, the process also includes:

[0093] S410, save the production record in the above-mentioned production environment; the above-mentioned production record is generated based on the running data of the above-mentioned production code in the above-mentioned production environment.

[0094] The runtime data of the code to be deployed in the production environment can be runtime data generated when the code is running in the production environment, including but not limited to business verification status and version push time. The saved deployment records can include version information, whether the board is sealed, deployment progress, etc. The deployment records can be Word documents or Excel documents.

[0095] As an example, once a production version of the code is completed and passes testing in a production environment, the data for that version is archived. The system will then automatically generate the production information for the next version. After archiving, corresponding archive tables can be generated for each application maintained by the system. These archive tables record the data for each application during each production release. The production information for the next version can be a copy of the information from the entire application list.

[0096] As an example, once generated, the production log can be saved in the production log corresponding to the production task in the current production environment.

[0097] S420: Based on the above production records, calculate the first statistical value of each of the multiple production parameters, and display the first statistical value of the multiple production parameters through the above system.

[0098] Among them, the production parameters can be parameters used to reflect the quality or effect of version production, and the first statistical value can be the statistical value of the production parameters after production in the current production environment.

[0099] As an example, production parameters include, but are not limited to, the number of pre-production automatic production launches, production environment progress, the number of production environment automatic production launches, the production time for each version under each environment, and the business verification time under each environment.

[0100] As an example, in the production record generated after version production in the above-mentioned production environment, the first statistical values ​​of multiple production parameters are counted, and the first statistical values ​​of multiple production parameters are displayed through the display interface of the above system.

[0101] S430, based on the first statistical values ​​of multiple production parameters mentioned above, determine the production index with the highest impact on the production result of the code to be put into production from multiple adjustable production indices, and obtain the key production index.

[0102] Among them, adjustable production indicators are those that characterize the impact on the production results during the production process.

[0103] As an example, when adjusting the adjustable production index, the greater the change in the above production parameters, the greater the impact of the adjustable production index on the production parameters, and thus the greater the impact of the adjustable production index on the production results.

[0104] As an example, by comparing the changes between the first and second statistical values ​​of the production parameters before and after the adjustment of multiple adjustable production indicators, the production indicator with the highest impact is identified and designated as the key production indicator.

[0105] Through the above embodiments, after adjusting the adjustable production indicators in turn, the magnitude of the change in the first and second statistical values ​​of the production parameters is compared. The production indicator with the highest impact is determined from multiple adjustable production indicators, and the key production indicator is obtained. This can identify the key production indicator with the highest impact on the current version's production task, which is convenient for locating problems that occur during the production process.

[0106] In one embodiment, such as Figure 5 As shown, based on the first statistical values ​​of multiple production parameters, the production indicators with the highest impact on the production results of the code to be put into production are determined from multiple adjustable production indicators, resulting in key production indicators, including:

[0107] S510, acquire multiple adjustable production indicators that affect the operating data of the above-mentioned code to be put into production in the above-mentioned production environment.

[0108] Among these, several adjustable production indicators include, but are not limited to, the number of development needs, personnel capabilities, and the number of development personnel.

[0109] As an example, the statistical values ​​based on the above production parameters can serve as a basis for quantifying the development and delivery quality of the version. By quantifying the development and delivery quality, the corresponding product manager and development team can be identified, the reasons for poor delivery quality can be confirmed, and the rationality of development requirements, the matching of development tasks with the development team, and the competence of the developers can be examined.

[0110] S520, adjust the values ​​of each of the above adjustable production indicators in turn, rerun the above production code under the above production environment, and obtain the second statistical value of the production parameters corresponding to each of the above production indicators based on the new production record.

[0111] As an example, deployment parameters could be the number of automated deployments, the time taken for version deployment, and the time taken for business verification.

[0112] As an example, when adjusting multiple adjustable production indicators in turn, first determine one production indicator that needs to be adjusted as the first adjustment indicator. When adjusting the first adjustment indicator, the other adjustable production indicators remain unchanged. After adjusting the first adjustment indicator, determine the second adjustment indicator. When adjusting the second adjustment indicator, the other adjustable production indicators remain unchanged. And so on, to complete the rotational adjustment of multiple adjustable production indicators.

[0113] By alternating the values ​​of each of the above adjustable production indicators, the production indicator that causes a significant change in the second statistical value of each of the above production parameters can be identified.

[0114] S530, compare the first statistical value and the second statistical value of each of the above-mentioned production parameters to determine the degree of influence of the production index corresponding to each of the above-mentioned production parameters on the production result of the code to be put into production.

[0115] As an example, by comparing the first and second statistical values ​​of the aforementioned production parameters, the impact of each production indicator on the production result is determined. Analyzing these impact values ​​helps identify the reasons for poor delivery quality and pinpoint the problematic stages in the version production process. These problematic stages include, but are not limited to, the development, verification, and production stages. Based on these problematic stages, relevant issues are examined. For example, this can involve examining whether the development requirements are reasonable, whether the development tasks match the development team, whether the developers' capabilities are up to standard, whether the testing phase was accurate, and whether there were any errors in the production phase.

[0116] In one embodiment, if the process described above reveals that the problem lies in the development phase, then corresponding adjustment strategies are implemented on the development team. These strategies include, but are not limited to, reducing development requirements, replacing junior developers with senior developers, and increasing the number of personnel to improve the quality or effectiveness of subsequent version releases.

[0117] S540 identifies the production indicator with the highest impact from multiple adjustable production indicators, thus obtaining the key production indicator.

[0118] Among them, the key production indicators can be the production indicators that have the greatest impact on the production results.

[0119] Through the above embodiments, by adjusting multiple adjustable production indicators in turn and combining the changes between the first and second statistical values ​​of the production parameters, the impact of each production indicator on the production result can be determined. This allows for accurate identification of problems that occur during the version production process, optimization of related issues, and improvement of the efficiency and effectiveness of subsequent version production.

[0120] In one embodiment, such as Figure 6 As shown, after assigning each of the above-mentioned production tasks to the corresponding production personnel and synchronizing the production task assignment information to the relevant personnel, it also includes:

[0121] S610, determine the production time window information corresponding to each of the above production tasks; the above production time window information is determined based on the user usage time of the target application corresponding to each of the above production tasks.

[0122] As an example, the deployment time window can be the execution time corresponding to each deployment task. The deployment time window for different deployment tasks can be determined based on the business needs of the target application. Specifically, it can be obtained by the system analyzing the time distribution of users using the target application corresponding to the code to be deployed, and determining the optimal execution time based on the user usage time distribution of the target application. For example, avoiding peak user usage times of the target application, selecting a time period with lower user activity as the deployment time window for the corresponding deployment task.

[0123] S620 synchronizes the above-mentioned production time window information to the production personnel corresponding to each of the above-mentioned production tasks.

[0124] As an example, the system can pre-register the terminal device information of the personnel involved in production. By obtaining the terminal device information corresponding to the personnel involved in production, the aforementioned production time window information can be synchronized to the terminal devices of the personnel involved in each production task via wireless or wired means.

[0125] S630 will notify the aforementioned personnel when the aforementioned production start-up time arrives.

[0126] As an example, the time for notifying the aforementioned production personnel includes, but is not limited to, ten minutes, twenty minutes, or half an hour before the aforementioned production start time.

[0127] As an example, when the aforementioned production launch time arrives, the system sends a time reminder message to the terminal device of the production personnel, so that a reminder window pops up on the production personnel's terminal, prompting them to launch the version in a timely manner.

[0128] Through the above embodiments, based on the time distribution of users using the target application, the production launch time window information is determined, and the production personnel are prompted to launch the version in a timely manner through the time window information, thereby reducing the situation of untimely version launch.

[0129] In one embodiment, such as Figure 7 As shown, in response to the request for automatic allocation of production tasks triggered by the aforementioned system, the personnel corresponding to each production task are determined, including:

[0130] S710: Obtain at least one production personnel selected based on the above system, and obtain a list of production personnel.

[0131] In one embodiment, the production personnel list may consist of currently on-duty production personnel selected manually or by the system in advance, and the production personnel in the production personnel list may be arranged in alphabetical order of their names.

[0132] As an example, the information of the personnel put into production includes, but is not limited to, name, age, and experience information. The information of at least one of the above personnel put into production is added to the document to form a list of personnel put into production.

[0133] S720, in response to the request for automatic allocation of production tasks triggered by the above system, allocates each production task one by one according to the order of production personnel in the above production personnel list.

[0134] As an example, the system also includes an "Automatic Assignment of Production Tasks" button. Production personnel can trigger an automatic assignment request using this button, distributing each production task sequentially according to the order of personnel in the aforementioned production personnel list. For instance, if 7 production tasks are assigned to 5 production personnel in the order a, b, c, d, and e, after each of the 5 personnel receives one task, the 6th production task is assigned to production personnel a according to the order of personnel in the list, and the 7th production task is assigned to production personnel b according to the same order.

[0135] Through the above embodiments, by pre-selecting a production personnel list containing at least one production personnel, and assigning multiple production tasks one by one according to the order of the production personnel list, the automatic allocation of multiple production tasks can be realized, reducing the time spent on manual multi-task allocation and improving the efficiency of version production.

[0136] In one embodiment, such as Figure 8 As shown, in response to the request for automatic allocation of production tasks triggered by the aforementioned system, after determining the production personnel corresponding to each production task, the process further includes:

[0137] S810, Display the production personnel information corresponding to each target application in the full application list.

[0138] As an example, personnel information for production includes, but is not limited to, name, age, position, and length of service.

[0139] In some embodiments, the system also provides a query function. Users can perform queries through the query function area provided by the system. Based on the information recorded in the full application list, users can query the production personnel information and production status of each target application and obtain the corresponding query results from the system.

[0140] S820, if a request to reset the production task based on system trigger is received, the production status and production personnel information corresponding to each target application in the above full application list are restored to their initial state.

[0141] In some embodiments, the system also provides a reset function. For example, resetting a production task can restore the state of a production task that has been automatically assigned to production personnel to its initial state, which may be an uninvolved state.

[0142] As an example, after the above system completes the automatic task allocation, if there are errors in the automatically allocated personnel or status that need to be modified, the system can restore all the information of the production task to an unaffected state by using the reset button.

[0143] Through the above embodiments, the system can increase its flexibility by resetting the automatically assigned production tasks.

[0144] In one embodiment, the system also provides a query function, such as Figure 9 As shown, the above method also includes:

[0145] S910, Obtain a production progress query request triggered by the above system; the production progress query request includes at least one of the following query information: application name, production status, and production personnel.

[0146] In one embodiment, a page of the aforementioned production management system is divided into three functional areas from top to bottom: a query area, a task area, and an information area. The query area can be used to retrieve at least one query from the user, using this query as the search criteria to perform a search, and the results are displayed in the information area. The task area can be used to execute various task functions, including but not limited to adding a production application, archiving, exporting, automatically assigning tasks, and resetting. The information area can also be used to display detailed information about each production task.

[0147] S920: Obtain query results from the full application list that correspond to at least one of the application name, production status, and production personnel, and display the query results through the system.

[0148] As an example, the application name, production status, production personnel, and query results can be obtained based on information from the full application list. The application name, production status, production personnel, and query results can be displayed through the display interface. Depending on the precision of the query conditions, the query results can be one or multiple.

[0149] Through the above embodiments, based on the user's input search content, the search content is used as search conditions to perform a query in the above system. After the query, the version production information most relevant to the user's search content is displayed, which can realize the rapid query of the production status information of the target application in the production task.

[0150] It should be understood that although the steps in the flowcharts of the embodiments described above are shown sequentially according to the arrows, these steps are not necessarily executed in the order indicated by the arrows. Unless explicitly stated herein, there is no strict order restriction on the execution of these steps, and they can be executed in other orders. Moreover, at least some steps in the flowcharts of the embodiments described above may include multiple steps or multiple stages. These steps or stages are not necessarily completed at the same time, but can be executed at different times. The execution order of these steps or stages is not necessarily sequential, but can be performed alternately or in turn with other steps or at least some of the steps or stages of other steps.

[0151] Based on the same inventive concept, this application also provides a version production apparatus for implementing the version production method described above. The solution provided by this apparatus is similar to the implementation described in the above method; therefore, the specific limitations in one or more version production apparatus embodiments provided below can be found in the limitations of the version production method described above, and will not be repeated here.

[0152] In one embodiment, such as Figure 10 As shown, a production deployment device is provided, comprising:

[0153] The code acquisition module 1010 is used to acquire code submitted to the system that is ready for production.

[0154] The associated application determination module 1020 is used to determine at least one target application associated with the code to be deployed from the full application list maintained by the system based on the deployment configuration information containing the relationship between applications and code stored in the database, and to update the deployment status of each target application in the full application list to the deployment status; the full application list contains multiple applications and the deployment status of each application.

[0155] The personnel identification module 1030 is used to identify the personnel corresponding to each production task in response to a request for automatic allocation of production tasks triggered by the above system; the production task is the task of putting the above-mentioned code to be produced into each of the target applications.

[0156] The task allocation module 1040 is used to assign each of the above-mentioned production tasks to the corresponding production personnel and synchronize the task allocation information to the associated personnel, including the R&D personnel and / or test personnel of the code to be put into production.

[0157] In one embodiment, the version deployment device further includes a deployment execution module. This deployment execution module is used to, after selecting a deployment environment for each deployment task, respond to the deployment personnel's execution request for each deployment task triggered by the system, call a pre-configured Shell script in the system. When the Shell script runs, it downloads the pre-compiled first Class file from the previous deployment environment and the current second Class file of the deployment environment, replaces the remaining files in the second Class file (excluding the target file) with the first Class file, and uploads the replaced new second Class file to the version switching platform to run the deployment code in the deployment environment and synchronously update the deployment status of the target applications corresponding to each deployment task in the full application list.

[0158] In one embodiment, the version production device further includes an archiving module and a key indicator determination module. The archiving module is used to save the production records in the production environment to be produced, which are generated based on the running data of the code to be produced in the production environment. The key indicator determination module is used to calculate the first statistical value of each of the multiple production parameters based on the production records, and to display the first statistical values ​​of the multiple production parameters through the system. Based on the first statistical values ​​of the multiple preset production parameters, the key production indicator with the highest impact on the production result of the code to be produced is determined from multiple adjustable production indicators.

[0159] In one embodiment, the key indicator determination module is further configured to acquire multiple adjustable production indicators that affect the running data of the code to be put into production in the environment to be put into production, adjust the values ​​of each production indicator among the multiple adjustable production indicators in turn, rerun the code to be put into production in the environment to be put into production, obtain the second statistical value of the production parameter corresponding to each production indicator based on the new production record, compare the first statistical value and the second statistical value of each production parameter, determine the degree of influence of the production indicator corresponding to each production parameter on the production result of the code to be put into production, and determine the production indicator with the highest degree of influence from the multiple adjustable production indicators to obtain the key production indicator.

[0160] In one embodiment, the personnel determination module 1030 is further configured to obtain at least one production personnel selected based on the system, obtain a production personnel list, and in response to a request for automatic allocation of production tasks triggered by the system, allocate each production task one by one according to the order of the production personnel in the production personnel list.

[0161] In one embodiment, the version deployment device further includes a reset module. If the reset module receives a request for a system-triggered reset deployment task, it restores the deployment status and deployment personnel information of each target application in the full application list to their initial state.

[0162] In one embodiment, the version deployment device further includes a query module, which is used to obtain a deployment progress query request triggered by the aforementioned system. The deployment progress query request includes at least one of the following query information: application name, deployment status, and deployment personnel. The module retrieves query results corresponding to at least one of the application name, deployment status, and deployment personnel from the aforementioned full application list, and displays the query results through the aforementioned system.

[0163] Each module in the aforementioned production device can be implemented entirely or partially through software, hardware, or a combination thereof. These modules can be embedded in or independent of the processor in a computer device, or stored in the memory of a computer device as software, so that the processor can call and execute the operations corresponding to each module.

[0164] In one embodiment, a computer device is provided, which may be a terminal, and its internal structure diagram may be as follows: Figure 11 As shown. The computer device includes a processor, memory, communication interface, display screen, and input devices connected via a system bus. The processor provides computing and control capabilities. The memory includes non-volatile storage media and internal memory. The non-volatile storage media stores the operating system and computer programs. The internal memory provides an environment for the operation of the operating system and computer programs stored in the non-volatile storage media. The communication interface is used for wired or wireless communication with external terminals; wireless communication can be achieved through Wi-Fi, mobile cellular networks, NFC (Near Field Communication), or other technologies. When the computer program is executed by the processor, a version production method is implemented. The display screen can be an LCD screen or an e-ink screen. The input devices can be a touch layer covering the display screen, buttons, a trackball, or a touchpad mounted on the computer device casing, or an external keyboard, touchpad, or mouse.

[0165] Those skilled in the art will understand that Figure 11The structure shown is merely a block diagram of a portion of the structure related to the present application and does not constitute a limitation on the computer device to which the present application is applied. Specific computer devices may include more or fewer components than those shown in the figure, or combine certain components, or have different component arrangements.

[0166] In one embodiment, a computer device is also provided, including a memory and a processor, wherein the memory stores a computer program, and the processor executes the computer program to implement the steps in the above method embodiments.

[0167] In one embodiment, a computer-readable storage medium is provided having a computer program stored thereon that, when executed by a processor, implements the steps in the above method embodiments.

[0168] In one embodiment, a computer program product is provided, including a computer program that, when executed by a processor, implements the steps in the above method embodiments.

[0169] It should be noted that the user information (including but not limited to user device information, user personal information, etc.) and data (including but not limited to data used for analysis, data stored, data displayed, etc.) involved in this application are all information and data authorized by the user or fully authorized by all parties.

[0170] Those skilled in the art will understand that all or part of the processes in the methods of the above embodiments can be implemented by a computer program instructing related hardware. The computer program can be stored in a non-volatile computer-readable storage medium, and when executed, it can include the processes of the embodiments of the above methods. Any references to memory, databases, or other media used in the embodiments provided in this application can include at least one of non-volatile and volatile memory. Non-volatile memory can include read-only memory (ROM), magnetic tape, floppy disk, flash memory, optical memory, high-density embedded non-volatile memory, resistive random access memory (ReRAM), magnetic random access memory (MRAM), ferroelectric random access memory (FRAM), phase change memory (PCM), graphene memory, etc. Volatile memory can include random access memory (RAM) or external cache memory, etc. By way of illustration and not limitation, RAM can take many forms, such as Static Random Access Memory (SRAM) or Dynamic Random Access Memory (DRAM). The databases involved in the embodiments provided in this application may include at least one type of relational database and non-relational database. Non-relational databases may include, but are not limited to, blockchain-based distributed databases. The processors involved in the embodiments provided in this application may be general-purpose processors, central processing units, graphics processing units, digital signal processors, programmable logic devices, quantum computing-based data processing logic devices, etc., and are not limited to these.

[0171] The technical features of the above embodiments can be combined in any way. For the sake of brevity, not all possible combinations of the technical features in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, they should be considered to be within the scope of this specification.

[0172] The embodiments described above are merely illustrative of several implementation methods of this application, and while the descriptions are specific and detailed, they should not be construed as limiting the scope of this patent application. It should be noted that those skilled in the art can make various modifications and improvements without departing from the concept of this application, and these all fall within the protection scope of this application. Therefore, the protection scope of this application should be determined by the appended claims.

Claims

1. A version production method characterized by comprising: The method comprises: acquiring a code to be put into production submitted to a system; determining at least one target application associated with the code to be put into production from a full list of applications maintained by the system based on production configuration information stored in a database, the production configuration information comprising relationships between applications and codes, and updating the production status of each target application in the full list of applications to a to-be-produced state; the full list of applications comprising a plurality of applications maintained by the system and the production status of each application; determining production personnel corresponding to each production task in response to a request for automatically assigning production tasks triggered by the system based on the system; the production task being a task of putting the code to be put into production into each target application; assigning each production task to the corresponding production personnel and synchronizing production task assignment information to associated personnel, the associated personnel including R&D personnel and / or test personnel of the code to be put into production; wherein, after assigning each production task to the corresponding production personnel and synchronizing production task assignment information to the associated personnel, the method further comprises: after selecting a to-be-produced environment for each production task, in response to an execution request for the production task corresponding to the production personnel triggered by the system based on the system, calling a pre-configured Shell script in the system, the Shell script being used to download a pre-compiled first Class file in a previously produced environment, a second Class file in the to-be-produced environment, replace the first Class file with the second Class file except for target files, upload the replaced new second Class file to a version switching platform, and run the code to be put into production in the to-be-produced environment; synchronously updating the production status of the target application corresponding to each production task in the full list of applications to a production-in-progress state or a produced state.

2. The method of claim 1, wherein, after running the code to be put into production in the to-be-produced environment, the method further comprises: saving a production record in the to-be-produced environment; the production record being generated based on running data of the code to be put into production in the to-be-produced environment; statistically determining a first statistical value of each of a plurality of production parameters for the code to be put into production based on the production record, and displaying the first statistical value of each of the plurality of production parameters through the system; determining a production indicator having the highest impact on the production result of the code to be put into production from a plurality of adjustable production indicators based on the first statistical value of each of the plurality of production parameters, to obtain a key production indicator.

3. The method of claim 2, wherein, The method of determining a production indicator having the highest impact on the production result of the code to be put into production from a plurality of adjustable production indicators based on the first statistical value of each of the plurality of production parameters, to obtain a key production indicator, comprises: acquiring a plurality of adjustable production indicators affecting the running data of the code to be put into production in the to-be-produced environment; alternately adjusting the value of each production indicator in the plurality of adjustable production indicators, re-running the code to be put into production in the to-be-produced environment, and obtaining a second statistical value of the production parameter corresponding to each production indicator based on a new production record; comparing the first statistical value and the second statistical value of each of the production parameters to determine an influence degree of a production indicator corresponding to each of the production parameters on a production result of the to-be-produced code; determining a production indicator with the highest influence degree from a plurality of adjustable production indicators to obtain a key production indicator.

4. The method of claim 1, wherein, After the production task is allocated to the corresponding production personnel, and the production task allocation information is synchronized to the associated personnel, the method further includes: determining production time window information corresponding to each of the production tasks, wherein the production time window information is determined based on a user usage time of a target application corresponding to each of the production tasks; synchronizing the production time window information to the production personnel corresponding to each of the production tasks; prompting the production personnel when the production time arrives.

5. The method of claim 1, wherein, In response to a request for automatically allocating production tasks triggered based on the system, the production personnel corresponding to each of the production tasks is determined by: obtaining at least one production personnel selected based on the system to obtain a production personnel list; allocating each of the production tasks in turn according to the arrangement order of the production personnel in the production personnel list in response to the request for automatically allocating production tasks triggered based on the system.

6. The method according to any one of claims 1 to 5, characterized in that, After the production personnel corresponding to each of the production tasks is determined in response to the request for automatically allocating production tasks triggered based on the system, the method further includes: displaying production personnel information corresponding to each target application in the full application list; if a request for resetting production tasks triggered based on the system is received, resetting the production state and the production personnel information corresponding to each target application in the full application list to an initial state, respectively.

7. The method of claim 6, wherein, The method further includes: obtaining a production progress query request triggered based on the system, wherein the production progress query request contains at least one query information of an application name, a production state, and a production personnel; obtaining a query result corresponding to at least one of the application name, the production state, and the production personnel from the full application list, and displaying the query result through the system.

8. A version commissioning apparatus, characterized by, The device includes: a code obtaining module configured to obtain to-be-produced code submitted to a system; an associated application determining module configured to determine at least one target application associated with the to-be-produced code from a full application list maintained by the system based on production configuration information stored in a database, wherein the production configuration information contains a relationship between an application and a code, and update a production state corresponding to each target application in the full application list to a to-be-produced state, wherein the full application list contains a plurality of applications maintained by the system and a production state corresponding to each application; a personnel determining module configured to determine production personnel corresponding to each production task in response to a request for automatically allocating production tasks triggered based on the system, wherein the production task is a task of producing the to-be-produced code to each target application; a task allocation module configured to allocate each production task to the corresponding production personnel, and synchronize production task allocation information to the associated personnel, wherein the associated personnel includes a research and development personnel and / or a test personnel of the to-be-produced code. The device further comprises a production execution module, configured to, after selecting the to-be-produced environment for each production task, in response to the production personnel triggering an execution request for the production task corresponding thereto based on the system, invoke a pre-configured Shell script in the system, the Shell script being used for, at runtime, downloading a pre-compiled first Class file under a previous produced environment, a second Class file of the to-be-produced environment at present, replacing the remaining files except target files in the second Class file with the first Class file, uploading the new second Class file after replacement to a version switching platform, and running the to-be-produced code under the to-be-produced environment; and synchronously updating the production state of the target application corresponding to each production task in the full-amount application list to a producing state or a produced state. 9.A computer device, comprising a memory and a processor, wherein the memory stores a computer program, and the computer device is configured to perform the method according to any one of claims 1-8 when the computer program is executed by the processor. The computer program, when executed by the processor, implements the steps of the method of any one of claims 1 to 7.

10. A computer-readable storage medium having stored thereon a computer program, characterized in that, The computer program, when executed by the processor, implements the steps of the method of any one of claims 1 to 7.

11. A computer program product comprising a computer program, characterized in that, The computer program, when executed by the processor, implements the steps of the method of any one of claims 1 to 7. The computer program, when executed by the processor, implements the steps of the method of any one of claims 1 to 7.

Citation Information

Patent Citations

  • Online management method and system for application version commissioning problem and related equipment

    CN112596775A

  • Application production method and device, computer device and storage medium

    CN113052707A