Software source management method and device, electronic equipment and storage medium

By combining the nginx service inside the virtual machine with the external container service, unified management of software sources is achieved, solving the problem of limited management in existing technologies and improving data reliability and management efficiency.

CN115202804BActive Publication Date: 2026-07-31TENCENT TECHNOLOGY (SHENZHEN) CO LTD
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202110402325.2
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2021-04-14
Publication Date
2026-07-31
Estimated Expiration
2041-04-14

AI Technical Summary

Technical Problem

Existing technologies have relatively weak software source management capabilities and significant limitations in management.

Method used

By setting up an nginx service inside a virtual machine to store software packages and provide a unified entry point, and combining it with container services to receive management requests, flexible management of private software repositories can be achieved.

Benefits of technology

It enhances the management capabilities of software sources, improves data reliability and maintainability, and supports flexible storage and management of multiple software sources.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115202804B_ABST
    Figure CN115202804B_ABST
Patent Text Reader

Abstract

This application provides a software source management method, apparatus, electronic device, and storage medium. The method includes: storing software packages into a virtual machine via an nginx service located inside the virtual machine to obtain private software sources located inside the virtual machine; providing a unified entry point for managing the private software sources to the outside of the virtual machine via the nginx service; receiving software source management requests via a container service located outside the virtual machine, and transmitting the software source management requests to the nginx service through the unified entry point, triggering the nginx service to manage the private software sources according to the software source management requests. The embodiments of this application enhance the management capabilities of software sources.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of information resource management, specifically to a software source management method, apparatus, electronic device, and storage medium. Background Technology

[0002] In the field of information technology, to facilitate information production activities, various software programs are often packaged into software packages, and then the software sources containing these packages are shared within a certain scope, thereby improving software development efficiency. However, current technologies typically have limited management capabilities for software sources. Summary of the Invention

[0003] One objective of this application is to provide a software source management method, apparatus, electronic device, and storage medium that can enhance the management capability of software sources.

[0004] According to one aspect of the embodiments of this application, a software source management method is disclosed, the method comprising:

[0005] By using the nginx service located inside the virtual machine, each software package is stored in the virtual machine, thus obtaining each private software source located inside the virtual machine; The nginx service provides a unified entry point for managing the various private software sources to the outside of the virtual machine. The container service located outside the virtual machine receives software source management requests and transmits the software source management requests to the nginx service through the unified entry point, triggering the nginx service to manage each private software source according to the software source management requests.

[0006] According to one aspect of the embodiments of this application, a software source management device is disclosed, the device comprising: The storage module is configured to store each software package to the virtual machine via an nginx service located inside the virtual machine, thereby obtaining each private software source located inside the virtual machine; The entry point module is configured to provide a unified entry point for managing the various private software sources to the outside of the virtual machine through the nginx service; The management module is configured to receive software source management requests through a container service located outside the virtual machine, and transmit the software source management requests to the nginx service through the unified entry point, triggering the nginx service to manage each private software source according to the software source management request.

[0007] In one exemplary embodiment of this application, the device is configured as follows: The nginx service is used to store each software package in a multi-replica redundant manner in the distributed cloud storage system of the virtual machine, thereby obtaining each private software source.

[0008] In one exemplary embodiment of this application, the device is configured as follows: Through the nginx service, a program for managing public software repositories is used to store corresponding software packages from public software repositories located outside the virtual machine into the virtual machine, thereby obtaining the corresponding private software repositories located inside the virtual machine.

[0009] In one exemplary embodiment of this application, the device is configured as follows: Using the nginx service, the Nexus program stores Maven software packages from a public Maven software repository located outside the virtual machine to the virtual machine, thus obtaining a private Maven software repository located inside the virtual machine. Using the nginx service, the devpi program stores PyPI software packages from a public PyPI software repository located outside the virtual machine into the virtual machine, thus obtaining a private PyPI software repository located inside the virtual machine. Using the nginx service, the verdaccio program stores npm packages from a public npm software repository located outside the virtual machine to the virtual machine, thus obtaining a private npm software repository located inside the virtual machine.

[0010] In one exemplary embodiment of this application, the device is configured as follows: By using the nginx service, an HTTP service is mounted on the storage path of the yum packages located inside the virtual machine, thereby obtaining the yum private software repository located inside the virtual machine.

[0011] In one exemplary embodiment of this application, the device is configured as follows: The nginx service provides a unified domain name as the unified entry point to the outside of the virtual machine, and configures routing ports mapped to the unified domain name for each private software source.

[0012] In one exemplary embodiment of this application, the device is configured as follows: The Prometheus system, which interfaces with the container service, detects each private software source.

[0013] According to one aspect of the embodiments of this application, an electronic device is disclosed, comprising: a memory storing computer-readable instructions; and a processor reading the computer-readable instructions stored in the memory to perform the method described in any of the preceding claims.

[0014] According to one aspect of the embodiments of this application, a computer program medium is disclosed, on which computer-readable instructions are stored, which, when executed by a computer's processor, cause the computer to perform the method described in any of the preceding claims.

[0015] According to one aspect of the embodiments of this application, a computer program product or computer program is provided, which includes computer instructions stored in a computer-readable storage medium. A processor of a computer device reads the computer instructions from the computer-readable storage medium and executes the computer instructions, causing the computer device to perform the methods provided in the various optional implementations described above.

[0016] In this embodiment of the application, by configuring the nginx service responsible for storing software packages and the container service responsible for providing management and control functions, multiple private software sources can be stored and managed flexibly at the same time, thereby enhancing the management capability of software sources.

[0017] Other features and advantages of this application will become apparent from the following detailed description, or may be learned in part from practice of this application.

[0018] It should be understood that the above general description and the following detailed description are merely exemplary and do not limit this application. Attached Figure Description

[0019] The above and other objectives, features and advantages of this application will become more apparent from a detailed description of exemplary embodiments thereof with reference to the accompanying drawings.

[0020] Figure 1 A schematic diagram of an exemplary system architecture according to an embodiment of the present application is shown.

[0021] Figure 2 A flowchart of a software source management method according to an embodiment of this application is shown.

[0022] Figure 3 A schematic diagram of the platform architecture of a software source management platform according to an embodiment of this application is shown.

[0023] Figure 4 A block diagram of a software source management apparatus according to an embodiment of this application is shown.

[0024] Figure 5 A hardware diagram of an electronic device according to an embodiment of this application is shown. Detailed Implementation

[0025] Exemplary embodiments will now be described more fully with reference to the accompanying drawings. However, these exemplary embodiments can be implemented in many forms and should not be construed as limited to the examples set forth herein; rather, they are provided to make the description of this application more comprehensive and complete, and to fully convey the concept of the exemplary embodiments to those skilled in the art. The drawings are merely illustrative of this application and are not necessarily drawn to scale. The same reference numerals in the drawings denote the same or similar parts, and therefore repeated descriptions of them will be omitted.

[0026] Furthermore, the described features, structures, or characteristics can be combined in any suitable manner in one or more exemplary embodiments. Numerous specific details are provided in the following description to give a full understanding of exemplary embodiments of this application. However, those skilled in the art will recognize that the technical solutions of this application can be practiced with one or more of the specific details omitted, or other methods, components, steps, etc., can be employed. In other instances, well-known structures, methods, implementations, or operations are not shown or described in detail to avoid obscuring various aspects of this application.

[0027] Some of the block diagrams shown in the accompanying drawings are functional entities and do not necessarily correspond to physically or logically independent entities. These functional entities can be implemented in software, in one or more hardware modules or integrated circuits, or in different network and / or processor devices and / or microcontroller devices.

[0028] Figure 1 A schematic diagram of an exemplary system architecture of a technical solution according to an embodiment of this application is shown.

[0029] like Figure 1 As shown, the system architecture may include terminal devices (such as...) Figure 1 The device shown includes one or more of a smartphone 101, tablet 102, and portable computer 103 (which could also be a desktop computer, etc.), a network 104, and a server 105. The network 104 is a medium used to provide a communication link between the terminal device and the server 105. The network 104 can include various connection types, such as wired communication links, wireless communication links, etc.

[0030] It should be understood that Figure 1The number of terminal devices, networks, and servers shown is merely illustrative. Depending on implementation needs, there can be any number of terminal devices, networks, and servers. For example, server 105 can be a standalone physical server, a server cluster or distributed system composed of multiple physical servers, or a cloud server providing basic cloud computing services such as cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communication, middleware services, domain name services, security services, CDN, and big data and artificial intelligence platforms.

[0031] Server 105 serves as the carrier for the software source management platform that implements the software source management method proposed in this application, while the terminal device is primarily used for user interaction with the front end of the software source management platform. The software source management platform in server 105 obtains each private software source through an nginx service located inside the virtual machine; it also provides a unified entry point to the outside of the virtual machine through this nginx service; and through a container service located outside the virtual machine, it receives software source management requests initiated by the terminal device and transmits these requests to the nginx service through the unified entry point, thereby triggering the nginx service to manage each private software source according to the software source management request.

[0032] It should be noted that this embodiment is merely an exemplary illustration of the system architecture to which this application can be applied, and should not be construed as limiting the functionality and scope of use of this application.

[0033] This application provides a software source management method applicable to software source management platforms for managing at least two software sources stored therein, such as uploading and downloading.

[0034] Before describing the specific implementation process of the embodiments of this application in detail, some concepts involved in the embodiments of this application will be briefly explained first.

[0035] A software repository, also known as a software package repository, is primarily used to store software packages and run server-side programs to provide services such as uploading and downloading software packages.

[0036] A private software repository, or simply a private repository, is a software repository exclusively used within the software repository management platform's intranet. It is primarily used to manage private software packages within the software repository management platform and to provide services such as uploading and downloading software packages to machines on the intranet.

[0037] Public software repositories, also known as open-source software repositories, are public software repositories officially maintained by the programming language's website. They provide services such as downloading and uploading / sharing software packages for the corresponding programming language on the public internet.

[0038] Nginx is a server that provides HTTP services, reverse proxy services, and IMAP / POP3 / SMTP services.

[0039] Promehteus is an open-source detection and alarm system.

[0040] A Maven repository is a repository of software packages for the Java programming language. Nexus is a program used for managing Maven repositories.

[0041] The PyPI software repository is a package repository for the Python programming language. DevPI is a program used for managing the PyPI software repository.

[0042] npm is a repository for packages used in the Node.js programming language. Verdaccio is a program used to manage npm repositories.

[0043] The yum software repository is a package repository for operating systems such as Fedora, Red Hat, and CentOS.

[0044] Figure 2 A flowchart of a software source management method according to an embodiment of this application is shown. The method includes: Step S210: By using the nginx service located inside the virtual machine, each software package is stored in the virtual machine to obtain each private software source located inside the virtual machine; Step S220: Through the nginx service, provide a unified entry point for managing various private software sources to the outside of the virtual machine; Step S230: Receive software source management requests through a container service located outside the virtual machine, and transmit the software source management requests to the nginx service through a unified entry point, triggering the nginx service to manage each private software source according to the software source management requests.

[0045] In this embodiment, the software source management platform mainly implements the software source management method through two services: nginx service and container service. The nginx service is located inside the virtual machine in the platform; the container service is located outside the virtual machine.

[0046] The nginx service is primarily responsible for storing software packages on virtual machines and serving as a unified external entry point for these virtual machines. It provides software repository management services such as uploading and sharing custom software packages and downloading software packages for machines within the platform. The software packages stored on the virtual machines are proprietary to the platform; that is, they belong to their respective private software repositories.

[0047] The container service is primarily responsible for providing platform management functions. It receives software repository management requests from machines on the platform through the platform's front-end interface. These requests are then transmitted to the Nginx service via a unified entry point, triggering the Nginx service to manage each private software repository according to the requests.

[0048] Therefore, in this embodiment of the application, by configuring the nginx service responsible for storing software packages and the container service responsible for providing management and control functions, multiple private software sources can be stored and managed flexibly at the same time, thereby enhancing the management capability of software sources.

[0049] In one embodiment, the software source management platform stores software packages through a distributed cloud storage system.

[0050] Specifically, the software source management platform uses the nginx service to store each software package in a multi-copy redundant manner to a distributed cloud storage system of virtual machines, thus obtaining each private software source.

[0051] The advantage of this embodiment is that by storing software packages through a distributed cloud storage system, the risk of single points of failure can be avoided, greatly improving data reliability. Furthermore, the distributed cloud storage system can provide various types and specifications of disk instances, thereby meeting the requirements for stable and low-latency storage performance. Simultaneously, the distributed cloud storage system supports mounting / unmounting instances within the same availability zone and can adjust storage capacity in a short time to meet the needs of dynamically adding software packages to the source.

[0052] In one embodiment, the software source management platform obtains the corresponding private software source through a program that manages public software sources.

[0053] Specifically, the software repository management platform uses the nginx service and a program for managing public software repositories to pull the corresponding software packages from public software repositories located outside the virtual machine, and stores the corresponding software packages in the virtual machine to obtain the corresponding private software repositories located inside the virtual machine.

[0054] In one embodiment, the software source management platform uses the nginx service and the Nexus program to pull Maven packages from a public Maven software source located outside the virtual machine, and stores the Maven packages in the virtual machine to obtain a private Maven software source located inside the virtual machine.

[0055] By using the nginx service and the devpi program, PyPI packages are pulled from the PyPI public software repository located outside the virtual machine and stored in the virtual machine, thus obtaining the PyPI private software repository located inside the virtual machine.

[0056] By using the nginx service and the verdaccio program, npm packages are pulled from the public npm software repository located outside the virtual machine and stored in the virtual machine, thus obtaining the private npm software repository located inside the virtual machine.

[0057] It should be noted that this embodiment is merely an illustrative example and does not imply that the software source management platform in this application embodiment can only store Maven private software sources, PyPI private software sources, and npm private software sources simultaneously.

[0058] In one embodiment, for yum packages, the software source management platform obtains the corresponding private software source by directly mounting an HTTP service.

[0059] Specifically, for yum packages stored in virtual machines, the software repository management platform uses the nginx service to mount an HTTP service on the storage path of the yum packages, thereby obtaining the private yum software repository located inside the virtual machine.

[0060] In one embodiment, the software source management platform provides a unified entry point for managing various private software sources to the outside of the virtual machine through routing port mapping.

[0061] Specifically, the software repository management platform uses the nginx service to provide a unified domain name as a unified entry point to the outside of the virtual machines. This allows machines on the platform located outside the virtual machines to access this unified domain name and thus manage various private software repositories.

[0062] Furthermore, through the nginx service, a corresponding routing port mapped to the unified domain name is configured for each private software repository. This allows machines on the platform located outside the virtual machine to manage specific private software repositories by specifying the routing port.

[0063] In one embodiment, the software source management platform uses the nginx service to configure port 8090 of the unified domain name to map to the yum private software source, port 8081 of the unified domain name to map to the maven private software source, port 13141 of the unified domain name to map to the pypi private software source, and port 4873 of the unified domain name to map to the npm private software source.

[0064] Therefore, after receiving a software source management request, the nginx service routes the request to the corresponding private software source based on the port identifier and then performs the appropriate management.

[0065] In one embodiment, the software source management platform stores the management configuration information of each private software source in a relational database (e.g., a MySQL database). The management configuration information of each private software source includes: software source name, software source size, and software source update time.

[0066] The advantage of this embodiment is that by storing and managing configuration information in a relational database, it provides good support for the type and size of private software sources stored in the virtual machine in subsequent expansions.

[0067] In one embodiment, the software source management platform interfaces with the Prometheus system and the container service, thereby using the Prometheus system to detect the private software sources located inside the virtual machine.

[0068] Specifically, the software source management platform simulates client request messages from the Prometheus system and reports the running status of each private software source to the Prometheus system via the HTTP protocol, thereby enabling the detection of each private software source.

[0069] The advantage of this embodiment is that the Prometheus system can detect and alert on private software repositories, thereby improving the reliability and maintainability of these repositories. Furthermore, since the Prometheus system interfaces with container services, the container services can provide a graphical interface for the Prometheus system's detection and alerting functions, allowing users to perform detection operations and configure alerts directly on the platform's front-end interface.

[0070] Figure 3 A schematic diagram of the platform architecture of a software source management platform according to an embodiment of this application is shown.

[0071] refer to Figure 3 As shown in this embodiment, the software source management platform includes: a virtual machine, a container service, a MySQL database, and the Promethus system.

[0072] The nginx service within the virtual machine provides a unified entry point for managing various private software repositories to the outside world. The nginx service uses the Nexus program to pull Maven packages from the public Maven repository outside the platform, creating a private Maven repository; it uses the DevPI program to pull PyPI packages from the public PyPI repository outside the platform, creating a private PyPI repository; it uses the Verdaccio program to pull npm packages from the public npm repository outside the platform, creating a private npm repository; and it mounts an HTTP service on the storage path of the yum packages, creating a private yum repository.

[0073] Container services provide graphical management capabilities, offering users a graphical display of various information.

[0074] Specifically, the container service provides a user-friendly request entry point through the API module, allowing users to initiate corresponding software source management requests through the private software sources displayed on the platform's front-end interface; it provides a user-friendly display of the operating status of each private software source in the virtual machine through the resource management module; it provides a user-friendly display of the management configuration information stored in MySQL through the configuration management module; and it provides a user-friendly display of the content monitored by the Promethus system through the detection and alarm management module.

[0075] In one embodiment, during the process of displaying the resource information of a private software source, the main flow of data is as follows: the user clicks on the private software source displayed on the platform front-end interface; then the platform front-end interface initiates an HTTP protocol software source management request to the container service; then the container service requests the nginx service to obtain the private software source list information; then the container service concatenates the obtained private software source list information into a table format required for display by the platform front-end and returns it to the platform front-end; then the platform front-end displays the resource information of the private software source.

[0076] Figure 4 A software source management apparatus according to an embodiment of this application is shown, the apparatus comprising: The storage module is configured to store each software package to the virtual machine via an nginx service located inside the virtual machine, thereby obtaining each private software source located inside the virtual machine; The entry point module is configured to provide a unified entry point for managing the various private software sources to the outside of the virtual machine through the nginx service; The management module is configured to receive software source management requests through a container service located outside the virtual machine, and transmit the software source management requests to the nginx service through the unified entry point, triggering the nginx service to manage each private software source according to the software source management request.

[0077] In one exemplary embodiment of this application, the device is configured as follows: The nginx service is used to store each software package in a multi-replica redundant manner in the distributed cloud storage system of the virtual machine, thereby obtaining each private software source.

[0078] In one exemplary embodiment of this application, the device is configured as follows: Through the nginx service, a program for managing public software repositories is used to store corresponding software packages from public software repositories located outside the virtual machine into the virtual machine, thereby obtaining the corresponding private software repositories located inside the virtual machine.

[0079] In one exemplary embodiment of this application, the device is configured as follows: Using the nginx service, the Nexus program stores Maven software packages from a public Maven software repository located outside the virtual machine to the virtual machine, thus obtaining a private Maven software repository located inside the virtual machine. Using the nginx service, the devpi program stores PyPI software packages from a public PyPI software repository located outside the virtual machine into the virtual machine, thus obtaining a private PyPI software repository located inside the virtual machine. Using the nginx service, the verdaccio program stores npm packages from a public npm software repository located outside the virtual machine to the virtual machine, thus obtaining a private npm software repository located inside the virtual machine.

[0080] In one exemplary embodiment of this application, the device is configured as follows: By using the nginx service, an HTTP service is mounted on the storage path of the yum packages located inside the virtual machine, thereby obtaining the yum private software repository located inside the virtual machine.

[0081] In one exemplary embodiment of this application, the device is configured as follows: The nginx service provides a unified domain name as the unified entry point to the outside of the virtual machine, and configures routing ports mapped to the unified domain name for each private software source.

[0082] In one exemplary embodiment of this application, the device is configured as follows: The Prometheus system, which interfaces with the container service, detects each private software source.

[0083] The following is for reference. Figure 5 To describe the electronic device 40 according to an embodiment of this application. Figure 5 The electronic device 40 shown is merely an example and should not impose any limitations on the functionality and scope of use of the embodiments of this application.

[0084] like Figure 5As shown, the electronic device 40 is presented in the form of a general-purpose computing device. The components of the electronic device 40 may include, but are not limited to: at least one processing unit 410, at least one storage unit 420, and a bus 430 connecting different system components (including storage unit 420 and processing unit 410).

[0085] The storage unit stores program code that can be executed by the processing unit 410, causing the processing unit 410 to perform the steps described in the exemplary method description section of this specification according to various exemplary embodiments of the present invention. For example, the processing unit 410 can perform actions such as... Figure 3 The steps shown are as follows.

[0086] Storage unit 420 may include a readable medium in the form of a volatile storage unit, such as random access memory (RAM) 4201 and / or cache memory 4202, and may further include a read-only memory (ROM) 4203.

[0087] Storage unit 420 may also include a program / utility 4204 having a set (at least one) program module 4205, such program module 4205 including but not limited to: operating system, one or more application programs, other program modules and program data, each or some combination of these examples may include an implementation of a network environment.

[0088] Bus 430 can represent one or more of several types of bus structures, including a memory cell bus or memory cell controller, a peripheral bus, a graphics acceleration port, a processing unit, or a local bus using any of the various bus structures.

[0089] Electronic device 40 can also communicate with one or more external devices 500 (e.g., keyboard, pointing device, Bluetooth device, etc.), and with one or more devices that enable a user to interact with electronic device 40, and / or with any device that enables electronic device 40 to communicate with one or more other computing devices (e.g., router, modem, etc.). This communication can be performed via input / output (I / O) interface 450. Input / output (I / O) interface 450 is connected to display unit 440. Furthermore, electronic device 40 can also communicate with one or more networks (e.g., local area network (LAN), wide area network (WAN), and / or public networks, such as the Internet) via network adapter 460. As shown, network adapter 460 communicates with other modules of electronic device 40 via bus 430. It should be understood that, although not shown in the figures, other hardware and / or software modules can be used in conjunction with electronic device 40, including but not limited to: microcode, device drivers, redundant processing units, external disk drive arrays, RAID systems, tape drives, and data backup storage systems.

[0090] Through the above description of the embodiments, those skilled in the art will readily understand that the exemplary embodiments described herein can be implemented by software or by combining software with necessary hardware. Therefore, the technical solutions according to the embodiments of this application can be embodied in the form of a software product, which can be stored in a non-volatile storage medium (such as a CD-ROM, USB flash drive, external hard drive, etc.) or on a network, including several instructions to cause a computing device (such as a personal computer, server, terminal device, or network device, etc.) to execute the methods according to the embodiments of this application.

[0091] In an exemplary embodiment of this application, a computer-readable storage medium is also provided, on which computer-readable instructions are stored, which, when executed by a computer's processor, cause the computer to perform the methods described in the above method embodiments.

[0092] According to one embodiment of this application, a program product for implementing the methods in the above-described method embodiments is also provided. This product may employ a portable compact disc read-only memory (CD-ROM) and include program code, and may run on a terminal device, such as a personal computer. However, the program product of this invention is not limited thereto. In this document, a readable storage medium may be any tangible medium containing or storing a program that may be used by or in conjunction with an instruction execution system, apparatus, or device.

[0093] The program product may employ any combination of one or more readable media. A readable medium may be a readable signal medium or a readable storage medium. A readable storage medium may be, for example, but not limited to, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination thereof. More specific examples of readable storage media (a non-exhaustive list) include: an electrical connection having one or more wires, a portable disk, a hard disk, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fiber, portable compact disk read-only memory (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination thereof.

[0094] Computer-readable signal media may include data signals propagated in baseband or as part of a carrier wave, carrying readable program code. Such propagated data signals may take various forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination thereof. A readable signal medium may also be any readable medium other than a readable storage medium, capable of sending, propagating, or transmitting programs for use by or in conjunction with an instruction execution system, apparatus, or device.

[0095] The program code contained on the readable medium may be transmitted using any suitable medium, including but not limited to wireless, wired, optical fiber, RF, etc., or any suitable combination thereof.

[0096] Program code for performing the operations of this invention can be written in any combination of one or more programming languages, including object-oriented programming languages ​​such as JAVA and C++, and conventional procedural programming languages ​​such as C or similar languages. The program code can execute entirely on the user's computing device, partially on the user's device, as a standalone software package, partially on the user's computing device and partially on a remote computing device, or entirely on a remote computing device or server. In cases involving remote computing devices, the remote computing device can be connected to the user's computing device via any type of network, including a local area network (LAN) or a wide area network (WAN), or it can be connected to an external computing device (e.g., via the Internet using an Internet service provider).

[0097] It should be noted that although several modules or units for the device used to perform actions have been mentioned in the detailed description above, this division is not mandatory. In fact, according to the embodiments of this application, the features and functions of two or more modules or units described above can be embodied in one module or unit. Conversely, the features and functions of one module or unit described above can be further divided and embodied by multiple modules or units.

[0098] Furthermore, although the steps of the method in this application are described in a specific order in the accompanying drawings, this does not require or imply that the steps must be performed in that specific order, or that all the steps shown must be performed to achieve the desired result. Additional or alternative steps may be omitted, multiple steps may be combined into one step, and / or a step may be broken down into multiple steps.

[0099] Through the above description of the embodiments, those skilled in the art will readily understand that the exemplary embodiments described herein can be implemented by software or by combining software with necessary hardware. Therefore, the technical solutions according to the embodiments of this application can be embodied in the form of a software product, which can be stored in a non-volatile storage medium (such as a CD-ROM, USB flash drive, external hard drive, etc.) or on a network, including several instructions to cause a computing device (such as a personal computer, server, mobile terminal, or network device, etc.) to execute the methods according to the embodiments of this application.

[0100] Other embodiments of this application will readily occur to those skilled in the art upon consideration of the specification and practice of the invention disclosed herein. This application is intended to cover any variations, uses, or adaptations of this application that follow the general principles of this application and include common knowledge or customary techniques in the art not disclosed herein. The specification and examples are to be considered exemplary only, and the true scope and spirit of this application are indicated by the appended claims.

Claims

1. A software source management method, characterized in that, The method includes: By using the nginx service located inside the virtual machine, each software package is stored in the virtual machine, thus obtaining each private software source located inside the virtual machine; The nginx service provides a unified domain name as a unified entry point to the outside of the virtual machine, and configures routing ports mapped to the unified domain name for each private software source accordingly. The container service located outside the virtual machine receives the software source management request sent by the user and transmits the software source management request to the nginx service through the unified entry point. The nginx service is then triggered to route to the private software source corresponding to the port identifier in the software source management request, so as to manage the private software source corresponding to the port identifier. The process of storing software packages within the virtual machine using an nginx service located inside the virtual machine to obtain private software sources located within the virtual machine includes: Through the nginx service, a program for managing public software repositories is used to store corresponding software packages from public software repositories located outside the virtual machine into the virtual machine, thereby obtaining the corresponding private software repositories located inside the virtual machine.

2. The method according to claim 1, characterized in that, By using an nginx service located inside the virtual machine, each software package is stored in the virtual machine, resulting in various private software sources located inside the virtual machine, including: The nginx service is used to store each software package in a multi-replica redundant manner in the distributed cloud storage system of the virtual machine, thereby obtaining each private software source.

3. The method according to claim 1, characterized in that, Through the nginx service, a program for managing public software repositories stores corresponding software packages from public software repositories located outside the virtual machine into the virtual machine, thereby obtaining corresponding private software repositories located inside the virtual machine, including: Using the nginx service, the Nexus program stores Maven software packages from a public Maven software repository located outside the virtual machine to the virtual machine, thus obtaining a private Maven software repository located inside the virtual machine. Using the nginx service, the devpi program stores PyPI software packages from a public PyPI software repository located outside the virtual machine into the virtual machine, thus obtaining a private PyPI software repository located inside the virtual machine. Using the nginx service, the verdaccio program stores npm packages from a public npm software repository located outside the virtual machine to the virtual machine, thus obtaining a private npm software repository located inside the virtual machine.

4. The method according to claim 1, characterized in that, The method further includes: By using the nginx service, an HTTP service is mounted on the storage path of the yum packages located inside the virtual machine, thereby obtaining the yum private software repository located inside the virtual machine.

5. The method according to claim 1, characterized in that, The method further includes: The Prometheus system, which interfaces with the container service, detects each private software source.

6. A software source management device, characterized in that, The device includes: The storage module is configured to store each software package to the virtual machine via an nginx service located inside the virtual machine, thereby obtaining each private software source located inside the virtual machine; The entry point module is configured to provide a unified domain name as a unified entry point to the outside of the virtual machine through the nginx service, and to configure routing ports mapped to the unified domain name for each private software source accordingly; The management module is configured to receive software source management requests sent by users through a container service located outside the virtual machine, and transmit the software source management requests to the nginx service through the unified entry point, triggering routing to the private software source corresponding to the port identifier according to the port identifier in the software source management request, so as to manage the private software source corresponding to the port identifier. The process of storing software packages within the virtual machine using an nginx service located inside the virtual machine to obtain private software sources located within the virtual machine includes: Through the nginx service, a program for managing public software repositories is used to store corresponding software packages from public software repositories located outside the virtual machine into the virtual machine, thereby obtaining the corresponding private software repositories located inside the virtual machine.

7. An electronic device, characterized in that, include: Memory, which stores computer-readable instructions; The processor reads computer-readable instructions stored in memory to perform the method described in any one of claims 1-5.

8. A computer-readable storage medium, characterized in that, It stores computer-readable instructions that, when executed by the computer's processor, cause the computer to perform the method described in any one of claims 1-5.