Software publishing method and device, computer readable storage medium, and terminal device

By obtaining the software material table and publishing components to be released according to the component type and publishing method, the problem of difficult components to obtain and classify after software is released in the prior art is solved, and efficient release and use of components is achieved.

CN114610367BActive Publication Date: 2025-05-16SPREADTRUM COMMUNICATION (SHANGHAI) CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202210311715.3
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-03-28
Publication Date
2025-05-16
Estimated Expiration
2042-03-28

AI Technical Summary

Technical Problem

When the software is released, the software is released as a whole, which makes it impossible for users to obtain the required components directly from the software package, and lacks component classification, which affects usage efficiency.

Method used

By obtaining the software material table of the software collection to be released, determining the components to be released, and publishing the source code, target code and software package data exchange files of the components to be released according to the component type and publishing method, supporting the classification and customized release of components.

Benefits of technology

It enables users to obtain the required components more conveniently, improves the efficiency of components, simplifies the user's use process, and effectively protects R&D results.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114610367B_ABST
    Figure CN114610367B_ABST
Patent Text Reader

Abstract

The present invention discloses a software publishing method and device, a computer-readable storage medium, and a terminal device. The software publishing method includes: obtaining a software material list of a software set to be released; determining the software package data exchange file corresponding to each component to be released according to the software material list index, and obtaining the source code identifier, component type, and publishing method of the component to be released; according to the publishing method and component type of the component to be released, the source code, object code, and / or software package data exchange file of the component to be released are released. The above technical solution can be used to release a software set in components and classify each component, which greatly improves the user experience of the component and facilitates the user to use the component better.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the field of computer technology, and more specifically, to a software publishing method and device, a computer-readable storage medium, and a terminal device. Background Art

[0002] Software needs to go through a series of processes from the beginning of development, and the software needs to be released after the software development is completed. Software release is an important link for R&D personnel to provide software to users.

[0003] In the prior art, when releasing software, the software to be released this time is released as a whole.

[0004] However, in the prior art, after software is released, users cannot directly obtain the required components from the software package, but need to further decompose the software package to obtain the required components. Summary of the invention

[0005] The technical problem solved by the present invention is how to publish components in a software package so that users can more conveniently obtain the required components.

[0006] To solve the above technical problems, an embodiment of the present invention provides a software publishing method, the software publishing method comprising: obtaining a software material table of a software set to be published, the software material table comprising a software material table index and at least one software package data exchange file, the software material table index comprising information of components to be published, the software package data exchange file corresponding to the components to be published one by one, the software set to be published comprising all components to be published, the components to be published comprising source code and object code thereof, the source code being the initial source code or the modified source code; determining the software package data exchange file corresponding to each component to be published according to the software material table index, and obtaining the source code identifier, component type and publishing mode of the component to be published; publishing the source code, object code and / or software package data exchange file of the component to be published according to the publishing mode and component type of the component to be published.

[0007] Optionally, the component types include open source components, third-party components, derived components and self-developed components, the derived components are developed based on native components, the native components include open source components or third-party components, and the derived components include the identifier of the native components.

[0008] Optionally, when the component type of the component to be released is a derivative component, after the source code, object code and / or software package data exchange file of the component to be released are released, it includes: obtaining the native component corresponding to the derivative component and its release method; selectively releasing the software package data exchange file and / or source code of the component to be released according to the release method of the native component, and classifying the source code of the native component according to the component type of the native component.

[0009] Optionally, the software package data exchange file includes a storage location of source code corresponding to the component to be released, and obtaining the identification, component type and release method of the source code of the component to be released includes: determining the storage location corresponding to the source code of each component to be released according to the software package data exchange file; obtaining the identification, component type and release method of the source code of the component to be released.

[0010] Optionally, the source code of the component to be released is obtained from a storage location corresponding to the source code of the component to be released or according to an identifier of the source code.

[0011] Optionally, obtaining the software material list of the software set to be released includes: adding a first task to the software set to be released, generating the software package data exchange file of each component to be released, so as to add it to the software material list; adding a second task to the software set to be released, generating the software material list index of the software set to be released, so as to add it to the software material list.

[0012] Optionally, the publishing method includes a first release, and the publishing of the source code, object code and / or software package data exchange file of the component to be released according to the publishing method and component type of the component to be released includes: when the publishing method of the component to be released is the first release, publishing the software package data exchange file, modified source code and object code of the component to be released.

[0013] Optionally, the publishing method includes a second publishing, and the publishing of the source code, target code and / or software package data exchange file of the component to be released according to the publishing method and component type of the component to be released includes: when the publishing method of the component to be released is the second publishing, publishing the software package data exchange file and target code of the component to be released, and the target code is compiled according to the modified source code.

[0014] Optionally, the publishing method includes a third publishing, and the publishing of the source code, object code and / or software package data exchange file of the component to be released according to the publishing method and component type of the component to be released includes: when the publishing method is the third publishing, publishing the software package data exchange file of the component to be released, and the software package data exchange file is used to obtain the identifier of the initial source code from the storage location corresponding to the source code.

[0015] Optionally, the software publishing method further comprises: classifying the source code, object code and / or software package data exchange file of each component to be published according to the component type of each component to be published.

[0016] Optionally, the software package data exchange file includes copyright information and / or license information of the component to be released.

[0017] An embodiment of the present invention also discloses a software publishing device, which includes: an acquisition module, used to acquire a software material list of a software set to be released, the software material list includes a software material list index and at least one software package data exchange file, the software material list index includes information of components to be released, the software package data exchange file corresponds to the components to be released one by one, the software set to be released includes all components to be released, the components to be released include source code and object code thereof, the source code is the initial source code or the modified source code; a storage location determination module, used to determine the software package data exchange file corresponding to each component to be released according to the software material list index, and acquire the source code identifier, component type and publishing method of the component to be released; a publishing module, used to publish the source code, object code and / or software package data exchange file of the component to be released according to the publishing method and component type of the component to be released.

[0018] An embodiment of the present invention further discloses a terminal device, including a memory and a processor, wherein the memory stores a computer program executable on the processor, and when the computer program is executed by the processor, the steps of any one of the above-mentioned software publishing methods are executed.

[0019] An embodiment of the present invention further discloses a computer-readable storage medium, which is a non-volatile storage medium or a non-transient storage medium, on which a computer program is stored. When the computer program is executed by a processor, the steps of any of the above-mentioned software publishing methods are executed.

[0020] An embodiment of the present application further provides a computer program product, which includes a computer program. When the computer program is run on a computer, the computer is enabled to execute the steps of the above-mentioned software publishing method.

[0021] An embodiment of the present application also provides a communication system, including a network device and a terminal device for executing the above-mentioned software publishing method.

[0022] An embodiment of the present application further provides a chip (or a data transmission device) on which a computer program is stored. When the computer program is executed by the chip, the steps of the above-mentioned software publishing method are implemented.

[0023] Compared with the prior art, the technical solution of the embodiment of the present invention has the following beneficial effects:

[0024] The present invention proposes a software publishing method, which determines the components to be released this time by obtaining the software material table of the software set to be released. The source code identification, publishing mode and component type of the components to be released are obtained, and the source code, target code and / or software package data exchange file of the components to be released are released according to the publishing mode and component type of the components to be released. The source code of the components to be released can be selectively released to prevent the source code of key products from being leaked, and play a role in protecting research and development results. The components to be released are released according to the component type, so that users can classify and use the components to be released according to the component type of the components to be released.

[0025] Furthermore, the components to be released are divided into multiple component types, including open source components, third-party components, derivative components and self-developed components. The object code corresponding to each component to be released is released according to the component type of the component to be released, and the object code of each component to be released can be classified to facilitate users to classify and use it according to the component type of the object code. Since the derivative components are developed based on native components, the software package data exchange file and / or source code of the component to be released is selectively released according to the release method of the native components. When the software package data exchange file and / or source code of the native component is released, the user can directly obtain the native component corresponding to the derivative component, simplify the use steps of the derivative component, and optimize the user experience when using the derivative component.

[0026] Furthermore, multiple publishing methods are set for the components to be released. R&D personnel can choose the corresponding publishing method according to the confidentiality and importance of the components to be released, and publish different content according to different publishing methods, so as to realize customized release of products, simplify the process of selecting release content, and effectively protect R&D results. BRIEF DESCRIPTION OF THE DRAWINGS

[0027] Figure 1 It is an overall flow chart of a software publishing method provided by an embodiment of the present invention;

[0028] Figure 2 It is a specific flow chart of a software publishing method in a specific application scenario provided by an embodiment of the present invention;

[0029] Figure 3 It is a specific implementation flow chart of a derivative component release provided by an embodiment of the present invention;

[0030] Figure 4 It is a structural diagram of a software publishing device provided by an embodiment of the present invention. DETAILED DESCRIPTION

[0031] As described in the background technology, after the software development is completed, the software needs to be released. The release of software is an important link for R&D personnel to provide software to users. When releasing software, the prior art releases the software to be released as a whole. As a result, after the software is released, users cannot directly obtain the required components from the software package, but need to further decompose and process the software package to obtain the partial components required by the users. In addition, the prior art does not classify the components, so users have no way of knowing the types of each component and cannot make better use of the components.

[0032] In the embodiment of the present invention, the software material table of the software set to be released is obtained to determine the components to be released this time. The source code identification, release mode and component type of the components to be released are obtained, and the source code, target code and / or software package data exchange file of the components to be released are released according to the release mode and component type of the components to be released. The source code of the components to be released can be selectively released to prevent the source code of key products from being leaked, which plays a role in protecting research and development results. The components to be released are released according to the component type, so that users can classify and use the components to be released according to the component type of the components to be released.

[0033] Furthermore, the components to be released are divided into multiple component types, including open source components, third-party components, derivative components and self-developed components. The object code corresponding to each component to be released is released according to the component type of the component to be released, and the object code of each component to be released can be classified to facilitate users to classify and use it according to the component type of the object code. Since the derivative components are developed based on native components, the software package data exchange file and / or source code of the component to be released is selectively released according to the release method of the native components. When the software package data exchange file and / or source code of the native component is released, the user can directly obtain the native component corresponding to the derivative component, simplify the use steps of the derivative component, and optimize the user experience when using the derivative component.

[0034] Furthermore, multiple publishing methods are set for the components to be released. R&D personnel can choose the corresponding publishing method according to the confidentiality and importance of the components to be released, and publish different content according to different publishing methods, so as to realize customized release of products, simplify the process of selecting release content, and effectively protect R&D results.

[0035] In order to make the above-mentioned purposes, features and advantages of the present invention more obvious and easy to understand, the specific embodiments of the present invention are described in detail below in conjunction with the accompanying drawings. Obviously, the described embodiments are only part of the embodiments of the present invention, rather than all the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of the present invention.

[0036] Figure 1 It is an overall flow chart of a software publishing method provided by an embodiment of the present invention.

[0037] In a specific implementation, the software publishing method described in steps 101 to 103 below can be used in a terminal device. The above steps can be specifically performed by the terminal device, or by a chip with a data processing function in the terminal device, or by a chip module of a chip with a data processing function in the terminal device, such as an application processor of a mobile terminal.

[0038] Specifically, Figure 1 As shown, the software publishing method may include the following steps:

[0039] In step 101, a software material list of a software set to be released is obtained.

[0040] In step 102, the software package data exchange file corresponding to each to-be-released component is determined according to the software material list index, and the source code identifier, component type and release mode of the to-be-released component are obtained.

[0041] In step 103, the source code, object code and / or software package data exchange file of the component to be released is released according to the release mode and component type of the component to be released.

[0042] In the specific implementation of step 101, the software bill of material (Sofware Bill of Material, SBoM) includes a software bill of material index (Sofware Bill of Material Index, SBoM Index) and at least one software package data exchange file (Software Package Data Exchange, SPDX), and the software set to be released includes the source code of all components to be released and their corresponding target code, and the target code is obtained by pre-compiling the source code of the components to be released.

[0043] In a non-limiting embodiment, the software bill of materials index can be obtained by adding a first task to the software set to be released, such as Generate_SBoM_Task, and using this task to generate a software bill of materials index for the software set to be released. The software bill of materials index includes information on the source code and target code of all components to be released, as well as the correspondence between each component to be released and each software package data exchange file.

[0044] In a non-limiting embodiment, the software package data exchange file can be obtained by adding a second task to the software set to be released, such as Generate_SPDX_Task, and using this task to generate a software package data exchange file for the source code of each component to be released. The software package data exchange file corresponds to the component to be released one by one, and the software package data exchange file includes the storage location of the source code of the corresponding component. Specifically, the storage location can be a path in a computer device. According to the storage location of the source code of the component to be released, the source code of the component to be released can be obtained, and the identification, release method and component type of the source code of the component to be released can be obtained. In addition, the software package data exchange file can also include the copyright information (Copyright) and license information (License) of the component to be released, so as to obtain information such as the author of the component to be released.

[0045] In a specific implementation, the source code may be an initial source code, which may be obtained from an open source library. The initial source code is not modified before being released, so the corresponding initial source code may be obtained from the open source library according to the identifier of the initial source code, and compiled to obtain the target code, wherein the open source library includes multiple open source components.

[0046] In a specific implementation, the source code may be a modified source code, the content of the modified source code is inconsistent with the original source code. The modified source code may be a source code developed by the developer himself, or developed based on the original source code.

[0047] In the specific implementation of step 102, each component to be released indicated by the software material list index is determined according to the information of the component to be released in the software material list index, and then the storage location of the source code of the component to be released is determined according to the software package data exchange file corresponding to each component to be released. The source code, release method and component type of the component to be released can be obtained from the storage location corresponding to the component to be released.

[0048] In a specific embodiment, the source code identifier, component type and release method of the component to be released can be represented in the form of a tag, and the tag can be stored in a database or in the remark information of the source code. The component to be released has a corresponding relationship with the tag in the database. When the source code of the component to be released is obtained, the tag corresponding to the component to be released can be obtained from the database to determine the component type and release method of the component to be released.

[0049] Since the component to be released has a component type and a release method, in the specific implementation of step 103, it can be determined how to release the source code, object code and / or software package data exchange file of the component to be released according to the release method of the component to be released, and the component to be released can be classified according to the component type.

[0050] In a non-limiting embodiment, the component to be released has a component type, and the component type includes an open source component (Open Source), a third-party component (3 rd Open source components refer to components with public source code; third-party components refer to non-open source components developed by third parties; derivative components are components formed by R&D personnel improving the code of native components. Derivative components are developed based on native components. Native components include open source components or third-party components, and derivative components include the logo of native components; self-developed components are components independently developed by R&D personnel.

[0051] The component tags include:

[0052] Component type: Open Source, third party (3 rd Party), Derivative, Owned; Release methods: first release, second release, third release.

[0053] In the specific implementation, the R&D personnel can decide the release content of the component to be released according to the specific application scenario. When it is necessary to release the software package data exchange file, modified source code and its target code of the component to be released, determine that the release mode of the component is the first release. At this time, the identifier of the modified source code can be obtained from the label of the component to be released. The identifier can be the name and version number of the modified source code. Therefore, when the release mode of the component to be released is the first release, the software package data exchange file, modified source code and its target code of the component are released. Specifically, the component to which the modified source code belongs can be an open source component, a third-party component, a derivative component or a self-developed component. Users can also obtain the copyright information and license information of the component from the software package data exchange file.

[0054] In specific implementations, R&D personnel can decide the release content of the component to be released according to the specific application scenario. When it is necessary to release the software package data exchange file and the target code of the component to be released, the release mode of the component is determined to be the second release. At this time, the identifier of the modified source code can be obtained from the label of the component to be released. The identifier can be the name and version number of the modified source code. In the second release, the target code is compiled based on the modified source code. The second release can be selected to not release the modified source code, and only the compiled target code can be released to protect the research and development results. Therefore, when the release mode of the component to be released is the second release, the software package data exchange file and the target code of the component to be released are released, and the user can obtain the copyright information and license information of the component from the software package data exchange file.

[0055] It should be noted that when the release mode of the component to be released is the second release, it is sufficient to provide content that meets user needs. For example, when the release mode is the second release, only the target code of the component to be released can be released. The specific release content can be adjusted according to actual conditions, and the present invention is not limited here.

[0056] In a specific implementation, the R&D personnel can decide the release content of the component to be released according to the specific application scenario. When it is necessary to release the software package data exchange file of the component to be released, the release mode of the component is determined to be the third release. At this time, the identifier of the initial source code can be obtained from the label of the component to be released. The identifier can be the name and version number of the initial source code. In the third release, the component to be released can be the initial source code. Specifically, the initial source code can be an open source component or a third-party component. The user can obtain the corresponding source code from the open source library according to the name and version number of the source code, and compile the source code to obtain the corresponding target code.

[0057] It should be noted that when the release method of the component to be released is the third release, it is sufficient to provide content that meets user needs. For example, the source code of the component to be released can be directly released, or the source code and software package data exchange file can be released. The specific release content can be adjusted according to actual conditions, and the present invention is not limited here.

[0058] In a non-limiting embodiment, when releasing components to be released, source code, object code and / or software package data exchange files of each component to be released are classified according to the component type of each component to be released.

[0059] In an embodiment of the present invention, the software material list is obtained to determine the storage location of the components to be released and their source codes in the software collection to be released, and the software collection to be released is released in the form of multiple components to be released. According to the release method and component type of the components to be released, the source code, target code and / or software package data exchange file of the components to be released are released, and the relevant content of the components to be released is released in a classified manner, so that after obtaining the software collection, the user does not need to decompose the software collection, and can directly use the components in the software collection. At the same time, the components to be released are classified into open source components, third-party components, derivative components and self-developed components, and users can apply the components accordingly according to the component type, which improves the efficiency of component use and optimizes the user experience.

[0060] It should be pointed out that the serial numbers of the steps in this embodiment do not limit the execution order of the steps.

[0061] It is understandable that, in a specific implementation, the software publishing method can be implemented in the form of a software program, and the software program runs in a processor integrated inside a chip or a chip module. The method can also be implemented in the form of software combined with hardware, which is not limited in this application.

[0062] Figure 2 It is a specific flow chart of a software publishing method in a specific application scenario provided by an embodiment of the present invention.

[0063] Specifically, Figure 2 As shown, component publishing can include the following steps:

[0064] In the specific implementation of step 201, the software material list index of the software set to be released is obtained. The software material list index includes information about the source code and target code of the components to be released, and the components to be released can be determined according to the software material list index.

[0065] In the specific implementation of step 202, the software package data exchange file of the component to be released is obtained to determine the storage location of the source code of the component to be released. One component to be released corresponds to one software package data exchange file, and the software package data exchange file includes the storage location of the source code of the component to be released. The storage location of the source code of the component to be released is obtained according to the software package data exchange file.

[0066] In the specific implementation of step 203, the source code identification, release mode and component type of the component to be released are obtained. The source code identification, component type and release mode of the component to be released can be represented in the form of tags, and the tags can be stored in the database or in the remarks of the source code. The component to be released has a corresponding relationship with the tags in the database, and the tags corresponding to the component to be released can be obtained from the database to determine the source code identification, component type and release mode of the component to be released.

[0067] In the specific implementation of step 204, it is determined whether the release mode of the component to be released is the first release. If so, step 205 is executed to release the software package data exchange file, the modified source code and its target code of the component to be released. At this time, the identifier of the modified source code can be obtained from the label of the component to be released; otherwise, step 206 is executed.

[0068] In the specific implementation of step 206, it is determined whether the release mode of the component to be released is the second release. If so, step 207 is executed to release the software package data exchange file and the target code of the component to be released. At this time, the identifier of the modified source code can be obtained from the tag of the component to be released. Specifically, the target code is compiled according to the modified source code; otherwise, step 208 is executed.

[0069] In the specific implementation of step 208, the software package data exchange file of the component to be released is released. At this time, the identifier of the initial source code can be obtained from the label of the component to be released. The release mode of step 208 is the third release.

[0070] In a specific implementation, when the release mode of the component to be released is the third release, the software package data exchange file of the component to be released is released. The user can obtain the corresponding source code from the open source library through the name and version number of the source code in the software package data exchange file, and compile the source code to obtain the target code. At the same time, when the release mode of the component to be released is the third release, the source code of the component to be released can be released, or the source code of the component to be released and the software package data exchange file can be released.

[0071] Figure 3 It is a specific implementation flow chart of a derivative component release provided by an embodiment of the present invention.

[0072] Specifically, Figure 3 As shown, the release of derived components may include the following steps:

[0073] In the specific implementation of step 301, when the publishing mode of the derived class component is the first publishing, the corresponding content of the derived class component is published. Specifically, when the publishing mode of the derived class component is the first publishing, the software package data exchange file, the modified source code and the target code of the derived class component are published. The derived class component is a component developed according to the native component, and the source code of the derived class component is the modified source code. In the specific implementation of step 302, the storage location of the source code of the native component corresponding to the derived class component is obtained. The identifier of the native component corresponding to the derived class component is confirmed from the derived class component, and then the software package data exchange file of the native component is confirmed according to the identifier of the native component to obtain the storage location of the source code of the native component. The derived class component includes the identifier of its corresponding native component.

[0074] In the specific implementation of step 303, the source code identifier, release method and component type of the native component are obtained.

[0075] Since the component types of native components include open source components or third-party components, in the specific implementation of step 304, when the release mode of the native component is the first release or the third release, the corresponding content of the native component is released according to the component type of the native component. Specifically, when the release mode of the native component is the first release, the software package data exchange file, the modified source code and its target code of the native component are released; when the release mode of the native component is the third release, the software package data exchange file of the native component is released. For detailed release process, please refer to Figure 1 , I will not go into details here.

[0076] In an embodiment of the present invention, when the publishing mode of the derived component is the first publishing, the corresponding content of the derived component is published, and the publishing mode of the native component corresponding to the derived component is obtained. When the publishing mode of the native component is the first publishing or the third publishing, the corresponding content of the native component is published according to the publishing mode of the native component. When using the derived component, the user can directly obtain the native component corresponding to the derived component, simplifying the use steps of the derived component and improving the user experience of the derived component.

[0077] like Figure 4 As shown, the embodiment of the present invention also discloses a software publishing device. The software publishing device 40 includes:

[0078] The acquisition module 401 is used to acquire a software material list of the software set to be released, wherein the software material list includes a software material list index and at least one software package data exchange file, wherein the software material list index includes information of the components to be released, the software package data exchange file corresponds to the components to be released one by one, and the software package data exchange file includes a storage location of a source code corresponding to the components to be released, wherein the source code is an initial source code or a modified source code, the software set to be released includes all the components to be released, and the components to be released include source code and object code thereof;

[0079] The storage location determination module 402 is used to determine the software package data exchange file corresponding to each to-be-released component according to the software material list index, and determine the storage location corresponding to the source code of each to-be-released component according to the software package data exchange file, so as to obtain the identification, component type and release mode of the source code of the to-be-released component;

[0080] The publishing module 403 is used to publish the source code, object code and / or software package data exchange file of the component to be released according to the publishing method of the component to be released. The source code of the component to be released is obtained at the storage location corresponding to the source code of the component to be released or according to the identifier of the source code.

[0081] In a specific implementation, the above-mentioned software publishing device can correspond to a chip with a software publishing function in a terminal device, such as a SOC (System-On-a-Chip), a baseband chip, etc.; or correspond to a chip module with a software publishing function in a terminal device; or correspond to a chip module with a data processing function chip, or correspond to a terminal device.

[0082] For more information about the working principle and working method of the software publishing device 40, please refer to Figures 1 to 3 The relevant description in will not be repeated here.

[0083] Regarding the various modules / units included in the various devices and products described in the above embodiments, they can be software modules / units, or hardware modules / units, or they can be partially software modules / units and partially hardware modules / units. For example, for various devices and products applied to or integrated in a chip, the various modules / units included therein can all be implemented in the form of hardware such as circuits, or at least some of the modules / units can be implemented in the form of software programs, which run on a processor integrated inside the chip, and the remaining (if any) modules / units can be implemented in the form of hardware such as circuits; for various devices and products applied to or integrated in a chip module, the various modules / units included therein can all be implemented in the form of hardware such as circuits, and different modules / units can be located in the same component (such as a chip, circuit module, etc.) or different components of the chip module, or at least some of the modules / units can be implemented in the form of hardware such as circuits. The element can be implemented in the form of a software program, which runs on a processor integrated inside the chip module, and the remaining (if any) modules / units can be implemented in the form of hardware such as circuits; for various devices and products applied to or integrated in the terminal, the various modules / units contained therein can be implemented in the form of hardware such as circuits, and different modules / units can be located in the same component (for example, chip, circuit module, etc.) or in different components in the terminal, or, at least some modules / units can be implemented in the form of a software program, which runs on a processor integrated inside the terminal, and the remaining (if any) modules / units can be implemented in the form of hardware such as circuits.

[0084] The embodiment of the present invention further discloses a storage medium, which is a computer-readable storage medium and stores a computer program. When the computer program is run, it can execute Figures 1 to 3 The steps of the method shown in . The storage medium may include ROM, RAM, magnetic disk or optical disk, etc. The storage medium may also include non-volatile memory (non-volatile) or non-transitory memory, etc.

[0085] The embodiment of the present invention further discloses a terminal device, which may include a memory and a processor, wherein the memory stores a computer program that can be run on the processor, and the processor can execute the computer program when running the computer program. Figures 1 to 3 The steps of the method shown in .

[0086] The "plurality" appearing in the embodiments of the present application refers to two or more.

[0087] The first, second, etc. descriptions appearing in the embodiments of the present application are only used for illustration and distinction of the description objects. There is no order, nor do they indicate any special limitation on the number of devices in the embodiments of the present application, and cannot constitute any limitation on the embodiments of the present application.

[0088] It should be understood that in the embodiments of the present application, the processor may be a central processing unit (CPU), and the processor may also be other general-purpose processors, digital signal processors (DSP), application specific integrated circuits (ASIC), field programmable gate arrays (FPGA), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. A general-purpose processor may be a microprocessor or the processor may also be any conventional processor, etc.

[0089] It should also be understood that the memory in the embodiments of the present application may be a volatile memory or a non-volatile memory, or may include both volatile and non-volatile memories. Among them, the non-volatile memory may be a read-only memory (ROM), a programmable read-only memory (PROM), an erasable programmable read-only memory (EPROM), an electrically erasable programmable read-only memory (EEPROM), or a flash memory. The volatile memory may be a random access memory (RAM), which is used as an external cache. By way of example but not limitation, many forms of random access memory (RAM) are available, such as static RAM (SRAM), dynamic random access memory (DRAM), synchronous DRAM (SDRAM), double data rate synchronous dynamic random access memory (DDRSDRAM), enhanced synchronous dynamic random access memory (ESDRAM), synchronous link DRAM (SLDRAM) and direct rambus RAM (DR RAM).

[0090] The above embodiments can be implemented in whole or in part by software, hardware, firmware or any other combination. When implemented using software, the above embodiments can be implemented in whole or in part in the form of a computer program product. The computer program product includes one or more computer instructions or computer programs. When the computer instructions or computer programs are loaded or executed on a computer, the process or function described in the embodiment of the present application is generated in whole or in part. The computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The computer instructions can be stored in a computer-readable storage medium, or transmitted from one computer-readable storage medium to another computer-readable storage medium. For example, the computer instructions can be transmitted from one website site, computer, server or data center to another website site, computer, server or data center by wired or wireless means. The computer-readable storage medium can be any available medium that a computer can access or a data storage device such as a server or data center that contains one or more available media sets. The available medium can be a magnetic medium (e.g., a floppy disk, a hard disk, a tape), an optical medium (e.g., a DVD), or a semiconductor medium. The semiconductor medium can be a solid-state hard disk.

[0091] It should be understood that in the various embodiments of the present application, the size of the serial numbers of the above-mentioned processes does not mean the order of execution. The execution order of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiments of the present application.

[0092] In the several embodiments provided in the present application, it should be understood that the disclosed methods, devices and systems can be implemented in other ways. For example, the device embodiments described above are merely schematic; for example, the division of the units is only a logical function division, and there may be other division methods in actual implementation; for example, multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be through some interfaces, indirect coupling or communication connection of devices or units, which can be electrical, mechanical or other forms.

[0093] The units described as separate components may or may not be physically separated, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed on multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of this embodiment.

[0094] In addition, each functional unit in each embodiment of the present invention may be integrated into one processing unit, or each unit may be physically included separately, or two or more units may be integrated into one unit. The above-mentioned integrated unit may be implemented in the form of hardware or in the form of hardware plus software functional units.

[0095] The above-mentioned integrated unit implemented in the form of a software functional unit can be stored in a computer-readable storage medium. The above-mentioned software functional unit is stored in a storage medium, including a number of instructions for a computer device (which can be a personal computer, a server, or a network device, etc.) to perform some steps of the method described in each embodiment of the present invention. The aforementioned storage medium includes: U disk, mobile hard disk, read-only memory (Read-Only Memory, referred to as ROM), random access memory (Random Access Memory, referred to as RAM), disk or optical disk and other media that can store program codes.

[0096] Although the present invention is disclosed as above, the present invention is not limited thereto. Any person skilled in the art can make various changes and modifications without departing from the spirit and scope of the present invention. Therefore, the protection scope of the present invention shall be subject to the scope defined by the claims.

Claims

1. A software publishing method, characterized in that: include: Acquire a software material list of a software set to be released, the software material list including a software material list index and at least one software package data exchange file, the software material list index including information of components to be released, the software package data exchange file corresponds to the components to be released one by one, the software set to be released includes all components to be released, the components to be released include source code and object code thereof, the source code is an original source code or a modified source code; Determine the software package data exchange file corresponding to each to-be-released component according to the software material list index, and obtain the source code identifier, component type and release method of the to-be-released component; According to the publishing mode and component type of the component to be published, the source code, object code and / or software package data exchange file of the component to be published is published; The publishing method includes a first publishing, a second publishing or a third publishing; the publishing of the source code, the object code and / or the software package data exchange file of the component to be published according to the publishing method and the component type of the component to be published includes: When the release mode of the component to be released is the first release, the software package data exchange file, the modified source code and the object code of the component to be released are released; or When the release mode of the component to be released is the second release, releasing the software package data exchange file and the target code of the component to be released, the target code being compiled according to the modified source code; or When the publishing mode is the third publishing, the software package data exchange file of the component to be published is published, and the software package data exchange file is used to obtain the identifier of the initial source code from the storage location corresponding to the source code.

2. The software publishing method according to claim 1, characterized in that: The component types include open source components, third-party components, derived components and self-developed components. The derived components are developed based on native components. The native components include open source components or third-party components. The derived components include the identifiers of the native components.

3. The software publishing method according to claim 2, characterized in that: When the component type of the component to be released is a derivative component, the step of releasing the source code, object code and / or software package data exchange file of the component to be released includes: Obtain the native component corresponding to the derived component and its publishing method; The software package data exchange file and / or source code of the component to be released is selectively released according to the release mode of the native component, and the source code of the native component is classified according to the component type of the native component.

4. The software publishing method according to claim 1, characterized in that: The software package data exchange file includes a storage location of the source code of the component to be released, and the steps of obtaining the source code of the component to be released, the component type and the release method include: Determine the storage location corresponding to the source code of each component to be released according to the software package data exchange file; The source code identifier, component type and publishing method of the component to be published are obtained.

5. The software publishing method according to claim 4, characterized in that: The source code of the component to be released is obtained at a storage location corresponding to the source code of the component to be released or according to an identifier of the source code.

6. The software publishing method according to claim 1, characterized in that: The step of obtaining the software material list of the software set to be released includes: Adding a first task to the software set to be released, generating the software package data exchange file of each component to be released, so as to add the software material list; A second task is added to the software set to be released, and the software material table index of the software set to be released is generated to be added to the software material table.

7. The software publishing method according to claim 1, characterized in that: include: The source code, object code and / or software package data exchange file of each component to be released are classified according to the component type of each component to be released.

8. The software publishing method according to claim 1, characterized in that: The software package data exchange file includes copyright information and / or license information of the component to be released.

9. A software publishing device, characterized in that: include: an acquisition module, configured to acquire a software material list of a software set to be released, wherein the software material list includes a software material list index and at least one software package data exchange file, wherein the software material list index includes information of components to be released, and the software package data exchange file corresponds to the components to be released one by one, wherein the software set to be released includes all components to be released, and the components to be released include source code and object code thereof, and the source code is an initial source code or a modified source code; A storage location determination module, used to determine the software package data exchange file corresponding to each to-be-released component according to the software material list index, and obtain the source code identifier, component type and release mode of the to-be-released component; A publishing module, used for publishing the source code, object code and / or software package data exchange file of the component to be published according to the publishing mode and component type of the component to be published; The publishing mode includes the first publishing, the second publishing or the third publishing; the publishing module is also used to perform the following steps: When the release mode of the component to be released is the first release, releasing the software package data exchange file, the modified source code and the object code of the component to be released; or, When the release mode of the component to be released is the second release, releasing the software package data exchange file and the target code of the component to be released, the target code being compiled according to the modified source code; or, When the publishing mode is the third publishing, the software package data exchange file of the component to be published is published, and the software package data exchange file is used to obtain the identifier of the initial source code from the storage location corresponding to the source code.

10. A terminal device, comprising a memory and a processor, wherein the memory stores a computer program that can be run on the processor, characterized in that: When the processor runs the computer program, the steps of the software publishing method according to any one of claims 1 to 8 are performed.

11. A computer-readable storage medium, wherein the computer-readable storage medium is a non-volatile storage medium or a non-transient storage medium, and a computer program is stored thereon, wherein: When the computer program is executed by a processor, the steps of the software publishing method according to any one of claims 1 to 8 are executed.

Citation Information

Patent Citations

  • Software packaging and publishing management method

    CN107577469A

  • Component-based development method and system

    CN109146251A