Software management method and device based on target script, equipment and storage medium

By using a software management method based on target scripts between the software generation platform and the storage platform, the integrated software packages within the same date are automatically created and uploaded, and the problems of low storage efficiency and error prone in the existing technology are solved, and efficient and secure software management is achieved.

CN119938127APending Publication Date: 2025-05-06CHONGQING SELIS PHOENIX INTELLIGENT INNOVATION TECH CO LTD
View PDF 0 Cites 2 Cited by

Patent Information

Application Number
CN202510034251.X
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-01-09
Publication Date
2025-05-06

AI Technical Summary

Technical Problem

When the software generation platform is different from the storage platform, it is impossible to quickly and accurately store real-time integrated software to different storage platforms. The existing technology relies on manual conversion, which is inefficient and error-prone.

Method used

Using a software management method based on target scripts, we quickly access software packages in the software warehouse through interface call functions, and traverse the software packages through iterative functions, and automatically create and upload integrated software packages within the same date to the software warehouse of another platform.

Benefits of technology

It realizes automated software storage procedures, improves storage efficiency, avoids omissions and losses of integrated software, and thus improves the security of software management.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119938127A_ABST
    Figure CN119938127A_ABST
Patent Text Reader

Abstract

The invention relates to the field of software, and discloses a software management method, device and equipment based on a target script and a storage medium, the target script comprises an interface calling function and an iteration function, and the method comprises the following steps: calling an interface of a software repository based on the interface calling function to access a software package in the software repository, traversing the software packages in the software warehouse based on the iteration function; if the target software package representing that the integration date is the same as the integration date of the current integrated software is not traversed, creating a first software package for storing the current integrated software in a software warehouse, and uploading the current integrated software to the first software package based on an uploading function; if the target software package is traversed, creating a second software package for storing the current integrated software in the software warehouse, and uploading the current integrated software to the second software package based on the uploading function; according to the method, the integrated software in the same date is automatically stored in the software warehouse of another platform without omission, so that the security of software management is improved.
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 software management method, apparatus, device and storage medium based on a target script. Background Art

[0002] With the rapid development of software technology, software iteration and update speed is very fast. Different software platforms have different code languages, which creates barriers to data sharing.

[0003] In particular, in scenarios where the software generation platform and the storage platform are different, it is impossible to quickly and accurately store the software integrated in real time on the software generation platform to different storage platforms. Related technologies manually convert the software of different software platforms to achieve data interaction between different software platforms, but the conversion efficiency is slow and prone to errors. For example, if there are multiple updated iterative software on the same date, the integrated software is omitted during the manual conversion process, or the software is overwritten and stored, it is very easy to lose the relevant integrated software on the same date. Summary of the invention

[0004] In view of the above problems, the present application provides a software management method, apparatus, device and storage medium based on a target script, which is used to automatically store the software integrated in real time on the same date without omission to the software warehouse of another platform.

[0005] According to one aspect of the present application, a software management method based on a target script is provided, wherein the target script includes an interface calling function and an iteration function, and the software management method includes: calling an interface of a software warehouse based on the interface calling function to access a software package in the software warehouse, and traversing the software packages in the software warehouse based on the iteration function; wherein the software warehouse belongs to a first platform, and the first platform provides an upload function; if a target software package representing the same integration date as the current integrated software is not traversed to, a first software package for storing the current integrated software is created in the software warehouse, and the current integrated software is uploaded to the first software package based on the upload function; wherein the extension of the first software package is an initial extension, and the current integrated software is software integrated in the second platform; if the target software package is traversed to, a second software package for storing the current integrated software is created in the software warehouse, and the current integrated software is uploaded to the second software package based on the upload function; wherein the extension of the second software package is determined based on the extension of the target software package, and the first software package and the second software package are software packages belonging to the same date.

[0006] In an optional manner, the first software package and the second software package belong to a first warehouse in the software warehouse, and the software management method further includes: performing a smoke test on the software in the first software package / the second software package, and moving the designated software package that passes the test to the second warehouse in the software warehouse; wherein the software stage level represented by the second warehouse is higher than the software stage level represented by the first warehouse; if a test report representing that the function test of the designated software package is successful is received, moving the designated software package to a third warehouse in the software warehouse; wherein the software stage level represented by the third warehouse is higher than the software stage level represented by the second warehouse.

[0007] In an optional manner, the software warehouse also includes a test warehouse, and the software management method also includes: backing up the first software package / the second software package to the test warehouse, associating the test report with the first software package / the second software package, and recording the storage time of the first software package / the second software package in each warehouse.

[0008] In an optional manner, the first warehouse and the second warehouse each include at least one sub-warehouse, and the name of each sub-warehouse includes department name, product name, project name, software type, and software stage; the smoke test of the software in the first software package / the second software package and moving the designated software package that passes the test to the second warehouse in the software warehouse includes: performing a first smoke test on the software in the first software package / the second software package, and moving the software package that successfully passed the test from the first sub-warehouse of the first warehouse to the second sub-warehouse of the first warehouse; performing a second smoke test on the software package in the second sub-warehouse of the first warehouse, and moving the designated software package that passes the test in the second sub-warehouse of the first warehouse to the first sub-warehouse of the second warehouse.

[0009] In an optional manner, the software management method also includes: responding to a software download request from a client, determining a target software warehouse based on identity information carried in the software download request; wherein each software warehouse corresponds to preset identity information, and each preset identity information corresponds to management authority or read-only authority for the corresponding software warehouse; according to the request information in the download request, determining a software package to be downloaded from the target software warehouse, so that the client downloads the software package to be downloaded; wherein the request information includes a product name, a project name, and a software stage.

[0010] In an optional manner, the software management method also includes: obtaining an updated basic script and basic model in a script repository; wherein the updated basic script and basic model are obtained after updating the initial basic script and initial basic model; and constructing the target script based on the updated basic script and basic model, interface information between the first platform and the second platform, and interface information between the first platform and the software warehouse.

[0011] In an optional manner, the package names of the first software package and the second software package both include software version numbers, and the software management method further includes: determining the historical version number of the historical integrated software from the software packages in the software warehouse based on the department name and project name corresponding to the current integrated software; and generating the software version number of the current integrated software based on the historical version number and the update function.

[0012] According to another aspect of the present application, a software management device based on a target script is provided, wherein the target script includes an interface calling function and an iteration function, and the software management device includes: an access module, which calls an interface of a software warehouse based on the interface calling function to access the software packages in the software warehouse, and traverses the software packages in the software warehouse based on the iteration function; wherein the software warehouse belongs to a first platform, and the first platform provides an upload function; a first upload module, which creates a first software package for storing the current integrated software in the software warehouse if the target software package representing the same integration date as the current integrated software is not traversed, and uploads the current integrated software to the first software package based on the upload function; wherein the extension of the first software package is an initial extension name, and the current integrated software is software integrated in the second platform; a second upload module, which creates a second software package for storing the current integrated software in the software warehouse if the target software package is traversed, and uploads the current integrated software to the second software package based on the upload function; wherein the extension of the second software package is determined based on the extension of the target software package, and the first software package and the second software package are software packages belonging to the same date.

[0013] According to one aspect of the present application, an electronic device is provided, comprising: a controller; and a memory for storing one or more programs, wherein when the one or more programs are executed by the controller, the above-mentioned software management method is executed.

[0014] According to one aspect of the present application, a computer-readable storage medium is also provided, on which computer-readable instructions are stored. When the computer-readable instructions are executed by a processor of a computer, the computer executes the above-mentioned software management method.

[0015] According to one aspect of the present application, a computer program product or a computer program is also provided, the computer program product or the computer program includes computer instructions, the computer instructions are stored in a computer-readable storage medium. A processor of a computer device reads the computer instructions from the computer-readable storage medium, and the processor executes the computer instructions, so that the computer device executes the above-mentioned software management method.

[0016] The present application calls the interface of the software warehouse of the first platform through the interface calling function of the target script to quickly access the software packages in the software warehouse, and traverses the software packages in the software warehouse through the iteration function in the target script, and creates software packages with different extensions belonging to the same date in the software warehouse to store the integrated software integrated in the second platform within the same date, and automatically stores the integrated software within the same date without omission to the software warehouse of another platform, which improves the storage efficiency while avoiding the loss of the integrated software, thereby improving the security of software management.

[0017] The above description is only an overview of the technical solution of the embodiment of the present application. In order to more clearly understand the technical means of the present application, it can be implemented in accordance with the contents of the specification. In order to make the above and other purposes, features and advantages of the present application more obvious and easy to understand, the specific implementation methods of the present application are listed below. BRIEF DESCRIPTION OF THE DRAWINGS

[0018] The drawings herein are incorporated into the specification and constitute a part of the specification, illustrate embodiments consistent with the present application, and are used together with the specification to explain the principles of the present application. Obviously, the drawings described below are only some embodiments of the present application, and for ordinary technicians in this field, other drawings can be obtained based on these drawings without creative work.

[0019] Figure 1 It is a flowchart of a software management method based on a target script shown in an exemplary embodiment of the present application.

[0020] Figure 2 is based on Figure 1 The exemplary embodiment shown is a flow chart of another software management method based on target scripts.

[0021] Figure 3 is based on Figure 2 The exemplary embodiment shown is a flow chart of another software management method based on target scripts.

[0022] Figure 4 is based on Figure 1 The exemplary embodiment shown is a flow chart of another software management method based on target scripts.

[0023] Figure 5 is based on Figures 1 to 4 A flowchart of another software management method based on a target script is shown in any of the exemplary embodiments shown in FIG.

[0024] Figure 6 It is a schematic diagram of an application scenario of the software management method based on target scripts of the present application.

[0025] Figure 7 It is a structural diagram of a software management device based on a target script shown in an exemplary embodiment of the present application.

[0026] Figure 8 It is a structural diagram of a computer system of an electronic device shown in an exemplary embodiment of the present application. DETAILED DESCRIPTION

[0027] Here, exemplary embodiments will be described in detail, examples of which are shown in the accompanying drawings. When the following description refers to the drawings, unless otherwise indicated, the same numbers in different drawings represent the same or similar elements. The implementations described in the following exemplary embodiments do not represent all implementations consistent with the present application. Instead, they are only examples of devices and methods consistent with some aspects of the present application as detailed in the attached claims.

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

[0029] The flowcharts shown in the accompanying drawings are only exemplary and do not necessarily include all the contents and operations / steps, nor must they be executed in the order described. For example, some operations / steps can be decomposed, and some operations / steps can be combined or partially combined, so the actual execution order may change according to actual conditions.

[0030] The term "multiple" as used in this application refers to two or more than two. "And / or" describes the relationship between related objects, indicating that three relationships can exist. For example, A and / or B can mean: A exists alone, A and B exist at the same time, and B exists alone. The character " / " generally indicates that the related objects are in an "or" relationship.

[0031] In scenarios where the software generation platform and the storage platform are different, it is impossible to quickly and accurately store the software integrated in real time on the software generation platform to different storage platforms. The related technology manually converts the software of different software platforms to achieve data interaction between different software platforms, but the conversion efficiency is slow and prone to errors. For example, if there are multiple updated iterative software on the same date, the integrated software is omitted during the manual conversion process, or the software is overwritten and stored, it is very easy to lose the relevant integrated software on the same date.

[0032] To this end, one aspect of the present application provides a software management method based on a target script. Figure 1 , Figure 1 This is a flowchart of a software management method based on a target script, which is shown in an exemplary embodiment of the present application. The software management method at least includes S110 to S130; wherein the target script includes an interface call function and an iteration function, which are described in detail as follows:

[0033] S110: Calling an interface of a software warehouse based on an interface calling function to access software packages in the software warehouse, and traversing software packages in the software warehouse based on an iteration function; wherein the software warehouse belongs to a first platform, and the first platform provides an upload function.

[0034] The target script is a bridge that supports data interaction between the first platform and the second platform. By executing the target script, the software integrated on the second platform can be automatically stored in the software warehouse of the first platform without omission. The target script is a script constructed based on the basic script and the basic model. For example, the code of the basic script stored in the Gitlab warehouse is obtained, the interface call function and the iteration function are generated, and the relevant basic model in the Gitlab warehouse is obtained. The generated relevant functions are combined with the relevant basic model to construct the target script.

[0035] Through the interface call function in the target script, the interface of the software warehouse can be quickly called to form a corresponding access channel, so as to quickly access the software packages stored in the software warehouse. Among them, each warehouse corresponds to a warehouse path, and the warehouse path is associated with the warehouse name; the specific path of each software package is composed of the warehouse path and the software package name. For example, if the software warehouse path is A / zx / as / z and the software package name is q / w / e-00, the specific path of the software package is A / zx / as / z / q / w / e-00.

[0036] Through the iteration function in the target script, the software packages in the software warehouse can be traversed comprehensively and without omission, and each software package in each software warehouse can be traversed one by one. The iteration function can be a path.name function. In some embodiments, multiple threads can be set to traverse multiple software warehouses in parallel, that is, traverse each software package in multiple software warehouses at the same time, thereby improving the traversal efficiency.

[0037] The upload function is an upload method in the software package provided by the first platform. The software package may also include other tools, methods, functions, etc. to implement other functions to achieve efficient management of the integrated software. Through this method, the current integrated software is uploaded from the second platform to the software warehouse, thereby achieving cross-platform uploading and breaking through the data interaction barriers between different platforms and software.

[0038] In another exemplary embodiment, the script warehouse can be updated in real time, that is, the basic script code, basic model, etc. therein can be updated in real time. The construction of the target script can be based on the basic data in the updated script warehouse. The following is an exemplary description of the construction method of the target script:

[0039] Obtain updated basic scripts and basic models in the script warehouse; wherein the updated basic scripts and basic models are obtained after updating the initial basic scripts and initial basic models; construct a target script according to the updated basic scripts and basic models, interface information between the first platform and the second platform, and interface information between the first platform and the software warehouse.

[0040] The interface information between the first platform and the second platform is the key to the data intercommunication between the two platforms. The interface information includes but is not limited to the interface function, the interface addresses of the two platforms, etc. The interface information between the first platform and the software warehouse is the same. Among them, the first platform and the second platform are two relatively independent software platforms, which are two independent software programs. The second platform is a platform for integrating software. The software warehouse related to the first platform is used to store integrated software. The software warehouse can be a warehouse belonging to the first platform, or a warehouse independent of the first platform, which is used to store related software.

[0041] In some embodiments, the constructed target script may also be stored in a script warehouse, that is, the script warehouse includes but is not limited to the basic script, the basic model, the updated basic code, the updated basic model, the target script, etc. Among them, the script warehouse may also store the scripts, models, etc. constructed in each development and testing phase to store the construction products of the corresponding phase.

[0042] Exemplarily, the code update detection script can update the script warehouse in real time. Each time the target script is built or other construction actions are completed, the hash value calculation is performed according to the relevant calculation function in the code update detection script, the hash value of the current construction product is calculated, and all scripts, models, etc. in the current script warehouse are traversed to calculate multiple hash values ​​corresponding to the current script warehouse, and the hash value of the current construction product is compared with each hash value corresponding to the current script warehouse. Among them, the code update detection script can also calculate the hash value of the script, model, etc. in the current script warehouse in real time. In order to save the memory required for the program calculation process, in some embodiments, each script and model in the script warehouse corresponds to its own hash value, so as to quickly obtain the hash value of the script and model for comparison, thereby speeding up the subsequent hash value comparison speed and improving the comparison efficiency.

[0043] If the hash value of the current build product is the same as any hash value corresponding to the current script repository, it indicates that the current build product already exists in the current script repository and does not need to be stored repeatedly, that is, the current repository is not updated.

[0044] If the hash value of the current build product is different from all the hash values ​​corresponding to the current script warehouse, it indicates that the current build product is a new script, a new model, etc., and it needs to be stored in the current script warehouse, that is, the current script warehouse needs to be updated to obtain the updated basic script, basic model, etc., as the basic element for the next product construction. In the update storage process, the current date is used as the storage name of the new script, new model, etc., so as to quickly query the update data according to the date. Among them, the system time between the script warehouse, the first platform, and the second platform is the same, so that the operation and maintenance personnel can use the date as the retrieval condition to quickly obtain the data of the same date from the relevant objects to form an associated logical chain, which is convenient for the operation and maintenance personnel to analyze. For example, using December 1, 2024 as the retrieval condition, the integrated software integrated in the second platform within the date can be retrieved in the first platform. If the script and model of the date are stored in the script warehouse, the operation and maintenance personnel can know that the script warehouse has been updated within the date, so as to explore whether the target script has been adjusted within the date.

[0045] S120: If the target software package having the same integration date as the current integrated software is not traversed, a first software package for storing the current integrated software is created in the software repository, and the current integrated software is uploaded to the first software package based on an upload function; wherein the extension of the first software package is the initial extension, and the current integrated software is software integrated in the second platform.

[0046] In the related art, due to the failure to unify the system time between different software platforms, repeated data storage and repeated data processing occur. For example, due to the different system times of the first platform and the second platform, software A integrated in the second platform at 9:00 is essentially the same as software B in the first platform at 10:00. Since the system time of each platform is not calibrated and unified, software A will be stored repeatedly in the first platform, resulting in a waste of storage space.

[0047] The system time of the first platform and the second platform of this embodiment is the same, that is, the two platforms use the same standard time. This embodiment unifies the system time between different platforms to avoid repeated urging of storage data, repeated processing of data, etc. due to different platform system times. At the same time, this embodiment divides the software packages of the integrated software on different dates by the integration date, and the inherited software on different dates belong to different software packages. However, on the same date, multiple rounds of software integration operations may be performed, so that the number of software integrated on the same date is multiple. In order to store all the software integrated on the same date without omission, the extension name of the software package is used to distinguish the different software packages integrated on the same date. In addition, since the time calibration and unification of each platform are performed in this embodiment, the date can be used as the search condition from each platform, and the data with correlation can be accurately and quickly retrieved. For example, with December 1, 2024 as the search condition, the integrated software integrated in the second platform on that date can be retrieved in the first platform.

[0048] If the target software package with the same integration date as the current integrated software is not found, it indicates that the target software package with the integration date is not stored in the software warehouse, and a software package can be created in the software warehouse, and an initial extension name is added to it to obtain a first software package, and its initial extension name can be a suffix name composed of numbers and common characters such as "-00". For example, the initial package name of the created software package is: "A / zx / as / z / q / w / e", and the initial extension name "-00" is added to its suffix to obtain the first software package with the package name: "A / zx / as / z / q / w / e-00".

[0049] S130: If the target software package is traversed, a second software package for storing the current integrated software is created in the software repository, and the current integrated software is uploaded to the second software package based on the upload function; wherein the extension name of the second software package is determined according to the extension name of the target software package, and the first software package and the second software package are software packages belonging to the same date.

[0050] If the target software package is traversed, it indicates that the relevant integrated software has been stored within the integration date, that is, the current integrated software is not the first integrated software within the integration date. In order to avoid overwriting the integrated software within the same integration date, the current integrated software needs to be stored separately to retain all the integrated software within the same date. It is necessary to traverse and determine the latest extension of the target software package in the software warehouse, and determine the extension of the current second software package based on its latest extension. For example, if the target software package is traversed to: "A / zx / as / z / q / w / e-00", then add a preset number and / or character to its extension "-00", such as adding "1" to "-00" to obtain the extension "-01", thereby creating the second software package: "A / zx / as / z / q / w / e-01", and so on. If the latest extension of the target software package is "-05", the extension of the created second software package is "-06".

[0051] This embodiment calls the interface of the software warehouse of the first platform through the interface calling function of the target script to quickly access the software packages in the software warehouse, and traverses the software packages in the software warehouse through the iteration function in the target script, and creates software packages with different extensions belonging to the same date in the software warehouse to store the integrated software integrated in the second platform within the same date, and automatically stores the integrated software within the same date without omission to the software warehouse of another platform, which improves storage efficiency while avoiding the loss of integrated software, thereby improving the security of software management.

[0052] In another exemplary embodiment of the present application, the transfer process of the software package between various software warehouses is described in detail. Figure 2 , Figure 2 is based on Figure 1 The exemplary embodiment shown is a flow chart of another software management method based on a target script. The software management method is as follows Figure 1 On the basis of S110 to S130 shown, at least S210 to S220 are also included; wherein the first software package and the second software package belong to the first warehouse in the software warehouse, and are described in detail as follows:

[0053] S210: Perform a smoke test on the software in the first software package / the second software package, and move the specified software package that passes the test to the second warehouse in the software warehouse; wherein the software stage level represented by the second warehouse is higher than the software stage level represented by the first warehouse.

[0054] The initial storage location of the integrated software in the software warehouse is in the first warehouse, and can be adjusted manually or automatically to move to different software warehouses. The software stage levels corresponding to each software in the same software warehouse are the same, and the software stage levels represented by different software warehouses can be different. By dividing the warehouse software stage levels, software of the same software stage level can be aggregated into the same warehouse, which is convenient for quickly locking the warehouse where the software of the target software stage level is located.

[0055] Smoke Testing, also known as Build Verification Testing (BVT), is a software testing method used to quickly check whether the newly built system is stable enough for more in-depth functional testing in the early stages of software development. Smoke testing usually does not perform detailed functional verification. Its purpose is to quickly check and locate obvious errors that affect system stability. Its purpose is to improve the work efficiency of the development team and promptly discover and fix major problems that prevent further testing. Smoke testing includes but is not limited to multiple smoke tests, that is, smoke tests for related software can be multiple tests, and multiple tests can be performed on related software in a progressive manner, or different tests can be performed on related software in parallel. The specified software packages that pass all smoke tests will be moved to the second warehouse in the software warehouse.

[0056] S220: If a test report indicating that the function test of the designated software package is successful is received, the designated software package is moved to a third warehouse in the software warehouse; wherein the software stage level indicated by the third warehouse is higher than the software stage level indicated by the second warehouse.

[0057] The testing depth of functional testing is deeper than that of smoke testing. The tester can obtain the specified software package from the second warehouse to test the functional interface and other aspects. After the functional test is successful, the tester uploads the test report. The execution entity receives the test report indicating the success of the functional test of the specified software package and automatically moves it from the original warehouse to the third warehouse.

[0058] In some embodiments, the designated software in the first warehouse may be directly functionally tested, i.e., the smoke test process is omitted. If a test report indicating that the functional test of the designated software package is successful is received, the designated software package is directly moved from the first warehouse to the third warehouse.

[0059] In some embodiments, the software warehouse also includes a test warehouse for backing up and storing the first software package / second software package. Exemplarily, the first software package / second software package is backed up to the test warehouse, the test report is associated with the first software package / second software package, and the storage time of the first software package / second software package in each warehouse is recorded. Wherein, after uploading the first software package / second software package to the first warehouse, the first software package / second software package can be automatically mirrored and copied to the test warehouse for software backup. After receiving data related to the software package in the test warehouse, such as a test report, they can be quickly bound and related connections can be established, so that when retrieving the related software package, the bound data information can be quickly obtained. Wherein, the data information also includes the storage time of the first software package / second software package in each warehouse, and the storage start time, initial end time, storage duration, etc. in the corresponding warehouse can be quickly known to facilitate data analysis. For example, if the storage duration of the first software package / second software package in the first warehouse is greater than the preset duration, it is characterized that the software package is an inactive software package. In the case of insufficient storage in the test warehouse, the inactive software package can be deleted first to ensure the effective utilization of the storage space of the test warehouse.

[0060] In another exemplary embodiment of the present application, the transfer process of the software package between various software sub-warehouses is described in detail. Figure 3 , Figure 3 is based on Figure 2 The exemplary embodiment shown is a flow chart of another software management method based on a target script. The software management method is as follows Figure 2 The S210 shown in the figure also includes at least S310 to S320; wherein, the first warehouse and the second warehouse each include at least one sub-warehouse, and the name of each sub-warehouse includes a department name, a product name, a project name, a software type, and a software stage, which are described in detail as follows:

[0061] S310: Perform a first smoke test on the software in the first software package / the second software package, and move the software packages that have passed the test from the first sub-warehouse of the first warehouse to the second sub-warehouse of the first warehouse.

[0062] Department names include but are not limited to testing department, R&D department, and release department. Product names can be divided according to different software fields or software functions. Project names can be bound and marked according to specific entity projects. Software types include but are not limited to models, codes, s19, etc. Software stages include but are not limited to development stage, testing stage, vehicle stage, etc.

[0063] Smoke testing includes but is not limited to installation smoke testing: verifying the correctness and stability of software installation; integration smoke testing: verifying whether the integration between software systems is normal; regression smoke testing: verifying whether the basic functions of the system are affected after the software is updated or modified; full smoke testing: verifying whether all functional modules of the software system are working properly.

[0064] The first smoke test and the second smoke test are merely characterized as different smoke tests, and the present application does not limit their specific test contents.

[0065] The software stage levels corresponding to the sub-warehouses in the first warehouse are different, and the software stage level of the second sub-warehouse of the first warehouse is higher than that of the first sub-warehouse of the first warehouse.

[0066] S320: Perform a second smoke test on the software packages in the second sub-warehouse of the first warehouse, and move the specified software packages that pass the test in the second sub-warehouse of the first warehouse to the first sub-warehouse of the second warehouse.

[0067] Here, the second sub-warehouse of the first warehouse represents the sub-warehouse with the highest software stage level in the first warehouse. The highest level changes according to the changes of the sub-warehouses in the first warehouse. In some embodiments, the first warehouse also includes a third sub-warehouse or a fourth sub-warehouse, etc., and the highest-level sub-warehouse is the third sub-warehouse or the fourth sub-warehouse.

[0068] In this scenario, only software packages that pass all smoke tests can be moved from the first warehouse to the second warehouse. The software stage level of all sub-warehouses in the second warehouse is higher than any sub-warehouse in the first warehouse.

[0069] In another exemplary embodiment of the present application, how to determine the download software package required by the client is described in detail. Figure 4 , Figure 4 is based on Figure 1 The exemplary embodiment shown is a flow chart of another software management method based on a target script. The software management method is as follows Figure 1 Based on the S110 to S130 shown, at least S410 to S420 are also included, which are described in detail as follows:

[0070] S410: In response to a software download request from a client, a target software warehouse is determined according to identity information carried in the software download request; wherein each software warehouse corresponds to preset identity information, and each preset identity information corresponds to management authority or read-only authority for the corresponding software warehouse.

[0071] The client is the port that establishes a data interaction channel with the software warehouse. It can traverse the software packages in the software warehouse through OS functions, create corresponding folders on the client, and download related software packages to the client.

[0072] The identity information carried in the download request includes the identity of the requesting client, which can be used to quickly determine the manageable or read-only warehouse. The identity is an identifier that represents the department, position, and other information of the client login user. The download request also includes request information, software information, and so on.

[0073] S420: Determine the software package to be downloaded from the target software repository according to the request information in the download request, so that the client downloads the software package to be downloaded; wherein the request information includes a product name, a project name, and a software stage.

[0074] There is overlapping information between identity information and request information. For example, the request information also includes the department, so that the "department" information can be used to determine the target software warehouse and the software package to be downloaded. The poor information can achieve a double guarantee effect, that is, while determining the software package to be downloaded, it can also confirm whether the target software warehouse is wrong, thereby ensuring that the software package to be downloaded is accurately determined.

[0075] For example, by requesting information: "Department A - Product B - Project C - Testing Phase", the corresponding software package to be downloaded can be quickly determined from the target software warehouse. If, while determining the package to be downloaded, it is found that the target software warehouse does not correspond to Department A, it can be determined that the target software warehouse is determined incorrectly and needs to be reconfirmed.

[0076] In another exemplary embodiment of the present application, a method for generating a version number involved in the process of integrating software on the second platform is described in detail. Figure 5 , Figure 5 is based on Figures 1 to 4 A flowchart of another software management method based on a target script is shown in any of the exemplary embodiments shown in FIG. Figure 1 On the basis of S110 to S130 shown, at least S510 to S520 are also included; wherein the package names of the first software package and the second software package both include software version numbers, which are described in detail as follows:

[0077] S510: According to the department name and project name corresponding to the current integrated software, determine the historical version number of the historical integrated software from the software packages in the software warehouse.

[0078] During the process of integrating software on the second platform, the department name and project name can be easily known, and the software packages in the software warehouse can be traversed through the version iteration function in the target script to determine the historical version number.

[0079] S520: Generate a software version number of the current integrated software according to the historical version number and the update function.

[0080] In an exemplary embodiment, in order to ensure data security, data on both the first platform and the second platform need to be encrypted and decrypted. For example, the historical version number and the local first preset key are input into the update function, and the new historical version number is calculated to be used as the software version number of the current integrated software. Among them, the first preset key is a key preset in the second platform, and the first platform is preset with a second preset key, which is paired with the first preset key and can be mutually encrypted / decrypted to ensure data security.

[0081] In another exemplary embodiment, the historical version number is 1.0, and according to the calculation mechanism of the update function, for example, the version number plus one mechanism, the software version number of the current integrated software is calculated to be 2.0.

[0082] In another exemplary embodiment of the present application, the application scenarios of the above-mentioned multiple software management methods are exemplarily described. Figure 6 , Figure 6 It is a schematic diagram of the application scenario of the software management method based on the target script of the present application. Among them, the first platform 100 is the Jfrog platform; the second platform 200 is the Jenkins platform; the GitLab warehouse 300 can be affiliated with the first platform 100, or can be independent of the first platform 100; there are multiple warehouses of the software warehouse 400, each warehouse corresponds to a corresponding customer and is set with corresponding user permissions; the client 500 can be any PC terminal or mobile terminal.

[0083] The GitLab repository 300 is a repository for storing basic code, basic models, and target scripts; the target script may be a Python script, which includes an interface call function and an iteration function, etc.

[0084] The software warehouse 400 includes a first warehouse for DEV warehouse, a second warehouse for UAT warehouse, and a third warehouse for PROD warehouse, and the software stage levels are increased in sequence. For example, after the first platform 100 integrates the software, it will be automatically uploaded to the development smoke warehouse (DEV warehouse). After the smoke test is passed, the software can only be promoted to the internal test warehouse (UAT warehouse) according to the smoke report. The tester obtains the software package from the internal test warehouse for functional interface and other tests. After the project team reviews and accepts the software test, the test team uploads the test report and promotes the final version of the software to the software release warehouse (PROD warehouse). The project manager holds a review meeting to determine that the software can be released and delivered normally, and then obtains the final version of the software from the software release warehouse to deliver the whole vehicle. Seven assists, only the relevant personnel have read permissions for each warehouse, and only the project PM / PO / CI has management permissions for the relevant warehouses.

[0085] In the process of integrating software on the second platform 200, the execution program is used as the execution subject to execute the target script, call the interface of the software warehouse 400 based on the interface call function to access the software package in the software warehouse 400, and traverse the software package in the software warehouse 400 based on the iteration function; wherein the software warehouse 400 belongs to the first platform 100, and the first platform 100 provides an upload function; if the target software package representing the same integration date as the current integrated software is not traversed, then a first software package for storing the current integrated software is created in the software warehouse 400, and the current integrated software is uploaded to the first software package based on the upload function of the first platform 100; wherein the extension of the first software package is the initial extension; if the target software package is traversed, then a second software package for storing the current integrated software is created in the software warehouse 400, and the current integrated software is uploaded to the second software package based on the upload function; wherein the extension of the second software package is determined based on the extension of the target software package, and the first software package and the second software package are software packages belonging to the same date.

[0086] The client 500 sends a download request to the software warehouse 400 to directly download the target software package; or sends a download request to the first platform 100, and the first platform 100 calls a related function to determine the software package to be downloaded from the software warehouse 400.

[0087] Another aspect of the present application also provides a software management device based on a target script, such as Figure 7 As shown, Figure 7 : is a schematic diagram of a software management device based on a target script according to an exemplary embodiment of the present application. The target script includes an interface call function and an iteration function, and the software management device 700 includes:

[0088] The access module 710 calls the interface of the software warehouse based on the interface calling function to access the software packages in the software warehouse, and traverses the software packages in the software warehouse based on the iteration function; wherein the software warehouse belongs to the first platform, and the first platform provides the upload function;

[0089] The first uploading module 730, if the target software package having the same integration date as the current integrated software is not traversed, creates a first software package for storing the current integrated software in the software warehouse, and uploads the current integrated software to the first software package based on the upload function; wherein the extension of the first software package is the initial extension, and the current integrated software is the software integrated in the second platform;

[0090] The second uploading module 750, if traversing to the target software package, creates a second software package for storing the current integrated software in the software warehouse, and uploads the current integrated software to the second software package based on the upload function; wherein the extension name of the second software package is determined according to the extension name of the target software package, and the first software package and the second software package are software packages belonging to the same date.

[0091] In another exemplary embodiment, the first software package and the second software package belong to a first warehouse in the software warehouse, and the software management device 700 further includes:

[0092] A smoke test module performs a smoke test on the software in the first software package / the second software package, and moves the specified software package that passes the test to the second warehouse in the software warehouse; wherein the software stage level represented by the second warehouse is higher than the software stage level represented by the first warehouse;

[0093] The software package transfer module moves the specified software package to a third warehouse in the software warehouse if a test report indicating that the function test of the specified software package is successful is received; wherein the software stage level indicated by the third warehouse is higher than the software stage level indicated by the second warehouse.

[0094] In another exemplary embodiment, the software warehouse further includes a test warehouse, and the software management device 700 further includes:

[0095] The test storage module backs up the first software package / the second software package to the test warehouse, associates the test report with the first software package / the second software package, and records the storage time of the first software package / the second software package in each warehouse.

[0096] In another exemplary embodiment, the first warehouse and the second warehouse each include at least one sub-warehouse, and the name of each sub-warehouse includes a department name, a product name, a project name, a software type, and a software stage; the smoke test module includes:

[0097] A first smoke test unit performs a first smoke test on the software in the first software package / the second software package, and moves the software packages that have passed the test from the first sub-warehouse of the first warehouse to the second sub-warehouse of the first warehouse;

[0098] The second smoke test unit performs a second smoke test on the software packages in the second sub-warehouse of the first warehouse, and moves the designated software packages that pass the test in the second sub-warehouse of the first warehouse to the first sub-warehouse of the second warehouse.

[0099] In another exemplary embodiment, the software management device 700 further includes:

[0100] A response module, in response to a software download request from a client, determines a target software warehouse according to the identity information carried in the software download request; wherein each software warehouse corresponds to preset identity information, and each preset identity information corresponds to management authority or read-only authority for the corresponding software warehouse;

[0101] The download module determines the software package to be downloaded from the target software warehouse according to the request information in the download request, so that the client can download the software package to be downloaded; wherein the request information includes the product name, project name, and software stage.

[0102] In another exemplary embodiment, the software management device 700 further includes:

[0103] Obtain a module to obtain an updated basic script and basic model in a script repository; wherein the updated basic script and basic model are obtained after updating the initial basic script and initial basic model;

[0104] The construction module constructs a target script according to the updated basic script and basic model, the interface information of the first platform and the second platform, and the interface information of the first platform and the software warehouse.

[0105] In another exemplary embodiment, the package names of the first software package and the second software package both include software version numbers, and the software management device 700 further includes:

[0106] The determination module determines the historical version number of the historical integrated software from the software packages in the software warehouse according to the department name and project name corresponding to the current integrated software;

[0107] The generation module generates the software version number of the current integrated software based on the historical version number and the update function.

[0108] The software management device of the present application calls the interface of the software warehouse of the first platform through the interface calling function of the target script to quickly access the software packages in the software warehouse, and traverses the software packages in the software warehouse through the iteration function in the target script, and creates software packages belonging to the same date but with different extensions in the software warehouse to store the integrated software obtained by integrating in the second platform within the same date, and automatically stores the integrated software within the same date without omission in the software warehouse of another platform, which improves the storage efficiency while avoiding the loss of the integrated software, thereby improving the security of software management.

[0109] It should be noted that the software management device provided in the above embodiment and the software management method provided in the above 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 and will not be repeated here.

[0110] Another aspect of the present application provides an electronic device, comprising: a controller; and a memory for storing one or more programs, wherein when the one or more programs are executed by the controller, the above-mentioned software management method is executed.

[0111] See also Figure 8 , Figure 8 1 is a schematic diagram of the structure of a computer system of an electronic device shown in an exemplary embodiment of the present application, which shows a schematic diagram of the structure of a computer system of an electronic device suitable for implementing an embodiment of the present application.

[0112] It should be noted that Figure 8 The computer system 800 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.

[0113] like Figure 8 As shown, the computer system 800 includes a central processing unit (CPU) 801, which can perform various appropriate actions and processes according to the program stored in the read-only memory (ROM) 802 or the program loaded from the storage part 808 to the random access memory (RAM) 803, such as executing the method in the above embodiment. In the RAM 803, various programs and data required for system operation are also stored. The CPU 801, ROM 802 and RAM 803 are connected to each other through a bus 804. An input / output (I / O) interface 805 is also connected to the bus 804.

[0114] The following components are connected to the I / O interface 805: an input section 806 including a keyboard, a mouse, etc.; an output section 807 including a cathode ray tube (CRT), a liquid crystal display (LCD), etc., and a speaker, etc.; a storage section 808 including a hard disk, etc.; and a communication section 809 including a network interface card such as a LAN (Local Area Network) card, a modem, etc. The communication section 809 performs communication processing via a network such as the Internet. A drive 810 is also connected to the I / O interface 805 as needed. A removable medium 811, such as a magnetic disk, an optical disk, a magneto-optical disk, a semiconductor memory, etc., is installed on the drive 810 as needed so that a computer program read therefrom is installed into the storage section 808 as needed.

[0115] 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 through a communication section 809, and / or installed from a removable medium 811. When the computer program is executed by a central processing unit (CPU) 801, various functions defined in the system of the present application are executed.

[0116] It should be noted that the computer-readable medium shown in the embodiment of the present application can be a computer-readable signal medium or a computer-readable storage medium or any combination of the above two. The computer-readable storage medium can be, for example, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, device or device, or any combination of the above. More specific examples of computer-readable storage media can 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 disk 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 storage medium can be any tangible medium containing or storing a program, which can be used by an instruction execution system, device or device or used in combination with it. In the present application, a computer-readable signal medium can include a data signal propagated in a baseband or as a part of a carrier wave, wherein a computer-readable computer program is carried. Such propagated data signals may take a variety of forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination of the above. Computer-readable signal media may also be any computer-readable medium other than computer-readable storage media, which may send, propagate, or transmit programs for use by or in conjunction with an instruction execution system, apparatus, or device. The computer program contained on the computer-readable medium may be transmitted using any appropriate medium, including but not limited to: wireless, wired, etc., or any suitable combination of the above.

[0117] The flowchart and block diagram in the accompanying drawings illustrate the possible architecture, functions and operations of the system, method and computer program product according to various embodiments of the present application. Wherein, each box in the flowchart or block diagram can represent a module, a program segment, or a part of the code, and the above-mentioned module, program segment, or a part of the code contains one or more executable instructions for realizing the specified logical function. It should also be noted that in some alternative implementations, the functions marked in the box can also occur in a different order than the order 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 a specified function or operation, or can be implemented with a combination of dedicated hardware and computer instructions.

[0118] 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. The names of these units do not, in some cases, constitute limitations on the units themselves.

[0119] Another aspect of the present application further provides a computer-readable storage medium on which a computer program is stored, and when the computer program is executed by a processor, the software management method as described above is implemented. The computer-readable storage medium may be included in the electronic device described in the above embodiment, or may exist independently without being assembled into the electronic device.

[0120] Another aspect of the present application also provides a computer program product or a computer program, which includes a computer instruction stored in a computer-readable storage medium. A processor of a computer device reads the computer instruction from the computer-readable storage medium, and the processor executes the computer instruction, so that the computer device executes the software management method provided in each of the above embodiments.

[0121] According to one aspect of an embodiment of the present application, a computer system is also provided, including a central processing unit (CPU), which can perform various appropriate actions and processes according to a program stored in a read-only memory (ROM) or a program loaded from a storage portion into a random access memory (RAM), such as executing the method in the above embodiment. In RAM, various programs and data required for system operation are also stored. CPU, ROM and RAM are connected to each other via a bus. An input / output (I / O) interface is also connected to the bus.

[0122] The following components are connected to the I / O interface: an input part including a keyboard, a mouse, etc.; an output part including a cathode ray tube (CRT), a liquid crystal display (LCD), etc., and a speaker; a storage part including a hard disk, etc.; and a communication part including a network interface card such as a LAN (Local Area Network) card, a modem, etc. The communication part performs communication processing via a network such as the Internet. A drive is also connected to the I / O interface as needed. Removable media, such as a magnetic disk, an optical disk, a magneto-optical disk, a semiconductor memory, etc., are installed on the drive as needed so that the computer program read therefrom is installed into the storage part as needed.

[0123] 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. A person skilled in the art can easily make corresponding changes or modifications based on the main concept 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 software management method based on target script, characterized in that: The target script includes an interface calling function and an iteration function, and the software management method includes: Based on the interface calling function, an interface of a software warehouse is called to access the software packages in the software warehouse, and the software packages in the software warehouse are traversed based on the iteration function; wherein the software warehouse belongs to a first platform, and the first platform provides an upload function; If the target software package having the same integration date as the current integrated software is not traversed, a first software package for storing the current integrated software is created in the software warehouse, and the current integrated software is uploaded to the first software package based on the upload function; wherein the extension of the first software package is the initial extension, and the current integrated software is the software integrated in the second platform; If the target software package is traversed, a second software package for storing the current integrated software is created in the software repository, and the current integrated software is uploaded to the second software package based on the upload function; wherein the extension name of the second software package is determined according to the extension name of the target software package, and the first software package and the second software package are software packages belonging to the same date.

2. The software management method according to claim 1, characterized in that: The first software package and the second software package belong to a first warehouse in the software warehouse, and the software management method further includes: Performing a smoke test on the software in the first software package / the second software package, and moving the designated software package that passes the test to a second warehouse in the software warehouse; wherein the software stage level represented by the second warehouse is higher than the software stage level represented by the first warehouse; If a test report indicating that the function test of the designated software package is successful is received, the designated software package is moved to a third warehouse in the software warehouse; wherein the software stage level indicated by the third warehouse is higher than the software stage level indicated by the second warehouse.

3. The software management method according to claim 2, characterized in that: The software warehouse also includes a test warehouse, and the software management method also includes: The first software package / the second software package is backed up to the test warehouse, the test report is associated with the first software package / the second software package, and the storage time of the first software package / the second software package in each warehouse is recorded.

4. The software management method according to claim 2, characterized in that: The first warehouse and the second warehouse each include at least one sub-warehouse, and the name of each sub-warehouse includes department name, product name, project name, software type, and software stage; The step of performing a smoke test on the software in the first software package / the second software package and moving the specified software package that passes the test to the second warehouse in the software warehouse includes: Performing a first smoke test on the software in the first software package / the second software package, and moving the software packages that have passed the test from the first sub-warehouse of the first warehouse to the second sub-warehouse of the first warehouse; A second smoke test is performed on the software packages in the second sub-warehouse of the first warehouse, and the designated software packages that pass the test in the second sub-warehouse of the first warehouse are moved to the first sub-warehouse of the second warehouse.

5. The software management method according to claim 1, characterized in that: The software management method further includes: In response to a software download request from a client, a target software warehouse is determined according to the identity information carried in the software download request; wherein each software warehouse corresponds to preset identity information, and each preset identity information corresponds to management authority or read-only authority for the corresponding software warehouse; According to the request information in the download request, the software package to be downloaded is determined from the target software warehouse, so that the client downloads the software package to be downloaded; wherein the request information includes a product name, a project name, and a software stage.

6. The software management method according to any one of claims 1 to 5, characterized in that: The software management method further includes: Obtaining an updated basic script and basic model in a script repository; wherein the updated basic script and basic model are obtained by updating the initial basic script and initial basic model; The target script is constructed according to the updated basic script and basic model, the interface information of the first platform and the second platform, and the interface information of the first platform and the software warehouse.

7. The software management method according to any one of claims 1 to 5, characterized in that: The package names of the first software package and the second software package both include software version numbers, and the software management method further includes: According to the department name and project name corresponding to the current integrated software, determine the historical version number of the historical integrated software from the software packages in the software warehouse; The software version number of the current integrated software is generated according to the historical version number and the update function.

8. A software management device based on a target script, characterized in that: The target script includes an interface calling function and an iteration function, and the software management device includes: an access module, calling an interface of a software warehouse based on the interface calling function to access software packages in the software warehouse, and traversing the software packages in the software warehouse based on the iteration function; wherein the software warehouse belongs to a first platform, and the first platform provides an upload function; The first uploading module is configured to create a first software package for storing the current integrated software in the software warehouse if the target software package having the same integration date as the current integrated software is not traversed, and upload the current integrated software to the first software package based on the upload function; wherein the extension of the first software package is the initial extension, and the current integrated software is the software integrated in the second platform; The second uploading module, if traversing to the target software package, creates a second software package for storing the current integrated software in the software warehouse, and uploads the current integrated software to the second software package based on the upload function; wherein the extension name of the second software package is determined according to the extension name of the target software package, and the first software package and the second software package are software packages belonging to the same date.

9. An electronic device, characterized in that: include: Controller; The memory is used to store one or more programs. When the one or more programs are executed by the controller, the controller implements the software management method according to any one of claims 1 to 7.

10. 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 software management method according to any one of claims 1 to 7.

Citation Information

Cited By

  • Software repository management method and system, electronic equipment, storage medium and program product

    CN120276756A

  • Software warehouse management method, system, electronic device, storage medium and program product

    CN120276756B